--- linux-lowlatency-3.5.0.orig/MAINTAINERS +++ linux-lowlatency-3.5.0/MAINTAINERS @@ -5066,6 +5066,13 @@ F: include/scsi/osd_* F: fs/exofs/ +OVERLAYFS FILESYSTEM +M: Miklos Szeredi +L: linux-fsdevel@vger.kernel.org +S: Supported +F: fs/overlayfs/* +F: Documentation/filesystems/overlayfs.txt + P54 WIRELESS DRIVER M: Christian Lamparter L: linux-wireless@vger.kernel.org @@ -5635,7 +5642,7 @@ F: drivers/block/brd.c RANDOM NUMBER DRIVER -M: Matt Mackall +M: Theodore Ts'o" S: Maintained F: drivers/char/random.c --- linux-lowlatency-3.5.0.orig/Makefile +++ linux-lowlatency-3.5.0/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 5 -SUBLEVEL = 0 -EXTRAVERSION = +SUBLEVEL = 7 +EXTRAVERSION = .2 NAME = Saber-toothed Squirrel # *DOCUMENTATION* @@ -349,14 +349,23 @@ AFLAGS_KERNEL = CFLAGS_GCOV = -fprofile-arcs -ftest-coverage +# Prefer linux-backports-modules +ifneq ($(KBUILD_SRC),) +ifneq ($(shell if test -e $(KBUILD_OUTPUT)/ubuntu-build; then echo yes; fi),yes) +UBUNTUINCLUDE := -I/usr/src/linux-headers-lbm-$(KERNELRELEASE) +endif +endif # Use LINUXINCLUDE when you must reference the include/ directory. # Needed to be compatible with the O= option -LINUXINCLUDE := -I$(srctree)/arch/$(hdr-arch)/include \ +LINUXINCLUDE := $(UBUNTUINCLUDE) -I$(srctree)/arch/$(hdr-arch)/include \ -Iarch/$(hdr-arch)/include/generated -Iinclude \ $(if $(KBUILD_SRC), -I$(srctree)/include) \ -include $(srctree)/include/linux/kconfig.h +# UBUNTU: Include our third party driver stuff too +LINUXINCLUDE += -Iubuntu/include $(if $(KBUILD_SRC),-I$(srctree)/ubuntu/include) + KBUILD_CPPFLAGS := -D__KERNEL__ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ @@ -504,7 +513,7 @@ # Objects we will link into vmlinux / subdirs we need to visit init-y := init/ -drivers-y := drivers/ sound/ firmware/ +drivers-y := drivers/ sound/ firmware/ ubuntu/ net-y := net/ libs-y := lib/ core-y := usr/ @@ -896,6 +905,7 @@ $(error Headers not exportable for the $(SRCARCH) architecture)) $(Q)$(MAKE) $(hdr-inst)=include $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/asm $(hdr-dst) + $(Q)$(MAKE) $(hdr-inst)=ubuntu/include dst=include oldheaders= PHONY += headers_check_all headers_check_all: headers_install_all @@ -905,6 +915,7 @@ headers_check: headers_install $(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1 $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/asm $(hdr-dst) HDRCHECK=1 + $(Q)$(MAKE) $(hdr-inst)=ubuntu/include dst=include oldheaders= HDRCHECK=1 # --------------------------------------------------------------------------- # Modules --- linux-lowlatency-3.5.0.orig/dropped.txt +++ linux-lowlatency-3.5.0/dropped.txt @@ -0,0 +1,13 @@ +This is the list of patches which have been dropped from Q after the +3.5-rc2 rebase: + +UBUNTU: SAUCE: dell-laptop: rfkill blacklist Dell XPS 13z, 15 + - Rfkill code was removed in v3.5-rc1, this SAUCE patch no longer applies + commit a6c2390cd6d2083d27a2359658e08f2d3df375ac + Author: Matthew Garrett + Date: Fri Jun 1 12:46:56 2012 -0400 + + dell-laptop: Remove rfkill code + +UBUNTU: SAUCE: (no-up) swap: Add notify_swap_entry_free callback for compcache + - We no longer carry the ubuntu/compcache driver, drop this no-up SAUCE patch --- linux-lowlatency-3.5.0.orig/MAINTENANCE +++ linux-lowlatency-3.5.0/MAINTENANCE @@ -0,0 +1,9 @@ +This kernel can be maintained by following the Ubuntu git repository. +For example: + +git remote add precise git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git +git fetch precise +git rebase refs/remotes/precise/master +fakeroot debian/rules startnewrelease insertchanges +git add -u debian.lowlatency/changelog +git commit -s -m"low-latency: rebased against ubuntu-precise master" --- linux-lowlatency-3.5.0.orig/Documentation/DMA-attributes.txt +++ linux-lowlatency-3.5.0/Documentation/DMA-attributes.txt @@ -49,3 +49,45 @@ consistent or non-consistent memory as it sees fit. By using this API, you are guaranteeing to the platform that you have all the correct and necessary sync points for this memory in the driver. + +DMA_ATTR_NO_KERNEL_MAPPING +-------------------------- + +DMA_ATTR_NO_KERNEL_MAPPING lets the platform to avoid creating a kernel +virtual mapping for the allocated buffer. On some architectures creating +such mapping is non-trivial task and consumes very limited resources +(like kernel virtual address space or dma consistent address space). +Buffers allocated with this attribute can be only passed to user space +by calling dma_mmap_attrs(). By using this API, you are guaranteeing +that you won't dereference the pointer returned by dma_alloc_attr(). You +can threat it as a cookie that must be passed to dma_mmap_attrs() and +dma_free_attrs(). Make sure that both of these also get this attribute +set on each call. + +Since it is optional for platforms to implement +DMA_ATTR_NO_KERNEL_MAPPING, those that do not will simply ignore the +attribute and exhibit default behavior. + +DMA_ATTR_SKIP_CPU_SYNC +---------------------- + +By default dma_map_{single,page,sg} functions family transfer a given +buffer from CPU domain to device domain. Some advanced use cases might +require sharing a buffer between more than one device. This requires +having a mapping created separately for each device and is usually +performed by calling dma_map_{single,page,sg} function more than once +for the given buffer with device pointer to each device taking part in +the buffer sharing. The first call transfers a buffer from 'CPU' domain +to 'device' domain, what synchronizes CPU caches for the given region +(usually it means that the cache has been flushed or invalidated +depending on the dma direction). However, next calls to +dma_map_{single,page,sg}() for other devices will perform exactly the +same sychronization operation on the CPU cache. CPU cache sychronization +might be a time consuming operation, especially if the buffers are +large, so it is highly recommended to avoid it if possible. +DMA_ATTR_SKIP_CPU_SYNC allows platform code to skip synchronization of +the CPU cache for the given buffer assuming that it has been already +transferred to 'device' domain. This attribute can be also used for +dma_unmap_{single,page,sg} functions family to force buffer to stay in +device domain after releasing a mapping for it. Use this attribute with +care! --- linux-lowlatency-3.5.0.orig/Documentation/kernel-parameters.txt +++ linux-lowlatency-3.5.0/Documentation/kernel-parameters.txt @@ -252,12 +252,15 @@ For broken nForce2 BIOS resulting in XT-PIC timer. acpi_sleep= [HW,ACPI] Sleep options - Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig, + Format: { s3_bios, s3_mode, s3_beep, s3_leds, s4_nohwsig, old_ordering, nonvs, sci_force_enable } See Documentation/power/video.txt for information on s3_bios and s3_mode. s3_beep is for debugging; it makes the PC's speaker beep as soon as the kernel's real-mode entry point is called. + s3_leds is for debugging; it flashes the keyboard LEDs + 3 times as soon as the kernel's real-mode entry point is + called. s4_nohwsig prevents ACPI hardware signature from being used during resume from hibernation. old_ordering causes the ACPI 1.0 ordering of the _PTS @@ -585,6 +588,10 @@ /proc//coredump_filter. See also Documentation/filesystems/proc.txt. + cpufreq_driver= [X86] Allow only the named cpu frequency scaling driver + to register. Example: cpufreq_driver=powernow-k8 + Format: { none | STRING } + cpuidle.off=1 [CPU_IDLE] disable the cpuidle sub-system --- linux-lowlatency-3.5.0.orig/Documentation/stable_kernel_rules.txt +++ linux-lowlatency-3.5.0/Documentation/stable_kernel_rules.txt @@ -1,4 +1,4 @@ -Everything you ever wanted to know about Linux 2.6 -stable releases. +Everything you ever wanted to know about Linux -stable releases. Rules on what kind of patches are accepted, and which ones are not, into the "-stable" tree: @@ -42,10 +42,10 @@ cherry-picked than this can be specified in the following format in the sign-off area: - Cc: # .32.x: a1f84a3: sched: Check for idle - Cc: # .32.x: 1b9508f: sched: Rate-limit newidle - Cc: # .32.x: fd21073: sched: Fix affinity logic - Cc: # .32.x + Cc: # 3.3.x: a1f84a3: sched: Check for idle + Cc: # 3.3.x: 1b9508f: sched: Rate-limit newidle + Cc: # 3.3.x: fd21073: sched: Fix affinity logic + Cc: # 3.3.x Signed-off-by: Ingo Molnar The tag sequence has the meaning of: @@ -79,6 +79,15 @@ security kernel team, and not go through the normal review cycle. Contact the kernel security team for more details on this procedure. +Trees: + + - The queues of patches, for both completed versions and in progress + versions can be found at: + http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git + - The finalized and tagged releases of all stable kernels can be found + in separate branches per version at: + http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git + Review committee: --- linux-lowlatency-3.5.0.orig/Documentation/cgroups/memory.txt +++ linux-lowlatency-3.5.0/Documentation/cgroups/memory.txt @@ -464,6 +464,10 @@ 5.3 swappiness Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. +Please note that unlike the global swappiness, memcg knob set to 0 +really prevents from any swapping even if there is a swap storage +available. This might lead to memcg OOM killer if there are no file +pages to reclaim. Following cgroups' swappiness can't be changed. - root cgroup (uses /proc/sys/vm/swappiness). --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/arm/atmel-at91.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/arm/atmel-at91.txt @@ -8,7 +8,7 @@ shared across all System Controller members. TC/TCLIB Timer required properties: -- compatible: Should be "atmel,-pit". +- compatible: Should be "atmel,-tcb". can be "at91rm9200" or "at91sam9x5" - reg: Should contain registers location and length - interrupts: Should contain all interrupts for the TC block --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/arm/calxeda/l2ecc.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/arm/calxeda/l2ecc.txt @@ -0,0 +1,15 @@ +Calxeda Highbank L2 cache ECC + +Properties: +- compatible : Should be "calxeda,hb-sregs-l2-ecc" +- reg : Address and size for ECC error interrupt clear registers. +- interrupts : Should be single bit error interrupt, then double bit error + interrupt. + +Example: + + sregs@fff3c200 { + compatible = "calxeda,hb-sregs-l2-ecc"; + reg = <0xfff3c200 0x100>; + interrupts = <0 71 4 0 72 4>; + }; --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/arm/calxeda/mem-ctrlr.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/arm/calxeda/mem-ctrlr.txt @@ -0,0 +1,14 @@ +Calxeda DDR memory controller + +Properties: +- compatible : Should be "calxeda,hb-ddr-ctrl" +- reg : Address and size for DDR controller registers. +- interrupts : Interrupt for DDR controller. + +Example: + + memory-controller@fff00000 { + compatible = "calxeda,hb-ddr-ctrl"; + reg = <0xfff00000 0x1000>; + interrupts = <0 91 4>; + }; --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/arm/calxeda/combophy.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/arm/calxeda/combophy.txt @@ -0,0 +1,17 @@ +Calxeda Highbank Combination Phys for SATA + +Properties: +- compatible : Should be "calxeda,hb-combophy" +- #phy-cells: Should be 1. +- reg : Address and size for Combination Phy registers. +- phydev: device ID for programming the combophy. + +Example: + + combophy5: combo-phy@fff5d000 { + compatible = "calxeda,hb-combophy"; + #phy-cells = <1>; + reg = <0xfff5d000 0x1000>; + phydev = <31>; + }; + --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/ata/ahci-platform.txt @@ -8,9 +8,18 @@ - interrupts : - reg : +Optional properties: +- dma-coherent : Present if dma operations are coherent +- calxeda,port-phys: phandle-combophy and lane assignment, which maps each + SATA port to a combophy and a lane within that + combophy + Example: sata@ffe08000 { compatible = "calxeda,hb-ahci"; reg = <0xffe08000 0x1000>; interrupts = <115>; + calxeda,port-phys = <&combophy5 0 &combophy0 0 &combophy0 1 + &combophy0 2 &combophy0 3>; + }; --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/dma/arm-pl330.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/dma/arm-pl330.txt @@ -9,6 +9,9 @@ region. - interrupts: interrupt number to the cpu. +Optional properties: +- dma-coherent : Present if dma operations are coherent + Example: pdma0: pdma@12680000 { --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/net/calxeda-xgmac.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/net/calxeda-xgmac.txt @@ -6,6 +6,9 @@ - interrupts : Should contain 3 xgmac interrupts. The 1st is main interrupt. The 2nd is pwr mgt interrupt. The 3rd is low power state interrupt. +Optional properties: +- dma-coherent : Present if dma operations are coherent + Example: ethernet@fff50000 { --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt @@ -93,7 +93,7 @@ With some exceptions, these support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode, nvidia,pull-down-strength, - nvidia,pull-up-strength, nvidia,slew_rate-rising, nvidia,slew_rate-falling. + nvidia,pull-up-strength, nvidia,slew-rate-rising, nvidia,slew-rate-falling. drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, drive_cdev2, drive_csus, drive_dap1, drive_dap2, drive_dap3, drive_dap4, drive_dbg, --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt @@ -83,7 +83,7 @@ drive groups: These all support nvidia,pull-down-strength, nvidia,pull-up-strength, - nvidia,slew_rate-rising, nvidia,slew_rate-falling. Most but not all + nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode. ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, cec, crt, csus, dap1, --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/clock/calxeda.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/clock/calxeda.txt @@ -0,0 +1,17 @@ +Device Tree Clock bindings for Calxeda highbank platform + +This binding uses the common clock binding[1]. + +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt + +Required properties: +- compatible : shall be one of the following: + "calxeda,hb-pll-clock" - for a PLL clock + "calxeda,hb-a9periph-clock" - The A9 peripheral clock divided from the + A9 clock. + "calxeda,hb-a9bus-clock" - The A9 bus clock divided from the A9 clock. + "calxeda,hb-emmc-clock" - Divided clock for MMC/SD controller. +- reg : shall be the control register offset from SYSREGs base for the clock. +- clocks : shall be the input parent clock phandle for the clock. This is + either an oscillator or a pll output. +- #clock-cells : from common clock binding; shall be set to 0. --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/clock/clock-bindings.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/clock/clock-bindings.txt @@ -0,0 +1,117 @@ +This binding is a work-in-progress, and are based on some experimental +work by benh[1]. + +Sources of clock signal can be represented by any node in the device +tree. Those nodes are designated as clock providers. Clock consumer +nodes use a phandle and clock specifier pair to connect clock provider +outputs to clock inputs. Similar to the gpio specifiers, a clock +specifier is an array of one more more cells identifying the clock +output on a device. The length of a clock specifier is defined by the +value of a #clock-cells property in the clock provider node. + +[1] http://patchwork.ozlabs.org/patch/31551/ + +==Clock providers== + +Required properties: +#clock-cells: Number of cells in a clock specifier; Typically 0 for nodes + with a single clock output and 1 for nodes with multiple + clock outputs. + +Optional properties: +clock-output-names: Recommended to be a list of strings of clock output signal + names indexed by the first cell in the clock specifier. + However, the meaning of clock-output-names is domain + specific to the clock provider, and is only provided to + encourage using the same meaning for the majority of clock + providers. This format may not work for clock providers + using a complex clock specifier format. In those cases it + is recommended to omit this property and create a binding + specific names property. + + Clock consumer nodes must never directly reference + the provider's clock-output-names property. + +For example: + + oscillator { + #clock-cells = <1>; + clock-output-names = "ckil", "ckih"; + }; + +- this node defines a device with two clock outputs, the first named + "ckil" and the second named "ckih". Consumer nodes always reference + clocks by index. The names should reflect the clock output signal + names for the device. + +==Clock consumers== + +Required properties: +clocks: List of phandle and clock specifier pairs, one pair + for each clock input to the device. Note: if the + clock provider specifies '0' for #clock-cells, then + only the phandle portion of the pair will appear. + +Optional properties: +clock-names: List of clock input name strings sorted in the same + order as the clocks property. Consumers drivers + will use clock-names to match clock input names + with clocks specifiers. +clock-ranges: Empty property indicating that child nodes can inherit named + clocks from this node. Useful for bus nodes to provide a + clock to their children. + +For example: + + device { + clocks = <&osc 1>, <&ref 0>; + clock-names = "baud", "register"; + }; + + +This represents a device with two clock inputs, named "baud" and "register". +The baud clock is connected to output 1 of the &osc device, and the register +clock is connected to output 0 of the &ref. + +==Example== + + /* external oscillator */ + osc: oscillator { + compatible = "fixed-clock"; + #clock-cells = <1>; + clock-frequency = <32678>; + clock-output-names = "osc"; + }; + + /* phase-locked-loop device, generates a higher frequency clock + * from the external oscillator reference */ + pll: pll@4c000 { + compatible = "vendor,some-pll-interface" + #clock-cells = <1>; + clocks = <&osc 0>; + clock-names = "ref"; + reg = <0x4c000 0x1000>; + clock-output-names = "pll", "pll-switched"; + }; + + /* UART, using the low frequency oscillator for the baud clock, + * and the high frequency switched PLL output for register + * clocking */ + uart@a000 { + compatible = "fsl,imx-uart"; + reg = <0xa000 0x1000>; + interrupts = <33>; + clocks = <&osc 0>, <&pll 1>; + clock-names = "baud", "register"; + }; + +This DT fragment defines three devices: an external oscillator to provide a +low-frequency reference clock, a PLL device to generate a higher frequency +clock signal, and a UART. + +* The oscillator is fixed-frequency, and provides one clock output, named "osc". +* The PLL is both a clock provider and a clock consumer. It uses the clock + signal generated by the external oscillator, and provides two output signals + ("pll" and "pll-switched"). +* The UART has its baud clock connected the external oscillator and its + register clock connected to the PLL clock (the "pll-switched" signal) --- linux-lowlatency-3.5.0.orig/Documentation/devicetree/bindings/clock/fixed-clock.txt +++ linux-lowlatency-3.5.0/Documentation/devicetree/bindings/clock/fixed-clock.txt @@ -0,0 +1,21 @@ +Binding for simple fixed-rate clock sources. + +This binding uses the common clock binding[1]. + +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt + +Required properties: +- compatible : shall be "fixed-clock". +- #clock-cells : from common clock binding; shall be set to 0. +- clock-frequency : frequency of clock in Hz. Should be a single cell. + +Optional properties: +- gpios : From common gpio binding; gpio connection to clock enable pin. +- clock-output-names : From common clock binding. + +Example: + clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <1000000000>; + }; --- linux-lowlatency-3.5.0.orig/Documentation/dvb/get_dvb_firmware +++ linux-lowlatency-3.5.0/Documentation/dvb/get_dvb_firmware @@ -116,7 +116,7 @@ sub tda10046 { my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip"; - my $url = "http://www.tt-download.com/download/updates/219/$sourcefile"; + my $url = "http://technotrend.com.ua/download/software/219/$sourcefile"; my $hash = "6a7e1e2f2644b162ff0502367553c72d"; my $outfile = "dvb-fe-tda10046.fw"; my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); --- linux-lowlatency-3.5.0.orig/Documentation/filesystems/00-INDEX +++ linux-lowlatency-3.5.0/Documentation/filesystems/00-INDEX @@ -38,6 +38,8 @@ - example program for dnotify ecryptfs.txt - docs on eCryptfs: stacked cryptographic filesystem for Linux. +efivarfs.txt + - info for the efivarfs filesystem. exofs.txt - info, usage, mount options, design about EXOFS. ext2.txt --- linux-lowlatency-3.5.0.orig/Documentation/filesystems/Locking +++ linux-lowlatency-3.5.0/Documentation/filesystems/Locking @@ -62,6 +62,7 @@ int (*removexattr) (struct dentry *, const char *); int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); void (*update_time)(struct inode *, struct timespec *, int); + struct file *(*open)(struct dentry *,struct file *,const struct cred *); locking rules: all may block @@ -89,7 +90,7 @@ removexattr: yes fiemap: no update_time: no - +open: no Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on victim. cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. --- linux-lowlatency-3.5.0.orig/Documentation/filesystems/overlayfs.txt +++ linux-lowlatency-3.5.0/Documentation/filesystems/overlayfs.txt @@ -0,0 +1,199 @@ +Written by: Neil Brown + +Overlay Filesystem +================== + +This document describes a prototype for a new approach to providing +overlay-filesystem functionality in Linux (sometimes referred to as +union-filesystems). An overlay-filesystem tries to present a +filesystem which is the result over overlaying one filesystem on top +of the other. + +The result will inevitably fail to look exactly like a normal +filesystem for various technical reasons. The expectation is that +many use cases will be able to ignore these differences. + +This approach is 'hybrid' because the objects that appear in the +filesystem do not all appear to belong to that filesystem. In many +cases an object accessed in the union will be indistinguishable +from accessing the corresponding object from the original filesystem. +This is most obvious from the 'st_dev' field returned by stat(2). + +While directories will report an st_dev from the overlay-filesystem, +all non-directory objects will report an st_dev from the lower or +upper filesystem that is providing the object. Similarly st_ino will +only be unique when combined with st_dev, and both of these can change +over the lifetime of a non-directory object. Many applications and +tools ignore these values and will not be affected. + +Upper and Lower +--------------- + +An overlay filesystem combines two filesystems - an 'upper' filesystem +and a 'lower' filesystem. When a name exists in both filesystems, the +object in the 'upper' filesystem is visible while the object in the +'lower' filesystem is either hidden or, in the case of directories, +merged with the 'upper' object. + +It would be more correct to refer to an upper and lower 'directory +tree' rather than 'filesystem' as it is quite possible for both +directory trees to be in the same filesystem and there is no +requirement that the root of a filesystem be given for either upper or +lower. + +The lower filesystem can be any filesystem supported by Linux and does +not need to be writable. The lower filesystem can even be another +overlayfs. The upper filesystem will normally be writable and if it +is it must support the creation of trusted.* extended attributes, and +must provide valid d_type in readdir responses, at least for symbolic +links - so NFS is not suitable. + +A read-only overlay of two read-only filesystems may use any +filesystem type. + +Directories +----------- + +Overlaying mainly involved directories. If a given name appears in both +upper and lower filesystems and refers to a non-directory in either, +then the lower object is hidden - the name refers only to the upper +object. + +Where both upper and lower objects are directories, a merged directory +is formed. + +At mount time, the two directories given as mount options are combined +into a merged directory: + + mount -t overlayfs overlayfs -olowerdir=/lower,upperdir=/upper /overlay + +Then whenever a lookup is requested in such a merged directory, the +lookup is performed in each actual directory and the combined result +is cached in the dentry belonging to the overlay filesystem. If both +actual lookups find directories, both are stored and a merged +directory is created, otherwise only one is stored: the upper if it +exists, else the lower. + +Only the lists of names from directories are merged. Other content +such as metadata and extended attributes are reported for the upper +directory only. These attributes of the lower directory are hidden. + +whiteouts and opaque directories +-------------------------------- + +In order to support rm and rmdir without changing the lower +filesystem, an overlay filesystem needs to record in the upper filesystem +that files have been removed. This is done using whiteouts and opaque +directories (non-directories are always opaque). + +The overlay filesystem uses extended attributes with a +"trusted.overlay." prefix to record these details. + +A whiteout is created as a symbolic link with target +"(overlay-whiteout)" and with xattr "trusted.overlay.whiteout" set to "y". +When a whiteout is found in the upper level of a merged directory, any +matching name in the lower level is ignored, and the whiteout itself +is also hidden. + +A directory is made opaque by setting the xattr "trusted.overlay.opaque" +to "y". Where the upper filesystem contains an opaque directory, any +directory in the lower filesystem with the same name is ignored. + +readdir +------- + +When a 'readdir' request is made on a merged directory, the upper and +lower directories are each read and the name lists merged in the +obvious way (upper is read first, then lower - entries that already +exist are not re-added). This merged name list is cached in the +'struct file' and so remains as long as the file is kept open. If the +directory is opened and read by two processes at the same time, they +will each have separate caches. A seekdir to the start of the +directory (offset 0) followed by a readdir will cause the cache to be +discarded and rebuilt. + +This means that changes to the merged directory do not appear while a +directory is being read. This is unlikely to be noticed by many +programs. + +seek offsets are assigned sequentially when the directories are read. +Thus if + - read part of a directory + - remember an offset, and close the directory + - re-open the directory some time later + - seek to the remembered offset + +there may be little correlation between the old and new locations in +the list of filenames, particularly if anything has changed in the +directory. + +Readdir on directories that are not merged is simply handled by the +underlying directory (upper or lower). + + +Non-directories +--------------- + +Objects that are not directories (files, symlinks, device-special +files etc.) are presented either from the upper or lower filesystem as +appropriate. When a file in the lower filesystem is accessed in a way +the requires write-access, such as opening for write access, changing +some metadata etc., the file is first copied from the lower filesystem +to the upper filesystem (copy_up). Note that creating a hard-link +also requires copy_up, though of course creation of a symlink does +not. + +The copy_up may turn out to be unnecessary, for example if the file is +opened for read-write but the data is not modified. + +The copy_up process first makes sure that the containing directory +exists in the upper filesystem - creating it and any parents as +necessary. It then creates the object with the same metadata (owner, +mode, mtime, symlink-target etc.) and then if the object is a file, the +data is copied from the lower to the upper filesystem. Finally any +extended attributes are copied up. + +Once the copy_up is complete, the overlay filesystem simply +provides direct access to the newly created file in the upper +filesystem - future operations on the file are barely noticed by the +overlay filesystem (though an operation on the name of the file such as +rename or unlink will of course be noticed and handled). + + +Non-standard behavior +--------------------- + +The copy_up operation essentially creates a new, identical file and +moves it over to the old name. The new file may be on a different +filesystem, so both st_dev and st_ino of the file may change. + +Any open files referring to this inode will access the old data and +metadata. Similarly any file locks obtained before copy_up will not +apply to the copied up file. + +On a file is opened with O_RDONLY fchmod(2), fchown(2), futimesat(2) +and fsetxattr(2) will fail with EROFS. + +If a file with multiple hard links is copied up, then this will +"break" the link. Changes will not be propagated to other names +referring to the same inode. + +Symlinks in /proc/PID/ and /proc/PID/fd which point to a non-directory +object in overlayfs will not contain vaid absolute paths, only +relative paths leading up to the filesystem's root. This will be +fixed in the future. + +Some operations are not atomic, for example a crash during copy_up or +rename will leave the filesystem in an inconsitent state. This will +be addressed in the future. + +Changes to underlying filesystems +--------------------------------- + +Offline changes, when the overlay is not mounted, are allowed to either +the upper or the lower trees. + +Changes to the underlying filesystems while part of a mounted overlay +filesystem are not allowed. If the underlying filesystem is changed, +the behavior of the overlay is undefined, though it will not result in +a crash or deadlock. --- linux-lowlatency-3.5.0.orig/Documentation/filesystems/vfs.txt +++ linux-lowlatency-3.5.0/Documentation/filesystems/vfs.txt @@ -364,6 +364,8 @@ ssize_t (*listxattr) (struct dentry *, char *, size_t); int (*removexattr) (struct dentry *, const char *); void (*update_time)(struct inode *, struct timespec *, int); + struct file *(*open) (struct dentry *, struct file *, + const struct cred *); }; Again, all methods are called without any locks being held, unless @@ -476,6 +478,12 @@ an inode. If this is not defined the VFS will update the inode itself and call mark_inode_dirty_sync. + open: this is an alternative to f_op->open(), the difference is that this + method may return any open file, not necessarily originating from the + same filesystem as the one i_op->open() was called on. It may be useful + for stacking filesystems which want to allow native I/O directly on + underlying files. + The Address Space Object ======================== --- linux-lowlatency-3.5.0.orig/Documentation/filesystems/efivarfs.txt +++ linux-lowlatency-3.5.0/Documentation/filesystems/efivarfs.txt @@ -0,0 +1,16 @@ + +efivarfs - a (U)EFI variable filesystem + +The efivarfs filesystem was created to address the shortcomings of +using entries in sysfs to maintain EFI variables. The old sysfs EFI +variables code only supported variables of up to 1024 bytes. This +limitation existed in version 0.99 of the EFI specification, but was +removed before any full releases. Since variables can now be larger +than a single page, sysfs isn't the best interface for this. + +Variables can be created, deleted and modified with the efivarfs +filesystem. + +efivarfs is typically mounted like this, + + mount -t efivarfs none /sys/firmware/efi/efivars --- linux-lowlatency-3.5.0.orig/Documentation/hwmon/coretemp +++ linux-lowlatency-3.5.0/Documentation/hwmon/coretemp @@ -105,6 +105,7 @@ 330/230 125 E680/660/640/620 90 E680T/660T/640T/620T 110 + CE4170/4150/4110 110 45nm Core2 Processors Solo ULV SU3500/3300 100 --- linux-lowlatency-3.5.0.orig/Documentation/i2c/busses/i2c-i801 +++ linux-lowlatency-3.5.0/Documentation/i2c/busses/i2c-i801 @@ -21,6 +21,7 @@ * Intel DH89xxCC (PCH) * Intel Panther Point (PCH) * Intel Lynx Point (PCH) + * Intel Lynx Point-LP (PCH) Datasheets: Publicly available at the Intel website On Intel Patsburg and later chipsets, both the normal host SMBus controller --- linux-lowlatency-3.5.0.orig/Documentation/security/Yama.txt +++ linux-lowlatency-3.5.0/Documentation/security/Yama.txt @@ -5,10 +5,54 @@ Yama is controlled through sysctl in /proc/sys/kernel/yama: +- protected_sticky_symlinks +- protected_nonaccess_hardlinks - ptrace_scope ============================================================== +protected_sticky_symlinks: + +A long-standing class of security issues is the symlink-based +time-of-check-time-of-use race, most commonly seen in world-writable +directories like /tmp. The common method of exploitation of this flaw +is to cross privilege boundaries when following a given symlink (i.e. a +root process follows a symlink belonging to another user). For a likely +incomplete list of hundreds of examples across the years, please see: +http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=/tmp + +When set to "0", symlink following behavior is unrestricted. + +When set to "1" symlinks are permitted to be followed only when outside +a sticky world-writable directory, or when the uid of the symlink and +follower match, or when the directory owner matches the symlink's owner. + +This protection is based on the restrictions in Openwall and grsecurity. + +============================================================== + +protected_nonaccess_hardlinks: + +Hardlinks can be abused in a similar fashion to symlinks in sticky +world-writable directories, but their weakness is not limited to +just that scenario. For example, if /etc and /home are on the same +partition, a regular user can create a hardlink to /etc/shadow in their +home directory. While it retains the original owner and permissions, +it is possible for privileged programs that are otherwise symlink-safe +to mistakenly access the file through its hardlink. Additionally, a very +minor untraceable quota-bypassing local denial of service is possible by +an attacker exhausting disk space by filling a world-writable directory +with hardlinks. + +When set to "0", hardlink creation behavior is unrestricted. + +When set to "1", hardlinks cannot be created to files that a given user +would be unable to read and write originally, or are otherwise sensitive. + +This protection is based on the restrictions in Openwall and grsecurity. + +============================================================== + ptrace_scope: As Linux grows in popularity, it will become a larger target for @@ -46,14 +90,13 @@ so that any otherwise allowed process (even those in external pid namespaces) may attach. -These restrictions do not change how ptrace via PTRACE_TRACEME operates. - -The sysctl settings are: +The sysctl settings (writable only with CAP_SYS_PTRACE) are: 0 - classic ptrace permissions: a process can PTRACE_ATTACH to any other process running under the same uid, as long as it is dumpable (i.e. did not transition uids, start privileged, or have called - prctl(PR_SET_DUMPABLE...) already). + prctl(PR_SET_DUMPABLE...) already). Similarly, PTRACE_TRACEME is + unchanged. 1 - restricted ptrace: a process must have a predefined relationship with the inferior it wants to call PTRACE_ATTACH on. By default, @@ -61,12 +104,13 @@ classic criteria is also met. To change the relationship, an inferior can call prctl(PR_SET_PTRACER, debugger, ...) to declare an allowed debugger PID to call PTRACE_ATTACH on the inferior. + Using PTRACE_TRACEME is unchanged. 2 - admin-only attach: only processes with CAP_SYS_PTRACE may use ptrace - with PTRACE_ATTACH. + with PTRACE_ATTACH, or through children calling PTRACE_TRACEME. -3 - no attach: no processes may use ptrace with PTRACE_ATTACH. Once set, - this sysctl cannot be changed to a lower value. +3 - no attach: no processes may use ptrace with PTRACE_ATTACH nor via + PTRACE_TRACEME. Once set, this sysctl value cannot be changed. The original children-only logic was based on the restrictions in grsecurity. --- linux-lowlatency-3.5.0.orig/Documentation/serial/00-INDEX +++ linux-lowlatency-3.5.0/Documentation/serial/00-INDEX @@ -2,8 +2,6 @@ - this file. README.cycladesZ - info on Cyclades-Z firmware loading. -computone.txt - - info on Computone Intelliport II/Plus Multiport Serial Driver. digiepca.txt - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. hayes-esp.txt --- linux-lowlatency-3.5.0.orig/Documentation/sound/alsa/HD-Audio-Models.txt +++ linux-lowlatency-3.5.0/Documentation/sound/alsa/HD-Audio-Models.txt @@ -21,10 +21,11 @@ ========== N/A -ALC269 +ALC269/270/275/276/280/282 ====== laptop-amic Laptops with analog-mic input laptop-dmic Laptops with digital-mic input + lenovo-dock Enables docking station I/O for some Lenovos ALC662/663/272 ============== @@ -46,6 +47,7 @@ acer-aspire-4930g Acer Aspire 4930G/5930G/6530G/6930G/7730G acer-aspire-8930g Acer Aspire 8330G/6935G acer-aspire Acer Aspire others + no-primary-hp VAIO Z workaround (for fixed speaker DAC) ALC861/660 ========== --- linux-lowlatency-3.5.0.orig/Documentation/x86/boot.txt +++ linux-lowlatency-3.5.0/Documentation/x86/boot.txt @@ -54,6 +54,9 @@ beyond the kernel_alignment added, new init_size and pref_address fields. Added extended boot loader IDs. +Protocol 2.11: (Kernel 3.6) Added a field for offset of EFI handover + protocol entry point. + **** MEMORY LAYOUT The traditional memory map for the kernel loader, used for Image or @@ -189,6 +192,7 @@ of struct setup_data 0258/8 2.10+ pref_address Preferred loading address 0260/4 2.10+ init_size Linear memory required during initialization +0264/4 2.11+ handover_offset Offset of handover entry point (1) For backwards compatibility, if the setup_sects field contains 0, the real value is 4. @@ -690,6 +694,16 @@ else runtime_start = pref_address +Field name: handover_offset +Type: read +Offset/size: 0x264/4 + + This field is the offset from the beginning of the kernel image to + the EFI handover protocol entry point. Boot loaders using the EFI + handover protocol to boot the kernel should jump to this offset. + + See EFI HANDOVER PROTOCOL below for more details. + **** THE IMAGE CHECKSUM @@ -1010,3 +1024,30 @@ must have read/write permission; CS must be __BOOT_CS and DS, ES, SS must be __BOOT_DS; interrupt must be disabled; %esi must hold the base address of the struct boot_params; %ebp, %edi and %ebx must be zero. + +**** EFI HANDOVER PROTOCOL + +This protocol allows boot loaders to defer initialisation to the EFI +boot stub. The boot loader is required to load the kernel/initrd(s) +from the boot media and jump to the EFI handover protocol entry point +which is hdr->handover_offset bytes from the beginning of +startup_{32,64}. + +The function prototype for the handover entry point looks like this, + + efi_main(void *handle, efi_system_table_t *table, struct boot_params *bp) + +'handle' is the EFI image handle passed to the boot loader by the EFI +firmware, 'table' is the EFI system table - these are the first two +arguments of the "handoff state" as described in section 2.3 of the +UEFI specification. 'bp' is the boot loader-allocated boot params. + +The boot loader *must* fill out the following fields in bp, + + o hdr.code32_start + o hdr.cmd_line_ptr + o hdr.cmdline_size + o hdr.ramdisk_image (if applicable) + o hdr.ramdisk_size (if applicable) + +All other fields should be zero. --- linux-lowlatency-3.5.0.orig/arch/alpha/include/asm/atomic.h +++ linux-lowlatency-3.5.0/arch/alpha/include/asm/atomic.h @@ -14,8 +14,8 @@ */ -#define ATOMIC_INIT(i) ( (atomic_t) { (i) } ) -#define ATOMIC64_INIT(i) ( (atomic64_t) { (i) } ) +#define ATOMIC_INIT(i) { (i) } +#define ATOMIC64_INIT(i) { (i) } #define atomic_read(v) (*(volatile int *)&(v)->counter) #define atomic64_read(v) (*(volatile long *)&(v)->counter) --- linux-lowlatency-3.5.0.orig/arch/alpha/include/asm/fpu.h +++ linux-lowlatency-3.5.0/arch/alpha/include/asm/fpu.h @@ -1,7 +1,9 @@ #ifndef __ASM_ALPHA_FPU_H #define __ASM_ALPHA_FPU_H +#ifdef __KERNEL__ #include +#endif /* * Alpha floating-point control register defines: --- linux-lowlatency-3.5.0.orig/arch/alpha/include/asm/socket.h +++ linux-lowlatency-3.5.0/arch/alpha/include/asm/socket.h @@ -76,9 +76,11 @@ /* Instruct lower device to use last 4-bytes of skb data as FCS */ #define SO_NOFCS 43 +#ifdef __KERNEL__ /* O_NONBLOCK clashes with the bits used for socket types. Therefore we * have to define SOCK_NONBLOCK to a different value here. */ #define SOCK_NONBLOCK 0x40000000 +#endif /* __KERNEL__ */ #endif /* _ASM_SOCKET_H */ --- linux-lowlatency-3.5.0.orig/arch/alpha/kernel/process.c +++ linux-lowlatency-3.5.0/arch/alpha/kernel/process.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -54,8 +55,10 @@ /* FIXME -- EV6 and LCA45 know how to power down the CPU. */ + rcu_idle_enter(); while (!need_resched()) cpu_relax(); + rcu_idle_exit(); schedule(); } } --- linux-lowlatency-3.5.0.orig/arch/arm/Kconfig +++ linux-lowlatency-3.5.0/arch/arm/Kconfig @@ -349,6 +349,7 @@ select ARM_TIMER_SP804 select CACHE_L2X0 select CLKDEV_LOOKUP + select COMMON_CLK select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU @@ -548,6 +549,7 @@ bool "Marvell Kirkwood" select CPU_FEROCEON select PCI + select PCI_QUIRKS select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select NEED_MACH_IO_H @@ -2083,6 +2085,7 @@ config CPU_FREQ_IMX tristate "CPUfreq driver for i.MX CPUs" depends on ARCH_MXC && CPU_FREQ + select CPU_FREQ_TABLE help This enables the CPUfreq driver for i.MX CPUs. @@ -2265,6 +2268,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "arch/arm/Kconfig.debug" --- linux-lowlatency-3.5.0.orig/arch/arm/Makefile +++ linux-lowlatency-3.5.0/arch/arm/Makefile @@ -279,10 +279,10 @@ zinstall uinstall install: vmlinux $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@ -%.dtb: +%.dtb: scripts $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ -dtbs: +dtbs: scripts $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ # We use MRPROPER_FILES and CLEAN_FILES now --- linux-lowlatency-3.5.0.orig/arch/arm/boot/compressed/head.S +++ linux-lowlatency-3.5.0/arch/arm/boot/compressed/head.S @@ -653,16 +653,21 @@ mcrne p15, 0, r0, c8, c7, 0 @ flush I,D TLBs #endif mrc p15, 0, r0, c1, c0, 0 @ read control reg + bic r0, r0, #1 << 28 @ clear SCTLR.TRE orr r0, r0, #0x5000 @ I-cache enable, RR cache replacement orr r0, r0, #0x003c @ write buffer #ifdef CONFIG_MMU #ifdef CONFIG_CPU_ENDIAN_BE8 orr r0, r0, #1 << 25 @ big-endian page tables #endif + mrcne p15, 0, r6, c2, c0, 2 @ read ttb control reg orrne r0, r0, #1 @ MMU enabled movne r1, #0xfffffffd @ domain 0 = client + bic r6, r6, #1 << 31 @ 32-bit translation system + bic r6, r6, #3 << 0 @ use only ttbr0 mcrne p15, 0, r3, c2, c0, 0 @ load page table pointer mcrne p15, 0, r1, c3, c0, 0 @ load domain access control + mcrne p15, 0, r6, c2, c0, 2 @ load ttb control #endif mcr p15, 0, r0, c7, c5, 4 @ ISB mcr p15, 0, r0, c1, c0, 0 @ load control register --- linux-lowlatency-3.5.0.orig/arch/arm/boot/dts/highbank.dts +++ linux-lowlatency-3.5.0/arch/arm/boot/dts/highbank.dts @@ -1,5 +1,5 @@ /* - * Copyright 2011 Calxeda, Inc. + * Copyright 2011-2012 Calxeda, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -24,6 +24,7 @@ compatible = "calxeda,highbank"; #address-cells = <1>; #size-cells = <1>; + clock-ranges; cpus { #address-cells = <1>; @@ -33,24 +34,32 @@ compatible = "arm,cortex-a9"; reg = <0>; next-level-cache = <&L2>; + clocks = <&a9pll>; + clock-names = "cpu"; }; cpu@1 { compatible = "arm,cortex-a9"; reg = <1>; next-level-cache = <&L2>; + clocks = <&a9pll>; + clock-names = "cpu"; }; cpu@2 { compatible = "arm,cortex-a9"; reg = <2>; next-level-cache = <&L2>; + clocks = <&a9pll>; + clock-names = "cpu"; }; cpu@3 { compatible = "arm,cortex-a9"; reg = <3>; next-level-cache = <&L2>; + clocks = <&a9pll>; + clock-names = "cpu"; }; }; @@ -75,12 +84,14 @@ compatible = "arm,cortex-a9-twd-timer"; reg = <0xfff10600 0x20>; interrupts = <1 13 0xf01>; + clocks = <&a9periphclk>; }; watchdog@fff10620 { compatible = "arm,cortex-a9-twd-wdt"; reg = <0xfff10620 0x20>; interrupts = <1 14 0xf01>; + clocks = <&a9periphclk>; }; intc: interrupt-controller@fff11000 { @@ -110,18 +121,31 @@ compatible = "calxeda,hb-ahci"; reg = <0xffe08000 0x10000>; interrupts = <0 83 4>; + dma-coherent; + calxeda,port-phys = <&combophy5 0 &combophy0 0 + &combophy0 1 &combophy0 2 + &combophy0 3>; }; sdhci@ffe0e000 { compatible = "calxeda,hb-sdhci"; reg = <0xffe0e000 0x1000>; interrupts = <0 90 4>; + clocks = <&eclk>; + }; + + memory-controller@fff00000 { + compatible = "calxeda,hb-ddr-ctrl"; + reg = <0xfff00000 0x1000>; + interrupts = <0 91 4>; }; ipc@fff20000 { compatible = "arm,pl320", "arm,primecell"; reg = <0xfff20000 0x1000>; interrupts = <0 7 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; gpioe: gpio@fff30000 { @@ -130,6 +154,8 @@ gpio-controller; reg = <0xfff30000 0x1000>; interrupts = <0 14 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; gpiof: gpio@fff31000 { @@ -138,6 +164,8 @@ gpio-controller; reg = <0xfff31000 0x1000>; interrupts = <0 15 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; gpiog: gpio@fff32000 { @@ -146,6 +174,8 @@ gpio-controller; reg = <0xfff32000 0x1000>; interrupts = <0 16 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; gpioh: gpio@fff33000 { @@ -154,24 +184,32 @@ gpio-controller; reg = <0xfff33000 0x1000>; interrupts = <0 17 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; timer { compatible = "arm,sp804", "arm,primecell"; reg = <0xfff34000 0x1000>; interrupts = <0 18 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; rtc@fff35000 { compatible = "arm,pl031", "arm,primecell"; reg = <0xfff35000 0x1000>; interrupts = <0 19 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; serial@fff36000 { compatible = "arm,pl011", "arm,primecell"; reg = <0xfff36000 0x1000>; interrupts = <0 20 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; smic@fff3a000 { @@ -186,12 +224,79 @@ sregs@fff3c000 { compatible = "calxeda,hb-sregs"; reg = <0xfff3c000 0x1000>; + + clocks { + #address-cells = <1>; + #size-cells = <0>; + + osc: oscillator { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <33333000>; + }; + + ddrpll: ddrpll { + #clock-cells = <0>; + compatible = "calxeda,hb-pll-clock"; + clocks = <&osc>; + reg = <0x108>; + }; + + a9pll: a9pll { + #clock-cells = <0>; + compatible = "calxeda,hb-pll-clock"; + clocks = <&osc>; + reg = <0x100>; + }; + + a9periphclk: a9periphclk { + #clock-cells = <0>; + compatible = "calxeda,hb-a9periph-clock"; + clocks = <&a9pll>; + reg = <0x104>; + }; + + a9bclk: a9bclk { + #clock-cells = <0>; + compatible = "calxeda,hb-a9bus-clock"; + clocks = <&a9pll>; + reg = <0x104>; + }; + + emmcpll: emmcpll { + #clock-cells = <0>; + compatible = "calxeda,hb-pll-clock"; + clocks = <&osc>; + reg = <0x10C>; + }; + + eclk: eclk { + #clock-cells = <0>; + compatible = "calxeda,hb-emmc-clock"; + clocks = <&emmcpll>; + reg = <0x114>; + }; + + pclk: pclk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <150000000>; + }; + }; + }; + + sregs@fff3c200 { + compatible = "calxeda,hb-sregs-l2-ecc"; + reg = <0xfff3c200 0x100>; + interrupts = <0 71 4 0 72 4>; }; dma@fff3d000 { compatible = "arm,pl330", "arm,primecell"; reg = <0xfff3d000 0x1000>; interrupts = <0 92 4>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; ethernet@fff50000 { @@ -205,5 +310,19 @@ reg = <0xfff51000 0x1000>; interrupts = <0 80 4 0 81 4 0 82 4>; }; + + combophy0: combo-phy@fff58000 { + compatible = "calxeda,hb-combophy"; + #phy-cells = <1>; + reg = <0xfff58000 0x1000>; + phydev = <5>; + }; + + combophy5: combo-phy@fff5d000 { + compatible = "calxeda,hb-combophy"; + #phy-cells = <1>; + reg = <0xfff5d000 0x1000>; + phydev = <31>; + }; }; }; --- linux-lowlatency-3.5.0.orig/arch/arm/boot/dts/imx53-ard.dts +++ linux-lowlatency-3.5.0/arch/arm/boot/dts/imx53-ard.dts @@ -66,10 +66,30 @@ interrupt-parent = <&gpio2>; interrupts = <31>; reg-io-width = <4>; + /* + * VDD33A and VDDVARIO of LAN9220 are supplied by + * SW4_3V3 of LTC3589. Before the regulator driver + * for this PMIC is available, we use a fixed dummy + * 3V3 regulator to get LAN9220 driver probing work. + */ + vdd33a-supply = <®_3p3v>; + vddvario-supply = <®_3p3v>; smsc,irq-push-pull; }; }; + regulators { + compatible = "simple-bus"; + + reg_3p3v: 3p3v { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + }; + gpio-keys { compatible = "gpio-keys"; --- linux-lowlatency-3.5.0.orig/arch/arm/boot/dts/tegra-trimslice.dts +++ linux-lowlatency-3.5.0/arch/arm/boot/dts/tegra-trimslice.dts @@ -276,9 +276,11 @@ usb@c5000000 { status = "okay"; + nvidia,vbus-gpio = <&gpio 170 0>; /* gpio PV2 */ }; usb@c5004000 { + status = "okay"; nvidia,phy-reset-gpio = <&gpio 168 0>; /* gpio PV0 */ }; --- linux-lowlatency-3.5.0.orig/arch/arm/boot/dts/tegra30.dtsi +++ linux-lowlatency-3.5.0/arch/arm/boot/dts/tegra30.dtsi @@ -73,8 +73,8 @@ pinmux: pinmux { compatible = "nvidia,tegra30-pinmux"; - reg = <0x70000868 0xd0 /* Pad control registers */ - 0x70003000 0x3e0>; /* Mux registers */ + reg = <0x70000868 0xd4 /* Pad control registers */ + 0x70003000 0x3e4>; /* Mux registers */ }; serial@70006000 { --- linux-lowlatency-3.5.0.orig/arch/arm/configs/mxs_defconfig +++ linux-lowlatency-3.5.0/arch/arm/configs/mxs_defconfig @@ -33,7 +33,6 @@ CONFIG_HIGH_RES_TIMERS=y CONFIG_PREEMPT_VOLUNTARY=y CONFIG_AEABI=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 CONFIG_AUTO_ZRELADDR=y CONFIG_FPE_NWFPE=y CONFIG_NET=y --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/assembler.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/assembler.h @@ -320,4 +320,12 @@ .size \name , . - \name .endm + .macro check_uaccess, addr:req, size:req, limit:req, tmp:req, bad:req +#ifndef CONFIG_CPU_USE_DOMAINS + adds \tmp, \addr, #\size - 1 + sbcccs \tmp, \tmp, \limit + bcs \bad +#endif + .endm + #endif /* __ASM_ASSEMBLER_H__ */ --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/cacheflush.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/cacheflush.h @@ -215,7 +215,9 @@ static inline void vivt_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) { - if (cpumask_test_cpu(smp_processor_id(), mm_cpumask(vma->vm_mm))) + struct mm_struct *mm = vma->vm_mm; + + if (!mm || cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm))) __cpuc_flush_user_range(start & PAGE_MASK, PAGE_ALIGN(end), vma->vm_flags); } @@ -223,7 +225,9 @@ static inline void vivt_flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsigned long pfn) { - if (cpumask_test_cpu(smp_processor_id(), mm_cpumask(vma->vm_mm))) { + struct mm_struct *mm = vma->vm_mm; + + if (!mm || cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm))) { unsigned long addr = user_addr & PAGE_MASK; __cpuc_flush_user_range(addr, addr + PAGE_SIZE, vma->vm_flags); } --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/div64.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/div64.h @@ -73,6 +73,7 @@ #define do_div(n, base) \ ({ \ unsigned int __r, __b = (base); \ + asm("" : "+r" (__b)); \ if (!__builtin_constant_p(__b) || __b == 0 || \ (__LINUX_ARM_ARCH__ < 4 && (__b & (__b - 1)) != 0)) { \ /* non-constant divisor (or zero): slow path */ \ --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/dma-mapping.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/dma-mapping.h @@ -13,6 +13,7 @@ #define DMA_ERROR_CODE (~0) extern struct dma_map_ops arm_dma_ops; +extern struct dma_map_ops arm_coherent_dma_ops; static inline struct dma_map_ops *get_dma_ops(struct device *dev) { --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/hwcap.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/hwcap.h @@ -18,11 +18,12 @@ #define HWCAP_THUMBEE (1 << 11) #define HWCAP_NEON (1 << 12) #define HWCAP_VFPv3 (1 << 13) -#define HWCAP_VFPv3D16 (1 << 14) +#define HWCAP_VFPv3D16 (1 << 14) /* also set for VFPv4-D16 */ #define HWCAP_TLS (1 << 15) #define HWCAP_VFPv4 (1 << 16) #define HWCAP_IDIVA (1 << 17) #define HWCAP_IDIVT (1 << 18) +#define HWCAP_VFPD32 (1 << 19) /* set if VFP has 32 regs (not 16) */ #define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) #if defined(__KERNEL__) --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/mutex.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/mutex.h @@ -7,121 +7,10 @@ */ #ifndef _ASM_MUTEX_H #define _ASM_MUTEX_H - -#if __LINUX_ARM_ARCH__ < 6 -/* On pre-ARMv6 hardware the swp based implementation is the most efficient. */ -# include -#else - /* - * Attempting to lock a mutex on ARMv6+ can be done with a bastardized - * atomic decrement (it is not a reliable atomic decrement but it satisfies - * the defined semantics for our purpose, while being smaller and faster - * than a real atomic decrement or atomic swap. The idea is to attempt - * decrementing the lock value only once. If once decremented it isn't zero, - * or if its store-back fails due to a dispute on the exclusive store, we - * simply bail out immediately through the slow path where the lock will be - * reattempted until it succeeds. + * On pre-ARMv6 hardware this results in a swp-based implementation, + * which is the most efficient. For ARMv6+, we emit a pair of exclusive + * accesses instead. */ -static inline void -__mutex_fastpath_lock(atomic_t *count, void (*fail_fn)(atomic_t *)) -{ - int __ex_flag, __res; - - __asm__ ( - - "ldrex %0, [%2] \n\t" - "sub %0, %0, #1 \n\t" - "strex %1, %0, [%2] " - - : "=&r" (__res), "=&r" (__ex_flag) - : "r" (&(count)->counter) - : "cc","memory" ); - - __res |= __ex_flag; - if (unlikely(__res != 0)) - fail_fn(count); -} - -static inline int -__mutex_fastpath_lock_retval(atomic_t *count, int (*fail_fn)(atomic_t *)) -{ - int __ex_flag, __res; - - __asm__ ( - - "ldrex %0, [%2] \n\t" - "sub %0, %0, #1 \n\t" - "strex %1, %0, [%2] " - - : "=&r" (__res), "=&r" (__ex_flag) - : "r" (&(count)->counter) - : "cc","memory" ); - - __res |= __ex_flag; - if (unlikely(__res != 0)) - __res = fail_fn(count); - return __res; -} - -/* - * Same trick is used for the unlock fast path. However the original value, - * rather than the result, is used to test for success in order to have - * better generated assembly. - */ -static inline void -__mutex_fastpath_unlock(atomic_t *count, void (*fail_fn)(atomic_t *)) -{ - int __ex_flag, __res, __orig; - - __asm__ ( - - "ldrex %0, [%3] \n\t" - "add %1, %0, #1 \n\t" - "strex %2, %1, [%3] " - - : "=&r" (__orig), "=&r" (__res), "=&r" (__ex_flag) - : "r" (&(count)->counter) - : "cc","memory" ); - - __orig |= __ex_flag; - if (unlikely(__orig != 0)) - fail_fn(count); -} - -/* - * If the unlock was done on a contended lock, or if the unlock simply fails - * then the mutex remains locked. - */ -#define __mutex_slowpath_needs_to_unlock() 1 - -/* - * For __mutex_fastpath_trylock we use another construct which could be - * described as a "single value cmpxchg". - * - * This provides the needed trylock semantics like cmpxchg would, but it is - * lighter and less generic than a true cmpxchg implementation. - */ -static inline int -__mutex_fastpath_trylock(atomic_t *count, int (*fail_fn)(atomic_t *)) -{ - int __ex_flag, __res, __orig; - - __asm__ ( - - "1: ldrex %0, [%3] \n\t" - "subs %1, %0, #1 \n\t" - "strexeq %2, %1, [%3] \n\t" - "movlt %0, #0 \n\t" - "cmpeq %2, #0 \n\t" - "bgt 1b " - - : "=&r" (__orig), "=&r" (__res), "=&r" (__ex_flag) - : "r" (&count->counter) - : "cc", "memory" ); - - return __orig; -} - -#endif +#include #endif --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/pgtable.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/pgtable.h @@ -195,6 +195,18 @@ #define pte_clear(mm,addr,ptep) set_pte_ext(ptep, __pte(0), 0) +#define pte_none(pte) (!pte_val(pte)) +#define pte_present(pte) (pte_val(pte) & L_PTE_PRESENT) +#define pte_write(pte) (!(pte_val(pte) & L_PTE_RDONLY)) +#define pte_dirty(pte) (pte_val(pte) & L_PTE_DIRTY) +#define pte_young(pte) (pte_val(pte) & L_PTE_YOUNG) +#define pte_exec(pte) (!(pte_val(pte) & L_PTE_XN)) +#define pte_special(pte) (0) + +#define pte_present_user(pte) \ + ((pte_val(pte) & (L_PTE_PRESENT | L_PTE_USER)) == \ + (L_PTE_PRESENT | L_PTE_USER)) + #if __LINUX_ARM_ARCH__ < 6 static inline void __sync_icache_dcache(pte_t pteval) { @@ -206,25 +218,15 @@ static inline void set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pteval) { - if (addr >= TASK_SIZE) - set_pte_ext(ptep, pteval, 0); - else { + unsigned long ext = 0; + + if (addr < TASK_SIZE && pte_present_user(pteval)) { __sync_icache_dcache(pteval); - set_pte_ext(ptep, pteval, PTE_EXT_NG); + ext |= PTE_EXT_NG; } -} -#define pte_none(pte) (!pte_val(pte)) -#define pte_present(pte) (pte_val(pte) & L_PTE_PRESENT) -#define pte_write(pte) (!(pte_val(pte) & L_PTE_RDONLY)) -#define pte_dirty(pte) (pte_val(pte) & L_PTE_DIRTY) -#define pte_young(pte) (pte_val(pte) & L_PTE_YOUNG) -#define pte_exec(pte) (!(pte_val(pte) & L_PTE_XN)) -#define pte_special(pte) (0) - -#define pte_present_user(pte) \ - ((pte_val(pte) & (L_PTE_PRESENT | L_PTE_USER)) == \ - (L_PTE_PRESENT | L_PTE_USER)) + set_pte_ext(ptep, pteval, ext); +} #define PTE_BIT_FUNC(fn,op) \ static inline pte_t pte_##fn(pte_t pte) { pte_val(pte) op; return pte; } @@ -251,13 +253,13 @@ * * 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 - * <--------------- offset --------------------> <- type --> 0 0 0 + * <--------------- offset ----------------------> < type -> 0 0 0 * - * This gives us up to 63 swap files and 32GB per swap file. Note that + * This gives us up to 31 swap files and 64GB per swap file. Note that * the offset field is always non-zero. */ #define __SWP_TYPE_SHIFT 3 -#define __SWP_TYPE_BITS 6 +#define __SWP_TYPE_BITS 5 #define __SWP_TYPE_MASK ((1 << __SWP_TYPE_BITS) - 1) #define __SWP_OFFSET_SHIFT (__SWP_TYPE_BITS + __SWP_TYPE_SHIFT) --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/uaccess.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/uaccess.h @@ -101,28 +101,39 @@ extern int __get_user_2(void *); extern int __get_user_4(void *); -#define __get_user_x(__r2,__p,__e,__s,__i...) \ +#define __GUP_CLOBBER_1 "lr", "cc" +#ifdef CONFIG_CPU_USE_DOMAINS +#define __GUP_CLOBBER_2 "ip", "lr", "cc" +#else +#define __GUP_CLOBBER_2 "lr", "cc" +#endif +#define __GUP_CLOBBER_4 "lr", "cc" + +#define __get_user_x(__r2,__p,__e,__l,__s) \ __asm__ __volatile__ ( \ __asmeq("%0", "r0") __asmeq("%1", "r2") \ + __asmeq("%3", "r1") \ "bl __get_user_" #__s \ : "=&r" (__e), "=r" (__r2) \ - : "0" (__p) \ - : __i, "cc") + : "0" (__p), "r" (__l) \ + : __GUP_CLOBBER_##__s) #define get_user(x,p) \ ({ \ + unsigned long __limit = current_thread_info()->addr_limit - 1; \ register const typeof(*(p)) __user *__p asm("r0") = (p);\ register unsigned long __r2 asm("r2"); \ + register unsigned long __l asm("r1") = __limit; \ register int __e asm("r0"); \ switch (sizeof(*(__p))) { \ case 1: \ - __get_user_x(__r2, __p, __e, 1, "lr"); \ - break; \ + __get_user_x(__r2, __p, __e, __l, 1); \ + break; \ case 2: \ - __get_user_x(__r2, __p, __e, 2, "r3", "lr"); \ + __get_user_x(__r2, __p, __e, __l, 2); \ break; \ case 4: \ - __get_user_x(__r2, __p, __e, 4, "lr"); \ + __get_user_x(__r2, __p, __e, __l, 4); \ break; \ default: __e = __get_user_bad(); break; \ } \ @@ -135,31 +146,34 @@ extern int __put_user_4(void *, unsigned int); extern int __put_user_8(void *, unsigned long long); -#define __put_user_x(__r2,__p,__e,__s) \ +#define __put_user_x(__r2,__p,__e,__l,__s) \ __asm__ __volatile__ ( \ __asmeq("%0", "r0") __asmeq("%2", "r2") \ + __asmeq("%3", "r1") \ "bl __put_user_" #__s \ : "=&r" (__e) \ - : "0" (__p), "r" (__r2) \ + : "0" (__p), "r" (__r2), "r" (__l) \ : "ip", "lr", "cc") #define put_user(x,p) \ ({ \ + unsigned long __limit = current_thread_info()->addr_limit - 1; \ register const typeof(*(p)) __r2 asm("r2") = (x); \ register const typeof(*(p)) __user *__p asm("r0") = (p);\ + register unsigned long __l asm("r1") = __limit; \ register int __e asm("r0"); \ switch (sizeof(*(__p))) { \ case 1: \ - __put_user_x(__r2, __p, __e, 1); \ + __put_user_x(__r2, __p, __e, __l, 1); \ break; \ case 2: \ - __put_user_x(__r2, __p, __e, 2); \ + __put_user_x(__r2, __p, __e, __l, 2); \ break; \ case 4: \ - __put_user_x(__r2, __p, __e, 4); \ + __put_user_x(__r2, __p, __e, __l, 4); \ break; \ case 8: \ - __put_user_x(__r2, __p, __e, 8); \ + __put_user_x(__r2, __p, __e, __l, 8); \ break; \ default: __e = __put_user_bad(); break; \ } \ --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/vfpmacros.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/vfpmacros.h @@ -27,9 +27,9 @@ #if __LINUX_ARM_ARCH__ <= 6 ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] - tst \tmp, #HWCAP_VFPv3D16 - ldceq p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} - addne \base, \base, #32*4 @ step over unused register space + tst \tmp, #HWCAP_VFPD32 + ldcnel p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} + addeq \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field @@ -51,9 +51,9 @@ #if __LINUX_ARM_ARCH__ <= 6 ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] - tst \tmp, #HWCAP_VFPv3D16 - stceq p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} - addne \base, \base, #32*4 @ step over unused register space + tst \tmp, #HWCAP_VFPD32 + stcnel p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} + addeq \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field --- linux-lowlatency-3.5.0.orig/arch/arm/include/asm/syscall.h +++ linux-lowlatency-3.5.0/arch/arm/include/asm/syscall.h @@ -8,6 +8,7 @@ #define _ASM_ARM_SYSCALL_H #include +#include extern const unsigned long sys_call_table[]; --- linux-lowlatency-3.5.0.orig/arch/arm/kernel/entry-armv.S +++ linux-lowlatency-3.5.0/arch/arm/kernel/entry-armv.S @@ -244,6 +244,19 @@ b 1b #endif +__und_fault: + @ Correct the PC such that it is pointing at the instruction + @ which caused the fault. If the faulting instruction was ARM + @ the PC will be pointing at the next instruction, and have to + @ subtract 4. Otherwise, it is Thumb, and the PC will be + @ pointing at the second half of the Thumb instruction. We + @ have to subtract 2. + ldr r2, [r0, #S_PC] + sub r2, r2, r1 + str r2, [r0, #S_PC] + b do_undefinstr +ENDPROC(__und_fault) + .align 5 __und_svc: #ifdef CONFIG_KPROBES @@ -261,25 +274,32 @@ @ @ r0 - instruction @ -#ifndef CONFIG_THUMB2_KERNEL +#ifndef CONFIG_THUMB2_KERNEL ldr r0, [r4, #-4] #else + mov r1, #2 ldrh r0, [r4, #-2] @ Thumb instruction at LR - 2 cmp r0, #0xe800 @ 32-bit instruction if xx >= 0 - ldrhhs r9, [r4] @ bottom 16 bits - orrhs r0, r9, r0, lsl #16 + blo __und_svc_fault + ldrh r9, [r4] @ bottom 16 bits + add r4, r4, #2 + str r4, [sp, #S_PC] + orr r0, r9, r0, lsl #16 #endif - adr r9, BSYM(1f) + adr r9, BSYM(__und_svc_finish) mov r2, r4 bl call_fpe + mov r1, #4 @ PC correction to apply +__und_svc_fault: mov r0, sp @ struct pt_regs *regs - bl do_undefinstr + bl __und_fault @ @ IRQs off again before pulling preserved data off the stack @ -1: disable_irq_notrace +__und_svc_finish: + disable_irq_notrace @ @ restore SPSR and restart the instruction @@ -423,25 +443,33 @@ mov r2, r4 mov r3, r5 + @ r2 = regs->ARM_pc, which is either 2 or 4 bytes ahead of the + @ faulting instruction depending on Thumb mode. + @ r3 = regs->ARM_cpsr @ - @ fall through to the emulation code, which returns using r9 if - @ it has emulated the instruction, or the more conventional lr - @ if we are to treat this as a real undefined instruction - @ - @ r0 - instruction + @ The emulation code returns using r9 if it has emulated the + @ instruction, or the more conventional lr if we are to treat + @ this as a real undefined instruction @ adr r9, BSYM(ret_from_exception) - adr lr, BSYM(__und_usr_unknown) + tst r3, #PSR_T_BIT @ Thumb mode? - itet eq @ explicit IT needed for the 1f label - subeq r4, r2, #4 @ ARM instr at LR - 4 - subne r4, r2, #2 @ Thumb instr at LR - 2 -1: ldreqt r0, [r4] + bne __und_usr_thumb + sub r4, r2, #4 @ ARM instr at LR - 4 +1: ldrt r0, [r4] #ifdef CONFIG_CPU_ENDIAN_BE8 - reveq r0, r0 @ little endian instruction + rev r0, r0 @ little endian instruction #endif - beq call_fpe + @ r0 = 32-bit ARM instruction which caused the exception + @ r2 = PC value for the following instruction (:= regs->ARM_pc) + @ r4 = PC value for the faulting instruction + @ lr = 32-bit undefined instruction function + adr lr, BSYM(__und_usr_fault_32) + b call_fpe + +__und_usr_thumb: @ Thumb instruction + sub r4, r2, #2 @ First half of thumb instr at LR - 2 #if CONFIG_ARM_THUMB && __LINUX_ARM_ARCH__ >= 6 && CONFIG_CPU_V7 /* * Thumb-2 instruction handling. Note that because pre-v6 and >= v6 platforms @@ -455,7 +483,7 @@ ldr r5, .LCcpu_architecture ldr r5, [r5] cmp r5, #CPU_ARCH_ARMv7 - blo __und_usr_unknown + blo __und_usr_fault_16 @ 16bit undefined instruction /* * The following code won't get run unless the running CPU really is v7, so * coding round the lack of ldrht on older arches is pointless. Temporarily @@ -463,15 +491,18 @@ */ .arch armv6t2 #endif -2: - ARM( ldrht r5, [r4], #2 ) - THUMB( ldrht r5, [r4] ) - THUMB( add r4, r4, #2 ) +2: ldrht r5, [r4] cmp r5, #0xe800 @ 32bit instruction if xx != 0 - blo __und_usr_unknown -3: ldrht r0, [r4] + blo __und_usr_fault_16 @ 16bit undefined instruction +3: ldrht r0, [r2] add r2, r2, #2 @ r2 is PC + 2, make it PC + 4 + str r2, [sp, #S_PC] @ it's a 2x16bit instr, update orr r0, r0, r5, lsl #16 + adr lr, BSYM(__und_usr_fault_32) + @ r0 = the two 16-bit Thumb instructions which caused the exception + @ r2 = PC value for the following Thumb instruction (:= regs->ARM_pc) + @ r4 = PC value for the first 16-bit Thumb instruction + @ lr = 32bit undefined instruction function #if __LINUX_ARM_ARCH__ < 7 /* If the target arch was overridden, change it back: */ @@ -482,17 +513,13 @@ #endif #endif /* __LINUX_ARM_ARCH__ < 7 */ #else /* !(CONFIG_ARM_THUMB && __LINUX_ARM_ARCH__ >= 6 && CONFIG_CPU_V7) */ - b __und_usr_unknown + b __und_usr_fault_16 #endif - UNWIND(.fnend ) + UNWIND(.fnend) ENDPROC(__und_usr) - @ - @ fallthrough to call_fpe - @ - /* - * The out of line fixup for the ldrt above. + * The out of line fixup for the ldrt instructions above. */ .pushsection .fixup, "ax" .align 2 @@ -524,11 +551,12 @@ * NEON handler code. * * Emulators may wish to make use of the following registers: - * r0 = instruction opcode. - * r2 = PC+4 + * r0 = instruction opcode (32-bit ARM or two 16-bit Thumb) + * r2 = PC value to resume execution after successful emulation * r9 = normal "successful" return address - * r10 = this threads thread_info structure. + * r10 = this threads thread_info structure * lr = unrecognised instruction return address + * IRQs disabled, FIQs enabled. */ @ @ Fall-through from Thumb-2 __und_usr @@ -659,12 +687,17 @@ mov pc, lr ENDPROC(no_fp) -__und_usr_unknown: - enable_irq +__und_usr_fault_32: + mov r1, #4 + b 1f +__und_usr_fault_16: + mov r1, #2 +1: enable_irq mov r0, sp adr lr, BSYM(ret_from_exception) - b do_undefinstr -ENDPROC(__und_usr_unknown) + b __und_fault +ENDPROC(__und_usr_fault_32) +ENDPROC(__und_usr_fault_16) .align 5 __pabt_usr: --- linux-lowlatency-3.5.0.orig/arch/arm/kernel/hw_breakpoint.c +++ linux-lowlatency-3.5.0/arch/arm/kernel/hw_breakpoint.c @@ -159,6 +159,12 @@ arch >= ARM_DEBUG_ARCH_V7_1; } +/* Can we determine the watchpoint access type from the fsr? */ +static int debug_exception_updates_fsr(void) +{ + return 0; +} + /* Determine number of WRP registers available. */ static int get_num_wrp_resources(void) { @@ -619,18 +625,35 @@ info->address &= ~alignment_mask; info->ctrl.len <<= offset; - /* - * Currently we rely on an overflow handler to take - * care of single-stepping the breakpoint when it fires. - * In the case of userspace breakpoints on a core with V7 debug, - * we can use the mismatch feature as a poor-man's hardware - * single-step, but this only works for per-task breakpoints. - */ - if (!bp->overflow_handler && (arch_check_bp_in_kernelspace(bp) || - !core_has_mismatch_brps() || !bp->hw.bp_target)) { - pr_warning("overflow handler required but none found\n"); - ret = -EINVAL; + if (!bp->overflow_handler) { + /* + * Mismatch breakpoints are required for single-stepping + * breakpoints. + */ + if (!core_has_mismatch_brps()) + return -EINVAL; + + /* We don't allow mismatch breakpoints in kernel space. */ + if (arch_check_bp_in_kernelspace(bp)) + return -EPERM; + + /* + * Per-cpu breakpoints are not supported by our stepping + * mechanism. + */ + if (!bp->hw.bp_target) + return -EINVAL; + + /* + * We only support specific access types if the fsr + * reports them. + */ + if (!debug_exception_updates_fsr() && + (info->ctrl.type == ARM_BREAKPOINT_LOAD || + info->ctrl.type == ARM_BREAKPOINT_STORE)) + return -EINVAL; } + out: return ret; } @@ -706,10 +729,12 @@ goto unlock; /* Check that the access type matches. */ - access = (fsr & ARM_FSR_ACCESS_MASK) ? HW_BREAKPOINT_W : - HW_BREAKPOINT_R; - if (!(access & hw_breakpoint_type(wp))) - goto unlock; + if (debug_exception_updates_fsr()) { + access = (fsr & ARM_FSR_ACCESS_MASK) ? + HW_BREAKPOINT_W : HW_BREAKPOINT_R; + if (!(access & hw_breakpoint_type(wp))) + goto unlock; + } /* We have a winner. */ info->trigger = addr; --- linux-lowlatency-3.5.0.orig/arch/arm/kernel/process.c +++ linux-lowlatency-3.5.0/arch/arm/kernel/process.c @@ -247,6 +247,7 @@ void machine_halt(void) { machine_shutdown(); + local_irq_disable(); while (1); } @@ -268,6 +269,7 @@ /* Whoops - the platform was unable to reboot. Tell the user! */ printk("Reboot failed -- System halted\n"); + local_irq_disable(); while (1); } --- linux-lowlatency-3.5.0.orig/arch/arm/kernel/smp.c +++ linux-lowlatency-3.5.0/arch/arm/kernel/smp.c @@ -222,18 +222,24 @@ asmlinkage void __cpuinit secondary_start_kernel(void) { struct mm_struct *mm = &init_mm; - unsigned int cpu = smp_processor_id(); + unsigned int cpu; + + /* + * The identity mapping is uncached (strongly ordered), so + * switch away from it before attempting any exclusive accesses. + */ + cpu_switch_mm(mm->pgd, mm); + enter_lazy_tlb(mm, current); + local_flush_tlb_all(); /* * All kernel threads share the same mm context; grab a * reference and switch to it. */ + cpu = smp_processor_id(); atomic_inc(&mm->mm_count); current->active_mm = mm; cpumask_set_cpu(cpu, mm_cpumask(mm)); - cpu_switch_mm(mm->pgd, mm); - enter_lazy_tlb(mm, current); - local_flush_tlb_all(); printk("CPU%u: Booted secondary processor\n", cpu); @@ -563,7 +569,8 @@ cpumask_copy(&mask, cpu_online_mask); cpumask_clear_cpu(smp_processor_id(), &mask); - smp_cross_call(&mask, IPI_CPU_STOP); + if (!cpumask_empty(&mask)) + smp_cross_call(&mask, IPI_CPU_STOP); /* Wait up to one second for other CPUs to stop */ timeout = USEC_PER_SEC; --- linux-lowlatency-3.5.0.orig/arch/arm/kernel/smp_twd.c +++ linux-lowlatency-3.5.0/arch/arm/kernel/smp_twd.c @@ -313,6 +313,7 @@ { .compatible = "arm,cortex-a9-twd-timer", }, { .compatible = "arm,cortex-a5-twd-timer", }, { .compatible = "arm,arm11mp-twd-timer", }, + { .compatible = "arm,smp-twd", }, { }, }; --- linux-lowlatency-3.5.0.orig/arch/arm/kernel/traps.c +++ linux-lowlatency-3.5.0/arch/arm/kernel/traps.c @@ -370,18 +370,10 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs) { - unsigned int correction = thumb_mode(regs) ? 2 : 4; unsigned int instr; siginfo_t info; void __user *pc; - /* - * According to the ARM ARM, PC is 2 or 4 bytes ahead, - * depending whether we're in Thumb mode or not. - * Correct this offset. - */ - regs->ARM_pc -= correction; - pc = (void __user *)instruction_pointer(regs); if (processor_mode(regs) == SVC_MODE) { @@ -396,20 +388,23 @@ #endif instr = *(u32 *) pc; } else if (thumb_mode(regs)) { - get_user(instr, (u16 __user *)pc); + if (get_user(instr, (u16 __user *)pc)) + goto die_sig; if (is_wide_instruction(instr)) { unsigned int instr2; - get_user(instr2, (u16 __user *)pc+1); + if (get_user(instr2, (u16 __user *)pc+1)) + goto die_sig; instr <<= 16; instr |= instr2; } - } else { - get_user(instr, (u32 __user *)pc); + } else if (get_user(instr, (u32 __user *)pc)) { + goto die_sig; } if (call_undef_hook(regs, instr) == 0) return; +die_sig: #ifdef CONFIG_DEBUG_USER if (user_debug & UDBG_UNDEFINED) { printk(KERN_INFO "%s (%d): undefined instruction: pc=%p\n", --- linux-lowlatency-3.5.0.orig/arch/arm/lib/getuser.S +++ linux-lowlatency-3.5.0/arch/arm/lib/getuser.S @@ -16,8 +16,9 @@ * __get_user_X * * Inputs: r0 contains the address + * r1 contains the address limit, which must be preserved * Outputs: r0 is the error code - * r2, r3 contains the zero-extended value + * r2 contains the zero-extended value * lr corrupted * * No other registers must be altered. (see @@ -27,33 +28,39 @@ * Note also that it is intended that __get_user_bad is not global. */ #include +#include #include #include ENTRY(__get_user_1) + check_uaccess r0, 1, r1, r2, __get_user_bad 1: TUSER(ldrb) r2, [r0] mov r0, #0 mov pc, lr ENDPROC(__get_user_1) ENTRY(__get_user_2) -#ifdef CONFIG_THUMB2_KERNEL -2: TUSER(ldrb) r2, [r0] -3: TUSER(ldrb) r3, [r0, #1] + check_uaccess r0, 2, r1, r2, __get_user_bad +#ifdef CONFIG_CPU_USE_DOMAINS +rb .req ip +2: ldrbt r2, [r0], #1 +3: ldrbt rb, [r0], #0 #else -2: TUSER(ldrb) r2, [r0], #1 -3: TUSER(ldrb) r3, [r0] +rb .req r0 +2: ldrb r2, [r0] +3: ldrb rb, [r0, #1] #endif #ifndef __ARMEB__ - orr r2, r2, r3, lsl #8 + orr r2, r2, rb, lsl #8 #else - orr r2, r3, r2, lsl #8 + orr r2, rb, r2, lsl #8 #endif mov r0, #0 mov pc, lr ENDPROC(__get_user_2) ENTRY(__get_user_4) + check_uaccess r0, 4, r1, r2, __get_user_bad 4: TUSER(ldr) r2, [r0] mov r0, #0 mov pc, lr --- linux-lowlatency-3.5.0.orig/arch/arm/lib/putuser.S +++ linux-lowlatency-3.5.0/arch/arm/lib/putuser.S @@ -16,6 +16,7 @@ * __put_user_X * * Inputs: r0 contains the address + * r1 contains the address limit, which must be preserved * r2, r3 contains the value * Outputs: r0 is the error code * lr corrupted @@ -27,16 +28,19 @@ * Note also that it is intended that __put_user_bad is not global. */ #include +#include #include #include ENTRY(__put_user_1) + check_uaccess r0, 1, r1, ip, __put_user_bad 1: TUSER(strb) r2, [r0] mov r0, #0 mov pc, lr ENDPROC(__put_user_1) ENTRY(__put_user_2) + check_uaccess r0, 2, r1, ip, __put_user_bad mov ip, r2, lsr #8 #ifdef CONFIG_THUMB2_KERNEL #ifndef __ARMEB__ @@ -60,12 +64,14 @@ ENDPROC(__put_user_2) ENTRY(__put_user_4) + check_uaccess r0, 4, r1, ip, __put_user_bad 4: TUSER(str) r2, [r0] mov r0, #0 mov pc, lr ENDPROC(__put_user_4) ENTRY(__put_user_8) + check_uaccess r0, 8, r1, ip, __put_user_bad #ifdef CONFIG_THUMB2_KERNEL 5: TUSER(str) r2, [r0] 6: TUSER(str) r3, [r0, #4] --- linux-lowlatency-3.5.0.orig/arch/arm/mach-at91/at91rm9200_devices.c +++ linux-lowlatency-3.5.0/arch/arm/mach-at91/at91rm9200_devices.c @@ -463,7 +463,7 @@ static struct platform_device at91rm9200_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-at91/at91sam9260_devices.c +++ linux-lowlatency-3.5.0/arch/arm/mach-at91/at91sam9260_devices.c @@ -471,7 +471,7 @@ static struct platform_device at91sam9260_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-at91/at91sam9261_devices.c +++ linux-lowlatency-3.5.0/arch/arm/mach-at91/at91sam9261_devices.c @@ -285,7 +285,7 @@ static struct platform_device at91sam9261_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-at91/at91sam9263_devices.c +++ linux-lowlatency-3.5.0/arch/arm/mach-at91/at91sam9263_devices.c @@ -542,7 +542,7 @@ static struct platform_device at91sam9263_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-at91/at91sam9rl_devices.c +++ linux-lowlatency-3.5.0/arch/arm/mach-at91/at91sam9rl_devices.c @@ -314,7 +314,7 @@ static struct platform_device at91sam9rl_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-at91/setup.c +++ linux-lowlatency-3.5.0/arch/arm/mach-at91/setup.c @@ -151,7 +151,7 @@ } /* at91sam9g10 */ - if ((cidr & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) { + if ((socid & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) { at91_soc_initdata.type = AT91_SOC_SAM9G10; at91_boot_soc = at91sam9261_soc; } --- linux-lowlatency-3.5.0.orig/arch/arm/mach-dove/irq.c +++ linux-lowlatency-3.5.0/arch/arm/mach-dove/irq.c @@ -61,8 +61,20 @@ int pin = irq_to_pmu(d->irq); u32 u; + /* + * The PMU mask register is not RW0C: it is RW. This means that + * the bits take whatever value is written to them; if you write + * a '1', you will set the interrupt. + * + * Unfortunately this means there is NO race free way to clear + * these interrupts. + * + * So, let's structure the code so that the window is as small as + * possible. + */ u = ~(1 << (pin & 31)); - writel(u, PMU_INTERRUPT_CAUSE); + u &= readl_relaxed(PMU_INTERRUPT_CAUSE); + writel_relaxed(u, PMU_INTERRUPT_CAUSE); } static struct irq_chip pmu_irq_chip = { --- linux-lowlatency-3.5.0.orig/arch/arm/mach-dove/include/mach/pm.h +++ linux-lowlatency-3.5.0/arch/arm/mach-dove/include/mach/pm.h @@ -45,7 +45,7 @@ static inline int irq_to_pmu(int irq) { - if (IRQ_DOVE_PMU_START < irq && irq < NR_IRQS) + if (IRQ_DOVE_PMU_START <= irq && irq < NR_IRQS) return irq - IRQ_DOVE_PMU_START; return -EINVAL; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-highbank/Makefile +++ linux-lowlatency-3.5.0/arch/arm/mach-highbank/Makefile @@ -1,4 +1,4 @@ -obj-y := clock.o highbank.o system.o smc.o +obj-y := highbank.o system.o smc.o plus_sec := $(call as-instr,.arch_extension sec,+sec) AFLAGS_smc.o :=-Wa,-march=armv7-a$(plus_sec) @@ -7,3 +7,5 @@ obj-$(CONFIG_SMP) += platsmp.o obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o obj-$(CONFIG_PM_SLEEP) += pm.o + +obj-y += pl320-ipc.o --- linux-lowlatency-3.5.0.orig/arch/arm/mach-highbank/system.c +++ linux-lowlatency-3.5.0/arch/arm/mach-highbank/system.c @@ -28,6 +28,7 @@ hignbank_set_pwr_soft_reset(); scu_power_mode(scu_base_addr, SCU_PM_POWEROFF); - cpu_do_idle(); + while (1) + cpu_do_idle(); } --- linux-lowlatency-3.5.0.orig/arch/arm/mach-highbank/highbank.c +++ linux-lowlatency-3.5.0/arch/arm/mach-highbank/highbank.c @@ -15,6 +15,8 @@ */ #include #include +#include +#include #include #include #include @@ -22,7 +24,9 @@ #include #include #include +#include #include +#include #include #include @@ -35,6 +39,7 @@ #include #include #include +#include #include "core.h" #include "sysregs.h" @@ -105,6 +110,11 @@ #endif } +static struct clk_lookup lookup = { + .dev_id = "sp804", + .con_id = NULL, +}; + static void __init highbank_timer_init(void) { int irq; @@ -122,6 +132,8 @@ irq = irq_of_parse_and_map(np, 0); highbank_clocks_init(); + lookup.clk = of_clk_get(np, 0); + clkdev_add(&lookup); sp804_clocksource_and_sched_clock_init(timer_base + 0x20, "timer1"); sp804_clockevents_init(timer_base, irq, "timer0"); @@ -142,9 +154,79 @@ cpu_do_idle(); } +static int hb_keys_notifier(struct notifier_block *nb, unsigned long event, void *data) +{ + u32 key = *(u32 *)data; + + if (event != 0x1000) + return 0; + + if (key == KEY_POWER) + orderly_poweroff(false); + else if (key == 0xffff) + ctrl_alt_del(); + + return 0; +} + +static struct notifier_block hb_keys_nb = { + .notifier_call = hb_keys_notifier, +}; + +static int highbank_platform_notifier(struct notifier_block *nb, + unsigned long event, void *__dev) +{ + struct resource *res; + int reg = -1; + struct device *dev = __dev; + + if (event != BUS_NOTIFY_ADD_DEVICE) + return NOTIFY_DONE; + + if (of_device_is_compatible(dev->of_node, "calxeda,hb-ahci")) + reg = 0xc; + else if (of_device_is_compatible(dev->of_node, "calxeda,hb-sdhci")) + reg = 0x18; + else if (of_device_is_compatible(dev->of_node, "arm,pl330")) + reg = 0x20; + else if (of_device_is_compatible(dev->of_node, "calxeda,hb-xgmac")) { + res = platform_get_resource(to_platform_device(dev), + IORESOURCE_MEM, 0); + if (res) { + if (res->start == 0xfff50000) + reg = 0; + else if (res->start == 0xfff51000) + reg = 4; + } + } + + if (reg < 0) + return NOTIFY_DONE; + + if (of_property_read_bool(dev->of_node, "dma-coherent")) { + writel(0xff31, sregs_base + reg); + set_dma_ops(dev, &arm_coherent_dma_ops); + } else + writel(0, sregs_base + reg); + + return NOTIFY_OK; +} + +static struct notifier_block highbank_amba_nb = { + .notifier_call = highbank_platform_notifier, +}; + +static struct notifier_block highbank_platform_nb = { + .notifier_call = highbank_platform_notifier, +}; + static void __init highbank_init(void) { pm_power_off = highbank_power_off; + pl320_ipc_register_notifier(&hb_keys_nb); + + bus_register_notifier(&platform_bus_type, &highbank_platform_nb); + bus_register_notifier(&amba_bustype, &highbank_amba_nb); of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); } --- linux-lowlatency-3.5.0.orig/arch/arm/mach-highbank/pl320-ipc.c +++ linux-lowlatency-3.5.0/arch/arm/mach-highbank/pl320-ipc.c @@ -0,0 +1,308 @@ +/* + * Copyright 2010 Calxeda, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, 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 General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define IPCMxSOURCE(m) ((m) * 0x40) +#define IPCMxDSET(m) (((m) * 0x40) + 0x004) +#define IPCMxDCLEAR(m) (((m) * 0x40) + 0x008) +#define IPCMxDSTATUS(m) (((m) * 0x40) + 0x00C) +#define IPCMxMODE(m) (((m) * 0x40) + 0x010) +#define IPCMxMSET(m) (((m) * 0x40) + 0x014) +#define IPCMxMCLEAR(m) (((m) * 0x40) + 0x018) +#define IPCMxMSTATUS(m) (((m) * 0x40) + 0x01C) +#define IPCMxSEND(m) (((m) * 0x40) + 0x020) +#define IPCMxDR(m, dr) (((m) * 0x40) + ((dr) * 4) + 0x024) + +#define IPCMMIS(irq) (((irq) * 8) + 0x800) +#define IPCMRIS(irq) (((irq) * 8) + 0x804) + +#define MBOX_MASK(n) (1 << (n)) +#define IPC_FAST_MBOX 0 +#define IPC_SLOW_MBOX 1 +#define IPC_RX_MBOX 2 + +#define CHAN_MASK(n) (1 << (n)) +#define A9_SOURCE 1 +#define M3_SOURCE 0 + +static void __iomem *ipc_base; +static int ipc_irq; +static DEFINE_SPINLOCK(ipc_m0_lock); +static DEFINE_MUTEX(ipc_m1_lock); +static DECLARE_COMPLETION(ipc_completion); +static ATOMIC_NOTIFIER_HEAD(ipc_notifier); + +static inline void set_destination(int source, int mbox) +{ + __raw_writel(CHAN_MASK(source), ipc_base + IPCMxDSET(mbox)); + __raw_writel(CHAN_MASK(source), ipc_base + IPCMxMSET(mbox)); +} + +static inline void clear_destination(int source, int mbox) +{ + __raw_writel(CHAN_MASK(source), ipc_base + IPCMxDCLEAR(mbox)); + __raw_writel(CHAN_MASK(source), ipc_base + IPCMxMCLEAR(mbox)); +} + +static void __ipc_send(int mbox, u32 *data) +{ + int i; + for (i = 0; i < 7; i++) + __raw_writel(data[i], ipc_base + IPCMxDR(mbox, i)); + __raw_writel(0x1, ipc_base + IPCMxSEND(mbox)); +} + +static u32 __ipc_rcv(int mbox, u32 *data) +{ + int i; + for (i = 0; i < 7; i++) + data[i] = __raw_readl(ipc_base + IPCMxDR(mbox, i)); + return data[1]; +} + +/* non-blocking implementation from the A9 side, interrupt safe in theory */ +int ipc_call_fast(u32 *data) +{ + int timeout, ret; + + spin_lock(&ipc_m0_lock); + + __ipc_send(IPC_FAST_MBOX, data); + + for (timeout = 5000; timeout > 0; timeout--) { + if (__raw_readl(ipc_base + IPCMxSEND(IPC_FAST_MBOX)) == 0x2) + break; + udelay(100); + } + if (timeout == 0) { + ret = -ETIMEDOUT; + goto out; + } + + ret = __ipc_rcv(IPC_FAST_MBOX, data); +out: + __raw_writel(0, ipc_base + IPCMxSEND(IPC_FAST_MBOX)); + spin_unlock(&ipc_m0_lock); + return ret; +} +EXPORT_SYMBOL(ipc_call_fast); + +/* blocking implmentation from the A9 side, not usuable in interrupts! */ +int ipc_call_slow(u32 *data) +{ + int ret; + + mutex_lock(&ipc_m1_lock); + + init_completion(&ipc_completion); + __ipc_send(IPC_SLOW_MBOX, data); + ret = wait_for_completion_timeout(&ipc_completion, + msecs_to_jiffies(1000)); + if (ret == 0) + goto out; + + ret = __ipc_rcv(IPC_SLOW_MBOX, data); +out: + mutex_unlock(&ipc_m1_lock); + return ret; +} +EXPORT_SYMBOL(ipc_call_slow); + +irqreturn_t ipc_handler(int irq, void *dev) +{ + u32 irq_stat; + u32 data[7]; + + irq_stat = __raw_readl(ipc_base + IPCMMIS(1)); + if (irq_stat & MBOX_MASK(IPC_SLOW_MBOX)) { + __raw_writel(0, ipc_base + IPCMxSEND(IPC_SLOW_MBOX)); + complete(&ipc_completion); + } + if (irq_stat & MBOX_MASK(IPC_RX_MBOX)) { + __ipc_rcv(IPC_RX_MBOX, data); + atomic_notifier_call_chain(&ipc_notifier, data[0], data + 1); + __raw_writel(2, ipc_base + IPCMxSEND(IPC_RX_MBOX)); + } + + return IRQ_HANDLED; +} + +int pl320_ipc_register_notifier(struct notifier_block *nb) +{ + return atomic_notifier_chain_register(&ipc_notifier, nb); +} + +int pl320_ipc_unregister_notifier(struct notifier_block *nb) +{ + return atomic_notifier_chain_unregister(&ipc_notifier, nb); +} + +static int __devinit pl320_probe(struct amba_device *adev, const struct amba_id *id) +{ + int ret; + + ipc_base = ioremap(adev->res.start, resource_size(&adev->res)); + if (ipc_base == NULL) + return -ENOMEM; + + __raw_writel(0, ipc_base + IPCMxSEND(IPC_FAST_MBOX)); + __raw_writel(0, ipc_base + IPCMxSEND(IPC_SLOW_MBOX)); + + ipc_irq = adev->irq[0]; + ret = request_irq(ipc_irq, ipc_handler, 0, dev_name(&adev->dev), NULL); + if (ret < 0) + goto err; + + /* Init fast mailbox */ + __raw_writel(CHAN_MASK(A9_SOURCE), ipc_base + IPCMxSOURCE(IPC_FAST_MBOX)); + set_destination(M3_SOURCE, IPC_FAST_MBOX); + + /* Init slow mailbox */ + __raw_writel(CHAN_MASK(A9_SOURCE), ipc_base + IPCMxSOURCE(IPC_SLOW_MBOX)); + __raw_writel(CHAN_MASK(M3_SOURCE), ipc_base + IPCMxDSET(IPC_SLOW_MBOX)); + __raw_writel(CHAN_MASK(M3_SOURCE) | CHAN_MASK(A9_SOURCE), + ipc_base + IPCMxMSET(IPC_SLOW_MBOX)); + + /* Init receive mailbox */ + __raw_writel(CHAN_MASK(M3_SOURCE), ipc_base + IPCMxSOURCE(IPC_RX_MBOX)); + __raw_writel(CHAN_MASK(A9_SOURCE), ipc_base + IPCMxDSET(IPC_RX_MBOX)); + __raw_writel(CHAN_MASK(M3_SOURCE) | CHAN_MASK(A9_SOURCE), + ipc_base + IPCMxMSET(IPC_RX_MBOX)); + + return 0; +err: + iounmap(ipc_base); + return ret; +} + +static struct amba_id pl320_ids[] = { + { + .id = 0x00041320, + .mask = 0x000fffff, + }, + { 0, 0 }, +}; + +static struct amba_driver pl320_driver = { + .drv = { + .name = "pl320", + }, + .id_table = pl320_ids, + .probe = pl320_probe, +}; + +static int __init ipc_init(void) +{ + return amba_driver_register(&pl320_driver); +} +module_init(ipc_init); + +irqreturn_t ipc_test_handler(int irq, void *dev) +{ + u32 irq_stat; + + irq_stat = __raw_readl(ipc_base + IPCMMIS(irq - (ipc_irq - 1))); + if (irq_stat & MBOX_MASK(IPC_FAST_MBOX)) { + if ((__raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 0)) == 0x900dbeef) && + (__raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 1)) == 1) && + (__raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 2)) == 2) && + (__raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 3)) == 3) && + (__raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 4)) == 4) && + (__raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 5)) == 5) && + (__raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 6)) == 6)) { + printk(KERN_ERR "ipc fast mbox message %X received\n", __raw_readl(ipc_base + IPCMxDR(IPC_FAST_MBOX, 0))); + __raw_writel(0xBADBEEF, ipc_base + IPCMxDR(IPC_FAST_MBOX, 1)); + } + __raw_writel(0x2, ipc_base + IPCMxSEND(IPC_FAST_MBOX)); + } + if (irq_stat & MBOX_MASK(IPC_SLOW_MBOX)) { + if ((__raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 0)) == 0x12345678) && + (__raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 1)) == 6) && + (__raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 2)) == 5) && + (__raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 3)) == 4) && + (__raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 4)) == 3) && + (__raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 5)) == 2) && + (__raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 6)) == 1)) { + printk("slow mbox message %X received\n", __raw_readl(ipc_base + IPCMxDR(IPC_SLOW_MBOX, 0))); + __raw_writel(0x87654321, ipc_base + IPCMxDR(IPC_SLOW_MBOX, 1)); + } + __raw_writel(0x2, ipc_base + IPCMxSEND(IPC_SLOW_MBOX)); + } + if (irq_stat & MBOX_MASK(IPC_RX_MBOX)) { + __raw_writel(0, ipc_base + IPCMxSEND(IPC_RX_MBOX)); + // handle events + } + + return IRQ_HANDLED; +} + +static void __init ipc_test(void) +{ + int ret, i; + + printk("ipc test start\n"); + + for (i = 0; i < 8; i++) { + u32 data[7]; + int j; + if (i == 1) continue; + + if (request_irq(ipc_irq - 1 + i, ipc_test_handler, 0, "ipc", NULL) < 0) { + printk("ipc - request_irq failed - FAIL\n"); + return; + } + + set_destination(i, IPC_FAST_MBOX); + set_destination(i, IPC_SLOW_MBOX); + + for (j = 1; j < 7; j++) + data[j] = j; + data[0] = 0x900dbeef; + ret = ipc_call_fast(data); + if (ret == 0xbadbeef) + printk(KERN_ERR "ipc %d fast call - PASS\n", i); + else + printk(KERN_ERR "ipc %d fast call fail %d\n", i, ret); + for (j = 1; j < 7; j++) + data[j] = 7 - j; + data[0] = 0x12345678; + ret = ipc_call_slow(data); + if (ret == 0x87654321) + printk("ipc %d slow call - PASS\n", i); + + clear_destination(i, IPC_FAST_MBOX); + clear_destination(i, IPC_SLOW_MBOX); + + free_irq(ipc_irq - 1 + i, NULL); + } + set_destination(M3_SOURCE, IPC_FAST_MBOX); + set_destination(M3_SOURCE, IPC_SLOW_MBOX); +} +//late_initcall(ipc_test); + --- linux-lowlatency-3.5.0.orig/arch/arm/mach-highbank/include/mach/pl320-ipc.h +++ linux-lowlatency-3.5.0/arch/arm/mach-highbank/include/mach/pl320-ipc.h @@ -0,0 +1,20 @@ +/* + * Copyright 2010 Calxeda, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, 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 General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +int ipc_call_fast(u32 *data); +int ipc_call_slow(u32 *data); + +extern int pl320_ipc_register_notifier(struct notifier_block *nb); +extern int pl320_ipc_unregister_notifier(struct notifier_block *nb); --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/Makefile +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/Makefile @@ -9,7 +9,8 @@ obj-$(CONFIG_SOC_IMX31) += mm-imx3.o cpu-imx31.o clk-imx31.o iomux-imx31.o ehci-imx31.o pm-imx3.o obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o clk-imx35.o ehci-imx35.o pm-imx3.o -obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o mm-imx5.o clk-imx51-imx53.o ehci-imx5.o pm-imx5.o cpu_op-mx51.o +imx5-pm-$(CONFIG_PM) += pm-imx5.o +obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o mm-imx5.o clk-imx51-imx53.o ehci-imx5.o $(imx5-pm-y) cpu_op-mx51.o obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \ clk-pfd.o clk-busy.o @@ -69,14 +70,13 @@ obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o obj-$(CONFIG_HAVE_IMX_SRC) += src.o -obj-$(CONFIG_CPU_V7) += head-v7.o -AFLAGS_head-v7.o :=-Wa,-march=armv7-a -obj-$(CONFIG_SMP) += platsmp.o +AFLAGS_headsmp.o :=-Wa,-march=armv7-a +obj-$(CONFIG_SMP) += headsmp.o platsmp.o obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o mach-imx6q.o ifeq ($(CONFIG_PM),y) -obj-$(CONFIG_SOC_IMX6Q) += pm-imx6q.o +obj-$(CONFIG_SOC_IMX6Q) += pm-imx6q.o headsmp.o endif # i.MX5 based machines --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/clk-imx25.c +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/clk-imx25.c @@ -222,10 +222,8 @@ clk_register_clkdev(clk[lcdc_ipg], "ipg", "imx-fb.0"); clk_register_clkdev(clk[lcdc_ahb], "ahb", "imx-fb.0"); clk_register_clkdev(clk[wdt_ipg], NULL, "imx2-wdt.0"); - clk_register_clkdev(clk[ssi1_ipg_per], "per", "imx-ssi.0"); - clk_register_clkdev(clk[ssi1_ipg], "ipg", "imx-ssi.0"); - clk_register_clkdev(clk[ssi2_ipg_per], "per", "imx-ssi.1"); - clk_register_clkdev(clk[ssi2_ipg], "ipg", "imx-ssi.1"); + clk_register_clkdev(clk[ssi1_ipg], NULL, "imx-ssi.0"); + clk_register_clkdev(clk[ssi2_ipg], NULL, "imx-ssi.1"); clk_register_clkdev(clk[esdhc1_ipg_per], "per", "sdhci-esdhc-imx25.0"); clk_register_clkdev(clk[esdhc1_ipg], "ipg", "sdhci-esdhc-imx25.0"); clk_register_clkdev(clk[esdhc1_ahb], "ahb", "sdhci-esdhc-imx25.0"); --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/clk-imx31.c +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/clk-imx31.c @@ -129,7 +129,7 @@ clk_register_clkdev(clk[nfc], NULL, "mxc_nand.0"); clk_register_clkdev(clk[ipu_gate], NULL, "ipu-core"); clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb"); - clk_register_clkdev(clk[kpp_gate], "kpp", NULL); + clk_register_clkdev(clk[kpp_gate], NULL, "imx-keypad"); clk_register_clkdev(clk[usb_div_post], "per", "mxc-ehci.0"); clk_register_clkdev(clk[usb_gate], "ahb", "mxc-ehci.0"); clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.0"); --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/clk-imx35.c +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/clk-imx35.c @@ -230,10 +230,8 @@ clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb"); clk_register_clkdev(clk[owire_gate], NULL, "mxc_w1"); clk_register_clkdev(clk[sdma_gate], NULL, "imx35-sdma"); - clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.0"); - clk_register_clkdev(clk[ssi1_div_post], "per", "imx-ssi.0"); - clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.1"); - clk_register_clkdev(clk[ssi2_div_post], "per", "imx-ssi.1"); + clk_register_clkdev(clk[ssi1_gate], NULL, "imx-ssi.0"); + clk_register_clkdev(clk[ssi2_gate], NULL, "imx-ssi.1"); /* i.mx35 has the i.mx21 type uart */ clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0"); clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.0"); --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/clk-imx51-imx53.c +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/clk-imx51-imx53.c @@ -293,6 +293,7 @@ clk_prepare_enable(clk[aips_tz2]); /* fec */ clk_prepare_enable(clk[spba]); clk_prepare_enable(clk[emi_fast_gate]); /* fec */ + clk_prepare_enable(clk[emi_slow_gate]); /* eim */ clk_prepare_enable(clk[tmax1]); clk_prepare_enable(clk[tmax2]); /* esdhc2, fec */ clk_prepare_enable(clk[tmax3]); /* esdhc1, esdhc4 */ --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/ehci-imx25.c +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/ehci-imx25.c @@ -27,7 +27,7 @@ #define MX25_H1_SIC_SHIFT 21 #define MX25_H1_SIC_MASK (0x3 << MX25_H1_SIC_SHIFT) -#define MX25_H1_PM_BIT (1 << 8) +#define MX25_H1_PM_BIT (1 << 16) #define MX25_H1_IPPUE_UP_BIT (1 << 7) #define MX25_H1_IPPUE_DOWN_BIT (1 << 6) #define MX25_H1_TLL_BIT (1 << 5) --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/ehci-imx35.c +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/ehci-imx35.c @@ -27,7 +27,7 @@ #define MX35_H1_SIC_SHIFT 21 #define MX35_H1_SIC_MASK (0x3 << MX35_H1_SIC_SHIFT) -#define MX35_H1_PM_BIT (1 << 8) +#define MX35_H1_PM_BIT (1 << 16) #define MX35_H1_IPPUE_UP_BIT (1 << 7) #define MX35_H1_IPPUE_DOWN_BIT (1 << 6) #define MX35_H1_TLL_BIT (1 << 5) --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/hotplug.c +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/hotplug.c @@ -42,22 +42,6 @@ : "cc"); } -static inline void cpu_leave_lowpower(void) -{ - unsigned int v; - - asm volatile( - "mrc p15, 0, %0, c1, c0, 0\n" - " orr %0, %0, %1\n" - " mcr p15, 0, %0, c1, c0, 0\n" - " mrc p15, 0, %0, c1, c0, 1\n" - " orr %0, %0, %2\n" - " mcr p15, 0, %0, c1, c0, 1\n" - : "=&r" (v) - : "Ir" (CR_C), "Ir" (0x40) - : "cc"); -} - /* * platform-specific code to shutdown a CPU * @@ -67,11 +51,10 @@ { cpu_enter_lowpower(); imx_enable_cpu(cpu, false); - cpu_do_idle(); - cpu_leave_lowpower(); - /* We should never return from idle */ - panic("cpu %d unexpectedly exit from shutdown\n", cpu); + /* spin here until hardware takes it down */ + while (1) + ; } int platform_cpu_disable(unsigned int cpu) --- linux-lowlatency-3.5.0.orig/arch/arm/mach-imx/headsmp.S +++ linux-lowlatency-3.5.0/arch/arm/mach-imx/headsmp.S @@ -0,0 +1,106 @@ +/* + * Copyright 2011 Freescale Semiconductor, Inc. + * Copyright 2011 Linaro Ltd. + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +#include +#include +#include +#include + + .section ".text.head", "ax" + +/* + * The secondary kernel init calls v7_flush_dcache_all before it enables + * the L1; however, the L1 comes out of reset in an undefined state, so + * the clean + invalidate performed by v7_flush_dcache_all causes a bunch + * of cache lines with uninitialized data and uninitialized tags to get + * written out to memory, which does really unpleasant things to the main + * processor. We fix this by performing an invalidate, rather than a + * clean + invalidate, before jumping into the kernel. + * + * This funciton is cloned from arch/arm/mach-tegra/headsmp.S, and needs + * to be called for both secondary cores startup and primary core resume + * procedures. Ideally, it should be moved into arch/arm/mm/cache-v7.S. + */ +ENTRY(v7_invalidate_l1) + mov r0, #0 + mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache + mcr p15, 2, r0, c0, c0, 0 + mrc p15, 1, r0, c0, c0, 0 + + ldr r1, =0x7fff + and r2, r1, r0, lsr #13 + + ldr r1, =0x3ff + + and r3, r1, r0, lsr #3 @ NumWays - 1 + add r2, r2, #1 @ NumSets + + and r0, r0, #0x7 + add r0, r0, #4 @ SetShift + + clz r1, r3 @ WayShift + add r4, r3, #1 @ NumWays +1: sub r2, r2, #1 @ NumSets-- + mov r3, r4 @ Temp = NumWays +2: subs r3, r3, #1 @ Temp-- + mov r5, r3, lsl r1 + mov r6, r2, lsl r0 + orr r5, r5, r6 @ Reg = (Temp<bus->parent == NULL && dev->devfn == 0) { int i; + dev->class &= 0xff; + dev->class |= PCI_CLASS_BRIDGE_HOST << 8; for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { dev->resource[i].start = 0; dev->resource[i].end = 0; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-omap2/clock3xxx_data.c +++ linux-lowlatency-3.5.0/arch/arm/mach-omap2/clock3xxx_data.c @@ -3390,16 +3390,16 @@ CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), CLK(NULL, "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), - CLK("usbhs_omap", "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), - CLK("usbhs_omap", "utmi_p1_gfclk", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "utmi_p2_gfclk", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "xclk60mhsp1_ck", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "xclk60mhsp2_ck", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "usb_host_hs_utmi_p1_clk", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "usb_host_hs_utmi_p2_clk", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "usb_tll_hs_usb_ch0_clk", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "usb_tll_hs_usb_ch1_clk", &dummy_ck, CK_3XXX), - CLK("usbhs_omap", "init_60m_fclk", &dummy_ck, CK_3XXX), + CLK(NULL, "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX), + CLK(NULL, "utmi_p1_gfclk", &dummy_ck, CK_3XXX), + CLK(NULL, "utmi_p2_gfclk", &dummy_ck, CK_3XXX), + CLK(NULL, "xclk60mhsp1_ck", &dummy_ck, CK_3XXX), + CLK(NULL, "xclk60mhsp2_ck", &dummy_ck, CK_3XXX), + CLK(NULL, "usb_host_hs_utmi_p1_clk", &dummy_ck, CK_3XXX), + CLK(NULL, "usb_host_hs_utmi_p2_clk", &dummy_ck, CK_3XXX), + CLK(NULL, "usb_tll_hs_usb_ch0_clk", &dummy_ck, CK_3XXX), + CLK(NULL, "usb_tll_hs_usb_ch1_clk", &dummy_ck, CK_3XXX), + CLK(NULL, "init_60m_fclk", &dummy_ck, CK_3XXX), CLK(NULL, "usim_fck", &usim_fck, CK_3430ES2PLUS | CK_36XX), CLK(NULL, "gpt1_fck", &gpt1_fck, CK_3XXX), CLK(NULL, "wkup_32k_fck", &wkup_32k_fck, CK_3XXX), --- linux-lowlatency-3.5.0.orig/arch/arm/mach-omap2/opp.c +++ linux-lowlatency-3.5.0/arch/arm/mach-omap2/opp.c @@ -53,7 +53,7 @@ omap_table_init = 1; /* Lets now register with OPP library */ - for (i = 0; i < opp_def_size; i++) { + for (i = 0; i < opp_def_size; i++, opp_def++) { struct omap_hwmod *oh; struct device *dev; @@ -86,7 +86,6 @@ __func__, opp_def->freq, opp_def->hwmod_name, i, r); } - opp_def++; } return 0; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-omap2/timer.c +++ linux-lowlatency-3.5.0/arch/arm/mach-omap2/timer.c @@ -263,6 +263,7 @@ return 0; } +#ifdef CONFIG_OMAP_32K_TIMER /* Setup free-running counter for clocksource */ static int __init omap2_sync32k_clocksource_init(void) { @@ -302,6 +303,12 @@ return ret; } +#else +static inline int omap2_sync32k_clocksource_init(void) +{ + return -ENODEV; +} +#endif static void __init omap2_gptimer_clocksource_init(int gptimer_id, const char *fck_source) --- linux-lowlatency-3.5.0.orig/arch/arm/mach-pxa/raumfeld.c +++ linux-lowlatency-3.5.0/arch/arm/mach-pxa/raumfeld.c @@ -953,12 +953,12 @@ static struct eeti_ts_platform_data eeti_ts_pdata = { .irq_active_high = 1, + .irq_gpio = GPIO_TOUCH_IRQ, }; static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = { .type = "eeti_ts", .addr = 0x0a, - .irq = PXA_GPIO_TO_IRQ(GPIO_TOUCH_IRQ), .platform_data = &eeti_ts_pdata, }; --- linux-lowlatency-3.5.0.orig/arch/arm/mach-s3c24xx/include/mach/dma.h +++ linux-lowlatency-3.5.0/arch/arm/mach-s3c24xx/include/mach/dma.h @@ -24,7 +24,8 @@ */ enum dma_ch { - DMACH_XD0, + DMACH_DT_PROP = -1, /* not yet supported, do not use */ + DMACH_XD0 = 0, DMACH_XD1, DMACH_SDI, DMACH_SPI0, --- linux-lowlatency-3.5.0.orig/arch/arm/mm/dma-mapping.c +++ linux-lowlatency-3.5.0/arch/arm/mm/dma-mapping.c @@ -72,11 +72,18 @@ unsigned long offset, size_t size, enum dma_data_direction dir, struct dma_attrs *attrs) { - if (!arch_is_coherent()) + if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) __dma_page_cpu_to_dev(page, offset, size, dir); return pfn_to_dma(dev, page_to_pfn(page)) + offset; } +static dma_addr_t arm_coherent_dma_map_page(struct device *dev, struct page *page, + unsigned long offset, size_t size, enum dma_data_direction dir, + struct dma_attrs *attrs) +{ + return pfn_to_dma(dev, page_to_pfn(page)) + offset; +} + /** * arm_dma_unmap_page - unmap a buffer previously mapped through dma_map_page() * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices @@ -95,7 +102,7 @@ size_t size, enum dma_data_direction dir, struct dma_attrs *attrs) { - if (!arch_is_coherent()) + if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) __dma_page_dev_to_cpu(pfn_to_page(dma_to_pfn(dev, handle)), handle & ~PAGE_MASK, size, dir); } @@ -105,8 +112,7 @@ { unsigned int offset = handle & (PAGE_SIZE - 1); struct page *page = pfn_to_page(dma_to_pfn(dev, handle-offset)); - if (!arch_is_coherent()) - __dma_page_dev_to_cpu(page, offset, size, dir); + __dma_page_dev_to_cpu(page, offset, size, dir); } static void arm_dma_sync_single_for_device(struct device *dev, @@ -114,8 +120,7 @@ { unsigned int offset = handle & (PAGE_SIZE - 1); struct page *page = pfn_to_page(dma_to_pfn(dev, handle-offset)); - if (!arch_is_coherent()) - __dma_page_cpu_to_dev(page, offset, size, dir); + __dma_page_cpu_to_dev(page, offset, size, dir); } static int arm_dma_set_mask(struct device *dev, u64 dma_mask); @@ -136,6 +141,21 @@ }; EXPORT_SYMBOL(arm_dma_ops); +static void *arm_coherent_dma_alloc(struct device *dev, size_t size, + dma_addr_t *handle, gfp_t gfp, struct dma_attrs *attrs); +static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr, + dma_addr_t handle, struct dma_attrs *attrs); + +struct dma_map_ops arm_coherent_dma_ops = { + .alloc = arm_coherent_dma_alloc, + .free = arm_coherent_dma_free, + .mmap = arm_dma_mmap, + .map_page = arm_coherent_dma_map_page, + .map_sg = arm_dma_map_sg, + .set_dma_mask = arm_dma_set_mask, +}; +EXPORT_SYMBOL(arm_coherent_dma_ops); + static u64 get_coherent_dma_mask(struct device *dev) { u64 mask = (u64)arm_dma_limit; @@ -667,7 +687,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, - gfp_t gfp, pgprot_t prot, const void *caller) + gfp_t gfp, pgprot_t prot, bool is_coherent, const void *caller) { u64 mask = get_coherent_dma_mask(dev); struct page *page; @@ -700,7 +720,7 @@ *handle = DMA_ERROR_CODE; size = PAGE_ALIGN(size); - if (arch_is_coherent() || nommu()) + if (is_coherent || nommu()) addr = __alloc_simple_buffer(dev, size, gfp, &page); else if (!IS_ENABLED(CONFIG_CMA)) addr = __alloc_remap_buffer(dev, size, gfp, prot, &page, caller); @@ -728,7 +748,20 @@ if (dma_alloc_from_coherent(dev, size, handle, &memory)) return memory; - return __dma_alloc(dev, size, handle, gfp, prot, + return __dma_alloc(dev, size, handle, gfp, prot, false, + __builtin_return_address(0)); +} + +static void *arm_coherent_dma_alloc(struct device *dev, size_t size, + dma_addr_t *handle, gfp_t gfp, struct dma_attrs *attrs) +{ + pgprot_t prot = __get_dma_pgprot(attrs, pgprot_kernel); + void *memory; + + if (dma_alloc_from_coherent(dev, size, handle, &memory)) + return memory; + + return __dma_alloc(dev, size, handle, gfp, prot, true, __builtin_return_address(0)); } @@ -759,8 +792,9 @@ /* * Free a buffer as defined by the above mapping. */ -void arm_dma_free(struct device *dev, size_t size, void *cpu_addr, - dma_addr_t handle, struct dma_attrs *attrs) +static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, + dma_addr_t handle, struct dma_attrs *attrs, + bool is_coherent) { struct page *page = pfn_to_page(dma_to_pfn(dev, handle)); @@ -769,7 +803,7 @@ size = PAGE_ALIGN(size); - if (arch_is_coherent() || nommu()) { + if (is_coherent || nommu()) { __dma_free_buffer(page, size); } else if (!IS_ENABLED(CONFIG_CMA)) { __dma_free_remap(cpu_addr, size); @@ -785,6 +819,18 @@ } } +void arm_dma_free(struct device *dev, size_t size, void *cpu_addr, + dma_addr_t handle, struct dma_attrs *attrs) +{ + __arm_dma_free(dev, size, cpu_addr, handle, attrs, false); +} + +static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr, + dma_addr_t handle, struct dma_attrs *attrs) +{ + __arm_dma_free(dev, size, cpu_addr, handle, attrs, true); +} + static void dma_cache_maint_page(struct page *page, unsigned long offset, size_t size, enum dma_data_direction dir, void (*op)(const void *, size_t, int)) @@ -1317,7 +1363,8 @@ */ static int __map_sg_chunk(struct device *dev, struct scatterlist *sg, size_t size, dma_addr_t *handle, - enum dma_data_direction dir) + enum dma_data_direction dir, struct dma_attrs *attrs, + bool is_coherent) { struct dma_iommu_mapping *mapping = dev->archdata.mapping; dma_addr_t iova, iova_base; @@ -1336,7 +1383,8 @@ phys_addr_t phys = page_to_phys(sg_page(s)); unsigned int len = PAGE_ALIGN(s->offset + s->length); - if (!arch_is_coherent()) + if (!is_coherent && + !dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) __dma_page_cpu_to_dev(sg_page(s), s->offset, s->length, dir); ret = iommu_map(mapping->domain, iova, phys, len, 0); @@ -1354,20 +1402,9 @@ return ret; } -/** - * arm_iommu_map_sg - map a set of SG buffers for streaming mode DMA - * @dev: valid struct device pointer - * @sg: list of buffers - * @nents: number of buffers to map - * @dir: DMA transfer direction - * - * Map a set of buffers described by scatterlist in streaming mode for DMA. - * The scatter gather list elements are merged together (if possible) and - * tagged with the appropriate dma address and length. They are obtained via - * sg_dma_{address,length}. - */ -int arm_iommu_map_sg(struct device *dev, struct scatterlist *sg, int nents, - enum dma_data_direction dir, struct dma_attrs *attrs) +static int __iommu_map_sg(struct device *dev, struct scatterlist *sg, int nents, + enum dma_data_direction dir, struct dma_attrs *attrs, + bool is_coherent) { struct scatterlist *s = sg, *dma = sg, *start = sg; int i, count = 0; @@ -1383,7 +1420,7 @@ if (s->offset || (size & ~PAGE_MASK) || size + s->length > max) { if (__map_sg_chunk(dev, start, size, &dma->dma_address, - dir) < 0) + dir, attrs, is_coherent) < 0) goto bad_mapping; dma->dma_address += offset; @@ -1396,7 +1433,8 @@ } size += s->length; } - if (__map_sg_chunk(dev, start, size, &dma->dma_address, dir) < 0) + if (__map_sg_chunk(dev, start, size, &dma->dma_address, dir, attrs, + is_coherent) < 0) goto bad_mapping; dma->dma_address += offset; @@ -1411,17 +1449,44 @@ } /** - * arm_iommu_unmap_sg - unmap a set of SG buffers mapped by dma_map_sg + * arm_coherent_iommu_map_sg - map a set of SG buffers for streaming mode DMA * @dev: valid struct device pointer * @sg: list of buffers - * @nents: number of buffers to unmap (same as was passed to dma_map_sg) - * @dir: DMA transfer direction (same as was passed to dma_map_sg) + * @nents: number of buffers to map + * @dir: DMA transfer direction * - * Unmap a set of streaming mode DMA translations. Again, CPU access - * rules concerning calls here are the same as for dma_unmap_single(). + * Map a set of i/o coherent buffers described by scatterlist in streaming + * mode for DMA. The scatter gather list elements are merged together (if + * possible) and tagged with the appropriate dma address and length. They are + * obtained via sg_dma_{address,length}. */ -void arm_iommu_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, - enum dma_data_direction dir, struct dma_attrs *attrs) +int arm_coherent_iommu_map_sg(struct device *dev, struct scatterlist *sg, + int nents, enum dma_data_direction dir, struct dma_attrs *attrs) +{ + return __iommu_map_sg(dev, sg, nents, dir, attrs, true); +} + +/** + * arm_iommu_map_sg - map a set of SG buffers for streaming mode DMA + * @dev: valid struct device pointer + * @sg: list of buffers + * @nents: number of buffers to map + * @dir: DMA transfer direction + * + * Map a set of buffers described by scatterlist in streaming mode for DMA. + * The scatter gather list elements are merged together (if possible) and + * tagged with the appropriate dma address and length. They are obtained via + * sg_dma_{address,length}. + */ +int arm_iommu_map_sg(struct device *dev, struct scatterlist *sg, + int nents, enum dma_data_direction dir, struct dma_attrs *attrs) +{ + return __iommu_map_sg(dev, sg, nents, dir, attrs, false); +} + +static void __iommu_unmap_sg(struct device *dev, struct scatterlist *sg, + int nents, enum dma_data_direction dir, struct dma_attrs *attrs, + bool is_coherent) { struct scatterlist *s; int i; @@ -1430,13 +1495,46 @@ if (sg_dma_len(s)) __iommu_remove_mapping(dev, sg_dma_address(s), sg_dma_len(s)); - if (!arch_is_coherent()) + if (!is_coherent && + !dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) __dma_page_dev_to_cpu(sg_page(s), s->offset, s->length, dir); } } /** + * arm_coherent_iommu_unmap_sg - unmap a set of SG buffers mapped by dma_map_sg + * @dev: valid struct device pointer + * @sg: list of buffers + * @nents: number of buffers to unmap (same as was passed to dma_map_sg) + * @dir: DMA transfer direction (same as was passed to dma_map_sg) + * + * Unmap a set of streaming mode DMA translations. Again, CPU access + * rules concerning calls here are the same as for dma_unmap_single(). + */ +void arm_coherent_iommu_unmap_sg(struct device *dev, struct scatterlist *sg, + int nents, enum dma_data_direction dir, struct dma_attrs *attrs) +{ + __iommu_unmap_sg(dev, sg, nents, dir, attrs, true); +} + +/** + * arm_iommu_unmap_sg - unmap a set of SG buffers mapped by dma_map_sg + * @dev: valid struct device pointer + * @sg: list of buffers + * @nents: number of buffers to unmap (same as was passed to dma_map_sg) + * @dir: DMA transfer direction (same as was passed to dma_map_sg) + * + * Unmap a set of streaming mode DMA translations. Again, CPU access + * rules concerning calls here are the same as for dma_unmap_single(). + */ +void arm_iommu_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, + enum dma_data_direction dir, struct dma_attrs *attrs) +{ + __iommu_unmap_sg(dev, sg, nents, dir, attrs, false); +} + +/** * arm_iommu_sync_sg_for_cpu * @dev: valid struct device pointer * @sg: list of buffers @@ -1450,8 +1548,7 @@ int i; for_each_sg(sg, s, nents, i) - if (!arch_is_coherent()) - __dma_page_dev_to_cpu(sg_page(s), s->offset, s->length, dir); + __dma_page_dev_to_cpu(sg_page(s), s->offset, s->length, dir); } @@ -1469,22 +1566,21 @@ int i; for_each_sg(sg, s, nents, i) - if (!arch_is_coherent()) - __dma_page_cpu_to_dev(sg_page(s), s->offset, s->length, dir); + __dma_page_cpu_to_dev(sg_page(s), s->offset, s->length, dir); } /** - * arm_iommu_map_page + * arm_coherent_iommu_map_page * @dev: valid struct device pointer * @page: page that buffer resides in * @offset: offset into page for start of buffer * @size: size of buffer to map * @dir: DMA transfer direction * - * IOMMU aware version of arm_dma_map_page() + * Coherent IOMMU aware version of arm_dma_map_page() */ -static dma_addr_t arm_iommu_map_page(struct device *dev, struct page *page, +static dma_addr_t arm_coherent_iommu_map_page(struct device *dev, struct page *page, unsigned long offset, size_t size, enum dma_data_direction dir, struct dma_attrs *attrs) { @@ -1492,9 +1588,6 @@ dma_addr_t dma_addr; int ret, len = PAGE_ALIGN(size + offset); - if (!arch_is_coherent()) - __dma_page_cpu_to_dev(page, offset, size, dir); - dma_addr = __alloc_iova(mapping, len); if (dma_addr == DMA_ERROR_CODE) return dma_addr; @@ -1510,6 +1603,52 @@ } /** + * arm_iommu_map_page + * @dev: valid struct device pointer + * @page: page that buffer resides in + * @offset: offset into page for start of buffer + * @size: size of buffer to map + * @dir: DMA transfer direction + * + * IOMMU aware version of arm_dma_map_page() + */ +static dma_addr_t arm_iommu_map_page(struct device *dev, struct page *page, + unsigned long offset, size_t size, enum dma_data_direction dir, + struct dma_attrs *attrs) +{ + if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) + __dma_page_cpu_to_dev(page, offset, size, dir); + + return arm_coherent_iommu_map_page(dev, page, offset, size, dir, attrs); +} + +/** + * arm_coherent_iommu_unmap_page + * @dev: valid struct device pointer + * @handle: DMA address of buffer + * @size: size of buffer (same as passed to dma_map_page) + * @dir: DMA transfer direction (same as passed to dma_map_page) + * + * Coherent IOMMU aware version of arm_dma_unmap_page() + */ +static void arm_coherent_iommu_unmap_page(struct device *dev, dma_addr_t handle, + size_t size, enum dma_data_direction dir, + struct dma_attrs *attrs) +{ + struct dma_iommu_mapping *mapping = dev->archdata.mapping; + dma_addr_t iova = handle & PAGE_MASK; + struct page *page = phys_to_page(iommu_iova_to_phys(mapping->domain, iova)); + int offset = handle & ~PAGE_MASK; + int len = PAGE_ALIGN(size + offset); + + if (!iova) + return; + + iommu_unmap(mapping->domain, iova, len); + __free_iova(mapping, iova, len); +} + +/** * arm_iommu_unmap_page * @dev: valid struct device pointer * @handle: DMA address of buffer @@ -1531,7 +1670,7 @@ if (!iova) return; - if (!arch_is_coherent()) + if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs)) __dma_page_dev_to_cpu(page, offset, size, dir); iommu_unmap(mapping->domain, iova, len); @@ -1549,8 +1688,7 @@ if (!iova) return; - if (!arch_is_coherent()) - __dma_page_dev_to_cpu(page, offset, size, dir); + __dma_page_dev_to_cpu(page, offset, size, dir); } static void arm_iommu_sync_single_for_device(struct device *dev, @@ -1583,6 +1721,19 @@ .sync_sg_for_device = arm_iommu_sync_sg_for_device, }; +struct dma_map_ops iommu_coherent_ops = { + .alloc = arm_iommu_alloc_attrs, + .free = arm_iommu_free_attrs, + .mmap = arm_iommu_mmap_attrs, + .get_sgtable = arm_iommu_get_sgtable, + + .map_page = arm_coherent_iommu_map_page, + .unmap_page = arm_coherent_iommu_unmap_page, + + .map_sg = arm_coherent_iommu_map_sg, + .unmap_sg = arm_coherent_iommu_unmap_sg, +}; + /** * arm_iommu_create_mapping * @bus: pointer to the bus holding the client device (for IOMMU calls) --- linux-lowlatency-3.5.0.orig/arch/arm/mm/flush.c +++ linux-lowlatency-3.5.0/arch/arm/mm/flush.c @@ -231,8 +231,6 @@ struct page *page; struct address_space *mapping; - if (!pte_present_user(pteval)) - return; if (cache_is_vipt_nonaliasing() && !pte_exec(pteval)) /* only flush non-aliasing VIPT caches for exec mappings */ return; --- linux-lowlatency-3.5.0.orig/arch/arm/mm/mm.h +++ linux-lowlatency-3.5.0/arch/arm/mm/mm.h @@ -55,6 +55,9 @@ /* permanent static mappings from iotable_init() */ #define VM_ARM_STATIC_MAPPING 0x40000000 +/* empty mapping */ +#define VM_ARM_EMPTY_MAPPING 0x20000000 + /* mapping type (attributes) for permanent static mappings */ #define VM_ARM_MTYPE(mt) ((mt) << 20) #define VM_ARM_MTYPE_MASK (0x1f << 20) --- linux-lowlatency-3.5.0.orig/arch/arm/mm/mmu.c +++ linux-lowlatency-3.5.0/arch/arm/mm/mmu.c @@ -813,7 +813,7 @@ vm = early_alloc_aligned(sizeof(*vm), __alignof__(*vm)); vm->addr = (void *)addr; vm->size = SECTION_SIZE; - vm->flags = VM_IOREMAP | VM_ARM_STATIC_MAPPING; + vm->flags = VM_IOREMAP | VM_ARM_EMPTY_MAPPING; vm->caller = pmd_empty_section_gap; vm_area_add_early(vm); } @@ -826,7 +826,7 @@ /* we're still single threaded hence no lock needed here */ for (vm = vmlist; vm; vm = vm->next) { - if (!(vm->flags & VM_ARM_STATIC_MAPPING)) + if (!(vm->flags & (VM_ARM_STATIC_MAPPING | VM_ARM_EMPTY_MAPPING))) continue; addr = (unsigned long)vm->addr; if (addr < next) --- linux-lowlatency-3.5.0.orig/arch/arm/mm/tlb-v7.S +++ linux-lowlatency-3.5.0/arch/arm/mm/tlb-v7.S @@ -39,10 +39,18 @@ mov r0, r0, lsr #PAGE_SHIFT @ align address mov r1, r1, lsr #PAGE_SHIFT asid r3, r3 @ mask ASID +#ifdef CONFIG_ARM_ERRATA_720789 + ALT_SMP(W(mov) r3, #0 ) + ALT_UP(W(nop) ) +#endif orr r0, r3, r0, lsl #PAGE_SHIFT @ Create initial MVA mov r1, r1, lsl #PAGE_SHIFT 1: +#ifdef CONFIG_ARM_ERRATA_720789 + ALT_SMP(mcr p15, 0, r0, c8, c3, 3) @ TLB invalidate U MVA all ASID (shareable) +#else ALT_SMP(mcr p15, 0, r0, c8, c3, 1) @ TLB invalidate U MVA (shareable) +#endif ALT_UP(mcr p15, 0, r0, c8, c7, 1) @ TLB invalidate U MVA add r0, r0, #PAGE_SZ @@ -67,7 +75,11 @@ mov r0, r0, lsl #PAGE_SHIFT mov r1, r1, lsl #PAGE_SHIFT 1: +#ifdef CONFIG_ARM_ERRATA_720789 + ALT_SMP(mcr p15, 0, r0, c8, c3, 3) @ TLB invalidate U MVA all ASID (shareable) +#else ALT_SMP(mcr p15, 0, r0, c8, c3, 1) @ TLB invalidate U MVA (shareable) +#endif ALT_UP(mcr p15, 0, r0, c8, c7, 1) @ TLB invalidate U MVA add r0, r0, #PAGE_SZ cmp r0, r1 --- linux-lowlatency-3.5.0.orig/arch/arm/plat-omap/counter_32k.c +++ linux-lowlatency-3.5.0/arch/arm/plat-omap/counter_32k.c @@ -52,22 +52,29 @@ * nsecs and adds to a monotonically increasing timespec. */ static struct timespec persistent_ts; -static cycles_t cycles, last_cycles; +static cycles_t cycles; static unsigned int persistent_mult, persistent_shift; +static DEFINE_SPINLOCK(read_persistent_clock_lock); + static void omap_read_persistent_clock(struct timespec *ts) { unsigned long long nsecs; - cycles_t delta; - struct timespec *tsp = &persistent_ts; + cycles_t last_cycles; + unsigned long flags; + + spin_lock_irqsave(&read_persistent_clock_lock, flags); last_cycles = cycles; cycles = sync32k_cnt_reg ? __raw_readl(sync32k_cnt_reg) : 0; - delta = cycles - last_cycles; - nsecs = clocksource_cyc2ns(delta, persistent_mult, persistent_shift); + nsecs = clocksource_cyc2ns(cycles - last_cycles, + persistent_mult, persistent_shift); + + timespec_add_ns(&persistent_ts, nsecs); + + *ts = persistent_ts; - timespec_add_ns(tsp, nsecs); - *ts = *tsp; + spin_unlock_irqrestore(&read_persistent_clock_lock, flags); } /** --- linux-lowlatency-3.5.0.orig/arch/arm/plat-omap/dmtimer.c +++ linux-lowlatency-3.5.0/arch/arm/plat-omap/dmtimer.c @@ -236,7 +236,7 @@ void omap_dm_timer_disable(struct omap_dm_timer *timer) { - pm_runtime_put(&timer->pdev->dev); + pm_runtime_put_sync(&timer->pdev->dev); } EXPORT_SYMBOL_GPL(omap_dm_timer_disable); --- linux-lowlatency-3.5.0.orig/arch/arm/plat-s3c24xx/dma.c +++ linux-lowlatency-3.5.0/arch/arm/plat-s3c24xx/dma.c @@ -430,7 +430,7 @@ * when necessary. */ -int s3c2410_dma_enqueue(unsigned int channel, void *id, +int s3c2410_dma_enqueue(enum dma_ch channel, void *id, dma_addr_t data, int size) { struct s3c2410_dma_chan *chan = s3c_dma_lookup_channel(channel); --- linux-lowlatency-3.5.0.orig/arch/arm/vfp/entry.S +++ linux-lowlatency-3.5.0/arch/arm/vfp/entry.S @@ -7,18 +7,20 @@ * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. - * - * Basic entry code, called from the kernel's undefined instruction trap. - * r0 = faulted instruction - * r5 = faulted PC+4 - * r9 = successful return - * r10 = thread_info structure - * lr = failure return */ #include #include #include "../kernel/entry-header.S" +@ VFP entry point. +@ +@ r0 = instruction opcode (32-bit ARM or two 16-bit Thumb) +@ r2 = PC value to resume execution after successful emulation +@ r9 = normal "successful" return address +@ r10 = this threads thread_info structure +@ lr = unrecognised instruction return address +@ IRQs disabled. +@ ENTRY(do_vfp) #ifdef CONFIG_PREEMPT ldr r4, [r10, #TI_PREEMPT] @ get preempt count --- linux-lowlatency-3.5.0.orig/arch/arm/vfp/vfphw.S +++ linux-lowlatency-3.5.0/arch/arm/vfp/vfphw.S @@ -61,13 +61,13 @@ @ VFP hardware support entry point. @ -@ r0 = faulted instruction -@ r2 = faulted PC+4 -@ r9 = successful return +@ r0 = instruction opcode (32-bit ARM or two 16-bit Thumb) +@ r2 = PC value to resume execution after successful emulation +@ r9 = normal "successful" return address @ r10 = vfp_state union @ r11 = CPU number -@ lr = failure return - +@ lr = unrecognised instruction return address +@ IRQs enabled. ENTRY(vfp_support_entry) DBGSTR3 "instr %08x pc %08x state %p", r0, r2, r10 @@ -161,9 +161,12 @@ @ exception before retrying branch @ out before setting an FPEXC that @ stops us reading stuff - VFPFMXR FPEXC, r1 @ restore FPEXC last - sub r2, r2, #4 - str r2, [sp, #S_PC] @ retry the instruction + VFPFMXR FPEXC, r1 @ Restore FPEXC last + sub r2, r2, #4 @ Retry current instruction - if Thumb + str r2, [sp, #S_PC] @ mode it's two 16-bit instructions, + @ else it's one 32-bit instruction, so + @ always subtract 4 from the following + @ instruction address. #ifdef CONFIG_PREEMPT get_thread_info r10 ldr r4, [r10, #TI_PREEMPT] @ get preempt count --- linux-lowlatency-3.5.0.orig/arch/arm/vfp/vfpmodule.c +++ linux-lowlatency-3.5.0/arch/arm/vfp/vfpmodule.c @@ -457,10 +457,16 @@ /* disable, just in case */ fmxr(FPEXC, fmrx(FPEXC) & ~FPEXC_EN); + } else if (vfp_current_hw_state[ti->cpu]) { +#ifndef CONFIG_SMP + fmxr(FPEXC, fpexc | FPEXC_EN); + vfp_save_state(vfp_current_hw_state[ti->cpu], fpexc); + fmxr(FPEXC, fpexc); +#endif } /* clear any information we had about last context state */ - memset(vfp_current_hw_state, 0, sizeof(vfp_current_hw_state)); + vfp_current_hw_state[ti->cpu] = NULL; return 0; } @@ -695,11 +701,14 @@ elf_hwcap |= HWCAP_VFPv3; /* - * Check for VFPv3 D16. CPUs in this configuration - * only have 16 x 64bit registers. + * Check for VFPv3 D16 and VFPv4 D16. CPUs in + * this configuration only have 16 x 64bit + * registers. */ if (((fmrx(MVFR0) & MVFR0_A_SIMD_MASK)) == 1) - elf_hwcap |= HWCAP_VFPv3D16; + elf_hwcap |= HWCAP_VFPv3D16; /* also v4-D16 */ + else + elf_hwcap |= HWCAP_VFPD32; } #endif /* @@ -713,8 +722,10 @@ if ((fmrx(MVFR1) & 0x000fff00) == 0x00011100) elf_hwcap |= HWCAP_NEON; #endif +#ifdef CONFIG_VFPv3 if ((fmrx(MVFR1) & 0xf0000000) == 0x10000000) elf_hwcap |= HWCAP_VFPv4; +#endif } } return 0; --- linux-lowlatency-3.5.0.orig/arch/cris/kernel/process.c +++ linux-lowlatency-3.5.0/arch/cris/kernel/process.c @@ -25,6 +25,7 @@ #include #include #include +#include //#define DEBUG @@ -74,6 +75,7 @@ { /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); while (!need_resched()) { void (*idle)(void); /* @@ -86,6 +88,7 @@ idle = default_idle; idle(); } + rcu_idle_exit(); schedule_preempt_disabled(); } } --- linux-lowlatency-3.5.0.orig/arch/frv/kernel/process.c +++ linux-lowlatency-3.5.0/arch/frv/kernel/process.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -69,12 +70,14 @@ { /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); while (!need_resched()) { check_pgt_cache(); if (!frv_dma_inprogress && idle) idle(); } + rcu_idle_exit(); schedule_preempt_disabled(); } --- linux-lowlatency-3.5.0.orig/arch/h8300/kernel/process.c +++ linux-lowlatency-3.5.0/arch/h8300/kernel/process.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -78,8 +79,10 @@ void cpu_idle(void) { while (1) { + rcu_idle_enter(); while (!need_resched()) idle(); + rcu_idle_exit(); schedule_preempt_disabled(); } } --- linux-lowlatency-3.5.0.orig/arch/ia64/include/asm/atomic.h +++ linux-lowlatency-3.5.0/arch/ia64/include/asm/atomic.h @@ -17,8 +17,8 @@ #include -#define ATOMIC_INIT(i) ((atomic_t) { (i) }) -#define ATOMIC64_INIT(i) ((atomic64_t) { (i) }) +#define ATOMIC_INIT(i) { (i) } +#define ATOMIC64_INIT(i) { (i) } #define atomic_read(v) (*(volatile int *)&(v)->counter) #define atomic64_read(v) (*(volatile long *)&(v)->counter) --- linux-lowlatency-3.5.0.orig/arch/ia64/kernel/irq_ia64.c +++ linux-lowlatency-3.5.0/arch/ia64/kernel/irq_ia64.c @@ -23,7 +23,6 @@ #include #include #include -#include /* for rand_initialize_irq() */ #include #include #include --- linux-lowlatency-3.5.0.orig/arch/ia64/kernel/process.c +++ linux-lowlatency-3.5.0/arch/ia64/kernel/process.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -279,6 +280,7 @@ /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); if (can_do_pal_halt) { current_thread_info()->status &= ~TS_POLLING; /* @@ -309,6 +311,7 @@ normal_xtp(); #endif } + rcu_idle_exit(); schedule_preempt_disabled(); check_pgt_cache(); if (cpu_is_offline(cpu)) --- linux-lowlatency-3.5.0.orig/arch/m32r/kernel/process.c +++ linux-lowlatency-3.5.0/arch/m32r/kernel/process.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -82,6 +83,7 @@ { /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); while (!need_resched()) { void (*idle)(void) = pm_idle; @@ -90,6 +92,7 @@ idle(); } + rcu_idle_exit(); schedule_preempt_disabled(); } } --- linux-lowlatency-3.5.0.orig/arch/m68k/include/asm/signal.h +++ linux-lowlatency-3.5.0/arch/m68k/include/asm/signal.h @@ -156,7 +156,7 @@ static inline void sigaddset(sigset_t *set, int _sig) { asm ("bfset %0{%1,#1}" - : "+od" (*set) + : "+o" (*set) : "id" ((_sig - 1) ^ 31) : "cc"); } @@ -164,7 +164,7 @@ static inline void sigdelset(sigset_t *set, int _sig) { asm ("bfclr %0{%1,#1}" - : "+od" (*set) + : "+o" (*set) : "id" ((_sig - 1) ^ 31) : "cc"); } @@ -180,7 +180,7 @@ int ret; asm ("bfextu %1{%2,#1},%0" : "=d" (ret) - : "od" (*set), "id" ((_sig-1) ^ 31) + : "o" (*set), "id" ((_sig-1) ^ 31) : "cc"); return ret; } --- linux-lowlatency-3.5.0.orig/arch/m68k/kernel/process.c +++ linux-lowlatency-3.5.0/arch/m68k/kernel/process.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -75,8 +76,10 @@ { /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); while (!need_resched()) idle(); + rcu_idle_exit(); schedule_preempt_disabled(); } } --- linux-lowlatency-3.5.0.orig/arch/m68k/kernel/sys_m68k.c +++ linux-lowlatency-3.5.0/arch/m68k/kernel/sys_m68k.c @@ -479,9 +479,13 @@ goto bad_access; } - mem_value = *mem; + /* + * No need to check for EFAULT; we know that the page is + * present and writable. + */ + __get_user(mem_value, mem); if (mem_value == oldval) - *mem = newval; + __put_user(newval, mem); pte_unmap_unlock(pte, ptl); up_read(&mm->mmap_sem); --- linux-lowlatency-3.5.0.orig/arch/mips/Makefile +++ linux-lowlatency-3.5.0/arch/mips/Makefile @@ -225,7 +225,7 @@ LDFLAGS += -m $(ld-emul) ifdef CONFIG_MIPS -CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -xc /dev/null | \ +CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \ sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/") ifdef CONFIG_64BIT --- linux-lowlatency-3.5.0.orig/arch/mips/ath79/clock.c +++ linux-lowlatency-3.5.0/arch/mips/ath79/clock.c @@ -17,6 +17,8 @@ #include #include +#include + #include #include #include "common.h" @@ -166,11 +168,34 @@ ath79_uart_clk.rate = ath79_ref_clk.rate; } +static u32 __init ar934x_get_pll_freq(u32 ref, u32 ref_div, u32 nint, u32 nfrac, + u32 frac, u32 out_div) +{ + u64 t; + u32 ret; + + t = ath79_ref_clk.rate; + t *= nint; + do_div(t, ref_div); + ret = t; + + t = ath79_ref_clk.rate; + t *= nfrac; + do_div(t, ref_div * frac); + ret += t; + + ret /= (1 << out_div); + return ret; +} + static void __init ar934x_clocks_init(void) { - u32 pll, out_div, ref_div, nint, frac, clk_ctrl, postdiv; + u32 pll, out_div, ref_div, nint, nfrac, frac, clk_ctrl, postdiv; u32 cpu_pll, ddr_pll; u32 bootstrap; + void __iomem *dpll_base; + + dpll_base = ioremap(AR934X_SRIF_BASE, AR934X_SRIF_SIZE); bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP); if (bootstrap & AR934X_BOOTSTRAP_REF_CLK_40) @@ -178,33 +203,59 @@ else ath79_ref_clk.rate = 25 * 1000 * 1000; - pll = ath79_pll_rr(AR934X_PLL_CPU_CONFIG_REG); - out_div = (pll >> AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT) & - AR934X_PLL_CPU_CONFIG_OUTDIV_MASK; - ref_div = (pll >> AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT) & - AR934X_PLL_CPU_CONFIG_REFDIV_MASK; - nint = (pll >> AR934X_PLL_CPU_CONFIG_NINT_SHIFT) & - AR934X_PLL_CPU_CONFIG_NINT_MASK; - frac = (pll >> AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT) & - AR934X_PLL_CPU_CONFIG_NFRAC_MASK; - - cpu_pll = nint * ath79_ref_clk.rate / ref_div; - cpu_pll += frac * ath79_ref_clk.rate / (ref_div * (2 << 6)); - cpu_pll /= (1 << out_div); - - pll = ath79_pll_rr(AR934X_PLL_DDR_CONFIG_REG); - out_div = (pll >> AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT) & - AR934X_PLL_DDR_CONFIG_OUTDIV_MASK; - ref_div = (pll >> AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT) & - AR934X_PLL_DDR_CONFIG_REFDIV_MASK; - nint = (pll >> AR934X_PLL_DDR_CONFIG_NINT_SHIFT) & - AR934X_PLL_DDR_CONFIG_NINT_MASK; - frac = (pll >> AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT) & - AR934X_PLL_DDR_CONFIG_NFRAC_MASK; - - ddr_pll = nint * ath79_ref_clk.rate / ref_div; - ddr_pll += frac * ath79_ref_clk.rate / (ref_div * (2 << 10)); - ddr_pll /= (1 << out_div); + pll = __raw_readl(dpll_base + AR934X_SRIF_CPU_DPLL2_REG); + if (pll & AR934X_SRIF_DPLL2_LOCAL_PLL) { + out_div = (pll >> AR934X_SRIF_DPLL2_OUTDIV_SHIFT) & + AR934X_SRIF_DPLL2_OUTDIV_MASK; + pll = __raw_readl(dpll_base + AR934X_SRIF_CPU_DPLL1_REG); + nint = (pll >> AR934X_SRIF_DPLL1_NINT_SHIFT) & + AR934X_SRIF_DPLL1_NINT_MASK; + nfrac = pll & AR934X_SRIF_DPLL1_NFRAC_MASK; + ref_div = (pll >> AR934X_SRIF_DPLL1_REFDIV_SHIFT) & + AR934X_SRIF_DPLL1_REFDIV_MASK; + frac = 1 << 18; + } else { + pll = ath79_pll_rr(AR934X_PLL_CPU_CONFIG_REG); + out_div = (pll >> AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT) & + AR934X_PLL_CPU_CONFIG_OUTDIV_MASK; + ref_div = (pll >> AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT) & + AR934X_PLL_CPU_CONFIG_REFDIV_MASK; + nint = (pll >> AR934X_PLL_CPU_CONFIG_NINT_SHIFT) & + AR934X_PLL_CPU_CONFIG_NINT_MASK; + nfrac = (pll >> AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT) & + AR934X_PLL_CPU_CONFIG_NFRAC_MASK; + frac = 1 << 6; + } + + cpu_pll = ar934x_get_pll_freq(ath79_ref_clk.rate, ref_div, nint, + nfrac, frac, out_div); + + pll = __raw_readl(dpll_base + AR934X_SRIF_DDR_DPLL2_REG); + if (pll & AR934X_SRIF_DPLL2_LOCAL_PLL) { + out_div = (pll >> AR934X_SRIF_DPLL2_OUTDIV_SHIFT) & + AR934X_SRIF_DPLL2_OUTDIV_MASK; + pll = __raw_readl(dpll_base + AR934X_SRIF_DDR_DPLL1_REG); + nint = (pll >> AR934X_SRIF_DPLL1_NINT_SHIFT) & + AR934X_SRIF_DPLL1_NINT_MASK; + nfrac = pll & AR934X_SRIF_DPLL1_NFRAC_MASK; + ref_div = (pll >> AR934X_SRIF_DPLL1_REFDIV_SHIFT) & + AR934X_SRIF_DPLL1_REFDIV_MASK; + frac = 1 << 18; + } else { + pll = ath79_pll_rr(AR934X_PLL_DDR_CONFIG_REG); + out_div = (pll >> AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT) & + AR934X_PLL_DDR_CONFIG_OUTDIV_MASK; + ref_div = (pll >> AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT) & + AR934X_PLL_DDR_CONFIG_REFDIV_MASK; + nint = (pll >> AR934X_PLL_DDR_CONFIG_NINT_SHIFT) & + AR934X_PLL_DDR_CONFIG_NINT_MASK; + nfrac = (pll >> AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT) & + AR934X_PLL_DDR_CONFIG_NFRAC_MASK; + frac = 1 << 10; + } + + ddr_pll = ar934x_get_pll_freq(ath79_ref_clk.rate, ref_div, nint, + nfrac, frac, out_div); clk_ctrl = ath79_pll_rr(AR934X_PLL_CPU_DDR_CLK_CTRL_REG); @@ -240,6 +291,8 @@ ath79_wdt_clk.rate = ath79_ref_clk.rate; ath79_uart_clk.rate = ath79_ref_clk.rate; + + iounmap(dpll_base); } void __init ath79_clocks_init(void) --- linux-lowlatency-3.5.0.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h +++ linux-lowlatency-3.5.0/arch/mips/include/asm/mach-ath79/ar71xx_regs.h @@ -63,6 +63,8 @@ #define AR934X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000) #define AR934X_WMAC_SIZE 0x20000 +#define AR934X_SRIF_BASE (AR71XX_APB_BASE + 0x00116000) +#define AR934X_SRIF_SIZE 0x1000 /* * DDR_CTRL block @@ -398,4 +400,25 @@ #define AR933X_GPIO_COUNT 30 #define AR934X_GPIO_COUNT 23 +/* + * SRIF block + */ +#define AR934X_SRIF_CPU_DPLL1_REG 0x1c0 +#define AR934X_SRIF_CPU_DPLL2_REG 0x1c4 +#define AR934X_SRIF_CPU_DPLL3_REG 0x1c8 + +#define AR934X_SRIF_DDR_DPLL1_REG 0x240 +#define AR934X_SRIF_DDR_DPLL2_REG 0x244 +#define AR934X_SRIF_DDR_DPLL3_REG 0x248 + +#define AR934X_SRIF_DPLL1_REFDIV_SHIFT 27 +#define AR934X_SRIF_DPLL1_REFDIV_MASK 0x1f +#define AR934X_SRIF_DPLL1_NINT_SHIFT 18 +#define AR934X_SRIF_DPLL1_NINT_MASK 0x1ff +#define AR934X_SRIF_DPLL1_NFRAC_MASK 0x0003ffff + +#define AR934X_SRIF_DPLL2_LOCAL_PLL BIT(30) +#define AR934X_SRIF_DPLL2_OUTDIV_SHIFT 13 +#define AR934X_SRIF_DPLL2_OUTDIV_MASK 0x7 + #endif /* __ASM_MACH_AR71XX_REGS_H */ --- linux-lowlatency-3.5.0.orig/arch/mips/kernel/Makefile +++ linux-lowlatency-3.5.0/arch/mips/kernel/Makefile @@ -104,7 +104,7 @@ obj-$(CONFIG_OF) += prom.o -CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) +CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -x c /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o --- linux-lowlatency-3.5.0.orig/arch/mips/kernel/kgdb.c +++ linux-lowlatency-3.5.0/arch/mips/kernel/kgdb.c @@ -283,6 +283,15 @@ struct pt_regs *regs = args->regs; int trap = (regs->cp0_cause & 0x7c) >> 2; +#ifdef CONFIG_KPROBES + /* + * Return immediately if the kprobes fault notifier has set + * DIE_PAGE_FAULT. + */ + if (cmd == DIE_PAGE_FAULT) + return NOTIFY_DONE; +#endif /* CONFIG_KPROBES */ + /* Userspace events, ignore. */ if (user_mode(regs)) return NOTIFY_DONE; --- linux-lowlatency-3.5.0.orig/arch/mips/kernel/kspd.c +++ linux-lowlatency-3.5.0/arch/mips/kernel/kspd.c @@ -323,7 +323,7 @@ fdt = files_fdtable(files); for (;;) { unsigned long set; - i = j * __NFDBITS; + i = j * BITS_PER_LONG; if (i >= fdt->max_fds) break; set = fdt->open_fds[j++]; --- linux-lowlatency-3.5.0.orig/arch/mips/mm/gup.c +++ linux-lowlatency-3.5.0/arch/mips/mm/gup.c @@ -152,6 +152,8 @@ do { VM_BUG_ON(compound_head(page) != head); pages[*nr] = page; + if (PageTail(page)) + get_huge_page_tail(page); (*nr)++; page++; refs++; --- linux-lowlatency-3.5.0.orig/arch/mips/pci/pci-ar724x.c +++ linux-lowlatency-3.5.0/arch/mips/pci/pci-ar724x.c @@ -23,9 +23,12 @@ #define AR724X_PCI_MEM_BASE 0x10000000 #define AR724X_PCI_MEM_SIZE 0x08000000 +#define AR724X_PCI_REG_RESET 0x18 #define AR724X_PCI_REG_INT_STATUS 0x4c #define AR724X_PCI_REG_INT_MASK 0x50 +#define AR724X_PCI_RESET_LINK_UP BIT(0) + #define AR724X_PCI_INT_DEV0 BIT(14) #define AR724X_PCI_IRQ_COUNT 1 @@ -38,6 +41,15 @@ static u32 ar724x_pci_bar0_value; static bool ar724x_pci_bar0_is_cached; +static bool ar724x_pci_link_up; + +static inline bool ar724x_pci_check_link(void) +{ + u32 reset; + + reset = __raw_readl(ar724x_pci_ctrl_base + AR724X_PCI_REG_RESET); + return reset & AR724X_PCI_RESET_LINK_UP; +} static int ar724x_pci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, uint32_t *value) @@ -46,6 +58,9 @@ void __iomem *base; u32 data; + if (!ar724x_pci_link_up) + return PCIBIOS_DEVICE_NOT_FOUND; + if (devfn) return PCIBIOS_DEVICE_NOT_FOUND; @@ -96,6 +111,9 @@ u32 data; int s; + if (!ar724x_pci_link_up) + return PCIBIOS_DEVICE_NOT_FOUND; + if (devfn) return PCIBIOS_DEVICE_NOT_FOUND; @@ -280,6 +298,10 @@ if (ar724x_pci_ctrl_base == NULL) goto err_unmap_devcfg; + ar724x_pci_link_up = ar724x_pci_check_link(); + if (!ar724x_pci_link_up) + pr_warn("ar724x: PCIe link is down\n"); + ar724x_pci_irq_init(irq); register_pci_controller(&ar724x_pci_controller); --- linux-lowlatency-3.5.0.orig/arch/mn10300/Makefile +++ linux-lowlatency-3.5.0/arch/mn10300/Makefile @@ -26,7 +26,7 @@ PROCESSOR := unset UNIT := unset -KBUILD_CFLAGS += -mam33 -mmem-funcs -DCPU=AM33 +KBUILD_CFLAGS += -mam33 -DCPU=AM33 $(call cc-option,-mmem-funcs,) KBUILD_AFLAGS += -mam33 -DCPU=AM33 ifeq ($(CONFIG_MN10300_CURRENT_IN_E2),y) --- linux-lowlatency-3.5.0.orig/arch/mn10300/kernel/process.c +++ linux-lowlatency-3.5.0/arch/mn10300/kernel/process.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -107,6 +108,7 @@ { /* endless idle loop with no priority at all */ for (;;) { + rcu_idle_enter(); while (!need_resched()) { void (*idle)(void); @@ -121,6 +123,7 @@ } idle(); } + rcu_idle_exit(); schedule_preempt_disabled(); } --- linux-lowlatency-3.5.0.orig/arch/parisc/include/asm/atomic.h +++ linux-lowlatency-3.5.0/arch/parisc/include/asm/atomic.h @@ -141,7 +141,7 @@ #define atomic_sub_and_test(i,v) (atomic_sub_return((i),(v)) == 0) -#define ATOMIC_INIT(i) ((atomic_t) { (i) }) +#define ATOMIC_INIT(i) { (i) } #define smp_mb__before_atomic_dec() smp_mb() #define smp_mb__after_atomic_dec() smp_mb() @@ -150,7 +150,7 @@ #ifdef CONFIG_64BIT -#define ATOMIC64_INIT(i) ((atomic64_t) { (i) }) +#define ATOMIC64_INIT(i) { (i) } static __inline__ s64 __atomic64_add_return(s64 i, atomic64_t *v) --- linux-lowlatency-3.5.0.orig/arch/parisc/kernel/process.c +++ linux-lowlatency-3.5.0/arch/parisc/kernel/process.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -69,8 +70,10 @@ /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); while (!need_resched()) barrier(); + rcu_idle_exit(); schedule_preempt_disabled(); check_pgt_cache(); } --- linux-lowlatency-3.5.0.orig/arch/parisc/kernel/signal32.c +++ linux-lowlatency-3.5.0/arch/parisc/kernel/signal32.c @@ -65,7 +65,8 @@ { compat_sigset_t s; - if (sz != sizeof *set) panic("put_sigset32()"); + if (sz != sizeof *set) + return -EINVAL; sigset_64to32(&s, set); return copy_to_user(up, &s, sizeof s); @@ -77,7 +78,8 @@ compat_sigset_t s; int r; - if (sz != sizeof *set) panic("put_sigset32()"); + if (sz != sizeof *set) + return -EINVAL; if ((r = copy_from_user(&s, up, sz)) == 0) { sigset_32to64(set, &s); --- linux-lowlatency-3.5.0.orig/arch/parisc/kernel/sys_parisc.c +++ linux-lowlatency-3.5.0/arch/parisc/kernel/sys_parisc.c @@ -73,6 +73,8 @@ struct vm_area_struct *vma; int offset = mapping ? get_offset(mapping) : 0; + offset = (offset + (pgoff << PAGE_SHIFT)) & 0x3FF000; + addr = DCACHE_ALIGN(addr - offset) + offset; for (vma = find_vma(current->mm, addr); ; vma = vma->vm_next) { --- linux-lowlatency-3.5.0.orig/arch/powerpc/Kconfig +++ linux-lowlatency-3.5.0/arch/powerpc/Kconfig @@ -986,6 +986,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "arch/powerpc/sysdev/qe_lib/Kconfig" --- linux-lowlatency-3.5.0.orig/arch/powerpc/boot/dts/p1022ds.dtsi +++ linux-lowlatency-3.5.0/arch/powerpc/boot/dts/p1022ds.dtsi @@ -33,22 +33,6 @@ */ &board_lbc { - /* - * This node is used to access the pixis via "indirect" mode, - * which is done by writing the pixis register index to chip - * select 0 and the value to/from chip select 1. Indirect - * mode is the only way to access the pixis when DIU video - * is enabled. Note that this assumes that the first column - * of the 'ranges' property above is the chip select number. - */ - board-control@0,0 { - compatible = "fsl,p1022ds-indirect-pixis"; - reg = <0x0 0x0 1 /* CS0 */ - 0x1 0x0 1>; /* CS1 */ - interrupt-parent = <&mpic>; - interrupts = <8 0 0 0>; - }; - nor@0,0 { #address-cells = <1>; #size-cells = <1>; --- linux-lowlatency-3.5.0.orig/arch/powerpc/include/asm/pci-bridge.h +++ linux-lowlatency-3.5.0/arch/powerpc/include/asm/pci-bridge.h @@ -181,6 +181,14 @@ #if defined(CONFIG_EEH) static inline struct eeh_dev *of_node_to_eeh_dev(struct device_node *dn) { + /* + * For those OF nodes whose parent isn't PCI bridge, they + * don't have PCI_DN actually. So we have to skip them for + * any EEH operations. + */ + if (!dn || !PCI_DN(dn)) + return NULL; + return PCI_DN(dn)->edev; } #endif --- linux-lowlatency-3.5.0.orig/arch/powerpc/include/asm/reg.h +++ linux-lowlatency-3.5.0/arch/powerpc/include/asm/reg.h @@ -1024,7 +1024,8 @@ /* Macros for setting and retrieving special purpose registers */ #ifndef __ASSEMBLY__ #define mfmsr() ({unsigned long rval; \ - asm volatile("mfmsr %0" : "=r" (rval)); rval;}) + asm volatile("mfmsr %0" : "=r" (rval) : \ + : "memory"); rval;}) #ifdef CONFIG_PPC_BOOK3S_64 #define __mtmsrd(v, l) asm volatile("mtmsrd %0," __stringify(l) \ : : "r" (v) : "memory") --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/asm-offsets.c +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/asm-offsets.c @@ -76,6 +76,7 @@ DEFINE(SIGSEGV, SIGSEGV); DEFINE(NMI_MASK, NMI_MASK); DEFINE(THREAD_DSCR, offsetof(struct thread_struct, dscr)); + DEFINE(THREAD_DSCR_INHERIT, offsetof(struct thread_struct, dscr_inherit)); #else DEFINE(THREAD_INFO, offsetof(struct task_struct, stack)); #endif /* CONFIG_PPC64 */ --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/dbell.c +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/dbell.c @@ -28,6 +28,8 @@ void doorbell_cause_ipi(int cpu, unsigned long data) { + /* Order previous accesses vs. msgsnd, which is treated as a store */ + mb(); ppc_msgsnd(PPC_DBELL, 0, data); } --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/entry_64.S +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/entry_64.S @@ -369,6 +369,12 @@ li r3,0 b syscall_exit + .section ".toc","aw" +DSCR_DEFAULT: + .tc dscr_default[TC],dscr_default + + .section ".text" + /* * This routine switches between two different tasks. The process * state of one is saved on its kernel stack. Then the state @@ -508,9 +514,6 @@ mr r1,r8 /* start using new stack pointer */ std r7,PACAKSAVE(r13) - ld r6,_CCR(r1) - mtcrf 0xFF,r6 - #ifdef CONFIG_ALTIVEC BEGIN_FTR_SECTION ld r0,THREAD_VRSAVE(r4) @@ -519,14 +522,22 @@ #endif /* CONFIG_ALTIVEC */ #ifdef CONFIG_PPC64 BEGIN_FTR_SECTION + lwz r6,THREAD_DSCR_INHERIT(r4) + ld r7,DSCR_DEFAULT@toc(2) ld r0,THREAD_DSCR(r4) - cmpd r0,r25 - beq 1f + cmpwi r6,0 + bne 1f + ld r0,0(r7) +1: cmpd r0,r25 + beq 2f mtspr SPRN_DSCR,r0 -1: +2: END_FTR_SECTION_IFSET(CPU_FTR_DSCR) #endif + ld r6,_CCR(r1) + mtcrf 0xFF,r6 + /* r3-r13 are destroyed -- Cort */ REST_8GPRS(14, r1) REST_10GPRS(22, r1) --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/ftrace.c +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/ftrace.c @@ -245,9 +245,9 @@ /* * On PPC32 the trampoline looks like: - * 0x3d, 0x60, 0x00, 0x00 lis r11,sym@ha - * 0x39, 0x6b, 0x00, 0x00 addi r11,r11,sym@l - * 0x7d, 0x69, 0x03, 0xa6 mtctr r11 + * 0x3d, 0x80, 0x00, 0x00 lis r12,sym@ha + * 0x39, 0x8c, 0x00, 0x00 addi r12,r12,sym@l + * 0x7d, 0x89, 0x03, 0xa6 mtctr r12 * 0x4e, 0x80, 0x04, 0x20 bctr */ @@ -262,9 +262,9 @@ pr_devel(" %08x %08x ", jmp[0], jmp[1]); /* verify that this is what we expect it to be */ - if (((jmp[0] & 0xffff0000) != 0x3d600000) || - ((jmp[1] & 0xffff0000) != 0x396b0000) || - (jmp[2] != 0x7d6903a6) || + if (((jmp[0] & 0xffff0000) != 0x3d800000) || + ((jmp[1] & 0xffff0000) != 0x398c0000) || + (jmp[2] != 0x7d8903a6) || (jmp[3] != 0x4e800420)) { printk(KERN_ERR "Not a trampoline\n"); return -EINVAL; --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/process.c +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/process.c @@ -802,16 +802,8 @@ #endif /* CONFIG_PPC_STD_MMU_64 */ #ifdef CONFIG_PPC64 if (cpu_has_feature(CPU_FTR_DSCR)) { - if (current->thread.dscr_inherit) { - p->thread.dscr_inherit = 1; - p->thread.dscr = current->thread.dscr; - } else if (0 != dscr_default) { - p->thread.dscr_inherit = 1; - p->thread.dscr = dscr_default; - } else { - p->thread.dscr_inherit = 0; - p->thread.dscr = 0; - } + p->thread.dscr_inherit = current->thread.dscr_inherit; + p->thread.dscr = current->thread.dscr; } #endif --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/smp.c +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/smp.c @@ -197,8 +197,15 @@ struct cpu_messages *info = &per_cpu(ipi_message, cpu); char *message = (char *)&info->messages; + /* + * Order previous accesses before accesses in the IPI handler. + */ + smp_mb(); message[msg] = 1; - mb(); + /* + * cause_ipi functions are required to include a full barrier + * before doing whatever causes the IPI. + */ smp_ops->cause_ipi(cpu, info->data); } @@ -210,7 +217,7 @@ mb(); /* order any irq clear */ do { - all = xchg_local(&info->messages, 0); + all = xchg(&info->messages, 0); #ifdef __BIG_ENDIAN if (all & (1 << (24 - 8 * PPC_MSG_CALL_FUNCTION))) --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/sysfs.c +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/sysfs.c @@ -194,6 +194,14 @@ return sprintf(buf, "%lx\n", dscr_default); } +static void update_dscr(void *dummy) +{ + if (!current->thread.dscr_inherit) { + current->thread.dscr = dscr_default; + mtspr(SPRN_DSCR, dscr_default); + } +} + static ssize_t __used store_dscr_default(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) @@ -206,6 +214,8 @@ return -EINVAL; dscr_default = val; + on_each_cpu(update_dscr, NULL, 1); + return count; } --- linux-lowlatency-3.5.0.orig/arch/powerpc/kernel/traps.c +++ linux-lowlatency-3.5.0/arch/powerpc/kernel/traps.c @@ -972,8 +972,9 @@ cpu_has_feature(CPU_FTR_DSCR)) { PPC_WARN_EMULATED(mtdscr, regs); rd = (instword >> 21) & 0x1f; - mtspr(SPRN_DSCR, regs->gpr[rd]); + current->thread.dscr = regs->gpr[rd]; current->thread.dscr_inherit = 1; + mtspr(SPRN_DSCR, current->thread.dscr); return 0; } #endif --- linux-lowlatency-3.5.0.orig/arch/powerpc/platforms/85xx/p1022_ds.c +++ linux-lowlatency-3.5.0/arch/powerpc/platforms/85xx/p1022_ds.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "smp.h" #include "mpc85xx.h" @@ -142,17 +143,74 @@ { } +struct fsl_law { + u32 lawbar; + u32 reserved1; + u32 lawar; + u32 reserved[5]; +}; + +#define LAWBAR_MASK 0x00F00000 +#define LAWBAR_SHIFT 12 + +#define LAWAR_EN 0x80000000 +#define LAWAR_TGT_MASK 0x01F00000 +#define LAW_TRGT_IF_LBC (0x04 << 20) + +#define LAWAR_MASK (LAWAR_EN | LAWAR_TGT_MASK) +#define LAWAR_MATCH (LAWAR_EN | LAW_TRGT_IF_LBC) + +#define BR_BA 0xFFFF8000 + +/* + * Map a BRx value to a physical address + * + * The localbus BRx registers only store the lower 32 bits of the address. To + * obtain the upper four bits, we need to scan the LAW table. The entry which + * maps to the localbus will contain the upper four bits. + */ +static phys_addr_t lbc_br_to_phys(const void *ecm, unsigned int count, u32 br) +{ +#ifndef CONFIG_PHYS_64BIT + /* + * If we only have 32-bit addressing, then the BRx address *is* the + * physical address. + */ + return br & BR_BA; +#else + const struct fsl_law *law = ecm + 0xc08; + unsigned int i; + + for (i = 0; i < count; i++) { + u64 lawbar = in_be32(&law[i].lawbar); + u32 lawar = in_be32(&law[i].lawar); + + if ((lawar & LAWAR_MASK) == LAWAR_MATCH) + /* Extract the upper four bits */ + return (br & BR_BA) | ((lawbar & LAWBAR_MASK) << 12); + } + + return 0; +#endif +} + /** * p1022ds_set_monitor_port: switch the output to a different monitor port - * */ static void p1022ds_set_monitor_port(enum fsl_diu_monitor_port port) { struct device_node *guts_node; - struct device_node *indirect_node = NULL; + struct device_node *lbc_node = NULL; + struct device_node *law_node = NULL; struct ccsr_guts __iomem *guts; + struct fsl_lbc_regs *lbc = NULL; + void *ecm = NULL; u8 __iomem *lbc_lcs0_ba = NULL; u8 __iomem *lbc_lcs1_ba = NULL; + phys_addr_t cs0_addr, cs1_addr; + u32 br0, or0, br1, or1; + const __be32 *iprop; + unsigned int num_laws; u8 b; /* Map the global utilities registers. */ @@ -168,22 +226,99 @@ goto exit; } - indirect_node = of_find_compatible_node(NULL, NULL, - "fsl,p1022ds-indirect-pixis"); - if (!indirect_node) { - pr_err("p1022ds: missing pixis indirect mode node\n"); + lbc_node = of_find_compatible_node(NULL, NULL, "fsl,p1022-elbc"); + if (!lbc_node) { + pr_err("p1022ds: missing localbus node\n"); goto exit; } - lbc_lcs0_ba = of_iomap(indirect_node, 0); - if (!lbc_lcs0_ba) { - pr_err("p1022ds: could not map localbus chip select 0\n"); + lbc = of_iomap(lbc_node, 0); + if (!lbc) { + pr_err("p1022ds: could not map localbus node\n"); + goto exit; + } + + law_node = of_find_compatible_node(NULL, NULL, "fsl,ecm-law"); + if (!law_node) { + pr_err("p1022ds: missing local access window node\n"); + goto exit; + } + + ecm = of_iomap(law_node, 0); + if (!ecm) { + pr_err("p1022ds: could not map local access window node\n"); + goto exit; + } + + iprop = of_get_property(law_node, "fsl,num-laws", 0); + if (!iprop) { + pr_err("p1022ds: LAW node is missing fsl,num-laws property\n"); + goto exit; + } + num_laws = be32_to_cpup(iprop); + + /* + * Indirect mode requires both BR0 and BR1 to be set to "GPCM", + * otherwise writes to these addresses won't actually appear on the + * local bus, and so the PIXIS won't see them. + * + * In FCM mode, writes go to the NAND controller, which does not pass + * them to the localbus directly. So we force BR0 and BR1 into GPCM + * mode, since we don't care about what's behind the localbus any + * more. + */ + br0 = in_be32(&lbc->bank[0].br); + br1 = in_be32(&lbc->bank[1].br); + or0 = in_be32(&lbc->bank[0].or); + or1 = in_be32(&lbc->bank[1].or); + + /* Make sure CS0 and CS1 are programmed */ + if (!(br0 & BR_V) || !(br1 & BR_V)) { + pr_err("p1022ds: CS0 and/or CS1 is not programmed\n"); + goto exit; + } + + /* + * Use the existing BRx/ORx values if it's already GPCM. Otherwise, + * force the values to simple 32KB GPCM windows with the most + * conservative timing. + */ + if ((br0 & BR_MSEL) != BR_MS_GPCM) { + br0 = (br0 & BR_BA) | BR_V; + or0 = 0xFFFF8000 | 0xFF7; + out_be32(&lbc->bank[0].br, br0); + out_be32(&lbc->bank[0].or, or0); + } + if ((br1 & BR_MSEL) != BR_MS_GPCM) { + br1 = (br1 & BR_BA) | BR_V; + or1 = 0xFFFF8000 | 0xFF7; + out_be32(&lbc->bank[1].br, br1); + out_be32(&lbc->bank[1].or, or1); + } + + cs0_addr = lbc_br_to_phys(ecm, num_laws, br0); + if (!cs0_addr) { + pr_err("p1022ds: could not determine physical address for CS0" + " (BR0=%08x)\n", br0); + goto exit; + } + cs1_addr = lbc_br_to_phys(ecm, num_laws, br1); + if (!cs0_addr) { + pr_err("p1022ds: could not determine physical address for CS1" + " (BR1=%08x)\n", br1); goto exit; } - lbc_lcs1_ba = of_iomap(indirect_node, 1); + lbc_lcs0_ba = ioremap(cs0_addr, 1); + if (!lbc_lcs0_ba) { + pr_err("p1022ds: could not ioremap CS0 address %llx\n", + (unsigned long long)cs0_addr); + goto exit; + } + lbc_lcs1_ba = ioremap(cs1_addr, 1); if (!lbc_lcs1_ba) { - pr_err("p1022ds: could not map localbus chip select 1\n"); + pr_err("p1022ds: could not ioremap CS1 address %llx\n", + (unsigned long long)cs1_addr); goto exit; } @@ -254,10 +389,15 @@ iounmap(lbc_lcs1_ba); if (lbc_lcs0_ba) iounmap(lbc_lcs0_ba); + if (lbc) + iounmap(lbc); + if (ecm) + iounmap(ecm); if (guts) iounmap(guts); - of_node_put(indirect_node); + of_node_put(law_node); + of_node_put(lbc_node); of_node_put(guts_node); } @@ -355,6 +495,8 @@ prom_update_property(np, new, old); else prom_add_property(np, new); + + pr_info("p1022ds: disabling %s node\n", np->full_name); } /* TRUE if there is a "video=fslfb" command-line parameter. */ @@ -419,28 +561,46 @@ diu_ops.valid_monitor_port = p1022ds_valid_monitor_port; /* - * Disable the NOR flash node if there is video=fslfb... command-line - * parameter. When the DIU is active, NOR flash is unavailable, so we - * have to disable the node before the MTD driver loads. + * Disable the NOR and NAND flash nodes if there is video=fslfb... + * command-line parameter. When the DIU is active, the localbus is + * unavailable, so we have to disable these nodes before the MTD + * driver loads. */ if (fslfb) { struct device_node *np = of_find_compatible_node(NULL, NULL, "fsl,p1022-elbc"); if (np) { - np = of_find_compatible_node(np, NULL, "cfi-flash"); - if (np) { + struct device_node *np2; + + of_node_get(np); + np2 = of_find_compatible_node(np, NULL, "cfi-flash"); + if (np2) { static struct property nor_status = { .name = "status", .value = "disabled", .length = sizeof("disabled"), }; - pr_info("p1022ds: disabling %s node", - np->full_name); - disable_one_node(np, &nor_status); - of_node_put(np); + disable_one_node(np2, &nor_status); + of_node_put(np2); } + + of_node_get(np); + np2 = of_find_compatible_node(np, NULL, + "fsl,elbc-fcm-nand"); + if (np2) { + static struct property nand_status = { + .name = "status", + .value = "disabled", + .length = sizeof("disabled"), + }; + + disable_one_node(np2, &nand_status); + of_node_put(np2); + } + + of_node_put(np); } } --- linux-lowlatency-3.5.0.orig/arch/powerpc/platforms/pseries/eeh.c +++ linux-lowlatency-3.5.0/arch/powerpc/platforms/pseries/eeh.c @@ -1029,7 +1029,7 @@ { struct pci_controller *phb; - if (!dn || !of_node_to_eeh_dev(dn)) + if (!of_node_to_eeh_dev(dn)) return; phb = of_node_to_eeh_dev(dn)->phb; --- linux-lowlatency-3.5.0.orig/arch/powerpc/platforms/pseries/eeh_driver.c +++ linux-lowlatency-3.5.0/arch/powerpc/platforms/pseries/eeh_driver.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -47,6 +48,41 @@ return ""; } +/** + * eeh_pcid_get - Get the PCI device driver + * @pdev: PCI device + * + * The function is used to retrieve the PCI device driver for + * the indicated PCI device. Besides, we will increase the reference + * of the PCI device driver to prevent that being unloaded on + * the fly. Otherwise, kernel crash would be seen. + */ +static inline struct pci_driver *eeh_pcid_get(struct pci_dev *pdev) +{ + if (!pdev || !pdev->driver) + return NULL; + + if (!try_module_get(pdev->driver->driver.owner)) + return NULL; + + return pdev->driver; +} + +/** + * eeh_pcid_put - Dereference on the PCI device driver + * @pdev: PCI device + * + * The function is called to do dereference on the PCI device + * driver of the indicated PCI device. + */ +static inline void eeh_pcid_put(struct pci_dev *pdev) +{ + if (!pdev || !pdev->driver) + return; + + module_put(pdev->driver->driver.owner); +} + #if 0 static void print_device_node_tree(struct pci_dn *pdn, int dent) { @@ -126,18 +162,20 @@ static int eeh_report_error(struct pci_dev *dev, void *userdata) { enum pci_ers_result rc, *res = userdata; - struct pci_driver *driver = dev->driver; + struct pci_driver *driver; dev->error_state = pci_channel_io_frozen; - if (!driver) - return 0; + driver = eeh_pcid_get(dev); + if (!driver) return 0; eeh_disable_irq(dev); if (!driver->err_handler || - !driver->err_handler->error_detected) + !driver->err_handler->error_detected) { + eeh_pcid_put(dev); return 0; + } rc = driver->err_handler->error_detected(dev, pci_channel_io_frozen); @@ -145,6 +183,7 @@ if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; if (*res == PCI_ERS_RESULT_NONE) *res = rc; + eeh_pcid_put(dev); return 0; } @@ -160,12 +199,16 @@ static int eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata) { enum pci_ers_result rc, *res = userdata; - struct pci_driver *driver = dev->driver; + struct pci_driver *driver; + + driver = eeh_pcid_get(dev); + if (!driver) return 0; - if (!driver || - !driver->err_handler || - !driver->err_handler->mmio_enabled) + if (!driver->err_handler || + !driver->err_handler->mmio_enabled) { + eeh_pcid_put(dev); return 0; + } rc = driver->err_handler->mmio_enabled(dev); @@ -173,6 +216,7 @@ if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; if (*res == PCI_ERS_RESULT_NONE) *res = rc; + eeh_pcid_put(dev); return 0; } @@ -189,18 +233,20 @@ static int eeh_report_reset(struct pci_dev *dev, void *userdata) { enum pci_ers_result rc, *res = userdata; - struct pci_driver *driver = dev->driver; - - if (!driver) - return 0; + struct pci_driver *driver; dev->error_state = pci_channel_io_normal; + driver = eeh_pcid_get(dev); + if (!driver) return 0; + eeh_enable_irq(dev); if (!driver->err_handler || - !driver->err_handler->slot_reset) + !driver->err_handler->slot_reset) { + eeh_pcid_put(dev); return 0; + } rc = driver->err_handler->slot_reset(dev); if ((*res == PCI_ERS_RESULT_NONE) || @@ -208,6 +254,7 @@ if (*res == PCI_ERS_RESULT_DISCONNECT && rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; + eeh_pcid_put(dev); return 0; } @@ -222,21 +269,24 @@ */ static int eeh_report_resume(struct pci_dev *dev, void *userdata) { - struct pci_driver *driver = dev->driver; + struct pci_driver *driver; dev->error_state = pci_channel_io_normal; - if (!driver) - return 0; + driver = eeh_pcid_get(dev); + if (!driver) return 0; eeh_enable_irq(dev); if (!driver->err_handler || - !driver->err_handler->resume) + !driver->err_handler->resume) { + eeh_pcid_put(dev); return 0; + } driver->err_handler->resume(dev); + eeh_pcid_put(dev); return 0; } @@ -250,21 +300,24 @@ */ static int eeh_report_failure(struct pci_dev *dev, void *userdata) { - struct pci_driver *driver = dev->driver; + struct pci_driver *driver; dev->error_state = pci_channel_io_perm_failure; - if (!driver) - return 0; + driver = eeh_pcid_get(dev); + if (!driver) return 0; eeh_disable_irq(dev); if (!driver->err_handler || - !driver->err_handler->error_detected) + !driver->err_handler->error_detected) { + eeh_pcid_put(dev); return 0; + } driver->err_handler->error_detected(dev, pci_channel_io_perm_failure); + eeh_pcid_put(dev); return 0; } --- linux-lowlatency-3.5.0.orig/arch/powerpc/platforms/pseries/eeh_event.c +++ linux-lowlatency-3.5.0/arch/powerpc/platforms/pseries/eeh_event.c @@ -85,8 +85,10 @@ set_current_state(TASK_INTERRUPTIBLE); /* Don't add to load average */ edev = handle_eeh_events(event); - eeh_clear_slot(eeh_dev_to_of_node(edev), EEH_MODE_RECOVERING); - pci_dev_put(edev->pdev); + if (edev) { + eeh_clear_slot(eeh_dev_to_of_node(edev), EEH_MODE_RECOVERING); + pci_dev_put(edev->pdev); + } kfree(event); mutex_unlock(&eeh_event_mutex); --- linux-lowlatency-3.5.0.orig/arch/powerpc/sysdev/xics/icp-hv.c +++ linux-lowlatency-3.5.0/arch/powerpc/sysdev/xics/icp-hv.c @@ -65,7 +65,11 @@ static inline void icp_hv_set_qirr(int n_cpu , u8 value) { int hw_cpu = get_hard_smp_processor_id(n_cpu); - long rc = plpar_hcall_norets(H_IPI, hw_cpu, value); + long rc; + + /* Make sure all previous accesses are ordered before IPI sending */ + mb(); + rc = plpar_hcall_norets(H_IPI, hw_cpu, value); if (rc != H_SUCCESS) { pr_err("%s: bad return code qirr cpu=%d hw_cpu=%d mfrr=0x%x " "returned %ld\n", __func__, n_cpu, hw_cpu, value, rc); --- linux-lowlatency-3.5.0.orig/arch/s390/boot/compressed/vmlinux.lds.S +++ linux-lowlatency-3.5.0/arch/s390/boot/compressed/vmlinux.lds.S @@ -5,7 +5,7 @@ OUTPUT_ARCH(s390:64-bit) #else OUTPUT_FORMAT("elf32-s390", "elf32-s390", "elf32-s390") -OUTPUT_ARCH(s390) +OUTPUT_ARCH(s390:31-bit) #endif ENTRY(startup) --- linux-lowlatency-3.5.0.orig/arch/s390/include/asm/compat.h +++ linux-lowlatency-3.5.0/arch/s390/include/asm/compat.h @@ -20,7 +20,7 @@ #define PSW32_MASK_CC 0x00003000UL #define PSW32_MASK_PM 0x00000f00UL -#define PSW32_MASK_USER 0x00003F00UL +#define PSW32_MASK_USER 0x0000FF00UL #define PSW32_ADDR_AMODE 0x80000000UL #define PSW32_ADDR_INSN 0x7FFFFFFFUL --- linux-lowlatency-3.5.0.orig/arch/s390/include/asm/mmu_context.h +++ linux-lowlatency-3.5.0/arch/s390/include/asm/mmu_context.h @@ -13,7 +13,6 @@ #include #include #include -#include static inline int init_new_context(struct task_struct *tsk, struct mm_struct *mm) @@ -93,4 +92,17 @@ switch_mm(prev, next, current); } +static inline void arch_dup_mmap(struct mm_struct *oldmm, + struct mm_struct *mm) +{ +#ifdef CONFIG_64BIT + if (oldmm->context.asce_limit < mm->context.asce_limit) + crst_table_downgrade(mm, oldmm->context.asce_limit); +#endif +} + +static inline void arch_exit_mmap(struct mm_struct *mm) +{ +} + #endif /* __S390_MMU_CONTEXT_H */ --- linux-lowlatency-3.5.0.orig/arch/s390/include/asm/processor.h +++ linux-lowlatency-3.5.0/arch/s390/include/asm/processor.h @@ -122,7 +122,9 @@ regs->psw.mask = psw_user_bits | PSW_MASK_BA; \ regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ regs->gprs[15] = new_stackp; \ + __tlb_flush_mm(current->mm); \ crst_table_downgrade(current->mm, 1UL << 31); \ + update_mm(current->mm, current); \ } while (0) /* Forward declaration, a strange C thing */ --- linux-lowlatency-3.5.0.orig/arch/s390/include/asm/ptrace.h +++ linux-lowlatency-3.5.0/arch/s390/include/asm/ptrace.h @@ -240,7 +240,7 @@ #define PSW_MASK_EA 0x00000000UL #define PSW_MASK_BA 0x00000000UL -#define PSW_MASK_USER 0x00003F00UL +#define PSW_MASK_USER 0x0000FF00UL #define PSW_ADDR_AMODE 0x80000000UL #define PSW_ADDR_INSN 0x7FFFFFFFUL @@ -269,7 +269,7 @@ #define PSW_MASK_EA 0x0000000100000000UL #define PSW_MASK_BA 0x0000000080000000UL -#define PSW_MASK_USER 0x00003F0180000000UL +#define PSW_MASK_USER 0x0000FF0180000000UL #define PSW_ADDR_AMODE 0x0000000000000000UL #define PSW_ADDR_INSN 0xFFFFFFFFFFFFFFFFUL --- linux-lowlatency-3.5.0.orig/arch/s390/kernel/compat_linux.c +++ linux-lowlatency-3.5.0/arch/s390/kernel/compat_linux.c @@ -622,7 +622,6 @@ return -EFAULT; if (a.offset & ~PAGE_MASK) return -EINVAL; - a.addr = (unsigned long) compat_ptr(a.addr); return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); } @@ -633,7 +632,6 @@ if (copy_from_user(&a, arg, sizeof(a))) return -EFAULT; - a.addr = (unsigned long) compat_ptr(a.addr); return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); } --- linux-lowlatency-3.5.0.orig/arch/s390/kernel/compat_signal.c +++ linux-lowlatency-3.5.0/arch/s390/kernel/compat_signal.c @@ -311,6 +311,10 @@ regs->psw.mask = (regs->psw.mask & ~PSW_MASK_USER) | (__u64)(regs32.psw.mask & PSW32_MASK_USER) << 32 | (__u64)(regs32.psw.addr & PSW32_ADDR_AMODE); + /* Check for invalid user address space control. */ + if ((regs->psw.mask & PSW_MASK_ASC) >= (psw_kernel_bits & PSW_MASK_ASC)) + regs->psw.mask = (psw_user_bits & PSW_MASK_ASC) | + (regs->psw.mask & ~PSW_MASK_ASC); regs->psw.addr = (__u64)(regs32.psw.addr & PSW32_ADDR_INSN); for (i = 0; i < NUM_GPRS; i++) regs->gprs[i] = (__u64) regs32.gprs[i]; @@ -483,7 +487,10 @@ /* Set up registers for signal handler */ regs->gprs[15] = (__force __u64) frame; - regs->psw.mask |= PSW_MASK_BA; /* force amode 31 */ + /* Force 31 bit amode and default user address space control. */ + regs->psw.mask = PSW_MASK_BA | + (psw_user_bits & PSW_MASK_ASC) | + (regs->psw.mask & ~PSW_MASK_ASC); regs->psw.addr = (__force __u64) ka->sa.sa_handler; regs->gprs[2] = map_signal(sig); @@ -551,7 +558,10 @@ /* Set up registers for signal handler */ regs->gprs[15] = (__force __u64) frame; - regs->psw.mask |= PSW_MASK_BA; /* force amode 31 */ + /* Force 31 bit amode and default user address space control. */ + regs->psw.mask = PSW_MASK_BA | + (psw_user_bits & PSW_MASK_ASC) | + (regs->psw.mask & ~PSW_MASK_ASC); regs->psw.addr = (__u64) ka->sa.sa_handler; regs->gprs[2] = map_signal(sig); --- linux-lowlatency-3.5.0.orig/arch/s390/kernel/compat_wrapper.S +++ linux-lowlatency-3.5.0/arch/s390/kernel/compat_wrapper.S @@ -1636,7 +1636,7 @@ llgfr %r6,%r6 # unsigned long llgf %r0,164(%r15) # unsigned long stg %r0,160(%r15) - jg sys_process_vm_readv + jg compat_sys_process_vm_readv ENTRY(compat_sys_process_vm_writev_wrapper) lgfr %r2,%r2 # compat_pid_t @@ -1646,4 +1646,4 @@ llgfr %r6,%r6 # unsigned long llgf %r0,164(%r15) # unsigned long stg %r0,160(%r15) - jg sys_process_vm_writev + jg compat_sys_process_vm_writev --- linux-lowlatency-3.5.0.orig/arch/s390/kernel/processor.c +++ linux-lowlatency-3.5.0/arch/s390/kernel/processor.c @@ -26,12 +26,14 @@ void __cpuinit cpu_init(void) { struct cpuid *id = &per_cpu(cpu_id, smp_processor_id()); + struct s390_idle_data *idle = &__get_cpu_var(s390_idle); get_cpu_id(id); atomic_inc(&init_mm.mm_count); current->active_mm = &init_mm; BUG_ON(current->mm); enter_lazy_tlb(&init_mm, current); + memset(idle, 0, sizeof(*idle)); } /* --- linux-lowlatency-3.5.0.orig/arch/s390/kernel/signal.c +++ linux-lowlatency-3.5.0/arch/s390/kernel/signal.c @@ -138,6 +138,10 @@ /* Use regs->psw.mask instead of psw_user_bits to preserve PER bit. */ regs->psw.mask = (regs->psw.mask & ~PSW_MASK_USER) | (user_sregs.regs.psw.mask & PSW_MASK_USER); + /* Check for invalid user address space control. */ + if ((regs->psw.mask & PSW_MASK_ASC) >= (psw_kernel_bits & PSW_MASK_ASC)) + regs->psw.mask = (psw_user_bits & PSW_MASK_ASC) | + (regs->psw.mask & ~PSW_MASK_ASC); /* Check for invalid amode */ if (regs->psw.mask & PSW_MASK_EA) regs->psw.mask |= PSW_MASK_BA; @@ -275,7 +279,10 @@ /* Set up registers for signal handler */ regs->gprs[15] = (unsigned long) frame; - regs->psw.mask |= PSW_MASK_EA | PSW_MASK_BA; /* 64 bit amode */ + /* Force default amode and default user address space control. */ + regs->psw.mask = PSW_MASK_EA | PSW_MASK_BA | + (psw_user_bits & PSW_MASK_ASC) | + (regs->psw.mask & ~PSW_MASK_ASC); regs->psw.addr = (unsigned long) ka->sa.sa_handler | PSW_ADDR_AMODE; regs->gprs[2] = map_signal(sig); @@ -348,7 +355,10 @@ /* Set up registers for signal handler */ regs->gprs[15] = (unsigned long) frame; - regs->psw.mask |= PSW_MASK_EA | PSW_MASK_BA; /* 64 bit amode */ + /* Force default amode and default user address space control. */ + regs->psw.mask = PSW_MASK_EA | PSW_MASK_BA | + (psw_user_bits & PSW_MASK_ASC) | + (regs->psw.mask & ~PSW_MASK_ASC); regs->psw.addr = (unsigned long) ka->sa.sa_handler | PSW_ADDR_AMODE; regs->gprs[2] = map_signal(sig); --- linux-lowlatency-3.5.0.orig/arch/s390/kernel/smp.c +++ linux-lowlatency-3.5.0/arch/s390/kernel/smp.c @@ -984,14 +984,11 @@ unsigned int cpu = (unsigned int)(long)hcpu; struct cpu *c = &pcpu_devices[cpu].cpu; struct device *s = &c->dev; - struct s390_idle_data *idle; int err = 0; switch (action) { case CPU_ONLINE: case CPU_ONLINE_FROZEN: - idle = &per_cpu(s390_idle, cpu); - memset(idle, 0, sizeof(struct s390_idle_data)); err = sysfs_create_group(&s->kobj, &cpu_online_attr_group); break; case CPU_DEAD: --- linux-lowlatency-3.5.0.orig/arch/s390/kernel/vmlinux.lds.S +++ linux-lowlatency-3.5.0/arch/s390/kernel/vmlinux.lds.S @@ -8,7 +8,7 @@ #ifndef CONFIG_64BIT OUTPUT_FORMAT("elf32-s390", "elf32-s390", "elf32-s390") -OUTPUT_ARCH(s390) +OUTPUT_ARCH(s390:31-bit) ENTRY(startup) jiffies = jiffies_64 + 4; #else --- linux-lowlatency-3.5.0.orig/arch/s390/mm/fault.c +++ linux-lowlatency-3.5.0/arch/s390/mm/fault.c @@ -443,6 +443,7 @@ struct pt_regs regs; int access, fault; + /* Emulate a uaccess fault from kernel mode. */ regs.psw.mask = psw_kernel_bits | PSW_MASK_DAT | PSW_MASK_MCHECK; if (!irqs_disabled()) regs.psw.mask |= PSW_MASK_IO | PSW_MASK_EXT; @@ -452,12 +453,12 @@ regs.int_parm_long = (uaddr & PAGE_MASK) | 2; access = write ? VM_WRITE : VM_READ; fault = do_exception(®s, access); - if (unlikely(fault)) { - if (fault & VM_FAULT_OOM) - return -EFAULT; - else if (fault & VM_FAULT_SIGBUS) - do_sigbus(®s); - } + /* + * Since the fault happened in kernel mode while performing a uaccess + * all we need to do now is emulating a fixup in case "fault" is not + * zero. + * For the calling uaccess functions this results always in -EFAULT. + */ return fault ? -EFAULT : 0; } --- linux-lowlatency-3.5.0.orig/arch/s390/mm/gup.c +++ linux-lowlatency-3.5.0/arch/s390/mm/gup.c @@ -183,7 +183,7 @@ addr = start; len = (unsigned long) nr_pages << PAGE_SHIFT; end = start + len; - if (end < start) + if ((end < start) || (end > TASK_SIZE)) goto slow_irqon; /* --- linux-lowlatency-3.5.0.orig/arch/s390/mm/mmap.c +++ linux-lowlatency-3.5.0/arch/s390/mm/mmap.c @@ -105,9 +105,15 @@ int s390_mmap_check(unsigned long addr, unsigned long len) { + int rc; + if (!is_compat_task() && - len >= TASK_SIZE && TASK_SIZE < (1UL << 53)) - return crst_table_upgrade(current->mm, 1UL << 53); + len >= TASK_SIZE && TASK_SIZE < (1UL << 53)) { + rc = crst_table_upgrade(current->mm, 1UL << 53); + if (rc) + return rc; + update_mm(current->mm, current); + } return 0; } @@ -127,6 +133,7 @@ rc = crst_table_upgrade(mm, 1UL << 53); if (rc) return (unsigned long) rc; + update_mm(mm, current); area = arch_get_unmapped_area(filp, addr, len, pgoff, flags); } return area; @@ -149,6 +156,7 @@ rc = crst_table_upgrade(mm, 1UL << 53); if (rc) return (unsigned long) rc; + update_mm(mm, current); area = arch_get_unmapped_area_topdown(filp, addr, len, pgoff, flags); } --- linux-lowlatency-3.5.0.orig/arch/s390/mm/pgtable.c +++ linux-lowlatency-3.5.0/arch/s390/mm/pgtable.c @@ -85,7 +85,6 @@ crst_table_free(mm, table); if (mm->context.asce_limit < limit) goto repeat; - update_mm(mm, current); return 0; } @@ -93,9 +92,6 @@ { pgd_t *pgd; - if (mm->context.asce_limit <= limit) - return; - __tlb_flush_mm(mm); while (mm->context.asce_limit > limit) { pgd = mm->pgd; switch (pgd_val(*pgd) & _REGION_ENTRY_TYPE_MASK) { @@ -118,7 +114,6 @@ mm->task_size = mm->context.asce_limit; crst_table_free(mm, (unsigned long *) pgd); } - update_mm(mm, current); } #endif --- linux-lowlatency-3.5.0.orig/arch/s390/oprofile/init.c +++ linux-lowlatency-3.5.0/arch/s390/oprofile/init.c @@ -171,7 +171,7 @@ if (*offset) return -EINVAL; retval = oprofilefs_ulong_from_user(&val, buf, count); - if (retval) + if (retval <= 0) return retval; if (val < oprofile_min_interval) oprofile_hw_interval = oprofile_min_interval; @@ -214,7 +214,7 @@ return -EINVAL; retval = oprofilefs_ulong_from_user(&val, buf, count); - if (retval) + if (retval <= 0) return retval; if (val != 0) return -EINVAL; @@ -245,7 +245,7 @@ return -EINVAL; retval = oprofilefs_ulong_from_user(&val, buf, count); - if (retval) + if (retval <= 0) return retval; if (val != 0 && val != 1) @@ -280,7 +280,7 @@ return -EINVAL; retval = oprofilefs_ulong_from_user(&val, buf, count); - if (retval) + if (retval <= 0) return retval; if (val != 0 && val != 1) @@ -319,7 +319,7 @@ return -EINVAL; retval = oprofilefs_ulong_from_user(&val, buf, count); - if (retval) + if (retval <= 0) return retval; if (val != 0 && val != 1) --- linux-lowlatency-3.5.0.orig/arch/score/kernel/process.c +++ linux-lowlatency-3.5.0/arch/score/kernel/process.c @@ -27,6 +27,7 @@ #include #include #include +#include void (*pm_power_off)(void); EXPORT_SYMBOL(pm_power_off); @@ -50,9 +51,10 @@ { /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); while (!need_resched()) barrier(); - + rcu_idle_exit(); schedule_preempt_disabled(); } } --- linux-lowlatency-3.5.0.orig/arch/sh/mm/fault.c +++ linux-lowlatency-3.5.0/arch/sh/mm/fault.c @@ -58,11 +58,15 @@ { pgd_t *pgd; - if (mm) + if (mm) { pgd = mm->pgd; - else + } else { pgd = get_TTB(); + if (unlikely(!pgd)) + pgd = swapper_pg_dir; + } + printk(KERN_ALERT "pgd = %p\n", pgd); pgd += pgd_index(addr); printk(KERN_ALERT "[%08lx] *pgd=%0*Lx", addr, --- linux-lowlatency-3.5.0.orig/arch/sparc/kernel/perf_event.c +++ linux-lowlatency-3.5.0/arch/sparc/kernel/perf_event.c @@ -557,11 +557,13 @@ static inline void sparc_pmu_enable_event(struct cpu_hw_events *cpuc, struct hw_perf_event *hwc, int idx) { - u64 val, mask = mask_for_index(idx); + u64 enc, val, mask = mask_for_index(idx); + + enc = perf_event_get_enc(cpuc->events[idx]); val = cpuc->pcr; val &= ~mask; - val |= hwc->config; + val |= event_encoding(enc, idx); cpuc->pcr = val; pcr_ops->write(cpuc->pcr); @@ -1426,8 +1428,6 @@ { unsigned long ufp; - perf_callchain_store(entry, regs->tpc); - ufp = regs->u_regs[UREG_I6] + STACK_BIAS; do { struct sparc_stackf *usf, sf; @@ -1448,8 +1448,6 @@ { unsigned long ufp; - perf_callchain_store(entry, regs->tpc); - ufp = regs->u_regs[UREG_I6] & 0xffffffffUL; do { struct sparc_stackf32 *usf, sf; @@ -1468,6 +1466,11 @@ void perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs) { + perf_callchain_store(entry, regs->tpc); + + if (!current->mm) + return; + flushw_user(); if (test_thread_flag(TIF_32BIT)) perf_callchain_user_32(entry, regs); --- linux-lowlatency-3.5.0.orig/arch/sparc/kernel/signal_64.c +++ linux-lowlatency-3.5.0/arch/sparc/kernel/signal_64.c @@ -295,9 +295,7 @@ err |= restore_fpu_state(regs, fpu_save); err |= __copy_from_user(&set, &sf->mask, sizeof(sigset_t)); - err |= do_sigaltstack(&sf->stack, NULL, (unsigned long)sf); - - if (err) + if (err || do_sigaltstack(&sf->stack, NULL, (unsigned long)sf) == -EFAULT) goto segv; err |= __get_user(rwin_save, &sf->rwin_save); --- linux-lowlatency-3.5.0.orig/arch/sparc/kernel/sys_sparc_64.c +++ linux-lowlatency-3.5.0/arch/sparc/kernel/sys_sparc_64.c @@ -519,12 +519,12 @@ { int ret; - if (current->personality == PER_LINUX32 && - personality == PER_LINUX) - personality = PER_LINUX32; + if (personality(current->personality) == PER_LINUX32 && + personality(personality) == PER_LINUX) + personality |= PER_LINUX32; ret = sys_personality(personality); - if (ret == PER_LINUX32) - ret = PER_LINUX; + if (personality(ret) == PER_LINUX32) + ret &= ~PER_LINUX32; return ret; } --- linux-lowlatency-3.5.0.orig/arch/sparc/kernel/syscalls.S +++ linux-lowlatency-3.5.0/arch/sparc/kernel/syscalls.S @@ -212,24 +212,20 @@ 3: stx %o0, [%sp + PTREGS_OFF + PT_V9_I0] ret_sys_call: ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %g3 - ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1 ! pc = npc sra %o0, 0, %o0 mov %ulo(TSTATE_XCARRY | TSTATE_ICARRY), %g2 sllx %g2, 32, %g2 - /* Check if force_successful_syscall_return() - * was invoked. - */ - ldub [%g6 + TI_SYS_NOERROR], %l2 - brnz,a,pn %l2, 80f - stb %g0, [%g6 + TI_SYS_NOERROR] - cmp %o0, -ERESTART_RESTARTBLOCK bgeu,pn %xcc, 1f - andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %l6 -80: + andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %g0 + ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1 ! pc = npc + +2: + stb %g0, [%g6 + TI_SYS_NOERROR] /* System call success, clear Carry condition code. */ andn %g3, %g2, %g3 +3: stx %g3, [%sp + PTREGS_OFF + PT_V9_TSTATE] bne,pn %icc, linux_syscall_trace2 add %l1, 0x4, %l2 ! npc = npc+4 @@ -238,20 +234,20 @@ stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] 1: + /* Check if force_successful_syscall_return() + * was invoked. + */ + ldub [%g6 + TI_SYS_NOERROR], %l2 + brnz,pn %l2, 2b + ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1 ! pc = npc /* System call failure, set Carry condition code. * Also, get abs(errno) to return to the process. */ - andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %l6 sub %g0, %o0, %o0 - or %g3, %g2, %g3 stx %o0, [%sp + PTREGS_OFF + PT_V9_I0] - stx %g3, [%sp + PTREGS_OFF + PT_V9_TSTATE] - bne,pn %icc, linux_syscall_trace2 - add %l1, 0x4, %l2 ! npc = npc+4 - stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC] + ba,pt %xcc, 3b + or %g3, %g2, %g3 - b,pt %xcc, rtrap - stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] linux_syscall_trace2: call syscall_trace_leave add %sp, PTREGS_OFF, %o0 --- linux-lowlatency-3.5.0.orig/arch/sparc/mm/init_64.c +++ linux-lowlatency-3.5.0/arch/sparc/mm/init_64.c @@ -2020,6 +2020,9 @@ #ifdef CONFIG_SPARSEMEM_VMEMMAP unsigned long vmemmap_table[VMEMMAP_SIZE]; +static long __meminitdata addr_start, addr_end; +static int __meminitdata node_start; + int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node) { unsigned long vstart = (unsigned long) start; @@ -2050,15 +2053,30 @@ *vmem_pp = pte_base | __pa(block); - printk(KERN_INFO "[%p-%p] page_structs=%lu " - "node=%d entry=%lu/%lu\n", start, block, nr, - node, - addr >> VMEMMAP_CHUNK_SHIFT, - VMEMMAP_SIZE); + /* check to see if we have contiguous blocks */ + if (addr_end != addr || node_start != node) { + if (addr_start) + printk(KERN_DEBUG " [%lx-%lx] on node %d\n", + addr_start, addr_end-1, node_start); + addr_start = addr; + node_start = node; + } + addr_end = addr + VMEMMAP_CHUNK; } } return 0; } + +void __meminit vmemmap_populate_print_last(void) +{ + if (addr_start) { + printk(KERN_DEBUG " [%lx-%lx] on node %d\n", + addr_start, addr_end-1, node_start); + addr_start = 0; + addr_end = 0; + node_start = 0; + } +} #endif /* CONFIG_SPARSEMEM_VMEMMAP */ static void prot_init_common(unsigned long page_none, --- linux-lowlatency-3.5.0.orig/arch/tile/Makefile +++ linux-lowlatency-3.5.0/arch/tile/Makefile @@ -26,6 +26,10 @@ endif endif +# The tile compiler may emit .eh_frame information for backtracing. +# In kernel modules, this causes load failures due to unsupported relocations. +KBUILD_CFLAGS += -fno-asynchronous-unwind-tables + ifneq ($(CONFIG_DEBUG_EXTRA_FLAGS),"") KBUILD_CFLAGS += $(CONFIG_DEBUG_EXTRA_FLAGS) endif --- linux-lowlatency-3.5.0.orig/arch/x86/Kconfig +++ linux-lowlatency-3.5.0/arch/x86/Kconfig @@ -381,6 +381,12 @@ # Following is an alphabetically sorted list of 32 bit extended platforms # Please maintain the alphabetic order if and when there are additions +config X86_LPIA + bool "LPIA-compatible" + depends on X86_32 && X86_PC + help + Choose this option if your computer is an LPIA platform. + config X86_INTEL_CE bool "CE4100 TV platform" depends on PCI @@ -883,6 +889,14 @@ Additional support for intel specific MCE features such as the thermal monitor. +config X86_MCE_XEON75XX + tristate "Intel Xeon 7500 series corrected memory error driver" + depends on X86_MCE_INTEL && PCI + ---help--- + Add support for a Intel Xeon 7500 series specific memory error driver. + This allows to report the DIMM and physical address on a corrected + memory error machine check event. + config X86_MCE_AMD def_bool y prompt "AMD MCE features" @@ -2220,6 +2234,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "drivers/firmware/Kconfig" source "fs/Kconfig" --- linux-lowlatency-3.5.0.orig/arch/x86/Makefile +++ linux-lowlatency-3.5.0/arch/x86/Makefile @@ -85,7 +85,7 @@ ifdef CONFIG_X86_X32 x32_ld_ok := $(call try-run,\ /bin/echo -e '1: .quad 1b' | \ - $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" - && \ + $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" - && \ $(OBJCOPY) -O elf32-x86-64 "$$TMP" "$$TMPO" && \ $(LD) -m elf32_x86_64 "$$TMPO" -o "$$TMP",y,n) ifeq ($(x32_ld_ok),y) --- linux-lowlatency-3.5.0.orig/arch/x86/boot/header.S +++ linux-lowlatency-3.5.0/arch/x86/boot/header.S @@ -283,7 +283,7 @@ # Part 2 of the header, from the old setup.S .ascii "HdrS" # header signature - .word 0x020a # header version number (>= 0x0105) + .word 0x020b # header version number (>= 0x0105) # or else old loadlin-1.5 will fail) .globl realmode_swtch realmode_swtch: .word 0, 0 # default_switch, SETUPSEG @@ -401,6 +401,8 @@ #define INIT_SIZE VO_INIT_SIZE #endif init_size: .long INIT_SIZE # kernel initialization size +handover_offset: .long 0x30 # offset to the handover + # protocol entry point # End of setup header ##################################################### --- linux-lowlatency-3.5.0.orig/arch/x86/boot/video.h +++ linux-lowlatency-3.5.0/arch/x86/boot/video.h @@ -80,7 +80,7 @@ u16 xmode_n; /* Size of unprobed mode range */ }; -#define __videocard struct card_info __attribute__((section(".videocards"))) +#define __videocard struct card_info __attribute__((used,section(".videocards"))) extern struct card_info video_cards[], video_cards_end[]; int mode_defined(u16 mode); /* video.c */ --- linux-lowlatency-3.5.0.orig/arch/x86/boot/compressed/Makefile +++ linux-lowlatency-3.5.0/arch/x86/boot/compressed/Makefile @@ -28,6 +28,9 @@ $(obj)/string.o $(obj)/cmdline.o $(obj)/early_serial_console.o \ $(obj)/piggy.o +$(obj)/eboot.o: KBUILD_CFLAGS += -fshort-wchar -mno-red-zone +$(obj)/efi_stub_$(BITS).o: KBUILD_CLFAGS += -fshort-wchar -mno-red-zone + ifeq ($(CONFIG_EFI_STUB), y) VMLINUX_OBJS += $(obj)/eboot.o $(obj)/efi_stub_$(BITS).o endif --- linux-lowlatency-3.5.0.orig/arch/x86/boot/compressed/eboot.c +++ linux-lowlatency-3.5.0/arch/x86/boot/compressed/eboot.c @@ -12,6 +12,8 @@ #include #include +#undef memcpy /* Use memcpy from misc.c */ + #include "eboot.h" static efi_system_table_t *sys_table; @@ -729,32 +731,68 @@ * need to create one ourselves (usually the bootloader would create * one for us). */ -static efi_status_t make_boot_params(struct boot_params *boot_params, - efi_loaded_image_t *image, - void *handle) +struct boot_params *make_boot_params(void *handle, efi_system_table_t *_table) { - struct efi_info *efi = &boot_params->efi_info; - struct apm_bios_info *bi = &boot_params->apm_bios_info; - struct sys_desc_table *sdt = &boot_params->sys_desc_table; - struct e820entry *e820_map = &boot_params->e820_map[0]; - struct e820entry *prev = NULL; - struct setup_header *hdr = &boot_params->hdr; - unsigned long size, key, desc_size, _size; - efi_memory_desc_t *mem_map; - void *options = image->load_options; - u32 load_options_size = image->load_options_size / 2; /* ASCII */ + struct boot_params *boot_params; + struct sys_desc_table *sdt; + struct apm_bios_info *bi; + struct setup_header *hdr; + struct efi_info *efi; + efi_loaded_image_t *image; + void *options; + u32 load_options_size; + efi_guid_t proto = LOADED_IMAGE_PROTOCOL_GUID; int options_size = 0; efi_status_t status; - __u32 desc_version; unsigned long cmdline; - u8 nr_entries; u16 *s2; u8 *s1; int i; + sys_table = _table; + + /* Check if we were booted by the EFI firmware */ + if (sys_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) + return NULL; + + status = efi_call_phys3(sys_table->boottime->handle_protocol, + handle, &proto, (void *)&image); + if (status != EFI_SUCCESS) { + efi_printk("Failed to get handle for LOADED_IMAGE_PROTOCOL\n"); + return NULL; + } + + status = low_alloc(0x4000, 1, (unsigned long *)&boot_params); + if (status != EFI_SUCCESS) { + efi_printk("Failed to alloc lowmem for boot params\n"); + return NULL; + } + + memset(boot_params, 0x0, 0x4000); + + hdr = &boot_params->hdr; + efi = &boot_params->efi_info; + bi = &boot_params->apm_bios_info; + sdt = &boot_params->sys_desc_table; + + /* Copy the second sector to boot_params */ + memcpy(&hdr->jump, image->image_base + 512, 512); + + /* + * Fill out some of the header fields ourselves because the + * EFI firmware loader doesn't load the first sector. + */ + hdr->root_flags = 1; + hdr->vid_mode = 0xffff; + hdr->boot_flag = 0xAA55; + + hdr->code32_start = (__u64)(unsigned long)image->image_base; + hdr->type_of_loader = 0x21; /* Convert unicode cmdline to ascii */ + options = image->load_options; + load_options_size = image->load_options_size / 2; /* ASCII */ cmdline = 0; s2 = (u16 *)options; @@ -791,18 +829,36 @@ hdr->ramdisk_image = 0; hdr->ramdisk_size = 0; - status = handle_ramdisks(image, hdr); - if (status != EFI_SUCCESS) - goto free_cmdline; - - setup_graphics(boot_params); - /* Clear APM BIOS info */ memset(bi, 0, sizeof(*bi)); memset(sdt, 0, sizeof(*sdt)); - memcpy(&efi->efi_loader_signature, EFI_LOADER_SIGNATURE, sizeof(__u32)); + status = handle_ramdisks(image, hdr); + if (status != EFI_SUCCESS) + goto fail2; + + return boot_params; +fail2: + if (options_size) + low_free(options_size, hdr->cmd_line_ptr); +fail: + low_free(0x4000, (unsigned long)boot_params); + return NULL; +} + +static efi_status_t exit_boot(struct boot_params *boot_params, + void *handle) +{ + struct efi_info *efi = &boot_params->efi_info; + struct e820entry *e820_map = &boot_params->e820_map[0]; + struct e820entry *prev = NULL; + unsigned long size, key, desc_size, _size; + efi_memory_desc_t *mem_map; + efi_status_t status; + __u32 desc_version; + u8 nr_entries; + int i; size = sizeof(*mem_map) * 32; @@ -811,7 +867,7 @@ _size = size; status = low_alloc(size, 1, (unsigned long *)&mem_map); if (status != EFI_SUCCESS) - goto free_cmdline; + return status; status = efi_call_phys5(sys_table->boottime->get_memory_map, &size, mem_map, &key, &desc_size, &desc_version); @@ -823,6 +879,7 @@ if (status != EFI_SUCCESS) goto free_mem_map; + memcpy(&efi->efi_loader_signature, EFI_LOADER_SIGNATURE, sizeof(__u32)); efi->efi_systab = (unsigned long)sys_table; efi->efi_memdesc_size = desc_size; efi->efi_memdesc_version = desc_version; @@ -906,61 +963,13 @@ free_mem_map: low_free(_size, (unsigned long)mem_map); -free_cmdline: - if (options_size) - low_free(options_size, hdr->cmd_line_ptr); -fail: return status; } -/* - * On success we return a pointer to a boot_params structure, and NULL - * on failure. - */ -struct boot_params *efi_main(void *handle, efi_system_table_t *_table) +static efi_status_t relocate_kernel(struct setup_header *hdr) { - struct boot_params *boot_params; unsigned long start, nr_pages; - struct desc_ptr *gdt, *idt; - efi_loaded_image_t *image; - struct setup_header *hdr; efi_status_t status; - efi_guid_t proto = LOADED_IMAGE_PROTOCOL_GUID; - struct desc_struct *desc; - - sys_table = _table; - - /* Check if we were booted by the EFI firmware */ - if (sys_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) - goto fail; - - status = efi_call_phys3(sys_table->boottime->handle_protocol, - handle, &proto, (void *)&image); - if (status != EFI_SUCCESS) { - efi_printk("Failed to get handle for LOADED_IMAGE_PROTOCOL\n"); - goto fail; - } - - status = low_alloc(0x4000, 1, (unsigned long *)&boot_params); - if (status != EFI_SUCCESS) { - efi_printk("Failed to alloc lowmem for boot params\n"); - goto fail; - } - - memset(boot_params, 0x0, 0x4000); - - hdr = &boot_params->hdr; - - /* Copy the second sector to boot_params */ - memcpy(&hdr->jump, image->image_base + 512, 512); - - /* - * Fill out some of the header fields ourselves because the - * EFI firmware loader doesn't load the first sector. - */ - hdr->root_flags = 1; - hdr->vid_mode = 0xffff; - hdr->boot_flag = 0xAA55; /* * The EFI firmware loader could have placed the kernel image @@ -978,16 +987,40 @@ if (status != EFI_SUCCESS) { status = low_alloc(hdr->init_size, hdr->kernel_alignment, &start); - if (status != EFI_SUCCESS) { + if (status != EFI_SUCCESS) efi_printk("Failed to alloc mem for kernel\n"); - goto fail; - } } + if (status == EFI_SUCCESS) + memcpy((void *)start, (void *)(unsigned long)hdr->code32_start, + hdr->init_size); + + hdr->pref_address = hdr->code32_start; hdr->code32_start = (__u32)start; - hdr->pref_address = (__u64)(unsigned long)image->image_base; - memcpy((void *)start, image->image_base, image->image_size); + return status; +} + +/* + * On success we return a pointer to a boot_params structure, and NULL + * on failure. + */ +struct boot_params *efi_main(void *handle, efi_system_table_t *_table, + struct boot_params *boot_params) +{ + struct desc_ptr *gdt, *idt; + efi_loaded_image_t *image; + struct setup_header *hdr = &boot_params->hdr; + efi_status_t status; + struct desc_struct *desc; + + sys_table = _table; + + /* Check if we were booted by the EFI firmware */ + if (sys_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) + goto fail; + + setup_graphics(boot_params); status = efi_call_phys3(sys_table->boottime->allocate_pool, EFI_LOADER_DATA, sizeof(*gdt), @@ -1015,7 +1048,18 @@ idt->size = 0; idt->address = 0; - status = make_boot_params(boot_params, image, handle); + /* + * If the kernel isn't already loaded at the preferred load + * address, relocate it. + */ + if (hdr->pref_address != hdr->code32_start) { + status = relocate_kernel(hdr); + + if (status != EFI_SUCCESS) + goto fail; + } + + status = exit_boot(boot_params, handle); if (status != EFI_SUCCESS) goto fail; --- linux-lowlatency-3.5.0.orig/arch/x86/boot/compressed/head_32.S +++ linux-lowlatency-3.5.0/arch/x86/boot/compressed/head_32.S @@ -42,6 +42,16 @@ */ add $0x4, %esp + call make_boot_params + cmpl $0, %eax + je 1f + movl 0x4(%esp), %esi + movl (%esp), %ecx + pushl %eax + pushl %esi + pushl %ecx + + .org 0x30,0x90 call efi_main cmpl $0, %eax movl %eax, %esi --- linux-lowlatency-3.5.0.orig/arch/x86/boot/compressed/head_64.S +++ linux-lowlatency-3.5.0/arch/x86/boot/compressed/head_64.S @@ -209,6 +209,16 @@ .org 0x210 mov %rcx, %rdi mov %rdx, %rsi + pushq %rdi + pushq %rsi + call make_boot_params + cmpq $0,%rax + je 1f + mov %rax, %rdx + popq %rsi + popq %rdi + + .org 0x230,0x90 call efi_main movq %rax,%rsi cmpq $0,%rax --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/bootparam.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/bootparam.h @@ -66,6 +66,7 @@ __u64 setup_data; __u64 pref_address; __u32 init_size; + __u32 handover_offset; } __attribute__((packed)); struct sys_desc_table { --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/dma-mapping.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/dma-mapping.h @@ -162,8 +162,6 @@ { struct dma_map_ops *ops = get_dma_ops(dev); - WARN_ON(irqs_disabled()); /* for portability */ - if (dma_release_from_coherent(dev, get_order(size), vaddr)) return; --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/efi.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/efi.h @@ -98,6 +98,7 @@ extern int efi_memblock_x86_reserve_range(void); extern void efi_call_phys_prelog(void); extern void efi_call_phys_epilog(void); +extern void efi_unmap_memmap(void); #ifndef CONFIG_EFI /* --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/fpu-internal.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/fpu-internal.h @@ -334,14 +334,17 @@ typedef struct { int preload; } fpu_switch_t; /* - * FIXME! We could do a totally lazy restore, but we need to - * add a per-cpu "this was the task that last touched the FPU - * on this CPU" variable, and the task needs to have a "I last - * touched the FPU on this CPU" and check them. + * Must be run with preemption disabled: this clears the fpu_owner_task, + * on this CPU. * - * We don't do that yet, so "fpu_lazy_restore()" always returns - * false, but some day.. + * This will disable any lazy FPU state restore of the current FPU state, + * but if the current thread owns the FPU, it will still be saved by. */ +static inline void __cpu_disable_lazy_restore(unsigned int cpu) +{ + per_cpu(fpu_owner_task, cpu) = NULL; +} + static inline int fpu_lazy_restore(struct task_struct *new, unsigned int cpu) { return new == this_cpu_read_stable(fpu_owner_task) && --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/kvm_host.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/kvm_host.h @@ -48,12 +48,13 @@ #define CR3_PAE_RESERVED_BITS ((X86_CR3_PWT | X86_CR3_PCD) - 1) #define CR3_NONPAE_RESERVED_BITS ((PAGE_SIZE-1) & ~(X86_CR3_PWT | X86_CR3_PCD)) +#define CR3_PCID_ENABLED_RESERVED_BITS 0xFFFFFF0000000000ULL #define CR3_L_MODE_RESERVED_BITS (CR3_NONPAE_RESERVED_BITS | \ 0xFFFFFF0000000000ULL) #define CR4_RESERVED_BITS \ (~(unsigned long)(X86_CR4_VME | X86_CR4_PVI | X86_CR4_TSD | X86_CR4_DE\ | X86_CR4_PSE | X86_CR4_PAE | X86_CR4_MCE \ - | X86_CR4_PGE | X86_CR4_PCE | X86_CR4_OSFXSR \ + | X86_CR4_PGE | X86_CR4_PCE | X86_CR4_OSFXSR | X86_CR4_PCIDE \ | X86_CR4_OSXSAVE | X86_CR4_SMEP | X86_CR4_RDWRGSFS \ | X86_CR4_OSXMMEXCPT | X86_CR4_VMXE)) @@ -661,6 +662,7 @@ u64 (*get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio); int (*get_lpage_level)(void); bool (*rdtscp_supported)(void); + bool (*invpcid_supported)(void); void (*adjust_tsc_offset)(struct kvm_vcpu *vcpu, s64 adjustment, bool host); void (*set_tdp_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3); --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/mce.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/mce.h @@ -77,6 +77,8 @@ __u32 socketid; /* CPU socket ID */ __u32 apicid; /* CPU initial apic ID */ __u64 mcgcap; /* MCGCAP MSR: machine check capabilities of CPU */ + __u64 aux0; /* model specific */ + __u64 aux1; /* model specific */ }; /* --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/pgtable.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/pgtable.h @@ -146,8 +146,7 @@ static inline int pmd_large(pmd_t pte) { - return (pmd_flags(pte) & (_PAGE_PSE | _PAGE_PRESENT)) == - (_PAGE_PSE | _PAGE_PRESENT); + return pmd_flags(pte) & _PAGE_PSE; } #ifdef CONFIG_TRANSPARENT_HUGEPAGE @@ -415,7 +414,13 @@ static inline int pmd_present(pmd_t pmd) { - return pmd_flags(pmd) & _PAGE_PRESENT; + /* + * Checking for _PAGE_PSE is needed too because + * split_huge_page will temporarily clear the present bit (but + * the _PAGE_PSE flag will remain set at all times while the + * _PAGE_PRESENT bit is clear). + */ + return pmd_flags(pmd) & (_PAGE_PRESENT | _PAGE_PROTNONE | _PAGE_PSE); } static inline int pmd_none(pmd_t pmd) --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/processor-flags.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/processor-flags.h @@ -44,6 +44,7 @@ */ #define X86_CR3_PWT 0x00000008 /* Page Write Through */ #define X86_CR3_PCD 0x00000010 /* Page Cache Disable */ +#define X86_CR3_PCID_MASK 0x00000fff /* PCID Mask */ /* * Intel CPU features in CR4 @@ -61,6 +62,7 @@ #define X86_CR4_OSXMMEXCPT 0x00000400 /* enable unmasked SSE exceptions */ #define X86_CR4_VMXE 0x00002000 /* enable VMX virtualization */ #define X86_CR4_RDWRGSFS 0x00010000 /* enable RDWRGSFS support */ +#define X86_CR4_PCIDE 0x00020000 /* enable PCID support */ #define X86_CR4_OSXSAVE 0x00040000 /* enable xsave and xrestore */ #define X86_CR4_SMEP 0x00100000 /* enable SMEP support */ --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/ptrace.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/ptrace.h @@ -205,21 +205,14 @@ } #endif -/* - * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode - * when it traps. The previous stack will be directly underneath the saved - * registers, and 'sp/ss' won't even have been saved. Thus the '®s->sp'. - * - * This is valid only for kernel mode traps. - */ -static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) -{ #ifdef CONFIG_X86_32 - return (unsigned long)(®s->sp); +extern unsigned long kernel_stack_pointer(struct pt_regs *regs); #else +static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) +{ return regs->sp; -#endif } +#endif #define GET_IP(regs) ((regs)->ip) #define GET_FP(regs) ((regs)->bp) --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/vmx.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/vmx.h @@ -60,6 +60,7 @@ #define SECONDARY_EXEC_WBINVD_EXITING 0x00000040 #define SECONDARY_EXEC_UNRESTRICTED_GUEST 0x00000080 #define SECONDARY_EXEC_PAUSE_LOOP_EXITING 0x00000400 +#define SECONDARY_EXEC_ENABLE_INVPCID 0x00001000 #define PIN_BASED_EXT_INTR_MASK 0x00000001 @@ -281,6 +282,7 @@ #define EXIT_REASON_EPT_MISCONFIG 49 #define EXIT_REASON_WBINVD 54 #define EXIT_REASON_XSETBV 55 +#define EXIT_REASON_INVPCID 58 /* * Interruption-information format @@ -404,6 +406,7 @@ #define VMX_EPTP_WB_BIT (1ull << 14) #define VMX_EPT_2MB_PAGE_BIT (1ull << 16) #define VMX_EPT_1GB_PAGE_BIT (1ull << 17) +#define VMX_EPT_AD_BIT (1ull << 21) #define VMX_EPT_EXTENT_INDIVIDUAL_BIT (1ull << 24) #define VMX_EPT_EXTENT_CONTEXT_BIT (1ull << 25) #define VMX_EPT_EXTENT_GLOBAL_BIT (1ull << 26) @@ -415,11 +418,14 @@ #define VMX_EPT_MAX_GAW 0x4 #define VMX_EPT_MT_EPTE_SHIFT 3 #define VMX_EPT_GAW_EPTP_SHIFT 3 +#define VMX_EPT_AD_ENABLE_BIT (1ull << 6) #define VMX_EPT_DEFAULT_MT 0x6ull #define VMX_EPT_READABLE_MASK 0x1ull #define VMX_EPT_WRITABLE_MASK 0x2ull #define VMX_EPT_EXECUTABLE_MASK 0x4ull #define VMX_EPT_IPAT_BIT (1ull << 6) +#define VMX_EPT_ACCESS_BIT (1ull << 8) +#define VMX_EPT_DIRTY_BIT (1ull << 9) #define VMX_EPT_IDENTITY_PAGETABLE_ADDR 0xfffbc000ul --- linux-lowlatency-3.5.0.orig/arch/x86/include/asm/xen/page.h +++ linux-lowlatency-3.5.0/arch/x86/include/asm/xen/page.h @@ -51,7 +51,8 @@ extern int m2p_add_override(unsigned long mfn, struct page *page, struct gnttab_map_grant_ref *kmap_op); -extern int m2p_remove_override(struct page *page, bool clear_pte); +extern int m2p_remove_override(struct page *page, + struct gnttab_map_grant_ref *kmap_op); extern struct page *m2p_find_override(unsigned long mfn); extern unsigned long m2p_find_override_pfn(unsigned long mfn, unsigned long pfn); --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/alternative.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/alternative.c @@ -160,7 +160,7 @@ #endif #ifdef P6_NOP1 -static const unsigned char __initconst_or_module p6nops[] = +static const unsigned char p6nops[] = { P6_NOP1, P6_NOP2, @@ -219,7 +219,7 @@ ideal_nops = intel_nops; #endif } - + break; default: #ifdef CONFIG_X86_64 ideal_nops = k8_nops; --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/e820.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/e820.c @@ -76,7 +76,7 @@ * Note: this function only works correct if the e820 table is sorted and * not-overlapping, which is the case */ -int __init e820_all_mapped(u64 start, u64 end, unsigned type) +int e820_all_mapped(u64 start, u64 end, unsigned type) { int i; @@ -103,6 +103,7 @@ } return 0; } +EXPORT_SYMBOL_GPL(e820_all_mapped); /* * Add a memory region to the kernel e820 map. @@ -1077,6 +1078,9 @@ memblock_add(ei->addr, ei->size); } + /* throw away partial pages */ + memblock_trim_memory(PAGE_SIZE); + memblock_dump_all(); } --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/entry_32.S +++ linux-lowlatency-3.5.0/arch/x86/kernel/entry_32.S @@ -1016,7 +1016,7 @@ ENTRY(xen_hypervisor_callback) CFI_STARTPROC - pushl_cfi $0 + pushl_cfi $-1 /* orig_ax = -1 => not a system call */ SAVE_ALL TRACE_IRQS_OFF @@ -1058,14 +1058,16 @@ 2: mov 8(%esp),%es 3: mov 12(%esp),%fs 4: mov 16(%esp),%gs + /* EAX == 0 => Category 1 (Bad segment) + EAX != 0 => Category 2 (Bad IRET) */ testl %eax,%eax popl_cfi %eax lea 16(%esp),%esp CFI_ADJUST_CFA_OFFSET -16 jz 5f addl $16,%esp - jmp iret_exc # EAX != 0 => Category 2 (Bad IRET) -5: pushl_cfi $0 # EAX == 0 => Category 1 (Bad segment) + jmp iret_exc +5: pushl_cfi $-1 /* orig_ax = -1 => not a system call */ SAVE_ALL jmp ret_from_exception CFI_ENDPROC --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/entry_64.S +++ linux-lowlatency-3.5.0/arch/x86/kernel/entry_64.S @@ -1381,7 +1381,7 @@ CFI_RESTORE r11 addq $0x30,%rsp CFI_ADJUST_CFA_OFFSET -0x30 - pushq_cfi $0 + pushq_cfi $-1 /* orig_ax = -1 => not a system call */ SAVE_ALL jmp error_exit CFI_ENDPROC --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/ptrace.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/ptrace.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -165,6 +166,35 @@ #define FLAG_MASK FLAG_MASK_32 +/* + * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode + * when it traps. The previous stack will be directly underneath the saved + * registers, and 'sp/ss' won't even have been saved. Thus the '®s->sp'. + * + * Now, if the stack is empty, '®s->sp' is out of range. In this + * case we try to take the previous stack. To always return a non-null + * stack pointer we fall back to regs as stack if no previous stack + * exists. + * + * This is valid only for kernel mode traps. + */ +unsigned long kernel_stack_pointer(struct pt_regs *regs) +{ + unsigned long context = (unsigned long)regs & ~(THREAD_SIZE - 1); + unsigned long sp = (unsigned long)®s->sp; + struct thread_info *tinfo; + + if (context == (sp & ~(THREAD_SIZE - 1))) + return sp; + + tinfo = (struct thread_info *)context; + if (tinfo->previous_esp) + return tinfo->previous_esp; + + return (unsigned long)regs; +} +EXPORT_SYMBOL_GPL(kernel_stack_pointer); + static unsigned long *pt_regs_access(struct pt_regs *regs, unsigned long regno) { BUILD_BUG_ON(offsetof(struct pt_regs, bx) != 0); --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/microcode_amd.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/microcode_amd.c @@ -97,6 +97,7 @@ #define F1XH_MPB_MAX_SIZE 2048 #define F14H_MPB_MAX_SIZE 1824 #define F15H_MPB_MAX_SIZE 4096 +#define F16H_MPB_MAX_SIZE 3458 switch (c->x86) { case 0x14: @@ -105,6 +106,9 @@ case 0x15: max_size = F15H_MPB_MAX_SIZE; break; + case 0x16: + max_size = F16H_MPB_MAX_SIZE; + break; default: max_size = F1XH_MPB_MAX_SIZE; break; @@ -143,11 +147,12 @@ unsigned int *current_size) { struct microcode_header_amd *mc_hdr; - unsigned int actual_size; + unsigned int actual_size, patch_size; u16 equiv_cpu_id; /* size of the current patch we're staring at */ - *current_size = *(u32 *)(ucode_ptr + 4) + SECTION_HDR_SIZE; + patch_size = *(u32 *)(ucode_ptr + 4); + *current_size = patch_size + SECTION_HDR_SIZE; equiv_cpu_id = find_equiv_id(); if (!equiv_cpu_id) @@ -174,7 +179,7 @@ /* * now that the header looks sane, verify its size */ - actual_size = verify_ucode_size(cpu, *current_size, leftover_size); + actual_size = verify_ucode_size(cpu, patch_size, leftover_size); if (!actual_size) return 0; --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/microcode_core.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/microcode_core.c @@ -298,19 +298,31 @@ const char *buf, size_t size) { unsigned long val; - int cpu = dev->id; - ssize_t ret = 0; + int cpu; + ssize_t ret = 0, tmp_ret; + + /* allow reload only from the BSP */ + if (boot_cpu_data.cpu_index != dev->id) + return -EINVAL; ret = kstrtoul(buf, 0, &val); if (ret) return ret; - if (val == 1) { - get_online_cpus(); - if (cpu_online(cpu)) - ret = reload_for_cpu(cpu); - put_online_cpus(); + if (val != 1) + return size; + + get_online_cpus(); + for_each_online_cpu(cpu) { + tmp_ret = reload_for_cpu(cpu); + if (tmp_ret != 0) + pr_warn("Error reloading microcode on CPU %d\n", cpu); + + /* save retval of the first encountered reload error */ + if (!ret) + ret = tmp_ret; } + put_online_cpus(); if (!ret) ret = size; --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/reboot.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/reboot.c @@ -435,6 +435,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), }, }, + { /* Handle problems with rebooting on the Latitude E6220. */ + .callback = set_pci_reboot, + .ident = "Dell Latitude E6220", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6220"), + }, + }, { /* Handle problems with rebooting on the Latitude E6420. */ .callback = set_pci_reboot, .ident = "Dell Latitude E6420", @@ -459,6 +467,30 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Precision M6600"), }, }, + { /* Handle problems with rebooting on the Latitude E6520. */ + .callback = set_pci_reboot, + .ident = "Dell Latitude E6520", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6520"), + }, + }, + { /* Handle problems with rebooting on the OptiPlex 790. */ + .callback = set_pci_reboot, + .ident = "Dell OptiPlex 790", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 790"), + }, + }, + { /* Handle problems with rebooting on the OptiPlex 990. */ + .callback = set_pci_reboot, + .ident = "Dell OptiPlex 990", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"), + }, + }, { } }; --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/setup.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/setup.c @@ -919,8 +919,22 @@ #ifdef CONFIG_X86_64 if (max_pfn > max_low_pfn) { - max_pfn_mapped = init_memory_mapping(1UL<<32, - max_pfn< #include #include +#include +#include #include #include #include @@ -826,6 +828,9 @@ per_cpu(cpu_state, cpu) = CPU_UP_PREPARE; + /* the FPU context is blank, nobody can own it */ + __cpu_disable_lazy_restore(cpu); + err = do_boot_cpu(apicid, cpu, tidle); if (err) { pr_debug("do_boot_cpu failed %d\n", err); --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/acpi/sleep.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/acpi/sleep.c @@ -94,6 +94,8 @@ acpi_realmode_flags |= 2; if (strncmp(str, "s3_beep", 7) == 0) acpi_realmode_flags |= 4; + if (strncmp(str, "s3_leds", 7) == 0) + acpi_realmode_flags |= 8; #ifdef CONFIG_HIBERNATION if (strncmp(str, "s4_nohwsig", 10) == 0) acpi_no_s4_hw_signature(); --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/cpu/amd.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/cpu/amd.c @@ -598,6 +598,20 @@ } } + /* + * The way access filter has a performance penalty on some workloads. + * Disable it on the affected CPUs. + */ + if ((c->x86 == 0x15) && + (c->x86_model >= 0x02) && (c->x86_model < 0x20)) { + u64 val; + + if (!rdmsrl_safe(0xc0011021, &val) && !(val & 0x1E)) { + val |= 0x1E; + checking_wrmsrl(0xc0011021, val); + } + } + cpu_detect_cache_sizes(c); /* Multi core CPU? */ --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/cpu/common.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/cpu/common.c @@ -144,6 +144,8 @@ { setup_clear_cpu_cap(X86_FEATURE_XSAVE); setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT); + setup_clear_cpu_cap(X86_FEATURE_AVX); + setup_clear_cpu_cap(X86_FEATURE_AVX2); return 1; } __setup("noxsave", x86_xsave_setup); --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/cpu/perf_event_amd_ibs.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/cpu/perf_event_amd_ibs.c @@ -207,6 +207,15 @@ return -EOPNOTSUPP; } +static const struct perf_event_attr ibs_notsupp = { + .exclude_user = 1, + .exclude_kernel = 1, + .exclude_hv = 1, + .exclude_idle = 1, + .exclude_host = 1, + .exclude_guest = 1, +}; + static int perf_ibs_init(struct perf_event *event) { struct hw_perf_event *hwc = &event->hw; @@ -227,6 +236,9 @@ if (event->pmu != &perf_ibs->pmu) return -ENOENT; + if (perf_flags(&event->attr) & perf_flags(&ibs_notsupp)) + return -EINVAL; + if (config & ~perf_ibs->config_mask) return -EINVAL; --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/cpu/mcheck/Makefile +++ linux-lowlatency-3.5.0/arch/x86/kernel/cpu/mcheck/Makefile @@ -2,6 +2,7 @@ obj-$(CONFIG_X86_ANCIENT_MCE) += winchip.o p5.o obj-$(CONFIG_X86_MCE_INTEL) += mce_intel.o +obj-$(CONFIG_X86_MCE_XEON75XX) += mce-xeon75xx.o obj-$(CONFIG_X86_MCE_AMD) += mce_amd.o obj-$(CONFIG_X86_MCE_THRESHOLD) += threshold.o obj-$(CONFIG_X86_MCE_INJECT) += mce-inject.o --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/cpu/mcheck/mce-internal.h +++ linux-lowlatency-3.5.0/arch/x86/kernel/cpu/mcheck/mce-internal.h @@ -28,6 +28,8 @@ extern struct mce_bank *mce_banks; +extern void (*mce_cpu_specific_poll)(struct mce *); + #ifdef CONFIG_ACPI_APEI int apei_write_mce(struct mce *m); ssize_t apei_read_mce(struct mce *m, u64 *record_id); --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/cpu/mcheck/mce-xeon75xx.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/cpu/mcheck/mce-xeon75xx.c @@ -0,0 +1,427 @@ +/* + * Xeon 7500 series specific machine check support code. + * Copyright 2009, 2010 Intel Corporation + * Author: Andi Kleen + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; version 2 + * of the License. + * + * Implement Xeon 7500 series specific code to retrieve the physical address + * and DIMM information for corrected memory errors. + * + * Interface: mce->aux0/aux1 is mapped to a struct pfa_dimm with pad + * redefined to DIMM valid bits. Consumers check CPUID and bank and + * then interpret aux0/aux1 + */ + +/* #define DEBUG 1 */ /* disable for production */ +#define pr_fmt(x) "MCE: " x + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "mce-internal.h" + +#define PFA_SIG "$PFA" +#define PFA_SIG_LEN 4 + +/* DIMM description */ +struct aux_pfa_dimm { + u8 fbd_channel_id; + u8 ddr_channel_id; + u8 ddr_dimm_id; + u8 ddr_rank_id; + u8 ddr_dimm_bank_id; + u8 ddr_dimm_row_id; + u8 ddr_dimm_column_id; + u8 valid; +} __attribute__((packed)); + +struct pfa_dimm { + u8 fbd_channel_id; + u8 ddr_channel_id; + u8 ddr_dimm_id; + u8 ddr_rank_id; + u8 ddr_dimm_bank_id; + u32 ddr_dimm_row_id; + u32 ddr_dimm_column_id; +} __attribute__((packed)); + +/* Memory translation table in memory. */ +struct pfa_table { + u8 sig[PFA_SIG_LEN]; /* Signature: '$PFA' */ + u16 len; /* total length */ + u16 revision; /* 0x11 */ + u8 checksum; /* 8bit sum to zero */ + u8 db_value; /* mailbox port command value */ + u8 db_port; /* mailbox port */ + /* end of header; end of checksum */ + u8 command; /* input command */ + u32 valid; /* valid input/output bits */ + u16 status; /* output status */ + u8 socket_id; /* input socket id*/ + u8 bank_id; /* input MCE bank id */ + u32 pad1; + u64 mbox_address; + u64 physical_addr; /* physical address */ + struct pfa_dimm dimm[2]; + /* + * topology information follows: not used for now. + */ +} __attribute__((packed)); + +/* DIMM valid bits in valid: DIMM0: 8..12; DIMM1 16..20 */ +#define DIMM_VALID_BITS(val, num) (((val) >> (4 + (num) * 8)) & DIMM_VALID_ALL) +#define DIMM_SET_VALID(val, num) ((val) << (4 + (num) * 8)) + +enum { + MCE_BANK_MBOX0 = 8, + MCE_BANK_MBOX1 = 9, + + PFA_REVISION = 0x11, /* v1.1 */ + + /* Status bits for valid field */ + PFA_VALID_MA = (1 << 0), + PFA_VALID_SOCKETID = (1 << 1), + PFA_VALID_BANKID = (1 << 2), + PFA_VALID_PA = (1 << 3), + + /* DIMM valid bits in valid */ + /* use with DIMM_VALID_BITS/DIMM_SET_VALID for pfa->valid */ + DIMM_VALID_FBD_CHAN = (1 << 0), + DIMM_VALID_DDR_CHAN = (1 << 1), + DIMM_VALID_DDR_DIMM = (1 << 2), + DIMM_VALID_DDR_RANK = (1 << 3), + DIMM_VALID_DIMM_BANK = (1 << 4), + DIMM_VALID_DIMM_ROW = (1 << 5), + DIMM_VALID_DIMM_COLUMN = (1 << 6), + DIMM_VALID_ALL = 0x7f, + + PFA_DIMM_VALID_MASK = DIMM_SET_VALID(DIMM_VALID_ALL, 0) + | DIMM_SET_VALID(DIMM_VALID_ALL, 1), + + /* Values for status field */ + PFA_STATUS_SUCCESS = 0, + PFA_STATUS_SOCKET_INVALID = (1 << 1), + PFA_STATUS_MBOX_INVALID = (1 << 2), + PFA_STATUS_MA_INVALID = (1 << 3), + PFA_STATUS_PA_INVALID = (1 << 4), + + /* Values for command field */ + PFA_CMD_GET_MEM_CORR_ERR_PA = 0, + PFA_CMD_PA_TO_DIMM_ADDR = 1, + PFA_CMD_DIMM_TO_PA = 2, + PFA_CMD_GET_TOPOLOGY = 3, + + /* PCI device IDs and the base register */ + ICH_PFA_CFG = 0x8c, /* SCRATCH4 */ + PCI_DEVICE_ID_BXB_ICH_LEGACY0 = 0x3422, +}; + +static struct pfa_table *pfa_table __read_mostly; +static int memerr_max_conv_rate __read_mostly = 100; +static int memerr_min_interval __read_mostly = 500; +static int pfa_lost; /* for diagnosis */ + +enum { + RATE_LIMIT_PERIOD = USEC_PER_SEC, /* in us; period of rate limit */ +}; + +module_param(memerr_max_conv_rate, int, 0644); +MODULE_PARM_DESC(memerr_max_conv_rate, + "Maximum number of memory error conversions each second; 0 to disable"); +module_param(memerr_min_interval, int, 0644); +MODULE_PARM_DESC(memerr_min_interval, + "Minimum time delta between two memory conversions; in us; default 500"); + +static int notest; +static int nocsum; +module_param(notest, int, 0); +module_param(nocsum, int, 0); + +static u64 encode_dimm(struct pfa_dimm *d, u8 valid) +{ + union { + struct aux_pfa_dimm d; + u64 v; + } p; + + BUILD_BUG_ON(sizeof(struct aux_pfa_dimm) != sizeof(u64)); + p.d.fbd_channel_id = d->fbd_channel_id; + p.d.ddr_channel_id = d->ddr_channel_id; + p.d.ddr_dimm_id = d->ddr_dimm_id; + p.d.ddr_rank_id = d->ddr_rank_id; + p.d.ddr_dimm_bank_id = d->ddr_dimm_bank_id; + p.d.ddr_dimm_row_id = d->ddr_dimm_row_id; + if (p.d.ddr_dimm_row_id != d->ddr_dimm_row_id) /* truncated? */ + valid &= ~DIMM_VALID_DIMM_ROW; + p.d.ddr_dimm_column_id = d->ddr_dimm_column_id; + if (p.d.ddr_dimm_column_id != d->ddr_dimm_column_id) + valid &= ~DIMM_VALID_DIMM_COLUMN; + p.d.valid = valid; + pr_debug("PFA fbd_ch %u ddr_ch %u dimm %u rank %u bank %u valid %x\n", + d->fbd_channel_id, + d->ddr_channel_id, + d->ddr_dimm_id, + d->ddr_rank_id, + d->ddr_dimm_bank_id, + valid); + return p.v; +} + +static u8 csum(u8 *table, u16 len) +{ + u8 sum = 0; + int i; + for (i = 0; i < len; i++) + sum += *table++; + return sum; +} + +/* + * Execute a command through the mailbox interface. + */ +static int +pfa_command(unsigned bank, unsigned socketid, unsigned command, unsigned valid) +{ + pfa_table->bank_id = bank; + pfa_table->socket_id = socketid; + pfa_table->valid = valid | PFA_VALID_SOCKETID; + pfa_table->command = command; + + outb(pfa_table->db_value, pfa_table->db_port); + + mb(); /* Reread fields after they got changed */ + + if (pfa_table->status != PFA_STATUS_SUCCESS) { + pr_debug("Memory PFA command %d failed: socket:%d bank:%d status:%x\n", + command, socketid, bank, pfa_table->status); + return -pfa_table->status; + } + return 0; +} + +/* + * Retrieve physical address and DIMMs. + */ +static int translate_memory_error(struct mce *m) +{ + struct pfa_table *pfa = pfa_table; + u64 status; + int ret; + u32 valid; + int cpu = smp_processor_id(); + + /* Make sure our structures match the specification */ + BUILD_BUG_ON(offsetof(struct pfa_table, physical_addr) != 0x20); + BUILD_BUG_ON(offsetof(struct pfa_table, status) != 0x10); + BUILD_BUG_ON(offsetof(struct pfa_table, physical_addr) != 0x20); + BUILD_BUG_ON(offsetof(struct pfa_table, dimm[1].ddr_dimm_column_id) != + 0x3e); + + /* Ask for PA/DIMMs of last error */ + if (pfa_command(m->bank, m->socketid, + PFA_CMD_GET_MEM_CORR_ERR_PA, PFA_VALID_BANKID) < 0) + return -1; + + /* + * Recheck machine check bank. If the overflow bit was set + * there was a race. Don't use the information in this case. + */ + rdmsrl(MSR_IA32_MCx_STATUS(m->bank), status); + if (status & MCI_STATUS_OVER) { + pr_debug("%d: overflow race on bank %d\n", cpu, m->bank); + return -1; + } + + ret = -1; + valid = pfa->valid; + if (valid & PFA_VALID_PA) { + m->status |= MCI_STATUS_ADDRV; + m->addr = pfa_table->physical_addr; + pr_debug("%d: got physical address %llx valid %x\n", + cpu, m->addr, valid); + ret = 0; + } + + /* When DIMM information was supplied pass it out */ + if (valid & PFA_DIMM_VALID_MASK) { + m->aux0 = encode_dimm(&pfa->dimm[0], DIMM_VALID_BITS(valid, 0)); + m->aux1 = encode_dimm(&pfa->dimm[1], DIMM_VALID_BITS(valid, 1)); + ret = 0; + } + + return ret; +} + +/* + * Xeon 75xx specific mce poll method to retrieve the physical address + * and DIMM information. + */ +static void xeon75xx_mce_poll(struct mce *m) +{ + static DEFINE_SPINLOCK(convert_lock); /* Protect table and static */ + static unsigned long cperm; + static ktime_t last, last_int; + unsigned long flags; + ktime_t now; + s64 delta; + + /* Memory error? */ + if (m->bank != MCE_BANK_MBOX0 && m->bank != MCE_BANK_MBOX1) + return; + if (m->status & MCI_STATUS_OVER) + return; + if (memerr_max_conv_rate == 0) + return; + + spin_lock_irqsave(&convert_lock, flags); + /* + * Rate limit conversions. The conversion takes some time, + * but it's not good to use all the CPU time during a error + * flood. + * Enforce maximum number per second and minimum interval. + * The ktime call should use TSC on this machine and be fast. + */ + now = ktime_get(); + delta = ktime_us_delta(now, last); + if (delta >= RATE_LIMIT_PERIOD) { + cperm = 0; + last = now; + } + if (ktime_us_delta(now, last_int) >= memerr_min_interval && + ++cperm <= memerr_max_conv_rate) { + if (translate_memory_error(m) < 0) { + /* On error stop converting for the next second */ + cperm = memerr_max_conv_rate; + pr_debug("PFA translation failed\n"); + } + } else + pfa_lost++; + last_int = now; + spin_unlock_irqrestore(&convert_lock, flags); +} + +static struct pci_device_id bxb_mce_pciids[] = { + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_BXB_ICH_LEGACY0) }, + {} +}; + +static int __init xeon75xx_mce_init(void) +{ + u32 addr = 0; + struct pci_dev *dev; + + if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL || + boot_cpu_data.x86 != 6 || + boot_cpu_data.x86_model != 0x2e) + return -ENODEV; + + /* + * Get table address from register in IOH. + * This just looks up the device, because we don't want to "own" it. + */ + dev = NULL; + while ((dev = pci_get_device(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, dev)) + != NULL) { + if (!pci_match_id(bxb_mce_pciids, dev)) + continue; + pci_read_config_dword(dev, ICH_PFA_CFG, &addr); + if (addr) + break; + } + pci_dev_put(dev); + if (!addr) + return -ENODEV; + + if (!e820_all_mapped(addr, addr + PAGE_SIZE, E820_RESERVED)) { + pr_info("PFA table at %x not e820 reserved\n", addr); + return -ENODEV; + } + + pfa_table = (__force struct pfa_table *)ioremap_cache(addr, PAGE_SIZE); + if (!pfa_table) { + pr_err("Cannot map PFA table at %x\n", addr); + return -EIO; + } + + if (memcmp(&pfa_table->sig, PFA_SIG, PFA_SIG_LEN) || + pfa_table->len < sizeof(struct pfa_table) || + /* assume newer versions are compatible */ + pfa_table->revision < PFA_REVISION) { + pr_info("PFA table at %x invalid\n", addr); + goto error_unmap; + } + + if (!nocsum && csum((u8 *)pfa_table, + offsetof(struct pfa_table, command))) { + pr_info("PFA table at %x length %u has invalid checksum\n", + addr, pfa_table->len); + goto error_unmap; + } + + /* Not strictly needed today */ + if (pfa_table->len > PAGE_SIZE) { + unsigned len = roundup(pfa_table->len, PAGE_SIZE); + iounmap(pfa_table); + pfa_table = (__force void *)ioremap_cache(addr, len); + if (!pfa_table) { + pr_err("Cannot remap %u bytes PFA table at %x\n", + len, addr); + return -EIO; + } + } + + if (!notest) { + int status = pfa_command(0, 0, PFA_CMD_GET_TOPOLOGY, 0); + if (status < 0) { + pr_err("Test of PFA table failed: %x\n", -status); + goto error_unmap; + } + } + + pr_info("Found Xeon75xx PFA memory error translation table at %x\n", + addr); + mb(); + mce_cpu_specific_poll = xeon75xx_mce_poll; + return 0; + +error_unmap: + iounmap(pfa_table); + return -ENODEV; +} + +MODULE_DEVICE_TABLE(pci, bxb_mce_pciids); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Andi Kleen"); +MODULE_DESCRIPTION("Intel Xeon 75xx specific DIMM error reporting"); + +#ifdef CONFIG_MODULE +static void __exit xeon75xx_mce_exit(void) +{ + mce_cpu_specific_poll = NULL; + wmb(); + /* Wait for all machine checks to finish before really unloading */ + synchronize_rcu(); + iounmap(pfa_table); +} + +module_init(xeon75xx_mce_init); +module_exit(xeon75xx_mce_exit); +#else +/* When built-in run as soon as the PCI subsystem is up */ +fs_initcall(xeon75xx_mce_init); +#endif --- linux-lowlatency-3.5.0.orig/arch/x86/kernel/cpu/mcheck/mce.c +++ linux-lowlatency-3.5.0/arch/x86/kernel/cpu/mcheck/mce.c @@ -95,6 +95,9 @@ static DEFINE_PER_CPU(struct mce, mces_seen); static int cpu_missing; +void (*mce_cpu_specific_poll)(struct mce *); +EXPORT_SYMBOL_GPL(mce_cpu_specific_poll); + /* MCA banks polled by the period polling timer for corrected events */ DEFINE_PER_CPU(mce_banks_t, mce_poll_banks) = { [0 ... BITS_TO_LONGS(MAX_NR_BANKS)-1] = ~0UL @@ -419,6 +422,11 @@ wrmsrl(msr, v); } +static int under_injection(void) +{ + return __get_cpu_var(injectm).finished; +} + /* * Collect all global (w.r.t. this processor) status about this machine * check into our "mce" struct so that we can use it later to assess @@ -623,6 +631,10 @@ if (!(flags & MCP_TIMESTAMP)) m.tsc = 0; + + if (mce_cpu_specific_poll && !under_injection() && !mce_dont_log_ce) + mce_cpu_specific_poll(&m); + /* * Don't get the IP here because it's unlikely to * have anything to do with the actual error location. @@ -1186,6 +1198,7 @@ { unsigned long pfn; struct mce_info *mi = mce_find_info(); + int flags = MF_ACTION_REQUIRED; if (!mi) mce_panic("Lost physical address for unconsumed uncorrectable error", NULL, NULL); @@ -1200,8 +1213,9 @@ * doomed. We still need to mark the page as poisoned and alert any * other users of the page. */ - if (memory_failure(pfn, MCE_VECTOR, MF_ACTION_REQUIRED) < 0 || - mi->restartable == 0) { + if (!mi->restartable) + flags |= MF_MUST_KILL; + if (memory_failure(pfn, MCE_VECTOR, flags) < 0) { pr_err("Memory error not recovered"); force_sig(SIGBUS, current); } --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/cpuid.c +++ linux-lowlatency-3.5.0/arch/x86/kvm/cpuid.c @@ -201,6 +201,7 @@ unsigned f_lm = 0; #endif unsigned f_rdtscp = kvm_x86_ops->rdtscp_supported() ? F(RDTSCP) : 0; + unsigned f_invpcid = kvm_x86_ops->invpcid_supported() ? F(INVPCID) : 0; /* cpuid 1.edx */ const u32 kvm_supported_word0_x86_features = @@ -228,7 +229,7 @@ 0 /* DS-CPL, VMX, SMX, EST */ | 0 /* TM2 */ | F(SSSE3) | 0 /* CNXT-ID */ | 0 /* Reserved */ | F(FMA) | F(CX16) | 0 /* xTPR Update, PDCM */ | - 0 /* Reserved, DCA */ | F(XMM4_1) | + F(PCID) | 0 /* Reserved, DCA */ | F(XMM4_1) | F(XMM4_2) | F(X2APIC) | F(MOVBE) | F(POPCNT) | 0 /* Reserved*/ | F(AES) | F(XSAVE) | 0 /* OSXSAVE */ | F(AVX) | F(F16C) | F(RDRAND); @@ -248,7 +249,7 @@ /* cpuid 7.0.ebx */ const u32 kvm_supported_word9_x86_features = F(FSGSBASE) | F(BMI1) | F(HLE) | F(AVX2) | F(SMEP) | - F(BMI2) | F(ERMS) | F(RTM); + F(BMI2) | F(ERMS) | f_invpcid | F(RTM); /* all calls to cpuid_count() should be made on the same cpu */ get_cpu(); --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/cpuid.h +++ linux-lowlatency-3.5.0/arch/x86/kvm/cpuid.h @@ -23,6 +23,9 @@ { struct kvm_cpuid_entry2 *best; + if (!static_cpu_has(X86_FEATURE_XSAVE)) + return 0; + best = kvm_find_cpuid_entry(vcpu, 1, 0); return best && (best->ecx & bit(X86_FEATURE_XSAVE)); } @@ -51,4 +54,12 @@ return best && (best->ecx & bit(X86_FEATURE_OSVW)); } +static inline bool guest_cpuid_has_pcid(struct kvm_vcpu *vcpu) +{ + struct kvm_cpuid_entry2 *best; + + best = kvm_find_cpuid_entry(vcpu, 1, 0); + return best && (best->ecx & bit(X86_FEATURE_PCID)); +} + #endif --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/emulate.c +++ linux-lowlatency-3.5.0/arch/x86/kvm/emulate.c @@ -4426,12 +4426,12 @@ break; case 0xb6 ... 0xb7: /* movzx */ ctxt->dst.bytes = ctxt->op_bytes; - ctxt->dst.val = (ctxt->d & ByteOp) ? (u8) ctxt->src.val + ctxt->dst.val = (ctxt->src.bytes == 1) ? (u8) ctxt->src.val : (u16) ctxt->src.val; break; case 0xbe ... 0xbf: /* movsx */ ctxt->dst.bytes = ctxt->op_bytes; - ctxt->dst.val = (ctxt->d & ByteOp) ? (s8) ctxt->src.val : + ctxt->dst.val = (ctxt->src.bytes == 1) ? (s8) ctxt->src.val : (s16) ctxt->src.val; break; case 0xc0 ... 0xc1: /* xadd */ --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/i8259.c +++ linux-lowlatency-3.5.0/arch/x86/kvm/i8259.c @@ -305,6 +305,11 @@ addr &= 1; if (addr == 0) { if (val & 0x10) { + u8 edge_irr = s->irr & ~s->elcr; + int i; + bool found; + struct kvm_vcpu *vcpu; + s->init4 = val & 1; s->last_irr = 0; s->irr &= s->elcr; @@ -322,6 +327,18 @@ if (val & 0x08) pr_pic_unimpl( "level sensitive irq not supported"); + + kvm_for_each_vcpu(i, vcpu, s->pics_state->kvm) + if (kvm_apic_accept_pic_intr(vcpu)) { + found = true; + break; + } + + + if (found) + for (irq = 0; irq < PIC_NUM_PINS/2; irq++) + if (edge_irr & (1 << irq)) + pic_clear_isr(s, irq); } else if (val & 0x08) { if (val & 0x04) s->poll = 1; --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/mmu.c +++ linux-lowlatency-3.5.0/arch/x86/kvm/mmu.c @@ -90,7 +90,7 @@ #define PTE_PREFETCH_NUM 8 -#define PT_FIRST_AVAIL_BITS_SHIFT 9 +#define PT_FIRST_AVAIL_BITS_SHIFT 10 #define PT64_SECOND_AVAIL_BITS_SHIFT 52 #define PT64_LEVEL_BITS 9 @@ -1242,7 +1242,8 @@ int young = 0; /* - * Emulate the accessed bit for EPT, by checking if this page has + * In case of absence of EPT Access and Dirty Bits supports, + * emulate the accessed bit for EPT, by checking if this page has * an EPT mapping, and clearing it if it does. On the next access, * a new EPT mapping will be established. * This has some overhead, but not as much as the cost of swapping @@ -1253,11 +1254,12 @@ for (sptep = rmap_get_first(*rmapp, &iter); sptep; sptep = rmap_get_next(&iter)) { - BUG_ON(!(*sptep & PT_PRESENT_MASK)); + BUG_ON(!is_shadow_present_pte(*sptep)); - if (*sptep & PT_ACCESSED_MASK) { + if (*sptep & shadow_accessed_mask) { young = 1; - clear_bit(PT_ACCESSED_SHIFT, (unsigned long *)sptep); + clear_bit((ffs(shadow_accessed_mask) - 1), + (unsigned long *)sptep); } } @@ -1281,9 +1283,9 @@ for (sptep = rmap_get_first(*rmapp, &iter); sptep; sptep = rmap_get_next(&iter)) { - BUG_ON(!(*sptep & PT_PRESENT_MASK)); + BUG_ON(!is_shadow_present_pte(*sptep)); - if (*sptep & PT_ACCESSED_MASK) { + if (*sptep & shadow_accessed_mask) { young = 1; break; } --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/svm.c +++ linux-lowlatency-3.5.0/arch/x86/kvm/svm.c @@ -4044,6 +4044,11 @@ return false; } +static bool svm_invpcid_supported(void) +{ + return false; +} + static bool svm_has_wbinvd_exit(void) { return true; @@ -4312,6 +4317,7 @@ .cpuid_update = svm_cpuid_update, .rdtscp_supported = svm_rdtscp_supported, + .invpcid_supported = svm_invpcid_supported, .set_supported_cpuid = svm_set_supported_cpuid, --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/vmx.c +++ linux-lowlatency-3.5.0/arch/x86/kvm/vmx.c @@ -71,6 +71,9 @@ module_param_named(unrestricted_guest, enable_unrestricted_guest, bool, S_IRUGO); +static bool __read_mostly enable_ept_ad_bits = 1; +module_param_named(eptad, enable_ept_ad_bits, bool, S_IRUGO); + static bool __read_mostly emulate_invalid_guest_state = 0; module_param(emulate_invalid_guest_state, bool, S_IRUGO); @@ -789,6 +792,11 @@ return vmx_capability.ept & VMX_EPT_PAGE_WALK_4_BIT; } +static inline bool cpu_has_vmx_ept_ad_bits(void) +{ + return vmx_capability.ept & VMX_EPT_AD_BIT; +} + static inline bool cpu_has_vmx_invept_individual_addr(void) { return vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT; @@ -849,6 +857,12 @@ SECONDARY_EXEC_RDTSCP; } +static inline bool cpu_has_vmx_invpcid(void) +{ + return vmcs_config.cpu_based_2nd_exec_ctrl & + SECONDARY_EXEC_ENABLE_INVPCID; +} + static inline bool cpu_has_virtual_nmis(void) { return vmcs_config.pin_based_exec_ctrl & PIN_BASED_VIRTUAL_NMIS; @@ -1470,13 +1484,6 @@ loadsegment(ds, vmx->host_state.ds_sel); loadsegment(es, vmx->host_state.es_sel); } -#else - /* - * The sysexit path does not restore ds/es, so we must set them to - * a reasonable value ourselves. - */ - loadsegment(ds, __USER_DS); - loadsegment(es, __USER_DS); #endif reload_tss(); #ifdef CONFIG_X86_64 @@ -1739,6 +1746,11 @@ return cpu_has_vmx_rdtscp(); } +static bool vmx_invpcid_supported(void) +{ + return cpu_has_vmx_invpcid() && enable_ept; +} + /* * Swap MSR entry in host/guest MSR entry array. */ @@ -2458,7 +2470,8 @@ SECONDARY_EXEC_ENABLE_EPT | SECONDARY_EXEC_UNRESTRICTED_GUEST | SECONDARY_EXEC_PAUSE_LOOP_EXITING | - SECONDARY_EXEC_RDTSCP; + SECONDARY_EXEC_RDTSCP | + SECONDARY_EXEC_ENABLE_INVPCID; if (adjust_vmx_controls(min2, opt2, MSR_IA32_VMX_PROCBASED_CTLS2, &_cpu_based_2nd_exec_control) < 0) @@ -2645,8 +2658,12 @@ !cpu_has_vmx_ept_4levels()) { enable_ept = 0; enable_unrestricted_guest = 0; + enable_ept_ad_bits = 0; } + if (!cpu_has_vmx_ept_ad_bits()) + enable_ept_ad_bits = 0; + if (!cpu_has_vmx_unrestricted_guest()) enable_unrestricted_guest = 0; @@ -3027,6 +3044,8 @@ /* TODO write the value reading from MSR */ eptp = VMX_EPT_DEFAULT_MT | VMX_EPT_DEFAULT_GAW << VMX_EPT_GAW_EPTP_SHIFT; + if (enable_ept_ad_bits) + eptp |= VMX_EPT_AD_ENABLE_BIT; eptp |= (root_hpa & PAGE_MASK); return eptp; @@ -3731,6 +3750,8 @@ if (!enable_ept) { exec_control &= ~SECONDARY_EXEC_ENABLE_EPT; enable_unrestricted_guest = 0; + /* Enable INVPCID for non-ept guests may cause performance regression. */ + exec_control &= ~SECONDARY_EXEC_ENABLE_INVPCID; } if (!enable_unrestricted_guest) exec_control &= ~SECONDARY_EXEC_UNRESTRICTED_GUEST; @@ -6273,6 +6294,19 @@ #endif ); +#ifndef CONFIG_X86_64 + /* + * The sysexit path does not restore ds/es, so we must set them to + * a reasonable value ourselves. + * + * We can't defer this to vmx_load_host_state() since that function + * may be executed in interrupt context, which saves and restore segments + * around it, nullifying its effect. + */ + loadsegment(ds, __USER_DS); + loadsegment(es, __USER_DS); +#endif + vcpu->arch.regs_avail = ~((1 << VCPU_REGS_RIP) | (1 << VCPU_REGS_RSP) | (1 << VCPU_EXREG_RFLAGS) | (1 << VCPU_EXREG_CPL) @@ -6467,6 +6501,23 @@ } } } + + exec_control = vmcs_read32(SECONDARY_VM_EXEC_CONTROL); + /* Exposing INVPCID only when PCID is exposed */ + best = kvm_find_cpuid_entry(vcpu, 0x7, 0); + if (vmx_invpcid_supported() && + best && (best->ecx & bit(X86_FEATURE_INVPCID)) && + guest_cpuid_has_pcid(vcpu)) { + exec_control |= SECONDARY_EXEC_ENABLE_INVPCID; + vmcs_write32(SECONDARY_VM_EXEC_CONTROL, + exec_control); + } else { + exec_control &= ~SECONDARY_EXEC_ENABLE_INVPCID; + vmcs_write32(SECONDARY_VM_EXEC_CONTROL, + exec_control); + if (best) + best->ecx &= ~bit(X86_FEATURE_INVPCID); + } } static void vmx_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry) @@ -7201,6 +7252,7 @@ .cpuid_update = vmx_cpuid_update, .rdtscp_supported = vmx_rdtscp_supported, + .invpcid_supported = vmx_invpcid_supported, .set_supported_cpuid = vmx_set_supported_cpuid, @@ -7275,8 +7327,10 @@ vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_EIP, false); if (enable_ept) { - kvm_mmu_set_mask_ptes(0ull, 0ull, 0ull, 0ull, - VMX_EPT_EXECUTABLE_MASK); + kvm_mmu_set_mask_ptes(0ull, + (enable_ept_ad_bits) ? VMX_EPT_ACCESS_BIT : 0ull, + (enable_ept_ad_bits) ? VMX_EPT_DIRTY_BIT : 0ull, + 0ull, VMX_EPT_EXECUTABLE_MASK); ept_set_mmio_spte_mask(); kvm_enable_tdp(); } else --- linux-lowlatency-3.5.0.orig/arch/x86/kvm/x86.c +++ linux-lowlatency-3.5.0/arch/x86/kvm/x86.c @@ -528,6 +528,9 @@ return 1; } + if (!(cr0 & X86_CR0_PG) && kvm_read_cr4_bits(vcpu, X86_CR4_PCIDE)) + return 1; + kvm_x86_ops->set_cr0(vcpu, cr0); if ((cr0 ^ old_cr0) & X86_CR0_PG) { @@ -604,10 +607,20 @@ kvm_read_cr3(vcpu))) return 1; + if ((cr4 & X86_CR4_PCIDE) && !(old_cr4 & X86_CR4_PCIDE)) { + if (!guest_cpuid_has_pcid(vcpu)) + return 1; + + /* PCID can not be enabled when cr3[11:0]!=000H or EFER.LMA=0 */ + if ((kvm_read_cr3(vcpu) & X86_CR3_PCID_MASK) || !is_long_mode(vcpu)) + return 1; + } + if (kvm_x86_ops->set_cr4(vcpu, cr4)) return 1; - if ((cr4 ^ old_cr4) & pdptr_bits) + if (((cr4 ^ old_cr4) & pdptr_bits) || + (!(cr4 & X86_CR4_PCIDE) && (old_cr4 & X86_CR4_PCIDE))) kvm_mmu_reset_context(vcpu); if ((cr4 ^ old_cr4) & X86_CR4_OSXSAVE) @@ -626,8 +639,12 @@ } if (is_long_mode(vcpu)) { - if (cr3 & CR3_L_MODE_RESERVED_BITS) - return 1; + if (kvm_read_cr4(vcpu) & X86_CR4_PCIDE) { + if (cr3 & CR3_PCID_ENABLED_RESERVED_BITS) + return 1; + } else + if (cr3 & CR3_L_MODE_RESERVED_BITS) + return 1; } else { if (is_pae(vcpu)) { if (cr3 & CR3_PAE_RESERVED_BITS) @@ -907,6 +924,10 @@ */ getboottime(&boot); + if (kvm->arch.kvmclock_offset) { + struct timespec ts = ns_to_timespec(kvm->arch.kvmclock_offset); + boot = timespec_sub(boot, ts); + } wc.sec = boot.tv_sec; wc.nsec = boot.tv_nsec; wc.version = version; @@ -5737,6 +5758,9 @@ int pending_vec, max_bits, idx; struct desc_ptr dt; + if (!guest_cpuid_has_xsave(vcpu) && (sregs->cr4 & X86_CR4_OSXSAVE)) + return -EINVAL; + dt.size = sregs->idt.limit; dt.address = sregs->idt.base; kvm_x86_ops->set_idt(vcpu, &dt); --- linux-lowlatency-3.5.0.orig/arch/x86/mm/hugetlbpage.c +++ linux-lowlatency-3.5.0/arch/x86/mm/hugetlbpage.c @@ -56,9 +56,16 @@ } /* - * search for a shareable pmd page for hugetlb. + * Search for a shareable pmd page for hugetlb. In any case calls pmd_alloc() + * and returns the corresponding pte. While this is not necessary for the + * !shared pmd case because we can allocate the pmd later as well, it makes the + * code much cleaner. pmd allocation is essential for the shared case because + * pud has to be populated inside the same i_mmap_mutex section - otherwise + * racing tasks could either miss the sharing (see huge_pte_offset) or select a + * bad pmd for sharing. */ -static void huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud) +static pte_t * +huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud) { struct vm_area_struct *vma = find_vma(mm, addr); struct address_space *mapping = vma->vm_file->f_mapping; @@ -68,9 +75,10 @@ struct vm_area_struct *svma; unsigned long saddr; pte_t *spte = NULL; + pte_t *pte; if (!vma_shareable(vma, addr)) - return; + return (pte_t *)pmd_alloc(mm, pud, addr); mutex_lock(&mapping->i_mmap_mutex); vma_prio_tree_foreach(svma, &iter, &mapping->i_mmap, idx, idx) { @@ -97,7 +105,9 @@ put_page(virt_to_page(spte)); spin_unlock(&mm->page_table_lock); out: + pte = (pte_t *)pmd_alloc(mm, pud, addr); mutex_unlock(&mapping->i_mmap_mutex); + return pte; } /* @@ -142,8 +152,9 @@ } else { BUG_ON(sz != PMD_SIZE); if (pud_none(*pud)) - huge_pmd_share(mm, addr, pud); - pte = (pte_t *) pmd_alloc(mm, pud, addr); + pte = huge_pmd_share(mm, addr, pud); + else + pte = (pte_t *)pmd_alloc(mm, pud, addr); } } BUG_ON(pte && !pte_none(*pte) && !pte_huge(*pte)); --- linux-lowlatency-3.5.0.orig/arch/x86/mm/init.c +++ linux-lowlatency-3.5.0/arch/x86/mm/init.c @@ -35,40 +35,44 @@ unsigned page_size_mask; }; -static void __init find_early_table_space(struct map_range *mr, unsigned long end, - int use_pse, int use_gbpages) +/* + * First calculate space needed for kernel direct mapping page tables to cover + * mr[0].start to mr[nr_range - 1].end, while accounting for possible 2M and 1GB + * pages. Then find enough contiguous space for those page tables. + */ +static void __init find_early_table_space(struct map_range *mr, int nr_range) { - unsigned long puds, pmds, ptes, tables, start = 0, good_end = end; + int i; + unsigned long puds = 0, pmds = 0, ptes = 0, tables; + unsigned long start = 0, good_end; phys_addr_t base; - puds = (end + PUD_SIZE - 1) >> PUD_SHIFT; - tables = roundup(puds * sizeof(pud_t), PAGE_SIZE); + for (i = 0; i < nr_range; i++) { + unsigned long range, extra; - if (use_gbpages) { - unsigned long extra; + range = mr[i].end - mr[i].start; + puds += (range + PUD_SIZE - 1) >> PUD_SHIFT; - extra = end - ((end>>PUD_SHIFT) << PUD_SHIFT); - pmds = (extra + PMD_SIZE - 1) >> PMD_SHIFT; - } else - pmds = (end + PMD_SIZE - 1) >> PMD_SHIFT; - - tables += roundup(pmds * sizeof(pmd_t), PAGE_SIZE); + if (mr[i].page_size_mask & (1 << PG_LEVEL_1G)) { + extra = range - ((range >> PUD_SHIFT) << PUD_SHIFT); + pmds += (extra + PMD_SIZE - 1) >> PMD_SHIFT; + } else { + pmds += (range + PMD_SIZE - 1) >> PMD_SHIFT; + } - if (use_pse) { - unsigned long extra; - - extra = end - ((end>>PMD_SHIFT) << PMD_SHIFT); + if (mr[i].page_size_mask & (1 << PG_LEVEL_2M)) { + extra = range - ((range >> PMD_SHIFT) << PMD_SHIFT); #ifdef CONFIG_X86_32 - extra += PMD_SIZE; + extra += PMD_SIZE; #endif - /* The first 2/4M doesn't use large pages. */ - if (mr->start < PMD_SIZE) - extra += mr->end - mr->start; - - ptes = (extra + PAGE_SIZE - 1) >> PAGE_SHIFT; - } else - ptes = (end + PAGE_SIZE - 1) >> PAGE_SHIFT; + ptes += (extra + PAGE_SIZE - 1) >> PAGE_SHIFT; + } else { + ptes += (range + PAGE_SIZE - 1) >> PAGE_SHIFT; + } + } + tables = roundup(puds * sizeof(pud_t), PAGE_SIZE); + tables += roundup(pmds * sizeof(pmd_t), PAGE_SIZE); tables += roundup(ptes * sizeof(pte_t), PAGE_SIZE); #ifdef CONFIG_X86_32 @@ -86,7 +90,7 @@ pgt_buf_top = pgt_buf_start + (tables >> PAGE_SHIFT); printk(KERN_DEBUG "kernel direct mapping tables up to %#lx @ [mem %#010lx-%#010lx]\n", - end - 1, pgt_buf_start << PAGE_SHIFT, + mr[nr_range - 1].end - 1, pgt_buf_start << PAGE_SHIFT, (pgt_buf_top << PAGE_SHIFT) - 1); } @@ -267,7 +271,7 @@ * nodes are discovered. */ if (!after_bootmem) - find_early_table_space(&mr[0], end, use_pse, use_gbpages); + find_early_table_space(mr, nr_range); for (i = 0; i < nr_range; i++) ret = kernel_physical_mapping_init(mr[i].start, mr[i].end, --- linux-lowlatency-3.5.0.orig/arch/x86/mm/init_64.c +++ linux-lowlatency-3.5.0/arch/x86/mm/init_64.c @@ -386,7 +386,8 @@ * these mappings are more intelligent. */ if (pte_val(*pte)) { - pages++; + if (!after_bootmem) + pages++; continue; } @@ -451,6 +452,8 @@ * attributes. */ if (page_size_mask & (1 << PG_LEVEL_2M)) { + if (!after_bootmem) + pages++; last_map_addr = next; continue; } @@ -526,6 +529,8 @@ * attributes. */ if (page_size_mask & (1 << PG_LEVEL_1G)) { + if (!after_bootmem) + pages++; last_map_addr = next; continue; } --- linux-lowlatency-3.5.0.orig/arch/x86/oprofile/nmi_int.c +++ linux-lowlatency-3.5.0/arch/x86/oprofile/nmi_int.c @@ -55,7 +55,7 @@ val |= counter_config->extra; event &= model->event_mask ? model->event_mask : 0xFF; val |= event & 0xFF; - val |= (event & 0x0F00) << 24; + val |= (u64)(event & 0x0F00) << 24; return val; } --- linux-lowlatency-3.5.0.orig/arch/x86/platform/efi/efi.c +++ linux-lowlatency-3.5.0/arch/x86/platform/efi/efi.c @@ -69,11 +69,15 @@ struct efi_memory_map memmap; bool efi_64bit; -static bool efi_native; static struct efi efi_phys __initdata; static efi_system_table_t efi_systab __initdata; +static inline bool efi_is_native(void) +{ + return IS_ENABLED(CONFIG_X86_64) == efi_64bit; +} + static int __init setup_noefi(char *arg) { efi_enabled = 0; @@ -419,10 +423,21 @@ } } -static void __init efi_free_boot_services(void) +void __init efi_unmap_memmap(void) +{ + if (memmap.map) { + early_iounmap(memmap.map, memmap.nr_map * memmap.desc_size); + memmap.map = NULL; + } +} + +void __init efi_free_boot_services(void) { void *p; + if (!efi_is_native()) + return; + for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) { efi_memory_desc_t *md = p; unsigned long long start = md->phys_addr; @@ -438,6 +453,8 @@ free_bootmem_late(start, size); } + + efi_unmap_memmap(); } static int __init efi_systab_init(void *phys) @@ -670,12 +687,10 @@ return; } efi_phys.systab = (efi_system_table_t *)boot_params.efi_info.efi_systab; - efi_native = !efi_64bit; #else efi_phys.systab = (efi_system_table_t *) (boot_params.efi_info.efi_systab | ((__u64)boot_params.efi_info.efi_systab_hi<<32)); - efi_native = efi_64bit; #endif if (efi_systab_init(efi_phys.systab)) { @@ -709,7 +724,7 @@ * that doesn't match the kernel 32/64-bit mode. */ - if (!efi_native) + if (!efi_is_native()) pr_info("No EFI runtime due to 32/64-bit mismatch with kernel\n"); else if (efi_runtime_init()) { efi_enabled = 0; @@ -721,7 +736,7 @@ return; } #ifdef CONFIG_X86_32 - if (efi_native) { + if (efi_is_native()) { x86_platform.get_wallclock = efi_get_time; x86_platform.set_wallclock = efi_set_rtc_mmss; } @@ -787,8 +802,10 @@ * non-native EFI */ - if (!efi_native) - goto out; + if (!efi_is_native()) { + efi_unmap_memmap(); + return; + } /* Merge contiguous regions of the same type and attribute */ for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) { @@ -878,18 +895,12 @@ } /* - * Thankfully, it does seem that no runtime services other than - * SetVirtualAddressMap() will touch boot services code, so we can - * get rid of it all at this point - */ - efi_free_boot_services(); - - /* * Now that EFI is in virtual mode, update the function * pointers in the runtime service table to the new virtual addresses. * * Call EFI services through wrapper functions. */ + efi.runtime_version = efi_systab.fw_revision; efi.get_time = virt_efi_get_time; efi.set_time = virt_efi_set_time; efi.get_wakeup_time = virt_efi_get_wakeup_time; @@ -906,9 +917,6 @@ if (__supported_pte_mask & _PAGE_NX) runtime_code_page_mkexec(); -out: - early_iounmap(memmap.map, memmap.nr_map * memmap.desc_size); - memmap.map = NULL; kfree(new_memmap); } --- linux-lowlatency-3.5.0.orig/arch/x86/syscalls/syscall_64.tbl +++ linux-lowlatency-3.5.0/arch/x86/syscalls/syscall_64.tbl @@ -60,8 +60,8 @@ 51 common getsockname sys_getsockname 52 common getpeername sys_getpeername 53 common socketpair sys_socketpair -54 common setsockopt sys_setsockopt -55 common getsockopt sys_getsockopt +54 64 setsockopt sys_setsockopt +55 64 getsockopt sys_getsockopt 56 common clone stub_clone 57 common fork stub_fork 58 common vfork stub_vfork @@ -318,7 +318,7 @@ 309 common getcpu sys_getcpu 310 64 process_vm_readv sys_process_vm_readv 311 64 process_vm_writev sys_process_vm_writev -312 64 kcmp sys_kcmp +312 common kcmp sys_kcmp # # x32-specific system call numbers start at 512 to avoid cache impact @@ -353,3 +353,5 @@ 538 x32 sendmmsg compat_sys_sendmmsg 539 x32 process_vm_readv compat_sys_process_vm_readv 540 x32 process_vm_writev compat_sys_process_vm_writev +541 x32 setsockopt compat_sys_setsockopt +542 x32 getsockopt compat_sys_getsockopt --- linux-lowlatency-3.5.0.orig/arch/x86/xen/enlighten.c +++ linux-lowlatency-3.5.0/arch/x86/xen/enlighten.c @@ -952,7 +952,16 @@ native_write_cr4(cr4); } - +#ifdef CONFIG_X86_64 +static inline unsigned long xen_read_cr8(void) +{ + return 0; +} +static inline void xen_write_cr8(unsigned long val) +{ + BUG_ON(val); +} +#endif static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high) { int ret; @@ -1121,6 +1130,11 @@ .read_cr4_safe = native_read_cr4_safe, .write_cr4 = xen_write_cr4, +#ifdef CONFIG_X86_64 + .read_cr8 = xen_read_cr8, + .write_cr8 = xen_write_cr8, +#endif + .wbinvd = native_wbinvd, .read_msr = native_read_msr_safe, @@ -1131,6 +1145,8 @@ .read_tsc = native_read_tsc, .read_pmc = native_read_pmc, + .read_tscp = native_read_tscp, + .iret = xen_iret, .irq_enable_sysexit = xen_sysexit, #ifdef CONFIG_X86_64 @@ -1422,6 +1438,10 @@ pci_request_acs(); xen_acpi_sleep_register(); + + /* Avoid searching for BIOS MP tables */ + x86_init.mpparse.find_smp_config = x86_init_noop; + x86_init.mpparse.get_smp_config = x86_init_uint_noop; } #ifdef CONFIG_PCI /* PCI BIOS service won't work from a PV guest. */ --- linux-lowlatency-3.5.0.orig/arch/x86/xen/mmu.c +++ linux-lowlatency-3.5.0/arch/x86/xen/mmu.c @@ -1203,6 +1203,25 @@ return this_cpu_read(xen_vcpu_info.arch.cr2); } +void xen_flush_tlb_all(void) +{ + struct mmuext_op *op; + struct multicall_space mcs; + + trace_xen_mmu_flush_tlb_all(0); + + preempt_disable(); + + mcs = xen_mc_entry(sizeof(*op)); + + op = mcs.args; + op->cmd = MMUEXT_TLB_FLUSH_ALL; + MULTI_mmuext_op(mcs.mc, op, 1, NULL, DOMID_SELF); + + xen_mc_issue(PARAVIRT_LAZY_MMU); + + preempt_enable(); +} static void xen_flush_tlb(void) { struct mmuext_op *op; @@ -2339,7 +2358,7 @@ err = 0; out: - flush_tlb_all(); + xen_flush_tlb_all(); return err; } --- linux-lowlatency-3.5.0.orig/arch/x86/xen/p2m.c +++ linux-lowlatency-3.5.0/arch/x86/xen/p2m.c @@ -194,6 +194,13 @@ * boundary violation will require three middle nodes. */ RESERVE_BRK(p2m_mid_identity, PAGE_SIZE * 2 * 3); +/* When we populate back during bootup, the amount of pages can vary. The + * max we have is seen is 395979, but that does not mean it can't be more. + * Some machines can have 3GB I/O holes even. With early_can_reuse_p2m_middle + * it can re-use Xen provided mfn_list array, so we only need to allocate at + * most three P2M top nodes. */ +RESERVE_BRK(p2m_populated, PAGE_SIZE * 3); + static inline unsigned p2m_top_index(unsigned long pfn) { BUG_ON(pfn >= MAX_P2M_PFN); @@ -570,12 +577,99 @@ } return true; } + +/* + * Skim over the P2M tree looking at pages that are either filled with + * INVALID_P2M_ENTRY or with 1:1 PFNs. If found, re-use that page and + * replace the P2M leaf with a p2m_missing or p2m_identity. + * Stick the old page in the new P2M tree location. + */ +bool __init early_can_reuse_p2m_middle(unsigned long set_pfn, unsigned long set_mfn) +{ + unsigned topidx; + unsigned mididx; + unsigned ident_pfns; + unsigned inv_pfns; + unsigned long *p2m; + unsigned long *mid_mfn_p; + unsigned idx; + unsigned long pfn; + + /* We only look when this entails a P2M middle layer */ + if (p2m_index(set_pfn)) + return false; + + for (pfn = 0; pfn < MAX_DOMAIN_PAGES; pfn += P2M_PER_PAGE) { + topidx = p2m_top_index(pfn); + + if (!p2m_top[topidx]) + continue; + + if (p2m_top[topidx] == p2m_mid_missing) + continue; + + mididx = p2m_mid_index(pfn); + p2m = p2m_top[topidx][mididx]; + if (!p2m) + continue; + + if ((p2m == p2m_missing) || (p2m == p2m_identity)) + continue; + + if ((unsigned long)p2m == INVALID_P2M_ENTRY) + continue; + + ident_pfns = 0; + inv_pfns = 0; + for (idx = 0; idx < P2M_PER_PAGE; idx++) { + /* IDENTITY_PFNs are 1:1 */ + if (p2m[idx] == IDENTITY_FRAME(pfn + idx)) + ident_pfns++; + else if (p2m[idx] == INVALID_P2M_ENTRY) + inv_pfns++; + else + break; + } + if ((ident_pfns == P2M_PER_PAGE) || (inv_pfns == P2M_PER_PAGE)) + goto found; + } + return false; +found: + /* Found one, replace old with p2m_identity or p2m_missing */ + p2m_top[topidx][mididx] = (ident_pfns ? p2m_identity : p2m_missing); + /* And the other for save/restore.. */ + mid_mfn_p = p2m_top_mfn_p[topidx]; + /* NOTE: Even if it is a p2m_identity it should still be point to + * a page filled with INVALID_P2M_ENTRY entries. */ + mid_mfn_p[mididx] = virt_to_mfn(p2m_missing); + + /* Reset where we want to stick the old page in. */ + topidx = p2m_top_index(set_pfn); + mididx = p2m_mid_index(set_pfn); + + /* This shouldn't happen */ + if (WARN_ON(p2m_top[topidx] == p2m_mid_missing)) + early_alloc_p2m(set_pfn); + + if (WARN_ON(p2m_top[topidx][mididx] != p2m_missing)) + return false; + + p2m_init(p2m); + p2m_top[topidx][mididx] = p2m; + mid_mfn_p = p2m_top_mfn_p[topidx]; + mid_mfn_p[mididx] = virt_to_mfn(p2m); + + return true; +} bool __init early_set_phys_to_machine(unsigned long pfn, unsigned long mfn) { if (unlikely(!__set_phys_to_machine(pfn, mfn))) { if (!early_alloc_p2m(pfn)) return false; + if (early_can_reuse_p2m_middle(pfn, mfn)) + return __set_phys_to_machine(pfn, mfn); + if (!early_alloc_p2m_middle(pfn, false /* boundary crossover OK!*/)) return false; @@ -734,9 +828,6 @@ xen_mc_issue(PARAVIRT_LAZY_MMU); } - /* let's use dev_bus_addr to record the old mfn instead */ - kmap_op->dev_bus_addr = page->index; - page->index = (unsigned long) kmap_op; } spin_lock_irqsave(&m2p_override_lock, flags); list_add(&page->lru, &m2p_overrides[mfn_hash(mfn)]); @@ -763,7 +854,8 @@ return 0; } EXPORT_SYMBOL_GPL(m2p_add_override); -int m2p_remove_override(struct page *page, bool clear_pte) +int m2p_remove_override(struct page *page, + struct gnttab_map_grant_ref *kmap_op) { unsigned long flags; unsigned long mfn; @@ -793,10 +885,8 @@ WARN_ON(!PagePrivate(page)); ClearPagePrivate(page); - if (clear_pte) { - struct gnttab_map_grant_ref *map_op = - (struct gnttab_map_grant_ref *) page->index; - set_phys_to_machine(pfn, map_op->dev_bus_addr); + set_phys_to_machine(pfn, page->index); + if (kmap_op != NULL) { if (!PageHighMem(page)) { struct multicall_space mcs; struct gnttab_unmap_grant_ref *unmap_op; @@ -808,13 +898,13 @@ * issued. In this case handle is going to -1 because * it hasn't been modified yet. */ - if (map_op->handle == -1) + if (kmap_op->handle == -1) xen_mc_flush(); /* - * Now if map_op->handle is negative it means that the + * Now if kmap_op->handle is negative it means that the * hypercall actually returned an error. */ - if (map_op->handle == GNTST_general_error) { + if (kmap_op->handle == GNTST_general_error) { printk(KERN_WARNING "m2p_remove_override: " "pfn %lx mfn %lx, failed to modify kernel mappings", pfn, mfn); @@ -824,8 +914,8 @@ mcs = xen_mc_entry( sizeof(struct gnttab_unmap_grant_ref)); unmap_op = mcs.args; - unmap_op->host_addr = map_op->host_addr; - unmap_op->handle = map_op->handle; + unmap_op->host_addr = kmap_op->host_addr; + unmap_op->handle = kmap_op->handle; unmap_op->dev_bus_addr = 0; MULTI_grant_table_op(mcs.mc, @@ -836,10 +926,9 @@ set_pte_at(&init_mm, address, ptep, pfn_pte(pfn, PAGE_KERNEL)); __flush_tlb_single(address); - map_op->host_addr = 0; + kmap_op->host_addr = 0; } - } else - set_phys_to_machine(pfn, page->index); + } /* p2m(m2p(mfn)) == FOREIGN_FRAME(mfn): the mfn is already present * somewhere in this domain, even before being added to the --- linux-lowlatency-3.5.0.orig/arch/x86/xen/setup.c +++ linux-lowlatency-3.5.0/arch/x86/xen/setup.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -78,9 +79,16 @@ memblock_reserve(start, size); xen_max_p2m_pfn = PFN_DOWN(start + size); + for (pfn = PFN_DOWN(start); pfn < xen_max_p2m_pfn; pfn++) { + unsigned long mfn = pfn_to_mfn(pfn); + + if (WARN(mfn == pfn, "Trying to over-write 1-1 mapping (pfn: %lx)\n", pfn)) + continue; + WARN(mfn != INVALID_P2M_ENTRY, "Trying to remove %lx which has %lx mfn!\n", + pfn, mfn); - for (pfn = PFN_DOWN(start); pfn <= xen_max_p2m_pfn; pfn++) __set_phys_to_machine(pfn, INVALID_P2M_ENTRY); + } } static unsigned long __init xen_do_chunk(unsigned long start, @@ -542,4 +550,7 @@ disable_cpufreq(); WARN_ON(set_pm_idle_to_default()); fiddle_vdso(); +#ifdef CONFIG_NUMA + numa_off = 1; +#endif } --- linux-lowlatency-3.5.0.orig/arch/x86/realmode/rm/wakemain.c +++ linux-lowlatency-3.5.0/arch/x86/realmode/rm/wakemain.c @@ -61,6 +61,30 @@ } } +#define I8042_STATUS_REG 0x64 +#define I8042_DATA_REG 0x60 +#define I8042_SET_LED_BITS 0xed +#define I8042_STR_IBF 0x02 + +static void flash_keyboard_leds(void) +{ + int i; + unsigned char leds = 7; + + /* Flash keyboard LEDs 3 times */ + for (i = 0; i < 6; i++) { + while (inb(I8042_STATUS_REG) & I8042_STR_IBF) + ; + outb(I8042_SET_LED_BITS, I8042_DATA_REG); + while (inb(I8042_STATUS_REG) & I8042_STR_IBF) + ; + outb(leds, I8042_DATA_REG); + leds ^= 7; + udelay(500000); + } +} + + void main(void) { /* Kill machine if structures are wrong */ @@ -79,4 +103,7 @@ probe_cards(0); set_mode(wakeup_header.video_mode); } + + if (wakeup_header.realmode_flags & 8) + flash_keyboard_leds(); } --- linux-lowlatency-3.5.0.orig/arch/xtensa/kernel/process.c +++ linux-lowlatency-3.5.0/arch/xtensa/kernel/process.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -110,8 +111,10 @@ /* endless idle loop with no priority at all */ while (1) { + rcu_idle_enter(); while (!need_resched()) platform_idle(); + rcu_idle_exit(); schedule_preempt_disabled(); } } --- linux-lowlatency-3.5.0.orig/block/blk-core.c +++ linux-lowlatency-3.5.0/block/blk-core.c @@ -598,8 +598,8 @@ /* * A queue starts its life with bypass turned on to avoid * unnecessary bypass on/off overhead and nasty surprises during - * init. The initial bypass will be finished at the end of - * blk_init_allocated_queue(). + * init. The initial bypass will be finished when the queue is + * registered by blk_register_queue(). */ q->bypass_depth = 1; __set_bit(QUEUE_FLAG_BYPASS, &q->queue_flags); @@ -686,7 +686,7 @@ q->request_fn = rfn; q->prep_rq_fn = NULL; q->unprep_rq_fn = NULL; - q->queue_flags = QUEUE_FLAG_DEFAULT; + q->queue_flags |= QUEUE_FLAG_DEFAULT; /* Override internal queue lock with supplied lock pointer */ if (lock) @@ -702,11 +702,6 @@ /* init elevator */ if (elevator_init(q, NULL)) return NULL; - - blk_queue_congestion_threshold(q); - - /* all done, end the initial bypass */ - blk_queue_bypass_end(q); return q; } EXPORT_SYMBOL(blk_init_allocated_queue); --- linux-lowlatency-3.5.0.orig/block/blk-exec.c +++ linux-lowlatency-3.5.0/block/blk-exec.c @@ -49,8 +49,16 @@ rq_end_io_fn *done) { int where = at_head ? ELEVATOR_INSERT_FRONT : ELEVATOR_INSERT_BACK; + bool is_pm_resume; WARN_ON(irqs_disabled()); + + /* + * need to check this before __blk_run_queue(), because rq can + * be freed before that returns. + */ + is_pm_resume = rq->cmd_type == REQ_TYPE_PM_RESUME; + spin_lock_irq(q->queue_lock); if (unlikely(blk_queue_dead(q))) { @@ -66,7 +74,7 @@ __elv_add_request(q, rq, where); __blk_run_queue(q); /* the queue is stopped so it won't be run */ - if (rq->cmd_type == REQ_TYPE_PM_RESUME) + if (is_pm_resume) q->request_fn(q); spin_unlock_irq(q->queue_lock); } --- linux-lowlatency-3.5.0.orig/block/blk-ioc.c +++ linux-lowlatency-3.5.0/block/blk-ioc.c @@ -244,6 +244,7 @@ /* initialize */ atomic_long_set(&ioc->refcount, 1); + atomic_set(&ioc->nr_tasks, 1); atomic_set(&ioc->active_ref, 1); spin_lock_init(&ioc->lock); INIT_RADIX_TREE(&ioc->icq_tree, GFP_ATOMIC | __GFP_HIGH); --- linux-lowlatency-3.5.0.orig/block/blk-sysfs.c +++ linux-lowlatency-3.5.0/block/blk-sysfs.c @@ -523,6 +523,12 @@ if (WARN_ON(!q)) return -ENXIO; + /* + * Initialization must be complete by now. Finish the initial + * bypass from queue allocation. + */ + blk_queue_bypass_end(q); + ret = blk_trace_init_sysfs(dev); if (ret) return ret; --- linux-lowlatency-3.5.0.orig/block/scsi_ioctl.c +++ linux-lowlatency-3.5.0/block/scsi_ioctl.c @@ -27,6 +27,9 @@ #include #include #include +#include +#include +#include #include #include @@ -710,8 +713,17 @@ case SG_GET_RESERVED_SIZE: case SG_SET_RESERVED_SIZE: case SG_EMULATED_HOST: + case BLKFLSBUF: + case BLKROSET: return 0; case CDROM_GET_CAPABILITY: + case CDROM_DRIVE_STATUS: + case FDGETPRM: + case RAID_VERSION: + case MTIOCGET: +#ifdef CONFIG_COMPAT + case 0x801c6d02: /* MTIOCGET32 */ +#endif /* Keep this until we remove the printk below. udev sends it * and we do not want to spam dmesg about it. CD-ROMs do * not have partitions, so we get here only for disks. --- linux-lowlatency-3.5.0.orig/crypto/cryptd.c +++ linux-lowlatency-3.5.0/crypto/cryptd.c @@ -137,13 +137,18 @@ struct crypto_async_request *req, *backlog; cpu_queue = container_of(work, struct cryptd_cpu_queue, work); - /* Only handle one request at a time to avoid hogging crypto - * workqueue. preempt_disable/enable is used to prevent - * being preempted by cryptd_enqueue_request() */ + /* + * Only handle one request at a time to avoid hogging crypto workqueue. + * preempt_disable/enable is used to prevent being preempted by + * cryptd_enqueue_request(). local_bh_disable/enable is used to prevent + * cryptd_enqueue_request() being accessed from software interrupts. + */ + local_bh_disable(); preempt_disable(); backlog = crypto_get_backlog(&cpu_queue->queue); req = crypto_dequeue_request(&cpu_queue->queue); preempt_enable(); + local_bh_enable(); if (!req) return; --- linux-lowlatency-3.5.0.orig/debian.master/NOTES +++ linux-lowlatency-3.5.0/debian.master/NOTES @@ -0,0 +1,4 @@ +eSCO patch removed. Replaced upstream with a disable_esco module parm. +airprime: Module gone, use option driver instead +AppArmor: Patch is all there and ported. Ooops when enabled, so default + off (still can be enabled apparmor=1) --- linux-lowlatency-3.5.0.orig/debian.master/changelog +++ linux-lowlatency-3.5.0/debian.master/changelog @@ -0,0 +1,10398 @@ +linux (3.5.0-22.34) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1097343 + + [ Chris J Arges ] + + * Revert "SAUCE: fsnotify: dont put marks on temporary list when clearing + marks by group" + - LP: #1096137 + * Revert "SAUCE: fsnotify: introduce locked versions of + fsnotify_add_mark() and fsnotify_remove_mark()" + - LP: #1096137 + * Revert "SAUCE: fsnotify: pass group to fsnotify_destroy_mark()" + - LP: #1096137 + * Revert "SAUCE: fsnotify: use a mutex instead of a spinlock to protect a + groups mark list" + - LP: #1096137 + * Revert "SAUCE: fanotify: add an extra flag to mark_remove_from_mask + that indicates wheather a mark should be destroyed" + - LP: #1096137 + * Revert "SAUCE: fsnotify: take groups mark_lock before mark lock" + - LP: #1096137 + * Revert "SAUCE: fsnotify: use reference counting for groups" + - LP: #1096137 + * Revert "SAUCE: fsnotify: introduce fsnotify_get_group()" + - LP: #1096137 + + [ Upstream Kernel Changes ] + + * fsnotify: introduce fsnotify_get_group() + - LP: #1096137 + * fsnotify: use reference counting for groups + - LP: #1096137 + * fsnotify: take groups mark_lock before mark lock + - LP: #1096137 + * fanotify: add an extra flag to mark_remove_from_mask that indicates + wheather a mark should be destroyed + - LP: #1096137 + * fsnotify: use a mutex instead of a spinlock to protect a groups mark + list + - LP: #1096137 + * fsnotify: pass group to fsnotify_destroy_mark() + - LP: #1096137 + * fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #1096137 + * fsnotify: dont put marks on temporary list when clearing marks by group + - LP: #1096137 + * fsnotify: change locking order + - LP: #1096137 + + -- Luis Henriques Tue, 08 Jan 2013 17:54:01 +0000 + +linux (3.5.0-22.33) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1095349 + + [ Chris J Arges ] + + * SAUCE: add eeprom_bad_csum_allow module parameter + - LP: #1070182 + + [ Colin Ian King ] + + * SAUCE: samsung-laptop: disable in UEFI mode + - LP: #1040557 + + [ Kees Cook ] + + * SAUCE: exec: do not leave bprm->interp on stack + - LP: #1068888 + - CVE-2012-4530 + + [ Leann Ogasawara ] + + * Add ceph to linux-image for virtual instances + - LP: #1063784 + + [ Lino Sanfilippo ] + + * SAUCE: fsnotify: introduce fsnotify_get_group() + - LP: #922906 + * SAUCE: fsnotify: use reference counting for groups + - LP: #922906 + * SAUCE: fsnotify: take groups mark_lock before mark lock + - LP: #922906 + * SAUCE: fanotify: add an extra flag to mark_remove_from_mask that + indicates wheather a mark should be destroyed + - LP: #922906 + * SAUCE: fsnotify: use a mutex instead of a spinlock to protect a groups + mark list + - LP: #922906 + * SAUCE: fsnotify: pass group to fsnotify_destroy_mark() + - LP: #922906 + * SAUCE: fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #922906 + * SAUCE: fsnotify: dont put marks on temporary list when clearing marks + by group + - LP: #922906 + + [ Tomas Hozza ] + + * SAUCE: tools: hv: Netlink source address validation allows DoS + - LP: #1084777 + - CVE-2012-5532 + + [ Upstream Kernel Changes ] + + * Revert "Staging: Android alarm: IOCTL command encoding fix" + - LP: #1091251 + * Revert "sched, autogroup: Stop going ahead if autogroup is disabled" + - LP: #1091251 + * Revert "serial: omap: fix software flow control" + - LP: #1091251 + * drm/i915: EBUSY status handling added to i915_gem_fault(). + - LP: #1087302 + * MISC: hpilo, remove pci_disable_device + - LP: #1087860 + * asix: Adds support for Lenovo 10/100 USB dongle. + - LP: #1087480 + * hpsa: gen8plus Smart Array IDs + - LP: #1089623 + * KVM: x86: invalid opcode oops on SET_SREGS with OSXSAVE bit set + (CVE-2012-4461) + - LP: #1089604 + - CVE-2012-4461 + * gpio-timberdale: fix a potential wrapping issue + - LP: #1091251 + * cfg80211: fix antenna gain handling + - LP: #1091251 + * drm/i915: fix overlay on i830M + - LP: #1091251 + * drm/i915: clear the entire sdvo infoframe buffer + - LP: #1091251 + * mac80211: use blacklist for duplicate IE check + - LP: #1091251 + * mac80211: Only process mesh config header on frames that RA_MATCH + - LP: #1091251 + * mac80211: don't inspect Sequence Control field on control frames + - LP: #1091251 + * gpiolib: Don't return -EPROBE_DEFER to sysfs, or for invalid gpios + - LP: #1091251 + * qla2xxx: Update target lookup session tables when a target session + changes + - LP: #1091251 + * mac80211: fix SSID copy on IBSS JOIN + - LP: #1091251 + * wireless: drop invalid mesh address extension frames + - LP: #1091251 + * mac80211: check management frame header length + - LP: #1091251 + * mac80211: verify that skb data is present + - LP: #1091251 + * mac80211: make sure data is accessible in EAPOL check + - LP: #1091251 + * target: Fix double-free of se_cmd in target_complete_tmr_failure + - LP: #1091251 + * ext4: fix unjournaled inode bitmap modification + - LP: #1091251 + * ath9k: fix stale pointers potentially causing access to free'd skbs + - LP: #1091251 + * floppy: don't call alloc_ordered_workqueue inside the alloc_disk loop + - LP: #1091251 + * floppy: do put_disk on current dr if blk_init_queue fails + - LP: #1091251 + * floppy: properly handle failure on add_disk loop + - LP: #1091251 + * ALSA: PCM: Fix some races at disconnection + - LP: #1091251 + * ALSA: usb-audio: Fix races at disconnection + - LP: #1091251 + * ALSA: usb-audio: Use rwsem for disconnect protection + - LP: #1091251 + * ALSA: usb-audio: Fix races at disconnection in mixer_quirks.c + - LP: #1091251 + * ALSA: Add a reference counter to card instance + - LP: #1091251 + * ALSA: Avoid endless sleep after disconnect + - LP: #1091251 + * xen/gntdev: don't leak memory from IOCTL_GNTDEV_MAP_GRANT_REF + - LP: #1091251 + * rt2800: validate step value for temperature compensation + - LP: #1091251 + * ath9k: Test for TID only in BlockAcks while checking tx status + - LP: #1091251 + * md/raid1: Fix assembling of arrays containing Replacements. + - LP: #1091251 + * Input: tsc40 - remove wrong announcement of pressure support + - LP: #1091251 + * HID: microsoft: fix invalid rdesc for 3k kbd + - LP: #1091251 + * xen/mmu: Use Xen specific TLB flush instead of the generic one. + - LP: #1091251 + * NFS: Wait for session recovery to finish before returning + - LP: #1091251 + * NFSv4.1: We must release the sequence id when we fail to get a session + slot + - LP: #1091251 + * NFSv4: nfs4_locku_done must release the sequence id + - LP: #1091251 + * NFS: fix bug in legacy DNS resolver. + - LP: #1091251 + * nfsv3: Make v3 mounts fail with ETIMEDOUTs instead EIO on mountd + timeouts + - LP: #1091251 + * nfs: Show original device name verbatim in /proc/*/mount{s,info} + - LP: #1091251 + * target: Don't return success from module_init() if setup fails + - LP: #1091251 + * target: Avoid integer overflow in se_dev_align_max_sectors() + - LP: #1091251 + * iscsi-target: Fix missed wakeup race in TX thread + - LP: #1091251 + * target: Fix incorrect usage of nested IRQ spinlocks in ABORT_TASK path + - LP: #1091251 + * DRM/Radeon: Fix Load Detection on legacy primary DAC. + - LP: #1091251 + * ixgbe: PTP get_ts_info missing software support + - LP: #1091251 + * drm/udl: fix stride issues scanning out stride != width*bpp + - LP: #1091251 + * crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent + data corruption + - LP: #1091251 + * module: fix out-by-one error in kallsyms + - LP: #1091251 + * cifs: fix potential buffer overrun in cifs.idmap handling code + - LP: #1091251 + * ptp: update adjfreq callback description + - LP: #1091251 + * ALSA: hda: Cirrus: Fix coefficient index for beep configuration + - LP: #1091251 + * ALSA: HDA: Fix digital microphone on CS420x + - LP: #1091251 + * ALSA: hda - Force to reset IEC958 status bits for AD codecs + - LP: #1091251, #359361 + * hwmon: (w83627ehf) Force initial bank selection + - LP: #1091251 + * drm: restore open_count if drm_setup fails + - LP: #1091251 + * ALSA: hda - Fix empty DAC filling in patch_via.c + - LP: #1091251 + * ALSA: hda - Fix invalid connections in VT1802 codec + - LP: #1091251 + * xen/events: fix RCU warning, or Call idle notifier after irq_enter() + - LP: #1091251 + * mmc: sdhci: fix NULL dereference in sdhci_request() tuning + - LP: #1091251 + * ALSA: hda - Improve HP depop when system enter to S3 + - LP: #1091251 + * ALSA: hda - Add new codec ALC668 and ALC900 (default name ALC1150) + - LP: #1091251 + * ALSA: Fix card refcount unbalance + - LP: #1091251 + * drm/radeon/cayman: add some missing regs to the VM reg checker + - LP: #1091251 + * drm/radeon/si: add some missing regs to the VM reg checker + - LP: #1091251 + * xfs: fix buffer shudown reference count mismatch + - LP: #1091251 + * xfs: fix reading of wrapped log data + - LP: #1091251 + * virtio: Don't access index after unregister. + - LP: #1091251 + * fanotify: fix missing break + - LP: #1091251 + * mm: bugfix: set current->reclaim_state to NULL while returning from + kswapd() + - LP: #1091251 + * drm/vmwgfx: Fix hibernation device reset + - LP: #1091251 + * drm/vmwgfx: Fix a case where the code would BUG when trying to pin GMR + memory + - LP: #1091251 + * UBIFS: introduce categorized lprops counter + - LP: #1091251 + * UBIFS: fix mounting problems after power cuts + - LP: #1091251 + * USB: usb_wwan: fix bulk-urb allocation + - LP: #1091251 + * ARM: dt: tegra: fix length of pad control and mux registers + - LP: #1091251 + * futex: Handle futex_pi OWNER_DIED take over correctly + - LP: #1091251 + * mac80211: sync acccess to tx_filtered/ps_tx_buf queues + - LP: #1091251 + * iwlwifi: handle DMA mapping failures + - LP: #1091251 + * ASoC: wm8978: pll incorrectly configured when codec is master + - LP: #1091251 + * ASoC: cs42l52: fix the return value of cs42l52_set_fmt() + - LP: #1091251 + * Bluetooth: Fix having bogus entries in mgmt_read_index_list reply + - LP: #1091251 + * mac80211: don't send null data packet when not associated + - LP: #1091251 + * ASoC: dapm: Use card_list during DAPM shutdown + - LP: #1091251 + * ASoC: core: Double control update err for snd_soc_put_volsw_sx + - LP: #1091251 + * mac80211: call skb_dequeue/ieee80211_free_txskb instead of + __skb_queue_purge + - LP: #1091251 + * ALSA: hda - Add a missing quirk entry for iMac 9,1 + - LP: #1091251 + * s390/signal: set correct address space control + - LP: #1091251 + * wireless: allow 40 MHz on world roaming channels 12/13 + - LP: #1091251 + * drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures + - LP: #1091251 + * s390/gup: add missing TASK_SIZE check to get_user_pages_fast() + - LP: #1091251 + * USB: option: add Novatel E362 and Dell Wireless 5800 USB IDs + - LP: #1091251 + * USB: option: add Alcatel X220/X500D USB IDs + - LP: #1091251 + * i2c-mux-pinctrl: Fix probe error path + - LP: #1091251 + * ALSA: usb-audio: Fix mutex deadlock at disconnection + - LP: #1091251 + * drm/radeon: fix logic error in atombios_encoders.c + - LP: #1091251 + * ttm: Clear the ttm page allocated from high memory zone correctly + - LP: #1091251 + * ARM: imx: ehci: fix host power mask bit + - LP: #1091251 + * memcg: oom: fix totalpages calculation for memory.swappiness==0 + - LP: #1091251 + * memcg: fix hotplugged memory zone oops + - LP: #1091251 + * tmpfs: fix shmem_getpage_gfp() VM_BUG_ON + - LP: #1091251 + * tmpfs: change final i_blocks BUG to WARNING + - LP: #1091251 + * mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions() + - LP: #1091251 + * mtd: slram: invalid checking of absolute end address + - LP: #1091251 + * jffs2: Fix lock acquisition order bug in jffs2_write_begin + - LP: #1091251 + * isci: copy fis 0x34 response into proper buffer + - LP: #1091251 + * mac80211: deinitialize ibss-internals after emptiness check + - LP: #1091251 + * iwlwifi: fix monitor mode FCS flag + - LP: #1091251 + * fix virtual aliasing issue in get_shared_area() + - LP: #1091251 + * rtlwifi: rtl8192cu: Add new USB ID + - LP: #1091251 + * mwifiex: fix system hang issue in cmd timeout error case + - LP: #1091251 + * mwifiex: report error to MMC core if we cannot suspend + - LP: #1091251 + * xfs: drop buffer io reference when a bad bio is built + - LP: #1091251 + * m68k: fix sigset_t accessor functions + - LP: #1091251 + * ALSA: ua101, usx2y: fix broken MIDI output + - LP: #1091251 + * sparc64: not any error from do_sigaltstack() should fail rt_sigreturn() + - LP: #1091251 + * reiserfs: Fix lock ordering during remount + - LP: #1091251 + * reiserfs: Protect reiserfs_quota_on() with write lock + - LP: #1091251 + * reiserfs: Protect reiserfs_quota_write() with write lock + - LP: #1091251 + * reiserfs: Move quota calls out of write lock + - LP: #1091251 + * md: Reassigned the parameters if read_seqretry returned true in func + md_is_badblock. + - LP: #1091251 + * md: Avoid write invalid address if read_seqretry returned true. + - LP: #1091251 + * drm/radeon/dce4+: don't use radeon_crtc for vblank callback + - LP: #1091251 + * drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) + - LP: #1091251 + * drm/radeon: properly track the crtc not_enabled case + evergreen_mc_stop() + - LP: #1091251 + * radeon: add AGPMode 1 quirk for RV250 + - LP: #1091251 + * x86, efi: Fix processor-specific memcpy() build error + - LP: #1091251 + * x86-32: Fix invalid stack address while in softirq + - LP: #1091251 + * x86-32: Export kernel_stack_pointer() for modules + - LP: #1091251 + * x86, microcode, AMD: Add support for family 16h processors + - LP: #1091251 + * ALSA: hda - Add new codec ALC283 ALC290 support + - LP: #1091251 + * ALSA: hda - Add support for Realtek ALC292 + - LP: #1081466, #1091251 + * selinux: fix sel_netnode_insert() suspicious rcu dereference + - LP: #1091251 + * drm/radeon: add new SI pci id + - LP: #1091251 + * md/raid10: close race that lose writes lost when replacement completes. + - LP: #1091251 + * md/raid10: decrement correct pending counter when writing to + replacement. + - LP: #1091251 + * fix user-triggerable panic on parisc + - LP: #1091251 + * dm: fix deadlock with request based dm and queue request_fn recursion + - LP: #1091251 + * block: Don't access request after it might be freed + - LP: #1091251 + * PM / QoS: fix wrong error-checking condition + - LP: #1091251 + * i7300_edac: Fix error flag testing + - LP: #1091251 + * iwlwifi: fix the basic CCK rates calculation + - LP: #1091251 + * Dove: Attempt to fix PMU/RTC interrupts + - LP: #1091251 + * Dove: Fix irq_to_pmu() + - LP: #1091251 + * ARM: Kirkwood: Update PCI-E fixup + - LP: #1091251 + * jbd: Fix lock ordering bug in journal_unmap_buffer() + - LP: #1091251 + * can: peak_usb: fix hwtstamp assignment + - LP: #1091251 + * can: bcm: initialize ifindex for timeouts without previous frame + reception + - LP: #1091251 + * writeback: put unused inodes to LRU after writeback completion + - LP: #1091251 + * futex: avoid wake_futex() for a PI futex_q + - LP: #1091251 + * mm/vmemmap: fix wrong use of virt_to_page + - LP: #1091251 + * mm: vmscan: fix endless loop in kswapd balancing + - LP: #1091251 + * mm: soft offline: split thp at the beginning of soft_offline_page() + - LP: #1091251 + * x86, fpu: Avoid FPU lazy restore after suspend + - LP: #1091251 + * workqueue: exit rescuer_thread() as TASK_RUNNING + - LP: #1091251 + * Revert misapplied "mmc: sh-mmcif: avoid oops on spurious interrupts" + - LP: #1091251 + * mmc: sh-mmcif: avoid oops on spurious interrupts (second try) + - LP: #1091251 + * tmpfs: fix shared mempolicy leak + - LP: #1091251 + * HID: microsoft: do not use compound literal - fix build + - LP: #1091251 + * ACPI video: Ignore errors after _DOD evaluation. + - LP: #1091251 + * SUNRPC: Fix a UDP transport regression + - LP: #1091251 + * SUNRPC: Set alloc_slot for backchannel tcp ops + - LP: #1091251 + * sparc64: fix ptrace interaction with force_successful_syscall_return() + - LP: #1091251 + * sparc64: Like x86 we should check current->mm during perf backtrace + generation. + - LP: #1091251 + * sparc64: Fix bit twiddling in sparc_pmu_enable_event(). + - LP: #1091251 + * sparc64: do not clobber personality flags in sys_sparc64_personality() + - LP: #1091251 + * sparc64: Be less verbose during vmemmap population. + - LP: #1091251 + * netlink: add reference of module in netlink_dump_start + - LP: #1091251 + * infiniband: pass rdma_cm module to netlink_dump_start + - LP: #1091251 + * net: remove skb recycling + - LP: #1091251 + * net: Fix skb_under_panic oops in neigh_resolve_output + - LP: #1091251 + * skge: Add DMA mask quirk for Marvell 88E8001 on ASUS P5NSLI motherboard + - LP: #1091251 + * vlan: don't deliver frames for unknown vlans to protocols + - LP: #1091251 + * RDS: fix rds-ping spinlock recursion + - LP: #1091251 + * tcp: resets are misrouted + - LP: #1091251 + * ipv6: addrconf: fix /proc/net/if_inet6 + - LP: #1091251 + * drm/i915: Use cpu relocations if the object is in the GTT but not + mappable + - LP: #1091251 + * floppy: destroy floppy workqueue before cleaning up the queue + - LP: #1091251 + * drm/nouveau: silence modesetting spam on pre-gf8 chipsets + - LP: #1091251 + * drm/nouveau: fix suspend/resume when in headless mode + - LP: #1091251 + * drm/nouveau: headless mode by default if pci class != vga display + - LP: #1091251 + * sky2: Fix for interrupt handler + - LP: #1091251 + * batman-adv: Fix broadcast packet CRC calculation + - LP: #1091251 + * drm/radeon: fix typo in evergreen_mc_resume() + - LP: #1091251 + * GFS2: Test bufdata with buffer locked and gfs2_log_lock held + - LP: #1091251 + * USB: mos7840: remove unused variable + - LP: #1091251 + * sctp: fix call to SCTP_CMD_PROCESS_SACK in sctp_cmd_interpreter() + - LP: #1091251 + * netlink: use kfree_rcu() in netlink_release() + - LP: #1091251 + * tcp: fix FIONREAD/SIOCINQ + - LP: #1091251 + * ipv6: Set default hoplimit as zero. + - LP: #1091251 + * net: usb: Fix memory leak on Tx data path + - LP: #1091251 + * drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before + mdiobus_free + - LP: #1091251 + * l2tp: fix oops in l2tp_eth_create() error path + - LP: #1091251 + * tcp-repair: Handle zero-length data put in rcv queue + - LP: #1091251 + * net: inet_diag -- Return error code if protocol handler is missed + - LP: #1091251 + * af-packet: fix oops when socket is not present + - LP: #1091251 + * ipv6: send unsolicited neighbour advertisements to all-nodes + - LP: #1091251 + * r8169: allow multicast packets on sub-8168f chipset. + - LP: #1091251 + * r8169: Fix WoL on RTL8168d/8111d. + - LP: #1091251 + * r8169: use unlimited DMA burst for TX + - LP: #1091251 + * netfilter: Mark SYN/ACK packets as invalid from original direction + - LP: #1091251 + * netfilter: Validate the sequence number of dataless ACK packets as well + - LP: #1091251 + * netfilter: nf_nat: don't check for port change on ICMP tuples + - LP: #1091251 + * ipv4: avoid undefined behavior in do_ip_setsockopt() + - LP: #1091251 + * ipv6: setsockopt(IPIPPROTO_IPV6, IPV6_MINHOPCOUNT) forgot to set return + value + - LP: #1091251 + * net: correct check in dev_addr_del() + - LP: #1091251 + * net-rps: Fix brokeness causing OOO packets + - LP: #1091251 + * tcp: fix retransmission in repair mode + - LP: #1091251 + * GFS2: Don't call file_accessed() with a shared glock + - LP: #1091251 + * get_dvb_firmware: fix download site for tda10046 firmware + - LP: #1091251 + * ixgbe: add support for X540-AT1 + - LP: #1091251 + * fimc-lite: Don't use mutex_lock_interruptible() in device release() + - LP: #1091251 + * NFC: pn533: Fix use after free + - LP: #1091251 + * NFC: pn533: Fix mem leak in pn533_in_dep_link_up + - LP: #1091251 + * HID: add quirk for Freescale i.MX28 ROM recovery + - LP: #1091251 + * NFC: Fix nfc_llcp_local chained list insertion + - LP: #1091251 + * bas_gigaset: fix pre_reset handling + - LP: #1091251 + * watchdog: using u64 in get_sample_period() + - LP: #1091251 + * sata_svw: check DMA start bit before reset + - LP: #1091251 + * bnx2x: remove redundant warning log + - LP: #1091251 + * x86, amd: Disable way access filter on Piledriver CPUs + - LP: #1091251 + * telephony: ijx: buffer overflow in ixj_write_cid() + - LP: #1091251 + * i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard + - LP: #1091251 + * drm/i915: Add no-lvds quirk for Supermicro X7SPA-H + - LP: #1091251 + * ACPI: missing break + - LP: #1091251 + * 8139cp: revert "set ring address before enabling receiver" + - LP: #1091251 + * ASoC: dmaengine: Correct Makefile when sound is built as module + - LP: #1091251 + * i82975x_edac: Fix dimm label initialization + - LP: #1091251 + * drm/i915: do not ignore eDP bpc settings from vbt + - LP: #1091251 + * drm/i915: do not default to 18 bpp for eDP if missing from VBT + - LP: #1091251 + * Input: matrix-keymap - provide proper module license + - LP: #1091251 + * Linux 3.5.7.2 + - LP: #1091251 + * exec: use -ELOOP for max recursion depth + - LP: #1068888 + - CVE-2012-4530 + * ALSA: hda - bug fix for invalid connection list of Haswell HDMI codec + pins + - LP: #1095242 + + -- Brad Figg Wed, 02 Jan 2013 12:24:40 -0800 + +linux (3.5.0-21.32) quantal-proposed; urgency=low + + [ Luis Henriques ] + + * Release Tracking Bug + - LP: #1088979 + * SAUCE: i915_hsw: move i915_hsw_enabled symbol to intel_ips + - LP: #1087622 + + -- Luis Henriques Tue, 11 Dec 2012 16:55:32 +0000 + +linux (3.5.0-20.31) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1086759 + + [ Ben Widawsky ] + + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_WAIT_TIMEOUT + - LP: #1085245 + * SAUCE: i915_hsw: Include #define DRM_I915_GEM_CONTEXT_[CREATE,DESTROY] + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: add register read IOCTL + - LP: #1085245 + * SAUCE: i915_hsw: Include #define i915_execbuffer2_[set,get]_context_id + - LP: #1085245 + + [ Chris Wilson ] + + * SAUCE: i915_hsw: Include #define I915_GEM_PARAM_HAS_SEMAPHORES + - LP: #1085245 + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_SECURE_BATCHES + - LP: #1085245 + + [ Daniel Vetter ] + + * SAUCE: i915_hsw: drm/i915: call intel_enable_gtt + - LP: #1085245 + * SAUCE: i915_hsw: drm: add helper to sort panels to the head of the + connector list + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract dp link bw helpers + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract drm_dp_max_lane_count helper + - LP: #1085245 + * SAUCE: i915_hsw: drm: dp helper: extract drm_dp_channel_eq_ok + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract helpers to compute new training values + from sink request + - LP: #1085245 + * SAUCE: i915_hsw: drm: dp helper: extract drm_dp_clock_recovery_ok + - LP: #1085245 + + [ Dave Airlie ] + + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_PRIME_VMAP_FLUSH + - LP: #1085245 + + [ Leann Ogasawara ] + + * SAUCE: i915_hsw: Provide an ubuntu/i915 driver for Haswell graphics + - LP: #1085245 + * SAUCE: i915_hsw: Revert "drm: Make the .mode_fixup() operations mode + argument a const pointer" for ubuntu/i915 driver + - LP: #1085245 + * SAUCE: i915_hsw: Rename ubuntu/i915 driver i915_hsw + - LP: #1085245 + * SAUCE: i915_hsw: Only support Haswell with ubuntu/i915 driver + - LP: #1085245 + * SAUCE: i915_hsw: Include #define DRM_I915_GEM_WAIT + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract dp link train delay functions from radeon + - LP: #1085245 + * SAUCE: i915_hsw: drm/dp: Update DPCD defines + - LP: #1085245 + * SAUCE: i915_hsw: Update intel_ips.h file location + - LP: #1085245 + * SAUCE: i915_hsw: Provide updated drm_mm.h and drm_mm.c for ubuntu/i915 + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Replace the array of pages with a + scatterlist + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Replace the array of pages with a + scatterlist + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Stop using AGP layer for GEN6+ + - LP: #1085245 + * SAUCE: i915_hsw: Add i915_hsw_gpu_*() calls for ubuntu/i915 + - LP: #1085245 + * i915_hsw: [Config] Enable CONFIG_DRM_I915_HSW=m + - LP: #1085245 + + [ Paulo Zanoni ] + + * SAUCE: drm/i915: fix hsw_fdi_link_train "retry" code + - LP: #1085245 + * SAUCE: drm/i915: reject modes the LPT FDI receiver can't handle + - LP: #1085245 + * SAUCE: drm/i915: add support for mPHY destination on intel_sbi_{read, + write} + - LP: #1085245 + * SAUCE: drm/i915: add lpt_init_pch_refclk + - LP: #1085245 + * SAUCE: drm/i915: set the LPT FDI RX polarity reversal bit when needed + - LP: #1085245 + + [ Tim Gardner ] + + * Revert "SAUCE: SECCOMP: audit: always report seccomp violations" + - LP: #1079469 + + [ Upstream Kernel Changes ] + + * Revert "cgroup: Drop task_lock(parent) on cgroup_fork()" + - LP: #1084539 + * Revert "cgroup: Remove task_lock() from cgroup_post_fork()" + - LP: #1084539 + * Revert "x86/mm: Fix the size calculation of mapping tables" + - LP: #1084539 + * Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..." + - LP: #1084539 + * Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz" + - LP: #1084539 + * Revert "sched: Add missing call to calc_load_exit_idle()" + - LP: #1084539 + * net: fix secpath kmemleak + - LP: #1065434 + * seccomp: forcing auditing of kill condition + - LP: #1079469 + * e1000e: add device IDs for i218 + - LP: #1081796 + * bonding: Bonding driver does not consider the gso_max_size/gso_max_segs + setting of slave devices. + - LP: #1078184 + * mm/hotplug: correctly add new zone to all other nodes' zone lists + - LP: #1079860 + - CVE-2012-5517 + * xen: enable platform-pci only in a Xen guest + - LP: #1081054 + * udf: fix retun value on error path in udf_load_logicalvol + - LP: #1084539 + * usb: gadget: at91_udc: fix dt support + - LP: #1084539 + * netfilter: nf_nat_sip: fix incorrect handling of EBUSY for RTCP + expectation + - LP: #1084539 + * netfilter: nf_nat_sip: fix via header translation with multiple + parameters + - LP: #1084539 + * netfilter: nf_ct_expect: fix possible access to uninitialized timer + - LP: #1084539 + * netfilter: xt_limit: have r->cost != 0 case work + - LP: #1084539 + * netfilter: nf_conntrack: fix racy timer handling with reliable events + - LP: #1084539 + * netfilter: nfnetlink_log: fix NLA_PUT macro removal bug + - LP: #1084539 + * MIPS: ath79: Fix CPU/DDR frequency calculation for SRIF PLLs + - LP: #1084539 + * jbd: Fix assertion failure in commit code due to lacking transaction + credits + - LP: #1084539 + * nfsd4: fix nfs4 stateid leak + - LP: #1084539 + * NFSD: pass null terminated buf to kstrtouint() + - LP: #1084539 + * mfd: 88pm860x: Move _IO resources out of ioport_ioresource + - LP: #1084539 + * target: support zero allocation length in INQUIRY + - LP: #1084539 + * target: fix truncation of mode data, support zero allocation length + - LP: #1084539 + * target: fix return code in target_core_init_configfs error path + - LP: #1084539 + * powerpc/eeh: Lock module while handling EEH event + - LP: #1084539 + * SUNRPC: Ensure that the TCP socket is closed when in CLOSE_WAIT + - LP: #1084539 + * ext4: remove erroneous ext4_superblock_csum_set() in update_backups() + - LP: #1084539 + * block: remove the duplicated setting for congestion_threshold + - LP: #1084539 + * block: lift the initial queue bypass mode on blk_register_queue() + instead of blk_init_allocated_queue() + - LP: #1084539 + * block: fix request_queue->flags initialization + - LP: #1084539 + * viafb: don't touch clock state on OLPC XO-1.5 + - LP: #1084539 + * qla2xxx: Fix endianness of task management response code + - LP: #1084539 + * iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT PDU + - LP: #1084539 + * drm/i915: use adjusted_mode instead of mode for checking the 6bpc force + flag + - LP: #1084539 + * kbuild: Do not package /boot and /lib in make tar-pkg + - LP: #1084539 + * module: taint kernel when lve module is loaded + - LP: #1084539 + * mtd: nand: allow NAND_NO_SUBPAGE_WRITE to be set from driver + - LP: #1084539 + * nfsd4: don't pin clientids to pseudoflavors + - LP: #1084539 + * lockd: use rpc client's cl_nodename for id encoding + - LP: #1084539 + * pnfsblock: fix partial page buffer wirte + - LP: #1084539 + * pnfsblock: fix non-aligned DIO read + - LP: #1084539 + * pnfsblock: fix non-aligned DIO write + - LP: #1084539 + * target/file: Re-enable optional fd_buffered_io=1 operation + - LP: #1084539 + * iscsi-target: Add explicit set of cache_dynamic_acls=1 for TPG + demo-mode + - LP: #1084539 + * iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp + - LP: #1084539 + * iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout + values + - LP: #1084539 + * drivers/dma/dmaengine.c: lower the priority of 'failed to get' dma + channel message + - LP: #1084539 + * ath9k: use ieee80211_free_txskb + - LP: #1084539 + * ALSA: hda - Fix hang caused by race during suspend. + - LP: #1084539 + * ACPI: EC: Make the GPE storm threshold a module parameter + - LP: #1084539 + * ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop + - LP: #1084539 + * mmc: sdhci-s3c: fix the wrong number of max bus clocks + - LP: #1084539 + * mac80211: use ieee80211_free_txskb to fix possible skb leaks + - LP: #1084539 + * ARM: OMAP: counter: add locking to read_persistent_clock + - LP: #1084539 + * ARM: vfp: fix saving d16-d31 vfp registers on v6+ kernels + - LP: #1084539 + * scsi_debug: Fix off-by-one bug when unmapping region + - LP: #1084539 + * storvsc: Account for in-transit packets in the RESET path + - LP: #1084539 + * firewire: cdev: fix user memory corruption (i386 userland on amd64 + kernel) + - LP: #1084539 + * timers: Fix endless looping between cascade() and internal_add_timer() + - LP: #1084539 + * timekeeping: Cast raw_interval to u64 to avoid shift overflow + - LP: #1084539 + * video/udlfb: fix line counting in fb_write + - LP: #1084539 + * tmpfs,ceph,gfs2,isofs,reiserfs,xfs: fix fh_len checking + - LP: #1084539 + * ALSA: hda - Add missing hda_gen_spec to struct via_spec + - LP: #1084539 + * ALSA: hda - Fix memory leaks at error path in patch_cirrus.c + - LP: #1084539 + * autofs4 - fix reset pending flag on mount fail + - LP: #1084539 + * pktgen: fix crash when generating IPv6 packets + - LP: #1084539 + * md/raid10: use correct limit variable + - LP: #1084539 + * mips,kgdb: fix recursive page fault with CONFIG_KPROBES + - LP: #1084539 + * kdb,vt_console: Fix missed data due to pager overruns + - LP: #1084539 + * xen/bootup: allow read_tscp call for Xen PV guests. + - LP: #1084539 + * xen/bootup: allow {read|write}_cr8 pvops call. + - LP: #1084539 + * libceph: eliminate connection state "DEAD" + - LP: #1084539 + * libceph: kill bad_proto ceph connection op + - LP: #1084539 + * libceph: rename socket callbacks + - LP: #1084539 + * libceph: rename kvec_reset and kvec_add functions + - LP: #1084539 + * libceph: embed ceph messenger structure in ceph_client + - LP: #1084539 + * libceph: start separating connection flags from state + - LP: #1084539 + * libceph: start tracking connection socket state + - LP: #1084539 + * libceph: provide osd number when creating osd + - LP: #1084539 + * libceph: set CLOSED state bit in con_init + - LP: #1084539 + * libceph: embed ceph connection structure in mon_client + - LP: #1084539 + * libceph: drop connection refcounting for mon_client + - LP: #1084539 + * libceph: init monitor connection when opening + - LP: #1084539 + * libceph: fully initialize connection in con_init() + - LP: #1084539 + * libceph: tweak ceph_alloc_msg() + - LP: #1084539 + * libceph: have messages point to their connection + - LP: #1084539 + * libceph: have messages take a connection reference + - LP: #1084539 + * libceph: make ceph_con_revoke() a msg operation + - LP: #1084539 + * libceph: make ceph_con_revoke_message() a msg op + - LP: #1084539 + * libceph: fix overflow in __decode_pool_names() + - LP: #1084539 + * libceph: fix overflow in osdmap_decode() + - LP: #1084539 + * libceph: fix overflow in osdmap_apply_incremental() + - LP: #1084539 + * libceph: transition socket state prior to actual connect + - LP: #1084539 + * libceph: fix NULL dereference in reset_connection() + - LP: #1084539 + * libceph: use con get/put methods + - LP: #1084539 + * libceph: drop ceph_con_get/put helpers and nref member + - LP: #1084539 + * libceph: encapsulate out message data setup + - LP: #1084539 + * libceph: encapsulate advancing msg page + - LP: #1084539 + * libceph: don't mark footer complete before it is + - LP: #1084539 + * libceph: move init_bio_*() functions up + - LP: #1084539 + * libceph: move init of bio_iter + - LP: #1084539 + * libceph: don't use bio_iter as a flag + - LP: #1084539 + * libceph: SOCK_CLOSED is a flag, not a state + - LP: #1084539 + * libceph: don't change socket state on sock event + - LP: #1084539 + * libceph: just set SOCK_CLOSED when state changes + - LP: #1084539 + * libceph: don't touch con state in con_close_socket() + - LP: #1084539 + * libceph: clear CONNECTING in ceph_con_close() + - LP: #1084539 + * libceph: clear NEGOTIATING when done + - LP: #1084539 + * libceph: define and use an explicit CONNECTED state + - LP: #1084539 + * libceph: separate banner and connect writes + - LP: #1084539 + * libceph: distinguish two phases of connect sequence + - LP: #1084539 + * libceph: small changes to messenger.c + - LP: #1084539 + * libceph: add some fine ASCII art + - LP: #1084539 + * libceph: set peer name on con_open, not init + - LP: #1084539 + * libceph: initialize mon_client con only once + - LP: #1084539 + * libceph: allow sock transition from CONNECTING to CLOSED + - LP: #1084539 + * libceph: initialize msgpool message types + - LP: #1084539 + * libceph: prevent the race of incoming work during teardown + - LP: #1084539 + * libceph: report socket read/write error message + - LP: #1084539 + * libceph: fix mutex coverage for ceph_con_close + - LP: #1084539 + * libceph: resubmit linger ops when pg mapping changes + - LP: #1084539 + * libceph: (re)initialize bio_iter on start of message receive + - LP: #1084539 + * libceph: protect ceph_con_open() with mutex + - LP: #1084539 + * libceph: reset connection retry on successfully negotiation + - LP: #1084539 + * libceph: fix fault locking; close socket on lossy fault + - LP: #1084539 + * libceph: move msgr clear_standby under con mutex protection + - LP: #1084539 + * libceph: move ceph_con_send() closed check under the con mutex + - LP: #1084539 + * libceph: drop gratuitous socket close calls in con_work + - LP: #1084539 + * libceph: close socket directly from ceph_con_close() + - LP: #1084539 + * libceph: drop unnecessary CLOSED check in socket state change callback + - LP: #1084539 + * libceph: replace connection state bits with states + - LP: #1084539 + * libceph: clean up con flags + - LP: #1084539 + * libceph: clear all flags on con_close + - LP: #1084539 + * libceph: fix handling of immediate socket connect failure + - LP: #1084539 + * libceph: revoke mon_client messages on session restart + - LP: #1084539 + * libceph: verify state after retaking con lock after dispatch + - LP: #1084539 + * libceph: avoid dropping con mutex before fault + - LP: #1084539 + * libceph: change ceph_con_in_msg_alloc convention to be less weird + - LP: #1084539 + * libceph: recheck con state after allocating incoming message + - LP: #1084539 + * libceph: fix crypto key null deref, memory leak + - LP: #1084539 + * libceph: delay debugfs initialization until we learn global_id + - LP: #1084539 + * libceph: avoid truncation due to racing banners + - LP: #1084539 + * libceph: only kunmap kmapped pages + - LP: #1084539 + * rbd: reset BACKOFF if unable to re-queue + - LP: #1084539 + * libceph: avoid NULL kref_put when osd reset races with alloc_msg + - LP: #1084539 + * ceph: fix dentry reference leak in encode_fh() + - LP: #1084539 + * ceph: Fix oops when handling mdsmap that decreases max_mds + - LP: #1084539 + * libceph: check for invalid mapping + - LP: #1084539 + * ceph: avoid 32-bit page index overflow + - LP: #1084539 + * ASoC: wm2200: Use rev A register patches on rev B + - LP: #1084539 + * ASoC: wm2200: Fix non-inverted OUT2 mute control + - LP: #1084539 + * drm/i915: remove useless BUG_ON which caused a regression in 3.5. + - LP: #1084539 + * USB: Enable LPM after a failed probe. + - LP: #1084539 + * usb: Don't enable LPM if the exit latency is zero. + - LP: #1084539 + * usb: Send Set SEL before enabling parent U1/U2 timeout. + - LP: #1084539 + * ASoC: fsi: don't reschedule DMA from an atomic context + - LP: #1084539 + * drm/i915: Set guardband clipping workaround bit in the right register. + - LP: #1084539 + * pcmcia: sharpsl: don't discard sharpsl_pcmcia_ops + - LP: #1084539 + * hwmon: (coretemp) Add support for Atom CE4110/4150/4170 + - LP: #1084539 + * ALSA: hda - Fix registration race of VGA switcheroo + - LP: #1084539 + * usb: dwc3: gadget: fix 'endpoint always busy' bug + - LP: #1084539 + * usb: musb: am35xx: drop spurious unplugging a device + - LP: #1084539 + * drm/radeon: Don't destroy I2C Bus Rec in radeon_ext_tmds_enc_destroy(). + - LP: #1084539 + * ALSA: hda - Always check array bounds in alc_get_line_out_pfx + - LP: #1084539 + * NLM: nlm_lookup_file() may return NLMv4-specific error codes + - LP: #1084539 + * x86: Exclude E820_RESERVED regions and memory holes above 4 GB from + direct mapping. + - LP: #1084539 + * SUNRPC: Prevent kernel stack corruption on long values of flush + - LP: #1084539 + * USB: cdc-acm: fix pipe type of write endpoint + - LP: #1084539 + * usb: acm: fix the computation of the number of data bits + - LP: #1084539 + * usb: host: xhci: New system added for Compliance Mode Patch on + SN65LVPE502CP + - LP: #1084539 + * USB: option: blacklist net interface on ZTE devices + - LP: #1084539 + * USB: option: add more ZTE devices + - LP: #1084539 + * ext4: race-condition protection for + ext4_convert_unwritten_extents_endio + - LP: #1084539 + * ext4: fix metadata checksum calculation for the superblock + - LP: #1084539 + * nohz: Fix idle ticks in cpu summary line of /proc/stat + - LP: #1084539 + * ring-buffer: Check for uninitialized cpu buffer before resizing + - LP: #1084539 + * Bluetooth: SMP: Fix setting unknown auth_req bits + - LP: #1084539 + * oprofile, x86: Fix wrapping bug in op_x86_get_ctrl() + - LP: #1084539 + * cfg80211/mac80211: avoid state mishmash on deauth + - LP: #1084539 + * mac80211: check if key has TKIP type before updating IV + - LP: #1084539 + * mac80211: use ieee80211_free_txskb in a few more places + - LP: #1084539 + * bcma: fix unregistration of cores + - LP: #1084539 + * net/wireless: ipw2200: Fix panic occurring in + ipw_handle_promiscuous_tx() + - LP: #1084539 + * iwlwifi: fix 6000 series channel switch command + - LP: #1084539 + * cgroup: notify_on_release may not be triggered in some cases + - LP: #1084539 + * dt: Document: correct tegra20/30 pinctrl slew-rate name + - LP: #1084539 + * pinctrl: tegra: set low power mode bank width to 2 + - LP: #1084539 + * pinctrl: tegra: correct bank for pingroup and drv pingroup + - LP: #1084539 + * s390: fix linker script for 31 bit builds + - LP: #1084539 + * pinctrl: remove mutex lock in groups show + - LP: #1084539 + * xen/x86: don't corrupt %eip when returning from a signal handler + - LP: #1084539 + * ALSA: hda - Fix silent headphone output from Toshiba P200 + - LP: #1084539 + * ext4: Checksum the block bitmap properly with bigalloc enabled + - LP: #1084539 + * ARM: 7559/1: smp: switch away from the idmap before updating + init_mm.mm_count + - LP: #1084539 + * usb hub: send clear_tt_buffer_complete events when canceling TT clear + work + - LP: #1084539 + * staging: comedi: amplc_pc236: fix invalid register access during detach + - LP: #1084539 + * Staging: android: binder: Fix memory leak on thread/process exit + - LP: #1084539 + * Staging: android: binder: Allow using highmem for binder buffers + - LP: #1084539 + * ext4: Avoid underflow in ext4_trim_fs() + - LP: #1084539 + * cpufreq / powernow-k8: Remove usage of smp_processor_id() in + preemptible code + - LP: #1084539 + * extcon: Unregister compat class at module unload to fix oops + - LP: #1084539 + * extcon: unregister compat link on cleanup + - LP: #1084539 + * pinctrl: fix missing unlock on error in pinctrl_groups_show() + - LP: #1084539 + * arch/tile: avoid generating .eh_frame information in modules + - LP: #1084539 + * drm/radeon: add some new SI PCI ids + - LP: #1084539 + * drm/radeon: add error output if VM CS fails on cayman + - LP: #1084539 + * xhci: endianness xhci_calculate_intel_u2_timeout + - LP: #1084539 + * xhci: fix integer overflow + - LP: #1084539 + * dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc() + - LP: #1084539 + * x86-64: Fix page table accounting + - LP: #1084539 + * dmaengine: sirf: fix a typo in dma_prep_interleaved + - LP: #1084539 + * dmaengine: sirf: fix a typo in moving running dma_desc to active queue + - LP: #1084539 + * amd64_edac:__amd64_set_scrub_rate(): avoid overindexing scrubrates[] + - LP: #1084539 + * SUNRPC: Clear the connect flag when socket state is TCP_CLOSE_WAIT + - LP: #1084539 + * SUNRPC: Prevent races in xs_abort_connection() + - LP: #1084539 + * SUNRPC: Get rid of the xs_error_report socket callback + - LP: #1084539 + * iommu/tegra: smmu: Fix deadly typo + - LP: #1084539 + * ARM: at91/tc: fix typo in the DT document + - LP: #1084539 + * ARM: at91: at91sam9g10: fix SOC type detection + - LP: #1084539 + * ARM: at91/i2c: change id to let i2c-gpio work + - LP: #1084539 + * b43: Fix oops on unload when firmware not found + - LP: #1084539 + * USB: serial: Fix memory leak in sierra_release() + - LP: #1084539 + * x86, mm: Trim memory in memblock to be page aligned + - LP: #1084539 + * x86, mm: Use memblock memory loop instead of e820_RAM + - LP: #1084539 + * usb-storage: add unusual_devs entry for Casio EX-N1 digital camera + - LP: #1084539 + * Drivers: hv: Cleanup error handling in vmbus_open() + - LP: #1084539 + * sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat() + - LP: #1084539 + * vhost: fix mergeable bufs on BE hosts + - LP: #1084539 + * USB: metro-usb: fix io after disconnect + - LP: #1084539 + * USB: whiteheat: fix memory leak in error path + - LP: #1084539 + * USB: quatech2: fix memory leak in error path + - LP: #1084539 + * USB: quatech2: fix io after disconnect + - LP: #1084539 + * USB: opticon: fix DMA from stack + - LP: #1084539 + * USB: opticon: fix memory leak in error path + - LP: #1084539 + * USB: mct_u232: fix broken close + - LP: #1084539 + * USB: sierra: fix memory leak in attach error path + - LP: #1084539 + * USB: sierra: fix memory leak in probe error path + - LP: #1084539 + * USB: mos7840: fix urb leak at release + - LP: #1084539 + * USB: mos7840: fix port-device leak in error path + - LP: #1084539 + * USB: mos7840: remove NULL-urb submission + - LP: #1084539 + * USB: mos7840: remove invalid disconnect handling + - LP: #1084539 + * ehci: fix Lucid nohandoff pci quirk to be more generic with BIOS + versions + - LP: #1084539 + * ehci: Add yet-another Lucid nohandoff pci quirk + - LP: #1084539 + * xhci: Fix potential NULL ptr deref in command cancellation. + - LP: #1084539 + * freezer: exec should clear PF_NOFREEZE along with PF_KTHREAD + - LP: #1084539 + * mm: fix XFS oops due to dirty pages without buffers on s390 + - LP: #1084539 + * genalloc: stop crashing the system when destroying a pool + - LP: #1084539 + * drivers/rtc/rtc-imxdi.c: add missing spin lock initialization + - LP: #1084539 + * gen_init_cpio: avoid stack overflow when expanding + - LP: #1084539 + * fs/compat_ioctl.c: VIDEO_SET_SPU_PALETTE missing error check + - LP: #1084539 + * qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan + - LP: #1084539 + * efi: Defer freeing boot services memory until after ACPI init + - LP: #1084539 + * x86: efi: Turn off efi_enabled after setup on mixed fw/kernel + - LP: #1082059, #1084539 + * target: Re-add explict zeroing of INQUIRY bounce buffer memory + - LP: #1084539 + * ARM: 7566/1: vfp: fix save and restore when running on pre-VFPv3 and + CONFIG_VFPv3 set + - LP: #1084539 + * libceph: drop declaration of ceph_con_get() + - LP: #1084539 + * x86, mm: Find_early_table_space based on ranges that are actually being + mapped + - LP: #1084539 + * x86, mm: Undo incorrect revert in arch/x86/mm/init.c + - LP: #1084539 + * Linux 3.5.7.1 + - LP: #1084539 + * ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to + speaker + - LP: #1076840 + * Bluetooth: ath3k: Add support for VAIO VPCEH [0489:e027] + - LP: #898826 + * i915_hsw: drm/i915: Reserve ioctl numbers for set/get_caching + - LP: #1085245 + * i915_hsw: drm: Export drm_probe_ddc() + - LP: #1085245 + * i915_hsw: drm: remove the raw_edid field from struct drm_display_info + - LP: #1085245 + * i915_hsw: drm/i915: fix hsw uncached pte + - LP: #1085245 + * i915_hsw: drm/fb-helper: delay hotplug handling when partially bound + - LP: #1085245 + * i915_hsw: drm/fb helper: don't call drm_crtc_helper_set_config + - LP: #1085245 + * i915_hsw: drm/fb-helper: don't clobber output routing in setup_crtcs + - LP: #1085245 + * i915_hsw: drm/fb helper: don't call drm_helper_connector_dpms directly + - LP: #1085245 + * i915_hsw: drm/edid: Fix potential memory leak in edid_load() + - LP: #1085245 + + -- Luis Henriques Wed, 05 Dec 2012 11:53:06 +0000 + +linux (3.5.0-19.30) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1078041 + + [ Andy Whitcroft ] + + * [Config] update Vcs-git: to point to quantal + - LP: #1069204 + + [ Joseph Salisbury ] + + * SAUCE: ALSA: hda - add quirk for Thinkpad T430 + - LP: #1060372 + + [ Tim Gardner ] + + * [Config] CONFIG_USB_OTG=n for all but armel/armhf + - LP: #1047527 + * [Config] remove ndiswrapper from Provides: + - LP: #1076395 + * [Config] ONFIG_AMD_IOMMU_V2=m + - LP: #1071520 + + [ Upstream Kernel Changes ] + + * kernel/sys.c: fix stack memory content leak via UNAME26 + - LP: #1065622, #1060521 + - CVE-2012-0957 + * use clamp_t in UNAME26 fix + - LP: #1065622, #1060521 + - CVE-2012-0957 + * net: fix divide by zero in tcp algorithm illinois + - LP: #1077091 + - CVE-2012-4565 + + [ Wen-chien Jesse Sung ] + + * SAUCE: Bluetooth: Add a load_firmware callback to struct hci_dev + - LP: #1065400 + * SAUCE: Bluetooth: Implement broadcom patchram firmware loader + - LP: #1065400 + * SAUCE: Bluetooth: Add support for 13d3:3388 and 13d3:3389 + - LP: #1065400 + + -- Luis Henriques Tue, 13 Nov 2012 15:49:15 +0000 + +linux (3.5.0-18.29) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1068224 + + [ Andy Whitcroft ] + + * [packaging] do not fail secure copy on older kernels + * SAUCE: efivarfs: efivarfs_file_read ensure we free data in error paths + - LP: #1063061 + * SAUCE: efivars: efivarfs_create() ensure we drop our reference on inode + on error + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() fix inode reference counts + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() ensure we free our temporary + name + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() ensure we clean up correctly on + error + - LP: #1063061 + * [Config] add fs/udf to linux-image to support DVD/CD formats in virtual + instances + - LP: #1066921 + + [ Jeremy Kerr ] + + * SAUCE: efi: Handle deletions and size changes in efivarfs_write_file + - LP: #1063061 + * SAUCE: efivarfs: Implement exclusive access for {get, set}_variable + - LP: #1063061 + + [ Kamal Mostafa ] + + * SAUCE: input: Cypress PS/2 Trackpad list additional contributors + + [ Kyle Fazzari ] + + * SAUCE: input: Cypress PS/2 Trackpad fix lost sync upon palm contact + - LP: #1048258 + * SAUCE: input: Cypress PS/2 Trackpad fix taps turning into hardware + clicks + - LP: #1064086 + + [ Leann Ogasawara ] + + * Revert "SAUCE: ext4: fix crash when accessing /proc/mounts + concurrently" + - LP: #1066176 + * Revert "SAUCE: ALSA: hda/realtek - Fix detection of ALC271X codec" + - LP: #1066176 + + [ Lee, Chun-Yi ] + + * SAUCE: efi: add efivars kobject to efi sysfs folder + - LP: #1063061 + + [ Matt Fleming ] + + * SAUCE: efivarfs: Add documentation for the EFI variable filesystem + - LP: #1063061 + + [ Matthew Garrett ] + + * SAUCE: efi: Add support for a UEFI variable filesystem + - LP: #1063061 + + [ Sarveshwar Bandi ] + + * SAUCE: bridge: Pull ip header into skb->data before looking into ip + header. + - LP: #1065150 + + [ Upstream Kernel Changes ] + + * Revert "drm/i915: correctly order the ring init sequence" + - LP: #1066176 + * vfs: dcache: fix deadlock in tree traversal + - LP: #1063761 + * dm mpath: only retry ioctl when no paths if queue_if_no_path set + - LP: #1063761 + * dm: handle requests beyond end of device instead of using BUG_ON + - LP: #1063761 + * dm table: clear add_random unless all devices have it set + - LP: #1063761 + * dm verity: fix overflow check + - LP: #1063761 + * usb: gadget: make g_printer enumerate again + - LP: #1063761 + * usb: gadget: initialize the strings in tcm_usb_gadget properly + - LP: #1063761 + * USB: option: blacklist QMI interface on ZTE MF683 + - LP: #1063761 + * USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support + - LP: #1063761 + * USB: qcaux: add Pantech vendor class match + - LP: #1063761 + * usb: host: xhci: Fix Null pointer dereferencing with 71c731a for + non-x86 systems + - LP: #1063761 + * USB: serial: fix up bug with missing {} + - LP: #1063761 + * staging: speakup_soft: Fix reading of init string + - LP: #1063761 + * tty: keyboard.c: Remove locking from vt_get_leds. + - LP: #1063761 + * staging: r8712u: Do not queue cloned skb + - LP: #1063761 + * staging: comedi: s626: don't dereference insn->data + - LP: #1063761 + * staging: comedi: jr3_pci: fix iomem dereference + - LP: #1063761 + * staging: comedi: don't dereference user memory for INSN_INTTRIG + - LP: #1063761 + * staging: comedi: fix memory leak for saved channel list + - LP: #1063761 + * Remove BUG_ON from n_tty_read() + - LP: #1063761 + * TTY: ttyprintk, don't touch behind tty->write_buf + - LP: #1063761 + * serial: omap: fix software flow control + - LP: #1063761 + * serial: pl011: handle corruption at high clock speeds + - LP: #1063761 + * serial: set correct baud_base for EXSYS EX-41092 Dual 16950 + - LP: #1063761 + * tools/hv: Fix file handle leak + - LP: #1063761 + * tools/hv: Fix exit() error code + - LP: #1063761 + * tools/hv: Check for read/write errors + - LP: #1063761 + * b43legacy: Fix crash on unload when firmware not available + - LP: #1063761 + * firmware: Add missing attributes to EFI variable attribute print out + from sysfs + - LP: #1063761 + * xhci: Intel Panther Point BEI quirk. + - LP: #1063761 + * xHCI: add cmd_ring_state + - LP: #1063761 + * xHCI: add aborting command ring function + - LP: #1063761 + * xHCI: cancel command after command timeout + - LP: #1063761 + * xHCI: handle command after aborting the command ring + - LP: #1063761 + * Increase XHCI suspend timeout to 16ms + - LP: #1063761 + * HID: keep dev_rdesc unmodified and use it for comparisons + - LP: #1049623, #1063761 + * ath9k: Disable ASPM only for AR9285 + - LP: #1063761 + * xen/pciback: Restore the PCI config space after an FLR. + - LP: #1063761 + * coredump: prevent double-free on an error path in core dumper + - LP: #1063761 + * n_gsm.c: Implement 3GPP27.010 DLC start-up procedure in MUX + - LP: #1063761 + * n_gsm: uplink SKBs accumulate on list + - LP: #1063761 + * n_gsm: added interlocking for gsm_data_lock for certain code paths + - LP: #1063761 + * n_gsm: memory leak in uplink error path + - LP: #1063761 + * UBI: fix autoresize handling in R/O mode + - LP: #1063761 + * UBI: erase free PEB with bitflip in EC header + - LP: #1063761 + * Yama: handle 32-bit userspace prctl + - LP: #1063761 + * SCSI: ibmvscsi: Fix host config length field overflow + - LP: #1063761 + * SCSI: hpsa: Use LUN reset instead of target reset + - LP: #1063761 + * can: mscan-mpc5xxx: fix return value check in mpc512x_can_get_clock() + - LP: #1063761 + * remoteproc: select VIRTIO to avoid build breakage + - LP: #1063761 + * remoteproc: fix a potential NULL-dereference on cleanup + - LP: #1063761 + * IPoIB: Fix use-after-free of multicast object + - LP: #1063761 + * IB/srp: Fix use-after-free in srp_reset_req() + - LP: #1063761 + * IB/srp: Avoid having aborted requests hang + - LP: #1063761 + * isci: fix isci_pci_probe() generates warning on efi failure path + - LP: #1063761 + * x86/alternatives: Fix p6 nops on non-modular kernels + - LP: #1063761 + * SCSI: scsi_remove_target: fix softlockup regression on hot remove + - LP: #1063761 + * SCSI: scsi_dh_alua: Enable STPG for unavailable ports + - LP: #1063761 + * Linux 3.5.6 + - LP: #1063761 + * au0828: fix case where STREAMOFF being called on stopped stream causes + BUG() + - LP: #1062917 + * ALSA: hda - do not detect jack on internal speakers for Realtek + - LP: #1064621 + * HID: Remove QUANTA from special drivers list + - LP: #1064921 + * drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13 + - LP: #1064924 + * Revert dyndbg: fix for SOH in logging messages + - LP: #1066176 + * mn10300: only add -mmem-funcs to KBUILD_CFLAGS if gcc supports it + - LP: #1066176 + * kbuild: make: fix if_changed when command contains backslashes + - LP: #1066176 + * kbuild: Fix gcc -x syntax + - LP: #1066176 + * slab: fix the DEADLOCK issue on l3 alien lock + - LP: #1066176 + * intel-iommu: Default to non-coherent for domains unattached to iommus + - LP: #1066176 + * ARM: 7548/1: include linux/sched.h in syscall.h + - LP: #1066176 + * em28xx: Make all em28xx extensions to be initialized asynchronously + - LP: #1066176 + * media: rc: ite-cir: Initialise ite_dev::rdev earlier + - LP: #1066176 + * media: gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy + Microphone SL-6825-SBK + - LP: #1066176 + * ACPI: run _OSC after ACPI_FULL_INITIALIZATION + - LP: #1066176 + * PCI: acpiphp: check whether _ADR evaluation succeeded + - LP: #1066176 + * mfd: max8925: Move _IO resources out of ioport_ioresource + - LP: #1066176 + * lib/gcd.c: prevent possible div by 0 + - LP: #1066176 + * kernel/sys.c: call disable_nonboot_cpus() in kernel_restart() + - LP: #1066176 + * drivers/scsi/atp870u.c: fix bad use of udelay + - LP: #1066176 + * lguest: fix occasional crash in example launcher. + - LP: #1066176 + * powerpc/eeh: Fix crash on converting OF node to edev + - LP: #1066176 + * ixgbe: fix PTP ethtool timestamping function + - LP: #1066176 + * rapidio/rionet: fix multicast packet transmit logic + - LP: #1066176 + * PM / Sleep: use resume event when call dpm_resume_early + - LP: #1066176 + * workqueue: add missing smp_wmb() in process_one_work() + - LP: #1066176 + * jbd2: don't write superblock when if its empty + - LP: #1066176 + * localmodconfig: Fix localyesconfig to set to 'y' not 'm' + - LP: #1066176 + * bnx2x: fix rx checksum validation for IPv6 + - LP: #1066176 + * tcp: fix regression in urgent data handling + - LP: #1066176 + * xfrm: Workaround incompatibility of ESN and async crypto + - LP: #1066176 + * xfrm_user: return error pointer instead of NULL + - LP: #1066176 + * xfrm_user: return error pointer instead of NULL #2 + - LP: #1066176 + * xfrm: fix a read lock imbalance in make_blackhole + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_auth() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_state() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_policy() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_tmpl() + - LP: #1066176 + * xfrm_user: don't copy esn replay window twice for new states + - LP: #1066176 + * net: ethernet: davinci_cpdma: decrease the desc count when cleaning up + the remaining packets + - LP: #1066176 + * ixp4xx_hss: fix build failure due to missing linux/module.h inclusion + - LP: #1066176 + * netxen: check for root bus in netxen_mask_aer_correctable + - LP: #1066176 + * net-sched: sch_cbq: avoid infinite loop + - LP: #1066176 + * pkt_sched: fix virtual-start-time update in QFQ + - LP: #1066176 + * sierra_net: Endianess bug fix. + - LP: #1066176 + * 8021q: fix mac_len recomputation in vlan_untag() + - LP: #1066176 + * batman-adv: make batadv_test_bit() return 0 or 1 only + - LP: #1066176 + * ipv6: release reference of ip6_null_entry's dst entry in __ip6_del_rt + - LP: #1066176 + * ipv6: del unreachable route when an addr is deleted on lo + - LP: #1066176 + * ipv6: fix return value check in fib6_add() + - LP: #1066176 + * tcp: flush DMA queue before sk_wait_data if rcv_wnd is zero + - LP: #1066176 + * sctp: Don't charge for data in sndbuf again when transmitting packet + - LP: #1066176 + * pppoe: drop PPPOX_ZOMBIEs in pppoe_release + - LP: #1066176 + * net: small bug on rxhash calculation + - LP: #1066176 + * net: guard tcp_set_keepalive() to tcp sockets + - LP: #1066176 + * ipv4: raw: fix icmp_filter() + - LP: #1066176 + * ipv6: raw: fix icmpv6_filter() + - LP: #1066176 + * ipv6: mip6: fix mip6_mh_filter() + - LP: #1066176 + * l2tp: fix a typo in l2tp_eth_dev_recv() + - LP: #1066176 + * netrom: copy_datagram_iovec can fail + - LP: #1066176 + * net: do not disable sg for packets requiring no checksum + - LP: #1066176 + * aoe: assert AoE packets marked as requiring no checksum + - LP: #1066176 + * drm/savage: re-add busmaster enable, regression fix + - LP: #1066176 + * SCSI: zfcp: Adapt to new FC_PORTSPEED semantics + - LP: #1066176 + * SCSI: zfcp: Make trace record tags unique + - LP: #1066176 + * SCSI: zfcp: Bounds checking for deferred error trace + - LP: #1066176 + * SCSI: zfcp: Do not wakeup while suspended + - LP: #1066176 + * SCSI: zfcp: remove invalid reference to list iterator variable + - LP: #1066176 + * SCSI: zfcp: restore refcount check on port_remove + - LP: #1066176 + * SCSI: zfcp: only access zfcp_scsi_dev for valid scsi_device + - LP: #1066176 + * PCI: Check P2P bridge for invalid secondary/subordinate range + - LP: #1066176 + * ext4: ignore last group w/o enough space when resizing instead of + BUG'ing + - LP: #1066176 + * ext4: don't copy non-existent gdt blocks when resizing + - LP: #1066176 + * ext4: avoid duplicate writes of the backup bg descriptor blocks + - LP: #1066176 + * ext4: fix potential deadlock in ext4_nonda_switch() + - LP: #1066176 + * ext4: fix crash when accessing /proc/mounts concurrently + - LP: #1066176 + * ext4: move_extent code cleanup + - LP: #1066176 + * ext4: online defrag is not supported for journaled files + - LP: #1066176 + * ext4: always set i_op in ext4_mknod() + - LP: #1066176 + * ext4: fix fdatasync() for files with only i_size changes + - LP: #1066176 + * xfrm_user: ensure user supplied esn replay window is valid + - LP: #1066176 + * ASoC: wm_hubs: Ensure volume updates are handled during class W startup + - LP: #1066176 + * ASoC: wm9712: Fix name of Capture Switch + - LP: #1066176 + * kpageflags: fix wrong KPF_THP on non-huge compound pages + - LP: #1066176 + * hugetlb: do not use vma_hugecache_offset() for vma_prio_tree_foreach + - LP: #1066176 + * mm: fix invalidate_complete_page2() lock ordering + - LP: #1066176 + * mm: thp: fix pmd_present for split_huge_page and PROT_NONE with THP + - LP: #1066176 + * MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on + AR934x + - LP: #1066176 + * drm/i915: prevent possible pin leak on error path + - LP: #1066176 + * ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310 + - LP: #1066176 + * ALSA: aloop - add locking to timer access + - LP: #1066176 + * ALSA: hda/realtek - Fix detection of ALC271X codec + - LP: #1006690, #1066176 + * ALSA: hda - limit internal mic boost for Asus X202E + - LP: #1052460, #1066176 + * ALSA: usb - disable broken hw volume for Tenx TP6911 + - LP: #1066176, #559939 + * ALSA: USB: Support for (original) Xbox Communicator + - LP: #1066176 + * drm/nvc0/fence: restore pre-suspend fence buffer context on resume + - LP: #1066176 + * drm: Destroy the planes prior to destroying the associated CRTC + - LP: #1066176 + * drm/radeon: only adjust default clocks on NI GPUs + - LP: #1066176 + * drm/radeon: Add MSI quirk for gateway RS690 + - LP: #1066176 + * drm/radeon: force MSIs on RS690 asics + - LP: #1066176 + * drm/i915: Flush the pending flips on the CRTC before modification + - LP: #1066176 + * drm/i915: call drm_handle_vblank before finish_page_flip + - LP: #1066176 + * drm/i915: Fix GT_MODE default value + - LP: #1066176 + * ia64: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * h8300: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * parisc: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * xtensa: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * frv: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * mn10300: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * m68k: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * alpha: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * cris: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * m32r: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * score: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * rcu: Fix day-one dyntick-idle stall-warning bug + - LP: #1066176 + * revert "mm: mempolicy: Let vma_merge and vma_split handle + vma->vm_policy linkages" + - LP: #1066176 + * mempolicy: remove mempolicy sharing + - LP: #1066176 + * mempolicy: fix a race in shared_policy_replace() + - LP: #1066176 + * mempolicy: fix refcount leak in mpol_set_shared_policy() + - LP: #1066176 + * mempolicy: fix a memory corruption by refcount imbalance in + alloc_pages_vma() + - LP: #1066176 + * efi: Build EFI stub with EFI-appropriate options + - LP: #1066176 + * efi: initialize efi.runtime_version to make + query_variable_info/update_capsule workable + - LP: #1066176 + * CPU hotplug, cpusets, suspend: Don't modify cpusets during + suspend/resume + - LP: #1066176 + * mtd: mtdpart: break it as soon as we parse out the partitions + - LP: #1066176 + * mtd: autcpu12-nvram: Fix compile breakage + - LP: #1066176 + * mtd: nandsim: bugfix: fail if overridesize is too big + - LP: #1066176 + * mtd: nand: Use the mirror BBT descriptor when reading its version + - LP: #1066176 + * mtd: omap2: fix omap_nand_remove segfault + - LP: #1066176 + * mtd: omap2: fix module loading + - LP: #1066176 + * mmc: omap_hsmmc: Pass on the suspend failure to the PM core + - LP: #1066176 + * mmc: sh-mmcif: avoid oops on spurious interrupts + - LP: #1066176 + * JFFS2: fix unmount regression + - LP: #1066176 + * JFFS2: don't fail on bitflips in OOB + - LP: #1066176 + * cifs: reinstate the forcegid option + - LP: #1066176 + * Convert properly UTF-8 to UTF-16 + - LP: #1066176 + * Linux 3.5.7 + - LP: #1066176 + + -- Luis Henriques Thu, 18 Oct 2012 17:43:41 +0100 + +linux (3.5.0-17.28) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [packaging] we already have a valid src_pkg_name + * [packaging] allow us to select which builds have uefi signed versions + + [ James M Leddy ] + + * SAUCE: input: fix weird issue of synaptics psmouse sync lost after + resume + - LP: #717970 + + [ Paolo Pisati ] + + * SAUCE: omap3 clocks .dev_id = NULL + - LP: #1061599 + * [Config] omap: disable USB_[EHCI|OHCI]_HCD_PLATFORM + - LP: #1061599 + * [Config] omap: enforce USB_[EHCI|OHCI]_HCD_PLATFORM=n + - LP: #1061599 + + [ Stefan Bader ] + + * SAUCE: net/ipv4: Always flush route cache on unregister batch call + - LP: #1021471 + + [ Upstream Kernel Changes ] + + * Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn + - LP: #1030233 + + [ Wen-chien Jesse Sung ] + + * SAUCE: Bluetooth: Remove rules for matching Broadcom vendor specific + IDs + - LP: #1030233 + + -- Leann Ogasawara Tue, 09 Oct 2012 11:23:41 -0700 + +linux (3.5.0-17.27) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [packaging] add custom upload for the kernel binary package + + -- Andy Whitcroft Thu, 04 Oct 2012 22:14:01 +0100 + +linux (3.5.0-17.26) quantal-proposed; urgency=low + + [ David Henningsson ] + + * SAUCE: ALSA: hda - fix indices on boost volume on Conexant + - LP: #1059523 + + [ Leann Ogasawara ] + + * [Config] Build in CONFIG_X86_PCC_CPUFREQ=y + - LP: #1061126 + + [ Rob Herring ] + + * Revert "SAUCE: ahci_platform: add custom hard reset for Calxeda ahci + ctrlr" + - LP: #1059432 + * Revert "SAUCE: net: calxedaxgmac: add write barriers around setting + owner bit" + - LP: #1059432 + * Revert "SAUCE: ARM: highbank: use writel_relaxed variant for pwr + requests" + - LP: #1059432 + * Revert "SAUCE: force DMA buffers to non-bufferable on highbank" + - LP: #1059432 + * Revert "SAUCE: input: add a key driver for highbank" + - LP: #1059432 + * [Config] Align highbank config with amd64-generic and add new configs + - LP: #1059432 + * SAUCE: net: calxedaxgmac: enable operate on 2nd frame mode + - LP: #1059432 + * SAUCE: net: calxedaxgmac: remove explicit rx dma buffer polling + - LP: #1059432 + * SAUCE: net: calxedaxgmac: use relaxed i/o accessors in rx and tx paths + - LP: #1059432 + * SAUCE: net: calxedaxgmac: drop some unnecessary register writes + - LP: #1059432 + * SAUCE: net: calxedaxgmac: rework transmit ring handling + - LP: #1059432 + * SAUCE: ARM: highbank: retry wfi on reset request + - LP: #1059432 + + [ Tim Gardner ] + + * [Config] TIDSPBRIDGE=m + - LP: #1058022 + * rebase to v3.5.5 + + [ Upstream Kernel Changes ] + + * common: DMA-mapping: add DMA_ATTR_NO_KERNEL_MAPPING attribute + - LP: #1059432 + * common: DMA-mapping: add DMA_ATTR_SKIP_CPU_SYNC attribute + - LP: #1059432 + * ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute + - LP: #1059432 + * ARM: add coherent dma ops + - LP: #1059432 + * ARM: add coherent iommu dma ops + - LP: #1059432 + * ARM: highbank: add coherent DMA setup + - LP: #1059432 + * sata: add platform driver for Calxeda AHCI controller + - LP: #1059432 + * xhci: Rate-limit XHCI_TRUST_TX_LENGTH quirk warning. + - LP: #1039478 + * agp/intel-gtt: remove dead code + - LP: #1011440 + * drm/i915: stop using dev->agp->base + - LP: #1011440 + * agp/intel-gtt: don't require the agp bridge on setup + - LP: #1011440 + * drm/i915 + agp/intel-gtt: prep work for direct setup + - LP: #1011440 + * agp/intel-gtt: move gart base addres setup + - LP: #1011440 + * drm/i915: don't use dev->agp + - LP: #1011440 + * drm/i915: disable drm agp support for !gen3 with kms enabled + - LP: #1011440 + * agp/intel-agp: remove snb+ host bridge pciids + - LP: #1011440 + * rebase to v3.5.5 + - LP: #1000424 + + -- Leann Ogasawara Wed, 03 Oct 2012 11:11:18 -0700 + +linux (3.5.0-16.25) quantal-proposed; urgency=low + + [ git@status.e4ward.com ] + + * SAUCE: input: Cypress PS/2 Trackpad fix multi-source, double-click + - LP: #1055788 + + [ Tim Gardner ] + + * [Config] revert '[Config] enable CONFIG_X86_X32=y' + - LP: #1041883 + + [ Upstream Kernel Changes ] + + * vmwgfx: corruption in vmw_event_fence_action_create() + * drm/nvd0/disp: hopefully fix selection of 6/8bpc mode on DP outputs + - LP: #1058088 + * drm/nv50-/gpio: initialise to vbios defaults during init + - LP: #1058088 + * igb: A fix to VF TX rate limit + - LP: #1058188 + * igb: Add switch case for supported hardware to igb_ptp_remove. + - LP: #1058188 + * igb: Support the get_ts_info ethtool method. + - LP: #1058188 + * igb: Streamline RSS queue and queue pairing assignment logic. + - LP: #1058188 + * igb: Update firmware info output + - LP: #1058188 + * igb: Version bump + - LP: #1058188 + * igb: reset PHY in the link_up process to recover PHY setting after + power down. + - LP: #1058188 + * igb: Fix for failure to init on some 82576 devices. + - LP: #1058188 + * igb: correct hardware type (i210/i211) check in igb_loopback_test() + - LP: #1058188 + * igb: don't break user visible strings over multiple lines in + igb_ethtool.c + - LP: #1058188 + * igb: add delay to allow igb loopback test to succeed on 8086:10c9 + - LP: #1058188 + * igb: fix panic while dumping packets on Tx hang with IOMMU + - LP: #1058188 + * igb: Fix register defines for all non-82575 hardware + - LP: #1058188 + * e1000e: use more informative logging macros when netdev not yet + registered + - LP: #1058219 + * e1000e: Cleanup code logic in e1000_check_for_serdes_link_82571() + - LP: #1058219 + * e1000e: Program the correct register for ITR when using MSI-X. + - LP: #1058219 + * e1000e: advertise transmit time stamping + - LP: #1058219 + * e1000e: 82571 Tx Data Corruption during Tx hang recovery + - LP: #1058219 + * e1000e: fix panic while dumping packets on Tx hang with IOMMU + - LP: #1058219 + * e1000: Combining Bitwise OR in one expression. + - LP: #1058221 + * e1000: advertise transmit time stamping + - LP: #1058221 + * e1000: Small packets may get corrupted during padding by HW + - LP: #1058221 + * sched: Fix migration thread runtime bogosity + - LP: #1057593 + * ACER: Add support for accelerometer sensor + - LP: #1055433 + * ACER: Fix Smatch double-free issue + - LP: #1055433 + + [ Wen-chien Jesse Sung ] + + * SAUCE: HID: ntrig: change default value of logical/physical + width/height to 1 + - LP: #1044248 + + -- Leann Ogasawara Fri, 28 Sep 2012 14:07:41 -0700 + +linux (3.5.0-16.24) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: ata_piix: add a disable_driver option + - LP: #994870 + + [ Christian König ] + + * (pre-stable) drm/radeon: make 64bit fences more robust v3 (3.5 stable) + - LP: #1029582 + + [ David Henningsson ] + + * SAUCE: ALSA: hda - use both input paths on Conexant auto parser + - LP: #1037642 + * SAUCE: ALSA: hda - fix control names for multiple speaker out on + IDT/STAC + - LP: #1046734 + + [ Herton Ronaldo Krzesinski ] + + * SAUCE: ALSA: hda/via - don't report presence on HPs with no presence + support + - LP: #1052499 + * SAUCE: ext4: fix crash when accessing /proc/mounts concurrently + - LP: #1053019 + * SAUCE: ALSA: hda/realtek - Fix detection of ALC271X codec + - LP: #1006690 + + [ Kyle Fazzari ] + + * SAUCE: input: Cypress PS/2 Trackpad fix disabling tap-to-click + - LP: #1048816 + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_DRM_AST + - LP: #1053290 + + [ Stefan Bader ] + + * [Config] Disable the Cirrus QEMU drm driver + - LP: #1038055 + + [ Upstream Kernel Changes ] + + * Revert "KVM: VMX: Fix KVM_SET_SREGS with big real mode segments" + - LP: #1045027 + * x86, efi: Handover Protocol + * drm/i915: HDMI - Clear Audio Enable bit for Hot Plug + - LP: #1056729 + * UBUNTU SAUCE: apparmor: fix IRQ stack overflow + - LP: #1056078 + * drm/nouveau: fix booting with plymouth + dumb support + - LP: #1043518 + * ALSA: hda - Add DeviceID for Haswell HDA + - LP: #1057698 + * ALSA: hda - add Haswell HDMI codec id + - LP: #1057698 + * ALSA: hda - Fix driver type of Haswell controller to AZX_DRIVER_SCH + - LP: #1057698 + * ALSA: hda_intel: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1011438, #1057698 + + [ Wang Xingchao ] + + * SAUCE: ALSA: hda - Add another pci id for Haswell board + - LP: #1057698 + + [ Wen-chien Jesse Sung ] + + * SAUCE: drm/i915: Explicitly disable RC6 for certain models + - LP: #1002170, #1008867 + + -- Leann Ogasawara Thu, 27 Sep 2012 13:55:52 -0700 + +linux (3.5.0-15.23) quantal; urgency=low + + [ Upstream Kernel Changes ] + + * Revert "drm/i915: don't forget the PCH backlight registers" + - LP: #1053269, #1055231, #1055665 + * Revert "drm/i915: fix up PCH backlight #define mixup" + - LP: #1053269, #1055665 + * Revert "drm/i915: allow pipe A for lvds on gen4" + - LP: #1053269, #1055665 + * Revert "drm/i915: properly enable the blc controller on the right pipe" + - LP: #1053269, #1055665 + * Revert "drm/i915: clear up backlight #define confusion on gen4+" + - LP: #1053269, #1055665 + * Revert "drm/i915: pnv has a backlight polarity control bit, too" + - LP: #1053269, #1055665 + + -- Leann Ogasawara Mon, 24 Sep 2012 12:33:26 -0700 + +linux (3.5.0-15.22) quantal; urgency=low + + * fix regressions introduced by the last batch of i915 patches. + + [ Upstream Kernel Changes ] + + * drm/i915: fix up PCH backlight #define mixup + - LP: #954661 + * drm/i915: don't forget the PCH backlight registers + - LP: #954661 + + -- Tim Gardner Wed, 19 Sep 2012 13:32:19 -0600 + +linux (3.5.0-15.21) quantal; urgency=low + + [ Tim Gardner ] + + * ubuntu: AUFS -- update to 18e455787597579fe144cdb2f18aa6a0a32c46a4 + * [Config] Enable aufs + - LP: #908784 + + [ Upstream Kernel Changes ] + + * eCryptfs: check for eCryptfs cipher support at mount + - LP: #338914 + * drm/i915: pnv has a backlight polarity control bit, too + - LP: #954661 + * drm/i915: clear up backlight #define confusion on gen4+ + - LP: #954661 + * drm/i915: properly enable the blc controller on the right pipe + - LP: #954661 + * drm/i915: allow pipe A for lvds on gen4 + - LP: #954661 + + -- Tim Gardner Tue, 18 Sep 2012 08:37:51 -0400 + +linux (3.5.0-15.20) quantal-proposed; urgency=low + + [ Tim Gardner ] + + * rebase to v3.5.4 + * SAUCE: CONFIG_HID_BATTERY_STRENGTH=y + - LP: #1003090 + + [ Upstream Kernel Changes ] + + * eCryptfs: Copy up attributes of the lower target inode after rename + - LP: #561129 + * eCryptfs: Write out all dirty pages just before releasing the lower + file + - LP: #1047261 + * eCryptfs: Call lower ->flush() from ecryptfs_flush() + - LP: #1047261 + * af_netlink: force credentials passing [CVE-2012-3520] + - LP: #1052097 + - CVE-2012-3520 + * drm/i915: clarify IBX dp workaround + - LP: #1011440 + * drm/i915: Implement w/a for sporadic read failures on waking from rc6 + - LP: #1011440 + * drm/i915: support Haswell force waking + - LP: #1011440 + * drm/i915: add RPS configuration for Haswell + - LP: #1011440 + * drm/i915: enable RC6 by default on Haswell + - LP: #1011440 + * drm/i915: introduce haswell_init_clock_gating + - LP: #1011440 + * drm/i915: enable RC6 workaround on Haswell + - LP: #1011440 + * drm/i915: re-initialize DDI buffer translations after resume + - LP: #1011440 + * drm/i915: fix PIPE_DDI_PORT_MASK + - LP: #1011440 + * drm/i915: try to train DP even harder + - LP: #1011440 + * drm/i915: add more Haswell PCI IDs + - LP: #1011440 + * rebase to v3.5.4 + - LP: #1038651 + + -- Leann Ogasawara Mon, 17 Sep 2012 13:41:39 -0700 + +linux (3.5.0-14.19) quantal; urgency=low + + [ Tim Gardner ] + + * [Config] Fix debug FTBS on non-x86 + + -- Tim Gardner Fri, 14 Sep 2012 13:06:02 -0600 + +linux (3.5.0-14.18) quantal; urgency=low + + [ Tim Gardner ] + + * SAUCE: Add 'used' to the video_cards structure attributes + - LP: #1049650 + + -- Tim Gardner Fri, 14 Sep 2012 10:58:40 -0400 + +linux (3.5.0-14.17) quantal; urgency=low + + [ Keng-Yu Lin ] + + * SAUCE: Intel xhci: Only switch the switchable ports + - LP: #1034814 + + -- Leann Ogasawara Wed, 12 Sep 2012 08:34:21 -0700 + +linux (3.5.0-14.16) quantal-proposed; urgency=low + + [ Bernhard Froemel ] + + * SAUCE: apple-gmux: Fix index read functions + + [ Kamal Mostafa ] + + * SAUCE: input: Cypress PS/2 Trackpad move PSMOUSE_CYPRESS enum + - LP: #1041594 + + [ Seth Forshee ] + + * SAUCE: Input: synaptics - Adjust threshold for treating position values + as negative + - LP: #1046512 + + [ Upstream Kernel Changes ] + + * mei: check for error codes that mei_flow_ctrl_creds retuns + * mei: make mei_write_message more readable + * mei: mei_irq_thread_write_handler check for overflow + * mei: group wd_interface_reg with watchdog variables within struct + mei_device + * mei: don't query HCSR for host buffer depth + * mei: revamp host buffer interface function + * mei: mei_device can be const for mei register access functions + * mei: remove write only wariable wd_due_counter + * mei: mei_wd_host_init: update the comment + * mei: introduce mei_data2slots wrapper + * mei: streamline the _mei_irq_thread_close/ioctol functions + * mei: mei_irq_thread_write_handler - line break fix + * mei: use module_pci_driver + * mei: fix device stall after wd is stopped + + -- Leann Ogasawara Mon, 10 Sep 2012 13:05:18 -0700 + +linux (3.5.0-14.15) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: fs: d_revalidate methods may be passed a NULL nameidata + - LP: #1038075 + + [ Dave Airlie ] + + * SAUCE: drm/vmwgfx: add MODULE_DEVICE_TABLE so vmwgfx loads at boot + - LP: #1039157 + + [ Ike Panhc ] + + * [Config] Enable CONFIG_DEVPTS_MULTIPLE_INSTANCES for highbank + - LP: #1038259 + + [ Tim Gardner ] + + * SAUCE: wlcore: Declare MODULE_FIRMWARE usage + - LP: #1042918 + + [ Upstream Kernel Changes ] + + * asus-nb-wmi: add some video toggle keys + - LP: #1022427 + * [media] uvcvideo: Fix frame drop in bulk video stream + * [media] uvcvideo: Fix alternate setting selection + * Input: wacom - add support to Cintiq 22HD + - LP: #1043733 + * ALSA: HDA: Create phantom jacks for fixed inputs and outputs + * ALSA: HDA: Support single 3-pin jack without VREF on the actual pin + - LP: #1018262 + * ALSA: hda - give 3-pin jack the name "Headphone Mic Jack" + * ALSA: hda - Do not set GPIOs for speakers on IDT if there are no + speakers + - LP: #1040077 + * ALSA: hda - Fix pop noise in headphones on S3 for Asus X55A, X55V + - LP: #1034779 + * ALSA: hda - Always call standard unsolicited event for Realtek codecs + - LP: #1021192 + * ALSA: hda - Add the inverted digital mic workaround to Realtek codecs + * ALSA: hda - Add inverted mic quirks for Asus U41SV, Acer 1810TZ and + AOD260 + - LP: #1006089, #996611, #997227 + * ALSA: hda - don't create dysfunctional mixer controls for ca0132 + - LP: #1038651 + * ALSA: hda - Don't send invalid volume knob command on IDT 92hd75bxx + + -- Leann Ogasawara Thu, 06 Sep 2012 10:06:28 -0700 + +linux (3.5.0-13.14) quantal; urgency=low + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_DRM_MGAG200 + - LP: #1042903 + + [ Upstream Kernel Changes ] + + * [media] uvcvideo: Reset the bytesused field when recycling an erroneous + buffer + - LP: #1042809 + + -- Tim Gardner Tue, 28 Aug 2012 08:43:55 -0400 + +linux (3.5.0-13.13) quantal-proposed; urgency=low + + [ Tim Gardner ] + + * rebase to v3.5.3 + * [Config] Add smsc{79}5xx to nic-usb-modules + - LP: #1041397 + + [ Upstream Kernel Changes ] + + * rebase to v3.5.3 + + -- Leann Ogasawara Mon, 27 Aug 2012 11:29:08 -0700 + +linux (3.5.0-12.12) quantal-proposed; urgency=low + + [ Luis Henriques ] + + * [Config] Fix typo on control.stub.in + + [ Ricardo Salveti de Araujo ] + + * [Config] installing omapdrm specific headers for external drivers + - LP: #1038846 + + [ Seth Forshee ] + + * SAUCE: apple-gmux: Fix port address calculation in gmux_pio_write32() + + [ Stefan Bader ] + + * SAUCE: (no-up) x86/mm: Fix 64bit size of mapping tables + - LP: #1022561 + + [ Tim Gardner ] + + * SAUCE: firmware: Remove sb16 files duplicated in linux-firmware + + [ Upstream Kernel Changes ] + + * net: Allow driver to limit number of GSO segments per skb + - LP: #1037456 + - CVE-2012-3412 + * sfc: Fix maximum number of TSO segments and minimum TX queue size + - LP: #1037456 + - CVE-2012-3412 + * tcp: Apply device TSO segment limit earlier + - LP: #1037456 + - CVE-2012-3412 + * cfg80211: add channel flag to prohibit OFDM operation + * brcmsmac: use channel flags to restrict OFDM + * gmux: Add generic write32 function + * apple_gmux: Add support for newer hardware + * apple_gmux: Fix ACPI video unregister + * apple-gmux: Fix kconfig dependencies + * vga_switcheroo: Don't require handler init callback + * vga_switcheroo: Remove assumptions about registration/unregistration + ordering + * apple-gmux: Add display mux support + * mei: add mei_quirk_probe function + - LP: #1041164 + * mutex: Place lock in contended state after fastpath_lock failure + - LP: #1041114 + + -- Leann Ogasawara Fri, 24 Aug 2012 07:13:00 -0700 + +linux (3.5.0-11.11) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable CONFIG_X86_X32=y + + [ Cypress Semiconductor Corporation ] + + * SAUCE: input: Cypress PS/2 Trackpad mouse driver + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad link driver into psmouse-base + - LP: #978807 + + [ Dann Frazier ] + + * [Config] compile the rtc-pl031 driver as static on the highbank kernel + flavour + - LP: #1035110 + + [ Ike Panhc ] + + * [Config] Enable CONFIG_DEBUG_HIGHBANK_UART for highbank + - LP: #1034781 + + [ Kamal Mostafa ] + + * SAUCE: input: Cypress PS/2 Trackpad code style cleanup + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad eliminate dead code + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad fix no-config stubs + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad set default debug_level=0 + - LP: #978807 + * SAUCE: [Config] add MOUSE_PS2_CYPRESS=y + - LP: #978807 + + [ Kees Cook ] + + * SAUCE: Yama: access task_struct->comm directly + * SAUCE: Yama: add link restrictions + * SAUCE: security: unconditionally chain to Yama LSM + + [ Seth Forshee ] + + * SAUCE: (drop after 3.6) irq_remap: disable IRQ remapping if any IOAPIC + lacks an IOMMU + - LP: #1034459 + + [ Stefan Bader ] + + * (config) Enable getabis to use local package copies + + [ Tim Gardner ] + + * rebase to v3.5.2 + + [ Upstream Kernel Changes ] + + * rds: set correct msg_namelen + - LP: #1031112 + - CVE-2012-2340 + * rebase to v3.5.2 + - LP: #1027789 + - LP: #1001251 + + -- Leann Ogasawara Thu, 16 Aug 2012 08:52:09 -0700 + +linux (3.5.0-10.10) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to v3.5.1 + + [ Leann Ogasawara ] + + * [Config] Enable CONFIG_AFS_FSCACHE=y + - LP: #728977 + + [ Tim Gardner ] + + * SAUCE: firmware: Remove emi62 files duplicated in linux-firmware + * SAUCE: firmware: Remove tehuti files duplicated in linux-firmware + + [ Upstream Kernel Changes ] + + * overlayfs: copy up i_uid/i_gid from the underlying inode + - LP: #944386 + * hwmon: (applesmc) Shorten minimum wait time + - LP: #1034449 + * hwmon: (applesmc) Decode and act on read/write status codes + - LP: #1034449 + + [ Upstream Kernel Changes ] + + * rebase to v3.5.1 + - LP: #1026953 + - LP: #1025377 + + -- Leann Ogasawara Sun, 12 Aug 2012 13:16:43 -0700 + +linux (3.5.0-9.9) quantal-proposed; urgency=low + + [ Daniel P. Berrange ] + + * SAUCE: (drop after 3.6) Forbid invocation of kexec_load() outside + initial PID namespace + - LP: #1034125 + + [ Douglas Bagnall ] + + * SAUCE: Unlock the rc_dev lock when the raw device is missing + - LP: #1015836 + + [ Ike Panhc ] + + * [Config] Enable EDAC/CLK for highbank + - LP: #1008345 + + [ Leann Ogasawara ] + + * Revert "ubuntu: AUFS -- reenable" + + [ Rob Herring ] + + * SAUCE: net: calxedaxgmac: add write barriers around setting owner bit + - LP: #1008345 + * SAUCE: ARM smp_twd: add back "arm,smp-twd" compatible property + - LP: #1008345 + * SAUCE: ARM: highbank: add soft power and reset key event handling + - LP: #1008345 + * SAUCE: ARM: highbank: use writel_relaxed variant for pwr requests + - LP: #1008345 + * SAUCE: ahci: un-staticize ahci_dev_classify + - LP: #1008345 + * SAUCE: ahci_platform: add custom hard reset for Calxeda ahci ctrlr + - LP: #1008345 + + [ Upstream Kernel Changes ] + + * rt2x00: Add support for BUFFALO WLI-UC-GNM2 to rt2800usb. + - LP: #871904 + * Avoid sysfs oops when an rc_dev's raw device is absent + - LP: #1015836 + * eCryptfs: Copy up POSIX ACL and read-only flags from lower mount + * clk: add DT clock binding support + - LP: #1008345 + * clk: add DT fixed-clock binding support + - LP: #1008345 + * clk: add highbank clock support + * edac: add support for Calxeda highbank memory controller + - LP: #1008345 + * edac: add support for Calxeda highbank L2 cache ecc + - LP: #1008345 + * net: calxedaxgmac: enable rx cut-thru mode + - LP: #1008345 + * net: calxedaxgmac: fix hang on rx refill + - LP: #1008345 + * eCryptfs: Revert to a writethrough cache model + - LP: #1034012 + * eCryptfs: Initialize empty lower files when opening them + - LP: #911507 + * eCryptfs: Unlink lower inode when ecryptfs_create() fails + - LP: #872905 + + -- Leann Ogasawara Wed, 08 Aug 2012 08:39:42 -0700 + +linux (3.5.0-8.8) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: AUFS -- add BOM and automated update script + * ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers + - LP: #684666 + * ubuntu: AUFS -- update aufs-update to track new locations of headers + * ubuntu: AUFS -- clean up the aufs updater and BOM + * ubuntu: AUFS -- documentation on updating aufs2 + * ubuntu: AUFS -- fix undefined __devcgroup_inode_permission + * ubuntu: AUFS -- update to 4cf5db36bcd9748e8e7270022f295f84d1fc2245 + * ubuntu: AUFS -- updateconfigs following update + * ubuntu: AUFS -- suppress benign plink warning messages + - LP: #621195 + * ubuntu: AUFS -- enable in config and makefile + * ubuntu: AUFS -- disable in favor of overlayfs + * ubuntu: AUFS -- adapt to the new changelog handling + * ubuntu: AUFS -- sort out the relative header paths + * ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0 + * ubuntu: AUFS -- aufs3-base.patch + * ubuntu: AUFS -- aufs3-standalone.patch + * ubuntu: AUFS -- update to 4a5e660ed7f5c1d0467c81c535d0fedcfe62d15f + * ubuntu: AUFS -- reenable + + [ Chris Van Hoof ] + + * [Config] Add cifs support to the nfs-modules list + - LP: #1031398 + + [ Ilan Peer ] + + * (pre-stable) iwlwifi: Check BSS ctx active before call mac80211 + - LP: #1021086 + + [ John Johansen ] + + * SAUCE: Update aufs for build failure caused by apparmor backport + + [ Tim Gardner ] + + * SAUCE: firmware: Remove ess files duplicated in linux-firmware + * SAUCE: firmware: Remove kaweth files duplicated in linux-firmware + * SAUCE: firmware: Remove obsolete Chelsio cxgb3 firmware + * SAUCE: firmware: Remove cxgb3 files duplicated in linux-firmware + * SAUCE: firmware: Remove edgeport files duplicated in linux-firmware + * SAUCE: firmware: Remove ti_usb_3410_5052 duplicated in linux-firmware + * SAUCE: firmware: Remove adaptec files duplicated in linux-firmware + * SAUCE: firmware: Remove advansys files duplicated in linux-firmware + * SAUCE: firmware: Remove ambassador files duplicated in linux-firmware + * SAUCE: firmware: Remove av7110 files duplicated in linux-firmware + * SAUCE: cpia2: Declare MODULE_FIRMWARE usage + * SAUCE: firmware: Remove cpia2 files duplicated in linux-firmware + * SAUCE: firmware: Remove korg files duplicated in linux-firmware + * SAUCE: firmware: Remove matrox files duplicated in linux-firmware + * SAUCE: firmware: Remove r128 files duplicated in linux-firmware + * SAUCE: firmware: Remove radeon files duplicated in linux-firmware + + [ Upstream Kernel Changes ] + + * intel_idle: initial IVB support + * KVM: x86: change PT_FIRST_AVAIL_BITS_SHIFT to avoid conflict with EPT + Dirty bit + * KVM: VMX: Use EPT Access bit in response to memory notifiers + * KVM: VMX: Enable EPT A/D bits if supported by turning on relevant bit + in EPTP + * KVM: VMX: Add parameter to control A/D bits support, default is on + * KVM: VMX: Add EPT A/D bits definitions + * KVM: VMX: Implement PCID/INVPCID for guests with EPT + * xhci: Export Latency Tolerance Messaging capabilities. + * USB: Fix LPM disable/enable during device reset. + * usb: convert port_owners type from void * to struct dev_state * + * USB: Disable LPM while the device is unconfigured. + * USB: Fix LPM disable count mismatch on driver unbind. + * USB: Enable Latency Tolerance Messaging (LTM). + * drm/i915: enable parity error interrupts + * drm/i915: Dynamic Parity Detection handling + * drm/i915: l3 parity sysfs interface + * drm/i915: remap l3 on hw init + * drm/i915: initialize the parity work only once + * drm/i915: ivybridge_handle_parity_error should be static + + -- Leann Ogasawara Fri, 03 Aug 2012 13:33:27 -0700 + +linux (3.5.0-7.7) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] CONFIG_X86_POWERNOW_K6=m + * [Config] CONFIG_X86_POWERNOW_K7=m + * [Config] CONFIG_X86_LONGHAUL=m + * [Config] CONFIG_X86_LONGRUN=m + * [Config] CONFIG_X86_GX_SUSPMOD=m + * [Config] CONFIG_X86_CPUFREQ_NFORCE2=m + * SAUCE: rds_ib_send() -- prevent local pings triggering BUG_ON() + - LP: #1016299 + - CVE-2012-2372 + * [Config] enable CONFIG_VFAT_FS=y for EFI systems + * [Config] CONFIG_USB_G_MULTI=n on highbank + * [Config] annotate: CONFIG_USB_INVENTRA_DMA OMAP2 specific + * [Config] CONFIG_WAN_ROUTER disable for arm + * add support for generating binary device trees and install them in + /lib/firmware + - LP: #1030600 + * [Config] add dtb_file configuration for highbank + - LP: #1030600 + + [ Tim Gardner ] + + * SAUCE: ene_ub6250: Use macros for firmware names + * SAUCE: s2255drv: Add MODULE_FIRMWARE statement + * SAUCE: xc5000: Add MODULE_FIRMWARE statements + * SAUCE: firmware: remove computone driver firmware and documentation + * SAUCE: lgs8gxx: Declare MODULE_FIRMWARE usage + * SAUCE: firmware: Remove obsolete Myricom firmware + * SAUCE: staging rtl8192e: Declare MODULE_FIRMWARE usage + * SAUCE: tlg2300: Declare MODULE_FIRMWARE usage + * SAUCE: ueagle-atm: Declare MODULE_FIRMWARE usage + * SAUCE: usbduxfast: Declare MODULE_FIRMWARE usage + * SAUCE: usbdux: Declare MODULE_FIRMWARE usage + * SAUCE: usbduxsigma: Declare MODULE_FIRMWARE usage + * SAUCE: cx25840: Declare MODULE_FIRMWARE usage + * SAUCE: cx18: Declare MODULE_FIRMWARE usage + * SAUCE: ivtv: Declare MODULE_FIRMWARE usage + * SAUCE: cx231xx: Declare MODULE_FIRMWARE usage + * SAUCE: cx23885: Declare MODULE_FIRMWARE usage + * SAUCE: pvrusb2: Declare MODULE_FIRMWARE usage + * SAUCE: vxge: Declare MODULE_FIRMWARE usage + + [ Upstream Kernel Changes ] + + * mac80211: fix crash with single-queue drivers + - LP: #1022351 + + -- Leann Ogasawara Mon, 30 Jul 2012 11:11:05 -0700 + +linux (3.5.0-6.6) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION enable IPv6 + experimental features + * SAUCE: highbank -- export clock functions for modules + * [Config] highbank -- reenable CONFIG_TOUCHSCREEN_W90X900 + * [Config] highbank -- renenable CONFIG_SERIO_AMBAKMI + * [Config] highbank -- reenable CONFIG_RFKILL_GPIO + * [Config] highbank -- reenable CONFIG_MMC_SDHCI_PXAV3 + * [Config] highbank -- reenable CONFIG_MMC_SDHCI_PXAV3 + * [Config] highbank -- reenable CONFIG_KEYBOARD_SAMSUNG + * [Config] highbank -- reenable CONFIG_FB_ARMCLCD + * [Config] highbank -- reenable CONFIG_DW_DMAC + * [Config] highbank -- reenable CONFIG_USB_R8A66597_HCD + * [Config] highbank -- reenable CONFIG_USB_MV_UDC + * [Config] highbank -- reenable CONFIG_USB_DWC3 + * [Config] highbank -- reenable CONFIG_SATA_MV + * [Config] highbank -- reenable CONFIG_PATA_ARASAN_CF + * [Config] highbank -- CONFIG_CAN_C_CAN_PLATFORM + * [Config] highbank -- reenable CONFIG_MMC_ARMMMCI + * [Config] highbank -- reenable CONFIG_SERIAL_AMBA_PL010 + * [Config] highbank -- reenable CONFIG_ATMEL_PWM + * [Config] highbank -- enable CONFIG_CHECKPOINT_RESTORE + * [Config] highbank -- enable CONFIG_EXPERT + * [Config] highbank -- enable CONFIG_CHECKPOINT_RESTORE + * [Config] enable CONFIG_USB_DYNAMIC_MINORS + * [Config] enable CONFIG_USB_EHCI_TT_NEWSCHED + * [Config] enable CONFIG_USB_ETH_EEM + * [Config] enable CONFIG_USB_HCD_BCMA/CONFIG_USB_HCD_SSB + * [Config] disable CONFIG_USB_M66592 + * [Config] enable CONFIG_USB_NET2272 + * [Config] enable CONFIG_USB_R8A66597 + * [Config] annotate: CONFIG_USB_OMAP not required for our h/w + * [Config] set CONFIG_USB_MUSB_HDRC=m for omap + * [Config] annotate: CONFIG_USB_G_MULTI fix rule + * [Config] CONFIG_USB_GPIO_VBUS=m for OMAP + * [Config] Enable CONFIG_DRM_AST/_CIRRUS_QEMU/_MGAG200 + * [Config] sync configuration armhf omap -> armel omap + * [Config] annotate: CONFIG_IIO triggers build failures on OMAP4 + * [Config] disable CONFIG_OMAP_IOVMM is deprecated + + [ Bryan Wu ] + + * [Config] change default IO scheduler from CFQ to Deadline + + [ Leann Ogasawara ] + + * Revert "[Config] Temporarily disable CONFIG_MV643XX_ETH on powerpc" + * [Config] Disable CONFIG_MOUSE_INPORT + + [ Tim Gardner ] + + * SAUCE: firmware: Update bnx2x to current firmware version 7.2.51 + * [Config] Add bnx2x firmware to nic-modules udeb + * SAUCE: Add script to convert firmware to ihex format + * SAUCE: firmware: Upgrade bnx2 to current versions + * [Config] Add tigon firmware to nic-modules udeb + * [Config] CONFIG_EARLY_PRINTK_DBGP=y + - LP: #1026761 + * SAUCE: Remove redundant cis firmware + * SAUCE: Remove redundant emi26 firmware + * SAUCE: Remove redundant ttusb-budget firmware + * SAUCE: Remove redundant sun/cassini firmware + * SAUCE: Remove redundant ositech/Xilinx7OD firmware + * SAUCE: Remove redundant 3com/typhoon.bin firmware + * SAUCE: Remove redundant yamaha/ds1 firmware + * SAUCE: Remove redundant keyspan_pda firmware + * rebase to v3.5 + + [ Upstream Kernel Changes ] + + * rebase to v3.5 + - LP: #1027828 + + -- Leann Ogasawara Mon, 23 Jul 2012 05:57:04 -0700 + +linux (3.5.0-5.5) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] annotations: initial import of configuration annotations + + [ Bryan Wu ] + + * [Config] enforcer -- add CONFIG_I2C_DESIGNWARE_PLATFORM enforce checker + + [ Leann Ogasawara ] + + * Rebase to v3.5-rc7 + + [ Manoj Iyer ] + + * SAUCE: Bluetooth: btusb: Add vendor specific ID (0a5c:21f4) BCM20702A0 + - LP: #1010281 + + [ Tim Gardner ] + + * [Config] enable CONFIG_I2C_HELPER_AUTO for all flavours as policy + expects + * [Config] CONFIG_I2O_CONFIG_OLD_IOCTL=n + * [Config] CONFIG_BRIDGE_EBT_ULOG=n + * [Config] CONFIG_IP_NF_QUEUE=n + * [Config] CONFIG_MTD_DOC2000=n + * [Config] CONFIG_PRINT_QUOTA_WARNING=n + * [Config] CONFIG_PRISM54=n + * [Config] CONFIG_SCx200_I2C=n + * [Config] CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + + [ Upstream Kernel Changes ] + + * rebase to v3.5-rc7 + + -- Leann Ogasawara Mon, 16 Jul 2012 15:38:41 -0700 + +linux (3.5.0-4.4) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Packaging] getabis should be extracting all packages + - LP: #1021174 + * [Config] getabis -- series uses linux-image-extra + - LP: #1021174 + * rebase to v3.5-rc6 + + [ Bryan Wu ] + + * [Config] built-in CONFIG_MICREL_PHY as other PHY drivers for all + flavours + * [Config] sync CONFIG_MOUSE_PS2_ config for all flavours + + [ Leann Ogasawara ] + + * [Config] Enable CONFIG_RT2800USB_RT35XX and CONFIG_RT2800USB_RT53XX + - LP: #1019561 + + [ Paolo Pisati ] + + * [Config] SND_OMAP_SOC, SND_OMAP_SOC_MCBSP and SND_OMAP_SOC_OMAP3_BEAGLE =y + - LP: #1019321 + + [ Stefan Bader ] + + * SAUCE: (pre-up) net: dont use __netdev_alloc_skb for bounce buffer + - LP: #1018456 + * (config) Disable ACPI_PROCFS_POWER + + [ Tim Gardner ] + + * [Config] CONFIG_ACPI_BGRT=y + * Extract firmware module info during getabi + - LP: #1021174 + + [ Upstream Kernel Changes ] + + * rebase to v3.5-rc6 + + -- Leann Ogasawara Mon, 09 Jul 2012 08:50:20 -0700 + +linux (3.5.0-3.3) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable CONFIG_MEMTEST=y + - LP: #1004535 + * [Config] config-check: add support for a cut operation + * [Config] enforcer -- switch to cut where appropriate + + [ Leann Ogasawara ] + + * Rebase to v3.5-rc5 + * [Config] Updateconfigs after rebase to v3.5-rc5 + + [ Luis Henriques ] + + * SAUCE: ocfs2: Fix NULL pointer dereferrence in + __ocfs2_change_file_space + - LP: #1006012 + + [ Seth Forshee ] + + * SAUCE: (drop after 3.5) drm/i915: ignore pipe select bit when checking + for LVDS register initialization + - LP: #1012800 + + [ Upstream Kernel Changes ] + + * rebase to v3.5-rc5 + - LP: #1013183 + - LP: #1017017 + - LP: #884652 + + -- Leann Ogasawara Mon, 02 Jul 2012 06:41:58 -0700 + +linux (3.5.0-2.2) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to v3.5-rc4 + + [ Arend van Spriel ] + + * SAUCE: (drop after 3.5) brcmsmac: fix NULL pointer crash in + brcms_c_regd_init() + - LP: #950320 + + [ Bryan Wu ] + + * [Config] Sync CONFIG_CGROUP_MEM_RES_CTLR_SWAP for ARM + + [ Chris J Arges ] + + * PACKAGING: add .gnu_debuglink sections to .ko files + - LP: #669641 + + [ Leann Ogasawara ] + + * d-i: Add hid-generic to input-modules + - LP: #1017879 + + [ Ming Lei ] + + * SAUCE: Revert "mmc: omap_hsmmc: Enable Auto CMD12" + - LP: #1017717, #225 + + [ Paolo Pisati ] + + * SAUCE: Revert "Fix OMAP EHCI suspend/resume failure (i693)" + - LP: #1017718 + * [Config] Disable generic USB_EHCI_HCD_PLATFORM on omap3 + + [ Seth Forshee ] + + * SAUCE: (drop after 3.5) brcm80211: smac: don't set up tx power limits + during initialization + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: always set channel specified + by mac80211 + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: remove unused code for 40MHz + channels + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: clean up channel.c + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: inform mac80211 of the X2 + regulatory domain + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: enable/disable radio on + regulatory updates + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: use mac80211 channel data for + tx power limits + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: don't validate channels + against internal regulatory data + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: use current regulatory domain + when checking whether OFDM is allowed + - LP: #950320 + + [ Tim Gardner ] + + * [Config] Enable CONFIG_CGROUPS for highbank + - LP: #1014692 + * [Config] FB_OMAP*=y and PANEL_TFP410=y + + [ Upstream Kernel Changes ] + + * rebase to v3.5-rc4 + + -- Leann Ogasawara Tue, 26 Jun 2012 06:21:05 -0700 + +linux (3.5.0-1.1) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] highbank -- enable CONFIG_RFKILL=y and CONFIG_CAN=m + + [ Leann Ogasawara ] + + * Rebase to v3.5-rc1 + * [Config] Remove USB_DEVICEFS from the config enforcer + * [Config] Updateconfigs after rebase to v3.5-rc1 + * [Config] Temporarily disable CONFIG_MACH_NOKIA_RX51 on arm + * [Config] Temporarily disable CONFIG_TOUCHSCREEN_EETI on arm + * [Config] Temporarily disable CONFIG_TOUCHSCREEN_EGALAX on arm + * [Config] Temporarily disable CONFIG_EZX_PCAP on arm + * [Config] Temporarily disable CONFIG_LIS3L02DQ on arm + * [Config] Temporarily disable CONFIG_TI_CPSW on arm + * [Config] Temporarily disable CONFIG_GPIO_EM on arm + * [Config] Temporarily disable CONFIG_SERIAL_8250_EM on armhf + * [Config] Temporarily disable CONFIG_STMMAC_ETH on armhf + * [Config] Temporarily disable CONFIG_HW_RANDOM_ATMEL on armhf + * Rebase to v3.5-rc2 + * [Config] Updateconfigs after rebase to v3.5-rc2 + * [Config] Temporarily disable CONFIG_MV643XX_ETH on powerpc + * Rebase to v3.5-rc3 + * [Config] Updateconfigs after rebase to v3.5-rc3 + + [ Paul Mundt ] + + * SAUCE: fix bug.h's inclusion of kernel.h + + [ Stefan Bader ] + + * SAUCE: Fix compile failures of dm-raid45 + * [Config] Enable dm-raid45 + * Move dependency on crda to extra package + - LP: #657901 + * SAUCE: Mask CR4 writes on older Xen hypervisors + + [ Upstream Kernel Changes ] + + * rebase to v3.5-rc3 + - LP: #993162 + - LP: #925577 + * rebase to v3.5-rc2 + * rebase to v3.5-rc1 + - LP: #955892 + - LP: #978038 + - LP: #987371 + - LP: #929545 + - LP: #942316 + - LP: #903853 + + -- Leann Ogasawara Fri, 08 Jun 2012 14:28:46 -0700 + +linux (3.4.0-5.11) quantal-proposed; urgency=low + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_ARM_LPAE + - LP: #1009061 + + [ Oleksij Rempel ] + + * SAUCE: b43: do not call ieee80211_unregister_hw if we are not registred + - LP: #1008905 + + [ Paolo Pisati ] + + * [Config] omap3: MFD_OMAP_USB_HOST is usb host in omap2+. + - LP: #1009061 + + -- Leann Ogasawara Tue, 05 Jun 2012 08:06:28 -0700 + +linux (3.4.0-4.10) quantal; urgency=low + + [ Leann Ogasawara ] + + * Temporarily disable ABI and module check + + -- Leann Ogasawara Mon, 04 Jun 2012 20:27:31 -0700 + +linux (3.4.0-4.9) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] fix config split to avoid the shared config + * [Config] updateconfigs following split config fix + * [Config] linux-image-extras needs full postinst + * [Config] CONFIG_BLK_DEV_NVME commonise across architectures + * [Config] CONFIG_HP_WATCHDOG enable as module + * [Config] CONFIG_PDC_ADMA is not boot essential + * [Config] CONFIG_XEN_ACPI_PROCESSOR should be enabled on x86 + * [Config] CONFIG_VT6655/CONFIG_VT6656=m + * [Config] CONFIG_TRANZPORT=m commonise + * [Config] CONFIG_R3964=m commonise + * [Config] CONFIG_SCSI_DH=m commonise + * [Config] CONFIG_SCSI_IBMVSCSIS=m commonise + * [Config] CONFIG_AMD_PHY=y phys are not autoloadable + * [Config] CONFIG_SCSI_QLA_ISCSI=m commonise + * [Config] CONFIG_SCSI_SPI_ATTR=m commonise + * [Config] CONFIG_USB_SN9C102 is deprecated disable + * [Config] CONFIG_USB_SI470X=m commonise + * [Config] CONFIG_USB_ET61X251=m commonise + * [Config] CONFIG_RTS_PSTOR=m commonise + * [Config] CONFIG_SCANLOG=m commonise + * [Config] CONFIG_SCSI_SYM53C8XX_2=m commonise + * [Config] CONFIG_SM_FTL=m commonise + * [Config] CONFIG_SOLO6X10=m commonise + * [Config] CONFIG_SND_PCM_OSS=n using pulseaudio emulation instead + * [Config] CONFIG_SPI_DESIGNWARE=m commonise + * [Config] CONFIG_SPI_SPIDEV=m commonise + * [Config] CONFIG_TABLET_USB_WACOM=m commonise + * [Config] CONFIG_TPS65010=m commonise + * [Config] CONFIG_STE10XP=y commonise + * [Config] CONFIG_X25_ASY=m commonise + * [Config] CONFIG_USB_MON=m commonise + * [Config] CONFIG_VME_BUS=m commonise + * [Config] CONFIG_W35UND=m commonise + * [Config] -CONFIG_TCG_TPM=y commonise + * [Config] highbank -- commonise filesystems + * [Config] highbank -- commonise subsystems + * [Config] highbank -- commonise network protocols + * [Config] highbank -- commonise input drivers + * [Config] highbank -- commonise CRYPTO options + * [Config] highbank -- commonise HID options + * [Config] highbank -- commonise sensors options + * [Config] highbank -- commonise EXPORTFS/FHANDLE + * [Config] highbank -- commonise CONFIG_CRYPTO_LZO + * [Config] highbank -- commonise ENCRYPTED_KEYS + * [Config] highbank -- commonise CONFIG_ATALK + * [Config] highbank -- commonise INET/INET6 + * [Config] highbank -- commonise NLS + * [Config] highbank -- commonise BLK/CHR + * [Config] highbank -- CONFIG_EXT2_FS=y boot essential on highbank + * [Config] highbank -- commonise INET/INET6 part 2 + * [Config] highbank -- commonise PHY settings + * [Config] highbank -- commonise CRC settings + * [Config] highbank -- commonise BINFMT settings + * [Config] highbank -- commonise DM settings + * [Config] highbank -- commonise RTC_DRV settings + * [Config] highbank -- commonise KEYBOARD/MOUSE settings + * [Config] highbank -- commonise USB settings + * [Config] highbank -- commonise GPIO settings + * [Config] highbank -- commonise I2C settings + * [Config] highbank -- commonise numerous subsystem selectors + * [Config] highbank -- commonise A-C modules missmatches + * [Config] highbank -- commonise D-F modules missmatches + * [Config] CONFIG_AUDIT_LOGINUID_IMMUTABLE incompatible with upstart + * [Config] highbank -- commonise G-I modules missmatches + * [Config] highbank -- commonise J-L modules missmatches + * [Config] highbank -- commonise M modules missmatches + * [Config] highbank -- commonise N-P modules missmatches + * [Config] highbank -- commonise Q-R modules missmatches + * [Config] highbank -- commonise S modules missmatches -- part 1 + * [Config] highbank -- commonise S modules missmatches -- part 2 + * [Config] highbank -- commonise T modules missmatches + * [Config] highbank -- commonise U-Z modules missmatches + + [ Ike Panhc ] + + * [Config] add highbank flavour + - LP: #1000831 + + [ Mark Langsdorf ] + + * SAUCE: arm highbank: add support for pl320-ipc driver + - LP: #1000831 + + [ Rob Herring ] + + * SAUCE: input: add a key driver for highbank + - LP: #1000831 + * SAUCE: ARM: highbank: Add smc calls to enable/disable the L2 + - LP: #1000831 + * SAUCE: force DMA buffers to non-bufferable on highbank + - LP: #1000831 + * SAUCE: net: calxedaxgmac: fix net timeout recovery + - LP: #1000831 + + [ Tim Gardner ] + + * [Config] CONFIG_IWLWIFI_EXPERIMENTAL_MFP=n + * [Config] CONFIG_PCI_REALLOC_ENABLE_AUTO=y + * [Config] CONFIG_CIFS_EXPERIMENTAL has disappeared + * [Config] Homogenize CIFS configs across all arches + * [Config] armhf should not be skipabi or skipmodules + - LP: #1006913 + + -- Leann Ogasawara Mon, 04 Jun 2012 05:52:49 -0700 + +linux (3.4.0-3.8) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] include include/generated/compile.h + - LP: #942569 + * [Config] fix up postinst to ensure we know which error is which + - LP: #1002388 + + [ Herton Ronaldo Krzesinski ] + + * SAUCE: async_populate_rootfs: fix build warnings + - LP: #1003417 + + [ John Johansen ] + + * Revert "SAUCE: AppArmor: Add the ability to mediate mount" + * SAUCE: apparmor: Add the ability to mediate mount + * SAUCE: AppArmor: basic networking rules + * SAUCE: apparmor: fix profile lookup for unconfined + - LP: #978038, #987371 + * SAUCE: apparmor: fix long path failure due to disconnected path + - LP: #955892 + + [ Mario Limonciello ] + + * SAUCE: dell-laptop: rfkill blacklist Dell XPS 13z, 15 + - LP: #901410 + + [ Stefan Bader ] + + * (config) Built-in xen-acpi-processor + + [ Tim Gardner ] + + * [Config] CONFIG_NET_DSA=m + - LP: #1004148 + * [Config] Ensure CONFIG_XEN_ACPI_PROCESSOR=y for amd64 + + -- Leann Ogasawara Fri, 25 May 2012 11:38:33 -0700 + +linux (3.4.0-3.7) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] drop the virtual flavour in favour of a split generic et al + * [Config] enforcer -- drop IDLE enforcement + * [Config] enable CONFIG_SCSI_VIRTIO=m for amd64 + * [Config] updateconfigs following removal of -virtual + + [ Leann Ogasawara ] + + * Rebase to v3.4 + + [ Seth Forshee ] + + * [Config] disable CONFIG_B43_BCMA_EXTRA + + [ Tim Gardner ] + + * [Config] Check for extras when building udebs + * [Config] Collapsed generic-pae into generic [i386] + + [ Upstream Kernel Changes ] + + * rebase to v3.4 + + -- Leann Ogasawara Mon, 21 May 2012 07:23:47 -0700 + +linux (3.4.0-2.6) quantal; urgency=low + + [ Andy Whitcroft ] + + * Revert "ubuntu: overlayfs -- overlayfs: update touch_atime() usage" + * Revert "ubuntu: overlayfs -- overlayfs: switch from d_alloc_root() to + d_make_root()" + * Revert "ubuntu: overlayfs -- overlayfs: follow header cleanup" + * Revert "ubuntu: overlayfs -- overlayfs: apply device cgroup and + security permissions to overlay files" + * Revert "ubuntu: overlayfs -- fs: limit filesystem stacking depth" + * Revert "ubuntu: overlayfs -- overlay: overlay filesystem documentation" + * Revert "ubuntu: overlayfs -- overlayfs: implement show_options" + * Revert "ubuntu: overlayfs -- overlayfs: add statfs support" + * Revert "ubuntu: overlayfs -- overlay filesystem" + * Revert "ubuntu: overlayfs -- vfs: introduce clone_private_mount()" + * Revert "ubuntu: overlayfs -- vfs: export do_splice_direct() to modules" + * Revert "ubuntu: overlayfs -- vfs: add i_op->open()" + * Revert "ubuntu: overlayfs -- vfs: pass struct path to __dentry_open()" + * ubuntu: overlayfs -- overlayfs: add statfs support + * ubuntu: overlayfs -- inode_only_permission: export inode level + permissions checks + * ubuntu: overlayfs -- overlayfs: switch to use inode_only_permissions + + [ Erez Zadok ] + + * ubuntu: overlayfs -- overlayfs: implement show_options + + [ Miklos Szeredi ] + + * ubuntu: overlayfs -- vfs: pass struct path to __dentry_open() + * ubuntu: overlayfs -- vfs: add i_op->open() + * ubuntu: overlayfs -- vfs: export do_splice_direct() to modules + * ubuntu: overlayfs -- vfs: introduce clone_private_mount() + * ubuntu: overlayfs -- overlay filesystem + * ubuntu: overlayfs -- fs: limit filesystem stacking depth + + [ Neil Brown ] + + * ubuntu: overlayfs -- overlay: overlay filesystem documentation + + [ Robin Dong ] + + * ubuntu: overlayfs -- overlayfs: fix possible leak in ovl_new_inode + * ubuntu: overlayfs -- overlayfs: create new inode in ovl_link + + [ Tim Gardner ] + + * [Config] perarch and indep tools builds need separate build directories + * Prevent upgrading a non-PAE CPU + * perf is not parallel build safe + + -- Leann Ogasawara Wed, 16 May 2012 08:43:18 -0700 + +linux (3.4.0-2.5) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] perarch and indep tools builds need separate build directories + + [ Tim Gardner ] + + * Prevent upgrading a non-PAE CPU + * [Config] build debug + * [Config] perf tools are not parallel build safe + + -- Leann Ogasawara Tue, 15 May 2012 11:37:53 -0700 + +linux (3.4.0-2.4) quantal; urgency=low + + [ Leann Ogasawara ] + + * Revert "SAUCE: fsam7400: use UMH_WAIT_PROC consistently" + * Revert "ubuntu: fsam7400 select CHECK_SIGNATURE and depend on X86" + * Revert "ubuntu: fsam7400: Depend on CHECK_SIGNATURE" + * Revert "ubuntu: fsam7400 -- Cleanup Makefile" + * Revert "ubuntu: fsam7400 -- kill switch for Fujitsu Siemens Amilo M + 7400" + * Revert "ubuntu: omnibook: fix source file newline" + * Revert "ubuntu: omnibook -- update BOM" + * Revert "SAUCE: Make CONFIG_{OMNIBOOK, AVERATEC_5100P, PACKARDBELL_E5} + depend on X86" + * Revert "ubuntu: omnibook -- Added missing BOM file" + * Revert "ubuntu: omnibook -- support Toshiba (HP) netbooks" + * Revert "ubuntu: nx-emu - i386: mmap randomization for executable + mappings" + * Revert "SAUCE: disable_nx should not be in __cpuinitdata section for + X86_32" + * Revert "ubuntu: nx-emu - i386: NX emulation" + * Revert "ubuntu: rfkill drivers -- version 1.3" + * Temporarily disable module check + * [Config] Remove CONFIG_FSAM7400 + * [Config] Remove CONFIG_OMNIBOOK + * [Config] Update configs + * Rebase to v3.4-rc7 + * SAUCE: genirq: export handle_edge_irq() and irq_to_desc() + + [ Tim Gardner ] + + * Updated generic-pae description + * Rebase to v3.4-rc6 + * install-tools depends on build targets + + [ Upstream Kernel Changes ] + + * kconfig: in debug mode some 0 length message prints occur + * rebase to v3.4-rc7 + * rebase to v3.3-rc6 + + -- Leann Ogasawara Mon, 14 May 2012 08:22:56 -0700 + +linux (3.4.0-1.3) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] control.stub is an intermediate product not a dependancy + - LP: #992414 + + [ Leann Ogasawara ] + + * remove i386 generic from getabis + + [ Upstream Kernel Changes ] + + * (pre-stable) b43: only reload config after successful initialization + - LP: #950295 + + -- Leann Ogasawara Wed, 02 May 2012 09:48:14 -0700 + +linux (3.4.0-1.2) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] add build depends for flex, bison and pkg-config + + -- Andy Whitcroft Tue, 01 May 2012 13:15:41 +0100 + +linux (3.4.0-1.1) quantal; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- overlayfs: apply device cgroup and security + permissions to overlay files + - LP: #915941, #918212 + - CVE-2012-0055 + + [ Leann Ogasawara ] + + * Open Q + * Rebase to v3.4-rc5 + * [Config] Temporarily disable CONFIG_TOUCHSCREEN_EETI on arm + * [Config] Temporarily disable CONFIG_TOUCHSCREEN_EGALAX on arm + * [Config] Temporarily disable CONFIG_EZX_PCAP on arm + * [Config] Temporarily disable CONFIG_MFD_OMAP_USB_HOST on arm + * [Config] Temporarily disable CONFIG_LIS3L02DQ on arm + * [Config] Temporarily disable CONFIG_USB_EHCI_HCD_PLATFORM on arm + * [Config] Temporarily disable CONFIG_TI_CPSW on arm + * [Config] Temporarily disable CONFIG_AX88796 on arm + + [ Upstream Kernel Changes ] + + * vfs: pass struct path to __dentry_open() + * vfs: add i_op->open() + * vfs: export do_splice_direct() to modules + * vfs: introduce clone_private_mount() + * overlay filesystem + * overlayfs: add statfs support + * overlayfs: implement show_options + * overlay: overlay filesystem documentation + * fs: limit filesystem stacking depth + * overlayfs: follow header cleanup + * overlayfs: switch from d_alloc_root() to d_make_root() + * overlayfs: update touch_atime() usage + * rebase to v3.4-rc5 + - LP: #950490 + * rebase to v3.4-rc4 + * rebase to v3.4-rc3 + * rebase to v3.4-rc2 + * rebase to v3.4-rc1 + * rebase to v3.3 + * rebase to v3.3-rc7 + * rebase to v3.3-rc6 + * rebase to v3.3-rc5 + * rebase to v3.3-rc4 + - LP: #900802 + - LP: #930842 + * rebase to v3.3-rc3 + - LP: #924320 + - LP: #923316 + - LP: #923409 + - LP: #918254 + * rebase to v3.3-rc2 + * rebase to v3.3-rc1 + - LP: #795823 + - LP: #909419 + - LP: #910792 + - LP: #878701 + - LP: #724831 + + -- Leann Ogasawara Wed, 25 Jan 2012 06:50:04 -0800 + +linux (3.2.0-10.18) precise; urgency=low + + [ Tim Gardner ] + + * SAUCE: ecryptfs: Print inode on metadata error + + [ Upstream Kernel Changes ] + + * Revert "proc: enable writing to /proc/pid/mem" + - LP: #919115 + - CVE-2012-0056 + * (pre-stable) ALSA: HDA: Use LPIB position fix for Macbook Pro 7, 1 + - LP: #909419 + + -- Andy Whitcroft Tue, 24 Jan 2012 10:15:12 +0000 + +linux (3.2.0-10.17) precise; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: overlayfs -- fs: limit filesystem stacking depth" + * Revert "SAUCE: overlayfs -- overlay: overlay filesystem documentation" + * Revert "SAUCE: overlayfs -- overlayfs: implement show_options" + * Revert "SAUCE: overlayfs -- overlayfs: add statfs support" + * Revert "SAUCE: overlayfs -- overlay filesystem" + * Revert "SAUCE: overlayfs -- vfs: introduce clone_private_mount()" + * Revert "SAUCE: overlayfs -- vfs: export do_splice_direct() to modules" + * Revert "SAUCE: overlayfs -- vfs: add i_op->open()" + * ensure debian/ is not excluded from git by default + * add new scripting to handle buglinks in rebases + * ubuntu: overlayfs -- overlayfs: add statfs support + * ubuntu: overlayfs -- overlayfs: apply device cgroup and security + permissions to overlay files + - LP: #915941, #918212 + - CVE-2012-0055 + + [ Erez Zadok ] + + * ubuntu: overlayfs -- overlayfs: implement show_options + + [ Leann Ogasawara ] + + * Revert "SAUCE: dmar: disable if ricoh multifunction detected" + * [Config] Disable CONFIG_INTEL_IOMMU_DEFAULT_ON + - LP: #907377, #911236 + * [Config] Enable CONFIG_IRQ_REMAP + + [ Miklos Szeredi ] + + * ubuntu: overlayfs -- vfs: pass struct path to __dentry_open() + * ubuntu: overlayfs -- vfs: add i_op->open() + * ubuntu: overlayfs -- vfs: export do_splice_direct() to modules + * ubuntu: overlayfs -- vfs: introduce clone_private_mount() + * ubuntu: overlayfs -- overlay filesystem + * ubuntu: overlayfs -- fs: limit filesystem stacking depth + + [ Neil Brown ] + + * ubuntu: overlayfs -- overlay: overlay filesystem documentation + + [ Upstream Kernel Changes ] + + * (pre-stable) x86/PCI: amd: factor out MMCONFIG discovery + - LP: #647043 + * (pre-stable) PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that + breaks USB + - LP: #647043 + + -- Leann Ogasawara Mon, 16 Jan 2012 07:10:08 -0800 + +linux (3.2.0-9.16) precise; urgency=low + + [ Andy Whitcroft ] + + * [Config] Enable numerous CONFIG_VIDEO_* cards on ARM + * [Config] pull ARM sound modules =m + * [Config] CONFIG_RTC_DRV_TEST is for testing only + * [Config] CONFIG_USB_DUMMY_HCD is testing only + * [Config] CONFIG_USB_FILE_STORAGE is deprecated + + [ Leann Ogasawara ] + + * Revert "[Config] Temporarily disable CONFIG_CAN_TI_HECC on armel" + * [Config] Enable CONFIG_HW_RANDOM_PASEMI=m + * [Config] Enable CONFIG_MMC_TMIO=m + * [Config] Enable CONFIG_MTD_NAND_FSL_ELBC=m + * [Config] Enable CONFIG_ISI=m + * [Config] Enable CONFIG_MMC=y + * [Config] Enable CONFIG_LIRC_PARALLEL=m + * [Config] Enable CONFIG_MAC_EMUMOUSEBTN=m + * [Config] Enable CONFIG_CHR_DEV_SG=y + * [Config] Enable CONFIG_GPIO_PCA953X=m + * [Config] Enable CONFIG_GPIO_TWL4030=m + * [Config] Enable CONFIG_INET_DIAG=m + * [Config] Enable CONFIG_NLS_ISO8859_1=m + * [Config] Enable CONFIG_NVRAM=m + * [Config] Enable CONFIG_SLIP=m + * [Config] Enable CONFIG_PC300TOO=m + * [Config] Enable CONFIG_TUN=y + * [Config] Enable CONFIG_NET_CLS_CGROUP=m + * [Config] Enable CONFIG_THERMAL=y + * [Config] Enable CONFIG_PPP=y + * [Config] Enable CONFIG_PCI_STUB=m + * Rebase to v3.2.1 + * [Config] Enable CONFIG_RTL8192E=m + * [Config] Enable CONFIG_RTS5139=m + + [ Stefan Bader ] + + * [Config] Make CONFIG_VIRTIO_(NET|BLK)=y + + [ Upstream Kernel Changes ] + + * ARM: restart: add restart hook to machine_desc record + * ARM: restart: allow platforms more flexibility specifying restart mode + * ARM: restart: move reboot failure handing into machine_restart() + * ARM: restart: remove argument to setup_mm_for_reboot() + * ARM: 7159/1: OMAP: Introduce local common.h files + * ARM: restart: only perform setup for restart when soft-restarting + * ARM: 7189/1: OMAP3: Fix build break in cpuidle34xx.c because of irq + function + * ARM: idmap: populate identity map pgd at init time using .init.text + * ARM: suspend: use idmap_pgd instead of suspend_pgd + * ARM: proc-*.S: place cpu_reset functions into .idmap.text section + * ARM: idmap: use idmap_pgd when setting up mm for reboot + * ARM: head.S: only include __turn_mmu_on in the initial identity mapping + * ARM: SMP: use idmap_pgd for mapping MMU enable during secondary booting + * ARM: 7194/1: OMAP: Fix build after a merge between v3.2-rc4 and ARM + restart changes + * ARM: lib: add call_with_stack function for safely changing stack + * ARM: reset: implement soft_restart for jumping to a physical address + * ARM: stop: execute platform callback from cpu_stop code + * ARM: kexec: use soft_restart for branching to the reboot buffer + * ARM: restart: omap: use new restart hook + * topdown mmap support + - LP: #861296 + + [ Upstream Kernel Changes ] + + * Rebase to v3.2.1 + + -- Leann Ogasawara Fri, 13 Jan 2012 20:32:08 +0100 + +linux (3.2.0-8.15) precise; urgency=low + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_ACPI_PROCFS + * Remove server from getabis + * Temporarily disable module check + * [Config] Disable CONFIG_MTD_TESTS + * [Config] Disable CONFIG_X86_E_POWERSAVER + * [Config] Set CONFIG_ARCNET=m + * [Config] Enable CONFIG_ATM_DUMMY=m + * [Config] Enable CONFIG_BLK_DEV_MD=y + * ubuntu: fsam7400 select CHECK_SIGNATURE and depend on X86 + * [Config] Enable CONFIG_BLK_DEV_SD=y + * [Config] Enable CONFIG_BLK_DEV_SR=y + * [Config] Enable CONFIG_BLK_DEV_UB=m + * [Config] Enable CONFIG_COPS=m + * [Config] Enable CONFIG_DVB_USB_EC168=m + * [Config] Enable CONFIG_ENC28J60=m + * [Config] Enable CONFIG_FB_UVESA=m + * [Config] Enable CONFIG_FB_ATY=m + * [Config] Enable CONFIG_BROADCOM_PHY=y + * [Config] Enable CONFIG_CICADA_PHY=y + * [Config] Enable CONFIG_DAVICOM_PHY=y + * [Config] Enable CONFIG_ICPLUS_PHY=y + * [Config] Enable CONFIG_LSI_ET1011C_PHY=y + * [Config] Enable CONFIG_LXT_PHY=y + * [Config] Enable CONFIG_MARVELL_PHY=y + * [Config] Enable CONFIG_NATIONAL_PHY=y + * [Config] Enable CONFIG_QSEMI_PHY=y + * [Config] Enable CONFIG_SMSC_PHY=y + * [Config] Enable CONFIG_VITESSE_PHY=y + * Add 3w-sas to scsi-modules + - LP: #776542 + + [ Mathieu Trudel-Lapierre ] + + * SAUCE: ipv6: make the net.ipv6.conf.all.use_tempaddr sysctl propagate + to interface settings + + [ Paolo Pisati ] + + * Revert "SAUCE: omap3: beagle: if rev unknown, assume xM revision C" + - LP: #912199 + * Revert "SAUCE: omap3: beagle: detect new xM revision B" + - LP: #912199 + * Revert "SAUCE: omap3: beaglexm: fix DVI initialization" + - LP: #912199 + + [ Upstream Kernel Changes ] + + * Bluetooth: Add support for BCM20702A0 [0a5c:21e3] + - LP: #906832 + + -- Leann Ogasawara Fri, 06 Jan 2012 10:02:03 -0800 + +linux (3.2.0-8.14) precise; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable CONFIG_SND_USB_6FIRE + - LP: #912197 + * rebase to mainline v3.2 final release + * updateconfigs following rebase to v3.2 final + * ubuntu: AUFS -- add BOM and automated update script + * ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers + - LP: #684666 + * ubuntu: AUFS -- update aufs-update to track new locations of headers + * ubuntu: AUFS -- clean up the aufs updater and BOM + * ubuntu: AUFS -- documentation on updating aufs2 + * ubuntu: AUFS -- aufs3-base.patch + * ubuntu: AUFS -- aufs3-standalone.patch + * ubuntu: AUFS -- fix undefined __devcgroup_inode_permission + * ubuntu: AUFS -- fix undefined security_path_link + * ubuntu: AUFS -- update to 4cf5db36bcd9748e8e7270022f295f84d1fc2245 + * ubuntu: AUFS -- updateconfigs following update + * ubuntu: AUFS -- suppress benign plink warning messages + - LP: #621195 + * ubuntu: AUFS -- enable in config and makefile + * ubuntu: AUFS -- disable in favor of overlayfs + * [Config] linux-virtual -- should include the extX modules + - LP: #912308 + + [ Tyler Hicks ] + + * SAUCE: eCryptfs: Improve statfs reporting + - LP: #885744 + + [ Upstream Kernel Changes ] + + * rebase to upstream v3.2 + + -- Leann Ogasawara Mon, 26 Dec 2011 20:24:30 -0800 + +linux (3.2.0-7.13) precise; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to upstream 3.2-rc7 + + -- Leann Ogasawara Mon, 19 Dec 2011 09:14:34 -0800 + +linux (3.2.0-6.12) precise; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to upstream v3.2-rc6 + + -- Leann Ogasawara Fri, 16 Dec 2011 10:19:02 -0800 + +linux (3.2.0-5.11) precise; urgency=low + + [ Andy Whitcroft ] + + * enforcer -- allow arch and flavour predicates to take lists + * enforcer -- simplify armel/armhf specific options + * enforcer -- fix incorrectly specified flavour matches + + [ Leann Ogasawara ] + + * [Config] Disable IRQ_REMAP + * [Config] Enable CONFIG_SENSORS_LM95245=m + * [Config] Enable CONFIG_SENSORS_MAX1668=m + * [Config] Enable CONFIG_SENSORS_NTC_THERMISTOR=m + * [Config] Enable CONFIG_SENSORS_MAX6639=m + * [Config] Enable CONFIG_SENSORS_MAX6642=m + * [Config] Enable CONFIG_SENSORS_LINEAGE=m + * [Config] Enable CONFIG_CRYPTO_SALSA20=m + * [Config] Enable CONFIG_PATA_TOSHIBA=m + * [Config] Enable CONFIG_POHMELFS=m + * [Config] Enable CONFIG_NET_PACKET_ENGINE=y + * [Config] Enable CONFIG_PATA_OPTI=m + * add overlayfs to virtual inclusion list + - LP: #903897 + * add veth to virtual inclusion list + - LP: #903897 + * SAUCE: resolve WARNING: at drivers/block/floppy.c:2929 do_fd_request + + [ Paolo Pisati ] + + * [Config] DEFAULT_MMAP_MIN_ADDR=32k on arm + - LP: #903346 + + [ Tim Gardner ] + + * [Config] CONFIG_LOCKUP_DETECTOR=y + - LP: #903615 + + [ Upstream Kernel Changes ] + + * rebase to upstream 55b02d2f + + -- Leann Ogasawara Mon, 12 Dec 2011 07:08:10 -0800 + +linux (3.2.0-4.10) precise; urgency=low + + [ Kyle McMartin ] + + * SAUCE: dmar: disable if ricoh multifunction detected + - LP: #894070 + + [ Seth Forshee ] + + * SAUCE: dell-wmi: Demote unknown WMI event message to pr_debug + - LP: #581312 + + [ Tim Gardner ] + + * Start new release, Bump ABI, rebase to 3.2-rc5 + + [ Leann Ogasawara ] + + * [Config] Enable CONFIG_SENSORS_AK8975=m + + -- Tim Gardner Sat, 10 Dec 2011 08:57:04 -0700 + +linux (3.2.0-3.9) precise; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: ext4: correct partial write discard size calculation + - LP: #894768 + + [ Leann Ogasawara ] + + * Revert "SAUCE: x86, microcode, AMD: Restrict microcode reporting" + - LP: #892615 + + [ Matthew Garrett ] + + * SAUCE: pci: Rework ASPM disable code + + [ Upstream Kernel Changes ] + + * x86: Fix boot failures on older AMD CPU's + - LP: #892615 + * EHCI : Fix a regression in the ISO scheduler + - LP: #899165 + + -- Leann Ogasawara Mon, 05 Dec 2011 10:37:36 -0800 + +linux (3.2.0-3.8) precise; urgency=low + + [ Andy Whitcroft ] + + * armhf -- add d-i configuration + * armhf -- disable ABI checks for armhf + * armhf -- add arch to getabis config + + -- Andy Whitcroft Sat, 03 Dec 2011 14:22:52 +0000 + +linux (3.2.0-3.7) precise; urgency=low + + [ Stefan Bader ] + + * SAUCE: x86/paravirt: PTE updates in k(un)map_atomic need to be + synchronous, regardless of lazy_mmu mode + - LP: #854050 + + [ Tim Gardner ] + + * rebase to v3.2-rc4 + + -- Leann Ogasawara Fri, 02 Dec 2011 11:53:56 -0800 + +linux (3.2.0-2.6) precise; urgency=low + + [ Andy Whitcroft ] + + * armhf -- fix omap flavour to build on armhf + * [Config] CONFIG_PATA_MACIO=y to fix MAC qemu boot + + [ Borislav Petkov ] + + * SAUCE: x86, microcode, AMD: Restrict microcode reporting + - LP: #892615 + + [ Colin Watson ] + + * Add pata_macio to pata-modules + + [ Tim Gardner ] + + * [Config] Prefer crda over wireless-crda + * [Config] Fix virtual inclusion list. + - LP: #897795 + + -- Leann Ogasawara Wed, 30 Nov 2011 06:09:35 -0800 + +linux (3.2.0-2.5) precise; urgency=low + + [ Paolo Pisati ] + + * [Config] PANEL_DVI=y + + -- Leann Ogasawara Mon, 28 Nov 2011 09:13:24 -0800 + +linux (3.2.0-2.4) precise; urgency=low + + [ Andy Whitcroft ] + + * rebase to v3.2-rc3 + + [ Leann Ogasawara ] + + * Revert "SAUCE: xen: Do not use pv spinlocks on HVM" + * Revert "fix ERROR: __devcgroup_inode_permission undefined" + * Revert "olpc_dcon_xo_1_5 needs delay.h" + * Revert "olpc_dcon_xo_1 needs delay.h" + * rebase to 6fe4c6d4 + * [Config] updateconfigs after rebase to 6fe4c6d4 + + [ Tim Gardner ] + + * [Config] Replace wireless-crda with crda,wireless-regdb + - LP: #856421 + * [Config] Relax the dependencies on crda + + [ Upstream Kernel Changes ] + + * (pre-stable) HID: bump maximum global item tag report size to 96 bytes + - LP: #724831 + * Ubuntu: remove coreutils|fileutils package dependency + - LP: #892814 + * iio: iio_event_getfd -- fix ev_int build failure + + [ Upstream Kernel Changes ] + + * Rebase to v3.2-rc3 + + -- Andy Whitcroft Thu, 24 Nov 2011 16:20:45 +0000 + +linux (3.2.0-1.3) precise; urgency=low + + [ Upstream Kernel Changes ] + + * Ubuntu: Add ext2 to fs-core-modules + - LP: #893395 + + -- Leann Ogasawara Mon, 21 Nov 2011 20:42:33 -0800 + +linux (3.2.0-1.2) precise; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable CONFIG_NFC and associated devices + * SAUCE: allow brcmsmac and b43 to both build + + [ Soren Hansen ] + + * Add ixgbe driver to d-i + - LP: #891969 + + -- Leann Ogasawara Mon, 21 Nov 2011 08:33:46 -0800 + +linux (3.2.0-1.1) precise; urgency=low + [ Andy Whitcroft ] + + * armhf -- enable armhf and create the first flavours + * SAUCE: ensure root is ready before running usermodehelpers in it + * [Config] enforcer -- ensure CONFIG_FAT_FS is built-in on arm + + [ Leann Ogasawara ] + + * Temporarily ignore module check + * [Config] Enable PCI_IOV on powerpc + * [Config] Temporarily disable CONFIG_PASEMI_MAC on powerpc + * rebase to v3.2-rc2 + * SAUCE: include for cpuidle34xx arm build + * SAUCE: include for linux/mtd/map.h arm build + * SAUCE: include and for mmc_core arm build + * SAUCE: select ARM_AMBA if OMAP3_EMU + * [Config] updateconfigs after select ARM_AMBA + * [Config] Temporarily disable CONFIG_KVM_BOOK3S_32 on powerpc + * [Config] Enable CONFIG_EXT2_FS=m + * [Config] Build in CONFIG_SATA_AHCI=y + * Resolve linux-image-extra's install dependency + + [ Seth Forshee ] + + * [Config] Enable EVENT_POWER_TRACING_DEPRECATED=y for powertop + * SAUCE: (drop after 3.2) Input: ALPS - move protocol information to + Documentation + * SAUCE: (drop after 3.2) Input: ALPS - add protocol version field in + alps_model_info + * SAUCE: (drop after 3.2) Input: ALPS - remove assumptions about packet + size + * SAUCE: (drop after 3.2) Input: ALPS - add support for protocol versions + 3 and 4 + * SAUCE: (drop after 3.2) Input: ALPS - add semi-MT support for v3 + protocol + * SAUCE: (drop after 3.2) Input: ALPS - add documentation for protocol + versions 3 and 4 + + [ Stefan Bader ] + + * [Config] Built-in xen-netfront and xen-blkfront + * Fix build of dm-raid45 and re-enable it + + [ Tim Gardner ] + + * [Config] CONFIG_USB_XHCI_HCD=y + - LP: #886167 + * [Config] CONFIG_R6040=m + - LP: #650899 + * SAUCE: Add a new entry (413c:8197) to Bluetooth USB device ID table + - LP: #854399 + * [Config] Consolidated amd64 server flavour into generic + * [Config] updateconfigs after rebase to 3.2-rc1 + * [Config] Disabled dm-raid4-5 + * [Config] Disabled ndiswrapper + * [Config] Disable vt6656 + * [Config] exclude ppp-modules for virtual flavour + * [Config] CONFIG_MEMSTICK_R592=m + - LP: #238208 + + [ Upstream Kernel Changes ] + + * CHROMIUM: seccomp_filter: new mode with configurable syscall filters + - LP: #887780 + * CHROMIUM: seccomp_filter: add process state reporting + - LP: #887780 + * CHROMIUM: seccomp_filter: Document what seccomp_filter is and how it + works. + - LP: #887780 + * CHROMIUM: x86: add HAVE_SECCOMP_FILTER and seccomp_execve + - LP: #887780 + * CHROMIUM: arm: select HAVE_SECCOMP_FILTER + - LP: #887780 + * CHROMIUM: seccomp_filters: move to btrees + * CHROMIUM: enable CONFIG_BTREE + * CHROMIUM: seccomp_filter: kill NR_syscall references + * CHROMIUM: seccomp_filters: guard all ftrace wrapper code + * CHROMIUM: seccomp_filters: clean up warnings; kref mistake + * CHROMIUM: seccomp_filter: remove "skip" from copy and add drop helper + * CHROMIUM: seccomp_filter: allow CAP_SYS_ADMIN management of execve + * CHROMIUM: seccomp_filter: inheritance documentation + * CHROMIUM: seccomp_filter: make inherited filters composable + * CHROMIUM: Fix seccomp_t compile error + - LP: #887780 + * CHROMIUM: Fix kref usage + - LP: #887780 + * CHROMIUM: enable CONFIG_SECCOMP_FILTER and CONFIG_HAVE_SECCOMP_FILTER + * rebase to v3.2-rc2 + + -- Leann Ogasawara Mon, 31 Oct 2011 09:24:39 -0400 + +linux (3.1.0-2.3) precise; urgency=low + + [ Tim Gardner ] + + * Add postinit and postrm scripts to the extras package + - LP: #882120 + + -- Leann Ogasawara Fri, 28 Oct 2011 12:48:33 -0700 + +linux (3.1.0-2.2) precise; urgency=low + + [ Andy Whitcroft ] + + * debian: add locking to protect debian/files from parallel update + + [ Leann Ogasawara ] + + * rebase to v3.1 + + [ Upstream Kernel Changes ] + + * rebase to v3.1 + + -- Leann Ogasawara Wed, 19 Oct 2011 07:12:38 -0700 + +linux (3.1.0-1.1) precise; urgency=low + + [ Andiry Xu ] + + * SAUCE: (drop during 3.2 merge) xHCI: AMD isoc link TRB chain bit quirk + - LP: #872811 + + [ Andy Whitcroft ] + + * Revert "ubuntu: compcache -- follow changes to bd_claim/bd_release" + - LP: #832694 + * Revert "ubuntu: compcache -- version 0.5.3" + - LP: #832694 + * [Config] standardise CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m + * [Config] Enable CONFIG_MACVTAP=m + - LP: #822601 + * record the compiler in the ABI and check for inconsistant builds + * [Config] move ECRYPT_FS back to =y for all architectures + - LP: #827197 + * [Config] enable CONFIG_DRM_VMWGFX=m + - LP: #698009 + * [Config] re-fix ECRYPT_FS=y + - LP: #827197 + * enforcer -- ensure we have CONFIG_ECRYPT_FS=y + - LP: #827197 + * [Config] dropping compcache configuration options + * [Config] standardise on HZ=250 + * SAUCE: headers_install: fix #include "..." usage for userspace + - LP: #824377 + * make module-inclusion selection retain the left overs + * add a new linux-image-extras package for virtual + + [ Colin Watson ] + + * Deliver more Atheros, Ralink, and iwlagn NIC drivers to d-i + + [ edwin_rong ] + + * SAUCE: Staging: add driver for Realtek RTS5139 cardreader + - LP: #824273 + + [ Greg Kroah-Hartman ] + + * SAUCE: staging: rts5139: add vmalloc.h to some files to fix the build. + - LP: #824273 + + [ Jesse Sung ] + + * SAUCE: Unregister input device only if it is registered + - LP: #839238 + + [ Jiri Kosina ] + + * SAUCE: HID: add MacBookAir4, 2 to hid_have_special_driver[] + + [ Joshua V. Dillon ] + + * SAUCE: HID: add support for MacBookAir4,2 keyboard. + + [ Kees Cook ] + + * [Config] enable and enforce SECCOMP_FILTER on x86 + + [ Keng-Yu Lin ] + + * [Config] Enable CONFIG_RTS5139=m on i386/amd64 + - LP: #824273 + + [ Leann Ogasawara ] + + * Revert "ubuntu: overlayfs -- ovl: make lower mount read-only" + * Revert "ubuntu: overlayfs -- fs: limit filesystem stacking depth" + * Revert "ubuntu: overlayfs -- ovl: improve stack use of lookup and + readdir" + * Revert "ubuntu: overlayfs -- ovl: fix overlayfs over overlayfs" + * Revert "ubuntu: overlayfs -- overlayfs: implement show_options" + * Revert "ubuntu: overlayfs -- overlayfs: add statfs support" + * Revert "ubuntu: overlayfs -- overlay filesystem" + * Revert "ubuntu: overlayfs -- overlay: overlay filesystem documentation" + * Revert "SAUCE: ARM: OMAP: Add macros for comparing silicon revision" + * Revert "SAUCE: OMAP: DSS2: check for both cpu type and revision, rather + than just revision" + * Revert "SAUCE: OMAP: DSS2: enable hsclk in dsi_pll_init for OMAP36XX" + * Revert "ubuntu: fsam7400 disable driver" + - LP: #876030 + * rebase to v3.1-rc1 + * [Config] updateconfigs after rebase to v3.1-rc1 + * rebase to v3.1-rc2 + * [Config] Updateconfigs after rebase to v3.1-rc2 + * ubuntu: Yama - update calls to generic_permission() and + inode->i_op->permission() + * ubuntu: ndiswrapper -- remove netdev_priv macro + * ubuntu: aufs -- Temporarily disable due to build failure + * [Config] Diable INTEL_MID_PTI on armel + * [Config] Temporarily disable CONFIG_FTMAC100 on armel + * [Config] Temporarily disable CONFIG_FTGMAC100 on armel + * [Config] Temporarily disable CONFIG_CAN_TI_HECC on armel + * [Config] Temporarily disable CONFIG_VIDEO_OMAP2_VOUT on armel + * [Config] Set CONFIG_DM_MIRROR=m on amd64, i386, and arm + * [Config] Set CONFIG_DM_MULTIPATH=m on amd64, i386, and arm + * [Config] Set CONFIG_DM_SNAPSHOT=m on amd64, i386, and arm + * [Config] Enable CONFIG_EDAC_AMD8111=m on powerpc + * [Config] Enable CONFIG_EDAC_AMD8131=m on powerpc + * [Config] Enable CONFIG_EDAC_CPC925=m on powerpc + * [Config] Enable CONFIG_EDAC_PASEMI=m on powerpc + * [Config] Enable CONFIG_ECHO=m on powerpc + * [Config] Enable CONFIG_ET131X=m on powerpc + * [Config] Set CONFIG_FB_MATROX=m + * [Config] Enable CONFIG_FB_UDL=m on powerpc + * [Config] Set CONFIG_FB_VIRTUAL=n + * [Config] Enable CONFIG_FB_VGA16=m on powerpc + * [Config] Enable CONFIG_GPIO_MAX732X=m on arm + * [Config] Enable CONFIG_GPIO_PCF857X=m on arm + * [Config] Set CONFIG_HOTPLUG_PCI_FAKE=m + * [Config] Enable CONFIG_HOTPLUG_PCI=y on powerpc + * [Config] Enable CONFIG_HOTPLUG_PCI_CPCI=y on powerpc + * [Config] Enable CONFIG_HP_ILO=m on powerpc-smp + * [Config] Enable CONFIG_I2C_PASEMI=m on powerpc + * [Config] Enable CONFIG_IBM_BSR=m on powerpc + * [Config] Enable CONFIG_IBMVETH=m on powerpc + * [Config] Enable CONFIG_IDE_PHISON=m on powerpc + * [Config] Enable CONFIG_IGB=m on powerpc + * [Config] Enable CONFIG_IIO=m on powerpc + * [Config] Enable CONFIG_INFINIBAND_NES=m + * [Config] Enable CONFIG_IPMI_HANDLER=m on arm + * [Config] Enable CONFIG_IWL3945=m on powerpc + * [Config] Disable CONFIG_KVM_BOOK3S_64 + * [Config] Enable CONFIG_LAPBETHER=m on arm + * [Config] Enable CONFIG_LEDS_GPIO=m on powerpc + * [Config] Enable CONFIG_LEDS_CLEVO_MAIL=m all arch's + * [Config] Enable CONFIG_LEDS_PCA9532=m on powerpc + * [Config] Enable CONFIG_LEDS_PCA955X=m on powerpc + * [Config] Enable CONFIG_LEDS_TRIGGER_DEFAULT_ON=m on powerpc + * [Config] Set CONFIG_LEDS_TRIGGER_HEARTBEAT=m on arm and powerpc + * [Config] Set CONFIG_LEDS_TRIGGER_TIMER=m on powerpc + * [Config] Enable CONFIG_LINE6_USB=m on arm and powerpc + * [Config] Enable CONFIG_MEMSTICK=m on arm + * [Config] Enable CONFIG_MTD_AFS_PARTS=m on arm + * [Config] Enable CONFIG_MTD_ALAUDA=m on arm + * [Config] Enable CONFIG_MTD_AR7_PARTS=m on arm + * [Config] Enable CONFIG_MTD_ARM_INTEGRATOR=m on arm + * [Config] Enable CONFIG_MOXA_SMARTIO=m on powerpc + * [Config] Enable CONFIG_MTD_DATAFLASH=m on arm + * [Config] Enable CONFIG_MTD_GPIO_ADDR=m on arm + * [Config] Enable CONFIG_MTD_IMPA7=m on arm + * [Config] Enable CONFIG_MTD_NAND_GPIO=m on arm + * [Config] Enable CONFIG_MTD_NAND_NANDSIM=m on arm + * [Config] Enable CONFIG_MTD_NAND_PASEMI=m on powerpc + * [Config] Enable CONFIG_MTD_NAND_PLATFORM=m on arm + * [Config] Enable CONFIG_MTD_NAND_TMIO=m on arm + * [Config] Enable CONFIG_MTD_SST25L=m on arm + * [Config] Enable CONFIG_NET_CLS_CGROUP=y on arm + * [Config] Enable CONFIG_NET_CLS_FLOW=m on arm + * [Config] Enable CONFIG_NET_CLS_U32=m on arm + * [Config] Enable CONFIG_NET_DCCPPROBE=m on arm + * [Config] Enable CONFIG_NET_SCH_INGRESS=m on arm + * [Config] Enable CONFIG_NET_TCPPROBE=m on arm + * [Config] Enable CONFIG_PASEMI_MAC=m on powerpc + * [Config] Enable CONFIG_PATA_NS87410=m on powerpc + * [Config] Enable CONFIG_I2C_GPIO=m on powerpc64-smp + * [Config] Enable CONFIG_PANEL=m on powerpc + * [Config] Enable CONFIG_PATA_CMD640_PCI=m on powerpc + * SAUCE: x86: reboot: Make Dell Latitude E6520 use reboot=pci + - LP: #833705 + * [Config] Add CONFIG_EFI_VARS=y to the enforcer + - LP: #837332 + * [Config] Update CONFIG_EFI_VARS enforcer check + * [Config] Add aufs to virtual flavor inclusion list + - LP: #844159 + * SAUCE: x86: reboot: Make Dell Optiplex 790 use reboot=pci + - LP: #818933 + * SAUCE: x86: reboot: Make Dell Optiplex 990 use reboot=pci + - LP: #768039 + * SAUCE: x86: reboot: Make Dell Latitude E6220 use reboot=pci + - LP: #838402 + * [Config] Add igbvf to the virtual flavor inclusion list + - LP: #794570 + * [Config] Add ixgbevf to the virtual inclusion list + - LP: #872411 + * [Config] Transition -generic and -server to be identical + * rebase to v3.1-rc10 + + [ Luke Yelavich ] + + * [Config] Disable legacy IDE drivers on powerpc + + [ Ming Lei ] + + * SAUCE: fireware: add NO_MSI quirks for o2micro controller + - LP: #801719 + * SAUCE: ata_piix: make DVD Drive recognisable on systems with Intel + Sandybridge chipsets(v2) + - LP: #737388, #782389, #794642 + + [ Paolo Pisati ] + + * [Config] Compile-in vfat support for armel + - LP: #853783 + + [ Randy Dunlap ] + + * SAUCE: staging: fix rts5139 depends & build + - LP: #824273 + + [ Rene Bolldorf ] + + * SAUCE: (drop after 3.0) ideapad: Check if acpi already handle backlight + power in 'ideapad_backlight_notify_power' to avoid a page fault + + [ Seth Forshee ] + + * SAUCE: (no-up) Input: elantech - Add v3 hardware support + - LP: #681904 + * SAUCE: (drop after 3.1) usb_storage: Don't freeze in usb-stor-scan + - LP: #810020 + + [ Stefan Bader ] + + * (config) Package macvlan and macvtap for virtual + * [Config] Force perf to use libiberty for demangling + - LP: #783660 + * SAUCE: xen: Do not use pv spinlocks on HVM + - LP: #838026 + + [ Tim Gardner ] + + * [Config] Clean up tools rules + * [Config] Package x86_energy_perf_policy and turbostat + - LP: #797556 + * rebase to v3.1-rc3 + * [Config] Simplify binary-udebs dependencies + * [Config] kernel preparation cannot be parallelized + * [Config] Linearize module/abi checks + * [Config] Linearize and simplify tree preparation rules + * [Config] Build kernel image in parallel with modules + * [Config] Set concurrency for kmake invocations + * [Config] Improve install-arch-headers speed + * [Config] Fix binary-perarch dependencies + * [Config] Removed stamp-flavours target + * [Config] Serialize binary indep targets + * [Config] Use build stamp directly + * [Config] Restore prepare-% target + * rebase to v3.1-rc4 + * rebase to v3.1-rc5 + * [Config] Disable makedumpfile for i386/amd64 + * rebase to v3.1-rc6 + * [Config] Fix binary-% build target + * rebase to v3.1-rc7 + * rebase to v3.1-rc8 + * SAUCE: Add a new entry (413c:8197) to Bluetooth USB device ID table + - LP: #854399 + * [Config] Enable ftrace support in the mac80211 layer + - LP: #865171 + * rebase to v3.1-rc9 + * SAUCE: usb/core/devio.c: Check for printer class specific request + - LP: #872711 + + [ Upstream Kernel Changes ] + + * overlay filesystem + * overlayfs: add statfs support + * overlayfs: implement show_options + * overlay: overlay filesystem documentation + * fs: limit filesystem stacking depth + + [ Will Drewry ] + + * SAUCE: seccomp_filter: new mode with configurable syscall filters + * SAUCE: seccomp_filter: add process state reporting + * SAUCE: seccomp_filter: Document what seccomp_filter is and how it + works. + * SAUCE: seccomp_filter: add HAVE_SECCOMP_FILTER and seccomp_execve + + [ Upstream Kernel Changes ] + + * rebase to v3.1-rc1 + * rebase to v3.1-rc2 + * rebase to v3.1-rc3 + +CONFIG_BLK_DEV_BSGLIB=y + +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 + -CONFIG_VIDEO_OMAP2_VOUT_VRFB=y + * rebase to v3.1-rc4 + * rebase to v3.1-rc5 + * rebase to v3.1-rc6 + * rebase to v3.1-rc7 + * rebase to v3.1-rc8 + * rebase to v3.1-rc9 + * rebase to v3.1-rc10 + + -- Leann Ogasawara Wed, 10 Aug 2011 15:43:38 -0700 + +linux (3.1.0-1.0) oneiric; urgency=low + + [ Leann Ogasawara ] + + * Open P-series + + -- Leann Ogasawara Wed, 10 Aug 2011 13:42:40 -0700 + +linux (3.0.0-8.10) oneiric; urgency=low + + [ Adam Jackson ] + + * SAUCE: drm/i915/pch: Fix integer math bugs in panel fitting + - LP: #753994 + + [ John Johansen ] + + * [Config] Enable missing IPv6 options + + [ Leann Ogasawara ] + + * [Config] Disable config IWLWIFI_DEVICE_SVTOOL + - LP: #819925 + * Rebase to 3.0.1 + + [ Upstream Kernel Changes ] + + * x86, intel, power: Correct the MSR_IA32_ENERGY_PERF_BIAS message + * ALSA: hda - Turn on extra EAPDs on Conexant codecs + - LP: #783582 + * KVM: Remove SMEP bit from CR4_RESERVED_BITS + - LP: #796476 + * KVM: Add SMEP support when setting CR4 + - LP: #796476 + * KVM: Mask function7 ebx against host capability word9 + - LP: #796476 + * KVM: Add instruction fetch checking when walking guest page table + - LP: #796476 + + [ Upstream Kernel Changes ] + + * rebase to v3.0.1 + + -- Leann Ogasawara Fri, 05 Aug 2011 11:32:25 -0700 + +linux (3.0.0-7.9) oneiric; urgency=low + + [ Andy Whitcroft ] + + * Revert "[Upstream] add local prefix to oss local change_bits" + * Revert "SAUCE: add tracing for user initiated readahead requests" + * Revert "SAUCE: vfs: Add a trace point in the mark_inode_dirty function" + * Revert "SAUCE: Input: ALPS - Enable Intellimouse mode for Lenovo + Zhaoyang E47" + * Revert "SAUCE: fix documentation strings for struct input_keymap_entry" + * Revert "SAUCE: vt -- fix handoff numbering to 1..n and add range checks + (grub)" + * Revert "SAUCE: vt -- fix handoff numbering to 1..n and add range + checks" + * Revert "SAUCE: vt -- allow grub to request automatic vt_handoff" + * Revert "SAUCE: vt -- maintain bootloader screen mode and content until + vt switch" + * [Config] enable CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 + - LP: #816035 + * ubuntu: Yama: if an underlying filesystem provides a permissions op use + it + * SAUCE: (no-up) add tracing for user initiated readahead requests + * SAUCE: vt -- maintain bootloader screen mode and content until vt + switch + * SAUCE: vt -- allow grub to request automatic vt_handoff + + [ Arjan van de Ven ] + + * SAUCE: (no-up) vfs: Add a trace point in the mark_inode_dirty function + + [ Kees Cook ] + + * Revert "SAUCE: (no-up) Disable building the ACPI debugfs source" + * [Config] enforce ACPI_CUSTOM_METHOD disabled + + [ Keng-Yu Lin ] + + * SAUCE: (no-up) Input: ALPS - Enable Intellimouse mode for Lenovo + Zhaoyang E47 + - LP: #632884, #803005 + + [ Leann Ogasawara ] + + * [Config] Enable CONFIG_BLK_DEV_CMD64X=m on powerpc + - LP: #513131 + * [Config] Enable CONFIG_RT2800PCI_RT53XX=y + - LP: #815064 + + [ Rezwanul Kabir ] + + * SAUCE: (no-up) Add support for Intellimouse Mode in ALPS touchpad on + Dell E2 series Laptops + - LP: #632884 + + [ Upstream Kernel Changes ] + + * Revert "yama: if an underlying filesystem provides a permissions op use + it" + * Revert "Add support for Intellimouse Mode in ALPS touchpad on Dell E2 + series Laptops" + * Revert "tty: include linux/slab.h for kfree" + * Revert "gpio/ml_ioh_gpio: include linux/slab.h for kfree" + * Revert "pch_dma: add include/slab.h for kfree" + * mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency + - LP: #773524 + * oss: rename local change_bits to avoid powerpc bitsops.h definition + + -- Leann Ogasawara Mon, 25 Jul 2011 09:08:01 -0700 + +linux (3.0.0-7.8) oneiric; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- overlayfs: add statfs support + * [Config] enable CONFIG_OVERLAYFS + + [ Erez Zadok ] + + * ubuntu: overlayfs -- overlayfs: implement show_options + + [ Leann Ogasawara ] + + * [Config] Enable CONFIG_ALIM7101_WDT=m on powerpc + * [Config] Enable CONFIG_ASUS_OLED=m on powerpc + * [Config] Disable CONFIG_ATM_DUMMY on arm + * [Config] Enable CONFIG_BLK_DEV_DRBD=m on powerpc + * Temporarily disable module check on arm + * Rebase to 3.0 final + * [Config] Enable CONFIG_CAN_TI_HECC=m on arm + * [Config] Set CONFIG_CDROM_PKTCDVD=m on amd64 and i386 + * [Config] Enable CONFIG_CRYPTO_CCM=m on powerpc + * [Config] Enable CONFIG_CRYPTO_DEV_HIFN_795X=m on powerpc + * [Config] Enable CONFIG_CRYPTO_GCM=m on powerpc + * [Config] Set CRYPTO_LZO=m on powerpc64-smp + * [Config] Enable CONFIG_DM9000=m on arm + * [Config] Set CONFIG_DISPLAY_SUPPORT=m on arm + * [Config] Enable CONFIG_DL2K=m on amd64 and i386 + + [ Miklos Szeredi ] + + * ubuntu: overlayfs -- vfs: add i_op->open() + * ubuntu: overlayfs -- vfs: export do_splice_direct() to modules + * ubuntu: overlayfs -- vfs: introduce clone_private_mount() + * ubuntu: overlayfs -- overlay filesystem + * ubuntu: overlayfs -- ovl: fix overlayfs over overlayfs + * ubuntu: overlayfs -- ovl: improve stack use of lookup and readdir + * ubuntu: overlayfs -- fs: limit filesystem stacking depth + * ubuntu: overlayfs -- ovl: make lower mount read-only + + [ Neil Brown ] + + * ubuntu: overlayfs -- overlay: overlay filesystem documentation + + [ Tim Gardner ] + + * [Config] Add enic/fnic to udebs + - LP: #801610 + + [ Upstream Kernel Changes ] + + * yama: if an underlying filesystem provides a permissions op use it + + [ Major Kernel Changes ] + + * Rebase to 3.0 final + + -- Leann Ogasawara Thu, 21 Jul 2011 07:01:32 -0700 + +linux (3.0.0-6.7) oneiric; urgency=low + + [ Eagon Yager ] + + * [Config] Fix misspelled 'skipmodule' in arm makefile. + + [ Keng-Yu Lin ] + + * SAUCE: Input: ALPS - Enable Intellimouse mode for Lenovo Zhaoyang E47 + - LP: #632884, #803005 + + [ Leann Ogasawara ] + + * Revert "[Config] Temporarily disable CONFIG_SMC91X on armel-omap" + * Revert "[Config] Temporarily Disable CONFIG_BRCMSMAC on arm" + * Revert "[Config] Temporarily Disable CONFIG_RTL8192SE on powerpc" + * Revert "[Config] Temporarily Disable CONFIG_RTL8192SE on arm" + * Revert "[Config] Temporarily disable CONFIG_BRCMSMAC on powerpc" + * [Config] Set CONFIG_ACPI_PCI_SLOT=m + * [Config] Set CONFIG_ACPI_SBS=m + * [Config] Set CONFIG_ACPI_WMI=m + * [Config] Set CONFIG_AD7150=m on arm + * [Config] Set CONFIG_AD7152=m on arm + * [Config] Drop CONFIG_GPIO_S5PV210 + * [Config] Drop CONFIG_GPIO_S5PC100 + * [Config] Drop CONFIG_GPIO_PLAT_SAMSUNG + * [Config] Drop CONFIG_GPIO_EXYNOS4 + + [ Stefan Bader ] + + * SAUCE: Re-enable RODATA for i386 virtual + - LP: #809838 + + [ Upstream Kernel Changes ] + + * Revert "Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15" + * (drop after 3.0.0) acer-wmi: Add support for Aspire 1830 wlan hotkey + - LP: #771758 + + -- Leann Ogasawara Wed, 20 Jul 2011 06:36:02 -0700 + +linux (3.0.0-5.6) oneiric; urgency=low + + [ Tim Gardner ] + + * [Config] CONFIG_RTL8192CU=m + * Rebase to -rc7 + + -- Tim Gardner Mon, 11 Jul 2011 22:13:50 +0100 + +linux (3.0.0-4.5) oneiric; urgency=low + + [ Ming Lei ] + + * SAUCE: fix yama_ptracer_del lockdep warning + - LP: #791019 + + [ Seth Forshee ] + + * SAUCE: (drop after 3.0) asus-wmi: Add callback for hotkey filtering + * SAUCE: (drop after 3.0) eeepc-wmi: Add support for T101MT Home/Express Gate key + * SAUCE: (drop after 3.0) asus-wmi: Enable autorepeat for hotkey input device + * [Config] CONFIG_{ASUS,ASUS_NB,EEEPC}_WMI=m + - LP: #805218 + + [ Tim Gardner ] + + * [Config] updateconfigs after rebase to -rc6+ + Rebased against 4dd1b49c6d215dc41ce50c80b4868388b93f31a3 + * Adopt a 3 digit verion, e.g., 3.0.0-x.x + * Revert "UBUNTU: add dependancies for module-init-tools" + This dependency is no longer required for a 3 digit version. + + -- Tim Gardner Tue, 05 Jul 2011 14:03:04 +0100 + +linux (3.0-3.4) oneiric; urgency=low + + [ Keng-Yu Lin ] + + * SAUCE: Revert: "dell-laptop: Toggle the unsupported hardware + killswitch" + - LP: #775281 + + [ Leann Ogasawara ] + + * rebase to v3.0-rc5 + * [Config] updateconfigs after rebase to 3.0-rc5 + + [ Tim Gardner ] + + * [Config] Remove ubuntu/rtl8192se + * [Config] Added armel ABI files + * [Config] Removed armel versatile flavour + * [Config] CONFIG_INTEL_MEI=m + - LP: #716867 + + [ Upstream Kernel Changes ] + + * ALSA: hda - Enable auto-parser as default for Conexant codecs + + [ Upstream Kernel Changes ] + + * rebase to v3.0-rc5 + + -- Leann Ogasawara Thu, 30 Jun 2011 14:27:10 +0100 + +linux (3.0-2.3) oneiric; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: AUFS -- update to 0e2bafab74f0d1463383faeb93f9fc5eb8c2c54e + + [ Leann Ogasawara ] + + * rebase to v3.0-rc4 + * [Config] updateconfigs after rebase to 3.0-rc4 + * fix ERROR: __devcgroup_inode_permission undefined + + [ Stefan Bader ] + + * SAUCE: iscsitarget: Remove driver from the kernel + + [ Tim Gardner ] + + * SAUCE: rtl8192se: Force a build for a 2.6/3.0 kernel + * [Config] Add grub-efi as a recommended bootloader for server and + generic + - LP: #800910 + + [ Upstream Kernel Changes ] + + * Fix node_start/end_pfn() definition for mm/page_cgroup.c + + [ Leann Ogasawara ] + + * rebase to v3.0-rc4 + + -- Leann Ogasawara Fri, 24 Jun 2011 11:51:12 -0700 + +linux (3.0-1.2) oneiric; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable CONFIG_CAN_CALC_BITTIMING + + [ Leann Ogasawara ] + + * rebase to v3.0-rc3 + * [Config] updateconfigs after rebase to 3.0-rc3 + + [ Upstream Kernel Changes ] + + * perf: clear out make flags when calling kernel make kernelver + + [ Leann Ogasawara ] + + * rebase to v3.0-rc3 + + -- Leann Ogasawara Tue, 14 Jun 2011 07:25:35 -0700 + +linux (3.0-0.1) oneiric; urgency=low + + [ Andy Whitcroft ] + + * use the packaging version in the kernel + * use the kernels idea of its version for version_signature + * add dependancies for module-init-tools + * update control files to version 3 + * printchanges/insertchanges allow override of prev_release + * correct Vcs-Git: to point to oneiric + + [ Leann Ogasawara ] + + * rebase to v3.0-rc1 + * [Config] updateconfigs after rebase to 3.0-rc1 + * ubuntu: dm-raid4-5 fix up build failure + * [Config] Temporarily Disable CONFIG_GPIO_EXYNOS4 on arm + * [Config] Temporarily Disable CONFIG_GPIO_PLAT_SAMSUNG on arm + * [Config] Temporarily Disable CONFIG_GPIO_S5PC100 on arm + * [Config] Temporarily Disable CONFIG_GPIO_S5PV210 on arm + * [Config] Temporarily disable CONFIG_BRCMSMAC on powerpc + * [Config] Temporarily Disable CONFIG_BRCMSMAC on arm + * [Config] Temporarily Disable CONFIG_RTL8192SE on arm + * [Config] Temporarily Disable CONFIG_RTL8192SE on powerpc + * [Config] Temporarily disable CONFIG_SMC91X on armel-omap + * rebase to v3.0-rc2 + + [ Manoj Iyer ] + + * SAUCE: mmc: Enable MMC card reader for RICOH [1180:e823] + - LP: #790754 + + [ Upstream Kernel Changes ] + + * Revert "x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM + demands it" + * drm/i915: fix regression after clock gating init split + + [ Major Kernel Changes ] + + * rebase from v2.6.39 to v3.0-rc1 + * rebase from v3.0-rc1 to v3.0-rc2 + + -- Andy Whitcroft Thu, 09 Jun 2011 15:18:33 +0100 + +linux (2.6.39-3.10) oneiric; urgency=low + + [ Colin Ian King ] + + * SAUCE: S3 early resume debug via keyboard LEDs + + [ Ingo Molnar ] + + * ubuntu: nx-emu - i386: NX emulation + * ubuntu: nx-emu - i386: mmap randomization for executable mappings + + [ Leann Ogasawara ] + + * Revert "[Config] Disable CONFIG_FT1000 on powerpc64-smp" + * Revert "[Config] Disable CONFIG_DM_RAID45" + * [Config] enable CONFIG_BRCMFMAC=y + * [Config] enable CONFIG_MDIO_BITBANG=m across all arch's and flavors + * [Config] enable CONFIG_VIDEO_OUTPUT_CONTROL=m on armel-omap + + [ Robert Nelson ] + + * SAUCE: omap3: beagle: detect new xM revision B + - LP: #770679 + * SAUCE: omap3: beagle: detect new xM revision C + - LP: #770679 + * SAUCE: omap3: beagle: if rev unknown, assume xM revision C + - LP: #770679 + + [ Stefan Bader ] + + * SAUCE: Convert dm-raid45 to new block plugging + + -- Leann Ogasawara Mon, 23 May 2011 11:46:43 -0700 + +linux (2.6.39-3.9) oneiric; urgency=low + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_SCSI_LPFC_DEBUG_FS + * rebase to v2.6.39 + * [Config] enable CONFIG_LLC2=m across all arch's and flavours + * [Config] enable CONFIG_INPUT_APANEL=m + + [ Thomas Schlichter ] + + * SAUCE: vesafb: mtrr module parameter is uint, not bool + - LP: #778043 + * SAUCE: vesafb: enable mtrr WC by default + - LP: #778043 + + [ Major Kernel Changes ] + + * rebase from v2.6.39-rc7 to v2.6.39 + + -- Andy Whitcroft Fri, 20 May 2011 09:52:32 +0100 + +linux (2.6.39-2.8) oneiric; urgency=low + + [ Andy Whitcroft ] + + * Revert "ubuntu: AUFS -- aufs2-standalone.patch aufs2.1-37" + * Revert "ubuntu: AUFS -- aufs2-base.patch aufs2.1-37" + * Revert "[Config] Disable CONFIG_AUFS_FS" + * ubuntu: AUFS -- aufs2-base.patch aufs2.1-39 + * ubuntu: AUFS -- aufs2-standalone.patch aufs2.1-39 + * ubuntu: AUFS -- update to c6b76974311efc5bf3eddf921cd015b6aae46935 + * ubuntu: AUFS -- clean up the aufs updater and BOM + * ubuntu: AUFS -- documentation on updating aufs2 + + [ Kees Cook ] + + * ubuntu: Yama - LSM hooks + * ubuntu: Yama - create task_free security callback + * ubuntu: Yama - add ptrace relationship tracking interface + * ubuntu: Yama - unconditionally chain to Yama LSM + + [ Leann Ogasawara ] + + * Revert "SAUCE: Fix drivers/staging/easycap FTBS" + * Revert "[Config] Disable CONFIG_EASYCAP" + * ubuntu: fsam7400 disable driver + * ubuntu: omnibook disable driver + * ubuntu: rfkill disable driver + + [ Tim Gardner ] + + * SAUCE: Fix extra reference in fb_open() + + -- Leann Ogasawara Mon, 16 May 2011 09:23:56 -0700 + +linux (2.6.39-2.7) oneiric; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.39-rc7 + + [ Major Kernel Changes ] + + * rebase from v2.6.39-rc6 to v2.6.39-rc7 + + -- Leann Ogasawara Tue, 10 May 2011 10:18:28 +0200 + +linux (2.6.39-1.6) oneiric; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.39-rc6 + * SAUCE: [arm] fixup __aeabi_uldivmod undefined build error + + [ Tim Gardner ] + + * [Config] updateconfigs after rebase to 2.6.39-rc6 + + [ Major Kernel Changes ] + + * rebase from v2.6.39-rc5 to v2.6.39-rc6 + - LP: #740126 + + -- Leann Ogasawara Thu, 05 May 2011 09:46:12 -0700 + +linux (2.6.39-0.5) oneiric; urgency=low + + [ Herton Ronaldo Krzesinski ] + + * SAUCE: Revert "x86, hibernate: Initialize mmu_cr4_features during boot" + - LP: #764758 + + [ Leann Ogasawara ] + + * rebase to v2.6.39-rc5 + * [Config] updateconfigs following rebase to v2.6.39-rc5 + + [ Paolo Pisati ] + + * [Config] s/USB_MUSB_TUSB6010/USB_MUSB_OMAP2PLUS/ on omap3 to get musb + - LP: #759913 + + [ Stefan Bader ] + + * Include nls_iso8859-1 for virtual images + - LP: #732046 + + [ Major Kernel Changes ] + + * rebase from v2.6.39-rc4 to v2.6.39-rc5 + + -- Leann Ogasawara Wed, 27 Apr 2011 06:39:42 -0700 + +linux (2.6.39-0.4) oneiric; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.39-rc4 + * [Config] updateconfigs following rebase to v2.6.39-rc4 + * fixup powerpc implicit declaration of function + 'crash_kexec_wait_realmode' + * [Config] Disable CONFIG_FT1000 on powerpc64-smp + + [ Tim Gardner ] + + * [Config] CONFIG_TRANSPARENT_HUGEPAGE=y + - LP: #769503 + * [Config] Add cachefiles.ko to virtual flavour + - LP: #770430 + + [ Major Kernel Changes ] + + * rebase from v2.6.39-rc3 to v2.6.39-rc4 + + -- Leann Ogasawara Tue, 19 Apr 2011 06:25:20 -0700 + +linux (2.6.39-0.3) oneiric; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.39-rc3 + * crash_kexec_wait_realmode() undefined when !SMP + + [ Tim Gardner ] + + * [Config] CONFIG_PM_ADVANCED_DEBUG=y for i386/amd64 + - LP: #632327 + + [ Major Kernel Changes ] + + * rebase from v2.6.39-rc2 to v2.6.39-rc3 + + -- Leann Ogasawara Tue, 12 Apr 2011 06:52:24 -0700 + +linux (2.6.39-0.2) oneiric; urgency=low + + [ Gustavo F. Padovan ] + + * SAUCE: Revert "Bluetooth: Add new PID for Atheros 3011" + - LP: #720949 + + [ John Johansen ] + + * AppArmor: Fix masking of capabilities in complain mode + - LP: #748656 + + [ Leann Ogasawara ] + + * rebase to v2.6.39-rc2 + * [Config] updateconfigs following rebase to v2.6.39-rc2 + * hv_mouse needs delay.h + * olpc_dcon_xo_1 needs delay.h + * olpc_dcon_xo_1_5 needs delay.h + * Update dropped.txt for Oneiric + + [ Steve Langasek ] + + * [Config] Make linux-libc-dev coinstallable under multiarch + - LP: #750585 + + [ Upstream Kernel Changes ] + + * x86, hibernate: Initialize mmu_cr4_features during boot + - LP: #752870 + + [ Major Kernel Changes ] + + * rebase from v2.6.39-rc1 to v2.6.39-rc2 + + -- Leann Ogasawara Wed, 06 Apr 2011 11:04:15 -0700 + +linux (2.6.39-0.1) oneiric; urgency=low + + [ Brad Figg ] + + * [Config] Set CONFIG_NR_CPUS=256 for amd64 generic + - LP: #737124 + + [ Henrik Rydberg ] + + * SAUCE: HID: hid-ntrig: add support for 1b96:0006 model + * SAUCE: HID: ntrig: fix suspend/resume on recent models + + [ Herton Ronaldo Krzesinski ] + + * SAUCE: (drop after 2.6.39) v4l: make sure drivers supply a zeroed + struct v4l2_subdev + - LP: #745213 + + [ Kees Cook ] + + * [Config] packaging: adjust perms on vmlinuz as well + * SAUCE: nx-emu: further clarify dmesg reporting + - LP: #745181 + + [ Leann Ogasawara ] + + * rebase to v2.6.39-rc1 + * [Config] updateconfigs following rebase to v2.6.39-rc1 + * [Config] Disable CONFIG_DM_RAID45 + * [Config] Disable CONFIG_SCSI_ISCSITARGET + * [Config] Disable CONFIG_EASYCAP + * [Config] Disable CONFIG_AUFS_FS + * update bnx2 firmware files in d-i/firmware/nic-modules + * xhci-pci.c resolve implicit declaration of kzalloc + * [Config] Enable CONFIG_DRM_PSB for only x86 + * [Config] Enable CONFIG_RTS_PSTOR for only x86 + * mfd/asic3: Fix typo, s/irq_data/data/ + + [ Luke Yelavich ] + + * [Config] Disable CONFIG_CRASH_DUMP on 32-bit powerpc kernels + - LP: #745358 + * [Config] Disable CONFIG_DRM_RADEON_KMS on powerpc kernels + * [Config] Build some framebuffer drivers as modules for powerpc kernels. + + [ Manoj Iyer ] + + * SAUCE: thinkpad-acpi: module autoloading for newer Lenovo ThinkPads. + - LP: #745217 + + [ Tim Gardner ] + + * SAUCE: INR_OPEN=4096 + - LP: #663090 + * SAUCE: Increase the default hard limit for open FDs to 4096 + - LP: #663090 + + [ Upstream Kernel Changes ] + + * (drop after 2.6.39-rc1) arm: versatile : Fix typo introduced in irq + namespace cleanup + * (drop after 2.6.39-rc1) [media] staging: altera-jtag needs delay.h + * ALSA: pcm: fix infinite loop in snd_pcm_update_hw_ptr0() + + [ Major Kernel Changes ] + + * rebase from v2.6.38 to v2.6.39-rc1 + + -- Leann Ogasawara Thu, 31 Mar 2011 12:50:10 -0700 + +linux (2.6.39-0.0) oneiric; urgency=low + + [ Leann Ogasawara ] + + * Open Oneiric + + -- Leann Ogasawara Thu, 31 Mar 2011 12:29:23 -0700 + +linux (2.6.38-7.39) natty; urgency=low + + [ Leann Ogasawara ] + + * No change upload. This is just to rebuild with gcc-4.5.2-7ubuntu1. + + -- Leann Ogasawara Thu, 24 Mar 2011 09:27:45 -0700 + +linux (2.6.38-7.38) natty; urgency=low + + [ Leann Ogasawara ] + + * No change upload take 2. 2.6.38-7.37 was accidentally uploaded before + gcc-4.5.2-6ubuntu5 finished building on all arches. + + -- Leann Ogasawara Tue, 22 Mar 2011 06:12:47 -0700 + +linux (2.6.38-7.37) natty; urgency=low + + [ Leann Ogasawara ] + + * No change upload. This is just to rebuild with gcc-4.5.2-6ubuntu5. + + -- Leann Ogasawara Sun, 20 Mar 2011 16:02:48 -0700 + +linux (2.6.38-7.36) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: KLUDGE: work around failed 'shrink-wrap' compiler + optimisation" + * purge last vestiges of maverick + * [Config] switch CONFIG_FB_VESA back to module + + [ Chris Wilson ] + + * SAUCE: drm/i915: Fix pipelined fencing + - LP: #717114 + + [ Loïc Minier ] + + * Include nls_cp437 module in virtual for fat + - LP: #732046 + * Support arch= cross-compilation for any arch + * Fix couple of typos in 0-common-vars.mk + * Enforce DEFAULT_MMAP_MIN_ADDR on armhf + * Add armhf to Debian -> Linux arch map + * Add initial armhf.mk + * Enable common packages for armhf + + [ Upstream Kernel Changes ] + + * Yama: fix default relationship to check thread group + - LP: #737676 + + -- Andy Whitcroft Fri, 18 Mar 2011 18:18:02 +0000 + +linux (2.6.38-7.35) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to 2fbfac4e053861925fa3fffcdc327649b09af54c + * rebase fixes bug #715330 + * [Config] disable CONFIG_SCSI_QLA_ISCSI for powerpc 32bit to fix FTBS + * rebase to v2.6.38 final + + [ Herton Ronaldo Krzesinski ] + + * SAUCE: Apply OPTION_BLACKLIST_SENDSETUP also for ZTE MF626 + - LP: #636091 + + [ Tim Gardner ] + + * [Confg] CONFIG_BOOT_PRINTK_DELAY=y + + [ Upstream Kernel Changes ] + + * Yama: use thread group leader when creating match + - LP: #729839 + * (drop after 2.6.38) ahci: AHCI mode SATA patch for Intel Patsburg SATA + RAID controller + - LP: #735240 + * (drop after v2.6.38) x86, quirk: Fix SB600 revision check + + [ Major Kernel Changes ] + + * rebase from v2.6.38-rc8 to v2.6.38 final + - LP: #715330 + + -- Andy Whitcroft Tue, 15 Mar 2011 19:04:19 +0000 + +linux (2.6.38-6.34) natty; urgency=low + + [ Andy Whitcroft ] + + * [Config] normalise CONFIG_INTEL_TXT + * SAUCE: KLUDGE: work around failed 'shrink-wrap' compiler optimisation + - LP: #730860 + * rebase to mainline v2.6.38-rc8 + + [ Major Kernel Changes ] + + * rebase from v2.6.38-rc7 + fb62c00a6d8942775abc23d1621db1252e2d93d1 + to v2.6.38-rc8 + + -- Andy Whitcroft Tue, 08 Mar 2011 11:54:48 +0000 + +linux (2.6.38-6.33) natty; urgency=low + + [ Andy Whitcroft ] + + * d-i -- enable speakup-modules udeb + - LP: #672699 + * rebase to 493f3358cb289ccf716c5a14fa5bb52ab75943e5 + * [Config] debian PPC64 configuration + * [Config] cleanup powerpc config fixing unexpected inconsistancies + * [Config] resync ppc64 configuration + * SAUCE: match up ENTRY/END naming for 32/64 bit + * rebase to fb62c00a6d8942775abc23d1621db1252e2d93d1 + * [Config] update configs after rebase to + fb62c00a6d8942775abc23d1621db1252e2d93d1 + * [Config] pps_gen_parport no longer built + + [ Corentin Chary ] + + * SAUCE: (drop after 2.6.38) eeepc-wmi: reorder keymap + - LP: #689393 + * SAUCE: (drop after 2.6.38) eeepc-wmi: add wlan key found on 1015P + - LP: #689393 + + [ John Johansen ] + + * SAUCE: Fix aufs calling of security_path_mknod + - LP: #724456 + + [ Kees Cook ] + + * SAUCE: proc: hide kernel addresses via %pK in /proc//stack + + [ Tim Gardner ] + + * rebase to 2.6.38-rc7 + + [ Upstream Kernel Changes ] + + * Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing" + + [ Major Kernel Changes ] + + * rebase from v2.6.38-rc6 to v2.6.38-rc7 + + fb62c00a6d8942775abc23d1621db1252e2d93d1 + - LP: #721389 + - LP: #722925 + - LP: #723672 + - LP: #723676 + - LP: #715318 + + -- Andy Whitcroft Mon, 07 Mar 2011 15:33:17 +0000 + +linux (2.6.38-5.32) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to mainline 6f576d57f1fa0d6026b495d8746d56d949989161 + * [Config] updateconfigs following rebase to v2.6.38-rc6 + * [Config] enable CONFIG_DMAR + - LP: #552311 + + [ Upstream Kernel Changes ] + + * drm/i915: skip FDI & PCH enabling for DP_A + - LP: #561802, #600453, #681877 + + [ Major Kernel Changes ] + + * rebase from v2.6.38-rc5 to v2.6.38-rc6 + - LP: #718402 + - LP: #719524 + - LP: #721126 + - LP: #719691 + - LP: #722689 + - LP: #722310 + + -- Andy Whitcroft Tue, 22 Feb 2011 13:28:39 +0000 + +linux (2.6.38-4.31) natty; urgency=low + + [ Andy Whitcroft ] + + * add in bugs closed by upstream patches pulled in by rebases + * rebase to 795abaf1e4e188c4171e3cd3dbb11a9fcacaf505 + * [Config] enable CONFIG_VSX to allow use of vector instuctions + * resync with maverick 98defa1c5773a3d7e4c524967eb01d5bae035816 + * rebase to mainline v2.6.38-rc5 + * SAUCE: ecryptfs: read on a directory should return EISDIR if not + supported + - LP: #719691 + + [ Colin Ian King ] + + * SAUCE: Dell All-In-One: Remove need for Dell module alias + + [ Manoj Iyer ] + + * SAUCE: (drop after 2.6.38) add ricoh 0xe823 pci id. + - LP: #717435 + + [ Tim Gardner ] + + * [Config] CONFIG_CRYPTO_CRC32C_INTEL=y + + [ Upstream Kernel Changes ] + + * Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15 + - LP: #702434 + * vfs: fix BUG_ON() in fs/namei.c:1461 + + [ Vladislav P ] + + * SAUCE: Release BTM while sleeping to avoid deadlock. + - LP: #713837 + + [ Major Kernel Changes ] + + * rebase from v2.6.38-rc4 to v2.6.38-rc5 + - LP: #579276 + - LP: #715877 + - LP: #713769 + - LP: #716811 + * resync with Maverick Ubuntu-2.6.35-27.47 + + -- Andy Whitcroft Fri, 11 Feb 2011 17:24:09 +0000 + +linux (2.6.38-3.30) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.38-rc4 + * ppc64 -- add basic architecture + * ubuntu: AUFS -- update to 65835da20b77c98fb538c9114fc31f5de1328230 + + [ Colin Ian King ] + + * SAUCE: Add WMI hotkeys support for Dell All-In-One series + - LP: #676997 + * SAUCE: Add WMI hotkeys support for another Dell All-In-One series + - LP: #701530 + * SAUCE: Dell WMI: Use sparse keymaps and tidy up code. + - LP: #701530 + + [ Dan Rosenberg ] + + * SAUCE: (drop after 2.6.38) Convert net %p usage %pK + + [ Kees Cook ] + + * Revert "SAUCE: kernel: make /proc/kallsyms mode 400 to reduce ease of + attacking" + * SAUCE: (drop after 2.6.38) use %pK for /proc/kallsyms and /proc/modules + + [ Tim Gardner ] + + * [Config] CONFIG_BLK_CGROUP=y + - LP: #706394 + * [Config] CONFIG_DELL_WMI_AIO=m + + [ Upstream Kernel Changes ] + + * drm/i915/lvds: Restore dithering on native modes for gen2/3 + - LP: #711568 + + [ Upstream Kernel Changes ] + + * rebase from v2.6.38-rc3 to v2.6.38-rc4. + - LP: #701271 + - LP: #708521 + - LP: #710371 + + -- Andy Whitcroft Tue, 08 Feb 2011 02:07:18 +0000 + +linux (2.6.38-2.29) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to 1f0324caefd39985e9fe052fac97da31694db31e + * [Config] updateconfigs following rebase to + 1f0324caefd39985e9fe052fac97da31694db31e + * rebase to 70d1f365568e0cdbc9f4ab92428e1830fdb09ab0 + * [Config] reenable HIBERNATE + - LP: #710877 + * rebase to v2.6.38-rc3 + * [Config] reenable CONFIG_CRASH_DUMP + + [ Kamal Mostafa ] + + * SAUCE: rtl8192se: fix source file perms + * SAUCE: rtl8192se: fix source file newline + * SAUCE: omnibook: fix source file newline + + [ Kees Cook ] + + * [Config] packaging: really make System.map mode 0600 + + [ Ricardo Salveti de Araujo ] + + * SAUCE: OMAP3630: PM: don't warn the user with a trace in case of + PM34XX_ERRATUM + + [ Soren Hansen ] + + * SAUCE: nbd: Remove module-level ioctl mutex + + [ Tim Gardner ] + + * SAUCE: Disable building the ACPI debugfs source + + [ Upstream Kernel Changes ] + + * Set physical start and alignment 1M for virtual i386 + - LP: #710754 + + [ Upstream Kernel Changes ] + + * rebase from v2.6.38-rc2 + c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84 + to v2.6.38-rc3 + - LP: #707902 + + -- Andy Whitcroft Fri, 28 Jan 2011 16:30:32 +0000 + +linux (2.6.38-1.28) natty; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: AUFS -- update to b1cee06249dfa0ab30951e7f06490a75c155b620 + + [ Ricardo Salveti de Araujo ] + + * SAUCE: omap3: beaglexm: fix DVI initialization + * [Config] omap: move CONFIG_PANEL_GENERIC_DPI to build in to make + display work at Beagle + + -- Andy Whitcroft Fri, 28 Jan 2011 10:51:57 +0000 + +linux (2.6.38-1.27) natty; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: AUFS -- update aufs-update to track new locations of headers + * ubuntu: AUFS -- update to c5021514085a5d96364e096dbd34cadb2251abfd + * SAUCE: ensure root is ready before running usermodehelpers in it + * correct the Vcs linkage to point to natty + * rebase to linux tip e78bf5e6cbe837daa6ab628a5f679548742994d3 + * [Config] update configs following rebase + e78bf5e6cbe837daa6ab628a5f679548742994d3 + * SAUCE: Yama: follow changes to generic_permission + * ubuntu: compcache -- follow changes to bd_claim/bd_release + * ubuntu: iscsitarget -- follow changes to open_bdev_exclusive + * ubuntu: ndiswrapper -- fix interaction between __packed and packed + * ubuntu: AUFS -- update to 806051bcbeec27748aae2b7957726a4e63ff308e + * update package version to match payload version + * rebase to e6f597a1425b5af64917be3448b29e2d5a585ac8 + * rebase to v2.6.38-rc1 + * [Config] updateconfigs following rebase to v2.6.38-rc1 + * SAUCE: x86 fix up jiffies/jiffies_64 handling + * rebase to linus tip 2b1caf6ed7b888c95a1909d343799672731651a5 + * [Config] updateconfigs following rebase to + 2b1caf6ed7b888c95a1909d343799672731651a5 + * [Config] disable CONFIG_TRANSPARENT_HUGEPAGE to fix i386 boot crashes + * ubuntu: AUFS -- suppress benign plink warning messages + - LP: #621195 + * [Config] CONFIG_NR_CPUS=256 for amd64 -server flavour + * rebase to v2.6.38-rc2 + * rebase to mainline d315777b32a4696feb86f2a0c9e9f39c94683649 + * rebase to c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84 + * [Config] update configs following rebase to + c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84 + * [Config] disable CONFIG_AD7152 to fix FTBS on armel versatile + * [Config] disable CONFIG_AD7150 to fix FTBS on armel versatile + * [Config] disable CONFIG_RTL8192CE to fix FTBS on armel omap + * [Config] disable CONFIG_MANTIS_CORE to fix FTBS on armel versatile + + [ Kees Cook ] + + * SAUCE: kernel: make /proc/kallsyms mode 400 to reduce ease of attacking + + [ Stefan Bader ] + + * Temporarily disable RODATA for virtual i386 + - LP: #699828 + + [ Tim Gardner ] + + * [Config] CONFIG_NLS_DEFAULT=utf8 + - LP: #683690 + * [Config] CONFIG_HIBERNATION=n + * update bnx2 firmware files in d-i/firmware/nic-modules + + [ Upstream Kernel Changes ] + + * Revert "drm/radeon/bo: add some fallback placements for VRAM only + objects." + * packaging: make System.map mode 0600 + * thinkpad_acpi: Always report scancodes for hotkeys + - LP: #702407 + * sched: tg->se->load should be initialised to tg->shares + * Input: sysrq -- ensure sysrq_enabled and __sysrq_enabled are consistent + * brcm80211: include linux/slab.h for kfree + * pch_dma: add include/slab.h for kfree + * i2c-eg20t: include linux/slab.h for kfree + * gpio/ml_ioh_gpio: include linux/slab.h for kfree + * tty: include linux/slab.h for kfree + * winbond: include linux/delay.h for mdelay et al + + [ Upstream Kernel Changes ] + + * mark the start of v2.6.38 versioning + * rebase v2.6.37 to v2.6.38-rc2 + c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84 + - LP: #689886 + - LP: #702125 + - LP: #608775 + - LP: #215802 + - LP: #686333 + - LP: #677830 + - LP: #677652 + - LP: #696493 + - LP: #697240 + - LP: #689036 + - LP: #705323 + - LP: #686692 + + -- Andy Whitcroft Sun, 09 Jan 2011 13:44:52 +0000 + +linux (2.6.37-12.26) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.37-rc8 + * [Config] armel -- reenable omap flavour + * [Config] disable CONFIG_MACH_OMAP3517EVM to fix FTBS on armel omap + * [Config] disable CONFIG_GPIO_VX855 to fix FTBS on omap armel + * [Config] disable CONFIG_WESTBRIDGE_ASTORIA to fix FTBS on omap armel + * [Config] disable CONFIG_TI_DAVINCI_EMAC to fix FTBS on omap armel + * rebase to mainline 989d873fc5b6a96695b97738dea8d9f02a60f8ab + * [Config] track missing modules + * rebase to v2.6.37 final + + [ Chase Douglas ] + + * SAUCE: (drop after 2.6.37) HID: magicmouse: Don't report REL_{X, Y} for + Magic Trackpad + + [ Stefan Bader ] + + * Revert "SAUCE: blkfront: default to sd devices" + - LP: #684875 + + [ Tim Gardner ] + + * Revert "SAUCE: (no-up) libata: Ignore HPA by default." + - LP: #380138 + * [Config] Added autofs4.ko to -virtual flavour + - LP: #692917 + + [ Upstream Kernel Changes ] + + * Add support for Intellimouse Mode in ALPS touchpad on Dell E2 series + Laptops + - LP: #632884 + + [ Upstream Kernel Changes ] + + * rebase to v2.6.37-rc8 + * rebase to mainline 989d873fc5b6a96695b97738dea8d9f02a60f8ab + * rebase to v2.6.37 final + + -- Andy Whitcroft Thu, 23 Dec 2010 18:34:13 +0000 + +linux (2.6.37-11.25) natty; urgency=low + + [ Andy Whitcroft ] + + * [Config] d-i -- add hpsa to the list of block devices + - LP: #684304 + * [Config] add vmw-balloon driver to -virtual flavour + - LP: #592039 + * rebase to v2.6.37-rc7 + + [ Upstream Kernel Changes ] + + * rebase to v2.6.37-rc7 + + -- Andy Whitcroft Tue, 21 Dec 2010 13:35:28 +0000 + +linux (2.6.37-10.24) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.37-rc6 + * updateconfigs following rebase to v2.6.37-rc6 + + [ Upstream Kernel Changes ] + + * rebase to v2.6.37-rc6 + + -- Andy Whitcroft Thu, 16 Dec 2010 12:34:19 +0000 + +linux (2.6.37-9.23) natty; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: vt -- fix handoff numbering to 1..n and add range checks + - LP: #689606 + * SAUCE: vt -- fix handoff numbering to 1..n and add range checks (grub) + - LP: #689606 + + [ Kees Cook ] + + * SAUCE: RO/NX protection for loadable kernel, fix ftrace + - LP: #690190 + + -- Andy Whitcroft Wed, 15 Dec 2010 19:29:57 +0000 + +linux (2.6.37-9.22) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.35-rc5 + * [Config] updateconfigs following rebase to v2.6.37-rc5 + * (no-up) add support for installed header files to ubuntu directory + - LP: #684666 + * ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers + - LP: #684666 + * ubuntu: dm-raid4-5 -- follow changes to bio flags + * ubuntu: dm-raid4-5 -- re-enable + * ubuntu: omnibook -- update BOM + * ubuntu: ndiswrapper -- update BOM to match actual version + * ubuntu: ndiswrapper -- follow removal of the BKL and locked ioctl + * ubuntu: ndiswrapper -- re-enable + * ubuntu: iscsitarget -- re-instate copy_io_context + * ubuntu: iscsitarget -- follow changes to semaphore initialisation + * ubuntu: iscsitarget -- convert NIPQUAD to %pI4 + * ubuntu: iscsitarget -- re-enable + + [ Kees Cook ] + + * [Config] update config for CONFIG_DEBUG_SET_MODULE_RONX + + [ Manoj Iyer ] + + * SAUCE: Enable jack sense for Thinkpad Edge 13 + - LP: #685015 + + [ Tim Gardner ] + + * [Config] CONFIG_9P_FSCACHE=y,CONFIG_9P_FS_POSIX_ACL=y + * [Config] CONFIG_CRYPTO_CRC32C=y + - LP: #681819 + * [Config] CONFIG_9P_FSCACHE=n + * [Config] Add nfsd modules to -virtual flavour + - LP: #688070 + + [ Upstream Kernel Changes ] + + * Revert "Staging: zram: work around oops due to startup ordering snafu" + * NFS: Fix panic after nfs_umount() + - LP: #683938 + * x86: Add NX protection for kernel data + * x86: Add RO/NX protection for loadable kernel modules + * x86: Resume trampoline must be executable + * x86: RO/NX protection for loadable kernel, jump_table fix + + [ Upstream Kernel Changes ] + + * rebase to v2.6.37-rc5 + + -- Andy Whitcroft Thu, 09 Dec 2010 18:15:35 +0000 + +linux (2.6.37-8.21) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "ubuntu: AUFS -- include the aufs_types.h file in + linux-libc-headers" + * Revert "(no-up) add support for installed header files to ubuntu + directory" + + -- Andy Whitcroft Sun, 05 Dec 2010 17:33:28 +0000 + +linux (2.6.37-8.20) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "[Upstream] drivers/serial/mfd.c: Fix ARM compile error" + * Revert "SAUCE: Nouveau: Disable acceleration on MacBook Pros" + * Revert "SAUCE: Nouveau: Add quirk framework to disable acceleration" + * Revert "SAUCE: i915 -- disable powersave by default" + * SAUCE: enable Marvell 9128 PCIe SATA controller + - LP: #658521 + * [Config] evtchn has been renamed + * (no-up) add support for installed header files to ubuntu directory + - LP: #684666 + * ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers + - LP: #684666 + + [ Tim Gardner ] + + * [Config] MISS: evtchn, NEW : xen-evtchn + * rebase to v2.6.37-rc4 + + [ Upstream Kernel Changes ] + + * drm/i915: Clean conflicting modesetting registers upon init + - LP: #683775 + * rebase to v2.6.37-rc4 + + -- Andy Whitcroft Fri, 03 Dec 2010 18:42:07 +0000 + +linux (2.6.37-7.19) natty; urgency=low + + [ Tim Gardner ] + + * [Config] Add bnx2 firmware to nic-modules udeb + - LP: #676245 + + -- Andy Whitcroft Fri, 26 Nov 2010 17:53:45 +0000 + +linux (2.6.37-7.18) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "[Upstream] USB: option: Remove duplicate AMOI_VENDOR_ID" + * Revert "SAUCE: Add extra headers to linux-libc-dev" + * Revert "SAUCE: Enable speedstep for sonoma processors." + * [Config] enable CONFIG_BT_HCIUART_ATH3K + * [Config] enable CONFIG_IWLWIFI_DEBUGFS + * [Config] standardise CONFIG_MII + * [Config] standardise CONFIG_PRISM2_USB + * [Config] standardise CONFIG_SCSI_QLA_ISCSI + * [Config] build in CONFIG_AGP + * [Config] build in CONFIG_AGP_INTEL + * [Config] build in CONFIG_AGP_AMD + * [Config] build in CONFIG_AGP_AMD64 + * [Config] build in CONFIG_AGP_NVIDIA + * [Config] build in CONFIG_AGP_VIA + * [Config] disable CONFIG_SCSI_QLA_ISCSI for FTBS (arm) + * (no-up): document the new ## scheme + * [Config] harmonise CONFIG_SERIAL_8250_NR_UARTS + * [Config] update CONFIG_SERIAL_8250_RUNTIME_UARTS=32 + - LP: #675453 + + [ Mathieu J. Poirier ] + + * SAUCE: ARM: Adding vdd_sdi regulator supply to OMAP3EVM + + [ Upstream Kernel Changes ] + + * nx-emu: fix inverted report of disable_nx + + -- Andy Whitcroft Tue, 23 Nov 2010 21:00:39 +0000 + +linux (2.6.37-6.17) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "ubuntu: AUFS -- aufs2-standalone.patch + aufs2.1-36-UNRELEASED-20101103" + * Revert "ubuntu: AUFS -- aufs2-base.patch + aufs2.1-36-UNRELEASED-20101103" + * [Config] standardise CONFIG_BT + * [Config] standardise CONFIG_IRDA + * [Config] standardise CONFIG_LAPB + * [Config] standardise CONFIG_RDS + * [Config] standardise CONFIG_RFKILL + * [Config] standardise CONFIG_TIPC + * [Config] standardise CONFIG_X25 + * [Config] standardise CONFIG_INPUT_EVDEV + * [Config] standardise CONFIG_INPUT_JOYDEV + * [Config] standardise CONFIG_INPUT_JOYSTICK + * [Config] standardise CONFIG_INPUT_TOUCHSCREEN + * [Config] CONFIG_INPUT_TOUCHSCREEN=n for FTBS (arm) + * [Config] CONFIG_IRDA=n for FTBS (arm) + * ubuntu: AUFS -- aufs2-base.patch aufs2.1-37 + * ubuntu: AUFS -- aufs2-standalone.patch aufs2.1-37 + * ubuntu: AUFS -- update to 097bf62d6f49619359d34bf17f242df38562489a + + [ Tim Gardner ] + + * SAUCE: Fix drivers/staging/easycap FTBS + * [Config] CONFIG_EASYCAP=m after fixing FTBS + + [ Upstream Kernel Changes ] + + * Revert "x86: Add NX protection for kernel data" + + -- Andy Whitcroft Mon, 22 Nov 2010 18:09:10 +0000 + +linux (2.6.37-6.16) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "[Config] update config for CONFIG_DEBUG_SET_MODULE_RONX" + * rebase to v2.6.37-rc3 + + [ Tim Gardner ] + + * [Config] CONFIG_SCHED_AUTOGROUP=y + + [ Upstream Kernel Changes ] + + * Revert "x86: Add RO/NX protection for loadable kernel modules" + * sched: automated per session task groups + * rebase to v2.6.37-rc3 + + -- Andy Whitcroft Mon, 22 Nov 2010 10:11:13 +0000 + +linux (2.6.37-6.15) natty; urgency=low + + [ Andy Whitcroft ] + + * [Config] standardise CONFIG_CEPH_FS + * [Config] standardise CONFIG_SCSI_LPFC_DEBUG_FS + * [Config] standardise CONFIG_SCSI_PROC_FS + * [Config] standardise CONFIG_UBIFS_FS + * [Config] standardise CONFIG_USB_GADGET_DEBUG_FS + + [ Kees Cook ] + + * [Config] update config for CONFIG_DEBUG_SET_MODULE_RONX + + [ Manoj Iyer ] + + * SAUCE: Enable jack sense for Thinkpad Edge 11 + - LP: #677210 + * SAUCE: enable rfkill for rtl8192se driver + - LP: #640992 + + [ Tim Gardner ] + + * [Config] CONFIG_EASYCAP=n for FTBS + * Rebase to v2.6.32-rc2+git + + [ Upstream Kernel Changes ] + + * x86: Fix improper large page preservation + * x86: Add NX protection for kernel data + * x86: Add RO/NX protection for loadable kernel modules + + [ Upstream Kernel Changes ] + + * Rebase to Linus 2.6.37-rc2+git + + -- Andy Whitcroft Sat, 20 Nov 2010 11:40:00 +0000 + +linux (2.6.37-5.14) natty; urgency=low + + [ Upstream Kernel Changes ] + + * PCI: fix offset check for sysfs mmapped files + - LP: #676963 + + -- Andy Whitcroft Thu, 18 Nov 2010 18:12:27 +0000 + +linux (2.6.37-5.13) natty; urgency=low + + [ Andy Whitcroft ] + + * rebased to v2.6.37-rc2 + * updateconfigs following rebase to v2.6.37-rc2 + + [ Tim Gardner ] + + * [Config] Added NFS and related modules to virtual flavour + - LP: #659084 + + [ Upstream Kernel Changes ] + + * x86, cpu: Rename verify_cpu_64.S to verify_cpu.S + * x86, cpu: Clear XD_DISABLED flag on Intel to regain NX + * x86, cpu: Call verify_cpu during 32bit CPU startup + * x86, cpu: Only CPU features determine NX capabilities + + [ Upstream Changes ] + + * rebased to v2.67.37-rc2 + + -- Andy Whitcroft Tue, 16 Nov 2010 13:13:29 +0000 + +linux (2.6.37-4.12) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "[Upstream] HID: magicmouse: add param for scroll speed" + * Revert "[Upstream] HID: magicmouse: properly account for scroll + movement in state" + * Revert "[Upstream] HID: magicmouse: disable and add module param for + scroll acceleration" + * Revert "[Upstream] HID: magicmouse: scroll on entire surface, not just + middle of mouse" + + [ Henrik Rydberg ] + + * SAUCE: hid: ntrig: remove sysfs nodes + * SAUCE: hid: ntrig: Setup input filtering manually + * SAUCE: hid: ntrig: New ghost-filtering event logic + + [ Manoj Iyer ] + + * SAUCE: Added quirk to recognize GE0301 3G modem as an interface. + - LP: #348861 + + [ Upstream Kernel Changes ] + + * Revert "mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume" + * Revert "[ARM] implement arch_randomize_brk()" + * Revert "ARM: stack protector: change the canary value per task" + * Revert "ARM: initial stack protector (-fstack-protector) support" + * Revert "ALSA: hda - Handle pin NID 0x1a on ALC259/269" + * Revert "ALSA: hda - Handle missing NID 0x1b on ALC259 codec" + * Revert "perf probe: Add kernel source path option" + * hid: ntrig: Support single-touch devices + * hid: ntrig: Mask pen switch events + * net: rtnetlink.h -- only include linux/netdevice.h when used by the + kernel + - LP: #673073 + * Fix userspace build of linux/fs.h + + -- Andy Whitcroft Mon, 15 Nov 2010 19:31:44 +0000 + +linux (2.6.37-3.11) natty; urgency=low + + [ Andy Whitcroft ] + + * Revert "ubuntu: AUFS -- update to + b37c575759dc4535ccc03241c584ad5fe69e3b25" + * Revert "ubuntu: AUFS -- track changes to the arguements to fop fsync()" + * Revert "ubuntu: AUFS -- update to standalone 2.6.35-rcN as at 20100601" + * Revert "ubuntu: AUFS -- update to standalone 2.6.34 as at 20100601" + * Revert "ubuntu: AUFS -- aufs2 base patch for linux-2.6.34" + * [Config] Disable intel_idle for -virtual kernels + - LP: #651370 + * [Config] enforcer -- ensure we never enable CONFIG_IMA + * debian -- pass the correct flavour name when checking configs + * [Config] enforcer -- ensure CONFIG_INTEL_IDLE is off for -virtual + * [Config] ensure CONFIG_IPV6=y for powerpc + * [Config] enforcer -- ensure CONFIG_IPV6=y + * ubuntu: AUFS -- aufs2-base.patch aufs2.1-36-UNRELEASED-20101103 + * ubuntu: AUFS -- aufs2-standalone.patch aufs2.1-36-UNRELEASED-20101103 + * ubuntu: AUFS -- update to aufs2.1-36-UNRELEASED-20101103 + * ubuntu: AUFS -- re-enable + * ubuntu: AUFS -- track changes to work queue initialisation + * ubuntu: AUFS -- track changes to llseek in v2.6.37-rc1 + * SAUCE: fbcon -- fix race between open and removal of framebuffers + * SAUCE: fbcon -- fix OOPs triggered by race prevention fixes + - LP: #614008 + * SAUCE: drm -- stop early access to drm devices + + [ Jeremy Kerr ] + + * [Config] Build-in powermac ZILOG serial driver + - LP: #673346 + + [ Kees Cook ] + + * SAUCE: nx-emu: use upstream ASLR when possible + + [ Tim Gardner ] + + * [Config] Use correct be2iscsi module name in d-i/modules/scsi-modules + - LP: #628776 + + [ Upstream Kernel Changes ] + + * i386: NX emulation + * nx-emu: drop exec-shield sysctl, merge with disable_nx + * nx-emu: standardize boottime message prefix + * mmap randomization for executable mappings on 32-bit + * exec-randomization: brk away from exec rand area + + -- Andy Whitcroft Thu, 11 Nov 2010 23:46:37 +0000 + +linux (2.6.37-2.10) natty; urgency=low + + [ Andy Whitcroft ] + + * reinstate armel config changes: + * [Config] CONFIG_GPIO_PCH=n for armel FTBS + * [Config] CONFIG_GPIO_VX855=n for armel FTBS + + -- Andy Whitcroft Wed, 03 Nov 2010 22:20:35 +0000 + +linux (2.6.37-2.9) natty; urgency=low + + [ Andy Whitcroft ] + + * config -- fix genportsconfig + * [Config] move powerpc over from ports to distro + * bump master version number to match contained kernel + * SAUCE: fix documentation strings for struct input_keymap_entry + * usb: gadget: goku_udc: add registered flag bit + + -- Andy Whitcroft Tue, 02 Nov 2010 15:14:11 +0000 + +linux (2.6.36-2.8) natty; urgency=low + + [ Tim Gardner ] + + * [Config]: fix changed CONFIG_SYSFS_DEPRECATED_V2 enforcement rules + * [Config]: TWL4030_CORE=n for FTBS + * [Config]: CONFIG_ATH6K_LEGACY=n for FTBS + * [Config]: CONFIG_SOLO6X10=n for FTBS + * [Config]: CONFIG_GPIO_PCH=n for armel FTBS + * [Config]: CONFIG_GPIO_VX855=n for armel FTBS + * [Config]: CONFIG_DRM_NOUVEAU=n for armel FTBS + * [Config]: CONFIG_LINE6_USB=n for armel FTBS + * [Config]: CONFIG_SENSORS_AK8975=n for armel FTBS + * [Config]: CONFIG_I2C_I801=n for armel FTBS + * UBUNTU: SAUCE: AppArmor: Fix unpack of network tables. + * AppArmor: compatibility patch for v5 interface + * AppArmor: compatibility patch for v5 network controll + * Dropped (pre-stable): input: Support Clickpad devices in ClickZone mode + * Dropped: UBUNTU: SAUCE: libata: Add ALPM power state accounting to the AHCI driver + * Dropped: UBUNTU: SAUCE: Added quirk to recognize GE0301 3G modem as an interface. + * Dropped: hid: 3m: Convert to MT slots + * Dropped: HID: magicmouse: don't allow hidinput to initialize the device + * Dropped: HID: magicmouse: simplify touch data bit manipulation + * Dropped: HID: magicmouse: simplify touch down logic + * Dropped: HID: magicmouse: enable Magic Trackpad support + * Dropped: UBUNTU: SAUCE: hid: ntrig: remove sysfs nodes + * Dropped: UBUNTU: SAUCE: hid: ntrig: Setup input filtering manually + * Dropped: UBUNTU: SAUCE: hid: ntrig: New ghost-filtering event logic + * Dropped: UBUNTU: SAUCE: hid: ntrig: identify firmware version (wiggled) + * Dropped: UBUNTU: (pre-stable): input: Support Clickpad devices in ClickZone mode + * Dropped: UBUNTU: SAUCE: KMS: cache the EDID information of the LVDS + * Dropped: UBUNTU: SAUCE: fbcon -- fix race between open and removal of framebuffers + * Dropped: UBUNTU: SAUCE: fbcon -- fix OOPs triggered by race prevention fixes + * Dropped: UBUNTU: SAUCE: x86: implement cs-limit nx-emulation for ia32 + * Dropped: UBUNTU: SAUCE: x86: more tightly confine cs-limit nx-emulation to ia32 only + * Dropped: UBUNTU: SAUCE: [um] Don't use nx_enabled under UML + * Dropped: UBUNTU: SAUCE: x86: brk away from exec rand area + + [ Upstream Kernel Changes ] + + * rebased against 2.6.27-rc1 + + -- Tim Gardner Fri, 22 Oct 2010 19:35:05 -0600 + +linux (2.6.36-1.7) natty; urgency=low + + [ Andy Whitcroft ] + + * rebased to v2.6.36 final + * [Config] update configs following rebase to v2.6.36 final + * [Config] update ports configs following rebase to v2.6.36 final + + [ Upstream Kernel Changes ] + + * rebased to v2.6.36 final + + -- Andy Whitcroft Thu, 21 Oct 2010 14:28:57 +0100 + +linux (2.6.36-1.6) natty; urgency=low + + [ Upstream Kernel Changes ] + + * drop broadcom staging driver preview: + * Revert "Staging: Add initial release of brcm80211 - Broadcom 802.11n + wireless LAN driver." + + -- Andy Whitcroft Wed, 20 Oct 2010 10:41:25 +0100 + +linux (2.6.36-1.5) natty; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.36-rc8 + * updateconfigs following rebase to v2.6.36-rc8 + * updateportsconfigs following rebase to v2.6.36-rc8 + * config -- simplify the kernelconfig interface + * config -- add new config mode 'dumpconfigs' + + [ Tim Gardner ] + + * Simplify the use of CROSS_COMPILER + + [ Upstream Kernel Changes ] + + * drop broadcom staging driver preview: + * Revert "staging: brcm80211: Make compiling of brcm80211.ko and + brcmfmac.ko mutually exclusive." + * Revert "staging: brcm80211: Fix compile issue when BRCM80211_PCI is not + set." + * Revert "Staging: brcm80211: remove driver specific -W options" + * Revert "Staging: brcm80211: clean up makefile cflag lines" + * Revert "staging: brcm80211: add fullmac driver" + * Revert "staging: brcm80211: use string native library" + * Revert "staging: brcm80211: use native ctype library" + * Revert "staging: brcm80211: fix remaining checkpatch errors." + * Revert "staging: brcm80211: fix "ERROR: trailing whitespace."" + * Revert "staging: brcm80211: fix "ERROR: spaces required around that + ..."" + * Revert "staging: brcm80211: fix "ERROR: spaces prohibited around that + ':' ..."" + * Revert "staging: brcm80211: fix "ERROR: space required before that + ..."" + * Revert "staging: brcm80211: fix "ERROR: space required after that ..."" + * Revert "staging: brcm80211: fix "ERROR: space required after that close + brace"" + * Revert "staging: brcm80211: fix "ERROR: space prohibited before + ...close square bracket"" + * Revert "staging: brcm80211: fix "ERROR: space prohibited after that + ..."" + * Revert "staging: brcm80211: fix "ERROR: need consistent spacing around + '*'"" + * Revert "staging: brcm80211: fix 'ERROR: "(foo*)" should be "(foo *)"'" + * Revert "staging: brcm80211: fix "ERROR: Macros w/ mult. statements ... + do - while loop"" + * Revert "staging: brcm80211: fix "ERROR: Macros w/ complex values ... + parenthesis"" + * Revert "staging: brcm80211: fix "ERROR: do not initialise statics to 0 + or NULL"" + * Revert "staging: brcm80211: fix "ERROR: do not initialise globals to 0 + or NULL"" + * Revert "staging: brcm80211: fix "ERROR: while should follow close brace + '}'"" + * Revert "staging: brcm80211: fix "ERROR: that open brace { ... prev + line"" + * Revert "staging: brcm80211: fix "ERROR: trailing statements should be + on next line"" + * Revert "staging: brcm80211: fix "ERROR: do not use assignment in if + condition"" + * Revert "staging: brcm80211: fix "ERROR: return is not a function, + paren..."" + * Revert "staging: brcm80211: fix "ERROR: open brace '{' following + function dec..."" + * Revert "staging: brcm80211: fix 'ERROR: "foo * bar" should be "foo + *bar"'" + * Revert "staging: brcm80211: Fix URLs for firmware files." + * Revert "staging: brcm80211: use '%pM' format to print MAC address" + * Revert "staging: brcm80211: Add contact info to TODO list." + * Revert "staging: brcm80211: Fix some initialisation failure paths" + * Export dump_{write,seek} to binary loader modules + * rebase to v2.6.36-rc8. + + -- Andy Whitcroft Tue, 19 Oct 2010 18:58:11 +0100 + +linux (2.6.36-0.4) natty; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: perf: increase stack footprint to avoid stack-protector warning + (fixes FTBS on powerpc) + + -- Andy Whitcroft Thu, 14 Oct 2010 13:16:16 +0100 + +linux (2.6.36-0.3) natty; urgency=low + + [ Andy Whitcroft ] + + * [Config] disable CONFIG_SCSI_QLA_ISCSI to fix FTBS on powerpc + + -- Andy Whitcroft Thu, 14 Oct 2010 03:01:30 +0100 + +linux (2.6.36-0.2) natty; urgency=low + + [ Andy Whitcroft ] + + * [Config] updateportsconfigs following rebase to 2.6.36-rc7 + (fix FTBS on powerpc) + + -- Andy Whitcroft Wed, 13 Oct 2010 23:25:12 +0100 + +linux (2.6.36-0.1) natty; urgency=low + + [ Andy Whitcroft ] + + * reduce disk usage during buildd builds + - LP: #645653 + * [Config] enforcer -- ensure CONFIG_INIT_PASS_ALL_PARAMS is y + * [Config] armel -- drop omap flavour + + [ Tim Gardner ] + + * Added dropped patch list + * more dropped patches + * [Config] Disable aufs, dmraid-4.5, ndis-wrapper + * [Config] Add support for cross compiling armel + * [Config] CONFIG_SCSI_QLA_ISCSI=n for armel + * [Upstream] drivers/serial/mfd.c: Fix ARM compile error + * [Config]: updateconfigs after adding brcm80211 + * staging: brcm80211: Fix Makefile syntax error + * rebased to v2.6.36-rc7 + + [ Upstream Kernel Changes ] + + * (upstream) IPS driver: don't toggle CPU turbo on unsupported CPUs + * (upstream) IPS driver: verify BIOS provided limits + * intel_ips: Print MCP limit exceeded values. + * Staging: Add initial release of brcm80211 - Broadcom 802.11n wireless + LAN driver. + * staging: brcm80211: Fix some initialisation failure paths + * staging: brcm80211: Add contact info to TODO list. + * staging: brcm80211: use '%pM' format to print MAC address + * staging: brcm80211: Fix URLs for firmware files. + * staging: brcm80211: fix 'ERROR: "foo * bar" should be "foo *bar"' + * staging: brcm80211: fix "ERROR: open brace '{' following function + dec..." + * staging: brcm80211: fix "ERROR: return is not a function, paren..." + * staging: brcm80211: fix "ERROR: do not use assignment in if condition" + * staging: brcm80211: fix "ERROR: trailing statements should be on next + line" + * staging: brcm80211: fix "ERROR: that open brace { ... prev line" + * staging: brcm80211: fix "ERROR: while should follow close brace '}'" + * staging: brcm80211: fix "ERROR: do not initialise globals to 0 or NULL" + * staging: brcm80211: fix "ERROR: do not initialise statics to 0 or NULL" + * staging: brcm80211: fix "ERROR: Macros w/ complex values ... + parenthesis" + * staging: brcm80211: fix "ERROR: Macros w/ mult. statements ... do - + while loop" + * staging: brcm80211: fix 'ERROR: "(foo*)" should be "(foo *)"' + * staging: brcm80211: fix "ERROR: need consistent spacing around '*'" + * staging: brcm80211: fix "ERROR: space prohibited after that ..." + * staging: brcm80211: fix "ERROR: space prohibited before ...close square + bracket" + * staging: brcm80211: fix "ERROR: space required after that close brace" + * staging: brcm80211: fix "ERROR: space required after that ..." + * staging: brcm80211: fix "ERROR: space required before that ..." + * staging: brcm80211: fix "ERROR: spaces prohibited around that ':' ..." + * staging: brcm80211: fix "ERROR: spaces required around that ..." + * staging: brcm80211: fix "ERROR: trailing whitespace." + * staging: brcm80211: fix remaining checkpatch errors. + * staging: brcm80211: use native ctype library + * staging: brcm80211: use string native library + * staging: brcm80211: add fullmac driver + * Staging: brcm80211: clean up makefile cflag lines + * Staging: brcm80211: remove driver specific -W options + * staging: brcm80211: Fix compile issue when BRCM80211_PCI is not set. + * staging: brcm80211: Make compiling of brcm80211.ko and brcmfmac.ko + mutually exclusive. + + -- Andy Whitcroft Tue, 12 Oct 2010 16:00:27 +0100 + +linux (2.6.35-22.33) maverick; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: Add support for Intellimouse Mode in ALPS touchpad on + Dell E2 series Laptops" + - LP: #641320 + + [ Brian Rogers ] + + * SAUCE: ir-core: Fix null dereferences in the protocols sysfs interface + - LP: #624701 + + [ Christopher James Halse Rogers ] + + * SAUCE: Nouveau: Add quirk framework to disable acceleration + - LP: #544088, #546393 + * SAUCE: Nouveau: Disable acceleration on MacBook Pros + - LP: #546393 + + [ John Johansen ] + + * Revert "SAUCE: AppArmor: allow newer tools to load policy on older + kernels" + * SAUCE: AppArmor: allow newer tools to load policy on older kernels + - LP: #639758 + + [ Mathieu J. Poirier ] + + * SAUCE: Adding vdd_sdi regulator supply to OMAP3EVM + + [ Upstream Kernel Changes ] + + * ALSA: HDA: Enable internal speaker on Dell M101z + - LP: #640254 + + -- Leann Ogasawara Fri, 17 Sep 2010 13:21:28 -0700 + +linux (2.6.35-22.32) maverick; urgency=low + + [ Arjan van de Ven ] + + * SAUCE: libata: Add ALPM power state accounting to the AHCI driver + + [ David Henningsson ] + + * SAUCE: ALSA: HDA: Enable internal mic on Dell E6410 and Dell E6510 + - LP: #605047, #628961 + + [ John Johansen ] + + * [Upstream] AppArmor: Fix splitting an fqname into separate namespace + and profile names + - LP: #615947 + * [Upstream] AppArmor: Fix locking from removal of profile namespace + - LP: #615947 + * SAUCE: AppArmor: allow newer tools to load policy on older kernels + - LP: #639758 + * SAUCE: Improve Amazon EBS performance for EC2 + - LP: #634316 + + [ Leann Ogasawara ] + + * Revert "SAUCE: i915 KMS -- blacklist i855" + * Revert "SAUCE: i915 KMS -- blacklist i845g" + * Revert "SAUCE: i915 KMS -- blacklist i830" + * Revert "SAUCE: i915 KMS -- support disabling KMS for known broken + devices" + * execute module-inclusion within a subshell + - LP: #621175 + + [ Upstream Kernel Changes ] + + * (pre-stable) bounce: call flush_dcache_page() after bounce_copy_vec() + - LP: #633227 + * (pre-stable) drm/i915: don't enable self-refresh on Ironlake + - LP: #629711 + * (pre-stable) mm: Move vma_stack_continue into mm.h + * x86, hwmon: Fix unsafe smp_processor_id() in thermal_throttle_add_dev + - LP: #601073 + * PM / Runtime: Make runtime_status attribute not debug-only (v. 2) + * PM / Runtime: Add runtime PM statistics (v3) + * compat: Make compat_alloc_user_space() incorporate the access_ok() + - CVE-2010-3081 + * x86-64, compat: Test %rax for the syscall number, not %eax + - CVE-2010-3301 + * x86-64, compat: Retruncate rax after ia32 syscall entry tracing + - CVE-2010-3301 + + -- Leann Ogasawara Tue, 14 Sep 2010 08:46:49 -0700 + +linux (2.6.35-21.31) maverick; urgency=low + + [ Andy Whitcroft ] + + * bodge linux-libc-dev package version due to ti-omap4 error + * linux-libc-dev -- ensure we can only build this on debian.master + + -- Leann Ogasawara Mon, 13 Sep 2010 09:54:31 -0700 + +linux (2.6.35-21.30) maverick; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: fbcon -- fix OOPs triggered by race prevention fixes + - LP: #614008 + + [ Daniel Lezcano ] + + * SAUCE: fix compilation warning when CONFIG_SECURITY is not set + + [ Henrik Rydberg ] + + * SAUCE: Input: wacom - add fuzz parameters to features + * SAUCE: Input: wacom - collect device quirks into single function + * SAUCE: Input: wacom - add support for the Bamboo Touch trackpad + * SAUCE: Input: wacom - add a quirk for low resolution Bamboo devices + * SAUCE: hid: ntrig: Remove unused device ids + * SAUCE: hid: ntrig: remove sysfs nodes + * SAUCE: hid: ntrig: Correct logic for quirks + * SAUCE: hid: ntrig: zero-initialize ntrig struct + * SAUCE: hid: ntrig: Setup input filtering manually + * SAUCE: hid: ntrig: New ghost-filtering event logic + + [ Leann Ogasawara ] + + * SAUCE: ndiswrapper: Initialize buffer index and check its value + - LP: #613796 + + [ Manoj Iyer ] + + * SAUCE: Add support for Intellimouse Mode in ALPS touchpad on Dell E2 + series Laptops + - LP: #632884 + + [ Ping Cheng ] + + * SAUCE: Input: wacom - parse the Bamboo device family + + [ Rafi Rubin ] + + * SAUCE: hid: ntrig: identify firmware version (wiggled) + + [ Tim Gardner ] + + * [Config] CONFIG_NL80211_TESTMODE=n + + [ Upstream Kernel Changes ] + + * Revert "input: mt: Add support for the Bamboo Touch trackpad" + * e1000e: initial support for 82579 LOMs + * e1000e: correct MAC-PHY interconnect register offset for 82579 + * (pre-stable) ALSA: hda - Add a new hp-laptop model for Conexant 5066, + tested on HP G60 + - LP: #587388 + * DSS2: Don't power off a panel twice + - LP: #588243 + * mmc: build fix: mmc_pm_notify is only available with CONFIG_PM=y + * Input: i8042 - reset keyboard controller wehen resuming from S2R + - LP: #86820 + * ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs + - LP: #414795 + * agp/intel: Support the extended physical addressing bits on + Sandybridge. + - LP: #632488 + * drm/i915,intel_agp: Add support for Sandybridge D0 + - LP: #632488 + * (pre-stable) intel_agp,i915: Add more sandybridge graphics device ids + - LP: #632488 + * mmc: omap: fix for bus width which improves SD card's peformance. + + -- Leann Ogasawara Tue, 07 Sep 2010 09:58:52 -0700 + +linux (2.6.35-20.29) maverick; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: i915 KMS -- support disabling KMS for known broken devices + - LP: #563277 + * SAUCE: i915 KMS -- blacklist i830 + - LP: #542208, #563277 + * SAUCE: i915 KMS -- blacklist i845g + - LP: #541492, #563277 + * SAUCE: i915 KMS -- blacklist i855 + - LP: #511001, #541511, #563277 + + [ Leann Ogasawara ] + + * [Config] Enable CONFIG_SENSORS_PKGTEMP=m + - LP: #601073 + * ARM: Temporarily disable module check for armel + * rebase to v2.6.35.4 + * [Config] update configs following rebase to v2.6.35.4 + + [ Ricardo Salveti de Araujo ] + + * [Config] Change CONFIG_LEDS_TRIGGER_HEARTBEAT from module to built-in + in Omap + + [ Tim Gardner ] + + * [Config] Added be2net, be2scsi to udebs + - LP: #628776 + + [ Upstream Kernel Changes ] + + * x86, cpu: Package Level Thermal Control, Power Limit Notification + definitions + - LP: #601073 + * x86, hwmon: Package Level Thermal/Power: pkgtemp hwmon driver + - LP: #601073 + * x86, hwmon: Package Level Thermal/Power: thermal throttling handler + - LP: #601073 + * x86, hwmon: Package Level Thermal/Power: power limit + - LP: #601073 + * x86, hwmon: Package Level Thermal/Power: pkgtemp documentation + - LP: #601073 + * hid: 3m: Adjust to sequential MT HID protocol + * hid: 3m: Convert to MT slots + * hid: 3m: Correct touchscreen emulation + * hid: 3m: Adjust major / minor axes to scale + * input: bcm5974: Adjust major / minor to scale + * HID: magicmouse: don't allow hidinput to initialize the device + * HID: magicmouse: simplify multitouch feature request + * HID: magicmouse: simplify touch data bit manipulation + * HID: magicmouse: simplify touch down logic + * HID: magicmouse: remove timestamp logic + * HID: magicmouse: enable Magic Trackpad support + * HID: magicmouse: Adjust major / minor axes to scale + * mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume + - LP: #477106 + * drm/i915: fix VGA plane disable for Ironlake+ + - LP: #602281 + + -- Leann Ogasawara Mon, 30 Aug 2010 08:38:01 -0700 + +linux (2.6.35-19.28) maverick; urgency=low + + [ Leann Ogasawara ] + + * No changes from 2.6.35-19.27. Some armel udebs were accidentally deleted + from the archive and a no-change rebuild was attempted. However, the ABI + did not get bumped and resulted in build failures for 2.6.35-19.27. Fix + up the ABI and re-upload. + + -- Leann Ogasawara Sat, 28 Aug 2010 16:42:27 -0700 + +linux (2.6.35-19.27) maverick; urgency=low + + [ Leann Ogasawara ] + + * No changes from 2.6.35-19.26. Some armel udebs were accidentally deleted + from the archive. + + -- Leann Ogasawara Fri, 27 Aug 2010 08:58:35 -0700 + +linux (2.6.35-19.26) maverick; urgency=low + + [ Upstream Kernel Changes ] + + * ARM: OMAP: Beagle: revision detection + * ARM: OMAP: Beagle: only Cx boards use pin 23 for write protect + * ARM: OMAP: Beagle: no gpio_wp pin connection on xM + + -- Leann Ogasawara Thu, 26 Aug 2010 09:15:09 -0700 + +linux (2.6.35-19.25) maverick; urgency=low + + [ Jarod Wilson ] + + * SAUCE: Bring in staging/lirc from 2.6.36 + - LP: #609234 + * SAUCE: Update ir-core to linuxtv/other which should be merged for + 2.6.36. + - LP: #609234 + * SAUCE: Fix memleaks in imon and mceusb drivers + - LP: #609234 + * SAUCE: Bring in streamzap support from linuxtv/other + - LP: #609234 + + [ Mario Limonciello ] + + * Remove ubuntu/lirc in favor of staging/lirc from 2.6.36 + - LP: #609234 + + [ Mathieu J. Poirier ] + + * SAUCE: ARM: adding i2c eeprom driver to read EDID + - LP: #608279 + + [ Upstream Kernel Changes ] + + * intel_idle: disable module support + - LP: #615265 + * (pre-stable) ALSA: hda - Ensure codec patch files are checked for the + correct codec ID + * (pre-stable) ALSA: hda - Rename iMic to Int Mic on Lenovo NB0763 + - LP: #605101 + * (pre-stable) ALSA: HDA: Use model=auto for LG R510 + - LP: #495134 + * (pre-stable) ALSA: HDA: Add Sony VAIO quirk for ALC269 + - LP: #519066 + * (pre-stable) ALSA: HDA: Fix front mic on Dell Precision M6500 + - LP: #519066 + * input: mt: Initialize slots to unused (rev2) + * input: mt: Add support for the Bamboo Touch trackpad + * hid: Add a hid quirk for input sync override + + -- Leann Ogasawara Mon, 23 Aug 2010 12:42:52 -0700 + +linux (2.6.35-18.24) maverick; urgency=low + + [ Colin Watson ] + + * Pass DEB_MAINT_PARAMS to hook scripts + + [ Leann Ogasawara ] + + * [Config] Add CONFIG_INPUT_UINPUT=y to config enforcer + - LP: #584812 + * rebase to v2.6.35.3 + + [ Upstream Kernel Changes ] + + * (pre-stable) dell-wmi: Add support for eject key on Dell Studio 1555 + - LP: #609234 + * can: add limit for nframes and clean up signed/unsigned variables + - CVE-2010-2959 + * drm: Initialize ioctl struct when no user data is present + - CVE-2010-2803 + * ARM: initial stack protector (-fstack-protector) support + * ARM: stack protector: change the canary value per task + * [ARM] implement arch_randomize_brk() + * [ARM] add address randomization to mmap() + * ARM: fix ASLR of PIE executables + + -- Leann Ogasawara Sun, 22 Aug 2010 19:22:04 -0700 + +linux (2.6.35-17.23) maverick; urgency=low + + [ Jeremy Kerr ] + + * [Config] build-in uinput module + - LP: #584812 + + [ Leann Ogasawara ] + + * Revert "[Config] [FTBS] ia64: Temporarily disable CONFIG_CEPH_FS" + * Revert "[Config] [FTBS] ia64: Temporarily disable gpiolib" + * Revert "[Config] [FTBS] sparc: Temporarily disable + CONFIG_MTD_NAND_DENALI" + * Revert "[Config] [FTBS] sparc: Temporarily disable + CONFIG_MFD_JANZ_CMODIO" + * Revert "[Config] [FTBS] sparc: Temporarily disable + CONFIG_INFINIBAND_QIB" + * [Config] Enable INTEL_IPS + - LP: #601057 + * Remove ia64 support + * [Config] Update portsconfigs after removing ia64 support + * Remove sparc support + * [Config] Update portsconfigs after removing sparc support + + [ Linus Torvalds ] + + * (pre-stable) mm: fix page table unmap for stack guard page properly + + [ Mathieu J. Poirier ] + + * SAUCE: (no-up) ARM: Resetting power_mode to its original value. + - LP: #591941 + + [ Upstream Kernel Changes ] + + * timer: add on-stack deferrable timer interfaces + - LP: #601057 + * x86 platform driver: intelligent power sharing driver + - LP: #601057 + * IPS driver: add GPU busy and turbo checking + - LP: #601057 + * X86: intel_ips, check for kzalloc properly + - LP: #601057 + * ips driver: make it less chatty + - LP: #601057 + + -- Leann Ogasawara Tue, 17 Aug 2010 09:38:08 -0700 + +linux (2.6.35-16.22) maverick; urgency=low + + [ Andy Whitcroft ] + + * debian -- more agressivly clean up after depmod on purge + - LP: #618591 + + [ Henrik Rydberg ] + + * SAUCE: hid: 3m: Simplify touchsreen emulation logic + + [ Leann Ogasawara ] + + * ubuntu: iscsitarget -- version 1.4.20.2 + * ubuntu: rtl8192se -- update to version 0017.0507.2010 + * rebase to v2.6.35.2 + * [Config] update configs following rebase to v2.6.35.2 + * [Config] update ports configs following rebase to v2.6.35.2 + + [ Luke Yelavich ] + + * [Config] Enable new firewire stack on powerpc + + [ Mathieu J. Poirier ] + + * SAUCE: (drop after 2.6.35) ARM: Using gpmc function to init nand flash. + - LP: #608266 + + -- Leann Ogasawara Thu, 12 Aug 2010 09:58:01 -0700 + +linux (2.6.35-15.21) maverick; urgency=low + + [ Luke Yelavich ] + + * [Config] CONFIG_SND_USB_UA101=m for all architectures + + [ Upstream Kernel Changes ] + + * Input: introduce MT event slots + * Input: document the MT event slot protocol + * (pre-stable) sched: Revert nohz_ratelimit() for now + * (pre-stable) drm/radeon/kms: add missing copy from user + - LP: #606081 + + [ Leann Ogasawara ] + + * rebase to v2.6.35.1 + + -- Leann Ogasawara Mon, 09 Aug 2010 09:24:04 -0700 + +linux (2.6.35-14.20) maverick; urgency=low + + [ Andy Whitcroft ] + + * update Vcs-Git to point to maverick repo + * debian -- include the debian packaging in the -source package + - LP: #608674 + * select debian source format 1.0 + * add support for building selected stages of kernel + - LP: #603087 + * cleanup conditional dependancy handling + - LP: #603087 + + [ Upstream Kernel Changes ] + + * ALSA: hda - Handle missing NID 0x1b on ALC259 codec + - LP: #582199, #586418, #588031 + * ALSA: hda - Handle pin NID 0x1a on ALC259/269 + - LP: #582199, #586418, #588031 + * sched: Revert nohz_ratelimit() for now + + -- Leann Ogasawara Tue, 03 Aug 2010 08:46:47 -0700 + +linux (2.6.35-14.19) maverick; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.35 + + -- Leann Ogasawara Sun, 01 Aug 2010 10:35:56 -0700 + +linux (2.6.35-13.18) maverick; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: (no-up) Modularize vesafb -- fix initialisation + * SAUCE: add tracing for user initiated readahead requests + * SAUCE: vt -- maintain bootloader screen mode and content until vt + switch + * SAUCE: vt -- allow grub to request automatic vt_handoff + * SAUCE: fbcon -- fix race between open and removal of framebuffers + * SAUCE: drm -- stop early access to drm devices + + [ Bryan Wu ] + + * CONFIG: compile in OTG driver and Transceiver driver + - LP: #566645 + * remove OTG modules from modules list file + + [ John Johansen ] + + * SAUCE: AppArmor: -- sync to AppArmor mainline 2010-07-27 + - LP: #581525, #599450 + * SAUCE: AppArmor: -- sync to AppArmor mainline 2010-07-29 + * SAUCE: AppArmor 2.4 compatibility patch + * SAUCE: AppArmor: Allow dfa backward compatibility with broken userspace + * SAUCE: fix pv-ops for legacy Xen + * SAUCE: blkfront: default to sd devices + * [Config] Build in drivers required for Xen pv-ops + + [ Leann Ogasawara ] + + * Revert "[Upstream] i915: Use the correct mask to detect i830 aperture + size." + + [ Lee Jones ] + + * SAUCE: ARM: OMAP: Add macros for comparing silicon revision + - LP: #608095 + * SAUCE: OMAP: DSS2: check for both cpu type and revision, rather than + just revision + - LP: #608095 + * SAUCE: OMAP: DSS2: enable hsclk in dsi_pll_init for OMAP36XX + - LP: #608095 + * SAUCE: ARM: OMAP: Beagle: support twl gpio differences on xM + - LP: #608095 + + [ Upstream Kernel Changes ] + + * agp/intel: Use the correct mask to detect i830 aperture size. + - LP: #597075 + + -- Leann Ogasawara Fri, 30 Jul 2010 15:46:59 -0700 + +linux (2.6.35-12.17) maverick; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.35-rc6 + * [Config] update configs following rebase to v2.6.35-rc6 + * [Config] update ports configs following rebase to v2.6.35-rc6 + * SAUCE: [FTBS] armel: define KEY_F10 and KEYF11 + + [ Leann Ogasawara ] + + * rebase to v2.6.35-rc6 + + -- Leann Ogasawara Fri, 23 Jul 2010 16:16:38 +0200 + +linux (2.6.35-11.16) maverick; urgency=low + + [ Leann Ogasawara ] + + * Bump ABI for new compiler update + + -- Leann Ogasawara Fri, 23 Jul 2010 10:24:58 +0200 + +linux (2.6.35-10.15) maverick; urgency=low + + [ Leann Ogasawara ] + + * Revert "SAUCE: ensure vga16fb loads if no other driver claims the VGA + device" + * [Config] Enable CONFIG_M686=y + - LP: #592495 + + [ Upstream Kernel Changes ] + + * tracing: Add alignment to syscall metadata declarations + + -- Leann Ogasawara Tue, 20 Jul 2010 18:18:49 +0200 + +linux (2.6.35-9.14) maverick; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: AUFS -- add BOM and automated update script + * ubuntu: AUFS -- update to b37c575759dc4535ccc03241c584ad5fe69e3b25 + + [ John Johansen ] + + * [Config] Enable DRBD as a module + + [ Kees Cook ] + + * SAUCE: Yama: verify inode is symlink to avoid bind mounts + - LP: #604407 + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_DRM_VMWGFX (staging driver) + - LP: #606139 + * [Config] ports: Disable CONFIG_DRM_VMWGFX (staging driver) + - LP: #606139 + * [Config] Enable CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y + * [Config] ports: Enable CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y + + [ Lee Jones ] + + * Stop ARM boards crashing when CUPS is loaded + - LP: #601226 + + [ Upstream Kernel Changes ] + + * perf probe: Support tracing an entry of array + * perf probe: Support static and global variables + + -- Leann Ogasawara Fri, 16 Jul 2010 14:38:17 -0700 + +linux (2.6.35-8.13) maverick; urgency=low + + [ Kees Cook ] + + * SAUCE: Yama: check PTRACE using thread group leader + * SAUCE: Yama: search for PTRACE exceptions via thread group leader + - LP: #603716 + + [ Leann Ogasawara ] + + * rebase to v2.6.35-rc5 + * [Config] update configs following rebase to v2.6.35-rc5 + + [ Nicolas Pitre ] + + * SAUCE: make ndiswrapper available on X86 only + + [ Tim Gardner ] + + * [Config] Added ums-cypress to udeb + - LP: #576066 + * SAUCE: fix build error with CONFIG_BLK_DEV_INITRD=n + * [Config] CONFIG_NDISWRAPPER=m across all configs + + [ Upstream Kernel Changes ] + + * HID: magicmouse: report last touch up + * rebase to 2.6.35-rc5 + + -- Leann Ogasawara Tue, 13 Jul 2010 18:57:59 -0700 + +linux (2.6.35-7.12) maverick; urgency=low + + [ Tim Gardner ] + + * [Upstream] i915: Use the correct mask to detect i830 aperture size. + - LP: #597075 + + [ Upstream Kernel Changes ] + + * (drop after 2.6.35) drm/radeon/kms: add ioport register access + (squashed) + + -- Tim Gardner Thu, 08 Jul 2010 09:53:13 -0600 + +linux (2.6.35-7.11) maverick; urgency=low + + [ Tim Gardner ] + + * [Config] CONFIG_X86_MRST=n + + [ Upstream Kernel Changes ] + + * (drop after 2.6.35-rc5) writeback: remove writeback_inodes_wbc + * (drop after 2.6.35-rc5) writeback: split writeback_inodes_wb + * (drop after 2.6.35-rc5) writeback: simplify the write back thread queue + + -- Tim Gardner Tue, 06 Jul 2010 18:39:08 -0600 + +linux (2.6.35-7.10) maverick; urgency=low + + [ Kees Cook ] + + * SAUCE: security: create task_free security callback + * SAUCE: Yama: add PTRACE exception tracking and interface + * SAUCE: security: unconditionally chain to Yama LSM + * Revert "SAUCE: ptrace: restrict ptrace scope to children" + * Revert "SAUCE: fs: block hardlinks to non-accessible sources" + * Revert "SAUCE: fs: block cross-uid sticky symlinks" + * [Upstream] security: Yama LSM + * [Config] Enable CONFIG_SECURITY_YAMA=y + + [ Tim Gardner ] + + * [Config] updateconfigs/updateportsconfigs after rebase to 2.6.35-rc4 + + [ Upstream Kernel Changes ] + + * rebase to 2.6.35-rc4 + + -- Leann Ogasawara Thu, 01 Jul 2010 08:55:57 -0700 + +linux (2.6.35-6.9) maverick; urgency=low + + [ Tim Gardner ] + + * [Upstream] direct_splice_actor() should not use pos in sd + - LP: #588861 + + -- Leann Ogasawara Mon, 28 Jun 2010 12:35:49 -0700 + +linux (2.6.35-6.8) maverick; urgency=low + + [ Mathieu J. Poirier ] + + * ARM: Adding regulator supply for vdds_sdi. + - LP: #597904 + + -- Leann Ogasawara Sun, 27 Jun 2010 16:34:43 -0700 + +linux (2.6.35-6.7) maverick; urgency=low + + [ Alberto Milone ] + + * [Upstream] Add support for the ATIF ACPI method to the radeon driver + + [ Chase Douglas ] + + * [Upstream] HID: magicmouse: scroll on entire surface, not just middle + of mouse + * [Upstream] HID: magicmouse: disable and add module param for scroll + acceleration + * [Upstream] HID: magicmouse: properly account for scroll movement in + state + * [Upstream] HID: magicmouse: add param for scroll speed + * [Upstream] HID: magicmouse: enable horizontal scrolling + + [ Henrik Rydberg ] + + * [Upstream] Input: evdev - convert to dynamic event buffer + * [Upstream] Input: evdev - use driver hint to compute size of event + buffer + * [Upstream] Input: bcm5974 - set the average number of events per MT + event packet + * [Upstream] Input: hid-input - use a larger event buffer for MT devices + * [Upstream] Input: evdev - never leave the client buffer empty after + write + + [ John Johansen ] + + * SAUCE: AppArmor: -- mainline 2010-06-23 + * SAUCE: AppArmor 2.4 compatibility patch + * SAUCE: fs: block hardlinks to non-accessible sources AppArmor portion + + [ Leann Ogasawara ] + + * [Config] Enable CONFIG_INTR_REMAP=y + - LP: #597091 + * [Config] Enable CONFIG_X86_X2APIC + - LP: #597091 + + [ Mathieu J. Poirier ] + + * [Config] ARM: Turning off CONFIG_CPU_IDLE on omap + - LP: #594382 + + -- Leann Ogasawara Thu, 24 Jun 2010 12:19:48 -0700 + +linux (2.6.35-5.6) maverick; urgency=low + + [ Amit Kucheria ] + + * [Config] update omap flavour description + + [ Andy Whitcroft ] + + * update to ubuntu-debian:508b7aa34b578c0d1e51bfb571f2bfb824dc65ac + - LP: #570500, #576274 + * SAUCE: add option to hand off all kernel parameters to init + - LP: #586386 + * [Config] enable passing all kernel command line to init + - LP: #586386 + * [Config] disable CONFIG_VMI + - LP: #537601 + * [Config] enable CONFIG_IPV6_SIT_6RD + - LP: #591869 + * [Config] enable CONFIG_VMWARE_BALOON as module + - LP: #592039 + + [ Leann Ogasawara ] + + * Revert "SAUCE: pm: Config option to disable handling of console during + suspend/resume" + - LP: #594885 + * [Config] Remove CONFIG_PM_DISABLE_CONSOLE + * [Config] ports: enable passing all kernel command line to init + - LP: #586386 + * [Config] Enable CONFIG_FB_VESA=y for x86 + * [Config] Add CONFIG_FRAMEBUFFER_CONSOLE=y to config enforcer + * [Config] Add CONFIG_FB_VESA=y for x86 to config enforcer + * [Config] Enable CONFIG_TASK_DELAY_ACCT=y + - LP: #493156 + + [ Mathieu Poirier ] + + * ARM: Adding MosChip MCS7830 to nic-usb + - LP: #584920 + + [ Upstream Kernel Changes ] + + * Revert "[Upstream] docbook: need xmldoclinks for all doc types" + * docbook: need xmldoclinks for all doc types + * perf probe: Add kernel source path option + + -- Leann Ogasawara Thu, 17 Jun 2010 08:05:29 -0700 + +linux (2.6.35-4.5) maverick; urgency=low + + [ Leann Ogasawara ] + + * Revert "[Upstream] (evdev) Use driver hint to compute the evdev buffer + size (rev2)" + * Revert "[Upstream] (evdev) Convert to dynamic event buffer (rev4)" + * Revert "[Upstream] (evdev) Use multi-reader buffer to save space + (rev4)" + * Revert "SAUCE: drivers: Remove some duplicate device entries in various + modules" + * [Upstream] USB: option: Remove duplicate AMOI_VENDOR_ID + * [Upstream] Revert "USB: Adding support for HTC Smartphones to ipaq" + * [Upstream] p54usb: Comment out duplicate Medion MD40900 device id + + [ Tim Gardner ] + + * [Config] CONFIG_NFS_FSCACHE=y + - LP: #440522 + * [Config] CONFIG_FSCACHE_STATS=y, CONFIG_FSCACHE_HISTOGRAM=y + - LP: #440522 + + -- Leann Ogasawara Wed, 16 Jun 2010 08:43:07 -0700 + +linux (2.6.35-3.4) maverick; urgency=low + + [ Andy Whitcroft ] + + * debian -- ensure the version number is clean + + [ Henrik Rydberg ] + + * [Upstream] Introduce MT event slots (rev 5) + * [Upstream] Document the MT event slot protocol (rev5) + * [Upstream] (evdev) Use multi-reader buffer to save space (rev4) + * [Upstream] (evdev) Convert to dynamic event buffer (rev4) + * [Upstream] (evdev) Use driver hint to compute the evdev buffer size + (rev2) + + [ Leann Ogasawara ] + + * Revert "SAUCE: Add MODULE_ALIAS for Dell WMI module" + * Revert "SAUCE: hostap: send events on data interface as well as master + interface" + * Revert "Fix webcam having USB ID 0ac8:303b" + * Revert "SAUCE: toshiba_acpi -- pull in current -dev version of driver" + * rebase to v2.6.35-rc3 + + [ Maxim Levitsky ] + + * [Config] Enable new Smartmedia/xD translation layer + - LP: #202490 + + [ Upstream Kernel Changes ] + + * net: fix deliver_no_wcard regression on loopback device + + [ Upstream changes ] + + * rebased to v2.6.35-rc3 + + -- Leann Ogasawara Thu, 10 Jun 2010 16:15:22 -0700 + +linux (2.6.35-2.3) maverick; urgency=low + + [ Bryan Wu ] + + * CONFIG: enforce -- make sure we disable CONFIG_LOCALVERSION_AUTO + + [ Leann Ogasawara ] + + * [Config] armel: Enable CONFIG_BNX2=m + * [Config] ports: Enable CONFIG_BNX2X=m + * SAUCE: armel: define get_dma_ops to fix FTBS + + [ Tim Gardner ] + + * [Upstream] net: Print num_rx_queues imbalance warning only when there + are allocated queues + - LP: #591416 + + -- Leann Ogasawara Wed, 09 Jun 2010 08:27:41 -0700 + +linux (2.6.35-2.2) maverick; urgency=low + + [ Andy Whitcroft ] + + * [Config] d-i: make armel configuration versatile flavour specific + - LP: #588805 + * [Config] d-i: enable .udebs for omap flavour + - LP: #588805 + + [ Kees Cook ] + + * ptrace: limit scope to attach only (allow read) + - LP: #589656 + + [ Leann Ogasawara ] + + * rebase to v2.6.35-rc2 + * [Config] update configs following rebase to v2.6.35-rc2 + * [Config] update port configs following rebase to v2.6.35-rc2 + + [ Lee Jones ] + + * Enable perf to be more helpful when perf_ does not exist. + - LP: #570500 + * 'fdr editconfig' modification. Easily skip over unwanted menuconfigs. + + [ Tim Gardner ] + + * [Config] Update bnx2 udeb firmware files + - LP: #589304 + + [ Upstream changes ] + + * rebased to v2.6.35-rc2 + + -- Leann Ogasawara Mon, 07 Jun 2010 09:45:04 -0700 + +linux (2.6.35-1.1) maverick; urgency=low + + [ Andy Whitcroft ] + + * ubuntu: AUFS -- update to standalone 2.6.35-rcN as at 20100601 + - LP: #587888 + * ubuntu: AUFS -- track changes to the arguements to fop fsync() + + [ Leann Ogasawara ] + + * rebase to v2.6.35-rc1 + * [Config] update configs following rebase to v2.6.35-rc1 + * [Config] update port configs following rebase to v2.6.35-rc1 + * SAUCE: lirc: rename usb_buffer_alloc() and usb_buffer_free() + * SAUCE: ndiswrapper: rename usb_buffer_alloc() and usb_buffer_free() + * SAUCE: ndiswrapper: convert multicast list to list_head + * [Config] [FTBS] armel: Temporarily disable CONFIG_GPIO_JANZ_TTL + * [Config] [FTBS] ia64: Temporarily disable gpiolib + * [Config] [FTBS] ia64: Temporarily disable CONFIG_CEPH_FS + * [Config] [FTBS] sparc: Temporarily disable CONFIG_INFINIBAND_QIB + * [Config] [FTBS] sparc: Temporarily disable CONFIG_MFD_JANZ_CMODIO + * [Config] [FTBS] armel: Temporarily disable CONFIG_MFD_JANZ_CMODIO + * [Config] [FTBS] armel: Temporarily disable CONFIG_DT3155 + * [Config] [FTBS] sparc: Temporarily disable CONFIG_MTD_NAND_DENALI + * [Config] [FTBS] armel: Temporarily disable bnx2 + * [Config] [FTBS] armel: Temporarily disable CONFIG_SERIAL_UARTLITE + * SAUCE: [FTBS] armel: Don't include asm/agp.h for ttm + * SAUCE: [FTBS] armel: include linux/dma-mapping.h + * SAUCE: [FTBS] armel: replace omap_set_gpio_debounce with + gpio_set_debounce + + [ Upstream Kernel Changes ] + + * of/usb: fix build error due to of_node pointer move + * n2_crypto: Fix build after of_device/of_platform_driver changes. + * powerpc/fsl-booke: fix the case where we are not in the first page + * powerpc/fsl-booke: Move the entry setup code into a seperate file + * powerpc/kexec: Add support for FSL-BookE + * greth: Fix build after OF device conversions. + + [ Upstream changes ] + + * rebased to v2.6.35-rc1 + + -- Leann Ogasawara Fri, 04 Jun 2010 23:01:52 -0700 + +linux (2.6.35-1.0) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * Null entry. + + -- Leann Ogasawara Wed, 02 Jun 2010 15:17:41 -0700 + +linux (2.6.34-5.14) maverick; urgency=low + + [ Tim Gardner ] + + * [Config] Added module inclusion support + * [Config] Added virtual flavour module inclusion list and d-i package + definitions + + -- Leann Ogasawara Wed, 02 Jun 2010 12:58:14 -0700 + +linux (2.6.34-5.13) maverick; urgency=low + + [ Andy Whitcroft ] + + * Revert "ubuntu: AUFS -- aufs2 20091209" + * Revert "ubuntu: AUFS -- export various core functions + (aufs2-standalone.patch)" + * Revert "ubuntu: AUFS -- export various core functions + (aufs2-base.patch)" + * ubuntu: AUFS -- aufs2 base patch for linux-2.6.34 + - LP: #587888 + * ubuntu: AUFS -- aufs2 standalone patch for linux-2.6.34 + - LP: #587888 + * ubuntu: AUFS -- update to standalone 2.6.34 as at 20100601 + - LP: #587888 + * [Config] AUFS -- enable aufs options + - LP: #587888 + + -- Leann Ogasawara Tue, 01 Jun 2010 08:56:43 -0700 + +linux (2.6.34-5.12) maverick; urgency=low + + [ Andy Whitcroft ] + + * enforce -- ensure SYSFS compatibility is disabled + + [ Chase Douglas ] + + * build with libdw-dev for perf probe symbol support + * maverick ftrace configuration changes + + [ Kees Cook ] + + * Revert "SAUCE: x86: brk away from exec rand area" + * Revert "SAUCE: [um] Don't use nx_enabled under UML" + * Revert "SAUCE: [x86] implement cs-limit nx-emulation for ia32" + * SAUCE: x86: implement cs-limit nx-emulation for ia32 + - LP: #369978 + * SAUCE: x86: more tightly confine cs-limit nx-emulation to ia32 only + * SAUCE: x86: brk away from exec rand area + - LP: #452175 + * SAUCE: ptrace: restrict ptrace scope to children + + [ Leann Ogasawara ] + + * Add new omap flavour to getabis + * [Config] Enable CONFIG_FRAMEBUFFER_CONSOLE=y for all archs + - LP: #585490 + * build/modules: Temorarily add ignore.modules + * ubuntu: iscsitarget -- version 1.4.20.1 + + [ Loïc Minier ] + + * SAUCE: [um] Don't use nx_enabled under UML + - LP: #524849 + + -- Leann Ogasawara Fri, 28 May 2010 08:27:17 -0700 + +linux (2.6.34-4.11) maverick; urgency=low + + [ Amit Kucheria ] + + * SAUCE: omap: remove calls to usb_nop_xceiv_register from board files + * [Config] Add support for OMAP-mainline flavour + + [ Andy Whitcroft ] + + * SAUCE: powerpc: fix compile error when ptrace.h is included from + userspace + - LP: #583733 + + [ Chase Douglas ] + + * Revert "SAUCE: Don't register vga16fb framebuffer if other framebuffers + are present" + * Revert "SAUCE: Disable function tracing after hitting __schedule_bug" + * Revert "SAUCE: drm/i915: don't change DRM configuration when releasing + load detect pipe" + + [ Kees Cook ] + + * SAUCE: fs: block cross-uid sticky symlinks + * SAUCE: fs: block hardlinks to non-accessible sources + + [ Koen Kooi ] + + * SAUCE: board-omap3-beagle: add DSS2 support + + [ Leann Ogasawara ] + + * Revert "staging/go7007 -- disable" + * Revert "[Config] staging/winbond -- disable" + * Revert "Disable 4MB page tables for Atom, work around errata AAE44" + * Revert "SAUCE: sync before umount to reduce time taken by ext4 umount" + * Revert "SAUCE: Enable an e1000e Intel Corporation 82567 Gigabit + controller" + * Revert "SAUCE: Fix MODULE_IMPORT/MODULE_EXPORT" + * Revert "SAUCE: Created MODULE_EXPORT/MODULE_IMPORT macros" + * Revert "SAUCE: input/mouse/alps: Do not call psmouse_reset() for alps" + * Revert "SAUCE: r8169: disable TSO by default for RTL8111/8168B + chipsets." + * Revert "[Upstream] b43: Declare all possible firmware files." + * Revert "add Breaks: against hardy lvm2" + * Revert "SAUCE: Guest OS does not recognize a lun with non zero target + id on Vmware ESX Server" + * Revert "SAUCE: Catch nonsense keycodes and silently ignore" + * [Config] Enable CONFIG_ECRYPT_FS=y for ports + * [Config] Enable CONFIG_USB=y for armel and sparc + * [Config] Enable CONFIG_SCSI=y for ia64 and sparc + * [Config] Enable CONFIG_RFKILL=y for ports + * [Config] Enable CONFIG_ATH9K_DEBUGFS=y + * [Config] Enable CONFIG_IWMC3200TOP_DEBUGFS=y + * [Config] Enable CONFIG_RCU_FAST_NO_HZ=y + * [Config] Enable CONFIG_IWLWIFI_DEVICE_TRACING=y + * [Config] Enable CONFIG_LIBERTAS_MESH=y + * [Config] Enable CONFIG_MMC_RICOH_MMC=y + * [Config] CONFIG_RT2800USB_UNKNOWN=y + * [Config] Enable CONFIG_VGA_SWITCHEROO=y + * [Config] Enable CONFIG_CEPH_FS=m + * [Config] Enable CONFIG_CRYPTO_PCRYPT=m + * [Config] Enable CONFIG_EEEPC_WMI=m + * [Config] Enable CONFIG_RT2800PCI=m + * [Config] Enable CONFIG_SCSI_HPSA=m + * [Config] Enable CONFIG_VHOST_NET=m + * [Config] Disable CONFIG_SND_HDA_INPUT_BEEP_MODE by default + - LP: #582350 + * [Config] Disable CONFIG_SOUND_OSS* and CONFIG_SND_*OSS + - LP: #579300 + * [Config] Enable CONFIG_PCIEASPM=y + - LP: #333990 + * [Config] updateconfigs for OMAP flavour + + [ Loïc Minier ] + + * Enable perf tools on armel + + [ Tim Gardner ] + + * SAUCE: Updated ndiswrapper to 1.56 + - LP: #582555 + * [Config] Added virtual flavour + * [Config] Remove support for sub-flavours + * [Config] Removed amd64 preempt flavour + * [Config] updateconfigs, updateportsconfigs after flavour munging + + -- Leann Ogasawara Tue, 25 May 2010 09:34:55 -0700 + +linux (2.6.34-3.10) maverick; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.34 + + [ Upstream changes ] + + * rebased to v2.6.34 + + -- Leann Ogasawara Tue, 18 May 2010 17:35:35 -0700 + +linux (2.6.34-2.9) maverick; urgency=low + + [ Leann Ogasawara ] + + * [Config] [FTBS] Disable comedi for armel + + -- Leann Ogasawara Thu, 13 May 2010 23:20:55 +0200 + +linux (2.6.34-2.8) maverick; urgency=low + + [ Leann Ogasawara ] + + * Drop lpia + * [Config] [FTBS] disable KVM + * [Config] [FTBS] disable ipr for armel + + -- Leann Ogasawara Thu, 13 May 2010 16:07:52 +0200 + +linux (2.6.34-2.7) maverick; urgency=low + + [ Leann Ogasawara ] + + * [Config] disable CONFIG_SCSI_IPR on powerpc + * [Config] Remove 386 flavour per UDS discussion + + -- Leann Ogasawara Wed, 12 May 2010 18:26:43 +0200 + +linux (2.6.34-1.6) maverick; urgency=low + + [ Chase Douglas ] + + * enforce CONFIG_TMPFS_POSIX_ACL=y + - LP: #575940 + * don't force module dependency checking + - LP: #577029 + + [ Kees Cook ] + + * SAUCE: mmap_min_addr check CAP_SYS_RAWIO only for write + - LP: #568844 + + [ Leann Ogasawara ] + + * Revert "SAUCE: ata: blacklist FUJITSU MHW2160BH PL" + * rebase to v2.6.34-rc7 + * [Config] update configs following rebase to v2.6.34-rc7 + * [Config] update port configs following rebase to v2.6.34-rc7 + * Add btrfs to the udebs + + [ Tim Gardner ] + + * [Config] Add atl1c to nic-modules udeb + - LP: #557130 + + [ Upstream changes ] + + * rebased to v2.6.34-rc7 + + -- Leann Ogasawara Tue, 11 May 2010 11:29:08 +0200 + +linux (2.6.34-1.5) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.34-rc6 + * [Config] update configs following rebase to v2.6.34-rc6 + * [Config] update port configs following rebase to v2.6.34-rc6 + + [ Upstream changes ] + + * rebased to v2.6.34-rc6 + + -- Leann Ogasawara Fri, 30 Apr 2010 15:54:05 +0100 + +linux (2.6.34-1.4) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.34-rc5 + * [Config] update ports configs following rebase to v2.6.34-rc5 + + [ Upstream changes ] + + * rebased to v2.6.34-rc5 + + -- Leann Ogasawara Thu, 22 Apr 2010 15:36:12 -0700 + +linux (2.6.34-1.3) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.34-rc4 + * [Config] update configs following rebase to v2.6.34-rc4 + * [Config] update port configs following rebase to v2.6.34-rc4 + * ubuntu: dm-raid4-5 -- update to compile with 2.6.34-rc4 + + [ Upstream changes ] + + * rebased to v2.6.34-rc4 + + -- Leann Ogasawara Tue, 13 Apr 2010 18:33:44 -0700 + +linux (2.6.34-1.2) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * Temorarily disable building linux-doc + * rebase to v2.6.34-rc3 + * [Config] update configs following rebase to v2.6.34-rc3 + * [Config] update port configs following rebase to v2.6.34-rc3 + + [ Upstream changes ] + + * rebased to v2.6.34-rc3 + + -- Leann Ogasawara Tue, 30 Mar 2010 16:55:44 -0700 + +linux (2.6.34-1.1) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * rebase to v2.6.34-rc2 + * ubuntu: dm-raid4-5 -- update to compile with 2.6.34-rc2 + * [Config] update port configs following rebase to v2.6.34-rc2 + * [Config] update configs following rebase to v2.6.34-rc2 + + [ Upstream changes ] + + * rebased to v2.6.34-rc2 + + -- Leann Ogasawara Wed, 24 Mar 2010 23:00:39 -0700 + +linux (2.6.33-1.1) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * ubuntu: dm-raid4-5 -- update to compile with 2.6.33 + * ubuntu: lirc -- drop explicit include of linux/autoconf.h + * ubuntu: lirc -- pass kfifo to kfifo_alloc and move spinlock + * ubuntu: lirc -- rename kfifo_put and kfifo_get + * ubuntu: iscsitarget -- rename daddr inet_sock field + * rebased to v2.6.33 + * [Config] update configs following rebase to v2.6.33 + * [Config] update ports configs following rebase to v2.6.33 + + [ Upstream changes ] + + * rebased to v2.6.33 + + -- Leann Ogasawara Tue, 23 Mar 2010 03:55:46 -0700 + +linux (2.6.33-0.0) UNRELEASED; urgency=low + + [ Leann Ogasawara ] + + * Null entry. + + -- Leann Ogasawara Wed, 17 Mar 2010 07:48:56 -0700 + +linux (2.6.32-16.25) lucid; urgency=low + + [ Andy Whitcroft ] + + * linux-tools -- move to Suggests: with explicit seeding + - LP: #534635 + + [ Tim Gardner ] + + * [Config] CONFIG_HID=m + + [ Upstream Kernel Changes ] + + * (pre-stable) sched: Fix SMT scheduler regression in + find_busiest_queue() + * KVM: introduce kvm_vcpu_on_spin + * KVM: VMX: Add support for Pause-Loop Exiting + + -- Andy Whitcroft Tue, 09 Mar 2010 14:13:51 +0000 + +linux (2.6.32-16.24) lucid; urgency=low + + [ Andy Whitcroft ] + + * armel -- perf userspace does not support arm + * ia64 -- libelf-dev/binutils-dev to not provide necessary libraries + + -- Andy Whitcroft Sat, 06 Mar 2010 11:42:12 +0000 + +linux (2.6.32-16.23) lucid; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: PM report driver and device suspend/resume times -- move config + * update to standards version 3.8.4.0 + * printenv -- expose all of the package selectors + * source package -- cleanup source content control + * doc package -- ensure we do build package content on buildd + * lintian -- correct the address in the debian/copyright + * lintian -- update debhelper package version dependancy + * lintian -- fix ghostscript dependancy + * lintian -- add required misc:Depends + * lintian -- move our debhelper compat level to debian/compat + * perf -- build the kernel carried tools + * perf -- add linux-tools carrying the version switches and manuals + * SAUCE: fix up Kconfig for staging drivers + * [Config] enable NOUVEAU etc following drm backport + * update DRM to mainline v2.6.33 + * [Config] Remove AppArmor config options that no longer exist (ports) + * [Config] updateportsconfigs following drm update + + [ John Johansen ] + + * ubuntu: AppArmor -- update to mainline 2010-03-04 + * SAUCE: AppArmor: Reintroduce AppArmor 2.4 compatibility + * SAUCE: AppArmor: replace strim with strstrip for 2.6.32 kernels + * [Config] Remove AppArmor config options that no longer exist + + [ Manoj Iyer ] + + * ubuntu: rtl8192se -- version 2010-0115,0014 + - LP: #530275 + * [Config] added CONFIG_RTL8192SE module. + - LP: #530275 + + [ Tim Gardner ] + + * [Config] Added vmw_pvscsi to d-i/scsi-modules + - LP: #531017 + * [Upstream] netfilter: xt_recent: Add an entry reaper + + [ Upstream Kernel Changes ] + + * Revert "KVM: x86 emulator: Check CPL level during privilege instruction + emulation" + * Revert "KVM: x86 emulator: Fix popf emulation" + * Revert "KVM: x86 emulator: Check IOPL level during io instruction + emulation" + * Revert "KVM: x86 emulator: Add Virtual-8086 mode of emulation" + * Revert "KVM: fix memory access during x86 emulation." + * Add vlan (8021.Q) module package for d-i. + * (pre-stable) drm/i915: blacklist lid status: Sony VGN-BX196VP, Dell + Inspiron 700m + - LP: #515246 + * [Upstream] docbook: need xmldoclinks for all doc types + * x86: set_personality_ia32() misses force_personality32 + * lib: Introduce generic list_sort function + * drm/nv50: Implement ctxprog/state generation. + * drm/nv50: Remove redundant/incorrect ctxvals initialisation. + * (pre-stable) drm/i915: blacklist lid status: Sony VGN-BX196VP, Dell + Inspiron 700m + - LP: #515246 + + -- Andy Whitcroft Fri, 05 Mar 2010 15:40:38 +0000 + +linux (2.6.32-15.22) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "[Config] added new config option CONFIG_SR_REPORT_TIME_LIMIT" + * Revert "SAUCE: PM report driver and device suspend/resume times." + * [Config] set CONFIG_SR_REPORT_TIME_LIMIT + + [ Manoj Iyer ] + + * SAUCE: PM report driver and device suspend/resume times. + + -- Andy Whitcroft Tue, 02 Mar 2010 01:35:37 +0000 + +linux (2.6.32-15.21) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "(pre-stable) drm/i915: Increase fb alignment to 64k" + * Revert "[Config] lenovo-sl-laptop -- enable" + * Revert "ubuntu: lenovo-sl-laptop -- git tip (b19a08f81f)" + * armel -- cramfs module will no longer be built + * d-i -- make all modules optional + * rename the debug packages to match archive standard + - LP: #527837 + * lenovo-sl-laptop is no longer built + + [ Colin Ian King ] + + * Disable 4MB page tables for Atom, work around errata AAE44 + - LP: #523112 + + [ Colin Watson ] + + * ubuntu: dm-raid4-5: Depend on XOR_BLOCKS + * ubuntu: fsam7400: Depend on CHECK_SIGNATURE + + [ Jesse Barnes ] + + * SAUCE: drm/i915: don't change DRM configuration when releasing load + detect pipe + - LP: #488328 + + [ Loïc Minier ] + + * [Config] armel Update versatile initrd configs + - LP: #524893 + * SAUCE: [um] Don't use nx_enabled under UML + - LP: #524849 + + [ Manoj Iyer ] + + * [Config] added new config option CONFIG_SR_REPORT_TIME_LIMIT + + [ Mario Limonciello ] + + * SAUCE: v3 - Add Dell Business Class Netbook LED driver + + [ Rafael J. Wysocki ] + + * SAUCE: PM report driver and device suspend/resume times. + + [ Surbhi Palande ] + + * Revert "[Upstream] e1000e: enhance frame fragment detection" + - CVE-2009-4538 + * Revert "[Upstream] e1000: enhance frame fragment detection" + - CVE-2009-4536 + + [ Tim Gardner ] + + * [Config] Enabled CONFIG_LEDS_DELL_NETBOOKS=m + * SAUCE: (pre-stable) netfilter: xt_recent: fix buffer overflow + * SAUCE: (pre-stable) netfilter: xt_recent: fix false match + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) eCryptfs: Add getattr function" + * Fix potential crash with sys_move_pages + * futex_lock_pi() key refcnt fix + * futex: Handle user space corruption gracefully + * futex: Handle futex value corruption gracefully + * Fix race in tty_fasync() properly + * hwmon: (w83781d) Request I/O ports individually for probing + * hwmon: (lm78) Request I/O ports individually for probing + * hwmon: (adt7462) Wrong ADT7462_VOLT_COUNT + * ALSA: ctxfi - fix PTP address initialization + * drm/i915: disable hotplug detect before Ironlake CRT detect + * drm/i915: enable self-refresh on 965 + * drm/i915: Disable SR when more than one pipe is enabled + * drm/i915: Fix DDC on some systems by clearing BIOS GMBUS setup. + * drm/i915: Add HP nx9020/SamsungSX20S to ACPI LID quirk list + * drm/i915: Fix the incorrect DMI string for Samsung SX20S laptop + * drm/i915: Add MALATA PC-81005 to ACPI LID quirk list + * usb: r8a66597-hcd: Flush the D-cache for the pipe-in transfer buffers. + * i2c-tiny-usb: Fix on big-endian systems + * drm/i915: handle FBC and self-refresh better + * drm/i915: Increase fb alignment to 64k + * drm/i915: Update write_domains on active list after flush. + * regulator: Fix display of null constraints for regulators + * ALSA: hda-intel: Avoid divide by zero crash + * CPUFREQ: Fix use after free of struct powernow_k8_data + * freeze_bdev: don't deactivate successfully frozen MS_RDONLY sb + * cciss: Make cciss_seq_show handle holes in the h->drv[] array + * ioat: fix infinite timeout checking in ioat2_quiesce + * resource: add helpers for fetching rlimits + * fs/exec.c: restrict initial stack space expansion to rlimit + * cifs: fix length calculation for converted unicode readdir names + * NFS: Fix a reference leak in nfs_wb_cancel_page() + * NFS: Try to commit unstable writes in nfs_release_page() + * NFSv4: Don't allow posix locking against servers that don't support it + * NFSv4: Ensure that the NFSv4 locking can recover from stateid errors + * NFS: Fix an Oops when truncating a file + * NFS: Fix a umount race + * NFS: Fix a bug in nfs_fscache_release_page() + * NFS: Fix the mapping of the NFSERR_SERVERFAULT error + * md: fix 'degraded' calculation when starting a reshape. + * V4L/DVB: dvb-core: fix initialization of feeds list in demux filter + * Export the symbol of getboottime and mmonotonic_to_bootbased + * kvmclock: count total_sleep_time when updating guest clock + * KVM: PIT: control word is write-only + * tpm_infineon: fix suspend/resume handler for pnp_driver + * amd64_edac: Do not falsely trigger kerneloops + * netfilter: nf_conntrack: fix memory corruption with multiple namespaces + * netfilter: nf_conntrack: per netns nf_conntrack_cachep + * netfilter: nf_conntrack: restrict runtime expect hashsize modifications + * netfilter: xtables: compat out of scope fix + * netfilter: nf_conntrack: fix hash resizing with namespaces + * drm/i915: remove full registers dump debug + * drm/i915: add i915_lp_ring_sync helper + * drm/i915: Don't wait interruptible for possible plane buffer flush + * dasd: remove strings from s390dbf + * crypto: padlock-sha - Add import/export support + * wmi: Free the allocated acpi objects through wmi_get_event_data + * dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value + * /dev/mem: introduce size_inside_page() + * devmem: check vmalloc address on kmem read/write + * devmem: fix kmem write bug on memory holes + * SCSI: mptfusion : mptscsih_abort return value should be SUCCESS instead + of value 0. + * sh: Couple kernel and user write page perm bits for CONFIG_X2TLB + * ALSA: hda - use WARN_ON_ONCE() for zero-division detection + * dst: call cond_resched() in dst_gc_task() + * ALSA: hda - Improved MacBook (Pro) 5,1 / 5,2 support + * befs: fix leak + * rtc-fm3130: add missing braces + * Call flush_dcache_page after PIO data transfers in libata-sff.c + * ahci: add Acer G725 to broken suspend list + * pktgen: Fix freezing problem + * x86/amd-iommu: Fix IOMMU-API initialization for iommu=pt + * x86/amd-iommu: Fix deassignment of a device from the pt_domain + * x86: Re-get cfg_new in case reuse/move irq_desc + * Staging: fix rtl8187se compilation errors with mac80211 + * ALSA: usb-audio - Avoid Oops after disconnect + * serial: 8250: add serial transmitter fully empty test + * sysfs: sysfs_sd_setattr set iattrs unconditionally + * class: Free the class private data in class_release + * USB: usbfs: only copy the actual data received + * USB: usbfs: properly clean up the as structure on error paths + * rtl8187: Add new device ID + * ACPI: Add NULL pointer check in acpi_bus_start + * ACPI: fix High cpu temperature with 2.6.32 + * drm/radeon/kms: use udelay for short delays + * NFS: Too many GETATTR and ACCESS calls after direct I/O + * eCryptfs: Add getattr function + * b43: Fix throughput regression + * ath9k: Fix sequence numbers for PAE frames + * mac80211: Fix probe request filtering in IBSS mode + * iwlwifi: Fix to set correct ht configuration + * dm stripe: avoid divide by zero with invalid stripe count + * dm log: userspace fix overhead_size calcuations + * Linux 2.6.32.9 + * sfc: Fix SFE4002 initialisation + * sfc: Fix sign of efx_mcdi_poll_reboot() error in efx_mcdi_poll() + * sfc: SFE4002/SFN4112F: Widen temperature and voltage tolerances + * (pre-stable) HID: handle joysticks with large number of buttons + - LP: #492056 + * (pre-stable) HID: extend mask for BUTTON usage page + - LP: #492056 + * PM: Measure device suspend and resume times + * e1000: enhance frame fragment detection + - CVE-2009-4536 + * e1000e: enhance frame fragment detection + - CVE-2009-4538 + * KVM: fix memory access during x86 emulation. + - CVE-2010-0306 + * KVM: x86 emulator: Add Virtual-8086 mode of emulation + - CVE-2010-0306 + * KVM: x86 emulator: Check IOPL level during io instruction emulation + - CVE-2010-0306 + * KVM: x86 emulator: Fix popf emulation + - CVE-2010-0306 + * KVM: x86 emulator: Check CPL level during privilege instruction + emulation + - CVE-2010-0306 + * Input: wacom - ensure the device is initialized properly upon resume + * Input: wacom - add defines for packet lengths of various devices + * Input: wacom - add support for new LCD tablets + - LP: #516777 + + -- Andy Whitcroft Mon, 01 Mar 2010 22:56:28 +0000 + +linux (2.6.32-14.20) lucid; urgency=low + + [ Andy Whitcroft ] + + * rebuild following the GCC update to match compiler for out of tree modules + * Revert "[Config] drbd -- enable" + * Revert "ubuntu: drbd -- version 8.3.1" + * SAUCE: khubd -- switch USB product/manufacturer/serial handling to RCU + - LP: #510937 + + -- Andy Whitcroft Fri, 19 Feb 2010 18:47:18 +0000 + +linux (2.6.32-14.19) lucid; urgency=low + + [ Andy Whitcroft ] + + * ensure we build the source package contents when enabled + - LP: #522308 + * [Config] enable CONFIG_X86_MCE_XEON75XX + * SAUCE: AppArmor -- add linux/kref.h for struct kref + * [Config] enable CONFIG_HID_ORTEK + * enable udeb generation for arm versatile flavour + - LP: #522515 + + [ John Johansen ] + + * ubuntu: AppArmor -- update to mainline 2010-02-18 + - LP: #439560, #496110, #507069 + + [ Johnathon Harris ] + + * SAUCE: HID: add support for Ortek WKB-2000 + - LP: #405390 + + [ Upstream Kernel Changes ] + + * tpm_tis: TPM_STS_DATA_EXPECT workaround + - LP: #490487 + * x86, mce: Xeon75xx specific interface to get corrected memory error + information + * x86, mce: Rename cpu_specific_poll to mce_cpu_specific_poll + * x86, mce: Make xeon75xx memory driver dependent on PCI + * drm/edid: Unify detailed block parsing between base and extension + blocks + - LP: #500999 + * (pre-stable) eCryptfs: Add getattr function + - LP: #390833 + + -- Andy Whitcroft Thu, 18 Feb 2010 19:22:02 +0000 + +linux (2.6.32-13.18) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "enforcer -- make the enforcement configuration common" + * Revert "(pre-stable) Input: ALPS - add interleaved protocol support + (Dell E6x00 series)" + * Revert "(pre-stable) driver-core: fix devtmpfs crash on s390" + * Revert "(pre-stable) Driver-Core: devtmpfs - set root directory mode to + 0755" + * Revert "SAUCE: Adds support for COMPAL JHL90 webcam" + * Revert "SAUCE: fix kernel oops in VirtualBox during paravirt patching" + * Revert "SAUCE: make fc transport removal of target configurable" + * enforcer -- make the enforcement configuration common + * getabis -- add preempt flavour to the list + * [Config] enforce DEVTMPFS options + * [Config] armel -- cleanup to-be builtin modules + * [Config] cleanup ports configs + * [Config] enable CRYPTO_GHASH_CLMUL_NI_INTEL + - LP: #485536 + * add printdebian target to find branch target + * distclean -- do not remove debian.env + * [Config] generic-pae switch to M586TSC + - LP: #519448 + * git-ubuntu-log -- commonise duplicated log handling + * git-ubuntu-log -- tighten up Bug: NNNN matching + * git-ubuntu-log -- sort the bug numbers + + [ Chris Wilson ] + + * (pre-stable) drm/i915: Increase fb alignment to 64k + - LP: #404064 + + [ Eric Miao ] + + * arm -- enable ubuntu/ directory + + [ Huang Ying ] + + * SAUCE: crypto: ghash - Add PCLMULQDQ accelerated implementation + * SAUCE: crypto: ghash-intel - Fix building failure on x86_32 + + [ Loïc Minier ] + + * [Config] cleanup preempt configuration + * [Config] versatile: Fix video output + - LP: #517594 + * [Config] armel DEFAULT_MMAP_MIN_ADDR=32768 + * [Config] Large update to armel/versatile + * [Config] versatile: Add RTC support + * [Config] armel: Enable NEON + * [Config] versatile: Builtin MMC support + * [Config] versatile Builtin SCSI controller + * [Config] armel Disable dma_cache_sync callers + * [Config] armel Disable asm/time.h users + * [Config] armel Disable out of range udelay() + * [Config] armel Disable flush_cache_range() users + * [Config] armel -- Enable ubuntu/ drivers + + [ Steve Conklin ] + + * SAUCE: drm/i915: Add display hotplug event on Ironlake + * SAUCE: drm/i915: Add ACPI OpRegion support for Ironlake + + [ Upstream Kernel Changes ] + + * Revert "[Upstream]: oprofile/x86: add Xeon 7500 series support" + * Revert "Revert "[Bluetooth] Eliminate checks for impossible conditions + in IRQ handler"" + * clockevent: Don't remove broadcast device when cpu is dead + * clockevents: Add missing include to pacify sparse + * ACPI: don't cond_resched if irq is disabled + * be2net: Add support for next generation of BladeEngine device. + * be2net: Add the new PCI IDs to PCI_DEVICE_TABLE. + * mpt2sas: New device SAS2208 support is added + * ar9170: Add support for D-Link DWA 160 A2 + * powerpc/fsl: Add PCI device ids for new QoirQ chips + * davinci: dm646x: Add support for 3.x silicon revision + * Input: ALPS - add interleaved protocol support (Dell E6x00 series) + * Driver-Core: devtmpfs - set root directory mode to 0755 + * driver-core: fix devtmpfs crash on s390 + * vfs: get_sb_single() - do not pass options twice + * ALSA: hda - Add PCI IDs for Nvidia G2xx-series + * V4L/DVB (13569): smsusb: add autodetection support for five additional + Hauppauge USB IDs + * USB: mos7840: add device IDs for B&B electronics devices + * USB: ftdi_sio: add USB device ID's for B&B Electronics line + * V4L/DVB (13168): Add support for Asus Europa Hybrid DVB-T card (SAA7134 + SubVendor ID: 0x1043 Device ID: 0x4847) + * iTCO_wdt: Add support for Intel Ibex Peak + * atl1c:use common_task instead of reset_task and link_chg_task + * atl1e:disable NETIF_F_TSO6 for hardware limit + * V4L/DVB (13680a): DocBook/media: copy images after building HTML + * V4L/DVB (13680b): DocBook/media: create links for included sources + * netfilter: xtables: fix conntrack match v1 ipt-save output + * partitions: read whole sector with EFI GPT header + * partitions: use sector size for EFI GPT + * ALSA: ice1724 - Patch for suspend/resume for ESI Juli@ + * sched: Fix isolcpus boot option + * sched: Fix missing sched tunable recalculation on cpu add/remove + * nohz: Prevent clocksource wrapping during idle + * nfsd: Fix sort_pacl in fs/nfsd/nf4acl.c to actually sort groups + * timers, init: Limit the number of per cpu calibration bootup messages + * PCI: Always set prefetchable base/limit upper32 registers + * iscsi class: modify handling of replacement timeout + * NFS: Revert default r/wsize behavior + * HID: fixup quirk for NCR devices + * scsi_devinfo: update Hitachi entries (v2) + * scsi_dh: create sysfs file, dh_state for all SCSI disk devices + * scsi_transport_fc: remove invalid BUG_ON + * lpfc: fix hang on SGI ia64 platform + * libfc: fix typo in retry check on received PRLI + * libfc: fix ddp in fc_fcp for 0 xid + * fcoe: remove redundant checking of netdev->netdev_ops + * libfc: Fix wrong scsi return status under FC_DATA_UNDRUN + * libfc: lport: fix minor documentation errors + * libfc: don't WARN_ON in lport_timeout for RESET state + * fcoe: initialize return value in fcoe_destroy + * libfc: Fix frags in frame exceeding SKB_MAX_FRAGS in fc_fcp_send_data + * libfc: fix memory corruption caused by double frees and bad error + handling + * libfc: fix free of fc_rport_priv with timer pending + * libfc: remote port gets stuck in restart state without really + restarting + * fcoe, libfc: fix an libfc issue with queue ramp down in libfc + * fcoe: Fix checking san mac address + * fcoe: Fix getting san mac for VLAN interface + * qlge: Remove explicit setting of PCI Dev CTL reg. + * qlge: Set PCIE max read request size. + * qlge: Don't fail open when port is not initialized. + * qlge: Add handler for DCBX firmware event. + * qlge: Bonding fix for mode 6. + * PCI: AER: fix aer inject result in kernel oops + * DMI: allow omitting ident strings in DMI tables + * Input: i8042 - remove identification strings from DMI tables + * Input: i8042 - add Gigabyte M1022M to the noloop list + * Input: i8042 - add Dritek quirk for Acer Aspire 5610. + * ALSA: hda - select IbexPeak handler for Calpella + * ALSA: hda - Fix quirk for Maxdata obook4-1 + * ALSA: hda - Add missing Line-Out and PCM switches as slave + * iTCO_wdt.c - cleanup chipset documentation + * iTCO_wdt: add PCI ID for the Intel EP80579 (Tolapai) SoC + * iTCO_wdt: Add Intel Cougar Point and PCH DeviceIDs + * ahci: disable SNotification capability for ich8 + * ata_piix: fix MWDMA handling on PIIX3 + * md: fix small irregularity with start_ro module parameter + * V4L/DVB (13826): uvcvideo: Fix controls blacklisting + * cio: fix double free in case of probe failure + * cio: dont panic in non-fatal conditions + * netiucv: displayed TX bytes value much too high + * ipc ns: fix memory leak (idr) + * ALSA: hda - Fix HP T5735 automute + * hwmon: (fschmd) Fix a memleak on multiple opens of /dev/watchdog + * UBI: fix memory leak in update path + * UBI: initialise update marker + * ASoC: fix a memory-leak in wm8903 + * mac80211: check that ieee80211_set_power_mgmt only handles STA + interfaces. + * cfg80211: fix channel setting for wext + * KVM: S390: fix potential array overrun in intercept handling + * KVM: only allow one gsi per fd + * KVM: Fix race between APIC TMR and IRR + * KVM: MMU: bail out pagewalk on kvm_read_guest error + * KVM: x86: Fix host_mapping_level() + * KVM: x86: Fix probable memory leak of vcpu->arch.mce_banks + * KVM: x86: Fix leak of free lapic date in kvm_arch_vcpu_init() + * KVM: fix lock imbalance in kvm_*_irq_source_id() + * KVM: only clear irq_source_id if irqchip is present + * IPoIB: Clear ipoib_neigh.dgid in ipoib_neigh_alloc() + * x86: Reenable TSC sync check at boot, even with NONSTOP_TSC + * ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C + - LP: #516325 + * iwlwifi: Fix throughput stall issue in HT mode for 5000 + * fnctl: f_modown should call write_lock_irqsave/restore + * x86, msr/cpuid: Pass the number of minors when unregistering MSR and + CPUID drivers. + * Linux 2.6.32.7 + * scsi_lib: Fix bug in completion of bidi commands + * mptsas: Fix issue with chain pools allocation on katmai + * mm: add new 'read_cache_page_gfp()' helper function + * drm/i915: Selectively enable self-reclaim + * firewire: ohci: fix crashes with TSB43AB23 on 64bit systems + * S390: fix single stepped svcs with TRACE_IRQFLAGS=y + * x86: Set hotpluggable nodes in nodes_possible_map + * x86: Remove "x86 CPU features in debugfs" (CONFIG_X86_CPU_DEBUG) + * libata: retry FS IOs even if it has failed with AC_ERR_INVALID + * zcrypt: Do not remove coprocessor for error 8/72 + * dasd: fix possible NULL pointer errors + * ACPI: Add a generic API for _OSC -v2 + * ACPI: Add platform-wide _OSC support. + * ACPI: fix OSC regression that caused aer and pciehp not to load + * ACPI: Advertise to BIOS in _OSC: _OST on _PPC changes + * UBI: fix volume creation input checking + * e1000/e1000e: don't use small hardware rx buffers + * drm/i915: Reload hangcheck timer too for Ironlake + * Fix a leak in affs_fill_super() + * Fix failure exits in bfs_fill_super() + * fix oops in fs/9p late mount failure + * fix leak in romfs_fill_super() + * Fix remount races with symlink handling in affs + * fix affs parse_options() + * Fix failure exit in ipathfs + * mm: fix migratetype bug which slowed swapping + * FDPIC: Respect PT_GNU_STACK exec protection markings when creating + NOMMU stack + * Split 'flush_old_exec' into two functions + * sparc: TIF_ABI_PENDING bit removal + * x86: get rid of the insane TIF_ABI_PENDING bit + * Input: winbond-cir - remove dmesg spam + * x86: Disable HPET MSI on ATI SB700/SB800 + * iwlwifi: set default aggregation frame count limit to 31 + * drm/i915: only enable hotplug for detected outputs + * firewire: core: add_descriptor size check + * SECURITY: selinux, fix update_rlimit_cpu parameter + * regulator: Specify REGULATOR_CHANGE_STATUS for WM835x LED constraints + * x86: Add Dell OptiPlex 760 reboot quirk + - LP: #488319 + * x86: Add quirk for Intel DG45FC board to avoid low memory corruption + * x86/amd-iommu: Fix possible integer overflow + * clocksource: fix compilation if no GENERIC_TIME + * tcp: update the netstamp_needed counter when cloning sockets + * sky2: Fix oops in sky2_xmit_frame() after TX timeout + * net: restore ip source validation + * af_packet: Don't use skb after dev_queue_xmit() + * ax25: netrom: rose: Fix timer oopses + * KVM: allow userspace to adjust kvmclock offset + * oprofile/x86: add Xeon 7500 series support + * oprofile/x86: fix crash when profiling more than 28 events + * libata: retry link resume if necessary + * mm: percpu-vmap fix RCU list walking + * mm: purge fragmented percpu vmap blocks + * block: fix bio_add_page for non trivial merge_bvec_fn case + * Fix 'flush_old_exec()/setup_new_exec()' split + * random: drop weird m_time/a_time manipulation + * random: Remove unused inode variable + * block: fix bugs in bio-integrity mempool usage + * usb: r8a66597-hdc disable interrupts fix + * connector: Delete buggy notification code. + * be2net: Bug fix to support newer generation of BE ASIC + * be2net: Fix memset() arg ordering. + * mm: flush dcache before writing into page to avoid alias + * mac80211: fix NULL pointer dereference when ftrace is enabled + * imxfb: correct location of callbacks in suspend and resume + * mx3fb: some debug and initialisation fixes + * starfire: clean up properly if firmware loading fails + * kernel/cred.c: use kmem_cache_free + * uartlite: fix crash when using as console + * pktcdvd: removing device does not remove its sysfs dir + * ath9k: fix eeprom INI values override for 2GHz-only cards + * ath9k: fix beacon slot/buffer leak + * powerpc: TIF_ABI_PENDING bit removal + * NET: fix oops at bootime in sysctl code + * Linux 2.6.32.8 + + -- Andy Whitcroft Wed, 10 Feb 2010 18:56:52 +0000 + +linux (2.6.32-12.17) lucid; urgency=low + + [ Andy Whitcroft ] + + * restore linux-image prefix -- master + * enforce -- we require SELINUX enabled -- master + * enforce -- ensure APPARMOR is our default LSM -- master + * make doc package completely optional -- master + * make source package completely optional -- master + * make linux-libc-dev completly optional -- master + * convert package disable to a deps list -- master + * allow common headers to switch from indep to arch -- master + * convert binary package disable to a deps list -- master + * add configuration option for a full source build tree -- master + * add support for uImage kernels in package control scripts + * getabis -- cleanup and parameterise repository list -- master + * getabis -- move configuration to etc/getabi -- master + * kernelconfig -- move configuration to etc -- master + * rules -- make debian/debian.env master for branch name + * set the current branch name -- master + * pull back common debian.master files into debian -- master + * enforcer -- make the enforcement configuration common + * insert-changes -- correctly link to debian/rules in DROOT + + [ Colin Watson ] + + * future-proof ddeb handling against buildd changes + + [ Eric Miao ] + + * SAUCE: Make CONFIG_{OMNIBOOK, AVERATEC_5100P, PACKARDBELL_E5} depend on + X86 + + [ Loïc Minier ] + + * Add modules.builtin.bin to prerm rm list + - LP: #516584 + + [ Tim Gardner ] + + * [Config] Implement the amd64 preempt flavour + + [ Upstream Kernel Changes ] + + * syslog: distinguish between /proc/kmsg and syscalls + - LP: #515623 + * sfc: Fix polling for slow MCDI operations + * sfc: Fix conditions for MDIO self-test + * sfc: QT202x: Remove unreliable MMD check at initialisation + * sfc: Add workspace for GMAC bug workaround to MCDI MAC_STATS buffer + * sfc: Use fixed-size buffers for MCDI NVRAM requests + + -- Andy Whitcroft Fri, 05 Feb 2010 07:09:31 +0000 + +linux (2.6.32-12.16) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: acpi battery -- delay first lookup of the battery until + first use" + * SAUCE: acpi battery -- move first lookup asynchronous + - LP: #507211 + * [Config] update configs to cleanup generic configs + * [Config] disable CONFIG_X86_CPU_DEBUG for amd64 + * [Config] enable USER_NS + - LP: #480739, #509808 + + [ Heiko Carstens ] + + * (pre-stable) driver-core: fix devtmpfs crash on s390 + - LP: #512370 + + [ John Johansen ] + + * [Config] for server and virtual flavours make CONFIG_SCSI_SYM53C8XX_2=y + - LP: #494565 + * [Config] VIRTIO=y for server/virtual flavours + - LP: #494565 + + [ Kay Sievers ] + + * (pre-stable) Driver-Core: devtmpfs - set root directory mode to 0755 + - LP: #512370 + + [ Kees Cook ] + + * SAUCE: x86: brk away from exec rand area + - LP: #452175 + + [ Leann Ogasawara ] + + * [Upstream] e1000: enhance frame fragment detection + - CVE-2009-4536 + * [Upstream] e1000e: enhance frame fragment detection + - CVE-2009-4538 + + [ Sebastian Kapfer ] + + * (pre-stable) Input: ALPS - add interleaved protocol support (Dell E6x00 + series) + - LP: #296610 + + [ Upstream Kernel Changes ] + + * inotify: do not reuse watch descriptors + - LP: #485556 + * inotify: only warn once for inotify problems + * revert "drivers/video/s3c-fb.c: fix clock setting for Samsung SoC + Framebuffer" + * memcg: ensure list is empty at rmdir + * drm/i915: remove loop in Ironlake interrupt handler + * block: Fix incorrect reporting of partition alignment + * x86, mce: Thermal monitoring depends on APIC being enabled + * futexes: Remove rw parameter from get_futex_key() + * page allocator: update NR_FREE_PAGES only when necessary + * x86, apic: use physical mode for IBM summit platforms + * edac: i5000_edac critical fix panic out of bounds + * x86: SGI UV: Fix mapping of MMIO registers + * mfd: WM835x GPIO direction register is not locked + * mfd: Correct WM835x ISINK ramp time defines + * ALSA: hda - Fix missing capture mixer for ALC861/660 codecs + * V4L/DVB (13868): gspca - sn9c20x: Fix test of unsigned. + * reiserfs: truncate blocks not used by a write + * HID: add device IDs for new model of Apple Wireless Keyboard + * PCI/cardbus: Add a fixup hook and fix powerpc + * Input: pmouse - move Sentelic probe down the list + * asus-laptop: add Lenovo SL hotkey support + * sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK + * sparc64: Fix NMI programming when perf events are active. + * sparc64: Fix Niagara2 perf event handling. + * i2c: Do not use device name after device_unregister + * i2c/pca: Don't use *_interruptible + * serial/8250_pnp: add a new Fujitsu Wacom Tablet PC device + * sched: Fix task priority bug + * vfs: Fix vmtruncate() regression + * Linux 2.6.32.5 + * x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers + * V4L/DVB (13900): gspca - sunplus: Fix bridge exchanges. + * Staging: asus_oled: fix oops in 2.6.32.2 + * Staging: hv: fix smp problems in the hyperv core code + * tty: fix race in tty_fasync + * ecryptfs: use after free + * ecryptfs: initialize private persistent file before dereferencing + pointer + * nozomi: quick fix for the close/close bug + * serial: 8250_pnp: use wildcard for serial Wacom tablets + * usb: serial: fix memory leak in generic driver + * USB: fix bitmask merge error + * USB: Don't use GFP_KERNEL while we cannot reset a storage device + * USB: EHCI: fix handling of unusual interrupt intervals + * USB: EHCI & UHCI: fix race between root-hub suspend and port resume + * USB: add missing delay during remote wakeup + * USB: add speed values for USB 3.0 and wireless controllers + * ACPI: EC: Accelerate query execution + * ACPI: EC: Add wait for irq storm + * SCSI: enclosure: fix oops while iterating enclosure_status array + * drm/i915: Read the response after issuing DDC bus switch command + * drm/i915: try another possible DDC bus for the SDVO device with + multiple outputs + * block: bdev_stack_limits wrapper + * DM: Fix device mapper topology stacking + * x86/PCI/PAT: return EINVAL for pci mmap WC request for !pat_enabled + * USB: fix usbstorage for 2770:915d delivers no FAT + * vmalloc: remove BUG_ON due to racy counting of VM_LAZY_FREE + * perf timechart: Use tid not pid for COMM change + * perf events: Dont report side-band events on each cpu for + per-task-per-cpu events + * perf: Honour event state for aux stream data + * Linux 2.6.32.6 + + -- Andy Whitcroft Wed, 27 Jan 2010 16:40:23 +0000 + +linux (2.6.32-11.15) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "(pre-stable) drm/radeon/kms: fix crtc vblank update for r600" + * Revert "(pre-stable) sched: Fix balance vs hotplug race" + * Revert "[Upstream] acerhdf: Limit modalias matching to supported + boards" + * Revert "[Upstream] mmc: prevent dangling block device from accessing + stale queues" + * Revert "SAUCE: Fix nx_enable reporting" + * Revert "SAUCE: [x86] fix report of cs-limit nx-emulation" + * Revert "SAUCE: [x86] implement cs-limit nx-emulation for ia32" + * SAUCE: i915 -- disable powersave by default + - LP: #492392 + + [ Kees Cook ] + + * SAUCE: [x86] implement cs-limit nx-emulation for ia32 + - LP: #369978 + * SAUCE: [x86] fix report of cs-limit nx-emulation + - LP: #454285 + * SAUCE: Fix nx_enable reporting + - LP: #454285 + + [ Tim Gardner ] + + * [Upstream] b43: Declare all possible firmware files. + - LP: #488636 + * [Config] updateconfigs after adding pvscsi + - LP: #497156 + * [Config] CONFIG_BT=m + + [ Upstream Kernel Changes ] + + * Revert "x86: Side-step lguest problem by only building cmpxchg8b_emu + for pre-Pentium" + * SCSI: ipr: fix EEH recovery + * SCSI: qla2xxx: dpc thread can execute before scsi host has been added + * SCSI: st: fix mdata->page_order handling + * SCSI: fc class: fix fc_transport_init error handling + * sched: Fix task_hot() test order + * x86, cpuid: Add "volatile" to asm in native_cpuid() + * sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE + * clockevents: Prevent clockevent_devices list corruption on cpu hotplug + * pata_hpt3x2n: fix clock turnaround + * pata_cmd64x: fix overclocking of UDMA0-2 modes + * ASoC: wm8974: fix a wrong bit definition + * sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer + * ALSA: hda - Fix missing capsrc_nids for ALC88x + * acerhdf: limit modalias matching to supported + - LP: #435958 + * ACPI: EC: Fix MSI DMI detection + * ACPI: Use the return result of ACPI lid notifier chain correctly + * powerpc: Handle VSX alignment faults correctly in little-endian mode + * ASoC: Do not write to invalid registers on the wm9712. + * drm/radeon: fix build on 64-bit with some compilers. + * USB: emi62: fix crash when trying to load EMI 6|2 firmware + * USB: option: support hi speed for modem Haier CE100 + * USB: Fix a bug on appledisplay.c regarding signedness + * USB: musb: gadget_ep0: avoid SetupEnd interrupt + * Bluetooth: Prevent ill-timed autosuspend in USB driver + * USB: rename usb_configure_device + * USB: fix bugs in usb_(de)authorize_device + * drivers/net/usb: Correct code taking the size of a pointer + * x86: SGI UV: Fix writes to led registers on remote uv hubs + * md: Fix unfortunate interaction with evms + * dma: at_hdmac: correct incompatible type for argument 1 of + 'spin_lock_bh' + * dma-debug: Do not add notifier when dma debugging is disabled. + * dma-debug: Fix bug causing build warning + * cifs: NULL out tcon, pSesInfo, and srvTcp pointers when chasing DFS + referrals + * x86/amd-iommu: Fix initialization failure panic + * ioat3: fix p-disabled q-continuation + * ioat2,3: put channel hardware in known state at init + * KVM: MMU: remove prefault from invlpg handler + * KVM: LAPIC: make sure IRR bitmap is scanned after vm load + * Libertas: fix buffer overflow in lbs_get_essid() + * iwmc3200wifi: fix array out-of-boundary access + * mac80211: fix propagation of failed hardware reconfigurations + * mac80211: fix WMM AP settings application + * mac80211: Fix IBSS merge + * cfg80211: fix race between deauth and assoc response + * ath5k: fix SWI calibration interrupt storm + * ath9k: wake hardware for interface IBSS/AP/Mesh removal + * ath9k: Fix TX queue draining + * ath9k: fix missed error codes in the tx status check + * ath9k: wake hardware during AMPDU TX actions + * ath9k: fix suspend by waking device prior to stop + * ath9k_hw: Fix possible OOB array indexing in gen_timer_index[] on + 64-bit + * ath9k_hw: Fix AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB and its shift value + in 0x4054 + * iwl3945: disable power save + * iwl3945: fix panic in iwl3945 driver + * iwlwifi: fix EEPROM/OTP reading endian annotations and a bug + * iwlwifi: fix more eeprom endian bugs + * iwlwifi: fix 40MHz operation setting on cards that do not allow it + * mac80211: fix race with suspend and dynamic_ps_disable_work + * NOMMU: Optimise away the {dac_,}mmap_min_addr tests + * 'sysctl_max_map_count' should be non-negative + * kernel/sysctl.c: fix the incomplete part of + sysctl_max_map_count-should-be-non-negative.patch + * V4L/DVB (13596): ov511.c typo: lock => unlock + * x86/ptrace: make genregs[32]_get/set more robust + * memcg: avoid oom-killing innocent task in case of use_hierarchy + * e100: Fix broken cbs accounting due to missing memset. + * ipv6: reassembly: use seperate reassembly queues for conntrack and + local delivery + * netfilter: fix crashes in bridge netfilter caused by fragment jumps + * hwmon: (sht15) Off-by-one error in array index + incorrect constants + * b43: avoid PPC fault during resume + * Keys: KEYCTL_SESSION_TO_PARENT needs TIF_NOTIFY_RESUME architecture + support + * sched: Fix balance vs hotplug race + * drm/radeon/kms: fix crtc vblank update for r600 + * drm: disable all the possible outputs/crtcs before entering KMS mode + * S390: dasd: support DIAG access for read-only devices + * xen: fix is_disconnected_device/exists_disconnected_device + * xen: improvement to wait_for_devices() + * xen: wait up to 5 minutes for device connetion + * orinoco: fix GFP_KERNEL in orinoco_set_key with interrupts disabled + * udf: Try harder when looking for VAT inode + * Add unlocked version of inode_add_bytes() function + * quota: decouple fs reserved space from quota reservation + * ext4: Convert to generic reserved quota's space management. + * ext4: fix sleep inside spinlock issue with quota and dealloc (#14739) + * x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus + * cpumask: use modern cpumask style in drivers/edac/amd64_edac.c + * amd64_edac: unify MCGCTL ECC switching + * x86, msr: Add support for non-contiguous cpumasks + * x86, msr: msrs_alloc/free for CONFIG_SMP=n + * amd64_edac: fix driver instance freeing + * amd64_edac: make driver loading more robust + * amd64_edac: fix forcing module load/unload + * sched: Sched_rt_periodic_timer vs cpu hotplug + * ext4: Update documentation to correct the inode_readahead_blks option + name + * lguest: fix bug in setting guest GDT entry + * vmscan: do not evict inactive pages when skipping an active list scan + * ksm: fix mlockfreed to munlocked + * rt2x00: Disable powersaving for rt61pci and rt2800pci. + * generic_permission: MAY_OPEN is not write access + * Linux 2.6.32.3 + * untangle the do_mremap() mess + * fasync: split 'fasync_helper()' into separate add/remove functions + * ASoC: fix params_rate() macro use in several codecs + * modules: Skip empty sections when exporting section notes + * exofs: simple_write_end does not mark_inode_dirty + * nfsd: make sure data is on disk before calling ->fsync + * sunrpc: fix peername failed on closed listener + * SUNRPC: Fix up an error return value in + gss_import_sec_context_kerberos() + * SUNRPC: Fix the return value in gss_import_sec_context() + * sunrpc: on successful gss error pipe write, don't return error + * drm/i915: Update LVDS connector status when receiving ACPI LID event + * drm/i915: fix order of fence release wrt flushing + * drm/i915: Permit pinning whilst the device is 'suspended' + * drm: remove address mask param for drm_pci_alloc() + * drm/i915: Enable/disable the dithering for LVDS based on VBT setting + * drm/i915: Make the BPC in FDI rx/transcoder be consistent with that in + pipeconf on Ironlake + * drm/i915: Select the correct BPC for LVDS on Ironlake + * drm/i915: fix unused var + * rtc_cmos: convert shutdown to new pnp_driver->shutdown + * drivers/cpuidle/governors/menu.c: fix undefined reference to + `__udivdi3' + * cgroups: fix 2.6.32 regression causing BUG_ON() in cgroup_diput() + * lib/rational.c needs module.h + * dma-debug: allow DMA_BIDIRECTIONAL mappings to be synced with + DMA_FROM_DEVICE and + * kernel/signal.c: fix kernel information leak with print-fatal-signals=1 + * mmc_block: add dev_t initialization check + * mmc_block: fix probe error cleanup bug + * mmc_block: fix queue cleanup + * ALSA: hda - Fix ALC861-VD capture source mixer + * ALSA: ac97: Add Dell Dimension 2400 to Headphone/Line Jack Sense + blacklist + * ALSA: atiixp: Specify codec for Foxconn RC4107MA-RS2 + - LP: #498863 + * ASoC: Fix WM8350 DSP mode B configuration + * netfilter: ebtables: enforce CAP_NET_ADMIN + * netfilter: nf_ct_ftp: fix out of bounds read in update_nl_seq() + * hwmon: (coretemp) Fix TjMax for Atom N450/D410/D510 CPUs + * hwmon: (adt7462) Fix pin 28 monitoring + * quota: Fix dquot_transfer for filesystems different from ext4 + * xen: fix hang on suspend. + * iwlwifi: fix iwl_queue_used bug when read_ptr == write_ptr + * ath5k: Fix eeprom checksum check for custom sized eeproms + * cfg80211: fix syntax error on user regulatory hints + * iwl: off by one bug + * mac80211: add missing sanity checks for action frames + * drm/i915: remove render reclock support + * libertas: Remove carrier signaling from the scan code + * kernel/sysctl.c: fix stable merge error in NOMMU mmap_min_addr + * mac80211: fix skb buffering issue (and fixes to that) + * fix braindamage in audit_tree.c untag_chunk() + * fix more leaks in audit_tree.c tag_chunk() + * module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y + * ipv6: skb_dst() can be NULL in ipv6_hop_jumbo(). + * agp/intel-agp: Clear entire GTT on startup + * Linux 2.6.32.4 + * ethtool: Add reset operation + * gro: Name the GRO result enumeration type + * gro: Change all receive functions to return GRO result codes + * sfc: 10Xpress: Initialise pause advertising flags + * sfc: 10Xpress: Report support for pause frames + * sfc: Remove redundant header gmii.h + * sfc: Remove redundant hardware initialisation + * sfc: Rename Falcon-specific board code and types + * sfc: Remove boards.h, moving last remaining declaration to falcon.h + * sfc: Remove versioned bitfield macros + * sfc: Move RX data FIFO thresholds out of struct efx_nic_type + * sfc: Update hardware definitions for Siena + * sfc: Rename register I/O header and functions used by both Falcon and + Siena + * sfc: Eliminate indirect lookups of queue size constants + * sfc: Define DMA address mask explicitly in terms of descriptor field + width + * sfc: Move all TX DMA length limiting into tx.c + * sfc: Change order of device removal to reverse of probe order + * sfc: Remove declarations of nonexistent functions + * sfc: Move efx_xmit_done() declaration into correct stanza + * sfc: Move shared members of struct falcon_nic_data into struct efx_nic + * sfc: Maintain interrupt moderation values in ticks, not microseconds + * sfc: Removed kernel-doc for nonexistent member of efx_phy_operations + * sfc: Remove pointless abstraction of memory BAR number + * sfc: Remove incorrect assertion from efx_pci_remove_main() + * sfc: Remove unnecessary tests of efx->membase + * sfc: Move MTD probe after netdev registration and name allocation + * sfc: Remove unused code for non-autoneg speed/duplex switching + * sfc: Rename 'xfp' file and functions to reflect reality + * sfc: Really allow RX checksum offload to be disabled + * sfc: Feed GRO result into RX allocation policy and interrupt moderation + * sfc: Enable heuristic selection between page and skb RX buffers + * sfc: Remove pointless abstraction of memory BAR number (2) + * sfc: Remove redundant gotos from __efx_rx_packet() + * sfc: Remove ridiculously paranoid assertions + * sfc: Move assertions and buffer cleanup earlier in efx_rx_packet_lro() + * sfc: Record RX queue number on GRO path + * sfc: SFT9001: Reset LED configuration correctly after blinking + * sfc: Use a single blink implementation + * sfc: Rename efx_board::init_leds to init_phy and use for SFN4111T + * sfc: Make board information explicitly Falcon-specific + * sfc: Move definition of struct falcon_nic_data into falcon.h + * sfc: Move struct falcon_board into struct falcon_nic_data + * sfc: Move all I2C stuff into struct falcon_board + * sfc: Gather link state fields in struct efx_nic into new struct + efx_link_state + * sfc: Remove unnecessary casts to struct sk_buff * + * sfc: Remove redundant efx_xmit() function + * sfc: Combine high-level header files + * sfc: Log interrupt and reset type names, not numbers + * sfc: Fix descriptor cache sizes + * sfc: Treat all MAC registers as 128-bit + * sfc: Strengthen EFX_ASSERT_RESET_SERIALISED + * sfc: Comment corrections + * sfc: Remove unused constant + * sfc: Clean up struct falcon_board and struct falcon_board_data + * sfc: Fix bugs in RX queue flushing + * sfc: Remove unused function efx_flush_queues() + * sfc: Only switch Falcon MAC clocks as necessary + * sfc: Hold MAC lock for longer in efx_init_port() + * sfc: Split MAC stats DMA initiation and completion + * sfc: Move Falcon board/PHY/MAC monitoring code to falcon.c + * sfc: Simplify XMAC link polling + * sfc: Change MAC promiscuity and multicast hash at the same time + * sfc: Move inline comment into kernel-doc + * sfc: Do not set net_device::trans_start in self-test + * sfc: Simplify PHY polling + * sfc: QT202x: Reset before reading PHY id + * sfc: Replace MDIO spinlock with mutex + * sfc: Always start Falcon using the XMAC + * sfc: Limit some hardware workarounds to Falcon + * sfc: Remove EFX_WORKAROUND_9141 macro + * sfc: Remove another unused workaround macro + * sfc: Remove some redundant whitespace + * sfc: Decouple NIC revision number from Falcon PCI revision number + * sfc: Move descriptor cache base addresses to struct efx_nic_type + * sfc: Clean up RX event handling + * sfc: Remove redundant writes to INT_ADR_KER + * sfc: Remove duplicate hardware structure definitions + * sfc: Turn pause frame generation on and off at the MAC, not the RX FIFO + * sfc: Move Falcon NIC operations to efx_nic_type + * sfc: Refactor link configuration + * sfc: Generalise link state monitoring + * sfc: Add power-management and wake-on-LAN support + * sfc: Implement ethtool reset operation + * sfc: Add efx_nic_type operation for register self-test + * sfc: Add efx_nic_type operation for NVRAM self-test + * sfc: Add efx_nic_type operation for identity LED control + * sfc: Separate shared NIC code from Falcon-specific and rename + accordingly + * sfc: Fold falcon_probe_nic_variant() into falcon_probe_nic() + * sfc: Extend loopback mode enumeration + * sfc: Remove static PHY data and enumerations + * sfc: Extend MTD driver for use with new NICs + * sfc: Allow for additional checksum offload features + * sfc: Rename falcon.h to nic.h + * sfc: Move shared NIC code from falcon.c to new source file nic.c + * sfc: Add firmware protocol definitions (MCDI) + * sfc: Add support for SFC9000 family (1) + * sfc: Add support for SFC9000 family (2) + * sfc: Implement TSO for TCP/IPv6 + * sfc: Update version, copyright dates, authors + * drivers/net/sfc: Correct code taking the size of a pointer + * sfc: Move PHY software state initialisation from init() into probe() + * sfc: Include XGXS in XMAC link status check except in XGMII loopback + * sfc: Fix DMA mapping cleanup in case of an error in TSO + * sfc: QT2025C: Work around PHY bug + * sfc: QT2025C: Switch into self-configure mode when not in loopback + * sfc: QT2025C: Work around PHY firmware initialisation bug + * sfc: QT2025C: Add error message for suspected bad SFP+ cables + * sfc: Disable TX descriptor prefetch watchdog + * [SCSI] vmw_pvscsi: SCSI driver for VMware's virtual HBA. + - LP: #497156 + + -- Andy Whitcroft Tue, 19 Jan 2010 16:12:47 +0000 + +linux (2.6.32-10.14) lucid; urgency=low + + [ Alex Deucher ] + + * SAUCE: drm/radeon/kms: fix LVDS setup on r4xx + - LP: #493795 + + [ Andy Whitcroft ] + + * Revert "(pre-stable) acpi: Use the ARB_DISABLE for the CPU which model + id is less than 0x0f." + * config-check -- ensure the checks get run at build time + * config-check -- check the processed config during updateconfigs + * config-check -- CONFIG_SECCOMP may not be present + * TUN is now built in ignore + * SAUCE: acpi battery -- delay first lookup of the battery until first + use + * SAUCE: async_populate_rootfs: move rootfs init earlier + * ubuntu: AppArmor -- update to mainline 2010-01-06 + * SAUCE: move RLIMIT_CORE pipe dumper marker to 1 + - LP: #498525 + + [ Dave Airlie ] + + * (pre-stable) drm/radeon/kms: fix crtc vblank update for r600 + + [ Leann Ogasawara ] + + * Add asix to nic-usb-modules file + - LP: #499785 + + [ Peter Zijlstra ] + + * (pre-stable) sched: Fix balance vs hotplug race + + [ Tim Gardner ] + + * [Config] Enable CONFIG_FUNCTION_TRACER + - LP: #497989 + * [Config] Drop lpia from getabis + * [Config] Build in TUN/TAP driver + - LP: #499491 + * [Config] DH_COMPAT=5 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) drm/i915: Avoid NULL dereference with + component_only tv_modes" + * Revert "(pre-stable) drm/i915: Fix sync to vblank when VGA output is + turned off" + * USB: usb-storage: fix bug in fill_inquiry + * USB: option: add pid for ZTE + * firewire: ohci: handle receive packets with a data length of zero + * rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling + of ->completed counter + * rcu: Fix synchronization for rcu_process_gp_end() uses of ->completed + counter + * rcu: Fix note_new_gpnum() uses of ->gpnum + * rcu: Remove inline from forward-referenced functions + * perf_event: Fix invalid type in ioctl definition + * perf_event: Initialize data.period in perf_swevent_hrtimer() + * perf: Don't free perf_mmap_data until work has been done + * PM / Runtime: Fix lockdep warning in __pm_runtime_set_status() + * sched: Check for an idle shared cache in select_task_rq_fair() + * sched: Fix affinity logic in select_task_rq_fair() + * sched: Rate-limit newidle + * sched: Fix and clean up rate-limit newidle code + * x86/amd-iommu: attach devices to pre-allocated domains early + * x86/amd-iommu: un__init iommu_setup_msi + * x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking + up the PCI tree + * x86: Fix iommu=nodac parameter handling + * x86: GART: pci-gart_64.c: Use correct length in strncmp + * x86: ASUS P4S800 reboot=bios quirk + - LP: #366682 + * x86, apic: Enable lapic nmi watchdog on AMD Family 11h + * ssb: Fix range check in sprom write + * ath5k: allow setting txpower to 0 + * ath5k: enable EEPROM checksum check + * hrtimer: Fix /proc/timer_list regression + * ALSA: hrtimer - Fix lock-up + * ALSA: hda - Terradici HDA controllers does not support 64-bit mode + * KVM: x86 emulator: limit instructions to 15 bytes + * KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c + * KVM: s390: Make psw available on all exits, not just a subset + * KVM: fix irq_source_id size verification + * KVM: x86: include pvclock MSRs in msrs_to_save + * x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage + * x86: Use -maccumulate-outgoing-args for sane mcount prologues + * x86, mce: don't restart timer if disabled + * x86/mce: Set up timer unconditionally + * x86: SGI UV: Fix BAU initialization + * x86: Fix duplicated UV BAU interrupt vector + * x86: Add new Intel CPU cache size descriptors + * x86: Fix typo in Intel CPU cache size descriptor + * pata_hpt{37x|3x2n}: fix timing register masks (take 2) + * s390: clear high-order bits of registers after sam64 + * V4L/DVB: Fix test in copy_reg_bits() + * bsdacct: fix uid/gid misreporting + * UBI: flush wl before clearing update marker + * jbd2: don't wipe the journal on a failed journal checksum + * USB: xhci: Add correct email and files to MAINTAINERS entry. + * USB: musb_gadget_ep0: fix unhandled endpoint 0 IRQs, again + * USB: option.c: add support for D-Link DWM-162-U5 + * USB: usbtmc: repeat usb_bulk_msg until whole message is transfered + * USB: usb-storage: add BAD_SENSE flag + * USB: Close usb_find_interface race v3 + * pxa/em-x270: fix usb hub power up/reset sequence + * hfs: fix a potential buffer overflow + * SUNRPC: IS_ERR/PTR_ERR confusion + * NFS: Fix nfs_migrate_page() + * md/bitmap: protect against bitmap removal while being updated. + * futex: Take mmap_sem for get_user_pages in fault_in_user_writeable + * devpts_get_tty() should validate inode + * debugfs: fix create mutex racy fops and private data + * Driver core: fix race in dev_driver_string + * Serial: Do not read IIR in serial8250_start_tx when UART_BUG_TXEN + * mac80211: Fix bug in computing crc over dynamic IEs in beacon + * mac80211: Fixed bug in mesh portal paths + * mac80211: Revert 'Use correct sign for mesh active path refresh' + * mac80211: fix scan abort sanity checks + * wireless: correctly report signal value for IEEE80211_HW_SIGNAL_UNSPEC + * rtl8187: Fix wrong rfkill switch mask for some models + * x86: Fix bogus warning in apic_noop.apic_write() + * mm: hugetlb: fix hugepage memory leak in mincore() + * mm: hugetlb: fix hugepage memory leak in walk_page_range() + * powerpc/windfarm: Add detection for second cpu pump + * powerpc/therm_adt746x: Record pwm invert bit at module load time] + * powerpc: Fix usage of 64-bit instruction in 32-bit altivec code + * drm/radeon/kms: Add quirk for HIS X1300 board + * drm/radeon/kms: handle vblanks properly with dpms on + * drm/radeon/kms: fix legacy crtc2 dpms + * drm/radeon/kms: fix vram setup on rs600 + * drm/radeon/kms: rs6xx/rs740: clamp vram to aperture size + * drm/ttm: Fix build failure due to missing struct page + * drm/i915: Set the error code after failing to insert new offset into mm + ht. + * drm/i915: Add the missing clonemask for display port on Ironlake + * xen/xenbus: make DEVICE_ATTR()s static + * xen: re-register runstate area earlier on resume. + * xen: restore runstate_info even if !have_vcpu_info_placement + * xen: correctly restore pfn_to_mfn_list_list after resume + * xen: register timer interrupt with IRQF_TIMER + * xen: register runstate on secondary CPUs + * xen: don't call dpm_resume_noirq() with interrupts disabled. + * xen: register runstate info for boot CPU early + * xen: call clock resume notifier on all CPUs + * xen: improve error handling in do_suspend. + * xen: don't leak IRQs over suspend/resume. + * xen: use iret for return from 64b kernel to 32b usermode + * xen: explicitly create/destroy stop_machine workqueues outside + suspend/resume region. + * Xen balloon: fix totalram_pages counting. + * xen: try harder to balloon up under memory pressure. + * dm exception store: free tmp_store on persistent flag error + * dm snapshot: only take lock for statustype info not table + * dm crypt: move private iv fields to structs + * dm crypt: restructure essiv error path + * dm: avoid _hash_lock deadlock + * dm snapshot: cope with chunk size larger than origin + * dm crypt: separate essiv allocation from initialisation + * dm crypt: make wipe message also wipe essiv key + * slc90e66: fix UDMA handling + * tcp: Stalling connections: Fix timeout calculation routine + * ip_fragment: also adjust skb->truesize for packets not owned by a + socket + * b44 WOL setup: one-bit-off stack corruption kernel panic fix + * sparc64: Don't specify IRQF_SHARED for LDC interrupts. + * sparc64: Fix overly strict range type matching for PCI devices. + * sparc64: Fix stack debugging IRQ stack regression. + * sparc: Set UTS_MACHINE correctly. + * b43legacy: avoid PPC fault during resume + * tracing: Fix event format export + * ath9k: Fix TX hang poll routine + * ath9k: fix processing of TX PS null data frames + * ath9k: Fix maximum tx fifo settings for single stream devices + * ath9k: fix tx status reporting + * mac80211: Fix dynamic power save for scanning. + * drm/i915: Fix sync to vblank when VGA output is turned off + * memcg: fix memory.memsw.usage_in_bytes for root cgroup + * thinkpad-acpi: fix default brightness_mode for R50e/R51 + * thinkpad-acpi: preserve rfkill state across suspend/resume + * ipw2100: fix rebooting hang with driver loaded + * matroxfb: fix problems with display stability + * acerhdf: add new BIOS versions + * asus-laptop: change light sens default values. + * vmalloc: conditionalize build of pcpu_get_vm_areas() + * ACPI: Use the ARB_DISABLE for the CPU which model id is less than 0x0f. + * net: Fix userspace RTM_NEWLINK notifications. + * ext3: Fix data / filesystem corruption when write fails to copy data + * V4L/DVB (13116): gspca - ov519: Webcam 041e:4067 added. + * bcm63xx_enet: fix compilation failure after get_stats_count removal + * x86: Under BIOS control, restore AP's APIC_LVTTHMR to the BSP value + * drm/i915: Avoid NULL dereference with component_only tv_modes + * drm/i915: PineView only has LVDS and CRT ports + * drm/i915: Fix LVDS stability issue on Ironlake + * mm: sigbus instead of abusing oom + * ipvs: zero usvc and udest + * jffs2: Fix long-standing bug with symlink garbage collection. + * intel-iommu: Detect DMAR in hyperspace at probe time. + * intel-iommu: Apply BIOS sanity checks for interrupt remapping too. + * intel-iommu: Check for an RMRR which ends before it starts. + * intel-iommu: Fix oops with intel_iommu=igfx_off + * intel-iommu: ignore page table validation in pass through mode + * netfilter: xtables: document minimal required version + * perf_event: Fix incorrect range check on cpu number + * implement early_io{re,un}map for ia64 + * Linux 2.6.32.2 + + -- Andy Whitcroft Thu, 07 Jan 2010 15:28:43 +0000 + +linux (2.6.32-9.13) lucid; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable CONFIG_B43_PHY_LP + - LP: #493059 + * include modules.builtin in the binary debs + * config-check -- add a configuration enforcer + * config-check -- add a unit-test suite to the checker + * [Config] Enable CONFIG_SYN_COOKIES for versatile + * [Config] Enable CONFIG_SECURITY_SMACK for ports + * [Config] Enable CONFIG_SECURITY_FILE_CAPABILITIES for ports + * [Config] Disable CONFIG_COMPAT_BRK for ports + * getabis -- add armel versatile to the list + + [ Brad Figg ] + + * SAUCE: Increase the default prealloc buffer for HDA audio devices + (non-modem) + + [ Manoj Iyer ] + + * ubuntu: onmibook -- Added missing BOM file + + [ Tim Gardner ] + + * ubuntu: fsam7400 -- Cleanup Makefile + + [ Upstream Kernel Changes ] + + * Revert "ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT" + * signal: Fix alternate signal stack check + * SCSI: scsi_lib_dma: fix bug with dma maps on nested scsi objects + * SCSI: osd_protocol.h: Add missing #include + * SCSI: megaraid_sas: fix 64 bit sense pointer truncation + * ext4: fix potential buffer head leak when add_dirent_to_buf() returns + ENOSPC + * ext4: avoid divide by zero when trying to mount a corrupted file system + * ext4: fix the returned block count if EXT4_IOC_MOVE_EXT fails + * ext4: fix lock order problem in ext4_move_extents() + * ext4: fix possible recursive locking warning in EXT4_IOC_MOVE_EXT + * ext4: plug a buffer_head leak in an error path of ext4_iget() + * ext4: make sure directory and symlink blocks are revoked + * ext4: fix i_flags access in ext4_da_writepages_trans_blocks() + * ext4: journal all modifications in ext4_xattr_set_handle + * ext4: don't update the superblock in ext4_statfs() + * ext4: fix uninit block bitmap initialization when s_meta_first_bg is + non-zero + * ext4: fix block validity checks so they work correctly with meta_bg + * ext4: avoid issuing unnecessary barriers + * ext4: fix error handling in ext4_ind_get_blocks() + * ext4: make trim/discard optional (and off by default) + * ext4: make "norecovery" an alias for "noload" + * ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT + * ext4: initialize moved_len before calling ext4_move_extents() + * ext4: move_extent_per_page() cleanup + * jbd2: Add ENOMEM checking in and for + jbd2_journal_write_metadata_buffer() + * ext4: Return the PTR_ERR of the correct pointer in + setup_new_group_blocks() + * ext4: Avoid data / filesystem corruption when write fails to copy data + * ext4: wait for log to commit when umounting + * ext4: remove blocks from inode prealloc list on failure + * ext4: ext4_get_reserved_space() must return bytes instead of blocks + * ext4: quota macros cleanup + * ext4: fix incorrect block reservation on quota transfer. + * ext4: Wait for proper transaction commit on fsync + * ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT + * ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem) + * Linux 2.6.32.1 + * kbuild: generate modules.builtin + * (pre-stable) drm/i915: Fix sync to vblank when VGA output is turned off + - LP: #494461 + * (pre-stable) drm/i915: Avoid NULL dereference with component_only + tv_modes + - LP: #494045 + + [ Zhao Yakui ] + + * (pre-stable) acpi: Use the ARB_DISABLE for the CPU which model id is + less than 0x0f. + - LP: #481765 + + -- Andy Whitcroft Thu, 17 Dec 2009 15:41:21 +0000 + +linux (2.6.32-8.12) lucid; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: AppArmor -- add linux/err.h for ERR_PTR + + -- Andy Whitcroft Sat, 12 Dec 2009 10:56:16 +0000 + +linux (2.6.32-8.11) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: default ATI Radeon KMS to off until userspace catches + up" + * Revert "SAUCE: AppArmor: Fix oops there is no tracer and doing unsafe + transition." + * Revert "SAUCE: AppArmor: Fix refcounting bug causing leak of creds" + * Revert "SAUCE: AppArmor: Fix cap audit_caching preemption disabling" + * Revert "SAUCE: AppArmor: Fix Oops when in apparmor_bprm_set_creds" + * Revert "SAUCE: AppArmor: Fix oops after profile removal" + * Revert "SAUCE: AppArmor: AppArmor disallows truncate of deleted files." + * Revert "SAUCE: AppArmor: AppArmor fails to audit change_hat correctly" + * Revert "SAUCE: AppArmor: Policy load and replacement can fail to alloc + mem" + * Revert "SAUCE: AppArmor: AppArmor wrongly reports allow perms as + denied" + * Revert "SAUCE: AppArmor: Fix mediation of "deleted" paths" + * Revert "SAUCE: AppArmor: Fix off by 2 error in getprocattr mem + allocation" + * Revert "SAUCE: AppArmor: Set error code after structure + initialization." + * Revert "AppArmor -- fix pstrace_may_access rename" + * Revert "ubuntu: AppArmor security module" + * Revert "SAUCE: Add config option to set a default LSM" + * Revert "ubuntu: fsam7400 -- sw kill switch driver" + * Revert "[Config] fsam7400 -- enable" + * Revert "[Config] AUFS -- enable" + * Revert "ubuntu: AUFS -- aufs2-30 20090727" + * Revert "ubuntu: AUFS -- export various core functions -- fixes" + * Revert "ubuntu: AUFS -- export various core functions" + * Revert "[Config] ubuntu/iscsitarget -- disable" + * Revert "[Config] iscsitarget -- enable" + * Revert "ubuntu: iscsitarget -- SVN revision r214" + * update Vcs-Git to point to the correct repository + - LP: #493589 + * update build environment overrides to lucid + - LP: #493589 + * [Config] enable CONFIG_DEVTMPFS + * [Config] update all configs following AppArmor 2009-12-08 update + * SAUCE: isapnp_init: make isa PNP scans occur async + * [Config] fsam7400 -- enable + * [Config] omnibook -- enable + * [Config] cleanup CONFIG_AUDIT + * ubuntu: AUFS -- export various core functions (aufs2-base.patch) + * ubuntu: AUFS -- export various core functions (aufs2-standalone.patch) + * ubuntu: AUFS -- aufs2 20091209 + * [Config] AUFS -- enable + * [Config] iscsitarget -- enable + + [ Arjan van de Ven ] + + * SAUCE: KMS: cache the EDID information of the LVDS + + [ Colin Watson ] + + * bnx2: update d-i firmware filenames + - LP: #494052 + * add cdc_ether to nic-usb-modules udeb + - LP: #495060 + + [ John Johansen ] + + * ubuntu: AppArmor -- mainline 2009-10-08 + + [ Manoj Iyer ] + + * ubuntu: fsam7400 -- kill switch for Fujitsu Siemens Amilo M 7400 + * ubuntu: omnibook -- support Toshiba (HP) netbooks + * ubuntu: iscsitarget --- version 1.4.19 + - LP: #494693 + + [ Surbhi Palande ] + + * SAUCE: Make populate_rootfs asynchronous + + [ Tim Gardner ] + + * Parallelize flavour builds and packaging + * [Config] Enable CONFIG_KSM + + [ Upstream Kernel Changes ] + + * Config option to set a default LSM + * LSM: Add security_path_chroot(). + * LSM: Add security_path_chroot(). + * LSM: Move security_path_chmod()/security_path_chown() to after + mutex_lock(). + * ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT + + -- Andy Whitcroft Fri, 11 Dec 2009 17:45:19 +0000 + +linux (2.6.32-7.10) lucid; urgency=low + + [ Andy Whitcroft ] + + * [Config] disable CONFIG_THUMB2_KERNEL to fix arm FTBFS + + -- Andy Whitcroft Sun, 06 Dec 2009 12:56:48 +0000 + +linux (2.6.32-7.9) lucid; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: set /proc/acpi/video/*/DOS to 4 by default + - LP: #458982 + * SAUCE: ensure vga16fb loads if no other driver claims the VGA device + * [Config] update configs following versatile switch to V7 + * rebased to v2.6.32 + * [Config] update configs following rebase to v2.6.32 + * [Config] update ports configs following rebase to v2.6.32 + * SAUCE: default ATI Radeon KMS to off until userspace catches up + + [ Arjan van de Ven ] + + * SAUCE: vfs: Add a trace point in the mark_inode_dirty function + + [ Leann Ogasawara ] + + * [SCSI] megaraid_sas: remove sysfs poll_mode_io world writeable + permissions + - CVE-2009-3939 + + [ Loic Minier ] + + * SAUCE: select a v7 CPU for versatile + + [ Takashi Iwai ] + + * SAUCE: ALSA: hda - Add power on/off counter + + [ Upstream changes ] + + * rebased to v2.6.32 + + -- Andy Whitcroft Fri, 04 Dec 2009 10:44:50 +0000 + +linux (2.6.32-6.8) lucid; urgency=low + + [ Andy Whitcroft ] + + * [Config] disable SSB devices for armel + + -- Andy Whitcroft Sat, 28 Nov 2009 12:16:40 +0000 + +linux (2.6.32-6.7) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: default ATI Radeon KMS to off until userspace catches up" + * Revert "SAUCE: Dell XPS710 reboot quirk" + * Revert "SAUCE: Link acpi-cpufreq.o first" + * Revert "SAUCE: LPIA Logical reset of USB port on resume" + * Revert "SAUCE: LPIA Reboot fix for Intel Crownbeach development boards" + * Revert "SAUCE: Enable HDMI audio codec on Studio XPS 1340" + * Revert "SAUCE: Dell laptop digital mic does not work, PCI 1028:0271" + * Revert "Add Dell Dimension 9200 reboot quirk" + * Revert "SAUCE: Correctly blacklist Thinkpad r40e in ACPI" + * Revert "SAUCE: tulip: Define ULI PCI ID's" + * Revert "SAUCE: Lower warning level of some PCI messages" + * Revert "mac80211: fix two issues in debugfs" + Drop a number of known redundant commits as identified in the Ubuntu + delta review blueprint. + + * reenable armel versatile flavour + * [Config] disable CONFIG_USB_DEVICEFS + + [ Tim Gardner ] + + * [Config] udeb: Add squashfs to fs-core-modules + - LP: #352615 + * [Config] Create a real squashfs udeb + - LP: #352615 + + + -- Andy Whitcroft Fri, 27 Nov 2009 17:31:16 +0000 + +linux (2.6.32-5.6) lucid; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.32-rc8 + * update configs following rebase to v2.6.32-rc8 + * update ports configs since rebase to v2.6.32-rc8 + * [Config] enable cgroup options + - LP: #480739 + + [ Upstream Kernel Changes ] + + * rebase to v2.6.32-rc8 + + -- Andy Whitcroft Mon, 23 Nov 2009 11:16:14 +0000 + +linux (2.6.32-4.5) lucid; urgency=low + + [ Andy Whitcroft ] + + * [Config] SERIO_LIBPS2 and SERIO_I8042 must match + * rebase to v2.6.32-rc7 + * resync with Karmic proposed + + [ John Johansen ] + + * SAUCE: AppArmor: Fix oops after profile removal + - LP: #475619 + * SAUCE: AppArmor: Fix Oops when in apparmor_bprm_set_creds + - LP: #437258 + * SAUCE: AppArmor: Fix cap audit_caching preemption disabling + - LP: #479102 + * SAUCE: AppArmor: Fix refcounting bug causing leak of creds + - LP: #479115 + * SAUCE: AppArmor: Fix oops there is no tracer and doing unsafe + transition. + - LP: #480112 + + [ Ubuntu Changes ] + + * resync with Karmic proposed (ddbc670a86a3dee18541a3734149f250ff307adf) + + [ Upstream Kernel Changes ] + + * rebase to v2.6.32-rc7 + + -- Andy Whitcroft Fri, 13 Nov 2009 11:35:13 +0000 + +linux (2.6.32-3.4) lucid; urgency=low + + [ Andy Whitcroft ] + + * [Config] SERIO_LIBPS2 and SERIO_I8042 must match + * [Upstream] add local prefix to oss local change_bits + + [ Upstream Kernel Changes ] + + * mtd/maps: gpio-addr-flash: pull in linux/ headers rather than asm/ + * mtd/maps: gpio-addr-flash: depend on GPIO arch support + + -- Andy Whitcroft Wed, 11 Nov 2009 14:47:04 +0000 + +linux (2.6.32-3.3) lucid; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.32-rc6 + * [Config] update configs following rebase to v2.6.32-rc6 + * [Config] update ports configs following rebase to v2.6.32-rc6 + * resync with Karmic Ubuntu-2.6.31-15.49 + * [Config] add module ignores for broken drivers + + [ John Johansen ] + + * SAUCE: AppArmor: AppArmor wrongly reports allow perms as denied + - LP: #453335 + * SAUCE: AppArmor: Policy load and replacement can fail to alloc mem + - LP: #458299 + * SAUCE: AppArmor: AppArmor fails to audit change_hat correctly + - LP: #462824 + * SAUCE: AppArmor: AppArmor disallows truncate of deleted files. + - LP: #451375 + + [ Kees Cook ] + + * SAUCE: Fix nx_enable reporting + - LP: #454285 + + [ Scott James Remnant ] + + * Revert "SAUCE: trace: add trace_event for the open() syscall" + * SAUCE: trace: add trace events for open(), exec() and uselib() + - LP: #462111 + + [ Stefan Bader ] + + * SAUCE: Fix sub-flavour script to not stop on missing directories + - LP: #453073 + + [ Ubuntu Changes ] + + * resync with Karmic Ubuntu-2.6.31-15.49 + + [ Upstream Kernel Changes ] + + * rebase to v2.6.32-rc6 + - LP: #464552 + + -- Andy Whitcroft Tue, 10 Nov 2009 15:00:57 +0000 + +linux (2.6.32-2.2) lucid; urgency=low + + [ Andy Whitcroft ] + + * install the full changelog with the binary package + * changelog -- explicitly note rebases and clean history + * reinstate armel.mk with no flavours + - LP: #449637 + * [Upstream] block: silently error unsupported empty barriers too + - LP: #420423 + * [Config] udate configs following karmic resync + * [Config] update ports configs following karmic resync + * [Upstream] lirc -- follow removal of .id element + + [ Colin Watson ] + + * Use section 'admin' rather than 'base' + * Add more e100 firmware to nic-modules + - LP: #451872 + * Add qla1280 firmware to scsi-modules + - LP: #381037 + + [ John Johansen ] + + * SAUCE: AppArmor: Set error code after structure initialization. + - LP: #427948 + * SAUCE: AppArmor: Fix off by 2 error in getprocattr mem allocation + - LP: #446595 + * SAUCE: AppArmor: Fix mediation of "deleted" paths + + [ Kees Cook ] + + * SAUCE: [x86] fix report of cs-limit nx-emulation + - LP: #454285 + + [ Leann Ogasawara ] + + * SAUCE: (drop after 2.6.31) input: Add support for filtering input + events + - LP: #430809 + * SAUCE: (drop after 2.6.31) dell-laptop: Trigger rfkill updates on wifi + toggle switch press + - LP: #430809 + + [ Luke Yelavich ] + + * SAUCE: Add sr_mod to the scsi-modules udeb for powerpc + * [Config] Add sd_mod to scsi-modules udeb for powerpc + + [ Mario Limonciello ] + + * SAUCE: Update to LIRC 0.8.6 + - LP: #432678 + * SAUCE: dell-laptop: Store the HW switch status internally rather than + requerying every time + - LP: #430809 + * SAUCE: dell-laptop: Blacklist machines not supporting dell-laptop + - LP: #430809 + + [ Stefan Bader ] + + * [Upstream] acerhdf: Limit modalias matching to supported boards + - LP: #435958 + + [ Tim Gardner ] + + * [Upstream] i915: Fix i2c init message + - LP: #409361 + * [Config] Add sym53c8xx.ko to virtual sub-flavour + - LP: #439415 + * [Config] Add d101m_ucode.bin to d-i/firmware/nic-modules + - LP: #439456 + * [Config] Set default I/O scheduler back to CFQ for desktop flavours + - LP: #381300 + * SAUCE: Created MODULE_EXPORT/MODULE_IMPORT macros + - LP: #430694 + * SAUCE: Use MODULE_IMPORT macro to tie intel_agp to i915 + - LP: #430694 + * [Config] CONFIG_GFS2_FS_LOCKING_DLM=y + - LP: #416325 + * SAUCE: Fix MODULE_IMPORT/MODULE_EXPORT + - LP: #430694 + * SAUCE: Raise the default console 'quiet' level to 2 + * [Config] CONFIG_X86_PAT=y + * [Config] Add armel arch to linux-libc-dev arches. + - LP: #449637 + * [Config] CONFIG_X86_MCE + * [Upstream] (drop after 2.6.31) Input: synaptics - add another Protege + M300 to rate blacklist + - LP: #433801 + + [ Upstream Kernel Changes ] + + * sgi-gru: Fix kernel stack buffer overrun, CVE-2009-2584 + * drm/i915: Fix FDI M/N setting according with correct color depth + - LP: #416792 + + -- Andy Whitcroft Thu, 22 Oct 2009 16:53:33 +0100 + +linux (2.6.32-1.1) lucid; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.32-rc3 + * [Config] update configs following rebase to 2.6.32-rc3 + * [Config] update ports configs following rebase to 2.6.32-rc3 + * AppArmor -- fix pstrace_may_access rename + * staging/android -- disable + * ubuntu: dm-raid-45 -- update to compile with 2.6.32 + * ubuntu: drbd -- disable + * staging/comdi -- disable + * staging/go7007 -- disable + * [Config] staging/winbond -- disable + * [Config] ubuntu/iscsitarget -- disable + * [d-i] cbc and ecb are builtin make them optional in udebs + * rebase to v2.6.32-rc5 + * [Config] update configs following rebase to v2.6.32-rc5 + * [Config] update ports configs following rebase to v2.6.31-rc5 + + [ Tim Gardner ] + + * [Config] Add cpio as a build dependency. + + [ Upstream Kernel Changes ] + + * rebase to v2.6.32-rc3 + * rebase to v2.6.32-rc5 + + -- Andy Whitcroft Mon, 05 Oct 2009 15:48:58 +0100 + +linux (2.6.31-11.37) karmic; urgency=low + + [ Tim Gardner ] + + * [Config] Increase kernel log buffer to 256K for amd64 flavours + - LP: #424810 + * [Config] Set HZ=100 for amd64 flavours + - LP: #438234 + * [Upstream] e1000e: Emit notice instead of an error when + pci_enable_pcie_error_reporting() fails + - LP: #436370 + + [ Upstream Kernel Changes ] + + * n_tty: honor opost flag for echoes + * n_tty: move echoctl check and clean up logic + - LP: #438310 + + * Revert "[Upstream] drm/i915: Check that the relocation points to within + the target" - Use upstream cherry-pick. + * drm/i915: Check that the relocation points to within the target + - LP: #429241 + + * drm/i915: fix tiling on IGDNG + * drm/i915: add B43 chipset support + * agp/intel: Add B43 chipset support + Intel request from kernel team mailing list. + + * HID: completely remove apple mightymouse from blacklist + - LP: #428111 + + -- Tim Gardner Mon, 28 Sep 2009 11:47:29 -0600 + +linux (2.6.31-11.36) karmic; urgency=low + + [ Brian Rogers ] + + * SAUCE: (drop after 2.6.31) em28xx: ir-kbd-i2c init data needs a + persistent object + * SAUCE: (drop after 2.6.31) saa7134: ir-kbd-i2c init data needs a + persistent object + + [ Takashi Iwai ] + + * [Upstream] ALSA: hda - Add another entry for Nvidia HDMI device + - LP: #416482 + + [ Tyler Hicks ] + + * SAUCE: (drop after 2.6.31) eCryptfs: Prevent lower dentry from going + negative during unlink + + [ Upstream Kernel Changes ] + + * sg: fix oops in the error path in sg_build_indirect() + * mpt2sas : Rescan topology from Interrupt context instead of work thread + * mpt2sas: Prevent sending command to FW while Host Reset + * mpt2sas: setting SDEV into RUNNING state from Interrupt context + * mpt2sas: Raid 10 Volume is showing as Raid 1E in dmesg + * SCSI: fix oops during scsi scanning + * SCSI: libsrp: fix memory leak in srp_ring_free() + * cfg80211: fix looping soft lockup in find_ie() + * ath5k: write PCU registers on initial reset + * binfmt_elf: fix PT_INTERP bss handling + * TPM: Fixup boot probe timeout for tpm_tis driver + * md: Fix "strchr" [drivers/md/dm-log-userspace.ko] undefined! + * x86/amd-iommu: fix broken check in amd_iommu_flush_all_devices + * fix undefined reference to user_shm_unlock + * perf_counter: Fix buffer overflow in perf_copy_attr() + * perf_counter: Start counting time enabled when group leader gets + enabled + * powerpc/perf_counters: Reduce stack usage of power_check_constraints + * powerpc: Fix bug where perf_counters breaks oprofile + * powerpc/ps3: Workaround for flash memory I/O error + * block: don't assume device has a request list backing in nr_requests + store + * agp/intel: remove restore in resume + * ALSA: cs46xx - Fix minimum period size + * ASoC: Fix WM835x Out4 capture enumeration + * sound: oxygen: work around MCE when changing volume + * mlx4_core: Allocate and map sufficient ICM memory for EQ context + * perf stat: Change noise calculation to use stddev + * x86: Fix x86_model test in es7000_apic_is_cluster() + * x86/i386: Make sure stack-protector segment base is cache aligned + * PCI: apply nv_msi_ht_cap_quirk on resume too + * x86, pat: Fix cacheflush address in change_page_attr_set_clr() + * ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() + with highmem + * KVM guest: do not batch pte updates from interrupt context + * KVM: Fix coalesced interrupt reporting in IOAPIC + * KVM: VMX: Check cpl before emulating debug register access + * KVM guest: fix bogus wallclock physical address calculation + * KVM: x86: Disallow hypercalls for guest callers in rings > 0 + * KVM: VMX: Fix cr8 exiting control clobbering by EPT + * KVM: x86 emulator: Implement zero-extended immediate decoding + * KVM: MMU: make __kvm_mmu_free_some_pages handle empty list + * KVM: x86 emulator: fix jmp far decoding (opcode 0xea) + * KVM: limit lapic periodic timer frequency + * libata: fix off-by-one error in ata_tf_read_block() + * PCI quirk: update 82576 device ids in SR-IOV quirks list + * PCI: Unhide the SMBus on the Compaq Evo D510 USDT + * powerpc/pseries: Fix to handle slb resize across migration + * Linux 2.6.31.1 + + -- Tim Gardner Thu, 24 Sep 2009 13:04:28 -0600 + +linux (2.6.31-10.35) karmic; urgency=low + + [ Amit Kucheria ] + + * Disable CONFIG_UEVENT_HELPER_PATH + + [ Andy Whitcroft ] + + * [Config] Enable CONFIG_USB_GADGET_DUMMY_HCD + * remove the tlsup driver + * remove lmpcm logitech driver support + + [ Bryan Wu ] + + * Add 3 missing files to prerm remove file list + - LP: #345623, #415832 + + [ Chris Wilson ] + + * [Upstream] drm/i915: Check that the relocation points to within the + target + - LP: #429241 + + [ Luke Yelavich ] + + * [Config] Set CONFIG_EXT4_FS=y on ports architectures + + [ Manoj Iyer ] + + * SAUCE: Added quirk to recognize GE0301 3G modem as an interface. + - LP: #348861 + + [ Tim Gardner ] + + * Revert "[Upstream] ACPI: Add Thinkpad W500, W700, & W700ds to OSI(Linux) white-list" + * Revert "[Upstream] ACPI: Add Thinkpad R400 & Thinkpad R500 to OSI(Linux) white-list" + * Revert "[Upstream] ACPI: Add Thinkpad X300 & Thinkpad X301 to OSI(Linux) white-list" + * Revert "[Upstream] ACPI: Add Thinkpad X200, X200s, X200t to OSI(Linux) white-list" + * Revert "[Upstream] ACPI: Add Thinkpad T400 & Thinkpad T500 to OSI(Linux) white-list" + Upstream suggests that this is not the right approach. + + * [Config] Set default I/O scheduler to DEADLINE + CFQ seems to have some load related problems which are often exacerbated by sreadahead. + - LP: #381300 + + [ ubuntu@tjworld.net ] + + * SAUCE: ipw2200: Enable LED by default + - LP: #21367 + + [ Upstream Kernel Changes ] + + * ALSA: hda - Add support for new AMD HD audio devices + - LP: #430564 + + -- Andy Whitcroft Wed, 16 Sep 2009 15:37:49 +0100 + +linux (2.6.31-10.34) karmic; urgency=low + + [ Ted Tso ] + + * [Upstream] ext3: Don't update superblock write time when filesystem is + read-only + - LP: #427822 + + -- Tim Gardner Tue, 15 Sep 2009 16:00:45 -0600 + +linux (2.6.31-10.33) karmic; urgency=low + + [ Leann Ogasawara ] + + * [Upstream] dvb-usb: fix tuning with Cinergy T2 + - LP: #421258 + + [ Tim Gardner ] + + * [Config] Unconditionally copy files from sub-flavours lists. + (really, really fix it this time) + - LP: #423426 + * [Config] Set CONFIG_CACHEFILES=m for all flavours + + [ Upstream Kernel Changes ] + + * ext4: Don't update superblock write time when filesystem is read-only + - LP: #427822 + + -- Tim Gardner Tue, 15 Sep 2009 07:50:21 -0600 + +linux (2.6.31-10.32) karmic; urgency=low + + [ Eric Miao ] + + * [Config] enable module support for memory stick + - LP: #159951 + + [ Tim Gardner ] + + * [Config] Unconditionally copy files from sub-flavours lists. + - LP: #423426 + + -- Tim Gardner Thu, 10 Sep 2009 15:57:55 -0600 + +linux (2.6.31-10.31) karmic; urgency=low + + [ Andy Whitcroft ] + + * rebase to v2.6.31 final + + [ Colin Watson ] + + * [Config] Recommend grub-pc in linux-image + - LP: #385741 + + [ Ike Panhc ] + + * [Upstream] Pull latest update of lenovo-sl-laptop + + [ Peter Feuerer ] + + * [Upstream] (drop after 2.6.31) acerhdf: fix fan control for AOA150 + model + - LP: #426691 + + [ Tim Gardner ] + + * [Config] De-macro some package names. + + [ Upstream Changes ] + + * rebase to 2.6.31 final. + + -- Andy Whitcroft Thu, 10 Sep 2009 09:38:10 +0100 + +linux (2.6.31-10.30) karmic; urgency=low + + [ Amit Kucheria ] + + * [Config] Enable CONFIG_USB_DEVICEFS + - LP: #417748 + * [Config] Populate the config-update template a bit more + + [ Andy Whitcroft ] + + * rebase to v2.6.31-rc9 + * [Config] update configs following rebase to v2.6.31-rc9 + * [Config] update ports configs following rebase to v2.6.31-rc9 + + [ Colin Ian King ] + + * SAUCE: wireless: hostap, fix oops due to early probing interrupt + - LP: #254837 + + [ Jerone Young ] + + * [Upstream] ACPI: Add Thinkpad T400 & Thinkpad T500 to OSI(Linux) + white-list + - LP: #281732 + * [Upstream] ACPI: Add Thinkpad X200, X200s, X200t to OSI(Linux) + white-list + - LP: #281732 + * [Upstream] ACPI: Add Thinkpad X300 & Thinkpad X301 to OSI(Linux) + white-list + - LP: #281732 + * [Upstream] ACPI: Add Thinkpad R400 & Thinkpad R500 to OSI(Linux) + white-list + - LP: #281732 + * [Upstream] ACPI: Add Thinkpad W500, W700, & W700ds to OSI(Linux) + white-list + - LP: #281732 + + [ John Johansen ] + + * SAUCE: AppArmor: Fix profile attachment for regexp based profile names + - LP: #419308 + * SAUCE: AppArmor: Return the correct error codes on profile + addition/removal + - LP: #408473 + * SAUCE: AppArmor: Fix OOPS in profile listing, and display full list + - LP: #408454 + * SAUCE: AppArmor: Fix mapping of pux to new internal permission format + - LP: #419222 + * SAUCE: AppArmor: Fix change_profile failure + - LP: #401931 + * SAUCE: AppArmor: Tell git to ignore generated include files + - LP: #419505 + + [ Stefan Bader ] + + * [Upstream] acpi: video: Loosen strictness of video bus detection code + - LP: #333386 + * SAUCE: Remove ov511 driver from ubuntu subdirectory + + [ Tim Gardner ] + + * [Config] Exclude char-modules from non-x86 udeb creation + * SAUCE: Notify the ACPI call chain of AC events + * [Config] CONFIG_SATA_VIA=m + - LP: #403385 + * [Config] Build in all phylib support modules. + * [Config] Don't fail when sub-flavour files are missing + - LP: #423426 + * [Config] Set CONFIG_LSM_MMAP_MIN_ADDR=0 + - LP: #423513 + + [ Upstream ] + + * Rebased against v2.6.31-rc9 + + -- Andy Whitcroft Mon, 07 Sep 2009 11:33:45 +0100 + +linux (2.6.31-9.29) karmic; urgency=low + + [ Leann Ogasawara ] + + * [Upstream] agp/intel: support for new chip variant of IGDNG mobile + - LP: #419993 + * [Config] d-i/modules: Add new char-modules file, initialize with + intel-agp + - LP: #420605 + + [ Upstream ] + + * Rebased against 2.6.31-rc8 plus some inotify regression patches: + up through git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + adda766193ea1cf3137484a9521972d080d0b7af. + + -- Tim Gardner Fri, 28 Aug 2009 06:31:30 -0600 + +linux (2.6.31-8.28) karmic; urgency=low + + [ Ike Panhc ] + + * [Config] Let nic-shared-modules depends on crypto-modules + - LP: #360966 + + [ Leann Ogasawara ] + + * [Upstream] (drop after 2.6.31) drm/i915: increase default latency + constant + - LP: #412492 + + [ Mario Limonciello ] + + * [Upstream]: (drop after 2.6.31) dell-laptop: don't change softblock + status if HW switch is disabled + - LP: #418721 + * [Upstream]: (drop after 2.6.31) compal-laptop: Add support for known + Compal made Dell laptops + * [Upstream]: (drop after 2.6.31) compal-laptop: Replace sysfs support + with rfkill support + + [ Tim Gardner ] + + * [Config] Add acpiphp to virtual sub-flavour + - LP: #364916 + * Drop KSM patch set for now because of instabilities with encrypted swap. + - LP: #418781 + + -- Tim Gardner Wed, 26 Aug 2009 08:14:26 -0600 + +linux (2.6.31-7.27) karmic; urgency=low + + [ Tim Gardner ] + + * [Config] updateconfigs updateportsconfigs after 2.6.31-rc7 rebase + * SAUCE: (drop after 2.6.31) Added KSM from mmotm-2009-08-20-19-18 + Replaces previous ksm patches from 2.6.31-6.25 + * [Config] KSM=y + + [ Upstream ] + + * Rebased against v2.6.31-rc7 + + -- Tim Gardner Sat, 22 Aug 2009 20:32:11 -0600 + +linux (2.6.31-6.26) karmic; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable CONFIG_AUFS_BR_RAMFS + - LP: #414738 + * split out debian directory ready for abstraction + * add printdebian target to find branch target + * abstracted debian -- debian/files is not abstracted + * abstracted debian -- packages must be built in debian/ + * abstracted debian -- kernel-wedge needs to work in debian/ + * abstracted debian -- ensure we install the copyright file + * abstracted-debian -- drop the debian directories from headers + * abstracted-debian -- drop the debian directories from headers part 2 + * SAUCE: ubuntu-insert-changes -- follow abstracted debian + * [Upstream] aoe: ensure we initialise the request_queue correctly V2 + - LP: #410198 + + [ Luke Yelavich ] + + * [Config] Ports: Disable CONFIG_CPU_FREQ_DEBUG on powerpc-smp + * [Config] Ports: Re-enable windfarm modules on powerpc64-smp + - LP: #413150 + * [Config] Ports: Build all cpu frequency scaling governors into ports + kernels + * [Config] Ports: Build ext2 and ext3 modules into ports kernels + * [Config] Ports: CONFIG_PACKET=y for all ports kernels + * [Config] Ports: Enable PS3 network driver + + [ Stefan Bader ] + + * abstracted debian -- call $(DEBIAN)/rules using make + + [ Tim Gardner ] + + * [Config] Abstract the debian directory + * SAUCE: Improve error reporting in postinst + - LP: #358564 + + -- Tim Gardner Sun, 16 Aug 2009 20:33:28 -0600 + +linux (2.6.31-6.25) karmic; urgency=low + + [ Andy Whitcroft ] + + * script to generate Ubuntu changes from changelog + * [Config] standardise ANDROID options + * [Config] standardise CONFIG_ATM as module + * [Config] standardise CONFIG_LIB80211 as module + * [Config] disable CONFIG_PRINT_QUOTA_WARNING + * [Config] set CONFIG_CRAMFS as module + * [Config] enable CONFIG_DAB and modules + * [Config] set CONFIG_MAC80211_HWSIM as module + * [Config] set CONFIG_NET_CLS_FLOW as module + * [Config] set CONFIG_NF_CONNTRACK_SANE as module + * [Config] set CONFIG_NF_CT_PROTO_DCCP as module + * [Config] set CONFIG_RTC_DRV_DS1511 as module + * [Config] set CONFIG_RTC_DRV_R9701 as module + * [Config] set CONFIG_RTC_DRV_S35390A as module + * [Config] set CONFIG_TOIM3232_DONGLE as module + * [Config] standardise CONFIG_USB_MIDI_GADGET as module + * [Config] standardise CONFIG_USB_G_PRINTER as module + * [Config] standardise CONFIG_USB_SERIAL_IR as module + * [Config] set CONFIG_USB_SERIAL_IUU as module + * [Config] standardise CONFIG_USB_STORAGE_CYPRESS_ATACB as module + * [Config] standardise CONFIG_USB_STORAGE_ONETOUCH as module + * cleanup remains of dm-loop + * drop thinkpad ec and smapi support + * drop appleir + * [Config] update configs following rebase to v2.6.31-rc6 + * rebase to v2.6.31-rc6 + + [ Hugh Dickins ] + + * SAUCE: ksm patch 1, drop after 2.6.31 + * SAUCE: ksm patch 2, drop after 2.6.31 + * SAUCE: ksm patch 3, drop after 2.6.31 + * SAUCE: ksm patch 4, drop after 2.6.31 + * SAUCE: ksm patch 5, drop after 2.6.31 + * SAUCE: ksm patch 7, drop after 2.6.31 + + [ Izik Eidus ] + + * SAUCE: ksm patch 0, drop after 2.6.31 + * SAUCE: ksm patch 6, drop after 2.6.31 + * SAUCE: ksm patch 8, drop after 2.6.31 + * SAUCE: ksm patch 9, drop after 2.6.31 + + [ Luke Yelavich ] + + * [Config] Ports: Re-add PS3 modules to udebs + + [ Michael Casadevall ] + + * [Config] Update SPARC config and d-i files to reflect what can be built + + [ Tim Gardner ] + + * [Config] Removed armel package support + * [Config] Enabled CONFIG_KSM=y + + [ Upstream Kernel Changes ] + + * Rebased against v2.6.31-rc6 + * ARM: Cleanup: Revert "ARM: Add more cache memory types macros" + * ARM: Cleanup: Revert "Do not use OOB with MLC NAND" + * ARM: Cleanup: Revert "ARM: Make ARM arch aware of ubuntu/ drivers" + * ARM: Cleanup: Revert "ARM: IMX51: Make video capture drivers compile" + * ARM: Cleanup: Revert "ARM: IMX51: Fix isl29003 HWMON driver for i2c + changes" + * ARM: Cleanup: Revert "ARM: IMX51: IPU irq handler deadlock fix" + * ARM: Cleanup: Revert "ARM: IMX51: Babbage 2.5 needs a different system + revision" + * ARM: Cleanup: Revert "ARM: IMX51: Compile-in the IMX51 cpufreq driver + by default" + * ARM: Cleanup: Revert "ARM: IMX51: Enable ZONE_DMA for ARCH_MXC" + * ARM: Cleanup: Revert "ARM: IMX51: Make ARCH_MXC auto-enable + ARCH_MXC_CANONICAL" + * ARM: Cleanup: Revert "ARM: IMX51: Unconditionally disable + CONFIG_GPIOLIB" + * ARM: Cleanup: Revert "ARM: IMX51: Minimal changes for USB to work on + 2.6.31" + * ARM: Cleanup: Revert "ARM: IMX51: Fix plat-mxc/timer.c to handle imx51" + * ARM: Cleanup: Revert "ARM: IMX51: Make it compile." + * ARM: Cleanup: Revert "ARM: IMX51: Clean-up the craziness of including + mxc_uart.h _everywhere_" + * ARM: Cleanup: Revert "ARM: IMX51: Move board-mx51* header files to the + correct location" + * ARM: Cleanup: Revert "ARM: IMX51: Changed from snd_card_new to + snd_card_create" + * ARM: Cleanup: Revert "ARM: IMX51: Fix up merge error in Kconfig" + * ARM: Cleanup: Revert "ARM: IMX51: mxc_timer_init prototype" + * ARM: Cleanup: Revert "ARM: IMX51: Removed the mxc_gpio_port structure." + * ARM: Cleanup: Revert "ARM: IMX51: Added external declaration for + mxc_map_io." + * ARM: Cleanup: Revert "ARM: IMX51: Get to bus_id by calling dev_name." + * ARM: Cleanup: Revert "ARM: IMX51: Get to bus_id by calling dev_name." + * ARM: Cleanup: Revert "ARM: IMX51: snd_soc_machine structure replaced + with snd_soc_card." + * ARM: Cleanup: Revert "ARM: IMX51: codec structure was moved to the card + structure" + * ARM: Cleanup: Revert "ARM: IMX51: Hack to add defines for + DMA_MODE_READ/WRITE/MASK" + * ARM: Cleanup: Revert "ARM: IMX51: Add SoC and board support for + Freescale mx51 platform" + * Driver core: add new device to bus's list before probing + * [Upstream] (drop after 2.6.31) ALSA: hda - Reduce click noise at + power-saving + - LP: #381693, #399750, #380892 + + -- Andy Whitcroft Fri, 14 Aug 2009 11:32:23 +0100 + +linux (2.6.31-5.24) karmic; urgency=low + + [ Amit Kucheria ] + + * ARM: IMX51: Make video capture drivers compile + * [Config] IMX51: Config updates + + [ Andy Whitcroft ] + + * remove leftovers of dm-bbr + + [ Leann Ogasawara ] + + * Add pata_cs5535 to pata-modules + - LP: #318805 + + [ Luke Yelavich ] + + * [Config] CONFIG_PPC64=y for powerpc64-smp + * [Config] Set the maximum number of CPUs to 1024 for powerpc64-smp + * [Config] CONFIG_PPC_PS3=y for powerpc64-smp + * [Config] CONFIG_PPC_MAPLE=y on powerpc64-smp + * [Config] CONFIG_PPC_PASEMI=y on powerpc64-smp + * [Config] CONFIG_CPU_FREQ_PMAC64=y on powerpc64-smp + * [Config] Enable all PS3 drivers in powerpc64-smp + + [ Mario Limonciello ] + + * LIRC -- fix lirc-i2c 2.6.31 compilation + + [ Matthew Garrett ] + + * [Upstream] dell-laptop: Fix rfkill state queries + + [ Tim Gardner ] + + * [Config] Ignore armel ABI and module changes + * [Config] Update configs after rebase against 2.6.31-rc5 + + [ Upstream ] + + * Rebased to 2.6.31-rc5 + + -- Andy Whitcroft Tue, 28 Jul 2009 10:10:09 +0100 + +linux (2.6.31-4.23) karmic; urgency=low + + [ Andy Whitcroft ] + + * AUFS -- update to aufs2-30 20090727 + * [Config] enable AUFS FUSE support + + [ Luke Yelavich ] + + * [Config] CONFIG_JFS_FS=m on sparc + + [ Tim Gardner ] + + * [Upstream] dell-laptop: Fix rfkill state setting. + + -- Andy Whitcroft Mon, 27 Jul 2009 11:11:47 +0100 + +linux (2.6.31-4.22) karmic; urgency=low + + [ Amit Kucheria ] + + * ARM: IMX51: Add SoC and board support for Freescale mx51 platform + * ARM: IMX51: Move board-mx51* header files to the correct location + * ARM: IMX51: Clean-up the craziness of including mxc_uart.h _everywhere_ + * ARM: IMX51: Make it compile. + * ARM: IMX51: Unconditionally disable CONFIG_GPIOLIB + * ARM: IMX51: Make ARCH_MXC auto-enable ARCH_MXC_CANONICAL + * ARM: IMX51: Enable ZONE_DMA for ARCH_MXC + * ARM: IMX51: Compile-in the IMX51 cpufreq driver by default + * ARM: IMX51: Fix isl29003 HWMON driver for i2c changes + * ARM: USB: musb: Refer to musb_otg_timer_func under correct #ifdef + * ARM: staging: udlfb: Add vmalloc.h include + * UBUNTU [Config]: Bring imx51 config upto date with other flavours + + [ Brad Figg ] + + * ARM: IMX51: Hack to add defines for DMA_MODE_READ/WRITE/MASK + * ARM: IMX51: codec structure was moved to the card structure + * ARM: IMX51: snd_soc_machine structure replaced with snd_soc_card. + * ARM: IMX51: Get to bus_id by calling dev_name. + * ARM: IMX51: Get to bus_id by calling dev_name. + * ARM: IMX51: Added external declaration for mxc_map_io. + * ARM: IMX51: Removed the mxc_gpio_port structure. + * ARM: IMX51: mxc_timer_init prototype + * ARM: IMX51: Fix up merge error in Kconfig + * ARM: IMX51: Changed from snd_card_new to snd_card_create + + [ Dinh Nguyen ] + + * ARM: IMX51: Fix plat-mxc/timer.c to handle imx51 + * ARM: IMX51: Minimal changes for USB to work on 2.6.31 + * ARM: IMX51: Babbage 2.5 needs a different system revision + * ARM: IMX51: IPU irq handler deadlock fix + + [ Tim Gardner ] + + * [Config] Enabled CONFIG_CAN=m + - LP: #327243 + * [Config] Enabled CONFIG_SERIAL=m + - LP: #397189 + + -- Tim Gardner Fri, 24 Jul 2009 06:19:10 -0600 + +linux (2.6.31-4.21) karmic; urgency=low + + [ Amit Kucheria ] + + * dm-raid-4-5: Add missing brackets around test_bit() + + [ John Johansen ] + + * AppArmor: Fix change_profile failing lpn401931 + * AppArmor: Fix determination of forced AUDIT messages. + * AppArmor: Fix oops in auditing of the policy interface offset + + -- Andy Whitcroft Thu, 23 Jul 2009 19:18:30 +0100 + +linux (2.6.31-4.20) karmic; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: iscsitarget -- update to SVN revision r214 + * SAUCE: iscsitarget -- renable driver + * [Config] consolidate lpia/lpia and i386/generic configs + * [Config] enable CRYPTO modules for all architectures + * [Config] enable cryptoloop + * [Config] enable various filesystems for armel + * [Config] sync i386 generic and generic-pae + * [Config] add the 386 (486 processors and above) flavour + * [Config] re-set DEFAULT_MMAP_MIN_ADDR + - LP: #399914 + * add genconfigs/genportsconfigs to extract the built configs + * updateconfigs -- alter concatenation order allow easier updates + * intelfb -- INTELFB now conflicts with DRM_I915 + * printchanges -- rebase tree does not have stable tags use changelog + * AppArmor: fix argument size missmatch on 64 bit builds + + [ Ike Panhc ] + + * Ship bnx2x firmware in nic-modules udeb + - LP: #360966 + + [ Jeff Mahoney ] + + * AppArmor: fix build failure on ia64 + + [ John Johansen ] + + * AppArmour: ensure apparmor enabled parmater is off if AppArmor fails to + initialize. + * AppArmour: fix auditing of domain transitions to include target profile + information + * AppArmor: fix C99 violation + * AppArmor: revert reporting of create to write permission. + * SAUCE: Add config option to set a default LSM + * [Config] enable AppArmor by default + * AppArmor: Fix NULL pointer dereference oops in profile attachment. + + [ Keith Packard ] + + * SAUCE: drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class + hardware + - LP: #351756 + + [ Luke Yelavich ] + + * [Config] add .o files found in arch/powerpc/lib to all powerpc kernel + header packages + - LP: #355344 + + [ Michael Casadevall ] + + * [Config] update SPARC config files to allow success build + + [ Scott James Remnant ] + + * SAUCE: trace: add trace_event for the open() syscall + + [ Stefan Bader ] + + * SAUCE: jfs: Fix early release of acl in jfs_get_acl + - LP: #396780 + + [ Tim Gardner ] + + * [Upstream] Fix Soltech TA12 volume hotkeys not sending key release + - LP: #397499 + * [Upstream] USB Option driver - Add USB ID for Novatel MC727/U727/USB727 + refresh + - LP: #365291 + * [Config] SSB/B44 are common across all arches/flavours. + + [ Upstream ] + + * Rebased to 2.6.31-rc4 + + -- Andy Whitcroft Thu, 23 Jul 2009 08:41:39 +0100 + +linux (2.6.31-3.19) karmic; urgency=low + + [ Andy Whitcroft ] + + * Revert "[Config] Disabled NDISWRAPPER" + * ndiswrapper -- fix i386 compilation failures on cmpxchg8b + * AUFS -- export various core functions + * AUFS -- export various core functions -- fixes + * AUFS -- core filesystem + * AUFS -- track changes in v2.6.31 + * [Config] Enable AUFS + * droppped 'iwl3945: do not send scan command if channel count zero' as it + is already upstream but failed to auto-drop on rebase. + + [ Eric Paris ] + + * SAUCE: fsnotify: use def_bool in kconfig instead of letting the user + choose + * SAUCE: inotify: check filename before dropping repeat events + * SAUCE: fsnotify: fix inotify tail drop check with path entries + + -- Andy Whitcroft Tue, 14 Jul 2009 12:52:55 +0100 + +linux (2.6.31-3.18) karmic; urgency=low + + [ Andy Whitcroft ] + + * Revert "Add splice-2.6.23.patch from AUFS to export a symbol needed by + AUFS" + * Revert "Add put_filp.patch from AUFS to export a symbol needed by AUFS" + * Revert "Add sec_perm-2.6.24.patch from AUFS - export + security_inode_permission" + * clear out left over AUFS files and modifications + + [ Luke Yelavich ] + + * [Config] Enable CONFIG_USB_ISP116X_HCD on sparc + * SAUCE: Explicitly include header files to allow apparmor to build on + powerpc + * [Config] Enable CONFIG_BLK_DEV_IDECD on powerpc + + [ Tim Gardner ] + + * [Config] Dropped ubuntu/misc/wireless/acx + * [Config] Disabled NDISWRAPPER until the compile issues are fixed. + + [ Upstream ] + + * Rebased to 2.6.31-rc3 + + -- Andy Whitcroft Fri, 10 Jul 2009 18:59:33 +0100 + +linux (2.6.31-2.17) karmic; urgency=low + + [ Andy Whitcroft ] + + * [Config] CONFIG_BLK_DEV_CRYPTOLOOP=m for sparc + * compcache -- remove redundant Kconfig entries part 2 + * compcache -- clean up CCFLAGS declarations + * [Config] enable AppArmor + * AppArmor: fix operator precidence issue in as_path_link + + [ John Johansen ] + + * AppArmor security module + * AppArmor: Correct mapping of file permissions. + * AppArmor: Turn auditing of ptrace on + + [ Luke Yelavich ] + + * [Config] disable CONFIG_DM_RAID45 on powerpc + + -- Andy Whitcroft Fri, 10 Jul 2009 15:02:05 +0100 + +linux (2.6.31-2.16) karmic; urgency=low + + [ Andy Whitcroft ] + + * compcache -- remove redundant Kconfig entries + added ignore and ignore.modules for all arches since the compcache update + changes the modules names as well as some compcache ABI values. + + [ Manoj Iyer ] + + * SAUCE: updated dm-raid45 module version to 2009.04.24 (2.6.30-rc3) + * SAUCE: update compcache version to 0.5.3 + + [ Tim Gardner ] + + * [Config]: Fix sparc FTBS by adding ignore.modules + + -- Tim Gardner Mon, 06 Jul 2009 13:35:29 -0600 + +linux (2.6.31-2.15) karmic; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: default ATI Radeon KMS to off until userspace catches up + * [Config] Update configs following rebase to 2.6.31-rc2 + * [Config] update ports configs following update to 2.6.31-rc2 + + [ Luke Yelavich ] + + * [Config] powerpc - Disable CONFIG_RDS + + [ Matt Zimmerman ] + + * Rename linux-doc-PKGVER to linux-doc and clean up its description + - LP: #382115 + + [ Upstream Kernel Changes ] + + * rebased to mainline 2.6.31-rc2 + + -- Andy Whitcroft Sat, 04 Jul 2009 17:39:13 +0100 + +linux (2.6.31-1.14) karmic; urgency=low + + [ Andy Whitcroft ] + + * update ndiswrapper to 1.55 + * remove leftovers of gfs + * [Config] powerpc: enable CONFIG_PPC_DISABLE_WERROR + + [ Luke Yelavich ] + + * [Config] re-enable and build the ide-pmac driver into powerpc kernels + * [Config] Build the ServerWorks Frodo / Apple K2 SATA driver into the + kernel + + [ Manoj Iyer ] + + * Remove snd-bt-sco ubuntu driver + + [ Michael Casadevall ] + + * [Config] updates ia64 config and d-i folders to allow succesful build + * [Config] Update powerpc and sparc for 2.6.31 + + [ Upstream Kernel Changes ] + + * intel-iommu: fix Identity Mapping to be arch independent + - LP: #384695 + * ACPI: video: prevent NULL deref in acpi_get_pci_dev() + + -- Andy Whitcroft Tue, 30 Jun 2009 17:47:32 +0100 + +linux (2.6.31-1.13) karmic; urgency=low + + [ Andy Whitcroft ] + + * REBASE: rebased to mainline 2.6.31-rc1 + - "UBUNTU: SAUCE: UHCI USB quirk for resume" + no longer applies, using deprecated interfaces, LPIA only, dropped + - "UBUNTU: SAUCE: Mask off garbage in Dell WMI scan code data" + changes now upstream, dropped + * [Config] Update configs following rebase to 2.6.31-rc1 + * [Config] update ports configs following update to 2.6.31-rc1 + + * [Config] disable broken staging driver CONFIG_STLC45XX + * SAUCE: fix compcache to use updates accessors + * [Config] disable staging driver CONFIG_VT6655 + * SAUCE: fix DRDB to use updates accessors + * [Disable] ndiswrapper needs update + * [Disable] LIRC I2C needs update + * [Disable] CONFIG_LENOVO_SL_LAPTOP needs update + * [Config] disable I2C_DESIGNWARE does not compile + * [Config] disable CONFIG_TLSUP for lpia + * [Config] disable CONFIG_FB_UDL for arm + * SAUCE: disable adding scsi headers to linux-libc-dev + + [ Mario Limonciello ] + + * SAUCE: Add LIRC drivers + + -- Andy Whitcroft Thu, 25 Jun 2009 12:06:22 +0100 + +linux (2.6.30-10.12) karmic; urgency=low + + [ Andy Whitcroft ] + + * [Config] split out the ports configs into their own family + * [Config] update configs following introduction of ports family + + [ Upstream Kernel Changes ] + + * Revert "Rename linux-doc-PKGVER to linux-doc and clean up its + description". Fixes linux-doc package name conflicts for now. + - LP: #382115 + + -- Tim Gardner Mon, 22 Jun 2009 09:17:14 -0600 + +linux (2.6.30-10.11) karmic; urgency=low + + [ Amit Kucheria ] + + * [Config] Comment splitconfig.pl and misc cleanup + * [Config] Rename all configs to the new naming scheme + * [Config] Splitconfig rework + * [Config] Rename scripts/misc/oldconfig to kernelconfig + * [Config] Fix build system for new config split + * [Config] Run updateconfigs after the splitconfig rework + + [ Andy Whitcroft ] + + * Revert "SAUCE: Default to i915.modeset=0 if CONFIG_DRM_I915_KMS=y" + * [Config] standardise CONFIG_STAGING=y + * [Config] standardise CONFIG_RD_LZMA=y + * [Config] CONFIG_PCI_IOV=y + * [Config] CONFIG_PCI_STUB=m + * [Config] merge kernel configs more agressively + + [ Colin Watson ] + + * [Config] Run kernel-wedge in $(builddir) rather than at the top level + * [Config] Add support for including firmware in udebs + * [Config] Ship bnx2 firmware in nic-modules udeb + - LP: #384861 + + [ Luke Yelavich ] + + * [Config] ports - Import of ports architectures into kernel packaging + infrastructure + * [Config] ports - Do not update ports kernel configurations by default + * [Config] ports - Disable ABI checking for ports architectures + * [Config] ports - Build drivers in ubuntu sub-directory on powerpc + * [Config] ports - Add control.d/vars.* files for ports architectures + * [Config] ports - Add ports architectures for linux-libc-dev + * [Config] ports - Create powerpc specific message-modules and + block-modules udebs + * [Config] ports - Add configuration files for ports architectures + + [ Manoj Iyer ] + + * [Config] Enable CONFIG_BLK_DEV_AEC62XX=m for amd64 and i386 + - LP: #329864 + + [ Michael Casadevall ] + + * [Config] ports - Fix compression of kernels + + [ Stefan Bader ] + + * [Upstream] mmc: prevent dangling block device from accessing stale + queues + - LP: #383668 + + [ Tim Gardner ] + + * [Config] Recommend grub-pc in linux-image + - LP: #385741 + * [Config] Implement i386 generic and generic-pae flavours + * [Config] ports - Add control info after integrating ports arches + * [Config] Removed auto-generated files from git + * [Config] Added netxen_nic to nic-modules + - LP: #389603 + + [ Matt Zimmerman ] + + * Rename linux-doc-PKGVER to linux-doc and clean up its description + - LP: #382115 + + -- Tim Gardner Mon, 15 Jun 2009 14:38:26 -0600 + +linux (2.6.30-9.10) karmic; urgency=low + + [ Andy Whitcroft ] + + * [Config] CONFIG_SECURITY_TOMOYO=y (amd64, i386, lpia) + * [Config] CONFIG_KEXEC_JUMP=y (amd64, lpia) + * [Config] CONFIG_LENOVO_SL_LAPTOP=m (amd64, lpia) + * [Config] CONFIG_POHMELFS_CRYPTO=y (i386, amd64) + * [Config] CONFIG_SERIAL_MAX3100=m (i386, amd64, lpia) + * [Config] CONFIG_VIDEO_GO7007=m (amd64, i386) + + [ Upstream Kernel Changes ] + + * rebased to 2.6.30 final + + -- Andy Whitcroft Fri, 05 Jun 2009 11:42:53 +0100 + +linux (2.6.30-8.9) karmic; urgency=low + + [ Andy Whitcroft ] + + * Config update removed the following options: + CONFIG_EDAC_AMD8111=m + CONFIG_EDAC_AMD8131=m + + [ Upstream Kernel Changes ] + + * rebased to 2.6.30-rc8 + + -- Andy Whitcroft Wed, 03 Jun 2009 09:21:13 +0100 + +linux (2.6.30-7.8) karmic; urgency=low + + [ Andy Whitcroft ] + + * Enabled NEW configration options: + Paravirtualization layer for spinlocks (PARAVIRT_SPINLOCKS) [N/y/?] Y + Cisco FNIC Driver (FCOE_FNIC) [N/m/y/?] M + + [ Upstream Kernel Changes ] + + * rebased to 2.6.30-rc7 + + -- Andy Whitcroft Sat, 23 May 2009 23:47:24 +0100 + +linux (2.6.30-6.7) karmic; urgency=low + + [ Andy Whitcroft ] + + * Dropped: UBUNTU: SAUCE: input: Blacklist digitizers from joydev.c (now + upstream) + + [ Upstream Kernel Changes ] + + * rebased to 2.6.30-rc6 + + -- Andy Whitcroft Mon, 18 May 2009 18:05:54 +0100 + +linux (2.6.30-5.6) karmic; urgency=low + + [ Tim Gardner ] + + * [Config] Enable Keyspan USB serial device firmware in kernel module + - LP: #334285 + + [ Upstream Kernel Changes ] + + * rebased to 2.6.30-rc5 + + -- Tim Gardner Mon, 11 May 2009 12:02:16 -0600 + +linux (2.6.30-4.5) karmic; urgency=low + + [ Colin Watson ] + + * Build-Conflict with findutils (= 4.4.1-1ubuntu1), to avoid + /usr/include/asm/* going missing + - LP: #373214 + + -- Stefan Bader Fri, 08 May 2009 11:09:08 +0200 + +linux (2.6.30-3.4) karmic; urgency=low + + [ Kees Cook ] + + * SAUCE: [x86] implement cs-limit nx-emulation for ia32 + - LP: #369978 + + [ Stefan Bader ] + + * SAUCE: input: Blacklist digitizers from joydev.c + - LP: #300143 + + -- Tim Gardner Fri, 01 May 2009 14:00:42 -0600 + +linux (2.6.30-2.3) karmic; urgency=low + + [ Tim Gardner ] + + * [Config] Enabled CC_STACKPROTECTOR=y for all x86en + - LP: #369152 + * SAUCE: Default to i915_modeset=0 if CONFIG_DRM_I915_KMS=y + * [Config] CONFIG_DRM_I915_KMS=y + * [Config] Set CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR to appropriate ARCH + minimums + + [ Upstream Kernel Changes ] + + * rebased to 2.6.30-rc4 + + -- Tim Gardner Thu, 30 Apr 2009 09:17:05 -0600 + +linux (2.6.30-1.2) karmic; urgency=low + + [ Tim Gardner ] + + * [Config] armel: disable staging drivers, fixes FTBS + * [Config] armel imx51: Disable CONFIG_MTD_NAND_MXC, fixes FTBS + + [ Upstream Kernel Changes ] + + * mpt2sas: Change reset_type enum to avoid namespace collision. + Submitted upstream. + + -- Tim Gardner Tue, 28 Apr 2009 16:54:41 -0600 + +linux (2.6.30-1.1) karmic; urgency=low + + * Initial release after rebasing against v2.6.30-rc3 + + -- Tim Gardner Thu, 12 Mar 2009 19:16:07 -0600 --- linux-lowlatency-3.5.0.orig/debian.master/changelog.historical +++ linux-lowlatency-3.5.0/debian.master/changelog.historical @@ -0,0 +1,4171 @@ + +linux (2.6.28-9.31) jaunty; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: cpufreq-nforce2: probe failures are not errors + - LP: #332170 + * SAUCE: mmc: add MODALIAS linkage for MMC/SD devices + - LP: #30335 + * remove test-suspend script + - LP: #333856 + + [ Kees Cook ] + + * handle relative paths in modules.dep + Fixes 2.6.28-9.30 FTBS. + + [ Upstream Kernel Changes ] + + * ricoh_mmc: Handle newer models of Ricoh controllers + + -- Tim Gardner Wed, 11 Mar 2009 08:19:24 -0600 + +linux (2.6.28-9.30) jaunty; urgency=low + + [ Amit Kucheria ] + + * ARM:mx51 Add SoC and board support for mx51 platforms + * ARM:mx51 Add CONFIG_ARCH_MXC_CANONICAL to disable parts of Freescale's + code + * MMC: Add support for 8-bit cards + * Add ARM:MX51 SoC support to the build system + * ARM: Make ARM arch aware of ubuntu/ drivers + * ARM: Add imx51 configuration + * Disable d-i modules for imx51 and mv78xx0 + * Disable Apparmor on boot for ARM + * Updating imx51 config + + [ Jason Liu ] + + * Do not use OOB with MLC NAND + + [ Richard Zhu ] + + * Support the eMMC4.3 card + + [ Rob Herring ] + + * ARM: Add more cache memory types macros + + [ Tim Gardner ] + + * Set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y for i386/amd64/lpia + + [ Manoj Iyer ] + + * Enable CONFIG_RTL8187SE=m + + [ Upstream Kernel Changes ] + + * USB: EHCI: slow down ITD reuse + - LP: #329437 + + -- Tim Gardner Sun, 08 Mar 2009 14:14:15 -0600 + +linux (2.6.28-9.29) jaunty; urgency=low + + [ Andy Whitcroft ] + + * link-headers -- only link directories which do not already exist + - LP: #315252 + + [ Daniel Marjamäki ] + + * SAUCE: (drop after 2.6.28) netxen: fix memory leak in + drivers/net/netxen_nic_init.c + - LP: #330813 + + [ Dhananjay Phadke ] + + * SAUCE: (drop after 2.6.28) netxen: fix endianness in firmware commands + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: fix ipv6 offload and tx cleanup + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: fix link speed reporting for some + boards + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: firmware init fix + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: cleanup mac list on driver unload + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: hold tx lock while sending firmware + commands + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: handle dma mapping failures + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: avoid invalid iounmap + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: include ipv6.h (fixes build failure) + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: fix vlan tso/checksum offload + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: reduce memory footprint + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: revert jumbo ringsize + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: fix msi-x interrupt handling + - LP: #330813 + * SAUCE: (drop after 2.6.28) netxen: remove pcie workaround + - LP: #330813 + + [ Hannes Eder ] + + * SAUCE: (drop after 2.6.28) drivers/net/netxen: fix sparse warnings: use + NULL pointer instead of plain integer + - LP: #330813 + + [ Huaxu Wan ] + + * SAUCE: report rfkill changes event if interface is down + - LP: #193970 + + [ Tim Gardner ] + + * MV78XX0 must specify a target in the vars definition. + + [ Upstream Kernel Changes ] + + * Revert "ext4: wait on all pending commits in ext4_sync_fs()" + * jbd2: Fix return value of jbd2_journal_start_commit() + * jbd2: Avoid possible NULL dereference in + jbd2_journal_begin_ordered_truncate() + * ext4: Fix to read empty directory blocks correctly in 64k + * ext4: Fix lockdep warning + * ext4: Initialize preallocation list_head's properly + * ext4: Implement range_cyclic in ext4_da_writepages instead of + write_cache_pages + * ext4: Fix NULL dereference in ext4_ext_migrate()'s error handling + * ext4: Add fallback for find_group_flex + * ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin() + * Added mv78xx0 flavor + + -- Tim Gardner Fri, 06 Mar 2009 06:13:31 -0700 + +linux (2.6.28-8.28) jaunty; urgency=low + + [ Alexey Starikovskiy ] + + * SAUCE: ACPI: EC: Limit workaround for ASUS notebooks even more + - LP: #288385 + + [ Scott James Remnant ] + + * SAUCE: Auto-load esp module when device opened. + * SAUCE: Auto-load bridge module when socket opened. + * SAUCE: Auto-load af_netlink module when socket opened. + * SAUCE: Auto-load wanrouter module when socket opened. + * SAUCE: Auto-load ip_queue module when socket opened. + * SAUCE: Auto-load ip6_queue module when socket opened. + * SAUCE: Auto-load cn module when socket opened. + * SAUCE: Auto-load scsi_transport_iscsi module when socket opened. + * SAUCE: Auto-load ftl module when device opened. + * SAUCE: Auto-load pcd module when device opened. + * SAUCE: Auto-load pf module when device opened. + * SAUCE: Auto-load nftl module when device opened. + * SAUCE: Auto-load mousedev module when psaux device opened. + * SAUCE: Auto-load mousedev module when /dev/input/mice opened. + * SAUCE: Auto-load rng-core module when device opened. + * SAUCE: Auto-load openprom module when device opened. + * SAUCE: Auto-load applicom module when device opened. + * SAUCE: Auto-load toshiba module when device opened. + * SAUCE: Auto-load cyclades module when device opened. + * SAUCE: Auto-load riscom8 module when device opened. + * SAUCE: Auto-load specialix module when device opened. + * SAUCE: Auto-load videodev module when device opened. + * SAUCE: Auto-load i2c_dev module when device opened. + * SAUCE: Auto-load mtdchar module when device opened. + * SAUCE: Auto-load pt module when device opened. + * SAUCE: Auto-load pg module when device opened. + * SAUCE: Auto-load cdc_acm module when device opened. + * SAUCE: Auto-load msr module when device opened. + * SAUCE: Auto-load cpuid module when device opened. + * SAUCE: quickcam: Enable double-buffering by default + * SAUCE: libata: Ignore HPA by default. + * SAUCE: hostap: Change initial operation mode to managed (infra) + * SAUCE: floppy: Provide a PnP device table in the module. + - LP: #255651 + * SAUCE: Auto-load mwave module when device opened. + * Build CONFIG_FUSE_FS into kernel, not as module. + + [ Stefan Bader ] + + * Enable build of ext4 as a module on LPIA + - LP: #331848 + + [ Tim Gardner ] + + * Update configs to fix LPIA FTBS + + -- Tim Gardner Thu, 05 Mar 2009 10:43:24 -0700 + +linux (2.6.28-8.27) jaunty; urgency=low + + [ Amit Kucheria ] + + * Updating configs (arm:ixp4xx) + + [ Andy Whitcroft ] + + * SAUCE: enable Intel HDMI output + + [ Manoj Iyer ] + + * SAUCE: Added quirk for Linksys WUSB600N USB wifi-n networking adapter + - LP: #323473 + + [ Steve Beattie ] + + * fix apparmor memory leak on unlinked file ops + - LP: #329489 + + [ Tim Gardner ] + + * SAUCE: Dell XPS710 reboot quirk + - LP: #323592 + * SAUCE: (drop after 2.6.28) ieee80211: Add infrastructure to obsolete + scan results + - LP: #336055 + * Add modules.order to the linux-image package. + + [ Upstream Kernel Changes ] + + * iwlwifi: fix time interval misuse in iwl_poll_{direct_}bit + * x86: only scan the root bus in early PCI quirks + - LP: #267295 + * ALSA: hda - Intel HDMI audio support + * ALSA: hda - Fix unused function in patch_intelhdmi.c + * ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.c + * ALSA: hda-intel: reorder HDMI audio enabling sequence + * ALSA: introduce snd_print_pcm_rates() + * ALSA: create hda_eld.c for ELD routines and proc interface + * ALSA: ELD proc interface for HDMI sinks + * ALSA: hda: make standalone hdmi_fill_audio_infoframe() + * ALSA: hda: make global snd_print_channel_allocation() + * ALSA: hda: HDMI channel allocations for audio infoframe + * ALSA: hda: HDMI channel mapping cleanups + * ALSA: hda: minor code cleanups + * ALSA: hda: rename sink_eld to hdmi_eld + * ALSA: hda - Release ELD proc file + * ALSA: hda - minor HDMI code cleanups + * ALSA: hda - report selected CA index for Audio InfoFrame + * ALSA: hda - Add Intel vendor id string + + -- Tim Gardner Wed, 25 Feb 2009 14:23:46 -0700 + +linux (2.6.28-8.26) jaunty; urgency=low + + [ Amit Kucheria ] + + * Updating configs (armel:ixp4xx) + - LP: #331510 + + [ Tim Gardner ] + + * Add more missing modules + + -- Tim Gardner Tue, 24 Feb 2009 06:58:53 -0700 + +linux (2.6.28-8.25) jaunty; urgency=low + + [ Scott James Remnant ] + + * SAUCE: Prefer powernow-k8 to acpi-cpufreq + * Change CONFIG_X86_P4_CLOCKMOD to be a module again. + + [ Tim Gardner ] + + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Initialize the new + group descriptor when resizing the filesystem" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Add sanity check + to make_indexed_dir" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: only use + i_size_high for regular files" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Add sanity checks + for the superblock before mounting the filesystem" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Fix + s_dirty_blocks_counter if block allocation failed with nodelalloc" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Init the complete + page while building buddy cache" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Don't allow new + groups to be added during block allocation" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: mark the + blocks/inode bitmap beyond end of group as used" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Use new + buffer_head flag to check uninit group bitmaps initialization" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Fix the race + between read_inode_bitmap() and ext4_new_inode()" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Fix race between + read_block_bitmap() and mark_diskspace_used()" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: don't use blocks + freed but not yet committed in buddy cache init" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: cleanup mballoc + header files" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Use + EXT4_GROUP_INFO_NEED_INIT_BIT during resize" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Add blocks added + during resize to bitmap" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Don't overwrite + allocation_context ac_status" + * Revert "SAUCE: (revert before 2.6.28.y update) jbd2: Add barrier not + supported test to journal_wait_on_commit_record" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Widen type of + ext4_sb_info.s_mb_maxs[]" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: avoid ext4_error + when mounting a fs with a single bg" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Fix the delalloc + writepages to allocate blocks at the right offset." + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: tone down + ext4_da_writepages warnings" + * Revert "SAUCE: (revert before 2.6.28.y update) ext4: Add support for + non-native signed/unsigned htree hash algorithms" + * Enabled X86_ACPI_CPUFREQ=y + + [ Upstream Kernel Changes ] + + * ath9k: quiet harmless ForceXPAon messages + - LP: #321474 + * [WATCHDOG] iTCO_wdt: fix SMI_EN regression 2 + - LP: #314050 + * pid: implement ns_of_pid + * mqueue: fix si_pid value in mqueue do_notify() + * powerpc/vsx: Fix VSX alignment handler for regs 32-63 + * sata_nv: give up hardreset on nf2 + * Fix Intel IOMMU write-buffer flushing + * SCSI: libiscsi: fix iscsi pool leak + * x86/cpa: make sure cpa is safe to call in lazy mmu mode + * sched: SCHED_OTHER vs SCHED_IDLE isolation + * x86, vm86: fix preemption bug + * Add support for VT6415 PCIE PATA IDE Host Controller + * ext2/xip: refuse to change xip flag during remount with busy inodes + * 3c505: do not set pcb->data.raw beyond its size + * Bluetooth: Fix TX error path in btsdio driver + * ext4: Add support for non-native signed/unsigned htree hash algorithms + * ext4: tone down ext4_da_writepages warnings + * ext4: Fix the delalloc writepages to allocate blocks at the right + offset. + * ext4: avoid ext4_error when mounting a fs with a single bg + * ext4: Widen type of ext4_sb_info.s_mb_maxs[] + * jbd2: Add barrier not supported test to journal_wait_on_commit_record + * ext4: Don't overwrite allocation_context ac_status + * ext4: Add blocks added during resize to bitmap + * ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize + * ext4: cleanup mballoc header files + * ext4: don't use blocks freed but not yet committed in buddy cache init + * ext4: Fix race between read_block_bitmap() and mark_diskspace_used() + * ext4: Fix the race between read_inode_bitmap() and ext4_new_inode() + * ext4: Use new buffer_head flag to check uninit group bitmaps + initialization + * ext4: mark the blocks/inode bitmap beyond end of group as used + * ext4: Don't allow new groups to be added during block allocation + * ext4: Init the complete page while building buddy cache + * ext4: Fix s_dirty_blocks_counter if block allocation failed with + nodelalloc + * ext4: Add sanity checks for the superblock before mounting the + filesystem + * ext4: only use i_size_high for regular files + * ext4: Add sanity check to make_indexed_dir + * ext4: Initialize the new group descriptor when resizing the filesystem + * Fix longstanding "error: storage size of '__mod_dmi_device_table' isn't + known" + * Linux 2.6.28.7 + + -- Tim Gardner Thu, 19 Feb 2009 06:45:55 -0700 + +linux (2.6.28-8.24) jaunty; urgency=low + + [ Scott James Remnant ] + + * Change CPU_FREQ_DEFAULT_GOV_ONDEMAND to y + * SAUCE: Link acpi-cpufreq.o first + + [ Tim Gardner ] + + * Build in CPU Frequency scaling drivers + + -- Tim Gardner Wed, 18 Feb 2009 06:12:24 -0700 + +linux (2.6.28-8.23) jaunty; urgency=low + + [ Andy Whitcroft ] + + * include the kernel configuration in the sub-flavour images + - LP: #328859 + + [ Tim Gardner ] + + * Revert "SAUCE: (drop after 2.6.28) [eCryptfs] Regression in unencrypted + filename symlinks" in favor of upstream commit. + * Fix compile issues with qc-usb + * SAUCE: (remove after 2.6.28) V4L/DVB (10216): saa7127: fix broken + S-Video with saa7129 + - LP: #329267 + + [ Upstream Kernel Changes ] + + * Subject:SAUCE: LP#193970 iwlagn: fix hw-rfkill while the interface is + down + - LP: #193970 + * x86, vmi: put a missing paravirt_release_pmd in pgd_dtor + * nbd: fix I/O hang on disconnected nbds + * mac80211: restrict to AP in outgoing interface heuristic + * w1: w1 temp calculation overflow fix + * zd1211rw: adding 0ace:0xa211 as a ZD1211 device + * zd1211rw: treat MAXIM_NEW_RF(0x08) as UW2453_RF(0x09) for TP-Link + WN322/422G + * parport: parport_serial, don't bind netmos ibm 0299 + * syscall define: fix uml compile bug + * kernel-doc: fix syscall wrapper processing + * Fix page writeback thinko, causing Berkeley DB slowdown + * write-back: fix nr_to_write counter + * writeback: fix break condition + * mm: rearrange exit_mmap() to unlock before arch_exit_mmap + * powerpc/fsl-booke: Fix mapping functions to use phys_addr_t + * lockd: fix regression in lockd's handling of blocked locks + * sctp: Fix crc32c calculations on big-endian arhes. + * sctp: Correctly start rtx timer on new packet transmissions. + * sctp: Properly timestamp outgoing data chunks for rtx purposes + * net: Fix frag_list handling in skb_seq_read + * net: Fix OOPS in skb_seq_read(). + * drivers/net/skfp: if !capable(CAP_NET_ADMIN): inverted logic + * ipv4: fix infinite retry loop in IP-Config + * net: Fix userland breakage wrt. linux/if_tunnel.h + * net: packet socket packet_lookup_frame fix + * packet: Avoid lock_sock in mmap handler + * sungem: Soft lockup in sungem on Netra AC200 when switching interface + up + * udp: Fix UDP short packet false positive + * udp: increments sk_drops in __udp_queue_rcv_skb() + * ipv6: Disallow rediculious flowlabel option sizes. + * ipv6: Copy cork options in ip6_append_data + * net: 4 bytes kernel memory disclosure in SO_BSDCOMPAT gsopt try #2 + * sky2: fix hard hang with netconsoling and iface going up + * tun: Add some missing TUN compat ioctl translations. + * tun: Fix unicast filter overflow + * virtio_net: Fix MAX_PACKET_LEN to support 802.1Q VLANs + * tcp: splice as many packets as possible at once + * tcp: Fix length tcp_splice_data_recv passes to skb_splice_bits. + * sparc: Enable syscall wrappers for 64-bit (CVE-2009-0029) + * sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() + * ALSA: hda - Add missing terminator in slave dig-out array + * ALSA: mtpav - Fix initial value for input hwport + * HID: adjust report descriptor fixup for MS 1028 receiver + * ide/libata: fix ata_id_is_cfa() (take 4) + * libata: fix EH device failure handling + * netfilter: fix tuple inversion for Node information request + * netfilter: xt_sctp: sctp chunk mapping doesn't work + * x86: microcode_amd: fix wrong handling of equivalent CPU id + * ide-cd: fix DMA for non bio-backed requests + * net: Fix data corruption when splicing from sockets. + * Linux 2.6.28.6 + * eCryptfs: Regression in unencrypted filename symlinks + + -- Tim Gardner Mon, 16 Feb 2009 06:43:51 -0700 + +linux (2.6.28-8.22) jaunty; urgency=low + + [ Amit Kucheria ] + + * Remove perm-blacklist + + [ Andy Whitcroft ] + + * SAUCE: psmouse/synaptics: ensure we reset the device on resume + - LP: #317270 + + [ Tim Gardner ] + + * Add lpia to getabi script + * SAUCE: tracer for sreadahead + + -- Amit Kucheria Fri, 13 Feb 2009 15:23:21 +0200 + +linux (2.6.28-8.21) jaunty; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: switch the Asus Pundit P1-AH2 to old acpi sleep ordering + - LP: #327267 + + [ Tim Gardner ] + + * Added LPIA arch support + * Added libdrm-dev as a 'Replaces' to linux-libc-dev + * SAUCE: LPIA support for 9202 HDA Sigmatel codec + * SAUCE: Add an X86_LPIA Kconfig option + * SAUCE: UHCI USB quirk for resume + * SAUCE: LPIA Reboot fix for Intel Crownbeach development boards + * SAUCE: LPIA Logical reset of USB port on resume + * Set CONFIG_WIRELESS_OLD_REGULATORY=n, added wireless-crda + as an install dependency. + + [ Upstream Kernel Changes ] + + * Revert "Revert "x86, early_ioremap: fix fencepost error"" + - LP: #312554 + * drm/i915: capture last_vblank count at IRQ uninstall time too + - LP: #320813 + * drm/i915: add get_vblank_counter function for GM45 + - LP: #320813 + * Staging: comedi: fix Kbuild + * Staging: meilhaus: fix Kbuild + * Staging: android: binder: fix arm build errors + * Staging: android: timed_gpio: Fix build to build on kernels after + 2.6.25. + * Staging: android: fix build error on 64bit boxes + * Staging: android: Add lowmemorykiller documentation. + * Staging: android: task_get_unused_fd_flags: fix the wrong usage of + tsk->signal + * staging: agnx: drivers/staging/agnx/agnx.h needs + * Staging: usbip: usbip_start_threads(): handle kernel_thread failure + * Staging: poch: fix verification of memory area + * Documentation: move DMA-mapping.txt to Doc/PCI/ + * sgi-xp: fix writing past the end of kzalloc()'d space + * do_wp_page: fix regression with execute in place + * wait: prevent exclusive waiter starvation + * shm: fix shmctl(SHM_INFO) lockup with !CONFIG_SHMEM + * revert "rlimit: permit setting RLIMIT_NOFILE to RLIM_INFINITY" + * prevent kprobes from catching spurious page faults + * sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices + * md: Ensure an md array never has too many devices. + * md: Fix a bug in linear.c causing which_dev() to return the wrong + device. + * ACPI: Enable bit 11 in _PDC to advertise hw coord + * ACPI: dock: Don't eval _STA on every show_docked sysfs read + * ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from + Panasonic camcorders and others + * firewire: ohci: increase AT req. retries, fix ack_busy_X from Panasonic + camcorders and others + * firewire: sbp2: fix DMA mapping leak on the failure path + * firewire: sbp2: add workarounds for 2nd and 3rd generation iPods + * ieee1394: sbp2: add workarounds for 2nd and 3rd generation iPods + * module: remove over-zealous check in __module_get() + * x86: APIC: enable workaround on AMD Fam10h CPUs + * eeepc-laptop: fix oops when changing backlight brightness during + eeepc-laptop init + * eeepc-laptop: Add support for extended hotkeys + * e1000: fix bug with shared interrupt during reset + * e1000: Fix PCI enable to honor the need_ioport flag + * agp/intel: Fix broken ® symbol in device name. + * ALSA: hda - Add quirk for FSC Amilo Xi2550 + * ALSA: hda - Add missing COEF initialization for ALC887 + * ALSA: hda - Add missing initialization for ALC272 + * asus_acpi: Add R1F support + * panasonic-laptop: fix X[ ARRAY_SIZE(X) ] + * ACPI: Skip the first two elements in the _BCL package + * ACPI: proc_dir_entry 'video/VGA' already registered + * ACPI: disable ACPI cleanly when bad RSDP found + * ACPICA: Fix table entry truncation calculation + * PCI: properly clean up ASPM link state on device remove + * PCI: return error on failure to read PCI ROMs + * seq_file: move traverse so it can be used from seq_read + * seq_file: fix big-enough lseek() + read() + * serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS + EX-41092 Dual 16950 Serial adapter + * Add support for '8-port RS-232 MIC-3620 from advantech' + * mm: fix error case in mlock downgrade reversion + * elf core dump: fix get_user use + * ACPI: video: Fix reversed brightness behavior on ThinkPad SL series + * ipw2200: fix scanning while associated + * XFS: set b_error from bio error in xfs_buf_bio_end_io + * Revert USB: option: add Pantech cards + * USB: option: New mobile broadband modems to be supported + * USB: new id for ti_usb_3410_5052 driver + * USB: two more usb ids for ti_usb_3410_5052 + * USB: usb-storage: add Pentax to the bad-vendor list + * sata_via: Add VT8261 support + * nbd: do not allow two clients at the same time + * sctp: Fix another socket race during accept/peeloff + * Linux 2.6.28.5 + + -- Tim Gardner Mon, 09 Feb 2009 16:11:28 -0700 + +linux (2.6.28-7.20) jaunty; urgency=low + + [ Tim Gardner ] + + * SAUCE: Input: atkbd - Samsung NC10 key repeat fix + + [ Upstream Kernel Changes ] + + * Manually revert "mlock: downgrade mmap sem while populating mlocked + regions" + * xen: make sysfs files behave as their names suggest + * sata_mv: fix 8-port timeouts on 508x/6081 chips + * m68knommu: set NO_DMA + * PCI/MSI: bugfix/utilize for msi_capability_init() + * x86: use early clobbers in usercopy*.c + * netfilter: ctnetlink: fix scheduling while atomic + * orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in + orinoco_ioctl_set_genie + * fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks + * kmalloc: return NULL instead of link failure + * sata_nv: rename nv_nf2_hardreset() + * sata_nv: fix MCP5x reset + * sata_nv: ck804 has borked hardreset too + * Fix memory corruption in console selection + * Add enable_ms to jsm driver + * nfsd: only set file_lock.fl_lmops in nfsd4_lockt if a stateowner is + found + * nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT + * iwlwifi: fix rs_get_rate WARN_ON() + * p54: fix lm87 checksum endianness + * p54: fix p54_read_eeprom to cope with tx_hdr_len + * p54usb: rewriting rx/tx routines to make use of usb_anchor's facilities + * minstrel: fix warning if lowest supported rate index is not 0 + * PCI: irq and pci_ids patch for Intel Tigerpoint DeviceIDs + * cpuidle: Add decaying history logic to menu idle predictor + * ACPI: Avoid array address overflow when _CST MWAIT hint bits are set + * video: always update the brightness when poking "brightness" + * Newly inserted battery might differ from one just removed, so update of + battery info fields is required. + * ACPI: Do not modify SCI_EN directly + * dlm: initialize file_lock struct in GETLK before copying conflicting + lock + * sata_mv: Fix chip type for Hightpoint RocketRaid 1740/1742 + * ACPICA: Allow multiple backslash prefix in namepaths + * Linux 2.6.28.4 + + -- Tim Gardner Sat, 07 Feb 2009 18:53:42 -0700 + +linux (2.6.28-7.19) jaunty; urgency=low + + * Fix missing modules FTBS + + -- Tim Gardner Thu, 05 Feb 2009 15:28:15 -0700 + +linux (2.6.28-7.18) jaunty; urgency=low + + [ Alok Kataria ] + + * SAUCE: (drop after 2.6.29) x86: add a synthetic TSC_RELIABLE feature + bit + - LP: #319945 + * SAUCE: (drop after 2.6.29) x86: add X86_FEATURE_HYPERVISOR feature bit + - LP: #319945 + * SAUCE: (drop after 2.6.29) x86: Hypervisor detection and get tsc_freq + from hypervisor + - LP: #319945 + * SAUCE: (drop after 2.6.29) x86: Add a synthetic TSC_RELIABLE feature + bit. + - LP: #319945 + * SAUCE: (drop after 2.6.29) x86: Skip verification by the watchdog for + TSC clocksource. + - LP: #319945 + * SAUCE: (drop after 2.6.29) x86: VMware: Fix vmware_get_tsc code + - LP: #319945 + * SAUCE: (drop after 2.6.29) x86: vmware: look for DMI string in the + product serial key + - LP: #319945 + + [ Andy Whitcroft ] + + * SAUCE: toshiba_acpi -- pull in current -dev version of driver + - LP: #269831 + * SAUCE: toshiba_acpi -- add acpi hotkey kernel thread + - LP: #269831 + * move toshiba laptops back from tlsup to toshiba_acpi + - LP: #269831 + + [ Aneesh Kumar K.V ] + + * SAUCE: (revert before 2.6.28.y update) ext4: Fix the delalloc + writepages to allocate blocks at the right offset. + * SAUCE: (revert before 2.6.28.y update) ext4: avoid ext4_error when + mounting a fs with a single bg + * SAUCE: (revert before 2.6.28.y update) ext4: Don't overwrite + allocation_context ac_status + * SAUCE: (revert before 2.6.28.y update) ext4: Add blocks added during + resize to bitmap + * SAUCE: (revert before 2.6.28.y update) ext4: Use + EXT4_GROUP_INFO_NEED_INIT_BIT during resize + * SAUCE: (revert before 2.6.28.y update) ext4: cleanup mballoc header + files + * SAUCE: (revert before 2.6.28.y update) ext4: don't use blocks freed but + not yet committed in buddy cache init + * SAUCE: (revert before 2.6.28.y update) ext4: Fix race between + read_block_bitmap() and mark_diskspace_used() + * SAUCE: (revert before 2.6.28.y update) ext4: Fix the race between + read_inode_bitmap() and ext4_new_inode() + * SAUCE: (revert before 2.6.28.y update) ext4: Use new buffer_head flag + to check uninit group bitmaps initialization + * SAUCE: (revert before 2.6.28.y update) ext4: mark the blocks/inode + bitmap beyond end of group as used + * SAUCE: (revert before 2.6.28.y update) ext4: Don't allow new groups to + be added during block allocation + * SAUCE: (revert before 2.6.28.y update) ext4: Init the complete page + while building buddy cache + * SAUCE: (revert before 2.6.28.y update) ext4: Fix s_dirty_blocks_counter + if block allocation failed with nodelalloc + + [ Hannes Eder ] + + * SAUCE: (drop after 2.6.29) x86: vmware - fix sparse warnings + - LP: #319945 + + [ Luke Yelavich ] + + * hid modules have hyphens instead of underscores in their names + + [ Mark Fasheh ] + + * SAUCE: (revert before 2.6.28.y update) jbd2: Add BH_JBDPrivateStart + + [ Theodore Ts'o ] + + * SAUCE: (revert before 2.6.28.y update) ext4: Add support for non-native + signed/unsigned htree hash algorithms + * SAUCE: (revert before 2.6.28.y update) ext4: tone down + ext4_da_writepages warnings + * SAUCE: (revert before 2.6.28.y update) jbd2: Add barrier not supported + test to journal_wait_on_commit_record + * SAUCE: (revert before 2.6.28.y update) ext4: Add sanity checks for the + superblock before mounting the filesystem + * SAUCE: (revert before 2.6.28.y update) ext4: only use i_size_high for + regular files + * SAUCE: (revert before 2.6.28.y update) ext4: Add sanity check to + make_indexed_dir + * SAUCE: (revert before 2.6.28.y update) jbd2: On a __journal_expect() + assertion failure printk "JBD2", not "EXT3-fs" + * SAUCE: (revert before 2.6.28.y update) ext4: Initialize the new group + descriptor when resizing the filesystem + + [ Tyler Hicks ] + + * SAUCE: (drop after 2.6.28) [eCryptfs] Regression in unencrypted + filename symlinks + - LP: #322532 + + [ Upstream Kernel Changes ] + + * Input: atkbd - broaden the Dell DMI signatures + - LP: #261721 + * ti_usb_3410_5052: support alternate firmware + * ath5k: fix mesh point operation + * mac80211: decrement ref count to netdev after launching mesh discovery + * inotify: clean up inotify_read and fix locking problems + * fuse: destroy bdi on umount + * fuse: fix missing fput on error + * fuse: fix NULL deref in fuse_file_alloc() + * x86, mm: fix pte_free() + * klist.c: bit 0 in pointer can't be used as flag + * sysfs: fix problems with binary files + * x86: fix page attribute corruption with cpa() + * USB: fix toggle mismatch in disable_endpoint paths + * sound: virtuoso: enable UART on Xonar HDAV1.3 + * USB: usbmon: Implement compat_ioctl + * USB: fix char-device disconnect handling + * USB: storage: add unusual devs entry + * alpha: nautilus - fix compile failure with gcc-4.3 + * alpha: fix vmalloc breakage + * resources: skip sanity check of busy resources + * rtl8187: Add termination packet to prevent stall + * it821x: Add ultra_mask quirk for Vortex86SX + * libata: pata_via: support VX855, future chips whose IDE controller use + 0x0571 + * serial_8250: support for Sealevel Systems Model 7803 COMM+8 + * drm: stash AGP include under the do-we-have-AGP ifdef + * Fix OOPS in mmap_region() when merging adjacent VM_LOCKED file segments + * bnx2x: Block nvram access when the device is inactive + * ext3: Add sanity check to make_indexed_dir + * rtl8187: Fix error in setting OFDM power settings for RTL8187L + * epoll: drop max_user_instances and rely only on max_user_watches + * gpiolib: fix request related issue + * sgi-xpc: Remove NULL pointer dereference. + * sgi-xpc: ensure flags are updated before bte_copy + * include/linux: Add bsg.h to the Kernel exported headers + * ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs + * ALSA: hda - add another MacBook Pro 4, 1 subsystem ID + * ALSA: hda - Add quirk for HP DV6700 laptop + * crypto: authenc - Fix zero-length IV crash + * crypto: ccm - Fix handling of null assoc data + * x86, pat: fix reserve_memtype() for legacy 1MB range + * x86, pat: fix PTE corruption issue while mapping RAM using /dev/mem + * PCI hotplug: fix lock imbalance in pciehp + * dmaengine: fix dependency chaining + * NET: net_namespace, fix lock imbalance + * relay: fix lock imbalance in relay_late_setup_files + * Linux 2.6.28.3 + * ALSA: Enable SPDIF output on ALC655 + * ALSA: hda - Add ASUS V1Sn support + * ALSA: hda - support detecting HD Audio devices with PCI class code + * ALSA: hda: alc883 model for ASUS P5Q-EM boards + * ALSA: hda - Add quirk for MSI 7260 mobo + * ALSA: hda - Add quirk for Sony VAIO VGN-SR19XN + * ALSA: oxygen: add Claro halo support + * ALSA: hda - Add a new function to seek for a codec ID + * ALSA: patch_sigmatel: Add missing Gateway entries and autodetection + * ALSA: hda - More fixes on Gateway entries + * ALSA: hda - Add MCP67 HDMI support + * ALSA: hda - fix name for ALC1200 + * LSA: hda - Add HP Acacia detection + * ALSA: hda - Add quirk for HP 2230s + * ALSA: hda - Add quirk for Dell Inspiron Mini9 + * ALSA: hda - add support for Intel DX58SO board + * ALSA: hda - Fix silent headphone output on Panasonic CF-74 + * ALSA: USB quirk for Logitech Quickcam Pro 9000 name + * ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC + + [ Yasunori Goto ] + + * SAUCE: (revert before 2.6.28.y update) ext4: Widen type of + ext4_sb_info.s_mb_maxs[] + + -- Tim Gardner Mon, 02 Feb 2009 23:07:13 -0700 + +linux (2.6.28-6.17) jaunty; urgency=low + + [ Amit Kucheria ] + + * Updating configs: ARMEL/versatile + + -- Amit Kucheria Fri, 30 Jan 2009 13:36:59 +0200 + +linux (2.6.28-6.16) jaunty; urgency=low + + [ Luke Yelavich ] + + * Add hid quirks to input-modules udeb + + [ Tim Gardner ] + + * Revert "[arm] Fix kexec on ARM by properly calling the relocation + function". This patch was deemed 'bogus' by Russell King on the + ARM mailing list. + + [ Upstream Kernel Changes ] + + * PCI: keep ASPM link state consistent throughout PCIe hierarchy + * security: introduce missing kfree + * rt2x00: add USB ID for the Linksys WUSB200. + * p54usb: Add USB ID for Thomson Speedtouch 121g + * lib/idr.c: use kmem_cache_zalloc() for the idr_layer cache + * sgi-xp: eliminate false detection of no heartbeat + * sched: fix update_min_vruntime + * IA64: Turn on CONFIG_HAVE_UNSTABLE_CLOCK + * sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X + * ALSA: hda - Add quirk for another HP dv5 + * ALSA: hda - Fix HP dv5 mic input + * ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c + * ALSA: hda - make laptop-eapd model back for AD1986A + * drivers/net/irda/irda-usb.c: fix buffer overflow + * usb-storage: add last-sector hacks + * usb-storage: set CAPACITY_HEURISTICS flag for bad vendors + * pkt_sched: sch_htb: Fix deadlock in hrtimers triggered by HTB + * ipv6: Fix fib6_dump_table walker leak + * sctp: Avoid memory overflow while FWD-TSN chunk is received with bad + stream ID + * pkt_sched: cls_u32: Fix locking in u32_change() + * r6040: fix wrong logic in mdio code + * r6040: save and restore MIER correctly in the interrupt routine + * r6040: bump release number to 0.19 + * tcp: don't mask EOF and socket errors on nonblocking splice receive + * p54usb: fix traffic stalls / packet drop + * netfilter: x_tables: fix match/target revision lookup + * netfilter: ebtables: fix inversion in match code + * netfilter: nf_conntrack: fix ICMP/ICMPv6 timeout sysctls on big-endian + * dell_rbu: use scnprintf() instead of less secure sprintf() + * powerpc: is_hugepage_only_range() must account for both 4kB and 64kB + slices + * hwmon: (abituguru3) Fix CONFIG_DMI=n fallback to probe + * mm: write_cache_pages cyclic fix + * mm: write_cache_pages early loop termination + * mm: write_cache_pages writepage error fix + * mm: write_cache_pages integrity fix + * mm: write_cache_pages cleanups + * mm: write_cache_pages optimise page cleaning + * mm: write_cache_pages terminate quickly + * mm: write_cache_pages more terminate quickly + * mm: do_sync_mapping_range integrity fix + * mm: direct IO starvation improvement + * fs: remove WB_SYNC_HOLD + * fs: sync_sb_inodes fix + * fs: sys_sync fix + * Linux 2.6.28.2 + + -- Tim Gardner Sun, 25 Jan 2009 13:36:16 -0700 + +linux (2.6.28-5.15) jaunty; urgency=low + + [ Tim Gardner ] + + * Revert "Enabled CONFIG_PID_NS=y for i386/amd64" + Somehow this commit also reverted the 7 prior commits (which is bad). + * Enabled CONFIG_PID_NS=y for i386/amd64 (version 2) + + -- Tim Gardner Thu, 22 Jan 2009 13:48:34 -0700 + +linux (2.6.28-5.14) jaunty; urgency=low + + [ Ben Collins ] + + * lirc_gpio: Forward ported to current kernel (jaunty) + * configs: Enable LIRC_GPIO on 64-bit/32-bit x86 + - LP: #298791 + + [ Jeff Layton ] + + * SAUCE: cifs: make sure we allocate enough storage for socket address + - LP: #318565 + + [ Tim Gardner ] + + * check-abi: Return success when ABI skip is requested and no ABI files exist. + This ought to fix the armel FTBS. + + -- Tim Gardner Thu, 22 Jan 2009 06:42:49 -0700 + +linux (2.6.28-5.13) jaunty; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: don't use buggy _BCL/_BCM/_BQC for backlight control" + + [ Tim Gardner ] + + * Fix udeb generation breakage caused by the previous armel versatile + flavour config update. + + -- Tim Gardner Wed, 21 Jan 2009 12:38:35 -0700 + +linux (2.6.28-5.12) jaunty; urgency=low + + [ Ante ] + + * Update drbd to 8.3.0 + + [ Dave Airlie ] + + * i915/drm: provide compat defines for userspace for certain struct + + [ Eric Anholt ] + + * drm/i915: Don't double-unpin buffers if we take a signal in + * drm/i915: Don't complain when interrupted while pinning in execbuffers. + * drm/i915: Don't allow objects to get bound while VT switched. + + [ Jani Monoses ] + + * Fix webcam having USB ID 0ac8:303b + - LP: #292086 + + [ Jesse Barnes ] + + * drm/i915: set vblank enabled flag correctly across IRQ + * drm/i915: don't enable vblanks on disabled pipes + + [ Michael Casadevall ] + + * [arm] Fix kexec on ARM by properly calling the relocation function + + [ Tim Gardner ] + + * Enabled CONFIG_PID_NS=y for i386/amd64 + * SAUCE: Increase ATA_TMOUT_PMP_SRST_WAIT to 5 seconds. + - LP: #318978 + * Update armel versatile config + - LP: #314789 + * Enabled CONFIG_RT2860=m for i386/amd64 + * Enabled CONFIG_RT2870=m for i386/amd64 + + [ Upstream Kernel Changes ] + + * Input: atkbd - add keyboard quirk for HP Pavilion ZV6100 laptop + - LP: #291878 + * ALSA: hda - Add quirk for another HP dv7 + * ALSA: hda - Add quirk for HP6730B laptop + * ALSA: caiaq - Fix Oops with MIDI + * ALSA: hda - Fix typos for AD1882 codecs + * x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies + * x86: default to SWIOTLB=y on x86_64 + * CIFS: make sure that DFS pathnames are properly formed + * ring-buffer: prevent false positive warning + * ring-buffer: fix dangling commit race + * iwlwifi: use GFP_KERNEL to allocate Rx SKB memory + * tx493[89]ide: Fix length for __ide_flush_dcache_range + * tx4939ide: Do not use zero count PRD entry + * SCSI: eata: fix the data buffer accessors conversion regression + * USB: emi26: fix oops on load + * x86, UV: remove erroneous BAU initialization + * x86: fix incorrect __read_mostly on _boot_cpu_pda + * vmalloc.c: fix flushing in vmap_page_range() + * fs: symlink write_begin allocation context fix + * cgroups: fix a race between cgroup_clone and umount + * dm raid1: fix error count + * dm log: fix dm_io_client leak on error paths + * minix: fix add link's wrong position calculation + * md: fix bitmap-on-external-file bug. + * sched_clock: prevent scd->clock from moving backwards, take #2 + * devices cgroup: allow mkfifo + * SCSI: aha152x_cs: Fix regression that keeps driver from using shared + interrupts + * ioat: fix self test for multi-channel case + * USB: isp1760: use a specific PLX bridge instead of any bdridge + * USB: isp1760: Fix probe in PCI glue code + * USB: unusual_devs.h additions for Pentax K10D + * inotify: fix type errors in interfaces + * Move compat system call declarations to compat header file + * Convert all system calls to return a long + * Rename old_readdir to sys_old_readdir + * Remove __attribute__((weak)) from sys_pipe/sys_pipe2 + * Make sys_pselect7 static + * Make sys_syslog a conditional system call + * System call wrapper infrastructure + * powerpc: Enable syscall wrappers for 64-bit + * s390: enable system call wrappers + * System call wrapper special cases + * System call wrappers part 01 + * System call wrappers part 02 + * System call wrappers part 03 + * System call wrappers part 04 + * System call wrappers part 05 + * System call wrappers part 06 + * System call wrappers part 07 + * System call wrappers part 08 + * System call wrappers part 09 + * System call wrappers part 10 + * System call wrappers part 11 + * System call wrappers part 12 + * System call wrappers part 13 + * System call wrappers part 14 + * System call wrappers part 15 + * System call wrappers part 16 + * System call wrappers part 17 + * System call wrappers part 18 + * System call wrappers part 19 + * System call wrappers part 20 + * System call wrappers part 21 + * System call wrappers part 22 + * System call wrappers part 23 + * System call wrappers part 24 + * System call wrappers part 25 + * System call wrappers part 26 + * System call wrappers part 27 + * System call wrappers part 28 + * System call wrappers part 29 + * System call wrappers part 30 + * System call wrappers part 31 + * System call wrappers part 32 + * System call wrappers part 33 + * s390 specific system call wrappers + * x86: fix RIP printout in early_idt_handler + * Fix timeouts in sys_pselect7 + * USB: another unusual_devs entry for another bad Argosy storage device + * USB: storage: extend unusual range for 067b:3507 + * USB: storage: recognizing and enabling Nokia 5200 cell phoes + * HID: fix error condition propagation in hid-sony driver + * fix switch_names() breakage in short-to-short case + * nfs: remove redundant tests on reading new pages + * eCryptfs: check readlink result was not an error before using it + * mvsas: increase port type detection delay to suit Seagate's 10k6 drive ST3450856SS 0003 + * x86: avoid theoretical vmalloc fault loop + * ath9k: enable RXing of beacons on STA/IBSS + * mm lockless pagecache barrier fix + * powerpc: Disable Collaborative Memory Manager for kdump + * ibmvfc: Delay NPIV login retry and add retries + * ibmvfc: Improve async event handling + * getrusage: RUSAGE_THREAD should return ru_utime and ru_stime + * ath5k: ignore the return value of ath5k_hw_noise_floor_calibration + * mm: fix assertion + * XFS: truncate readdir offsets to signed 32 bit values + * Linux 2.6.28.1 + * eCryptfs: Filename Encryption: Tag 70 packets + * eCryptfs: Filename Encryption: Header updates + * eCryptfs: Filename Encryption: Encoding and encryption functions + * eCryptfs: Filename Encryption: filldir, lookup, and readlink + * eCryptfs: Filename Encryption: mount option + * eCryptfs: Replace %Z with %z + * eCryptfs: Fix data types (int/size_t) + * eCryptfs: kerneldoc for ecryptfs_parse_tag_70_packet() + * eCryptfs: Clean up ecryptfs_decode_from_filename() + * fs/ecryptfs/inode.c: cleanup kerneldoc + * staging-p80211: Kill directly reference of netdev->priv + * staging-slicoss: Kill directly reference of netdev->priv + * staging-winbond: Kill directly reference of netdev->priv + * Staging: go7007: fixes due to video_usercopy api change + * Staging: go7007: fixes due v4l2_file_operations api change + * staging: correct dubious use of !x & y + * Staging: w35und: make wb35_probe() and wb35_disconnect() funtions static + * Staging: w35und: remove unused wb35_open() and wb35_close() functions + * Staging: w35und: use msleep() and udelay() + * Staging: w35und: remove the no-op pa_stall_execution macro + * Staging: w35und: purb typedef removal + * Staging: w35und: reg queue struct typedef removal + * Staging: w35und: wb35reg struct typedef removal + * Staging: w35und: padapter struct typedef removal + * Staging: w35und: merge wblinux struct to adapter + * Staging: w35und: wb35_probe() cleanup + * Staging: w35und: remove usb_submit_urb wrapper function + * Staging: w35und: remove usb_alloc_urb wrapper function + * w35und: remove dead code from wbusb_f.h + * Staging: w35und: remove true/false boolean macros + * Staging: w35und: OS_MEMORY_ALLOC wrapper removal + * Staging: w35und: usb_put_dev() is missing from wb35_disconnect() + * Staging: w35und: remove macro magic from MLME_GetNextPacket() + * Staging: w35und: plug memory leak in wbsoft_tx() + * Staging: w35und: move supported band initialization out of wb35_probe() + * Staging: w35und: remove timer wrappers + * Staging: w35und: remove atomic op wrappers + * Staging: w35und: remove memcpy/memcmp wrappers + * Staging: w35und: remove abs() and BIT() macros + * Staging: w35und: remove unused macros from common.h + * Staging: w35und: remove unused link status code + * Staging: w35und: #include cleanup + * Staging: w35und: remove some dead code + * Staging: w35und: move source files to one directory + * Staging: w35und: move struct wbsoft_priv to core.h and use it + * Staging: w35und: remove ->adapter from struct _HW_DATA_T + * Staging: w35und: clean up adapter.h a bit + * Staging: w35und: merge struct wb35_adapter to struct wbsoft_priv + * Staging: w35und: remove global struct ieee80211_hw + * Staging: w35und: inline DRIVER_AUTHOR and DRIVER_DESC macros + * Staging: w35und: clean up wblinux.c a bit + * Staging: w35und: remove unused ->ShutDowned member from struct + LOCAL_PARA + * Staging: w35und: move global wbsoft_enabled to struct wbsoft_priv + * Staging: w35und: move packet_came() to wb35rx.c + * Staging: w35und: remove ->skb_array from struct wbsoft_priv + * Staging: w35und: remove ->shutdown from struct wbsoft_priv + * Staging: w35und: make functions local to mds.c static + * Staging: w35und: make functions local to mlmetxrx.c static + * Staging: w35und: remove dead code from mto.c + * Staging: w35und: make functions local to wb35rx.c static + * Staging: w35und: make functions local to wb35tx.c static + * Staging: w35und: remove dead code from wbhal.c + * Staging: w35und: remove rxisr.c as dead code + * Staging: w35und: fix Kconfig + * Staging: w35und: fix config build warnings + * Staging: wlan-ng: Remove PCI/PLX/PCMCIA files. + * Staging: wlan-ng: Update Help text to mention prism3 devices. + * Staging: wlan-ng: Delete PCI/PLX/PCMCIA-specific code. + * Staging: wlan-ng: Make wlan-ng use WEXT mode by default. + * Staging: wlan-ng: Eliminate more <2.6 kernel support. + * Staging: wlan-ng: Eliminate all backwards-compatibility for <2.6.13 kernels. + * Staging: wlan-ng: Eliminate a boatload of tertiaryAP-only code. + * Staging: wlan-ng: Remove AP-only code from MLME functions. + * Staging: wlan-ng: Get rid of the MTU tests in the rx conversion path. + * Staging: wlan-ng: Eliminate one more rx mtu test. + * Staging: wlan-ng: Eliminate local 'version.h' + * Staging: wlan-ng: Eliminate usage of procfs. + * Staging: wlan-ng: Use standard kernel integer (u32/s32/etc) types. + * Staging: wlan-ng: Eliminate all backwards-compatible kernel code. + * Staging: wlan-ng: Wireless Extension support is mandatory. + * Staging: wlan-ng: use WIRELESS_EXT, not CONFIG_WIRELESS_EXT + * Staging: wlan-ng: Delete a large pile of now-unused code. + * Staging: wlan-ng: Delete a pile of unused mibs. And fix WEXT SET_TXPOWER. + * Staging: wlan-ng: Consolidate wlan-ng into a single module. + * Staging: wlan-ng: Purge all MIBs not used internally. + * Staging: wlan-ng: p80211netdev.c fix netdev alloc to prevent oops on device start + * Staging: wlan-ng: prism2_usb.c always enable the card in probe_usb + * Staging: wlan-ng: hfa384x_usb.c use newest version of 384x_drvr_start + * Staging: wlan-ng: p80211wext.c add latest changes & remove extra nulls from wext_handlers + * Staging: wlan-ng: p80211wext don't set default key id twice + * Staging: wlan-ng: hfa384x_usbin_callback: check for hardware removed + * Staging: wlan-ng: p80211conv.c copy code from wlan-ng-devel branch to not drop packets + * Staging: wlan-ng: remove unused #include + * Staging: wlan-ng: p80211wext.c: use ARRAY_SIZE + * Staging: wlan-ng: fix compiler warnings + * Staging: wlan-ng: skb_p80211_to_ether() - payload_length is unsigned, check before subtraction + * Staging: at76_usb: update drivers/staging/at76_usb w/ mac80211 port + * Staging: at76_usb: fix build breakage + * Staging: at76_usb: remove compiler warnings + * Staging: at76_usb: fix up all remaining checkpatch.pl warnings + * Staging: at76_usb: cleanup dma on stack issues + * Staging: poch: Block size bug fix + * Staging: poch: Update TODO list + * Staging: poch: Correct pages from bytes. + * Staging: poch: minor fixes + * Staging: poch: Fix build warnings + * Staging: poch: Rx control register init + * Staging: poch: Fix user space protocol syncing + * Staging: poch: Fine grained locking + * Staging: sxg: remove typedefs + * Staging: sxg: break the build in a cleaner way when !x86 + * Staging: sxg: update README + * staging: struct device - replace bus_id with dev_name(), dev_set_name() + * Staging: echo: remove typedefs + * Staging: echo: Lindent drivers/staging/echo + * Staging: go7007: saa7134 updates + * Staging: go7007: add sensoray 2250/2251 support + * Staging: go7007: Convert driver to use video_ioctl2 + * Staging: go7007: annotate code pointers + * Staging: go7007: fix minor build warnings + * Staging: go7007: small cleanup + * Staging: go7007: add some more v4l2 ioctls + * Staging: et131x: Cleanup et131x_debug.h defines + * Staging: et131x: fix build failure + * Staging: et131x: remove unused variable in et1310_tx.c + * Staging: usbip: cleanup kerneldoc + * Staging: slicoss: use kzalloc + * Staging: slicoss: use correct type for memory allcations + * Staging: slicoss: use request_firmware + * Staging: add agnx wireless driver + * Staging: agnx: fix build errors due to ssid removal + * Staging: agnx: fix build errors due to rate control API changes + * Staging: agnx: fix build warnings + * Staging: add otus Atheros wireless network driver + * Staging: otus: fix netdev->priv usage + * Staging: otus: fix name clash + * Staging: otus: fix urb callback function type + * Staging: otus: remove dependence on kernel version + * Staging: add rt2860 wireless driver + * Staging: rt2860: disable root hack for reading files + * Staging: rt2860: fix up netdev->priv usage + * Staging: rt2860: use standard bit-reverse function + * Staging: rt2860: Fix minor compiler warnings + * Staging: rt2860: enable WPA_SUPPLICANT support + * Staging: Add ServerEngines benet 10Gb ethernet driver + * Staging: benet: fix netif api breakage + * Staging: benet: fix up netdev->priv change + * Staging: benet: build is broken unless CONFIG_NETPOLL is enabled + * Staging: benet: patch to remove subdirectories + * Staging: benet: fix build errors when CONFIG_NETPOLL is off + * Staging: benet: fix build error. + * Staging: benet: patch to use offsetof() instead of AMAP_BYTE_OFFSET() + * Staging: benet: fix problems reported by checkpatch + * Staging: benet: cleanup a check while posting rx buffers + * Staging: add comedi core + * Staging: comedi: fix up a lot of checkpatch.pl warnings + * Staging: comedi: fix checkpatch.pl errors in comedi_fops.c + * Staging: comedi: fix build error in comedilib.h + * Staging: comedi: add kcomedilib to the tree + * Staging: comedi: set up infrastructure for individual drivers + * Staging: comedi: add local copy of interrupt.h + * Staging: comedi: add pci and usb wrapper header files + * Staging: comedi: comedi driver common function module + * Staging: comedi: add mite comedi pci driver + * Staging: comedi: add usb usbdux driver + * Staging: comedi: add usb usbduxfast driver + * Staging: comedi: add usb dt9812 driver + * Staging: comedi: add comedi_bond driver + * Staging: comedi: add comedi_test driver + * Staging: comedi: add comedi_parport driver + * Staging: comedi: dt9812: fix up a lot of coding style issues + * Staging: comedi: dt9812: remove dt9812.h + * Staging: comedi: dt9812: remove typedefs + * Staging: comedi: dt9812: fix sparse warnings + * Staging: comedi: usbdux: remove kernel version checks + * Staging: comedi: usbdux: code style cleanups + * Staging: comedi: usbdux: remove // comments + * Staging: comedi: usbdux: fix up printk calls + * Staging: comedi: usbdux: remove checkpatch.pl warnings + * Staging: comedi: usbdux: remove typedef + * Staging: comedi: usbdux: remove comedi usb wrappers + * Staging: comedi: usbduxfast: remove comedi usb wrappers + * Staging: comedi: dt9812: remove #ifdef that is not needed + * Staging: comedi: remove usb wrappers + * Staging: comedi: remove PCI wrappers + * Staging: comedi: add icp_multi driver + * Staging: comedi: add me4000 driver + * Staging: comedi: fix checkpatch.pl issues in comedi_bond.c + * Staging: comedi: fix checkpatch.pl issues in comedi_fc.c + * Staging: comedi: remove typedefs from comedi_bond.c + * Staging: comedi: fix sparse issues in comedi_bond.c + * Staging: comedi: fix checkpatch.pl issues in comedi_test.c + * Staging: comedi: fix sparse issues in comedi_test.c + * Staging: comedi: remove typedefs from comedi_test.c + * Staging: comedi: fix comedi_parport.c checkpatch.pl issues. + * Staging: comedi: fix comedi_fc.h checkpatch.pl issues. + * Staging: comedi: fix comedi_pci.h checkpatch.pl issues. + * Staging: comedi: comedi_pci.h: remove unneeded wrapper + * Staging: comedi: comedi_pci.h: remove comedi_pci_enable_no_regions + * Staging: comedi: comedi_pci.h: remove comedi_pci_disable_no_regions + * Staging: comedi: add s626 driver + * Staging: comedi: add rtd520 driver + * Staging: comedi: add me_daq driver + * Staging: comedi: me_daq: fix checkpatch.pl issues + * Staging: comedi: me_daq: remove typedefs + * Staging: comedi: me_daq: fix sparse issues + * Staging: comedi: fix checkpatch.pl warning in interrupt.h + * Staging: comedi: fix build if CONFIG_PROC_FS is not set + * Staging: add asus_oled driver + * Staging: asus_oled: fix build dependancy + * Staging: Add the Meilhaus ME-IDS driver package + * Staging: meilhaus: fix __symbol_get problems + * Staging: add lcd-panel driver + * Staging: panel: major checkpatch cleanup + * Staging: panel: remove ifdefs and code for pre-2.6 kernels + * Staging: panel: remove support for smartcards + * Staging: add Driver for Altera PCI Express Chaining DMA reference design + * Staging: add rtl8187se driver + * Staging: rtl8187se: remove unneeded files + * Staging: rtl8187se: make the built module be the proper name + * Staging: rtl8187se: remove duplicate pci ids + * Staging: me4000: switch to list_for_each*() + * Staging: usbip: switch to list_for_each_entry() + * Staging: add princeton instruments usb camera driver + * Staging: add mimio xi driver + * Staging: add rt2870 wireless driver + * Staging: rt2870: disable root hack for reading files + * Staging: rt2870: fix up netdev->priv usage + * Staging: add frontier tranzport and alphatrack drivers + * Staging: frontier: remove unused alphatrack_sysfs.c file + * Staging: frontier: fix compiler warnings + * Staging: add epl stack + * Staging: epl: run Lindent on all kernel/*.h files + * Staging: epl: run Lindent on all user/*.h files + * Staging: epl: run Lindent on *.h files + * Staging: epl: run Lindent on *.c files + * Staging: epl: hr timers all run in hard irq context now + * Staging: epl: fix netdev->priv b0rkage + * Staging: add android framework + * Staging: android: add binder driver + * Staging: android: binder: Fix gcc warnings about improper format specifiers for size_t in printk + * staging: android: binder: Fix use of euid + * Staging: android: add logging driver + * Staging: android: add ram_console driver + * Staging: android: add timed_gpio driver + * Staging: android: timed_gpio: Rename android_timed_gpio to timed_gpio + * Staging: android: remove dummy android.c driver + * Staging: android: add lowmemorykiller driver + * Staging: android: binder: fix build errors + * staging: __FUNCTION__ is gcc-specific, use __func__ + * V4L/DVB (10176a): Switch remaining clear_user_page users over to + clear_user_highpage + + [ Zhenyu Wang ] + + * agp/intel: add support for G41 chipset + + -- Tim Gardner Sun, 18 Jan 2009 20:22:54 -0700 + +linux (2.6.28-4.11) jaunty; urgency=low + + [ Mario Limonciello ] + + * SAUCE: Enable HDMI audio codec on Studio XPS 1340 + - LP: #309508 + + [ Tim Gardner ] + + * Fix armel d-i FTBSs + + [ Upstream Kernel Changes ] + + * USB: re-enable interface after driver unbinds + + -- Tim Gardner Tue, 13 Jan 2009 16:33:08 -0700 + +linux (2.6.28-4.10) jaunty; urgency=low + + [ Andy Whitcroft ] + + * update kernel bootloader recommends: to prefer grub + - LP: #314004 + * SAUCE: don't use buggy _BCL/_BCM/_BQC for backlight control + - LP: #311716 + * SAUCE: test-suspend -- add the suspend test scripts + - LP: #316419 + + [ Colin Watson ] + + * Enable udebs for armel + + [ Tim Gardner ] + + * SAUCE: Dell laptop digital mic does not work, PCI 1028:0271 + - LP: #309508 + * Enable CIFS_XATTR=y and CONFIG_CIFS_POSIX=y + - LP: #220658 + + -- Tim Gardner Thu, 08 Jan 2009 10:38:22 -0700 + +linux (2.6.28-4.9) jaunty; urgency=low + + [ Tim Gardner ] + + * Restore DM_CRYPT, AES, ECB, and CBC as modules. This fixes + some installer issues with encrypted /home and Private directories. + * Take one more stab at building armel without module or ABI errors. + + -- Tim Gardner Tue, 06 Jan 2009 08:38:23 -0700 + +linux (2.6.28-4.8) jaunty; urgency=low + + * Fix i386/amd64 FTBS by ignoring all module and ABI changes, + not something you would normally do, but I'm sure the ABI + has not changed. This will probably also allow the ARM builds to complete. + + -- Tim Gardner Mon, 05 Jan 2009 14:42:58 -0700 + +linux (2.6.28-4.7) jaunty; urgency=low + + [ Tim Gardner ] + + * Enable CONFIG_ATH5K=m for i386/amd64 + - LP: #306719 + * Build all i386/amd64 AGP/DRM components as modules. + - LP: #312721 + * git commands are now installed outside the default $PATH + Use 'git CMD' instead of 'git-CMD'. + * Build in most PATA/SATA drivers. This should allow most i386/amd64 systems to boot + without an initramfs, though some support work is still required in initramfs-tools + and grub. + - LP: #311730 + + -- Tim Gardner Fri, 02 Jan 2009 07:33:09 -0700 + +linux (2.6.28-4.6) jaunty; urgency=low + + [ Tim Gardner ] + + * Enable CONFIG_X86_E_POWERSAVER=m for i386 generic + - LP: #237405 + * Build i386 AGP drivers as modules + - LP: #312721 + * Build i386 DRM as a module + - LP: #312721 + + [ Upstream Kernel Changes ] + + * drm/i915: Add missing userland definitions for gem init/execbuffer. + - LP: #308387 + + -- Tim Gardner Mon, 29 Dec 2008 09:16:47 -0700 + +linux (2.6.28-4.5) jaunty; urgency=low + + [ Andy Whitcroft ] + + * clean up module dependancy information on package removal/purge + - LP: #300773 + + [ Tim Gardner ] + + * Update iscsitarget to 0.4.17 + * Build in ext{234} + * Build in Crypto modules AES, CBC, ECB + * Build in ACPI AC,BATTERY,BUTTON,FAN,PCI_SLOT,PROCESSOR,SBS,THERMAL,WMI + * Build in AGP intel,via,sis,ali,amd,amd64,efficeon,nvidia,sworks + * Build in ata,dev_dm,dev_loop,dev_md,dev_sd,dev_sr + * Build in BT l2cap,rfcomm,sco + * Reduce CONFIG_LEGACY_PTY_COUNT to 0 + * Build in CDROM_PKTCDVD and CHR_DEV_SG + * Build in CPU_FREQ + GOV_CONSERVATIVE,GOV_ONDEMAND,GOV_POWERSAVE,GOV_USERSPACE,STAT,TABLE + * Build in DM CRYPT,MIRROR,MULTIPATH,SNAPSHOT + * Build in DRM + * Build in HID + * Build in HOTPLUG PCI,PCIE + * Build in I2C + * Build in IEEE1394 OHCI1394 + * Build in INPUT EVDEV + * Build in IPV6 + * Build in MMC + * Build in PACKET + * Enable both IEEE1394 (Firewire) stacks as modules + - LP: #276463 + * Disable SUNRPC_REGISTER_V4 + - LP: #306016 + * Enable dm-raid4-5 + - LP: #309378 + * Build in PPP + * Build in RFKILL + * Build in USB SERIAL + + [ Upstream Kernel Changes ] + + * Rebased to v2.6.28 + + -- Tim Gardner Thu, 18 Dec 2008 21:18:44 -0700 + +linux (2.6.28-3.4) jaunty; urgency=low + + [ Tim Gardner ] + + * Build ecryptfs into the kernel + - LP: #302870 + * Deprecated gnbd + + [ Upstream Kernel Changes ] + + * Rebased to v2.6.28-rc8 + + -- Tim Gardner Wed, 10 Dec 2008 22:45:13 -0700 + +linux (2.6.28-2.3) jaunty; urgency=low + + [ Andy Whitcroft ] + + * update the templates so that we have spaces following the title line + + [ Tim Gardner ] + + * Add upload number to kernel version signature. This has the side effect + of renaming kernel packages back to the original way, e.g., without '-ub' + in the name. + + -- Tim Gardner Thu, 04 Dec 2008 12:18:31 -0700 + +linux (2.6.28-2.2) jaunty; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: (no-up) version: Implement version_signature proc file." + * SAUCE: (no-up) version: Implement version_signature proc file. + * SAUCE: serial: RS485 ioctl structure uses __u32 include linux/types.h + - LP: #303711 + + [ Tim Gardner ] + + * UBUNTU: Removed CONFIG_DRM_VIA_CHROME9 since it is upstream. + * UBUNTU: Removed ubuntu/via_chrome9 + + [ Upstream Kernel Changes ] + + * Rebased to v2.6.28-rc7 + + -- Tim Gardner Tue, 02 Dec 2008 07:33:32 -0700 + +linux (2.6.28-1.1) jaunty; urgency=low + + [ Amit Kucheria ] + + * SAUCE: make fc transport removal of target configurable + * SAUCE: pm: Config option to disable handling of console during + suspend/resume + * SAUCE: Adds support for COMPAL JHL90 webcam + * Map armel to arm to all editconfigs to work correctly + * Add armel to getabis for completeness sake + * Add -ub to our versioning to allow kerneloops.org to identify us + + [ Andy Whitcroft ] + + * Fix Vcs-Git path for the kernel repository. + - LP: #296915 + + [ Ben Collins ] + + * SAUCE: Lower warning level of some PCI messages + - LP: #159241 + * SAUCE: input/mouse/alps: Do not call psmouse_reset() for alps + * SAUCE: tulip: Let dmfe handle davicom on non-sparc + * SAUCE: tulip: Define ULI PCI ID's + * SAUCE: (no-up) version: Implement version_signature proc file. + * SAUCE: (no-up) connector.h: Add idx/val for drbd + * SAUCE: (no-up) swap: Add notify_swap_entry_free callback for compcache + * SAUCE: drivers: Remove some duplicate device entries in various modules + * SAUCE: (no-up) [AppArmor] merge with upstream subversion r1291 + * SAUCE: (no-up) Enable ubuntu extra subdirectory + * SAUCE: (no-up) ACPI: initramfs DSDT override support + * ubuntu: Add drbd module + * ubuntu: Add iscsitarget module + * ubuntu: Add BOM for iscsitarget + * ubuntu: Add squashfs driver + * SAUCE: (no-up) Check for squashfs superblock in initramfs mounting. + * ubuntu: Add aufs module + * ubuntu: Added atl2 driver + * ubuntu: Added et131x driver + * ubuntu: Add dm-raid4-5 driver + * ubuntu: Add ndiswrapper driver + * ubuntu: Added ram backed compressed swap module (compcache) + * ubuntu: Add misc drivers from hardy lum + * ubuntu: Add heci driver 3.2.0.24 + * ubuntu: Add ov511 and bt-sco drivers + * ubuntu: Add acx, prism2_usb wireless drivers + * ubuntu: Add at76 driver to build + * ubuntu: Add fsam7400 sw kill switch driver + * ubuntu: Added qc-usb driver + * ubuntu: e1000e: Upgraded module to 0.4.1.7 + * ubuntu: Added rfkill drivers + * ubuntu: VIA - Add VIA DRM Chrome9 3D engine + * ubuntu: unionfs: Added v1.4 module from hardy + * ubuntu: Add LIRC driver + * ubuntu: Add GFS driver + * ubuntu: New tlsup driver for toshiba laptops + * SAUCE: (no-up) Export lookup_has for aufs + * SAUCE: (no-up) Modularize vesafb + * ubuntu: Config files + * Disable some modules that need porting to 2.6.28 + * ubuntu: Fixup headers creation to include arch/*/include + * ubuntu/module-check: Ignore comment lines + + [ Chuck Short ] + + * SAUCE: ata: blacklist FUJITSU MHW2160BH PL + + [ cking ] + + * SAUCE: Enable speedstep for sonoma processors. + + [ Colin Ian King ] + + * ubuntu: Add dm-loop + * SAUCE: cx88: Support Leadtek WinFast DTV2000 H version J. + * SAUCE: fix kernel oops in VirtualBox during paravirt patching + * SAUCE: qc-usb: Enable Logitech QuickCam Messenger + * SAUCE: appleir: Enable driver for new MacBook Pro + + [ Colin Watson ] + + * Enable configfs, fuse, jfs, reiserfs, and xfs for armel + * Extend debian/d-i/ modules handling to make armel easier to support + * Create udebs for armel + + [ Fabio M. Di Nitto ] + + * ubuntu: update GFS Cluster File System + + [ Kees Cook ] + + * SAUCE: AppArmor: update to upstream subversion r1302 + + [ Leann Ogasawara ] + + * Add automatic model setting for Samsung Q45 + * Add Dell Dimension 9200 reboot quirk + + [ Mackenzie Morgan ] + + * SAUCE: Add quirk for ASUS Z37E to make sound audible after resume + + [ Matthew Garrett ] + + * SAUCE: hostap: send events on data interface as well as master + interface + + [ Michael Frey (Senior Manager, MID ] + + * SAUCE: Send HCI_RESET for Broadcomm 2046 + + [ Michael Haas ] + + * add proper aufs source tree from 20080922 + * Fix AUFS compilation in vfsub.c + * Add splice-2.6.23.patch from AUFS to export a symbol needed by AUFS + * Add put_filp.patch from AUFS to export a symbol needed by AUFS + * Add deny_write_access.patch from AUFS - export deny_write_access + * Add sec_perm-2.6.24.patch from AUFS - export security_inode_permission + * make sure TMPFS_MAGIC is defined in AUFS Makefile + * SAUCE: Revert aufs changes from AppArmor merge + + [ Mohamed Abbas ] + + * SAUCE: iwlagn -- fix rfkill when on when driver loaded + + [ Phillip Lougher ] + + * SAUCE: r8169: disable TSO by default for RTL8111/8168B chipsets. + + [ Stefan Bader ] + + * SAUCE: (no-up) Export dm_disk function of device-mapper + * SAUCE: Restore VT fonts on switch + * SAUCE: mmc: Increase power_up deleay to fix TI readers + * gfs1: GFS1 can't create more than 4kb file + * uvcvideo: Commit streaming parameters when enabling the video stream. + + [ Tim Gardner ] + + * SAUCE: Add extra headers to linux-libc-dev + * SAUCE: Catch nonsense keycodes and silently ignore + * SAUCE: Added support for HDAPS on various ThinkPads from Lenovo and IBM + * SAUCE: Guest OS does not recognize a lun with non zero target id on + Vmware ESX Server + * SAUCE: (no-up) Take care of orinoco_cs overlap with hostap_cs + * ubuntu: Add GNBD driver + * SAUCE: e1000e: Map NV RAM dynamically only when needed. + * SAUCE: Correctly blacklist Thinkpad r40e in ACPI + * SAUCE: Update Wacom tablet driver to 1.49 + * SAUCE: Fix Wacom tablet 1.49 porting errors + * SAUCE: Enable an e1000e Intel Corporation 82567 Gigabit controller + * SAUCE: Fix Oops in wlan_setup + * SAUCE: ipw2200: change default policy for auto-associate + * Dell Wireless 365 needs BTUSB_RESET quirk. + * ndiswrapper remote buffer overflows on long ESSIDs (CVE 2008-4395) + * Disabled ubuntu/e1000e config + + [ Upstream Kernel Changes ] + + * Revert "[Bluetooth] Eliminate checks for impossible conditions in IRQ + handler" + * Revert "x86, early_ioremap: fix fencepost error" + * mac80211: fix two issues in debugfs + * iwl3945: do not send scan command if channel count zero + + -- Ben Collins Fri, 07 Nov 2008 09:37:42 -0700 + +linux (2.6.27-8.17) intrepid-proposed; urgency=low + + [ John W. Linville ] + + * SAUCE: iwlagn: avoid sleep in softirq context + -LP: #286285 + + [ Tim Gardner ] + + * Dell Wireless 365 needs BTUSB_RESET quirk. + - LP: #293670 + * SAUCE: ALSA: hda: make a STAC_DELL_EQ option (version 2) + - LP: #293271 + + [ Upstream Kernel Changes ] + + * iwlagn: downgrade BUG_ON in interrupt + * Input: atkbd - expand Latitude's force release quirk to other Dells + * fbcon_set_all_vcs: fix kernel crash when switching the rotated consoles + * modules: fix module "notes" kobject leak + * Driver core: Fix cleanup in device_create_vargs(). + * Driver core: Clarify device cleanup. + * ath9k/mac80211: disallow fragmentation in ath9k, report to userspace + * md: Fix rdev_size_store with size == 0 + * xfs: fix remount rw with unrecognized options + * OHCI: Allow broken controllers to auto-stop + * USB: OHCI: fix endless polling behavior + * USB: Fix s3c2410_udc usb speed handling + * USB: EHCI: log a warning if ehci-hcd is not loaded first + * usb gadget: cdc ethernet notification bugfix + * usb: musb_hdrc build fixes + * drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831) + * DVB: au0828: add support for another USB id for Hauppauge HVR950Q + * DVB: sms1xxx: support two new revisions of the Hauppauge WinTV + MiniStick + * security: avoid calling a NULL function pointer in + drivers/video/tvaudio.c + * Linux 2.6.27.3 + -LP: #294152 + + * gpiolib: fix oops in gpio_get_value_cansleep() + * edac cell: fix incorrect edac_mode + * x86 ACPI: fix breakage of resume on 64-bit UP systems with SMP kernel + * sched: fix the wrong mask_len + * USB: cdc-wdm: make module autoload work + * USB: don't rebind drivers after failed resume or reset + * USB: fix memory leak in cdc-acm + * USB: Speedtouch: add pre_reset and post_reset routines + * dm kcopyd: avoid queue shuffle + * dm snapshot: fix primary_pe race + * amd_iommu: fix nasty bug that caused ILLEGAL_DEVICE_TABLE_ENTRY errors + * CIFS: fix saving of resume key before CIFSFindNext + * netfilter: xt_iprange: fix range inversion match + * netfilter: snmp nat leaks memory in case of failure + * netfilter: restore lost ifdef guarding defrag exception + * anon_vma_prepare: properly lock even newly allocated entries + * hvc_console: Fix free_irq in spinlocked section + * ACPI Suspend: Enable ACPI during resume if SCI_EN is not set + * ACPI suspend: Blacklist HP xw4600 Workstation for old code ordering + * ACPI suspend: Always use the 32-bit waking vector + * proc: fix vma display mismatch between /proc/pid/{maps,smaps} + * SCSI: scsi_dh: add Dell product information into rdac device handler + * PCI hotplug: cpqphp: fix kernel NULL pointer dereference + * V4L/DVB (9300): pvrusb2: Fix deadlock problem + * Linux 2.6.27.4 + -LP: #294155 + + -- Tim Gardner Tue, 04 Nov 2008 12:16:07 -0700 + +linux (2.6.27-7.16) intrepid-security; urgency=low + + [ Tim Gardner ] + + * ndiswrapper remote buffer overflows on long ESSIDs (CVE 2008-4395) + - LP: #275860 + + [ Upstream Kernel Changes ] + + * ext[234]: Avoid printk floods in the face of directory corruption + (CVE-2008-3528) + + -- Tim Gardner Mon, 03 Nov 2008 13:34:42 -0700 + +linux (2.6.27-7.15) intrepid-security; urgency=low + + [ Upstream Kernel Changes ] + + * tcp: Restore ordering of TCP options for the sake of inter-operability + - LP: #264019 + + -- Tim Gardner Mon, 27 Oct 2008 19:28:06 -0600 + +linux (2.6.27-7.14) intrepid; urgency=low + + [ Tim Gardner ] + + * Disable ath5k in 2.6.27 + - LP: #288148 + + -- Tim Gardner Thu, 23 Oct 2008 07:40:43 -0600 + +linux (2.6.27-7.13) intrepid; urgency=low + + [ Stefan Bader ] + + * gfs1: GFS1 can't create more than 4kb file + + [ Tim Gardner ] + + * Revert "SAUCE: x86: Reserve FIRST_DEVICE_VECTOR in used_vectors + bitmap.". Use upstream commit to avoid future conflicts. + * Revert "STABLE queue: mac80211: fix two issues in debugfs". + Use upstream commit to avoid future conflicts. + * Revert "x86, early_ioremap: fix fencepost error" + Use upstream commit to avoid future conflicts. + + [ Upstream Kernel Changes ] + + * sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq + * x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap. + * mac80211: fix two issues in debugfs + * Fix barrier fail detection in XFS + * tty: Termios locking - sort out real_tty confusions and lock reads + * CIFS: make sure we have the right resume info before calling + CIFSFindNext + * rfkill: update LEDs for all state changes + * libertas: clear current command on card removal + * b43legacy: Fix failure in rate-adjustment mechanism + * x86, early_ioremap: fix fencepost error + * x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC + * x86: improve UP kernel when CPU-hotplug and SMP is enabled + * sky2: Fix WOL regression + * netdrvr: atl1e: Don't take the mdio_lock in atl1e_probe + * Linux 2.6.27.2 + + [ Amit Kucheria ] + + * Ubuntu: agp: Fix stolen memory counting on G4X. + -LP: 285572 + + [ Scott Remnant ] + + * add MODULE_ALIAS to load ipmi_devintf with ipmi_si + + -- Tim Gardner Sun, 19 Oct 2008 10:06:21 -0600 + +linux (2.6.27-7.12) intrepid; urgency=low + + [ Chuck Short ] + + * xen: Add xen modules to virtual flavours. + + [ Mario Limonciello ] + + * SAUCE: Add back in lost commit for Apple BT Wireless Keyboard + - LP: #162083 + + [ Tim Gardner ] + + * Remove depmod created files from packages. + - LP: #250511 + * Changed default TCP congestion algorithm to 'cubic' (again) + - LP: #278801 + * Update configs for 'disable CONFIG_DYNAMIC_FTRACE' + - LP: #263555 + + [ Upstream Kernel Changes ] + + * x86: register a platform RTC device if PNP doesn't describe it + * disable CONFIG_DYNAMIC_FTRACE due to possible memory corruption on + module unload + + -- Tim Gardner Fri, 17 Oct 2008 11:25:39 -0600 + +linux (2.6.27-7.11) intrepid; urgency=low + + [ Amit Kucheria ] + + * STABLE queue: mac80211: fix two issues in debugfs + - LP: #275227 + * SAUCE: Adds support for COMPAL JHL90 webcam + + [ Ben Collins ] + + * SAUCE: (no-up) x86: Quiet "Kernel alive" messages + - LP: #39985 + * SAUCE: (no-up) Modularize vesafb + * build/config: Enable vesafb module + * build: Switch to vesafb as preferred. + + [ Leann Ogasawara ] + + * Add Dell Dimension 9200 reboot quirk + - LP: #271370 + + [ Michael Haas ] + + * SAUCE: Revert aufs changes from AppArmor merge + + [ Tim Gardner ] + + * fix virtio udeb layout + - LP: #257739 + * Enabled CONFIG_EXT4DEV_FS=m + * Changed default TCP congestion algorithm to 'cubic' + - LP: #278801 + * SAUCE: ipw2200: change default policy for auto-associate + - LP: #264104 + + [ Upstream Kernel Changes ] + + * x86, early_ioremap: fix fencepost error + - LP: #263543 + + -- Tim Gardner Sat, 11 Oct 2008 08:07:42 -0600 + +linux (2.6.27-7.10) intrepid; urgency=low + + [ Alexey Starikovskiy ] + + * SAUCE: ACPI: EC: do transaction from interrupt context + - LP: #277802 + + [ Ben Collins ] + + * build/d-i: Change virtio-modules udeb to prio standard + + [ Colin Ian King ] + + * SAUCE: Blacklist IBM 2656 in serio/i8042 + - LP: #21558 + + [ Henrik Rydberg ] + + * Revert "SAUCE: applesmc: Add MacBookAir" + * SAUCE: [PATCH 1/5] hwmon: applesmc: Specified number of bytes to read + should match actual + * SAUCE: [PATCH 2/5] hwmon: applesmc: Fix the 'wait status failed: c != + 8' problem + * SAUCE: [PATCH 3/5] hwmon: applesmc: Prolong status wait + * SAUCE: [PATCH 4/5] hwmon: applesmc: Allow for variable ALV0 and ALV1 + package length + * SAUCE: [PATCH 5/5] hwmon: applesmc: Add support for Macbook Air + * SAUCE: hwmon: applesmc: Add support for Macbook Pro 4 + * SAUCE: hwmon: applesmc: Add support for Macbook Pro 3 + * SAUCE: hwmon: applesmc: Lighter wait mechanism, drastic improvement + + [ Leann Ogasawara ] + + * Add automatic model setting for Samsung Q45 + - LP: #200210 + + [ Tim Gardner ] + + * SAUCE: Correctly blacklist Thinkpad r40e in ACPI + - LP: #278794 + * SAUCE: Update Wacom tablet driver to 1.49 + - LP: #260675 + * SAUCE: ALPS touchpad for Dell Latitude E6500/E6400 + - LP: #270643 + * SAUCE: Fix Wacom tablet 1.49 porting errors + * SAUCE: Enable an e1000e Intel Corporation 82567 Gigabit controller + * SAUCE: Fix Oops in wlan_setup + - LP: #263309 + + [ Upstream Kernel Changes ] + + * ath9k: fix oops on trying to hold the wrong spinlock + * [Bluetooth] Fix double frees on error paths of btusb and bpa10x drivers + * [Bluetooth] Add reset quirk for new Targus and Belkin dongles + * [Bluetooth] Add reset quirk for A-Link BlueUSB21 dongle + * Revert "ax25: Fix std timer socket destroy handling." + * ax25: Quick fix for making sure unaccepted sockets get destroyed. + * netrom: Fix sock_orphan() use in nr_release + * Revert "V4L/DVB (8904): cx88: add missing unlock_kernel" + * SLOB: fix bogus ksize calculation + * net: only invoke dev->change_rx_flags when device is UP + * tcp: Fix possible double-ack w/ user dma + * net: Fix netdev_run_todo dead-lock + * tcp: Fix tcp_hybla zero congestion window growth with small rho and large cwnd. + * [MIPS] Sibyte: Register PIO PATA device only for Swarm and Litte Sur + * eeepc-laptop: Fix hwmon interface + * hwmon: (it87) Prevent power-off on Shuttle SN68PT + * hwmon: Define sysfs interface for energy consumption register + * hwmon: (adt7473) Fix some bogosity in documentation file + * hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X + * hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X + * [CPUFREQ] correct broken links and email addresses + * SLOB: fix bogus ksize calculation fix + * Don't allow splice() to files opened with O_APPEND + * Linux 2.6.27 + + -- Tim Gardner Wed, 08 Oct 2008 21:19:34 -0600 + +linux (2.6.27-6.9) intrepid; urgency=low + + [ Kees Cook ] + + * SAUCE: AppArmor: update to upstream subversion r1302 + - LP: #269921 + + [ Stefan Bader ] + + * Update configuration files to be compliant to desktop specs + - LP: #279019 + + [ Tim Gardner ] + + * Add support in e1000e for a couple of ICH10 PCI IDs + * Enable CONFIG_INPUT_PCSPKR=m + - LP: #275453 + + [ Upstream Kernel Changes ] + + * V4L/DVB (8559a): Fix a merge conflict at gspca/sonixb + * V4L/DVB (8789): wm8739: remove wrong kfree + * V4L/DVB (8883): w9968cf: Fix order of usb_alloc_urb validation + * V4L/DVB (8884): em28xx-audio: fix memory leak + * V4L/DVB (8885): cpia2_usb: fix memory leak + * V4L/DVB (8886): ov511: fix memory leak + * V4L/DVB (8887): gspca: fix memory leak + * V4L/DVB (8892): pvrusb2: Handle USB ID 2040:2950 same as 2040:2900 + * V4L/DVB (8904): cx88: add missing unlock_kernel + * V4L/DVB (8905): ov511: fix exposure sysfs attribute bug + * V4L/DVB (8909): gspca: PAC 7302 webcam 093a:262a added. + * hrtimer: migrate pending list on cpu offline + * hrtimer: fix migration of CB_IRQSAFE_NO_SOFTIRQ hrtimers + * hrtimer: mark migration state + * hrtimer: prevent migration of per CPU hrtimers + * [IA64] Put the space for cpu0 per-cpu area into .data section + * powerpc: Fix PCI in Holly device tree + * powerpc: Fix failure to shutdown with CPU hotplug + * mfd: Fix Kconfig accroding to the new gpiolib symbols + * mfd: Fix asic3 compilation + * x86: fix typo in enable_mtrr_cleanup early parameter + * ipsec: Fix pskb_expand_head corruption in xfrm_state_check_space + * iucv: Fix mismerge again. + * ALSA: ASoC: Fix cs4270 error path + * ALSA: hda - Fix model for Dell Inspiron 1525 + * sctp: Fix kernel panic while process protocol violation parameter + * x86: Fix broken LDT access in VMI + * x86, vmi: fix broken LDT access + * tcp: Fix NULL dereference in tcp_4_send_ack() + * ipv6: NULL pointer dereferrence in tcp_v6_send_ack + * XFRM,IPv6: initialize ip6_dst_blackhole_ops.kmem_cachep + * af_key: Free dumping state on socket close + * dm: always allow one page in dm_merge_bvec + * dm: cope with access beyond end of device in dm_merge_bvec + * dm mpath: add missing path switching locking + * MN10300: Fix IRQ handling + * pxa2xx_spi: fix build breakage + * e1000e: write protect ICHx NVM to prevent malicious write/erase + * powerpc: Fix boot hang regression on MPC8544DS + * ASoC: Set correct name for WM8753 rec mixer output + * ALSA: snd-powermac: mixers for PowerMac G4 AGP + * ALSA: snd-powermac: HP detection for 1st iMac G3 SL + * fbcon: fix monochrome color value calculation + * inotify: fix lock ordering wrt do_page_fault's mmap_sem + * braille_console: only register notifiers when the braille console is used + * fix error-path NULL deref in alloc_posix_timer() + * memory hotplug: missing zone->lock in test_pages_isolated() + * mm: tiny-shmem nommu fix + * mm: handle initialising compound pages at orders greater than MAX_ORDER + * e1000e: reset swflag after resetting hardware + * e1000e: do not ever sleep in interrupt context + * e1000e: remove phy read from inside spinlock + * e1000e: drop stats lock + * e1000e: debug contention on NVM SWFLAG + * e1000e: update version from k4 to k6 + * Check mapped ranges on sysfs resource files + * e1000e: Fix incorrect debug warning + * [MIPS] Build fix: Fix irq flags type + * [MIPS] SMTC: Build fix: Fix filename in Makefile + * [MIPS] SMTC: Fix holes in SMTC and FPU affinity support. + * [MIPS] SMTC: Close tiny holes in the SMTC IPI replay system. + * [MIPS] SMTC: Fix SMTC dyntick support. + * [S390] nohz: Fix __udelay. + * [S390] qdio: prevent stack clobber + * Fix init/main.c to use regular printk with '%pF' for initcall fn + * x86 setup: correct segfault in generation of 32-bit reloc kernel + * selinux: Fix an uninitialized variable BUG/panic in selinux_secattr_to_sid() + * rtc: fix kernel panic on second use of SIGIO nofitication + * fbdev: fix recursive notifier and locking when fbdev console is blanked + * orion_spi: fix handling of default transfer speed + * include/linux/stacktrace.h: declare struct task_struct + * cpusets: remove pj from cpuset maintainers + * MAINTAINERS: add mailing list for man-pages + * SubmitChecklist: interfaces changes should CC linux-api@ + * Documentation/HOWTO: info about interface changes should CC linux-api@vger + * dw_dmac: fix copy/paste bug in tasklet + * leds-fsg: change order of initialization and deinitialization + * leds-pca955x: add proper error handling and fix bogus memory handling + * ACPI: Make /proc/acpi/wakeup interface handle PCI devices (again) + * clockevents: check broadcast tick device not the clock events device + * V4L/DVB (8919): cx18: Fix tuner audio input for Compro H900 cards + * V4L/DVB (8926): gspca: Bad fix of leak memory (changeset 43d2ead315b1). + * V4L/DVB (8933): gspca: Disable light frquency for zc3xx cs2102 Kokom. + * V4L/DVB (8935): em28xx-cards: Remove duplicate entry (EM2800_BOARD_KWORLD_USB2800) + * V4L/DVB (8955): bttv: Prevent NULL pointer dereference in radio_open + * V4L/DVB (8957): zr36067: Restore the default pixel format + * V4L/DVB (8958): zr36067: Return proper bytes-per-line value + * V4L/DVB (8960): drivers/media/video/cafe_ccic.c needs mm.h + * V4L/DVB (8961): zr36067: Fix RGBR pixel format + * V4L/DVB (8963): s2255drv field count fix + * V4L/DVB (8967): Use correct XC3028L firmware for AMD ATI TV Wonder 600 + * V4L/DVB (8978): sms1xxx: fix product name for Hauppauge WinTV MiniStick + * V4L/DVB (8979): sms1xxx: Add new USB product ID for Hauppauge WinTV MiniStick + * V4L/DVB (9029): Fix deadlock in demux code + * V4L/DVB (9037): Fix support for Hauppauge Nova-S SE + * V4L/DVB (9043): S5H1420: Fix size of shadow-array to avoid overflow + * V4L/DVB (9053): fix buffer overflow in uvc-video + * V4L/DVB (9075): gspca: Bad check of returned status in i2c_read() spca561. + * V4L/DVB (9080): gspca: Add a delay after writing to the sonixj sensors. + * V4L/DVB (9092): gspca: Bad init values for sonixj ov7660. + * V4L/DVB (9099): em28xx: Add detection for K-WORLD DVB-T 310U + * V4L/DVB (9103): em28xx: HVR-900 B3C0 - fix audio clicking issue + * x86: gart iommu have direct mapping when agp is present too + * ide-cd: temporary tray close fix + * ide-dma: fix ide_build_dmatable() for TRM290 + * IDE: Fix platform device registration in Swarm IDE driver (v2) + * ide-cd: Optiarc DVD RW AD-7200A does play audio + * ide: workaround for bogus gcc warning in ide_sysfs_register_port() + * [MIPS] Fix CMP Kconfig configuration and mark as broken. + * [MIPS] IP27: Fix build errors if CONFIG_MAPPED_KERNEL=y + * x86 ACPI: Blacklist two HP machines with buggy BIOSes + * kgdb, x86: Avoid invoking kgdb_nmicallback twice per NMI + * kgdb: call touch_softlockup_watchdog on resume + * atmel-mci: Initialize BLKR before sending data transfer command + * Marker depmod fix core kernel list + * Linux 2.6.27-rc9 + + -- Tim Gardner Sun, 05 Oct 2008 21:27:49 -0600 + +linux (2.6.27-5.8) intrepid; urgency=low + + [ Amit Kucheria ] + + * Update AUFS-related Kconfig + - LP: #264048 + + [ Michael Haas ] + + * add proper aufs source tree from 20080922 + * Fix AUFS compilation in vfsub.c + * Add splice-2.6.23.patch from AUFS to export a symbol needed by AUFS + * Add put_filp.patch from AUFS to export a symbol needed by AUFS + * apply (modified) lhash.patch from AUFS to export __lookup_hash() + * Add deny_write_access.patch from AUFS - export deny_write_access + * Add sec_perm-2.6.24.patch from AUFS - export security_inode_permission + * make sure TMPFS_MAGIC is defined in AUFS Makefile + + [ Tim Gardner ] + + * Enabled CONFIG_IPWIRELESS + - LP: #274748 + * Enabled CONFIG_E1000E, disabled CONFIG_E1000E_NEW + This takes advantage of the upstream NVM protection fix in + commit 4a7703582836f55a1cbad0e2c1c6ebbee3f9b3a7. + + [ Upstream Kernel Changes ] + + * Revert "[Bluetooth] Eliminate checks for impossible conditions in IRQ + handler" + * [SCSI] qla2xxx: Defer enablement of RISC interrupts until ISP + initialization completes. + * PCI: Fix pcie_aspm=force + * PCI: fix compiler warnings in pci_get_subsys() + * UBIFS: create the name of the background thread in every case + * UBIFS: TNC / GC race fixes + * UBIFS: remove incorrect assert + * UBIFS: fix printk format warnings + * AMD IOMMU: set iommu sunc flag after command queuing + * AMD IOMMU: protect completion wait loop with iommu lock + * sparc64: Fix disappearing PCI devices on e3500. + * x86, oprofile: BUG scheduling while atomic + * ALSA: ASoC: Fix at32-pcm build breakage with PM enabled + * ath9k: connectivity is lost after Group rekeying is done + * wireless: zd1211rw: add device ID fix wifi dongle "trust nw-3100" + * [IA64] Ski simulator doesn't need check_sal_cache_flush + * [IA64] kexec fails on systems with blocks of uncached memory + * ath9k: Fix IRQ nobody cared issue with ath9k + * [Bluetooth] Fix I/O errors on MacBooks with Broadcom chips + * [Bluetooth] Fix wrong URB handling of btusb driver + * [Bluetooth] Fix USB disconnect handling of btusb driver + * sparc64: Fix missing devices due to PCI bridge test in + of_create_pci_dev(). + * [WATCHDOG] ibmasr: remove unnecessary spin_unlock() + * [WATCHDOG] wdt285: fix sparse warnings + * [WATCHDOG] unlocked_ioctl changes + * x86: fix 27-rc crash on vsmp due to paravirt during module load + * sched: fix init_hrtick() section mismatch warning + * clockevents: prevent cpu online to interfere with nohz + * x86: prevent stale state of c1e_mask across CPU offline/online + * clockevents: prevent stale tick_next_period for onlining CPUs + * clockevents: check broadcast device not tick device + * clockevents: prevent mode mismatch on cpu online + * x86: prevent C-states hang on AMD C1E enabled machines + * x86: c1e_idle: don't mark TSC unstable if CPU has invariant TSC + * timers: fix build error in !oneshot case + * ALSA: ASoC: maintainers - update email address for Liam Girdwood + * ibmasr: remove unnecessary spin_unlock() + * smb.h: do not include linux/time.h in userspace + * kernel-doc: allow structs whose members are all private + * kexec: fix segmentation fault in kimage_add_entry + * Documentation/DMA-mapping.txt: update for pci_dma_mapping_error() + changes + * sys_paccept: disable paccept() until API design is resolved + * mm: tiny-shmem fix lock ordering: mmap_sem vs i_mutex + * Documentation/sysctl/kernel.txt: fix softlockup_thresh description + * memcg: check under limit at shrink_usage + * atmel_serial: update the powersave handler to match serial core + * [SCSI] Fix hang with split requests + * USB Storage: Sierra: Non-configurable TRU-Install + * USB Serial: Sierra: Device addition & version rev + * USB: ehci: fix some ehci hangs and crashes + * USB: Fix the Nokia 6300 storage-mode. + * USB: Correct Sierra Wireless USB EVDO Modem Device ID + * USB: fix hcd interrupt disabling + * USB: update of Documentation/usb/anchors.txt + * usb gadget: fix omap_udc DMA regression + * USB: Fixing Nokia 3310c in storage mode + * usb: musb: fix include path + * USB: fix EHCI periodic transfers + * usb-serial: Add Siemens EF81 to PL-2303 hack triggers + * USB: SERIAL CP2101 add device IDs + * USB: unusual_devs addition for RockChip MP3 player + * USB: fsl_usb2_udc: fix VDBG() format string + * usb serial: ti_usb_3410_5052 obviously broken by firmware changes + * USB: ftdi_sio: Add 0x5050/0x0900 USB IDs (Papouch Quido USB 4/4) + * USB: serial: add ZTE CDMA Tech id to option driver + * USB Serial: Sierra: Add MC8785 VID/PID + * USB: drivers/usb/musb/: disable it on SuperH + * usb: ftdi_sio: add support for Domintell devices + * usb: unusual devs patch for Nokia 5310 Music Xpress + * USB: revert recovery from transient errors + * [MIPS] au1000: Fix gpio direction + * [MIPS] Fixe the definition of PTRS_PER_PGD + * x86: prevent stale state of c1e_mask across CPU offline/online, fix + * x86: disable apm on the olpc + * i2c-powermac: Fix section for probe and remove functions + * i2c-dev: Return correct error code on class_create() failure + * i2c: Fix mailing lists in two MAINTAINERS entries + * ath9k: disable MIB interrupts to fix interrupt storm + * 9p: implement proper trans module refcounting and unregistration + * 9p-trans_fd: fix trans_fd::p9_conn_destroy() + * 9p-trans_fd: clean up p9_conn_create() + * 9p-trans_fd: don't do fs segment mangling in p9_fd_poll() + * 9p-trans_fd: fix and clean up module init/exit paths + * 9p: introduce missing kfree + * 9p: use an IS_ERR test rather than a NULL test + * 9p: fix put_data error handling + * netfilter: ip6t_{hbh,dst}: Rejects not-strict mode on rule insertion + * MN10300: Move asm-arm/cnt32_to_63.h to include/linux/ + * MN10300: Make sched_clock() report time since boot + * ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*() + * ALSA: remove unneeded power_mutex lock in snd_pcm_drop + * IPoIB: Fix crash when path record fails after path flush + * [XFS] Fix extent list corruption in xfs_iext_irec_compact_full(). + * [XFS] Remove xfs_iext_irec_compact_full() + * kgdb: could not write to the last of valid memory with kgdb + * kgdb, x86, arm, mips, powerpc: ignore user space single stepping + * kgdb, x86_64: gdb serial has BX and DX reversed + * kgdb, x86_64: fix PS CS SS registers in gdb serial + * kgdboc,tty: Fix tty polling search to use name correctly + * ARM: Delete ARM's own cnt32_to_63.h + * m32r: remove the unused NOHIGHMEM option + * m32r: don't offer CONFIG_ISA + * m32r: export empty_zero_page + * m32r: export __ndelay + * m32r/kernel/: cleanups + * [MIPS] au1000: Make sure GPIO value is zero or one + * [MIPS] IP27: Switch to dynamic interrupt routing avoding panic on + error. + * [MIPS] BCM47xx: Fix build error due to missing PCI functions + * [SSB] Initialise dma_mask for SSB_BUSTYPE_SSB devices + * Swarm: Fix crash due to missing initialization + * ide-tape: fix vendor strings + * ide: note that IDE generic may prevent other drivers from attaching + * cdrom: update ioctl documentation + * [SCSI] qlogicpti: fix sg list traversal error in continuation entries + * sata_nv: reinstate nv_hardreset() for non generic controllers + * scsi: fix fall out of sg-chaining patch in qlogicpti + * ALSA: make the CS4270 driver a new-style I2C driver + * ALSA: ASoC: Fix another cs4270 error path + * Fix NULL pointer dereference in proc_sys_compare + * kconfig: fix silentoldconfig + * kconfig: readd lost change count + * mm owner: fix race between swapoff and exit + * Linux 2.6.27-rc8 + * e1000e: write protect ICHx NVM to prevent malicious write/erase + + -- Amit Kucheria Tue, 30 Sep 2008 18:22:35 +0300 + +linux (2.6.27-4.7) intrepid; urgency=low + + [ Ben Collins ] + + * build/abi: Add gfs1 to perm blacklist + * build/abi: Ignored changes in gfs2 symbols + + [ Fabio M. Di Nitto ] + + * Revert "SAUCE: Export gfs2 symbols required for gfs1 kernel module" + * ubuntu: update GFS Cluster File System + + [ Stefan Bader ] + + * SAUCE: x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap. + - LP: #276334 + + [ Tim Gardner ] + + * Revert "Disable e1000e until the NVRAM corruption problem is found." + * Add atl1e and atl2 to Debian installer bits + - LP: #273904 + * SAUCE: e1000e: Map NV RAM dynamically only when needed. + - LP: #263555 + + -- Tim Gardner Fri, 26 Sep 2008 20:51:22 -0600 + +linux (2.6.27-4.6) intrepid; urgency=low + + [ Tim Gardner ] + + * Disable e1000e until the NVRAM corruption problem is found. + - LP: #263555 + + [ Upstream Kernel Changes ] + + * Revert "[Bluetooth] Eliminate checks for impossible conditions in IRQ + handler" + + -- Ben Collins Tue, 23 Sep 2008 09:53:57 -0400 + +linux (2.6.27-4.5) intrepid; urgency=low + + [ Upstream Kernel Changes ] + + * Revert "b43/b43legacy: add RFKILL_STATE_HARD_BLOCKED support" + * udf: Fix lock inversion between iprune_mutex and alloc_mutex (v2) + * udf: Fix error paths in udf_new_inode() + * [SCSI] sd: select CRC_T10DIF only when necessary + * [SCSI] zfcp: Fix request queue locking + * [SCSI] zfcp: Correctly query end flag in gpn_ft response + * [SCSI] zfcp: Simplify ccw notify handler + * [SCSI] zfcp: Fix reference counter for remote ports + * [SCSI] zfcp: channel cannot be detached due to refcount imbalance + * [SCSI] zfcp: Remove duplicated unlikely() macros. + * [SCSI] scsi_dh: make check_sense return ADD_TO_MLQUEUE + * [SCSI] make scsi_check_sense HARDWARE_ERROR return ADD_TO_MLQUEUE on + retry + * [SCSI] fix check of PQ and PDT bits for WLUNs + * pcm037: add rts/cts support for serial port + * i.MX serial: fix init failure + * imx serial: set RXD mux bit on i.MX27 and i.MX31 + * imx serial: fix rts handling for non imx1 based hardware + * mlx4_core: Set RAE and init mtt_sz field in FRMR MPT entries + * udf: add llseek method + * PCI/iommu: blacklist DMAR on Intel G31/G33 chipsets + * PCI: Fix printk warnings in probe.c + * PCI: Fix printk warnings in setup-bus.c + * PCI Hotplug: fakephp: fix deadlock... again + * clockevents: remove WARN_ON which was used to gather information + * ocfs2: Fix a bug in direct IO read. + * arch/x86/kernel/kdebugfs.c: introduce missing kfree + * [IA64] fix compile failure with non modular builds + * [IA64] fix up bte.h + * [IA64] arch/ia64/sn/pci/tioca_provider.c: introduce missing kfree + * PCI: fix pciehp_free_irq() + * [IA64] prevent ia64 from invoking irq handlers on offline CPUs + * ide: Fix pointer arithmetic in hpt3xx driver code (3rd try) + * add deprecated ide-scsi to feature-removal-schedule.txt + * swiotlb: fix back-off path when memory allocation fails + * sparc64: Fix interrupt register calculations on Psycho and Sabre. + * VIDEO_SH_MOBILE_CEU should depend on HAS_DMA + * m68k: Update defconfigs for 2.6.27-rc6 + * sparc32: Fix function signature of of_bus_sbus_get_flags(). + * sched: fix 2.6.27-rc5 couldn't boot on tulsa machine randomly + * sched: fix deadlock in setting scheduler parameter to zero + * KVM: SVM: fix random segfaults with NPT enabled + * KVM: SVM: fix guest global tlb flushes with NPT + * KVM: VMX: Always return old for clear_flush_young() when using EPT + * clocksource, acpi_pm.c: fix check for monotonicity + * [ARM] OMAP: Fix MMC device data + * block: disable sysfs parts of the disk command filter + * ath9k: Assign seq# when mac80211 requests this + * sg: disable interrupts inside sg_copy_buffer + * MN10300: Change the fault handler to check in_atomic() not + in_interrupt() + * [Bluetooth] Fix regression from using default link policy + * netlink: fix overrun in attribute iteration + * x86: fix possible x86_64 and EFI regression + * sparc64: Fix PCI error interrupt registry on PSYCHO. + * sparc: Fix user_regset 'n' field values. + * niu: panic on reset + * PCI: re-add debug prints for unmodified BARs + * [ARM] 5245/1: Fix warning about unused return value in drivers/pcmcia + * [ARM] 5246/1: tosa: add proper clock alias for tc6393xb clock + * [ARM] 5247/1: tosa: SW_EAR_IN support + * [ARM] Fix PCI_DMA_BUS_IS_PHYS for ARM + * ata: duplicate variable sparse warning + * sata_inic162x: enable LED blinking + * [libata] LBA28/LBA48 off-by-one bug in ata.h + * proc: more debugging for "already registered" case + * include/linux/ioport.h: add missing macro argument for devm_release_* + family + * cpuset: avoid changing cpuset's cpus when -errno returned + * cpuset: hotplug documentation fix + * coredump_filter: add description of bit 4 + * bfs: fix Lockdep warning + * mm: ifdef Quicklists in /proc/meminfo + * spi_mpc83xx: fix clockrate calculation for low speed + * spi_mpc83xx: reject invalid transfer sizes + * pxa2xx_spi: chipselect bugfixes + * pxa2xx_spi: dma bugfixes + * mm: mark the correct zone as full when scanning zonelists + * Documentation/ABI: /sys/class/gpio + * MAINTAINERS: fix USB VIDEO CLASS mail list address + * ia64: fix panic during `modprobe -r xpc' + * atmel_lcdfb: disable LCD and DMA engines when suspending + * spi_s3c24xx: fix section warning + * rescan_partitions(): make device capacity errors non-fatal + * memstick: fix MSProHG 8-bit interface mode support + * Add Uwe Kleine-König to .mailmap + * xen: fix for xen guest with mem > 3.7G + * x86/paravirt: Remove duplicate paravirt_pagetable_setup_{start, done}() + * crypto: talitos - Avoid consecutive packets going out with same IV + * slub: fixed uninitialized counter in struct kmem_cache_node + * udp: Fix rcv socket locking + * IB/mlx4: Fix up fast register page list format + * [MIPS] VR41xx: unsigned irq cannot be negative + * x86: completely disable NOPL on 32 bits + * [S390] cio: Fix driver_data handling for ccwgroup devices. + * [S390] cio: fix orb initialization in cio_start_key + * sparc64: Fix OOPS in psycho_pcierr_intr_other(). + * sparc64: Fix SMP bootup with CONFIG_STACK_DEBUG or ftrace. + * RDMA/nes: Fix client side QP destroy + * IPoIB: Fix deadlock on RTNL between bcast join comp and ipoib_stop() + * clockevents: make device shutdown robust + * powerpc: Fix interrupt values for DMA2 in MPC8610 HPCD device tree + * hpplus: fix build regression + * Fix PNP build failure, bugzilla #11276 + * warn: Turn the netdev timeout WARN_ON() into a WARN() + * [XFS] Move memory allocations for log tracing out of the critical path + * [XFS] Fix regression introduced by remount fixup + * [XFS] Prevent direct I/O from mapping extents beyond eof + * [XFS] Fix barrier status change detection. + * [XFS] Prevent lockdep false positives when locking two inodes. + * [XFS] Fix use-after-free with buffers + * [XFS] Don't do I/O beyond eof when unreserving space + * powerpc: Holly board needs dtbImage target + * Fix compile failure with non modular builds + * [ARM] 5249/1: davinci: remove redundant check in davinci_psc_config() + * [ARM] omap: back out 'internal_clock' support + * sctp: set the skb->ip_summed correctly when sending over loopback. + * [ARM] 5255/1: Update jornada ssp to remove build errors/warnings + * sctp: do not enable peer features if we can't do them. + * sctp: Fix oops when INIT-ACK indicates that peer doesn't support AUTH + * bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned + int + * forcedeth: call restore mac addr in nv_shutdown path + * e1000: prevent corruption of EEPROM/NVM + * e100: Use pci_pme_active to clear PME_Status and disable PME# + * md: Don't wait UNINTERRUPTIBLE for other resync to finish + * atstk1000: fix build breakage with BOARD_ATSTK100X_SW2_CUSTOM=y + * avr32: add .gitignore files + * avr32: add generic_find_next_le_bit bit function + * avr32: fix sys_sync_file_range() call convention + * avr32: nmi_enter() without nmi_exit() + * KVM: ia64: 'struct fdesc' build fix + * hwmon: (atxp1) Fix device detection logic + * hwmon: (it87) Fix fan tachometer reading in IT8712F rev 0x7 (I) + * hwmon: (ad7414) Make ad7414_update_device() static + * tmio_mmc: fix compilation with debug enabled + * atmel-mci: debugfs: enable clock before dumping regs + * atmel-mci: Fix memory leak in atmci_regs_show + * atmel-mci: Fix bogus debugfs file size + * atmel-mci: Set MMC_CAP_NEEDS_POLL if no detect_pin + * mmc_block: handle error from mmc_register_driver() + * mmc_test: initialize mmc_test_lock statically + * [MIPS] Fix 64-bit IP checksum code + * [MIPS] SMTC: Clear TIF_FPUBOUND on clone / fork. + * [MIPS] Fix potential latency problem due to non-atomic cpu_wait. + * [MIPS] vmlinux.lds.S: handle .text.* + * MAINTAINERS: Trivial whitespace cleanups + * MAINTAINERS: Various fixes + * Linux 2.6.27-rc7 + + -- Tim Gardner Sun, 21 Sep 2008 21:49:28 -0600 + +linux (2.6.27-3.4) intrepid; urgency=low + + [ Colin Ian King ] + + * SAUCE: fix kernel oops in VirtualBox during paravirt patching + - LP: #246067 + * SAUCE: qc-usb: Enable Logitech QuickCam Messenger + - LP: #209901 + * SAUCE: appleir: Enable driver for new MacBook Pro + - LP: #157919 + + [ Tim Gardner ] + + * Enabled CONFIG_DEBUG_RODATA=y + + [ Upstream Kernel Changes ] + + * Revert "ALSA: hda - Added model selection for iMac 24"" + * Revert "x86: fix HPET regression in 2.6.26 versus 2.6.25, check hpet + against BAR, v3" + * Revert "[ARM] use the new byteorder headers" + * Revert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM" + * Revert "crypto: camellia - Use kernel-provided bitops, unaligned access + helpers" + * svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet + * sched, cpuset: rework sched domains and CPU hotplug handling (v4) + * ACPI: Fix now signed module parameter. + * ACPI: Change package length error to warning + * ACPI: Fix now signed module parameter. + * ACPI: Fix typo in "Disable MWAIT via DMI on broken Compal board" + * acpi: add checking for NULL early param + * UBIFS: fix zero-length truncations + * Input: bcm5974 - add maintainer entry + * sh64: re-add the __strnlen_user() prototype + * sh: fix ptrace_64.c:user_disable_single_step() + * PNPACPI: ignore the producer/consumer bit for extended IRQ descriptors + * UBIFS: always read hashed-key nodes under TNC mutex + * UBIFS: allow for racing between GC and TNC + * [CIFS] Fix plaintext authentication + * sparc32: Implement smp_call_function_single(). + * sh: crash kernel resource fix + * sh: fix kexec entry point for crash kernels + * sh: fix platform_resource_setup_memory() section mismatch + * sh: update Migo-R defconfig + * sh: update AP325RXA defconfig + * sh: fix semtimedop syscall + * cifs: fix O_APPEND on directio mounts + * [CIFS] update cifs change log + * [CIFS] Turn off Unicode during session establishment for plaintext + authentication + * ACPI: thinkpad-acpi: wan radio control is not experimental + * sparc: Fix resource flags for PCI children in OF device tree. + * remove blk_register_filter and blk_unregister_filter in gendisk + * ALSA: oxygen: fix distorted output on AK4396-based cards + * ipv6: When we droped a packet, we should return NET_RX_DROP instead of + 0 + * pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock() + * net: Unbreak userspace usage of linux/mroute.h + * Don't trigger softlockup detector on network fs blocked tasks + * Resource handling: add 'insert_resource_expand_to_fit()' function + * sparc64: setup_valid_addr_bitmap_from_pavail() should be __init + * UBIFS: do not update min_idx_lebs in stafs + * UBIFS: push empty flash hack down + * UBIFS: remove incorrect index space check + * UBIFS: improve statfs reporting + * UBIFS: fix assertion + * UBIFS: add forgotten gc_idx_lebs component + * UBIFS: introduce LEB overhead + * UBIFS: improve statfs reporting even more + * UBIFS: fill f_fsid + * drm/radeon: downgrade debug message from info to debug. + * Remove invalidate_partition call from do_md_stop. + * Fix problem with waiting while holding rcu read lock in md/bitmap.c + * ALSA: hda: Distortion fix for dell_m6_core_init + * ALSA: ASoC: fix pxa2xx-i2s clk_get call + * block: restore original behavior of /proc/partition when there's no + partition + * debugobjects: fix lockdep warning + * avr32: Fix lockup after Java stack underflow in user mode + * avr32: pm_standby low-power ram bug fix + * nfsd: fix compound state allocation error handling + * sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports + * nfsd: fix buffer overrun decoding NFSv4 acl + * audit: Moved variable declaration to beginning of function + * Fix modules_install on RO nfs-exported trees. + * Remove '#include ' from mm/page_isolation.c + * dabusb_fpga_download(): fix a memory leak + * [MTD] mtdchar.c: Fix regression in MEMGETREGIONINFO ioctl() + * ALSA: hda - Fix ALC663 auto-probe + * ALSA: hda - Add mic-boost controls to ALC662/663 auto configuration + * Un-break printk strings in x86 PCI probing code + * kernel/resource.c: fix new kernel-doc warning + * softlockup: minor cleanup, don't check task->state twice + * fix typo in arch/parisc/hpux/fs.c + * m68k: atari_keyb_init operator precedence fix + * ACPI: Fix typo in "Disable MWAIT via DMI on broken Compal board" + * don't diff generated firmware files + * IDE: compile fix for sff_dma_ops + * IDE: palm_bk3710: fix compile warning for unused variable + * ide: fix hwif_to_node() + * palm_bk3710: improve IDE registration + * ide-disk: remove stale init_idedisk_capacity() documentation + * ide/Kconfig: mark ide-scsi as deprecated + * net/wireless/Kconfig: clarify the description for + CONFIG_WIRELESS_EXT_SYSFS + * iwlwifi: do not use GFP_DMA in iwl_tx_queue_init + * iwlwifi: workaround interrupt handling no some platforms + * iwlwifi: fix apm_stop (wrong bit polarity for FLAG_INIT_DONE) + * iwlwifi: fix 64bit platform firmware loading + * orinoco: Multicast to the specified addresses + * wireless/libertas/if_cs.c: fix memory leaks + * mac80211: Fix debugfs union misuse and pointer corruption + * rt2x00: Compiler warning unmasked by fix of BUILD_BUG_ON + * ath9k: Incorrect key used when group and pairwise ciphers are + different. + * ath9: Fix ath_rx_flush_tid() for IRQs disabled kernel warning message. + * net/xfrm: Use an IS_ERR test rather than a NULL test + * ipv: Re-enable IP when MTU > 68 + * NTFS: update homepage + * mm: make setup_zone_migrate_reserve() aware of overlapping nodes + * VFS: fix dio write returning EIO when try_to_release_page fails + * acer-wmi: remove debugfs entries upon unloading + * mm/bootmem: silence section mismatch warning - + contig_page_data/bootmem_node_data + * MAINTAINERS: add a maintainer for the BCM5974 multitouch driver + * 8250: improve workaround for UARTs that don't re-assert THRE correctly + * mmc: at91_mci: don't use coherent dma buffers + * pid_ns: zap_pid_ns_processes: fix the ->child_reaper changing + * pid_ns: (BUG 11391) change ->child_reaper when init->group_leader exits + * cirrusfb: check_par fixes + * devcgroup: fix race against rmdir() + * mm: show quicklist usage in /proc/meminfo + * mm: size of quicklists shouldn't be proportional to the number of CPUs + * ipc: document the new auto_msgmni proc file + * hp-wmi: update to match current rfkill semantics + * hp-wmi: add proper hotkey support + * tdfxfb: fix SDRAM memory size detection + * tdfxfb: fix frame buffer name overrun + * rtc_time_to_tm: fix signed/unsigned arithmetic + * ibft: fix target info parsing in ibft module + * sysfs: document files in /sys/firmware/sgi_uv/ + * rtc-cmos: wake again from S5 + * pm_qos_requirement might sleep + * drivers/char/random.c: fix a race which can lead to a bogus BUG() + * ipsec: Fix deadlock in xfrm_state management. + * [x86] Fix TSC calibration issues + * tipc: Don't use structure names which easily globally conflict. + * sparc64: Fix IPI call locking. + * [ARM] omap: fix gpio.c build error + * sparc64: Prevent sparc64 from invoking irq handlers on offline CPUs + * powerpc: Fix uninitialised variable in VSX alignment code + * powerpc: Only make kernel text pages of linear mapping executable + * powerpc: Make sure _etext is after all kernel text + * powerpc: Work around gcc's -fno-omit-frame-pointer bug + * powerpc: Fix build error with 64K pages and !hugetlbfs + * powerpc: Fix for getting CPU number in power_save_ppc32_restore() + * UBIFS: amend f_fsid + * net/usb/pegasus: avoid hundreds of diagnostics + * ixgbe: initialize interrupt throttle rate + * pcnet-cs, axnet_cs: add new IDs, remove dup ID with less info + * netxen: Remove workaround for chipset quirk + * Split up PIT part of TSC calibration from native_calibrate_tsc + * iwlwifi: W/A for the TSF correction in IBSS + * iwlwifi: fix hidden ssid discovery in passive channels + * iwlwifi: remove false rxon if rx chain changes + * iwlwifi: fix station mimo power save values + * iwlwifi: fix rx_chain computation + * iwlwifi: fix Tx cmd memory allocation failure handling + * iwlwifi: call apm stop on exit + * iwlwifi: fix STATUS_EXIT_PENDING is not set on pci_remove + * ath9k: Fix TX status reporting + * ath9k: Fix TX control flag use for no ACK and RTS/CTS + * V4L/DVB (8555): au8522: add mechanism to configure IF frequency for vsb + and qam + * V4L/DVB (8556): au0828: add support for Hauppauge Woodbury + * V4L/DVB (8598): au8522: clean up function au8522_set_if + * V4L/DVB (8599): au8522: remove if frequency settings from vsb/qam + modulation tables + * V4L/DVB (8600): au0828: explicitly set 6 MHz IF frequency in + hauppauge_hvr950q_config + * V4L/DVB (8629): v4l2-ioctl: do not try to handle private V4L1 ioctls + * V4L/DVB (8633): ivtv: update ivtv version number + * V4L/DVB (8648): ivtv: improve CC support + * V4L/DVB (8660): gspca: Simplify the scan of URB packets in pac7311. + * V4L/DVB (8661): gspca: Bug in the previous changeset about pac7311. + * V4L/DVB (8663): gspca: Webcam 0c45:6128 added in sonixj. + * V4L/DVB (8664): gspca: The bridge/sensor of the webcam 093a:2621 is a + PAC 7302. + * V4L/DVB (8665): gspca: Fix the 640x480 resolution of the webcam + 093a:2621. + * V4L/DVB (8666): gspca: Bad scanning of frames in pac7311. + * V4L/DVB (8667): gspca: Bad probe of Z-Star/Vimicro webcams with pas106 + sensor. + * V4L/DVB (8668): gspca: Conflict GSPCA / ET61X251 for the webcam + 102c:6251. + * V4L/DVB (8669): gspca: Add white balance control for spca561 rev 012A. + * V4L/DVB (8671): gspca: Remove the unused field 'dev_name' of the device + structure. + * V4L/DVB (8672): gspca: Big rewrite of spca561. + * V4L/DVB (8673): gspca: Bad frame scanning again and bad init in + pac7311. + * V4L/DVB (8674): gspca: Webcam 0c45:612e added in sonixj. + * V4L/DVB (8675): gspca: Pixmap PJPG (Pixart 73xx JPEG) added, generated + by pac7311. + * V4L/DVB (8678): Remove the dead CONFIG_RADIO_MIROPCM20{,_RDS} code + * V4L/DVB (8681): v4l2-ioctl.c: fix warning + * V4L/DVB (8682): V4L: fix return value of register video func + * V4L/DVB (8701): cx18: Add missing lock for when the irq handler + manipulates the queues + * V4L/DVB (8703): gspca: Do controls work for spca561 revision 12a. + * V4L/DVB (8705): gspca: Adjust some control limits in spca561. + * V4L/DVB (8706): Make contrast and brightness work for pac7302. + * V4L/DVB (8707): gspca: Colors, hflip and vflip controls added for + pac7302. + * V4L/DVB (8709): gspca: Fix initialization and controls of sn9x110 - + ov7630. + * V4L/DVB (8710): gspca: Bad color control in sonixj. + * V4L/DVB (8711): gspca: Bad controls and quantization table of pac7311. + * V4L/DVB (8712): gspca: Bad start of sonixj webcams since changeset + a8779025e7e8. + * V4L/DVB (8713): gspca: Bad color control again in sonixj. + * V4L/DVB (8714): gspca: Bad start of sn9c110 and sensor om6802. + * V4L/DVB (8715): gspca: Change the name of some webcam in the gspca doc. + * V4L/DVB (8716): gspca: Bad start of sn9c110 and sensor ov7630. + * V4L/DVB (8717): gspca: Frame buffer too small for small resolutions + (sonixj and t613). + * V4L/DVB (8718): gspca: suspend/resume added. + * V4L/DVB (8719): gspca: Have VIDIOC_QUERYCTRL more compliant to the + spec. + * V4L/DVB (8720): gspca: V4L2_CAP_SENSOR_UPSIDE_DOWN added as a cap for + some webcams. + * V4L/DVB (8722): sms1xxx: fix typo in license header + * V4L/DVB (8726): link tuner before saa7134 + * V4L/DVB (8727): V4L1: make PMS not autoprobe when builtin. + * V4L/DVB (8728): 1-make-pms-not-autoprobe-when-builtin update + * V4L/DVB (8749): Fix error code, when camera is not turned on by sonypi + * V4L/DVB (8750): V4L: check inval in video_register_device_index() + * V4L/DVB (8751): vivi: Fix some issues at vivi register routine + * V4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings + * V4L/DVB (8769): cx18: Simplify queue flush logic to prevent oops in + cx18_flush_queues() + * V4L/DVB (8778): radio: fix incorrect video_register_device result check + * V4L/DVB (8779): v4l: fix more incorrect video_register_device result + checks + * V4L/DVB (8790): saa7115: call i2c_set_clientdata only when state != + NULL + * V4L/DVB (8803): s5h1409: Enable QAM_AUTO mode + * V4L/DVB (8804): s5h1411: Enable QAM_AUTO mode + * V4L/DVB (8805): Steven Toth email address change + * V4L/DVB (8809): gspca: Revert commit + 9a9335776548d01525141c6e8f0c12e86bbde982 + * V4L/DVB (8810): gspca: Compile error when CONFIG_PM not defined. + * V4L/DVB (8812): gspca: Do pac73xx webcams work. + * V4L/DVB (8813): gspca: Adjust SOF detection for pac73xx. + * V4L/DVB (8814): gspca: Set DISABLED the disabled controls at query + control time. + * V4L/DVB (8815): gspca: Fix problems with disabled controls. + * V4L/DVB (8816): gspca: Set disabled ctrls and fix a register pb with + ovxxxx in sonixb. + * V4L/DVB (8817): gspca: LED and proble changes in sonixb. + * V4L/DVB (8818): gspca: Reinitialize the device on resume. + * V4L/DVB (8819): gspca: Initialize the ov519 at open time and source + cleanup. + * V4L/DVB (8820): gspca: Change initialization and gamma of zc3xx - + pas106. + * V4L/DVB (8822): gspca: Change some subdriver functions for + suspend/resume. + * V4L/DVB (8823): gspca: H and V flips work for ov7670 only in ov519. + * V4L/DVB (8824): gspca: Too much code removed in the suspend/resume + changeset. + * V4L/DVB (8825): gspca: More controls for pac73xx and new webcam + 093a:2624. + * V4L/DVB (8826): gspca: Webcam Labtec 2200 (093a:2626) added in pac7311. + * V4L/DVB (8827): gspca: Stop pac7302 autogain oscillation. + * V4L/DVB (8828): gspca: Set the clock at the end of initialization in + sonixj. + * V4L/DVB (8829): gspca: Have a clean kmalloc-ated buffer for USB + exchanges. + * V4L/DVB (8830): gspca: Move some probe code to the new init function. + * V4L/DVB (8831): gspca: Resolve webcam conflicts between some drivers. + * V4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams. + * V4L/DVB (8833): gspca: Cleanup the sonixb code. + * V4L/DVB (8834): gspca: Have a bigger buffer for sn9c10x compressed + images. + * V4L/DVB (8835): gspca: Same pixfmt as the sn9c102 driver and raw Bayer + added in sonixb. + * V4L/DVB (8837): dvb: fix I2C adapters name size + * V4L/DVB (8839): dib0700: add comment to identify 35th USB id pair + * V4L/DVB (8840): dib0700: add basic support for Hauppauge Nova-TD-500 + (84xxx) + * V4L/DVB (8842): vivi_release(): fix use-after-free + * V4L/DVB (8843): tda10048_firmware_upload(): fix a memory leak + * V4L/DVB (8844): dabusb_fpga_download(): fix a memory leak + * bnx2x: Accessing un-mapped page + * SELinux: memory leak in security_context_to_sid_core + * x86: add io delay quirk for Presario F700 + * mmap: fix petty bug in anonymous shared mmap offset handling + * x86: Change warning message in TSC calibration. + * PCI: fix pbus_size_mem() resource alignment for CardBus controllers + * [ARM] omap: fix build error in ohci-omap.c + * [ARM] remove unused #include + * ACPI: Make Len Brown the ACPI maintainer again + * fujitsu-laptop: fix regression for P8010 in 2.6.27-rc + * ACPI: Avoid bogus timeout about SMbus check + * acer-wmi: remove debugfs entries upon unloading + * forgotten refcount on sysctl root table + * V4L/DVB (8868): gspca: Support for vga modes with sif sensors in + sonixb. + * V4L/DVB (8869): gspca: Move the Sonix webcams with TAS5110C1B from + sn9c102 to gspca. + * V4L/DVB (8870): gspca: Fix dark room problem with sonixb. + * V4L/DVB (8872): gspca: Bad image format and offset with rev072a of + spca561. + * V4L/DVB (8873): gspca: Bad image offset with rev012a of spca561 and + adjust exposure. + * V4L/DVB (8874): gspca: Adjust hstart for sn9c103/ov7630 and update + usb-id's. + * [ARM] omap: fix virtual vs physical address space confusions + * V4L/DVB (8876): budget: udelay changed to mdelay + * V4L/DVB (8877): b2c2 and bt8xx: udelay to mdelay + * V4L/DVB (8880): PATCH: Fix parents on some webcam drivers + * V4L/DVB (8881): gspca: After 'while (retry--) {...}', retry will be -1 + but not 0. + * powerpc/spufs: Fix multiple get_spu_context() + * powerpc/spufs: Fix race for a free SPU + * Input: bcm5974 - small formatting cleanup + * Input: bcm5974 - improve finger tracking and counting + * Input: bcm5974 - add BTN_TOUCH event for mousedev benefit + * Input: i8042 - make Lenovo 3000 N100 blacklist entry more specific + * sh: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y. + * sh64: resume_kernel fix for kernel oops built with + CONFIG_BKL_PREEMPT=y. + * i2c: fix i2c-sh_mobile timing issues + * clockevents: prevent clockevent event_handler ending up handler_noop + * clockevents: prevent endless loop in periodic broadcast handler + * clockevents: enforce reprogram in oneshot setup + * clockevents: prevent multiple init/shutdown + * clockevents: prevent endless loop lockup + * HPET: make minimum reprogramming delta useful + * [MTD] [NAND] tmio_nand: fix base address programming + * Fix conditional export of kvh.h and a.out.h to userspace. + * async_tx: fix the bug in async_tx_run_dependencies + * sched_clock: fix NOHZ interaction + * sched: fix process time monotonicity + * UBIFS: fix division by zero + * UBIFS: make minimum fanout 3 + * [MIPS] Fix data bus error recovery + * [MIPS] Fix WARNING: at kernel/smp.c:290 + * [MIPS] TXx9: Fix txx9_pcode initialization + * [MIPS] TX39xx: Add missing local_flush_icache_range initialization + * [MIPS] Probe initrd header only if explicitly specified + * res_counter: fix off-by-one bug in setting limit + * forcedeth: fix kexec regression + * atmel_lcdfb: fix oops in rmmod when framebuffer fails to register + * tracehook: comment pasto fixes + * drivers/mmc/card/block.c: fix refcount leak in mmc_block_open() + * x86: boot: stub out unimplemented CPU feature words + * x86: add NOPL as a synthetic CPU feature bit + * x86: use X86_FEATURE_NOPL in alternatives + * clockevents: broadcast fixup possible waiters + * x86: HPET fix moronic 32/64bit thinko + * x86: HPET: read back compare register before reading counter + * Fix CONFIG_AC97_BUS dependency + * [ARM] 5241/1: provide ioremap_wc() + * ntp: fix calculation of the next jiffie to trigger RTC sync + * clocksource, acpi_pm.c: use proper read function also in errata mode + * clocksource, acpi_pm.c: check for monotonicity + * x86: delay early cpu initialization until cpuid is done + * x86: move mtrr cpu cap setting early in early_init_xxxx + * sched: arch_reinit_sched_domains() must destroy domains to force + rebuild + * x86, xen: Use native_pte_flags instead of native_pte_val for .pte_flags + * x86: pda_init(): fix memory leak when using CPU hotplug + * x86: cpu_init(): fix memory leak when using CPU hotplug + * powerpc/spufs: Fix possible scheduling of a context to multiple SPEs + * netfilter: nf_conntrack_sip: de-static helper pointers + * netfilter: nf_conntrack_gre: more locking around keymap list + * netfilter: nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet + * netfilter: nf_conntrack_irc: make sure string is terminated before + calling simple_strtoul + * pkt_sched: Fix qdisc state in net_tx_action() + * powerpc: Fix rare boot build breakage + * ahci, pata_marvell: play nicely together + * sata_mv: add RocketRaid 1720 PCI ID to driver + * ahci: disable PMP for marvell ahcis + * sata_nv: disable hardreset for generic + * libata-sff: kill spurious WARN_ON() in ata_hsm_move() + * pata_sil680: remove duplicate pcim_enable_device + * ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs + * [MIPS] IP22: Fix detection of second HPC3 on Challenge S + * xen: fix 2.6.27-rc5 xen balloon driver warnings + * x86: disable static NOPLs on 32 bits + * netns : fix kernel panic in timewait socket destruction + * bridge: don't allow setting hello time to zero + * NFS: Restore missing hunk in NFS mount option parser + * usb: fix null deferences in low level usb serial + * Fix format of MAINTAINERS + * sparc64: Disable timer interrupts in fixup_irqs(). + * [Bluetooth] Fix reference counting during ACL config stage + * [Bluetooth] Enforce correct authentication requirements + * [Bluetooth] Reject L2CAP connections on an insecure ACL link + * [S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit + mode + * [S390] cio: Correct cleanup on error. + * [S390] cio: handle ssch() return codes correctly. + * [S390] cio: allow offline processing for disconnected devices + * ipsec: Restore larval states and socket policies in dump + * update Documentation/filesystems/Locking for 2.6.27 changes + * MAINTAINERS: add Atheros maintainer for atlx + * lib: Correct printk %pF to work on all architectures + * x86: fix memmap=exactmap boot argument + * clockevents: remove WARN_ON which was used to gather information + * ipv6: Fix OOPS in ip6_dst_lookup_tail(). + * Linux 2.6.27-rc6 + + -- Ben Collins Tue, 02 Sep 2008 12:45:56 -0400 + +linux (2.6.27-2.3) intrepid; urgency=low + + [ Ben Collins ] + + * build/retag: Make script save .orig of tags for later use + * ubuntu/lirc: Fix device_create call + * build/firmware: Put in-kernel firmware into version specific subdir + - LP: #262115 + * Rebase on linux-2.6 git. + * ABI bump + + [ Herton Ronaldo Krzesinski ] + + * SAUCE: (no-up) Apparmor warning fixes + + [ John Johansen ] + + * SAUCE: (no-up) Proper AppArmor ptrace updates for newer lsm API + + [ Mackenzie Morgan ] + + * SAUCE: Add quirk for ASUS Z37E to make sound audible after resume + - LP: #25896 + + -- Ben Collins Wed, 27 Aug 2008 14:03:05 -0400 + +linux (2.6.27-1.2) intrepid; urgency=low + + [ Amit Kucheria ] + + * SAUCE: make fc transport removal of target configurable + * SAUCE: pm: Config option to disable handling of console during + suspend/resume + + [ Ben Collins ] + + * SAUCE: Lower warning level of some PCI messages + * SAUCE: input/mouse/alps: Do not call psmouse_reset() for alps + * SAUCE: tulip: Let dmfe handle davicom on non-sparc + * SAUCE: tulip: Define ULI PCI ID's + * SAUCE: (no-up) version: Implement version_signature proc file. + * SAUCE: (no-up) connector.h: Add idx/val for drbd + * SAUCE: (no-up) swap: Add notify_swap_entry_free callback for compcache + * SAUCE: drivers: Remove some duplicate device entries in various modules + * SAUCE: (no-up) [AppArmor] merge with upstream subversion r1291 + * SAUCE: apparmor: Update for changes to ptrace lsm hooks + * SAUCE: (no-up) Enable ubuntu extra subdirectory + * SAUCE: applesmc: Add MacBookAir + * SAUCE: (no-up) ACPI: initramfs DSDT override support + * ubuntu: Add drbd module + * ubuntu: Add iscsitarget module + * ubuntu: Add BOM for iscsitarget + * ubuntu: Add squashfs driver + * SAUCE: (no-up) Check for squashfs superblock in initramfs mounting. + * ubuntu: Add aufs module + * ubuntu: Added atl2 driver + * ubuntu: Added et131x driver + * ubuntu: Add dm-raid4-5 driver + * ubuntu: Add ndiswrapper driver + * ubuntu: Added ram backed compressed swap module (compcache) + * ubuntu: Add misc drivers from hardy lum + * ubuntu: Add heci driver 3.2.0.24 + * ubuntu: Add ov511 and bt-sco drivers + * ubuntu: Add acx, prism2_usb wireless drivers + * ubuntu: Add at76 driver to build + * ubuntu: Add fsam7400 sw kill switch driver + * ubuntu: Added qc-usb driver + * ubuntu: e1000e: Upgraded module to 0.4.1.7 + * ubuntu: Added rfkill drivers + * ubuntu: VIA - Add VIA DRM Chrome9 3D engine + * ubuntu: unionfs: Added v1.4 module from hardy + * ubuntu: Add LIRC driver + * ubuntu: Add GFS driver + * ubuntu: New tlsup driver for toshiba laptops + * Update config files + * build/d-i: Remove obsolete dm modules + + [ Chuck Short ] + + * SAUCE: ata: blacklist FUJITSU MHW2160BH PL + + [ Colin Ian King ] + + * ubuntu: Add dm-loop + * SAUCE: Enable speedstep for sonoma processors. + + [ Dennis Noordsij ] + + * SAUCE: Work around ACPI corruption upon suspend on some Dell machines. + + [ Fabio M. Di Nitto ] + + * SAUCE: Export gfs2 symbols required for gfs1 kernel module + + [ Matthew Garrett ] + + * SAUCE: hostap: send events on data interface as well as master + interface + + [ Michael Frey (Senior Manager, MID ] + + * SAUCE: Send HCI_RESET for Broadcomm 2046 + + [ Phillip Lougher ] + + * SAUCE: r8169: disable TSO by default for RTL8111/8168B chipsets. + + [ Stefan Bader ] + + * SAUCE: (no-up) Export dm_disk function of device-mapper + * SAUCE: Restore VT fonts on switch + * SAUCE: mmc: Increase power_up deleay to fix TI readers + + [ Tim Gardner ] + + * SAUCE: Add extra headers to linux-libc-dev + * SAUCE: Catch nonsense keycodes and silently ignore + * SAUCE: Added support for HDAPS on various ThinkPads from Lenovo and IBM + * SAUCE: Guest OS does not recognize a lun with non zero target id on + Vmware ESX Server + * SAUCE: (no-up) Take care of orinoco_cs overlap with hostap_cs + * ubuntu: Add GNBD driver + + -- Ben Collins Sat, 23 Aug 2008 15:48:35 -0400 + +linux (2.6.27-0.0) intrepid; urgency=low + + * Not uploaded, placeholder for new release + + -- Ben Collins Sat, 23 Aug 2008 15:48:35 -0400 + +linux (2.6.26-5.17) intrepid; urgency=low + + [ Ben Collins ] + + * build/abi: Add tosh_smm symbol to blacklist + + -- Ben Collins Fri, 15 Aug 2008 09:29:34 -0400 + +linux (2.6.26-5.16) intrepid; urgency=low + + [ Ben Collins ] + + * Revert "SAUCE: toshiba_acpi: Rewrote most of the proc entry bits." + * Revert "SAUCE: Update toshiba_acpi.c to version 0.19a" + * build/config: Disable in-kernel toshiba driver(s) + * ubuntu/tlsup: New driver for toshiba laptops + * build/config: Enable TLSUP driver + * SAUCE: e1000e: Fix E1000E_ENABLED logic to check for our E1000E_NEW + driver as well + * ubuntu/e1000e: Remove E1000E_ENABLED option in local config + * build/config: Update configs to have E1000E_ENABLED set + * ubuntu/prism2: Remove duplicate device + + [ Fabio M. Di Nitto ] + + * SAUCE: Export gfs2 symbols required for gfs1 kernel module + + [ Stefan Bader ] + + * SAUCE: x86: HPET rework for SB700 + - LP: #255910 + + [ Tim Gardner ] + + * Add GNBD driver + * Enable GNBD driver + * SAUCE: Add GFS driver + * SAUCE: Enable gfs driver configs + * b43: Linksys WMP54G (BCM4306/3) card in a PCI format has an SPROM + coding + + [ Upstream Kernel Changes ] + + * KVM: x86 emulator: emulate clflush + * USB: quirk PLL power down mode + + -- Ben Collins Mon, 11 Aug 2008 13:19:28 -0400 + +linux (2.6.26-5.15) intrepid; urgency=low + + [ Ben Collins ] + + * Revert "SAUCE: Add blacklist support to fix Belkin bluetooth dongle." + - Superceded by upstream changes. + * build/config: New option enabled for uvcvideo + * build/control: Add Vcs-Git meta data to control file + * SAUCE: toshiba_acpi: Rewrote most of the new code + * abi/perm-blacklist: Add emu10k1 driver to blacklist + + [ Upstream Kernel Changes ] + + * pxamci: trivial fix of DMA alignment register bit clearing + * udplite: Protection against coverage value wrap-around + * ipv6: use timer pending + * ipv6: __KERNEL__ ifdef struct ipv6_devconf + * hdlcdrv: Fix CRC calculation. + * quota: fix possible infinite loop in quota code + * isofs: fix minor filesystem corruption + * KVM: VMX: Fix a wrong usage of vmcs_config + * KVM: SVM: fix suspend/resume support + * KVM: mmu_shrink: kvm_mmu_zap_page requires slots_lock to be held + * KVM: VMX: Add ept_sync_context in flush_tlb + * KVM: x86 emulator: Fix HLT instruction + * KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction + * KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts + * Patch Upstream: x86 ptrace: fix PTRACE_GETFPXREGS error + * rcu: fix rcu_try_flip_waitack_needed() to prevent grace-period stall + * Fix typos from signal_32/64.h merge + * x86 reboot quirks: add Dell Precision WorkStation T5400 + * USB: fix usb serial pm counter decrement for disconnected interfaces + * x86, suspend, acpi: enter Big Real Mode + * markers: fix duplicate modpost entry + * Fix build on COMPAT platforms when CONFIG_EPOLL is disabled + * proc: fix /proc/*/pagemap some more + * cpusets: fix wrong domain attr updates + * x86: fix crash due to missing debugctlmsr on AMD K6-3 + * ide-cd: fix oops when using growisofs + * rtc-at91rm9200: avoid spurious irqs + * vmlinux.lds: move __attribute__((__cold__)) functions back into final + .text section + * ARM: fix fls() for 64-bit arguments + * tcp: Clear probes_out more aggressively in tcp_ack(). + * sparc64: Fix lockdep issues in LDC protocol layer. + * sparc64: Fix cpufreq notifier registry. + * sparc64: Do not define BIO_VMERGE_BOUNDARY. + * iop-adma: fix platform driver hotplug/coldplug + * myri10ge: do not forget to setup the single slice pointers + * myri10ge: do not use mgp->max_intr_slots before loading the firmware + * ALSA: trident - pause s/pdif output + * V4L: cx18: Upgrade to newer firmware & update documentation + * DVB: dib0700: add support for Hauppauge Nova-TD Stick 52009 + * V4L: uvcvideo: Fix a buffer overflow in format descriptor parsing + * V4L: uvcvideo: Use GFP_NOIO when allocating memory during resume + * V4L: uvcvideo: Don't free URB buffers on suspend + * V4L: uvcvideo: Make input device support optional + * V4L: uvcvideo: Add support for Medion Akoya Mini E1210 integrated + webcam + * V4L: saa7134: Copy tuner data earlier to avoid overwriting manual tuner + type + * V4L: cx23885: Bugfix for concurrent use of /dev/video0 and /dev/video1 + * DVB: cx23885: Ensure PAD_CTRL is always reset to a sensible default + * DVB: cx23885: DVB Transport cards using DVB port VIDB/TS1 did not + stream + * DVB: cx23885: Reallocated the sram to avoid concurrent VIDB/C issues + * DVB: cx23885: SRAM changes for the 885 and 887 silicon parts + * x86: fix kernel_physical_mapping_init() for large x86 systems + * eCryptfs: use page_alloc not kmalloc to get a page of memory + * UML - Fix boot crash + * ixgbe: remove device ID for unsupported device + * mpc52xx_psc_spi: fix block transfer + * tmpfs: fix kernel BUG in shmem_delete_inode + * markers: fix markers read barrier for multiple probes + * VFS: increase pseudo-filesystem block size to PAGE_SIZE + * cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called + already + * b43legacy: Release mutex in error handling code + * ath5k: don't enable MSI, we cannot handle it yet + * Fix off-by-one error in iov_iter_advance() + * Linux 2.6.26.1 + * ftrace: remove unneeded documentation + * romfs_readpage: don't report errors for pages beyond i_size + * netfilter: nf_nat_sip: c= is optional for session + * SCSI: bsg: fix bsg_mutex hang with device removal + * x86: idle process - add checking for NULL early param + * x86: io delay - add checking for NULL early param + * Close race in md_probe + * Kprobe smoke test lockdep warning + * netfilter: xt_time: fix time's time_mt()'s use of do_div() + * linear: correct disk numbering error check + * SCSI: ch: fix ch_remove oops + * NFS: Ensure we zap only the access and acl caches when setting new acls + * jbd: fix race between free buffer and commit transaction + * Input: i8042 - add Intel D845PESV to nopnp list + * Input: i8042 - add Gericom Bellagio to nomux blacklist + * Input: i8042 - add Acer Aspire 1360 to nomux blacklist + * Bluetooth: Signal user-space for HIDP and BNEP socket errors + * Add compat handler for PTRACE_GETSIGINFO + * ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode + * ALSA: hda - Fix DMA position inaccuracy + * ALSA: hda - Add missing Thinkpad Z60m support + * ALSA: emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2 + * vfs: fix lookup on deleted directory + * Ath5k: fix memory corruption + * Ath5k: kill tasklets on shutdown + * sound: ensure device number is valid in snd_seq_oss_synth_make_info + * Linux 2.6.26.2 + + -- Ben Collins Sun, 03 Aug 2008 13:25:02 -0400 + +linux (2.6.26-5.14) intrepid; urgency=low + + [ Ben Collins ] + + * SAUCE: applesmc: Add MacBookAir + * build: Do not build ddeb unless we are on the buildd + * build: control: Consistency in arch fields. + * SAUCE: Update toshiba_acpi.c to version 0.19a + - LP: #77026 + * build: Added perm blacklist support and per-module support to abi-check + - Blacklist p80211 module from abi checks + * ubuntu/lirc: Get rid of drivers symlink and use real include stuff + + + [ Colin Ian King ] + + * SAUCE: acerhk module - add support for Amilo A1650g keyboard + - LP: #84159 + * SAUCE: rt2x00: Fix OOPS on failed creation of rt2x00lib workqueue + - LP: #249242 + + [ Mario Limonciello ] + + * Add LIRC back in + + [ Tim Gardner ] + + * Makefile race condition can lead to ndiswrapper build failure + - LP: #241547 + * update linux-wlan-ng (prism2_usb) to upstream version 1861 + - LP: #245026 + + [ Upstream Kernel Changes ] + + * Fix typos from signal_32/64.h merge + + -- Ben Collins Fri, 01 Aug 2008 00:05:01 -0400 + +linux (2.6.26-5.13) intrepid; urgency=low + + [ Ben Collins ] + + * build: Make makedumpfile an amd64/i386 only build-dep + * ubuntu/acerhk: Fixup assembly to compile with newer binutils + + -- Ben Collins Sat, 26 Jul 2008 16:41:50 -0400 + +linux (2.6.26-4.12) intrepid; urgency=low + + [ Ben Collins ] + + * e1000e: Upgraded module to 0.4.1.7 upstream. Placed in ubuntu/, + in-kernel driver disabled + * config: Disable e1000e in-kernel, and enable newer driver in ubuntu/ + * rfkill: Update to 1.3 drivers, and move to common location + * ubuntu: Actually link kconfig/kbuild into rfkill subdir + * config: Enable loading dsdt from initramfs + - LP: #246222 + * ubuntu: [compcache] Update to fix crashes in improper BUG() + * build: Create a retag scripts to recover tags from rebases + * build: Updates for dbg pkg + * build: Make sure no empty lines show up in debian/files + * ubuntu: atl1e: Add new driver from 2.6.27-pre-rc1 + - LP: #243894 + * sys_getcwd: Fix some brokeness introduced by AppArmor __d_path + changes + - LP: #251223 + * ubuntu: unionfs: Added v1.4 module from hardy + * build: Add sub-flavour infrastructure, and virtual subflav + + [ Eric Piel ] + + * ACPI: Allow custom DSDT tables to be loaded from initramfs + + [ Kees Cook ] + + * AppArmor: Smack VFS patches + + [ Mario Limonciello ] + + * Work around ACPI corruption upon suspend on some Dell machines. + - LP: #183033 + + [ Tim Gardner ] + + * Export usbhid_modify_dquirk for LBM module bcm5974 + - LP: #250838 + * VIA - Add VIA DRM Chrome9 3D engine + - LP: #251862 + * Define TRUE/FALSE for VIA DRM driver. + + -- Ben Collins Tue, 15 Jul 2008 12:51:39 -0400 + +linux (2.6.26-4.11) intrepid; urgency=low + + [ Ben Collins ] + + * config: Enable bcm5974 driver in all configs + + [ 2.6.26-4.10 ] + + [ Amit Kucheria ] + + * Fix typo in GSPCA Makefile and make it compile + + [ Ben Collins ] + + * ubuntu: Remove UVC driver in favor of in-kernel one (-rc9) + * config: Updates for -rc9 + * ubuntu: Add acx, prism2_usb wireless drivers + * config: Enable prism2_usb and acx drivers. + * ubuntu: Add at76 driver to build + * config: Enable at76_usb driver. + * iscsitarget: Fix prototype for bi_end_io callback. + * acx: Fix section type mismatch warnings + * fsam7400: Add sw kill switch driver + * config: Enable fsam7400 driver + * qc-usb: Added new driver + * config: Enable qc-usb driver + * drbd: Remove built-in connector usage + * drbd: Do not define idx/val for connector here + * connector.h: Add idx/val for drbd + * bcm5974: Added new driver + + [ Kees Cook ] + + * SAUCE: [AppArmor] merge with upstream subversion r1291 + * SAUCE: [AppArmor] fix typo in selinux_inode_link + * SAUCE: [AppArmor] aufs patches + + [ Michael Frey (Senior Manager, MID ] + + * SAUCE: Send HCI_RESET for Broadcomm 2046 + - LP: #241749 + + [ Tim Gardner ] + + * SAUCE: Medion Akoya Mini E1210 + + [ Upstream Kernel Changes ] + + * Revert "BAST: Remove old IDE driver" + * ARM: OMAP: DMA: Don't mark channel active in omap_enable_channel_irq + * ARM: OMAP: Correcting the gpmc prefetch control register address + * debugobjects: fix lockdep warning + * [ARM] 5115/1: pxafb: fix ifdef for command line option handling + * [ARM] 5116/1: pxafb: cleanup and fix order of failure handling + * [ARM] 5109/1: Mark rtc sa1100 driver as wakeup source before + registering it + * [ARM] Export dma_sync_sg_for_device() + * fix cgroup-inflicted breakage in block_dev.c + * [patch for 2.6.26 2/4] vfs: utimensat(): be consistent with utime() for + immutable and append-only files + * [patch for 2.6.26 1/4] vfs: utimensat(): ignore tv_sec if tv_nsec == + UTIME_OMIT or UTIME_NOW + * [patch for 2.6.26 3/4] vfs: utimensat(): fix error checking for + {UTIME_NOW,UTIME_OMIT} case + * [patch for 2.6.26 4/4] vfs: utimensat(): fix write access check for + futimens() + * [patch 1/4] vfs: path_{get,put}() cleanups + * [patch 2/4] fs: make struct file arg to d_path const + * [patch 3/4] vfs: fix ERR_PTR abuse in generic_readlink + * [patch 4/4] flock: remove unused fields from file_lock_operations + * [patch 3/3] vfs: make d_path() consistent across mount operations + * [patch 1/3] vfs: dcache sparse fixes + * [patch 2/3] vfs: dcache cleanups + * udf: Fix regression in UDF anchor block detection + * [SCSI] ses: Fix timeout + * netfilter: ip6table_mangle: don't reroute in LOCAL_IN + * [SCSI] esp: Fix OOPS in esp_reset_cleanup(). + * kernel/audit.c: nlh->nlmsg_type is gotten more than once + * audit: fix kernel-doc parameter notation + * remove useless argument type in audit_filter_user() + * Blackfin arch: fix bug - kernel boot fails when Spinlock and rw-lock + debugging enabled + * Blackfin arch: fix up section mismatch warning + * mac80211: implement EU regulatory domain + * b43: Do not return TX_BUSY from op_tx + * b43legacy: Do not return TX_BUSY from op_tx + * b43: Fix possible MMIO access while device is down + * b43legacy: Fix possible NULL pointer dereference in DMA code + * rt2x00: Fix unbalanced mutex locking + * iwlwifi: improve scanning band selection management + * [SCSI] esp: tidy up target reference counting + * [ARM] 5117/1: pxafb: fix __devinit/exit annotations + * thermal: Create CONFIG_THERMAL_HWMON=n + * ACPI: don't walk tables if ACPI was disabled + * dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled. + * x86: shift bits the right way in native_read_tscp + * x86: section/warning fixes + * V4L/DVB (8004): Fix INPUT dependency at budget-ci + * V4L/DVB (8005): Fix OOPS if frontend is null + * V4L/DVB (8007): cx18/cx25840: the S-Video LUMA input can use all + In1-In8 inputs + * V4L/DVB (8008): cx18: remove duplicate audio and video input enums + * V4L/DVB (8010): em28xx: Properly register extensions for already + attached devices + * V4L/DVB (8011): em28xx: enable DVB for HVR-900 + * V4L/DVB (8012): gl861: sleep a little to avoid I2C errors + * V4L/DVB (8013): gl861: remove useless identify_state + * V4L/DVB (8015): gl861: replace non critical msleep(0) with msleep(1) to + be on the safe side + * V4L/DVB (8017): Ensure em28xx extensions only get run against devs that + support them + * V4L/DVB (8018): Add em2860 chip ID + * V4L/DVB (8020): Fix callbacks functions of saa7134_empress + * V4L/DVB (8022): saa7134: fix race between opening and closing the + device + * V4L/DVB (8026): Avoids an OOPS if dev struct can't be successfully + recovered + * V4L/DVB (8027): saa7134: Avermedia A700: only s-video and composite + input are working + * V4L/DVB (8028): Improve error messages for tda1004x attach + * V4L/DVB (8029): Improve error message at tda1004x_attach + * V4L/DVB (8034): tda18271: fix IF notch frequency handling + * V4L/DVB (8035): tda18271: dont touch EB14 if rf_cal lookup is out of + range + * V4L/DVB (8036): tda18271: toggle rf agc speed mode on TDA18271HD/C2 + only + * V4L/DVB (8037): tda18271: ensure that the thermometer is off during + channel configuration + * V4L/DVB (8039): pxa-camera: fix platform_get_irq() error handling. + * V4L/DVB (8040): soc-camera: remove soc_camera_host_class class + * V4L/DVB (8042): DVB-USB UMT-010 channel scan oops + * V4L/DVB (8043): au0828: add support for additional USB device id's + * V4L/DVB (8044): au8522: tuning optimizations + * V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia + E506 + * V4L/DVB (8061): cx18: only select tuner / frontend modules if + !DVB_FE_CUSTOMISE + * V4L/DVB (8063): cx18: Fix unintended auto configurations in + cx18-av-core + * V4L/DVB (8066): cx18: Fix audio mux input definitions for HVR-1600 Line + In 2 and FM radio + * V4L/DVB (8067): cx18: Fix firmware load for case when digital capture + happens first + * V4L/DVB (8068): cx18: Add I2C slave reset via GPIO upon initialization + * V4L/DVB (8069): cx18: Fix S-Video and Compsite inputs for the Yuan + MPC718 and enable card entry + * V4L/DVB (8071): tda10023: Fix possible kernel oops during + initialisation + * V4L/DVB (8073): av7110: Catch another type of ARM crash + * V4L/DVB (8074): av7110: OSD transfers should not be interrupted + * V4L/DVB (8075): stv0299: Uncorrected block count and bit error rate + fixed + * V4L/DVB (8092): videodev: simplify and fix standard enumeration + * V4L/DVB (8096): au8522: prevent false-positive lock status + * V4L/DVB (8097): xc5000: check device hardware state to determine if + firmware download is needed + * V4L/DVB (8100): V4L/vivi: fix possible memory leak in vivi_fillbuff + * V4L/DVB (8108): Fix open/close race in saa7134 + * s2io: fix documentation about intr_type + * tc35815: Mark carrier-off before starting PHY + * tc35815: Fix receiver hangup on Rx FIFO overflow + * ixgbe: fix EEH recovery during reset on PPC + * igb: fix EEH recovery during reset on PPC + * e1000e: fix EEH recovery during reset on PPC + * pcnet_cs, axnet_cs: clear bogus interrupt before request_irq + * drivers/net/r6040.c: Eliminate double sizeof + * ipg: fix jumbo frame compilation + * ipg: use NULL, not zero, for pointers + * [netdrvr] 3c59x: remove irqs_disabled warning from local_bh_enable + * [netdrvr] netxen: fix netxen_pci_tbl[] breakage + * e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx + * e1000: only enable TSO6 via ethtool when using correct hardware + * [netdrvr] Fix IOMMU overflow checking in s2io.c + * qla3xxx: Hold RTNL while calling dev_close() + * Hold RTNL while calling dev_close() + * sata_uli: hardreset is broken + * rt2x00: Fix lock dependency errror + * prism: islpci_eth.c endianness fix + * mac80211: fix an oops in several failure paths in key allocation + * firewire: fw-sbp2: fix parsing of logical unit directories + * kbuild: fix a.out.h export to userspace with O= build. + * Ensure interrupted recovery completed properly (v1 metadata plus + bitmap) + * Don't acknowlege that stripe-expand is complete until it really is. + * Fix error paths if md_probe fails. + * hamradio: remove unused variable + * tcp: calculate tcp_mem based on low memory instead of all memory + * tcp: fix for splice receive when used with software LRO + * af_unix: fix 'poll for write'/connected DGRAM sockets + * netdevice: Fix typo of dev_unicast_add() comment + * pkt_sched: ERR_PTR() ususally encodes an negative errno, not positive. + * pkt_sched: Remove CONFIG_NET_SCH_RR + * include/linux/netdevice.h: don't export MAX_HEADER to userspace + * tcp: /proc/net/tcp rto,ato values not scaled properly (v2) + * netlink: Fix some doc comments in net/netlink/attr.c + * CONNECTOR: add a proc entry to list connectors + * inet fragments: fix race between inet_frag_find and + inet_frag_secret_rebuild + * net/inet_lro: remove setting skb->ip_summed when not LRO-able + * netlabel: Fix a problem when dumping the default IPv6 static labels + * ipv6 route: Convert rt6_device_match() to use RT6_LOOKUP_F_xxx flags. + * sched: fix cpu hotplug + * Fix and clean top .gitignore + * x86: fix cpu hotplug crash + * ptrace GET/SET FPXREGS broken + * Input: add KEY_MEDIA_REPEAT definition + * Input: fix locking in force-feedback core + * [ARM] 5131/1: Annotate platform_secondary_init with trace_hardirqs_off + * ide: fix /proc/ide/ide?/mate reporting + * netfilter: nf_conntrack_tcp: fixing to check the lower bound of valid + ACK + * textsearch: fix Boyer-Moore text search bug + * hostap: don't report useless WDS frames by default + * hostap: fix sparse warnings + * mac80211: don't accept WEP keys other than WEP40 and WEP104 + * V4L/DVB (8145a): USB Video Class driver + * [IA64] Bugfix for system with 32 cpus + * [IA64] export account_system_vtime + * sched: fix divide error when trying to configure rt_period to zero + * x86: fix NODES_SHIFT Kconfig range + * block: Fix the starving writes bug in the anticipatory IO scheduler + * Properly notify block layer of sync writes + * rcu: fix hotplug vs rcu race + * I2C: S3C2410: Check ACK on byte transmission + * I2C: S3C2410: Fixup error codes returned rom a transfer. + * I2C: S3C2410: Add MODULE_ALIAS() for s3c2440 device. + * PCI: Restrict VPD read permission to root + * powerpc/bootwrapper: update for initrd with simpleImage + * i2c: Documentation: fix device matching description + * i2c: Fix bad hint about irqs in i2c.h + * powerpc/legacy_serial: Bail if reg-offset/shift properties are present + * powerpc/mpc5200: Fix lite5200b suspend/resume + * ipv4: fix sysctl documentation of time related values + * net-sched: change tcf_destroy_chain() to clear start of filter list + * net-sched: fix filter destruction in atm/hfsc qdisc destruction + * netlink: Unneeded local variable + * net: Tyop of sk_filter() comment + * netdevice: Fix wrong string handle in kernel command line parsing + * net: fib_rules: fix error code for unsupported families + * dm crypt: use cond_resched + * V4L/DVB (8178): uvc: Fix compilation breakage for the other drivers, if + uvc is selected + * PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev. + * PCI: acpiphp: cleanup notify handler on all root bridges + * drivers/input/ff-core.c needs + * DRM/i915: only use tiled blits on 965+ + * tty: Fix inverted logic in send_break + * x86: fix Intel Mac booting with EFI + * arch/x86/mm/init_64.c: early_memtest(): fix types + * 9p: fix O_APPEND in legacy mode + * slub: Do not use 192 byte sized cache if minimum alignment is 128 byte + * Do not overwrite nr_zones on !NUMA when initialising zlcache_ptr + * [MIPS] IP32: Fix unexpected irq 71 + * [MIPS] IP22: Fix crashes due to wrong L1_CACHE_BYTES + * [MIPS] cevt-txx9: Reset timer counter on initialization + * hrtimer: prevent migration for raising softirq + * svcrpc: fix handling of garbage args + * OHCI: Fix problem if SM501 and another platform driver is selected + * USB: fix cdc-acm resume() + * USB: ehci - fix timer regression + * USB: ohci - record data toggle after unlink + * USB: mass storage: new id for US_SC_CYP_ATACB + * sisusbvga: Fix oops on disconnect. + * USB: New device ID for ftdi_sio driver + * USB: fix interrupt disabling for HCDs with shared interrupt handlers + * USB: don't lose disconnections during suspend + * USB: another option device id + * USB: add a pl2303 device id + * USB: fix Oops on loading ipaq module since 2.6.26 + * USB: adding comment for ipaq forcing number of ports + * [MIPS] Fix bug in atomic_sub_if_positive. + * xen: fix address truncation in pte mfn<->pfn conversion + * sata_sil24: add DID for another adaptec flavor + * ahci: always clear all bits in irq_stat + * libata-sff: improve HSM violation reporting + * sata_mv: safer logic for limit_warnings + * Update maintainers for powerpc + * Christoph has moved + * mm: dirty page accounting vs VM_MIXEDMAP + * rtc: rtc_read_alarm() handles wraparound + * firmware: fix the request_firmware() dummy + * serial: fix serial_match_port() for dynamic major tty-device numbers + * get_user_pages(): fix possible page leak on oom + * rtc-x1205: Fix alarm set + * rtc: fix CMOS time error after writing /proc/acpi/alarm + * pci: VT3336 can't do MSI either + * Miguel Ojeda has moved + * ext3: add missing unlock to error path in ext3_quota_write() + * ext4: add missing unlock to an error path in ext4_quota_write() + * reiserfs: add missing unlock to an error path in reiserfs_quota_write() + * ecryptfs: remove unnecessary mux from ecryptfs_init_ecryptfs_miscdev() + * lib: taint kernel in common report_bug() WARN path. + * gpio: pca953x (i2c) handles max7310 too + * fsl_diu_fb: fix build with CONFIG_PM=y, plus fix some warnings + * Update taskstats-struct document for scaled time accounting + * cciss: fix regression that no device nodes are created if no logical + drives are configured. + * delay accounting: maintainer update + * Doc*/kernel-parameters.txt: fix stale references + * hdaps: add support for various newer Lenovo thinkpads + * mn10300: export certain arch symbols required to build allmodconfig + * mn10300: provide __ucmpdi2() for MN10300 + * Introduce rculist.h + * man-pages is supported + * ntfs: update help text + * add kernel-doc for simple_read_from_buffer and memory_read_from_buffer + * w100fb: do not depend on SHARPSL + * w100fb: add 80 MHz modeline + * MFD maintainer + * cgroups: document the effect of attaching PID 0 to a cgroup + * spi: fix the read path in spidev + * doc: doc maintainers + * security: filesystem capabilities: fix fragile setuid fixup code + * security: filesystem capabilities: fix CAP_SETPCAP handling + * Alpha Linux kernel fails with inconsistent kallsyms data + * cpusets: document proc status cpus and mems allowed lists + * MAINTAINERS: update the email address of Andreas Dilger + * cciss: read config to obtain max outstanding commands per controller + * olpc: sdhci: add quirk for the Marvell CaFe's vdd/powerup issue + * olpc: sdhci: add quirk for the Marvell CaFe's interrupt timeout + * cpumask: introduce new APIs + * mm: switch node meminfo Active & Inactive pages to Kbytes + * Update MAINTAINERS file for the TPM device driver + * devcgroup: fix odd behaviour when writing 'a' to devices.allow + * doc: document the relax_domain_level kernel boot argument + * mmc: don't use DMA on newer ENE controllers + * mempolicy: mask off internal flags for userspace API + * x86 ACPI: normalize segment descriptor register on resume + * x86 ACPI: fix resume from suspend to RAM on uniprocessor x86-64 + * softlockup: print a module list on being stuck + * ide: fix hwif->gendev refcounting + * ide: ide_unregister() warm-plug bugfix + * ide: ide_unregister() locking bugfix + * ahci: give another shot at clearing all bits in irq_stat + * Fix clear_refs_write() use of struct mm_walk + * Move _RET_IP_ and _THIS_IP_ to include/linux/kernel.h + * Fix pagemap_read() use of struct mm_walk + * Linux 2.6.26-rc9 + * Revert "USB: don't explicitly reenable root-hub status interrupts" + * Revert "PCI: Correct last two HP entries in the bfsort whitelist" + * iwlwifi: fix incorrect 5GHz rates reported in monitor mode + * iwlwifi: drop skb silently for Tx request in monitor mode + * libertas: support USB persistence on suspend/resume (resend) + * tcp: net/ipv4/tcp.c needs linux/scatterlist.h + * tcp: fix a size_t < 0 comparison in tcp_read_sock + * bridge: fix use-after-free in br_cleanup_bridges() + * Add missing skb->dev assignment in Frame Relay RX code + * forcedeth: fix lockdep warning on ethtool -s + * ehea: fix might sleep problem + * ehea: add MODULE_DEVICE_TABLE + * ehea: fix race condition + * ehea: Access iph->tot_len with correct endianness + * pasemi_mac: Access iph->tot_len with correct endianness + * ibm_newemac: Fixes kernel crashes when speed of cable connected changes + * ibm_newemac: Fixes entry of short packets + * fs_enet: restore promiscuous and multicast settings in restart() + * can: add sanity checks + * x86: KVM guest: Add memory clobber to hypercalls + * KVM: IOAPIC: Fix level-triggered irq injection hang + * [SCSI] erase invalid data returned by device + * pxamci: fix byte aligned DMA transfers + * vsprintf: split out '%s' handling logic + * vsprintf: split out '%p' handling logic + * vsprintf: add infrastructure support for extended '%p' specifiers + * vsprintf: add support for '%pS' and '%pF' pointer formats + * powerpc: Fix unterminated of_device_id array in legacy_serial.c + * [UML] fix gcc ICEs and unresolved externs + * ocfs2/dlm: Fixes oops in dlm_new_lockres() + * hostap_cs: correct poor NULL checks in suspend/resume routines + * drivers/net/wireless/iwlwifi/iwl-3945.c Fix type issue on 64bit + * mac80211: move netif_carrier_on to after + ieee80211_bss_info_change_notify + * mac80211: Only flush workqueue when last interface was removed + * zd1211rw: add ID for AirTies WUS-201 + * ssb-pcicore: Fix IRQ-vector init on embedded devices + * mac80211: don't report selected IBSS when not found + * crypto: tcrypt - Fix memory leak in test_cipher + * sctp: Mark the tsn as received after all allocations finish + * [S390] protect _PAGE_SPECIAL bit against mprotect + * irda: via-ircc proper dma freeing + * irda: New device ID for nsc-ircc + * irda: Fix netlink error path return value + * [SCSI] mptspi: fix oops in mptspi_dv_renegotiate_work() + * Correct hash flushing from huge_ptep_set_wrprotect() + * ide: add __ide_default_irq() inline helper + * palm_bk3710: fix IDECLK period calculation + * it8213: fix return value in it8213_init_one() + * [MIPS] Atlas, decstation: Fix section mismatches triggered by + defconfigs + * [MIPS] Fix 32bit kernels on R4k with 128 byte cache line size + * NFS: Fix readdir cache invalidation + * SUNRPC: Fix a double-free in rpcbind + * SUNRPC: Fix an rpcbind breakage for the case of IPv6 lookups + * reiserfs: discard prealloc in reiserfs_delete_inode + * Fix broken fix for fsl-diu-db + * RDMA/cxgb3: Fix regression caused by class_device -> device conversion + * ipv6: fix race between ipv6_del_addr and DAD timer + * sctp: Add documentation for sctp sysctl variable + * kernel/printk.c: Made printk_recursion_bug_msg static. + * powerpc: Add missing reference to coherent_dma_mask + * rc80211_pid: Fix fast_start parameter handling + * rt2x00: Disable synchronization during initialization + * zd1211rw: stop beacons on remove_interface + * libertas: fix memory alignment problems on the blackfin + * netfilter: nf_conntrack_tcp: fix endless loop + * netfilter: nf_nat_snmp_basic: fix a range check in NAT for SNMP + * md: ensure all blocks are uptodate or locked when syncing + * sched: fix cpu hotplug + * x86: fix /dev/mem compatibility under PAT + * crypto: chainiv - Invoke completion function + * ocfs2: Fix flags in ocfs2_file_lock + * kernel/kprobes.c: Made kprobe_blacklist static. + * arch/x86/kernel/.gitignore: Added vmlinux.lds to .gitignore file + because it shouldn't be tracked. + * ftrace: Documentation + * Fix PREEMPT_RCU without HOTPLUG_CPU + * sched: fix cpu hotplug, cleanup + * exec: fix stack excutability without PT_GNU_STACK + * slub: Fix use-after-preempt of per-CPU data structure + * Documentation: clarify tcp_{r,w}mem sysctl docs + * ip: sysctl documentation cleanup + * tcp: correct kcalloc usage + * ipv4: fib_trie: Fix lookup error return + * netlabel: netlink_unicast calls kfree_skb on error path by itself + * ipv6: missed namespace context in ipv6_rthdr_rcv + * xfrm: Add a XFRM_STATE_AF_UNSPEC flag to xfrm_usersa_info + * tun: Persistent devices can get stuck in xoff state + * tpm: add Intel TPM TIS device HID + * rapidio: fix device reference counting + * Fix name of Russell King in various comments + * rtc: fix reported IRQ rate for when HPET is enabled + * libata-acpi: filter out DIPM enable + * Added Targa Visionary 1000 IDE adapter to pata_sis.c + * libata-acpi: don't call sleeping function from invalid context + * Fix reference counting race on log buffers + * [SCSI] ipr: Fix HDIO_GET_IDENTITY oops for SATA devices + * IPMI: return correct value from ipmi_write + * x86: fix ldt limit for 64 bit + * [SCSI] fusion: default MSI to disabled for SPI and FC controllers + * [SCSI] bsg: fix oops on remove + * drivers/char/pcmcia/ipwireless/hardware.c fix resource leak + * drivers/isdn/i4l/isdn_common.c fix small resource leak + * fbdev: bugfix for multiprocess defio + * serial8250: sanity check nr_uarts on all paths. + * ov7670: clean up ov7670_read semantics + * rtc-fm3130: fix chip naming + * rtc-pcf8563: add chip id + * OProfile kernel maintainership changes + * frv: fix irqs_disabled() to return an int, not an unsigned long + * cifs: fix inode leak in cifs_get_inode_info_unix + * cifs: fix wksidarr declaration to be big-endian friendly + * cpusets, hotplug, scheduler: fix scheduler domain breakage + * Documentation/HOWTO: correct wrong kernel bugzilla FAQ URL + * devcgroup: always show positive major/minor num + * devcgroup: fix permission check when adding entry to child cgroup + * Linux 2.6.26 + + -- Ben Collins Mon, 14 Jul 2008 13:41:50 -0400 + +linux (2.6.26-3.9) intrepid; urgency=low + + * abi: Add dca and ioatdma to modules.ignore + + [ 2.6.26-3.8 ] + + [ Ben Collins ] + + * ubuntu: Add heci driver 3.2.0.24 + * ubuntu: Add heci to kconfig/kbuild + * config: Enable heci module on all flavours + * dm-bbr: Update to get it to compile with 2.6.26 + * config: Enable dm-bbr + * ubuntu: Add some media drivers + * config: Enable misc media drivers + * udeb: Switch to uvesafb in fb-modules + * abi: Add more modules to ignore (known) + + [ 2.6.26-3.7 ] + + [Amit Kucheria] + + * SAUCE: make fc transport removal of target configurable + - LP: #163075 + * SAUCE: pm: Config option to disable handling of console during + suspend/resume + + [Ben Collins] + + * SAUCE: input/mouse/alps: Do not call psmouse_reset() for alps + * SAUCE: irda: Default to dongle type 9 on IBM hardware + * SAUCE: tulip: Let dmfe handle davicom on non-sparc + * SAUCE: tulip: Define ULI PCI ID's + * SAUCE: version: Implement version_signature proc file. + * build: Cleanup arches + * build: Remove remnants of unused binary-custom infrastructure + * build: Remove disable_d_i (not needed) and cleanup ppa build stuff + * ubuntu: New modules, acer-acpi + * build: Remove -virtual, and rebuild configs + * ubuntu: Add drbd module + * acer-acpi: Fix makefile + * x86/Kconfig: Fix missing quote for ubuntu Kconfig source + * ubuntu: Add iscsitarget module + * ubuntu: Added Amiga FS driver + * ubuntu: Add squashfs driver + * ubuntu: Remove asfs (Amiga FS). Need to be in linux-ports instead + * squashfs: Move headers to real include directory + * build/configs: The Great Config Consistency Check of 2008 + * ubuntu: Move third-party includes to ubuntu/include + * ubuntu: Add aufs module + * ubuntu: Added atl2 driver + * ubuntu: Add dm-radi4-5 driver + * build: Add CONFIG_DEBUG_SECTION_MISMATCH=y to get old style warnings + from build + * ubuntu/Makefile: Fixup dm-raid4-5 and add kludge for kbuild + * squashfs: Fixes for VFS changes + * ubuntu/dm-raid4-5: Fixups for moved/renamed headers/functions in core + md + * ubuntu: Add ndiswrapper driver + * d-i: Update module listings + * build: Disable xd block device (ancient) + * ndiswrapper: Fixup makefile + * d-i: Remove efi-modules. The only module, efivars, is built-in + * build: Remove install-source, obsolete and caused build failure + * Ubuntu-2.6.26-1.3 + * build: linux-doc rules got broken when disabling html side. Fixed now. + * Ubuntu-2.6.26-1.4 + * x86: Update to -rc6 allows CONFIG_PCI_OLPC to work with PCI_GOANY + * d-i: Make virtio-ring optional (it's built-in on i386) + * Ubuntu-2.6.26-1.4 + * Ubuntu-2.6.26-1.5 + * config: Enable DVB devices + * ubuntu/aufs: Make aufs a bool config, since it needs to be built-in + * config: Build aufs into the kernels + * build: Fix arguments passed to link-headers script + * config: Disable early printk + * d-i: Move isofs to storage-core and kill st (scsi tape) from list + * config: Enable non-promiscuous access to /dev/mem + * x86: Add option to disable decompression info messages + * config: Enable no-bz-chatter config options + * build: Re-add linux-source package + * d-i: Re-add socket-modules. Accidentally removed + - LP: #241295 + * Ubuntu-2.6.26-2.6 + * Use makedumpfile to generate a vmcoreinfo file. + * build: Build-Depend on makedumpfile for vmcoreinfo generation + * build: Remove debug print from git-ubuntu-log + * Updated configs for -rc7 + * build: postinst, do not call depmod with -F + * config: Enable rtc-cmos as a built-in driver. + * control: Provide ndiswrapper-modules-1.9 + * build: Generate vmcoreinfo in image build for crashdumps without debug + image + * config: Disable vesafb, since we'll prefer uvesafb + * build: Copy uvesafb module to initrd mod directory + * abi-check: New, more robust script + * config: Enable heap randomization by default + * abi-check: Cleanup output and call with perl (not $SHELL) + * abi: Ignore missing vesafb (known) + * config: Disable pcspkr (in favor of snd-pcsp) + * swap: Add notify_swap_entry_free callback for compcache + * compcache: Added ram backed compressed swap module + * ubuntu: Enable kbuild and kconfig for compcache + * config: Enable compcache and tlsf allocator as modules + * config: Updated for -rc8. Disables XEN on i386 + * config: Switch i386-server to 64G, enable PAE, 64-bit res, and XEN + * ubuntu: Add misc drivers from hardy lum + * ubuntu: Enable build of misc/ subdir + * config: Enable misc drivers + * aufs: Fix warning about single non-string-literal arg to printf style + function + * drivers: Remove some duplicate device entries in various modules + * config: Disable some duplicate drivers + * keyspan: Remove duplicate device ID's + * check-aliases: Cleanup output, and fix rolling checks + * ubuntu: Disable dm-bbr for now + * dm-bbr: First cut at forward portiong. Still needs work. + * ubuntu: Disable dm-bbr in kbuild/kconfig + + [Chuck Short] + + * SAUCE: ata: blacklist FUJITSU MHW2160BH PL + - LP: #175834 + * SAUCE: [USB]: add ASUS LCM to the blacklist + + [Colin Ian King] + + * SAUCE: airprime.c supports more devices + - LP: #208250 + * SAUCE: Enable speedstep for sonoma processors. + - LP: #132271 + * Add dm-loop + * Add dm-loop BOM + + [Kyle McMartin] + + * SAUCE: fix orinoco_cs oops + + [Mario Limonciello] + + * SAUCE: Enable Reset and SCO workaround on Dell 410 BT adapter + + [Matthew Garrett] + + * SAUCE: hostap: send events on data interface as well as master + interface + + [Phillip Lougher] + + * SAUCE: r8169: disable TSO by default for RTL8111/8168B chipsets. + + [Stefan Bader] + + * SAUCE: Export dm_disk function of device-mapper + * SAUCE: Restore VT fonts on switch + * SAUCE: Always use SCO protocol (disable eSCO support) Bug: #39414 + * SAUCE: mmc: Increase power_up deleay to fix TI readers OriginalAuthor: + Pascal Terjan Bug: #137686 + * SAUCE: Add blacklist support to fix Belkin bluetooth dongle. Bug: + #140511 + * SAUCE: Lower warning level of pci resource allocation messages. Bug: + 159241 + * SAUCE: Lower message level for PCI memory and I/O allocation. + - LP: #159241 + * Modify log generation to catch bug numbers when adding with git-am. + + [Tim Gardner] + + * Added the debian directory. Ignore: yes + * Add support for UBUNTUINCLUDE Ignore: yes + * LUM headers go in /usr/src Ignore: yes + * First pass at 2.6.25 configs Ignore: yes + * i386 -generic builds. Ignore: yes + * SAUCE: Increase CONFIG_IDE_MAX_HWIFS to 8 (from 4) + * SAUCE: Add extra headers to linux-libc-dev OriginalAuthor: Soren Hansen + OriginalLocation: + https://lists.ubuntu.com/archives/kernel-team/2007-November/001891.html + * Set CONFIG_DEVKMEM=n Ignore: yes + * Enabled ALSA and CGROUPS for i386 Ignore: yes + * Enabled amd64 configs. Ignore: yes + * CONFIG_STANDALONE=n Ignore: yes + * CONFIG_BLK_DEV_4DRIVES=n for i386 Ignore: yes + * CONFIG: CONFIG_DEFAULT_RELATIME=y for all flavours. Ignore: yes + * Set CONFIG_EDD_OFF=y Ignore: yes + * SAUCE: Blacklist Bluetooth Dell Wireless 370 for SCO MTU + OriginalAuthor: Mario Limonciello Bug: + #209715 + * SAUCE: Catch nonsense keycodes and silently ignore + * SAUCE: frame buffer regression - screen blank except for blinking + cursor after fbcon vtswitch OriginalAuthor: Matthew Garrett + Bug: #201591 + * SAUCE: Added support for HDAPS on various ThinkPads from Lenovo and IBM + OriginalAuthor: Klaus S. Madsen + OriginalAuthor: Chuck Short + * SAUCE: Guest OS does not recognize a lun with non zero target id on + Vmware ESX Server + * SAUCE: orinoco_cs.ko missing + * Set CONFIG_FB_VESA=m for i386/amd64 Ignore: yes + * Set CONFIG_PM_DISABLE_CONSOLE=y for all flavours Ignore: yes + * Thorough review of amd64 -generic config Ignore: yes + * Build PPA packages for Hardy until the Intrepid archive is opened. + * Deleted obsolete flavours Ignore: yes + * Don't build docs for PPA Ignore: yes + * Build all standard packages in PPA. Ignore: yes + * Remove duplicate USB ids + * SAUCE: DVB-USB UMT-010 driver oops on install Bug: #115284 + * Update configs after rebase to 2.6.26-rc1 Ignore: yes + * Update configs after rebase Ignore: yes + * Disable V4L until the build issues get ironed out. Ignore: yes + * Update configs after rebase. Ignore: yes + * Another device enable pass Ignore: yes + * Update configs after merge. Ignore: yes + * SAUCE: fn key doesn't work in hardy with macbook pro fourth generation + (4,1) + - LP: #207127 + * Enabled CONFIG_CIFS_DFS_UPCALL=y and CONFIG_CIFS_UPCALL=y + - LP: #236830 + + [Upstream Kernel Changes] + + * Revert "[WATCHDOG] hpwdt: Add CFLAGS to get driver working" + * mac80211: detect driver tx bugs + * hwmon: (lm85) Fix function RANGE_TO_REG() + * hwmon: (adt7473) Initialize max_duty_at_overheat before use + * hwmon: Update the sysfs interface documentation + * hwmon: (abituguru3) Identify Abit AW8D board as such + * hwmon: (w83791d) new maintainer + * hwmon: (abituguru3) update driver detection + * hwmon: (lm75) sensor reading bugfix + * ipv6: Remove options header when setsockopt's optlen is 0 + * ipv6: Drop packets for loopback address from outside of the box. + * sched: rt: dont stop the period timer when there are tasks wanting to + run + * sched: fix wait_for_completion_timeout() spurious failure under heavy + load + * x86: fix NULL pointer deref in __switch_to + * xen: Use wmb instead of rmb in xen_evtchn_do_upcall(). + * xen: mask unwanted pte bits in __supported_pte_mask + * xen: don't drop NX bit + * sched: refactor wait_for_completion_timeout() + * Ext4: Fix online resize block group descriptor corruption + * [IA64] SN2: security hole in sn2_ptc_proc_write + * alpha: fix module load failures on smp (bug #10926) + * alpha: link failure fix + * alpha: fix compile failures with gcc-4.3 (bug #10438) + * alpha: resurrect Cypress IDE quirk + * pppoe: warning fix + * sctp: Make sure N * sizeof(union sctp_addr) does not overflow. + * netns: Don't receive new packets in a dead network namespace. + * Add return value to reserve_bootmem_node() + * Slab: Fix memory leak in fallback_alloc() + * Fix performance regression on lmbench select benchmark + * ALSA: aw2 - Fix Oops at initialization + * ALSA: sb - Fix wrong assertions + * futexes: fix fault handling in futex_lock_pi + * IB/mthca: Clear ICM pages before handing to FW + * tty_driver: Update required method documentation + * removed unused var real_tty on n_tty_ioctl() + * Fix ZERO_PAGE breakage with vmware + * mm: fix race in COW logic + * NFS: Reduce the NFS mount code stack usage. + * NFS: Fix filehandle size comparisons in the mount code + * NFS: nfs_updatepage(): don't mark page as dirty if an error occurred + * alpha: fix compile error in arch/alpha/mm/init.c + * KVM: Fix race between timer migration and vcpu migration + * KVM: close timer injection race window in __vcpu_run + * KVM: MMU: Fix rmap_write_protect() hugepage iteration bug + * KVM: MMU: large page update_pte issue with non-PAE 32-bit guests + (resend) + * KVM: MMU: Fix oops on guest userspace access to guest pagetable + * KVM: ioapic: fix lost interrupt when changing a device's irq + * KVM: VMX: Fix host msr corruption with preemption enabled + * [GFS2] BUG: unable to handle kernel paging request at ffff81002690e000 + * xen: remove support for non-PAE 32-bit + * kgdb: documentation update - remove kgdboe + * kgdb: sparse fix + * [IA64] Fix boot failure on ia64/sn2 + * [IA64] Handle count==0 in sn2_ptc_proc_write() + * [IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte() + * [GFS2] fix gfs2 block allocation (cleaned up) + * x86: Add structs and functions for paravirt clocksource + * x86: Make xen use the paravirt clocksource structs and functions + * KVM: Make kvm host use the paravirt clocksource structs + * x86: KVM guest: Use the paravirt clocksource structs and functions + * KVM: Remove now unused structs from kvm_para.h + * enable bus mastering on i915 at resume time + * Linux 2.6.26-rc8 + * # Ubuntu external driver commit. + * # Ubuntu commit template. + + -- Ben Collins Sat, 21 Jun 2008 09:05:15 -0400 + +linux (2.6.26-2.6) intrepid; urgency=low + + [Ben Collins] + + * Revert "SAUCE: Export symbols for aufs (in lum) (not needed) + * config: Enable DVB devices + * ubuntu/aufs: Make aufs a bool config, since it needs to be built-in + * config: Build aufs into the kernels + * build: Fix arguments passed to link-headers script + * config: Disable early printk + * d-i: Move isofs to storage-core and kill st (scsi tape) from list + * config: Enable non-promiscuous access to /dev/mem + * x86: Add option to disable decompression info messages + * config: Enable no-bz-chatter config options + * build: Re-add linux-source package + * d-i: Re-add socket-modules. Accidentally removed + - LP: #241295 + + [Colin Ian King] + + * Add dm-loop + + [Tim Gardner] + + * Revert "SAUCE: USB bluetooth device 0x0e5e:0x6622 floods errors to + syslog (merged upstream) + + -- Ben Collins Mon, 16 Jun 2008 10:56:01 -0400 + +linux (2.6.26-1.5) intrepid; urgency=low + + * d-i: Make virtio-ring optional (it's built-in on i386) + * Rebased on 2.6.26-rc6 + + [Ubuntu-2.6.26-1.4 Changes below] + + * build: linux-doc rules got broken when disabling html side. Fixed now. + + [Ubuntu-2.6.26-1.3 Changes below] + + * build: Remove install-source, obsolete and caused build failure + + [Ubuntu-2.6.26-1.2 Changes below] + + * Remove efi-modules from d-i module list (efivars is built-in). Caused a + build failure. + * Patch to arch/x86/xen/time.c to remove __divdi3 usage (build failure on + i386). + + [Ubuntu-2.6.26-1.1 Changes below] + + [Amit Kucheria] + + * SAUCE: make fc transport removal of target configurable + * SAUCE: Add AGP support for Radeon Mobility 9000 chipset + * SAUCE: pm: Config option to disable handling of console during + suspend/resume + + [Ben Collins] + + * SAUCE: input/mouse/alps: Do not call psmouse_reset() for alps + * SAUCE: irda: Default to dongle type 9 on IBM hardware + * SAUCE: tulip: Let dmfe handle davicom on non-sparc + * SAUCE: tulip: Define ULI PCI ID's + * SAUCE: version: Implement version_signature proc file. + * build: Remove remnants of unused binary-custom infrastructure + * mmc_block: Fix bad allocation on 64-bit (zero len array) + * ubuntu: New modules, acer-acpi + * build: Remove -virtual, and rebuild configs + * ubuntu: Add drbd module + * ubuntu: Add iscsitarget module + * ubuntu: Add squashfs driver + * build/configs: The Great Config Consistency Check of 2008 + * ubuntu: Add aufs module + * ubuntu: Added atl2 driver + * ubuntu: Add dm-radi4-5 driver + * build: Add CONFIG_DEBUG_SECTION_MISMATCH=y to get old style warnings + from build + * squashfs: Fixes for VFS changes + * ubuntu/dm-raid4-5: Fixups for moved/renamed headers/functions in core + md + * ubuntu: Add ndiswrapper driver + * d-i: Update module listings + + [Chuck Short] + + * SAUCE: ata: blacklist FUJITSU MHW2160BH PL + * SAUCE: [USB]: add ASUS LCM to the blacklist + + [Colin Ian King] + + * SAUCE: Enable speedstep for sonoma processors. + * SAUCE: airprime.c supports more devices + + [Kyle McMartin] + + * SAUCE: fix orinoco_cs oops + + [Mario Limonciello] + + * SAUCE: Enable Reset and SCO workaround on Dell 410 BT adapter + + [Matthew Garrett] + + * SAUCE: hostap: send events on data interface as well as master + interface + + [Phillip Lougher] + + * SAUCE: r8169: disable TSO by default for RTL8111/8168B chipsets. + + [Stefan Bader] + + * SAUCE: Export dm_disk function of device-mapper + * SAUCE: Restore VT fonts on switch + * SAUCE: Always use SCO protocol (disable eSCO support) Bug: #39414 + * SAUCE: mmc: Increase power_up deleay to fix TI readers + * SAUCE: Add blacklist support to fix Belkin bluetooth dongle. + * SAUCE: Lower warning level of pci resource allocation messages. + * SAUCE: Lower message level for PCI memory and I/O allocation. + - LP: #159241 + * Modify log generation to catch bug numbers when adding with git-am. + + [Tim Gardner] + + * SAUCE: hdaps module does not load on Thinkpad T61P + * SAUCE: Add extra headers to linux-libc-dev + * SAUCE: Export symbols for aufs (in lum). + * SAUCE: USB bluetooth device 0x0e5e:0x6622 floods errors to syslog + * SAUCE: Blacklist Bluetooth Dell Wireless 370 for SCO MTU + * SAUCE: Catch nonsense keycodes and silently ignore + * SAUCE: frame buffer regression - screen blank except for blinking + cursor after fbcon vtswitch + * SAUCE: Added support for HDAPS on various ThinkPads from Lenovo and IBM + * SAUCE: Guest OS does not recognize a lun with non zero target id on + Vmware ESX Server + * SAUCE: Modualrize vesafb + * SAUCE: DVB-USB UMT-010 driver oops on install + * SAUCE: fn key doesn't work in hardy with macbook pro fourth generation + (4,1) + - LP: #207127 + + -- Ben Collins Wed, 11 Jun 2008 05:28:35 -0400 --- linux-lowlatency-3.5.0.orig/debian.master/control.stub.in +++ linux-lowlatency-3.5.0/debian.master/control.stub.in @@ -0,0 +1,93 @@ +Source: linux +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +Standards-Version: 3.8.4.0 +Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison +Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharutils, asciidoc +Build-Conflicts: findutils (= 4.4.1-1ubuntu1) +Vcs-Git: http://kernel.ubuntu.com/git-repos/ubuntu/ubuntu-quantal.git + +Package: SRCPKGNAME-source-PKGVER +Architecture: all +Section: devel +Priority: optional +Provides: SRCPKGNAME-source, SRCPKGNAME-source-3 +Depends: ${misc:Depends}, binutils, bzip2, coreutils | fileutils (>= 4.0) +Recommends: libc-dev, gcc, make +Suggests: libncurses-dev | ncurses-dev, kernel-package, libqt3-dev +Description: Linux kernel source for version PKGVER with Ubuntu patches + This package provides the source code for the Linux kernel version + PKGVER. + . + This package is mainly meant for other packages to use, in order to build + custom flavours. + . + If you wish to use this package to create a custom Linux kernel, then it + is suggested that you investigate the package kernel-package, which has + been designed to ease the task of creating kernel image packages. + . + If you are simply trying to build third-party modules for your kernel, + you do not want this package. Install the appropriate linux-headers + package instead. + +Package: SRCPKGNAME-doc +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Conflicts: SRCPKGNAME-doc-3 +Replaces: SRCPKGNAME-doc-3 +Description: Linux kernel specific documentation for version PKGVER + This package provides the various documents in the PKGVER kernel + Documentation/ subdirectory. These document kernel subsystems, APIs, device + drivers, and so on. See + /usr/share/doc/SRCPKGNAME-doc/00-INDEX for a list of what is + contained in each file. + +Package: SRCPKGNAME-tools-common +Architecture: all +Section: kernel +Priority: optional +Depends: ${misc:Depends} +Replaces: SRCPKGNAME-tools (<= 2.6.32-16.25) +Description: Linux kernel version specific tools for version PKGVER + This package provides the architecture independent parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version PKGVER. + +Package: linux-headers-PKGVER-ABINUM +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Provides: SRCPKGNAME-headers, SRCPKGNAME-headers-3 +Description: Header files related to Linux kernel version PKGVER + This package provides kernel header files for version PKGVER, for sites + that want the latest kernel headers. Please read + /usr/share/doc/SRCPKGNAME-headers-PKGVER-ABINUM/debian.README.gz for details + +Package: SRCPKGNAME-libc-dev +Architecture: i386 amd64 powerpc ppc64 armel armhf +Depends: ${misc:Depends} +Conflicts: libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), dvb-dev (<< 1.0.1-6), amd64-libs-dev (<= 1.1), SRCPKGNAME-kernel-headers +Replaces: libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), dvb-dev (<< 1.0.1-6), SRCPKGNAME-kernel-headers, libdrm-dev +Provides: SRCPKGNAME-kernel-headers +Multi-Arch: same +Description: Linux Kernel Headers for development + This package provides headers from the Linux kernel. These headers + are used by the installed headers for GNU glibc and other system + libraries. They are NOT meant to be used to build third-party modules for + your kernel. Use SRCPKGNAME-headers-* packages for that. + +Package: linux-tools-PKGVER-ABINUM +Architecture: i386 amd64 powerpc ppc64 armel armhf +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version PKGVER-ABINUM on + =HUMAN=. + --- linux-lowlatency-3.5.0.orig/debian.master/copyright +++ linux-lowlatency-3.5.0/debian.master/copyright @@ -0,0 +1,29 @@ +This is the Ubuntu prepackaged version of the Linux kernel. +Linux was written by Linus Torvalds +and others. + +This package was put together by the Ubuntu Kernel Team, from +sources retrieved from upstream linux git. +The sources may be found at most Linux ftp sites, including +ftp://ftp.kernel.org/pub/linux/kernel/ + +This package is currently maintained by the +Ubuntu Kernel Team + +Linux is copyrighted by Linus Torvalds and others. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Ubuntu Linux systems, the complete text of the GNU General +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/abiname +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/abiname @@ -0,0 +1 @@ +22 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/fwinfo +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/fwinfo @@ -0,0 +1,587 @@ +firmware: 3826.arm +firmware: 3com/typhoon.bin +firmware: 6fire/dmx6fireap.ihx +firmware: 6fire/dmx6firecf.bin +firmware: 6fire/dmx6firel2.ihx +firmware: acenic/tg1.bin +firmware: acenic/tg2.bin +firmware: adaptec/starfire_rx.bin +firmware: adaptec/starfire_tx.bin +firmware: advansys/3550.bin +firmware: advansys/38C0800.bin +firmware: advansys/38C1600.bin +firmware: advansys/mcode.bin +firmware: agere_ap_fw.bin +firmware: agere_sta_fw.bin +firmware: aic94xx-seq.fw +firmware: asihpi/dsp5000.bin +firmware: asihpi/dsp6200.bin +firmware: asihpi/dsp6205.bin +firmware: asihpi/dsp6400.bin +firmware: asihpi/dsp6600.bin +firmware: asihpi/dsp8700.bin +firmware: asihpi/dsp8900.bin +firmware: ath3k-1.fw +firmware: ath6k/AR6003/hw2.0/athwlan.bin.z77 +firmware: ath6k/AR6003/hw2.0/bdata.bin +firmware: ath6k/AR6003/hw2.0/bdata.SD31.bin +firmware: ath6k/AR6003/hw2.0/data.patch.bin +firmware: ath6k/AR6003/hw2.0/otp.bin.z77 +firmware: ath6k/AR6003/hw2.1.1/athwlan.bin +firmware: ath6k/AR6003/hw2.1.1/bdata.bin +firmware: ath6k/AR6003/hw2.1.1/bdata.SD31.bin +firmware: ath6k/AR6003/hw2.1.1/data.patch.bin +firmware: ath6k/AR6003/hw2.1.1/otp.bin +firmware: ath6k/AR6004/hw1.0/bdata.bin +firmware: ath6k/AR6004/hw1.0/bdata.DB132.bin +firmware: ath6k/AR6004/hw1.0/fw.ram.bin +firmware: ath6k/AR6004/hw1.1/bdata.bin +firmware: ath6k/AR6004/hw1.1/bdata.DB132.bin +firmware: ath6k/AR6004/hw1.1/fw.ram.bin +firmware: ath6k/AR6004/hw1.2/bdata.bin +firmware: ath6k/AR6004/hw1.2/fw.ram.bin +firmware: atmel_at76c502_3com.bin +firmware: atmel_at76c502_3com-wpa.bin +firmware: atmel_at76c502.bin +firmware: atmel_at76c502d.bin +firmware: atmel_at76c502d-wpa.bin +firmware: atmel_at76c502e.bin +firmware: atmel_at76c502e-wpa.bin +firmware: atmel_at76c502-wpa.bin +firmware: atmel_at76c503-i3861.bin +firmware: atmel_at76c503-i3863.bin +firmware: atmel_at76c503-rfmd-acc.bin +firmware: atmel_at76c503-rfmd.bin +firmware: atmel_at76c504_2958.bin +firmware: atmel_at76c504_2958-wpa.bin +firmware: atmel_at76c504a_2958.bin +firmware: atmel_at76c504a_2958-wpa.bin +firmware: atmel_at76c504.bin +firmware: atmel_at76c504-wpa.bin +firmware: atmel_at76c505amx-rfmd.bin +firmware: atmel_at76c505a-rfmd2958.bin +firmware: atmel_at76c505-rfmd2958.bin +firmware: atmel_at76c505-rfmd.bin +firmware: atmel_at76c506.bin +firmware: atmel_at76c506-wpa.bin +firmware: atmsar11.fw +firmware: av7110/bootcode.bin +firmware: b43legacy/ucode2.fw +firmware: b43legacy/ucode4.fw +firmware: b43/ucode11.fw +firmware: b43/ucode13.fw +firmware: b43/ucode14.fw +firmware: b43/ucode15.fw +firmware: b43/ucode16_mimo.fw +firmware: b43/ucode5.fw +firmware: b43/ucode9.fw +firmware: BCM2033-FW.bin +firmware: BCM2033-MD.hex +firmware: bfubase.frm +firmware: bnx2/bnx2-mips-06-6.2.3.fw +firmware: bnx2/bnx2-mips-09-6.2.1b.fw +firmware: bnx2/bnx2-rv2p-06-6.0.15.fw +firmware: bnx2/bnx2-rv2p-09-6.0.17.fw +firmware: bnx2/bnx2-rv2p-09ax-6.0.17.fw +firmware: bnx2x/bnx2x-e1-7.2.51.0.fw +firmware: bnx2x/bnx2x-e1h-7.2.51.0.fw +firmware: bnx2x/bnx2x-e2-7.2.51.0.fw +firmware: brcm/brcmfmac43236b.bin +firmware: brcm/brcmfmac-sdio.bin +firmware: brcm/brcmfmac-sdio.txt +firmware: BT3CPCC.bin +firmware: c218tunx.cod +firmware: c320tunx.cod +firmware: carl9170-1.fw +firmware: cbfw.bin +firmware: cis/3CCFEM556.cis +firmware: cis/3CXEM556.cis +firmware: cis/COMpad2.cis +firmware: cis/COMpad4.cis +firmware: cis/DP83903.cis +firmware: cis/LA-PCM.cis +firmware: cis/MT5634ZLX.cis +firmware: cis/NE2K.cis +firmware: cis/PCMLM28.cis +firmware: cis/PE-200.cis +firmware: cis/PE520.cis +firmware: cis/RS-COM-2P.cis +firmware: cis/SW_555_SER.cis +firmware: cis/SW_7xx_SER.cis +firmware: cis/SW_8xx_SER.cis +firmware: cis/tamarack.cis +firmware: comedi/jr3pci.idm +firmware: cp204unx.cod +firmware: cpia2/stv0672_vp4.bin +firmware: ct2fw.bin +firmware: ctfw.bin +firmware: cxgb3/ael2005_opt_edc.bin +firmware: cxgb3/ael2005_twx_edc.bin +firmware: cxgb3/ael2020_twx_edc.bin +firmware: cxgb3/t3b_psram-1.1.0.bin +firmware: cxgb3/t3c_psram-1.1.0.bin +firmware: cxgb3/t3fw-7.12.0.bin +firmware: cxgb4/t4fw.bin +firmware: cyzfirm.bin +firmware: dvb-fe-xc5000-1.6.114.fw +firmware: dvb-fe-xc5000c-41.024.5.fw +firmware: dvb-usb-dib0700-1.20.fw +firmware: e100/d101m_ucode.bin +firmware: e100/d101s_ucode.bin +firmware: e100/d102e_ucode.bin +firmware: ea/3g_asic.fw +firmware: ea/darla20_dsp.fw +firmware: ea/darla24_dsp.fw +firmware: ea/echo3g_dsp.fw +firmware: ea/gina20_dsp.fw +firmware: ea/gina24_301_asic.fw +firmware: ea/gina24_301_dsp.fw +firmware: ea/gina24_361_asic.fw +firmware: ea/gina24_361_dsp.fw +firmware: ea/indigo_dj_dsp.fw +firmware: ea/indigo_djx_dsp.fw +firmware: ea/indigo_dsp.fw +firmware: ea/indigo_io_dsp.fw +firmware: ea/indigo_iox_dsp.fw +firmware: ea/layla20_asic.fw +firmware: ea/layla20_dsp.fw +firmware: ea/layla24_1_asic.fw +firmware: ea/layla24_2A_asic.fw +firmware: ea/layla24_2S_asic.fw +firmware: ea/layla24_dsp.fw +firmware: ea/loader_dsp.fw +firmware: ea/mia_dsp.fw +firmware: ea/mona_2_asic.fw +firmware: ea/mona_301_1_asic_48.fw +firmware: ea/mona_301_1_asic_96.fw +firmware: ea/mona_301_dsp.fw +firmware: ea/mona_361_1_asic_48.fw +firmware: ea/mona_361_1_asic_96.fw +firmware: ea/mona_361_dsp.fw +firmware: edgeport/boot2.fw +firmware: edgeport/boot.fw +firmware: edgeport/down2.fw +firmware: edgeport/down3.bin +firmware: edgeport/down.fw +firmware: emi26/bitstream.fw +firmware: emi26/firmware.fw +firmware: emi26/loader.fw +firmware: emi62/bitstream.fw +firmware: emi62/loader.fw +firmware: emi62/spdif.fw +firmware: emu/audio_dock.fw +firmware: emu/emu0404.fw +firmware: emu/emu1010b.fw +firmware: emu/emu1010_notebook.fw +firmware: emu/hana.fw +firmware: emu/micro_dock.fw +firmware: ene-ub6250/ms_init.bin +firmware: ene-ub6250/msp_rdwr.bin +firmware: ene-ub6250/ms_rdwr.bin +firmware: ene-ub6250/sd_init1.bin +firmware: ene-ub6250/sd_init2.bin +firmware: ene-ub6250/sd_rdwr.bin +firmware: ess/maestro3_assp_kernel.fw +firmware: ess/maestro3_assp_minisrc.fw +firmware: f2255usb.bin +firmware: fw.ram.bin +firmware: go7007fw.bin +firmware: go7007tv.bin +firmware: htc_7010.fw +firmware: htc_9271.fw +firmware: i1480-phy-0.0.bin +firmware: i1480-pre-phy-0.0.bin +firmware: i1480-usb-0.0.bin +firmware: i2400m-fw-sdio-1.3.sbcf +firmware: i2400m-fw-usb-1.5.sbcf +firmware: i6050-fw-usb-1.5.sbcf +firmware: icom_asc.bin +firmware: icom_call_setup.bin +firmware: icom_res_dce.bin +firmware: ipw2100-1.3.fw +firmware: ipw2100-1.3-i.fw +firmware: ipw2100-1.3-p.fw +firmware: ipw2200-bss.fw +firmware: ipw2200-ibss.fw +firmware: ipw2200-sniffer.fw +firmware: isci/isci_firmware.bin +firmware: isdn/ISAR.BIN +firmware: isi4608.bin +firmware: isi4616.bin +firmware: isi608.bin +firmware: isi608em.bin +firmware: isi616em.bin +firmware: isight.fw +firmware: isl3886pci +firmware: isl3886usb +firmware: isl3887usb +firmware: iwlwifi-1000-5.ucode +firmware: iwlwifi-100-5.ucode +firmware: iwlwifi-105-6.ucode +firmware: iwlwifi-135-6.ucode +firmware: iwlwifi-2000-6.ucode +firmware: iwlwifi-2030-6.ucode +firmware: iwlwifi-3945-2.ucode +firmware: iwlwifi-4965-2.ucode +firmware: iwlwifi-5000-5.ucode +firmware: iwlwifi-5150-2.ucode +firmware: iwlwifi-6000-4.ucode +firmware: iwlwifi-6000g2a-5.ucode +firmware: iwlwifi-6000g2b-6.ucode +firmware: iwlwifi-6050-5.ucode +firmware: iwmc3200top.1.fw +firmware: iwmc3200wifi-calib-sdio.bin +firmware: iwmc3200wifi-lmac-sdio.bin +firmware: iwmc3200wifi-umac-sdio.bin +firmware: kaweth/new_code.bin +firmware: kaweth/new_code_fix.bin +firmware: kaweth/trigger_code.bin +firmware: kaweth/trigger_code_fix.bin +firmware: keyspan/mpr.fw +firmware: keyspan_pda/keyspan_pda.fw +firmware: keyspan_pda/xircom_pgs.fw +firmware: keyspan/usa18x.fw +firmware: keyspan/usa19.fw +firmware: keyspan/usa19qi.fw +firmware: keyspan/usa19qw.fw +firmware: keyspan/usa19w.fw +firmware: keyspan/usa28.fw +firmware: keyspan/usa28xa.fw +firmware: keyspan/usa28xb.fw +firmware: keyspan/usa28x.fw +firmware: keyspan/usa49w.fw +firmware: keyspan/usa49wlc.fw +firmware: korg/k1212.dsp +firmware: lbtf_usb.bin +firmware: lgs8g75.fw +firmware: libertas/cf8305.bin +firmware: libertas/cf8381.bin +firmware: libertas/cf8381_helper.bin +firmware: libertas/cf8385.bin +firmware: libertas/cf8385_helper.bin +firmware: libertas_cs.fw +firmware: libertas_cs_helper.fw +firmware: libertas/gspi8385.bin +firmware: libertas/gspi8385_helper.bin +firmware: libertas/gspi8385_hlp.bin +firmware: libertas/gspi8686.bin +firmware: libertas/gspi8686_hlp.bin +firmware: libertas/gspi8686_v9.bin +firmware: libertas/gspi8686_v9_helper.bin +firmware: libertas/gspi8688.bin +firmware: libertas/gspi8688_helper.bin +firmware: libertas/sd8385.bin +firmware: libertas/sd8385_helper.bin +firmware: libertas/sd8686_v8.bin +firmware: libertas/sd8686_v8_helper.bin +firmware: libertas/sd8686_v9.bin +firmware: libertas/sd8686_v9_helper.bin +firmware: libertas/sd8688.bin +firmware: libertas/sd8688_helper.bin +firmware: libertas/usb8388.bin +firmware: libertas/usb8388_v5.bin +firmware: libertas/usb8388_v9.bin +firmware: libertas/usb8682.bin +firmware: matrox/g200_warp.fw +firmware: matrox/g400_warp.fw +firmware: mixart/miXart8AES.xlx +firmware: mixart/miXart8.elf +firmware: mixart/miXart8.xlx +firmware: mrvl/pcie8766_uapsta.bin +firmware: mrvl/sd8786_uapsta.bin +firmware: mrvl/sd8787_uapsta.bin +firmware: mrvl/sd8797_uapsta.bin +firmware: mrvl/usb8797_uapsta.bin +firmware: mts_cdma.fw +firmware: mts_edge.fw +firmware: mts_gsm.fw +firmware: mts_mt9234mu.fw +firmware: mts_mt9234zba.fw +firmware: mwl8k/fmimage_8363.fw +firmware: mwl8k/fmimage_8366_ap-2.fw +firmware: mwl8k/fmimage_8366.fw +firmware: mwl8k/fmimage_8687.fw +firmware: mwl8k/helper_8363.fw +firmware: mwl8k/helper_8366.fw +firmware: mwl8k/helper_8687.fw +firmware: myri10ge_ethp_z8e.dat +firmware: myri10ge_eth_z8e.dat +firmware: myri10ge_rss_ethp_z8e.dat +firmware: myri10ge_rss_eth_z8e.dat +firmware: orinoco_ezusb_fw +firmware: ositech/Xilinx7OD.bin +firmware: pca200e_ecd.bin2 +firmware: pcxhr/dspb1222e.b56 +firmware: pcxhr/dspb1222hr.b56 +firmware: pcxhr/dspb882e.b56 +firmware: pcxhr/dspb882hr.b56 +firmware: pcxhr/dspb924.b56 +firmware: pcxhr/dspd1222.d56 +firmware: pcxhr/dspd222.d56 +firmware: pcxhr/dspd882.d56 +firmware: pcxhr/dspe882.e56 +firmware: pcxhr/dspe924.e56 +firmware: pcxhr/xlxc1222e.dat +firmware: pcxhr/xlxc1222hr.dat +firmware: pcxhr/xlxc222.dat +firmware: pcxhr/xlxc882e.dat +firmware: pcxhr/xlxc882hr.dat +firmware: pcxhr/xlxc924.dat +firmware: pcxhr/xlxint.dat +firmware: phanfw.bin +firmware: prism2_ru.fw +firmware: prism_ap_fw.bin +firmware: prism_sta_fw.bin +firmware: ql2100_fw.bin +firmware: ql2200_fw.bin +firmware: ql2300_fw.bin +firmware: ql2322_fw.bin +firmware: ql2400_fw.bin +firmware: ql2500_fw.bin +firmware: qlogic/1040.bin +firmware: qlogic/12160.bin +firmware: qlogic/1280.bin +firmware: qlogic/sd7220.fw +firmware: r128/r128_cce.bin +firmware: radeon/ARUBA_me.bin +firmware: radeon/ARUBA_pfp.bin +firmware: radeon/ARUBA_rlc.bin +firmware: radeon/BARTS_mc.bin +firmware: radeon/BARTS_me.bin +firmware: radeon/BARTS_pfp.bin +firmware: radeon/BTC_rlc.bin +firmware: radeon/CAICOS_mc.bin +firmware: radeon/CAICOS_me.bin +firmware: radeon/CAICOS_pfp.bin +firmware: radeon/CAYMAN_mc.bin +firmware: radeon/CAYMAN_me.bin +firmware: radeon/CAYMAN_pfp.bin +firmware: radeon/CAYMAN_rlc.bin +firmware: radeon/CEDAR_me.bin +firmware: radeon/CEDAR_pfp.bin +firmware: radeon/CEDAR_rlc.bin +firmware: radeon/CYPRESS_me.bin +firmware: radeon/CYPRESS_pfp.bin +firmware: radeon/CYPRESS_rlc.bin +firmware: radeon/JUNIPER_me.bin +firmware: radeon/JUNIPER_pfp.bin +firmware: radeon/JUNIPER_rlc.bin +firmware: radeon/PALM_me.bin +firmware: radeon/PALM_pfp.bin +firmware: radeon/PITCAIRN_ce.bin +firmware: radeon/PITCAIRN_mc.bin +firmware: radeon/PITCAIRN_me.bin +firmware: radeon/PITCAIRN_pfp.bin +firmware: radeon/PITCAIRN_rlc.bin +firmware: radeon/R100_cp.bin +firmware: radeon/R200_cp.bin +firmware: radeon/R300_cp.bin +firmware: radeon/R420_cp.bin +firmware: radeon/R520_cp.bin +firmware: radeon/R600_me.bin +firmware: radeon/R600_pfp.bin +firmware: radeon/R600_rlc.bin +firmware: radeon/R700_rlc.bin +firmware: radeon/REDWOOD_me.bin +firmware: radeon/REDWOOD_pfp.bin +firmware: radeon/REDWOOD_rlc.bin +firmware: radeon/RS600_cp.bin +firmware: radeon/RS690_cp.bin +firmware: radeon/RS780_me.bin +firmware: radeon/RS780_pfp.bin +firmware: radeon/RV610_me.bin +firmware: radeon/RV610_pfp.bin +firmware: radeon/RV620_me.bin +firmware: radeon/RV620_pfp.bin +firmware: radeon/RV630_me.bin +firmware: radeon/RV630_pfp.bin +firmware: radeon/RV635_me.bin +firmware: radeon/RV635_pfp.bin +firmware: radeon/RV670_me.bin +firmware: radeon/RV670_pfp.bin +firmware: radeon/RV710_me.bin +firmware: radeon/RV710_pfp.bin +firmware: radeon/RV730_me.bin +firmware: radeon/RV730_pfp.bin +firmware: radeon/RV770_me.bin +firmware: radeon/RV770_pfp.bin +firmware: radeon/SUMO2_me.bin +firmware: radeon/SUMO2_pfp.bin +firmware: radeon/SUMO_me.bin +firmware: radeon/SUMO_pfp.bin +firmware: radeon/SUMO_rlc.bin +firmware: radeon/TAHITI_ce.bin +firmware: radeon/TAHITI_mc.bin +firmware: radeon/TAHITI_me.bin +firmware: radeon/TAHITI_pfp.bin +firmware: radeon/TAHITI_rlc.bin +firmware: radeon/TURKS_mc.bin +firmware: radeon/TURKS_me.bin +firmware: radeon/TURKS_pfp.bin +firmware: radeon/VERDE_ce.bin +firmware: radeon/VERDE_mc.bin +firmware: radeon/VERDE_me.bin +firmware: radeon/VERDE_pfp.bin +firmware: radeon/VERDE_rlc.bin +firmware: riptide.hex +firmware: rt2561.bin +firmware: rt2561s.bin +firmware: rt2661.bin +firmware: rt2860.bin +firmware: rt2870.bin +firmware: rt73.bin +firmware: RTL8192E/boot.img +firmware: RTL8192E/data.img +firmware: RTL8192E/main.img +firmware: RTL8192U/boot.img +firmware: RTL8192U/data.img +firmware: RTL8192U/main.img +firmware: rtl_nic/rtl8105e-1.fw +firmware: rtl_nic/rtl8168d-1.fw +firmware: rtl_nic/rtl8168d-2.fw +firmware: rtl_nic/rtl8168e-1.fw +firmware: rtl_nic/rtl8168e-2.fw +firmware: rtl_nic/rtl8168e-3.fw +firmware: rtl_nic/rtl8168f-1.fw +firmware: rtl_nic/rtl8168f-2.fw +firmware: rtl_nic/rtl8402-1.fw +firmware: rtl_nic/rtl8411-1.fw +firmware: rtlwifi/rtl8192cfw.bin +firmware: rtlwifi/rtl8192cfwU_B.bin +firmware: rtlwifi/rtl8192cfwU.bin +firmware: rtlwifi/rtl8192cufw.bin +firmware: rtlwifi/rtl8192defw.bin +firmware: rtlwifi/rtl8192sefw.bin +firmware: rtlwifi/rtl8712u.bin +firmware: s2250.fw +firmware: s2250_loader.fw +firmware: sb16/alaw_main.csp +firmware: sb16/ima_adpcm_capture.csp +firmware: sb16/ima_adpcm_init.csp +firmware: sb16/ima_adpcm_playback.csp +firmware: sb16/mulaw_main.csp +firmware: scope.cod +firmware: sd8385.bin +firmware: sd8385_helper.bin +firmware: sd8686.bin +firmware: sd8686_helper.bin +firmware: sd8688.bin +firmware: sd8688_helper.bin +firmware: slicoss/gbdownload.sys +firmware: slicoss/gbrcvucode.sys +firmware: slicoss/oasisdownload.sys +firmware: slicoss/oasisrcvucode.sys +firmware: sndscape.co0 +firmware: sndscape.co1 +firmware: sndscape.co2 +firmware: sndscape.co3 +firmware: sndscape.co4 +firmware: softing-4.6/bcard2.bin +firmware: softing-4.6/bcard.bin +firmware: softing-4.6/cancard.bin +firmware: softing-4.6/cancrd2.bin +firmware: softing-4.6/cansja.bin +firmware: softing-4.6/ldcard2.bin +firmware: softing-4.6/ldcard.bin +firmware: solos-db-FPGA.bin +firmware: solos-Firmware.bin +firmware: solos-FPGA.bin +firmware: sun/cassini.bin +firmware: symbol_sp24t_prim_fw +firmware: symbol_sp24t_sec_fw +firmware: tehuti/bdx.bin +firmware: ti_3410.fw +firmware: ti_5052.fw +firmware: ti-connectivity/wl1271-nvs.bin +firmware: ti-connectivity/wl127x-fw-4-mr.bin +firmware: ti-connectivity/wl127x-fw-4-plt.bin +firmware: ti-connectivity/wl127x-fw-4-sr.bin +firmware: ti-connectivity/wl128x-fw-4-mr.bin +firmware: ti-connectivity/wl128x-fw-4-plt.bin +firmware: ti-connectivity/wl128x-fw-4-sr.bin +firmware: tigon/tg3.bin +firmware: tigon/tg3_tso5.bin +firmware: tigon/tg3_tso.bin +firmware: tlg2300_firmware.bin +firmware: ttusb-budget/dspbootcode.bin +firmware: turtlebeach/msndinit.bin +firmware: turtlebeach/msndperm.bin +firmware: turtlebeach/pndsperm.bin +firmware: turtlebeach/pndspini.bin +firmware: ueagle-atm/930-fpga.bin +firmware: ueagle-atm/adi930.fw +firmware: ueagle-atm/CMV4i.bin +firmware: ueagle-atm/CMV4i.bin.v2 +firmware: ueagle-atm/CMV4p.bin +firmware: ueagle-atm/CMV4p.bin.v2 +firmware: ueagle-atm/CMV9i.bin +firmware: ueagle-atm/CMV9i.bin.v2 +firmware: ueagle-atm/CMV9p.bin +firmware: ueagle-atm/CMV9p.bin.v2 +firmware: ueagle-atm/CMVei.bin +firmware: ueagle-atm/CMVei.bin.v2 +firmware: ueagle-atm/CMVep.bin +firmware: ueagle-atm/CMVep.bin.v2 +firmware: ueagle-atm/DSP4i.bin +firmware: ueagle-atm/DSP4p.bin +firmware: ueagle-atm/DSP9i.bin +firmware: ueagle-atm/DSP9p.bin +firmware: ueagle-atm/DSPei.bin +firmware: ueagle-atm/DSPep.bin +firmware: ueagle-atm/eagle.fw +firmware: ueagle-atm/eagleI.fw +firmware: ueagle-atm/eagleII.fw +firmware: ueagle-atm/eagleIII.fw +firmware: ueagle-atm/eagleIV.fw +firmware: usb8388.bin +firmware: usbduxfast_firmware.bin +firmware: usbdux_firmware.bin +firmware: usbduxsigma_firmware.bin +firmware: v4l-cx231xx-avcore-01.fw +firmware: v4l-cx23418-apu.fw +firmware: v4l-cx23418-cpu.fw +firmware: v4l-cx23418-dig.fw +firmware: v4l-cx2341x-dec.fw +firmware: v4l-cx2341x-enc.fw +firmware: v4l-cx2341x-init.mpg +firmware: v4l-cx23885-avcore-01.fw +firmware: v4l-cx23885-enc.fw +firmware: v4l-cx25840.fw +firmware: v4l-pvrusb2-24xxx-01.fw +firmware: v4l-pvrusb2-29xxx-01.fw +firmware: v4l-pvrusb2-73xxx-01.fw +firmware: vicam/firmware.fw +firmware: vx/bd56002.boot +firmware: vx/bd563s3.boot +firmware: vx/bd563v2.boot +firmware: vx/bx_1_vp4.b56 +firmware: vx/bx_1_vxp.b56 +firmware: vxge/X3fw.ncf +firmware: vxge/X3fw-pxe.ncf +firmware: vx/l_1_v22.d56 +firmware: vx/l_1_vp4.d56 +firmware: vx/l_1_vx2.d56 +firmware: vx/l_1_vxp.d56 +firmware: vx/x1_1_vp4.xlx +firmware: vx/x1_1_vx2.xlx +firmware: vx/x1_1_vxp.xlx +firmware: vx/x1_2_v22.xlx +firmware: wavefront.os +firmware: whiteheat.fw +firmware: whiteheat_loader.fw +firmware: wl1251-fw.bin +firmware: xc3028-v27.fw +firmware: yam/1200.bin +firmware: yam/9600.bin +firmware: yamaha/ds1_ctrl.fw +firmware: yamaha/ds1_dsp.fw +firmware: yamaha/ds1e_ctrl.fw +firmware: yamaha/yss225_registers.bin +firmware: zd1201-ap.fw +firmware: zd1201.fw +firmware: zd1211/zd1211b_ub +firmware: zd1211/zd1211b_uphr +firmware: zd1211/zd1211b_ur +firmware: zd1211/zd1211_ub +firmware: zd1211/zd1211_uphr +firmware: zd1211/zd1211_ur --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/amd64/generic +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/amd64/generic @@ -0,0 +1,13349 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0xb6dc068a kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0xfd350491 kvm_read_guest_atomic +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x7c99710f acpi_video_get_edid +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0xd9ee6ce9 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x3f27519a uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0x7b8f66f9 bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x5c165453 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x04cf220c pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x360b0638 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x421bdc31 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x4b7a2f82 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x63740867 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x6bc80972 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x78567c2a pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x7875f851 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x9bec869c pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xa64d8f5e pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xe62924a3 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xef9e2276 paride_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1348760d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x16dcec76 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1a10c898 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1aba5db8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3c0464f1 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c971bec ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x524f6f51 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5e80f37c ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5fcdcc05 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x6354a1b4 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67cb9784 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x70501202 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x78fd36e7 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8c8ee770 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96cbcc81 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa28a2ace ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa2a98b91 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe0fa83f2 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6ab72a6 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xea1f43c1 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xedcb93ec ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2576cb9 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/nvram 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x17ff2c1d __nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x2adec1e0 __nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x7da28f12 nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL drivers/char/nvram 0xa8813189 __nvram_write_byte +EXPORT_SYMBOL drivers/edac/edac_core 0x604f00f8 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04d0f641 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x09640a5a fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f7d6af8 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x116e7cfc fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x305345c9 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x44a62767 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x51baec6b fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x558463b9 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5fe331a1 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x645b715f fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65c9438b fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6f234c19 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7523b2ae fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x75f27ccd fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7a33fd61 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7b6e4535 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fd45de6 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9168d7c1 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x985b7dc1 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x98c15546 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9efcfdac fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa48b2fb2 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa56c8538 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa65c9ea3 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb401af87 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb4d6bf43 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb7a5ff2a fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb8679e2e fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc2a896ae fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdcbf0419 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00d48ce4 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0190d8d3 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01e7c557 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0252f094 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04317560 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x043dcca0 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07b21e9f drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08f500d8 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a625de1 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b31e6e6 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b40010d drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cb22ad9 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d7f8a76 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x109b8b26 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x120919f6 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12fdac36 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14975983 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x161ee33e drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x190db831 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a31b3a7 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b1b1c67 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b9231f1 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ba44777 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c5384c4 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e2f16fe drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x221e0b5a drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2335d085 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23813c25 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23d355c4 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x290bb97a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b075b63 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b274802 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b7ce4be drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c0e3421 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c78613a drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d3a8127 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2df547f8 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e394888 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31457886 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31705c18 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3202f408 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x325db22d drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3880cd99 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38fa45f7 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x393751c0 drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x399a7f39 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39ad40d6 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aa10b2d drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac1fef9 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e91dae8 drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb37b9d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4137c393 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x413ae33c drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41781497 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41a493a0 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x453f59b2 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45552fbf drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45891dae drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45b691ba drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45ed7110 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x483a0098 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48bbd498 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48fe965d drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c1cd2a8 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ecb6748 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fea7977 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52ac4fc7 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x576d8205 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x591ef74a drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59e9265f drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59f02411 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b530661 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c1f7084 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d7318dc drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ed9d210 drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fb1441a drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x602e0225 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61611174 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629c05e1 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62b0326e drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62e8d54d drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65879366 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x667222db drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x668d0476 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6696518d drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x680acf5a drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b2bae5c drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d9eef91 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f022f42 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fb1a56a drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x701341ac drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70e3d610 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71082068 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72293c67 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7229c812 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7288e1af drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7603c921 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7619c85b drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7821cfb3 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x791faafc drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a66fd05 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cddac3b drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ce2828e drm_prime_add_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80b066e5 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x810eced6 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x817614bb drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84be69c1 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8845e8ee drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x891549bf drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b5fec7a drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ccca821 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8de13715 drm_format_vert_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8df1e28a drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfb019d drm_buffer_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8fae72bd drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92e22dc2 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9419f568 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95611e1d drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97d28808 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a549722 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e2cae7d drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa44ac645 drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5c678e1 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa93aa294 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa369486 drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaaed71bf drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaba6da61 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac72b540 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacec3ba9 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad02cb4b drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf3ae061 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb05ddb03 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2f7a6d6 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3372131 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5540008 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7caba74 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbabb3244 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe48c8d5 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfc92ee3 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfcf0718 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc07a2ef3 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc194b2a3 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1d21817 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc264128f drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2a11df0 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2b90d88 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2dcf5f6 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc30f0c0d drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc48d848c drm_prime_remove_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc55af619 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5e44a9a drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8a004dd drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9bc0133 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb618138 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbeae35b drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf9888ab drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfa03ed6 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0db0e33 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1801d8b drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd21577df drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2d98afb drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4a20874 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4f8e688 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd524a5f0 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd643469e drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd68d40a7 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6b7e994 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6f719d4 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd95fee70 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe112c4c5 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1a5fb7e drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3b706f3 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe66f0b18 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f0259d drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe73e71ec drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7f5b82d drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb4aaec8 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeeca1dec drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef2fc2c drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf03914e3 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2929392 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf332bcf6 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3476d90 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3504eeb drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3b2bbb1 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4d97c49 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf53c236c drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf627be7d drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6615736 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf662c9ad drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7f52d26 drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf87e0c30 drm_prime_lookup_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8b043c7 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf90f40b7 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9787764 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9d91d11 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa027761 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb277931 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbd3d36c drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe6facab drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x050d0d7a drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a98becd drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0aada3b4 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d3c2c4a drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21a34cdb drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x25c7f3f4 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x301c2572 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30b2b305 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x32c258cc drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43492a48 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x485d6fd8 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4aae1064 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c14f5db drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d6ec341 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58ad37a8 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b39fddc drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f0a269c drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74e701f0 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7757a107 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a3ecf72 drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8019fad0 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80b291cb drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa21ce09c drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb9f8aa46 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc80d5123 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc815322f drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd02c73c7 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe0e4e557 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe84586c2 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee27447c drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xef704217 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf77e1d4f drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf8224d0a drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x21deaba7 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xa1be6473 drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xe9899ec3 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x030e3e08 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x067a8716 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0ff11a2a ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x145e6a73 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x18231181 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x19653b0b ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x201f4e67 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2251e6a0 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x248d3434 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2551fe26 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25a51f92 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2960390c ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2c86360b ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x356488ca ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x37369e32 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a0782fe ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3faf6758 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x402c88ed ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4214a419 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49db2bfb ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4a66da16 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e8dd264 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x564e1aee ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x57a36e7e ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x58866c0b ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5fa7595b ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69583ea4 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a75c1e7 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6f76f442 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6fb1235b ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x728e4486 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7427d4b5 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7a478768 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7e912b12 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f264986 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80d86f0e ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8349936f ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85477881 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8832162b ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x90839ee7 ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x95a023c7 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96851115 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa03d8f99 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa5734a87 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xab312393 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xace23065 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb07b37b6 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8e2ebb0 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe68d0fd ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc13b38b4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc196965a ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc2bce84d ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4d4618d ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcb710ff0 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5755e32 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd690ef85 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xddd3dea5 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe3397ab9 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe8287a29 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xec191603 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeca8b597 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xed7179ee ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf360ad73 ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfb0c4733 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfbc2c5ec ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe0b7db7 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x516df78b vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xd0807f24 vmbus_sendpacket +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x0903c239 vid_from_reg +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0xef1c781c vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0e2a6864 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0f5877d4 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xc1799bda sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xe5022f95 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xed1d2a08 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x3c3d38d8 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xaeb93ab6 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xee087e80 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x395136ba i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xbd8a1008 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x7f874d72 amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x0398881d iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x08705ef8 iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x1abcfa03 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x2f72b5e2 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x3a3a67a5 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x43423e6a iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x5208aadf iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x56658c89 iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x589d79a9 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x7a8c5705 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x8b596268 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x8caced99 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x8d521492 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x9e18bf23 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xb1c3ea14 iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xb5ff6b75 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0xb7528ea9 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0xbf93cd57 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe613aca5 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xec73c437 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xf365c51f iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xf6591620 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xf73e2f91 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xfe372ebc iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x1724236c iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x6fc28b81 iio_kfifo_allocate +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x2107de5f rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x37838b44 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x6f6ee97c rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8ef35bcc rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8fd9df57 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9d1f522d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x11b2e643 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1be2aa5f ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3437146e ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3d0d13f4 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x47e0d898 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x639eae7c ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x64d42f09 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6db619ea ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7138e312 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x74460fab ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x86b64c9d ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa5237989 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xae9d3c63 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd8aa0f5e ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xda77a617 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdf237d10 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe7644008 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06211c36 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ca9041d ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cfa1661 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11110fb2 ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1148ff6f ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x122c822d ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14f84918 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x171f99f1 ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18f7623f ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a58355e ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ec62c82 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x236aea20 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x295c77a8 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3022f72a ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34302829 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34a07336 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x387ccc2a ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e89d421 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4223d5fb ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4a667b19 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4de83f32 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50336aed ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50dbc447 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50e02830 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x537183c2 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55fb70ae ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5711b71a ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x619a818c ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63297df8 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63430394 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x641c9fa7 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x685a1160 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6885de62 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d4b7863 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70be7bd2 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x720723e3 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ad82b08 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ef7cf74 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8447bc36 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85bcb412 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x867d00af ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e73f682 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f81eb35 ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90ccf049 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x913a534f ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96a9ef8d ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97413805 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97b616c4 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d4f6b47 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9fe95656 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2736ff1 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa47a7575 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9e63d1f ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae55eb0f ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe9c6400 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0dd1a0f ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0f50c06 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc233b3c3 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc37b13ec ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc88a49aa ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcc65aff1 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcc923153 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce1a50f5 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd0b077e8 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2dbbf5b ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdbe4b034 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdcdfab50 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde8a1d4d ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb4a2cb9 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb891716 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xefd8442f ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf0c65122 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa40d38f ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb53d9fb ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfdeec613 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x12807ced ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x245c512f ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3bb4a8b0 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x75ad640e ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7e360e56 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x98713431 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x9aaf6a7d ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xadf68c54 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd3f9d912 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe53eb84e ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe7d712ba ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xeaf7d52c ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x28eba257 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x2fd0e42f ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x49a94135 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x564c1285 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6a6de0d8 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb442e6e0 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc1955a3f ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xd3696934 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf6b6444b ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x02f847bc ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x07cf5a51 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x18382f6a ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x184f3575 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0153a7ca iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x06d22e2b iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x182cae25 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x796ec1d1 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9467ab76 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xbb0890eb iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd53236db iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe247372b iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x04af4681 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0ffe3678 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1f17690d rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x37956778 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x581e742c rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6b378c75 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7d221c1b rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7d9336cb rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8ba07d98 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8c84b9b2 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8dafc5b6 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9874395e rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6f15541 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaa084cac rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc775a577 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xca427dc5 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcfa9cbcb rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd42af7cb rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf6842115 rdma_accept +EXPORT_SYMBOL drivers/input/gameport/gameport 0x07363c67 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1aa38eec __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1efc77bd gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x33f23cb1 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3847aeca gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x74aadeb3 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x75fa7392 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd675dcc2 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe4ec8d46 gameport_open +EXPORT_SYMBOL drivers/input/input-polldev 0x6a1a09ec input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x89f97c7a input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8b7e7f29 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xa15b146b input_allocate_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xdcdb5fbe matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x51bd7db8 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x8b68134b ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0x921309fd ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x9d551a05 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x547b7e56 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/sparse-keymap 0x016d10df sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x0d1c246e sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x64ef36b8 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x76201be7 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x99abd3ef sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x9f3dc07b sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x63cc1707 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xe3669219 ad7879_pm_ops +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x3554fd91 amd_iommu_bind_pasid +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x8f2c72f3 amd_iommu_set_invalid_ppr_cb +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xa38834d4 amd_iommu_unbind_pasid +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xa873d0da amd_iommu_free_device +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xbce7e4ee amd_iommu_set_invalidate_ctx_cb +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xf6ecb371 amd_iommu_init_device +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x108058b0 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x1285f22a capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x18409ed7 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x1a59d19c attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x29d412ae capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47f4bfd8 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x55dc979a detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x588d5e5a capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7292ab34 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x72a25a72 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x90cf5431 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xecdbbfb1 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xfd552f7a capi_message2str +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x07a1d553 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x20494f86 avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x31ae6685 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x59ce183d b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x641f49aa b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6612aa44 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6c1f7ebb b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x7f5f5e3a b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x9c8ff283 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xb9d88718 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd5cd7919 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdb277cc8 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe0f0f4c5 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe731558e b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xff31869a b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x01b794fa t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x768a0b43 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x85b8adad b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x9617fa43 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb78fd06e b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xcb3b85ae b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xcb46d231 b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xeb6f2068 b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xf0e78d28 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0x29562993 b1pcmcia_delcard +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xaec3240e b1pcmcia_addcard_m1 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xea620116 b1pcmcia_addcard_m2 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xf14bf8b1 b1pcmcia_addcard_b1 +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0xfd3b784d proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x0b8a38a9 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x181b5daa mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x62897a2a mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xc538dfa7 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x7ff3f6a0 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xa5f81acc mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x4b70881c hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x7f29ce36 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xe227344e FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xee93522c hisax_register +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xf0a16657 FsmNew +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xfc27303b HiSax_closecard +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xff2db2cf FsmDelTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x1c19c623 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x2982a4b4 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f280cfe isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x8d98843f isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xce825cdc isac_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x8c53ec27 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xaa155631 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xb547a12a isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x3b71e4fc isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x59cc8a7e isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x8ee38862 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0xfd9d4c09 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x01fdc1e4 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x09eb14ed mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0a227afd mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x168d5662 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x29a09275 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x31c82117 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3217206d create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4c6f05da mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x53257e00 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x542e3e5a recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54451388 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x553017d6 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x58fd0557 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7af5169b bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x86bcba31 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8b6ced24 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x919b3ccb mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaa2bffe3 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcbe80eb1 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd7769425 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdab9cf58 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xde45a483 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe78fe6cf recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe87943cf mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf188f8ae get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x60721da7 dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xa215f1b2 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/md/dm-log 0x0abdd11e dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x15e07e20 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x48c923c2 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xf5d1eb5d dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x581f6cb6 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x70439e39 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x76557b25 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x9eb2165b dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xae0e96dd dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xccf89e38 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0x662089b7 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x9dcc5195 fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0xaad8d919 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xa1f7ee6b mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xed606e74 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0xcb445132 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x246aa8ef mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x89f9b3c6 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xd8cf8d6f qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x11406b82 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0xfe7b4a4c tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0xa4bda238 tua9001_attach +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x0cb4b189 tuners +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/common/tuners/tuner-xc2028 0x15017c75 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xe959e87e xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xf1224cc7 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0fe6e96c flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1cd60840 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x23859711 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x26e28257 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2a86410a flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x338132b7 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x37086c59 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3d70be0c flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4c2676cb flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5903b301 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x650b61c4 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6802154c flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6afa0296 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7a07d1d4 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa0a1094e flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa5a1117e flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb6d281ac flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbf2f7f4a flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xeb4fb683 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfe5a5cf7 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x2f58f1b4 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x4b7adfd2 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xc2bbeb24 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xc79e1469 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x2069c02a dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3ff6cd46 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x46bb9a9b dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x4c5ac51b dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa965c052 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xbffd2a6e read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xd7e5c296 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xea43c506 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xfc7f10ac rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x340f6e57 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x03d42c35 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x046154b7 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c651bb2 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x15d0460c dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1de8e9d2 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x231c7065 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x257e62a5 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x27b4ae9c dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3894c0cc dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x398aab01 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3d3219c4 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3e4a8ed5 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4b106d12 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6213aa2b dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x64d6d7a9 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x681d6849 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6ed8a9e3 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x84153327 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x887caf4f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8d0df2a1 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9c7af0ad dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa2a65e70 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xab137b3b dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb434c80e dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xca4965f1 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcf5345b8 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd0c31837 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd83f259c dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd99e940f dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdb66d5d2 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe15697bd dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe7cb968f dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xefcef46b dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf919a08b dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfadbb795 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0105de74 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x2981c0e6 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x2d64ee9f dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x6e1a0439 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe2515ba9 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe5d2da26 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xea96cc34 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x13e247e0 rc_map_af9005_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x4d18a800 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3150d39b dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5bf07f86 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9587ddf2 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x98159859 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9c58c2d5 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9d9040ed dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xae75fb5e dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb47559e0 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc31f37c9 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc66f9e17 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcf5e9ba1 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe46175c2 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x9b4b1007 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x48cac387 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0xfcbb3357 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0xb8be7344 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x02bd72e8 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x21c69a7f au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x626f061a au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x7ba86fbe au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x7ec7d002 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x8f9d81b6 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xc667897d au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xc6949087 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x35872e43 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xba546c11 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x22670d06 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x67815b0a cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x6dc86098 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x5fbf261a cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x91917ae0 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x9469e2eb cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x991f7a74 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xbdef3e3c cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x046430b9 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x3e31dbe3 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x6001a396 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x780ff376 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xd60b6c88 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf5c2070e dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x06a4444b dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0741b752 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5ab2433b dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x704e1f55 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x721ccde7 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x7a6438bc dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x7acb0c19 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x7d31a547 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x865c7c85 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x88b3d86b dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xab5b3688 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xbbc79db8 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe1119bb6 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xf07538ed dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xfc53ad28 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x5319257c dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x0916f250 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x2fcb560c dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x415c1d17 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x79d5b322 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xc0bd3e7b dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xf661304a dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x90c7e75a dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xa6705960 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xb76471ed dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xda0e6679 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x03bba3f7 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x388b02bb dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x42cdefab dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x52cd9723 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7eec1453 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x80817fb8 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x812bd3f7 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x93d58187 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9bda6bf8 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa6d10f7c dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb2579479 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc7a40ecd dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd10f8c36 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xeed6470a dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xfeccea7c dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x0d7d8c43 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x434fb75f dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x467016ba dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x541e1f8c dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5f0047f6 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x62d77b44 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa3b03259 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xac349b61 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xaf9e2ec1 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb6ccc358 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbd04cc4e dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xca482651 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xccc72889 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd1721707 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd5d87b04 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xecc8f0a7 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xeda0e33e dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf60c534f dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xfdb5ff03 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x117aebb6 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x8ce1162b dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xaed44eba dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xe2d57614 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xead3b91e dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x08a0b250 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x31948845 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xe8936013 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0xf0933468 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x52e4f557 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0xcd690a71 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x652f5bae isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x93922f6c isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xcb61d0c5 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xc8783945 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x72e12b66 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x2cf08507 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x207ad647 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x34ce6ec5 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x2a4a250e lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x4a88c6b2 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x4807b1e6 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x19f83664 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x448ae857 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x3650f7d2 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x4fab47e8 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x811d7a56 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0xda66626b mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xb535591e mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x7ebff9f2 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xd1cbccf2 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x79bdec11 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x4d8c4967 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xd4c355e0 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x18374037 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0xff12ef2c rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xd14da8f2 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xebbbebaf s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x499641e5 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xabfdd448 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x86c76c0c s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x45745ab2 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x9bfcdf5a sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x3c5c76ef sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x946dc40c stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xdbfd2545 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x752068ea stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xe688287a stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xadc24c1d stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xe2b51cdb stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x1c965011 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x865cc83e stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x95958c80 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x0ce51f1d stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x52faa642 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x7fd36dac stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xa9a8dc98 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x836e5b9a tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xa53a3dfe tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x196e6a0a tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x3d8a2db9 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x5db36436 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x0fb52c28 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0xa8cd48b2 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x5f5e5983 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xad9fb042 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xacf1111b tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x31e6d4bf tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x93313480 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x3c9c3fe3 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xa1cd45c3 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0xaba0a7ff zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x3195ec03 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x9ed904cc zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x19b063a2 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xc185edf5 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xea42ec3f ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x12bfe4de lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x4acc2ebe lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x7b57af17 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x8472e546 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xc89a5055 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xca382d4e lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xef023dfc lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf4163c85 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/rc-core 0x82513eca ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xc2d2950e ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x02f58a9c bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x6e7a05b7 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xd6a4deb1 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x09e88593 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xad2fe38b btcx_sort_clips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xc368f8e6 btcx_align +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xcda0ded2 btcx_screen_clips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xd448ab58 btcx_riscmem_alloc +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x0e35fb25 cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x4928a602 cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x528bb4e2 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x5518a301 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x8193b8bf cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x516a8e94 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xce8e44c5 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x3db8be82 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx2341x 0x40f1fd41 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0x495b9ccc cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x69642b49 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/video/cx2341x 0x9b9c0430 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0xc184ec1e cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf76ce95 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf8b77a4 cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x0111a60c altera_ci_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x9247b72f altera_hw_filt_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x96cef397 altera_hw_filt_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xc799dfe4 altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x025d0af3 cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x052a4f22 cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x0dbadf50 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x2cbc1859 cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x7023a7e4 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xb2f59d40 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xc8e55ca1 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xce19e30b cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xf0ff3f86 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x6598aa4d vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xa697e418 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x35902d9a cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x3d72a112 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4e4b7095 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x72a15cee cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xe3c757c4 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xf20fbf6e cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x25968ffe cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5e1ee050 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xa2fa7fb4 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xaf7c19a3 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xd7b020be cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xe7d7ee20 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0a9e02f2 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0fff5190 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2b568815 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x332cc3dd cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x41222ac1 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4d1830a9 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x653e0fd7 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6cbad7c4 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x731da9e6 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7592f800 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x771c7f0a cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8fd2d9eb cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9684893c cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x98f02bb2 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb95518fa cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xba5693d1 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc92b0ba3 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe209b382 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe5307be9 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe9c04037 cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf5da60ec cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf5ed5b47 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x0cbe01c2 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xd1248f8e em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x07937553 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x10e54738 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2f923e57 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x797e33bc gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa255c530 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa2ab79fb gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa8577abc gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb83b7ce5 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x1c6b5ebf ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x23a1983f ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4d478492 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5aca0b19 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x61fbd72e ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x75617153 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x83428d31 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa4ddb5b4 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa578f401 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb51a4ab2 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xbd0ba613 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdf9d266e ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x05899ec4 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x14dfecc6 saa7134_boards +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x19b838cb saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5583b2d1 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5aa55538 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7b968780 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x84b285f0 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x92e35bc5 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc665bfea saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe37f06c0 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xee1bc2bc saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf433a5be saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xfefa0ec4 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/soc_camera 0x15356460 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x4f66336f soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x7c1034bf soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa1bf1b18 soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa3f58212 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xc51176eb soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x500b8255 soc_mbus_find_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x61871f65 soc_mbus_bytes_per_line +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x7371455d soc_mbus_samples_per_pixel +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xc8b28da5 soc_mbus_config_compatible +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xde30e6b9 soc_mbus_image_size +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xfeaea44b soc_mbus_get_fmtdesc +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x0587e6c1 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x25ccbfe7 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x92050bcc tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0x8319870e tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0xa00e0c53 tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4274906c v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4adaf0f3 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x53c9394f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5f96a661 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xc6421a08 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x159879fe v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x9c54294f v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xfab63d4c v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x0fc35a23 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x24c7fbee videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x3cb1c116 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x55ec003c videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x8607de70 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xdef37215 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0xe567b9c1 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x0118764d v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0b939453 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x0f7cdbed v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x120a3f7b v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x130eb308 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x1e975c0c v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x22d0c125 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x23d36aa6 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x246c7c4f v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x27c91e1c v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x29b189a2 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x377611d8 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x3782f4cf v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x3a7e256e v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x4476e3b1 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4b5799be v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x4d1a2e6a v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x54c7dacb v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x57f00317 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x587707c8 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5ab27f19 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5b170d63 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x5bfe45af v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x624a7c21 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x6cc0fe76 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x6dbe3f8c v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x72a6f324 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x755dfea4 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7d75c602 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x82558aa2 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x8498825a v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8d4e06ec v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x953461b1 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa4ba16e8 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xaa8a898f v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb8a8ad6a video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc6865375 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xcf891bb9 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xd0fb69d4 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0xd4976ad8 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0xd7c2c611 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xea036931 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf6cd429e v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0xf8c65d34 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x10be4e70 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x5626c095 videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xa9efb50b videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xf9eb17fb videocodec_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x09a3fd00 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x125964ed memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x68e18c5e memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x80c3ae1a memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8267cf7b memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x84c6eb06 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa67a55ba memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbdfafab1 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbf6ca1b2 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd0d4e24b memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd6491a2a memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdc07e67e memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe9da43e8 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x15359416 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x16e21b3a mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1a860d1f mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x260142f5 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2b3379d4 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2cf6535e mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x40033e43 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x41704050 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4a3f281b mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4eb13144 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5fd24f87 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x710876c3 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x85016b13 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x886804e3 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8f6bd433 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa369de30 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa3bb3c6e mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa6a5b5a6 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa8c9e9ea mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb0414bb1 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb411caa9 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb6b2fe69 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb7179813 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbc4056cf mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcab9ab7b mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd7945003 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd88cdf67 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9c747b0 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe351b459 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x03247469 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0de321fe mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x13daedbe mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x188e431d mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x22dcaf3c mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2839801c mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3013ca45 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x31c509d3 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3c9df6ab mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x48cf96dd mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x62aad135 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6730297c mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x789437b2 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fcee6e2 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8112f75d mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8ae5b77b mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x90a8d9f7 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9e370daf mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa8fb42c7 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb0d3ed68 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc487d6a2 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xccdc96d6 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdc5a7250 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdc832626 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xde119025 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe04e4505 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xecc6f931 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x02982890 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0f999b2b i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x10953fd7 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x197cd4c8 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1eb4cb07 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2f8d0227 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x341da81e i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x49595a40 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x540a6ff1 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x63bb0723 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x754936ec i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7b69d480 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7ce02556 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9adb91b1 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9d19823f i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9dda6b7a i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc0550d2c i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xce4f7058 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd1f1e25f i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe67f723f i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf1a95bdb i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf2434b5e i2o_parm_field_get +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x6923c0a1 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xcee59ae6 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x49ad54ad mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x5157e9c2 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6579f803 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7a48e4de mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x857de399 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8c04d82d mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x91930726 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb32ad59f mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb4b2686f mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb87e28ed mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc44a8749 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc60455f9 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf0268e51 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/tps6105x 0x695e9b0d tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xda0336db tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xf2d17ac6 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x275dd8a6 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xd3afd0bb ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x3e6bb317 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x31df927c c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x8a27fe2e c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x558999c5 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xd371a207 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x23b2faee tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x27fcce90 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x4b7d9c8f tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x6b5ab6a5 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x6b736b9b tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x83e6c170 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x91e75708 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x9efbf525 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xa489685b tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xa8c2ec46 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xcb1cb81a tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xd3060087 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xf56573dc tifm_alloc_adapter +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x11df2dc0 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x4d22d3b8 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xba32bd15 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd8636255 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x384076d1 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7aab3e65 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xa25a3c0d register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe93ded2b do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xf9ffb5f7 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x8172b264 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xd7e7905b simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x4e4ea6a5 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0x6e41bef9 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00ccffce nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x01de1498 nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x8a015e7a nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0xaa76452a nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0xc2bbe723 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xd40234fc nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0xfb8c0f1b nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x767e7e5f nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x80e38d11 nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xccb36da2 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x4934bb37 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xa8d21ec6 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x6d7a46a9 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x88ff1fce onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xaf3f2f27 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xc149471b flexonenand_region +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x11a22bc4 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x209ccb96 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x28f5914e arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x548a3f23 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x57c4e28b arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5d673aa3 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x62a3041b arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9018452d alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbabc4b81 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xff733cc9 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x7bcf6d39 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x8d7a60a9 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x9706f51f com20020_check +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0d56fd80 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x1143165c ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x19953515 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2d7c57e0 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x47e16506 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x6a5e45f0 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8d98cce1 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9ee9fad6 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xecab3e07 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf7f0e05a NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0xa9689983 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0xbffc2a96 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xfae2d0ce cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1e639740 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1fba2296 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x522ee44f cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5d715eb3 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5e1f8e88 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x78677c8f t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7cd95b9e t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x922991bf cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa396ee80 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xaa4d67c6 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb0190dd7 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc026e63f cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc7ed6ce2 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdf10b638 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdf6f0f91 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf9476bda cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x07f84644 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x17fe9d80 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x32e2e71a cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x33ae997b cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x36c3024f cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3cb637c0 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x41ecc1b7 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x47cd9bf8 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x618da1b3 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7a1cc020 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7b213e6b cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x85dbfaea cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x861604f1 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x96f3194e cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa76c08b1 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbaa6e503 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc06e6499 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd00e5a36 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe24bee3f cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe3230eb4 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfae66a38 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x5b1e1b7f be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xbab62e22 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xc3651bff be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b564701 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f7a0a36 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x922d947d mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x928b7a71 mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e2129bf mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa20422d0 mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc4f902ec mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc72ed6d5 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe95323a4 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfda70b4b mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x04955221 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x53174b7e hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x8098ecf5 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xccfe7d0d hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe60d158d hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x26326260 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x47103049 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x5ca7e94d irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x85aedbdf sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xae4ef703 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbbe074ba sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd8113ffa sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe5a8079a sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xeecc98eb sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf8e574cf sirdev_raw_read +EXPORT_SYMBOL drivers/net/mdio 0x0f934475 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0x22bce513 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio 0x43e4defc mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0x7577f992 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0xa1a29548 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0xb34a7575 mdio45_ethtool_spauseparam_an +EXPORT_SYMBOL drivers/net/mdio 0xc6b1163f mdio45_links_ok +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xce9f30e9 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xe00ff248 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x79dc9be3 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xc01d9f18 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xc7269b8f register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x7f3c2245 sungem_phy_probe +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x38da4725 cycx_intr +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x62be23ea cycx_setup +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x66a4c4e6 cycx_down +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x968458a6 cycx_peek +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xb6f383de cycx_poke +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xfe7cd576 cycx_exec +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0aba88fb detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1a2f761e hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x27884a7b register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x307edd1b alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x394f59f1 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5e7b870b unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x936e21e9 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa3f6f558 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc8c7389c attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd716cb71 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xffc6fdfd unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x53f3f430 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x0ec645be stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x2dd87998 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x9c9a5128 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x23bd7886 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x260943b4 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x32c180ed ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x51bcb883 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6d892b47 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x839e6598 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xaff40c09 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcf6a0ebb ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd7c9ec62 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe3c862d8 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x016b0a69 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x075105e2 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2a8e8d85 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x320d90bb ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x59664266 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x85f19f8b ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa6da56bb ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xcd186844 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd769d76a ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfd723e2f ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fbab7eb ath9k_cmn_update_ichannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb3f3efc9 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd422002a ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd92a1a84 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe993942d ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x033e2b30 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x03e6547d ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x045840b7 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x04b2ade8 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x04be46bd ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0582a67b ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08cde49c ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b703264 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d792bb4 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x17f0dc86 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1ca3d849 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f5cb695 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fb2ff5f ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x26399c01 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2accb1e5 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31342a42 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x33508664 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x38737419 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3af81f3d ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3ef651e5 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f149502 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x40d7366f ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x44c332e6 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4738fdfd ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x481de7ef ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x49695abf ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x49941b5f ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b1d4c23 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d326d22 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x521c8509 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x52a22533 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57191e12 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x589ad757 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fb94e21 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x60bd7ce5 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x664ee84f ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x68c2f469 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6977be57 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d3d453d ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e1d4dc7 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x75be9bca ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78f1fb9a ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ee39b96 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8256b9fe ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x82ee0c61 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x84b1513c ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x84d7099a ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c88c067 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8e4fb4dd ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x907af04a ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90ac9c20 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x928017ce ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9281bdf0 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93f39f13 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x945d0675 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x956726f8 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x96ac879e ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x985a0222 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98a94692 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x99f14a3c ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9fbf72f1 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa20a7693 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa51ccec7 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa8486f04 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac06bfc7 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad2337cf ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaee1c957 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0887919 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4ad9140 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb786acb0 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc0d725ee ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc2b502d7 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc418d064 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc550acb9 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9921960 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcbc2b3b4 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcbf95a23 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd20d3bac ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd2badf6c ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd6c69ea9 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc07ea84 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe358ffc6 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe48ec628 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xebdc6f1e ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xedf9aa8b ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf4672bc8 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf46930e0 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf4bf71fd ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf5f521fb ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf69eb755 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf7ed0f7a ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd550478 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/atmel 0x670df8cc atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x6818338e stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xaa02b027 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x2ee5d484 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x35777455 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2b7151fa brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x4a433ad3 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x54c640bb brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x633b705f brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x7f194ff5 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x812b80db brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8a4f5c57 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x94a3dee9 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xa4a928f3 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xb347128c brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc2454848 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xdec48ff0 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x030faf59 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x08f30b28 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1463df8a hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1723ac32 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1c6ff191 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x31f414f0 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3955a019 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x405d3f99 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x59285e69 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x61f8533e hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6cf21374 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x827b15dd hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x86129549 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x997481e3 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x997ee570 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9e6b8115 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa249995b hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xafa18021 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbd4f7205 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc5898006 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xccbf92db hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe4e28762 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe9f173d2 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xea49838d hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xea8dc2e6 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfae6cd04 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0e617442 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1146d91d free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x16f567fd libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5632bc55 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5c6237ce alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5eea1131 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x61996ce3 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x73aa1536 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x73f3a634 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x838b0d90 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x86907c6d libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8b00eb3b libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9a833fe6 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9c403627 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa3e85cfb libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa8d99e01 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbe6cb093 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd23d9cdb libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe2cac8a2 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf990e135 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xff792915 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0283bf4a il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x080c8a05 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x08c9eb0b il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0aa03579 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x10d335df il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x10ef54ee _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x146b0f16 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x14dbe0c2 il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x15327453 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1538a3a8 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x16375309 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x16c4b361 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x18488e00 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1f8bd961 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x23424b35 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x23fa9d4e il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x25cd01d7 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2ab32be1 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2d3eacd1 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2d79237b il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x316b78a2 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x32070aa6 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x32dac125 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3525ef54 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x36d6e48c il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x37081d1b il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3b8170ca il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x424477d2 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4350ed73 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4d920ea5 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4e455ce4 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x51451f11 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x542d40e0 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5828af0b il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x58d88c73 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5945b5ed il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5a4b6bf5 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5d00e69b il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6285ad1a il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x63af1339 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6469f50a il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x69fe1a0a il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6b784ee7 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6d24c59c il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x70615ef7 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x726d2833 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x746c685b il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x81a2f3ea il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x82634d7a il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x83bfa268 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8419c114 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x84eb2a27 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8856a016 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x89ca37cc il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8b8e6065 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8d67b238 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8f157896 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x92dd1e09 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x93c17af2 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x96852e7c il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9e882609 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa265656b il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa2c2256c il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa79782b9 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xad053964 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xae1a68c0 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb0a89933 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb232caf7 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb2ebe920 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb5988320 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb67d96dd il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7e8ed90 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb91de487 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbd973ee0 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbe9b4020 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc0971336 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc26a8367 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc2b1a244 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc4334079 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcfe5c48b il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd112c664 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd1b9e0f7 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd1e4a12a il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd9f4b09c il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdb584ce0 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xddba0a9a il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdef94459 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe0407798 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe325c48f il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe5f010f5 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xea6bf2b1 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xec995120 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xedcea78c il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf0d2095f il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf34d81bc il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf4741e3a il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf4ed3875 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfe74251f il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x08dd8699 __tracepoint_iwlwifi_dev_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x0c50fa2b __tracepoint_iwlwifi_dev_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x2f7b7e55 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x3b9d00d6 __tracepoint_iwlwifi_dev_ioread32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x779dd6f5 __tracepoint_iwlwifi_dev_iowrite32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x85c1bb84 __tracepoint_iwlwifi_dev_iowrite8 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x963a6f8a __tracepoint_iwlwifi_dev_ucode_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0xb8f7026f __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0xf9ec6bdd __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x2477a399 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x2c0b0397 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x45276b25 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x46006ff4 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x59735540 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x59fad34e orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x678108e3 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x69d892db alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9b6084c9 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xad6c3630 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xb51c3304 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc12724a6 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc80f958a __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc96f54b4 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xdb0cbd65 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe3b3bbe9 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf2269841 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x01a8f169 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0819c5c3 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0ac62c3c _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x128fbc90 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x15b94328 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x227fd953 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x29f34f78 _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x30778459 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x330e8b89 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x33446b9c rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a39abca rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3c762525 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4034e611 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4ae6df20 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5af5cb74 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5dab32b3 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x62a9f36c rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x676ceadf _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6d682af3 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x79151b6f rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x79430c7b rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7c2d8342 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8538c870 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9388207e _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x96131e0a rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9b6f9e01 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9c751251 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa8930fc2 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xaeba6a4e rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb5f46c8c rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbb82f0d3 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbf8c66cc rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xca9ac603 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd33427e9 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd3557103 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd580f416 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdefe9a0e rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdf5e6be1 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xef8af5dd rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf562367c rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf7369e5f _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf7cc4469 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x052f09d5 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3efbf33f rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x430f4856 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x49f88525 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x50609df2 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x53b812b4 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x54dce699 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5500c604 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5a1bd3b8 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5b0ea358 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5e5b011e rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x72c316b0 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x78047a5b rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7b82c95c rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7eed00f6 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x85abea77 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8e60d01a rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9b17574a rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9b5c8bbf rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa049a0ee rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa7a975dd rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb6b615f3 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe05f7315 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf40f857c rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xd6514a34 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xebcb2476 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x004d04eb parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x0cb75d43 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x11141fbd parport_read +EXPORT_SYMBOL drivers/parport/parport 0x1ab6ec5b parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x2859e024 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x2ee6b297 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x39c76a21 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x3d7b617c parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x409ab000 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x4c1a2353 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x575a5a29 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x65dfdbd4 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x6bc91b8c parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x7f05ebd9 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x9448f76e parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x9b047c12 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xa1db996b parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xa6624d75 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xadb21682 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xaf092e31 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xb6988092 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xce64ab35 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xd0daba6a parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xd58d74ac parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xddcc1613 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xe10f83b1 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xe6a0c44d parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xf23b044a parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xf4ccf53a parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xfd49032b parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport_pc 0x1094d608 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x194db4bd parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x06a131f8 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x06e0f318 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1306758a pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x24427833 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x281ee2ea pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x50697f22 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x51e6eca2 __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x632ad153 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7bc4f1a6 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8e68273c pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8ee5133e pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x99c0cb14 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa95cbdc2 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb545dc58 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb5a47417 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbd08e63c pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xcb4a3d6c pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdd612e41 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf3ab7e77 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0630aaf8 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x19c1c5bc pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x20c973d9 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4d16eba5 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x54a8725b pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6452a572 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6e14c678 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x95d5c35e pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb7092ddc pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd8361275 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xea09d686 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x8235091d pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0xfd6a33d8 pccard_static_ops +EXPORT_SYMBOL drivers/platform/x86/intel_ips 0xbed13272 i915_hsw_enabled +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x0f872089 pps_event +EXPORT_SYMBOL drivers/pps/pps_core 0x445449ea pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe54fd30a pps_unregister_source +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0x865a3d9f bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x09145bc5 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0c7a95fc fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3d79b17b fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x63521a00 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6625b57f fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x674d7486 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x918c8374 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb1122921 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc7b46e49 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd0dc2898 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdda78ae6 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ab60eb4 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f44d881 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x217987fd fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2261f63e fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22957fc3 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2a97dda7 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2c14614b fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2db9da06 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x341e0e32 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3bfee7ad fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43358aef fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4f1f281e fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x500072f2 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x507f3b65 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x54f4fb69 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6210f2d0 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6a42069b fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6aec3be7 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6e516293 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7067a345 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x742d2b3c fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75286272 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cd0a5f8 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x80c09542 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8113ed06 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85ea868a fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x89d83b27 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8f8984c6 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x901138e6 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x950992f4 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96426559 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa4fb2ec4 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa980a723 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf5540d5 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb46bf118 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc829c1c5 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcbf8721d fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcfb55fbd fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4a2fb25 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd56ae452 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd7972751 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdad4ab78 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdaf0c1b9 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe299c4fe fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5c8d4c3 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe661903d fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe72ec34f fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9e9fcab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed45bfb2 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfd89a476 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x2250c66e mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x30465d3a mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x512c956d mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x00ed995b osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x01e3c704 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x09aec780 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0d7d7e49 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0f4c6c98 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1b5f31fd osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1dd76912 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x20188978 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2f771185 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3b16abfd osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x41a2160a osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4a5199f8 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4a9afd54 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4ef03ea4 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5be5e837 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6a93580b osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x735dcec2 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x81922149 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8f672ab1 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x96761b9a osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x96938649 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x969a39ff osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9ce59965 osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa5ff9daa osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaacb427a osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb16fdc64 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbfd1fe4e osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc252ad79 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc38aa6cc osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd1fa6dfb osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd21de66b osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd38fdb1c osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdd210a88 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe10a8df5 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf9cfc6ab osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfab3e25b osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/osd 0x10698804 osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x46b37f25 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x9203a18d osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xb33c90ed osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xd7e067ed osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0xe326a769 osduld_register_test +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x3fafee12 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x49ae4fab qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x862e3854 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9e7dbef7 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb6ba1b6d qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb8067ba5 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc6f40b21 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xcd307d88 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd88262f3 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe1d7187d qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe4a3711b qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1607051a qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f691d9f qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x278e0921 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xc9a52939 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xd5e5a601 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf3607bb8 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/raid_class 0x2a6f7e1f raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xd447d052 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xeeaf8ee5 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x09f4dbce fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x266d45b7 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2da04c4f fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x58e9e7a6 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6ff673d0 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x779ebf41 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8466c7a5 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc40387d4 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xccb57762 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd3092bbf fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd3890b3e scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd513730e scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd8976d22 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x191c4f49 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3141de72 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x40a0a234 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x435a395c scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x499b4a1f scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4bb092dd sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6a2db2d8 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6b1fad36 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6b265029 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x719918bb sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x757585ea sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7b6bc365 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7d64bfd3 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8136af16 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x81743168 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa5e769fd sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa9196ed7 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb13c600c sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb228ea84 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbad83888 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbad8defa sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc0913613 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdbf7ee47 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe03aca00 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe4cf9361 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf0c2a11b sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfb400764 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xffe6f596 sas_rphy_free +EXPORT_SYMBOL drivers/ssb/ssb 0x06d20e49 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x235715da ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x2a6dccc5 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x2f91bc94 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x30366d28 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x41091a6b ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x49627022 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x51fc5982 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x94de1bd3 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xa213207f ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa9835c91 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xaac69925 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xbba9c331 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xbc9fcd20 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc0cf0917 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xc2c36b73 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe6851c5a ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xeba2d0a1 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xf271db70 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xfcdf099f ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xfe48bcce ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x265a8afa comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x36622537 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x420c8af4 comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4baff304 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8163c982 comedi_check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x81e808ad comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8560cdea comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x86be1c8d comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x92ee3eb5 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xab3eb3b3 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb8de6723 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xc0eb2b83 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd03093f5 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdf799625 comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xeb364e1b comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x6802e0b9 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x6fbd1590 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x8551672e subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xb22fdf0e subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x265803e7 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xade35dce cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xb6c269de cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0229787d mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0d4b6f48 mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x147d9e5b mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x35542f12 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x36da4372 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x3f1b31d8 mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x722aca45 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x73125a79 mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x88579614 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x99efe7b7 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa5c4ed07 mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xabc75a81 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xba59f098 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc02231c4 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc564c0da mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xdc9ec00d mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe56bd4be mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe5a16bee mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xeaab94fa mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xff28d722 mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x21cf11f1 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x541945e2 subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x70addf51 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x92395c66 subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x5b0d59c2 comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x220e29c6 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x264b4a74 comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x43a8bcbf comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xaaef532c comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc8886b09 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xddbc4505 comedi_open +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x628a9900 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xf9a2317c adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xa50747c1 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xc9e21b22 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x6aef310a iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xcd3eee41 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x9886c1a0 cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x2cecbe9e go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x64a30afb go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x722c909e go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x7d53156c go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xa2e1a076 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xc64c12fc go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xe5d37823 go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xe80cf706 go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xfab544a8 go7007_remove +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0503d068 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x09ffe700 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x10bd420f rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x19224f06 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1b1421e9 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1f8bc4ed rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x20316d2c rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x27dfac94 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2c20e3b7 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2dc99ea0 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x38d4d7a6 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3e9b06d4 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4237ca8a rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58a819c8 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58e29ed6 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x64c921b1 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x65718d39 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x67bdd5de rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6828ba6a alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6d47bf7c rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6f18a0d2 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x706a3360 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x768c54c1 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x786218d9 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x78ec9830 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7d771d7f rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x864fa970 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8efa3c95 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9bbbb839 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9d712c58 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xac2aeab4 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xba6ecb4c rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcd0c83aa rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xce268b81 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd25c817f rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd528c049 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd89e221c rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd9bde51f rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe3481846 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe6f3997c rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe9600d71 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf0318dc2 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf09f9045 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf20f2fbe rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf3c8cf77 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf433d474 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf71c30a8 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf8a9a200 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf9565f21 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xff8e4b9e rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x048ae3c9 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1be2595e ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x225cbea6 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x234297b3 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x27815086 Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28a730fa ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x335bd12b Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3f176003 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4447bd0c ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x44f20dca DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4a8e255e ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x515a92c6 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x569fd301 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5f329e0e ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x61222fa0 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x62c0219e ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6a0972c5 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6e383769 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c38babe ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c3fa641 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c714590 IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7ef0c569 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x801412ec ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x801d48a6 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x820fda9f ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x82b9a6f7 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8f978baf ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x905b3289 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x90a694d4 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9d421021 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9d7abe21 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9eedb3cb ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa828f0e2 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaa0993ef ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb0e62406 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb2c433a2 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb6352061 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc1f7bae7 ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5feb756 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd1538905 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd788fd62 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe00b36c5 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe0be2a3a ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe218a8f2 ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe317ffe4 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe46a07aa Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe77391c2 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe8f952cb ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeaf58846 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xebe87f34 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecce6f84 DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf4b3f6e6 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf91d8dc5 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa2cc945 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfc8debf9 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfef352b7 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/telephony/ixj 0xbc68cf3e ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x95f779f0 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xb0e7d77b phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x004de610 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x08f4ad1f transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x0adce9ae sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x0b51d62c target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x1032e63c transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x140a115e iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x148d7d00 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x17d231dc transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x183caeec __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x185f08db target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x18b4f718 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1cba8430 core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x1dcf7ad7 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x2282c66c transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x243fffc0 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c9ebca8 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x40fb874d core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x41d16947 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x443e983e core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x4b9abbeb transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4eabc6d7 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5522b759 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5c40e145 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x5c9001e7 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6225f66c iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x6add6dcc core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x6c1f8ff9 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7046655a transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x713dfe14 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x78b801ef sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x79c1a2ea transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x80251c9f core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x80f0e1c4 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x84b24c05 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x870bf9ee target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x969c6375 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x9be6a002 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x9beb5db9 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x9fba6c0f transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xa8440def target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xaaf14047 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xb02205b5 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0xb27f562d transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xb9885305 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xba9e8186 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbe63490f transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xbe6a7da7 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xc0a4a782 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xc42b2f14 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc5397a4c target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc6581854 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xc6feef3e iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xd31c6661 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd4aaf5cd transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xd504bd92 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xd6246111 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xd79109e7 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0xdc653724 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xdfa86c27 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xefd789c0 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf12b9252 transport_init_session +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x38cdbe0c usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x2fe47746 sl811h_driver +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x035aa3e0 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0c38a027 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1fce50da usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x356b2cda usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3b47ce89 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x50a194ec usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x559d543c usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5afae6c4 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5c4fcfbf usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x65c38c5a usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7ab0328d usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x87bc145d usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x94061c0d usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x980d51cc usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf9ac25d9 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x1fbd4c2a usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x2fd47d5b usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x5d3b2803 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xc38bbd78 lcd_device_unregister +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xddbca2b3 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/macmodes 0xe9c08dd0 mac_find_mode +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x6a2e5bbf matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x72d63414 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xd1a3e075 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x1d019cd3 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x1e326a10 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x83a18189 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xbe8a5f71 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x23223d54 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0xc154f6b8 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x4bf07880 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x4e0636ac matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xae40d70f matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xc905438f matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x63598ab9 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xc31e1652 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x05882480 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x481a4e2b matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xc12db87e matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcda4e531 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xd784c4a4 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0xeb439804 mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x090b6cd8 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0x33862515 video_output_register +EXPORT_SYMBOL drivers/video/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/sis/sisfb 0x454a3cf0 sis_free +EXPORT_SYMBOL drivers/video/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x3b6dac95 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x4d34965e svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x5bc5f57b svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x6e3722a0 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x76454120 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0xd1429fca svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xdb7f8593 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xec7cada9 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/svgalib 0xf2db5956 svga_match_format +EXPORT_SYMBOL drivers/video/syscopyarea 0xd02f091e sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x5a0072f6 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x91b6ac0d sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/vme/vme 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/vme/vme 0x1e27ed7b vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0x1efafb99 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x33277ce4 vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0x3dd8237a vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0x3e95083c vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x46649cd1 vme_lm_set +EXPORT_SYMBOL drivers/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/vme/vme 0x4b847351 vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x52983a4f vme_master_write +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x5569c39e vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0x5641fcd3 vme_unregister_bridge +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x79580526 vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0x79a33f85 vme_get_size +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x83d211f0 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x8461fab9 vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0x84d18d39 vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0x916407c9 vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0xa2a335bd vme_alloc_consistent +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xa6964c48 vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0xa858652e vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0xb6b881da vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0xca5ee09a vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/vme/vme 0xe5790498 vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0xe5f9daa8 vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0xee709b1a vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xad673d87 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xc3001bb9 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xc57a63da w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xec2e322b w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x05bfd371 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x0f3d8507 w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x26c87c4b w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x49481149 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7fc4117a w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x82a3dc69 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x056f9005 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x68b23836 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xfb85e254 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xfcc50740 w1_register_family +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xb5f20875 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xc4f657bf iTCO_vendor_pre_stop +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xdc6effc9 iTCO_vendor_pre_start +EXPORT_SYMBOL fs/btrfs/btrfs 0x013333ed ulist_alloc +EXPORT_SYMBOL fs/btrfs/btrfs 0x2e965c58 ulist_add +EXPORT_SYMBOL fs/btrfs/btrfs 0x42d57ce9 ulist_reinit +EXPORT_SYMBOL fs/btrfs/btrfs 0x58cbfcc2 ulist_free +EXPORT_SYMBOL fs/btrfs/btrfs 0x8ab177c0 ulist_init +EXPORT_SYMBOL fs/btrfs/btrfs 0x8e313eff ulist_next +EXPORT_SYMBOL fs/btrfs/btrfs 0xccdd7b95 ulist_fini +EXPORT_SYMBOL fs/configfs/configfs 0x07838246 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x61dc71fd config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x6c078d32 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x7d769838 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x8d336db8 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x95ab4ac2 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa2e25a60 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xa867ec60 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xb50fa3bd configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xddf2c527 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xe906bc46 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xfda37190 config_item_init_type_name +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x183db320 ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x29409c6b ore_create +EXPORT_SYMBOL fs/exofs/libore 0x482a9f03 ore_write +EXPORT_SYMBOL fs/exofs/libore 0x56331e60 ore_remove +EXPORT_SYMBOL fs/exofs/libore 0x5bb36a37 ore_read +EXPORT_SYMBOL fs/exofs/libore 0x76e01cd1 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0x804eea77 ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0x92e99652 extract_attr_from_ios +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xdf4260b0 ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0xecf0c056 ore_truncate +EXPORT_SYMBOL fs/fscache/fscache 0x06cb94a1 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x0962f219 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x0a36ac0e __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x200ebfc9 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x20f1122f __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x32a153ce __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3d94be56 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x7133f346 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x71ec8aa7 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x78e22b4f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x7e040d6e fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x87ae5199 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x934d4bf2 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x98fe7b25 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x9b0e2bc7 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x9f8f27c4 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xb28537bc fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xb63a897b __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xc160d04c fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xc2fc5fc5 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xc36c4731 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xc3f91f60 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xcb427fee __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xcc87f564 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xcceb3c43 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xd098b699 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xe74bdba6 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0xf21b2858 __fscache_attr_changed +EXPORT_SYMBOL fs/nfsd/nfsd 0x0c8d6829 nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/nfsd/nfsd 0xcbb738be nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x454c1baf qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x8690d056 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x8ee4ce50 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xa6fb1cb3 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xa9ab08e7 qtree_read_dquot +EXPORT_SYMBOL lib/cordic 0x434bfd07 cordic_calc_iq +EXPORT_SYMBOL lib/crc-ccitt 0x1a703ba1 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x6d356209 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x6c1f6fee crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/crc8 0xab9ad613 crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xd09b2cba crc8 +EXPORT_SYMBOL lib/crc8 0xd4534d80 crc8_populate_msb +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +EXPORT_SYMBOL lib/lru_cache 0x075ae742 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x34f238b1 lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x50918c7d lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x5fd8679a lc_reset +EXPORT_SYMBOL lib/lru_cache 0x6654ed27 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x801d1535 lc_put +EXPORT_SYMBOL lib/lru_cache 0x9d21be3c lc_destroy +EXPORT_SYMBOL lib/lru_cache 0xb4d2d41c lc_del +EXPORT_SYMBOL lib/lru_cache 0xb6f00823 lc_changed +EXPORT_SYMBOL lib/lru_cache 0xc8785d62 lc_get +EXPORT_SYMBOL lib/lru_cache 0xdcf40b82 lc_create +EXPORT_SYMBOL lib/lru_cache 0xe114c783 lc_set +EXPORT_SYMBOL lib/lru_cache 0xffb39656 lc_find +EXPORT_SYMBOL lib/lru_cache 0xffcf1714 lc_seq_printf_stats +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd9e91f83 raid6_vgfmul +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x315c65fd zlib_deflateInit2 +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x48034724 zlib_deflateReset +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xaf64ad0d zlib_deflate +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8022 0x0b37e4f0 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0x7c9a9988 register_8022_client +EXPORT_SYMBOL net/802/p8023 0x944911d4 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0xdec4c830 make_8023_client +EXPORT_SYMBOL net/802/psnap 0xb82fc882 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xb9f8637a unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x136037a0 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x16a10d45 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x183acbf5 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x21cd5f07 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x232910a5 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x3197fc3d p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x392113b9 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x3aeaa2d6 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x3c7abb36 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x5d28b915 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x654776c6 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x69c5e73b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x71b5e655 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7bf39f72 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x827bc0bb p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8300d2b1 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8a01d009 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x8b35c888 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8c423a00 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x934c49bb p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x93dc4bac v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x94512fc7 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x986d0da0 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x99ad8c6e p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa554ac5c p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xab89718c p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xac193146 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xaddbb035 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0xaebebf66 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xbbc4995b p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xbe4431e4 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xbed64852 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc9671d45 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xd19f83f2 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xdb27bdc2 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xde16c192 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xe097cf62 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xe1207ffc p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe9ecb91d p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xf167b9d6 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf4a45b2c v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xf59d7849 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfc08c017 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x27e46b65 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x5fcd63a7 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xb2082409 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xc547a293 atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x1cf13f9c register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2f35d298 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x4321bbc9 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x5757715a vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x5e1f15de atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x6d970f4f vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x79d2fa34 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x83bb1ead vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x86dc2327 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x8fdb9a8d atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x93136f41 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x9d82e725 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x9d887592 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xbc1bda39 atm_charge +EXPORT_SYMBOL net/atm/atm 0xed7e32c2 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x085eda4b ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x83a62c65 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x89c8249f ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xab24ccae ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xb8c0764f ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xbf07aa86 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc5f378f1 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xeb4e7074 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xf85ef1a5 ax25_linkfail_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0394816d hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x056e58d7 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x05aa9aef hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x079f02fa hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x08af8336 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0d057c66 hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0d77be31 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x17ecdfeb hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1a1a89e6 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x211d3c6f bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x222c47a8 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2aebca33 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x424410de hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x45226a4a bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4b324df5 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x67d5bb50 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6d30877e hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6e9b6c47 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x883da34e hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91935880 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x953c50d4 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9acb0ef9 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa74ff30e hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb135a98e bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb7721845 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbc5403fd bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0eda431 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc510d4cc hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc8e49948 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc9ab597d bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd1a42131 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdba4b5ae bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe05d71b2 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe65495e9 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xef59a2a3 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf51a7ce0 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfc6a766b hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfe842c17 hci_conn_hold_device +EXPORT_SYMBOL net/bridge/bridge 0x143a5b47 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xab718a73 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc03dc57b ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc86a8cc9 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x0b90f37b caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3d126a16 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x6a44fc70 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x7518dcda get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x89a38b7b caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x966d7de2 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xbf9183f1 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/can/can 0x2e01d651 can_send +EXPORT_SYMBOL net/can/can 0x6d2e92d7 can_rx_register +EXPORT_SYMBOL net/can/can 0xc7f6651d can_ioctl +EXPORT_SYMBOL net/can/can 0xe3942c56 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xf574e18a can_rx_unregister +EXPORT_SYMBOL net/can/can 0xf6ccc4cc can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x02c78d5f ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x07211258 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0b93e047 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x0d61c270 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1ee66c59 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x2b10d4ba ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x2e475fb1 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x30d1a9a5 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x3368642c ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x3550bad0 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x35e6b0fd ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x39eee65a ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x40e53b17 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4a283545 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x4af326a9 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x50741c09 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x56ec7bf5 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x570ceb67 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5a040f5e ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x5a6a29e8 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6667d027 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x69f35934 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x6ce25199 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x6f76aef2 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x7168baf8 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x77692acb ceph_msg_last_put +EXPORT_SYMBOL net/ceph/libceph 0x78569ae5 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x788410e0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x79f41bf4 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x81eae1b6 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x8246caba ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x845c60a8 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x84f62cf5 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x8a4c4475 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x9423da72 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x9a316c05 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x9c5c3e66 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa88cab53 ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xab63a2f9 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0xacd4c842 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0xafacd565 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb5d3d049 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb7418196 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xb955cca2 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbc6aa368 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xbcad8eb8 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc836954d ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xd0835e14 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xd1d0d4b4 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xdd23d920 ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0xed229339 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xf1c03941 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf5774cba ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xf6e315dd ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0xf7181257 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfba7c8cf ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xfedba2b6 ceph_open_session +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x214eb876 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x12504160 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x232170ae wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x278710a5 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3ea5894b wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x459a39d2 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4c009229 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x62f1ed32 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x774a7070 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb4329ac5 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xcf6e601e wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd64af4ec wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe8b7efa4 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xfad5e61d ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x6bf837a7 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x93b82396 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xc40641c1 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3fe410bf ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x71f59543 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xbea07388 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x34d01437 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x571340d0 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x85d78da5 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x85ec0fcb nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x93711375 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd871c499 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd8a7671f nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xab4e34b5 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xc1216b45 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x0acacb71 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x58e619b5 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x862e5ec3 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xe0d6f9c8 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0xac94e596 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xbd74c9a2 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x11ccb315 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xebcb35c7 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x0033e605 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x083a0b2d ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x61de2354 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x61e7b0a7 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x63627da3 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x75f60980 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x978a2649 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xcbe26f2a ircomm_open +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x09f58a8b hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x18bd0edf iriap_close +EXPORT_SYMBOL net/irda/irda 0x1b2b96c1 irlap_open +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x253a054d irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x26e6b539 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x328858a9 proc_irda +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3b6d5f65 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x3ba98173 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x42a9904d irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x4596cf46 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x52f03e22 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x5ba2a0d4 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x615ee918 irias_new_object +EXPORT_SYMBOL net/irda/irda 0x66ef7db3 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x6a8325fd irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x7203233c irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x76ef9f52 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7dabe31e hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x7fb81606 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x86b5f4ce hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x8b69b459 hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x8dfbc155 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa08425bd irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0xa173eca7 irttp_dup +EXPORT_SYMBOL net/irda/irda 0xa29106aa irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xa31c2656 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xa40cce6e irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xa4548c32 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0xaac9c86f irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xad66e1db hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xb69b554d iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0xb6f21986 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xb83001fb alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xc2257939 irlap_close +EXPORT_SYMBOL net/irda/irda 0xc310cf21 hashbin_new +EXPORT_SYMBOL net/irda/irda 0xcd9df36f async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xd1ae6745 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xd26ff925 iriap_open +EXPORT_SYMBOL net/irda/irda 0xd57045a8 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe6e18300 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf0677164 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0xfeaa5fdb irda_device_set_media_busy +EXPORT_SYMBOL net/l2tp/l2tp_core 0x704c1e9a l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x06e77ac1 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x2507c220 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x25a38a5b lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x65cd4bcd lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x817ae2ce lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x98be7e73 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xadc9cea2 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xb9fb429a lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x014ebef7 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x130ba789 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x3df6bdcf llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x497b444c llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x6c6cdb31 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xa2246920 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xd727df8b llc_add_pack +EXPORT_SYMBOL net/llc/llc 0xfcf34256 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/mac80211/mac80211 0x039d35c9 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x08d32eca ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x0b29599b ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x18fb9bb3 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x1ecc6acb ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x20ce6661 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x23191dd4 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x2470e820 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x33998b26 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x37e10868 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x394ff88d ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x3d099125 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x476fd8df ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x4819ad9c ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4e539943 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x4f23f33f ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x60bb9ad8 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6327523e ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6f0a9d69 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x6fee573c ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x74538ef7 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x77db39b7 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x7b6625b2 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x81f8b431 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x83703d09 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x84de28f5 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x918644d2 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x95ca5a98 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x96ab5a19 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x97c6b163 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x9d1c8749 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9e5f9c76 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xa34446fb ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa680f991 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa6a9fd4b ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa824414d __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xb8317319 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xb8f0fd26 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xc0b66794 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0xc20c43cd ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc440f81d ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xc45dd63b ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xcb2ae1e7 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xcee18b16 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xcf90d39d ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xd125d6ad ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xd39f5f26 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xd3f9aa2c ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xd716bfc4 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xdb0d0679 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe6e04b93 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe71ee590 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xec2f7d37 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xec9f7a04 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf020823c ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf696b902 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xf7b55fc6 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xf99dac9e ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xfae86dc4 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xfc463f03 ieee80211_rx +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1292b28f ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x20e56fb0 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x20f81cf9 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x33c7d38f ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x447c623e unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x526b913d register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5d9295a8 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x813a9866 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x92d227fa unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xaf9a8887 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcc6aa9c9 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xddcc1496 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfe3bf977 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xffbd56ae ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x5886dee6 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x5ae32d29 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xa5856cba __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x39e96762 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x02203cf6 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x03c0da12 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x1650c127 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x21cbe30b xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x23a857f5 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x253e8b44 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x3985bf00 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x3b9fe4b9 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd11c7f5b xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0xf03cda99 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xffbc2b1a xt_unregister_match +EXPORT_SYMBOL net/nfc/hci/hci 0x017fe5e3 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x1accb799 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x206edb6f nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x2814e31d nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x2c40d982 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x32ba300d nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x33fe5d88 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x348cbef4 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x349a0a7c nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x399cd4c2 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x4d939e33 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7876568d nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x8f62be75 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x975fa5ac nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xa9c14571 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xad1d5852 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0xbbf8fd54 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbf1b29b6 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xc6aaf499 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xd5cdee41 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xe1983ea4 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/nci/nci 0x29bf7869 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x3fd391c5 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xdb536cfe nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xe159106c nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xe79b0c08 nci_free_device +EXPORT_SYMBOL net/nfc/nfc 0x1cf1fc02 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x27c8bed2 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x4bafb5d0 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x50dd4e92 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x6f8aa674 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x9b4c4cb5 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xacb24c2e nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xbb559cac nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xe69f4a07 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xec1b3048 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xec62efcf nfc_allocate_device +EXPORT_SYMBOL net/phonet/phonet 0x24d20015 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x4982636f pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x61492017 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x84ff3887 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xa654d81a phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xb27894d1 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xfc1674a4 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xfc969cc7 phonet_header_ops +EXPORT_SYMBOL net/rds/rds 0x7505d413 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0ab5d5a0 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0ba9ddf4 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0e920ce6 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1bb5fc75 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x42713249 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x43511443 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x475de6e4 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6ad3065d rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8b0ea094 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8cef1313 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8f29beb5 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x99c25e13 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc1e07b5f rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe6aee710 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf22f55bd rxrpc_get_null_key +EXPORT_SYMBOL net/sctp/sctp 0xa73f26dc sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x56e51c5c svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x1e72ed89 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x301c419d wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x81961aac wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x04c38cd0 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x060b94e9 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x09e6d4f9 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0cfd55c5 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x1267f167 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x12842dbf cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x12c3b2da cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x17e65074 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1a32b451 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x2108c769 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x22a0d79e ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x2377e4bb cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3b0057fe wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x3b0ecae7 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x3e0820dc cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x414485f0 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x425fd136 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x42ff9d01 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x450bff9d cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x4db8c739 __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x50d9e8e0 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x5a5607d4 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5c0e8f43 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x603addec cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x63329500 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x642968d0 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x65562ce3 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x67fa5d90 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6a3dd7b5 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x6b39852a cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x745c675c ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x7bacc6f2 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x7c057386 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7f9749f6 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x80a8850e cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x80ae310b cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x85a3aa8a wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x8b28d342 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x8cba4b3e cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x954947d3 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x95f500d1 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x989bae15 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x9b1f22f2 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x9be4c8b0 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa78eea1f freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xafc629e9 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xb07f8566 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xb616d790 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xb90fd890 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xcbeac529 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xcf76a570 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xd2ca0021 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xdc6b3df0 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xdfe76500 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xe1130d1a wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0xe6932419 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xf12e98e9 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf3b07197 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xf651a0df cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf9dcd654 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfaa52c4e cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfd52ba12 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xfd5e645d cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xfedfddbd cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x302ee300 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x5b74180d lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x970ed97c lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xe5b3d7d0 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xee7811ba lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xf48ceeaa lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x343c806f ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xb53067ed snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4d54d7de snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4d7d69bf snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x701072ab snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7d924744 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xbc6040b4 snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xf2e6f39d snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf0a1fdb3 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x01b82065 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x0d2b74da snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x2ceec35d snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x668570c0 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7f92860c snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb494afee snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xc7b2b6c2 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe0a50454 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xf4ec32b0 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x037a89ef snd_device_register +EXPORT_SYMBOL sound/core/snd 0x068f912f snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x0b2613c4 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x0c6aa6a9 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x0d7ad2f6 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x17e56275 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x18ba8af4 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1c017b4c snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x262512c1 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x30be1703 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x30c7086d snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x329c9fbc snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x35a333ef snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3d841dbc snd_component_add +EXPORT_SYMBOL sound/core/snd 0x405e2828 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x419d5513 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x42c4b786 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0x44a59934 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x476149e0 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x479146bf snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x4c060a64 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x51ebdca5 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x54d1565c snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x68dc8093 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x6bc13db3 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x7c1d5fd5 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x85490ef5 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x88383085 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x8c8f118b snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x96a4a6ba snd_device_free +EXPORT_SYMBOL sound/core/snd 0x9bff717a _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9e71d1ec snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xa058d600 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xa78452ff snd_cards +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb6b00aa7 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xcafdb15f snd_card_create +EXPORT_SYMBOL sound/core/snd 0xcd11befd snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xd0c37e31 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xd44d4016 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xd4bb7358 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xd8ede5a0 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xd9ccaf66 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xda368b9f snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xe47b5b5f snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xe560c9cc snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xea8fe424 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xed46675f snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xeecfa240 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xf95208e2 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xfd169410 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0x5436c067 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x05a770ec snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x06b310c9 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x4bf311e1 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x53417de8 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5898dcba snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x7fb4b496 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xd7012d66 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0bb60b10 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x11fe76f2 snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x14dd6913 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x1844d20b _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x21ed010d snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x233be584 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x2fae19b0 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x358b5702 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3e51494a snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x41876705 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x424f85d1 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x42f0b6c4 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x46b3f938 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x56113492 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x689ebcde snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6ee0fe52 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x6faca7ab snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x71844f24 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x73338a43 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x73bb98e2 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x78e8a758 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x798dd05e snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x7a099ca7 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x8791d079 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x95384a23 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xa1f6a310 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa9adc229 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xb44d6696 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xb9ad3ed6 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xba09b270 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xbd03e7f1 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xbdcc6d54 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xc3867fa9 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xc7c3b846 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xc9fd12b4 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xcb9e43a0 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcbb05b6f snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xce146e50 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xdf5e80c0 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xe5501412 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe5ef3d5e snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xe70b9671 snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0xef2e3934 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf577a36b snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0xf964197e snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00a1f4a2 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x018ebbf8 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x05415418 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x08832bb3 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x16c04b60 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3491cf04 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3669917f snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3f1cc551 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x42f5d075 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x480627bf snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4f026b7f snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x73272ce5 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa8142673 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xad17ca09 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcab055d6 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe5f008b2 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xef858f60 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-timer 0x082cf57d snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x12365052 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x3dd3cad6 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x440ad020 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x5fe35dbe snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x632e1395 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x6a3014f8 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x8c8c0769 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xa5e3301c snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xdcdb0234 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xec4ff57e snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xf5cf0a59 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xf6fdd4a2 snd_timer_open +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x20f44d37 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x0cbd2192 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x377fca9f snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x39b0ec5c snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x81d658f8 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9f3d3a75 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa58edfac snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe006a780 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf71c2af1 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xfba1f57a snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x07760b54 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x28a1335a snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3ab72f3f snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3cc41e30 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x537e0cf2 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7f0d7bad snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc5ab7476 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xdcc68aac snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xea45c5dd snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0165446a iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1c7d80d2 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1cf978f0 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1fd51373 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2a7a5da6 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2d1803fc amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2e78d216 amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2f6975de cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3b65d0ad iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3b6edb4c fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3d8f7f4e amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4c99a6d3 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x68e9b38d amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7d8d643f fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x85674efd amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x898386ff amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x941e35c4 amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9e419906 amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa9a46786 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb0d0fd7d fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcdc7d4db amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd34b2214 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe1579c0c amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xeabdea2d fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf0769f83 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf463df6c cmp_connection_break +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1012f970 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x68132a2f snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x742728b2 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8c392339 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xde3e6000 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xede97fb4 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x03c0aca8 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x32d5536c snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x7d12feb4 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x922dad73 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x9f14db4e snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa1d9c9e9 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x3a3548c9 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x4b067acc snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7a00d16b snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xda027c19 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x6c53a348 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xdf54c7af snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x1d7b896c snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x291296a1 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x6a0845ff snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7de07d59 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xcd3ea272 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xf13097b7 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xfda44604 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0f24e76f snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x100d7ece snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x1d914cba snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5e4c5349 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd2cafe7f snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xdd8b60b8 snd_i2c_device_free +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x1a4a6f26 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x379bb31c snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x773c8e01 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x79045cc5 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xaea26076 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xaf6a9202 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xb5d6ef38 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xbb3d0fc5 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xbc1bf37e snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xfd6341d9 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x17b81468 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xbccfaa81 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc8292a62 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00ac57fc snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x02a640e0 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1a987be8 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1cd2d59d snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x26fb3024 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2c3891dc snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x340ed843 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x409bcc7d snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6a524368 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7ad5c58d snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x808934b8 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x81ede47e snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8263e15e snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x864955ac snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8b689ad1 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x98945307 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf3107170 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0x5185c33d hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x14e407b1 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x2add795d snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x53560225 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x5670b902 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x59fb8543 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x68d3b220 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xaf7153e6 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xcb4ee8dd snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xcc070b44 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x5328eec8 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x18ecc53b snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x564cf26d snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xdc347a89 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1139280b oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2e931f60 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x300bef10 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x31b0190c oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x42b45c55 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4abf4670 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x68681e6b oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6f9280b9 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7f4c960f oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x86cf23a3 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x89463258 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8fd461f9 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9fb97bae oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa19a364a oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa1cabbfe oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xacfb0045 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb76995d9 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc08c8c2d oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc5db3217 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcbcbd4d4 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xec6df725 oxygen_write_uart +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0f849fd7 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x360861cf snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x6de19620 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xbcfd3a68 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe4c75576 snd_trident_alloc_voice +EXPORT_SYMBOL sound/soundcore 0x41ae61c3 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x47878f24 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x48418d62 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x5e93357e register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe03dd981 sound_class +EXPORT_SYMBOL sound/soundcore 0xef824a8d register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x33246421 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x53ba436c snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x9d988df2 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd5ba3ba5 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xdfc8fd66 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xec7bb9ee snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0f8c554b snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x18d07444 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3df266ab snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x630d9d64 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7342902a snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7cefc60a __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9ca3b8e8 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xa28a80b4 snd_util_memhdr_free +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x2064089c snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x35c95b1b dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x69702644 dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x86e5acf9 dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x9d9e92f1 dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xa43471b6 dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xd55b290c dm_mem_cache_client_destroy +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x00188c51 vfs_read +EXPORT_SYMBOL vmlinux 0x00273866 compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0x003d6e32 blk_complete_request +EXPORT_SYMBOL vmlinux 0x00496949 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x00639a6e mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00d34a43 blk_delay_queue +EXPORT_SYMBOL vmlinux 0x00fce7a9 unlazy_fpu +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01093ca5 cpu_info +EXPORT_SYMBOL vmlinux 0x011e3a8a __invalidate_device +EXPORT_SYMBOL vmlinux 0x012e52e0 dquot_initialize +EXPORT_SYMBOL vmlinux 0x0130075d scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x01322328 build_skb +EXPORT_SYMBOL vmlinux 0x013378b7 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x015ddbdc wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01db3d5d __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x01f3ca42 pci_disable_device +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0220a1ec fget +EXPORT_SYMBOL vmlinux 0x0231d7b0 input_set_capability +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x023beb98 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x02892d7d dump_trace +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b782fa journal_forget +EXPORT_SYMBOL vmlinux 0x02c1756c xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x02d06208 seq_lseek +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037ca23f generic_delete_inode +EXPORT_SYMBOL vmlinux 0x0381b487 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x03838522 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x039c25d9 datagram_poll +EXPORT_SYMBOL vmlinux 0x03b509dc blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x03bb9584 mount_bdev +EXPORT_SYMBOL vmlinux 0x03bd3cc5 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c415ff vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0x03c5aa39 abort_creds +EXPORT_SYMBOL vmlinux 0x03dfb43a tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x03ebda85 dns_query +EXPORT_SYMBOL vmlinux 0x03ededb3 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0414fc4e pci_get_slot +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x0428d9ad module_refcount +EXPORT_SYMBOL vmlinux 0x043a0e7f backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045fa5a8 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x04696f8b inet_put_port +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0478184c remove_arg_zero +EXPORT_SYMBOL vmlinux 0x0481ed73 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04927208 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x04cbeb3c bio_init +EXPORT_SYMBOL vmlinux 0x04cf3323 netdev_update_features +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f0165a do_sync_read +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0537a4c3 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x0559af4c mdiobus_free +EXPORT_SYMBOL vmlinux 0x055c8559 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x058a6ca3 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x059349de scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x05acc377 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x05de20ee blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x05e73347 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x05fe7334 filemap_fault +EXPORT_SYMBOL vmlinux 0x060086c8 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x060593f1 __napi_schedule +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061869de ppp_input_error +EXPORT_SYMBOL vmlinux 0x061f4039 acpi_get_table_with_size +EXPORT_SYMBOL vmlinux 0x062501e2 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0640a934 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x0676f666 idr_destroy +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x06e73b17 noop_qdisc +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x07109fee inode_init_once +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x0728b707 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x076654dd register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x076a7ed1 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x078b6f70 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07ad92f9 complete_request_key +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d03172 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07efeadd __pci_register_driver +EXPORT_SYMBOL vmlinux 0x0808807a __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x080ad939 compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0x081cc117 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x08255652 get_write_access +EXPORT_SYMBOL vmlinux 0x08282c9c __lru_cache_add +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083a9218 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x08742338 netlink_set_err +EXPORT_SYMBOL vmlinux 0x087dce59 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x0880f36f pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x089059fd security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x0893fb22 tc_classify +EXPORT_SYMBOL vmlinux 0x0897287b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x089e5297 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x08acfe43 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x08b5fa80 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x08bf27d7 end_page_writeback +EXPORT_SYMBOL vmlinux 0x08c3a73c tcf_hash_release +EXPORT_SYMBOL vmlinux 0x08dca1cf __serio_register_port +EXPORT_SYMBOL vmlinux 0x08f64aa4 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x08fe29e5 ata_port_printk +EXPORT_SYMBOL vmlinux 0x09308484 idr_get_new +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x094eb403 vfs_rename +EXPORT_SYMBOL vmlinux 0x0964bcb2 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x09678c63 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x09749875 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x0975609d tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x098431ba acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x098b6dac proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x098fbb75 amd_iommu_domain_enable_v2 +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09d7915d elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x09db07bd textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09ee4e15 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x0a096863 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x0a19ef4b __netdev_printk +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a336899 vfs_write +EXPORT_SYMBOL vmlinux 0x0a5172fd splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x0a5dd1d2 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x0a6d5dd7 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x0ac22527 ip6_xmit +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b27290e elevator_exit +EXPORT_SYMBOL vmlinux 0x0b58cd1b bio_clone +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7864ef journal_init_inode +EXPORT_SYMBOL vmlinux 0x0ba9528f md_unregister_thread +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bfbb2d7 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x0c07f542 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x0c2c36f9 nf_log_register +EXPORT_SYMBOL vmlinux 0x0c2f3506 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x0c2ffad3 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x0c50c77d i2c_transfer +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c5e3c97 pci_dev_get +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c6fe830 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x0c835f8b x86_hyper_ms_hyperv +EXPORT_SYMBOL vmlinux 0x0c840c17 neigh_update +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c985965 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x0ca5156f ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb00333 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x0cd1bd89 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x0cd58278 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x0cdb83b2 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x0cf4fea4 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x0d14d1b5 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x0d234055 _dev_info +EXPORT_SYMBOL vmlinux 0x0d2466df __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d453a42 skb_split +EXPORT_SYMBOL vmlinux 0x0d503c7f tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x0d5149af set_pages_array_wc +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d652bb4 unregister_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x0d792a29 journal_extend +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dba7d0f jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x0e0454af napi_get_frags +EXPORT_SYMBOL vmlinux 0x0e50f58c i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x0e516df9 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x0e528655 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x0e55e2e2 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x0e69d063 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e83cb4b blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x0e849e7e scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x0e9d2069 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x0ed8cc7b acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x0eea75ce __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x0ef32669 set_pages_nx +EXPORT_SYMBOL vmlinux 0x0ef71da6 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x0f065589 alloc_pages_current +EXPORT_SYMBOL vmlinux 0x0f0efcda dev_mc_flush +EXPORT_SYMBOL vmlinux 0x0f140d00 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x0f477d43 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f4fdbc6 arp_create +EXPORT_SYMBOL vmlinux 0x0fae25ed input_close_device +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fdae5b3 scsi_register +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x10149d4f qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x101cb090 ps2_init +EXPORT_SYMBOL vmlinux 0x1038b781 sock_wfree +EXPORT_SYMBOL vmlinux 0x106d5aad bio_split +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x1088d836 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x1088fe64 fail_migrate_page +EXPORT_SYMBOL vmlinux 0x1094bf16 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x109ad570 scsi_host_put +EXPORT_SYMBOL vmlinux 0x10a16464 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x10d1dc83 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11263c3a dev_load +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x11412902 netdev_crit +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x117cd77e neigh_destroy +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11aa0261 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x11b11645 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x11b390d8 get_super_thawed +EXPORT_SYMBOL vmlinux 0x11bb9475 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x11d0ff80 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11f91fda pcim_iounmap +EXPORT_SYMBOL vmlinux 0x11fb8b79 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x11fc9a68 blk_rq_init +EXPORT_SYMBOL vmlinux 0x120ac431 fget_raw +EXPORT_SYMBOL vmlinux 0x120fcdf4 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x1218561b jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x12209b5a mntget +EXPORT_SYMBOL vmlinux 0x12381577 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x123e7104 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x124863bc blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x125a0db1 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x125f1b98 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x127493ba tcp_splice_read +EXPORT_SYMBOL vmlinux 0x127879de serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x128077ac skb_put +EXPORT_SYMBOL vmlinux 0x129de341 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12ab345e intel_gtt_insert_sg_entries_hsw +EXPORT_SYMBOL vmlinux 0x12c46cde flush_signals +EXPORT_SYMBOL vmlinux 0x12cadadf user_path_at +EXPORT_SYMBOL vmlinux 0x12dfeb12 vprintk_emit +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x1310c676 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x1311d227 dquot_destroy +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x13396625 inet_sendpage +EXPORT_SYMBOL vmlinux 0x1344c670 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x136b0bbf __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x136b4639 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x136bd177 phy_connect +EXPORT_SYMBOL vmlinux 0x1392244f noop_fsync +EXPORT_SYMBOL vmlinux 0x13a5fa12 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x13b65a01 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x14354089 vga_get +EXPORT_SYMBOL vmlinux 0x143b1e52 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x14c3d13f register_xen_selfballooning +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x150370d5 fb_get_mode +EXPORT_SYMBOL vmlinux 0x150389d6 acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0x15128ba5 kill_fasync +EXPORT_SYMBOL vmlinux 0x15147b8b dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x151a332e __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x154909b9 bmap +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x154e09a9 vc_resize +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x1568414a twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x156885a4 register_cdrom +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x15bbf35a skb_trim +EXPORT_SYMBOL vmlinux 0x15bbf3a8 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x1601faa0 elv_rb_add +EXPORT_SYMBOL vmlinux 0x1606bd6d cdev_init +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x1616b4e5 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163264d4 sock_create_lite +EXPORT_SYMBOL vmlinux 0x1635cdac dev_uc_init +EXPORT_SYMBOL vmlinux 0x1637ff0f _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x16566603 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x168208e0 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x168ecde4 ps2_end_command +EXPORT_SYMBOL vmlinux 0x168f1082 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x16bf926e netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x17144d59 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x171f355e send_sig_info +EXPORT_SYMBOL vmlinux 0x17226aa4 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x1735c3ed bio_copy_kern +EXPORT_SYMBOL vmlinux 0x1744af81 d_drop +EXPORT_SYMBOL vmlinux 0x1776370d ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x1776c040 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x17820213 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x178d3839 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x1790d76b _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x1791642d __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x1791765e d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x17a1ff4c __getblk +EXPORT_SYMBOL vmlinux 0x17b64d09 dqstats +EXPORT_SYMBOL vmlinux 0x17b862ad netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x18205aca pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x182fa99f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x182fae8b pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x188805f0 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x188dc2cd journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18b1a86e dev_alloc_name +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18bf73a8 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x18c32880 init_buffer +EXPORT_SYMBOL vmlinux 0x18cdc7b5 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x19012d79 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x19288fcb gen_pool_create +EXPORT_SYMBOL vmlinux 0x192f8a56 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x19444627 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0x19455448 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x196c59f9 ida_remove +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197f7874 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x198375a5 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x19889375 dquot_drop +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b17b3f lro_flush_all +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19cdbb71 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x19d27b12 pci_ltr_supported +EXPORT_SYMBOL vmlinux 0x1a224f77 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a5bb491 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a6ae859 set_create_files_as +EXPORT_SYMBOL vmlinux 0x1a6c9c89 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0x1a96cf64 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x1aaf1196 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x1ab50778 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad899ad alloc_disk_node +EXPORT_SYMBOL vmlinux 0x1ada776a nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x1ae14ef5 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b7e7f60 check_disk_change +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b97936a xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1babdb45 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x1bafc0d6 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x1bd2e227 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x1bdc26cf sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x1bdf69ee sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x1bf238d0 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x1bfc6c90 __bread +EXPORT_SYMBOL vmlinux 0x1c278aac file_open_root +EXPORT_SYMBOL vmlinux 0x1c2e11b9 __get_page_tail +EXPORT_SYMBOL vmlinux 0x1c406640 security_path_rename +EXPORT_SYMBOL vmlinux 0x1c5e29f4 sock_release +EXPORT_SYMBOL vmlinux 0x1c62700c init_net +EXPORT_SYMBOL vmlinux 0x1c71b983 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c8efb12 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x1c953ba0 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x1ca87b83 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd0db3c __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x1cee3dfd blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x1d068fa8 ata_print_version +EXPORT_SYMBOL vmlinux 0x1d26dbf2 cdev_del +EXPORT_SYMBOL vmlinux 0x1d5088c0 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x1d578ccf may_umount_tree +EXPORT_SYMBOL vmlinux 0x1d6dc282 dst_discard +EXPORT_SYMBOL vmlinux 0x1d8bc70b sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x1da5dfa9 sk_wait_data +EXPORT_SYMBOL vmlinux 0x1db190d0 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dbcb5fc sock_setsockopt +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dcf510a kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x1dd1f974 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e016c11 input_open_device +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e079cee xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e209259 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e4a17c6 scsi_execute +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ec1e4f1 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ecc66ab blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f0b02b7 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x1f192192 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x1f1f98ef block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x1f1fd97f simple_fill_super +EXPORT_SYMBOL vmlinux 0x1f34df23 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x1f4745a8 dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x1f9468ae pnp_get_resource +EXPORT_SYMBOL vmlinux 0x1f96b2d8 irq_to_desc +EXPORT_SYMBOL vmlinux 0x1fa21c02 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdb2f78 nf_log_packet +EXPORT_SYMBOL vmlinux 0x1fe23350 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x1fe84e12 stop_tty +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff60ca1 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005bb51 tty_mutex +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x20092385 acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x20425a0a setattr_copy +EXPORT_SYMBOL vmlinux 0x2067e50e netif_rx_ni +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20abc15b acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0x20af250f follow_up +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20d05654 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x210a2122 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x211767c7 ida_destroy +EXPORT_SYMBOL vmlinux 0x2119ba8b lookup_one_len +EXPORT_SYMBOL vmlinux 0x211f2fd0 tcp_child_process +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x216d1adc agp_bind_memory +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x21808176 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x2180dbed inet_add_protocol +EXPORT_SYMBOL vmlinux 0x21ab205d kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x21c71b74 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x21d7830f phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21f4c0a1 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x22004247 da903x_query_status +EXPORT_SYMBOL vmlinux 0x2204b718 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x22262277 input_free_device +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x225aaa4c block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x225d7b37 udp_seq_open +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22a4374b input_set_abs_params +EXPORT_SYMBOL vmlinux 0x22b10ab5 simple_readpage +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c6fe2d qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x22ec33d5 simple_rename +EXPORT_SYMBOL vmlinux 0x22fa7a50 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x22fd9ad0 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x230f120f do_sync_write +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x231f888c jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x234a7a1c kernel_getpeername +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x2359de41 get_super +EXPORT_SYMBOL vmlinux 0x235df95e neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x23787745 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x23a26651 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b318dc agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c18fd5 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x23c55f07 set_pages_x +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23f230c1 elv_rb_find +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240d3353 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x243c6ae9 key_invalidate +EXPORT_SYMBOL vmlinux 0x244259aa bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x24471ef9 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x2448f445 fb_pan_display +EXPORT_SYMBOL vmlinux 0x244f553b key_reject_and_link +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x246d95e6 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x24718d30 filemap_flush +EXPORT_SYMBOL vmlinux 0x2475ce79 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x24779fc4 clocksource_register +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x248b5438 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x2491147f block_write_full_page +EXPORT_SYMBOL vmlinux 0x24a30c19 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x24bd5795 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x24caa0ca ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x24dfe8fd xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250ad1a5 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x2511771d x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0x252471d5 __lock_page +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x2543ebda inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25a58218 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x25aeb2ce dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x25b2fdc9 generic_writepages +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25f4a479 inet6_release +EXPORT_SYMBOL vmlinux 0x260137b7 ht_create_irq +EXPORT_SYMBOL vmlinux 0x261de634 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x26303523 agp_enable +EXPORT_SYMBOL vmlinux 0x263122f8 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x26579475 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x2665d53a key_create_or_update +EXPORT_SYMBOL vmlinux 0x26705076 fb_set_var +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26b1bb91 generic_show_options +EXPORT_SYMBOL vmlinux 0x26b34c84 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x26b538d6 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26e78801 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x26f5ca55 input_register_handler +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x27277915 vm_stat +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x2735b741 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x2735c356 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x273b1533 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x2747a45b unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x277a3df1 devm_iounmap +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27ae7d0c ec_transaction +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27c33efe csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x27d02688 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x27ee4968 scsi_device_get +EXPORT_SYMBOL vmlinux 0x2802d553 tty_vhangup +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28187e2c tcf_hash_create +EXPORT_SYMBOL vmlinux 0x2829ac93 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x28318305 snprintf +EXPORT_SYMBOL vmlinux 0x28371b50 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x283dbea7 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x286ceedc vga_tryget +EXPORT_SYMBOL vmlinux 0x28805633 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28abfe6e scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x28cfa254 journal_destroy +EXPORT_SYMBOL vmlinux 0x28d3cdf1 set_user_nice +EXPORT_SYMBOL vmlinux 0x28ec4cd5 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x29096f7c phy_disconnect +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x292be38d input_event +EXPORT_SYMBOL vmlinux 0x293a7e73 inet_select_addr +EXPORT_SYMBOL vmlinux 0x29511eec d_obtain_alias +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x2974a052 input_allocate_device +EXPORT_SYMBOL vmlinux 0x29af7e52 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x29c3f259 skb_append +EXPORT_SYMBOL vmlinux 0x29c784aa unlock_rename +EXPORT_SYMBOL vmlinux 0x29ee9c03 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a313508 amd_iommu_complete_ppr +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a3b8b28 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x2a47e6cc log_wait_commit +EXPORT_SYMBOL vmlinux 0x2a4d077e __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x2a5f6cc0 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x2a6e6109 __init_rwsem +EXPORT_SYMBOL vmlinux 0x2aa6ef81 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x2af69082 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b0e63e3 seq_puts +EXPORT_SYMBOL vmlinux 0x2b261076 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b39e129 inet_release +EXPORT_SYMBOL vmlinux 0x2b51837e proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x2b534143 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x2b86ed17 sock_wake_async +EXPORT_SYMBOL vmlinux 0x2b9c7c41 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba6a50d qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb40ad7 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bbe3d89 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x2bbe6efa cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x2bbf3fc3 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x2bc30e2b tty_free_termios +EXPORT_SYMBOL vmlinux 0x2bc82919 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x2bcb7191 vc_cons +EXPORT_SYMBOL vmlinux 0x2bccd9be __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c26aca2 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x2c383eb8 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x2c3f954f poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x2c663733 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x2c6f6a32 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x2c734a36 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x2c85a051 __rta_fill +EXPORT_SYMBOL vmlinux 0x2cacf5cc ppp_unit_number +EXPORT_SYMBOL vmlinux 0x2cca3610 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x2ce1f5ea scm_fp_dup +EXPORT_SYMBOL vmlinux 0x2cf07c2d uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2d11b63d load_nls_default +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d22cc78 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x2d41a823 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x2d4ae727 __block_write_begin +EXPORT_SYMBOL vmlinux 0x2d617d98 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x2d6fe381 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x2d828646 request_key +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2da142ee sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x2db3fb46 __dev_printk +EXPORT_SYMBOL vmlinux 0x2db4c99b flush_delayed_work +EXPORT_SYMBOL vmlinux 0x2dbe51a5 ida_get_new +EXPORT_SYMBOL vmlinux 0x2dcd1378 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x2dcf5a98 __alloc_skb +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dd1e893 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x2de69598 mddev_congested +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2dff7202 blkdev_get +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e4561b9 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x2e4bda49 dquot_operations +EXPORT_SYMBOL vmlinux 0x2e5a704c udp_table +EXPORT_SYMBOL vmlinux 0x2e704157 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x2e80f587 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x2e82b443 scsi_get_command +EXPORT_SYMBOL vmlinux 0x2eab2808 __breadahead +EXPORT_SYMBOL vmlinux 0x2eb80079 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x2ebef8a8 blk_put_request +EXPORT_SYMBOL vmlinux 0x2ec5668d __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x2ed9f83c follow_down +EXPORT_SYMBOL vmlinux 0x2edb52b6 mmc_free_host +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2f0270b3 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f064b55 allocate_resource +EXPORT_SYMBOL vmlinux 0x2f06c094 block_truncate_page +EXPORT_SYMBOL vmlinux 0x2f1e4976 phy_start +EXPORT_SYMBOL vmlinux 0x2f278f87 mii_check_media +EXPORT_SYMBOL vmlinux 0x2f53fe42 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x2f61ee3b tcp_shutdown +EXPORT_SYMBOL vmlinux 0x2f6e7c1c put_io_context +EXPORT_SYMBOL vmlinux 0x2f76e18c vfs_symlink +EXPORT_SYMBOL vmlinux 0x2f780390 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x2fa14031 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x2fb3750c on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fc18e62 cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x2fd847bc scsi_device_put +EXPORT_SYMBOL vmlinux 0x2fdabeac __scm_send +EXPORT_SYMBOL vmlinux 0x2fe447ec scsi_remove_target +EXPORT_SYMBOL vmlinux 0x2ff063b5 acpi_get_name +EXPORT_SYMBOL vmlinux 0x301d3061 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x303989fb bdget_disk +EXPORT_SYMBOL vmlinux 0x307b62ac idr_replace +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30b7c3ec have_submounts +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30d1a623 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x30e56e14 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x3118388c aio_put_req +EXPORT_SYMBOL vmlinux 0x31189847 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x313c763f generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x313fe8f0 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x3176c400 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x317830a3 dma_set_mask +EXPORT_SYMBOL vmlinux 0x317e74b2 lock_super +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x319e0726 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x31a3c437 generic_make_request +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31e1b03f skb_free_datagram +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31f995ed pcim_enable_device +EXPORT_SYMBOL vmlinux 0x320fd058 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x322197e1 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x3223f180 tty_check_change +EXPORT_SYMBOL vmlinux 0x322c24c1 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x3230b1f7 del_gendisk +EXPORT_SYMBOL vmlinux 0x3242448e agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x32494791 skb_pad +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x32747a34 file_remove_suid +EXPORT_SYMBOL vmlinux 0x3278b925 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x32b278d9 journal_force_commit +EXPORT_SYMBOL vmlinux 0x32baaee8 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x32bb04e3 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x32debb16 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x32df1dd1 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x32e18bfe md_done_sync +EXPORT_SYMBOL vmlinux 0x32eeaded _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x32fd9064 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x3305e753 sg_miter_next +EXPORT_SYMBOL vmlinux 0x3313c72d inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x331711d2 tcf_register_action +EXPORT_SYMBOL vmlinux 0x331c2c88 I_BDEV +EXPORT_SYMBOL vmlinux 0x333cb37c __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x334dd27c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x33801f05 pci_get_class +EXPORT_SYMBOL vmlinux 0x338e89f3 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x33a3464c __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x33a843de swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x341cbed2 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x34339fd1 simple_getattr +EXPORT_SYMBOL vmlinux 0x3469b22c set_nlink +EXPORT_SYMBOL vmlinux 0x3469bb25 sock_no_poll +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349da488 single_open +EXPORT_SYMBOL vmlinux 0x34a90f63 inet6_getname +EXPORT_SYMBOL vmlinux 0x34a9c513 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x34c3edb9 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x34cd6266 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x34d01f8f sock_no_getname +EXPORT_SYMBOL vmlinux 0x34f387ab genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x352091e6 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x35225ea3 down_write_trylock +EXPORT_SYMBOL vmlinux 0x352948f0 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x35536dd9 inode_init_owner +EXPORT_SYMBOL vmlinux 0x3556e2d1 dev_mc_del +EXPORT_SYMBOL vmlinux 0x3567ec63 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x356a2d8c kill_litter_super +EXPORT_SYMBOL vmlinux 0x357311d5 free_netdev +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x35a05814 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x35a093aa mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x35b4192c locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35c78d72 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35d8cf8e blk_free_tags +EXPORT_SYMBOL vmlinux 0x35defc50 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x35e46cb8 pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x35f84dc5 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0x3607a3b5 add_disk +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3611a924 drop_super +EXPORT_SYMBOL vmlinux 0x3624d589 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x362e4a98 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x363f4ca1 dentry_open +EXPORT_SYMBOL vmlinux 0x364e11ae f_setown +EXPORT_SYMBOL vmlinux 0x3659fcac dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x369e1115 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x36e086df truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x36f76f0d pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x3701a196 csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37638a63 bdi_register +EXPORT_SYMBOL vmlinux 0x37784b10 sock_no_accept +EXPORT_SYMBOL vmlinux 0x378dabaf netif_receive_skb +EXPORT_SYMBOL vmlinux 0x378e7074 set_trace_device +EXPORT_SYMBOL vmlinux 0x37ae42be ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37f77990 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x37fcaf7d lock_sock_fast +EXPORT_SYMBOL vmlinux 0x3812a233 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x38146124 vmap +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x3858905b framebuffer_release +EXPORT_SYMBOL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x387f0387 user_revoke +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x389bfe0d rtc_lock +EXPORT_SYMBOL vmlinux 0x38a5078c request_key_async +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38aaee33 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x38d4b778 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x38d6774c mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x38d685b3 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x38e2fe72 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x38f486f5 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x390ae830 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x395c3eb9 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39a055f3 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x39bb372f dq_data_lock +EXPORT_SYMBOL vmlinux 0x39bb9469 ip_options_compile +EXPORT_SYMBOL vmlinux 0x39de5670 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x39e80131 mdiobus_register +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a17e5e4 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x3a20ff73 __crc32c_le +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a3c21b4 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x3a42b8de scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x3a4394f4 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x3a511f82 phy_attach +EXPORT_SYMBOL vmlinux 0x3a78c6da abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x3a7cb983 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aad87fd __destroy_inode +EXPORT_SYMBOL vmlinux 0x3af8c4f1 __page_symlink +EXPORT_SYMBOL vmlinux 0x3b0491ba dev_trans_start +EXPORT_SYMBOL vmlinux 0x3b123381 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b4ceb4a up_write +EXPORT_SYMBOL vmlinux 0x3b62de10 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x3b6ccf9a tty_shutdown +EXPORT_SYMBOL vmlinux 0x3b72fc98 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x3b7b22f0 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x3b92480d vfs_readlink +EXPORT_SYMBOL vmlinux 0x3b9c3f1e d_rehash +EXPORT_SYMBOL vmlinux 0x3ba086f3 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x3bc5c179 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x3bcbbb33 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x3bcc287d __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3be51bbd do_SAK +EXPORT_SYMBOL vmlinux 0x3beb690b lg_local_unlock +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c175953 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x3c3e7939 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x3c64db56 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3c9e620e scsi_init_io +EXPORT_SYMBOL vmlinux 0x3cab1548 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d004561 kill_block_super +EXPORT_SYMBOL vmlinux 0x3d1e8f21 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x3d2beb96 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x3d2c2886 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x3d3efcf2 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x3d5844b3 strnicmp +EXPORT_SYMBOL vmlinux 0x3d719745 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d7f1d7c ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x3d85bc81 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da25187 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x3dc6a9cd pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcbbdf2 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e18b1c5 __mutex_init +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e523867 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e99e5d2 security_path_mknod +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3eb91a31 kernel_bind +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ef087f4 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x3ef70f74 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f078f1b skb_copy_bits +EXPORT_SYMBOL vmlinux 0x3f0e7d5f skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x3f2f8905 revert_creds +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f71faa1 mempool_create +EXPORT_SYMBOL vmlinux 0x3f7aaa85 iunique +EXPORT_SYMBOL vmlinux 0x3fa1b3b2 node_data +EXPORT_SYMBOL vmlinux 0x3fc25bf7 kill_anon_super +EXPORT_SYMBOL vmlinux 0x3fdc6615 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x3fe484bc ip_getsockopt +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ffd9b1f dquot_quota_off +EXPORT_SYMBOL vmlinux 0x3ffecd05 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x401ce6b1 dump_write +EXPORT_SYMBOL vmlinux 0x40256835 complete_all +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x404280c9 dentry_unhash +EXPORT_SYMBOL vmlinux 0x40485fd6 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x407a5b05 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x4097fa45 acpi_read_bit_register +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409e0376 nf_register_hook +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x4108b9e8 dquot_acquire +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414a54eb rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41bd0534 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x421c23fd sk_stream_error +EXPORT_SYMBOL vmlinux 0x42251922 do_splice_direct +EXPORT_SYMBOL vmlinux 0x422bc60b pskb_expand_head +EXPORT_SYMBOL vmlinux 0x4245019f mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x425d4820 sk_free +EXPORT_SYMBOL vmlinux 0x4263b2df register_netdevice +EXPORT_SYMBOL vmlinux 0x4267975f generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x426e2f7d km_query +EXPORT_SYMBOL vmlinux 0x427a72f7 mmc_add_host +EXPORT_SYMBOL vmlinux 0x4287cc4c get_unmapped_area +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x42b0325e gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x42b8f763 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x42b99d40 make_EII_client +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42d5661f napi_gro_flush +EXPORT_SYMBOL vmlinux 0x42f6ec47 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4319d5b3 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x43261dca _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x436fe2b3 bio_map_kern +EXPORT_SYMBOL vmlinux 0x437520f6 __inet6_hash +EXPORT_SYMBOL vmlinux 0x43935f39 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43e35296 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x43e8cc45 nobh_write_end +EXPORT_SYMBOL vmlinux 0x43eafea8 ipv4_specific +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x43f43fa3 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x43fe21c1 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x4451d270 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x4473937c xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x44826798 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x448eac3e kmemdup +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a81d5f acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44ae6a91 pnp_start_dev +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44c0c420 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x44c6cf5c tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x44c9b498 aio_complete +EXPORT_SYMBOL vmlinux 0x44cc3fd5 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45025e34 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x45044497 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x45126ec9 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x4514a89a md_check_recovery +EXPORT_SYMBOL vmlinux 0x452c53c5 mpage_writepages +EXPORT_SYMBOL vmlinux 0x452ebe86 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x456a033e security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x456ca817 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45846617 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x4591a58b mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x45a3dc52 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45bf94c7 mmc_request_done +EXPORT_SYMBOL vmlinux 0x45cdb315 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45e414d8 register_con_driver +EXPORT_SYMBOL vmlinux 0x4605a23d ida_simple_get +EXPORT_SYMBOL vmlinux 0x46102531 ihold +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x4632e3d8 x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0x4639de56 sk_common_release +EXPORT_SYMBOL vmlinux 0x463e3478 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x46545187 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x465c9348 dev_addr_add +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467c126f put_tty_driver +EXPORT_SYMBOL vmlinux 0x467db63f journal_set_features +EXPORT_SYMBOL vmlinux 0x4694f406 pci_enable_obff +EXPORT_SYMBOL vmlinux 0x46b5021c cdrom_release +EXPORT_SYMBOL vmlinux 0x46b90d45 dev_addr_init +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46cc55b0 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x46ce3010 __devm_release_region +EXPORT_SYMBOL vmlinux 0x46cec970 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x46e28a8b tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x46e2ed97 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x46e81f4a swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x4712138a generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x472333be mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x4729c02d unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x4738982c skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x47432c00 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x4775df29 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x478cfadc block_write_begin +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a778c0 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x47b13abc registered_fb +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47c49a0f sock_no_bind +EXPORT_SYMBOL vmlinux 0x47c7b0d2 cpu_number +EXPORT_SYMBOL vmlinux 0x47e88658 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x47f067cb amd_iommu_unregister_ppr_notifier +EXPORT_SYMBOL vmlinux 0x47f8ba25 mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x480de5bf dev_uc_add +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4858dd10 serio_reconnect +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x487e0d34 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x48b90e60 elv_register_queue +EXPORT_SYMBOL vmlinux 0x48c5794d dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x48d2b151 padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x48f7e0fd generic_read_dir +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49142b1a arp_invalidate +EXPORT_SYMBOL vmlinux 0x493341df copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x496ad021 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x496e8cd5 journal_init_dev +EXPORT_SYMBOL vmlinux 0x4975097d xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x49adf220 __ps2_command +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49fa71e5 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x4a0edb4b tty_port_close +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a367be9 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x4a4226cc dev_addr_del +EXPORT_SYMBOL vmlinux 0x4a70131a block_write_end +EXPORT_SYMBOL vmlinux 0x4a88e061 pci_release_region +EXPORT_SYMBOL vmlinux 0x4a91ad3e scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x4aad52d7 mempool_free +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4adfc989 simple_release_fs +EXPORT_SYMBOL vmlinux 0x4af6a6ad fb_blank +EXPORT_SYMBOL vmlinux 0x4afc80aa dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b0560d1 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x4b06d2e7 complete +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b0e3647 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x4b4883c2 sock_create_kern +EXPORT_SYMBOL vmlinux 0x4b497689 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0x4b4faf16 default_llseek +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6debbd blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x4b987c2f dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x4ba5b3a4 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x4bd9125c path_put +EXPORT_SYMBOL vmlinux 0x4be7e3b5 seq_putc +EXPORT_SYMBOL vmlinux 0x4befd54d alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c3149ac filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x4c33f7e1 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x4c41e266 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x4c4fef19 kernel_stack +EXPORT_SYMBOL vmlinux 0x4c524bed ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x4c96cad3 security_path_chmod +EXPORT_SYMBOL vmlinux 0x4ca9669f scnprintf +EXPORT_SYMBOL vmlinux 0x4cbbc2db bioset_create +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cc9c5fb unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4cf5d90d __put_cred +EXPORT_SYMBOL vmlinux 0x4d0cf7d8 tcp_poll +EXPORT_SYMBOL vmlinux 0x4d1023f8 mempool_resize +EXPORT_SYMBOL vmlinux 0x4d372ee8 blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d78a962 amd_iommu_get_v2_domain +EXPORT_SYMBOL vmlinux 0x4d7edb61 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x4d8e7785 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dd26082 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x4de7c2fe amd_iommu_register_ppr_notifier +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4df77a24 update_region +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e21999c acpi_get_child +EXPORT_SYMBOL vmlinux 0x4e2b2e88 __pagevec_release +EXPORT_SYMBOL vmlinux 0x4e2dbd82 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x4e2ea8af ata_link_printk +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e6ccf2e set_device_ro +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e932956 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x4e946cc9 dcb_setapp +EXPORT_SYMBOL vmlinux 0x4e9627de request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4eed3468 dquot_file_open +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2d43e0 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f47f339 set_pages_wb +EXPORT_SYMBOL vmlinux 0x4f4935b7 pci_request_region +EXPORT_SYMBOL vmlinux 0x4f4cc7f9 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f6b400b _copy_from_user +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f784a33 phy_stop +EXPORT_SYMBOL vmlinux 0x4f8a777b neigh_parms_release +EXPORT_SYMBOL vmlinux 0x4f8b5ddb _copy_to_user +EXPORT_SYMBOL vmlinux 0x4fb27126 d_instantiate +EXPORT_SYMBOL vmlinux 0x4fb9bdf1 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ff921c4 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x4ffae367 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50529870 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x505530c0 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x50a90e8d bsearch +EXPORT_SYMBOL vmlinux 0x50a97fe9 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x50acc4b8 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x50b1c13a pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x50c1a4e6 __get_user_pages +EXPORT_SYMBOL vmlinux 0x50ce4800 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x50d2592d hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x50eb6f96 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x511ab427 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x512b7c7f proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x5134c417 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x5136eb2e proto_register +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5144e52a pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x5174eeac bio_copy_user +EXPORT_SYMBOL vmlinux 0x518e535b mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x51a9b8f6 follow_down_one +EXPORT_SYMBOL vmlinux 0x51cc17c4 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x51d0d952 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51ddb1ad add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52044b84 arp_tbl +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x520a1507 tcf_em_register +EXPORT_SYMBOL vmlinux 0x521164bd tty_set_operations +EXPORT_SYMBOL vmlinux 0x52130046 acpi_check_address_range +EXPORT_SYMBOL vmlinux 0x5216d0ff blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x523ce3b5 locks_init_lock +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x5258a9bd ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x525e026f acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0x52b4fc4a ps2_command +EXPORT_SYMBOL vmlinux 0x52b62e67 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x52b72470 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x5321b40c dev_set_mtu +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53335374 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x533dd594 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x5377dbc2 write_inode_now +EXPORT_SYMBOL vmlinux 0x5377e556 hex2bin +EXPORT_SYMBOL vmlinux 0x537afa8b mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x538a2067 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53bcb700 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x53f6ffbc wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x53f8b75c netlink_broadcast +EXPORT_SYMBOL vmlinux 0x541282ad touch_atime +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x54339441 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x543b83b0 bio_alloc +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x544c64ba scsi_finish_command +EXPORT_SYMBOL vmlinux 0x54554948 kobject_put +EXPORT_SYMBOL vmlinux 0x54568b75 register_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x5491ce07 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x5492e0f5 register_md_personality +EXPORT_SYMBOL vmlinux 0x54a8e933 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x552f2425 pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x554956e0 phy_print_status +EXPORT_SYMBOL vmlinux 0x554f6c59 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x5550bbdc dm_io +EXPORT_SYMBOL vmlinux 0x55666903 pid_task +EXPORT_SYMBOL vmlinux 0x55671680 lg_lock_init +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x55771879 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x557f4d45 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x5593a86e genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55f100e5 mpage_writepage +EXPORT_SYMBOL vmlinux 0x55f5019b __kmalloc_node +EXPORT_SYMBOL vmlinux 0x560212be blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x56031537 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x560c6a38 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x5611e23a __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x5675373f bio_put +EXPORT_SYMBOL vmlinux 0x5675f226 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x56802771 padata_alloc +EXPORT_SYMBOL vmlinux 0x5696f743 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d7bdc9 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x56dafde1 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x56f9f2df jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x571750ec bd_set_size +EXPORT_SYMBOL vmlinux 0x571ab46f current_task +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x576be864 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x577074f0 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x5772582a block_read_full_page +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57a6ccd0 down_read +EXPORT_SYMBOL vmlinux 0x57cea9ab tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x57d48e80 generic_getxattr +EXPORT_SYMBOL vmlinux 0x580b4d0c nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x580decac simple_write_end +EXPORT_SYMBOL vmlinux 0x581e92ca pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x5828a0ac i2c_master_send +EXPORT_SYMBOL vmlinux 0x583805d1 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58425343 pci_disable_obff +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x585d5275 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5860aad4 add_wait_queue +EXPORT_SYMBOL vmlinux 0x586103be acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x588e1ef5 backlight_device_register +EXPORT_SYMBOL vmlinux 0x58a2c366 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x591cd210 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x593483b3 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x596600a3 input_grab_device +EXPORT_SYMBOL vmlinux 0x5967c929 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x59759b2b vfsmount_lock +EXPORT_SYMBOL vmlinux 0x5984297f bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x59b206ca serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59bf1485 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x59ce0bb3 agp_find_bridge +EXPORT_SYMBOL vmlinux 0x59d1c91d __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a2c7c08 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x5a34a8a0 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a560c39 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a78ff44 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x5a7f68db lookup_hash +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5ab359bd sk_stop_timer +EXPORT_SYMBOL vmlinux 0x5ac200bf genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5ac74074 get_task_io_context +EXPORT_SYMBOL vmlinux 0x5ae4fa58 mutex_lock +EXPORT_SYMBOL vmlinux 0x5aeb145f complete_and_exit +EXPORT_SYMBOL vmlinux 0x5b140f2e tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x5b23f5b1 journal_stop +EXPORT_SYMBOL vmlinux 0x5b379399 __break_lease +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b6b3bf4 generic_removexattr +EXPORT_SYMBOL vmlinux 0x5b6c9815 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x5b7f714e scsi_device_resume +EXPORT_SYMBOL vmlinux 0x5b941cf3 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x5b9b1d6b find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x5b9e0b1a tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bc10524 printk_emit +EXPORT_SYMBOL vmlinux 0x5bc8580d pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x5bd48bc9 simple_setattr +EXPORT_SYMBOL vmlinux 0x5bec6aaa sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x5c111832 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x5c1cbbcd journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x5c1ffa10 mii_check_link +EXPORT_SYMBOL vmlinux 0x5c22aca7 security_path_link +EXPORT_SYMBOL vmlinux 0x5c340ab7 scsi_put_command +EXPORT_SYMBOL vmlinux 0x5c3edd59 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x5c40fc04 account_page_redirty +EXPORT_SYMBOL vmlinux 0x5c683878 devm_free_irq +EXPORT_SYMBOL vmlinux 0x5c7d04a1 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x5c8b5ce8 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x5c9ae0a9 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x5cf654fb nla_append +EXPORT_SYMBOL vmlinux 0x5cf74c50 bh_submit_read +EXPORT_SYMBOL vmlinux 0x5cfaa0b0 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d0b9931 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x5d3ebba2 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d61b0b4 netif_rx +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d928bd0 vfs_readv +EXPORT_SYMBOL vmlinux 0x5d9b6ae5 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x5db62ca8 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x5e0e193b buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x5e3090a8 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0x5e5104bd mdiobus_read +EXPORT_SYMBOL vmlinux 0x5e616e19 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e710d77 km_new_mapping +EXPORT_SYMBOL vmlinux 0x5e7e50e7 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x5e929aa3 netlink_ack +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ecd5a13 tty_write_room +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee2e031 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x5ee8e3e4 do_splice_from +EXPORT_SYMBOL vmlinux 0x5efd64d8 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f096599 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x5f1d4bae skb_copy_expand +EXPORT_SYMBOL vmlinux 0x5f3a568a tcp_connect +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f530e82 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f5f3a6d vfs_follow_link +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fb7b6af mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x5fb8c146 __d_drop +EXPORT_SYMBOL vmlinux 0x5fdbbb18 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x5fe63750 dm_register_target +EXPORT_SYMBOL vmlinux 0x5fe68b09 __nla_reserve +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x60015524 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601eb888 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x60317e73 read_cache_pages +EXPORT_SYMBOL vmlinux 0x603b856d netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x60444cf6 twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x604da168 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x609c2ac7 send_sig +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60aa431c skb_checksum_help +EXPORT_SYMBOL vmlinux 0x60b96d70 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x60e41ed4 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x60f21583 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x60f4a3b2 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x60f69309 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x614570f0 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x616a396e mmc_can_reset +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x619021de md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x619c427b cfb_imageblit +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61ce7263 fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x61d33b14 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x61ee9e8a security_path_mkdir +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6226b9fa machine_to_phys_mapping +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6232afbd pci_fixup_device +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62748e70 acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62ad5b41 mount_ns +EXPORT_SYMBOL vmlinux 0x62f67c61 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x62fae845 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6309a5fa udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x632faaec pci_release_regions +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x633ba0eb simple_rmdir +EXPORT_SYMBOL vmlinux 0x6344b092 bio_endio +EXPORT_SYMBOL vmlinux 0x63502ec8 simple_unlink +EXPORT_SYMBOL vmlinux 0x635694fa keyring_search +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x637d0bd1 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63c1e7dc padata_stop +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63fbbb6a inet_sendmsg +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x63fdcf92 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x641b73a1 cdrom_open +EXPORT_SYMBOL vmlinux 0x642b0f52 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x642c4a88 iterate_mounts +EXPORT_SYMBOL vmlinux 0x6430d514 skb_copy +EXPORT_SYMBOL vmlinux 0x6445ba83 bio_pair_release +EXPORT_SYMBOL vmlinux 0x6449fd41 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0x644cbf54 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64d1ae9e blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x64d793d3 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x64d91352 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x64e583f6 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x6521d6f0 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x653c8bac sk_dst_check +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x654c8bb8 skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x655f1ab0 set_memory_array_wc +EXPORT_SYMBOL vmlinux 0x65dcce24 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65f1ade0 inet_bind +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x65fef1f5 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x6600dc85 kill_pid +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x661a2e18 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x66223df2 dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x662e7a7b md_write_start +EXPORT_SYMBOL vmlinux 0x663eafd6 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x6644eeac ___pskb_trim +EXPORT_SYMBOL vmlinux 0x664ebac5 tty_throttle +EXPORT_SYMBOL vmlinux 0x6665d34b sock_no_mmap +EXPORT_SYMBOL vmlinux 0x6689d375 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66b74174 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x66c635e0 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x66ce79b5 put_disk +EXPORT_SYMBOL vmlinux 0x66fc6fbf scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x66fd286f pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x6711e26a inet_stream_ops +EXPORT_SYMBOL vmlinux 0x6729240e xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x673ace2c inc_nlink +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x67697cff freeze_super +EXPORT_SYMBOL vmlinux 0x676a3e6e clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x676c7038 journal_start_commit +EXPORT_SYMBOL vmlinux 0x678477e9 skb_pull +EXPORT_SYMBOL vmlinux 0x67a0306a percpu_counter_set +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67cf6577 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x67d396b0 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x67d78d03 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x67d9ac69 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x68033f8e dcache_dir_open +EXPORT_SYMBOL vmlinux 0x68093a17 skb_push +EXPORT_SYMBOL vmlinux 0x680d1d0f acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x68127cc2 genlmsg_put +EXPORT_SYMBOL vmlinux 0x6827ddb4 journal_start +EXPORT_SYMBOL vmlinux 0x6837985a dev_change_flags +EXPORT_SYMBOL vmlinux 0x68468017 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x6873cc0a inet_shutdown +EXPORT_SYMBOL vmlinux 0x687adcbf sget +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x688aed9e d_delete +EXPORT_SYMBOL vmlinux 0x68aca4ad down +EXPORT_SYMBOL vmlinux 0x68b0880c intel_gtt_get +EXPORT_SYMBOL vmlinux 0x68b2b4ce i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x690ff2c3 make_bad_inode +EXPORT_SYMBOL vmlinux 0x691001b5 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x69692309 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69799a13 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x6981d295 padata_add_cpu +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b2d061 is_container_init +EXPORT_SYMBOL vmlinux 0x69c1aee8 __pskb_copy +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69d7090b journal_update_format +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69e3019d xen_biovec_phys_mergeable +EXPORT_SYMBOL vmlinux 0x69fbc0a2 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a3f041a generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x6a409e74 dev_emerg +EXPORT_SYMBOL vmlinux 0x6a494b7b d_find_alias +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a6264a5 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad0f196 kfree_skb +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6adda60c sk_release_kernel +EXPORT_SYMBOL vmlinux 0x6ae1fb82 d_lookup +EXPORT_SYMBOL vmlinux 0x6ae6012f lease_modify +EXPORT_SYMBOL vmlinux 0x6aef76de __serio_register_driver +EXPORT_SYMBOL vmlinux 0x6af67b06 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x6b142f31 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x6b18994c jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b1eaff9 path_is_under +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b460967 idr_get_next +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b7fcc41 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x6ba2b7b2 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x6bb7e388 set_disk_ro +EXPORT_SYMBOL vmlinux 0x6bbf0244 skb_insert +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bddd39d neigh_table_clear +EXPORT_SYMBOL vmlinux 0x6c092126 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x6c1908d3 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x6c3766b5 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c4003cb jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x6c4530d9 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x6c5101d8 percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x6c590387 __blk_end_request +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c63a3fb blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c75c083 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x6c78fb43 tty_port_init +EXPORT_SYMBOL vmlinux 0x6c7c17d7 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x6c8d4312 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x6c90c86f sock_i_ino +EXPORT_SYMBOL vmlinux 0x6c9dce48 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x6cad3936 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x6cb4d293 __sock_create +EXPORT_SYMBOL vmlinux 0x6cb8d413 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x6cbaad76 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x6cc34a03 dcache_readdir +EXPORT_SYMBOL vmlinux 0x6cd3ec12 pci_clear_master +EXPORT_SYMBOL vmlinux 0x6d03362e ip6_frag_match +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d0aba34 wait_for_completion +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d334118 __get_user_8 +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d64acfd mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d8f59d9 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x6db29f39 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x6de9fc22 vfs_llseek +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e1c1207 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x6e2036d1 mii_link_ok +EXPORT_SYMBOL vmlinux 0x6e297a62 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e745cba neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x6e75e628 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea08fc2 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x6eda17b6 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x6f15b205 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f27df72 irq_set_chip +EXPORT_SYMBOL vmlinux 0x6f2e6f37 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x6f3e5fcd mount_nodev +EXPORT_SYMBOL vmlinux 0x6f445830 tty_register_device +EXPORT_SYMBOL vmlinux 0x6f4c812f __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd040ec generic_segment_checks +EXPORT_SYMBOL vmlinux 0x6fdfd7f8 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x6fe19f1e ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6ff7cdaa journal_check_used_features +EXPORT_SYMBOL vmlinux 0x700524ef ip_fragment +EXPORT_SYMBOL vmlinux 0x7016ab8c nla_put +EXPORT_SYMBOL vmlinux 0x702b6c54 udplite_table +EXPORT_SYMBOL vmlinux 0x703b4352 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x706263d1 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x708bedee register_key_type +EXPORT_SYMBOL vmlinux 0x70b55f09 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x70b67514 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x70b9f203 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70bd81db inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x70c55916 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d0ca9e tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70db9367 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x70ed0623 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714e93a2 cdev_alloc +EXPORT_SYMBOL vmlinux 0x716678a0 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71bce1a9 tcp_check_req +EXPORT_SYMBOL vmlinux 0x71e3cecb up +EXPORT_SYMBOL vmlinux 0x72022919 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x722ca2fe i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x722f0862 skb_clone +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x723540ce sockfd_lookup +EXPORT_SYMBOL vmlinux 0x724249a6 bdi_init +EXPORT_SYMBOL vmlinux 0x726320f3 kernel_accept +EXPORT_SYMBOL vmlinux 0x72677398 pci_match_id +EXPORT_SYMBOL vmlinux 0x726f205a cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x7282bc60 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x729c89e8 ip_defrag +EXPORT_SYMBOL vmlinux 0x72a98fdb copy_user_generic_unrolled +EXPORT_SYMBOL vmlinux 0x72a99d81 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c2686b thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x72d63b8e __brelse +EXPORT_SYMBOL vmlinux 0x72d805af alloc_file +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f6e0fe unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x73081c67 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x73179ebc pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x7376d9a2 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x73a3619a search_binary_handler +EXPORT_SYMBOL vmlinux 0x73a78bc4 downgrade_write +EXPORT_SYMBOL vmlinux 0x73ac6b24 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73ef4fa5 vfs_writev +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x7414a15c dcache_dir_close +EXPORT_SYMBOL vmlinux 0x742a0316 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x74304105 load_nls +EXPORT_SYMBOL vmlinux 0x743700ec generic_listxattr +EXPORT_SYMBOL vmlinux 0x7447b2ec blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x749c71b7 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x749f4165 irq_stat +EXPORT_SYMBOL vmlinux 0x74a85755 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x74afd960 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74fb6ff9 generic_setxattr +EXPORT_SYMBOL vmlinux 0x752a967c sock_register +EXPORT_SYMBOL vmlinux 0x7532588a alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754d539c strlen +EXPORT_SYMBOL vmlinux 0x7551debc panic_notifier_list +EXPORT_SYMBOL vmlinux 0x7561063d acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x756f7b1f posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x75a025d2 tcp_prot +EXPORT_SYMBOL vmlinux 0x75aa876d sock_no_listen +EXPORT_SYMBOL vmlinux 0x75b1f1fb kobject_get +EXPORT_SYMBOL vmlinux 0x75b35d7c max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x75b62805 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x75bc1574 security_path_symlink +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75fbdefd acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x7607003b input_set_keycode +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7628f3c7 this_cpu_off +EXPORT_SYMBOL vmlinux 0x763c1fa1 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x7646cd1b blk_end_request +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x7647c008 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x767dd8fd acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x76869ac8 rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x7693f901 uart_match_port +EXPORT_SYMBOL vmlinux 0x769d221b netdev_features_change +EXPORT_SYMBOL vmlinux 0x76b03053 dquot_release +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c54cc9 input_get_keycode +EXPORT_SYMBOL vmlinux 0x76ca6dc1 default_file_splice_read +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x7708e034 agp_backend_release +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77584af2 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x77688dc7 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x779a9770 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x77adcded agp_put_bridge +EXPORT_SYMBOL vmlinux 0x77ba54e8 create_proc_entry +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e2d096 blk_make_request +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f53abc acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x77fad0b4 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x78144e57 simple_link +EXPORT_SYMBOL vmlinux 0x7828374b dm_unregister_target +EXPORT_SYMBOL vmlinux 0x7829b721 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x78378c6a unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x783c7933 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x784876ac __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x785787cd clear_inode +EXPORT_SYMBOL vmlinux 0x78764f4e pv_irq_ops +EXPORT_SYMBOL vmlinux 0x7878b1f9 genl_register_ops +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x789bdca3 seq_printf +EXPORT_SYMBOL vmlinux 0x78a27d82 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x78a34139 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x78b66944 tty_kref_put +EXPORT_SYMBOL vmlinux 0x78bb3e24 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x78d5d031 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78eff02a scsi_add_device +EXPORT_SYMBOL vmlinux 0x78f4fd09 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x78fd7f3f xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x79144acb bio_sector_offset +EXPORT_SYMBOL vmlinux 0x791e1de2 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x796da6d5 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7976f918 mapping_tagged +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79945d9f proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x79a0ac64 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x79a38e61 ___ratelimit +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79bbbbae input_release_device +EXPORT_SYMBOL vmlinux 0x79dda91f alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x7a0cf1f9 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x7a122b2b abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a3ce280 dump_seek +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a532bbc bdi_destroy +EXPORT_SYMBOL vmlinux 0x7a7c655f nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x7a9ed429 __free_pages +EXPORT_SYMBOL vmlinux 0x7aa038aa write_one_page +EXPORT_SYMBOL vmlinux 0x7aa359c3 fb_class +EXPORT_SYMBOL vmlinux 0x7ab57e60 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7acb5471 ll_rw_block +EXPORT_SYMBOL vmlinux 0x7aebceec user_path_create +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7af1f33e dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b2112e0 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x7b2aef6c __krealloc +EXPORT_SYMBOL vmlinux 0x7b39676f release_sock +EXPORT_SYMBOL vmlinux 0x7b4d402e cad_pid +EXPORT_SYMBOL vmlinux 0x7b4e4b44 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b750405 dev_activate +EXPORT_SYMBOL vmlinux 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL vmlinux 0x7bb08eed find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x7bbb309c tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x7bd73ada dev_uc_flush +EXPORT_SYMBOL vmlinux 0x7bdd428c generic_write_sync +EXPORT_SYMBOL vmlinux 0x7c09d6fc pipe_to_file +EXPORT_SYMBOL vmlinux 0x7c12995d kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c26ecba tcp_close +EXPORT_SYMBOL vmlinux 0x7c2d098f krealloc +EXPORT_SYMBOL vmlinux 0x7c38f4d5 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x7c3ffe91 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c5299df tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x7c547a73 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x7c5c38eb rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c838f9a free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c98c76e agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x7ca46555 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x7ca811d1 noop_llseek +EXPORT_SYMBOL vmlinux 0x7caf40cb pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cedc658 idr_remove_all +EXPORT_SYMBOL vmlinux 0x7cf3a16b put_cmsg +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d227942 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x7d2dbc01 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x7d514b0e set_pages_uc +EXPORT_SYMBOL vmlinux 0x7d6895ad usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x7d79d3bb dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x7d822c47 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x7d82b1f9 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x7d8a2ff5 generic_readlink +EXPORT_SYMBOL vmlinux 0x7d94f746 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x7dbc2e57 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x7dd4b7c3 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7de349c7 genl_notify +EXPORT_SYMBOL vmlinux 0x7de75d38 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e035d83 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x7e11e053 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x7e21572f dev_mc_init +EXPORT_SYMBOL vmlinux 0x7e257ca5 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e42eb22 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x7e609939 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x7e66ab32 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x7e6a59c1 brioctl_set +EXPORT_SYMBOL vmlinux 0x7e6bbd62 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x7e830a50 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x7e8a0928 scsi_print_result +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7eaad10f journal_dirty_data +EXPORT_SYMBOL vmlinux 0x7ebc443f scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x7ec4edd5 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x7ec8f9a7 x86_hyper_vmware +EXPORT_SYMBOL vmlinux 0x7eccad70 tty_name +EXPORT_SYMBOL vmlinux 0x7ef4c58f redraw_screen +EXPORT_SYMBOL vmlinux 0x7f03f9dd xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x7f0dfa68 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x7f18b194 kacpi_hotplug_wq +EXPORT_SYMBOL vmlinux 0x7f18b27e find_get_page +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f51f2d3 d_genocide +EXPORT_SYMBOL vmlinux 0x7f58deba thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x7f658e80 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7f7cad66 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x7f8b6339 amd_iommu_flush_tlb +EXPORT_SYMBOL vmlinux 0x7f9a6932 bio_free +EXPORT_SYMBOL vmlinux 0x7fa84851 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x7fab3707 input_unregister_device +EXPORT_SYMBOL vmlinux 0x7fb18c2b mount_pseudo +EXPORT_SYMBOL vmlinux 0x7fe38f48 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x7ff0924a md_flush_request +EXPORT_SYMBOL vmlinux 0x7ff19226 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x7ffb787e i2c_master_recv +EXPORT_SYMBOL vmlinux 0x7ffea2d8 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x801aa593 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x8022fda1 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x8026f6e3 mmc_erase +EXPORT_SYMBOL vmlinux 0x802d0e93 crc32_le +EXPORT_SYMBOL vmlinux 0x8045f97f init_special_inode +EXPORT_SYMBOL vmlinux 0x80634931 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x80643439 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x8064e993 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x806955ee pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x809f7dae simple_write_begin +EXPORT_SYMBOL vmlinux 0x80a462b5 unlock_super +EXPORT_SYMBOL vmlinux 0x80cd27e2 dput +EXPORT_SYMBOL vmlinux 0x80e07abc seq_bitmap +EXPORT_SYMBOL vmlinux 0x81317c26 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x8136475f uart_update_timeout +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815e9c47 block_commit_write +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x81696541 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x817a0a6c kthread_bind +EXPORT_SYMBOL vmlinux 0x8183ce08 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x81a4103b udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x81a9d8be lock_rename +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81de08cd bdput +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81fb222e pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x829d4e08 rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x82a3dc33 amd_iommu_flush_page +EXPORT_SYMBOL vmlinux 0x82a54602 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x82a9eb6d __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82ce09fc scsi_scan_host +EXPORT_SYMBOL vmlinux 0x83076f96 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x833663eb qdisc_reset +EXPORT_SYMBOL vmlinux 0x833c03aa acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83a50bdc nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x83b1877c blk_end_request_all +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x84060081 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x84104a33 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x8417f512 acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0x841922fc intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x84553ffa __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x848ee70c idr_remove +EXPORT_SYMBOL vmlinux 0x849bfa2d nf_log_unregister +EXPORT_SYMBOL vmlinux 0x84a3e2cb __bforget +EXPORT_SYMBOL vmlinux 0x84a8f495 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x84ae99f4 vmtruncate +EXPORT_SYMBOL vmlinux 0x84b7fbb6 generic_fillattr +EXPORT_SYMBOL vmlinux 0x84c1d40d jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x84c2b2e3 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x84c475d1 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x84cff568 read_dev_sector +EXPORT_SYMBOL vmlinux 0x84d62433 nf_reinject +EXPORT_SYMBOL vmlinux 0x84d65f94 spi_dv_device +EXPORT_SYMBOL vmlinux 0x84ed0126 netdev_printk +EXPORT_SYMBOL vmlinux 0x84f3e542 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x84fa8f66 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x84fa9ecd bdi_unregister +EXPORT_SYMBOL vmlinux 0x850aa165 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x852c27b3 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x8552dad4 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x855329dc blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x8556df7a gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x85623250 skb_unlink +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85822d0d inode_dio_done +EXPORT_SYMBOL vmlinux 0x859463aa seq_release_private +EXPORT_SYMBOL vmlinux 0x8596184b eth_header_cache +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85d046f9 pci_enable_ltr +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85fd75fb seq_release +EXPORT_SYMBOL vmlinux 0x860e83d3 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x862542fc bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x86414607 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x86637de8 ilookup +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8694dd48 sock_init_data +EXPORT_SYMBOL vmlinux 0x86a2a81d qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x86b98441 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x86bfae20 acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x86d5255f _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x86de2e52 scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x86e2aef3 scsi_free_command +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872642cf generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x872b5c4b swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x87334d7d file_update_time +EXPORT_SYMBOL vmlinux 0x8742e6b9 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x876e2e78 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x87788a87 log_start_commit +EXPORT_SYMBOL vmlinux 0x878314a3 dquot_commit +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x878e6c1b inet6_ioctl +EXPORT_SYMBOL vmlinux 0x8797a791 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x879c3b3c sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b7ad60 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x87c58a96 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x87d884e6 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x87d8f540 mnt_unpin +EXPORT_SYMBOL vmlinux 0x87fafa91 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x87ff98e6 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x880f8bb2 do_splice_to +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x88129f86 misc_deregister +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x885a8f89 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x8875b179 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x88803099 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x888df05e mmc_can_discard +EXPORT_SYMBOL vmlinux 0x88970333 mount_single +EXPORT_SYMBOL vmlinux 0x889d6a3f register_console +EXPORT_SYMBOL vmlinux 0x88aba8ca sock_kfree_s +EXPORT_SYMBOL vmlinux 0x88b04e39 __register_nmi_handler +EXPORT_SYMBOL vmlinux 0x88c0912b submit_bh +EXPORT_SYMBOL vmlinux 0x88eb3b47 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x88f00d18 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x89276c38 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x892f70af mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x893468d3 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89834383 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x89891df0 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x89a3c89f find_lock_page +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a1ae636 mutex_trylock +EXPORT_SYMBOL vmlinux 0x8a3577ba jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a90a4d3 d_move +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa4cac3 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x8aa5b04c dev_err +EXPORT_SYMBOL vmlinux 0x8aa9e028 vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0x8aae575e bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x8ab0b2c2 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8acfdc2b invalidate_partition +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b2ec96a xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b50592a nf_getsockopt +EXPORT_SYMBOL vmlinux 0x8b50d6ab register_sysctl +EXPORT_SYMBOL vmlinux 0x8b54219c __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x8b5b44cc inet_register_protosw +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b6530c9 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x8b6c8638 __scm_destroy +EXPORT_SYMBOL vmlinux 0x8b7e2c57 ilookup5 +EXPORT_SYMBOL vmlinux 0x8b7f73c2 agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba09b10 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x8bcf5c9c eth_header_parse +EXPORT_SYMBOL vmlinux 0x8bea70f7 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x8bebbbd4 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c2a0d2d compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x8c7ffe62 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x8cb2adc3 idr_for_each +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cd51738 flush_old_exec +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8ce42312 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x8d003b52 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x8d27aba4 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x8d286fba padata_free +EXPORT_SYMBOL vmlinux 0x8d33489d filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x8d4153c7 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d605911 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x8d674127 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x8d6906d4 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x8d6a7916 find_inode_number +EXPORT_SYMBOL vmlinux 0x8d7dade0 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x8d8d26c0 inet_frags_init +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8da1a3cb acpi_remove_interface +EXPORT_SYMBOL vmlinux 0x8daf8c42 dql_init +EXPORT_SYMBOL vmlinux 0x8db32c11 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x8de4bd08 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x8de7a46a dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e151c40 setup_new_exec +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e34c382 netlink_unicast +EXPORT_SYMBOL vmlinux 0x8e36f763 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x8e46afd4 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x8e6d05c2 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x8e9bbb8e max8998_update_reg +EXPORT_SYMBOL vmlinux 0x8eabf5b6 names_cachep +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8eb7ddd5 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x8ede6778 vfs_fsync +EXPORT_SYMBOL vmlinux 0x8eef814b xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x8f0935fb inet_frag_find +EXPORT_SYMBOL vmlinux 0x8f1cf825 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f52a40d kobject_set_name +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fb323e0 __napi_complete +EXPORT_SYMBOL vmlinux 0x8fdc64a7 do_truncate +EXPORT_SYMBOL vmlinux 0x8ff605b2 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x90322c39 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x90485679 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x904a6f3e sock_rfree +EXPORT_SYMBOL vmlinux 0x904eab8f unregister_key_type +EXPORT_SYMBOL vmlinux 0x9062a86e blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x90819a30 release_pages +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90a91227 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x90abe3fa get_gendisk +EXPORT_SYMBOL vmlinux 0x90bd122d blk_peek_request +EXPORT_SYMBOL vmlinux 0x90db643d ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x90e5d0b8 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x90fbb566 phy_find_first +EXPORT_SYMBOL vmlinux 0x90fe1868 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x9105e3c3 clear_nlink +EXPORT_SYMBOL vmlinux 0x910cce51 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x91419e5d get_phy_device +EXPORT_SYMBOL vmlinux 0x9143ecbc tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x914d87b2 pci_restore_state +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x91723ce1 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x9197b6e0 pci_map_rom +EXPORT_SYMBOL vmlinux 0x91a3cdf4 down_timeout +EXPORT_SYMBOL vmlinux 0x91ac822f vscnprintf +EXPORT_SYMBOL vmlinux 0x91af8346 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x91b1c90e gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x91c1c1b6 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x91e0610d dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x91f65928 set_blocksize +EXPORT_SYMBOL vmlinux 0x92286e8e ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923e66bd nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x924b380a km_state_expired +EXPORT_SYMBOL vmlinux 0x924b6d3a xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x928b4b18 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x9297e8ae mutex_unlock +EXPORT_SYMBOL vmlinux 0x929f8ff5 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92afb45e phy_register_fixup +EXPORT_SYMBOL vmlinux 0x92cc153c udp_prot +EXPORT_SYMBOL vmlinux 0x92d75511 release_firmware +EXPORT_SYMBOL vmlinux 0x92d9adce pagecache_write_end +EXPORT_SYMBOL vmlinux 0x92e286e2 simple_statfs +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9324fb55 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x9327f5ce _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x93444ff2 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x935b9b27 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x939708e0 wake_up_process +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93befa3f try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93c9d092 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93d80e4b shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x93f3e52b acpi_extract_package +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x940edfb9 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x94182c5e netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0x945256af phy_device_free +EXPORT_SYMBOL vmlinux 0x945722eb bprm_change_interp +EXPORT_SYMBOL vmlinux 0x94716f51 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x94925cf4 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949a931e spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0x94aeec08 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x94cf417b i2c_del_driver +EXPORT_SYMBOL vmlinux 0x94e77b42 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x9518b623 register_shrinker +EXPORT_SYMBOL vmlinux 0x95207d46 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x9538611a mmc_resume_host +EXPORT_SYMBOL vmlinux 0x953879fa xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x9556cc4c disk_stack_limits +EXPORT_SYMBOL vmlinux 0x957f9287 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x958d7c88 dquot_transfer +EXPORT_SYMBOL vmlinux 0x959b8399 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x95a159a1 compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x95aa5f8a xfrm_register_type +EXPORT_SYMBOL vmlinux 0x95b791f1 amd_iommu_enable_device_erratum +EXPORT_SYMBOL vmlinux 0x95c076ff kill_pgrp +EXPORT_SYMBOL vmlinux 0x95c5afea i2c_release_client +EXPORT_SYMBOL vmlinux 0x95cf40af arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0x95f89a33 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x960619e6 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x9636996d bdevname +EXPORT_SYMBOL vmlinux 0x96383542 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x9650b3b0 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x965a6013 neigh_create +EXPORT_SYMBOL vmlinux 0x9665c92f padata_start +EXPORT_SYMBOL vmlinux 0x96700e97 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x967d712d ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x96876c69 __lock_buffer +EXPORT_SYMBOL vmlinux 0x9696f9bd pci_find_bus +EXPORT_SYMBOL vmlinux 0x969c0f35 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b92e3e pci_iounmap +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d8e4ae mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x96f513b8 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x97246869 skb_dequeue +EXPORT_SYMBOL vmlinux 0x9725b589 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x97386995 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x973d2c47 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9758ed4d blk_init_tags +EXPORT_SYMBOL vmlinux 0x97868aef __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x97893472 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x97992d36 seq_open_private +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97a0548f journal_get_create_access +EXPORT_SYMBOL vmlinux 0x97b0a09b d_add_ci +EXPORT_SYMBOL vmlinux 0x97cb1ecc pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x97d0752d scsi_scan_target +EXPORT_SYMBOL vmlinux 0x97dda425 __f_setown +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x97e4db62 dma_pool_create +EXPORT_SYMBOL vmlinux 0x98103485 mpage_readpages +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x982a3a90 tty_port_open +EXPORT_SYMBOL vmlinux 0x983604cf skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9870a1ad netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x9888449d jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x988dbda5 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98a24017 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x98bb7ca4 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x98d36d99 set_page_dirty +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x98fffdaa dev_printk +EXPORT_SYMBOL vmlinux 0x99195078 vsnprintf +EXPORT_SYMBOL vmlinux 0x992b13ae tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x999ea24e xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x99a2343b mnt_pin +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d3a43c dm_table_get_size +EXPORT_SYMBOL vmlinux 0x99ee399a __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x99f778cf pci_select_bars +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a3e1eef generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x9a537c99 idr_pre_get +EXPORT_SYMBOL vmlinux 0x9a57ea61 mmc_card_awake +EXPORT_SYMBOL vmlinux 0x9a5ffc64 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9a761620 vfs_getattr +EXPORT_SYMBOL vmlinux 0x9a7c952d iput +EXPORT_SYMBOL vmlinux 0x9ab2a7ab acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x9ab4e9cf sock_no_connect +EXPORT_SYMBOL vmlinux 0x9ab68978 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x9adb0e83 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x9ade10a9 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x9ae358bf inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x9af89f98 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9b0b53ff __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x9b12ed59 nonseekable_open +EXPORT_SYMBOL vmlinux 0x9b2a7b70 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x9b31a7a0 revalidate_disk +EXPORT_SYMBOL vmlinux 0x9b31c6ea mpage_readpage +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b614702 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x9b746011 inet_getname +EXPORT_SYMBOL vmlinux 0x9b75cb81 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x9b7a0503 amd_northbridges +EXPORT_SYMBOL vmlinux 0x9ba2d416 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bafd509 dev_driver_string +EXPORT_SYMBOL vmlinux 0x9bc98152 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x9bcde527 vfs_readdir +EXPORT_SYMBOL vmlinux 0x9c09478b inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x9c0a870d d_path +EXPORT_SYMBOL vmlinux 0x9c3d984b napi_gro_frags +EXPORT_SYMBOL vmlinux 0x9c46d06b gen_new_estimator +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c4f7941 pci_choose_state +EXPORT_SYMBOL vmlinux 0x9c5a73e9 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c8042db fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc21a49 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x9ccdfa43 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x9cf94d9e acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d1cdb86 scsi_print_command +EXPORT_SYMBOL vmlinux 0x9d31bd73 netdev_set_master +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d350119 bio_add_page +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d4a9875 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x9d66c0c6 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x9d66e261 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x9d6dbebd kobject_init +EXPORT_SYMBOL vmlinux 0x9d7a4287 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x9d7a4b3f spi_attach_transport +EXPORT_SYMBOL vmlinux 0x9dbc5359 keyring_clear +EXPORT_SYMBOL vmlinux 0x9dc5016f vm_map_ram +EXPORT_SYMBOL vmlinux 0x9dc7e179 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x9dd18216 udp_poll +EXPORT_SYMBOL vmlinux 0x9de3ca3c agp_unbind_memory +EXPORT_SYMBOL vmlinux 0x9ded188e kobject_del +EXPORT_SYMBOL vmlinux 0x9df757c7 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e279448 proc_symlink +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e3a9956 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x9e3cbaad led_brightness_set +EXPORT_SYMBOL vmlinux 0x9e43398b scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5f7d47 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e6166d6 open_exec +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e7884fe pci_enable_msix +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e7f9a45 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ea5a414 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x9eb8679e kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ebdf059 x86_hyper +EXPORT_SYMBOL vmlinux 0x9ee877a6 dev_mc_add +EXPORT_SYMBOL vmlinux 0x9f040797 __register_binfmt +EXPORT_SYMBOL vmlinux 0x9f17520c xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4f5f17 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x9f4facb6 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x9f6e19ab mem_section +EXPORT_SYMBOL vmlinux 0x9f74bff9 page_put_link +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9dcc74 register_gifconf +EXPORT_SYMBOL vmlinux 0x9fa21bab agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x9fb4bb56 neigh_lookup +EXPORT_SYMBOL vmlinux 0x9fd26095 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe81dc7 arp_find +EXPORT_SYMBOL vmlinux 0x9ff781bd unregister_md_personality +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa0259d99 dev_set_group +EXPORT_SYMBOL vmlinux 0xa025f21f scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xa0274cae zero_fill_bio +EXPORT_SYMBOL vmlinux 0xa03296cc blkdev_put +EXPORT_SYMBOL vmlinux 0xa03af22f ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xa041d14a tcp_make_synack +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07ab669 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa08275e4 nla_reserve +EXPORT_SYMBOL vmlinux 0xa092b46e inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xa0a6e853 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b9a805 inet_listen +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d6a99a pcim_pin_device +EXPORT_SYMBOL vmlinux 0xa0e1b61c neigh_for_each +EXPORT_SYMBOL vmlinux 0xa0f30472 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0ff74d6 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa109688a generic_ro_fops +EXPORT_SYMBOL vmlinux 0xa11eb8aa i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa1233a0c xfrm_lookup +EXPORT_SYMBOL vmlinux 0xa139da57 lro_receive_frags +EXPORT_SYMBOL vmlinux 0xa13c00cf abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa172222a kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0xa1810a68 generic_write_checks +EXPORT_SYMBOL vmlinux 0xa1b37377 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c31b55 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1c89b8b bio_integrity_advance +EXPORT_SYMBOL vmlinux 0xa1cb5a7f agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xa1e5302d path_get +EXPORT_SYMBOL vmlinux 0xa1f21e37 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xa202a8e5 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa20df7e9 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa26768e9 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa2fd05bc scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xa3030bf2 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xa30f9e1e ata_dev_printk +EXPORT_SYMBOL vmlinux 0xa31807da get_user_pages +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa340befd dma_async_device_register +EXPORT_SYMBOL vmlinux 0xa3473738 neigh_table_init +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa3861ec1 compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xa38a5d94 poll_initwait +EXPORT_SYMBOL vmlinux 0xa39cff96 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xa3a2bd36 fasync_helper +EXPORT_SYMBOL vmlinux 0xa3a608f5 find_or_create_page +EXPORT_SYMBOL vmlinux 0xa3a74331 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xa3a77c69 down_read_trylock +EXPORT_SYMBOL vmlinux 0xa3ad8880 dev_notice +EXPORT_SYMBOL vmlinux 0xa3caef5d tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xa3e462f6 dm_put_device +EXPORT_SYMBOL vmlinux 0xa3e77448 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xa3fc3d50 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xa400159f crc32_be +EXPORT_SYMBOL vmlinux 0xa407d714 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xa4358b9f lookup_bdev +EXPORT_SYMBOL vmlinux 0xa43985ff vfs_link +EXPORT_SYMBOL vmlinux 0xa44b1d55 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xa4511467 crc16 +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa4a6e527 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4e5c2b0 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xa4e7d0a4 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0xa51893de mempool_create_node +EXPORT_SYMBOL vmlinux 0xa519d4fa dqget +EXPORT_SYMBOL vmlinux 0xa51df2b4 down_killable +EXPORT_SYMBOL vmlinux 0xa5470e6a blk_init_queue +EXPORT_SYMBOL vmlinux 0xa564bc26 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xa56e56bc inode_init_always +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa58a3166 lg_local_lock +EXPORT_SYMBOL vmlinux 0xa58f4ed4 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a7ba32 dma_supported +EXPORT_SYMBOL vmlinux 0xa5b7944d dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xa5cfe753 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xa5e14f66 __nla_put +EXPORT_SYMBOL vmlinux 0xa5e4f65c __next_cpu_nr +EXPORT_SYMBOL vmlinux 0xa5f09d33 pci_iomap +EXPORT_SYMBOL vmlinux 0xa6128285 set_groups +EXPORT_SYMBOL vmlinux 0xa630b464 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa647c632 netif_napi_del +EXPORT_SYMBOL vmlinux 0xa659cf53 get_disk +EXPORT_SYMBOL vmlinux 0xa66de7c5 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6a4e89e set_bh_page +EXPORT_SYMBOL vmlinux 0xa6aacc8b xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xa6be758b nobh_writepage +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e0ee6e nf_hook_slow +EXPORT_SYMBOL vmlinux 0xa6ee51bd kernel_connect +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa7156d80 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xa726580f blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa72ef6e4 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xa7521356 wireless_send_event +EXPORT_SYMBOL vmlinux 0xa75814f4 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xa75b0681 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xa77c8098 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xa7aef580 request_firmware +EXPORT_SYMBOL vmlinux 0xa7cbfd0f elevator_init +EXPORT_SYMBOL vmlinux 0xa7d6c743 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xa804759b sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xa816c525 schedule_work_on +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8498376 give_up_console +EXPORT_SYMBOL vmlinux 0xa85d663c dqput +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8b2cb9c cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xa8b71590 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xa8c16cf3 module_layout +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8dd4b58 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xa8e47a53 compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0xa8e98f9f security_path_chown +EXPORT_SYMBOL vmlinux 0xa8f330aa i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa906dac6 simple_transaction_release +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa94c48ad vfs_open +EXPORT_SYMBOL vmlinux 0xa9665a51 blk_get_request +EXPORT_SYMBOL vmlinux 0xa96fe422 seq_write +EXPORT_SYMBOL vmlinux 0xa981e346 journal_wipe +EXPORT_SYMBOL vmlinux 0xa981fa2d iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xa9894592 udp_proc_register +EXPORT_SYMBOL vmlinux 0xa98ea32f skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xa9aecff9 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9c1b627 intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0xa9c22c00 d_alloc +EXPORT_SYMBOL vmlinux 0xa9cc83d5 input_register_handle +EXPORT_SYMBOL vmlinux 0xa9e80fb5 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0xa9f83c7e unregister_netdev +EXPORT_SYMBOL vmlinux 0xaa05f7bc pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xaa11517d kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xaa261f3b tcp_init_sock +EXPORT_SYMBOL vmlinux 0xaa643293 security_file_permission +EXPORT_SYMBOL vmlinux 0xaac0648d i8042_install_filter +EXPORT_SYMBOL vmlinux 0xaac3a25d udp_ioctl +EXPORT_SYMBOL vmlinux 0xaad6c978 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaaf84f8b rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab024fe8 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xab05c298 console_stop +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab2abddf dma_spin_lock +EXPORT_SYMBOL vmlinux 0xab347bd8 thaw_bdev +EXPORT_SYMBOL vmlinux 0xab3a48c4 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xab51d03d get_agp_version +EXPORT_SYMBOL vmlinux 0xab54bff9 register_exec_domain +EXPORT_SYMBOL vmlinux 0xab5bb057 __find_get_block +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab6ab057 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xaba60f3f skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xababd1ab agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xabbb301b insert_inode_locked +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabcb3292 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabe118cf call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0xabe3184d atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac41b7d9 __nlmsg_put +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac608055 idr_init +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac72457b __scsi_put_command +EXPORT_SYMBOL vmlinux 0xac795291 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xac8ab4eb fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xac91b704 force_sig +EXPORT_SYMBOL vmlinux 0xac948e74 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xac96ec0d clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xaca75ec0 tty_devnum +EXPORT_SYMBOL vmlinux 0xacba1150 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf64be6 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xad009cbc __kfree_skb +EXPORT_SYMBOL vmlinux 0xad01744f kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad164875 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xad184a7a iget_failed +EXPORT_SYMBOL vmlinux 0xad1eda56 amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0xad241f68 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xad2d0195 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xad334a4d vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xad3cdb2e d_find_any_alias +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad503138 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xad583761 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xad69a83c __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xad7fc36c max8925_reg_write +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad9ab8f9 __seq_open_private +EXPORT_SYMBOL vmlinux 0xad9bcc89 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xada09ceb pci_pme_capable +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadaabe1b pv_lock_ops +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadbf44b5 netif_device_detach +EXPORT_SYMBOL vmlinux 0xadc2ea7c padata_do_serial +EXPORT_SYMBOL vmlinux 0xadfe63d7 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xae0b5348 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xae2369f5 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xae306a35 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xae3675cc pnp_is_active +EXPORT_SYMBOL vmlinux 0xae5d41ac pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae83c10d unlock_buffer +EXPORT_SYMBOL vmlinux 0xaea8381e inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xaea976a8 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xaf288108 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xaf2e8cdb xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf611eac amd_nb_misc_ids +EXPORT_SYMBOL vmlinux 0xaf6ae696 kstrndup +EXPORT_SYMBOL vmlinux 0xaf75c85b pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xaf955580 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0xafae38f8 d_splice_alias +EXPORT_SYMBOL vmlinux 0xafb8c6ff copy_user_generic_string +EXPORT_SYMBOL vmlinux 0xafd4a254 fb_set_cmap +EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported +EXPORT_SYMBOL vmlinux 0xafe4a880 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xafe79c50 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xafea19dc devm_ioremap +EXPORT_SYMBOL vmlinux 0xafef8fa9 register_memory_notifier +EXPORT_SYMBOL vmlinux 0xb0001cf6 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xb04d220f tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xb0508c58 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb099b2d5 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xb0a0773d scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xb0a8fd0a intel_gtt_unmap_memory +EXPORT_SYMBOL vmlinux 0xb0b3182a sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0d53ab1 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xb0d785ab vfs_create +EXPORT_SYMBOL vmlinux 0xb0df134b follow_pfn +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e602eb memmove +EXPORT_SYMBOL vmlinux 0xb0f83dc9 fb_show_logo +EXPORT_SYMBOL vmlinux 0xb110bb35 unlock_page +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1214245 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xb128bafc d_invalidate +EXPORT_SYMBOL vmlinux 0xb138d0bf dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb13f1c4b set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xb13fb6aa security_inode_init_security +EXPORT_SYMBOL vmlinux 0xb15b206f journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb170896a cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xb1802cc2 journal_get_write_access +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1a46428 bio_phys_segments +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1e05bd2 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xb20ecf88 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xb211544c vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xb217eee9 inode_permission +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb2291ab4 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xb25219ac mmc_release_host +EXPORT_SYMBOL vmlinux 0xb2636707 __bio_clone +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2815bdf unregister_binfmt +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2bea055 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xb2c8274d new_inode +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2d41738 free_task +EXPORT_SYMBOL vmlinux 0xb2d4c1f1 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xb2e08e7b lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb3020642 vm_mmap +EXPORT_SYMBOL vmlinux 0xb31fd188 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb32ffc0d xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb34d61a1 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb358bb9b acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xb35fdff9 rtnl_notify +EXPORT_SYMBOL vmlinux 0xb36676dd pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xb36c7dda icmp_send +EXPORT_SYMBOL vmlinux 0xb3850e91 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xb394b2a3 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xb39bf648 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xb3d4be99 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xb3eec072 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xb3efa0c4 pci_disable_msi +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb43ae101 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb48120f0 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xb4ad84d4 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xb4b7b067 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xb4d826ab free_buffer_head +EXPORT_SYMBOL vmlinux 0xb4e4e971 genl_register_family +EXPORT_SYMBOL vmlinux 0xb4fb24ad i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xb506e62e uart_add_one_port +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb52f0827 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5685e93 seq_read +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5805b66 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xb5835a34 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5bd70d4 consume_skb +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d0220d twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xb5d08276 sk_filter +EXPORT_SYMBOL vmlinux 0xb5d32c4f inet_recvmsg +EXPORT_SYMBOL vmlinux 0xb5dcab5b remove_wait_queue +EXPORT_SYMBOL vmlinux 0xb5e9f57b pnp_register_driver +EXPORT_SYMBOL vmlinux 0xb6035a7b mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xb61bcf8b pci_set_power_state +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb6404223 pci_pme_active +EXPORT_SYMBOL vmlinux 0xb6436c44 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xb64ad67e kern_path_create +EXPORT_SYMBOL vmlinux 0xb65b940a lock_may_write +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67ed0f7 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb6a17cca con_is_bound +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b53048 blk_run_queue +EXPORT_SYMBOL vmlinux 0xb6bfe783 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6cbe886 acpi_get_node +EXPORT_SYMBOL vmlinux 0xb6f8dcd0 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xb6fad853 inet6_bind +EXPORT_SYMBOL vmlinux 0xb6fb5fc9 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xb71267cb pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0xb740bbe4 igrab +EXPORT_SYMBOL vmlinux 0xb753d142 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb75a9a21 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xb78272e7 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xb7a1f9d3 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xb7de184d file_sb_list_del +EXPORT_SYMBOL vmlinux 0xb7f47feb inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0xb800a342 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb883c63b poll_freewait +EXPORT_SYMBOL vmlinux 0xb89152a9 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xb89a28c8 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8a6de96 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xb8d34604 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8ea887f ps2_drain +EXPORT_SYMBOL vmlinux 0xb8f09767 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xb8f8a1af blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb91e3d1a sk_receive_skb +EXPORT_SYMBOL vmlinux 0xb9249d16 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xb9390220 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xb944a671 save_mount_options +EXPORT_SYMBOL vmlinux 0xb9470f16 security_inode_readlink +EXPORT_SYMBOL vmlinux 0xb948d3fd mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xb95fec99 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb995843a kernel_getsockname +EXPORT_SYMBOL vmlinux 0xb9b4e181 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0xb9d61067 sock_update_classid +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba0f97fe dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xba1c39da fddi_type_trans +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4ab1ef blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0xba63339c _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xba7d47c5 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xba7f8340 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xba81378b scsi_host_get +EXPORT_SYMBOL vmlinux 0xba96e21a scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xbaaf28ff pci_claim_resource +EXPORT_SYMBOL vmlinux 0xbab28af3 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xbaec7b91 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xbb091892 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb33f1ac inode_change_ok +EXPORT_SYMBOL vmlinux 0xbb34134a iov_shorten +EXPORT_SYMBOL vmlinux 0xbb3aedf6 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xbb41cdec mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb553131 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb64b815 bioset_free +EXPORT_SYMBOL vmlinux 0xbb6798c7 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xbb7f05b4 amd_iommu_device_info +EXPORT_SYMBOL vmlinux 0xbb85e242 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbb9bf327 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0xbba23cb0 cpu_core_map +EXPORT_SYMBOL vmlinux 0xbbaeb559 memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0xbbbc881b register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xbbc3f696 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xbbfb6bcb blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xbbfcaca5 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xbc03714a register_sysctl_table +EXPORT_SYMBOL vmlinux 0xbc04793a nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc2978e9 lg_global_lock +EXPORT_SYMBOL vmlinux 0xbc5f1eb1 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xbc723c14 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xbc7932e4 md_error +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbce10c38 journal_create +EXPORT_SYMBOL vmlinux 0xbcf81b4f jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xbd05f414 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xbd0af368 posix_lock_file +EXPORT_SYMBOL vmlinux 0xbd100793 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xbd3aed49 fput +EXPORT_SYMBOL vmlinux 0xbd44768d __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd650f78 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xbd7ebe64 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xbda8e7ee __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0xbdaf5b07 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdc89bea seq_escape +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdf71922 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xbdfcefbb ppp_input +EXPORT_SYMBOL vmlinux 0xbe18153d try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe29c0d3 page_symlink +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe32798e commit_creds +EXPORT_SYMBOL vmlinux 0xbe39f3f3 dev_close +EXPORT_SYMBOL vmlinux 0xbe694f19 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xbe83e4ff kset_unregister +EXPORT_SYMBOL vmlinux 0xbe8995dc security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xbe9df14e tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xbea7f40a dev_warn +EXPORT_SYMBOL vmlinux 0xbea7f452 migrate_page +EXPORT_SYMBOL vmlinux 0xbeb83495 filp_close +EXPORT_SYMBOL vmlinux 0xbec30d05 x86_match_cpu +EXPORT_SYMBOL vmlinux 0xbec4734c sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xbedfbd7e xfrm_register_km +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf146162 vm_event_states +EXPORT_SYMBOL vmlinux 0xbf3f40bb udp_disconnect +EXPORT_SYMBOL vmlinux 0xbf5b32fb blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xbf6a1110 md_write_end +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf8bbb28 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xbf8cb246 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfad53c9 pci_dev_put +EXPORT_SYMBOL vmlinux 0xbfb5e847 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfd2e798 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xbfe4784c efi +EXPORT_SYMBOL vmlinux 0xbfe84f07 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc0020fee set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xc00afb75 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xc01cf848 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xc0326da1 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xc0409e3e tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06b9b8c dma_find_channel +EXPORT_SYMBOL vmlinux 0xc06fc47f fd_install +EXPORT_SYMBOL vmlinux 0xc0756886 install_exec_creds +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc089894d frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0ac3407 security_inode_permission +EXPORT_SYMBOL vmlinux 0xc0bf1f5d skb_seq_read +EXPORT_SYMBOL vmlinux 0xc0e54fbb unlock_new_inode +EXPORT_SYMBOL vmlinux 0xc134a7c0 journal_restart +EXPORT_SYMBOL vmlinux 0xc15b0569 simple_empty +EXPORT_SYMBOL vmlinux 0xc16125dd unregister_console +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc18d6efa journal_abort +EXPORT_SYMBOL vmlinux 0xc18fbb4e __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xc1b6ca47 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1d7d179 blk_stack_limits +EXPORT_SYMBOL vmlinux 0xc1f70f09 skb_store_bits +EXPORT_SYMBOL vmlinux 0xc1fb8103 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xc2146aaa blk_stop_queue +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc23497f6 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a2d8ad mfd_add_devices +EXPORT_SYMBOL vmlinux 0xc2baf4cb km_report +EXPORT_SYMBOL vmlinux 0xc2d3acb8 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc32a0060 locks_delete_block +EXPORT_SYMBOL vmlinux 0xc334bca5 bdi_register_dev +EXPORT_SYMBOL vmlinux 0xc33f1d46 fsync_bdev +EXPORT_SYMBOL vmlinux 0xc3440c7b blk_execute_rq +EXPORT_SYMBOL vmlinux 0xc36bd534 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xc39015f0 register_qdisc +EXPORT_SYMBOL vmlinux 0xc390bc7c pci_assign_resource +EXPORT_SYMBOL vmlinux 0xc3a0174f cdrom_check_events +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3d0e45f dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xc3dea01c dquot_commit_info +EXPORT_SYMBOL vmlinux 0xc3e5b346 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xc3e8f91e journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xc3fc35f5 idr_find +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc4214858 posix_test_lock +EXPORT_SYMBOL vmlinux 0xc4269b86 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xc4534486 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xc4556ebd cdev_add +EXPORT_SYMBOL vmlinux 0xc46a6470 lock_fb_info +EXPORT_SYMBOL vmlinux 0xc470d9c3 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xc479e1a8 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc49cbdce amd_iommu_domain_set_gcr3 +EXPORT_SYMBOL vmlinux 0xc4b84360 eth_type_trans +EXPORT_SYMBOL vmlinux 0xc50bab05 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xc5189487 kdb_current_task +EXPORT_SYMBOL vmlinux 0xc5368bec journal_load +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc57a0cec max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xc5ac94d0 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e02d03 files_lglock +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5f72381 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xc618ba32 current_fs_time +EXPORT_SYMBOL vmlinux 0xc623dc1b tc_classify_compat +EXPORT_SYMBOL vmlinux 0xc626f455 blk_put_queue +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633f3aa task_nice +EXPORT_SYMBOL vmlinux 0xc63419e2 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xc63b445a blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc661aecb account_page_writeback +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc6773a0d kernel_listen +EXPORT_SYMBOL vmlinux 0xc6890ef3 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xc6a66180 rwsem_wake +EXPORT_SYMBOL vmlinux 0xc6a8baf0 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6fa2947 pci_find_capability +EXPORT_SYMBOL vmlinux 0xc6fd650f __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xc70168aa page_follow_link_light +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc71222d6 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc735392f d_make_root +EXPORT_SYMBOL vmlinux 0xc75032f7 dcb_getapp +EXPORT_SYMBOL vmlinux 0xc758c43b tty_unregister_device +EXPORT_SYMBOL vmlinux 0xc7667cbd padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0xc76b977f tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xc7715474 security_mmap_file +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc78dad59 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c820de blk_start_queue +EXPORT_SYMBOL vmlinux 0xc7cd58d4 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xc7e0bc06 agp_create_memory +EXPORT_SYMBOL vmlinux 0xc7e41c6c gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xc7e634a8 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0xc837e6d9 dst_alloc +EXPORT_SYMBOL vmlinux 0xc8450627 pci_request_regions +EXPORT_SYMBOL vmlinux 0xc8451022 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xc8478dcc ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc8571bd4 __module_get +EXPORT_SYMBOL vmlinux 0xc86c343c vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xc86f8097 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xc877ef7f xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8ace2a3 get_fs_type +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8b87627 dquot_enable +EXPORT_SYMBOL vmlinux 0xc8b87b17 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0xc8d4181e acpi_bus_add +EXPORT_SYMBOL vmlinux 0xc8d5ed4d tty_port_put +EXPORT_SYMBOL vmlinux 0xc8e2d37d phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xc8f4bec1 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xc90630c3 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xc92ae3c1 netdev_warn +EXPORT_SYMBOL vmlinux 0xc9721724 elv_rb_del +EXPORT_SYMBOL vmlinux 0xc978479a xz_dec_run +EXPORT_SYMBOL vmlinux 0xc98283df vfs_mknod +EXPORT_SYMBOL vmlinux 0xc98b3dfa filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xc992a1db balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e30d4 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9c9a52e redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xc9cee5e5 replace_mount_options +EXPORT_SYMBOL vmlinux 0xc9e86113 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xc9f2c07b mb_cache_create +EXPORT_SYMBOL vmlinux 0xc9ff8b2c __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xca1f768d neigh_direct_output +EXPORT_SYMBOL vmlinux 0xca394c70 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xca3ec697 journal_revoke +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xca8e748a tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xca982c52 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xcacf2256 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xcaebfec1 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0xcb02ec30 udplite_prot +EXPORT_SYMBOL vmlinux 0xcb4196c6 register_framebuffer +EXPORT_SYMBOL vmlinux 0xcb429ae3 alloc_disk +EXPORT_SYMBOL vmlinux 0xcb5d0719 arp_xmit +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb7a37aa input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xcb83ed56 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xcb84f894 register_quota_format +EXPORT_SYMBOL vmlinux 0xcb92e0a8 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcba5a460 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xcbba4e40 sk_run_filter +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbe65834 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xcbfd6958 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xcc110b9d tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc25ac4d genphy_suspend +EXPORT_SYMBOL vmlinux 0xcc3135cb set_anon_super +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc49ff22 cont_write_begin +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc573260 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xcc5bb17f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc9dc99e twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xccb3fa16 iget5_locked +EXPORT_SYMBOL vmlinux 0xccbfe027 phy_driver_register +EXPORT_SYMBOL vmlinux 0xccdce21a serio_rescan +EXPORT_SYMBOL vmlinux 0xcce5b3c7 journal_ack_err +EXPORT_SYMBOL vmlinux 0xccf06698 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xccf33366 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xcd0c1b6c input_register_device +EXPORT_SYMBOL vmlinux 0xcd20667a kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd2cefe8 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xcd3bc598 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xcd41e24d secpath_dup +EXPORT_SYMBOL vmlinux 0xcd4732ff skb_make_writable +EXPORT_SYMBOL vmlinux 0xcd62f786 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xcd7a2935 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xcd86cb26 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xcd929cb6 vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0xcd945790 journal_clear_err +EXPORT_SYMBOL vmlinux 0xcd9794f3 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xcd9fa409 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xcdaa57e5 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xcdb0842b ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdf372e5 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0xce11477c generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xce11908a key_put +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2171e0 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xce233ef4 textsearch_destroy +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce31f03e scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce61cc2d journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xce869823 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xceb46354 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xceb48c15 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xceb7a18e agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xcebf5956 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0xceded44c serio_close +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf093fba locks_free_lock +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf21d241 __wake_up +EXPORT_SYMBOL vmlinux 0xcf2f550c should_remove_suid +EXPORT_SYMBOL vmlinux 0xcf4ae583 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xcf585ab3 netdev_change_features +EXPORT_SYMBOL vmlinux 0xcf5c5695 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf749ef6 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xcf7fcd5f bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xcf919427 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0xcf95fa7b dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xcf9eea2c bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xcfa090e7 km_policy_expired +EXPORT_SYMBOL vmlinux 0xcfa182e5 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xcfa31bc0 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcfedb8fd pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xcff9f8d5 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd0298b8b proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xd0350ac9 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xd04aa967 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xd067fc5c proc_dointvec +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd075e73a agp_free_memory +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd084bece scsi_target_resume +EXPORT_SYMBOL vmlinux 0xd09c90fe skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xd0a0353d sock_map_fd +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b5153a pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xd0be5b14 dev_deactivate +EXPORT_SYMBOL vmlinux 0xd0d0aa72 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f04ceb elv_abort_queue +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd126c4e4 bdget +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd18d34ef crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xd1a459a5 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0xd1a7b70d console_start +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd21a4342 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd227892e sleep_on +EXPORT_SYMBOL vmlinux 0xd22f7d73 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xd232f4eb sync_blockdev +EXPORT_SYMBOL vmlinux 0xd236bcb0 __devm_request_region +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd264f331 md_register_thread +EXPORT_SYMBOL vmlinux 0xd265ea42 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xd294f52a mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2b09ce5 __kmalloc +EXPORT_SYMBOL vmlinux 0xd2c2ae7e register_netdev +EXPORT_SYMBOL vmlinux 0xd2c6090d __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xd2ca00a9 pci_bus_type +EXPORT_SYMBOL vmlinux 0xd2d23364 processors +EXPORT_SYMBOL vmlinux 0xd2f1b260 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xd30d7b8e net_dma_find_channel +EXPORT_SYMBOL vmlinux 0xd311cef7 lock_may_read +EXPORT_SYMBOL vmlinux 0xd34328d3 address_space_init_once +EXPORT_SYMBOL vmlinux 0xd34c5d8d iterate_supers_type +EXPORT_SYMBOL vmlinux 0xd3542ebc genl_register_mc_group +EXPORT_SYMBOL vmlinux 0xd35dcf32 simple_open +EXPORT_SYMBOL vmlinux 0xd35e249a _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xd36257ba memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0xd36335e4 agp_bridge +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd3a00bbe tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3e1e1ae pci_target_state +EXPORT_SYMBOL vmlinux 0xd3e35546 skb_queue_head +EXPORT_SYMBOL vmlinux 0xd3e6b7e3 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xd3fedfb0 vm_insert_page +EXPORT_SYMBOL vmlinux 0xd404e2e6 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xd4136616 vfs_unlink +EXPORT_SYMBOL vmlinux 0xd415111e free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xd41fb401 netdev_alert +EXPORT_SYMBOL vmlinux 0xd43aea43 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xd4927717 km_policy_notify +EXPORT_SYMBOL vmlinux 0xd493d28b phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd4afb7f2 security_path_truncate +EXPORT_SYMBOL vmlinux 0xd4ba64aa max8925_reg_read +EXPORT_SYMBOL vmlinux 0xd5084e66 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd51db73f alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xd51e4c9c sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xd52bf1ce _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xd54793d6 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xd570ead6 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xd57f6bfa pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xd5886f11 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd5f85db7 d_alloc_name +EXPORT_SYMBOL vmlinux 0xd5fb830a register_nls +EXPORT_SYMBOL vmlinux 0xd611bca3 completion_done +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd6173df4 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xd618bd00 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd62e0c7b security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xd631e110 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd64be5ee tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xd65e8a05 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xd66c9561 mdiobus_write +EXPORT_SYMBOL vmlinux 0xd677ec0a d_validate +EXPORT_SYMBOL vmlinux 0xd69cea9d swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xd6a34aa8 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xd6afa275 dev_alert +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6c63187 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xd6c7c88b iget_locked +EXPORT_SYMBOL vmlinux 0xd6d6de36 agp_copy_info +EXPORT_SYMBOL vmlinux 0xd6e0a49a alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd7177473 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xd72b7472 padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0xd732bed4 cap_mmap_file +EXPORT_SYMBOL vmlinux 0xd73d643f security_path_unlink +EXPORT_SYMBOL vmlinux 0xd743ee6f kernel_read +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd77f55fb sk_reset_timer +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79f9277 mntput +EXPORT_SYMBOL vmlinux 0xd7cbddda memcpy_toiovec +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e4b5e7 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ed9905 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0xd805a015 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xd81a014d netdev_err +EXPORT_SYMBOL vmlinux 0xd848a8ca led_blink_set +EXPORT_SYMBOL vmlinux 0xd85bb323 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8ac2b3e pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xd8bbba57 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xd8e43cd2 dmam_pool_create +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8e5c06f ab3100_event_register +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd91c129b dev_add_pack +EXPORT_SYMBOL vmlinux 0xd91ea38c x86_hyper_xen_hvm +EXPORT_SYMBOL vmlinux 0xd92889f0 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92e16ba csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0xd94322e7 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xd94743ef node_states +EXPORT_SYMBOL vmlinux 0xd968dadb udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xd969b2c7 amd_e400_c1e_detected +EXPORT_SYMBOL vmlinux 0xd9725a6e acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd97e99fb mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xd985c0ed empty_aops +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd986dad1 kernel_fpu_begin +EXPORT_SYMBOL vmlinux 0xd989743d dget_parent +EXPORT_SYMBOL vmlinux 0xd98db52d tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xd9985f9d km_state_notify +EXPORT_SYMBOL vmlinux 0xd99ebc97 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xd9f944ac inet_ioctl +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda26994d elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0xda2d560c kthread_stop +EXPORT_SYMBOL vmlinux 0xda3ce11a textsearch_register +EXPORT_SYMBOL vmlinux 0xda61afd0 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda879602 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8f05ce find_vma +EXPORT_SYMBOL vmlinux 0xda94d3cd try_to_release_page +EXPORT_SYMBOL vmlinux 0xdab3250c vga_client_register +EXPORT_SYMBOL vmlinux 0xdaea6e0d mfd_clone_cell +EXPORT_SYMBOL vmlinux 0xdaf89682 destroy_EII_client +EXPORT_SYMBOL vmlinux 0xdb032282 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xdb1f4867 init_task +EXPORT_SYMBOL vmlinux 0xdb531f6e register_filesystem +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb7df059 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xdb91aa8b inet_addr_type +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdb9f7497 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbe58204 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc0ed5c3 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc27f923 netdev_notice +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3e2678 mount_subtree +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc47ee14 unregister_nls +EXPORT_SYMBOL vmlinux 0xdc489014 napi_frags_finish +EXPORT_SYMBOL vmlinux 0xdc4f651f seq_open +EXPORT_SYMBOL vmlinux 0xdc510011 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xdc57f532 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xdc606fae pnp_possible_config +EXPORT_SYMBOL vmlinux 0xdc60a54e dquot_alloc +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc80583c mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0xdc877fd1 __quota_error +EXPORT_SYMBOL vmlinux 0xdc8d1dde _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0xdc99d73c acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xdca40157 blk_sync_queue +EXPORT_SYMBOL vmlinux 0xdca842d9 mmc_start_req +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdd11f64d __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xdd14151f input_flush_device +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd20da86 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xdd2a76fc phy_detach +EXPORT_SYMBOL vmlinux 0xdd4153a2 kern_path +EXPORT_SYMBOL vmlinux 0xdd4506bd single_release +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd66be2a generic_setlease +EXPORT_SYMBOL vmlinux 0xdd939904 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xdd950c2c kill_bdev +EXPORT_SYMBOL vmlinux 0xdd9e7ec7 __register_chrdev +EXPORT_SYMBOL vmlinux 0xddb88a48 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xddbe3af1 elv_add_request +EXPORT_SYMBOL vmlinux 0xddcb48d2 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0xddcf0c2a mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xddf24b07 kernel_sendpage +EXPORT_SYMBOL vmlinux 0xde16dc16 tboot +EXPORT_SYMBOL vmlinux 0xde267b0c simple_lookup +EXPORT_SYMBOL vmlinux 0xde2f561a scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xde5fc6b8 dev_open +EXPORT_SYMBOL vmlinux 0xde6151db tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xde80ff5c compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xde8c9f51 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xde90a1ec __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdec4d2fc in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xdef1bd50 n_tty_compat_ioctl_helper +EXPORT_SYMBOL vmlinux 0xdefe34d6 __frontswap_store +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf109454 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0xdf36a09b bio_unmap_user +EXPORT_SYMBOL vmlinux 0xdf3c14ad ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf4fbddd pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf688452 generic_permission +EXPORT_SYMBOL vmlinux 0xdf7a7b14 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xdf7a83c0 netif_skb_features +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfe4617f skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xdfea2ba3 sock_create +EXPORT_SYMBOL vmlinux 0xdff664ae padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0xe01c42f3 skb_gso_segment +EXPORT_SYMBOL vmlinux 0xe04e1694 netdev_emerg +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe059f9e4 uart_resume_port +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe0668750 dst_release +EXPORT_SYMBOL vmlinux 0xe06e4199 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe09c9420 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xe0a61271 blk_start_request +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b17020 gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0xe0c3d1c6 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0xe0ce5eaa xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xe10a91c9 sg_miter_start +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe1407c94 __netif_schedule +EXPORT_SYMBOL vmlinux 0xe147d78e seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xe148b78e grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xe148f9dc lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xe14a2ffb get_io_context +EXPORT_SYMBOL vmlinux 0xe14ce024 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xe14eb932 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xe14ffacd __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0xe15f42bb _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe192ed00 gen_pool_free +EXPORT_SYMBOL vmlinux 0xe196fa53 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xe1d4209a sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe20d9a5b blk_get_queue +EXPORT_SYMBOL vmlinux 0xe213b160 i2c_register_driver +EXPORT_SYMBOL vmlinux 0xe2388928 agp_free_page_array +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe240625b cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe24daa0e usb_set_transceiver +EXPORT_SYMBOL vmlinux 0xe24e7a43 __dst_free +EXPORT_SYMBOL vmlinux 0xe28af57f pci_set_master +EXPORT_SYMBOL vmlinux 0xe29b04e9 acpi_set_firmware_waking_vector64 +EXPORT_SYMBOL vmlinux 0xe2b3d033 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xe2c40a34 netif_device_attach +EXPORT_SYMBOL vmlinux 0xe2cfb038 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xe2d089af amd_iommu_domain_clear_gcr3 +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2f58487 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xe31603e5 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xe319eb24 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xe3942af8 prepare_binprm +EXPORT_SYMBOL vmlinux 0xe3a53f4c sort +EXPORT_SYMBOL vmlinux 0xe3b370c8 dev_uc_del +EXPORT_SYMBOL vmlinux 0xe3c1cf2b gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xe3ce71b1 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3e12008 __first_cpu +EXPORT_SYMBOL vmlinux 0xe3e5d565 pci_enable_device +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe4320014 key_link +EXPORT_SYMBOL vmlinux 0xe43ae0b1 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xe4499b8f skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xe44eb294 simple_transaction_read +EXPORT_SYMBOL vmlinux 0xe457b098 vfs_statfs +EXPORT_SYMBOL vmlinux 0xe4760676 icmpv6_send +EXPORT_SYMBOL vmlinux 0xe47d5f2a acpi_bus_start +EXPORT_SYMBOL vmlinux 0xe482b5d7 set_pages_array_wb +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4bc6174 rename_lock +EXPORT_SYMBOL vmlinux 0xe4d85c1d ida_pre_get +EXPORT_SYMBOL vmlinux 0xe4e5af90 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe512b72d kick_iocb +EXPORT_SYMBOL vmlinux 0xe5178b3d __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52947e7 __phys_addr +EXPORT_SYMBOL vmlinux 0xe52bf0d2 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xe530d757 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xe53401d5 serio_open +EXPORT_SYMBOL vmlinux 0xe5368d59 __ht_create_irq +EXPORT_SYMBOL vmlinux 0xe557f899 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xe55b5926 genphy_resume +EXPORT_SYMBOL vmlinux 0xe55ba6ff pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xe55cc200 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xe576a7f5 pci_save_state +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58bc41d input_inject_event +EXPORT_SYMBOL vmlinux 0xe5bec95c i8253_lock +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5cf9149 sk_alloc +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5e0492e dm_get_device +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe612e8b3 pci_biosrom_size +EXPORT_SYMBOL vmlinux 0xe61425b2 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0xe61b530d generic_file_open +EXPORT_SYMBOL vmlinux 0xe6286d35 dev_get_stats +EXPORT_SYMBOL vmlinux 0xe6400f22 netpoll_setup +EXPORT_SYMBOL vmlinux 0xe660bd22 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xe67baa3f vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6a0fcdd jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xe6a3718a flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xe6b3288e elevator_change +EXPORT_SYMBOL vmlinux 0xe6cdc485 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xe6d154e8 fb_find_mode +EXPORT_SYMBOL vmlinux 0xe6e3b875 down_write +EXPORT_SYMBOL vmlinux 0xe6ebaf52 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xe6fb675c node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe7193d83 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xe7196188 alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xe738ba97 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe7818b6d acpi_root_dir +EXPORT_SYMBOL vmlinux 0xe7a45af0 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe803fb02 freeze_bdev +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe8377c25 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xe846679c shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xe865d781 backlight_force_update +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87e44df agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0xe8872ed9 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xe894b27c generic_write_end +EXPORT_SYMBOL vmlinux 0xe89929e6 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8dbafef __next_cpu +EXPORT_SYMBOL vmlinux 0xe90ecf2f key_type_keyring +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe929acc7 proto_unregister +EXPORT_SYMBOL vmlinux 0xe9377076 take_over_console +EXPORT_SYMBOL vmlinux 0xe93e106f phy_device_register +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9591ae8 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xe95970e7 inet_frags_fini +EXPORT_SYMBOL vmlinux 0xe9625f04 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xe9645be0 read_cache_page +EXPORT_SYMBOL vmlinux 0xe97773e3 inet_accept +EXPORT_SYMBOL vmlinux 0xe977e4e8 key_alloc +EXPORT_SYMBOL vmlinux 0xe98fd202 kset_register +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe9a546d1 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0xe9ad05b7 bio_map_user +EXPORT_SYMBOL vmlinux 0xe9bd0cde ida_init +EXPORT_SYMBOL vmlinux 0xe9d3771e seq_path +EXPORT_SYMBOL vmlinux 0xe9dff136 mempool_alloc +EXPORT_SYMBOL vmlinux 0xe9fbb63b override_creds +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea1be15b uart_register_driver +EXPORT_SYMBOL vmlinux 0xea4dc0a1 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xea60f33c soft_cursor +EXPORT_SYMBOL vmlinux 0xea62ad49 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xea7b8a44 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9a9d18 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xea9d213e sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xeab7a05d dev_gro_receive +EXPORT_SYMBOL vmlinux 0xeac73847 irq_regs +EXPORT_SYMBOL vmlinux 0xeae15475 genphy_read_status +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeb080011 intel_gtt_map_memory +EXPORT_SYMBOL vmlinux 0xeb0d88a6 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xeb0fa1f5 unload_nls +EXPORT_SYMBOL vmlinux 0xeb11cbfe pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xeb1b8a34 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xeb2e7d78 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb4bf5dd dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0xeb598dad dquot_disable +EXPORT_SYMBOL vmlinux 0xeb78af10 dquot_resume +EXPORT_SYMBOL vmlinux 0xeb7a0d34 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebbaa841 spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0xebc9852d security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xebcac124 pci_enable_ido +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec1d77b5 scsi_unregister +EXPORT_SYMBOL vmlinux 0xec4440d1 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xec6450be skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xec67661e neigh_seq_start +EXPORT_SYMBOL vmlinux 0xec730387 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xec73519a genl_unregister_family +EXPORT_SYMBOL vmlinux 0xec7e91a4 put_page +EXPORT_SYMBOL vmlinux 0xec82a642 i2c_use_client +EXPORT_SYMBOL vmlinux 0xec955425 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xecbec80a pci_get_device +EXPORT_SYMBOL vmlinux 0xecd7fda8 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed7cdfce skb_checksum +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedaa6998 __frontswap_load +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc10a5b __elv_add_request +EXPORT_SYMBOL vmlinux 0xedd6d8b8 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xede5fb2c pipe_lock +EXPORT_SYMBOL vmlinux 0xee0a055c __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xee16e2e3 arp_send +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee313876 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xee46885d add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xee4f1b4c dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xee510ee3 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xee69f403 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb5bd3b __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xeecb4a51 intel_gtt_insert_pages +EXPORT_SYMBOL vmlinux 0xeed75810 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xeee95a86 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xeef4a97f test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xeef8e83b cfb_copyarea +EXPORT_SYMBOL vmlinux 0xef2aaa2d mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xef6849ab blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb588e0 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xefb6b186 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xefba93e1 mempool_destroy +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf000e27f serio_interrupt +EXPORT_SYMBOL vmlinux 0xf0091b85 thaw_super +EXPORT_SYMBOL vmlinux 0xf00a5dc9 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xf0218d13 kern_unmount +EXPORT_SYMBOL vmlinux 0xf045a893 ether_setup +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf0668483 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0xf077a7fd swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xf09f67f7 key_unlink +EXPORT_SYMBOL vmlinux 0xf0a2d688 twl6040_power +EXPORT_SYMBOL vmlinux 0xf0cab8a8 pci_scan_bus +EXPORT_SYMBOL vmlinux 0xf0ee1028 proc_create_data +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf100416a remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf116d4b5 copy_in_user +EXPORT_SYMBOL vmlinux 0xf11a2995 key_task_permission +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf142bf4f dst_destroy +EXPORT_SYMBOL vmlinux 0xf144d0e5 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xf147ecb1 down_trylock +EXPORT_SYMBOL vmlinux 0xf16c12b4 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xf17d0665 serial8250_register_port +EXPORT_SYMBOL vmlinux 0xf1844d90 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xf184cc5b set_security_override +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1bea6f1 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1d83155 pcim_iomap +EXPORT_SYMBOL vmlinux 0xf1da8902 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f83895 ip6_route_output +EXPORT_SYMBOL vmlinux 0xf200d4f7 rt6_lookup +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf202c812 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xf2049203 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf22449ae down_interruptible +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf24177b5 d_set_d_op +EXPORT_SYMBOL vmlinux 0xf272f18d pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xf28b9410 pci_set_mwi +EXPORT_SYMBOL vmlinux 0xf28d8426 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2b484c8 sync_inode +EXPORT_SYMBOL vmlinux 0xf2e6372d netdev_state_change +EXPORT_SYMBOL vmlinux 0xf30aad9b swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xf30adf89 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf32055e7 dev_base_lock +EXPORT_SYMBOL vmlinux 0xf32acc11 netif_napi_add +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34b783e update_time +EXPORT_SYMBOL vmlinux 0xf37260ab _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xf3870598 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf38a327e drop_nlink +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf396cd21 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xf3978588 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xf3986b06 acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0xf3a0224d inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xf3a0d0ed key_revoke +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3d82c01 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xf3f542b5 __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0xf401151c first_ec +EXPORT_SYMBOL vmlinux 0xf409903a napi_complete +EXPORT_SYMBOL vmlinux 0xf4156f21 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xf432dd3d __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf452652b genphy_update_link +EXPORT_SYMBOL vmlinux 0xf4648a7d dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf49ebf27 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4a5cc7d tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xf4a7ee13 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c95078 proc_mkdir +EXPORT_SYMBOL vmlinux 0xf4cc68f6 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4ffdf41 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xf503dcec agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xf5074310 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xf5127297 no_llseek +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf51afac2 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xf51bf88b nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf5297284 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xf536d22e acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf54f009f con_copy_unimap +EXPORT_SYMBOL vmlinux 0xf54fd14d netdev_info +EXPORT_SYMBOL vmlinux 0xf551692e sock_i_uid +EXPORT_SYMBOL vmlinux 0xf5893abf up_read +EXPORT_SYMBOL vmlinux 0xf58f7257 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xf58fb95b kobject_add +EXPORT_SYMBOL vmlinux 0xf598a620 pipe_unlock +EXPORT_SYMBOL vmlinux 0xf598be6a rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xf5de0a39 journal_flush +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5f2cec1 would_dump +EXPORT_SYMBOL vmlinux 0xf5f9bc71 eth_header +EXPORT_SYMBOL vmlinux 0xf5fc385f vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0xf609b996 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xf60c8928 ip_check_defrag +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf64a9169 dev_get_flags +EXPORT_SYMBOL vmlinux 0xf652d4cb spi_release_transport +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6d25f8a tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xf6e9ee58 tty_hangup +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ff2d40 deactivate_super +EXPORT_SYMBOL vmlinux 0xf717b964 udp_sendmsg +EXPORT_SYMBOL vmlinux 0xf719e6fc inode_add_bytes +EXPORT_SYMBOL vmlinux 0xf71c6aa6 ping_prot +EXPORT_SYMBOL vmlinux 0xf7289d14 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xf73dc670 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xf743980d block_invalidatepage +EXPORT_SYMBOL vmlinux 0xf749dd96 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xf74aafaf bitmap_unplug +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf78995c9 blk_register_region +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7969f2e xfrm_state_update +EXPORT_SYMBOL vmlinux 0xf7adcaf3 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7d3a9ae is_bad_inode +EXPORT_SYMBOL vmlinux 0xf7f1ae48 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80e20a3 write_cache_pages +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82cfd1a proc_dostring +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf85618a5 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xf86127da unregister_cdrom +EXPORT_SYMBOL vmlinux 0xf883bb84 inode_only_permission +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf8983de7 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xf89843f9 schedule_work +EXPORT_SYMBOL vmlinux 0xf89ba0ae pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xf8b42af9 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xf8bf479d dquot_scan_active +EXPORT_SYMBOL vmlinux 0xf8c6a533 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xf91e5126 module_put +EXPORT_SYMBOL vmlinux 0xf95d4747 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xf96c825f bdev_read_only +EXPORT_SYMBOL vmlinux 0xf9721082 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xf9813b29 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9e95c28 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xfa1f7f4e tty_register_driver +EXPORT_SYMBOL vmlinux 0xfa38e966 start_tty +EXPORT_SYMBOL vmlinux 0xfa3f4f5e i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xfa5eee7c ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xfa66f77c finish_wait +EXPORT_SYMBOL vmlinux 0xfa67c245 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xfac7c729 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfadc26bd blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaef03a9 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xfaf7e872 skb_find_text +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfafc1c5a scsi_print_sense +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb530415 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xfb578fc5 memset +EXPORT_SYMBOL vmlinux 0xfb5f846a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb80c7a0 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xfb9b6453 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbafeb49 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xfbb28905 notify_change +EXPORT_SYMBOL vmlinux 0xfbbdd0a9 pci_set_ltr +EXPORT_SYMBOL vmlinux 0xfbc76874 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0xfbda7307 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1b0bc6 truncate_setsize +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc64bd33 dev_crit +EXPORT_SYMBOL vmlinux 0xfc68fd2d prepare_creds +EXPORT_SYMBOL vmlinux 0xfc7253ee __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xfc8726f3 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xfc872fd1 get_ibs_caps +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcac0d40 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcbcc95c end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc54f91 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfce9dd72 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd122cd0 pci_disable_ido +EXPORT_SYMBOL vmlinux 0xfd1e409c tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0xfd306865 filp_open +EXPORT_SYMBOL vmlinux 0xfd551ed3 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xfd5f002d dma_ops +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6a20a6 flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd6baef8 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd744325 vga_put +EXPORT_SYMBOL vmlinux 0xfd7a9cc3 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfda44022 may_umount +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfdcd9b91 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xfde099ea ps2_begin_command +EXPORT_SYMBOL vmlinux 0xfde7dfa9 set_binfmt +EXPORT_SYMBOL vmlinux 0xfdee7d42 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe041f3b mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xfe14b459 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xfe188e40 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xfe268973 nf_afinfo +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe40f8f8 key_validate +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe90e4d5 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xfe93d709 softnet_data +EXPORT_SYMBOL vmlinux 0xfea57c19 xfrm_input +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfec87cc4 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0xfed54737 try_module_get +EXPORT_SYMBOL vmlinux 0xfed7a179 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xfeda8944 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfeeda0ab md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xfefa8889 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xff001999 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xff02e992 page_readlink +EXPORT_SYMBOL vmlinux 0xff1269ea blk_integrity_register +EXPORT_SYMBOL vmlinux 0xff141e17 misc_register +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff2632de input_reset_device +EXPORT_SYMBOL vmlinux 0xff477991 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xff4ec224 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xff521339 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff74364e submit_bio +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff809a49 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa19009 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xffb0baca journal_errno +EXPORT_SYMBOL vmlinux 0xffc29019 md_integrity_register +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe713b7 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xfff5c197 eth_change_mtu +EXPORT_SYMBOL_GPL arch/x86/crypto/aes-x86_64 0x7060bf0a crypto_aes_encrypt_x86 +EXPORT_SYMBOL_GPL arch/x86/crypto/aes-x86_64 0xe409b491 crypto_aes_decrypt_x86 +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64 0x19dc7881 twofish_dec_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64 0x5e752773 twofish_enc_blk +EXPORT_SYMBOL_GPL arch/x86/kernel/microcode 0xdf66ca81 ucode_cpu_info +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0601a7ca kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0682cf46 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x09217c02 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x097e7dc3 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0c25429c kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d798896 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0ef991ad kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x15de2c84 kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x16d7fe70 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1826131b kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1b88ce3d kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1c061368 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cfe78d1 kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1ddd5483 kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e85a18f kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1f3d1951 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2186fa09 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x260bdee9 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x290969d1 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2c0ebf6f kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f84e3a0 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f97bb2c kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x33a0b8bd x86_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39904931 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b5dd35e __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de08404 kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x40c81965 kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x41e2aeed kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x43c14f5b kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x453c7308 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4757a20c kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4bd8d298 kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4c51f664 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4cdfd850 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x502d2230 kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x53a2a3f7 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5cd1be9f kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5ec6b86f kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6182e5c9 kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x61965af0 kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x61d8368d kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64a34f49 __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x669da1fd kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x671dc4f8 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6d95c532 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6da4327a handle_mmio_page_fault_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6db19e07 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x709cd8cb kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x714ac009 gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x71c71fd1 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x720cb1b3 hva_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x72649223 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74fbc94a is_fault_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x76844334 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7aa64803 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c502ab9 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c9b19a5 is_noslot_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f2c1163 __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f8c96cb kvm_requeue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x80b4fcf8 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8199b9e5 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x828aae28 kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x831327da kvm_max_guest_tsc_khz +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8678fc5c kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x88445272 kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a26f7b0 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a4874aa kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8bacca51 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8da01274 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e1cd06f kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e8a0c9e kvm_after_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8efcda7a kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92db316e kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x957eceb2 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x96133c1b kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a216313 kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9cdc850d kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9dad83ed kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e09f265 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ee59155 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa26756d1 fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa508e36b __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa91845be is_invalid_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa79cab5 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab55ac13 kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf275715 __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb32f7ff5 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb46298b8 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb880da1d kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba6b4e05 kvm_read_guest_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba71bafa kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba9ed435 kvm_mmu_set_mmio_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbafe9aef kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc2b937d is_hwpoison_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc5999ef kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd936343 kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbeba90aa kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc2010ab1 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc4ba59ec kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc88a0ee6 kvm_before_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xca43b5e8 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc40a4f1 kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0459e67 kvm_has_tsc_control +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2070c94 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd8a757f3 gfn_to_pfn_async +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdeb9e564 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe115e8a0 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe91b54d5 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea8e09e5 kvm_fast_pio_out +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xed72f3dd kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xee61641f kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xefe44adc kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf01fafb9 kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf0207906 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf13d9c09 kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf16aae4a kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2b6fbda gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf68217b0 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf952a3f8 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfaff8437 kvm_write_tsc +EXPORT_SYMBOL_GPL crypto/af_alg 0x14792d97 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x284a1016 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x289197b2 af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x45b23ff9 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x65eef7f4 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x6d439f0c af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x77c71ce8 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x9c52538c af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0xab7dabf2 af_alg_accept +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x5b727cbf async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x0eea6b4e async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x99227bd6 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x1aa67633 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x358bed17 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x4c0e3ce7 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x704e416c async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x84d7df88 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xab73114d async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x2d959136 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xc43f6867 async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x84a6a5de blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x352efc3b cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x3fe74f7b cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x408b7e06 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x40c88f7d cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x42d70da5 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x47d2928f cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x9c67a9fd cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb9711651 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xf3e92fd8 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xf8248e63 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x76090a8e lrw_crypt +EXPORT_SYMBOL_GPL crypto/lrw 0xcd074900 lrw_init_table +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x5ddb33e9 __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x77b39cb4 __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8a1a99ad __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xde80973c serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe2df0f6a twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x34a8d563 xts_crypt +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x1c8984c7 acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x87bd07bd acpi_smbus_register_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0xb9a141b0 acpi_smbus_read +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0xe1372311 acpi_smbus_write +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xca7879db __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xe689e385 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x02ff9464 cfag12864b_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x0ecb2e5d cfag12864b_disable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x305dc3c6 cfag12864b_isenabled +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x3389f926 cfag12864b_enable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x9522a342 cfag12864b_getrate +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0xc48e9d95 cfag12864b_buffer +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x10b2ee9f bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2c5b5e47 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x51c9dc4f bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x52e134c6 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x54e82bc4 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x583a82d3 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7a213a4c bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7b0d87be bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x83f40b78 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x95b90cb5 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc18a5018 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc6a0c6fa bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcd256434 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe426b8a7 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf4863a2c bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x015dbd81 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x09ad9620 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x138ac11b btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2297422a btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2e1f6323 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x45509e3d btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4ba2fe70 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6b60684f btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x966e702d btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xcfc08aaf btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0x1b1f2bda speedstep_get_freqs +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0x2b67f096 speedstep_get_frequency +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0xd7ab2c0c speedstep_detect_processor +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x54c5db4b alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x661043f2 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x7465ac2c register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x920db720 free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xaad2d973 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xba8d2a59 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xd25ddafb dca_add_requester +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0x524c77e2 amd64_get_dram_hole_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0fb2db4f edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1e8b9a21 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3913f771 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x43e5f8c0 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5fa7fa01 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6030ff69 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x69259f22 edac_mem_types +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x85111a86 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x85de7dbe edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x89703fbc edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xa88c97ac edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xa8d70c27 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xacdcd4c6 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xad02fdd5 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xaf0f7ba6 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbd5d40a4 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc1027b61 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xca177da7 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd8468bab edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe6b3b829 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe8c5ad88 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xefda749a find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xfd40f9d5 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0d38cee6 amd_decode_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0dc0b68c amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1d34e996 pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x233ce2e4 to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x3eba1a17 rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x593ec4b5 ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x6d4e6991 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xaeeba16b tt_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb0ca1fe7 ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2b73a3a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x174ba3a1 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4e64b889 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6fea4cf5 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x73d47eca extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8f8e81c7 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x93ba7115 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x96383417 extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xa02b1e75 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xb482b022 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xb79cae18 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xdad807eb extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe86a4a37 extcon_update_state +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xf4ade51f fw_card_release +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0x013fbdac cs5535_gpio_set +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0x93f8fe67 cs5535_gpio_set_irq +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0xc0bb404a cs5535_gpio_setup_event +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0xd3bd9300 cs5535_gpio_isset +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0xe07c0954 cs5535_gpio_clear +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x19cae925 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xeb25b101 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x3b2fddf0 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xb64f84c4 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0ff02fd8 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9a5adb00 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x05876c69 i915_gpu_busy +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x08a7896d i915_gpu_raise +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x402468e9 i915_gpu_lower +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x500858b9 i915_read_mch_val +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0xe7237b0b i915_gpu_turbo_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x66e18984 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x89fdf2bb ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xb13210c8 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/hid/hid 0x014c3a7c hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x01a05105 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x17cddd50 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x23dbd35c hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2b0692bd hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3197794f hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3d4a7763 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x41b08d0b hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x43693119 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4bb9496c hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x640542ab hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6c5d90ae hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7b220d67 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8560ff85 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8a6fea90 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b1e9b91 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8fd3895c hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9cafa7e2 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaab91ba2 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xad89b1f8 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb979e9d7 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbd584911 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca4f8b95 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd6c4c447 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe22ee76b hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xec198321 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xee5c6df1 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xef5c6e15 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfb499067 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x57340fa4 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xe1432742 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xfd4647b1 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x301091ce usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x54da340c usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x5b50e471 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xe7e701f2 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x01e80907 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x039e98c0 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3c2f021d hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3f513a53 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x463b2985 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x527ecade hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x53d80300 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5a92aee1 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5b5705a2 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7856ad90 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x970390ec hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd4dabb6d hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf4c982cd hsi_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x060e5864 vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x07384675 vmbus_sendpacket_multipagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x26336b4c vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4aed476d __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x533554c1 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x70d4de7f vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7ef6fa49 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xade86a50 vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xbc5a4955 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc91a78a4 vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x1fde759c i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x393d1685 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x42453ce1 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x54ef17f0 i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x7f98535b i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x90e327cf i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x9e540ba2 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa7082bd4 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xdd2103b8 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xd7ecfc7a nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x4d8ce714 i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x75eb3ed6 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x5217eeb0 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x66cac53d i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3030955e iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x436c0be7 iio_st_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x514aa968 iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5df44409 iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6ef7c8a3 iio_st_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x709ab3d6 iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8e4b422c iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa9106b95 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbc30d368 iio_scan_mask_set +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc9513925 iio_st_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd2701e89 iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd2b650ad iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd4413659 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe76bca37 iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfe34405c iio_st_channel_release_all +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/hw/ipath/ib_ipath 0x1514b2b2 ipath_debug +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xa2b870f4 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xcf90b276 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x4ad9cc8b cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x91eff5e7 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xeb23d7c8 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0ce0cc4e wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0f430339 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x115ed114 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3875f9df wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x456ffeb7 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6bf19682 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x730addae wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7e3c0961 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fe499ea wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x86c00de0 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbdc9fe51 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xddf4d18a wm9713_codec +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0x4de7b2d0 unregister_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0xb17b7c77 register_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x01ccf362 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x07916364 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0a6c1057 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x43ab7cb0 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x4a6c5a20 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6893dfa0 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7c84172c gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa3151853 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa933d80e gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb258ebd6 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb7daae54 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb83ccf9c gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd43ea854 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xdbd98101 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe8e9a3e2 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xea72c3d6 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xebf7efe4 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xffddde20 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aba7f5e dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x716a859b dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9310ba06 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9c256008 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa1d2413a dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa448e19f dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xafbda3f3 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcbb1bae2 dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x07d58e15 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x2d99389d dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x013bbab8 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4430764e dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x45ab972a dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x718cea58 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7e43eefe dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa68e1f06 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa7f2abca dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xdbf2cd96 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xdfeb435e dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfad9d53a dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfc62ef4e dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x03ced457 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x07803141 dm_sm_checker_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x08a936ca dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x17c36f29 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c112836 dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4035149a dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x40f7bd91 dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x42dbdfc3 dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x45a8b35f dm_sm_checker_create_fresh +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b2ff62 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x74d47993 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x77fb5544 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8063d8d7 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x80c89b3d dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa6aae3ea dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xab03c775 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb7bad799 dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb967690a dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb9a6ecf8 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd29923fb dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdb562135 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf375d009 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf5455120 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf99dc2cf dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/raid1 0xfbb80369 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0xf19b417f md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3cc4f8f0 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x4a40ec31 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x56a06d4e saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x591fa25e saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x784c8f9c saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb5708a2a saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb6a3baaa saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc9c1fe12 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xed4a6d1b saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf0cd1098 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xff9af50f saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x2919fbec saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x2bc07cb0 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x2e827c18 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x85eb9071 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x91e4eb0a saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9de720e7 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xcd030a4a saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x1200799b tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x3fbe5772 tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x61ec704d mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xae557624 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x9630ec42 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x6e9f313f tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0xa9b32941 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x22abb7d3 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xf2610dca tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xcf71552f tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x179aa703 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xda778d69 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x30eb4e08 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x89b1c58b tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x10fc76e6 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x05078218 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0xc2b06e02 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0xa5975d83 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x0931ac35 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x435ff7c2 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x4618b267 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x5464bdaa mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x58afdf3c mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x63e91eb9 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x759013c0 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x8a5910f2 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x8c244072 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xa272e3c8 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xaadcf105 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xaeb9815e mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xb549a9a0 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd036a566 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xef25c3fe mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf9c3f9b9 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xfaeacdf7 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x499d44e7 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x55e9d393 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5b6c172a smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6625e8c8 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x69f1e282 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x76222253 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7b9be178 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8050c9be smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x875a2c77 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xadbcce29 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb130af3e sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb2371670 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc177d939 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd832466a smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe3a5fa23 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe72bcd42 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xea5efb3d smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf98a3a29 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x2e99f3b5 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x68afccdc ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8df8891b ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xc0934ca8 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xd2a70d8f ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xd52ecc94 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xfd1ac933 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0ac57f0d ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0c0d1292 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x16983a24 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x188e3ce4 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1dbeff2a rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x24756abb rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2823f8dc rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x32f20d10 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x355df0f6 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4f832bdb ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x526fe5a1 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x56860a3d rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x76eb57fc rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7960b17a rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xcf230ef3 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd063df4a rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf9c921e4 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x16ac0819 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x23933185 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2b0158e9 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2da4acfb cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4595820f cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x60ba040e cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7ab933f5 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8a55db17 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8d413b6c cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb2fc6c0f cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbb35db50 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc90afbe0 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd2af2438 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe09be29e cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe0b2f466 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xebc577f8 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xefe9678f cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf52eb732 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xfdf6529e cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x1808adfb cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0f07e205 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x14f42a62 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x22846234 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x44210634 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7094cff8 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x794398b1 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x84828534 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x84b6dc9c em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x90ba4a0c em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xaedb6a4a em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xb0fc84cc em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe173f769 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe2b03bf0 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xfd5f59eb em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x24844b69 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x4e1c0300 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x671bd6fc saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xdb0b5ce5 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xe0c79bc1 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x4c7a0016 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x68980a58 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x912e79a0 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xe5d54d38 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x05c4c191 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x42e7ebb9 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x4e666ba7 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x5ce906e3 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x8be1619b v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x997b07f4 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x01188b2f v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x212fa5ad v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x89192b1f v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xbf921e78 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x24d4e812 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x2806fb0e v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3298e86b v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x37376c93 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x420f34e6 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8bd12424 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8d692598 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8e3633c7 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x905caeaa v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x9e81a9f2 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc0ac236a v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xd86cce5e v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x032ff54a videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x03675805 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x07f7a740 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0ef5b140 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12c68574 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x36b0a09a videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3c091818 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x521629ac videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5eadc632 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x69969414 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7dab1a31 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x84ab634e videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8c7af52e videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x977d1d40 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa44fcb86 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xaffb51d3 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb08646c5 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc311458f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd92f68db videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdfefaa64 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe5866595 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe6bbd3e6 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf36c9fa8 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xffcbc867 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x21749d27 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x9973af45 videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xbeb1b83b videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xe427426c videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x0c6df082 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x34916de1 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x3bd0adf1 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5e79e052 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6c1ed809 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xb57b9b38 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xd04b9cf1 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xef6c0734 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xf4a3ba7a videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x47305354 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x9bfe2665 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xfaaa189b videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x0e609633 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x13aa216c vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x3252c19f vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6015d18d vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6145387c vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x68497f7d vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x834185d2 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x94ebe5bb vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb22e95af vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb73b2eb5 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xbafde5fc vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xbdcf7ee4 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd96ed8b1 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xdef19abd vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xdf89a9e1 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe3717a18 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe681a90a vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xac28946f vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xdbc4dd03 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xe57f0426 vb2_dma_contig_cleanup_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x12732184 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x48120d68 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x4958898c vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xc2409e0f vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xda191b76 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0x2d5458ab vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0ddbbb80 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x12767674 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x22f9b1d8 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x303dabc1 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x3e2b21bd v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4640b496 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6d8df2d0 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x750bbac8 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x755f0a8e v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x77c077e7 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7f227c70 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x925b1791 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x97980949 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9e8382ab v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa2a66ecd v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbbe7d7f2 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xcc7d5b90 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd2eb58ba v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd686b1ea v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd9ee4f95 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe91995bd v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xea334462 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfdd5ae12 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x072056ef i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x0aac80c3 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x3302fd9e i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x411df73e i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x44243058 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5d6e68ed i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x924b53c2 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xad029e3d i2o_pool_free +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x047ec2a8 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x3ec73597 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd3634261 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x11bcf772 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x63bbc982 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x82cd6ab1 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8ecf6b88 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8ff62233 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xdb0af5f1 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf07058bc lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x26ba6e91 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xb48b9ada mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xf11721b6 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x02112f44 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x0bf2b1b7 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2168ee8c pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3ed68208 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x46a75e1f pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x482f7abe pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4f33b7a9 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7c4a78e0 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa9ff04ef pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb08ad030 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd0f1c838 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x37caa8d4 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xc067c1d3 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2335251d pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2fa7c360 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x68bca76a pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7bcf4502 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x92f43f40 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x081da03c sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x9cbb3601 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x9ee705ef sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xa6bdf4d8 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd719c62c sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x18fc4335 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x1e7edca7 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x3ec92349 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xe5d51b61 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xc65f3c67 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x28f4585b cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x522eb285 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x542b0d35 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe1003fd0 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x27cb133b eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x822222db eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x98bb5a22 eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0585abb9 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x36f2bf88 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x3b4203a7 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7e63e32d enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb7cb68a3 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf547db15 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf9f2ab7f enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1379ea0f lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3320d1ef lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x38ce7ea4 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3c31a33d lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6060f13a lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7f3013e3 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd75af81d lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/pti 0x19f09b98 pti_release_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x23bde487 pti_request_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x52a78e81 pti_writedata +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0bb78053 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x25456c7f st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1b3cb61c sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1f6aa883 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2e3aa060 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3ae8c100 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4387ac8c sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5bfd4afe sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x87f0707a sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x95095a53 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa900ea19 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x25f131e5 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x3f16bfa4 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x58516e22 sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x80a116cb sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc6449e45 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xd1bf83c0 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x366f374b cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x698b2dfe cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x90f54552 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x140996ee cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x44ceceff cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xabc1a384 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x4f711a28 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x6019afbf cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xd7886c96 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xf65e27a3 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x36047ac9 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0a95502a deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0cb6ef43 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x11af0306 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1dc34a4e put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x24294101 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28451659 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2c2a11ff mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x313ef176 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x35194852 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x380349fb mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3b8edb7e mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x49a057a5 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4e856381 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5334d27c mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5569c7dc unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x57dd645c __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5e48df30 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6c2ca26f mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6cebb263 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x73225208 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x746f078f mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x76cbcfd3 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x885a64dd mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x900c5899 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9af1028e register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa0160b9b mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa0bb5afd mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa5609caf mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa7f2b7ea mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xad07face register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaee741e1 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb5463706 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd213d050 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd6ab83f8 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd75ad871 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd97f2219 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdea44e6e mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf25e9b87 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf73e9017 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x22fbfa29 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x4445e9a8 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8df4e073 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x9f23bf73 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa84d30fd del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xf0953be9 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xf767c78e nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0x01eb3cb9 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x8544cacc onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xa71d19d2 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0e0a5593 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x26efd965 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2abcd572 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x30b221a6 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x37b0164f ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x54cdb4f8 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x75cd32f9 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7f5c75b5 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8152dc35 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9a8c4d4c ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbe6fb226 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd8ea7962 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe161b876 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x066954c6 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x4b66f6ec alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x58729f53 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xf4afe6ef register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x02bfd247 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1d68de65 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3cc72c5b can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4c87756a register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x63b87030 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7ac19a38 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7e5f6e01 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8aac1133 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8abe1bf8 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x95f8161d alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc91a81a3 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc960cc30 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x22a83128 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x4328cd03 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xa882defb alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xe79aaa50 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x33d2cd74 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xa72d9fed alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb3e9b174 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf1a9efaa register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02100eca mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0605dcde mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06f47ecd mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0de24ecb mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0eb7c373 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x186433e1 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b9e5328 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1dc2f711 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e168250 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e35cd67 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x210a5862 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21806aff mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d29a918 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x317df919 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32aebf46 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35a6e814 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b2adb5e mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3be31adc mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e91465f mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3fc394b7 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41ae7969 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x432e5eb0 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46adc7e6 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x522edbbc mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x552562a1 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x584a9aff mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59bc8c69 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a92601e mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c06df7c mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x623a279b mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x62c82a04 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x64a0741a mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x72ba8941 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x734d3b3b mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fb1a702 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x812a8e5e mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x814a3e73 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d79bead mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9209cebe mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92f352e7 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x978eabcb mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9a46da86 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9afc2318 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b5faa58 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ca4d4f4 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ceea865 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d234a97 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e0fc31f mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1831828 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa68db720 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xafef0b19 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb40576a9 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb691c024 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbbf6d7be mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd981eca mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe71f2c3 mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc3dd7934 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc4917136 mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb8dcb39 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf5b5001 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd05ad4a8 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdab0145a mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc385705 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdf024206 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdfe4259e mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe200ddab mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe7e28005 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef1bd978 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf01541c2 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf5e61c67 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf828df13 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf865e0b8 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfb8c865f mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd326fea mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x2fd065fa macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x3c696383 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x452a3983 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa1553636 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa1e7dba9 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvtap 0x1c4ac74d macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3b6dec4d usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6ee9b656 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x83ef3603 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbbbae733 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x033d3634 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1fb51375 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x3bfcbd7f rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x458869db rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x8e919ff3 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xecf7a862 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0cfed11f usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1652312a usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1d0a2a1a usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2ee182fc usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x42d1aaa5 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x44b0e5bd usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x44b67a1e usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x513246be usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x51a6b0c8 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x52a1b461 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5b46d31a usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x65fb3b7a usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ef4af28 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x84fe17c7 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x85770527 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x87b43387 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x954c6dd1 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x95ff9965 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9e15dd02 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa086e676 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa8a45086 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb23d33b8 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe114447b usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfa014db0 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1813f8ba i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1f76f6e4 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2322e28b i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x331cc5a5 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x375d600e i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4a585516 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4f4a9364 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x87abc2e8 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8edee9f7 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8fb5c3b8 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa41bc17c i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb28616b1 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb29941f4 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc2ddfff9 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xcb41f2b5 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe06dffc4 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xfa7f6966 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x3c78793e il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x9fd8d4cb il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xb64655db il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xd10a44a1 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xf765adbf _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x05054c04 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0aa7fa99 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1c68acb7 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x220d0ca8 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x48dcb20a lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x50dff068 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5d4e4368 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x65ac7afe lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x67212f9c lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x68d712c6 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8a73f87a lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x935e4526 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x93ee0288 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa42ee197 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa4d261b9 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xeaf65e2c lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1e1b4f32 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x68d1c514 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x87851c82 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9db00d24 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xba0f5037 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbff5227a lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc4152862 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xf091dcee lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xa36f411a if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xb65ecc5c if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x12fd31a5 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x376b5c56 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x46ce5e57 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x48991c8a mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x4b12a3a4 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8351b67f mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x87ebcfaa mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8afc4c09 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xa7487e3b mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xdd3b6d99 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xde4cbfd4 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe20e94cc mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe41ccc6a mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0445e70f p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0de5d33b p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x254fcb05 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4232b719 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4f7c6b43 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7e72b9fe p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x826879a6 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc0028b2d p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc08a9084 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0177bae1 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x07e1e703 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x08622be6 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0d663938 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0e9aed26 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1274732a rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x18974e99 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1b19919c rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2969b616 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2d35b539 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3143cf1d rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x335ae4f1 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x365d9ca8 rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3980ad83 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3ca9da52 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4641816c rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x57e2c3b9 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x626b6806 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6411bb07 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x642b7047 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x676858c3 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6ffa1944 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x74b14665 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x89c95d09 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8e492625 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x94bd7452 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x97388cea rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa450ab7c rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xae978f9c rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbb4ba8ed rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc0dcd5f3 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xccf3f9e8 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcf6094ea rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcf7a4499 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd8b69838 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xde05dbe7 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf31e780c rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfae17fcf rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfdb9aca8 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x02e57eb9 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x032e6208 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x04e0c03c rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x059c894f rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x06e452fc rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x07126fed rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0878dcc9 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0ba17aa9 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x132180e9 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x13e3642a rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x16a20527 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1a43dbde rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2802292d rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x32bd8683 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x342e419c rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x39c4a1f4 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5527b9cd rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5a2f2c79 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x708fc717 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x784dc5f6 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x79b9a3b5 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x824f64da rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8803a292 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x901e1c1e rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x923a3715 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xad942d51 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbc0ebcf4 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbea35d19 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc3ae78eb rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc434275b rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc65a1161 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc7218bf4 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xce125c00 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd1777224 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd1fb9ec0 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd526f17d rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd8e39a29 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdbba3801 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdf1c4a6e rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe08efc17 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe8f9fa84 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xeb1bf155 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xec65bb88 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xedfc4ecf rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf06a72d9 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfec680dc rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x009bece9 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0947f52d rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x243c7c6e rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4f4d7730 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x58c2b4de rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x71f40ba3 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xaa62742b rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc44c3603 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf380a91d rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x131b2476 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2b226bf0 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3e75644b rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x43c1d915 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x46becf5e rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x58b63f58 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6330658a rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x71920145 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x79d59670 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa028c456 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb0a9f13c rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb8f40b54 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcb277e2d rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd0a26143 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xddf420c3 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdf7070c1 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x18434957 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xda91b471 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xec8192b7 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1dd5437f wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2521b97d wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x30da4459 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x39c78d63 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3a739b5f wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4cfd7487 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5f6e583f wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x830c9109 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x86ba1da6 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9a254966 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa07f1f19 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa4bc2eda wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcdcc5242 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xecb9d9d6 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x4e9405d9 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xd2036b67 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x48ef59b6 asus_wmi_register_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xcb444af3 asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_ips 0x46809fa9 ips_link_to_i915_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x232b5238 mxm_wmi_supported +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x61cdf799 mxm_wmi_call_mxds +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0xe26032eb mxm_wmi_call_mxmx +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x561c634a wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x876d29f1 wmi_get_event_data +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xda29f8b0 wmi_set_block +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xfb882fb7 wmi_query_block +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x1bb9525d pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x6f16494b pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xc836f41e pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x2083d998 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x225df1ff mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x78c7affe mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x83a2fde5 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xdcd5d3cf mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe9eb0a60 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0d3d12f5 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x285addc5 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x64739ee7 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8ccfbf78 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb204e03f wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xef0b6995 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xac7f2f4b wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x22ef9fef cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x26b167d9 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2b4ed74b cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2bc31738 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2d1bd08c cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a04a45d cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3ab758ce cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3d59d2d8 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3dd81100 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x43880282 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x53618419 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x53810756 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x59d28edd cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5de4550f cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6b4324b3 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6ccf1d18 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7bad9381 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x80fac235 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8912d389 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8945d197 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c0572ce cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8cc313d9 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x96621991 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9662a21b cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x97c5f1d1 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x97d2c33f cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x99104f92 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xadf2b998 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xae1409fb cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb22c7d71 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbb579d39 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbd0755f3 cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbecac389 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc0274d52 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc2162ea4 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc3b79c86 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd50d55d7 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd9273253 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd9673c97 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdd9c59e3 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf0eada80 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf49174ec cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf775cf15 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfb0a1572 cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x1f467620 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x24d6351d scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x7afcb475 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x9b55fe3c scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xab379d77 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xb250e8c2 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x096d4dee fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x61da7e27 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x79c533db fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9a6e3076 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa49e898b fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa7d72482 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xabb10024 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xaf5b3cf6 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc886ab08 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd922605d fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xda9b3550 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe724a391 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf37c6c23 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x5112b2c2 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x87865934 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x94c896e4 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x9b333f80 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa5777cbf iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xc8615a0d iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x003358fa __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x03066ced iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0b8c6f50 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0df4941c __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12065153 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x18f3ce01 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x24b3c387 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x30029c75 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x39adf0b5 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x403adaac iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41379273 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x43914ed1 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4624c210 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x473bda0c iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5152744d iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5186b306 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x56943f61 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6869c2bb iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6c782e3d iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6f04bd23 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x70196134 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7415fb73 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x77e9d217 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7a3add6b iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x82c9ac4e iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88ac785b iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8cddb3ec iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x93862411 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9783f2e6 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa11b99ec iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa6a228ca iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa837fe85 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa9d451e0 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaae0574d iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc6d57789 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc8432a81 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdafdc543 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdbfa1c91 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdc403cac iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf20674ac iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf48d92c6 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfbb6e8ce iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xff302fb1 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x03712b78 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1ddb85f5 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x30223577 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x471d2ba9 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4ad4244e iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6785f4a3 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6dfcafd6 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8ea155b2 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x98c75ba3 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9a51c752 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa2ac005b iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa797effb iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc04b2155 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc87f311b iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdc2b8317 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe368f123 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xefba850b iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0f32e6e2 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1497c7f5 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2ae4b505 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3db18218 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x42e18e5f sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4d14ba27 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5e191f26 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5e54a48f sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x65aaffae sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x71d1019c sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7606c214 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x76c0666a sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x77e6a701 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x88e03fc0 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9037f8b0 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9084b736 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa809a3ed sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb4cd975f sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbda237a3 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd0dc3a6b sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe05cd4ef sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe605b524 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe8937504 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3da4c9a4 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x6057bcf7 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x63ee631a srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb0d6982d srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xca72749b srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xe29dd6f9 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x2d3c23ce scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x43a34ede scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x623d81b5 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x79fd7b47 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x89c04b12 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xaafdb6ee scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb4cde8a7 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb8e034ca scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xde9bc39e scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x04de2e74 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x09f2abe8 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0db27680 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1604c710 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1e9bdafd iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x20edf811 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x22b1509c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x265000d8 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2f8c2938 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4560e82d iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x474cd3e8 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56270a65 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x65937879 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7869e539 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x79cdb229 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ba2ffb9 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7eff335d iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7f5e7d3f iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8b5ea11b iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x95c4b81e iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9ca043bb iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa752183e iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa88280c6 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb0585822 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb2615e0d iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb67b7688 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc5f3489 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe375f0a2 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf4046882 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf98f9213 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfbba0ef7 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfee5ee6d iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x3bd5fa9a sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x4fc69e02 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xb8d4b10d sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xfd8b8255 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1bf6f83c srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x20112d05 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x227184f1 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb7c63faf srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd319dac7 srp_rport_add +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x0753b0fc spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1b0fd769 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x25fd1882 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7c5279a5 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xaed30dfc spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xbfd4e948 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x48de2ce3 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x86af3d18 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9d6b5027 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb2295a96 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xe6ac4b7a dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x094787ed comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x097546e1 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x396634af comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4f15f2e2 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x50bdb00a comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6f60972e comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x82f0fa1e comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb1a5d0e5 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd5c0a09d comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x642a1199 das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x8eedeb3d das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x25e55b95 labpc_1200_is_unipolar +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x8285332a range_labpc_1200_ai +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0xab06aba2 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0xaf1e4347 labpc_1200_ai_gain_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0xf3c04765 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x64240f5e ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x64a7de01 ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x693acb9b ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8e265c58 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xd3a6f3b3 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xe43fc37b ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf4a97588 ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xfab6e229 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x066a29de ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x0c98adc2 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x1941dfcf ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x27c18940 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x937405a3 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xcf3bacd1 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x2468ed34 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x579d2806 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x587711de oslec_create +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x882d5f27 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf828c15b oslec_flush +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf923a5b1 oslec_free +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xfabc3747 oslec_update +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x5a15e559 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x26a58970 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x3ca93571 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x5317c8a8 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xbc82851c ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xdd0ca96f ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe55efa2b ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/rts5139/rts5139 0x35b85807 rts5139_usb_ids +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0e81c76d spk_serial_out +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x14f06fe7 spk_serial_in_nowait +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3ee16d94 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x44e7abd9 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x475e158a synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5b381430 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x719669b0 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x892d7c77 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e146195 synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e8a916a synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9a888082 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa9e774de serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb48956f8 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb73a5748 get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc766ae09 synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xcda38867 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xcfcc99c7 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd6eada87 spk_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xde7ae2e8 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7e810f8 spk_serial_in +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfb56156d spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x002995bf usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x1576dc2a dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x31b10c65 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x39f93a6c sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x780bafbf usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7baa83e9 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8d11f744 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x91a7514b usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xcbea48dc usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd071327a usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd2e1713f usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xf195078a usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xfbc50770 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x2f6654ef max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7cc8a9f9 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x9782e038 max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xc09075bb max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xdf1c7d9d max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xff2caa10 max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x493c2f92 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x49988737 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb6583632 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x71a6e1b4 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x84cad458 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x289d06f1 dwc3_put_device_id +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x51b25baa dwc3_get_device_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x2ed78544 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x49572795 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x555d93bc usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xb7e69d9a usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xd3eaf3f7 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xf79cc6a9 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1f12847b usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x24525951 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2a75701a usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2ddbf123 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6dab083f ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x73321b11 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x755dfb76 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7e417b0c usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x813232ee usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x50b67104 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0x4ba17248 tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x31e9a414 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00632b37 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0e296d72 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x229d7513 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x22c3be05 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x296f8c7e usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x516ac5b0 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x56c70798 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5e81cdf2 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x61dd35c8 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7c5cb61e usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7dff9f80 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x858e9ca5 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8e772b4e usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x95525399 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb24c2b3f usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb68d5dc1 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb697b861 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xddd1ee56 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf9995ceb usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x033aad22 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x034141ab usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x06315c68 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1c69a13a usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x385c6563 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3f6068d5 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4a56f676 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4edf9558 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x60d3b475 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6a2a8e4c usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6f03c665 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x731adcb4 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x81ae0e4d usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x82a5264a usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xab9c5aad usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbb61ef10 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc1c70fae usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcb56d5d5 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd9ec259b usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf6824ab5 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfb0b3529 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfc0e1abe usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x122f15ac wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x32b67f32 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x44e1a344 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5f2b39a9 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa10834a6 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xdef5c284 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1a874a35 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x246ff08a wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3deb02cb wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x42fcaa6b wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4ed87761 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x506edf89 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x53e5c038 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x626e2052 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6458a23b wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x66466bcd wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6aea852e wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x985808f2 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xba332343 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdb1acfc6 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xddd8d5c4 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe1298baf wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x10844aa6 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x453fe188 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x8d54642b i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x126110b2 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x1747f418 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x29ca9006 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x2acfb6c8 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x3667d484 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x477f64fc umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xbffc3a29 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd3df35c0 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0ba14083 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0c7c2575 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0d78016e __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0fc02440 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1003d5cb uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x103d3ced uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1655a849 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1c5ae29f __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e17f291 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x324ce590 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x397f1831 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x43a2096f uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x444dc932 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4539e5d5 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x46992709 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x46a72439 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d9a220a uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4e6f25f5 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x588bf41f uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x62d9124c uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x66ef85b8 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6e7e584a uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x76760798 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7ad26386 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7b251021 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dfa2d18 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x816b9e92 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8baf3c6b uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9368527f uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xac97316b uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb0335913 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xba8d3eeb uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbda37847 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbf238c1c uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd3d46621 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd4a9ea5d uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdf76dac5 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe285556a uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe5d827db uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf46746c1 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf5701e5c uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/whci 0xe454fcc9 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x14baf198 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x391e21f3 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x5f9ebbe6 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x9ca0c22f auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xa49df688 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xaf33a000 auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xb6f49602 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xbb2e7a24 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xe9122851 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf3d34daf auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0x2c63e051 apple_bl_register +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0xdab0f892 apple_bl_unregister +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1c6b2e80 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x470f12cf ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x612eea9a ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7264f4b2 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7ea80794 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa61a0484 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe1fc8dc8 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x0bbb3d7c fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xb23b38d6 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd87ac1e6 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x194e90ef sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x9d19dcd0 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/vermilion/vmlfb 0x016e6c20 vmlfb_unregister_subsys +EXPORT_SYMBOL_GPL drivers/video/vermilion/vmlfb 0x90c018c6 vmlfb_register_subsys +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x22a7af24 viafb_dma_copy_out_sg +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x292da7a2 viafb_irq_enable +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x2beb457b viafb_find_i2c_adapter +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x30cc9311 viafb_request_dma +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x31469540 viafb_pm_unregister +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x79e6190a viafb_irq_disable +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0xb4f863e6 viafb_pm_register +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0xcaefb732 viafb_release_dma +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0xfff2dfd2 viafb_gpio_lookup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x54fc554f w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5bdda0ea w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6dd8a763 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8f5b1915 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9436477d w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa6f78319 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xce213c0d w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe3685cb7 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfd153476 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x20848f1c xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x1678d866 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x45cafe6a dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xc6dc8c2f dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdef2fc40 dlm_posix_get +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0e71989a nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x166d09ac nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8377b140 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x89fe8397 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8f472948 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa2a9a9c6 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe78e8b0a lockd_up +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x058a14f7 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1beb1074 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c31ed35 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d9fe175 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4408593c nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a9e3fc8 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x788f8736 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7cf75ce7 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7d9daed7 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x87c78926 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8f97b716 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac03fb30 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb34efd84 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb85c079f nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc57f2dba nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc5aeaa27 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd8eaa2d8 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea72d710 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf1432c2f nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x18b88e43 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xfb29d3a0 nfsacl_decode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36a28a9e o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x40248cb8 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4bf63fb9 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5058aed3 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x818efab9 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x8242e08f o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa407ee49 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa82a8645 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc3679d7b o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd898b9b7 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x012860ff dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x13d50934 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x170a7325 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x208ef7c9 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x51911f75 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xcf562cf7 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x025e2d69 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x16b2e575 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4c743681 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5469ce31 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x69cecac3 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7083dbd5 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x89502fe7 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc69442e2 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdc823ea4 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe2bd47db ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe40cffce ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe417d940 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL lib/bch 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL lib/bch 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL lib/bch 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL lib/bch 0xbdf512de free_bch +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xfdfcb8cb raid6_call +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x201d8ea3 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x29fa419f decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x300d7e57 free_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x6fbb3bd9 init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xabda1e2e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xb050f329 init_rs +EXPORT_SYMBOL_GPL net/802/garp 0xa139da4f garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xcc037736 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xd4dd28bd garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xd50b025c garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xdba51a94 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xfce93fe1 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0xa8dad309 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xceced5b6 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0xb50510f7 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0xda2e7f38 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/atm/atm 0x50754510 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xe2c6bb26 unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xef81dd83 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcbf15100 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x071d2c63 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x07aded62 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1bbbf217 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1f145d32 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x28bf7003 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x28f86695 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a082662 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x48326f2d dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4b5bf6fd dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x52deee9c inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e873265 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6213de23 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70ec40cc dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70f29ce2 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x784e0dee compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7c42b5af dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7e6b6e56 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8c051ac4 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x91b0a55d dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9b404d7e dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9b407af2 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9ff4a63f dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaefc97a6 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb8847377 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xba11f55c dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbd5c6e46 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcbe4c1b0 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd2fcf839 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd54c4942 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd9136235 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xddf069ce dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe3691b9d dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe86cea8b dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xea38792a dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf019a18d dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf6fa0f7b dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfbdfb317 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1c246837 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x21d5d85a dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x88a7c438 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa74f2e4b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa99d6d17 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xece2e015 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x333756b9 register_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe9575e95 unregister_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x9dfdc8ec gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xad3c2100 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x507eeeb7 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x53a9c317 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x5d6cf58a inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x9bdfc232 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xcc6ddf09 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xde24f75f inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x67841779 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xb30a9906 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x2c6b8e24 nf_nat_seq_adjust_hook +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x6b6c3d10 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x32913e3f nf_nat_set_seq_adjust +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3de64dee nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x951013b4 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xac6c6465 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xd6a6cde0 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xdfd93d22 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x096a5fb4 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x354d0ba8 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x5aaa10b1 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x82187f78 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xe985328b tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xfcc85b2d ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6eb85693 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0ebb0c3c l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3867a9ff l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4848ac28 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4e683d4e l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4f6b9dc3 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5b7f2e8b l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5c92fff2 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5f5607f1 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x79763150 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7aae6abe l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa1d04109 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe1e21e0c l2tp_session_free +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2e895236 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x51c43344 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x54c387ca ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x72d83877 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7d11f17c ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9f54a457 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc389a846 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc65ea09c ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd0136bde ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x384b0256 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3b8a2443 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x562c467c ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5b41e145 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7896caf9 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80ee118c ip_set_nfnl_get +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x883d6572 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa2d623f3 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xab234a40 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xab5a3381 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xbbc48b06 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xde0f21de ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x2b092961 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xd3e526e5 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe9ea61d1 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf538ecff unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x004ddc51 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0707f9d5 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x086ad73d nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a80af45 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0d343a5f nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16f82091 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x182ae2be nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1843a8f8 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1967c06e __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x19e0ca84 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bc11abb nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1ed0956a nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x21c0ed5b nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2343bc6e nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24ba61c5 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x27b698fa nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2d70d1a6 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31499dfa nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3207b1ec __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32bb171a nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3920c909 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3998f0fd nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d2199ca nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x43516d6c nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x440e7c25 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x48f61a22 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x580f2873 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x58ec3555 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5bfed9a2 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5df4b0a3 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ee875fd nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x703c1a84 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70f9f0eb nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x71670fee nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78be3ea4 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7ac078a0 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8547e7d8 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c414122 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x948ac43f nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9ce6e2b4 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa87852ef nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xabb614ee nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad376df5 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad49c7de nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb1e0e47a nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6778c29 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb84991c1 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0240dd4 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0cd71bf nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6a51213 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6e7b001 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd8e8e717 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc2a7f89 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe40e2c61 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe630335b nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8cd1bc2 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec540765 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec75557f nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeca3efba nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xecdfb36d nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xefc2260c nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf11763dc nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2338516 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2571c15 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf41f5cff nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf758519b nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd02de72 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0xc8443a6a nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x8b547f31 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x63bfa468 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x185b17d4 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3ad9d185 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6a9e01e5 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6b2259ef set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6cc89461 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x764de2d1 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa688b66b nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb6d3d733 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc5025578 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf937e706 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x1335548d nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x07590a4c nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x8925d41b nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x8d1360c6 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa9fb241e nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x2e7adb45 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x91c639d2 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x07e2629f nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x24939e67 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x45516c04 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x47c8c6bb nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x55372f1e ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x560639bb ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x759f1536 nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7b0136e7 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7d03c2b2 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8b3e92cc ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8df031bf ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa0a6c0d5 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdaccf35c ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xc611f4b7 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xe70750e4 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x811497a6 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1888be9b nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x48fdf60a nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4b6d1ed0 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4dab2ae3 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x851c7f41 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xce777142 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x768f02fc nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x514b0de4 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1a16ba72 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1be7477f xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1c2d87f0 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2d3701ea xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3451497d xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3dd8596d xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4cc3e744 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x65f5532c xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x691a6d69 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x74ca2773 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9bad72bd xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa23c217b xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc917b78c xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcc4d64fd xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd0e6dce9 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd489c6e4 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xdb278e45 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xdb646967 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe3b3373f xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec24fd82 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf5653dcd xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x3bf0da4a xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xea127120 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x01694b5b rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x08952f12 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x0aeb5076 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x29eb7395 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x322fefd0 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x32bd6b75 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x3b4fc0fc rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x433e3501 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x4d90224c rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x50bdee2f rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x50cbe7b3 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x5257e51f rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x579de929 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x6b430f6a rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x6cd73a80 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x79235afe rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x79531f17 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7bc62829 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x7ec45b7c rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x98a247fe rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0xb3d70c8f rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xbc4dfdb8 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcd402ead rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xd6b40023 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xd89aa324 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xe963c0fb rds_conn_destroy +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x8e47e18e rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xa3c7aec8 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x06df10ed gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1f061577 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2bd24c17 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x373f7ca0 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x42ecd002 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x80a73b08 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xcc9ce8ef gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd1d01963 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd5576671 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd60a3960 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe1e34d29 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00da7d16 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07aa06fc rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09de1639 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a269f17 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a27aa17 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d8220d8 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1060b7c6 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x118b6fa0 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x138918ad xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18144c9f rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b6d3aa0 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c6368d0 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ce15c12 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e0aa512 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2029edb0 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x219d2048 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21a706e6 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21d97de9 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22351d88 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24680ec4 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24bc9eaa cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26248df7 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27108d51 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2711de30 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29c57d2c xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c5aa02e rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c70b7ae rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d146366 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2db57ae5 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8da037 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3040527d xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x306d64c0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31ef628c rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33fdd645 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39456214 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40011042 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41ed8fa2 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x420e1695 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x434ad83e rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44636b46 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x465210b3 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47087d81 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x485d39e4 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a777117 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cf63515 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d706fa0 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e9baf45 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f95f932 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x518b6345 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52a2a67e svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x550e8b74 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5923180c auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x597b59e2 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a55d550 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ad8360f rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d66939c rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5edd4636 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66a4072e svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67a28f61 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d0b7c25 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d2da138 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eee86e0 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ef43c76 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f83d2cf svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70b0a7fc xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71939fa3 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x773fbf3d svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77ef40d5 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x783723a4 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x795dd3b8 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x796acf1c rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b459b36 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c772405 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dc3e746 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f267500 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x809e6aed xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80eccb41 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81264967 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x823868e2 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x827870df svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84573817 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85991a04 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89d3d95a rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d14192d xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8da70ca5 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8da9954d rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dca571b rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e427636 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9135df07 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x918799d0 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x923a8d45 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9399112d svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93f91c15 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x948aad04 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95388df3 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95453b88 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x988922f1 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b0f94de rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b80d90f rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d6efa22 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f5d0518 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4863b10 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5ff4252 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6569435 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa766abeb rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa82b95fa rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa91adf6a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9d076fc svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac5e650a rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacdf3d52 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad169f83 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1212541 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5197948 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7237acd rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb712549 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbf6b7dd xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca4d28b xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbce2d41a svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbebe7e22 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf3123e8 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc156019f _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2f5adff rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc41155bd xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc431a351 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5a26b61 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6b884fe svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6cae1f1 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6fcb075 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6fe4d40 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9265a86 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9b0500c rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbb106d4 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc4ce618 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccf75c98 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf26159d svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfbbe3b0 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0511bbd rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd513d4de xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda54be1b svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda6c783f xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdacbeb5e svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcaf1176 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde2633bf rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdebd04be xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe01f8614 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe171e046 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1753fdd xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2cb7c54 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3821133 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe44bab11 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe46f1aa2 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe51ef001 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6d6a052 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe80d1756 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9823b80 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeee69ad9 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf02dd852 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf211429a xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2eaab43 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf37559c0 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf385fa94 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5cef0a8 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf71f1b0a rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf76c4fc7 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf781fab1 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8a7fdbf xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfaf91472 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd4376ce svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe7f467d cache_destroy_net +EXPORT_SYMBOL_GPL net/wimax/wimax 0x08dca088 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x139ab433 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2b78c2d8 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x39e53b43 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6fcb4380 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7556742e wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7b912e60 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8501d2f3 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8c180f39 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x91cfad16 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbf81ec31 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcf014380 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xddd44716 wimax_state_get +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x02feef76 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4d89d8e0 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x61bf0f44 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7c575a3b cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x90988cfe cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x96bb765c cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xadb4b447 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb4c3dbce cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xba90830b cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbe6fe3f5 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xecf7ba6c cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x3108ea46 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x4d4fd5f1 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xadd848fc pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaeea3073 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x41f72b00 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x8d2b8f22 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa1e63d5a ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe2a42c12 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/core/snd 0x0e3e42a7 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x8ba62316 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd 0xd02677f8 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xe4a21bc8 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xf9bf4825 snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xd6e2090a snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x25dc4c2d snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x27c58df1 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x8da6cc62 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xa4ca69e3 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xeb861237 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xf8255ecc snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00199427 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x04de0643 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x06a4450c snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0881872a snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x08aefd89 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x092f0969 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ada03e5 snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c557e37 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0cdcd2ba snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ce4c396 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0fba9d3d snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x104e1bf8 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x124f075e snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x124f4109 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1662a916 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1721212a snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1941988d snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a5f1abf snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a858f6c is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c13f44c snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c8afe42 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x222d1d18 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2233d5c6 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2729e72c snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27985a8d snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2851117f snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a448193 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2abc88d1 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b554553 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2bb93d42 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ded233d snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e413835 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e565400 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2fdce244 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x317b7066 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x31c0c1f2 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x332d551b _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ff4e81 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x39d2d596 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3dcabc99 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41862d06 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49fa119c snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a84a975 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c07c413 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4ccb77ce snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dd3a25e snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f20059b snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53ae3fb3 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54c6a8ed snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x568580d9 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a1118db snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c5bc20b __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5db8c7c9 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6732b0b3 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a4fe1ba snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c7b1fbd snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x706d464c snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x720417b1 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x775f52f5 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77b737b1 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x791cdb6c snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7bcf5ee8 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ea9b442 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87669bfe snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x89d9986e snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ae91398 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8bdf4f2d snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ffb1959 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9084dd21 snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9516d600 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9699fc9e snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x98f2d476 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a74e939 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9e4f6e61 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ecf1f06 snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ef4c776 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa83e4ec9 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa921c605 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa9517d47 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa9e2c732 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac17194e snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xacb1444e snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0c9a929 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb3234ac snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc765279 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbcb121ec snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd4a325d snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1059244 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcab5a5a4 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd0b63d7f snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd65ba836 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6b4ef13 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb577450 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdbaf6a6c snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf423651 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5969863 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe85e9411 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8d1eb50 snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9d195e7 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeac8b6fe snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb996805 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed37d871 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xefa99db6 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf02bed4b snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf103453b snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4cdf78a snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf611ace6 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8b926a2 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf93b99f5 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9eef3d1 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb22f7e4 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfbb53577 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfd274ef1 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfda1a3d3 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfdfa052c snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff67c8eb snd_hda_power_up +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x23482953 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x6c98e4ae pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x2532b376 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xa0a354f6 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x28918fff tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x7b2f574f tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x17e58d38 twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x54d3c8db twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xcc4468d3 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xcca7638e twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xf67cea6a twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xc49a638b wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x03574bbf wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x055d8102 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x0fc29657 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x861f4352 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xbfc320b9 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xce2f7ecf wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xdd51e2c8 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe22fc96c wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x72567afc wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xe40ce239 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xff0b9d1d wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xd595158f wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x3eb79213 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xd72a7ad4 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0xfac5b3d0 wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02d12199 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0613ecda snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08ac9c42 snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ab38773 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ae95e74 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b12a5ec snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c5ca931 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d68230c snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10242869 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16e9bdba dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18cf4fb9 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a446ce2 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a57cae0 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ceadc37 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1fb9f1ad snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21295abc snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x233bca1f snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2520d595 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27c4a674 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29b56217 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2c85468a snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2dd84703 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ecbd982 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2feb230c snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3049a6c2 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x357ce915 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39209459 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a56da72 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b099b31 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c79ac48 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f156629 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f8f7864 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3fd1b45b snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x408cca3f snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4287815a snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4421b055 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x447247b2 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48c517ce snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a29e246 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c1a8f69 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4eafb2c6 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ebf6d83 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f5cbff2 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51c26c8b snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5874a233 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a55c9fd snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c241883 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6011891b snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60f72e81 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6190a1a4 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62816302 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x631db850 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66360bf5 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66b4a91e snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x681a44d4 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6cb34079 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ce77a55 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70957ab9 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72582353 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72bea348 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x743151cb snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7643f924 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x783cc6aa snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a3ece4d snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b0a94a8 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7be76fac snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c78ba60 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7dba1ae3 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8102729b dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x814e3cdf snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x824e9c54 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83b09a91 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x871ef3af snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8791fd41 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x879faa81 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8dffa502 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e0bfe1a snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ffabb1c snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90a51a5f snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x948f3889 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x982e7f8f snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x995d404c snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99ededcc snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c2cdfdf snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d870e6b snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa99e21e2 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaddd3e91 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaefcf5c7 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf7a3970 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1c9e567 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5547591 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8a0ee79 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb9136d86 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb92e1a2f snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb9fcedd1 snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbce6f0f7 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdb2f41d dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbea6f04a snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc08e371f snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc3f9a8c4 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc519928b snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc837a674 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8e0e69d snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc16e42d snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1a116f8 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3e3b55c snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd499fca1 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8f60f74 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9105276 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbbf8935 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdcd9b97b snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd31cbf5 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdeaa9669 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe01b668e snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe21568db snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe47c89be snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe4a9cad2 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7f69459 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed25b00a snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf101856f snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf429abe4 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf5a7e24e snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6089da2 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe7cc338 snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfea7bf41 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0x0e45c1ba i915_hsw_gpu_turbo_disable +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xa49a445a i915_hsw_gpu_busy +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xa5a57a4f i915_hsw_read_mch_val +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xb7d6f553 i915_hsw_gpu_raise +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xff5514d7 i915_hsw_gpu_lower +EXPORT_SYMBOL_GPL vmlinux 0x00064d22 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x0012a90f xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x004f78f5 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x006bc072 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0070ef14 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x00768d85 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x007ccf42 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00b2502b debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x00b4d307 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x00ba5363 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00f94fde register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x01274b2e sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x012ea293 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x01330a06 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0144d04e pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x0182e109 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x018832e5 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x01907ad7 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x0197d386 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01d35358 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x01d57217 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0235a276 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x02448233 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x026211e2 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x026ae228 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x029285f3 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x02a37b84 xen_swiotlb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x02abe670 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x036d2e8b tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x03a3f86d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x03a61a1f blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x03e41406 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x03eca9a1 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x04262713 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x043e2970 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x048ae0cd xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x052991fc class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0563b9d8 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x058510cd tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x058624a3 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x0587687b dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x0592d28f tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05efccf2 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x05f3bb03 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x05fd0174 md_run +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x062fc169 xen_hvm_resume_frames +EXPORT_SYMBOL_GPL vmlinux 0x0634e494 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x06357c3d inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x064754cf relay_open +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065ce903 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x06c52f0f fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x06ca4121 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x06e10146 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x07060693 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x070c5927 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x07231e8a dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x073f9af9 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x074864a1 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x0756790a pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x075e8768 pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0766a8e5 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x0769b1f7 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x076a98a0 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x077f6649 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x079a8994 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07bfbf0e hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x07d7002a iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x07f1de1e cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0813dedb __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x085b9762 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x086953ca tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0x087d025c elv_register +EXPORT_SYMBOL_GPL vmlinux 0x088bfa7e cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08bc0870 compat_put_timespec +EXPORT_SYMBOL_GPL vmlinux 0x08d0cdd5 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0x08f0f8d6 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09660831 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x09a136dd debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x09a7cae9 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x09d9c22b unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x09f7dd4d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x09ff350f xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x0a21ba29 __remove_pages +EXPORT_SYMBOL_GPL vmlinux 0x0a288348 flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x0a413d9c ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a4b78de shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x0a6ff492 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x0a76e814 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0ac1dfce __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x0ad0e4c1 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x0ad5165d cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x0ae43b96 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b19ed7c apei_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x0b3875d3 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x0b3e22e2 pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b53cdff crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x0b680e4b rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x0b7b9554 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bd518c2 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0be8cb31 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0bf907e9 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c04e061 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c1be37a tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x0c1ec031 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x0c24b63c xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c63054a rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x0c65d6c2 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x0c67e499 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x0c6b6676 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cbcab3f adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cc2ced9 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x0cd10a4e work_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0cefd4ae crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x0d0f4d34 xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0x0dc720a6 acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x0dd0b0f5 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x0dd555c1 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x0e02e677 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0x0e12e38a i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e17089a tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x0e213889 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x0e22ba68 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x0e3380eb device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x0e6e6fd1 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x0eafb9a9 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ecf823a static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x0edb5a5c cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f1cfc9a fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x0f2e4fe6 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f8e756f bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x0fa138de xen_hvm_need_lapic +EXPORT_SYMBOL_GPL vmlinux 0x0fb4de92 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0fc5bb5d con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x0ff67d67 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x0ffe21b0 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x10059a45 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1017ea08 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x101e86d8 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x101ef2f3 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x1050dd5e da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x1057d22b dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x10666f48 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x107e9501 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x10b1a50b wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x10e07331 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x114f1a20 balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x115d68c8 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x116941b5 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x1176057b device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x119af014 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x11ba50d8 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x11c934fd pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x121f73bb usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x12352a8d debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x125fa136 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x12c13e31 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x12d7eccd driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x12fe55bc set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x12fed638 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x130344d1 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132e60b8 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x13352c74 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13e248fb blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x1401c73f xen_swiotlb_map_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0x1416c8d6 put_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0x14231f69 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x1436904c cpufreq_get_measured_perf +EXPORT_SYMBOL_GPL vmlinux 0x144bb1ec usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x14542786 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x145fd596 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x1484e209 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x14ce2544 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x14d4d0aa xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x14f5a957 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15010e1f arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x1501bf65 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x15026a32 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x1513a969 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x151c16fa crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x152021e0 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x1528f65a dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x152aeb08 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1574ef18 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x157f6557 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x1582f5c7 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15b0606e e820_any_mapped +EXPORT_SYMBOL_GPL vmlinux 0x15b83a26 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x15ebf04d wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x15ff41af led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x16019b51 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x1611d699 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x163548d8 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x1673e1f2 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x167aa564 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x167af4fc ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x16e3552c crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x171839aa pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x171aac7c fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x1724f34a init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x17266b61 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x17513e5d anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x17643983 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x1769e05a hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x17c96f35 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x17ed89de debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x1818ef18 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x1848d7d7 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x1853653c btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x18582826 amd_pmu_disable_virt +EXPORT_SYMBOL_GPL vmlinux 0x185bfead pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x18609d34 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x186dd59b inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18b4d427 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x18c023c3 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x18cdcefa posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x19153c59 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1928bb46 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x1931364c crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x19398117 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x193e3f6a gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19ae6f98 xen_swiotlb_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x19e1beb2 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0x19eebdcf __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x19fc1dcf netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a00a361 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x1a04f6e0 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a26679a ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a418839 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x1a6fb3d8 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x1a7a37ff register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x1a9074f7 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ad8d1ad blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x1adf1dbe ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1ae41ce8 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x1ae9e5d2 register_mce_write_callback +EXPORT_SYMBOL_GPL vmlinux 0x1b1436b6 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x1b1d8bd3 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x1b3c9291 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1b683779 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x1b75b8e4 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bae6b07 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x1bb0e917 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x1bcd21d3 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x1be65e71 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x1c044dce regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x1c28145a timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x1c318c14 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c89468d ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x1c912eb7 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1cb289b9 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x1cc3c398 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x1cfc7324 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x1cfd95c1 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x1d135d7d device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x1d459685 xstate_size +EXPORT_SYMBOL_GPL vmlinux 0x1d5452a4 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d6ee6fa sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x1d739e1c xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x1d7f5d24 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x1d9362d1 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x1d9dda0d tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x1dcd2969 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e48fc1c pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x1e74c157 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e84e4ad ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x1eacc1b1 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ebfe88a wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1edb78d0 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1f13b41a rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x1f40e086 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fae6709 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x2007adaf iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x204365e7 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x204fa599 xen_swiotlb_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x20645717 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2064a1d1 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x208d451b max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x20912617 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x2096fce9 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20dd1dc8 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x20e918b1 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x21128ddf device_del +EXPORT_SYMBOL_GPL vmlinux 0x2120d98f sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x2121dfa2 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2154633c generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x21647a8e pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x217134a7 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x21a2052e dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x21b56c93 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x21be2c68 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x2205c7b3 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x222736d5 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x223784dc apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x223cc3b8 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x227760a1 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x229b61b3 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x22ce2c0b virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x22e3df5b set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x22fb0cfb usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x232e9b3d blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x23621af3 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x237f9692 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x24011e14 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x243ac3db task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x243d1e0b class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24510e26 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x247fb0a9 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b526e5 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24d032bb power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x24d5517b fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x2500d386 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x2525c809 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2537d60c led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x254768fb crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x255066a5 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x25564af8 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x25581bac watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x25c1c454 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x25e4d631 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x2604da1d dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x2609ba0d platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x26136b9c pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x261804dd ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x262c3f66 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x2646c73d acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x264ac8f0 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0x26576139 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x26716e04 xen_swiotlb_sync_single_for_device +EXPORT_SYMBOL_GPL vmlinux 0x268a6bf1 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x269bcd38 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x26a38db6 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x27089d62 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x27261d3a pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x272a8754 virtqueue_add_buf +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x277140b6 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x27820549 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x279349eb crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x279cb985 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x27aeda5c fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x27b2325e usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x27c0c4be eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27f38452 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27f945bf relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x27fa4f95 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x282ebbc9 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2838ee37 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x289cdee6 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x28a607aa ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e96662 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x29096e34 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x29098c51 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x290d4a1c dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x292a8167 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x293aa6c5 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x29411c5b __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x295b118c usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x2969a15c rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x296cc200 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x2970864f xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x29868518 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x29c754e4 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x29e696a8 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x29f51cbe sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x2a02c884 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x2a258a2c find_module +EXPORT_SYMBOL_GPL vmlinux 0x2a2d719c inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x2a3af3f3 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x2a61c553 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a87285e alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x2a9cdc86 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x2a9f6e32 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x2aa617cf mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x2aacb9e9 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x2ac1db44 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x2ada9d6f dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x2b0c09fe ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x2b41ceb9 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x2b926d7e xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x2ba4f6d4 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x2ba5cd0a dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x2bc06d48 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x2bd72b76 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x2bf98a62 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c214a06 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x2c3761e3 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x2c7d9c64 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8564ec platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2ccb4d4b md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x2ccd0cda gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2cdda7a9 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cfc94d0 ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d4298ad register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x2d4509fc md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x2d59c954 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x2d82be33 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x2d8a531d class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2db61994 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x2dba276a __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2df80cb4 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x2e120794 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2e1da9fb probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2995a6 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e331111 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e68e570 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x2e6ffd06 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x2ea9ad56 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x2eb1d10f xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x2eb422af spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ecb861c md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x2ed8f019 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x2eec436f usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f6902e1 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2fcff964 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x2fea4c29 trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x2ff9467f usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x30094001 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x301b2d17 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x30646966 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x307e1258 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30b6856f ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x30d8c27b usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31193864 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31502b39 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x315d4ac3 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x316eae64 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31e48351 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x31f6226b usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x320a8fc3 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x321bdbb1 compat_get_timeval +EXPORT_SYMBOL_GPL vmlinux 0x321e194c skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x325231e1 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x3290c064 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32b57578 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x32bded08 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x32bfbfca fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x330e600f ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x330f91df ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x33390fdb udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x333d90a5 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x33712103 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x33b96e5d apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x33d5e778 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x33ea5d74 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x33f7ab15 get_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x341ba172 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x343be3e6 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34441bad ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x3465fce6 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x346d7400 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3495ba93 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x35108415 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x3513d4af xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x35234f07 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x35339331 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x35445abb usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x356400cb usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x3589facb css_depth +EXPORT_SYMBOL_GPL vmlinux 0x35bdcd3e unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x35beaf7f xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x35e173c3 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x35e1786e regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x360eb36a usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x3627c920 __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3649f951 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x365a1d1c crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x365ca30f pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x368f1fea static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x36a03e93 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x36a05398 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x36a31050 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3761a7b5 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x37c6c024 zs_free +EXPORT_SYMBOL_GPL vmlinux 0x37d36afd hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x37f1ffbf gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x37f3f3b2 xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0x38620e38 gnttab_grant_foreign_access_trans_ref +EXPORT_SYMBOL_GPL vmlinux 0x386c4629 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x386d0ee2 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x387bdff5 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x38a0bbeb usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x38a71ad0 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x38b2b8b4 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3946413a class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x3953b819 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x39a8f841 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39f09a18 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3a06965f each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a38dc65 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x3a4b4184 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a589a65 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x3a5a8769 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x3a75b676 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3a831a97 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x3aa24773 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x3ab848ef ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x3ad0e201 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x3af26d58 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3b28e20c blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x3b419236 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3b4e4e16 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3b7145bb apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x3b71d62f inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x3b86447a usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x3bc95a57 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x3bd2ad6b usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c09c883 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x3c72e733 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x3c869928 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3ceb617b shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d195234 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x3d25844e platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d470604 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3d5f392d acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3d6fb878 queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3dc25675 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd0c14a page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e0373be sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x3e0db86f ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x3e0e55c9 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3e3bfe19 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x3e5677b1 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x3e6e7f22 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3ee04a9c crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3ef86105 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f08cd2e ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x3f229c4c oops_begin +EXPORT_SYMBOL_GPL vmlinux 0x3f429bd8 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x3f7d32c6 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3f8659e8 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x3f8a7a1f pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x3fc72d3d __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3fca02d9 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x3fcd8906 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x3fe92d0a mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x3ffaa6f1 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x400ed7b3 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40697955 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x407367b6 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x40903a48 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x40a14649 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x40abf262 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40bea183 blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x40c9f343 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x4103f882 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x412421da wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x41571eef device_move +EXPORT_SYMBOL_GPL vmlinux 0x41577db9 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x415c807e crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x41745013 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x417ab30a eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x41809888 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x4180a503 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x419d17a3 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x41acb540 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x41b1f7c5 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x41b22154 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x41bbdf99 xenbus_dev_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x41e3c073 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x4209b199 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x42203770 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x424cab46 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x425eabf4 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x426b5074 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42803fbb devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4297b25f firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x42a3b9f8 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x431e8b92 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4336fcf3 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x435db16e subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x439bcf03 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43dcfe91 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4401c16e dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x441ef59d __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x4437a307 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x4437c9fc user_describe +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x445a9f63 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x4475cc6c cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4491895a sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x44bcd171 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44d36cdc bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0x44e2dee6 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x450fb522 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x45324109 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45b7a69c crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x45b844bb uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45c0a3cb tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45d9b9b2 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x46238da4 __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x462f4667 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4637c0ed crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4671ca9e skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x468af37d da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x46a1b12c usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x46d9f6ef crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x46f732de queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x46f7d94d bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x4705599a skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x47071794 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47c2a7ce debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x47d1adaf da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x47d5fe66 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x47e53cdd ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x47f1f1c9 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x48682db9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48b47bd9 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x48c1dffd blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x48d8926c device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x48edfae8 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x493fa176 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x4941001c crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x49444431 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x494be47e ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x494ca974 apic +EXPORT_SYMBOL_GPL vmlinux 0x496b56d1 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x4978799b exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499f905d flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x49d076ff netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x4a109d4a pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4a58b25d driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4a90160e bprintf +EXPORT_SYMBOL_GPL vmlinux 0x4a97ab32 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4affd08b put_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x4b0388c0 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x4b1cba22 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b43112e serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x4b4f4208 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b7a73cf init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x4b9dfe4f sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4be45915 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x4be76e28 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x4bf0d6d1 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x4c056417 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4c6cccb2 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4caa95db evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x4cdc7f48 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0x4d2806d7 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x4d4561e4 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x4d5415c1 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x4da954ba inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x4dc33dd3 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x4dd41fed cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4dee3787 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4e0832ad regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e1b63b1 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x4e57723d apei_read +EXPORT_SYMBOL_GPL vmlinux 0x4e688435 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4eaccaab sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x4ec7b8e3 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x4ec80db1 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x4ed215b8 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f1ac894 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f1e3fcf crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x4f2f0e8f fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4f651bd1 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4f6689d2 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x4f67397b usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x4f9f1fee cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x4fc5ffa8 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x501767e7 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x502d674a __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x50534181 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x5057ec32 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x507de8c6 add_memory +EXPORT_SYMBOL_GPL vmlinux 0x507fa3ca ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508ec835 swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50b328cc sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x50b3bd55 ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x50ba3bec acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x50bc6901 xen_swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x50c0ad37 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x50d059d3 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x50d1f870 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x510d0d94 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x5122b310 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x512e9d17 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51cd20f8 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x51db2031 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x520b9fed init_fpu +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x5223b833 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x52287b75 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x522f538b tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x525b89d5 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x5279b576 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x52b2ee75 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x52da83d2 xen_swiotlb_sync_single_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x52daeaeb spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x5301103c get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x539070b5 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x53977b9b usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5398fbf9 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53d9c7d3 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x5415c783 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x543cf39c ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x544c364e platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x54696cf6 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x548ed96f invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54acec88 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x54b23e08 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x54cd9b04 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x550dae9a usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x55228017 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x55349eab uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x554b5fdc map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557dd91a regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x55814fca ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x5583bdff relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x55aadf2f rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x55b079cd tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x55db9fed debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x56023b1d cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x560e7c0b blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x5629b066 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x562b9321 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x562e95e8 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x5654f836 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x566e8793 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x569aac40 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x56d697ce cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56e7d899 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x570f3f71 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x5723d258 task_xstate_cachep +EXPORT_SYMBOL_GPL vmlinux 0x5736b3ae sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x575c5f94 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x57689dda tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x577f77bf __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x57845250 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x578d7e77 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x5793c559 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x5797e85d register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x579867d7 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57ac7c42 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x57bf60ef ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x57c4691b queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x57cbfdaa mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x57ce41fa skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x57d1c0e3 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x57db2d03 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x583959ec uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x587fc634 print_context_stack_bp +EXPORT_SYMBOL_GPL vmlinux 0x5882f923 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x58910fc0 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x58bdcba6 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x58c4fb2d proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x58e02149 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x58e21f3c save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x592ad4ed rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x595578c9 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x595b804b ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x596f0342 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x597ae852 zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0x59876c06 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x59a85481 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59ca7e7d inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x59d6fa35 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x59de8b5c wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x59fc0064 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a48fba2 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a4ce74e uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x5a59aa5c class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x5a726186 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a89bbfa fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x5a98364b pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x5ac2727f smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5af8877a sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x5b0e0ebe power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x5b103f76 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5b1e0fa8 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x5b2b19fb sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x5b435139 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5b4bd37e rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x5b52e1fc tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x5b657ebe ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x5b6b8d09 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5be66383 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x5beacc53 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c00d6d1 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x5c1830af ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x5c7f54b0 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x5c8916c1 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x5c9d3dfe pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x5ca93699 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5cd32a7d class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5cf8a882 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d36c5e1 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x5d48a650 m2p_find_override_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5d4994ce power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d6d3a17 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d77952d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d8c902e blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x5d8e4744 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x5d8eb031 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x5db46246 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5de9026c spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x5dedd660 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e051167 bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x5e1a3daa usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x5e282ba4 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e56dc5d ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5e69ec34 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x5e6f7d5e synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x5e6fe1f4 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x5e8e3e90 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x5e949e89 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5ea0f6a4 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5eb7cbd2 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x5f147401 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f386d8e call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x5f3f760e print_context_stack +EXPORT_SYMBOL_GPL vmlinux 0x5f41217a yield_to +EXPORT_SYMBOL_GPL vmlinux 0x5f79a98b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5f9c13a4 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x5fa67f92 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x5fc22b3a inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x5fe5dcac ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x5ff0e8f4 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x6012462c xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x6062cd57 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x60677eeb bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x609d963c m2p_add_override +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a6242c swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0x60aeb061 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x60c95350 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60da979c sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x61109671 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x61126bd3 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x612bae06 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x615103ae ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x6194ffea do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x619d85a8 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x61b3124b wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x61b758bc tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x61cd9ef9 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x61d587ec tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x6205cab6 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x623803c8 hest_disable +EXPORT_SYMBOL_GPL vmlinux 0x624d7a50 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x624f5c14 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x62947c6b fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x62c56301 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x62d415fc wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x62df2c11 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x62e6822a wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x62f43465 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x632f4c18 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x63589058 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x635ec980 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0x6367aedc shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x6370abfb __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x63720b66 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x6377bd64 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x639eb58e __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x63c5cc19 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x63da5de7 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x63da848b input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x643771d5 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x64557ee3 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x6473f74f usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x64af8af3 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x64be091e led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x64c1e34e crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x64ed9359 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x652a172c tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x6551e18a __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x658116a6 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x658e1f75 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x65b899e7 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65c33cdf ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65fce63f scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6622bf3c __online_page_set_limits +EXPORT_SYMBOL_GPL vmlinux 0x662b2b84 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x66343ac4 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x663c16d6 gnttab_grant_foreign_access_subpage_ref +EXPORT_SYMBOL_GPL vmlinux 0x6659a93e rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66a4675a blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66c1de37 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66dc9df0 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x67065206 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x6706efac __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x673a1863 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x678dbd09 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x679388dc vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679b4ffe dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x67ab3d48 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0x67dc9b86 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x680d8442 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x686d40c0 user_update +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68cba879 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x68dc1ca2 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x6904684b driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x690e50b5 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x691c57c2 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x6921aa34 compat_put_timeval +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x693456e7 input_class +EXPORT_SYMBOL_GPL vmlinux 0x6938cc69 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x69539305 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x695b5840 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x6977acdb raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69c3b648 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69d1ccfc alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x69f5c800 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x6a2e568e sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x6a517590 device_create +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a6cafd2 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x6a820c76 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a894fb5 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x6a947ffd tpm_bios_log_teardown +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6acad21f acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x6ad2d082 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6b20205c relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b2fcead mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x6b53e38a rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b82c2c7 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x6b8d1c28 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x6b93bf60 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x6bdd6294 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x6c1251fd apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x6c32c1fd virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c63c7ca xen_swiotlb_dma_mapping_error +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6cca9e59 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x6cd689d4 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d87158c adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6d9975a8 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6dc4c0bd sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x6dd592c6 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e727b68 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea45fe7 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x6ea98361 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x6eb01be9 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x6eb34ef4 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0x6ed60a48 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x6ed99224 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x6edcc464 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6eed01cf regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6ef8481b usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f73ebcb crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x6fa4cf38 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x6fca6d57 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x70348224 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x706f4c56 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x707d92ab ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ad3fc6 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70e44b38 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x71236b3f fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x712374d0 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x71325b56 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x71eafdf2 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x722fcfeb crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x72523055 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x727e84b4 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x7296c64c tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x72adb535 ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72d7700f acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x72e32be2 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x73013896 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x731433ee unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x73466fd0 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x737615b4 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x737b618a scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x739349fa free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x7395f1e0 use_mm +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73abc95e swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0x73ba6b46 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x74293445 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x742e40eb xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x74366d01 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7443898c usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x747b08a8 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7488553b debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x748d801a pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x7497abbd usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x74a46034 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bb58b1 css_id +EXPORT_SYMBOL_GPL vmlinux 0x74bfc095 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x74c08941 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7539c75b cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x753cc6d8 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x75419296 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x7557034c bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x757b49d2 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x757ca21a __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x757d1341 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x757d4ebc spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x75a1ef0d register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75ebfb1e tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x75f5815a scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x76175ff5 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x761a57cd tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x76537864 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x76a408de rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x76b6246d rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x76f63b7f blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77166444 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x772233f9 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x772c63c4 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7739af68 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x77527c9e zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0x775a6ef5 kvm_read_and_reset_pf_reason +EXPORT_SYMBOL_GPL vmlinux 0x776a886a __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x779b2db0 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x77d5dd73 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x78074bb2 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x782ef227 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x7831ed35 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x78552dac xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x78672a74 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78a5c3df pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x78a61f3f pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x78a8f83b br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x78f442b9 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x78fc4ab1 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x793b00aa usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79714f40 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x797f6620 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x79908bb6 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x79ad55c4 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x79aff33f wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x79bab573 mmput +EXPORT_SYMBOL_GPL vmlinux 0x79ced8b8 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x7a0a0438 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x7a0dc22e ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7a0fedee crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a63a226 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7a7c5175 amd_erratum_383 +EXPORT_SYMBOL_GPL vmlinux 0x7a81fc27 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x7a8de09f dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7ac8e5b0 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7af31799 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x7af3af11 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b258088 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x7b466f98 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x7b6799d1 put_device +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7bb4f2ba ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x7bff79ea __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7c54e976 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0x7c689434 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x7c9ba51b crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x7cafd058 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7ce65915 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d155f9a __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d8bde7a scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x7d9d305a stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dc6b9cf xen_swiotlb_unmap_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0x7dfdf2ba crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e1ecdc5 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e452e54 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x7e594746 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7e5e301f unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e66f54b ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x7e6901ff fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e7c81ef locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x7e9f6016 xen_swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x7ea1a2bc probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x7ea221b6 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x7ea84a3f xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x7ec22f9a apei_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x7ec3a793 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x7ecb4066 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7ecba5bf tpm_bios_log_setup +EXPORT_SYMBOL_GPL vmlinux 0x7f210c65 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7f57930e ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x7f5ba5b1 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x7f91d91d ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7fd1b084 user_read +EXPORT_SYMBOL_GPL vmlinux 0x7fdb8d84 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x7fe88c21 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ff83c8d dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x800f6690 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x8037428e __class_create +EXPORT_SYMBOL_GPL vmlinux 0x806e502f btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80afe525 flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80d633aa key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x80f9c153 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x812bd945 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x81321b05 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x814332ad relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x818c28c1 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x8193ae78 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x81c116e2 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82373da1 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x82440aef trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x8251df10 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x8253784c kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x8259bf41 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x8265dc00 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82a0ee44 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82d53fd1 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82dbec19 erst_write +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x83599c09 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x838a21ea regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x838aeea6 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x8397122f ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x83b1d215 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x83b82efa rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x84009391 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x840cb8fd __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x84749a84 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x8487a2b6 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8553bc88 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8585d582 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8595a0d3 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0x859aea9a xen_set_domain_pte +EXPORT_SYMBOL_GPL vmlinux 0x85a0939a disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x85ae2dbb md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85e1d54a regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x85e5b67a tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x85f2b734 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x85fa44ee __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x862746ff crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x862f98a3 xen_create_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86eff299 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x8706f57f sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x8717c670 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x871aafeb usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x871b8baa __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x876bce79 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x878f36fc ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x8794cd19 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x87cf0a90 injectm +EXPORT_SYMBOL_GPL vmlinux 0x8800f6ee cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x880edb75 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x881be8ff regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x883b7d7e spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x885cd29c unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x88900992 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88e1a688 xen_swiotlb_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x88f0c463 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x88f64381 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x88fa5703 cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x892464c7 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x89344170 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x89502f0c gnttab_subpage_grants_available +EXPORT_SYMBOL_GPL vmlinux 0x8956aeae apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0x897b490f crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x8982a5db led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89d98261 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x89e0eb2c vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x89f73f19 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a15d245 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8a1ace25 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x8a22074c apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x8a3e3a7e __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x8a3e8877 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a5f995d crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8aac8306 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8b04668e bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x8b39cf9d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x8b6386d9 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x8b66f9e0 xen_platform_pci_unplug +EXPORT_SYMBOL_GPL vmlinux 0x8b68ce9f usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8b6ad81a class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8bc35b74 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x8be7ea29 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c12b1dd unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c668199 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x8cbf5dfd ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x8ccb7501 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x8cd4348b sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x8cd9f935 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0x8d11672e devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x8d7621fb dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x8d92d1e3 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8da85192 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x8ddab582 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x8e4c123b rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x8e524c2d crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x8e7869d3 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x8ea914af hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8edfc605 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x8ee148e3 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x8eeb265a cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x8eee737b usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f5cdcd0 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f7213b2 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8fbc647c spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x8fbcebde shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x8ffccc23 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x9003aa50 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x902089a9 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x905c8a5c __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x9064c7b4 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x90862418 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x90891681 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x908f8699 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90af2c4e blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x90dc29df aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x910cf47c sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x912d46eb devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x9140d5dc rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x914d83d5 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91807aa4 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9196706c ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91eb484a n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x92560281 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x92ab8174 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x9312d80e evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x931ef50b bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x93260715 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x934da3c4 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x935da625 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x935feda0 swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x9372a319 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93abb1c6 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93fbed9b __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x940df3fb class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x941e14a1 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x941e5174 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x944f6b8b mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x945afc5e blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x94833264 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x94956f5c xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a2417a crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94ac8e43 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x94c318be apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x94ca7b27 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x952202e3 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x957d6703 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x95a14e25 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95cfcb3b sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x95d17b3a exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x95ff72c7 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x962b996a ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x964add15 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x964d5c39 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x9654dd57 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d7a179 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x96f2c59a cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x970d9ec1 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x9713d124 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x97182662 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x971e34c8 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x973b0399 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x976c62ec pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x97726be4 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x979d14ba fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x97ba3e92 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9873d0e9 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x989e7c2c fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x98b6f2f8 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x98b8178b debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98ecf7ce raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9962c883 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0x9980813d debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x99b8cb6e __online_page_free +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a3e8ef1 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9a3fb76c da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x9a4d1034 idle_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9a827455 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9aa1f312 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x9aa84edc crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ac3b3a0 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9ad70086 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9aefe71b rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x9afac2ba usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x9afb2084 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x9b9f3648 pcibios_scan_specific_bus +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bd72b78 apei_write +EXPORT_SYMBOL_GPL vmlinux 0x9bf07fbc regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x9bf846d1 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x9bfd4fe1 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x9c15ec27 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x9c2de449 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x9c388791 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x9c95ffdc wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x9c97f980 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x9cf5e262 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d0c4250 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9d1f52b4 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x9d209a75 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d4e47cc pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x9d5e895b crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x9d80fe3d max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x9d9e155d pv_info +EXPORT_SYMBOL_GPL vmlinux 0x9da4d0d4 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x9deb2e31 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x9dfb2ef1 xen_swiotlb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x9e0662f7 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x9e224997 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x9e3779b3 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9e8ba9c1 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x9e8d23da platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x9ec471a6 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x9ed3143c leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f64a9d4 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x9fb06f59 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x9fbb6dd0 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff36702 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xa01ccd5c zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xa0242165 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xa026b2df cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0xa0337798 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xa0542559 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xa057b696 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa0773e60 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xa0933cab posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xa095ae1f tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xa0a5b7fe usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0dbcdd0 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xa0e2227d inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xa0f4e263 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xa0f87a79 usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xa10ce7b8 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xa10f8189 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xa1100b8f platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xa119f649 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xa135d349 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa138b19e datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xa1542c5e proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa17729fd unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xa1900576 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xa1ba3248 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xa1c4ea2b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xa1d311ee rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xa1dd58b6 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xa21836a2 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0xa229f30e nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xa22a3239 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xa23c8c3a spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xa23ccaed transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xa24c6dc8 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa26df770 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xa291542c fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xa2925beb ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2f68c60 m2p_remove_override +EXPORT_SYMBOL_GPL vmlinux 0xa324354d serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0xa353a19b power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa3725984 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa396a234 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b38897 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa3f0e8db wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa3f5394a blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xa41dc29a __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xa4271d75 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xa4294243 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xa44801c7 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa47802cb usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xa47966d5 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4a76558 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0xa4ca0d4e unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4e74db5 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xa51058f9 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xa52b76da fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xa5487d74 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xa564859c i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xa56ca855 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xa56e8e81 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xa59190e8 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xa591bef0 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xa594da29 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xa5e55ad0 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xa5ef4b12 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa616a524 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa640fc23 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xa6587959 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa661dd5e platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xa66438e8 erst_read +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6e1d94c inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xa722a819 cpu_has_amd_erratum +EXPORT_SYMBOL_GPL vmlinux 0xa735c1f8 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa77c4708 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0xa7f71f05 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa80816a0 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xa8164a69 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xa832aa40 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xa861b211 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0xa8b82a53 xen_destroy_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0xa8c53bfa ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xa8d711d7 s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xa8df508a tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa90d8a5e rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa925e478 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xa9a2d96b crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xa9a82042 gnttab_trans_grants_available +EXPORT_SYMBOL_GPL vmlinux 0xa9c4c2b1 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9fc3f54 gnttab_grant_foreign_access_trans +EXPORT_SYMBOL_GPL vmlinux 0xaa26c88a klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xaa2d0071 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xaa3f13f7 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa660039 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xaa82b153 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa8c8ea9 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0xaa8f3789 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa90ebde bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xaaa49b42 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab041103 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xab090ada get_device +EXPORT_SYMBOL_GPL vmlinux 0xab394b6d usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab6e6c6e edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0xabbca161 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xabe7ec9f tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xabf49d66 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xac6bd6bf ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xac71e7c9 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xac9c3149 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xac9ce195 kvm_async_pf_task_wait +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xace771fb inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0xacf0f614 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xad5150b9 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xad5990fe sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xad8a149a ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xad9ce813 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xada739a7 static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0xadb49a4a pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xadf1cec5 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xadf23a80 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae24b68d unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7c5411 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0xae9262d8 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xaea7d203 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xaeb6a5cd ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xaf0f146e rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xaf4e4821 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xaf8998a6 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xaf93b075 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xafa8d470 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xafc09a0c add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xafd4cb2e tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xafda6d79 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xafef64f0 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xaffc4301 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xb0291ef7 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xb02d2932 ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0xb033b58f ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0xb078de44 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb1220a00 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xb1270556 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb163a440 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1a65a18 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1b7aaf2 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xb1bd9dab dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1bf2b47 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xb1f48e41 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xb1f7e1ca rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb21f78d5 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xb22a7306 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xb25380c0 unregister_efivars +EXPORT_SYMBOL_GPL vmlinux 0xb25d7a2b ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb2650213 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xb27f594c pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xb28755f2 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xb2911cdb fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb347bb2c work_busy +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3b68ae9 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0xb3d33c76 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xb41128ff __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0xb433ca7b cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xb4412a9f usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xb4465d56 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xb46cec61 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xb4759adc stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xb47801ef serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xb4aaef20 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4f5d1f8 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xb5172032 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb5303479 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb5600c60 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb58fe682 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5b9b2b4 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xb5c81682 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5eb5e7d virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb5fe233b sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xb6133324 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xb621db65 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb6667c09 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xb6695c7e sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb68eb828 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb68f8637 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6f38598 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb6f8869e pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xb7025069 intel_idle_cpu_init +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb71aabef xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xb72547af hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7ebc0d2 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb80843b7 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb8297ef2 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xb8979ae4 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xb8b47bc7 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xb8c9805c spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xb8d0f7e6 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb8db2982 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xb90188c1 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb910ae81 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xb919dc87 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0xb93b2d19 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xb94babff i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb94db510 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb9559edd sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xb970b3e6 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9acf21d ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xb9b52e76 pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9c9e0b2 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9df2a3b tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xba3030bc inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xba557895 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xba6be681 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xbaa80280 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xbaa9d1c3 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xbab44ab6 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbaf1ab64 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0xbaf9419f max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb128381 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xbb21415b iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xbb298300 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0xbb69c80a tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xbbb38239 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbbb2855 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xbbd7ccf5 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc3d2398 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xbc602ac0 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc7d471c page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xbc9460db ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xbcae8632 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbd0c0ca7 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd125564 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbd1eb9ca __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xbd4f4bb5 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd60cedf usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xbd94d39f gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xbdaf5686 get_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0xbdce2dc6 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdd2f42a rcu_bh_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0xbdd5f10f apei_hest_parse +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2876c9 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xbe2918fa rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0xbe6e7587 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xbed20d9a __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xbf31f8ce ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc02d3c51 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xc02e7791 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc0415838 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xc042906e zs_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xc04a5611 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xc05dca35 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xc06cd25e pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0900fcf acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0xc0b0e6ec btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0fbf9ad ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc14c2824 xenbus_probe +EXPORT_SYMBOL_GPL vmlinux 0xc164642e xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc18ed5fa pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0xc1a191bf ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xc1d119c6 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xc1e2a8ff usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc26ad969 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xc26c2ec7 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2830c7f blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc294071a md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0xc298e8ac crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc2f492f4 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xc2ff69cc seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xc30d0bf4 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3581c26 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xc36dfc73 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc37d2180 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xc38cd6e5 md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aefac3 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xc3af2020 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xc3c29643 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc3d95fec __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xc3dd971e ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xc4034caa enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc422057c __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xc4245b32 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc43e466f unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc466df89 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xc488148c power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b06dcd devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xc4ce6189 idle_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4cff577 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xc4f22829 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc50dd798 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc55dae3c cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xc593f845 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xc5953ef6 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xc5ac8ec4 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xc5c264a5 amd_erratum_400 +EXPORT_SYMBOL_GPL vmlinux 0xc5cdb8ae __add_pages +EXPORT_SYMBOL_GPL vmlinux 0xc5d3de28 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6496a40 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc6507c9e ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc660252e ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xc66e33c8 dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xc6720640 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xc6b45959 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xc6c16a18 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc6d7ad42 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0xc6e25e99 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xc6e8cbdb rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xc7002ac4 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0xc70d965e dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xc726ce1b dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc7734221 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7c02374 xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7cb1267 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xc7d60873 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0xc8079f98 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0xc821805e __online_page_increment_counters +EXPORT_SYMBOL_GPL vmlinux 0xc828d3d5 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0xc8383c66 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xc83cc3ab ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xc850c7c8 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xc85ad4a5 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xc87a1046 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87d9af8 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8849528 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xc899c0f2 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8b11e9f security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc92fb442 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc97eeb91 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc992c63b gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xc9a048c4 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9c45421 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc9c84736 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xc9e58d9a __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9fe13e4 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xca418b3b ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xca73875c ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xca7a05aa virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca81ea9a xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca96fbd7 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xca9ca595 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xca9dc633 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xcaa85ddf bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcaf873fb devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xcb08a3ec vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb329c5c bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xcb4535ee queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xcb6d0b70 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xcb89ef87 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xcba8c601 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xcbe10a7a driver_find +EXPORT_SYMBOL_GPL vmlinux 0xcbe4eee9 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc2e8c93 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xcc3588a0 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xcc3da32d aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc3f2ffa rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xcc4ae650 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xcc5de000 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc972c4b crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xccaa622f kick_process +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccffa305 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xcd11161c ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xcd2f8049 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xcd37e1d4 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xcd3e1d65 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xcd40b478 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xcd45eaad unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xcd54e6d5 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcd9b331e ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xcdc1252f debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xcdc9d239 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce678429 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xcead8b9a pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0xcee38bc4 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xcee9a563 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xcf02ab28 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xcf0f7b6f devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xcf5f47a7 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xcf616d8d dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xcfa39eca __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfc3f81c dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfd6cecf regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcfde5862 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xcff3f457 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL vmlinux 0xd00b7d86 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xd00e9895 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd048850c blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xd071586d xen_swiotlb_sync_sg_for_device +EXPORT_SYMBOL_GPL vmlinux 0xd0913cae disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd0966243 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xd096b759 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0ee2e63 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd105a0da crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xd123dc03 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xd1280f86 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1507e59 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd172b66f securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xd1890171 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0xd1a15054 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xd1b2b787 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1caef7c class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd1dac87c register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd235ba1c xenbus_dev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xd247b5aa crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xd2645f25 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2826708 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2c58ab2 apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0xd300b392 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd30e6601 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xd3103c5f pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xd3149692 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xd31f1de6 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd379f78b class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd38b61c2 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xd3e1d2ce crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd407aab6 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xd419ad15 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd4590aa1 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c3412a i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xd4c985e3 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd517ea27 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd5369192 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xd53bc067 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd564b04f aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xd566829a sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xd58cfb72 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5bcc08c __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5ce6c0d usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd60c3a64 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xd615c8c3 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xd65ac87e blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6a8427a regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xd6e2219a xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xd6ed3a8e cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0xd6f7a8fc transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd70b148a register_efivars +EXPORT_SYMBOL_GPL vmlinux 0xd71e68ef free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd75e4a69 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76f4650 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd7811282 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0xd7b0a945 device_register +EXPORT_SYMBOL_GPL vmlinux 0xd7ccf8c9 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xd7d1c0fc shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7f9c52a fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0xd811ae24 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd833d8b0 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8966d9d max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xd8abbca9 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0xd8cd461e pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xd8e2da31 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd8e6e3cb pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xd8f58b90 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xd8f5a834 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd91b5e95 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd91d6b13 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xd939fe85 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xd94096de kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd9427d23 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd96fd88e inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd9818cc0 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xd98b3288 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xd996982f usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xd9bf117e md_stop +EXPORT_SYMBOL_GPL vmlinux 0xd9e321f5 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd9ecfa2a device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda407e94 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda4de62d attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xda4f257a pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0xda5c435d dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xda99cb3b acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0xdaa8f33c shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xdab50ae7 fpu_finit +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb2dc63b fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xdb343b76 device_add +EXPORT_SYMBOL_GPL vmlinux 0xdb59345d iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xdb810f9e ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb92ef57 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xdbe792c2 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfce841 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc1f8f2e register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdc3e5198 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc8510cf sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xdc8c3c8e ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xdc8c4895 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xdc8d5533 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xdc95b179 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdce57037 apei_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xdce851cd sigset_from_compat +EXPORT_SYMBOL_GPL vmlinux 0xdcfc0ede scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd472c61 blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0xdd567fc1 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdd6618ba btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xdd7ab228 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xdd8171cd cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xdda1e87a ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xdda6d89d sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xdde19196 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xde178774 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde4e19ba klist_next +EXPORT_SYMBOL_GPL vmlinux 0xde8ead6f fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xdeb87602 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdec34b51 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xdee66905 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca62a pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf2de7b4 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xdf511c34 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xdf77beaf scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xdf9e29eb ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xdfcd542a ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0xdff3bbf2 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe01413e4 user_match +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe05848e9 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xe076d8a8 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0a1d398 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0de49da tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0ee4d6e restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xe107089d usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe14c7f08 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe17f0e13 __css_put +EXPORT_SYMBOL_GPL vmlinux 0xe1bf57ea spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0xe1e95136 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0xe1f86bd1 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe2740caf usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2d58710 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe326cfdf usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe334ce34 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3ac203b platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xe3b59086 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xe3b6b82c xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3cf13a9 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xe3d08076 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xe3d814c6 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xe3dd228f spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xe3f102d9 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe403070d ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xe41534ce bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xe4253818 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4428977 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe4adf244 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xe4e68bc8 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0xe4ed0194 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xe4ed933e sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe569a5dd usb_string +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58b96cb scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe59bc531 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xe5ad0f4b ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xe5bfb547 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xe5c64f81 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe64c88b7 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6602e9f perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0xe6756379 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xe67c1c98 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe69c5fb2 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe73a5ca9 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe7422825 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xe75251f4 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe775df0f driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe78322d9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xe78b065b blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xe7d8eb4e wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe7ee8a08 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xe7f1c842 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe8235708 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe844de19 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xe849d87e tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe84c12a6 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe88cc2c2 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xe89bd243 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe8ececed sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xe9011563 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe903b3dd pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d505c2 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xe9e9a490 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea0f0dc8 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea33af55 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea628c20 bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0xea69e30e pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xea70a9a2 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xea71f815 xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0xeadf816e klist_init +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeaf1912c crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xeb370805 __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xeb3bc702 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0xeb413650 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xeb58c0f2 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xeb625def css_lookup +EXPORT_SYMBOL_GPL vmlinux 0xeb749bb6 xen_remap_domain_mfn_range +EXPORT_SYMBOL_GPL vmlinux 0xeba745e1 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xebd47db1 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec7a22b4 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xecc3c7d7 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xecec4cd3 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0xed401604 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xed51abe5 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xed84125e bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xeddf2ba3 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xedef05ed blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xee0c2f5d input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 +EXPORT_SYMBOL_GPL vmlinux 0xee33c809 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xee36fb4e cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xee6507c0 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0xee9cc420 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xeeaa6090 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xeeabd3fd rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xeeb7cd54 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xeec18621 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xeecefdd0 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xef0fbf34 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef249bf9 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xef28246b disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xef2b9430 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xef572c06 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef782b88 gnttab_grant_foreign_access_subpage +EXPORT_SYMBOL_GPL vmlinux 0xef7d55de mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xefa4997c fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xeff0051d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xeffa6b8f __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xf0192c0a crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xf02281a2 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xf04c3d01 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf09ff9e2 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xf0d9dbf0 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xf0f3cb00 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xf105b27d usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xf113ca16 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf1215e9f simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xf13347ca device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b551d9 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xf1d87fb1 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf2231b60 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0xf265f40b xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xf2d13c07 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xf2de3b91 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf2ff4199 xen_swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xf30e105d ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf3451507 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0xf34ba0e9 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf3510eab blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xf37db355 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xf38e78c6 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xf39c0c91 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf3a4772c __bus_register +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3d823e8 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xf3d93b64 xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf40032be ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xf40e7e33 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf4434f4b spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xf46e1d93 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0xf4780522 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf50ee0f3 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf5382bf0 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5785b42 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf59b5baf ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xf5a10f9f platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xf5a42a69 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xf5a42bd0 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5ee9ecd tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xf5f0b242 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xf6323a50 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL vmlinux 0xf6748423 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xf6c93b88 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e5a52b xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6efa268 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf7322bc8 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7354799 pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xf735c56f hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xf73eb848 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xf7465c75 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf759f097 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf7671ffb register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xf7a14f56 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xf7a63208 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xf7ec8d4f swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xf7f030be usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xf7f71f1c pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xf8054c6f usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xf83bf0dd ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8854e13 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xf8b4883e tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xf8e4fa7a ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f5b74b platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf8fa8f1c disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf95c3940 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xf96be1e4 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf97a30fc rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf97d1eea ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xf97d9249 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xf98273ca tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0xf9924426 arch_add_memory +EXPORT_SYMBOL_GPL vmlinux 0xf9987388 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9c52214 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9caefe3 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xf9d9f61a debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xf9e0a63e sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa4a647e klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xfa6796f9 unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xfa8d7c9b user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xfa901b31 compat_get_timespec +EXPORT_SYMBOL_GPL vmlinux 0xfaa7a15a pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xfaae8806 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xfaba5e91 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xfac0529d platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfade8d93 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xfae526c3 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb1770a6 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xfb17dec1 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb2c3718 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb463e74 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xfb58e217 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfb6de1b0 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb98586f dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xfbc26e00 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xfbf8933c cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc1f6af8 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc565008 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xfc574cc1 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xfc5ea807 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xfc968c8b apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0xfcacbbf7 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xfcbb525e ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfd0ae4b6 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xfd30c2ea aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xfd387ecf sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd8faa01 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdc0514f inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xfdcd1f08 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe637b71 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe733659 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff246f62 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xff59df67 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff753cd8 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xff875680 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffc70218 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xfff5e981 mddev_resume --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/amd64/generic.compiler +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/amd64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/amd64/generic.modules +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/amd64/generic.modules @@ -0,0 +1,3473 @@ +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8255 +8390 +88pm860x_bl +88pm860x_onkey +88pm860x-ts +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870_bl +aat2870-regulator +ab3100 +ab3100-otp +abituguru +abituguru3 +ac97_bus +acard-ahci +acecad +acenic +acerhdf +acer-wmi +acpi_ipmi +acpi_memhotplug +acpi_pad +acpiphp +acpiphp_ibm +acpi_power_meter +acquirewdt +act200l-sir +act_csum +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad2s1200 +ad2s1210 +ad2s90 +ad5064 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5504 +ad5624r_spi +ad5686 +ad5764 +ad5791 +ad5930 +ad5933 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7152 +ad7192 +ad7280a +ad7291 +ad7298 +ad7314 +ad7414 +ad7418 +ad7476 +ad7606 +ad7746 +ad7780 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad799x +ad8366 +ad9832 +ad9834 +ad9850 +ad9852 +ad9910 +ad9951 +adcxx +addi_apci_035 +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2016 +addi_apci_2032 +addi_apci_2200 +addi_apci_3001 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +ade7753 +ade7754 +ade7758 +ade7759 +ade7854 +ade7854-i2c +ade7854-spi +adfs +adi +adis16060 +adis16080 +adis16130 +adis16201 +adis16203 +adis16204 +adis16209 +adis16220 +adis16240 +adis16260 +adis16400 +adl_pci6208 +adl_pci7230 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5520_bl +adp5520-keys +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +ads1015 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adummy +adutux +adv7170 +adv7175 +adv7180 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +adxl34x +adxl34x-i2c +adxl34x-spi +adxrs450 +aesni-intel +aes-x86_64 +af_802154 +af9013 +af9033 +af_alg +affs +af_key +af-rxrpc +ah4 +ah6 +aha152x_cs +ahci_platform +aic79xx +aic7xxx +aic94xx +aiptek +aircable +airo +airo_cs +ak8975 +alauda +algif_hash +algif_skcipher +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altera-ci +altera_jtaguart +altera_ps2 +altera-stapl +altera_uart +ambassador +amc6821 +amd5536udc +amd64_edac_mod +amd76xrom +amd8111e +amd_iommu_v2 +amd-rng +amilo-rfkill +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +ams369fg06 +analog +ansi_cprng +anubis +aoe +apanel +apds9802als +apds990x +apple_bl +appledisplay +apple-gmux +applesmc +appletalk +appletouch +applicom +ar7part +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +as5011 +asb100 +asc7621 +asix +asus_atk0110 +asus-laptop +asus-nb-wmi +asus_oled +asus-wmi +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +atbm8830 +aten +ath +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_mxt_ts +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo_k1900fb +auo_k1901fb +auo_k190x +auo-pixcir-ts +authenc +authencesn +auth_rpcgss +autofs4 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +bas_gigaset +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bch +bcm203x +bcm3510 +bcm5974 +bcma +bcma-hcd +bcm_wimax +be2iscsi +be2net +befs +belkin_sa +bfa +bfs +bfusb +bh1770glc +bh1780gli +binfmt_misc +block2mtd +blowfish_common +blowfish_generic +blowfish-x86_64 +bluecard_cs +bluetooth +bma150 +bmp085-i2c +bmp085-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bonding +bpa10x +bpck +bpqether +bq27x00_battery +br2684 +brcmfmac +brcmsmac +brcmutil +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +btwilink +bu21013_ts +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c2port-duramar2150 +c4 +c67x00 +cachefiles +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +camellia_generic +camellia-x86_64 +can +can-bcm +can-dev +can-gw +can-raw +capi +capidrv +capmode +carl9170 +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cc770 +cc770_isa +cc770_platform +c_can +c_can_platform +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc_ncm +cdc-phonet +cdc_subset +cdc-wdm +ceph +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +chipreg +chnl_net +ci13xxx_pci +cifs +ci_hdrc +cirrusfb +ck804xrom +classmate-laptop +clearpad_tm1217 +clip +cls_basic +cls_cgroup +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +cma3000_d0x +cma3000_d0x_i2c +cmtp +cnic +cobra +coda +com20020 +com20020_cs +com20020-pci +com90io +com90xx +comedi +comedi_bond +comedi_fc +comedi_parport +comedi_test +comm +compal-laptop +configfs +contec_pci_dio +cordic +core +coretemp +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia2 +cpqarray +cpu5wdt +cpuid +cpu-notifier-error-inject +c-qcam +cramfs +cr_bllcd +crc7 +crc8 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +crypto_user +crystalhd +cs5345 +cs53l32a +cs5535-mfd +ct82c710 +ctr +cts +cuse +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxd2099 +cxd2820r +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxt1e1 +cy8ctmg110_ts +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +cyttsp_core +cyttsp_i2c +cyttsp_spi +da9030_battery +da9034-ts +da903x +da903x_bl +da9052_bl +da9052_onkey +da9052-regulator +da9052_tsi +da9052_wdt +DAC960 +daqboard2000 +das08 +das08_cs +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +ddbridge +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +dell-wmi-aio +denali +des_generic +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +divacapi +divadidd +diva_idi +diva_mnt +divas +dl2k +dlci +dlm +dm1105 +dm9601 +dm-bufio +dm-crypt +dme1737 +dmfe +dmi-sysfs +dm-log +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-raid45 +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-thin-pool +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2001plus +docecc +docg3 +docg4 +docprobe +dpt_i2o +drbd +drm +drm_kms_helper +drm_usb +drxd +drxk +ds1621 +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds620 +dsa_core +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt3000 +dt3155v4l +dt9812 +dtl1_cs +dummy +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-it913x +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dwc3 +dwc3-omap +dwc3-pci +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e752x_edac +earth-pt1 +easycap +eata +ebt_802_3 +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ec100 +echo +ec_sys +edac_core +edac_mce_amd +eeepc-laptop +eeepc-wmi +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efs +egalax_ts +einj +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +emc1403 +emc2103 +emc6w201 +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_pcmcia +ems_usb +em_text +emu10k1-gp +em_u32 +enc28j60 +enclosure +ene_ir +eni +enic +epat +epia +epic100 +eql +erst-dbg +esb2rom +esd_usb2 +esi-sir +esp4 +esp6 +et131x +ethoc +eurotechwdt +evbug +exofs +ext2 +extcon_class +extcon_gpio +extcon-max8997 +f71805f +f71808e_wdt +f71882fg +f75375s +f81232 +fakephp +fam15h_power +farsync +faulty +fb_ddc +fb_sys_fops +fc0011 +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +fintek-cir +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fixed +floppy +fm801-gp +fm_drv +fmvj18x_cs +fnic +forcedeth +fore_200e +freevxfs +friq +frpw +fsa9480 +fscache +fschmd +ft1000 +ft1000_pcmcia +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu-tablet +fujitsu_ts +funsoft +g450_pll +g760a +g_acm_ms +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +g_dbgp +gdmwm +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_ffs +gfs2 +ghash-clmulni-intel +ghash-generic +g_hid +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +gma500_gfx +g_mass_storage +g_midi +g_ncm +g_nokia +go7007 +go7007-usb +goku_udc +gp2ap002a00f +gpio-74x164 +gpio-addr-flash +gpio-adp5520 +gpio-adp5588 +gpio-charger +gpio-cs5535 +gpio-fan +gpio-generic +gpio-ich +gpio-ir-recv +gpio-it8761e +gpio-janz-ttl +gpio_keys +gpio_keys_polled +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mc33880 +gpio-mcp23s08 +gpio-ml-ioh +gpio_mouse +gpio-pca953x +gpio-pcf857x +gpio-pch +gpio-rdc321x +gpio-regulator +gpio-sch +gpio_tilt_polled +gpio-tps65912 +gpio_vbus +gpio-vx855 +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +g_printer +gre +grip +grip_mp +gsc_hpdi +g_serial +gspca_benq +gspca_conex +gspca_cpia1 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtco +guillemot +gunze +g_webcam +gx1fb +gxfb +g_zero +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_uart +hci_vhci +hdaps +hdlc +hdlc_cisco +hdlcdrv +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdpvr +he +hecubafb +hexium_gemini +hexium_orion +hfc4s8s_l1 +hfcmulti +hfcpci +hfcsusb +hfc_usb +hfs +hfsplus +hgafb +hid +hid-a4tech +hid-apple +hid-aureal +hid-axff +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-dr +hid-elecom +hid-emsff +hid-ezkey +hid-gaff +hid-generic +hid-gyration +hid-holtekff +hid-hyperv +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-logitech +hid-logitech-dj +hid-magicmouse +hid-microsoft +hid-monterey +hid-multitouch +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-picolcd +hid-pl +hid-primax +hid-prodikeys +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-kovaplus +hid-roccat-pyra +hid-saitek +hid-samsung +hid-sjoy +hid-sony +hid-speedlink +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-uclogic +hid-wacom +hid-waltop +hid-wiimote +hid-zpff +hid-zydacron +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +hmc5843 +hmc6352 +hopper +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hp_accel +hpfs +hpilo +hpsa +hptiop +hpwdt +hp-wmi +hsi +hsi_char +hso +htc-pasic3 +hv_netvsc +hv_storvsc +hv_utils +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-designware-core +i2c-designware-pci +i2c-dev +i2c-diolan-u2c +i2c-eg20t +i2c-gpio +i2c-i801 +i2c-intel-mid +i2c-isch +i2c-matroxfb +i2c-mux +i2c-mux-gpio +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-nforce2 +i2c-nforce2-s4985 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-scmi +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-xiic +i2o_block +i2o_bus +i2o_config +i2o_core +i2o_proc +i2o_scsi +i3000_edac +i3200_edac +i5000_edac +i5100_edac +i5400_edac +i5k_amb +i6300esb +i7300_edac +i7300_idle +i740fb +i7core_edac +i810 +i82092 +i82975x_edac +i8k +i915 +i915_hsw +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipath +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmpex +ibm_rtl +ib_mthca +ib_qib +ib_sa +ib_srp +ib_srpt +ib_ucm +ib_umad +ib_uverbs +ichxrom +icp_multi +ics932s401 +ideapad-laptop +idmouse +idt77252 +ie6xx_wdt +ieee802154 +ifb +iforce +igb +igbvf +iio_dummy +iio_hwmon +iio-trig-gpio +iio-trig-periodic-rtc +iio-trig-sysfs +ii_pci20kc +ili210x +ili9320 +imm +imon +imx074 +ina2xx +industrialio +inet_diag +inexio +inftl +initio +input-polldev +int51x1 +intelfb +intel_ips +intel_menlow +intel_mid_dma +intel_oaktrail +intel-rng +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_REJECT +ip6t_rpfilter +ip6t_rt +ip6_tunnel +ipack +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ipoctal +ipr +ips +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netport +ip_set_list_set +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_ah +ipt_CLUSTERIP +ipt_ECN +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_rpfilter +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ircomm-tty +irda +irda-usb +ir-jvc-decoder +ir-kbd-i2c +irlan +ir-lirc-codec +ir-mce_kbd-decoder +ir-nec-decoder +irnet +ir-rc5-decoder +ir-rc5-sz-decoder +ir-rc6-decoder +ir-sanyo-decoder +ir-sony-decoder +irtty-sir +ir-usb +isci +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdn +isdn_bsdcomp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1301 +isp1362-hcd +isp1704_charger +isp1760 +it87 +it8712f_wdt +it87_wdt +it913x-fe +iTCO_vendor_support +iTCO_wdt +itd1000 +ite-cir +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iw_cxgb4 +iwl3945 +iwl4965 +iwlegacy +iwlwifi +iwmc3200top +iwmc3200wifi +iw_nes +ix2505v +ixgb +ixgbe +ixgbevf +ixj +ixj_pcmcia +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k10temp +k8temp +kafs +kalmia +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keucr +keyspan +keyspan_pda +keyspan_remote +kfifo_buf +khazad +kingsun-sir +kl5kusb105 +kobil_sct +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ksz884x +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kxtj9 +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_ppp +l440gx +l4f00242t03 +l64781 +lanai +lapb +lapbether +latch-addr-flash +lcd +ld9040 +ldusb +lec +leds-88pm860x +leds-adp5520 +leds-bd2802 +leds-clevo-mail +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3533 +leds-lp3944 +leds-lp5521 +leds-lp5523 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-ot200 +leds-pca9532 +leds-pca955x +leds-pca9633 +leds-regulator +leds-ss4200 +leds-tca6507 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +ledtrig-transient +legousbtower +lg2160 +lgdt3305 +lgdt330x +lgs8gxx +lg-vl600 +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libceph +libcrc32c +libcxgbi +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libore +libosd +libsas +libsrp +lightning +line6usb +lineage-pem +linear +lirc_bt829 +lirc_dev +lirc_igorplugusb +lirc_imon +lirc_parallel +lirc_sasem +lirc_serial +lirc_sir +lirc_ttusbir +lirc_zilog +lis3l02dq +lis3lv02d +lis3lv02d_i2c +litelink-sir +lkkbd +llc +llc2 +lm3533_bl +lm3533-core +lm3533-ctrlbank +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lm95245 +lmc +lms283gf05 +lnbp21 +lnbp22 +lockd +logger +lp +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +ltc4151 +ltc4215 +ltc4245 +ltc4261 +ltv350qv +lxfb +m25p80 +m52790 +m88rs2000 +ma600-sir +mac80211 +mac80211_hwsim +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac_hid +machzwd +mac-iceland +mac-inuit +macmodes +mac-roman +mac-romanian +mac-turkish +macvlan +macvtap +magellan +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +matrix-keymap +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max11801_ts +max1363 +max1586 +max16065 +max1619 +max1668 +max17040_battery +max17042_battery +max2165 +max3100 +max3107 +max6639 +max6642 +max6650 +max6875 +max7359_keypad +max8649 +max8660 +max8903_charger +max8925_bl +max8925_onkey +max8925_power +max8925-regulator +max8952 +max8997 +max8997_charger +max8998 +max8998_charger +mb862xxfb +mb86a16 +mb86a20s +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc44s803 +mce_amd_inj +mce-inject +mceusb +mce-xeon75xx +mcp2120-sir +mcp251x +mcp3021 +mcs5000_ts +mcs7780 +mcs7830 +mcs_touchkey +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mei +mem2mem_testdev +memstick +metronomefb +metro-usb +meye +mfd +mga +michael_mic +microcode +microtek +minix +mip6 +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mma8450 +mmc_block +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpr121_touchkey +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrst_max3110 +msdos +msi-laptop +msi-wmi +msp3400 +mspro_block +msr +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9t112 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtd_dataflash +mtdoops +mtdram +mtdswap +mtip32xx +mtouch +multipath +musb_hdrc +mv88e6060 +mv88e6xxx_drv +mvsas +mv_udc +mvumi +mwave +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxl111sf-demod +mxl111sf-tuner +mxl5005s +mxl5007t +mxm-wmi +mxser +myri10ge +n411 +nand +nand_bch +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +nci +ncpfs +ne2k-pci +neofb +net1080 +net2272 +net2280 +netconsole +netjet +netprio_cgroup +netrom +netsc520 +nettel +netxen_nic +newtonkbd +nfc +nf_conntrack +nf_conntrack_amanda +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_ipv4 +nf_conntrack_ipv6 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_proto_dccp +nf_conntrack_proto_gre +nf_conntrack_proto_sctp +nf_conntrack_proto_udplite +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nfcwilink +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_proto_dccp +nf_nat_proto_gre +nf_nat_proto_sctp +nf_nat_proto_udplite +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nfnetlink +nfnetlink_acct +nfnetlink_cttimeout +nfnetlink_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +ngene +n_hdlc +ni_6527 +ni_65xx +ni_660x +ni_670x +nicstar +ni_daq_700 +ni_daq_dio24 +ni_labpc +ni_labpc_cs +nilfs2 +ni_mio_cs +ni_pcidio +ni_pcimio +ni_tio +ni_tiocmd +niu +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +nmclan_cs +nop-usb-xceiv +nosy +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc-ircc +ntc_thermistor +ntfs +n_tracerouter +n_tracesink +nuvoton-cir +nvidiafb +nvme +nvram +nv_tco +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ocrdma +old_belkin-sir +omap4-keypad +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +openvswitch +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +osd +osdblk +osst +oti6858 +output +ov2640 +ov5642 +ov6650 +ov7670 +ov772x +ov9640 +ov9740 +overlayfs +oxu210hp-hcd +ozwpan +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8022 +p8023 +padlock-aes +padlock-sha +palmas-regulator +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pata_ali +pata_amd +pata_arasan_cf +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cs5536 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_oldpiix +pata_opti +pata_optidma +pata_pcmcia +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pc300too +pc87360 +pc87413_wdt +pc87427 +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_can +pch_dma +pch_gbe +pch_phub +pch_uart +pch_udc +pci +pci200syn +pcips2 +pci_slot +pci-stub +pcmcia +pcmcia_core +pcmciamtd +pcmcia_rsrc +pcm_common +pcnet32 +pcnet_cs +pcrypt +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pcmcia +peak_usb +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pixcir_i2c_ts +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +plx_pci +pm2fb +pm3fb +pm8001 +pmc551 +pmcraid +pn533 +pn544 +pn544_hci +pn_pep +poseidon +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppox +ppp_synctty +pps_core +pps-gpio +pps-ldisc +pps_parport +pptp +prism2_usb +progear_bl +ps2mult +psmouse +psnap +pt +pti +pvrusb2 +pwc +qcaux +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas408 +qmi_wwan +qnx4 +qnx6 +qt1010 +qt1070 +quatech2 +quatech_daqp_cs +quickstart +quota_tree +quota_v1 +quota_v2 +r128 +r592 +r6040 +r8169 +r8187se +r8192e_pci +r8192u_usb +r852 +r8712u +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-i2c-si470x +radio-keene +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +radio-timb +radio-usb-si470x +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramoops +raw +ray_cs +rbd +rc5t583-regulator +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-em-terratec +rc-encore-enltv +rc-encore-enltv2 +rc-encore-enltv-fm53 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-imon-mce +rc-imon-pad +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lirc +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-pctv-sedna +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-snapstream-firefly +rc-streamzap +rc-tbs-nec +rc-technisat-usb2 +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-trekstor +rc-tt-1500 +rc-twinhan1027 +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-winfast +rc-winfast-usbii-deluxe +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +redrat3 +reed_solomon +reiserfs +renesas_usbhs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill-regulator +ring_sw +rio500 +rionet +rivafb +rj54n1cb0c +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800pci +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-88pm860x +rtc-ab3100 +rtc-bq32k +rtc-bq4802 +rtc-da9052 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3232 +rtc-ds3234 +rtc-em3027 +rtc-fm3130 +rtc-isl12022 +rtc-isl1208 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max8925 +rtc-max8998 +rtc-mc13xxx +rtc-msm6242 +rtc-pcap +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3029c2 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rtl2830 +rtl8150 +rtl8180 +rtl8187 +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192se +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rts5139 +rts_pstor +rxkad +s1d13xxxfb +s2250 +s2250-loader +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s5m8767 +s626 +s6e63m0 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +salsa20_generic +salsa20-x86_64 +samsung-laptop +samsung-q10 +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savage +savagefb +sb1000 +sbc60xxwdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sbe-2t3e3 +sb_edac +sbni +sbs +sbs-battery +sbshc +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +sca3000 +scb2_flash +sch311x_wdt +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cbq +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_fq_codel +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_tbf +sch_teql +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_srp +scsi_wait_scan +sctp +sctp_probe +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdricoh_cs +sedlbauer_cs +seed +seeq8005 +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent_generic +serpent-sse2-x86_64 +serport +serqt_usb2 +ses +sfc +sha1-ssse3 +sha512_generic +shpchp +sht15 +sht21 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sierra_net +sil164 +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +skel +skfp +skge +sky2 +sl811_cs +sl811-hcd +slcan +slicoss +slip +slram +sm501 +sm501fb +sm7xx +smb347-charger +smc91c92_cs +sm_common +sm_ftl +smm665 +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc9420 +smsc95xx +smsc-ircc2 +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-als4000 +snd-asihpi +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bt87x +snd-ca0106 +snd-cmipci +snd-cs4281 +snd-cs46xx +snd-cs5530 +snd-cs5535audio +snd-cs8427 +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-firewire-lib +snd-firewire-speakers +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxygen +snd-oxygen-lib +snd-page-alloc +snd-pcm +snd-pcsp +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-sb16-dsp +snd-sb-common +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-soc-88pm860x +snd-soc-ad1836 +snd-soc-ad193x +snd-soc-ad73311 +snd-soc-adau1373 +snd-soc-adav80x +snd-soc-ads117x +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4641 +snd-soc-ak4642 +snd-soc-ak4671 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-core +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs42l51 +snd-soc-cs42l52 +snd-soc-cs42l73 +snd-soc-cx20442 +snd-soc-da7210 +snd-soc-dfbmcs320 +snd-soc-jz4740-codec +snd-soc-l3 +snd-soc-lm4857 +snd-soc-lm49453 +snd-soc-max9768 +snd-soc-max98088 +snd-soc-max98095 +snd-soc-max9850 +snd-soc-max9877 +snd-soc-mc13783 +snd-soc-ml26124 +snd-soc-pcm3008 +snd-soc-rt5631 +snd-soc-sgtl5000 +snd-soc-simple-card +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-sta32x +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic3x +snd-soc-tlv320dac33 +snd-soc-tpa6130a2 +snd-soc-twl6040 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wl1273 +snd-soc-wm1250-ev1 +snd-soc-wm2000 +snd-soc-wm2200 +snd-soc-wm5100 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8727 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8955 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8962 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8983 +snd-soc-wm8985 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8991 +snd-soc-wm8993 +snd-soc-wm8994 +snd-soc-wm8995 +snd-soc-wm8996 +snd-soc-wm9081 +snd-soc-wm9090 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usbmidi-lib +snd-usb-us122l +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +soc_mediabus +softdog +softing +softing_cs +solo6x10 +solos-pci +sony-laptop +soundcore +sp5100_tco +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntpc +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_decpc +speakup_dectlk +speakup_dtlk +speakup_dummy +speakup_keypc +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +spectrum_cs +speedfax +speedstep-lib +speedtch +spi-altera +spi-bitbang +spi-butterfly +spidev +spi-dw +spi-dw-midpci +spi-gpio +spi_ks8995 +spi-lm70llp +spi-oc-tiny +spi-tle62x0 +spi-topcliff-pch +squashfs +ssb +ssb-hcd +ssfdc +sst25l +sstfb +ssu100 +ssv_dnp +st +st1232 +starfire +stb0899 +stb6000 +stb6100 +st_drv +stex +stinger +stir4200 +stkwebcam +stmmac +stmpe-keypad +stmpe-ts +stowaway +stp +streamzap +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv6110 +stv6110x +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_i2c_rmi4 +synaptics_usb +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t1pci +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +tc3589x-keypad +tca6416-keypad +tca8418_keypad +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bic +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18271 +tda18271c2dd +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tef6862 +tehuti +tekram-sir +teles_cs +test-kstrtox +test_power +tg3 +tgr192 +thinkpad_acpi +thmc50 +ti_dac7512 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timb_dma +timberdale +timblogiw +timbuart +timed_gpio +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmiofb +tmp102 +tmp401 +tmp421 +tmscsim +toim3232-sir +topstar-laptop +toshiba_acpi +toshiba_bluetooth +touchit213 +touchright +touchwin +tpci200 +tpm_atmel +tpm_infineon +tpm_nsc +tpm_tis +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65090-regulator +tps65217 +tps65217-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +trancevibrator +tranzport +tridentfb +ts5500_flash +ts_bm +tsc2005 +tsc2007 +tsc40 +ts_fsm +ts_kmp +tsl2550 +tsl2563 +tsl2583 +tsl2x7x_core +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tusb6010 +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl6040-vibra +twofish_common +twofish_generic +twofish-x86_64 +twofish-x86_64-3way +typhoon +u132-hcd +uartlite +uas +ub +ubi +ubifs +ucb1400_core +ucb1400_ts +udc-core +udf +udl +udlfb +udp_diag +ueagle-atm +ufs +ufshcd +uio +uio_aec +uio_cif +uio_netx +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uli526x +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +unix_diag +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usbduxsigma +usb_gigaset +usbhid +usbip-core +usbip-host +usbkbd +usblcd +usbled +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +usb_wwan +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +uwb +v4l2-common +v4l2-int-device +v4l2-mem2mem +vcan +ves1820 +ves1x93 +vesafb +veth +vga16fb +vgastate +vgg2432a4 +vhci-hcd +vhost_net +via +via686a +via-camera +via-cputemp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +via_wdt +video +videobuf2-core +videobuf2-dma-contig +videobuf2-memops +videobuf2-vmalloc +videobuf-core +videobuf-dma-contig +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio_balloon +virtio_console +virtio_mmio +virtio-rng +virtio_scsi +virtual +visor +vivi +vivopay-serial +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_pio2 +vme_tsi148 +vme_user +vme_vmivme7805 +vmk80xx +vmlfb +vmw_balloon +vmwgfx +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vsxxxaa +vt1211 +vt6655_stage +vt8231 +vt8623fb +vub300 +vx855 +vxge +w1_bq27000 +w1_ds2408 +w1_ds2423 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_ds2780 +w1_ds2781 +w1-gpio +w1_smem +w1_therm +w35und +w5100 +w5300 +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83795 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +wacom +wacom_i2c +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wbsd +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wis-ov7640 +wis-saa7113 +wis-saa7115 +wis-sony-tuner +wis-tw2804 +wis-tw9903 +wis-uda1342 +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl3501_cs +wlags49_h25_cs +wlags49_h2_cs +wlcore +wlcore_sdio +wlcore_spi +wm831x_backup +wm831x_bl +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x-ts +wm831x_wdt +wm8350-hwmon +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994-regulator +wm97xx-ts +wmi +wp512 +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +xc4000 +xc5000 +xcbc +xen-blkback +xen-evtchn +xen-fbfront +xenfs +xen-gntalloc +xen-gntdev +xen-kbdfront +xen-netback +xen-pciback +xen-pcifront +xen-privcmd +xen_wdt +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_ro +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_ipcomp +xfrm_user +xfs +xgifb +xilinx_uartps +xirc2ps_cs +xircom_cb +xo15-ebook +xor +xpad +xprtrdma +x_tables +xt_addrtype +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNSECMARK +xt_conntrack +xt_cpu +xt_CT +xt_dccp +xt_devgroup +xt_dscp +xt_DSCP +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_HMARK +xt_IDLETIMER +xt_iprange +xt_ipvs +xtkbd +xt_LED +xt_length +xt_limit +xt_LOG +xt_mac +xt_mark +xt_multiport +xt_nfacct +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_RATEEST +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_TCPOPTSTRIP +xt_tcpudp +xt_TEE +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xz_dec_test +yam +yealink +yellowfin +yenta_socket +yurex +zatm +zaurus +zd1201 +zd1211rw +zhenhua +zio +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +znet +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx +zram --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armel/omap +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armel/omap @@ -0,0 +1,10315 @@ +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x236499a5 omap_mbox_get +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x4a98e430 omap_mbox_put +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x8ce5e922 omap_mbox_msg_send +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0xa4c572ee omap_mbox_register +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0xdbc75fe3 omap_mbox_unregister +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/bcma/bcma 0xa0439f1c bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x5c165453 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1348760d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x16dcec76 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1a10c898 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1aba5db8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3ec20e6e ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c971bec ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x524f6f51 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5cd71c9a ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5e80f37c ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5fcdcc05 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67cb9784 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x78fd36e7 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8c8ee770 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96cbcc81 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa28a2ace ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa2a98b91 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa4349b0b ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe0fa83f2 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6ab72a6 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xefc4f7b3 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2576cb9 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfc393d98 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/nvram 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x17ff2c1d __nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x2adec1e0 __nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x7da28f12 nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL drivers/char/nvram 0xa8813189 __nvram_write_byte +EXPORT_SYMBOL drivers/dma/dw_dmac 0x0db7aee8 dw_dma_cyclic_prep +EXPORT_SYMBOL drivers/dma/dw_dmac 0x1f6051ed dw_dma_cyclic_free +EXPORT_SYMBOL drivers/dma/dw_dmac 0x4365381e dw_dma_cyclic_stop +EXPORT_SYMBOL drivers/dma/dw_dmac 0x6a0313c4 dw_dma_get_dst_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0xc3df5ed1 dw_dma_get_src_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0xdbe3539c dw_dma_cyclic_start +EXPORT_SYMBOL drivers/dma/pl330 0xc327470a pl330_filter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0060546c drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0285e5a8 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x035cd71b drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x047db860 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04a3af60 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04c8306d drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0587de38 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x075386e7 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e15c30 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0965c409 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x097c4d8a drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bab8e15 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bd0e418 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d0d3796 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d3cdf26 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e7433b6 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f8dc681 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fccafb1 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10696ac8 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10b09bfa drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11073671 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1128ae3e drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1387c10c drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13a3b414 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x177d6421 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19bfca83 drm_prime_remove_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c73af75 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d49aba8 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f6d54a7 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x211eab87 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21cc953e drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24795a66 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25b59a9a drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28d5ab16 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cad8c36 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d807df8 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ebe5eb2 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f0a366f drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31389d0a drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31637354 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x316ce026 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31e7e717 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32c32fcb drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x331b069f drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3345496d drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37cd8b5a drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38954afd drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3901fdec drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x393c6934 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39c8ec8d drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a6f9c71 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aac3130 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac1fef9 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c526c16 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cec9166 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb37b9d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41236126 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4323a70a drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x434a6b41 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44d209d5 drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x461456ab drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4767d053 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49158f33 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x491d291f drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4945a3ca drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x497b8956 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ab691c3 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4afa0c15 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4badb0a5 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f5de301 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5165455b drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58da9909 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x591fc24c drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c126ce6 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5dbdc659 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e2ccb88 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5eb7510b drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61dce832 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65dc65b3 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x663ae8e2 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x680fa42c drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68c5d096 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a7fb5e3 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cc5b19a drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74695644 drm_prime_lookup_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75ddd02d drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x768fa481 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x771b5fe9 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7832825c drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79de4b45 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7adcd32f drm_prime_add_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b4797cc drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b650615 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cccef7f drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80ae84ef drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8215a1a5 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82a562a4 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83b0d031 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84ce4a7e drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x851c1ded drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8579febd drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87530f3d drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x878072a5 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87e9fe78 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8909381f drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x893de772 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89649e8b drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a35be05 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c0b4b57 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c6b6b6d drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cc89459 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d0e504b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8de13715 drm_format_vert_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfb019d drm_buffer_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x908d6be2 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92689148 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95232db1 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95675b02 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97b318ca drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c9fd0b2 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4edb20a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa506bb1e drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5a09d50 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5d88b40 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7179c31 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa914f465 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabc68ace drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacbe2969 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf4b77dc drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb024bcb2 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb06e873b drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0727379 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb110a287 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb42dda7e drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb51d4aac drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb675dead drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb77a0f72 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb89ebf9c drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb90ca5ae drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb18e526 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd6f1fd5 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf696f2f drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfd36329 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4259c55 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc44030f6 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc463da93 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5102fb8 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc732ad3c drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8231556 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbda0d67 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccd6a779 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xceedc41e drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf1ef400 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0cb6b57 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd106ef19 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2721d6d drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5233a6b drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5cc9054 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7d4d559 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd88db039 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd90bc8f8 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc5cba46 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcdf36bb drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde64898a drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfeb1409 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0406bd4 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1c52eb6 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4d8d4ac drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe532ac34 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe626479a drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8298af8 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8e66240 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec2c6818 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee8a71c4 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeeb673dd drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0c803c3 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0c91262 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1613811 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4b6c638 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4babc53 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbe77711 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc7f9aee drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff7ec5ef drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff809f5a drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffccb806 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x083d750c drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b4fad96 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16e33be4 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24cae1f7 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cf76339 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x39ccc9a9 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41e0a579 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x489a33b7 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48d58304 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d3765ab drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6097efd8 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b420d49 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e87ecbd drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x75c3af72 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x787159fa drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8441eee0 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9123181f drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9555584b drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ed1ebda drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa67659e9 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf2407df drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb525c128 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0d32d2b drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc747498a drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8bcc36b drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd02c73c7 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe62f8509 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8d1317d drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea29737e drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf508f561 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf527670e drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb66ef17 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdbc9180 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xaa25dd07 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xae2981c5 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xecc29d3a drm_get_usb_dev +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x0903c239 vid_from_reg +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0xef1c781c vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0e2a6864 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0f5877d4 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xd81d622d sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xe5022f95 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xed1d2a08 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x41dbb856 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xb166d60c i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xd8168257 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x6a249661 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x7c425680 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/iio/industrialio 0x108d5524 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x144d5926 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x240947bf iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x2cae3227 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x2d0070ac iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3d9cf42f iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x46ab79b7 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0x7897b791 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x7997ed68 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x835dd5e6 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x8713a626 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x91bc0a3b iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0xa6bf5879 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0xaea536dd iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xaf0a8f8b iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xb463e79f iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xb48d50ee iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xbbab385b iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xc4272541 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xc7fa0bdc iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xcc33b864 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf4e947ee iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xf92a1c21 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xff7a0c98 iio_device_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x71d44f41 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xa3d6266c iio_kfifo_free +EXPORT_SYMBOL drivers/input/gameport/gameport 0x66e0afda gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7ab62879 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x98a4f533 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb41cce4f __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xba91857b gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe8305c84 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe9fa1270 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xede0b202 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf3990719 __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x55ab393c input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8710c935 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x901bd0af input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x9ccc21c6 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x16148d3b matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x65a04637 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x6d10252b ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0xa91c1dae ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xc5f7a84c ad714x_disable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xbcd9f2ef cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2eda141b sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x3b14a962 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x4d6979c5 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x96bf2f2a sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xdb8bb5ac sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xfcbe3148 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x0ad2029c ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xab9e2221 ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x058d3011 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x13ca6482 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x17ba9b1d capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x1990dc8d capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2a9dbe80 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8521b19d capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa7c4fd6c capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaec8f006 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb871b5dc capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe8ad9bd1 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9e0f072 capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf906eba2 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x6f221ab3 hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x7f29ce36 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xe227344e FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xee93522c hisax_register +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xf0a16657 FsmNew +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xfc27303b HiSax_closecard +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xff2db2cf FsmDelTimer +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x2b1811a9 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x4c42ee42 isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x56baaaa6 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x3b71e4fc isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x59cc8a7e isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x8ee38862 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0xfd9d4c09 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x097fb2ab mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x10dc2848 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x148e895c get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x15012975 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1894e804 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x24ab893b bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x252cd7e6 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2e12f405 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3822bb4b mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x499776ae get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54451388 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x78287543 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x78be50aa recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x797b9ab1 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x849c210c mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x88e1613f mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa5535467 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa8f0f23f mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xad9bf8d3 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb9ee606b mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbdcc6975 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9bb4d64 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdea9a0ae mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe87943cf mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf02636d2 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x60721da7 dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xa215f1b2 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/md/dm-log 0x14e520dc dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xca658383 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xd5818b8e dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xdcbf63b4 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x151393a4 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x211cbdd1 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x248b9fa4 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x35c60b47 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc791e977 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe527ef30 dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x097e4b6e raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x04425bfc fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x2998240a max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x0314a218 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xa0e17749 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x4099d855 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x3ee9cd70 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xbc3cfdd5 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0xd8f49381 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x96295279 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x3c65d821 tua9001_attach +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x0cb4b189 tuners +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/common/tuners/tuner-xc2028 0x10bb41b3 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x03e7df1e xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x903099da xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0b97a42c flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x17fe548f flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x407b32fb flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x646c64b0 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6938e609 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6f418a46 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x80c54407 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x99b117b8 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa9a4154b flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc9370f22 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe8599d5f flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe95cca5d flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xeb3290ff flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0137ec85 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x044e7d8e dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x06b5f449 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c98f0ae dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0e8d7634 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x198886d5 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f363415 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x21af1d0b dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x51962b5c dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6225816a dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6733b46e dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x687066ad dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6c7577a0 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6d769946 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x746b02ad dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7837207b dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7a854509 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7b9da335 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x801c8144 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x83a2ef94 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x883c17c6 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8b9d2300 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x90b3c91f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x989e3372 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa295777b dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb0340f92 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb3297434 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xba616e61 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc09185bc dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd7112a02 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe6e58ed6 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xed9e5ee7 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf487376d dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf9dd1faf dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfb25f454 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x2f5673f7 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x417652a1 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x4c00d428 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x63926a72 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x69a1569d dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7202bdd5 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xeace1209 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x13e247e0 rc_map_af9005_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x301808ea af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2d30864c dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2ec7d885 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x450333c3 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x478e043e dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x52b2a27f dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x57fecc07 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8f54e72a dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xaac4b630 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb47559e0 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb8c90333 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xdc65883e dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe76eed11 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0xb09bb9e5 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x25e486c5 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x35bbdced af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x294eac0f atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x109489b7 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x158fb0b4 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x1b7dbee9 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x48ec2364 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x58be7c96 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x60323223 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x7c3fda53 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xadb7b213 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x28f3b56a au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x7127f03f bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x6a9a256b cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xa4c3faf8 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x253548f5 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x6cc7437a cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x89c8a5f1 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x66d7ffdb cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x0537bb4f cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x945229b3 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0xbe9589f4 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x611374eb dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x9a1a9ab0 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xa5a95cd7 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc04d0f4e dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc7de4655 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x07f9bb7a dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x18ee4c17 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x31b4187c dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x36b0dd07 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5352f15e dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x57939fb9 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x712d1fe5 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x808fbd22 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xa3a828bd dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xaa16fa42 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb8b108f7 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xbf66a219 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc64498c5 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xce89fe93 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd0b16ad1 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x0eff6f4c dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x048d6c5e dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x184ab4b9 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x890fc4c0 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xa87c2c5b dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb8146adf dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xc4d5e981 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x0b60dbb9 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x6078e542 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x829d0290 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xb6dc3584 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1802eb7a dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2dee6786 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3f7f051b dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5544b081 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x65c9ceca dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7ad57964 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x83e00017 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x850e3d29 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa194d0c0 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xde85c784 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xdee696c3 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe21f22e1 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe50acd4d dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf0b2d2d2 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xfd48996d dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x101617f5 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x345a85b9 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x436b8549 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x548e3efd dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x609037fe dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x62528b7f dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7b583e95 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8af27b4a dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x9406ce53 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xacb9ccd6 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xaf7edfa9 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbdbd75aa dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc9202cee dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xcc0a8a33 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd0e67834 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd5eef236 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe7dd256f dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xee94baba dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xfbdf2356 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00972790 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x19b265c2 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x258635f6 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x2843c5a9 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x3a395202 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x544b3cff dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x548f3bc3 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x586ed0de dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x8161154c dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x8993dd84 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xa7936ece dib9000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xb43c13aa dib9000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xce8d47ea dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xdc798b40 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x1786e744 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x5ffb0ec8 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x73791827 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x87318da2 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x9e479dcc dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x12fc4a2a drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x3a5d44a3 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xe9d50dfd drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x0233d137 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xfcfdcd72 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0xf5ae05cc ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/hd29l2 0xaadf12c6 hd29l2_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x2a9d03a5 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xdc207767 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xcfc62dae isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xf03fc7a9 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x3cce789b itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x86e2b3d1 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xe1ae23e4 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0xda9d8645 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xee65e2e7 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x76a46fff lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gl5 0x4a40b677 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xfca524da lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x2920b1f4 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xcfdc6642 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x3a4288d2 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x8b52b25e m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x73bd9f09 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x5d3db168 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x7c9b9ad4 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xa3ffdde4 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x6096fe40 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xc90a1e90 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xfcd17bd5 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xd582265d or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x157a13f0 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x2252cb3a rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xbc63edb0 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x0105dccf s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x44db1222 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xbdd95620 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1432 0x93cdb21e s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x913da0df s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x8636fb40 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x03b73f03 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0xa41796b6 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xe58f5713 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x717fe10b stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x4e63444e stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x1903be66 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xfb19da26 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x852119d4 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x14630500 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x8ea99d2f stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x71ef66ec stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x447e7629 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x61a30855 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x17817599 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x1e086e9e stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x04358899 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xb1c4ea27 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x1c4c881f tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x1be910af tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x7bd05920 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0xf9c35621 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x02df7e64 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x94608cb5 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xe562982f tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x6545e918 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x8b9e57be tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x39b3f0ce tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x45bb7428 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x25f044e0 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x8c83cba0 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xb91dfd6d zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x69b3845d zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x1b404ed8 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04acce4f lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x3061f5c0 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x706af9c0 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x78110a1f lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x9dce1496 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xa34ce8e9 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xb9155e66 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf464c99a lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/rc-core 0x33f11c3c ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0xaf95f719 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x6b749581 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xd94fc945 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x3db8be82 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx2341x 0x4e676f6a cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x7586b17a cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0xc184ec1e cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf76ce95 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf8b77a4 cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0xd187dfb1 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0xd8a3779a cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/video/davinci/vpfe_capture 0xb053ced9 vpfe_register_ccdc_device +EXPORT_SYMBOL drivers/media/video/davinci/vpfe_capture 0xbca1dd7c vpfe_unregister_ccdc_device +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x088ccec9 vpss_select_ccdc_source +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x319709a6 vpss_clear_wbl_overflow +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x54146824 dm365_vpss_set_sync_pol +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x6e5b5413 vpss_enable_clock +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x749bf2c9 dm365_vpss_set_pg_frame_size +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x0c82bb77 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x1ac60910 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3b4880a1 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x426ba11a gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6b940b54 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6cb31d2c gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa0c25235 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xc55bb911 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe1df232a gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe6ba9bdb gspca_suspend +EXPORT_SYMBOL drivers/media/video/soc_camera 0x02f4fdf2 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1937fcfd soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x2194782f soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x2db0a957 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x6fb2102f soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe0cefdfd soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x500b8255 soc_mbus_find_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x61871f65 soc_mbus_bytes_per_line +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x7371455d soc_mbus_samples_per_pixel +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xc8b28da5 soc_mbus_config_compatible +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xde30e6b9 soc_mbus_image_size +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xfeaea44b soc_mbus_get_fmtdesc +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x0fafbd0e tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x359e4e16 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xa7c25557 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0x53a3dd18 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x817914ec tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4adaf0f3 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x53c9394f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5f96a661 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xb4bb69ad v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd371ac88 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x49a52462 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x8612b616 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xc6845873 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1a315e83 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x66d0c593 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x6f473da9 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa0b2b290 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xcfb45fad videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xde9c468c videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x5f6e23e5 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x03a846f6 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x079ca870 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x0d99a55b v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x13355c3d v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x16310292 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x1e335a16 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x24fa8064 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x28e32207 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x2def4f2f v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x33cd0d02 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x4590218f video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4af15a06 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x55213c57 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5b835d3a v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x61944f55 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x641c4671 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x69fa2dca video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x6f5aa18f v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x7155f80c v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0x77637058 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x7771ebfb v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x835b6025 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x85b37974 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x91a9ad54 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x96c3a076 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x9b47141c video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0xa2342123 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xb1bab127 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb85f8e3b v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0xb99a3054 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc321d7bf v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd353b2b0 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xd6eaab33 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xd785a33c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xdd0462e6 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe0e4d2c7 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe1155fda v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe2f064aa v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xe72ab1af v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xec4bc368 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xf1e00e94 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xf321cc5e v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf902d7a6 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0xfb959f0c v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/memstick/core/memstick 0x039da37b memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x068cc1f2 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x09cb21a6 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1b7c50bd memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3c238ab6 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x491849d7 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6172129a memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6bad9301 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x87cafa55 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9510aa59 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9bc9cb1f memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe818cbde memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf7ebd94d memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xfd220c24 memstick_detect_change +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x73d5c815 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7a1f7e90 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x3419ce22 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x421d07cf mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x52a43c43 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x79daa017 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x81a7d67c mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x83da0b30 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x963f337f mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xafcd9425 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb1abbead mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc254f8d0 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe2bc44bd mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe83da83b mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf576d2d4 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/tps6105x 0x1da62955 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xa55a7bcf tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xb79ddff4 tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x015ee601 pwm_free +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xa4ee3c79 pwm_disable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xaee34e3d pwm_request +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xd83c7949 pwm_enable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xdeebfb06 pwm_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x0cd41374 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x340ccf7b ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x51ea2fb0 altera_init +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x0e9755b9 pwm_channel_free +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x5a8b82f9 pwm_channel_handler +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x5d5c2951 pwm_clk_free +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x6a5e1f70 pwm_channel_alloc +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x73330c97 pwm_clk_alloc +EXPORT_SYMBOL drivers/misc/atmel_pwm 0xeb7f2c6f __pwm_channel_onoff +EXPORT_SYMBOL drivers/misc/c2port/core 0xca80f71d c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xf5c88e47 c2port_device_register +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x1f211fd5 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x68a4382e dw_mci_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x82e8e972 dw_mci_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xc3c41d07 dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x6d3deee9 tmio_mmc_sdcard_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x7a6fd700 tmio_mmc_sdio_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x845e58f9 tmio_mmc_host_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x84652d71 tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x870ba1b5 tmio_mmc_host_remove +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x895f830a tmio_mmc_host_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xb22a0b0a tmio_mmc_host_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc8cb70ad tmio_mmc_host_probe +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf02062dd tmio_mmc_card_detect_irq +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x6a3ba95f cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x858722e0 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd23dd5fe cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x1883d471 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x054c5793 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x331f9f1a onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x83b2bfcc flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x8d282c57 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfb96e658 onenand_scan_bbt +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x2e8e21d6 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4d4ea111 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4d6c2f02 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xdcd11377 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf1d1c1c2 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x0fa10505 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x446c7a99 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x5a64f249 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x812f9f28 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x9bcbe26e sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb20e7ad5 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xcda4a29f irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd641cbbf irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdc001b4e sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf8712f1b sirdev_raw_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x297de3c4 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x6e393564 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x5bd2fbc5 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x67aad602 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd6edc9eb register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0b0be693 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x21141443 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x22514b90 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3f721749 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x626f3324 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7cb2b166 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x81c29256 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb5033747 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb610a372 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd62a905f unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdddf18ad alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x014008d4 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x147b1d48 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x17c11bf9 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1f59bb28 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x24fe812c ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5116e718 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x64b98ed1 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6a0cc2a4 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x743ae73d ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc5cee88e ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x169fa2e0 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4fa8ac7d ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x605b9c78 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8e04969e ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x95596c26 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9dbbf583 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9eebd1e9 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xbac8ad3a ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc64f475d ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xcaa8fb07 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x065b8fe7 ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fbab7eb ath9k_cmn_update_ichannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9c392ca2 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcb47176a ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf72ed9af ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0246849e ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x029d1b32 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b4cbd14 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x108c04d1 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1323b089 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x19b9c548 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1bd63c48 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1d3b2438 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1ea5d529 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f039a3b ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f9865bf ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fc14c4b ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27ccc8d0 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c8ffa0c ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f8c750c ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x321d2485 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3696d68c ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d9c5c1f ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f74e618 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4030154a ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x424756e3 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4290bf64 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x431599f1 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x435d26e7 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x442bb5ab ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4533ba14 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47037779 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b3d7600 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53ce84bb ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x556e3fba ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d40d6a6 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fcd272c ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6287acab ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x640d95da ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x678c6610 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6ba62bb1 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d4e4b03 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x725633f3 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7279edff ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74bf5713 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x799b2ead ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79b596f2 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ec7e21a ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80158713 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87befaa9 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x884bf0ee ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b7319b6 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c66085f ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8db0f0fa ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f5946f6 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x99989de8 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9b6ba424 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c451f3b ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d659a4c ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9a7e382 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9e31471 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac4dc4aa ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad195956 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad98343a ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb22337cc ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb231dde7 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb448f48b ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb77aa6c5 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb8e6d090 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbfe591fb ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc11cfc62 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1ab7b37 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc351b931 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3816922 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4e52da9 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc66cf521 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9188578 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc8e58a5 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd93524a0 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb378d2b ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdbd3f73d ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdea34e55 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdf48c7bb ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdf6f0034 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdfe208cc ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe138ab5e ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe3664a23 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe607a209 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8bbbdae ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec27e35d ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xecfd4d07 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf02f0831 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf226d8a3 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf2722a5e ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9520b66 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfbac2f3d ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff8e8503 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x4d179264 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x8815db2f brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x15b3e810 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2313dc09 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2852be90 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2def7588 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6c46c499 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x7559afce brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x94f400c1 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xa75ae007 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xaa739d41 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xaf094015 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc26906e3 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd1f60e68 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x06f8dcd1 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1536377d hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1bcdb177 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x328e7dfc hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4858eb12 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x49863004 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4e2f16a9 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5522bd0a hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x578fe33b hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x579f1f97 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x746289af hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x78648fbb hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8e7ee529 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x90167100 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9b19377d hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9e146ae5 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xad6114e5 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc25c3f17 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc4ec086c hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcdb3bc4d hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd1d51613 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe0844821 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe4e3864e hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xee9b37d4 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf3820f9e hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00d5c5c4 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0277a39c rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x033b6596 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0641809b rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1425a8df rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x14469949 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x16f19ccf rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2e6881c7 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x308e969f _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x342703f3 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x35cd204c rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3683f8ca rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a5fcf2e rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x419795e9 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x553a07b5 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5f22eb24 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6121fc04 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x652a65bf rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6c51953e rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6e32d099 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x724c9510 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x78c1bf5e rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7d5de51d rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x877c5c8b _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8837de89 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x96213492 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9a33673b rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9f02c459 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9f303546 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa6733ad1 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc0449609 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc1441f03 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd4821186 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdb1c2065 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdfcb2531 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe1b8df77 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe2951e3c rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeddfc9a2 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf33f4cfe _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf4eeb238 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf6af737e rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xff322aff _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0fc7a47f rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x14b228d1 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x1bc08a3b rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x222a2988 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x27bd422b efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2e7f3708 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3995ddcd rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x54faf6c2 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5d9ea56d rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5de61d39 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x60641073 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x67d1b24d rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x760d98e2 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8994a28a rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8a33773a rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xaf0873f8 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb81f5e5d rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xbbcd95e9 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd13ca5a0 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf4dac12a rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x9eeeede0 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xd1240596 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x10dcbc04 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x303b8a41 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x34d989e4 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3b4738a5 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x3cd07aaa parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x3d858f0c parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x404b335d parport_write +EXPORT_SYMBOL drivers/parport/parport 0x422fddd4 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x45d45ef9 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x614832de parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x6be78a02 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x7292ae1b parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x731e9b19 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x78f443d2 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x8542031d parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x8b564870 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x91680bc0 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xa0958587 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xa67872e7 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xada7ca53 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xb88544ec parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xbbd707c5 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xbe511fe6 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xc77b8246 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xd51e0feb parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xd64ca9ae parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xed281ec2 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xf0efdb16 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xf65bbdd4 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xff4befbe parport_put_port +EXPORT_SYMBOL drivers/pps/pps_core 0x5c5380d4 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xb03d138d pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xdc11f9f0 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x067dd9eb fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3c3e42eb fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5df7875c fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7e3f2365 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x95215bf2 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x96039f6d fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa6618cbb fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbb2ddaa0 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdc09e8d3 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xec7ab605 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf6cfcc84 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00f0d5cd fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x12ce9ffe libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13a98449 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x148994fe fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x221a0077 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25dafd0f fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x270a589f fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2bec3654 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2fd0f0f1 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x33cebe81 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x418a26c1 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4de2e0fa fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63520c05 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63dfd0a5 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x64d76a33 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x653995e5 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6e54d68e fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x742aa8ec fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7616f652 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x853a3a62 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8c3ec510 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x901caebc fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x91f82ed5 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x92dd3161 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d0a375f fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9ee755b1 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9fbdeac3 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa01db5a9 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa128ffd0 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa75eda00 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf75698e fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbb55a121 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbf7982d5 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbfa667b3 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc185c416 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9681fa5 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc9f35e1 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd3562a88 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4055e5c _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd48811ac fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4bda3bf fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xddd20574 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdeb552df fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe126db29 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xea84db09 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xecc49efb fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1dc0489 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf5b0ff6f fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfc106382 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xff216899 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/raid_class 0x4db423ab raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x7cf2e6fe raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xdb3e403a raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2fbfa2e8 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x59ba0342 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5c058cba fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5fbf5340 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8095d5da fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8c716663 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8e17862e fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xade92552 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb9cd8b8b scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbeacf183 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc0a23c93 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc740a216 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe129b602 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x059d60e2 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x081784e2 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0b75b294 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x103428a6 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x111ab09f sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x22ac62cd sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x29961997 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x32dabafd sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4f70d085 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x609beb10 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x684e73d9 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7652b03d sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7f54cfa3 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x82a7d9b0 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8553c6d2 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x862ec35c sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9e323ca3 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa156867d sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa3951a88 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaf8d71a5 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb41a7f21 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb5320d5b sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb767b1f0 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc535fd0e sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xee11f935 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf8067437 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfa6ff211 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfeabffae sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0c79bcca spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x1773818a spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x863b5b37 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x95780337 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xeef0328f spi_attach_transport +EXPORT_SYMBOL drivers/ssb/ssb 0x024317cf ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x16ed71d1 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x17f17089 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x1fcd249d ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x29519c78 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x5cded20b ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x68b7483f ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x700e3aec ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x915853a9 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xa6ad88dc ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xa92908f3 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xab1587fb ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xaf20c559 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd4b5ec6b __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xe4051e90 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xec6f43bb ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xf6d6b88d ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xf891a5d2 ssb_device_is_enabled +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x63b3f696 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x6980be56 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x2fcf765c ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x57c0a27b ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x64d71cc6 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x7d201023 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x11663099 phone_register_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x44d457b1 phone_unregister_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x06fcc831 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x09a9e21f core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x0bc3ab3a transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x0f447653 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x0f92b9a5 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x1acf180c core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e608a20 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2ada2590 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x30f8d43d fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x40cead88 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0x4380beb3 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x48925857 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4897443d target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e94c214 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x52543c83 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x543a5539 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x54f3be27 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x58e2ba91 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d624730 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x65752bf8 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x665a85e9 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e0f0f89 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e382c07 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x72f3bd80 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7667519e transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x7ab8b6e9 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x86e55426 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x8a1e5346 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x8f0aa621 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x94a71d7b target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x9b8b0c27 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9d149c68 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x9d54e225 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2402d91 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4020ecd target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xab4b5154 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xafe95f09 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb030ece4 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0xb123756e core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xb61c2a10 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xb82010ed transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xba98ed14 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xbed41501 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4d340fe transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4f3063e fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xc7212844 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xcfa61261 core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xd69ad427 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xd9f1c850 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0xdcb2679c transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xe1cd5158 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xe6033d0c transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xea59b08d target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0c1c039 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xf1d44402 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3dee75b target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0xf767793b transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf7b17aa0 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf865e61a transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf955ebe1 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xfd0857d2 target_submit_tmr +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x44bab3bc usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x9268f5b9 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3166be4b usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3bb60f16 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3f87594d usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5736ef0b usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6616a2d7 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8f416bc3 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x949cbb9a usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa8230d52 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb8bc95b8 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd010b5a2 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xec222834 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf078e26a usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf220fb41 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf9c6ca1f usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xfe793ac5 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x3dfde711 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x8d301b64 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x50fca6ee lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xef1ee424 lcd_device_register +EXPORT_SYMBOL drivers/video/output 0x774cf3dc video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xc8fce31f video_output_register +EXPORT_SYMBOL drivers/video/syscopyarea 0xfbd02b12 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xb092aca2 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x2c840af1 sys_imageblit +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0f53876c w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x663cb2e3 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x9511365c w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xa9e45de3 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x1195f198 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x3e4c04bf w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x5017c94a w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x0af3a6ed w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x5ab214a1 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x6fb42325 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x25547c11 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x957d288c w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xaa359887 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xfe388128 w1_register_family +EXPORT_SYMBOL fs/btrfs/btrfs 0x013333ed ulist_alloc +EXPORT_SYMBOL fs/btrfs/btrfs 0x2e965c58 ulist_add +EXPORT_SYMBOL fs/btrfs/btrfs 0x42d57ce9 ulist_reinit +EXPORT_SYMBOL fs/btrfs/btrfs 0x58cbfcc2 ulist_free +EXPORT_SYMBOL fs/btrfs/btrfs 0x8ab177c0 ulist_init +EXPORT_SYMBOL fs/btrfs/btrfs 0x8e313eff ulist_next +EXPORT_SYMBOL fs/btrfs/btrfs 0xccdd7b95 ulist_fini +EXPORT_SYMBOL fs/configfs/configfs 0x0653a821 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x14f83a4a config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x18cece8d configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x29fc20b7 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x60dad423 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x68793730 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x932a60ee configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x9ed4b7e5 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xcd84fc2c config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xe3ebe5cf config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xe71c86bf configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xfaa08d9f config_item_init_type_name +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x08b9fae8 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x185066ea __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x248bf390 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x2a9f07d8 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x2de88957 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x394c16e9 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4d358829 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x51da5501 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x52d78c48 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x5451bc37 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x575fbe74 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x71c479f0 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x76a1ddca fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x7de60698 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8f9d3740 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x905d48a9 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x9ba93f7f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb9cd5cc2 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xbe1cc854 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xc17ab381 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xc28ec1f6 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xc393896f __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xe09c5970 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe279f729 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xe340ffbd fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xecfd9309 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xf7efccc5 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/nfsd/nfsd 0x0c8d6829 nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/nfsd/nfsd 0xcbb738be nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x08835b40 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xa6c16ac8 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xb60702bd qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xce57ede0 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xfe2655fc qtree_entry_unused +EXPORT_SYMBOL lib/cordic 0x434bfd07 cordic_calc_iq +EXPORT_SYMBOL lib/crc-ccitt 0x3771b461 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-itu-t 0xf5b4a948 crc_itu_t +EXPORT_SYMBOL lib/crc7 0xa7587646 crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/crc8 0x41248eaf crc8 +EXPORT_SYMBOL lib/crc8 0xab9ad613 crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xd4534d80 crc8_populate_msb +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0ea7c60a lc_del +EXPORT_SYMBOL lib/lru_cache 0x236f6654 lc_create +EXPORT_SYMBOL lib/lru_cache 0x4308237d lc_get +EXPORT_SYMBOL lib/lru_cache 0x58f461a7 lc_set +EXPORT_SYMBOL lib/lru_cache 0x604890a6 lc_changed +EXPORT_SYMBOL lib/lru_cache 0x617b0ecd lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x78e92b13 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x831045dd lc_reset +EXPORT_SYMBOL lib/lru_cache 0x9a21924a lc_put +EXPORT_SYMBOL lib/lru_cache 0xc388d3ac lc_try_get +EXPORT_SYMBOL lib/lru_cache 0xcea4d17e lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xcf5f0864 lc_find +EXPORT_SYMBOL lib/lru_cache 0xdd7a727f lc_destroy +EXPORT_SYMBOL lib/lru_cache 0xed91c002 lc_element_by_index +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd9e91f83 raid6_vgfmul +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x315c65fd zlib_deflateInit2 +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x48034724 zlib_deflateReset +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xaf64ad0d zlib_deflate +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8022 0x58d44693 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xba306610 unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x80b8fcdb make_8023_client +EXPORT_SYMBOL net/802/p8023 0xec8b3214 destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0xc566748b register_snap_client +EXPORT_SYMBOL net/802/psnap 0xcc0b3014 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x07013c09 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x09d503e4 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x09e80be3 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x129c33b3 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x143d1b0f p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x1abb17b3 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x1b0a1994 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x22b90756 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x35d284a3 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x36ae5972 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x38f25524 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x392fca2a p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4198eba2 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4bd1bda1 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x4d44d7b2 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x5a74db60 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x5b084bf0 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x5beda366 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x5c801513 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x66dae997 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x69453ce6 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x6a933eb2 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x6d7dcc6f p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x88e5f5d0 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x8adf7f54 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8f2828f1 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9086eba3 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x9663709f p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x97a42703 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9e3e8ea9 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x9e9e1eba p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xa1bd407c p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xb53881d6 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xc3570279 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xc3816591 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc8d21a4c p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd0ef7ffe p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xd8f62fe8 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xdb478d17 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe0b90bbd p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xee7bc5e5 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfad5f67a v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x671933de atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x9c068b71 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xd1a3eafe alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xe2b99c3d aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x0404816c atm_charge +EXPORT_SYMBOL net/atm/atm 0x092266b5 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x0f03898f atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2f14abc6 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x5c2373bb deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x5eee26a1 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x685725c1 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x69ecfc4e register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6db7d470 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x7c6376e7 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb9251f62 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xddc13f23 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xed8510fb atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf5eab1ab vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xfd1d1197 atm_alloc_charge +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x28dd5a3e ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x3279fcea ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x3da39025 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x93e3a330 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x9be923d2 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xbdf069f4 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcd1a155e ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xdfe7d125 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xf1ed2856 ax25_find_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x13eced61 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x19e3249c bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1a951e8a bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x275dbb3f hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x33f0afd7 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3ecbd381 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x48760bfe hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x569df221 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5aae1bb9 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c11dd7c hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e324c1a bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8c52b7b6 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x921270e1 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92c45f7c hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x930a0aa4 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x95c1e9ba hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x96840e07 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9e8252e6 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9eee8fe0 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa21fe27c bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaea52286 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb85d30ad hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb8e50448 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbc496133 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbdc9401f hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbe9633c4 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0e10d7d hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc8afdce1 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdac410a9 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdb2fc4c2 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdd88faac hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdec707eb hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe4ca58fc hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe6f59e83 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe813bad9 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xecf439c2 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf56dc909 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf57dda27 hci_recv_fragment +EXPORT_SYMBOL net/bridge/bridge 0x121420c9 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xae0010f4 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xb7720510 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc383ac44 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x4f5de4a6 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x6a44fc70 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x8846694d caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x966d7de2 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xbb2cbacc cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xcf5c8159 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xe62619f0 caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x46cbe819 can_ioctl +EXPORT_SYMBOL net/can/can 0x5a1d8e0c can_rx_register +EXPORT_SYMBOL net/can/can 0x8ca60a3e can_send +EXPORT_SYMBOL net/can/can 0x9dca4b9e can_rx_unregister +EXPORT_SYMBOL net/can/can 0xc643a40c can_proto_unregister +EXPORT_SYMBOL net/can/can 0xed340507 can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0ecb902a ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x1046af16 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x12ccd2f5 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x15773d80 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x21625921 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x2e1a0d6a ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x2e1defb9 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x31b64760 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x32ab57f4 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x3354a6ea ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3695d8d1 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3c389724 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x4352152d ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4a075f1c ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x51e99e73 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x52a978f6 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5be89240 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x63168c5a ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6706807d ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x6a5828b1 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x6d2d06a1 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x6d9a7f46 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x6ed41be2 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x701dacdf ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x733fd687 ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x73526c61 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x77692acb ceph_msg_last_put +EXPORT_SYMBOL net/ceph/libceph 0x788410e0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x7f8dc4aa ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x84ee3424 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x8950018e ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x908eab3f ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x93ee2410 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x97ac5bf9 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x993a3fbf ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x9db4f850 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa13e0014 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0xa1a05bdd ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xa2e4f632 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xac70d5a4 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb25d1c2d ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xb27f85df ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xc08da5ac ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xda7014f2 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xde993e07 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xdfa03d91 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe016f874 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xe7139033 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xe785e135 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf5895b34 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xf598aeb1 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfd603648 ceph_con_send +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x022586c0 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x010f6023 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x13ac81a4 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x155b5f69 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x6b5e7169 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7137fdde ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x89884b8b wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8a06a10c wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8c6c6b2e ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9cf2a50a wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xae596df3 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xcfc86d25 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd468f4a4 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe8a78c47 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x0b334f3c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x1afffe13 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x92c528d1 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x48a50303 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x6fd1498a ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x8d15345d ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x345317a7 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x74b9c3ce nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x86495e02 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x8b3f79cb nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd58ed372 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xde6aba29 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xf1c5cde8 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x54a1f26c xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xfac02b9c xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x84790fbe ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x92b0018b ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xa8e79f4a ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xad9813fe ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x5af67354 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xba52d823 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x19235f8e xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xec0e3279 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x22ed7aaa ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x32b6a431 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x61dfda97 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8ef7937c ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9bb58555 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa0a6714d ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb467e6d1 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd8dbac13 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x096cddd2 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x0f0ae586 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x22caf86e hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x2979b8cf iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x2d3765bc hashbin_find +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3d18d030 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x4313e6c7 irlap_close +EXPORT_SYMBOL net/irda/irda 0x4479ef51 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x45a2f24f irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x538d5d22 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x540d8edf irlap_open +EXPORT_SYMBOL net/irda/irda 0x572583cf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x5f55c3a2 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6cd36aa5 iriap_close +EXPORT_SYMBOL net/irda/irda 0x6cdd634e irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x74c6eb16 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7816823f irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x790becea irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7aa1ddbc irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x7de04a81 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x80da7829 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x8d5161d6 iriap_open +EXPORT_SYMBOL net/irda/irda 0x8f4ea8f9 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x929a281d async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x984311dd async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x98a88252 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9f28222e irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xa4bbb19e irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0xaab83c1a irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xb5c93e6b irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xb710786e hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbdecf38c irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbf285a4c hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xbff388a5 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xc3a512dd hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xdbd0bd0f alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe293c695 proc_irda +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xedf805a9 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0xef16660b hashbin_new +EXPORT_SYMBOL net/irda/irda 0xf104cd63 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xf642886d irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xfacffdef irttp_connect_request +EXPORT_SYMBOL net/l2tp/l2tp_core 0xd9c001a0 l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x029ccc46 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x2957d211 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x63360063 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x711035ef lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xa4c9dfa2 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xc8cf0f99 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xdd890518 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xf2e0ca79 lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x0ce46099 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x56018e1f llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x89dd5751 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x9656f8a0 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xab4b087f llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xbbe44c7e llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xbd8f5a91 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xdd61d260 llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x04d6616e ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x18873929 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x1a128b6d ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1b36b22e ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x21b12cb8 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x237bde07 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x25593baf ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x306fc9b3 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x32682c4d ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x339a5cf1 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x3b0f1aee ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x3c15bf83 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x3c7cf178 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x3e4d18f7 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4206f608 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x427018e9 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4381504a ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x4999c1c8 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x4d766d2a ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5dff677b ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x60426775 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x6305e232 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x67edd6d6 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x7099b57b ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x72861013 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x73fdaf04 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x776725f7 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x789c0ebc __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x79e2fe89 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7e5f3c63 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x81eb2d01 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x8499461c ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x876a17ea ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x8ffa761f ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x9185a304 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x9318973c ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x94e93f2c ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa80b1188 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa84eb30a ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xab3e1ba9 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xac68ad75 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xb972eec0 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xbd0bec5c __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xbf1d9235 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xc5276dd5 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xd37350ae ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xd5d8dd23 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xd726e7fd ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xd984a091 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd9e51bae ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xdc9fae18 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xdfcd02cb ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xdfee1875 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xe063d632 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe388381b ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe64a1fff ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xee265b78 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xf12a6afd ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xf249a2ee ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xfe3dbea9 ieee80211_rts_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0620b4e4 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0a0345ee ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0c5cbd3a register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x64cc4dae unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x68eaaee2 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6d707c84 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6f8e2052 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x74c530fe ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x83b71463 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9811ed78 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc8d5e666 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd246528a ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe1033536 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfe5463a7 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3c3fb8f9 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x78d63297 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xf1969e50 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x75f148a5 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x1306f9bb xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x5abed98d xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x6fa1ea60 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x7396af0e xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8a92780e xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x9c776185 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xa045fc98 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xa37e46d2 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xc6510d73 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xd42402a3 xt_unregister_targets +EXPORT_SYMBOL net/nfc/hci/hci 0x0a04cb31 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x175b4301 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x1ad89e8d nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x2ab9ef21 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x2e979298 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x49484ee4 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x4c3799ba nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x53df246a nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x5b0bb163 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x678c7915 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x7433da25 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x750d4121 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x93fb4e6a nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xa5719075 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xa79cdf89 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xadd2f23b nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xbcf76867 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xd8b5b9bd nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xd97fde0b nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xda7e9cda nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xe0182c59 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x47b02c80 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8aeca1ab nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8faaf139 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xca971d59 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xf4fa6cf3 nci_free_device +EXPORT_SYMBOL net/nfc/nfc 0x01c9db90 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x0923e7b4 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x0d1bf74c nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x176224e0 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x31db101b nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x771d6d70 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x7c81c468 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x96f8cb36 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xae97fcc3 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xda8464e5 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xf6b9c86f nfc_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x16c6bf5d pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x2c2163bb pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x2e984528 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x55b387ad phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x68a87227 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xc0bf8636 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xc6b3ed3d phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xe248efda pn_skb_send +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0de28f77 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x172b7cad rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3b18d792 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x443879c6 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x652bec5c rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x69df0447 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x7a99b6e5 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8637d7aa rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x863b648b rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x99c573fa rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc0cd94ba rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xcdc4dfea rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe177092b rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe595862f key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf6da2895 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/sctp/sctp 0xd1bc5a94 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xe26825f7 svc_pool_stats_open +EXPORT_SYMBOL net/wimax/wimax 0x55c046e3 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x87152bf0 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x01b81f6b ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x03fc2b13 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0fa5ff0c cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x1304b3b3 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x149f34de wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x17fcecf6 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1d00c203 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x22493c5a cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x23371e76 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x24a30b48 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x25f80951 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x2a6e5919 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x341d928f ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x37969e6b cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x3ff2dc27 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x497b6924 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x4c6ae6ea cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x576ddbb6 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5bc0f241 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x5c09145d cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x5d90037a cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x5e6f7612 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x5f251bf3 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x60e3b627 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6a1fe1bb wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x6ad40fe6 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x71381bd3 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x75a0a26b cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x784d919d wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x7dd60f95 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x845bd6ae cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x90462f55 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x907fac77 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x96370207 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9c722553 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x9f75c4a9 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa4bc02ce cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xa5df9136 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xa7d6d593 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xadea8307 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0xb12fbddd cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb52656ca __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xbf8b474e wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xc0ae4c28 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xcc2e5737 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xd177499b wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xd55a55b7 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd608f48c cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xd9edfcfe cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xdcf96552 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xe105627d cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xe16c8acb cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xe34389bd regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xe877c86d cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xf74bdff7 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xf83748f0 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xfa1025ac cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x8c8ff85a lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x9ac13e08 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xb56a9be2 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xbd3e36fa lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xdd5ef2a6 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xfb8e9dcf lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0x74ed1711 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xf5e09b56 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1b7e2a11 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x2928b118 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x743f2c18 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xc731dfdf snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc951b4ee snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xedf710d6 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x0df2e317 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x26885c56 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7ab3ab98 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7ddf2a2e snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x85c27c7a snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x85e4ac82 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd4945484 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xfcf964a7 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xc97fcc86 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x08c321f8 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x11259979 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1b90049e snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3d74599c snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x52959c67 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5360c370 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x54320146 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5f85c636 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6317463b snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6fa66d6d snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7cffbbec snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x956118d4 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa0149249 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xae8d5c6a snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb994ee53 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd586c7f3 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd5fa0d62 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf88f091e snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x0428ffe1 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0f8e7dbd snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x18edb454 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2c6e7a6e snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x339d3b80 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x463c867d snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6e6c8065 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x748c10e1 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x75923f3e snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x80605d94 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8354325d snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x92853cfc snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9bc797ed snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa13de84d snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xac2ff0cf snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd029c41e snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf2cd0f78 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xff7b2e2a snd_ac97_write +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xc9afa1cb snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x000485a4 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x00591107 snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x00658d2c snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0081030e omap_vram_reserve +EXPORT_SYMBOL vmlinux 0x00834128 journal_forget +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00a95e4e sock_wmalloc +EXPORT_SYMBOL vmlinux 0x00cd2e09 snd_info_register +EXPORT_SYMBOL vmlinux 0x00dceeb0 snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00eef49e __strnlen_user +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0127ddb9 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x013ac379 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x01424f59 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x0174452b nf_reinject +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01942576 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x0194b91e omapdss_default_get_recommended_bpp +EXPORT_SYMBOL vmlinux 0x019f24ff vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x01a3d310 omap_set_dma_channel_mode +EXPORT_SYMBOL vmlinux 0x01fea6ed usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x01ff4d37 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02153e8c blk_init_tags +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x023395f2 register_sound_mixer +EXPORT_SYMBOL vmlinux 0x024bf88f omap_modify_dma_chain_params +EXPORT_SYMBOL vmlinux 0x024fe8d5 udp_table +EXPORT_SYMBOL vmlinux 0x025132c5 dpi_check_timings +EXPORT_SYMBOL vmlinux 0x02573b36 omap_disable_dma_irq +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0270897f bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x0283e58e account_page_writeback +EXPORT_SYMBOL vmlinux 0x0290424c serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x02951aa1 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x02a0d156 gpmc_prefetch_reset +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02a72712 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x02c0f525 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e92e64 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02fbd1ef journal_clear_err +EXPORT_SYMBOL vmlinux 0x0302c48b idr_destroy +EXPORT_SYMBOL vmlinux 0x031ba9bf atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x032c19e0 md_flush_request +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0347d6d6 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x03575583 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03a7452e call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x03b2e7fc blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03cf264b input_close_device +EXPORT_SYMBOL vmlinux 0x03cfe351 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x03d1442a udp_poll +EXPORT_SYMBOL vmlinux 0x03e0f1b7 __lock_page +EXPORT_SYMBOL vmlinux 0x03f33c4e jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x03f73bd9 kernel_accept +EXPORT_SYMBOL vmlinux 0x03fbe437 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03ffa31d bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04cb6240 files_lglock +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04e72eb3 input_register_handle +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x0502bd21 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x055e5142 lock_may_read +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x058baeb7 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x058db3f5 up_read +EXPORT_SYMBOL vmlinux 0x058dc601 dump_write +EXPORT_SYMBOL vmlinux 0x05baaba0 wait_for_completion +EXPORT_SYMBOL vmlinux 0x05c97631 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x0604ed05 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x0615619d vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06184fe8 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x063377f4 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0650191f d_move +EXPORT_SYMBOL vmlinux 0x06597d99 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x065de4ad vfs_statfs +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0685bd45 kernel_connect +EXPORT_SYMBOL vmlinux 0x06a50a92 put_tty_driver +EXPORT_SYMBOL vmlinux 0x06b43510 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x06b933df md_finish_reshape +EXPORT_SYMBOL vmlinux 0x06d33a8d nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x06e3ae8c __frontswap_load +EXPORT_SYMBOL vmlinux 0x06e3bed6 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x06e695ed set_page_dirty +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0722c8ec proto_unregister +EXPORT_SYMBOL vmlinux 0x0723161a blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x0730ed21 d_lookup +EXPORT_SYMBOL vmlinux 0x074145ea tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x0762a46f blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x07644e40 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x07692944 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07bfc27d tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ccc3ca ip_defrag +EXPORT_SYMBOL vmlinux 0x07d80eaa mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07db5a49 free_task +EXPORT_SYMBOL vmlinux 0x07e7750e mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x0828dc3e kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0864d9f2 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x0884c74f simple_empty +EXPORT_SYMBOL vmlinux 0x08c761c1 unlock_super +EXPORT_SYMBOL vmlinux 0x08cc5487 get_gendisk +EXPORT_SYMBOL vmlinux 0x08ded414 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x0902028f phy_device_free +EXPORT_SYMBOL vmlinux 0x091c5b10 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x09241a97 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x09360eba omapdss_dpi_display_enable +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x094a3650 set_blocksize +EXPORT_SYMBOL vmlinux 0x095be8f6 __nla_reserve +EXPORT_SYMBOL vmlinux 0x095e1056 vc_resize +EXPORT_SYMBOL vmlinux 0x0961f5e8 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x09743f50 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x0978e8d3 do_splice_from +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09967fad scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x09b336f6 inode_only_permission +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09dd5537 __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09ed46b0 neigh_table_init +EXPORT_SYMBOL vmlinux 0x09ee32ad snd_timer_start +EXPORT_SYMBOL vmlinux 0x0a0c3655 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x0a189f33 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x0a19fd2d omap_dss_put_device +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a49a076 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x0a5440b0 sock_map_fd +EXPORT_SYMBOL vmlinux 0x0a6ec9e3 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x0aa13d05 __raw_readsw +EXPORT_SYMBOL vmlinux 0x0ac2e8b7 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ad5fb6f down_write_trylock +EXPORT_SYMBOL vmlinux 0x0ae42de2 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b133c1c open_exec +EXPORT_SYMBOL vmlinux 0x0b155328 submit_bio +EXPORT_SYMBOL vmlinux 0x0b1571c8 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b351ada mempool_resize +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b4b02b4 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x0b5678aa skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x0b573769 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x0b693051 release_sock +EXPORT_SYMBOL vmlinux 0x0b69a29f down_trylock +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7dec18 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x0b90e80b proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x0ba5e7f2 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x0bc4416e phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bd65960 sock_init_data +EXPORT_SYMBOL vmlinux 0x0bd832da softnet_data +EXPORT_SYMBOL vmlinux 0x0be650d5 tty_set_operations +EXPORT_SYMBOL vmlinux 0x0be8f5d9 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x0c0119e2 skb_seq_read +EXPORT_SYMBOL vmlinux 0x0c0202db filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x0c09b60b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x0c140093 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x0c1faa4d __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x0c33d996 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x0c35f2c6 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x0c5029a9 seq_path +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c5dc4f3 vfs_open +EXPORT_SYMBOL vmlinux 0x0c5f7d84 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c911940 sock_no_poll +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0cacd1a2 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb67ae3 dev_load +EXPORT_SYMBOL vmlinux 0x0cdd158d sg_alloc_table +EXPORT_SYMBOL vmlinux 0x0ce025a4 inode_change_ok +EXPORT_SYMBOL vmlinux 0x0ceb6983 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d70224e jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x0d8ae393 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x0d910ea6 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0daf568a current_fs_time +EXPORT_SYMBOL vmlinux 0x0e0f884d journal_get_create_access +EXPORT_SYMBOL vmlinux 0x0e328a64 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x0e4c4559 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x0e4d3d8b dev_open +EXPORT_SYMBOL vmlinux 0x0e4ff06c ppp_input +EXPORT_SYMBOL vmlinux 0x0e51cc03 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x0e62e9ee seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x0e674bd8 iput +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e893437 lg_lock_init +EXPORT_SYMBOL vmlinux 0x0ea99f50 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x0eab8424 file_update_time +EXPORT_SYMBOL vmlinux 0x0eb2fce2 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x0ec98808 ida_init +EXPORT_SYMBOL vmlinux 0x0ecb849c netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x0ed21f4f blk_sync_queue +EXPORT_SYMBOL vmlinux 0x0ed9460c generic_file_open +EXPORT_SYMBOL vmlinux 0x0ef35e67 netdev_printk +EXPORT_SYMBOL vmlinux 0x0f04db3e phy_register_fixup +EXPORT_SYMBOL vmlinux 0x0f0ce1a8 simple_write_begin +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f860f81 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x0f93d4cb scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x0fa2a45e __memzero +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fc1d942 inet_getname +EXPORT_SYMBOL vmlinux 0x0fe680a6 dquot_disable +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ff74cb0 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x0ffa8302 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x100a9911 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x10101c3c __lru_cache_add +EXPORT_SYMBOL vmlinux 0x102aaba7 abort_creds +EXPORT_SYMBOL vmlinux 0x1032454e input_unregister_handle +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x10d1a6ff generic_block_bmap +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110a4cbb seq_release +EXPORT_SYMBOL vmlinux 0x11236661 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112748bd omap_vrfb_adjust_size +EXPORT_SYMBOL vmlinux 0x1127dc86 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x114feb9c ll_rw_block +EXPORT_SYMBOL vmlinux 0x115bf931 arp_send +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1176bb6b dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x11aac0a7 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x11adf799 install_exec_creds +EXPORT_SYMBOL vmlinux 0x11bbbab5 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x11ca870a md_write_end +EXPORT_SYMBOL vmlinux 0x11ddd8bc snd_timer_pause +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11e33701 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x1212259f blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x127bf730 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x128b540b jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12a9cf2a __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x12cbb67d scsi_execute +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12dc3156 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x12eeec28 replace_mount_options +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x130adc34 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x133d93b2 snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x1343c13b security_path_chmod +EXPORT_SYMBOL vmlinux 0x13592581 simple_readpage +EXPORT_SYMBOL vmlinux 0x136a795b tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13dd4785 mddev_congested +EXPORT_SYMBOL vmlinux 0x13e1882b netdev_crit +EXPORT_SYMBOL vmlinux 0x140f603d i2c_register_driver +EXPORT_SYMBOL vmlinux 0x1418bbb2 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1458ca4c pagecache_write_end +EXPORT_SYMBOL vmlinux 0x14a03b94 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x14a2f95f udplite_prot +EXPORT_SYMBOL vmlinux 0x14bd95fb __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14df0d49 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x15110585 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x15139ad1 bio_endio +EXPORT_SYMBOL vmlinux 0x15143bd9 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x151eea9c __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x1524d58b proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x152e457f eth_type_trans +EXPORT_SYMBOL vmlinux 0x154999aa __pagevec_release +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x155019f7 may_umount_tree +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15629fb8 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x1584de92 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x15abfa1e md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x15c4fe07 sock_register +EXPORT_SYMBOL vmlinux 0x15dacae2 d_instantiate +EXPORT_SYMBOL vmlinux 0x15fac49e blk_recount_segments +EXPORT_SYMBOL vmlinux 0x16015335 omap_dss_register_driver +EXPORT_SYMBOL vmlinux 0x16100d19 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x161028e9 simple_lookup +EXPORT_SYMBOL vmlinux 0x16133a0d redraw_screen +EXPORT_SYMBOL vmlinux 0x16154f04 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x16312808 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x16400e8d abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x165dcc8e pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x16610838 ata_port_printk +EXPORT_SYMBOL vmlinux 0x169d1b65 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16e50dac bio_split +EXPORT_SYMBOL vmlinux 0x17108fce devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x171bb402 have_submounts +EXPORT_SYMBOL vmlinux 0x172245dd xfrm_state_update +EXPORT_SYMBOL vmlinux 0x1737aacf block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x178c198f vlan_vid_del +EXPORT_SYMBOL vmlinux 0x17a142df __copy_from_user +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f075f4 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x17f2c95e init_task +EXPORT_SYMBOL vmlinux 0x181f5070 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x18437710 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x1851151c proc_dointvec +EXPORT_SYMBOL vmlinux 0x186d64ad md_write_start +EXPORT_SYMBOL vmlinux 0x1870ad91 i2c_use_client +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189100f0 drop_super +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18c8b7a0 skb_copy +EXPORT_SYMBOL vmlinux 0x18eed73f i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x18f9c336 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x1906c469 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x19088883 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0x1918423a __sock_create +EXPORT_SYMBOL vmlinux 0x192c4654 phy_print_status +EXPORT_SYMBOL vmlinux 0x19574841 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x195b15d1 mpage_readpages +EXPORT_SYMBOL vmlinux 0x19602d82 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x196aff3e dev_base_lock +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197dc3b3 omap_set_dma_src_burst_mode +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x199bf953 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x199d6f32 register_gifconf +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c655cc __dst_free +EXPORT_SYMBOL vmlinux 0x19cc4ca0 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x19e43629 netif_device_attach +EXPORT_SYMBOL vmlinux 0x19e91218 __getblk +EXPORT_SYMBOL vmlinux 0x19ef450b __nla_put +EXPORT_SYMBOL vmlinux 0x1a0135e4 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x1a0e74b2 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x1a21fe87 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x1a3bef43 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x1a496ac6 cad_pid +EXPORT_SYMBOL vmlinux 0x1a506ae9 km_new_mapping +EXPORT_SYMBOL vmlinux 0x1a519279 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a74edd1 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x1a788da4 generic_make_request +EXPORT_SYMBOL vmlinux 0x1aaa1984 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x1ab1bd52 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x1ab30c4d vfs_writev +EXPORT_SYMBOL vmlinux 0x1ac3ab44 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1ad95377 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x1ae90bbf lookup_one_len +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b4c52ae tty_shutdown +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b74d283 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x1b95a106 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x1b9a2b68 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x1b9dc150 tcf_em_register +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1baeaed4 proc_dostring +EXPORT_SYMBOL vmlinux 0x1bd40042 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x1bf283a6 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x1c0d2913 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x1c1149a9 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x1c18c74b xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x1c2e9f94 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x1c497224 input_inject_event +EXPORT_SYMBOL vmlinux 0x1c4993bc vfs_link +EXPORT_SYMBOL vmlinux 0x1c63e7e6 dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x1c8cbd21 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x1c999dd7 inet_bind +EXPORT_SYMBOL vmlinux 0x1ca18314 read_dev_sector +EXPORT_SYMBOL vmlinux 0x1cb70fd7 skb_make_writable +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cc76e31 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x1cd0f6c0 mempool_alloc +EXPORT_SYMBOL vmlinux 0x1cd1f083 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x1cda728e ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x1ce158b7 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x1cebab96 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d27d291 fsync_bdev +EXPORT_SYMBOL vmlinux 0x1d2efe54 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x1d43d57c seq_putc +EXPORT_SYMBOL vmlinux 0x1d473fb9 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x1d83fef9 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x1d9135f0 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x1dab9e77 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x1db342fd __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x1db7dc40 pgprot_kernel +EXPORT_SYMBOL vmlinux 0x1dbb9814 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e039456 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0ee4eb mem_map +EXPORT_SYMBOL vmlinux 0x1e24fd27 unregister_key_type +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e4140d5 bio_alloc +EXPORT_SYMBOL vmlinux 0x1e6258de inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e8db8fd snd_ctl_add +EXPORT_SYMBOL vmlinux 0x1e987ce8 sock_no_bind +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ead792d input_event +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ed90c38 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1ef900bd scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x1f64b325 __serio_register_port +EXPORT_SYMBOL vmlinux 0x1f66fcd2 f_setown +EXPORT_SYMBOL vmlinux 0x1f6c3361 key_invalidate +EXPORT_SYMBOL vmlinux 0x1f745e2c key_alloc +EXPORT_SYMBOL vmlinux 0x1f786d19 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x1f7beefe __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x201deccc phy_connect +EXPORT_SYMBOL vmlinux 0x2032fa96 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x20337c82 inet6_release +EXPORT_SYMBOL vmlinux 0x2036ffca elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x203a8f76 scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x205ec8de omap_dispc_register_isr +EXPORT_SYMBOL vmlinux 0x2062200f mb_cache_create +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20911d3d alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b2ddea skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20d5b754 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x20df83c5 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x20f821e0 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x210c8ebc generic_read_dir +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x2148a7c0 devm_clk_put +EXPORT_SYMBOL vmlinux 0x214e73c5 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x216f4483 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x21741ee3 would_dump +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x21aa4dd0 register_key_type +EXPORT_SYMBOL vmlinux 0x21b13bde no_llseek +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x220e4d2f uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x22172819 dquot_acquire +EXPORT_SYMBOL vmlinux 0x221dfde0 idr_pre_get +EXPORT_SYMBOL vmlinux 0x22207102 freeze_super +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223cc898 omap_vrfb_max_height +EXPORT_SYMBOL vmlinux 0x224fc3ea test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x228edcc9 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c67750 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x22d4dfee kmem_cache_create +EXPORT_SYMBOL vmlinux 0x22d94b14 snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0x22dfbba4 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x22f8208c add_disk +EXPORT_SYMBOL vmlinux 0x230fdcbb fasync_helper +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x233857af notify_change +EXPORT_SYMBOL vmlinux 0x23396736 netdev_features_change +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x23789e84 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x23915945 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x23923f51 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x2397c29b skb_copy_bits +EXPORT_SYMBOL vmlinux 0x239ea69d buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23d2b2b3 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x23e66b08 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x23e736d9 kmap +EXPORT_SYMBOL vmlinux 0x23f7ee8d cpu_cache +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x242e22ac generic_show_options +EXPORT_SYMBOL vmlinux 0x2450a44f dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x245807f0 setattr_copy +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x2467e637 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x246be7b2 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x247620b7 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2485621e ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x24a60a21 of_device_unregister +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24aaed90 snd_pcm_suspend +EXPORT_SYMBOL vmlinux 0x24b1dcd3 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x24f1a97e security_path_rmdir +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x2514d3f1 scsi_host_put +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252d7640 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x254bbdbf jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x254d23e4 snd_pcm_notify +EXPORT_SYMBOL vmlinux 0x256d972f inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2586c95a jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x25ac5bd9 dql_init +EXPORT_SYMBOL vmlinux 0x25be2aba simple_transaction_release +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25dce739 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x25deb0dd input_register_device +EXPORT_SYMBOL vmlinux 0x25e0aa76 inet_put_port +EXPORT_SYMBOL vmlinux 0x2604808b bdevname +EXPORT_SYMBOL vmlinux 0x261bb6aa fput +EXPORT_SYMBOL vmlinux 0x261f1863 security_inode_permission +EXPORT_SYMBOL vmlinux 0x262a9620 complete_request_key +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263e70b4 snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0x2671769f dma_find_channel +EXPORT_SYMBOL vmlinux 0x268ae8a7 seq_open_private +EXPORT_SYMBOL vmlinux 0x268f135b tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x26911e4d gen_new_estimator +EXPORT_SYMBOL vmlinux 0x26ac17c5 mount_subtree +EXPORT_SYMBOL vmlinux 0x26aeb54a tcp_init_sock +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26dbbd43 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x26e2a082 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26f7c480 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x2700b38a mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x2750b3a1 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x2772b6ec neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x2780cf97 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x2796e2e6 block_write_full_page +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c0dc81 free_netdev +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x27f03eac locks_copy_lock +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2818bcaf pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x2830fee2 idr_get_next +EXPORT_SYMBOL vmlinux 0x2839e5ab blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x283a56b1 stop_tty +EXPORT_SYMBOL vmlinux 0x283bd919 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x2854eb28 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x286984ab generic_write_sync +EXPORT_SYMBOL vmlinux 0x28767797 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x2885b93c dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x2889df32 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x289319ed scsi_remove_device +EXPORT_SYMBOL vmlinux 0x2897fc48 omap_cfg_reg +EXPORT_SYMBOL vmlinux 0x289949af twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28a841bf sockfd_lookup +EXPORT_SYMBOL vmlinux 0x28b6abe4 phy_start +EXPORT_SYMBOL vmlinux 0x28d6861d __vmalloc +EXPORT_SYMBOL vmlinux 0x28d85959 generic_permission +EXPORT_SYMBOL vmlinux 0x2904f0e8 clk_round_rate +EXPORT_SYMBOL vmlinux 0x291b3fa1 serio_rescan +EXPORT_SYMBOL vmlinux 0x2925f10a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x2932eb3d remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29621908 inet_shutdown +EXPORT_SYMBOL vmlinux 0x29652a3e blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x2978d5a8 skb_dequeue +EXPORT_SYMBOL vmlinux 0x2981565b xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x29887ca8 get_io_context +EXPORT_SYMBOL vmlinux 0x29aeccd9 filemap_fault +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x29feb9c4 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x2a0292c1 sk_alloc +EXPORT_SYMBOL vmlinux 0x2a36a172 __register_chrdev +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a4f61d7 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x2a79ac13 clkdev_add +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ac6193b __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x2acbc65c mnt_pin +EXPORT_SYMBOL vmlinux 0x2acd5d13 __get_page_tail +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b5665d1 tty_write_room +EXPORT_SYMBOL vmlinux 0x2b688622 complete_and_exit +EXPORT_SYMBOL vmlinux 0x2b872267 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x2b90cdaa mempool_create +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb5bd24 lookup_bdev +EXPORT_SYMBOL vmlinux 0x2bb629db xfrm_state_add +EXPORT_SYMBOL vmlinux 0x2bcd3aeb sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x2bd86d11 iget5_locked +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c1b30ff iterate_mounts +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c29cca8 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x2c33dd02 __netdev_printk +EXPORT_SYMBOL vmlinux 0x2c3c6646 mnt_unpin +EXPORT_SYMBOL vmlinux 0x2c4ba9c3 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x2c6615fc snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0x2c9f88c2 netdev_emerg +EXPORT_SYMBOL vmlinux 0x2cc65d90 bio_add_page +EXPORT_SYMBOL vmlinux 0x2cd52b0b simple_release_fs +EXPORT_SYMBOL vmlinux 0x2cd8d457 bmap +EXPORT_SYMBOL vmlinux 0x2ce9a63c scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x2cfc08a6 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d1ca834 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x2d2f4baa end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x2d34a1b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x2d4d7832 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x2d52652b bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x2d607ee2 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x2d6507b5 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x2d85feb0 phy_detach +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dafa17b fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x2dd0839a nla_reserve +EXPORT_SYMBOL vmlinux 0x2dd9ea2f tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2df0f096 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x2e0435cc arp_invalidate +EXPORT_SYMBOL vmlinux 0x2e0a3115 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2f1add netif_notify_peers +EXPORT_SYMBOL vmlinux 0x2e3d9fcf journal_get_write_access +EXPORT_SYMBOL vmlinux 0x2e436973 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x2e5810c6 __aeabi_unwind_cpp_pr1 +EXPORT_SYMBOL vmlinux 0x2e5f5461 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x2e9ec311 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x2ea2ebe7 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x2ebbf351 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x2ec01ae8 single_open +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ecc15a4 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x2ed0002a napi_get_frags +EXPORT_SYMBOL vmlinux 0x2ed0582e dev_addr_flush +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f06acb2 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x2f2174b6 inet_ioctl +EXPORT_SYMBOL vmlinux 0x2f303d55 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x2f88a039 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fd4fc8f snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x2fd80048 simple_setattr +EXPORT_SYMBOL vmlinux 0x2fd85baf ___ratelimit +EXPORT_SYMBOL vmlinux 0x3006e61a inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x300a00f1 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x301fe099 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x3071023a jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308aad56 omap_vrfb_min_phys_size +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30b479f0 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30cb14e5 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x30d46fd5 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31156db9 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x311a9e3c scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x311bb9cd get_phy_device +EXPORT_SYMBOL vmlinux 0x3120586e netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0x312a36c9 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x313f73c1 pipe_unlock +EXPORT_SYMBOL vmlinux 0x313ffc4d set_security_override +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x316dd1cd __wait_on_bit +EXPORT_SYMBOL vmlinux 0x31715ffd snd_card_set_id +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x319b10e9 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x319ea2ed proc_symlink +EXPORT_SYMBOL vmlinux 0x31a71a39 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31cae92e security_inode_init_security +EXPORT_SYMBOL vmlinux 0x31cdcaee phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x31f03185 _snd_ctl_add_slave +EXPORT_SYMBOL vmlinux 0x326ddf28 kernel_listen +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x328ba99b scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x32a703fe filp_open +EXPORT_SYMBOL vmlinux 0x32c80da1 do_truncate +EXPORT_SYMBOL vmlinux 0x32d42c10 inode_permission +EXPORT_SYMBOL vmlinux 0x33027cbc load_nls_default +EXPORT_SYMBOL vmlinux 0x33052252 dev_activate +EXPORT_SYMBOL vmlinux 0x3314647e generic_file_mmap +EXPORT_SYMBOL vmlinux 0x33211758 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x335cee6b scsi_remove_host +EXPORT_SYMBOL vmlinux 0x33613a69 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x3364c989 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x3379189d lock_may_write +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x3386eac0 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x338982bf i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x33af02b2 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x33b7e3ea uart_register_driver +EXPORT_SYMBOL vmlinux 0x33baae8c sg_miter_next +EXPORT_SYMBOL vmlinux 0x33bad539 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33e48822 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fa13c7 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x340bf14e snd_timer_close +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x344524c1 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x344e0fe5 seq_write +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x348557cd uart_resume_port +EXPORT_SYMBOL vmlinux 0x34872048 unregister_netdev +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3493acdd __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a6701b handle_edge_irq +EXPORT_SYMBOL vmlinux 0x34abc56f __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x3504d638 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3542f055 vfs_read +EXPORT_SYMBOL vmlinux 0x35568ba3 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x355f425c kobject_set_name +EXPORT_SYMBOL vmlinux 0x35789b6d proc_mkdir +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x358bf989 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35c6ef03 empty_aops +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x360d6ed6 register_filesystem +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x3623ede0 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x362b556b ipv4_specific +EXPORT_SYMBOL vmlinux 0x3639a9dc of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x3642ba90 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x3644f671 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x364b3fff up +EXPORT_SYMBOL vmlinux 0x36558539 netdev_set_master +EXPORT_SYMBOL vmlinux 0x3658f324 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x366f7aa4 snd_timer_continue +EXPORT_SYMBOL vmlinux 0x368c9bfd phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x36a2488d zero_fill_bio +EXPORT_SYMBOL vmlinux 0x36b56602 tty_check_change +EXPORT_SYMBOL vmlinux 0x36c4d100 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x36f271a0 follow_down +EXPORT_SYMBOL vmlinux 0x371b9574 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x372b949f snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3744fc63 kill_litter_super +EXPORT_SYMBOL vmlinux 0x377779c6 kill_anon_super +EXPORT_SYMBOL vmlinux 0x3778f45c igrab +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37aa426b soft_cursor +EXPORT_SYMBOL vmlinux 0x37b1e0ea d_prune_aliases +EXPORT_SYMBOL vmlinux 0x37b2caf8 backlight_device_register +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37cd485c ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x37d22fa8 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x37fc7d6c dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x381720c7 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x382eab43 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x387a0765 dcb_getapp +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38af62e2 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x38b81f68 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x38b9e084 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x38d2c49b unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x38eac188 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393c04e1 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x3948a9c2 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x3954129d rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x3957749c bdget +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x3975ff22 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x399365a8 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39daf13a ata_dev_printk +EXPORT_SYMBOL vmlinux 0x3a1430cc _dev_info +EXPORT_SYMBOL vmlinux 0x3a475410 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x3a61e01f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x3a6d8b45 do_map_probe +EXPORT_SYMBOL vmlinux 0x3a77df32 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x3a7fc18a sound_class +EXPORT_SYMBOL vmlinux 0x3a8788df __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x3a911bad generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3a9fba93 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x3aa16502 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3ac2eb6f ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x3af113cd serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x3b2ed648 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b54c654 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x3b5740ac i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x3b6d13cb skb_insert +EXPORT_SYMBOL vmlinux 0x3b7f4574 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x3b85eb78 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x3b91f3af snd_free_pages +EXPORT_SYMBOL vmlinux 0x3ba5c359 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x3bb7506d gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x3bbcd362 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x3bbe3cba neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc3e3d8 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x3bcb0d95 dev_alert +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bd2d9a1 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3bfd41b5 do_sync_write +EXPORT_SYMBOL vmlinux 0x3c011bfd get_user_pages +EXPORT_SYMBOL vmlinux 0x3c01bdc1 input_set_keycode +EXPORT_SYMBOL vmlinux 0x3c041560 module_layout +EXPORT_SYMBOL vmlinux 0x3c13c5ba sk_release_kernel +EXPORT_SYMBOL vmlinux 0x3c1ef7c7 down_read_trylock +EXPORT_SYMBOL vmlinux 0x3c77542e unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c92eb55 snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ce33127 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf7b415 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x3d030b55 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x3d236844 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x3d32251a km_policy_notify +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d3f2315 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x3d68d3af nf_ct_attach +EXPORT_SYMBOL vmlinux 0x3d7063b5 find_get_page +EXPORT_SYMBOL vmlinux 0x3d86067c seq_lseek +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3df9c6ad cdrom_release +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e1d9fc4 snd_pcm_limit_hw_rates +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e56b54f bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x3e686c75 mount_single +EXPORT_SYMBOL vmlinux 0x3e6b0b00 request_key +EXPORT_SYMBOL vmlinux 0x3e884f4b vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3e88fa24 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3ea9d976 dqput +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eae7bce sock_wfree +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ef83ea0 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x3eff4745 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x3f051b2d dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x3f42c48a bio_kmalloc +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f650c57 __free_pages +EXPORT_SYMBOL vmlinux 0x3f88fafb generic_writepages +EXPORT_SYMBOL vmlinux 0x3fa0706a mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x3fc57162 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x3ff1ce33 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ffa288a dev_close +EXPORT_SYMBOL vmlinux 0x40001e1e tcp_child_process +EXPORT_SYMBOL vmlinux 0x40025437 journal_revoke +EXPORT_SYMBOL vmlinux 0x401d541f tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x403797d0 get_super_thawed +EXPORT_SYMBOL vmlinux 0x403ab398 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x406ebd0d map_destroy +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407a3275 omap_start_dma +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a2d1dd dm_table_get_size +EXPORT_SYMBOL vmlinux 0x40a6f522 __arm_ioremap +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40bdf65b tty_devnum +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40db14a6 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x41086265 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x41220e7e bio_clone +EXPORT_SYMBOL vmlinux 0x41380186 lock_super +EXPORT_SYMBOL vmlinux 0x413894e2 ilookup +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414d61f3 devm_ioremap +EXPORT_SYMBOL vmlinux 0x4150ec32 __brelse +EXPORT_SYMBOL vmlinux 0x41653f3c km_state_notify +EXPORT_SYMBOL vmlinux 0x416fcb11 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x4183d9a9 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41bfc910 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x41c84ea8 nand_bch_calculate_ecc +EXPORT_SYMBOL vmlinux 0x42051a2c xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x4207f6c3 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42147824 __scm_destroy +EXPORT_SYMBOL vmlinux 0x42189213 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x4247c2b2 snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x4253668c nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x428096f4 kill_pgrp +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x42aacd27 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x42ba975a arm_dma_ops +EXPORT_SYMBOL vmlinux 0x42badd51 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x42ee1838 __breadahead +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4306104c iget_locked +EXPORT_SYMBOL vmlinux 0x43186519 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x4318fc8c dqget +EXPORT_SYMBOL vmlinux 0x431fd338 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x43255b4c sock_sendmsg +EXPORT_SYMBOL vmlinux 0x43272810 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x432b730f journal_lock_updates +EXPORT_SYMBOL vmlinux 0x4347b971 idr_init +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436a1d3e lg_local_unlock +EXPORT_SYMBOL vmlinux 0x439626fd register_md_personality +EXPORT_SYMBOL vmlinux 0x439633bc qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43bcbc84 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x43d800fa fb_get_mode +EXPORT_SYMBOL vmlinux 0x43e87b8b dev_uc_del +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x43fd536f bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x44170bf0 mmc_request_done +EXPORT_SYMBOL vmlinux 0x441ed159 omap_get_dma_src_pos +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x44299fcc inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44388c5d bprm_change_interp +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x4456b800 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x446ea06a journal_force_commit +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x447bbcdc __find_get_block +EXPORT_SYMBOL vmlinux 0x4492317e get_fs_type +EXPORT_SYMBOL vmlinux 0x4498c7c1 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44bf8641 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e06e0a call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x44e80f1b bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f38b85 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x44f6e6b1 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x4532fcd3 bdget_disk +EXPORT_SYMBOL vmlinux 0x4537a7de security_task_getsecid +EXPORT_SYMBOL vmlinux 0x4568424c xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458cdf81 twl6040_power +EXPORT_SYMBOL vmlinux 0x45a3208a dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x45a8fbaa down_timeout +EXPORT_SYMBOL vmlinux 0x45ba232a get_super +EXPORT_SYMBOL vmlinux 0x45bbc520 dquot_file_open +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45d8ad3f dquot_enable +EXPORT_SYMBOL vmlinux 0x460ea1c5 udplite_table +EXPORT_SYMBOL vmlinux 0x4611de77 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x46292206 sock_create_lite +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x4634b3d6 cdrom_open +EXPORT_SYMBOL vmlinux 0x46378880 alloc_disk +EXPORT_SYMBOL vmlinux 0x463cf504 blk_make_request +EXPORT_SYMBOL vmlinux 0x4655b770 security_path_truncate +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466b29ea scsi_unregister +EXPORT_SYMBOL vmlinux 0x4681c6e9 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x46bcf760 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x46be5869 mmc_erase +EXPORT_SYMBOL vmlinux 0x46c4b962 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x47162a99 key_unlink +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x47728c07 phy_disconnect +EXPORT_SYMBOL vmlinux 0x47756576 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x47856306 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x4787a40d brioctl_set +EXPORT_SYMBOL vmlinux 0x478fc121 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x4793c7b1 update_time +EXPORT_SYMBOL vmlinux 0x4793d5fd mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47bd5c36 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x47c0036c of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x47c45f42 user_revoke +EXPORT_SYMBOL vmlinux 0x47eff461 bdput +EXPORT_SYMBOL vmlinux 0x47f6598b jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x48235269 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x483ec199 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4852f869 block_write_begin +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4859d695 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x485c99cc mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48849e3f try_to_release_page +EXPORT_SYMBOL vmlinux 0x48954949 unlock_buffer +EXPORT_SYMBOL vmlinux 0x4897d1c7 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x48a15ec9 netif_rx +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48c678aa devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4920430e mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x492e4b85 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x494915e9 tcp_prot +EXPORT_SYMBOL vmlinux 0x4954feb3 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x495c9eed tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x498504ca jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x499bfbf2 devm_iounmap +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49c58e5d file_remove_suid +EXPORT_SYMBOL vmlinux 0x49db5768 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x4a2d6bd4 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a35dbea md_done_sync +EXPORT_SYMBOL vmlinux 0x4a39e5a1 omap_set_dma_src_params +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a70aabf tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x4a761a28 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x4a7631f0 of_device_register +EXPORT_SYMBOL vmlinux 0x4a79a8b8 da903x_query_status +EXPORT_SYMBOL vmlinux 0x4a8c51d7 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4abdb61c seq_printf +EXPORT_SYMBOL vmlinux 0x4ada8cec dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b015768 snd_iprintf +EXPORT_SYMBOL vmlinux 0x4b0d3d93 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b20cbd2 ida_remove +EXPORT_SYMBOL vmlinux 0x4b2bd0e4 serio_close +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b3f5877 blk_put_request +EXPORT_SYMBOL vmlinux 0x4b40217f mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b8fa631 journal_extend +EXPORT_SYMBOL vmlinux 0x4baf9802 blk_free_tags +EXPORT_SYMBOL vmlinux 0x4bcff6ca journal_create +EXPORT_SYMBOL vmlinux 0x4beba328 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c363205 dev_get_flags +EXPORT_SYMBOL vmlinux 0x4c37199f arp_find +EXPORT_SYMBOL vmlinux 0x4c385b28 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0x4c5b6457 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x4c88470f genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x4c941843 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x4c991168 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbccac4 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x4cda3504 dev_driver_string +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4cdfae54 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d13b1a6 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x4d240987 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x4d320b5c __netif_schedule +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d630832 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x4d797a50 amba_driver_register +EXPORT_SYMBOL vmlinux 0x4d8ed115 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d9afc39 page_readlink +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4de1d5f7 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e506013 omap_dma_link_lch +EXPORT_SYMBOL vmlinux 0x4e524414 __napi_schedule +EXPORT_SYMBOL vmlinux 0x4e62735d genl_unregister_family +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e748dcd down_read +EXPORT_SYMBOL vmlinux 0x4e7575ee key_type_keyring +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e86d434 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x4e9746fd sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x4e9d46ac fb_validate_mode +EXPORT_SYMBOL vmlinux 0x4ea2b45a dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x4ebcfe51 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x4ed70e07 clk_get_rate +EXPORT_SYMBOL vmlinux 0x4f0b0a7e netif_napi_del +EXPORT_SYMBOL vmlinux 0x4f0d7ce6 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x4f1538ce nand_correct_data +EXPORT_SYMBOL vmlinux 0x4f16dd34 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f352fe2 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3b8b53 __pskb_copy +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4f904203 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x4fb59921 udp_prot +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ffd70c7 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x50062c7c ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x503a1ebd tcp_disconnect +EXPORT_SYMBOL vmlinux 0x50404c4c uart_add_one_port +EXPORT_SYMBOL vmlinux 0x5059c385 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x5062b2a1 of_phy_connect +EXPORT_SYMBOL vmlinux 0x506b3bf2 cdev_alloc +EXPORT_SYMBOL vmlinux 0x50795264 put_io_context +EXPORT_SYMBOL vmlinux 0x50885ad2 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x509817cf vprintk_emit +EXPORT_SYMBOL vmlinux 0x50a68064 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x50c25cc3 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x50c71330 idr_get_new +EXPORT_SYMBOL vmlinux 0x50ccff03 omap_dma_set_prio_lch +EXPORT_SYMBOL vmlinux 0x50d2d131 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x50d53e0e ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x5100e8e4 kobject_add +EXPORT_SYMBOL vmlinux 0x511746c1 dump_fpu +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5133d0f6 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5148e108 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x5169161d omap_free_dma_chain +EXPORT_SYMBOL vmlinux 0x518386d7 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x51908eb8 __raw_writesl +EXPORT_SYMBOL vmlinux 0x519d649f blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x51cdfea6 sk_filter +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51e413a0 dquot_destroy +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51e938b5 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x51f50fcb nf_getsockopt +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x5206509b snd_device_free +EXPORT_SYMBOL vmlinux 0x5219fa50 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x52368b20 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x52414f84 genl_register_family +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x525daced jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52a11264 send_sig +EXPORT_SYMBOL vmlinux 0x52b08252 phy_device_register +EXPORT_SYMBOL vmlinux 0x52b7941f xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x52d2e6ae key_validate +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52ded584 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52e49ed6 try_module_get +EXPORT_SYMBOL vmlinux 0x52efd766 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x5326cee4 scsi_device_get +EXPORT_SYMBOL vmlinux 0x5331eabb ida_simple_get +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5348b4fa dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x5364e479 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x536ecd89 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53ba4e7c up_write +EXPORT_SYMBOL vmlinux 0x53c735a9 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x53e8b138 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x53ee31e0 md_error +EXPORT_SYMBOL vmlinux 0x53ff15fe invalidate_partition +EXPORT_SYMBOL vmlinux 0x54002836 mpage_writepage +EXPORT_SYMBOL vmlinux 0x540878de ata_link_printk +EXPORT_SYMBOL vmlinux 0x540d722b eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x5417cc5c dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x54213985 genl_notify +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54667037 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x5478c28e neigh_ifdown +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54d0a8b8 get_write_access +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5509b8d9 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x5517c78a snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x5524fa65 snd_pcm_lib_write +EXPORT_SYMBOL vmlinux 0x552504af netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x5535bf6d misc_deregister +EXPORT_SYMBOL vmlinux 0x55366c25 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x55401511 simple_rename +EXPORT_SYMBOL vmlinux 0x5559e3c4 snd_device_register +EXPORT_SYMBOL vmlinux 0x5566d36d tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x558852c8 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55e116c1 touch_atime +EXPORT_SYMBOL vmlinux 0x55fae982 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x55fd3fb5 omapdss_default_get_resolution +EXPORT_SYMBOL vmlinux 0x5608e15d skb_checksum +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5621e578 dm_register_target +EXPORT_SYMBOL vmlinux 0x562ad513 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x565674b4 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x56789ac5 omap_set_dma_color_mode +EXPORT_SYMBOL vmlinux 0x567bffe0 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x56882272 mdiobus_register +EXPORT_SYMBOL vmlinux 0x569d769b input_allocate_device +EXPORT_SYMBOL vmlinux 0x56a1e932 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x56c37e6e journal_flush +EXPORT_SYMBOL vmlinux 0x56c81e8a dev_mc_add +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d92cc1 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x570d6f7d i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x57292802 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57302a87 mmc_free_host +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57577676 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5760c53f of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x57639862 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x57aeac85 uart_match_port +EXPORT_SYMBOL vmlinux 0x57b9fd07 serio_open +EXPORT_SYMBOL vmlinux 0x57bc35d7 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x57da9f47 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x580076ab journal_start_commit +EXPORT_SYMBOL vmlinux 0x582e7753 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584eed4c htc_egpio_get_wakeup_irq +EXPORT_SYMBOL vmlinux 0x58516557 omap_set_dma_src_data_pack +EXPORT_SYMBOL vmlinux 0x588a577e rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x58c0e3a3 dquot_alloc +EXPORT_SYMBOL vmlinux 0x58c195ad vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x58cb0699 __break_lease +EXPORT_SYMBOL vmlinux 0x58d24937 init_net +EXPORT_SYMBOL vmlinux 0x59006d7f snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x5937d397 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x593884f9 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x594fd546 omap_prcm_get_reset_sources +EXPORT_SYMBOL vmlinux 0x596a5ef6 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x597f675d scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x5998ecd7 inode_init_owner +EXPORT_SYMBOL vmlinux 0x59aa863b dev_err +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a12e16c abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x5a30bdd9 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x5a42d43a netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x5a4b0ed5 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x5a5b5bcf kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5aa2077b revert_creds +EXPORT_SYMBOL vmlinux 0x5ae2ca35 tty_name +EXPORT_SYMBOL vmlinux 0x5ae437ac abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b334156 down_killable +EXPORT_SYMBOL vmlinux 0x5b393bc8 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x5b68cb67 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x5b9547b2 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x5b96e668 consume_skb +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bd709b8 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0x5bf4a1eb sg_last +EXPORT_SYMBOL vmlinux 0x5c445e49 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5ca04cb9 rtnl_notify +EXPORT_SYMBOL vmlinux 0x5cc4428b prepare_binprm +EXPORT_SYMBOL vmlinux 0x5cdad235 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x5d000101 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d1cc3ba security_path_chown +EXPORT_SYMBOL vmlinux 0x5d2562eb vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x5d4874d7 inet_addr_type +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d6206ab __destroy_inode +EXPORT_SYMBOL vmlinux 0x5d6fd329 fd_install +EXPORT_SYMBOL vmlinux 0x5d8be198 tcf_register_action +EXPORT_SYMBOL vmlinux 0x5d9ff9d4 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x5da4b620 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x5dcbcd1a netlink_ack +EXPORT_SYMBOL vmlinux 0x5dd01bbb simple_fill_super +EXPORT_SYMBOL vmlinux 0x5de13614 inet_select_addr +EXPORT_SYMBOL vmlinux 0x5de61a5c con_is_bound +EXPORT_SYMBOL vmlinux 0x5e10b03e input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x5e60eb27 omap_dma_unlink_lch +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL vmlinux 0x5e8a586c blk_peek_request +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea32192 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed44eb9 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ef268b4 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x5ef4d861 seq_bitmap +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f0e1bd1 dev_warn +EXPORT_SYMBOL vmlinux 0x5f108d10 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x5f257724 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x5f386b6b dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f6e42ef tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f820f01 arp_create +EXPORT_SYMBOL vmlinux 0x5f9c5412 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fa8041a __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x5faf4bb8 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x5fb04d37 vfs_mknod +EXPORT_SYMBOL vmlinux 0x5fb0c8ec of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x5fbaf8fa simple_transaction_read +EXPORT_SYMBOL vmlinux 0x5fc6cf2f clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x5fd74819 snd_card_file_add +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600c329e netdev_state_change +EXPORT_SYMBOL vmlinux 0x6015f67c tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x601f2425 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x60378a88 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60acccb8 kunmap +EXPORT_SYMBOL vmlinux 0x60b844c3 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x60c50f7c snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0x60e32666 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x60f71cfa complete +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61591924 vc_cons +EXPORT_SYMBOL vmlinux 0x61632693 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x617192b0 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x6187c40d rtnl_create_link +EXPORT_SYMBOL vmlinux 0x619a4955 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x61a79f08 __irq_regs +EXPORT_SYMBOL vmlinux 0x61b3749d journal_init_dev +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bd618c dma_supported +EXPORT_SYMBOL vmlinux 0x61f0d306 poll_initwait +EXPORT_SYMBOL vmlinux 0x61fadf56 __alloc_skb +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6235365d netif_skb_features +EXPORT_SYMBOL vmlinux 0x624294ea sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x6248dd27 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x624d7359 address_space_init_once +EXPORT_SYMBOL vmlinux 0x62521759 nobh_write_end +EXPORT_SYMBOL vmlinux 0x625d831d mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x629d8b63 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x62a003ce find_vma +EXPORT_SYMBOL vmlinux 0x62a5d1d5 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x62b72b0d mutex_unlock +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x62ce6646 neigh_update +EXPORT_SYMBOL vmlinux 0x62e18473 security_path_rename +EXPORT_SYMBOL vmlinux 0x62f9f176 journal_restart +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x62fe2d1a fb_set_suspend +EXPORT_SYMBOL vmlinux 0x630a518c generic_fillattr +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x633e1702 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x635cfb4b blk_end_request +EXPORT_SYMBOL vmlinux 0x636b3461 omap_dss_get_num_overlays +EXPORT_SYMBOL vmlinux 0x637e820c i2c_transfer +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63ab2604 irq_stat +EXPORT_SYMBOL vmlinux 0x63b87fc5 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x63bb06c4 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x63d55a3a generic_getxattr +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f2a167 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x63f3f68a dev_addr_del +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x6445c46f simple_link +EXPORT_SYMBOL vmlinux 0x6493531e setup_new_exec +EXPORT_SYMBOL vmlinux 0x64972430 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a5dc0b netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x64c7bf85 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x64d233c8 ioremap_page +EXPORT_SYMBOL vmlinux 0x64de6d71 snd_jack_new +EXPORT_SYMBOL vmlinux 0x64efbe26 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65369ec2 snd_pcm_lib_read +EXPORT_SYMBOL vmlinux 0x653bc29d register_sound_midi +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x6549fabd alloc_file +EXPORT_SYMBOL vmlinux 0x65638f2e snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0x656a7f02 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x657af67b d_invalidate +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x658d62ce sk_stop_timer +EXPORT_SYMBOL vmlinux 0x65909849 key_task_permission +EXPORT_SYMBOL vmlinux 0x65a38e24 dget_parent +EXPORT_SYMBOL vmlinux 0x65a571bd fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x65a77068 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x65aba9eb search_binary_handler +EXPORT_SYMBOL vmlinux 0x65d8ade7 set_bh_page +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x6609b110 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x6612c911 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x6634bd8e register_netdev +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x6692f527 register_netdevice +EXPORT_SYMBOL vmlinux 0x669d139b iunique +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x66a1afda omap_dss_unregister_driver +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66ffb625 user_path_create +EXPORT_SYMBOL vmlinux 0x67193068 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x673b024f snd_device_new +EXPORT_SYMBOL vmlinux 0x67469833 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x6773c8e3 nand_bch_init +EXPORT_SYMBOL vmlinux 0x677e3864 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b36534 clk_add_alias +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67bcb21e snd_timer_stop +EXPORT_SYMBOL vmlinux 0x67bdcac6 ps2_drain +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67bf09d2 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x6806e9b3 filp_close +EXPORT_SYMBOL vmlinux 0x686fce61 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687ceb20 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68a3b264 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x68ba773e tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68f6defe kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x6948439f md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x69653aec locks_remove_posix +EXPORT_SYMBOL vmlinux 0x6966e613 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6985fbb4 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x698d292d register_nls +EXPORT_SYMBOL vmlinux 0x69940ee3 __get_user_pages +EXPORT_SYMBOL vmlinux 0x699f9d32 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x69aa5ba8 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69ada982 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x69b6f8d9 omap_set_dma_transfer_params +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a5445dd qdisc_reset +EXPORT_SYMBOL vmlinux 0x6a559116 rtc_lock +EXPORT_SYMBOL vmlinux 0x6a655e29 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x6a6fa8b4 contig_page_data +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a78e42f bio_copy_user +EXPORT_SYMBOL vmlinux 0x6ab00d40 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x6acc1553 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x6ae194ce twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x6ae807b4 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b1f5d88 dev_deactivate +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b38f6c5 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x6b3cab88 proc_create_data +EXPORT_SYMBOL vmlinux 0x6b5a7057 ida_destroy +EXPORT_SYMBOL vmlinux 0x6b63c0e8 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x6b63f98c bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x6b6fe6f0 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b8b8f89 skb_store_bits +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6baed957 bioset_create +EXPORT_SYMBOL vmlinux 0x6bb5ba63 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd30203 dma_pool_create +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be056a4 put_page +EXPORT_SYMBOL vmlinux 0x6beca89f omap_dss_get_next_device +EXPORT_SYMBOL vmlinux 0x6bf2895b sock_i_uid +EXPORT_SYMBOL vmlinux 0x6bf2ec75 simple_rmdir +EXPORT_SYMBOL vmlinux 0x6c131ec1 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c254295 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x6c3c9937 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c6fbef0 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c88dbc8 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x6c91b3e8 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x6c94d4c7 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x6ca1622c snd_card_free +EXPORT_SYMBOL vmlinux 0x6ca1a5fb xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x6cb7e84a scsi_execute_req +EXPORT_SYMBOL vmlinux 0x6ccf7bd7 __pv_phys_offset +EXPORT_SYMBOL vmlinux 0x6cd94629 snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6ce9c13b dcache_dir_close +EXPORT_SYMBOL vmlinux 0x6ceb78ca security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d07c936 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d7c7c1a mapping_tagged +EXPORT_SYMBOL vmlinux 0x6d9b0ae7 register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x6db987eb default_file_splice_read +EXPORT_SYMBOL vmlinux 0x6dbf78f0 mtd_concat_create +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e2cf38a blk_run_queue +EXPORT_SYMBOL vmlinux 0x6e3441f6 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x6e390a65 dquot_release +EXPORT_SYMBOL vmlinux 0x6e4239c5 security_path_link +EXPORT_SYMBOL vmlinux 0x6e469121 follow_up +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ebfa44f of_get_next_child +EXPORT_SYMBOL vmlinux 0x6ed1b65e i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x6eebd045 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x6ef489cd fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x6ef7649e sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f0304f5 register_cdrom +EXPORT_SYMBOL vmlinux 0x6f097778 scsi_add_device +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f3e79db posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x6f47f4bb dst_alloc +EXPORT_SYMBOL vmlinux 0x6f4a1197 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x6f9b436b max8998_update_reg +EXPORT_SYMBOL vmlinux 0x6fc1c4b9 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x6fc7b6f8 input_reset_device +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fe59e7e tty_port_close_end +EXPORT_SYMBOL vmlinux 0x6ff5b651 dev_trans_start +EXPORT_SYMBOL vmlinux 0x70097aa0 nand_bch_free +EXPORT_SYMBOL vmlinux 0x70147aa2 snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x701d2014 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x7022fd4c tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x70334158 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x7045422c qdisc_destroy +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x70698239 journal_destroy +EXPORT_SYMBOL vmlinux 0x70733c05 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x708868c0 bd_set_size +EXPORT_SYMBOL vmlinux 0x708ea402 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x70b74cf5 bio_map_user +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d1f096 omapdss_sdi_display_enable +EXPORT_SYMBOL vmlinux 0x70dd1a12 gpmc_cs_configure +EXPORT_SYMBOL vmlinux 0x70ddb90d mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x710fa4a3 udp_disconnect +EXPORT_SYMBOL vmlinux 0x71122bf1 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x711cbeb4 d_path +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714c5da1 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x714d6918 override_creds +EXPORT_SYMBOL vmlinux 0x71679e5d tty_port_init +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x718d363b inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x71a262b3 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71b2ede6 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x71bb69ba d_splice_alias +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x7205f022 d_delete +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x724f9e25 bh_submit_read +EXPORT_SYMBOL vmlinux 0x72559cdc snd_pcm_lib_readv +EXPORT_SYMBOL vmlinux 0x7275736a register_console +EXPORT_SYMBOL vmlinux 0x727f6d59 snd_unregister_device +EXPORT_SYMBOL vmlinux 0x72b109b3 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x72c15dd9 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x72c564c7 block_truncate_page +EXPORT_SYMBOL vmlinux 0x72cecca7 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x7306227a set_user_nice +EXPORT_SYMBOL vmlinux 0x730c187d find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x73124154 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c50e3 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x732b06be journal_errno +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x73450f7e of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x734ed113 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x737ac25d dql_reset +EXPORT_SYMBOL vmlinux 0x737b884b scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73ed35c0 unregister_nls +EXPORT_SYMBOL vmlinux 0x73ef6113 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x73fbcde6 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x73fd21f2 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x740384c0 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x7406376e filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x740e2d63 blk_get_request +EXPORT_SYMBOL vmlinux 0x7451161b xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x745c2083 input_unregister_device +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x74807f3a __seq_open_private +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748d93d9 get_task_io_context +EXPORT_SYMBOL vmlinux 0x74a60e46 backlight_force_update +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cdf4e4 dcb_setapp +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f5b892 skb_split +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x75117d5e dquot_scan_active +EXPORT_SYMBOL vmlinux 0x753de2a9 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x755bffc0 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x755d93f7 omapdss_default_get_timings +EXPORT_SYMBOL vmlinux 0x756b1ef4 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x7597727e dentry_open +EXPORT_SYMBOL vmlinux 0x75a17bed prepare_to_wait +EXPORT_SYMBOL vmlinux 0x75b3d2dc tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75e821c8 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x75fcee29 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x75fee7fd __raw_writesb +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7620e99f simple_statfs +EXPORT_SYMBOL vmlinux 0x762d5a92 clk_enable +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764d4120 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x7661d016 dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x766448e2 blk_start_queue +EXPORT_SYMBOL vmlinux 0x7682e28c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x76881360 leds_event +EXPORT_SYMBOL vmlinux 0x76b9924c __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c01ae5 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x76c5ccbe snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d9be73 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x77045ead sk_stream_error +EXPORT_SYMBOL vmlinux 0x77227cae fget +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x775c36c1 sock_no_listen +EXPORT_SYMBOL vmlinux 0x7760d11d input_release_device +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e341f4 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x7808ec17 netpoll_setup +EXPORT_SYMBOL vmlinux 0x78105cb7 kstat +EXPORT_SYMBOL vmlinux 0x783672ab dpi_set_timings +EXPORT_SYMBOL vmlinux 0x7848d32e qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x784a8029 snd_ctl_replace +EXPORT_SYMBOL vmlinux 0x78549f3e end_page_writeback +EXPORT_SYMBOL vmlinux 0x78575aa4 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x789ef3b8 snd_card_proc_new +EXPORT_SYMBOL vmlinux 0x78a2b202 simple_map_init +EXPORT_SYMBOL vmlinux 0x78a593eb cdev_add +EXPORT_SYMBOL vmlinux 0x78b37fc0 udp_proc_register +EXPORT_SYMBOL vmlinux 0x78c46d70 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x78d01942 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x78e7892c blk_put_queue +EXPORT_SYMBOL vmlinux 0x78f3b63c ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x791dbbcf tcp_seq_open +EXPORT_SYMBOL vmlinux 0x792ee7ba journal_load +EXPORT_SYMBOL vmlinux 0x793699d9 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x7938216a __dev_printk +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x795174ff netif_receive_skb +EXPORT_SYMBOL vmlinux 0x79539f64 sock_create_kern +EXPORT_SYMBOL vmlinux 0x79564811 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x795a86ad vfs_getattr +EXPORT_SYMBOL vmlinux 0x7966bd89 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x796d56bd __init_rwsem +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79889d9b snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x799a79e1 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79cb10de scsi_register_driver +EXPORT_SYMBOL vmlinux 0x79d5f401 dev_notice +EXPORT_SYMBOL vmlinux 0x79fab371 netdev_warn +EXPORT_SYMBOL vmlinux 0x7a04ec22 tty_vhangup +EXPORT_SYMBOL vmlinux 0x7a26854d of_get_mac_address +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a29adbb inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x7a2b37d6 clk_get_parent +EXPORT_SYMBOL vmlinux 0x7a2b3b79 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x7a3988c5 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a45b736 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x7a4beafa get_unmapped_area +EXPORT_SYMBOL vmlinux 0x7a4eea08 snd_dma_alloc_pages +EXPORT_SYMBOL vmlinux 0x7a91726b clkdev_alloc +EXPORT_SYMBOL vmlinux 0x7a9b122c tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x7a9d7bfb qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ae6d96f blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x7afa89fc vsnprintf +EXPORT_SYMBOL vmlinux 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b6fe2d6 of_find_property +EXPORT_SYMBOL vmlinux 0x7b957c7c skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x7bd96a2c gpmc_prefetch_enable +EXPORT_SYMBOL vmlinux 0x7bdd37fb tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x7be55231 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x7bf0bc32 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x7bf30fdc down_write +EXPORT_SYMBOL vmlinux 0x7bff5ae9 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c2c557c simple_open +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4e7ada __blk_run_queue +EXPORT_SYMBOL vmlinux 0x7c5fe130 module_refcount +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c98845d twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7d02519e amba_device_unregister +EXPORT_SYMBOL vmlinux 0x7d086100 vmtruncate +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d7ce062 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x7d9179f1 blk_start_request +EXPORT_SYMBOL vmlinux 0x7dae3d26 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x7de0a78b tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e0473ea flush_dcache_page +EXPORT_SYMBOL vmlinux 0x7e21178f vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e3ec5ad max8998_read_reg +EXPORT_SYMBOL vmlinux 0x7e4ae4c0 mii_link_ok +EXPORT_SYMBOL vmlinux 0x7e66ce61 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x7e865acb __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7eae8821 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x7ebaa41f inode_init_always +EXPORT_SYMBOL vmlinux 0x7ece1e24 scsi_init_io +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7ef44c05 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x7f01d411 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7f04b29b lro_flush_all +EXPORT_SYMBOL vmlinux 0x7f0d9442 __quota_error +EXPORT_SYMBOL vmlinux 0x7f139102 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x7f1e43f3 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f33a63b omap_get_dma_chain_dst_pos +EXPORT_SYMBOL vmlinux 0x7f596387 vfs_symlink +EXPORT_SYMBOL vmlinux 0x7f5e339e bdev_read_only +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f8108af noop_llseek +EXPORT_SYMBOL vmlinux 0x7fd08a06 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x7fded35f mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x7fee7594 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7ff82513 snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x801d6e7e __kfree_skb +EXPORT_SYMBOL vmlinux 0x8024db4b of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x8034558a gpmc_nand_write +EXPORT_SYMBOL vmlinux 0x80472eb4 napi_complete +EXPORT_SYMBOL vmlinux 0x804f7f95 inet_listen +EXPORT_SYMBOL vmlinux 0x8061337c inode_set_bytes +EXPORT_SYMBOL vmlinux 0x80769bfb of_dev_put +EXPORT_SYMBOL vmlinux 0x807b466b skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x807f92f2 bio_init +EXPORT_SYMBOL vmlinux 0x80826d4b clk_get +EXPORT_SYMBOL vmlinux 0x80ad0ad8 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x80cb67ca crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x80d81308 omap_vrfb_release_ctx +EXPORT_SYMBOL vmlinux 0x80d817ab wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x80de231a idr_remove +EXPORT_SYMBOL vmlinux 0x80f77405 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x81003ee2 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x812c9d36 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x813ed040 idr_remove_all +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x8150280a kill_bdev +EXPORT_SYMBOL vmlinux 0x815131ba mempool_destroy +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815cfb0a vfs_readv +EXPORT_SYMBOL vmlinux 0x816694ff xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x816f6761 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x81a7a2c1 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x81b04bfc completion_done +EXPORT_SYMBOL vmlinux 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0x81cc5062 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81faf3bd request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x82009965 names_cachep +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8204e852 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x821e2df5 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x821e8d91 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x82407ce6 bio_free +EXPORT_SYMBOL vmlinux 0x8244ba34 snd_add_device_sysfs_file +EXPORT_SYMBOL vmlinux 0x824a4367 tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82576001 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x82649501 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x82934198 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82bb5822 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x82bf2ed0 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x82d5285a of_n_size_cells +EXPORT_SYMBOL vmlinux 0x82f80ce8 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x82fa92bd dquot_commit_info +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x8339c7eb sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL vmlinux 0x8371daff sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x837b5580 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83aa3618 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d25c38 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x83d936c9 dev_addr_init +EXPORT_SYMBOL vmlinux 0x845064f5 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x8457bc58 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x84842d05 register_qdisc +EXPORT_SYMBOL vmlinux 0x84b122fa netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84db4b6e wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x850cf2ff dev_emerg +EXPORT_SYMBOL vmlinux 0x8517a55c snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0x855585c1 sk_run_filter +EXPORT_SYMBOL vmlinux 0x8557bb76 find_lock_page +EXPORT_SYMBOL vmlinux 0x8564f3f0 bdi_unregister +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85682081 led_brightness_set +EXPORT_SYMBOL vmlinux 0x85765fee omap_enable_dma_irq +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bc1cd4 netif_napi_add +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x865dc56d scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x8681f273 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8698fed7 register_framebuffer +EXPORT_SYMBOL vmlinux 0x869b6978 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86caf8b8 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x86f76ce5 journal_abort +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x87100912 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8749af39 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x8780bec9 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87b26c27 thaw_super +EXPORT_SYMBOL vmlinux 0x87ccf77e amba_request_regions +EXPORT_SYMBOL vmlinux 0x87d5dfbc mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x87dbba14 ida_get_new +EXPORT_SYMBOL vmlinux 0x87e47ddc bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x87e4ff3c mount_ns +EXPORT_SYMBOL vmlinux 0x87f78b2b mmc_can_discard +EXPORT_SYMBOL vmlinux 0x880330c9 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x881ab77d bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x88257334 i2c_master_send +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x883cb071 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x8853b235 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x8893da16 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x8893fa5d finish_wait +EXPORT_SYMBOL vmlinux 0x88990a98 __bread +EXPORT_SYMBOL vmlinux 0x889d0fc9 scsi_print_command +EXPORT_SYMBOL vmlinux 0x891b1255 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x8936c260 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x89620ad0 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89782195 sock_no_accept +EXPORT_SYMBOL vmlinux 0x89791e16 dquot_drop +EXPORT_SYMBOL vmlinux 0x8979694c lro_receive_frags +EXPORT_SYMBOL vmlinux 0x899e1040 file_sb_list_del +EXPORT_SYMBOL vmlinux 0x89a3c4f4 omap_get_dma_chain_index +EXPORT_SYMBOL vmlinux 0x89b6f8f1 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x89cd74c3 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89f2c832 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x8a15e8c9 snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a255096 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x8a28fe27 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x8a3e785e xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x8a40775a ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x8a469fd9 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a6f9a83 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ab2bcc1 sk_common_release +EXPORT_SYMBOL vmlinux 0x8abf4062 omapdss_dpi_display_disable +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8acec027 security_path_unlink +EXPORT_SYMBOL vmlinux 0x8ad66426 seq_release_private +EXPORT_SYMBOL vmlinux 0x8af1fd05 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x8af40517 snd_pcm_new +EXPORT_SYMBOL vmlinux 0x8afe4164 snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x8b304b54 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x8b37821b do_splice_to +EXPORT_SYMBOL vmlinux 0x8b48cad1 netdev_info +EXPORT_SYMBOL vmlinux 0x8b4bb1db snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x8b4c3a9e d_make_root +EXPORT_SYMBOL vmlinux 0x8b5eecd2 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b64c1c3 kick_iocb +EXPORT_SYMBOL vmlinux 0x8b6ece54 simple_getattr +EXPORT_SYMBOL vmlinux 0x8bb628c2 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x8bc75a2f iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x8bd6225c snd_cards +EXPORT_SYMBOL vmlinux 0x8bea03fb inet6_bind +EXPORT_SYMBOL vmlinux 0x8bed8e2c genphy_suspend +EXPORT_SYMBOL vmlinux 0x8bef91c5 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x8bf0cbe5 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x8bf75e53 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0bc6d1 kset_register +EXPORT_SYMBOL vmlinux 0x8c0bccfd ether_setup +EXPORT_SYMBOL vmlinux 0x8c126da4 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x8c19434f km_query +EXPORT_SYMBOL vmlinux 0x8c3600a7 register_con_driver +EXPORT_SYMBOL vmlinux 0x8c460878 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x8c4d6523 omap_dma_chain_a_transfer +EXPORT_SYMBOL vmlinux 0x8c67521b mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x8c7275a9 dev_mc_del +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c9cf221 wireless_send_event +EXPORT_SYMBOL vmlinux 0x8cac985c kthread_stop +EXPORT_SYMBOL vmlinux 0x8cb23c19 set_groups +EXPORT_SYMBOL vmlinux 0x8cd09ebe take_over_console +EXPORT_SYMBOL vmlinux 0x8cd8c339 omap_free_dma +EXPORT_SYMBOL vmlinux 0x8ce45870 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x8cfeb371 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x8d0e80f6 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x8d1230c5 ata_print_version +EXPORT_SYMBOL vmlinux 0x8d221749 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x8d2a6b68 dst_destroy +EXPORT_SYMBOL vmlinux 0x8d40df78 snd_power_wait +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d8d95a2 icmpv6_send +EXPORT_SYMBOL vmlinux 0x8d8f3876 journal_wipe +EXPORT_SYMBOL vmlinux 0x8dafb537 bdi_init +EXPORT_SYMBOL vmlinux 0x8db1095e phy_driver_register +EXPORT_SYMBOL vmlinux 0x8dbe5cc9 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x8dd3840e sock_rfree +EXPORT_SYMBOL vmlinux 0x8de467e8 tcp_check_req +EXPORT_SYMBOL vmlinux 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x8e09567a thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x8e0d59a0 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e2794eb blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e3ae8a2 journal_start +EXPORT_SYMBOL vmlinux 0x8e44d916 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x8e8b89ee __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x8eb97f83 tcp_poll +EXPORT_SYMBOL vmlinux 0x8ebafdba unlock_new_inode +EXPORT_SYMBOL vmlinux 0x8ebbc0f0 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x8ed4398d unregister_con_driver +EXPORT_SYMBOL vmlinux 0x8ed8a271 __register_binfmt +EXPORT_SYMBOL vmlinux 0x8edc83b0 scsi_device_put +EXPORT_SYMBOL vmlinux 0x8eded71f serial8250_register_port +EXPORT_SYMBOL vmlinux 0x8f26ecee generic_file_llseek +EXPORT_SYMBOL vmlinux 0x8f2bfc9f xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x8f2f44b6 noop_fsync +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f595b11 snd_major +EXPORT_SYMBOL vmlinux 0x8f5bf374 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x8f6696b6 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x8f676c9e tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x8f678b07 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x8f69bc15 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x8f69f7d1 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f8903ca mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x8fa4130a omap_set_dma_callback +EXPORT_SYMBOL vmlinux 0x8fc26fd5 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x903b1714 elevator_init +EXPORT_SYMBOL vmlinux 0x9073151b ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x907a42de max8925_set_bits +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90d03ed1 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x90dd8341 bio_map_kern +EXPORT_SYMBOL vmlinux 0x90f91617 free_buffer_head +EXPORT_SYMBOL vmlinux 0x91029d04 blk_register_region +EXPORT_SYMBOL vmlinux 0x911b4ac8 blk_init_queue +EXPORT_SYMBOL vmlinux 0x9137c871 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x9145a418 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x91621d6a allocate_resource +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x91b606e9 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x91e7c1cd input_get_keycode +EXPORT_SYMBOL vmlinux 0x91e81ba5 aio_put_req +EXPORT_SYMBOL vmlinux 0x920664c8 mempool_free +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x925d916e jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x925dfa9b journal_ack_err +EXPORT_SYMBOL vmlinux 0x9276b415 block_read_full_page +EXPORT_SYMBOL vmlinux 0x9276e2fd generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x92868a94 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x929eecac __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x92a0bc01 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x9323b6d8 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x9343f4b0 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x9350336e netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x935ad852 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x937bda1b of_get_parent +EXPORT_SYMBOL vmlinux 0x93828c89 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a8ae86 snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x93c02adb file_open_root +EXPORT_SYMBOL vmlinux 0x93e03f50 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x93ef6521 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x93fe78f0 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x94098ff8 snd_interval_list +EXPORT_SYMBOL vmlinux 0x94298c28 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x943e8fd2 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x9446fcd5 freeze_bdev +EXPORT_SYMBOL vmlinux 0x944f1520 log_wait_commit +EXPORT_SYMBOL vmlinux 0x94644f2f path_get +EXPORT_SYMBOL vmlinux 0x946e2c58 tty_mutex +EXPORT_SYMBOL vmlinux 0x9489530c ps2_command +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a7d925 arp_xmit +EXPORT_SYMBOL vmlinux 0x94ae82a2 inet_frags_init +EXPORT_SYMBOL vmlinux 0x94af632e complete_all +EXPORT_SYMBOL vmlinux 0x9526a4c8 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x9540f91c ilookup5 +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x955cfdad ip_setsockopt +EXPORT_SYMBOL vmlinux 0x955e526d xfrm_register_km +EXPORT_SYMBOL vmlinux 0x9584d204 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x95a70767 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x95b2e642 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x95b9b466 snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x95bd12f3 vfs_readlink +EXPORT_SYMBOL vmlinux 0x95c206b2 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x96062ea0 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x960b92bf genlmsg_put +EXPORT_SYMBOL vmlinux 0x960f2f7e put_disk +EXPORT_SYMBOL vmlinux 0x96334446 sock_no_connect +EXPORT_SYMBOL vmlinux 0x964016fd snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x965ad1e4 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96b39b6e omap_start_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e11910 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x9729ccbc vm_map_ram +EXPORT_SYMBOL vmlinux 0x972d9107 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x9744aa1d keyring_clear +EXPORT_SYMBOL vmlinux 0x974a3e0b scsi_remove_target +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x97629bc7 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97a52803 set_anon_super +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x97b5c256 __d_drop +EXPORT_SYMBOL vmlinux 0x97ba1397 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x97ccd21e netif_rx_ni +EXPORT_SYMBOL vmlinux 0x98082893 __copy_to_user +EXPORT_SYMBOL vmlinux 0x980a912c grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x980cdc4a truncate_pagecache +EXPORT_SYMBOL vmlinux 0x981f1ae0 __scm_send +EXPORT_SYMBOL vmlinux 0x981f309c mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x9850b4ec dm_get_device +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9885074a blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x988d1fbb inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x98993e07 init_special_inode +EXPORT_SYMBOL vmlinux 0x98a39f30 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x98c4ef1e ihold +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x990d33c3 kmap_atomic +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x995210a8 dev_uc_add +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x9963d8ff bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x998eee8f keyring_search +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x9998e516 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x999c3148 __raw_readsb +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c83212 path_is_under +EXPORT_SYMBOL vmlinux 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d14c5c elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x99d50960 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x99e63794 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x99f88f1d ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x99ffdb87 request_firmware +EXPORT_SYMBOL vmlinux 0x9a01f627 arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0x9a04ce93 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x9a12015c input_flush_device +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a2bef7c gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x9a3394a7 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x9a367652 km_policy_expired +EXPORT_SYMBOL vmlinux 0x9a515dd3 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x9a57742d inet_frag_find +EXPORT_SYMBOL vmlinux 0x9a5c7ab2 aio_complete +EXPORT_SYMBOL vmlinux 0x9a6cd279 clk_unregister +EXPORT_SYMBOL vmlinux 0x9a6f8b1b d_genocide +EXPORT_SYMBOL vmlinux 0x9a833130 mdiobus_write +EXPORT_SYMBOL vmlinux 0x9a8dc6db lg_local_lock +EXPORT_SYMBOL vmlinux 0x9aa9c607 nobh_writepage +EXPORT_SYMBOL vmlinux 0x9abbdb69 clk_set_parent +EXPORT_SYMBOL vmlinux 0x9af217a5 elv_register_queue +EXPORT_SYMBOL vmlinux 0x9b0506ac napi_frags_finish +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b39437a mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x9b6972cc flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bb49709 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x9bb4f5d2 locks_init_lock +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bea9ce9 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x9bf40726 mmc_cleanup_queue +EXPORT_SYMBOL vmlinux 0x9c4cc62d fifo_set_limit +EXPORT_SYMBOL vmlinux 0x9c5b17a5 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9c6dda58 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c94ab1e jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x9cb2d08e eth_header +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd2e7d0 gpmc_nand_read +EXPORT_SYMBOL vmlinux 0x9cd60539 sg_free_table +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf9eddf snd_component_add +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d199609 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3c11f2 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d6d2862 registered_fb +EXPORT_SYMBOL vmlinux 0x9da6f372 snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x9dcb3652 scsi_host_get +EXPORT_SYMBOL vmlinux 0x9dfccc9b dquot_free_inode +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e100be3 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x9e1e1ee8 bdi_register +EXPORT_SYMBOL vmlinux 0x9e1e9de7 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e4dc962 tty_register_driver +EXPORT_SYMBOL vmlinux 0x9e4e5d23 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e568635 pipe_lock +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e92a9db ppp_input_error +EXPORT_SYMBOL vmlinux 0x9e969ad3 force_sig +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9eb63baa dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eedf89e arp_tbl +EXPORT_SYMBOL vmlinux 0x9ef2a6f9 skb_clone +EXPORT_SYMBOL vmlinux 0x9ef7e5cc bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x9efb48bf vlan_vid_add +EXPORT_SYMBOL vmlinux 0x9f05bbe2 security_path_mknod +EXPORT_SYMBOL vmlinux 0x9f11b5ac free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f62926a tty_port_close +EXPORT_SYMBOL vmlinux 0x9f6626f1 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x9f797132 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x9f84870d dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f99d9bf ida_pre_get +EXPORT_SYMBOL vmlinux 0x9f9c8780 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9ff956af inode_add_bytes +EXPORT_SYMBOL vmlinux 0xa00053ad generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xa0061b45 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xa0148e14 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa023c43d sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xa0279068 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa04f1a0c abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa09a1c12 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xa0a861fc scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xa0a8b2b0 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0caf58a xfrm_init_state +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0ef5b42 __elv_add_request +EXPORT_SYMBOL vmlinux 0xa0f7a8c0 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0fe9244 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12e7465 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa1654b36 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1b8f215 dst_discard +EXPORT_SYMBOL vmlinux 0xa1bae49d dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0xa1c4b6d2 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1e3db1a lock_fb_info +EXPORT_SYMBOL vmlinux 0xa1e59b2a bio_unmap_user +EXPORT_SYMBOL vmlinux 0xa1fdd16b genphy_read_status +EXPORT_SYMBOL vmlinux 0xa20b3150 __rta_fill +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa23422dd __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa266cdfe netdev_update_features +EXPORT_SYMBOL vmlinux 0xa27471d0 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xa27b4a2a sock_i_ino +EXPORT_SYMBOL vmlinux 0xa27edf7e pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa28bbbaf bio_put +EXPORT_SYMBOL vmlinux 0xa28d9e7b key_revoke +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ea512f noop_qdisc +EXPORT_SYMBOL vmlinux 0xa2f07b0b pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xa2fc466a abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xa3019bb4 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xa332a8b9 scsi_free_command +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL vmlinux 0xa33a4d2d ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xa33f9c8e seq_read +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa352c00d blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa38a5c33 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa3967d82 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0xa3c37065 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xa3f02206 __napi_complete +EXPORT_SYMBOL vmlinux 0xa4011430 send_sig_info +EXPORT_SYMBOL vmlinux 0xa41e0e4c simple_unlink +EXPORT_SYMBOL vmlinux 0xa42059e6 elevator_exit +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa43c02cb nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xa4610bc6 omap_rev +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa473062d omap_dss_find_device +EXPORT_SYMBOL vmlinux 0xa47b6c65 poll_freewait +EXPORT_SYMBOL vmlinux 0xa47cb1ce input_unregister_handler +EXPORT_SYMBOL vmlinux 0xa48f5b09 omap_dma_set_global_params +EXPORT_SYMBOL vmlinux 0xa4b42c55 omap_set_dma_priority +EXPORT_SYMBOL vmlinux 0xa4d415d7 clk_set_rate +EXPORT_SYMBOL vmlinux 0xa4d785d6 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xa515f1be security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa57da780 ___pskb_trim +EXPORT_SYMBOL vmlinux 0xa57e70f6 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xa5816569 loop_register_transfer +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5b5ed5e register_quota_format +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa601c01f dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0xa61e4362 omap_request_dma +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6411cea unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xa644e9a8 nand_lock +EXPORT_SYMBOL vmlinux 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL vmlinux 0xa66bff3a xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675436a bio_integrity_free +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6916566 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6a7af1a devm_free_irq +EXPORT_SYMBOL vmlinux 0xa6c9bbfd unlock_rename +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e77860 scsi_put_command +EXPORT_SYMBOL vmlinux 0xa6f2a854 snd_timer_global_register +EXPORT_SYMBOL vmlinux 0xa6f8263a cdev_init +EXPORT_SYMBOL vmlinux 0xa6f9b9e7 revalidate_disk +EXPORT_SYMBOL vmlinux 0xa724db81 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xa7508001 dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0xa760125a scsi_ioctl +EXPORT_SYMBOL vmlinux 0xa7716564 d_add_ci +EXPORT_SYMBOL vmlinux 0xa78bb698 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xa79df6e5 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xa7a49c3d tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xa7d3938c kernel_getsockname +EXPORT_SYMBOL vmlinux 0xa7d43dc1 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xa7d96afa rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xa7f2c5ea prepare_creds +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8380d34 kernel_execve +EXPORT_SYMBOL vmlinux 0xa84e9d23 xfrm_input +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8a5c5fc __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xa8afac19 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xa8cde9a7 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xa8d096d6 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xa8e3b439 netdev_notice +EXPORT_SYMBOL vmlinux 0xa8e3df95 dev_addr_add +EXPORT_SYMBOL vmlinux 0xa8f3edc5 empty_zero_page +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa92abae5 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xa92b410b tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xa93ee019 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xa94fc942 generic_write_end +EXPORT_SYMBOL vmlinux 0xa961cab6 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xa961f577 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa993f0f0 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xa9b200ab __sk_dst_check +EXPORT_SYMBOL vmlinux 0xa9dc5272 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xa9e14cac generic_listxattr +EXPORT_SYMBOL vmlinux 0xaa079497 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xaa1db072 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xaa3b5d52 twl6040_irq_init +EXPORT_SYMBOL vmlinux 0xaa53517a kill_block_super +EXPORT_SYMBOL vmlinux 0xaa5927f9 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xaa5eaeb7 kern_path_create +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6ad675 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xaa74d1b3 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xaa997490 dm_put_device +EXPORT_SYMBOL vmlinux 0xaa9f5b56 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaafd68a9 vfs_readdir +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab26a914 register_sound_dsp +EXPORT_SYMBOL vmlinux 0xab2b4933 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0xab37edfd blk_complete_request +EXPORT_SYMBOL vmlinux 0xab5053a6 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xab57f8b0 omapfb_update_window +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab886706 input_grab_device +EXPORT_SYMBOL vmlinux 0xab9ed595 kobject_put +EXPORT_SYMBOL vmlinux 0xaba367b2 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xabb21e88 sock_wake_async +EXPORT_SYMBOL vmlinux 0xabb6c600 mount_pseudo +EXPORT_SYMBOL vmlinux 0xabca791f xfrm_register_type +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabe14b24 ps2_end_command +EXPORT_SYMBOL vmlinux 0xabfcfac5 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xac065b00 km_state_expired +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac18e4ea kset_unregister +EXPORT_SYMBOL vmlinux 0xac2a61c5 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac83a576 snd_card_unref +EXPORT_SYMBOL vmlinux 0xacc0a139 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacd7e93b skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0xace77bca mmc_start_req +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad17912a journal_init_inode +EXPORT_SYMBOL vmlinux 0xad30c3d0 serio_reconnect +EXPORT_SYMBOL vmlinux 0xad3fa0c2 blk_get_queue +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad673285 give_up_console +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xada48d8c sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xada6b3bc add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xada928b1 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae003da4 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xae29c2a8 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xae3d1199 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xae531f84 register_sysctl +EXPORT_SYMBOL vmlinux 0xae70f552 inet_sendpage +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae81bbd7 path_put +EXPORT_SYMBOL vmlinux 0xae86cdc1 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0xae9b7941 seq_escape +EXPORT_SYMBOL vmlinux 0xae9d7f8c scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xaeaa7655 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaf1fd789 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xaf36aa49 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf50e76d elf_set_personality +EXPORT_SYMBOL vmlinux 0xaf52da8d tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0xaf5f7994 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xaf618dca sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xaf6b34e0 security_file_permission +EXPORT_SYMBOL vmlinux 0xaf6fa864 sk_free +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafa4ab7c ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xafc59ac8 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xb011a10c snd_dma_get_reserved_buf +EXPORT_SYMBOL vmlinux 0xb01e10c5 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xb02de414 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06b3c7c input_open_device +EXPORT_SYMBOL vmlinux 0xb07556a2 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0xb08e0676 dquot_initialize +EXPORT_SYMBOL vmlinux 0xb09147f4 snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0xb091b7b5 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e3e88f set_bdi_congested +EXPORT_SYMBOL vmlinux 0xb0f60ce5 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xb10aad7d dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb14761d5 user_path_at +EXPORT_SYMBOL vmlinux 0xb16fe7b3 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb170f8bd ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0xb176fd27 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xb18e6948 omap_dss_pal_timings +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1adb2ff vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xb1adf2b3 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1e61df2 clear_nlink +EXPORT_SYMBOL vmlinux 0xb2142fc5 unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0xb21a2d49 scsi_print_result +EXPORT_SYMBOL vmlinux 0xb234e4d5 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xb24cec02 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xb250d9b0 vm_event_states +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2859d96 rt6_lookup +EXPORT_SYMBOL vmlinux 0xb2a36b40 del_gendisk +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2bae7e4 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2cc71e9 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb3356a4f single_release +EXPORT_SYMBOL vmlinux 0xb370e160 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xb371bda1 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xb38263aa submit_bh +EXPORT_SYMBOL vmlinux 0xb38d9707 genl_register_ops +EXPORT_SYMBOL vmlinux 0xb38f40cd unregister_console +EXPORT_SYMBOL vmlinux 0xb3acd57e mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xb40b4a80 __blk_end_request +EXPORT_SYMBOL vmlinux 0xb41f15d5 fget_raw +EXPORT_SYMBOL vmlinux 0xb423c6fb kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb438757a generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xb439bf8c omap_dss_get_device +EXPORT_SYMBOL vmlinux 0xb4419549 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xb44d7829 neigh_create +EXPORT_SYMBOL vmlinux 0xb4534d26 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xb45ee96c generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xb45f4119 snd_jack_set_key +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb48b56cf input_set_abs_params +EXPORT_SYMBOL vmlinux 0xb4923499 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL vmlinux 0xb4c7714d snd_card_create +EXPORT_SYMBOL vmlinux 0xb4c8f38a omap_dma_chain_status +EXPORT_SYMBOL vmlinux 0xb4d69f47 inode_init_once +EXPORT_SYMBOL vmlinux 0xb4ef532e neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xb5080124 page_put_link +EXPORT_SYMBOL vmlinux 0xb516dd76 nf_register_hooks +EXPORT_SYMBOL vmlinux 0xb52388e3 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xb538e751 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xb5435b58 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb566eca9 posix_test_lock +EXPORT_SYMBOL vmlinux 0xb567ecba input_set_capability +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5851e56 update_region +EXPORT_SYMBOL vmlinux 0xb5869d65 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0xb5875aeb qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5cfbb74 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xb5d6b6d4 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xb5d9454c printk_emit +EXPORT_SYMBOL vmlinux 0xb6002978 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xb64435c0 snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0xb6609bff log_start_commit +EXPORT_SYMBOL vmlinux 0xb661a04e vfsmount_lock +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb68ba50a remove_proc_entry +EXPORT_SYMBOL vmlinux 0xb6a003be netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6a7fd17 request_key_async +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6cb4764 truncate_setsize +EXPORT_SYMBOL vmlinux 0xb7179557 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0xb7287ee8 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xb72f8be8 d_alloc +EXPORT_SYMBOL vmlinux 0xb7500ef4 dev_printk +EXPORT_SYMBOL vmlinux 0xb7504e0f read_cache_page +EXPORT_SYMBOL vmlinux 0xb77a7c47 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xb78b3626 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7ba76c7 __aeabi_unwind_cpp_pr2 +EXPORT_SYMBOL vmlinux 0xb7d858e6 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xb7ded971 default_llseek +EXPORT_SYMBOL vmlinux 0xb7edfea4 tty_port_open +EXPORT_SYMBOL vmlinux 0xb811e32e bioset_free +EXPORT_SYMBOL vmlinux 0xb8184db9 bio_pair_release +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb81ecb7f omapdss_sdi_display_disable +EXPORT_SYMBOL vmlinux 0xb81fd3be idr_find +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb86a470c dentry_path_raw +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb887eedc sk_dst_check +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb89edda2 kunmap_high +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8ae0094 is_bad_inode +EXPORT_SYMBOL vmlinux 0xb8b538ba gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xb8c7d00d writeback_in_progress +EXPORT_SYMBOL vmlinux 0xb8ce2a62 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xb8d1d137 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb8fae64b skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xb8fc1234 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xb90f8ffb page_symlink +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb916bcf7 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xb91c3d6c jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xb949c954 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0xb97bdf1a set_binfmt +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb99fc756 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xb9a8f03b omap_stop_dma +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9b93d0b textsearch_register +EXPORT_SYMBOL vmlinux 0xb9c25982 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0xb9cbb8a4 vm_insert_page +EXPORT_SYMBOL vmlinux 0xb9cd3384 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xb9d6a701 generic_readlink +EXPORT_SYMBOL vmlinux 0xb9e52429 __wake_up +EXPORT_SYMBOL vmlinux 0xb9e7053e sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xba0ab285 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0xba23ba2a unregister_filesystem +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba556acf posix_lock_file +EXPORT_SYMBOL vmlinux 0xba55bb4e sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xba973a27 __invalidate_device +EXPORT_SYMBOL vmlinux 0xbaac427c get_mem_type +EXPORT_SYMBOL vmlinux 0xbab5cbdc dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xbac6d33d splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xbac744e4 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xbadcf6b5 tty_register_device +EXPORT_SYMBOL vmlinux 0xbafc3db9 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xbb0f0e09 __put_cred +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb2b4612 rwsem_is_locked +EXPORT_SYMBOL vmlinux 0xbb5302a0 register_sound_special +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb5f283e tcp_close +EXPORT_SYMBOL vmlinux 0xbb6a3e0d __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbb174d1 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xbbb9975c fb_blank +EXPORT_SYMBOL vmlinux 0xbbca2221 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xbbd15a05 skb_copy_expand +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc19d806 set_create_files_as +EXPORT_SYMBOL vmlinux 0xbc277023 snd_timer_notify +EXPORT_SYMBOL vmlinux 0xbc36987a __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xbc4174fb lease_modify +EXPORT_SYMBOL vmlinux 0xbc6ae019 kill_fasync +EXPORT_SYMBOL vmlinux 0xbc860222 gpmc_read_status +EXPORT_SYMBOL vmlinux 0xbc95ee3c tc_classify +EXPORT_SYMBOL vmlinux 0xbcb75a95 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xbcb92139 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xbcf6554a __scsi_add_device +EXPORT_SYMBOL vmlinux 0xbd31620c vfs_create +EXPORT_SYMBOL vmlinux 0xbd427502 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xbd49c27a skb_trim +EXPORT_SYMBOL vmlinux 0xbd6b36d3 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xbd85267b dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xbd9e0e2e phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xbda3a36c neigh_lookup +EXPORT_SYMBOL vmlinux 0xbdaa9936 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xbdb428ef mntput +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdf2580d __raw_readsl +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdfe2ad2 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe15e650 write_one_page +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe390c04 dput +EXPORT_SYMBOL vmlinux 0xbe3b3432 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xbe57016f ps2_begin_command +EXPORT_SYMBOL vmlinux 0xbe57efed generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe87a395 ip6_route_output +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf1faebe mutex_trylock +EXPORT_SYMBOL vmlinux 0xbf43d562 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xbf46c76f journal_set_features +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf891a5a ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfabafcf __devm_request_region +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfc7463b i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xbfda3c40 migrate_page +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc012ca1f mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xc016e26d tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xc0298245 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xc02cf69b clkdev_drop +EXPORT_SYMBOL vmlinux 0xc031bd83 sock_no_mmap +EXPORT_SYMBOL vmlinux 0xc04c2a00 datagram_poll +EXPORT_SYMBOL vmlinux 0xc0573aa3 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc0656f59 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc06a63af snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0xc06ec2c8 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc09a8c9e jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xc0a6a8c5 omap_set_dma_dest_burst_mode +EXPORT_SYMBOL vmlinux 0xc0bd98ce jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xc0c10cd7 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xc0cf95f9 omap_vrfb_request_ctx +EXPORT_SYMBOL vmlinux 0xc0db7741 snd_card_disconnect +EXPORT_SYMBOL vmlinux 0xc0f0d2f5 snd_jack_report +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc17b6a0e try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xc188c320 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xc18cbb2d skb_queue_head +EXPORT_SYMBOL vmlinux 0xc1903cb3 sget +EXPORT_SYMBOL vmlinux 0xc198f0c5 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xc19b1e44 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xc1b76967 release_pages +EXPORT_SYMBOL vmlinux 0xc1bb8636 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc20e1a09 __secpath_destroy +EXPORT_SYMBOL vmlinux 0xc2165d85 __arm_iounmap +EXPORT_SYMBOL vmlinux 0xc2220e8d scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc230e149 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xc235a956 check_disk_size_change +EXPORT_SYMBOL vmlinux 0xc25076c0 kobject_del +EXPORT_SYMBOL vmlinux 0xc250bf94 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc26160a6 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xc2748881 kobject_init +EXPORT_SYMBOL vmlinux 0xc2a852a0 clk_disable +EXPORT_SYMBOL vmlinux 0xc2d09588 tty_free_termios +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e058a4 idr_get_new_above +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f13a1f request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xc2f8a9f9 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc3004e8d __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xc31f9576 fb_class +EXPORT_SYMBOL vmlinux 0xc32a7467 set_disk_ro +EXPORT_SYMBOL vmlinux 0xc32ff7ce neigh_event_ns +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc352d718 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xc359fb65 abort +EXPORT_SYMBOL vmlinux 0xc3678374 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xc37d20b6 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xc37d2d7b mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xc38647e7 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xc3890b97 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xc38e53d4 snd_register_device_for_dev +EXPORT_SYMBOL vmlinux 0xc3e153f4 md_integrity_register +EXPORT_SYMBOL vmlinux 0xc426117f lock_sock_nested +EXPORT_SYMBOL vmlinux 0xc456745c build_skb +EXPORT_SYMBOL vmlinux 0xc45ef616 idr_for_each +EXPORT_SYMBOL vmlinux 0xc480eb0c scsi_reset_provider +EXPORT_SYMBOL vmlinux 0xc48413f0 init_buffer +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc49ad5f1 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xc4a94d64 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xc4e8b63a bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xc500c250 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xc52da066 omap_set_dma_dest_params +EXPORT_SYMBOL vmlinux 0xc5337b72 vfs_unlink +EXPORT_SYMBOL vmlinux 0xc53ccd9c uart_suspend_port +EXPORT_SYMBOL vmlinux 0xc5484cac __scsi_put_command +EXPORT_SYMBOL vmlinux 0xc54bc3c9 dqstats +EXPORT_SYMBOL vmlinux 0xc5533f52 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xc556ef02 kmap_high +EXPORT_SYMBOL vmlinux 0xc56fcffc save_mount_options +EXPORT_SYMBOL vmlinux 0xc5b6ea0b set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xc5b80112 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xc5da10d4 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc601f8df snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0xc610afab security_d_instantiate +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc65364f9 dql_completed +EXPORT_SYMBOL vmlinux 0xc65d91dd dev_add_pack +EXPORT_SYMBOL vmlinux 0xc66e0845 dump_seek +EXPORT_SYMBOL vmlinux 0xc6715719 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d80bbd skb_pad +EXPORT_SYMBOL vmlinux 0xc6db3da6 snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7194d30 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc768b0a4 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xc7751111 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7e58de8 dev_crit +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc8167537 amba_find_device +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc86b0738 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc8b1be3b block_write_end +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8f70752 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xc9046ace vmap +EXPORT_SYMBOL vmlinux 0xc9142293 omap_dss_ntsc_timings +EXPORT_SYMBOL vmlinux 0xc94641ee ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xc95db37b dev_disable_lro +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99a02d4 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a6a20e check_disk_change +EXPORT_SYMBOL vmlinux 0xc9c11b6b kernel_bind +EXPORT_SYMBOL vmlinux 0xc9c953f5 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xc9cde9d3 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xc9d3669c task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xc9e25f28 d_set_d_op +EXPORT_SYMBOL vmlinux 0xca03e351 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xca22a56d bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xca230d70 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca8fb8e7 nand_bch_correct_data +EXPORT_SYMBOL vmlinux 0xcab17e69 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xcac37933 mdiobus_read +EXPORT_SYMBOL vmlinux 0xcac5c185 snd_timer_open +EXPORT_SYMBOL vmlinux 0xcac988c7 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xcad53bce napi_gro_flush +EXPORT_SYMBOL vmlinux 0xcb180ab8 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xcb286cf1 dev_get_stats +EXPORT_SYMBOL vmlinux 0xcb49aa96 omap_dss_get_overlay +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb736482 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xcb7e5f62 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcba19645 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xcbac96b3 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xcbb5521a dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbd83b43 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xcbe2ad2b skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xcc056f6e mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc3cebde omap_dss_start_device +EXPORT_SYMBOL vmlinux 0xcc3e392d splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xcc4bb0ba tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcca52087 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xcca97a4e serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xccb775f2 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xccbb0f7b tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xccdf6656 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xcd00ddc1 kdb_current_task +EXPORT_SYMBOL vmlinux 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0xcd242697 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xcd251977 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd30b95a tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0xcd4b732f bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcd61b199 netif_device_detach +EXPORT_SYMBOL vmlinux 0xcd63c76f of_get_property +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd764b11 __module_get +EXPORT_SYMBOL vmlinux 0xcd7b219f cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce24e23e d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL vmlinux 0xce4d0f22 abx500_register_ops +EXPORT_SYMBOL vmlinux 0xce50e82b xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xce535007 I_BDEV +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce9e6661 scsi_get_command +EXPORT_SYMBOL vmlinux 0xcea899ea down +EXPORT_SYMBOL vmlinux 0xcece52fd key_link +EXPORT_SYMBOL vmlinux 0xcee72a4b mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xcef3576a cpu_user +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefacee8 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf0a66e9 snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0xcf17825d mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xcf1b6967 mdio_bus_type +EXPORT_SYMBOL vmlinux 0xcf25926d generic_file_fsync +EXPORT_SYMBOL vmlinux 0xcf2fec6e netpoll_print_options +EXPORT_SYMBOL vmlinux 0xcf5d5ba6 dquot_quota_off +EXPORT_SYMBOL vmlinux 0xcf97d245 blk_rq_init +EXPORT_SYMBOL vmlinux 0xcfa3c430 task_nice +EXPORT_SYMBOL vmlinux 0xcfac8752 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xcfafee12 deactivate_super +EXPORT_SYMBOL vmlinux 0xcfbee619 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xcfc2c2d9 scsi_register +EXPORT_SYMBOL vmlinux 0xcfc5c18f ppp_channel_index +EXPORT_SYMBOL vmlinux 0xcfd5c39d md_check_recovery +EXPORT_SYMBOL vmlinux 0xcfe475a9 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xcfe7b74e blk_delay_queue +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01abb1e jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xd01e2149 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xd0600b30 __block_write_begin +EXPORT_SYMBOL vmlinux 0xd07eb422 icmp_send +EXPORT_SYMBOL vmlinux 0xd08316eb textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xd09dc10f simple_dir_operations +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0a9ece1 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL vmlinux 0xd0e6c0b6 neigh_compat_output +EXPORT_SYMBOL vmlinux 0xd0e8959a framebuffer_release +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fbf7d4 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xd0fd51df bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xd0fed2d4 follow_pfn +EXPORT_SYMBOL vmlinux 0xd10e2347 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0xd10ec42e snd_timer_resolution +EXPORT_SYMBOL vmlinux 0xd1157735 release_and_free_resource +EXPORT_SYMBOL vmlinux 0xd1168764 tty_hangup +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd148c0cc netdev_err +EXPORT_SYMBOL vmlinux 0xd1629bf1 kernel_read +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd1859e29 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xd19636a1 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd1a139fe lg_global_lock +EXPORT_SYMBOL vmlinux 0xd1b54e19 netlink_unicast +EXPORT_SYMBOL vmlinux 0xd1c22f1f snd_timer_global_new +EXPORT_SYMBOL vmlinux 0xd1c3a60a bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xd1e03241 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xd1f2f617 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xd209c3bb of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0xd2124ac9 dev_mc_init +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd24949a0 mpage_writepages +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd255d164 bdi_destroy +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26249f4 flush_old_exec +EXPORT_SYMBOL vmlinux 0xd26338c6 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xd277d4cd ip_options_compile +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2cee4aa shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xd2cf7a44 nonseekable_open +EXPORT_SYMBOL vmlinux 0xd2fd0268 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xd308989f udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xd30b6f18 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xd3149376 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd322fc2a __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xd3610cf3 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xd36a27d6 __devm_release_region +EXPORT_SYMBOL vmlinux 0xd37bf41f snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0xd37dd931 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xd382019f register_sysctl_table +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd387eefa cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xd3db4d73 blkdev_put +EXPORT_SYMBOL vmlinux 0xd3dbfbc4 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3f4730e textsearch_destroy +EXPORT_SYMBOL vmlinux 0xd4126276 ab3100_event_register +EXPORT_SYMBOL vmlinux 0xd4172e8c tc_classify_compat +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd4410190 eth_header_cache +EXPORT_SYMBOL vmlinux 0xd443ddb5 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xd45a8a20 __ps2_command +EXPORT_SYMBOL vmlinux 0xd460dda3 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd46c29f2 journal_stop +EXPORT_SYMBOL vmlinux 0xd47d75aa amba_device_register +EXPORT_SYMBOL vmlinux 0xd4a644c3 should_remove_suid +EXPORT_SYMBOL vmlinux 0xd4d28cd0 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xd4eb7456 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xd4fffa13 elv_rb_find +EXPORT_SYMBOL vmlinux 0xd5152710 sg_next +EXPORT_SYMBOL vmlinux 0xd52a49b1 kern_path +EXPORT_SYMBOL vmlinux 0xd54fb52a sk_wait_data +EXPORT_SYMBOL vmlinux 0xd56e9485 omap_set_dma_dest_index +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd59a8c90 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xd59cbe0c nand_unlock +EXPORT_SYMBOL vmlinux 0xd5a66de4 elv_rb_add +EXPORT_SYMBOL vmlinux 0xd5a815da md_unregister_thread +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5c225a5 genphy_update_link +EXPORT_SYMBOL vmlinux 0xd5d7e375 sg_miter_start +EXPORT_SYMBOL vmlinux 0xd5e1559a __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xd5f89068 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xd60a0fb2 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd62e7107 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xd62eca04 cont_write_begin +EXPORT_SYMBOL vmlinux 0xd63e53eb kern_unmount +EXPORT_SYMBOL vmlinux 0xd64305e0 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd663b162 d_find_alias +EXPORT_SYMBOL vmlinux 0xd6649268 lock_rename +EXPORT_SYMBOL vmlinux 0xd69ec7fe __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd6d49d4a con_copy_unimap +EXPORT_SYMBOL vmlinux 0xd6dbfeed __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd746002d i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xd7507017 __frontswap_store +EXPORT_SYMBOL vmlinux 0xd757bca8 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xd758f4b8 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xd75cdbcc make_bad_inode +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79274f7 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xd792e78a tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7c0663b set_nlink +EXPORT_SYMBOL vmlinux 0xd7db60bb tcf_hash_create +EXPORT_SYMBOL vmlinux 0xd7e3c624 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd803624d create_proc_entry +EXPORT_SYMBOL vmlinux 0xd808e6c7 skb_unlink +EXPORT_SYMBOL vmlinux 0xd811f9d2 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xd8666d80 led_blink_set +EXPORT_SYMBOL vmlinux 0xd88d63cc locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xd8c54372 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xd8c81ba1 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8e8261d sock_update_classid +EXPORT_SYMBOL vmlinux 0xd8f040f1 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd91ef5be fb_set_var +EXPORT_SYMBOL vmlinux 0xd9201b56 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92bc943 security_path_symlink +EXPORT_SYMBOL vmlinux 0xd93726ab __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xd94d4db1 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xd955d2b7 omap_set_dma_dest_data_pack +EXPORT_SYMBOL vmlinux 0xd96b6dd1 omap_device_get_by_hwmod_name +EXPORT_SYMBOL vmlinux 0xd9850607 vfs_fsync +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd98f24a9 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xd9aa27a2 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd9ab1dd9 inet_accept +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9e1a956 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xd9f39da0 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xda03e1fe __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xda173ed3 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xda5af5eb snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda85f2a5 register_sound_special_device +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda9acfde sock_no_getname +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaab96a3 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xdb0df8da generic_setxattr +EXPORT_SYMBOL vmlinux 0xdb2178c7 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdb4292e4 omap_set_dma_params +EXPORT_SYMBOL vmlinux 0xdb6340c4 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb71b872 snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb88f70e jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdba8b7fb pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbef598c dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xdbf80d00 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xdc03b1ba phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc076141 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc424319 dm_io +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc46b485 clk_register +EXPORT_SYMBOL vmlinux 0xdc5622ba simple_write_end +EXPORT_SYMBOL vmlinux 0xdc6d2f73 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc798d37 __mutex_init +EXPORT_SYMBOL vmlinux 0xdca38d53 devm_clk_get +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdccfb770 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xdcf2a96e inet6_getname +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd0f206f elv_add_request +EXPORT_SYMBOL vmlinux 0xdd1637c8 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2c963a elevator_change +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd6056ff fail_migrate_page +EXPORT_SYMBOL vmlinux 0xdd6d2608 skb_find_text +EXPORT_SYMBOL vmlinux 0xdd9ab324 d_drop +EXPORT_SYMBOL vmlinux 0xdda6bb89 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xddb96399 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0xddc6405f mount_bdev +EXPORT_SYMBOL vmlinux 0xddcab48c mpage_readpage +EXPORT_SYMBOL vmlinux 0xddd10c38 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xdddf622a set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xde10ffd5 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xde15c042 omap_set_dma_src_index +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde4becba dcache_readdir +EXPORT_SYMBOL vmlinux 0xde53677e unlock_page +EXPORT_SYMBOL vmlinux 0xde570f5b find_inode_number +EXPORT_SYMBOL vmlinux 0xde692d94 omap_get_dma_chain_src_pos +EXPORT_SYMBOL vmlinux 0xde7b1837 km_report +EXPORT_SYMBOL vmlinux 0xde8c763d cpu_v7_set_pte_ext +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdec5bbaf ip6_xmit +EXPORT_SYMBOL vmlinux 0xdedff161 skb_pull +EXPORT_SYMBOL vmlinux 0xdef438d4 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xdf0e823b input_register_handler +EXPORT_SYMBOL vmlinux 0xdf1ef69f wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xdf256115 of_match_node +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf4fa53d genl_register_mc_group +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf667daf vfs_follow_link +EXPORT_SYMBOL vmlinux 0xdf71068d blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb01a80 cpu_v7_dcache_clean_area +EXPORT_SYMBOL vmlinux 0xdfb0c7f5 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd91ce9 omap_type +EXPORT_SYMBOL vmlinux 0xdffe8e4e unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xe004a9f8 elv_rb_del +EXPORT_SYMBOL vmlinux 0xe00a99fc genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0xe02220c9 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe04a3d7a dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe053be9e scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe0726148 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xe0747838 make_EII_client +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe0790c16 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xe083e069 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b65216 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xe0f6aa9e nand_default_bbt +EXPORT_SYMBOL vmlinux 0xe0fe7c45 nla_append +EXPORT_SYMBOL vmlinux 0xe106154f omap_vram_get_info +EXPORT_SYMBOL vmlinux 0xe10d5405 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11f4561 drop_nlink +EXPORT_SYMBOL vmlinux 0xe12f3ac2 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xe1497572 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xe158755e sock_release +EXPORT_SYMBOL vmlinux 0xe162bafc xfrm_lookup +EXPORT_SYMBOL vmlinux 0xe1644b2e __lock_buffer +EXPORT_SYMBOL vmlinux 0xe16b893b mutex_lock +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe19c51cb lookup_hash +EXPORT_SYMBOL vmlinux 0xe1a6969b unregister_exec_domain +EXPORT_SYMBOL vmlinux 0xe1ae1491 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xe1cf960d ip_fragment +EXPORT_SYMBOL vmlinux 0xe1de021b inet_release +EXPORT_SYMBOL vmlinux 0xe1fcb480 tcp_connect +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe22f6a53 snd_dma_reserve_buf +EXPORT_SYMBOL vmlinux 0xe23009f6 write_inode_now +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe2441279 d_rehash +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2554df8 inode_dio_done +EXPORT_SYMBOL vmlinux 0xe2682378 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xe2903201 dquot_commit +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe3128f59 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xe3225c33 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xe33589ef tcp_splice_read +EXPORT_SYMBOL vmlinux 0xe34ecca0 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xe37d10ae omap_dispc_unregister_isr +EXPORT_SYMBOL vmlinux 0xe38ae976 d_alloc_name +EXPORT_SYMBOL vmlinux 0xe3b14a22 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xe3b1637a journal_update_format +EXPORT_SYMBOL vmlinux 0xe3cb857d __inet6_hash +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3dd24a5 bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0xe410f1d1 nand_scan +EXPORT_SYMBOL vmlinux 0xe4396448 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xe45a206a thaw_bdev +EXPORT_SYMBOL vmlinux 0xe45f7d65 pid_task +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4b12ce5 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xe4b41f7c snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0xe4c6db55 blkdev_get +EXPORT_SYMBOL vmlinux 0xe4c73d36 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4cb59ca __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe4e22326 snd_pcm_lib_writev +EXPORT_SYMBOL vmlinux 0xe5029346 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52e743c dev_set_group +EXPORT_SYMBOL vmlinux 0xe5445af6 omap_get_dma_dst_pos +EXPORT_SYMBOL vmlinux 0xe54dbdc3 follow_down_one +EXPORT_SYMBOL vmlinux 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe59e6dd7 vfs_rename +EXPORT_SYMBOL vmlinux 0xe5b00261 skb_free_datagram +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5c9bb3a mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xe5d58c84 irq_set_chip +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f2ef00 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xe5fb5617 of_device_alloc +EXPORT_SYMBOL vmlinux 0xe600918a dev_uc_flush +EXPORT_SYMBOL vmlinux 0xe6070a2c proto_register +EXPORT_SYMBOL vmlinux 0xe60dff2b tcp_make_synack +EXPORT_SYMBOL vmlinux 0xe631934d bio_sector_offset +EXPORT_SYMBOL vmlinux 0xe641836d genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xe66c4ed6 tty_port_put +EXPORT_SYMBOL vmlinux 0xe671b058 iget_failed +EXPORT_SYMBOL vmlinux 0xe6744a89 omap_clear_dma +EXPORT_SYMBOL vmlinux 0xe68afe55 snd_card_file_remove +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6a27fba wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xe6b28317 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xe6b7d8ae dst_release +EXPORT_SYMBOL vmlinux 0xe6beae45 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xe6c3ebb0 __raw_writesw +EXPORT_SYMBOL vmlinux 0xe6d0fd38 do_sync_read +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fbe96e proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe72167ab md_register_thread +EXPORT_SYMBOL vmlinux 0xe72a5c93 vm_mmap +EXPORT_SYMBOL vmlinux 0xe73d0fde sleep_on +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe78d124a scsi_print_sense +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7a9e446 pipe_to_file +EXPORT_SYMBOL vmlinux 0xe7c3728d scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe7d42d0b delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe84f232c netlink_broadcast +EXPORT_SYMBOL vmlinux 0xe86c18fc secpath_dup +EXPORT_SYMBOL vmlinux 0xe86cf8c6 of_dev_get +EXPORT_SYMBOL vmlinux 0xe86fb6e0 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xe8741f75 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87ed1ce idr_replace +EXPORT_SYMBOL vmlinux 0xe88f63f4 fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0xe893c4af snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b6e421 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xe8d0683c write_cache_pages +EXPORT_SYMBOL vmlinux 0xe8e6dd74 block_commit_write +EXPORT_SYMBOL vmlinux 0xe8e92753 locks_delete_block +EXPORT_SYMBOL vmlinux 0xe8ecb949 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xe902708d input_free_device +EXPORT_SYMBOL vmlinux 0xe9046d8e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe94605ac dentry_unhash +EXPORT_SYMBOL vmlinux 0xe94869d6 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xe94ea7dc dquot_resume +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9663dec of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xe971730b i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xe97e8126 omap_dss_stop_device +EXPORT_SYMBOL vmlinux 0xe981236c scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xe99c830a snd_seq_root +EXPORT_SYMBOL vmlinux 0xe9ab45b3 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xe9fd13f5 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea0a37d6 snd_card_register +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea6f48d1 clear_inode +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9fb9df rename_lock +EXPORT_SYMBOL vmlinux 0xeab80003 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xeabe1be9 sock_create +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xead92857 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaea334a input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xeaf436c8 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xeb0d00bd neigh_destroy +EXPORT_SYMBOL vmlinux 0xeb1b120e omap_set_dma_write_mode +EXPORT_SYMBOL vmlinux 0xeb23aef1 of_device_is_available +EXPORT_SYMBOL vmlinux 0xeb3514f6 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb384930 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xeb3cb802 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xeb4c698c skb_put +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb61ec51 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xeb959693 flush_signals +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebc59713 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebf5511f ip_check_defrag +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xec053756 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xec097451 __f_setown +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec2c1921 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xec485a97 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec554f46 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xec5f79ed tcf_hash_search +EXPORT_SYMBOL vmlinux 0xec6a4d04 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xec7685d2 locks_free_lock +EXPORT_SYMBOL vmlinux 0xec82b89a nla_put +EXPORT_SYMBOL vmlinux 0xeca34845 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xecdc68f3 fb_show_logo +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed65cc2d mii_check_media +EXPORT_SYMBOL vmlinux 0xed844dd0 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xed854dac omap_stop_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0xed85908b jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda40695 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xedba9b1d i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedd025e6 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xedd27afa of_parse_phandle +EXPORT_SYMBOL vmlinux 0xedd76ea8 blk_end_request_all +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xeddbf3d5 kthread_bind +EXPORT_SYMBOL vmlinux 0xedde453d tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xedf556bf module_put +EXPORT_SYMBOL vmlinux 0xedf77151 set_device_ro +EXPORT_SYMBOL vmlinux 0xedf8b17c do_splice_direct +EXPORT_SYMBOL vmlinux 0xee027b51 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xee108f30 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0xee2166d5 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3496c3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xee3b0e8f snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0xee3f35e9 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xee4b6e1b eth_change_mtu +EXPORT_SYMBOL vmlinux 0xee4fadad __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0xee531f4c jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xee596802 generic_write_checks +EXPORT_SYMBOL vmlinux 0xee5c0879 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xee794b78 fb_pan_display +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeebe8f10 i2c_release_client +EXPORT_SYMBOL vmlinux 0xeee57fcc security_mmap_file +EXPORT_SYMBOL vmlinux 0xeef17e7a dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xeef3e4b4 dquot_transfer +EXPORT_SYMBOL vmlinux 0xef26c159 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xef3910dc d_obtain_alias +EXPORT_SYMBOL vmlinux 0xef3bc247 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xef75f942 read_cache_pages +EXPORT_SYMBOL vmlinux 0xef7c03eb wake_up_process +EXPORT_SYMBOL vmlinux 0xefb48176 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xefb66a95 omap_request_dma_chain +EXPORT_SYMBOL vmlinux 0xefd6cf06 __aeabi_unwind_cpp_pr0 +EXPORT_SYMBOL vmlinux 0xefdd2345 sg_init_one +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefec312f omap_get_dma_active_status +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf003e50d netdev_alert +EXPORT_SYMBOL vmlinux 0xf026f6c5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xf02e1fdc xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xf02fde9d generic_setlease +EXPORT_SYMBOL vmlinux 0xf02fe254 load_nls +EXPORT_SYMBOL vmlinux 0xf0388ce7 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xf04d2dd2 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf068c994 nand_scan_bbt +EXPORT_SYMBOL vmlinux 0xf07cc7bb eth_header_parse +EXPORT_SYMBOL vmlinux 0xf09b45fb seq_puts +EXPORT_SYMBOL vmlinux 0xf0d68ed6 clk_register_clkdevs +EXPORT_SYMBOL vmlinux 0xf0ed6b0f unload_nls +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fc826c new_inode +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf101208c phy_stop +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf12a65b8 omap_dss_get_overlay_manager +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1c700d1 mmc_add_host +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e0f3ca phy_attach +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf2077a76 dquot_operations +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf2190f2e ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xf2251d49 vfs_write +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf26df746 omap_vram_free +EXPORT_SYMBOL vmlinux 0xf291c0f5 mii_check_link +EXPORT_SYMBOL vmlinux 0xf295ca65 snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2a895eb ps2_init +EXPORT_SYMBOL vmlinux 0xf2c8865b inet_del_protocol +EXPORT_SYMBOL vmlinux 0xf2d614e6 __serio_register_driver +EXPORT_SYMBOL vmlinux 0xf2e5a880 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf31c8008 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xf3227ba1 account_page_redirty +EXPORT_SYMBOL vmlinux 0xf32d0824 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338a0bf mmc_release_host +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf351cb1f vfs_llseek +EXPORT_SYMBOL vmlinux 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf396cd21 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xf39e34c4 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xf3a3e15b page_address +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3cc4527 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xf3df42aa inet_add_protocol +EXPORT_SYMBOL vmlinux 0xf3e7a589 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xf3f1e663 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xf4076a1c filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xf409e08a filemap_flush +EXPORT_SYMBOL vmlinux 0xf41bfe83 cdev_del +EXPORT_SYMBOL vmlinux 0xf4251f11 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xf44c2e0b freezing_slow_path +EXPORT_SYMBOL vmlinux 0xf45236a2 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xf45cbd76 kill_pid +EXPORT_SYMBOL vmlinux 0xf4713cd7 phy_find_first +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4b4265c udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xf4b83861 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4dd1223 snd_timer_new +EXPORT_SYMBOL vmlinux 0xf4e4c065 nf_log_register +EXPORT_SYMBOL vmlinux 0xf4ee5933 mdiobus_free +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4fa39ec __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xf501b2c2 dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0xf507636e tty_kref_put +EXPORT_SYMBOL vmlinux 0xf5085198 genphy_resume +EXPORT_SYMBOL vmlinux 0xf525cfc6 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xf527dbbc nf_log_packet +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5410419 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xf54c51a2 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf54d417e dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf574b613 udp_seq_open +EXPORT_SYMBOL vmlinux 0xf5a3e1c6 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xf5ae3f81 generic_removexattr +EXPORT_SYMBOL vmlinux 0xf5ae97d5 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xf5b9ad09 console_stop +EXPORT_SYMBOL vmlinux 0xf5bb9125 blk_run_queue_async +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5cd912c release_firmware +EXPORT_SYMBOL vmlinux 0xf5df134c __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5ecd62b sk_reset_timer +EXPORT_SYMBOL vmlinux 0xf5f02817 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xf60352b0 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xf61cdfc1 __page_symlink +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf6393d7f tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xf6412e0e inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xf648dfe6 may_umount +EXPORT_SYMBOL vmlinux 0xf64e469b dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xf65ca1d8 nf_register_hook +EXPORT_SYMBOL vmlinux 0xf65f9ea2 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xf66377eb uart_update_timeout +EXPORT_SYMBOL vmlinux 0xf67c24f2 mount_nodev +EXPORT_SYMBOL vmlinux 0xf685849d snd_ctl_notify +EXPORT_SYMBOL vmlinux 0xf690c646 dev_change_flags +EXPORT_SYMBOL vmlinux 0xf69496b6 sync_inode +EXPORT_SYMBOL vmlinux 0xf69f7dde tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xf69ff716 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xf6b8567d downgrade_write +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6d046da key_put +EXPORT_SYMBOL vmlinux 0xf6d7e5d6 snd_pcm_link_rwlock +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f3cef6 omap_vrfb_setup +EXPORT_SYMBOL vmlinux 0xf6f5d06c snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0xf7079c9b nf_afinfo +EXPORT_SYMBOL vmlinux 0xf72e99f4 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xf74ecc5d insert_inode_locked +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf76d3890 skb_push +EXPORT_SYMBOL vmlinux 0xf777397f __bforget +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf78306d3 d_validate +EXPORT_SYMBOL vmlinux 0xf78478a4 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf78ee9e5 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xf792400b __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xf792d7e3 kobject_get +EXPORT_SYMBOL vmlinux 0xf7931402 udp_ioctl +EXPORT_SYMBOL vmlinux 0xf794311c mntget +EXPORT_SYMBOL vmlinux 0xf79c9fa3 omap_vram_alloc +EXPORT_SYMBOL vmlinux 0xf7c61815 get_omap3_evm_rev +EXPORT_SYMBOL vmlinux 0xf7cbbdb7 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xf7de171e i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf7ed6906 of_match_device +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80656de inet_recvmsg +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf81ddbd9 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xf83b59af skb_append +EXPORT_SYMBOL vmlinux 0xf853bbca omap_vrfb_map_angle +EXPORT_SYMBOL vmlinux 0xf85a57f6 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xf86abeef console_start +EXPORT_SYMBOL vmlinux 0xf87b6fa4 fb_find_mode +EXPORT_SYMBOL vmlinux 0xf88c3301 sg_init_table +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8a51a32 misc_register +EXPORT_SYMBOL vmlinux 0xf8b4f464 ping_prot +EXPORT_SYMBOL vmlinux 0xf8fbb4f0 __bad_xchg +EXPORT_SYMBOL vmlinux 0xf9141c54 serio_interrupt +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf959ed0e udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xf95a91c2 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xf9748f62 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xf993fa97 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xf99fdaa1 is_container_init +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9aed5ff snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0xf9dc42f9 seq_open +EXPORT_SYMBOL vmlinux 0xf9e13b71 dev_uc_init +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xfa082128 down_interruptible +EXPORT_SYMBOL vmlinux 0xfa2fde93 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xfa3ce265 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xfa44b8e8 start_tty +EXPORT_SYMBOL vmlinux 0xfa585a30 find_or_create_page +EXPORT_SYMBOL vmlinux 0xfa660e3f __bio_clone +EXPORT_SYMBOL vmlinux 0xfaa3edf8 tty_throttle +EXPORT_SYMBOL vmlinux 0xfabc9238 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xfac68eba arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfacd2e14 pgprot_user +EXPORT_SYMBOL vmlinux 0xfad9a259 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfae8cf2f do_SAK +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfaff1690 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xfb0ac32f neigh_for_each +EXPORT_SYMBOL vmlinux 0xfb4fd6e8 register_exec_domain +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfba5789f generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbb24c3d kfree_skb +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbefb9f0 sync_blockdev +EXPORT_SYMBOL vmlinux 0xfbf3d8bd mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1d7daf inc_nlink +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc6d3b8d ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xfc6d95c9 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xfc753428 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0xfc7bae69 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xfc7fe4f5 get_disk +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcae4941 snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd2987a nand_scan_ident +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd01ed34 journal_check_used_features +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd4f67ed tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xfd52eaf6 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xfd608c7d netdev_change_features +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd6f86ef __skb_tx_hash +EXPORT_SYMBOL vmlinux 0xfd875215 commit_creds +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL vmlinux 0xfdea1abc of_phy_find_device +EXPORT_SYMBOL vmlinux 0xfdeda205 devm_gpio_free +EXPORT_SYMBOL vmlinux 0xfdf2450c journal_dirty_data +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfdfc9b3e blk_fetch_request +EXPORT_SYMBOL vmlinux 0xfe17b25a xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xfe202635 netlink_set_err +EXPORT_SYMBOL vmlinux 0xfe3c6b36 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xfe47aef8 amba_release_regions +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe634f58 add_wait_queue +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe88a8fc mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xfeb02436 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1aa9b9 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff4dde7f scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa8a48f nand_scan_tail +EXPORT_SYMBOL vmlinux 0xffadc878 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xffb94ef0 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0xffd2cf99 omap_dss_get_num_overlay_managers +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL_GPL crypto/af_alg 0x030bb373 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x05c80aa5 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x4b80a24d af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x58515b45 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x94ea4b38 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xb00858ca af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xd65aa67c af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0xdf623e43 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x43fed996 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x4e0acd7f async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x5664f049 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x4761b002 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xaf9b76f5 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x10234c08 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x6de4eeaf async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x73befea0 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x80c364df async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xd321c95b async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xfb134fd5 async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x076a9a5a blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x03fb94c2 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x1240b6da cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x55cc57db cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x6d2a5fe6 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x8bb00c6e cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x9ff548e6 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xabe6cbc6 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xb710e25f cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xbb1c34a0 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xfd613da3 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0xcd074900 lrw_init_table +EXPORT_SYMBOL_GPL crypto/lrw 0xd69aa2d6 lrw_crypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x5ddb33e9 __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x72802c10 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x77b39cb4 __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8a1a99ad __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xd183a7fa twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xb35f36fa xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x08706829 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0d58f4d4 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x22692669 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x3c5c7f0f ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x44a9a3d1 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x63aad715 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6546f0d2 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6f85e6f9 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7d7c288c ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8f030a77 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa4d0032e ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xab9ee095 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb159720e ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb2171b52 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb6aa36d3 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc787ddf0 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcaff6498 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd5c7a860 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x97d8faca __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xd089e5a4 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0cef45fb bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1ec3791b bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x280d2e1c bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3a141f28 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3ac8ba43 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4dbb4224 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8f2db6dd bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x97192d6d bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa6db42e0 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb1a8f98b bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcec6da0d bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdc911c6d bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xea85ea0e bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xef90b1c9 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xefda063d __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x41a1e457 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4bb7984f btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x559cce03 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x88030b21 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa59d8e3d btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc3bcac46 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd806eae7 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe5fbdef4 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xed786c0f btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf5d81a22 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x250250c6 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x330f1642 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4554359f extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4a0f818f extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x598af868 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6fc7a6ac extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x72fb601a extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x75d9b591 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8fa3d652 extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xab9c9ff0 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xbe0f4011 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xede5fcda extcon_update_state +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x0719d21c bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xa9c2b0b7 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x03a7a889 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x300f00cc __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d41d914 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd7db824f drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0974b4b0 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0bda9668 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0c96d389 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0e7a3488 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x197128d1 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31c18fc6 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3913eaa7 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x47c3a9c4 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4be27a7b hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4f38b74a hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5204a80a hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x52e1d863 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x53065316 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9619e69b hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9a2b8fa5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9c14237b hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa9e29b6c hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb64f4451 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbda697f3 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe2a5815 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe4808b0 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc92c7991 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd730fa30 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe0f8622b hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9b4d3b1 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeb408504 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf2e62f8e hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf674432f hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf8c7caea hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x0fdfcd7b roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x621f298b roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xb5431963 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x23342328 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x78e6c775 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa416230b usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xf81fe3ed usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1c6cb47d hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x252f3c75 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x416bc95f hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x43e77d39 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x59a1949c hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x75628d3b hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x801363d9 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8fe053ab hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x98c5130f hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9e8e3d0a hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb464396f hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd971bdcf hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe4f38680 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x05e484d9 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0fda20fe i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x1117418d i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x44daf467 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x462fb5a9 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x7c2a22fa i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x82d9c254 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa520a770 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xcdc93406 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x5ed5c29f i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xb9e2f209 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x65d9f207 i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x6c583c84 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0acd77a5 iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x10a8dddb iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1bee2d53 iio_st_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x27594f1b iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5bd802c3 iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x82ed5459 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x84999b75 iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8c6a156e iio_st_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x95d88a8c iio_st_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9a13d6d6 iio_scan_mask_set +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xacb183f5 iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb76b1767 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc8cb5645 iio_st_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd6ad34c6 iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdfe6400d iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x840f2bc2 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7170fa05 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x15579f0d cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x8046053b cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xb1a0665b cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x14587a60 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x161e1067 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x28f48bc7 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2f13e01d wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2f4da6a4 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x48cc22e9 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7aff65d8 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x84662277 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x853f2bf5 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x99d83f2d wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xeeed969c wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf37773f8 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0x4de7b2d0 unregister_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0xb17b7c77 register_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0d29bff5 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0e606193 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x16e7eda6 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x279f83dc gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2a5ba014 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x379884d4 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x52545357 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x62295898 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x82f7514d gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa65ce4c5 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa8696403 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xaabc1330 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb1d9c767 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb464154e gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb8dfe917 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xccdd905e gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf34aa16c gigaset_stop +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x22163b69 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x3011647d dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x3909d3a8 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x594952bd dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x62a23587 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9b2b253a dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xdc69e37a dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe004ee92 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x06e2fe09 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x0f49c52f dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09472122 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3686e620 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x612cddb2 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x651f385b dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x81e55c03 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x8918da19 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa0e415e2 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa8813ad6 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc66ce277 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xcab63c3d dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf37a3cfe dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x03ced457 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x08a936ca dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11eab9fe dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c112836 dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2e730a21 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x40f7bd91 dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x61c7c085 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b2ff62 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x80c89b3d dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9b4b5b29 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2507774 dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa6aae3ea dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb682767b dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb7bad799 dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb967690a dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb9a6ecf8 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbaa513b0 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbc5fe7c1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbcfdc290 dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xca2bde4d dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xccaeb9ae dm_sm_checker_create_fresh +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd32479bc dm_sm_checker_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdb562135 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf99dc2cf dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/raid1 0x804d871c md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x835e6f90 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x3f9b9877 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x3f0a658c mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xf5af1b16 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x75b6e28e tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x93f68561 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xc380c210 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xa397c73a tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x9f12b66d tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xf81c4e19 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x0139d4e5 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x911133a8 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x8776457c simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0xfb0e145b mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x9adbefd9 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x774cfc2e tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x02402753 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x13466e88 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x19ecd3c2 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x464cff33 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x529b4773 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5c9ad1fa smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x645f4f87 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x65a5bfd2 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x76222253 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x84680e4c smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x905c9e7f smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9316b541 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x950040ec smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa72ee688 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa7627a9a sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa8257ea9 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xdbaf0c81 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf07a5db9 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x004a37fd ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x05fb336e rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3505f6d3 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3b58225a rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4654f3b0 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x52481900 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x52d96166 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x69e2797b ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84fc67ee rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8ae043ce ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x92e9794c rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x96f55d94 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa03c87da ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa28df57a rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb24d8be6 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeb7d8b1b rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfea94e5e rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00c278cd cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x015d54ba cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0856b1f2 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x18e132e8 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x22ae0903 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2fcd6d2b cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4a08b2f6 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5c9b8ebe cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x66695aa0 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x78b6a704 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x78d719a3 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8352d388 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x90dd4d57 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x91b8fe47 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9f085041 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa0576e8c cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa05f76b4 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbfe8168a cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc85da047 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x10838ae8 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x17f0232e em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1ccfbf86 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x23d31715 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6b1c6fbf em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6e3d54be em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6feb51f6 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x817eb3f1 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9587cad4 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9b048ecc em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xcea9818c em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd441422c em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xdb35e71b em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf5b2f2cc em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0x090b7ab2 omap_vout_default_crop +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0x3f08714d omap_vout_try_window +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0x87006df4 omap_vout_new_window +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0xd5aa61c6 omap_vout_new_format +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0xe168e379 omap_vout_new_crop +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x37470e07 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x51435232 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x8adaf615 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x9a5143c8 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x08076998 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x4dfa3932 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x627fe7c5 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x8c8675bb v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x97e240a1 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xd132f89a v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x01338f2e v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x47c48558 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5d80fa6d v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xd59d31fb v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x250698df v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x45969e19 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x747c8426 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x80574eda v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8b29244b v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8b8fbaeb v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x9c2b1bd4 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x9d5d2b01 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa35287e1 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa4db8349 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa5f14141 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xcdea18d6 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02409b6b videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12ac6ba2 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2a99ec20 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2cc1a29b videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2d233a90 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x31c775c5 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x448e733b videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x61cad652 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x62e9ed72 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6b88c384 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x71c686f8 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x77dd42e0 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7f1a0844 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x803e6376 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x88c4c6be videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8bdc1908 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa51ec85d videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcdfbcc22 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd77577fd videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdc9e1408 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde21af13 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe3ef18ae videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf3867579 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfb997a62 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x1f27cc40 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xa7106985 videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xc129e5be videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xf6d8e7f0 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x1ceded2b videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x34e751e2 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xa4feff47 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x085d6d91 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x15bf363b vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x16d83ef5 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x19cf0e99 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1d1e22bf vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x30d60743 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4cd2584c vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x53fada68 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x743a5c93 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x76e2c038 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x77ae9a79 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x9a1402a7 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa4116537 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xc58cda91 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xdf8ae016 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xec9aa863 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfb268aa8 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x579b39e0 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x92afe816 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xe57f0426 vb2_dma_contig_cleanup_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x0e7d6b36 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x66f40833 vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x75dccad4 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x8da50e92 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x910340b5 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0x5faf855f vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x029b4654 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1543d758 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2e3c91ba v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x32aa7c72 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x37b9300f v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x43a3e76a v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4f8b43ca v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5ee3727d v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x765a8a09 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x8a0bc99f v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x90887e81 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x98562087 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb6503fbb v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb7b28614 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbed4431e v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc2ef2d4c v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd5bfcfc6 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe25ee1d0 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe5612e59 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf2359120 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf51ddfaa v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfe6ed6b2 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x3d90be31 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x443ec73d lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xc9d5acba lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x06ad6661 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x0ff301f6 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x671840b9 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x85a582cb lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xab93ea00 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xdfa8a2f0 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xef08a474 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x0ff64ec2 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xc182397b mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe48b9a25 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x026401c1 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x25782377 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x462dc3c5 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6814b9d1 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x760ce464 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9cd5d160 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb0d81209 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbae66048 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd33bea88 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xdd17fe6f pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf79b4e65 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x92119e20 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xa0be1ef7 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2961bc0c pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x36500ffa pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7571144e pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8398c955 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe9791163 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x07fa6d00 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x162b8ddf sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x2a39068f sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x345e3adf sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x860fb8ae sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x4f82622b tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xdc5c908c tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xf142b461 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xff9a0f37 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x08b8dd2e twl4030_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x4362dc66 twl4030_get_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x47ab5457 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x27cb133b eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x822222db eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x98bb5a22 eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x09c1cbf1 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x107d51b6 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x21bb00b5 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4a54d860 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x92220cc6 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb53d1ff7 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf6c58084 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1d675164 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1d6a17a2 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5c9d3d39 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7ec9bce3 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa516340e lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd834c0a3 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfedf92d8 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0942247a st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x996db400 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x054a4cef sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1d3c807d sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4399bd13 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x656c8585 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x72b7bce4 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8b39e54e sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1314ec34 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb58e9e2d cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xea6a8498 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x28200ae2 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x97e83f88 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xc72f6799 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xcc90b34e cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xaeae684c cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xcb3cffa1 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xdc93c68d cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x7b481961 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x613e14b7 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xd83121f7 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1452f995 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2fa2fa18 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3748f921 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x48348780 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x53463d14 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5c2cf790 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5c81bb15 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x76b94894 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x88f1063e ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa4e9c31e ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcacb38f6 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd1c25e63 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xed68166c ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x29d8602e unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x82d0d40a register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa8887acc free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb47ba51b alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x04535282 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x09e6784f open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x68db650d alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7047dde1 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x822bb11f free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x852daf6c alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9905a647 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xb62d3a08 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xbd7cc3e3 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xcbc62106 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xedb61f9e can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf65b6e10 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x26ec57a2 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x52c144df unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x8b4839f0 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xbccd6b0b free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5830cc1a alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x9a127ef6 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd497adb8 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xe83f41dd register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x018edcce cpdma_ctlr_dump +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x4a6bea03 cpdma_chan_submit +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x5c2fe4a5 cpdma_chan_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x68e47b2c cpdma_ctlr_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x764928a2 cpdma_chan_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x949334db cpdma_ctlr_start +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x9cdc9867 cpdma_ctlr_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xc5d5513e cpdma_chan_process +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xe4c22565 cpdma_chan_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xe988277b cpdma_ctlr_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xee8d7539 cpdma_chan_start +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4f93dfa6 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x7fb73f8d macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xdac98f6f macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xe4e8ce29 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xfe92ac44 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xfcff7713 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0xd08352d7 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x1144aabc usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x1b3e4c68 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x47ecd49b usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xb3b1a836 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1a5d1524 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x588cd686 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x6dff437e rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x75bdf13b generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa6e5222a rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xeac0af99 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x03206d3d usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x075902f2 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c5d7c21 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0fee98ed usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x13c385ac usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b77f36f usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2429bebb usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3217c110 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x40a35201 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x41d53500 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x459a3f19 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x556c4f7a usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x567529c1 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5767b97c usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7ec0e31f usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x82279449 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x88ccdfbd usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa7c4503a usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaf1c9a3e usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc0ab51a7 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcb114e6c usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd016bcc0 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe6bcecbf usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf7b7e5fe usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2e785568 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3c483027 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x405e8cf7 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5086b61a lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5c347c45 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x62d8a1f2 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x81f494c9 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x845378f5 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa1282650 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa47ffbe9 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa689ec8f lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbcb85fe2 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdecf9272 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe48705fd lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe527e66a lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf05df76b lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x129926f8 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x62095171 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x710fb10e lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x99c6d77c lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd66f779b lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe790a467 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xf80771d4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xf9a73140 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x53bf2411 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xe70272a5 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x09550c78 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x705b8da1 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x7837c2f2 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8d950abf mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x91f443c0 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xa04991be mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xac7673bb mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xc06ff236 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xc26c56bb mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xcc2611f0 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd06e64b6 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd50d9b1b mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe948faac mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0db2f3bc p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x430af3b9 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4b5b48c4 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4be818d6 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8817f90f p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x94bb6e7e p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xa79bc492 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb2c44f76 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xeb5baa97 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x04377da2 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0489c986 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1475c294 rt2800_rt2x00debug +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x192fdc0e rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x27106666 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x325d24c9 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3cf6704c rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x40f49dc3 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4a3262a3 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4bd8b3b2 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x530273e6 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x579529dc rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5d03a325 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5f3cb405 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x611a11d7 rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6f08072a rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6fb19117 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x777add3e rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x797b6487 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x80430ba6 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x83b08e54 rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x88af5529 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x89c479ac rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8a40c9ee rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x926e9e79 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x960bd89b rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x96f42cce rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9a4f2e76 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa1c3482f rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb395c6fe rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb706afe5 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc735aaec rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc93ac8f4 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd7c3c634 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd848a7f9 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xebf62251 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf30bef02 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf3482459 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfc00c5cf rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfcead32f rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x030a16c4 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x04882f1d rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x050c5bf0 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x05d8e811 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0827309d rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0fc80845 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x16239aca rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1fdf1c92 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x226f34c8 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2ebb9998 rt2x00debug_dump_frame +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x35300db1 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3731691b rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x38067e6c rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3bf639bc rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3c0ccf45 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x445df226 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4495260c rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4866fda7 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4dcb8878 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5cf93159 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6455b52f rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x685d2869 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6ab11a59 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7b1ab01a rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7f7e9346 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7fed494e rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8092cc18 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x85f803a6 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8ce0c0df rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x93c067a5 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x94b4a164 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x95575a84 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x957b80fc rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x96de4702 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9cfe5435 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9e6022fd rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb0693183 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbd05e8b8 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc8a0788e rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcab0847b rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcee771f5 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcfec6e3b rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd4868c96 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdb051e27 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe322651d rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xebbbb025 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf095285a rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x04337cba rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2ea2c6a2 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3ab4e750 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x433e0d8c rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4c6198c8 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x51db2b64 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x71456f5d rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb32a841b rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbc8d3089 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbfb4c42a rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdf5fb25f rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe3c2ae8a rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe3c45c7e rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe3d71fac rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe64647a3 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf94c90e9 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x22bfb7f0 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x679bd3a4 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xf240321e wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20d70639 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x40d09195 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4f3cc5e5 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x673b4544 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x67db1e68 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x71ef61df wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x92702e7d wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9355b1aa wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9f04478a wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd0c17b27 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd5edaf4f wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xda56240d wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xefe51f24 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfeb1fd32 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x18a8e7aa pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x300859a3 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x89e45ecb pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x0a42f24a mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4723e79b mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4cbdf779 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x96fb8ffd mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xae00e0b8 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xdbf2b6f9 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xea8b37eb mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xf574de49 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x2ad199a2 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb272e4b2 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb2d01e9c wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe0ee06e2 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe874ef51 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf8c9d683 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x669a1fb5 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2189f719 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2b83ba47 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xb8d1e5da scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xcb765f71 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xeb969d42 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xff86a149 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x13035bb0 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x20afb59f fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x30c1e538 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4a4c23a2 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x61010fd0 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8b24d854 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8b37756d __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xac87f4ff fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb614f2da fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc65c88e8 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe4ec7f76 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf08468f6 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfd219ea6 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x1e1abd47 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2a8c8514 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x41e3db18 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x4205c59b iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xaf0bbcf0 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb9bc0922 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x004bbd40 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0a833a5e iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1216df46 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x155e0d20 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x20766a9e iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x25eb1797 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2755730d iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x27e03de9 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d80b393 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x30c7fd75 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3a41410a iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f916a19 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3fb9d1a8 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4030fe96 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41615341 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5385e535 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x561b0b85 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x571b4603 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x58477290 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6732b42a __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73456d02 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73475030 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7442412d iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7614c068 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x767f5aa4 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x79a5224e iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8082daaf iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8b0af37c iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x90ed93c7 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9dfc58ae iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa2cff162 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa5591e06 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa69853e5 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb2f339cd iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbc0c2ba9 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc171f394 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcf3e418d iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdf6fa1a5 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeca60ebe iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefa44b89 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf04e98f2 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfa6b9349 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xffafc0a5 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00708f77 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0ad2bc79 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x15b411c9 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1e84c80e iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5065a0a4 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x69544eee iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7e4e8175 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x83340488 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x88e23b9d iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x99ce9657 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaf6520ce iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb9ecc1db iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc0ae89ca iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xccccef5b iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcd5e3783 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xef78d22a iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfe1b902c iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x01ee4791 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0cf01d76 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x12141b82 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x24949528 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x388972b6 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x50b0330c sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5210140e sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x760904cd sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x761372c1 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x794ee758 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b1a41c7 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7ddaa4ee sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7f85e7a9 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x97b11aff sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa181edc8 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa6d103c9 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbd995f55 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbfc9935f sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc2ea6471 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc59159e6 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xeddaf9ef sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xee272bbc sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf27ec032 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x076c0795 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x1db1eaee scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x5f126c3d scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7f9d6b5b scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x889b60e6 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x98345b99 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9ada8164 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa220681e scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd2e29f95 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1d322a45 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1fd1f5ad iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x24b6b884 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3f2bfa07 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x494d279b iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4f6f3bc7 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x50b8cbd7 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56cdecd0 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x57fb3a6f iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5b035b28 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x606d440e iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x74bea0bc iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7571a344 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x830991be iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x89b405db iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x98b55440 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9dbf1d7c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa818cd60 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab3a7672 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xafc2ba3a iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb26a8c91 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb6eb6d1b iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbe0d46e8 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc4c5dd44 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc63bd39b iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd2f1d9f2 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xddd4c9bd iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde244a3e iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xee5c5858 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf00138f3 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf0dc55ba iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf4a651f2 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x5eb84717 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x9875c906 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x9e2883da sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xe03568f1 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1a5b6a92 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb73b8667 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf25fc3a3 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf33b1b24 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfa6b1fbd srp_release_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x52d3b1da spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x54fe327a spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x819688f1 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x92330fb8 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xbe1b1db0 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd8d0e06b spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x03e77ada dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x2098df1b dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xa97f8b37 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xe28455a4 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xeac65dde dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x2468ed34 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x579d2806 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x587711de oslec_create +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x882d5f27 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf828c15b oslec_flush +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf923a5b1 oslec_free +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xfabc3747 oslec_update +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0xe0d5b886 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x0143edc3 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x52fc15f4 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x7e080694 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xa6c4bcce ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb98b5009 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe30ba71f ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/rts5139/rts5139 0x35b85807 rts5139_usb_ids +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0e81c76d spk_serial_out +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x14f06fe7 spk_serial_in_nowait +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2743dfae serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3509aeb4 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3f3fb65e spk_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x475e158a synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x52f1dbd7 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x53c4e5c6 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x62f7cea3 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x717eb93a synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x790425bd synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x817d1c7b spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8905e8b3 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8d9c4fb4 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e146195 synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9a888082 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb48956f8 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb5acc53d spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb73a5748 get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc766ae09 synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7e810f8 spk_serial_in +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x17e545f9 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x36ffad35 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x376577e5 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3c9cc207 usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4044fb7c usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x5d0300cc usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x66a00372 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8eb77300 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x9b536b24 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xa638860f usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe68a7069 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xeb8f1e8e usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xeea5f2bf usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x466380c7 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7e3ab70a max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x8ada2348 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xc6a3640e max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xf00bc098 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xf9cbdf2d max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x480ec228 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb5a78883 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf397033e __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0f5532c3 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xb99a6d71 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x289d06f1 dwc3_put_device_id +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x51b25baa dwc3_get_device_id +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6faf9265 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8f5ffc59 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x938d9f75 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9b9da79c ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa3ccc6fe usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa778589a usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf5035a9d usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf5b7ccaf usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf7fbc242 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x69620371 musb_dma_completion +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x87387f08 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0xbc36862e isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x14a025c2 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x33820e12 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x419362cf usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x439d1983 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4f7e28b0 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x61e13eb0 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7467ffea usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x77c69ec7 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x87ef283f usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x88d71151 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x89c0aa93 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x951016fe ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xac236028 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbe4ed22e usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbf929de0 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe44d243d usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe45a80f7 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xebb6a0f0 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfe2d5c8c usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0ae75fe1 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x156638dd usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x23708d64 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3fd33d84 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4a415993 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5869c0b0 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x59dac122 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x608684d2 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x66d0f082 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x84a219af usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa2211468 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa5bd1ca2 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xaf14e379 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb853ee46 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc633018f usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcf1afc29 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdb6bd65e usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdc264c76 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe2a255ad usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf2343f3c usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfc0417a3 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfef17ba6 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x0e171feb auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x46d908f1 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x65a294d4 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6fc3a61e auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x75f52191 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x9502b222 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x97539c9c auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xbfa60655 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xd2c74d31 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xe06b266a auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x11b82f1c ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x14059cc3 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x459d703d ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9c6d24c3 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa68b64aa ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb039163e ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf208046a ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x19e2c58b fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x1bd5eee9 fb_sys_read +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2fadc95a w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x45217943 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5348f770 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5f115f90 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6cb08472 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7d499223 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9e8d2981 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc974f83c w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe6726b13 w1_read_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x880f1ea8 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xbcad682b dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xc6dc8c2f dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xce065616 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x101d04e6 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x27b5ca4f nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9858ca95 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb6e1529d lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe3062a08 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xec9d0c9b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xfe78aa79 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0077c6f6 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0daace58 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1125e8bb nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2812237f nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x33f7e8fd nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4044f1c9 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x780e9799 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80f19407 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8845f876 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae84933d nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2d15b9b nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe8cf3aa nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbef0c0c7 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbfb61be0 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5eb7bd2 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0cc4d8f nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc872c9c nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff1d63c6 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff4be6c6 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x39b81915 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xaa5cbd08 nfsacl_decode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1cb231d0 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2643c2f3 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2959096f o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9de3cb9f o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa18e5411 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa82a8645 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa9f5379a o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc3679d7b o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xce15881b o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe179726b o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xef71fbdb o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3e2e2182 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb95f66e4 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xdc03a108 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe0c17574 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe621b89f dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf4e8b354 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x025e2d69 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x16b2e575 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x3e1155a9 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5237744b ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5469ce31 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x6d42626d ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7083dbd5 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x89502fe7 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdc823ea4 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe2bd47db ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe40cffce ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe417d940 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x021957e1 raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x0f8a2742 raid6_2data_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x201d8ea3 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x29fa419f decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x300d7e57 free_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x6fbb3bd9 init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xabda1e2e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xb050f329 init_rs +EXPORT_SYMBOL_GPL net/802/garp 0x0784eb17 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x130a54bb garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x7c53e9e6 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xbe04fee8 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xceb168eb garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xd5341ee3 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x13a401d3 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xd2902a61 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0xa260ebdf p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xe37da462 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0x50754510 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xe2c6bb26 unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x35610cca ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcaf44e00 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0148aefd dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0a5898ba dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0cfd92a2 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x14d1f426 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x259d948e dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x285d25de dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x41533f21 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x433441f4 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4b965e77 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x503174a6 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d136b0c dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x618ea685 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6a363141 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x76d126a8 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7885a460 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x804115fb dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8312f83a dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x857c709c dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x88a6a3dc dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8e5d328b dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x92d8db8d inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x95018c93 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x97723d5a dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x981663c0 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb0be962e dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb5c84796 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb7e45b5b dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbbd2fded dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc64e43c2 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe4f7f735 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe586a7fd dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xef7f9779 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf13e880d dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf7cad66a dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf81aa268 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x02a44408 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2550b4a7 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4ee81d1a dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8473d360 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x925f5c34 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xdca48144 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x07477da8 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3de460b2 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0xb85093e1 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xf92901aa gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00d1c1d0 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x64c27af6 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7f0f0f25 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc78702e5 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd1732454 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd43ab9d9 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x58ac9a86 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x459dd6db ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x00f2d987 nf_nat_seq_adjust_hook +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x6b6c3d10 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3de64dee nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xadae42a0 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb1a53e50 nf_nat_set_seq_adjust +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb6b5f2fe nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xcc971346 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xff9af109 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x1dce0076 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x37f60e9f tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8d595146 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb3f6f756 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xddfd4357 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x9d002a3d ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6eb85693 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x33611847 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3367bb8c l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x503c1a01 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5851d195 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6f9fe8da l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7e8a000f l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa54433a0 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd1db568b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe4f1abac l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xecea4d1b l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf7450ef6 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfd1ef677 l2tp_session_find +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3e8adf8f ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x40f1ef52 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x473f48ba ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59b15379 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5da12588 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6299fb42 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x819c58f0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9f69885a ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xac7f6fd3 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x501df537 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x511000c4 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7d1bb8a0 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7eedae90 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80ee118c ip_set_nfnl_get +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x883d6572 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9b517962 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9fe2acc1 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa2d623f3 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc0cf47e0 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xcd3f2579 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf1f55a70 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x1fdad435 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7be76e15 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa57625ba unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xbfd760f5 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x02579481 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x068bd726 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c763536 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1139796c nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x15c6b6ce nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x19d55b6b nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c9b3e9a __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2f81235f nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35921a4c nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x365e489f nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37bafb1f nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3939934a nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3ad50f7f nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3af7522e nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3df06a9e nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x451758b1 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45f6d00d nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x46530f75 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47b98745 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47c0074c seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b904682 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4cbcda1a nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4f7d9c1c __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x540a40d2 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5716e7ac nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5897f910 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x593dc1ac nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x618c46b5 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61d9807e nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fa098cf nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70016057 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x705d802c nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70bbad07 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77213a33 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7bbbddcb nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7e8ab898 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8be98ce6 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x91c22d52 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96d35f15 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x971dc2db nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9834aa06 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9aae23a6 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xabba528d nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6f93eea nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb7167ab0 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb72379e0 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba043a0b nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbdb033f8 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0240dd4 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2c37a69 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3781522 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc4529c7f nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc471e15e nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcd12939d nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5c56ee0 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6919e68 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc2ef757 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdef75ce7 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe3c6200e nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef475484 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf18abc93 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf41467f1 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf49ce736 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf6d3d71e nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa90755c __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfaa4547d nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfb6a2113 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x6fc668fa nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x7291313f nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x79b46263 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2360381f nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3c8d513d nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x44f76163 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4a69dfc0 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5db761f3 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x716c07fe nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa1da5d70 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd1a44bb4 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd6c84655 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xeced37cd set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xa7b51e3f nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x6281b2ca nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x72309c42 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x76c09821 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xc9476cdd nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x9c43d4f6 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xeffd591d nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x110fd9e7 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1c8b7f4a nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2272e4e5 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x27562118 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x319dba3d nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x34d902ae nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x52a431b4 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x563aed10 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x677b2ea2 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6e4a909b ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x80dc3dd1 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa12ab128 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb3f7cfc6 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x1b2642bd nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x917f9025 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xddf0c133 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2875b3bb nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4a9d0d4a nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4f9b55aa nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x50355ac5 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc9a288b3 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfc1557dc nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x18264886 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x4f0625d7 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x03431f9b xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1b3e1f08 xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x31e0d7ca xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4bcd1108 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x806de8fc xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8524ba58 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8f479751 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xac29ed42 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbb5d62b9 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xca46df9d xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcbaf0d63 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcc53d6bf xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec34e5ba xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf91037d8 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x563d999b xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xf6afa81c xt_rateest_lookup +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0363be25 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x12ef80ae rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x13841b73 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x15ee3bee rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x1eaf2386 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x2244b940 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x37fb6702 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x4b2f9f71 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x59d308dd rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x66ec56e3 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x6b3027f0 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x810ac659 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x81b20bb9 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x875054cc rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x89b3996b rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9763b9c6 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xafef725b rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xb4b3889d rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xc207d3ae rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xd0bc77c1 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xd664b1fb rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xde9bb035 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xdfb5bdab rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xecbfd989 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xf016a0d4 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x33a99881 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x96f6b2d9 rxrpc_register_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0f6a061f gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1a8172cd gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x54cb839d svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5ae50d11 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5e48fd5d gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6e79dc74 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7efc7859 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x92c7f9b2 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc41e4b9c gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xceadacad gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf51d9e26 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x006ba126 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05546f97 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x058ffe7c svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065b4bb3 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0692a395 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07b2dc63 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a53677e rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a9735f6 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ae367a0 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b324077 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11e7410b svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x142a2159 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1537d0eb svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1589d57d rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16460743 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1646a389 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a6224c5 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d9260dd svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1df818f4 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f635968 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fc655d0 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20083749 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21197c95 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21b3e47f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x227b4ce0 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x266de8fb sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2698c5ca svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26d75412 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27ed1889 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28055d91 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2930a83b xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a9d4d88 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d2decd0 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e11ee7c xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33a20bdf rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x367c6f91 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x379d832b xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37ca7d74 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38bbfa02 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3babd6cd rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f6acb41 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f8a01fd sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40192cea sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41214795 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46f0ac0a rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48ec52fb csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b7ba283 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fac1f7e rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5281a1fa rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54345a46 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56a692a8 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56c3f6d4 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57f2b2ce rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x583bcfa0 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5925721d auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5afe56de sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b6dc755 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d722a50 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fd1bd69 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60d3d800 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61bd733a rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6390c9d9 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x690ac893 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a24b1a4 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a7b192c rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c07ed51 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71d11da9 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75bf2a9e svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x760ce78d xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77a520f0 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7808c89c svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x782d2520 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7be181b4 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c7610cc rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cc41e44 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cf47cd4 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e1fbdb8 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e62b9e0 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e83aa6a rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ec6efee rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f21e838 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f97b55b xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fab4ce4 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x805da2fa rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8110f313 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81759825 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82f95af2 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8449ec9f rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a5970b9 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8abdf537 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bf3c4bf xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d8487f2 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ec182aa xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93a0b947 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93b86a69 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95a80953 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97d7ffb6 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a4fa4c9 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a827bb8 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b0ca000 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c609fe9 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d879bbc auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa059d94a xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa157a84d rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1d9a50d rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1e58c51 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5a9ac7a svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7af1e2b rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa93ecd5c svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa94514ff xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa956c8ad xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9aeadb4 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa5cfefb rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac4afed5 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacc8d5c7 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad7d1f4b rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaeb5eee1 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf27a192 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0443abc unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb09d5163 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb19cf1cf xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2251870 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb24c4a6f rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2536c01 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb27636ed rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3d1ac3c svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb62cb13a svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb67cec74 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6a9c711 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbab2c47b rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc1c45d2 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc658e8a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd29380a xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbeadd2c5 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1259934 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc16a8260 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1f192f0 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc27a6cbe rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7603cbe svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9155672 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc7b9632 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1c797d2 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3912bb2 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4207512 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd65a3b2e xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7e67043 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8e8fee8 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb818956 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbe5dc04 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc0a6cb0 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xddcb5b30 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde83d016 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe12b9a5f xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe70bca7e xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7a45b1e xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9253f9c rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe92739e9 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea859083 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea8b4d11 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeaf3e3d4 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb2833ca rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec2acfa6 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecdca742 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed1f855a svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf492e5c5 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4aa64ac svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5c78f8e xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf83fc8d6 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfca10cc4 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/wimax/wimax 0x02e5c9a0 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x30accadf wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3ba9aeea wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5a2b39d6 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x713d8430 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7513c617 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8a0a75da wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa2bd5aa8 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf1be073f wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf304c231 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf41ff00d wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf7cddd28 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfc3f25ba wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0847f636 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x272b8ab3 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2df52971 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x42eeefa8 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x54ef3c82 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7cb5b1f7 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd53dcb3e cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd78bdddd cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf1661bbe cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf3b65797 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf4d8fab4 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x3108ea46 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x4d4fd5f1 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaeea3073 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb0e4716a pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x4d37dc59 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7d641156 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x993702f9 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xbce7fc33 ipcomp_output +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xc14a410d pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xf404a604 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0xab24c782 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x7b209848 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x7bf546f4 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xb300e403 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2326f738 twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x646db186 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x98ef45d4 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xa1d78fa9 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xf70ed664 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xc8ab12f5 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5dbabd19 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x6466def2 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x75a44415 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x8ba61bc1 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x91721558 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x926fd872 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x9af364af wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xfb115761 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x699e2b99 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xa122ee2a wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x61582b84 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x8489fda2 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x5bdcd069 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xde1c022f wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x6c0aca02 wm8996_detect +EXPORT_SYMBOL_GPL vmlinux 0x000668dc irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x00075d04 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x0043dea8 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x00447816 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x00654993 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x0087e1e1 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00d14a39 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x00dce7b1 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x012eadd3 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x0148adb6 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01a55876 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01cf7121 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x022348f1 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x024cda82 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x025db6e9 mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0x026c3a20 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x02721630 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x02c8a5e3 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x0309e5b4 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03a07b11 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x03e3fa81 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0x040a081c device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04b5b16d rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04cb5a44 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x050a3b23 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x050fbefa usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x05420ce0 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x057b1682 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05a80d0a pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05b88adf tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x05c612ca blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x05ff35ae usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x0606a1dd __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065335a0 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x0668ded3 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x069441fc bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x06b252d6 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x06e07338 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x06f57384 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x06f8025e fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x0710093b crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x07428807 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x0744fe3f rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x074c5bd0 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x076c4ed8 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x07930c3b xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07cdf27b inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x07d27284 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x07f089df relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x080802df snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x081d38b6 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x084664aa ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x084b2acf da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x0870d027 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x087be1a1 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x087d8bac spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x08953a80 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x08eab084 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x090f7bdc led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09232ee7 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x09520a75 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x096238ff snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x098931ec of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x099f14e9 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0x09a7c91a rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09d5329e kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x09e3ac69 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x0a0f0af1 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x0a3792a6 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a42309a inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a4f7895 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0a507165 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x0a5080ca usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x0af27038 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b3c7eac fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x0b4f3dc7 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0b54d77c tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b7f5961 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x0ba9193f iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bbae511 return_address +EXPORT_SYMBOL_GPL vmlinux 0x0bd6a198 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c01c84b __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c13ee02 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c481de5 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x0c61b41a inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x0c8678c2 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x0cbb600c relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0ccffe10 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x0cfb2111 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x0d0c109d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x0d1b26f9 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x0d29834f mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d2d32f1 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x0d30ea61 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d33d4c4 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d4a7bd5 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x0d529f47 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x0db7afba cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0dbddb24 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x0dc776f4 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x0dda9cc1 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0df33451 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x0e133311 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x0e1e4ccb exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x0e5a7839 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0e5e269b crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x0e920483 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x0e9d2f02 sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0x0ea6e05a root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0eabf13a timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x0ead5de5 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x0eb468d7 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x0ed2f405 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x0f14864d vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x0f1c556e snd_soc_cache_write +EXPORT_SYMBOL_GPL vmlinux 0x0f28449c anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x0f46a79f cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f7f6d9d rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x0fa12d67 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x0fb737f6 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x0fc100d3 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x0ffa0dfb tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10507071 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x105bf34d usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x10734b7c device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x109686c1 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x10a8abf5 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x10cef402 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x10d047e8 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x10d4394d rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x10d80751 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x110a093c klist_init +EXPORT_SYMBOL_GPL vmlinux 0x110b7df3 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x1142f296 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x116c3638 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x116e9bae ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x119f6137 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x11c72af7 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x120ac879 gpmc_init_hwecc_bch +EXPORT_SYMBOL_GPL vmlinux 0x121663d4 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1280d258 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x12b2152a crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x12c479f4 usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x12c70d6b net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x12c9305e sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x12cfcc74 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x12d390f4 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x133b512c inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x1345351b device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x135c9f84 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x135fbe7d disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x13614676 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x1396cdd8 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x13a695be device_create +EXPORT_SYMBOL_GPL vmlinux 0x13b1a6af snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x13b1a7e3 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13c88c2a tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x13e156cd blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x13f30e0a rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x1410995d usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x1434d210 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x143b4d85 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL vmlinux 0x144cfb78 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x14604ca6 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x1471a512 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x149fd177 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x14a5f55e cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x14b1a497 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x150093a6 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x1509b0a0 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x151ecf18 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x1545f4de register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x154f43ee ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x156048db shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x15654c04 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x158344bd dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x161bcb58 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1638a168 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x169264d2 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1710e387 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x172c6d11 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x175a677f of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x175b617b rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x175d40d4 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x176e28d9 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17b61cf8 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x17be06c8 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x17e3a646 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x1813d839 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x181c7c9a blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x181d5a0e input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x1827e527 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x182ffa41 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x184bb185 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x184dd772 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x18526c41 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x185a6bc4 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x185c6fc2 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x1866c1b3 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x1871b8ad crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1883b130 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x18d40746 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x196fbfec usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x199232b0 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b34de2 snd_soc_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x19c7d045 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x19eb94dd n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a3e4564 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x1a65920b omap_iommu_arch_version +EXPORT_SYMBOL_GPL vmlinux 0x1a824e86 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x1ab5be7b tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x1aba7cb3 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x1ac90430 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1af6d3e0 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x1b18f808 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b86079c usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x1b9a772b ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1b9bc108 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x1bb6ab16 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x1bc288a6 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x1bca9c60 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x1bfed4fe __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c0a5bb4 unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x1c4d864e s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c922a08 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x1c97d657 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x1c998b4d ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x1cc93fb1 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x1cce2fe0 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x1ce5683a snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL vmlinux 0x1d05092e snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0x1d1a25f8 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d92727f cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1e08988b s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x1e101534 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0x1e1524a4 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x1e15b590 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x1e1edbeb snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3741d4 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e518fe1 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e929cba simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x1e981998 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ed4f129 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f2b96c8 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x1f37286e register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x1f3de800 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x1f494249 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1f9774fe bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x1faa5bae crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x1fc7e78e udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff97329 css_depth +EXPORT_SYMBOL_GPL vmlinux 0x20081dd2 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x20122400 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x2027bdef ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x20828a51 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x208a6a7f nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20c0b244 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x2129c702 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x2183405e snd_soc_read +EXPORT_SYMBOL_GPL vmlinux 0x218df5da blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x21924d54 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x21eed484 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0x21fa261c tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x21ffee4a subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x2211dcde vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x2212d4b8 mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0x224bdb88 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x22940553 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22af9dcd regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x22b9eacd led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL vmlinux 0x231f76ea usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x237e3b8f crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2399efc9 __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x23d9f3ae security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x23fb3f7b tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x2423ff6b spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x2442faf2 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2488d8fd usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x248db7e5 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x24a33d5b anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24ac25a8 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x24e1307e flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x2508068e wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x2541e668 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x255b79e8 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x259ea151 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x25b8b8d3 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x261695de ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x261b7990 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x26215e7a wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x2675996e device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e60ae2 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL vmlinux 0x26f1082c device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x274e9799 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x275a4363 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27e060d7 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2809d73a con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x280f5d07 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x2835c3ff handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x285b6ad4 get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x286a17fc snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL vmlinux 0x28948c99 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28c0831a wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28ebd9f2 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x28effedd set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x28fd11b9 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29051707 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x290bcd7e device_move +EXPORT_SYMBOL_GPL vmlinux 0x29683010 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0x298976ae sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x299901b5 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x29c5bbb6 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x29fa2d5f snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x2a3b943c ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x2a4235e1 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL vmlinux 0x2a5748c9 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a81d947 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x2acaae92 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x2ae963bc regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x2aeb2083 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x2aee0989 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x2afc7920 omap_dm_timer_enable +EXPORT_SYMBOL_GPL vmlinux 0x2b3a4689 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x2b5264a5 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x2b6fa506 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x2bc619db crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2bdeaa5d gpmc_calculate_ecc +EXPORT_SYMBOL_GPL vmlinux 0x2bec437c pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x2bf5ed11 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c281127 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2c309940 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2c4f0d81 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c87667c usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cbe32d8 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d45db30 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x2dabd892 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x2dacde31 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x2dbf2173 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x2dd08daa dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x2de2be79 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x2e25fa80 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e593369 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x2e602e5e ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x2e87ead3 omap_dm_timer_start +EXPORT_SYMBOL_GPL vmlinux 0x2eae3434 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2eba89bb kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec9731a unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x2ed9efbd usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2ef0ea0e regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f6ca438 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x2f7b08ec debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x2f839c81 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x2fb992c0 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x2ff4aae7 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x30033073 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0x301f128a platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x306ab63e tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x3092c540 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30baf29a pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x30d514aa hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x30e22742 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31455d8e ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x315ba60b ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x317b1e44 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x31922b90 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x319691de usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x319d4369 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x31a820ed register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31d2a8aa omap_dm_timer_stop +EXPORT_SYMBOL_GPL vmlinux 0x324f25ae fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x3268de26 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x3289b222 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x329395ba dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x32a489dd ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32d9c30a usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x331a7e56 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x3327831a power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x3351070a crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x3367ce53 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x337e0484 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x33c63fd5 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x33eeb690 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x341643ba omap_dm_timer_modify_idlect_mask +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34740440 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x34768eaf rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x347a5af9 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3487bb54 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x350da109 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x351cfbc5 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3542d6cd __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x3554cc03 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x356e4c98 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x35a6fd41 omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x35c29ec2 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x35cba215 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35cce9a3 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362a6ee2 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3644afa6 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x366877f5 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x3769ab0c klist_next +EXPORT_SYMBOL_GPL vmlinux 0x377e6e47 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x37bf0360 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x37c0f3eb iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x37c4fc46 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x37c81161 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x3832280b wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x3851d929 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x387eb8f9 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3880ff53 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x388cf8c3 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38d93e0d snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x38e313fc of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x391b3f09 of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0x391fc404 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x3920d6db kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x396a3752 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x3990e330 dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x39a6f0f9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x39a8b807 gpmc_enable_hwecc +EXPORT_SYMBOL_GPL vmlinux 0x39b021bc pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x39d90b9b firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39f2b2f5 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x3a0b12f3 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a81f805 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x3acb3706 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ae110ac skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x3b1fc014 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x3b309150 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x3b770113 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3ba003ce kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x3ba0d5fd blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x3bd3f027 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bea3bbe fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x3bfb89b3 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x3c059276 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x3c25c74a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x3c2efcfa regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x3c4bfe07 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x3c5c0b95 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x3c60308d tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x3c831441 arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3ca7d831 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cc581c3 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x3ccef265 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cf53d23 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d8c95b1 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x3d9df5e5 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3daa40bc user_describe +EXPORT_SYMBOL_GPL vmlinux 0x3db91586 scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x3dc8f60c css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd10572 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e26437d ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x3e396d7b sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x3e64cb17 snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ec1078e tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3eca2010 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3eee1138 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3ef93b72 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3f210e75 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x3f3b612e iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x3f4b0e55 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x3f620a84 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3f69c73a unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3fa85dda inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x3fdde7e5 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x3fe2caec snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x400a848c fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x401d7f01 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4049380e __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4050d897 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4051eb9d crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x405321d3 omap_dm_timer_request +EXPORT_SYMBOL_GPL vmlinux 0x4070c3ed devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x40767ec4 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x40a061be vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40d1e635 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x40dd25f4 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x40de26d8 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x40f695cf bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x41055e23 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x4169c007 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x416c8a33 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41f953c1 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x4215a113 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x42243aee usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x428a0f55 register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x4295844c wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x42eba641 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x42f10c9e otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x43042d84 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43b635d0 omap_dm_timer_set_match +EXPORT_SYMBOL_GPL vmlinux 0x43be8c8a apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x43c77fce irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x43e871dc md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x444e0c48 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x446567eb snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0x446fc726 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44d1f01b ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4515a936 wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x451739fa user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x45360c38 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45895638 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x459f8a48 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x45bdc65b power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x45be1ea8 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x460c94a0 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4612edd1 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x4630fbe2 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x4655d66f platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4658c8ee of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x465b65f4 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x465bee49 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46a53677 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x46ad6685 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x46d5e0d2 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x473499a8 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x473ef0f5 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x474d433f omap_uninstall_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x4776a06d watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x478d4ff7 gpmc_enable_hwecc_bch +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47c70726 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x480cd60d fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x482ce4c3 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x4864213e pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48e27144 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x491f6ea9 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x4946da71 omap_iotlb_cr_to_e +EXPORT_SYMBOL_GPL vmlinux 0x496176d4 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x497f607f __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x498a7245 device_register +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49b6776e ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x49b75836 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x49d574a1 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x49d6c60e snd_soc_unregister_dais +EXPORT_SYMBOL_GPL vmlinux 0x49e6fb30 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x4a33c0cc snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x4a456f69 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x4a5db49e usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x4a9807ba __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4aafcee5 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4b28bd42 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4bbd1a1a rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4be9f30f snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x4c0fa949 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4c250800 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x4c2702eb snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x4c346f28 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4c8fb20c __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x4c956b6a __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4c9d4622 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x4cc43546 omap_install_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x4cd35845 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x4cdffdc2 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x4d0e34e8 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x4d1bee42 snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0x4d3561b9 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x4d606b20 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4dafac30 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x4dee2317 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e173217 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x4e216a28 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4e9520dc __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x4ee1320d mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f06a8af deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x4f071807 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x4f0fe3dc hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f55439d ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fed2d27 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x4ff5ae9f __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x500fee78 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x50369401 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5088859d fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50b5f911 cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e13ca1 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51054ba8 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x512e364a kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x516f4d1f pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x51709827 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x51789e0c snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x51a27fb5 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x51d3ef50 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x51de98b1 mtd_is_partition +EXPORT_SYMBOL_GPL vmlinux 0x51e09f49 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x51e8a5e9 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x5218c184 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x5254883e led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x52ae1f4b crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x53231a80 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x533617fc snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5354a75d usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5391036d nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53a55ca0 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x53c42958 md_run +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541d6275 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x543249f7 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x543d59c8 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x547ce50c mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a748a0 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x54e336e9 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x54e7e736 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x5542b913 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x554891f6 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558a8037 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x55df91f2 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x56100fae crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x56138aba tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5641a317 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x5650411a sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x5652b864 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x5699fe34 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x569b3eb6 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x56a0ec10 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x56a31714 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x56a33344 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x56a63a69 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56dbbde6 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56fc9785 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x57185b69 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x57187d2f __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x573ffb59 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x57441eda usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x575238f7 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x578fe4dd cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5799a4ed tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57c440dc __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58f89ad6 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x592f714f crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x594d75f0 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x5950fb86 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x599d0cb6 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x599d7799 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x59ab8d0e leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x59c7de7e sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a1773d4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x5a40ad30 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa47d3c ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x5b31f15f md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b614797 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5b88033c max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bb91f66 nand_release +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c07dc6d fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x5c0f4c5f blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x5c3439dc sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x5c76ece7 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x5c82c02c dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x5c9e261f inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x5ca66e8f devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5cbd5ac7 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x5cdaed8e snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0x5cdd59bf stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d8f7b7c dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x5d95572e device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x5da21c2e dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x5db3e13a devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5dc38027 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e257039 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x5e306b03 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0x5e58bfae da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e6a8634 omap_dm_timer_set_load_start +EXPORT_SYMBOL_GPL vmlinux 0x5e7a9ee9 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x5eac3801 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x5ecd6939 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x5ed4b0c3 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x5ed595dc i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x5ed98183 snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x5ef571a2 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5f22c838 omap_dm_timer_set_pwm +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f42df56 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f95a345 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x5fb06018 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x5feba456 user_update +EXPORT_SYMBOL_GPL vmlinux 0x600249fb mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x6018c881 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6019b1c8 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x6029fbce led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x606098b1 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x607f1482 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x6107707d pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6160b5aa pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x6161926b disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x616a8ff9 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x616e4bc4 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x617bbb8d pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x62073ead usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x6226284a inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x623b67da find_module +EXPORT_SYMBOL_GPL vmlinux 0x623bc89d crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x623fd46b ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x62888791 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x62a92c71 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x62acf559 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x62c13108 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x62d5da67 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x62fd065e trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6329ba4b skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x632e2b21 snd_soc_platform_write +EXPORT_SYMBOL_GPL vmlinux 0x63407606 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6349e9f1 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x636fab81 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x63ceadae blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x63d0001a blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x63e0c556 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x63fe9924 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x64263e17 omap_dm_timer_disable +EXPORT_SYMBOL_GPL vmlinux 0x6461d202 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x649da5c5 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x64aba6ee sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x64d2e218 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x64e94e20 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x64eb7d52 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x64fa9ce9 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x65139031 wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x65513ccc omap_dm_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x655dee64 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d5ef57 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65e44a7d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x65fbdf41 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x66108bbc da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6652db3b rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x665d4272 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x6664e75b crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66cc7a98 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6753a718 mtd_write +EXPORT_SYMBOL_GPL vmlinux 0x677e8d7a posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67b4f965 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x67b90877 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x67cd87ce fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x67f9bcf0 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x681c57da xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x681dbc63 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x682507ea cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x685a3c6c inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x68743e06 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x6883fe02 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6892d85a ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x689cecaa ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x68be26d0 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x692c1d9a input_class +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x695a3aa7 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x6966cc4c bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x697746de serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69a0d258 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x69c63241 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x69c7b1cc bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a02ae01 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x6a0bc101 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x6a45d701 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x6aaaf6c2 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6ae8d6c4 snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x6af9df5f ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x6b07f7d4 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b55e669 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x6b698b1f attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6b6b7874 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x6b6ccd85 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b8ebbd8 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x6bb3f5a6 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x6bd8515e uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x6bdcd27b get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x6bfa2667 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x6c30dbe9 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x6c3a54bf scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x6c3f6995 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c637d48 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x6c6f6f13 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c9c79d5 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x6ccc7386 mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0x6cf4f2d0 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x6d10b238 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d58a476 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x6d83bee0 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x6d893711 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x6da9b159 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x6e09af4b sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x6e0bf5f8 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0x6e17a27c dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x6e21c571 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x6e25385c omap_dm_timer_set_load +EXPORT_SYMBOL_GPL vmlinux 0x6e2773ed usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x6e604774 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x6e6d26e4 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x6e729330 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x6e7caa1b find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea1d118 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x6eb1fcdd ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x6ef1820e release_pmu +EXPORT_SYMBOL_GPL vmlinux 0x6f15c6e9 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f230820 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x6f45e0c3 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x6f51dac3 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6f8db7f9 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x6fa61fa5 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x70077535 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7037527a led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x705cbbb9 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x706fb963 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x7075d3d8 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70896423 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x70a1be4b pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70c23804 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x7126314f elv_register +EXPORT_SYMBOL_GPL vmlinux 0x712cc4f3 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x7132563a usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x7138b2d1 __css_put +EXPORT_SYMBOL_GPL vmlinux 0x714de325 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x714eb639 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71a0fd1a inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x71d141ff mtd_erase_callback +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x721a53da tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x7228f055 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x722e77c7 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x724563ce tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x7267db00 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7269a7d3 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x726be82e usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x727452e1 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7285486a snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0x72a97430 flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72ed3f88 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x72fa7d62 use_mm +EXPORT_SYMBOL_GPL vmlinux 0x72faa736 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x73033ee6 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x730ae64f ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x730bd0c7 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x730e509b md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x731ce27c usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x736726b8 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x73929e64 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x73a0417c dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b5fad2 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73e73fb9 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x73f59849 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x744182af crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x7458eba8 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74dca3ec usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7504e8b4 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x751347c7 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x7515acae usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x75331cfd __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x7550c360 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x755c036e crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x755fcd72 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x75b0dc7b device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75db81f3 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75fe0907 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x760d4272 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x7610ef62 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x7638f04a fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x7651ab36 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x765a9d80 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x765c04fc pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x7684613f devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7697f56e regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x76c32458 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x76d0d80f mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x76d30e55 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x76e83c9b da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76fad13a crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x770880e3 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x77396847 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x773f924e __class_register +EXPORT_SYMBOL_GPL vmlinux 0x774809bc usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x77519ec3 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x7789f929 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x77bf4ac5 sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x77e27175 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x77e60350 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x77e72783 s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x781c8ed6 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x78262643 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x7839269f device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7843cf33 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x78ca74d0 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x78cec40c dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x7974810c ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x7975ffd2 snd_soc_cache_read +EXPORT_SYMBOL_GPL vmlinux 0x79765f44 snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x799a65e2 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x799fa210 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x79ded58a rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x79fb3786 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x79fbcab8 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7a00d1dd css_id +EXPORT_SYMBOL_GPL vmlinux 0x7a2f436e snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7a36ad00 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x7a939fad ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b4b07fa rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7b6f82f1 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7b907ac5 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x7bb4c088 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x7bf957aa invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x7c04e906 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x7c0632c0 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x7c426aae __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7c688c79 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x7ca07eea snd_soc_platform_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc51a35 mtd_read +EXPORT_SYMBOL_GPL vmlinux 0x7ccbb8e0 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x7cd841b1 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d16c252 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x7d5279ed rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d7044f4 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x7d97db73 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dacc617 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x7db475b7 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7df6e05f dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x7df7434a blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e207eae datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e277415 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x7e2fb2bf netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e3bcfd8 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7ce101 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x7e97c905 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x7ed68941 asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0x7f0d27bf ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7f1663e7 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7f2a5ff7 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7f2b1c17 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7f7e4d1a usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7fc33b4d sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x7fe1d43b cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fe5c770 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7febc5b2 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x7fefbc4f map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x80074162 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x800999ba led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x801d76a2 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8063d5e1 mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0x808e1d0f bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80ae6697 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x80cb5874 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x8138eb64 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x819415ef irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x81abe67a sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x81c2d9f9 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x81e0bfde crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82412f73 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x82557071 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x828e8ed9 omap_dm_timer_write_status +EXPORT_SYMBOL_GPL vmlinux 0x82974579 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x829d7e63 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x82c5b6e7 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x82c681ae usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f61f41 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x83677578 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x839dfcc3 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83cc78a5 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x83d781df pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x8475fcfb subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x84b04ba4 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x84f807c8 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x851c7fb9 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8559cfe2 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x85a096cc snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x85bc46a3 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x86182965 __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x8638de93 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x8698cd8f fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x86d73f84 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x86fc6721 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x8770060f gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8794f5cd inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87cb363d snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x87df23bd serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x87e2a494 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x87e911d9 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8814fdc7 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x8850a825 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x887e2357 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x888725b2 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8891fb7d debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88c0fec9 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x88ddc075 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8908213c gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x891a672d d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x898a1a00 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x8991e571 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89efe1f6 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a21b983 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a294942 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x8a3bb4d2 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a8988e5 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x8ab2ecbf rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x8ab512be mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0x8ab59b92 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac15e80 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x8ad888f5 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x8b0690f9 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x8b4bccc2 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b75f310 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x8b9479a8 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x8b96e3e1 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x8bcf033d securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x8be7cc95 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x8bf63628 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c2529e7 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x8c30c687 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x8c4d7682 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x8c533dcf fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x8c5f049b blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x8c9b2d96 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x8ccdee0b __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x8cec15a2 usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x8d0b6948 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8d1e8990 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x8d32da50 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8d3ef20f tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x8d523758 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x8d5d2101 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x8d6137d0 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x8d70307b ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x8d83cc69 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d86f047 snd_soc_register_platform +EXPORT_SYMBOL_GPL vmlinux 0x8dad55e8 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x8e03f039 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x8e37590d simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x8e85c4b4 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x8e8ca557 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x8eb8b2e2 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x8ed8dcbb pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x8f01a014 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x8f0ecc34 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x8f1f0c1d ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x8f4bcc13 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8f508e04 of_get_nand_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f650c04 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0x8f6be8a8 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f9f11f4 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x8fa5a4d2 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x8fa9d085 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8fac221f snd_soc_register_dais +EXPORT_SYMBOL_GPL vmlinux 0x8fdb72ad input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x901126da snd_soc_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x90136cd7 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x906179a9 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x906ef4a2 device_add +EXPORT_SYMBOL_GPL vmlinux 0x9082d068 kprobe_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90c37111 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x90e0ee91 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x90e148df spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x9118852e inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91a37502 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x91b49102 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x91b623fd ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x91dda801 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x91eba6bc perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x91eef128 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x91f613fc dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d73cca __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x931bd936 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x932568bd ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x93509d2b shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x9373c084 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x93aa6b4d md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93f32e62 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL vmlinux 0x9464cc60 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94cd2785 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x94d37ced snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x94dd0bda tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x94e1ff90 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x952038e2 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9530957c mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9573da45 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x958207cf klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x95c5213f blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x95c578a0 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x95f6ee15 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9606b02f usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x962baeac amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x965a8312 snd_soc_register_codec +EXPORT_SYMBOL_GPL vmlinux 0x969d19d0 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x969fccdb ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96bfd79a usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96ecd154 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x971dd470 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x97464789 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x97aa7636 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97f74b43 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x9804a5aa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9879f303 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x98b552f4 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98e29de2 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99420357 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x995b38b2 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99a0d0c4 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL vmlinux 0x99a842de dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x9a0adefd usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2ca24a cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x9a4d624d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x9a7d64ea sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x9a835c60 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9acb2a73 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b10de75 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x9b374fd0 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x9b3a991d sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9b49c43b sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x9b58075a tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x9b709dc8 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x9b731312 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x9b7f27de pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x9b873005 get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x9b9adc4b driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bdba6c1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x9c1bd6f8 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x9c24c48e tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x9c6cc1c5 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9c79c5d9 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x9c84980c blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x9c8c8fc4 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x9ca44d96 mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x9cbf9b63 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x9d0dbc0e unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9d3384f5 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9d9b8647 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9da61d6f snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x9daf32f3 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e01b1d9 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x9e036f4d ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x9e7d4f2b sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x9e8aaad8 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x9e8d9ae7 mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0x9e9db5a1 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x9ea01dc0 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x9ebadcc4 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x9edda247 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x9f0c013e dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9f150c86 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x9f35e233 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f440f64 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x9f7097ba nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x9f960f33 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa03c4174 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa063ab79 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xa069883f hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xa06f7d94 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xa07600ff __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xa0765b13 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa099bd29 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xa0cc9bc1 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0e5ac4b cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xa0e662fb sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xa145a6b9 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xa15d8f56 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xa17a7e2a of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa215a456 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xa26a1589 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0xa2a02350 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa2ea112b led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xa2f65fb4 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa31325f1 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa32b7302 dapm_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3bd4628 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa411a870 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xa411ddc3 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa4393773 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xa456f9b9 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa491c75d class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa49b1281 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xa4b555fa spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa4dfdc37 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xa5147271 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xa55b3174 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xa5637197 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa57a69e2 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xa59fe8c9 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xa5bd6199 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xa5dd6fae arm_pm_restart +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f01105 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xa5f96ff6 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xa6039359 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b79a2d pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa6e3fd37 omap_dm_timer_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xa6f96acf usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xa6fdc7c2 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xa72081c5 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa72d1dfc cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xa73ad2ef skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xa74443e9 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xa789a7e0 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa82d8a2f sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xa83ae2ae input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa889af7d xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa906165f fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xa90dff77 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xa9128d7e tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xa91562f0 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa9630129 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xa998fc18 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xa9af64c0 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xa9bd6c1e armpmu_get_pmu_id +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9d6c002 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xaa298f17 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa403f53 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xaa4fed3f snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaae81efb scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xaaf20c66 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xaaf917a9 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0xab18e6bd scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xab283637 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xab351210 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xab436544 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xab5325ec omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0xab55199d __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xab637029 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab6dbde0 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xab7249bc crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xab79dd92 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xab908256 snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0xab9fff40 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xabdb51be inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xac24241a crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xac6896b9 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xaca268cc cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad018b6c __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xad0308cb pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xad284f4d driver_register +EXPORT_SYMBOL_GPL vmlinux 0xad2fb3a8 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xad6d1a0e put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddd7db1 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xadfdf721 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xae0c56db fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae836d41 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xaf221ad7 dapm_reg_event +EXPORT_SYMBOL_GPL vmlinux 0xaf2a42e9 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf519dda tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xaf979b29 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xaf99fcd6 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xaffb35c3 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb003f799 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xb0074109 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL vmlinux 0xb049e444 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb051c7e2 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xb090d2eb of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb119527e blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xb11a54b9 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb16a09a5 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xb177aa65 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb194c3e4 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xb195c3d2 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1ad4f38 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c1343e snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xb1d01f9d tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xb215b95b blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xb26ee92b omap_dm_timer_trigger +EXPORT_SYMBOL_GPL vmlinux 0xb277efa1 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb2ac62ec securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xb2b62828 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb302bea9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xb30a4379 mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0xb310fe40 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xb31163a1 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xb325dc1f omap_iopgtable_store_entry +EXPORT_SYMBOL_GPL vmlinux 0xb32697e8 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xb331bc54 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xb3483cfd sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xb370873a crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xb37159c6 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xb3864039 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3b738fd crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xb3bacfc9 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xb3d2ba40 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xb3f53fa0 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xb4179843 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb43c4a3b fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xb4c6e279 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4f200b0 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xb5034096 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xb55756d9 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xb558a2a0 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb55cf062 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xb580bf01 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xb592c511 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5b365c8 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xb5b40cbe power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xb5c519b3 snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0xb5c7938f shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5dee135 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb62b7ce1 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb63fe76e blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xb645a840 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb64728e2 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xb66aa439 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67b3769 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb6a0d43e fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb6aaa45f raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6c900f1 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0xb6f44ffa ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xb702a432 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xb714ac0e dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb7227462 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xb76bade0 omap_dm_timer_set_prescaler +EXPORT_SYMBOL_GPL vmlinux 0xb7deb9a4 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xb7f01c74 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb7fe3e06 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xb803e8c6 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb83dba2f fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xb844f63f scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xb851c4bd sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xb87c2de5 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb894cb6a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xb896c6e7 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xb8a340a3 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xb8a7f141 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xb8ac09e4 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb8e5d14f scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xb91f05f7 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb956ebef shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xb97764f3 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xb97ecf9f snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xb99395ef wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xb9a27b2c ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9da2997 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0xba0bcd72 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xba34f956 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xba4e455d tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xba57aa53 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xba768d51 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xba79ae5e init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb2e3bef page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xbb5a44fa skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb9edd23 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbba71e03 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xbbfda9f2 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc18edef regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbc279dcc evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc922a2e gpmc_calculate_ecc_bch4 +EXPORT_SYMBOL_GPL vmlinux 0xbc993b00 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xbca4b47f __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcf0d703 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xbd40de1c omap_dm_timer_set_source +EXPORT_SYMBOL_GPL vmlinux 0xbd57d653 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbdb0df7b crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xbdcce687 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf2802d crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xbdf512de free_bch +EXPORT_SYMBOL_GPL vmlinux 0xbdfb178f platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xbe13c829 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2e1d73 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xbe316c9d dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xbe31bc1a device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe40c6bf ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xbe491b2b get_device +EXPORT_SYMBOL_GPL vmlinux 0xbe8b4539 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xbec54092 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xbef1542d __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xbf5af391 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xbf628f6b tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xbf656cf4 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xbf69d240 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xbf80bf1e platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xbfbcf60c pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbfcef4b0 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xbff20f2d netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xc01149e8 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xc0116f87 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xc02d498d blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc052de66 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0xc0545f48 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc09c1d26 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0c7fce0 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0dc35af bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc11777ad gpmc_calculate_ecc_bch8 +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc1433d72 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1797e73 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc17b5cf5 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xc18622fb ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xc1867c07 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xc1bd48bf fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xc1fe8f14 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xc200c97a mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xc20b2b17 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xc20f563e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xc217bcda snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0xc218b95f mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xc21c00a2 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc2465bd4 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xc25f6cb0 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xc270470a dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xc276986d inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2878964 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xc2a8891a mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xc2b5917e usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc2de7345 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xc3248a3a dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xc33226b5 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xc349a747 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3674b92 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc36e6c52 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc3925583 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xc395166a get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3cd7c46 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc41122f8 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0xc421c05f usb_bus_start_enum +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4303006 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc43690a9 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc4584a3b simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xc45d6b9f ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47fd9fd pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4bee7ad ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xc4e714b6 omap_dm_timer_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xc5101969 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc5103e3c wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xc52c8dbf md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xc546abb6 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xc56b7536 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xc5d8e3aa shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xc6042d99 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xc604c890 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xc60a730b klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6192b9b da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc68a13d1 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xc69a930d subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc6da4e8c clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc75320a6 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7cd807e max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xc7d34a3e sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc7de9aa7 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xc7e45b75 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xc8167cdb cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0xc851f00c snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8b986fa tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xc8ba55e1 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0xc8ede5d0 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xc8f94cc9 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xc901185f crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9165317 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xc9223a40 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xc9256583 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95cb807 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc99c1464 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0xc9af90c3 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc9b449a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc9e57b8c debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f28a97 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca0844c6 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xca0bdf81 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca93294e blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xca941d1d tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xca995835 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xcaa289ec iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xcaac2b7d dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcb273676 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb3fc088 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcb686e95 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xcb74b13f rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xcb898a94 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbef0a74 snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0xcbff68c7 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xcc026731 mount_mtd +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc597f1f sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xcc7cf623 tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcc84417f ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xcca56d7b anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xccb242bb usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xccc6eeb3 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd08b49 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xcd02854b usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xcd1c5435 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcdb32b8b regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xcdbe362d put_device +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce740728 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xce8f896f snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0xcedf3203 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcef8c05b queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xcefd2539 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xcf2f75de ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xcf6aa881 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0xcf74c14d perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xcf95aa91 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xcf9b135c bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfb59cfc omap_dm_timer_write_counter +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfdc7d5e ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xcfe5bc4b proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xd001c9b4 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xd0065fcb subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0098b48 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd04d99b1 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xd05101d1 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xd05e1a0d snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c2db56 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0eb5c5e snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd10b8169 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xd120f98f snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xd14139ef snd_soc_write +EXPORT_SYMBOL_GPL vmlinux 0xd1425502 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1577e25 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1755072 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1d92292 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xd1dd6643 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xd1e575b9 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd22df727 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xd2653f3a ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xd26ea448 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xd270d78b da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd279dc25 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd2e51e56 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xd32e7d88 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd34c47a1 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd397b8eb crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xd3b93674 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0xd3e61495 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd41e98b4 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd4278e45 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xd429a109 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd49bcee3 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0xd4a15fc7 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4da7be4 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd529100f snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0xd53da4e3 omap_dm_timers_active +EXPORT_SYMBOL_GPL vmlinux 0xd572b849 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5ab57e0 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xd5bc3bf1 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5d486dd sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xd620ec2c init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xd63facf8 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xd65e2d0f tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd68fd99e bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xd6a36d45 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd6ccd11a snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0xd6d8e558 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xd6de2c45 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd727972a ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xd7311435 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xd753ef18 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd788742d perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd78d25ef bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xd7b6e485 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xd7c9f7dc crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd830bbc0 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xd84065ba ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd8672646 pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd898cd9c enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd8a13438 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xd8bde35e tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xd8cdba58 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xd8d26e4c inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xd933c61b tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd94ee55a __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xd956cdf6 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd98bc632 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd9d65764 snd_soc_cache_sync +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd9eef782 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda1c90fb pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0xda37614b skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda4dded2 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xda9a2bd3 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdaad9b31 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xdac023ad __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xdacfbb0a fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0xdad1184e sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb86ffe3 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba95fd5 reserve_pmu +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc34cced scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xdc59778b led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9c4a31 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdcdc8000 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0xdcee906c __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xdcfd64d7 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xdd0c3132 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd41a6fd sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xdd4380f5 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0xdd4c6bf6 tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xdd67eb21 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xdd693fcc ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xdd7187f0 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xddd490a2 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddd63ad7 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xddedfa31 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xde07d13d wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xde293684 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xde2c2c9e regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xdec7b0dc ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xdeca2e58 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf75258d usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xdfcce632 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xdffe2834 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe0114ba2 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe0510c7d bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe05f1cd1 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0xe05f57e2 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xe07a53ce sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xe083fc1e irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe0b76cdc driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe0b79e0c generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0f1e53f dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xe111d089 register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xe13eaeb5 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xe1835616 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL vmlinux 0xe1bb1972 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe1cf4e64 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xe1d831bc snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xe1dbdef0 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe20d2695 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe2445b46 user_match +EXPORT_SYMBOL_GPL vmlinux 0xe2583226 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe2ad7ad0 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe3292a91 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe36927bb of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0xe36a6556 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0xe36ba5ab wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xe3743d91 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3af1de3 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xe3cee0d1 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0xe3e75a53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xe3fab20e regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe3fd14ce scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe453f3e5 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xe481bdef get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xe4f52c93 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xe5084146 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xe50a634d tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xe5219b78 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe558e0f1 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58df1be ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xe58ff3f3 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xe5ad30e0 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe5d05917 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe5e4f9ed blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0xe5f9338b crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xe5fb80b0 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xe6033681 usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0xe615e1f5 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6303ca6 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6bc9a65 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe7170d55 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe72d20d9 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xe72fa770 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xe738a885 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77d02c7 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xe77fb483 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xe7867499 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe789f8a9 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe78beb9c kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe7b7aed4 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xe7c52fb0 snd_soc_jack_new +EXPORT_SYMBOL_GPL vmlinux 0xe7e9a21f sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xe7f41db8 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xe7fcd9b4 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8140c1b device_del +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81a5eb4 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xe8312320 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xe840b644 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe8468aa7 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe85d10cb inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xe8611953 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8c0f948 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe947f35c adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9695e69 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xe9697b17 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xe96a724e usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe9ab6f4c ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe9c43a19 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xe9e1dbc3 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xe9ef4fe5 mtd_point +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea2ef868 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea4a3f49 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0xea69b681 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xea730914 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0xea782d94 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xea7dc4a0 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xea925f16 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xeaad53ff tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeaee18b4 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xeafaad5f device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xeb0956bd snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0xeb1151c5 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xeb19dff3 mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0xeb2a6a83 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0xeb4f1fe8 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xeb509774 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0xeb82e3d5 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xeb9cba06 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0xebb157c8 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xebc93ffd inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xec03a6f5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec77e5d1 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xec8fc366 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xec9bb35f sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xecaaa8b2 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xeccbfebc br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xed16a780 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xed695a2d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xeda63db3 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0xedc49414 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xeddc899b rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xedf0bb65 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xee315eb0 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xee4162d3 omap_dm_timer_set_int_enable +EXPORT_SYMBOL_GPL vmlinux 0xee4d7720 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xee6446bd usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xee9525d2 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xeeff55b6 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xef09756a blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xef3d0066 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef5a903b rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xef5dc07f omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xefc24632 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xefeab993 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xeff302ef task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xeffcfc19 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf03e7330 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL vmlinux 0xf042beeb __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xf08f10b9 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xf0cd33bd usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xf0dcb4b1 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf0f238e0 user_read +EXPORT_SYMBOL_GPL vmlinux 0xf134b947 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xf16a239a sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf16be564 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xf16e5765 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1ae3d2f relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1f9805c power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xf25e1b55 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xf2738a80 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xf2b6e5ae omap_dm_timer_get_fclk +EXPORT_SYMBOL_GPL vmlinux 0xf2b92053 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xf2ceff1b pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xf2e1d553 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xf2f95281 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf311d30e sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf32efbdd bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0xf3410dc4 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xf3473264 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf3644f15 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xf38f1474 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf414cbf2 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xf419bc09 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0xf421b4f7 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf42ac0c9 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xf4921751 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf4cfbad1 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf52af99a snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf5398158 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf57bc1eb cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xf57cba86 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xf583bdf6 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5ca9ff7 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xf5d355f5 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xf5d770b6 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xf5e3439c blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0xf614ba0b platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf61f7956 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xf66beac9 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0xf66efb71 omap_dm_timer_read_status +EXPORT_SYMBOL_GPL vmlinux 0xf6dd452f crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xf6e01f2f blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f67ae1 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf7004dd9 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xf70e9947 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xf72d843b wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xf742d1bd ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xf7474c7a find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xf76949be snd_soc_platform_trigger +EXPORT_SYMBOL_GPL vmlinux 0xf771d0d7 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xf7857ac3 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xf7e19dbc register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf816d140 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xf81a749b crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf8433ba8 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf8668517 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf88670e4 snd_soc_default_readable_register +EXPORT_SYMBOL_GPL vmlinux 0xf89615bf __put_net +EXPORT_SYMBOL_GPL vmlinux 0xf8d58e5e mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xf8ee8a1c seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf9000681 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf931fb44 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0xf955e932 mmput +EXPORT_SYMBOL_GPL vmlinux 0xf980716d ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b2a42e adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf9c7b02a sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9d046f0 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa2136ee omap_dm_timer_free +EXPORT_SYMBOL_GPL vmlinux 0xfa297e25 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0xfa67446c skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xfab40217 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL vmlinux 0xfadd939a usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb5ed5b6 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xfb661ac1 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xfb69dd3d inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfbb6d212 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbc71f87 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xfbe1ad6a ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc2ffce6 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfc478a68 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc597d7a xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xfc883ef9 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xfc8e0ce3 sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0xfc8e3873 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xfcccab61 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfd1f9a61 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdbd3cb1 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe16f0de relay_open +EXPORT_SYMBOL_GPL vmlinux 0xfe46dc40 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfe4741e0 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xfe83be1a ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfec7fd72 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed21d23 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xfef1b26f stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xfef1b3d6 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff7fec83 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffb3ded5 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0xffbe0dec dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xffdc76a0 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xfffe89c8 __rtnl_af_register --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armel/omap.compiler +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armel/omap.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armel/omap.modules +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armel/omap.modules @@ -0,0 +1,2431 @@ +6lowpan +6pack +8021q +8250_dw +88pm860x_bl +88pm860x_onkey +88pm860x-ts +9p +9pnet +a3d +a8293 +aat2870_bl +aat2870-regulator +ab3100 +ab3100-otp +ac97_bus +acecad +act200l-sir +act_csum +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad2s1200 +ad2s1210 +ad2s90 +ad5064 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5504 +ad5624r_spi +ad5686 +ad5764 +ad5791 +ad5930 +ad5933 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7152 +ad7192 +ad7280a +ad7291 +ad7298 +ad7314 +ad7414 +ad7418 +ad7476 +ad7606 +ad7746 +ad7780 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad799x +ad8366 +ad9832 +ad9834 +ad9850 +ad9852 +ad9910 +ad9951 +adcxx +ade7753 +ade7754 +ade7758 +ade7759 +ade7854 +ade7854-i2c +ade7854-spi +adfs +adi +adis16060 +adis16080 +adis16130 +adis16201 +adis16203 +adis16204 +adis16209 +adis16220 +adis16240 +adis16260 +adis16400 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm9240 +adp5520_bl +adp5520-keys +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +ads1015 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adummy +adutux +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adxl34x +adxl34x-i2c +adxl34x-spi +adxrs450 +af_802154 +af9013 +af9033 +af_alg +affs +af_key +af-rxrpc +afs +ah4 +ah6 +ahci_platform +aiptek +aircable +ak881x +ak8975 +alauda +algif_hash +algif_skcipher +alphatrack +altera_jtaguart +altera_ps2 +altera-stapl +altera_uart +amba-clcd +ambakmi +amba-pl010 +amba-pl011 +amc6821 +ams369fg06 +analog +ansi_cprng +anubis +aoe +apds9802als +apds990x +appledisplay +appletalk +appletouch +ar7part +arc4 +ark3116 +arptable_filter +arp_tables +arpt_mangle +as5011 +asc7621 +asix +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +atbm8830 +ath +ath3k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ati_remote +ati_remote2 +atm +atmel_mxt_ts +atmel_pwm +atmel-pwm-bl +atmtcp +atxp1 +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo_k1900fb +auo_k1901fb +auo_k190x +auo-pixcir-ts +authenc +authencesn +auth_rpcgss +autofs4 +ax25 +ax88796 +b2c2-flexcop +b2c2-flexcop-usb +b43 +b43legacy +b44 +bas_gigaset +batman-adv +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +bcma +bcm_wimax +befs +belkin_sa +bfs +bfusb +bh1770glc +bh1780gli +binfmt_aout +binfmt_misc +block2mtd +blowfish_common +blowfish_generic +bluetooth +bma150 +bmp085-i2c +bmp085-spi +bnep +bonding +bpa10x +bpqether +bq27x00_battery +br2684 +brcmfmac +brcmsmac +brcmutil +bridge +broadsheetfb +bsd_comp +bt819 +bt856 +bt866 +btmrvl +btmrvl_sdio +btrfs +btsdio +btusb +btwilink +bu21013_ts +bw-qcam +c67x00 +cachefiles +caif +caif_hsi +caif_serial +caif_socket +caif_usb +camellia_generic +can +can-bcm +can-dev +can-gw +can-raw +capi +capidrv +carl9170 +cast5 +cast6 +catc +cc770 +cc770_isa +cc770_platform +c_can +c_can_platform +ccm +cdc-acm +cdc_eem +cdc_ether +cdc_ncm +cdc-phonet +cdc_subset +cdc-wdm +ceph +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +chnl_net +cifs +ci_hdrc +clearpad_tm1217 +clip +cls_basic +cls_cgroup +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cma3000_d0x +cma3000_d0x_i2c +cmtp +cobra +coda +configfs +cordic +core +cp210x +cpia2 +c-qcam +cramfs +crc7 +crc8 +crc-ccitt +crc-itu-t +cryptd +cryptoloop +crypto_null +crypto_user +cs5345 +cs53l32a +cs89x0 +ctr +cts +cuse +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx24110 +cx24113 +cx24116 +cx24123 +cx25840 +cx82310_eth +cxacru +cxd2820r +cy8ctmg110_ts +cyberjack +cypress_cy7c63 +cypress_m8 +cytherm +cyttsp_core +cyttsp_i2c +cyttsp_spi +da9030_battery +da9034-ts +da903x +da903x_bl +da9052_bl +da9052_onkey +da9052-regulator +da9052_tsi +da9052_wdt +davinci_cpdma +davinci_mdio +db9 +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de600 +de620 +decnet +deflate +des_generic +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +diskonchip +dlci +dlm +dm644x_ccdc +dm9000 +dm9601 +dm-bufio +dm-crypt +dme1737 +dm-log +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-thin-pool +dm-zero +dnet +dn_rtmsg +doc2001plus +docecc +docg3 +docg4 +docprobe +drbd +drm +drm_kms_helper +drm_usb +drxd +drxk +ds1621 +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds620 +dsa_core +dsbr100 +dss1_divert +dummy +dvb-as102 +dvb-core +dvb-pll +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-it913x +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dwc3 +dwc3-exynos +dwc3-omap +dw_dmac +dw_mmc +dw_mmc-pltfm +dw_wdt +dynapro +easycap +ebt_802_3 +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ec100 +echo +eeprom +eeprom_93cx6 +eeprom_93xx46 +efs +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +emc1403 +emc2103 +emc6w201 +em_cmp +emi26 +emi62 +emif +em_meta +em_nbyte +empeg +ems_usb +em_text +em_u32 +enc28j60 +enclosure +eql +esd_usb2 +esi-sir +esp4 +esp6 +ethoc +evbug +ext2 +extcon_class +extcon_gpio +extcon-max8997 +f71805f +f71882fg +f75375s +f81232 +faulty +fb_sys_fops +fc0011 +fcrypt +ff-memless +fm_drv +freevxfs +fsa9480 +fscache +ft1000 +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +fusb300_udc +g760a +g_acm_ms +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +g_dbgp +gdmwm +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_ffs +gfs2 +ghash-generic +g_hid +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_mass_storage +g_midi +g_multi +g_ncm +g_nokia +gp2ap002a00f +gpio +gpio-74x164 +gpio-addr-flash +gpio-adp5520 +gpio-adp5588 +gpio-charger +gpio-fan +gpio-generic +gpio-ir-recv +gpio_keys +gpio_keys_polled +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mc33880 +gpio-mcp23s08 +gpio_mouse +gpio-pca953x +gpio-pcf857x +gpio-regulator +gpio_tilt_polled +gpio-tps65912 +gpio_vbus +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +g_printer +gre +grip +grip_mp +g_serial +gspca_benq +gspca_conex +gspca_cpia1 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtco +guillemot +gunze +g_webcam +g_zero +hampshire +hanwang +hci +hci_uart +hci_vhci +hd29l2 +hdlc +hdlc_cisco +hdlcdrv +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdpvr +hfc4s8s_l1 +hfcsusb +hfc_usb +hfs +hfsplus +hid +hid-a4tech +hid-apple +hid-aureal +hid-axff +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-dr +hid-elecom +hid-emsff +hid-ezkey +hid-gaff +hid-generic +hid-gyration +hid-holtekff +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-logitech +hid-logitech-dj +hid-magicmouse +hid-microsoft +hid-monterey +hid-multitouch +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-picolcd +hid-pl +hid-primax +hid-prodikeys +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-kovaplus +hid-roccat-pyra +hid-saitek +hid-samsung +hid-sjoy +hid-sony +hid-speedlink +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-uclogic +hid-wacom +hid-waltop +hid-wiimote +hid-zpff +hid-zydacron +hisax +hisax_st5481 +hmc5843 +hmc6352 +hostap +hp4x +hpfs +hsi +hsi_char +hso +htc-pasic3 +hwmon-vid +i2c-algo-bit +i2c-algo-pca +i2c-designware-core +i2c-designware-platform +i2c-dev +i2c-diolan-u2c +i2c-gpio +i2c-mux +i2c-mux-gpio +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-simtec +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-xiic +ibmaem +ibmpex +ics932s401 +idmouse +ieee802154 +ifb +iforce +iio_dummy +iio_hwmon +iio-trig-gpio +iio-trig-periodic-rtc +iio-trig-sysfs +ili210x +ili9320 +imon +impa7 +imx074 +ina2xx +industrialio +inet_diag +inexio +inftl +input-polldev +int51x1 +interact +io_edgeport +io_ti +iowarrior +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_REJECT +ip6t_rpfilter +ip6t_rt +ip6_tunnel +ipack +ipaq +ipcomp +ipcomp6 +ipddp +ip_gre +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ipoctal +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netport +ip_set_list_set +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_ah +ipt_CLUSTERIP +ipt_ECN +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_rpfilter +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipx +ircomm +ircomm-tty +irda +irda-usb +ir-jvc-decoder +ir-kbd-i2c +irlan +ir-lirc-codec +ir-mce_kbd-decoder +ir-nec-decoder +irnet +ir-rc5-decoder +ir-rc5-sz-decoder +ir-rc6-decoder +ir-sanyo-decoder +ir-sony-decoder +irtty-sir +ir-usb +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdn +isdn_bsdcomp +isdnhdlc +isdnloop +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1301 +isp1301_omap +isp1362-hcd +isp1704_charger +isp1760 +it87 +it913x-fe +itd1000 +iuu_phoenix +iwmc3200top +iwmc3200wifi +ix2505v +jc42 +jedec_probe +jffs2 +jfs +joydev +joydump +kafs +kalmia +kaweth +kbtab +kernelcapi +keucr +keyspan +keyspan_pda +keyspan_remote +kfifo_buf +khazad +kingsun-sir +kl5kusb105 +kobil_sct +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +kxsd9 +kxtj9 +l1oip +l2tp_core +l2tp_debugfs +l2tp_ppp +l4f00242t03 +l64781 +lapb +lapbether +latch-addr-flash +lcd +ld9040 +ldusb +lec +leds-88pm860x +leds-adp5520 +leds-atmel-pwm +leds-bd2802 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3533 +leds-lp3944 +leds-lp5521 +leds-lp5523 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-ot200 +leds-pca9532 +leds-pca955x +leds-pca9633 +leds-pwm +leds-regulator +leds-tca6507 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +ledtrig-transient +legousbtower +lg2160 +lgdt3305 +lgdt330x +lgs8gl5 +lgs8gxx +lg-vl600 +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libceph +libcrc32c +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libiscsi +libiscsi_tcp +libsas +lightning +line6usb +lineage-pem +linear +lirc_dev +lirc_igorplugusb +lirc_imon +lirc_parallel +lirc_sasem +lirc_serial +lirc_sir +lirc_ttusbir +lirc_zilog +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +litelink-sir +lkkbd +llc +llc2 +lm3533_bl +lm3533-core +lm3533-ctrlbank +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lm95245 +lms283gf05 +lnbp21 +lnbp22 +lockd +logger +lp +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lpddr_cmds +lru_cache +lrw +ltc4151 +ltc4215 +ltc4245 +ltc4261 +ltv350qv +lzo +m25p80 +m52790 +m88rs2000 +ma600-sir +mac80211 +mac80211_hwsim +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +macvlan +macvtap +magellan +mailbox +mailbox_mach +map_absent +map_ram +map_rom +matrix-keymap +matrix_keypad +max1111 +max11801_ts +max1363 +max1586 +max16065 +max1619 +max1668 +max17040_battery +max17042_battery +max2165 +max3100 +max3107 +max63xx_wdt +max6639 +max6642 +max6650 +max6875 +max7359_keypad +max8649 +max8660 +max8903_charger +max8925_bl +max8925_onkey +max8925_power +max8925-regulator +max8952 +max8997 +max8997_charger +max8997_haptic +max8998 +max8998_charger +mb86a16 +mb86a20s +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc44s803 +mceusb +mcp2120-sir +mcp251x +mcp3021 +mcs5000_ts +mcs7780 +mcs7830 +mcs_touchkey +mct_u232 +md4 +mdc800 +mdio-bitbang +mdio-gpio +mdio-mux +mdio-mux-gpio +mem2mem_testdev +memstick +metronomefb +metro-usb +mg_disk +michael_mic +microtek +minix +mip6 +mISDN_core +mISDN_dsp +mk712 +mkiss +mma8450 +mmci +mos7720 +mos7840 +moto_modem +mpoa +mpr121_touchkey +mpu3050 +msdos +msp3400 +mspro_block +mt2060 +mt20xx +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9t112 +mt9v011 +mt9v022 +mtd_dataflash +mtdoops +mtdram +mtdswap +mtouch +multipath +musb_hdrc +mv88e6060 +mv88e6xxx_drv +mv_udc +mwifiex +mwifiex_sdio +mwifiex_usb +mxl111sf-demod +mxl111sf-tuner +mxl5005s +mxl5007t +nandsim +navman +nbd +nci +ncpfs +net1080 +net2272 +netconsole +netprio_cgroup +netrom +newtonkbd +nfc +nf_conntrack +nf_conntrack_amanda +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_ipv4 +nf_conntrack_ipv6 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_proto_dccp +nf_conntrack_proto_gre +nf_conntrack_proto_sctp +nf_conntrack_proto_udplite +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nfcwilink +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_proto_dccp +nf_nat_proto_gre +nf_nat_proto_sctp +nf_nat_proto_udplite +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nfnetlink +nfnetlink_acct +nfnetlink_cttimeout +nfnetlink_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nilfs2 +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +n_r3964 +ns558 +ntc_thermistor +ntfs +n_tracerouter +n_tracesink +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +of_serial +old_belkin-sir +omap +omap2 +omap2430 +omap4-keypad +omap-aes +omap_hdq +omap-sham +omap-vout +omap_wdt +omfs +omninet +onenand +onenand_sim +opencores-kbd +openvswitch +oprofile +opticon +option +or51132 +or51211 +osst +oti6858 +output +ov2640 +ov5642 +ov6650 +ov7670 +ov772x +ov9640 +ov9740 +overlayfs +oxu210hp-hcd +ozwpan +p54common +p54spi +p54usb +p8022 +p8023 +palmas-regulator +pandora_bl +panel +panel-acx565akm +panel-lgphilips-lb035q02 +panel-nec-nl8048hl11-01b +panel-picodlp +parkbd +parport +parport_ax88796 +pata_arasan_cf +pata_of_platform +pata_platform +pc87360 +pc87427 +pcbc +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pcwd_usb +pda_power +peak_usb +pegasus +penmount +phonedev +phonet +phram +physmap +physmap_of +pixcir_i2c_ts +pktcdvd +pktgen +pl2303 +pl330 +platform_lcd +plat_nand +plat-ram +plip +plusb +pn533 +pn544 +pn544_hci +pn_pep +poseidon +powermate +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppox +ppp_synctty +pps_core +pps-gpio +pps-ldisc +pps_parport +pptp +prism2_usb +ps2mult +psmouse +psnap +pvrusb2 +pwc +pwm-beeper +pwm_bl +qcaux +qcserial +qinfo_probe +qmi_wwan +qnx4 +qnx6 +qt1010 +qt1070 +quatech2 +quota_tree +quota_v1 +quota_v2 +r8712u +r8a66597-hcd +r8a66597-udc +radio-i2c-si470x +radio-keene +radio-mr800 +radio-si4713 +radio-tea5764 +radio-usb-si470x +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramoops +raw +rbd +rc5t583-regulator +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-em-terratec +rc-encore-enltv +rc-encore-enltv2 +rc-encore-enltv-fm53 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-imon-mce +rc-imon-pad +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lirc +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-pctv-sedna +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-snapstream-firefly +rc-streamzap +rc-tbs-nec +rc-technisat-usb2 +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-trekstor +rc-tt-1500 +rc-twinhan1027 +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-winfast +rc-winfast-usbii-deluxe +rds +rds_tcp +redboot +redrat3 +reed_solomon +reiserfs +renesas_usbhs +rfcomm +rfd_ftl +rfkill-gpio +rfkill-regulator +ring_sw +rio500 +rj54n1cb0c +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rt2500usb +rt2800lib +rt2800usb +rt2x00lib +rt2x00usb +rt73usb +rtc-88pm860x +rtc-ab3100 +rtc-bq32k +rtc-bq4802 +rtc-cmos +rtc-da9052 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3232 +rtc-ds3234 +rtc-em3027 +rtc-fm3130 +rtc-isl12022 +rtc-isl1208 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max8925 +rtc-max8998 +rtc-mc13xxx +rtc-msm6242 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-pl031 +rtc-r9701 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3029c2 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl2830 +rtl8150 +rtl8187 +rtl8192c-common +rtl8192cu +rtlwifi +rts5139 +rxkad +s1d13xxxfb +s2255drv +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5m8767 +s6e63m0 +s921 +saa6588 +saa7110 +saa7115 +saa7127 +saa717x +saa7185 +saa7191 +saa7706h +safe_serial +salsa20_generic +samsung-keypad +sata_mv +sbs-battery +sca3000 +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cbq +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_fq_codel +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_tbf +sch_teql +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sctp_probe +sdhci-pltfm +sdhci-pxav2 +sdhci-pxav3 +sdio_uart +seed +seeq8005 +seqiv +ser_gigaset +serio_raw +sermouse +serpent_generic +serport +serqt_usb2 +ses +sha512_generic +sh_mobile_ceu_camera +sh_mobile_csi2 +sht15 +sht21 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sierra_net +sil164 +sir-dev +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +sl811-hcd +slcan +slip +slram +sm501 +sm501fb +sm7xx +smb347-charger +smc911x +smc91x +sm_ftl +smm665 +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd-aaci +snd-ac97-codec +snd-aloop +snd-dummy +snd-hrtimer +snd-hwdep +snd-mixer-oss +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-portman2x4 +snd-rawmidi +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-soc-88pm860x +snd-soc-ad1836 +snd-soc-ad193x +snd-soc-ad73311 +snd-soc-adau1373 +snd-soc-adav80x +snd-soc-ads117x +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4641 +snd-soc-ak4642 +snd-soc-ak4671 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs42l51 +snd-soc-cs42l52 +snd-soc-cs42l73 +snd-soc-cx20442 +snd-soc-da7210 +snd-soc-dfbmcs320 +snd-soc-igep0020 +snd-soc-jz4740-codec +snd-soc-l3 +snd-soc-lm4857 +snd-soc-lm49453 +snd-soc-max9768 +snd-soc-max98088 +snd-soc-max98095 +snd-soc-max9850 +snd-soc-max9877 +snd-soc-mc13783 +snd-soc-ml26124 +snd-soc-omap3evm +snd-soc-omap3pandora +snd-soc-overo +snd-soc-pcm3008 +snd-soc-rt5631 +snd-soc-sdp3430 +snd-soc-sgtl5000 +snd-soc-simple-card +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-sta32x +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic3x +snd-soc-tlv320dac33 +snd-soc-tpa6130a2 +snd-soc-twl6040 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wl1273 +snd-soc-wm1250-ev1 +snd-soc-wm2000 +snd-soc-wm2200 +snd-soc-wm5100 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8727 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8955 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8962 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8983 +snd-soc-wm8985 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8991 +snd-soc-wm8993 +snd-soc-wm8994 +snd-soc-wm8995 +snd-soc-wm8996 +snd-soc-wm9081 +snd-soc-wm9090 +snd-soc-wm-hubs +snd-soc-zoom2 +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usbmidi-lib +snd-virmidi +soc_camera +soc_camera_platform +soc_mediabus +softdog +softing +sp805_wdt +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntpc +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_decpc +speakup_dectlk +speakup_dtlk +speakup_dummy +speakup_keypc +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedtch +spi-altera +spi-bitbang +spi-butterfly +spidev +spi-dw +spi-gpio +spi_ks8995 +spi-lm70llp +spi-oc-tiny +spi-omap2-mcspi +spi-pl022 +spi-tle62x0 +squashfs +sr030pc30 +ssb +ssfdc +sst25l +ssu100 +st +st1232 +stb0899 +stb6000 +stb6100 +st_drv +stinger +stir4200 +stkwebcam +stmpe-keypad +stmpe-ts +stowaway +stp +streamzap +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv6110 +stv6110x +sunkbd +sunrpc +symbolserial +synaptics_i2c +synaptics_i2c_rmi4 +synaptics_usb +syscopyarea +sysfillrect +sysimgblt +sysv +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +tc3589x-keypad +tca6416-keypad +tca8418_keypad +tcm825x +tcm_fc +tcm_loop +tcm_usb_gadget +tcp_bic +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18271 +tda18271c2dd +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tef6862 +tekram-sir +test-kprobes +test-kstrtox +test_power +tgr192 +thmc50 +ths7303 +ti_dac7512 +tidspbridge +ti_hecc +timb_dma +timblogiw +timbuart +timed_gpio +timeriomem-rng +tipc +ti_tscadc +ti_usb_3410_5052 +tlv320aic23b +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmiofb +tmio_mmc +tmio_mmc_core +tmio_nand +tmp102 +tmp401 +tmp421 +toim3232-sir +touchit213 +touchright +touchwin +tpm_atmel +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65090-regulator +tps65217 +tps65217-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +trancevibrator +tranzport +ts_bm +tsc2005 +tsc2007 +tsc40 +ts_fsm +ts_kmp +tsl2550 +tsl2563 +tsl2583 +tsl2x7x_core +ttpci-eeprom +tua6100 +tua9001 +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw9910 +twidjoy +twl4030_charger +twl4030_keypad +twl4030-madc +twl4030-madc-hwmon +twl4030-pwrbutton +twl4030-vibra +twl4030_wdt +twl6030-pwm +twl6030-usb +twl6040-vibra +twofish_common +twofish_generic +u132-hcd +uas +ub +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udl +udlfb +udp_diag +ueagle-atm +ufs +uio +uio_pdrv +uio_pdrv_genirq +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +usb8xxx +usbatm +usb_debug +usb_gigaset +usbhid +usbip-core +usbip-host +usbkbd +usblcd +usbled +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +usb_wwan +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-common +v4l2-int-device +v4l2-mem2mem +vcan +ves1820 +ves1x93 +veth +vgg2432a4 +vhci-hcd +videobuf2-core +videobuf2-dma-contig +videobuf2-memops +videobuf2-vmalloc +videobuf-core +videobuf-dma-contig +videobuf-dvb +videobuf-vmalloc +videodev +virtual +visor +vivi +vivopay-serial +vmac +vp27smpx +vpfe_capture +vpss +vpx3220 +vs6624 +vsxxxaa +vt1211 +vub300 +w1_bq27000 +w1_ds2408 +w1_ds2423 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_ds2780 +w1_ds2781 +w1-gpio +w1_smem +w1_therm +w35und +w5100 +w5300 +w83627ehf +w83627hf +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +w90p910_ts +w9966 +wacom +wacom_i2c +wacom_w8001 +walkera0701 +warrior +whiteheat +wimax +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wlcore +wlcore_sdio +wlcore_spi +wm831x_backup +wm831x_bl +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x-ts +wm831x_wdt +wm8350-hwmon +wm8350_power +wm8350-regulator +wm8400-regulator +wm8739 +wm8775 +wm8994-regulator +wm97xx-ts +wp512 +x25 +x25_asy +xc4000 +xc5000 +xcbc +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_ro +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_ipcomp +xfrm_user +xfs +xgmac +xilinx_uartps +xor +xpad +x_tables +xt_addrtype +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNSECMARK +xt_conntrack +xt_cpu +xt_CT +xt_dccp +xt_devgroup +xt_dscp +xt_DSCP +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_HMARK +xt_IDLETIMER +xt_iprange +xt_ipvs +xtkbd +xt_LED +xt_length +xt_limit +xt_LOG +xt_mac +xt_mark +xt_multiport +xt_nfacct +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_RATEEST +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_TCPOPTSTRIP +xt_tcpudp +xt_TEE +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xz_dec_test +yam +yealink +yurex +zaurus +zd1201 +zd1211rw +zhenhua +zio +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr364xx --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armhf/highbank +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armhf/highbank @@ -0,0 +1,9899 @@ +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_free_64k +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0x00000000 gf128mul_x_ble +EXPORT_SYMBOL crypto/xor 0x00000000 xor_blocks +EXPORT_SYMBOL drivers/bcma/bcma 0x00000000 bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x00000000 drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x00000000 drbd_disk_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x00000000 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x00000000 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x00000000 pi_write_regr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00000000 ipmi_validate_addr +EXPORT_SYMBOL drivers/char/nvram 0x00000000 __nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x00000000 __nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x00000000 __nvram_write_byte +EXPORT_SYMBOL drivers/char/nvram 0x00000000 nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x00000000 nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x00000000 nvram_write_byte +EXPORT_SYMBOL drivers/dma/dw_dmac 0x00000000 dw_dma_cyclic_free +EXPORT_SYMBOL drivers/dma/dw_dmac 0x00000000 dw_dma_cyclic_prep +EXPORT_SYMBOL drivers/dma/dw_dmac 0x00000000 dw_dma_cyclic_start +EXPORT_SYMBOL drivers/dma/dw_dmac 0x00000000 dw_dma_cyclic_stop +EXPORT_SYMBOL drivers/dma/dw_dmac 0x00000000 dw_dma_get_dst_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0x00000000 dw_dma_get_src_addr +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_buffer_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_format_vert_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_add_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_lookup_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_remove_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00000000 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x00000000 drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x00000000 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x00000000 drm_usb_init +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x00000000 vid_from_reg +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x00000000 vid_which_vrm +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x00000000 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x00000000 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x00000000 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x00000000 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x00000000 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x00000000 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x00000000 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x00000000 iio_kfifo_free +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00000000 gameport_unregister_port +EXPORT_SYMBOL drivers/input/input-polldev 0x00000000 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x00000000 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x00000000 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x00000000 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x00000000 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x00000000 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x00000000 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x00000000 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0x00000000 ad714x_remove +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x00000000 cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x00000000 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x00000000 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x00000000 cma3000_suspend +EXPORT_SYMBOL drivers/input/sparse-keymap 0x00000000 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x00000000 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x00000000 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x00000000 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x00000000 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x00000000 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x00000000 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x00000000 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x00000000 ad7879_remove +EXPORT_SYMBOL drivers/md/dm-log 0x00000000 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x00000000 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x00000000 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x00000000 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x00000000 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x00000000 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x00000000 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x00000000 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x00000000 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x00000000 dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x00000000 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x00000000 fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x00000000 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x00000000 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x00000000 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x00000000 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x00000000 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0x00000000 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x00000000 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x00000000 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x00000000 tua9001_attach +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x00000000 tuner_count +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x00000000 tuners +EXPORT_SYMBOL drivers/media/common/tuners/tuner-xc2028 0x00000000 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x00000000 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x00000000 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x00000000 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00000000 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00000000 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00000000 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00000000 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00000000 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00000000 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00000000 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00000000 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x00000000 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x00000000 rc_map_af9005_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x00000000 rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x00000000 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x00000000 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x00000000 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x00000000 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x00000000 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x00000000 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x00000000 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x00000000 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x00000000 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x00000000 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x00000000 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x00000000 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x00000000 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x00000000 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x00000000 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x00000000 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x00000000 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x00000000 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x00000000 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x00000000 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x00000000 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x00000000 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00000000 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x00000000 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x00000000 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x00000000 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x00000000 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x00000000 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x00000000 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x00000000 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x00000000 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x00000000 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x00000000 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x00000000 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00000000 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00000000 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00000000 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00000000 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00000000 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00000000 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00000000 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00000000 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00000000 systime +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x00000000 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x00000000 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0x00000000 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x00000000 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x00000000 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x00000000 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/hd29l2 0x00000000 hd29l2_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x00000000 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x00000000 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x00000000 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x00000000 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x00000000 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x00000000 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x00000000 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x00000000 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x00000000 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x00000000 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gl5 0x00000000 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x00000000 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x00000000 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x00000000 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x00000000 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x00000000 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x00000000 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x00000000 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x00000000 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x00000000 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x00000000 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x00000000 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x00000000 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x00000000 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x00000000 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x00000000 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x00000000 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x00000000 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x00000000 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x00000000 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1432 0x00000000 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x00000000 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x00000000 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x00000000 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x00000000 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x00000000 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x00000000 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x00000000 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x00000000 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x00000000 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x00000000 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x00000000 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x00000000 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x00000000 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x00000000 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x00000000 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x00000000 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x00000000 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x00000000 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x00000000 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x00000000 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x00000000 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x00000000 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x00000000 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x00000000 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x00000000 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x00000000 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x00000000 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x00000000 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x00000000 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x00000000 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x00000000 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x00000000 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x00000000 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x00000000 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x00000000 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x00000000 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x00000000 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/rc-core 0x00000000 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x00000000 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x00000000 cx2341x_update +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x00000000 gspca_suspend +EXPORT_SYMBOL drivers/media/video/soc_camera 0x00000000 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x00000000 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x00000000 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x00000000 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x00000000 soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x00000000 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x00000000 soc_mbus_bytes_per_line +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x00000000 soc_mbus_config_compatible +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x00000000 soc_mbus_find_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x00000000 soc_mbus_get_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x00000000 soc_mbus_image_size +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x00000000 soc_mbus_samples_per_pixel +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0x00000000 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x00000000 tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x00000000 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x00000000 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x00000000 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x00000000 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x00000000 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x00000000 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x00000000 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x00000000 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x00000000 video_usercopy +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00000000 memstick_unregister_driver +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x00000000 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x00000000 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/tps6105x 0x00000000 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0x00000000 tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0x00000000 tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x00000000 tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x00000000 pwm_config +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x00000000 pwm_disable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x00000000 pwm_enable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x00000000 pwm_free +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x00000000 pwm_request +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x00000000 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x00000000 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x00000000 altera_init +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x00000000 __pwm_channel_onoff +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x00000000 pwm_channel_alloc +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x00000000 pwm_channel_free +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x00000000 pwm_channel_handler +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x00000000 pwm_clk_alloc +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x00000000 pwm_clk_free +EXPORT_SYMBOL drivers/misc/c2port/core 0x00000000 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x00000000 c2port_device_unregister +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x00000000 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x00000000 dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x00000000 dw_mci_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x00000000 dw_mci_suspend +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x00000000 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x00000000 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x00000000 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x00000000 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x00000000 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x00000000 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x00000000 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x00000000 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x00000000 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x00000000 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x00000000 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0x00000000 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00000000 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00000000 nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00000000 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00000000 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00000000 nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00000000 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0x00000000 nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x00000000 nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x00000000 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x00000000 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x00000000 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x00000000 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x00000000 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x00000000 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x00000000 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x00000000 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x00000000 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x00000000 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x00000000 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x00000000 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x00000000 onenand_scan_bbt +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x00000000 sirdev_write_complete +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x00000000 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x00000000 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x00000000 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x00000000 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x00000000 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x00000000 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x00000000 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x00000000 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00000000 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00000000 ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00000000 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00000000 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00000000 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00000000 ath9k_cmn_update_ichannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00000000 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00000000 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x00000000 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x00000000 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x00000000 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00000000 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00000000 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00000000 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x00000000 parport_write +EXPORT_SYMBOL drivers/parport/parport_pc 0x00000000 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x00000000 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pps/pps_core 0x00000000 pps_event +EXPORT_SYMBOL drivers/pps/pps_core 0x00000000 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x00000000 pps_unregister_source +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00000000 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x00000000 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/raid_class 0x00000000 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x00000000 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x00000000 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00000000 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00000000 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x00000000 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x00000000 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x00000000 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x00000000 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x00000000 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x00000000 spi_schedule_dv_device +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x00000000 ssb_set_devtypedata +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x00000000 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x00000000 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x00000000 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x00000000 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x00000000 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x00000000 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x00000000 phone_register_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x00000000 phone_unregister_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0x00000000 transport_wait_for_tasks +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_do_pm +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_do_set_termios +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_register_8250_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_register_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_resume_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_set_isa_configurator +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_suspend_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x00000000 serial8250_unregister_port +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x00000000 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x00000000 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x00000000 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x00000000 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x00000000 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x00000000 genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x00000000 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x00000000 lcd_device_unregister +EXPORT_SYMBOL drivers/video/cfbcopyarea 0x00000000 cfb_copyarea +EXPORT_SYMBOL drivers/video/cfbfillrect 0x00000000 cfb_fillrect +EXPORT_SYMBOL drivers/video/cfbimgblt 0x00000000 cfb_imageblit +EXPORT_SYMBOL drivers/video/output 0x00000000 video_output_register +EXPORT_SYMBOL drivers/video/output 0x00000000 video_output_unregister +EXPORT_SYMBOL drivers/video/syscopyarea 0x00000000 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x00000000 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x00000000 sys_imageblit +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x00000000 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x00000000 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x00000000 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x00000000 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x00000000 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x00000000 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x00000000 w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x00000000 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x00000000 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x00000000 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/wire 0x00000000 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x00000000 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x00000000 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x00000000 w1_unregister_family +EXPORT_SYMBOL fs/btrfs/btrfs 0x00000000 ulist_add +EXPORT_SYMBOL fs/btrfs/btrfs 0x00000000 ulist_alloc +EXPORT_SYMBOL fs/btrfs/btrfs 0x00000000 ulist_fini +EXPORT_SYMBOL fs/btrfs/btrfs 0x00000000 ulist_free +EXPORT_SYMBOL fs/btrfs/btrfs 0x00000000 ulist_init +EXPORT_SYMBOL fs/btrfs/btrfs 0x00000000 ulist_next +EXPORT_SYMBOL fs/btrfs/btrfs 0x00000000 ulist_reinit +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x00000000 configfs_unregister_subsystem +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x00000000 fscache_withdraw_cache +EXPORT_SYMBOL fs/nfsd/nfsd 0x00000000 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/nfsd/nfsd 0x00000000 nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x00000000 nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x00000000 nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x00000000 nfs4_acl_write_who +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x00000000 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x00000000 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x00000000 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x00000000 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x00000000 qtree_write_dquot +EXPORT_SYMBOL lib/cordic 0x00000000 cordic_calc_iq +EXPORT_SYMBOL lib/crc-ccitt 0x00000000 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x00000000 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x00000000 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0x00000000 crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x00000000 crc7 +EXPORT_SYMBOL lib/crc7 0x00000000 crc7_syndrome_table +EXPORT_SYMBOL lib/crc8 0x00000000 crc8 +EXPORT_SYMBOL lib/crc8 0x00000000 crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0x00000000 crc8_populate_msb +EXPORT_SYMBOL lib/libcrc32c 0x00000000 crc32c +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_changed +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_create +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_del +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_find +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_get +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_put +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_reset +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_set +EXPORT_SYMBOL lib/lru_cache 0x00000000 lc_try_get +EXPORT_SYMBOL lib/raid6/raid6_pq 0x00000000 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0x00000000 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0x00000000 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x00000000 raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0x00000000 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x00000000 raid6_vgfmul +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x00000000 zlib_deflate +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x00000000 zlib_deflateEnd +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x00000000 zlib_deflateInit2 +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x00000000 zlib_deflateReset +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x00000000 zlib_deflate_workspacesize +EXPORT_SYMBOL net/802/p8022 0x00000000 register_8022_client +EXPORT_SYMBOL net/802/p8022 0x00000000 unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x00000000 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0x00000000 make_8023_client +EXPORT_SYMBOL net/802/psnap 0x00000000 register_snap_client +EXPORT_SYMBOL net/802/psnap 0x00000000 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x00000000 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x00000000 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x00000000 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x00000000 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x00000000 v9fs_unregister_trans +EXPORT_SYMBOL net/appletalk/appletalk 0x00000000 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x00000000 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x00000000 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x00000000 atrtr_get_dev +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_charge +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0x00000000 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x00000000 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x00000000 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x00000000 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x00000000 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x00000000 vcc_hash +EXPORT_SYMBOL net/atm/atm 0x00000000 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x00000000 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x00000000 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x00000000 vcc_sklist_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00000000 hci_unregister_dev +EXPORT_SYMBOL net/bridge/bridge 0x00000000 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x00000000 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x00000000 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x00000000 ebt_unregister_table +EXPORT_SYMBOL net/caif/caif 0x00000000 caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x00000000 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x00000000 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x00000000 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x00000000 caif_free_client +EXPORT_SYMBOL net/caif/caif 0x00000000 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x00000000 cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x00000000 cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x00000000 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x00000000 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x00000000 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x00000000 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x00000000 cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0x00000000 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x00000000 get_cfcnfg +EXPORT_SYMBOL net/can/can 0x00000000 can_ioctl +EXPORT_SYMBOL net/can/can 0x00000000 can_proto_register +EXPORT_SYMBOL net/can/can 0x00000000 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x00000000 can_rx_register +EXPORT_SYMBOL net/can/can 0x00000000 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x00000000 can_send +EXPORT_SYMBOL net/ceph/libceph 0x00000000 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_msg_last_put +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_zero_page_vector_range +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x00000000 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00000000 wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x00000000 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x00000000 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x00000000 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x00000000 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x00000000 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x00000000 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00000000 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x00000000 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x00000000 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x00000000 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x00000000 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x00000000 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x00000000 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/tunnel6 0x00000000 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x00000000 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x00000000 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x00000000 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x00000000 ircomm_open +EXPORT_SYMBOL net/irda/irda 0x00000000 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x00000000 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x00000000 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_find +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_new +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x00000000 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x00000000 irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x00000000 irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x00000000 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x00000000 irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x00000000 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x00000000 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x00000000 irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x00000000 iriap_close +EXPORT_SYMBOL net/irda/irda 0x00000000 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x00000000 iriap_open +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_new_object +EXPORT_SYMBOL net/irda/irda 0x00000000 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0x00000000 irlap_close +EXPORT_SYMBOL net/irda/irda 0x00000000 irlap_open +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x00000000 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x00000000 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x00000000 proc_irda +EXPORT_SYMBOL net/l2tp/l2tp_core 0x00000000 l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x00000000 lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x00000000 llc_set_station_handler +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x00000000 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x00000000 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x00000000 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x00000000 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x00000000 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x00000000 xt_unregister_targets +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x00000000 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/nci/nci 0x00000000 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x00000000 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x00000000 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x00000000 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x00000000 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0x00000000 nci_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x00000000 nfc_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x00000000 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x00000000 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x00000000 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x00000000 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x00000000 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x00000000 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x00000000 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x00000000 pn_sock_unhash +EXPORT_SYMBOL net/rds/rds 0x00000000 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x00000000 rxrpc_kernel_send_data +EXPORT_SYMBOL net/sctp/sctp 0x00000000 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x00000000 svc_pool_stats_open +EXPORT_SYMBOL net/wimax/wimax 0x00000000 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x00000000 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x00000000 wiphy_unregister +EXPORT_SYMBOL net/wireless/lib80211 0x00000000 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x00000000 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x00000000 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x00000000 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x00000000 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x00000000 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x00000000 print_ssid +EXPORT_SYMBOL sound/ac97_bus 0x00000000 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x00000000 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00000000 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x00000000 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x00000000 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x00000000 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x00000000 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x00000000 snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x00000000 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x00000000 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x00000000 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x00000000 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x00000000 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x00000000 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x00000000 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_cards +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_major +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x00000000 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd-hwdep 0x00000000 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x00000000 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x00000000 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x00000000 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x00000000 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x00000000 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x00000000 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x00000000 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x00000000 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00000000 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x00000000 snd_timer_stop +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x00000000 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x00000000 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x00000000 snd_mpu401_uart_new +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00000000 snd_ac97_write_cache +EXPORT_SYMBOL sound/soundcore 0x00000000 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x00000000 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x00000000 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x00000000 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x00000000 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x00000000 sound_class +EXPORT_SYMBOL sound/soundcore 0x00000000 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x00000000 unregister_sound_midi +EXPORT_SYMBOL sound/soundcore 0x00000000 unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x00000000 unregister_sound_special +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x00000000 snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x00000000 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x00000000 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x00000000 snd_usbmidi_input_stop +EXPORT_SYMBOL vmlinux 0x00000000 I_BDEV +EXPORT_SYMBOL vmlinux 0x00000000 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x00000000 ___ratelimit +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_unwind_cpp_pr0 +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_unwind_cpp_pr1 +EXPORT_SYMBOL vmlinux 0x00000000 __aeabi_unwind_cpp_pr2 +EXPORT_SYMBOL vmlinux 0x00000000 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x00000000 __alloc_skb +EXPORT_SYMBOL vmlinux 0x00000000 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x00000000 __arm_ioremap +EXPORT_SYMBOL vmlinux 0x00000000 __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x00000000 __arm_iounmap +EXPORT_SYMBOL vmlinux 0x00000000 __ashldi3 +EXPORT_SYMBOL vmlinux 0x00000000 __ashrdi3 +EXPORT_SYMBOL vmlinux 0x00000000 __bad_xchg +EXPORT_SYMBOL vmlinux 0x00000000 __bdevname +EXPORT_SYMBOL vmlinux 0x00000000 __bforget +EXPORT_SYMBOL vmlinux 0x00000000 __bio_clone +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_and +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_full +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_or +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_parse +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x00000000 __bitmap_xor +EXPORT_SYMBOL vmlinux 0x00000000 __blk_end_request +EXPORT_SYMBOL vmlinux 0x00000000 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x00000000 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x00000000 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0x00000000 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x00000000 __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x00000000 __block_write_begin +EXPORT_SYMBOL vmlinux 0x00000000 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x00000000 __bread +EXPORT_SYMBOL vmlinux 0x00000000 __breadahead +EXPORT_SYMBOL vmlinux 0x00000000 __break_lease +EXPORT_SYMBOL vmlinux 0x00000000 __brelse +EXPORT_SYMBOL vmlinux 0x00000000 __cap_empty_set +EXPORT_SYMBOL vmlinux 0x00000000 __check_region +EXPORT_SYMBOL vmlinux 0x00000000 __clear_user +EXPORT_SYMBOL vmlinux 0x00000000 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x00000000 __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x00000000 __const_udelay +EXPORT_SYMBOL vmlinux 0x00000000 __copy_from_user +EXPORT_SYMBOL vmlinux 0x00000000 __copy_to_user +EXPORT_SYMBOL vmlinux 0x00000000 __crc32c_le +EXPORT_SYMBOL vmlinux 0x00000000 __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x00000000 __d_drop +EXPORT_SYMBOL vmlinux 0x00000000 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x00000000 __destroy_inode +EXPORT_SYMBOL vmlinux 0x00000000 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x00000000 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x00000000 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x00000000 __dev_printk +EXPORT_SYMBOL vmlinux 0x00000000 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x00000000 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x00000000 __devm_release_region +EXPORT_SYMBOL vmlinux 0x00000000 __devm_request_region +EXPORT_SYMBOL vmlinux 0x00000000 __div0 +EXPORT_SYMBOL vmlinux 0x00000000 __div64_32 +EXPORT_SYMBOL vmlinux 0x00000000 __divsi3 +EXPORT_SYMBOL vmlinux 0x00000000 __do_div64 +EXPORT_SYMBOL vmlinux 0x00000000 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x00000000 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x00000000 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x00000000 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x00000000 __dst_free +EXPORT_SYMBOL vmlinux 0x00000000 __elv_add_request +EXPORT_SYMBOL vmlinux 0x00000000 __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x00000000 __f_setown +EXPORT_SYMBOL vmlinux 0x00000000 __find_get_block +EXPORT_SYMBOL vmlinux 0x00000000 __first_cpu +EXPORT_SYMBOL vmlinux 0x00000000 __free_pages +EXPORT_SYMBOL vmlinux 0x00000000 __frontswap_init +EXPORT_SYMBOL vmlinux 0x00000000 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0x00000000 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x00000000 __frontswap_load +EXPORT_SYMBOL vmlinux 0x00000000 __frontswap_store +EXPORT_SYMBOL vmlinux 0x00000000 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x00000000 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x00000000 __get_free_pages +EXPORT_SYMBOL vmlinux 0x00000000 __get_page_tail +EXPORT_SYMBOL vmlinux 0x00000000 __get_user_1 +EXPORT_SYMBOL vmlinux 0x00000000 __get_user_2 +EXPORT_SYMBOL vmlinux 0x00000000 __get_user_4 +EXPORT_SYMBOL vmlinux 0x00000000 __get_user_pages +EXPORT_SYMBOL vmlinux 0x00000000 __getblk +EXPORT_SYMBOL vmlinux 0x00000000 __gnu_mcount_nc +EXPORT_SYMBOL vmlinux 0x00000000 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x00000000 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x00000000 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0x00000000 __hw_addr_init +EXPORT_SYMBOL vmlinux 0x00000000 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x00000000 __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x00000000 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x00000000 __inet6_hash +EXPORT_SYMBOL vmlinux 0x00000000 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x00000000 __init_rwsem +EXPORT_SYMBOL vmlinux 0x00000000 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x00000000 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x00000000 __invalidate_device +EXPORT_SYMBOL vmlinux 0x00000000 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x00000000 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x00000000 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x00000000 __irq_regs +EXPORT_SYMBOL vmlinux 0x00000000 __kernel_param_lock +EXPORT_SYMBOL vmlinux 0x00000000 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_free +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_in +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_init +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_out +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x00000000 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x00000000 __kfree_skb +EXPORT_SYMBOL vmlinux 0x00000000 __kmalloc +EXPORT_SYMBOL vmlinux 0x00000000 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x00000000 __krealloc +EXPORT_SYMBOL vmlinux 0x00000000 __kunmap_atomic +EXPORT_SYMBOL vmlinux 0x00000000 __lock_buffer +EXPORT_SYMBOL vmlinux 0x00000000 __lock_page +EXPORT_SYMBOL vmlinux 0x00000000 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x00000000 __lru_cache_add +EXPORT_SYMBOL vmlinux 0x00000000 __lshrdi3 +EXPORT_SYMBOL vmlinux 0x00000000 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x00000000 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x00000000 __memzero +EXPORT_SYMBOL vmlinux 0x00000000 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x00000000 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x00000000 __modsi3 +EXPORT_SYMBOL vmlinux 0x00000000 __module_get +EXPORT_SYMBOL vmlinux 0x00000000 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x00000000 __muldi3 +EXPORT_SYMBOL vmlinux 0x00000000 __mutex_init +EXPORT_SYMBOL vmlinux 0x00000000 __napi_complete +EXPORT_SYMBOL vmlinux 0x00000000 __napi_schedule +EXPORT_SYMBOL vmlinux 0x00000000 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x00000000 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x00000000 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x00000000 __netdev_printk +EXPORT_SYMBOL vmlinux 0x00000000 __netif_schedule +EXPORT_SYMBOL vmlinux 0x00000000 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x00000000 __next_cpu +EXPORT_SYMBOL vmlinux 0x00000000 __nla_put +EXPORT_SYMBOL vmlinux 0x00000000 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x00000000 __nla_reserve +EXPORT_SYMBOL vmlinux 0x00000000 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x00000000 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x00000000 __page_symlink +EXPORT_SYMBOL vmlinux 0x00000000 __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x00000000 __pagevec_release +EXPORT_SYMBOL vmlinux 0x00000000 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x00000000 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x00000000 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x00000000 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x00000000 __print_symbol +EXPORT_SYMBOL vmlinux 0x00000000 __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x00000000 __ps2_command +EXPORT_SYMBOL vmlinux 0x00000000 __pskb_copy +EXPORT_SYMBOL vmlinux 0x00000000 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x00000000 __put_cred +EXPORT_SYMBOL vmlinux 0x00000000 __put_user_1 +EXPORT_SYMBOL vmlinux 0x00000000 __put_user_2 +EXPORT_SYMBOL vmlinux 0x00000000 __put_user_4 +EXPORT_SYMBOL vmlinux 0x00000000 __put_user_8 +EXPORT_SYMBOL vmlinux 0x00000000 __pv_phys_offset +EXPORT_SYMBOL vmlinux 0x00000000 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x00000000 __quota_error +EXPORT_SYMBOL vmlinux 0x00000000 __raw_readsb +EXPORT_SYMBOL vmlinux 0x00000000 __raw_readsl +EXPORT_SYMBOL vmlinux 0x00000000 __raw_readsw +EXPORT_SYMBOL vmlinux 0x00000000 __raw_writesb +EXPORT_SYMBOL vmlinux 0x00000000 __raw_writesl +EXPORT_SYMBOL vmlinux 0x00000000 __raw_writesw +EXPORT_SYMBOL vmlinux 0x00000000 __readwrite_bug +EXPORT_SYMBOL vmlinux 0x00000000 __refrigerator +EXPORT_SYMBOL vmlinux 0x00000000 __register_binfmt +EXPORT_SYMBOL vmlinux 0x00000000 __register_chrdev +EXPORT_SYMBOL vmlinux 0x00000000 __release_region +EXPORT_SYMBOL vmlinux 0x00000000 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x00000000 __request_module +EXPORT_SYMBOL vmlinux 0x00000000 __request_region +EXPORT_SYMBOL vmlinux 0x00000000 __rta_fill +EXPORT_SYMBOL vmlinux 0x00000000 __scm_destroy +EXPORT_SYMBOL vmlinux 0x00000000 __scm_send +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_print_command +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x00000000 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x00000000 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x00000000 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x00000000 __seq_open_private +EXPORT_SYMBOL vmlinux 0x00000000 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 __serio_register_port +EXPORT_SYMBOL vmlinux 0x00000000 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x00000000 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x00000000 __set_personality +EXPORT_SYMBOL vmlinux 0x00000000 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x00000000 __sg_free_table +EXPORT_SYMBOL vmlinux 0x00000000 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x00000000 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x00000000 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x00000000 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x00000000 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x00000000 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x00000000 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x00000000 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x00000000 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x00000000 __sock_create +EXPORT_SYMBOL vmlinux 0x00000000 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x00000000 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x00000000 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x00000000 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x00000000 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x00000000 __strnlen_user +EXPORT_SYMBOL vmlinux 0x00000000 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x00000000 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x00000000 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x00000000 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0x00000000 __symbol_put +EXPORT_SYMBOL vmlinux 0x00000000 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x00000000 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x00000000 __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x00000000 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0x00000000 __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x00000000 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x00000000 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x00000000 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x00000000 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x00000000 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x00000000 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x00000000 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x00000000 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x00000000 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x00000000 __udelay +EXPORT_SYMBOL vmlinux 0x00000000 __udivsi3 +EXPORT_SYMBOL vmlinux 0x00000000 __umodsi3 +EXPORT_SYMBOL vmlinux 0x00000000 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x00000000 __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x00000000 __vmalloc +EXPORT_SYMBOL vmlinux 0x00000000 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x00000000 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x00000000 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x00000000 __wake_up +EXPORT_SYMBOL vmlinux 0x00000000 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x00000000 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x00000000 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x00000000 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x00000000 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x00000000 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x00000000 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x00000000 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x00000000 _change_bit +EXPORT_SYMBOL vmlinux 0x00000000 _clear_bit +EXPORT_SYMBOL vmlinux 0x00000000 _cond_resched +EXPORT_SYMBOL vmlinux 0x00000000 _ctype +EXPORT_SYMBOL vmlinux 0x00000000 _dev_info +EXPORT_SYMBOL vmlinux 0x00000000 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x00000000 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0x00000000 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x00000000 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x00000000 _kstrtol +EXPORT_SYMBOL vmlinux 0x00000000 _kstrtoul +EXPORT_SYMBOL vmlinux 0x00000000 _local_bh_enable +EXPORT_SYMBOL vmlinux 0x00000000 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x00000000 _memcpy_toio +EXPORT_SYMBOL vmlinux 0x00000000 _memset_io +EXPORT_SYMBOL vmlinux 0x00000000 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x00000000 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x00000000 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x00000000 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x00000000 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x00000000 _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x00000000 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x00000000 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x00000000 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x00000000 _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x00000000 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x00000000 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x00000000 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x00000000 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x00000000 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x00000000 _set_bit +EXPORT_SYMBOL vmlinux 0x00000000 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0x00000000 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x00000000 _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x00000000 abort +EXPORT_SYMBOL vmlinux 0x00000000 abort_creds +EXPORT_SYMBOL vmlinux 0x00000000 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x00000000 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x00000000 account_page_redirty +EXPORT_SYMBOL vmlinux 0x00000000 account_page_writeback +EXPORT_SYMBOL vmlinux 0x00000000 add_device_randomness +EXPORT_SYMBOL vmlinux 0x00000000 add_disk +EXPORT_SYMBOL vmlinux 0x00000000 add_taint +EXPORT_SYMBOL vmlinux 0x00000000 add_timer +EXPORT_SYMBOL vmlinux 0x00000000 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x00000000 add_wait_queue +EXPORT_SYMBOL vmlinux 0x00000000 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x00000000 address_space_init_once +EXPORT_SYMBOL vmlinux 0x00000000 adjust_resource +EXPORT_SYMBOL vmlinux 0x00000000 aio_complete +EXPORT_SYMBOL vmlinux 0x00000000 aio_put_req +EXPORT_SYMBOL vmlinux 0x00000000 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x00000000 alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x00000000 alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x00000000 alloc_disk +EXPORT_SYMBOL vmlinux 0x00000000 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x00000000 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x00000000 alloc_file +EXPORT_SYMBOL vmlinux 0x00000000 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x00000000 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x00000000 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x00000000 allocate_resource +EXPORT_SYMBOL vmlinux 0x00000000 allow_signal +EXPORT_SYMBOL vmlinux 0x00000000 amba_device_register +EXPORT_SYMBOL vmlinux 0x00000000 amba_device_unregister +EXPORT_SYMBOL vmlinux 0x00000000 amba_driver_register +EXPORT_SYMBOL vmlinux 0x00000000 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x00000000 amba_find_device +EXPORT_SYMBOL vmlinux 0x00000000 amba_release_regions +EXPORT_SYMBOL vmlinux 0x00000000 amba_request_regions +EXPORT_SYMBOL vmlinux 0x00000000 argv_free +EXPORT_SYMBOL vmlinux 0x00000000 argv_split +EXPORT_SYMBOL vmlinux 0x00000000 arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0x00000000 arm_dma_ops +EXPORT_SYMBOL vmlinux 0x00000000 arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0x00000000 arp_create +EXPORT_SYMBOL vmlinux 0x00000000 arp_find +EXPORT_SYMBOL vmlinux 0x00000000 arp_invalidate +EXPORT_SYMBOL vmlinux 0x00000000 arp_send +EXPORT_SYMBOL vmlinux 0x00000000 arp_tbl +EXPORT_SYMBOL vmlinux 0x00000000 arp_xmit +EXPORT_SYMBOL vmlinux 0x00000000 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x00000000 ata_link_printk +EXPORT_SYMBOL vmlinux 0x00000000 ata_port_printk +EXPORT_SYMBOL vmlinux 0x00000000 ata_print_version +EXPORT_SYMBOL vmlinux 0x00000000 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x00000000 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x00000000 audit_log +EXPORT_SYMBOL vmlinux 0x00000000 audit_log_end +EXPORT_SYMBOL vmlinux 0x00000000 audit_log_format +EXPORT_SYMBOL vmlinux 0x00000000 audit_log_secctx +EXPORT_SYMBOL vmlinux 0x00000000 audit_log_start +EXPORT_SYMBOL vmlinux 0x00000000 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x00000000 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0x00000000 avenrun +EXPORT_SYMBOL vmlinux 0x00000000 backlight_device_register +EXPORT_SYMBOL vmlinux 0x00000000 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x00000000 backlight_force_update +EXPORT_SYMBOL vmlinux 0x00000000 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x00000000 bcd2bin +EXPORT_SYMBOL vmlinux 0x00000000 bd_set_size +EXPORT_SYMBOL vmlinux 0x00000000 bdev_read_only +EXPORT_SYMBOL vmlinux 0x00000000 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x00000000 bdevname +EXPORT_SYMBOL vmlinux 0x00000000 bdget +EXPORT_SYMBOL vmlinux 0x00000000 bdget_disk +EXPORT_SYMBOL vmlinux 0x00000000 bdi_destroy +EXPORT_SYMBOL vmlinux 0x00000000 bdi_init +EXPORT_SYMBOL vmlinux 0x00000000 bdi_register +EXPORT_SYMBOL vmlinux 0x00000000 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x00000000 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x00000000 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x00000000 bdi_unregister +EXPORT_SYMBOL vmlinux 0x00000000 bdput +EXPORT_SYMBOL vmlinux 0x00000000 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x00000000 bh_submit_read +EXPORT_SYMBOL vmlinux 0x00000000 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x00000000 bin2bcd +EXPORT_SYMBOL vmlinux 0x00000000 bio_add_page +EXPORT_SYMBOL vmlinux 0x00000000 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x00000000 bio_alloc +EXPORT_SYMBOL vmlinux 0x00000000 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x00000000 bio_clone +EXPORT_SYMBOL vmlinux 0x00000000 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x00000000 bio_copy_user +EXPORT_SYMBOL vmlinux 0x00000000 bio_endio +EXPORT_SYMBOL vmlinux 0x00000000 bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0x00000000 bio_free +EXPORT_SYMBOL vmlinux 0x00000000 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x00000000 bio_init +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x00000000 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x00000000 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x00000000 bio_map_kern +EXPORT_SYMBOL vmlinux 0x00000000 bio_map_user +EXPORT_SYMBOL vmlinux 0x00000000 bio_pair_release +EXPORT_SYMBOL vmlinux 0x00000000 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x00000000 bio_put +EXPORT_SYMBOL vmlinux 0x00000000 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x00000000 bio_split +EXPORT_SYMBOL vmlinux 0x00000000 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x00000000 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x00000000 bioset_create +EXPORT_SYMBOL vmlinux 0x00000000 bioset_free +EXPORT_SYMBOL vmlinux 0x00000000 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x00000000 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x00000000 bit_waitqueue +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_bitremap +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_clear +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_fold +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_onto +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_remap +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_set +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x00000000 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x00000000 bitrev16 +EXPORT_SYMBOL vmlinux 0x00000000 bitrev32 +EXPORT_SYMBOL vmlinux 0x00000000 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x00000000 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_complete_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_delay_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x00000000 blk_end_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x00000000 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x00000000 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x00000000 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_finish_plug +EXPORT_SYMBOL vmlinux 0x00000000 blk_free_tags +EXPORT_SYMBOL vmlinux 0x00000000 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x00000000 blk_get_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_get_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_init_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x00000000 blk_init_tags +EXPORT_SYMBOL vmlinux 0x00000000 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x00000000 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x00000000 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x00000000 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x00000000 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x00000000 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x00000000 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0x00000000 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0x00000000 blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x00000000 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x00000000 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x00000000 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x00000000 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x00000000 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x00000000 blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x00000000 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x00000000 blk_make_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x00000000 blk_peek_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_put_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_put_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x00000000 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x00000000 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x00000000 blk_register_region +EXPORT_SYMBOL vmlinux 0x00000000 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_init +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x00000000 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x00000000 blk_run_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x00000000 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0x00000000 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0x00000000 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x00000000 blk_start_plug +EXPORT_SYMBOL vmlinux 0x00000000 blk_start_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_start_request +EXPORT_SYMBOL vmlinux 0x00000000 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x00000000 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x00000000 blk_verify_command +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_get +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x00000000 blkdev_put +EXPORT_SYMBOL vmlinux 0x00000000 block_all_signals +EXPORT_SYMBOL vmlinux 0x00000000 block_commit_write +EXPORT_SYMBOL vmlinux 0x00000000 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x00000000 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x00000000 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x00000000 block_read_full_page +EXPORT_SYMBOL vmlinux 0x00000000 block_truncate_page +EXPORT_SYMBOL vmlinux 0x00000000 block_write_begin +EXPORT_SYMBOL vmlinux 0x00000000 block_write_end +EXPORT_SYMBOL vmlinux 0x00000000 block_write_full_page +EXPORT_SYMBOL vmlinux 0x00000000 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x00000000 bmap +EXPORT_SYMBOL vmlinux 0x00000000 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0x00000000 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x00000000 brioctl_set +EXPORT_SYMBOL vmlinux 0x00000000 bsearch +EXPORT_SYMBOL vmlinux 0x00000000 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x00000000 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x00000000 build_skb +EXPORT_SYMBOL vmlinux 0x00000000 cacheid +EXPORT_SYMBOL vmlinux 0x00000000 cad_pid +EXPORT_SYMBOL vmlinux 0x00000000 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x00000000 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x00000000 can_do_mlock +EXPORT_SYMBOL vmlinux 0x00000000 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x00000000 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x00000000 cap_mmap_addr +EXPORT_SYMBOL vmlinux 0x00000000 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x00000000 capable +EXPORT_SYMBOL vmlinux 0x00000000 cdev_add +EXPORT_SYMBOL vmlinux 0x00000000 cdev_alloc +EXPORT_SYMBOL vmlinux 0x00000000 cdev_del +EXPORT_SYMBOL vmlinux 0x00000000 cdev_init +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_open +EXPORT_SYMBOL vmlinux 0x00000000 cdrom_release +EXPORT_SYMBOL vmlinux 0x00000000 check_disk_change +EXPORT_SYMBOL vmlinux 0x00000000 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x00000000 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x00000000 clear_inode +EXPORT_SYMBOL vmlinux 0x00000000 clear_nlink +EXPORT_SYMBOL vmlinux 0x00000000 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x00000000 clk_add_alias +EXPORT_SYMBOL vmlinux 0x00000000 clk_get +EXPORT_SYMBOL vmlinux 0x00000000 clk_get_sys +EXPORT_SYMBOL vmlinux 0x00000000 clk_put +EXPORT_SYMBOL vmlinux 0x00000000 clk_register_clkdevs +EXPORT_SYMBOL vmlinux 0x00000000 clkdev_add +EXPORT_SYMBOL vmlinux 0x00000000 clkdev_alloc +EXPORT_SYMBOL vmlinux 0x00000000 clkdev_drop +EXPORT_SYMBOL vmlinux 0x00000000 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x00000000 clocksource_register +EXPORT_SYMBOL vmlinux 0x00000000 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x00000000 color_table +EXPORT_SYMBOL vmlinux 0x00000000 commit_creds +EXPORT_SYMBOL vmlinux 0x00000000 complete +EXPORT_SYMBOL vmlinux 0x00000000 complete_all +EXPORT_SYMBOL vmlinux 0x00000000 complete_and_exit +EXPORT_SYMBOL vmlinux 0x00000000 complete_request_key +EXPORT_SYMBOL vmlinux 0x00000000 completion_done +EXPORT_SYMBOL vmlinux 0x00000000 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x00000000 con_is_bound +EXPORT_SYMBOL vmlinux 0x00000000 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x00000000 congestion_wait +EXPORT_SYMBOL vmlinux 0x00000000 console_blank_hook +EXPORT_SYMBOL vmlinux 0x00000000 console_blanked +EXPORT_SYMBOL vmlinux 0x00000000 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0x00000000 console_lock +EXPORT_SYMBOL vmlinux 0x00000000 console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x00000000 console_start +EXPORT_SYMBOL vmlinux 0x00000000 console_stop +EXPORT_SYMBOL vmlinux 0x00000000 console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x00000000 console_trylock +EXPORT_SYMBOL vmlinux 0x00000000 console_unlock +EXPORT_SYMBOL vmlinux 0x00000000 consume_skb +EXPORT_SYMBOL vmlinux 0x00000000 cont_write_begin +EXPORT_SYMBOL vmlinux 0x00000000 contig_page_data +EXPORT_SYMBOL vmlinux 0x00000000 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0x00000000 copy_page +EXPORT_SYMBOL vmlinux 0x00000000 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x00000000 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x00000000 cpu_all_bits +EXPORT_SYMBOL vmlinux 0x00000000 cpu_cache +EXPORT_SYMBOL vmlinux 0x00000000 cpu_down +EXPORT_SYMBOL vmlinux 0x00000000 cpu_online_mask +EXPORT_SYMBOL vmlinux 0x00000000 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x00000000 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x00000000 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x00000000 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x00000000 cpu_tlb +EXPORT_SYMBOL vmlinux 0x00000000 cpu_user +EXPORT_SYMBOL vmlinux 0x00000000 cpu_v7_dcache_clean_area +EXPORT_SYMBOL vmlinux 0x00000000 cpu_v7_set_pte_ext +EXPORT_SYMBOL vmlinux 0x00000000 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x00000000 crc16 +EXPORT_SYMBOL vmlinux 0x00000000 crc16_table +EXPORT_SYMBOL vmlinux 0x00000000 crc32_be +EXPORT_SYMBOL vmlinux 0x00000000 crc32_le +EXPORT_SYMBOL vmlinux 0x00000000 crc_t10dif +EXPORT_SYMBOL vmlinux 0x00000000 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x00000000 create_proc_entry +EXPORT_SYMBOL vmlinux 0x00000000 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x00000000 csum_partial +EXPORT_SYMBOL vmlinux 0x00000000 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x00000000 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00000000 csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x00000000 current_fs_time +EXPORT_SYMBOL vmlinux 0x00000000 current_kernel_time +EXPORT_SYMBOL vmlinux 0x00000000 current_umask +EXPORT_SYMBOL vmlinux 0x00000000 d_add_ci +EXPORT_SYMBOL vmlinux 0x00000000 d_alloc +EXPORT_SYMBOL vmlinux 0x00000000 d_alloc_name +EXPORT_SYMBOL vmlinux 0x00000000 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x00000000 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x00000000 d_delete +EXPORT_SYMBOL vmlinux 0x00000000 d_drop +EXPORT_SYMBOL vmlinux 0x00000000 d_find_alias +EXPORT_SYMBOL vmlinux 0x00000000 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x00000000 d_genocide +EXPORT_SYMBOL vmlinux 0x00000000 d_instantiate +EXPORT_SYMBOL vmlinux 0x00000000 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x00000000 d_invalidate +EXPORT_SYMBOL vmlinux 0x00000000 d_lookup +EXPORT_SYMBOL vmlinux 0x00000000 d_make_root +EXPORT_SYMBOL vmlinux 0x00000000 d_move +EXPORT_SYMBOL vmlinux 0x00000000 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x00000000 d_path +EXPORT_SYMBOL vmlinux 0x00000000 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x00000000 d_rehash +EXPORT_SYMBOL vmlinux 0x00000000 d_set_d_op +EXPORT_SYMBOL vmlinux 0x00000000 d_splice_alias +EXPORT_SYMBOL vmlinux 0x00000000 d_validate +EXPORT_SYMBOL vmlinux 0x00000000 daemonize +EXPORT_SYMBOL vmlinux 0x00000000 datagram_poll +EXPORT_SYMBOL vmlinux 0x00000000 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x00000000 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x00000000 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x00000000 dcache_readdir +EXPORT_SYMBOL vmlinux 0x00000000 dcb_getapp +EXPORT_SYMBOL vmlinux 0x00000000 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x00000000 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x00000000 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x00000000 dcb_setapp +EXPORT_SYMBOL vmlinux 0x00000000 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x00000000 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x00000000 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x00000000 deactivate_super +EXPORT_SYMBOL vmlinux 0x00000000 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x00000000 default_blu +EXPORT_SYMBOL vmlinux 0x00000000 default_file_splice_read +EXPORT_SYMBOL vmlinux 0x00000000 default_grn +EXPORT_SYMBOL vmlinux 0x00000000 default_llseek +EXPORT_SYMBOL vmlinux 0x00000000 default_red +EXPORT_SYMBOL vmlinux 0x00000000 default_wake_function +EXPORT_SYMBOL vmlinux 0x00000000 del_gendisk +EXPORT_SYMBOL vmlinux 0x00000000 del_timer +EXPORT_SYMBOL vmlinux 0x00000000 del_timer_sync +EXPORT_SYMBOL vmlinux 0x00000000 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x00000000 dentry_open +EXPORT_SYMBOL vmlinux 0x00000000 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x00000000 dentry_unhash +EXPORT_SYMBOL vmlinux 0x00000000 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x00000000 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x00000000 dev_activate +EXPORT_SYMBOL vmlinux 0x00000000 dev_add_pack +EXPORT_SYMBOL vmlinux 0x00000000 dev_addr_add +EXPORT_SYMBOL vmlinux 0x00000000 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x00000000 dev_addr_del +EXPORT_SYMBOL vmlinux 0x00000000 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x00000000 dev_addr_flush +EXPORT_SYMBOL vmlinux 0x00000000 dev_addr_init +EXPORT_SYMBOL vmlinux 0x00000000 dev_alert +EXPORT_SYMBOL vmlinux 0x00000000 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x00000000 dev_base_lock +EXPORT_SYMBOL vmlinux 0x00000000 dev_change_flags +EXPORT_SYMBOL vmlinux 0x00000000 dev_close +EXPORT_SYMBOL vmlinux 0x00000000 dev_crit +EXPORT_SYMBOL vmlinux 0x00000000 dev_deactivate +EXPORT_SYMBOL vmlinux 0x00000000 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x00000000 dev_driver_string +EXPORT_SYMBOL vmlinux 0x00000000 dev_emerg +EXPORT_SYMBOL vmlinux 0x00000000 dev_err +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_flags +EXPORT_SYMBOL vmlinux 0x00000000 dev_get_stats +EXPORT_SYMBOL vmlinux 0x00000000 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x00000000 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x00000000 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x00000000 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x00000000 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x00000000 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x00000000 dev_load +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_add +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_del +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_init +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x00000000 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x00000000 dev_notice +EXPORT_SYMBOL vmlinux 0x00000000 dev_open +EXPORT_SYMBOL vmlinux 0x00000000 dev_printk +EXPORT_SYMBOL vmlinux 0x00000000 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x00000000 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x00000000 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x00000000 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x00000000 dev_set_group +EXPORT_SYMBOL vmlinux 0x00000000 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x00000000 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x00000000 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x00000000 dev_trans_start +EXPORT_SYMBOL vmlinux 0x00000000 dev_uc_add +EXPORT_SYMBOL vmlinux 0x00000000 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x00000000 dev_uc_del +EXPORT_SYMBOL vmlinux 0x00000000 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x00000000 dev_uc_init +EXPORT_SYMBOL vmlinux 0x00000000 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x00000000 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x00000000 dev_valid_name +EXPORT_SYMBOL vmlinux 0x00000000 dev_warn +EXPORT_SYMBOL vmlinux 0x00000000 devm_clk_get +EXPORT_SYMBOL vmlinux 0x00000000 devm_clk_put +EXPORT_SYMBOL vmlinux 0x00000000 devm_free_irq +EXPORT_SYMBOL vmlinux 0x00000000 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x00000000 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x00000000 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x00000000 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x00000000 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x00000000 devm_ioremap +EXPORT_SYMBOL vmlinux 0x00000000 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x00000000 devm_iounmap +EXPORT_SYMBOL vmlinux 0x00000000 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x00000000 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x00000000 dget_parent +EXPORT_SYMBOL vmlinux 0x00000000 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x00000000 disable_hlt +EXPORT_SYMBOL vmlinux 0x00000000 disable_irq +EXPORT_SYMBOL vmlinux 0x00000000 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x00000000 disallow_signal +EXPORT_SYMBOL vmlinux 0x00000000 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x00000000 div64_s64 +EXPORT_SYMBOL vmlinux 0x00000000 div64_u64 +EXPORT_SYMBOL vmlinux 0x00000000 div_s64_rem +EXPORT_SYMBOL vmlinux 0x00000000 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0x00000000 dm_consume_args +EXPORT_SYMBOL vmlinux 0x00000000 dm_get_device +EXPORT_SYMBOL vmlinux 0x00000000 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x00000000 dm_io +EXPORT_SYMBOL vmlinux 0x00000000 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x00000000 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x00000000 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x00000000 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x00000000 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x00000000 dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x00000000 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x00000000 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x00000000 dm_put_device +EXPORT_SYMBOL vmlinux 0x00000000 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0x00000000 dm_read_arg +EXPORT_SYMBOL vmlinux 0x00000000 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0x00000000 dm_register_target +EXPORT_SYMBOL vmlinux 0x00000000 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x00000000 dm_table_event +EXPORT_SYMBOL vmlinux 0x00000000 dm_table_get +EXPORT_SYMBOL vmlinux 0x00000000 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x00000000 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x00000000 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x00000000 dm_table_put +EXPORT_SYMBOL vmlinux 0x00000000 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x00000000 dm_vcalloc +EXPORT_SYMBOL vmlinux 0x00000000 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x00000000 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x00000000 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x00000000 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x00000000 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x00000000 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x00000000 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x00000000 dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x00000000 dma_find_channel +EXPORT_SYMBOL vmlinux 0x00000000 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x00000000 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0x00000000 dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0x00000000 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x00000000 dma_pool_create +EXPORT_SYMBOL vmlinux 0x00000000 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x00000000 dma_pool_free +EXPORT_SYMBOL vmlinux 0x00000000 dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x00000000 dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x00000000 dma_supported +EXPORT_SYMBOL vmlinux 0x00000000 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x00000000 dmaengine_get +EXPORT_SYMBOL vmlinux 0x00000000 dmaengine_put +EXPORT_SYMBOL vmlinux 0x00000000 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x00000000 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x00000000 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x00000000 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x00000000 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x00000000 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x00000000 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x00000000 dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x00000000 dns_query +EXPORT_SYMBOL vmlinux 0x00000000 do_SAK +EXPORT_SYMBOL vmlinux 0x00000000 do_blank_screen +EXPORT_SYMBOL vmlinux 0x00000000 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x00000000 do_settimeofday +EXPORT_SYMBOL vmlinux 0x00000000 do_splice_direct +EXPORT_SYMBOL vmlinux 0x00000000 do_splice_from +EXPORT_SYMBOL vmlinux 0x00000000 do_splice_to +EXPORT_SYMBOL vmlinux 0x00000000 do_sync_read +EXPORT_SYMBOL vmlinux 0x00000000 do_sync_write +EXPORT_SYMBOL vmlinux 0x00000000 do_truncate +EXPORT_SYMBOL vmlinux 0x00000000 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x00000000 down +EXPORT_SYMBOL vmlinux 0x00000000 down_interruptible +EXPORT_SYMBOL vmlinux 0x00000000 down_killable +EXPORT_SYMBOL vmlinux 0x00000000 down_read +EXPORT_SYMBOL vmlinux 0x00000000 down_read_trylock +EXPORT_SYMBOL vmlinux 0x00000000 down_timeout +EXPORT_SYMBOL vmlinux 0x00000000 down_trylock +EXPORT_SYMBOL vmlinux 0x00000000 down_write +EXPORT_SYMBOL vmlinux 0x00000000 down_write_trylock +EXPORT_SYMBOL vmlinux 0x00000000 downgrade_write +EXPORT_SYMBOL vmlinux 0x00000000 dput +EXPORT_SYMBOL vmlinux 0x00000000 dq_data_lock +EXPORT_SYMBOL vmlinux 0x00000000 dqget +EXPORT_SYMBOL vmlinux 0x00000000 dql_completed +EXPORT_SYMBOL vmlinux 0x00000000 dql_init +EXPORT_SYMBOL vmlinux 0x00000000 dql_reset +EXPORT_SYMBOL vmlinux 0x00000000 dqput +EXPORT_SYMBOL vmlinux 0x00000000 dqstats +EXPORT_SYMBOL vmlinux 0x00000000 dquot_acquire +EXPORT_SYMBOL vmlinux 0x00000000 dquot_alloc +EXPORT_SYMBOL vmlinux 0x00000000 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x00000000 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x00000000 dquot_commit +EXPORT_SYMBOL vmlinux 0x00000000 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x00000000 dquot_destroy +EXPORT_SYMBOL vmlinux 0x00000000 dquot_disable +EXPORT_SYMBOL vmlinux 0x00000000 dquot_drop +EXPORT_SYMBOL vmlinux 0x00000000 dquot_enable +EXPORT_SYMBOL vmlinux 0x00000000 dquot_file_open +EXPORT_SYMBOL vmlinux 0x00000000 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x00000000 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x00000000 dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x00000000 dquot_initialize +EXPORT_SYMBOL vmlinux 0x00000000 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x00000000 dquot_operations +EXPORT_SYMBOL vmlinux 0x00000000 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x00000000 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x00000000 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x00000000 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x00000000 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x00000000 dquot_release +EXPORT_SYMBOL vmlinux 0x00000000 dquot_resume +EXPORT_SYMBOL vmlinux 0x00000000 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x00000000 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x00000000 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x00000000 dquot_transfer +EXPORT_SYMBOL vmlinux 0x00000000 drop_nlink +EXPORT_SYMBOL vmlinux 0x00000000 drop_super +EXPORT_SYMBOL vmlinux 0x00000000 dst_alloc +EXPORT_SYMBOL vmlinux 0x00000000 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x00000000 dst_destroy +EXPORT_SYMBOL vmlinux 0x00000000 dst_discard +EXPORT_SYMBOL vmlinux 0x00000000 dst_release +EXPORT_SYMBOL vmlinux 0x00000000 dump_fpu +EXPORT_SYMBOL vmlinux 0x00000000 dump_seek +EXPORT_SYMBOL vmlinux 0x00000000 dump_stack +EXPORT_SYMBOL vmlinux 0x00000000 dump_write +EXPORT_SYMBOL vmlinux 0x00000000 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x00000000 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x00000000 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x00000000 edac_mc_find +EXPORT_SYMBOL vmlinux 0x00000000 elevator_change +EXPORT_SYMBOL vmlinux 0x00000000 elevator_exit +EXPORT_SYMBOL vmlinux 0x00000000 elevator_init +EXPORT_SYMBOL vmlinux 0x00000000 elf_check_arch +EXPORT_SYMBOL vmlinux 0x00000000 elf_hwcap +EXPORT_SYMBOL vmlinux 0x00000000 elf_platform +EXPORT_SYMBOL vmlinux 0x00000000 elf_set_personality +EXPORT_SYMBOL vmlinux 0x00000000 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x00000000 elv_add_request +EXPORT_SYMBOL vmlinux 0x00000000 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x00000000 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x00000000 elv_rb_add +EXPORT_SYMBOL vmlinux 0x00000000 elv_rb_del +EXPORT_SYMBOL vmlinux 0x00000000 elv_rb_find +EXPORT_SYMBOL vmlinux 0x00000000 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x00000000 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x00000000 elv_register_queue +EXPORT_SYMBOL vmlinux 0x00000000 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x00000000 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x00000000 empty_aops +EXPORT_SYMBOL vmlinux 0x00000000 empty_zero_page +EXPORT_SYMBOL vmlinux 0x00000000 enable_hlt +EXPORT_SYMBOL vmlinux 0x00000000 enable_irq +EXPORT_SYMBOL vmlinux 0x00000000 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x00000000 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x00000000 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x00000000 end_page_writeback +EXPORT_SYMBOL vmlinux 0x00000000 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x00000000 eth_header +EXPORT_SYMBOL vmlinux 0x00000000 eth_header_cache +EXPORT_SYMBOL vmlinux 0x00000000 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x00000000 eth_header_parse +EXPORT_SYMBOL vmlinux 0x00000000 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x00000000 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x00000000 eth_type_trans +EXPORT_SYMBOL vmlinux 0x00000000 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x00000000 ether_setup +EXPORT_SYMBOL vmlinux 0x00000000 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x00000000 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x00000000 ewma_add +EXPORT_SYMBOL vmlinux 0x00000000 ewma_init +EXPORT_SYMBOL vmlinux 0x00000000 f_setown +EXPORT_SYMBOL vmlinux 0x00000000 fail_migrate_page +EXPORT_SYMBOL vmlinux 0x00000000 fasync_helper +EXPORT_SYMBOL vmlinux 0x00000000 fb_add_videomode +EXPORT_SYMBOL vmlinux 0x00000000 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x00000000 fb_blank +EXPORT_SYMBOL vmlinux 0x00000000 fb_class +EXPORT_SYMBOL vmlinux 0x00000000 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x00000000 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x00000000 fb_default_cmap +EXPORT_SYMBOL vmlinux 0x00000000 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x00000000 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x00000000 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x00000000 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x00000000 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x00000000 fb_find_mode +EXPORT_SYMBOL vmlinux 0x00000000 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0x00000000 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x00000000 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x00000000 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x00000000 fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x00000000 fb_get_mode +EXPORT_SYMBOL vmlinux 0x00000000 fb_get_options +EXPORT_SYMBOL vmlinux 0x00000000 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0x00000000 fb_match_mode +EXPORT_SYMBOL vmlinux 0x00000000 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0x00000000 fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x00000000 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x00000000 fb_pan_display +EXPORT_SYMBOL vmlinux 0x00000000 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x00000000 fb_register_client +EXPORT_SYMBOL vmlinux 0x00000000 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x00000000 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x00000000 fb_set_var +EXPORT_SYMBOL vmlinux 0x00000000 fb_show_logo +EXPORT_SYMBOL vmlinux 0x00000000 fb_unregister_client +EXPORT_SYMBOL vmlinux 0x00000000 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x00000000 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x00000000 fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x00000000 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x00000000 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x00000000 fd_install +EXPORT_SYMBOL vmlinux 0x00000000 fg_console +EXPORT_SYMBOL vmlinux 0x00000000 fget +EXPORT_SYMBOL vmlinux 0x00000000 fget_raw +EXPORT_SYMBOL vmlinux 0x00000000 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x00000000 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x00000000 fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x00000000 fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x00000000 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x00000000 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x00000000 file_open_root +EXPORT_SYMBOL vmlinux 0x00000000 file_remove_suid +EXPORT_SYMBOL vmlinux 0x00000000 file_sb_list_del +EXPORT_SYMBOL vmlinux 0x00000000 file_update_time +EXPORT_SYMBOL vmlinux 0x00000000 filemap_fault +EXPORT_SYMBOL vmlinux 0x00000000 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x00000000 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x00000000 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x00000000 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x00000000 filemap_flush +EXPORT_SYMBOL vmlinux 0x00000000 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x00000000 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x00000000 files_lglock +EXPORT_SYMBOL vmlinux 0x00000000 filp_close +EXPORT_SYMBOL vmlinux 0x00000000 filp_open +EXPORT_SYMBOL vmlinux 0x00000000 find_font +EXPORT_SYMBOL vmlinux 0x00000000 find_get_page +EXPORT_SYMBOL vmlinux 0x00000000 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x00000000 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x00000000 find_inode_number +EXPORT_SYMBOL vmlinux 0x00000000 find_last_bit +EXPORT_SYMBOL vmlinux 0x00000000 find_lock_page +EXPORT_SYMBOL vmlinux 0x00000000 find_or_create_page +EXPORT_SYMBOL vmlinux 0x00000000 find_vma +EXPORT_SYMBOL vmlinux 0x00000000 finish_wait +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_alloc +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_clear +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_free +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_get +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_put +EXPORT_SYMBOL vmlinux 0x00000000 flex_array_shrink +EXPORT_SYMBOL vmlinux 0x00000000 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x00000000 flow_cache_genid +EXPORT_SYMBOL vmlinux 0x00000000 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x00000000 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x00000000 flush_delayed_work +EXPORT_SYMBOL vmlinux 0x00000000 flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x00000000 flush_old_exec +EXPORT_SYMBOL vmlinux 0x00000000 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00000000 flush_signals +EXPORT_SYMBOL vmlinux 0x00000000 follow_down +EXPORT_SYMBOL vmlinux 0x00000000 follow_down_one +EXPORT_SYMBOL vmlinux 0x00000000 follow_pfn +EXPORT_SYMBOL vmlinux 0x00000000 follow_up +EXPORT_SYMBOL vmlinux 0x00000000 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x00000000 force_sig +EXPORT_SYMBOL vmlinux 0x00000000 fput +EXPORT_SYMBOL vmlinux 0x00000000 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x00000000 framebuffer_release +EXPORT_SYMBOL vmlinux 0x00000000 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x00000000 free_buffer_head +EXPORT_SYMBOL vmlinux 0x00000000 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x00000000 free_irq +EXPORT_SYMBOL vmlinux 0x00000000 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x00000000 free_netdev +EXPORT_SYMBOL vmlinux 0x00000000 free_pages +EXPORT_SYMBOL vmlinux 0x00000000 free_pages_exact +EXPORT_SYMBOL vmlinux 0x00000000 free_task +EXPORT_SYMBOL vmlinux 0x00000000 freeze_bdev +EXPORT_SYMBOL vmlinux 0x00000000 freeze_super +EXPORT_SYMBOL vmlinux 0x00000000 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x00000000 frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x00000000 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x00000000 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x00000000 frontswap_shrink +EXPORT_SYMBOL vmlinux 0x00000000 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0x00000000 fs_overflowgid +EXPORT_SYMBOL vmlinux 0x00000000 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x00000000 fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x00000000 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x00000000 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x00000000 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0x00000000 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x00000000 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x00000000 fsync_bdev +EXPORT_SYMBOL vmlinux 0x00000000 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x00000000 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x00000000 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x00000000 ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x00000000 full_name_hash +EXPORT_SYMBOL vmlinux 0x00000000 gen_estimator_active +EXPORT_SYMBOL vmlinux 0x00000000 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0x00000000 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x00000000 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x00000000 generate_random_uuid +EXPORT_SYMBOL vmlinux 0x00000000 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x00000000 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x00000000 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x00000000 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x00000000 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x00000000 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_open +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x00000000 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x00000000 generic_fillattr +EXPORT_SYMBOL vmlinux 0x00000000 generic_getxattr +EXPORT_SYMBOL vmlinux 0x00000000 generic_listxattr +EXPORT_SYMBOL vmlinux 0x00000000 generic_make_request +EXPORT_SYMBOL vmlinux 0x00000000 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 generic_permission +EXPORT_SYMBOL vmlinux 0x00000000 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x00000000 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x00000000 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x00000000 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x00000000 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0x00000000 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x00000000 generic_read_dir +EXPORT_SYMBOL vmlinux 0x00000000 generic_readlink +EXPORT_SYMBOL vmlinux 0x00000000 generic_removexattr +EXPORT_SYMBOL vmlinux 0x00000000 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x00000000 generic_segment_checks +EXPORT_SYMBOL vmlinux 0x00000000 generic_setlease +EXPORT_SYMBOL vmlinux 0x00000000 generic_setxattr +EXPORT_SYMBOL vmlinux 0x00000000 generic_show_options +EXPORT_SYMBOL vmlinux 0x00000000 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x00000000 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x00000000 generic_write_checks +EXPORT_SYMBOL vmlinux 0x00000000 generic_write_end +EXPORT_SYMBOL vmlinux 0x00000000 generic_write_sync +EXPORT_SYMBOL vmlinux 0x00000000 generic_writepages +EXPORT_SYMBOL vmlinux 0x00000000 genl_lock +EXPORT_SYMBOL vmlinux 0x00000000 genl_notify +EXPORT_SYMBOL vmlinux 0x00000000 genl_register_family +EXPORT_SYMBOL vmlinux 0x00000000 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x00000000 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x00000000 genl_register_ops +EXPORT_SYMBOL vmlinux 0x00000000 genl_unlock +EXPORT_SYMBOL vmlinux 0x00000000 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x00000000 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x00000000 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x00000000 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x00000000 genlmsg_put +EXPORT_SYMBOL vmlinux 0x00000000 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x00000000 genphy_read_status +EXPORT_SYMBOL vmlinux 0x00000000 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x00000000 genphy_resume +EXPORT_SYMBOL vmlinux 0x00000000 genphy_suspend +EXPORT_SYMBOL vmlinux 0x00000000 genphy_update_link +EXPORT_SYMBOL vmlinux 0x00000000 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x00000000 get_default_font +EXPORT_SYMBOL vmlinux 0x00000000 get_disk +EXPORT_SYMBOL vmlinux 0x00000000 get_fs_type +EXPORT_SYMBOL vmlinux 0x00000000 get_gendisk +EXPORT_SYMBOL vmlinux 0x00000000 get_io_context +EXPORT_SYMBOL vmlinux 0x00000000 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x00000000 get_mem_type +EXPORT_SYMBOL vmlinux 0x00000000 get_next_ino +EXPORT_SYMBOL vmlinux 0x00000000 get_option +EXPORT_SYMBOL vmlinux 0x00000000 get_options +EXPORT_SYMBOL vmlinux 0x00000000 get_phy_device +EXPORT_SYMBOL vmlinux 0x00000000 get_random_bytes +EXPORT_SYMBOL vmlinux 0x00000000 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x00000000 get_seconds +EXPORT_SYMBOL vmlinux 0x00000000 get_super +EXPORT_SYMBOL vmlinux 0x00000000 get_super_thawed +EXPORT_SYMBOL vmlinux 0x00000000 get_task_io_context +EXPORT_SYMBOL vmlinux 0x00000000 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x00000000 get_unused_fd +EXPORT_SYMBOL vmlinux 0x00000000 get_user_pages +EXPORT_SYMBOL vmlinux 0x00000000 get_write_access +EXPORT_SYMBOL vmlinux 0x00000000 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x00000000 getname +EXPORT_SYMBOL vmlinux 0x00000000 getnstimeofday +EXPORT_SYMBOL vmlinux 0x00000000 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x00000000 give_up_console +EXPORT_SYMBOL vmlinux 0x00000000 global_cursor_default +EXPORT_SYMBOL vmlinux 0x00000000 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x00000000 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x00000000 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x00000000 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x00000000 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x00000000 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x00000000 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x00000000 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x00000000 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x00000000 groups_alloc +EXPORT_SYMBOL vmlinux 0x00000000 groups_free +EXPORT_SYMBOL vmlinux 0x00000000 half_md4_transform +EXPORT_SYMBOL vmlinux 0x00000000 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x00000000 handle_sysrq +EXPORT_SYMBOL vmlinux 0x00000000 have_submounts +EXPORT_SYMBOL vmlinux 0x00000000 hex2bin +EXPORT_SYMBOL vmlinux 0x00000000 hex_asc +EXPORT_SYMBOL vmlinux 0x00000000 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x00000000 hex_to_bin +EXPORT_SYMBOL vmlinux 0x00000000 high_memory +EXPORT_SYMBOL vmlinux 0x00000000 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x00000000 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x00000000 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x00000000 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x00000000 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x00000000 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x00000000 i2c_master_send +EXPORT_SYMBOL vmlinux 0x00000000 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x00000000 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 i2c_release_client +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x00000000 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x00000000 i2c_transfer +EXPORT_SYMBOL vmlinux 0x00000000 i2c_use_client +EXPORT_SYMBOL vmlinux 0x00000000 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x00000000 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x00000000 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x00000000 icmp_send +EXPORT_SYMBOL vmlinux 0x00000000 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x00000000 icmpv6_send +EXPORT_SYMBOL vmlinux 0x00000000 ida_destroy +EXPORT_SYMBOL vmlinux 0x00000000 ida_get_new +EXPORT_SYMBOL vmlinux 0x00000000 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x00000000 ida_init +EXPORT_SYMBOL vmlinux 0x00000000 ida_pre_get +EXPORT_SYMBOL vmlinux 0x00000000 ida_remove +EXPORT_SYMBOL vmlinux 0x00000000 ida_simple_get +EXPORT_SYMBOL vmlinux 0x00000000 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x00000000 idr_destroy +EXPORT_SYMBOL vmlinux 0x00000000 idr_find +EXPORT_SYMBOL vmlinux 0x00000000 idr_for_each +EXPORT_SYMBOL vmlinux 0x00000000 idr_get_new +EXPORT_SYMBOL vmlinux 0x00000000 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x00000000 idr_get_next +EXPORT_SYMBOL vmlinux 0x00000000 idr_init +EXPORT_SYMBOL vmlinux 0x00000000 idr_pre_get +EXPORT_SYMBOL vmlinux 0x00000000 idr_remove +EXPORT_SYMBOL vmlinux 0x00000000 idr_remove_all +EXPORT_SYMBOL vmlinux 0x00000000 idr_replace +EXPORT_SYMBOL vmlinux 0x00000000 ifla_policy +EXPORT_SYMBOL vmlinux 0x00000000 iget5_locked +EXPORT_SYMBOL vmlinux 0x00000000 iget_failed +EXPORT_SYMBOL vmlinux 0x00000000 iget_locked +EXPORT_SYMBOL vmlinux 0x00000000 igrab +EXPORT_SYMBOL vmlinux 0x00000000 ihold +EXPORT_SYMBOL vmlinux 0x00000000 ilookup +EXPORT_SYMBOL vmlinux 0x00000000 ilookup5 +EXPORT_SYMBOL vmlinux 0x00000000 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x00000000 in4_pton +EXPORT_SYMBOL vmlinux 0x00000000 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x00000000 in6_pton +EXPORT_SYMBOL vmlinux 0x00000000 in_aton +EXPORT_SYMBOL vmlinux 0x00000000 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x00000000 in_egroup_p +EXPORT_SYMBOL vmlinux 0x00000000 in_group_p +EXPORT_SYMBOL vmlinux 0x00000000 in_lock_functions +EXPORT_SYMBOL vmlinux 0x00000000 inc_nlink +EXPORT_SYMBOL vmlinux 0x00000000 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x00000000 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x00000000 inet6_bind +EXPORT_SYMBOL vmlinux 0x00000000 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x00000000 inet6_getname +EXPORT_SYMBOL vmlinux 0x00000000 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x00000000 inet6_release +EXPORT_SYMBOL vmlinux 0x00000000 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x00000000 inet_accept +EXPORT_SYMBOL vmlinux 0x00000000 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x00000000 inet_addr_type +EXPORT_SYMBOL vmlinux 0x00000000 inet_bind +EXPORT_SYMBOL vmlinux 0x00000000 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x00000000 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x00000000 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x00000000 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x00000000 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x00000000 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x00000000 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x00000000 inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x00000000 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x00000000 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x00000000 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x00000000 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x00000000 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0x00000000 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x00000000 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x00000000 inet_frag_find +EXPORT_SYMBOL vmlinux 0x00000000 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x00000000 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x00000000 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x00000000 inet_frags_init +EXPORT_SYMBOL vmlinux 0x00000000 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x00000000 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x00000000 inet_getname +EXPORT_SYMBOL vmlinux 0x00000000 inet_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 inet_listen +EXPORT_SYMBOL vmlinux 0x00000000 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x00000000 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x00000000 inet_put_port +EXPORT_SYMBOL vmlinux 0x00000000 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x00000000 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x00000000 inet_release +EXPORT_SYMBOL vmlinux 0x00000000 inet_select_addr +EXPORT_SYMBOL vmlinux 0x00000000 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x00000000 inet_sendpage +EXPORT_SYMBOL vmlinux 0x00000000 inet_shutdown +EXPORT_SYMBOL vmlinux 0x00000000 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x00000000 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x00000000 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x00000000 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x00000000 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x00000000 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x00000000 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x00000000 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x00000000 init_buffer +EXPORT_SYMBOL vmlinux 0x00000000 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x00000000 init_net +EXPORT_SYMBOL vmlinux 0x00000000 init_special_inode +EXPORT_SYMBOL vmlinux 0x00000000 init_task +EXPORT_SYMBOL vmlinux 0x00000000 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x00000000 init_timer_key +EXPORT_SYMBOL vmlinux 0x00000000 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x00000000 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x00000000 inode_change_ok +EXPORT_SYMBOL vmlinux 0x00000000 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x00000000 inode_dio_done +EXPORT_SYMBOL vmlinux 0x00000000 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x00000000 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x00000000 inode_init_always +EXPORT_SYMBOL vmlinux 0x00000000 inode_init_once +EXPORT_SYMBOL vmlinux 0x00000000 inode_init_owner +EXPORT_SYMBOL vmlinux 0x00000000 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x00000000 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x00000000 inode_only_permission +EXPORT_SYMBOL vmlinux 0x00000000 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x00000000 inode_permission +EXPORT_SYMBOL vmlinux 0x00000000 inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x00000000 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x00000000 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x00000000 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x00000000 inode_wait +EXPORT_SYMBOL vmlinux 0x00000000 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x00000000 input_allocate_device +EXPORT_SYMBOL vmlinux 0x00000000 input_close_device +EXPORT_SYMBOL vmlinux 0x00000000 input_event +EXPORT_SYMBOL vmlinux 0x00000000 input_flush_device +EXPORT_SYMBOL vmlinux 0x00000000 input_free_device +EXPORT_SYMBOL vmlinux 0x00000000 input_get_keycode +EXPORT_SYMBOL vmlinux 0x00000000 input_grab_device +EXPORT_SYMBOL vmlinux 0x00000000 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x00000000 input_inject_event +EXPORT_SYMBOL vmlinux 0x00000000 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x00000000 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x00000000 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x00000000 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x00000000 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x00000000 input_open_device +EXPORT_SYMBOL vmlinux 0x00000000 input_register_device +EXPORT_SYMBOL vmlinux 0x00000000 input_register_handle +EXPORT_SYMBOL vmlinux 0x00000000 input_register_handler +EXPORT_SYMBOL vmlinux 0x00000000 input_release_device +EXPORT_SYMBOL vmlinux 0x00000000 input_reset_device +EXPORT_SYMBOL vmlinux 0x00000000 input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x00000000 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x00000000 input_set_capability +EXPORT_SYMBOL vmlinux 0x00000000 input_set_keycode +EXPORT_SYMBOL vmlinux 0x00000000 input_unregister_device +EXPORT_SYMBOL vmlinux 0x00000000 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x00000000 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x00000000 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x00000000 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x00000000 install_exec_creds +EXPORT_SYMBOL vmlinux 0x00000000 int_sqrt +EXPORT_SYMBOL vmlinux 0x00000000 int_to_scsilun +EXPORT_SYMBOL vmlinux 0x00000000 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x00000000 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x00000000 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x00000000 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x00000000 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x00000000 invalidate_partition +EXPORT_SYMBOL vmlinux 0x00000000 io_schedule +EXPORT_SYMBOL vmlinux 0x00000000 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x00000000 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x00000000 iomem_resource +EXPORT_SYMBOL vmlinux 0x00000000 ioport_map +EXPORT_SYMBOL vmlinux 0x00000000 ioport_resource +EXPORT_SYMBOL vmlinux 0x00000000 ioport_unmap +EXPORT_SYMBOL vmlinux 0x00000000 ioremap_page +EXPORT_SYMBOL vmlinux 0x00000000 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x00000000 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x00000000 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x00000000 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x00000000 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x00000000 iov_shorten +EXPORT_SYMBOL vmlinux 0x00000000 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x00000000 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x00000000 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x00000000 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x00000000 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x00000000 ip6_route_output +EXPORT_SYMBOL vmlinux 0x00000000 ip6_xmit +EXPORT_SYMBOL vmlinux 0x00000000 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x00000000 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x00000000 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x00000000 ip_defrag +EXPORT_SYMBOL vmlinux 0x00000000 ip_fragment +EXPORT_SYMBOL vmlinux 0x00000000 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x00000000 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x00000000 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x00000000 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x00000000 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x00000000 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x00000000 ip_options_compile +EXPORT_SYMBOL vmlinux 0x00000000 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x00000000 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x00000000 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x00000000 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x00000000 ip_send_check +EXPORT_SYMBOL vmlinux 0x00000000 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 ip_tos2prio +EXPORT_SYMBOL vmlinux 0x00000000 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x00000000 ipc_call_fast +EXPORT_SYMBOL vmlinux 0x00000000 ipc_call_slow +EXPORT_SYMBOL vmlinux 0x00000000 iput +EXPORT_SYMBOL vmlinux 0x00000000 ipv4_config +EXPORT_SYMBOL vmlinux 0x00000000 ipv4_specific +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x00000000 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x00000000 irq_set_chip +EXPORT_SYMBOL vmlinux 0x00000000 irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x00000000 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x00000000 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x00000000 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0x00000000 irq_stat +EXPORT_SYMBOL vmlinux 0x00000000 irq_to_desc +EXPORT_SYMBOL vmlinux 0x00000000 is_bad_inode +EXPORT_SYMBOL vmlinux 0x00000000 is_container_init +EXPORT_SYMBOL vmlinux 0x00000000 iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0x00000000 iterate_mounts +EXPORT_SYMBOL vmlinux 0x00000000 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x00000000 iunique +EXPORT_SYMBOL vmlinux 0x00000000 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x00000000 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x00000000 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x00000000 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x00000000 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x00000000 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x00000000 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x00000000 jiffies +EXPORT_SYMBOL vmlinux 0x00000000 jiffies_64 +EXPORT_SYMBOL vmlinux 0x00000000 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0x00000000 jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x00000000 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x00000000 jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x00000000 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x00000000 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x00000000 journal_abort +EXPORT_SYMBOL vmlinux 0x00000000 journal_ack_err +EXPORT_SYMBOL vmlinux 0x00000000 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x00000000 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x00000000 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x00000000 journal_clear_err +EXPORT_SYMBOL vmlinux 0x00000000 journal_create +EXPORT_SYMBOL vmlinux 0x00000000 journal_destroy +EXPORT_SYMBOL vmlinux 0x00000000 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x00000000 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x00000000 journal_errno +EXPORT_SYMBOL vmlinux 0x00000000 journal_extend +EXPORT_SYMBOL vmlinux 0x00000000 journal_flush +EXPORT_SYMBOL vmlinux 0x00000000 journal_force_commit +EXPORT_SYMBOL vmlinux 0x00000000 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x00000000 journal_forget +EXPORT_SYMBOL vmlinux 0x00000000 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x00000000 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x00000000 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x00000000 journal_init_dev +EXPORT_SYMBOL vmlinux 0x00000000 journal_init_inode +EXPORT_SYMBOL vmlinux 0x00000000 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x00000000 journal_load +EXPORT_SYMBOL vmlinux 0x00000000 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x00000000 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x00000000 journal_restart +EXPORT_SYMBOL vmlinux 0x00000000 journal_revoke +EXPORT_SYMBOL vmlinux 0x00000000 journal_set_features +EXPORT_SYMBOL vmlinux 0x00000000 journal_start +EXPORT_SYMBOL vmlinux 0x00000000 journal_start_commit +EXPORT_SYMBOL vmlinux 0x00000000 journal_stop +EXPORT_SYMBOL vmlinux 0x00000000 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x00000000 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x00000000 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x00000000 journal_update_format +EXPORT_SYMBOL vmlinux 0x00000000 journal_wipe +EXPORT_SYMBOL vmlinux 0x00000000 kasprintf +EXPORT_SYMBOL vmlinux 0x00000000 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x00000000 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x00000000 kd_mksound +EXPORT_SYMBOL vmlinux 0x00000000 kdb_current_task +EXPORT_SYMBOL vmlinux 0x00000000 kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x00000000 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x00000000 kern_path +EXPORT_SYMBOL vmlinux 0x00000000 kern_path_create +EXPORT_SYMBOL vmlinux 0x00000000 kern_unmount +EXPORT_SYMBOL vmlinux 0x00000000 kernel_accept +EXPORT_SYMBOL vmlinux 0x00000000 kernel_bind +EXPORT_SYMBOL vmlinux 0x00000000 kernel_connect +EXPORT_SYMBOL vmlinux 0x00000000 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x00000000 kernel_execve +EXPORT_SYMBOL vmlinux 0x00000000 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x00000000 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x00000000 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 kernel_listen +EXPORT_SYMBOL vmlinux 0x00000000 kernel_read +EXPORT_SYMBOL vmlinux 0x00000000 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x00000000 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x00000000 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x00000000 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x00000000 kernel_thread +EXPORT_SYMBOL vmlinux 0x00000000 key_alloc +EXPORT_SYMBOL vmlinux 0x00000000 key_create_or_update +EXPORT_SYMBOL vmlinux 0x00000000 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x00000000 key_invalidate +EXPORT_SYMBOL vmlinux 0x00000000 key_link +EXPORT_SYMBOL vmlinux 0x00000000 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x00000000 key_put +EXPORT_SYMBOL vmlinux 0x00000000 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x00000000 key_revoke +EXPORT_SYMBOL vmlinux 0x00000000 key_task_permission +EXPORT_SYMBOL vmlinux 0x00000000 key_type_keyring +EXPORT_SYMBOL vmlinux 0x00000000 key_unlink +EXPORT_SYMBOL vmlinux 0x00000000 key_update +EXPORT_SYMBOL vmlinux 0x00000000 key_validate +EXPORT_SYMBOL vmlinux 0x00000000 keyring_clear +EXPORT_SYMBOL vmlinux 0x00000000 keyring_search +EXPORT_SYMBOL vmlinux 0x00000000 kfree +EXPORT_SYMBOL vmlinux 0x00000000 kfree_skb +EXPORT_SYMBOL vmlinux 0x00000000 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x00000000 kick_iocb +EXPORT_SYMBOL vmlinux 0x00000000 kill_anon_super +EXPORT_SYMBOL vmlinux 0x00000000 kill_bdev +EXPORT_SYMBOL vmlinux 0x00000000 kill_block_super +EXPORT_SYMBOL vmlinux 0x00000000 kill_fasync +EXPORT_SYMBOL vmlinux 0x00000000 kill_litter_super +EXPORT_SYMBOL vmlinux 0x00000000 kill_pgrp +EXPORT_SYMBOL vmlinux 0x00000000 kill_pid +EXPORT_SYMBOL vmlinux 0x00000000 km_new_mapping +EXPORT_SYMBOL vmlinux 0x00000000 km_policy_expired +EXPORT_SYMBOL vmlinux 0x00000000 km_policy_notify +EXPORT_SYMBOL vmlinux 0x00000000 km_query +EXPORT_SYMBOL vmlinux 0x00000000 km_report +EXPORT_SYMBOL vmlinux 0x00000000 km_state_expired +EXPORT_SYMBOL vmlinux 0x00000000 km_state_notify +EXPORT_SYMBOL vmlinux 0x00000000 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x00000000 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x00000000 kmap +EXPORT_SYMBOL vmlinux 0x00000000 kmap_atomic +EXPORT_SYMBOL vmlinux 0x00000000 kmap_high +EXPORT_SYMBOL vmlinux 0x00000000 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x00000000 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x00000000 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x00000000 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x00000000 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x00000000 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x00000000 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x00000000 kmemdup +EXPORT_SYMBOL vmlinux 0x00000000 kobject_add +EXPORT_SYMBOL vmlinux 0x00000000 kobject_del +EXPORT_SYMBOL vmlinux 0x00000000 kobject_get +EXPORT_SYMBOL vmlinux 0x00000000 kobject_init +EXPORT_SYMBOL vmlinux 0x00000000 kobject_put +EXPORT_SYMBOL vmlinux 0x00000000 kobject_set_name +EXPORT_SYMBOL vmlinux 0x00000000 krealloc +EXPORT_SYMBOL vmlinux 0x00000000 kset_register +EXPORT_SYMBOL vmlinux 0x00000000 kset_unregister +EXPORT_SYMBOL vmlinux 0x00000000 ksize +EXPORT_SYMBOL vmlinux 0x00000000 kstat +EXPORT_SYMBOL vmlinux 0x00000000 kstrdup +EXPORT_SYMBOL vmlinux 0x00000000 kstrndup +EXPORT_SYMBOL vmlinux 0x00000000 kstrtoint +EXPORT_SYMBOL vmlinux 0x00000000 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtoll +EXPORT_SYMBOL vmlinux 0x00000000 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtos16 +EXPORT_SYMBOL vmlinux 0x00000000 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtos8 +EXPORT_SYMBOL vmlinux 0x00000000 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtou16 +EXPORT_SYMBOL vmlinux 0x00000000 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtou8 +EXPORT_SYMBOL vmlinux 0x00000000 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtouint +EXPORT_SYMBOL vmlinux 0x00000000 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kstrtoull +EXPORT_SYMBOL vmlinux 0x00000000 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x00000000 kthread_bind +EXPORT_SYMBOL vmlinux 0x00000000 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x00000000 kthread_should_stop +EXPORT_SYMBOL vmlinux 0x00000000 kthread_stop +EXPORT_SYMBOL vmlinux 0x00000000 kunmap +EXPORT_SYMBOL vmlinux 0x00000000 kunmap_high +EXPORT_SYMBOL vmlinux 0x00000000 kvasprintf +EXPORT_SYMBOL vmlinux 0x00000000 kzfree +EXPORT_SYMBOL vmlinux 0x00000000 laptop_mode +EXPORT_SYMBOL vmlinux 0x00000000 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x00000000 lease_modify +EXPORT_SYMBOL vmlinux 0x00000000 led_blink_set +EXPORT_SYMBOL vmlinux 0x00000000 led_brightness_set +EXPORT_SYMBOL vmlinux 0x00000000 lg_global_lock +EXPORT_SYMBOL vmlinux 0x00000000 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x00000000 lg_local_lock +EXPORT_SYMBOL vmlinux 0x00000000 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0x00000000 lg_local_unlock +EXPORT_SYMBOL vmlinux 0x00000000 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0x00000000 lg_lock_init +EXPORT_SYMBOL vmlinux 0x00000000 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x00000000 list_sort +EXPORT_SYMBOL vmlinux 0x00000000 ll_rw_block +EXPORT_SYMBOL vmlinux 0x00000000 load_nls +EXPORT_SYMBOL vmlinux 0x00000000 load_nls_default +EXPORT_SYMBOL vmlinux 0x00000000 local_bh_disable +EXPORT_SYMBOL vmlinux 0x00000000 local_bh_enable +EXPORT_SYMBOL vmlinux 0x00000000 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x00000000 lock_fb_info +EXPORT_SYMBOL vmlinux 0x00000000 lock_may_read +EXPORT_SYMBOL vmlinux 0x00000000 lock_may_write +EXPORT_SYMBOL vmlinux 0x00000000 lock_rename +EXPORT_SYMBOL vmlinux 0x00000000 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x00000000 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x00000000 lock_super +EXPORT_SYMBOL vmlinux 0x00000000 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x00000000 locks_delete_block +EXPORT_SYMBOL vmlinux 0x00000000 locks_free_lock +EXPORT_SYMBOL vmlinux 0x00000000 locks_init_lock +EXPORT_SYMBOL vmlinux 0x00000000 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x00000000 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x00000000 log_start_commit +EXPORT_SYMBOL vmlinux 0x00000000 log_wait_commit +EXPORT_SYMBOL vmlinux 0x00000000 lookup_bdev +EXPORT_SYMBOL vmlinux 0x00000000 lookup_hash +EXPORT_SYMBOL vmlinux 0x00000000 lookup_one_len +EXPORT_SYMBOL vmlinux 0x00000000 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x00000000 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0x00000000 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0x00000000 lro_flush_all +EXPORT_SYMBOL vmlinux 0x00000000 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x00000000 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x00000000 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x00000000 mac_pton +EXPORT_SYMBOL vmlinux 0x00000000 make_EII_client +EXPORT_SYMBOL vmlinux 0x00000000 make_bad_inode +EXPORT_SYMBOL vmlinux 0x00000000 mangle_path +EXPORT_SYMBOL vmlinux 0x00000000 mapping_tagged +EXPORT_SYMBOL vmlinux 0x00000000 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x00000000 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x00000000 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x00000000 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x00000000 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x00000000 match_hex +EXPORT_SYMBOL vmlinux 0x00000000 match_int +EXPORT_SYMBOL vmlinux 0x00000000 match_octal +EXPORT_SYMBOL vmlinux 0x00000000 match_strdup +EXPORT_SYMBOL vmlinux 0x00000000 match_strlcpy +EXPORT_SYMBOL vmlinux 0x00000000 match_token +EXPORT_SYMBOL vmlinux 0x00000000 max_mapnr +EXPORT_SYMBOL vmlinux 0x00000000 may_umount +EXPORT_SYMBOL vmlinux 0x00000000 may_umount_tree +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_create +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x00000000 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x00000000 mcount +EXPORT_SYMBOL vmlinux 0x00000000 md5_transform +EXPORT_SYMBOL vmlinux 0x00000000 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x00000000 md_check_recovery +EXPORT_SYMBOL vmlinux 0x00000000 md_done_sync +EXPORT_SYMBOL vmlinux 0x00000000 md_error +EXPORT_SYMBOL vmlinux 0x00000000 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x00000000 md_flush_request +EXPORT_SYMBOL vmlinux 0x00000000 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x00000000 md_integrity_register +EXPORT_SYMBOL vmlinux 0x00000000 md_register_thread +EXPORT_SYMBOL vmlinux 0x00000000 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x00000000 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x00000000 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x00000000 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x00000000 md_write_end +EXPORT_SYMBOL vmlinux 0x00000000 md_write_start +EXPORT_SYMBOL vmlinux 0x00000000 mddev_congested +EXPORT_SYMBOL vmlinux 0x00000000 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x00000000 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x00000000 mdiobus_free +EXPORT_SYMBOL vmlinux 0x00000000 mdiobus_read +EXPORT_SYMBOL vmlinux 0x00000000 mdiobus_register +EXPORT_SYMBOL vmlinux 0x00000000 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x00000000 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x00000000 mdiobus_write +EXPORT_SYMBOL vmlinux 0x00000000 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x00000000 mem_map +EXPORT_SYMBOL vmlinux 0x00000000 memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x00000000 memchr +EXPORT_SYMBOL vmlinux 0x00000000 memchr_inv +EXPORT_SYMBOL vmlinux 0x00000000 memcmp +EXPORT_SYMBOL vmlinux 0x00000000 memcpy +EXPORT_SYMBOL vmlinux 0x00000000 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x00000000 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00000000 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x00000000 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x00000000 memdup_user +EXPORT_SYMBOL vmlinux 0x00000000 memmove +EXPORT_SYMBOL vmlinux 0x00000000 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x00000000 memparse +EXPORT_SYMBOL vmlinux 0x00000000 mempool_alloc +EXPORT_SYMBOL vmlinux 0x00000000 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x00000000 mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x00000000 mempool_create +EXPORT_SYMBOL vmlinux 0x00000000 mempool_create_node +EXPORT_SYMBOL vmlinux 0x00000000 mempool_destroy +EXPORT_SYMBOL vmlinux 0x00000000 mempool_free +EXPORT_SYMBOL vmlinux 0x00000000 mempool_free_pages +EXPORT_SYMBOL vmlinux 0x00000000 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x00000000 mempool_kfree +EXPORT_SYMBOL vmlinux 0x00000000 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0x00000000 mempool_resize +EXPORT_SYMBOL vmlinux 0x00000000 memscan +EXPORT_SYMBOL vmlinux 0x00000000 memset +EXPORT_SYMBOL vmlinux 0x00000000 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x00000000 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x00000000 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x00000000 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x00000000 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x00000000 migrate_page +EXPORT_SYMBOL vmlinux 0x00000000 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x00000000 mii_check_link +EXPORT_SYMBOL vmlinux 0x00000000 mii_check_media +EXPORT_SYMBOL vmlinux 0x00000000 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x00000000 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x00000000 mii_link_ok +EXPORT_SYMBOL vmlinux 0x00000000 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x00000000 misc_deregister +EXPORT_SYMBOL vmlinux 0x00000000 misc_register +EXPORT_SYMBOL vmlinux 0x00000000 mktime +EXPORT_SYMBOL vmlinux 0x00000000 mmc_add_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x00000000 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x00000000 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x00000000 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x00000000 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x00000000 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x00000000 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x00000000 mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x00000000 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x00000000 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x00000000 mmc_card_awake +EXPORT_SYMBOL vmlinux 0x00000000 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x00000000 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x00000000 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x00000000 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x00000000 mmc_cleanup_queue +EXPORT_SYMBOL vmlinux 0x00000000 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x00000000 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x00000000 mmc_erase +EXPORT_SYMBOL vmlinux 0x00000000 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x00000000 mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x00000000 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x00000000 mmc_free_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x00000000 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x00000000 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x00000000 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0x00000000 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x00000000 mmc_release_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_request_done +EXPORT_SYMBOL vmlinux 0x00000000 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x00000000 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x00000000 mmc_start_req +EXPORT_SYMBOL vmlinux 0x00000000 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x00000000 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x00000000 mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x00000000 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0x00000000 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x00000000 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x00000000 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x00000000 mnt_pin +EXPORT_SYMBOL vmlinux 0x00000000 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x00000000 mnt_unpin +EXPORT_SYMBOL vmlinux 0x00000000 mntget +EXPORT_SYMBOL vmlinux 0x00000000 mntput +EXPORT_SYMBOL vmlinux 0x00000000 mod_timer +EXPORT_SYMBOL vmlinux 0x00000000 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x00000000 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x00000000 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x00000000 module_put +EXPORT_SYMBOL vmlinux 0x00000000 module_refcount +EXPORT_SYMBOL vmlinux 0x00000000 mount_bdev +EXPORT_SYMBOL vmlinux 0x00000000 mount_nodev +EXPORT_SYMBOL vmlinux 0x00000000 mount_ns +EXPORT_SYMBOL vmlinux 0x00000000 mount_pseudo +EXPORT_SYMBOL vmlinux 0x00000000 mount_single +EXPORT_SYMBOL vmlinux 0x00000000 mount_subtree +EXPORT_SYMBOL vmlinux 0x00000000 mpage_readpage +EXPORT_SYMBOL vmlinux 0x00000000 mpage_readpages +EXPORT_SYMBOL vmlinux 0x00000000 mpage_writepage +EXPORT_SYMBOL vmlinux 0x00000000 mpage_writepages +EXPORT_SYMBOL vmlinux 0x00000000 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 msleep +EXPORT_SYMBOL vmlinux 0x00000000 msleep_interruptible +EXPORT_SYMBOL vmlinux 0x00000000 mutex_lock +EXPORT_SYMBOL vmlinux 0x00000000 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x00000000 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x00000000 mutex_trylock +EXPORT_SYMBOL vmlinux 0x00000000 mutex_unlock +EXPORT_SYMBOL vmlinux 0x00000000 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x00000000 names_cachep +EXPORT_SYMBOL vmlinux 0x00000000 napi_complete +EXPORT_SYMBOL vmlinux 0x00000000 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x00000000 napi_get_frags +EXPORT_SYMBOL vmlinux 0x00000000 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x00000000 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x00000000 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x00000000 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x00000000 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x00000000 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x00000000 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x00000000 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x00000000 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x00000000 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x00000000 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x00000000 neigh_create +EXPORT_SYMBOL vmlinux 0x00000000 neigh_destroy +EXPORT_SYMBOL vmlinux 0x00000000 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x00000000 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x00000000 neigh_for_each +EXPORT_SYMBOL vmlinux 0x00000000 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x00000000 neigh_lookup +EXPORT_SYMBOL vmlinux 0x00000000 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x00000000 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x00000000 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x00000000 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x00000000 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x00000000 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x00000000 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x00000000 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x00000000 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x00000000 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x00000000 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x00000000 neigh_table_init +EXPORT_SYMBOL vmlinux 0x00000000 neigh_update +EXPORT_SYMBOL vmlinux 0x00000000 net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x00000000 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x00000000 net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x00000000 net_msg_warn +EXPORT_SYMBOL vmlinux 0x00000000 net_ratelimit +EXPORT_SYMBOL vmlinux 0x00000000 netdev_alert +EXPORT_SYMBOL vmlinux 0x00000000 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x00000000 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x00000000 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x00000000 netdev_change_features +EXPORT_SYMBOL vmlinux 0x00000000 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x00000000 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x00000000 netdev_crit +EXPORT_SYMBOL vmlinux 0x00000000 netdev_emerg +EXPORT_SYMBOL vmlinux 0x00000000 netdev_err +EXPORT_SYMBOL vmlinux 0x00000000 netdev_features_change +EXPORT_SYMBOL vmlinux 0x00000000 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x00000000 netdev_info +EXPORT_SYMBOL vmlinux 0x00000000 netdev_notice +EXPORT_SYMBOL vmlinux 0x00000000 netdev_printk +EXPORT_SYMBOL vmlinux 0x00000000 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x00000000 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x00000000 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x00000000 netdev_set_master +EXPORT_SYMBOL vmlinux 0x00000000 netdev_state_change +EXPORT_SYMBOL vmlinux 0x00000000 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0x00000000 netdev_update_features +EXPORT_SYMBOL vmlinux 0x00000000 netdev_warn +EXPORT_SYMBOL vmlinux 0x00000000 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x00000000 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x00000000 netif_device_attach +EXPORT_SYMBOL vmlinux 0x00000000 netif_device_detach +EXPORT_SYMBOL vmlinux 0x00000000 netif_napi_add +EXPORT_SYMBOL vmlinux 0x00000000 netif_napi_del +EXPORT_SYMBOL vmlinux 0x00000000 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x00000000 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x00000000 netif_rx +EXPORT_SYMBOL vmlinux 0x00000000 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x00000000 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x00000000 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x00000000 netif_skb_features +EXPORT_SYMBOL vmlinux 0x00000000 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x00000000 netlink_ack +EXPORT_SYMBOL vmlinux 0x00000000 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x00000000 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x00000000 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x00000000 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x00000000 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x00000000 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0x00000000 netlink_set_err +EXPORT_SYMBOL vmlinux 0x00000000 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x00000000 netlink_unicast +EXPORT_SYMBOL vmlinux 0x00000000 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_setup +EXPORT_SYMBOL vmlinux 0x00000000 netpoll_trap +EXPORT_SYMBOL vmlinux 0x00000000 new_inode +EXPORT_SYMBOL vmlinux 0x00000000 nf_afinfo +EXPORT_SYMBOL vmlinux 0x00000000 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x00000000 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x00000000 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x00000000 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x00000000 nf_hooks +EXPORT_SYMBOL vmlinux 0x00000000 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0x00000000 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x00000000 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x00000000 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x00000000 nf_log_packet +EXPORT_SYMBOL vmlinux 0x00000000 nf_log_register +EXPORT_SYMBOL vmlinux 0x00000000 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x00000000 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x00000000 nf_register_hook +EXPORT_SYMBOL vmlinux 0x00000000 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x00000000 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x00000000 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x00000000 nf_reinject +EXPORT_SYMBOL vmlinux 0x00000000 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x00000000 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x00000000 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x00000000 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x00000000 nla_append +EXPORT_SYMBOL vmlinux 0x00000000 nla_find +EXPORT_SYMBOL vmlinux 0x00000000 nla_memcmp +EXPORT_SYMBOL vmlinux 0x00000000 nla_memcpy +EXPORT_SYMBOL vmlinux 0x00000000 nla_parse +EXPORT_SYMBOL vmlinux 0x00000000 nla_policy_len +EXPORT_SYMBOL vmlinux 0x00000000 nla_put +EXPORT_SYMBOL vmlinux 0x00000000 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x00000000 nla_reserve +EXPORT_SYMBOL vmlinux 0x00000000 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x00000000 nla_strcmp +EXPORT_SYMBOL vmlinux 0x00000000 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x00000000 nla_validate +EXPORT_SYMBOL vmlinux 0x00000000 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x00000000 no_llseek +EXPORT_SYMBOL vmlinux 0x00000000 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x00000000 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x00000000 nobh_write_end +EXPORT_SYMBOL vmlinux 0x00000000 nobh_writepage +EXPORT_SYMBOL vmlinux 0x00000000 node_states +EXPORT_SYMBOL vmlinux 0x00000000 nonseekable_open +EXPORT_SYMBOL vmlinux 0x00000000 noop_fsync +EXPORT_SYMBOL vmlinux 0x00000000 noop_llseek +EXPORT_SYMBOL vmlinux 0x00000000 noop_qdisc +EXPORT_SYMBOL vmlinux 0x00000000 notify_change +EXPORT_SYMBOL vmlinux 0x00000000 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x00000000 ns_capable +EXPORT_SYMBOL vmlinux 0x00000000 ns_to_timespec +EXPORT_SYMBOL vmlinux 0x00000000 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x00000000 num_physpages +EXPORT_SYMBOL vmlinux 0x00000000 num_registered_fb +EXPORT_SYMBOL vmlinux 0x00000000 of_clk_get +EXPORT_SYMBOL vmlinux 0x00000000 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x00000000 of_dev_get +EXPORT_SYMBOL vmlinux 0x00000000 of_dev_put +EXPORT_SYMBOL vmlinux 0x00000000 of_device_alloc +EXPORT_SYMBOL vmlinux 0x00000000 of_device_is_available +EXPORT_SYMBOL vmlinux 0x00000000 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x00000000 of_device_register +EXPORT_SYMBOL vmlinux 0x00000000 of_device_unregister +EXPORT_SYMBOL vmlinux 0x00000000 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x00000000 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x00000000 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x00000000 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x00000000 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x00000000 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x00000000 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x00000000 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x00000000 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x00000000 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x00000000 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x00000000 of_find_property +EXPORT_SYMBOL vmlinux 0x00000000 of_get_address +EXPORT_SYMBOL vmlinux 0x00000000 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x00000000 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x00000000 of_get_next_child +EXPORT_SYMBOL vmlinux 0x00000000 of_get_parent +EXPORT_SYMBOL vmlinux 0x00000000 of_get_property +EXPORT_SYMBOL vmlinux 0x00000000 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0x00000000 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x00000000 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0x00000000 of_iomap +EXPORT_SYMBOL vmlinux 0x00000000 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0x00000000 of_match_device +EXPORT_SYMBOL vmlinux 0x00000000 of_match_node +EXPORT_SYMBOL vmlinux 0x00000000 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x00000000 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x00000000 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x00000000 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x00000000 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x00000000 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x00000000 of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x00000000 of_phy_connect +EXPORT_SYMBOL vmlinux 0x00000000 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x00000000 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x00000000 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x00000000 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x00000000 of_translate_address +EXPORT_SYMBOL vmlinux 0x00000000 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x00000000 on_each_cpu +EXPORT_SYMBOL vmlinux 0x00000000 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0x00000000 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x00000000 oops_in_progress +EXPORT_SYMBOL vmlinux 0x00000000 open_exec +EXPORT_SYMBOL vmlinux 0x00000000 otg_state_string +EXPORT_SYMBOL vmlinux 0x00000000 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x00000000 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x00000000 outer_cache +EXPORT_SYMBOL vmlinux 0x00000000 overflowgid +EXPORT_SYMBOL vmlinux 0x00000000 overflowuid +EXPORT_SYMBOL vmlinux 0x00000000 override_creds +EXPORT_SYMBOL vmlinux 0x00000000 padata_add_cpu +EXPORT_SYMBOL vmlinux 0x00000000 padata_alloc +EXPORT_SYMBOL vmlinux 0x00000000 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x00000000 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x00000000 padata_do_serial +EXPORT_SYMBOL vmlinux 0x00000000 padata_free +EXPORT_SYMBOL vmlinux 0x00000000 padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x00000000 padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x00000000 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x00000000 padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0x00000000 padata_start +EXPORT_SYMBOL vmlinux 0x00000000 padata_stop +EXPORT_SYMBOL vmlinux 0x00000000 padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x00000000 page_address +EXPORT_SYMBOL vmlinux 0x00000000 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x00000000 page_put_link +EXPORT_SYMBOL vmlinux 0x00000000 page_readlink +EXPORT_SYMBOL vmlinux 0x00000000 page_symlink +EXPORT_SYMBOL vmlinux 0x00000000 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x00000000 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x00000000 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x00000000 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x00000000 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x00000000 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x00000000 panic +EXPORT_SYMBOL vmlinux 0x00000000 panic_blink +EXPORT_SYMBOL vmlinux 0x00000000 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x00000000 param_array_ops +EXPORT_SYMBOL vmlinux 0x00000000 param_get_bool +EXPORT_SYMBOL vmlinux 0x00000000 param_get_byte +EXPORT_SYMBOL vmlinux 0x00000000 param_get_charp +EXPORT_SYMBOL vmlinux 0x00000000 param_get_int +EXPORT_SYMBOL vmlinux 0x00000000 param_get_invbool +EXPORT_SYMBOL vmlinux 0x00000000 param_get_long +EXPORT_SYMBOL vmlinux 0x00000000 param_get_short +EXPORT_SYMBOL vmlinux 0x00000000 param_get_string +EXPORT_SYMBOL vmlinux 0x00000000 param_get_uint +EXPORT_SYMBOL vmlinux 0x00000000 param_get_ulong +EXPORT_SYMBOL vmlinux 0x00000000 param_get_ushort +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_bint +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_bool +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_byte +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_charp +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_int +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_long +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_short +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_string +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_uint +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x00000000 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x00000000 param_set_bint +EXPORT_SYMBOL vmlinux 0x00000000 param_set_bool +EXPORT_SYMBOL vmlinux 0x00000000 param_set_byte +EXPORT_SYMBOL vmlinux 0x00000000 param_set_charp +EXPORT_SYMBOL vmlinux 0x00000000 param_set_copystring +EXPORT_SYMBOL vmlinux 0x00000000 param_set_int +EXPORT_SYMBOL vmlinux 0x00000000 param_set_invbool +EXPORT_SYMBOL vmlinux 0x00000000 param_set_long +EXPORT_SYMBOL vmlinux 0x00000000 param_set_short +EXPORT_SYMBOL vmlinux 0x00000000 param_set_uint +EXPORT_SYMBOL vmlinux 0x00000000 param_set_ulong +EXPORT_SYMBOL vmlinux 0x00000000 param_set_ushort +EXPORT_SYMBOL vmlinux 0x00000000 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x00000000 path_get +EXPORT_SYMBOL vmlinux 0x00000000 path_is_under +EXPORT_SYMBOL vmlinux 0x00000000 path_put +EXPORT_SYMBOL vmlinux 0x00000000 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x00000000 percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x00000000 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x00000000 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x00000000 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x00000000 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x00000000 pfn_valid +EXPORT_SYMBOL vmlinux 0x00000000 pgprot_kernel +EXPORT_SYMBOL vmlinux 0x00000000 pgprot_user +EXPORT_SYMBOL vmlinux 0x00000000 phy_attach +EXPORT_SYMBOL vmlinux 0x00000000 phy_connect +EXPORT_SYMBOL vmlinux 0x00000000 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x00000000 phy_detach +EXPORT_SYMBOL vmlinux 0x00000000 phy_device_free +EXPORT_SYMBOL vmlinux 0x00000000 phy_device_register +EXPORT_SYMBOL vmlinux 0x00000000 phy_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 phy_driver_register +EXPORT_SYMBOL vmlinux 0x00000000 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x00000000 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x00000000 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x00000000 phy_find_first +EXPORT_SYMBOL vmlinux 0x00000000 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 phy_print_status +EXPORT_SYMBOL vmlinux 0x00000000 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x00000000 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x00000000 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x00000000 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x00000000 phy_start +EXPORT_SYMBOL vmlinux 0x00000000 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x00000000 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x00000000 phy_stop +EXPORT_SYMBOL vmlinux 0x00000000 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x00000000 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x00000000 pid_task +EXPORT_SYMBOL vmlinux 0x00000000 ping_prot +EXPORT_SYMBOL vmlinux 0x00000000 pipe_lock +EXPORT_SYMBOL vmlinux 0x00000000 pipe_to_file +EXPORT_SYMBOL vmlinux 0x00000000 pipe_unlock +EXPORT_SYMBOL vmlinux 0x00000000 pl330_filter +EXPORT_SYMBOL vmlinux 0x00000000 pm_idle +EXPORT_SYMBOL vmlinux 0x00000000 pm_power_off +EXPORT_SYMBOL vmlinux 0x00000000 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x00000000 pm_suspend +EXPORT_SYMBOL vmlinux 0x00000000 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x00000000 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x00000000 poll_freewait +EXPORT_SYMBOL vmlinux 0x00000000 poll_initwait +EXPORT_SYMBOL vmlinux 0x00000000 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x00000000 populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_create +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_init +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x00000000 posix_acl_valid +EXPORT_SYMBOL vmlinux 0x00000000 posix_lock_file +EXPORT_SYMBOL vmlinux 0x00000000 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x00000000 posix_test_lock +EXPORT_SYMBOL vmlinux 0x00000000 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x00000000 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x00000000 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x00000000 ppp_input +EXPORT_SYMBOL vmlinux 0x00000000 ppp_input_error +EXPORT_SYMBOL vmlinux 0x00000000 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x00000000 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x00000000 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x00000000 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x00000000 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x00000000 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x00000000 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x00000000 prandom32 +EXPORT_SYMBOL vmlinux 0x00000000 prepare_binprm +EXPORT_SYMBOL vmlinux 0x00000000 prepare_creds +EXPORT_SYMBOL vmlinux 0x00000000 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x00000000 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x00000000 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x00000000 print_hex_dump +EXPORT_SYMBOL vmlinux 0x00000000 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x00000000 printk +EXPORT_SYMBOL vmlinux 0x00000000 printk_emit +EXPORT_SYMBOL vmlinux 0x00000000 printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x00000000 probe_irq_mask +EXPORT_SYMBOL vmlinux 0x00000000 probe_irq_off +EXPORT_SYMBOL vmlinux 0x00000000 probe_irq_on +EXPORT_SYMBOL vmlinux 0x00000000 proc_create_data +EXPORT_SYMBOL vmlinux 0x00000000 proc_dointvec +EXPORT_SYMBOL vmlinux 0x00000000 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x00000000 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 proc_dostring +EXPORT_SYMBOL vmlinux 0x00000000 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x00000000 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x00000000 proc_mkdir +EXPORT_SYMBOL vmlinux 0x00000000 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x00000000 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x00000000 proc_symlink +EXPORT_SYMBOL vmlinux 0x00000000 processor_id +EXPORT_SYMBOL vmlinux 0x00000000 profile_pc +EXPORT_SYMBOL vmlinux 0x00000000 proto_register +EXPORT_SYMBOL vmlinux 0x00000000 proto_unregister +EXPORT_SYMBOL vmlinux 0x00000000 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x00000000 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x00000000 ps2_command +EXPORT_SYMBOL vmlinux 0x00000000 ps2_drain +EXPORT_SYMBOL vmlinux 0x00000000 ps2_end_command +EXPORT_SYMBOL vmlinux 0x00000000 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x00000000 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x00000000 ps2_init +EXPORT_SYMBOL vmlinux 0x00000000 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x00000000 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x00000000 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x00000000 put_cmsg +EXPORT_SYMBOL vmlinux 0x00000000 put_disk +EXPORT_SYMBOL vmlinux 0x00000000 put_io_context +EXPORT_SYMBOL vmlinux 0x00000000 put_page +EXPORT_SYMBOL vmlinux 0x00000000 put_pages_list +EXPORT_SYMBOL vmlinux 0x00000000 put_tty_driver +EXPORT_SYMBOL vmlinux 0x00000000 put_unused_fd +EXPORT_SYMBOL vmlinux 0x00000000 putname +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_reset +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x00000000 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x00000000 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x00000000 random32 +EXPORT_SYMBOL vmlinux 0x00000000 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x00000000 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x00000000 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0x00000000 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0x00000000 rb_augment_insert +EXPORT_SYMBOL vmlinux 0x00000000 rb_erase +EXPORT_SYMBOL vmlinux 0x00000000 rb_first +EXPORT_SYMBOL vmlinux 0x00000000 rb_insert_color +EXPORT_SYMBOL vmlinux 0x00000000 rb_last +EXPORT_SYMBOL vmlinux 0x00000000 rb_next +EXPORT_SYMBOL vmlinux 0x00000000 rb_prev +EXPORT_SYMBOL vmlinux 0x00000000 rb_replace_node +EXPORT_SYMBOL vmlinux 0x00000000 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x00000000 read_cache_page +EXPORT_SYMBOL vmlinux 0x00000000 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x00000000 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x00000000 read_cache_pages +EXPORT_SYMBOL vmlinux 0x00000000 read_dev_sector +EXPORT_SYMBOL vmlinux 0x00000000 recalc_sigpending +EXPORT_SYMBOL vmlinux 0x00000000 reciprocal_value +EXPORT_SYMBOL vmlinux 0x00000000 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x00000000 redraw_screen +EXPORT_SYMBOL vmlinux 0x00000000 register_blkdev +EXPORT_SYMBOL vmlinux 0x00000000 register_cdrom +EXPORT_SYMBOL vmlinux 0x00000000 register_chrdev_region +EXPORT_SYMBOL vmlinux 0x00000000 register_con_driver +EXPORT_SYMBOL vmlinux 0x00000000 register_console +EXPORT_SYMBOL vmlinux 0x00000000 register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x00000000 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x00000000 register_exec_domain +EXPORT_SYMBOL vmlinux 0x00000000 register_filesystem +EXPORT_SYMBOL vmlinux 0x00000000 register_framebuffer +EXPORT_SYMBOL vmlinux 0x00000000 register_gifconf +EXPORT_SYMBOL vmlinux 0x00000000 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x00000000 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x00000000 register_key_type +EXPORT_SYMBOL vmlinux 0x00000000 register_md_personality +EXPORT_SYMBOL vmlinux 0x00000000 register_module_notifier +EXPORT_SYMBOL vmlinux 0x00000000 register_netdev +EXPORT_SYMBOL vmlinux 0x00000000 register_netdevice +EXPORT_SYMBOL vmlinux 0x00000000 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x00000000 register_nls +EXPORT_SYMBOL vmlinux 0x00000000 register_qdisc +EXPORT_SYMBOL vmlinux 0x00000000 register_quota_format +EXPORT_SYMBOL vmlinux 0x00000000 register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x00000000 register_shrinker +EXPORT_SYMBOL vmlinux 0x00000000 register_sysctl +EXPORT_SYMBOL vmlinux 0x00000000 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x00000000 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x00000000 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x00000000 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x00000000 registered_fb +EXPORT_SYMBOL vmlinux 0x00000000 release_firmware +EXPORT_SYMBOL vmlinux 0x00000000 release_pages +EXPORT_SYMBOL vmlinux 0x00000000 release_resource +EXPORT_SYMBOL vmlinux 0x00000000 release_sock +EXPORT_SYMBOL vmlinux 0x00000000 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x00000000 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x00000000 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x00000000 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0x00000000 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x00000000 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x00000000 rename_lock +EXPORT_SYMBOL vmlinux 0x00000000 replace_mount_options +EXPORT_SYMBOL vmlinux 0x00000000 request_firmware +EXPORT_SYMBOL vmlinux 0x00000000 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x00000000 request_key +EXPORT_SYMBOL vmlinux 0x00000000 request_key_async +EXPORT_SYMBOL vmlinux 0x00000000 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x00000000 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x00000000 request_resource +EXPORT_SYMBOL vmlinux 0x00000000 request_threaded_irq +EXPORT_SYMBOL vmlinux 0x00000000 reset_devices +EXPORT_SYMBOL vmlinux 0x00000000 revalidate_disk +EXPORT_SYMBOL vmlinux 0x00000000 revert_creds +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_blocked +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_destroy +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_register +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x00000000 rfkill_unregister +EXPORT_SYMBOL vmlinux 0x00000000 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x00000000 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x00000000 rt6_lookup +EXPORT_SYMBOL vmlinux 0x00000000 rtc_lock +EXPORT_SYMBOL vmlinux 0x00000000 rtc_month_days +EXPORT_SYMBOL vmlinux 0x00000000 rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0x00000000 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0x00000000 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x00000000 rtc_year_days +EXPORT_SYMBOL vmlinux 0x00000000 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_lock +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_notify +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_trylock +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x00000000 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x00000000 rwsem_is_locked +EXPORT_SYMBOL vmlinux 0x00000000 save_mount_options +EXPORT_SYMBOL vmlinux 0x00000000 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x00000000 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x00000000 schedule +EXPORT_SYMBOL vmlinux 0x00000000 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x00000000 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x00000000 schedule_timeout +EXPORT_SYMBOL vmlinux 0x00000000 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x00000000 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x00000000 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x00000000 schedule_work +EXPORT_SYMBOL vmlinux 0x00000000 schedule_work_on +EXPORT_SYMBOL vmlinux 0x00000000 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x00000000 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x00000000 scnprintf +EXPORT_SYMBOL vmlinux 0x00000000 scsi_add_device +EXPORT_SYMBOL vmlinux 0x00000000 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x00000000 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x00000000 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x00000000 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x00000000 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x00000000 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x00000000 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x00000000 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x00000000 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x00000000 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x00000000 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x00000000 scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x00000000 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x00000000 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x00000000 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x00000000 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_get +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_put +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x00000000 scsi_device_type +EXPORT_SYMBOL vmlinux 0x00000000 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x00000000 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x00000000 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x00000000 scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0x00000000 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x00000000 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x00000000 scsi_execute +EXPORT_SYMBOL vmlinux 0x00000000 scsi_execute_req +EXPORT_SYMBOL vmlinux 0x00000000 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x00000000 scsi_finish_command +EXPORT_SYMBOL vmlinux 0x00000000 scsi_free_command +EXPORT_SYMBOL vmlinux 0x00000000 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x00000000 scsi_get_command +EXPORT_SYMBOL vmlinux 0x00000000 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x00000000 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x00000000 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x00000000 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x00000000 scsi_host_get +EXPORT_SYMBOL vmlinux 0x00000000 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x00000000 scsi_host_put +EXPORT_SYMBOL vmlinux 0x00000000 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x00000000 scsi_init_io +EXPORT_SYMBOL vmlinux 0x00000000 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x00000000 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x00000000 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x00000000 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x00000000 scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x00000000 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x00000000 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x00000000 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x00000000 scsi_partsize +EXPORT_SYMBOL vmlinux 0x00000000 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x00000000 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x00000000 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x00000000 scsi_print_command +EXPORT_SYMBOL vmlinux 0x00000000 scsi_print_result +EXPORT_SYMBOL vmlinux 0x00000000 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x00000000 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x00000000 scsi_print_status +EXPORT_SYMBOL vmlinux 0x00000000 scsi_put_command +EXPORT_SYMBOL vmlinux 0x00000000 scsi_register +EXPORT_SYMBOL vmlinux 0x00000000 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x00000000 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x00000000 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x00000000 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x00000000 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x00000000 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x00000000 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x00000000 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x00000000 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x00000000 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x00000000 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x00000000 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0x00000000 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x00000000 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x00000000 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x00000000 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x00000000 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x00000000 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x00000000 scsi_show_result +EXPORT_SYMBOL vmlinux 0x00000000 scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x00000000 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x00000000 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x00000000 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x00000000 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x00000000 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x00000000 scsi_unregister +EXPORT_SYMBOL vmlinux 0x00000000 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x00000000 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x00000000 search_binary_handler +EXPORT_SYMBOL vmlinux 0x00000000 secpath_dup +EXPORT_SYMBOL vmlinux 0x00000000 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x00000000 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x00000000 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x00000000 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x00000000 security_file_permission +EXPORT_SYMBOL vmlinux 0x00000000 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x00000000 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x00000000 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x00000000 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x00000000 security_inode_permission +EXPORT_SYMBOL vmlinux 0x00000000 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x00000000 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x00000000 security_mmap_file +EXPORT_SYMBOL vmlinux 0x00000000 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x00000000 security_path_chmod +EXPORT_SYMBOL vmlinux 0x00000000 security_path_chown +EXPORT_SYMBOL vmlinux 0x00000000 security_path_link +EXPORT_SYMBOL vmlinux 0x00000000 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x00000000 security_path_mknod +EXPORT_SYMBOL vmlinux 0x00000000 security_path_rename +EXPORT_SYMBOL vmlinux 0x00000000 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x00000000 security_path_symlink +EXPORT_SYMBOL vmlinux 0x00000000 security_path_truncate +EXPORT_SYMBOL vmlinux 0x00000000 security_path_unlink +EXPORT_SYMBOL vmlinux 0x00000000 security_release_secctx +EXPORT_SYMBOL vmlinux 0x00000000 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x00000000 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x00000000 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x00000000 security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x00000000 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x00000000 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x00000000 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x00000000 security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x00000000 security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x00000000 security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x00000000 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x00000000 security_sk_clone +EXPORT_SYMBOL vmlinux 0x00000000 security_sock_graft +EXPORT_SYMBOL vmlinux 0x00000000 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x00000000 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x00000000 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x00000000 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x00000000 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x00000000 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x00000000 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x00000000 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x00000000 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x00000000 send_sig +EXPORT_SYMBOL vmlinux 0x00000000 send_sig_info +EXPORT_SYMBOL vmlinux 0x00000000 seq_bitmap +EXPORT_SYMBOL vmlinux 0x00000000 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x00000000 seq_escape +EXPORT_SYMBOL vmlinux 0x00000000 seq_hlist_next +EXPORT_SYMBOL vmlinux 0x00000000 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x00000000 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x00000000 seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x00000000 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x00000000 seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0x00000000 seq_list_next +EXPORT_SYMBOL vmlinux 0x00000000 seq_list_start +EXPORT_SYMBOL vmlinux 0x00000000 seq_list_start_head +EXPORT_SYMBOL vmlinux 0x00000000 seq_lseek +EXPORT_SYMBOL vmlinux 0x00000000 seq_open +EXPORT_SYMBOL vmlinux 0x00000000 seq_open_private +EXPORT_SYMBOL vmlinux 0x00000000 seq_path +EXPORT_SYMBOL vmlinux 0x00000000 seq_printf +EXPORT_SYMBOL vmlinux 0x00000000 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x00000000 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x00000000 seq_putc +EXPORT_SYMBOL vmlinux 0x00000000 seq_puts +EXPORT_SYMBOL vmlinux 0x00000000 seq_read +EXPORT_SYMBOL vmlinux 0x00000000 seq_release +EXPORT_SYMBOL vmlinux 0x00000000 seq_release_private +EXPORT_SYMBOL vmlinux 0x00000000 seq_write +EXPORT_SYMBOL vmlinux 0x00000000 serio_close +EXPORT_SYMBOL vmlinux 0x00000000 serio_interrupt +EXPORT_SYMBOL vmlinux 0x00000000 serio_open +EXPORT_SYMBOL vmlinux 0x00000000 serio_reconnect +EXPORT_SYMBOL vmlinux 0x00000000 serio_rescan +EXPORT_SYMBOL vmlinux 0x00000000 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x00000000 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x00000000 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x00000000 set_anon_super +EXPORT_SYMBOL vmlinux 0x00000000 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x00000000 set_bh_page +EXPORT_SYMBOL vmlinux 0x00000000 set_binfmt +EXPORT_SYMBOL vmlinux 0x00000000 set_blocksize +EXPORT_SYMBOL vmlinux 0x00000000 set_create_files_as +EXPORT_SYMBOL vmlinux 0x00000000 set_current_groups +EXPORT_SYMBOL vmlinux 0x00000000 set_device_ro +EXPORT_SYMBOL vmlinux 0x00000000 set_disk_ro +EXPORT_SYMBOL vmlinux 0x00000000 set_freezable +EXPORT_SYMBOL vmlinux 0x00000000 set_groups +EXPORT_SYMBOL vmlinux 0x00000000 set_nlink +EXPORT_SYMBOL vmlinux 0x00000000 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x00000000 set_page_dirty +EXPORT_SYMBOL vmlinux 0x00000000 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x00000000 set_security_override +EXPORT_SYMBOL vmlinux 0x00000000 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x00000000 set_user_nice +EXPORT_SYMBOL vmlinux 0x00000000 setattr_copy +EXPORT_SYMBOL vmlinux 0x00000000 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x00000000 setup_max_cpus +EXPORT_SYMBOL vmlinux 0x00000000 setup_new_exec +EXPORT_SYMBOL vmlinux 0x00000000 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x00000000 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x00000000 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x00000000 sg_free_table +EXPORT_SYMBOL vmlinux 0x00000000 sg_init_one +EXPORT_SYMBOL vmlinux 0x00000000 sg_init_table +EXPORT_SYMBOL vmlinux 0x00000000 sg_last +EXPORT_SYMBOL vmlinux 0x00000000 sg_miter_next +EXPORT_SYMBOL vmlinux 0x00000000 sg_miter_start +EXPORT_SYMBOL vmlinux 0x00000000 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x00000000 sg_next +EXPORT_SYMBOL vmlinux 0x00000000 sget +EXPORT_SYMBOL vmlinux 0x00000000 sha_transform +EXPORT_SYMBOL vmlinux 0x00000000 should_remove_suid +EXPORT_SYMBOL vmlinux 0x00000000 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x00000000 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x00000000 si_meminfo +EXPORT_SYMBOL vmlinux 0x00000000 sigprocmask +EXPORT_SYMBOL vmlinux 0x00000000 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x00000000 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x00000000 simple_empty +EXPORT_SYMBOL vmlinux 0x00000000 simple_fill_super +EXPORT_SYMBOL vmlinux 0x00000000 simple_getattr +EXPORT_SYMBOL vmlinux 0x00000000 simple_link +EXPORT_SYMBOL vmlinux 0x00000000 simple_lookup +EXPORT_SYMBOL vmlinux 0x00000000 simple_open +EXPORT_SYMBOL vmlinux 0x00000000 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x00000000 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x00000000 simple_readpage +EXPORT_SYMBOL vmlinux 0x00000000 simple_release_fs +EXPORT_SYMBOL vmlinux 0x00000000 simple_rename +EXPORT_SYMBOL vmlinux 0x00000000 simple_rmdir +EXPORT_SYMBOL vmlinux 0x00000000 simple_setattr +EXPORT_SYMBOL vmlinux 0x00000000 simple_statfs +EXPORT_SYMBOL vmlinux 0x00000000 simple_strtol +EXPORT_SYMBOL vmlinux 0x00000000 simple_strtoll +EXPORT_SYMBOL vmlinux 0x00000000 simple_strtoul +EXPORT_SYMBOL vmlinux 0x00000000 simple_strtoull +EXPORT_SYMBOL vmlinux 0x00000000 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x00000000 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x00000000 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x00000000 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x00000000 simple_unlink +EXPORT_SYMBOL vmlinux 0x00000000 simple_write_begin +EXPORT_SYMBOL vmlinux 0x00000000 simple_write_end +EXPORT_SYMBOL vmlinux 0x00000000 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x00000000 single_open +EXPORT_SYMBOL vmlinux 0x00000000 single_release +EXPORT_SYMBOL vmlinux 0x00000000 sk_alloc +EXPORT_SYMBOL vmlinux 0x00000000 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x00000000 sk_common_release +EXPORT_SYMBOL vmlinux 0x00000000 sk_dst_check +EXPORT_SYMBOL vmlinux 0x00000000 sk_filter +EXPORT_SYMBOL vmlinux 0x00000000 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x00000000 sk_free +EXPORT_SYMBOL vmlinux 0x00000000 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x00000000 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x00000000 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x00000000 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x00000000 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x00000000 sk_run_filter +EXPORT_SYMBOL vmlinux 0x00000000 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x00000000 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x00000000 sk_stream_error +EXPORT_SYMBOL vmlinux 0x00000000 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x00000000 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x00000000 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x00000000 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x00000000 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x00000000 sk_wait_data +EXPORT_SYMBOL vmlinux 0x00000000 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x00000000 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x00000000 skb_append +EXPORT_SYMBOL vmlinux 0x00000000 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x00000000 skb_checksum +EXPORT_SYMBOL vmlinux 0x00000000 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x00000000 skb_clone +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x00000000 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x00000000 skb_dequeue +EXPORT_SYMBOL vmlinux 0x00000000 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x00000000 skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x00000000 skb_find_text +EXPORT_SYMBOL vmlinux 0x00000000 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x00000000 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x00000000 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x00000000 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x00000000 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x00000000 skb_insert +EXPORT_SYMBOL vmlinux 0x00000000 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x00000000 skb_make_writable +EXPORT_SYMBOL vmlinux 0x00000000 skb_pad +EXPORT_SYMBOL vmlinux 0x00000000 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x00000000 skb_pull +EXPORT_SYMBOL vmlinux 0x00000000 skb_push +EXPORT_SYMBOL vmlinux 0x00000000 skb_put +EXPORT_SYMBOL vmlinux 0x00000000 skb_queue_head +EXPORT_SYMBOL vmlinux 0x00000000 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x00000000 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x00000000 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x00000000 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x00000000 skb_seq_read +EXPORT_SYMBOL vmlinux 0x00000000 skb_split +EXPORT_SYMBOL vmlinux 0x00000000 skb_store_bits +EXPORT_SYMBOL vmlinux 0x00000000 skb_trim +EXPORT_SYMBOL vmlinux 0x00000000 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x00000000 skb_unlink +EXPORT_SYMBOL vmlinux 0x00000000 skip_spaces +EXPORT_SYMBOL vmlinux 0x00000000 sleep_on +EXPORT_SYMBOL vmlinux 0x00000000 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x00000000 slhc_compress +EXPORT_SYMBOL vmlinux 0x00000000 slhc_free +EXPORT_SYMBOL vmlinux 0x00000000 slhc_init +EXPORT_SYMBOL vmlinux 0x00000000 slhc_remember +EXPORT_SYMBOL vmlinux 0x00000000 slhc_toss +EXPORT_SYMBOL vmlinux 0x00000000 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x00000000 smp_call_function +EXPORT_SYMBOL vmlinux 0x00000000 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x00000000 smp_call_function_single +EXPORT_SYMBOL vmlinux 0x00000000 snprintf +EXPORT_SYMBOL vmlinux 0x00000000 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x00000000 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x00000000 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x00000000 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 sock_create +EXPORT_SYMBOL vmlinux 0x00000000 sock_create_kern +EXPORT_SYMBOL vmlinux 0x00000000 sock_create_lite +EXPORT_SYMBOL vmlinux 0x00000000 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x00000000 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x00000000 sock_i_ino +EXPORT_SYMBOL vmlinux 0x00000000 sock_i_uid +EXPORT_SYMBOL vmlinux 0x00000000 sock_init_data +EXPORT_SYMBOL vmlinux 0x00000000 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x00000000 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x00000000 sock_map_fd +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_accept +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_bind +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_connect +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_getname +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_listen +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_poll +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x00000000 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x00000000 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x00000000 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x00000000 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x00000000 sock_register +EXPORT_SYMBOL vmlinux 0x00000000 sock_release +EXPORT_SYMBOL vmlinux 0x00000000 sock_rfree +EXPORT_SYMBOL vmlinux 0x00000000 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x00000000 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x00000000 sock_unregister +EXPORT_SYMBOL vmlinux 0x00000000 sock_update_classid +EXPORT_SYMBOL vmlinux 0x00000000 sock_wake_async +EXPORT_SYMBOL vmlinux 0x00000000 sock_wfree +EXPORT_SYMBOL vmlinux 0x00000000 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x00000000 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x00000000 soft_cursor +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x00000000 softnet_data +EXPORT_SYMBOL vmlinux 0x00000000 sort +EXPORT_SYMBOL vmlinux 0x00000000 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x00000000 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x00000000 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x00000000 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x00000000 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x00000000 sprintf +EXPORT_SYMBOL vmlinux 0x00000000 srandom32 +EXPORT_SYMBOL vmlinux 0x00000000 sscanf +EXPORT_SYMBOL vmlinux 0x00000000 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x00000000 start_tty +EXPORT_SYMBOL vmlinux 0x00000000 stop_tty +EXPORT_SYMBOL vmlinux 0x00000000 strcasecmp +EXPORT_SYMBOL vmlinux 0x00000000 strcat +EXPORT_SYMBOL vmlinux 0x00000000 strchr +EXPORT_SYMBOL vmlinux 0x00000000 strcmp +EXPORT_SYMBOL vmlinux 0x00000000 strcpy +EXPORT_SYMBOL vmlinux 0x00000000 strcspn +EXPORT_SYMBOL vmlinux 0x00000000 strim +EXPORT_SYMBOL vmlinux 0x00000000 string_get_size +EXPORT_SYMBOL vmlinux 0x00000000 strlcat +EXPORT_SYMBOL vmlinux 0x00000000 strlcpy +EXPORT_SYMBOL vmlinux 0x00000000 strlen +EXPORT_SYMBOL vmlinux 0x00000000 strncasecmp +EXPORT_SYMBOL vmlinux 0x00000000 strncat +EXPORT_SYMBOL vmlinux 0x00000000 strnchr +EXPORT_SYMBOL vmlinux 0x00000000 strncmp +EXPORT_SYMBOL vmlinux 0x00000000 strncpy +EXPORT_SYMBOL vmlinux 0x00000000 strndup_user +EXPORT_SYMBOL vmlinux 0x00000000 strnicmp +EXPORT_SYMBOL vmlinux 0x00000000 strnlen +EXPORT_SYMBOL vmlinux 0x00000000 strnstr +EXPORT_SYMBOL vmlinux 0x00000000 strpbrk +EXPORT_SYMBOL vmlinux 0x00000000 strrchr +EXPORT_SYMBOL vmlinux 0x00000000 strsep +EXPORT_SYMBOL vmlinux 0x00000000 strspn +EXPORT_SYMBOL vmlinux 0x00000000 strstr +EXPORT_SYMBOL vmlinux 0x00000000 strtobool +EXPORT_SYMBOL vmlinux 0x00000000 submit_bh +EXPORT_SYMBOL vmlinux 0x00000000 submit_bio +EXPORT_SYMBOL vmlinux 0x00000000 sync_blockdev +EXPORT_SYMBOL vmlinux 0x00000000 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x00000000 sync_inode +EXPORT_SYMBOL vmlinux 0x00000000 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x00000000 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x00000000 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x00000000 synchronize_irq +EXPORT_SYMBOL vmlinux 0x00000000 synchronize_net +EXPORT_SYMBOL vmlinux 0x00000000 syncookie_secret +EXPORT_SYMBOL vmlinux 0x00000000 sys_close +EXPORT_SYMBOL vmlinux 0x00000000 sys_tz +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x00000000 sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0x00000000 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x00000000 sysfs_streq +EXPORT_SYMBOL vmlinux 0x00000000 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x00000000 system_rev +EXPORT_SYMBOL vmlinux 0x00000000 system_serial_high +EXPORT_SYMBOL vmlinux 0x00000000 system_serial_low +EXPORT_SYMBOL vmlinux 0x00000000 system_state +EXPORT_SYMBOL vmlinux 0x00000000 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x00000000 take_over_console +EXPORT_SYMBOL vmlinux 0x00000000 task_nice +EXPORT_SYMBOL vmlinux 0x00000000 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x00000000 tasklet_init +EXPORT_SYMBOL vmlinux 0x00000000 tasklet_kill +EXPORT_SYMBOL vmlinux 0x00000000 tc_classify +EXPORT_SYMBOL vmlinux 0x00000000 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x00000000 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x00000000 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x00000000 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x00000000 tcf_em_register +EXPORT_SYMBOL vmlinux 0x00000000 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x00000000 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x00000000 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x00000000 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x00000000 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x00000000 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x00000000 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x00000000 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x00000000 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x00000000 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x00000000 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x00000000 tcf_register_action +EXPORT_SYMBOL vmlinux 0x00000000 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x00000000 tcp_check_req +EXPORT_SYMBOL vmlinux 0x00000000 tcp_child_process +EXPORT_SYMBOL vmlinux 0x00000000 tcp_close +EXPORT_SYMBOL vmlinux 0x00000000 tcp_connect +EXPORT_SYMBOL vmlinux 0x00000000 tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0x00000000 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x00000000 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x00000000 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x00000000 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x00000000 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x00000000 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x00000000 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x00000000 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x00000000 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x00000000 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x00000000 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x00000000 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x00000000 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x00000000 tcp_poll +EXPORT_SYMBOL vmlinux 0x00000000 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x00000000 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x00000000 tcp_prot +EXPORT_SYMBOL vmlinux 0x00000000 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x00000000 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x00000000 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x00000000 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x00000000 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x00000000 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x00000000 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x00000000 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x00000000 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x00000000 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x00000000 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x00000000 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x00000000 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x00000000 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x00000000 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x00000000 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x00000000 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x00000000 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0x00000000 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x00000000 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x00000000 test_taint +EXPORT_SYMBOL vmlinux 0x00000000 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x00000000 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x00000000 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x00000000 textsearch_register +EXPORT_SYMBOL vmlinux 0x00000000 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x00000000 thaw_bdev +EXPORT_SYMBOL vmlinux 0x00000000 thaw_super +EXPORT_SYMBOL vmlinux 0x00000000 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x00000000 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x00000000 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x00000000 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x00000000 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x00000000 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x00000000 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x00000000 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x00000000 time_to_tm +EXPORT_SYMBOL vmlinux 0x00000000 timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0x00000000 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 timespec_trunc +EXPORT_SYMBOL vmlinux 0x00000000 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 totalhigh_pages +EXPORT_SYMBOL vmlinux 0x00000000 totalram_pages +EXPORT_SYMBOL vmlinux 0x00000000 touch_atime +EXPORT_SYMBOL vmlinux 0x00000000 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x00000000 trace_seq_putc +EXPORT_SYMBOL vmlinux 0x00000000 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x00000000 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x00000000 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x00000000 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x00000000 truncate_setsize +EXPORT_SYMBOL vmlinux 0x00000000 try_module_get +EXPORT_SYMBOL vmlinux 0x00000000 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x00000000 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x00000000 try_to_release_page +EXPORT_SYMBOL vmlinux 0x00000000 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x00000000 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x00000000 tty_check_change +EXPORT_SYMBOL vmlinux 0x00000000 tty_devnum +EXPORT_SYMBOL vmlinux 0x00000000 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x00000000 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x00000000 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x00000000 tty_free_termios +EXPORT_SYMBOL vmlinux 0x00000000 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x00000000 tty_hangup +EXPORT_SYMBOL vmlinux 0x00000000 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x00000000 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x00000000 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x00000000 tty_kref_put +EXPORT_SYMBOL vmlinux 0x00000000 tty_lock +EXPORT_SYMBOL vmlinux 0x00000000 tty_mutex +EXPORT_SYMBOL vmlinux 0x00000000 tty_name +EXPORT_SYMBOL vmlinux 0x00000000 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x00000000 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_close +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_init +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_open +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_put +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x00000000 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x00000000 tty_register_device +EXPORT_SYMBOL vmlinux 0x00000000 tty_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x00000000 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x00000000 tty_set_operations +EXPORT_SYMBOL vmlinux 0x00000000 tty_shutdown +EXPORT_SYMBOL vmlinux 0x00000000 tty_std_termios +EXPORT_SYMBOL vmlinux 0x00000000 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x00000000 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x00000000 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x00000000 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x00000000 tty_throttle +EXPORT_SYMBOL vmlinux 0x00000000 tty_unlock +EXPORT_SYMBOL vmlinux 0x00000000 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x00000000 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x00000000 tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x00000000 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x00000000 tty_vhangup +EXPORT_SYMBOL vmlinux 0x00000000 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x00000000 tty_write_room +EXPORT_SYMBOL vmlinux 0x00000000 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x00000000 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x00000000 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x00000000 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x00000000 twl_i2c_read +EXPORT_SYMBOL vmlinux 0x00000000 twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0x00000000 twl_i2c_write +EXPORT_SYMBOL vmlinux 0x00000000 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x00000000 twl_rev +EXPORT_SYMBOL vmlinux 0x00000000 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x00000000 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x00000000 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x00000000 uart_match_port +EXPORT_SYMBOL vmlinux 0x00000000 uart_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x00000000 uart_resume_port +EXPORT_SYMBOL vmlinux 0x00000000 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x00000000 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x00000000 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x00000000 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x00000000 udp_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x00000000 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x00000000 udp_ioctl +EXPORT_SYMBOL vmlinux 0x00000000 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x00000000 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x00000000 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x00000000 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x00000000 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x00000000 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x00000000 udp_poll +EXPORT_SYMBOL vmlinux 0x00000000 udp_proc_register +EXPORT_SYMBOL vmlinux 0x00000000 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x00000000 udp_prot +EXPORT_SYMBOL vmlinux 0x00000000 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x00000000 udp_seq_open +EXPORT_SYMBOL vmlinux 0x00000000 udp_table +EXPORT_SYMBOL vmlinux 0x00000000 udplite_prot +EXPORT_SYMBOL vmlinux 0x00000000 udplite_table +EXPORT_SYMBOL vmlinux 0x00000000 udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x00000000 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x00000000 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x00000000 unload_nls +EXPORT_SYMBOL vmlinux 0x00000000 unlock_buffer +EXPORT_SYMBOL vmlinux 0x00000000 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x00000000 unlock_page +EXPORT_SYMBOL vmlinux 0x00000000 unlock_rename +EXPORT_SYMBOL vmlinux 0x00000000 unlock_super +EXPORT_SYMBOL vmlinux 0x00000000 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x00000000 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x00000000 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x00000000 unregister_blkdev +EXPORT_SYMBOL vmlinux 0x00000000 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x00000000 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x00000000 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x00000000 unregister_console +EXPORT_SYMBOL vmlinux 0x00000000 unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x00000000 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x00000000 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x00000000 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x00000000 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x00000000 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x00000000 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x00000000 unregister_key_type +EXPORT_SYMBOL vmlinux 0x00000000 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x00000000 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x00000000 unregister_netdev +EXPORT_SYMBOL vmlinux 0x00000000 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x00000000 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x00000000 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x00000000 unregister_nls +EXPORT_SYMBOL vmlinux 0x00000000 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x00000000 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x00000000 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x00000000 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00000000 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x00000000 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x00000000 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x00000000 up +EXPORT_SYMBOL vmlinux 0x00000000 up_read +EXPORT_SYMBOL vmlinux 0x00000000 up_write +EXPORT_SYMBOL vmlinux 0x00000000 update_region +EXPORT_SYMBOL vmlinux 0x00000000 update_time +EXPORT_SYMBOL vmlinux 0x00000000 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0x00000000 usb_nop_xceiv_register +EXPORT_SYMBOL vmlinux 0x00000000 usb_nop_xceiv_unregister +EXPORT_SYMBOL vmlinux 0x00000000 usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x00000000 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x00000000 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x00000000 user_path_at +EXPORT_SYMBOL vmlinux 0x00000000 user_path_create +EXPORT_SYMBOL vmlinux 0x00000000 user_revoke +EXPORT_SYMBOL vmlinux 0x00000000 usleep_range +EXPORT_SYMBOL vmlinux 0x00000000 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x00000000 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x00000000 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x00000000 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x00000000 vc_cons +EXPORT_SYMBOL vmlinux 0x00000000 vc_resize +EXPORT_SYMBOL vmlinux 0x00000000 verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x00000000 vesa_modes +EXPORT_SYMBOL vmlinux 0x00000000 vfree +EXPORT_SYMBOL vmlinux 0x00000000 vfs_create +EXPORT_SYMBOL vmlinux 0x00000000 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x00000000 vfs_fstat +EXPORT_SYMBOL vmlinux 0x00000000 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x00000000 vfs_fsync +EXPORT_SYMBOL vmlinux 0x00000000 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x00000000 vfs_getattr +EXPORT_SYMBOL vmlinux 0x00000000 vfs_link +EXPORT_SYMBOL vmlinux 0x00000000 vfs_llseek +EXPORT_SYMBOL vmlinux 0x00000000 vfs_lstat +EXPORT_SYMBOL vmlinux 0x00000000 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x00000000 vfs_mknod +EXPORT_SYMBOL vmlinux 0x00000000 vfs_open +EXPORT_SYMBOL vmlinux 0x00000000 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x00000000 vfs_read +EXPORT_SYMBOL vmlinux 0x00000000 vfs_readdir +EXPORT_SYMBOL vmlinux 0x00000000 vfs_readlink +EXPORT_SYMBOL vmlinux 0x00000000 vfs_readv +EXPORT_SYMBOL vmlinux 0x00000000 vfs_rename +EXPORT_SYMBOL vmlinux 0x00000000 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x00000000 vfs_stat +EXPORT_SYMBOL vmlinux 0x00000000 vfs_statfs +EXPORT_SYMBOL vmlinux 0x00000000 vfs_symlink +EXPORT_SYMBOL vmlinux 0x00000000 vfs_unlink +EXPORT_SYMBOL vmlinux 0x00000000 vfs_write +EXPORT_SYMBOL vmlinux 0x00000000 vfs_writev +EXPORT_SYMBOL vmlinux 0x00000000 vfsmount_lock +EXPORT_SYMBOL vmlinux 0x00000000 vga_base +EXPORT_SYMBOL vmlinux 0x00000000 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x00000000 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x00000000 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x00000000 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x00000000 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x00000000 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x00000000 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x00000000 vm_brk +EXPORT_SYMBOL vmlinux 0x00000000 vm_event_states +EXPORT_SYMBOL vmlinux 0x00000000 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x00000000 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x00000000 vm_insert_page +EXPORT_SYMBOL vmlinux 0x00000000 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x00000000 vm_map_ram +EXPORT_SYMBOL vmlinux 0x00000000 vm_mmap +EXPORT_SYMBOL vmlinux 0x00000000 vm_munmap +EXPORT_SYMBOL vmlinux 0x00000000 vm_stat +EXPORT_SYMBOL vmlinux 0x00000000 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x00000000 vmalloc +EXPORT_SYMBOL vmlinux 0x00000000 vmalloc_32 +EXPORT_SYMBOL vmlinux 0x00000000 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x00000000 vmalloc_node +EXPORT_SYMBOL vmlinux 0x00000000 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x00000000 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x00000000 vmalloc_user +EXPORT_SYMBOL vmlinux 0x00000000 vmap +EXPORT_SYMBOL vmlinux 0x00000000 vmtruncate +EXPORT_SYMBOL vmlinux 0x00000000 vprintk +EXPORT_SYMBOL vmlinux 0x00000000 vprintk_emit +EXPORT_SYMBOL vmlinux 0x00000000 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x00000000 vscnprintf +EXPORT_SYMBOL vmlinux 0x00000000 vsnprintf +EXPORT_SYMBOL vmlinux 0x00000000 vsprintf +EXPORT_SYMBOL vmlinux 0x00000000 vsscanf +EXPORT_SYMBOL vmlinux 0x00000000 vunmap +EXPORT_SYMBOL vmlinux 0x00000000 vzalloc +EXPORT_SYMBOL vmlinux 0x00000000 vzalloc_node +EXPORT_SYMBOL vmlinux 0x00000000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x00000000 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x00000000 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x00000000 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x00000000 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x00000000 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x00000000 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x00000000 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x00000000 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x00000000 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x00000000 wake_bit_function +EXPORT_SYMBOL vmlinux 0x00000000 wake_up_bit +EXPORT_SYMBOL vmlinux 0x00000000 wake_up_process +EXPORT_SYMBOL vmlinux 0x00000000 walk_stackframe +EXPORT_SYMBOL vmlinux 0x00000000 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x00000000 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x00000000 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x00000000 wireless_send_event +EXPORT_SYMBOL vmlinux 0x00000000 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x00000000 wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0x00000000 would_dump +EXPORT_SYMBOL vmlinux 0x00000000 write_cache_pages +EXPORT_SYMBOL vmlinux 0x00000000 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x00000000 write_inode_now +EXPORT_SYMBOL vmlinux 0x00000000 write_one_page +EXPORT_SYMBOL vmlinux 0x00000000 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x00000000 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x00000000 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x00000000 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x00000000 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0x00000000 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x00000000 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x00000000 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x00000000 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x00000000 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x00000000 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x00000000 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x00000000 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_input +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x00000000 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x00000000 xz_dec_end +EXPORT_SYMBOL vmlinux 0x00000000 xz_dec_init +EXPORT_SYMBOL vmlinux 0x00000000 xz_dec_reset +EXPORT_SYMBOL vmlinux 0x00000000 xz_dec_run +EXPORT_SYMBOL vmlinux 0x00000000 yield +EXPORT_SYMBOL vmlinux 0x00000000 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x00000000 zlib_inflate +EXPORT_SYMBOL vmlinux 0x00000000 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x00000000 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x00000000 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x00000000 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x00000000 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x00000000 zlib_inflate_workspacesize +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x00000000 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x00000000 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x00000000 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x00000000 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x00000000 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x00000000 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x00000000 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x00000000 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x00000000 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x00000000 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x00000000 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x00000000 async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x00000000 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x00000000 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/des_generic 0x00000000 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x00000000 lrw_crypt +EXPORT_SYMBOL_GPL crypto/lrw 0x00000000 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x00000000 lrw_init_table +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x00000000 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x00000000 __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x00000000 __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x00000000 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x00000000 __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x00000000 twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x00000000 xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x00000000 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x00000000 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x00000000 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00000000 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x00000000 extcon_update_state +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x00000000 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x00000000 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x00000000 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x00000000 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x00000000 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x00000000 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00000000 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x00000000 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x00000000 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x00000000 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x00000000 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x00000000 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x00000000 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x00000000 usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x00000000 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x00000000 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x00000000 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00000000 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x00000000 i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x00000000 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x00000000 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x00000000 i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_scan_mask_set +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_st_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_st_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_st_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_st_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00000000 iio_update_demux +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x00000000 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x00000000 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x00000000 adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x00000000 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x00000000 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x00000000 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x00000000 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x00000000 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00000000 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x00000000 dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x00000000 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x00000000 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x00000000 dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_sm_checker_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_sm_checker_create_fresh +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00000000 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/raid1 0x00000000 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x00000000 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x00000000 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x00000000 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x00000000 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x00000000 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x00000000 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x00000000 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x00000000 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x00000000 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x00000000 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x00000000 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x00000000 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x00000000 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x00000000 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x00000000 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x00000000 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x00000000 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x00000000 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00000000 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00000000 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x00000000 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x00000000 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x00000000 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x00000000 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x00000000 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x00000000 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x00000000 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x00000000 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x00000000 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x00000000 videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x00000000 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x00000000 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x00000000 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x00000000 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x00000000 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x00000000 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00000000 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x00000000 vb2_dma_contig_cleanup_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x00000000 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x00000000 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x00000000 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x00000000 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x00000000 vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x00000000 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x00000000 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0x00000000 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00000000 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x00000000 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x00000000 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x00000000 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x00000000 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x00000000 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x00000000 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x00000000 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x00000000 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x00000000 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x00000000 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x00000000 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x00000000 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x00000000 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x00000000 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x00000000 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x00000000 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x00000000 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x00000000 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x00000000 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x00000000 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x00000000 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x00000000 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x00000000 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x00000000 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x00000000 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x00000000 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x00000000 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x00000000 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x00000000 twl4030_get_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x00000000 twl4030_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x00000000 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x00000000 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x00000000 eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x00000000 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x00000000 eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00000000 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00000000 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00000000 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00000000 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00000000 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00000000 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00000000 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x00000000 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x00000000 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x00000000 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x00000000 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x00000000 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x00000000 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x00000000 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x00000000 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x00000000 st_unregister +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x00000000 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x00000000 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x00000000 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x00000000 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x00000000 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x00000000 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x00000000 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x00000000 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x00000000 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x00000000 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x00000000 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x00000000 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x00000000 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x00000000 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x00000000 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x00000000 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x00000000 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x00000000 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x00000000 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x00000000 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x00000000 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x00000000 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00000000 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x00000000 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x00000000 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x00000000 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x00000000 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00000000 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x00000000 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x00000000 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x00000000 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x00000000 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x00000000 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x00000000 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x00000000 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x00000000 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x00000000 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x00000000 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x00000000 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x00000000 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x00000000 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x00000000 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvtap 0x00000000 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x00000000 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x00000000 mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x00000000 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x00000000 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x00000000 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x00000000 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x00000000 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x00000000 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x00000000 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x00000000 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x00000000 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x00000000 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00000000 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x00000000 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x00000000 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x00000000 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x00000000 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x00000000 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x00000000 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00000000 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_rt2x00debug +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x00000000 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00debug_dump_frame +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x00000000 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x00000000 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x00000000 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x00000000 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x00000000 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00000000 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x00000000 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x00000000 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x00000000 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x00000000 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x00000000 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x00000000 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x00000000 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x00000000 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x00000000 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x00000000 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x00000000 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x00000000 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00000000 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00000000 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00000000 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00000000 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00000000 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00000000 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00000000 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00000000 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00000000 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00000000 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x00000000 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00000000 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x00000000 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x00000000 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x00000000 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x00000000 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x00000000 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x00000000 spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x00000000 spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x00000000 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x00000000 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x00000000 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x00000000 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x00000000 srp_rport_del +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x00000000 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x00000000 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x00000000 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x00000000 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x00000000 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x00000000 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x00000000 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x00000000 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x00000000 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x00000000 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x00000000 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x00000000 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x00000000 oslec_create +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x00000000 oslec_flush +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x00000000 oslec_free +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x00000000 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x00000000 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x00000000 oslec_update +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x00000000 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x00000000 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x00000000 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x00000000 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x00000000 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x00000000 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x00000000 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/rts5139/rts5139 0x00000000 rts5139_usb_ids +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_serial_in +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_serial_in_nowait +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_serial_out +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x00000000 synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x00000000 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x00000000 n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x00000000 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x00000000 serial8250_handle_irq +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x00000000 serial8250_modem_status +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x00000000 serial8250_rx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x00000000 serial8250_tx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x00000000 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x00000000 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x00000000 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x00000000 max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x00000000 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x00000000 max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x00000000 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x00000000 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x00000000 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x00000000 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x00000000 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x00000000 dwc3_get_device_id +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x00000000 dwc3_put_device_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x00000000 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x00000000 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x00000000 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x00000000 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x00000000 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x00000000 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00000000 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x00000000 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00000000 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x00000000 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x00000000 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x00000000 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x00000000 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x00000000 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x00000000 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x00000000 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x00000000 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x00000000 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x00000000 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x00000000 fb_sys_write +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x00000000 w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x00000000 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x00000000 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x00000000 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x00000000 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x00000000 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x00000000 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x00000000 dlm_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x00000000 fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00000000 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x00000000 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x00000000 nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00000000 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00000000 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x00000000 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL lib/bch 0x00000000 decode_bch +EXPORT_SYMBOL_GPL lib/bch 0x00000000 encode_bch +EXPORT_SYMBOL_GPL lib/bch 0x00000000 free_bch +EXPORT_SYMBOL_GPL lib/bch 0x00000000 init_bch +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x00000000 raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x00000000 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x00000000 raid6_datap_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x00000000 decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x00000000 free_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x00000000 init_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x00000000 init_rs_non_canonical +EXPORT_SYMBOL_GPL net/802/stp 0x00000000 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0x00000000 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x00000000 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x00000000 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0x00000000 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0x00000000 unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x00000000 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00000000 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x00000000 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x00000000 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x00000000 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x00000000 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x00000000 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x00000000 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x00000000 register_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x00000000 unregister_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x00000000 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x00000000 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00000000 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00000000 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00000000 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00000000 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00000000 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00000000 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x00000000 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x00000000 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x00000000 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x00000000 nf_nat_seq_adjust_hook +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x00000000 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x00000000 nf_nat_set_seq_adjust +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x00000000 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x00000000 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x00000000 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x00000000 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x00000000 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x00000000 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x00000000 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x00000000 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00000000 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x00000000 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_nfnl_get +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x00000000 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x00000000 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x00000000 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x00000000 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00000000 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x00000000 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x00000000 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x00000000 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00000000 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x00000000 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x00000000 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x00000000 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x00000000 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x00000000 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x00000000 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x00000000 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x00000000 nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x00000000 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x00000000 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x00000000 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00000000 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x00000000 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x00000000 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x00000000 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x00000000 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00000000 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x00000000 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x00000000 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x00000000 rds_wq +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x00000000 rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x00000000 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00000000 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00000000 xprt_write_space +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x00000000 wimax_state_get +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00000000 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_count_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_count_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00000000 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x00000000 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x00000000 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x00000000 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x00000000 ipcomp_output +EXPORT_SYMBOL_GPL sound/core/snd 0x00000000 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x00000000 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x00000000 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x00000000 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x00000000 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x00000000 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x00000000 l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x00000000 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x00000000 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x00000000 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x00000000 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00000000 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x00000000 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x00000000 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x00000000 wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00000000 snd_soc_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __clk_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __css_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x00000000 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x00000000 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x00000000 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x00000000 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x00000000 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x00000000 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x00000000 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x00000000 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x00000000 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x00000000 arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x00000000 arm_pm_restart +EXPORT_SYMBOL_GPL vmlinux 0x00000000 armpmu_get_pmu_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x00000000 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00000000 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0x00000000 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x00000000 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x00000000 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x00000000 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x00000000 call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x00000000 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x00000000 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x00000000 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x00000000 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x00000000 crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x00000000 css_depth +EXPORT_SYMBOL_GPL vmlinux 0x00000000 css_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x00000000 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x00000000 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debug_locks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x00000000 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x00000000 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x00000000 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x00000000 destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_del +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_move +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x00000000 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x00000000 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x00000000 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0x00000000 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_device_handle_ce +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_device_handle_ue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_mc_add_mc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x00000000 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0x00000000 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 event_storage +EXPORT_SYMBOL_GPL vmlinux 0x00000000 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x00000000 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x00000000 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x00000000 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x00000000 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x00000000 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 find_module +EXPORT_SYMBOL_GPL vmlinux 0x00000000 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x00000000 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x00000000 flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x00000000 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x00000000 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x00000000 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x00000000 getboottime +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x00000000 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_clear_int +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_disable_int +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_func +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_isr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_dw_xfer +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x00000000 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x00000000 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_class +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x00000000 invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0x00000000 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x00000000 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x00000000 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x00000000 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x00000000 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x00000000 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x00000000 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x00000000 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kprobe_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lcm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x00000000 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x00000000 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0x00000000 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0x00000000 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x00000000 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x00000000 max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_run +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mmput +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x00000000 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x00000000 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x00000000 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x00000000 net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x00000000 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x00000000 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x00000000 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x00000000 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x00000000 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x00000000 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_fixed_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_get_nand_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x00000000 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x00000000 otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x00000000 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x00000000 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x00000000 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x00000000 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x00000000 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x00000000 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x00000000 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x00000000 probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x00000000 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x00000000 put_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x00000000 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_bh_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x00000000 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 release_pmu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x00000000 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 reserve_pmu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 return_address +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x00000000 round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x00000000 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x00000000 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x00000000 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x00000000 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x00000000 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x00000000 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x00000000 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x00000000 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_get_of_property +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_pltfm_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_pltfm_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_pltfm_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x00000000 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x00000000 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x00000000 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x00000000 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x00000000 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x00000000 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x00000000 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x00000000 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x00000000 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0x00000000 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0x00000000 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x00000000 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x00000000 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x00000000 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x00000000 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x00000000 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x00000000 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0x00000000 snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x00000000 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x00000000 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x00000000 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x00000000 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x00000000 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x00000000 static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x00000000 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x00000000 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x00000000 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0x00000000 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x00000000 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x00000000 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x00000000 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0x00000000 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x00000000 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x00000000 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x00000000 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x00000000 task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x00000000 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x00000000 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x00000000 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x00000000 twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0x00000000 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x00000000 twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x00000000 twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x00000000 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x00000000 unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_bus_start_enum +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x00000000 use_mm +EXPORT_SYMBOL_GPL vmlinux 0x00000000 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x00000000 user_match +EXPORT_SYMBOL_GPL vmlinux 0x00000000 user_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 user_update +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0x00000000 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0x00000000 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x00000000 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x00000000 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x00000000 workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0x00000000 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x00000000 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x00000000 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x00000000 zap_vma_ptes --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armhf/highbank.compiler +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armhf/highbank.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armhf/highbank.modules +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armhf/highbank.modules @@ -0,0 +1,2307 @@ +6lowpan +8021q +8250 +8250_dw +9p +9pnet +a3d +a8293 +ac97_bus +acecad +act200l-sir +act_csum +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad2s1200 +ad2s1210 +ad2s90 +ad5064 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5504 +ad5624r_spi +ad5686 +ad5764 +ad5791 +ad5930 +ad5933 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7152 +ad7192 +ad7280a +ad7291 +ad7298 +ad7314 +ad7414 +ad7418 +ad7476 +ad7606 +ad7746 +ad7780 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad799x +ad8366 +ad9832 +ad9834 +ad9850 +ad9852 +ad9910 +ad9951 +adcxx +ade7753 +ade7754 +ade7758 +ade7759 +ade7854 +ade7854-i2c +ade7854-spi +adfs +adi +adis16060 +adis16080 +adis16130 +adis16201 +adis16203 +adis16204 +adis16209 +adis16220 +adis16240 +adis16260 +adis16400 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm9240 +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +ads1015 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adummy +adutux +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adxl34x +adxl34x-i2c +adxl34x-spi +adxrs450 +af_802154 +af9013 +af9033 +af_alg +affs +af_key +af-rxrpc +afs +ah4 +ah6 +ahci_platform +aiptek +aircable +ak881x +ak8975 +alauda +algif_hash +algif_skcipher +alphatrack +altera_jtaguart +altera_ps2 +altera-stapl +altera_uart +amba-clcd +ambakmi +amba-pl010 +amc6821 +ams369fg06 +analog +ansi_cprng +anubis +aoe +apds9802als +apds990x +appledisplay +appletalk +appletouch +ar7part +arc4 +ark3116 +arptable_filter +arp_tables +arpt_mangle +as5011 +asc7621 +asix +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +atbm8830 +aten +ath +ath3k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ati_remote +ati_remote2 +atm +atmel_mxt_ts +atmel_pwm +atmel-pwm-bl +atmtcp +atxp1 +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo_k1900fb +auo_k1901fb +auo_k190x +auo-pixcir-ts +authenc +authencesn +auth_rpcgss +autofs4 +ax88796 +b2c2-flexcop +b2c2-flexcop-usb +b43 +b43legacy +b44 +batman-adv +bch +bcm203x +bcm3510 +bcm5974 +bcma +bcma-hcd +bcm_wimax +befs +belkin_sa +bfs +bfusb +bh1770glc +bh1780gli +binfmt_aout +binfmt_misc +block2mtd +blowfish_common +blowfish_generic +bluetooth +bma150 +bmp085-i2c +bmp085-spi +bnep +bonding +bpa10x +bpck +bpck6 +bq27x00_battery +br2684 +brcmfmac +brcmsmac +brcmutil +bridge +broadsheetfb +bsd_comp +bt819 +bt856 +bt866 +btmrvl +btmrvl_sdio +btrfs +btsdio +btusb +btwilink +bu21013_ts +bw-qcam +c67x00 +cachefiles +caif +caif_hsi +caif_serial +caif_socket +caif_usb +camellia_generic +can +can-bcm +can-dev +can-gw +can-raw +carl9170 +cast5 +cast6 +catc +cc770 +cc770_isa +cc770_platform +c_can +c_can_platform +ccm +cdc-acm +cdc_eem +cdc_ether +cdc_ncm +cdc-phonet +cdc_subset +cdc-wdm +ceph +cfbcopyarea +cfbfillrect +cfbimgblt +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +chipreg +chnl_net +cifs +ci_hdrc +clearpad_tm1217 +clip +cls_basic +cls_cgroup +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cma3000_d0x +cma3000_d0x_i2c +cobra +coda +comm +configfs +cordic +core +cp210x +cpia2 +cpu-notifier-error-inject +c-qcam +cramfs +crc7 +crc8 +crc-ccitt +crc-itu-t +cryptd +cryptoloop +crypto_null +crypto_user +cs5345 +cs53l32a +cs89x0 +ctr +cts +cuse +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx24110 +cx24113 +cx24116 +cx24123 +cx25840 +cx82310_eth +cxacru +cxd2820r +cy8ctmg110_ts +cyberjack +cypress_cy7c63 +cypress_m8 +cytherm +cyttsp_core +cyttsp_i2c +cyttsp_spi +da9052_bl +da9052_onkey +da9052-regulator +da9052_tsi +db9 +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de600 +de620 +decnet +deflate +des_generic +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +diskonchip +dlm +dm9000 +dm9601 +dm-bufio +dm-crypt +dme1737 +dm-log +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-thin-pool +dm-zero +dnet +dn_rtmsg +doc2001plus +docecc +docg3 +docg4 +docprobe +drbd +drm +drm_kms_helper +drm_usb +drxd +drxk +ds1621 +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds620 +dsa_core +dsbr100 +dstr +dummy +dvb-core +dvb-pll +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-it913x +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dwc3 +dwc3-exynos +dwc3-omap +dw_dmac +dw_mmc +dw_mmc-pltfm +dynapro +ebt_802_3 +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ec100 +echo +eeprom +eeprom_93cx6 +eeprom_93xx46 +efs +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +emc1403 +emc2103 +emc6w201 +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_usb +em_text +em_u32 +enc28j60 +enclosure +epat +epia +eql +esd_usb2 +esi-sir +esp4 +esp6 +ethoc +evbug +extcon_class +extcon_gpio +f71805f +f71882fg +f75375s +f81232 +faulty +fb_sys_fops +fc0011 +fcrypt +ff-memless +fit2 +fit3 +fm_drv +freevxfs +friq +frpw +fsa9480 +fscache +ft1000 +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +fusb300_udc +g760a +g_acm_ms +gadgetfs +gamecon +gameport +garmin_gps +g_audio +g_cdc +gcm +g_dbgp +gdmwm +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_ffs +gfs2 +ghash-generic +g_hid +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_mass_storage +g_midi +g_ncm +g_nokia +gp2ap002a00f +gpio +gpio-74x164 +gpio-addr-flash +gpio-adp5588 +gpio-charger +gpio-fan +gpio-generic +gpio-ir-recv +gpio_keys +gpio_keys_polled +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mc33880 +gpio-mcp23s08 +gpio_mouse +gpio-pca953x +gpio-pcf857x +gpio-regulator +gpio_tilt_polled +gpio_vbus +g_printer +gre +grip +grip_mp +g_serial +gspca_benq +gspca_conex +gspca_cpia1 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtco +guillemot +gunze +g_webcam +g_zero +hampshire +hanwang +hci +hci_uart +hci_vhci +hd29l2 +hdpvr +hfs +hfsplus +hid +hid-a4tech +hid-apple +hid-aureal +hid-axff +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-dr +hid-elecom +hid-emsff +hid-ezkey +hid-gaff +hid-generic +hid-gyration +hid-holtekff +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-logitech +hid-logitech-dj +hid-magicmouse +hid-microsoft +hid-monterey +hid-multitouch +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-picolcd +hid-pl +hid-primax +hid-prodikeys +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-kovaplus +hid-roccat-pyra +hid-saitek +hid-samsung +hid-sjoy +hid-sony +hid-speedlink +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-uclogic +hid-wacom +hid-waltop +hid-wiimote +hid-zpff +hid-zydacron +hmc5843 +hmc6352 +hostap +hp4x +hpfs +hsi +hsi_char +hso +htc-pasic3 +hwmon-vid +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-dev +i2c-diolan-u2c +i2c-gpio +i2c-mux +i2c-mux-gpio +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-simtec +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-xiic +ibmaem +ibmpex +ics932s401 +idmouse +ieee802154 +ifb +iforce +iio_dummy +iio_hwmon +iio-trig-gpio +iio-trig-periodic-rtc +iio-trig-sysfs +ili210x +ili9320 +imm +imon +impa7 +imx074 +ina2xx +industrialio +inet_diag +inexio +inftl +input-polldev +int51x1 +interact +io_edgeport +io_ti +iowarrior +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_REJECT +ip6t_rpfilter +ip6t_rt +ip6_tunnel +ipack +ipaq +ipcomp +ipcomp6 +ipddp +ip_gre +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ipoctal +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netport +ip_set_list_set +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_ah +ipt_CLUSTERIP +ipt_ECN +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_rpfilter +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipx +ircomm +ircomm-tty +irda +irda-usb +ir-jvc-decoder +ir-kbd-i2c +irlan +ir-lirc-codec +ir-mce_kbd-decoder +ir-nec-decoder +irnet +ir-rc5-decoder +ir-rc5-sz-decoder +ir-rc6-decoder +ir-sanyo-decoder +ir-sony-decoder +irtty-sir +ir-usb +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1301 +isp1362-hcd +isp1704_charger +isp1760 +it87 +it913x-fe +itd1000 +iuu_phoenix +iwmc3200top +iwmc3200wifi +ix2505v +jc42 +jedec_probe +jffs2 +jfs +joydev +joydump +kafs +kalmia +kaweth +kbic +kbtab +keucr +keyspan +keyspan_pda +keyspan_remote +kfifo_buf +khazad +kingsun-sir +kl5kusb105 +kobil_sct +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kxsd9 +kxtj9 +l2tp_core +l2tp_debugfs +l2tp_ppp +l4f00242t03 +l64781 +lapb +latch-addr-flash +lcd +ld9040 +ldusb +lec +leds-atmel-pwm +leds-bd2802 +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3533 +leds-lp3944 +leds-lp5521 +leds-lp5523 +leds-lt3593 +leds-mc13783 +leds-ot200 +leds-pca9532 +leds-pca955x +leds-pca9633 +leds-pwm +leds-regulator +leds-tca6507 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +ledtrig-transient +legousbtower +lg2160 +lgdt3305 +lgdt330x +lgs8gl5 +lgs8gxx +lg-vl600 +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libceph +libcrc32c +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libiscsi +libiscsi_tcp +libsas +lightning +line6usb +lineage-pem +linear +lirc_dev +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +litelink-sir +lkkbd +llc +llc2 +lm3533_bl +lm3533-core +lm3533-ctrlbank +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lm95245 +lms283gf05 +lnbp21 +lnbp22 +lockd +logger +lp +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lpddr_cmds +lru_cache +lrw +ltc4151 +ltc4215 +ltc4245 +ltc4261 +ltv350qv +lzo +m25p80 +m52790 +m88rs2000 +ma600-sir +mac80211 +mac80211_hwsim +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +macvlan +macvtap +magellan +map_absent +map_funcs +map_ram +map_rom +matrix-keymap +matrix_keypad +max1111 +max11801_ts +max1363 +max1586 +max16065 +max1619 +max1668 +max17040_battery +max17042_battery +max2165 +max3100 +max3107 +max6639 +max6642 +max6650 +max6875 +max7359_keypad +max8649 +max8660 +max8903_charger +max8952 +mb86a16 +mb86a20s +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc44s803 +mceusb +mcp2120-sir +mcp251x +mcp3021 +mcs5000_ts +mcs7780 +mcs7830 +mcs_touchkey +mct_u232 +md4 +mdc800 +mdio-bitbang +mdio-gpio +mdio-mux +mdio-mux-gpio +mem2mem_testdev +memstick +metronomefb +metro-usb +mg_disk +michael_mic +microtek +minix +mip6 +mk712 +mma8450 +mmci +mos7720 +mos7840 +moto_modem +mpoa +mpr121_touchkey +mpu3050 +msdos +msp3400 +mspro_block +mt2060 +mt20xx +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9t112 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtd_dataflash +mtdoops +mtdram +mtdswap +mtouch +multipath +mv88e6060 +mv88e6xxx_drv +mv_udc +mwifiex +mwifiex_sdio +mwifiex_usb +mxl111sf-demod +mxl111sf-tuner +mxl5005s +mxl5007t +nand +nand_bch +nand_ecc +nand_ids +nandsim +navman +nbd +nci +ncpfs +net1080 +net2272 +netconsole +netprio_cgroup +newtonkbd +nfc +nf_conntrack +nf_conntrack_amanda +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_ipv4 +nf_conntrack_ipv6 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_proto_dccp +nf_conntrack_proto_gre +nf_conntrack_proto_sctp +nf_conntrack_proto_udplite +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nfcwilink +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_proto_dccp +nf_nat_proto_gre +nf_nat_proto_sctp +nf_nat_proto_udplite +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nfnetlink +nfnetlink_acct +nfnetlink_cttimeout +nfnetlink_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +nilfs2 +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp437 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +n_r3964 +ns558 +ntc_thermistor +ntfs +n_tracerouter +n_tracesink +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ofpart +of_serial +old_belkin-sir +omap4-keypad +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +openvswitch +oprofile +opticon +option +or51132 +or51211 +osst +oti6858 +output +ov2640 +ov5642 +ov6650 +ov7670 +ov772x +ov9640 +ov9740 +overlayfs +oxu210hp-hcd +ozwpan +p54common +p54spi +p54usb +p8022 +p8023 +palmas-regulator +pandora_bl +panel +paride +parkbd +parport +parport_ax88796 +parport_pc +pata_arasan_cf +pata_of_platform +pata_platform +pc87360 +pc87427 +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pcrypt +pd +pda_power +peak_usb +pegasus +penmount +pf +pg +phonedev +phonet +phram +physmap +physmap_of +pixcir_i2c_ts +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pn533 +pn544 +pn544_hci +pn_pep +poseidon +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppox +ppp_synctty +pps_core +pps-gpio +pps-ldisc +pps_parport +pptp +prism2_usb +ps2mult +psmouse +psnap +pt +pvrusb2 +pwc +pwm-beeper +pwm_bl +qcaux +qcserial +qinfo_probe +qmi_wwan +qnx4 +qnx6 +qt1010 +qt1070 +quatech2 +quota_tree +quota_v1 +quota_v2 +r8712u +r8a66597-hcd +r8a66597-udc +radio-i2c-si470x +radio-keene +radio-mr800 +radio-si4713 +radio-tea5764 +radio-usb-si470x +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +raw +rbd +rc5t583-regulator +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-em-terratec +rc-encore-enltv +rc-encore-enltv2 +rc-encore-enltv-fm53 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-imon-mce +rc-imon-pad +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lirc +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-pctv-sedna +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-snapstream-firefly +rc-streamzap +rc-tbs-nec +rc-technisat-usb2 +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-trekstor +rc-tt-1500 +rc-twinhan1027 +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-winfast +rc-winfast-usbii-deluxe +rds +rds_tcp +redboot +redrat3 +reed_solomon +reiserfs +renesas_usbhs +rfcomm +rfd_ftl +rfkill-gpio +rfkill-regulator +ring_sw +rio500 +rj54n1cb0c +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +romfs +rotary_encoder +rpcsec_gss_krb5 +rt2500usb +rt2800lib +rt2800usb +rt2x00lib +rt2x00usb +rt73usb +rtc-bq32k +rtc-bq4802 +rtc-cmos +rtc-da9052 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3232 +rtc-ds3234 +rtc-em3027 +rtc-fm3130 +rtc-isl12022 +rtc-isl1208 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-mc13xxx +rtc-msm6242 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-r9701 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3029c2 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-twl +rtc-v3020 +rtc-x1205 +rtl2830 +rtl8150 +rtl8187 +rtl8192c-common +rtl8192cu +rtlwifi +rts5139 +rxkad +s1d13xxxfb +s2255drv +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5m8767 +s6e63m0 +s921 +saa6588 +saa7110 +saa7115 +saa7127 +saa717x +saa7185 +saa7191 +saa7706h +safe_serial +salsa20_generic +samsung-keypad +sata_mv +sbs-battery +sca3000 +sch_atm +sch_cbq +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_fq_codel +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_tbf +sch_teql +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sctp_probe +sdhci-pxav2 +sdhci-pxav3 +sdio_uart +seed +seeq8005 +seqiv +serio_raw +sermouse +serpent_generic +serqt_usb2 +ses +sha512_generic +sh_mobile_ceu_camera +sh_mobile_csi2 +sht15 +sht21 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sierra_net +sil164 +sir-dev +sit +sja1000 +sja1000_isa +sja1000_platform +sl811-hcd +slcan +slip +slram +sm501 +sm501fb +sm7xx +smb347-charger +smc911x +smc91x +sm_ftl +smm665 +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-aaci +snd-ac97-codec +snd-aloop +snd-dummy +snd-hrtimer +snd-hwdep +snd-mixer-oss +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-page-alloc +snd-pcm +snd-portman2x4 +snd-rawmidi +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad193x +snd-soc-ad73311 +snd-soc-adau1373 +snd-soc-adav80x +snd-soc-ads117x +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4641 +snd-soc-ak4642 +snd-soc-ak4671 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-core +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs42l51 +snd-soc-cs42l52 +snd-soc-cs42l73 +snd-soc-cx20442 +snd-soc-da7210 +snd-soc-dfbmcs320 +snd-soc-jz4740-codec +snd-soc-l3 +snd-soc-lm4857 +snd-soc-lm49453 +snd-soc-max9768 +snd-soc-max98088 +snd-soc-max98095 +snd-soc-max9850 +snd-soc-max9877 +snd-soc-mc13783 +snd-soc-ml26124 +snd-soc-pcm3008 +snd-soc-rt5631 +snd-soc-sgtl5000 +snd-soc-simple-card +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-sta32x +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic3x +snd-soc-tlv320dac33 +snd-soc-tpa6130a2 +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wl1273 +snd-soc-wm1250-ev1 +snd-soc-wm2000 +snd-soc-wm2200 +snd-soc-wm5100 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8727 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8955 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8962 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8983 +snd-soc-wm8985 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8991 +snd-soc-wm8993 +snd-soc-wm8995 +snd-soc-wm8996 +snd-soc-wm9081 +snd-soc-wm9090 +snd-soc-wm-hubs +snd-timer +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usbmidi-lib +snd-virmidi +soc_camera +soc_camera_platform +soc_mediabus +softing +soundcore +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntpc +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_decpc +speakup_dectlk +speakup_dtlk +speakup_dummy +speakup_keypc +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedtch +spi-altera +spi-bitbang +spi-butterfly +spidev +spi-dw +spi-gpio +spi_ks8995 +spi-lm70llp +spi-oc-tiny +spi-tle62x0 +squashfs +sr030pc30 +ssb +ssb-hcd +ssfdc +sst25l +ssu100 +st +st1232 +stb0899 +stb6000 +stb6100 +st_drv +stinger +stir4200 +stkwebcam +stowaway +stp +streamzap +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv6110 +stv6110x +sunkbd +sunrpc +symbolserial +synaptics_i2c +synaptics_i2c_rmi4 +synaptics_usb +syscopyarea +sysfillrect +sysimgblt +sysv +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +tca6416-keypad +tca8418_keypad +tcm825x +tcm_fc +tcm_loop +tcm_usb_gadget +tcp_bic +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18271 +tda18271c2dd +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tef6862 +tekram-sir +test-kprobes +test_power +tgr192 +thmc50 +ths7303 +ti_dac7512 +timb_dma +timblogiw +timbuart +timed_gpio +timeriomem-rng +tipc +ti_usb_3410_5052 +tlv320aic23b +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmiofb +tmp102 +tmp401 +tmp421 +toim3232-sir +touchit213 +touchright +touchwin +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65090-regulator +tps65217 +tps65217-regulator +tps6524x-regulator +trancevibrator +tranzport +ts_bm +tsc2005 +tsc2007 +tsc40 +ts_fsm +ts_kmp +tsl2550 +tsl2563 +tsl2583 +tsl2x7x_core +ttpci-eeprom +tua6100 +tua9001 +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw9910 +twidjoy +twl4030_charger +twl4030_keypad +twl4030-madc +twl4030-madc-hwmon +twl4030-pwrbutton +twl4030-vibra +twl6030-pwm +twl6030-usb +twofish_common +twofish_generic +u132-hcd +uas +ub +ubi +ubifs +ucb1400_core +ucb1400_ts +udc-core +udf +udl +udlfb +udp_diag +ueagle-atm +ufs +uio +uio_pdrv +uio_pdrv_genirq +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +usb8xxx +usbatm +usb_debug +usbhid +usbip-core +usbip-host +usbkbd +usblcd +usbled +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +usb_wwan +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-common +v4l2-int-device +v4l2-mem2mem +vcan +ves1820 +ves1x93 +veth +vgg2432a4 +vhci-hcd +videobuf2-core +videobuf2-dma-contig +videobuf2-memops +videobuf2-vmalloc +videobuf-core +videobuf-dma-contig +videobuf-dvb +videobuf-vmalloc +videodev +virtual +visor +vivi +vivopay-serial +vmac +vp27smpx +vpx3220 +vs6624 +vsxxxaa +vt1211 +vub300 +w1_bq27000 +w1_ds2408 +w1_ds2423 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_ds2780 +w1_ds2781 +w1-gpio +w1_smem +w1_therm +w35und +w5100 +w5300 +w83627ehf +w83627hf +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +w90p910_ts +wacom +wacom_i2c +wacom_w8001 +walkera0701 +warrior +whiteheat +wimax +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wlcore +wlcore_sdio +wlcore_spi +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +x25 +xc4000 +xc5000 +xcbc +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_ro +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_ipcomp +xfrm_user +xfs +xilinx_uartps +xor +xpad +x_tables +xt_addrtype +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNSECMARK +xt_conntrack +xt_cpu +xt_CT +xt_dccp +xt_devgroup +xt_dscp +xt_DSCP +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_HMARK +xt_IDLETIMER +xt_iprange +xt_ipvs +xtkbd +xt_LED +xt_length +xt_limit +xt_LOG +xt_mac +xt_mark +xt_multiport +xt_nfacct +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_RATEEST +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_TCPOPTSTRIP +xt_tcpudp +xt_TEE +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xz_dec_test +yealink +yurex +zaurus +zd1201 +zd1211rw +zhenhua +zio +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr364xx --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armhf/omap +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armhf/omap @@ -0,0 +1,10315 @@ +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x236499a5 omap_mbox_get +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x4a98e430 omap_mbox_put +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x8ce5e922 omap_mbox_msg_send +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0xa4c572ee omap_mbox_register +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0xdbc75fe3 omap_mbox_unregister +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/bcma/bcma 0xa0439f1c bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x5c165453 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1348760d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x16dcec76 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1a10c898 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1aba5db8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3ec20e6e ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c971bec ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x524f6f51 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5cd71c9a ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5e80f37c ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5fcdcc05 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67cb9784 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x78fd36e7 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8c8ee770 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96cbcc81 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa28a2ace ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa2a98b91 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa4349b0b ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe0fa83f2 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6ab72a6 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xefc4f7b3 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2576cb9 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfc393d98 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/nvram 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x17ff2c1d __nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x2adec1e0 __nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x7da28f12 nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL drivers/char/nvram 0xa8813189 __nvram_write_byte +EXPORT_SYMBOL drivers/dma/dw_dmac 0x0db7aee8 dw_dma_cyclic_prep +EXPORT_SYMBOL drivers/dma/dw_dmac 0x1f6051ed dw_dma_cyclic_free +EXPORT_SYMBOL drivers/dma/dw_dmac 0x4365381e dw_dma_cyclic_stop +EXPORT_SYMBOL drivers/dma/dw_dmac 0x6a0313c4 dw_dma_get_dst_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0xc3df5ed1 dw_dma_get_src_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0xdbe3539c dw_dma_cyclic_start +EXPORT_SYMBOL drivers/dma/pl330 0xc327470a pl330_filter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0060546c drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0285e5a8 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x035cd71b drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x047db860 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04a3af60 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04c8306d drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0587de38 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x075386e7 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e15c30 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0965c409 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x097c4d8a drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bab8e15 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bd0e418 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d0d3796 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d3cdf26 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e7433b6 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f8dc681 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fccafb1 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10696ac8 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10b09bfa drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11073671 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1128ae3e drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1387c10c drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13a3b414 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x177d6421 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19bfca83 drm_prime_remove_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c73af75 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d49aba8 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f6d54a7 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x211eab87 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21cc953e drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24795a66 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25b59a9a drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28d5ab16 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cad8c36 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d807df8 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ebe5eb2 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f0a366f drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31389d0a drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31637354 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x316ce026 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31e7e717 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32c32fcb drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x331b069f drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3345496d drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37cd8b5a drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38954afd drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3901fdec drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x393c6934 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39c8ec8d drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a6f9c71 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aac3130 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac1fef9 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c526c16 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cec9166 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb37b9d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41236126 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4323a70a drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x434a6b41 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44d209d5 drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x461456ab drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4767d053 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49158f33 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x491d291f drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4945a3ca drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x497b8956 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ab691c3 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4afa0c15 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4badb0a5 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f5de301 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5165455b drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58da9909 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x591fc24c drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c126ce6 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5dbdc659 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e2ccb88 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5eb7510b drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61dce832 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65dc65b3 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x663ae8e2 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x680fa42c drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68c5d096 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a7fb5e3 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cc5b19a drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74695644 drm_prime_lookup_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75ddd02d drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x768fa481 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x771b5fe9 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7832825c drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79de4b45 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7adcd32f drm_prime_add_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b4797cc drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b650615 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cccef7f drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80ae84ef drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8215a1a5 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82a562a4 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83b0d031 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84ce4a7e drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x851c1ded drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8579febd drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87530f3d drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x878072a5 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87e9fe78 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8909381f drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x893de772 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89649e8b drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a35be05 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c0b4b57 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c6b6b6d drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cc89459 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d0e504b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8de13715 drm_format_vert_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfb019d drm_buffer_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x908d6be2 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92689148 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95232db1 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95675b02 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97b318ca drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c9fd0b2 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4edb20a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa506bb1e drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5a09d50 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5d88b40 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7179c31 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa914f465 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabc68ace drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacbe2969 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf4b77dc drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb024bcb2 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb06e873b drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0727379 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb110a287 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb42dda7e drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb51d4aac drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb675dead drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb77a0f72 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb89ebf9c drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb90ca5ae drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb18e526 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd6f1fd5 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf696f2f drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfd36329 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4259c55 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc44030f6 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc463da93 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5102fb8 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc732ad3c drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8231556 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbda0d67 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccd6a779 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xceedc41e drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf1ef400 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0cb6b57 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd106ef19 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2721d6d drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5233a6b drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5cc9054 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7d4d559 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd88db039 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd90bc8f8 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc5cba46 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcdf36bb drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde64898a drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfeb1409 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0406bd4 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1c52eb6 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4d8d4ac drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe532ac34 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe626479a drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8298af8 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8e66240 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec2c6818 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee8a71c4 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeeb673dd drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0c803c3 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0c91262 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1613811 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4b6c638 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4babc53 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbe77711 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc7f9aee drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff7ec5ef drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff809f5a drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffccb806 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x083d750c drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b4fad96 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16e33be4 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24cae1f7 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cf76339 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x39ccc9a9 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41e0a579 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x489a33b7 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48d58304 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d3765ab drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6097efd8 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b420d49 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e87ecbd drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x75c3af72 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x787159fa drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8441eee0 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9123181f drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9555584b drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ed1ebda drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa67659e9 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf2407df drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb525c128 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0d32d2b drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc747498a drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8bcc36b drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd02c73c7 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe62f8509 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8d1317d drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea29737e drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf508f561 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf527670e drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb66ef17 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdbc9180 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xaa25dd07 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xae2981c5 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xecc29d3a drm_get_usb_dev +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x0903c239 vid_from_reg +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0xef1c781c vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0e2a6864 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0f5877d4 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xd81d622d sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xe5022f95 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xed1d2a08 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x41dbb856 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xb166d60c i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xd8168257 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x6a249661 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x7c425680 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/iio/industrialio 0x108d5524 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x144d5926 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x240947bf iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x2cae3227 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x2d0070ac iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3d9cf42f iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x46ab79b7 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0x7897b791 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x7997ed68 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x835dd5e6 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x8713a626 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x91bc0a3b iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0xa6bf5879 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0xaea536dd iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xaf0a8f8b iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xb463e79f iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xb48d50ee iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xbbab385b iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xc4272541 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xc7fa0bdc iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xcc33b864 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf4e947ee iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xf92a1c21 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xff7a0c98 iio_device_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x71d44f41 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xa3d6266c iio_kfifo_free +EXPORT_SYMBOL drivers/input/gameport/gameport 0x66e0afda gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7ab62879 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x98a4f533 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb41cce4f __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xba91857b gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe8305c84 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe9fa1270 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xede0b202 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf3990719 __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x55ab393c input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8710c935 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x901bd0af input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x9ccc21c6 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x16148d3b matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x65a04637 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x6d10252b ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0xa91c1dae ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xc5f7a84c ad714x_disable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xbcd9f2ef cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2eda141b sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x3b14a962 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x4d6979c5 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x96bf2f2a sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xdb8bb5ac sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xfcbe3148 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x0ad2029c ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xab9e2221 ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x058d3011 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x13ca6482 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x17ba9b1d capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x1990dc8d capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2a9dbe80 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8521b19d capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa7c4fd6c capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaec8f006 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb871b5dc capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe8ad9bd1 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9e0f072 capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf906eba2 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x6f221ab3 hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x7f29ce36 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xe227344e FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xee93522c hisax_register +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xf0a16657 FsmNew +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xfc27303b HiSax_closecard +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xff2db2cf FsmDelTimer +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x2b1811a9 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x4c42ee42 isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x56baaaa6 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x3b71e4fc isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x59cc8a7e isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x8ee38862 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0xfd9d4c09 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x097fb2ab mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x10dc2848 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x148e895c get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x15012975 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1894e804 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x24ab893b bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x252cd7e6 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2e12f405 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3822bb4b mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x499776ae get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54451388 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x78287543 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x78be50aa recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x797b9ab1 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x849c210c mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x88e1613f mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa5535467 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa8f0f23f mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xad9bf8d3 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb9ee606b mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbdcc6975 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9bb4d64 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdea9a0ae mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe87943cf mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf02636d2 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x60721da7 dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xa215f1b2 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/md/dm-log 0x14e520dc dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xca658383 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xd5818b8e dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xdcbf63b4 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x151393a4 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x211cbdd1 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x248b9fa4 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x35c60b47 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc791e977 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe527ef30 dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x097e4b6e raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x04425bfc fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x2998240a max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x0314a218 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xa0e17749 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x4099d855 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x3ee9cd70 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xbc3cfdd5 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0xd8f49381 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x96295279 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x3c65d821 tua9001_attach +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x0cb4b189 tuners +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/common/tuners/tuner-xc2028 0x10bb41b3 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x03e7df1e xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x903099da xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0b97a42c flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x17fe548f flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x407b32fb flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x646c64b0 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6938e609 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6f418a46 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x80c54407 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x99b117b8 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa9a4154b flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc9370f22 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe8599d5f flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe95cca5d flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xeb3290ff flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0137ec85 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x044e7d8e dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x06b5f449 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c98f0ae dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0e8d7634 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x198886d5 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f363415 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x21af1d0b dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x51962b5c dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6225816a dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6733b46e dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x687066ad dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6c7577a0 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6d769946 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x746b02ad dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7837207b dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7a854509 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7b9da335 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x801c8144 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x83a2ef94 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x883c17c6 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8b9d2300 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x90b3c91f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x989e3372 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa295777b dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb0340f92 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb3297434 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xba616e61 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc09185bc dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd7112a02 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe6e58ed6 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xed9e5ee7 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf487376d dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf9dd1faf dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfb25f454 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x2f5673f7 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x417652a1 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x4c00d428 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x63926a72 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x69a1569d dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7202bdd5 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xeace1209 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x13e247e0 rc_map_af9005_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x301808ea af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2d30864c dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2ec7d885 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x450333c3 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x478e043e dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x52b2a27f dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x57fecc07 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8f54e72a dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xaac4b630 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb47559e0 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb8c90333 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xdc65883e dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe76eed11 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0xb09bb9e5 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x25e486c5 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x35bbdced af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x294eac0f atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x109489b7 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x158fb0b4 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x1b7dbee9 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x48ec2364 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x58be7c96 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x60323223 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x7c3fda53 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xadb7b213 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x28f3b56a au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x7127f03f bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x6a9a256b cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xa4c3faf8 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x253548f5 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x6cc7437a cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x89c8a5f1 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x66d7ffdb cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x0537bb4f cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x945229b3 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0xbe9589f4 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x611374eb dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x9a1a9ab0 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xa5a95cd7 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc04d0f4e dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc7de4655 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x07f9bb7a dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x18ee4c17 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x31b4187c dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x36b0dd07 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5352f15e dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x57939fb9 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x712d1fe5 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x808fbd22 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xa3a828bd dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xaa16fa42 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb8b108f7 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xbf66a219 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc64498c5 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xce89fe93 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd0b16ad1 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x0eff6f4c dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x048d6c5e dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x184ab4b9 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x890fc4c0 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xa87c2c5b dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb8146adf dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xc4d5e981 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x0b60dbb9 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x6078e542 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x829d0290 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xb6dc3584 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1802eb7a dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2dee6786 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3f7f051b dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5544b081 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x65c9ceca dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7ad57964 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x83e00017 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x850e3d29 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa194d0c0 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xde85c784 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xdee696c3 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe21f22e1 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe50acd4d dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf0b2d2d2 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xfd48996d dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x101617f5 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x345a85b9 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x436b8549 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x548e3efd dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x609037fe dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x62528b7f dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7b583e95 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8af27b4a dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x9406ce53 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xacb9ccd6 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xaf7edfa9 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbdbd75aa dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc9202cee dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xcc0a8a33 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd0e67834 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd5eef236 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe7dd256f dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xee94baba dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xfbdf2356 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x00972790 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x19b265c2 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x258635f6 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x2843c5a9 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x3a395202 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x544b3cff dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x548f3bc3 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x586ed0de dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x8161154c dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x8993dd84 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xa7936ece dib9000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xb43c13aa dib9000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xce8d47ea dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xdc798b40 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x1786e744 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x5ffb0ec8 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x73791827 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x87318da2 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x9e479dcc dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x12fc4a2a drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x3a5d44a3 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xe9d50dfd drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x0233d137 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xfcfdcd72 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0xf5ae05cc ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/hd29l2 0xaadf12c6 hd29l2_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x2a9d03a5 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xdc207767 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xcfc62dae isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xf03fc7a9 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x3cce789b itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x86e2b3d1 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xe1ae23e4 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0xda9d8645 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xee65e2e7 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x76a46fff lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gl5 0x4a40b677 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xfca524da lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x2920b1f4 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xcfdc6642 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x3a4288d2 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x8b52b25e m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x73bd9f09 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x5d3db168 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x7c9b9ad4 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xa3ffdde4 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x6096fe40 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xc90a1e90 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xfcd17bd5 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xd582265d or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x157a13f0 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x2252cb3a rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xbc63edb0 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x0105dccf s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x44db1222 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xbdd95620 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1432 0x93cdb21e s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x913da0df s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x8636fb40 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x03b73f03 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0xa41796b6 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xe58f5713 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x717fe10b stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x4e63444e stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x1903be66 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xfb19da26 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x852119d4 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x14630500 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x8ea99d2f stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x71ef66ec stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x447e7629 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x61a30855 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x17817599 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x1e086e9e stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x04358899 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xb1c4ea27 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x1c4c881f tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x1be910af tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x7bd05920 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0xf9c35621 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x02df7e64 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x94608cb5 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xe562982f tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x6545e918 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x8b9e57be tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x39b3f0ce tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x45bb7428 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x25f044e0 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x8c83cba0 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xb91dfd6d zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x69b3845d zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x1b404ed8 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04acce4f lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x3061f5c0 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x706af9c0 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x78110a1f lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x9dce1496 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xa34ce8e9 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xb9155e66 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf464c99a lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/rc-core 0x33f11c3c ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0xaf95f719 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x6b749581 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xd94fc945 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x3db8be82 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx2341x 0x4e676f6a cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x7586b17a cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0xc184ec1e cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf76ce95 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf8b77a4 cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0xd187dfb1 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0xd8a3779a cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/video/davinci/vpfe_capture 0xb053ced9 vpfe_register_ccdc_device +EXPORT_SYMBOL drivers/media/video/davinci/vpfe_capture 0xbca1dd7c vpfe_unregister_ccdc_device +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x088ccec9 vpss_select_ccdc_source +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x319709a6 vpss_clear_wbl_overflow +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x54146824 dm365_vpss_set_sync_pol +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x6e5b5413 vpss_enable_clock +EXPORT_SYMBOL drivers/media/video/davinci/vpss 0x749bf2c9 dm365_vpss_set_pg_frame_size +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x0c82bb77 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x1ac60910 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3b4880a1 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x426ba11a gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6b940b54 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6cb31d2c gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa0c25235 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xc55bb911 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe1df232a gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe6ba9bdb gspca_suspend +EXPORT_SYMBOL drivers/media/video/soc_camera 0x02f4fdf2 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1937fcfd soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x2194782f soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x2db0a957 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x6fb2102f soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe0cefdfd soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x500b8255 soc_mbus_find_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x61871f65 soc_mbus_bytes_per_line +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x7371455d soc_mbus_samples_per_pixel +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xc8b28da5 soc_mbus_config_compatible +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xde30e6b9 soc_mbus_image_size +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xfeaea44b soc_mbus_get_fmtdesc +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x0fafbd0e tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x359e4e16 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xa7c25557 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0x53a3dd18 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x817914ec tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4adaf0f3 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x53c9394f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5f96a661 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xb4bb69ad v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd371ac88 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x49a52462 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x8612b616 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xc6845873 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1a315e83 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x66d0c593 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x6f473da9 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa0b2b290 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xcfb45fad videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xde9c468c videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x5f6e23e5 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x03a846f6 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x079ca870 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x0d99a55b v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x13355c3d v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x16310292 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x1e335a16 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x24fa8064 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x28e32207 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x2def4f2f v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x33cd0d02 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x4590218f video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4af15a06 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x55213c57 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5b835d3a v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x61944f55 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x641c4671 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x69fa2dca video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x6f5aa18f v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x7155f80c v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0x77637058 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x7771ebfb v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x835b6025 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x85b37974 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x91a9ad54 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x96c3a076 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x9b47141c video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0xa2342123 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xb1bab127 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb85f8e3b v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0xb99a3054 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc321d7bf v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd353b2b0 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xd6eaab33 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xd785a33c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xdd0462e6 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe0e4d2c7 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe1155fda v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe2f064aa v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xe72ab1af v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xec4bc368 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xf1e00e94 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xf321cc5e v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf902d7a6 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0xfb959f0c v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/memstick/core/memstick 0x039da37b memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x068cc1f2 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x09cb21a6 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1b7c50bd memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3c238ab6 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x491849d7 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6172129a memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6bad9301 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x87cafa55 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9510aa59 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9bc9cb1f memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe818cbde memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf7ebd94d memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xfd220c24 memstick_detect_change +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x73d5c815 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7a1f7e90 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x3419ce22 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x421d07cf mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x52a43c43 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x79daa017 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x81a7d67c mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x83da0b30 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x963f337f mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xafcd9425 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb1abbead mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc254f8d0 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe2bc44bd mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe83da83b mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf576d2d4 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/tps6105x 0x1da62955 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xa55a7bcf tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xb79ddff4 tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x015ee601 pwm_free +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xa4ee3c79 pwm_disable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xaee34e3d pwm_request +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xd83c7949 pwm_enable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xdeebfb06 pwm_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x0cd41374 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x340ccf7b ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x51ea2fb0 altera_init +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x0e9755b9 pwm_channel_free +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x5a8b82f9 pwm_channel_handler +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x5d5c2951 pwm_clk_free +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x6a5e1f70 pwm_channel_alloc +EXPORT_SYMBOL drivers/misc/atmel_pwm 0x73330c97 pwm_clk_alloc +EXPORT_SYMBOL drivers/misc/atmel_pwm 0xeb7f2c6f __pwm_channel_onoff +EXPORT_SYMBOL drivers/misc/c2port/core 0xca80f71d c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xf5c88e47 c2port_device_register +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x1f211fd5 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x68a4382e dw_mci_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x82e8e972 dw_mci_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xc3c41d07 dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x6d3deee9 tmio_mmc_sdcard_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x7a6fd700 tmio_mmc_sdio_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x845e58f9 tmio_mmc_host_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x84652d71 tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x870ba1b5 tmio_mmc_host_remove +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0x895f830a tmio_mmc_host_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xb22a0b0a tmio_mmc_host_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc8cb70ad tmio_mmc_host_probe +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf02062dd tmio_mmc_card_detect_irq +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x6a3ba95f cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x858722e0 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd23dd5fe cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x1883d471 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x054c5793 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x331f9f1a onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x83b2bfcc flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x8d282c57 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfb96e658 onenand_scan_bbt +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x2e8e21d6 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4d4ea111 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4d6c2f02 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xdcd11377 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf1d1c1c2 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x0fa10505 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x446c7a99 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x5a64f249 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x812f9f28 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x9bcbe26e sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb20e7ad5 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xcda4a29f irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd641cbbf irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdc001b4e sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf8712f1b sirdev_raw_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x297de3c4 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x6e393564 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x5bd2fbc5 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x67aad602 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd6edc9eb register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0b0be693 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x21141443 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x22514b90 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3f721749 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x626f3324 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7cb2b166 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x81c29256 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb5033747 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb610a372 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd62a905f unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdddf18ad alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x014008d4 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x147b1d48 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x17c11bf9 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1f59bb28 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x24fe812c ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5116e718 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x64b98ed1 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6a0cc2a4 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x743ae73d ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc5cee88e ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x169fa2e0 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4fa8ac7d ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x605b9c78 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8e04969e ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x95596c26 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9dbbf583 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9eebd1e9 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xbac8ad3a ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc64f475d ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xcaa8fb07 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x065b8fe7 ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fbab7eb ath9k_cmn_update_ichannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9c392ca2 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcb47176a ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf72ed9af ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0246849e ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x029d1b32 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b4cbd14 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x108c04d1 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1323b089 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x19b9c548 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1bd63c48 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1d3b2438 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1ea5d529 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f039a3b ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f9865bf ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fc14c4b ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27ccc8d0 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c8ffa0c ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f8c750c ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x321d2485 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3696d68c ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d9c5c1f ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f74e618 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4030154a ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x424756e3 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4290bf64 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x431599f1 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x435d26e7 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x442bb5ab ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4533ba14 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47037779 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b3d7600 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53ce84bb ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x556e3fba ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d40d6a6 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fcd272c ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6287acab ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x640d95da ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x678c6610 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6ba62bb1 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d4e4b03 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x725633f3 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7279edff ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74bf5713 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x799b2ead ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79b596f2 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ec7e21a ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80158713 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87befaa9 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x884bf0ee ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b7319b6 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c66085f ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8db0f0fa ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f5946f6 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x99989de8 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9b6ba424 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c451f3b ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d659a4c ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9a7e382 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9e31471 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac4dc4aa ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad195956 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad98343a ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb22337cc ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb231dde7 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb448f48b ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb77aa6c5 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb8e6d090 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbfe591fb ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc11cfc62 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1ab7b37 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc351b931 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3816922 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4e52da9 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc66cf521 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9188578 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc8e58a5 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd93524a0 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb378d2b ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdbd3f73d ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdea34e55 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdf48c7bb ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdf6f0034 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdfe208cc ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe138ab5e ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe3664a23 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe607a209 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8bbbdae ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec27e35d ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xecfd4d07 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf02f0831 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf226d8a3 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf2722a5e ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9520b66 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfbac2f3d ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff8e8503 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x4d179264 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x8815db2f brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x15b3e810 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2313dc09 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2852be90 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2def7588 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6c46c499 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x7559afce brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x94f400c1 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xa75ae007 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xaa739d41 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xaf094015 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc26906e3 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd1f60e68 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x06f8dcd1 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1536377d hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1bcdb177 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x328e7dfc hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4858eb12 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x49863004 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4e2f16a9 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5522bd0a hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x578fe33b hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x579f1f97 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x746289af hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x78648fbb hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8e7ee529 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x90167100 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9b19377d hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9e146ae5 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xad6114e5 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc25c3f17 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc4ec086c hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcdb3bc4d hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd1d51613 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe0844821 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe4e3864e hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xee9b37d4 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf3820f9e hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x00d5c5c4 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0277a39c rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x033b6596 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0641809b rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1425a8df rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x14469949 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x16f19ccf rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2e6881c7 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x308e969f _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x342703f3 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x35cd204c rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3683f8ca rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a5fcf2e rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x419795e9 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x553a07b5 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5f22eb24 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6121fc04 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x652a65bf rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6c51953e rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6e32d099 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x724c9510 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x78c1bf5e rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7d5de51d rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x877c5c8b _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8837de89 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x96213492 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9a33673b rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9f02c459 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9f303546 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa6733ad1 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc0449609 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc1441f03 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd4821186 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdb1c2065 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdfcb2531 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe1b8df77 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe2951e3c rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeddfc9a2 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf33f4cfe _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf4eeb238 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf6af737e rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xff322aff _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0fc7a47f rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x14b228d1 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x1bc08a3b rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x222a2988 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x27bd422b efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2e7f3708 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3995ddcd rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x54faf6c2 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5d9ea56d rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5de61d39 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x60641073 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x67d1b24d rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x760d98e2 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8994a28a rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8a33773a rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xaf0873f8 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb81f5e5d rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xbbcd95e9 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd13ca5a0 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf4dac12a rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x9eeeede0 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xd1240596 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x10dcbc04 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x303b8a41 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x34d989e4 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3b4738a5 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x3cd07aaa parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x3d858f0c parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x404b335d parport_write +EXPORT_SYMBOL drivers/parport/parport 0x422fddd4 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x45d45ef9 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x614832de parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x6be78a02 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x7292ae1b parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x731e9b19 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x78f443d2 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x8542031d parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x8b564870 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x91680bc0 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xa0958587 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xa67872e7 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xada7ca53 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xb88544ec parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xbbd707c5 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xbe511fe6 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xc77b8246 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xd51e0feb parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xd64ca9ae parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xed281ec2 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xf0efdb16 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xf65bbdd4 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xff4befbe parport_put_port +EXPORT_SYMBOL drivers/pps/pps_core 0x5c5380d4 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xb03d138d pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xdc11f9f0 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x067dd9eb fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3c3e42eb fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5df7875c fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7e3f2365 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x95215bf2 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x96039f6d fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa6618cbb fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbb2ddaa0 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdc09e8d3 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xec7ab605 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf6cfcc84 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00f0d5cd fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x12ce9ffe libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13a98449 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x148994fe fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x221a0077 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25dafd0f fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x270a589f fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2bec3654 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2fd0f0f1 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x33cebe81 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x418a26c1 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4de2e0fa fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63520c05 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63dfd0a5 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x64d76a33 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x653995e5 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6e54d68e fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x742aa8ec fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7616f652 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x853a3a62 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8c3ec510 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x901caebc fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x91f82ed5 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x92dd3161 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d0a375f fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9ee755b1 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9fbdeac3 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa01db5a9 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa128ffd0 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa75eda00 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf75698e fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbb55a121 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbf7982d5 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbfa667b3 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc185c416 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9681fa5 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc9f35e1 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd3562a88 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4055e5c _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd48811ac fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4bda3bf fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xddd20574 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdeb552df fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe126db29 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xea84db09 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xecc49efb fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1dc0489 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf5b0ff6f fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfc106382 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xff216899 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/raid_class 0x4db423ab raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x7cf2e6fe raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xdb3e403a raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2fbfa2e8 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x59ba0342 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5c058cba fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5fbf5340 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8095d5da fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8c716663 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8e17862e fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xade92552 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb9cd8b8b scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbeacf183 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc0a23c93 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc740a216 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe129b602 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x059d60e2 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x081784e2 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0b75b294 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x103428a6 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x111ab09f sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x22ac62cd sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x29961997 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x32dabafd sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4f70d085 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x609beb10 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x684e73d9 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7652b03d sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7f54cfa3 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x82a7d9b0 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8553c6d2 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x862ec35c sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9e323ca3 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa156867d sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa3951a88 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaf8d71a5 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb41a7f21 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb5320d5b sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb767b1f0 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc535fd0e sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xee11f935 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf8067437 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfa6ff211 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfeabffae sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0c79bcca spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x1773818a spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x863b5b37 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x95780337 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xeef0328f spi_attach_transport +EXPORT_SYMBOL drivers/ssb/ssb 0x024317cf ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x16ed71d1 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x17f17089 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x1fcd249d ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x29519c78 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x5cded20b ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x68b7483f ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x700e3aec ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x915853a9 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xa6ad88dc ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xa92908f3 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xab1587fb ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xaf20c559 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd4b5ec6b __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xe4051e90 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xec6f43bb ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xf6d6b88d ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xf891a5d2 ssb_device_is_enabled +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x63b3f696 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x6980be56 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x2fcf765c ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x57c0a27b ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x64d71cc6 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x7d201023 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x11663099 phone_register_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x44d457b1 phone_unregister_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x06fcc831 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x09a9e21f core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x0bc3ab3a transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x0f447653 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x0f92b9a5 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x1acf180c core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e608a20 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2ada2590 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x30f8d43d fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x40cead88 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0x4380beb3 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x48925857 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4897443d target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e94c214 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x52543c83 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x543a5539 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x54f3be27 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x58e2ba91 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d624730 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x65752bf8 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x665a85e9 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e0f0f89 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e382c07 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x72f3bd80 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7667519e transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x7ab8b6e9 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x86e55426 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x8a1e5346 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x8f0aa621 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x94a71d7b target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x9b8b0c27 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9d149c68 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x9d54e225 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2402d91 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4020ecd target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xab4b5154 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xafe95f09 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb030ece4 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0xb123756e core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xb61c2a10 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xb82010ed transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xba98ed14 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xbed41501 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4d340fe transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4f3063e fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xc7212844 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xcfa61261 core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xd69ad427 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xd9f1c850 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0xdcb2679c transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xe1cd5158 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xe6033d0c transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xea59b08d target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0c1c039 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xf1d44402 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3dee75b target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0xf767793b transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf7b17aa0 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf865e61a transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf955ebe1 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xfd0857d2 target_submit_tmr +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x44bab3bc usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x9268f5b9 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3166be4b usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3bb60f16 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3f87594d usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5736ef0b usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6616a2d7 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8f416bc3 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x949cbb9a usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa8230d52 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb8bc95b8 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd010b5a2 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xec222834 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf078e26a usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf220fb41 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf9c6ca1f usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xfe793ac5 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x3dfde711 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x8d301b64 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x50fca6ee lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xef1ee424 lcd_device_register +EXPORT_SYMBOL drivers/video/output 0x774cf3dc video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xc8fce31f video_output_register +EXPORT_SYMBOL drivers/video/syscopyarea 0xfbd02b12 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xb092aca2 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x2c840af1 sys_imageblit +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0f53876c w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x663cb2e3 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x9511365c w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xa9e45de3 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x1195f198 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x3e4c04bf w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x5017c94a w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x0af3a6ed w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x5ab214a1 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x6fb42325 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x25547c11 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x957d288c w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xaa359887 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xfe388128 w1_register_family +EXPORT_SYMBOL fs/btrfs/btrfs 0x013333ed ulist_alloc +EXPORT_SYMBOL fs/btrfs/btrfs 0x2e965c58 ulist_add +EXPORT_SYMBOL fs/btrfs/btrfs 0x42d57ce9 ulist_reinit +EXPORT_SYMBOL fs/btrfs/btrfs 0x58cbfcc2 ulist_free +EXPORT_SYMBOL fs/btrfs/btrfs 0x8ab177c0 ulist_init +EXPORT_SYMBOL fs/btrfs/btrfs 0x8e313eff ulist_next +EXPORT_SYMBOL fs/btrfs/btrfs 0xccdd7b95 ulist_fini +EXPORT_SYMBOL fs/configfs/configfs 0x0653a821 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x14f83a4a config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x18cece8d configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x29fc20b7 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x60dad423 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x68793730 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x932a60ee configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x9ed4b7e5 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xcd84fc2c config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xe3ebe5cf config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xe71c86bf configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xfaa08d9f config_item_init_type_name +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x08b9fae8 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x185066ea __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x248bf390 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x2a9f07d8 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x2de88957 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x394c16e9 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4d358829 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x51da5501 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x52d78c48 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x5451bc37 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x575fbe74 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x71c479f0 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x76a1ddca fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x7de60698 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8f9d3740 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x905d48a9 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x9ba93f7f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb9cd5cc2 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xbe1cc854 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xc17ab381 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xc28ec1f6 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xc393896f __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xe09c5970 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe279f729 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xe340ffbd fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xecfd9309 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xf7efccc5 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/nfsd/nfsd 0x0c8d6829 nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/nfsd/nfsd 0xcbb738be nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x08835b40 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xa6c16ac8 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xb60702bd qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xce57ede0 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xfe2655fc qtree_entry_unused +EXPORT_SYMBOL lib/cordic 0x434bfd07 cordic_calc_iq +EXPORT_SYMBOL lib/crc-ccitt 0x3771b461 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-itu-t 0xf5b4a948 crc_itu_t +EXPORT_SYMBOL lib/crc7 0xa7587646 crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/crc8 0x41248eaf crc8 +EXPORT_SYMBOL lib/crc8 0xab9ad613 crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xd4534d80 crc8_populate_msb +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0ea7c60a lc_del +EXPORT_SYMBOL lib/lru_cache 0x236f6654 lc_create +EXPORT_SYMBOL lib/lru_cache 0x4308237d lc_get +EXPORT_SYMBOL lib/lru_cache 0x58f461a7 lc_set +EXPORT_SYMBOL lib/lru_cache 0x604890a6 lc_changed +EXPORT_SYMBOL lib/lru_cache 0x617b0ecd lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x78e92b13 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x831045dd lc_reset +EXPORT_SYMBOL lib/lru_cache 0x9a21924a lc_put +EXPORT_SYMBOL lib/lru_cache 0xc388d3ac lc_try_get +EXPORT_SYMBOL lib/lru_cache 0xcea4d17e lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xcf5f0864 lc_find +EXPORT_SYMBOL lib/lru_cache 0xdd7a727f lc_destroy +EXPORT_SYMBOL lib/lru_cache 0xed91c002 lc_element_by_index +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd9e91f83 raid6_vgfmul +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x315c65fd zlib_deflateInit2 +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x48034724 zlib_deflateReset +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xaf64ad0d zlib_deflate +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8022 0x58d44693 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xba306610 unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x80b8fcdb make_8023_client +EXPORT_SYMBOL net/802/p8023 0xec8b3214 destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0xc566748b register_snap_client +EXPORT_SYMBOL net/802/psnap 0xcc0b3014 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x07013c09 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x09d503e4 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x09e80be3 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x129c33b3 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x143d1b0f p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x1abb17b3 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x1b0a1994 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x22b90756 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x35d284a3 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x36ae5972 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x38f25524 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x392fca2a p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4198eba2 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4bd1bda1 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x4d44d7b2 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x5a74db60 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x5b084bf0 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x5beda366 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x5c801513 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x66dae997 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x69453ce6 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x6a933eb2 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x6d7dcc6f p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x88e5f5d0 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x8adf7f54 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8f2828f1 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9086eba3 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x9663709f p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x97a42703 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9e3e8ea9 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x9e9e1eba p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xa1bd407c p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xb53881d6 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xc3570279 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xc3816591 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc8d21a4c p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd0ef7ffe p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xd8f62fe8 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xdb478d17 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe0b90bbd p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xee7bc5e5 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfad5f67a v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x671933de atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x9c068b71 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xd1a3eafe alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xe2b99c3d aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x0404816c atm_charge +EXPORT_SYMBOL net/atm/atm 0x092266b5 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x0f03898f atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2f14abc6 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x5c2373bb deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x5eee26a1 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x685725c1 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x69ecfc4e register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6db7d470 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x7c6376e7 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb9251f62 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xddc13f23 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xed8510fb atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf5eab1ab vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xfd1d1197 atm_alloc_charge +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x28dd5a3e ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x3279fcea ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x3da39025 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x93e3a330 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x9be923d2 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xbdf069f4 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcd1a155e ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xdfe7d125 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xf1ed2856 ax25_find_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x13eced61 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x19e3249c bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1a951e8a bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x275dbb3f hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x33f0afd7 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3ecbd381 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x48760bfe hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x569df221 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5aae1bb9 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c11dd7c hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e324c1a bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8c52b7b6 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x921270e1 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92c45f7c hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x930a0aa4 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x95c1e9ba hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x96840e07 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9e8252e6 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9eee8fe0 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa21fe27c bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaea52286 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb85d30ad hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb8e50448 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbc496133 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbdc9401f hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbe9633c4 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0e10d7d hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc8afdce1 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdac410a9 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdb2fc4c2 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdd88faac hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdec707eb hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe4ca58fc hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe6f59e83 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe813bad9 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xecf439c2 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf56dc909 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf57dda27 hci_recv_fragment +EXPORT_SYMBOL net/bridge/bridge 0x121420c9 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xae0010f4 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xb7720510 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc383ac44 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x4f5de4a6 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x6a44fc70 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x8846694d caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x966d7de2 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xbb2cbacc cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xcf5c8159 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xe62619f0 caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x46cbe819 can_ioctl +EXPORT_SYMBOL net/can/can 0x5a1d8e0c can_rx_register +EXPORT_SYMBOL net/can/can 0x8ca60a3e can_send +EXPORT_SYMBOL net/can/can 0x9dca4b9e can_rx_unregister +EXPORT_SYMBOL net/can/can 0xc643a40c can_proto_unregister +EXPORT_SYMBOL net/can/can 0xed340507 can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0ecb902a ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x1046af16 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x12ccd2f5 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x15773d80 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x21625921 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x2e1a0d6a ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x2e1defb9 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x31b64760 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x32ab57f4 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x3354a6ea ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3695d8d1 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3c389724 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x4352152d ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4a075f1c ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x51e99e73 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x52a978f6 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5be89240 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x63168c5a ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6706807d ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x6a5828b1 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x6d2d06a1 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x6d9a7f46 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x6ed41be2 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x701dacdf ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x733fd687 ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x73526c61 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x77692acb ceph_msg_last_put +EXPORT_SYMBOL net/ceph/libceph 0x788410e0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x7f8dc4aa ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x84ee3424 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x8950018e ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x908eab3f ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x93ee2410 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x97ac5bf9 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x993a3fbf ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x9db4f850 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa13e0014 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0xa1a05bdd ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xa2e4f632 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xac70d5a4 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb25d1c2d ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xb27f85df ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xc08da5ac ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xda7014f2 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xde993e07 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xdfa03d91 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe016f874 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xe7139033 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xe785e135 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf5895b34 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xf598aeb1 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfd603648 ceph_con_send +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x022586c0 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x010f6023 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x13ac81a4 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x155b5f69 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x6b5e7169 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7137fdde ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x89884b8b wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8a06a10c wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8c6c6b2e ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9cf2a50a wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xae596df3 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xcfc86d25 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd468f4a4 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe8a78c47 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x0b334f3c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x1afffe13 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x92c528d1 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x48a50303 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x6fd1498a ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x8d15345d ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x345317a7 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x74b9c3ce nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x86495e02 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x8b3f79cb nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd58ed372 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xde6aba29 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xf1c5cde8 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x54a1f26c xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xfac02b9c xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x84790fbe ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x92b0018b ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xa8e79f4a ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xad9813fe ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x5af67354 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xba52d823 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x19235f8e xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xec0e3279 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x22ed7aaa ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x32b6a431 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x61dfda97 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8ef7937c ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9bb58555 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa0a6714d ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb467e6d1 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd8dbac13 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x096cddd2 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x0f0ae586 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x22caf86e hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x2979b8cf iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x2d3765bc hashbin_find +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3d18d030 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x4313e6c7 irlap_close +EXPORT_SYMBOL net/irda/irda 0x4479ef51 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x45a2f24f irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x538d5d22 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x540d8edf irlap_open +EXPORT_SYMBOL net/irda/irda 0x572583cf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x5f55c3a2 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6cd36aa5 iriap_close +EXPORT_SYMBOL net/irda/irda 0x6cdd634e irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x74c6eb16 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7816823f irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x790becea irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7aa1ddbc irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x7de04a81 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x80da7829 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x8d5161d6 iriap_open +EXPORT_SYMBOL net/irda/irda 0x8f4ea8f9 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x929a281d async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x984311dd async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x98a88252 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9f28222e irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xa4bbb19e irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0xaab83c1a irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xb5c93e6b irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xb710786e hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbdecf38c irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbf285a4c hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xbff388a5 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xc3a512dd hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xdbd0bd0f alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe293c695 proc_irda +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xedf805a9 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0xef16660b hashbin_new +EXPORT_SYMBOL net/irda/irda 0xf104cd63 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xf642886d irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xfacffdef irttp_connect_request +EXPORT_SYMBOL net/l2tp/l2tp_core 0xd9c001a0 l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x029ccc46 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x2957d211 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x63360063 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x711035ef lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xa4c9dfa2 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xc8cf0f99 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xdd890518 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xf2e0ca79 lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x0ce46099 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x56018e1f llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x89dd5751 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x9656f8a0 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xab4b087f llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xbbe44c7e llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xbd8f5a91 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xdd61d260 llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x04d6616e ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x18873929 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x1a128b6d ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1b36b22e ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x21b12cb8 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x237bde07 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x25593baf ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x306fc9b3 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x32682c4d ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x339a5cf1 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x3b0f1aee ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x3c15bf83 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x3c7cf178 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x3e4d18f7 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4206f608 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x427018e9 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4381504a ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x4999c1c8 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x4d766d2a ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5dff677b ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x60426775 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x6305e232 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x67edd6d6 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x7099b57b ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x72861013 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x73fdaf04 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x776725f7 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x789c0ebc __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x79e2fe89 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7e5f3c63 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x81eb2d01 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x8499461c ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x876a17ea ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x8ffa761f ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x9185a304 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x9318973c ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x94e93f2c ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa80b1188 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa84eb30a ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xab3e1ba9 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xac68ad75 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xb972eec0 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xbd0bec5c __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xbf1d9235 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xc5276dd5 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xd37350ae ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xd5d8dd23 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xd726e7fd ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xd984a091 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd9e51bae ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xdc9fae18 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xdfcd02cb ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xdfee1875 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xe063d632 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe388381b ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe64a1fff ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xee265b78 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xf12a6afd ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xf249a2ee ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xfe3dbea9 ieee80211_rts_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0620b4e4 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0a0345ee ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0c5cbd3a register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x64cc4dae unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x68eaaee2 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6d707c84 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6f8e2052 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x74c530fe ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x83b71463 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9811ed78 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc8d5e666 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd246528a ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe1033536 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfe5463a7 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3c3fb8f9 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x78d63297 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xf1969e50 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x75f148a5 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x1306f9bb xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x5abed98d xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x6fa1ea60 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x7396af0e xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8a92780e xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x9c776185 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xa045fc98 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xa37e46d2 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xc6510d73 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xd42402a3 xt_unregister_targets +EXPORT_SYMBOL net/nfc/hci/hci 0x0a04cb31 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x175b4301 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x1ad89e8d nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x2ab9ef21 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x2e979298 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x49484ee4 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x4c3799ba nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x53df246a nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x5b0bb163 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x678c7915 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x7433da25 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x750d4121 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x93fb4e6a nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xa5719075 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xa79cdf89 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xadd2f23b nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xbcf76867 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xd8b5b9bd nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xd97fde0b nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xda7e9cda nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xe0182c59 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x47b02c80 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8aeca1ab nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8faaf139 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xca971d59 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xf4fa6cf3 nci_free_device +EXPORT_SYMBOL net/nfc/nfc 0x01c9db90 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x0923e7b4 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x0d1bf74c nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x176224e0 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x31db101b nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x771d6d70 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x7c81c468 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x96f8cb36 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xae97fcc3 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xda8464e5 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xf6b9c86f nfc_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x16c6bf5d pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x2c2163bb pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x2e984528 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x55b387ad phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x68a87227 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xc0bf8636 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xc6b3ed3d phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xe248efda pn_skb_send +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0de28f77 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x172b7cad rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3b18d792 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x443879c6 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x652bec5c rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x69df0447 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x7a99b6e5 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8637d7aa rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x863b648b rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x99c573fa rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc0cd94ba rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xcdc4dfea rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe177092b rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe595862f key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf6da2895 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/sctp/sctp 0xd1bc5a94 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xe26825f7 svc_pool_stats_open +EXPORT_SYMBOL net/wimax/wimax 0x55c046e3 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x87152bf0 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x01b81f6b ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x03fc2b13 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0fa5ff0c cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x1304b3b3 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x149f34de wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x17fcecf6 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1d00c203 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x22493c5a cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x23371e76 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x24a30b48 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x25f80951 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x2a6e5919 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x341d928f ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x37969e6b cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x3ff2dc27 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x497b6924 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x4c6ae6ea cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x576ddbb6 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5bc0f241 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x5c09145d cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x5d90037a cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x5e6f7612 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x5f251bf3 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x60e3b627 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6a1fe1bb wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x6ad40fe6 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x71381bd3 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x75a0a26b cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x784d919d wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x7dd60f95 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x845bd6ae cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x90462f55 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x907fac77 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x96370207 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9c722553 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x9f75c4a9 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa4bc02ce cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xa5df9136 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xa7d6d593 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xadea8307 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0xb12fbddd cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb52656ca __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xbf8b474e wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xc0ae4c28 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xcc2e5737 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xd177499b wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xd55a55b7 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd608f48c cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xd9edfcfe cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xdcf96552 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xe105627d cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xe16c8acb cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xe34389bd regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xe877c86d cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xf74bdff7 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xf83748f0 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xfa1025ac cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x8c8ff85a lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x9ac13e08 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xb56a9be2 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xbd3e36fa lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xdd5ef2a6 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xfb8e9dcf lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0x74ed1711 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xf5e09b56 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1b7e2a11 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x2928b118 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x743f2c18 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xc731dfdf snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc951b4ee snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xedf710d6 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x0df2e317 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x26885c56 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7ab3ab98 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7ddf2a2e snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x85c27c7a snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x85e4ac82 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd4945484 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xfcf964a7 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xc97fcc86 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x08c321f8 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x11259979 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1b90049e snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3d74599c snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x52959c67 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5360c370 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x54320146 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5f85c636 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6317463b snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6fa66d6d snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7cffbbec snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x956118d4 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa0149249 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xae8d5c6a snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb994ee53 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd586c7f3 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd5fa0d62 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf88f091e snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x0428ffe1 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0f8e7dbd snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x18edb454 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2c6e7a6e snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x339d3b80 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x463c867d snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6e6c8065 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x748c10e1 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x75923f3e snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x80605d94 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8354325d snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x92853cfc snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9bc797ed snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa13de84d snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xac2ff0cf snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd029c41e snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf2cd0f78 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xff7b2e2a snd_ac97_write +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xc9afa1cb snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x000485a4 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x00591107 snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x00658d2c snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0081030e omap_vram_reserve +EXPORT_SYMBOL vmlinux 0x00834128 journal_forget +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00a95e4e sock_wmalloc +EXPORT_SYMBOL vmlinux 0x00cd2e09 snd_info_register +EXPORT_SYMBOL vmlinux 0x00dceeb0 snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00eef49e __strnlen_user +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0127ddb9 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x013ac379 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x01424f59 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x0174452b nf_reinject +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01942576 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x0194b91e omapdss_default_get_recommended_bpp +EXPORT_SYMBOL vmlinux 0x019f24ff vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x01a3d310 omap_set_dma_channel_mode +EXPORT_SYMBOL vmlinux 0x01fea6ed usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x01ff4d37 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02153e8c blk_init_tags +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x023395f2 register_sound_mixer +EXPORT_SYMBOL vmlinux 0x024bf88f omap_modify_dma_chain_params +EXPORT_SYMBOL vmlinux 0x024fe8d5 udp_table +EXPORT_SYMBOL vmlinux 0x025132c5 dpi_check_timings +EXPORT_SYMBOL vmlinux 0x02573b36 omap_disable_dma_irq +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0270897f bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x0283e58e account_page_writeback +EXPORT_SYMBOL vmlinux 0x0290424c serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x02951aa1 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x02a0d156 gpmc_prefetch_reset +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02a72712 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x02c0f525 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e92e64 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02fbd1ef journal_clear_err +EXPORT_SYMBOL vmlinux 0x0302c48b idr_destroy +EXPORT_SYMBOL vmlinux 0x031ba9bf atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x032c19e0 md_flush_request +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0347d6d6 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x03575583 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03a7452e call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x03b2e7fc blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03cf264b input_close_device +EXPORT_SYMBOL vmlinux 0x03cfe351 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x03d1442a udp_poll +EXPORT_SYMBOL vmlinux 0x03e0f1b7 __lock_page +EXPORT_SYMBOL vmlinux 0x03f33c4e jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x03f73bd9 kernel_accept +EXPORT_SYMBOL vmlinux 0x03fbe437 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03ffa31d bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04cb6240 files_lglock +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04e72eb3 input_register_handle +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x0502bd21 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x055e5142 lock_may_read +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x058baeb7 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x058db3f5 up_read +EXPORT_SYMBOL vmlinux 0x058dc601 dump_write +EXPORT_SYMBOL vmlinux 0x05baaba0 wait_for_completion +EXPORT_SYMBOL vmlinux 0x05c97631 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x0604ed05 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x0615619d vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06184fe8 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x063377f4 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0650191f d_move +EXPORT_SYMBOL vmlinux 0x06597d99 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x065de4ad vfs_statfs +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0685bd45 kernel_connect +EXPORT_SYMBOL vmlinux 0x06a50a92 put_tty_driver +EXPORT_SYMBOL vmlinux 0x06b43510 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x06b933df md_finish_reshape +EXPORT_SYMBOL vmlinux 0x06d33a8d nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x06e3ae8c __frontswap_load +EXPORT_SYMBOL vmlinux 0x06e3bed6 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x06e695ed set_page_dirty +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0722c8ec proto_unregister +EXPORT_SYMBOL vmlinux 0x0723161a blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x0730ed21 d_lookup +EXPORT_SYMBOL vmlinux 0x074145ea tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x0762a46f blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x07644e40 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x07692944 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07bfc27d tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ccc3ca ip_defrag +EXPORT_SYMBOL vmlinux 0x07d80eaa mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07db5a49 free_task +EXPORT_SYMBOL vmlinux 0x07e7750e mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x0828dc3e kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0864d9f2 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x0884c74f simple_empty +EXPORT_SYMBOL vmlinux 0x08c761c1 unlock_super +EXPORT_SYMBOL vmlinux 0x08cc5487 get_gendisk +EXPORT_SYMBOL vmlinux 0x08ded414 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x0902028f phy_device_free +EXPORT_SYMBOL vmlinux 0x091c5b10 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x09241a97 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x09360eba omapdss_dpi_display_enable +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x094a3650 set_blocksize +EXPORT_SYMBOL vmlinux 0x095be8f6 __nla_reserve +EXPORT_SYMBOL vmlinux 0x095e1056 vc_resize +EXPORT_SYMBOL vmlinux 0x0961f5e8 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x09743f50 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x0978e8d3 do_splice_from +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09967fad scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x09b336f6 inode_only_permission +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09dd5537 __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09ed46b0 neigh_table_init +EXPORT_SYMBOL vmlinux 0x09ee32ad snd_timer_start +EXPORT_SYMBOL vmlinux 0x0a0c3655 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x0a189f33 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x0a19fd2d omap_dss_put_device +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a49a076 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x0a5440b0 sock_map_fd +EXPORT_SYMBOL vmlinux 0x0a6ec9e3 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x0aa13d05 __raw_readsw +EXPORT_SYMBOL vmlinux 0x0ac2e8b7 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ad5fb6f down_write_trylock +EXPORT_SYMBOL vmlinux 0x0ae42de2 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b133c1c open_exec +EXPORT_SYMBOL vmlinux 0x0b155328 submit_bio +EXPORT_SYMBOL vmlinux 0x0b1571c8 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b351ada mempool_resize +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b4b02b4 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x0b5678aa skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x0b573769 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x0b693051 release_sock +EXPORT_SYMBOL vmlinux 0x0b69a29f down_trylock +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7dec18 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x0b90e80b proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x0ba5e7f2 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x0bc4416e phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bd65960 sock_init_data +EXPORT_SYMBOL vmlinux 0x0bd832da softnet_data +EXPORT_SYMBOL vmlinux 0x0be650d5 tty_set_operations +EXPORT_SYMBOL vmlinux 0x0be8f5d9 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x0c0119e2 skb_seq_read +EXPORT_SYMBOL vmlinux 0x0c0202db filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x0c09b60b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x0c140093 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x0c1faa4d __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x0c33d996 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x0c35f2c6 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x0c5029a9 seq_path +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c5dc4f3 vfs_open +EXPORT_SYMBOL vmlinux 0x0c5f7d84 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c911940 sock_no_poll +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0cacd1a2 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb67ae3 dev_load +EXPORT_SYMBOL vmlinux 0x0cdd158d sg_alloc_table +EXPORT_SYMBOL vmlinux 0x0ce025a4 inode_change_ok +EXPORT_SYMBOL vmlinux 0x0ceb6983 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d70224e jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x0d8ae393 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x0d910ea6 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0daf568a current_fs_time +EXPORT_SYMBOL vmlinux 0x0e0f884d journal_get_create_access +EXPORT_SYMBOL vmlinux 0x0e328a64 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x0e4c4559 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x0e4d3d8b dev_open +EXPORT_SYMBOL vmlinux 0x0e4ff06c ppp_input +EXPORT_SYMBOL vmlinux 0x0e51cc03 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x0e62e9ee seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x0e674bd8 iput +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e893437 lg_lock_init +EXPORT_SYMBOL vmlinux 0x0ea99f50 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x0eab8424 file_update_time +EXPORT_SYMBOL vmlinux 0x0eb2fce2 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x0ec98808 ida_init +EXPORT_SYMBOL vmlinux 0x0ecb849c netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x0ed21f4f blk_sync_queue +EXPORT_SYMBOL vmlinux 0x0ed9460c generic_file_open +EXPORT_SYMBOL vmlinux 0x0ef35e67 netdev_printk +EXPORT_SYMBOL vmlinux 0x0f04db3e phy_register_fixup +EXPORT_SYMBOL vmlinux 0x0f0ce1a8 simple_write_begin +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f860f81 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x0f93d4cb scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x0fa2a45e __memzero +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fc1d942 inet_getname +EXPORT_SYMBOL vmlinux 0x0fe680a6 dquot_disable +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ff74cb0 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x0ffa8302 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x100a9911 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x10101c3c __lru_cache_add +EXPORT_SYMBOL vmlinux 0x102aaba7 abort_creds +EXPORT_SYMBOL vmlinux 0x1032454e input_unregister_handle +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x10d1a6ff generic_block_bmap +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110a4cbb seq_release +EXPORT_SYMBOL vmlinux 0x11236661 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112748bd omap_vrfb_adjust_size +EXPORT_SYMBOL vmlinux 0x1127dc86 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x114feb9c ll_rw_block +EXPORT_SYMBOL vmlinux 0x115bf931 arp_send +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1176bb6b dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x11aac0a7 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x11adf799 install_exec_creds +EXPORT_SYMBOL vmlinux 0x11bbbab5 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x11ca870a md_write_end +EXPORT_SYMBOL vmlinux 0x11ddd8bc snd_timer_pause +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11e33701 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x1212259f blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x127bf730 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x128b540b jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12a9cf2a __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x12cbb67d scsi_execute +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12dc3156 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x12eeec28 replace_mount_options +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x130adc34 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x133d93b2 snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x1343c13b security_path_chmod +EXPORT_SYMBOL vmlinux 0x13592581 simple_readpage +EXPORT_SYMBOL vmlinux 0x136a795b tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13dd4785 mddev_congested +EXPORT_SYMBOL vmlinux 0x13e1882b netdev_crit +EXPORT_SYMBOL vmlinux 0x140f603d i2c_register_driver +EXPORT_SYMBOL vmlinux 0x1418bbb2 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1458ca4c pagecache_write_end +EXPORT_SYMBOL vmlinux 0x14a03b94 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x14a2f95f udplite_prot +EXPORT_SYMBOL vmlinux 0x14bd95fb __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14df0d49 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x15110585 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x15139ad1 bio_endio +EXPORT_SYMBOL vmlinux 0x15143bd9 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x151eea9c __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x1524d58b proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x152e457f eth_type_trans +EXPORT_SYMBOL vmlinux 0x154999aa __pagevec_release +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x155019f7 may_umount_tree +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15629fb8 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x1584de92 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x15abfa1e md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x15c4fe07 sock_register +EXPORT_SYMBOL vmlinux 0x15dacae2 d_instantiate +EXPORT_SYMBOL vmlinux 0x15fac49e blk_recount_segments +EXPORT_SYMBOL vmlinux 0x16015335 omap_dss_register_driver +EXPORT_SYMBOL vmlinux 0x16100d19 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x161028e9 simple_lookup +EXPORT_SYMBOL vmlinux 0x16133a0d redraw_screen +EXPORT_SYMBOL vmlinux 0x16154f04 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x16312808 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x16400e8d abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x165dcc8e pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x16610838 ata_port_printk +EXPORT_SYMBOL vmlinux 0x169d1b65 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16e50dac bio_split +EXPORT_SYMBOL vmlinux 0x17108fce devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x171bb402 have_submounts +EXPORT_SYMBOL vmlinux 0x172245dd xfrm_state_update +EXPORT_SYMBOL vmlinux 0x1737aacf block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x178c198f vlan_vid_del +EXPORT_SYMBOL vmlinux 0x17a142df __copy_from_user +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f075f4 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x17f2c95e init_task +EXPORT_SYMBOL vmlinux 0x181f5070 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x18437710 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x1851151c proc_dointvec +EXPORT_SYMBOL vmlinux 0x186d64ad md_write_start +EXPORT_SYMBOL vmlinux 0x1870ad91 i2c_use_client +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189100f0 drop_super +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18c8b7a0 skb_copy +EXPORT_SYMBOL vmlinux 0x18eed73f i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x18f9c336 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x1906c469 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x19088883 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0x1918423a __sock_create +EXPORT_SYMBOL vmlinux 0x192c4654 phy_print_status +EXPORT_SYMBOL vmlinux 0x19574841 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x195b15d1 mpage_readpages +EXPORT_SYMBOL vmlinux 0x19602d82 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x196aff3e dev_base_lock +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197dc3b3 omap_set_dma_src_burst_mode +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x199bf953 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x199d6f32 register_gifconf +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c655cc __dst_free +EXPORT_SYMBOL vmlinux 0x19cc4ca0 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x19e43629 netif_device_attach +EXPORT_SYMBOL vmlinux 0x19e91218 __getblk +EXPORT_SYMBOL vmlinux 0x19ef450b __nla_put +EXPORT_SYMBOL vmlinux 0x1a0135e4 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x1a0e74b2 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x1a21fe87 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x1a3bef43 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x1a496ac6 cad_pid +EXPORT_SYMBOL vmlinux 0x1a506ae9 km_new_mapping +EXPORT_SYMBOL vmlinux 0x1a519279 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a74edd1 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x1a788da4 generic_make_request +EXPORT_SYMBOL vmlinux 0x1aaa1984 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x1ab1bd52 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x1ab30c4d vfs_writev +EXPORT_SYMBOL vmlinux 0x1ac3ab44 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1ad95377 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x1ae90bbf lookup_one_len +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b4c52ae tty_shutdown +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b74d283 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x1b95a106 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x1b9a2b68 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x1b9dc150 tcf_em_register +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1baeaed4 proc_dostring +EXPORT_SYMBOL vmlinux 0x1bd40042 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x1bf283a6 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x1c0d2913 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x1c1149a9 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x1c18c74b xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x1c2e9f94 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x1c497224 input_inject_event +EXPORT_SYMBOL vmlinux 0x1c4993bc vfs_link +EXPORT_SYMBOL vmlinux 0x1c63e7e6 dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x1c8cbd21 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x1c999dd7 inet_bind +EXPORT_SYMBOL vmlinux 0x1ca18314 read_dev_sector +EXPORT_SYMBOL vmlinux 0x1cb70fd7 skb_make_writable +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cc76e31 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x1cd0f6c0 mempool_alloc +EXPORT_SYMBOL vmlinux 0x1cd1f083 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x1cda728e ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x1ce158b7 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x1cebab96 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d27d291 fsync_bdev +EXPORT_SYMBOL vmlinux 0x1d2efe54 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x1d43d57c seq_putc +EXPORT_SYMBOL vmlinux 0x1d473fb9 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x1d83fef9 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x1d9135f0 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x1dab9e77 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x1db342fd __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x1db7dc40 pgprot_kernel +EXPORT_SYMBOL vmlinux 0x1dbb9814 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e039456 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0ee4eb mem_map +EXPORT_SYMBOL vmlinux 0x1e24fd27 unregister_key_type +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e4140d5 bio_alloc +EXPORT_SYMBOL vmlinux 0x1e6258de inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e8db8fd snd_ctl_add +EXPORT_SYMBOL vmlinux 0x1e987ce8 sock_no_bind +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ead792d input_event +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ed90c38 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1ef900bd scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x1f64b325 __serio_register_port +EXPORT_SYMBOL vmlinux 0x1f66fcd2 f_setown +EXPORT_SYMBOL vmlinux 0x1f6c3361 key_invalidate +EXPORT_SYMBOL vmlinux 0x1f745e2c key_alloc +EXPORT_SYMBOL vmlinux 0x1f786d19 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x1f7beefe __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x201deccc phy_connect +EXPORT_SYMBOL vmlinux 0x2032fa96 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x20337c82 inet6_release +EXPORT_SYMBOL vmlinux 0x2036ffca elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x203a8f76 scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x205ec8de omap_dispc_register_isr +EXPORT_SYMBOL vmlinux 0x2062200f mb_cache_create +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20911d3d alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b2ddea skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20d5b754 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x20df83c5 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x20f821e0 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x210c8ebc generic_read_dir +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x2148a7c0 devm_clk_put +EXPORT_SYMBOL vmlinux 0x214e73c5 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x216f4483 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x21741ee3 would_dump +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x21aa4dd0 register_key_type +EXPORT_SYMBOL vmlinux 0x21b13bde no_llseek +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x220e4d2f uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x22172819 dquot_acquire +EXPORT_SYMBOL vmlinux 0x221dfde0 idr_pre_get +EXPORT_SYMBOL vmlinux 0x22207102 freeze_super +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223cc898 omap_vrfb_max_height +EXPORT_SYMBOL vmlinux 0x224fc3ea test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x228edcc9 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c67750 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x22d4dfee kmem_cache_create +EXPORT_SYMBOL vmlinux 0x22d94b14 snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0x22dfbba4 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x22f8208c add_disk +EXPORT_SYMBOL vmlinux 0x230fdcbb fasync_helper +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x233857af notify_change +EXPORT_SYMBOL vmlinux 0x23396736 netdev_features_change +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x23789e84 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x23915945 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x23923f51 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x2397c29b skb_copy_bits +EXPORT_SYMBOL vmlinux 0x239ea69d buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23d2b2b3 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x23e66b08 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x23e736d9 kmap +EXPORT_SYMBOL vmlinux 0x23f7ee8d cpu_cache +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x242e22ac generic_show_options +EXPORT_SYMBOL vmlinux 0x2450a44f dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x245807f0 setattr_copy +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x2467e637 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x246be7b2 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x247620b7 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2485621e ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x24a60a21 of_device_unregister +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24aaed90 snd_pcm_suspend +EXPORT_SYMBOL vmlinux 0x24b1dcd3 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x24f1a97e security_path_rmdir +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x2514d3f1 scsi_host_put +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252d7640 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x254bbdbf jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x254d23e4 snd_pcm_notify +EXPORT_SYMBOL vmlinux 0x256d972f inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2586c95a jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x25ac5bd9 dql_init +EXPORT_SYMBOL vmlinux 0x25be2aba simple_transaction_release +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25dce739 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x25deb0dd input_register_device +EXPORT_SYMBOL vmlinux 0x25e0aa76 inet_put_port +EXPORT_SYMBOL vmlinux 0x2604808b bdevname +EXPORT_SYMBOL vmlinux 0x261bb6aa fput +EXPORT_SYMBOL vmlinux 0x261f1863 security_inode_permission +EXPORT_SYMBOL vmlinux 0x262a9620 complete_request_key +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263e70b4 snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0x2671769f dma_find_channel +EXPORT_SYMBOL vmlinux 0x268ae8a7 seq_open_private +EXPORT_SYMBOL vmlinux 0x268f135b tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x26911e4d gen_new_estimator +EXPORT_SYMBOL vmlinux 0x26ac17c5 mount_subtree +EXPORT_SYMBOL vmlinux 0x26aeb54a tcp_init_sock +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26dbbd43 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x26e2a082 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26f7c480 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x2700b38a mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x2750b3a1 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x2772b6ec neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x2780cf97 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x2796e2e6 block_write_full_page +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c0dc81 free_netdev +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x27f03eac locks_copy_lock +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2818bcaf pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x2830fee2 idr_get_next +EXPORT_SYMBOL vmlinux 0x2839e5ab blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x283a56b1 stop_tty +EXPORT_SYMBOL vmlinux 0x283bd919 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x2854eb28 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x286984ab generic_write_sync +EXPORT_SYMBOL vmlinux 0x28767797 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x2885b93c dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x2889df32 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x289319ed scsi_remove_device +EXPORT_SYMBOL vmlinux 0x2897fc48 omap_cfg_reg +EXPORT_SYMBOL vmlinux 0x289949af twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28a841bf sockfd_lookup +EXPORT_SYMBOL vmlinux 0x28b6abe4 phy_start +EXPORT_SYMBOL vmlinux 0x28d6861d __vmalloc +EXPORT_SYMBOL vmlinux 0x28d85959 generic_permission +EXPORT_SYMBOL vmlinux 0x2904f0e8 clk_round_rate +EXPORT_SYMBOL vmlinux 0x291b3fa1 serio_rescan +EXPORT_SYMBOL vmlinux 0x2925f10a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x2932eb3d remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29621908 inet_shutdown +EXPORT_SYMBOL vmlinux 0x29652a3e blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x2978d5a8 skb_dequeue +EXPORT_SYMBOL vmlinux 0x2981565b xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x29887ca8 get_io_context +EXPORT_SYMBOL vmlinux 0x29aeccd9 filemap_fault +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x29feb9c4 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x2a0292c1 sk_alloc +EXPORT_SYMBOL vmlinux 0x2a36a172 __register_chrdev +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a4f61d7 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x2a79ac13 clkdev_add +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ac6193b __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x2acbc65c mnt_pin +EXPORT_SYMBOL vmlinux 0x2acd5d13 __get_page_tail +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b5665d1 tty_write_room +EXPORT_SYMBOL vmlinux 0x2b688622 complete_and_exit +EXPORT_SYMBOL vmlinux 0x2b872267 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x2b90cdaa mempool_create +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb5bd24 lookup_bdev +EXPORT_SYMBOL vmlinux 0x2bb629db xfrm_state_add +EXPORT_SYMBOL vmlinux 0x2bcd3aeb sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x2bd86d11 iget5_locked +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c1b30ff iterate_mounts +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c29cca8 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x2c33dd02 __netdev_printk +EXPORT_SYMBOL vmlinux 0x2c3c6646 mnt_unpin +EXPORT_SYMBOL vmlinux 0x2c4ba9c3 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x2c6615fc snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0x2c9f88c2 netdev_emerg +EXPORT_SYMBOL vmlinux 0x2cc65d90 bio_add_page +EXPORT_SYMBOL vmlinux 0x2cd52b0b simple_release_fs +EXPORT_SYMBOL vmlinux 0x2cd8d457 bmap +EXPORT_SYMBOL vmlinux 0x2ce9a63c scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x2cfc08a6 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d1ca834 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x2d2f4baa end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x2d34a1b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x2d4d7832 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x2d52652b bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x2d607ee2 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x2d6507b5 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x2d85feb0 phy_detach +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dafa17b fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x2dd0839a nla_reserve +EXPORT_SYMBOL vmlinux 0x2dd9ea2f tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2df0f096 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x2e0435cc arp_invalidate +EXPORT_SYMBOL vmlinux 0x2e0a3115 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2f1add netif_notify_peers +EXPORT_SYMBOL vmlinux 0x2e3d9fcf journal_get_write_access +EXPORT_SYMBOL vmlinux 0x2e436973 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x2e5810c6 __aeabi_unwind_cpp_pr1 +EXPORT_SYMBOL vmlinux 0x2e5f5461 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x2e9ec311 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x2ea2ebe7 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x2ebbf351 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x2ec01ae8 single_open +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ecc15a4 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x2ed0002a napi_get_frags +EXPORT_SYMBOL vmlinux 0x2ed0582e dev_addr_flush +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f06acb2 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x2f2174b6 inet_ioctl +EXPORT_SYMBOL vmlinux 0x2f303d55 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x2f88a039 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fd4fc8f snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x2fd80048 simple_setattr +EXPORT_SYMBOL vmlinux 0x2fd85baf ___ratelimit +EXPORT_SYMBOL vmlinux 0x3006e61a inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x300a00f1 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x301fe099 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x3071023a jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308aad56 omap_vrfb_min_phys_size +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30b479f0 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30cb14e5 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x30d46fd5 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31156db9 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x311a9e3c scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x311bb9cd get_phy_device +EXPORT_SYMBOL vmlinux 0x3120586e netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0x312a36c9 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x313f73c1 pipe_unlock +EXPORT_SYMBOL vmlinux 0x313ffc4d set_security_override +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x316dd1cd __wait_on_bit +EXPORT_SYMBOL vmlinux 0x31715ffd snd_card_set_id +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x319b10e9 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x319ea2ed proc_symlink +EXPORT_SYMBOL vmlinux 0x31a71a39 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31cae92e security_inode_init_security +EXPORT_SYMBOL vmlinux 0x31cdcaee phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x31f03185 _snd_ctl_add_slave +EXPORT_SYMBOL vmlinux 0x326ddf28 kernel_listen +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x328ba99b scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x32a703fe filp_open +EXPORT_SYMBOL vmlinux 0x32c80da1 do_truncate +EXPORT_SYMBOL vmlinux 0x32d42c10 inode_permission +EXPORT_SYMBOL vmlinux 0x33027cbc load_nls_default +EXPORT_SYMBOL vmlinux 0x33052252 dev_activate +EXPORT_SYMBOL vmlinux 0x3314647e generic_file_mmap +EXPORT_SYMBOL vmlinux 0x33211758 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x335cee6b scsi_remove_host +EXPORT_SYMBOL vmlinux 0x33613a69 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x3364c989 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x3379189d lock_may_write +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x3386eac0 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x338982bf i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x33af02b2 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x33b7e3ea uart_register_driver +EXPORT_SYMBOL vmlinux 0x33baae8c sg_miter_next +EXPORT_SYMBOL vmlinux 0x33bad539 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33e48822 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fa13c7 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x340bf14e snd_timer_close +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x344524c1 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x344e0fe5 seq_write +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x348557cd uart_resume_port +EXPORT_SYMBOL vmlinux 0x34872048 unregister_netdev +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3493acdd __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a6701b handle_edge_irq +EXPORT_SYMBOL vmlinux 0x34abc56f __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x3504d638 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3542f055 vfs_read +EXPORT_SYMBOL vmlinux 0x35568ba3 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x355f425c kobject_set_name +EXPORT_SYMBOL vmlinux 0x35789b6d proc_mkdir +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x358bf989 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35c6ef03 empty_aops +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x360d6ed6 register_filesystem +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x3623ede0 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x362b556b ipv4_specific +EXPORT_SYMBOL vmlinux 0x3639a9dc of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x3642ba90 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x3644f671 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x364b3fff up +EXPORT_SYMBOL vmlinux 0x36558539 netdev_set_master +EXPORT_SYMBOL vmlinux 0x3658f324 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x366f7aa4 snd_timer_continue +EXPORT_SYMBOL vmlinux 0x368c9bfd phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x36a2488d zero_fill_bio +EXPORT_SYMBOL vmlinux 0x36b56602 tty_check_change +EXPORT_SYMBOL vmlinux 0x36c4d100 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x36f271a0 follow_down +EXPORT_SYMBOL vmlinux 0x371b9574 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x372b949f snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3744fc63 kill_litter_super +EXPORT_SYMBOL vmlinux 0x377779c6 kill_anon_super +EXPORT_SYMBOL vmlinux 0x3778f45c igrab +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37aa426b soft_cursor +EXPORT_SYMBOL vmlinux 0x37b1e0ea d_prune_aliases +EXPORT_SYMBOL vmlinux 0x37b2caf8 backlight_device_register +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37cd485c ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x37d22fa8 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x37fc7d6c dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x381720c7 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x382eab43 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x387a0765 dcb_getapp +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38af62e2 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x38b81f68 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x38b9e084 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x38d2c49b unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x38eac188 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393c04e1 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x3948a9c2 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x3954129d rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x3957749c bdget +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x3975ff22 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x399365a8 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39daf13a ata_dev_printk +EXPORT_SYMBOL vmlinux 0x3a1430cc _dev_info +EXPORT_SYMBOL vmlinux 0x3a475410 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x3a61e01f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x3a6d8b45 do_map_probe +EXPORT_SYMBOL vmlinux 0x3a77df32 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x3a7fc18a sound_class +EXPORT_SYMBOL vmlinux 0x3a8788df __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x3a911bad generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3a9fba93 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x3aa16502 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3ac2eb6f ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x3af113cd serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x3b2ed648 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b54c654 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x3b5740ac i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x3b6d13cb skb_insert +EXPORT_SYMBOL vmlinux 0x3b7f4574 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x3b85eb78 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x3b91f3af snd_free_pages +EXPORT_SYMBOL vmlinux 0x3ba5c359 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x3bb7506d gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x3bbcd362 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x3bbe3cba neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc3e3d8 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x3bcb0d95 dev_alert +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bd2d9a1 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3bfd41b5 do_sync_write +EXPORT_SYMBOL vmlinux 0x3c011bfd get_user_pages +EXPORT_SYMBOL vmlinux 0x3c01bdc1 input_set_keycode +EXPORT_SYMBOL vmlinux 0x3c041560 module_layout +EXPORT_SYMBOL vmlinux 0x3c13c5ba sk_release_kernel +EXPORT_SYMBOL vmlinux 0x3c1ef7c7 down_read_trylock +EXPORT_SYMBOL vmlinux 0x3c77542e unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c92eb55 snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ce33127 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf7b415 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x3d030b55 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x3d236844 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x3d32251a km_policy_notify +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d3f2315 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x3d68d3af nf_ct_attach +EXPORT_SYMBOL vmlinux 0x3d7063b5 find_get_page +EXPORT_SYMBOL vmlinux 0x3d86067c seq_lseek +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3df9c6ad cdrom_release +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e1d9fc4 snd_pcm_limit_hw_rates +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e56b54f bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x3e686c75 mount_single +EXPORT_SYMBOL vmlinux 0x3e6b0b00 request_key +EXPORT_SYMBOL vmlinux 0x3e884f4b vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3e88fa24 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3ea9d976 dqput +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eae7bce sock_wfree +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ef83ea0 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x3eff4745 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x3f051b2d dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x3f42c48a bio_kmalloc +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f650c57 __free_pages +EXPORT_SYMBOL vmlinux 0x3f88fafb generic_writepages +EXPORT_SYMBOL vmlinux 0x3fa0706a mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x3fc57162 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x3ff1ce33 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ffa288a dev_close +EXPORT_SYMBOL vmlinux 0x40001e1e tcp_child_process +EXPORT_SYMBOL vmlinux 0x40025437 journal_revoke +EXPORT_SYMBOL vmlinux 0x401d541f tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x403797d0 get_super_thawed +EXPORT_SYMBOL vmlinux 0x403ab398 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x406ebd0d map_destroy +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407a3275 omap_start_dma +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a2d1dd dm_table_get_size +EXPORT_SYMBOL vmlinux 0x40a6f522 __arm_ioremap +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40bdf65b tty_devnum +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40db14a6 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x41086265 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x41220e7e bio_clone +EXPORT_SYMBOL vmlinux 0x41380186 lock_super +EXPORT_SYMBOL vmlinux 0x413894e2 ilookup +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414d61f3 devm_ioremap +EXPORT_SYMBOL vmlinux 0x4150ec32 __brelse +EXPORT_SYMBOL vmlinux 0x41653f3c km_state_notify +EXPORT_SYMBOL vmlinux 0x416fcb11 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x4183d9a9 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41bfc910 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x41c84ea8 nand_bch_calculate_ecc +EXPORT_SYMBOL vmlinux 0x42051a2c xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x4207f6c3 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42147824 __scm_destroy +EXPORT_SYMBOL vmlinux 0x42189213 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x4247c2b2 snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x4253668c nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x428096f4 kill_pgrp +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x42aacd27 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x42ba975a arm_dma_ops +EXPORT_SYMBOL vmlinux 0x42badd51 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x42ee1838 __breadahead +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4306104c iget_locked +EXPORT_SYMBOL vmlinux 0x43186519 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x4318fc8c dqget +EXPORT_SYMBOL vmlinux 0x431fd338 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x43255b4c sock_sendmsg +EXPORT_SYMBOL vmlinux 0x43272810 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x432b730f journal_lock_updates +EXPORT_SYMBOL vmlinux 0x4347b971 idr_init +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436a1d3e lg_local_unlock +EXPORT_SYMBOL vmlinux 0x439626fd register_md_personality +EXPORT_SYMBOL vmlinux 0x439633bc qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43bcbc84 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x43d800fa fb_get_mode +EXPORT_SYMBOL vmlinux 0x43e87b8b dev_uc_del +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x43fd536f bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x44170bf0 mmc_request_done +EXPORT_SYMBOL vmlinux 0x441ed159 omap_get_dma_src_pos +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x44299fcc inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44388c5d bprm_change_interp +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x4456b800 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x446ea06a journal_force_commit +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x447bbcdc __find_get_block +EXPORT_SYMBOL vmlinux 0x4492317e get_fs_type +EXPORT_SYMBOL vmlinux 0x4498c7c1 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44bf8641 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e06e0a call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x44e80f1b bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f38b85 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x44f6e6b1 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x4532fcd3 bdget_disk +EXPORT_SYMBOL vmlinux 0x4537a7de security_task_getsecid +EXPORT_SYMBOL vmlinux 0x4568424c xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458cdf81 twl6040_power +EXPORT_SYMBOL vmlinux 0x45a3208a dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x45a8fbaa down_timeout +EXPORT_SYMBOL vmlinux 0x45ba232a get_super +EXPORT_SYMBOL vmlinux 0x45bbc520 dquot_file_open +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45d8ad3f dquot_enable +EXPORT_SYMBOL vmlinux 0x460ea1c5 udplite_table +EXPORT_SYMBOL vmlinux 0x4611de77 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x46292206 sock_create_lite +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x4634b3d6 cdrom_open +EXPORT_SYMBOL vmlinux 0x46378880 alloc_disk +EXPORT_SYMBOL vmlinux 0x463cf504 blk_make_request +EXPORT_SYMBOL vmlinux 0x4655b770 security_path_truncate +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466b29ea scsi_unregister +EXPORT_SYMBOL vmlinux 0x4681c6e9 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x46bcf760 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x46be5869 mmc_erase +EXPORT_SYMBOL vmlinux 0x46c4b962 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x47162a99 key_unlink +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x47728c07 phy_disconnect +EXPORT_SYMBOL vmlinux 0x47756576 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x47856306 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x4787a40d brioctl_set +EXPORT_SYMBOL vmlinux 0x478fc121 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x4793c7b1 update_time +EXPORT_SYMBOL vmlinux 0x4793d5fd mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47bd5c36 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x47c0036c of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x47c45f42 user_revoke +EXPORT_SYMBOL vmlinux 0x47eff461 bdput +EXPORT_SYMBOL vmlinux 0x47f6598b jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x48235269 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x483ec199 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4852f869 block_write_begin +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4859d695 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x485c99cc mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48849e3f try_to_release_page +EXPORT_SYMBOL vmlinux 0x48954949 unlock_buffer +EXPORT_SYMBOL vmlinux 0x4897d1c7 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x48a15ec9 netif_rx +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48c678aa devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4920430e mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x492e4b85 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x494915e9 tcp_prot +EXPORT_SYMBOL vmlinux 0x4954feb3 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x495c9eed tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x498504ca jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x499bfbf2 devm_iounmap +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49c58e5d file_remove_suid +EXPORT_SYMBOL vmlinux 0x49db5768 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x4a2d6bd4 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a35dbea md_done_sync +EXPORT_SYMBOL vmlinux 0x4a39e5a1 omap_set_dma_src_params +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a70aabf tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x4a761a28 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x4a7631f0 of_device_register +EXPORT_SYMBOL vmlinux 0x4a79a8b8 da903x_query_status +EXPORT_SYMBOL vmlinux 0x4a8c51d7 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4abdb61c seq_printf +EXPORT_SYMBOL vmlinux 0x4ada8cec dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b015768 snd_iprintf +EXPORT_SYMBOL vmlinux 0x4b0d3d93 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b20cbd2 ida_remove +EXPORT_SYMBOL vmlinux 0x4b2bd0e4 serio_close +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b3f5877 blk_put_request +EXPORT_SYMBOL vmlinux 0x4b40217f mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b8fa631 journal_extend +EXPORT_SYMBOL vmlinux 0x4baf9802 blk_free_tags +EXPORT_SYMBOL vmlinux 0x4bcff6ca journal_create +EXPORT_SYMBOL vmlinux 0x4beba328 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c363205 dev_get_flags +EXPORT_SYMBOL vmlinux 0x4c37199f arp_find +EXPORT_SYMBOL vmlinux 0x4c385b28 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0x4c5b6457 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x4c88470f genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x4c941843 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x4c991168 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbccac4 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x4cda3504 dev_driver_string +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4cdfae54 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d13b1a6 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x4d240987 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x4d320b5c __netif_schedule +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d630832 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x4d797a50 amba_driver_register +EXPORT_SYMBOL vmlinux 0x4d8ed115 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d9afc39 page_readlink +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4de1d5f7 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e506013 omap_dma_link_lch +EXPORT_SYMBOL vmlinux 0x4e524414 __napi_schedule +EXPORT_SYMBOL vmlinux 0x4e62735d genl_unregister_family +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e748dcd down_read +EXPORT_SYMBOL vmlinux 0x4e7575ee key_type_keyring +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e86d434 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x4e9746fd sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x4e9d46ac fb_validate_mode +EXPORT_SYMBOL vmlinux 0x4ea2b45a dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x4ebcfe51 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x4ed70e07 clk_get_rate +EXPORT_SYMBOL vmlinux 0x4f0b0a7e netif_napi_del +EXPORT_SYMBOL vmlinux 0x4f0d7ce6 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x4f1538ce nand_correct_data +EXPORT_SYMBOL vmlinux 0x4f16dd34 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f352fe2 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3b8b53 __pskb_copy +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4f904203 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x4fb59921 udp_prot +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ffd70c7 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x50062c7c ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x503a1ebd tcp_disconnect +EXPORT_SYMBOL vmlinux 0x50404c4c uart_add_one_port +EXPORT_SYMBOL vmlinux 0x5059c385 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x5062b2a1 of_phy_connect +EXPORT_SYMBOL vmlinux 0x506b3bf2 cdev_alloc +EXPORT_SYMBOL vmlinux 0x50795264 put_io_context +EXPORT_SYMBOL vmlinux 0x50885ad2 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x509817cf vprintk_emit +EXPORT_SYMBOL vmlinux 0x50a68064 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x50c25cc3 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x50c71330 idr_get_new +EXPORT_SYMBOL vmlinux 0x50ccff03 omap_dma_set_prio_lch +EXPORT_SYMBOL vmlinux 0x50d2d131 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x50d53e0e ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x5100e8e4 kobject_add +EXPORT_SYMBOL vmlinux 0x511746c1 dump_fpu +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5133d0f6 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5148e108 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x5169161d omap_free_dma_chain +EXPORT_SYMBOL vmlinux 0x518386d7 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x51908eb8 __raw_writesl +EXPORT_SYMBOL vmlinux 0x519d649f blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x51cdfea6 sk_filter +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51e413a0 dquot_destroy +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51e938b5 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x51f50fcb nf_getsockopt +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x5206509b snd_device_free +EXPORT_SYMBOL vmlinux 0x5219fa50 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x52368b20 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x52414f84 genl_register_family +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x525daced jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52a11264 send_sig +EXPORT_SYMBOL vmlinux 0x52b08252 phy_device_register +EXPORT_SYMBOL vmlinux 0x52b7941f xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x52d2e6ae key_validate +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52ded584 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52e49ed6 try_module_get +EXPORT_SYMBOL vmlinux 0x52efd766 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x5326cee4 scsi_device_get +EXPORT_SYMBOL vmlinux 0x5331eabb ida_simple_get +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5348b4fa dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x5364e479 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x536ecd89 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53ba4e7c up_write +EXPORT_SYMBOL vmlinux 0x53c735a9 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x53e8b138 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x53ee31e0 md_error +EXPORT_SYMBOL vmlinux 0x53ff15fe invalidate_partition +EXPORT_SYMBOL vmlinux 0x54002836 mpage_writepage +EXPORT_SYMBOL vmlinux 0x540878de ata_link_printk +EXPORT_SYMBOL vmlinux 0x540d722b eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x5417cc5c dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x54213985 genl_notify +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54667037 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x5478c28e neigh_ifdown +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54d0a8b8 get_write_access +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5509b8d9 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x5517c78a snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x5524fa65 snd_pcm_lib_write +EXPORT_SYMBOL vmlinux 0x552504af netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x5535bf6d misc_deregister +EXPORT_SYMBOL vmlinux 0x55366c25 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x55401511 simple_rename +EXPORT_SYMBOL vmlinux 0x5559e3c4 snd_device_register +EXPORT_SYMBOL vmlinux 0x5566d36d tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x558852c8 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55e116c1 touch_atime +EXPORT_SYMBOL vmlinux 0x55fae982 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x55fd3fb5 omapdss_default_get_resolution +EXPORT_SYMBOL vmlinux 0x5608e15d skb_checksum +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5621e578 dm_register_target +EXPORT_SYMBOL vmlinux 0x562ad513 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x565674b4 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x56789ac5 omap_set_dma_color_mode +EXPORT_SYMBOL vmlinux 0x567bffe0 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x56882272 mdiobus_register +EXPORT_SYMBOL vmlinux 0x569d769b input_allocate_device +EXPORT_SYMBOL vmlinux 0x56a1e932 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x56c37e6e journal_flush +EXPORT_SYMBOL vmlinux 0x56c81e8a dev_mc_add +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d92cc1 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x570d6f7d i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x57292802 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57302a87 mmc_free_host +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57577676 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5760c53f of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x57639862 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x57aeac85 uart_match_port +EXPORT_SYMBOL vmlinux 0x57b9fd07 serio_open +EXPORT_SYMBOL vmlinux 0x57bc35d7 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x57da9f47 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x580076ab journal_start_commit +EXPORT_SYMBOL vmlinux 0x582e7753 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584eed4c htc_egpio_get_wakeup_irq +EXPORT_SYMBOL vmlinux 0x58516557 omap_set_dma_src_data_pack +EXPORT_SYMBOL vmlinux 0x588a577e rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x58c0e3a3 dquot_alloc +EXPORT_SYMBOL vmlinux 0x58c195ad vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x58cb0699 __break_lease +EXPORT_SYMBOL vmlinux 0x58d24937 init_net +EXPORT_SYMBOL vmlinux 0x59006d7f snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x5937d397 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x593884f9 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x594fd546 omap_prcm_get_reset_sources +EXPORT_SYMBOL vmlinux 0x596a5ef6 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x597f675d scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x5998ecd7 inode_init_owner +EXPORT_SYMBOL vmlinux 0x59aa863b dev_err +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a12e16c abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x5a30bdd9 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x5a42d43a netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x5a4b0ed5 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x5a5b5bcf kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5aa2077b revert_creds +EXPORT_SYMBOL vmlinux 0x5ae2ca35 tty_name +EXPORT_SYMBOL vmlinux 0x5ae437ac abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b334156 down_killable +EXPORT_SYMBOL vmlinux 0x5b393bc8 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x5b68cb67 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x5b9547b2 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x5b96e668 consume_skb +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bd709b8 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0x5bf4a1eb sg_last +EXPORT_SYMBOL vmlinux 0x5c445e49 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5ca04cb9 rtnl_notify +EXPORT_SYMBOL vmlinux 0x5cc4428b prepare_binprm +EXPORT_SYMBOL vmlinux 0x5cdad235 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x5d000101 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d1cc3ba security_path_chown +EXPORT_SYMBOL vmlinux 0x5d2562eb vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x5d4874d7 inet_addr_type +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d6206ab __destroy_inode +EXPORT_SYMBOL vmlinux 0x5d6fd329 fd_install +EXPORT_SYMBOL vmlinux 0x5d8be198 tcf_register_action +EXPORT_SYMBOL vmlinux 0x5d9ff9d4 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x5da4b620 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x5dcbcd1a netlink_ack +EXPORT_SYMBOL vmlinux 0x5dd01bbb simple_fill_super +EXPORT_SYMBOL vmlinux 0x5de13614 inet_select_addr +EXPORT_SYMBOL vmlinux 0x5de61a5c con_is_bound +EXPORT_SYMBOL vmlinux 0x5e10b03e input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x5e60eb27 omap_dma_unlink_lch +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL vmlinux 0x5e8a586c blk_peek_request +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea32192 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed44eb9 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ef268b4 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x5ef4d861 seq_bitmap +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f0e1bd1 dev_warn +EXPORT_SYMBOL vmlinux 0x5f108d10 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x5f257724 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x5f386b6b dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f6e42ef tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f820f01 arp_create +EXPORT_SYMBOL vmlinux 0x5f9c5412 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fa8041a __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x5faf4bb8 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x5fb04d37 vfs_mknod +EXPORT_SYMBOL vmlinux 0x5fb0c8ec of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x5fbaf8fa simple_transaction_read +EXPORT_SYMBOL vmlinux 0x5fc6cf2f clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x5fd74819 snd_card_file_add +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600c329e netdev_state_change +EXPORT_SYMBOL vmlinux 0x6015f67c tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x601f2425 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x60378a88 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60acccb8 kunmap +EXPORT_SYMBOL vmlinux 0x60b844c3 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x60c50f7c snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0x60e32666 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x60f71cfa complete +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61591924 vc_cons +EXPORT_SYMBOL vmlinux 0x61632693 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x617192b0 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x6187c40d rtnl_create_link +EXPORT_SYMBOL vmlinux 0x619a4955 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x61a79f08 __irq_regs +EXPORT_SYMBOL vmlinux 0x61b3749d journal_init_dev +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bd618c dma_supported +EXPORT_SYMBOL vmlinux 0x61f0d306 poll_initwait +EXPORT_SYMBOL vmlinux 0x61fadf56 __alloc_skb +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6235365d netif_skb_features +EXPORT_SYMBOL vmlinux 0x624294ea sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x6248dd27 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x624d7359 address_space_init_once +EXPORT_SYMBOL vmlinux 0x62521759 nobh_write_end +EXPORT_SYMBOL vmlinux 0x625d831d mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x629d8b63 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x62a003ce find_vma +EXPORT_SYMBOL vmlinux 0x62a5d1d5 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x62b72b0d mutex_unlock +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x62ce6646 neigh_update +EXPORT_SYMBOL vmlinux 0x62e18473 security_path_rename +EXPORT_SYMBOL vmlinux 0x62f9f176 journal_restart +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x62fe2d1a fb_set_suspend +EXPORT_SYMBOL vmlinux 0x630a518c generic_fillattr +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x633e1702 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x635cfb4b blk_end_request +EXPORT_SYMBOL vmlinux 0x636b3461 omap_dss_get_num_overlays +EXPORT_SYMBOL vmlinux 0x637e820c i2c_transfer +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63ab2604 irq_stat +EXPORT_SYMBOL vmlinux 0x63b87fc5 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x63bb06c4 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x63d55a3a generic_getxattr +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f2a167 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x63f3f68a dev_addr_del +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x6445c46f simple_link +EXPORT_SYMBOL vmlinux 0x6493531e setup_new_exec +EXPORT_SYMBOL vmlinux 0x64972430 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a5dc0b netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x64c7bf85 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x64d233c8 ioremap_page +EXPORT_SYMBOL vmlinux 0x64de6d71 snd_jack_new +EXPORT_SYMBOL vmlinux 0x64efbe26 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65369ec2 snd_pcm_lib_read +EXPORT_SYMBOL vmlinux 0x653bc29d register_sound_midi +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x6549fabd alloc_file +EXPORT_SYMBOL vmlinux 0x65638f2e snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0x656a7f02 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x657af67b d_invalidate +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x658d62ce sk_stop_timer +EXPORT_SYMBOL vmlinux 0x65909849 key_task_permission +EXPORT_SYMBOL vmlinux 0x65a38e24 dget_parent +EXPORT_SYMBOL vmlinux 0x65a571bd fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x65a77068 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x65aba9eb search_binary_handler +EXPORT_SYMBOL vmlinux 0x65d8ade7 set_bh_page +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x6609b110 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x6612c911 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x6634bd8e register_netdev +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x6692f527 register_netdevice +EXPORT_SYMBOL vmlinux 0x669d139b iunique +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x66a1afda omap_dss_unregister_driver +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66ffb625 user_path_create +EXPORT_SYMBOL vmlinux 0x67193068 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x673b024f snd_device_new +EXPORT_SYMBOL vmlinux 0x67469833 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x6773c8e3 nand_bch_init +EXPORT_SYMBOL vmlinux 0x677e3864 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b36534 clk_add_alias +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67bcb21e snd_timer_stop +EXPORT_SYMBOL vmlinux 0x67bdcac6 ps2_drain +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67bf09d2 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x6806e9b3 filp_close +EXPORT_SYMBOL vmlinux 0x686fce61 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687ceb20 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68a3b264 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x68ba773e tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68f6defe kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x6948439f md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x69653aec locks_remove_posix +EXPORT_SYMBOL vmlinux 0x6966e613 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6985fbb4 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x698d292d register_nls +EXPORT_SYMBOL vmlinux 0x69940ee3 __get_user_pages +EXPORT_SYMBOL vmlinux 0x699f9d32 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x69aa5ba8 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69ada982 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x69b6f8d9 omap_set_dma_transfer_params +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a5445dd qdisc_reset +EXPORT_SYMBOL vmlinux 0x6a559116 rtc_lock +EXPORT_SYMBOL vmlinux 0x6a655e29 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x6a6fa8b4 contig_page_data +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a78e42f bio_copy_user +EXPORT_SYMBOL vmlinux 0x6ab00d40 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x6acc1553 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x6ae194ce twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x6ae807b4 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b1f5d88 dev_deactivate +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b38f6c5 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x6b3cab88 proc_create_data +EXPORT_SYMBOL vmlinux 0x6b5a7057 ida_destroy +EXPORT_SYMBOL vmlinux 0x6b63c0e8 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x6b63f98c bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x6b6fe6f0 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b8b8f89 skb_store_bits +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6baed957 bioset_create +EXPORT_SYMBOL vmlinux 0x6bb5ba63 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd30203 dma_pool_create +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be056a4 put_page +EXPORT_SYMBOL vmlinux 0x6beca89f omap_dss_get_next_device +EXPORT_SYMBOL vmlinux 0x6bf2895b sock_i_uid +EXPORT_SYMBOL vmlinux 0x6bf2ec75 simple_rmdir +EXPORT_SYMBOL vmlinux 0x6c131ec1 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c254295 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x6c3c9937 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c6fbef0 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c88dbc8 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x6c91b3e8 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x6c94d4c7 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x6ca1622c snd_card_free +EXPORT_SYMBOL vmlinux 0x6ca1a5fb xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x6cb7e84a scsi_execute_req +EXPORT_SYMBOL vmlinux 0x6ccf7bd7 __pv_phys_offset +EXPORT_SYMBOL vmlinux 0x6cd94629 snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6ce9c13b dcache_dir_close +EXPORT_SYMBOL vmlinux 0x6ceb78ca security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d07c936 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d7c7c1a mapping_tagged +EXPORT_SYMBOL vmlinux 0x6d9b0ae7 register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x6db987eb default_file_splice_read +EXPORT_SYMBOL vmlinux 0x6dbf78f0 mtd_concat_create +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e2cf38a blk_run_queue +EXPORT_SYMBOL vmlinux 0x6e3441f6 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x6e390a65 dquot_release +EXPORT_SYMBOL vmlinux 0x6e4239c5 security_path_link +EXPORT_SYMBOL vmlinux 0x6e469121 follow_up +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ebfa44f of_get_next_child +EXPORT_SYMBOL vmlinux 0x6ed1b65e i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x6eebd045 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x6ef489cd fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x6ef7649e sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f0304f5 register_cdrom +EXPORT_SYMBOL vmlinux 0x6f097778 scsi_add_device +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f3e79db posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x6f47f4bb dst_alloc +EXPORT_SYMBOL vmlinux 0x6f4a1197 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x6f9b436b max8998_update_reg +EXPORT_SYMBOL vmlinux 0x6fc1c4b9 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x6fc7b6f8 input_reset_device +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fe59e7e tty_port_close_end +EXPORT_SYMBOL vmlinux 0x6ff5b651 dev_trans_start +EXPORT_SYMBOL vmlinux 0x70097aa0 nand_bch_free +EXPORT_SYMBOL vmlinux 0x70147aa2 snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x701d2014 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x7022fd4c tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x70334158 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x7045422c qdisc_destroy +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x70698239 journal_destroy +EXPORT_SYMBOL vmlinux 0x70733c05 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x708868c0 bd_set_size +EXPORT_SYMBOL vmlinux 0x708ea402 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x70b74cf5 bio_map_user +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d1f096 omapdss_sdi_display_enable +EXPORT_SYMBOL vmlinux 0x70dd1a12 gpmc_cs_configure +EXPORT_SYMBOL vmlinux 0x70ddb90d mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x710fa4a3 udp_disconnect +EXPORT_SYMBOL vmlinux 0x71122bf1 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x711cbeb4 d_path +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714c5da1 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x714d6918 override_creds +EXPORT_SYMBOL vmlinux 0x71679e5d tty_port_init +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x718d363b inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x71a262b3 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71b2ede6 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x71bb69ba d_splice_alias +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x7205f022 d_delete +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x724f9e25 bh_submit_read +EXPORT_SYMBOL vmlinux 0x72559cdc snd_pcm_lib_readv +EXPORT_SYMBOL vmlinux 0x7275736a register_console +EXPORT_SYMBOL vmlinux 0x727f6d59 snd_unregister_device +EXPORT_SYMBOL vmlinux 0x72b109b3 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x72c15dd9 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x72c564c7 block_truncate_page +EXPORT_SYMBOL vmlinux 0x72cecca7 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x7306227a set_user_nice +EXPORT_SYMBOL vmlinux 0x730c187d find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x73124154 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c50e3 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x732b06be journal_errno +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x73450f7e of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x734ed113 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x737ac25d dql_reset +EXPORT_SYMBOL vmlinux 0x737b884b scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73ed35c0 unregister_nls +EXPORT_SYMBOL vmlinux 0x73ef6113 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x73fbcde6 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x73fd21f2 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x740384c0 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x7406376e filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x740e2d63 blk_get_request +EXPORT_SYMBOL vmlinux 0x7451161b xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x745c2083 input_unregister_device +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x74807f3a __seq_open_private +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748d93d9 get_task_io_context +EXPORT_SYMBOL vmlinux 0x74a60e46 backlight_force_update +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cdf4e4 dcb_setapp +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f5b892 skb_split +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x75117d5e dquot_scan_active +EXPORT_SYMBOL vmlinux 0x753de2a9 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x755bffc0 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x755d93f7 omapdss_default_get_timings +EXPORT_SYMBOL vmlinux 0x756b1ef4 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x7597727e dentry_open +EXPORT_SYMBOL vmlinux 0x75a17bed prepare_to_wait +EXPORT_SYMBOL vmlinux 0x75b3d2dc tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75e821c8 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x75fcee29 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x75fee7fd __raw_writesb +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7620e99f simple_statfs +EXPORT_SYMBOL vmlinux 0x762d5a92 clk_enable +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764d4120 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x7661d016 dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x766448e2 blk_start_queue +EXPORT_SYMBOL vmlinux 0x7682e28c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x76881360 leds_event +EXPORT_SYMBOL vmlinux 0x76b9924c __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c01ae5 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x76c5ccbe snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d9be73 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x77045ead sk_stream_error +EXPORT_SYMBOL vmlinux 0x77227cae fget +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x775c36c1 sock_no_listen +EXPORT_SYMBOL vmlinux 0x7760d11d input_release_device +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e341f4 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x7808ec17 netpoll_setup +EXPORT_SYMBOL vmlinux 0x78105cb7 kstat +EXPORT_SYMBOL vmlinux 0x783672ab dpi_set_timings +EXPORT_SYMBOL vmlinux 0x7848d32e qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x784a8029 snd_ctl_replace +EXPORT_SYMBOL vmlinux 0x78549f3e end_page_writeback +EXPORT_SYMBOL vmlinux 0x78575aa4 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x789ef3b8 snd_card_proc_new +EXPORT_SYMBOL vmlinux 0x78a2b202 simple_map_init +EXPORT_SYMBOL vmlinux 0x78a593eb cdev_add +EXPORT_SYMBOL vmlinux 0x78b37fc0 udp_proc_register +EXPORT_SYMBOL vmlinux 0x78c46d70 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x78d01942 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x78e7892c blk_put_queue +EXPORT_SYMBOL vmlinux 0x78f3b63c ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x791dbbcf tcp_seq_open +EXPORT_SYMBOL vmlinux 0x792ee7ba journal_load +EXPORT_SYMBOL vmlinux 0x793699d9 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x7938216a __dev_printk +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x795174ff netif_receive_skb +EXPORT_SYMBOL vmlinux 0x79539f64 sock_create_kern +EXPORT_SYMBOL vmlinux 0x79564811 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x795a86ad vfs_getattr +EXPORT_SYMBOL vmlinux 0x7966bd89 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x796d56bd __init_rwsem +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79889d9b snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x799a79e1 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79cb10de scsi_register_driver +EXPORT_SYMBOL vmlinux 0x79d5f401 dev_notice +EXPORT_SYMBOL vmlinux 0x79fab371 netdev_warn +EXPORT_SYMBOL vmlinux 0x7a04ec22 tty_vhangup +EXPORT_SYMBOL vmlinux 0x7a26854d of_get_mac_address +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a29adbb inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x7a2b37d6 clk_get_parent +EXPORT_SYMBOL vmlinux 0x7a2b3b79 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x7a3988c5 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a45b736 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x7a4beafa get_unmapped_area +EXPORT_SYMBOL vmlinux 0x7a4eea08 snd_dma_alloc_pages +EXPORT_SYMBOL vmlinux 0x7a91726b clkdev_alloc +EXPORT_SYMBOL vmlinux 0x7a9b122c tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x7a9d7bfb qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ae6d96f blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x7afa89fc vsnprintf +EXPORT_SYMBOL vmlinux 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b6fe2d6 of_find_property +EXPORT_SYMBOL vmlinux 0x7b957c7c skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x7bd96a2c gpmc_prefetch_enable +EXPORT_SYMBOL vmlinux 0x7bdd37fb tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x7be55231 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x7bf0bc32 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x7bf30fdc down_write +EXPORT_SYMBOL vmlinux 0x7bff5ae9 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c2c557c simple_open +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4e7ada __blk_run_queue +EXPORT_SYMBOL vmlinux 0x7c5fe130 module_refcount +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c98845d twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7d02519e amba_device_unregister +EXPORT_SYMBOL vmlinux 0x7d086100 vmtruncate +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d7ce062 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x7d9179f1 blk_start_request +EXPORT_SYMBOL vmlinux 0x7dae3d26 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x7de0a78b tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e0473ea flush_dcache_page +EXPORT_SYMBOL vmlinux 0x7e21178f vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e3ec5ad max8998_read_reg +EXPORT_SYMBOL vmlinux 0x7e4ae4c0 mii_link_ok +EXPORT_SYMBOL vmlinux 0x7e66ce61 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x7e865acb __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7eae8821 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x7ebaa41f inode_init_always +EXPORT_SYMBOL vmlinux 0x7ece1e24 scsi_init_io +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7ef44c05 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x7f01d411 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7f04b29b lro_flush_all +EXPORT_SYMBOL vmlinux 0x7f0d9442 __quota_error +EXPORT_SYMBOL vmlinux 0x7f139102 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x7f1e43f3 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f33a63b omap_get_dma_chain_dst_pos +EXPORT_SYMBOL vmlinux 0x7f596387 vfs_symlink +EXPORT_SYMBOL vmlinux 0x7f5e339e bdev_read_only +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f8108af noop_llseek +EXPORT_SYMBOL vmlinux 0x7fd08a06 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x7fded35f mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x7fee7594 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7ff82513 snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x801d6e7e __kfree_skb +EXPORT_SYMBOL vmlinux 0x8024db4b of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x8034558a gpmc_nand_write +EXPORT_SYMBOL vmlinux 0x80472eb4 napi_complete +EXPORT_SYMBOL vmlinux 0x804f7f95 inet_listen +EXPORT_SYMBOL vmlinux 0x8061337c inode_set_bytes +EXPORT_SYMBOL vmlinux 0x80769bfb of_dev_put +EXPORT_SYMBOL vmlinux 0x807b466b skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x807f92f2 bio_init +EXPORT_SYMBOL vmlinux 0x80826d4b clk_get +EXPORT_SYMBOL vmlinux 0x80ad0ad8 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x80cb67ca crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x80d81308 omap_vrfb_release_ctx +EXPORT_SYMBOL vmlinux 0x80d817ab wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x80de231a idr_remove +EXPORT_SYMBOL vmlinux 0x80f77405 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x81003ee2 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x812c9d36 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x813ed040 idr_remove_all +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x8150280a kill_bdev +EXPORT_SYMBOL vmlinux 0x815131ba mempool_destroy +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815cfb0a vfs_readv +EXPORT_SYMBOL vmlinux 0x816694ff xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x816f6761 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x81a7a2c1 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x81b04bfc completion_done +EXPORT_SYMBOL vmlinux 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0x81cc5062 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81faf3bd request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x82009965 names_cachep +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8204e852 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x821e2df5 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x821e8d91 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x82407ce6 bio_free +EXPORT_SYMBOL vmlinux 0x8244ba34 snd_add_device_sysfs_file +EXPORT_SYMBOL vmlinux 0x824a4367 tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82576001 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x82649501 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x82934198 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82bb5822 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x82bf2ed0 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x82d5285a of_n_size_cells +EXPORT_SYMBOL vmlinux 0x82f80ce8 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x82fa92bd dquot_commit_info +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x8339c7eb sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL vmlinux 0x8371daff sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x837b5580 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83aa3618 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d25c38 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x83d936c9 dev_addr_init +EXPORT_SYMBOL vmlinux 0x845064f5 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x8457bc58 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x84842d05 register_qdisc +EXPORT_SYMBOL vmlinux 0x84b122fa netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84db4b6e wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x850cf2ff dev_emerg +EXPORT_SYMBOL vmlinux 0x8517a55c snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0x855585c1 sk_run_filter +EXPORT_SYMBOL vmlinux 0x8557bb76 find_lock_page +EXPORT_SYMBOL vmlinux 0x8564f3f0 bdi_unregister +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85682081 led_brightness_set +EXPORT_SYMBOL vmlinux 0x85765fee omap_enable_dma_irq +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bc1cd4 netif_napi_add +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x865dc56d scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x8681f273 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8698fed7 register_framebuffer +EXPORT_SYMBOL vmlinux 0x869b6978 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86caf8b8 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x86f76ce5 journal_abort +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x87100912 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8749af39 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x8780bec9 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87b26c27 thaw_super +EXPORT_SYMBOL vmlinux 0x87ccf77e amba_request_regions +EXPORT_SYMBOL vmlinux 0x87d5dfbc mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x87dbba14 ida_get_new +EXPORT_SYMBOL vmlinux 0x87e47ddc bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x87e4ff3c mount_ns +EXPORT_SYMBOL vmlinux 0x87f78b2b mmc_can_discard +EXPORT_SYMBOL vmlinux 0x880330c9 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x881ab77d bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x88257334 i2c_master_send +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x883cb071 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x8853b235 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x8893da16 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x8893fa5d finish_wait +EXPORT_SYMBOL vmlinux 0x88990a98 __bread +EXPORT_SYMBOL vmlinux 0x889d0fc9 scsi_print_command +EXPORT_SYMBOL vmlinux 0x891b1255 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x8936c260 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x89620ad0 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89782195 sock_no_accept +EXPORT_SYMBOL vmlinux 0x89791e16 dquot_drop +EXPORT_SYMBOL vmlinux 0x8979694c lro_receive_frags +EXPORT_SYMBOL vmlinux 0x899e1040 file_sb_list_del +EXPORT_SYMBOL vmlinux 0x89a3c4f4 omap_get_dma_chain_index +EXPORT_SYMBOL vmlinux 0x89b6f8f1 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x89cd74c3 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89f2c832 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x8a15e8c9 snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a255096 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x8a28fe27 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x8a3e785e xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x8a40775a ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x8a469fd9 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a6f9a83 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ab2bcc1 sk_common_release +EXPORT_SYMBOL vmlinux 0x8abf4062 omapdss_dpi_display_disable +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8acec027 security_path_unlink +EXPORT_SYMBOL vmlinux 0x8ad66426 seq_release_private +EXPORT_SYMBOL vmlinux 0x8af1fd05 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x8af40517 snd_pcm_new +EXPORT_SYMBOL vmlinux 0x8afe4164 snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x8b304b54 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x8b37821b do_splice_to +EXPORT_SYMBOL vmlinux 0x8b48cad1 netdev_info +EXPORT_SYMBOL vmlinux 0x8b4bb1db snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x8b4c3a9e d_make_root +EXPORT_SYMBOL vmlinux 0x8b5eecd2 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b64c1c3 kick_iocb +EXPORT_SYMBOL vmlinux 0x8b6ece54 simple_getattr +EXPORT_SYMBOL vmlinux 0x8bb628c2 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x8bc75a2f iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x8bd6225c snd_cards +EXPORT_SYMBOL vmlinux 0x8bea03fb inet6_bind +EXPORT_SYMBOL vmlinux 0x8bed8e2c genphy_suspend +EXPORT_SYMBOL vmlinux 0x8bef91c5 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x8bf0cbe5 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x8bf75e53 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0bc6d1 kset_register +EXPORT_SYMBOL vmlinux 0x8c0bccfd ether_setup +EXPORT_SYMBOL vmlinux 0x8c126da4 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x8c19434f km_query +EXPORT_SYMBOL vmlinux 0x8c3600a7 register_con_driver +EXPORT_SYMBOL vmlinux 0x8c460878 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x8c4d6523 omap_dma_chain_a_transfer +EXPORT_SYMBOL vmlinux 0x8c67521b mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x8c7275a9 dev_mc_del +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c9cf221 wireless_send_event +EXPORT_SYMBOL vmlinux 0x8cac985c kthread_stop +EXPORT_SYMBOL vmlinux 0x8cb23c19 set_groups +EXPORT_SYMBOL vmlinux 0x8cd09ebe take_over_console +EXPORT_SYMBOL vmlinux 0x8cd8c339 omap_free_dma +EXPORT_SYMBOL vmlinux 0x8ce45870 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x8cfeb371 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x8d0e80f6 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x8d1230c5 ata_print_version +EXPORT_SYMBOL vmlinux 0x8d221749 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x8d2a6b68 dst_destroy +EXPORT_SYMBOL vmlinux 0x8d40df78 snd_power_wait +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d8d95a2 icmpv6_send +EXPORT_SYMBOL vmlinux 0x8d8f3876 journal_wipe +EXPORT_SYMBOL vmlinux 0x8dafb537 bdi_init +EXPORT_SYMBOL vmlinux 0x8db1095e phy_driver_register +EXPORT_SYMBOL vmlinux 0x8dbe5cc9 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x8dd3840e sock_rfree +EXPORT_SYMBOL vmlinux 0x8de467e8 tcp_check_req +EXPORT_SYMBOL vmlinux 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x8e09567a thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x8e0d59a0 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e2794eb blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e3ae8a2 journal_start +EXPORT_SYMBOL vmlinux 0x8e44d916 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x8e8b89ee __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x8eb97f83 tcp_poll +EXPORT_SYMBOL vmlinux 0x8ebafdba unlock_new_inode +EXPORT_SYMBOL vmlinux 0x8ebbc0f0 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x8ed4398d unregister_con_driver +EXPORT_SYMBOL vmlinux 0x8ed8a271 __register_binfmt +EXPORT_SYMBOL vmlinux 0x8edc83b0 scsi_device_put +EXPORT_SYMBOL vmlinux 0x8eded71f serial8250_register_port +EXPORT_SYMBOL vmlinux 0x8f26ecee generic_file_llseek +EXPORT_SYMBOL vmlinux 0x8f2bfc9f xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x8f2f44b6 noop_fsync +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f595b11 snd_major +EXPORT_SYMBOL vmlinux 0x8f5bf374 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x8f6696b6 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x8f676c9e tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x8f678b07 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x8f69bc15 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x8f69f7d1 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f8903ca mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x8fa4130a omap_set_dma_callback +EXPORT_SYMBOL vmlinux 0x8fc26fd5 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x903b1714 elevator_init +EXPORT_SYMBOL vmlinux 0x9073151b ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x907a42de max8925_set_bits +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90d03ed1 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x90dd8341 bio_map_kern +EXPORT_SYMBOL vmlinux 0x90f91617 free_buffer_head +EXPORT_SYMBOL vmlinux 0x91029d04 blk_register_region +EXPORT_SYMBOL vmlinux 0x911b4ac8 blk_init_queue +EXPORT_SYMBOL vmlinux 0x9137c871 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x9145a418 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x91621d6a allocate_resource +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x91b606e9 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x91e7c1cd input_get_keycode +EXPORT_SYMBOL vmlinux 0x91e81ba5 aio_put_req +EXPORT_SYMBOL vmlinux 0x920664c8 mempool_free +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x925d916e jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x925dfa9b journal_ack_err +EXPORT_SYMBOL vmlinux 0x9276b415 block_read_full_page +EXPORT_SYMBOL vmlinux 0x9276e2fd generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x92868a94 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x929eecac __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x92a0bc01 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x9323b6d8 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x9343f4b0 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x9350336e netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x935ad852 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x937bda1b of_get_parent +EXPORT_SYMBOL vmlinux 0x93828c89 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a8ae86 snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x93c02adb file_open_root +EXPORT_SYMBOL vmlinux 0x93e03f50 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x93ef6521 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x93fe78f0 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x94098ff8 snd_interval_list +EXPORT_SYMBOL vmlinux 0x94298c28 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x943e8fd2 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x9446fcd5 freeze_bdev +EXPORT_SYMBOL vmlinux 0x944f1520 log_wait_commit +EXPORT_SYMBOL vmlinux 0x94644f2f path_get +EXPORT_SYMBOL vmlinux 0x946e2c58 tty_mutex +EXPORT_SYMBOL vmlinux 0x9489530c ps2_command +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a7d925 arp_xmit +EXPORT_SYMBOL vmlinux 0x94ae82a2 inet_frags_init +EXPORT_SYMBOL vmlinux 0x94af632e complete_all +EXPORT_SYMBOL vmlinux 0x9526a4c8 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x9540f91c ilookup5 +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x955cfdad ip_setsockopt +EXPORT_SYMBOL vmlinux 0x955e526d xfrm_register_km +EXPORT_SYMBOL vmlinux 0x9584d204 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x95a70767 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x95b2e642 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x95b9b466 snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x95bd12f3 vfs_readlink +EXPORT_SYMBOL vmlinux 0x95c206b2 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x96062ea0 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x960b92bf genlmsg_put +EXPORT_SYMBOL vmlinux 0x960f2f7e put_disk +EXPORT_SYMBOL vmlinux 0x96334446 sock_no_connect +EXPORT_SYMBOL vmlinux 0x964016fd snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x965ad1e4 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96b39b6e omap_start_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e11910 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x9729ccbc vm_map_ram +EXPORT_SYMBOL vmlinux 0x972d9107 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x9744aa1d keyring_clear +EXPORT_SYMBOL vmlinux 0x974a3e0b scsi_remove_target +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x97629bc7 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97a52803 set_anon_super +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x97b5c256 __d_drop +EXPORT_SYMBOL vmlinux 0x97ba1397 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x97ccd21e netif_rx_ni +EXPORT_SYMBOL vmlinux 0x98082893 __copy_to_user +EXPORT_SYMBOL vmlinux 0x980a912c grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x980cdc4a truncate_pagecache +EXPORT_SYMBOL vmlinux 0x981f1ae0 __scm_send +EXPORT_SYMBOL vmlinux 0x981f309c mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x9850b4ec dm_get_device +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9885074a blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x988d1fbb inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x98993e07 init_special_inode +EXPORT_SYMBOL vmlinux 0x98a39f30 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x98c4ef1e ihold +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x990d33c3 kmap_atomic +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x995210a8 dev_uc_add +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x9963d8ff bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x998eee8f keyring_search +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x9998e516 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x999c3148 __raw_readsb +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c83212 path_is_under +EXPORT_SYMBOL vmlinux 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d14c5c elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x99d50960 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x99e63794 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x99f88f1d ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x99ffdb87 request_firmware +EXPORT_SYMBOL vmlinux 0x9a01f627 arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0x9a04ce93 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x9a12015c input_flush_device +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a2bef7c gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x9a3394a7 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x9a367652 km_policy_expired +EXPORT_SYMBOL vmlinux 0x9a515dd3 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x9a57742d inet_frag_find +EXPORT_SYMBOL vmlinux 0x9a5c7ab2 aio_complete +EXPORT_SYMBOL vmlinux 0x9a6cd279 clk_unregister +EXPORT_SYMBOL vmlinux 0x9a6f8b1b d_genocide +EXPORT_SYMBOL vmlinux 0x9a833130 mdiobus_write +EXPORT_SYMBOL vmlinux 0x9a8dc6db lg_local_lock +EXPORT_SYMBOL vmlinux 0x9aa9c607 nobh_writepage +EXPORT_SYMBOL vmlinux 0x9abbdb69 clk_set_parent +EXPORT_SYMBOL vmlinux 0x9af217a5 elv_register_queue +EXPORT_SYMBOL vmlinux 0x9b0506ac napi_frags_finish +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b39437a mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x9b6972cc flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bb49709 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x9bb4f5d2 locks_init_lock +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bea9ce9 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x9bf40726 mmc_cleanup_queue +EXPORT_SYMBOL vmlinux 0x9c4cc62d fifo_set_limit +EXPORT_SYMBOL vmlinux 0x9c5b17a5 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9c6dda58 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c94ab1e jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x9cb2d08e eth_header +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd2e7d0 gpmc_nand_read +EXPORT_SYMBOL vmlinux 0x9cd60539 sg_free_table +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf9eddf snd_component_add +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d199609 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3c11f2 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d6d2862 registered_fb +EXPORT_SYMBOL vmlinux 0x9da6f372 snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x9dcb3652 scsi_host_get +EXPORT_SYMBOL vmlinux 0x9dfccc9b dquot_free_inode +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e100be3 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x9e1e1ee8 bdi_register +EXPORT_SYMBOL vmlinux 0x9e1e9de7 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e4dc962 tty_register_driver +EXPORT_SYMBOL vmlinux 0x9e4e5d23 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e568635 pipe_lock +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e92a9db ppp_input_error +EXPORT_SYMBOL vmlinux 0x9e969ad3 force_sig +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9eb63baa dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eedf89e arp_tbl +EXPORT_SYMBOL vmlinux 0x9ef2a6f9 skb_clone +EXPORT_SYMBOL vmlinux 0x9ef7e5cc bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x9efb48bf vlan_vid_add +EXPORT_SYMBOL vmlinux 0x9f05bbe2 security_path_mknod +EXPORT_SYMBOL vmlinux 0x9f11b5ac free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f62926a tty_port_close +EXPORT_SYMBOL vmlinux 0x9f6626f1 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x9f797132 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x9f84870d dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f99d9bf ida_pre_get +EXPORT_SYMBOL vmlinux 0x9f9c8780 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9ff956af inode_add_bytes +EXPORT_SYMBOL vmlinux 0xa00053ad generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xa0061b45 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xa0148e14 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa023c43d sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xa0279068 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa04f1a0c abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa09a1c12 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xa0a861fc scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xa0a8b2b0 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0caf58a xfrm_init_state +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0ef5b42 __elv_add_request +EXPORT_SYMBOL vmlinux 0xa0f7a8c0 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0fe9244 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12e7465 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa1654b36 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1b8f215 dst_discard +EXPORT_SYMBOL vmlinux 0xa1bae49d dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0xa1c4b6d2 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1e3db1a lock_fb_info +EXPORT_SYMBOL vmlinux 0xa1e59b2a bio_unmap_user +EXPORT_SYMBOL vmlinux 0xa1fdd16b genphy_read_status +EXPORT_SYMBOL vmlinux 0xa20b3150 __rta_fill +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa23422dd __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa266cdfe netdev_update_features +EXPORT_SYMBOL vmlinux 0xa27471d0 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xa27b4a2a sock_i_ino +EXPORT_SYMBOL vmlinux 0xa27edf7e pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa28bbbaf bio_put +EXPORT_SYMBOL vmlinux 0xa28d9e7b key_revoke +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ea512f noop_qdisc +EXPORT_SYMBOL vmlinux 0xa2f07b0b pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xa2fc466a abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xa3019bb4 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xa332a8b9 scsi_free_command +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL vmlinux 0xa33a4d2d ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xa33f9c8e seq_read +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa352c00d blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa38a5c33 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa3967d82 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0xa3c37065 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xa3f02206 __napi_complete +EXPORT_SYMBOL vmlinux 0xa4011430 send_sig_info +EXPORT_SYMBOL vmlinux 0xa41e0e4c simple_unlink +EXPORT_SYMBOL vmlinux 0xa42059e6 elevator_exit +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa43c02cb nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xa4610bc6 omap_rev +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa473062d omap_dss_find_device +EXPORT_SYMBOL vmlinux 0xa47b6c65 poll_freewait +EXPORT_SYMBOL vmlinux 0xa47cb1ce input_unregister_handler +EXPORT_SYMBOL vmlinux 0xa48f5b09 omap_dma_set_global_params +EXPORT_SYMBOL vmlinux 0xa4b42c55 omap_set_dma_priority +EXPORT_SYMBOL vmlinux 0xa4d415d7 clk_set_rate +EXPORT_SYMBOL vmlinux 0xa4d785d6 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xa515f1be security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa57da780 ___pskb_trim +EXPORT_SYMBOL vmlinux 0xa57e70f6 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xa5816569 loop_register_transfer +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5b5ed5e register_quota_format +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa601c01f dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0xa61e4362 omap_request_dma +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6411cea unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xa644e9a8 nand_lock +EXPORT_SYMBOL vmlinux 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL vmlinux 0xa66bff3a xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675436a bio_integrity_free +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6916566 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6a7af1a devm_free_irq +EXPORT_SYMBOL vmlinux 0xa6c9bbfd unlock_rename +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e77860 scsi_put_command +EXPORT_SYMBOL vmlinux 0xa6f2a854 snd_timer_global_register +EXPORT_SYMBOL vmlinux 0xa6f8263a cdev_init +EXPORT_SYMBOL vmlinux 0xa6f9b9e7 revalidate_disk +EXPORT_SYMBOL vmlinux 0xa724db81 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xa7508001 dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0xa760125a scsi_ioctl +EXPORT_SYMBOL vmlinux 0xa7716564 d_add_ci +EXPORT_SYMBOL vmlinux 0xa78bb698 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xa79df6e5 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xa7a49c3d tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xa7d3938c kernel_getsockname +EXPORT_SYMBOL vmlinux 0xa7d43dc1 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xa7d96afa rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xa7f2c5ea prepare_creds +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8380d34 kernel_execve +EXPORT_SYMBOL vmlinux 0xa84e9d23 xfrm_input +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8a5c5fc __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xa8afac19 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xa8cde9a7 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xa8d096d6 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xa8e3b439 netdev_notice +EXPORT_SYMBOL vmlinux 0xa8e3df95 dev_addr_add +EXPORT_SYMBOL vmlinux 0xa8f3edc5 empty_zero_page +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa92abae5 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xa92b410b tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xa93ee019 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xa94fc942 generic_write_end +EXPORT_SYMBOL vmlinux 0xa961cab6 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xa961f577 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa993f0f0 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xa9b200ab __sk_dst_check +EXPORT_SYMBOL vmlinux 0xa9dc5272 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xa9e14cac generic_listxattr +EXPORT_SYMBOL vmlinux 0xaa079497 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xaa1db072 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xaa3b5d52 twl6040_irq_init +EXPORT_SYMBOL vmlinux 0xaa53517a kill_block_super +EXPORT_SYMBOL vmlinux 0xaa5927f9 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xaa5eaeb7 kern_path_create +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6ad675 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xaa74d1b3 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xaa997490 dm_put_device +EXPORT_SYMBOL vmlinux 0xaa9f5b56 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaafd68a9 vfs_readdir +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab26a914 register_sound_dsp +EXPORT_SYMBOL vmlinux 0xab2b4933 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0xab37edfd blk_complete_request +EXPORT_SYMBOL vmlinux 0xab5053a6 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xab57f8b0 omapfb_update_window +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab886706 input_grab_device +EXPORT_SYMBOL vmlinux 0xab9ed595 kobject_put +EXPORT_SYMBOL vmlinux 0xaba367b2 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xabb21e88 sock_wake_async +EXPORT_SYMBOL vmlinux 0xabb6c600 mount_pseudo +EXPORT_SYMBOL vmlinux 0xabca791f xfrm_register_type +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabe14b24 ps2_end_command +EXPORT_SYMBOL vmlinux 0xabfcfac5 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xac065b00 km_state_expired +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac18e4ea kset_unregister +EXPORT_SYMBOL vmlinux 0xac2a61c5 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac83a576 snd_card_unref +EXPORT_SYMBOL vmlinux 0xacc0a139 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacd7e93b skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0xace77bca mmc_start_req +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad17912a journal_init_inode +EXPORT_SYMBOL vmlinux 0xad30c3d0 serio_reconnect +EXPORT_SYMBOL vmlinux 0xad3fa0c2 blk_get_queue +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad673285 give_up_console +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xada48d8c sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xada6b3bc add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xada928b1 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae003da4 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xae29c2a8 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xae3d1199 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xae531f84 register_sysctl +EXPORT_SYMBOL vmlinux 0xae70f552 inet_sendpage +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae81bbd7 path_put +EXPORT_SYMBOL vmlinux 0xae86cdc1 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0xae9b7941 seq_escape +EXPORT_SYMBOL vmlinux 0xae9d7f8c scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xaeaa7655 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaf1fd789 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xaf36aa49 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf50e76d elf_set_personality +EXPORT_SYMBOL vmlinux 0xaf52da8d tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0xaf5f7994 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xaf618dca sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xaf6b34e0 security_file_permission +EXPORT_SYMBOL vmlinux 0xaf6fa864 sk_free +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafa4ab7c ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xafc59ac8 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xb011a10c snd_dma_get_reserved_buf +EXPORT_SYMBOL vmlinux 0xb01e10c5 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xb02de414 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06b3c7c input_open_device +EXPORT_SYMBOL vmlinux 0xb07556a2 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0xb08e0676 dquot_initialize +EXPORT_SYMBOL vmlinux 0xb09147f4 snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0xb091b7b5 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e3e88f set_bdi_congested +EXPORT_SYMBOL vmlinux 0xb0f60ce5 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xb10aad7d dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb14761d5 user_path_at +EXPORT_SYMBOL vmlinux 0xb16fe7b3 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb170f8bd ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0xb176fd27 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xb18e6948 omap_dss_pal_timings +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1adb2ff vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xb1adf2b3 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1e61df2 clear_nlink +EXPORT_SYMBOL vmlinux 0xb2142fc5 unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0xb21a2d49 scsi_print_result +EXPORT_SYMBOL vmlinux 0xb234e4d5 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xb24cec02 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xb250d9b0 vm_event_states +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2859d96 rt6_lookup +EXPORT_SYMBOL vmlinux 0xb2a36b40 del_gendisk +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2bae7e4 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2cc71e9 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb3356a4f single_release +EXPORT_SYMBOL vmlinux 0xb370e160 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xb371bda1 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xb38263aa submit_bh +EXPORT_SYMBOL vmlinux 0xb38d9707 genl_register_ops +EXPORT_SYMBOL vmlinux 0xb38f40cd unregister_console +EXPORT_SYMBOL vmlinux 0xb3acd57e mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xb40b4a80 __blk_end_request +EXPORT_SYMBOL vmlinux 0xb41f15d5 fget_raw +EXPORT_SYMBOL vmlinux 0xb423c6fb kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb438757a generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xb439bf8c omap_dss_get_device +EXPORT_SYMBOL vmlinux 0xb4419549 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xb44d7829 neigh_create +EXPORT_SYMBOL vmlinux 0xb4534d26 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xb45ee96c generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xb45f4119 snd_jack_set_key +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb48b56cf input_set_abs_params +EXPORT_SYMBOL vmlinux 0xb4923499 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL vmlinux 0xb4c7714d snd_card_create +EXPORT_SYMBOL vmlinux 0xb4c8f38a omap_dma_chain_status +EXPORT_SYMBOL vmlinux 0xb4d69f47 inode_init_once +EXPORT_SYMBOL vmlinux 0xb4ef532e neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xb5080124 page_put_link +EXPORT_SYMBOL vmlinux 0xb516dd76 nf_register_hooks +EXPORT_SYMBOL vmlinux 0xb52388e3 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xb538e751 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xb5435b58 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb566eca9 posix_test_lock +EXPORT_SYMBOL vmlinux 0xb567ecba input_set_capability +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5851e56 update_region +EXPORT_SYMBOL vmlinux 0xb5869d65 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0xb5875aeb qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5cfbb74 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xb5d6b6d4 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xb5d9454c printk_emit +EXPORT_SYMBOL vmlinux 0xb6002978 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xb64435c0 snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0xb6609bff log_start_commit +EXPORT_SYMBOL vmlinux 0xb661a04e vfsmount_lock +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb68ba50a remove_proc_entry +EXPORT_SYMBOL vmlinux 0xb6a003be netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6a7fd17 request_key_async +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6cb4764 truncate_setsize +EXPORT_SYMBOL vmlinux 0xb7179557 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0xb7287ee8 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xb72f8be8 d_alloc +EXPORT_SYMBOL vmlinux 0xb7500ef4 dev_printk +EXPORT_SYMBOL vmlinux 0xb7504e0f read_cache_page +EXPORT_SYMBOL vmlinux 0xb77a7c47 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xb78b3626 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7ba76c7 __aeabi_unwind_cpp_pr2 +EXPORT_SYMBOL vmlinux 0xb7d858e6 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xb7ded971 default_llseek +EXPORT_SYMBOL vmlinux 0xb7edfea4 tty_port_open +EXPORT_SYMBOL vmlinux 0xb811e32e bioset_free +EXPORT_SYMBOL vmlinux 0xb8184db9 bio_pair_release +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb81ecb7f omapdss_sdi_display_disable +EXPORT_SYMBOL vmlinux 0xb81fd3be idr_find +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb86a470c dentry_path_raw +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb887eedc sk_dst_check +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb89edda2 kunmap_high +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8ae0094 is_bad_inode +EXPORT_SYMBOL vmlinux 0xb8b538ba gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xb8c7d00d writeback_in_progress +EXPORT_SYMBOL vmlinux 0xb8ce2a62 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xb8d1d137 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb8fae64b skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xb8fc1234 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xb90f8ffb page_symlink +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb916bcf7 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xb91c3d6c jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xb949c954 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0xb97bdf1a set_binfmt +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb99fc756 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xb9a8f03b omap_stop_dma +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9b93d0b textsearch_register +EXPORT_SYMBOL vmlinux 0xb9c25982 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0xb9cbb8a4 vm_insert_page +EXPORT_SYMBOL vmlinux 0xb9cd3384 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xb9d6a701 generic_readlink +EXPORT_SYMBOL vmlinux 0xb9e52429 __wake_up +EXPORT_SYMBOL vmlinux 0xb9e7053e sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xba0ab285 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0xba23ba2a unregister_filesystem +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba556acf posix_lock_file +EXPORT_SYMBOL vmlinux 0xba55bb4e sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xba973a27 __invalidate_device +EXPORT_SYMBOL vmlinux 0xbaac427c get_mem_type +EXPORT_SYMBOL vmlinux 0xbab5cbdc dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xbac6d33d splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xbac744e4 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xbadcf6b5 tty_register_device +EXPORT_SYMBOL vmlinux 0xbafc3db9 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xbb0f0e09 __put_cred +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb2b4612 rwsem_is_locked +EXPORT_SYMBOL vmlinux 0xbb5302a0 register_sound_special +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb5f283e tcp_close +EXPORT_SYMBOL vmlinux 0xbb6a3e0d __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbb174d1 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xbbb9975c fb_blank +EXPORT_SYMBOL vmlinux 0xbbca2221 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xbbd15a05 skb_copy_expand +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc19d806 set_create_files_as +EXPORT_SYMBOL vmlinux 0xbc277023 snd_timer_notify +EXPORT_SYMBOL vmlinux 0xbc36987a __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xbc4174fb lease_modify +EXPORT_SYMBOL vmlinux 0xbc6ae019 kill_fasync +EXPORT_SYMBOL vmlinux 0xbc860222 gpmc_read_status +EXPORT_SYMBOL vmlinux 0xbc95ee3c tc_classify +EXPORT_SYMBOL vmlinux 0xbcb75a95 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xbcb92139 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xbcf6554a __scsi_add_device +EXPORT_SYMBOL vmlinux 0xbd31620c vfs_create +EXPORT_SYMBOL vmlinux 0xbd427502 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xbd49c27a skb_trim +EXPORT_SYMBOL vmlinux 0xbd6b36d3 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xbd85267b dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xbd9e0e2e phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xbda3a36c neigh_lookup +EXPORT_SYMBOL vmlinux 0xbdaa9936 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xbdb428ef mntput +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdf2580d __raw_readsl +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdfe2ad2 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe15e650 write_one_page +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe390c04 dput +EXPORT_SYMBOL vmlinux 0xbe3b3432 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xbe57016f ps2_begin_command +EXPORT_SYMBOL vmlinux 0xbe57efed generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe87a395 ip6_route_output +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf1faebe mutex_trylock +EXPORT_SYMBOL vmlinux 0xbf43d562 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xbf46c76f journal_set_features +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf891a5a ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfabafcf __devm_request_region +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfc7463b i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xbfda3c40 migrate_page +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc012ca1f mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xc016e26d tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xc0298245 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xc02cf69b clkdev_drop +EXPORT_SYMBOL vmlinux 0xc031bd83 sock_no_mmap +EXPORT_SYMBOL vmlinux 0xc04c2a00 datagram_poll +EXPORT_SYMBOL vmlinux 0xc0573aa3 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc0656f59 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc06a63af snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0xc06ec2c8 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc09a8c9e jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xc0a6a8c5 omap_set_dma_dest_burst_mode +EXPORT_SYMBOL vmlinux 0xc0bd98ce jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xc0c10cd7 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xc0cf95f9 omap_vrfb_request_ctx +EXPORT_SYMBOL vmlinux 0xc0db7741 snd_card_disconnect +EXPORT_SYMBOL vmlinux 0xc0f0d2f5 snd_jack_report +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc17b6a0e try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xc188c320 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xc18cbb2d skb_queue_head +EXPORT_SYMBOL vmlinux 0xc1903cb3 sget +EXPORT_SYMBOL vmlinux 0xc198f0c5 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xc19b1e44 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xc1b76967 release_pages +EXPORT_SYMBOL vmlinux 0xc1bb8636 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc20e1a09 __secpath_destroy +EXPORT_SYMBOL vmlinux 0xc2165d85 __arm_iounmap +EXPORT_SYMBOL vmlinux 0xc2220e8d scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc230e149 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xc235a956 check_disk_size_change +EXPORT_SYMBOL vmlinux 0xc25076c0 kobject_del +EXPORT_SYMBOL vmlinux 0xc250bf94 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc26160a6 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xc2748881 kobject_init +EXPORT_SYMBOL vmlinux 0xc2a852a0 clk_disable +EXPORT_SYMBOL vmlinux 0xc2d09588 tty_free_termios +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e058a4 idr_get_new_above +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f13a1f request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xc2f8a9f9 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc3004e8d __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xc31f9576 fb_class +EXPORT_SYMBOL vmlinux 0xc32a7467 set_disk_ro +EXPORT_SYMBOL vmlinux 0xc32ff7ce neigh_event_ns +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc352d718 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xc359fb65 abort +EXPORT_SYMBOL vmlinux 0xc3678374 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xc37d20b6 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xc37d2d7b mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xc38647e7 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xc3890b97 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xc38e53d4 snd_register_device_for_dev +EXPORT_SYMBOL vmlinux 0xc3e153f4 md_integrity_register +EXPORT_SYMBOL vmlinux 0xc426117f lock_sock_nested +EXPORT_SYMBOL vmlinux 0xc456745c build_skb +EXPORT_SYMBOL vmlinux 0xc45ef616 idr_for_each +EXPORT_SYMBOL vmlinux 0xc480eb0c scsi_reset_provider +EXPORT_SYMBOL vmlinux 0xc48413f0 init_buffer +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc49ad5f1 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xc4a94d64 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xc4e8b63a bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xc500c250 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xc52da066 omap_set_dma_dest_params +EXPORT_SYMBOL vmlinux 0xc5337b72 vfs_unlink +EXPORT_SYMBOL vmlinux 0xc53ccd9c uart_suspend_port +EXPORT_SYMBOL vmlinux 0xc5484cac __scsi_put_command +EXPORT_SYMBOL vmlinux 0xc54bc3c9 dqstats +EXPORT_SYMBOL vmlinux 0xc5533f52 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xc556ef02 kmap_high +EXPORT_SYMBOL vmlinux 0xc56fcffc save_mount_options +EXPORT_SYMBOL vmlinux 0xc5b6ea0b set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xc5b80112 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xc5da10d4 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc601f8df snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0xc610afab security_d_instantiate +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc65364f9 dql_completed +EXPORT_SYMBOL vmlinux 0xc65d91dd dev_add_pack +EXPORT_SYMBOL vmlinux 0xc66e0845 dump_seek +EXPORT_SYMBOL vmlinux 0xc6715719 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d80bbd skb_pad +EXPORT_SYMBOL vmlinux 0xc6db3da6 snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7194d30 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc768b0a4 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xc7751111 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7e58de8 dev_crit +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc8167537 amba_find_device +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc86b0738 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc8b1be3b block_write_end +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8f70752 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xc9046ace vmap +EXPORT_SYMBOL vmlinux 0xc9142293 omap_dss_ntsc_timings +EXPORT_SYMBOL vmlinux 0xc94641ee ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xc95db37b dev_disable_lro +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99a02d4 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a6a20e check_disk_change +EXPORT_SYMBOL vmlinux 0xc9c11b6b kernel_bind +EXPORT_SYMBOL vmlinux 0xc9c953f5 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xc9cde9d3 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xc9d3669c task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xc9e25f28 d_set_d_op +EXPORT_SYMBOL vmlinux 0xca03e351 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xca22a56d bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xca230d70 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca8fb8e7 nand_bch_correct_data +EXPORT_SYMBOL vmlinux 0xcab17e69 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xcac37933 mdiobus_read +EXPORT_SYMBOL vmlinux 0xcac5c185 snd_timer_open +EXPORT_SYMBOL vmlinux 0xcac988c7 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xcad53bce napi_gro_flush +EXPORT_SYMBOL vmlinux 0xcb180ab8 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xcb286cf1 dev_get_stats +EXPORT_SYMBOL vmlinux 0xcb49aa96 omap_dss_get_overlay +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb736482 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xcb7e5f62 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcba19645 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xcbac96b3 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xcbb5521a dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbd83b43 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xcbe2ad2b skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xcc056f6e mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc3cebde omap_dss_start_device +EXPORT_SYMBOL vmlinux 0xcc3e392d splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xcc4bb0ba tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcca52087 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xcca97a4e serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xccb775f2 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xccbb0f7b tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xccdf6656 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xcd00ddc1 kdb_current_task +EXPORT_SYMBOL vmlinux 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0xcd242697 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xcd251977 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd30b95a tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0xcd4b732f bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcd61b199 netif_device_detach +EXPORT_SYMBOL vmlinux 0xcd63c76f of_get_property +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd764b11 __module_get +EXPORT_SYMBOL vmlinux 0xcd7b219f cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce24e23e d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL vmlinux 0xce4d0f22 abx500_register_ops +EXPORT_SYMBOL vmlinux 0xce50e82b xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xce535007 I_BDEV +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce9e6661 scsi_get_command +EXPORT_SYMBOL vmlinux 0xcea899ea down +EXPORT_SYMBOL vmlinux 0xcece52fd key_link +EXPORT_SYMBOL vmlinux 0xcee72a4b mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xcef3576a cpu_user +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefacee8 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf0a66e9 snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0xcf17825d mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xcf1b6967 mdio_bus_type +EXPORT_SYMBOL vmlinux 0xcf25926d generic_file_fsync +EXPORT_SYMBOL vmlinux 0xcf2fec6e netpoll_print_options +EXPORT_SYMBOL vmlinux 0xcf5d5ba6 dquot_quota_off +EXPORT_SYMBOL vmlinux 0xcf97d245 blk_rq_init +EXPORT_SYMBOL vmlinux 0xcfa3c430 task_nice +EXPORT_SYMBOL vmlinux 0xcfac8752 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xcfafee12 deactivate_super +EXPORT_SYMBOL vmlinux 0xcfbee619 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xcfc2c2d9 scsi_register +EXPORT_SYMBOL vmlinux 0xcfc5c18f ppp_channel_index +EXPORT_SYMBOL vmlinux 0xcfd5c39d md_check_recovery +EXPORT_SYMBOL vmlinux 0xcfe475a9 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xcfe7b74e blk_delay_queue +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01abb1e jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xd01e2149 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xd0600b30 __block_write_begin +EXPORT_SYMBOL vmlinux 0xd07eb422 icmp_send +EXPORT_SYMBOL vmlinux 0xd08316eb textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xd09dc10f simple_dir_operations +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0a9ece1 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL vmlinux 0xd0e6c0b6 neigh_compat_output +EXPORT_SYMBOL vmlinux 0xd0e8959a framebuffer_release +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fbf7d4 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xd0fd51df bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xd0fed2d4 follow_pfn +EXPORT_SYMBOL vmlinux 0xd10e2347 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0xd10ec42e snd_timer_resolution +EXPORT_SYMBOL vmlinux 0xd1157735 release_and_free_resource +EXPORT_SYMBOL vmlinux 0xd1168764 tty_hangup +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd148c0cc netdev_err +EXPORT_SYMBOL vmlinux 0xd1629bf1 kernel_read +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd1859e29 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xd19636a1 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd1a139fe lg_global_lock +EXPORT_SYMBOL vmlinux 0xd1b54e19 netlink_unicast +EXPORT_SYMBOL vmlinux 0xd1c22f1f snd_timer_global_new +EXPORT_SYMBOL vmlinux 0xd1c3a60a bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xd1e03241 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xd1f2f617 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xd209c3bb of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0xd2124ac9 dev_mc_init +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd24949a0 mpage_writepages +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd255d164 bdi_destroy +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26249f4 flush_old_exec +EXPORT_SYMBOL vmlinux 0xd26338c6 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xd277d4cd ip_options_compile +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2cee4aa shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xd2cf7a44 nonseekable_open +EXPORT_SYMBOL vmlinux 0xd2fd0268 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xd308989f udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xd30b6f18 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xd3149376 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd322fc2a __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xd3610cf3 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xd36a27d6 __devm_release_region +EXPORT_SYMBOL vmlinux 0xd37bf41f snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0xd37dd931 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xd382019f register_sysctl_table +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd387eefa cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xd3db4d73 blkdev_put +EXPORT_SYMBOL vmlinux 0xd3dbfbc4 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3f4730e textsearch_destroy +EXPORT_SYMBOL vmlinux 0xd4126276 ab3100_event_register +EXPORT_SYMBOL vmlinux 0xd4172e8c tc_classify_compat +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd4410190 eth_header_cache +EXPORT_SYMBOL vmlinux 0xd443ddb5 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xd45a8a20 __ps2_command +EXPORT_SYMBOL vmlinux 0xd460dda3 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd46c29f2 journal_stop +EXPORT_SYMBOL vmlinux 0xd47d75aa amba_device_register +EXPORT_SYMBOL vmlinux 0xd4a644c3 should_remove_suid +EXPORT_SYMBOL vmlinux 0xd4d28cd0 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xd4eb7456 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xd4fffa13 elv_rb_find +EXPORT_SYMBOL vmlinux 0xd5152710 sg_next +EXPORT_SYMBOL vmlinux 0xd52a49b1 kern_path +EXPORT_SYMBOL vmlinux 0xd54fb52a sk_wait_data +EXPORT_SYMBOL vmlinux 0xd56e9485 omap_set_dma_dest_index +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd59a8c90 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xd59cbe0c nand_unlock +EXPORT_SYMBOL vmlinux 0xd5a66de4 elv_rb_add +EXPORT_SYMBOL vmlinux 0xd5a815da md_unregister_thread +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5c225a5 genphy_update_link +EXPORT_SYMBOL vmlinux 0xd5d7e375 sg_miter_start +EXPORT_SYMBOL vmlinux 0xd5e1559a __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xd5f89068 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xd60a0fb2 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd62e7107 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xd62eca04 cont_write_begin +EXPORT_SYMBOL vmlinux 0xd63e53eb kern_unmount +EXPORT_SYMBOL vmlinux 0xd64305e0 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd663b162 d_find_alias +EXPORT_SYMBOL vmlinux 0xd6649268 lock_rename +EXPORT_SYMBOL vmlinux 0xd69ec7fe __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd6d49d4a con_copy_unimap +EXPORT_SYMBOL vmlinux 0xd6dbfeed __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd746002d i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xd7507017 __frontswap_store +EXPORT_SYMBOL vmlinux 0xd757bca8 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xd758f4b8 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xd75cdbcc make_bad_inode +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79274f7 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xd792e78a tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7c0663b set_nlink +EXPORT_SYMBOL vmlinux 0xd7db60bb tcf_hash_create +EXPORT_SYMBOL vmlinux 0xd7e3c624 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd803624d create_proc_entry +EXPORT_SYMBOL vmlinux 0xd808e6c7 skb_unlink +EXPORT_SYMBOL vmlinux 0xd811f9d2 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xd8666d80 led_blink_set +EXPORT_SYMBOL vmlinux 0xd88d63cc locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xd8c54372 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xd8c81ba1 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8e8261d sock_update_classid +EXPORT_SYMBOL vmlinux 0xd8f040f1 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd91ef5be fb_set_var +EXPORT_SYMBOL vmlinux 0xd9201b56 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92bc943 security_path_symlink +EXPORT_SYMBOL vmlinux 0xd93726ab __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xd94d4db1 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xd955d2b7 omap_set_dma_dest_data_pack +EXPORT_SYMBOL vmlinux 0xd96b6dd1 omap_device_get_by_hwmod_name +EXPORT_SYMBOL vmlinux 0xd9850607 vfs_fsync +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd98f24a9 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xd9aa27a2 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd9ab1dd9 inet_accept +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9e1a956 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xd9f39da0 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xda03e1fe __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xda173ed3 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xda5af5eb snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda85f2a5 register_sound_special_device +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda9acfde sock_no_getname +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaab96a3 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xdb0df8da generic_setxattr +EXPORT_SYMBOL vmlinux 0xdb2178c7 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdb4292e4 omap_set_dma_params +EXPORT_SYMBOL vmlinux 0xdb6340c4 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb71b872 snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb88f70e jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdba8b7fb pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbef598c dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xdbf80d00 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xdc03b1ba phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc076141 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc424319 dm_io +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc46b485 clk_register +EXPORT_SYMBOL vmlinux 0xdc5622ba simple_write_end +EXPORT_SYMBOL vmlinux 0xdc6d2f73 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc798d37 __mutex_init +EXPORT_SYMBOL vmlinux 0xdca38d53 devm_clk_get +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdccfb770 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xdcf2a96e inet6_getname +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd0f206f elv_add_request +EXPORT_SYMBOL vmlinux 0xdd1637c8 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2c963a elevator_change +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd6056ff fail_migrate_page +EXPORT_SYMBOL vmlinux 0xdd6d2608 skb_find_text +EXPORT_SYMBOL vmlinux 0xdd9ab324 d_drop +EXPORT_SYMBOL vmlinux 0xdda6bb89 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xddb96399 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0xddc6405f mount_bdev +EXPORT_SYMBOL vmlinux 0xddcab48c mpage_readpage +EXPORT_SYMBOL vmlinux 0xddd10c38 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xdddf622a set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xde10ffd5 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xde15c042 omap_set_dma_src_index +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde4becba dcache_readdir +EXPORT_SYMBOL vmlinux 0xde53677e unlock_page +EXPORT_SYMBOL vmlinux 0xde570f5b find_inode_number +EXPORT_SYMBOL vmlinux 0xde692d94 omap_get_dma_chain_src_pos +EXPORT_SYMBOL vmlinux 0xde7b1837 km_report +EXPORT_SYMBOL vmlinux 0xde8c763d cpu_v7_set_pte_ext +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdec5bbaf ip6_xmit +EXPORT_SYMBOL vmlinux 0xdedff161 skb_pull +EXPORT_SYMBOL vmlinux 0xdef438d4 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xdf0e823b input_register_handler +EXPORT_SYMBOL vmlinux 0xdf1ef69f wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xdf256115 of_match_node +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf4fa53d genl_register_mc_group +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf667daf vfs_follow_link +EXPORT_SYMBOL vmlinux 0xdf71068d blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb01a80 cpu_v7_dcache_clean_area +EXPORT_SYMBOL vmlinux 0xdfb0c7f5 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd91ce9 omap_type +EXPORT_SYMBOL vmlinux 0xdffe8e4e unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xe004a9f8 elv_rb_del +EXPORT_SYMBOL vmlinux 0xe00a99fc genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0xe02220c9 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe04a3d7a dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe053be9e scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe0726148 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xe0747838 make_EII_client +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe0790c16 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xe083e069 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b65216 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xe0f6aa9e nand_default_bbt +EXPORT_SYMBOL vmlinux 0xe0fe7c45 nla_append +EXPORT_SYMBOL vmlinux 0xe106154f omap_vram_get_info +EXPORT_SYMBOL vmlinux 0xe10d5405 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11f4561 drop_nlink +EXPORT_SYMBOL vmlinux 0xe12f3ac2 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xe1497572 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xe158755e sock_release +EXPORT_SYMBOL vmlinux 0xe162bafc xfrm_lookup +EXPORT_SYMBOL vmlinux 0xe1644b2e __lock_buffer +EXPORT_SYMBOL vmlinux 0xe16b893b mutex_lock +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe19c51cb lookup_hash +EXPORT_SYMBOL vmlinux 0xe1a6969b unregister_exec_domain +EXPORT_SYMBOL vmlinux 0xe1ae1491 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xe1cf960d ip_fragment +EXPORT_SYMBOL vmlinux 0xe1de021b inet_release +EXPORT_SYMBOL vmlinux 0xe1fcb480 tcp_connect +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe22f6a53 snd_dma_reserve_buf +EXPORT_SYMBOL vmlinux 0xe23009f6 write_inode_now +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe2441279 d_rehash +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2554df8 inode_dio_done +EXPORT_SYMBOL vmlinux 0xe2682378 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xe2903201 dquot_commit +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe3128f59 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xe3225c33 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xe33589ef tcp_splice_read +EXPORT_SYMBOL vmlinux 0xe34ecca0 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xe37d10ae omap_dispc_unregister_isr +EXPORT_SYMBOL vmlinux 0xe38ae976 d_alloc_name +EXPORT_SYMBOL vmlinux 0xe3b14a22 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xe3b1637a journal_update_format +EXPORT_SYMBOL vmlinux 0xe3cb857d __inet6_hash +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3dd24a5 bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0xe410f1d1 nand_scan +EXPORT_SYMBOL vmlinux 0xe4396448 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xe45a206a thaw_bdev +EXPORT_SYMBOL vmlinux 0xe45f7d65 pid_task +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4b12ce5 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xe4b41f7c snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0xe4c6db55 blkdev_get +EXPORT_SYMBOL vmlinux 0xe4c73d36 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4cb59ca __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe4e22326 snd_pcm_lib_writev +EXPORT_SYMBOL vmlinux 0xe5029346 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52e743c dev_set_group +EXPORT_SYMBOL vmlinux 0xe5445af6 omap_get_dma_dst_pos +EXPORT_SYMBOL vmlinux 0xe54dbdc3 follow_down_one +EXPORT_SYMBOL vmlinux 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe59e6dd7 vfs_rename +EXPORT_SYMBOL vmlinux 0xe5b00261 skb_free_datagram +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5c9bb3a mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xe5d58c84 irq_set_chip +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f2ef00 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xe5fb5617 of_device_alloc +EXPORT_SYMBOL vmlinux 0xe600918a dev_uc_flush +EXPORT_SYMBOL vmlinux 0xe6070a2c proto_register +EXPORT_SYMBOL vmlinux 0xe60dff2b tcp_make_synack +EXPORT_SYMBOL vmlinux 0xe631934d bio_sector_offset +EXPORT_SYMBOL vmlinux 0xe641836d genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xe66c4ed6 tty_port_put +EXPORT_SYMBOL vmlinux 0xe671b058 iget_failed +EXPORT_SYMBOL vmlinux 0xe6744a89 omap_clear_dma +EXPORT_SYMBOL vmlinux 0xe68afe55 snd_card_file_remove +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6a27fba wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xe6b28317 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xe6b7d8ae dst_release +EXPORT_SYMBOL vmlinux 0xe6beae45 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xe6c3ebb0 __raw_writesw +EXPORT_SYMBOL vmlinux 0xe6d0fd38 do_sync_read +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fbe96e proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe72167ab md_register_thread +EXPORT_SYMBOL vmlinux 0xe72a5c93 vm_mmap +EXPORT_SYMBOL vmlinux 0xe73d0fde sleep_on +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe78d124a scsi_print_sense +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7a9e446 pipe_to_file +EXPORT_SYMBOL vmlinux 0xe7c3728d scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe7d42d0b delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe84f232c netlink_broadcast +EXPORT_SYMBOL vmlinux 0xe86c18fc secpath_dup +EXPORT_SYMBOL vmlinux 0xe86cf8c6 of_dev_get +EXPORT_SYMBOL vmlinux 0xe86fb6e0 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xe8741f75 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87ed1ce idr_replace +EXPORT_SYMBOL vmlinux 0xe88f63f4 fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0xe893c4af snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b6e421 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xe8d0683c write_cache_pages +EXPORT_SYMBOL vmlinux 0xe8e6dd74 block_commit_write +EXPORT_SYMBOL vmlinux 0xe8e92753 locks_delete_block +EXPORT_SYMBOL vmlinux 0xe8ecb949 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xe902708d input_free_device +EXPORT_SYMBOL vmlinux 0xe9046d8e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe94605ac dentry_unhash +EXPORT_SYMBOL vmlinux 0xe94869d6 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xe94ea7dc dquot_resume +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9663dec of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xe971730b i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xe97e8126 omap_dss_stop_device +EXPORT_SYMBOL vmlinux 0xe981236c scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xe99c830a snd_seq_root +EXPORT_SYMBOL vmlinux 0xe9ab45b3 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xe9fd13f5 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea0a37d6 snd_card_register +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea6f48d1 clear_inode +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9fb9df rename_lock +EXPORT_SYMBOL vmlinux 0xeab80003 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xeabe1be9 sock_create +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xead92857 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaea334a input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xeaf436c8 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xeb0d00bd neigh_destroy +EXPORT_SYMBOL vmlinux 0xeb1b120e omap_set_dma_write_mode +EXPORT_SYMBOL vmlinux 0xeb23aef1 of_device_is_available +EXPORT_SYMBOL vmlinux 0xeb3514f6 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb384930 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xeb3cb802 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xeb4c698c skb_put +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb61ec51 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xeb959693 flush_signals +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebc59713 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebf5511f ip_check_defrag +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xec053756 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xec097451 __f_setown +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec2c1921 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xec485a97 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec554f46 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xec5f79ed tcf_hash_search +EXPORT_SYMBOL vmlinux 0xec6a4d04 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xec7685d2 locks_free_lock +EXPORT_SYMBOL vmlinux 0xec82b89a nla_put +EXPORT_SYMBOL vmlinux 0xeca34845 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xecdc68f3 fb_show_logo +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed65cc2d mii_check_media +EXPORT_SYMBOL vmlinux 0xed844dd0 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xed854dac omap_stop_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0xed85908b jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda40695 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xedba9b1d i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedd025e6 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xedd27afa of_parse_phandle +EXPORT_SYMBOL vmlinux 0xedd76ea8 blk_end_request_all +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xeddbf3d5 kthread_bind +EXPORT_SYMBOL vmlinux 0xedde453d tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xedf556bf module_put +EXPORT_SYMBOL vmlinux 0xedf77151 set_device_ro +EXPORT_SYMBOL vmlinux 0xedf8b17c do_splice_direct +EXPORT_SYMBOL vmlinux 0xee027b51 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xee108f30 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0xee2166d5 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3496c3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xee3b0e8f snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0xee3f35e9 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xee4b6e1b eth_change_mtu +EXPORT_SYMBOL vmlinux 0xee4fadad __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0xee531f4c jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xee596802 generic_write_checks +EXPORT_SYMBOL vmlinux 0xee5c0879 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xee794b78 fb_pan_display +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeebe8f10 i2c_release_client +EXPORT_SYMBOL vmlinux 0xeee57fcc security_mmap_file +EXPORT_SYMBOL vmlinux 0xeef17e7a dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xeef3e4b4 dquot_transfer +EXPORT_SYMBOL vmlinux 0xef26c159 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xef3910dc d_obtain_alias +EXPORT_SYMBOL vmlinux 0xef3bc247 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xef75f942 read_cache_pages +EXPORT_SYMBOL vmlinux 0xef7c03eb wake_up_process +EXPORT_SYMBOL vmlinux 0xefb48176 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xefb66a95 omap_request_dma_chain +EXPORT_SYMBOL vmlinux 0xefd6cf06 __aeabi_unwind_cpp_pr0 +EXPORT_SYMBOL vmlinux 0xefdd2345 sg_init_one +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefec312f omap_get_dma_active_status +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf003e50d netdev_alert +EXPORT_SYMBOL vmlinux 0xf026f6c5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xf02e1fdc xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xf02fde9d generic_setlease +EXPORT_SYMBOL vmlinux 0xf02fe254 load_nls +EXPORT_SYMBOL vmlinux 0xf0388ce7 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xf04d2dd2 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf068c994 nand_scan_bbt +EXPORT_SYMBOL vmlinux 0xf07cc7bb eth_header_parse +EXPORT_SYMBOL vmlinux 0xf09b45fb seq_puts +EXPORT_SYMBOL vmlinux 0xf0d68ed6 clk_register_clkdevs +EXPORT_SYMBOL vmlinux 0xf0ed6b0f unload_nls +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fc826c new_inode +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf101208c phy_stop +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf12a65b8 omap_dss_get_overlay_manager +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1c700d1 mmc_add_host +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e0f3ca phy_attach +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf2077a76 dquot_operations +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf2190f2e ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xf2251d49 vfs_write +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf26df746 omap_vram_free +EXPORT_SYMBOL vmlinux 0xf291c0f5 mii_check_link +EXPORT_SYMBOL vmlinux 0xf295ca65 snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2a895eb ps2_init +EXPORT_SYMBOL vmlinux 0xf2c8865b inet_del_protocol +EXPORT_SYMBOL vmlinux 0xf2d614e6 __serio_register_driver +EXPORT_SYMBOL vmlinux 0xf2e5a880 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf31c8008 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xf3227ba1 account_page_redirty +EXPORT_SYMBOL vmlinux 0xf32d0824 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338a0bf mmc_release_host +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf351cb1f vfs_llseek +EXPORT_SYMBOL vmlinux 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf396cd21 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xf39e34c4 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xf3a3e15b page_address +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3cc4527 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xf3df42aa inet_add_protocol +EXPORT_SYMBOL vmlinux 0xf3e7a589 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xf3f1e663 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xf4076a1c filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xf409e08a filemap_flush +EXPORT_SYMBOL vmlinux 0xf41bfe83 cdev_del +EXPORT_SYMBOL vmlinux 0xf4251f11 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xf44c2e0b freezing_slow_path +EXPORT_SYMBOL vmlinux 0xf45236a2 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xf45cbd76 kill_pid +EXPORT_SYMBOL vmlinux 0xf4713cd7 phy_find_first +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4b4265c udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xf4b83861 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4dd1223 snd_timer_new +EXPORT_SYMBOL vmlinux 0xf4e4c065 nf_log_register +EXPORT_SYMBOL vmlinux 0xf4ee5933 mdiobus_free +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4fa39ec __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xf501b2c2 dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0xf507636e tty_kref_put +EXPORT_SYMBOL vmlinux 0xf5085198 genphy_resume +EXPORT_SYMBOL vmlinux 0xf525cfc6 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xf527dbbc nf_log_packet +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5410419 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xf54c51a2 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf54d417e dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf574b613 udp_seq_open +EXPORT_SYMBOL vmlinux 0xf5a3e1c6 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xf5ae3f81 generic_removexattr +EXPORT_SYMBOL vmlinux 0xf5ae97d5 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xf5b9ad09 console_stop +EXPORT_SYMBOL vmlinux 0xf5bb9125 blk_run_queue_async +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5cd912c release_firmware +EXPORT_SYMBOL vmlinux 0xf5df134c __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5ecd62b sk_reset_timer +EXPORT_SYMBOL vmlinux 0xf5f02817 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xf60352b0 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xf61cdfc1 __page_symlink +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf6393d7f tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xf6412e0e inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xf648dfe6 may_umount +EXPORT_SYMBOL vmlinux 0xf64e469b dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xf65ca1d8 nf_register_hook +EXPORT_SYMBOL vmlinux 0xf65f9ea2 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xf66377eb uart_update_timeout +EXPORT_SYMBOL vmlinux 0xf67c24f2 mount_nodev +EXPORT_SYMBOL vmlinux 0xf685849d snd_ctl_notify +EXPORT_SYMBOL vmlinux 0xf690c646 dev_change_flags +EXPORT_SYMBOL vmlinux 0xf69496b6 sync_inode +EXPORT_SYMBOL vmlinux 0xf69f7dde tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xf69ff716 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xf6b8567d downgrade_write +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6d046da key_put +EXPORT_SYMBOL vmlinux 0xf6d7e5d6 snd_pcm_link_rwlock +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f3cef6 omap_vrfb_setup +EXPORT_SYMBOL vmlinux 0xf6f5d06c snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0xf7079c9b nf_afinfo +EXPORT_SYMBOL vmlinux 0xf72e99f4 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xf74ecc5d insert_inode_locked +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf76d3890 skb_push +EXPORT_SYMBOL vmlinux 0xf777397f __bforget +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf78306d3 d_validate +EXPORT_SYMBOL vmlinux 0xf78478a4 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf78ee9e5 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xf792400b __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xf792d7e3 kobject_get +EXPORT_SYMBOL vmlinux 0xf7931402 udp_ioctl +EXPORT_SYMBOL vmlinux 0xf794311c mntget +EXPORT_SYMBOL vmlinux 0xf79c9fa3 omap_vram_alloc +EXPORT_SYMBOL vmlinux 0xf7c61815 get_omap3_evm_rev +EXPORT_SYMBOL vmlinux 0xf7cbbdb7 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xf7de171e i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf7ed6906 of_match_device +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80656de inet_recvmsg +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf81ddbd9 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xf83b59af skb_append +EXPORT_SYMBOL vmlinux 0xf853bbca omap_vrfb_map_angle +EXPORT_SYMBOL vmlinux 0xf85a57f6 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xf86abeef console_start +EXPORT_SYMBOL vmlinux 0xf87b6fa4 fb_find_mode +EXPORT_SYMBOL vmlinux 0xf88c3301 sg_init_table +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8a51a32 misc_register +EXPORT_SYMBOL vmlinux 0xf8b4f464 ping_prot +EXPORT_SYMBOL vmlinux 0xf8fbb4f0 __bad_xchg +EXPORT_SYMBOL vmlinux 0xf9141c54 serio_interrupt +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf959ed0e udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xf95a91c2 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xf9748f62 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xf993fa97 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xf99fdaa1 is_container_init +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9aed5ff snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0xf9dc42f9 seq_open +EXPORT_SYMBOL vmlinux 0xf9e13b71 dev_uc_init +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xfa082128 down_interruptible +EXPORT_SYMBOL vmlinux 0xfa2fde93 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xfa3ce265 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xfa44b8e8 start_tty +EXPORT_SYMBOL vmlinux 0xfa585a30 find_or_create_page +EXPORT_SYMBOL vmlinux 0xfa660e3f __bio_clone +EXPORT_SYMBOL vmlinux 0xfaa3edf8 tty_throttle +EXPORT_SYMBOL vmlinux 0xfabc9238 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xfac68eba arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfacd2e14 pgprot_user +EXPORT_SYMBOL vmlinux 0xfad9a259 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfae8cf2f do_SAK +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfaff1690 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xfb0ac32f neigh_for_each +EXPORT_SYMBOL vmlinux 0xfb4fd6e8 register_exec_domain +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfba5789f generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbb24c3d kfree_skb +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbefb9f0 sync_blockdev +EXPORT_SYMBOL vmlinux 0xfbf3d8bd mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1d7daf inc_nlink +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc6d3b8d ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xfc6d95c9 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xfc753428 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0xfc7bae69 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xfc7fe4f5 get_disk +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcae4941 snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd2987a nand_scan_ident +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd01ed34 journal_check_used_features +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd4f67ed tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xfd52eaf6 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xfd608c7d netdev_change_features +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd6f86ef __skb_tx_hash +EXPORT_SYMBOL vmlinux 0xfd875215 commit_creds +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL vmlinux 0xfdea1abc of_phy_find_device +EXPORT_SYMBOL vmlinux 0xfdeda205 devm_gpio_free +EXPORT_SYMBOL vmlinux 0xfdf2450c journal_dirty_data +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfdfc9b3e blk_fetch_request +EXPORT_SYMBOL vmlinux 0xfe17b25a xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xfe202635 netlink_set_err +EXPORT_SYMBOL vmlinux 0xfe3c6b36 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xfe47aef8 amba_release_regions +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe634f58 add_wait_queue +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe88a8fc mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xfeb02436 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1aa9b9 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff4dde7f scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa8a48f nand_scan_tail +EXPORT_SYMBOL vmlinux 0xffadc878 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xffb94ef0 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0xffd2cf99 omap_dss_get_num_overlay_managers +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL_GPL crypto/af_alg 0x030bb373 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x05c80aa5 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x4b80a24d af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x58515b45 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x94ea4b38 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xb00858ca af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xd65aa67c af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0xdf623e43 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x43fed996 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x4e0acd7f async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x5664f049 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x4761b002 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xaf9b76f5 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x10234c08 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x6de4eeaf async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x73befea0 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x80c364df async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xd321c95b async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xfb134fd5 async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x076a9a5a blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x03fb94c2 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x1240b6da cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x55cc57db cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x6d2a5fe6 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x8bb00c6e cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x9ff548e6 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xabe6cbc6 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xb710e25f cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xbb1c34a0 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xfd613da3 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0xcd074900 lrw_init_table +EXPORT_SYMBOL_GPL crypto/lrw 0xd69aa2d6 lrw_crypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x5ddb33e9 __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x72802c10 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x77b39cb4 __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8a1a99ad __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xd183a7fa twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xb35f36fa xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x08706829 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0d58f4d4 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x22692669 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x3c5c7f0f ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x44a9a3d1 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x63aad715 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6546f0d2 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6f85e6f9 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7d7c288c ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8f030a77 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa4d0032e ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xab9ee095 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb159720e ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb2171b52 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb6aa36d3 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc787ddf0 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcaff6498 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd5c7a860 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x97d8faca __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xd089e5a4 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0cef45fb bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1ec3791b bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x280d2e1c bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3a141f28 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3ac8ba43 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4dbb4224 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8f2db6dd bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x97192d6d bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa6db42e0 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb1a8f98b bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcec6da0d bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdc911c6d bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xea85ea0e bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xef90b1c9 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xefda063d __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x41a1e457 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4bb7984f btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x559cce03 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x88030b21 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa59d8e3d btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc3bcac46 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd806eae7 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe5fbdef4 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xed786c0f btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf5d81a22 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x250250c6 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x330f1642 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4554359f extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4a0f818f extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x598af868 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6fc7a6ac extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x72fb601a extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x75d9b591 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8fa3d652 extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xab9c9ff0 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xbe0f4011 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xede5fcda extcon_update_state +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x0719d21c bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xa9c2b0b7 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x03a7a889 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x300f00cc __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d41d914 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd7db824f drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0974b4b0 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0bda9668 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0c96d389 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0e7a3488 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x197128d1 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31c18fc6 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3913eaa7 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x47c3a9c4 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4be27a7b hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4f38b74a hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5204a80a hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x52e1d863 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x53065316 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9619e69b hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9a2b8fa5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9c14237b hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa9e29b6c hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb64f4451 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbda697f3 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe2a5815 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe4808b0 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc92c7991 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd730fa30 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe0f8622b hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9b4d3b1 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeb408504 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf2e62f8e hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf674432f hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf8c7caea hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x0fdfcd7b roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x621f298b roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xb5431963 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x23342328 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x78e6c775 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa416230b usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xf81fe3ed usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1c6cb47d hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x252f3c75 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x416bc95f hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x43e77d39 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x59a1949c hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x75628d3b hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x801363d9 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8fe053ab hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x98c5130f hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9e8e3d0a hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb464396f hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd971bdcf hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe4f38680 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x05e484d9 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0fda20fe i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x1117418d i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x44daf467 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x462fb5a9 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x7c2a22fa i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x82d9c254 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa520a770 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xcdc93406 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x5ed5c29f i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xb9e2f209 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x65d9f207 i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x6c583c84 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0acd77a5 iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x10a8dddb iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1bee2d53 iio_st_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x27594f1b iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5bd802c3 iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x82ed5459 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x84999b75 iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8c6a156e iio_st_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x95d88a8c iio_st_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9a13d6d6 iio_scan_mask_set +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xacb183f5 iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb76b1767 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc8cb5645 iio_st_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd6ad34c6 iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdfe6400d iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x840f2bc2 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7170fa05 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x15579f0d cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x8046053b cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xb1a0665b cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x14587a60 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x161e1067 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x28f48bc7 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2f13e01d wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2f4da6a4 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x48cc22e9 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7aff65d8 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x84662277 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x853f2bf5 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x99d83f2d wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xeeed969c wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf37773f8 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0x4de7b2d0 unregister_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0xb17b7c77 register_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0d29bff5 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0e606193 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x16e7eda6 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x279f83dc gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2a5ba014 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x379884d4 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x52545357 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x62295898 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x82f7514d gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa65ce4c5 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa8696403 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xaabc1330 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb1d9c767 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb464154e gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb8dfe917 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xccdd905e gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf34aa16c gigaset_stop +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x22163b69 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x3011647d dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x3909d3a8 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x594952bd dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x62a23587 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9b2b253a dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xdc69e37a dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe004ee92 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x06e2fe09 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x0f49c52f dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09472122 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3686e620 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x612cddb2 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x651f385b dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x81e55c03 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x8918da19 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa0e415e2 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa8813ad6 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc66ce277 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xcab63c3d dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf37a3cfe dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x03ced457 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x08a936ca dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11eab9fe dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c112836 dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2e730a21 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x40f7bd91 dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x61c7c085 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b2ff62 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x80c89b3d dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9b4b5b29 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2507774 dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa6aae3ea dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb682767b dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb7bad799 dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb967690a dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb9a6ecf8 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbaa513b0 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbc5fe7c1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbcfdc290 dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xca2bde4d dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xccaeb9ae dm_sm_checker_create_fresh +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd32479bc dm_sm_checker_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdb562135 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf99dc2cf dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/raid1 0x804d871c md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x835e6f90 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x3f9b9877 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x3f0a658c mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xf5af1b16 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x75b6e28e tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x93f68561 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xc380c210 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xa397c73a tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x9f12b66d tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xf81c4e19 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x0139d4e5 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x911133a8 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x8776457c simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0xfb0e145b mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x9adbefd9 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x774cfc2e tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x02402753 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x13466e88 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x19ecd3c2 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x464cff33 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x529b4773 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5c9ad1fa smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x645f4f87 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x65a5bfd2 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x76222253 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x84680e4c smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x905c9e7f smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9316b541 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x950040ec smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa72ee688 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa7627a9a sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa8257ea9 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xdbaf0c81 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf07a5db9 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x004a37fd ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x05fb336e rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3505f6d3 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3b58225a rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4654f3b0 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x52481900 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x52d96166 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x69e2797b ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84fc67ee rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8ae043ce ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x92e9794c rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x96f55d94 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa03c87da ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa28df57a rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb24d8be6 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeb7d8b1b rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfea94e5e rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x00c278cd cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x015d54ba cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0856b1f2 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x18e132e8 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x22ae0903 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2fcd6d2b cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4a08b2f6 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5c9b8ebe cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x66695aa0 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x78b6a704 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x78d719a3 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8352d388 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x90dd4d57 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x91b8fe47 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9f085041 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa0576e8c cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa05f76b4 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbfe8168a cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc85da047 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x10838ae8 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x17f0232e em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1ccfbf86 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x23d31715 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6b1c6fbf em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6e3d54be em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6feb51f6 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x817eb3f1 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9587cad4 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9b048ecc em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xcea9818c em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd441422c em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xdb35e71b em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf5b2f2cc em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0x090b7ab2 omap_vout_default_crop +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0x3f08714d omap_vout_try_window +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0x87006df4 omap_vout_new_window +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0xd5aa61c6 omap_vout_new_format +EXPORT_SYMBOL_GPL drivers/media/video/omap/omap-vout 0xe168e379 omap_vout_new_crop +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x37470e07 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x51435232 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x8adaf615 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x9a5143c8 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x08076998 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x4dfa3932 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x627fe7c5 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x8c8675bb v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x97e240a1 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xd132f89a v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x01338f2e v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x47c48558 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5d80fa6d v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xd59d31fb v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x250698df v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x45969e19 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x747c8426 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x80574eda v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8b29244b v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8b8fbaeb v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x9c2b1bd4 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x9d5d2b01 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa35287e1 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa4db8349 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa5f14141 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xcdea18d6 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02409b6b videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12ac6ba2 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2a99ec20 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2cc1a29b videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2d233a90 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x31c775c5 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x448e733b videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x61cad652 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x62e9ed72 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6b88c384 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x71c686f8 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x77dd42e0 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7f1a0844 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x803e6376 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x88c4c6be videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8bdc1908 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa51ec85d videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcdfbcc22 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd77577fd videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdc9e1408 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde21af13 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe3ef18ae videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf3867579 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfb997a62 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x1f27cc40 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xa7106985 videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xc129e5be videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xf6d8e7f0 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x1ceded2b videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x34e751e2 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xa4feff47 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x085d6d91 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x15bf363b vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x16d83ef5 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x19cf0e99 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1d1e22bf vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x30d60743 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4cd2584c vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x53fada68 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x743a5c93 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x76e2c038 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x77ae9a79 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x9a1402a7 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa4116537 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xc58cda91 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xdf8ae016 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xec9aa863 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfb268aa8 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x579b39e0 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x92afe816 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xe57f0426 vb2_dma_contig_cleanup_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x0e7d6b36 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x66f40833 vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x75dccad4 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x8da50e92 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x910340b5 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0x5faf855f vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x029b4654 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1543d758 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2e3c91ba v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x32aa7c72 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x37b9300f v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x43a3e76a v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4f8b43ca v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5ee3727d v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x765a8a09 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x8a0bc99f v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x90887e81 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x98562087 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb6503fbb v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb7b28614 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbed4431e v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc2ef2d4c v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd5bfcfc6 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe25ee1d0 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe5612e59 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf2359120 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf51ddfaa v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfe6ed6b2 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x3d90be31 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x443ec73d lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xc9d5acba lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x06ad6661 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x0ff301f6 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x671840b9 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x85a582cb lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xab93ea00 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xdfa8a2f0 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xef08a474 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x0ff64ec2 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xc182397b mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe48b9a25 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x026401c1 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x25782377 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x462dc3c5 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6814b9d1 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x760ce464 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9cd5d160 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb0d81209 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbae66048 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd33bea88 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xdd17fe6f pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf79b4e65 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x92119e20 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xa0be1ef7 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2961bc0c pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x36500ffa pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7571144e pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8398c955 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe9791163 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x07fa6d00 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x162b8ddf sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x2a39068f sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x345e3adf sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x860fb8ae sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x4f82622b tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xdc5c908c tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xf142b461 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xff9a0f37 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x08b8dd2e twl4030_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x4362dc66 twl4030_get_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x47ab5457 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x27cb133b eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x822222db eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x98bb5a22 eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x09c1cbf1 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x107d51b6 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x21bb00b5 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4a54d860 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x92220cc6 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb53d1ff7 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf6c58084 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1d675164 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1d6a17a2 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5c9d3d39 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7ec9bce3 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa516340e lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd834c0a3 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfedf92d8 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0942247a st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x996db400 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x054a4cef sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1d3c807d sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4399bd13 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x656c8585 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x72b7bce4 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8b39e54e sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1314ec34 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb58e9e2d cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xea6a8498 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x28200ae2 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x97e83f88 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xc72f6799 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xcc90b34e cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xaeae684c cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xcb3cffa1 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xdc93c68d cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x7b481961 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x613e14b7 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xd83121f7 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1452f995 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2fa2fa18 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3748f921 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x48348780 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x53463d14 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5c2cf790 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5c81bb15 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x76b94894 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x88f1063e ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa4e9c31e ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcacb38f6 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd1c25e63 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xed68166c ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x29d8602e unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x82d0d40a register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa8887acc free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb47ba51b alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x04535282 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x09e6784f open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x68db650d alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7047dde1 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x822bb11f free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x852daf6c alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9905a647 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xb62d3a08 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xbd7cc3e3 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xcbc62106 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xedb61f9e can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf65b6e10 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x26ec57a2 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x52c144df unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x8b4839f0 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xbccd6b0b free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5830cc1a alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x9a127ef6 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd497adb8 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xe83f41dd register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x018edcce cpdma_ctlr_dump +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x4a6bea03 cpdma_chan_submit +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x5c2fe4a5 cpdma_chan_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x68e47b2c cpdma_ctlr_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x764928a2 cpdma_chan_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x949334db cpdma_ctlr_start +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0x9cdc9867 cpdma_ctlr_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xc5d5513e cpdma_chan_process +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xe4c22565 cpdma_chan_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xe988277b cpdma_ctlr_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xee8d7539 cpdma_chan_start +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4f93dfa6 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x7fb73f8d macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xdac98f6f macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xe4e8ce29 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xfe92ac44 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xfcff7713 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0xd08352d7 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x1144aabc usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x1b3e4c68 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x47ecd49b usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xb3b1a836 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1a5d1524 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x588cd686 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x6dff437e rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x75bdf13b generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa6e5222a rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xeac0af99 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x03206d3d usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x075902f2 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c5d7c21 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0fee98ed usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x13c385ac usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b77f36f usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2429bebb usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3217c110 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x40a35201 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x41d53500 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x459a3f19 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x556c4f7a usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x567529c1 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5767b97c usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7ec0e31f usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x82279449 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x88ccdfbd usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa7c4503a usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaf1c9a3e usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc0ab51a7 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcb114e6c usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd016bcc0 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe6bcecbf usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf7b7e5fe usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2e785568 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3c483027 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x405e8cf7 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5086b61a lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5c347c45 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x62d8a1f2 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x81f494c9 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x845378f5 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa1282650 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa47ffbe9 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa689ec8f lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbcb85fe2 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdecf9272 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe48705fd lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe527e66a lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf05df76b lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x129926f8 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x62095171 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x710fb10e lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x99c6d77c lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd66f779b lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe790a467 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xf80771d4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xf9a73140 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x53bf2411 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xe70272a5 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x09550c78 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x705b8da1 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x7837c2f2 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8d950abf mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x91f443c0 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xa04991be mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xac7673bb mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xc06ff236 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xc26c56bb mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xcc2611f0 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd06e64b6 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd50d9b1b mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe948faac mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0db2f3bc p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x430af3b9 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4b5b48c4 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4be818d6 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8817f90f p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x94bb6e7e p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xa79bc492 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb2c44f76 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xeb5baa97 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x04377da2 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0489c986 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1475c294 rt2800_rt2x00debug +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x192fdc0e rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x27106666 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x325d24c9 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3cf6704c rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x40f49dc3 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4a3262a3 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4bd8b3b2 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x530273e6 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x579529dc rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5d03a325 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5f3cb405 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x611a11d7 rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6f08072a rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6fb19117 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x777add3e rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x797b6487 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x80430ba6 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x83b08e54 rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x88af5529 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x89c479ac rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8a40c9ee rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x926e9e79 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x960bd89b rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x96f42cce rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9a4f2e76 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa1c3482f rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb395c6fe rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb706afe5 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc735aaec rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc93ac8f4 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd7c3c634 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd848a7f9 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xebf62251 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf30bef02 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf3482459 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfc00c5cf rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfcead32f rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x030a16c4 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x04882f1d rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x050c5bf0 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x05d8e811 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0827309d rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0fc80845 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x16239aca rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1fdf1c92 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x226f34c8 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2ebb9998 rt2x00debug_dump_frame +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x35300db1 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3731691b rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x38067e6c rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3bf639bc rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3c0ccf45 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x445df226 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4495260c rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4866fda7 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4dcb8878 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5cf93159 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6455b52f rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x685d2869 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6ab11a59 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7b1ab01a rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7f7e9346 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7fed494e rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8092cc18 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x85f803a6 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8ce0c0df rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x93c067a5 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x94b4a164 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x95575a84 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x957b80fc rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x96de4702 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9cfe5435 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9e6022fd rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb0693183 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbd05e8b8 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc8a0788e rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcab0847b rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcee771f5 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcfec6e3b rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd4868c96 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdb051e27 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe322651d rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xebbbb025 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf095285a rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x04337cba rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2ea2c6a2 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3ab4e750 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x433e0d8c rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4c6198c8 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x51db2b64 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x71456f5d rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb32a841b rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbc8d3089 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbfb4c42a rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdf5fb25f rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe3c2ae8a rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe3c45c7e rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe3d71fac rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe64647a3 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf94c90e9 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x22bfb7f0 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x679bd3a4 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xf240321e wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20d70639 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x40d09195 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4f3cc5e5 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x673b4544 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x67db1e68 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x71ef61df wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x92702e7d wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9355b1aa wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9f04478a wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd0c17b27 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd5edaf4f wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xda56240d wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xefe51f24 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfeb1fd32 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x18a8e7aa pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x300859a3 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x89e45ecb pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x0a42f24a mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4723e79b mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4cbdf779 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x96fb8ffd mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xae00e0b8 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xdbf2b6f9 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xea8b37eb mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xf574de49 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x2ad199a2 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb272e4b2 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb2d01e9c wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe0ee06e2 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe874ef51 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf8c9d683 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x669a1fb5 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2189f719 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2b83ba47 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xb8d1e5da scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xcb765f71 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xeb969d42 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xff86a149 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x13035bb0 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x20afb59f fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x30c1e538 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4a4c23a2 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x61010fd0 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8b24d854 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8b37756d __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xac87f4ff fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb614f2da fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc65c88e8 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe4ec7f76 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf08468f6 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfd219ea6 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x1e1abd47 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2a8c8514 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x41e3db18 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x4205c59b iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xaf0bbcf0 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb9bc0922 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x004bbd40 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0a833a5e iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1216df46 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x155e0d20 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x20766a9e iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x25eb1797 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2755730d iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x27e03de9 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d80b393 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x30c7fd75 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3a41410a iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f916a19 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3fb9d1a8 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4030fe96 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41615341 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5385e535 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x561b0b85 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x571b4603 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x58477290 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6732b42a __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73456d02 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73475030 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7442412d iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7614c068 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x767f5aa4 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x79a5224e iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8082daaf iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8b0af37c iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x90ed93c7 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9dfc58ae iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa2cff162 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa5591e06 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa69853e5 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb2f339cd iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbc0c2ba9 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc171f394 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcf3e418d iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdf6fa1a5 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeca60ebe iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefa44b89 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf04e98f2 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfa6b9349 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xffafc0a5 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00708f77 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0ad2bc79 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x15b411c9 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1e84c80e iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5065a0a4 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x69544eee iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7e4e8175 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x83340488 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x88e23b9d iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x99ce9657 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaf6520ce iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb9ecc1db iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc0ae89ca iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xccccef5b iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcd5e3783 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xef78d22a iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfe1b902c iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x01ee4791 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0cf01d76 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x12141b82 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x24949528 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x388972b6 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x50b0330c sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5210140e sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x760904cd sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x761372c1 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x794ee758 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b1a41c7 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7ddaa4ee sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7f85e7a9 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x97b11aff sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa181edc8 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa6d103c9 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbd995f55 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbfc9935f sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc2ea6471 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc59159e6 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xeddaf9ef sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xee272bbc sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf27ec032 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x076c0795 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x1db1eaee scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x5f126c3d scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7f9d6b5b scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x889b60e6 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x98345b99 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9ada8164 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa220681e scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd2e29f95 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1d322a45 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1fd1f5ad iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x24b6b884 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3f2bfa07 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x494d279b iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4f6f3bc7 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x50b8cbd7 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56cdecd0 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x57fb3a6f iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5b035b28 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x606d440e iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x74bea0bc iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7571a344 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x830991be iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x89b405db iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x98b55440 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9dbf1d7c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa818cd60 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab3a7672 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xafc2ba3a iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb26a8c91 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb6eb6d1b iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbe0d46e8 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc4c5dd44 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc63bd39b iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd2f1d9f2 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xddd4c9bd iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde244a3e iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xee5c5858 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf00138f3 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf0dc55ba iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf4a651f2 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x5eb84717 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x9875c906 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x9e2883da sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xe03568f1 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1a5b6a92 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb73b8667 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf25fc3a3 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf33b1b24 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfa6b1fbd srp_release_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x52d3b1da spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x54fe327a spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x819688f1 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x92330fb8 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xbe1b1db0 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd8d0e06b spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x03e77ada dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x2098df1b dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xa97f8b37 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xe28455a4 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xeac65dde dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x2468ed34 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x579d2806 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x587711de oslec_create +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x882d5f27 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf828c15b oslec_flush +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf923a5b1 oslec_free +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xfabc3747 oslec_update +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0xe0d5b886 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x0143edc3 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x52fc15f4 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x7e080694 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xa6c4bcce ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb98b5009 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe30ba71f ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/rts5139/rts5139 0x35b85807 rts5139_usb_ids +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0e81c76d spk_serial_out +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x14f06fe7 spk_serial_in_nowait +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2743dfae serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3509aeb4 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3f3fb65e spk_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x475e158a synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x52f1dbd7 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x53c4e5c6 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x62f7cea3 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x717eb93a synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x790425bd synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x817d1c7b spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8905e8b3 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8d9c4fb4 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e146195 synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9a888082 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb48956f8 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb5acc53d spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb73a5748 get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc766ae09 synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7e810f8 spk_serial_in +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x17e545f9 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x36ffad35 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x376577e5 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3c9cc207 usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4044fb7c usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x5d0300cc usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x66a00372 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8eb77300 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x9b536b24 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xa638860f usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe68a7069 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xeb8f1e8e usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xeea5f2bf usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x466380c7 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7e3ab70a max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x8ada2348 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xc6a3640e max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xf00bc098 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xf9cbdf2d max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x480ec228 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb5a78883 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf397033e __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0f5532c3 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xb99a6d71 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x289d06f1 dwc3_put_device_id +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x51b25baa dwc3_get_device_id +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6faf9265 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8f5ffc59 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x938d9f75 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9b9da79c ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa3ccc6fe usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa778589a usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf5035a9d usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf5b7ccaf usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf7fbc242 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x69620371 musb_dma_completion +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x87387f08 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0xbc36862e isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x14a025c2 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x33820e12 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x419362cf usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x439d1983 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4f7e28b0 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x61e13eb0 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7467ffea usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x77c69ec7 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x87ef283f usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x88d71151 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x89c0aa93 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x951016fe ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xac236028 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbe4ed22e usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbf929de0 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe44d243d usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe45a80f7 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xebb6a0f0 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfe2d5c8c usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0ae75fe1 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x156638dd usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x23708d64 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3fd33d84 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4a415993 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5869c0b0 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x59dac122 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x608684d2 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x66d0f082 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x84a219af usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa2211468 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa5bd1ca2 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xaf14e379 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb853ee46 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc633018f usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcf1afc29 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdb6bd65e usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdc264c76 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe2a255ad usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf2343f3c usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfc0417a3 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfef17ba6 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x0e171feb auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x46d908f1 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x65a294d4 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6fc3a61e auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x75f52191 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x9502b222 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x97539c9c auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xbfa60655 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xd2c74d31 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xe06b266a auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x11b82f1c ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x14059cc3 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x459d703d ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9c6d24c3 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa68b64aa ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb039163e ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf208046a ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x19e2c58b fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x1bd5eee9 fb_sys_read +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2fadc95a w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x45217943 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5348f770 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5f115f90 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6cb08472 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7d499223 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9e8d2981 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc974f83c w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe6726b13 w1_read_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x880f1ea8 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xbcad682b dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xc6dc8c2f dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xce065616 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x101d04e6 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x27b5ca4f nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9858ca95 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb6e1529d lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe3062a08 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xec9d0c9b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xfe78aa79 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0077c6f6 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0daace58 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1125e8bb nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2812237f nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x33f7e8fd nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4044f1c9 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x780e9799 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80f19407 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8845f876 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae84933d nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2d15b9b nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe8cf3aa nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbef0c0c7 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbfb61be0 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5eb7bd2 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0cc4d8f nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc872c9c nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff1d63c6 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff4be6c6 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x39b81915 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xaa5cbd08 nfsacl_decode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1cb231d0 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2643c2f3 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2959096f o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9de3cb9f o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa18e5411 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa82a8645 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa9f5379a o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc3679d7b o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xce15881b o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe179726b o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xef71fbdb o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3e2e2182 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb95f66e4 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xdc03a108 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe0c17574 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe621b89f dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf4e8b354 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x025e2d69 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x16b2e575 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x3e1155a9 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5237744b ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5469ce31 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x6d42626d ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7083dbd5 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x89502fe7 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdc823ea4 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe2bd47db ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe40cffce ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe417d940 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x021957e1 raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x0f8a2742 raid6_2data_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x201d8ea3 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x29fa419f decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x300d7e57 free_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x6fbb3bd9 init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xabda1e2e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xb050f329 init_rs +EXPORT_SYMBOL_GPL net/802/garp 0x0784eb17 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x130a54bb garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x7c53e9e6 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xbe04fee8 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xceb168eb garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xd5341ee3 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x13a401d3 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xd2902a61 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0xa260ebdf p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xe37da462 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0x50754510 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xe2c6bb26 unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x35610cca ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcaf44e00 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0148aefd dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0a5898ba dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0cfd92a2 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x14d1f426 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x259d948e dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x285d25de dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x41533f21 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x433441f4 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4b965e77 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x503174a6 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d136b0c dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x618ea685 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6a363141 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x76d126a8 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7885a460 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x804115fb dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8312f83a dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x857c709c dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x88a6a3dc dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8e5d328b dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x92d8db8d inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x95018c93 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x97723d5a dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x981663c0 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb0be962e dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb5c84796 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb7e45b5b dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbbd2fded dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc64e43c2 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe4f7f735 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe586a7fd dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xef7f9779 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf13e880d dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf7cad66a dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf81aa268 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x02a44408 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2550b4a7 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4ee81d1a dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8473d360 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x925f5c34 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xdca48144 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x07477da8 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3de460b2 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0xb85093e1 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xf92901aa gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x00d1c1d0 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x64c27af6 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7f0f0f25 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc78702e5 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd1732454 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd43ab9d9 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x58ac9a86 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x459dd6db ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x00f2d987 nf_nat_seq_adjust_hook +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x6b6c3d10 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3de64dee nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xadae42a0 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb1a53e50 nf_nat_set_seq_adjust +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb6b5f2fe nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xcc971346 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xff9af109 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x1dce0076 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x37f60e9f tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8d595146 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb3f6f756 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xddfd4357 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x9d002a3d ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6eb85693 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x33611847 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3367bb8c l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x503c1a01 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5851d195 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6f9fe8da l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7e8a000f l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa54433a0 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd1db568b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe4f1abac l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xecea4d1b l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf7450ef6 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfd1ef677 l2tp_session_find +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3e8adf8f ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x40f1ef52 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x473f48ba ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59b15379 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5da12588 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6299fb42 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x819c58f0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9f69885a ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xac7f6fd3 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x501df537 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x511000c4 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7d1bb8a0 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7eedae90 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80ee118c ip_set_nfnl_get +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x883d6572 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9b517962 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9fe2acc1 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa2d623f3 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc0cf47e0 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xcd3f2579 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf1f55a70 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x1fdad435 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7be76e15 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa57625ba unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xbfd760f5 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x02579481 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x068bd726 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c763536 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1139796c nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x15c6b6ce nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x19d55b6b nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c9b3e9a __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2f81235f nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35921a4c nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x365e489f nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37bafb1f nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3939934a nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3ad50f7f nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3af7522e nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3df06a9e nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x451758b1 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45f6d00d nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x46530f75 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47b98745 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47c0074c seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b904682 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4cbcda1a nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4f7d9c1c __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x540a40d2 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5716e7ac nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5897f910 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x593dc1ac nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x618c46b5 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61d9807e nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fa098cf nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70016057 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x705d802c nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70bbad07 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77213a33 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7bbbddcb nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7e8ab898 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8be98ce6 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x91c22d52 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96d35f15 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x971dc2db nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9834aa06 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9aae23a6 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xabba528d nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6f93eea nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb7167ab0 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb72379e0 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba043a0b nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbdb033f8 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0240dd4 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2c37a69 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3781522 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc4529c7f nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc471e15e nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcd12939d nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5c56ee0 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6919e68 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc2ef757 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdef75ce7 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe3c6200e nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef475484 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf18abc93 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf41467f1 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf49ce736 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf6d3d71e nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa90755c __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfaa4547d nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfb6a2113 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x6fc668fa nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x7291313f nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x79b46263 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2360381f nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3c8d513d nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x44f76163 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4a69dfc0 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5db761f3 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x716c07fe nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa1da5d70 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd1a44bb4 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd6c84655 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xeced37cd set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xa7b51e3f nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x6281b2ca nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x72309c42 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x76c09821 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xc9476cdd nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x9c43d4f6 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xeffd591d nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x110fd9e7 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1c8b7f4a nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2272e4e5 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x27562118 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x319dba3d nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x34d902ae nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x52a431b4 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x563aed10 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x677b2ea2 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6e4a909b ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x80dc3dd1 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa12ab128 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb3f7cfc6 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x1b2642bd nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x917f9025 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xddf0c133 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2875b3bb nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4a9d0d4a nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4f9b55aa nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x50355ac5 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc9a288b3 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfc1557dc nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x18264886 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x4f0625d7 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x03431f9b xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1b3e1f08 xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x31e0d7ca xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4bcd1108 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x806de8fc xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8524ba58 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8f479751 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xac29ed42 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbb5d62b9 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xca46df9d xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcbaf0d63 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcc53d6bf xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec34e5ba xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf91037d8 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x563d999b xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xf6afa81c xt_rateest_lookup +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0363be25 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x12ef80ae rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x13841b73 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x15ee3bee rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x1eaf2386 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x2244b940 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x37fb6702 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x4b2f9f71 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x59d308dd rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x66ec56e3 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x6b3027f0 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x810ac659 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x81b20bb9 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x875054cc rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x89b3996b rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9763b9c6 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xafef725b rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xb4b3889d rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xc207d3ae rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xd0bc77c1 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xd664b1fb rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xde9bb035 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xdfb5bdab rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xecbfd989 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xf016a0d4 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x33a99881 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x96f6b2d9 rxrpc_register_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0f6a061f gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1a8172cd gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x54cb839d svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5ae50d11 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5e48fd5d gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6e79dc74 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7efc7859 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x92c7f9b2 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc41e4b9c gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xceadacad gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf51d9e26 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x006ba126 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05546f97 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x058ffe7c svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065b4bb3 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0692a395 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07b2dc63 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a53677e rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a9735f6 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ae367a0 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b324077 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11e7410b svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x142a2159 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1537d0eb svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1589d57d rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16460743 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1646a389 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a6224c5 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d9260dd svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1df818f4 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f635968 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fc655d0 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20083749 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21197c95 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21b3e47f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x227b4ce0 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x266de8fb sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2698c5ca svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26d75412 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27ed1889 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28055d91 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2930a83b xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a9d4d88 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d2decd0 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e11ee7c xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33a20bdf rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x367c6f91 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x379d832b xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37ca7d74 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38bbfa02 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3babd6cd rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f6acb41 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f8a01fd sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40192cea sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41214795 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46f0ac0a rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48ec52fb csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b7ba283 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fac1f7e rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5281a1fa rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54345a46 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56a692a8 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56c3f6d4 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57f2b2ce rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x583bcfa0 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5925721d auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5afe56de sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b6dc755 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d722a50 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fd1bd69 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60d3d800 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61bd733a rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6390c9d9 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x690ac893 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a24b1a4 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a7b192c rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c07ed51 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71d11da9 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75bf2a9e svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x760ce78d xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77a520f0 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7808c89c svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x782d2520 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7be181b4 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c7610cc rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cc41e44 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cf47cd4 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e1fbdb8 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e62b9e0 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e83aa6a rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ec6efee rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f21e838 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f97b55b xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fab4ce4 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x805da2fa rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8110f313 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81759825 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82f95af2 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8449ec9f rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a5970b9 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8abdf537 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bf3c4bf xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d8487f2 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ec182aa xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93a0b947 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93b86a69 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95a80953 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97d7ffb6 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a4fa4c9 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a827bb8 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b0ca000 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c609fe9 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d879bbc auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa059d94a xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa157a84d rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1d9a50d rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1e58c51 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5a9ac7a svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7af1e2b rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa93ecd5c svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa94514ff xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa956c8ad xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9aeadb4 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa5cfefb rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac4afed5 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacc8d5c7 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad7d1f4b rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaeb5eee1 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf27a192 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0443abc unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb09d5163 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb19cf1cf xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2251870 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb24c4a6f rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2536c01 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb27636ed rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3d1ac3c svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb62cb13a svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb67cec74 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6a9c711 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbab2c47b rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc1c45d2 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc658e8a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd29380a xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbeadd2c5 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1259934 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc16a8260 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1f192f0 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc27a6cbe rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7603cbe svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9155672 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc7b9632 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1c797d2 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3912bb2 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4207512 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd65a3b2e xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7e67043 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8e8fee8 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb818956 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbe5dc04 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc0a6cb0 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xddcb5b30 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde83d016 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe12b9a5f xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe70bca7e xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7a45b1e xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9253f9c rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe92739e9 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea859083 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea8b4d11 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeaf3e3d4 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb2833ca rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec2acfa6 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecdca742 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed1f855a svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf492e5c5 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4aa64ac svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5c78f8e xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf83fc8d6 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfca10cc4 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/wimax/wimax 0x02e5c9a0 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x30accadf wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3ba9aeea wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5a2b39d6 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x713d8430 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7513c617 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8a0a75da wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa2bd5aa8 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf1be073f wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf304c231 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf41ff00d wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf7cddd28 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfc3f25ba wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0847f636 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x272b8ab3 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2df52971 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x42eeefa8 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x54ef3c82 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7cb5b1f7 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd53dcb3e cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd78bdddd cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf1661bbe cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf3b65797 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf4d8fab4 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x3108ea46 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x4d4fd5f1 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaeea3073 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb0e4716a pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x4d37dc59 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7d641156 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x993702f9 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xbce7fc33 ipcomp_output +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xc14a410d pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xf404a604 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0xab24c782 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x7b209848 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x7bf546f4 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xb300e403 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2326f738 twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x646db186 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x98ef45d4 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xa1d78fa9 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xf70ed664 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xc8ab12f5 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5dbabd19 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x6466def2 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x75a44415 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x8ba61bc1 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x91721558 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x926fd872 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x9af364af wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xfb115761 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x699e2b99 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xa122ee2a wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x61582b84 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x8489fda2 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x5bdcd069 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xde1c022f wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x6c0aca02 wm8996_detect +EXPORT_SYMBOL_GPL vmlinux 0x000668dc irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x00075d04 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x0043dea8 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x00447816 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x00654993 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x0087e1e1 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00d14a39 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x00dce7b1 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x012eadd3 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x0148adb6 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01a55876 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01cf7121 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x022348f1 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x024cda82 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x025db6e9 mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0x026c3a20 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x02721630 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x02c8a5e3 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x0309e5b4 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03a07b11 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x03e3fa81 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0x040a081c device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04b5b16d rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04cb5a44 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x050a3b23 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x050fbefa usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x05420ce0 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x057b1682 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05a80d0a pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05b88adf tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x05c612ca blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x05ff35ae usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x0606a1dd __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065335a0 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x0668ded3 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x069441fc bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x06b252d6 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x06e07338 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x06f57384 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x06f8025e fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x0710093b crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x07428807 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x0744fe3f rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x074c5bd0 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x076c4ed8 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x07930c3b xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07cdf27b inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x07d27284 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x07f089df relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x080802df snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x081d38b6 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x084664aa ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x084b2acf da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x0870d027 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x087be1a1 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x087d8bac spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x08953a80 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x08eab084 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x090f7bdc led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09232ee7 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x09520a75 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x096238ff snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x098931ec of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x099f14e9 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0x09a7c91a rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09d5329e kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x09e3ac69 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x0a0f0af1 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x0a3792a6 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a42309a inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a4f7895 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0a507165 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x0a5080ca usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x0af27038 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b3c7eac fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x0b4f3dc7 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0b54d77c tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b7f5961 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x0ba9193f iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bbae511 return_address +EXPORT_SYMBOL_GPL vmlinux 0x0bd6a198 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c01c84b __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c13ee02 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c481de5 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x0c61b41a inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x0c8678c2 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x0cbb600c relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0ccffe10 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x0cfb2111 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x0d0c109d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x0d1b26f9 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x0d29834f mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d2d32f1 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x0d30ea61 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d33d4c4 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d4a7bd5 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x0d529f47 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x0db7afba cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0dbddb24 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x0dc776f4 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x0dda9cc1 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0df33451 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x0e133311 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x0e1e4ccb exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x0e5a7839 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0e5e269b crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x0e920483 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x0e9d2f02 sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0x0ea6e05a root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0eabf13a timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x0ead5de5 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x0eb468d7 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x0ed2f405 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x0f14864d vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x0f1c556e snd_soc_cache_write +EXPORT_SYMBOL_GPL vmlinux 0x0f28449c anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x0f46a79f cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f7f6d9d rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x0fa12d67 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x0fb737f6 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x0fc100d3 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x0ffa0dfb tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10507071 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x105bf34d usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x10734b7c device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x109686c1 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x10a8abf5 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x10cef402 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x10d047e8 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x10d4394d rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x10d80751 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x110a093c klist_init +EXPORT_SYMBOL_GPL vmlinux 0x110b7df3 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x1142f296 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x116c3638 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x116e9bae ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x119f6137 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x11c72af7 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x120ac879 gpmc_init_hwecc_bch +EXPORT_SYMBOL_GPL vmlinux 0x121663d4 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1280d258 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x12b2152a crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x12c479f4 usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x12c70d6b net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x12c9305e sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x12cfcc74 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x12d390f4 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x133b512c inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x1345351b device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x135c9f84 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x135fbe7d disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x13614676 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x1396cdd8 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x13a695be device_create +EXPORT_SYMBOL_GPL vmlinux 0x13b1a6af snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x13b1a7e3 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13c88c2a tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x13e156cd blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x13f30e0a rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x1410995d usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x1434d210 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x143b4d85 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL vmlinux 0x144cfb78 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x14604ca6 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x1471a512 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x149fd177 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x14a5f55e cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x14b1a497 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x150093a6 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x1509b0a0 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x151ecf18 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x1545f4de register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x154f43ee ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x156048db shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x15654c04 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x158344bd dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x161bcb58 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1638a168 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x169264d2 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1710e387 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x172c6d11 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x175a677f of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x175b617b rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x175d40d4 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x176e28d9 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17b61cf8 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x17be06c8 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x17e3a646 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x1813d839 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x181c7c9a blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x181d5a0e input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x1827e527 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x182ffa41 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x184bb185 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x184dd772 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x18526c41 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x185a6bc4 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x185c6fc2 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x1866c1b3 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x1871b8ad crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1883b130 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x18d40746 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x196fbfec usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x199232b0 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b34de2 snd_soc_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x19c7d045 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x19eb94dd n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a3e4564 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x1a65920b omap_iommu_arch_version +EXPORT_SYMBOL_GPL vmlinux 0x1a824e86 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x1ab5be7b tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x1aba7cb3 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x1ac90430 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1af6d3e0 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x1b18f808 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b86079c usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x1b9a772b ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1b9bc108 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x1bb6ab16 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x1bc288a6 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x1bca9c60 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x1bfed4fe __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c0a5bb4 unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x1c4d864e s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c922a08 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x1c97d657 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x1c998b4d ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x1cc93fb1 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x1cce2fe0 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x1ce5683a snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL vmlinux 0x1d05092e snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0x1d1a25f8 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d92727f cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1e08988b s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x1e101534 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0x1e1524a4 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x1e15b590 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x1e1edbeb snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3741d4 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e518fe1 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e929cba simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x1e981998 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ed4f129 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f2b96c8 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x1f37286e register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x1f3de800 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x1f494249 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1f9774fe bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x1faa5bae crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x1fc7e78e udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff97329 css_depth +EXPORT_SYMBOL_GPL vmlinux 0x20081dd2 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x20122400 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x2027bdef ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x20828a51 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x208a6a7f nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20c0b244 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x2129c702 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x2183405e snd_soc_read +EXPORT_SYMBOL_GPL vmlinux 0x218df5da blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x21924d54 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x21eed484 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0x21fa261c tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x21ffee4a subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x2211dcde vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x2212d4b8 mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0x224bdb88 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x22940553 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22af9dcd regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x22b9eacd led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL vmlinux 0x231f76ea usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x237e3b8f crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2399efc9 __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x23d9f3ae security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x23fb3f7b tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x2423ff6b spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x2442faf2 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2488d8fd usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x248db7e5 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x24a33d5b anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24ac25a8 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x24e1307e flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x2508068e wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x2541e668 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x255b79e8 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x259ea151 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x25b8b8d3 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x261695de ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x261b7990 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x26215e7a wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x2675996e device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e60ae2 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL vmlinux 0x26f1082c device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x274e9799 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x275a4363 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27e060d7 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2809d73a con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x280f5d07 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x2835c3ff handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x285b6ad4 get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x286a17fc snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL vmlinux 0x28948c99 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28c0831a wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28ebd9f2 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x28effedd set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x28fd11b9 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29051707 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x290bcd7e device_move +EXPORT_SYMBOL_GPL vmlinux 0x29683010 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0x298976ae sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x299901b5 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x29c5bbb6 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x29fa2d5f snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x2a3b943c ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x2a4235e1 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL vmlinux 0x2a5748c9 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a81d947 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x2acaae92 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x2ae963bc regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x2aeb2083 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x2aee0989 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x2afc7920 omap_dm_timer_enable +EXPORT_SYMBOL_GPL vmlinux 0x2b3a4689 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x2b5264a5 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x2b6fa506 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x2bc619db crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2bdeaa5d gpmc_calculate_ecc +EXPORT_SYMBOL_GPL vmlinux 0x2bec437c pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x2bf5ed11 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c281127 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2c309940 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2c4f0d81 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c87667c usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cbe32d8 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d45db30 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x2dabd892 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x2dacde31 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x2dbf2173 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x2dd08daa dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x2de2be79 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x2e25fa80 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e593369 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x2e602e5e ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x2e87ead3 omap_dm_timer_start +EXPORT_SYMBOL_GPL vmlinux 0x2eae3434 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2eba89bb kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec9731a unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x2ed9efbd usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2ef0ea0e regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f6ca438 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x2f7b08ec debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x2f839c81 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x2fb992c0 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x2ff4aae7 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x30033073 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0x301f128a platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x306ab63e tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x3092c540 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30baf29a pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x30d514aa hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x30e22742 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31455d8e ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x315ba60b ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x317b1e44 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x31922b90 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x319691de usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x319d4369 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x31a820ed register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31d2a8aa omap_dm_timer_stop +EXPORT_SYMBOL_GPL vmlinux 0x324f25ae fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x3268de26 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x3289b222 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x329395ba dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x32a489dd ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32d9c30a usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x331a7e56 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x3327831a power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x3351070a crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x3367ce53 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x337e0484 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x33c63fd5 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x33eeb690 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x341643ba omap_dm_timer_modify_idlect_mask +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34740440 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x34768eaf rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x347a5af9 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3487bb54 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x350da109 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x351cfbc5 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3542d6cd __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x3554cc03 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x356e4c98 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x35a6fd41 omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x35c29ec2 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x35cba215 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35cce9a3 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362a6ee2 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3644afa6 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x366877f5 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x3769ab0c klist_next +EXPORT_SYMBOL_GPL vmlinux 0x377e6e47 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x37bf0360 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x37c0f3eb iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x37c4fc46 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x37c81161 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x3832280b wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x3851d929 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x387eb8f9 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3880ff53 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x388cf8c3 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38d93e0d snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x38e313fc of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x391b3f09 of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0x391fc404 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x3920d6db kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x396a3752 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x3990e330 dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x39a6f0f9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x39a8b807 gpmc_enable_hwecc +EXPORT_SYMBOL_GPL vmlinux 0x39b021bc pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x39d90b9b firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39f2b2f5 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x3a0b12f3 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a81f805 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x3acb3706 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ae110ac skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x3b1fc014 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x3b309150 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x3b770113 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3ba003ce kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x3ba0d5fd blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x3bd3f027 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bea3bbe fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x3bfb89b3 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x3c059276 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x3c25c74a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x3c2efcfa regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x3c4bfe07 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x3c5c0b95 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x3c60308d tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x3c831441 arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3ca7d831 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cc581c3 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x3ccef265 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cf53d23 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d8c95b1 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x3d9df5e5 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3daa40bc user_describe +EXPORT_SYMBOL_GPL vmlinux 0x3db91586 scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x3dc8f60c css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd10572 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e26437d ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x3e396d7b sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x3e64cb17 snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ec1078e tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3eca2010 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3eee1138 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3ef93b72 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3f210e75 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x3f3b612e iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x3f4b0e55 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x3f620a84 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3f69c73a unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3fa85dda inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x3fdde7e5 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x3fe2caec snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x400a848c fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x401d7f01 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4049380e __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4050d897 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4051eb9d crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x405321d3 omap_dm_timer_request +EXPORT_SYMBOL_GPL vmlinux 0x4070c3ed devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x40767ec4 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x40a061be vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40d1e635 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x40dd25f4 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x40de26d8 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x40f695cf bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x41055e23 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x4169c007 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x416c8a33 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41f953c1 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x4215a113 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x42243aee usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x428a0f55 register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x4295844c wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x42eba641 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x42f10c9e otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x43042d84 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43b635d0 omap_dm_timer_set_match +EXPORT_SYMBOL_GPL vmlinux 0x43be8c8a apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x43c77fce irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x43e871dc md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x444e0c48 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x446567eb snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0x446fc726 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44d1f01b ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4515a936 wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x451739fa user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x45360c38 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45895638 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x459f8a48 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x45bdc65b power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x45be1ea8 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x460c94a0 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4612edd1 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x4630fbe2 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x4655d66f platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4658c8ee of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x465b65f4 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x465bee49 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46a53677 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x46ad6685 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x46d5e0d2 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x473499a8 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x473ef0f5 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x474d433f omap_uninstall_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x4776a06d watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x478d4ff7 gpmc_enable_hwecc_bch +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47c70726 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x480cd60d fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x482ce4c3 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x4864213e pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48e27144 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x491f6ea9 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x4946da71 omap_iotlb_cr_to_e +EXPORT_SYMBOL_GPL vmlinux 0x496176d4 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x497f607f __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x498a7245 device_register +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49b6776e ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x49b75836 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x49d574a1 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x49d6c60e snd_soc_unregister_dais +EXPORT_SYMBOL_GPL vmlinux 0x49e6fb30 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x4a33c0cc snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x4a456f69 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x4a5db49e usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x4a9807ba __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4aafcee5 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4b28bd42 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4bbd1a1a rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4be9f30f snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x4c0fa949 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4c250800 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x4c2702eb snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x4c346f28 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4c8fb20c __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x4c956b6a __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4c9d4622 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x4cc43546 omap_install_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x4cd35845 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x4cdffdc2 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x4d0e34e8 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x4d1bee42 snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0x4d3561b9 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x4d606b20 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4dafac30 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x4dee2317 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e173217 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x4e216a28 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4e9520dc __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x4ee1320d mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f06a8af deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x4f071807 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x4f0fe3dc hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f55439d ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fed2d27 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x4ff5ae9f __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x500fee78 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x50369401 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5088859d fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50b5f911 cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e13ca1 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51054ba8 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x512e364a kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x516f4d1f pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x51709827 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x51789e0c snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x51a27fb5 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x51d3ef50 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x51de98b1 mtd_is_partition +EXPORT_SYMBOL_GPL vmlinux 0x51e09f49 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x51e8a5e9 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x5218c184 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x5254883e led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x52ae1f4b crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x53231a80 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x533617fc snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5354a75d usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5391036d nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53a55ca0 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x53c42958 md_run +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541d6275 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x543249f7 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x543d59c8 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x547ce50c mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a748a0 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x54e336e9 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x54e7e736 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x5542b913 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x554891f6 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558a8037 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x55df91f2 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x56100fae crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x56138aba tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5641a317 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x5650411a sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x5652b864 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x5699fe34 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x569b3eb6 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x56a0ec10 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x56a31714 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x56a33344 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x56a63a69 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56dbbde6 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56fc9785 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x57185b69 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x57187d2f __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x573ffb59 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x57441eda usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x575238f7 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x578fe4dd cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5799a4ed tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57c440dc __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58f89ad6 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x592f714f crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x594d75f0 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x5950fb86 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x599d0cb6 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x599d7799 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x59ab8d0e leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x59c7de7e sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a1773d4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x5a40ad30 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa47d3c ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x5b31f15f md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b614797 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5b88033c max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bb91f66 nand_release +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c07dc6d fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x5c0f4c5f blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x5c3439dc sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x5c76ece7 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x5c82c02c dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x5c9e261f inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x5ca66e8f devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5cbd5ac7 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x5cdaed8e snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0x5cdd59bf stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d8f7b7c dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x5d95572e device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x5da21c2e dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x5db3e13a devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5dc38027 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e257039 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x5e306b03 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0x5e58bfae da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e6a8634 omap_dm_timer_set_load_start +EXPORT_SYMBOL_GPL vmlinux 0x5e7a9ee9 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x5eac3801 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x5ecd6939 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x5ed4b0c3 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x5ed595dc i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x5ed98183 snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x5ef571a2 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5f22c838 omap_dm_timer_set_pwm +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f42df56 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f95a345 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x5fb06018 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x5feba456 user_update +EXPORT_SYMBOL_GPL vmlinux 0x600249fb mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x6018c881 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6019b1c8 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x6029fbce led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x606098b1 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x607f1482 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x6107707d pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6160b5aa pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x6161926b disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x616a8ff9 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x616e4bc4 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x617bbb8d pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x62073ead usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x6226284a inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x623b67da find_module +EXPORT_SYMBOL_GPL vmlinux 0x623bc89d crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x623fd46b ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x62888791 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x62a92c71 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x62acf559 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x62c13108 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x62d5da67 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x62fd065e trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6329ba4b skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x632e2b21 snd_soc_platform_write +EXPORT_SYMBOL_GPL vmlinux 0x63407606 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6349e9f1 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x636fab81 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x63ceadae blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x63d0001a blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x63e0c556 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x63fe9924 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x64263e17 omap_dm_timer_disable +EXPORT_SYMBOL_GPL vmlinux 0x6461d202 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x649da5c5 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x64aba6ee sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x64d2e218 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x64e94e20 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x64eb7d52 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x64fa9ce9 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x65139031 wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x65513ccc omap_dm_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x655dee64 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d5ef57 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65e44a7d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x65fbdf41 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x66108bbc da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6652db3b rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x665d4272 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x6664e75b crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66cc7a98 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6753a718 mtd_write +EXPORT_SYMBOL_GPL vmlinux 0x677e8d7a posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67b4f965 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x67b90877 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x67cd87ce fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x67f9bcf0 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x681c57da xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x681dbc63 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x682507ea cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x685a3c6c inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x68743e06 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x6883fe02 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6892d85a ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x689cecaa ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x68be26d0 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x692c1d9a input_class +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x695a3aa7 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x6966cc4c bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x697746de serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69a0d258 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x69c63241 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x69c7b1cc bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a02ae01 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x6a0bc101 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x6a45d701 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x6aaaf6c2 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6ae8d6c4 snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x6af9df5f ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x6b07f7d4 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b55e669 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x6b698b1f attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6b6b7874 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x6b6ccd85 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b8ebbd8 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x6bb3f5a6 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x6bd8515e uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x6bdcd27b get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x6bfa2667 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x6c30dbe9 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x6c3a54bf scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x6c3f6995 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c637d48 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x6c6f6f13 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c9c79d5 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x6ccc7386 mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0x6cf4f2d0 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x6d10b238 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d58a476 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x6d83bee0 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x6d893711 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x6da9b159 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x6e09af4b sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x6e0bf5f8 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0x6e17a27c dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x6e21c571 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x6e25385c omap_dm_timer_set_load +EXPORT_SYMBOL_GPL vmlinux 0x6e2773ed usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x6e604774 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x6e6d26e4 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x6e729330 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x6e7caa1b find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea1d118 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x6eb1fcdd ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x6ef1820e release_pmu +EXPORT_SYMBOL_GPL vmlinux 0x6f15c6e9 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f230820 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x6f45e0c3 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x6f51dac3 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6f8db7f9 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x6fa61fa5 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x70077535 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7037527a led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x705cbbb9 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x706fb963 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x7075d3d8 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70896423 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x70a1be4b pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70c23804 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x7126314f elv_register +EXPORT_SYMBOL_GPL vmlinux 0x712cc4f3 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x7132563a usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x7138b2d1 __css_put +EXPORT_SYMBOL_GPL vmlinux 0x714de325 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x714eb639 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71a0fd1a inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x71d141ff mtd_erase_callback +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x721a53da tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x7228f055 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x722e77c7 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x724563ce tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x7267db00 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7269a7d3 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x726be82e usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x727452e1 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7285486a snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0x72a97430 flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72ed3f88 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x72fa7d62 use_mm +EXPORT_SYMBOL_GPL vmlinux 0x72faa736 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x73033ee6 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x730ae64f ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x730bd0c7 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x730e509b md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x731ce27c usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x736726b8 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x73929e64 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x73a0417c dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b5fad2 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73e73fb9 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x73f59849 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x744182af crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x7458eba8 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74dca3ec usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7504e8b4 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x751347c7 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x7515acae usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x75331cfd __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x7550c360 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x755c036e crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x755fcd72 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x75b0dc7b device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75db81f3 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75fe0907 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x760d4272 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x7610ef62 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x7638f04a fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x7651ab36 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x765a9d80 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x765c04fc pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x7684613f devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7697f56e regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x76c32458 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x76d0d80f mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x76d30e55 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x76e83c9b da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76fad13a crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x770880e3 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x77396847 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x773f924e __class_register +EXPORT_SYMBOL_GPL vmlinux 0x774809bc usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x77519ec3 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x7789f929 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x77bf4ac5 sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x77e27175 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x77e60350 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x77e72783 s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x781c8ed6 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x78262643 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x7839269f device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7843cf33 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x78ca74d0 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x78cec40c dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x7974810c ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x7975ffd2 snd_soc_cache_read +EXPORT_SYMBOL_GPL vmlinux 0x79765f44 snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x799a65e2 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x799fa210 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x79ded58a rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x79fb3786 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x79fbcab8 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7a00d1dd css_id +EXPORT_SYMBOL_GPL vmlinux 0x7a2f436e snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7a36ad00 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x7a939fad ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b4b07fa rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7b6f82f1 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7b907ac5 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x7bb4c088 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x7bf957aa invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x7c04e906 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x7c0632c0 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x7c426aae __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7c688c79 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x7ca07eea snd_soc_platform_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc51a35 mtd_read +EXPORT_SYMBOL_GPL vmlinux 0x7ccbb8e0 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x7cd841b1 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d16c252 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x7d5279ed rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d7044f4 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x7d97db73 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dacc617 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x7db475b7 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7df6e05f dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x7df7434a blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e207eae datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e277415 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x7e2fb2bf netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e3bcfd8 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7ce101 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x7e97c905 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x7ed68941 asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0x7f0d27bf ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7f1663e7 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7f2a5ff7 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7f2b1c17 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7f7e4d1a usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7fc33b4d sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x7fe1d43b cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fe5c770 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7febc5b2 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x7fefbc4f map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x80074162 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x800999ba led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x801d76a2 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8063d5e1 mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0x808e1d0f bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80ae6697 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x80cb5874 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x8138eb64 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x819415ef irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x81abe67a sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x81c2d9f9 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x81e0bfde crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82412f73 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x82557071 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x828e8ed9 omap_dm_timer_write_status +EXPORT_SYMBOL_GPL vmlinux 0x82974579 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x829d7e63 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x82c5b6e7 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x82c681ae usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f61f41 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x83677578 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x839dfcc3 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83cc78a5 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x83d781df pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x8475fcfb subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x84b04ba4 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x84f807c8 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x851c7fb9 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8559cfe2 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x85a096cc snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x85bc46a3 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x86182965 __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x8638de93 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x8698cd8f fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x86d73f84 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x86fc6721 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x8770060f gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8794f5cd inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87cb363d snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x87df23bd serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x87e2a494 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x87e911d9 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8814fdc7 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x8850a825 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x887e2357 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x888725b2 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8891fb7d debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88c0fec9 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x88ddc075 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8908213c gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x891a672d d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x898a1a00 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x8991e571 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89efe1f6 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a21b983 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a294942 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x8a3bb4d2 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a8988e5 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x8ab2ecbf rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x8ab512be mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0x8ab59b92 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac15e80 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x8ad888f5 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x8b0690f9 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x8b4bccc2 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b75f310 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x8b9479a8 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x8b96e3e1 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x8bcf033d securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x8be7cc95 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x8bf63628 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c2529e7 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x8c30c687 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x8c4d7682 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x8c533dcf fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x8c5f049b blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x8c9b2d96 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x8ccdee0b __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x8cec15a2 usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x8d0b6948 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8d1e8990 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x8d32da50 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8d3ef20f tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x8d523758 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x8d5d2101 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x8d6137d0 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x8d70307b ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x8d83cc69 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d86f047 snd_soc_register_platform +EXPORT_SYMBOL_GPL vmlinux 0x8dad55e8 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x8e03f039 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x8e37590d simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x8e85c4b4 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x8e8ca557 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x8eb8b2e2 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x8ed8dcbb pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x8f01a014 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x8f0ecc34 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x8f1f0c1d ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x8f4bcc13 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8f508e04 of_get_nand_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f650c04 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0x8f6be8a8 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f9f11f4 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x8fa5a4d2 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x8fa9d085 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8fac221f snd_soc_register_dais +EXPORT_SYMBOL_GPL vmlinux 0x8fdb72ad input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x901126da snd_soc_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x90136cd7 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x906179a9 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x906ef4a2 device_add +EXPORT_SYMBOL_GPL vmlinux 0x9082d068 kprobe_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90c37111 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x90e0ee91 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x90e148df spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x9118852e inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91a37502 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x91b49102 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x91b623fd ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x91dda801 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x91eba6bc perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x91eef128 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x91f613fc dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d73cca __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x931bd936 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x932568bd ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x93509d2b shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x9373c084 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x93aa6b4d md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93f32e62 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL vmlinux 0x9464cc60 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94cd2785 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x94d37ced snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x94dd0bda tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x94e1ff90 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x952038e2 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9530957c mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9573da45 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x958207cf klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x95c5213f blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x95c578a0 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x95f6ee15 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9606b02f usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x962baeac amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x965a8312 snd_soc_register_codec +EXPORT_SYMBOL_GPL vmlinux 0x969d19d0 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x969fccdb ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96bfd79a usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96ecd154 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x971dd470 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x97464789 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x97aa7636 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97f74b43 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x9804a5aa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9879f303 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x98b552f4 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98e29de2 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99420357 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x995b38b2 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99a0d0c4 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL vmlinux 0x99a842de dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x9a0adefd usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2ca24a cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x9a4d624d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x9a7d64ea sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x9a835c60 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9acb2a73 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b10de75 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x9b374fd0 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x9b3a991d sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9b49c43b sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x9b58075a tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x9b709dc8 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x9b731312 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x9b7f27de pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x9b873005 get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x9b9adc4b driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bdba6c1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x9c1bd6f8 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x9c24c48e tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x9c6cc1c5 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9c79c5d9 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x9c84980c blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x9c8c8fc4 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x9ca44d96 mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x9cbf9b63 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x9d0dbc0e unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9d3384f5 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9d9b8647 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9da61d6f snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x9daf32f3 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e01b1d9 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x9e036f4d ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x9e7d4f2b sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x9e8aaad8 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x9e8d9ae7 mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0x9e9db5a1 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x9ea01dc0 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x9ebadcc4 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x9edda247 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x9f0c013e dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9f150c86 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x9f35e233 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f440f64 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x9f7097ba nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x9f960f33 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa03c4174 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa063ab79 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xa069883f hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xa06f7d94 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xa07600ff __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xa0765b13 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa099bd29 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xa0cc9bc1 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0e5ac4b cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xa0e662fb sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xa145a6b9 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xa15d8f56 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xa17a7e2a of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa215a456 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xa26a1589 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0xa2a02350 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa2ea112b led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xa2f65fb4 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa31325f1 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa32b7302 dapm_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3bd4628 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa411a870 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xa411ddc3 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa4393773 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xa456f9b9 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa491c75d class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa49b1281 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xa4b555fa spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa4dfdc37 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xa5147271 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xa55b3174 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xa5637197 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa57a69e2 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xa59fe8c9 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xa5bd6199 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xa5dd6fae arm_pm_restart +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f01105 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xa5f96ff6 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xa6039359 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b79a2d pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa6e3fd37 omap_dm_timer_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xa6f96acf usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xa6fdc7c2 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xa72081c5 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa72d1dfc cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xa73ad2ef skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xa74443e9 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xa789a7e0 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa82d8a2f sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xa83ae2ae input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa889af7d xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa906165f fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xa90dff77 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xa9128d7e tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xa91562f0 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa9630129 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xa998fc18 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xa9af64c0 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xa9bd6c1e armpmu_get_pmu_id +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9d6c002 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xaa298f17 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa403f53 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xaa4fed3f snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaae81efb scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xaaf20c66 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xaaf917a9 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0xab18e6bd scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xab283637 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xab351210 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xab436544 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xab5325ec omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0xab55199d __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xab637029 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab6dbde0 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xab7249bc crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xab79dd92 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xab908256 snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0xab9fff40 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xabdb51be inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xac24241a crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xac6896b9 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xaca268cc cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad018b6c __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xad0308cb pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xad284f4d driver_register +EXPORT_SYMBOL_GPL vmlinux 0xad2fb3a8 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xad6d1a0e put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddd7db1 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xadfdf721 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xae0c56db fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae836d41 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xaf221ad7 dapm_reg_event +EXPORT_SYMBOL_GPL vmlinux 0xaf2a42e9 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf519dda tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xaf979b29 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xaf99fcd6 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xaffb35c3 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb003f799 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xb0074109 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL vmlinux 0xb049e444 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb051c7e2 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xb090d2eb of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb119527e blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xb11a54b9 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb16a09a5 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xb177aa65 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb194c3e4 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xb195c3d2 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1ad4f38 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c1343e snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xb1d01f9d tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xb215b95b blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xb26ee92b omap_dm_timer_trigger +EXPORT_SYMBOL_GPL vmlinux 0xb277efa1 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb2ac62ec securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xb2b62828 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb302bea9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xb30a4379 mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0xb310fe40 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xb31163a1 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xb325dc1f omap_iopgtable_store_entry +EXPORT_SYMBOL_GPL vmlinux 0xb32697e8 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xb331bc54 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xb3483cfd sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xb370873a crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xb37159c6 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xb3864039 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3b738fd crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xb3bacfc9 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xb3d2ba40 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xb3f53fa0 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xb4179843 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb43c4a3b fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xb4c6e279 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4f200b0 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xb5034096 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xb55756d9 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xb558a2a0 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb55cf062 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xb580bf01 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xb592c511 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5b365c8 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xb5b40cbe power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xb5c519b3 snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0xb5c7938f shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5dee135 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb62b7ce1 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb63fe76e blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xb645a840 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb64728e2 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xb66aa439 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67b3769 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb6a0d43e fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb6aaa45f raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6c900f1 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0xb6f44ffa ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xb702a432 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xb714ac0e dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb7227462 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xb76bade0 omap_dm_timer_set_prescaler +EXPORT_SYMBOL_GPL vmlinux 0xb7deb9a4 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xb7f01c74 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb7fe3e06 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xb803e8c6 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb83dba2f fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xb844f63f scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xb851c4bd sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xb87c2de5 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb894cb6a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xb896c6e7 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xb8a340a3 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xb8a7f141 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xb8ac09e4 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb8e5d14f scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xb91f05f7 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb956ebef shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xb97764f3 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xb97ecf9f snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xb99395ef wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xb9a27b2c ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9da2997 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0xba0bcd72 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xba34f956 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xba4e455d tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xba57aa53 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xba768d51 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xba79ae5e init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb2e3bef page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xbb5a44fa skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb9edd23 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbba71e03 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xbbfda9f2 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc18edef regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbc279dcc evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc922a2e gpmc_calculate_ecc_bch4 +EXPORT_SYMBOL_GPL vmlinux 0xbc993b00 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xbca4b47f __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcf0d703 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xbd40de1c omap_dm_timer_set_source +EXPORT_SYMBOL_GPL vmlinux 0xbd57d653 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbdb0df7b crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xbdcce687 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf2802d crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xbdf512de free_bch +EXPORT_SYMBOL_GPL vmlinux 0xbdfb178f platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xbe13c829 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2e1d73 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xbe316c9d dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xbe31bc1a device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe40c6bf ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xbe491b2b get_device +EXPORT_SYMBOL_GPL vmlinux 0xbe8b4539 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xbec54092 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xbef1542d __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xbf5af391 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xbf628f6b tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xbf656cf4 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xbf69d240 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xbf80bf1e platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xbfbcf60c pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbfcef4b0 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xbff20f2d netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xc01149e8 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xc0116f87 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xc02d498d blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc052de66 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0xc0545f48 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc09c1d26 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0c7fce0 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0dc35af bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc11777ad gpmc_calculate_ecc_bch8 +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc1433d72 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1797e73 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc17b5cf5 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xc18622fb ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xc1867c07 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xc1bd48bf fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xc1fe8f14 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xc200c97a mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xc20b2b17 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xc20f563e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xc217bcda snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0xc218b95f mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xc21c00a2 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc2465bd4 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xc25f6cb0 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xc270470a dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xc276986d inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2878964 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xc2a8891a mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xc2b5917e usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc2de7345 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xc3248a3a dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xc33226b5 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xc349a747 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3674b92 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc36e6c52 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc3925583 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xc395166a get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3cd7c46 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc41122f8 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0xc421c05f usb_bus_start_enum +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4303006 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc43690a9 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc4584a3b simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xc45d6b9f ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47fd9fd pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4bee7ad ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xc4e714b6 omap_dm_timer_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xc5101969 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc5103e3c wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xc52c8dbf md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xc546abb6 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xc56b7536 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xc5d8e3aa shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xc6042d99 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xc604c890 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xc60a730b klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6192b9b da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc68a13d1 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xc69a930d subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc6da4e8c clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc75320a6 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7cd807e max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xc7d34a3e sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc7de9aa7 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xc7e45b75 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xc8167cdb cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0xc851f00c snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8b986fa tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xc8ba55e1 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0xc8ede5d0 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xc8f94cc9 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xc901185f crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9165317 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xc9223a40 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xc9256583 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95cb807 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc99c1464 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0xc9af90c3 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc9b449a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc9e57b8c debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f28a97 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca0844c6 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xca0bdf81 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca93294e blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xca941d1d tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xca995835 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xcaa289ec iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xcaac2b7d dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcb273676 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb3fc088 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcb686e95 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xcb74b13f rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xcb898a94 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbef0a74 snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0xcbff68c7 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xcc026731 mount_mtd +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc597f1f sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xcc7cf623 tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcc84417f ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xcca56d7b anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xccb242bb usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xccc6eeb3 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd08b49 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xcd02854b usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xcd1c5435 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcdb32b8b regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xcdbe362d put_device +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce740728 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xce8f896f snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0xcedf3203 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcef8c05b queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xcefd2539 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xcf2f75de ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xcf6aa881 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0xcf74c14d perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xcf95aa91 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xcf9b135c bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfb59cfc omap_dm_timer_write_counter +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfdc7d5e ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xcfe5bc4b proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xd001c9b4 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xd0065fcb subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0098b48 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd04d99b1 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xd05101d1 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xd05e1a0d snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c2db56 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0eb5c5e snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd10b8169 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xd120f98f snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xd14139ef snd_soc_write +EXPORT_SYMBOL_GPL vmlinux 0xd1425502 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1577e25 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1755072 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1d92292 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xd1dd6643 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xd1e575b9 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd22df727 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xd2653f3a ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xd26ea448 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xd270d78b da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd279dc25 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd2e51e56 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xd32e7d88 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd34c47a1 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd397b8eb crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xd3b93674 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0xd3e61495 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd41e98b4 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd4278e45 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xd429a109 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd49bcee3 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0xd4a15fc7 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4da7be4 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd529100f snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0xd53da4e3 omap_dm_timers_active +EXPORT_SYMBOL_GPL vmlinux 0xd572b849 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5ab57e0 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xd5bc3bf1 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5d486dd sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xd620ec2c init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xd63facf8 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xd65e2d0f tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd68fd99e bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xd6a36d45 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd6ccd11a snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0xd6d8e558 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xd6de2c45 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd727972a ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xd7311435 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xd753ef18 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd788742d perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd78d25ef bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xd7b6e485 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xd7c9f7dc crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd830bbc0 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xd84065ba ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd8672646 pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd898cd9c enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd8a13438 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xd8bde35e tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xd8cdba58 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xd8d26e4c inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xd933c61b tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd94ee55a __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xd956cdf6 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd98bc632 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd9d65764 snd_soc_cache_sync +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd9eef782 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda1c90fb pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0xda37614b skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda4dded2 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xda9a2bd3 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdaad9b31 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xdac023ad __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xdacfbb0a fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0xdad1184e sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb86ffe3 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba95fd5 reserve_pmu +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc34cced scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xdc59778b led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9c4a31 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdcdc8000 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0xdcee906c __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xdcfd64d7 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xdd0c3132 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd41a6fd sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xdd4380f5 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0xdd4c6bf6 tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xdd67eb21 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xdd693fcc ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xdd7187f0 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xddd490a2 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddd63ad7 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xddedfa31 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xde07d13d wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xde293684 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xde2c2c9e regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xdec7b0dc ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xdeca2e58 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf75258d usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xdfcce632 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xdffe2834 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe0114ba2 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe0510c7d bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe05f1cd1 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0xe05f57e2 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xe07a53ce sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xe083fc1e irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe0b76cdc driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe0b79e0c generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0f1e53f dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xe111d089 register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xe13eaeb5 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xe1835616 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL vmlinux 0xe1bb1972 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe1cf4e64 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xe1d831bc snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xe1dbdef0 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe20d2695 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe2445b46 user_match +EXPORT_SYMBOL_GPL vmlinux 0xe2583226 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe2ad7ad0 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe3292a91 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe36927bb of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0xe36a6556 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0xe36ba5ab wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xe3743d91 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3af1de3 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xe3cee0d1 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0xe3e75a53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xe3fab20e regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe3fd14ce scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe453f3e5 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xe481bdef get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xe4f52c93 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xe5084146 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xe50a634d tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xe5219b78 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe558e0f1 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58df1be ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xe58ff3f3 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xe5ad30e0 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe5d05917 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe5e4f9ed blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0xe5f9338b crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xe5fb80b0 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xe6033681 usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0xe615e1f5 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6303ca6 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6bc9a65 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe7170d55 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe72d20d9 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xe72fa770 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xe738a885 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77d02c7 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xe77fb483 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xe7867499 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe789f8a9 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe78beb9c kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe7b7aed4 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xe7c52fb0 snd_soc_jack_new +EXPORT_SYMBOL_GPL vmlinux 0xe7e9a21f sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xe7f41db8 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xe7fcd9b4 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8140c1b device_del +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81a5eb4 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xe8312320 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xe840b644 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe8468aa7 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe85d10cb inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xe8611953 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8c0f948 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe947f35c adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9695e69 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xe9697b17 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xe96a724e usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe9ab6f4c ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe9c43a19 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xe9e1dbc3 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xe9ef4fe5 mtd_point +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea2ef868 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea4a3f49 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0xea69b681 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xea730914 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0xea782d94 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xea7dc4a0 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xea925f16 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xeaad53ff tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeaee18b4 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xeafaad5f device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xeb0956bd snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0xeb1151c5 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xeb19dff3 mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0xeb2a6a83 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0xeb4f1fe8 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xeb509774 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0xeb82e3d5 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xeb9cba06 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0xebb157c8 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xebc93ffd inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xec03a6f5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec77e5d1 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xec8fc366 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xec9bb35f sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xecaaa8b2 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xeccbfebc br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xed16a780 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xed695a2d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xeda63db3 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0xedc49414 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xeddc899b rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xedf0bb65 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xee315eb0 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xee4162d3 omap_dm_timer_set_int_enable +EXPORT_SYMBOL_GPL vmlinux 0xee4d7720 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xee6446bd usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xee9525d2 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xeeff55b6 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xef09756a blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xef3d0066 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef5a903b rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xef5dc07f omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xefc24632 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xefeab993 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xeff302ef task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xeffcfc19 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf03e7330 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL vmlinux 0xf042beeb __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xf08f10b9 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xf0cd33bd usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xf0dcb4b1 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf0f238e0 user_read +EXPORT_SYMBOL_GPL vmlinux 0xf134b947 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xf16a239a sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf16be564 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xf16e5765 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1ae3d2f relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1f9805c power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xf25e1b55 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xf2738a80 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xf2b6e5ae omap_dm_timer_get_fclk +EXPORT_SYMBOL_GPL vmlinux 0xf2b92053 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xf2ceff1b pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xf2e1d553 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xf2f95281 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf311d30e sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf32efbdd bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0xf3410dc4 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xf3473264 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf3644f15 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xf38f1474 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf414cbf2 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xf419bc09 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0xf421b4f7 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf42ac0c9 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xf4921751 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf4cfbad1 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf52af99a snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf5398158 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf57bc1eb cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xf57cba86 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xf583bdf6 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5ca9ff7 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xf5d355f5 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xf5d770b6 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xf5e3439c blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0xf614ba0b platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf61f7956 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xf66beac9 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0xf66efb71 omap_dm_timer_read_status +EXPORT_SYMBOL_GPL vmlinux 0xf6dd452f crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xf6e01f2f blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f67ae1 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf7004dd9 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xf70e9947 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xf72d843b wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xf742d1bd ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xf7474c7a find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xf76949be snd_soc_platform_trigger +EXPORT_SYMBOL_GPL vmlinux 0xf771d0d7 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xf7857ac3 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xf7e19dbc register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf816d140 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xf81a749b crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf8433ba8 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf8668517 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf88670e4 snd_soc_default_readable_register +EXPORT_SYMBOL_GPL vmlinux 0xf89615bf __put_net +EXPORT_SYMBOL_GPL vmlinux 0xf8d58e5e mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xf8ee8a1c seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf9000681 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf931fb44 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0xf955e932 mmput +EXPORT_SYMBOL_GPL vmlinux 0xf980716d ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b2a42e adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf9c7b02a sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9d046f0 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa2136ee omap_dm_timer_free +EXPORT_SYMBOL_GPL vmlinux 0xfa297e25 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0xfa67446c skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xfab40217 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL vmlinux 0xfadd939a usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb5ed5b6 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xfb661ac1 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xfb69dd3d inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfbb6d212 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbc71f87 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xfbe1ad6a ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc2ffce6 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfc478a68 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc597d7a xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xfc883ef9 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xfc8e0ce3 sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0xfc8e3873 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xfcccab61 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfd1f9a61 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdbd3cb1 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe16f0de relay_open +EXPORT_SYMBOL_GPL vmlinux 0xfe46dc40 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfe4741e0 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xfe83be1a ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfec7fd72 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed21d23 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xfef1b26f stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xfef1b3d6 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff7fec83 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffb3ded5 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0xffbe0dec dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xffdc76a0 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xfffe89c8 __rtnl_af_register --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armhf/omap.compiler +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armhf/omap.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/armhf/omap.modules +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/armhf/omap.modules @@ -0,0 +1,2431 @@ +6lowpan +6pack +8021q +8250_dw +88pm860x_bl +88pm860x_onkey +88pm860x-ts +9p +9pnet +a3d +a8293 +aat2870_bl +aat2870-regulator +ab3100 +ab3100-otp +ac97_bus +acecad +act200l-sir +act_csum +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad2s1200 +ad2s1210 +ad2s90 +ad5064 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5504 +ad5624r_spi +ad5686 +ad5764 +ad5791 +ad5930 +ad5933 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7152 +ad7192 +ad7280a +ad7291 +ad7298 +ad7314 +ad7414 +ad7418 +ad7476 +ad7606 +ad7746 +ad7780 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad799x +ad8366 +ad9832 +ad9834 +ad9850 +ad9852 +ad9910 +ad9951 +adcxx +ade7753 +ade7754 +ade7758 +ade7759 +ade7854 +ade7854-i2c +ade7854-spi +adfs +adi +adis16060 +adis16080 +adis16130 +adis16201 +adis16203 +adis16204 +adis16209 +adis16220 +adis16240 +adis16260 +adis16400 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm9240 +adp5520_bl +adp5520-keys +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +ads1015 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adummy +adutux +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adxl34x +adxl34x-i2c +adxl34x-spi +adxrs450 +af_802154 +af9013 +af9033 +af_alg +affs +af_key +af-rxrpc +afs +ah4 +ah6 +ahci_platform +aiptek +aircable +ak881x +ak8975 +alauda +algif_hash +algif_skcipher +alphatrack +altera_jtaguart +altera_ps2 +altera-stapl +altera_uart +amba-clcd +ambakmi +amba-pl010 +amba-pl011 +amc6821 +ams369fg06 +analog +ansi_cprng +anubis +aoe +apds9802als +apds990x +appledisplay +appletalk +appletouch +ar7part +arc4 +ark3116 +arptable_filter +arp_tables +arpt_mangle +as5011 +asc7621 +asix +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +atbm8830 +ath +ath3k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ati_remote +ati_remote2 +atm +atmel_mxt_ts +atmel_pwm +atmel-pwm-bl +atmtcp +atxp1 +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo_k1900fb +auo_k1901fb +auo_k190x +auo-pixcir-ts +authenc +authencesn +auth_rpcgss +autofs4 +ax25 +ax88796 +b2c2-flexcop +b2c2-flexcop-usb +b43 +b43legacy +b44 +bas_gigaset +batman-adv +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +bcma +bcm_wimax +befs +belkin_sa +bfs +bfusb +bh1770glc +bh1780gli +binfmt_aout +binfmt_misc +block2mtd +blowfish_common +blowfish_generic +bluetooth +bma150 +bmp085-i2c +bmp085-spi +bnep +bonding +bpa10x +bpqether +bq27x00_battery +br2684 +brcmfmac +brcmsmac +brcmutil +bridge +broadsheetfb +bsd_comp +bt819 +bt856 +bt866 +btmrvl +btmrvl_sdio +btrfs +btsdio +btusb +btwilink +bu21013_ts +bw-qcam +c67x00 +cachefiles +caif +caif_hsi +caif_serial +caif_socket +caif_usb +camellia_generic +can +can-bcm +can-dev +can-gw +can-raw +capi +capidrv +carl9170 +cast5 +cast6 +catc +cc770 +cc770_isa +cc770_platform +c_can +c_can_platform +ccm +cdc-acm +cdc_eem +cdc_ether +cdc_ncm +cdc-phonet +cdc_subset +cdc-wdm +ceph +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +chnl_net +cifs +ci_hdrc +clearpad_tm1217 +clip +cls_basic +cls_cgroup +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cma3000_d0x +cma3000_d0x_i2c +cmtp +cobra +coda +configfs +cordic +core +cp210x +cpia2 +c-qcam +cramfs +crc7 +crc8 +crc-ccitt +crc-itu-t +cryptd +cryptoloop +crypto_null +crypto_user +cs5345 +cs53l32a +cs89x0 +ctr +cts +cuse +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx24110 +cx24113 +cx24116 +cx24123 +cx25840 +cx82310_eth +cxacru +cxd2820r +cy8ctmg110_ts +cyberjack +cypress_cy7c63 +cypress_m8 +cytherm +cyttsp_core +cyttsp_i2c +cyttsp_spi +da9030_battery +da9034-ts +da903x +da903x_bl +da9052_bl +da9052_onkey +da9052-regulator +da9052_tsi +da9052_wdt +davinci_cpdma +davinci_mdio +db9 +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de600 +de620 +decnet +deflate +des_generic +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +diskonchip +dlci +dlm +dm644x_ccdc +dm9000 +dm9601 +dm-bufio +dm-crypt +dme1737 +dm-log +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-thin-pool +dm-zero +dnet +dn_rtmsg +doc2001plus +docecc +docg3 +docg4 +docprobe +drbd +drm +drm_kms_helper +drm_usb +drxd +drxk +ds1621 +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds620 +dsa_core +dsbr100 +dss1_divert +dummy +dvb-as102 +dvb-core +dvb-pll +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-it913x +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dwc3 +dwc3-exynos +dwc3-omap +dw_dmac +dw_mmc +dw_mmc-pltfm +dw_wdt +dynapro +easycap +ebt_802_3 +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ec100 +echo +eeprom +eeprom_93cx6 +eeprom_93xx46 +efs +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +emc1403 +emc2103 +emc6w201 +em_cmp +emi26 +emi62 +emif +em_meta +em_nbyte +empeg +ems_usb +em_text +em_u32 +enc28j60 +enclosure +eql +esd_usb2 +esi-sir +esp4 +esp6 +ethoc +evbug +ext2 +extcon_class +extcon_gpio +extcon-max8997 +f71805f +f71882fg +f75375s +f81232 +faulty +fb_sys_fops +fc0011 +fcrypt +ff-memless +fm_drv +freevxfs +fsa9480 +fscache +ft1000 +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +fusb300_udc +g760a +g_acm_ms +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +g_dbgp +gdmwm +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_ffs +gfs2 +ghash-generic +g_hid +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_mass_storage +g_midi +g_multi +g_ncm +g_nokia +gp2ap002a00f +gpio +gpio-74x164 +gpio-addr-flash +gpio-adp5520 +gpio-adp5588 +gpio-charger +gpio-fan +gpio-generic +gpio-ir-recv +gpio_keys +gpio_keys_polled +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mc33880 +gpio-mcp23s08 +gpio_mouse +gpio-pca953x +gpio-pcf857x +gpio-regulator +gpio_tilt_polled +gpio-tps65912 +gpio_vbus +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +g_printer +gre +grip +grip_mp +g_serial +gspca_benq +gspca_conex +gspca_cpia1 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtco +guillemot +gunze +g_webcam +g_zero +hampshire +hanwang +hci +hci_uart +hci_vhci +hd29l2 +hdlc +hdlc_cisco +hdlcdrv +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdpvr +hfc4s8s_l1 +hfcsusb +hfc_usb +hfs +hfsplus +hid +hid-a4tech +hid-apple +hid-aureal +hid-axff +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-dr +hid-elecom +hid-emsff +hid-ezkey +hid-gaff +hid-generic +hid-gyration +hid-holtekff +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-logitech +hid-logitech-dj +hid-magicmouse +hid-microsoft +hid-monterey +hid-multitouch +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-picolcd +hid-pl +hid-primax +hid-prodikeys +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-kovaplus +hid-roccat-pyra +hid-saitek +hid-samsung +hid-sjoy +hid-sony +hid-speedlink +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-uclogic +hid-wacom +hid-waltop +hid-wiimote +hid-zpff +hid-zydacron +hisax +hisax_st5481 +hmc5843 +hmc6352 +hostap +hp4x +hpfs +hsi +hsi_char +hso +htc-pasic3 +hwmon-vid +i2c-algo-bit +i2c-algo-pca +i2c-designware-core +i2c-designware-platform +i2c-dev +i2c-diolan-u2c +i2c-gpio +i2c-mux +i2c-mux-gpio +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-simtec +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-xiic +ibmaem +ibmpex +ics932s401 +idmouse +ieee802154 +ifb +iforce +iio_dummy +iio_hwmon +iio-trig-gpio +iio-trig-periodic-rtc +iio-trig-sysfs +ili210x +ili9320 +imon +impa7 +imx074 +ina2xx +industrialio +inet_diag +inexio +inftl +input-polldev +int51x1 +interact +io_edgeport +io_ti +iowarrior +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_REJECT +ip6t_rpfilter +ip6t_rt +ip6_tunnel +ipack +ipaq +ipcomp +ipcomp6 +ipddp +ip_gre +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ipoctal +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netport +ip_set_list_set +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_ah +ipt_CLUSTERIP +ipt_ECN +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_rpfilter +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipx +ircomm +ircomm-tty +irda +irda-usb +ir-jvc-decoder +ir-kbd-i2c +irlan +ir-lirc-codec +ir-mce_kbd-decoder +ir-nec-decoder +irnet +ir-rc5-decoder +ir-rc5-sz-decoder +ir-rc6-decoder +ir-sanyo-decoder +ir-sony-decoder +irtty-sir +ir-usb +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdn +isdn_bsdcomp +isdnhdlc +isdnloop +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1301 +isp1301_omap +isp1362-hcd +isp1704_charger +isp1760 +it87 +it913x-fe +itd1000 +iuu_phoenix +iwmc3200top +iwmc3200wifi +ix2505v +jc42 +jedec_probe +jffs2 +jfs +joydev +joydump +kafs +kalmia +kaweth +kbtab +kernelcapi +keucr +keyspan +keyspan_pda +keyspan_remote +kfifo_buf +khazad +kingsun-sir +kl5kusb105 +kobil_sct +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +kxsd9 +kxtj9 +l1oip +l2tp_core +l2tp_debugfs +l2tp_ppp +l4f00242t03 +l64781 +lapb +lapbether +latch-addr-flash +lcd +ld9040 +ldusb +lec +leds-88pm860x +leds-adp5520 +leds-atmel-pwm +leds-bd2802 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3533 +leds-lp3944 +leds-lp5521 +leds-lp5523 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-ot200 +leds-pca9532 +leds-pca955x +leds-pca9633 +leds-pwm +leds-regulator +leds-tca6507 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +ledtrig-transient +legousbtower +lg2160 +lgdt3305 +lgdt330x +lgs8gl5 +lgs8gxx +lg-vl600 +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libceph +libcrc32c +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libiscsi +libiscsi_tcp +libsas +lightning +line6usb +lineage-pem +linear +lirc_dev +lirc_igorplugusb +lirc_imon +lirc_parallel +lirc_sasem +lirc_serial +lirc_sir +lirc_ttusbir +lirc_zilog +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +litelink-sir +lkkbd +llc +llc2 +lm3533_bl +lm3533-core +lm3533-ctrlbank +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lm95245 +lms283gf05 +lnbp21 +lnbp22 +lockd +logger +lp +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lpddr_cmds +lru_cache +lrw +ltc4151 +ltc4215 +ltc4245 +ltc4261 +ltv350qv +lzo +m25p80 +m52790 +m88rs2000 +ma600-sir +mac80211 +mac80211_hwsim +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +macvlan +macvtap +magellan +mailbox +mailbox_mach +map_absent +map_ram +map_rom +matrix-keymap +matrix_keypad +max1111 +max11801_ts +max1363 +max1586 +max16065 +max1619 +max1668 +max17040_battery +max17042_battery +max2165 +max3100 +max3107 +max63xx_wdt +max6639 +max6642 +max6650 +max6875 +max7359_keypad +max8649 +max8660 +max8903_charger +max8925_bl +max8925_onkey +max8925_power +max8925-regulator +max8952 +max8997 +max8997_charger +max8997_haptic +max8998 +max8998_charger +mb86a16 +mb86a20s +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc44s803 +mceusb +mcp2120-sir +mcp251x +mcp3021 +mcs5000_ts +mcs7780 +mcs7830 +mcs_touchkey +mct_u232 +md4 +mdc800 +mdio-bitbang +mdio-gpio +mdio-mux +mdio-mux-gpio +mem2mem_testdev +memstick +metronomefb +metro-usb +mg_disk +michael_mic +microtek +minix +mip6 +mISDN_core +mISDN_dsp +mk712 +mkiss +mma8450 +mmci +mos7720 +mos7840 +moto_modem +mpoa +mpr121_touchkey +mpu3050 +msdos +msp3400 +mspro_block +mt2060 +mt20xx +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9t112 +mt9v011 +mt9v022 +mtd_dataflash +mtdoops +mtdram +mtdswap +mtouch +multipath +musb_hdrc +mv88e6060 +mv88e6xxx_drv +mv_udc +mwifiex +mwifiex_sdio +mwifiex_usb +mxl111sf-demod +mxl111sf-tuner +mxl5005s +mxl5007t +nandsim +navman +nbd +nci +ncpfs +net1080 +net2272 +netconsole +netprio_cgroup +netrom +newtonkbd +nfc +nf_conntrack +nf_conntrack_amanda +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_ipv4 +nf_conntrack_ipv6 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_proto_dccp +nf_conntrack_proto_gre +nf_conntrack_proto_sctp +nf_conntrack_proto_udplite +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nfcwilink +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_proto_dccp +nf_nat_proto_gre +nf_nat_proto_sctp +nf_nat_proto_udplite +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nfnetlink +nfnetlink_acct +nfnetlink_cttimeout +nfnetlink_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nilfs2 +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +n_r3964 +ns558 +ntc_thermistor +ntfs +n_tracerouter +n_tracesink +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +of_serial +old_belkin-sir +omap +omap2 +omap2430 +omap4-keypad +omap-aes +omap_hdq +omap-sham +omap-vout +omap_wdt +omfs +omninet +onenand +onenand_sim +opencores-kbd +openvswitch +oprofile +opticon +option +or51132 +or51211 +osst +oti6858 +output +ov2640 +ov5642 +ov6650 +ov7670 +ov772x +ov9640 +ov9740 +overlayfs +oxu210hp-hcd +ozwpan +p54common +p54spi +p54usb +p8022 +p8023 +palmas-regulator +pandora_bl +panel +panel-acx565akm +panel-lgphilips-lb035q02 +panel-nec-nl8048hl11-01b +panel-picodlp +parkbd +parport +parport_ax88796 +pata_arasan_cf +pata_of_platform +pata_platform +pc87360 +pc87427 +pcbc +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pcwd_usb +pda_power +peak_usb +pegasus +penmount +phonedev +phonet +phram +physmap +physmap_of +pixcir_i2c_ts +pktcdvd +pktgen +pl2303 +pl330 +platform_lcd +plat_nand +plat-ram +plip +plusb +pn533 +pn544 +pn544_hci +pn_pep +poseidon +powermate +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppox +ppp_synctty +pps_core +pps-gpio +pps-ldisc +pps_parport +pptp +prism2_usb +ps2mult +psmouse +psnap +pvrusb2 +pwc +pwm-beeper +pwm_bl +qcaux +qcserial +qinfo_probe +qmi_wwan +qnx4 +qnx6 +qt1010 +qt1070 +quatech2 +quota_tree +quota_v1 +quota_v2 +r8712u +r8a66597-hcd +r8a66597-udc +radio-i2c-si470x +radio-keene +radio-mr800 +radio-si4713 +radio-tea5764 +radio-usb-si470x +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramoops +raw +rbd +rc5t583-regulator +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-em-terratec +rc-encore-enltv +rc-encore-enltv2 +rc-encore-enltv-fm53 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-imon-mce +rc-imon-pad +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lirc +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-pctv-sedna +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-snapstream-firefly +rc-streamzap +rc-tbs-nec +rc-technisat-usb2 +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-trekstor +rc-tt-1500 +rc-twinhan1027 +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-winfast +rc-winfast-usbii-deluxe +rds +rds_tcp +redboot +redrat3 +reed_solomon +reiserfs +renesas_usbhs +rfcomm +rfd_ftl +rfkill-gpio +rfkill-regulator +ring_sw +rio500 +rj54n1cb0c +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rt2500usb +rt2800lib +rt2800usb +rt2x00lib +rt2x00usb +rt73usb +rtc-88pm860x +rtc-ab3100 +rtc-bq32k +rtc-bq4802 +rtc-cmos +rtc-da9052 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3232 +rtc-ds3234 +rtc-em3027 +rtc-fm3130 +rtc-isl12022 +rtc-isl1208 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max8925 +rtc-max8998 +rtc-mc13xxx +rtc-msm6242 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-pl031 +rtc-r9701 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3029c2 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl2830 +rtl8150 +rtl8187 +rtl8192c-common +rtl8192cu +rtlwifi +rts5139 +rxkad +s1d13xxxfb +s2255drv +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5m8767 +s6e63m0 +s921 +saa6588 +saa7110 +saa7115 +saa7127 +saa717x +saa7185 +saa7191 +saa7706h +safe_serial +salsa20_generic +samsung-keypad +sata_mv +sbs-battery +sca3000 +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cbq +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_fq_codel +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_tbf +sch_teql +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sctp_probe +sdhci-pltfm +sdhci-pxav2 +sdhci-pxav3 +sdio_uart +seed +seeq8005 +seqiv +ser_gigaset +serio_raw +sermouse +serpent_generic +serport +serqt_usb2 +ses +sha512_generic +sh_mobile_ceu_camera +sh_mobile_csi2 +sht15 +sht21 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sierra_net +sil164 +sir-dev +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +sl811-hcd +slcan +slip +slram +sm501 +sm501fb +sm7xx +smb347-charger +smc911x +smc91x +sm_ftl +smm665 +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd-aaci +snd-ac97-codec +snd-aloop +snd-dummy +snd-hrtimer +snd-hwdep +snd-mixer-oss +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-portman2x4 +snd-rawmidi +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-soc-88pm860x +snd-soc-ad1836 +snd-soc-ad193x +snd-soc-ad73311 +snd-soc-adau1373 +snd-soc-adav80x +snd-soc-ads117x +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4641 +snd-soc-ak4642 +snd-soc-ak4671 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs42l51 +snd-soc-cs42l52 +snd-soc-cs42l73 +snd-soc-cx20442 +snd-soc-da7210 +snd-soc-dfbmcs320 +snd-soc-igep0020 +snd-soc-jz4740-codec +snd-soc-l3 +snd-soc-lm4857 +snd-soc-lm49453 +snd-soc-max9768 +snd-soc-max98088 +snd-soc-max98095 +snd-soc-max9850 +snd-soc-max9877 +snd-soc-mc13783 +snd-soc-ml26124 +snd-soc-omap3evm +snd-soc-omap3pandora +snd-soc-overo +snd-soc-pcm3008 +snd-soc-rt5631 +snd-soc-sdp3430 +snd-soc-sgtl5000 +snd-soc-simple-card +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-sta32x +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic3x +snd-soc-tlv320dac33 +snd-soc-tpa6130a2 +snd-soc-twl6040 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wl1273 +snd-soc-wm1250-ev1 +snd-soc-wm2000 +snd-soc-wm2200 +snd-soc-wm5100 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8727 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8955 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8962 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8983 +snd-soc-wm8985 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8991 +snd-soc-wm8993 +snd-soc-wm8994 +snd-soc-wm8995 +snd-soc-wm8996 +snd-soc-wm9081 +snd-soc-wm9090 +snd-soc-wm-hubs +snd-soc-zoom2 +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usbmidi-lib +snd-virmidi +soc_camera +soc_camera_platform +soc_mediabus +softdog +softing +sp805_wdt +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntpc +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_decpc +speakup_dectlk +speakup_dtlk +speakup_dummy +speakup_keypc +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedtch +spi-altera +spi-bitbang +spi-butterfly +spidev +spi-dw +spi-gpio +spi_ks8995 +spi-lm70llp +spi-oc-tiny +spi-omap2-mcspi +spi-pl022 +spi-tle62x0 +squashfs +sr030pc30 +ssb +ssfdc +sst25l +ssu100 +st +st1232 +stb0899 +stb6000 +stb6100 +st_drv +stinger +stir4200 +stkwebcam +stmpe-keypad +stmpe-ts +stowaway +stp +streamzap +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv6110 +stv6110x +sunkbd +sunrpc +symbolserial +synaptics_i2c +synaptics_i2c_rmi4 +synaptics_usb +syscopyarea +sysfillrect +sysimgblt +sysv +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +tc3589x-keypad +tca6416-keypad +tca8418_keypad +tcm825x +tcm_fc +tcm_loop +tcm_usb_gadget +tcp_bic +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18271 +tda18271c2dd +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tef6862 +tekram-sir +test-kprobes +test-kstrtox +test_power +tgr192 +thmc50 +ths7303 +ti_dac7512 +tidspbridge +ti_hecc +timb_dma +timblogiw +timbuart +timed_gpio +timeriomem-rng +tipc +ti_tscadc +ti_usb_3410_5052 +tlv320aic23b +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmiofb +tmio_mmc +tmio_mmc_core +tmio_nand +tmp102 +tmp401 +tmp421 +toim3232-sir +touchit213 +touchright +touchwin +tpm_atmel +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65090-regulator +tps65217 +tps65217-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +trancevibrator +tranzport +ts_bm +tsc2005 +tsc2007 +tsc40 +ts_fsm +ts_kmp +tsl2550 +tsl2563 +tsl2583 +tsl2x7x_core +ttpci-eeprom +tua6100 +tua9001 +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw9910 +twidjoy +twl4030_charger +twl4030_keypad +twl4030-madc +twl4030-madc-hwmon +twl4030-pwrbutton +twl4030-vibra +twl4030_wdt +twl6030-pwm +twl6030-usb +twl6040-vibra +twofish_common +twofish_generic +u132-hcd +uas +ub +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udl +udlfb +udp_diag +ueagle-atm +ufs +uio +uio_pdrv +uio_pdrv_genirq +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +usb8xxx +usbatm +usb_debug +usb_gigaset +usbhid +usbip-core +usbip-host +usbkbd +usblcd +usbled +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +usb_wwan +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-common +v4l2-int-device +v4l2-mem2mem +vcan +ves1820 +ves1x93 +veth +vgg2432a4 +vhci-hcd +videobuf2-core +videobuf2-dma-contig +videobuf2-memops +videobuf2-vmalloc +videobuf-core +videobuf-dma-contig +videobuf-dvb +videobuf-vmalloc +videodev +virtual +visor +vivi +vivopay-serial +vmac +vp27smpx +vpfe_capture +vpss +vpx3220 +vs6624 +vsxxxaa +vt1211 +vub300 +w1_bq27000 +w1_ds2408 +w1_ds2423 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_ds2780 +w1_ds2781 +w1-gpio +w1_smem +w1_therm +w35und +w5100 +w5300 +w83627ehf +w83627hf +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +w90p910_ts +w9966 +wacom +wacom_i2c +wacom_w8001 +walkera0701 +warrior +whiteheat +wimax +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wlcore +wlcore_sdio +wlcore_spi +wm831x_backup +wm831x_bl +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x-ts +wm831x_wdt +wm8350-hwmon +wm8350_power +wm8350-regulator +wm8400-regulator +wm8739 +wm8775 +wm8994-regulator +wm97xx-ts +wp512 +x25 +x25_asy +xc4000 +xc5000 +xcbc +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_ro +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_ipcomp +xfrm_user +xfs +xgmac +xilinx_uartps +xor +xpad +x_tables +xt_addrtype +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNSECMARK +xt_conntrack +xt_cpu +xt_CT +xt_dccp +xt_devgroup +xt_dscp +xt_DSCP +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_HMARK +xt_IDLETIMER +xt_iprange +xt_ipvs +xtkbd +xt_LED +xt_length +xt_limit +xt_LOG +xt_mac +xt_mark +xt_multiport +xt_nfacct +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_RATEEST +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_TCPOPTSTRIP +xt_tcpudp +xt_TEE +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xz_dec_test +yam +yealink +yurex +zaurus +zd1201 +zd1211rw +zhenhua +zio +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr364xx --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/i386/generic +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/i386/generic @@ -0,0 +1,13480 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x4bae27ce kvm_read_guest_atomic +EXPORT_SYMBOL arch/x86/kvm/kvm 0xd27936fa kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/platform/scx200/scx200 0x254e5667 scx200_gpio_base +EXPORT_SYMBOL arch/x86/platform/scx200/scx200 0x35a3c008 scx200_gpio_configure +EXPORT_SYMBOL arch/x86/platform/scx200/scx200 0x8cfa375c scx200_gpio_shadow +EXPORT_SYMBOL arch/x86/platform/scx200/scx200 0x907665bd scx200_cb_base +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/video 0x53ab7fb3 acpi_video_get_edid +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0xf24a3dab suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x528236ce uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0xcd3e6008 bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x5c165453 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x2d0af1ac pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x336e2560 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x3811f896 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x389fb24c pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x4f3d752c paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x5695ac44 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x84f676db pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x8ecbe9ff pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x9467676c pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xd58370da pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xea65ae69 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xff3b1a83 paride_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0183e84c ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0b5ee707 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1348760d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x16dcec76 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1a10c898 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1a551438 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1aba5db8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c971bec ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x524f6f51 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5e80f37c ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5fcdcc05 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67cb9784 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x78fd36e7 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8c8ee770 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96cbcc81 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa28a2ace ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa2a98b91 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa556c97a ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc1eac311 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe0fa83f2 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6ab72a6 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2576cb9 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/nsc_gpio 0x632cf00f nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0x9132c08d nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0xf3febf3d nsc_gpio_read +EXPORT_SYMBOL drivers/char/nvram 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x17ff2c1d __nvram_read_byte +EXPORT_SYMBOL drivers/char/nvram 0x2adec1e0 __nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x7da28f12 nvram_check_checksum +EXPORT_SYMBOL drivers/char/nvram 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL drivers/char/nvram 0xa8813189 __nvram_write_byte +EXPORT_SYMBOL drivers/edac/edac_core 0xbe1f0464 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0642a306 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0b5bcb8c fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x13ed36bb fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16916123 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x37191fa8 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x38d4e5b1 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x43011e8d fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x45718802 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x49f8d2b7 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65c9438b fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7e02e4e5 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7e431b14 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x88e10602 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90e81d94 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x92c0a8da fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x950f68b1 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9e949df1 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa136d222 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaf6c4b29 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb137101e fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbe0a4d7f fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd220a849 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd4348948 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd4886749 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd94b4fd8 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdaf2dd6f fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe6adb5c5 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xee1e5969 fw_iso_context_queue +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01444638 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0182073a drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01a36364 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01a9ad2c drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03880930 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04c8cae4 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04d05624 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05946911 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06543f13 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06c101dd drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09061b59 drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cfca50f drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d57cd5d drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d7dca28 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fccafb1 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11559101 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x123b7f12 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1267af9d drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e20337 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19eabda9 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b6d558d drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dcee182 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e0ed107 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20e68beb drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2167fb3e drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21cbd510 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23d248f3 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25c8d97e drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x263f0b46 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2670bf20 drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26c1b39b drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28c77cb0 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a96e220 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d462d13 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d5831a3 drm_prime_lookup_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dd42e07 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fb918b7 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fe8a4ed drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30968332 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x322ccd03 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3465ed3d drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3545e6c7 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x367b08ea drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac1fef9 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac7afd9 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ca78318 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e9afed1 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb37b9d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f474c1c drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40814001 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x410c4dea drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41469c24 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41fe8795 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x457643cf drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46fb6cda drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x491a8d9c drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b53884d drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c05b914 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dfb923b drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e278d43 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50dcc78b drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5107992d drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x549b2c8d drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5597a300 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55d82f05 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56349a26 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x564b3f99 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x596c6ac3 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d307459 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d413248 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f098f77 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x607ed706 drm_prime_remove_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6149fb3d drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61c8edeb drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629c05e1 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6321d2e5 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x632e1124 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6354326d drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63ba5f95 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65f18559 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ae865c8 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6aea2e76 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b353b3b drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b3b6d49 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d3ba528 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f237a6b drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x700905fb drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x703dc707 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70f64b8a drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x716eedb1 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x720d32cc drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x731952f4 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73b175cf drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74f65c78 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77af0144 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79ae3cf3 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ab24a20 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c2419cd drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cf9caa0 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8086ce82 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82e2f0c9 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83762eb1 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x841c47b9 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x844995c7 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85a23c4d drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86136af0 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87b7213e drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87e3d1ee drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87f8a06a drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x896c452d drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a76d8d5 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c0cd6f8 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c346705 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d87f81d drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8de13715 drm_format_vert_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfb019d drm_buffer_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x912c23fe drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x923317fb drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x934b98a1 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93ad2c48 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93b05de6 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96f25ff9 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9737179e drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9903870d drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99b39ee2 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a251a20 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b4bae62 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bdc6722 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f4e3587 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fe9616c drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa07ce30b drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4df266b drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4e41ce3 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa576db98 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa59598fe drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7233d6a drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa958bdcc drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa54231f drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa6d323f drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaab22159 drm_prime_add_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab6d36ee drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xadf800ab drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf62046e drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb023144d drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0900f8c drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb10bc3b6 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1585c4b drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2295e1d drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3893647 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5825ec1 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7060236 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb70d712e drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8de0e25 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba3b086b drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba545690 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb001830 drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe911002 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc018d6bb drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2054e73 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2bbeec2 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc697a517 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7024efa drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf26fee4 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd009a95e drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0bc78db drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0f7b790 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd193143a drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd26cd3f2 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd561859d drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9ebbbc1 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9f67d7f drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdaa73f0d drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbfc97b1 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xded7de3b drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf00659a drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1401d8c drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe41fee1e drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7e823dd drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe852ee6e drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea1fe174 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea312883 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea655514 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaceb1fd drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed9eebc5 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeebf8750 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3f038d8 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4220f62 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4d93e1d drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf78f3d6a drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8063708 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf868092a drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8f762f7 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8fc0eb1 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9d8a281 drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb203f43 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd5151a9 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdf8043a drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe75eb6b drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0925c04d drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b967313 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0beadbf8 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1374113b drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x15ad83e0 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ac448ef drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b43d386 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x211983f3 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c6ac471 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fdc8068 drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x309b7d30 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3157ffc7 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37a1f32d drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4016feb6 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50982166 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5487b214 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54a657a4 drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63f5d7d2 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x653cae17 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x700b3bbf drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7acc99a9 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85a3f97c drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a8bfbeb drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab7a2250 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaee51580 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb52fe8f1 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb7af64ea drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc066dc66 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6071c07 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc978baf1 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcaa48963 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcff17e98 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd02c73c7 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x44fd34bb drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x6eaa921c drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xdd24060d drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0410bcb3 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06747411 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0c92603b ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x145e6a73 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x15ad2695 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1719aad7 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23b329b4 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x26278120 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x266d8a60 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b941579 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e716950 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x31d29fbf ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x33c71ce2 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34a93d34 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34c269a1 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x392309c0 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4915fb8c ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5cf59609 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e375c14 ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e9e5382 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x637e7116 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x63dcb44b ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6622655d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67b1d568 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6aa77456 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6f7394aa ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x756ddc47 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x773d0163 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7dd0f746 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80d86f0e ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x82f9cdda ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8508dc52 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85477881 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8577111d ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8809f983 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8832162b ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d05e6ed ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x90428469 ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x92da04e8 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9e2e3178 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9f0df271 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e71c6 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac313164 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8cbe66e ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbaa2b414 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbb8bac75 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc42fe1ee ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc6977ac3 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc404922 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc83ee25 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce1151ab ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd6ba5850 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd79e125e ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdddeb609 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe5417038 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe5502abf ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe6b090db ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe70e5427 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xee4b265d ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeff071e0 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf136db77 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf2eaa709 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfa763dc9 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfbc2c5ec ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xffaf077c ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfff4fbbb ttm_bo_reserve +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x47dbafb7 vmbus_sendpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x7fcd2aaa vmbus_recvpacket +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x0903c239 vid_from_reg +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0xef1c781c vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0e2a6864 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x0f5877d4 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x3932269a sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xe5022f95 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xed1d2a08 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x73addab9 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x98709188 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe12fe71f i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xe9495688 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xed3001ef i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x353007bd amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x0278b903 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x0b865c51 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x0f2cdbd4 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x0f712d6c iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0x1b5cddc0 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x216224f1 iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0x2484300b iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3b8e8292 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x4a37b86c iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x569415a8 iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x694ddb37 iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x7c801ee7 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x81aabaa3 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x8532d872 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x91316ea5 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x9dc47509 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xa5ed22e2 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xa83cc3d5 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xb5a90ffd iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xb6e7cc45 iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xda6803d3 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe4e9deb6 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0xeee1e347 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0xf04b18e6 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x2722e40b iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x8f95fd38 iio_kfifo_allocate +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x37838b44 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x6b831ba5 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8ed679ff rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9d1f522d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb93baf0d rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc0bf4edc rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0b6c0f6a ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2590786e ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3d9014df ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x45d3f610 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x46db2155 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x47f1b294 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x75453e22 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa54b8f25 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb70bb924 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd1c6575a ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdc7b10d7 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xddf2c95f ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe48bff78 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe57589b8 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf0e453a7 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf860f060 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfb259d31 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01412c84 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0440a8c1 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x085368f1 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x086f3a75 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d4655d3 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0dc1e083 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14f84918 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x171f99f1 ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17d94aa7 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c679c85 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x204bfd62 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2190c5c7 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2597a7a8 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x282bb1c0 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a7be8c9 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ceb6c91 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33e3f5e0 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x347d58de ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35108236 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3dcafda6 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40f402b6 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x410337f7 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x410ce773 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x44887d81 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x448fe546 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x476310e7 ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49b5e902 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50d8c56c ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50dbc447 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x546f7a5e ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x591f754e ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5aec9771 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x608d46af ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ba35e1b ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7030557e ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7042e52f ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71fcff8d ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x759cf34c ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77674e97 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78fc97fa ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7dddabca ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80fc4443 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x844dee28 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85481912 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97c13ae8 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e823c8e ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6d972a3 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xac6b346b ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1b0f90c ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3386e4f ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb41eacde ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4e8d6ab ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbae1f7a5 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc159ff9 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf49e8cd ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf8369ca ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc69d007a ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7e06385 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca2aa995 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb13a69b ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcc237bcb ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2d909c4 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd49af890 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd58ccccc ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8ceadcb ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8efd162 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdbf506b8 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd808b8d ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a21113 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9fd0b0b ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf16664ef ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1cc98ad ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1f55178 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf559be16 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfff75497 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x16cf835f ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2a9cf895 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2dc3299b ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2eb1406a ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3f4b29ed ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x41897183 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6e18a35d ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x8a30073d ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x9ad42791 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc05b050d ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe4d6db39 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf45f24c6 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x52b18148 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6e44fd9f ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x8001438f ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x8e772b30 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x94682631 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x978d0b1b ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xdcdb0977 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf4e5015f ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf6b6444b ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x02f847bc ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x07cf5a51 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x18382f6a ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x184f3575 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x2feaeba1 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3ea8f631 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x4d9d282b iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x506fb9e5 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa48c0727 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd17fbea8 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd82437a4 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe8ba8124 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1a1dcfed rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x275cb6c9 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x310b79ba rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3e014d60 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x454d0ad3 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6a9e85cb rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x713c2f05 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x94388158 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9694f14d rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9e529adb rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa0178b14 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa90e33c8 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xae67a7c0 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb01e4692 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb9de2c7d rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc60a2a97 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcb74da33 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd88409d0 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe8f37d06 rdma_resolve_addr +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3b740db1 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x549fc495 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x57bd93b2 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x66fdeb10 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7f95f1b2 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8ad268c4 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x967829b7 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcd2f3068 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd89f0a46 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/input-polldev 0x04752db5 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x42981d45 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x80773254 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xfc74b23e input_register_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xf59f4b5b matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x11836f29 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x13e69eae ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0x34acc14a ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xe62a3eef ad714x_disable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xecb6aeb3 cma3000_init +EXPORT_SYMBOL drivers/input/sparse-keymap 0x36f79163 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x6c00e969 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x79636a51 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x810acc4d sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0xc764bfb1 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xf028e33c sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x69468346 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xc79780ae ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x01a83ead capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x0e1d9f21 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x275f329c capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x316037f0 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x384977a4 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62b69e1f capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x895e9e7e capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa7c4fd6c capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd167950e attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd5d2e8d7 capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe8ad9bd1 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf7d3138e capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0524edf9 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x103f0cc7 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3c278633 avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3fc5b443 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5b5d2093 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x9a954c91 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa3cc5695 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xb62b2f20 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc244cc00 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xcbb8941d b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd3e36e16 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd8c4d903 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe414a593 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf0faee19 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfafcef2c b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x53941e25 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x6491ca08 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x7a6ffb56 b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x7a9b896a b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x86619b41 t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8e87922e b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x90ee5bb6 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xf2e30f40 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xfdc08699 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0x29562993 b1pcmcia_delcard +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xaec3240e b1pcmcia_addcard_m1 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xea620116 b1pcmcia_addcard_m2 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xf14bf8b1 b1pcmcia_addcard_b1 +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0xde97ea9f proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x3abfe713 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x73094fc1 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb136b0b2 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xd5de812d mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xb6a289bb mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xcca6916f mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x7f29ce36 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9671466b hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xe227344e FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xee93522c hisax_register +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xf0a16657 FsmNew +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xfc27303b HiSax_closecard +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xff2db2cf FsmDelTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x0b1602bc isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x28f5787d isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x2a12d7cc isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x52642da7 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x966e5396 isac_init +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x85306897 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x99df2c82 isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x9fc68adc isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x3b71e4fc isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x59cc8a7e isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x8ee38862 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0xfd9d4c09 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x01e2b2f4 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0831b69c mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x19a92288 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1ec20854 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2be461d6 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x439dcd26 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4c0523d9 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54451388 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5da5a525 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5e901192 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7aa6cbff mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9210b8e4 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x93f28159 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x943022b6 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa808ed0f bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xab515b79 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xad8aa9ac mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbb208767 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbdb9a3ef recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd05fe801 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd1f4357e recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdcfd9c58 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe68093cc create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe87943cf mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9d2c099 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x60721da7 dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xa215f1b2 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/md/dm-log 0x0de2f767 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x1ff00a8e dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x92e1e17d dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xb1aeeaf2 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x20dbf2e2 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x38f5f6e4 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x5347d166 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x5b56fd19 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7cca993e dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xef83ffc4 dm_exception_store_create +EXPORT_SYMBOL drivers/md/raid456 0x9b041e89 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0xf6d5552f fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x63adbb64 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x98da20d1 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x7bb1a927 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x5d959661 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x390f2576 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x3ae6745b mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xc5aa00f6 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x3405d82e tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x1820582d tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x76205f28 tua9001_attach +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x0cb4b189 tuners +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/common/tuners/tuner-xc2028 0x8eb21840 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x3444187b xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xcbe6c916 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1def566f flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x24b19c7d flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2f35ee3a flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3379702d flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x435ce016 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6838a312 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6ce9dbfb flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x768f9e46 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8a9c752e flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9ce5e089 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa95a7525 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xab392532 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xad7492f9 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbc4b751d flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc26fc237 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc87d3e71 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcb100d15 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcb163c68 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcebd2ca9 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfbcf23d1 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x69f406d2 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x6cdfa71e bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xc0b32bec bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xe057b0de bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x2af533cb dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x2babe53e write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3348fb50 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x45a2617a dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x62a6a8aa rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6aeb423d dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x70224e23 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x8d3e2d59 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x9e37e01f dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xf0519d96 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0448bc0f dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0e8e95c8 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x101a29b8 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x13b81ac2 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x15cd8247 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x196f1ac1 dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1ce76cae dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x237f7910 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x26dd7301 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x297929b2 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x300f2abb dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3e5d6434 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3ff2ce7b dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x479a6d0f dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4b039230 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4c70c35a dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x699aecbc dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x987dcfde dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa3ebed1f dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa8a773ce dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xaa02898d dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb72b5fa0 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb7d99d0f dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbff91ba1 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc410a236 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc466da10 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc94fdc1d dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcd1823c7 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd2cda206 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd3ee7530 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdba743e3 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdd62868f dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xde8b4850 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf396d8fb dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfcc0ed9c dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x2f81dc80 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x36cfd9db dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x6bf17850 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7ec81a5b dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xd1f7ff9c dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe523a42c usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe8b6d30b dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x13e247e0 rc_map_af9005_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x67bab4a3 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x0bc57b29 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x23cefd1c dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2a0993dc dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x416882c2 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5c923b43 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x67246101 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x6f79783e dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb47559e0 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcf1dbc1e dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xdd50210c dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe1d8271b dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf7e7e6e7 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x12855e6a a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x9c85e347 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x31fe2d61 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x998e32d0 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x105ead0e au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x13bb15b4 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x1c72ff3c au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x5723e89e au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xd10a0d16 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xde6e8b07 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xe7a9966b au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xf1f8e3c6 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0xaca8e6e9 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xbcfbe5e2 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x551b2784 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x26b6abb9 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x1ab44a1a cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x84a1797c cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x87d0fb50 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x3f9c6dbe cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x44283bcb cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x978e328e cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x7e390a0e cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x05d25062 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x68556eaa dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xaf19ac30 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc87c48ca dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf2d70f0c dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x00da75d3 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x12cbff94 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x1b723ea1 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x21e9700e dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x36f52e2e dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x4d2797dc dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x62aaf977 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8127c877 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x86ff77e6 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8b9d7e87 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8dd2a197 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x9a1a5351 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xca56f518 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xf73b9316 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xf8a515ad dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0xe1997a0b dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x08a5c3a3 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x70d244b3 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x9d374ed2 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xacd35070 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xcc6e4996 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xd2ef9b6c dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x14c0aa91 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x27c9a53e dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x5d023fde dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xbca94e28 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2351395d dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x355bcdde dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3bf6ba34 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x4ed2e382 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x51f9c46f dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x6e40bc8e dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9be3b817 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xaedb8987 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb312a03b dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb4abdc25 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd4f51599 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xdb329d21 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xddaab695 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xed978277 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf387f939 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00b8e6ce dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x23cdcc53 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x422698ef dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4455a273 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4caa7c6d dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x54ef10d5 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x55b21dc5 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x61d21d2c dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6b787e21 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6efd5585 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7bdc2098 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x99af0d3e dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x99db9e1e dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa8062c72 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xab645b50 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbcae0b26 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbd17f838 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xcdc3d4c2 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf950215f dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x7f851a21 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x8df05021 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x942bdab7 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xaa8c62f9 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xf66aa1a9 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xb856d23d drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xf8cc8394 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xd0f9bacb drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0xa2b66386 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x80a97dbf dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x519b0973 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0xb87952c3 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x4ec42601 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xd835db5a isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x99768a3b it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x416bf8cd itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0xed7827d2 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x8b45798d l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x59497203 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x742a9459 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x97265a8e lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x9c89d8bb lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x1fff4c38 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x81cf453b lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0xe1949c48 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0xbf3f6421 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0xd3382db8 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0xa8332c3b mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x9eb82e42 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xbe7522b6 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x5e940107 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x39564160 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xc2d38492 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x75b4b7b4 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x3fd83468 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0xc5000188 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x05028832 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x36a61baa s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x8d856802 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x94a1005a s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x5720cd53 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x0443aa01 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xcb26ebcc sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x6c864279 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xdccd31f6 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x55603c95 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xb9378a4c stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x043bb66a stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x979146c1 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x6390a007 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x0114b23d stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x9bde2a12 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x1dce9fba stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x5951b99c stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xe43c30fe stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x99887fcd stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x7299d3c7 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0xf13b15ca tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xb86f9e04 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xd8817a51 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x240c81af tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x4435c820 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x6a2fc46c tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x6945ea67 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x561fe0c1 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xdae39ac0 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x89b4a2b7 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xeaa93290 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x1dac2d50 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xf6b7512f ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x8fb03d20 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x638ac1b1 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x1263c59e zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xf3519f5c zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x79ee9c1d ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x4c0be9e7 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x67cce82d ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x0d5aba5c lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x75bbba40 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x9899b676 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x992cfba9 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x9bc01fbf lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbcf0aacb lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xe7a7fd68 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xfa380726 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/rc-core 0x014d7ba6 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x97fbb5fd ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x04106b83 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x751f4b4d bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x992c4b1a bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x3878e045 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x725dce19 btcx_riscmem_alloc +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xad2fe38b btcx_sort_clips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xc368f8e6 btcx_align +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xcda0ded2 btcx_screen_clips +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x3a84e6d1 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xb2be2294 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xb53346d9 cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xe7bb517e cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xf1f50a14 cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x3923011d cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x640ee69e cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1665cd10 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2760bcbe cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x3ae22095 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0x3db8be82 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx2341x 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x7b9829ae cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/video/cx2341x 0xc184ec1e cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf76ce95 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf8b77a4 cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x91cbfab3 altera_ci_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x9247b72f altera_hw_filt_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xb7042a62 altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xf646c233 altera_hw_filt_init +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x1a3ba3ea cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x22cd3b1c cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x2661fa03 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x2adf6d28 cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x53348010 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x8036c664 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x8464fc15 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xa36b208a cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xca98fc10 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x31eaf085 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x426660c5 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x17de0c70 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x2f10ab67 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x3b321572 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x71ee7be2 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xa1ae436a cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xd1adaa5a cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x1f261043 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x61d5f8cf cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x773d3a7a cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x9ca1d203 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb71e1974 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xff6b1a4e cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x02d156f5 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0ced85f9 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2546b2fc cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x26d3247e cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4de75396 cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4e82fb9d cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5035224d cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5756fd61 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5ef41700 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x67382533 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x94d076ad cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x977128d2 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9d594e15 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa8f94624 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb122e53f cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb72dd0c7 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbc96185e cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbf04dcd9 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc30ec4fb cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc654fac1 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd37bca38 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfb09db5e cx88_reset +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x19ff3bf8 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xd5e1a12a em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x655fb632 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6642d2fc gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x964e32f8 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xac3ec0fd gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xbc3cc0b7 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xd74e7c88 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe098670d gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xeea7390e gspca_disconnect +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x03374a24 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x03c61d44 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x31b32b4a ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x31d51d48 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3ffad63e ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9931e8f0 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xab24ad1e ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xafced720 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xcf75a735 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdf25b2a9 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xe8534065 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xf56f93d8 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x006d985a saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x08bdd6f9 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0c6f1d03 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x14dfecc6 saa7134_boards +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2f1f106c saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x415469b4 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x52af2c0d saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x605d83c1 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x77e1ac04 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x8d14e22a saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa64aa95e saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xb260315d saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe7df4138 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/soc_camera 0x18d40d6c soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x2f76a4bb soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x368d20ef soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x409ea74e soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x49e67b6d soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xc5cdf726 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x500b8255 soc_mbus_find_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x61871f65 soc_mbus_bytes_per_line +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x7371455d soc_mbus_samples_per_pixel +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xc8b28da5 soc_mbus_config_compatible +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xde30e6b9 soc_mbus_image_size +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xfeaea44b soc_mbus_get_fmtdesc +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x8d233fb8 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xe767d94f tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xf87a256c tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0xb9e990df tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xdf28b317 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4adaf0f3 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x53c9394f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5f96a661 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xab9ada30 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xc22a4d4f v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x5220ce25 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xa0269fc4 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xa073b214 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1fd302f8 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x3d394bfa videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5b2857ef videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x82ee240b videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xc27ca725 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xf4f5b954 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0xd7a414cd vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x0421ecd2 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x06cb3e63 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x089cad7a v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x1529d90e v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x15bbcf30 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x1aca0790 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x1f611f50 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x20ea6af6 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x2a90c159 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x2c19b300 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x2e22958a v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x30302e3e v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x32fab8bd v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x354db50b video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x3735fd81 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x38a28eec video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x40900fd7 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x41eaf502 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x512b1e7a v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x52761b54 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x534ee328 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x5ef15d38 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x6a7881fb v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x6bab89de v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x6e7a0faa __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7d516cb1 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x85d35bd4 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x9e7cf413 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xa21f0d07 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xac5935d2 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xadbd7174 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0xae998cdf v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xb28c42f2 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xb58015e7 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xc0e180e4 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xcc09f08c v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd2c5bac2 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0xd31e2ab0 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xdef4f984 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe058a024 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0xe19dde67 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xe1e73380 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe36e559f v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xf19abd91 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x0d5233ea videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x248e4670 videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x41f05449 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x84514a8f videocodec_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2b3a92ea memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2cfee0e7 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5141094e memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x62ae253c memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5987a36 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xaf79e4e0 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb21311cf memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb545442c memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbcb534f5 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdd58cf42 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe84c3b28 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf3672e95 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xfff672df memstick_next_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1a5e1bb1 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2580d7c5 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x25d1a91f mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x25f6b2b6 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x26e1dd4b mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x33f589a6 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x38757b99 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5755dc0e mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6919765b mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x69894958 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x71deec6e mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74813021 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x88956f90 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8f382a5f mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa19eb88f mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa2a5d5ea mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa5e76b7e mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa72b7e0f mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa7ac433f mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb9e555e2 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0ee95e9 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc4d863ab mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcb0d7fda mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd0a94ee8 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe11ae0f3 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf0fadd56 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf41cd812 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf7b2bb23 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf7bdc523 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x003294cc mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x217c10ed mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x232eeada mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3573f282 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x359acb66 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3c8deeda mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x40d0fd27 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4d48d548 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4d95a003 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4e71b094 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5139b7a7 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x56fcfd7a mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5f09bf74 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x62ec7416 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x670a5a9d mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x74b16202 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8c723c50 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x931e5269 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9771d51e mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x97c7134d mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa5d05e7f mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xaa8763a3 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb941e33a mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc6877ca8 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcf5abc29 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe897adb8 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfe930cc5 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x014f944a i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0441e0bf i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x04b7953c i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0c6bf68a i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0eddf3f4 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x782b5044 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8e2fc9a4 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xaad0bf2d i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xac097737 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb034c200 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb1186663 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb7bc8a9f i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xba675491 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbb3283e1 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbcefaf17 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xccdac68a i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd85f7ecb i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd961ed4d i2o_parm_issue +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x27d72473 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xe3097fc2 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x00daa7b4 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x018ad445 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0f98304e mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x195c00eb mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x378b407b mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x48629490 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x4c89caed mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7bce628b mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9a8bad2a mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9e675ffc mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd35e34c2 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xdb230268 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xefaab487 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/tps6105x 0x0d653a48 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0x108676e1 tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0x1d13e523 tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x63072493 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x6753819c ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x51ea2fb0 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x64d04bd2 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xe8f6208e c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x561a728a ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xff6f7ee8 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x19cdf48c tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x227f25c3 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x42435dba tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x5110425a tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x54da1740 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x6261fafc tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8914aa8d tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x91d2414f tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa0b33879 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc45fe51c tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xdd0d7516 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xee220870 tifm_free_device +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xe4e9348a mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x2d88aecb cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x2e7e70e9 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x399cadff cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x17107906 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x249f0add register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x28426f94 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xf62fe9c7 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xf97896cd mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x0285fdb4 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x27c56501 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x5db10bdd mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0x6e7d9270 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x038231c4 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0x0cb63e6e nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x1fb0c23f nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x499c9744 nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0x4be900f4 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0x4d3d3369 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x8e175cff nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x0b9965d7 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x4f9ae5b5 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x683df8ac nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x047959e0 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x96b67488 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x1204c49e onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x49141003 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x6069f1ba onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x6f33f3f0 onenand_addr +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x099c8799 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x24495d80 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2524ca06 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x42f6e151 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4b1d4b9e arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5626a216 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x71be1cbf arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa2802c80 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbfe35a08 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xca2bf853 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x3aff77c3 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x7d69d329 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xb1ee1236 com20020_found +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0d9a9bc9 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0fcbf154 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x43ffadcf ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7644537d ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9286bc11 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9d6cf9f3 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xd4a782ad __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xd5481c7c ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe48650e7 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xfdff4276 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x0ce1d0ed eip_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x29cd4ade eip_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x543d4e2f eip_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x5edb62f5 eip_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x5ff53ff1 eip_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x6bfc89f4 __alloc_eip_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x7373fbc0 eip_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x99c03fd7 eip_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xd20061b3 NS8390p_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xde9f08cb eip_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xec806577 eip_close +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x3352c2c0 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0xefaa50b6 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x0f4bae4f cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x102374b6 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1961ceb2 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2f8237db cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x30374d40 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x38abab52 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4115bfbf t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4315e7a1 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x442f4bd5 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x666fe1a1 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa02dcde9 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xadc7ba23 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xba2b4f13 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc39780de cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd286e817 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xeaa85336 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfbe5e6b1 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x000d10e1 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0cbde9de cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3c3719fd cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3c81db18 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4b78aa04 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x503ec19f cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x597994be cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5c9eba31 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x680d264f cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x808127e3 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa6b9445d cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb1f57b91 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb919d2d5 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbd4f18f3 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd00e5a36 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdaa610eb cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe014531f cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe40c42e2 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeb28c104 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xebe07614 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfee7af1e cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x2ff33ed7 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xbab62e22 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xe344bcb7 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06c35864 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a1131dc mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1143d474 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f23f9dd mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46ec649a mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66732baf mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80bcd647 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x964d8b82 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xea9c9631 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf66c0a1e mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x0ba2084d hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x209e1247 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x86ed3f67 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x8856054a hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xb3a81ed7 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x01ec2194 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x27868743 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x5c37cea5 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x682f6eb3 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x7af49ad7 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x84c16c90 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x8c5a56bd sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb82cba1d sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd025e435 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf7f8fe37 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/mdio 0x0f934475 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0x22bce513 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio 0x43e4defc mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0x7577f992 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0xa1a29548 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0xb34a7575 mdio45_ethtool_spauseparam_an +EXPORT_SYMBOL drivers/net/mdio 0xc6b1163f mdio45_links_ok +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x306f4ff3 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x558aeebd free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x31b16a0d pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xc36e0916 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe672e3cb pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0x352aee76 sungem_phy_probe +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x38da4725 cycx_intr +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x62be23ea cycx_setup +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x66a4c4e6 cycx_down +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x968458a6 cycx_peek +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xb6f383de cycx_poke +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xfe7cd576 cycx_exec +EXPORT_SYMBOL drivers/net/wan/hdlc 0x36350260 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x510a486e hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x68dbabd2 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x72b749fa hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7abe36ff hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8fcc306e unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9ad53d3d hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb81c0aff alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd0efbe06 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd408423c hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xeab21990 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/z85230 0x0c5947ea z8530_sync_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x10c78988 z8530_dead_port +EXPORT_SYMBOL drivers/net/wan/z85230 0x11ea5ea5 z8530_sync_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x27e99dda z8530_init +EXPORT_SYMBOL drivers/net/wan/z85230 0x2c752490 z8530_nop +EXPORT_SYMBOL drivers/net/wan/z85230 0x33043f25 z8530_sync_txdma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x39a1e0e9 z8530_sync +EXPORT_SYMBOL drivers/net/wan/z85230 0x3e0cc1b0 z8530_shutdown +EXPORT_SYMBOL drivers/net/wan/z85230 0x5cd24d29 z8530_hdlc_kilostream +EXPORT_SYMBOL drivers/net/wan/z85230 0x5f3bdc7c z8530_null_rx +EXPORT_SYMBOL drivers/net/wan/z85230 0x9a5f78fa z8530_sync_dma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0xc0a4a6b6 z8530_queue_xmit +EXPORT_SYMBOL drivers/net/wan/z85230 0xd4ffebf0 z8530_interrupt +EXPORT_SYMBOL drivers/net/wan/z85230 0xdff65d67 z8530_channel_load +EXPORT_SYMBOL drivers/net/wan/z85230 0xe3d80064 z8530_hdlc_kilostream_85230 +EXPORT_SYMBOL drivers/net/wan/z85230 0xf706bea9 z8530_sync_dma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0xf8f78439 z8530_describe +EXPORT_SYMBOL drivers/net/wan/z85230 0xf9944c03 z8530_sync_txdma_open +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x0b826035 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x00c753f3 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x428bb740 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x975984fd init_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1beb0968 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x2932706c ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x35d8c5d9 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x395d4979 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x48e4c811 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x52e4f21f ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7dacb90a ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8340a78d ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa8ed23a2 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc48dac72 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x09996d0b ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x48202fd0 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4bd33109 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x595638c5 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fd1906a ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x995a0655 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xaf1971b1 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xdeb1cc41 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe76bf5bc ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfbf84c1d ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x340a3985 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x72c1c098 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fbab7eb ath9k_cmn_update_ichannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcbc45612 ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe4eae965 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00841ecf ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01e41140 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0380b36a ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x044bfe29 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b5883b6 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x11b880c2 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1380592e ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13bb8d75 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1416cb09 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x145e98d4 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x14e5e256 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x15c7bd38 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1651f0bc ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x168343d0 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18cf39d8 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x20293efd ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21ebc209 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2af3b6c4 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f382910 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2fecacdd ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x34c7db9e ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x361e3d30 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3bb7bc77 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x416b7f1e ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x42cc9cd7 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x465b6a31 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x46a84312 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4a6ea7e6 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c866170 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d8fe497 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4fc0f3e6 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x543bfdff ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5701b9ce ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57efc41f ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59545436 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59d18c56 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b0b3898 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x66a8b6eb ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67c6a2b1 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6ae6f4d0 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x73b13b83 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7a831139 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c4a4eed ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d170670 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7db0747f ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e8c4e3a ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80438c1c ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x86f6cb23 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x89f86936 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c341f2b ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c81fe40 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x911605b6 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x949f5f8f ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9653af07 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x975eb5ec ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x985d5511 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9a0a38d1 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c393309 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9cc74313 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9dc0aa63 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0b68714 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2a2e2e0 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac80c2fe ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad387dba ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xae51d87e ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf5f9124 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb68091d9 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb823140a ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb829604e ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbd06cec3 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc057c264 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc111572a ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3cf4a83 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca7ad71a ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcb5935f6 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xce9b079b ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd396e7cf ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4cf0205 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd64c7e85 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd910b37b ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdaf1f7ca ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdd371f1e ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xde68af3b ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe4461d77 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6447084 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6d60ceb ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7662fa0 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea005a39 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea53dfb5 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xecdad44d ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf58888f5 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf5a93337 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/atmel 0x004777f1 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x2ff4ab03 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xb63e27f7 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x7bfe1561 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x81f746d5 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x096da7f1 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x09f82daf brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x16b42c1d brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x21bcce04 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2394ba31 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x29ef2243 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x50e083f2 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x5a845768 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6fae3ec4 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x72f3f663 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xb2b67f85 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xe148d3dd brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x068f257f hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0bcfec3c hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x105c601d hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x236d6a25 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x279244be hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3240c80a hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x37994849 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4036bace hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x62872dc6 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x677943bb hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x69e42d07 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x81b4e905 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8c09ea9a hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x962d89c4 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa2c8fd9c hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa6db89e4 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb74e2693 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc8c71679 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd53400f7 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd6dff56c hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xda7b610c hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xef65b7bc hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xefc1518f hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf8bb7e3b hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfe5da6cb hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x03e7d55e libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x073f80e3 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0b67dfef libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0eddf297 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x26b6b204 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x27e8dd04 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2b8c726b libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2da12d5f libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x42d0214b libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4e12cf1a libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x55845899 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x565ec34c libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x56f531b7 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5de85b6e free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8e258c77 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9b3cad78 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa52a9626 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa5f5eb6c libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xad39d454 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd43412e1 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd4c5e162 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0246813f il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x04c78869 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0786db7d il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a29e324 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0f4ea345 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x18f8eb99 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1a4e7940 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1c295b6e il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1d04685a il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x23b07886 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x24b25a25 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x24bb57a5 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2cc61f69 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2dcd8360 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2df775b9 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2e7b463b il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x32a369db il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x34dfa3b7 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x354c916e il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3bdb988a il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x43a7e0e2 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4417a36c il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4567b561 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x481d12b0 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x48639b53 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4af6722c il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x51c3562a il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x54014f32 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x57bbb20e il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x58561f9b il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5a20ae26 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5aa93a3e il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5ccbc0b4 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x62a88563 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x634c3f19 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x63c1bb9e il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6422fe1b _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6686ca81 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x69149abc il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x69bbe69c il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6aa5e6ad il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6b3cde0f il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6d634e06 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6ff6723c il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x73bda163 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7b06274c il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7b84e8b6 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7c1a692a il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7dc16971 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7e33e0ec il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x81c5eb74 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x83668a37 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x83d95783 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x859fe488 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8b8268bc il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8c5176ed il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8ddf4da4 il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8e9cae0a il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8f21712f il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9848255f il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x99a5eee0 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9d3e7c05 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9eac7aa3 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9ef29ab1 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa1386f8f il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa4831382 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa750c28c il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xab06c4d7 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xabd3d7aa il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb1bd157f il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb3e87bd1 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb73cb75e il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb81adbdb il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb913876e il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xba3d3dd8 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xba856b80 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb492bf4 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb5ee3eb il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbc63b125 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbd4b44ea il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc0731b75 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc65b1145 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc840a38e il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc8cbcc5d il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd8726e1c il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xda2c13dc il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdc0c1514 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xde8436c1 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdff57db1 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe19f1356 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe2bd95cf il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe64a0c10 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xee70bce9 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf0910215 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf2a86dee il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf326835b il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfb1d5c5c il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfd5d0b52 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x08ee1e7d __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x0d9eb5ff __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x201337b4 __tracepoint_iwlwifi_dev_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x249e4b06 __tracepoint_iwlwifi_dev_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x36dcef55 __tracepoint_iwlwifi_dev_iowrite32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x67381a2a __tracepoint_iwlwifi_dev_ucode_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x7edec07d __tracepoint_iwlwifi_dev_ioread32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x9a12c9c5 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0xc0827b2f __tracepoint_iwlwifi_dev_iowrite8 +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x12f9fc15 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1bd7dd0d orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x288fdeb6 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x2ded71fa orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x45b11479 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4f0f3007 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x511b0886 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5126c309 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x75c18034 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x7f452cf4 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x800135cc __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x83804551 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x926605a9 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9d0b87b4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9f9297c6 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa5495cab orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc17ed1fd orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x07fa7c43 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0d01d75b _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1296aedb _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x19625685 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1a0cced5 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1ea572c9 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2306f404 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2556b3c7 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2831b6a9 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2c073549 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2cd982e5 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3e452ee2 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x40fa4478 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4bd0cdb5 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4e0af054 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5893f282 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5c87c435 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x65ea675d rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6a6209aa rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x71b9a65b rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7a51a3de _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x903dd599 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x909df4db rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa1da8ec8 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa7b6fd61 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb0ae4bfb rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb97e3afd rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbb7f5762 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbbaf9480 _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbe9f2057 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbf41b5ba rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc42de8b6 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc7d4eb6f rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd5fc98a5 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdac9c8ca rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe2a06b89 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xecbad54d rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf261667d _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf582a4fe rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf602755b _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xfcb79f92 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xfd5525c7 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x013c2d7e rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x065ad117 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x19b05dda rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2bdd4460 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2d2a9358 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x4347051c rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x4ab84959 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x515bf1d9 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x52e88bd9 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x57b7de74 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x61056e4d rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6234d341 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x67dd086c rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8f26eba7 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8fb69986 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x91e3acf4 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9af82074 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa3a0cded rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa596067a rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa86ce820 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd1045281 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd28337cc rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd88e0236 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe8eabe83 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x478bbee9 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xa43fbaa2 wl1271_tx_complete +EXPORT_SYMBOL drivers/parport/parport 0x1265e328 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x20e17324 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x256f7d10 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x296321df parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3dac9c5e parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x46f4735f parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x470cab06 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x4c49e2bb parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4e66fafc parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x597f2d5a parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x5a215206 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x5c234310 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x60c81c85 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x63c7c9bb parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x7910dc02 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x92ea6ff2 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x98009e46 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xa1bb6f00 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xa5514ec9 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xa864dac3 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xc13245bf parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xccbf726e parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xce98eef7 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xea447bc7 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xea5de4bd parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xeac7e6ca parport_release +EXPORT_SYMBOL drivers/parport/parport 0xed89902f parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xf1c892dd parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xf919e9fa parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xf9aa06bb parport_remove_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x19c24246 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xa43434cc parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x055e3ff3 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0b6b82ec __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x101b46d7 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2ac3e963 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2c330275 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x38054510 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x41cb6cde pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5f709370 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x61a1ed35 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x68ab8777 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6b640063 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9b5ad1b5 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9db23bb1 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb95373dd pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbb18efaf pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbc140518 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe9416da2 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf70516f3 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfa7f50e0 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2ef5fd9a pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x66e9ccca pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x73a1c71c pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x848165f4 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa2aa1e2d pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xaa2a8638 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbad52b21 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbaf7df90 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd1c5e4f6 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf720a887 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfa546345 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x1f07b039 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x6794e233 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/x86/intel_ips 0xbed13272 i915_hsw_enabled +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x48e3bbac pps_event +EXPORT_SYMBOL drivers/pps/pps_core 0xcc0a022b pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6179f1b pps_unregister_source +EXPORT_SYMBOL drivers/scsi/53c700 0x3d9cece0 NCR_700_intr +EXPORT_SYMBOL drivers/scsi/53c700 0xd0d6bef9 NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0xdf682fa5 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0xd11fbef0 bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x07bd8834 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3226c08e fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4dc10449 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8a72df0a fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x94d7af2f fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc3982644 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc693a86d fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc6f462aa fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xcd11f719 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd31f78da fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xedaf9771 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13c006ca fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x168ccf96 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e238b15 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x21f544b9 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25b0a1a1 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x270a589f fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f6fba55 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x34bf183f fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3a20e2d3 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3afdb861 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3b9aa63e fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43c60125 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x473f7500 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x47d5f127 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x59a833f0 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b47e969 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6f637ebf fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6fa4c37a fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7616f652 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x762e9714 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cb68d9d fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cd31a4e fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x87bc88c8 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8945281d fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x897d089d fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x901caebc fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9c7845a1 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa01db5a9 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa0b21325 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa582842f fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa612af46 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa97d4af5 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3d7f709 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb7a20c5f fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbc58d311 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbfa667b3 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc2f6dbeb fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc5e8fe7d fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc6074929 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc8010900 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcba87c36 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc9f35e1 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xceba4242 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4055e5c _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe35b2458 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed7efc65 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xede548b0 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf5e741ed libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfc5bd638 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfcb6adb5 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x0114c754 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x2250c66e mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x512c956d mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x072565e1 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0e6d7a48 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1214fe94 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x196ccbff osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1af5f738 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1b395de7 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x21a73d62 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2a811d99 osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2e4520ba osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x341f49db osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3c2252f4 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x47d86852 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4bdc4000 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x568eec61 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x57ab2c16 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x63d0b386 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x667606e5 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6a3976eb osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6b77f805 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6cb9a202 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6cfd77dd osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6fffeb5f osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7560898f osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7e318a86 osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8143bb9e osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x86e2483f osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa0a265a8 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb17eef96 osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd22af1af osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdea03285 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe5dfeec2 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe932cf94 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xea7c617b osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xebf16cec osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf1770bf9 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfbbf372e osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/osd 0x15f9dbf4 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x27d23057 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x3073f383 osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x3e067803 osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x645d400c osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xce09cc66 osduld_device_info +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x05cdaa23 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1e6a64d7 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x24f62c00 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x2769fe1a qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5bafee4a qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7ceceeba qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7e117a4a qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x816e9b29 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8b527da0 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x90e3368c qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x96392fd5 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3b427157 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x60dcdbc6 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x8fc39291 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x92ead881 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xb8e96850 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xff0431dd qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/raid_class 0x3c1cbfc2 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x8f6c5a12 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xd157830a raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x09cb4e3b fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1f7fe67c fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4a4a7b16 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x65574c7f fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6582960b scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x681825e5 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x71b5841e fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9f42921e fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa7086160 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb14fad76 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbbdea291 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc065085c fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe3c82057 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x08952d70 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x11835f25 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x180ad656 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1c14b82d sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x33f59c1c sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x35928993 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x39bd0eb5 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x479210c6 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4980bbf3 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x56c764b7 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6b8d09b9 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7cc47d2e sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8c9b1301 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8f1faceb scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8f7241c4 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x959eae52 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa5c46e63 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaca6a86d sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb998104e sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc11de259 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc19b024f sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcc146ecd scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd09f4796 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd1979ef8 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd5066056 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf479d65d sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf6cc01b9 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf75f38dd sas_phy_alloc +EXPORT_SYMBOL drivers/ssb/ssb 0x0cb8bc71 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x0f490ef9 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x1644c089 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1bc3d60e ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x2736e98a ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x28979c35 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x49c8937c ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x56d37744 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x688766fc ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x725bb161 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x75942175 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7fcd5146 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xa099a27e ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xab42d559 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xac43b637 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xb522fb07 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc8d28ffc ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xcfd9f121 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xedca4be4 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xf39b25c5 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xff060505 ssb_dma_translation +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x291c1c5c comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2a0cec9f comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x33972824 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x38c4b05d comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x44227652 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x51af2b6e comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x698cf08c comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x70020ec9 comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x7f5f9328 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xadce356a comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xcc402577 comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd855dcc8 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdeae48aa comedi_check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xf82d03c0 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xfad4b2cf comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x1339af16 subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x34a165a5 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x94f03806 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xda618f82 subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x33f80c37 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x436a4fda cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x8e9b32b3 cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x152df943 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x166733ee mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x183f8372 mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x37d0aeaa mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x47947d08 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x60a9d3a9 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x88c58471 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x93d3179e mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa691770d mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb18731b5 mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb7d8037e mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xbd10717d mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xca73b5b5 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xcc6ef58c mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xd59a7bda mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xd5bb9a40 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe397c43c mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe4f2598f mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xec15c745 mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfde44942 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x64ccf37b subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x85cc1bf2 subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xdac0e7e3 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xe33ae97a subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0xce767248 comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1953751a comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x96cf54da comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb7505b0f comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xbe307a82 comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xef64bc37 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xfb5e5236 comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x3b1cb667 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xcc89c12e adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x7bfcd151 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x90762fef ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x42f0d419 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x566b259e iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x118ddff2 cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x081ca743 go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x13410041 go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x25e0b260 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x489f0e48 go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x53dcfcae go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x6829a6c2 go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xa68c5477 go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xcfc69cd7 go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xd9eca5fb go7007_remove +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x048b6145 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x06aa10a0 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x086df9bd rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0a96d84c Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0f24c59f rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x13d9394f rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1ac8c268 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1ff1d5f4 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x26056984 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x31b6e969 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3b147d67 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4b958825 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4fc94cd8 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x528689bb rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5d49b9ad rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x60040f80 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x62c51aeb rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x691de63b rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6e99de60 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7b90acd5 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7cf5213a rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8678c43e rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x88a172c4 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8e3fcd58 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x90371fc2 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x91cdcb09 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x927ae85a rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x97d6791a rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9b49abeb rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa6144da2 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa8a8a11b rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaa2a9dcd dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xad462a35 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb181c6ab rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb198d8f6 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb466d5c9 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc04958ae rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc616f43f rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xca6eb5c2 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcbe6fc74 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd69aceb4 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd6fff776 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdaf71fe7 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xde0afb83 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe1e30ebf rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe2c7506f rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xece3cf35 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf1f5da42 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf508b419 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf7f00f9b rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0702da51 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x08e27d54 Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0d636e07 Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x11999bf4 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x119df3a2 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x157902bf ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x213e8596 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x220bebdf DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x22c1898f ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x22da105a ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28125cb6 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28de33ee ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2ae72467 Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2b1748d2 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3cbb989d ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x443e8333 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x53d423b8 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5a197b30 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5b128737 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6175241e ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x644cc6a8 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x65f27910 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6962654c ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c32c8b5 ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c60bf52 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x733a874e ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x73d330aa ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x794f09dd SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c6b24c2 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7f98200b ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8a4a2a1e ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8b599821 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8f94756b ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8fdec2a2 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x912d57ae ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x97573214 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9aa82136 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9c327966 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa5d7ec56 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa6415c2c ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa9e009b5 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb1c95d9f ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb26f6fbb ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb54d62dd IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbc86d0d9 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbf1801fd ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc3a01219 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcbe64a19 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcbf87ddb ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd12362df ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdef2c7a9 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe7220513 DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecae8901 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf35b155d HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf39af34b ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf5596e28 ToLegalChannel +EXPORT_SYMBOL drivers/staging/telephony/ixj 0xbe3fa0ad ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xd0862f1f phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xdeabd664 phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x008d8c33 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0944cf2b core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x0a273ae3 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x110cfdb1 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x17c2e9a7 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x191b10c0 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1b8906e9 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x1c8745c5 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f488963 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x21977cd0 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x271be1cd transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d62dbbd sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x38a41401 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3f76d082 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x40e82aa7 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x42aabd41 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x43830850 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x43a590d0 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x48c3d7af target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x49903da8 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4c821aa5 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e16ceb7 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x53d020f8 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x577314bf transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d785998 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d9a248d core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x6132ab4f target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x7182a3ed transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0x71886fda iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x736cfd17 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x79eb4975 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a631959 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x7da72bdc target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x7e27b4a6 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x80c738fd sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x847dc903 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x878e755f transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x87d30a1f transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x88a01ef0 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x8a520e2f sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x8fb00cfa target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x90ae5309 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x917af5e0 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x91daf0b8 core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x93252691 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x9536ab45 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x970304c0 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x9904755a transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa01da678 target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0xbaca4cee transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xbe086788 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xbf6d09e1 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xc1d55ec7 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0xc403d6c9 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0xd5ec24c7 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0xd94d7b70 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xd999a8bb iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xe025c092 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xe9463479 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf2c8c723 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfcee3604 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xb60ba95f usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x32cd1af7 sl811h_driver +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x02c70d3e usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0d9bf1d5 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x17f20725 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1c5fc5df usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x60f807aa usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x79f49209 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x89333e77 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8a49841d usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x94dacee7 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa29e0997 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xaf8c8bda usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc701d461 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdeacb8bf usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe8412573 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf90b926a usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x8ca68912 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xe6f31510 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x86a97cd1 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xd79033b0 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x3883787f cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0xbe3a03ff mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x1f2d2a96 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x26565838 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xc63b749b matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x733c71ad matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x7345f7ae DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x89dc69bc matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xc42ad675 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x6f77de73 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x2b4acf17 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x31408fef matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x5ab1cdae matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6e9daa49 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x83217461 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x2a410d2b matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x996c0aa9 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x244bc1a5 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x2e2bb42b matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x415ddb87 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x466291ad matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xe45d1119 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0x4b3ff1c6 mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x0badeb27 video_output_register +EXPORT_SYMBOL drivers/video/output 0xf36748ae video_output_unregister +EXPORT_SYMBOL drivers/video/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/sis/sisfb 0x454a3cf0 sis_free +EXPORT_SYMBOL drivers/video/svgalib 0x0596ac4d svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x33b6d721 svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x520bee10 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x6fcd60d3 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0xb7b712ce svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xc2cd8944 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xd1429fca svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe83601f7 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/svgalib 0xf2db5956 svga_match_format +EXPORT_SYMBOL drivers/video/syscopyarea 0x0f6b2353 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xdb133574 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x086e9580 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/vme/vme 0x0423ad14 vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/vme/vme 0x085145be vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0x0c2350fa vme_unregister_bridge +EXPORT_SYMBOL drivers/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/vme/vme 0x1a866147 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x299fd423 vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0x2df7f323 vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0x3e95083c vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x41862ad4 vme_alloc_consistent +EXPORT_SYMBOL drivers/vme/vme 0x46649cd1 vme_lm_set +EXPORT_SYMBOL drivers/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/vme/vme 0x493dca22 vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x54ed432e vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x5c25a1db vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0x5fcaa8fc vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x6c451543 vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0x77a01438 vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0x7cb3ac3e vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x8f4678b6 vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0x90695906 vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x93bbe2be vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xc83f51cf vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0xcf729181 vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0xd797b9a5 vme_master_write +EXPORT_SYMBOL drivers/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/vme/vme 0xe693a6ce vme_get_size +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/vme/vme 0xfd73a521 vme_dma_list_exec +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x362f9d46 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4c2ca7a7 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xd7a6b6a6 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xe2413087 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x9ee22714 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xbd924e78 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xdeba42f9 w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x269b2dd6 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x722dbead w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xf4739106 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x2c8f5216 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x7534b812 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x847fc8b2 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xfe9eacb7 w1_add_master_device +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xb5f20875 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xc4f657bf iTCO_vendor_pre_stop +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xdc6effc9 iTCO_vendor_pre_start +EXPORT_SYMBOL fs/btrfs/btrfs 0x013333ed ulist_alloc +EXPORT_SYMBOL fs/btrfs/btrfs 0x2e965c58 ulist_add +EXPORT_SYMBOL fs/btrfs/btrfs 0x42d57ce9 ulist_reinit +EXPORT_SYMBOL fs/btrfs/btrfs 0x58cbfcc2 ulist_free +EXPORT_SYMBOL fs/btrfs/btrfs 0x8ab177c0 ulist_init +EXPORT_SYMBOL fs/btrfs/btrfs 0x8e313eff ulist_next +EXPORT_SYMBOL fs/btrfs/btrfs 0xccdd7b95 ulist_fini +EXPORT_SYMBOL fs/configfs/configfs 0x1a3c8d9d config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x27bdf9aa config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x2d52a193 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x5651248b configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x57068799 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x648cdf7a config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x788d0ad6 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x7f37c158 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x923c7907 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xbd1f3cc1 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xd9531c0f config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xeaa30859 config_group_find_item +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x23fb5fa7 ore_remove +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x4e0b1b68 ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0x55388865 ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0x7452f922 extract_attr_from_ios +EXPORT_SYMBOL fs/exofs/libore 0x9301b8f7 ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xac0246c9 ore_write +EXPORT_SYMBOL fs/exofs/libore 0xb488e6f3 ore_read +EXPORT_SYMBOL fs/exofs/libore 0xca89eb85 ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0xd34a7ffd ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0xed33762e ore_create +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x08e29db5 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x0baca638 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x102bb67f __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x16eb9f54 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x1ee1bc30 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2ac0734a fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x2ea14e05 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x30623202 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x31f9b652 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x3e86770b __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4c9a5d5b __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x545717d8 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5ebd5383 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x7fd62d02 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8c5648e4 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xac8469fa __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xafa43846 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xb5948de8 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xb9c99dcf fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xc7a666f9 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0xcec2c640 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xd034eef6 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xd16b59b2 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xd4e4ac4a fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xd791a5fb fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xe90ebf55 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xfe73a559 fscache_fsdef_index +EXPORT_SYMBOL fs/nfsd/nfsd 0x0c8d6829 nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/nfsd/nfsd 0xcbb738be nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x0c38dfe6 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x15b021c9 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x5d20b9e6 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x7da53e70 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xee2a4e38 qtree_write_dquot +EXPORT_SYMBOL lib/cordic 0x434bfd07 cordic_calc_iq +EXPORT_SYMBOL lib/crc-ccitt 0x3771b461 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-itu-t 0xf5b4a948 crc_itu_t +EXPORT_SYMBOL lib/crc7 0xa7587646 crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/crc8 0x41248eaf crc8 +EXPORT_SYMBOL lib/crc8 0xab9ad613 crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xd4534d80 crc8_populate_msb +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +EXPORT_SYMBOL lib/lru_cache 0x01c12d25 lc_create +EXPORT_SYMBOL lib/lru_cache 0x14568a91 lc_reset +EXPORT_SYMBOL lib/lru_cache 0x21b1fcae lc_changed +EXPORT_SYMBOL lib/lru_cache 0x377393cc lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x630520f6 lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x89481a05 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x9cf5bf99 lc_find +EXPORT_SYMBOL lib/lru_cache 0xa46768b2 lc_put +EXPORT_SYMBOL lib/lru_cache 0xa919e51e lc_get +EXPORT_SYMBOL lib/lru_cache 0xbd0caa74 lc_index_of +EXPORT_SYMBOL lib/lru_cache 0xd8c60796 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xdb24e5ce lc_del +EXPORT_SYMBOL lib/lru_cache 0xf2b5c7bd lc_try_get +EXPORT_SYMBOL lib/lru_cache 0xfaa4f792 lc_set +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd9e91f83 raid6_vgfmul +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x315c65fd zlib_deflateInit2 +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x48034724 zlib_deflateReset +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xaf64ad0d zlib_deflate +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8022 0x6735627e register_8022_client +EXPORT_SYMBOL net/802/p8022 0xac621e5d unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x26f723f1 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xd111d86f destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x1828bec4 register_snap_client +EXPORT_SYMBOL net/802/psnap 0x482f8c43 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x030b1b00 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x1405ab1b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x1890c49b v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x1e2e5620 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x2b01c8ff p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x38d210f6 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3f7b01d6 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x40220b15 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4e2af1f7 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x58dd43d5 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x58e81132 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x5ccf6252 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x61d3cf20 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x667f3704 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x6841eeca p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x6ad45ed1 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x6bc3a67f p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x79ca02d0 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x8365beb1 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8b8d5ec7 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x8bb02cd3 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x932853b8 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x984d8be1 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x9b62735a p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa04c8222 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xa37f1553 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xa5aa3586 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xa70517a8 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xbf1c7bfd p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc0cea5ac p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc925d62f v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xcf704a93 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xd370770d p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd8eda45e p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0xe01ee8c0 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xe33b36da p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe5e95a8c p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf4de2cc7 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xf4f13cf4 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfb7166f2 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xfb9bb788 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xfcc41e67 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x81103b65 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x8faf6ffe atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x9eb8a44e atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xc23e011a alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x14705d85 atm_charge +EXPORT_SYMBOL net/atm/atm 0x1a800a71 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2fc60a43 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x78bdadf6 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x8fa8ea66 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x93136f41 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x969c289f atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xad152f65 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xbf6a1729 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xc0c89cc9 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xc38bc6ba vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xdf20a9e6 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0xe9ea107c vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xea78e230 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfa156245 atm_dev_deregister +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x0b821cc0 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x259c5954 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x3eea1f02 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x40b13ff7 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9727bf66 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x9a6a6487 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xbddf2f51 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xd5bd3279 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xd81bc19d ax25_send_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1018cdbf bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1470d0b4 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x15d45af6 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1a78377c bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x21dec07d hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2687a79c hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2b18b26d hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2c018d9b hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x33522acf bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x34338973 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x35966680 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3762b2a9 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x39a348f0 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3b31d647 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3e9e2f4b bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x419ebb91 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x45e63daf bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d7b7fd6 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x62ba3bea hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6470cc02 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6530495d hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x808d5c64 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x855677de bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8ea93eb6 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8edee263 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fd7083e bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x97f402ae hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa0dcdd09 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa8c7b50f hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb2b83c04 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb5be5dc0 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0938c26 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd1fb4a65 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd3ec58bc hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe191f57c bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe2e234a8 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xedd94745 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xefeb0929 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bridge/bridge 0xf316aeab br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x03ad541a ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2c4b1327 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc70594dd ebt_register_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x17f8eb9a caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x1cb76a5d cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x680324d1 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x6a44fc70 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x7f6eded9 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x89641474 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x966d7de2 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/can/can 0x2e095573 can_rx_register +EXPORT_SYMBOL net/can/can 0xa361c0de can_proto_unregister +EXPORT_SYMBOL net/can/can 0xa56c3399 can_ioctl +EXPORT_SYMBOL net/can/can 0xa8922593 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xc534c114 can_proto_register +EXPORT_SYMBOL net/can/can 0xe09d328b can_send +EXPORT_SYMBOL net/ceph/libceph 0x03634419 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x042dcf0c ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x09f61716 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x11e3f419 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x159b6e27 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x16656d02 ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x19ed71a7 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x2071f0e1 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x28da5418 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x3062b2b5 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x34a64292 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3baccad9 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x3cc9283f ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x3e3726f0 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x3ec3fd9c ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x3fa2a84b ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x468d6ee3 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5f84cddc ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x5f900eab ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x63706fc1 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6bc35793 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x6d2d06a1 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x6ed41be2 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x70c75099 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x72e01ae5 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x77692acb ceph_msg_last_put +EXPORT_SYMBOL net/ceph/libceph 0x788410e0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x82fc18c9 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x859acf43 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x87d47220 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x95531134 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0x9f844daf ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xa08a0a37 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xa0fc7657 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xa3b33dc4 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa409e8ad ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb50437a5 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb7dd446c ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xbf63821b ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xc068ac53 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xc07ebbbf ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xcf09e834 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xcf690995 ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd61aa568 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xd635bda8 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xd79c7262 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0xe60d1543 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xea60ef98 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xeb11023b ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xeb1192f0 ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xf4ec8225 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xf6c3238c ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xde2bbab3 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x0275d303 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x1480ad96 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x1eb568a3 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x22712254 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3b02d359 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5584622f ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7e1a07ca ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x86dadbe9 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb98e6dec ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xcad5c298 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xcf784ea8 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd4117b4c wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd6c26861 wpan_phy_for_each +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x39b7cfaa arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x76593f38 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xbdd4c27b arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3e672e32 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9526b11f ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xb07ef8ca ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x1194681a nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x36201de9 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x49e6b1b8 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x73a5c46b nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xaca8e021 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb6db9165 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb80894a7 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/tunnel4 0x13c5d9a8 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xcb353f45 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x1aee5ae8 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x2db0a718 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x5234d8ce ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xaeadfd64 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x2c517b38 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xe80d0425 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x6cd2cd4d xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xcb331c2f xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x08c0be27 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x24ef802b ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2f1598bb ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x336089b2 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x53607e7d ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x95a01315 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb7650413 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe90edbfb ircomm_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x00a17025 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x01dbeb0e irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x02499743 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x042a7318 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0bab6037 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x0d2a32a1 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x10573f67 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x22ee06aa irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x23a2eee7 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x29092e4a irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x2c172ae0 irlap_open +EXPORT_SYMBOL net/irda/irda 0x359de411 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3b0a2ab6 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x3b9bdefe irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x3ee41ae3 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x3f900fa1 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x428321fa hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x48d17824 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x4e72dfc6 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x51b76278 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x62acf28c irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x648c7478 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6b1dd844 iriap_close +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7d54adaf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x7fa4405b irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x7ff509a2 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x822202cd irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x8cd99be0 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x918db506 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9dc65fa4 irlap_close +EXPORT_SYMBOL net/irda/irda 0x9e326eb3 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x9fc54095 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xa370c681 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xa59af926 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xb0096fc3 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbd24d35a proc_irda +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xc0bee29c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xc640015d irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xd644ffb2 irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xddf3b9dc iriap_open +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe6229893 irttp_dup +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xeed97ac1 irttp_data_request +EXPORT_SYMBOL net/l2tp/l2tp_core 0x6d2fdf3b l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x0210d978 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x121efe01 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x18822f6c lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x69e1d918 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x907719b6 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xc602f381 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xd0c2c0ed lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xf777bccd lapb_data_received +EXPORT_SYMBOL net/llc/llc 0x2355cff6 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x39a6e152 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x47cae8ad llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x6b298f28 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xca2515a4 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xd0758966 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xd629316a llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xf7d7ab4c llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/mac80211/mac80211 0x036e1bc5 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x04d6616e ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x061c1483 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x069fdf37 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x11df44b2 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x12456a4e ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x124e2e5f ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x15a764f7 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1b36b22e ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x259b6567 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x26f92a67 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x298e4885 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x2ca5a1e4 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x31151531 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x3d78ae23 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x4381504a ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x4752d2dd ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4999c1c8 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x4cd2fc2e ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x4d766d2a ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x53b83c80 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x56a99555 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x56b11c43 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5ec31e2c ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x5fd95641 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x649076d5 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x672b84eb ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x6ea712f4 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x82b20fa8 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x876a17ea ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x8bcc8241 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x8d639dfe wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x90259604 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x9185a304 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x98d49f03 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa2262c0e ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xa3edc92b __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa9548408 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xb18b1457 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xb2295241 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xb5e0a2c2 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xb5e2027c ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xb85d5c6a ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb972eec0 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xba5c9aee __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xbb6eaafa ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc4afa8da ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xc8ff3e20 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc9211536 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xccc44618 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xd15ff91c ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xd55a5962 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xd5d8dd23 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xd726e7fd ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xd984a091 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd9e51bae ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xdc9fae18 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xdea425e9 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xdfee1875 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe5b0a4e5 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x19a3258e register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3b1a3ea2 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x40249409 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x426dbcf4 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x56bfff1a ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x593a50fa ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x769ec9f1 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9b5ab371 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc30095a8 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc6dbd89d register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd1b75092 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd59460b8 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe9aaed2b ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfb1cce48 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x8c7a461f __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9bff2eac nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9fe6287f __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x2aa72458 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x0fd4bb2f xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x12b8a574 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x2ed6c182 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x36057fb1 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x3e131380 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x5dd35257 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x771182e0 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xb5f104d7 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xcff71f6d xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xef680481 xt_register_match +EXPORT_SYMBOL net/nfc/hci/hci 0x07b51a8e nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x10a4c373 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x14cce3ea nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x1df8e652 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x39022364 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x438b576e nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x50c9c058 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x77843212 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x79848d70 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x8d9ecf4e nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x94fd672e nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x96941e47 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x9dfa91ab nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xb3659e8b nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc55df965 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xc9b13fe4 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xea4d201a nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0xf76a7340 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xfcf79c34 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0xfd75da38 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xffc005bc nfc_shdlc_free +EXPORT_SYMBOL net/nfc/nci/nci 0x0472152f nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x130b2472 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x83f6fb95 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xe6d1fb04 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xe6d99137 nci_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x1f8ae95c nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x345c7f47 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x4cb8a90b nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x5640a974 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x7a3cf6cc nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x9242a559 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xa62a1531 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xb7a6a6fe nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xbe230bc1 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xd0893f61 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xdb4af13b nfc_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x4a046bb8 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x85f09b08 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x889eba22 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x8a650b07 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x8d26c6ec pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x960400c1 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xe84268c3 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xedd8a647 pn_sock_hash +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x08139f2d rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0977ea9f rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x235047f2 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x38102311 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4c5ce618 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x615afeb8 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6838ae06 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x86ea270f rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x966a17c0 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x9792a19e rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb4e88b52 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb74a31cd rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd2f5c5cc rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd8324858 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf0df7901 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/sctp/sctp 0xca6ec0e6 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x30fd85f6 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x75d390d7 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x285c03ca wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x8a9896a8 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x03e07a1c cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x07b7253e cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0903cff1 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0d4b4f53 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x0f806f80 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x13700cad cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x20fc7e97 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x22ea5d69 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x23b49719 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x39d585d9 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3d889c4a cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x442a5976 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x4b2edd88 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x56dce3e9 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x57b95712 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x57ee0a75 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x59c2ff60 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x60ac864f cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x660ef941 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6befb054 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x6c484e37 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x7a8c2dab cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x7e884f83 __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x80b808a9 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8282e93a cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x89d7aa3c cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x8b33a1e3 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x8ec3f625 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x95ac1cdc wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x985e2463 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x99a496f1 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x9e9efd8d wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0xa05427c6 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa90c02d5 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xa98547bb cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb476157b cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb7a3f59b wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xbbcf0f02 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc7e6a511 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xc8323bea wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xc9f09ae9 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xce257981 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xd19a96a2 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xd881753b cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xd9031060 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xd997ca7e cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe6db2b14 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xe70aef92 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xe8653e7f cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0xeae331f6 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xebaa8eda freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xed63d684 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xedd809be cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xf2e3a7b0 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xf74daae4 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xf7fc7374 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xfc49f5e2 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xfc541ae2 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xfc7ca4db cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xfda24f2b cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xffe312da ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/lib80211 0x27316e27 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x6012eaf7 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x61afe26c lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xc1c44949 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xc78596a9 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xd83f1d09 lib80211_crypt_info_free +EXPORT_SYMBOL sound/ac97_bus 0x23410f77 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x32de6e92 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x9092f99e snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xaf674f3f snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcaff0600 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xd268b48c snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x27ef499a snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xec5b4db1 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf0a1fdb3 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x2b51b084 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x350963b4 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7f62d029 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x83914b9a snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x92ee6bb0 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9e7d3f0f snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xbc141dfc snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xf2bf1549 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x89a6d2c2 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x002d16cf snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x03524c47 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x036450c2 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x04f37ae0 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x072e2cee snd_device_register +EXPORT_SYMBOL sound/core/snd 0x18546bc8 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1b9b2620 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x21086dc9 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x2228a30d snd_card_register +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x29964dec snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2c4c7679 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x3902ab3a snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x4f773e39 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x515c0ca2 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x58715681 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x5c1211e4 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x5ca04e8f snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x709bfb9d snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x7448bc1e snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x76678417 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x769e822e snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x7baa23b4 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x7cdf7569 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x7d60988f snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x7f427c58 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x80dcf3cc snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x84d77415 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x8549a95a _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x90cd7f2d snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x90ebf5e2 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x93f92856 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x9ca7a1fa snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xa4db641c snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xa4f2f9b7 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xa9898af2 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xaef6275e snd_component_add +EXPORT_SYMBOL sound/core/snd 0xb048bafc snd_cards +EXPORT_SYMBOL sound/core/snd 0xb13332db snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb401539c snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xb56f76ef snd_card_unref +EXPORT_SYMBOL sound/core/snd 0xbaa2fc50 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xbf54657c snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd07354da snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xd40c2a57 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xe33b291f snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xf58014ed snd_device_new +EXPORT_SYMBOL sound/core/snd 0xfa95c4e6 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xfd70bdb9 snd_card_set_id +EXPORT_SYMBOL sound/core/snd-hwdep 0xb00cb114 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3a8998ac snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x68a41745 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x789f3af1 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8d7eeed7 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x976139fe snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x02c6a003 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0d66bcaf snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x10ec0acb snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x14680dea snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x240a06ed snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x25479e00 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x26c2b7c3 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x31c9d600 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x31f278eb snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x38b09128 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3bfccb37 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x3ff4ec22 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x4071cbc2 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x47bd6c0f snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x50895360 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x513117d0 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x519faf86 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x55c47fca snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x591f71c2 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69a07294 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x69a8d2e2 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x6bc786b8 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x86f9aaef snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x90361bb6 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xa0e86de2 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xa357f732 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xa587e757 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa88053c0 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xa9adc229 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xb4e1560b snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xb6d3e95d snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xb826f85d snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xc553247d snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xce2e1d9f _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xd09f93a8 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xd3d71f97 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0xd47bef2f snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xdb0dd0d0 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xdcdc674f snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0xe24da82c snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xee44a1d1 snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0xf0d9cc41 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf51645a5 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0xfe672e54 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xff1b6fdf snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-rawmidi 0x145495e1 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4375dd8f snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x46730380 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x566ba68d snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x63ca257d snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7a883958 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x85936704 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xabeb7c25 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb67c9397 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbb4261be snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc16e7bbf snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe2f50104 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe415aa9b snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe80723b0 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf3e797ae snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf983f8d0 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfe9fa3a1 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-timer 0x290a0355 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x2adc6b18 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x3d35700f snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x4c252a8a snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x51de52d7 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x65196f59 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xaead0d37 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xb290bfec snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xbdc1414b snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xf8fee741 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xfbc548a2 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xfca12370 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xfd312114 snd_timer_close +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x48277df7 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x0e0210c3 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x21fb6c97 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x42a7ee67 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x677e4377 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x71da92b5 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x727de335 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x813ce997 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xcd88c7b5 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xde592e50 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x500f2653 snd_opl4_write +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x59d467fa snd_opl4_write_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x725e4af3 snd_opl4_read +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xcaebcf36 snd_opl4_create +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xf5085e3e snd_opl4_read_memory +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x008f74a9 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x036d359b snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3ecf937d snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb659b53b snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc104e9ce snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc37c58b1 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc6030a00 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd8bb1575 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xfdf5709a snd_vx_dsp_load +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x010acd87 amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x07c150a0 amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1e843689 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2fb4b593 amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2fe37d26 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x366ede40 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x45288917 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x526be03b amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7887cbee fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7eb6dced snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x80bc8b89 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x85e673ce amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8dadd280 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8eddbbc2 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x96d17971 amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x989e2c59 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa9f6a42a iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb2849265 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xccbc9584 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd0fe2f72 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd3033726 amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdf05f061 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdff8b0ca amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe40a78c4 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe4ef2aab fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf9ce82e2 amdtp_out_stream_start +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x734b77d5 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x90b4d72b snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x9de1976f snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa6caa11b snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xcc4dfaad snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xe632bef0 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x1780ca45 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x6935b84c snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x75afafda snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x866231ab snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x8aaf5dc3 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xba345b05 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x974c5197 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xb66a734b snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbbb6591f snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xe4527b1e snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x27216164 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x4ea814ee snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x15a1d12e snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x90fd647e snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x120221bf snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x235dcac4 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x9a17aa79 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xa25729d9 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xec7d3830 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0fab0980 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4928b51d snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6b06af48 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc1540688 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd62a5f69 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf18adc79 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x0bbe5d19 snd_tea6330t_detect +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x3bfec72f snd_tea6330t_update_mixer +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x1885cb0d snd_es1688_reset +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x64bdc82c snd_es1688_create +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x66112e44 snd_es1688_mixer_write +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xac0da64b snd_es1688_mixer +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xe262e938 snd_es1688_pcm +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1c1ce117 snd_gus_interrupt +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x224cdfea snd_gus_create +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2b3c25ef snd_gf1_i_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x390c0e6f snd_gf1_i_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x459659eb snd_gus_use_dec +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46db8d67 snd_gf1_lvol_to_gvol_raw +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x49db8bf1 snd_gf1_rawmidi_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x5b738f19 snd_gf1_write16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x5ccab84c snd_gf1_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x6533b9d6 snd_gus_initialize +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x76d2ecc3 snd_gf1_pcm_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7afb9902 snd_gus_use_inc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7f0608ac snd_gf1_delay +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x80f1570d snd_gf1_dram_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x87095249 snd_gf1_mem_free +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8ef6aa92 snd_gf1_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x92d1d7b4 snd_gf1_ctrl_stop +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x9c799bd7 snd_gf1_peek +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xa4cba69c snd_gf1_new_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xa7c23b88 snd_gf1_poke +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xae04d879 snd_gus_dram_write +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb00dad12 snd_gf1_i_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb05d3b1e snd_gf1_write_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xbc33ca01 snd_gf1_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc43a5527 snd_gf1_atten_table +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xca79b400 snd_gf1_mem_xfree +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xcc25468b snd_gf1_stop_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xd49e359b snd_gf1_translate_freq +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xe05b8955 snd_gf1_mem_alloc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xed7fd261 snd_gf1_mem_lock +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xefefe7a0 snd_gf1_alloc_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xf0e754d3 snd_gf1_free_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xf7c7fdd3 snd_gus_dram_read +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x097352d1 snd_msnd_dsp_halt +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x0e096be3 snd_msnd_init_queue +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x1bd3b88e snd_msndmix_setup +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x20e3e2fd snd_msnd_pcm +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x2504b83b snd_msnd_enable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x2a349b41 snd_msndmix_new +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x47666bb4 snd_msnd_send_dsp_cmd +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x47a0720d snd_msnd_DAPQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x4c9653a9 snd_msnd_send_word +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x5c593007 snd_msnd_upload_host +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x6da526f2 snd_msnd_DARQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x75026b24 snd_msndmidi_input_read +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x7a8fa1b1 snd_msnd_disable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xbdda82e8 snd_msndmix_force_recsrc +EXPORT_SYMBOL sound/isa/opti9xx/snd-miro 0x0e1aac3d snd_aci_cmd +EXPORT_SYMBOL sound/isa/opti9xx/snd-miro 0x3c14e298 snd_aci_get_aci +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0130189c snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x142573ea snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x47856d02 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5879937f snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5ec7f727 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x718b6692 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x81909831 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc0b31e9a snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc5699a19 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xfe821c65 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb16-csp 0x71d0655a snd_sb_csp_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x1a56fbe7 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x3960484c snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xa05c7fd8 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x127f0160 snd_sb8dsp_midi +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xacc311a6 snd_sb8dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xc033bf24 snd_sb8dsp_midi_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xd5b4ddee snd_sb8dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x0414087c snd_emu8000_init_fm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x0ca42a27 snd_emu8000_update_chorus_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x1ae58099 snd_emu8000_peek_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x5026fb84 snd_emu8000_load_chorus_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x62ff2cfc snd_emu8000_peek +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x861886e8 snd_emu8000_poke_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xa4974ad8 snd_emu8000_dma_chan +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xaef76007 snd_emu8000_update_equalizer +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xcaff40f5 snd_emu8000_update_reverb_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xfa455cae snd_emu8000_poke +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xfe7f6d4c snd_emu8000_load_reverb_fx +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x04c37b7e snd_wss_put_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x05a86738 snd_cs4236_ext_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x0688cb86 snd_wss_overrange +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x0a905f92 snd_cs4236_ext_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x0f136b34 snd_wss_mce_up +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x165c5e57 snd_wss_get_pcm_ops +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x2744af32 snd_wss_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x2b58da20 snd_wss_info_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x3dfe15ac snd_wss_chip_id +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x40d99bf3 snd_wss_create +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x5b305839 snd_wss_get_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x6794976f snd_wss_mce_down +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x7b202637 snd_wss_interrupt +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x8003f1b1 snd_wss_pcm +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xa4fc7240 snd_wss_mixer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xb37c311a snd_wss_get_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xdc102fe2 snd_wss_timer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xdfe5ca67 snd_wss_info_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xe6b06829 snd_wss_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xec8f125d snd_wss_put_double +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x27adb3ac snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3def6271 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x46f613e5 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x509ca33e snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x510459f0 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x77be332b snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7ad497a2 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7d4efac5 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xaa6c6085 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xac0bd8a4 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb5d563a9 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbc9d0249 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc2c86ee1 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc9f51242 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdf7995e1 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe570cf0b snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf21a5257 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0x48d473e2 hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x113da4dc snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1aa97aa5 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x35b8e969 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x482ccc63 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x5d513040 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x742fa545 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7a103be9 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x81d3910e snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa7381147 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xc1e71152 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x72ebd673 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x92ad8299 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xc3b95123 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x166eff8a oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2329852f oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2f83c28f oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3aaead1e oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4613dcd9 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x57b73af3 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x740182b2 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x765f4e2b oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7a3442a7 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x857c15c1 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x98805f4e oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa96b625c oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xac98d427 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcb5d5953 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd8c744a4 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdd211ae9 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe67eb76a oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf1a844e6 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf24a6630 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf400f96b oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf67dc800 oxygen_write_spi +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x130f4d79 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x204fcea7 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x3ceda7dc snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x58b64274 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xb40569ad snd_trident_alloc_voice +EXPORT_SYMBOL sound/soundcore 0x048cf270 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x1ab31ad8 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x221c629b register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x2f7122d4 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x309d29e4 sound_class +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xceb8eafa register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5d593440 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x6396ecdd snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xb5192e6c snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xbd3afb5c snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe412a26d snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xfb6b1555 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x214e605e snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2534f631 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3513219e snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x4ff2b933 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xba781773 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xcd564794 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xdec52069 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf2190563 __snd_util_mem_free +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xab7c2439 snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x35c95b1b dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x74df24d4 dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x86e5acf9 dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x8e6396de dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xa43471b6 dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xd55b290c dm_mem_cache_client_destroy +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x00137497 open_exec +EXPORT_SYMBOL vmlinux 0x001a14af request_key_async +EXPORT_SYMBOL vmlinux 0x002f01f6 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x0046bfa4 filemap_flush +EXPORT_SYMBOL vmlinux 0x00589618 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x006632d5 release_firmware +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x0095131e pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x009f9803 dquot_release +EXPORT_SYMBOL vmlinux 0x00a8d8c6 security_path_chown +EXPORT_SYMBOL vmlinux 0x00a92f13 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x00db94f4 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x00dd6f0a do_SAK +EXPORT_SYMBOL vmlinux 0x00e09085 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x00e42452 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x00e7a375 seq_open_private +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x01050861 dump_write +EXPORT_SYMBOL vmlinux 0x01124331 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x011ecce3 freeze_bdev +EXPORT_SYMBOL vmlinux 0x0129ad78 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x012a1fa3 iterate_mounts +EXPORT_SYMBOL vmlinux 0x012a4220 dev_emerg +EXPORT_SYMBOL vmlinux 0x0164f296 submit_bh +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01921105 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x020fd173 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0265502b nf_getsockopt +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b2f5b6 sock_rfree +EXPORT_SYMBOL vmlinux 0x02cb3a8c set_pages_array_uc +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e52a28 stop_tty +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x0315123e kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x031d39a0 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x0333cf8b may_umount +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033aba7f pci_scan_bus +EXPORT_SYMBOL vmlinux 0x034400b7 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x03551937 release_pages +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03a2634c mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x03b580eb wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03ff850f set_binfmt +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04297318 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x04381f7d inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045a79b8 dquot_transfer +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x04740d66 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x048d3078 simple_statfs +EXPORT_SYMBOL vmlinux 0x0496942c sk_alloc +EXPORT_SYMBOL vmlinux 0x04a30602 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x04aa8ed6 bio_init +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x05075fd1 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x0520d778 blk_delay_queue +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x054a5fd4 km_state_notify +EXPORT_SYMBOL vmlinux 0x055a8ec1 kobject_init +EXPORT_SYMBOL vmlinux 0x05763f5b generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x0583b1cb do_sync_read +EXPORT_SYMBOL vmlinux 0x05969cec nf_hook_slow +EXPORT_SYMBOL vmlinux 0x059be523 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x05abc8c4 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x05d5c819 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x05ea912d __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x05f07ca5 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06207e58 vfs_create +EXPORT_SYMBOL vmlinux 0x062e90ee write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x06353c85 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x06460751 fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x064a7f00 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x067357ed arp_xmit +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0681079c eisa_driver_register +EXPORT_SYMBOL vmlinux 0x068a190f mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x0694ddc7 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x06b35ef5 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x06bd4636 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x06c16b73 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x06d0a379 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x06d2f086 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x06f4bf00 seq_escape +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x06ff7c85 account_page_writeback +EXPORT_SYMBOL vmlinux 0x070278ed genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x0746b93d dquot_operations +EXPORT_SYMBOL vmlinux 0x07544813 file_open_root +EXPORT_SYMBOL vmlinux 0x075d366a aio_complete +EXPORT_SYMBOL vmlinux 0x07608604 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x076718fd bprm_change_interp +EXPORT_SYMBOL vmlinux 0x076ebea8 pv_lock_ops +EXPORT_SYMBOL vmlinux 0x07846554 skb_seq_read +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d32a5a neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x07d50a24 csum_partial +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x08074b97 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x080d4ba2 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x0817ca9a neigh_table_clear +EXPORT_SYMBOL vmlinux 0x0821eb35 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x085e3497 security_path_unlink +EXPORT_SYMBOL vmlinux 0x087747de nf_afinfo +EXPORT_SYMBOL vmlinux 0x087f451f dm_register_target +EXPORT_SYMBOL vmlinux 0x0897287b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x08bf826c _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x08cf2512 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x0909ee84 dst_destroy +EXPORT_SYMBOL vmlinux 0x090cc48c blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x091817b6 migrate_page +EXPORT_SYMBOL vmlinux 0x0925663f i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0951d7fa journal_get_write_access +EXPORT_SYMBOL vmlinux 0x09730667 sg_miter_next +EXPORT_SYMBOL vmlinux 0x097cd6cf acpi_bus_add +EXPORT_SYMBOL vmlinux 0x097d7b26 icmp_send +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0991c65a skb_make_writable +EXPORT_SYMBOL vmlinux 0x0999beb5 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x09bc7dc6 genl_register_family +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c62f2a __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a568eda unregister_key_type +EXPORT_SYMBOL vmlinux 0x0a78ad60 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x0a834479 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x0aa77744 update_time +EXPORT_SYMBOL vmlinux 0x0ab136fc jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b11eb39 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b3e2bdc con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x0b44def6 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b4b3866 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x0b5acbd3 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x0b70953d bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b76d43a uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x0b78a8bc tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x0b78b601 key_unlink +EXPORT_SYMBOL vmlinux 0x0bbc2fc7 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bfec050 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x0c25fcbc generic_block_bmap +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c5f6c69 locks_delete_block +EXPORT_SYMBOL vmlinux 0x0c62199f netpoll_setup +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c692ac4 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c8d52bd udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0d1d60c2 dentry_unhash +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d49f7f0 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d75dcca mark_page_accessed +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0db28ff9 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x0ddffa24 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x0df124c2 mmc_request_done +EXPORT_SYMBOL vmlinux 0x0df76ed9 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x0dfffddd pnpbios_protocol +EXPORT_SYMBOL vmlinux 0x0e3881c1 read_cache_page +EXPORT_SYMBOL vmlinux 0x0e49945c simple_write_end +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e7472ec __pci_register_driver +EXPORT_SYMBOL vmlinux 0x0e7d05fc udplite_prot +EXPORT_SYMBOL vmlinux 0x0e80f987 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x0e932451 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x0ed0898d kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x0ede9363 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x0efd00f3 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x0f139897 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x0f1a19f5 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x0f23c2be __get_page_tail +EXPORT_SYMBOL vmlinux 0x0f33b16d xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f9362cd thaw_super +EXPORT_SYMBOL vmlinux 0x0fa745e7 pipe_unlock +EXPORT_SYMBOL vmlinux 0x0fa9eed4 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fb22fff tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x0fc542bf unlock_new_inode +EXPORT_SYMBOL vmlinux 0x0fcd9827 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fd33629 consume_skb +EXPORT_SYMBOL vmlinux 0x0fdcfa39 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x1015c707 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x101f2939 blk_init_tags +EXPORT_SYMBOL vmlinux 0x102c56de irq_regs +EXPORT_SYMBOL vmlinux 0x103fba37 dma_supported +EXPORT_SYMBOL vmlinux 0x10437ad8 empty_aops +EXPORT_SYMBOL vmlinux 0x106b063e sock_i_ino +EXPORT_SYMBOL vmlinux 0x10801b1a inet_sendmsg +EXPORT_SYMBOL vmlinux 0x109d2ab4 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x10ab7e68 down_killable +EXPORT_SYMBOL vmlinux 0x10b8416b nla_append +EXPORT_SYMBOL vmlinux 0x10c017b0 sock_no_poll +EXPORT_SYMBOL vmlinux 0x10c29e8c phy_connect +EXPORT_SYMBOL vmlinux 0x10cc88db scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x10d2695d bio_clone +EXPORT_SYMBOL vmlinux 0x10e13ad1 vfs_fsync +EXPORT_SYMBOL vmlinux 0x10e3711b pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11227492 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112fcb3e xen_biovec_phys_mergeable +EXPORT_SYMBOL vmlinux 0x113d1682 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x113da5da backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11b145f4 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x11b49b98 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x11dd01ad intel_scu_ipc_command +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11eb848b bdi_destroy +EXPORT_SYMBOL vmlinux 0x11ece15d skb_free_datagram +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x1217107a tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x122c61a9 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x1236a0b1 bioset_create +EXPORT_SYMBOL vmlinux 0x123c9dba register_netdev +EXPORT_SYMBOL vmlinux 0x12514b21 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x1262c993 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x1286947b end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x128a5cf9 complete_all +EXPORT_SYMBOL vmlinux 0x1295a962 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12a4d026 blk_peek_request +EXPORT_SYMBOL vmlinux 0x12ab345e intel_gtt_insert_sg_entries_hsw +EXPORT_SYMBOL vmlinux 0x12c1653d __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12e7193a blk_init_queue +EXPORT_SYMBOL vmlinux 0x12e7d0ee twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x1303a342 fb_show_logo +EXPORT_SYMBOL vmlinux 0x13055fcb pci_bus_type +EXPORT_SYMBOL vmlinux 0x130e3abf inet6_ioctl +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1332e5c4 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x13459a2b scsi_get_command +EXPORT_SYMBOL vmlinux 0x13630a83 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x136f6e57 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x13885e4f tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x13913f17 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x13b65a01 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d4ce92 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x13f31c98 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13f457f4 tty_name +EXPORT_SYMBOL vmlinux 0x13fc359d make_EII_client +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x1442df4e mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x145a77d1 d_alloc_name +EXPORT_SYMBOL vmlinux 0x1463e739 tty_port_close +EXPORT_SYMBOL vmlinux 0x14a2239d __inet6_hash +EXPORT_SYMBOL vmlinux 0x14aa51fe grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x14b5d2fb uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x14bc3a6b writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x150389d6 acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0x15087a76 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x1523cb76 tty_devnum +EXPORT_SYMBOL vmlinux 0x1527a38d tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x1539b289 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x153ce125 register_xen_selfballooning +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x156839b8 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x157174ae agp_unbind_memory +EXPORT_SYMBOL vmlinux 0x15801545 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x158cab5d inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x15956f7c ip_setsockopt +EXPORT_SYMBOL vmlinux 0x1597defc loop_register_transfer +EXPORT_SYMBOL vmlinux 0x15cf7526 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x15fc10d6 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x15fe9a02 proc_symlink +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x16206782 dev_mc_add +EXPORT_SYMBOL vmlinux 0x1624cd65 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1635e4aa d_delete +EXPORT_SYMBOL vmlinux 0x16423bed security_path_link +EXPORT_SYMBOL vmlinux 0x1651bf4e I_BDEV +EXPORT_SYMBOL vmlinux 0x1657ec38 dev_trans_start +EXPORT_SYMBOL vmlinux 0x167bc37e neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x167d0dcf inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x168f1082 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x169d3900 neigh_lookup +EXPORT_SYMBOL vmlinux 0x16aef70e pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x16ba27d1 __scm_destroy +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16c8ac62 tcp_check_req +EXPORT_SYMBOL vmlinux 0x16d84597 ip_defrag +EXPORT_SYMBOL vmlinux 0x16e43454 __elv_add_request +EXPORT_SYMBOL vmlinux 0x16f0f922 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x17000010 have_submounts +EXPORT_SYMBOL vmlinux 0x170bf973 pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x171635b4 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x1724e978 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x172be8a0 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x17433f89 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x1754b686 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x1790d76b _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x17b47600 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x17de69a6 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e6955a ppp_dev_name +EXPORT_SYMBOL vmlinux 0x17ec0c02 simple_rename +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x1826436e ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x183e2abf filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x187e6887 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x18882e2f _dev_info +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x188fc36f scsi_target_resume +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18a7d986 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x18b72377 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x18d95959 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x18d96501 atomic64_dec_if_positive_cx8 +EXPORT_SYMBOL vmlinux 0x18e664d2 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x18ef842d tcf_hash_check +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x19912407 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x1999b3f9 agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a9e62b complete +EXPORT_SYMBOL vmlinux 0x19b01206 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x19b078f0 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x19baa04c scsi_finish_command +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19bfac7c registered_fb +EXPORT_SYMBOL vmlinux 0x19c206ee pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x19c4be82 bio_endio +EXPORT_SYMBOL vmlinux 0x19e3cc91 scsi_execute +EXPORT_SYMBOL vmlinux 0x19ea75fe xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x19fe418e sk_stream_error +EXPORT_SYMBOL vmlinux 0x1a082f2c __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x1a1108f0 setup_new_exec +EXPORT_SYMBOL vmlinux 0x1a31c8fc jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a611323 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a8ba9ca sk_common_release +EXPORT_SYMBOL vmlinux 0x1a97ed03 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x1aac9516 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x1ab78e95 inode_init_once +EXPORT_SYMBOL vmlinux 0x1ac86e39 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1adf2b6a mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x1ae14ef5 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x1af0099b init_task +EXPORT_SYMBOL vmlinux 0x1afbb5c1 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b12ea23 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x1b1d8d8a file_remove_suid +EXPORT_SYMBOL vmlinux 0x1b3587e1 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x1b44e864 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x1b5f538b agp_free_memory +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b99d1bc key_put +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba64b33 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x1bb84c72 skb_split +EXPORT_SYMBOL vmlinux 0x1bc8585b idr_remove_all +EXPORT_SYMBOL vmlinux 0x1bd18428 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x1bf56e50 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x1c0ecb76 input_allocate_device +EXPORT_SYMBOL vmlinux 0x1c24443d simple_dir_operations +EXPORT_SYMBOL vmlinux 0x1c41f9fc vfs_mkdir +EXPORT_SYMBOL vmlinux 0x1c812cda read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1ca627d6 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x1cb82563 simple_readpage +EXPORT_SYMBOL vmlinux 0x1cc1b3ff xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cc7f90d sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x1cccebe0 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x1d0cfcdf ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x1d114aa9 mdiobus_write +EXPORT_SYMBOL vmlinux 0x1d1d82d5 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x1d21d158 gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0x1d2f322d input_free_device +EXPORT_SYMBOL vmlinux 0x1d400e71 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x1d42a6ca __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x1d47cba7 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x1d48dfd9 register_filesystem +EXPORT_SYMBOL vmlinux 0x1d70b1d9 pci_request_regions +EXPORT_SYMBOL vmlinux 0x1d999c54 sock_wfree +EXPORT_SYMBOL vmlinux 0x1da15c20 dev_addr_del +EXPORT_SYMBOL vmlinux 0x1da65bc5 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x1db23325 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e06b4b3 no_llseek +EXPORT_SYMBOL vmlinux 0x1e0af903 eth_header_parse +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e1ad40b md_integrity_register +EXPORT_SYMBOL vmlinux 0x1e23e7c5 spi_attach_transport +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e27949d in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x1e32fa5a sock_kmalloc +EXPORT_SYMBOL vmlinux 0x1e454625 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x1e6629ef abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6f4635 dev_add_pack +EXPORT_SYMBOL vmlinux 0x1e73b882 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x1e7771fa replace_mount_options +EXPORT_SYMBOL vmlinux 0x1e865970 dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea17609 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x1ea7ac34 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ec93ba3 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x1ed2cb2e sock_create_lite +EXPORT_SYMBOL vmlinux 0x1ed4fd4a padata_stop +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1ef6eea3 journal_stop +EXPORT_SYMBOL vmlinux 0x1f231822 pipe_to_file +EXPORT_SYMBOL vmlinux 0x1f49f546 __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x1f650628 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x1f73e245 neigh_create +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f830989 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x1f8d8219 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x1f951646 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x1f986c87 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc35b6b twl6040_power +EXPORT_SYMBOL vmlinux 0x1fc60972 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe04684 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1fff698a agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x200a1d28 unlazy_fpu +EXPORT_SYMBOL vmlinux 0x200f3cbb pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x202446ca mii_check_link +EXPORT_SYMBOL vmlinux 0x202a2bab deactivate_super +EXPORT_SYMBOL vmlinux 0x2030dcc1 pci_find_bus +EXPORT_SYMBOL vmlinux 0x20350f59 pci_clear_master +EXPORT_SYMBOL vmlinux 0x203d44fe swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0x204032aa led_blink_set +EXPORT_SYMBOL vmlinux 0x2050e738 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x205c20cd netlink_ack +EXPORT_SYMBOL vmlinux 0x20632f84 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x20682a10 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20c6192f intel_scu_ipc_ioread32 +EXPORT_SYMBOL vmlinux 0x211dc53f twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x21282762 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x213fc99f set_disk_ro +EXPORT_SYMBOL vmlinux 0x214b9274 __rta_fill +EXPORT_SYMBOL vmlinux 0x215a0499 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x2195744c sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x2199337a down_timeout +EXPORT_SYMBOL vmlinux 0x219ddc77 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21e37c03 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x21f54d69 kick_iocb +EXPORT_SYMBOL vmlinux 0x21f9038a x86_hyper_ms_hyperv +EXPORT_SYMBOL vmlinux 0x21fb443e _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x22118adc bio_split +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2265b5b5 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c0e3c6 dquot_acquire +EXPORT_SYMBOL vmlinux 0x22cc4913 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x22f6e678 simple_unlink +EXPORT_SYMBOL vmlinux 0x2313cf71 fb_class +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x231f39b0 single_open +EXPORT_SYMBOL vmlinux 0x2328271d __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x232a8bcd ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x232d6cd2 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x23a20d2f pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23ad28ce do_splice_to +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23bf4983 genlmsg_put +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23d1c0fc fb_set_var +EXPORT_SYMBOL vmlinux 0x23d3d1f9 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x23e259c8 cdev_alloc +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x24500df5 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245e2993 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x249617db skb_queue_head +EXPORT_SYMBOL vmlinux 0x24d52bf2 dma_set_mask +EXPORT_SYMBOL vmlinux 0x24da1058 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x24da121a xfrm_register_type +EXPORT_SYMBOL vmlinux 0x24e61bdf inc_nlink +EXPORT_SYMBOL vmlinux 0x24f169fc down_read_trylock +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x2511771d x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x2550619f alloc_file +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25828cb6 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x25bdcfbd remove_arg_zero +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25d6bfb8 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2615b6e9 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x26190699 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x262d67d5 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x2638c0f9 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2642b7f0 __free_pages +EXPORT_SYMBOL vmlinux 0x264d3c3d idr_get_next +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x268cc6a2 sys_close +EXPORT_SYMBOL vmlinux 0x268e44ab unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26f8339d vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x27346c7e agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x275a9204 tcp_child_process +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27898038 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x27a0272a account_page_redirty +EXPORT_SYMBOL vmlinux 0x27ae7d0c ec_transaction +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bd6a12 key_task_permission +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27d618d6 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x27da2bcd blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x27ebedaf blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x27fe6440 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x280a89a4 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x280f6c27 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x286f43b4 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x287c80e6 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x288b7503 neigh_for_each +EXPORT_SYMBOL vmlinux 0x2895e507 lease_modify +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28b66fca md_unregister_thread +EXPORT_SYMBOL vmlinux 0x28b715a6 isapnp_cfg_end +EXPORT_SYMBOL vmlinux 0x28f15a07 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x2947a7d9 journal_errno +EXPORT_SYMBOL vmlinux 0x29529f72 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295db419 x86_hyper +EXPORT_SYMBOL vmlinux 0x29782122 alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x297b7565 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x29873c4b ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a17f1bd find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x2a249e24 dquot_resume +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a4e9c47 journal_set_features +EXPORT_SYMBOL vmlinux 0x2a5def2f intel_scu_ipc_iowrite32 +EXPORT_SYMBOL vmlinux 0x2a5f51b5 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x2a8ca70a pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aa8008e set_pages_x +EXPORT_SYMBOL vmlinux 0x2aac1b7e ping_prot +EXPORT_SYMBOL vmlinux 0x2abb2625 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x2abde880 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x2ac9618a icmpv6_send +EXPORT_SYMBOL vmlinux 0x2ad58958 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b235956 sock_no_getname +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b689814 seq_path +EXPORT_SYMBOL vmlinux 0x2b9b8f28 dcb_setapp +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb18aea scsi_host_get +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bc1ae14 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x2bc95bd4 memset +EXPORT_SYMBOL vmlinux 0x2be4b7ff fddi_type_trans +EXPORT_SYMBOL vmlinux 0x2bf8d577 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x2bf8e2df inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c08f1e6 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c166421 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c275710 pci_get_class +EXPORT_SYMBOL vmlinux 0x2c43d1c0 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x2c6d3f4b neigh_ifdown +EXPORT_SYMBOL vmlinux 0x2c7fabbe kernel_sendpage +EXPORT_SYMBOL vmlinux 0x2c80a02a dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x2c95d461 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x2cbec142 generic_setxattr +EXPORT_SYMBOL vmlinux 0x2cd4ebe7 kill_bdev +EXPORT_SYMBOL vmlinux 0x2ce762d8 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x2cf0aaf2 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x2d1137b7 put_page +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d2f6631 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x2d37342e cpu_online_mask +EXPORT_SYMBOL vmlinux 0x2d374c96 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x2d70ae26 soft_cursor +EXPORT_SYMBOL vmlinux 0x2d844ea5 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2da62eef fb_find_mode +EXPORT_SYMBOL vmlinux 0x2dc184d8 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x2dcd7f3f bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dd40f75 proto_unregister +EXPORT_SYMBOL vmlinux 0x2de12db5 elv_rb_del +EXPORT_SYMBOL vmlinux 0x2de29364 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2e0eb27b bio_pair_release +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2ebb7c scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x2e2f640a __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x2e594dd3 vmtruncate +EXPORT_SYMBOL vmlinux 0x2e5f82c4 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x2e60bace memcpy +EXPORT_SYMBOL vmlinux 0x2e774b35 uart_register_driver +EXPORT_SYMBOL vmlinux 0x2e855f29 pci_disable_obff +EXPORT_SYMBOL vmlinux 0x2e9b6f0a tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x2ea7d424 gen_pool_free +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f064b55 allocate_resource +EXPORT_SYMBOL vmlinux 0x2f17dc92 dev_open +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f35ab80 cdev_del +EXPORT_SYMBOL vmlinux 0x2f363704 input_open_device +EXPORT_SYMBOL vmlinux 0x2f590989 km_report +EXPORT_SYMBOL vmlinux 0x2f676fa7 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x2fa6a6db release_sock +EXPORT_SYMBOL vmlinux 0x2faa13c8 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x2faab620 serio_open +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fb8172e __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x2fb8f8fb __sock_create +EXPORT_SYMBOL vmlinux 0x2fd02950 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x2febb866 proc_mkdir +EXPORT_SYMBOL vmlinux 0x301d1821 mount_subtree +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x30232f9b skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x302b865b x86_hyper_vmware +EXPORT_SYMBOL vmlinux 0x30491a83 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x30524e28 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x305b011d inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x306bba4f pnp_find_dev +EXPORT_SYMBOL vmlinux 0x306c05a7 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x3079d0a6 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308c1356 notify_change +EXPORT_SYMBOL vmlinux 0x30a1a2f5 inet6_release +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30cb03a5 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x3116dca7 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x311cba31 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x3134a249 seq_release +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x314ee6c4 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x3153bfb0 tty_register_device +EXPORT_SYMBOL vmlinux 0x3165455a ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x316d55ae input_grab_device +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31944a28 dma_ops +EXPORT_SYMBOL vmlinux 0x3198a9b5 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x319ecee9 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x31d46168 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x31e0fa41 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31e96824 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x31f0bb78 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x31ffb5a4 blk_run_queue +EXPORT_SYMBOL vmlinux 0x32527683 fb_get_mode +EXPORT_SYMBOL vmlinux 0x3252f640 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x327a3d96 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x32948172 genphy_read_status +EXPORT_SYMBOL vmlinux 0x329c4e81 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x32cea339 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x32dc8e99 i8042_install_filter +EXPORT_SYMBOL vmlinux 0x32eeaded _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x32fa9581 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x331fe124 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x332a447d poll_freewait +EXPORT_SYMBOL vmlinux 0x33340e99 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x33604297 generic_fillattr +EXPORT_SYMBOL vmlinux 0x3360ecb2 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x336d19a7 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x33858571 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x33bf9716 phy_device_register +EXPORT_SYMBOL vmlinux 0x33bfc391 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x33c8bdc5 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33f5d2f0 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x34020819 blk_put_queue +EXPORT_SYMBOL vmlinux 0x3403c958 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x342e32e3 ida_simple_get +EXPORT_SYMBOL vmlinux 0x342f60fe apm_info +EXPORT_SYMBOL vmlinux 0x3437d4a9 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x346d7320 set_security_override +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x349b435d get_super +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349e0b55 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x34a20207 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x34b4ac1b kmap_high +EXPORT_SYMBOL vmlinux 0x34be61ae napi_get_frags +EXPORT_SYMBOL vmlinux 0x34de07d9 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x34dff4ec input_set_abs_params +EXPORT_SYMBOL vmlinux 0x34f2cafa register_md_personality +EXPORT_SYMBOL vmlinux 0x351b0827 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x3525e281 datagram_poll +EXPORT_SYMBOL vmlinux 0x35273d79 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x35301894 inode_permission +EXPORT_SYMBOL vmlinux 0x35445d53 kset_register +EXPORT_SYMBOL vmlinux 0x355b5281 agp_free_page_array +EXPORT_SYMBOL vmlinux 0x356083b1 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x3570fa2f journal_check_available_features +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x35a3cf0f kernel_bind +EXPORT_SYMBOL vmlinux 0x35af9caf dev_err +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35e0cb10 kthread_bind +EXPORT_SYMBOL vmlinux 0x35ec255d module_layout +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x360ca775 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x360da5de get_fs_type +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x3630de93 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x3693d631 __break_lease +EXPORT_SYMBOL vmlinux 0x36a66622 bio_free +EXPORT_SYMBOL vmlinux 0x36aad357 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x36c6af51 intel_scu_ipc_iowrite8 +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x36e4b46f pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x37078f42 devm_free_irq +EXPORT_SYMBOL vmlinux 0x3731ce1b __serio_register_port +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374e4f04 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x374fe40c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x3754f46d acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x37661c17 padata_alloc +EXPORT_SYMBOL vmlinux 0x377a8b65 tcf_register_action +EXPORT_SYMBOL vmlinux 0x378177b1 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x379dc0b5 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37da3aa1 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37eaa2d0 d_move +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x37ff4c06 copy_from_user_overflow +EXPORT_SYMBOL vmlinux 0x38045c45 iget_failed +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x381ccc13 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x38415842 input_register_device +EXPORT_SYMBOL vmlinux 0x386ad8b3 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388799f6 unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a0ac2e pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x38a4d93b ppp_unit_number +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38f52e13 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x39074a0d bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x394023e7 put_tty_driver +EXPORT_SYMBOL vmlinux 0x3945ab46 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x394b39bd add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x39626613 unload_nls +EXPORT_SYMBOL vmlinux 0x397161b7 vfs_getattr +EXPORT_SYMBOL vmlinux 0x3976a941 inode_init_owner +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3988adff journal_force_commit +EXPORT_SYMBOL vmlinux 0x3988c786 cont_write_begin +EXPORT_SYMBOL vmlinux 0x39a055f3 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x39ae0fbe sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x39ddbc02 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x39f29937 skb_push +EXPORT_SYMBOL vmlinux 0x39f82183 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x39fab0fb xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x39fc8ec1 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x3a013b7d remove_wait_queue +EXPORT_SYMBOL vmlinux 0x3a037f03 __pagevec_release +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a8122fb skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa0a701 d_validate +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3aa54340 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x3af896a9 netdev_printk +EXPORT_SYMBOL vmlinux 0x3afdc7c6 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x3b0c3a04 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3749c8 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x3b3751ef fb_validate_mode +EXPORT_SYMBOL vmlinux 0x3b4ea635 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x3b61cf36 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x3b72fc98 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x3b79797d i2c_transfer +EXPORT_SYMBOL vmlinux 0x3b9627bb sock_i_uid +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c2caead seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x3c43f173 key_alloc +EXPORT_SYMBOL vmlinux 0x3c66824c skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x3c701c8b blk_recount_segments +EXPORT_SYMBOL vmlinux 0x3c7b17de tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3c9fc16f xfrm_lookup +EXPORT_SYMBOL vmlinux 0x3cb3931b sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf436ee tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3dcafeec padata_add_cpu +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e2b2aeb pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e4a8d05 ht_create_irq +EXPORT_SYMBOL vmlinux 0x3e52987a bio_add_page +EXPORT_SYMBOL vmlinux 0x3e54c8a1 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x3e66aeb0 block_write_end +EXPORT_SYMBOL vmlinux 0x3e6849d4 log_start_commit +EXPORT_SYMBOL vmlinux 0x3e7cc10b udp_ioctl +EXPORT_SYMBOL vmlinux 0x3e806b55 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3eade4a4 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ebfbc0b inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ede1272 dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x3ef73ad6 nla_reserve +EXPORT_SYMBOL vmlinux 0x3ef78d80 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3eff5ac2 intel_scu_ipc_writev +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f38b5a3 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f45c820 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x3f81ddad seq_read +EXPORT_SYMBOL vmlinux 0x3f9f868f __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x3fa58ef8 wait_for_completion +EXPORT_SYMBOL vmlinux 0x3fd8c6f2 journal_flush +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3fee2af6 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x40007223 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x4045ecce tcf_exts_change +EXPORT_SYMBOL vmlinux 0x404f345a pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x405f552e dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x408dd0aa pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x4097fa45 acpi_read_bit_register +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409fa6a2 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a2d1dd dm_table_get_size +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b33d9b cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x40c51348 md_check_recovery +EXPORT_SYMBOL vmlinux 0x40c709d0 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d94e0c journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x40ed71db dma_async_device_register +EXPORT_SYMBOL vmlinux 0x4112d2bd kmap_atomic +EXPORT_SYMBOL vmlinux 0x411ae61c pci_disable_msi +EXPORT_SYMBOL vmlinux 0x413f6063 commit_creds +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414e8197 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x416adfdb padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0x41793eb3 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x41870db2 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x419ee6e8 idr_pre_get +EXPORT_SYMBOL vmlinux 0x41a78eab udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x41ad0272 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x41b2b2ed ip6_frag_match +EXPORT_SYMBOL vmlinux 0x41becc85 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x41d3e0e6 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x41dee855 d_alloc +EXPORT_SYMBOL vmlinux 0x41e65bb0 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x41fdad6b find_or_create_page +EXPORT_SYMBOL vmlinux 0x421109f6 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x422cd856 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x4239de63 ida_init +EXPORT_SYMBOL vmlinux 0x423aa77f uart_resume_port +EXPORT_SYMBOL vmlinux 0x42426176 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42763874 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x4292364c schedule +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x429d987d generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x42a70ea5 sync_inode +EXPORT_SYMBOL vmlinux 0x42be1b11 is_bad_inode +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42cdeca3 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x42d675db cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4319bb2a ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x43257526 vga_client_register +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x433e3d44 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x435f447e pci_set_master +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x436c6bd4 sock_create_kern +EXPORT_SYMBOL vmlinux 0x437aca37 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x4390fde7 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43abaec3 tcp_close +EXPORT_SYMBOL vmlinux 0x43ad35d9 __dst_free +EXPORT_SYMBOL vmlinux 0x43ae4b01 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x43b28e96 __napi_complete +EXPORT_SYMBOL vmlinux 0x43bd52df intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x43e95b97 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x440b3f50 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x441e54e5 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x443cbedd pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x445a8b6f inet_recvmsg +EXPORT_SYMBOL vmlinux 0x4464eaf0 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x447195e0 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x449fbe01 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x44a8e76b pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f1606d down_trylock +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450be17a set_groups +EXPORT_SYMBOL vmlinux 0x451086ef pci_enable_obff +EXPORT_SYMBOL vmlinux 0x451f8585 tty_vhangup +EXPORT_SYMBOL vmlinux 0x45285e74 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x4532308a tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45435d9f vfs_link +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x455e64bc devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x4578661a _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45be5da1 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x45ce064e netpoll_print_options +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45e805e3 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x4618650e tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x4624f07f secpath_dup +EXPORT_SYMBOL vmlinux 0x4625a586 agp_find_bridge +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x46303abd pci_set_ltr +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46818a2f skb_checksum +EXPORT_SYMBOL vmlinux 0x46845a22 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x46ad0367 kunmap +EXPORT_SYMBOL vmlinux 0x46c421f3 bio_put +EXPORT_SYMBOL vmlinux 0x46d13f86 mmc_free_host +EXPORT_SYMBOL vmlinux 0x46eca49d skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x4734f1c1 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x473e38d1 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x47545cd9 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x475ecea2 d_lookup +EXPORT_SYMBOL vmlinux 0x475ee680 lookup_hash +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x4792c572 down_interruptible +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479b17a6 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47b86893 drop_nlink +EXPORT_SYMBOL vmlinux 0x47bb7ca3 bio_map_user +EXPORT_SYMBOL vmlinux 0x47c515c0 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x47c7b0d2 cpu_number +EXPORT_SYMBOL vmlinux 0x47cee983 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x47f984ce skb_queue_tail +EXPORT_SYMBOL vmlinux 0x47f9fed0 kill_litter_super +EXPORT_SYMBOL vmlinux 0x4801690e dm_unregister_target +EXPORT_SYMBOL vmlinux 0x4808e89b generic_setlease +EXPORT_SYMBOL vmlinux 0x481751c4 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x4842d76f unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486d2f29 dqstats +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48a771c5 cpu_core_map +EXPORT_SYMBOL vmlinux 0x48c06358 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x48ed3e62 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x490eb3ef blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x4912a43f twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x491b1292 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x492da04e __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x4933edaf generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4972aa2f lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49d5c580 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x49ee72f2 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x4a0d25a7 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x4a134aae sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a358f90 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x4a3b69f8 file_update_time +EXPORT_SYMBOL vmlinux 0x4a3e33e9 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x4a63ac34 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x4a762494 padata_do_serial +EXPORT_SYMBOL vmlinux 0x4aa36e88 inet_ioctl +EXPORT_SYMBOL vmlinux 0x4aa4e098 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4ad3f0a9 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x4ad741e9 ata_link_printk +EXPORT_SYMBOL vmlinux 0x4aeb00d4 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b048048 vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b1afd86 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b492a77 dst_discard +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b666980 unlock_rename +EXPORT_SYMBOL vmlinux 0x4b8b3ffb dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x4b9bf983 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x4ba5abd7 vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x4bc4d5a5 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4bee6cbd tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x4bf7b27d inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x4c0ce03b clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x4c10afb6 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x4c10d528 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c536fd8 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x4c5a8c45 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x4c73b1ec inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x4c8a5d6c dm_get_device +EXPORT_SYMBOL vmlinux 0x4c8debb8 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x4caea610 devm_iounmap +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4ccde762 fail_migrate_page +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4d1431a5 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x4d2b851d ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d4f7f90 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x4d68666d nf_log_register +EXPORT_SYMBOL vmlinux 0x4d7be322 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x4d7d11c0 bio_copy_user +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4db01113 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dcf4c3c agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e1e2950 mmc_card_awake +EXPORT_SYMBOL vmlinux 0x4e21999c acpi_get_child +EXPORT_SYMBOL vmlinux 0x4e2981d1 eth_header_cache +EXPORT_SYMBOL vmlinux 0x4e29c7cb idr_for_each +EXPORT_SYMBOL vmlinux 0x4e2eb762 get_super_thawed +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e4258af xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x4e506924 sock_wake_async +EXPORT_SYMBOL vmlinux 0x4e577ec5 ihold +EXPORT_SYMBOL vmlinux 0x4e5d2bea dcb_getapp +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4ea83f51 unregister_nls +EXPORT_SYMBOL vmlinux 0x4eac9f54 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x4eb11f1f seq_bitmap +EXPORT_SYMBOL vmlinux 0x4eb50398 mii_check_media +EXPORT_SYMBOL vmlinux 0x4ebad633 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x4ec50122 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x4ec815c3 abort_creds +EXPORT_SYMBOL vmlinux 0x4ecc22dd fget_raw +EXPORT_SYMBOL vmlinux 0x4ed6939e isapnp_protocol +EXPORT_SYMBOL vmlinux 0x4eeaccab generic_write_sync +EXPORT_SYMBOL vmlinux 0x4ef03a47 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x4f02fe8b journal_dirty_data +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2a2168 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f7db5f9 phy_attach +EXPORT_SYMBOL vmlinux 0x4f822b0b brioctl_set +EXPORT_SYMBOL vmlinux 0x4f9e1c3d intel_gtt_insert_pages +EXPORT_SYMBOL vmlinux 0x4fad8a65 pci_enable_ido +EXPORT_SYMBOL vmlinux 0x4fb127f6 bio_alloc +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff07add tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x503525c6 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x50364966 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x50529870 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x5055c7e2 inet_frags_init +EXPORT_SYMBOL vmlinux 0x505e3154 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x5063fd30 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x506bdfda __breadahead +EXPORT_SYMBOL vmlinux 0x5076bcc1 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x507e16a4 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x5084b346 simple_setattr +EXPORT_SYMBOL vmlinux 0x50c34fcf phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x50c8de52 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x50eedeb8 printk +EXPORT_SYMBOL vmlinux 0x50f837ec __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x51086909 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x510afa12 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x510ba13a cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x512294aa cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x513dea58 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5150524c netdev_set_master +EXPORT_SYMBOL vmlinux 0x5152e605 memcmp +EXPORT_SYMBOL vmlinux 0x518253f7 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x5186518f profile_pc +EXPORT_SYMBOL vmlinux 0x519e6302 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x51a944e3 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x51c93e75 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x51d0b0dd jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51d5d282 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x51d816e4 seq_write +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x5206459c proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x520a5b01 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x521d2344 __devm_release_region +EXPORT_SYMBOL vmlinux 0x523d16e0 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x52423a0c ida_pre_get +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x525e026f acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0x526a8b04 generic_show_options +EXPORT_SYMBOL vmlinux 0x527e538b sock_setsockopt +EXPORT_SYMBOL vmlinux 0x5289368c xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528eb23c tcp_ioctl +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52d512b5 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x52e622cd eth_validate_addr +EXPORT_SYMBOL vmlinux 0x5301c73c scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x530457c9 inet6_getname +EXPORT_SYMBOL vmlinux 0x530b1e4c rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x5320cb59 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53445472 padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x534b3af6 clear_inode +EXPORT_SYMBOL vmlinux 0x53597354 kern_path_create +EXPORT_SYMBOL vmlinux 0x53602505 devm_ioremap +EXPORT_SYMBOL vmlinux 0x5362e8f3 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x536802ec mmc_can_discard +EXPORT_SYMBOL vmlinux 0x5379e1db d_set_d_op +EXPORT_SYMBOL vmlinux 0x537d5132 default_file_splice_read +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5383f34b _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53e08669 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x53e78b6e scsi_device_put +EXPORT_SYMBOL vmlinux 0x53f2ef10 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x53f8fd82 input_get_keycode +EXPORT_SYMBOL vmlinux 0x54152e04 percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x5428a683 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5449ab30 vga_tryget +EXPORT_SYMBOL vmlinux 0x545a1898 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x5470bd13 netdev_notice +EXPORT_SYMBOL vmlinux 0x54935666 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0x54a565d5 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54ac0880 inet_sendpage +EXPORT_SYMBOL vmlinux 0x54b503bb unregister_netdev +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea302f scsi_put_command +EXPORT_SYMBOL vmlinux 0x5519a515 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x55515575 dget_parent +EXPORT_SYMBOL vmlinux 0x5564e19c jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x557544ad mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x55882a47 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x558ea749 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55f9cd1a rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x560c6a38 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5632b308 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x563498f3 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563e8e0a dev_mc_sync +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x56472b40 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x56603a65 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5676a3e5 intel_scu_ipc_ioread8 +EXPORT_SYMBOL vmlinux 0x56791030 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x56a1a9b4 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x56a2ac3e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0x56a6f590 filp_open +EXPORT_SYMBOL vmlinux 0x56ac1307 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d59512 dquot_enable +EXPORT_SYMBOL vmlinux 0x56d7b7b5 __d_drop +EXPORT_SYMBOL vmlinux 0x56de1ecb netif_skb_features +EXPORT_SYMBOL vmlinux 0x5705088a __vmalloc +EXPORT_SYMBOL vmlinux 0x570b4566 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x574aa386 get_phy_device +EXPORT_SYMBOL vmlinux 0x574bb05c jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x574d5fb5 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575af70c on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x57700d68 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x5779dd39 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x5793490a flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x579fbcd2 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x57e35434 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0x5805d253 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x5807edc4 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x580de05b pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x580ffb63 d_genocide +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x586103be acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x5885a2f1 prepare_binprm +EXPORT_SYMBOL vmlinux 0x5892d54c acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x589548d4 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x58c12994 amd_northbridges +EXPORT_SYMBOL vmlinux 0x58d4690c dev_uc_del +EXPORT_SYMBOL vmlinux 0x58d63d56 dev_set_group +EXPORT_SYMBOL vmlinux 0x58fef6f8 ist_info +EXPORT_SYMBOL vmlinux 0x59128511 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x592b06ff security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x592b59af acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x5963927a sget +EXPORT_SYMBOL vmlinux 0x596cf4c7 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x5971b0fe pci_map_rom +EXPORT_SYMBOL vmlinux 0x5979700b vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x597a471c setup_arg_pages +EXPORT_SYMBOL vmlinux 0x5984e6a2 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59bf095d bdi_init +EXPORT_SYMBOL vmlinux 0x59c52a3e agp_copy_info +EXPORT_SYMBOL vmlinux 0x59ceabe5 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8ac45 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a2aa62e __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a8823d1 __getblk +EXPORT_SYMBOL vmlinux 0x5a8a002b pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x5aa2b697 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x5aa65678 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5ac5c0ba sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x5af67b23 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b1f749d input_unregister_device +EXPORT_SYMBOL vmlinux 0x5b23fd55 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x5b39a41e dev_gro_receive +EXPORT_SYMBOL vmlinux 0x5b4d1593 netdev_err +EXPORT_SYMBOL vmlinux 0x5b61a8e4 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x5b76a431 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bab1a10 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x5beee8d4 netdev_change_features +EXPORT_SYMBOL vmlinux 0x5c01148e tty_throttle +EXPORT_SYMBOL vmlinux 0x5c1a265a pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x5c378de5 vfs_statfs +EXPORT_SYMBOL vmlinux 0x5c3c0da5 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x5c3edd59 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x5c590a36 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x5c59cbfa phy_detach +EXPORT_SYMBOL vmlinux 0x5c6d13c3 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x5c7b1687 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x5c83a7f2 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x5c87b96e set_nlink +EXPORT_SYMBOL vmlinux 0x5c88beac try_module_get +EXPORT_SYMBOL vmlinux 0x5c8c984b nf_setsockopt +EXPORT_SYMBOL vmlinux 0x5ca942ac mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x5caa8cb3 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x5cd024ee ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x5cd28f14 pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x5cdbc824 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d102d45 user_revoke +EXPORT_SYMBOL vmlinux 0x5d12f285 redraw_screen +EXPORT_SYMBOL vmlinux 0x5d138f30 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x5d251494 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5d2e6fd8 __frontswap_load +EXPORT_SYMBOL vmlinux 0x5d3a9d05 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d639ccc sock_init_data +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d935974 page_readlink +EXPORT_SYMBOL vmlinux 0x5d984767 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x5d9b4d7f wireless_send_event +EXPORT_SYMBOL vmlinux 0x5daa43a6 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x5daf68b6 da903x_query_status +EXPORT_SYMBOL vmlinux 0x5dc0dfe5 generic_write_end +EXPORT_SYMBOL vmlinux 0x5dc574c3 nobh_write_end +EXPORT_SYMBOL vmlinux 0x5dc7c14b i2c_release_client +EXPORT_SYMBOL vmlinux 0x5dce6b75 complete_and_exit +EXPORT_SYMBOL vmlinux 0x5dd6f773 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x5de9990b pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x5e0614e3 generic_read_dir +EXPORT_SYMBOL vmlinux 0x5e1748b6 journal_start_commit +EXPORT_SYMBOL vmlinux 0x5e178489 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x5e292f97 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e6e667a intel_gtt_map_memory +EXPORT_SYMBOL vmlinux 0x5e7e11ac nf_reinject +EXPORT_SYMBOL vmlinux 0x5e85c687 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x5e8f4704 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x5e952dd8 __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9c3b78 pci_release_regions +EXPORT_SYMBOL vmlinux 0x5e9dd3f7 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x5e9e8fb3 security_path_mknod +EXPORT_SYMBOL vmlinux 0x5eaa4ca9 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed324e1 blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f0b7e7c bdevname +EXPORT_SYMBOL vmlinux 0x5f1a4ccf intel_scu_ipc_update_register +EXPORT_SYMBOL vmlinux 0x5f26a08b tcp_connect +EXPORT_SYMBOL vmlinux 0x5f27544a mempool_destroy +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f4703be pcim_iomap +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f5ba6e4 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x5f7ce995 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fbf4fba invalidate_bdev +EXPORT_SYMBOL vmlinux 0x5fc6f7d9 dqput +EXPORT_SYMBOL vmlinux 0x5fcbbf39 sg_miter_start +EXPORT_SYMBOL vmlinux 0x5fe41fb6 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600c949e tcp_make_synack +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x604ef09b ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x6052c396 free_task +EXPORT_SYMBOL vmlinux 0x606638e4 register_console +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x60786382 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x60862e26 vga_get +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b2e38a rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x60d7e80c pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x60eb4ba3 register_gifconf +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x613b9a8a jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x6143a69d dev_warn +EXPORT_SYMBOL vmlinux 0x61526a81 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x61528b43 kobject_get +EXPORT_SYMBOL vmlinux 0x61536865 idr_destroy +EXPORT_SYMBOL vmlinux 0x6169cb86 phy_driver_register +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x6194f3ee blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x619b187b add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x61a33203 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x61b5ade0 down_write +EXPORT_SYMBOL vmlinux 0x61b60dac skb_queue_purge +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x621d77a0 sleep_on +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6226b9fa machine_to_phys_mapping +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622a1daa dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x622fa02a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x623f38de i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x6241a2ab __copy_from_user_ll_nocache +EXPORT_SYMBOL vmlinux 0x624ba191 nla_put +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6279df13 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x628081a0 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62850ccc input_set_keycode +EXPORT_SYMBOL vmlinux 0x6291f13a md_flush_request +EXPORT_SYMBOL vmlinux 0x629a66bc console_start +EXPORT_SYMBOL vmlinux 0x62a207ed udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x62b5571c lock_super +EXPORT_SYMBOL vmlinux 0x62b5ce68 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x62b8be21 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x62c736d2 spi_release_transport +EXPORT_SYMBOL vmlinux 0x62c90dcb shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x62cb4cee interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x62dc6092 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x62fe28ed pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x6310ff3f sync_blockdev +EXPORT_SYMBOL vmlinux 0x631685bc lookup_bdev +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x63395ab3 skb_pad +EXPORT_SYMBOL vmlinux 0x6339a8bc mutex_unlock +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x63793379 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63a4041f __seq_open_private +EXPORT_SYMBOL vmlinux 0x63c1860a eth_type_trans +EXPORT_SYMBOL vmlinux 0x63e5b1ed tty_check_change +EXPORT_SYMBOL vmlinux 0x63eb782e register_key_type +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x641cb5a0 dma_find_channel +EXPORT_SYMBOL vmlinux 0x642621e1 force_sig +EXPORT_SYMBOL vmlinux 0x645ec030 __nla_put +EXPORT_SYMBOL vmlinux 0x645f7018 __lock_buffer +EXPORT_SYMBOL vmlinux 0x64762b56 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64c77e0e lease_get_mtime +EXPORT_SYMBOL vmlinux 0x64d0aa6d jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x64e20ac8 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x651201f9 dev_addr_add +EXPORT_SYMBOL vmlinux 0x65125138 acpi_check_address_range +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x651dd2a1 touch_atime +EXPORT_SYMBOL vmlinux 0x65220759 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x6527f823 generic_writepages +EXPORT_SYMBOL vmlinux 0x653cc588 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x655f1ab0 set_memory_array_wc +EXPORT_SYMBOL vmlinux 0x6565d33f scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x656a8da7 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x65735e72 lock_rename +EXPORT_SYMBOL vmlinux 0x6574e186 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x657879ce __init_rwsem +EXPORT_SYMBOL vmlinux 0x657c05c2 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x6599a406 input_close_device +EXPORT_SYMBOL vmlinux 0x65a295bb atomic64_xchg_cx8 +EXPORT_SYMBOL vmlinux 0x65a37537 seq_lseek +EXPORT_SYMBOL vmlinux 0x65ad481c __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x65f4ca8f delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x6618b6d0 thaw_bdev +EXPORT_SYMBOL vmlinux 0x66355efc vprintk +EXPORT_SYMBOL vmlinux 0x66464980 spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0x66490322 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x6670a6eb set_user_nice +EXPORT_SYMBOL vmlinux 0x66804f0c dm_put_device +EXPORT_SYMBOL vmlinux 0x668144b6 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669a1e04 sk_wait_data +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66b20af4 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x66e4bcb5 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x66eeabd3 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x66eede83 agp_create_memory +EXPORT_SYMBOL vmlinux 0x66fb9621 module_put +EXPORT_SYMBOL vmlinux 0x671b8c04 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x673cdf5e poll_initwait +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6765582d d_path +EXPORT_SYMBOL vmlinux 0x676c21b6 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x677a7b9f blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x67992919 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x679ea785 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x67b0f668 sk_filter +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67d71a44 vm_event_states +EXPORT_SYMBOL vmlinux 0x67dcffb7 lg_lock_init +EXPORT_SYMBOL vmlinux 0x67f7403e _raw_spin_lock +EXPORT_SYMBOL vmlinux 0x67fc0737 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x6824a7ac skb_copy +EXPORT_SYMBOL vmlinux 0x682d0963 simple_write_begin +EXPORT_SYMBOL vmlinux 0x683296cc end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x685eeecb cdrom_open +EXPORT_SYMBOL vmlinux 0x68675112 clear_nlink +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x688cfe9c max8925_set_bits +EXPORT_SYMBOL vmlinux 0x68de688b agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x68dfc59f __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x691d88e2 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x691dea89 seq_release_private +EXPORT_SYMBOL vmlinux 0x69658eee dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x6965964c __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x69712eef dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69863bc1 tty_free_termios +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69d6e079 pci_iounmap +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69f93124 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a0dccad scsi_device_resume +EXPORT_SYMBOL vmlinux 0x6a12bd6c dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x6a27bfce csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x6a2fd726 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x6a38609a input_flush_device +EXPORT_SYMBOL vmlinux 0x6a3d6d37 inet_accept +EXPORT_SYMBOL vmlinux 0x6a48e16b percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x6a567332 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x6a56dde4 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a89d48b ll_rw_block +EXPORT_SYMBOL vmlinux 0x6a91e6ef tcp_init_sock +EXPORT_SYMBOL vmlinux 0x6aa41fdb vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x6ab327fc kunmap_high +EXPORT_SYMBOL vmlinux 0x6ac62aac eth_mac_addr +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad0a1e0 genphy_resume +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6adabea6 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae55e47 mdiobus_free +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2b5e86 new_inode +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b3ecd1c simple_transaction_read +EXPORT_SYMBOL vmlinux 0x6b4157cc ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x6b41a409 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x6b5fe38a mb_cache_create +EXPORT_SYMBOL vmlinux 0x6b6cd0ed nonseekable_open +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b795975 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bb8676f skb_find_text +EXPORT_SYMBOL vmlinux 0x6bb91d38 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6c05ab27 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x6c11c6de agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c2b1136 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x6c2e3320 strncmp +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c4156a0 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x6c485667 ip_options_compile +EXPORT_SYMBOL vmlinux 0x6c6187b5 qdisc_reset +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6ca51558 pnp_find_card +EXPORT_SYMBOL vmlinux 0x6cb898d2 should_remove_suid +EXPORT_SYMBOL vmlinux 0x6cb9693b unlock_super +EXPORT_SYMBOL vmlinux 0x6cd88674 task_nice +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cfd2f81 send_sig_info +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d0ea8b5 find_inode_number +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d3ceeea blk_sync_queue +EXPORT_SYMBOL vmlinux 0x6d5bfec4 x86_hyper_xen_hvm +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d704cf9 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x6d8e3794 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x6db184ad inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x6db6e423 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x6dc56823 inet_bind +EXPORT_SYMBOL vmlinux 0x6dca8c13 tcp_prot +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e0c26be journal_restart +EXPORT_SYMBOL vmlinux 0x6e12513d scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x6e14626d __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x6e1b5d8b pcibios_set_irq_routing +EXPORT_SYMBOL vmlinux 0x6e2c4fce tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x6e4a02db __netdev_printk +EXPORT_SYMBOL vmlinux 0x6e51ac2e _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x6e65f2dc rtc_lock +EXPORT_SYMBOL vmlinux 0x6e6d80f8 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7fa71e kernel_getsockname +EXPORT_SYMBOL vmlinux 0x6e8dc13f dev_crit +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb8de10 set_bh_page +EXPORT_SYMBOL vmlinux 0x6f15c951 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f4c6b71 lg_local_unlock +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f624cb6 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x6f627f48 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x6f72b39a dentry_open +EXPORT_SYMBOL vmlinux 0x6f8de1c5 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x6fc2d0a4 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6ff7d384 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x7019f67d __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x703b4352 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x7040209c abx500_register_ops +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x7087c350 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x709585c5 inet_addr_type +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70c96eea alloc_disk_node +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d1f8f3 strncat +EXPORT_SYMBOL vmlinux 0x70d6860d vfs_mknod +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70d9d2a0 padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x70e70596 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x7114a71f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x7116a196 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714176ae xfrm_input +EXPORT_SYMBOL vmlinux 0x7147f3fd acpi_root_dir +EXPORT_SYMBOL vmlinux 0x714de7e3 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x717473f6 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x717d7678 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x7188b4e4 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x71931fad journal_init_inode +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71b311e4 would_dump +EXPORT_SYMBOL vmlinux 0x71b4b696 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x71b9b9b5 __invalidate_device +EXPORT_SYMBOL vmlinux 0x71ef3b38 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x71f97d0c ps2_command +EXPORT_SYMBOL vmlinux 0x721d901c dev_get_by_name +EXPORT_SYMBOL vmlinux 0x72308e92 phy_stop +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x723edd3b mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x72615f2c swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x7266e885 find_vma +EXPORT_SYMBOL vmlinux 0x7295cccf dquot_file_open +EXPORT_SYMBOL vmlinux 0x72b0a36c kobject_set_name +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b333db scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x72b7fca0 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72cfbd73 pci_save_state +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72df2f2a up_read +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72e82753 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x731b3b60 mount_bdev +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x735695bc ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x73644943 set_pages_nx +EXPORT_SYMBOL vmlinux 0x7371c626 lock_may_read +EXPORT_SYMBOL vmlinux 0x737dc970 framebuffer_release +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738803e6 strnlen +EXPORT_SYMBOL vmlinux 0x738cbb8e mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x738edf38 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x7392f5af ip_fragment +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73e0be13 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73f11212 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x7406f5c5 kobject_put +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x740a7cc2 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x741a6e22 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x7437cfc3 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x743b4ae3 atomic64_inc_not_zero_cx8 +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74860568 set_device_ro +EXPORT_SYMBOL vmlinux 0x749f4165 irq_stat +EXPORT_SYMBOL vmlinux 0x74a886a5 dev_alert +EXPORT_SYMBOL vmlinux 0x74b1df44 pci_choose_state +EXPORT_SYMBOL vmlinux 0x74b4b8b8 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d80856 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x74de671e pci_disable_msix +EXPORT_SYMBOL vmlinux 0x74df44fa input_unregister_handler +EXPORT_SYMBOL vmlinux 0x74e2db5f tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f99969 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x74fbabae kthread_stop +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x75271716 save_processor_state +EXPORT_SYMBOL vmlinux 0x7528fb97 __kfree_skb +EXPORT_SYMBOL vmlinux 0x7531e3dc acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x7547eac4 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x754ef0b4 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x7550d587 page_symlink +EXPORT_SYMBOL vmlinux 0x755e9501 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x756917a4 eisa_bus_type +EXPORT_SYMBOL vmlinux 0x757d931a truncate_setsize +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x75a057d0 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x75a65557 genl_notify +EXPORT_SYMBOL vmlinux 0x75ae689d ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x75b38131 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x75bb675a finish_wait +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75d21809 vprintk_emit +EXPORT_SYMBOL vmlinux 0x75dba18d misc_register +EXPORT_SYMBOL vmlinux 0x7607f425 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760b4510 sock_no_bind +EXPORT_SYMBOL vmlinux 0x7628f3c7 this_cpu_off +EXPORT_SYMBOL vmlinux 0x762add85 atomic64_inc_return_cx8 +EXPORT_SYMBOL vmlinux 0x762ccf24 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x763c2230 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x76439a4f __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x76459ac7 search_binary_handler +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x7649d218 d_instantiate +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x7666489b posix_lock_file +EXPORT_SYMBOL vmlinux 0x766deaaf tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x767e31b8 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x769e06d7 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x76b58e8d elevator_change +EXPORT_SYMBOL vmlinux 0x76b6b7f3 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76bf98e1 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x76cd06ce security_path_mkdir +EXPORT_SYMBOL vmlinux 0x76d09fcc mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d93b07 netdev_crit +EXPORT_SYMBOL vmlinux 0x76e65065 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x76f2764b dev_driver_string +EXPORT_SYMBOL vmlinux 0x76fbefee bdi_unregister +EXPORT_SYMBOL vmlinux 0x770a0036 isapnp_cfg_begin +EXPORT_SYMBOL vmlinux 0x771cc554 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x771daab4 journal_revoke +EXPORT_SYMBOL vmlinux 0x772f9eec __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773d57fa backlight_device_register +EXPORT_SYMBOL vmlinux 0x774d4dd6 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x774feea3 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x77614b7d generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x77687688 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x776a1333 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x777539b7 cpu_info +EXPORT_SYMBOL vmlinux 0x7791eab3 elv_rb_find +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77a62904 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x77aa6d4d bio_integrity_free +EXPORT_SYMBOL vmlinux 0x77b502b4 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x780f3a18 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x781416e3 revert_creds +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7891fd26 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x78a86118 nf_register_hook +EXPORT_SYMBOL vmlinux 0x78ab3b00 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x78bb2011 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0x78db38d3 proc_dointvec +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x79086a6f mpage_readpages +EXPORT_SYMBOL vmlinux 0x790c8bd8 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x793377dd misc_deregister +EXPORT_SYMBOL vmlinux 0x793a90af xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x7949da53 usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x7954c907 input_register_handle +EXPORT_SYMBOL vmlinux 0x796a8ecd pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x797fecd7 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x79992e39 uart_match_port +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79db2bde generic_delete_inode +EXPORT_SYMBOL vmlinux 0x79df879d pci_get_slot +EXPORT_SYMBOL vmlinux 0x79e1449d jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x79f30ba9 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4fc12c register_con_driver +EXPORT_SYMBOL vmlinux 0x7a6c2b45 tty_hangup +EXPORT_SYMBOL vmlinux 0x7a7233fc alloc_fddidev +EXPORT_SYMBOL vmlinux 0x7a902242 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x7a9bf88d udplite_table +EXPORT_SYMBOL vmlinux 0x7aa62c14 __lru_cache_add +EXPORT_SYMBOL vmlinux 0x7aa81449 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7afa89fc vsnprintf +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b10b573 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x7b134ddf acpi_get_name +EXPORT_SYMBOL vmlinux 0x7b2cebf2 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x7b2d2aea mdiobus_register +EXPORT_SYMBOL vmlinux 0x7b414f45 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b5b70d4 fget +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b6ba21f md_done_sync +EXPORT_SYMBOL vmlinux 0x7b7a0b3d agp_bind_memory +EXPORT_SYMBOL vmlinux 0x7b8e70d6 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL vmlinux 0x7bb97372 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x7bd435fa __alloc_skb +EXPORT_SYMBOL vmlinux 0x7bf56338 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x7bf6da7a xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x7bf7aee3 serio_close +EXPORT_SYMBOL vmlinux 0x7bf9b3eb nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x7bfc674e sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x7c00c42c setattr_copy +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c3c7d90 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x7c44f95c bd_set_size +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c47d636 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c88f88a md_error +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9b58a0 dquot_initialize +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cce5b6e generic_write_checks +EXPORT_SYMBOL vmlinux 0x7ce62640 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x7ce75657 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d74041d __frontswap_store +EXPORT_SYMBOL vmlinux 0x7dbc2e57 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x7de92f5c ilookup +EXPORT_SYMBOL vmlinux 0x7dec031f mmc_can_reset +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e410bb7 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x7e73f9a1 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x7e77b791 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x7e7d354c mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x7e7e258f dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x7e9acad7 dquot_commit +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ebaafb6 register_nls +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7ed30933 blk_complete_request +EXPORT_SYMBOL vmlinux 0x7edd1d5e dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7eefdf89 tcf_em_register +EXPORT_SYMBOL vmlinux 0x7f18b194 kacpi_hotplug_wq +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f62cd93 elevator_init +EXPORT_SYMBOL vmlinux 0x7f658e80 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7fc2f727 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x7fce3155 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fdf635e dquot_quota_on +EXPORT_SYMBOL vmlinux 0x803d8572 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x8041a9f0 __bread +EXPORT_SYMBOL vmlinux 0x80452e9e dump_trace +EXPORT_SYMBOL vmlinux 0x80469365 nf_log_packet +EXPORT_SYMBOL vmlinux 0x8063c7cc __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x807c9c8d kmap_atomic_to_page +EXPORT_SYMBOL vmlinux 0x80966a0b set_pages_wb +EXPORT_SYMBOL vmlinux 0x80a11c98 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x80c3fbd0 eth_header +EXPORT_SYMBOL vmlinux 0x80c45f2e tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0x80cc2cee phy_disconnect +EXPORT_SYMBOL vmlinux 0x80e489a7 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x811c8b7a d_drop +EXPORT_SYMBOL vmlinux 0x81438195 led_brightness_set +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x8150c0ba mempool_resize +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815c56d0 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x817e469e follow_down +EXPORT_SYMBOL vmlinux 0x81836db6 bdget_disk +EXPORT_SYMBOL vmlinux 0x8191ddb7 pipe_lock +EXPORT_SYMBOL vmlinux 0x819e1c25 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x81ba8691 mddev_congested +EXPORT_SYMBOL vmlinux 0x81bbb6fe register_cdrom +EXPORT_SYMBOL vmlinux 0x81c7fa18 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x81cf079c elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81e73ce0 mount_single +EXPORT_SYMBOL vmlinux 0x81e92ba3 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x81f8f396 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x82113eb0 agp_bridge +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x82254c43 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x8235805b memmove +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x825c9883 dump_seek +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x828699c2 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82d20453 blk_register_region +EXPORT_SYMBOL vmlinux 0x82d62262 dquot_disable +EXPORT_SYMBOL vmlinux 0x82ea5408 genl_register_ops +EXPORT_SYMBOL vmlinux 0x8308e5d2 blk_put_request +EXPORT_SYMBOL vmlinux 0x830c90fe do_splice_direct +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x83215a3e i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x832289ad blk_start_queue +EXPORT_SYMBOL vmlinux 0x833c03aa acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x8341cef2 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x837bb8c0 udp_seq_open +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x83920ab5 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d686af netif_device_attach +EXPORT_SYMBOL vmlinux 0x83d83d21 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x83e6e710 i2c_use_client +EXPORT_SYMBOL vmlinux 0x83f86b66 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x83fe303b kmem_cache_size +EXPORT_SYMBOL vmlinux 0x84060081 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x84101570 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x8417f512 acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0x84499f8b gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x845423fd pci_biosrom_size +EXPORT_SYMBOL vmlinux 0x8467d7e7 elevator_exit +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x846d9a65 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x84be886f completion_done +EXPORT_SYMBOL vmlinux 0x84c9db8a sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x84deb8be truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x84ef5322 serio_rescan +EXPORT_SYMBOL vmlinux 0x8513c189 __bio_clone +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85875a1e scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x85978f17 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x85b1d3a0 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bcbbb5 simple_rmdir +EXPORT_SYMBOL vmlinux 0x85d16790 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x86059fc6 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x86081995 mdiobus_read +EXPORT_SYMBOL vmlinux 0x861a1132 free_netdev +EXPORT_SYMBOL vmlinux 0x8638cf0e xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86aeb3db dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x86bfae20 acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x86d5255f _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x86e2ddb3 block_truncate_page +EXPORT_SYMBOL vmlinux 0x86ec4d84 unregister_console +EXPORT_SYMBOL vmlinux 0x86f85d22 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x871e4ac4 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x8748944f acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x876ecb28 bdev_read_only +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8792b28d mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x8795fa46 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b2c39a dqget +EXPORT_SYMBOL vmlinux 0x87c0334a tty_shutdown +EXPORT_SYMBOL vmlinux 0x87d6bab2 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x87ea9480 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x88205858 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x88290f62 seq_open +EXPORT_SYMBOL vmlinux 0x882b8525 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x882de604 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x885fc640 bh_submit_read +EXPORT_SYMBOL vmlinux 0x8890be5f wake_up_process +EXPORT_SYMBOL vmlinux 0x88ab5c40 dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0x88d7ee1b tcp_parse_options +EXPORT_SYMBOL vmlinux 0x88df64c4 kill_block_super +EXPORT_SYMBOL vmlinux 0x88ead914 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x88ffbfb0 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x89465fbc ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x895cef58 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x89665d12 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x896a4d75 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x899c1258 mount_pseudo +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89c93bd3 fput +EXPORT_SYMBOL vmlinux 0x89c9fcf5 lock_fb_info +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89d91e92 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0x89edfceb __get_user_pages +EXPORT_SYMBOL vmlinux 0x8a032432 fasync_helper +EXPORT_SYMBOL vmlinux 0x8a0f1925 napi_complete +EXPORT_SYMBOL vmlinux 0x8a1615d6 mempool_create_node +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a381cd6 block_write_begin +EXPORT_SYMBOL vmlinux 0x8a47a1d0 dev_notice +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a5e05b4 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x8a62ff6b tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x8a72ea62 bmap +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a7f80a6 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x8a834d94 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x8a93b57a ida_destroy +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aad5a0d dev_get_stats +EXPORT_SYMBOL vmlinux 0x8aafac0a journal_start +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8b0b91c9 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x8b18496f __copy_to_user_ll +EXPORT_SYMBOL vmlinux 0x8b1930cc jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b1df0dc inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x8b30a70e qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b5c11c0 first_ec +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7d93bd aio_put_req +EXPORT_SYMBOL vmlinux 0x8b83e8bf kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x8b914fa0 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8b990c8c pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x8b996224 request_key +EXPORT_SYMBOL vmlinux 0x8ba182d3 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x8be3c1bd napi_skb_finish +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c079490 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x8c08fabc fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x8c1651bc pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c28b7dd truncate_pagecache +EXPORT_SYMBOL vmlinux 0x8c300eb1 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x8c6249ee set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x8c86fb52 block_write_full_page +EXPORT_SYMBOL vmlinux 0x8cb471b3 take_over_console +EXPORT_SYMBOL vmlinux 0x8cc4f7fd tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x8cc6145f netif_napi_add +EXPORT_SYMBOL vmlinux 0x8cc73234 locks_free_lock +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cdd5113 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x8ce3d06b flush_old_exec +EXPORT_SYMBOL vmlinux 0x8d2dac1a arp_tbl +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d589b47 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d71fb91 pnp_possible_config +EXPORT_SYMBOL vmlinux 0x8d7c3a74 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8da1a3cb acpi_remove_interface +EXPORT_SYMBOL vmlinux 0x8da6219d blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x8daf8c42 dql_init +EXPORT_SYMBOL vmlinux 0x8db5e527 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x8dc6e564 restore_processor_state +EXPORT_SYMBOL vmlinux 0x8dc94329 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x8dcbb1e7 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x8dd9f169 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x8de0408a max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x8def339e contig_page_data +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e0e485b unlock_buffer +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e442536 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x8e4f973e tcp_poll +EXPORT_SYMBOL vmlinux 0x8e59936d blk_get_queue +EXPORT_SYMBOL vmlinux 0x8e888ec3 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x8e92de49 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8ec8a8d5 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x8efd507e kern_path +EXPORT_SYMBOL vmlinux 0x8efe474f vfs_open +EXPORT_SYMBOL vmlinux 0x8f079b82 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x8f086a62 __scm_send +EXPORT_SYMBOL vmlinux 0x8f189994 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f80e9e3 get_write_access +EXPORT_SYMBOL vmlinux 0x8f853fe9 write_cache_pages +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fa12b39 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x8fabe950 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x8fd99bff km_policy_expired +EXPORT_SYMBOL vmlinux 0x8fe64ba3 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x8feb7580 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x8ff4079b pv_irq_ops +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x901b05b1 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x901b537e inet_put_port +EXPORT_SYMBOL vmlinux 0x901cdc56 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x901f35c5 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x903245f7 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x903e2b46 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x906beaa1 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x907dbd8a pci_request_region +EXPORT_SYMBOL vmlinux 0x908481ad dquot_scan_active +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90b625d1 init_special_inode +EXPORT_SYMBOL vmlinux 0x90c5c9ab __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x9100657a sk_free +EXPORT_SYMBOL vmlinux 0x91095cab x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0x9141ec9e proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x915d33e1 padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9164394f swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x917ae296 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x91c07467 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x91c77f54 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x91d5b21f phy_print_status +EXPORT_SYMBOL vmlinux 0x91e211ad dev_get_flags +EXPORT_SYMBOL vmlinux 0x91e88d88 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x921f5c9c pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x922bde73 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x927b6b2d twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x92a05f3d idr_get_new +EXPORT_SYMBOL vmlinux 0x92a6419e update_region +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92bbca8e user_path_at +EXPORT_SYMBOL vmlinux 0x92df42cd netdev_info +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930a6c90 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x930ae5a3 vfs_llseek +EXPORT_SYMBOL vmlinux 0x9312d072 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x93227508 simple_lookup +EXPORT_SYMBOL vmlinux 0x932b36b2 filemap_fault +EXPORT_SYMBOL vmlinux 0x93300378 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x9347c50a mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0x9347cf2c ppp_input_error +EXPORT_SYMBOL vmlinux 0x93548083 mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x936e9902 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x938d6b8d find_get_page +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b2955b fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0x93c2ccc0 journal_load +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93d085b2 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x93e83599 dev_uc_init +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x94264219 __bforget +EXPORT_SYMBOL vmlinux 0x944c68c6 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x94546d8c single_release +EXPORT_SYMBOL vmlinux 0x946cf979 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x948cc5e3 rt6_lookup +EXPORT_SYMBOL vmlinux 0x94914ed6 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x9494b615 iget5_locked +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94b541b5 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x94def637 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x94e2742c tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x950740e8 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x950810af dst_release +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954c1568 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x956a7f9c generic_file_fsync +EXPORT_SYMBOL vmlinux 0x957f9287 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x95a01201 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x95ae76ae kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x95e2210d do_splice_from +EXPORT_SYMBOL vmlinux 0x95e7ab28 tty_register_driver +EXPORT_SYMBOL vmlinux 0x95f89a33 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x9603d1d2 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x964afd1a skb_clone +EXPORT_SYMBOL vmlinux 0x9655e029 pid_task +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x96782b47 blk_free_tags +EXPORT_SYMBOL vmlinux 0x967c95bf qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x9681ee61 dquot_alloc +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x9696ac72 rename_lock +EXPORT_SYMBOL vmlinux 0x96a592f6 seq_puts +EXPORT_SYMBOL vmlinux 0x96c4b5fc vfs_readdir +EXPORT_SYMBOL vmlinux 0x96c7e43b seq_printf +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e79739 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x9707504d bdput +EXPORT_SYMBOL vmlinux 0x97165e62 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x971c0b8e override_creds +EXPORT_SYMBOL vmlinux 0x9736c7de mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x97401503 journal_update_format +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9764d3c7 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x978f2892 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x97b59586 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0x97cd8bdf irq_set_chip +EXPORT_SYMBOL vmlinux 0x97d78524 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x97dcef29 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x9804a63a i2c_clients_command +EXPORT_SYMBOL vmlinux 0x9806af05 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x9817b8b8 journal_wipe +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x983f264b neigh_direct_output +EXPORT_SYMBOL vmlinux 0x9846672b ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x985502e8 noop_fsync +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9879dce6 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x988d97d2 tty_port_init +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98a129eb jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x98a8620c invalidate_partition +EXPORT_SYMBOL vmlinux 0x98b62958 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x98baffbb __module_get +EXPORT_SYMBOL vmlinux 0x98bb6ba5 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x98d51e05 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x98e25955 softnet_data +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x99052a84 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x990cc41b irq_to_desc +EXPORT_SYMBOL vmlinux 0x99139e6f md_finish_reshape +EXPORT_SYMBOL vmlinux 0x992875b2 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x992aa1c4 follow_down_one +EXPORT_SYMBOL vmlinux 0x993b910b blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x99479bf1 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x997a558c nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x9980391c tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x99876e3f gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x99982f5d padata_do_parallel +EXPORT_SYMBOL vmlinux 0x999872e2 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99ad10a7 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x99b0bcca serio_unregister_port +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c210ac dev_printk +EXPORT_SYMBOL vmlinux 0x99c711cd bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99e7077b tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x99eed638 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a44426b blkdev_fsync +EXPORT_SYMBOL vmlinux 0x9a49ebae simple_transaction_release +EXPORT_SYMBOL vmlinux 0x9a67b9fb __napi_schedule +EXPORT_SYMBOL vmlinux 0x9a6a83f9 cmos_lock +EXPORT_SYMBOL vmlinux 0x9a756412 pci_enable_device +EXPORT_SYMBOL vmlinux 0x9a8e53d6 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x9ac89c87 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x9ad4d6ca get_agp_version +EXPORT_SYMBOL vmlinux 0x9ad73365 __ht_create_irq +EXPORT_SYMBOL vmlinux 0x9af02e8d jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x9af24925 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x9af725a3 install_exec_creds +EXPORT_SYMBOL vmlinux 0x9af95bb4 del_gendisk +EXPORT_SYMBOL vmlinux 0x9b0379e4 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x9b2f7169 ether_setup +EXPORT_SYMBOL vmlinux 0x9b310083 spi_dv_device +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b4383e9 scsi_register +EXPORT_SYMBOL vmlinux 0x9b552b8f pci_dev_driver +EXPORT_SYMBOL vmlinux 0x9b58d806 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b738742 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x9b75cb81 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x9ba49aab vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bc6183f ilookup5 +EXPORT_SYMBOL vmlinux 0x9bd27bf9 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x9befe134 phy_start +EXPORT_SYMBOL vmlinux 0x9c24fc3b page_address +EXPORT_SYMBOL vmlinux 0x9c2c944a __copy_from_user_ll_nocache_nozero +EXPORT_SYMBOL vmlinux 0x9c3ba82c __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c5072da ppp_input +EXPORT_SYMBOL vmlinux 0x9c5a9811 check_disk_change +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c886dbe scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x9c89e93e acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x9c8ecd26 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x9c9ac64b inet_shutdown +EXPORT_SYMBOL vmlinux 0x9c9e397f tcp_sendpage +EXPORT_SYMBOL vmlinux 0x9cb7ea18 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd3a53e path_put +EXPORT_SYMBOL vmlinux 0x9cda5c0a kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf3897f unregister_quota_format +EXPORT_SYMBOL vmlinux 0x9cf94d9e acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d0a76ee input_reset_device +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3ca17f iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x9d72de2e generic_ro_fops +EXPORT_SYMBOL vmlinux 0x9d90df92 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x9d9df82d generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x9dbe51b6 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x9dc97468 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x9dd82929 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x9ddd9f0e kfree_skb +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e192455 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x9e1ed1e5 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e3b14ec inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x9e4b3747 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x9e4d4dff posix_test_lock +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6490e0 d_add_ci +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e8881d9 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x9e926f9b max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x9e9700f7 lookup_one_len +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ed2a599 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f47b44d jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f49bd4c md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x9f760b60 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x9f9048e1 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9f93bbcb pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9c0265 kill_anon_super +EXPORT_SYMBOL vmlinux 0x9fa48dc5 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fbfcea5 ata_print_version +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9febb349 ps2_init +EXPORT_SYMBOL vmlinux 0x9ff7c557 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x9ff86bc6 user_path_create +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa0194de4 try_to_release_page +EXPORT_SYMBOL vmlinux 0xa04300ef xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xa0478e11 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa057abc4 security_path_chmod +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa083612a get_user_pages +EXPORT_SYMBOL vmlinux 0xa092d300 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0cf20bf cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xa0dbc8bb end_page_writeback +EXPORT_SYMBOL vmlinux 0xa0e3f714 sock_no_accept +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1204f3d skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12ddd7b kmem_cache_create +EXPORT_SYMBOL vmlinux 0xa1337965 key_type_keyring +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c0154a ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1dd928c filp_close +EXPORT_SYMBOL vmlinux 0xa1f61226 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa22852ad __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa2649420 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xa2784aa5 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa28e1100 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa2ffdbf4 dev_uc_add +EXPORT_SYMBOL vmlinux 0xa314cf7c qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xa319796d __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xa327c5b7 pci_dev_put +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa34fb3f6 skb_insert +EXPORT_SYMBOL vmlinux 0xa3504378 rwsem_wake +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa363dab4 udp_table +EXPORT_SYMBOL vmlinux 0xa381c326 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0xa3a0d014 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xa3ae37a1 simple_getattr +EXPORT_SYMBOL vmlinux 0xa3db0c9d generic_getxattr +EXPORT_SYMBOL vmlinux 0xa4003b15 ps2_drain +EXPORT_SYMBOL vmlinux 0xa411303e tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xa426db87 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xa439e8f6 pci_match_id +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa4504fc2 mmc_start_req +EXPORT_SYMBOL vmlinux 0xa45d086e pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xa4690868 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xa46c6bcd tty_mutex +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa498235f jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xa49edda4 write_one_page +EXPORT_SYMBOL vmlinux 0xa4b754f7 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c7d6f0 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4df0388 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xa4e09043 km_policy_notify +EXPORT_SYMBOL vmlinux 0xa4eb4eff _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xa4fc70d6 pci_iomap +EXPORT_SYMBOL vmlinux 0xa5024c27 netlink_set_err +EXPORT_SYMBOL vmlinux 0xa50c19ca kernel_accept +EXPORT_SYMBOL vmlinux 0xa51cdfe8 __FIXADDR_TOP +EXPORT_SYMBOL vmlinux 0xa53e1c52 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xa5424b54 km_new_mapping +EXPORT_SYMBOL vmlinux 0xa55fce45 __pskb_copy +EXPORT_SYMBOL vmlinux 0xa56cff8e blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xa56eae6e ipv4_specific +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5ab3f0a inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xa5da0abd acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0xa61e9d82 blk_requeue_request +EXPORT_SYMBOL vmlinux 0xa6259540 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xa62e6e4f acpi_get_table_with_size +EXPORT_SYMBOL vmlinux 0xa6322308 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa64437e2 input_inject_event +EXPORT_SYMBOL vmlinux 0xa64e058c netdev_alert +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa67da660 mempool_alloc +EXPORT_SYMBOL vmlinux 0xa67e2845 dq_data_lock +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6ac30ac jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xa6b13658 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xa6d1d4fa mmc_erase +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa7024f43 dma_pool_create +EXPORT_SYMBOL vmlinux 0xa7064765 __destroy_inode +EXPORT_SYMBOL vmlinux 0xa70b096d scsi_print_command +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71534b8 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xa71e7463 __first_cpu +EXPORT_SYMBOL vmlinux 0xa726aaca module_refcount +EXPORT_SYMBOL vmlinux 0xa73ef424 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xa7456674 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xa787c551 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xa7a3f77f __nlmsg_put +EXPORT_SYMBOL vmlinux 0xa7a679ce tcp_disconnect +EXPORT_SYMBOL vmlinux 0xa7a8fb15 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xa7cf6c2f atomic64_dec_return_cx8 +EXPORT_SYMBOL vmlinux 0xa7eec033 inet_frag_kill +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8256ade mmc_can_trim +EXPORT_SYMBOL vmlinux 0xa8425f57 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xa8498abd pci_fixup_device +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa89f2caf pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8c7f9be input_set_capability +EXPORT_SYMBOL vmlinux 0xa8d4a4e9 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8f4d95d km_query +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa9021954 inet_getname +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa91df136 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xa93db5f3 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xa945c5fc key_reject_and_link +EXPORT_SYMBOL vmlinux 0xa94da7c1 mount_nodev +EXPORT_SYMBOL vmlinux 0xa989ed83 neigh_destroy +EXPORT_SYMBOL vmlinux 0xa99d5f2e phy_device_free +EXPORT_SYMBOL vmlinux 0xa9b8bc49 __put_cred +EXPORT_SYMBOL vmlinux 0xa9c1b627 intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0xaa28177d i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xaa333a81 blkdev_put +EXPORT_SYMBOL vmlinux 0xaa397122 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa7e1552 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xaa8fea18 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xaaab8067 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaade221a swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0xaade6052 locks_init_lock +EXPORT_SYMBOL vmlinux 0xaae403b9 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab1e4ee1 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xab28271c i8253_lock +EXPORT_SYMBOL vmlinux 0xab438949 serio_interrupt +EXPORT_SYMBOL vmlinux 0xab451cd7 con_is_bound +EXPORT_SYMBOL vmlinux 0xab460bed pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xab58b77c i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab6355f1 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xab97bc30 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xabb3b495 set_pages_uc +EXPORT_SYMBOL vmlinux 0xabb3c395 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabcc09a9 simple_fill_super +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac18b089 dst_alloc +EXPORT_SYMBOL vmlinux 0xac2bb4ac pagevec_lookup +EXPORT_SYMBOL vmlinux 0xac33396b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xac3437d9 security_path_symlink +EXPORT_SYMBOL vmlinux 0xac4942dc kmap +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac5bfb94 pci_remove_bus +EXPORT_SYMBOL vmlinux 0xac5c1b75 key_revoke +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac7ed599 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xacb0f5d7 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xacc65135 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf92f6b write_inode_now +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad07f027 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xad0be1db acpi_bus_start +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad2a7164 kernel_read +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad4675fd pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xad4cdfcd rtnl_unicast +EXPORT_SYMBOL vmlinux 0xad53c978 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xad559ce3 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xad5ae635 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xad6527c4 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad9485f3 __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xada4349c scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadfbfee0 find_lock_page +EXPORT_SYMBOL vmlinux 0xae10bb2a generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xae218ba0 padata_start +EXPORT_SYMBOL vmlinux 0xae307c17 inode_only_permission +EXPORT_SYMBOL vmlinux 0xae6be8c3 rtnl_notify +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae783378 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xae804de3 vlan_vid_add +EXPORT_SYMBOL vmlinux 0xae9344a6 scsi_device_get +EXPORT_SYMBOL vmlinux 0xae97dbf6 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xaea976a8 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xaeb32da8 mntput +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaed8337f dev_deactivate +EXPORT_SYMBOL vmlinux 0xaee97e7e vfs_unlink +EXPORT_SYMBOL vmlinux 0xaef42cd9 ab3100_event_register +EXPORT_SYMBOL vmlinux 0xaef9bb56 __blk_end_request +EXPORT_SYMBOL vmlinux 0xaefa6154 lock_may_write +EXPORT_SYMBOL vmlinux 0xaf083d1e rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xaf182c63 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xaf29bab9 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4b1540 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xaf611eac amd_nb_misc_ids +EXPORT_SYMBOL vmlinux 0xaf7228df generic_listxattr +EXPORT_SYMBOL vmlinux 0xaf7edf74 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xaf9d9ecc __register_nmi_handler +EXPORT_SYMBOL vmlinux 0xafa2933f dquot_commit_info +EXPORT_SYMBOL vmlinux 0xafa2c013 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xafa67cb5 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xaff71b77 set_trace_device +EXPORT_SYMBOL vmlinux 0xb0207ecf ___ratelimit +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0a8fd0a intel_gtt_unmap_memory +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0c2ea4c journal_lock_updates +EXPORT_SYMBOL vmlinux 0xb0dbb836 pci_target_state +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0fe25dc scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xb11635d4 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12ce794 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xb1506ecb elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xb1530cdd processors +EXPORT_SYMBOL vmlinux 0xb15d41b7 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb1712054 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xb1771e73 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xb1957770 set_page_dirty +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cd2f00 pci_enable_msix +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1d9523e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xb1da4dcb tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xb1db0cdf proto_register +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb21d44bf blk_rq_init +EXPORT_SYMBOL vmlinux 0xb21f884e zero_fill_bio +EXPORT_SYMBOL vmlinux 0xb2311817 prepare_creds +EXPORT_SYMBOL vmlinux 0xb24616a2 inet_listen +EXPORT_SYMBOL vmlinux 0xb2554372 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2744b36 down_write_trylock +EXPORT_SYMBOL vmlinux 0xb28c9f08 serial8250_register_port +EXPORT_SYMBOL vmlinux 0xb29a462f register_netdevice +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2c831b6 cdev_init +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2d81a1f sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xb2efcfea agp_enable +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb349a614 md_register_thread +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb34f0ed0 napi_gro_flush +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb35703f1 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xb3745e7f __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xb3a2733b dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0xb3be68cc inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xb3e0590d acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0xb3f95e4c udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xb3fb04a1 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xb3fdf5b6 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb4471b80 mutex_trylock +EXPORT_SYMBOL vmlinux 0xb45578b8 memscan +EXPORT_SYMBOL vmlinux 0xb46aca4c pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb47a35c6 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xb47c99f3 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xb4cbaeeb bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xb4cf0c64 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xb4d38f5b grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xb4d6e420 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xb4d7a378 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xb4e4b5fe phy_find_first +EXPORT_SYMBOL vmlinux 0xb4f44340 pci_dev_get +EXPORT_SYMBOL vmlinux 0xb510975a bdi_register +EXPORT_SYMBOL vmlinux 0xb519ad30 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb541bad7 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5665f21 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5772f25 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xb577ee8d register_sysctl +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5e8ab01 netif_rx_ni +EXPORT_SYMBOL vmlinux 0xb5fa25a4 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xb6172a22 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb62c6423 serio_reconnect +EXPORT_SYMBOL vmlinux 0xb64643a0 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xb6588e7a idr_remove +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb6890043 inode_init_always +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6be82cd pv_cpu_ops +EXPORT_SYMBOL vmlinux 0xb6c1f5d1 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0xb6c53502 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6ed1e53 strncpy +EXPORT_SYMBOL vmlinux 0xb6fd162c dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0xb70cbbd6 give_up_console +EXPORT_SYMBOL vmlinux 0xb749081f keyring_clear +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb7828347 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xb79cac45 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xb7aa7b5a revalidate_disk +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7c2d6f9 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xb7d2e59c __register_binfmt +EXPORT_SYMBOL vmlinux 0xb7f55ecc atomic64_add_return_cx8 +EXPORT_SYMBOL vmlinux 0xb810871c __ps2_command +EXPORT_SYMBOL vmlinux 0xb81254da agp_backend_acquire +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb8465515 d_rehash +EXPORT_SYMBOL vmlinux 0xb847d402 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xb863e8df seq_putc +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8a872da abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xb8bb5db2 netlink_unicast +EXPORT_SYMBOL vmlinux 0xb8d10b70 get_task_io_context +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb8f912e6 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xb8fc80ef mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb9299f7a tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xb93b2600 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xb9601ddb vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb99a7628 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xb99a924f console_stop +EXPORT_SYMBOL vmlinux 0xb99cf582 ida_get_new_above +EXPORT_SYMBOL vmlinux 0xb9a1af8c __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xb9aee20f fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xb9ffc4b1 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xba07dd01 pci_select_bars +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba7a920d splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xba8ea6ad rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xbac96d02 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xbae2b884 register_qdisc +EXPORT_SYMBOL vmlinux 0xbb02f9bd sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xbb03def1 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb222799 key_invalidate +EXPORT_SYMBOL vmlinux 0xbb466577 lro_flush_all +EXPORT_SYMBOL vmlinux 0xbb532158 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xbb555cd6 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb66e302 dquot_drop +EXPORT_SYMBOL vmlinux 0xbb740273 backlight_force_update +EXPORT_SYMBOL vmlinux 0xbb837d27 machine_real_restart +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbafe7b6 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xbbdb9143 address_space_init_once +EXPORT_SYMBOL vmlinux 0xbbe00e69 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xbbfa2f0f abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0xbc1afedf up_write +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc540665 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xbc55d30f genphy_suspend +EXPORT_SYMBOL vmlinux 0xbc961843 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xbca1f291 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xbcb64f3f unregister_con_driver +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc99e4f put_disk +EXPORT_SYMBOL vmlinux 0xbce456ed generic_permission +EXPORT_SYMBOL vmlinux 0xbcf346f6 pnp_is_active +EXPORT_SYMBOL vmlinux 0xbcfa6603 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xbd483188 file_sb_list_del +EXPORT_SYMBOL vmlinux 0xbd6c872a input_register_handler +EXPORT_SYMBOL vmlinux 0xbd722094 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xbd80ca38 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xbda326f4 skb_store_bits +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe1c3e2c arp_invalidate +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe844dc8 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xbe8c37d9 intel_scu_ipc_simple_command +EXPORT_SYMBOL vmlinux 0xbe9a9bc4 vfs_write +EXPORT_SYMBOL vmlinux 0xbe9b7744 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xbebfab6d tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xbec30d05 x86_match_cpu +EXPORT_SYMBOL vmlinux 0xbed5a68c d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbeef6be3 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8b39e9 isapnp_present +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfe4784c efi +EXPORT_SYMBOL vmlinux 0xbfe49a52 kill_fasync +EXPORT_SYMBOL vmlinux 0xbfe7dc7f pci_find_capability +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff1ccfd security_path_rename +EXPORT_SYMBOL vmlinux 0xc01cf848 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xc01eed33 __copy_from_user_ll_nozero +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06821b0 md_write_start +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc08ed05c genphy_update_link +EXPORT_SYMBOL vmlinux 0xc0953d37 ps2_end_command +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0a8ff16 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xc0b61b6a kill_pid +EXPORT_SYMBOL vmlinux 0xc0dad6e4 add_disk +EXPORT_SYMBOL vmlinux 0xc0dc88d5 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xc0ecb0cd iget_locked +EXPORT_SYMBOL vmlinux 0xc108a643 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc13ff1c4 elv_register_queue +EXPORT_SYMBOL vmlinux 0xc156e89b __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xc15bbb77 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xc169bd6d genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc1b7b533 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xc1bea92d freeze_super +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1e6f42d blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xc1f72918 inode_change_ok +EXPORT_SYMBOL vmlinux 0xc2071bd0 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xc21c2265 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc25e8dc3 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xc27e3b8d blk_end_request_all +EXPORT_SYMBOL vmlinux 0xc280a525 __copy_from_user_ll +EXPORT_SYMBOL vmlinux 0xc281fcf8 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xc286302a pnp_device_attach +EXPORT_SYMBOL vmlinux 0xc293a804 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xc29c364d fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xc2a273a3 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xc2b825d5 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f76625 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc3011544 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xc320f934 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xc337ddc3 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xc35b64f1 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xc35c4380 follow_up +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3ae3411 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xc3e200df netif_napi_del +EXPORT_SYMBOL vmlinux 0xc3fa6a59 memchr +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc40d0583 scsi_dma_map +EXPORT_SYMBOL vmlinux 0xc41e8f7a wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xc421584e genl_unregister_family +EXPORT_SYMBOL vmlinux 0xc427e81f tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xc4514ed0 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xc4554217 up +EXPORT_SYMBOL vmlinux 0xc45ebaf5 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4d1dd08 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xc4dece35 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xc5384523 mpage_writepages +EXPORT_SYMBOL vmlinux 0xc539fa2e fd_install +EXPORT_SYMBOL vmlinux 0xc5463379 inet_frag_find +EXPORT_SYMBOL vmlinux 0xc54b82b0 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558c984 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xc56ec92e tty_port_close_start +EXPORT_SYMBOL vmlinux 0xc57ab7bc proc_dostring +EXPORT_SYMBOL vmlinux 0xc57b800f blk_get_request +EXPORT_SYMBOL vmlinux 0xc591b291 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xc59f3579 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xc5a02b84 skb_put +EXPORT_SYMBOL vmlinux 0xc5bd051b blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xc5c2b6ef security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xc5c74531 __mutex_init +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5fc7841 sock_map_fd +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc634b57d blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xc6382f49 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xc63cc125 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc656ee78 sock_create +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc6890ef3 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xc6903e43 mnt_pin +EXPORT_SYMBOL vmlinux 0xc6907fb1 vm_mmap +EXPORT_SYMBOL vmlinux 0xc699162b iterate_supers_type +EXPORT_SYMBOL vmlinux 0xc6b23120 intel_scu_ipc_iowrite16 +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6e3e250 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0xc6e61430 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xc700b2b3 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc747ea8a blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xc74fea10 scsi_free_command +EXPORT_SYMBOL vmlinux 0xc768de19 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc76a9121 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xc76d55e2 sk_run_filter +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c78689 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xc7d2929c phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xc7e5255d __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xc7e609b2 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7fa93f1 journal_create +EXPORT_SYMBOL vmlinux 0xc8011f7a mmc_release_host +EXPORT_SYMBOL vmlinux 0xc80e56f2 vc_resize +EXPORT_SYMBOL vmlinux 0xc81630e7 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc82dba1a neigh_event_ns +EXPORT_SYMBOL vmlinux 0xc837dbc9 input_release_device +EXPORT_SYMBOL vmlinux 0xc84308ee filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85b7502 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ba1eff scsi_init_io +EXPORT_SYMBOL vmlinux 0xc8bbe621 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0xc8c4bf29 complete_request_key +EXPORT_SYMBOL vmlinux 0xc8db8965 set_bdi_congested +EXPORT_SYMBOL vmlinux 0xc8e0b6e7 __register_chrdev +EXPORT_SYMBOL vmlinux 0xc8eaa381 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xc90d2a0c dev_mc_flush +EXPORT_SYMBOL vmlinux 0xc917c50f blk_start_request +EXPORT_SYMBOL vmlinux 0xc93c8d07 journal_abort +EXPORT_SYMBOL vmlinux 0xc95bbc0b bio_map_kern +EXPORT_SYMBOL vmlinux 0xc96bb864 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xc977c595 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xc98e4e5f max8925_reg_read +EXPORT_SYMBOL vmlinux 0xc98ee66a block_commit_write +EXPORT_SYMBOL vmlinux 0xc995d54d tcp_tso_segment +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc9a8c1e3 netdev_emerg +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9bc30b7 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xc9d9a899 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0xca0a5dff mpage_readpage +EXPORT_SYMBOL vmlinux 0xca0ca5ae mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xca112652 bioset_free +EXPORT_SYMBOL vmlinux 0xca11b9d7 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xca38028a igrab +EXPORT_SYMBOL vmlinux 0xca52b477 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca654982 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xca966b61 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xcaa596fe agp_put_bridge +EXPORT_SYMBOL vmlinux 0xcaac0636 bio_phys_segments +EXPORT_SYMBOL vmlinux 0xcad12766 init_net +EXPORT_SYMBOL vmlinux 0xcb451e56 idr_init +EXPORT_SYMBOL vmlinux 0xcb4d8d19 journal_destroy +EXPORT_SYMBOL vmlinux 0xcb5eba2f max8998_update_reg +EXPORT_SYMBOL vmlinux 0xcb6796c8 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb74dd12 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xcb781dcb arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xcb783cca __netif_schedule +EXPORT_SYMBOL vmlinux 0xcb895bb2 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcbc49e77 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbdf3117 netdev_features_change +EXPORT_SYMBOL vmlinux 0xcbf346a2 mii_nway_restart +EXPORT_SYMBOL vmlinux 0xcc0eac2d acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc3d8dd8 pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xcc46a24b swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xcc481af0 skb_append +EXPORT_SYMBOL vmlinux 0xcc4d1bfb atomic64_read_cx8 +EXPORT_SYMBOL vmlinux 0xcc4f353e scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5b27b5 acpi_extract_package +EXPORT_SYMBOL vmlinux 0xcc5dfacb scsi_remove_target +EXPORT_SYMBOL vmlinux 0xcc688271 d_make_root +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcca742d2 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0xccafd4b1 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xccb3cb9f dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xcce6d4c0 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xccff6ddd scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xcd0e34d1 get_io_context +EXPORT_SYMBOL vmlinux 0xcd14dd43 set_create_files_as +EXPORT_SYMBOL vmlinux 0xcd188f07 security_path_truncate +EXPORT_SYMBOL vmlinux 0xcd1ba4ed noop_llseek +EXPORT_SYMBOL vmlinux 0xcd1c5f0f scsi_execute_req +EXPORT_SYMBOL vmlinux 0xcd1fd26d pci_get_device +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd30918a scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xcd4bc126 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xcd861511 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xcd8d01d9 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xcd9c5c37 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xcdb4cee9 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xcdc446d7 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xcdd290ae key_link +EXPORT_SYMBOL vmlinux 0xcdd93268 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0xcde07bb2 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdf1f291 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce1f5873 kobject_add +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce43c3c9 udp_prot +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce59b3f1 __blk_run_queue +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce6b3efe jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xce76e808 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xce7ee9fd pagecache_write_end +EXPORT_SYMBOL vmlinux 0xce9c7cbd atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xcea0a119 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xceb2aadc textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xceb2f9bf tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xcebff422 intel_gtt_get +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf3dfb65 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xcf510c4a mutex_lock +EXPORT_SYMBOL vmlinux 0xcf560f89 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xcf5bcfab gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf6ea7a0 arp_find +EXPORT_SYMBOL vmlinux 0xcf917db3 pci_release_region +EXPORT_SYMBOL vmlinux 0xcfb98fff scsi_unregister +EXPORT_SYMBOL vmlinux 0xcfbe628b skb_gso_segment +EXPORT_SYMBOL vmlinux 0xcfda6461 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xcfe05d4d register_kmmio_probe +EXPORT_SYMBOL vmlinux 0xcfe20fab alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcff502bc scsi_block_requests +EXPORT_SYMBOL vmlinux 0xcffd69c5 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0xcfff587b input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xd003a57c dev_activate +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd058103a pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd0948014 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0cfc3e8 skb_pull +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0d8621b strlen +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f0d945 down_read +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0f566e2 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd13fc843 register_framebuffer +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd15d82b2 log_wait_commit +EXPORT_SYMBOL vmlinux 0xd16fe0c8 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xd178aa43 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0xd17bfe96 scsi_print_result +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd189f743 journal_forget +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd18b83dc dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd1c85401 kdb_current_task +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd20f780e __page_symlink +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd2329de3 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xd2424b56 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd266efe7 mempool_create +EXPORT_SYMBOL vmlinux 0xd26ebe79 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xd277fa75 unlock_page +EXPORT_SYMBOL vmlinux 0xd29121d4 fb_pan_display +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2c43c85 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xd2cc5952 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xd2d3cc5d scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xd2e6a582 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xd2eff7c0 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xd300d42b elv_unregister_queue +EXPORT_SYMBOL vmlinux 0xd3130dd0 mii_link_ok +EXPORT_SYMBOL vmlinux 0xd314535e scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xd31c4ae5 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xd33a1f13 simple_link +EXPORT_SYMBOL vmlinux 0xd3526336 udp_poll +EXPORT_SYMBOL vmlinux 0xd35e249a _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xd363b65e security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xd36f8a11 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd38b2d94 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xd38d954b agp_backend_release +EXPORT_SYMBOL vmlinux 0xd3ab5741 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xd3b2b475 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xd3c08471 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd3cbd851 vc_cons +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd404fa7d blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xd41efcd7 sk_dst_check +EXPORT_SYMBOL vmlinux 0xd41efde2 generic_file_open +EXPORT_SYMBOL vmlinux 0xd4297a84 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xd45717d1 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xd46390a2 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xd48628ba inetdev_by_index +EXPORT_SYMBOL vmlinux 0xd4c3b174 printk_emit +EXPORT_SYMBOL vmlinux 0xd4cda6f1 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xd4ce552f blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xd4e866d4 devm_gpio_request +EXPORT_SYMBOL vmlinux 0xd502875c ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xd5039a5c pskb_expand_head +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd56cd344 elv_rb_add +EXPORT_SYMBOL vmlinux 0xd589e84b vfs_rmdir +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5eabbcc dev_load +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd5f85064 mount_ns +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd620d264 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xd62298d0 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd66a9070 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6b37b48 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xd6b3d429 dev_close +EXPORT_SYMBOL vmlinux 0xd6d41c36 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xd6ee1d23 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd703f07f find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xd70b6cd9 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xd721a4fb generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xd73cbcd4 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd7750831 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd7814478 sock_no_mmap +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79f0fb8 pci_pme_active +EXPORT_SYMBOL vmlinux 0xd7a9c611 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xd7bd3af2 add_wait_queue +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd83599f8 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xd8486f23 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xd8526da0 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xd85833cb __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xd85df7d4 boot_cpu_data +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8be2746 mapping_tagged +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8e82e6e netdev_state_change +EXPORT_SYMBOL vmlinux 0xd8ecbfbb remap_pfn_range +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd939f96d __lock_page +EXPORT_SYMBOL vmlinux 0xd94088af twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xd9654652 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xd969b2c7 amd_e400_c1e_detected +EXPORT_SYMBOL vmlinux 0xd97402a4 pnp_register_driver +EXPORT_SYMBOL vmlinux 0xd9843cbd simple_empty +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd986dad1 kernel_fpu_begin +EXPORT_SYMBOL vmlinux 0xd990546c lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xd9b48ee5 tty_write_room +EXPORT_SYMBOL vmlinux 0xd9d47963 journal_clear_err +EXPORT_SYMBOL vmlinux 0xd9f5ca8a pci_enable_ltr +EXPORT_SYMBOL vmlinux 0xda08c0d7 pcibios_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda149551 spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0xda1b07dd netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xda63fbfb skb_trim +EXPORT_SYMBOL vmlinux 0xda6b8195 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8fd495 isapnp_write_byte +EXPORT_SYMBOL vmlinux 0xda99c250 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaac02b3 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xdaf70a05 ip_check_defrag +EXPORT_SYMBOL vmlinux 0xdb193d30 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xdb3851cf jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xdb395862 sock_register +EXPORT_SYMBOL vmlinux 0xdb3f299d vfs_follow_link +EXPORT_SYMBOL vmlinux 0xdb40ad1c dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb7b5299 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdbb38995 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbcf0f0d swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xdbf0eec6 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1c905c tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xdc210645 __quota_error +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc2fa6c7 pci_restore_state +EXPORT_SYMBOL vmlinux 0xdc35bac2 sock_no_connect +EXPORT_SYMBOL vmlinux 0xdc38d9ed netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc570f62 lg_global_unlock +EXPORT_SYMBOL vmlinux 0xdc57f532 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xdc643924 set_blocksize +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcde1bf5 journal_extend +EXPORT_SYMBOL vmlinux 0xdce71f1f gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd16565a drop_super +EXPORT_SYMBOL vmlinux 0xdd18e5cd request_firmware +EXPORT_SYMBOL vmlinux 0xdd1a2871 down +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd2c462c vga_put +EXPORT_SYMBOL vmlinux 0xdd39096d scsi_add_device +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd58c002 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xdd5eb1b4 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xdd858472 journal_ack_err +EXPORT_SYMBOL vmlinux 0xdd8823e4 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xdd9d56c5 d_invalidate +EXPORT_SYMBOL vmlinux 0xddb96ef7 tc_classify +EXPORT_SYMBOL vmlinux 0xddc8388a vfs_rename +EXPORT_SYMBOL vmlinux 0xdde58f67 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xdde7d84a i2c_master_send +EXPORT_SYMBOL vmlinux 0xde25856a simple_release_fs +EXPORT_SYMBOL vmlinux 0xde287392 __dev_printk +EXPORT_SYMBOL vmlinux 0xde2925e2 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xde5f31ca posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xde602856 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xde756db9 path_get +EXPORT_SYMBOL vmlinux 0xde7ec142 vfs_read +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xde9e9138 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xdeae679e pci_disable_device +EXPORT_SYMBOL vmlinux 0xdec778f6 ida_get_new +EXPORT_SYMBOL vmlinux 0xdecebd81 scsi_host_put +EXPORT_SYMBOL vmlinux 0xdeded5ee padata_free +EXPORT_SYMBOL vmlinux 0xdefe4ad0 sock_release +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf235159 get_disk +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf5524c4 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xdf5d1e76 check_disk_size_change +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf6c3c3b netdev_update_features +EXPORT_SYMBOL vmlinux 0xdf6d5dda neigh_update +EXPORT_SYMBOL vmlinux 0xdf867369 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf8eddf3 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf9ea27d f_setown +EXPORT_SYMBOL vmlinux 0xdfc228f1 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xdfc3bc0a load_nls_default +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfcc780a follow_pfn +EXPORT_SYMBOL vmlinux 0xdfccfea5 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xdfe1ed6b genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0xe0078b25 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xe010aef0 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe060eb67 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe070f1bc scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe09394a4 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xe09d89fa tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xe0a16a20 intel_scu_ipc_i2c_cntrl +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0c26aee udp_proc_register +EXPORT_SYMBOL vmlinux 0xe0ec9644 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xe0f522a7 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xe1081166 udp_disconnect +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe19783bc inode_get_bytes +EXPORT_SYMBOL vmlinux 0xe1c060cd scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xe1c495b4 is_container_init +EXPORT_SYMBOL vmlinux 0xe1ca5a28 arp_create +EXPORT_SYMBOL vmlinux 0xe1f3d387 block_read_full_page +EXPORT_SYMBOL vmlinux 0xe1fa85cd vfsmount_lock +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe210b9c5 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xe23a92c2 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe2494df0 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2735d4f pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xe290b977 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xe2aaae0b mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xe2bb2556 tcp_seq_open +EXPORT_SYMBOL vmlinux 0xe2bc3150 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xe2bd9711 neigh_table_init +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe319eb24 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xe33ccdfd textsearch_register +EXPORT_SYMBOL vmlinux 0xe35ef521 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xe3baa1b9 set_anon_super +EXPORT_SYMBOL vmlinux 0xe3ceaf5e unregister_exec_domain +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe41a7c5a skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xe4261ab5 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xe42e44e7 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xe43ca7f9 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xe44ff571 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xe45f60d8 __wake_up +EXPORT_SYMBOL vmlinux 0xe46ee3b4 bio_copy_kern +EXPORT_SYMBOL vmlinux 0xe47afbf7 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4cd0f04 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0xe4d45672 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xe4f0ef03 save_mount_options +EXPORT_SYMBOL vmlinux 0xe4fa263c dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xe50f904f intel_scu_ipc_ioread16 +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe530d757 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xe53d58e9 dcache_readdir +EXPORT_SYMBOL vmlinux 0xe5503dc1 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe58193d7 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe59a0119 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xe59ded99 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xe5b02d03 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0xe5bbbe91 nobh_writepage +EXPORT_SYMBOL vmlinux 0xe5bd523a free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5cfd4ca sk_receive_skb +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe6341a93 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xe63d0e54 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe6462701 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xe66c3fe0 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe67e1457 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xe6822214 keyring_search +EXPORT_SYMBOL vmlinux 0xe6916a33 d_find_alias +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6a884c2 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xe6b3fe21 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xe6bf5918 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0xe6c88ef5 vfs_readlink +EXPORT_SYMBOL vmlinux 0xe6c9206f directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe7234851 __f_setown +EXPORT_SYMBOL vmlinux 0xe754465e nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe781b5f6 intel_scu_ipc_readv +EXPORT_SYMBOL vmlinux 0xe7a0f60c current_task +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7bcd1b0 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xe7c83c4e netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe812a516 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xe81799b0 start_tty +EXPORT_SYMBOL vmlinux 0xe8190781 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xe8267465 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe88e7a93 lg_global_lock +EXPORT_SYMBOL vmlinux 0xe8959c5e blk_stop_queue +EXPORT_SYMBOL vmlinux 0xe8a76122 ip6_xmit +EXPORT_SYMBOL vmlinux 0xe8ad37ab generic_removexattr +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b68849 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xe8c0096e inet_csk_accept +EXPORT_SYMBOL vmlinux 0xe8f3adaf nobh_write_begin +EXPORT_SYMBOL vmlinux 0xe8f575d9 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xe9094c6e mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe93543b0 load_nls +EXPORT_SYMBOL vmlinux 0xe9459a41 pci_ltr_supported +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe97b7683 scsi_scan_host +EXPORT_SYMBOL vmlinux 0xe98bb5ed __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe990ea70 kernel_connect +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe9c79350 do_sync_write +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea231fc2 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xea341472 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xea350a57 __serio_register_driver +EXPORT_SYMBOL vmlinux 0xea3a7a4c submit_bio +EXPORT_SYMBOL vmlinux 0xea3bc55b filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xea3bd7c8 dev_change_flags +EXPORT_SYMBOL vmlinux 0xea55e572 ip6_route_output +EXPORT_SYMBOL vmlinux 0xea74eed5 inode_dio_done +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea7b8a44 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xea8134e4 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xea85c09d thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xea88b585 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeae771e7 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xeaf523e8 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xeb14d9c2 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3a0e5f page_put_link +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb5ac86f may_umount_tree +EXPORT_SYMBOL vmlinux 0xeb91962f kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xeb93c10e dquot_destroy +EXPORT_SYMBOL vmlinux 0xeb9694c9 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xeb9ecfb2 journal_init_dev +EXPORT_SYMBOL vmlinux 0xeba56e5c cdrom_release +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebb8c7c0 read_cache_pages +EXPORT_SYMBOL vmlinux 0xebc88907 fsync_bdev +EXPORT_SYMBOL vmlinux 0xebd5feb1 cdev_add +EXPORT_SYMBOL vmlinux 0xebd74c70 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xebd9af36 read_dev_sector +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xec0bd57a dev_mc_del +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec19ac39 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xec2fca60 pnp_device_detach +EXPORT_SYMBOL vmlinux 0xec647ea5 iput +EXPORT_SYMBOL vmlinux 0xec828dc3 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xec88d358 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xecb3a5e1 clocksource_register +EXPORT_SYMBOL vmlinux 0xecb721f1 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xecbae874 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xecc02ee3 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xecc4e7e7 __brelse +EXPORT_SYMBOL vmlinux 0xecd6d711 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xed23a6d2 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed422c91 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xed6bd647 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xed72c29d scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda101c4 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xeda7a51c tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xeda9f8b6 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xedb9b823 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc69dda ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xedd6b5a2 dev_addr_init +EXPORT_SYMBOL vmlinux 0xee00916e xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xee28a33c dev_remove_pack +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3a0b92 current_fs_time +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee8d1125 inet6_bind +EXPORT_SYMBOL vmlinux 0xee8f1113 mpage_writepage +EXPORT_SYMBOL vmlinux 0xee9c3f4a pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeae5729 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xeed18ff8 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xeedf2d7c vmap +EXPORT_SYMBOL vmlinux 0xef176500 dput +EXPORT_SYMBOL vmlinux 0xef1d35b7 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xef26e006 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xef4ebedc __secpath_destroy +EXPORT_SYMBOL vmlinux 0xef4ff695 __block_write_begin +EXPORT_SYMBOL vmlinux 0xef5734d2 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xef7941c9 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xef83a1ff phy_connect_direct +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb54588 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xefb83abb blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xefdbb3fa abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0040079 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xf00ea5d0 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0xf00eaa30 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xf010ac9d dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xf05740df tty_port_open +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065d8a7 kill_pgrp +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06dfee8 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xf08f4714 account_page_dirtied +EXPORT_SYMBOL vmlinux 0xf0ba0366 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xf0c7d261 pci_disable_ido +EXPORT_SYMBOL vmlinux 0xf0ce7d50 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xf0d1cf0b dmam_pool_create +EXPORT_SYMBOL vmlinux 0xf0e09f72 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf100416a remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xf109ebc0 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf1243fad dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0xf12a5c83 idr_find +EXPORT_SYMBOL vmlinux 0xf12d331c lg_local_lock +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf1759a69 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xf179c316 key_validate +EXPORT_SYMBOL vmlinux 0xf17c4367 tty_port_put +EXPORT_SYMBOL vmlinux 0xf18242e1 atomic64_set_cx8 +EXPORT_SYMBOL vmlinux 0xf182fc12 lro_receive_skb +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1a91701 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1dcf2b6 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0xf1dd2b46 ata_port_printk +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1faac3a _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf2357254 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2437a7e vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0xf2635a48 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2c4ee2a proc_create_data +EXPORT_SYMBOL vmlinux 0xf2cc9988 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0xf2d0c73b agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf32055e7 dev_base_lock +EXPORT_SYMBOL vmlinux 0xf323e94a blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf335c5ad vfs_writev +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf3544af5 vfs_symlink +EXPORT_SYMBOL vmlinux 0xf364a328 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xf36524c6 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xf37260ab _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xf374a3f9 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xf37db040 __find_get_block +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf396cd21 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xf3986b06 acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0xf3ae591e put_io_context +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3ccd721 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xf3df4207 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xf3f1d47e send_sig +EXPORT_SYMBOL vmlinux 0xf3f2ca05 path_is_under +EXPORT_SYMBOL vmlinux 0xf3f59a9d udp_sendmsg +EXPORT_SYMBOL vmlinux 0xf431e7dd __skb_tx_hash +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4434be3 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xf453cf4b scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xf46b7f5c d_splice_alias +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4960638 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4aefa8c genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xf4afee26 sock_update_classid +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4bef453 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xf4d197ef dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xf4d645d1 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0xf4ddd479 generic_make_request +EXPORT_SYMBOL vmlinux 0xf4e25af8 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f19e51 downgrade_write +EXPORT_SYMBOL vmlinux 0xf4f4d9af dev_mc_init +EXPORT_SYMBOL vmlinux 0xf4fbad0e blk_end_request +EXPORT_SYMBOL vmlinux 0xf502d273 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0xf5089265 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf536d22e acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf54322cd ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xf54e1914 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xf557ca5c kobject_del +EXPORT_SYMBOL vmlinux 0xf56b3613 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xf5a851d0 vfs_readv +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5c72fb4 vm_insert_page +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5fe225e __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xf5fe3640 names_cachep +EXPORT_SYMBOL vmlinux 0xf607bf03 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xf6111def tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf68039f3 register_quota_format +EXPORT_SYMBOL vmlinux 0xf68d693a ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xf69b8e4e scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xf6a00411 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xf6ac51d4 skb_copy_expand +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6c6badd bdget +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f4463d vm_map_ram +EXPORT_SYMBOL vmlinux 0xf726d02f atomic64_add_unless_cx8 +EXPORT_SYMBOL vmlinux 0xf737c208 iunique +EXPORT_SYMBOL vmlinux 0xf745cb16 atomic64_sub_return_cx8 +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf75abea9 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xf75bc434 files_lglock +EXPORT_SYMBOL vmlinux 0xf75c3fc5 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xf76cee9c qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xf789e26b md_write_end +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7a466b0 __devm_request_region +EXPORT_SYMBOL vmlinux 0xf7a7263f acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0xf7d2eaa4 netif_device_detach +EXPORT_SYMBOL vmlinux 0xf7d384b1 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xf7de06a2 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xf7e37635 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf81cc49e agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xf82375dc dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xf8268249 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf84f6a44 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8c8deff default_llseek +EXPORT_SYMBOL vmlinux 0xf8d0bdbc eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xf8e23041 arp_send +EXPORT_SYMBOL vmlinux 0xf90d3159 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xf90fa3b0 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xf912670f mnt_unpin +EXPORT_SYMBOL vmlinux 0xf91aa5de __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf940a328 __next_cpu +EXPORT_SYMBOL vmlinux 0xf941466b pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xf95b7941 __nla_reserve +EXPORT_SYMBOL vmlinux 0xf960b39e init_buffer +EXPORT_SYMBOL vmlinux 0xf97456ea _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xf976537b input_event +EXPORT_SYMBOL vmlinux 0xf97bb3b7 flush_signals +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b3b5ae thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xf9dcdd10 security_file_permission +EXPORT_SYMBOL vmlinux 0xf9e050ef scm_detach_fds +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xfa0a8f90 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xfa1a9f66 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xfa2e2203 vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0xfa30957c mempool_free +EXPORT_SYMBOL vmlinux 0xfa505d1c generic_readlink +EXPORT_SYMBOL vmlinux 0xfa5d5639 __scsi_put_command +EXPORT_SYMBOL vmlinux 0xfa7114d9 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xfa771b7b nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xfa8e41d3 free_buffer_head +EXPORT_SYMBOL vmlinux 0xfaa9df2d pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xfaba14bd get_gendisk +EXPORT_SYMBOL vmlinux 0xfabeafa1 blk_make_request +EXPORT_SYMBOL vmlinux 0xfac0d441 do_truncate +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfadeb026 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb0b79af phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xfb1be686 ida_remove +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb711347 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0xfb724df7 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xfb7b7226 netdev_warn +EXPORT_SYMBOL vmlinux 0xfb80c7a0 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbb3ac22 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xfbcdb38b kern_unmount +EXPORT_SYMBOL vmlinux 0xfbd92a1a mmc_can_erase +EXPORT_SYMBOL vmlinux 0xfbe03680 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1e1be5 skb_dequeue +EXPORT_SYMBOL vmlinux 0xfc2b8446 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xfc2f7e79 blkdev_get +EXPORT_SYMBOL vmlinux 0xfc324ae2 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc3e7a17 netif_rx +EXPORT_SYMBOL vmlinux 0xfc4782ff blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0xfc52d22f make_bad_inode +EXPORT_SYMBOL vmlinux 0xfc562165 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xfc5c24ef inet_release +EXPORT_SYMBOL vmlinux 0xfc635aa2 create_proc_entry +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc7472aa tty_set_operations +EXPORT_SYMBOL vmlinux 0xfc774a3a elv_add_request +EXPORT_SYMBOL vmlinux 0xfc80ace8 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0xfc872fd1 get_ibs_caps +EXPORT_SYMBOL vmlinux 0xfc88e204 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xfc9c80e4 mem_map +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcac0d40 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0xfcb5fa5b journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcd9f09a simple_open +EXPORT_SYMBOL vmlinux 0xfcdc52da ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xfce3cded dm_io +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd142da1 kset_unregister +EXPORT_SYMBOL vmlinux 0xfd2fa679 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xfd34ce7e fb_blank +EXPORT_SYMBOL vmlinux 0xfd3e56f8 cad_pid +EXPORT_SYMBOL vmlinux 0xfd4a4919 build_skb +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd85286b blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xfd996d11 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfdc7f3ba idr_replace +EXPORT_SYMBOL vmlinux 0xfdcaaf91 kernel_listen +EXPORT_SYMBOL vmlinux 0xfdcceacd km_state_expired +EXPORT_SYMBOL vmlinux 0xfdee7d42 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe05b83f noop_qdisc +EXPORT_SYMBOL vmlinux 0xfe0be5f1 page_follow_link_light +EXPORT_SYMBOL vmlinux 0xfe12190f register_exec_domain +EXPORT_SYMBOL vmlinux 0xfe14a036 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xfe16f427 mntget +EXPORT_SYMBOL vmlinux 0xfe191883 security_inode_permission +EXPORT_SYMBOL vmlinux 0xfe4e1947 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xfe4f317d skb_unlink +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe76aee5 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe84a929 tty_kref_put +EXPORT_SYMBOL vmlinux 0xfe86fb03 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xfe9abd88 scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff188521 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff22d82a mmc_add_host +EXPORT_SYMBOL vmlinux 0xff289868 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xff31f90b sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xff3df4f1 security_mmap_file +EXPORT_SYMBOL vmlinux 0xff480992 dump_fpu +EXPORT_SYMBOL vmlinux 0xff4cc885 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xff598742 sock_no_listen +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff697560 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xff6db226 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff907ab5 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa19009 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xffb08a9f alloc_disk +EXPORT_SYMBOL vmlinux 0xffcac1f5 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe1a80d inet_select_addr +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL_GPL arch/x86/crypto/aes-i586 0x7060bf0a crypto_aes_encrypt_x86 +EXPORT_SYMBOL_GPL arch/x86/crypto/aes-i586 0xe409b491 crypto_aes_decrypt_x86 +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-i586 0x28afd262 twofish_enc_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-i586 0x6f068d90 twofish_dec_blk +EXPORT_SYMBOL_GPL arch/x86/kernel/microcode 0xdf66ca81 ucode_cpu_info +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00644261 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00ea6514 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x024e9ae9 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x07209989 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0948c3ca kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0a9f487c kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1029097b kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x10b56188 kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14ff38ae kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1502a4b3 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18e257ab __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18eff808 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a4342a5 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cfe78d1 kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1d8d88fb kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e372207 x86_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x23b52e0e gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2433d6fd __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x24b387e2 kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x250dc566 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x25858b12 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27f2d4f8 kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2cbb6c5c kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2db12a7e handle_mmio_page_fault_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f39a567 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f636c31 kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ccea114 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3cf69734 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3d950713 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3dd52e63 kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de08404 kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ec27643 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ee59a92 __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x41ccbeb5 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x451f8e4c kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x48299dac kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4ca0051f kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4d707b5b kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4f114ff8 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x51009d80 kvm_write_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x52073193 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x55aa7239 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x56ee65d3 kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x60b5574b kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63ce47c4 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x669da1fd kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x66eec3d2 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x685b8631 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x693ecd79 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6992ea50 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6db19e07 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x709f24fe kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x71315a95 kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x72b4756b gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74a0bfcb kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74fbc94a is_fault_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7a45cc9e kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7aa64803 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7aabb73a load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c55e27e kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c9b19a5 is_noslot_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7e7f3479 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x809a9f10 fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x831327da kvm_max_guest_tsc_khz +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x84ceb28c __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x85abf303 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x85f6f380 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8da01274 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e1cd06f kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x91c7a5be kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9291c3b0 kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92f4b91a kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x94710543 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a216313 kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9bf15e76 gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9f03e447 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa0cffd9e kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa2891f49 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa6e105ad gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa775443b gfn_to_pfn_async +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa91845be is_invalid_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaac7c868 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaed01304 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xafa53fbf kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb284eed4 __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2a65cca __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb768cf1e __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb7988b66 kvm_read_guest_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba9ed435 kvm_mmu_set_mmio_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc107add hva_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc2b538e __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc2b937d is_hwpoison_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbca33910 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd4db4cd kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf05ab76 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc102150a kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc155dc88 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc41932bb kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc7f8b60a gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb67ce10 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xccf9f3a8 kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd00adca9 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0459e67 kvm_has_tsc_control +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd89789ad kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdea2c30c kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe2b7e691 kvm_requeue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe6ef1453 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe6f640bc kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe752f781 kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe8dffb49 kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9790e86 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9a42ab2 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xec332b6c kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf1339cc7 kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf302da96 kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf5bbb66a kvm_fast_pio_out +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf859d143 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf9e170bb kvm_before_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa6d5b3d kvm_after_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfecd8a71 kvm_put_kvm +EXPORT_SYMBOL_GPL crypto/af_alg 0x2c81d754 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x7e7cde9c af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x80b540ed af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x8ad8122c af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x9373583d af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0xa2a3c7a7 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xa95eaccd af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xafe5c7fe af_alg_register_type +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xcde35cb7 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xbf048f35 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xdb5b4522 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc2f32e7b async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xd525c63f async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x40f350e0 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x50cfb08e __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9f70a380 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xc70bbebb async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xb8f13fea async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xbd4ecb9e async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xa35bf3f7 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x08445fc1 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x1e534877 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x2c92554a cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x487e8ad8 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x79bb534b cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x7e8e60a2 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x7eb5c53b cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x949a5c0b cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xb321ccbb cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xec4e0a11 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x60499a0c lrw_crypt +EXPORT_SYMBOL_GPL crypto/lrw 0xcd074900 lrw_init_table +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x34f69c29 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x5ddb33e9 __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x77b39cb4 __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8a1a99ad __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xd72110c4 twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xc1e2ed13 xts_crypt +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x1c8984c7 acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x87bd07bd acpi_smbus_register_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0xb9a141b0 acpi_smbus_read +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0xe1372311 acpi_smbus_write +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x908e677d __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xe59d21ec __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x02ff9464 cfag12864b_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x0ecb2e5d cfag12864b_disable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x305dc3c6 cfag12864b_isenabled +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x3389f926 cfag12864b_enable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x9522a342 cfag12864b_getrate +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0xc48e9d95 cfag12864b_buffer +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1551b84e bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x25411d88 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x46262260 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x563a334b bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x597e7c8b bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7609177b bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x898d8862 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x89c49ff9 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa02fa089 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xaff0a25b bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb272fe54 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb6b25096 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xbc3d9bf1 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcb9167e0 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xce1451e0 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x0c38cbf8 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x110084ec btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x12f989cc btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5ebe31aa btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x63377f69 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6f87d504 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8191cf0f btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa9bf2a64 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc8fa1ea1 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xee0c4ca9 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/char/scx200_gpio 0x1a8b8d3a scx200_gpio_ops +EXPORT_SYMBOL_GPL drivers/dca/dca 0x0dc11e65 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x0e153f30 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x1bdb8cc0 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x32326124 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x66e7bbf9 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x88d96019 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xeccedd4f free_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0561ec12 find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x079b9192 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x081dcc95 edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0f677746 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x18158947 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2db5d243 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3084ceb4 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x39a55f1c edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3d606a3f edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x436dec99 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4445e3ef edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x69259f22 edac_mem_types +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x94c93cd0 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9aa03372 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9cd4b80f edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb5609e0f edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbae51552 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc6532628 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xcae34c08 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xcecd9946 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd1321d31 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xef5b51fa edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xfe733806 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0d38cee6 amd_decode_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0dc0b68c amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1d34e996 pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x233ce2e4 to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x3eba1a17 rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x593ec4b5 ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x6d4e6991 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xaeeba16b tt_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb0ca1fe7 ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2b73a3a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x19e30787 extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x43c6cdc2 extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x5131dd35 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x698d7a06 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6cd52cfe extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9783979b extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9fae127e extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xa19764a1 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xba10a472 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe506eaa1 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf8a5d6e6 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xfd7c1562 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xf4ade51f fw_card_release +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0x013fbdac cs5535_gpio_set +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0x93f8fe67 cs5535_gpio_set_irq +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0xc0bb404a cs5535_gpio_setup_event +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0xd3bd9300 cs5535_gpio_isset +EXPORT_SYMBOL_GPL drivers/gpio/gpio-cs5535 0xe07c0954 cs5535_gpio_clear +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x2551fcf6 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x7e034b32 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xacf3efbc __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xda1f521a __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x35501da5 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x99829b74 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x05876c69 i915_gpu_busy +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x08a7896d i915_gpu_raise +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x402468e9 i915_gpu_lower +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x500858b9 i915_read_mch_val +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0xe7237b0b i915_gpu_turbo_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x53e8250d ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x73983820 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xd15745ff ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00b42e6e __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x056793c7 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05f08fb3 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x07ad702f hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0944b1fc hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x12316f03 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x12d3e6fd hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2738c740 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3906e6ea hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3e802282 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5486f9b2 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5660ef33 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x65912fda hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x749c3ba8 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8a5064a4 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x92cabb34 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x93a832bd hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa0085114 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaf4a2971 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaf773c33 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb2fbd1a9 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc698e1c8 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc893ea6e hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcdc1c2f5 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd06f745d hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe18fc778 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe91289f5 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeebf8e1a hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xef4d325e hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0xdc252568 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x84b7b08b roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xff7a5bb2 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x1580d470 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x23002c0d usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x2ab40f30 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x40190d19 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0c83571c hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x238b5f1d hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2cb76b38 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x39be5c4a hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7e68f653 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8351b0dc hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8a64674b hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9abd65cd hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa5dade14 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc9b0c2cd hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xcfc1cb37 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe3898388 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe4eb0849 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x32f22ad7 vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x5da42925 vmbus_sendpacket_multipagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x5e4888ef vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7399e7ec vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7db911a2 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8e034059 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8fbbc7cd vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa9df2e20 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc91a78a4 vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf7602e02 vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0242f504 i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x676fe479 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x71a08dca i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x8191d756 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x94cf742d i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xb4e0de43 i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xd741abb9 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xf19954d1 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xf6b84520 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x128caced nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x1780934e i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xd10ec85a i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x0b061b29 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x1ca8fe57 i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1b8365d6 iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x39b4284e iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3c8a330f iio_st_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5055b449 iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6d44ce11 iio_st_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x76381f8a iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa0b9f5b0 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa16b867d iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa7eaa245 iio_scan_mask_set +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xabc8c424 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb5ebe0ef iio_st_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdc3a715b iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdd62b887 iio_st_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdec7f11d iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf8097324 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x2a723231 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x748ca61b adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x1874100f cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x3bb468b4 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xddac3430 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1aac6148 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x37063d96 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3abd32c2 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4a369575 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4c687f40 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x869c95eb wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x87ddda69 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x971df593 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9b2288b1 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9ec1556c wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9f787d09 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa5f339c3 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0x4de7b2d0 unregister_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0xb17b7c77 register_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x275b9f80 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x62a13bc7 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x769e8378 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x826be2ca gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8b087c5c gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8e709963 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x90c2cc88 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x98fd33fe gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa19d74b4 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb8a90fba gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbb8a45de gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbddc72c1 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xce30baf8 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd623a5fd gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe6006317 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf657360f gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xfa802048 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x22163b69 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x3909d3a8 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x594952bd dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x62a23587 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9b2b253a dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcfebaaa6 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xdc69e37a dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe004ee92 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x836a19e7 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xe95bc9c4 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09472122 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6a1e6667 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x74ae2b08 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x92abac88 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa7742cc2 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa8813ad6 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xb7bed02f dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc66ce277 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xcab63c3d dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xdd5b46f0 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf37a3cfe dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x03ced457 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x08a936ca dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11eab9fe dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c112836 dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2e730a21 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x40f7bd91 dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x61c7c085 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b2ff62 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x80c89b3d dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9b4b5b29 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2507774 dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa6aae3ea dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa88fac22 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb7bad799 dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb967690a dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb9a6ecf8 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbaa513b0 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbc5fe7c1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbcfdc290 dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xca2bde4d dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xccaeb9ae dm_sm_checker_create_fresh +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd32479bc dm_sm_checker_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdb562135 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf99dc2cf dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/raid1 0x266076a0 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x1a43e0a2 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x1c1097aa saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x25ae54a5 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x30fe8872 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6097c2cd saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x670d7823 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x8c21ccd4 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbc4ec5aa saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc96670b1 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xd1aacadb saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xdfacaf6c saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xeb85c462 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x0b3a9f7e saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x1833a577 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x1c25ca58 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x3221823f saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x65f11e18 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x718ffc5b saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xd5062cff saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x58c1bef7 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x719fe109 tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xe2c04ffd tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x280839e9 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x84eca0cc mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x61c99e20 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x66fe5be9 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xa11df569 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xadf47a26 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x48b83dde tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x06561cd5 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x346c8e9e tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xaa47ec16 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xc3446f15 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xc57ee8a2 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0xbf57f1d0 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x3b689ed6 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x5edb2695 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x203c5f3f mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x2c8fc7ba mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x31d48207 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x3b7ce16d mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x45399c4e mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x636a1a6f mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x7b7d6372 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xb176dfb5 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xbd745a40 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc5732937 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xcfdb4a5d mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd2c73930 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd49bf40f mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd9074365 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd90f21d3 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xdc24b01b mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf98468f1 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x035baa34 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2f1ba914 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3e822bd0 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x58d50173 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x59bf2621 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5daa5f3b smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5f8105f4 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6344fab0 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x76222253 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7fcc5531 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x80330c0b smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8a4526db sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8c71f0d5 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa6c16ec0 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa6d91b16 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbc0345fa smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd26e2624 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe7e44bd8 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x47db3b5c ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x71dcf516 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8acd9127 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xa69f55fb ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xbf567aae ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xe6b753e2 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xf0bdc2f7 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x0700f436 radio_isa_probe +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x28bbb2cd radio_isa_remove +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x4b486814 radio_isa_match +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0xdb9df446 radio_isa_pnp_remove +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0xe628aa6b radio_isa_pnp_probe +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1f7b45ca rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x232ec664 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3482a0fd rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x39aebbe0 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4ef176cd rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x63cb460e rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x73ea03af ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x74030e8d ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x74f27b04 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x76d80ac6 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8b087aa4 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa7c073c4 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb4277c45 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb4fcb11b rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd1fd5031 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf89859c5 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfec8cf8e rc_map_get +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x07ddd3e7 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x200e02a9 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2084466f cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x242d93c4 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x249bd143 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x25220425 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x28b12263 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x34224125 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x47176ace cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x740c5022 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8bfd312d cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8e981c42 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8fb40c0c cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x959ad489 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9abd255f cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb146a0eb cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xcf66e95e cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xdb3c60bc cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xfca0b724 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x54de66d3 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0b3c732d em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0bb74a6e em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1d80f50a em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1f3e25ee em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x3d5ed9ff em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x445caeb8 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x4641fdc8 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x4fbd120a em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x8d5071e8 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x8f29e7f0 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9452aeab em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xb65903e5 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xb8ad6db1 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xba62224d em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x03568e2d saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x1cbdffa9 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x54778f11 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x8af0557c saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xc8c5cd99 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x087aa8f3 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2f9f69e4 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x44c5011c tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xec05a784 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x1fe12fba v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x736397b8 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x88108f2a v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x9363ffac v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xeb0da830 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf1eefb45 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x0e7c3703 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x11a4d7f1 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1efcf957 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xd375951f v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3fa72db2 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x7d7ef7a1 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa1502bd3 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa364c348 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xae74f310 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xbac7bff3 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc9bbd94c v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xd7d973f9 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xecc1bdb4 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xedb0b260 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xf0b1125f v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfaf69b17 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0b4500bc videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0ee0228e videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x264b2155 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2c6edbeb videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2d635f43 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2f33d350 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x31093c78 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x38425f99 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x631128c0 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6d9f48bf videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6e93fef4 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x885c00c6 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x967d6f6c videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa5770587 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xadb20187 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xaf6f4cab videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc03ffad9 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc0fb00b8 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc77a512d videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd704a250 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdba4b9e3 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe18e373a videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xff2c9da5 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xff3e5f47 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x088f408b videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x2613a821 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x3de3a235 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x6e47bd96 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x358a5952 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x3af98dab videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x547af088 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x59a6474b videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8536997c videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8cdf8278 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xb3026882 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xbb811580 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xcd9889d4 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x015c7017 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x1ca6ce68 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x4c94a7a6 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x00209b3b vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x28b50d71 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x3495bf99 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x425a7224 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x50b5fb55 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x7016cb52 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8f635abd vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xaf62399a vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb236e787 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb83591f7 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xcdabb071 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd7b9661e vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xdd9c316b vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xedefc7d0 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xefa00847 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf1532df3 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf5a94f75 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x54057442 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x811ec0da vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xe57f0426 vb2_dma_contig_cleanup_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x08b935b1 vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x09fd2957 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x5afcd069 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x988f8419 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xe40e3a6f vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xb0fa1987 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x18593547 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x264b50a5 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x35e97671 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x36123c0e v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x36f9a3be v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x42035359 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x48576800 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4bec5b00 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x51335293 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x595e9f34 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5bd01f03 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x71926fe4 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x8048e116 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x84986c62 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9513c74a v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc8eb8fb1 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd2d57c8c v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd92393ea v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe02e3c9f v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xec4db234 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf6214965 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfa05389d v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x282e3c80 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x2d44d35d i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x2f5fd7d2 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x68ad4e6a i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x80d6e788 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x8ab600e0 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xa5781220 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe0f030d3 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x2b17cbfb lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x64592ea3 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x7f7e7a8d lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x076857bd lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x5c36bac4 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6000016f lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6a3400ff lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8d66bbbf lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8d72f10e lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xeccea4a4 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x11d81063 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x2c27ee1b mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x845e3451 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x0012be5f pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x17110394 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x86ce93e8 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x871a6b3d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9019cb8d pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9b8eb92a pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa3742ee0 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbb9b5c55 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xdd012bc5 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe2fb26c1 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeef423f2 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x25392d06 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xaba4dcf3 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3f3929f7 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x89ec0462 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe5427a3f pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xeea37e4f pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xef760426 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x16ccffdf sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x5e895f8e sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x7132ae43 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x974b9357 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xcc4acf69 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x110e8d27 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x85b59a3a tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x87d3cbc5 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xe5b130a1 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x761c0e16 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x266c41ab cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x419d011e cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x688c0ca5 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x884cb810 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x27cb133b eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x822222db eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x98bb5a22 eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0cdaa4bc enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x259e71fa enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x810f00f5 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x9247ceec enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa77ba0df enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc7c7c11b enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc8593253 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x33d92be9 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3bc7c91a lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5d740df7 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x852868db lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x853526c1 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xe1c64cae lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xf502ccc2 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/pti 0x19f09b98 pti_release_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x23bde487 pti_request_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x52a78e81 pti_writedata +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0942247a st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x996db400 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0f53c123 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2b6977a0 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3b32fc91 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7cace4d1 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8ca7f1b4 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8da1eea4 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa8fa5d39 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcabb0332 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfbab3977 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0914483d sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x70910599 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x71f1a9d5 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8c383caa sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x97d2c56d sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xca397fdf sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x3109115b cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x97936342 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xc87779f7 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x0a3df78d cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xb5f5c2e7 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xe5329af6 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xee8d4e21 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3282f094 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3531f509 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xd040fb0a cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x421a1e14 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x02f60c0f mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0476d1de mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x13698dc9 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1761a5ae mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x195b033e get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1e1783ac mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1fe959a9 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x24c94ff5 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2f4b927c register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x33ba40d4 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x36146faf get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3a4296fe mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3f198e0d mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3f74cbfb mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x41ef12ef mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x546f0977 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5c991f34 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x60faad5e mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x61bf48bb kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6746b19b mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x742d7b8b mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x85b0181c mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x85b06854 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x978239a6 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x987521b8 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9a9e5251 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbef5ab52 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc1f9b070 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc825c7be mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc82b0149 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcda2ae12 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd0c542f0 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd0f9ed44 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdac344d0 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdd1c8805 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe03f9c4e mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe2c7699d mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe3f66d13 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe9eb7f0d mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x0c39cbdc deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x4b4d17e1 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x7b3c4b22 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xaf2dd2ff mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd8e01005 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x559797b6 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xb3912ccc nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0x5fd9060b sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xa1881885 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xea5c5126 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x56efc538 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5c121d4d ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x69d9eeaa ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6fa9e9bb ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x969158b5 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9e438233 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xad8651ad ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xaf5274be ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb5371193 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb7608e07 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xba223159 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbdcd8d7e ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcc5d6eea ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x0d13900d unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x6a01d120 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb9b1bb9e alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc7be32f9 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1e5d829d can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x23a1e1ec unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x27ecb443 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3905f74e alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4286d230 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5c1358ab can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9da488fb register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9e495dca alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xafa95d3a can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xd8df4f6f open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe681a19d close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf3a277d0 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x20d28886 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x3571bc46 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xefd9691d unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xf8b917ec register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x3311e084 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x55fad29f alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x76a9aeb0 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x890b7b23 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01d64bf5 mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02bc02b8 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c271efe mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x10b0ddfc mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13ecdd06 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x160bef80 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17c087eb mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24347237 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29e7e078 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f0bb806 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2fca6f71 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31022901 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31e4df77 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x33e0ecb2 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34e01200 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ac3bd20 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x49b84f12 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4acb1481 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4adba563 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4da288e6 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f398574 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52f564b2 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a165b3a mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x608803de mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x61d2e59a mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66b2c7ce mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d2cba99 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d756f12 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fa95120 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71d43887 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73406ccc mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75a0232c mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79be41c1 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7c8f6cd6 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e38b070 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x813910f1 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8568ed94 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85a41466 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85fc6f76 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c2636bb mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8e438850 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8fe1a09d mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95801c96 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9842d25d mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x99351602 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa165ba28 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2bd2a5a mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa89b77b1 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xacab629a mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb006a8ef mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0bef7be mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb60c64c3 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba07d02f mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd75f455 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc725e750 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc8abca86 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc8cbd72b mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcafe5f15 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2d5a529 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd5861dcb mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7384264 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde3b8421 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe269c63e mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe38f146c mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6e0e6c5 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6f4c566 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xea15c50a mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb4d647d mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xedbe02d6 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf0700c60 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3ec6577 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf89440dd mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9622028 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd7fdf2d mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x17e6535d macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x31d721d1 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x84bb4edb macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x91d3eb0f macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf049b4cf macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xad332ecd macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x25e1749b usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x94c51fa3 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xb9fd10f6 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xdbc3f9c4 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x38300ffa rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5865d6f1 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5b4c18dc generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x6987b74e rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc5e9b8cb rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xeb6808e9 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0667e5a3 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0fb68e88 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x18e095a8 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2019c2e7 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x31f00d91 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x370fb417 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3986ec08 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3cd0e202 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4bec66f2 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x63da132f usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x82d4a774 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8942e2cc usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x91556335 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9dd8e122 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa483d4bf usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa8fdab08 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd3e24e01 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd9ba8c90 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xde9d2b86 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe648d636 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf0f399c8 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf6b91e36 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfa8575ea usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfd400f90 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x20bddc25 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5124be11 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5459d669 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x63232e83 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x65416111 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6dbfe44b i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x91e7a627 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa4178e4e i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa9bcb91b i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb60cdba7 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb981b755 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc67dec87 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc74841d9 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xcd97ce56 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd21bab59 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xef6b9c89 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xfb17cf26 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x711f1cb1 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xb409976d _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xbc2e9a51 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xcb173c95 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xf5c0e12f il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1a6b744f lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x216a5e74 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x29311ae3 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x315fe258 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x379febe1 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x40b79463 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x44d2f573 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7b92f735 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x82ec3c64 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcb336c9a lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcc53696e __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd4063062 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe2c099ae lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe8eba5ee lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf2140966 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf2790313 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x16c92a23 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1b258a9b lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1c70ef69 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x3059a7b9 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x5d91aca5 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7d6b7031 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbfe6fd53 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe0a81370 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xae419643 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xe9e6aa7c if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x1feaed8e mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2e52594c mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x48951806 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x756cc02f mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8769c587 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x9046bcad mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x9327fe8e mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xac27ec89 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xc6ab69e0 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xca2867a9 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd4291af8 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe84920d2 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfeaad3a3 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0363d57e p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x10907ce9 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1b5b5be1 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1fa185ff p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x453d46ec p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x6095a499 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbb533648 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xd8ec5793 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe1b36076 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0a816584 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0ea769c8 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1033b53a rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x12f69a1a rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1abe37fd rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1c0e16be rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1d88a078 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x202e9867 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x20466bcf rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2313fc3e rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x40eefef2 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x45949cbc rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4aede9d3 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5066160e rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x52d568f9 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x53aefaa8 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5adf0670 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x634871da rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6e98568b rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x777b691b rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7e2e8e01 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x85ed26df rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8e7bedb6 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8f232b00 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9d7696da rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9fc95573 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa0462140 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa4947fcb rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb231545b rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb80462b8 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbb4ae4d2 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc0f8cd0f rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc4063159 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd071546f rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd1f38502 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd241844a rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd9b82b7e rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe1bcc244 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf4f48196 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x01b0a114 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x03244ab1 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0ab0b35b rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0c7cd7fd rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0d9b26b5 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0f083ce4 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0f63e6ab rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x128c0e4e rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1309ca0e rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x145ab6c2 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1e231193 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x28263b3d rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x30161a0b rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x323b10fc rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3ccb9ee9 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4a7fbd3b rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5308235e rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5bbfcede rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x627fb88e rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6a73da26 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7018ed75 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x75d5e67d rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7942a137 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7c9dc848 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8872364d rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8ae98ccd rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9135a76e rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x92725005 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x936ad409 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9ae930dc rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9cc97d28 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xab2b44ee rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xad8beafb rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb12ddada rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb46a9227 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbdfcd59c rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc233c13e rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc3c37260 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc5ad392f rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd3cc9cd0 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdf55adeb rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe05d5a9f rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe21f92cc rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xec72191c rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf072ef0b rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfe7665e1 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x49dac1ef rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x5c94631e rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x7af38d1f rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x850b7cbb rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb76e734b rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xbc4bd702 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd01da217 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xec88cd25 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xfceaba08 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x043c1ad9 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x06b6b989 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x25d694ab rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x29f2236c rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2be96182 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2d4b3833 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x39a9f395 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x41922abd rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4607f0b8 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6be62f7e rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x74d4ded4 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa099d274 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xae5ce56a rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd5b19920 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd6c4ad9d rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf7051dfd rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x191f68e2 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x670731f2 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x715b1fda wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0beaaaf6 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x10b29a1e wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x143dcf83 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1f159308 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x459c1471 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x579dfc73 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x858a085e wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8a484170 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8c8c38ce wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9b834030 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc346470a wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xccd0c48b wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcd524144 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe39fce63 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x5fd32bb4 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x71752433 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x6ac52192 asus_wmi_register_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x82a98b0e asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_ips 0x46809fa9 ips_link_to_i915_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x232b5238 mxm_wmi_supported +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x61cdf799 mxm_wmi_call_mxds +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0xe26032eb mxm_wmi_call_mxmx +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x64ebe677 wmi_query_block +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xa9b7afd8 wmi_set_block +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xc5e3dddf wmi_get_event_data +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xe2426710 wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x5d619830 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xbaec4898 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xda5bbc45 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x06512beb mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7351423f mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7bd0edda mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xbfd74556 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd5372fde mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xdbd1cf06 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0d84b8eb wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x32ed9aa8 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x697fd367 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x886721d7 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xda85a7f7 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xed4619f4 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x31db4b37 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x082aeca8 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x15ab4b8a cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1bc90c57 cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1da73d8b cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x20f7a3bc cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x29731786 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x315c417a cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x31a18ae9 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x38c7ec98 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3e870d1d cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x451f217e cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x45a84fc7 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4ef6166c cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x52f26e9d cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5cafc80f cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x69af038a cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6a0e7e02 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6b8f55c0 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6e7aca44 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x720e2264 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x765e14d3 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x76709be7 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x864f666a cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8a9847d3 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x91f6394a cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x94e7f51d cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9fafb412 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaf807d3b cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb1bfb73d cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb799b808 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb866fd0e cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbade035b cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbb1b58ae cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbb96007e cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc0243f86 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcb07a54b cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcb3a1f95 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcf515aec cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd0c736df cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd97c0b89 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdde7c5e8 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xde5a0fed cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe5792c0f cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfeb11000 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x363db223 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x4c9c3ac9 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x83fcf55c scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xb8133aa7 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xdc752afe scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xeb5cfe7b scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2991d98c fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x399f1cfb fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5d81a1fc fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x66b81960 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9e5312d7 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa2e9cb16 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa9275675 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb3c752e3 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xba6e9385 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbe21a6fd fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd801d585 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf0a679a9 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfeeaf24d fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x58904f84 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x708324f8 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x71db3963 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb9a68010 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xc2fb4eb8 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xe4e9052e iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1547f3ac iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1554e360 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2a51e856 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36935756 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3be7e782 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d94d204 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x48fe94bd iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x498995db iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x49af4bb7 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x55f43b1c iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f6287b1 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x65d55d55 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6b034446 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6e596ace iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x754b242f __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x764ee138 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7660bb3c iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x76836a40 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x83685eec iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x85f58b33 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e9094bf iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x95f7c9fc __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa526b532 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xab9c6098 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb3de8cb1 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb7a370fc iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb7f225de iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba328a75 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcb0eb452 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcd4b194a iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcdd531c6 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcf700b21 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd7f6474d iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd8a2b3da iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe2fa9f50 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe7e7cce2 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8e3f85d iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeafd7358 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf3029088 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf31a382e iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfa4667f1 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfc3720f9 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfe36f05d iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x03f0fd87 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x137db6a5 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x279840b5 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x34fac5fc iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x39eb18e3 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3ae5b895 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3c25122e iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5b2e9e77 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x68984e47 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x783b6e65 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x82bca028 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x982982be iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa61b6e9c iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd5adc81f iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd94536a3 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe442339b iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfa6d60be iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0a694c39 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0f1e5902 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1722ba8f sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1917e6a5 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x26237567 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4218196b sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x48e8a8b9 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4cf67858 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x54875c14 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x74172da8 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8287405b sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x98241f5d sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaf07b1f7 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb04919b5 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8ab8489 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc4a4408d sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9375319 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdf1035ba sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe224d0da sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe4c16c9e sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe88dce85 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe8e755a7 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfb237ab9 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x6009958e srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x72570fbd srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x78278c51 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xdf60b126 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xf413c017 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xf9e22e1d srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x0ff4b63b scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x182f1aae scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x20aaa055 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x577bf362 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7212150a scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x87df60a2 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x97e1ee66 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe84d2659 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xfabacdd9 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x20eaffea iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x283fe233 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33c24c23 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33c55cc8 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x377095d3 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x608b614e iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x765bcea5 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x80a67412 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x81948a71 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8ab9cfc1 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9d7bd6c2 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9ff810ea iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa90a5550 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaa083edb iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xac55abe2 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xad403a4e iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaff1ae08 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb3dabd6d iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb4cdddf5 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb8205774 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbb848de5 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbe4be708 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc0a34acc iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcd7a48ee iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xce6667b4 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd8bd48ed iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde6f5311 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe6342561 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xec120111 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xee1275ad iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xefc70d72 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf7f72668 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x3d524df5 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x5c3469e3 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xccd591c2 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xecea6755 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x17e59ef4 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3883774e srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x6e069227 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xe39712cc srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xeb5b8941 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x061ab6cc spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x689ee868 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7ad629e9 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xe65f0036 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xeeae776f spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xfc0fb8ff spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x0dcb3872 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x0ebc84a2 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x33fb63bf dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb1b41c13 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb7550b0c dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x16710cdd comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x825b991b comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa1008b40 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa17d62f2 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xad927af1 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbfaffe2a comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd100f6a6 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd375719a comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xeb182180 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x69be895e das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x8696770f das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x07b8919f labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x178b8fa7 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x25e55b95 labpc_1200_is_unipolar +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x8285332a range_labpc_1200_ai +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0xaf1e4347 labpc_1200_ai_gain_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x305484bd ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x34d05d51 ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3add01fb ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x465ea6d9 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x664459d3 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6f46f9be ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x896b68b9 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x99cbb028 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x02989c6c ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x28778bd5 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x52a8030a ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa13c6dc9 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xc8018340 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf72ce3d5 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x2468ed34 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x579d2806 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x587711de oslec_create +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x882d5f27 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf828c15b oslec_flush +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf923a5b1 oslec_free +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xfabc3747 oslec_update +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x083e94bf adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x0b81a63f ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x1fc2096b ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x39f57271 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x59231c49 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x69d6d013 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xf63aa93a ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/rts5139/rts5139 0x35b85807 rts5139_usb_ids +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0e81c76d spk_serial_out +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x14f06fe7 spk_serial_in_nowait +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2a69e80a spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x30dbca29 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3385a398 synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x475e158a synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4f19ce72 spk_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5f23a9c8 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x62a50122 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7c39f188 serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7c596e7b spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7fc8c368 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e146195 synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9a888082 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaf7d501c spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb48956f8 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb73a5748 get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc766ae09 synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xce56e8c5 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe0033b1b spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7e810f8 spk_serial_in +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2252875b usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2e3c9635 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x38f437dd sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x49fbebec usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x531920ed usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x534fceb0 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x6280cd35 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x862a1831 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8aa9f674 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x98a3ca8c usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xc1311bcc usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe515a9f6 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xf724eb05 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x15858702 max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x72aaf586 max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7315bfbf max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x74904c0d max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x9c8f1f5a max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xbfbe1c07 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/uio/uio 0xab2c72fa __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xbaff8686 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xe426463d uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x3a17addd usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x3d4a7c6c usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x289d06f1 dwc3_put_device_id +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x51b25baa dwc3_get_device_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x509cf30b usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x6b30e706 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x6f857831 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xb460ced1 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xbff2bcd2 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xfea58b91 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0a53dac1 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x150711ea usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1fa6bda9 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5b293e96 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x80e3418f ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa6462ca4 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd9019e60 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xdcdb6126 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe97e228c usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x3045582f musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0xf4f32b4c tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x1a0019e6 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x03539443 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x23e2fb6f usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x34146497 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x357197bc usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x41b8c132 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x567f64f6 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x661febe7 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x73c9cdb0 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x798cae18 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8d5c759d usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x974eab94 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x99170736 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9fd3b4dd usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xac0c035d usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc02e3ea9 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc2b0dd00 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcc5b3a0a usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdf6a71a4 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe9b4c9be usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0e610e4d usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x160cc7ee usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2311f516 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x25ca7b6c usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x322f6cfd usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4d2ea2a7 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x61af32ca usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x82df40cb usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8b78dfb2 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9037faeb usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9ed84e83 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa763d10f usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbbe891c6 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc5b51546 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd09e9f4d usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd0bb3aec usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd1f6b025 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdf8133a2 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe130ef98 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xec201e0e usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xefb5e82d usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf744e5ff usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x2a567774 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x56d3cb93 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa766350b __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xc97013b6 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xd92526c0 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xf4654c3f wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x06166837 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0cab195c wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x333185c1 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3e27dc7b wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4e6b5f05 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x55728b6c wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x664257f8 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6af4a634 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8beb8827 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x943ea37a wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x97a12df1 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa399f76b wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc49cace7 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc8c261b3 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xca5fe73c wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe956abd9 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x5a913c7d i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xa93caabb i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xbe4e8092 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x298d65a6 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x30ee9f9e umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x32113816 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x6c3c09be umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x9b136236 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd0a750dc umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xed15cbd9 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfb938117 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x03003662 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x04f845a1 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0f9f865d uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1495e243 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x161f1b88 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1b98d98d uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x379f1b77 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x391d757a uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3a2ddfca uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x43cd7099 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4f05f6c7 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5679fbae uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5996fce7 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x696a67d7 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6f176fab uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x83d2a877 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x851ca07c uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x857e0d0e uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8a5ec480 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8b491122 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9ed01455 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb0a0e39b uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb5d35189 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc1725d1c uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc751f11d uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd2d77df6 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd30c3470 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd7d53448 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdaf25e28 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdd3bf201 uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdd4ae3b1 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xde515fd5 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe351b536 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xec12d037 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xee890e51 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf4cc4fb0 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfe1c7488 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/whci 0xb86ea91a whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x300e3176 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x40df817d auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x42381be2 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x74e66fb5 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x94e3a3f2 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xb232893c auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xbdb5fdb3 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xcf0cf30d auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xe976f676 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf5070113 auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0x2c63e051 apple_bl_register +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0xdab0f892 apple_bl_unregister +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0061cfa5 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x3b31d63e ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x769dd988 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x77502714 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xbd8f9f48 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd8d8baa5 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xdfc7fdf6 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0xae9a25ca fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd9f454fd fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xdf6e264a fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x771335b7 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xbdfd95ec sis_free_new +EXPORT_SYMBOL_GPL drivers/video/vermilion/vmlfb 0x016e6c20 vmlfb_unregister_subsys +EXPORT_SYMBOL_GPL drivers/video/vermilion/vmlfb 0x90c018c6 vmlfb_register_subsys +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x22a7af24 viafb_dma_copy_out_sg +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x292da7a2 viafb_irq_enable +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x30cc9311 viafb_request_dma +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x31469540 viafb_pm_unregister +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x79e6190a viafb_irq_disable +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0x92ada040 viafb_find_i2c_adapter +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0xb4f863e6 viafb_pm_register +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0xcaefb732 viafb_release_dma +EXPORT_SYMBOL_GPL drivers/video/via/viafb 0xfff2dfd2 viafb_gpio_lookup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0887ebfc w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1cdf69db w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x22441590 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2ae48ce2 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5ac26478 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5f5480a3 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc640dac8 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf5e3e97e w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf7f8d8e9 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xf69ea3e8 xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x3d8a5de0 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7c3992cc dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xc6dc8c2f dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xd7cca002 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2d73b605 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9a91510f nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9fb9e5c2 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa1ba2e77 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb70f5d2e nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xdad2b332 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe2eef5cb nlmclnt_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0108320d nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0444e5e8 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0ad22291 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e0cfd87 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3d63db09 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4e6ec737 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f9bc735 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5ac9a30b nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x640b7f8f nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8350fdcc nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9205ed9a nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa6acf628 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaa7a04c9 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb3e992a7 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb826189 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc47432a nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5222974 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed4686b5 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf55f4e93 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x3eb0eed3 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x841b5484 nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0bb810a2 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1cb231d0 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x34d218d2 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x400e1329 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5a73b4e6 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6c088654 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x8c8185e0 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa82a8645 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa9f5379a o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb832647b o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc3679d7b o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x11ca88a2 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x18d59f19 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x37f3052c dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x45c35e28 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x87e422ee dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xa4bc23b7 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x025e2d69 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x16b2e575 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4cf7a172 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5469ce31 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7083dbd5 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x89502fe7 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x98fb81f1 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdc823ea4 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe2bd47db ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe40cffce ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe417d940 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xf6ea9101 ocfs2_plock +EXPORT_SYMBOL_GPL lib/bch 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL lib/bch 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL lib/bch 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL lib/bch 0xbdf512de free_bch +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x021957e1 raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x0f8a2742 raid6_2data_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x201d8ea3 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x29fa419f decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x300d7e57 free_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x6fbb3bd9 init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xabda1e2e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xb050f329 init_rs +EXPORT_SYMBOL_GPL net/802/garp 0x2637c9d5 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x61b9e964 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x9e8ef343 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xacef0591 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xbbced2d0 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xf3144481 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x465f3401 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xb37b4a62 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x9505d12a p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xd380ed00 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0x50754510 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xe2c6bb26 unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xdec6af10 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x792ddf9d bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0a3df9ad dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1de0fbc7 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e2075d6 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2840d85f dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a49d7be dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2b986668 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x307c03fa dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3411690d inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x368907a9 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x46b78ea1 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x48cece48 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4be097af dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4d0ad3a8 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5897e129 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6da2779b dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7131b3b0 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7d0530b9 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86ca129e dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8a67a80e dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8c78c1c6 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8dd4b381 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8eb68a86 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9351ae79 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x992a09ba dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x994425cb dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa10e7ac0 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbe59f9e0 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcd3b13c4 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdb81b028 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdbbacde1 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdbe1d0cd dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdfbb2b73 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe6bc168b dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf1e96d0e dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfcc8cef8 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x0b1272ba dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1b04ac65 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x39f24a45 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3b9dbb63 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xaea52d05 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe85606d6 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x25cb61aa unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x37367137 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x8b2186ab gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xa5c14787 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x07d548a2 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x51978eb1 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x9c8a2d0f inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xa8554884 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe85525d2 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf42be5bc inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x75b02122 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x9b51949f ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xa152aa25 nf_nat_seq_adjust_hook +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x6b6c3d10 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x19fa58a6 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3de64dee nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x543b154e nf_nat_set_seq_adjust +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb37908d2 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc9aef5ad nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xfadf0556 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x0e446f9b tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x16851925 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x65fadeaf tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x77705616 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x9fbf0589 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x19370624 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6eb85693 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x13d9c549 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x16c95196 l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x25bf5589 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2c4c4f3b l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x38ae274c l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3b4e13fd l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6b7a7aa7 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7c0b06b5 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9ffa7fee l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb9b4b24d l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbb25a974 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xdffc305f l2tp_session_create +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1ab68b57 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3b4200e7 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3e8adf8f ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5da12588 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x819c58f0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xac7f6fd3 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc848af58 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe22811ba ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebf6acc7 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1c331c80 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3565306b ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x38e8995f ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6238fe79 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x69b5f323 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6e59bc00 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80ee118c ip_set_nfnl_get +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x883d6572 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9a3be7cb ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa2d623f3 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb5f4a279 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc2711466 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x80194500 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe9fb6747 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xee8ddff0 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xff220994 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0021b329 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x03c39405 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0da7d221 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1582c869 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f287785 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22db5be1 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x234c2e62 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x247489b2 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x27b4aaeb nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c0514e1 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2f0663b2 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32f1a720 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35756d48 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37d01aa1 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37d36e0b nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3a85a4ba nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x41404cb1 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x422018d9 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x42df5227 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x448d20b4 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45fa6dd9 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47c3b68a nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47fb6413 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ba0bcb4 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4d640133 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51898729 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5208de13 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x561954ce nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59c4632f nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a0a0b05 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a67ce83 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a9d0134 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5dca7f5e nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x618d9db3 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x634f69fe nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x665a07b7 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6d4a6692 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7845b5aa __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7a889be4 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c2864c7 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8152eeee __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81b4ac75 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8b862127 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8db8cdfc nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90bf307e nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9952603d nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9a281b66 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0afc80a nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa1f13533 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa5535d79 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa2233cb nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafb5bae7 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb195ea92 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb1c92d3f nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb45d7095 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf8eaf7e nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0240dd4 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc9b144f2 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd49abe74 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdede5251 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe1645cb6 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe27d15e7 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe2f79d1a nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeb604d6a __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1f7c5c7 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf456145e nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf47a3c86 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x0f966b3f nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xcf4f1ded nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xa0efcee4 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x150a1fb5 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x167bf453 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5f9e6fb0 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x77dd0612 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x85d5ffb0 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa037216c nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb2fe2bf5 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbf9e05de nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbfaf32d1 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd5aa2e2d set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x4a7460f5 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x04a4af1a nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2288478e nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x28123025 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x6f44e986 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x25fcc114 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xdf8874c4 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0edac98b ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2c21755e nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x35f2debd nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4564fbed ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x48bb9244 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6e77e45e nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x77434399 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8537b7d8 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8f8bd198 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbb0ff76a ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbe880a3a nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd6d65162 nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe5e08b57 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x322c14de nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x3ef1d13c nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xcd09b536 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x0dc78e15 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x24940629 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3d0d0825 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x72e33f9c nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xaa578cad nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xd283fdee nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x6fa6867a nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x4539cee8 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1297eb4a xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1f8f874b xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x28d521d8 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5acc232d xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6ef01c0a xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x778ad6b3 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9e5ab9e0 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb0d8ca16 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc4802a7a xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xca089cc1 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe06eda3d xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe327b7be xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf7156cda xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x133e13b5 xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xf7b03908 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x2482a9ca rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x335b979c rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x3b4fc0fc rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x50cbe7b3 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x5ea03da4 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x60e3ef07 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x6833bd21 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x70bf3eb9 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x7b09cf43 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7dd75346 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x96f7d839 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x996f64b3 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x9a080887 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x9fd448fb rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xa016d423 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xa076baf9 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xb15a6acc rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xb6631f74 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xbc1db350 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcc8c1107 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0xdb26d3d8 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xe341b014 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xe5dda77e rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0xe73b7080 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xf7a4b133 rds_conn_drop +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x8ba203bb rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xbd52c04a rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1e64acf1 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3975c2e0 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5e0460ef svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x70c0e49f gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x9af79ed4 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x9ee9ba8a gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xa2e52ca2 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xab542230 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xac66f0a3 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd52b1b0c gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfc18d564 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00568772 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x007f87f2 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00fdeb0a svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0124c8cd xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01cf8f43 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04c9dbac cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0560cfde rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x071205a9 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07e0a471 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0931d071 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e80c0d8 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ffa7628 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12803b05 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x148eea97 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14a709bf xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14e86cd2 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1743a5f1 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x198141f7 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d3d95ad rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21314b54 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21703acc rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2205f70a rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x228c073d xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x271ef1f0 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27508eaa rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28e3998e unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2902af12 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eae6f27 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3147123b xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35925cc6 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36b711ae rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38043e69 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3896cfde xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fe8557a rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40ae29c0 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4aa2e862 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dae3e40 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5106293b rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x513fad86 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51a9fe15 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54430296 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x559e5b35 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56636e1e rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x578cc412 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x592ed6df rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e1dbc9e rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6117b145 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x618bdbd6 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x676afc5a xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x696d712c svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a0bdf06 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b4bc704 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b7c0b60 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d93bea4 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6db3c9fc svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x742bf6ed xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74eeffc0 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x751f2038 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x757ac1f5 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7672a6ea xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x773fbf84 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7855c1cb rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78cfe3b2 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x792701c6 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7bdd3e36 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f47d483 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8232baf1 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x827328d5 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x829ab292 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82dc2cba csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82f9af44 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8326bd32 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x837c42be rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x870f2b21 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8760defa rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8792d6e2 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87fc3b04 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88301e14 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x888c91ad xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89f92f43 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ac121f0 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c6046fd sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d03c4dc rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eb3d7b5 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f1c9a8b rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90360c76 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9082431e rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96921f8f rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x978b216f svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97d4f2ce rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d679e7d xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d9ccdbc rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9db948a2 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9de0136c svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e104ceb xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f812979 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa026a228 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa196c010 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa79336d5 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacf4bedb svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf780e05 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb32f37e4 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb46a99eb svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7dad5d5 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb80208d0 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8abbe1f auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc85099a svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdc06c14 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe9479dc rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc10b6e8d rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc127bc25 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1440efa sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2a50784 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3eb9241 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3f03771 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc435a822 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc445153b rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb623647 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccf3a3d4 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce9ed402 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf4f1f97 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2cb57a2 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd43a0b3c xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4bb8b6b put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd61f33e9 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6a9e975 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6c0bba1 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7c38da0 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9366020 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd94161fc rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd97c11c4 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda32ff52 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdad65f97 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd813d92 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdde6d71c svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde2728d7 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf0d475f rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe061b8f4 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1334318 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1a3c224 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2234179 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe32863e6 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe480f0ac svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4f60b61 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe55e21ca svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe59a9027 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe78254d5 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe94d82dd xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe96a9924 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea9dc833 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec656bd6 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedbdfe18 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef7fa683 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf049ac43 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf143f773 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf21d677b xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf27c4fec xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf610f90b svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6706800 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6897e74 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf691e047 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf74f743b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf78c7cd0 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9ada654 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb4c49b0 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc4dfd4e svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe7ba6e6 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfeb320e3 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffc1d497 rpc_rmdir +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2c7f1018 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8621b6d3 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9208b1ad wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x92c31dda wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9ce41959 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa2f38fa0 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xaf9a8a00 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbcffd4bc wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xeb33158e wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf611f1a1 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf690b73f wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfd0fa709 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfda75fa6 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1d456d2d cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x35638f33 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x400cd2e4 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x504b407f cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa393211f cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa667b3ab cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa8132b88 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb6590cef cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc2a7af20 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd96896df cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe7a80d98 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x3108ea46 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x4d4fd5f1 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaeea3073 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd4a7bfff pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7e3d039e ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa59ca6c7 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa6edfcdd ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xcbc49931 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/core/snd 0x13570ca9 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd 0x1d7de38a snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x7aa342d1 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xc2f00453 snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0xd48a3616 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x73c13850 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x06567416 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x17a3f315 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x2a2cb288 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x9814dae0 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xd501ccd4 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xee005fa1 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00123e4d snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x026a8916 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x05e3cd93 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a2b088b snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c5f2e4f snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d6028ab snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0dd634a9 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10fbaaa1 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1649aebb snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1829a254 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x182f1c22 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x19ddc433 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a90205e snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ac361ca snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d2726b8 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e8ca963 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ef36b80 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2330a7dd snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x262d45ab hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27b55d39 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28c3911d snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28dc7c1d snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x290f5002 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x290fd1b0 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c8ea949 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3669bebd __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x397627bd snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x39a873d8 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a1d41b1 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d057b5b snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x405783c2 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42333d07 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x437b5ac3 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47b2b8e6 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47d12ca5 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48e8f490 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a3d34fc snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a79feb6 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a86745d snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4cb57527 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4db7535d snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x56109faf snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x56399275 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x573435d0 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57e7a85c snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ca97a5d snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5dabd9a9 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6057a0ca snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x623536d4 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62ee13c7 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x630070db snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63a04533 snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x691cd570 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6e53a2ae snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f73b7c1 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77d6d278 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7894d40a snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f3d2158 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x82595707 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8520af4c snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x859befed snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x912569f4 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x941b307d snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x98b4be7f snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c240f43 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c96b5d4 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9d77d478 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9e085694 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f76c47e snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9fd78342 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa1760050 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa75f8d71 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xabee3653 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac82a6b4 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae91a798 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb25c1896 snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2ffa954 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3529c59 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3707a32 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3cb3a93 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6eef599 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb8e7a574 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb9853e7a snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb7f904f snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe37526d snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc063e8ea is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc2f78b80 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc511578f snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc8cf85c8 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc93e73d2 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca885cae snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd62c396 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1911457 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd440249c snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6495e6f snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd67dbe7d snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd95852b4 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdc982df9 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdfd3e3a7 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0f87c7e snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe3535be5 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5da432b snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe77aa70c snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe77ddc96 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe86ee579 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9e0c3e0 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xec640ff1 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed55136c __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0cd6667 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1ae6375 snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1eee9ad snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf748a5c1 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf75ccd9d snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf986d29f snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb81ea42 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfec52487 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xbebb5679 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xf1444fc9 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0xe78b0752 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x5b424d6c max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sn95031 0x2e85d9f8 sn95031_jack_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x0ac940ce tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xbcd39bd6 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x147dcb6d twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x4b2cde6a twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x4c666ca8 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x5f44e3f3 twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x96117f03 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xa40adce2 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x64cedd85 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x78403170 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x8280ffad wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xa666c046 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd4a79e90 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd875e194 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe1a9827f wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe957b315 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x0029b7e0 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x77c8381f wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xefb30b46 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xae7583a6 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x05fb95cf wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xe96ac9c1 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x1d49da77 wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/mid-x86/snd-soc-sst-platform 0x71b38bd3 sst_unregister_dsp +EXPORT_SYMBOL_GPL sound/soc/mid-x86/snd-soc-sst-platform 0xc340ea06 sst_register_dsp +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0216a249 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03866a34 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x07029503 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09fc56ac snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a289b9e snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a51f56a snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12f9f50f snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13f1e9c1 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x175ecc48 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19e48da1 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b476e2c snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d20db32 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d8b5d8f snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21592586 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x215d8c8a snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x216f54bd dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x22286ff9 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24bb09d4 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26774704 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x270ed596 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29676a11 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b06b0d3 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2c91aa62 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d61032f snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x317c7a64 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x338e5e1c snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34519fdb snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x36f6b14a snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3765c2bb snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x37fc02b3 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39e294b5 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x419234f0 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41b38c0e snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x444d02f5 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44ce7db5 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49cfa53c snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4add60da snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c80473f snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f53a6f2 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50aedc95 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56842672 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5855ead6 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c658da8 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d3c3a3d snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e0e61fd snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5f6dcffe snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60bfc660 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6135f4fb snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x656df06a snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6587608f snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6806283f snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x699c0516 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7007350f snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70a4923b snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71f3887a snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x727702d3 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bef808f snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8823f643 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x88446f6a snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ad1948a snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b8abcaf snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8caa12e8 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d3bd294 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8fdcd4a2 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x906766cf snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x917a6f16 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9468e5f3 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94d3edef snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x953eca3c snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ad5897a snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b9166b1 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c6b42c9 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ff24d17 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa51d30ad snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa72c3fa2 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa898b4bd snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab99f13c snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabd3b20c snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac284e30 snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae3e5f00 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf8c61fe snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb00dca88 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb278e87b snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb47b6c1b snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6effb49 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb99fb667 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdbbae8b snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe462a4a dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbeba2549 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf325e5b snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc3864fea snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc438f88f snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc47f0e57 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6086faa snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc685998d snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1a9a84a snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd46f6b39 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6d496e3 snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7cb59ca snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8809293 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9fcfb4e snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc0417c4 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde04ba7e snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf0c24ad snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe06129fa snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe192fae0 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe38d4443 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3f2044b snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe4e68708 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7fe2f98 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea4c0747 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb339550 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb9e139d snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec71222a snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed27ce01 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed5918a1 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed8eda29 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf056bfac snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf206fed8 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2afb6ac snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6994a7f snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8e66854 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb0f8859 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc0f72dd snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc65b004 snd_soc_cnew +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0x0e45c1ba i915_hsw_gpu_turbo_disable +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xa49a445a i915_hsw_gpu_busy +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xa5a57a4f i915_hsw_read_mch_val +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xb7d6f553 i915_hsw_gpu_raise +EXPORT_SYMBOL_GPL ubuntu/i915/i915_hsw 0xff5514d7 i915_hsw_gpu_lower +EXPORT_SYMBOL_GPL vmlinux 0x0017edc8 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x004beb77 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x005f9485 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x0089dfdd rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00a4ae0a transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x016671d3 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x018d9236 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01d11a05 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e8513f pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x024cc21e fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x024fafd8 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x026211e2 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x02bcd9c9 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x02be61e8 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x02bf6342 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x02db4a48 xen_swiotlb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x02db77b3 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x02e059f6 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x030b2d9e dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x031c4cd4 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x036c8864 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x037da51f i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x0382570f inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x03ac5823 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x03e16e04 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x03e6388e pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x03f2b1d3 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x03f5fd44 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x04126eba xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x04206f25 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x04245655 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x043f7cff usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x049f0c24 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x04bf26af ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04ef8a1b __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05575b5a debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x0568daea rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x0574f38f fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05a15d74 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05b91f43 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x05e6e227 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x062fc169 xen_hvm_resume_frames +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06642d97 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x06963c36 intel_msic_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x06981e9d user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x06ad863f fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x073eb821 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x075343e4 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x0753a4af skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x075d5e82 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x075dcc60 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x07845748 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x078c0137 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x07a100db pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x07a34a7b rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x07a6e277 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x07b0efde ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07f300c3 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x07f54231 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x07f8ecbf crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x08770ac3 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x087c2524 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x08cf9580 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x08e62a87 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x0909661a dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09298301 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x0930e3c2 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x0937c6ae devres_add +EXPORT_SYMBOL_GPL vmlinux 0x09612c65 ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x0962d0e8 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x096cd6fd ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x0976f678 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0998a5d3 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x09a60b56 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x09adafa5 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x09c4ee7b rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x09f01c39 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x0a1889e9 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a625e86 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x0a7cb051 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x0a871ad1 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x0a89cbc8 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x0aadb071 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x0ab95bf2 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x0ade5415 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x0aeccddd get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1573b3 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x0b15fa10 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x0b19ed7c apei_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b54abd9 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b664f87 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x0b6a2207 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x0b6b9223 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x0b75d888 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x0b98b7f5 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x0b9d9f2b power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x0ba5cfb4 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bc2dce4 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x0bce3830 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bf8b2b8 init_fpu +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c0fc5ce dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x0c102457 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c49f940 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0c4f41bf pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x0c67f949 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x0c74dc08 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cd6208f pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x0ce065f4 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x0ceda649 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x0d11e8ab __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x0d35fc90 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x0d4f5a58 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x0db6303f cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x0db6d117 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x0dbb47b0 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL vmlinux 0x0deb0ade register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x0dfc3d8d md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x0e0c04fe uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e1747e8 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x0e2bc272 ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ed758f6 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x0eec2d2f scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0ef3bae1 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x0f08948b pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x0f0e122f pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x0f152ca3 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x0f431f66 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f8068e0 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x0fa138de xen_hvm_need_lapic +EXPORT_SYMBOL_GPL vmlinux 0x0fa99297 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x0fbfaa7a usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fdfd63e btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x101236ad acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10263e4b crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x103af7af usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x107c7865 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x110eddb4 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1125ede0 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x114515bf pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x115bd575 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x115c66ad pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x118d7ca1 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x119506ef pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x11d6314c inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x11d97b76 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f59b39 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x11fe9097 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x12223d71 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x125e806a virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x128c4930 virtqueue_add_buf +EXPORT_SYMBOL_GPL vmlinux 0x12940ca0 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x1295b236 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x130643bc vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x13162a27 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x131a1554 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x13295211 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x135d275e print_context_stack_bp +EXPORT_SYMBOL_GPL vmlinux 0x136a94ee s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x13a5db9e skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13ccf427 usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x13f3e3fb klist_init +EXPORT_SYMBOL_GPL vmlinux 0x13fa0a7d crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x1429a60b sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x1453b590 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x145784d1 gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x14610b1a subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x14628436 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x14d44a62 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x14d4763e dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x15010e1f arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x153a0c91 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x153b70cc disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x15568631 lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x156db14c sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15a22ce4 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x15b0606e e820_any_mapped +EXPORT_SYMBOL_GPL vmlinux 0x15cada19 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x15deef84 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x15f36ec7 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x15ff4409 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1620b190 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x162fc762 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x1635ae29 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x1657a9cc usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x1666b28a usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x167876f0 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x167a1a2a sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x16c57b0c unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x16e6a742 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x171b577b unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x171e8b04 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x17237fe6 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x172e72d4 vdso_enabled +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x1766f7ce ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x17a00cf7 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x17a7d5ef ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x17b82733 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x17e6cc8d xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x17eabc32 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x17f5bbba fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x17f78860 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x180b955a digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x1810bb6d debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x1812a524 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x183800f4 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1851fa60 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x1853653c btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x18582826 amd_pmu_disable_virt +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x186d0b68 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x188f57d6 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x18afd892 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x18c9d716 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x18ca8c5e wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x18cf80ca sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x18d45118 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18eda87c bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x193086ed devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x19365bb5 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x19496284 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x19510fb6 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x196417f1 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x1993c415 swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19ae0cc3 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x19b37f72 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x19d0a3ea sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x19d15f0a blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x19e8f8a1 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a52f7ae usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x1a8d2274 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1a9443c6 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x1a9588e5 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x1a95f728 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x1aa74aec usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1aebe552 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x1aed1f76 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1af4ae64 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1b1f2bda speedstep_get_freqs +EXPORT_SYMBOL_GPL vmlinux 0x1b307809 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0x1b3255f4 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x1b4405d6 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x1b5238dd __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b5d6e5f gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x1b8e7eee pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x1b9090b1 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bc07af6 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x1c18847f ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c6e445b bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1cc5a486 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x1cec0839 xen_swiotlb_sync_single_for_device +EXPORT_SYMBOL_GPL vmlinux 0x1cfc7919 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x1d29bc42 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x1d40e66e devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x1d459685 xstate_size +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d739e1c xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x1d760b01 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x1dab6749 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x1df0f0d4 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x1df476b5 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x1e000d26 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x1e0cc715 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e5266f7 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec8c1cf rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x1ece12ab kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x1edc84cf cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0x1eeaa296 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x1ef95e15 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x1f092d5c da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x1f0cf17f bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1f6d9985 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x1f6daca9 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1f9751eb pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x1fa53c5d pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x1fa91a0d xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fe049eb rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x2072911a relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x20a0f98a fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20c09d7d blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x20e1131f platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x20fa103c usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x2120ef7f devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x2162c68c usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x21a346ed key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x21b3f73d srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x21fd7b40 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x2225c0e3 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x224661b3 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x225e9a07 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x227a723a sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x227c2f63 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22a842cf zs_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x22dcc518 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x22e85e41 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x230f04ea rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2372af93 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x238e93aa platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x23985beb __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x239e832e usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x240580a9 xenbus_probe +EXPORT_SYMBOL_GPL vmlinux 0x241a9fb4 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0x24331cc1 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x244db859 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x245c6cc9 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x247768a2 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24cd3861 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x24d49764 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x24e1307e flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x24e65bfd ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24f8d40d sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x25394c2c __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x25558c5a ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x256ad654 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x2592b93d crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x25f964a2 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x264c0724 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x26675dc0 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x2683d746 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26ca39a6 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x2741c414 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x275d7b43 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x278ec596 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x279cb985 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x280e4516 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x281c8811 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x28598f8e usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x286cc2a5 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x28a22d2c event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28b9f4ba da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x28c0099c tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x28c20de3 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x28c5e096 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e42082 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x28e4431e usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29059b53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x29108e57 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x293e1680 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x293f073e vrtc_cmos_write +EXPORT_SYMBOL_GPL vmlinux 0x294539c7 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x29607541 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x296976ac seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x2987ff6b wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x29d35865 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x29e08917 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x29f907f8 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x29fd2633 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x2a008c89 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a7427bf pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x2a9d4b4d platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2aa617cf mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x2ab1f631 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x2ac36de7 btree_last +EXPORT_SYMBOL_GPL vmlinux 0x2ac9efc2 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2acd9307 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x2b6135c5 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x2b67f096 speedstep_get_frequency +EXPORT_SYMBOL_GPL vmlinux 0x2b70ffbc tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x2b9e43cb sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x2bd9bc0e inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2be6155f dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x2be7fb8e disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2c05f911 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c20c3f8 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2c3f89fd blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x2c5ce8ec skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x2c6a0410 xen_set_domain_pte +EXPORT_SYMBOL_GPL vmlinux 0x2c7d9c64 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2d041d5f fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x2d131a35 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d59c954 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2dae88a2 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x2e0706d2 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x2e14a94b ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x2e1fbcaa wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2e205834 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2ea581 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e3105e7 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e54baec disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2e8b6c8c __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2eb178d3 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2eb76e2f transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2edcdc33 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x2eeff9a9 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x2ef5608d crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x2efd1902 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f51b7c8 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x2f651b9e page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x2f7eafea agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f89dad0 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0x2f8fd6c9 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x2faa6eb3 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x2fe01153 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2fe020f4 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x2fff10f7 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x301f3e0f task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x30386e21 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x303c2320 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x304d419b rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x305ac0a1 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x30740e70 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x308cf7b5 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30d387da __module_address +EXPORT_SYMBOL_GPL vmlinux 0x30e4ce00 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x312fdf63 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x314e6c63 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x31650ace ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x3165f9c7 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x317170b8 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x319cfdd1 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d92046 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x3200cbdc blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x321debf3 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x325b315e rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x32606a8c skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x3269d841 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x327743fe ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x32924a4d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x32a6aa72 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x32a91f61 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32b91bd6 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c46228 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x32c89161 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x32ef2709 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x32fd4b62 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x3305dc18 wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x333228ec intel_msic_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x335f2c16 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x3381cf2f ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x33857a7a __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x3385f660 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x339801e4 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x33b96e5d apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x33bf9d07 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x33c33f98 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x33f542cf get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x348c500a ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x349bb39f xen_swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34ff9252 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x350ca6b7 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3522bbc8 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3566cb62 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x356fa3e5 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x35763fa6 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x357b187b gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x35f3ae51 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x35f7a9d8 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x35f844bc ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x360d3c3a dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3615a6cc disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362d144e sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x36425f28 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x366358a1 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36ba2551 intel_scu_devices_destroy +EXPORT_SYMBOL_GPL vmlinux 0x36db5336 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x36fa0399 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x37181199 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x373913a5 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x3748967d ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x37530716 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x3755bc92 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x375eac98 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x37b0a1e8 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x37ece576 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x382f23cb serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x3841ab01 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x38620e38 gnttab_grant_foreign_access_trans_ref +EXPORT_SYMBOL_GPL vmlinux 0x38824245 xen_swiotlb_sync_sg_for_device +EXPORT_SYMBOL_GPL vmlinux 0x38a12916 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38d35a12 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x38ecbb52 register_efivars +EXPORT_SYMBOL_GPL vmlinux 0x38fe8a72 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3925c0a1 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x396a15f9 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x39746072 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39e670aa kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x39efc003 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x39f88935 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a38dc65 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a65331f virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a835c0f locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x3ad671a3 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x3afcc13e fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x3b1af237 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x3b1f9c7a hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3b2475c2 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3b25bd65 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x3b2f2f13 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x3b462e35 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x3b6f932d i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x3b7145bb apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x3b9dc8b3 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x3ba382ae bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3bacec94 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x3bb4bd92 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x3bc43139 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x3bccde75 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bfba864 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x3bfc8107 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x3c12c7dd rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x3c1d7120 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x3c2be3e2 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x3c747ae2 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x3c826cf5 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c9e99e9 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3ca4a04f ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x3ca8c943 pxa_ssp_free +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cc638fd ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x3cc9e2cd crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cea49e5 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d0aaf5d fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x3d137692 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d407efa tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x3d51cc41 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e2d5543 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e757637 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x3e7f0dfc __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3eeb5ee7 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f17963d nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x3f229c4c oops_begin +EXPORT_SYMBOL_GPL vmlinux 0x3f2d62d9 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x3f50e11e mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3f8fdad4 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x3f99e3b3 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3faa6ac3 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x3fb0391a disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x3fb394e4 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x3fe8dc2d sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3fe92d0a mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x3fe9f930 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x3fecaf5d devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x3ff1daf7 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x40014585 blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x4013926e inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x402078d5 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x40297248 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x402b5d73 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x403e7a10 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40c0910e pxa_ssp_request +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x40f8a61f __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x4127f68b usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x4136b986 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x414a6090 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x414b4ee9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x4154a610 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41990ca7 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x41af146c usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x41b24962 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x41ef6b61 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x4213266c ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x42162488 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x424a98a8 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x425d0de3 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x4267531e crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42c989ff iomap_atomic_prot_pfn +EXPORT_SYMBOL_GPL vmlinux 0x42f9e831 pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x4302e2cc relay_close +EXPORT_SYMBOL_GPL vmlinux 0x431faa40 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x435e6c6e crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x437c9830 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43c859e7 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x43d4166d fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4416bb45 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x441f81bd tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x443d0203 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x447fbe32 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44b9796a power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44cc9c55 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x44e4ce60 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x44f25895 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x450471c8 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x450a0da9 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x4512b086 intel_scu_devices_create +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x455c3ef4 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x455cb90f stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4594ce28 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x45b4ff8d bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x4621a751 xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0x46476d10 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x465c52c7 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x465ff2b5 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x467f5411 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x468945df blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x46df169b single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x46e1b097 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x46fd6c0c vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x47213172 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4742ea47 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x4757edab i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x47bff276 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47fa2642 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4800bd52 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x485b18d8 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x48682db9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x4879dc0e queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x4882babf find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48d587b8 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x48e2147d __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x48ed2fca shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x48f838a6 xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x48fa2873 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x49144418 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x49201e76 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x4958ab3f dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x495b21d2 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499b4646 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x49d02dac led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x49db8db4 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x49f9bf71 get_device +EXPORT_SYMBOL_GPL vmlinux 0x4a01fc60 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x4a2b151a tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x4a2c8226 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x4a8aaafc shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x4a9dea33 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x4aa698b6 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ad69ec0 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x4af4e51c regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x4afb573b vrtc_cmos_read +EXPORT_SYMBOL_GPL vmlinux 0x4b15b572 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x4b2a9988 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x4b2e260d usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b5669c4 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4bb2dee4 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4c10d14d __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x4c16f764 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x4c1d10da usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x4c4260a2 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x4c5ab777 xen_swiotlb_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x4c5cf56e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x4c614b05 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x4c6f0e82 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4ca41c5f ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x4d226118 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x4d3c09de register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x4dc0683b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4de601f8 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x4df47d94 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x4df8ee8d crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x4e0179cd sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e324943 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x4e5199ff ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4e55b59c virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x4e57723d apei_read +EXPORT_SYMBOL_GPL vmlinux 0x4e6638e3 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x4e66edc8 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4ec49205 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x4ed6e906 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4ee3aaab ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f0ee31d da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f3c5f9f regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x4f733fb3 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x4f99f09f usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4f9dc218 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4fa578d3 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x4fbd3624 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fd969f4 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x501a10ec platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x50492fb6 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50a1bcf5 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x50ba3bec acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e538ea scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x50ff9353 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x5103f2d4 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x51060769 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x5108b3fc acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x512b03ec ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x518e3e46 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x519978ca sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x519a07d6 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x51aebd22 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x51d1caa4 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x51e58d81 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52129db4 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x52463a25 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x525b2479 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x5268f823 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x527cb319 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x52ede6d4 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5306670f pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x5339acbc key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x533d531b bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53662107 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5398fbf9 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x539cd24a exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53f4c152 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x53fc7a36 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5427e758 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x544fb67f blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x547a1584 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x547c9c2f usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54cd9b04 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x54d1d7f6 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x5500bd5b ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x5523e88f ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x55718781 xen_swiotlb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557ae577 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x55de8d31 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x5606916f sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56358f6d posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x5654f836 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x566cce81 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x566dbb9b attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x5685ca9a tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x5689da47 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x56934c3f page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56d697ce cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x56dbe60e tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x57059d92 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x5728b6c4 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x57816b49 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57aae138 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x57b1d96b ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x57e95cba stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58b0344f unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x58d9dafe sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x58ef9d69 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x58f21c09 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x596fe5d4 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x59a42ab2 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x59a67023 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x59dbde56 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a0778a9 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x5a0c2efa skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x5a117941 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5ac07bd8 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x5ac45511 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x5ac59307 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5aed221a tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b0215eb wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x5b61b078 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5b74feda regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x5b7c8432 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x5b955042 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bc4199d proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c133629 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x5c644976 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x5c83e860 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x5c95637d securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5c95f53b crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x5cae5bad ref_module +EXPORT_SYMBOL_GPL vmlinux 0x5cb5921d tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x5cdd0ef4 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x5cf5761a platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x5cfa733b user_update +EXPORT_SYMBOL_GPL vmlinux 0x5d0efbb3 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d2fd866 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d41b19e scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x5d48a650 m2p_find_override_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d7ecb61 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d9fd5e5 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x5da46c05 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x5db01eea elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e213950 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x5e3f892d isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x5e484fac iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e6accf8 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5ebafa50 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x5ec2fde0 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5ed58409 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f2aa093 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f7edbc9 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x5ff276c3 swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0x6030947b debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x603b0727 m2p_remove_override +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x60781a70 device_create +EXPORT_SYMBOL_GPL vmlinux 0x607ef3c3 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60d9b0d6 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x60ee4da9 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x60f06095 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x60fab43f __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x610d0fdf alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x611b1fb1 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x615119ed input_class +EXPORT_SYMBOL_GPL vmlinux 0x61615dd2 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x616b7f9c __mrst_cpu_chip +EXPORT_SYMBOL_GPL vmlinux 0x6173b7e0 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x619a9089 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x61ef59fe fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x623264ff sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x623803c8 hest_disable +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x62a09296 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x632d0094 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x632ece04 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x6349c896 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x635ec980 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0x6362bb9e da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6368dde3 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x637fad1d ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x6385c960 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x63dd7277 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x63e59a16 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x6436bacb debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x64395136 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x643b157b md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6446bfd1 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x6459b7cc cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x6477d19b __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x64841cc5 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0x649a1af9 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x649a8dbb devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x64d0da33 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x64eb3d79 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x65102c40 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x652f7ab5 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x653cb02d intel_msic_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x654e48bb usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x6563993d apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x656a72e1 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x6592c5e7 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x65966344 flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x659aae14 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x65a50d88 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x65a6170f inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65c6a338 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x65cc9ef9 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65e50f0e crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x65f6defc ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x65fa533b usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x660773ed xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66394327 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x663c16d6 gnttab_grant_foreign_access_subpage_ref +EXPORT_SYMBOL_GPL vmlinux 0x6648a8ec dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x667abff5 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66a09e77 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x66b27696 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66b85eb7 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x66ca4d50 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66df2b2f dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x66e6b0cf ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x66e7cd5b xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0x66ee6f95 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x670d9d62 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x67200afc pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x673ef74c devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x674f8bbd generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x6757c5c6 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67ab3d48 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0x67eb13f5 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x682bfd39 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x6830bd5e pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x6859f4c0 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x68680f0a __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x6878b332 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x689404a9 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x689898ca usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x68a2e425 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x68b6ca79 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x68c3883e i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x68eb2dff __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x68f66200 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6914bbf7 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x69282119 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x696bb82c unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x6976a85a set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x6979069f led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69a19375 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a473b37 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x6a4e9d9b inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x6a50aca1 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a66d667 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6ac6d4f6 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x6ac94aef i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x6acad21f acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x6b094da7 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b2ef9b1 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b400a09 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x6b42809d wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x6b6131b3 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6b61d200 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b94c408 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6ba79381 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6bb2c052 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x6bd754cc pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x6c1251fd apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x6c1a1dfc mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c5f5671 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c910b44 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6caeb388 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x6cb78506 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x6cc1e0b9 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6cdbb0c6 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x6ce5c5f9 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x6d0d9000 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x6d2f4309 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d35350b isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x6d4308c1 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x6d49566f spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x6d7a0984 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x6d81fa6c virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x6d8aa35a i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x6dd5d34f spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x6dea4355 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x6df9c2a2 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x6e174e62 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x6e2c0e41 tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e782c23 iomap_create_wc +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e91b371 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x6e953ee8 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x6ebd53a5 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x6eceeb43 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x6eda9749 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x6ee0b5ee tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x6f16c938 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x6f18bad3 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x6f1ab2b3 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x6f1d936c ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f998eee __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x6facf0c8 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x6fb4452b cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x6fd2c672 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7009cf6d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x705a5969 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x7064fd44 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70918e49 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70bc4f71 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x718c6975 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x7218e274 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x72212242 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x7267db00 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x726d10dd pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7285f84f unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x72afbbf0 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x73013896 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x7328be97 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7342b84a anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73457dde ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x735b1cd6 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x738fd248 intel_msic_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a8f2d0 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0x73c05058 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73f859c1 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x7417f4fa xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x744e6542 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7473c028 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x748d801a pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74980776 xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74c08941 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x74dd12bc __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74f8e430 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x750348a4 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7529a295 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x755ce1f3 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x756681e4 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x756c6c25 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75ca56e9 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x75dcab27 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75e91976 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0x761d12ea fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x761e8249 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x762af55c xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x76650978 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x766dcd29 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x7670f8d6 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x7685bab9 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x768c5b57 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x7698e598 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x76c976b8 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x76cc063d get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x76e82df0 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x76f70246 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x77067320 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x77093bff relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77198db8 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x7755becf class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x7756581a file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x775a6ef5 kvm_read_and_reset_pf_reason +EXPORT_SYMBOL_GPL vmlinux 0x77716fb1 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x7782b59f pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x77858cb3 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x7790adc0 aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x779fa315 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x77aa4c3d cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x77b9d209 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x77c89acf sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x77ef8191 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x78a883ac tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x78c02994 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x78e995dc pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x78eb1696 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79a71c48 kernel_stack_pointer +EXPORT_SYMBOL_GPL vmlinux 0x79dbaffd regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x79e49dd6 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x79f33d07 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x7a2cbabd key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7a609e54 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x7a667b55 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x7a7c5175 amd_erratum_383 +EXPORT_SYMBOL_GPL vmlinux 0x7a7dded4 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aa33ff4 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ac8e5b0 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7afa1073 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x7afdaac6 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b83acc9 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7be34e60 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x7c33b309 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x7c496d49 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7c598769 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x7c59a11e ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x7c8fb255 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x7cb4e560 s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x7cbdc400 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc2a544 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x7cda713e sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x7cdf45a4 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceb0eb3 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7cef4d6a irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x7d3ded2b cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d6b8da9 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7d6d9edc regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x7d99609d pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc3f245 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dca238e xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x7dec86a8 xen_swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0x7dff3eab crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e17f6fd mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x7e1ecdc5 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e28df6a ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x7e53f458 ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e711c14 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x7e7afb8b modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7e8803fc tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x7ec22f9a apei_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x7f3d72a7 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x7f3de582 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x7f41e663 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7f822564 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x7f86d4b1 fpu_finit +EXPORT_SYMBOL_GPL vmlinux 0x7f89d80a pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x7f9205b4 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x7fbb5d26 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x7fbb857e unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fd465ed sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x7fe17b65 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x7ffcb483 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x7ffda337 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x8017590a sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x803fd0c1 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x804da4e9 pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0x806af56a xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80bcdc7d pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x80d136b9 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x80d5005e fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x81270eca blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x812b018c pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x812ceada dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814d61cc sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x817a9823 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x8203b406 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82175c23 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x825980a1 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x82897b32 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82dbec19 erst_write +EXPORT_SYMBOL_GPL vmlinux 0x82dd7843 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x82dfe480 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x82f89884 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x83274830 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x832acd37 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x8337b276 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x836d5250 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x838170b4 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83af34b6 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x8407a33b tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x840d99a7 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x8440ef1e usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x846c8953 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x84768104 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x848c8aa8 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x84928a9c remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x849339ed debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x849450c0 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x84b6f4af class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x84f02c6d ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x84f906cd blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x8534ea0a wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x85526eef usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x855291d4 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x855bfd12 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x8591d610 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x85bec0e1 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85ccd93c blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x8600dde3 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x860cbb18 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x860dded3 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x862f98a3 xen_create_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0x8635f065 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x863fe8a5 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x867f5349 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0x868528ef xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868a2417 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86a84acd aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x86aa16e6 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x86b014a3 cpufreq_get_measured_perf +EXPORT_SYMBOL_GPL vmlinux 0x86bcf8d6 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x871267dc __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x872f597d device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x8735bd31 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x8750ccc5 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x8761d9b8 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8789898b timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87cbfd55 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x87cef50f security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x87cf0a90 injectm +EXPORT_SYMBOL_GPL vmlinux 0x87d2b16c cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8811491b ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x8831f8b1 kmap_atomic_pfn +EXPORT_SYMBOL_GPL vmlinux 0x883d02f0 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x88459bc2 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x8845d579 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x88732485 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b0844e btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x88ddb45f rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x8910a15a __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x8946c898 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0x89502f0c gnttab_subpage_grants_available +EXPORT_SYMBOL_GPL vmlinux 0x8956aeae apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0x895a55c3 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x897482db hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x89b5c527 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x89b7cc91 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89e9120f usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a102d56 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x8a23fa31 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x8a31e741 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x8a512dc6 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a72c3a3 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8a7bd0bc crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8aa968f9 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8aceebdb device_register +EXPORT_SYMBOL_GPL vmlinux 0x8ae1c85d da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8aeda52d get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x8b04668e bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x8b2c017d ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x8b39c8d5 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x8b66f9e0 xen_platform_pci_unplug +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8bcb3e7c mmput +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c4a2519 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8c4db1b5 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8cd9f935 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0x8ce81ff6 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x8d20cf0c aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d533b84 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x8da46dc8 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x8da6a803 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8e19318c tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x8e25b68a xen_swiotlb_sync_single_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8e4295f2 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8e5e10e2 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8e7f38a9 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8e948955 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x8ed7b8a1 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x8edfc605 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x8f3b58b2 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x8f475173 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f9f8f01 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x8fa7fba5 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x8fb576b8 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8fc2f4a3 swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0x8fc6e2f1 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x8ff831b5 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90206b44 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x9024a6b2 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x9075aaa7 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90f3a0da regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x9111f438 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x913e0570 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x915c1034 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9193d867 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x919e31bd ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91edc20b rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x92261d5b spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x92481fc4 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x9259dcdd md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x929233c4 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x929c467f btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92c608a7 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92eedc03 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x92fc0263 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x9312d80e evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x93147c52 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x93148405 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x9330091b dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x9345302c power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x938f68d0 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93f65857 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x93f8cdc3 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x941217d8 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x941f455b iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x943cd245 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x943e8412 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x9447c9f0 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x9466f0bc pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0x947bbf14 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94b56c32 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x94c318be apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952ea90e ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x954268d4 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95945563 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x959aee84 put_device +EXPORT_SYMBOL_GPL vmlinux 0x95a6019a cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x95aaa356 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x95accfd7 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95d0635c class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x95da94ca perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x95fdc70d fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x9611256b pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9639e5a3 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x964add15 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x965d16c8 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x96698b0d devres_find +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d53764 xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x9732f4b7 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x97980b30 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x979ad659 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x97aed262 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x97b093dd btree_update +EXPORT_SYMBOL_GPL vmlinux 0x97bb5f73 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x97d50e09 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x97f9c45a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x97fec274 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9842f28e blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985f683d usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x98a82b18 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98d52d63 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x98e109f0 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x99156fec vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x991fe573 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9962c600 __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x997577d7 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x9985a77b da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x998e839f blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x999e4620 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a4a9b06 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x9a52bc74 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x9a67edb6 xen_remap_domain_mfn_range +EXPORT_SYMBOL_GPL vmlinux 0x9a886ac1 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9a8fa845 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9a9824ef btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9a988484 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9ab897f1 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b2930f3 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x9b3f2770 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x9b467a48 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9b5c0677 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9b939852 wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x9b9f3648 pcibios_scan_specific_bus +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9babf390 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x9bd3a0ae unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x9bd72b78 apei_write +EXPORT_SYMBOL_GPL vmlinux 0x9be3d9b3 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x9c0be3aa free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x9c162973 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x9c3c1310 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9c3e5b09 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x9c6006b4 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x9c6bfb26 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x9cb3e31c tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x9cb995f4 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9ce2deae rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x9d030b99 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d0ca2a4 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0x9d35c804 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9d8698b7 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x9d9d91aa tpm_bios_log_setup +EXPORT_SYMBOL_GPL vmlinux 0x9dcfaf53 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x9dd31a3c tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x9dd7d9f5 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x9ddf7b72 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x9df633ac __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e858d43 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0x9ea28211 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x9ebb5db0 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x9ebff902 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x9ee04d56 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x9ee1dbc6 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x9efe0f30 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x9f1491b5 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x9f207316 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x9f29601a atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9f39193f ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f59a0bb sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x9f850d19 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x9f878a8b da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x9fbf4bb2 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd36fa8 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff97f40 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x9ff9b5f9 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xa00ec688 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa00eda78 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xa0208e02 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa07534a5 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xa089ce63 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xa09d2bb5 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xa0b72214 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xa0c1038d kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0cac9a7 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xa0daa23f crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xa10a2775 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xa119f0c3 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xa13b59f4 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa13f00e1 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa16ddef8 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xa19bb49f da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1c0570c devres_release +EXPORT_SYMBOL_GPL vmlinux 0xa1c97e75 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa1f61936 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xa2001f70 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xa26e555b cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xa2834cdd unregister_efivars +EXPORT_SYMBOL_GPL vmlinux 0xa289e5dd dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xa2922f24 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xa2986cd1 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa2b07f78 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xa2d8bc5c crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xa2db57e4 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2ea58f0 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xa3029499 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xa308c65b rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xa34e51c8 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa366954e crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xa37ed2cf simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa39245ab rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3c5ffcf usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa3f3b59b shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xa3fbe3c1 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xa410228a device_attach +EXPORT_SYMBOL_GPL vmlinux 0xa41437ce tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0xa436ea4f dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xa443a731 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa466c5a7 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xa477b9a2 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xa4796751 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4ca0d4e unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4e07990 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xa5195d5c sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa59709fd xenbus_dev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xa59d9679 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa5b06d65 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xa5b9a4a4 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0xa5e65496 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xa5e6b601 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f12a28 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa6214375 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa67ab758 register_mce_write_callback +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6c0f133 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa722a819 cpu_has_amd_erratum +EXPORT_SYMBOL_GPL vmlinux 0xa73a03bc debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xa73cff97 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xa747b3b9 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xa7752ccf crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xa782cac3 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa7aab955 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xa7aae053 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa8557798 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa8b2cab3 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xa8b82a53 xen_destroy_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0xa8b9193e iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa9450dee fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xa9457b66 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xa9a82042 gnttab_trans_grants_available +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9fc3f54 gnttab_grant_foreign_access_trans +EXPORT_SYMBOL_GPL vmlinux 0xaa227106 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xaa2558ac m2p_add_override +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa3f13f7 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa486703 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xaa650e09 xenbus_dev_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xaa8519d8 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa89517f inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xaaa36a2f dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaaeeceee device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab533fd7 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xab556447 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab7557ed sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xab9e97d1 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xabc47f60 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xac17da13 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xac267cda crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xac55cb50 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xac7525a1 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xac9ce195 kvm_async_pf_task_wait +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad3609d3 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xad523afa tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadb0d062 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xadfff3dc rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xae053fbb usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae19a253 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xae3cc3f3 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6b195f device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xae7c5411 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0xae7c8076 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xae875d0d crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xae9d8d81 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xaeacfe36 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xaeeb2da0 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xaefb4247 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xaf0b801d vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xaf26fd5f gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xaf307d6e shake_page +EXPORT_SYMBOL_GPL vmlinux 0xaf31d33e apic +EXPORT_SYMBOL_GPL vmlinux 0xaf79b23e class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf7c9c85 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xaf88c204 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xaf8abe91 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xaf8c9b22 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xafa2b7b9 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xafcbe17f vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xb00a151b tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb0282445 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xb028cef0 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xb042d3e1 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb0a7abf5 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0fc0f27 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb105827e flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb130b2e2 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xb1390037 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb14f7307 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xb151e5de platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb1690341 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xb16fb43c sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb19ec215 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1f0a5bf tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xb2306a5d scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xb23ed0c0 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xb243a9c6 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xb282a9d7 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xb2b1aa78 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xb2dcf2ee blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2f35a4a default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xb31449f4 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb39b9651 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3a89aa9 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xb3aa6d22 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb3d5bcd1 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb3e26108 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xb4167d0d xen_swiotlb_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xb4342bf8 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0xb4435012 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xb4503f4e unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xb45bf1b3 bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0xb481245e pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xb4996689 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0xb4bef133 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4f45279 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0xb50fe060 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb53c2d6f tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5c1b026 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5d8913d register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb63024be regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xb666987a dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb69898f2 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xb69d04ab __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb69e1f63 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6bc49a9 __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xb6db8cac crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xb6f19d81 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xb6f23c50 device_add +EXPORT_SYMBOL_GPL vmlinux 0xb6f2e73a ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xb7025069 intel_idle_cpu_init +EXPORT_SYMBOL_GPL vmlinux 0xb70437f3 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xb7077036 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb73d8098 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xb73f7362 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb75d662a hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xb76544ee stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xb7c0fb17 xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb80790e8 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xb80eabfd transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb829f06b user_describe +EXPORT_SYMBOL_GPL vmlinux 0xb862445d usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xb86937c5 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb86bcceb klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb8af2436 pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0xb8b05959 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xb8d80a2a __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xb8f49234 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb9392eb2 device_del +EXPORT_SYMBOL_GPL vmlinux 0xb96b53c5 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb97cabcb ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xb984e689 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xb98f3452 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9aa7e2c bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9bbe813 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d369a8 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xb9d3bc32 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xb9da2997 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0xb9f75170 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xba8c06fa serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb2d2296 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xbb58b814 iomap_free +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb84cfe2 xen_swiotlb_unmap_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0xbbb7ece4 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbe4d601 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xbc08c41c adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc247dde usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xbc2bf721 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xbc383c5a fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbca0201a sfi_mrtc_array +EXPORT_SYMBOL_GPL vmlinux 0xbca8789c pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbcbc795e ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcffd2d8 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd50a4ef simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd63be38 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xbd705c6c ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xbd7aa133 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xbd8e5fc3 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xbdd0b3f8 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdd2f42a rcu_bh_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0xbdd5f10f apei_hest_parse +EXPORT_SYMBOL_GPL vmlinux 0xbe0fc792 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xbe15498f uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe1d9d5d subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xbe277c80 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xbe299c50 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xbe389b9f regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xbe51885e usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xbf243cfc fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xbf5b342e usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xbf65be8c devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xbf9b8469 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xbfa56fcb preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbffcb3b7 acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0xc00131cf visitor64 +EXPORT_SYMBOL_GPL vmlinux 0xc028be58 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc04e4720 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xc05a6c28 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0935aaf cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xc0a34be3 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xc0b8ceae dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0ce6a0a fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0e29c8e input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xc0e75cec visitor128 +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc117fae3 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xc11820c5 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xc11b4470 balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc1369b58 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc13d5cd3 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xc164642e xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1782ef4 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc179eaf4 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc1b8967e devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc215e7f7 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xc217cf83 yield_to +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc244b2f8 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc24fd5ac crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc287f921 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xc3002c10 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc34db662 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc3728be1 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xc382c9df ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3a2c4a6 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xc3a5d1d6 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc414b1ca dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc438063a __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc43a3284 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0xc4628b9d __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4a9944f ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xc50d9b26 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc52e2f26 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc5bab3fe btree_init +EXPORT_SYMBOL_GPL vmlinux 0xc5c264a5 amd_erratum_400 +EXPORT_SYMBOL_GPL vmlinux 0xc5c481fd transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xc5d589ed sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xc5ee820c md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc637b4c9 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc66e33c8 dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xc67d759d power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xc69a6b3c find_module +EXPORT_SYMBOL_GPL vmlinux 0xc6de8c46 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc7002ac4 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0xc729f384 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc7734221 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0xc79b9146 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7b6e765 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7e4d321 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xc7ef7b65 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xc81773ce ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc8626e68 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8b09cd8 css_id +EXPORT_SYMBOL_GPL vmlinux 0xc8d5be8d wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9e04fce usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca3057d1 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0xca3a6952 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xca5fa635 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0xca6c9d56 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xca7585e5 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca81ea9a xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcaf6dd98 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfbb7 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xcb3e2ea0 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xcb5c7f15 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xcb62753d shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xcb6f16c2 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xcb74abf0 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xcb91cc6f intel_scu_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcbb60c49 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xcbebbfa1 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbef56ba md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xcc05773a xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc2a57c7 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xcc31f15b eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xcc3da32d aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc971815 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xcc9d2081 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xccabd2d4 md_run +EXPORT_SYMBOL_GPL vmlinux 0xccb29939 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xccb9220e init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xccbb02ab crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce83020 print_context_stack +EXPORT_SYMBOL_GPL vmlinux 0xccea24c2 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccf80758 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xcd05645e regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xcd211b96 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xcd28d05f tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcd5d3382 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd8d0a3f inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcda4f102 edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0xcdbf8ea3 user_read +EXPORT_SYMBOL_GPL vmlinux 0xcdc936b0 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdcf15c4 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xcddffb1d xen_swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xcde06123 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce2a46d5 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xce2ba65b clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce6c6420 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xce94f124 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xcf0821b8 xen_swiotlb_dma_mapping_error +EXPORT_SYMBOL_GPL vmlinux 0xcf274851 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0xcf312bb1 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xcf35a395 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xcf6a9879 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xcf91ab65 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd04aa258 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xd08a9a59 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd09d6e16 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd0a98dcb crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd106b041 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0xd121a43f device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xd12b48a2 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1507e59 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd16e73fe inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xd17db743 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xd18a932b tpm_release +EXPORT_SYMBOL_GPL vmlinux 0xd1a3898d device_move +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1e3ecb4 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd1f7787c clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xd20542af usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217ce9f wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2810fd3 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd2c58ab2 apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0xd2d4dac8 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd33a78bc devres_get +EXPORT_SYMBOL_GPL vmlinux 0xd33cc18d hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xd363dbe5 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd385d8c4 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xd3aeee54 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xd3db62eb tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd3e6528f hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4342b40 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xd438d3b7 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xd44764b9 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xd44c22ec usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xd45bfed1 blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd4790715 user_match +EXPORT_SYMBOL_GPL vmlinux 0xd47a9ac6 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd486de63 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xd4aa6b2f handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xd4bec53e usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c2e5fb acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xd4c32f95 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4de495a crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xd5052129 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd5190a84 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xd51c75f0 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xd544e902 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0xd549fb31 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xd550560f __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5a48af3 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5b8e06d lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5cdeb00 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xd5e98019 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0xd64eb5f3 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67e340a kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xd67f5217 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd68d5bc2 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xd6a6a3cf skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd6ed3a8e cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd709dc94 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd736b3aa hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xd7455faa pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0xd749e55f fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xd7559661 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xd75b0899 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd782171b ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd7ab2c0c speedstep_detect_processor +EXPORT_SYMBOL_GPL vmlinux 0xd7afd367 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xd7c1f3e0 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd808989e usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd8250a5c iounmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xd843138e ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd87fc5b3 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xd8bdb327 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xd8cf2c8e i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xd912746a crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd91cf950 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd94096de kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd94b737e erst_read +EXPORT_SYMBOL_GPL vmlinux 0xd963dde9 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xd9e3027a tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd9ee84fe anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xda0baa1a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda50dd3e fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdac6aac3 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb029c54 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb0c7016 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xdb5ff556 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xdb642cdf ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb8adee8 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xdba01d45 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0xdbd7533c ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xdbf06db2 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc4d6fd7 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xdc59a32f wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0xdc714560 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc8beba0 xen_swiotlb_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdce3b43c usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xdce57037 apei_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xdcef8017 __css_put +EXPORT_SYMBOL_GPL vmlinux 0xdd151a79 tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xdd2cff9d raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd66c333 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xdda5cf50 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xddaeaae0 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde747356 intel_msic_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xde77dc66 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xde8f877f kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdeab4304 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xdeac003f ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xdeb588b4 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xdecf664f xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0xdeed381e ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdeed957b usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdef15121 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf2777cc unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xdf61331a tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xdf77e049 task_xstate_cachep +EXPORT_SYMBOL_GPL vmlinux 0xdf9cafbf exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xdfa1fd06 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xdfb1ff1a tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xdfc391d2 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xdfd27c5b platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xdfdef89b pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xdfdf8ffa sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xe003b536 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe0170904 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe08e52cc rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xe0be76c6 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe1293ea1 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0xe140e829 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xe14522f5 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xe14bb06e xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe151192d netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe15490d8 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xe16755ef shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xe1cee906 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xe1f14e8d spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xe1fe0b58 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xe218d8a6 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe21b61aa pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xe21b9363 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xe2229d30 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xe2364617 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xe255f897 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0xe276250c usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xe27fa895 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2b66372 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe2bfdcaf pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xe2d47b16 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe304a8ef fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xe3175ac5 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xe322f6f8 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe3290ddf agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xe34ed703 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3a3d3d6 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xe3a57825 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe3b29c61 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe4089ec3 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xe41534ce bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe439815c erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xe43b27e6 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe444e4b3 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xe44ebe01 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xe4571852 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xe472d61c set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xe4c331b6 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xe4e68bc8 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0xe5110c79 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe516bdff pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xe5182942 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe539040e bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xe55d7822 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe59bd185 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xe5d68dd5 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe5edcff3 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6350e27 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xe639c585 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6838c76 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xe68c6497 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6cc0fa0 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe6dbcfa9 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe746a5a5 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe79aa56f crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe7c6ae80 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xe7d07c7c wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe7ddec76 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe7f0dbd0 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe8386d92 pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xe83d7428 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe8564e56 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8d8e5b4 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe8e58910 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xe924a14f __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94859de blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe95aa8aa sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0xe96c7673 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xe97b0959 zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xe98e6331 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d4c86f inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xe9ed7c9e blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea193ee8 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0xea3ddadc inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea905975 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xea9f1689 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeafd3d7c inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xeb370805 __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xeb5c68c2 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xeb60fa63 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xebb8f734 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xebd607b3 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xebd732eb srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xebeb13ce ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xec1661a0 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec2e796b zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xec93c168 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xeca7774f mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xecef7367 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xecf90bf6 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xed18faa6 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xed52f156 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xed6818b7 __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xedcfbf88 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xedf27dda use_mm +EXPORT_SYMBOL_GPL vmlinux 0xedf3f1f1 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0xee1ace0c bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xee274f97 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xee48b157 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xee4e98d4 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xee56d4ab tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xee991947 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xeeab1b02 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xeec24d31 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xeec99f87 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xef10e1da led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xef162713 css_depth +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef21053a security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xef23d470 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xef286fd7 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xef2c46d5 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef5240c3 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef782b88 gnttab_grant_foreign_access_subpage +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xefa06ddb sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xefb2550b stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xefef0909 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xeff3732b ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xf054ac97 intel_msic_irq_read +EXPORT_SYMBOL_GPL vmlinux 0xf05d2e34 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06c1cc7 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xf081f9e2 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xf083966f blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xf0a5b075 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xf0afc567 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xf0b91c90 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xf0d13a42 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf1467012 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b551d9 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xf210e11e rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf2737a48 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xf280fb0e zs_free +EXPORT_SYMBOL_GPL vmlinux 0xf28931b0 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf28c776b xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xf2b6515d ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xf2cc78d5 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30e105d ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf31a3e7f acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf334a895 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xf3609411 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf3e17223 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0xf441233c devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf4798855 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xf4839d8b virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf49a072b sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xf4be20e6 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf4c78cc8 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5153cb8 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf53ceda8 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0xf540b4a5 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xf546336c dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5785b42 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b2ed26 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf5c4f6c0 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xf5d81aa5 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xf5e5bcb8 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL vmlinux 0xf6c76b07 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xf6da145e tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xf6de29b2 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf72954d6 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf7322bc8 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7689b19 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xf7a14f56 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xf826ecda device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf844d0a2 xen_swiotlb_map_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0xf86cb612 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf90159d3 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xf913a6c8 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0xf913cbd8 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xf921be04 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf9560d09 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xf95c9489 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf997d715 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b3016a blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9dfefa8 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xf9e91de8 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xf9fd0d30 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa0a808b regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa2b763a scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xfa3d1f8d fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xfa84a858 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfa89fe73 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xfa9213e3 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xfaa3270b part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xfabbdd3b class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xfac3706b tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xfad44e69 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xfaf6413b driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xfb0f6764 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb125b92 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xfb12b03f bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb609434 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0xfb697c05 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb818232 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xfb83714a cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xfbd9182d led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xfbec18a5 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3ff3e9 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xfc3ffcfd wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xfc45d4fb crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xfc968c8b apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0xfca01d7e kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xfca46cd0 acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfcea6edd inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xfcfcc8a7 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0xfd05464b klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xfd137f71 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xfd381b35 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xfd3da5b2 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfd450563 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd769350 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfd9177a2 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfd94e482 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xfdaf5e15 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdc7d85d inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe19569e acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xfe44569e rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfec7b2b5 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfeed4c9c xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff04dd16 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff314961 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff5f2b0e __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xff671024 tpm_write +EXPORT_SYMBOL_GPL vmlinux 0xff8d7f07 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffafd93b hwpoison_filter --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/i386/generic.compiler +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/i386/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/i386/generic.modules +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/i386/generic.modules @@ -0,0 +1,3693 @@ +3c501 +3c503 +3c505 +3c507 +3c509 +3c515 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-sas +3w-xxxx +53c700 +6lowpan +6pack +8021q +8139cp +8139too +8250_accent +8250_boca +8250_exar_st16c554 +8250_fourport +8250_hub6 +8255 +82596 +8390 +8390p +88pm860x_bl +88pm860x_onkey +88pm860x-ts +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870_bl +aat2870-regulator +ab3100 +ab3100-otp +abituguru +abituguru3 +ac3200 +ac97_bus +acard-ahci +acecad +acenic +acerhdf +acer-wmi +acl7225b +acpi_ipmi +acpi_pad +acpiphp +acpiphp_ibm +acpi_power_meter +acquirewdt +act2000 +act200l-sir +act_csum +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad2s1200 +ad2s1210 +ad2s90 +ad5064 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5504 +ad5624r_spi +ad5686 +ad5764 +ad5791 +ad5930 +ad5933 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7152 +ad7192 +ad7280a +ad7291 +ad7298 +ad7314 +ad7414 +ad7418 +ad7476 +ad7606 +ad7746 +ad7780 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad799x +ad8366 +ad9832 +ad9834 +ad9850 +ad9852 +ad9910 +ad9951 +adcxx +addi_apci_035 +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2016 +addi_apci_2032 +addi_apci_2200 +addi_apci_3001 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +ade7753 +ade7754 +ade7758 +ade7759 +ade7854 +ade7854-i2c +ade7854-spi +adfs +adi +adis16060 +adis16080 +adis16130 +adis16201 +adis16203 +adis16204 +adis16209 +adis16220 +adis16240 +adis16260 +adis16400 +adl_pci6208 +adl_pci7230 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5520_bl +adp5520-keys +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +ads1015 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adummy +adutux +adv7170 +adv7175 +adv7180 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +adxl34x +adxl34x-i2c +adxl34x-spi +adxrs450 +aes-i586 +aesni-intel +af_802154 +af9013 +af9033 +af_alg +affs +af_key +af-rxrpc +ah4 +ah6 +aha152x +aha152x_cs +aha1542 +aha1740 +ahci_platform +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +ak8975 +alauda +algif_hash +algif_skcipher +ali-agp +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altera-ci +altera_jtaguart +altera_ps2 +altera-stapl +altera_uart +ambassador +amc6821 +amd5536udc +amd76x_edac +amd76xrom +amd8111e +amd-rng +amilo-rfkill +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +ams369fg06 +analog +ansi_cprng +anubis +aoe +apanel +apds9802als +apds990x +apm +apple_bl +appledisplay +apple-gmux +applesmc +appletalk +appletouch +applicom +ar7part +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +as5011 +asb100 +asc7621 +asix +asus_atk0110 +asus-laptop +asus-nb-wmi +asus_oled +asus-wmi +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at1700 +at24 +at25 +at76c50x-usb +atbm8830 +aten +ath +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ati-agp +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_mxt_ts +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo_k1900fb +auo_k1901fb +auo_k190x +auo-pixcir-ts +authenc +authencesn +auth_rpcgss +autofs4 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1isa +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +bas_gigaset +batman-adv +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bch +bcm203x +bcm3510 +bcm5974 +bcma +bcma-hcd +bcm_wimax +be2iscsi +be2net +befs +belkin_sa +bfa +bfs +bfusb +bh1770glc +bh1780gli +binfmt_aout +binfmt_misc +block2mtd +blowfish_common +blowfish_generic +bluecard_cs +bluetooth +bma150 +bmp085-i2c +bmp085-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bonding +bpa10x +bpck +bpck6 +bpqether +bq27x00_battery +br2684 +brcmfmac +brcmsmac +brcmutil +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +btwilink +bu21013_ts +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c101 +c2port-duramar2150 +c4 +c67x00 +c6xdigio +cachefiles +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +camellia_generic +can +can-bcm +can-dev +can-gw +can-raw +capi +capidrv +capmode +carl9170 +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cc770 +cc770_isa +cc770_platform +c_can +c_can_platform +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc_ncm +cdc-phonet +cdc_subset +cdc-wdm +ceph +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +chipreg +chnl_net +ci13xxx_pci +cifs +ci_hdrc +cirrusfb +ck804xrom +classmate-laptop +clearpad_tm1217 +clip +cls_basic +cls_cgroup +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +cma3000_d0x +cma3000_d0x_i2c +cmtp +cnic +cobra +coda +com20020 +com20020_cs +com20020-isa +com20020-pci +com90io +com90xx +comedi +comedi_bond +comedi_fc +comedi_parport +comedi_test +comm +compal-laptop +configfs +contec_pci_dio +cops +cordic +core +coretemp +cosa +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia2 +cpqarray +cpqphp +cpu5wdt +cpufreq-nforce2 +cpuid +cpu-notifier-error-inject +c-qcam +cramfs +cr_bllcd +crc7 +crc8 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +crypto_user +crystalhd +cs5345 +cs53l32a +cs5535-mfd +cs553x_nand +cs89x0 +ct82c710 +ctr +cts +cuse +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxd2099 +cxd2820r +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxt1e1 +cy8ctmg110_ts +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +cyttsp_core +cyttsp_i2c +cyttsp_spi +da9030_battery +da9034-ts +da903x +da903x_bl +da9052_bl +da9052_onkey +da9052-regulator +da9052_tsi +da9052_wdt +DAC960 +daqboard2000 +das08 +das08_cs +das16 +das16m1 +das1800 +das6402 +das800 +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +ddbridge +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +dell-wmi-aio +denali +depca +des_generic +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +divacapi +divadidd +diva_idi +diva_mnt +divas +dl2k +dlci +dlm +dm1105 +dm9601 +dm-bufio +dm-crypt +dme1737 +dmfe +dmi-sysfs +dm-log +dmm32at +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-raid45 +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-thin-pool +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2001plus +docecc +docg3 +docg4 +docprobe +donauboe +dpt_i2o +drbd +drm +drm_kms_helper +drm_usb +drxd +drxk +ds1621 +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds620 +dsa_core +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155v4l +dt9812 +dtc +dtl1_cs +dtlk +dummy +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-it913x +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dwc3 +dwc3-omap +dwc3-pci +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e2100 +e752x_edac +e7xxx_edac +earth-pt1 +easycap +eata +ebt_802_3 +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ec100 +echo +ec_sys +edac_core +edac_mce_amd +eeepc-laptop +eeepc-wmi +eepro +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +eexpress +efficeon-agp +efs +egalax_ts +einj +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +emc1403 +emc2103 +emc6w201 +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_pcmcia +ems_usb +em_text +emu10k1-gp +em_u32 +enc28j60 +enclosure +ene_ir +eni +enic +epat +epia +epic100 +eql +erst-dbg +es3210 +esb2rom +esd_usb2 +esi-sir +esp4 +esp6 +et131x +eth16i +ethoc +eurotechwdt +evbug +ewrk3 +exofs +ext2 +extcon_class +extcon_gpio +extcon-max8997 +f71805f +f71808e_wdt +f71882fg +f75375s +f81232 +fakephp +fam15h_power +farsync +faulty +fb_ddc +fb_sys_fops +fc0011 +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +fintek-cir +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fixed +fl512 +floppy +fm801-gp +fm_drv +fmvj18x_cs +fnic +forcedeth +fore_200e +freevxfs +friq +frpw +fsa9480 +fscache +fschmd +ft1000 +ft1000_pcmcia +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu-tablet +fujitsu_ts +funsoft +g450_pll +g760a +g_acm_ms +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +g_dbgp +gdmwm +gdth +generic +generic_bl +gen_probe +geode-aes +geode-rng +g_ether +gf128mul +gf2k +g_ffs +gfs2 +ghash-generic +g_hid +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +gma500_gfx +g_mass_storage +g_midi +g_ncm +g_NCR5380 +g_NCR5380_mmio +g_nokia +go7007 +go7007-usb +goku_udc +gp2ap002a00f +gpio-74x164 +gpio-addr-flash +gpio-adp5520 +gpio-adp5588 +gpio-charger +gpio-cs5535 +gpio-fan +gpio-generic +gpio-ich +gpio-ir-recv +gpio-it8761e +gpio-janz-ttl +gpio_keys +gpio_keys_polled +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mc33880 +gpio-mcp23s08 +gpio-ml-ioh +gpio_mouse +gpio-pca953x +gpio-pcf857x +gpio-pch +gpio-rdc321x +gpio-regulator +gpio-sch +gpio_tilt_polled +gpio-tps65912 +gpio_vbus +gpio-vx855 +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +g_printer +gre +grip +grip_mp +gsc_hpdi +g_serial +gspca_benq +gspca_conex +gspca_cpia1 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtco +guillemot +gunze +g_webcam +gx1fb +gxfb +gx-suspmod +g_zero +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_uart +hci_vhci +hdaps +hdlc +hdlc_cisco +hdlcdrv +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdpvr +he +hecubafb +hexium_gemini +hexium_orion +hfc4s8s_l1 +hfcmulti +hfcpci +hfcsusb +hfc_usb +hfs +hfsplus +hgafb +hid +hid-a4tech +hid-apple +hid-aureal +hid-axff +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-dr +hid-elecom +hid-emsff +hid-ezkey +hid-gaff +hid-generic +hid-gyration +hid-holtekff +hid-hyperv +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-logitech +hid-logitech-dj +hid-magicmouse +hid-microsoft +hid-monterey +hid-multitouch +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-picolcd +hid-pl +hid-primax +hid-prodikeys +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-kovaplus +hid-roccat-pyra +hid-saitek +hid-samsung +hid-sjoy +hid-sony +hid-speedlink +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-uclogic +hid-wacom +hid-waltop +hid-wiimote +hid-zpff +hid-zydacron +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +hmc5843 +hmc6352 +hopper +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hostess_sv11 +hp +hp100 +hp4x +hp_accel +hpfs +hpilo +hp-plus +hpsa +hptiop +hpwdt +hp-wmi +hsi +hsi_char +hso +htc-pasic3 +htcpen +hv_netvsc +hv_storvsc +hv_utils +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-designware-core +i2c-designware-pci +i2c-dev +i2c-diolan-u2c +i2c-eg20t +i2c-gpio +i2c-i801 +i2c-intel-mid +i2c-isch +i2c-matroxfb +i2c-mux +i2c-mux-gpio +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-nforce2 +i2c-nforce2-s4985 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-isa +i2c-pca-platform +i2c-piix4 +i2c-scmi +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-xiic +i2o_block +i2o_bus +i2o_config +i2o_core +i2o_proc +i2o_scsi +i3000_edac +i3200_edac +i5000_edac +i5100_edac +i5400_edac +i5k_amb +i6300esb +i7300_edac +i740fb +i7core_edac +i810 +i810fb +i82092 +i82365 +i82860_edac +i82875p_edac +i82975x_edac +i8k +i915 +i915_hsw +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmpex +ibmphp +ibm_rtl +ib_mthca +ib_sa +ib_srp +ib_srpt +ib_ucm +ib_umad +ib_uverbs +ichxrom +icn +icp_multi +ics932s401 +ideapad-laptop +idmouse +idt77252 +ie6xx_wdt +ieee802154 +ifb +iforce +igb +igbvf +iio_dummy +iio_hwmon +iio-trig-gpio +iio-trig-periodic-rtc +iio-trig-sysfs +ii_pci20kc +ili210x +ili9320 +imm +imon +imx074 +in2000 +ina2xx +industrialio +inet_diag +inexio +inftl +initio +input-polldev +int51x1 +intelfb +intel_ips +intel_menlow +intel_mid_battery +intel_mid_dma +intel_mid_powerbtn +intel_mid_thermal +intel-mid-touch +intel_oaktrail +intel-rng +intel_scu_ipcutil +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_REJECT +ip6t_rpfilter +ip6t_rt +ip6_tunnel +ipack +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ipoctal +ipr +ips +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netport +ip_set_list_set +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_ah +ipt_CLUSTERIP +ipt_ECN +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_rpfilter +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ircomm-tty +irda +irda-usb +iris +ir-jvc-decoder +ir-kbd-i2c +irlan +ir-lirc-codec +ir-mce_kbd-decoder +ir-nec-decoder +irnet +ir-rc5-decoder +ir-rc5-sz-decoder +ir-rc6-decoder +ir-sanyo-decoder +ir-sony-decoder +irtty-sir +ir-usb +isci +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdn +isdn_bsdcomp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1301 +isp1362-hcd +isp1704_charger +isp1760 +it87 +it8712f_wdt +it87_wdt +it913x-fe +iTCO_vendor_support +iTCO_wdt +itd1000 +ite-cir +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iw_cxgb4 +iwl3945 +iwl4965 +iwlegacy +iwlwifi +iwmc3200top +iwmc3200wifi +iw_nes +ix2505v +ixgb +ixgbe +ixgbevf +ixj +ixj_pcmcia +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k10temp +k8temp +kafs +kalmia +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keucr +keyspan +keyspan_pda +keyspan_remote +kfifo_buf +khazad +kingsun-sir +kl5kusb105 +kobil_sct +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ksz884x +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kxtj9 +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_ppp +l440gx +l4f00242t03 +l64781 +lanai +lance +lapb +lapbether +latch-addr-flash +lcd +ld9040 +ldusb +lec +leds-88pm860x +leds-adp5520 +leds-bd2802 +leds-clevo-mail +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3533 +leds-lp3944 +leds-lp5521 +leds-lp5523 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-net48xx +leds-ot200 +leds-pca9532 +leds-pca955x +leds-pca9633 +leds-regulator +leds-ss4200 +leds-tca6507 +leds-wm831x-status +leds-wm8350 +leds-wrap +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +ledtrig-transient +legousbtower +lg2160 +lgdt3305 +lgdt330x +lgs8gxx +lg-vl600 +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libceph +libcrc32c +libcxgbi +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libore +libosd +libsas +libsrp +lightning +line6usb +lineage-pem +linear +lirc_bt829 +lirc_dev +lirc_igorplugusb +lirc_imon +lirc_parallel +lirc_sasem +lirc_serial +lirc_sir +lirc_ttusbir +lirc_zilog +lis3l02dq +lis3lv02d +lis3lv02d_i2c +litelink-sir +lkkbd +llc +llc2 +lm3533_bl +lm3533-core +lm3533-ctrlbank +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lm95245 +lmc +lms283gf05 +lnbp21 +lnbp22 +lne390 +lockd +logger +logibm +longhaul +longrun +lp +lp3971 +lp3972 +lp486e +lp855x_bl +lp8727_charger +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +ltc4151 +ltc4215 +ltc4245 +ltc4261 +ltpc +ltv350qv +lxfb +m25p80 +m52790 +m88rs2000 +ma600-sir +mac80211 +mac80211_hwsim +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac_hid +machzwd +mac-iceland +mac-inuit +macmodes +mac-roman +mac-romanian +mac-turkish +macvlan +macvtap +magellan +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +matrix-keymap +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max11801_ts +max1363 +max1586 +max16065 +max1619 +max1668 +max17040_battery +max17042_battery +max2165 +max3100 +max3107 +max6639 +max6642 +max6650 +max6875 +max7359_keypad +max8649 +max8660 +max8903_charger +max8925_bl +max8925_onkey +max8925_power +max8925-regulator +max8952 +max8997 +max8997_charger +max8998 +max8998_charger +mb862xxfb +mb86a16 +mb86a20s +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc44s803 +mce_amd_inj +mce-inject +mceusb +mce-xeon75xx +mcp2120-sir +mcp251x +mcp3021 +mcs5000_ts +mcs7780 +mcs7830 +mcs_touchkey +mct_u232 +md4 +mdacon +mdc800 +mdio +mdio-bitbang +mdio-gpio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mei +mem2mem_testdev +memstick +metronomefb +metro-usb +meye +mfd +mga +michael_mic +microcode +microtek +minix +mip6 +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mixcomwd +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mma8450 +mmc_block +mos7720 +mos7840 +moto_modem +moxa +mpc624 +mpoa +mpr121_touchkey +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrst_max3110 +msdos +msi-laptop +msi-wmi +msp3400 +mspro_block +msr +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9t112 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtd_dataflash +mtdoops +mtdram +mtdswap +mtip32xx +mtouch +multipath +multiq3 +musb_hdrc +mv88e6060 +mv88e6xxx_drv +mvsas +mv_udc +mvumi +mwave +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxl111sf-demod +mxl111sf-tuner +mxl5005s +mxl5007t +mxm-wmi +mxser +myri10ge +n2 +n411 +nand +nand_bch +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +nci +ncpfs +NCR53c406a +ne +ne2k-pci +ne3210 +neofb +net1080 +net2272 +net2280 +netconsole +netjet +netprio_cgroup +netrom +netsc520 +nettel +netxen_nic +newtonkbd +nfc +nf_conntrack +nf_conntrack_amanda +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_ipv4 +nf_conntrack_ipv6 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_proto_dccp +nf_conntrack_proto_gre +nf_conntrack_proto_sctp +nf_conntrack_proto_udplite +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nfcwilink +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_proto_dccp +nf_nat_proto_gre +nf_nat_proto_sctp +nf_nat_proto_udplite +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nfnetlink +nfnetlink_acct +nfnetlink_cttimeout +nfnetlink_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +ngene +n_hdlc +ni52 +ni65 +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +nicstar +ni_daq_700 +ni_daq_dio24 +ni_labpc +ni_labpc_cs +nilfs2 +ni_mio_cs +ni_pcidio +ni_pcimio +ni_tio +ni_tiocmd +niu +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +nmclan_cs +nop-usb-xceiv +nosy +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc_gpio +nsc-ircc +nsp32 +nsp_cs +ntc_thermistor +ntfs +n_tracerouter +n_tracesink +nuvoton-cir +nvidiafb +nvme +nvram +nv_tco +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ocrdma +old_belkin-sir +omap4-keypad +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +openvswitch +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +osd +osdblk +osst +oti6858 +output +ov2640 +ov5642 +ov6650 +ov7670 +ov772x +ov9640 +ov9740 +overlayfs +oxu210hp-hcd +ozwpan +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8022 +p8023 +padlock-aes +padlock-sha +palmas-regulator +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas16 +pata_ali +pata_amd +pata_arasan_cf +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cs5535 +pata_cs5536 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_isapnp +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_oldpiix +pata_opti +pata_optidma +pata_pcmcia +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pc110pad +pc300too +pc87360 +pc8736x_gpio +pc87413_wdt +pc87427 +pcap_keys +pcap_ts +pcbc +pcbit +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_can +pch_dma +pch_gbe +pch_phub +pch_uart +pch_udc +pci +pci200syn +pcips2 +pci_slot +pci-stub +pcl711 +pcl724 +pcl725 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcm3730 +pcmad +pcmcia +pcmcia_core +pcmciamtd +pcmcia_rsrc +pcm_common +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcrypt +pcspkr +pcwd +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pcmcia +peak_usb +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pixcir_i2c_ts +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +plx_pci +pm2fb +pm3fb +pm8001 +pmc551 +pmcraid +pms +pn533 +pn544 +pn544_hci +pn_pep +poc +poseidon +powermate +powernow-k6 +powernow-k7 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppox +ppp_synctty +pps_core +pps-gpio +pps-ldisc +pps_parport +pptp +prism2_usb +progear_bl +ps2mult +psmouse +psnap +pt +pti +pvrusb2 +pwc +qcaux +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas +qlogicfas408 +qmi_wwan +qnx4 +qnx6 +qt1010 +qt1070 +quatech2 +quatech_daqp_cs +quickstart +quota_tree +quota_v1 +quota_v2 +r128 +r592 +r6040 +r8169 +r8187se +r8192e_pci +r8192u_usb +r82600_edac +r852 +r8712u +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-aimslab +radio-aztech +radio-cadet +radio-gemtek +radio-i2c-si470x +radio-isa +radio-keene +radio-maxiradio +radio-miropcm20 +radio-mr800 +radio-rtrack2 +radio-sf16fmi +radio-sf16fmr2 +radio-si4713 +radio-tea5764 +radio-terratec +radio-timb +radio-trust +radio-typhoon +radio-usb-si470x +radio-wl1273 +radio-zoltrix +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramoops +raw +ray_cs +rbd +rc5t583-regulator +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-em-terratec +rc-encore-enltv +rc-encore-enltv2 +rc-encore-enltv-fm53 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-imon-mce +rc-imon-pad +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lirc +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-pctv-sedna +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-snapstream-firefly +rc-streamzap +rc-tbs-nec +rc-technisat-usb2 +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-trekstor +rc-tt-1500 +rc-twinhan1027 +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-winfast +rc-winfast-usbii-deluxe +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +redrat3 +reed_solomon +reiserfs +renesas_usbhs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill-regulator +ring_sw +rio500 +rionet +rivafb +rj54n1cb0c +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800pci +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-88pm860x +rtc-ab3100 +rtc-bq32k +rtc-bq4802 +rtc-da9052 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3232 +rtc-ds3234 +rtc-em3027 +rtc-fm3130 +rtc-isl12022 +rtc-isl1208 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max8925 +rtc-max8998 +rtc-mc13xxx +rtc-mrst +rtc-msm6242 +rtc-pcap +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3029c2 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl2830 +rtl8150 +rtl8180 +rtl8187 +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192se +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rts5139 +rts_pstor +rxkad +s1d13xxxfb +s2250 +s2250-loader +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s5m8767 +s626 +s6e63m0 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +salsa20_generic +salsa20-i586 +samsung-laptop +samsung-q10 +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savage +savagefb +sb1000 +sbc60xxwdt +sbc7240_wdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sbe-2t3e3 +sbni +sbs +sbs-battery +sbshc +sc +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +sca3000 +scb2_flash +scc +sch311x_wdt +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cbq +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_fq_codel +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_tbf +sch_teql +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_srp +scsi_wait_scan +sctp +sctp_probe +scx200 +scx200_acb +scx200_docflash +scx200_gpio +scx200_hrt +scx200_wdt +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdla +sdricoh_cs +sealevel +sedlbauer_cs +seed +seeq8005 +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent_generic +serpent-sse2-i586 +serport +serqt_usb2 +ses +sfc +sha512_generic +shpchp +sht15 +sht21 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sierra_net +sil164 +sim710 +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +skel +skfp +skge +sky2 +sl811_cs +sl811-hcd +slcan +slicoss +slip +slram +sm501 +sm501fb +sm7xx +smb347-charger +smc9194 +smc91c92_cs +sm_common +smc-ultra +smc-ultra32 +sm_ftl +smm665 +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc9420 +smsc95xx +smsc-ircc2 +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-ad1816a +snd-ad1848 +snd-ad1889 +snd-adlib +snd-ak4113 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als100 +snd-als300 +snd-als4000 +snd-asihpi +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt1605 +snd-azt2316 +snd-azt2320 +snd-azt3328 +snd-bt87x +snd-ca0106 +snd-cmi8330 +snd-cmipci +snd-cs4231 +snd-cs4236 +snd-cs4281 +snd-cs46xx +snd-cs5530 +snd-cs5535audio +snd-cs8427 +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emu8000-synth +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1688 +snd-es1688-lib +snd-es18xx +snd-es1938 +snd-es1968 +snd-firewire-lib +snd-firewire-speakers +snd-fm801 +snd-gina20 +snd-gina24 +snd-gusclassic +snd-gusextreme +snd-gus-lib +snd-gusmax +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel8x0 +snd-intel8x0m +snd-interwave +snd-interwave-stb +snd-isight +snd-jazz16 +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-miro +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-msnd-classic +snd-msnd-lib +snd-msnd-pinnacle +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3sa2 +snd-opl3-synth +snd-opl4-lib +snd-opl4-synth +snd-opti92x-ad1848 +snd-opti92x-cs4231 +snd-opti93x +snd-oxygen +snd-oxygen-lib +snd-page-alloc +snd-pcm +snd-pcsp +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-sb16 +snd-sb16-csp +snd-sb16-dsp +snd-sb8 +snd-sb8-dsp +snd-sbawe +snd-sb-common +snd-sc6000 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-sis7019 +snd-soc-88pm860x +snd-soc-ad1836 +snd-soc-ad193x +snd-soc-ad73311 +snd-soc-adau1373 +snd-soc-adav80x +snd-soc-ads117x +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4641 +snd-soc-ak4642 +snd-soc-ak4671 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-core +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs42l51 +snd-soc-cs42l52 +snd-soc-cs42l73 +snd-soc-cx20442 +snd-soc-da7210 +snd-soc-dfbmcs320 +snd-soc-jz4740-codec +snd-soc-l3 +snd-soc-lm4857 +snd-soc-lm49453 +snd-soc-max9768 +snd-soc-max98088 +snd-soc-max98095 +snd-soc-max9850 +snd-soc-max9877 +snd-soc-mc13783 +snd-soc-mfld-machine +snd-soc-ml26124 +snd-soc-pcm3008 +snd-soc-rt5631 +snd-soc-sgtl5000 +snd-soc-simple-card +snd-soc-sn95031 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-sst-platform +snd-soc-sta32x +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic3x +snd-soc-tlv320dac33 +snd-soc-tpa6130a2 +snd-soc-twl6040 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wl1273 +snd-soc-wm1250-ev1 +snd-soc-wm2000 +snd-soc-wm2200 +snd-soc-wm5100 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8727 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8955 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8962 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8983 +snd-soc-wm8985 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8991 +snd-soc-wm8993 +snd-soc-wm8994 +snd-soc-wm8995 +snd-soc-wm8996 +snd-soc-wm9081 +snd-soc-wm9090 +snd-soc-wm-hubs +snd-sonicvibes +snd-sscape +snd-tea575x-tuner +snd-tea6330t +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usbmidi-lib +snd-usb-us122l +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-wavefront +snd-wss-lib +snd-ymfpci +soc_camera +soc_camera_platform +soc_mediabus +softdog +softing +softing_cs +solo6x10 +solos-pci +sony-laptop +sonypi +soundcore +sp5100_tco +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntpc +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_decpc +speakup_dectlk +speakup_dtlk +speakup_dummy +speakup_keypc +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +spectrum_cs +speedfax +speedtch +spi-altera +spi-bitbang +spi-butterfly +spidev +spi-dw +spi-dw-midpci +spi-gpio +spi_ks8995 +spi-lm70llp +spi-oc-tiny +spi-pxa2xx +spi-tle62x0 +spi-topcliff-pch +squashfs +ssb +ssb-hcd +ssfdc +sst25l +sstfb +ssu100 +ssv_dnp +st +st1232 +starfire +stb0899 +stb6000 +stb6100 +st_drv +stex +stinger +stir4200 +stkwebcam +stmmac +stmpe-keypad +stmpe-ts +stowaway +stp +streamzap +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv6110 +stv6110x +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sworks-agp +sx8 +sym53c416 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_i2c_rmi4 +synaptics_usb +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t128 +t1isa +t1pci +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +tc1100-wmi +tc3589x-keypad +tca6416-keypad +tca8418_keypad +tcic +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bic +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18271 +tda18271c2dd +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tef6862 +tehuti +tekram-sir +teles_cs +test-kstrtox +test_power +tg3 +tgr192 +thinkpad_acpi +thmc50 +ti_dac7512 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timb_dma +timberdale +timblogiw +timbuart +timed_gpio +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmiofb +tmp102 +tmp401 +tmp421 +tmscsim +toim3232-sir +topstar-laptop +toshiba_acpi +toshiba_bluetooth +touchit213 +touchright +touchwin +tpci200 +tpm_atmel +tpm_infineon +tpm_nsc +tpm_tis +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65090-regulator +tps65217 +tps65217-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +trancevibrator +tranzport +tridentfb +ts5500_flash +ts_bm +tsc2005 +tsc2007 +tsc40 +tscan1 +ts_fsm +ts_kmp +tsl2550 +tsl2563 +tsl2583 +tsl2x7x_core +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tusb6010 +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl6040-vibra +twofish_common +twofish_generic +twofish-i586 +typhoon +u132-hcd +u14-34f +uartlite +uas +ub +ubi +ubifs +ucb1400_core +ucb1400_ts +udc-core +udf +udl +udlfb +udp_diag +ueagle-atm +ufs +ufshcd +uio +uio_aec +uio_cif +uio_netx +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uli526x +ultrastor +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +unix_diag +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usbduxsigma +usb_gigaset +usbhid +usbip-core +usbip-host +usbkbd +usblcd +usbled +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +usb_wwan +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +uwb +v4l2-common +v4l2-int-device +v4l2-mem2mem +vcan +ves1820 +ves1x93 +vesafb +veth +vga16fb +vgastate +vgg2432a4 +vhci-hcd +vhost_net +via +via686a +via-camera +via-cputemp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +via_wdt +video +videobuf2-core +videobuf2-dma-contig +videobuf2-memops +videobuf2-vmalloc +videobuf-core +videobuf-dma-contig +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio_balloon +virtio_console +virtio_mmio +virtio-rng +virtio_scsi +virtual +visor +vivi +vivopay-serial +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_pio2 +vme_tsi148 +vme_user +vme_vmivme7805 +vmk80xx +vmlfb +vmw_balloon +vmwgfx +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vsxxxaa +vt1211 +vt6655_stage +vt8231 +vt8623fb +vub300 +vx855 +vxge +w1_bq27000 +w1_ds2408 +w1_ds2423 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_ds2780 +w1_ds2781 +w1-gpio +w1_smem +w1_therm +w35und +w5100 +w5300 +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83795 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +wacom +wacom_i2c +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wbsd +wd +wd7000 +wdt +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wis-ov7640 +wis-saa7113 +wis-saa7115 +wis-sony-tuner +wistron_btns +wis-tw2804 +wis-tw9903 +wis-uda1342 +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl3501_cs +wlags49_h25_cs +wlags49_h2_cs +wlcore +wlcore_sdio +wlcore_spi +wm831x_backup +wm831x_bl +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x-ts +wm831x_wdt +wm8350-hwmon +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994-regulator +wm97xx-ts +wmi +wp512 +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +xc4000 +xc5000 +xcbc +xen-blkback +xen-evtchn +xen-fbfront +xenfs +xen-gntalloc +xen-gntdev +xen-kbdfront +xen-netback +xen-pciback +xen-pcifront +xen-privcmd +xen_wdt +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_ro +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_ipcomp +xfrm_user +xfs +xgifb +xilinx_uartps +xirc2ps_cs +xircom_cb +xo15-ebook +xor +xpad +xprtrdma +x_tables +xt_addrtype +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNSECMARK +xt_conntrack +xt_cpu +xt_CT +xt_dccp +xt_devgroup +xt_dscp +xt_DSCP +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_HMARK +xt_IDLETIMER +xt_iprange +xt_ipvs +xtkbd +xt_LED +xt_length +xt_limit +xt_LOG +xt_mac +xt_mark +xt_multiport +xt_nfacct +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_RATEEST +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_TCPOPTSTRIP +xt_tcpudp +xt_TEE +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xz_dec_test +yam +yealink +yellowfin +yenta_socket +yurex +z85230 +zatm +zaurus +zd1201 +zd1211rw +zhenhua +zio +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +znet +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx +zram --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/powerpc/powerpc-smp +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/powerpc/powerpc-smp @@ -0,0 +1,12592 @@ +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x3c1d2657 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xfde6b781 uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0x7b55ff19 bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x5c165453 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x0ee459b0 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x1044a650 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x51e8c7c6 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x6eb0e4ae paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x7e966a8b pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x92df820b pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x9300d206 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x9df35c91 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xb1e01a52 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xd1ef87f1 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0xe6b1159a pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xedcd8061 pi_read_block +EXPORT_SYMBOL drivers/char/apm-emulation 0x129e74f2 apm_get_power_status +EXPORT_SYMBOL drivers/char/apm-emulation 0xdf3329b8 apm_queue_event +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1348760d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x16dcec76 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1a10c898 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1aba5db8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1bd74efc ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2283cb32 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2acfd619 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c971bec ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x524f6f51 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5e18bcc7 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5e80f37c ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5fcdcc05 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67cb9784 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x78fd36e7 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8c8ee770 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96cbcc81 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa28a2ace ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa2a98b91 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb00c42db ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe0fa83f2 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6ab72a6 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2576cb9 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/edac/edac_core 0x3f756da3 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x02fc7e31 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0391b715 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bec9a0b fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x118ca14a fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1ccc657d fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x21aa66f0 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x21fa9181 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4647f4c5 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4bb8b364 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5e4a4c69 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65c9438b fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x70efec27 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x733e3375 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7de6b842 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7e431b14 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8b989169 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9690d2a6 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x971aa1a5 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9a51f2c9 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa05194ba fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa7421618 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb659e499 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb84a0ea6 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc09a2292 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc6295bbc fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc9a0e021 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd8fd1ce8 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe45a26f2 fw_core_handle_response +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0057dbbe drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x015c4620 drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03250dde drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04af1a05 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04ef24a8 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0690c95f drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x090d1e34 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0adbaef5 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b04079c drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c510a5f drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cf7a68e drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e190131 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e7cff2c drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f076286 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f739d9c drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f82e87f drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fccafb1 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107cf489 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11ae8c7f drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11b876b7 drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12852d71 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x148bb5d4 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15835a73 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15bd3ed1 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15fd0e1d drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x170a0c47 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1936d2ec drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a6c6742 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1aa77ee0 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b3596fa drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bccdf4c drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c74a1b1 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21f00284 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2204f7b6 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23b3d989 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25bc0aa1 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26e45580 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26e79a49 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28ea2fa4 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29fe7c18 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a54d4da drm_prime_remove_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a8d844f drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c68d73c drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cc4e295 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d20e5ca drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d8f002d drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e55e338 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fa92b8e drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30f6b565 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35a40149 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36f2c485 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x370bfa38 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3abb6a0d drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac1fef9 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e267a80 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb37b9d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eefb3c7 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ffc66b0 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x404db35b drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40ff876a drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4197e469 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4455dd7c drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46a13c20 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47629d31 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47d586f2 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4833ac85 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48d6954d drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48f5a737 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x495089cd drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b65545b drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c2fcfb1 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d3dbf20 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e2cd096 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e856544 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56737210 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56b89ef4 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a268d54 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a5975c6 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b5f27a3 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b80074d drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ba09499 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ba1dc3a drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c943c6e drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e4e47d0 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6044956f drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x614061b4 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61c0c05a drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61ce0f7d drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6260e364 drm_prime_lookup_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x641536fb drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67503542 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67f4de78 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68dc4088 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69ec2084 drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d7d7835 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e20589c drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e3a9b6a drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70afc0b7 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x750a61c5 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7554ba4f drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x790ccb52 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7938eb1c drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a9230d4 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c3d88d1 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cb26d39 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cea0a27 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d8fe09a drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e943421 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f715ad8 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80dbdab6 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81c83e31 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82cfc6a7 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82e5660a drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89004878 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89faf363 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a825487 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8de13715 drm_format_vert_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfb019d drm_buffer_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e65e69f drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90a9de46 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90bc60d2 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93548b7d drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93c2537c drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9612ac72 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x983929db drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98c10630 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x998b974f drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99f91de4 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a386d0c drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b402ae6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c7a9718 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f2e8cbe drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa13a6c17 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1e7237e drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2ca02f0 drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7984573 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa827b2e0 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8caa584 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8d522ab drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa2d5ba2 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab3054f1 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab59d013 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xadc7eb8d drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb08b46d7 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb43783db drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6dca714 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb75a531a drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8917518 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb981e0a5 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9ab6889 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb17ce86 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb1bdc1a drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc46d222 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd5eaec3 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbdabd637 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe51ee57 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf1f7a89 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc09f79bd drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0e13c27 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc23c0426 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2634209 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2d95311 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc38a8bb8 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca5cfb7d drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcee36692 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf371a91 drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd143f242 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2b5d94d drm_prime_add_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2cdd093 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd303731b drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3bd68c9 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd431287e drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd70f0801 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9cc6b23 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda7d0e19 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdac78009 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc687a84 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcb410b1 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd4d84ab drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddec6ce1 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdec13211 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe070369b drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe23037df drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2857f44 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe28843c0 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4dc9784 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4ea70f2 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6403777 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9baa61c drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebea3e6d drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecd7c1f0 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee6fc9a5 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee9594a0 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeee068aa drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0567db4 drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0b21ff4 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf10a80da drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa56cc07 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x018c32b4 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03c88d2a drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09c9a718 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b38a9cc drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ee50742 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22775659 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2defd669 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31a34b21 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x352e8677 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e3a8017 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55433254 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55bf5e0f drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d48a64 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59fe6d25 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ab4acc6 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c390ebc drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e587b6e drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c129695 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7036db11 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73730520 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b53e8be drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8270daca drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8667efc9 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0f09878 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa959c54c drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xadeaeadb drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3327352 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbaeee4bb drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbbb7e5a9 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce07ebe0 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd02c73c7 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7dcb6b9 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf00507a3 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x2ff96f4b drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x82bc9d48 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xf700b57f drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x08ca06e6 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0c1855a1 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x127905bd ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x145e6a73 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x156fb50a ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d89df73 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20ceaa35 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x22b95ace ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d6c167f ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x339265c0 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3596e71c ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x361ed559 ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x384714c7 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b95b055 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ee12790 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3f9aeb79 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fd155ed ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4337a5f2 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x46d7d410 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x55bdffda ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a25e3ee ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5cf59609 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x655ca17c ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65f9de57 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66443f62 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67b1d568 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6e2b2efe ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7185b921 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7410f3d7 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7c5c5fa5 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7dcb1e64 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80d86f0e ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8261d96d ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85477881 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x87eda6f6 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8832162b ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88870fe9 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d14adbf ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8ef89c82 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x940438e7 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9b2be07d ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9d06ced6 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9de30bd9 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa068577d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa5de3594 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa986d0f0 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaa21b426 ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac843717 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb70484eb ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb74a2e75 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbbbf0249 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbce94023 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc04e0a30 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc21c27c8 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc77b06a ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce2aebec ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd3283e2a ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd983fda8 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xde13bd39 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdf0c9b1c ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe42a1ba1 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9205381 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef00f549 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef4375f4 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfbc2c5ec ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfc8403f1 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x0903c239 vid_from_reg +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0xef1c781c vid_which_vrm +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x37adc5f1 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xe20fc5de i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xbe25bf10 amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3072a969 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x30bf475e iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x3bf3062e iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x3eafa2ee iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x44a95ef3 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x5074639d iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x53532d87 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x6b248ce2 iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x6e886805 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x74bc4229 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x763fa21c iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x796758bc iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x8d003442 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0xadfcf1a2 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0xb68b0a31 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xca750b32 iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0xcd84d7d6 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xdcbcda19 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xdf4a8ec2 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe2e6d4cd iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xe60e6e49 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xebdbb159 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xf75769ab iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xfd031cfe iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x4200d811 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x768db9bb iio_kfifo_allocate +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x1ea5767b rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x32a8402c rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x37838b44 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9d1f522d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xa8f6808f rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xbaae0822 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x096be86e ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x18035d6d ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1be823f1 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x67e130aa ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x681231d4 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x70d520ff ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x73d94912 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fe32443 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8bd1a498 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa3d82a06 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa90b56e6 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xad6afe47 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc35a5542 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc89ae5eb cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xccdeadb0 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe34df50c ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe8e8ac90 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0081bceb ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cbcbeb ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x032beb7c ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03676d65 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0add7d97 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1025e9ae ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12176570 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14aebfeb ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14f84918 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x171f99f1 ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184e6f84 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21e18013 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x241c02c6 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a5b3b95 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2baa5353 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d94d003 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x322ab29a ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x334ddb1b ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3708fe1e ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x38b79e57 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c584ca5 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e1ee48f ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40f306a7 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4293f7ba ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x433eaa8d rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x455dabbc ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f4ee9d4 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5062b79e ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50dbc447 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5184ca4e ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51bcaf5f ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59528c7d ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e5a07ed ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f0d6b60 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60f95811 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6888dc07 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7456eae7 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78238f09 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b6c046a ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x823c47c7 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83666052 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x843f4947 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84f66b2b ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88fe43ba ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e472dd4 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ed0225c ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x923bc828 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0554d7b ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1156fc0 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1c90872 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa3853920 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa850ae70 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaaa98ce4 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad4696ba ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf298825 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb241e416 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7d3775a ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbab000dc ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc09b2064 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1cf331e ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1133b6d ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6b10a5c ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd84aa5bb ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd88ebd98 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda26d48a ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdca3a2f5 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe29c821c ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5d5920e ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe61e0cb1 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeac32ca1 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee6eaedf ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf0f222b8 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2a0efc5 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf313302b ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd1c211e ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x19689701 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2b9fd697 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4ec18a1a ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x597cc87a ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x59906dfb ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7091b9c5 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x72777584 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x836282b4 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x85d7efe1 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xb21ec2c1 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd9b89313 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xdd63ddb4 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x2526d255 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x44adf74a ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5328d7a6 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x71885da8 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x78c5049c ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x924290ca ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9a1cd50d ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb5493236 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf6b6444b ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x02f847bc ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x07cf5a51 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x18382f6a ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x184f3575 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x04abc286 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3aa8d483 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x463121f3 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x601baae6 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x791d7b16 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x964604d9 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9bd0b51e iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb8af3542 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x08619640 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0bcce26d rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x15f7c407 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1733b482 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1eac1a49 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x25a56f5b rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x26d98e8b rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x48831a0e rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7a61798d rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7ea82e2d rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x84e7259e rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xac33dc88 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb6b4c48c rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbad4d840 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbb80d0d2 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd2d0f63a rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd5967089 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe7146f77 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xeef9e316 rdma_bind_addr +EXPORT_SYMBOL drivers/input/gameport/gameport 0x12dbcf13 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2bde85ae __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x6dab580f __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x89d681b5 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa7d38af4 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xc2f86ea6 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd4f46ba3 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xed6b3b8b gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf44e1704 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/input-polldev 0x5ae005b7 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x64bf0f69 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc7e6402d input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xfc175cbf input_register_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x8539f182 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x016a1c43 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x04c2dd82 ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0x0656b92e ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0xe5d6ca6f ad714x_disable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xb39efccd cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/sparse-keymap 0x21b62617 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2ab938df sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x3b0366ab sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x85c45d5e sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xb4d15ecc sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xce4b1c9e sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x0e95368e ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x93a3b8c9 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b0a6aa8 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x529a07a1 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x5d88fee9 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9103d067 capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f85e09c capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa6e55f6d capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa7c4fd6c capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe12a30a5 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe777140e capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe8ad9bd1 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf64f2741 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xfb3d8a82 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0794e191 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0aba8284 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x170a94e6 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x18aae4f8 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3646b94c b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4905f99c b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4fc895d9 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x751babcd b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x7eaa5265 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8b06d23d b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x946f4d5c b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xbd52fd50 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc8dbfc9a avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe3eab960 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfc34434d b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x12af8fbd b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x425f0c6a t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x59cd8456 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x868d067f b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8732706f b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8d32098d b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x93425a4b b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xaf3bf14a b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xec293642 b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0x29562993 b1pcmcia_delcard +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xaec3240e b1pcmcia_addcard_m1 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xea620116 b1pcmcia_addcard_m2 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xf14bf8b1 b1pcmcia_addcard_b1 +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x4477deb4 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x6e3e5dff mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x93cb0250 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x959ad551 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xbd64050d mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xa2ab0407 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xd52f25ce mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x7f29ce36 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xe16f00ab hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xe227344e FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xee93522c hisax_register +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xf0a16657 FsmNew +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xfc27303b HiSax_closecard +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xff2db2cf FsmDelTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x123b987f isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x2e9ad233 isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x6876d6f1 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xa19a80d2 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xfc3e1b75 isac_init +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x9f676bea register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xaacde973 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa72a4ba isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x3b71e4fc isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x59cc8a7e isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x8ee38862 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0xfd9d4c09 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1cb3a0ed recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1e0c87a9 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30e399a6 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x39da13ad recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x42c6293c mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x484ed56b dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54451388 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x58b20f20 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6979e5c7 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x77baa0de mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x89f63e68 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8d80f926 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8ded2335 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x950745b3 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9ffb1916 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xac498f21 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb8a555c7 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc29932f9 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3a09113 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc4737b72 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe87943cf mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xed9ac21f get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf052c6ce mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf905321b recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd1de561 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x60721da7 dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xa215f1b2 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/md/dm-log 0x52b46def dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x7df9a9e3 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x949c929d dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xc3e4b12e dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x09e9336c dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x2fa415d2 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x6d8a8436 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x929eb653 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xae062ca1 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe4f8eef1 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/raid456 0x1e322453 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0xa2e7cc6e fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x3268fd60 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x630950b5 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x1b7e1c6b mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x3d5a232d mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x1968c8c6 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x6d1ed758 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xe5cded46 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0xc5539b43 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x12c619ea tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x7e485c5d tua9001_attach +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x0cb4b189 tuners +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/common/tuners/tuner-xc2028 0xb6fd6dfc xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xd19ae572 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x9ed56d9d xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x03db6d35 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0fe5a672 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x161f1fe5 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x20a209f8 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2e0d003e flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3bbbff8f flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x47459462 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x47e44371 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x52e11ad0 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x54c39bad flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8ba51b7b flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8c2103da flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x92f9c6c9 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbc8eb533 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc6d3876f flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xce6cf0f5 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd0ab266b flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe4f1f68d flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfd5c7dba flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfe7b727b flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x0aa97a1b bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x3055b241 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xae2578a9 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xf8a35333 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x14d16413 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x1ac48908 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x285aff15 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x2ed3ddde dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb119d023 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb2c105ed dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb4a06478 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb5fe9cc0 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xdfdfe107 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xee916a66 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1191dbd4 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x19591134 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x22d6ce4a dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x28ee2ae8 dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2a6dd9da dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x388c4d1c dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3a6674e6 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3eb6cd98 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3f7224d5 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x42527ff2 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x440b01c3 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x44dd45bb dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4d3b9a9c dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x50def2e5 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x55193e51 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x62176167 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6235ee2f dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6e882a2e dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x70781a99 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x78d62338 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7ba5d8bd dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x889936b2 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8e47dce5 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9b633b72 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9cee3aa5 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc4670779 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xce5c30f0 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd4606d6c dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdb576668 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdc996361 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe7e34e5e dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe99cc9c7 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xee4ff29d dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xef1aba28 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfbd9371b dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x048d4091 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0e03f43b dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x1d8edde8 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x205d401c dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x34305b95 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xa7e8af15 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xedfa41cb dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x13e247e0 rc_map_af9005_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xbc25e0a0 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x0a2a06c8 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x16a2313f dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x1de5f98e dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x248a0f6b dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x38f5cdd4 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x58c53367 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8d44c3d9 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xa5c8f780 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb47559e0 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc9aa38e1 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xed550b76 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf3615cd2 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0xd9c48a0b a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x60488fdf af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x926ae1cf af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x39e57787 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2330f9f4 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x4720879b au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x5c442c17 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x6fcf0202 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x84f69aab au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xf5c0dd80 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xf9a104ec au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xf9c65e2a au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x687a9456 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x2130c1fd bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xa8f59bac cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xdbee2cd3 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xe75af632 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x0685000d cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xf8eb62cf cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0xcec51a3a cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x08e8e116 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x152f1d5f cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x47aa78f5 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x0e24f3d9 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x12c9416d dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x1f5b73d0 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc6e8d8fe dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xd086f90e dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x48cdc45a dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x54983967 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5de3635a dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x6cbcf17e dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x6ccd63d3 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x73ae5cc2 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8b366527 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8e4e9c3e dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x9b23bcbd dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x9c47a624 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xab964fed dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xafa670d9 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xbaca95b9 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xdf8cfb9f dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xf63355c8 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x624a1f02 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x3f9e9a0b dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x41c43c27 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x600cea7b dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xe726e9f4 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xebb19221 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xedb502e2 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x01016167 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x76f75bd0 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x94d0fcfe dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xee9d833c dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0128e873 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1ae0c1db dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1e8e4a3a dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1f5a92a5 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x239f60cc dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2eea5771 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x77564e12 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x86c4713c dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa2b2e464 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbe8029c1 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xccf7c14e dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe4f11c13 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe96edff5 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf9b329c7 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xfbe82a89 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x00728926 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x03a8ee27 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x1bd1c9a6 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x25265a33 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3a6b2be6 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4186315f dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4d97f1bc dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x52a297a8 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5ffd0d96 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7ed82ed5 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8968ff85 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x99c9b00e dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb90747d7 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xcf464204 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd2d6b149 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xde77c3b5 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xee351c1f dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xfa9b4c3b dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xff46f627 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x514f4114 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x8acb4bd1 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xab567000 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xb48ba54e dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xb6898e57 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x117c7d0f drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x5d5b2c21 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xc6896b3e drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0xb146d3d0 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x45afb1c9 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x120ae902 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x5c831999 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xaa3e6d5b isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x9bcae5cb isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x337b4595 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x7b15e8d7 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x09c975bf ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x1d6b90d3 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x7f00283e lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xb458f0e0 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x9d8fb4e5 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x94b1716b lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xeb7b1db4 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xf8b78219 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0xbd4f7d4b lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x42a3b58d m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0xc0c89dee mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x44fd44cd mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xd49c5873 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xacbbf280 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xdbf43b6e nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x65b53719 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x47b3befb or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xe61d2a8b or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x2d16e45e rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x89c0db55 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xf9cfe4aa s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xd378e6a3 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x630203a6 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xd861da87 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x3c95cc8e s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0xf91b2d6b si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xf4a01f5a sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x5300b6ef sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x467213d4 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xc66e107d stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xaab0fbeb stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xd6ddc3a8 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x929bf793 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x6b118787 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x305dbc88 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xaa9724a7 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0xcdf8e832 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x2e73b95b stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x7e983689 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x936e3e0a stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xa318ed7c stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x1df57d3c tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xcdd7dbed tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xbc738c38 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x3477fed8 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x544eb757 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0xebc185c6 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x8df4b80a tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0xfe2e8fcb tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x270d26e8 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x78e2e1da tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x0b0518e0 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x8ea201b8 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x38d5ad17 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x888c3c7f ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0xcdcfba33 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x15b0b013 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xba128ea9 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x3e167c67 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x02edbede ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x292abf14 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x1b6ff567 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x1f19a88a lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x3b82f0c4 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x7fac8597 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xa76a5bf5 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xb5cec46a lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbe217b27 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xdf064ca6 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9c90b8b2 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0xa48facea ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbfb23e85 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xe57ac032 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xf84b4147 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x9a7222f4 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xad2fe38b btcx_sort_clips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xb62688fd btcx_riscmem_alloc +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xc368f8e6 btcx_align +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xcda0ded2 btcx_screen_clips +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x23249980 cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x47c947f2 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x4d4c820c cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x75a69710 cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xed64deeb cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x1c39c5bd cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x437fdc3c cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x3db8be82 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx2341x 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x636c2f4d cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/video/cx2341x 0x81107d3f cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0x8d17e5d2 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x9a9fe0a9 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0xc184ec1e cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf76ce95 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf8b77a4 cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x1112ce65 altera_ci_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x29f226cb altera_hw_filt_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x9247b72f altera_hw_filt_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xf87f0b1b altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x1f3b86d1 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x257570f3 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x5c31ca6f cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xc2f413fa cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xcd66ef45 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xe118e0c6 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xe4945084 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xef5aad60 cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xf455a604 cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x76737a32 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xec945b75 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x213aa3a1 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x7b460cf6 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x81947852 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x8e668a56 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xd554def4 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xedbc5da2 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x85cf55fa cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x95cdbf62 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb525d151 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xc937edf5 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf3959a11 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xfcd831ec cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0dae3cdf cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0fc61d10 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x128ed61a cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x188d9a8c cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3324fe57 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3561cda2 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3fe1d213 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x42e4ace4 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5ca151d7 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x61bfe151 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7ddc9d0b cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x880c2e96 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8a0baaf0 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x96f90dd9 cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa14d9f9c cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa3d26a59 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa70f1c87 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc603af7d cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe814227c cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xea159bcd cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf699421f cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf7d67323 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x59e30607 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x73e40c34 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2bbef696 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2d7cbdb9 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x35fd2379 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3dc203be gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x49e27dfe gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x55339fe2 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8a540df1 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8ee08026 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x08f5fafc ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14463b63 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x62c8c3b7 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8b8954ad ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x927a40f2 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9bd3ae06 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa59566fd ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xac3e0d86 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb7d4a453 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xcb316eeb ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xe58fd621 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xee8bfbfc ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0f8f320a saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x1496c569 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x14dfecc6 saa7134_boards +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x26055e8c saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2779b54e saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2fd96be9 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x37462041 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x482306d5 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7f7762d3 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x916249a8 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x917172a5 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xaefb7009 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf958b695 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/soc_camera 0x286229e5 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x5e891db9 soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x8fa6a1e4 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe0aafe25 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0xec7d465b soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xfba6f298 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x500b8255 soc_mbus_find_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x61871f65 soc_mbus_bytes_per_line +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x7371455d soc_mbus_samples_per_pixel +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xc8b28da5 soc_mbus_config_compatible +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xde30e6b9 soc_mbus_image_size +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xfeaea44b soc_mbus_get_fmtdesc +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x09c57d19 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xcb048d59 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xdf20cbca tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0x1972bbe6 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xcb7faf2f tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x49b45322 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4adaf0f3 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x53c9394f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5928050e v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5f96a661 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x58af3974 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x834bebb0 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xe61445ed v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x07cfbd49 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x3b3a8af7 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x856f055d videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x95bc5c87 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xcbeb91bb videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd0603600 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0xfe31c408 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x04be4e00 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x06b50278 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x08778101 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x095e1cd6 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x0db49a6e video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x0fe6409e v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x1758aa6e video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x1993c6ec v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x1dce0e16 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x1fcf1df8 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x2faeeb59 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x3202d792 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x36fd7a2a v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4eb113d0 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x4fcda41a v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x59ecd283 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x601e9054 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x621b93f4 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x6414526e __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x64c89dc2 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x68e2eaab v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7c7615e4 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x7e0d38ff video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x84b73dfb v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x84c42dd6 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x87ec2b52 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x8e13fa13 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0xa5f6bd56 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xad85eb78 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb7fd9e6b v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xbacc8336 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xbbe6f92b v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xbc440573 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xc0e66770 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc78c0682 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0xc80aaf1b v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xc9a43198 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xca78d878 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe3ac3f43 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe6a424d8 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xee8fec65 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xf07d7245 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xfbdbace4 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0xfd67226e video_ioctl2 +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x21719493 videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x897dab08 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x9dd0a1ca videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xe4a9adcd videocodec_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1ed0229a memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2cd8cb0d memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x39009591 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5ab49a7d memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b5c17c8 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x67584b1d memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x714fe29f memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8c9b5da4 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9768b73f memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9db2f730 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc1a28682 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcf76fc37 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd8b28afc memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xfa964b63 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0d82aa75 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2295bc1a mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x25f2d0f2 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2c51c0b3 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2ce6f1cf mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x345168a8 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x420ee958 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x58462091 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x59ab891e mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7248ebc1 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7974fca9 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8c8821a1 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8dffc6d1 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8e846e0d mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x980adba4 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9cbc73bf mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa3800cbf mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xac10fc3c mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xacd451a8 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb9fe44ce mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0d12ad2 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc7dd6669 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xde2eb597 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe2674739 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe3489699 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6deedef mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xefce10b1 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf1385be1 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfd2a6de5 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0fb72f40 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1175275a mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x18d210a3 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x29a309b2 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3c5e86b5 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4ea88bdc mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5103fcc4 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x51751f13 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5333fd33 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5e64be13 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6e71af68 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7a3f75b5 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8333011e mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9d67ffbd mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa080cc65 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb07e9d88 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc4a2f0e0 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd73f0de2 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd90f4da9 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdb5fdb80 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe4091e4b mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe6e17b85 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe7f6aea1 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe94ae142 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeb481bbd mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeca80f0f mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeec61b94 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1e2428ef i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1f2aea8f i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x27862b42 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3aa762e8 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5652f6bf i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x691a3aee i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x820748d1 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x869ac376 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9717d80f i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa0c854a3 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xca431379 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xcb19facc i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xce6e2c9f i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe4a041ef i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe6967ff3 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf2de3c20 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf49a7fe5 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfb7e9fc6 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xaa7d427c pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xb973707d pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x018ecabf mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1bd73011 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2a6ba09f mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6fb714de mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x81a1bc87 mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x829506b7 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8543e629 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x92b0e844 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb22c8cf5 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xbd6e4d1e mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc9c32ae5 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe6f7304e mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfb5a2e6a mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/tps6105x 0x0a793d66 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xdedd1a9a tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xe144b68a tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x015ee601 pwm_free +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xa4ee3c79 pwm_disable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xaee34e3d pwm_request +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xd83c7949 pwm_enable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xdeebfb06 pwm_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x2e86eca0 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x59c48b45 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0xd06d4fe4 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x24cdcce3 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xcd2ad16f c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x6a16f36d ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xe53174f9 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x32b90ea4 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x66f1e1ee tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x7dc917d2 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x874e25be tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x9c23042d tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xa46d98ce tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xb0691c17 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xba6ec842 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xd54f0a3c tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe658a6cc tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe8f8b459 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xe94a460b tifm_add_adapter +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x31d7886c mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x0a8e9d4c cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x1e21725d cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xac697b39 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x14b006eb register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x4680c78a map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x633881e9 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xefaf4519 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xf4127159 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x6547923d lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xb0beaed8 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x2db67550 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xcad20a31 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nand 0x30d1113d nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0x62ee7a68 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0x899c45ae nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xa0ee3af0 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0xcac22d5d nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0xf4411570 nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand 0xfd5e8368 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x013da235 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x261cec3c nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x55564c5d nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x0be3748b nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xa4639c59 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x3356c909 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x5655652b flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x7c6dfaa6 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xb435002e onenand_scan_bbt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x07b9e0ed arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1894ca4d arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1f31255e arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x77485187 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8387617c arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa923a9be arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb0c68caf arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc0b63a67 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdb4a487c arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xee2f0288 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x6b55fec3 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x8e8eb743 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xea978713 com20020_check +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x196938e8 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4092e82e ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x5f6d4950 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x609db997 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7b4f976c ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x91a8eeeb ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x95749cac ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9d193a33 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xd5f12e60 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf78061a5 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x2ccae041 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0x736e9b24 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x94cea809 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0a382371 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x10601c99 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x11b4be86 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2f5052a3 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x637f4e30 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6a699f27 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x711bfb24 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x721adea5 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7c92a1bc cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc3c473e1 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc735a1f8 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc87d9096 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd87054f8 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe9e7887c cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf16cbd2b t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf404304a t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x024d5c3f cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x315c511a cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x38717b2a cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3e5d3d29 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5667dde4 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6978bb6f cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7206cd10 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x762d1ad6 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x87031f2a cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa21f79dc cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa4776fea cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xae59eedd cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc10d31a7 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcbaf1a12 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xce53d643 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd00e5a36 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd1f5cb6c cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd643ecaf cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe321de20 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe4842787 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfcd7a1fe cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xae4bdf1c be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xbab62e22 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xfde0d253 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0108d9c7 mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05fd9b2e mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34f3fcaa mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ff99513 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x517f42d1 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x808bdf01 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x843c8053 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x87a87306 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbfed7639 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb68fb9e mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x10a32e60 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4e514b42 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x51f314f4 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7ce55920 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9eed57ba hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x110ec20b sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x1be615e6 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x56dc817f sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6c3ab085 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x76f38dba irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x7d54904c sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x918eebf3 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa9fa41d9 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdbf0a45f irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe3ff0035 sirdev_raw_write +EXPORT_SYMBOL drivers/net/mdio 0x0f934475 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0x22bce513 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio 0x43e4defc mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0x7577f992 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0xa1a29548 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0xb34a7575 mdio45_ethtool_spauseparam_an +EXPORT_SYMBOL drivers/net/mdio 0xc6b1163f mdio45_links_ok +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x1f545323 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x9ff19330 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x4815de6e register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x9d4a9346 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf302bb59 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0x6f68a478 sungem_phy_probe +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x38da4725 cycx_intr +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x62be23ea cycx_setup +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x66a4c4e6 cycx_down +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x968458a6 cycx_peek +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xb6f383de cycx_poke +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xfe7cd576 cycx_exec +EXPORT_SYMBOL drivers/net/wan/hdlc 0x04027c11 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0b9727ca unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1cabc5d9 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x24a72af2 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x29113d3f hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2a4ab0d9 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x99cf3341 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa0ca3a1c detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc07e8504 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc25f9490 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdc434e78 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x621e52fe i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x1fc5e7d3 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xccccd02d init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xfc98997d reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x07a4eb59 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x403ff0a8 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x826e9083 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x87aef81c ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x928ce6dc ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x984edcee ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb58e3e27 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc024239e ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcc7362f3 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd2ba5952 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x06e3cb43 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0b58edd2 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0d21feb6 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1566bebe ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3b16cde5 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb06d05cb ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc7044384 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd01c644f ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd40d255d ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xffb07585 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x18ebe832 ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x1d5051f8 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x431ca152 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fbab7eb ath9k_cmn_update_ichannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa176fbbb ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00a12076 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x025aba57 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x033474f0 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0fbdc3a7 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13c8f9c4 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x159b8af3 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1da9bad3 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x208e29d5 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x26e1701b ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2b20001f ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2babff82 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2ea0e6b8 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2eb02603 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2fdbe8f5 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31be2d6d ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31ef418c ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x32538b09 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36786a64 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x375e1315 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3cc27403 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f674179 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4123fea3 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x41b7e45d ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x42e050d6 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x50686701 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x52b580b4 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53d0c55c ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x56d4c33e ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x58055b58 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x58efd58c ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59742b5b ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5a27b991 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5ec601f8 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62a2efa5 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65c747c9 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65d63ff7 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x69706be5 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6af04394 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6cbff425 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d8ab01f ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e2dce5c ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7503863a ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x77ea9a40 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b4e6940 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b7640bc ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7bc87e8a ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7eaf4f71 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ff4f6bd ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8236000f ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x850fd354 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87799d17 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87c6433f ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8cacac62 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f2b7603 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94dcbad6 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9e4d5bb7 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0d0833b ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa69bdd75 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa75e1343 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa7f6db42 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xab340e39 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac39665a ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xadbb51dc ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2d485b8 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb46476c3 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb487f5fd ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5b06be7 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb7bc8d94 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb7cb0512 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb81ffafc ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc53a513a ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7bc4fa8 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcaa12319 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcb62c255 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc607cff ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0498169 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd08a675c ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0f3e422 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd3701693 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4329bc2 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd757be3f ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd853805a ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdca0ad7d ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdd224cfc ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe173ac2e ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe50a455d ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee9615ad ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf0edde8f ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf20ebe17 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf6f8625e ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfba47b04 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe084725 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/atmel 0x19c6c0e7 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x457920e2 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x5b58f9c7 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x37bb76e6 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0xc4327760 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x0a2d286d brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x319a6741 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x45e49ad1 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x4a33f2a6 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6d1304ea brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6fd77707 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8409729c brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x987fa0ac brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xa85bd22d brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc0097b20 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xce261a0c brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd4cd213d brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x042fd34c hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0d1492c6 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x18b6f338 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1d307b0c hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x21f4db01 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2366f37d hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x287c4d72 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2e407aa5 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x33511b27 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3559ee31 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x561059a8 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x597c9fe6 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5a67ea7e hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5b1593ca hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x62a0826e hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6c64bf86 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6eb99006 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x84774023 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8b19aca7 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x96638a73 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa9bb1879 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc3b165f5 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc96a2a91 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xccf740df hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd0a60f8a hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0d6dd5b3 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1bbac046 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x204e6d7b libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x292a9d51 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2f52bea8 free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x305b234a libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x33b1d6f2 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x39525792 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3c5789ca alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3dfc097b libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x52a9387f libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x56de4f69 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6c3276b6 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbe2a0acf libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbf88603a libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd023d96d libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd30656aa libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd529f7ce libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xee421517 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf28c54eb libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfbd388cd libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0146682d il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x06f98e26 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x08ab2724 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a6de57b il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0b0c6cf9 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0d24dd41 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0ed10cfb il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x11cc5e32 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x12a76c82 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x15a3973b il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x16d1ce7d il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1cc47244 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1da036da il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1f92d721 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x207f528d il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x23b57c01 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x27d524d2 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x28df6557 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2c3f859d il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2db60723 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2dbef978 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2e256ac0 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x336f4739 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3c7ae04b il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3f3691c4 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x40dd4c9c il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x42b1f3aa il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4c3ac897 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4df91f70 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4eafdbd8 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4f80be0a il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4fa69a95 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x53c14fb4 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x565c870e il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x57b4b182 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5a3b23b0 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6000e0ea il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x612d585c il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6579ad78 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x67cf672e il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x67e4718d il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6a280e60 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6d99076e il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6fce9dbc il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x73496b52 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x795c92b1 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x79b796e7 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7bc5aa29 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x816debda il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8b396f0b il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8b6cb4ff il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8e7562c2 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9077a225 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x918273fc il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x92543e39 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x930d57ea il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x969acaf3 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x98aa577b il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x99ed6460 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9c9e3db0 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9f355006 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9fb45b98 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa1ef1ab1 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa508b0d7 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa567fe7d il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xacfaecff il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xad15fedf il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xae654e34 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb015708c il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb296b468 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb4b44ad0 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb745e97c il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb3ec49a il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc780fcb0 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc7bc8661 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcc472438 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcc8fcf50 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcdac117b il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xce3e82f5 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcec290ba il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd7285f1c il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd82c1b8c il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd8d11810 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd8de4afd il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd91234c4 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdb8ffc23 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe09d1e73 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe5dd93e4 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe6dba233 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe7b0748b il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe83cf225 il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe9bb6f13 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xec43a1ff il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xed3ef929 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf0561750 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf562f0e9 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf78bc7de il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf901ec38 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf95ffd85 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x08ee1e7d __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x0d9eb5ff __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x201337b4 __tracepoint_iwlwifi_dev_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x249e4b06 __tracepoint_iwlwifi_dev_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x36dcef55 __tracepoint_iwlwifi_dev_iowrite32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x67381a2a __tracepoint_iwlwifi_dev_ucode_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x7edec07d __tracepoint_iwlwifi_dev_ioread32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x9a12c9c5 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0xc0827b2f __tracepoint_iwlwifi_dev_iowrite8 +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x02bd83c6 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x0c544e12 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1884d50d __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x236a4cd7 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x392d8bf7 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x52dd7d8a alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5d3100ad orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5dea5bf1 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x668fc02e orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6e3fc769 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8acd3c3d __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9767de1f orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xb13a9f26 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd0e3e5f9 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd6254836 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xebbfab61 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf04a1d7f orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x08c1cad3 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0f0a0653 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x137a9150 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x14d68bf4 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2a363c93 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2bb363ea rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2d3a8633 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x31d5b0bc _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x331346f8 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3f63fbd6 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x431a1d00 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4bedea8a _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4d5441b7 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x51696fe6 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6761c86d rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x690986ff rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6cb853c7 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6df39e2d rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6e73e3df rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6ea2455e _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x719c489d rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x76f463b3 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8a956289 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x99920ba4 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9db5cd7d rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa14784cf rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa24d8f03 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa8e9cadd _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xaaadd64b _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb5028098 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbba88fb6 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbc8ef506 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc0d496c4 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc33f6657 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdb58ded3 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe2065722 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe2580547 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xee20a2de rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xefa5132b rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf06640c7 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xfad07986 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xff1ff9ff _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0f988b15 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2b4a09d6 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x416aecf8 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x49db5d4a rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5c007356 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x61389402 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x696e754f rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6e5f4690 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x73930016 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x74eadc57 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x79c976ca rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8693d46e rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9c8c8984 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9e78f448 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa34ef9fd rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb061bc88 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb7af0bd5 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc876f938 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd09b2560 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd7fe6c8d rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe0865a30 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe156ef88 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe530d079 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf65bc57b rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x33322df3 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x6522e25e wl1271_tx_complete +EXPORT_SYMBOL drivers/parport/parport 0x08ca2ef9 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x0b348bc9 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x0cd1d099 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x2986b8c4 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x39851e0a parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3a6126a7 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x3be0109c parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x3d2235ce parport_read +EXPORT_SYMBOL drivers/parport/parport 0x4a668013 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x4aaf487b parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x51277e46 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x64151f1c parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x7108fca2 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x7783d00e parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x9814b60d parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x9f125793 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xa945466b parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xb929d03b parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xc50feb63 parport_write +EXPORT_SYMBOL drivers/parport/parport 0xc6dfe125 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xc8254326 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xc93ce6d6 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xcdb769fe parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xddb4cf30 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xded1e1f1 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xe254866f parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xebd73830 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xf67a9801 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xfa931218 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xfed2f244 parport_release +EXPORT_SYMBOL drivers/parport/parport_pc 0x6bb18b07 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xe23f7479 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x05f4998a pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x24627a79 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x29d1223c pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x30322ef6 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x619481bd pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x64405079 __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6570dc3f pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x70c7f307 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7c681daa pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x83d51fe2 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x933bd102 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa8a260e4 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb288e6d9 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb2f903df pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb854cb20 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc55fb2c5 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe0459dfc pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe0a0fabe pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xeede9eef pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x08ced9d8 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0bef1665 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0e8c3744 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1c1f3a8f pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x39170a6c pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4600b4a0 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4625eb84 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6f890637 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x769a1d7e pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x80673cdc pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc9868a5a pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x1e6246fd pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x6e689de6 pccard_static_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x05f6d14e pps_event +EXPORT_SYMBOL drivers/pps/pps_core 0xb0e3fec0 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xc1699c6e pps_unregister_source +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0xbf14a46f bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0e504a46 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x11c70e68 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x22920d65 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x278c125b fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x37fca440 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3e8e5a07 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4d4b2cbf fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8eec28ba fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xaea0541e fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb7806cd9 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xffce55ee fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x003d8276 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x10c55eb8 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x117e0547 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x135bd3f0 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x14ce6d04 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1b341829 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1cb49ee2 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2b3754ef fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x406c29ef fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40c8ea8c fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x415d4e2a fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x49550e8e fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x49b5c43c fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4c5cf224 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x51b12f8f fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x55d56806 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56fe7f49 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5bb3b1d4 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x62c579b4 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x79513653 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7a6b95d9 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x82dc2cb6 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x88ae4890 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8a7aabf4 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8e0272da fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x91b6f87c fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1fce6fb _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xad58fd21 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xadd4f4b2 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf7b30c5 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf8bcaeb fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0e5aa78 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb1580829 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbee110c3 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbf6836ec fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc06c23d9 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc0880f45 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc15e4fac fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc860ec2 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcce218af fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd0d869cf fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd7119f31 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd78fc55a fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd907957b fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xda0bdf0d fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdc5eebf1 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xddc6d7ba fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe00789bc fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed2cb10c libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf689e80a fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x2250c66e mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x512c956d mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x8fd0142f mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x03c354a0 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0b0399ab osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x13d6293d osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1929a3ee osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1f374f58 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x25470f99 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2d3e183c osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x472fb92c osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x50d81496 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x534a099d osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5b0fc54f osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5d04e293 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5eb05a1b osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5f76666c osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x605d3772 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x62954db8 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x708da2a2 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x716d1ccd osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7ab1fdfd osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7b0a30d6 osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8341716f osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8efb3cae osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x999bcd2a osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa4889b02 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaa0de0c1 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaf4e9614 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb67ac8a0 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbe9485e7 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xca12382e osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd987f8ec osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe9c12221 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeb287e04 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xecc97611 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xef3707d0 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfac4e283 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfe8ba0fa osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/osd 0x3f36bb3b osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x62e83b7d osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x8cf75f81 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xb6b7964f osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0xd9399429 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xfbd09c0f osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x09a9eed1 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1e675c63 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x58423edd qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x62ca7dd7 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9d4eeeaf qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xacf0e796 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb6bef358 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc59324d2 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc9d5b6e9 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd0a008ed qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe336487f qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x13c7406c qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x365c8c93 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x467ee6e1 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x9259322a qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xb659fbd0 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xd0338bfd qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x54cc0fec raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x814f5fae raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x86f5a5fa raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x037d2eeb fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x226cc187 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2a13a8e0 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4b516591 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x60b59d13 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x60db1d86 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x63ce59dd scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7255ff59 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8f7e26d2 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x906ca299 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb3acd67f fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xed4a1eb8 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf36c750c fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0122f0bb sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x25f91492 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2cf19eeb sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x39e0e385 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3dfc722d sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x425f38e8 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5003e600 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x515fdd13 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5a494435 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6f36b69d sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x70687aeb sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7ccbe2ef sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8192da08 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x82e1dde2 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x86e93d68 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x98e965b8 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb1e05b71 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc91171ff sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd5baba5c sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdd19a7af sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdd8c095b sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe66c0d3e sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe72ba710 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe8cfed49 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf08f920c sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfafc069b scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc42fb7f sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc97c36d sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x326128f7 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x956b7b09 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xd16c7ff6 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xd6256dcc spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xf4d3bfa6 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/ssb/ssb 0x06f57ef4 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x0aeff171 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x30b57a33 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x32155d16 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x3bfa8930 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x3f953e5d ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x41558cf0 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x44847a16 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x52ae3085 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x5c7ee2ce ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x5f25395d ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x61d1354b ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x63007460 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x6672976f ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x7a3eb452 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x975cec9f ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc3dec323 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xc8dbff5e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xd33da8f7 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xd3e5c67f ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd9106521 ssb_bus_powerup +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x5ce36943 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xc6268550 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x5cd855d8 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xf7d6fd14 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x05e232d7 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xd5938b59 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0xc583871e cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x047b84e2 go7007_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x2c44e252 go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x4858b7dd go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x6bb0d7c9 go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xa93976d9 go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xcf9dd212 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xd7277e06 go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xda86fac7 go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xdd1bb32e go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0170c023 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x03bf092d rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05ab80aa rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x06c8be48 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0c0c04e9 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1876227b rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1b4ab379 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1d690177 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2005bd9c rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x210dad98 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2bf0b846 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x303b3318 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x31d8b953 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3906998f rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3cba5d1c rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x41ec43b2 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4a7d3633 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5116875c dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5630c1c4 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x587a64fa rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5f6957e2 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x62791d1a rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x645c2a32 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6b80b5ae rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x727a2d7f rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x741be0e5 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x816ab5e5 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x82df12d7 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x83da4f1a rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x85197b1c rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x87465c7e rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x97d533fe notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x993328eb rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa043a4d4 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa25d4909 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa6d32e5c rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xacc5a981 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaf34e5b2 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb40ab661 rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe0bc957 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc2d730ae rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xce513dfb rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcecff922 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd3d69fbd rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe14edb60 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe8c8684c rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xecdd1653 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xed55f13b rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf6aacf47 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf6cdc468 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x042c46f0 DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0736e2ca ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x115a2918 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x13455724 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x155546d8 ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x16f8e5ed ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1bc9d9c8 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x20fb63b7 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3220e778 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3502e0fe ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x38115341 Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x39ea1b3f ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3c40d299 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3cbb989d ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3db09c36 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x411a7806 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x41dd1057 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4fce6362 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x56c82008 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5c29b07d ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5e10ddd8 Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6408f3b5 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6bd70a69 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c32c8b5 ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6d5d36da ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x76089d60 ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8172375e ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x82c65405 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x85234b5e ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8b93a72b ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x93436cb7 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x938567ce ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9916971e ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9fa66bbc ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa3dbf041 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa8d9c90b ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb386d411 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb5b0c743 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbf6fd2e0 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbfb1255e DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc3c536d0 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5927333 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc6f36ea5 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc73d0ad2 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc9ae7f25 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcd4181cb ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd4306684 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdb666f9e ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xde38ac8e IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf850d41 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xea11e3f1 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf557ef8e Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf58058c0 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfc71c418 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfeff6f6c ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xff35ea83 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/telephony/ixj 0xb2b64f2e ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x8af11faa phone_register_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xfcee06ad phone_unregister_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x00fafb19 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0x02501d80 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x03d26878 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x055146a2 target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e9d064a target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x105bd1d5 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x12be3247 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x155dc248 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1963156c transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1b3ee663 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x1b910ce6 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x1c217bba transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x293eae27 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x2c374f93 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x316134cb transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x36fc1535 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x3862770a transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0x39abf64b core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a1ade99 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3dda198d iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e43fdea transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e54a14d transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3f75ccc4 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x4c646fd5 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e72b892 target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x535fe12c transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x557ab11b transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x5588b256 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x56e7d816 core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x56f7c41f target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x57deca3b target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x64ba3530 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x6a7d1f56 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b340f51 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x7345eab5 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x743ddb85 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x79636c70 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x79d32a23 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x79fbe741 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x81f81c0a sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x8294cd35 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x84db6e27 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x89e3284c core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x96e0164f transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x9bc8f79e target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2788072 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xa77526f0 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xa9719b10 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xac730b89 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xaea2836e core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb3c1158e core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xbb7037ba target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc29c0c36 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xc5323399 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xc58614d1 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xcedf30b4 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xd23acc7a transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xd5d98439 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0xedf635a0 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3dc133e transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xff5537f2 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x1a27d1ab serial8250_do_set_termios +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x3a4b670c serial8250_register_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x951c30af serial8250_set_isa_configurator +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xa48c2854 serial8250_do_pm +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xd7e07498 serial8250_register_8250_port +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xb3966bb4 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xc3031ced sl811h_driver +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x210ceafa usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5822e6f4 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x66852511 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x719634d5 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x76bbb857 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7d30e0cf usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x806f4c40 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8e1fb761 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x945dd48a usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xcb26d659 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xcd6902fd usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd305fa7a usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf4dda8e2 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf6e56597 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf7d9b414 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x9436ee7b usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xc353427c usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7b98fdd9 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xfe02f754 lcd_device_unregister +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xec384daa cyber2000fb_attach +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x019783c0 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xa2d2e962 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xd4d09ea1 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x49e81cdf DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x4fbb7e44 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x890f6972 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x9da407b9 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x7074b7c0 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x30f24051 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x67ec0a9c matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x932e609c matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xb7cbf407 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xdd45cbec matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xe455bce9 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xe7b95239 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x334ce67e matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x48538135 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x5a92034b matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x9090d87c matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xb7623746 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0xc18ff00a mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x6c213ae0 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xd0921228 video_output_register +EXPORT_SYMBOL drivers/video/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/sis/sisfb 0x454a3cf0 sis_free +EXPORT_SYMBOL drivers/video/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x29786b6f svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x2cf29fce svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x9940d22f svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0xb78f7d96 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xd1429fca svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe8f31b8e svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xebe30340 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xef0690bd svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/svgalib 0xf2db5956 svga_match_format +EXPORT_SYMBOL drivers/video/syscopyarea 0xf26d78b1 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x97e55038 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x05d41c5f sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/vme/vme 0x16f6fd59 vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0x20d5d26b vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0x2157965d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x2527a087 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0x294bd7de vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0x3a3b8f2a vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x3c355962 vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0x444cdab9 vme_unregister_bridge +EXPORT_SYMBOL drivers/vme/vme 0x45fcd663 vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0x46649cd1 vme_lm_set +EXPORT_SYMBOL drivers/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/vme/vme 0x4ba7cabf vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x530b5d7a vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x63b60d16 vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0x66227eae vme_alloc_consistent +EXPORT_SYMBOL drivers/vme/vme 0x6c917b4d vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x708aedf6 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x84a69fdc vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x94b2590f vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0x97a5babc vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xa657ae26 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0xaaa566c6 vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0xd797b9a5 vme_master_write +EXPORT_SYMBOL drivers/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/vme/vme 0xe040248d vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0xe26f0ce2 vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0xe693a6ce vme_get_size +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xfa5db71e vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x347b77b5 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x5732e68b w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x60e60a34 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xba4d9d25 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x861768fb w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x9ee808fc w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xcbb066f0 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x2dff09e1 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x4593ef33 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xc85443e5 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/wire 0x88935175 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xbcbf96d5 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xcd88bc92 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xe484f3fc w1_unregister_family +EXPORT_SYMBOL fs/btrfs/btrfs 0x013333ed ulist_alloc +EXPORT_SYMBOL fs/btrfs/btrfs 0x2e965c58 ulist_add +EXPORT_SYMBOL fs/btrfs/btrfs 0x42d57ce9 ulist_reinit +EXPORT_SYMBOL fs/btrfs/btrfs 0x58cbfcc2 ulist_free +EXPORT_SYMBOL fs/btrfs/btrfs 0x8ab177c0 ulist_init +EXPORT_SYMBOL fs/btrfs/btrfs 0x8e313eff ulist_next +EXPORT_SYMBOL fs/btrfs/btrfs 0xccdd7b95 ulist_fini +EXPORT_SYMBOL fs/configfs/configfs 0x05460a4f configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x197215bc config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x2060f23e configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x20db1f51 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x3f0bffe6 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x8330302a config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xa415000d config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xa55ff009 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xb2ac9b8e configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xd17c0cd1 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xd3f86669 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xf3a04a1b config_item_init_type_name +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x029a217c ore_remove +EXPORT_SYMBOL fs/exofs/libore 0x056a0d81 extract_attr_from_ios +EXPORT_SYMBOL fs/exofs/libore 0x1c4b32e0 ore_write +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x3af09dc1 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0x6c4d4f0d ore_create +EXPORT_SYMBOL fs/exofs/libore 0x8a2bfc8d ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xb2d5b72d ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0xb662f262 ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0xc9d0687e ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0xf96d47b4 ore_read +EXPORT_SYMBOL fs/fscache/fscache 0x041123d0 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x2e9b2073 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x2ea1b9f6 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x3555b8cc __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x449ca356 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x567830b7 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x5a6c1aba fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x72453d95 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x79fb960b __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x7a92d654 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x7acea9aa __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x8353d79f __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x87a15daa fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8ad30d4f __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x90279906 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x929f8ae9 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x9bdaf860 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xa1752dd5 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xa3190fa2 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xaa5e7f15 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xae62f69f fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xc5199d3e __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xd68f93f2 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0xdaf20829 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xec76af83 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xef06492b fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xf20e7ea7 fscache_init_cache +EXPORT_SYMBOL fs/nfsd/nfsd 0x0c8d6829 nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/nfsd/nfsd 0xcbb738be nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x4c59555c qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x5641abe6 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x65483bd7 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x7390d20b qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xf661c9f8 qtree_release_dquot +EXPORT_SYMBOL lib/cordic 0x434bfd07 cordic_calc_iq +EXPORT_SYMBOL lib/crc-ccitt 0x3771b461 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-itu-t 0xf5b4a948 crc_itu_t +EXPORT_SYMBOL lib/crc7 0xa7587646 crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/crc8 0x41248eaf crc8 +EXPORT_SYMBOL lib/crc8 0xab9ad613 crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xd4534d80 crc8_populate_msb +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +EXPORT_SYMBOL lib/lru_cache 0x1a46afdf lc_find +EXPORT_SYMBOL lib/lru_cache 0x3800eb3f lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x40234646 lc_get +EXPORT_SYMBOL lib/lru_cache 0x4936228e lc_set +EXPORT_SYMBOL lib/lru_cache 0x4eb5f5f1 lc_put +EXPORT_SYMBOL lib/lru_cache 0x68131a82 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x7d2637d1 lc_del +EXPORT_SYMBOL lib/lru_cache 0x896876c0 lc_create +EXPORT_SYMBOL lib/lru_cache 0x92bd5ba2 lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x95394182 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x9eba77c4 lc_changed +EXPORT_SYMBOL lib/lru_cache 0xc317be6a lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0xc8da7289 lc_reset +EXPORT_SYMBOL lib/lru_cache 0xe0cbc80e lc_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7456cc61 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd9e91f83 raid6_vgfmul +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x315c65fd zlib_deflateInit2 +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0x48034724 zlib_deflateReset +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xaf64ad0d zlib_deflate +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8022 0xb1cf4062 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xe2aac67d unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x617ba330 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0xe1c17799 make_8023_client +EXPORT_SYMBOL net/802/psnap 0x4695314b unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0xd9a20293 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x069a620d p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x07f8ba1a p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x087473ac p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x0a1cd1ea p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x0e4151b6 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x0f3c332e p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x13f042fb p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x1564480b v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x1bace749 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x2ffe710a p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x3741ceb4 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x384e8b81 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x42da9807 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x4d017ba9 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x50de4df2 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5379f82d p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x55c9e536 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x589f05ea p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x5bef5594 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x5d44a929 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x6261aa85 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x667c2e61 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x6e76cb4a p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x82e026a2 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x90e89b01 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x98db9ce3 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xadb5d961 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xb3d1cf6c p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xb5085d21 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xbe8418df p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xc0d818bc p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xcda759d7 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xd82d46de p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xd9a544b6 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xda0e0c11 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xde9539b5 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xdf0d4f6a p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xe1113fa9 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe59f33d5 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe8817165 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfb95bd54 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xfc260a54 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x342243ea atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x75e968ad aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xb4059f92 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xd00125a6 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x18e54048 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x19ee7125 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x388723ec atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x473f6b26 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x49429ec2 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x5ac26086 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x6f860435 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x7a551297 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x9e00e202 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb55bbded vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xca87b453 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xcf21cf94 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0xd25c6894 atm_charge +EXPORT_SYMBOL net/atm/atm 0xd64e2db7 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xea123295 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x0593fd48 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x0a2975fd ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x150dd30f ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x60765c87 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x7fa0397e ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xd6d79036 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xd74ff939 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xf10d8331 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xfa5c8ae2 ax25_hard_header +EXPORT_SYMBOL net/bluetooth/bluetooth 0x04ed7c50 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x099ffacc hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a0a2f7b hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0f71a5ee hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1878d54b hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1912c1d2 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x33b67dc0 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x48e0499b bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4ac03f9d bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4b6bbec3 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5439e9d9 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x579cfb12 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x59d1fc8b hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d7fb6bb hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5ee24419 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x747d3c43 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x766ea0c1 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7ccac578 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x888d4033 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8954159d bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9340031a hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9cab6920 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa095c8b6 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa1911c7d bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6dfcdf8 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xad82adfa hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb122a018 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2ee6ddb bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc444d880 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc72b921a bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc8f635dd hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd56c1d6c hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd5dce629 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7db1d2e hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdbd6c1e4 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe056f014 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe4d354e0 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xff9c3f58 hci_send_acl +EXPORT_SYMBOL net/bridge/bridge 0xdd3d1c7f br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x19637995 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x88163b69 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x9ceb6273 ebt_register_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x32027bb0 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x61b6414f cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x6a44fc70 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x831e54eb caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x966d7de2 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xd5354f7a get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xfbafe504 caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x03705e21 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x0f09e2b1 can_rx_register +EXPORT_SYMBOL net/can/can 0x1f793b1d can_proto_unregister +EXPORT_SYMBOL net/can/can 0x3832bcc6 can_ioctl +EXPORT_SYMBOL net/can/can 0xb701fbe9 can_send +EXPORT_SYMBOL net/can/can 0xe8ec6532 can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x046e3d5a ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x139a1c9e ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x20c92aeb ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x2171eab9 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x2735ce5e ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x2dd22cbe ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x30a8fd74 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x31fb3759 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3c0cd593 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3d15254d ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x42c34859 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x45caf78a ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x45d53641 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x50abd709 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5910b27d ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6518f740 ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x66e0905b __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x6919c1b6 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x699685fc ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x6a33f193 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x6d2d06a1 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x6e36f6a7 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x6ed41be2 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x6f149625 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x6ff8afd5 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x73ab38df ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x76fcc438 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x77692acb ceph_msg_last_put +EXPORT_SYMBOL net/ceph/libceph 0x788410e0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x83b757ae ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0x86abce60 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x932b9176 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x94a17987 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x96111bf0 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x99047588 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x99de4738 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0x9fbe6e5b ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xa1024e77 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xa92977ab ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xaafefa10 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xafb103f4 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb4294b0e ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xbe0c2868 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc7171e96 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xcbb2e5ad ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xcd8345c6 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd7cb3f5e ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xdbc7a081 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xeb239103 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xeea1438b ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xf042f621 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfbb07cc8 ceph_osdc_writepages +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x9a58d5e8 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2dd9ad93 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3a4fdbd4 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x449ed987 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x511e6bee wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x62849fdf ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x6a2b9dab wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x78061ac2 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7d632bf2 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x895d502c ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8fb18b85 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xa4d5008c wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0xc648a78b ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xff84750e ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7d332439 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xa41d49e9 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xdd8fc093 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x0294bf79 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x349a8172 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3fb0a7ff ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x1bc555d3 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x20f74564 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x49ec3df3 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x655f68bd nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x74e3beba nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x86fb062e __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa8e5f535 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/tunnel4 0x2b086326 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x41d25aa9 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x14c1832b ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x41eff0a5 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xdbc31f08 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xf2ccaac9 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x360332f8 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x6fe2a8fa xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9f086c6f xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xd8a1781f xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2af8df07 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x41705ff9 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4fdeab8e ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x5fde853d ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x79022ef3 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x7914bf72 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa06bb598 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe57f83eb ircomm_data_request +EXPORT_SYMBOL net/irda/irda 0x0064e0ea hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x1e6cade0 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x21f625ca iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x220b65fd irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x28972bf4 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3aef14f9 irlap_close +EXPORT_SYMBOL net/irda/irda 0x3e56064f hashbin_new +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x4f4922bd alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x4fb13a19 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x5509298d irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x601bda46 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x628c5c94 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x64870046 proc_irda +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6b5fbcef hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x6e0ab3c7 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x6f0e1661 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x76c66769 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x82245ccd irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x84e83c36 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x85d88217 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa0a69dec irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xa1c4e410 irttp_dup +EXPORT_SYMBOL net/irda/irda 0xa1d41e58 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0xa2fab22b iriap_close +EXPORT_SYMBOL net/irda/irda 0xaa557515 irias_new_object +EXPORT_SYMBOL net/irda/irda 0xab8aaf0c irttp_data_request +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xbc410b2a irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbd1e7ca9 irlap_open +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xc5d5dad4 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xc68e43be irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0xcead7dbb hashbin_find +EXPORT_SYMBOL net/irda/irda 0xd2108314 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0xd306594d irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xd699c911 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0xddd19bf2 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe3463529 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xe3bde43e irias_insert_object +EXPORT_SYMBOL net/irda/irda 0xea4166d8 iriap_open +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf0a694a1 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xf2fb5225 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xf39b7fe0 irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xf5876b95 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0xfc3fc2b7 irda_device_set_media_busy +EXPORT_SYMBOL net/l2tp/l2tp_core 0x67bd2f39 l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x0a353f32 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x0d5e3036 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x12439815 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x43f0ef87 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x9e8627ae lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xa58a1db4 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xb4c72910 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xc4e0faa5 lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x57f5e978 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x6ecb5ab8 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x9c3fe8d1 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xb96e4757 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xc35e28f7 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xc5ef7d92 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xc8f39b77 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xeadd3320 llc_sap_open +EXPORT_SYMBOL net/mac80211/mac80211 0x04d6616e ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x08c5347a ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x09a97e06 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x134ee826 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1b36b22e ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x237b707c ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x270975b5 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x27916702 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x2927cafb ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x29ba597b ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x3121a5c4 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x39ec5d3f ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x3b0fb3ac ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x3c2c16e1 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x3ddd6468 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x408a2d83 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x42609528 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x4381504a ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x4999c1c8 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x4d766d2a ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x50266cd7 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x53fbeb4a ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x5ad56cba ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5ee311fe ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x677a78e9 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x6d80be7c ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x78c4bd1c ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x78d0dcb4 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7a9e79c5 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x80018475 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8179d5a7 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x83378f3d ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x876a17ea ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x8e73a0bb ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x901bc0b8 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x9185a304 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x972a5f9a ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x9b9f31f7 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa1d0135d ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xa34ba87e ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa58d8013 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xa5b721b2 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa8ce89db ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xb722fa4c ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xb840c6a8 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb972eec0 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xbb2ee9e7 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc259ee94 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc5b03f00 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xc853554d ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xd5d8dd23 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xd6f68489 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xd726e7fd ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xd7c75654 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xd984a091 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd9e51bae ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xdafea445 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xdc9fae18 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xdfee1875 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xfa89b36e ieee80211_tx_status +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x21a319ce ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3d4e5062 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x517f8021 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x57ddb922 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5a3adc5a ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x76872b3e register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x809f9e21 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x99837fde ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9fc5be0c unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa18f0d15 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc459a5c2 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc949ca7e ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf1a6038c ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfe0273e9 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x0136e0fd __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xba0fdee6 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xcbb75149 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x971af7d7 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x008f9458 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x0200bedb xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x03348b9e xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x39526d34 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x5c4c07bb xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x5f93b089 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x70f980f3 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x987a1b1a xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x9a7050a4 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd90e176e xt_register_targets +EXPORT_SYMBOL net/nfc/hci/hci 0x0bd109b7 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x0db54794 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x1849e834 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x194b17e8 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x21c21642 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x3b18bfc0 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x3c15f3ec nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x413f6938 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x4e0c8eae nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x5380654c nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x541989ae nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x603d0bce nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x75701605 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xa837fd3b nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0xacb9a64e nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xcd8087f2 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xeca223ab nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xed13c231 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xf481db31 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xf7463878 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xfe45e448 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x2e955d2d nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x58ea4308 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x78c7930a nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x7c585971 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x93d0934b nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nfc 0x15ac7df5 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x5b1202d0 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x5fe143a9 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x7c83536a nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x7e637cd8 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x99dcbc26 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xa7527a47 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xb4b358bd nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xca4fba63 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xe6b4e2e4 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xede453bc nfc_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x12d8160d phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x361bf20d pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x3c1b3d17 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x45f4b2de phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x7ebdfd15 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xc5ca5358 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xd32cbc62 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xd5cbd808 phonet_header_ops +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x043428b7 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x08f854f7 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x227736f2 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2d3033d2 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x37aa050b rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x52282585 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6bfe4a0e rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x877326cf rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8d3aa4b8 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa6b39ee0 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa87c2488 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd1225155 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd9351a2f rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xec2e18a1 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf7e28f66 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/sctp/sctp 0xc25b64de sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x3a2f9516 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x6dab992a register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0xa4fdb233 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xd5fc157a wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x01a06108 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x09104061 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x186da2ec cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1c095751 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1ca4465d wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x1ec8814f regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x26a32a0d freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x2b0d29d6 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x2fe140cf wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x3b4278e5 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3b772606 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3cea50dc cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x3d790448 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x43a7e124 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x47be5b52 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x5020b569 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x5343bc34 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x5567a38a cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x5731423a __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5d5d577e wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x6383d592 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x671090ad cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6e328135 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x705f9a8b cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x7553516e ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x7853d430 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x7d672494 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x80fe625e __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x865f561b cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x8d3c1ea4 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x945e191f cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x9618d132 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x999c48bc cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa314c28d cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xa663cc2f cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xabb0cce9 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xb9e4ed41 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xbda2c47f cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xc165696a wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xcd198f86 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xcd9bd6f2 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xce4bfef6 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xcfb82cf2 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xd42ab6b2 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xd47d06e9 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xd7c45f0b cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xd821c08c wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xd83c88e4 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xe014942d wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xe16f0dde cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xea3deed3 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xeb7b3fd3 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xeb7ee5e3 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xeef569e3 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xef00119a cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xf470d41c wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xf68cdd9e cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xf9614516 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0xf9daeb9d cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xfdeeb988 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xfe7b2376 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x6136657c lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x790aa337 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x9d78540f lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x9daea014 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xac9764f0 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xbaec6e48 lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0x0d16c28e ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x00a9011d snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x0c98db57 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x922654b8 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xa29b5697 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf021547d snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x1a5519ce snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb64bd83a snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf0a1fdb3 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x072d978b snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x13a17752 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x2eed26bf snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4d5ca523 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x592f6e9b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd7c7afcc snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe60fb228 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xecbde43c snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x44d4d5e6 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x08546b73 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x0c4a9f76 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x0edb566b snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x11411c42 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x146470a6 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1b593f24 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x1c4864a5 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x1e812669 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x200894c1 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x22093bc9 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x26c567e9 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x2a943b67 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x2e5b3f19 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x2fa21e33 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x31084fe0 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x34344e2c snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x35656079 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x461f062a snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x55b8b8a5 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x60fb6f07 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x6aecddef snd_device_new +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x726efe6d snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x7e893658 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x8310d0f2 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x86245196 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x88c46e78 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x91783d83 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x919d8aa3 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x92e2bce1 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x932779a2 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x956d90f4 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x9945d6c0 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xaa4b04f4 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb5eaf069 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xbe520127 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xc61b5a02 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xced72efd snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xd1157735 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xd520ed50 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xd8915929 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xd9b1bf08 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xe047dc72 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xe68fd028 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xe91169f1 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xecf7a654 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xf12c1cbc snd_card_unref +EXPORT_SYMBOL sound/core/snd 0xf91c92e9 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xfe3b135a snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xff83df25 snd_cards +EXPORT_SYMBOL sound/core/snd-hwdep 0x73acea2c snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x1cd88308 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x2002dd59 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x2aeb6dd7 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3e578599 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x45255e36 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x02616005 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x06719b63 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x0a1c28e4 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x11fa733f snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x15140e18 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1f26e665 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x232d0572 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x267ab625 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x2a55caf1 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x314d7403 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x33645da8 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x33c575d0 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x41243eab snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x440b0c71 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x4ac178a5 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x5d69b5e8 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5f64c664 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x628d0225 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x6653fac8 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x86a61c88 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x88ad1d05 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x8bc6ae0a snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x8f8275c6 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9855bd2a snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x9a652849 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xa58d5804 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa92b83dc snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xb7619ded snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbeb5e91b _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xc173a6a9 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xc5447fb2 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xc9895269 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xd5fb21a2 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xd7dabe50 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xda2fe68a snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xdc25ccf6 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xe12bdfc3 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe745c60e snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xeba36824 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0xf02b8ce9 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xfcaca2f3 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xfcd3af2c snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xffd243f9 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x03e4ae77 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x165766fb snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x23a53910 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3545a2c5 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x49279faf snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x494c5b8d snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4ba18ea9 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x71f74827 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7c274d36 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x828ab1b0 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9f1564f2 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa49caa3d snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa53edd3b snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd8b38940 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xde11f92e snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf7a82fe8 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfd4ebb46 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-timer 0x1737df96 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x27dd4c8f snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x7690c117 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x79dda754 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x7a3477f4 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x9f6186f1 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x9fab5780 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xb81daedf snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xc7780ec1 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xd9514cf2 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xe8b1888c snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xec44e443 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xf8c21438 snd_timer_notify +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x71b34bdb snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x0f511ee5 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6cb9e5d8 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8b7911cc snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8d34c037 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x932eeff8 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa11453fb snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xad741aa5 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd074820f snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd1f795aa snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5a14f88b snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6f70b1db snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb26236f5 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb54810f6 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xba9ea537 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc5f47730 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc8628b1a snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xe19c3536 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xee878476 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x06ada40c amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0d07dbe0 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x23ccb895 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x27b5b7ac fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x36640ca2 amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3706b34c iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x398ac326 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4c722e26 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5462e552 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x58bc81e9 amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7561fc33 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x77648b81 amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9a90c9a2 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa9d756fa cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xaec034f3 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb63dfeca amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbb072112 amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbb542a66 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcc7ad476 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcc96ff4c iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd4084c7b cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd446a0ff fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd6d6afd4 amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xda4e7c03 amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfd3000ec cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfd48b08f cmp_connection_destroy +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x10af9588 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x2f371bd7 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x2f78ba93 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa3792bed snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xb795fe38 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc77ecda6 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x086765cc snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x175637e8 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x7549e236 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x87cf73ee snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x89a20a81 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc1967c14 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x0a19b535 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x69bc7e1e snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xb9682cc9 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xc6834442 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x18ea96f5 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xd745cb37 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x5351c837 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x689dcaba snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x0b42c77a snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x3937029a snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x650ca785 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x72942bbb snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x8327df3e snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x42a9b964 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6a1c1c70 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6cf7e26c snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa8064929 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xb030060a snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xb308db1a snd_i2c_probeaddr +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x045e48a2 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0f025995 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x24dbc976 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x2cff2fc8 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x388a443b snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7dfca525 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x84354c4f snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xcc851de9 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe1b29240 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe24c4c75 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x659a35ac snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x78aba657 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xde1fd890 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x055f7123 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x160ba05a snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x18222587 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1be9529d snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x29a3f96d snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x30dbd779 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x53a3765a snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7645a0a8 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7de2de20 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x802dc12e snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x805170bf snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x89630d6b snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb25b8b62 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb352188c snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xccbf654a snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd055e426 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe14c5c3b snd_ac97_resume +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x01eb6d73 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x3480d1cc snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x578c99a0 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x5f2d6c20 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa3288359 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa73e3d80 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa806d554 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd1934250 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf8aca718 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xff11b48f snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x56ad1868 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x6fa731b3 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xbe93ac32 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0377f701 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x17aadd3e oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x27f3daca oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2977deb0 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3278f5e8 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4425c6f4 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4bf55471 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x54f546f9 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7d6b2db6 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9c183460 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa1739ce8 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa2a3d737 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbbda8308 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc774ffd8 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd98142f3 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd9b14173 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe3e9d0fd oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe67dc992 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xece2f9c3 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfc37e779 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xff8f8a0c oxygen_read16 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0297b096 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x31449977 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x54f5d0ea snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x5b7e7054 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xb1954ad6 snd_trident_start_voice +EXPORT_SYMBOL sound/soundcore 0x04ace63b register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x0d1acc1a sound_class +EXPORT_SYMBOL sound/soundcore 0x29179fbe register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xa3ccfaee register_sound_special +EXPORT_SYMBOL sound/soundcore 0xc4d94ad0 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xcd153529 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x2284012f snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x3cb87607 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x4ccd90cb snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x947695ba snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe039b166 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf2b61034 snd_emux_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x05fcdc35 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x8b98068d snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xaba96e11 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbf13abfa __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd9c05dc3 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xebd38a24 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf2970f80 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xfe2a6340 snd_util_mem_avail +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xfd6ef9dd snd_usbmidi_create +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x002fe6c6 __f_setown +EXPORT_SYMBOL vmlinux 0x003ed69a __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x003fd939 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x00570eef uart_update_timeout +EXPORT_SYMBOL vmlinux 0x006e1e77 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x0090d26c ip6_frag_match +EXPORT_SYMBOL vmlinux 0x00b4aa0a security_file_permission +EXPORT_SYMBOL vmlinux 0x00c76429 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x00cce11a bio_kmalloc +EXPORT_SYMBOL vmlinux 0x00d485d1 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x00dff913 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x00e2302a security_path_chown +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00fd9ae0 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0101d9e6 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0113e72b qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x014e7952 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x01799b0a proto_register +EXPORT_SYMBOL vmlinux 0x0186e2de smp_call_function_many +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x0191802f input_flush_device +EXPORT_SYMBOL vmlinux 0x01980e5e ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x019a69d8 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x019e7765 __init_rwsem +EXPORT_SYMBOL vmlinux 0x01bef72a gen_pool_free +EXPORT_SYMBOL vmlinux 0x01c64bb6 __ps2_command +EXPORT_SYMBOL vmlinux 0x01f5885a inode_init_once +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0269a459 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x027ae182 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02c7d634 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x02d6949f deactivate_super +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x0323493f fb_set_suspend +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03720938 serio_close +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037ee9c1 sk_dst_check +EXPORT_SYMBOL vmlinux 0x038fc6b3 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x0392df8e flush_icache_user_range +EXPORT_SYMBOL vmlinux 0x03abfadd proto_unregister +EXPORT_SYMBOL vmlinux 0x03aeb4cb qdisc_reset +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03dd0c50 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x03e55d99 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x03e8ba35 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x0444639b flush_tlb_range +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x0449ee6f jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x049a3b2a blk_peek_request +EXPORT_SYMBOL vmlinux 0x04b89d78 seq_path +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x0506537d __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x052d3906 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x0530dede _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05a514a1 _insl_ns +EXPORT_SYMBOL vmlinux 0x05ad666f inc_nlink +EXPORT_SYMBOL vmlinux 0x05b221e7 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x05b46759 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x05e1a0bd send_sig +EXPORT_SYMBOL vmlinux 0x0616061a i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0617e3ea set_user_nice +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x065c0796 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x0660ce0d unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x0673b3b6 vfs_fsync +EXPORT_SYMBOL vmlinux 0x06754da8 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x0675c7eb atomic64_cmpxchg +EXPORT_SYMBOL vmlinux 0x067637c0 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06b48116 tty_port_init +EXPORT_SYMBOL vmlinux 0x06bbb24a mempool_resize +EXPORT_SYMBOL vmlinux 0x06c9fd51 seq_escape +EXPORT_SYMBOL vmlinux 0x06d99b0e ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x06f2de87 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0704339b tcf_action_exec +EXPORT_SYMBOL vmlinux 0x070f6265 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x07180bbf set_anon_super +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x074989f8 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x074e9213 down_killable +EXPORT_SYMBOL vmlinux 0x07767ba4 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x0788a12f generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x07892a00 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07dfa2f4 tty_port_open +EXPORT_SYMBOL vmlinux 0x07f772f9 phy_device_register +EXPORT_SYMBOL vmlinux 0x07fdbb68 dst_release +EXPORT_SYMBOL vmlinux 0x082b62af of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0831b1e7 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x089894ec page_follow_link_light +EXPORT_SYMBOL vmlinux 0x08ac5877 get_io_context +EXPORT_SYMBOL vmlinux 0x08bc805d tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x08d7ff9f pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x08fb27c1 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x09489a38 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0960d496 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x097dccdd skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x098d40e8 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x099fab17 simple_readpage +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d066f4 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09efcb3a kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x09fdcf3f ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x0a0f7fbb dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a342879 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x0a3d073e journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x0a40186a dcache_dir_open +EXPORT_SYMBOL vmlinux 0x0a4325df pci_enable_msix +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a84faa1 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x0a922af2 mdiobus_register +EXPORT_SYMBOL vmlinux 0x0aa982de flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x0aaa3084 blk_init_tags +EXPORT_SYMBOL vmlinux 0x0ac3fb27 sock_no_accept +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0af8f0d2 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x0b084c87 free_netdev +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1fbdf2 kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x0b25c13c __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x0b28bdc0 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x0b293501 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x0b39fb68 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b4d5df9 netdev_emerg +EXPORT_SYMBOL vmlinux 0x0b53de8f udp_ioctl +EXPORT_SYMBOL vmlinux 0x0b54598c pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b9541d6 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x0bb17b87 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0c0b39a0 kill_block_super +EXPORT_SYMBOL vmlinux 0x0c10e80f pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x0c12e626 __debugger_bpt +EXPORT_SYMBOL vmlinux 0x0c21fe3e gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x0c2401b3 blk_put_queue +EXPORT_SYMBOL vmlinux 0x0c28f1c7 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x0c2a30e4 pmac_suspend_agp_for_card +EXPORT_SYMBOL vmlinux 0x0c2fd204 genlmsg_put +EXPORT_SYMBOL vmlinux 0x0c4f605e bio_clone +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c8d14de phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x0c9b6089 nvram_get_size +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0ca32074 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cbc62e8 genphy_read_status +EXPORT_SYMBOL vmlinux 0x0cc28cb9 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x0cd1f9c9 dev_err +EXPORT_SYMBOL vmlinux 0x0cd3b006 vfs_open +EXPORT_SYMBOL vmlinux 0x0cf9eb07 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x0d002b21 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x0d364190 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x0d454200 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x0d46798e set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dbf38b8 mol_trampoline +EXPORT_SYMBOL vmlinux 0x0e5dddb3 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e7dcfbf sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x0e8946ad i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x0e8f30f6 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x0e9341ff mount_ns +EXPORT_SYMBOL vmlinux 0x0ec40c58 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x0ec75972 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x0ee3c169 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x0ef20db1 kernstart_addr +EXPORT_SYMBOL vmlinux 0x0ef8c07e scsi_dma_map +EXPORT_SYMBOL vmlinux 0x0f1087ef udp_sendmsg +EXPORT_SYMBOL vmlinux 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL vmlinux 0x0f3715d9 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f7a492e grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x0fa692b8 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x0fa775b2 mutex_lock +EXPORT_SYMBOL vmlinux 0x0fa9b0b6 thaw_super +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fd3ef46 vga_tryget +EXPORT_SYMBOL vmlinux 0x0fd6ee01 seq_release_private +EXPORT_SYMBOL vmlinux 0x0fd9f552 d_genocide +EXPORT_SYMBOL vmlinux 0x0fe1441b ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x10018e87 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x101f5de0 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x102d8da3 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x10425750 __napi_schedule +EXPORT_SYMBOL vmlinux 0x1059afd8 register_qdisc +EXPORT_SYMBOL vmlinux 0x105bfc1c sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x108e9f43 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x109a1f8b filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x10b0e994 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x10e8a3c2 brioctl_set +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x110047ee kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x111ddd7f ip_fragment +EXPORT_SYMBOL vmlinux 0x112584f4 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x11390f2b request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x11663cec adb_register +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1182d83a cpuidle_disable +EXPORT_SYMBOL vmlinux 0x118e3ecd tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11c832cb ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x11cf27a9 idr_destroy +EXPORT_SYMBOL vmlinux 0x11d0459c tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x1208bb99 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0x124cd7a7 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x126cfb93 genl_register_ops +EXPORT_SYMBOL vmlinux 0x126fa708 ps2_end_command +EXPORT_SYMBOL vmlinux 0x127c5705 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x128d9d35 nf_reinject +EXPORT_SYMBOL vmlinux 0x1291cdab __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12b6d68c input_set_capability +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13300f42 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1334686a starget_for_each_device +EXPORT_SYMBOL vmlinux 0x133b4ee4 idr_get_next +EXPORT_SYMBOL vmlinux 0x1353cdeb pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x138e8264 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x13a53e01 cdrom_open +EXPORT_SYMBOL vmlinux 0x13a9a3da abort_creds +EXPORT_SYMBOL vmlinux 0x13affbda percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x13b7b349 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x13ceab13 tty_free_termios +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13df70fc nobh_write_begin +EXPORT_SYMBOL vmlinux 0x13e38f5c up_read +EXPORT_SYMBOL vmlinux 0x13e520d0 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x13eb9125 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x13ee087f delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x14040400 register_netdevice +EXPORT_SYMBOL vmlinux 0x1407c6e7 kmap_prot +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x143026bc pci_dev_put +EXPORT_SYMBOL vmlinux 0x143787ca devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x14435b2f unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x14aa32ca xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x14e837a0 idr_find +EXPORT_SYMBOL vmlinux 0x1545402e padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x154954f1 search_binary_handler +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x158344cd rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x15864b03 flex_array_get +EXPORT_SYMBOL vmlinux 0x1596a953 path_is_under +EXPORT_SYMBOL vmlinux 0x159bd567 file_update_time +EXPORT_SYMBOL vmlinux 0x15a41c2e jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x15d031a1 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x15ea6186 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x161d0033 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x1626d92a dquot_file_open +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16c5d5a9 inet_listen +EXPORT_SYMBOL vmlinux 0x16c8c65c inet_release +EXPORT_SYMBOL vmlinux 0x16e9fef4 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x17345450 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x175a33f2 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x17648396 dev_base_lock +EXPORT_SYMBOL vmlinux 0x1778ddd3 pci_pme_active +EXPORT_SYMBOL vmlinux 0x177ebb73 lro_flush_all +EXPORT_SYMBOL vmlinux 0x17a4ab29 macio_request_resources +EXPORT_SYMBOL vmlinux 0x17aa156a __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x17d41660 do_SAK +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e28473 fsl_upm_run_pattern +EXPORT_SYMBOL vmlinux 0x17eacd0b arp_xmit +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17f4fec0 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x17ff6be4 mntget +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x183cc44f freeze_bdev +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1843db50 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x1847c580 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184ba3f0 note_scsi_host +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x1857748c blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x1858ef7d udp_seq_open +EXPORT_SYMBOL vmlinux 0x185d488a inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x1873e845 commit_creds +EXPORT_SYMBOL vmlinux 0x187e9dd9 mddev_congested +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x1893d569 twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x18957e26 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18a485c6 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x18a5b669 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x18a895b7 would_dump +EXPORT_SYMBOL vmlinux 0x18d6384c xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x191263ec proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x19248de1 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x1926c423 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x19610e1f cpu_all_bits +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a649b4 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x19b6fabb __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c7507a seq_write +EXPORT_SYMBOL vmlinux 0x19d3d6d6 prepare_creds +EXPORT_SYMBOL vmlinux 0x1a111a41 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x1a19c47a tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x1a418cb9 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x1a63c438 dcache_readdir +EXPORT_SYMBOL vmlinux 0x1a677d35 d_make_root +EXPORT_SYMBOL vmlinux 0x1a6846ef agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x1a6e7890 task_nice +EXPORT_SYMBOL vmlinux 0x1a854de1 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x1aa508c3 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x1aa5c801 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad18c76 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x1ad2619f pmac_register_agp_pm +EXPORT_SYMBOL vmlinux 0x1adaf662 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x1ae2948f scsi_target_resume +EXPORT_SYMBOL vmlinux 0x1ae3199d i2c_register_driver +EXPORT_SYMBOL vmlinux 0x1ae94d65 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x1af03b94 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x1af2ef00 generic_write_checks +EXPORT_SYMBOL vmlinux 0x1af7f573 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b057644 macio_register_driver +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b0ecd9b agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x1b1986a3 vfs_statfs +EXPORT_SYMBOL vmlinux 0x1b278ad4 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x1b318664 elevator_init +EXPORT_SYMBOL vmlinux 0x1b47a72a icmpv6_send +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b702173 generic_show_options +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b932447 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x1b98f45c qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bac277c input_unregister_handler +EXPORT_SYMBOL vmlinux 0x1bc4ff03 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x1bd6818c kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x1bdd41cd input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x1bdec891 agp_backend_release +EXPORT_SYMBOL vmlinux 0x1c19f440 vga_put +EXPORT_SYMBOL vmlinux 0x1c1a8540 pci_disable_obff +EXPORT_SYMBOL vmlinux 0x1c1d30b7 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x1c23bef8 proc_create_data +EXPORT_SYMBOL vmlinux 0x1c378803 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x1c5a3beb blk_make_request +EXPORT_SYMBOL vmlinux 0x1c5b2c15 pmu_wait_complete +EXPORT_SYMBOL vmlinux 0x1c73b47a pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c936e3a pci_domain_nr +EXPORT_SYMBOL vmlinux 0x1cbbddaa pcim_iomap +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd95ae5 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x1cf2fd86 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x1d8afc55 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x1da5e356 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x1dababdd of_device_register +EXPORT_SYMBOL vmlinux 0x1daee28a percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x1db1fff5 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x1dc12950 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd36197 genphy_update_link +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd65806 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x1e0c9f6b padata_free +EXPORT_SYMBOL vmlinux 0x1e156da7 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x1e23ad63 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e26f03a mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x1e34618d netdev_features_change +EXPORT_SYMBOL vmlinux 0x1e627898 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e70738c da903x_query_status +EXPORT_SYMBOL vmlinux 0x1e749455 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ebf0e8b dev_set_mtu +EXPORT_SYMBOL vmlinux 0x1edc03c8 giveup_altivec +EXPORT_SYMBOL vmlinux 0x1ee22cb6 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f04691b dev_get_stats +EXPORT_SYMBOL vmlinux 0x1f072e39 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x1f2d0dbf blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x1f44a68b fddi_type_trans +EXPORT_SYMBOL vmlinux 0x1f4a444b sg_miter_start +EXPORT_SYMBOL vmlinux 0x1f67109b inet_put_port +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1fb05a5f tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fcd65ea vfs_readdir +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1ff32fec xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20030ecd ioremap +EXPORT_SYMBOL vmlinux 0x200773a1 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x20421305 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x2044d26f dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x205f221f __blk_run_queue +EXPORT_SYMBOL vmlinux 0x2065037c napi_skb_finish +EXPORT_SYMBOL vmlinux 0x2070d22b tty_mutex +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20757704 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x20964f47 generic_writepages +EXPORT_SYMBOL vmlinux 0x20995c2f pci_dev_get +EXPORT_SYMBOL vmlinux 0x20a46ff9 update_time +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b83f3d sock_no_mmap +EXPORT_SYMBOL vmlinux 0x20b9ead6 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20c7a35d mach_powermac +EXPORT_SYMBOL vmlinux 0x20cf24ff bdi_unregister +EXPORT_SYMBOL vmlinux 0x20e1ba2e scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x20ea9b29 i2c_use_client +EXPORT_SYMBOL vmlinux 0x20f7a932 simple_rmdir +EXPORT_SYMBOL vmlinux 0x20fd097f sock_wake_async +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x2138fb40 sget +EXPORT_SYMBOL vmlinux 0x2157a85a fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x21a3a583 scsi_init_io +EXPORT_SYMBOL vmlinux 0x21e3d450 tty_hangup +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x21f6c3ea vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x22089568 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x22191362 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x2223a3b8 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x22253227 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x2229486e serio_open +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22478594 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x224d753f neigh_event_ns +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2264a7b3 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x226e81dc bio_copy_kern +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2278e94b slhc_remember +EXPORT_SYMBOL vmlinux 0x227fbb7b dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x2280efc7 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x2282ebb4 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x22839259 i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0x22904748 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x22996fb3 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x22a1d63c simple_getattr +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c0260a elv_rb_del +EXPORT_SYMBOL vmlinux 0x22c47134 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x22e88ce8 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x22ea0419 blk_free_tags +EXPORT_SYMBOL vmlinux 0x23057723 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x230de4c8 __serio_register_port +EXPORT_SYMBOL vmlinux 0x2317e8ff skb_split +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x23308773 get_user_pages +EXPORT_SYMBOL vmlinux 0x2336e661 __inet6_hash +EXPORT_SYMBOL vmlinux 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x235df441 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x235e90f3 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x2360f1fd napi_complete +EXPORT_SYMBOL vmlinux 0x23612f01 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x237dd0bf iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x238cd964 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x239fced0 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b77f04 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23ddb564 phy_connect +EXPORT_SYMBOL vmlinux 0x23f2243d mempool_free +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2416cde6 cont_write_begin +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2424f482 __elv_add_request +EXPORT_SYMBOL vmlinux 0x242991c5 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x2436df03 dget_parent +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x24439e62 kobject_get +EXPORT_SYMBOL vmlinux 0x2447d0c4 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x244a736a tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245a56a1 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x245a5a94 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x245f84ee seq_open +EXPORT_SYMBOL vmlinux 0x2468a479 agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x246c8e90 devm_free_irq +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2487819d __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x249410ff md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x24d27c0c nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x2502ebdb keyring_search +EXPORT_SYMBOL vmlinux 0x250ef950 pci_iomap +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252c8eae generic_listxattr +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x25465d6d skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x255af57d journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x2573ae07 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25a05c77 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x25a97502 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x25c00b6b blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25e47a8c inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x25f3bd2e atomic64_xchg +EXPORT_SYMBOL vmlinux 0x25f8b6f2 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x25fcdc6c scsi_execute +EXPORT_SYMBOL vmlinux 0x260e6a6b pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x2614da7f vm_event_states +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x26459370 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x264939ad sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x26526c39 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x2661abaf dev_addr_flush +EXPORT_SYMBOL vmlinux 0x2674d07a input_register_handle +EXPORT_SYMBOL vmlinux 0x26869890 elevator_change +EXPORT_SYMBOL vmlinux 0x2695e1c0 sg_miter_next +EXPORT_SYMBOL vmlinux 0x26a9b897 security_path_rename +EXPORT_SYMBOL vmlinux 0x26b34594 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x26b760c4 slhc_init +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26cb4902 pipe_lock +EXPORT_SYMBOL vmlinux 0x26ce80b8 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x26df74af pneigh_lookup +EXPORT_SYMBOL vmlinux 0x26e3044d scm_detach_fds +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26fb4675 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x272c9acd pmu_battery_count +EXPORT_SYMBOL vmlinux 0x27665948 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x2786d1db blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x27abec9a input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x27b737a0 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x27b7ee7b add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27c4177c scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28372abe phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x28531ab4 dev_activate +EXPORT_SYMBOL vmlinux 0x286a6fb0 bio_put +EXPORT_SYMBOL vmlinux 0x2876f6b8 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x28856f06 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28bd471d page_readlink +EXPORT_SYMBOL vmlinux 0x28da322c dmam_pool_create +EXPORT_SYMBOL vmlinux 0x28e2f35e inet6_bind +EXPORT_SYMBOL vmlinux 0x2907ca5a mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x29248995 misc_register +EXPORT_SYMBOL vmlinux 0x2934f903 register_netdev +EXPORT_SYMBOL vmlinux 0x29392a11 init_buffer +EXPORT_SYMBOL vmlinux 0x293be3d2 poll_initwait +EXPORT_SYMBOL vmlinux 0x294267f6 console_start +EXPORT_SYMBOL vmlinux 0x294da5e7 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x2990824e d_obtain_alias +EXPORT_SYMBOL vmlinux 0x29a38fa0 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x29b1c366 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x29ddee62 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x29e3c05f abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x29e9f5f3 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x29f609ba pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a00471d pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x2a0ba9a8 uart_register_driver +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a38d6e9 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x2a3bf83c i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x2a62ae02 sock_wfree +EXPORT_SYMBOL vmlinux 0x2a68f870 sk_alloc +EXPORT_SYMBOL vmlinux 0x2a7cac99 pci_add_resource +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ab441bf pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x2ac71dd8 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x2ad1a166 dquot_resume +EXPORT_SYMBOL vmlinux 0x2ae8fbbf do_splice_direct +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b12925d cpumask_next_and +EXPORT_SYMBOL vmlinux 0x2b2110c4 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b3be6c1 proc_symlink +EXPORT_SYMBOL vmlinux 0x2b4556e8 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x2b9cc9cc ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bc61da1 program_check_exception +EXPORT_SYMBOL vmlinux 0x2bdff50b of_find_property +EXPORT_SYMBOL vmlinux 0x2c00bdf3 kset_register +EXPORT_SYMBOL vmlinux 0x2c0634fd block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x2c0a6ed8 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x2c0e3b64 is_container_init +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c1b8ade pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c282c26 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x2c3683e1 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x2c3803b5 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x2c42201d security_path_mknod +EXPORT_SYMBOL vmlinux 0x2c4d6d9e tty_unthrottle +EXPORT_SYMBOL vmlinux 0x2c535da5 __page_symlink +EXPORT_SYMBOL vmlinux 0x2c6c974b padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x2c7b1fca down_timeout +EXPORT_SYMBOL vmlinux 0x2c7e221f dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x2c879d12 pci_get_device +EXPORT_SYMBOL vmlinux 0x2c919c63 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x2c95cc22 unlock_buffer +EXPORT_SYMBOL vmlinux 0x2cbcab87 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x2d0143e1 secpath_dup +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d51b614 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x2d548c0a kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x2d677d5a genphy_resume +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d9c9ae4 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x2dd6690d qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x2ddcf60a account_page_dirtied +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2e2b402e log_wait_commit +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e32e3a3 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x2e33fa1b bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x2e3e6528 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x2e436596 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x2e5ad395 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x2e734f17 key_revoke +EXPORT_SYMBOL vmlinux 0x2ebdb299 submit_bio +EXPORT_SYMBOL vmlinux 0x2ec3634e nf_log_packet +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ed9c3de unregister_con_driver +EXPORT_SYMBOL vmlinux 0x2edcb917 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x2edea5c8 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x2ee9a01f ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f0a10c6 machine_id +EXPORT_SYMBOL vmlinux 0x2f2b1f50 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x2f935cfe tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x2fae96de rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fc03bcf journal_init_dev +EXPORT_SYMBOL vmlinux 0x2fc685a6 thaw_bdev +EXPORT_SYMBOL vmlinux 0x2fcea284 __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x2fe7052f xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x2fe8c52a inode_init_always +EXPORT_SYMBOL vmlinux 0x2fee3800 seq_puts +EXPORT_SYMBOL vmlinux 0x3009adc6 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x30575aa0 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x30611b6e nf_getsockopt +EXPORT_SYMBOL vmlinux 0x306e6025 sync_inode +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x30842c3c posix_lock_file +EXPORT_SYMBOL vmlinux 0x308e1563 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x30a2320e pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30d70fa9 of_get_pci_address +EXPORT_SYMBOL vmlinux 0x30de3ee0 journal_revoke +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x313b7ff9 mmc_start_req +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31bd4298 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x31e2ae7a journal_get_write_access +EXPORT_SYMBOL vmlinux 0x31e9572e __breadahead +EXPORT_SYMBOL vmlinux 0x31f0bb78 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x322a64e2 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x32381a78 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x325661dd dentry_unhash +EXPORT_SYMBOL vmlinux 0x325b8106 fasync_helper +EXPORT_SYMBOL vmlinux 0x327b9c1b pmu_poll_adb +EXPORT_SYMBOL vmlinux 0x328243ec fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x32834ba9 take_over_console +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32a9dce0 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x32f0ed11 new_inode +EXPORT_SYMBOL vmlinux 0x330851c6 nla_append +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x337e0d14 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x3395b4d8 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33ea5073 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x33ebe885 do_sync_write +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x341dbfa3 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x3453fb22 __scm_send +EXPORT_SYMBOL vmlinux 0x34618f4f ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x346c4ded rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x348443e4 user_path_at +EXPORT_SYMBOL vmlinux 0x348e316d unload_nls +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x3505d5f7 register_cdrom +EXPORT_SYMBOL vmlinux 0x352d7337 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x35843fe7 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x35986c28 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x35a26ecd neigh_ifdown +EXPORT_SYMBOL vmlinux 0x35af4f82 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35f23311 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x35fbd6a1 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x35fe2946 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x36583269 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x366a0fa7 blk_get_request +EXPORT_SYMBOL vmlinux 0x3673c7fc scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x3685dc30 __getblk +EXPORT_SYMBOL vmlinux 0x369d4169 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x36b0e732 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x36c09adb netdev_info +EXPORT_SYMBOL vmlinux 0x36c5036e pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x36cf2e3f bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x36de559e neigh_for_each +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x370bdd46 of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x373ec39d inet_frags_init +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37635e41 __bio_clone +EXPORT_SYMBOL vmlinux 0x378df87e pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x37b5d7e2 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x37b6eaf7 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37eff983 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x37f6fee5 fsl_lbc_find +EXPORT_SYMBOL vmlinux 0x38060031 elv_rb_add +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x381f6a5c blk_end_request_all +EXPORT_SYMBOL vmlinux 0x38440e39 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x387b26c4 journal_restart +EXPORT_SYMBOL vmlinux 0x3883eece scsi_print_sense +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a211e4 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38b74e13 mdiobus_write +EXPORT_SYMBOL vmlinux 0x38c3119d tcp_ioctl +EXPORT_SYMBOL vmlinux 0x38c90d5a __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x38c92cde unbind_con_driver +EXPORT_SYMBOL vmlinux 0x38cb584d simple_link +EXPORT_SYMBOL vmlinux 0x38d8d83e padata_alloc +EXPORT_SYMBOL vmlinux 0x38e30340 get_phy_device +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x3900fd77 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x3913edf5 pci_get_class +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393fc749 prepare_binprm +EXPORT_SYMBOL vmlinux 0x3950bcba bdput +EXPORT_SYMBOL vmlinux 0x395827f2 nobh_write_end +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39850ac3 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x39a67df0 pci_restore_state +EXPORT_SYMBOL vmlinux 0x39c3f72e blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x39c97b00 elv_add_request +EXPORT_SYMBOL vmlinux 0x39cdf63c wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x39f28790 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x39f5b56f iget5_locked +EXPORT_SYMBOL vmlinux 0x3a05c2ee dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x3a46c9dc sock_register +EXPORT_SYMBOL vmlinux 0x3a611fca file_open_root +EXPORT_SYMBOL vmlinux 0x3a795082 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3ad8702b nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x3ada7824 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x3aea17c7 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x3b0db577 km_query +EXPORT_SYMBOL vmlinux 0x3b1a786f pci_write_vpd +EXPORT_SYMBOL vmlinux 0x3b1bfad1 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x3b1dd192 scsi_print_result +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3fdb26 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x3b480169 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x3b48a82f scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x3b615a21 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x3b68cab2 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x3b7f6a2f gen_pool_create +EXPORT_SYMBOL vmlinux 0x3bb62d0e pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x3bc30f52 tc_classify +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c2293c0 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x3c359238 sk_run_filter +EXPORT_SYMBOL vmlinux 0x3c652b24 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb79884 may_umount +EXPORT_SYMBOL vmlinux 0x3cc4b0dc lg_lock_init +EXPORT_SYMBOL vmlinux 0x3ccbaf0d blk_rq_init +EXPORT_SYMBOL vmlinux 0x3ccd57ef tty_port_close +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ce5df90 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x3ceb9968 of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0x3cef0ae1 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x3d14b591 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x3d1fb232 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x3d211826 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x3d26bf26 request_key +EXPORT_SYMBOL vmlinux 0x3d470412 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x3d4a1f6c padata_stop +EXPORT_SYMBOL vmlinux 0x3d6012c7 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x3d6c3f23 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x3d811c12 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da692c3 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x3dbbba8c xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e045e10 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x3e073f4a dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x3e111e3c pci_reenable_device +EXPORT_SYMBOL vmlinux 0x3e300f12 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x3e348020 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e46f260 dev_mc_add +EXPORT_SYMBOL vmlinux 0x3e4ce2cf udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x3e5cd383 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x3e6910dc inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ed6dc63 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x3f033803 bioset_create +EXPORT_SYMBOL vmlinux 0x3f053b7f ps2_command +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f2b09f4 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f57a069 d_alloc_name +EXPORT_SYMBOL vmlinux 0x3f5b6cdd give_up_console +EXPORT_SYMBOL vmlinux 0x3f5e713b nf_hook_slow +EXPORT_SYMBOL vmlinux 0x3f66371d generic_file_llseek +EXPORT_SYMBOL vmlinux 0x3f698bb5 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x3f75eee1 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x3fb1cf71 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x3fdf49a6 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL vmlinux 0x3fe3afc2 ata_port_printk +EXPORT_SYMBOL vmlinux 0x3fec3d64 path_get +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ff8e495 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0x400107b4 generic_permission +EXPORT_SYMBOL vmlinux 0x400315c5 set_device_ro +EXPORT_SYMBOL vmlinux 0x400cfc13 arp_invalidate +EXPORT_SYMBOL vmlinux 0x4010fa60 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x4011daaa pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x404376e8 netif_napi_add +EXPORT_SYMBOL vmlinux 0x404dc65b i2c_master_send +EXPORT_SYMBOL vmlinux 0x405751a5 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x407f9f57 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a2d1dd dm_table_get_size +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d1a356 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x40d754c6 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x40f1ad10 tb_ticks_per_jiffy +EXPORT_SYMBOL vmlinux 0x40f9918c ip6_frag_init +EXPORT_SYMBOL vmlinux 0x410707cf xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x410aabc2 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x413d6373 scsi_host_put +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4153b3e4 fb_class +EXPORT_SYMBOL vmlinux 0x416b4b0c dquot_scan_active +EXPORT_SYMBOL vmlinux 0x41779437 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x41804770 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41943c8b mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x41a9c6f5 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x41af40de kernel_accept +EXPORT_SYMBOL vmlinux 0x41e9a9fc pci_disable_ido +EXPORT_SYMBOL vmlinux 0x41ed74b5 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42163c60 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x4228c239 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x423648ad skb_trim +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42903417 fput +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x431cf6d8 tty_port_put +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x4382e362 iunique +EXPORT_SYMBOL vmlinux 0x438ee646 scsi_get_command +EXPORT_SYMBOL vmlinux 0x43956a35 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0x43a01f90 complete_all +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43e4a0fb bdi_init +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x4430c75c ida_pre_get +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x443b0963 i8042_install_filter +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x44492689 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x445f65c8 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44bb81a5 account_page_redirty +EXPORT_SYMBOL vmlinux 0x44bc7867 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x44d6de29 skb_store_bits +EXPORT_SYMBOL vmlinux 0x44e24fd2 mapping_tagged +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44eb192e wait_for_completion +EXPORT_SYMBOL vmlinux 0x44ee0554 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x44eee0c6 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x454068bc xfrm_state_update +EXPORT_SYMBOL vmlinux 0x4543102b abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x455d231a sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x4596db6a sys_sigreturn +EXPORT_SYMBOL vmlinux 0x459f09eb scsi_execute_req +EXPORT_SYMBOL vmlinux 0x45a69155 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x45b85099 single_release +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45e7bf62 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x45ebdf38 add_disk +EXPORT_SYMBOL vmlinux 0x4612c59d down_trylock +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x462e0b14 pci_enable_obff +EXPORT_SYMBOL vmlinux 0x46455cc2 page_symlink +EXPORT_SYMBOL vmlinux 0x465504df setattr_copy +EXPORT_SYMBOL vmlinux 0x465757c3 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x4664699e mmc_detect_change +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x4699ba0a lease_get_mtime +EXPORT_SYMBOL vmlinux 0x46d12956 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x472b8cb7 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x473240cc dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x476ab25f md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x477553a7 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x477ac6ab iget_locked +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47b1062f __get_page_tail +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47bc32b2 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x47c6339a blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x47d94ed6 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x47dd0dc0 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x47f4a64a pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x48000553 mempool_create_node +EXPORT_SYMBOL vmlinux 0x481ce6ce cpu_active_mask +EXPORT_SYMBOL vmlinux 0x4833e01d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x48404b9a remove_wait_queue +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x484a2cc6 dev_uc_add +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4875a72a dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x4881efab pmac_get_partition +EXPORT_SYMBOL vmlinux 0x489ac958 input_set_keycode +EXPORT_SYMBOL vmlinux 0x48b13ea6 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x48b73f2d mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4914728d input_get_keycode +EXPORT_SYMBOL vmlinux 0x491940b3 of_get_parent +EXPORT_SYMBOL vmlinux 0x494429e3 md_flush_request +EXPORT_SYMBOL vmlinux 0x494b23de devm_ioremap +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x497345d0 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x499acd26 dma_direct_ops +EXPORT_SYMBOL vmlinux 0x49a12d77 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x49afff68 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49b792ef unlock_rename +EXPORT_SYMBOL vmlinux 0x49b7ccc7 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x49c4fdbb find_lock_page +EXPORT_SYMBOL vmlinux 0x49da7b8d bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x49e60d4d genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x49ec9a98 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x49f37e37 input_release_device +EXPORT_SYMBOL vmlinux 0x49f43507 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x49f5fd9a serio_reconnect +EXPORT_SYMBOL vmlinux 0x4a25a662 input_event +EXPORT_SYMBOL vmlinux 0x4a290d4d cur_cpu_spec +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a40f4de soft_cursor +EXPORT_SYMBOL vmlinux 0x4a41f633 vfs_write +EXPORT_SYMBOL vmlinux 0x4a4ddcf8 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x4a541c2b km_state_expired +EXPORT_SYMBOL vmlinux 0x4a6ea66b unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x4a81eec5 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x4a842310 journal_init_inode +EXPORT_SYMBOL vmlinux 0x4aa4231e scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x4aad683e redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4ac237ff dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x4ae7cbac journal_wipe +EXPORT_SYMBOL vmlinux 0x4af0212c journal_destroy +EXPORT_SYMBOL vmlinux 0x4af6b36a tty_check_change +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b33b5bc alloc_disk_node +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b3a2687 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b624d57 seq_release +EXPORT_SYMBOL vmlinux 0x4b7ed27b sleep_on +EXPORT_SYMBOL vmlinux 0x4b9e3092 skb_put +EXPORT_SYMBOL vmlinux 0x4be9b129 md_write_start +EXPORT_SYMBOL vmlinux 0x4bed99b3 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x4c11435a _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c272e7f nla_reserve +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c44fb30 bio_free +EXPORT_SYMBOL vmlinux 0x4c56baa1 key_alloc +EXPORT_SYMBOL vmlinux 0x4c5e106f wireless_send_event +EXPORT_SYMBOL vmlinux 0x4c67db04 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x4c8e5e78 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x4c98de9f tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce019ca bmap +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4cfa37a4 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x4d2f8a3e tcp_child_process +EXPORT_SYMBOL vmlinux 0x4d31080d textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d3c7979 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d40ae40 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d8729b5 __kfree_skb +EXPORT_SYMBOL vmlinux 0x4d8b353b tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d99fc96 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x4da73d05 twl6040_power +EXPORT_SYMBOL vmlinux 0x4da7c931 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4ddc6b0a sync_blockdev +EXPORT_SYMBOL vmlinux 0x4de67960 scsi_add_device +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4dfc73fd blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x4dfd916f block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x4dfed71c flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e84afeb generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x4e893fda vfs_unlink +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4e9e066d netdev_change_features +EXPORT_SYMBOL vmlinux 0x4ea69370 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x4eb3fbad security_mmap_file +EXPORT_SYMBOL vmlinux 0x4ecf1252 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x4edc8454 macio_release_resource +EXPORT_SYMBOL vmlinux 0x4ede7723 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x4eee58dc kernel_bind +EXPORT_SYMBOL vmlinux 0x4ef3a52b stop_tty +EXPORT_SYMBOL vmlinux 0x4f0eac52 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f307482 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3fab41 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x4f41655e tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x4f65432c pci_set_master +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f6d7c97 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x4f91dd94 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x4fa8be3e migrate_page +EXPORT_SYMBOL vmlinux 0x4fb4fb13 __d_drop +EXPORT_SYMBOL vmlinux 0x4fc3c736 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x4fd324a5 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x4fd792cf twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe78d35 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x4fe99583 atomic64_dec_if_positive +EXPORT_SYMBOL vmlinux 0x4fef85d7 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ffdec8e km_policy_expired +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50384baf vgacon_remap_base +EXPORT_SYMBOL vmlinux 0x503bc069 end_page_writeback +EXPORT_SYMBOL vmlinux 0x50408134 override_creds +EXPORT_SYMBOL vmlinux 0x50522b9a find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x506ae121 km_state_notify +EXPORT_SYMBOL vmlinux 0x506fdc39 dcb_getapp +EXPORT_SYMBOL vmlinux 0x507a7ca8 dquot_alloc +EXPORT_SYMBOL vmlinux 0x509817cf vprintk_emit +EXPORT_SYMBOL vmlinux 0x50b262f3 dev_add_pack +EXPORT_SYMBOL vmlinux 0x50b6015a dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x50be1156 dquot_enable +EXPORT_SYMBOL vmlinux 0x50c55735 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x510587c9 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x511af391 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x5143b349 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x515e24a7 flush_instruction_cache +EXPORT_SYMBOL vmlinux 0x5192a74b inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x519b0da3 finish_wait +EXPORT_SYMBOL vmlinux 0x519b8336 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x51bb2d21 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x51c93281 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x51d5d37c unregister_key_type +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x5211f9f9 sk_stream_error +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x5248bab3 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x5267ef4f blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x52685557 key_invalidate +EXPORT_SYMBOL vmlinux 0x527830ff pmac_xpram_read +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5291b183 sock_i_uid +EXPORT_SYMBOL vmlinux 0x52a6d0b6 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x52abf6ab xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e9274c cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x532c2ef5 bio_alloc +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53333bb2 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x534123a7 mmc_release_host +EXPORT_SYMBOL vmlinux 0x534d169d blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x5358e1ff user_path_create +EXPORT_SYMBOL vmlinux 0x5361b596 journal_clear_err +EXPORT_SYMBOL vmlinux 0x537238c5 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5388dc5c fb_set_cmap +EXPORT_SYMBOL vmlinux 0x538b143c dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53da1947 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x53ebab1b _outsl_ns +EXPORT_SYMBOL vmlinux 0x53fddb8a tc_classify_compat +EXPORT_SYMBOL vmlinux 0x5412c7c7 up +EXPORT_SYMBOL vmlinux 0x54168a04 do_truncate +EXPORT_SYMBOL vmlinux 0x543e1cc7 block_write_full_page +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5440346a xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x5456bc80 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x546800ca twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x547c575b __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x547f1c47 vfsmount_lock +EXPORT_SYMBOL vmlinux 0x54892e6f mount_bdev +EXPORT_SYMBOL vmlinux 0x548edf4f security_path_symlink +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54b51971 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ff06cb netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x5507859d twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x551dc3d3 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x552f6a8a iput +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x55467ede fsl_upm_find +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x55682d6d nf_setsockopt +EXPORT_SYMBOL vmlinux 0x5568c553 complete +EXPORT_SYMBOL vmlinux 0x5577ef9e udp_table +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55ca6002 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x55e3770c blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x55e4cefb bdevname +EXPORT_SYMBOL vmlinux 0x55ea753f vga_client_register +EXPORT_SYMBOL vmlinux 0x55eebf98 __destroy_inode +EXPORT_SYMBOL vmlinux 0x560e9b98 dev_notice +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x561a30c4 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x564044df inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x565c46aa tty_vhangup +EXPORT_SYMBOL vmlinux 0x565da14c mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x56666a2e inode_dio_wait +EXPORT_SYMBOL vmlinux 0x568675aa seq_bitmap +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56ba4632 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d00551 ata_print_version +EXPORT_SYMBOL vmlinux 0x56d9823c skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x5702514c input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x57146274 drop_nlink +EXPORT_SYMBOL vmlinux 0x57161e7b setup_new_exec +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x5734044d mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x573eb760 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x57448e28 consume_skb +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57646dcc abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5785384a flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x57967ba3 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x57a00eac padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x57b0a851 no_llseek +EXPORT_SYMBOL vmlinux 0x57bc87e7 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x57be27ad blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x57c46ff5 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x57f4e307 neigh_table_init +EXPORT_SYMBOL vmlinux 0x582a4747 cacheable_memcpy +EXPORT_SYMBOL vmlinux 0x582fdc37 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x58623807 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x58731542 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x58bee0d4 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x58f248ff padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x58f9be2e d_delete +EXPORT_SYMBOL vmlinux 0x592395b6 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x5934b688 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x59359de4 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x595dcc08 dquot_operations +EXPORT_SYMBOL vmlinux 0x59623fd2 skb_make_writable +EXPORT_SYMBOL vmlinux 0x596989e2 kobject_set_name +EXPORT_SYMBOL vmlinux 0x59b3378a completion_done +EXPORT_SYMBOL vmlinux 0x59d0e24c blk_put_request +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59dcaeef scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x59e419a6 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a18b5f3 bdget_disk +EXPORT_SYMBOL vmlinux 0x5a2df50b iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x5a52f0c6 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5ab5dd94 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x5ab67931 do_IRQ +EXPORT_SYMBOL vmlinux 0x5aca09ef ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x5ace752b tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x5affdb55 sk_filter +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b39988e ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x5b3fd460 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b482a73 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x5b65d561 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x5b94a773 page_address +EXPORT_SYMBOL vmlinux 0x5b9828c5 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x5b9d0da8 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x5ba0cacf dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5ba88b5b jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x5bba4eaa sock_map_fd +EXPORT_SYMBOL vmlinux 0x5bbec8ce pci_select_bars +EXPORT_SYMBOL vmlinux 0x5bd030ff tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x5c23c063 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x5c265cba sg_init_one +EXPORT_SYMBOL vmlinux 0x5c37f319 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x5c4f5a1c phy_connect_direct +EXPORT_SYMBOL vmlinux 0x5c6a613b i2c_bit_algo +EXPORT_SYMBOL vmlinux 0x5cba94d8 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x5ccabe21 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x5cd0f8a7 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x5cf1bd3a check_disk_change +EXPORT_SYMBOL vmlinux 0x5cf98073 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x5d01d891 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d1d2987 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5d5437a4 key_type_keyring +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d6bdce1 flex_array_alloc +EXPORT_SYMBOL vmlinux 0x5d9bb528 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x5d9d5b51 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x5dbbe598 find_or_create_page +EXPORT_SYMBOL vmlinux 0x5dd7f1c1 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x5e18c4fa mmc_can_reset +EXPORT_SYMBOL vmlinux 0x5e20e51c d_prune_aliases +EXPORT_SYMBOL vmlinux 0x5e3a3b9c vmtruncate +EXPORT_SYMBOL vmlinux 0x5e3a8a9c __wake_up +EXPORT_SYMBOL vmlinux 0x5e3d994a mmc_can_discard +EXPORT_SYMBOL vmlinux 0x5e3e6b59 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x5e529b19 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e6b4ac3 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x5e8cff1d journal_errno +EXPORT_SYMBOL vmlinux 0x5e92561b mmc_remove_host +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eb0401e proc_dostring +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed09e2b scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee53f41 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x5ef8d38f dma_pool_create +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f48cc05 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x5f51836f tcp_parse_options +EXPORT_SYMBOL vmlinux 0x5f5511dd sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x5f559fb3 mnt_pin +EXPORT_SYMBOL vmlinux 0x5f65bea6 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f952176 alloc_file +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fa8473a i2c_clients_command +EXPORT_SYMBOL vmlinux 0x5fbb568f dqget +EXPORT_SYMBOL vmlinux 0x5fc51094 tty_devnum +EXPORT_SYMBOL vmlinux 0x5ff5871d kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602ba4dd scsi_print_command +EXPORT_SYMBOL vmlinux 0x6046da82 bio_map_user +EXPORT_SYMBOL vmlinux 0x604aebda bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x607ba45c sock_init_data +EXPORT_SYMBOL vmlinux 0x6086fae9 rwsem_wake +EXPORT_SYMBOL vmlinux 0x60880468 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x608a4948 kthread_bind +EXPORT_SYMBOL vmlinux 0x608b24f5 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x6095576b blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x609c4f9e input_open_device +EXPORT_SYMBOL vmlinux 0x609d0d46 mntput +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x612212f4 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612ce281 registered_fb +EXPORT_SYMBOL vmlinux 0x614a2a32 mount_single +EXPORT_SYMBOL vmlinux 0x614c22a8 __register_binfmt +EXPORT_SYMBOL vmlinux 0x6150cf1c neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x61664ec6 framebuffer_release +EXPORT_SYMBOL vmlinux 0x616b825d dql_init +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x61a4c057 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x61a8c13f tcp_close +EXPORT_SYMBOL vmlinux 0x61a9b841 pci_choose_state +EXPORT_SYMBOL vmlinux 0x61addc64 d_instantiate +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bb79ec dquot_free_inode +EXPORT_SYMBOL vmlinux 0x61cf953a kfree_skb +EXPORT_SYMBOL vmlinux 0x61e708e4 kunmap_high +EXPORT_SYMBOL vmlinux 0x61eef2c9 _insb +EXPORT_SYMBOL vmlinux 0x61fbd7d1 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x6207d3c1 dev_mc_init +EXPORT_SYMBOL vmlinux 0x62096f2d abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x620aad86 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x620c60e7 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x620d2fb5 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x6215f2bb scsi_device_put +EXPORT_SYMBOL vmlinux 0x62196ff8 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622d3309 cdev_add +EXPORT_SYMBOL vmlinux 0x6238b7ee scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x623d7182 _chrp_type +EXPORT_SYMBOL vmlinux 0x62485762 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x62538167 slhc_toss +EXPORT_SYMBOL vmlinux 0x6258ff7a panic_notifier_list +EXPORT_SYMBOL vmlinux 0x625a0a67 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x625d5818 sock_i_ino +EXPORT_SYMBOL vmlinux 0x626567a7 set_page_dirty +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x628332e8 pmu_power_flags +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62c52648 xfrm_input +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x6318fbfd pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x631ce50f skb_free_datagram +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x637b66b1 may_umount_tree +EXPORT_SYMBOL vmlinux 0x638b335f mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63ba798f ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x63cd13ec do_splice_to +EXPORT_SYMBOL vmlinux 0x63cdf475 fb_pan_display +EXPORT_SYMBOL vmlinux 0x63cf994b write_one_page +EXPORT_SYMBOL vmlinux 0x63d5b4c8 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f8b4da phy_start_aneg +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x64078397 bh_submit_read +EXPORT_SYMBOL vmlinux 0x640fe7ac inode_get_bytes +EXPORT_SYMBOL vmlinux 0x64256742 seq_putc +EXPORT_SYMBOL vmlinux 0x6437d3f6 i2c_release_client +EXPORT_SYMBOL vmlinux 0x64384d0c blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x6457f24f udp_prot +EXPORT_SYMBOL vmlinux 0x646cc6ab pmu_poll +EXPORT_SYMBOL vmlinux 0x64760ef3 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x648d960f agp_bind_memory +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64cc191d pci_set_power_state +EXPORT_SYMBOL vmlinux 0x64e7e844 filp_open +EXPORT_SYMBOL vmlinux 0x650f3af5 fb_show_logo +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x6522b9ab arp_find +EXPORT_SYMBOL vmlinux 0x65400222 __irq_offset_value +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65452060 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x6551573a dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x657721fb swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x657f7251 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x6591f1d7 generic_setxattr +EXPORT_SYMBOL vmlinux 0x6598daef devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x65a1009c inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x65a16c2a pci_enable_ltr +EXPORT_SYMBOL vmlinux 0x65bb58a2 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x65c4a3e9 set_binfmt +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e961c8 mpage_writepage +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x65f7075c uart_add_one_port +EXPORT_SYMBOL vmlinux 0x65f7be35 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x660c7262 vfs_writev +EXPORT_SYMBOL vmlinux 0x661be888 skb_clone +EXPORT_SYMBOL vmlinux 0x664752a1 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x66cb4379 release_pages +EXPORT_SYMBOL vmlinux 0x66cbf14b pmac_xpram_write +EXPORT_SYMBOL vmlinux 0x66e08ed5 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x66ee5bb9 of_dev_get +EXPORT_SYMBOL vmlinux 0x66fd652e filp_close +EXPORT_SYMBOL vmlinux 0x6701ac53 md_register_thread +EXPORT_SYMBOL vmlinux 0x672a37fe mutex_trylock +EXPORT_SYMBOL vmlinux 0x6734ce96 key_link +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x675550c7 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x676223dc drop_super +EXPORT_SYMBOL vmlinux 0x67623f66 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x67717f4c ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x67a49e04 padata_do_serial +EXPORT_SYMBOL vmlinux 0x67b65408 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67d79aa3 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x67dfab0f pcim_enable_device +EXPORT_SYMBOL vmlinux 0x67f103e2 inode_init_owner +EXPORT_SYMBOL vmlinux 0x67f79eee pci_fixup_device +EXPORT_SYMBOL vmlinux 0x681eff1f skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x6834e0a6 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x6849a15f flex_array_clear +EXPORT_SYMBOL vmlinux 0x68609857 complete_and_exit +EXPORT_SYMBOL vmlinux 0x68abfdb4 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x68b6e01a dquot_disable +EXPORT_SYMBOL vmlinux 0x68df8db2 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68e0e289 idr_remove +EXPORT_SYMBOL vmlinux 0x68fdbed6 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x690a2a7f pci_remove_bus +EXPORT_SYMBOL vmlinux 0x691db4c0 unregister_console +EXPORT_SYMBOL vmlinux 0x6925568d writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x6928315d pci_disable_device +EXPORT_SYMBOL vmlinux 0x69292976 d_invalidate +EXPORT_SYMBOL vmlinux 0x693b7c26 freeze_super +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697f91fa cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b291b6 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x69b49b56 register_sysctl +EXPORT_SYMBOL vmlinux 0x69c29acd is_bad_inode +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69d7e5b8 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69f77b26 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x69f93cdc scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a1938c3 d_add_ci +EXPORT_SYMBOL vmlinux 0x6a1e7bf1 phy_driver_register +EXPORT_SYMBOL vmlinux 0x6a2b01d2 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x6a31a760 input_grab_device +EXPORT_SYMBOL vmlinux 0x6a61f874 to_tm +EXPORT_SYMBOL vmlinux 0x6a66357a netpoll_setup +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a78d419 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x6ac95b7e __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6b1765e4 nf_afinfo +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2a003c simple_open +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b393db3 pci_save_state +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b7b748e jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc8e34a __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bed5561 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c24768a gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x6c2a7fa8 datagram_poll +EXPORT_SYMBOL vmlinux 0x6c32e1f2 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x6c4ad352 __lock_page +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c665691 flex_array_shrink +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c985cf9 of_match_node +EXPORT_SYMBOL vmlinux 0x6ca1d1a4 atomic64_read +EXPORT_SYMBOL vmlinux 0x6cbaa437 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x6cc75b05 blk_start_request +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cdcfb9a blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x6ce34f18 vm_mmap +EXPORT_SYMBOL vmlinux 0x6ce84ae6 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x6cfdfde2 giveup_fpu +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d05ccf3 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d3bfb23 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x6d464175 __sg_free_table +EXPORT_SYMBOL vmlinux 0x6d6702c0 skb_queue_head +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d6d484e km_new_mapping +EXPORT_SYMBOL vmlinux 0x6d921ea5 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x6d9ebd83 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x6da928f4 _insw_ns +EXPORT_SYMBOL vmlinux 0x6dd3d9e0 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x6ddea5c4 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x6de363e7 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df39761 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x6e186f14 vc_resize +EXPORT_SYMBOL vmlinux 0x6e1e1fcf bio_phys_segments +EXPORT_SYMBOL vmlinux 0x6e3cdf08 mdiobus_free +EXPORT_SYMBOL vmlinux 0x6e5247c8 security_path_unlink +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea7d1b7 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x6eb03195 aio_complete +EXPORT_SYMBOL vmlinux 0x6eb3f7f7 journal_forget +EXPORT_SYMBOL vmlinux 0x6eb74dff proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6edf4807 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x6eeac778 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f230dd7 generic_write_sync +EXPORT_SYMBOL vmlinux 0x6f3321d8 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x6f476ea1 netdev_notice +EXPORT_SYMBOL vmlinux 0x6f4ce726 ps2_init +EXPORT_SYMBOL vmlinux 0x6fb1890c handle_edge_irq +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fff4cf8 replace_mount_options +EXPORT_SYMBOL vmlinux 0x7001bb6b cdev_del +EXPORT_SYMBOL vmlinux 0x702939dc inet_csk_accept +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x709791d6 empty_aops +EXPORT_SYMBOL vmlinux 0x70af595d bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d888b7 __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x70dd0a10 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x70f86c70 pmu_queue_request +EXPORT_SYMBOL vmlinux 0x710ae255 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x710b58d7 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713da9eb __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x714c8c25 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x71618a26 dump_seek +EXPORT_SYMBOL vmlinux 0x716dcab9 __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71752a57 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x7179d384 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x717aad87 padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x718f1781 __quota_error +EXPORT_SYMBOL vmlinux 0x71a21bee mdio_bus_type +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71a81809 free_buffer_head +EXPORT_SYMBOL vmlinux 0x71c297ee cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71d9febb bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x71ece00e fb_find_mode +EXPORT_SYMBOL vmlinux 0x71f776f4 __break_lease +EXPORT_SYMBOL vmlinux 0x720b413d write_cache_pages +EXPORT_SYMBOL vmlinux 0x720b5481 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x72186450 vm_insert_page +EXPORT_SYMBOL vmlinux 0x721eec7f security_path_mkdir +EXPORT_SYMBOL vmlinux 0x7225b7ea sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x72292bc6 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x724843de scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x724d89d1 __napi_complete +EXPORT_SYMBOL vmlinux 0x7253b4ec xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x7265549f sock_no_poll +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72c8a82d block_commit_write +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72fa45af __pskb_copy +EXPORT_SYMBOL vmlinux 0x72fdcca3 skb_insert +EXPORT_SYMBOL vmlinux 0x73002d00 __devm_release_region +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x732e0f40 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x733a0ef4 get_fs_type +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x733e9b90 dma_set_mask +EXPORT_SYMBOL vmlinux 0x7348a91e blk_complete_request +EXPORT_SYMBOL vmlinux 0x735d8503 add_wait_queue +EXPORT_SYMBOL vmlinux 0x7365d913 cdev_init +EXPORT_SYMBOL vmlinux 0x73710a3e dqstats +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x7387716b pci_enable_ido +EXPORT_SYMBOL vmlinux 0x7387932e blk_start_queue +EXPORT_SYMBOL vmlinux 0x738a9693 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x739ef72b block_truncate_page +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x7406a940 dev_printk +EXPORT_SYMBOL vmlinux 0x742bcef4 register_gifconf +EXPORT_SYMBOL vmlinux 0x743a6053 cdrom_release +EXPORT_SYMBOL vmlinux 0x743f58a9 scsi_register +EXPORT_SYMBOL vmlinux 0x7464ecb2 kset_unregister +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x746f5545 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x747c64c1 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x7486b70b inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x74921f61 inet_bind +EXPORT_SYMBOL vmlinux 0x74a7033f ps2_drain +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74cf9339 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f54088 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x74f5e7b4 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x74fa3fc4 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x74fe8730 sys_ctrler +EXPORT_SYMBOL vmlinux 0x74ffbcab dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x75107368 flush_old_exec +EXPORT_SYMBOL vmlinux 0x751c2917 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x751fa60f pci_enable_device +EXPORT_SYMBOL vmlinux 0x75268625 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x75646a74 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x7566f328 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x756dd160 start_thread +EXPORT_SYMBOL vmlinux 0x7575a09f d_alloc +EXPORT_SYMBOL vmlinux 0x75839898 journal_extend +EXPORT_SYMBOL vmlinux 0x758cae56 noop_qdisc +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x75994700 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x759a1c0c xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x75afbb62 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75c57ef8 mpage_readpage +EXPORT_SYMBOL vmlinux 0x75c75fbf scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x75d4c3d1 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x75d92834 single_open +EXPORT_SYMBOL vmlinux 0x75ff0cc0 fget +EXPORT_SYMBOL vmlinux 0x75ffbde8 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760ff0de of_create_pci_dev +EXPORT_SYMBOL vmlinux 0x762a4139 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x763ca8bc blk_register_region +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764d91d1 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x76576d2f directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x765d5777 md_error +EXPORT_SYMBOL vmlinux 0x76897885 flush_hash_entry +EXPORT_SYMBOL vmlinux 0x769ea867 lock_super +EXPORT_SYMBOL vmlinux 0x769fb3a0 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x76b32484 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c83cb7 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76e07962 idr_get_new +EXPORT_SYMBOL vmlinux 0x76f406c8 d_drop +EXPORT_SYMBOL vmlinux 0x771dfd72 journal_set_features +EXPORT_SYMBOL vmlinux 0x771fc412 textsearch_register +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x774b5b51 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x77584dca write_inode_now +EXPORT_SYMBOL vmlinux 0x775c0ed6 tty_name +EXPORT_SYMBOL vmlinux 0x7772b831 generic_write_end +EXPORT_SYMBOL vmlinux 0x777c0fb1 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x778694a2 backlight_force_update +EXPORT_SYMBOL vmlinux 0x77881b49 netdev_err +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77a38557 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x77b851c4 cacheable_memzero +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c57876 aio_put_req +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e3ddc8 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x78070a22 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x7829b8f7 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x787a203b bdev_read_only +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788bac1b mii_check_link +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x78b4f598 simple_fill_super +EXPORT_SYMBOL vmlinux 0x78c3040d blkdev_get +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e9872c __nla_put +EXPORT_SYMBOL vmlinux 0x78f42912 bdi_register +EXPORT_SYMBOL vmlinux 0x78f5a6eb blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x78fc628c tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x7908ae7d seq_open_private +EXPORT_SYMBOL vmlinux 0x790df6ca __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x791e43e5 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x79331798 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x793dfd06 dquot_release +EXPORT_SYMBOL vmlinux 0x796fa2cd blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79785231 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x79a5329b input_close_device +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ae6e58 dev_driver_string +EXPORT_SYMBOL vmlinux 0x79e5be1b phy_print_status +EXPORT_SYMBOL vmlinux 0x79fa6876 mmc_add_host +EXPORT_SYMBOL vmlinux 0x7a192415 lookup_one_len +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a954578 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x7aa54953 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abc3385 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x7ac52ba2 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x7ad6ef09 sock_no_connect +EXPORT_SYMBOL vmlinux 0x7ad83e18 input_free_device +EXPORT_SYMBOL vmlinux 0x7ae7a98c mutex_unlock +EXPORT_SYMBOL vmlinux 0x7afa89fc vsnprintf +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b25c456 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x7b36afad mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x7b484d75 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x7b538aa2 wake_up_process +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b63539d splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x7b6da369 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x7b823587 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x7bd2e097 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x7be4827c pci_dram_offset +EXPORT_SYMBOL vmlinux 0x7c003aef _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c333383 dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c5f3428 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x7c600c2c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c846b7b blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9291d1 csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x7c98845d twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7ca341af kernel_thread +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cb3e493 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x7cdf48fa clear_inode +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d2292d5 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x7d386175 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x7d3fce92 tty_write_room +EXPORT_SYMBOL vmlinux 0x7d7f5fc6 ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x7d8993d9 kill_litter_super +EXPORT_SYMBOL vmlinux 0x7d9cee15 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x7dc97879 rtas_get_error_log_max +EXPORT_SYMBOL vmlinux 0x7dcbb9af padata_do_parallel +EXPORT_SYMBOL vmlinux 0x7dd9fc7b lock_sock_fast +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df6c435 scsi_finish_command +EXPORT_SYMBOL vmlinux 0x7e07a9ce pipe_to_file +EXPORT_SYMBOL vmlinux 0x7e320703 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e4ac366 of_device_alloc +EXPORT_SYMBOL vmlinux 0x7e778959 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x7e87227e slhc_compress +EXPORT_SYMBOL vmlinux 0x7e8c08e3 dm_put_device +EXPORT_SYMBOL vmlinux 0x7e990174 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x7ec8befe mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x7ecec5a0 key_validate +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7ee9961f sock_wmalloc +EXPORT_SYMBOL vmlinux 0x7f0fab79 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f25180d blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x7f346491 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x7f47ede0 km_report +EXPORT_SYMBOL vmlinux 0x7f7fae4a __dquot_transfer +EXPORT_SYMBOL vmlinux 0x7fe55e2e udplite_prot +EXPORT_SYMBOL vmlinux 0x7ffaf02d follow_down_one +EXPORT_SYMBOL vmlinux 0x8024b22f mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x8040365b sock_sendmsg +EXPORT_SYMBOL vmlinux 0x80577f61 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x808ada8e inet_sendpage +EXPORT_SYMBOL vmlinux 0x80a6622a bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x80bb4a04 sock_release +EXPORT_SYMBOL vmlinux 0x81206b0f ppp_input +EXPORT_SYMBOL vmlinux 0x812f6e19 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x814aac55 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x81519c28 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x81819480 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x81a07f4e _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x81b4f1a6 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x81bf3dc3 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81f5f6f6 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x826a84c9 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x828afdbb __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b0c1a1 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x82cab670 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x82de20da inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x82fe81c1 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x830f109b security_path_chmod +EXPORT_SYMBOL vmlinux 0x832cd229 set_nlink +EXPORT_SYMBOL vmlinux 0x83333f4c generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x834d665c d_set_d_op +EXPORT_SYMBOL vmlinux 0x835744ec kill_fasync +EXPORT_SYMBOL vmlinux 0x835a00ec pci_request_region +EXPORT_SYMBOL vmlinux 0x83826900 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83b89e71 module_refcount +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83e96b8c fsync_bdev +EXPORT_SYMBOL vmlinux 0x83e9d5d0 arp_create +EXPORT_SYMBOL vmlinux 0x83f772c1 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x840b66b9 macio_dev_get +EXPORT_SYMBOL vmlinux 0x840f19d8 phy_device_free +EXPORT_SYMBOL vmlinux 0x841f6671 skb_seq_read +EXPORT_SYMBOL vmlinux 0x844404cf ISA_DMA_THRESHOLD +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x84814a97 find_inode_number +EXPORT_SYMBOL vmlinux 0x84aa7b50 agp_enable +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84bbd255 mmc_erase +EXPORT_SYMBOL vmlinux 0x84bd69bf dq_data_lock +EXPORT_SYMBOL vmlinux 0x84c5c6df locks_delete_block +EXPORT_SYMBOL vmlinux 0x84d1264e inet_stream_ops +EXPORT_SYMBOL vmlinux 0x84f20a00 nla_put +EXPORT_SYMBOL vmlinux 0x851f3d8b dev_trans_start +EXPORT_SYMBOL vmlinux 0x8541bccc intercept_table +EXPORT_SYMBOL vmlinux 0x8545d4e2 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8571f773 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x857a91c6 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x8588b42e mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x85974d06 kthread_stop +EXPORT_SYMBOL vmlinux 0x85aa7cd5 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85d4431c tty_kref_put +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x85fdb93c mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8659233c blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x866613ed ppc_md +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8698656d twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x8699f377 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86e8279c fsl_lbc_ctrl_dev +EXPORT_SYMBOL vmlinux 0x86ef5f42 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872ff074 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x87828588 ether_setup +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x878e032d kernel_sendpage +EXPORT_SYMBOL vmlinux 0x87901173 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x879b503d serio_rescan +EXPORT_SYMBOL vmlinux 0x87ad838e agp_free_page_array +EXPORT_SYMBOL vmlinux 0x87dd441f bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0x87e0657f blk_get_queue +EXPORT_SYMBOL vmlinux 0x87e58778 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x87e81403 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x8845d01e remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x8897cfa1 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x889b18a0 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x88a359db ping_prot +EXPORT_SYMBOL vmlinux 0x88b7e2cf generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x88bcab9d mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x88fe7149 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x8916c2fb neigh_update +EXPORT_SYMBOL vmlinux 0x891fbb10 mempool_destroy +EXPORT_SYMBOL vmlinux 0x8921c04f netdev_state_change +EXPORT_SYMBOL vmlinux 0x89398371 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x893c925b unlock_super +EXPORT_SYMBOL vmlinux 0x893fea32 put_tty_driver +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89797060 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x897bdb89 register_console +EXPORT_SYMBOL vmlinux 0x897c4bea have_submounts +EXPORT_SYMBOL vmlinux 0x897f061d downgrade_write +EXPORT_SYMBOL vmlinux 0x898748fc unlock_page +EXPORT_SYMBOL vmlinux 0x8993a9ce pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x89b3107b isa_mem_base +EXPORT_SYMBOL vmlinux 0x89c903e7 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x89cea273 cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d63ae6 netdev_printk +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89f70e05 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x8a166a14 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x8a18f90b iterate_mounts +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a442ce7 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a713d92 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a807c8d clear_user_page +EXPORT_SYMBOL vmlinux 0x8a95a87a ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aabe730 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x8ab4079e atomic64_add +EXPORT_SYMBOL vmlinux 0x8abb7db5 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x8ac153b1 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8ae3532e __dev_printk +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b2ba5a4 __bread +EXPORT_SYMBOL vmlinux 0x8b3e5bcb scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x8b420525 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x8b53aac3 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b83d6fd ata_link_printk +EXPORT_SYMBOL vmlinux 0x8bbb1636 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x8bcd1018 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c07c80b file_remove_suid +EXPORT_SYMBOL vmlinux 0x8c0c99a9 kill_anon_super +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c51a717 kern_path +EXPORT_SYMBOL vmlinux 0x8c5b1bf8 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c960a72 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x8cbc90c7 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cf3a762 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x8cfffb58 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x8d21d359 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x8d4635ea init_task +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5a6e2e dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x8d6bc95c inet_shutdown +EXPORT_SYMBOL vmlinux 0x8d78c1f6 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x8d8b6e69 misc_deregister +EXPORT_SYMBOL vmlinux 0x8da527c2 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x8da84853 kill_pid +EXPORT_SYMBOL vmlinux 0x8dc10bcf blk_init_queue +EXPORT_SYMBOL vmlinux 0x8dcd8b7e input_allocate_device +EXPORT_SYMBOL vmlinux 0x8dd7addc dst_discard +EXPORT_SYMBOL vmlinux 0x8de0b5ac mempool_create +EXPORT_SYMBOL vmlinux 0x8dea8539 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x8df5da63 memstart_addr +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e13162b alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x8e1d7cd1 try_module_get +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e312548 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x8e399758 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x8e63350d idr_replace +EXPORT_SYMBOL vmlinux 0x8ea4cf1a __put_cred +EXPORT_SYMBOL vmlinux 0x8eaea1a7 simple_lookup +EXPORT_SYMBOL vmlinux 0x8ec04552 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x8ed67a89 netif_device_attach +EXPORT_SYMBOL vmlinux 0x8eec4156 dst_alloc +EXPORT_SYMBOL vmlinux 0x8f049598 dev_open +EXPORT_SYMBOL vmlinux 0x8f12f474 uart_resume_port +EXPORT_SYMBOL vmlinux 0x8f282e9a dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x8f33bc7f agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f609aad register_con_driver +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f85f835 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x8f9eaba6 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x8fafc6f0 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x8fb34081 udp_proc_register +EXPORT_SYMBOL vmlinux 0x8fbf37e0 profile_pc +EXPORT_SYMBOL vmlinux 0x8fd5e8a8 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x903f6ffb eth_header_parse +EXPORT_SYMBOL vmlinux 0x90457306 mnt_unpin +EXPORT_SYMBOL vmlinux 0x90501868 transfer_to_handler +EXPORT_SYMBOL vmlinux 0x90752a0e jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x907c5aeb __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x908d8592 vfs_link +EXPORT_SYMBOL vmlinux 0x909136cb i2c_del_driver +EXPORT_SYMBOL vmlinux 0x909f393f make_bad_inode +EXPORT_SYMBOL vmlinux 0x90b0eaee input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90d58409 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x90e146c2 trace_seq_putc +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x9160dd35 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x91621d6a allocate_resource +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x9177be1f __brelse +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x91b0982b writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x91d5000b journal_check_available_features +EXPORT_SYMBOL vmlinux 0x91d88e48 __debugger_dabr_match +EXPORT_SYMBOL vmlinux 0x91f5b9a5 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x928dc8b5 rename_lock +EXPORT_SYMBOL vmlinux 0x9292bb5e jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x92a2c46d ida_get_new +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92ca95ee dcb_setapp +EXPORT_SYMBOL vmlinux 0x92da147e skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x92fc131f km_policy_notify +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9306087a ab3100_event_register +EXPORT_SYMBOL vmlinux 0x9309de94 cuda_request +EXPORT_SYMBOL vmlinux 0x930b07c9 init_special_inode +EXPORT_SYMBOL vmlinux 0x93112887 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x9330cb9f sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9336cb98 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x93588281 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x937edb9b loop_register_transfer +EXPORT_SYMBOL vmlinux 0x938f4ff6 __get_user_pages +EXPORT_SYMBOL vmlinux 0x93a4bfa1 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93f59635 netlink_set_err +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x940e7b39 register_md_personality +EXPORT_SYMBOL vmlinux 0x940f2916 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x946b8ab7 kobject_put +EXPORT_SYMBOL vmlinux 0x9479c060 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x948b64d7 key_put +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94c2eebe netdev_update_features +EXPORT_SYMBOL vmlinux 0x94cbd061 dql_reset +EXPORT_SYMBOL vmlinux 0x94cf6bda mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x94fc43fe scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x9502af3f rtnl_create_link +EXPORT_SYMBOL vmlinux 0x9506ac2f bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x950795eb security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9524b0ae _outsb +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x9566a94e set_blocksize +EXPORT_SYMBOL vmlinux 0x9599f7f2 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x959d935f max8998_write_reg +EXPORT_SYMBOL vmlinux 0x95bd1ce8 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x95cbff35 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x95edf228 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x960862ce arp_send +EXPORT_SYMBOL vmlinux 0x961bd4b6 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x9637440b net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x96441ba8 generic_removexattr +EXPORT_SYMBOL vmlinux 0x9654aba2 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x965edda8 of_device_is_available +EXPORT_SYMBOL vmlinux 0x96723d4d generic_file_open +EXPORT_SYMBOL vmlinux 0x9682b310 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x969f30d9 page_put_link +EXPORT_SYMBOL vmlinux 0x96b1a343 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x96b20486 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x96b5036e softnet_data +EXPORT_SYMBOL vmlinux 0x96bab1b5 inet_select_addr +EXPORT_SYMBOL vmlinux 0x96c21350 pci_match_id +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d2ab2d dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x96dbcca2 ioremap_prot +EXPORT_SYMBOL vmlinux 0x96e71c5c inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x9704e93a ida_get_new_above +EXPORT_SYMBOL vmlinux 0x97087091 _dev_info +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x9740a24a init_net +EXPORT_SYMBOL vmlinux 0x97482bc0 pci_get_slot +EXPORT_SYMBOL vmlinux 0x9748927f _outsw_ns +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9757c483 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x97699b23 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x976aae52 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x977a5857 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x977af772 tcp_check_req +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x9799e110 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x979ed97b tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x97ac939e genphy_suspend +EXPORT_SYMBOL vmlinux 0x97b08ec6 vm_map_ram +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x97c5cd8f generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x97d537ab of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x97f6e045 d_find_alias +EXPORT_SYMBOL vmlinux 0x97f7d636 skb_unlink +EXPORT_SYMBOL vmlinux 0x98001ead netif_carrier_off +EXPORT_SYMBOL vmlinux 0x9804df68 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x982bf3bc notify_change +EXPORT_SYMBOL vmlinux 0x9848d66d kick_iocb +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9873d321 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x987610ff mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x987bc449 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x987f4338 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x9887e54b simple_write_begin +EXPORT_SYMBOL vmlinux 0x9894f9f2 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x98a1ad50 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x98ded595 usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x98e20821 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x98eca773 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x98fe7882 DMA_MODE_READ +EXPORT_SYMBOL vmlinux 0x990fd527 pci_find_capability +EXPORT_SYMBOL vmlinux 0x99199f02 __invalidate_device +EXPORT_SYMBOL vmlinux 0x992a60d6 f_setown +EXPORT_SYMBOL vmlinux 0x992da866 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x997605c6 vfs_llseek +EXPORT_SYMBOL vmlinux 0x997c4e40 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x998cb170 register_exec_domain +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a856e4 get_super +EXPORT_SYMBOL vmlinux 0x99afe916 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99da5170 generic_fillattr +EXPORT_SYMBOL vmlinux 0x99f17d4c pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a252bf6 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x9a383e28 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x9a626734 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x9a7facd3 __sock_create +EXPORT_SYMBOL vmlinux 0x9acdfd72 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x9acf6b81 d_path +EXPORT_SYMBOL vmlinux 0x9ae44bb0 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x9ae72e64 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x9b0c6adc filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x9b28c479 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b3b5542 save_mount_options +EXPORT_SYMBOL vmlinux 0x9b423617 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b89b887 truncate_setsize +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bb64b96 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x9bc11ad9 poll_freewait +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bee7efe dquot_commit +EXPORT_SYMBOL vmlinux 0x9c041072 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c70d089 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x9c7d1254 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc68782 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x9cdef038 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL vmlinux 0x9ce9ea79 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d1a586f __frontswap_store +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d500c21 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d695e78 dump_write +EXPORT_SYMBOL vmlinux 0x9d786943 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x9d7ce8dd _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x9d97dc25 register_filesystem +EXPORT_SYMBOL vmlinux 0x9d9c9597 idr_init +EXPORT_SYMBOL vmlinux 0x9da1ba31 simple_setattr +EXPORT_SYMBOL vmlinux 0x9dbbc0ff tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x9dcf0054 serio_interrupt +EXPORT_SYMBOL vmlinux 0x9dddd8c5 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0x9df4b7f2 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e172834 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x9e1cfc90 ioremap_wc +EXPORT_SYMBOL vmlinux 0x9e1d4930 sk_free +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e272451 skb_pull +EXPORT_SYMBOL vmlinux 0x9e45d39f mach_chrp +EXPORT_SYMBOL vmlinux 0x9e4ab99a pci_target_state +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e510a4e bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e672ff6 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9eac303d tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x9ed5826b pci_map_rom +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9effb1e4 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x9f03519a mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x9f0845b5 dev_close +EXPORT_SYMBOL vmlinux 0x9f148256 mmc_request_done +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f548af5 napi_get_frags +EXPORT_SYMBOL vmlinux 0x9f5e3536 tty_throttle +EXPORT_SYMBOL vmlinux 0x9f602aa3 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fbe6e53 sock_update_classid +EXPORT_SYMBOL vmlinux 0x9fd279ff of_n_size_cells +EXPORT_SYMBOL vmlinux 0x9fd3088f md_done_sync +EXPORT_SYMBOL vmlinux 0x9fd84169 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9ff9f96d kern_path_create +EXPORT_SYMBOL vmlinux 0xa02e72b2 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0519455 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xa057a2a0 dquot_transfer +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa07ed854 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xa0ae1013 request_key_async +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b0de76 mmc_fixup_device +EXPORT_SYMBOL vmlinux 0xa0bc0730 netif_device_detach +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d0260f scsi_register_interface +EXPORT_SYMBOL vmlinux 0xa0dc237f get_write_access +EXPORT_SYMBOL vmlinux 0xa0ebfda8 iget_failed +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1122b80 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa137ac8f inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa14ae076 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa16ccd83 put_io_context +EXPORT_SYMBOL vmlinux 0xa17cb404 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c4b6d2 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1c99385 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xa1f8fe75 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xa1fd28b1 irq_set_chip +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa20d7f89 files_lglock +EXPORT_SYMBOL vmlinux 0xa21027ce genl_notify +EXPORT_SYMBOL vmlinux 0xa21131c4 macio_release_resources +EXPORT_SYMBOL vmlinux 0xa21ffa1a macio_dev_put +EXPORT_SYMBOL vmlinux 0xa23c595c i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xa2413b01 find_get_page +EXPORT_SYMBOL vmlinux 0xa24eff69 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa2569da6 locks_init_lock +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa28a1f39 request_firmware +EXPORT_SYMBOL vmlinux 0xa291539e max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xa2959e6c of_phy_find_device +EXPORT_SYMBOL vmlinux 0xa298cd75 skb_dequeue +EXPORT_SYMBOL vmlinux 0xa29f8431 mem_map +EXPORT_SYMBOL vmlinux 0xa2a02bc0 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ab732d pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xa2bb5924 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2cdd5b7 d_rehash +EXPORT_SYMBOL vmlinux 0xa2cf4c85 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xa2d183f4 vc_cons +EXPORT_SYMBOL vmlinux 0xa2d9e764 scsi_register_driver +EXPORT_SYMBOL vmlinux 0xa2dc5981 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa2f93a4f kobject_del +EXPORT_SYMBOL vmlinux 0xa303d1ff dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xa317d29e scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xa322a099 load_nls_default +EXPORT_SYMBOL vmlinux 0xa32e7623 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa344db46 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xa34efd4b md_unregister_thread +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa36bad95 dma_find_channel +EXPORT_SYMBOL vmlinux 0xa382a534 lock_may_read +EXPORT_SYMBOL vmlinux 0xa38e691a ioremap_bot +EXPORT_SYMBOL vmlinux 0xa390f2f6 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3abc422 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xa3b27403 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xa3b48268 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xa3b68aa6 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xa3b9a890 release_firmware +EXPORT_SYMBOL vmlinux 0xa3e75545 flush_tlb_kernel_range +EXPORT_SYMBOL vmlinux 0xa3f3316d jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xa422c29b input_inject_event +EXPORT_SYMBOL vmlinux 0xa4272cad __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xa4312f60 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xa432e825 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa4503cfb macio_enable_devres +EXPORT_SYMBOL vmlinux 0xa46ac24d inode_change_ok +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa484b1d0 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xa48a4e78 neigh_create +EXPORT_SYMBOL vmlinux 0xa4936896 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xa4a94d26 find_next_bit_le +EXPORT_SYMBOL vmlinux 0xa4a9e311 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c03ec1 sk_common_release +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4e51a16 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xa50fae31 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xa52844e0 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xa52fa391 __alloc_skb +EXPORT_SYMBOL vmlinux 0xa5584e80 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa59059b5 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a633b9 sg_last +EXPORT_SYMBOL vmlinux 0xa5b8adc3 load_nls +EXPORT_SYMBOL vmlinux 0xa5bfc133 tcp_connect +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa5d52b50 gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0xa5fa6bf6 d_move +EXPORT_SYMBOL vmlinux 0xa60ee1fb i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xa652c4ef __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa67eb3f4 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6b189f2 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xa6bf60b4 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0xa6c5822b posix_test_lock +EXPORT_SYMBOL vmlinux 0xa6ce9481 simple_statfs +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa7186d6d scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xa720678c lg_global_lock +EXPORT_SYMBOL vmlinux 0xa7529c71 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xa75b586c simple_transaction_read +EXPORT_SYMBOL vmlinux 0xa76c9d4c blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0xa770410f tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xa784f31b dentry_open +EXPORT_SYMBOL vmlinux 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xa7b656f3 dev_warn +EXPORT_SYMBOL vmlinux 0xa7c11bf9 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xa7d29e71 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0xa7e240b3 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xa8157b51 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xa81f3378 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa822aa0e tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa826172e serio_unregister_port +EXPORT_SYMBOL vmlinux 0xa82b8b97 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xa8321249 sock_no_listen +EXPORT_SYMBOL vmlinux 0xa8331bea pci_disable_msix +EXPORT_SYMBOL vmlinux 0xa861ab6e __ioremap +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa885d9ee __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xa88684d3 phy_attach +EXPORT_SYMBOL vmlinux 0xa88dfbaa read_cache_page +EXPORT_SYMBOL vmlinux 0xa88ef97f freezing_slow_path +EXPORT_SYMBOL vmlinux 0xa89464b7 __ashldi3 +EXPORT_SYMBOL vmlinux 0xa8ac9c2b phy_register_fixup +EXPORT_SYMBOL vmlinux 0xa8bf50b1 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0xa8c7df9b swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xa8d27e14 agp_copy_info +EXPORT_SYMBOL vmlinux 0xa8d2ca4b security_path_rmdir +EXPORT_SYMBOL vmlinux 0xa8e809b3 mb_cache_create +EXPORT_SYMBOL vmlinux 0xa8fb26c7 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa917be03 file_sb_list_del +EXPORT_SYMBOL vmlinux 0xa920d8e7 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa921c0fe tcf_hash_release +EXPORT_SYMBOL vmlinux 0xa92cc6e3 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xa94fab1f fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xa9549ede mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xa95572a7 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xa9571d6d DMA_MODE_WRITE +EXPORT_SYMBOL vmlinux 0xa95e8282 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xa9674fe8 nobh_writepage +EXPORT_SYMBOL vmlinux 0xa99218c6 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xa9934feb nf_log_register +EXPORT_SYMBOL vmlinux 0xa9b1ba61 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xa9b24f24 set_bdi_congested +EXPORT_SYMBOL vmlinux 0xa9b79c0f insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xa9cc3592 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xa9effda5 __first_cpu +EXPORT_SYMBOL vmlinux 0xaa156b9d bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xaa1c17d6 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xaa1d22e7 netif_skb_features +EXPORT_SYMBOL vmlinux 0xaa3eb54e __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xaa3fc1e3 input_register_handler +EXPORT_SYMBOL vmlinux 0xaa46e87e lg_local_unlock +EXPORT_SYMBOL vmlinux 0xaa496107 tcf_register_action +EXPORT_SYMBOL vmlinux 0xaa4df512 pmu_batteries +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6b526c register_nls +EXPORT_SYMBOL vmlinux 0xaa6e4df5 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaa96be4d path_put +EXPORT_SYMBOL vmlinux 0xaaa41688 module_layout +EXPORT_SYMBOL vmlinux 0xaaac36fb lookup_hash +EXPORT_SYMBOL vmlinux 0xaab0e85d skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaabed210 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xaacfa915 __nla_reserve +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab07f4be jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xab158554 bdi_destroy +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab333f32 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xab412540 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab726f6f generic_setlease +EXPORT_SYMBOL vmlinux 0xab73d30b inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xabca4bba skb_gso_segment +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd8a4fa proc_mkdir +EXPORT_SYMBOL vmlinux 0xabecf146 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xabf106ae bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xabfc85ee security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xabfee8ca elv_unregister_queue +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac24ab6f udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xac26b820 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xac39e23a __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xac3c2e86 module_put +EXPORT_SYMBOL vmlinux 0xac427f76 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xac567d28 mount_subtree +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac6ba0cf dev_load +EXPORT_SYMBOL vmlinux 0xac719e32 security_path_truncate +EXPORT_SYMBOL vmlinux 0xac8aee70 input_unregister_device +EXPORT_SYMBOL vmlinux 0xac8bcc06 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xaca4d1ca sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xacaa9741 dput +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacda715f netdev_alert +EXPORT_SYMBOL vmlinux 0xace519fd sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xacee606d flush_tlb_mm +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad05aab1 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xad0a6e0a flex_array_prealloc +EXPORT_SYMBOL vmlinux 0xad20f088 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad50cebb i8253_lock +EXPORT_SYMBOL vmlinux 0xad5ac36f mii_link_ok +EXPORT_SYMBOL vmlinux 0xad64953d neigh_lookup +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad853b30 agp_create_memory +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadbcb633 of_match_device +EXPORT_SYMBOL vmlinux 0xadc226f4 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xadd1e971 alignment_exception +EXPORT_SYMBOL vmlinux 0xaddd4770 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xadfede7a filemap_flush +EXPORT_SYMBOL vmlinux 0xae1c7ced journal_stop +EXPORT_SYMBOL vmlinux 0xae1f2b63 dev_change_flags +EXPORT_SYMBOL vmlinux 0xae3a96a3 flush_signals +EXPORT_SYMBOL vmlinux 0xae45ace8 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xae472d00 dev_mc_del +EXPORT_SYMBOL vmlinux 0xae545f06 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae7d87a9 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xae8d2fcc simple_transaction_set +EXPORT_SYMBOL vmlinux 0xae93ac09 __blk_end_request +EXPORT_SYMBOL vmlinux 0xae9bb3b3 force_sig +EXPORT_SYMBOL vmlinux 0xaebbcdf5 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xaec4700d end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaee92b97 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xaf030dd9 journal_load +EXPORT_SYMBOL vmlinux 0xaf063510 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xaf1eda5d tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xaf2d872c prepare_to_wait +EXPORT_SYMBOL vmlinux 0xaf34bda5 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xaf3776ea nf_log_unregister +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf5f7994 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xaf69c9f4 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xaf750d0f pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xaf8fdbe5 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xaf953958 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xaf9970ae kern_unmount +EXPORT_SYMBOL vmlinux 0xafd68c33 flex_array_free +EXPORT_SYMBOL vmlinux 0xafddbd46 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xafe521a0 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xaffed687 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xafff3d1d mempool_alloc +EXPORT_SYMBOL vmlinux 0xb00c1883 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xb00e1698 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xb01bd9bd dentry_path_raw +EXPORT_SYMBOL vmlinux 0xb05c12c7 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0b04963 kmem_cache_size +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0b86c62 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0eb4ffc nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xb0ece235 scsi_put_command +EXPORT_SYMBOL vmlinux 0xb0f350af kmap_high +EXPORT_SYMBOL vmlinux 0xb0f5a3fe alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xb0f75368 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xb0fbfe57 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xb1183c0d phy_disconnect +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb15ffb7c kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xb16a5c0b ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xb1766a3d noop_llseek +EXPORT_SYMBOL vmlinux 0xb17f2add sk_reset_txq +EXPORT_SYMBOL vmlinux 0xb181aa64 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xb1941d5e skb_pad +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1a000b7 led_blink_set +EXPORT_SYMBOL vmlinux 0xb1b1a029 netif_rx +EXPORT_SYMBOL vmlinux 0xb1be9336 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c6e787 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb20b7043 bdget +EXPORT_SYMBOL vmlinux 0xb20e21ec phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xb225626a inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xb233762c atomic64_set +EXPORT_SYMBOL vmlinux 0xb2406ec0 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xb244e4e2 __netif_schedule +EXPORT_SYMBOL vmlinux 0xb24b7b1f simple_transaction_release +EXPORT_SYMBOL vmlinux 0xb24bf283 of_get_next_child +EXPORT_SYMBOL vmlinux 0xb24c2db9 idr_get_new_above +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb28a2df0 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xb28e79e2 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xb297c264 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xb2ab4865 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e4f4ae i2c_master_recv +EXPORT_SYMBOL vmlinux 0xb2eb7f9e xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xb2f8d5d2 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xb30000bf ip6_route_output +EXPORT_SYMBOL vmlinux 0xb31526ee sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xb3245458 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb35cc7db generic_read_dir +EXPORT_SYMBOL vmlinux 0xb3777d5a jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xb3d054ca dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xb3f384d7 tty_register_device +EXPORT_SYMBOL vmlinux 0xb3f46680 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xb40a4a83 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xb41470c1 put_page +EXPORT_SYMBOL vmlinux 0xb414799e xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb44858d9 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xb44c5fa9 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb47243f7 agp_free_memory +EXPORT_SYMBOL vmlinux 0xb4875ff4 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xb4b04376 seq_printf +EXPORT_SYMBOL vmlinux 0xb4c2239e tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xb4fe33fc gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xb53a4336 kmap_pte +EXPORT_SYMBOL vmlinux 0xb53d8d4e I_BDEV +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb55be881 lock_rename +EXPORT_SYMBOL vmlinux 0xb55e1fe9 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xb562a517 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b32122 nf_register_hook +EXPORT_SYMBOL vmlinux 0xb5c1ad60 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xb5d9454c printk_emit +EXPORT_SYMBOL vmlinux 0xb6124ffc uart_match_port +EXPORT_SYMBOL vmlinux 0xb62f6988 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xb640fce4 unregister_netdev +EXPORT_SYMBOL vmlinux 0xb64b7791 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xb6599b9a machine_check_exception +EXPORT_SYMBOL vmlinux 0xb6733d74 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xb6733ddf skb_find_text +EXPORT_SYMBOL vmlinux 0xb677433e blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b92193 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xb6c1a872 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6d19ad9 __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0xb70444b4 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xb7332ff0 adb_client_list +EXPORT_SYMBOL vmlinux 0xb7378808 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xb7384bec pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xb753bcc8 __ashrdi3 +EXPORT_SYMBOL vmlinux 0xb75a0969 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0xb7672876 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xb777244b ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xb7a99781 __irq_regs +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7bf9d92 rt6_lookup +EXPORT_SYMBOL vmlinux 0xb7db8767 d_lookup +EXPORT_SYMBOL vmlinux 0xb812bde7 journal_start +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb824034c ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xb824c375 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xb82c3008 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb857da73 ida_destroy +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb886e9a7 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xb88d223b phy_detach +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8add2c0 follow_up +EXPORT_SYMBOL vmlinux 0xb8b52e14 arp_tbl +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb9015841 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb925a941 __pagevec_release +EXPORT_SYMBOL vmlinux 0xb935f0a1 redraw_screen +EXPORT_SYMBOL vmlinux 0xb972c0b3 fail_migrate_page +EXPORT_SYMBOL vmlinux 0xb9886813 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9a48198 of_find_matching_node +EXPORT_SYMBOL vmlinux 0xb9c472b6 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xb9eb78ff bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xb9f00369 skb_append +EXPORT_SYMBOL vmlinux 0xba2a1c60 cdev_alloc +EXPORT_SYMBOL vmlinux 0xba2fb46b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba58f43e sock_no_getname +EXPORT_SYMBOL vmlinux 0xba6a9132 cap_mmap_file +EXPORT_SYMBOL vmlinux 0xba982024 build_skb +EXPORT_SYMBOL vmlinux 0xbae1b92d scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xbae86a5c __dst_free +EXPORT_SYMBOL vmlinux 0xbb0d7a40 agp_bridge +EXPORT_SYMBOL vmlinux 0xbb0da484 padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0xbb0f4266 current_fs_time +EXPORT_SYMBOL vmlinux 0xbb1851b0 set_disk_ro +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb2252e0 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xbb228ee6 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xbb252c38 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb70806d ip_options_compile +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbb9f6621 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xbbfd7c27 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xbc094b2b alloc_disk +EXPORT_SYMBOL vmlinux 0xbc1dc851 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xbc2629ee unregister_md_personality +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc3f6afa down_read +EXPORT_SYMBOL vmlinux 0xbc520d40 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xbc539db7 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xbc5f411a key_unlink +EXPORT_SYMBOL vmlinux 0xbc6e33c6 agp_generic_enable +EXPORT_SYMBOL vmlinux 0xbc6ec752 nonseekable_open +EXPORT_SYMBOL vmlinux 0xbc897219 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xbc952263 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xbc9ca181 journal_ack_err +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccdc2f6 flex_array_put +EXPORT_SYMBOL vmlinux 0xbcd9c4ae __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xbcf6e7cb pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xbcfc5fa5 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xbcffe639 idr_pre_get +EXPORT_SYMBOL vmlinux 0xbd1bb1f3 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xbd2dd56e eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xbd4459c3 inode_dio_done +EXPORT_SYMBOL vmlinux 0xbd61a34f writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xbd79bd91 d_splice_alias +EXPORT_SYMBOL vmlinux 0xbd803510 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xbd808860 netif_rx_ni +EXPORT_SYMBOL vmlinux 0xbd865c78 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xbd8d541d flush_hash_pages +EXPORT_SYMBOL vmlinux 0xbd8d7d62 register_key_type +EXPORT_SYMBOL vmlinux 0xbd9e5d49 __lshrdi3 +EXPORT_SYMBOL vmlinux 0xbdadc5bd dev_alert +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdd1df42 netif_napi_del +EXPORT_SYMBOL vmlinux 0xbde089de skb_queue_tail +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe1b02b9 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe4080e7 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xbe415fee mfd_add_devices +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe66fb7b devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xbe6f064d idr_for_each +EXPORT_SYMBOL vmlinux 0xbe77aebe down_write_trylock +EXPORT_SYMBOL vmlinux 0xbe7edfae tty_shutdown +EXPORT_SYMBOL vmlinux 0xbed467bf sock_create_kern +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbeef2675 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf010ec4 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xbf013a76 update_region +EXPORT_SYMBOL vmlinux 0xbf33b342 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xbf560225 journal_update_format +EXPORT_SYMBOL vmlinux 0xbf7ab170 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9837fa vfs_read +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa97c34 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xbfb8b0b7 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xbfbcef40 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfd6bc81 netlink_ack +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfe9b6a2 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc018632b scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xc029c59d clear_nlink +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc05e5976 dev_emerg +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07d720e mac_find_mode +EXPORT_SYMBOL vmlinux 0xc07fbd62 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc08ca7b0 kill_pgrp +EXPORT_SYMBOL vmlinux 0xc094a423 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0c021f5 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xc0d08be3 journal_flush +EXPORT_SYMBOL vmlinux 0xc0d84ced cuda_poll +EXPORT_SYMBOL vmlinux 0xc0dbd48d kernel_getsockname +EXPORT_SYMBOL vmlinux 0xc0e204b8 names_cachep +EXPORT_SYMBOL vmlinux 0xc0f33881 sk_wait_data +EXPORT_SYMBOL vmlinux 0xc112871a account_page_writeback +EXPORT_SYMBOL vmlinux 0xc118e14f dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc140cfeb get_gendisk +EXPORT_SYMBOL vmlinux 0xc1413a1a security_path_link +EXPORT_SYMBOL vmlinux 0xc14467ce cad_pid +EXPORT_SYMBOL vmlinux 0xc166d5d4 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc1716fac mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1dd4a7f adb_request +EXPORT_SYMBOL vmlinux 0xc1eb1224 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xc1ed3961 inet6_getname +EXPORT_SYMBOL vmlinux 0xc219f1bf tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xc221f68c get_agp_version +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc23b3c67 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc24d7268 pci_request_regions +EXPORT_SYMBOL vmlinux 0xc2564db1 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc258088a pmac_resume_agp_for_card +EXPORT_SYMBOL vmlinux 0xc2a62661 create_proc_entry +EXPORT_SYMBOL vmlinux 0xc2c453e5 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc30003a1 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xc320f0f4 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xc32138db inet_frags_fini +EXPORT_SYMBOL vmlinux 0xc32f66af try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xc332c816 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xc33ecb1d ip_route_input_common +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc368849f nvram_sync +EXPORT_SYMBOL vmlinux 0xc384a853 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xc3c3e388 fd_install +EXPORT_SYMBOL vmlinux 0xc3e01967 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xc4157291 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xc4194fa6 of_device_unregister +EXPORT_SYMBOL vmlinux 0xc454f551 should_remove_suid +EXPORT_SYMBOL vmlinux 0xc45755de find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0xc46555eb of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xc47b580b __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xc47cdf9c _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xc47d2894 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xc4800814 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4c29180 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0xc4da7fd1 pci_clear_master +EXPORT_SYMBOL vmlinux 0xc4e64aa7 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xc5033201 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xc5181d0e del_gendisk +EXPORT_SYMBOL vmlinux 0xc52266d9 lock_may_write +EXPORT_SYMBOL vmlinux 0xc5513fb9 ihold +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc559a9b8 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xc55c2a9d inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0xc55de23c percpu_counter_set +EXPORT_SYMBOL vmlinux 0xc5718627 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5f0bc4a get_unmapped_area +EXPORT_SYMBOL vmlinux 0xc5f36007 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xc5f3ae97 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5f47610 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc60e4fc4 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xc61be59c ida_remove +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc64a17ff bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc68d1c61 alloc_fcdev +EXPORT_SYMBOL vmlinux 0xc698b413 pci_iounmap +EXPORT_SYMBOL vmlinux 0xc6b22c71 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xc6c3fd07 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6eb648d __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xc6f38478 tcp_prot +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7569210 touch_atime +EXPORT_SYMBOL vmlinux 0xc775d452 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc78b77e0 __frontswap_load +EXPORT_SYMBOL vmlinux 0xc795e23e cpu_core_map +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c4cffa pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xc7c70e6e pci_ltr_supported +EXPORT_SYMBOL vmlinux 0xc7cbcb96 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7ecee90 of_phy_connect +EXPORT_SYMBOL vmlinux 0xc7f8e935 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xc8044110 get_disk +EXPORT_SYMBOL vmlinux 0xc80c9e97 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84e5896 sock_create_lite +EXPORT_SYMBOL vmlinux 0xc8651f45 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc8b4daeb d_find_any_alias +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ba42ed __sk_dst_check +EXPORT_SYMBOL vmlinux 0xc8cee4b4 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xc8d22baa vmap +EXPORT_SYMBOL vmlinux 0xc8fcb9b5 mdiobus_read +EXPORT_SYMBOL vmlinux 0xc901166f read_cache_pages +EXPORT_SYMBOL vmlinux 0xc91ff664 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc94e2499 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0xc98d6bff i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xc996468c log_start_commit +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a6fed1 generic_make_request +EXPORT_SYMBOL vmlinux 0xc9b8c308 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xc9bd7506 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xc9e180a7 ilookup +EXPORT_SYMBOL vmlinux 0xc9e45854 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xc9e89336 input_set_abs_params +EXPORT_SYMBOL vmlinux 0xca58b948 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca60029f inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xca62fc1d lookup_bdev +EXPORT_SYMBOL vmlinux 0xca825895 pmu_suspend +EXPORT_SYMBOL vmlinux 0xca83fadb nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xca8e8198 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xcab33fec __block_write_begin +EXPORT_SYMBOL vmlinux 0xcacb76bd sock_rfree +EXPORT_SYMBOL vmlinux 0xcaccee67 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xcacd272d atomic64_sub_return +EXPORT_SYMBOL vmlinux 0xcad08e48 mmu_hash_lock +EXPORT_SYMBOL vmlinux 0xcad0befe jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xcadfac26 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xcaf11307 mmc_free_host +EXPORT_SYMBOL vmlinux 0xcaf33705 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xcb0a50a7 dquot_quota_off +EXPORT_SYMBOL vmlinux 0xcb5d07bc tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xcb6356be netdev_set_master +EXPORT_SYMBOL vmlinux 0xcb6bff88 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb812f4f netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xcb8c7b3a swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcba25fdc qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xcba817aa tty_register_driver +EXPORT_SYMBOL vmlinux 0xcbb28b27 lease_modify +EXPORT_SYMBOL vmlinux 0xcbbdce4a mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbd57931 unregister_binfmt +EXPORT_SYMBOL vmlinux 0xcbff41d5 put_disk +EXPORT_SYMBOL vmlinux 0xcc012b0f bioset_free +EXPORT_SYMBOL vmlinux 0xcc09a7a6 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xcc118d46 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xcc12171a wait_iff_congested +EXPORT_SYMBOL vmlinux 0xcc1442c9 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xcc17504d _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xcc257a8a dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xcc29e782 rtnl_notify +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc370b4e skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc525a62 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xcc661d65 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc8e12b1 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xccb541f8 inet6_release +EXPORT_SYMBOL vmlinux 0xcccfa0ec bio_copy_user +EXPORT_SYMBOL vmlinux 0xcd0529c7 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xcd160b48 revalidate_disk +EXPORT_SYMBOL vmlinux 0xcd201450 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd4247c1 start_tty +EXPORT_SYMBOL vmlinux 0xcd86c87f __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xcda69c1c jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xcdb9d952 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xcdbfd8ed flush_tlb_page +EXPORT_SYMBOL vmlinux 0xcdc4a720 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcde3b8a4 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xcde7a56d scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xcde9c220 kill_bdev +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce29cd63 pci_find_bus +EXPORT_SYMBOL vmlinux 0xce409cda pmac_set_early_video_resume +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce6d561d __find_get_block +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce874a5e xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xcec23635 bio_init +EXPORT_SYMBOL vmlinux 0xced8a88d vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0xceeaa2e2 udp_disconnect +EXPORT_SYMBOL vmlinux 0xceecd346 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcf06201d simple_write_end +EXPORT_SYMBOL vmlinux 0xcf49da9d bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xcf6fdd9f kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xcf74b0f6 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xcf793239 blk_requeue_request +EXPORT_SYMBOL vmlinux 0xcf7e8cb5 dev_addr_add +EXPORT_SYMBOL vmlinux 0xcfa2523a vfs_mknod +EXPORT_SYMBOL vmlinux 0xcfa5e502 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xcfc608c1 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcffdfd92 mmc_resume_host +EXPORT_SYMBOL vmlinux 0xd00a4c0d phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd09f0f01 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xd0a45fa5 pmu_enable_irled +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b8a15c balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xd0c10ed5 devm_ioremap_prot +EXPORT_SYMBOL vmlinux 0xd0c7c7fb seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0d4c66f gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0f5dfb1 md_check_recovery +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd10503d8 of_get_property +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd130e2f1 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd1a88b0b scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xd1b26bcb mount_nodev +EXPORT_SYMBOL vmlinux 0xd1c07e83 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xd1cc02e6 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xd1ea5fde md_write_end +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd23cd616 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd27576ab validate_sp +EXPORT_SYMBOL vmlinux 0xd2778952 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a09700 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xd2a52463 ip6_xmit +EXPORT_SYMBOL vmlinux 0xd2a941d4 sg_init_table +EXPORT_SYMBOL vmlinux 0xd2cd5568 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd2f64493 block_read_full_page +EXPORT_SYMBOL vmlinux 0xd2fc19bd proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xd2fc7e37 genl_register_family +EXPORT_SYMBOL vmlinux 0xd3150806 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0xd3187da4 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd31f72a5 contig_page_data +EXPORT_SYMBOL vmlinux 0xd32a08e3 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xd338093c __lru_cache_add +EXPORT_SYMBOL vmlinux 0xd33c62c9 __register_chrdev +EXPORT_SYMBOL vmlinux 0xd3549c96 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xd359c4c1 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xd35dba1b __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xd35f3d39 dev_get_flags +EXPORT_SYMBOL vmlinux 0xd364f939 ip_defrag +EXPORT_SYMBOL vmlinux 0xd380eef7 i2c_transfer +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd3e6f60d cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xd409383c pmu_request +EXPORT_SYMBOL vmlinux 0xd4158f10 locks_free_lock +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd41c468d pci_scan_bus +EXPORT_SYMBOL vmlinux 0xd42d691a phy_stop +EXPORT_SYMBOL vmlinux 0xd44d206c dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xd464c42f of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xd46cb644 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xd47924a8 ppp_input_error +EXPORT_SYMBOL vmlinux 0xd47f8caf dev_crit +EXPORT_SYMBOL vmlinux 0xd482d2e0 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xd4a2f13e macio_unregister_driver +EXPORT_SYMBOL vmlinux 0xd4b2fe37 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xd4d0e182 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xd4d27c8a of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0xd51641f1 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xd555cd98 pci_set_ltr +EXPORT_SYMBOL vmlinux 0xd566d744 journal_start_commit +EXPORT_SYMBOL vmlinux 0xd578e37f xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xd57ed619 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5b2e52a single_step_exception +EXPORT_SYMBOL vmlinux 0xd5b644a9 follow_down +EXPORT_SYMBOL vmlinux 0xd5bd593a udp_poll +EXPORT_SYMBOL vmlinux 0xd5bec82e phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xd5d7ed94 vga_get +EXPORT_SYMBOL vmlinux 0xd5dd5121 eth_header_cache +EXPORT_SYMBOL vmlinux 0xd5e3033a submit_bh +EXPORT_SYMBOL vmlinux 0xd5e8444a __div64_32 +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd5f2c6b3 md_integrity_register +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd6259632 vfs_rename +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd63414f2 dm_get_device +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd6511d60 free_task +EXPORT_SYMBOL vmlinux 0xd6796c39 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xd67b446a send_sig_info +EXPORT_SYMBOL vmlinux 0xd6870919 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xd6993192 vfs_readv +EXPORT_SYMBOL vmlinux 0xd69b30e0 atomic64_add_unless +EXPORT_SYMBOL vmlinux 0xd6a5edce register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xd6d5fce2 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xd6d63e9d lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0xd6d67f30 fb_set_var +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd71a0a6d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xd72bbf06 irq_to_desc +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd7746a44 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a3aa8c tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xd7bb5152 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0xd7da5df2 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ef91e7 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xd7fcb67e i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xd80ceb6c dev_deactivate +EXPORT_SYMBOL vmlinux 0xd8445e7e netdev_warn +EXPORT_SYMBOL vmlinux 0xd84bf3a6 dev_uc_del +EXPORT_SYMBOL vmlinux 0xd874528d fsnotify_put_group +EXPORT_SYMBOL vmlinux 0xd87eb5e3 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xd898bf2b __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8ee4ba1 inet_frag_find +EXPORT_SYMBOL vmlinux 0xd9162287 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xd91741e8 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xd92514ca agp_special_page +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92e4b4d powerpc_debugfs_root +EXPORT_SYMBOL vmlinux 0xd9498b22 proc_dointvec +EXPORT_SYMBOL vmlinux 0xd9648861 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xd9814580 bio_add_page +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99235f6 __bforget +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xda0c9876 elv_rb_find +EXPORT_SYMBOL vmlinux 0xda28f8a9 address_space_init_once +EXPORT_SYMBOL vmlinux 0xda2f2b82 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xda76fe64 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0xda7c407f pci_device_from_OF_node +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda82b81d __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8cf9df journal_dirty_data +EXPORT_SYMBOL vmlinux 0xda983aff journal_create +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaabb362 blk_end_request +EXPORT_SYMBOL vmlinux 0xdabf7ffa pci_bus_type +EXPORT_SYMBOL vmlinux 0xdae30936 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xdb1b3631 register_framebuffer +EXPORT_SYMBOL vmlinux 0xdb1fcbd9 dev_set_group +EXPORT_SYMBOL vmlinux 0xdb2825e9 bio_endio +EXPORT_SYMBOL vmlinux 0xdb3a4f8f mmc_can_trim +EXPORT_SYMBOL vmlinux 0xdb507250 __seq_open_private +EXPORT_SYMBOL vmlinux 0xdb5b2278 fb_get_mode +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb7097a1 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb9b9ae9 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdbb24fc2 down_write +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbe13c9a sock_setsockopt +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc5989d4 inet_addr_type +EXPORT_SYMBOL vmlinux 0xdc6548ec mount_pseudo +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc6f9ce3 dquot_acquire +EXPORT_SYMBOL vmlinux 0xdc732024 irq_stat +EXPORT_SYMBOL vmlinux 0xdc7ff43e neigh_destroy +EXPORT_SYMBOL vmlinux 0xdc942659 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xdc9498dd down +EXPORT_SYMBOL vmlinux 0xdc984f78 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb7e9d2 security_inode_permission +EXPORT_SYMBOL vmlinux 0xdcbdd399 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdce37318 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xdcefb9a5 pmu_resume +EXPORT_SYMBOL vmlinux 0xdd02588c md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1a8305 netlink_unicast +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2870ce wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xdd35c0c6 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd4b8243 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xdd7f2975 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xdda5ee40 do_sync_read +EXPORT_SYMBOL vmlinux 0xdda8a056 dev_addr_init +EXPORT_SYMBOL vmlinux 0xddb00d6a generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0xddb6bc2b __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xddc3e597 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xddd21c0c blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xdde67a2d skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0xdde7d14b skb_copy +EXPORT_SYMBOL vmlinux 0xddf8c3d4 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0xde09fe0c dev_remove_pack +EXPORT_SYMBOL vmlinux 0xde258b1b set_bh_page +EXPORT_SYMBOL vmlinux 0xde3991f8 kmem_cache_create +EXPORT_SYMBOL vmlinux 0xde3e96b1 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xde461fdd scsi_unregister +EXPORT_SYMBOL vmlinux 0xde489658 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xde48e9ca _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xde5e716f uart_suspend_port +EXPORT_SYMBOL vmlinux 0xde620fc5 dm_register_target +EXPORT_SYMBOL vmlinux 0xde85573d kernel_connect +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9663d9 sock_create +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdea1d6d6 vfs_getattr +EXPORT_SYMBOL vmlinux 0xdecff26b pskb_expand_head +EXPORT_SYMBOL vmlinux 0xded10394 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xdedf15d4 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xdf449b80 set_security_override +EXPORT_SYMBOL vmlinux 0xdf4d8ff3 block_write_begin +EXPORT_SYMBOL vmlinux 0xdf5d03bc phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf68bd98 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xdf918e52 journal_abort +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfac442f clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xdfb7a6bb scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xdfdcf132 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xdff43ed4 __debugger +EXPORT_SYMBOL vmlinux 0xdff56e64 adb_poll +EXPORT_SYMBOL vmlinux 0xe012c293 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xe03c73b2 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xe04b0df3 complete_request_key +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe0518f11 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe0654b6e pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe094ef39 sg_next +EXPORT_SYMBOL vmlinux 0xe09b7fcb ilookup5 +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0baeafb tty_port_close_start +EXPORT_SYMBOL vmlinux 0xe0c57a93 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xe0d8ec8e mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0xe0f2d2cb pci_release_regions +EXPORT_SYMBOL vmlinux 0xe10fa1d6 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe12e3d85 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xe13e19d8 inode_permission +EXPORT_SYMBOL vmlinux 0xe14465ed pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18f27cb fget_raw +EXPORT_SYMBOL vmlinux 0xe1916293 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xe1a906d6 devm_iounmap +EXPORT_SYMBOL vmlinux 0xe1f16891 padata_add_cpu +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe227ec76 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2599b5c seq_lseek +EXPORT_SYMBOL vmlinux 0xe2677f0e tcp_proc_register +EXPORT_SYMBOL vmlinux 0xe2ae4be3 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xe2bafa92 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xe2be5498 lg_global_unlock +EXPORT_SYMBOL vmlinux 0xe2c1c714 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe3003b5c phy_start +EXPORT_SYMBOL vmlinux 0xe332bd68 dquot_drop +EXPORT_SYMBOL vmlinux 0xe354fac5 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xe380f752 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xe385ef1a kobject_init +EXPORT_SYMBOL vmlinux 0xe3d0ba2d __neigh_event_send +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3e2beae generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe3e2dc1e __lock_buffer +EXPORT_SYMBOL vmlinux 0xe3ef9fd2 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xe3f59306 netdev_crit +EXPORT_SYMBOL vmlinux 0xe430f46d pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xe4344260 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xe43c8c3d user_revoke +EXPORT_SYMBOL vmlinux 0xe45025ab bprm_change_interp +EXPORT_SYMBOL vmlinux 0xe45f91ca alloc_fddidev +EXPORT_SYMBOL vmlinux 0xe469a9e8 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xe47a3121 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48fbb1b set_groups +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4a895fa up_write +EXPORT_SYMBOL vmlinux 0xe4bd7aa2 __module_get +EXPORT_SYMBOL vmlinux 0xe4db8495 journal_force_commit +EXPORT_SYMBOL vmlinux 0xe4fe8ca1 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe50ca32e pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe520ec3b elevator_exit +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52f430c tty_set_operations +EXPORT_SYMBOL vmlinux 0xe5324eb1 do_splice_from +EXPORT_SYMBOL vmlinux 0xe543d150 dquot_initialize +EXPORT_SYMBOL vmlinux 0xe551f4fa d_validate +EXPORT_SYMBOL vmlinux 0xe56ea83b splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe586d3b2 get_pci_dma_ops +EXPORT_SYMBOL vmlinux 0xe59870d4 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xe5a05e34 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d26d4b fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5dd0734 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5fa989a fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xe60bfc17 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xe61e7151 igrab +EXPORT_SYMBOL vmlinux 0xe62430b0 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0xe6243142 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xe62f1dfc __netdev_printk +EXPORT_SYMBOL vmlinux 0xe6328f5d fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xe68e3fec ip_getsockopt +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6b9f14d rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xe6dcd489 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xe6dd236d clear_pages +EXPORT_SYMBOL vmlinux 0xe6e3ee88 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe7276692 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xe770aa26 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xe776ddd5 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xe79fb80b pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7b06097 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xe7b5387a mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xe7bcad15 mii_check_media +EXPORT_SYMBOL vmlinux 0xe7bddb40 tcf_em_register +EXPORT_SYMBOL vmlinux 0xe7bf317d fsl_lbc_addr +EXPORT_SYMBOL vmlinux 0xe7c51fd6 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d6373a bio_integrity_split +EXPORT_SYMBOL vmlinux 0xe7dcb1b8 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe81bfdfc follow_pfn +EXPORT_SYMBOL vmlinux 0xe82cc752 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xe831e488 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xe83c41b5 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0xe83ff3c4 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xe845ac60 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xe84678fb bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xe87901a5 vfs_symlink +EXPORT_SYMBOL vmlinux 0xe879a527 eth_header +EXPORT_SYMBOL vmlinux 0xe87a9652 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xe87c633f neigh_seq_start +EXPORT_SYMBOL vmlinux 0xe887090c jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xe8a0fac4 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b81643 rtas +EXPORT_SYMBOL vmlinux 0xe8cafce9 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xe9005cce vfs_rmdir +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe92975f4 kernel_listen +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe98f2aa9 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xe9f20b72 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xe9f730a7 skb_copy_expand +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea149f0f vlan_vid_del +EXPORT_SYMBOL vmlinux 0xea2913a1 vfs_create +EXPORT_SYMBOL vmlinux 0xea38ee06 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea8f0fc3 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0xea968c96 ___ratelimit +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9e938a filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xeaaaf644 set_create_files_as +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xeadf7c33 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0xeae50bf8 generic_readlink +EXPORT_SYMBOL vmlinux 0xeae919a5 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xeaf16558 ida_init +EXPORT_SYMBOL vmlinux 0xeb01f2c4 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xeb0f5c36 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xeb18a504 console_stop +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3b60f9 simple_empty +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb5ccf0d dev_mc_sync +EXPORT_SYMBOL vmlinux 0xeb90c057 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xeb941ff8 noop_fsync +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebc672fb pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xebcbb49d dev_addr_del +EXPORT_SYMBOL vmlinux 0xebd674b9 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebf1bedd eth_type_trans +EXPORT_SYMBOL vmlinux 0xebf2b808 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xec14d54e serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec19e84c skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0xec4b402e setup_arg_pages +EXPORT_SYMBOL vmlinux 0xec5b4ed0 pci_set_mwi +EXPORT_SYMBOL vmlinux 0xec615d79 simple_release_fs +EXPORT_SYMBOL vmlinux 0xec855b15 open_exec +EXPORT_SYMBOL vmlinux 0xec8be7bc napi_gro_flush +EXPORT_SYMBOL vmlinux 0xec944359 kernel_read +EXPORT_SYMBOL vmlinux 0xecafee99 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xecb11333 pid_task +EXPORT_SYMBOL vmlinux 0xecd7968b dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0xecdd2c40 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xecfb56cf inet_getname +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed41b48b swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0xed6bea23 input_register_device +EXPORT_SYMBOL vmlinux 0xed7898da of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xed90bc0d get_task_io_context +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedb30264 release_sock +EXPORT_SYMBOL vmlinux 0xedba0aec revert_creds +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc410d0 udplite_table +EXPORT_SYMBOL vmlinux 0xeddc0005 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xeded9e89 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xedf7cae4 input_reset_device +EXPORT_SYMBOL vmlinux 0xee0d623c agp_find_bridge +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee2f33ab icmp_send +EXPORT_SYMBOL vmlinux 0xee3496c3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xee43df66 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xee59412f adb_try_handler_change +EXPORT_SYMBOL vmlinux 0xee685c32 dquot_destroy +EXPORT_SYMBOL vmlinux 0xee7ed609 pci_disable_msi +EXPORT_SYMBOL vmlinux 0xee7f48ce netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xee93d586 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb954c2 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xeec032ef block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xeeccbde5 bio_map_kern +EXPORT_SYMBOL vmlinux 0xeef49869 dqput +EXPORT_SYMBOL vmlinux 0xef109449 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xef59da86 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xef61650d jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xef624088 sock_no_bind +EXPORT_SYMBOL vmlinux 0xef7a2608 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xefa6c466 keyring_clear +EXPORT_SYMBOL vmlinux 0xefbb3d88 macio_request_resource +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefde1bbe flush_dcache_range +EXPORT_SYMBOL vmlinux 0xefdfa414 blkdev_put +EXPORT_SYMBOL vmlinux 0xefee38b8 block_write_end +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf04ae1ba idr_remove_all +EXPORT_SYMBOL vmlinux 0xf059cf4c filemap_fault +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf0c7e729 simple_unlink +EXPORT_SYMBOL vmlinux 0xf0d2a26b pci_dev_driver +EXPORT_SYMBOL vmlinux 0xf0d4d450 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xf0e18b4d mpage_writepages +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f087ed __devm_request_region +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f3e415 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xf0fd4e8f rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11088e3 install_exec_creds +EXPORT_SYMBOL vmlinux 0xf111c5aa bio_integrity_advance +EXPORT_SYMBOL vmlinux 0xf11cd6ce down_interruptible +EXPORT_SYMBOL vmlinux 0xf120872a dql_completed +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf131fae5 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf1526a76 __rta_fill +EXPORT_SYMBOL vmlinux 0xf1582db7 get_super_thawed +EXPORT_SYMBOL vmlinux 0xf17569b9 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf187019f cfb_copyarea +EXPORT_SYMBOL vmlinux 0xf18eff0f switch_mmu_context +EXPORT_SYMBOL vmlinux 0xf18fdd41 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf19e9355 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xf1cc7900 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1d84d1f tty_port_close_end +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf200e9e6 make_EII_client +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf21924a1 bio_pair_release +EXPORT_SYMBOL vmlinux 0xf22881e8 lg_local_lock +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fb48d sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf246ea37 tcp_poll +EXPORT_SYMBOL vmlinux 0xf258f915 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xf25a2b28 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xf2821a26 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xf3052a9c pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xf3061a90 kobject_add +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf322a206 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xf323f4e7 agp_put_bridge +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf343ad62 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf3594ed9 default_llseek +EXPORT_SYMBOL vmlinux 0xf35af18b skb_checksum +EXPORT_SYMBOL vmlinux 0xf367f4cf tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf391e5a9 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xf3a32a3b blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xf3ad0856 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xf3bc0e93 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3dc89ac mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xf3dd3f1b backlight_device_register +EXPORT_SYMBOL vmlinux 0xf3f17591 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xf4052561 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xf405c223 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0xf41b2a47 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xf43827f0 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4449388 timer_interrupt +EXPORT_SYMBOL vmlinux 0xf45c1434 ida_simple_get +EXPORT_SYMBOL vmlinux 0xf460a80d scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c6a9f6 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0xf4cd5626 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xf4cf5155 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xf4e38bf2 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f633e0 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xf5222143 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xf52321e0 atomic64_sub +EXPORT_SYMBOL vmlinux 0xf535b4d1 generic_getxattr +EXPORT_SYMBOL vmlinux 0xf53814ef neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf54c51a2 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf559281e ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xf55ce0ea __dquot_free_space +EXPORT_SYMBOL vmlinux 0xf567d864 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xf589a215 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xf59b741f pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5a69284 bd_set_size +EXPORT_SYMBOL vmlinux 0xf5bc579c mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf628eba7 vfs_readlink +EXPORT_SYMBOL vmlinux 0xf62921a0 invalidate_partition +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf68155b1 fb_blank +EXPORT_SYMBOL vmlinux 0xf6a34ac1 seq_read +EXPORT_SYMBOL vmlinux 0xf6a527d7 blk_delay_queue +EXPORT_SYMBOL vmlinux 0xf6a5599a neigh_table_clear +EXPORT_SYMBOL vmlinux 0xf6b712fe __mutex_init +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6eb3c3f uart_get_divisor +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ecffe8 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xf702a491 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xf702d223 led_brightness_set +EXPORT_SYMBOL vmlinux 0xf70384d7 __debugger_sstep +EXPORT_SYMBOL vmlinux 0xf71521ba atomic64_add_return +EXPORT_SYMBOL vmlinux 0xf720629a lock_fb_info +EXPORT_SYMBOL vmlinux 0xf7328043 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xf74a7de0 devm_gpio_free +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf768c4be neigh_direct_output +EXPORT_SYMBOL vmlinux 0xf769200b __scm_destroy +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf790026e blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xf7ab9025 elv_register_queue +EXPORT_SYMBOL vmlinux 0xf7b12aee __next_cpu +EXPORT_SYMBOL vmlinux 0xf7bbed24 try_to_release_page +EXPORT_SYMBOL vmlinux 0xf7d34079 scsi_device_get +EXPORT_SYMBOL vmlinux 0xf7e307ba dev_uc_init +EXPORT_SYMBOL vmlinux 0xf7f51e75 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf809920e deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xf8108b50 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf811eb10 __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xf81b1b1e find_vma +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf86a21f5 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0xf888ffd1 key_task_permission +EXPORT_SYMBOL vmlinux 0xf8982f05 padata_start +EXPORT_SYMBOL vmlinux 0xf8b0193a inode_only_permission +EXPORT_SYMBOL vmlinux 0xf8f454ec blk_recount_segments +EXPORT_SYMBOL vmlinux 0xf924562b ll_rw_block +EXPORT_SYMBOL vmlinux 0xf92c2e7e __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf94494b8 dm_io +EXPORT_SYMBOL vmlinux 0xf944fcff of_dev_put +EXPORT_SYMBOL vmlinux 0xf945e5c4 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xf9554d12 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0xf95e4b37 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xf95e8b86 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xf96245c8 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xf972315c jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xf9836948 dst_destroy +EXPORT_SYMBOL vmlinux 0xf98b85e8 phy_find_first +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b3a8fa sk_release_kernel +EXPORT_SYMBOL vmlinux 0xf9be7df3 con_is_bound +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xf9ec42ef fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xf9fb00d5 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xfa2f1a24 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xfa338388 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xfa3e5747 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xfa558952 napi_frags_finish +EXPORT_SYMBOL vmlinux 0xfa87d39f __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0xfa897bb1 inet_ioctl +EXPORT_SYMBOL vmlinux 0xfa8e85cb scsi_free_command +EXPORT_SYMBOL vmlinux 0xfa9051d7 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xfa90bba4 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xfaa72b84 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xfac716c4 skb_push +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfacf2c17 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xfad58abb inode_needs_sync +EXPORT_SYMBOL vmlinux 0xfadb5750 pmu_unlock +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaea6e89 __free_pages +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfafa4d68 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xfb005031 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xfb07ab1c dquot_quota_on +EXPORT_SYMBOL vmlinux 0xfb0b59e7 mpage_readpages +EXPORT_SYMBOL vmlinux 0xfb189817 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xfb49a608 bio_split +EXPORT_SYMBOL vmlinux 0xfb5531a8 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xfb57b1ff register_quota_format +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7a1eff bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xfb8a0ed0 ipv4_specific +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbef5738 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc320de4 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc58576b __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc6a1c5d read_dev_sector +EXPORT_SYMBOL vmlinux 0xfc865222 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xfca788ba mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb84e3b journal_lock_updates +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd0c5038 adb_unregister +EXPORT_SYMBOL vmlinux 0xfd308bae dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd89bf3c __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xfda0fc10 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xfda2b8a3 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xfdad75d7 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xfdb6cedc _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdcdd4c6 iterate_supers_type +EXPORT_SYMBOL vmlinux 0xfdec7256 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe176974 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xfe38ee80 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe671cb7 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xfe711ade sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe8ee80f max8925_reg_write +EXPORT_SYMBOL vmlinux 0xfebe528a pipe_unlock +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfec86eea scsi_host_get +EXPORT_SYMBOL vmlinux 0xfed17198 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0xfee6c055 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1dfb42 blk_run_queue +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff4f0539 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xff6342b1 unregister_nls +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6dea25 smp_hw_index +EXPORT_SYMBOL vmlinux 0xff7f6930 decrementer_clockevent +EXPORT_SYMBOL vmlinux 0xff826d60 inet_accept +EXPORT_SYMBOL vmlinux 0xff931bea block_invalidatepage +EXPORT_SYMBOL vmlinux 0xff9a6af9 pci_release_region +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffab394b abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffdb82bc sg_free_table +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xfff089d1 simple_rename +EXPORT_SYMBOL vmlinux 0xfffa1c5d tcp_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x0b0b8d3c af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x2c96024f af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x2ff6d156 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x58716898 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x5bebfec5 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x73aef7c9 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x9338807e af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0xbae62f65 af_alg_complete +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xdff130ad async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x2cef526c async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x7a99bbf4 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x092f9489 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x26701118 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x53f1d4cb async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9e4977af __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xa3207531 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xde5e8944 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x569d8e88 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xc4518af0 async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x0c16e88c blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x0763311d cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x115c289d cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x2d320da3 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x2e40aad8 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x2fbd7088 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x5a9c693a cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x616105c4 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x6f2a7ea9 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x7664f1f2 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x8ef1db2c cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0xcd074900 lrw_init_table +EXPORT_SYMBOL_GPL crypto/lrw 0xe3a2ed0e lrw_crypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x5ddb33e9 __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x77b39cb4 __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8a1a99ad __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xc749d8e8 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xca352d22 twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xdbaafbb3 xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x04e80b07 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x63b843ff __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x02049d85 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x07c1027f bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x36314864 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x543e7714 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7720334f bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa1a8e581 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa3ea07f8 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa8fabbe9 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xad5b4313 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb70ee277 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb9ca86b3 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xbbab7055 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc28b4a03 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcc809420 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd0de1678 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe341c525 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x040e4e3f btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x08945472 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x1107c3ca btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x14c8ee92 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x56c08d98 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x632506af btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7e959fe1 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x91d1ceda btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa890eb9d btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd67c4b2b btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0a36151e edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x26cb4efd edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3c534f45 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4e53e41a edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x52430e16 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5d1961c5 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x69259f22 edac_mem_types +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6c35d0c8 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6f66cce0 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x75af4699 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x84c2658e edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9a03afb9 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9c382a7b edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xa0978931 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb00b60e6 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb67b6fbf edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb7685eac edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbfafaa87 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc1717443 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdcd37de3 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf21f3753 edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf7598750 find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf86a72cb edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x0179f5ee extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x151414c1 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x1f7278f4 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x279d6313 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x488fe56b extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x508bfa2b extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xa44b98a4 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xcffb647d extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd0a899c1 extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd1cd2903 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xeade0976 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf9c7c844 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xf4ade51f fw_card_release +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x17bcd284 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xbbde1a43 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x5d4e7aad __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xad867412 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x992a6288 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa9a33b77 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x000b956f ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x257fdc36 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x9f67c4b8 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0170f2a1 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0c080e33 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0ff3c461 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1065300d hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f947768 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x243a1e42 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2bd6f9c8 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x329a60ad hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x346470c2 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x36526b9d hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x45ff6453 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4fe30df2 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x54646927 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5dfeb32b hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x662fc19e hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x84861ba2 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x98572f21 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9baee565 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xadde2935 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc7ece5d7 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc907711f hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcb529bd4 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xce00a6cd hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd75d1882 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xda15d48c hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xde03337b hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf080ff94 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf286db6c hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf39282f1 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x057e7c6e roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xb64601d0 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xf3a84cee roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x030ff22d usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x6f14f5ae hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x7a9adf1b usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x99546dcc usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x091b0b39 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2e03814c hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x426d954c hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x450c2c62 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x487160dc hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5ce44ba4 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x777033f8 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x80fa7211 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9be3f02f hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xae4682ca hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb25c1f35 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb81d2e72 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xda418c13 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x18d3d728 i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x19a420a3 i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x3080eed5 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5c6aaef1 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x98c95aa1 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xb068962a i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xbea91898 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xda69d5d3 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xf37e2fa7 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0ad1ace3 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xb48b2c96 i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x6a943495 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xb5e7a374 i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1eac82ca iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1f81f82a iio_st_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2b219d54 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x349cd2ac iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x382c0d64 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4caf2554 iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5ed4e685 iio_scan_mask_set +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6bc7aec0 iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x72f59254 iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa55ea155 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa5d12013 iio_st_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xced7d467 iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe49ecea0 iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xee033f43 iio_st_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfb326c65 iio_st_channel_get_all +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xacaa82b6 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xa26534d5 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x57c7bb92 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x637941b2 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xff29466e cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x04c0f3ae wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x16a1fd79 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x436d4bb5 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7f0e63b0 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8fc74b2b wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x92795671 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xac564ab1 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb293996c wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb5894eb1 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd19f8237 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xfb4a2559 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xfeef70f6 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0x4de7b2d0 unregister_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0xb17b7c77 register_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x1d353caf gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x209dd77c gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2a71faf7 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2fdcd2e1 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x314281f3 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x41f32aa3 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x49a2b262 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x585fbdf0 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x651494e9 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x768f5db9 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x79419fe8 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9c1a46e0 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb318a2f6 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb4feea84 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb73e7c37 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc67c980b gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe8df2587 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x0f50168b wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x10e3e64b wf_find_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x1e59638d wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x23594164 wf_find_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x421b79d6 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x94765fac wf_critical_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x9ae952b1 wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xa2f19a49 wf_is_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xaf15726f wf_unregister_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdb7e8499 wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdc615003 wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xe3c63f75 wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xf6a77546 wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xfa174fe5 wf_unregister_control +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x1a8abd8a dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x22163b69 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x3909d3a8 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x594952bd dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x62a23587 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9b2b253a dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xdc69e37a dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe004ee92 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x0891b029 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x91241b53 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x06b43c7f dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09472122 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x95b17058 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x9e85e78f dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa8813ad6 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc66ce277 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xcab63c3d dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe07dbef4 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe840deed dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf37a3cfe dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf9add623 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x03ced457 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x08a936ca dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11eab9fe dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c112836 dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2e730a21 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x40f7bd91 dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x61c7c085 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b2ff62 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x80c89b3d dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x824bdef9 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9b4b5b29 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2507774 dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa6aae3ea dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb7bad799 dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb967690a dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb9a6ecf8 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbaa513b0 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbc5fe7c1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbcfdc290 dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xca2bde4d dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xccaeb9ae dm_sm_checker_create_fresh +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd32479bc dm_sm_checker_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdb562135 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf99dc2cf dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/raid1 0xf75587a3 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x354c4a83 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x017c010d saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x0eddc521 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x422a5dcd saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x54433593 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5b98227e saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x8226f011 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xdb1f82a7 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3b5cd5b saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xec221062 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xedf95ece saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf351c12d saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x35d1de40 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x40f885c4 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x5aae2ed8 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x808c0be1 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xbce7012c saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe7176ef4 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xf24f044d saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xa312ce93 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xc87d0b40 tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xd9830f0f tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x864a5d8f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x555312f6 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x861471f1 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x2c276a42 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x2894404f tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x3fc8ac07 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x4837baad tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x33bffb13 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x40b4769e tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x1d1d20f9 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xad94999b tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x2d2eefa2 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x7fba598e mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0xcf6bff28 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x8bc21fb6 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x0d9fb664 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x105eb1a3 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x237c0041 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x2f6e1f52 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x5f9fc47f mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x66c5b380 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x67567d88 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x703e729c mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x78573873 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x7af702f5 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x92635258 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x96a4b9aa mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x9ef95214 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xbe37f823 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc07f1808 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xccf9200f mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xee088939 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x12df4e8b smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21007e3f sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x31a761b0 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3e8cbdf1 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x59cbb2e4 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6dddefac smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x76222253 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x80bc67c1 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x84aaa69f sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x95453c6f smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb6d18044 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbc1d9522 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc9fbb7e1 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xccaccd41 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xed5a5889 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf09a7af4 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf3b6eaa1 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf8350c94 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x343b6019 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x4fa7f7e9 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x511966c4 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x96b43200 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xd04f06f8 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xeb43fdd3 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xfebe0214 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x04c63ab4 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x19b00628 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1addb7dd rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x31e00a64 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3ab26a7d rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x423e6013 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x50d86af1 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7178319f rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x735b3c84 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7b9783c0 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x83154e1a ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8740cffe rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x96a961fa ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc075e109 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc374001a ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xea1525fe rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf60238bb rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x164e21bc cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x23e25055 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x59029e8b cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x669101ba cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6d0fec60 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7ec6ebc3 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x845d4988 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x883da62a cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9741133a is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbc9c8ea0 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbcb111df cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd3d0203c cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd6d9a70b cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe1993b50 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe862dc74 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf2d16ccf cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf6a996a0 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf7beaf0f cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf8d5504e cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0xf36520cb cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x10ade85a em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1ebf8504 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x2c13a5f6 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x2c365e85 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x32c933ab em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x38574c5f em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x3c619c92 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x491bbcab em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x4931721a em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5d2bd6f3 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x88bb3bb1 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf43eaf08 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf45221a5 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xff9d031d em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x4c734baa saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x628755f6 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xa273f438 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xa3b02fb1 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xfd21d810 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x01f68879 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x5b278b46 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x744f8f78 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x860744c1 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x08c5f9af v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x0afc331d v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x2de01308 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x84f4346e v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xe3f1348a v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xebcd1293 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1b1b9e39 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x6cda39d1 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xe050caa1 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xf02f7b44 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x12e8ade8 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x13ad442a v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x42a5ebe6 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x49d2d8b0 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5f2695b2 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x6870b429 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8b7e2d5b v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x95514aad v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa9e6a768 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xafce8839 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xdad74730 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xe7fb7281 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0373a409 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x14177b82 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1428dad9 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x17ab3ac0 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2814c333 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2a28ae3e videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2ccfc923 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2f014d21 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x30fac1f9 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x673ff182 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7334153b videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x751b507c videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7d7d690e videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x871706b7 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x946d5336 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb587a195 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbb007ecb videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc2e73186 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd4d6baeb videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdbe4c7b9 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe75a9973 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfa8e5096 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfb1be93a videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfe3f1e16 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x3b53a543 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x5c9cb215 videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xa0813085 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xfc30d0a1 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x24b88956 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x36f36ce9 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6dd2d7d1 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x719fdc90 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8bd12bcf videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8d99277c videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x95b5a045 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x9e1d0b14 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe1dd054e videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x34a2abb6 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x613c4c37 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x905c1f78 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x149c06c2 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1b81b75b vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x485c152c vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x49b93b72 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5271a562 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x55434c9f vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5d9ae0b5 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x60054fc8 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x64e7a337 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x64f9bd23 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x73de36e1 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x7abbd6dc vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x7b725aa3 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa24b1541 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa4f9872e vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd42ffdfc vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfd436a8f vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x80ab613d vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x8d63f8cf vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xe57f0426 vb2_dma_contig_cleanup_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x1c775e6d vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x270a07c0 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x8069c745 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x837f0d4b vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xc599494c vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0x3ae9121e vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00b97b06 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x07c374d9 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0a8551ab v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x12a251c6 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2505355d v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x3e0df0a8 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x59693431 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x647c1d92 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6510b2b4 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x748e35d6 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x77897186 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x88bb46fc v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa1a7bd21 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xaf7ee499 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc3ff9e80 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc6cafd35 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc7dedccc v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd107e59c v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xdc517e33 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe624797d v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf7421486 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xff1e1825 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x22b9e663 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x460f7302 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x659fb68b i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x774a7e62 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x866af420 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x962d2591 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x9b54c2e5 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf36d11a0 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6e777381 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x98607af2 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd3fa3773 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x554c4baf lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6b5ba242 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x834a205b lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x85158dda lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8f19b1d6 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xa24c1de4 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf273863b lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x5131200f mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xfa5433ab mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xfc46f927 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1055d91e pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1328f4c3 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x17b5448a pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x361a5b87 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x38136777 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x532785be pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x572319a0 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8fba3d76 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xaa9a116b pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc2fbbba5 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeb0f7a5a pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x586b2ed8 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x9fdfedc0 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x372a57b6 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6f0472c8 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x9d952848 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa9c4d371 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc334a35d pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x7d4c40b5 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8a76ba0d sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xb28b4e03 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xba3b0750 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xf71fd0d3 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x8183be4d tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x855db839 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xd59b61f8 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xda685dd3 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x08b8dd2e twl4030_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x4362dc66 twl4030_get_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xf1422448 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x01f01e72 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x2265b4fd cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x25fd5ad3 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xab43e0aa cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x27cb133b eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x822222db eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x98bb5a22 eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x029d6026 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x711b1045 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa300d191 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa6f52ab7 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xab54c3bf enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc57b69d9 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcbe05041 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x073b13d6 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x37543618 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4087cd10 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x418dc9cb lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5df9da71 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6eb97fa6 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa8ae363c lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/pti 0x19f09b98 pti_release_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x23bde487 pti_request_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x52a78e81 pti_writedata +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x4c88299a st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xc3938097 st_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x054d06a9 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0b74488a sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6c0be5bf sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x81dcb842 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8607315b sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x90e9023c sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb2b084ea sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd0c8eaaf sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf7e7d4b8 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x29470174 sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6f99e1b0 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xa83e753f sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xb7c01ca6 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xecc6e37f sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xfc14a1ed sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x07c7a7b9 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xa15dd5a0 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xfeb9cf15 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x3cf3416f cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x833b7405 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xd3fc2c14 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xd843f8c3 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x411c3401 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x681443b6 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xc0cbf9d7 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x5352753e DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x06a8f2dd mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x07bb7269 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x12b72c2d put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x17cd0159 mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x227188a9 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x22982522 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2ccaf6bc mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2e352c38 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2eae6d19 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x31599bc1 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x316aaff0 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x317e2a35 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3e93858c mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4693c42b mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4c906945 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d5c0843 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x65299178 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7751f6cc mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x80af6f00 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x883a5264 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x89f18506 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e6b189a mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9410fdb0 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9519387e mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x97e5a1b8 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa169d225 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa73d85bf mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa8a59d74 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb585eaa1 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xba1e939c kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc68247df unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd23f647f mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd99e6482 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdec944ec mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe1c026ef mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeaae17cb get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xed2c37fe mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf2d3767e mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf98e6a1b __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x05d41cbb add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x0e902f11 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x27ee93eb del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x4536795a register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x83470369 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x7ae4e2ca nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xca7a5cb2 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0xb469545e sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x8d6ae3a8 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xaec786a9 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2494f5c7 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x534c4a8a ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x712a527f ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7b2d9fa7 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7c7cd9c4 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8baf97d8 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9481588b ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb95352d5 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbd21e7ed ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc7bbaeb4 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xebc090b1 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xee13dcc4 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfa68f85a ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x169bc62a unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x3eec20dc register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa19c9388 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xcdc2acc4 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x05ad2724 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0b54b6c8 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0f1196fc alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1b1bb242 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x36aa51fd unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x40866551 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4bbf87dd close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4d38d78e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9a3c1e11 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdd3abe02 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe8d6aa0a can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf73c0f6e alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x274e98fa alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x3cade5f4 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x86a47c8a unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xf3fa14b2 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x2189c5c5 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x886915f3 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9f353c unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xe4f0f0ad free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05044ad6 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e5ba968 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f64fd0e mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0fcb02fd mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x131a6119 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x163a5ea3 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1842e70d mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19fce1e8 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c2d623f mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c8db2ca mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2840d5d7 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x294b5ca2 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c60d41f mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e5bf099 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32f602a5 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x340b2664 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3cdc35c8 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4398840d mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f3d1684 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x506e0e04 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x547b8c31 mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x555269b8 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55c1a0c0 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55c34816 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58a29e87 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5af0d663 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b2aeb38 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6bf4770d mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x752a4993 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x755b6328 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x778a0d37 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b565523 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82066b62 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83b04e71 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83bbc868 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x88d9a811 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8ba96380 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8cbb167d mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9400de3f mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x982627e8 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ab30aeb mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b9c6638 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa108d444 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa190fa25 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa55f1b3d __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa78a77c7 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa80a4c98 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xabf96169 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad7851fa mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xafd74e26 mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0d40695 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb371039c mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7332191 mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb79ff42b mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb8cb9444 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb1ed8cf mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbf156f6a mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2a433dd mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc39d0a99 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc8c548a0 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca55f7ec mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce15d44b mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce248b20 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7061165 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb532e67 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb5b2a19 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdf011caf mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe223e8f1 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe2de98d3 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8020ce4 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef879537 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf8abef2c mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfac67990 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd7d6a41 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x09644bb5 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4ec0823d macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x65aa5a50 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x76998684 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xaee04d84 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvtap 0x1744cc94 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x290d6a34 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x77a473db usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7c52f392 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x9ea1041f usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbc72b58d usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x6f009613 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb0495fdd rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb1cc8f68 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc54c13cd rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc6e6f5ef rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xce929086 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1781cd5d usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2582e8d5 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x45494356 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5522a15b usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x593c08bd usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x76ccee5c usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8a87d74c usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8c196e49 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x94fa70ca usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x95f7e336 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x97e30704 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9fd14063 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa0cf3eea usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa2923b0f usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb03665f0 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb36e2a79 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb53f5115 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb66a5091 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc07f92b9 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc3762742 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd0dab71b usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdb80d81c usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe8cbb102 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeb996e42 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1172d9b7 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x26831477 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x30db20ec i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x32c51169 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x398346db i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3a6284af i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x48c903e9 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7369b4b4 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x73a42fa0 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7afd54da i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb2f8d490 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb3ab4b8e i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xcda0ef8d i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd2a07ea2 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xee84e3c9 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfe2cef64 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x2598ffa2 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x12a7769c il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x321f8dfe _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x3cbde3e4 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xc6321794 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xf85be874 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x03fb4520 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3b629abb __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x404fbe9d lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x805f5aea lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x97cb0258 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa83f5e35 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbdd411b6 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc4978f9b lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc4f1c490 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc5a9e47c lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd87ad8c0 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd981bc95 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd9a6cda3 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe06d3b22 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe1c77326 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf2980180 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x01a00555 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x155877d5 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x21261def __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x36cb4316 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x63b52815 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6ad51cf6 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9684f0e3 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbeee705b lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x3fd59969 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xb0b753f9 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x0d1d0cfb mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x13f88d2f mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x14866d7d mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x5462bc03 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x6e7a885b mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x7b44d91c mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8a8acb2c mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8f69fa5f mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xb1d12c5b mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xb92774d7 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xcf0ad4fa mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf7a1d657 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfbab6b67 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0a388c86 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x203e4349 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2577cbc1 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2a12efad p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2cda7e58 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4fdc2627 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x57b403b8 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x60972a21 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x869a39a8 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0824f2f7 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x094f5495 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x164403c0 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x226c759f rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x447bfb02 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x483124b0 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x50ab816c rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x51417cba rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5e39cfd8 rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5f2af190 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5fc4b18d rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x60133fd0 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x60e11eca rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6c9d36e5 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x72924b54 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x73f33dee rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7b9606b1 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7e1e10c6 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x803d0766 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x84ccfdb3 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8723cfb2 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x92ea42cc rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x961283c0 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9a7816dc rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9c085769 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa0cba111 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa5668bb3 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa837680e rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xad0c260a rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc64557b4 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc9abb8e2 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcad9f0ee rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcb953349 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcdcc9171 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdf0e6b97 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe71c6485 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xee1fc044 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf16703fd rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfd6dea91 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x009b731b rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0391d990 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x06b5ff5f rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x266294ad rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x292d813a rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34e167a8 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3d892d20 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4563736a rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4599a82b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4833f029 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4932a1ea rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x582b472a rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5a953c7a rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6065955c rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x61221d7a rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x62795023 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x62cfe289 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6431a1fb rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x658bd51b rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x682fc0ab rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6bf5e887 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d5cfb90 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x750cb5e9 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x77d07265 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x873ef35d rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8880f29d rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa1a77383 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xab9bc0a6 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xac6c53b2 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb0765fe0 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb2dfb877 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb62d58a8 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc08153d7 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc3c065ad rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc8302086 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc8b75666 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcbb1cd90 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcfce6851 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd113c31c rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd2c675ee rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdfcbf835 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe691cb3c rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe9ef9d07 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xea1705c6 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xea3971a5 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xed68c8e6 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x08a5749c rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4503e44e rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4db1245e rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x8295087c rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb74d0fe9 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb8911edb rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xde40517b rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xdf540ce0 rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe34fc669 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1c7cf8b9 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x30b13dac rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4f58dcff rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x554caab5 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x57029b12 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5c19f95b rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6b5b21a3 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x722b6d6d rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x79510b97 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8c87dc2c rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8df93761 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa516bd9b rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xaf83475b rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc5b5fcb9 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd38a9d28 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdafbb181 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x1541d242 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x3dff6a2b wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xc9a6d429 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x03f344de wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0767f026 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x35d3a304 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x379b86fb wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x72da275d wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x876d6075 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x91bd80cf wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9f7ef037 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xaaa7a7aa wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xaaef5516 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xafb1c7ed wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc3d5b258 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd03a5691 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xee3aecec wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x3e50bf66 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x7e7ebd7a pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x9f8a2db7 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x19de847e mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x271053af mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x523f7980 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7c4c725d mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa28c03a8 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb6f6573b mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe096db0c mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe2d2c538 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x17e47e07 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x1e522a01 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x36480f31 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x918c389a wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb90a161a wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xdf69d846 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x4d75c3a0 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x00378bd1 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0cb9993a cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x11665a55 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x12881ee8 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x193f9062 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2094843c cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2724ed22 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x29663d15 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2cfb8500 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3ae3b8b2 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x40ba38eb cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x414916d1 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x46cce0b4 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x491100b1 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x50f6b6af cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x58afac73 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6d3ad95e cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6dbfcc03 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6ddfe316 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6e8c9cd7 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8bfe7d13 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8ef19d93 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x957bbc3c cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa149435f cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa332f577 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa352399e cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa8393575 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb37bb173 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb5065762 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc3ad85ae cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc52ddf0b cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xce4e4292 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd4ccf918 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd9ea58ff cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdb5ad2df cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdd8120a6 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdf7b6b2c cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe62e950d cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe80bf900 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf1e8f8b9 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf8bcd658 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf8ca7aa2 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfe63daa8 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xffc05f03 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x20873c8d scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x6ab30e37 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x971d9152 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xd621b552 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xf14ea46a scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xf90b6fc8 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x107f3bc4 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1ff2d12f fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2aeb11bf fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x40ddaeac fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x438330ed fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5833e8da fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x65a815b6 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x67aa2541 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb586a8d9 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbe2dc71c fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd58c1b89 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe530834b fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xff399c88 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x1102738f iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x209238c3 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x27ba8551 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x992c8cad iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb943f47a iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd69649c8 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0ff3fa4d iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x11136174 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x199ce045 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b28918c __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b5325d3 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ba9f2af iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x23f344b7 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x264bee0d iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x27d2e9ae iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x353a3716 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3caaeac6 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x46fc4271 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x47c315d0 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x504e69ba iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x69a3bd51 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x78cea9e7 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x79e77130 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x83055c9d iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x866b2f96 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x866b440a iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88f0be30 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x892a91a0 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x91c45863 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x978ef912 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x979a661c iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b84fa27 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9c5df47b iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa6f0eddb iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa93ad5c2 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac422c4e iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xae22da29 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb52fb8b4 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb8d3914f __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbe953721 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5b241e8 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcc2d079f iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2743d23 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde3dfe81 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe4e85705 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe79f866b iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe947aedd iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf0b2b057 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf1b08ef3 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x29239ae4 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2d468d21 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x426dfdff iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x59a0be84 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5b6e7329 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5dbe884a iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5fc9a256 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6dedfd3a iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7ca2d41b iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fa06885 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9b29506e iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9c528ae2 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaa58f536 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbf2c1e7d iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc2478895 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdf8694e1 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfd6261c7 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0764eb44 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x42951a34 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4a8705bb sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x797727a5 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x95ffd198 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa0939341 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa90dcfca sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xad69f4b6 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb0a6758c sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb959e1e2 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbf55bc01 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc6ed77b9 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc80a4c4a sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcb925e71 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd58b02a8 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdcdf9f8b sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe2426c2f sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe783d1cf sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xec2486d1 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xee9b8af4 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf37949fc sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf47807bf sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfedc901a sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x34967147 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x4b2ee1a3 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x67fb4530 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x6b199d8d srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xa9b7cd43 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc8155208 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x41ac6bb0 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x45e92a1e scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x57320cf8 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x5df287f1 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6d7e1f06 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6e87c5a6 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7173dbbc scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa296612e scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc1a649dc scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x074e0a74 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x10eca3d5 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x154f6661 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x192b3634 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1985eddb iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2ad8a8eb iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2ef9f284 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x31bf7bca iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3292e3d8 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x349e240a iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x374269fa iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x382a4bc5 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3896ef74 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47ed7a6a iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4e2333a2 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x658f62fa iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x68ce1fb5 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6ad8e52e iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76cf938c iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x79d0ba15 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x991f27a1 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa1ce1e13 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc39af523 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xce3bc2ec iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xceea46d3 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd77fb48a iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdb73436f iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdd9198e9 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf1cc7692 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf21964e9 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf6f7bd2c iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xffac73b1 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x1d06b746 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x91a74223 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xe03b63e9 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xfa72c993 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1aa66448 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x271045ef srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2f7860ff srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xbdf51b0b srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xed3bd169 srp_rport_add +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x40d2052b spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x4bc1a772 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x6995e10f spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x756b15b4 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xba1ec43a spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xee76ddc9 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x37bb97ac dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9e1cb6f0 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xca04b8a7 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xe800a1f7 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xf3f0a931 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x2468ed34 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x579d2806 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x587711de oslec_create +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x882d5f27 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf828c15b oslec_flush +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf923a5b1 oslec_free +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xfabc3747 oslec_update +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x2a4ccbe7 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x537eb4db ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x84b3da50 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xa62be392 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb4557ec7 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xbc56ffd4 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xebf56a7d ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/rts5139/rts5139 0x35b85807 rts5139_usb_ids +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0b4f5847 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0e81c76d spk_serial_out +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0ef1d765 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x14f06fe7 spk_serial_in_nowait +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x475e158a synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7822626f synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e146195 synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fbeac98 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x98413438 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9a888082 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9e5d02ac serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa0224e9c spk_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb35aaab9 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb48956f8 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb73a5748 get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc766ae09 synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe177354b spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe2428175 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7e810f8 spk_serial_in +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xed7fbd5f spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xff560f1f spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x04653c99 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x0927581f usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3d7f7ff3 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4b4d0855 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x683149c4 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8174664d usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xae430408 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xae93d8cc usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb35773fe usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xc6475b02 usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xce82c69c usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xdc55f89a usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xf9bc5f34 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x4604bc0e serial8250_handle_irq +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xa909e85e serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xc26097b1 serial8250_tx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xc5b22ea1 serial8250_modem_status +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xe3f93092 serial8250_rx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0xeebf75f9 pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x2e8ed7a4 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x379517ab max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x8fb143ab max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x9538babb max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xcabc7157 max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xf87bb061 max3107_probe +EXPORT_SYMBOL_GPL drivers/uio/uio 0x0bf52aa8 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x74958da3 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x99a55076 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x2a0721ef usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xbac010b5 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x289d06f1 dwc3_put_device_id +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x51b25baa dwc3_get_device_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x0ec87de2 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x2333b290 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x3e190c34 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x45329636 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xa8593fa6 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xbffd739e usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x460bd06f usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4cb13028 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x52962563 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5ca14456 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6a38d148 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xaad83fa7 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc0976037 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc529c62f usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc553556d usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xd243448e musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0x2542e58f tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0xc45722da isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x00b44791 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1cfb5085 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x267265a2 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2c7e8606 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3bee5f6e usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4caea296 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4fb5aa7d usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x556ec6f0 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5c9700b7 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x677e1691 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6907d78a usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x69a40848 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6be5c924 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8008791d usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x85c7b9b2 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc5c70150 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc7085d76 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc8854471 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf3d2a4df usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x150be445 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1944cad2 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4391d935 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4c6d33af usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x610d5ee9 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x680ef8f9 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x68ed3b7b usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6928cee2 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6e316f8f usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x803053d8 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x843e29eb usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8c73fc10 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9b7c6ccc usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9d182d27 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa2fcbc52 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb5fb81d2 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcaff336b usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd90d81b6 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe4c34ca0 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf521c949 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfdd1d12e usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfddf6b41 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x31d61ebe wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x633b5107 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9bdd0c06 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9fc8831b __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xbd610f24 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xf4654c3f wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x01acf39a wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1473e15b wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1c83504f wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x28fbfea0 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x33bd549e __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4240a6cf wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4e19539c wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x63685002 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6c3a827d wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x71cfff17 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7fb52859 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x807da3c0 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9050e9d9 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9ac2be2e wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9dd3cc4f wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc05e4700 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x790ad472 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x8fb700ca i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xc6cbd8e1 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x01cf71a6 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x0e5bdca6 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x5c51faff umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x776e35da umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x96c313cf umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xdfb167c0 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xf972fbc6 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfcae0904 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x10e65700 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x14703d1f uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x21235636 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2402c8ae uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2895b351 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2e4e3da1 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3171b50a uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3aa1ccf9 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3c759c1f uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x46aa0ad8 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4dfb1651 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x541eab12 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x57b62ef1 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x59dc5b77 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5b3a2afd uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5bec8efd uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5ffeadaf uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x62af5974 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6a9f684d uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6d1914dd uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7200f7c0 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7a06edd7 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7a38ea7d uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7c5f0369 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x89b132d0 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9f824869 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xabdc9f89 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xacbd81ac uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xadcbeba1 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbb57834b uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbeaa1cf8 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc3c30883 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd4269732 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdba004bd uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf1a5e637 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf682bc44 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xff39387d uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x814ba2f5 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x0b3b90bf auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x15fc5b52 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x3c28a4e1 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x42a0439f auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x65bf8458 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x794d72e4 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x93229d3e auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x96c6ec57 auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xc2ce5921 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xc33557e4 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x2232e748 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x274bbc4e ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9dda624a ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa03ed716 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa8d3e941 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb8e84e7b ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc91fc31c ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x88f74c5c fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x8bea6c59 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x47445893 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x8109587d sis_malloc_new +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x3a105b4b virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x6a812b50 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x6bc3e81c register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x82a8bb68 unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xb5f1c5af unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x012c1451 virtqueue_add_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x25a32a5c virtqueue_kick_prepare +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x361e74ee vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x79bae323 virtqueue_get_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x7ba406a5 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x82ecb165 virtqueue_notify +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xabb7ed58 virtqueue_enable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xad8a63ca vring_transport_features +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xc559ef09 virtqueue_kick +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xd00535e5 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xe7b6796d virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xeec7b27a virtqueue_disable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xf3847416 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL drivers/w1/wire 0x297e6002 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x50038f76 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x51bf8eb3 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5678ccd5 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6d139816 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x76dd37f0 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8b14f26f w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc42e4254 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe2c2cf95 w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x894f1702 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xc6dc8c2f dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xead8dc39 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf6e1a841 dlm_posix_get +EXPORT_SYMBOL_GPL fs/fat/fat 0x0050b149 fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x02a451fb fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x06bdab6f fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x0a476c04 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x1d564801 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x48e7c59a fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x4fc2f145 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x52a249cc fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x71371938 __fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x7bafba0a fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0x81bbc016 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x8a1c8a8f fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xa0590b22 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0xa1b2a5ed fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0xb9020073 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xe7d50ad7 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0xe89a8581 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xe94251da fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x01324cb7 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3b5231e9 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x61d39648 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x68ea5b70 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x90b5c6fd nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xbbe95d90 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc4c86e62 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1dde92ee nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21da8cd3 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x553e111b nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x65186473 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b3efda5 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6efd8d03 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x702aa97c nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74b225bb nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c7f01c9 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x85e3fc2c nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a11d6a8 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a317ccf nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8b006c7d nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90060e5f nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8b1b4ed nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4516544 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc1f14d11 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf05e5dd nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfec8073e nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x09cbfc4a nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x6551037a nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1cb231d0 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x246df602 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x400e537f o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x424ee5d9 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x634fc851 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x64e7bb3c o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x86c2cfab o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa82a8645 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa9f5379a o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc3679d7b o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe350fb9e o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0f2d8d41 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3319069e dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3f517a4e dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x77af9480 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xbd14819b dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xeb7ba73f dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x025e2d69 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x16b2e575 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5469ce31 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7083dbd5 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x89502fe7 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcc584992 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdc823ea4 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe22f4667 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe2bd47db ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe40cffce ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe417d940 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xea9c990d ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL lib/bch 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL lib/bch 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL lib/bch 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL lib/bch 0xbdf512de free_bch +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x021957e1 raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x0f8a2742 raid6_2data_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x201d8ea3 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x29fa419f decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x300d7e57 free_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x6fbb3bd9 init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xabda1e2e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xb050f329 init_rs +EXPORT_SYMBOL_GPL net/802/garp 0x2401ddc7 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x28db4a3a garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x2ff304df garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x34e48161 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x71348ff7 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xfaa76942 garp_request_join +EXPORT_SYMBOL_GPL net/802/stp 0x9051e893 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x9b6dfe5c stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x5c0ffc6a p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0xcb4364f1 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/atm/atm 0x50754510 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xe2c6bb26 unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x21f5cc2c ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xeda89d0c bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0ce6f604 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0d946f0c dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x18e505db dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x21f2cca6 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x26a6abae dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x310d33fd dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x33d5ee77 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x37d5112b dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5a32b921 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5bf1ad13 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x62da91cb dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x65c9efdb dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x689742b2 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6e2e6f68 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x71863b1d dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x767191b8 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x89a18b33 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8e14e87d dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa053bb38 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa1227430 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaf7bb6aa dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb40fd941 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xba392253 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbba18ca0 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbbacc635 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0b7b890 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0fc908a dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcd49859b dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xce83baf6 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe1cd2474 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe1fe6cc7 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe272dd70 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf2edf512 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf85737f8 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfb05439a dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x05e855b3 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x456150f9 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4f6df65e dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x5e137a80 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb182f6bc dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe16ed4a5 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x55558b48 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcece0c41 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x00677f19 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xe8217222 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x0c1dd210 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x27698693 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x74e80798 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x75ddd7f6 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xbd9d05f7 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe80d3903 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xbdbd8caf arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x9ce9f0c0 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x1dbc27de nf_nat_seq_adjust_hook +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x6b6c3d10 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x2c1ca2cb nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3de64dee nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x8b504ce0 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc77a39a6 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xd6934e75 nf_nat_set_seq_adjust +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xe6e8aab7 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x362b45fd tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x54a7797d tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7ef43eea tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x99819fae tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xdd1284a2 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x7f066a0d ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6eb85693 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2d4ef15b l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4163937d l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x42a1697c l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4ef01e2b l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5dfc50bb l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6059c73d l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6d408dc6 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x79526700 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb6bd385f l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbcd1c948 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xec226973 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf8c7f780 l2tp_session_find +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3e8adf8f ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5da12588 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x668fcb5e ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x819c58f0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8cbf69ad ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xac7f6fd3 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbddef91a ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc73e58d3 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xde25062d ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x13f59b6a ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2d9ac6db ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80ee118c ip_set_nfnl_get +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x883d6572 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x904fd679 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9f64db31 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa2d623f3 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xac47d065 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb690301e ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xed9e7d4d ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf2dcb72b ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfadb46f4 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x343ce258 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xc9ccf91c ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf048cc0e register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xfdb3eeb4 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x027167c4 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0ad96308 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c9fc2a1 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e50194b nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0f56b6fb nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16066148 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x194b694c nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f0bd94b nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2913825e nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2e61a444 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x30470546 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x352a5c07 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3622bc7e nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x364fb588 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x38cf24af nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39abeb5e nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39e9b161 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3bc096ec nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c9c3dc8 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5156bf88 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5552f978 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x588a6b48 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a8a7b33 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f4bdc98 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f783ece nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c9b2e31 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fff8279 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x71ec703c nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x74b88a06 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f2358db nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x84475475 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8507c961 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86d4813d nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x897faeb1 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9cf35925 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0f9b855 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4bce89a __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab62710c nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xadce95fc nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xae7a7e3f nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb1dac15d nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4135a4e nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4a86cfc nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4e2e3bf nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6749d9d nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb96321de nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbac5f330 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf8f407d nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0240dd4 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc42cb785 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc5981a7b __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc7986958 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc971c65d nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcfb891b7 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd47f8985 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6760a62 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd680f308 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7c5d057 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xda18db24 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe0057123 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe0830112 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeac7dc50 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec7b0da4 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xedcb35bc __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf646de6e nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf8cceb96 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd3c359e nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x1c1a061b nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x5b31e5c0 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x0d48977f nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3ecb1aac set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x66a9157c set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6ebc37d1 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8044095e nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x83a46799 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8bb9b464 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8be83295 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa41ada84 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa433a7f6 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf86143e5 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x8a4c2480 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1c0098ae nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x588b9081 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x593b2405 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xc5ecfe33 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x292b0f3b nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xf09c5c17 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x071dbcb7 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x274ebbe4 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2f09efa9 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x46e54700 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x47dcb3b8 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4f197332 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8e07a8a2 nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x942ba94f ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa7ecf023 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa882e7fc nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc5425e64 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe332fdbf nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xeeed8d22 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xaa642118 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x1096d744 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xcc6f0b6e nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1101ce95 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1b8c9fdb nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x33dfb0c0 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x53e35adb nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc909bd50 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xd13be2d5 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x14de532b nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xd711dfb2 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0316317e xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x48459590 xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x590ecbc4 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8ff0ce05 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x99e3afa1 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb1cf0832 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc22e4808 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc258fa61 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc325ce93 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcaa4b7c8 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd478bfdc xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf3a4d71e xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfff8d7cc xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x3e1dd4ab xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x9a303feb xt_rateest_lookup +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x1a8f5bbd rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x1c06911d rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x21b6e1d9 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2f3abf5a rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x40f4ff86 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x4622b59b rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x4aec5ca8 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x4e2be947 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x50cbe7b3 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x5cbbc97b rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x5fce8a70 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x67f0e67e rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x70a2f5ba rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x81c067ee rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x993ea98d rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x9c782c80 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xa8228aa4 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xa9ab4adf rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xae0b9f2c rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xae758520 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xb8becfb9 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc581ded6 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xc874741f rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xcf69bca2 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xd7bd1851 rds_info_register_func +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x252cb520 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x43c6e761 rxrpc_register_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x169e92f7 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3228c81f gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8ae8b3cb gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8bdd6d0c gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x927db26c gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb4cbe47d gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb97dce8d gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc74983a0 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd3146b7b gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xecb9f6d1 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf9a5eae8 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x001b83c9 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00bf23ac rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05fce9bb cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0696dcdc rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0752dc0f rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x075db43e xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x089dc782 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0da161d3 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f9610ca xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10aa66dd xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11db3af0 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12618f9c rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1271ed4f xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13517f4d rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x150a0f6c svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15de3f88 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x179c6429 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17e28126 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x180e934a svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ae7ac96 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b7edf27 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1dc2613e svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e2831dd svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20523234 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2152f853 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2261df52 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22ec584e svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x233672f4 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x245dce2b svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27d0a1f0 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2864b1b4 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29a23bdb xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a20cdee rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b2c0307 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b7a0287 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bf6d0e4 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ed4524b rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32b8aa67 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35448c65 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35a53aa7 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37f16860 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3888f389 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39baa1c6 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3baa7857 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3dc34460 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3debbb94 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e38b19a xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f512265 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4346105b rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46307ff1 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46368a24 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4800645e xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48501f47 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a9c87f5 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c6405f7 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d037bf3 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5043f3ea xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52ad7f51 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52c1ef2b svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5527456a rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x554e8ce7 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56552772 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59febb5b cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b4ae432 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d4e3d27 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f9977df rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65b4551d sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65dc51d3 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6645b233 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6715bbc0 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67bc863b rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ae3fcd2 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c97c01b svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cb60d59 rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cf32b0c rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ddbe20b rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e1ad6df svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f700f76 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ff25511 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74096499 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x766dfbc2 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x786a05ef __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7875b277 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x794e2647 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e34c629 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e5856ca rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80b6772f xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83c8cdd4 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8525f4c6 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87a0753b rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x884f62c6 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88cd4e39 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b4c5c5d xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c853a53 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d2302f7 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d7a0c87 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e212311 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e4a8265 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eace6ee rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8edc6184 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x908fc7a6 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90ce11f7 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x940d7b26 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95673b92 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95fee53d svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98798c49 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9add7f86 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b497b44 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c4c3df1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f6d5b71 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ff6a366 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa38f1f05 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5547723 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa57a88e9 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa61fd6bc xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa97b5f00 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa883cc0 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab9f7d34 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xadaae72c rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf0390e0 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb163c70b svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4dace34 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5c94f33 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb76e1876 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7773136 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7a7b563 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd245d59 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc419cd95 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4856e56 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5367258 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc571d15a xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc809f087 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc85b96b5 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8fdd292 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcae0a9ae xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcca33807 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce95c3b2 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd29b833d rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2c12c2b rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2cad88b put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd42a8499 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd458d041 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd66987d3 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd75afa59 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb697f13 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc563157 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcf2ef8f xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde3ff4e7 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf59411e rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf5c76db rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1504b34 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1c5ed2e svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe411cdf8 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5aa09ab auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6ffad3a rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7877954 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8958922 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea582892 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed429a9b svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed687f7b xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf36b7f56 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6c8b387 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf72b6cdd xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa8f4fa9 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa9f2b69 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb0a74df read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfce4c7fb xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcf01f7e rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfefbaa25 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff0da445 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/wimax/wimax 0x07bc0cbb wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x117365d7 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x129a4d97 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x246ae966 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5251d6aa wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x57d36c8e wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x81f01347 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8d341b42 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9e57567c wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa476668d wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd13f35be wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd9f7a13e wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf5e3b76d wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1256bfd9 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1b86691a cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x304923e8 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x47fe0696 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4fea64f7 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5f0fc7e0 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa702fbd2 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa9dc904f cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcc587f2e cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xef57ea25 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf29089f9 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x3108ea46 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x4d4fd5f1 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x63cad592 pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaeea3073 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x2c82c35d ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x6e978dbb ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xac12941c ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf80f513d ipcomp_output +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x2bdfbddd pmf_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x3293c450 aoa_snd_ctl_add +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x32ffe456 aoa_snd_device_new +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x43d63ad2 aoa_fabric_unlink_codec +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x662f39ba aoa_get_card +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x7bf3c963 aoa_fabric_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x836c1353 aoa_codec_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x858beaaa aoa_fabric_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xbd12399a aoa_codec_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xe9570526 ftr_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x3b93da44 soundbus_dev_put +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x611d0bdb soundbus_add_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x6c6d3d34 soundbus_unregister_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xc9d4be3d soundbus_remove_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xd26fd1a9 soundbus_dev_get +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xf631f451 soundbus_register_driver +EXPORT_SYMBOL_GPL sound/core/snd 0x030f01bb snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x1b51c4a2 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x3481ae7d snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xa4dee3ee snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd 0xeab8ecca snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x792dd9a4 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x094971c3 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x0983e748 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x3581723e snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xae1a9d83 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xc16303b4 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xddd936af snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x097fbf85 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c5b4972 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0dc1add8 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x137eff84 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ddf4d46 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1f79b5cf snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fd76a4a snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fede5ec snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x219a641a snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2374bc39 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2443c4ac snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24d8d979 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x262945ad snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b7e5a12 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2be250b2 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ca62724 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2f665dda _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ffbef5d snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33d87544 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34328676 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34aefeee snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x35c7e98e snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36f62b9a snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x385fe6be snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38758af2 snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d9d7f02 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3e03f907 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x45a85537 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x45c60fbd snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47c1f513 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49d2209a snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dfcc1d6 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e34e767 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fdb519d snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x513a1723 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55ee1787 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57978e5d snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5858b3e5 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a59c63e snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a76377f snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b5ec9b5 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c29544b snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c6af948 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f68fb8e snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5fd42f6a snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6483aa4a snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d112517 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6dcee12e snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f119d07 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x70dfba3c snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7612961b snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x770cbd8b snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79da915c snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ac4ea41 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7d49eb97 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7d5d1a36 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7dbf3f15 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e1ece74 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ff47647 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x804394d1 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x80c2e849 snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8204c217 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x82d7de6c snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85c67771 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8c35d2f4 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8da5b148 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8dbc60af snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9473208a snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94ba4669 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x982973fe snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x990b443d snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b94e93c snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ccb6d37 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9cf860d4 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa0e59684 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa449f8ce snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa73fd7ec snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa87c5bc8 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa8af6098 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xab998ba0 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xabcefedf snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac1cba69 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaca85f68 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad2289cc snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaee97898 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0cdc31f snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2bd404f snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3cf5440 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3f81cf5 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba7b7c76 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd2df73b snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc07a80cf snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc5f230f5 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc676250f snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca1bfdaa snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca4179e8 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce841747 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcfa3e6e1 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1ca5432 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd5cee41b snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8bf6e02 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda2e0b59 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdddf3d82 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde586ae2 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe696bfa0 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb07e462 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xecb02ce9 snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed30785f __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef2ef2ab snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xefb1af0f snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xefe9a2ad snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf3167523 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf945e004 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9b2ac2f snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfafe6330 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfeab4b73 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x0d68fe4d pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xf9510531 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x2c437f96 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xe9bb8237 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x76b345e0 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xe2a7bfc3 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x1082df3e twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x3df60ed9 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x4916952e twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x6957dad7 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xb29cd3bb twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x34d45169 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x12ee491c wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2b322af7 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x366c3977 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x483cc78c wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xaeca9278 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc3370742 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xca5a8b63 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe217b0b1 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x00796f1c wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x691812e0 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xfc783024 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xc897a0b6 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x5f922ba4 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xfea6889c wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x810ae9af wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x013307c0 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02612fcb snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x030e3447 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03967c40 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08178dc4 snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ae2cfc6 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0bac3b24 dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x102f6dd6 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1063f4a0 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19d7d49d snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1adfdb5c snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bd22e88 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1cc1a3f2 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21104f81 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23a1a6b2 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25fc70f3 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2acae8aa snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b0414d1 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x342897d7 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3609de96 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x382d0916 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x394b864e snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b847a69 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bfd9a33 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x418c75b9 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46fc28a2 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47a44c60 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49a3cf6d snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cb76389 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e3f66d9 snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5107e0e4 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x513ee4f8 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x518ae5fa snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5257bc16 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54351f4b snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54fb7ce3 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56514d83 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x570b45d9 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x58955eca snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c60c983 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d46a6a5 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d6bcc68 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x625e0d11 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62e41331 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64874f3f snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65363be7 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67b59be5 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69d0d5f5 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69f91305 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69fd376c snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c939e94 snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6dd4fc5e snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6de93a20 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71d57491 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x759a1cc9 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x760d94e5 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77af1cac snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79e39cce snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ddf28ac snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ea86d07 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f0739a6 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80d4cfd5 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81196912 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82d0a704 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x89075503 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c809784 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90e9c0fa snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9158159e snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91a76847 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92d10f1a snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9301891f snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97afb2c4 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9890e5f1 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9bd9875b snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9cc956ea snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa19c4555 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa22d7424 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa4f53d36 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6ed8dd2 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8763aa0 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8c7a0c8 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaccd9ff1 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xafec4a8b snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb05eeb24 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1a6ea64 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1c9c060 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb28b25e8 snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb33f4f18 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb592d147 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6f3990d snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8ebb78f snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb94eb8fc snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf343129 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1275ad2 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1ad689d snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8c5a5b4 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc99be713 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcbf2905c snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xccbcde03 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd4b34c8 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd4f31a3 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcddb7bf5 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce307489 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd0fc8799 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd191d3cf snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd21748b7 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2db0cdd snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd41bd6f5 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4a1023e snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4affcf1 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd53b1d6a snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdadc6384 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc1c7cc9 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc2fe330 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0781abb snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe11af49c snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe5bcef70 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8f015f0 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed0a8672 snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9b7176e snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfa7f5d70 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb90e6f6 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbc6f9cc snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe681f56 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xffc0250b snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x0008608a fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x001f9378 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0044fc25 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x007de4c0 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x0083aeaa devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x0096d8fe debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x009df27c ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x012f8e15 unlock_media_bay +EXPORT_SYMBOL_GPL vmlinux 0x01465c47 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x014b78fc aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x01888515 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0195fba9 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x01988801 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x01a40bbb device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01ba8d05 pmac_backlight +EXPORT_SYMBOL_GPL vmlinux 0x01c29580 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x01d67240 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x01d953be cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x021ebfda btree_update +EXPORT_SYMBOL_GPL vmlinux 0x02205f4f ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x022934ee dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x022a03ff dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x02475e61 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x02594e6f fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x026c2c6d wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x027f3a5f pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x02d46674 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x02fdaa4a vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x03130cdd irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x031c3d47 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x032d5b8c blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x033b43de tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x034af382 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x038229b1 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x038cbf57 pmf_find_function +EXPORT_SYMBOL_GPL vmlinux 0x039c3498 pmf_call_one +EXPORT_SYMBOL_GPL vmlinux 0x03a11377 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x03a7cbee disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x03c1384b rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x03e1570d sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04068bb5 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x04191982 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x041f0234 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x0480bd4e tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04df8a66 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x0508b1ca ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x0523b66e regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x052f4817 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054039be scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0555f1d6 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x056eb6cb sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x056facfa tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05ce5186 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x05d2885b dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x0616d5ef get_device +EXPORT_SYMBOL_GPL vmlinux 0x061dee59 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x062d7003 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0670b258 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0x06a9058b crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x06b16648 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x06b7b4c2 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x06b98c17 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0x071291e1 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x079c696b i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x07adeeef kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x07b27bf2 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b66b9e kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x07d5e6a8 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x07ebeba6 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x086c031e ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x0899d23f ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x08ce2168 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x08da4149 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x08f02140 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x0914094c stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x091636f5 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09493f77 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x09866e65 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x099cd510 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x09bfa628 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09dd6b38 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x09ffce9f sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x0a09d047 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x0a260440 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a470d14 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a7be723 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x0a943da9 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x0ae2b3b0 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x0b0515b2 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1096f1 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x0b1f1b95 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b5be666 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x0b61163a find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x0b6a4ef2 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x0bc5ee36 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x0bcc2f4f hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bf30fef ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x0bf736c6 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c121002 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x0c2b38f7 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c74321c register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x0ca737f6 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0ce7006b pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0x0cee3800 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x0cf5646d usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0cff8933 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x0d0c109d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x0d2deeb0 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d3c3bdc sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d4e95b8 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x0d5b063c atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d8f2dec ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x0d9cbd42 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0dbe4280 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x0dd38a7d cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x0de06988 cpu_first_thread_of_core +EXPORT_SYMBOL_GPL vmlinux 0x0df77b99 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e366e5e get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x0e3ee5ea pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x0e8a2fd9 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e951f40 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x0ea35c15 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x0f144dcc usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x0f4f4a48 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x0f5923ba __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f896c95 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x0f9425ea rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x1004ab45 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x1069bc70 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x10bdd79e sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x10d7890a tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x1114011d threads_shift +EXPORT_SYMBOL_GPL vmlinux 0x1116f3cc fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x1130addb register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x11465937 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1157a19e cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x119292f1 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x11d16d2b sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x11e36154 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x11ee69be fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x12124452 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12195356 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x126354c5 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1285ef4f ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x12986f29 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x12ac64eb blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x12b30d2d pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x12d4d28c page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x12f5e71a hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x130458a2 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x1318d9bd digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x1319cc7f attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x13354608 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x13363271 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x135426b8 pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x135a09c1 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x136a4ee6 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x13721613 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x1375c21e ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x139bb289 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13c106cb elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13e5ea13 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x13ec6c05 dma_mmap_coherent +EXPORT_SYMBOL_GPL vmlinux 0x13edb8b6 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x13ff2aec usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x1423bb6e blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x1446bc0d ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x14acec1e inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x14aefad5 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x14d3a92c md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x152d6b4c pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x154710f7 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x155fc95f dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x157edd6e usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x157f5b3d debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x159abb63 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x15a1bf5e attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x168fdf74 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x1699196c ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x16b03357 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x16b819b7 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16c0857c rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16c7154f srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x17097806 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17c2759f xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x1853653c btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x18570516 pmac_i2c_xfer +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x188617f8 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x18a24355 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x18be6e2e dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x18e1e69d crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x19005647 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x19960613 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19d24503 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x19f17ba0 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x19f76e1b spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a01b037 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a156e28 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a3e0fd9 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x1a3e9306 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x1a401ee5 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x1a4dd07b raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x1a51aaa1 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x1a563fa3 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x1a7b15a3 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1a8c5907 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x1ab556fb inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x1abffffb s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b80daa8 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bab249b rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x1bae9d60 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1bbc90fd ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x1bce31d9 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x1c0c476f device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x1c24dfe1 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x1c2b9489 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x1c42db0a led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c770029 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x1c7b4edb flush_fp_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x1c808340 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1ca596b6 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x1cd1f664 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x1cf82066 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1d46873e bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d9496fc of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x1dcd636b pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x1de33aae ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x1dee37a3 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x1dfbcf4c mpic_msgr_disable +EXPORT_SYMBOL_GPL vmlinux 0x1dfc8e7a sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x1dff4789 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e90a004 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x1ea591b6 device_add +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec3ab59 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x1edc7a55 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f038af1 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1f05f0a0 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x1f1b0680 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x1f23e22f set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x1f2cedd4 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x1f305114 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x1f3b5a09 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x1f77e7d7 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x1f790fab regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1fc2fc1c md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x1fcea955 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x202529ee pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x202ea194 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x203cdb21 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x204638d5 trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x2049bab8 __destroy_context +EXPORT_SYMBOL_GPL vmlinux 0x205c74ee spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2072a2ac wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x207f586b wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x20aa7144 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x20af210a inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x20b89b01 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20c6252c debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x21cb6df3 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x21d0a42a __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x21d36a03 kvm_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x21e2058d xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x220d73cf cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x222c843c skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x224deb89 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x22650f3a of_irq_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x226da81d rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x2285200f usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2294417d usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22b4b062 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x22bcb9a7 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0x22edb83f sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x232cce79 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23708699 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x23719b03 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x238a0a97 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x23b6afe0 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x23c38a74 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x23e47b2e of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x23ef5448 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x2406dae3 pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0x242c8aeb perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x243981e0 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x24536670 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x247a9799 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x2483b0d0 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x249d5d57 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24dc3b48 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x24e1307e flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x24fff915 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2533b201 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x25771dda __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x25c29c33 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x25c92828 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x2620b170 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x2691412e boot_cpuid_phys +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26fac2c4 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x27349ab9 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x273af422 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x275a4e74 input_class +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27c1363a __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x2871094d sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x288215b6 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28fec000 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x291aec33 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x2954fdfa pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2980826d blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2993814d ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x29c3ae43 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x29db7a6f free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x29e8d5b7 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2a2cfc9e of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x2a432c8c pmac_i2c_adapter_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x2a453926 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a728c29 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x2aca25ad ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x2aea2e9c spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2af21c71 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x2af8575f unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x2afbe2a5 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2b046051 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b5b3b26 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2b607170 ktime_sub_ns +EXPORT_SYMBOL_GPL vmlinux 0x2b971055 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x2ba3a2d0 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x2bd0fef8 pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x2bd55a59 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2be471a4 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x2c0fe117 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cb3692f spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x2cc3e675 pmac_i2c_close +EXPORT_SYMBOL_GPL vmlinux 0x2cdd74e8 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d12b3cb rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d58a5f0 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2d59c954 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x2d988a94 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x2dc5a6d1 btree_last +EXPORT_SYMBOL_GPL vmlinux 0x2dd17e86 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2ddee4bb usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x2dff43b4 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x2e1aa20e __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e4822d8 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x2e58f98e dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x2e8b76dd css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2eaabd80 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2eeb6b2f ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x2ef6b5bf smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x2f279bc8 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2f2aa116 unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x2f2ef524 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f435c87 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2ffb5ff7 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x30301151 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x30330f2b nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x303cf9f1 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x3042dc50 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x304943f2 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x3050ec18 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x3095de7a i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x31032957 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x310d609f spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x3117e8bc unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x312269f2 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31279d85 mmput +EXPORT_SYMBOL_GPL vmlinux 0x313d0dc1 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x31bd98e2 macio_find +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x320f1672 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x3249d311 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x3262e672 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x32a27fe9 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32e46c52 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x32f08411 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x33105642 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x332798fd kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x334c5348 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x335c5dab sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x336d7570 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x337be136 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x33ac21af s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x33be11eb usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x33d00a66 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x33f627fb wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x349be038 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34f22995 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x350a0cd5 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x35604e20 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x35a3af82 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x35cc4fbb dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x3615fe60 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362bff3b unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x365f60e5 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x3661a285 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x367a4936 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x369813f6 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x36abd169 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x36b2dd56 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x36b6adcd platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x36c92c31 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x36d6616c debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x370b5055 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x371d78f2 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x37735adf usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x37d685a3 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x380a7922 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x381dbccc crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x382258ff usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x3874d0ee of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0x3898be7a ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x389b4282 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x38a61ef1 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38b45900 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x3926a957 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x3929d7e1 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3929f42c wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x393f4e58 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x39709a39 css_id +EXPORT_SYMBOL_GPL vmlinux 0x397ef9ad crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x3981816f wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x398ba049 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x39be2b23 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x39d23e7b inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x39d7bb0a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39e51125 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a3b6a92 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3a4812af rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a669922 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3af5b344 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x3b0c3512 queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x3b11c721 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x3b12220a tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3b4dbbda wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3b949d01 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x3b98c4bf ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x3bab31da disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x3bb7ae0c crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3bdb6de3 of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c178299 blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x3c3ae121 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x3c55d426 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x3c90d90a led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c9e7ba9 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x3ca3f676 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cbfc407 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3ce57693 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3cffedf5 cpu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x3d077858 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x3d23d70d sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x3d2abbd0 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d5f9cb2 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x3d7787ac debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e114be2 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x3e12f9b8 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x3e369177 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ea2e78b gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x3ebb3030 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3ee67d10 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3efa2b9b proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f1644e0 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x3f2592c3 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x3f2cb40e usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x3f3469af register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x3f628942 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x3f629ad2 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x401eaffe platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40402ae4 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x404e9ee0 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x40529fd3 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x4058252c sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x406b7d35 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x4093a97b __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x40a9077f net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40b2814f pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x40b48b8a class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x40e034af ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x40e5e37e inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x4109f2e0 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41892fbf wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x41a9f063 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x4201af77 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x424b83fe ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x424e3ffc ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x424e955d replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x42586dec inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x425c1c0b ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x4268361b uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x42706e58 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42925601 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x42b364ef scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x430783cc blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x4316ea7b crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x437f507b usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43fdd0de gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x44147c4c rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x44514618 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x445c52cf ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x4467b0f9 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x4469e18e ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x448801b3 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44ccc59b disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4522bdfe sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x4526b534 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x455e387e alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x45652fc8 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45775f67 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x458518d1 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x459df5df usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x45add947 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x462e4acb cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46856168 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x469331a7 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x46d18a0b ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x47013d71 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x471562b7 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4727c1fb devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x474213d0 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x4749f3fe spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x47859a48 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47dc9ffd of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x47dd7934 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x47ff096e ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x480b3738 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x481c07dd usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x4848e2c1 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x4875ad54 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x490c5991 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x4943a338 __init_new_context +EXPORT_SYMBOL_GPL vmlinux 0x494f5152 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x495383dd __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x498a6e00 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x498ab8bc tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49c9480d ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x49fac4fe led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x4a07810d crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4a2547c2 threads_core_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a9122fe dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4b247126 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x4b406e5b get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b8e5190 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x4b9275b0 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x4bb01a43 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bdc652e invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x4be38f45 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x4be62746 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x4c1acfa0 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x4c2580c0 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4c325419 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c85ff26 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x4cb6c239 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x4cb8d4d0 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x4ce00e99 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x4d172ccb ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x4d34b33d usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x4d738041 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x4d89a451 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x4da15651 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4da69b82 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x4db4ea0c pmac_low_i2c_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4db8e850 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x4dd4c35d pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x4ddd77c2 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x4e04b90f tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e1836bc rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x4e321f99 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x4e32aee7 cpu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x4e3ec875 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x4e46ec3f device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x4e494435 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x4e7da141 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4e82941f ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x4e93e3b4 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x4ead8cf1 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x4ebf144b swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x4eccb1f1 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f3c81b0 user_match +EXPORT_SYMBOL_GPL vmlinux 0x4f61901f unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4f6b5b2f vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x4f881b16 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x4f9b3e8a ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x4fb6d2b5 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4ff90058 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x500b5a24 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x5033232b inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x505a4976 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x50741498 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x50785d2f vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50cb909d md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50f74ef0 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x510f339a hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x512bbd50 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x517e130a srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x51846493 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x5184b5fe class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x51af7f83 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x51b4c117 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x51b65a26 rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0x51c17470 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x51c807c8 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x51f04747 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52119f72 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x5250ca69 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x52a52057 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x52c246ca __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5398fbf9 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53abb90c ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x53adba0c ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x53b07966 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x53e053de power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x5404818f devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54476322 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x546c5565 ppc_tb_freq +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549e2415 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x55369144 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x55478a11 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x559bd2ef spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x55a9a702 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x55b4e4fd nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x55be7985 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x55d43cbe i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x55e74041 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x56102fb0 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x5618cc1e init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56471636 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5649ea86 cpu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x565b7e38 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x565ce8d4 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x56702ba4 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x568c4fd3 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x56a615cf device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x56acb087 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x56b36c9f pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56d697ce cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56f1e352 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x57014b4d __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x5783a60e ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x57960307 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x579eb244 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x57fac66c ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x5853ea6b ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x586a80a8 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x5870f7fb pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x58a055cc ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x58ae678a usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x591c0243 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x593ac626 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x5942953f usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x59776c53 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5992621b blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x59935bbc dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x59a8103c bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x59bbdb6f perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x59c01571 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a25626b hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x5a25c40d cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a5fe0a0 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x5a70028f ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a927ea3 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x5a9811bf pmf_do_functions +EXPORT_SYMBOL_GPL vmlinux 0x5ad188f6 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x5ad1ae6f inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x5b0d97e2 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x5b172596 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x5b2b1a39 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b792e68 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5be6eb77 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c0c99ac usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x5c5634be sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x5ca11b71 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x5ce2b282 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x5ce46154 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x5cef4a98 pmf_put_function +EXPORT_SYMBOL_GPL vmlinux 0x5d020125 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d23955e devres_release +EXPORT_SYMBOL_GPL vmlinux 0x5d51bcf7 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d88363d blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x5d8ca121 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x5d8d3f3b ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x5dc0e70f perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x5dc77223 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5df8e5be init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e093203 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e5f1c28 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x5e732973 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5e75c4f8 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x5e8691f6 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x5ea429ee ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5ef9be33 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x5f0de7d9 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x5f1f0741 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x5f24698e pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f600678 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x5f636abe rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x5f93cc48 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x5f9afbb3 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x5fa1fcc9 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5fcbc554 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x5ff85297 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x60188b51 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x6019ab5d __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x602bd947 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x606cd240 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x60839493 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60d8c960 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6142ff68 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x61432fd3 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x6175ef0b spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x61a90c54 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x61bd87ab crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x61d83ccf spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x61e93f1f netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x61ee5d31 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x62131206 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x62140c9d tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x622b1213 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x625c1342 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x62676fd1 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x626df1e5 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x62713ba0 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x62bab622 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x62e300dd uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x631677d8 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6348ad4e stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6350112c dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x63729b4b bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x63923bc2 pmac_backlight_mutex +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x6453f77c pmac_has_backlight_type +EXPORT_SYMBOL_GPL vmlinux 0x64a4d0e8 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x64b7f7e1 pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0x64d14b2f stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x64e39c13 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x64e62e8a transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65f9bffa wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662315e3 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x66388898 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x6639bcff pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x66639fbb vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x666aa5ff class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6690ad6c tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x66a4c7ae flush_altivec_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x66afb53b unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x67006c46 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6740a180 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6781347e s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x68010b84 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x68125585 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x682a1039 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x689ca9dc inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x68ba31f9 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x68baa76a usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6932dce8 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x697cbbb4 threads_per_core +EXPORT_SYMBOL_GPL vmlinux 0x69821ced posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x69840614 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x6986e72b elv_register +EXPORT_SYMBOL_GPL vmlinux 0x69872f9f adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69a4d84b rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x69b1c069 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x69bdfd06 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a734aef ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6ab1c78d pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6ab9c475 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6b06cc69 pmf_register_irq_client +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b389290 put_device +EXPORT_SYMBOL_GPL vmlinux 0x6b3ccdcf platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x6b7cd801 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x6b8be7cf usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x6bb0fc36 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x6bee4f3a da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x6c05bd3c dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x6c11422b cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c7f03f5 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6cd0e4e6 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x6cd48877 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x6cd52fbf pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x6ce13f6b set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x6cf34313 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x6d071595 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d36ec6f tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x6d40a538 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x6db6f3e3 tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6df23cf6 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0x6e4bfca9 wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6f17eacd get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x6f2881ac __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x6f493553 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x6f797a17 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6fbc719c pmf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ff64a42 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x6ffc1c0d blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x704254be ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x70746882 of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70a1ffac i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x70a5edcc ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x70a79188 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70bc3208 bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70db1014 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x70ef0b6c key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x710ff963 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x7134d3a7 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x718efc2e ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x71b0cc34 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x71cb4914 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x72024abf register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7215886a tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x723068b8 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x723b1111 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x7267db00 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72e2b892 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x7327661e __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7329e260 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x732e9483 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x734270a2 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x73435be6 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x734b3d07 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x73564277 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x736c04a1 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x7370d773 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x738b989a cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x739aa1a1 pmac_i2c_setmode +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73bba3bb class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73f397e6 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x73f8c275 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x73fff58f device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x74292223 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x742d198a inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x748401c4 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x748d801a pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74a56ff1 bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74b55e45 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74d06773 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x753f340d __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x7548452a regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x75576478 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7562b5e9 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x757035c1 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x759e2fa1 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x75b1d202 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75d17d0b pmac_i2c_open +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7626b273 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7631846b dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x7649805b __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x76821e68 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x769405f5 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x76caf822 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x76f4f0dc input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x77328f6a of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x77747da3 timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x779b8feb stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x77a207e6 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x77c01502 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x77d1763b wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x77dad5c7 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x77e8ae66 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x77efa62f pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x77f622bf stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x77fbc76d flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x7896cf3e tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x78b821c9 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x78ec48af device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x791829df regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x7940b961 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79adbf37 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x79f47e3e spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x79f83192 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a74a8cf usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x7a7c0e24 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aa4518a ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b84c942 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x7bcc8091 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x7bea0cae disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7c02449c sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x7c11c3a9 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x7c6b8d30 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7c9c5338 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc9a4e5 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x7cce7928 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceea5a9 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d69f100 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x7d9b2d68 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7da709b8 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dacc0ca rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x7dc4eac0 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dc7cd38 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7dcb2141 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e17ba7b klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdb7e fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7eebca86 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x7f008202 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7f547638 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x7f65f6d2 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7f7bc710 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x7f887956 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x7f972fb4 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fe870ba scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x7fee9a98 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ff396e4 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x802c7521 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x80372d71 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x805e47ab max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x806648b8 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x806ac5cf sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80c0976d sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x80c2979a bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x80c51268 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x81265e3a sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814d2634 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x81ad4b22 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x81b01be7 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x81bee22c eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x81c86cdd md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x81cf14b4 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x81d992c2 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x81dcfc65 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x82220fbc simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8232f1a1 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x82393c61 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x8248297a mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x82599c4d unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x826c0dc6 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x826ca281 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8287f6c0 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x828f620e ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82a48f9e pmac_low_i2c_lock +EXPORT_SYMBOL_GPL vmlinux 0x82b00d7c rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82eb7d72 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x82f90f73 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x82fddc3b tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x83344249 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x83492df8 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x83792590 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83e95d4a driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x83efd7c7 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x8409bec0 find_module +EXPORT_SYMBOL_GPL vmlinux 0x842dc129 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x8453dd08 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x84a778e8 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x84ecb7cb timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x8527f477 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x85558587 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x857b4f9b blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x8589777a anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x858f5a82 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x859a5c59 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x860064e2 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8609efdf tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x860eb309 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x861e5558 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x861ee07c setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x862a8736 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8644ab5d ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x864bc4db relay_open +EXPORT_SYMBOL_GPL vmlinux 0x8674d997 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86885deb get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x86f4ff62 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x8743bccb regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x8746da0f spi_async +EXPORT_SYMBOL_GPL vmlinux 0x877311ba pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87db78a2 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x87e17ce2 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8800473e wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8819c31e rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x881e9a3c sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x8822b689 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x882aae00 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x88411d5d crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x88480f07 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x8870f184 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x8874757a driver_register +EXPORT_SYMBOL_GPL vmlinux 0x888750fc proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x88ac1dbb regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x88c13972 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x88f360c4 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x8930cc8f pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x89555412 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x898169b8 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x89848009 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x898fa2b1 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x8998c6a2 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89fcd9bd debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a16b797 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x8a4aa11d apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x8a4fbc38 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ae88594 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x8aee6c5e bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x8af7dd61 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x8afc9e4b __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x8b0bf9c6 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x8b27dcfb usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x8b621868 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x8b6b8435 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8b70e8ea __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8b73a8d4 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8bb875fc pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x8bcff5f0 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0f2005 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x8c446ed5 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x8c76c935 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x8ca4b078 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x8cbf9c92 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x8cc8d06f md_run +EXPORT_SYMBOL_GPL vmlinux 0x8d0e6bbf pmac_i2c_match_adapter +EXPORT_SYMBOL_GPL vmlinux 0x8d14f8ca pmac_i2c_get_controller +EXPORT_SYMBOL_GPL vmlinux 0x8d1666f3 pmf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x8d1ed16c ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x8d77e574 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x8da17b42 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x8dad55e8 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x8df28580 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8e0dca03 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x8e13cb72 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x8e2bae4e usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x8e349a18 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x8e579520 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8e76f324 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x8eab4a4c pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x8eeefc02 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x8f037d09 cpu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x8f050b75 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f05a43e tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x8f086228 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x8f44b025 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x8f508e04 of_get_nand_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f536b83 cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8ff65d98 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x9059c807 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90655fdf usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x909f17ff sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90a2638f uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x90ef5743 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x914d450a crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91657f9b usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91910907 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x9199aae9 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x91a57b9d pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x91ac51bd ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x91be41d8 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91d4041a ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x92356c94 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x9242a6ec cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x92accb96 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d3b1fb devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x92dbc300 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x92dc4d69 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x9329816f crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x935bf96a xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x93a2cb47 reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x93aade24 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x93c6b897 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93f00373 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x93f19308 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x93fc7466 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x94140914 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x94173eba exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x941bcd53 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x944c774a transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x94a58c64 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94a6ca42 isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0x94db444b regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x94e669b6 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x94ea4c77 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f42e77 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x9518a02a __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x951a2380 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x9562d83e s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9575d4b9 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95ca5c9c blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x95e4f4e4 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x96182842 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9674e41a tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x969def09 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9724ad04 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x97401daa sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x97845df0 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97d2e1e5 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x97ea4076 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x97ea90af simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x97f8c53e usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x9818c6fc usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x981b3b22 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x9824ffd5 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x982a6bae bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983608e4 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x9837df22 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x9849c8a5 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9876cf8a devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x987cd212 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x9889b335 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x989473b1 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x98a8e7fd regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x98c2cf5b rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x990f07a3 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x9914f169 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99318337 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x99584aea ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x995bf8fa __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99608030 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x9969943b kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x99737cce fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x9998aaf4 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a20518f dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x9a49d937 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x9a6b7ec7 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x9a7197ba pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9aa54c61 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9aad6540 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9afebecc dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x9b314718 edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0x9b687010 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9c084ed5 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x9c123444 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x9c2d672d power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9c5be311 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x9c5cfb4b tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x9c69fcaa agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x9c85f365 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9cd14fb3 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x9d43f400 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x9d7d4356 tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9da8160b blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9dcb2417 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e11ca36 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x9e282870 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x9e52c280 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x9e5cceee crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x9e664c2a __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x9e7b1a60 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9e83f717 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9ea4c11c ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x9ea865cf blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x9eb19c73 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x9ebc5449 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x9ecacf4b __class_create +EXPORT_SYMBOL_GPL vmlinux 0x9f1688e2 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x9f19ed69 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x9f2f810c rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fcfed66 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fd5900b device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fedb268 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x9fef6a27 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa02354bb swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xa02482b2 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xa04f066c dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xa04f5440 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa06f9ff2 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xa07969ca usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xa0cbeabd usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xa0e81d3a ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xa0efb5b9 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xa121a85b tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa14bb294 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xa1608c8b relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1cab620 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xa1e89be0 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xa1f6bfcf __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xa20c6087 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xa22b90ad fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa2578d9c pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xa268b6b0 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa26de5f4 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0xa27a2db9 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xa292fec7 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xa2ad5d65 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa333df02 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa3438e68 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xa347a512 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xa3520d7f blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xa357d56e ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xa359409f yield_to +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa39d9220 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa418bd79 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xa435ea4d debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xa474858e ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa474993c remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xa4a3c342 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa4b9dfb9 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xa4e5099b tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xa510f4fd crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xa51bed9b kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xa548852e ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xa56ee4f6 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xa571f48d ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa5918186 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL_GPL vmlinux 0xa5e5218e __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa600d7b4 __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa620e7fb md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6c75f18 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa741bc91 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xa781851f da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xa7943be8 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xa7a07a63 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0xa7aadd42 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xa7be79b3 pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa7de6af2 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa7fe7b95 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xa8067c45 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0xa86195ab rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xa86c7840 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa86ca6ca skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa915a94e platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9cef14e usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xaa04cb0e security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xaa20bbb4 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xaa2853e9 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa375261 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xaa53501b __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0xaa66cf0b scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xab05f00d usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xab392289 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xab45c720 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xab5302a9 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xab6b7805 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab8624ab crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xaba54c4a wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xabe4f448 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xabfd9b7a bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xac212b43 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xac3092f2 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xacc5478a pmf_do_irq +EXPORT_SYMBOL_GPL vmlinux 0xacd1437c rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xacd6cc8a __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xacddf322 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacf2abdf device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad5cc6c6 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xad70266f dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xad729fd6 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc168f5 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xadd3c11a usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xadd5d5e8 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xadde3ab5 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae1d63be gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xae5d3d42 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae74df2b ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0xae7f4781 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xae850c89 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xaeec15f6 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xaefe363e pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0xaf403e8a get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xaf874a05 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xaf92fb73 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0xafbc45e6 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xafd2e155 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xb046da70 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xb079c138 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xb0913148 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0bebcf0 use_mm +EXPORT_SYMBOL_GPL vmlinux 0xb0cb45d7 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xb0e55ce5 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xb0e7c39d clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb11b4eca crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xb12d16d9 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb17d808c led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb196a2be usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1becbaa proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb2b3a518 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xb2b54dde srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xb2bfefc6 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xb2c0880c cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xb2cee51c crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xb2dc4a15 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2f0c558 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xb30f442c devres_find +EXPORT_SYMBOL_GPL vmlinux 0xb3204bad sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xb331e075 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xb3367735 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xb3546a49 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xb394edbf pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3c47bd3 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xb400446b sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xb4011bf2 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb463a6e5 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xb475f6da tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xb4870267 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xb4f9ed8d __css_put +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb528dac6 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb542069c wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb54c820c tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xb54dd8c8 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xb5662148 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xb5848a65 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb58b92b6 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xb58d64c4 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5974462 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xb59aec38 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5a6eb92 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xb5c8edf4 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5e0d49c mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xb5ea63db blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb5fbd3a4 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xb60b5707 of_i8042_aux_irq +EXPORT_SYMBOL_GPL vmlinux 0xb647f7be sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0xb64ea395 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xb66d6f45 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb68b1070 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xb692bda1 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6e75a1a cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0xb71da403 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb73904e6 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xb73bae04 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb7c57c85 ref_module +EXPORT_SYMBOL_GPL vmlinux 0xb7e62e62 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xb8095871 of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0xb81166e1 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xb83a4801 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xb83cf2dc tpm_write +EXPORT_SYMBOL_GPL vmlinux 0xb84d3887 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb86429b3 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xb885f24b ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb8c0c4e2 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xb8db513d wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xb9041f7c ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xb92ca57e get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xb9698b7d class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xb9806f9c sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xb9a6a6f0 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xb9aadb46 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xb9abbb69 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9da2997 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0xb9e21f03 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xba12ab85 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0xba158769 rtas_cancel_event_scan +EXPORT_SYMBOL_GPL vmlinux 0xba40c31a wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xba517fcf cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xba710f05 ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0xba82a5bf inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xbaa3e1ce ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xbab7eae6 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xbad26090 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb090714 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb1fbc0c ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xbb2abeae usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xbb591f1f posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xbb65390d rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xbb67263c __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xbb6f551e lock_media_bay +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb885753 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc24f776 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc90250b ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbcc65c27 pmac_i2c_find_bus +EXPORT_SYMBOL_GPL vmlinux 0xbd207c94 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xbd441420 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xbd4839d7 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd742ce2 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xbdabcf98 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbdc18a77 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdd2f42a rcu_bh_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0xbdda6c3e trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xbddf887a device_del +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe305d96 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xbe35dfc8 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xbe42069b ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xbe543af7 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xbe625048 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xbe8340c3 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xbeac6c5a security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xbee8fea7 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xbf1c5700 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf269ff1 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xbf8ca4b7 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xbf9154fb crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xbf9ef89f perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xbfc56829 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xbff3262a debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xc00131cf visitor64 +EXPORT_SYMBOL_GPL vmlinux 0xc0166493 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xc018513a pmac_i2c_get_adapter +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc061367e mpic_msgr_get +EXPORT_SYMBOL_GPL vmlinux 0xc065a455 cpu_core_index_of_thread +EXPORT_SYMBOL_GPL vmlinux 0xc074909f wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0bd55a9 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0e75cec visitor128 +EXPORT_SYMBOL_GPL vmlinux 0xc103c6b9 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xc1059a07 check_media_bay +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc13c7655 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0xc13f3a80 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc18e6494 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xc1bbe183 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xc1f401b3 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc27e2d54 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xc2b47207 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xc2f443dc ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xc30b3a36 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xc324f210 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xc344569c pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3ca38dc spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xc3d2b128 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc46d877e schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc48f50c0 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xc4ce8128 kick_process +EXPORT_SYMBOL_GPL vmlinux 0xc4e41533 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xc4ef0f68 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xc506635e tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xc5494e0e transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc58a387b lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xc5a18222 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xc5a79fab unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0xc5bd13bf file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xc5c1acd3 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xc5c31206 pmf_unregister_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xc5c60308 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xc5cd2c9b locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xc5cf177a ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xc5dc9ae1 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc5fb9ab8 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0xc606cd3c boot_cpuid +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc617947d sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc6791cb0 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc684fabe crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xc6a4aa13 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0xc6dae336 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xc6f1e63f mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xc6f2924d device_create +EXPORT_SYMBOL_GPL vmlinux 0xc6f4a294 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc74e651a __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xc7734221 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0xc79af6ab crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7d58689 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xc7f183b9 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xc7f66bfe seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xc80622a2 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xc8467314 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0xc8a06b68 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc9092795 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xc92795ff pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xc93800a3 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc973580e skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xc9ca415f sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xc9ce4f2b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f31dae blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0xc9f9fb96 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xca29368f pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xca4421d3 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca9794ef unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcad159aa ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb31f94e usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xcb48547d blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xcb500d46 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xcb9df393 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xcbbe45eb dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xcbc2c8dd atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcbc70c91 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbf88d02 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xcc1a5333 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc34ff2f ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xcc479a0a user_update +EXPORT_SYMBOL_GPL vmlinux 0xccaa1542 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xccb17b7c task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xccbf76e4 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce11171 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xcd0f7ed6 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xcd155e76 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xcd483a00 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xcd73ebcd hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcda4bf5d crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0xcdb01877 ktime_add_ns +EXPORT_SYMBOL_GPL vmlinux 0xcdc7708a add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdcb34b9 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce1b4316 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xce209b39 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xce37a940 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce51e242 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce6ce1fd inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xce78ed47 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xce8c5fd1 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xceb64eeb sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xceddfa74 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xceecbed0 pmac_i2c_get_bus_node +EXPORT_SYMBOL_GPL vmlinux 0xcf124494 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xcf60a70c usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xcf6632c0 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xcf68f0e1 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xcf7db975 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xcf87df14 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcfb24272 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfcfde34 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xd00652f3 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd05674c3 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xd06f6dc7 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xd077d9fb class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xd096107b usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xd09eb2d8 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd0b68211 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c401c1 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd11dc46b sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xd12eb17a tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xd1478cae skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd15c7c57 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd19d604f of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1cbb835 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0xd1e59121 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xd20787b6 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd2623a80 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd28e49eb rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd345aac9 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xd3498db6 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd3a02f43 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd3b7337b crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xd3be197a crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xd3d35724 device_move +EXPORT_SYMBOL_GPL vmlinux 0xd3e58246 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xd3f68ed1 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd43a1eef rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd46f47b3 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd53ddad0 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xd5439902 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xd582227a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd675c9d2 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xd678949d xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xd6b89a00 pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd6cc7e99 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xd6f09017 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xd6f49ffb da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd738210f rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xd76345d6 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76de942 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0xd76ff547 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd77b2fa4 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd78b08b8 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xd79b2cf0 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7e6c2e4 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xd814bc1f module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd8212792 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xd835c173 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8837128 swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0xd895aa38 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xd8d5a695 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xd8e7372a ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xd91fe10d crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xd94096de kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd944d8f9 ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0xd98cd924 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0xd9965d1f skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xd9bc8d2c ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xd9bee119 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xda0a4d22 mpic_msgr_enable +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda24f891 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda47a02d edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xda4c0859 user_read +EXPORT_SYMBOL_GPL vmlinux 0xda5920d6 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdafd1f3c securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb095c1c tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xdb2a587b blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xdb5c7bc5 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xdb733549 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xdb7cbcf1 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb9e8220 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xdbaade3e ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xdbad3c82 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xdbd65e8b kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc461430 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdcb07b7e dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xdcb222e9 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xdcb4a70a each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xdcb92867 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xdcb95776 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0xdcf502e8 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0xdd2cf4ab ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd4d2b99 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xdd5cb833 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xdd964a01 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xddc76a0f sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xddcbc533 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xdde5b3bb __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde640066 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xde68b586 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xde7c6527 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xde85ad90 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xde90c128 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xde92c395 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xdebe0f07 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xdeeb56be inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf27877b register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdf71d004 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xdfe35365 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xe0045a8e swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe012a707 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe02259c8 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0xe0243853 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe036b3e9 mpic_msgr_put +EXPORT_SYMBOL_GPL vmlinux 0xe038298e dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xe07ca631 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0908413 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xe0a13486 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0f22fd3 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xe10b0fe8 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xe134c2cf crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xe16591ab stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xe181bf50 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xe1e5bc68 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xe2136287 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0xe215f336 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xe240a915 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe24ba3dc ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xe2bee8b9 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xe2ca4a27 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe30162ec shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30bc540 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0xe30fac88 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0xe3105286 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe34cf93d regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xe37fb63d __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe392a690 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xe3b271ec da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe3bb6929 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xe3de1698 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xe3f08f76 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe3f20985 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe46e00be wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xe4718137 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xe47a0114 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xe48315e3 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xe49620d3 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xe4ab5edf ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe4bf2a8f driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xe4c031f8 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xe53d51e6 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0xe53e276d __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe543576f crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xe5504628 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe56e0ad5 pmf_call_function +EXPORT_SYMBOL_GPL vmlinux 0xe583ab63 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58db2af tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe592b23e blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0xe5d8eaf0 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xe5f640d3 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xe615f7be inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xe61c420a tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe62f715c cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe65acec3 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xe671f33c pmac_i2c_get_channel +EXPORT_SYMBOL_GPL vmlinux 0xe696981c br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xe6b5771a __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6e7c544 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xe7145917 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xe71d6a19 css_depth +EXPORT_SYMBOL_GPL vmlinux 0xe728005d input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe747fbad pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe7dafdc8 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xe7ec1cea ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xe7f2f05b crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe85690c3 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xe85c55e7 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe861446f __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8983066 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xe89e9571 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xe8b38cc6 __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xe8fc7b1c wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xe905ccab blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xe92a9203 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9beaeb1 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xea03640a sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xea048218 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xea04ea3e pmac_i2c_get_dev_addr +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea0a1200 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea470b13 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea5c4fcf key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xea7de434 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0xea89eea5 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xead1e194 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeaf18a18 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xeb25600f crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xeb2f04fe class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xeb4ddb17 pmf_get_function +EXPORT_SYMBOL_GPL vmlinux 0xeb8ae736 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xeba4c8da nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xebd27f76 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xebde6b19 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec4db890 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xec72c9c5 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xec81ddf2 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xecadafe3 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xecc2891b device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xecea75d0 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xed051d7f fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xed2f7afc tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xed47a92d fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xeda48d57 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xedbace98 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xedc2994d ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0xedf8756c adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee0600ab sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xee181347 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xeec3257c pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xeefc0543 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xef122cba rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef702c2d platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xefc67e94 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xf00cc401 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xf01c6361 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xf03de437 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xf03e908d sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0b116c4 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xf0d53d69 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xf0ecf7f6 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xf11627b4 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xf11942ad console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xf13e5b12 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf158f170 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18cca7d vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xf19cc912 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xf1a62b6f of_i8042_kbd_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1abb82e max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1e7d1d5 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xf203ca51 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xf22ee128 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xf249cb80 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xf29e2eec adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf2d4f705 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30e105d ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf34daff4 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf36b3d97 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf36db152 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf3859221 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xf38715d5 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xf3b2d27c wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3b9e650 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xf3d5fe5a fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf3e6c213 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf3ef5c55 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xf4859b70 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xf48ea030 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0xf492587a tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf4991a2b tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a22f4b pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf4fc8b4b cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf4ff4193 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf53ecd33 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf57fdb8a class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5be89b9 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xf5cc5abb rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL vmlinux 0xf65818b9 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xf69a9c1e uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xf6caf916 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xf6df2c74 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf70a90fb part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xf713ae23 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xf7257c06 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xf7316b75 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xf74e5d7a tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0xf78a4931 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xf79dd8fb rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xf7a88c8d xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xf7aa0552 fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0xf7adf73f i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf7fbc8aa usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf8068be8 __put_net +EXPORT_SYMBOL_GPL vmlinux 0xf813e006 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xf81990b7 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xf8254753 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf846506f irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf85da374 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0xf877429c pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8940340 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xf8d009ef stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xf8d3fd2e unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f99d7b sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf902c058 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xf9091ce7 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0xf9570539 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xf9628598 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b4878b evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa122cae ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa22702f devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xfa3b1dcb fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xfa553ac6 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfa9dd504 timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xfaa69431 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xfab60503 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb525dfc pmac_i2c_get_type +EXPORT_SYMBOL_GPL vmlinux 0xfb52b77d __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0xfb550d35 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xfb5a85a9 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb9ebbaa bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0xfb9f991e usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xfbbc4da6 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbe26d4f fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfbfc8709 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xfc579f32 pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0xfcc460f8 ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfcffb4e1 pmac_i2c_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xfd239f91 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfd255686 md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xfd365078 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xfd49ddba da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xfd56035c sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xfd56143f shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xfd590497 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xfd6abd3d page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdcc7929 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe528ba8 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe9a2e5b bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed8a3de devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xfeea1ffd transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xfef7bf9e __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff1b9367 of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xff2dc971 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xff5939c5 device_register +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff7b3695 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffc4ddee usb_hcd_resume_root_hub --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/powerpc/powerpc-smp.compiler +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/powerpc/powerpc-smp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/powerpc/powerpc-smp.modules +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/powerpc/powerpc-smp.modules @@ -0,0 +1,3220 @@ +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250 +8250_dw +8250_pci +8390 +88pm860x_bl +88pm860x_onkey +88pm860x-ts +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870_bl +aat2870-regulator +ab3100 +ab3100-otp +ac97_bus +acard-ahci +acecad +acenic +act200l-sir +act_csum +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad2s1200 +ad2s1210 +ad2s90 +ad5064 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5504 +ad5624r_spi +ad5686 +ad5764 +ad5791 +ad5930 +ad5933 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7152 +ad7192 +ad7280a +ad7291 +ad7298 +ad7314 +ad7414 +ad7418 +ad7476 +ad7606 +ad7746 +ad7780 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad799x +ad8366 +ad9832 +ad9834 +ad9850 +ad9852 +ad9910 +ad9951 +adcxx +ade7753 +ade7754 +ade7758 +ade7759 +ade7854 +ade7854-i2c +ade7854-spi +adfs +adi +adis16060 +adis16080 +adis16130 +adis16201 +adis16203 +adis16204 +adis16209 +adis16220 +adis16240 +adis16260 +adis16400 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5520_bl +adp5520-keys +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +ads1015 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adummy +adutux +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxrs450 +af_802154 +af9013 +af9033 +af_alg +affs +af_key +af-rxrpc +ah4 +ah6 +aha152x_cs +ahci_platform +aic79xx +aic7xxx +aic94xx +aiptek +aircable +airo +airo_cs +airport +ak881x +ak8975 +alauda +algif_hash +algif_skcipher +ali-ircc +alim7101_wdt +alphatrack +altera-ci +altera_jtaguart +altera_ps2 +altera-stapl +altera_uart +ambassador +amc6821 +amd5536udc +amd8111e +ams +ams369fg06 +analog +ansi_cprng +ans-lcd +anubis +aoe +apds9802als +apds990x +apm_emu +apm-emulation +apm_power +apm-power +appledisplay +appletalk +appletouch +applicom +ar7part +arc4 +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +as5011 +asc7621 +asix +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +atbm8830 +aten +ath +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atxp1 +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo_k1900fb +auo_k1901fb +auo_k190x +auo-pixcir-ts +authenc +authencesn +auth_rpcgss +autofs4 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +bas_gigaset +batman-adv +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bch +bcm203x +bcm3510 +bcm5974 +bcma +bcma-hcd +bcm_wimax +be2iscsi +be2net +befs +belkin_sa +bfa +bfs +bfusb +bh1770glc +bh1780gli +binfmt_misc +block2mtd +blowfish_common +blowfish_generic +bluecard_cs +bluetooth +bma150 +bmac +bmp085-i2c +bmp085-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bonding +bpa10x +bpck +bpck6 +bpqether +bq27x00_battery +br2684 +brcmfmac +brcmsmac +brcmutil +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +btwilink +bu21013_ts +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c4 +c67x00 +cachefiles +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +camellia_generic +can +can-bcm +can-dev +can-gw +can-raw +capi +capidrv +capmode +carl9170 +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cc770 +cc770_isa +cc770_platform +c_can +c_can_platform +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc_ncm +cdc-phonet +cdc_subset +cdc-wdm +ceph +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +chipreg +chnl_net +ci13xxx_pci +cifs +ci_hdrc +cirrusfb +clearpad_tm1217 +clip +cls_basic +cls_cgroup +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +cma3000_d0x +cma3000_d0x_i2c +cmtp +cnic +cobra +coda +com20020 +com20020_cs +com20020-pci +com90io +com90xx +comm +configfs +cordic +core +cp210x +cpia2 +cpqarray +cpufreq_stats +cpu-notifier-error-inject +c-qcam +cramfs +crc7 +crc8 +crc-ccitt +crc-itu-t +cryptd +cryptoloop +crypto_null +crypto_user +crystalhd +cs5345 +cs53l32a +ctr +cts +cuse +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxd2099 +cxd2820r +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxt1e1 +cy8ctmg110_ts +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +cyttsp_core +cyttsp_i2c +cyttsp_spi +da9030_battery +da9034-ts +da903x +da903x_bl +da9052_bl +da9052_onkey +da9052-regulator +da9052_tsi +da9052_wdt +DAC960 +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +ddbridge +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +denali +des_generic +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +divacapi +divadidd +diva_idi +diva_mnt +divas +dl2k +dlci +dlm +dm1105 +dm9601 +dm-bufio +dm-crypt +dmfe +dm-log +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-thin-pool +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2001plus +docecc +docg3 +docg4 +docprobe +donauboe +dpt_i2o +drbd +drm +drm_kms_helper +drm_usb +drxd +drxk +ds1621 +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds620 +dsa_core +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt3155v4l +dtl1_cs +dummy +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-it913x +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dwc3 +dwc3-omap +dwc3-pci +dynapro +e100 +e1000 +e1000e +earth-pt1 +easycap +eata +ebt_802_3 +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ec100 +echo +edac_core +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efs +egalax_ts +ehv_bytechan +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +emc1403 +emc2103 +emc6w201 +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_pcmcia +ems_usb +em_text +emu10k1-gp +em_u32 +enc28j60 +enclosure +eni +enic +epat +epia +epic100 +eql +esd_usb2 +esi-sir +esp4 +esp6 +et131x +ethoc +evbug +exofs +ext2 +extcon_class +extcon_gpio +extcon-max8997 +f75375s +f81232 +fakephp +farsync +fat +faulty +fb_sys_fops +fc0011 +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fixed +floppy +fm801-gp +fm_drv +fmvj18x_cs +forcedeth +fore_200e +freevxfs +friq +frpw +fsa9480 +fscache +fsl_elbc_nand +ft1000 +ft1000_pcmcia +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +fusb300_udc +g450_pll +g760a +g_acm_ms +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +g_dbgp +gdmwm +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_ffs +gfs2 +ghash-generic +g_hid +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_mass_storage +g_midi +g_ncm +g_nokia +go7007 +go7007-usb +goku_udc +gp2ap002a00f +gpio-74x164 +gpio-addr-flash +gpio-adp5520 +gpio-adp5588 +gpio-charger +gpio-fan +gpio-generic +gpio-ir-recv +gpio-janz-ttl +gpio_keys +gpio_keys_polled +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mc33880 +gpio-mcp23s08 +gpio-ml-ioh +gpio_mouse +gpio-pca953x +gpio-pcf857x +gpio-rdc321x +gpio-regulator +gpio_tilt_polled +gpio-tps65912 +gpio-twl4030 +gpio_vbus +gpio-vx855 +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +g_printer +gre +grip +grip_mp +g_serial +gspca_benq +gspca_conex +gspca_cpia1 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtco +guillemot +gunze +g_webcam +gxt4500 +g_zero +hamachi +hampshire +hanwang +hci +hci_uart +hci_vhci +hdlc +hdlc_cisco +hdlcdrv +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdpvr +he +hexium_gemini +hexium_orion +hfc4s8s_l1 +hfcmulti +hfcpci +hfcsusb +hfc_usb +hfs +hfsplus +hid +hid-a4tech +hid-apple +hid-aureal +hid-axff +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-dr +hid-elecom +hid-emsff +hid-ezkey +hid-gaff +hid-generic +hid-gyration +hid-holtekff +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-logitech +hid-logitech-dj +hid-magicmouse +hid-microsoft +hid-monterey +hid-multitouch +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-picolcd +hid-pl +hid-primax +hid-prodikeys +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-kovaplus +hid-roccat-pyra +hid-saitek +hid-samsung +hid-sjoy +hid-sony +hid-speedlink +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-uclogic +hid-wacom +hid-waltop +hid-wiimote +hid-zpff +hid-zydacron +hifn_795x +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +hmc5843 +hmc6352 +hopper +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hpfs +hpilo +hpsa +hptiop +hsi +hsi_char +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-designware-core +i2c-designware-pci +i2c-dev +i2c-diolan-u2c +i2c-eg20t +i2c-gpio +i2c-hydra +i2c-i801 +i2c-intel-mid +i2c-isch +i2c-matroxfb +i2c-mpc +i2c-mux +i2c-mux-gpio +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-nforce2 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-xiic +i2o_block +i2o_bus +i2o_config +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i6300esb +i740fb +i82092 +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmpex +ib_mthca +ib_sa +ib_srp +ib_srpt +ib_ucm +ib_umad +ib_uverbs +ics932s401 +idmouse +idt77252 +ieee802154 +ifb +iforce +igb +igbvf +iio_dummy +iio_hwmon +iio-trig-gpio +iio-trig-periodic-rtc +iio-trig-sysfs +ili210x +ili9320 +imm +imon +imx074 +ina2xx +industrialio +inet_diag +inexio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +interact +ioc4 +io_edgeport +io_ti +iowarrior +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_REJECT +ip6t_rpfilter +ip6t_rt +ip6_tunnel +ipack +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ipoctal +ipr +ips +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netport +ip_set_list_set +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_ah +ipt_CLUSTERIP +ipt_ECN +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_rpfilter +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ircomm-tty +irda +irda-usb +ir-jvc-decoder +ir-kbd-i2c +irlan +ir-lirc-codec +ir-mce_kbd-decoder +ir-nec-decoder +irnet +ir-rc5-decoder +ir-rc5-sz-decoder +ir-rc6-decoder +ir-sanyo-decoder +ir-sony-decoder +irtty-sir +ir-usb +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdn +isdn_bsdcomp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1301 +isp1362-hcd +isp1704_charger +isp1760 +it913x-fe +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iw_cxgb4 +iwl3945 +iwl4965 +iwlegacy +iwlwifi +iwmc3200top +iwmc3200wifi +iw_nes +ix2505v +ixgb +ixgbe +ixgbevf +ixj +ixj_pcmcia +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jsm +kafs +kalmia +kaweth +kbic +kbtab +kernelcapi +keucr +keyspan +keyspan_pda +keyspan_remote +kfifo_buf +khazad +kingsun-sir +kl5kusb105 +kobil_sct +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ksz884x +ktti +kvaser_pci +kxsd9 +kxtj9 +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_ppp +l4f00242t03 +l64781 +lanai +lapb +lapbether +latch-addr-flash +lcd +ld9040 +ldusb +lec +leds-88pm860x +leds-adp5520 +leds-bd2802 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3533 +leds-lp3944 +leds-lp5521 +leds-lp5523 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-ot200 +leds-pca9532 +leds-pca955x +leds-pca9633 +leds-regulator +leds-tca6507 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +ledtrig-transient +legousbtower +lg2160 +lgdt3305 +lgdt330x +lgs8gxx +lg-vl600 +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libceph +libcrc32c +libcxgbi +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libore +libosd +libsas +libsrp +lightning +line6usb +lineage-pem +linear +lirc_bt829 +lirc_dev +lirc_igorplugusb +lirc_imon +lirc_parallel +lirc_sasem +lirc_serial +lirc_sir +lirc_ttusbir +lirc_zilog +lis3l02dq +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +litelink-sir +lkkbd +llc +llc2 +ll_temac +lm3533_bl +lm3533-core +lm3533-ctrlbank +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lm95245 +lmc +lms283gf05 +lnbp21 +lnbp22 +lockd +logger +lp +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +ltc4151 +ltc4215 +ltc4245 +ltc4261 +ltv350qv +lzo +m25p80 +m52790 +m88rs2000 +ma600-sir +mac53c94 +mac80211 +mac80211_hwsim +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mace +mac-gaelic +mac-greek +mac_hid +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +macvlan +macvtap +magellan +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +matrix-keymap +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max11801_ts +max1363 +max1586 +max16065 +max1619 +max1668 +max17040_battery +max17042_battery +max2165 +max3100 +max3107 +max6639 +max6642 +max6650 +max6875 +max7359_keypad +max8649 +max8660 +max8903_charger +max8925_bl +max8925_onkey +max8925_power +max8925-regulator +max8952 +max8997 +max8997_charger +max8998 +max8998_charger +mb862xxfb +mb86a16 +mb86a20s +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc44s803 +mceusb +mcp2120-sir +mcp251x +mcp3021 +mcs5000_ts +mcs7780 +mcs7830 +mcs_touchkey +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +mdio-mux +mdio-mux-gpio +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mem2mem_testdev +memstick +mesh +metronomefb +metro-usb +mfd +mga +michael_mic +microtek +minix +mip6 +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mma8450 +mmc_block +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpr121_touchkey +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrst_max3110 +msdos +msp3400 +mspro_block +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9t112 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtd_dataflash +mtdoops +mtdram +mtdswap +mtip32xx +mtouch +multipath +musb_hdrc +mv643xx_eth +mv88e6060 +mv88e6xxx_drv +mvsas +mv_udc +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxl111sf-demod +mxl111sf-tuner +mxl5005s +mxl5007t +mxser +myri10ge +nand +nand_bch +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +nci +ncpfs +ne2k-pci +neofb +net1080 +net2272 +net2280 +netconsole +netjet +netprio_cgroup +netrom +netxen_nic +newtonkbd +nfc +nf_conntrack +nf_conntrack_amanda +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_ipv4 +nf_conntrack_ipv6 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_proto_dccp +nf_conntrack_proto_gre +nf_conntrack_proto_sctp +nf_conntrack_proto_udplite +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nfcwilink +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_proto_dccp +nf_nat_proto_gre +nf_nat_proto_sctp +nf_nat_proto_udplite +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nfnetlink +nfnetlink_acct +nfnetlink_cttimeout +nfnetlink_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +ngene +n_hdlc +nicstar +nilfs2 +niu +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp437 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +nmclan_cs +nop-usb-xceiv +nosy +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc-ircc +nsp32 +nsp_cs +ntc_thermistor +ntfs +n_tracerouter +n_tracesink +nvidiafb +nvme +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ocrdma +ofpart +of_serial +old_belkin-sir +omap4-keypad +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +openvswitch +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +osd +osdblk +osst +oti6858 +output +ov2640 +ov5642 +ov6650 +ov7670 +ov772x +ov9640 +ov9740 +overlayfs +oxu210hp-hcd +ozwpan +p54common +p54pci +p54spi +p54usb +p8022 +p8023 +palmas-regulator +pandora_bl +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pata_ali +pata_amd +pata_arasan_cf +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cs5536 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pcmcia +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc300too +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_can +pch_gbe +pch_phub +pch_uart +pch_udc +pci +pci200syn +pcips2 +pci-stub +pcmcia +pcmcia_core +pcmciamtd +pcmcia_rsrc +pcnet32 +pcnet_cs +pcrypt +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pcmcia +peak_usb +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +physmap_of +pixcir_i2c_ts +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +plx_pci +pm2fb +pm3fb +pm8001 +pmc551 +pmcraid +pmu_battery +pn533 +pn544 +pn544_hci +pn_pep +poseidon +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppox +ppp_synctty +pps_core +pps-gpio +pps-ldisc +pps_parport +pptp +prism2_usb +ps2mult +psmouse +psnap +pt +pti +pvrusb2 +pwc +qcaux +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas408 +qmi_wwan +qnx4 +qnx6 +qt1010 +qt1070 +quatech2 +quota_tree +quota_v1 +quota_v2 +r128 +r592 +r6040 +r8169 +r8187se +r8192e_pci +r8192u_usb +r852 +r8712u +r8a66597-hcd +r8a66597-udc +rack-meter +radeon +radio-i2c-si470x +radio-keene +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +radio-timb +radio-usb-si470x +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramoops +raw +ray_cs +rbd +rc5t583-regulator +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-em-terratec +rc-encore-enltv +rc-encore-enltv2 +rc-encore-enltv-fm53 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-imon-mce +rc-imon-pad +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lirc +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-pctv-sedna +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-snapstream-firefly +rc-streamzap +rc-tbs-nec +rc-technisat-usb2 +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-trekstor +rc-tt-1500 +rc-twinhan1027 +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-winfast +rc-winfast-usbii-deluxe +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +redrat3 +reed_solomon +reiserfs +renesas_usbhs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill-regulator +ring_sw +rio500 +rionet +rivafb +rj54n1cb0c +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800pci +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-88pm860x +rtc-ab3100 +rtc-bq32k +rtc-bq4802 +rtc-cmos +rtc_cmos_setup +rtc-da9052 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3232 +rtc-ds3234 +rtc-em3027 +rtc-fm3130 +rtc-generic +rtc-isl12022 +rtc-isl1208 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max8925 +rtc-max8998 +rtc-mc13xxx +rtc-msm6242 +rtc-pcap +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3029c2 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-twl +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl2830 +rtl8150 +rtl8180 +rtl8187 +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192se +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rts5139 +rts_pstor +rxkad +s1d13xxxfb +s2250 +s2250-loader +s2255drv +s2io +s3fb +s5h1409 +s5h1411 +s5h1420 +s5m8767 +s6e63m0 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7191 +saa7706h +safe_serial +salsa20_generic +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_sil +sata_sil24 +sata_sis +sata_sx4 +sata_uli +sata_via +sata_vsc +savage +savagefb +sbe-2t3e3 +sbs-battery +sc92031 +sca3000 +sch_atm +sch_cbq +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_fq_codel +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_tbf +sch_teql +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sctp_probe +sdhci +sdhci-of-esdhc +sdhci-of-hlwd +sdhci-pci +sdhci-pltfm +sdio_uart +sdricoh_cs +sedlbauer_cs +seed +seeq8005 +sep_driver +seqiv +ser_gigaset +serial_cs +serio_raw +sermouse +serpent_generic +serport +serqt_usb2 +ses +sfc +sha512_generic +shpchp +sht15 +sht21 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sierra_net +sil164 +sir-dev +sis +sis190 +sis5595 +sis900 +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_of_platform +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slcan +slip +slram +sm501 +sm501fb +sm7xx +smb347-charger +smc91c92_cs +sm_common +sm_ftl +smm665 +smsc47m192 +smsc75xx +smsc9420 +smsc95xx +smsc-ircc2 +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-als4000 +snd-aoa +snd-aoa-codec-onyx +snd-aoa-codec-tas +snd-aoa-codec-toonie +snd-aoa-fabric-layout +snd-aoa-i2sbus +snd-aoa-soundbus +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bt87x +snd-ca0106 +snd-cmipci +snd-cs4281 +snd-cs46xx +snd-cs5530 +snd-cs5535audio +snd-cs8427 +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-firewire-lib +snd-firewire-speakers +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxygen +snd-oxygen-lib +snd-page-alloc +snd-pcm +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-powermac +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-sb16-dsp +snd-sb-common +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-soc-88pm860x +snd-soc-ad1836 +snd-soc-ad193x +snd-soc-ad73311 +snd-soc-adau1373 +snd-soc-adav80x +snd-soc-ads117x +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4641 +snd-soc-ak4642 +snd-soc-ak4671 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-core +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs42l51 +snd-soc-cs42l52 +snd-soc-cs42l73 +snd-soc-cx20442 +snd-soc-da7210 +snd-soc-dfbmcs320 +snd-soc-jz4740-codec +snd-soc-l3 +snd-soc-lm4857 +snd-soc-lm49453 +snd-soc-max9768 +snd-soc-max98088 +snd-soc-max98095 +snd-soc-max9850 +snd-soc-max9877 +snd-soc-mc13783 +snd-soc-ml26124 +snd-soc-pcm3008 +snd-soc-rt5631 +snd-soc-sgtl5000 +snd-soc-simple-card +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-sta32x +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic3x +snd-soc-tlv320dac33 +snd-soc-tpa6130a2 +snd-soc-twl4030 +snd-soc-twl6040 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wl1273 +snd-soc-wm1250-ev1 +snd-soc-wm2000 +snd-soc-wm2200 +snd-soc-wm5100 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8727 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8955 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8962 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8983 +snd-soc-wm8985 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8991 +snd-soc-wm8993 +snd-soc-wm8994 +snd-soc-wm8995 +snd-soc-wm8996 +snd-soc-wm9081 +snd-soc-wm9090 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usbmidi-lib +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +soc_mediabus +softdog +softing +softing_cs +solo6x10 +solos-pci +soundcore +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntpc +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_decpc +speakup_dectlk +speakup_dtlk +speakup_dummy +speakup_keypc +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +spectrum_cs +speedfax +speedtch +spi-altera +spi-bitbang +spi-butterfly +spidev +spi-dw +spi-dw-midpci +spi-gpio +spi_ks8995 +spi-lm70llp +spi-oc-tiny +spi-tle62x0 +spi-topcliff-pch +squashfs +sr030pc30 +ssb +ssb-hcd +ssfdc +sst25l +ssu100 +st +st1232 +starfire +stb0899 +stb6000 +stb6100 +st_drv +stex +stinger +stir4200 +stkwebcam +stmmac +stmpe-keypad +stmpe-ts +stowaway +stp +streamzap +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv6110 +stv6110x +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +swim3 +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_i2c_rmi4 +synaptics_usb +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t1pci +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +tc3589x-keypad +tca6416-keypad +tca8418_keypad +tcm825x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bic +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18271 +tda18271c2dd +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tef6862 +tehuti +tekram-sir +teles_cs +test-kstrtox +test_power +tg3 +tgr192 +therm_windtunnel +thmc50 +ths7303 +ti_dac7512 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timb_dma +timberdale +timblogiw +timbuart +timed_gpio +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlv320aic23b +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmiofb +tmp102 +tmp401 +tmp421 +tmscsim +toim3232-sir +touchit213 +touchright +touchwin +tpci200 +tpm_atmel +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65090-regulator +tps65217 +tps65217-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +trancevibrator +tranzport +tridentfb +ts_bm +tsc2005 +tsc2007 +tsc40 +ts_fsm +ts_kmp +tsl2550 +tsl2563 +tsl2583 +tsl2x7x_core +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tusb6010 +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw9910 +twidjoy +twl4030_charger +twl4030_keypad +twl4030-madc +twl4030-madc-hwmon +twl4030-pwrbutton +twl4030-usb +twl4030-vibra +twl4030_wdt +twl6030-pwm +twl6030-usb +twl6040-vibra +twofish_common +twofish_generic +typhoon +u132-hcd +uartlite +uas +ub +ubi +ubifs +ucb1400_core +ucb1400_ts +udc-core +udf +udl +udlfb +udp_diag +ueagle-atm +ufs +ufshcd +uio +uio_aec +uio_cif +uio_netx +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uli526x +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +uninorth-agp +unix_diag +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usb_gigaset +usbhid +usbip-core +usbip-host +usbkbd +usblcd +usbled +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +usb_wwan +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +uwb +v4l2-common +v4l2-int-device +v4l2-mem2mem +vcan +ves1820 +ves1x93 +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +vhost_net +via +via686a +via-ircc +via-rhine +via-sdmmc +via-velocity +videobuf2-core +videobuf2-dma-contig +videobuf2-memops +videobuf2-vmalloc +videobuf-core +videobuf-dma-contig +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_mmio +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtio_scsi +virtual +visor +vivi +vivopay-serial +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_pio2 +vme_tsi148 +vme_user +vme_vmivme7805 +vmwgfx +vmxnet3 +vp27smpx +vpx3220 +vs6624 +vsxxxaa +vt6655_stage +vt8231 +vt8623fb +vub300 +vx855 +vxge +w1_bq27000 +w1_ds2408 +w1_ds2423 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_ds2780 +w1_ds2781 +w1-gpio +w1_smem +w1_therm +w35und +w5100 +w5300 +w6692 +w83781d +w83791d +w83792d +w83793 +w83795 +w83977af_ir +w83l785ts +w83l786ng +w9966 +wacom +wacom_i2c +wacom_w8001 +walkera0701 +wanrouter +wanxl +warrior +wbsd +wdrtas +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +windfarm_core +wire +wis-ov7640 +wis-saa7113 +wis-saa7115 +wis-sony-tuner +wis-tw2804 +wis-tw9903 +wis-uda1342 +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl3501_cs +wlags49_h25_cs +wlags49_h2_cs +wlcore +wlcore_sdio +wlcore_spi +wm831x_backup +wm831x_bl +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x-ts +wm831x_wdt +wm8350-hwmon +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994-regulator +wm97xx-ts +wp512 +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +xc4000 +xc5000 +xcbc +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_ro +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_ipcomp +xfrm_user +xfs +xgifb +xilinx_emac +xilinx_emaclite +xilinx_ps2 +xilinx_uartps +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_addrtype +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNSECMARK +xt_conntrack +xt_cpu +xt_CT +xt_dccp +xt_devgroup +xt_dscp +xt_DSCP +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_HMARK +xt_IDLETIMER +xt_iprange +xt_ipvs +xtkbd +xt_LED +xt_length +xt_limit +xt_LOG +xt_mac +xt_mark +xt_multiport +xt_nfacct +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_RATEEST +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_TCPOPTSTRIP +xt_tcpudp +xt_TEE +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xz_dec_test +yam +yealink +yellowfin +yenta_socket +yurex +zatm +zaurus +zd1201 +zd1211rw +zhenhua +zio +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +znet +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/powerpc/powerpc64-smp +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/powerpc/powerpc64-smp @@ -0,0 +1,12934 @@ +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x25d736a4 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x4f53d750 bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x5c165453 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x1c32c0bf pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x2fe7440a pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x461197a2 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x4fbc1dca pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x5dd6dc8a pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x6db9dfbc pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xb54306cc paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xbda3d134 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xcb6137d9 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xd19fd252 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xd2110044 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xebf123a2 pi_read_regr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1348760d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x16dcec76 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1a10c898 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1aba5db8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c971bec ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x524f6f51 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5e80f37c ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5fcdcc05 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67cb9784 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x78fd36e7 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x85677fd4 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8c8ee770 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x94580e55 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96cbcc81 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa28a2ace ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa2a98b91 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb744f559 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe0fa83f2 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe2cd0dd5 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6ab72a6 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe8ee1622 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2576cb9 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/edac/edac_core 0xcc31615b edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x02af9fe9 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04d0f641 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x05754181 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x09ab3c5b fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f7d6af8 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x19bdceeb fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1a42464d fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x58780409 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5c39138d fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x628ffb74 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x64325843 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x645b715f fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65c9438b fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x67660e9e fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6d333f12 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x70068aba fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x74cefd67 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x74d47da1 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x76e38858 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8a21f80e fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8bcbe8cd fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x98c06391 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9bd2366f fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafa1b76d fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb6967ff2 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc54ceb71 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd2a30455 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe9c6178b fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xebe2b5cf fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xeee172e3 fw_core_remove_card +EXPORT_SYMBOL drivers/gpu/drm/drm 0x003c7ef1 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x015c4620 drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x029d2b38 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02aa2644 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03250dde drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0489a49e drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04af1a05 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0701b412 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08412968 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08bcb96e drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09903806 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a5c51b5 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ba666cd drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e8ff9e2 drm_prime_add_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f076286 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f64d19b drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f739d9c drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f82e87f drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1034e8a4 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1113528d drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11b876b7 drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12d95c10 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13ad694f drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x148bb5d4 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15b2c2c4 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1619c2e4 drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1692178e drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1784700e drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18fe98e1 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x192c6de0 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bccdf4c drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d72a5fa drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dd074c5 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fb05083 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21f9b4ca drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2204f7b6 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23714db6 drm_prime_remove_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2396f958 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x254e7533 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25e03f1a drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28ea2fa4 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a8d844f drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dfcdf2b drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e4ebed2 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f902831 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x300ff8fe drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3131e990 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3255403d drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32c307d6 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34cad11d drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36e8bf60 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37445c75 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39131c59 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac1fef9 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb37b9d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fdae149 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ffc66b0 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x403463e1 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40b90c63 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40ff876a drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4197e469 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41de6d1b drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4250a315 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42f003bb drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43d6054e drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4762e9d1 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47d586f2 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48395b91 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a934501 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4adb29ce drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b65545b drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b6c17b7 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cc18560 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fd8943b drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x511896e5 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x519f0bad drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52b504ec drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x549b2f7d drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c31bb6 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5900666c drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aac4024 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ab57f96 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b92544f drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d072ec2 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d6f4a35 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d7318dc drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fb39261 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6044956f drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61c0c05a drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61d327fd drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629c05e1 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62e17714 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6484d31a drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65656881 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6692ae34 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66f8b2b9 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6899b01c drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68b1867f drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a532226 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6add4d34 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b40eb15 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6dec15c3 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ec810b2 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f6219c1 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f89baa3 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70baf4cb drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73e91575 drm_prime_lookup_imported_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x742df98c drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75bdf69f drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a8f4a98 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a9230d4 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c3d88d1 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cb26d39 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d8fe09a drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x804d006e drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80b8a494 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80dbdab6 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83d8e85f drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x863a4010 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ae63ef9 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b136dec drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c25b08b drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8de13715 drm_format_vert_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfb019d drm_buffer_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f2c28b2 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f67e148 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91b07542 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x921dbacb drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9612ac72 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96ff60ec drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99f91de4 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a50216e drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b29e727 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b402ae6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b731059 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c76316d drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c9f5d8a drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9dd2c6b7 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0acb253 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa21b3df0 drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5e83752 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7984573 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa9571ed drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae928b28 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0092f91 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb43d9e55 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5540008 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7cb3845 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb93ce83e drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9ab6889 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9c201b9 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba7c744d drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd7008d0 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe133253 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0af0220 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2cccd02 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc372fbbe drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc38a8bb8 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4222350 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc74df41e drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc793914d drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca878f84 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb5d1590 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc97c1a6 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce0bb45c drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfd08976 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd303731b drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3bd68c9 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3f0a9be drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd431287e drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd48e3f86 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd80d13bc drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda19192a drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda65c626 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda777a92 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc2bf8a5 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde4a3e15 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdef2d470 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf4ca3d8 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf5e704c drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe09e4db1 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0f83154 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe28843c0 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2fc3d4d drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4ea70f2 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe56c05b0 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bda1aa drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5f4c61f drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6403777 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe952ca4b drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaf76923 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecf67ab6 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedca5fe0 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2c80271 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf59c8776 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbc246fc drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcbf81ff drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd227c10 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfef3974d drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfef578bc drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0041757a drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07d0f139 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1005feaf drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d77f44f drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x278de5a9 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3dc64aa0 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4065be82 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4bab7935 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x532dcb66 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55fad09d drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x568050db drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x581a4b3a drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c12a7ef drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x663eda61 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c47e7a7 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x866a3d09 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8965dbbf drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91e490ea drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99e3a42b drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ba07cfe drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9dce85ec i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9edd4ae9 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa63b2cfe drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa2f163b drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac64ec92 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc223ee4d drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd02c73c7 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd44fd485 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd805c5bc drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc2980ef drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe3c36c03 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5dd8b7b drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0e0f11d drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x2461db19 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xc38b7a2f drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xe0be584a drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x04b94785 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x087727b5 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x093ef13e ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x09d75fb9 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x145e6a73 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x158d3739 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d89df73 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2ad7273c ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e797149 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x36a7cbaa ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a552061 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3dee5688 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fa8687d ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fcfb8ff ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fd155ed ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x432352a3 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x43626bbb ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x447b0274 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e8dd264 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x560adcce ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x564e1aee ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x595ab991 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e34e0ad ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x687cf452 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6904a757 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6eaa8d65 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x77d3bfca ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7dcb1e64 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80d86f0e ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85477881 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8832162b ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8a0d0077 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d14adbf ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x940438e7 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x98ff5f01 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9a1a1fc1 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9b2be07d ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9d06ced6 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa01ce2e7 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa068577d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa2766e64 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa301f2ba ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa54343e0 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa550f248 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa72a1c2e ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa77a3640 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa916d2a2 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac843717 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb13e42f7 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb3201b17 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb70484eb ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb7ea0d44 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbad7531e ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc5c9e8f7 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf035709 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd145119c ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd2304a85 ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd27242fc ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5317994 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd7428eed ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd951c65e ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeda4ea20 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf42ff7c0 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfb734895 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfbc2c5ec ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfff3c250 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x0903c239 vid_from_reg +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0xef1c781c vid_which_vrm +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x49fffecf i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x4faee670 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x3db73ba5 amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x1b4c3787 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x1e8323e2 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x2a11a8db iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x2f427bc4 iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x3c2e60c6 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x3cd3c97f iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x58e73aef iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x5c1c73d3 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x644dc80e iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x680963e3 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0x86cdc4e6 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x951f2dce iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x9a37e702 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x9e06883a iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x9fde9db9 iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xab85ce31 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xb6f5cf4d iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xba865f66 iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xbf11e363 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xcebb2b8f iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xd80e9848 iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xee615065 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xf00e33b7 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xfe17b8f9 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x2912da12 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xa4892775 iio_kfifo_free +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x1ea5767b rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x32a8402c rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x37838b44 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x46448426 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9d1f522d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xa8f6808f rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x12f9c4a5 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x155b006f ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x20afe483 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x247069da ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x32445d63 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3deb11ce ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x41c809c6 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x48b18f14 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6f195f28 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6f45aab5 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x768a1b01 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb13dc4b1 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe07fbe64 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe2a935d6 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xeee2fac9 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf7bb934c ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf918cc5d cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01b096ec ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01f54fdf ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02e1d8eb ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x035f7f5d ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06febab5 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08ec6c84 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x090b9dec ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0dc306bf ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0dfd4440 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13dc8727 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14b2dc39 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14f84918 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x160d8036 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x171f99f1 ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x183be197 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1996d1e1 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19e671f7 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1bcae36d ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d7afab8 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1fd517e1 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22da8d3e ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25ccc7dc ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2954e106 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d2fbe55 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35aea880 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4782fe6b ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4799d533 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48a637ed ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4a605e4d ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b7e15fe ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ca93e2b ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4df2b64f ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50dbc447 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x583f3f33 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59b976eb ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d86fd9a ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e7518b6 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ea7418a ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63550c11 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64a030a8 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6710542f ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x690442f6 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69d06f73 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80634f27 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x862562d4 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86a52ac9 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9252be01 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x929b9956 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b0855b6 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa18ad17f ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa428e8d3 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa7a7fee ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xabb22b9a ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xafe7aca1 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1fb5f64 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2c7da7a ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5f06afb ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb61a2335 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb66c2851 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb8049053 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb898c26a ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbbdb486b ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb5dd12c ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbd79114 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd9a7fff ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdab112d ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2e2cdfd rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd574d2fb ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd828c7c9 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdaa04433 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc38f8d2 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe07fe868 ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe226be7c ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef1c871b ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf37a5b58 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0bc7afb0 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x25eb45b4 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x59b09a12 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5cc7df5a ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x72dbc541 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x94e2322b ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbfdf56f2 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd8ae329a ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe4e6e4f6 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf20ebf95 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf2cbc81b ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xfdb72ab3 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x27098ebc ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x30390555 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x39cbbac7 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5328d7a6 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5b3d8b56 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x7ba4b283 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9a1cd50d ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xbdcf9929 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf6b6444b ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x02f847bc ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x07cf5a51 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x18382f6a ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x184f3575 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x570d34ab iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5b1b60c5 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6113a84e iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x92373098 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x924b9591 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xc0f65384 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xeb9616b7 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf5155044 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x02037b26 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x04fa1eea rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0a2acd11 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x306ff186 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x30d39596 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x39fb7568 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4df127ed rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x587cda07 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x599c414e rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5ce62424 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6faecca0 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x962e3f5d rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9ea4afa1 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa339972b rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6b403fa rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc26a8bc6 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc65f4029 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcc1a1a63 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdb17508a rdma_resolve_route +EXPORT_SYMBOL drivers/input/gameport/gameport 0x01551acd __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x14349af5 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3d2c3f9a gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3fbfd6d4 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4c255428 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbabc1de2 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbfc8cc76 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe5006a56 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf0e54d76 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/input-polldev 0x224d7196 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x31b2fef0 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x512f5d3a input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc0c5b618 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xba1ade31 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x810be04b ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x9a7cb7e9 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xcaea672e ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xe5e289a7 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x17e7a3a4 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/sparse-keymap 0x020a27cd sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x26555efb sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x4b41d9e7 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x4f576d6a sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x646b93c4 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xb209af16 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x1ee30574 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x34ed0b72 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x0f4ce486 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x387c8503 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x387d890e capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x48ebb4af capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7292ab34 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x72a25a72 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x79b6da75 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x85159391 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x96a49ecb capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb234890f capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb749ba9e capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd05d1492 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xfd552f7a capi_message2str +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x2a89be9e avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3a5cae46 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4e0e7032 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5ae4204c b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x62559144 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6444eece b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x73709c40 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8c14ab3d b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa820f8e0 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xae0f5be0 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc282f322 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd23cbeae b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd84e7023 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd8537d08 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe45689d1 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x0c4116c6 t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x182320d2 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x198ab535 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x37df11a5 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x5831c697 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x6645babc b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x6fff6672 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x835f097a b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xaaa51f5d b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0x29562993 b1pcmcia_delcard +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xaec3240e b1pcmcia_addcard_m1 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xea620116 b1pcmcia_addcard_m2 +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1pcmcia 0xf14bf8b1 b1pcmcia_addcard_b1 +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x12ed3d96 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x23540a34 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x5fa46e30 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x837cf5f5 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf7439cd1 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x11e84000 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xf0049813 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x02397f62 hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x7f29ce36 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xe227344e FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xee93522c hisax_register +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xf0a16657 FsmNew +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xfc27303b HiSax_closecard +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xff2db2cf FsmDelTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x0d35c944 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x1b73f0a9 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x7395b410 isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x90d72a6b isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x92ffcce6 isac_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x402daa68 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x9535f1bd isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xc1f7ce46 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x3b71e4fc isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x59cc8a7e isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0x8ee38862 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/i4l/isdnhdlc 0xfd9d4c09 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x10be3723 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x16c053c3 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x19e700ff bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2ae1b209 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2ebc8eb9 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x46afbaf2 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x49c1936e dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4bb55092 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54451388 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x66c17292 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x69401d3b mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7712f245 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8224c75e mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8dcfe1c4 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x908495c0 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xacbf9105 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xadb0c9b7 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb1721bd2 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbc973a06 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc106121e mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd03b4249 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd3aec44d mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe22bde00 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe87943cf mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf783564c recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x60721da7 dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xa215f1b2 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/md/dm-log 0x5e7421c5 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x84c656c8 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x9b4c7c88 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xacc58515 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x1fa627d4 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x25f7b8e8 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x5fcac800 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7993bcb9 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x959e3e2e dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd11f0280 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/raid456 0x4ee11902 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x0d592e6a fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x367119b6 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x130c1054 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x2855328f mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x0e710dc9 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x20500216 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0xc2de8684 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xdcf52796 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x8fd9e666 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x47b127c5 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x45314ebe tua9001_attach +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0x0cb4b189 tuners +EXPORT_SYMBOL drivers/media/common/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/common/tuners/tuner-xc2028 0x938c7f62 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xf657ba75 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xbf74393e xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0881a0e4 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0a2cdc95 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1a3dec6b flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2f63f6a1 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x373c852a flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x46121ba0 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x65b03006 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6e03d242 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6fb92d78 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7fa87532 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9bf4158d flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb39313b9 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xba8f9308 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc1f26f02 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc2dfab07 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc30aae7d flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc451c35e flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd58d2810 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xef00e808 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf01b9e95 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x1dd3fbc9 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x3f6537e3 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x7bd30934 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xe64f2d22 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x0f10f526 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x1250f705 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x1e428f61 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x522e3778 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x68b8fa00 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x7bde2953 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x95ac6277 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xd6c7e60b dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xdcc4f516 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x0b6aba84 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0137cf3d dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x024bda1b dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x04d0cb77 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x06ac37eb dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c5802fa dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1427309f dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1679566c dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x249e4ceb dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x32706276 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4afa3ebd dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4c9af225 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4efe5190 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x53ac9087 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x57a80388 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5c0ea535 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6375839c dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x70af1058 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x78db694b dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7d019161 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7f4f9b54 dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x85a5e7d3 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb4b842ab dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbae8e46a dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcf589e8c dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd246847b dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd5ec6420 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd8f7184c dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd98fe70b dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf25078fa dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf28e7431 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf3399343 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf428e268 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf6a31618 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf889dc6b dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfb38f440 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x04922bd0 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x24007ccc dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x3e8fcdd3 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7f50f37b usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x88c114c7 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xbea29224 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe8f7ab30 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x0d8c3695 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x13e247e0 rc_map_af9005_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3d2ff9a5 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x476cd19f dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x684042d0 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x7854d14e dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8054302b dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x97d95c45 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xa602d90f dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb47559e0 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcf0a7501 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe82383aa dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf5776d60 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xffae6380 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x5f2e6015 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x3ce9ce2e af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x15db1bb1 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x33edbb22 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x0a51820d au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x1e615a9b au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x33447c7d au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x4c405a04 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x7ec9f1e6 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x9a430702 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xc30625f7 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xf85a3d52 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x20ad329b au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xbd90bdbd bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xbeb7e4f8 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x4f709e80 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xf1188966 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x781b3e8e cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xd0d863a2 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x670ff488 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x40f7793b cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x92937dc4 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0xb9807d09 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x1571bb34 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x2377e3b5 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x51d5058c dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x84a2454b dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xfa3b1ab4 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x05840525 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0b1e67cc dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0e939a62 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x166a003b dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x1c4be2d3 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x1e470337 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x3ccaac78 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x55fa7e8a dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x72b7316f dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x90794deb dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xade24767 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb5421176 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xddfbc545 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xf379d265 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xf600bc2e dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x04a202ae dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x26e78d42 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x3f505796 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x8cdf76c2 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xa3a608c5 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xd09181d3 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xe7b216a8 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x66125f71 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x7f144a49 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x887a6bed dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xf4990f76 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x00e7af92 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x04a3bde1 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0e4bad71 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x188074f1 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3cd071ba dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x46d0c124 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x67404ed3 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x76f583f6 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7989ed73 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x8c99eb34 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa918b2d4 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb4d5dc96 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbbf60577 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbc14141e dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe53a590a dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x1668505a dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x18b4c257 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x208460ca dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x2dc45374 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x31d5a1bf dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x33942fc4 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x597ee347 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5bd63bdb dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x788c707b dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x86a5af50 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x97edeaa2 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xaebf621d dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb265cfd3 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc7dc598a dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd5243c70 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xdefbeb21 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe7c66e8d dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf9f75cdd dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xfbbe36da dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x5a7e4b21 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x613b9c7b dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x8b2b58e7 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xcebb8981 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xefda4866 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xbe449b86 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xc2ebd340 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xb5b85c47 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x5074a276 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xb365c03f dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0xbdcadb79 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x1ab1e7f0 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xec0c9332 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x43647731 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x2f6b53d7 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x819c3f5e itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x3e14f8e2 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x1977ceae l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x71caf585 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x6b668b98 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x3eab8df0 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x7abbe6e3 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x8c6c29c6 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xb03b0d1b lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x931d64c7 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x4edf48d6 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x21faec48 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0xf0040c64 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x03e18fdd mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x182e0fef mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x08894bdf nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x0a1c6b56 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x94cece4a or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x55f6b673 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x13bb4787 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x99831931 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xa56ea55b s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xf4b5b9a4 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x421a4655 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x970da9b0 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xaf60ef7f s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x6d859f38 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x32e788b6 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x95472103 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xc37e0eae stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xaf3f870e stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x08deda11 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xd712ad91 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x391fbdf4 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xeace25b3 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x135b848c stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x89911ca3 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x6fa4a554 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xe23013a6 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xf93b8479 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xc6190025 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xf6febb06 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0xa90c3595 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x92d39c8b tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x8d92c889 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x29abb1fe tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x4992f871 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x91faf89b tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0xba293557 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x677ea43c tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x314f59bc tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x32689cff tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xd12204e7 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xe7f396cb tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x07ad3561 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xe738527a ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x84628fc6 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x42e53d80 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x72712abd zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xa73e10e8 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xc4e7eba2 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xef20ea68 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x058c906e lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x234f7067 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x3f234b8b lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x889b5991 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xa5e42a18 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbcf3aa81 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xc30437ab lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xea082c30 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3ba4f9e7 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x8d0af9a2 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x1590fd8f bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x263c2cb5 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x368f7892 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x37869526 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xad2fe38b btcx_sort_clips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xbe695f36 btcx_riscmem_alloc +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xc368f8e6 btcx_align +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xcda0ded2 btcx_screen_clips +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x07dbb41d cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x0ede3977 cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x532e1e32 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x767b7a5c cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xce5ec9ed cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x4df738f0 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xb1c40dd7 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x077722ba cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x28b5eae6 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x3db8be82 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx2341x 0x598131ce cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0xa40c9efc cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0xc184ec1e cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf76ce95 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/video/cx2341x 0xcf8b77a4 cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x09029016 altera_ci_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x2672f394 altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x647c6f47 altera_hw_filt_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x9247b72f altera_hw_filt_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x0a187a94 cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x0c99553e cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x31bd4c2f cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x58e600d8 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x8a3a139c cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x990d31a0 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xc98e4f4c cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xdbbad002 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xf35265a7 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xd1ec03d8 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xe295510b vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x1bd2b90d cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x43c7f1ac cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x5003ac42 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xb9abc123 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xd34e2341 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xe7f389be cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x3ecfe325 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5f2258c1 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x7aab518c cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xeba61f6b cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf2a2fee4 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf5893a51 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0835365c cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x17622bf2 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2777c0b5 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x374bb5d6 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x495314ac cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x50684389 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x64e24afc cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x77f19ad7 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x78194da6 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7d493dd8 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7fe1baa5 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8c46d7f8 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8efada71 cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9764df20 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xaed61097 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbeb7632e cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbf719d06 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbfe8569f cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc1feeaa0 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc6d68b12 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xeb3de6d9 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfd285a30 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x182175d7 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x2acbad9b em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x07708be8 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x1c0d2b5b gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6e02f93b gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x75339cae gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8c86e990 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa810cdb7 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xae9bd8a1 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe825ec23 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x1ff82d42 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x352de7ee ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3d2edd20 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x438dee08 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x44ad2b3b ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x59592e95 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5c671a25 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x7c2ca800 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb18fcdb6 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb73df2ad ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xcf5dfc29 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd154bc5d ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x14dfecc6 saa7134_boards +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5937f188 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x80746e18 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x808c5662 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x864b5970 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x97b56cc9 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa27124b5 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa5416af2 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc1aa0492 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc739547e saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xd7ba36c4 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe3e98b35 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf9af1f66 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x0434cfa9 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x96626ea7 soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x9e5c43ba soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xb068bef1 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0xc0b3f737 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd22db08f soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x500b8255 soc_mbus_find_fmtdesc +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x61871f65 soc_mbus_bytes_per_line +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0x7371455d soc_mbus_samples_per_pixel +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xc8b28da5 soc_mbus_config_compatible +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xde30e6b9 soc_mbus_image_size +EXPORT_SYMBOL drivers/media/video/soc_mediabus 0xfeaea44b soc_mbus_get_fmtdesc +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x19409ad9 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x3f6bf2cf tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x8ab689fe tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0x4c1c6e0c tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0x557c74ef tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4adaf0f3 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x53c9394f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5f96a661 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xb76c241f v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbb31b34b v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x430405cd v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x7862ac8b v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xe2276a55 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x19baa477 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x57cafaef videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x925194c6 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa3262c87 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa40d2b64 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xfecdc5d3 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x8c5e6f1b vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x052b4b42 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x071b9120 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x0b0226bb v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x0bb034ae v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x14f1ea04 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x1d4d3816 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x287997e5 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x36aaed39 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x39a1217e video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x3f631880 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x44a22aa1 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4a899da1 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x4b7b1bfe video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x51cd4ef8 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x55a2da3d v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x601e9839 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x6158fcab v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x629976cc v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x6718eb4a video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x675d3d18 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x69eacfd0 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x6b6ddc84 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x7173d82d v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x894c7b30 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x8ac9fda5 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x8db1139f v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x9ba11c96 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x9f2b5e27 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x9fedf1a4 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0xa2475a42 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa75aeeed video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0xae45fe3b v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xaffd523e video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xb122be5a v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xb2335899 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb9dfc0f1 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xcab0ea9c v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xdfe25bfa __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xe184e63b v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe5332d33 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe5d5e2a5 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xe795f8f7 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe8beb956 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xfb288945 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2d6cfda6 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x34c003fd memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3cdd60ea memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4dd5f525 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6128fc04 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6e839e5f memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8523559d memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x853f9723 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa6465030 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xba1802b1 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdc07e67e memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe996ea03 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf0921600 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x12aa9cfd mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x13c6899e mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x290b5a3d mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2c68d72e mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x37b9d671 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3d71d2f7 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x52137793 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5ce77e4d mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5fa2de6c mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x66b53c2f mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6834eba0 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x77d0a9da mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x876b61ae mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x94473711 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa004742e mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xac0d6872 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaf1cdc32 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xafc5dd7e mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb085ed03 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb2b7bea9 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb750e3fb mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc4926760 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcc096ab9 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd7098ac1 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdc38942e mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe0760935 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe4248525 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe9eb92d9 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfea67057 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x088714c5 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x12800805 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x15830321 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x37cded16 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3d54cee8 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3e5e84e3 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x483c8462 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x49a4773d mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4f492a4b mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4f6ef7dc mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5cb1ddd1 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5ef459b6 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5f20f9f0 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x602c8151 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x64456796 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x67784274 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6eae8dba mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x70228df9 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x76440782 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7e770f88 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7e874334 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x88eb9786 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8ad3898c mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x931086eb mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa8c6942a mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xac3794ee mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb54d71c8 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0a12fa4c i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0ba2ba37 i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x15ab7812 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1c383898 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x37d2b3e6 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3d594a14 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x4a3387ca i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x4e78c7ab i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5128beac i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5ae4a119 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x870522b8 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x876ec779 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8bd8326c i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9001c2b2 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9d2b3858 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xabf907d6 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb927401a i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc4c3bfe7 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc5b9f704 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xcbe09e6a i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xec36b640 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf6fe6118 i2o_device_claim_release +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x099f647f pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x6e3f3ff1 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x10da9813 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x11284467 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x17570e72 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x296f0059 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x489d8c94 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x4ed5ffc0 mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x65d7c656 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa4a0c865 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb8b93f2f mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc948980b mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xcb16b2ae mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xde714fa8 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf3b0b67c mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/tps6105x 0x34aa1cae tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xb796ee6d tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xc6ca77b5 tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0x015ee601 pwm_free +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xa4ee3c79 pwm_disable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xaee34e3d pwm_request +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xd83c7949 pwm_enable +EXPORT_SYMBOL drivers/mfd/twl6030-pwm 0xdeebfb06 pwm_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x18c323ae ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x5e67afd1 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x9889f935 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x6ef4c796 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xb8385e2e c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x19240b64 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0x4f07bec3 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x03d922e0 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x044c7f4f tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x3eb70bb1 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x4d8c0111 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5f6b41bf tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x75417b8e tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x85b77ecc tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x930c7208 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x9816d2b5 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xa8c2ec46 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xb78ea360 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe849d7ea tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xfd500b1f tifm_register_driver +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x6e918e89 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x6683bfe8 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xe38e1d30 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x19ff861c cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb1e18032 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb2115a72 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x16263ca7 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x5c814157 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x67356772 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xf87308bd do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x38d521e4 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xcb99e1eb lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xf08b7fd6 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xb045a337 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xc5acd7a3 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nand 0x2387af1d nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0x3cc237c6 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6b4c887c nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6d348b35 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0xa29386ae nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0xb1b6ff03 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xb8958b31 nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x099b38e8 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x484cd69b nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x7d7173ea nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xbaa0be5a nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xea394d13 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x64bb56c2 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x75fc24b1 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x973797e5 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x9f7ce7c0 onenand_default_bbt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x43dc61d7 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4431dea2 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x52754a3d arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x765976ff arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8946d7b8 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9f152d22 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa782e3e7 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbaec74db arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe1788555 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe1d469dd arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x0985e806 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x8fbb0b64 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xdba8105e com20020_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x173e8260 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4c14e567 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4e593591 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x74b2644d ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x78564533 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7c47aa19 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa6b31b15 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb049c507 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb27dce7c NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc794b06a ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x01e3a1e9 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0x785ad28a bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x37072a0f cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x08cf0f6b cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x101672bc cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x21e3dc05 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x229f73fa cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x35539402 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x51a684f6 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6e8cdcc4 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x74bf248d cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa6ba3ad0 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xaaecdf68 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xacd7919a t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb0cca791 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbc1e0ccb cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd7578610 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xde7dc7eb cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfd2c1a53 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x01bcfeaf cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0643915d cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0daf63cf cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x22f52a66 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3b5d28f4 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x42a1ec2f cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4bff7cfe cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5c5fbac5 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x727717fa cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x758f96c0 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x84a847d4 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x86956310 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa18c056c cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa6979383 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb298ddd2 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbc673041 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc4f34d97 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd00e5a36 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd5904a73 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd999c694 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xda190522 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x0a3724d9 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xbab62e22 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xda899413 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x25eb3ba7 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29a33759 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x506e081f mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ac23b07 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8815e00b mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96742a54 mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9cce76d8 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd54c7af mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xda2acb16 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeff0c9cc mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6734fac2 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9019f69d hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9fcb4b68 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc45ecf9a hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc940b1dc hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x12eeec74 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x30bd3487 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x865efe0e irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x8da69b5c sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x98287cac sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbe03f40a sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbfdac8f3 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc1f2c698 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc6cbb474 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xeb37c832 irda_register_dongle +EXPORT_SYMBOL drivers/net/mdio 0x0f934475 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0x22bce513 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio 0x43e4defc mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0x7577f992 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0xa1a29548 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0xb34a7575 mdio45_ethtool_spauseparam_an +EXPORT_SYMBOL drivers/net/mdio 0xc6b1163f mdio45_links_ok +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x0bd68670 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x6937a7bd free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x19ececad pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x3004e548 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd0543f6a register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x51d10ce9 sungem_phy_probe +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x38da4725 cycx_intr +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x62be23ea cycx_setup +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x66a4c4e6 cycx_down +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0x968458a6 cycx_peek +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xb6f383de cycx_poke +EXPORT_SYMBOL drivers/net/wan/cycx_drv 0xfe7cd576 cycx_exec +EXPORT_SYMBOL drivers/net/wan/hdlc 0x043e6bdd detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1234f38f alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x123a9bb7 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x364cf723 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x508349be register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x743d4a44 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x92126fba hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9b64f062 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbe3cbbf3 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbf69f776 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf50a8283 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0xb1e688e2 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x056aff88 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x30205ad7 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x7437a7ef init_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x28abb948 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4927c8dd ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5010e4c0 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x862daaf3 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x95958cc1 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x97f3e7b3 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x9a687df8 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbb7bb552 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbf8d3cee ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcf28f3fa ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x25f9051d ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x44756f06 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4a9a1740 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x5d963afe ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x665824cb ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x82dab2ae ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd4d80dc1 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf2ca131d ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfa7b29e9 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfb6dcaa3 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0f5d2b31 ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x65e93fac ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fbab7eb ath9k_cmn_update_ichannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xacde7fbb ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb9aecd32 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x039f5e47 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x09eef8b7 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d5de136 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d7a16fa ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d890cbc ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f5b82aa ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x129ed0be ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x12c5d2da ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1366fac5 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13f1b27a ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x14d71241 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x158ffb50 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1681c265 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2236ee38 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x229008de ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x285fe812 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x293a239d ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29cddd30 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2be33511 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x311cadd1 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x347dbb74 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3548a50c ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x366dc6b6 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e2096ec ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3ecb2e52 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x41a049a1 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x42575b07 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x442ade86 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4ae2ec4d ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x576e8c79 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59d81a80 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5a6f3c07 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5a7e2808 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x647d735b ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65c57d92 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x69cde6c7 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70d3bdde ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7257f1c7 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74dbeac7 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x75f7ce29 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76368ab3 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x77fe3585 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7872ca3c ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78cfec0e ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7983939b ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b694138 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c9ad650 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7cba3547 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x849ba5dd ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88a8c874 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c3aab51 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8ecfb673 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93b699df ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x95ee1274 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97ad543f ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9bcdc9c3 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9e1926fc ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9eb7cb24 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0d5b0eb ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2855d48 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa47bd63f ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa95cb6cf ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9abc575 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaadfc608 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3f73bea ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3fcaeef ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb593fd07 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xba055767 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf750ba2 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc288eb76 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc303b841 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5c86b14 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc6ac633a ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9980f65 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd80ac19b ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd8c50069 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xda78362c ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb078bad ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb952288 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdcd691a2 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe1ce704c ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe406f36e ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe435b553 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7cf8338 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeab2cb58 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed25ea19 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed99de7d ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf0107819 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf04c43c8 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf4bc1cc9 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf5b54cca ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd9b37e0 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/atmel 0x09f1b06a atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x83539e58 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xea8359a6 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x0fd83a9f brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x65f9ac6b brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x0256c0e2 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x1d62b2ab brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x35c80519 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x48dbac22 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x5209c4fe brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x88a4b177 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8ce190c2 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x90e387c0 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xab2c35a7 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc4b88e4a brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xcccbb707 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xe19eef77 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0335f078 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x034e6264 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1723ac32 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1aa074f0 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1ac31e1a hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1e3d498f hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1f38852c hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x55a81534 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x55de9215 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x56a25cd5 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x57947efd prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6451e158 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x650ef837 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x931ab4de hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa2b394e7 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaa617311 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb00365cd hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb81c3fb7 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb94d96c6 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc5fa71cd hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xda673ddd hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe1f7ed84 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe85d86a3 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfac767f9 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfbd3d8ee hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfd9a887e hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x025addf3 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0937b9c3 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0f743458 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x253fdcf4 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x281ae336 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3ff38ab7 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4df21fd5 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6d00c4ac libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7086e71c libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7b5af365 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xaefa52fe libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb2bdfa06 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb3d8b9e6 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbce8b195 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc5aae362 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcadf8aa4 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcb0553fd libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd77f9873 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xdc26dc79 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe27547cd libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe2953c3c free_libipw +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x04755f75 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a993265 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0b5a8f00 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0d2eae05 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0f0d2a04 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x11f1060f il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x12d06289 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x135fe1c1 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x13a51eb6 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1affd59b il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1b431ff3 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x22a24f10 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x24125ddb il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x26cb15f0 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2700bb9a il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2a0ba14b il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2b84ca10 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2e79ebb9 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2edb4273 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x31da4d57 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x34e60a0f il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x365a43b1 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3ab57c0f il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3b7b7ec7 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3c47183d il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x40f40dd7 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x42d7b03d il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x438e4d7b il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x43ef4989 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x442b50be il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4453f6d5 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4d78d545 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4e3a25b1 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4e718d83 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5085f2ed il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x544c591b il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5b49dea0 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5beb5d3e il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5cf67b0d il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5f6f94d3 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x629d8cfc il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x66384724 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6a4307ac il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x75fda30c il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x75fe2176 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7837904a il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7a9a6432 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7b78163b il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7d5a44ab il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7ed8949f il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7fbb63d8 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x819405a5 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8216eb6e il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x828ce92a il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x86e022be il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x86eb0233 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8815ace5 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8825b630 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x88512c2c il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8dd82d28 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8f2cdef3 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9080b5ff il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x911dfccc _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9dc73a62 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9dd0e900 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa490ed2b il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa5c8f383 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa84f696d il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaaedcffc il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaba959a3 il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xad579cf3 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xadc4e52d il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xadec217a il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xae89f904 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaf573e7c il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb0d82b6d il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb0f8e93c _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb3e59fda il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb6fc3248 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb730d79d il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7d1a353 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc14c9f04 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc28ae082 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc3a446d1 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd6dadfce il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd98f7e11 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdb4bd69b il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xddc234d9 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe62b15c4 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe855bbc4 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xee500875 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf475fa86 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf55388ec il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf65bef59 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf7b90d94 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf89c0f2e il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfb50e414 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xffe2efaa il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x08dd8699 __tracepoint_iwlwifi_dev_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x0c50fa2b __tracepoint_iwlwifi_dev_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x2f7b7e55 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x3b9d00d6 __tracepoint_iwlwifi_dev_ioread32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x779dd6f5 __tracepoint_iwlwifi_dev_iowrite32 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x85c1bb84 __tracepoint_iwlwifi_dev_iowrite8 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0x963a6f8a __tracepoint_iwlwifi_dev_ucode_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0xb8f7026f __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlwifi 0xf9ec6bdd __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x0946f418 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x09f2a0f0 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x0d2a9f16 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x0eefe420 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x149734c9 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x23bf5d31 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x30ad4677 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5dea5bf1 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6b8d98a1 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa06688ad orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa3ef246a orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xabb19798 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xafb93e4c orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xbe1d0ac9 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc9903fac orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xcbad710c alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd0d65a3a __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0118a420 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x05b3a906 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x09d454c5 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x10d5dff5 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1d428e20 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x31d4229a rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3863989e rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a03fafa rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a09754b _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x440cc616 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4abaf807 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x55a0f779 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5608e17c rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5a039047 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5b7e4c69 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x62d4bea6 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x65b4b935 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x668cf8b0 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x786f0494 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x845cf753 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x92ece3cc rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x97d8d9e0 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x99157c3b rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9df05bbe rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9e400139 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa1e4f77b rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa7ccd395 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa9188477 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xaf8b26a0 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb40aadfa rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbebc0cd8 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbee2d1e5 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcfa0c2da rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd04684d1 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd4b7d93d rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd67059c2 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdb21f369 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdf7ff4a0 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeada145b _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf3dd01eb rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf480f977 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xfe74f5d9 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x019aadd2 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x02dc70c2 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0a000417 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x1d49a699 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x33a123b6 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x348064bf efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3a0d2c6d rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x412a1eb3 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x47eedaad rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x53c43725 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5c0de598 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6010d373 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7342e0df rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x910f763c rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9a4e99be rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc045480c rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc30ee7cd rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc8ae8053 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd481f1f8 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd6424517 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd7bb384f rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe0fa46c0 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xebff20e3 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf4fa7d23 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x40c66315 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xeab29f82 wl1271_tx_complete +EXPORT_SYMBOL drivers/parport/parport 0x0d15a961 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x12a288ec parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x142d6f01 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x1937097b parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x1f06707d parport_read +EXPORT_SYMBOL drivers/parport/parport 0x28fb3823 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x2ec25bc2 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x317a9316 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x4209ef07 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x472fefe7 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x56f68da3 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x5848629d parport_write +EXPORT_SYMBOL drivers/parport/parport 0x5bcfbb80 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x71c9a2c6 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x74ab55ff parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x87526c82 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x91bcdcec parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x922d3132 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x9f5cd7ea parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xa4e40f04 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xa8ea1d95 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xadf031e8 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xbf2f9118 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xc91c73b4 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xcada6392 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xd21c6566 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xe5e82755 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xe9bdefd4 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xec3bc12b parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xed60d74b parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport_pc 0x2c63fbeb parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xfc8c66b6 parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x09004c0a pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x18cb109e pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1a4f4ccd pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x25f9875f pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x30254797 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x31bd4038 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3887b030 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x429a6bd7 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x53deb897 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x555dd6f0 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x650170a7 __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x66ddb5c6 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x68dcbd69 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x858b9c65 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb0f6cc84 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbcaaa7da pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xcf27199e pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe30ca89f pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xedba9dfa pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x08ced9d8 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0ca1db26 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x14bc3121 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x24f9fcaf pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2b3160d2 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5d4f241c pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x823fea51 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x83d61801 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8430633b pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9511d9d7 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9cb8a76d pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x1eb2ed57 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x93c79096 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x33ecc547 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe130158d pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xfcb77baf pps_event +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0x1191b48c bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0c9f81ff fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1f977a8e fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5a23af7d fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5c6b94f5 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x793230e8 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7e2174ed fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x88f2e3da fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8ce1257a fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8ffd87a6 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xfe91ac6a fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xff84f8b7 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x014e2745 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x06cd99bf fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x093dd92c fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d1b96e2 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x17963375 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a25b9d0 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1ed8ed4b fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2bab847c fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3b852c69 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x463e87ae fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x49235798 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4ba9c132 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4f1f281e fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x500072f2 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5275ac26 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x57481b5e fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6120a232 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6210f2d0 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6242a43b libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67b96a84 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x684eba5d fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6937dff0 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6e516293 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x742d2b3c fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x771488e7 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x787fce5b fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x82301cf9 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x86aebfef fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x88d8bdd3 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x88e59aa3 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8a7aabf4 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8f8984c6 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x951961f0 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96ec5fa6 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa8706186 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac879705 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xafee4808 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb393bb53 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc160ac97 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc8e2dd4d fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc8eb080d fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce740538 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdc020ef0 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdfd0c6c5 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe3299836 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe67ea51e fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9e9fcab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xea9c701c fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeea2c0f3 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfb7ed896 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x2250c66e mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x512c956d mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x80dfe477 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x09789e14 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x161606f7 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x21bf752b osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2cb578bb osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2ea03682 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3ea2eb35 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x472da2a3 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4d2f8d57 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x549e07b0 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x59d8a40c osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x60dad755 osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6646b29e osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6cfedd1c osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7339cbce osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7bd7c173 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x81210b69 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8838fe45 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8f694451 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9a0ac808 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9d18dd5c osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9d83f25e osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa301f8d2 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa693c4b5 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa8a04cb9 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb48ee147 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb520adb3 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb5261196 osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc5242d15 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcfc21457 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe02245e1 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe8196eac osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf0ec43ac osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf3c8e0db osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfb5e80b2 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfbc45e53 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfe5c0897 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/osd 0x0ea6e5f3 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x67029bcd osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x7ab5a430 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x8ea603ec osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xc9ba1016 osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0xcf75a1f2 osduld_register_test +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x0a110728 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x40f5771f qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x45ca1eb6 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x84e35d40 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa3666b9b qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa36bbb13 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xac78df9a qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xbdb250bf qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xccce669f qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd9ab32fb qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe5725d50 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x402d9199 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5922427d qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x8b2ea137 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xaa509311 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xd45d3648 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf7b5e0ee qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/raid_class 0x0d371aca raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x4bb8fc95 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x9b21d031 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1af87e37 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x28af97c7 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3eee8c81 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3fd6d647 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x476b471b fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6766c695 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9fb7e70d fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa4452999 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa88beb19 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xadc54313 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb96a9bb7 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd080607c fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfb237d79 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x037c2634 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0b8bb95e sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x109a62eb sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1474e25b sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1e12ea59 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2348316b sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x25da6262 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x28962c20 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x43671fe2 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4583ee58 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x47b8a179 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4cbb2958 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4d612758 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5cec408d sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6cb1362c sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7434eaae sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x83aac85f sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x864dce7f sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8659dba3 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8a807e7e sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8e55ea13 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb4191605 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb6fccae5 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb725af9e sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc0e34dca scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc5ce0265 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfe48eb23 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xff2cade8 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x231d844c spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x4cde40a5 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x52cb7b6a spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xa5a60d97 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb91be52a spi_attach_transport +EXPORT_SYMBOL drivers/ssb/ssb 0x176e9cd3 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x2776dc02 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x3b072549 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x415bc30f ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x49ab5b3d ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x4ec95a3e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x5039db0d ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x527413f7 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x666f2222 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x729fb5b3 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x76fcdd58 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xae6aa1ab ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xb61ce444 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xb6e86e1a ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xb7a3cb79 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xb8c76390 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xbd886bea ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xbf35ed5c ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd2784997 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xdaef26f4 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xdba95111 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x784df3cc adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xfe094f97 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xc855f813 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xe0c29281 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x084234fa iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xad155b18 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x3888114f cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x0b0e4c56 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x6b7858bd go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x6e607519 go7007_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x7a0460c3 go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xa758107a go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xcb2a4b6d go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xcb962e3f go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xdc8077f4 go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xe492554c go7007_read_addr +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x007c6b0e rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0383b1cf rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x04411c8c alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x086bb13e rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0cf5815a notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1831a15b rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1e470744 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x31afd18e rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3c216dd3 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4263fd29 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4286579f rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4d7d3429 rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4e3ab999 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x550b3765 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5d5a4a44 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5fc8f321 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x649e2af4 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x65f32ac5 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x682dfa7f dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x69ee811f rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6bc76a69 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x76da80eb rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x78587f47 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x813ae0eb rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x85b08fca rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x85e0b790 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x863471a6 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8e27c3f0 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x911b50c1 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x970fa2d8 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9c3f0504 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa2205826 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa2f4f791 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xac401833 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xae4064d9 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb30008ab rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbc15afe1 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbdf0cf74 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc450c32c rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc84a7f67 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xca6dec15 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd223c987 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd469ae2a rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd56ab626 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd6f99efc rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xda428ae7 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe73ffd23 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe7689e0b rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf3d85228 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfbf21f30 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x00e81655 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x06cb8f56 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x090cc8a1 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0c5eff0b ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0e3f121a DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x176e26c1 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1e30818c ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1fce6c05 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x23a4ff98 Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2ac4745a HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2bb71c16 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2d1e8313 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x393e0d64 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x40bb2afb SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4677db1e ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x48c56a55 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4d7beb4a ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4f3a703f ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x53319c25 Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x55d7f9d4 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x55f7fe08 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5d1032c4 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x68620a27 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x693641b6 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6afeb513 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7010f5b6 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7b7cd119 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c834353 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8a938429 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8ca3f9aa ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x92e15ae3 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9353e1f9 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x99031727 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9adcfca0 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9c68f72c IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9c7c7480 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbd9fd3e1 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc1f7bae7 ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5494b32 Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc61ab7e5 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc9eddc5c ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcb04d1f6 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcfd5d215 DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd295d13d ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd33a852a ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd5ad2726 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdb5c40b7 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe046a122 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe218a8f2 ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeaed4a68 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeb6e3deb ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf5c7cb3b ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf8e916ce ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfdb1aa3b ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfe519089 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xff58db09 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/telephony/ixj 0x61438655 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x571da0a7 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xfebd9529 phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x042652d4 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x231f9a83 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x261921b7 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x284dc2b8 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x28565efe __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b34f4a3 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x35efa7b6 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x39357c8d iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x491d9d66 target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x4a515180 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x4ddce88e core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x5cda1c0c transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x5ebcc61b target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5fc79247 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x658cf77a core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x6738fa16 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x6abbd3c8 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6c977a52 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x6d4a4b12 target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x6dfde7bb transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e55f17f target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x7428d724 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x7434fe0a transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x75ac261d transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x761bf735 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x78abb2cf transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x7acae1df transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x7c5371ab target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x7d0bd574 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x80c9efb8 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x92c6a4a7 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x94b74d72 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x962f4794 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9b36dc8d target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x9dd1d79c iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xa29e22c4 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0xa5087d39 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xa7a0e000 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xab9b4782 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xad34c7b1 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xad3c20e3 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xb1a4fcbd core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xbce12364 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xbffac81f target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc0ae7ea8 core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xc67df5bb fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xcef2dc6f target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xd2dbecfe iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xd5ae106f iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xd93ce39c transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xdfef1bf1 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xe280594d transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xe2bd4483 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xe57e34d9 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xe61865fc transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8aa0e7a sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8e5f05c transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xef202d47 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf082b047 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9ab275b transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xfa2f36b7 core_tpg_register +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x0521fafb serial8250_register_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x5cef8ea4 serial8250_register_8250_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x95631256 serial8250_set_isa_configurator +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xba0916ae serial8250_do_set_termios +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xf4b36484 serial8250_do_pm +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x3cb73b6f usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xcd727ca3 sl811h_driver +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL drivers/usb/otg/nop-usb-xceiv 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x09c5c4fd usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0c509ca5 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x18c5903c usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x33224ebe usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4c902836 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x712b2ce1 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x766bb1ec usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x88cd2b64 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x97556987 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xce6e7a1b usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd5813f9e usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdbd43dcb usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe245cd53 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe3f2dd38 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf6d304dd usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x9930be10 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xbbbbfa16 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x377e5ba1 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7a3b8301 lcd_device_unregister +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x2f131d4d cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x344a41db g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x4a5958e6 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x78bc636d matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x0afaa935 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x2c47a0fa matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x6734df35 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xc7ed4031 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0xe7814486 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x33a7c48e matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x41c00d5a matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x4c41e720 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xa9c021d2 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xd31ebc89 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x2e90023a matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x63dabedb matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x4cfca89f matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x63c2aa61 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xc898cdfe matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xf30b6955 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xf73d2b47 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0x64770966 mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x59799bdf video_output_unregister +EXPORT_SYMBOL drivers/video/output 0x981a7b39 video_output_register +EXPORT_SYMBOL drivers/video/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/sis/sisfb 0x454a3cf0 sis_free +EXPORT_SYMBOL drivers/video/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x6b7f5ef9 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x837179f3 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x83ba6076 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0xa5cb0150 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xa848eb5a svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xbe158a77 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xd1429fca svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/svgalib 0xf2db5956 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xfb16e963 svga_tilecursor +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/vme/vme 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/vme/vme 0x12037aa6 vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x27092618 vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0x2d8d7e29 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x3e788ecd vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0x3e95083c vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x46649cd1 vme_lm_set +EXPORT_SYMBOL drivers/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/vme/vme 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x52983a4f vme_master_write +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x62785161 vme_unregister_bridge +EXPORT_SYMBOL drivers/vme/vme 0x691f133f vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0x79154f1b vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0x79a33f85 vme_get_size +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x81ebdce6 vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0x83fd0597 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x95672025 vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0xa2a335bd vme_alloc_consistent +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xab422834 vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0xb567ddec vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0xbc6adc05 vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0xca5ee09a vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/vme/vme 0xe7d6804e vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0xeaee1bae vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0xef1d6d28 vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf2233835 vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/vme/vme 0xfe3b1702 vme_bus_type +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x2bd66e8d w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x2d935424 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x8112931c w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xa77ece18 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x66ec3faa w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x99760fe0 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x9aaaeb46 w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x03690c07 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x9921ff0a w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xf200581c w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x7609048f w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x7bfb5b55 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x7d013ae5 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xabbf181d w1_register_family +EXPORT_SYMBOL fs/btrfs/btrfs 0x013333ed ulist_alloc +EXPORT_SYMBOL fs/btrfs/btrfs 0x2e965c58 ulist_add +EXPORT_SYMBOL fs/btrfs/btrfs 0x42d57ce9 ulist_reinit +EXPORT_SYMBOL fs/btrfs/btrfs 0x58cbfcc2 ulist_free +EXPORT_SYMBOL fs/btrfs/btrfs 0x8ab177c0 ulist_init +EXPORT_SYMBOL fs/btrfs/btrfs 0x8e313eff ulist_next +EXPORT_SYMBOL fs/btrfs/btrfs 0xccdd7b95 ulist_fini +EXPORT_SYMBOL fs/configfs/configfs 0x1887eee5 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x26c95c09 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x2dfff3e6 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x36f68372 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x6449eb08 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x86b5b2aa config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x9811369e config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa1aa79c6 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xb0f27798 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xc8d17126 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xd1176afe config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xecabdd30 config_group_init_type_name +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x068533aa ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0x0e9a483d ore_create +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x3b74dd9b ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0x95a74356 ore_write +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xa60d5a51 ore_read +EXPORT_SYMBOL fs/exofs/libore 0xa6f39e0b ore_remove +EXPORT_SYMBOL fs/exofs/libore 0xb178da7c extract_attr_from_ios +EXPORT_SYMBOL fs/exofs/libore 0xc2443fed ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0xcf7fb149 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0xf41fcb6b ore_get_io_state +EXPORT_SYMBOL fs/fscache/fscache 0x06b201a0 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x145641ed fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x16e810d1 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x17d172b3 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x1ff4e213 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x2720a49a __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2c925c02 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x36c1c51b __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x3932f1fd __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x41d99d87 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x49fa9c43 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x6b2716c9 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x72453d95 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x7b6ecf24 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8720ebf3 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x8ea27c82 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xa92e6394 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xb124e17b __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xb12a3df1 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xb21d6cdb __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xbfc1f25f fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xc5667b95 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xcceb3c43 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xd5f5b48a __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xdd9228ef fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xdfafa58c fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xf4088a34 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xf685243c __fscache_uncache_page +EXPORT_SYMBOL fs/nfsd/nfsd 0x0c8d6829 nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/nfsd/nfsd 0xcbb738be nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x0690d791 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x44f27c28 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x4df80fea qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x847e5206 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xb3cf8e79 qtree_delete_dquot +EXPORT_SYMBOL lib/cordic 0x434bfd07 cordic_calc_iq +EXPORT_SYMBOL lib/crc-ccitt 0x1a703ba1 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x6d356209 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x6c1f6fee crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/crc8 0xab9ad613 crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xd09b2cba crc8 +EXPORT_SYMBOL lib/crc8 0xd4534d80 crc8_populate_msb +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +EXPORT_SYMBOL lib/lru_cache 0x1697ab05 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x16e74e1a lc_changed +EXPORT_SYMBOL lib/lru_cache 0x297d20c2 lc_create +EXPORT_SYMBOL lib/lru_cache 0x2d79fda7 lc_del +EXPORT_SYMBOL lib/lru_cache 0x40dc2de4 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x6561fa48 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x70f96335 lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x78a45c39 lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x7b525517 lc_put +EXPORT_SYMBOL lib/lru_cache 0x7f8b3ccf lc_destroy +EXPORT_SYMBOL lib/lru_cache 0xa82301d1 lc_get +EXPORT_SYMBOL lib/lru_cache 0xab3ec3fa lc_reset +EXPORT_SYMBOL lib/lru_cache 0xb156fb35 lc_find +EXPORT_SYMBOL lib/lru_cache 0xb8dd6117 lc_set +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7456cc61 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd9e91f83 raid6_vgfmul +EXPORT_SYMBOL net/802/p8022 0x2c9814eb unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xab8644d9 register_8022_client +EXPORT_SYMBOL net/802/p8023 0x21de4346 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xba6d1831 destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0xa47638f6 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xa61016bb unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x03aef94b p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x05d625c3 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x07fe99ce p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x0ae9678a p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x271782cc p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x27db76a0 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x2badc640 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x30651320 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x31144c4d p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x34e609a6 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x37d86411 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x3aeaa2d6 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x3baab7f4 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4edc0b85 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x53a88a7b p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x61544538 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x63830482 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x7180092c p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x7ce30224 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x7d9187b3 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x7f231639 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x8d357a16 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x976bd4ff p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9e2c7a52 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xa1805f70 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xaaf5cab5 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xaebc499e p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0xc1df7485 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd106e3c3 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd20a597e p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xd7d5cbf7 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xdd3ff154 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xe01cfb8c p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xe289ddaf p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xe396c4fd p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xe43c8025 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe7a2a241 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xede33737 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf32bd4d9 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfa2201db p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xfa9bfaa7 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xfec9790e p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xff8e61e2 p9_client_getlock_dotl +EXPORT_SYMBOL net/appletalk/appletalk 0x4e9b41a8 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xb52082d6 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xfe635a95 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xffb0c40f atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x1d34a026 atm_charge +EXPORT_SYMBOL net/atm/atm 0x221fd5ee vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x27342b3f atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3217ea91 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x5c616421 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x6b6eddc9 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x8cefb1b5 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xc7e2f636 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xca87b453 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xd0dcc547 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xe0bf7f4b atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xe8aba693 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xe9d49075 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xedeb2647 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xffcd68ac atm_dev_register +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x08075f0d ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x200cef70 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x25408cc4 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x3fb10b58 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x6c01e1d3 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x8aeee148 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xa8548ece ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xd7a843e0 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xdd02d2d6 ax25_rebuild_header +EXPORT_SYMBOL net/bluetooth/bluetooth 0x05c1c4da hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0989936b hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0ec3245f bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x140fd374 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1cbd115a bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x237452e0 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2603dec3 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2b6bd730 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x300ca030 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x32b0912c hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3a2238a2 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3b7c738e hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42874cf7 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4a98bcd0 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x573c4745 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5e06dde0 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6e4a61d7 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x710d7647 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x773cfcd9 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x97130ae3 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x98b89204 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9cce4f6c hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9f49597d bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa5c37fca hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6231483 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xac9f78d3 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbc2d16d0 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd0f6d5e4 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdae934ef hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdec4cd16 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe0abe787 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xec562cae bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xee08f758 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeec44a6e bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf344a962 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf7a2977b hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfacf90be hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfbbc8239 hci_send_acl +EXPORT_SYMBOL net/bridge/bridge 0x662561e3 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x526b1f5e ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xbff54f70 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xdcccb372 ebt_unregister_table +EXPORT_SYMBOL net/caif/caif 0x12558f1b caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x6a44fc70 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x7c243120 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x966d7de2 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0x9ecc6309 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0xa3dff51c cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xdde57649 get_cfcnfg +EXPORT_SYMBOL net/can/can 0x1a1b8d3e can_rx_register +EXPORT_SYMBOL net/can/can 0x1a250fcc can_send +EXPORT_SYMBOL net/can/can 0x1e7fe9bd can_rx_unregister +EXPORT_SYMBOL net/can/can 0x4b92cbc9 can_ioctl +EXPORT_SYMBOL net/can/can 0xdd712d9e can_proto_register +EXPORT_SYMBOL net/can/can 0xf4076a56 can_proto_unregister +EXPORT_SYMBOL net/ceph/libceph 0x0091ddd8 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x00b04414 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x04fa2060 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0d61c270 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1af74754 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x1ed8e1f6 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x1fa7c097 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4a283545 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x511c44a5 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x5627d000 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x570ceb67 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x590b4772 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x65da3706 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x6916306d ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x6c1939fb ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x6e37fe56 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x6e69241c ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x6f263c56 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x7168baf8 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x77692acb ceph_msg_last_put +EXPORT_SYMBOL net/ceph/libceph 0x77f7d527 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x788410e0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x8154c210 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x81eae1b6 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x8e6f9f43 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x90639d7c ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x93e6dac2 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x95d27abb ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x99de4738 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x9c0fee06 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa2097bfd ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0xa473d282 ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0xa515aae3 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xa59db11a ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0xa7b0b90a ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa879e99a ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb09cbdad ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0xb428655b ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xbad4f1c2 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0xbe1022d1 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xc2ca4def __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc4fc28c1 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xca4d1255 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xd24167cd ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd776b608 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xd7dcb1f1 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xed229339 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xf0c090ce ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0xf19bce1e ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xf274e78f ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0xf2a5fe1c ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf5774cba ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xf66012c5 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf709034a ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xfa1c9013 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfdaac473 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0xfdcc49da ceph_destroy_client +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xb434da04 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2e77eafa ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3b60a9df ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4dffe329 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x62593941 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x652f33c1 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7dd5e389 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9358d908 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x96dab139 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xa25c4cbb wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0xbebadd59 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xc1903533 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf2e015bf ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf50dd981 wpan_phy_free +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x6d5eb417 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xd185139c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe4d77840 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x84098323 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9ae59a4c ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xf51505fb ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2c34fe79 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x350411d0 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x6b0a369a nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x728889e4 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xbb79d171 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xc6a33090 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xcea7ea7b nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x27dce730 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xf0ea83fa xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x0f7135d0 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x19ff9f72 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x1dd6b259 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x30248199 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/tunnel6 0x3ae7b034 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x994590f2 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xa4ee8068 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xd2e9e1f8 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x0e856dbe ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x441b4083 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x5a52e6f0 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8bc6bf32 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x94ff3877 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb704a21f ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd2b8594a ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xdb08368f ircomm_flow_request +EXPORT_SYMBOL net/irda/irda 0x0064e0ea hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x0089e114 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x0321112f irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x0414bd65 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x05e31431 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x06afb123 irlap_open +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x1e6cade0 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x213c17be async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x24b9d0cd irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x252cf702 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x2a56cd9d irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x2ddcb557 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x30d30a95 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x32d16c98 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3aa9dce9 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x3dfcf0e2 irlap_close +EXPORT_SYMBOL net/irda/irda 0x3e56064f hashbin_new +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x5704ee31 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x5a9557dc irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x601bda46 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x671cb9d7 iriap_open +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6b5fbcef hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x6e0ab3c7 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7d4193b7 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x85d88217 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa1d41e58 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0xaa557515 irias_new_object +EXPORT_SYMBOL net/irda/irda 0xb27405bd irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0xb6530b1d iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0xb6e263b8 proc_irda +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xc639aac3 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xc68e43be irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0xcead7dbb hashbin_find +EXPORT_SYMBOL net/irda/irda 0xd0360bc7 irttp_dup +EXPORT_SYMBOL net/irda/irda 0xd2108314 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe3463529 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xe3bde43e irias_insert_object +EXPORT_SYMBOL net/irda/irda 0xe97aeafc irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xee1c20f1 iriap_close +EXPORT_SYMBOL net/irda/irda 0xf0a694a1 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xf5876b95 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0xfcf3a48b irda_device_set_media_busy +EXPORT_SYMBOL net/l2tp/l2tp_core 0x6ed7caeb l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x0bbf598a lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x9c155710 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xbd9133b1 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xcb646cca lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xdbf72c63 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xe6df06dc lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xfc672820 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xfe708195 lapb_connect_request +EXPORT_SYMBOL net/llc/llc 0x02d80eee llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x53f06586 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x8952df9f llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x993c111b llc_add_pack +EXPORT_SYMBOL net/llc/llc 0xa29e6d6f llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xc35e28f7 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xdb943261 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xf146b45f llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x00c80609 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x08d32eca ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x0b29599b ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x0c2c59b7 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x107156d5 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1e1f2f33 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x20e44f54 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2470e820 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x271ab1d8 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x2d53e62b rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x2db9e822 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x2e35b384 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x33998b26 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x366ec554 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x36f207c8 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x40d6ccfe ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x4819ad9c ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x5b53c0cb ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5e06946a ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5f97a462 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x5fd90d14 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x60bb9ad8 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6327523e ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x636c6795 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x68a2673f ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x6a6e3830 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x70abbc26 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x76aedc7a ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x82760446 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x83703d09 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x8bcec642 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x911fab09 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x96ab5a19 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x97c6b163 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x9d1c8749 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9f95f0a7 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xa1b4007e ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa1ca9583 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa24caa7e ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa8ec7b07 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xab5c8196 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xb09d284f ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xb667ae7a ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xbc3bc77b ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xbe79f844 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc03ea979 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xc0b66794 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0xc29c2002 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xc8ae6218 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xcd8a4b99 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xcee18b16 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xd6f1a014 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xee35a6d5 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xf3f2f9ee __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf4221b0f ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xf803005c ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xfa90d477 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xfae86dc4 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xfbf4e433 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xfcdf4487 ieee80211_wake_queues +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x05b920d2 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x06e6097b ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0993b70e ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1259be8c unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3e1b91b4 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x49c1987a ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5e0ba82a register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x99f51d30 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa5553817 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa9ed5cff ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb746a770 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc22e94fa register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdf47cc8a register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeb672b4a unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x0c0b30cd __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x4e6f629a nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xa1fd695f __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x12f0ba47 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x0a79e814 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x23d5c388 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x253e8b44 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x2b955704 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x3b6c27a9 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x55c73c3b xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x65a239b8 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x98daa766 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x9bfde9c8 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xa8df12ae xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xf9f5ef60 xt_register_targets +EXPORT_SYMBOL net/nfc/hci/hci 0x020d6752 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x046520cb nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x1131a027 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x19baff7f nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x29ad6a46 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x31afc8ec nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x431aca90 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x5b5b0455 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x5c1404a5 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x7136fec5 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x7960599d nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7fcfbe64 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x88c018cf nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x88cb199b nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x93e53f2f nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x9619609e nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xac178cca nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0xacf1fbf3 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xd7f94bd1 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xdfbd5697 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xeb0cf79f nfc_shdlc_free +EXPORT_SYMBOL net/nfc/nci/nci 0x13f6a179 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x2c5667d5 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xb3fbf695 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xd3ec973a nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xfc2a57fb nci_recv_frame +EXPORT_SYMBOL net/nfc/nfc 0x0b9540f3 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x1ee9846b nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x3adb6a65 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x6f1c7f96 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x6f46294b nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x780497dc nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x8bef7e2f nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x912ae3a7 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x9178a06b nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x9c3fac12 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xbd9683c5 nfc_target_lost +EXPORT_SYMBOL net/phonet/phonet 0x0f2d40f1 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x34ac108a pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x5b2e83e3 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x7b65a5e4 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xa1e4992d phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xd70f1345 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xde048284 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xf7110f2f phonet_stream_ops +EXPORT_SYMBOL net/rds/rds 0x7505d413 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x08ed098d rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x108ee479 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x27196cd1 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x31953fa8 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x45dcbbaf rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x547f8af2 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5bcaf157 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6a410e48 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6d946f1d rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x878c5dc4 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8fe10c95 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x958dfbdf rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe52f1da8 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe7eb3b41 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf77d4bbf rxrpc_kernel_reject_call +EXPORT_SYMBOL net/sctp/sctp 0x7bb90c94 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xd4649b85 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x53778778 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0xc07fe12e wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0xdfad1604 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x04086fe6 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0d6ce4a0 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x0eaf2a44 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x0fdcffbc cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x10907eea wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x12db94ab cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1b8f822b wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x1c8d7bc1 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x22a0d79e ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x25f6abe0 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x26fbd18a cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x2fad9659 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x33faf8a5 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x3453b662 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x354c1e00 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x39eb9576 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x3a6430d7 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x3abb95e4 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x3dec41a8 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x44d6068e cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x46df1c90 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x486a4d39 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x4cb181fc cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x4f891601 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x5325d077 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x5652cf7a cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x68e3ff29 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6ab8f9f1 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x6d65e394 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x6ffe8016 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x751ca729 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x8cc64862 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x8f59d1d8 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x968d82d4 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9c1226d0 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x9e8364a7 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa1d98c76 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xa31c51c4 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa94e8c9e cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xa9e9707f cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0xaa7c955b cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xad8a8661 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xb09276c3 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xb0ee46ce __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xb5df0fac cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb6014353 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xb7d284fd cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xb9cbb046 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xbcf09a1e __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xbd46f5aa cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc0d5806f cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xd8a77f40 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xe1ffaf25 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xe50829ae cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xeb7d4dfc cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xed8aeed3 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xee3f1acc wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xf2fb16ee cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf731f245 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xf7c2f2dd cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xf90710b5 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xf9dcd654 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfd5e645d cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xfff931ae cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/lib80211 0x19caf107 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x2f66fba4 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x416726e8 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x46db56dd lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xbe010e98 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xd4abe4e4 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x8c17534b ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xd2bc0213 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x06d0022b snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3112038d snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xc93dc444 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf97dabca snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x04fa7da7 snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x35bc04f1 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf0a1fdb3 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x072d978b snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x13a17752 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x2eed26bf snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4d5ca523 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x592f6e9b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd7c7afcc snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe60fb228 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xecbde43c snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x70174c6c snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x049b6e1f snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x0d9d93d3 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x0e7629b2 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x1019d5ba snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x17ac507f snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x181f12b7 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1bc99a03 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x2375669f snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x24f251ce snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x25c274d6 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x2a5000d3 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2d0a3b90 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x2d205b43 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x2de7b146 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x31b6387f snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x3595ecf4 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x43f1301e snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x465841ea snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x4761e287 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x4de18024 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x5408afa2 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x5d784ccb snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x5fa9ec6d snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x68036fc9 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x693c496c snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x6cc082df snd_device_register +EXPORT_SYMBOL sound/core/snd 0x6d3d91e6 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x6de739f6 snd_cards +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x71a6c692 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x7401432b snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x7d254556 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x7d537ba4 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x85ce24f9 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x89c7c1ed snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8e63c9b2 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x98c67ad7 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f9bcc8b snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xa01fbdb4 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb37279cc _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xb4fcdc03 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xb6fda536 snd_card_create +EXPORT_SYMBOL sound/core/snd 0xc1765876 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xc23ae4ac snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xd9aed313 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xeebb79eb snd_component_add +EXPORT_SYMBOL sound/core/snd 0xf3ec6671 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xf857e4a4 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0xf947f6f1 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xfa691b53 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xfdb4440f snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0x62adaaa7 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x06b310c9 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x29853201 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x4997c124 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x4aaae7df snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5898dcba snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8f2b242e snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0xeb993833 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0138526f snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x02a6cfa5 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x05b315d0 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x09699930 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x0d9b5ed4 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x215915f7 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x23698a0e snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x26417f99 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x434cda69 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x44f154d1 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x44ffc83c snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x4caac914 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x5731d89b snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x64c71753 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x6838e32b snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6949a0e1 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x6dbbbc04 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x774176ae snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x7d91a11e snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x879cb1e8 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x8aade463 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x8e38574b snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x8e8b5607 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9664c0ce snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x9e3c202a snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x9f6fb72c snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xa22e6a05 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xb5cad25a snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbcaa0881 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xc2cd259a snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xc355e1bf snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xce56ef6b snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcfc88839 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xd27533fc snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xd5fb21a2 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xd6ac509b snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0xdcc6226d snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xdd020542 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xdedca20b snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe7815fad snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xeb0d02e4 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf6195c4a snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xf9652d28 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-rawmidi 0x00cd4d1e snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0d43b2a4 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1e14b8d9 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1e5865a4 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x25677793 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x25a27409 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x528ba820 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5684aed6 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5d6c5d53 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8b415373 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8e1e9216 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb472935c snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc4627a11 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc4865779 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdcceaa73 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe13dc9d0 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfb985b19 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-timer 0x03ab50cd snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x140b16dc snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x2fc1adfd snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x5dbb555d snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x73fe52f3 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x858cadc9 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x9b989f55 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xc6b6af50 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xc740580f snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xd18d5d3a snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xdddad5dc snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xdf24f512 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xf7e77ce2 snd_timer_continue +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x253e2953 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1b17f762 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x38b5b8f6 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x56192bd6 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x716e4acb snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7d2de7df snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9c8d7425 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa6d743a3 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xba190813 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xebe7ecf7 snd_opl3_init +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x281f1589 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x30162bef snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4875e562 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6ef0018d snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7f3c23e3 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x946fbc2b snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xad302b12 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd82fde76 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xef25ba9f snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1249d8e3 amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x25d09001 amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x32726876 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x33e7d1ac cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3744a432 amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x520ec5ee amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5307c06c amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5a049c19 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x675c51ab amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6970eb83 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7f175f6f amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x80182160 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9c026930 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9f5de1fb fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa3c01d5d iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa932eead amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb52ca4e1 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbf3eb652 amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc06d915e fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcec310ce cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd54ba492 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe37f7a38 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xea92db5c fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xedb7d221 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf9175e75 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfc654575 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x04576e1f snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x13cf5d2e snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x62f24296 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xb67d4e55 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc00df21d snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xfcb94596 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x3d038ff6 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x63ccaf93 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x6bf600a1 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x75993eb5 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xba69e76e snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xd89542fe snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x09f4ee98 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x4abf9acf snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x553d1fd2 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x593ab21f snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x5986bd07 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xa043e548 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x4e91efa0 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x78a04c16 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x39f33553 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x53832957 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x78abecc9 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x88e09d80 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe932df98 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-i2c 0x22509c0d snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7ac55fe4 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa60d9022 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xbe00cd89 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc0f00c9f snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc54ac351 snd_i2c_device_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0015a8a7 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x57406b15 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5b616c39 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x751c7bfb snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7e780003 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8ed11082 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd268d4a7 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xda57afc6 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe1679c97 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe29a8e79 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x27021047 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x73db524c snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xbbcac489 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x04cb3e06 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0dfe3f00 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x14028f82 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1dbaf466 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x346c8fa7 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3830899b snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3a9d2be4 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x42fd4faa snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x56c593b5 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x589d3d25 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x63ef2d25 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8fbf0691 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x939caecb snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x93b96c9f snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9b5cb423 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xaba00905 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb4fc5292 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x2b6eb2c4 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x652110e5 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x905efede snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa785a3dd snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa9e31369 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xb797f7d8 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbad49298 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xea1b535c snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xfc94151f snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xded834ee snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x546ee00e snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x93d8a2be snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xe989e2a6 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x064f87da oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1fa525dc oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x214a8077 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x32d969ed oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x62ab8a07 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x662dec64 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x66ac5e88 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6c0d0c97 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x75181dfb oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7bba0d08 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x813668de oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8b5fc85e oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa94529c3 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb1e8028c oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbe25e46b oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc6955450 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcba67023 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf114c02c oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf169599e oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf1da248b oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf67282f3 oxygen_write_uart +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x1bef40f5 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x6bdd53e7 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa6049512 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa96ddb16 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xab8d2efd snd_trident_write_voice_regs +EXPORT_SYMBOL sound/soundcore 0x0483131d register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x11e11864 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x713a67bc register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xbdf08d7a sound_class +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xd9efaa82 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe4846dc1 register_sound_special +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1f2bfb39 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x3c9a6960 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x3d8bc395 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x835d5af4 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x992827cb snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x99588553 snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0ec62d56 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x1f0c3b96 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x38fa70b5 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x604b272c snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9a0c87c7 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xac471195 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd9a0e71e snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf150d0f3 __snd_util_memblk_new +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xabd44cd9 snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x000972fe eth_header +EXPORT_SYMBOL vmlinux 0x0026a69d dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x005a4975 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x007fc8ee mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0092a96a jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x00a5b343 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0118cd98 bio_pair_release +EXPORT_SYMBOL vmlinux 0x0122f95e _lv1_get_spe_irq_outlet +EXPORT_SYMBOL vmlinux 0x0127d235 skb_put +EXPORT_SYMBOL vmlinux 0x01379c16 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x01463129 bio_map_kern +EXPORT_SYMBOL vmlinux 0x0167813d proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x01795436 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x0185db91 security_path_mknod +EXPORT_SYMBOL vmlinux 0x018d9919 _lv1_set_lpm_interrupt_mask +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x019e7765 __init_rwsem +EXPORT_SYMBOL vmlinux 0x01beda06 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x01bf3636 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x01f1d6b1 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x020d18d7 _lv1_set_lpm_debug_bus_control +EXPORT_SYMBOL vmlinux 0x021f7981 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x02258c1c sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x02311dc8 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x02371c11 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x027d5499 _lv1_did_update_interrupt_mask +EXPORT_SYMBOL vmlinux 0x02802600 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x02843021 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x028e14b8 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a49558 tty_port_open +EXPORT_SYMBOL vmlinux 0x02a64746 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02ac0689 vio_h_cop_sync +EXPORT_SYMBOL vmlinux 0x02b9e73d scsi_remove_host +EXPORT_SYMBOL vmlinux 0x02bee179 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x02c7459b vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02f5d3c9 fb_pan_display +EXPORT_SYMBOL vmlinux 0x02f7b9ce wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x02f7c07d i2c_register_driver +EXPORT_SYMBOL vmlinux 0x02fa220f xfrm_init_state +EXPORT_SYMBOL vmlinux 0x030da2bf sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x031af389 padata_stop +EXPORT_SYMBOL vmlinux 0x031dc65e pasemi_dma_free_chan +EXPORT_SYMBOL vmlinux 0x032e81fe dev_addr_add +EXPORT_SYMBOL vmlinux 0x0333fff9 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033f8ac9 pmac_register_agp_pm +EXPORT_SYMBOL vmlinux 0x0348fec1 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x034dd66f xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x03655183 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037e54ee security_inode_readlink +EXPORT_SYMBOL vmlinux 0x039673b8 dquot_transfer +EXPORT_SYMBOL vmlinux 0x03975d68 idr_find +EXPORT_SYMBOL vmlinux 0x03b7e640 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03cd4666 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x03ebda85 dns_query +EXPORT_SYMBOL vmlinux 0x03f15aca get_task_io_context +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04074f48 ioremap +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x042d8d57 would_dump +EXPORT_SYMBOL vmlinux 0x0436f8f2 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x0440a533 _lv1_net_remove_multicast_address +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0481ed73 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04a37e8f generic_ro_fops +EXPORT_SYMBOL vmlinux 0x04af03c5 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x04ba8dd0 icmpv6_send +EXPORT_SYMBOL vmlinux 0x04c0aa28 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x04e0035b xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x05046857 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x050bbbbb request_key +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0530dede _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x05336749 d_set_d_op +EXPORT_SYMBOL vmlinux 0x0540b32a cpu_core_map +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x055c8559 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x0568127b dentry_open +EXPORT_SYMBOL vmlinux 0x056e766e kill_fasync +EXPORT_SYMBOL vmlinux 0x05717d6b unregister_binfmt +EXPORT_SYMBOL vmlinux 0x057ffe00 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x0598fcee vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x059f0195 pcibus_to_node +EXPORT_SYMBOL vmlinux 0x059f784f tcf_action_exec +EXPORT_SYMBOL vmlinux 0x05a40020 journal_restart +EXPORT_SYMBOL vmlinux 0x05a514a1 _insl_ns +EXPORT_SYMBOL vmlinux 0x05b20c62 netdev_change_features +EXPORT_SYMBOL vmlinux 0x05decbbd journal_release_buffer +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x062fad12 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x06456aff _lv1_get_virtual_address_space_id_of_ppe +EXPORT_SYMBOL vmlinux 0x06526f26 put_tty_driver +EXPORT_SYMBOL vmlinux 0x066a286e revert_creds +EXPORT_SYMBOL vmlinux 0x0672ebd5 compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x067dcccd __lru_cache_add +EXPORT_SYMBOL vmlinux 0x069aabf8 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x069e9b6a pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x06bbb24a mempool_resize +EXPORT_SYMBOL vmlinux 0x06cdaa58 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x06e12e19 decrementer_clockevent +EXPORT_SYMBOL vmlinux 0x06e40484 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x06ef6dc2 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0720789e scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x074e9213 down_killable +EXPORT_SYMBOL vmlinux 0x079624da dquot_disable +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a1a945 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07c4ba28 vio_get_attribute +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07e488cc __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x07ec4931 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x07ef213a pasemi_dma_free_fun +EXPORT_SYMBOL vmlinux 0x07f08148 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x07f8ee15 _lv1_unmap_device_dma_region +EXPORT_SYMBOL vmlinux 0x080261c7 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x080a12b7 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x0816e43c genlmsg_put +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x08482dac __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x0885ca40 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x08862805 update_region +EXPORT_SYMBOL vmlinux 0x089c1a51 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x08aaaf45 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x08d0b3f4 nf_register_hook +EXPORT_SYMBOL vmlinux 0x08d93166 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x08ffd26f dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x0904de2e generic_delete_inode +EXPORT_SYMBOL vmlinux 0x090c3233 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x090e96ab dcache_dir_close +EXPORT_SYMBOL vmlinux 0x09102314 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x0940aeb9 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x09475a74 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x0948288d input_flush_device +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x096341c2 _lv1_connect_irq_plug_ext +EXPORT_SYMBOL vmlinux 0x096a5ddb fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x096e3ab0 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x09705b3c iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09adea2a mdiobus_write +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09db1644 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x0a04ecb8 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a2571cc ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x0a3213f4 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x0a3d0644 cpu_online_mask +EXPORT_SYMBOL vmlinux 0x0a505943 elv_rb_add +EXPORT_SYMBOL vmlinux 0x0a58da6a inet_bind +EXPORT_SYMBOL vmlinux 0x0a69b9f0 blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1ebd9e generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x0b2e1ec7 h_get_mpp +EXPORT_SYMBOL vmlinux 0x0b35a212 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x0b539403 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x0b5fe737 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x0b6967e1 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x0b6e62b0 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x0b732fb3 key_revoke +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b751196 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x0b8f8908 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x0badb05f dev_printk +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bca49e0 set_user_nice +EXPORT_SYMBOL vmlinux 0x0be5a609 ps3_dma_region_create +EXPORT_SYMBOL vmlinux 0x0bffd52b rtnl_create_link +EXPORT_SYMBOL vmlinux 0x0c05da7a dst_discard +EXPORT_SYMBOL vmlinux 0x0c1ad162 _lv1_net_start_rx_dma +EXPORT_SYMBOL vmlinux 0x0c3781a6 __kfree_skb +EXPORT_SYMBOL vmlinux 0x0c433f2b udp_prot +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c9675b1 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x0c98927a ppp_dev_name +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0d289fd3 neigh_table_init +EXPORT_SYMBOL vmlinux 0x0d29153c dquot_file_open +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d652bb4 unregister_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x0d6c963c copy_from_user +EXPORT_SYMBOL vmlinux 0x0d9d10a2 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0daa6279 skb_make_writable +EXPORT_SYMBOL vmlinux 0x0dc70973 ps3_sb_event_receive_port_destroy +EXPORT_SYMBOL vmlinux 0x0dcc3f18 security_path_chown +EXPORT_SYMBOL vmlinux 0x0e474398 ps2_init +EXPORT_SYMBOL vmlinux 0x0e6a7b88 set_nlink +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e8f30f6 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x0e94a2fc agp_bridge +EXPORT_SYMBOL vmlinux 0x0ed1fed6 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x0ede7d69 of_match_node +EXPORT_SYMBOL vmlinux 0x0f186c68 bio_split +EXPORT_SYMBOL vmlinux 0x0f34a709 security_mmap_file +EXPORT_SYMBOL vmlinux 0x0f3ba45f dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x0f3bfc01 posix_lock_file +EXPORT_SYMBOL vmlinux 0x0f3fc7b7 proc_mkdir +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f538951 register_gifconf +EXPORT_SYMBOL vmlinux 0x0f80e1e0 kobject_get +EXPORT_SYMBOL vmlinux 0x0f8c2566 read_dev_sector +EXPORT_SYMBOL vmlinux 0x0fa0d87b key_type_keyring +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fb22c95 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x0fcae907 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x0fea93d5 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x0feb2975 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x0ffa049f pagecache_write_end +EXPORT_SYMBOL vmlinux 0x100e9222 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x101f388e input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x103b2298 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x104553be softnet_data +EXPORT_SYMBOL vmlinux 0x104a3363 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x10accd15 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x10b3629a inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x10b52b63 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10f0fc3d qdisc_reset +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11214294 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x11347efc sk_run_filter +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1171b635 _lv1_delete_lpm_event_bookmark +EXPORT_SYMBOL vmlinux 0x11772193 __break_lease +EXPORT_SYMBOL vmlinux 0x1182d83a cpuidle_disable +EXPORT_SYMBOL vmlinux 0x118cf4d9 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11985b5b abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x11de4e69 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x11f05fd0 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x11f79968 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11f93cdb netdev_crit +EXPORT_SYMBOL vmlinux 0x12016d35 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x12024ddf eth_header_parse +EXPORT_SYMBOL vmlinux 0x120cda11 input_allocate_device +EXPORT_SYMBOL vmlinux 0x125a9a79 padata_do_serial +EXPORT_SYMBOL vmlinux 0x129dca55 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12b6e183 inet_shutdown +EXPORT_SYMBOL vmlinux 0x12cb6622 _lv1_map_device_dma_region +EXPORT_SYMBOL vmlinux 0x12dfeb12 vprintk_emit +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x12e9ea93 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x131db505 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1354a52a genphy_resume +EXPORT_SYMBOL vmlinux 0x13739df2 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x13adb062 netpoll_setup +EXPORT_SYMBOL vmlinux 0x13aedf2b key_alloc +EXPORT_SYMBOL vmlinux 0x13affbda percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x13bca851 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d4dd5c block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x13e38f5c up_read +EXPORT_SYMBOL vmlinux 0x13eb99c0 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x13f0a3f5 follow_up +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13f53da6 CMO_PageSize +EXPORT_SYMBOL vmlinux 0x141fe5fd pasemi_read_iob_reg +EXPORT_SYMBOL vmlinux 0x1438d487 poll_freewait +EXPORT_SYMBOL vmlinux 0x146cdd30 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x146f79f9 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x14922302 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x149ff195 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x14bdfeab skb_append +EXPORT_SYMBOL vmlinux 0x14d111f8 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x151592c4 _lv1_invalidate_htab_entries +EXPORT_SYMBOL vmlinux 0x1528daed dev_uc_flush +EXPORT_SYMBOL vmlinux 0x153445cf sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x155318e0 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x156ca0d5 journal_stop +EXPORT_SYMBOL vmlinux 0x15864b03 flex_array_get +EXPORT_SYMBOL vmlinux 0x15912d1e macio_unregister_driver +EXPORT_SYMBOL vmlinux 0x15964ced send_sig +EXPORT_SYMBOL vmlinux 0x1599277d __frontswap_load +EXPORT_SYMBOL vmlinux 0x15ac0529 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x15c7063c pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x15e13bab blk_recount_segments +EXPORT_SYMBOL vmlinux 0x15ed62a1 misc_deregister +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x1615372a alloc_fddidev +EXPORT_SYMBOL vmlinux 0x16208e15 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x1626e352 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x1692e251 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x16a3951b scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x16a893d8 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x16b238c0 neigh_destroy +EXPORT_SYMBOL vmlinux 0x16bae152 aio_put_req +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16d0d27a update_time +EXPORT_SYMBOL vmlinux 0x16fbdce2 inet_ioctl +EXPORT_SYMBOL vmlinux 0x17094d68 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x17113a97 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x1727a4ea inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x1743414f __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x1746644f simple_release_fs +EXPORT_SYMBOL vmlinux 0x174c01a3 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x17648396 dev_base_lock +EXPORT_SYMBOL vmlinux 0x178da7fe vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x178f97c0 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x1798f277 inode_init_owner +EXPORT_SYMBOL vmlinux 0x179d6d9a pci_ltr_supported +EXPORT_SYMBOL vmlinux 0x17b9d067 input_unregister_device +EXPORT_SYMBOL vmlinux 0x17bc6e90 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x17c0459d iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x17cb8c79 _lv1_read_htab_entries +EXPORT_SYMBOL vmlinux 0x17db4b1a bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e28473 fsl_upm_run_pattern +EXPORT_SYMBOL vmlinux 0x17e996b1 dm_register_target +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17fa191e module_refcount +EXPORT_SYMBOL vmlinux 0x182f50af _lv1_open_device +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x18418a88 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x18449967 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184ba3f0 note_scsi_host +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x1857aa39 proc_dointvec +EXPORT_SYMBOL vmlinux 0x185b8f8f redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x185ee98f tty_port_hangup +EXPORT_SYMBOL vmlinux 0x1873be8c netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x187a1774 init_buffer +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x189afc25 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x18c98205 _lv1_destruct_virtual_address_space +EXPORT_SYMBOL vmlinux 0x18cf1510 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x18f47e7b scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x191088cc devm_gpio_free +EXPORT_SYMBOL vmlinux 0x191b54fc nobh_write_end +EXPORT_SYMBOL vmlinux 0x19444627 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0x194ccb24 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x194fe44c mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x195e3e7d inet6_release +EXPORT_SYMBOL vmlinux 0x1975a3e0 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197ae486 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x199ec4fb arch_spin_unlock_wait +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a1cdf2 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c968d1 pasemi_dma_start_chan +EXPORT_SYMBOL vmlinux 0x19f0516b file_sb_list_del +EXPORT_SYMBOL vmlinux 0x1a042d1f ida_simple_get +EXPORT_SYMBOL vmlinux 0x1a111a41 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x1a2f6945 __next_cpu +EXPORT_SYMBOL vmlinux 0x1a2fdc54 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x1a78b347 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x1a88a450 __lock_page +EXPORT_SYMBOL vmlinux 0x1a91663d pasemi_dma_free_buf +EXPORT_SYMBOL vmlinux 0x1a9ee708 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ac6b7b6 log_wait_commit +EXPORT_SYMBOL vmlinux 0x1acb5d40 dscr_default +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ae78c3c free_buffer_head +EXPORT_SYMBOL vmlinux 0x1ae8ccaa write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b01717d key_validate +EXPORT_SYMBOL vmlinux 0x1b180662 of_dev_put +EXPORT_SYMBOL vmlinux 0x1b1d877c blk_stop_queue +EXPORT_SYMBOL vmlinux 0x1b28380e in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x1b2ee796 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x1b2fc0b2 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x1b340d94 fb_show_logo +EXPORT_SYMBOL vmlinux 0x1b436b5a pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x1b570d27 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b642840 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x1b7f3e2b ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x1b82684d pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba0a2e2 file_update_time +EXPORT_SYMBOL vmlinux 0x1ba15b40 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x1bc4ff03 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x1bdc26cf sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x1be5eb88 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x1bf24566 netif_rx +EXPORT_SYMBOL vmlinux 0x1bf56cc3 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x1bfec830 __iounmap_at +EXPORT_SYMBOL vmlinux 0x1c13334c netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x1c19d868 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x1c200a7d pasemi_dma_stop_chan +EXPORT_SYMBOL vmlinux 0x1c213bba cdrom_open +EXPORT_SYMBOL vmlinux 0x1c226bf4 sock_rfree +EXPORT_SYMBOL vmlinux 0x1c259b02 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x1c3e02e4 memcmp +EXPORT_SYMBOL vmlinux 0x1c4dab93 _lv1_connect_irq_plug +EXPORT_SYMBOL vmlinux 0x1c5b2c15 pmu_wait_complete +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c83750b get_user_pages +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cf3385d skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x1d0e0378 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x1d1fae5c ps3_sb_event_receive_port_setup +EXPORT_SYMBOL vmlinux 0x1d224e3c jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x1d2ffc98 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x1d4750bc _lv1_stop_lpm +EXPORT_SYMBOL vmlinux 0x1d54c6cb of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x1d591cd1 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x1d6aad64 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x1d7e91c3 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x1d85cf54 journal_revoke +EXPORT_SYMBOL vmlinux 0x1d9de278 pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x1da2ab49 mount_nodev +EXPORT_SYMBOL vmlinux 0x1daee28a percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x1dafea72 __invalidate_device +EXPORT_SYMBOL vmlinux 0x1db79d26 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x1dbc4d0c proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x1dc262ca mutex_unlock +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dc9e5de skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x1dcb777f pci_pme_active +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddaac29 netlink_unicast +EXPORT_SYMBOL vmlinux 0x1ded0ab7 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x1df7d529 of_device_is_available +EXPORT_SYMBOL vmlinux 0x1dfa9eec blkdev_get +EXPORT_SYMBOL vmlinux 0x1dfcfa6b compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0x1e0711aa mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x1e1a3ab7 compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x1e25c15a generic_block_bmap +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e35321c compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0x1e4009de scsi_free_command +EXPORT_SYMBOL vmlinux 0x1e423b31 journal_set_features +EXPORT_SYMBOL vmlinux 0x1e59a237 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6fe6f1 idr_init +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea0a26c blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x1eade0fe destroy_EII_client +EXPORT_SYMBOL vmlinux 0x1ec7aef5 vfs_getattr +EXPORT_SYMBOL vmlinux 0x1eddb6bc __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x1eefcf54 kobject_set_name +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f170067 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x1f3b14f9 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x1f6e000a sock_no_connect +EXPORT_SYMBOL vmlinux 0x1f7deab8 bh_submit_read +EXPORT_SYMBOL vmlinux 0x1f804f53 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x1f8f1725 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x1fb4d99e netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fbd9bba dquot_acquire +EXPORT_SYMBOL vmlinux 0x1fbf891d netdev_state_change +EXPORT_SYMBOL vmlinux 0x1fc45634 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x1fca2795 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fd5c51d __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x1fe344c6 mmc_erase +EXPORT_SYMBOL vmlinux 0x1fe7b4ab pasemi_write_dma_reg +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fec8dee mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x1fec955d generic_setlease +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1feee6eb register_md_personality +EXPORT_SYMBOL vmlinux 0x1ff41916 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x1ff5b66f jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2002b7b0 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x2009dad2 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0x201494ee _lv1_net_set_interrupt_mask +EXPORT_SYMBOL vmlinux 0x20162e30 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x202434c2 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x202a4c53 skb_find_text +EXPORT_SYMBOL vmlinux 0x20622fc2 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x207425f1 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x2079be9b tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x208e4453 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x20a1a086 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20d29da8 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x20dcc442 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x210a915e elevator_exit +EXPORT_SYMBOL vmlinux 0x211c455e ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x213603bf pasemi_dma_free_ring +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2165d325 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x216b57c6 kill_block_super +EXPORT_SYMBOL vmlinux 0x2172c684 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x21a6fd11 clear_user_page +EXPORT_SYMBOL vmlinux 0x21bb0415 fb_get_mode +EXPORT_SYMBOL vmlinux 0x21e3fae7 get_disk +EXPORT_SYMBOL vmlinux 0x21e80464 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x22058899 __brelse +EXPORT_SYMBOL vmlinux 0x2213d6d9 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x222df0a8 unregister_nls +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223fe550 padata_start +EXPORT_SYMBOL vmlinux 0x2241b86c blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x2244b3d1 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x225ebee6 _lv1_destruct_lpm +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2278e94b slhc_remember +EXPORT_SYMBOL vmlinux 0x228c4f58 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x228f1d58 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x228ff98f phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x22a3a973 skb_unlink +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c17481 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x22cc49c1 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x22ef13a4 backlight_force_update +EXPORT_SYMBOL vmlinux 0x230c3722 idr_for_each +EXPORT_SYMBOL vmlinux 0x2311c8fa sys_imageblit +EXPORT_SYMBOL vmlinux 0x231ce2d1 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x232000ca generic_permission +EXPORT_SYMBOL vmlinux 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x235e90f3 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x23614a07 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x2369fb65 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x238e7d5c pci_pme_capable +EXPORT_SYMBOL vmlinux 0x239bd76c eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b60113 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23d618bf blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x23e247ce scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x23f2243d mempool_free +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2402e9f4 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x243aeae8 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244a2411 __first_cpu +EXPORT_SYMBOL vmlinux 0x244ff84b buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245a5a94 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x24934d2b mb_cache_create +EXPORT_SYMBOL vmlinux 0x24b425c5 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x24cfd438 _lv1_copy_lpm_trace_buffer +EXPORT_SYMBOL vmlinux 0x24f8a8fd qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x24fd65c3 bio_add_page +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250a01fd deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x25183f01 pmac_suspend_agp_for_card +EXPORT_SYMBOL vmlinux 0x25271d05 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253ae6bd atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x25655b9d ps3_dma_region_init +EXPORT_SYMBOL vmlinux 0x2568c1b8 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x256f8e8c vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25a97a12 tty_vhangup +EXPORT_SYMBOL vmlinux 0x25ae2ab0 cdrom_release +EXPORT_SYMBOL vmlinux 0x25b6b8f7 _lv1_set_spe_transition_notifier +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25c979cf __lock_buffer +EXPORT_SYMBOL vmlinux 0x25e0d991 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x25ebf3cf call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x25fa5086 mii_link_ok +EXPORT_SYMBOL vmlinux 0x2619b4c4 bdi_init +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2645663c inet_select_addr +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x264f2426 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x2665d53a key_create_or_update +EXPORT_SYMBOL vmlinux 0x2671ae0f posix_test_lock +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x269e1648 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x26b760c4 slhc_init +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x2710dac2 inet6_bind +EXPORT_SYMBOL vmlinux 0x27277915 vm_stat +EXPORT_SYMBOL vmlinux 0x27352ed5 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x27646df3 start_thread +EXPORT_SYMBOL vmlinux 0x276ae4f4 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x276e2a5a user_path_create +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27b46b20 d_find_alias +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27ca4564 user_path_at +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x27e61ba0 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x27e81f96 of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0x27f19047 thaw_super +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2823dc7a bio_integrity_split +EXPORT_SYMBOL vmlinux 0x2825a48e abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x28285e33 input_open_device +EXPORT_SYMBOL vmlinux 0x282a26d1 dev_load +EXPORT_SYMBOL vmlinux 0x28318305 snprintf +EXPORT_SYMBOL vmlinux 0x28375aa6 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x285b97f0 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x28616a72 complete_request_key +EXPORT_SYMBOL vmlinux 0x286d1301 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x28775e7f may_umount +EXPORT_SYMBOL vmlinux 0x2883d9af scsi_remove_target +EXPORT_SYMBOL vmlinux 0x28933e10 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x289f145b scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x289f8101 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x28a0376c agp_enable +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28abfe6e scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x28f57c50 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x28f96441 sock_map_fd +EXPORT_SYMBOL vmlinux 0x28f9b555 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x2925b3d0 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x2937fd63 account_page_redirty +EXPORT_SYMBOL vmlinux 0x29405008 blk_make_request +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x2960019b eeh_check_failure +EXPORT_SYMBOL vmlinux 0x2966e978 journal_force_commit +EXPORT_SYMBOL vmlinux 0x29760675 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x29814c22 dqget +EXPORT_SYMBOL vmlinux 0x298643ab eth_type_trans +EXPORT_SYMBOL vmlinux 0x29bd42dd ppp_unit_number +EXPORT_SYMBOL vmlinux 0x29bf8290 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x29c4ac05 seq_release +EXPORT_SYMBOL vmlinux 0x29c70ed0 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x29d73d03 ida_init +EXPORT_SYMBOL vmlinux 0x29dbde6c release_firmware +EXPORT_SYMBOL vmlinux 0x2a01ea6d input_set_keycode +EXPORT_SYMBOL vmlinux 0x2a146846 filp_open +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3783ee mutex_trylock +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a3c798a __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x2a4b21db dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x2a75a0f2 pipe_lock +EXPORT_SYMBOL vmlinux 0x2a7a143a agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x2a9360c0 vm_map_ram +EXPORT_SYMBOL vmlinux 0x2a99152e inet6_getname +EXPORT_SYMBOL vmlinux 0x2ac8ce2f cap_mmap_file +EXPORT_SYMBOL vmlinux 0x2acbcced d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b225dfc tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b3f83a8 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x2b43aa5a inc_nlink +EXPORT_SYMBOL vmlinux 0x2b481b7d get_unmapped_area +EXPORT_SYMBOL vmlinux 0x2b50a18c __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x2b50d11e phy_detach +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb16098 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x2bb27ed7 blk_get_queue +EXPORT_SYMBOL vmlinux 0x2c1000ff ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x2c1c42a0 module_put +EXPORT_SYMBOL vmlinux 0x2c1cd4a4 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c2b7981 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x2c2f1e88 arp_find +EXPORT_SYMBOL vmlinux 0x2c4c7997 _lv1_construct_lpm +EXPORT_SYMBOL vmlinux 0x2c7b1fca down_timeout +EXPORT_SYMBOL vmlinux 0x2c919c63 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x2cac461e dma_find_channel +EXPORT_SYMBOL vmlinux 0x2cd26b53 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x2cedb4b0 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x2cf4683b __scm_destroy +EXPORT_SYMBOL vmlinux 0x2cf72e6d mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2cf9f7dd inode_dio_done +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d247e20 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x2d36faf5 kdb_current_task +EXPORT_SYMBOL vmlinux 0x2d3f3fc4 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x2d3fff58 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x2d666ee0 set_device_ro +EXPORT_SYMBOL vmlinux 0x2d6ebad3 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x2d754ea0 mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x2d7d2767 _lv1_set_lpm_group_control +EXPORT_SYMBOL vmlinux 0x2d844593 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2da00db5 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x2dac95b5 ip_defrag +EXPORT_SYMBOL vmlinux 0x2db1e0c6 dql_init +EXPORT_SYMBOL vmlinux 0x2db4c99b flush_delayed_work +EXPORT_SYMBOL vmlinux 0x2db8e888 ip6_route_output +EXPORT_SYMBOL vmlinux 0x2de4f609 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x2de54c88 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2df885f1 d_rehash +EXPORT_SYMBOL vmlinux 0x2e0098cf genl_unregister_family +EXPORT_SYMBOL vmlinux 0x2e0bc3d4 paca +EXPORT_SYMBOL vmlinux 0x2e0f553f skb_copy +EXPORT_SYMBOL vmlinux 0x2e1bef92 eeh_subsystem_enabled +EXPORT_SYMBOL vmlinux 0x2e20de25 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e470d0d kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x2e48f094 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x2e4caec5 seq_escape +EXPORT_SYMBOL vmlinux 0x2e4db82f scsi_unregister +EXPORT_SYMBOL vmlinux 0x2e634a96 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x2e676c8a __napi_schedule +EXPORT_SYMBOL vmlinux 0x2e8ad324 generic_fillattr +EXPORT_SYMBOL vmlinux 0x2e9252d8 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x2e93495e _lv1_write_htab_entry +EXPORT_SYMBOL vmlinux 0x2ea38c8c dev_warn +EXPORT_SYMBOL vmlinux 0x2ea8cdd0 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x2eb93d36 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x2ee11ba9 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x2ee1f956 idr_pre_get +EXPORT_SYMBOL vmlinux 0x2ee4337f smu_queue_cmd +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f064b55 allocate_resource +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f66546c __rta_fill +EXPORT_SYMBOL vmlinux 0x2f7db69f mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x2f87b8c5 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x2fae96de rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fbc2f4c netif_receive_skb +EXPORT_SYMBOL vmlinux 0x2fc66e92 pci_iounmap +EXPORT_SYMBOL vmlinux 0x2fcce15b tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x2fcf740d idr_get_new_above +EXPORT_SYMBOL vmlinux 0x2fe64438 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x301f415a agp_free_memory +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x305af201 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x307a4d42 of_find_property +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x30820e8c bio_sector_offset +EXPORT_SYMBOL vmlinux 0x3098d40f sock_create_kern +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30bb76c5 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x30bf96f8 build_skb +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30d70fa9 of_get_pci_address +EXPORT_SYMBOL vmlinux 0x30dee7b9 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x30e0f7ae __nlmsg_put +EXPORT_SYMBOL vmlinux 0x30ee7fe5 __netdev_printk +EXPORT_SYMBOL vmlinux 0x3101d9c6 km_state_notify +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310b4821 __put_cred +EXPORT_SYMBOL vmlinux 0x312cfaf2 _lv1_disable_logical_spe +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x315064fe scsi_register_interface +EXPORT_SYMBOL vmlinux 0x315b0505 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x315c65fd zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x3188b8bb nf_getsockopt +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3192aa9b mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x319a8d70 registered_fb +EXPORT_SYMBOL vmlinux 0x319e0726 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x31b1bd8f posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x31b515a3 current_fs_time +EXPORT_SYMBOL vmlinux 0x31b7f300 _lv1_set_lpm_signal +EXPORT_SYMBOL vmlinux 0x31caa8b2 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x31cd509a _lv1_net_control +EXPORT_SYMBOL vmlinux 0x31d3ab50 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x31f4b763 prepare_binprm +EXPORT_SYMBOL vmlinux 0x327b5644 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x327b9c1b pmu_poll_adb +EXPORT_SYMBOL vmlinux 0x32db5c55 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x32e6d3ef get_write_access +EXPORT_SYMBOL vmlinux 0x32e82c38 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x32f486bc lock_fb_info +EXPORT_SYMBOL vmlinux 0x32f78ba2 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x3301d691 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x333cb37c __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x334a30cf inet_getname +EXPORT_SYMBOL vmlinux 0x33642248 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x33747fae of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x33792085 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x338efb4a __pci_register_driver +EXPORT_SYMBOL vmlinux 0x339caa66 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x33a986ad __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x33b3ce13 kern_unmount +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33bbe045 scsi_execute_req +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fa7c85 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x34336507 elv_register_queue +EXPORT_SYMBOL vmlinux 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x3456cba5 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x346c4ded rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x34893536 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349f912c filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x34c80088 dev_uc_del +EXPORT_SYMBOL vmlinux 0x34f31e99 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x35452ddd inet_frag_find +EXPORT_SYMBOL vmlinux 0x3557cf90 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x358362f5 abort_creds +EXPORT_SYMBOL vmlinux 0x35b60e57 cdev_del +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35c0ba8f kernel_read +EXPORT_SYMBOL vmlinux 0x35c649db set_disk_ro +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35defc50 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x35eb59dd bio_copy_kern +EXPORT_SYMBOL vmlinux 0x36259e9f tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x3634258c generic_removexattr +EXPORT_SYMBOL vmlinux 0x367e623b sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x3698293f __free_pages +EXPORT_SYMBOL vmlinux 0x369b28be pci_disable_ido +EXPORT_SYMBOL vmlinux 0x369e1115 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x36b0e732 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x36c71dbf lro_flush_all +EXPORT_SYMBOL vmlinux 0x36d71d77 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x3701eab2 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x3708b892 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x370c2952 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x371902e9 _lv1_get_lpm_interrupt_status +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x372823f1 end_page_writeback +EXPORT_SYMBOL vmlinux 0x37344510 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x37350fee sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x37389dd8 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x3739f8b0 set_bh_page +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3746b29f netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x37720049 scsi_put_command +EXPORT_SYMBOL vmlinux 0x377244bf __bio_clone +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37cb7970 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x37d8774e dev_disable_lro +EXPORT_SYMBOL vmlinux 0x37de9623 phy_disconnect +EXPORT_SYMBOL vmlinux 0x37f19b37 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x37f5d25e mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x37f945c2 lock_super +EXPORT_SYMBOL vmlinux 0x37fc7fb7 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x3803f960 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x38083fbb pci_request_region +EXPORT_SYMBOL vmlinux 0x3809a6ce neigh_seq_next +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38200774 freeze_bdev +EXPORT_SYMBOL vmlinux 0x38209ee3 bdi_unregister +EXPORT_SYMBOL vmlinux 0x382777ab _lv1_gpu_context_allocate +EXPORT_SYMBOL vmlinux 0x382b940f pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x3869bc50 seq_release_private +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38b611ba dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x38e579d0 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x38f39760 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x391affe8 ilookup5 +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x396fc968 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x397784bd I_BDEV +EXPORT_SYMBOL vmlinux 0x397ee468 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x398ea7c6 bio_put +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39a4916f gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x39cdf63c wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x39d32a7d of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x39e80c92 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x3a17e5e4 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x3a20ff73 __crc32c_le +EXPORT_SYMBOL vmlinux 0x3a2b22df lookup_bdev +EXPORT_SYMBOL vmlinux 0x3a431304 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x3a8e93e6 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa93a8c kill_litter_super +EXPORT_SYMBOL vmlinux 0x3abb50ec neigh_table_clear +EXPORT_SYMBOL vmlinux 0x3ac60bbb sock_wmalloc +EXPORT_SYMBOL vmlinux 0x3ae161f6 tty_mutex +EXPORT_SYMBOL vmlinux 0x3b1dc678 vfs_symlink +EXPORT_SYMBOL vmlinux 0x3b23a5c3 notify_change +EXPORT_SYMBOL vmlinux 0x3b2e0c35 vfs_write +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b615a21 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x3b690d73 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x3b7f6a2f gen_pool_create +EXPORT_SYMBOL vmlinux 0x3b8bd1c5 load_nls_default +EXPORT_SYMBOL vmlinux 0x3b9bdbfd sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bdbcfdd poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3bf2cc4a dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x3bffa3fe writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x3c0d14fa unload_nls +EXPORT_SYMBOL vmlinux 0x3c17187f sock_init_data +EXPORT_SYMBOL vmlinux 0x3c2f7a17 ppp_input_error +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ca38615 mntget +EXPORT_SYMBOL vmlinux 0x3ca39a7b tty_set_operations +EXPORT_SYMBOL vmlinux 0x3ca5fe9a _dev_info +EXPORT_SYMBOL vmlinux 0x3cc4b0dc lg_lock_init +EXPORT_SYMBOL vmlinux 0x3cd61641 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d155619 sock_create_lite +EXPORT_SYMBOL vmlinux 0x3d488ca1 sget +EXPORT_SYMBOL vmlinux 0x3d4bb967 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x3d5844b3 strnicmp +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3dad4158 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x3dae3227 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dce3003 sg_miter_start +EXPORT_SYMBOL vmlinux 0x3dcfa409 vfs_statfs +EXPORT_SYMBOL vmlinux 0x3dd72e1c pci_dev_driver +EXPORT_SYMBOL vmlinux 0x3df1ae0e netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x3df5ed1a xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x3df5f432 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3dff8ba0 sock_no_accept +EXPORT_SYMBOL vmlinux 0x3e01cbef give_up_console +EXPORT_SYMBOL vmlinux 0x3e17ad98 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x3e286dca _lv1_get_rtc +EXPORT_SYMBOL vmlinux 0x3e28e118 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x3e3c5373 mount_subtree +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e5c6207 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x3e64ee8d twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x3e904a79 scsi_execute +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3eec0683 dm_get_device +EXPORT_SYMBOL vmlinux 0x3ef2f483 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x3ef3384c unregister_filesystem +EXPORT_SYMBOL vmlinux 0x3ef88a4c cad_pid +EXPORT_SYMBOL vmlinux 0x3efec367 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f06a656 _lv1_construct_event_receive_port +EXPORT_SYMBOL vmlinux 0x3f0b6fe1 install_exec_creds +EXPORT_SYMBOL vmlinux 0x3f111d7f dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x3f28d77b md_write_start +EXPORT_SYMBOL vmlinux 0x3f2adc8b journal_destroy +EXPORT_SYMBOL vmlinux 0x3f31a466 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f8c3d1c pci_get_subsys +EXPORT_SYMBOL vmlinux 0x3f994068 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x3f9963c8 d_drop +EXPORT_SYMBOL vmlinux 0x3fb5d3d7 page_put_link +EXPORT_SYMBOL vmlinux 0x3fbfd6ed _lv1_gpu_open +EXPORT_SYMBOL vmlinux 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ff8e495 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x404048dd md_write_end +EXPORT_SYMBOL vmlinux 0x404303dd generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x404b346d pci_set_master +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x405d0ed5 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409917a8 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c39634 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40f9e658 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x4109eb72 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x41302c46 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x41361807 _lv1_get_logical_ppe_id +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414bacf9 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x4159c38f ioremap_wc +EXPORT_SYMBOL vmlinux 0x41779437 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x417f40ad abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418d1c2f netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x419596fc jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x41b8958e end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x41dbf4de _lv1_start_lpm +EXPORT_SYMBOL vmlinux 0x41dca4bb inode_add_bytes +EXPORT_SYMBOL vmlinux 0x41ddda4e devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x420065dd skb_pull +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42154cb9 ip6_xmit +EXPORT_SYMBOL vmlinux 0x42175572 find_lock_page +EXPORT_SYMBOL vmlinux 0x422c413a bio_init +EXPORT_SYMBOL vmlinux 0x422e491d __find_get_block +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x4291dcb8 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x42946a94 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x4296860c node_data +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x42a23f4a journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x42a45d46 scsi_device_put +EXPORT_SYMBOL vmlinux 0x42b392f5 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x42bb594f jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x42d39e77 bdevname +EXPORT_SYMBOL vmlinux 0x42d72d9d block_write_end +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4316da98 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x432a48cd input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x438b7a7b journal_ack_err +EXPORT_SYMBOL vmlinux 0x439eb08a led_blink_set +EXPORT_SYMBOL vmlinux 0x43a01f90 complete_all +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43c6fe05 udplite_prot +EXPORT_SYMBOL vmlinux 0x43e32771 init_special_inode +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x43f31bff blk_end_request +EXPORT_SYMBOL vmlinux 0x44011de0 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x44348fd9 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x443d9f2a follow_down +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x448077c0 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x44833b34 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x448d3702 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x448eac3e kmemdup +EXPORT_SYMBOL vmlinux 0x4493899b log_start_commit +EXPORT_SYMBOL vmlinux 0x44a207cd simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x44a22c4d d_prune_aliases +EXPORT_SYMBOL vmlinux 0x44a5ac03 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44befb3b ppp_channel_index +EXPORT_SYMBOL vmlinux 0x44d14f30 vfs_create +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44eb192e wait_for_completion +EXPORT_SYMBOL vmlinux 0x44ee8eed input_reset_device +EXPORT_SYMBOL vmlinux 0x451aa464 file_remove_suid +EXPORT_SYMBOL vmlinux 0x452d0695 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x452ebe86 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4549b3b6 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x4552ed38 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x4553007c udp_ioctl +EXPORT_SYMBOL vmlinux 0x4564459b _lv1_set_virtual_uart_param +EXPORT_SYMBOL vmlinux 0x4572501e bprm_change_interp +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457b02cf blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x45a55ec8 __iounmap +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45cfe80b pasemi_dma_free_flag +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45eeb35e of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x4600d2e0 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x4610e413 clear_nlink +EXPORT_SYMBOL vmlinux 0x4611905d netdev_set_master +EXPORT_SYMBOL vmlinux 0x4612c59d down_trylock +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461b4ec9 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x46379d2b skb_gso_segment +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46a5c0c0 kernel_connect +EXPORT_SYMBOL vmlinux 0x46afd532 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x46d12956 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x46ef06cb register_filesystem +EXPORT_SYMBOL vmlinux 0x46fc8bb1 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x46ff31e9 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x471c6806 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x472a9fc9 elv_add_request +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475139da thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x478dacf8 inet_listen +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a72b76 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b73c38 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x47b9fa41 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x47d9be12 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x47db45da da903x_query_status +EXPORT_SYMBOL vmlinux 0x47ea120a get_super +EXPORT_SYMBOL vmlinux 0x48000553 mempool_create_node +EXPORT_SYMBOL vmlinux 0x48034724 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x480ab42a __next_cpu_nr +EXPORT_SYMBOL vmlinux 0x4815f22b _lv1_gpu_attribute +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4834523b xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x48404b9a remove_wait_queue +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4843a1b9 _lv1_delete_repository_node +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x48480466 serio_rescan +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x4881efab pmac_get_partition +EXPORT_SYMBOL vmlinux 0x488c9723 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x48c5ac73 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4918b306 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x4931a94c napi_frags_finish +EXPORT_SYMBOL vmlinux 0x495ec6eb pasemi_dma_alloc_buf +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x496886f5 inet_sendpage +EXPORT_SYMBOL vmlinux 0x4989090b inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x4995a5e7 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49bebc0b pci_get_device +EXPORT_SYMBOL vmlinux 0x49e4e601 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x4a05b018 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x4a19682a tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x4a2823b6 dcb_setapp +EXPORT_SYMBOL vmlinux 0x4a31cc89 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a360872 nf_afinfo +EXPORT_SYMBOL vmlinux 0x4a43e43e scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x4a594b2d journal_errno +EXPORT_SYMBOL vmlinux 0x4a637681 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x4aa81237 pci_set_ltr +EXPORT_SYMBOL vmlinux 0x4aad7d93 freeze_super +EXPORT_SYMBOL vmlinux 0x4aaf1f9e filemap_flush +EXPORT_SYMBOL vmlinux 0x4ab103bb textsearch_unregister +EXPORT_SYMBOL vmlinux 0x4ab38746 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x4ab6b736 blk_complete_request +EXPORT_SYMBOL vmlinux 0x4ab902cb __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4ac64da4 _lv1_select_virtual_address_space +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4ae2e82f __netif_schedule +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b09a48e twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x4b1ee3e6 sg_miter_next +EXPORT_SYMBOL vmlinux 0x4b3cb349 _lv1_destruct_io_irq_outlet +EXPORT_SYMBOL vmlinux 0x4b525c70 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x4b57c025 skb_trim +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6fcddc _lv1_set_spe_interrupt_mask +EXPORT_SYMBOL vmlinux 0x4b70f746 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x4b7171d2 mmc_release_host +EXPORT_SYMBOL vmlinux 0x4b75ba3e i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x4b7ed27b sleep_on +EXPORT_SYMBOL vmlinux 0x4b878b91 dquot_drop +EXPORT_SYMBOL vmlinux 0x4bb2e4f0 register_netdev +EXPORT_SYMBOL vmlinux 0x4bc14bb6 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x4bc15e25 bdget +EXPORT_SYMBOL vmlinux 0x4bc372f6 page_symlink +EXPORT_SYMBOL vmlinux 0x4bc8939e xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x4bcd873d __register_chrdev +EXPORT_SYMBOL vmlinux 0x4bd0554a mapping_tagged +EXPORT_SYMBOL vmlinux 0x4bd8d146 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x4bed99b3 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x4c11435a _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c3fe1b0 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x4c4590a5 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x4c592184 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x4c6b59f6 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x4c759007 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x4c97a570 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x4ca8ecce genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x4ca9669f scnprintf +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cd22442 __devm_request_region +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4d22d665 md_check_recovery +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d477afd pcim_iomap +EXPORT_SYMBOL vmlinux 0x4d5820a1 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d976846 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x4d9a2a01 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x4d9b2784 mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x4da452cf simple_getattr +EXPORT_SYMBOL vmlinux 0x4da7c931 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dd23805 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4dfed71c flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e08fe46 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x4e32ef2f ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e437c52 __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x4e43ca8d vio_cmo_set_dev_desired +EXPORT_SYMBOL vmlinux 0x4e45f3d5 macio_register_driver +EXPORT_SYMBOL vmlinux 0x4e4d367b dev_uc_init +EXPORT_SYMBOL vmlinux 0x4e558525 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x4e659479 key_unlink +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4ea8c620 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x4eab8cd5 dev_addr_flush +EXPORT_SYMBOL vmlinux 0x4ed2b05e sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4eec67ac mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x4eed81ee xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x4ef5fe49 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x4efad28c mmc_can_reset +EXPORT_SYMBOL vmlinux 0x4f0d9dad scsi_get_command +EXPORT_SYMBOL vmlinux 0x4f1abe19 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f243e95 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f664db6 _lv1_insert_htab_entry +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f6bad75 simple_write_end +EXPORT_SYMBOL vmlinux 0x4f7fdc80 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x4f8abbbb vm_insert_page +EXPORT_SYMBOL vmlinux 0x4fa38a51 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x4fd571e3 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x4fd77f83 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5025a3b9 dma_direct_ops +EXPORT_SYMBOL vmlinux 0x50460f6d submit_bio +EXPORT_SYMBOL vmlinux 0x506959b6 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x507897dd netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x50844e71 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x50a90e8d bsearch +EXPORT_SYMBOL vmlinux 0x50a9f1bd __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x50d2592d hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x50e17173 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x51144362 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x51451abf tcf_hash_check +EXPORT_SYMBOL vmlinux 0x515cc19a mpage_readpage +EXPORT_SYMBOL vmlinux 0x518b4c19 is_bad_inode +EXPORT_SYMBOL vmlinux 0x5193dce1 stop_tty +EXPORT_SYMBOL vmlinux 0x519b0da3 finish_wait +EXPORT_SYMBOL vmlinux 0x51c68661 iget_failed +EXPORT_SYMBOL vmlinux 0x51d8dcb6 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51e46fcf dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x51e60776 genphy_read_status +EXPORT_SYMBOL vmlinux 0x51f34c11 fasync_helper +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x52450c31 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x5248bab3 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x525120d4 ata_link_printk +EXPORT_SYMBOL vmlinux 0x525206ab dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x52614282 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x5268431a __ip_select_ident +EXPORT_SYMBOL vmlinux 0x527830ff pmac_xpram_read +EXPORT_SYMBOL vmlinux 0x528a4161 ps2_command +EXPORT_SYMBOL vmlinux 0x529ae22b phy_driver_register +EXPORT_SYMBOL vmlinux 0x52afefa7 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x52b03b37 __devm_release_region +EXPORT_SYMBOL vmlinux 0x52bc5429 d_alloc +EXPORT_SYMBOL vmlinux 0x52c6bfa7 follow_down_one +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e3fa05 _lv1_allocate_memory +EXPORT_SYMBOL vmlinux 0x5300ae2b sock_register +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53182120 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x5326f794 __alloc_skb +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5339f5f8 _lv1_read_virtual_uart +EXPORT_SYMBOL vmlinux 0x533ae86f journal_clear_err +EXPORT_SYMBOL vmlinux 0x53478043 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x536b5d6b __mutex_init +EXPORT_SYMBOL vmlinux 0x536f999a usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x53740ed6 netif_device_attach +EXPORT_SYMBOL vmlinux 0x53762183 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x5376d7a6 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x5377e556 hex2bin +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5387c0ed sock_update_classid +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53e1e4bc key_invalidate +EXPORT_SYMBOL vmlinux 0x53ebab1b _outsl_ns +EXPORT_SYMBOL vmlinux 0x53fdd3ff pci_get_slot +EXPORT_SYMBOL vmlinux 0x5403ec79 locks_delete_block +EXPORT_SYMBOL vmlinux 0x5412c7c7 up +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54475a8e tcf_register_action +EXPORT_SYMBOL vmlinux 0x545389a4 register_quota_format +EXPORT_SYMBOL vmlinux 0x54568b75 register_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x545deeb8 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x547f1c47 vfsmount_lock +EXPORT_SYMBOL vmlinux 0x54857073 block_write_begin +EXPORT_SYMBOL vmlinux 0x54973633 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x54a9d030 cdev_alloc +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54ab454d udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x54cd6446 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54f405b0 dqput +EXPORT_SYMBOL vmlinux 0x54f8e984 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x54fd2468 netdev_update_features +EXPORT_SYMBOL vmlinux 0x5515017b backlight_device_register +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x5555b4a1 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x5568c553 complete +EXPORT_SYMBOL vmlinux 0x5577ef9e udp_table +EXPORT_SYMBOL vmlinux 0x557b3dd8 _lv1_gpu_close +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x559c580d tty_shutdown +EXPORT_SYMBOL vmlinux 0x55d38a82 free_task +EXPORT_SYMBOL vmlinux 0x55ea8733 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x55f5019b __kmalloc_node +EXPORT_SYMBOL vmlinux 0x5610fecf xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5631e2de rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x564db307 skb_seq_read +EXPORT_SYMBOL vmlinux 0x5666e73d set_groups +EXPORT_SYMBOL vmlinux 0x56673d56 default_llseek +EXPORT_SYMBOL vmlinux 0x567e6f45 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x568804ee _lv1_destruct_event_receive_port +EXPORT_SYMBOL vmlinux 0x569b409c inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56b00fa7 blk_put_queue +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56c9bdca dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x56d2e0be netif_carrier_off +EXPORT_SYMBOL vmlinux 0x56ddd997 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x570262d0 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x5736699c blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x573f2dd5 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x574103c9 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57589b99 make_EII_client +EXPORT_SYMBOL vmlinux 0x5761494e pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x576f2132 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x5785384a flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x5788ec96 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x5794800f set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x579bab50 _lv1_gpu_memory_free +EXPORT_SYMBOL vmlinux 0x57a04719 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x57ccfa41 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x57d830b4 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x57db5685 elevator_init +EXPORT_SYMBOL vmlinux 0x57f7732c bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x58243005 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x5828d022 uart_match_port +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5844b04e padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x58738b06 padata_alloc +EXPORT_SYMBOL vmlinux 0x58851f6c genl_register_family +EXPORT_SYMBOL vmlinux 0x589abb49 tcf_em_register +EXPORT_SYMBOL vmlinux 0x58b89493 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x59011f0c dquot_initialize +EXPORT_SYMBOL vmlinux 0x590c01d3 console_stop +EXPORT_SYMBOL vmlinux 0x5926ac17 fb_blank +EXPORT_SYMBOL vmlinux 0x592c320b start_tty +EXPORT_SYMBOL vmlinux 0x592f0390 generic_listxattr +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x5939b56b inet_add_protocol +EXPORT_SYMBOL vmlinux 0x5948e833 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x59616bea input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x5967c929 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x5968ad34 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x597fd961 i2c_master_send +EXPORT_SYMBOL vmlinux 0x598c1ad1 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x599a8de7 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x59ab7aa2 simple_empty +EXPORT_SYMBOL vmlinux 0x59b3378a completion_done +EXPORT_SYMBOL vmlinux 0x59c1f06b vfs_mkdir +EXPORT_SYMBOL vmlinux 0x59d05e3c md_finish_reshape +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x59f96180 proto_unregister +EXPORT_SYMBOL vmlinux 0x5a025f7b arch_local_irq_restore +EXPORT_SYMBOL vmlinux 0x5a0aaa12 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5a1ca124 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5a201963 genphy_update_link +EXPORT_SYMBOL vmlinux 0x5a27f400 __block_write_begin +EXPORT_SYMBOL vmlinux 0x5a601555 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x5a618fe8 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a75bf90 ip_options_compile +EXPORT_SYMBOL vmlinux 0x5a7ad0b9 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5acdf551 path_get +EXPORT_SYMBOL vmlinux 0x5ad61709 journal_start +EXPORT_SYMBOL vmlinux 0x5addba84 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x5af24301 blk_run_queue +EXPORT_SYMBOL vmlinux 0x5aff7383 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x5b1223bd tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x5b1a2745 vio_unregister_device +EXPORT_SYMBOL vmlinux 0x5b1b55bb dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x5b39988e ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x5b3a91ad bio_integrity_free +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b4f1239 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x5b5382af d_delete +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b67e920 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x5b7997fa of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x5b7f8d7e pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x5b8ef0f3 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x5b9828c5 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bac55ad mii_nway_restart +EXPORT_SYMBOL vmlinux 0x5baccf75 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x5bb15aa2 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x5bc10524 printk_emit +EXPORT_SYMBOL vmlinux 0x5bf84cdd blk_end_request_all +EXPORT_SYMBOL vmlinux 0x5bfbb6d0 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x5c0730c3 serio_close +EXPORT_SYMBOL vmlinux 0x5c0b6e39 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x5c19a249 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x5c37f319 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x5c53bcb7 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x5c68ed18 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x5c7af026 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x5ccc9045 _lv1_close_device +EXPORT_SYMBOL vmlinux 0x5cda966d kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x5ce1a4e6 tcp_prot +EXPORT_SYMBOL vmlinux 0x5cf30e10 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d1c8866 pci_iomap +EXPORT_SYMBOL vmlinux 0x5d1f5b90 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x5d2b6db9 dev_mc_init +EXPORT_SYMBOL vmlinux 0x5d375e7b xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x5d4cf9b0 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x5d4f9a38 release_sock +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d5cc658 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x5d6bdce1 flex_array_alloc +EXPORT_SYMBOL vmlinux 0x5d7ae10a bdput +EXPORT_SYMBOL vmlinux 0x5db98d9a mount_pseudo +EXPORT_SYMBOL vmlinux 0x5dc4015e __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x5dd43649 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x5dd47b91 create_proc_entry +EXPORT_SYMBOL vmlinux 0x5df1c62a alloc_file +EXPORT_SYMBOL vmlinux 0x5df7ceb1 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x5e0174e1 security_file_permission +EXPORT_SYMBOL vmlinux 0x5e136fbc fsync_bdev +EXPORT_SYMBOL vmlinux 0x5e32a690 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x5e3a8a9c __wake_up +EXPORT_SYMBOL vmlinux 0x5e4fecb7 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x5e529b19 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e6994e7 netdev_alert +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eaf3a81 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f23110a get_pci_dma_ops +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f528d5e __napi_complete +EXPORT_SYMBOL vmlinux 0x5f5449c6 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f99dfee cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x5f9dafaa __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fd17b72 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x5fd72896 seq_write +EXPORT_SYMBOL vmlinux 0x5fde1355 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x5febf21a skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x5fee3d1a serio_interrupt +EXPORT_SYMBOL vmlinux 0x5ffeeba0 lock_may_write +EXPORT_SYMBOL vmlinux 0x6003d79b __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601bb6e1 simple_write_begin +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60511f2a dev_mc_flush +EXPORT_SYMBOL vmlinux 0x60528651 bdi_register +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x607d35c8 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x607fdbeb swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x6086fae9 rwsem_wake +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60aee0c1 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0x6121feca genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x61229b10 node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612f1247 mnt_unpin +EXPORT_SYMBOL vmlinux 0x613b3d9e generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x61413cac input_register_device +EXPORT_SYMBOL vmlinux 0x614275f5 nf_reinject +EXPORT_SYMBOL vmlinux 0x6142e3eb tty_free_termios +EXPORT_SYMBOL vmlinux 0x614679c2 mmc_card_awake +EXPORT_SYMBOL vmlinux 0x615e0ab3 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x618577ca mutex_lock +EXPORT_SYMBOL vmlinux 0x619a5d94 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61a4487c _lv1_gpu_device_unmap +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c661f4 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x61dcdcd3 _lv1_pause +EXPORT_SYMBOL vmlinux 0x61eef2c9 _insb +EXPORT_SYMBOL vmlinux 0x62093364 dquot_operations +EXPORT_SYMBOL vmlinux 0x620a8c44 __dst_free +EXPORT_SYMBOL vmlinux 0x6216ee8f kill_anon_super +EXPORT_SYMBOL vmlinux 0x622087eb inode_set_bytes +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x62304c74 __page_symlink +EXPORT_SYMBOL vmlinux 0x6230d8fe mount_single +EXPORT_SYMBOL vmlinux 0x623a9536 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x62434952 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0x62538167 slhc_toss +EXPORT_SYMBOL vmlinux 0x6258ff7a panic_notifier_list +EXPORT_SYMBOL vmlinux 0x62735fff set_blocksize +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627861e1 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x6279fa36 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x628bcf1e splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x62921128 journal_extend +EXPORT_SYMBOL vmlinux 0x62c3c6f2 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x62c83161 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x62e18b83 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6300c730 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x63044896 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x6360d639 cpu_all_bits +EXPORT_SYMBOL vmlinux 0x6365eb37 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x638386f6 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x63890e86 locks_free_lock +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63a78bcd kernel_getsockname +EXPORT_SYMBOL vmlinux 0x63e7bd12 __cputime_usec_factor +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f16683 __seq_open_private +EXPORT_SYMBOL vmlinux 0x63f75920 _lv1_construct_virtual_address_space +EXPORT_SYMBOL vmlinux 0x63f9c93f ida_get_new_above +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x64191e38 dcb_getapp +EXPORT_SYMBOL vmlinux 0x641fc69d prepare_creds +EXPORT_SYMBOL vmlinux 0x643516f2 register_cdrom +EXPORT_SYMBOL vmlinux 0x643769e0 sock_no_bind +EXPORT_SYMBOL vmlinux 0x6450b68e kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x64554a58 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x646cc6ab pmu_poll +EXPORT_SYMBOL vmlinux 0x64855739 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x648a3d92 generic_getxattr +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64af7e6f cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652100ac devm_ioremap_prot +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x652f21ae tty_check_change +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65430dd9 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x654d4e32 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x656d94ba dev_uc_add +EXPORT_SYMBOL vmlinux 0x65a2c82d ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x65bb58a2 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x65be9080 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x65c26d49 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x65cc33ba iput +EXPORT_SYMBOL vmlinux 0x65d663b2 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65f2bfdc mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x65fc5ff9 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x66262f1c input_grab_device +EXPORT_SYMBOL vmlinux 0x662f9b94 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x66894eeb __get_page_tail +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66a256b3 ida_pre_get +EXPORT_SYMBOL vmlinux 0x66ad1cb3 _lv1_set_lpm_general_control +EXPORT_SYMBOL vmlinux 0x66b08b50 phy_print_status +EXPORT_SYMBOL vmlinux 0x66cbf14b pmac_xpram_write +EXPORT_SYMBOL vmlinux 0x66d2cf3b key_put +EXPORT_SYMBOL vmlinux 0x66e3de6a tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x66e7f2ca request_firmware +EXPORT_SYMBOL vmlinux 0x67163797 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6742e5d7 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x674d8e2b netif_skb_features +EXPORT_SYMBOL vmlinux 0x6757a093 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x676ef34d md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x678422d7 d_path +EXPORT_SYMBOL vmlinux 0x6788fb8a filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x679172ba vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x67a5acdf pci_bus_type +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c97a85 journal_start_commit +EXPORT_SYMBOL vmlinux 0x67db5d3a tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x6849a15f flex_array_clear +EXPORT_SYMBOL vmlinux 0x68609857 complete_and_exit +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x689d389e bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x68ad9563 nf_log_register +EXPORT_SYMBOL vmlinux 0x68b0714a mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68e1ef51 smu_present +EXPORT_SYMBOL vmlinux 0x6921149a tty_port_put +EXPORT_SYMBOL vmlinux 0x6929f735 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x69312c3f fb_validate_mode +EXPORT_SYMBOL vmlinux 0x694748b5 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69787e04 compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x6980960e of_find_matching_node +EXPORT_SYMBOL vmlinux 0x699ccbf8 _lv1_deconfigure_virtual_uart_irq +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69ab1864 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69c6c147 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69e9c22d mpage_readpages +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a28a0bd pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x6a3151bf kfree_skb +EXPORT_SYMBOL vmlinux 0x6a57958d skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a61f874 to_tm +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a92e78d sock_sendmsg +EXPORT_SYMBOL vmlinux 0x6a98a2e9 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x6abd9348 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6adcf17b input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x6ae306b5 blk_free_tags +EXPORT_SYMBOL vmlinux 0x6af1f4b5 bdget_disk +EXPORT_SYMBOL vmlinux 0x6af5b209 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x6b019a91 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x6b13b0ab __scm_send +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b358cab _lv1_read_repository_node +EXPORT_SYMBOL vmlinux 0x6b387694 _lv1_end_of_interrupt_ext +EXPORT_SYMBOL vmlinux 0x6b4254ec twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x6b589a6e _lv1_net_add_multicast_address +EXPORT_SYMBOL vmlinux 0x6b5dfe73 __debugger_bpt +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b6f0c4b _lv1_create_repository_node +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6c04b91e pci_read_vpd +EXPORT_SYMBOL vmlinux 0x6c0bcd09 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x6c0f20d2 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x6c3d2863 of_get_next_child +EXPORT_SYMBOL vmlinux 0x6c5e1fb0 __quota_error +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c665691 flex_array_shrink +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c8d6ac8 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x6c92cf11 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x6c9e525c get_agp_version +EXPORT_SYMBOL vmlinux 0x6cda9069 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x6cf0310a pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x6cf28893 dma_pool_create +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d0aea59 do_splice_from +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d16de4a noop_llseek +EXPORT_SYMBOL vmlinux 0x6d1743eb _lv1_get_total_execution_time +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d34637e km_query +EXPORT_SYMBOL vmlinux 0x6d5b0193 get_fs_type +EXPORT_SYMBOL vmlinux 0x6d5e0271 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x6d65b1c0 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x6d65e364 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d74d1ff add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x6d981560 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x6da928f4 _insw_ns +EXPORT_SYMBOL vmlinux 0x6dab4991 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x6dbb4577 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x6dbbe09c i2c_verify_client +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df960b0 sk_wait_data +EXPORT_SYMBOL vmlinux 0x6e0e4130 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x6e3bdd45 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x6e4f6598 blk_peek_request +EXPORT_SYMBOL vmlinux 0x6e658c3e get_gendisk +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea5216a do_truncate +EXPORT_SYMBOL vmlinux 0x6ead5d43 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x6ebc3517 unlock_buffer +EXPORT_SYMBOL vmlinux 0x6ec91f25 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x6ed0146e tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x6ee47271 pci_choose_state +EXPORT_SYMBOL vmlinux 0x6ee7c74f del_gendisk +EXPORT_SYMBOL vmlinux 0x6eef9960 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x6f12b4db km_policy_expired +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f31a8ad sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x6f662281 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x6f7893cc ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x6f8656f5 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x6f8a49c8 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x6f8edb08 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x6fa331ed _lv1_construct_io_irq_outlet +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fcf77ee netdev_err +EXPORT_SYMBOL vmlinux 0x6fd040ec generic_segment_checks +EXPORT_SYMBOL vmlinux 0x6ff93c98 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x701699b2 _lv1_set_spe_privilege_state_area_1_register +EXPORT_SYMBOL vmlinux 0x703f3838 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x704c4365 __cputime_sec_factor +EXPORT_SYMBOL vmlinux 0x704e1405 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x7058dce3 noop_fsync +EXPORT_SYMBOL vmlinux 0x705fbe0e gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x70a3a12a __serio_register_driver +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70e04d30 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x70e7a231 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x70f86c70 pmu_queue_request +EXPORT_SYMBOL vmlinux 0x710abd19 get_io_context +EXPORT_SYMBOL vmlinux 0x71158fc6 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x711e6e7f dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x71218fdc clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71772a5a arp_xmit +EXPORT_SYMBOL vmlinux 0x717a3a07 ether_setup +EXPORT_SYMBOL vmlinux 0x71a25c76 simple_link +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71b843c6 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x71fdb323 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x720136d9 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x7229fad8 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x728d6fb9 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x729b4a83 _lv1_get_spe_all_interrupt_statuses +EXPORT_SYMBOL vmlinux 0x729ed749 cont_write_begin +EXPORT_SYMBOL vmlinux 0x72a4271f scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72c98139 __arch_hweight64 +EXPORT_SYMBOL vmlinux 0x72ca90aa jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731a747a pci_io_base +EXPORT_SYMBOL vmlinux 0x7328f687 irq_to_desc +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x732e0f40 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x7341df05 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x734ee48b skb_free_datagram +EXPORT_SYMBOL vmlinux 0x73588ccf serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x735c61d1 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x735d8503 add_wait_queue +EXPORT_SYMBOL vmlinux 0x73710a3e dqstats +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x7387a316 __destroy_inode +EXPORT_SYMBOL vmlinux 0x739004b9 genl_notify +EXPORT_SYMBOL vmlinux 0x73a151cc iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x73a3cac6 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x73b992dc idr_remove_all +EXPORT_SYMBOL vmlinux 0x73c4966e is_container_init +EXPORT_SYMBOL vmlinux 0x73cefa5e mdiobus_read +EXPORT_SYMBOL vmlinux 0x73db2bf2 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0x73e57577 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x73efaa84 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x7409c270 pci_dev_get +EXPORT_SYMBOL vmlinux 0x7414af62 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x741562b7 single_release +EXPORT_SYMBOL vmlinux 0x74495756 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x7494a833 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x74b4d291 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c391d5 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x74c6722a xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x74cbab37 make_bad_inode +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d1c2c4 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x74d4031d pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74fe8730 sys_ctrler +EXPORT_SYMBOL vmlinux 0x751c2917 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x75228d19 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x7532588a alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x753f6c2a grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x756c786e _lv1_connect_interrupt_event_receive_port +EXPORT_SYMBOL vmlinux 0x756f7b1f posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x75754995 _lv1_storage_check_async_status +EXPORT_SYMBOL vmlinux 0x7589dec5 dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x75994700 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x759d2240 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x759ffa1f pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x75ab96cc journal_dirty_data +EXPORT_SYMBOL vmlinux 0x75b746b2 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75d02087 sk_alloc +EXPORT_SYMBOL vmlinux 0x75e4f5aa pasemi_read_mac_reg +EXPORT_SYMBOL vmlinux 0x7600c134 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x764e2224 _lv1_disconnect_irq_plug_ext +EXPORT_SYMBOL vmlinux 0x767567fd scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x7678324c generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x767f5fb4 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d461ec flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x76d526ff kthread_stop +EXPORT_SYMBOL vmlinux 0x76e35393 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x76fac1dd skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x77105bef put_io_context +EXPORT_SYMBOL vmlinux 0x77144936 _lv1_disconnect_irq_plug +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x7741b619 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x7745998f pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x77588182 inet_addr_type +EXPORT_SYMBOL vmlinux 0x77664506 irq_set_chip +EXPORT_SYMBOL vmlinux 0x776fd23c dev_set_group +EXPORT_SYMBOL vmlinux 0x77743491 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x7775179c mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x778ed9dd find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77ab6132 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77d78057 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x7821a2ff generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x7823a769 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x784ccb38 dst_destroy +EXPORT_SYMBOL vmlinux 0x78540387 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x785e4902 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x7864fda8 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0x78731391 bio_copy_user +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x789a17f7 _lv1_destruct_logical_spe +EXPORT_SYMBOL vmlinux 0x78a940a1 con_is_bound +EXPORT_SYMBOL vmlinux 0x78b3f2a2 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x78c8f50b devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x790c9329 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x790df6ca __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x791e2121 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x792a8336 swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x792bab84 setattr_copy +EXPORT_SYMBOL vmlinux 0x7939683f sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79cea1c7 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x79db5756 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a3b17d8 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4e11bc xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x7a73c864 generic_setxattr +EXPORT_SYMBOL vmlinux 0x7aa44f78 dquot_destroy +EXPORT_SYMBOL vmlinux 0x7aa9e259 _lv1_map_htab +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ad1d486 d_invalidate +EXPORT_SYMBOL vmlinux 0x7afb0734 pci_find_capability +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b1fac0c max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x7b2aef6c __krealloc +EXPORT_SYMBOL vmlinux 0x7b462036 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x7b4c606d xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x7b5a192b genphy_suspend +EXPORT_SYMBOL vmlinux 0x7b65d242 read_cache_pages +EXPORT_SYMBOL vmlinux 0x7b6736d1 pci_disable_device +EXPORT_SYMBOL vmlinux 0x7b718228 ida_destroy +EXPORT_SYMBOL vmlinux 0x7b89cb85 open_exec +EXPORT_SYMBOL vmlinux 0x7baf6f76 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x7bc2f8e4 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x7bc9b3b5 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x7bde3893 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x7be9b63a elv_rb_del +EXPORT_SYMBOL vmlinux 0x7bf34ff5 eth_header_cache +EXPORT_SYMBOL vmlinux 0x7c003aef _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x7c124ba3 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c2d098f krealloc +EXPORT_SYMBOL vmlinux 0x7c2f9d7c pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x7c386598 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x7c3ad8db seq_printf +EXPORT_SYMBOL vmlinux 0x7c3c6113 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c5fbd6b pci_disable_msix +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c7bea90 macio_release_resources +EXPORT_SYMBOL vmlinux 0x7c85991f mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x7c8ec714 pipe_to_file +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9291d1 csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x7c98845d twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7ca341af kernel_thread +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cb5617a cdev_init +EXPORT_SYMBOL vmlinux 0x7cbbb02a __nla_reserve +EXPORT_SYMBOL vmlinux 0x7cc8998a of_device_alloc +EXPORT_SYMBOL vmlinux 0x7cf3a16b put_cmsg +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d29e589 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x7d335bbc generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x7d77fc90 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x7d7ea71b generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x7d8be454 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x7d9206bd journal_check_used_features +EXPORT_SYMBOL vmlinux 0x7da9121d __sk_dst_check +EXPORT_SYMBOL vmlinux 0x7dac5f3f pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x7db3b7ae sockfd_lookup +EXPORT_SYMBOL vmlinux 0x7dbdc97e pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x7dc97879 rtas_get_error_log_max +EXPORT_SYMBOL vmlinux 0x7dd77125 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x7ddf388f pci_disable_obff +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e03fe9a blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x7e09179a dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x7e1df0cf led_brightness_set +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e39c3cc block_commit_write +EXPORT_SYMBOL vmlinux 0x7e816f72 soft_cursor +EXPORT_SYMBOL vmlinux 0x7e87227e slhc_compress +EXPORT_SYMBOL vmlinux 0x7ebe9188 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x7ebebe38 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x7ec4f7bd kobject_del +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f419c5b neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x7f4aa595 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x7f5f4b19 macio_dev_get +EXPORT_SYMBOL vmlinux 0x7f69ddcb tcp_connect +EXPORT_SYMBOL vmlinux 0x7f79f5ea xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x7f91baf2 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x7f96bc0d journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x7f9f8841 idr_remove +EXPORT_SYMBOL vmlinux 0x7fbafc3b phy_register_fixup +EXPORT_SYMBOL vmlinux 0x7fc63df0 security_path_rename +EXPORT_SYMBOL vmlinux 0x7fd5ad2f pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x7fd6cf11 ilookup +EXPORT_SYMBOL vmlinux 0x7fe38f48 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x7fe9a060 _lv1_net_stop_tx_dma +EXPORT_SYMBOL vmlinux 0x8015848e pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x801ded1d swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x802d0e93 crc32_le +EXPORT_SYMBOL vmlinux 0x8030e2c1 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x80653a84 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x80892f69 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x80927456 ps2_drain +EXPORT_SYMBOL vmlinux 0x80a8ed11 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x80eeb2c8 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x80f00638 names_cachep +EXPORT_SYMBOL vmlinux 0x810bb7b5 mdiobus_register +EXPORT_SYMBOL vmlinux 0x8141b205 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x8165224d sk_stream_error +EXPORT_SYMBOL vmlinux 0x81731e07 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x81780793 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x81970f8f netdev_features_change +EXPORT_SYMBOL vmlinux 0x81a07f4e _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81d9f7f2 _lv1_put_iopte +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e8ec38 bd_set_size +EXPORT_SYMBOL vmlinux 0x81e9b0a9 udp_seq_open +EXPORT_SYMBOL vmlinux 0x81fd24f0 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8215f484 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x82344b2f mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x82473fcf devm_free_irq +EXPORT_SYMBOL vmlinux 0x824a79ed skb_insert +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x825925e8 dquot_release +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x82661103 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x8277c71c skb_copy_bits +EXPORT_SYMBOL vmlinux 0x8287b546 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x828dcaf2 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x82a81a5d tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b136da dev_crit +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x8306d477 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x830b4687 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x833f0ec8 write_cache_pages +EXPORT_SYMBOL vmlinux 0x8368e95e of_match_device +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83a94ed2 vio_find_node +EXPORT_SYMBOL vmlinux 0x83bdc784 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x83c651d9 load_nls +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83cc2276 vmap +EXPORT_SYMBOL vmlinux 0x83cda2aa tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x83d3650c icmp_send +EXPORT_SYMBOL vmlinux 0x83daa892 neigh_lookup +EXPORT_SYMBOL vmlinux 0x83e59c20 filemap_fault +EXPORT_SYMBOL vmlinux 0x843170b0 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x8431e9ba page_readlink +EXPORT_SYMBOL vmlinux 0x845124e0 ps3_mm_phys_to_lpar +EXPORT_SYMBOL vmlinux 0x84645df3 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x84693253 tty_devnum +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x847a5316 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x84847200 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x8490571f input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x849fe807 csum_and_copy_from_user +EXPORT_SYMBOL vmlinux 0x84a77809 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x84bd69bf dq_data_lock +EXPORT_SYMBOL vmlinux 0x84c47b77 setup_new_exec +EXPORT_SYMBOL vmlinux 0x850085a9 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x85023841 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x852d107b tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x85520cb1 misc_register +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85813758 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x858afd8a fail_migrate_page +EXPORT_SYMBOL vmlinux 0x8597eb47 plpar_hcall +EXPORT_SYMBOL vmlinux 0x859f614e __blk_end_request +EXPORT_SYMBOL vmlinux 0x85b4847b tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85b6e9b2 dev_get_stats +EXPORT_SYMBOL vmlinux 0x85cc004e napi_get_frags +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85f2544d pci_restore_state +EXPORT_SYMBOL vmlinux 0x85f870aa sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x860fb6de swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x862279ae sock_wake_async +EXPORT_SYMBOL vmlinux 0x863dcea1 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x863edecd neigh_seq_start +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x865504e3 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x86576a35 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x869b5d37 mach_ps3 +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86eb71c6 napi_complete +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8734dcf7 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x873a53ea __arch_hweight8 +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x879feca4 __getblk +EXPORT_SYMBOL vmlinux 0x87ad37da sock_wfree +EXPORT_SYMBOL vmlinux 0x87c6d6c3 drop_super +EXPORT_SYMBOL vmlinux 0x87d4d885 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x880ce048 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x880da1b1 _lv1_get_logical_partition_id +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x883a56fd tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x883bdcc1 phy_device_register +EXPORT_SYMBOL vmlinux 0x883db5af scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x88458c6e km_new_mapping +EXPORT_SYMBOL vmlinux 0x8860627c tc_classify +EXPORT_SYMBOL vmlinux 0x88668376 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x88743a4f d_make_root +EXPORT_SYMBOL vmlinux 0x887def2d scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x88c57f2e bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x88dcfbda __scsi_put_command +EXPORT_SYMBOL vmlinux 0x88ec291c nla_reserve +EXPORT_SYMBOL vmlinux 0x891fbb10 mempool_destroy +EXPORT_SYMBOL vmlinux 0x894b9a8f blk_rq_init +EXPORT_SYMBOL vmlinux 0x895108f3 proc_dostring +EXPORT_SYMBOL vmlinux 0x895577b0 numa_cpu_lookup_table +EXPORT_SYMBOL vmlinux 0x8967ba52 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89797060 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x897f061d downgrade_write +EXPORT_SYMBOL vmlinux 0x898169c3 find_inode_number +EXPORT_SYMBOL vmlinux 0x898473e9 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x8990ca15 vio_disable_interrupts +EXPORT_SYMBOL vmlinux 0x8994db46 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x899ff081 blk_put_request +EXPORT_SYMBOL vmlinux 0x89a36416 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x89a59f59 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89c26be6 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x89c5a8be smu_get_sdb_partition +EXPORT_SYMBOL vmlinux 0x89cc597d pci_save_state +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89f1236b set_create_files_as +EXPORT_SYMBOL vmlinux 0x8a126dd6 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x8a18a1df nla_append +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a3473d7 neigh_create +EXPORT_SYMBOL vmlinux 0x8a4571b1 write_inode_now +EXPORT_SYMBOL vmlinux 0x8a48c84b simple_transaction_release +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a78f713 seq_bitmap +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a81ddb0 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8a9cef2a _lv1_allocate_device_dma_region +EXPORT_SYMBOL vmlinux 0x8aa42919 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x8abd9939 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8ad4fddd mmc_start_req +EXPORT_SYMBOL vmlinux 0x8af71e45 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x8afa6706 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x8b03edbb request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x8b0d2c54 bioset_create +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b39d3e4 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x8b5c786b abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x8b5fcc55 vc_resize +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7b599d pci_enable_obff +EXPORT_SYMBOL vmlinux 0x8b84f9a4 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x8b9a43fb init_net +EXPORT_SYMBOL vmlinux 0x8b9fb007 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x8bcb1765 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x8be577a0 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x8bf2ae1f fsl_lbc_addr +EXPORT_SYMBOL vmlinux 0x8bf6c542 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x8bfcd462 mpage_writepages +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c346e37 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x8c46cb27 __elv_add_request +EXPORT_SYMBOL vmlinux 0x8c5f688a nla_put +EXPORT_SYMBOL vmlinux 0x8c68ee00 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x8c6df04c skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c8242b1 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x8c85922c of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x8c8ad364 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x8c8d79c0 _lv1_gpu_context_iomap +EXPORT_SYMBOL vmlinux 0x8c9bf207 thaw_bdev +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cce5662 pci_request_regions +EXPORT_SYMBOL vmlinux 0x8cd8e2d7 mount_bdev +EXPORT_SYMBOL vmlinux 0x8cfc246b vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x8d22dd1c textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x8d26da87 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5c8b17 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x8d664aab may_umount_tree +EXPORT_SYMBOL vmlinux 0x8d6906d4 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x8d9289d6 sock_no_poll +EXPORT_SYMBOL vmlinux 0x8d944cbb copy_in_user +EXPORT_SYMBOL vmlinux 0x8dc4185e padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x8de0b5ac mempool_create +EXPORT_SYMBOL vmlinux 0x8de2fbc5 _lv1_get_virtual_uart_param +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8e22eaa5 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x8e2757b4 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e349947 alloc_pages_current +EXPORT_SYMBOL vmlinux 0x8e760521 pci_dev_put +EXPORT_SYMBOL vmlinux 0x8e7d8d2b seq_putc +EXPORT_SYMBOL vmlinux 0x8e7e2529 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x8e84d8fe ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x8e8e78c8 netlink_set_err +EXPORT_SYMBOL vmlinux 0x8ea9ba85 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x8eb04c3c pci_target_state +EXPORT_SYMBOL vmlinux 0x8ec04552 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x8ed6b1fc serio_open +EXPORT_SYMBOL vmlinux 0x8ed764d7 put_disk +EXPORT_SYMBOL vmlinux 0x8ee18b0a blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x8ee19036 blk_start_request +EXPORT_SYMBOL vmlinux 0x8ee93d66 __get_user_pages +EXPORT_SYMBOL vmlinux 0x8eea1bc9 smu_poll +EXPORT_SYMBOL vmlinux 0x8eeb77aa blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x8f0a054a save_mount_options +EXPORT_SYMBOL vmlinux 0x8f23b422 md_error +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f4e27ac skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f85f835 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x8f9d71c3 of_create_pci_dev +EXPORT_SYMBOL vmlinux 0x8fb17530 pci_get_class +EXPORT_SYMBOL vmlinux 0x8fe7e645 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x9031f53c sk_dst_check +EXPORT_SYMBOL vmlinux 0x903db3d2 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x9052e182 compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x9056d1d8 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x9057a94c __inet6_hash +EXPORT_SYMBOL vmlinux 0x905bba18 vm_event_states +EXPORT_SYMBOL vmlinux 0x906dfee5 dev_close +EXPORT_SYMBOL vmlinux 0x90e146c2 trace_seq_putc +EXPORT_SYMBOL vmlinux 0x90e446cb qdisc_list_del +EXPORT_SYMBOL vmlinux 0x90e5d0b8 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x90f371f1 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x91065225 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x91069a5b bio_kmalloc +EXPORT_SYMBOL vmlinux 0x91201cef _lv1_enable_logical_spe +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x9133e295 unregister_key_type +EXPORT_SYMBOL vmlinux 0x91391c41 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x91394dd4 gen_pool_free +EXPORT_SYMBOL vmlinux 0x913af8b0 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x91634813 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x91729523 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x919d6b28 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x91ac822f vscnprintf +EXPORT_SYMBOL vmlinux 0x91b22162 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x91b91b18 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x91c4feca _lv1_unmap_htab +EXPORT_SYMBOL vmlinux 0x91d4d498 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x91fd639c kthread_bind +EXPORT_SYMBOL vmlinux 0x921662e1 twl6040_power +EXPORT_SYMBOL vmlinux 0x922108e5 dput +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923c54cf idr_destroy +EXPORT_SYMBOL vmlinux 0x924ebba7 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x9253e781 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x926a5003 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x92723496 arp_invalidate +EXPORT_SYMBOL vmlinux 0x92782bfe sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x928dc8b5 rename_lock +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9330d557 phy_start +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x93507f1c _lv1_gpu_memory_allocate +EXPORT_SYMBOL vmlinux 0x93630148 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x936e4fc2 vio_register_device_node +EXPORT_SYMBOL vmlinux 0x936ec49f invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x9371664a vio_enable_interrupts +EXPORT_SYMBOL vmlinux 0x9371795c key_link +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93de23c6 register_framebuffer +EXPORT_SYMBOL vmlinux 0x93e41678 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x93e7ef7d pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x942117b7 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x943dc80f csum_and_copy_to_user +EXPORT_SYMBOL vmlinux 0x9442e699 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x946afce6 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x94745466 dget_parent +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94b19e12 flush_icache_user_range +EXPORT_SYMBOL vmlinux 0x94c55a82 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x94d93586 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9518b623 register_shrinker +EXPORT_SYMBOL vmlinux 0x9524b0ae _outsb +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954a3c20 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x95649e32 kset_unregister +EXPORT_SYMBOL vmlinux 0x9586d9d7 sk_filter +EXPORT_SYMBOL vmlinux 0x958b74d4 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x95902a1d bio_alloc +EXPORT_SYMBOL vmlinux 0x9595e5ed qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x95de7606 account_page_writeback +EXPORT_SYMBOL vmlinux 0x95ef032b tcp_poll +EXPORT_SYMBOL vmlinux 0x96002d7e cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x960c843d dev_mc_sync +EXPORT_SYMBOL vmlinux 0x963561b3 __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x9662afce netif_carrier_on +EXPORT_SYMBOL vmlinux 0x968766c4 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96de0a26 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x96ef4a71 skb_pad +EXPORT_SYMBOL vmlinux 0x96fd543a mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x970356a4 nf_log_packet +EXPORT_SYMBOL vmlinux 0x9711410a dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x971a0dff generic_file_mmap +EXPORT_SYMBOL vmlinux 0x9725fb2c agp_free_page_array +EXPORT_SYMBOL vmlinux 0x9737d221 empty_aops +EXPORT_SYMBOL vmlinux 0x973cd902 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x9748927f _outsw_ns +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x975c983a journal_init_inode +EXPORT_SYMBOL vmlinux 0x976e014f _lv1_map_device_mmio_region +EXPORT_SYMBOL vmlinux 0x97716628 generic_write_checks +EXPORT_SYMBOL vmlinux 0x977663bd dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x97868aef __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97f03d6f vio_cmo_entitlement_update +EXPORT_SYMBOL vmlinux 0x97f467db sys_copyarea +EXPORT_SYMBOL vmlinux 0x97f70076 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x97fea3ad force_sig +EXPORT_SYMBOL vmlinux 0x980f6243 input_release_device +EXPORT_SYMBOL vmlinux 0x98177648 _lv1_set_lpm_interval +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x9834d93c kset_register +EXPORT_SYMBOL vmlinux 0x9838a19a generic_show_options +EXPORT_SYMBOL vmlinux 0x983e09f5 irq_stat +EXPORT_SYMBOL vmlinux 0x98483a9f starget_for_each_device +EXPORT_SYMBOL vmlinux 0x98499f02 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9870d863 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x9886547e cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x9897db19 dst_alloc +EXPORT_SYMBOL vmlinux 0x989ae15d tty_kref_put +EXPORT_SYMBOL vmlinux 0x98a5707b inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x98b58362 inet_accept +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x98ffa4cf kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x99195078 vsnprintf +EXPORT_SYMBOL vmlinux 0x9919ee6d xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x991b867e pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x9935210a jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x9958b02c noop_qdisc +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x9966c2d3 macio_request_resources +EXPORT_SYMBOL vmlinux 0x996b5aa4 bdi_destroy +EXPORT_SYMBOL vmlinux 0x9973e15b poll_initwait +EXPORT_SYMBOL vmlinux 0x997b3471 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99afe916 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c174fa sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x99c24cfe _lv1_free_device_dma_region +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d0167d __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x99d3a43c dm_table_get_size +EXPORT_SYMBOL vmlinux 0x99eebcc7 sk_free +EXPORT_SYMBOL vmlinux 0x9a118524 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a1ffb92 _lv1_clear_spe_interrupt_status +EXPORT_SYMBOL vmlinux 0x9a3692ef dma_iommu_ops +EXPORT_SYMBOL vmlinux 0x9a44e2de skb_queue_head +EXPORT_SYMBOL vmlinux 0x9a45d742 dm_put_device +EXPORT_SYMBOL vmlinux 0x9a5ffc64 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9a626734 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x9a6c2531 pasemi_dma_init +EXPORT_SYMBOL vmlinux 0x9a6d52fe sock_i_uid +EXPORT_SYMBOL vmlinux 0x9ac07c8f dev_activate +EXPORT_SYMBOL vmlinux 0x9acdfd72 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x9ae1468e agp_copy_info +EXPORT_SYMBOL vmlinux 0x9af2159f __bread +EXPORT_SYMBOL vmlinux 0x9af89f98 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9b02613f of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b481407 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x9b64f6b4 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x9b6cd310 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x9b9028fd ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x9ba0f292 simple_unlink +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bfff19a vfs_link +EXPORT_SYMBOL vmlinux 0x9c0415f2 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x9c155cca xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c50508c udp_poll +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c713b92 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x9c95ccd9 vfs_readlink +EXPORT_SYMBOL vmlinux 0x9ca22b86 blk_get_request +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cbf982f dcache_readdir +EXPORT_SYMBOL vmlinux 0x9cdc6328 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d04efc8 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x9d0637c3 register_console +EXPORT_SYMBOL vmlinux 0x9d11c168 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d5e096f __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x9d786943 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x9d78a602 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x9d7ce8dd _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x9d81619d __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x9d91ac36 seq_path +EXPORT_SYMBOL vmlinux 0x9da8accd inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x9dc2375c skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x9dcecc5e pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x9dd5eff8 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x9df9eb76 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x9dff39af blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e227d83 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x9e3ddd0e iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e691f15 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x9e90caa8 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ea21429 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x9eb85bf1 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9eb8afd6 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x9ebb44dd scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ed34d9a dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x9ee78669 _lv1_write_virtual_uart +EXPORT_SYMBOL vmlinux 0x9ef59907 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x9f0b6445 phy_attach +EXPORT_SYMBOL vmlinux 0x9f22bff1 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x9f2b0d38 inet_frags_init +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4b44b4 tty_write_room +EXPORT_SYMBOL vmlinux 0x9f75ea61 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fce4ae1 sock_release +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa05d101e compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa088d39d redraw_screen +EXPORT_SYMBOL vmlinux 0xa08a349a d_move +EXPORT_SYMBOL vmlinux 0xa0ab2f98 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b99fd9 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0f221a7 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0ff74d6 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10ed4a5 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12da62c max8998_update_reg +EXPORT_SYMBOL vmlinux 0xa131fd64 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa149f58a dev_trans_start +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa1564c45 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xa1ae9b89 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1bf38dc tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xa1c4b6d2 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1c99385 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xa1d5e8d4 __register_binfmt +EXPORT_SYMBOL vmlinux 0xa1e9a39e generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa1ed6555 touch_atime +EXPORT_SYMBOL vmlinux 0xa1f8fe75 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xa202a8e5 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xa2089a41 i2c_del_driver +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa20d7f89 files_lglock +EXPORT_SYMBOL vmlinux 0xa2127cdc pasemi_dma_alloc_flag +EXPORT_SYMBOL vmlinux 0xa2465322 _lv1_get_version_info +EXPORT_SYMBOL vmlinux 0xa2500994 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa268392f __sock_create +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2d2bf7e console_start +EXPORT_SYMBOL vmlinux 0xa2d6492a pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xa2da69ac write_one_page +EXPORT_SYMBOL vmlinux 0xa2dc5981 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xa2de43ad ata_print_version +EXPORT_SYMBOL vmlinux 0xa2e77feb keyring_search +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa303d1ff dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xa31ed4cf usb_put_transceiver +EXPORT_SYMBOL vmlinux 0xa32f1769 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa3476b2a sock_create +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa36220de generic_writepages +EXPORT_SYMBOL vmlinux 0xa36c3ea2 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xa3713ffb __breadahead +EXPORT_SYMBOL vmlinux 0xa396e715 bio_free +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3abc422 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xa3da7c04 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xa3f30e00 dm_io +EXPORT_SYMBOL vmlinux 0xa3fc3d50 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xa400159f crc32_be +EXPORT_SYMBOL vmlinux 0xa425cef8 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xa4430687 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xa44cf2cd __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xa4511467 crc16 +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa480c04b _lv1_gpu_context_attribute +EXPORT_SYMBOL vmlinux 0xa4a3d413 sync_inode +EXPORT_SYMBOL vmlinux 0xa4a94d26 find_next_bit_le +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4bdd447 __cputime_clockt_factor +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4da5837 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0xa4e9e831 dev_add_pack +EXPORT_SYMBOL vmlinux 0xa4f22273 arp_tbl +EXPORT_SYMBOL vmlinux 0xa5704c20 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa58559c7 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa5948e5c blk_init_tags +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5bb4797 dmam_pool_create +EXPORT_SYMBOL vmlinux 0xa5e5d44d pci_match_id +EXPORT_SYMBOL vmlinux 0xa5ef40c9 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xa5f7797a devm_gpio_request +EXPORT_SYMBOL vmlinux 0xa5ff8372 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xa60db4c7 pci_enable_device +EXPORT_SYMBOL vmlinux 0xa63d169e task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xa646ab00 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6c88946 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa70a725f machine_id +EXPORT_SYMBOL vmlinux 0xa720678c lg_global_lock +EXPORT_SYMBOL vmlinux 0xa723859c simple_readpage +EXPORT_SYMBOL vmlinux 0xa7247b42 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa74fa0ad sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xa76c1e8e __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xa76df14a of_device_unregister +EXPORT_SYMBOL vmlinux 0xa774a78f seq_puts +EXPORT_SYMBOL vmlinux 0xa784eca5 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xa7aab90b mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xa7bb40b2 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xa7c39168 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xa7d46b68 register_nls +EXPORT_SYMBOL vmlinux 0xa7da263f arp_create +EXPORT_SYMBOL vmlinux 0xa7dddecf vfs_mknod +EXPORT_SYMBOL vmlinux 0xa7df56eb blk_integrity_register +EXPORT_SYMBOL vmlinux 0xa7e2fdb7 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xa80cbfef of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0xa813e00c xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xa816c525 schedule_work_on +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa85a6cef simple_rename +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8a27667 dump_write +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8bd411e init_task +EXPORT_SYMBOL vmlinux 0xa8ced546 _lv1_net_set_interrupt_status_indicator +EXPORT_SYMBOL vmlinux 0xa8f012c2 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xa8f41925 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xa8f7d9a9 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa911219e dm_unregister_target +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91c77b6 _lv1_end_of_interrupt +EXPORT_SYMBOL vmlinux 0xa921c0fe tcf_hash_release +EXPORT_SYMBOL vmlinux 0xa9363d74 dev_deactivate +EXPORT_SYMBOL vmlinux 0xa93ba88e proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xa9644020 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xa981fa2d iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xa987cad2 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xa99ee981 request_key_async +EXPORT_SYMBOL vmlinux 0xa9a5ae76 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xa9af67d9 eth_change_mtu +EXPORT_SYMBOL vmlinux 0xa9b297dd mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0xa9bb315d ata_port_printk +EXPORT_SYMBOL vmlinux 0xa9ea5ec2 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xa9ebcd97 mdiobus_free +EXPORT_SYMBOL vmlinux 0xa9ec6e98 inet_release +EXPORT_SYMBOL vmlinux 0xa9ed64a4 fd_install +EXPORT_SYMBOL vmlinux 0xaa0edca8 pasemi_dma_alloc_fun +EXPORT_SYMBOL vmlinux 0xaa36d3ce find_get_page +EXPORT_SYMBOL vmlinux 0xaa46e87e lg_local_unlock +EXPORT_SYMBOL vmlinux 0xaa6e4df5 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaa88bf5e elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae5161e scsi_print_result +EXPORT_SYMBOL vmlinux 0xaaea1a28 d_add_ci +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab03abca send_sig_info +EXPORT_SYMBOL vmlinux 0xab03bb7b xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xab1ce4d7 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab21ce85 md_register_thread +EXPORT_SYMBOL vmlinux 0xab65a735 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xab66434a ndisc_build_skb +EXPORT_SYMBOL vmlinux 0xab66f611 _lv1_set_lpm_trigger_control +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab725284 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xab768421 blkdev_put +EXPORT_SYMBOL vmlinux 0xab795eaa dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xabab3b0a inet_csk_accept +EXPORT_SYMBOL vmlinux 0xabc2a173 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xabc3267e pipe_unlock +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabeb918b blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0xabf2b686 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xabfc20d3 fget +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac26b820 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xac591ad6 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac88ed59 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacd14ab8 _lv1_construct_logical_spe +EXPORT_SYMBOL vmlinux 0xacdc0d72 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xace6cc3f sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad01744f kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0a6e0a flex_array_prealloc +EXPORT_SYMBOL vmlinux 0xad164875 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xad17dbf8 skb_dequeue +EXPORT_SYMBOL vmlinux 0xad260623 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xad3adf2b generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xad4483a3 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad469373 igrab +EXPORT_SYMBOL vmlinux 0xad4a7d8f __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0xad50cebb i8253_lock +EXPORT_SYMBOL vmlinux 0xad55fb97 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xad575e61 new_inode +EXPORT_SYMBOL vmlinux 0xad5a4a19 security_path_truncate +EXPORT_SYMBOL vmlinux 0xad61914b input_event +EXPORT_SYMBOL vmlinux 0xad6b6cec seq_lseek +EXPORT_SYMBOL vmlinux 0xad6dca8a vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad8b1ebb input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xaddb0922 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xaddb3f74 generic_write_sync +EXPORT_SYMBOL vmlinux 0xadeffe25 _lv1_gpu_context_intr +EXPORT_SYMBOL vmlinux 0xadfe3726 devm_ioremap +EXPORT_SYMBOL vmlinux 0xae070cc2 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xae0f0b27 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xae25871b gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0xae33da0d tcp_read_sock +EXPORT_SYMBOL vmlinux 0xae36aebc tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xae38325f scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xae453fed bio_integrity_advance +EXPORT_SYMBOL vmlinux 0xae464c55 page_follow_link_light +EXPORT_SYMBOL vmlinux 0xae4b86d0 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xae545f06 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xae56bd21 seq_open +EXPORT_SYMBOL vmlinux 0xae58d16a pci_select_bars +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae7310e4 kill_pgrp +EXPORT_SYMBOL vmlinux 0xae884699 user_revoke +EXPORT_SYMBOL vmlinux 0xae8c3d2a keyring_clear +EXPORT_SYMBOL vmlinux 0xaec7610c vga_put +EXPORT_SYMBOL vmlinux 0xaecbd549 skb_push +EXPORT_SYMBOL vmlinux 0xaeccfd23 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xaeeb4832 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xaef810f1 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xaf053a76 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xaf063510 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xaf2d872c prepare_to_wait +EXPORT_SYMBOL vmlinux 0xaf32ae24 sys_fillrect +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf64ad0d zlib_deflate +EXPORT_SYMBOL vmlinux 0xaf68de46 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xaf6ae696 kstrndup +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafd06865 try_module_get +EXPORT_SYMBOL vmlinux 0xafd68c33 flex_array_free +EXPORT_SYMBOL vmlinux 0xafef8fa9 register_memory_notifier +EXPORT_SYMBOL vmlinux 0xaff15a05 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xafff3d1d mempool_alloc +EXPORT_SYMBOL vmlinux 0xb000ec9e revalidate_disk +EXPORT_SYMBOL vmlinux 0xb0304d35 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xb036ede6 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xb0395875 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xb0478cbd netlink_broadcast +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0aae2f9 register_key_type +EXPORT_SYMBOL vmlinux 0xb0ac14e1 netif_device_detach +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0dc5203 km_report +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e71cd0 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xb11a737f blk_start_queue +EXPORT_SYMBOL vmlinux 0xb14311b4 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xb147a855 dql_reset +EXPORT_SYMBOL vmlinux 0xb15aa6c1 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb165ef45 __irq_regs +EXPORT_SYMBOL vmlinux 0xb16e8d13 seq_read +EXPORT_SYMBOL vmlinux 0xb17e3c10 dev_alert +EXPORT_SYMBOL vmlinux 0xb18aff3d aio_complete +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1ae07f0 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xb1b13bcd mmc_remove_host +EXPORT_SYMBOL vmlinux 0xb1b5f173 validate_sp +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c6e787 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1d6cdb2 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xb1ea3842 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xb2272b45 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xb23cef8e simple_rmdir +EXPORT_SYMBOL vmlinux 0xb23f1ffc macio_dev_put +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb270d37d blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xb274439c padata_remove_cpu +EXPORT_SYMBOL vmlinux 0xb274e752 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xb2b9b170 unregister_netdev +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb3084d6d netlink_ack +EXPORT_SYMBOL vmlinux 0xb32e3391 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb3a69d06 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xb3ab44ac backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xb3bf73df cpu_active_mask +EXPORT_SYMBOL vmlinux 0xb3d96b89 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xb3e82972 cdev_add +EXPORT_SYMBOL vmlinux 0xb3f39a9d inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xb3f8698f ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xb3f9aa5b migrate_page +EXPORT_SYMBOL vmlinux 0xb401e673 iterate_mounts +EXPORT_SYMBOL vmlinux 0xb40d7766 d_validate +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42f7ef0 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xb449bb31 proc_symlink +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb47b35f6 netdev_info +EXPORT_SYMBOL vmlinux 0xb48f756f dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0xb4aaa7b3 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xb4ae8c6d mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0xb4ec54d1 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xb51f1c61 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0xb52a487b dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xb536a563 d_splice_alias +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb556b212 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xb56bfd9e smu_spinwait_cmd +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5800ed3 d_lookup +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b8dfad max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xb5c192e7 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xb5d7ff17 macio_enable_devres +EXPORT_SYMBOL vmlinux 0xb5f894dc take_over_console +EXPORT_SYMBOL vmlinux 0xb619b91f jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb633d44e journal_lock_updates +EXPORT_SYMBOL vmlinux 0xb6480af7 fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0xb658b979 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xb66121fe jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb68bfa9d node_states +EXPORT_SYMBOL vmlinux 0xb6a0ab9d iget_locked +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6a73da8 i2c_bit_algo +EXPORT_SYMBOL vmlinux 0xb6b970a0 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6f35a26 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xb713c879 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xb734a8b1 ps3_dma_region_free +EXPORT_SYMBOL vmlinux 0xb73f450d unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xb74dac50 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xb776ec01 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xb784f301 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xb793eed2 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xb7b93e1b net_dma_find_channel +EXPORT_SYMBOL vmlinux 0xb7c83716 filp_close +EXPORT_SYMBOL vmlinux 0xb7e7008a md_done_sync +EXPORT_SYMBOL vmlinux 0xb81009be mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xb8212681 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb8372432 mmc_add_host +EXPORT_SYMBOL vmlinux 0xb838c8a9 journal_abort +EXPORT_SYMBOL vmlinux 0xb86123be _lv1_write_repository_node +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb8793bec generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0xb87aeb5d __nla_put +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb89f57c6 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xb8a30c7e _lv1_add_lpm_event_bookmark +EXPORT_SYMBOL vmlinux 0xb8aa28de tty_register_device +EXPORT_SYMBOL vmlinux 0xb8b5aba6 md_flush_request +EXPORT_SYMBOL vmlinux 0xb8cc2d1b security_path_link +EXPORT_SYMBOL vmlinux 0xb8da410a tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xb8dc3248 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0xb8f11437 mach_powernv +EXPORT_SYMBOL vmlinux 0xb8f25fe0 simple_setattr +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb9266582 register_con_driver +EXPORT_SYMBOL vmlinux 0xb9328cfd blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xb961a163 set_page_dirty +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb997a793 inode_init_always +EXPORT_SYMBOL vmlinux 0xb9ad38d9 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xb9b4e181 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0xb9fc9dab mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0xb9fce197 of_node_get +EXPORT_SYMBOL vmlinux 0xba122a2c smu_done_complete +EXPORT_SYMBOL vmlinux 0xba38c609 rt6_lookup +EXPORT_SYMBOL vmlinux 0xba3f257f inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba5da473 kill_bdev +EXPORT_SYMBOL vmlinux 0xba727e82 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xba833280 netif_rx_ni +EXPORT_SYMBOL vmlinux 0xba88aff7 md_integrity_register +EXPORT_SYMBOL vmlinux 0xba8c6de4 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xbab9b990 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xbae6392d vfs_readv +EXPORT_SYMBOL vmlinux 0xbaed3376 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xbaf88e57 security_inode_permission +EXPORT_SYMBOL vmlinux 0xbb05d0b8 lock_rename +EXPORT_SYMBOL vmlinux 0xbb09e7b1 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb34134a iov_shorten +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb5f850b ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xbb877715 phy_stop +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbaeb559 memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0xbbb36bc5 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xbbe6e505 path_is_under +EXPORT_SYMBOL vmlinux 0xbbea0604 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0xbc08cdb1 blk_register_region +EXPORT_SYMBOL vmlinux 0xbc1e8d43 lookup_hash +EXPORT_SYMBOL vmlinux 0xbc2117da rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc3f6afa down_read +EXPORT_SYMBOL vmlinux 0xbc580e3b serio_unregister_port +EXPORT_SYMBOL vmlinux 0xbc5f883c xfrm_register_km +EXPORT_SYMBOL vmlinux 0xbc8828b8 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xbc95e8dc security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xbca37688 vfs_writev +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccdc2f6 flex_array_put +EXPORT_SYMBOL vmlinux 0xbcd2ff6e netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xbcd8e143 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xbce46c16 uart_register_driver +EXPORT_SYMBOL vmlinux 0xbd1e29c6 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xbd2657e9 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xbd2e0877 security_path_chmod +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd6d41d0 read_cache_page_async +EXPORT_SYMBOL vmlinux 0xbd7f8c9b idr_get_next +EXPORT_SYMBOL vmlinux 0xbd803510 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xbd827fd7 ppc_md +EXPORT_SYMBOL vmlinux 0xbd8cfa15 pasemi_write_mac_reg +EXPORT_SYMBOL vmlinux 0xbd8e02bf rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xbd906b95 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xbd968790 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdd325d1 inode_change_ok +EXPORT_SYMBOL vmlinux 0xbde5ace8 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xbded4a36 find_vma +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe05ab69 sock_no_getname +EXPORT_SYMBOL vmlinux 0xbe0ec11e dev_mc_add +EXPORT_SYMBOL vmlinux 0xbe0f3aba framebuffer_release +EXPORT_SYMBOL vmlinux 0xbe10f9b8 ihold +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe77aebe down_write_trylock +EXPORT_SYMBOL vmlinux 0xbe7b1192 generic_make_request +EXPORT_SYMBOL vmlinux 0xbe814159 ida_remove +EXPORT_SYMBOL vmlinux 0xbe988e94 scsi_add_device +EXPORT_SYMBOL vmlinux 0xbecd326e __pagevec_release +EXPORT_SYMBOL vmlinux 0xbedc586e bio_map_user +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf36c8ba scsi_device_get +EXPORT_SYMBOL vmlinux 0xbf36fd95 replace_mount_options +EXPORT_SYMBOL vmlinux 0xbf37021c i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0xbf59130b scm_fp_dup +EXPORT_SYMBOL vmlinux 0xbf66c346 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xbf7aa653 vga_get +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8a323b pci_disable_ltr +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bc051 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa28684 simple_pin_fs +EXPORT_SYMBOL vmlinux 0xbfab456e i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xbfabfe59 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xbfaf0ab2 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xbfb8b0b7 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfd97597 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff8182c plpar_hcall_norets +EXPORT_SYMBOL vmlinux 0xc03ad924 ip_fragment +EXPORT_SYMBOL vmlinux 0xc03d79b7 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xc03e9ff3 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06e9295 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xc07170f1 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc0834484 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xc09d74c8 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0c40290 skb_split +EXPORT_SYMBOL vmlinux 0xc0ebf078 neigh_for_each +EXPORT_SYMBOL vmlinux 0xc10df92d of_device_register +EXPORT_SYMBOL vmlinux 0xc1123528 scsi_init_io +EXPORT_SYMBOL vmlinux 0xc130986e blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xc13511d7 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xc1490d71 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xc153a045 vfs_llseek +EXPORT_SYMBOL vmlinux 0xc15cfa3a kernel_bind +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc17deb31 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xc1a78f64 input_register_handler +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1d7d179 blk_stack_limits +EXPORT_SYMBOL vmlinux 0xc1e8896d tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc246a610 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc276b1f1 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xc28a23ef tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2af3346 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xc2c6f9b9 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xc2d2401f agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0xc2df4845 vfs_open +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e9d048 d_genocide +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc2fb9ee1 _lv1_shutdown_logical_partition +EXPORT_SYMBOL vmlinux 0xc2ff9eb0 __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc310e7af do_splice_to +EXPORT_SYMBOL vmlinux 0xc314c3d2 __cputime_jiffies_factor +EXPORT_SYMBOL vmlinux 0xc32d4285 ll_rw_block +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc35032f5 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xc38942ce devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0xc38cbc80 brioctl_set +EXPORT_SYMBOL vmlinux 0xc38cc6d5 mount_ns +EXPORT_SYMBOL vmlinux 0xc395cfe6 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xc3bbe19c dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xc3c55b28 f_setown +EXPORT_SYMBOL vmlinux 0xc3dea1ef compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0xc3dfb486 register_sysctl +EXPORT_SYMBOL vmlinux 0xc41f1696 _lv1_configure_virtual_uart_irq +EXPORT_SYMBOL vmlinux 0xc422e9c1 pmac_resume_agp_for_card +EXPORT_SYMBOL vmlinux 0xc4241d2a padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0xc43b645a __dev_printk +EXPORT_SYMBOL vmlinux 0xc443d810 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xc4489752 agp_put_bridge +EXPORT_SYMBOL vmlinux 0xc452cb5b ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xc45755de find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0xc4584df9 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xc46291ef input_inject_event +EXPORT_SYMBOL vmlinux 0xc477a1e2 dev_driver_string +EXPORT_SYMBOL vmlinux 0xc47cdf9c _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xc4833b98 truncate_setsize +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4e7712b of_get_property +EXPORT_SYMBOL vmlinux 0xc4ff135d pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xc5089620 _lv1_stop_ppe_periodic_tracer +EXPORT_SYMBOL vmlinux 0xc50bab05 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xc543e25a scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xc548187d jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc55c2a9d inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0xc55de23c percpu_counter_set +EXPORT_SYMBOL vmlinux 0xc58d73dc fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0xc58db53b tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xc5a5244c drop_nlink +EXPORT_SYMBOL vmlinux 0xc5ae148e tcp_child_process +EXPORT_SYMBOL vmlinux 0xc5d910c2 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63ba2be kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xc65a7863 agp_backend_release +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc663b075 __ioremap +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc67ba562 bio_endio +EXPORT_SYMBOL vmlinux 0xc687256f pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xc68a400d tty_throttle +EXPORT_SYMBOL vmlinux 0xc691a772 task_nice +EXPORT_SYMBOL vmlinux 0xc699a20d check_disk_change +EXPORT_SYMBOL vmlinux 0xc6a32600 block_read_full_page +EXPORT_SYMBOL vmlinux 0xc6b22c71 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xc6c7d88f unlock_super +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6ff27b5 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7252b56 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xc725ea29 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xc72ad42f tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xc73e5efe input_free_device +EXPORT_SYMBOL vmlinux 0xc74dc57b secpath_dup +EXPORT_SYMBOL vmlinux 0xc750b654 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xc754553f fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xc76152bb phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7823a51 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xc7829729 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xc794ca68 __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0xc796bf56 netif_napi_del +EXPORT_SYMBOL vmlinux 0xc796c1fb i2c_use_client +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc79c3188 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7afe0ff mii_check_media +EXPORT_SYMBOL vmlinux 0xc7baec27 ppp_input +EXPORT_SYMBOL vmlinux 0xc7db9b5e filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xc7f70c6c scsi_host_get +EXPORT_SYMBOL vmlinux 0xc80552e3 bdev_read_only +EXPORT_SYMBOL vmlinux 0xc806e5e4 register_qdisc +EXPORT_SYMBOL vmlinux 0xc80b1b09 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xc811062e generic_file_open +EXPORT_SYMBOL vmlinux 0xc81a1476 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84f4fd3 invalidate_partition +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc88d83f8 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8a2471d ip_route_input_common +EXPORT_SYMBOL vmlinux 0xc8a4bacf idr_replace +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8c996cd agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xc8d4de0b __module_get +EXPORT_SYMBOL vmlinux 0xc8de19f0 unlock_rename +EXPORT_SYMBOL vmlinux 0xc8e31d75 _lv1_configure_irq_state_bitmap +EXPORT_SYMBOL vmlinux 0xc902f9ce pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xc9040e99 pci_enable_ido +EXPORT_SYMBOL vmlinux 0xc90a122d phy_device_free +EXPORT_SYMBOL vmlinux 0xc91c4a47 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xc91ff664 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc92dd841 sk_reset_timer +EXPORT_SYMBOL vmlinux 0xc933c536 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xc9418af9 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xc9521594 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xc967fb0f netdev_notice +EXPORT_SYMBOL vmlinux 0xc96dbefb __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xc978479a xz_dec_run +EXPORT_SYMBOL vmlinux 0xc97bd037 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0xc97bf445 sock_i_ino +EXPORT_SYMBOL vmlinux 0xc992ebeb i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a15cd3 single_open +EXPORT_SYMBOL vmlinux 0xc9b59f1d tty_port_close +EXPORT_SYMBOL vmlinux 0xc9c784f1 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xc9d6376b simple_open +EXPORT_SYMBOL vmlinux 0xc9e72bcd scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xc9f9e8db get_phy_device +EXPORT_SYMBOL vmlinux 0xc9fc598d pasemi_read_dma_reg +EXPORT_SYMBOL vmlinux 0xc9ff411f kernel_accept +EXPORT_SYMBOL vmlinux 0xca06a242 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xca1d439b vfs_unlink +EXPORT_SYMBOL vmlinux 0xca1ffcc3 iterate_supers_type +EXPORT_SYMBOL vmlinux 0xca4dec01 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca6b8c8d of_parse_phandle +EXPORT_SYMBOL vmlinux 0xca825895 pmu_suspend +EXPORT_SYMBOL vmlinux 0xca89ce32 genl_register_ops +EXPORT_SYMBOL vmlinux 0xcaabf3f9 pasemi_write_iob_reg +EXPORT_SYMBOL vmlinux 0xcaee8e28 unlock_page +EXPORT_SYMBOL vmlinux 0xcaf364b6 bio_clone +EXPORT_SYMBOL vmlinux 0xcb2d6ecd mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xcb4b444a fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xcb6e045a mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbceef08 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xcbe8b038 _lv1_configure_execution_time_variable +EXPORT_SYMBOL vmlinux 0xcc03b751 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xcc159592 dev_err +EXPORT_SYMBOL vmlinux 0xcc17504d _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xcc1825b6 udp_disconnect +EXPORT_SYMBOL vmlinux 0xcc2a01ed pci_map_rom +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4a42ce vfs_read +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5079ab twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xcc5a7f6a security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc89c246 pasemi_dma_alloc_chan +EXPORT_SYMBOL vmlinux 0xcca14b83 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xcca6e84a zero_fill_bio +EXPORT_SYMBOL vmlinux 0xccb9ffa7 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xccd3e393 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xcce78c06 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xcceb98f9 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xccfc0a02 macio_release_resource +EXPORT_SYMBOL vmlinux 0xcd0529c7 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xcd0fd8f1 mddev_congested +EXPORT_SYMBOL vmlinux 0xcd20667a kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd4d63b3 napi_skb_finish +EXPORT_SYMBOL vmlinux 0xcd501deb vfs_readdir +EXPORT_SYMBOL vmlinux 0xcd62121f sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xcd696fd3 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xcd769f62 _lv1_gpu_device_map +EXPORT_SYMBOL vmlinux 0xcd861ea3 dma_set_mask +EXPORT_SYMBOL vmlinux 0xcd86c87f __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xcd95d0dd tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xcd97cdaf mac_find_mode +EXPORT_SYMBOL vmlinux 0xcd9dd0e9 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xcdb3a89a xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xcdce9113 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xcdd3f080 kill_pid +EXPORT_SYMBOL vmlinux 0xcddba062 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdfd60c7 do_sync_read +EXPORT_SYMBOL vmlinux 0xce0edd1e skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2aaa05 __serio_register_port +EXPORT_SYMBOL vmlinux 0xce3b3f09 profile_pc +EXPORT_SYMBOL vmlinux 0xce3fc528 dev_gro_receive +EXPORT_SYMBOL vmlinux 0xce409cda pmac_set_early_video_resume +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce59699b kernel_listen +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce69ccdb pci_enable_msix +EXPORT_SYMBOL vmlinux 0xce6c1f7c datagram_poll +EXPORT_SYMBOL vmlinux 0xce6dc862 journal_wipe +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce82e5f2 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xcea3a939 mach_pasemi +EXPORT_SYMBOL vmlinux 0xcec3a599 vc_cons +EXPORT_SYMBOL vmlinux 0xced777cb proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcf16839a should_remove_suid +EXPORT_SYMBOL vmlinux 0xcf251e73 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xcf448ae5 module_layout +EXPORT_SYMBOL vmlinux 0xcf54e0f5 dev_emerg +EXPORT_SYMBOL vmlinux 0xcf5f549d agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0xcf647dbd mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xcf767076 tty_hangup +EXPORT_SYMBOL vmlinux 0xcfa96434 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xcfb70c67 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xcfb7d5a0 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xcfca25d7 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0xcfd2523c mach_powermac +EXPORT_SYMBOL vmlinux 0xcfdd204b compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcfef1a5b tty_port_close_end +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd037851c dentry_unhash +EXPORT_SYMBOL vmlinux 0xd03ab2dc d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0xd03cb2d5 __pskb_copy +EXPORT_SYMBOL vmlinux 0xd03e3b7e km_state_expired +EXPORT_SYMBOL vmlinux 0xd05931ec _lv1_set_lpm_counter_control +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd0a913ad giveup_vsx +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b6660b set_anon_super +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0eacae1 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0efcf80 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xd0efe945 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd102348b powerpc_debugfs_root +EXPORT_SYMBOL vmlinux 0xd114f3c3 xfrm_input +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd121480d vm_mmap +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd15d501a netif_napi_add +EXPORT_SYMBOL vmlinux 0xd17c0008 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd185be3c sk_common_release +EXPORT_SYMBOL vmlinux 0xd1b095b3 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xd1b0be0b __skb_tx_hash +EXPORT_SYMBOL vmlinux 0xd1c3fbef twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xd1d74a0c i2c_release_client +EXPORT_SYMBOL vmlinux 0xd1e5ab7d generic_read_dir +EXPORT_SYMBOL vmlinux 0xd1e8d257 alloc_disk +EXPORT_SYMBOL vmlinux 0xd1f7578b kobject_add +EXPORT_SYMBOL vmlinux 0xd1fe8ebb _lv1_get_spe_interrupt_status +EXPORT_SYMBOL vmlinux 0xd20c366d pci_release_region +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd22e0a34 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0xd2318438 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xd2330ed3 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xd24739d6 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xd24860a9 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd267b0e6 block_truncate_page +EXPORT_SYMBOL vmlinux 0xd26ab845 generic_write_end +EXPORT_SYMBOL vmlinux 0xd27e3114 vmtruncate +EXPORT_SYMBOL vmlinux 0xd2888ec1 bioset_free +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2b09ce5 __kmalloc +EXPORT_SYMBOL vmlinux 0xd2b67d04 get_super_thawed +EXPORT_SYMBOL vmlinux 0xd2cd5568 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd2d109b8 kobject_init +EXPORT_SYMBOL vmlinux 0xd2d685d6 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xd2ef2638 smu_cmdbuf_abs +EXPORT_SYMBOL vmlinux 0xd3020b99 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xd30f8803 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd34294c6 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xd3542d86 scsi_host_put +EXPORT_SYMBOL vmlinux 0xd36257ba memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0xd380b43a __page_cache_alloc +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd39e8b3a no_llseek +EXPORT_SYMBOL vmlinux 0xd3a909ce ps2_begin_command +EXPORT_SYMBOL vmlinux 0xd3d0e440 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xd3e8ac59 proc_create_data +EXPORT_SYMBOL vmlinux 0xd4046d30 input_set_capability +EXPORT_SYMBOL vmlinux 0xd409383c pmu_request +EXPORT_SYMBOL vmlinux 0xd436b2e0 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xd454232f twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xd4795609 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xd48fdeef dql_completed +EXPORT_SYMBOL vmlinux 0xd491b61d mmc_free_host +EXPORT_SYMBOL vmlinux 0xd4c92385 key_payload_reserve +EXPORT_SYMBOL vmlinux 0xd4e9feed mmc_register_driver +EXPORT_SYMBOL vmlinux 0xd4ff3b95 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xd51189ce tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xd51c15fb __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xd523c8b8 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xd540562d devm_iounmap +EXPORT_SYMBOL vmlinux 0xd55da1a4 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xd573b9e2 serio_reconnect +EXPORT_SYMBOL vmlinux 0xd5873f39 unbind_con_driver +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5b4bd5e compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0xd5c6f814 simple_fill_super +EXPORT_SYMBOL vmlinux 0xd5e1d719 _lv1_set_ppe_periodic_tracer_frequency +EXPORT_SYMBOL vmlinux 0xd5f0d98b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd603f70d i8042_install_filter +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd6323e0c tcp_close +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd66361fb scsi_block_requests +EXPORT_SYMBOL vmlinux 0xd6917ce2 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xd6cc57f9 vfs_rename +EXPORT_SYMBOL vmlinux 0xd6d63e9d lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0xd6edf811 _lv1_release_memory +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fd4053 __arch_hweight32 +EXPORT_SYMBOL vmlinux 0xd70e28f6 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xd7201f53 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xd72e1cfc _lv1_set_lpm_spr_trigger +EXPORT_SYMBOL vmlinux 0xd72f9921 agp_create_memory +EXPORT_SYMBOL vmlinux 0xd7493f29 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xd752c5cc kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd761a383 ioremap_prot +EXPORT_SYMBOL vmlinux 0xd76bb5e5 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xd76eec67 find_or_create_page +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd785e761 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0xd786c0ea plpar_hcall9 +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a7fc0b elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xd7cbddda memcpy_toiovec +EXPORT_SYMBOL vmlinux 0xd7e0d609 of_dev_get +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd8054169 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xd81a8d64 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xd82c7584 input_get_keycode +EXPORT_SYMBOL vmlinux 0xd832cc2e fget_raw +EXPORT_SYMBOL vmlinux 0xd84fe854 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xd8578449 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xd85b2993 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xd87a55b2 bmap +EXPORT_SYMBOL vmlinux 0xd87eea65 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8ac898c jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xd8b9d9f1 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xd8c4b426 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e230db tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8e88c08 do_splice_direct +EXPORT_SYMBOL vmlinux 0xd8f5120a agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0xd8f73255 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92e16ba csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0xd9508f5c set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xd96048b8 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xd984f1c3 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9c67edb simple_transaction_read +EXPORT_SYMBOL vmlinux 0xd9d4d09d _lv1_release_io_segment +EXPORT_SYMBOL vmlinux 0xda2bad9c truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xda45b98d dump_seek +EXPORT_SYMBOL vmlinux 0xda6a5d1e of_phy_connect +EXPORT_SYMBOL vmlinux 0xda6c8986 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xdabc1ea8 fsl_lbc_find +EXPORT_SYMBOL vmlinux 0xdabe8a4a pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xdac9a3f0 of_get_parent +EXPORT_SYMBOL vmlinux 0xdacb51c9 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xdad72a9d nobh_writepage +EXPORT_SYMBOL vmlinux 0xdadc4844 kick_iocb +EXPORT_SYMBOL vmlinux 0xdadc8db0 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xdaea6e0d mfd_clone_cell +EXPORT_SYMBOL vmlinux 0xdaf36ad5 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xdb01198e fsl_upm_find +EXPORT_SYMBOL vmlinux 0xdb04bc4e compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xdb1eed95 address_space_init_once +EXPORT_SYMBOL vmlinux 0xdb26405e fb_find_mode +EXPORT_SYMBOL vmlinux 0xdb29a824 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xdb4d1927 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb78a0b6 blk_delay_queue +EXPORT_SYMBOL vmlinux 0xdb800d5c mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdbb24fc2 down_write +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbe629c7 consume_skb +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc05a30c fb_set_var +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc195416 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc2f215a blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc7803eb scsi_register +EXPORT_SYMBOL vmlinux 0xdc7ae512 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xdc944f55 kern_path +EXPORT_SYMBOL vmlinux 0xdc9498dd down +EXPORT_SYMBOL vmlinux 0xdca67c7f of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcefb9a5 pmu_resume +EXPORT_SYMBOL vmlinux 0xdcf545eb jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xdd0c4615 dev_open +EXPORT_SYMBOL vmlinux 0xdd191a71 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd24fade follow_pfn +EXPORT_SYMBOL vmlinux 0xdd3bc58e xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xdd400167 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xdd466d97 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd55c16d tcp_check_req +EXPORT_SYMBOL vmlinux 0xdd955144 __debugger +EXPORT_SYMBOL vmlinux 0xddce3716 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xddea7fd4 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xde32b060 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xde3c5b23 d_instantiate +EXPORT_SYMBOL vmlinux 0xde48e9ca _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xde4c056d swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xde52293d ipv4_specific +EXPORT_SYMBOL vmlinux 0xde5fc5bd dst_release +EXPORT_SYMBOL vmlinux 0xde6151db tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xde652891 set_binfmt +EXPORT_SYMBOL vmlinux 0xde800fb0 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xde88b80e dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdebcb49c napi_gro_frags +EXPORT_SYMBOL vmlinux 0xdef0a50a tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xdef15e78 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xdf16f044 inet_frag_kill +EXPORT_SYMBOL vmlinux 0xdf27349a swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xdf2aadec fb_class +EXPORT_SYMBOL vmlinux 0xdf481395 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf60fc83 _lv1_net_start_tx_dma +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb18eab dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0xe019b68b submit_bh +EXPORT_SYMBOL vmlinux 0xe0280b4d __bforget +EXPORT_SYMBOL vmlinux 0xe03c32c1 key_task_permission +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe0898da2 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xe095fb71 twl6040_irq_init +EXPORT_SYMBOL vmlinux 0xe096a704 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xe0a45fae mach_maple +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bd9da0 pci_domain_nr +EXPORT_SYMBOL vmlinux 0xe0d3b09c inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xe0dcd94a neigh_compat_output +EXPORT_SYMBOL vmlinux 0xe0e247a8 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xe0f0d384 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe1149581 skb_checksum +EXPORT_SYMBOL vmlinux 0xe1699891 pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xe16fc9e2 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xe17074a0 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe17dadbe scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xe190dda2 wireless_send_event +EXPORT_SYMBOL vmlinux 0xe1beb8fc inode_init_once +EXPORT_SYMBOL vmlinux 0xe1c4c001 unregister_console +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe20c63e7 _lv1_unmap_device_mmio_region +EXPORT_SYMBOL vmlinux 0xe21d372d i2c_transfer +EXPORT_SYMBOL vmlinux 0xe220ceb8 __debugger_sstep +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe25ac808 flush_signals +EXPORT_SYMBOL vmlinux 0xe2751188 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xe283f8af rtnl_notify +EXPORT_SYMBOL vmlinux 0xe28e0e00 dquot_alloc +EXPORT_SYMBOL vmlinux 0xe2ae4be3 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xe2be5498 lg_global_unlock +EXPORT_SYMBOL vmlinux 0xe2c86b0f bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0xe2d2c385 udp_proc_register +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2ea4859 vlan_vid_del +EXPORT_SYMBOL vmlinux 0xe3539532 inet_put_port +EXPORT_SYMBOL vmlinux 0xe3587fed release_pages +EXPORT_SYMBOL vmlinux 0xe3905d60 padata_add_cpu +EXPORT_SYMBOL vmlinux 0xe3a228d7 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe3a53f4c sort +EXPORT_SYMBOL vmlinux 0xe3aef9bf mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xe3cd60f9 bitmap_unplug +EXPORT_SYMBOL vmlinux 0xe3cecac3 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3f5997f ab3100_event_register +EXPORT_SYMBOL vmlinux 0xe416f669 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xe44e2bf1 tty_port_init +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe492f1f0 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xe4a895fa up_write +EXPORT_SYMBOL vmlinux 0xe4de5ffa dquot_commit +EXPORT_SYMBOL vmlinux 0xe4fb2144 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xe4fe8ca1 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe5100ed5 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe51f0988 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe51facc6 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe56abfb6 add_disk +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5a3bd3f phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xe5ab5123 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xe5aec542 block_write_full_page +EXPORT_SYMBOL vmlinux 0xe5c0c059 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xe5c3dc25 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5e8c74c pci_reenable_device +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe60988ac _lv1_query_logical_partition_address_region_info +EXPORT_SYMBOL vmlinux 0xe61e66ed journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xe630c0bb deactivate_super +EXPORT_SYMBOL vmlinux 0xe642f122 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xe647947b kernel_sendpage +EXPORT_SYMBOL vmlinux 0xe6481642 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xe66dfca4 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0xe6858bc6 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6b77df1 phy_find_first +EXPORT_SYMBOL vmlinux 0xe6c047da i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xe6d1309d do_SAK +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe719d7a3 __d_drop +EXPORT_SYMBOL vmlinux 0xe735b7d5 vga_tryget +EXPORT_SYMBOL vmlinux 0xe7383d5d ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xe740beab pid_task +EXPORT_SYMBOL vmlinux 0xe7452395 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xe74aa406 _lv1_set_dabr +EXPORT_SYMBOL vmlinux 0xe7561a72 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xe758327c disk_stack_limits +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7aa3850 seq_open_private +EXPORT_SYMBOL vmlinux 0xe7aac378 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xe7c35c51 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xe7cd99b7 smu_queue_simple +EXPORT_SYMBOL vmlinux 0xe7ce12fa journal_init_dev +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e644ca register_netdevice +EXPORT_SYMBOL vmlinux 0xe7f4bdee mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe816fac4 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xe82cc752 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xe84da30f bdi_register_dev +EXPORT_SYMBOL vmlinux 0xe8796334 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xe87f3be2 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xe88d7299 mii_check_link +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b81643 rtas +EXPORT_SYMBOL vmlinux 0xe8c438f3 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xe8dfc5ba compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe939991b dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0xe93d3317 netdev_emerg +EXPORT_SYMBOL vmlinux 0xe9406160 generic_file_fsync +EXPORT_SYMBOL vmlinux 0xe94d36d3 dev_addr_init +EXPORT_SYMBOL vmlinux 0xe952e6f9 free_netdev +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe956866e fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xe971d4ac lookup_one_len +EXPORT_SYMBOL vmlinux 0xe9750539 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xe999acd7 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xe9ab5f20 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0xe9d862ae path_put +EXPORT_SYMBOL vmlinux 0xe9f175b1 inode_permission +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea1f9520 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xea2b6149 netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xea4b0551 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xea5c6734 uart_resume_port +EXPORT_SYMBOL vmlinux 0xea968c96 ___ratelimit +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9f40ef qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xeab76938 blk_init_queue +EXPORT_SYMBOL vmlinux 0xeabab0db override_creds +EXPORT_SYMBOL vmlinux 0xeae711f5 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xeaf7d490 tty_name +EXPORT_SYMBOL vmlinux 0xeb220331 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb39c889 journal_forget +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb4bf77e __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xeb4d0b4c clear_inode +EXPORT_SYMBOL vmlinux 0xeb51b2bd dev_notice +EXPORT_SYMBOL vmlinux 0xeb5cf320 have_submounts +EXPORT_SYMBOL vmlinux 0xeb8bbd85 unregister_con_driver +EXPORT_SYMBOL vmlinux 0xeb9016fb dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeba7fc4a dev_addr_del +EXPORT_SYMBOL vmlinux 0xebcf32c8 kern_path_create +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebdda11c lease_modify +EXPORT_SYMBOL vmlinux 0xebf85dd9 d_alloc_name +EXPORT_SYMBOL vmlinux 0xec038507 dquot_enable +EXPORT_SYMBOL vmlinux 0xec0d4d18 input_register_handle +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec16f76f tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xec30765a _lv1_allocate_io_segment +EXPORT_SYMBOL vmlinux 0xec627a3f of_node_put +EXPORT_SYMBOL vmlinux 0xec7c10a0 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xec985346 simple_lookup +EXPORT_SYMBOL vmlinux 0xec99e240 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xeca9d063 km_policy_notify +EXPORT_SYMBOL vmlinux 0xecad72bd mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xecd1fcaf dev_get_by_name +EXPORT_SYMBOL vmlinux 0xecd45299 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xed06e78a arp_send +EXPORT_SYMBOL vmlinux 0xed0ddf6e sk_reset_txq +EXPORT_SYMBOL vmlinux 0xed179940 vga_client_register +EXPORT_SYMBOL vmlinux 0xed2e2171 locks_init_lock +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed40f419 elv_rb_find +EXPORT_SYMBOL vmlinux 0xed4cebab inode_only_permission +EXPORT_SYMBOL vmlinux 0xed5adb47 fput +EXPORT_SYMBOL vmlinux 0xed652427 _lv1_set_interrupt_mask +EXPORT_SYMBOL vmlinux 0xed81c76d mntput +EXPORT_SYMBOL vmlinux 0xed8c2954 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda80997 set_security_override +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc410d0 udplite_table +EXPORT_SYMBOL vmlinux 0xedd77c19 inet_recvmsg +EXPORT_SYMBOL vmlinux 0xedf0b48c _lv1_storage_get_async_status +EXPORT_SYMBOL vmlinux 0xedf90716 generic_readlink +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee336ace dquot_resume +EXPORT_SYMBOL vmlinux 0xee4a1aba journal_load +EXPORT_SYMBOL vmlinux 0xee52159e sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xee544993 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xee5bb20b _lv1_panic +EXPORT_SYMBOL vmlinux 0xee69693e __frontswap_store +EXPORT_SYMBOL vmlinux 0xee6992cb scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xee8bcc63 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xee9174c5 _lv1_storage_read +EXPORT_SYMBOL vmlinux 0xeea088cf security_path_unlink +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb5bd3b __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xeebace00 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0xeec0e5e9 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0xeee7e765 flush_old_exec +EXPORT_SYMBOL vmlinux 0xef05ca90 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xef109449 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xef426310 nonseekable_open +EXPORT_SYMBOL vmlinux 0xef73eaa5 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xef78f4a9 __ps2_command +EXPORT_SYMBOL vmlinux 0xef7cab54 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0xefab552c dev_mc_del +EXPORT_SYMBOL vmlinux 0xefbe1899 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xefc2e54d _lv1_storage_send_device_command +EXPORT_SYMBOL vmlinux 0xefc91095 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xefdb9c37 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefde1bbe flush_dcache_range +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf00171d7 journal_update_format +EXPORT_SYMBOL vmlinux 0xf02a63a3 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xf0557e05 netdev_printk +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf07a7584 netdev_warn +EXPORT_SYMBOL vmlinux 0xf08c5434 tty_register_driver +EXPORT_SYMBOL vmlinux 0xf0d2f84a _lv1_gpu_context_free +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fd4e8f rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xf100416a remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xf10649ae giveup_altivec +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11cd6ce down_interruptible +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf12b2fde n_tty_compat_ioctl_helper +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf1480de6 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xf15512bb pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xf1608c50 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xf183189b __ioremap_at +EXPORT_SYMBOL vmlinux 0xf18ba0f8 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xf1911cb6 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1a4136e dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xf1bea6f1 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xf1cda341 ps2_end_command +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1d0ec41 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f9ed8e pci_find_bus +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf22881e8 lg_local_lock +EXPORT_SYMBOL vmlinux 0xf22b14d8 idr_get_new +EXPORT_SYMBOL vmlinux 0xf23a3441 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xf23a589f scsi_prep_return +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf24dcaa8 _lv1_net_stop_rx_dma +EXPORT_SYMBOL vmlinux 0xf2c52226 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xf2c713bc tcp_init_sock +EXPORT_SYMBOL vmlinux 0xf2d59d28 agp_bind_memory +EXPORT_SYMBOL vmlinux 0xf2e31864 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xf2fc3145 vfs_fsync +EXPORT_SYMBOL vmlinux 0xf309e9ee cur_cpu_spec +EXPORT_SYMBOL vmlinux 0xf30d1036 _lv1_start_ppe_periodic_tracer +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf322a206 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xf33358f0 input_close_device +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf34025ac mem_section +EXPORT_SYMBOL vmlinux 0xf344200b __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34e16cc pci_enable_ltr +EXPORT_SYMBOL vmlinux 0xf357db8d pasemi_dma_set_flag +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3980908 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xf3a2eb70 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xf3a7ff85 skb_store_bits +EXPORT_SYMBOL vmlinux 0xf3ab7dfc splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3c9fb5d journal_check_available_features +EXPORT_SYMBOL vmlinux 0xf3ce53fb __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xf3d2cf1e vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xf3ec68d7 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xf40affe7 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xf431a936 iunique +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4bd9546 journal_flush +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4d20075 dev_change_flags +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4fa15a1 ping_prot +EXPORT_SYMBOL vmlinux 0xf511127b proto_register +EXPORT_SYMBOL vmlinux 0xf51bf88b nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf51d9803 skb_clone +EXPORT_SYMBOL vmlinux 0xf5222143 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xf525ad34 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5414b5c jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xf543fed1 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xf55b3b3d __arch_hweight16 +EXPORT_SYMBOL vmlinux 0xf5807063 agp_find_bridge +EXPORT_SYMBOL vmlinux 0xf594f80d ida_get_new +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5e2dbba scsi_print_command +EXPORT_SYMBOL vmlinux 0xf5e5ec0d shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5f4bca8 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xf5f96df9 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xf6042ce8 vio_unregister_driver +EXPORT_SYMBOL vmlinux 0xf6213e12 pasemi_dma_clear_flag +EXPORT_SYMBOL vmlinux 0xf623001a blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xf630b92a lock_may_read +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf6653b6f ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xf6859a75 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xf6b3ff90 elevator_change +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6bdbc22 macio_request_resource +EXPORT_SYMBOL vmlinux 0xf6e7f600 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ecb763 _lv1_send_event_locally +EXPORT_SYMBOL vmlinux 0xf6f1710c __vio_register_driver +EXPORT_SYMBOL vmlinux 0xf70b0e14 sock_no_listen +EXPORT_SYMBOL vmlinux 0xf7289d14 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xf7323c89 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xf749fd8a ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf79466e3 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xf7976f5b mach_pseries +EXPORT_SYMBOL vmlinux 0xf7a5303e tcp_seq_open +EXPORT_SYMBOL vmlinux 0xf7adcaf3 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7bac0ec _lv1_set_lpm_counter +EXPORT_SYMBOL vmlinux 0xf7eebf48 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xf8004bfd _lv1_disconnect_interrupt_event_receive_port +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf8166431 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0xf826718f jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf84d509f kmem_cache_free +EXPORT_SYMBOL vmlinux 0xf85b58b7 search_binary_handler +EXPORT_SYMBOL vmlinux 0xf89330da simple_statfs +EXPORT_SYMBOL vmlinux 0xf89843f9 schedule_work +EXPORT_SYMBOL vmlinux 0xf8a8e7f3 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xf8b3d02c bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xf8d64c86 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xf8dd2731 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xf8dfbea9 __f_setown +EXPORT_SYMBOL vmlinux 0xf8fcc5c7 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xf9050be1 neigh_update +EXPORT_SYMBOL vmlinux 0xf9088bfa blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xf9214f54 wait_iff_congested +EXPORT_SYMBOL vmlinux 0xf9325b74 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0xf9505ba4 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xf96d2ec8 giveup_fpu +EXPORT_SYMBOL vmlinux 0xf98f7d63 phy_connect +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ada13c phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xf9bab2f8 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xf9bdb5d6 __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9f651d3 padata_free +EXPORT_SYMBOL vmlinux 0xfa1cb81a put_page +EXPORT_SYMBOL vmlinux 0xfa2a0927 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xfa3a39f2 dev_get_flags +EXPORT_SYMBOL vmlinux 0xfa5ccd1c i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xfa6288fe __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xfa8fd29d wake_up_process +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfadb5750 pmu_unlock +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfae8eacc journal_create +EXPORT_SYMBOL vmlinux 0xfaf72c68 textsearch_register +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb15a95c security_path_symlink +EXPORT_SYMBOL vmlinux 0xfb384250 __ip_dev_find +EXPORT_SYMBOL vmlinux 0xfb479763 ata_dev_printk +EXPORT_SYMBOL vmlinux 0xfb5f846a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb81a7b0 mpage_writepage +EXPORT_SYMBOL vmlinux 0xfb8c814f agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbc8a7bf textsearch_prepare +EXPORT_SYMBOL vmlinux 0xfbcd46f8 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe6adf1 try_to_release_page +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc2bd755 pci_release_regions +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc54db25 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xfc80e693 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0xfc8f855e mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xfc9c630f dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb3051c register_exec_domain +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfcffc491 mnt_pin +EXPORT_SYMBOL vmlinux 0xfcffdf2f mmc_request_done +EXPORT_SYMBOL vmlinux 0xfd092d42 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xfd34ecfc nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xfd3cb8d7 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xfd49c2ae sync_blockdev +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6a20a6 flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd90283e mfd_add_devices +EXPORT_SYMBOL vmlinux 0xfdb6cedc _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfdbfa4af read_cache_page +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe02c7cc __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xfe09f427 dentry_path_raw +EXPORT_SYMBOL vmlinux 0xfe1dc099 pci_clear_master +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe29b85c commit_creds +EXPORT_SYMBOL vmlinux 0xfe3687d9 fsl_lbc_ctrl_dev +EXPORT_SYMBOL vmlinux 0xfe3a1322 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xfe4cb4b5 _lv1_storage_write +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe84123d filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xfe8572fb compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xfe895eba do_sync_write +EXPORT_SYMBOL vmlinux 0xfe967a8d tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfed221d9 pasemi_dma_alloc_ring +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff083a92 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1c7bd4 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff47b887 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xff480a58 file_open_root +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff81d2c5 __debugger_dabr_match +EXPORT_SYMBOL vmlinux 0xff8a3db9 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0xff8c676d kobject_put +EXPORT_SYMBOL vmlinux 0xff8e9195 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xff952955 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe76b62 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xfffaf730 iget5_locked +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0x32bddc64 spufs_context_fops +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0x3bd05125 spu_restore +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0xd9427ce9 spu_save +EXPORT_SYMBOL_GPL crypto/af_alg 0x066ae223 af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x289197b2 af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x36b46729 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x474173bc af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x56d22ff9 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x58716898 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x6530527a af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xa545be3e af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xe0732618 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xbabecc1c async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x4e79432e async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xe126e15b async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x784357c0 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x8451926b async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x668c40d5 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x943f45b4 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xc72c8aef __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe6aaff36 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x47b71456 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xa97b53ee async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x8a9a87de blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x0b1c3510 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x2f0560da cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x41e074c0 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x476835bf cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x7753d781 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x9500f193 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xc793d24c cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xd40a8dd7 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xda072815 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xdc1e4036 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0xcd074900 lrw_init_table +EXPORT_SYMBOL_GPL crypto/lrw 0xf5188713 lrw_crypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x55bbdb34 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x5ddb33e9 __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x77b39cb4 __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8a1a99ad __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x9247f868 twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x4a09750c xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xd18b3f52 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xe9f2dac8 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x8cc36572 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x36634763 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3db5e865 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x59725a68 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5efeb8b3 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5f19ddf0 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6177a75c bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6fd3947a bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x732af27e bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8dff9b2a __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc4ccc81b bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd8b15099 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe00c5271 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe5b560c8 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xebdfe04d bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfbec2ed5 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x0b903b33 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x11338c58 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x18b104c0 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x1d99aa00 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5f405560 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x65efcdf6 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7a9104f7 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9a170ec4 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa542e55c btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe70a328f btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x01befcd0 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x07c68cd0 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x14a3e218 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x14d93734 find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1b9b96fd edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x317d9c5b edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x39c84925 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3b66158a edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x48c4365e edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4bec4300 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x64823471 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x648330ae edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x69259f22 edac_mem_types +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x72c50da3 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x73d7b29f edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7e6e38fc edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7f835cf3 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x877a8a70 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8ea82ea5 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xabd29798 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xaff45174 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xeecb2ceb edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xfd7c81f3 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x35c303fb extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x45306f01 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4c6964b4 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x74c188cc extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xa17aa48a extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xcc772156 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd511d3cd extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd99f91d4 extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe1e30fbf extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe2be9c7b extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe59c67be extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf0ccf1c6 extcon_set_state +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xf4ade51f fw_card_release +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x2ccd1950 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x51c2d68b bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x2ffbfe4a __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xc0844e47 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaff1b224 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf70726f4 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x2a613a5e ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xc4b8a68a ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xe07ed609 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08221660 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0de62395 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f179467 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x347de9b2 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3baa229f hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x502407d2 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x55f8bdfa hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x57ad7f80 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x653dcfad hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x65900a35 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x65ec6a3f hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x781e6033 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x88857ab2 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x88f8ebe6 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8d5ad61d hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x92720e5d hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x928c7a3a hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa194a0b9 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa9b64db3 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb936a8c7 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe8d44e3 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc71c51e4 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd62b68d1 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xddb2e64a hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xddb64e61 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe06657bb hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe96fcdff hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf2af2ad3 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf403ac56 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x5be5aaf2 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x37456aec roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x60a6b1e7 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x2958e550 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x70700a00 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa370f359 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xf00e317f usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00c825de hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x03fd8a12 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2ea29e8b hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x317c8547 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3cf8d7af hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5506b4ce hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5eff1b7e hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x61a6bd97 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x74496ac2 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x83e3883a hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8cf8f6df hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa0da6dd2 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe7208926 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x1c7807bd i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x23cbc435 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x39c7dd13 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x43c8bbda i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x47c1ad73 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x4fa7ed00 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x6908e1d5 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x8f4a2b8f i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe0c0f5ed i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x6d2b4e82 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xeb20a52b i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x2ca08f4d i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xe1ac99b1 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x001178ab iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1a8a16d9 iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x39b21c7c iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4d75d832 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x552fd4cf iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x63dd85a4 iio_st_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7754fa98 iio_st_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7945bde3 iio_st_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9976bc0a iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa8091bbd iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xba22a928 iio_scan_mask_set +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xce066c2c iio_st_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe6f41244 iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xeb576738 iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff37f9c5 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xf85c3167 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x211e7322 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x33324724 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x7269fbd3 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xed8ab083 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0543c5a8 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2a9d7187 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x37236cdd wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x399bafd3 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3e4d1f12 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6d5a7d7d wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa51c730f wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa72952b5 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbb267ae9 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xdc42d182 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe1e3cea8 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe6377119 wm9713_codec +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0x4de7b2d0 unregister_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/capi/kernelcapi 0xb17b7c77 register_capictr_notifier +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2997e605 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2acab10f gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x36828596 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3d147584 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x42662f67 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x480d2256 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5a90c5a5 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x673bb1b0 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7b71be3c gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x983f7af9 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x98548141 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa3151853 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa529a4fb gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xac7150b4 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb2779964 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbc6bc8f8 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc04bc75f gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd15d8e31 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x0b31020e wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x1014122b wf_find_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x749de0cf wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x777a6ca3 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x89946f66 wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x94765fac wf_critical_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x9d45a709 wf_find_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xa2f19a49 wf_is_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xaf15726f wf_unregister_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xafbbc4b6 wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xbe780b7b wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xca8e9bc6 wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xd441bcce wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdb7e8499 wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0x9808f147 wf_pid_run +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0xb8ed5b2c wf_cpu_pid_init +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0xcd9a18ef wf_pid_init +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0xceda69f1 wf_cpu_pid_run +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_smu_sat 0xe05851d5 smu_sat_get_sdb_partition +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aba7f5e dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9310ba06 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x9c256008 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa1d2413a dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa448e19f dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xafbda3f3 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcbb1bae2 dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xffc27d95 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x4cf511f2 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xa775cd94 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x085bb4c4 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1c012ee5 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x255d6923 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3e3f1e7f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4430764e dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x45ab972a dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x69f777fa dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7ad079a1 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa68e1f06 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfad9d53a dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfc62ef4e dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x03ced457 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x07803141 dm_sm_checker_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x08a936ca dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x17c36f29 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c112836 dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4035149a dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x40f7bd91 dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x42dbdfc3 dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x45a8b35f dm_sm_checker_create_fresh +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b2ff62 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x74d47993 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x77fb5544 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x80c89b3d dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa6aae3ea dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xab03c775 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb7bad799 dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb967690a dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb9a6ecf8 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc583a7be dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd29923fb dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdb562135 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf375d009 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf5455120 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf99dc2cf dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/raid1 0xcab6573a md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x62206964 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x157d9816 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x478e4045 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5088f83b saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x57966d2d saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6168e1f8 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x62a4a9ab saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x956ea2ef saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xa21fa40b saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb1f653bc saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb62493fc saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcd55b31b saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x0d0f5b5c saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x1cdca5c8 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x22940840 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x37399ffd saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x61bd487d saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7216d499 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x8ab699b5 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x4462b6ba tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xb54e74f4 tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xd3178e72 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x4f2f2c9e microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x0f7cc0fb mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xd7d50bec tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x856db028 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x73ecdb4e tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xfbe930fe tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xa9f98aa7 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x64ea7680 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x960b7463 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xfac11408 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xfdf06aaf tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x0cf9d14f simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x8f271b31 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x7a92bc9c mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x9dda0b58 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x00922358 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x02529498 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x20e98133 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x26d8c297 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x3ca1d33d mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x476a1b1d mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x55c0f74f mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x5c9f2c01 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x63b46262 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x78db01a1 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x8d0556da mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x966a3519 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xbb135c59 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc62ae148 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc782917b mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xdd45828b mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf59fe316 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0eafb850 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x35b35250 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x496ae2fc smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4fa6997a smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5b9bfa67 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6ecb067e smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x70449e5e sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x70ff9b10 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x76222253 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x76ef3e5d smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8d5c783c smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x941abb0c smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa58cab8c sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xaf83bb89 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd1d11d31 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd3551312 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd7a93f6e smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfd35a0cc sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x0bae60ed ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x370a002c ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x416747a0 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x6a80eb25 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x90ffff4a ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x9fa98375 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xb390db0f ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x19b00628 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1a051fe8 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1f7a9de8 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3486b496 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4c60bbe0 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x64640789 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x70c3c6b0 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x735b3c84 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x780e22cd ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x799bb41c rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7b9783c0 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc6fff595 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd00b3f35 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe4f5e5ff ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe58a9a8a ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xef2f2558 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf8532c02 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x02f53091 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0543e3c4 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x1889c8ba cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x1ec26f95 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x25a3092d cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x30a17443 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x30eaa9f4 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4077eb1a cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6a965805 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6dc3a3f4 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x75e13af4 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7d54f017 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x82a90e93 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x87c533a6 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x96054472 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x99c8ce7f cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb640e529 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd7665d6b cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xffd6f033 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0xb83c094f cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0c61c3cb em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x111f77ff em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x15167857 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x26ab0a97 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x36761908 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5353c9ca em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x636bae92 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x699600a4 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x835e1c5d em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x87b36722 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x8efe9b0c em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x91bc4bc8 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xca6e3b46 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xfa40a810 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x00872936 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x26a6b5a6 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x3fca6191 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x84edc3e8 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xb9f3a604 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x84b5d2a7 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x9c61a106 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xb640c1bc tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xe3125329 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x30680aa2 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x47576419 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x5c9b2d8f v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x92e71c1c v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa6d12851 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xc4f16644 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x09a9013c v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x64855206 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x6f11bd69 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xcfe39b7f v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x098e8616 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5c62d31f v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x6ea0f2c6 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x781b7c2e v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x7e6daece v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8034e4a5 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xb7037bcd v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xcc464b97 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xcfa79ddd v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xe13e7c72 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xf90013e7 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xff7b69b8 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1c239149 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2d7ccdae videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x375a0b89 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x51bd650d videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6059bf44 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x71f870cb videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x802e7c67 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8319dfeb videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8ae915c2 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8d70dd49 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8f43e87f videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x93ded730 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x98ecc8f1 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb137cf01 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb394b520 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd0859465 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd0caf49d __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd76c8a00 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd77d7150 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd87cf637 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde6f96a6 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe4a5f37d videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf0d450a1 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf8ac12d0 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x0ea896d8 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x432a2b29 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xda3dc275 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xf0b41c84 videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x2db11212 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x45968ee5 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x59ccb8ad videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5d1f9ae8 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6cd0d2fc videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x7fbbe1a7 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x92299d5e videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc2b176e8 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc7abb73c videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x329c698b videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x418dd66f videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x7a7a5f87 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x054d5c61 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x136fbc7d vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1a6605a5 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x21b4d772 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x2b7f85a0 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x3bf52c80 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x40732a7e vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x49ebe350 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x75393dc4 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8180556b vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x9aa70fd6 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x9c45e8b7 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb4168a23 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xbd50ab71 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe765f275 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe9794a84 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xee0ba219 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x2c34de0e vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x327eed0b vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xe57f0426 vb2_dma_contig_cleanup_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x470f9ebb vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x7d2c8c60 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x99969dce vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xa39c774c vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xaae11ccf vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0x9277dbe0 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1e3f5d73 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1ed79204 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x25461271 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x3a33e0ed v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x41b059ec v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4f7f9534 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x502fe58c v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x53ddfaa6 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x59637651 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5bbe947b v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5f0c9850 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x641355f4 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6953544b v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x73888489 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa80523b1 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa898b3fc v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xab53e484 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xad4a3024 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb0c31d4d v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd08a7a58 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd7d96210 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xedec3e69 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf1739fb2 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x296bac44 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x334e0923 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x414e184a i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5f727ed3 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x6bd62942 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x735ae30b i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xab0fe57b i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xd736495f i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x09946768 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x44f3503f lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x84745abb lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x015694ab lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x18d707fe lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x294d83dc lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x310ed13c lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x5245b03b lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6bc075d3 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xacf3edce lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xabd4bfd1 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xced7b924 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xfd41076b mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x14dc91c4 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2dcdf14f pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x32b0caef pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6b083622 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7c1ef860 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x86eb0cf1 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9fbb15af pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb2513b62 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc143bd80 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf9ecc279 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xffe6c065 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x69337b07 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xd0fcc220 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x1d0187bb pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8a753ec6 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xb0dedbca pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xb1111d7b pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe1ba597c pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x0ef09bc7 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x187c75e8 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x2834d18d sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3e58b433 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x90e7aa10 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x0e3ac954 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x12ec7393 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x87635bdd tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x8a0ca042 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x08b8dd2e twl4030_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/twl4030-madc 0x4362dc66 twl4030_get_madc_conversion +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x80e0ff09 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x0b189802 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x0e552280 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x1e2b14b1 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7ce9c046 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x27cb133b eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x822222db eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x98bb5a22 eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x030b374b enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x13fb6d7c enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x226db3cb enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2d9a83af enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc6022fb9 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf1191587 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf8ceef73 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x020e90a6 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x034359aa lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1d7a0132 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x27a7fcea lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x9b0bfe3d lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xb6c0e57a lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xb6c433d5 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/pti 0x19f09b98 pti_release_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x23bde487 pti_request_masterchannel +EXPORT_SYMBOL_GPL drivers/misc/pti 0x52a78e81 pti_writedata +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0bb78053 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x25456c7f st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0cf90696 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x21155435 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x248b6de3 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x52726008 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x720299e3 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x84a7e565 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa7caab6c sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc1aa50e6 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcb55fb65 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x2a7dc693 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x5e3aa5ef sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x723e0c7f sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x879cfe33 sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xb036ddbc sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc143d296 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x08eb5604 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x570f4cb1 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xae71241d cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x2a8df7a1 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7a4aafb0 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x9545c2cb cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x71f57b67 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x309665ef cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xce94c93f cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xed48e4be cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x0e017cea DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x02e6baf0 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0ddba60a mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x12b8085a register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x176f1561 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x246bded4 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x25df56bc __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2b89bcad mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x30fa36ad mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3ac37075 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3feecb62 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x45f59247 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x51bfe43f mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x591d5e4b mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x59fb97a5 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5ab65056 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5ef4d011 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x63bb5299 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x65166637 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6a16e0ad mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x743e9652 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x745eaac8 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x77f8856a mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8d035641 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x92967ce4 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x98c55332 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa589017f mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa7dbc934 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa839ef8c mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xac60f660 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb0df4fce __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb1894246 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb657d357 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbce2b41f get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc13335e6 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc82f8d81 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcb66762f mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdc03832a mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfceb0f2b mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfd57e889 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x30107ed8 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa3c1ca3f mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd2aa7e72 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd37ad770 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xec67a9a5 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xbff71791 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xe4a49c9f nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0xd7e41247 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xb6962fac onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xbcecd415 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x121645b5 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1476dd57 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1603ef55 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3705ef42 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3db9e9b1 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4496c84e ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4f7d048e ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5b52c347 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7b57ed53 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa006ff70 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa3ecea86 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdc091252 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xff5a5a1f ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x2f1c42fb unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x525ae24a register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xaa4f8658 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xd2419ff5 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x20b485b1 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4758094d register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x55628b7d alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5ebfbf20 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x688af24f unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7f59bb23 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9032fdcb can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9f72e8f2 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xa5c05905 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xda3fdb80 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xedca955a alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf560a7a5 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x426f3f8a alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x87198eae unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb83dfab4 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xc6278e21 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x2db7b33b unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x4604ef59 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x91ac7681 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcaf2c3e1 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01aef0a6 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0218dc1b mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08d49229 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a64512d mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0aabeff8 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ac9de99 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f0e1aec mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f2d72db mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f56a185 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1115bbdf mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x111b26d6 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x202736f7 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x20a2e504 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2412e25b mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a898b9b mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2dae88df mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30aa99ac mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31ee8b2b mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3295f5c8 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x377bf3d7 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f93838b mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41efb78e mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x49b73e6b mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4bc8787e mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x503396d7 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5274090e mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x54361187 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x54bdbc58 mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x568a5a61 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c54053b mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f8dc45b mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63583800 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6456bf8b mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a8699e4 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6ec15689 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x753ac76b mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x790b10d8 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x791f9c57 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79686399 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d3b2ad0 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f39b72b mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85055e45 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85597753 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c4040c0 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98188223 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98c7a76a mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9937fd39 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa401e97f mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa557164f mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa5856d3e mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9d0a01d mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa5026f1 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab6fbc49 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb812491a mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb398e20 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd57d7ed mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc15037cd mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc1fc1b14 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc234f58a mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc399d379 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9201b21 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd52bc1b mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0154c86 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd34db093 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd726f485 mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdae647c7 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4d8d623 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeceaf5a2 mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef4c0f8a __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf263d46a mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6673ea4 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfae3f328 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff297f37 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff86a2da __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4b21430c macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x56458fef macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x58adf8bc macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa58f02d1 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xe954f7b5 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xda3be491 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0xdab3696e mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x0b3ccf2e usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xd877d74b usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xd97a7284 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe5c66a84 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2460b9fe rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x469157bc generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa7b1f53b rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xbc940993 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd8a80dab rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xde757150 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c4ec474 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x13612374 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x177dbb9f usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x216363ab usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x33251396 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x349fe9fc usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x34a2182b usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3a6dcee6 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3b5b6908 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55a84fa7 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6d79b496 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9c608ce2 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaa65cc73 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaead5db4 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb5cb6f5c usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb74ff08a usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc721b26c usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc9682f07 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcb3c774e usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd30d61e9 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdecc3880 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xea31c9ef usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xea7fa373 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf3efd996 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x21b41891 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x31e569f6 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x397ca5e4 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x44bdaab1 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x632662bf i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6dd79e0f i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7975a8ab i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7ac98e04 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7f6b9981 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7fbdc0f3 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8314ca8d i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x93eafb6b i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xddce7e1b i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xef7faf2b i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf58d5f3e i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xff0dd6d8 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x5f92f325 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x3d540a2b _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x4d1571a6 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x52138d7b il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x70ebe689 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xd0edf9db il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0df58fb0 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0ecf0bca lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x27855fe1 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2c84d345 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3913762b lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x44f409ce __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x54635ed5 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x583a69b6 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8505809f lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8fc7cf1c lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x99e66f40 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa1650039 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xde66a9c5 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe639927c lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xed4e260f lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf3d0421e lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0903903a lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x26e91214 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x4c8f9eff lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x63673941 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6b118418 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x86c57b01 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9d14b721 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc45f7dd6 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x4281a485 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x471cb14f if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x1108de3d mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x17b94478 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x17bde562 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x257dd625 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x35a0956f mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x3f068e48 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x640b2add mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x64712466 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8bade914 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x9ed0d9eb mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xa3539408 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xa37e2ddb mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xec9dffbe mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0318551e p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0ebd9041 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x3ab1dcae p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x47fac785 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8f79c1cc p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc66711a2 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xdc205455 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe013c67c p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf4c81f67 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x018b8763 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0890d9f1 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0959d973 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0b7bbacd rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x19765b1c rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1a88ac36 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x294ce355 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x32de4914 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x355ff83a rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3af9b920 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3f6a517a rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4f7ce105 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x60897184 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x64045195 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x68dcbe01 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x69519ed8 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6f205944 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x773f6988 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x790230f1 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7aa75282 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7b45fde5 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8ab8f428 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8cc79283 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x96be5fbd rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa5738637 rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa875a63d rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb058906c rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbd04af7b rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbe9ae3ea rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc241b07c rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcb5d81b2 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd263a8f0 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd8b822f1 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdd4c2845 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xea0ab151 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xebcad259 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf7fd7760 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfaad51fd rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfc3c41e3 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x065737bf rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0ae9d66f rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0b5225f2 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x186ca6e1 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1ef06626 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2605b1b9 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2d295500 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2f3780f7 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3e9fb5fa rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4381de6f rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x452279fe rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x454b092e rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x58a55536 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x607de3fb rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x63477821 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x634788c4 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x65b3e209 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x677bc836 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6c5032ef rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d030b7a rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x745eb009 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7b2aa4eb rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x815f9c3b rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8457c26d rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8715a5d2 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x88924d17 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9c78dc5d rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa4a5a639 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb0d1161f rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb39eb6d4 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb47117bb rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbb05e8bb rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbb2c9f37 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc040374b rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc0f805f5 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc314be63 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc3ef7360 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xce394446 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd4738e22 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xda1e254d rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xde5ae878 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe01015fc rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe56f55e8 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe75d64fc rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf5b74957 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf5e3e9b6 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x1abd734f rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x26f0ea7e rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x85261aff rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x96e975b0 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb5fc6eea rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xbf642bcc rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xbf72f21d rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc693cdf7 rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe4adf913 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0d21939c rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1e9c703f rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2127bb00 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3054d21d rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x369fff90 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5b73da1a rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x640ddd4d rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x79030e7d rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7c28e4de rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x839c0e19 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa2212295 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb85b6524 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc2acf42f rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc78822a3 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdc177bef rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfd5f8ef7 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x0d53cde4 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x5572f269 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x75861a73 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0172e6c1 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2837c713 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2e3c03ea wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3b616a64 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4f4b5f18 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x557fdace wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x58560226 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x74a3370e wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x93f5b57d wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9f7e98f2 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa2f6d549 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb882757f wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xba8b57f3 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc38d4987 wlcore_remove +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x01cc7086 rpaphp_slot_head +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x5ac18a93 rpaphp_deregister_slot +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x7bf20aea rpaphp_add_slot +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x8f000cbc rpaphp_get_drc_props +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x7335c0d3 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xd8cf3afa pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xff0c6bea pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x003998ab ps3_write_ctr +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x0bdf50c4 ps3_disable_pm_interrupts +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x0e622920 ps3_write_pm07_control +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x181e55ab ps3_read_phys_ctr +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x1bcb88c1 ps3_write_pm +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x2abf1471 ps3_get_hw_thread_id +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x2b339635 ps3_disable_pm +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x3c71a6b2 ps3_set_ctr_size +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x4a24996f ps3_lpm_copy_tb_to_user +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x50488f64 ps3_lpm_close +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x58e642c1 ps3_lpm_copy_tb +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x59c54782 ps3_set_bookmark +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x5eca6711 ps3_get_ctr_size +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x60e3f0d7 ps3_read_ctr +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x6702a28c ps3_get_and_clear_pm_interrupts +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x69010c19 ps3_set_signal +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0x70177200 ps3_write_phys_ctr +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0xa76ee01d ps3_read_pm07_control +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0xaa190bc1 ps3_read_pm +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0xbb72a01c ps3_enable_pm_interrupts +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0xce72c9c0 ps3_lpm_open +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0xdddfc980 ps3_set_pm_bookmark +EXPORT_SYMBOL_GPL drivers/ps3/ps3-lpm 0xfae0ab68 ps3_enable_pm +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0x4760fb7f ps3stor_send_command +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0x52904aac ps3stor_teardown +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0x93790b8c ps3stor_read_write_sectors +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0xc9909d35 ps3stor_setup +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x16513317 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x3e431876 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x48173964 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x57eb097d mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x62f8deea mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x66ab4b37 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7697a43e mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7e51a827 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x1173ba28 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x140a0cd4 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5f86619c wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x6a14a7fb wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd7fe0129 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xee445461 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x6b4ead94 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x01146df3 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x07a94238 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x07c5c6f2 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0d37a43d cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x13971f90 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1bb68b93 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x21918cc2 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x31197904 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x314b27c0 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x31a83128 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x394084dd cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3c639c2b cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3eaadd06 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x43408393 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4b78628d cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4dc985cc cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x524d27a0 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5ce95d28 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5d0f4045 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5fea4fc4 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6833fdde cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6b4e7165 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x72f0f862 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7698899f cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x77308950 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7b561f79 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9134313e cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9311fd64 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x94fa50ff cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9d076d37 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa2331c11 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa959be4c cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xad91566e cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xae655bd9 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb4511bfc cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb971bd19 cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbc23b1e1 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbe024e76 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc33a24ff cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd5f55d19 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe3f59276 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xece32ec3 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf0231708 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf7e4b3a4 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x01ddd2f3 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x28c2578d scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x49928ef2 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x5c94fde9 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x924730cd scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xac1cbe42 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x18f7af33 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x20d3b2dd fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x23c3dbce fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5a7f4830 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5b746358 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x71cbe0e3 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x77456c63 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8b14437c fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xca2a41a3 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd1913f62 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf0df9fd9 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf21dc9dd fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf84f609d fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x4af424df iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa3dddf69 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb9acc42a iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xcbf86406 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xdfeeb400 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xebb5830b iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x035b4ac0 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x05ef3316 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0606ebf6 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1361e7bc iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x19cf5082 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1da95013 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x260133f0 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2db3b3d5 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x34a6d5d9 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x43eef74d iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4a48facf __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5c454946 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x68d72fd5 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6e1ef88b iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x75509ddd iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x75d0b5a6 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x789a46e1 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7e3d78ce iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x823beacf iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8cee3068 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa103a9cb iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa7c42285 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac3c5473 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb7f91d11 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbce44cf6 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc38bf8c4 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc45a0f2d iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc88697a9 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc9446c8f iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca0d044a iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xccd95456 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2e52229 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdad28657 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdc544e2c iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe475e5b4 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe50e61f4 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe7c61cbf iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8f8af94 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xed156b98 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf7f9a46d iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf8d602ed iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfcded50b iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xff0f32c9 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x074f8b62 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x081a2fed iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x093b4b98 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0e6076a3 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x132682ba iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3dc93ac4 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x42b27b69 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x54f934ca iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x568d5662 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7a763749 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8599c199 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9d233940 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaf0feeeb iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc230abcd iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdcfd4152 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe9a8b8ea iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfe086f29 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x109aa6f5 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18b71ce3 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1c538b96 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x232c6852 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x24863af7 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2bb709c1 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x32829b14 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x38210e32 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x534a7880 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5a97c066 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x875a3f26 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x87fe7652 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8bc5fb69 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9a55c6b7 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9b707b39 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa0040058 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3848e73 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb495e269 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbd29e731 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc0ae26b8 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc60adec5 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc66ae641 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe369bf41 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x1f1cda80 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x4985125b srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x618771e4 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x6570052f srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb75fe487 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xff47c952 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x0f8a3394 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x0fbac52a scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x10ad1709 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x22aa5920 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9a195af4 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9a538f8a scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa45cf585 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc57dbd91 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xec5c6bc3 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3626a529 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3f88cdb8 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x442978b7 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47092257 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x48685d66 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4b021c7a iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5047b4bb iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x51a0c494 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56ab47dd iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x59e5c796 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x691a9677 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6fce166f iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x70eca7bd iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x719f8d31 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7284bf97 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x77b787b9 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9fe10976 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa7693034 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab50e7eb iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb2f33085 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb8266b08 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc6d4db52 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc886b140 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcd238697 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xceddc358 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe131813e iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe58dd998 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe92c1eea iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeed14325 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf0f456f3 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf106b018 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf709ebf5 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x17df7489 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x8a1f5c58 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xbeaca879 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd9dcc2ea sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x4f0e8fc1 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x74d7c10f srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x8007a400 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xcb3dcc50 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd1c1c83a srp_release_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3f560693 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x6e42baf5 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xab1660ce spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc11ec748 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc436104f spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd7db5ef3 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x13c70a67 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x1ba4d9d8 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xa516108b dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xc5b03601 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xf0f646c7 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x2468ed34 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x579d2806 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x587711de oslec_create +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0x882d5f27 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf828c15b oslec_flush +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xf923a5b1 oslec_free +EXPORT_SYMBOL_GPL drivers/staging/echo/echo 0xfabc3747 oslec_update +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x0df258e4 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x1891e45c ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x19675a50 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x2a86350e ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x6024fbee ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd80250b9 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe3f2bac4 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/rts5139/rts5139 0x35b85807 rts5139_usb_ids +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0e81c76d spk_serial_out +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0ef1d765 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x14f06fe7 spk_serial_in_nowait +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2389dcbe spk_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x296ab9f0 synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x475e158a synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76848d0f spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x893b79f7 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e146195 synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x910a74c1 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9548567d serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9a888082 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb35aaab9 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb48956f8 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb73a5748 get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb9734474 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc766ae09 synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xdd28e32f spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe3ba90df spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe46e046a spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7e810f8 spk_serial_in +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x0fd55751 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2e0dbd88 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x5e552b4c dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x677008f9 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x68f3625b usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x6e140466 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7fbf51fd usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x856e86b0 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8f41773e usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xab6e3464 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xac55cc18 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xc5cea3d7 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xdf2f771e usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x3ba0f6bd serial8250_tx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x407446cb serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x4ae0bfea serial8250_rx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x6094d140 serial8250_modem_status +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xe6316c5c serial8250_handle_irq +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0x2aba656e pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x0c009d34 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x3a5cbd94 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x4b624bad max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x94fecab1 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xa884daf1 max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xb172a026 max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x56892eb5 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x9eed767a uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xd4f771ff __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0bc664d9 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x4aca2aaa usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x289d06f1 dwc3_put_device_id +EXPORT_SYMBOL_GPL drivers/usb/dwc3/dwc3 0x51b25baa dwc3_get_device_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x436d9e3a usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x85188eec usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xb7d9e69b usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xdce762ec usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xe7cbd560 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xfb845e6f usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1eef8d20 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3dd1c7ce usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb65be42e usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb8407baa usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc88bca52 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd382b219 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe33ea3b6 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf00dd020 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf659ff86 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xaef7db71 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0xc9032230 tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0xafe2b448 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x073f9ea9 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0acd90e2 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0ce30787 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0e0c3a81 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x266d91ce usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2788b87b usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3e56d91b usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5918d2b8 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5a58ae84 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5d46ac07 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x61ab9765 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x64b58839 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x788665c3 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x806aa1e0 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xca02b9fa usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xca59b20c ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xde79aa6f ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf3d7f552 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf44be785 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0221c73c usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x04a929be usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x074232c4 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0ba6bdef usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14a503dc usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x21267432 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2daf0e9c usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x35c4b37a usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3cf64489 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x59bd1cea usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6844666b usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6d230fa0 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6e9f02c2 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x723d3230 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7690ad5f usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8d6e313e usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9fbf42c7 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb0790569 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbd74baaa usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc49fc428 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc79de1cc usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd2eea1fa usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x122f15ac wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x318831aa __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x4b4427b3 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5bdfcd68 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x602e7062 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcf417163 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x07f9b963 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x17f88bf5 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x18208f76 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2324dd4f wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x762b5a3b wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x86d970f5 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8cf7ba82 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa8018401 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb2e1a0ac wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbab1a5fb wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbb8a3347 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbce53e10 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc2f39d82 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc8755558 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf6bfa874 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf925352d wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x3112aedc i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x448e9839 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xdffc4764 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x02894551 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x11e6f17c umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x7be3a46f __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x84c98980 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x9f0038ef umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xca8cbaa5 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xccc1c837 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd4bb20ff umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x04bcb451 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x05f932cf uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b49cd68 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0d130d26 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0d78016e __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0fc02440 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x10c41565 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x22bc86c5 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x28fb2576 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3083fe4f uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4c741b11 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4e40f342 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x50353064 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x588c35f9 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5aae3060 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5f59ee21 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6c61bd4c uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6e94e793 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x71140114 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x78107d4d uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x790ac778 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x806c2c42 uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x816b9e92 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x83dee370 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8e848466 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x936e9e7f uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa339f391 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xac97316b uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xafa27b20 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb17b5d0c uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbab771ed uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbf3a81b1 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc0d11911 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc2b8381c uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc34eaf1f uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc45ebe72 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcac9df21 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcc2f3a60 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe3d17e43 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe455d561 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf8a19e19 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x47820885 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x17627fae auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x383119d6 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x52e7cc39 auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6f42d96d auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x768ad467 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xb347c4aa auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xbaf06d4a auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xc1154fdb auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xdc8eb1ba auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xe329a08b auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x2f56c475 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x5f020e42 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7fb1dab2 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x879d1da4 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa4519071 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc0cb719a ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf7de47cd ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x56920304 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xae4e0f51 sis_free_new +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x232eb5b4 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x4827c78b register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x75ca2b14 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x7b04fe37 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x98a04b99 unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x2a826804 virtqueue_kick +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x52664cb7 vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x68b503c2 vring_transport_features +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x6f1170d5 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x7ad48134 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x84428ea9 virtqueue_notify +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x93e18a97 virtqueue_get_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x9a721ff9 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xb1d92ea2 virtqueue_disable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xb5f36359 virtqueue_add_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xbb9ad3a0 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xda6b9e55 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xdbd90191 virtqueue_enable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0fb6f940 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x44fd2f3c w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x530b6893 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x92db7022 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaa048788 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaf2539f5 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc8feae47 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdf9810bb w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfac81859 w1_reset_resume_command +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x392dbf7e dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x52648e2a dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x8f8b85be dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xc6dc8c2f dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/fat/fat 0x046e8839 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x0b98ca8f fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x29e716d7 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x2d3724dc fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x4e146931 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x81231ce9 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x83dbdbf2 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x8526c613 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x8c2609bf fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x8cb83510 fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x9356ae5a fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x99660d8d fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0xa2dd976f fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xbceb05af fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0xd02f5e8b fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0xd6a2967f fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xebe8257a __fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0xfdad389c fat_getattr +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x076469e5 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0e2662e5 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6190c62c nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7f95d0da nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa8a6c09f nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xaadcd505 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xae3ea7e6 nlmclnt_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x009f0cc2 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x028fdb96 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16c96eaa nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2bccf6b7 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x314e88ec nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4bb7d42a nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f514744 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x549e9aa7 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57c02e7b nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5e47e750 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x66cdf13e nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d7dc6a3 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2c1437c nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa536992f nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb78c927b nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd6a3bb6 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdddd78ba nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0d8ad59 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeb290954 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x0d82952d nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7ec6df13 nfsacl_decode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x21cbfd3c o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2c872335 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36a28a9e o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x3ea7a9c9 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x60948376 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x86154585 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa82a8645 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc3679d7b o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd5f12d87 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd6bef2df o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x094f7e5f dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0be32e6b dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x429ba8c7 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4cff2c1a dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xaff25a6d dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc45dab18 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x025e2d69 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x060b8abb ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x16b2e575 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5469ce31 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7083dbd5 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x89502fe7 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x97c7b601 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xad13c9f0 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdc823ea4 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe2bd47db ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe40cffce ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe417d940 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL lib/bch 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL lib/bch 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL lib/bch 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL lib/bch 0xbdf512de free_bch +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xfdfcb8cb raid6_call +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x201d8ea3 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x29fa419f decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x300d7e57 free_rs +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x6fbb3bd9 init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xabda1e2e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xb050f329 init_rs +EXPORT_SYMBOL_GPL net/802/garp 0x081c09b7 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x24651b99 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x2b0b004a garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x5ae076d0 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xac0187f2 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xd50da1d5 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x121758cd stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x3830d3c5 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x26827893 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x6c07aeda p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0x50754510 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xe2c6bb26 unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0xa4dfe712 ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xff016182 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0ba581e8 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1804c87a inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x181efd26 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d0a2f1a dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2010ac38 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3be4337f dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3f56c760 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x42864ff5 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4c93bc47 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5284a383 compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6865cc18 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6cbc4e04 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6eb617c2 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x709ce50f dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x740ec1f1 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x853de31a dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9a25d401 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9f6dc81f dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa6eee074 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xad05e96c dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xadb5787c dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaf460e93 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbf8b045e dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0b7b890 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc62b1012 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd272016a dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd2eb9dce dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd7bb8487 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdb37dd37 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdb510948 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdd305c50 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf63ee54 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe1aa3d84 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf01fb4cd dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf45a6222 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf77a3d11 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfc920606 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x82f5a5f2 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xaab66760 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc8bc9036 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf1655da8 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf7bfc089 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf926a4ff dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2f814d45 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5044cc8f register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x1591cfeb gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x41497bf4 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x150ceb51 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x26c1a51f inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x326085ab inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xa5aad668 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe0a1b50e inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf6e4e113 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x03e2135e arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xae49bbe0 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x8228d2f8 nf_nat_seq_adjust_hook +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x6b6c3d10 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x155c25f9 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x35b00197 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3de64dee nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xa0d36f8b nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb88b81f7 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xd71de177 nf_nat_set_seq_adjust +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4b05373d tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x5a570418 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x72cf9dd8 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xed94b943 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xfe14d987 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x5e69b010 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6eb85693 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x133ddeb4 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x164296c2 l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1e03d78a l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x203ecd47 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x30e2fd74 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4335fbbf l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x73466bf1 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7655b627 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb07f4af3 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd31a47b1 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe9fc2d6f l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf4e1aed3 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5f561f59 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x72d83877 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7d11f17c ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8f4686af ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xad6e20de ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc389a846 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd0136bde ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xdec8f313 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xeb23f66e ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x15c6f9e2 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x457f8ffe ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4a57b6ea ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x569fbfd8 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5ac68fda ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80ee118c ip_set_nfnl_get +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x883d6572 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa2d623f3 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb415a9da ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb923be1a ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd5e6a755 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe9874044 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x04d016e4 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x104cc845 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x1e31731a unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x8e69289c ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00d3a571 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07209e46 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0eb7c4fa nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13b19861 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x155285c6 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16aeb728 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e3f97fe nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25e7e2a0 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x293560b7 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x293c4574 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31e25fab nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32e16ca9 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x352fc7cf nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37bb2a79 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3b4770c3 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x41bfc974 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4307d7af nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x43347005 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x44a8b751 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4757eb5c nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4bd65ef3 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53039995 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5388d92a nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x55871897 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5745e01a nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59775470 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5eb62386 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6af2cd7e nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fff8279 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x709a8f86 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x723e6af4 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x72423a55 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x756189de nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7dda6046 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81af7738 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x92106855 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x92c4fd91 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x93d61bfc __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x940dfc0f nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9766a74d nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x99776261 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9f3fee8a nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0f8a0ce nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa114986e nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa81741c nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacc515f7 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xadeb02ff __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb9d78d5a nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc887eed nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbee69249 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0240dd4 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0ce889c nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc172d922 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3d17239 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc666a86d nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdaeece3f nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb2fcb6d nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb5c49ae nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb6ecc87 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec2ee31d __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xed95b43d nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf142c3d9 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2f8ea1e nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf49e148d nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9a33f1a nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfaa7b0bf __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfaf13d52 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0xc4ba9cc6 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xb5e77e2d nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x74d68822 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0d6a54e6 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1ab9ffc4 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x66595a80 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6c921e65 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x921b7a1d set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd7ae986f set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdb7b0431 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe37f1b66 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf0534c97 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfb365cd0 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x0732f19a nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x712044b0 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa36a44e9 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xe81c9ab3 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xfafb99c6 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x45888725 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x5cdf24dd nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1bcfcb72 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2505c52a nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3df7d41e nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x57038946 nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x66282ccc ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa0138648 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xaa10505f ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xaedd9958 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb3650300 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb5798cf1 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbbb6b87d nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc01b3dbb ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf6481843 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xa2012589 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x2e836372 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x286ecb26 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2fb5ccf2 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x90ef7576 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x942b34f9 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x96d0ed74 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x9998322b nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfa44212d nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x5b18c0c3 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xfd3bd99c nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x15cbeca7 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1bd503c5 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4028d467 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x568d14e6 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x691a6d69 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x692bf6ff xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7a2402de xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x876ef206 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x88bede9b xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb181b92a xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb23f49fe xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb2c1bf71 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbee1b50e xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc13d6274 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7dfc172 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcdb46ad8 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0854fd1 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe1830324 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec24fd82 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfcbe6989 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xff1cd5a2 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x3e1dd4ab xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x9a303feb xt_rateest_lookup +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x030154cf rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x06e1b63a rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x1f72a2b4 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x2396d75f rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x2942567f rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3b4fc0fc rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x3c834392 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x468ddb50 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x4df99d70 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x50cbe7b3 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x67a85998 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x6d04ad91 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x6d73e33a rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x70a2f5ba rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x7bc62829 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x80f50bcd rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x823a89a2 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x943cb78d rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x9c9350d0 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xaea029cf rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xb5838b6f rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xbac50104 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcad5bf7a rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xd1a944f9 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xeaabe376 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xefc5e74a rds_trans_unregister +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x5f4cd173 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x88779fea rxrpc_register_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1f7c1f35 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4c5284f0 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4e2a05a2 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x709b3ecc gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x82f8c612 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x87d58277 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x89ec49d8 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc1a8a56c gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc4075d4e gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xec19ca6b gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8bfee36 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x072b9279 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07a031f0 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08013147 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0915282d rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0962ee8f rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a3f2e95 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0acbb25e __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ca33d7a svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11ac2dae rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16abf109 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19c34aca cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a000ec0 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a869c6e rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1aeee8e4 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c987591 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cbb2339 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d7ef4e0 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e25c4db rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e2c2418 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e65d4ae rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e7b9cbc xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1eb33870 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x202b77ca rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22ea8f3f xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23fd4c3e xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x249679d4 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25523489 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25f475cd svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x263ac017 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26dfd4fd rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28e39b02 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a4506ab xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b010b52 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b7a509f sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30fc480f rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31376b57 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32a3fd9d rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32b8aa67 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32cd0cd3 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x346eef4e xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3489aa3f rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34cd2207 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x366a6ea2 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3735cb4c rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3753b12e svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x391d4e1d svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x394dbd09 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a8ba9df _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d9d8e44 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3df8c038 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f7204c9 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x413859f4 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4264487c rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42ac90a9 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x438c6b21 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4464c577 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45f3a13a svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x475957f4 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4816b96f rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48693f5c svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48c9653a svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a0b0f08 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a7727a1 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4de23b35 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ef7601e svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x503fd2fa cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50b9d5a4 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x526ab5a2 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x549dad7a xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55173ec5 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5662ad97 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57a0d196 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c2a8160 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d5985ea rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e064a78 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f24d115 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62ff728b unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63c1d22a svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6479a80e rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64a7bf6f rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66f04815 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x679ed986 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68964b1d rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ab0d3d4 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b1a50e0 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b55369b sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ba608ca xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6be70c87 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cb60d59 rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d8e1da5 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ddbe20b rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x720d3a86 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72a40c6a xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74466212 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75ab9531 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x766cd399 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x773b72c3 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78498c80 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a4927e5 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7df5cf8e csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x831f76ca rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x878d3f4c xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87a0753b rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ce1c490 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cec3558 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8df0e6cd put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8df2a00f rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8efb2fac sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x948fccc3 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95ae2b4a xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x972b7b10 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x977ad4a7 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c4c3df1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9cc6221c svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ccbd941 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ef049a4 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa005a543 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2d80747 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4ec23d7 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa52366bc xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7009a37 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa98142b7 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa018891 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaacdb3b6 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaddcbc97 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf7337ce rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0f6105a xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb436b57e sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5b625f8 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbaa70738 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf397467 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0259e54 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3185ad2 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4adadd7 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc56f804e svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc60102c7 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc72fdf9b xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc760772e rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc93a5ab1 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc95a27ad rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca7319af write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb883054 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0eb7ef3 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd123786b sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd34f4a42 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5157f55 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5b9a5f2 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd727fe06 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd86e8f08 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8dc5277 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd914ab32 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda73809c svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdade1b94 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb0ff09b xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd41c0c8 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3f0e61d xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6ef9f80 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6ffad3a rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe839f78e svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe92ecd43 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeac9e347 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeccd4a57 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed865ff2 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeefa15e9 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf01c6921 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2b902a8 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf81ef32b xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8a9c5b0 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf938a7f7 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/wimax/wimax 0x0f511fd3 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1c34a668 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x230247a1 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x55763bb6 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x73407489 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7dcc0160 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x81ce9fd2 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8a9ae750 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x98136ef2 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa164a8fd wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc2f10956 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd4e18f0e wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd4f9335b wimax_msg_send +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x22461f33 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2aa79a54 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x31a2e4af cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x73b13b34 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8486b23f cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x866fec7f cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8ce1adf8 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xada28f0e cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xaf2db926 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc39afa3a cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd6b40b3b cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x3108ea46 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x42e1a90e pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x4d4fd5f1 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaeea3073 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x4466fe69 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x8f100a76 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa3659262 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe876e399 ipcomp_output +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x2c25ddac ftr_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x32467aa1 aoa_codec_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x35fb8da3 aoa_get_card +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x63261f6d aoa_snd_device_new +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x681d4482 aoa_fabric_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xa5fba0c1 pmf_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xa76dafbb aoa_snd_ctl_add +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xba74ea2f aoa_codec_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xbb4eb30c aoa_fabric_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xd4dac677 aoa_fabric_unlink_codec +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x3cae3a19 soundbus_register_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x4d8e257b soundbus_dev_put +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x7ed9c553 soundbus_remove_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x8d50b999 soundbus_unregister_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xdb7890e1 soundbus_add_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xfe3b874c soundbus_dev_get +EXPORT_SYMBOL_GPL sound/core/snd 0x5114a6a6 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x82059068 snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0x8a3739b0 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0xf2bba4c1 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xfe57882b snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x268baf8b snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x1aefe6da snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x69cf0ca1 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x76ef6284 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x9101ebf8 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xb2dee56e snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xf4108ce6 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0256fc53 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x02616e71 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0656b0c9 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a70be4c query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a751b3c snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ad5990b snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0b89bc8d snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1013432a snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x111dd4a8 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14022509 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x181de5d7 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1968d73a snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x19bd4269 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1cc9f09a snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fe06700 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x234dce18 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x275193b2 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2776aa4d snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x281fb543 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2903eae5 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b1b8ba2 snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c7d10bd snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c8b073b snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c8c7cad snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e2934a6 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x337e270c snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36cae9bd snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x370c453d snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x394e884b snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a826dd5 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a886bea snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3f4f9261 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4002d8ab snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42869c48 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44d87aeb snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4764ba5e snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49267553 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x496ad413 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d876c54 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f1e02db snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52e38b12 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57ea8799 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x59e8fe81 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f3699ae snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60a32bee snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61f96f3a snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x67543e41 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68d1b7fe snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68d25b5c snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x691339df snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a0a152f snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6deddd82 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6e296aff snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x735dc16a snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7424e084 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x74a56b5e snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x751b1352 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x761dcf59 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7925267f snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7aec603f snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e27b1e0 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f942dd0 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ab118bf snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8af62241 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ce56653 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ce85b88 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e6aeebf snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f05b239 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f189e02 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90164247 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90f0920e snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9198be66 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94642076 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9482f03f snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95940b7c snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9774834d snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x986fe06a snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x98c85031 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9e4d9b62 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa17f36b7 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2f7bd84 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac8b5ce0 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad434c4a snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf7d60f4 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb1b9fdb8 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3555fcd snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb8f5dc27 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb94a0ee1 snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba41760a snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb275d2b is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbbf3d68a snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc7ad3a7c snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc97d94be snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9a6e9e8 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca374bf6 snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xccf21153 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdd7cecb snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce1044f9 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1b9ed96 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd49b7e86 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd5e42a86 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6bc3eb1 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6c7fcf5 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7335402 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda266054 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdae4cecd snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe1add623 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe3d075a9 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe96a2cf7 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xea0a5c32 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef9e0151 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6a91b68 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8825d80 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfa3ef972 snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfd9dfeee snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xffdbc231 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xcd6cc655 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xe3bd2c44 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0xe6eaa8f2 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x57af52a9 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x4b3f4b03 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xffe186a8 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x17442cdf twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x1df69758 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2ffa4041 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x4a11d4ee twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xcbf7c3a8 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xae65d2b3 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x0a161718 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2ecf4e5d wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x3457664f wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x48972609 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4999fc95 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x7fc23e1d wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd711f2f5 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xeecd911e wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xb574d2ce wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xfba99560 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x04d7d6f6 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x62916194 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x1c2e75a9 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x960710a5 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0xb22eb16f wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0371d99a snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0644d7d7 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09dcb50f snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c07ed0f snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d42f160 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ef487d5 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10dbfd78 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x111899f6 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13c7770e snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x165dee2c snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b11c921 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b2f2edf snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20f24327 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x222cf52c snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x248a0e0e snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26a104ee snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x290ce5e5 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x294fa898 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29c589ef snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2c3c8ce2 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2e12ea86 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f8f9550 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34caa028 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b561961 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f8c34d1 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ff93f9e snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41599819 snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42255bff snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43f3ad66 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44a68c49 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44e4913a snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45c0e5f6 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47156e69 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e526f0f snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fb9af98 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x511bbe1d snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x535acd8c snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5593fd6a snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x569dd8a7 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x570a32f9 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57a7494e snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a64a221 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5dceda60 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6575e78f snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65b12608 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x681bebc1 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68c9d121 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6953ca8a snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ec995d7 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f7e0334 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70b8863e snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7517ae27 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x789e04c5 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78a52476 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a7c74a3 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e7dd0f1 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82595068 dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82904d58 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x834d8831 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8421178e snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x845027ad snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8cc85875 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d29ddef snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x906687b1 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9117597b snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x911f6546 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9346c2b8 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x941e2547 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x954520de snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x959a7119 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x98b7e232 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x98fe36d6 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9bcbefef snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d46899d snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9dbffaed snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e84c79c snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9efc19bd snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fb98d02 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1775400 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa26a56ee snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6e8e426 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9dbfe30 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabc7fa72 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad317a5a snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae59d899 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0d74920 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb15a58b8 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb160f973 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb28b2292 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7d62fe4 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8662880 snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8ac8702 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba982a00 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd00b3de snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd6db7ee snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbddaf085 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdf9d6a1 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc367c10f snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc5869e6d snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8d8f78a snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd01fe1de snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd207c714 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4e4b68f snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd609b596 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6f51612 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd87a9e14 snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde77d346 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdec61ebd snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe056d67b snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe99e7627 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeaafbb54 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb3ee2c4 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeed245b1 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef931224 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1988a57 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1b7d9b2 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1ede26e snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2b5bba7 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf325e392 snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8e70185 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9fe7621 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc0ac12b snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc6b1065 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe3f1b1f snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xffe24d31 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0x001d73df gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x0051ccff tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x0061666c tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x006bc072 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0070ef14 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x009b3ae0 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x00aea614 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x00ba7d88 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00e1c721 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x01412d9a usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x016cf6e2 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x0171a50e usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x017f8347 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x018c7ed8 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x01940a95 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01b8eef9 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x01bb757d regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x01ce5931 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x021ebfda btree_update +EXPORT_SYMBOL_GPL vmlinux 0x023e0435 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x0267ac4a bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0295013a wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x02b84db0 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x02d005f4 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x030c6906 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x0316607b perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x031997cb usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x032fb6c5 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x035fe293 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x0368289d tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x0375c803 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x038cbf57 pmf_find_function +EXPORT_SYMBOL_GPL vmlinux 0x0394e06a rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x039c3498 pmf_call_one +EXPORT_SYMBOL_GPL vmlinux 0x03e03353 s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x042b45cf inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x042cb2fa ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04bf5e35 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c65cb2 pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0x04df4366 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04ff822b ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x051e2a63 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x05341cb4 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0556a5a5 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x059abc89 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05c6c212 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x05d6a2df ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x05e7b93d sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x061dee59 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06699296 user_read +EXPORT_SYMBOL_GPL vmlinux 0x067d3339 init_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x0685a01b crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x068c0500 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x06a1fb21 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x078ca1d2 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x07a2d545 ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07ce6f2c pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x07d1ff7a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x081c2a2d spi_async +EXPORT_SYMBOL_GPL vmlinux 0x0865d391 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x0873457a usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x088bfa7e cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08ab368d posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x08bc0870 compat_put_timespec +EXPORT_SYMBOL_GPL vmlinux 0x08c6e5c4 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x08d45cd2 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x08f4cc70 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x0907f60e put_pid +EXPORT_SYMBOL_GPL vmlinux 0x090f8f13 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09258cf2 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x092adf03 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x095255f5 ps3_system_bus_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x09702f04 fb_sys_read +EXPORT_SYMBOL_GPL vmlinux 0x09bae693 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09da0954 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0a17411d kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x0a288348 flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x0a2f0add register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x0a3bcae4 eeh_add_device_tree_early +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a5817b1 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x0aa9dfd7 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x0aae4ea4 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x0ad5101c ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x0ad78df9 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b0fb4d3 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0baf2491 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x0bc8d206 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0be7cb7f xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c08e1b3 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c1babe4 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x0c2cd651 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cd10a4e work_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0cd306f4 pmf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x0cf5646d usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0d10bf71 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x0d12c257 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d4f15e2 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0d5b063c atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d686498 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x0d7f0c51 pmac_i2c_match_adapter +EXPORT_SYMBOL_GPL vmlinux 0x0d8ad666 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x0db4b13e rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x0dcfb92a __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0de06988 cpu_first_thread_of_core +EXPORT_SYMBOL_GPL vmlinux 0x0e117f30 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x0e250e69 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x0e26b81e scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x0e3d3e20 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0e6a5f2d sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x0ecf823a static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x0f078965 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x0f0ef052 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x0f326ee2 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0f3e1e69 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0f54e722 pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0x0f64f060 get_device +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f81d1c4 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x0f89deb1 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x0f92a1e7 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x1000d977 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x105ca515 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x107776c7 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x10de4205 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110c48d0 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x1114011d threads_shift +EXPORT_SYMBOL_GPL vmlinux 0x112b9870 __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x113ddc0d replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x116553a6 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x11a5c360 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x11adfed4 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x11f30c1f fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x124a88b3 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251a69f ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x1257515a isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1318d9bd digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1333d8b3 ps3av_video_mode2res +EXPORT_SYMBOL_GPL vmlinux 0x136a4ee6 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x137cfaeb stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x1388027e init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13bb25a9 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x13e5ea13 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x14162a05 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1416c8d6 put_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0x141fb216 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x1440989f input_class +EXPORT_SYMBOL_GPL vmlinux 0x145c885d ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x147f9aa5 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x14aac1bb da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x15026a32 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x150b4b00 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x152dfca6 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x155cea9e usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x156e0690 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x15749760 ps3_sys_manager_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1595d089 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x159abb63 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x15c47a0c mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x15f64ddd spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x160d9f36 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x161d4546 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x1640ee50 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x16b1e3e6 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x16c0dd05 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x17174fda pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x1724d2fb usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x175cfbfd ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x1779bf56 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17b03d01 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x18024b2f rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x180c7179 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x183fd738 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x1848d7d7 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x1853653c btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x18570516 pmac_i2c_xfer +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x18700327 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x188e9ecc tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x18b75fc9 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18f0cb44 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x191d39f8 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x193f6bd5 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x1945e0b5 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x195b7f6a d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x198633fc inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x19fcbf93 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a12df33 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a3fc1e5 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x1a627162 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x1a6a75f6 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x1a8c5907 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x1ac6cd1e ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x1ac717e3 ps3_os_area_get_rtc_diff +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1b0cce0c wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1b0e6166 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x1b128fb7 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x1b1aea58 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x1b3ceac8 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b537bf8 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x1b584381 ps3_mmio_region_init +EXPORT_SYMBOL_GPL vmlinux 0x1b64d2d8 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x1b9664d1 __destroy_context +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bc7e84a relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x1bd865c4 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x1be84950 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x1c470e09 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c609d3d regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c6a1964 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x1c784093 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x1c796003 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c827e00 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c964b4f spu_switch_notify +EXPORT_SYMBOL_GPL vmlinux 0x1ca5c231 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x1cc3cf1e inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x1cd6a48e led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x1cdfaddf power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x1cf4646b __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1cf82066 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1d21c5a4 ps3_system_bus_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x1d511e57 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x1d575feb rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d72299e crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x1d92df4f sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x1d9496fc of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x1dfbcf4c mpic_msgr_disable +EXPORT_SYMBOL_GPL vmlinux 0x1e02bc54 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x1e0fef14 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e338b47 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x1e344c34 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x1e474f8e __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7e9c82 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1e9ec74a usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ee4465e sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f33d87b pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1f959b7c class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fe970cb ps3_io_irq_setup +EXPORT_SYMBOL_GPL vmlinux 0x1feaac70 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x20390ab7 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2040396c sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x20770ad6 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x2081c7b2 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x20a6d72d ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x20ab38ac ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20d38f0f da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x20d662b8 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x2114d4a1 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x211850f5 htab_hash_mask +EXPORT_SYMBOL_GPL vmlinux 0x211b315e wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x21adb2d7 ps3_system_bus_device_register +EXPORT_SYMBOL_GPL vmlinux 0x21bf0ef3 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x21d36a03 kvm_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x221d8a16 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x22326cd4 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x2240383a cpu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x224b7851 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x226d029a md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x2272f425 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2273d482 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x2285200f usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x23206830 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x232c35ba stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x237ad6f5 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2391e998 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x23984820 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x23a32e93 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x23ba5ec4 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x23deae28 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x23e75424 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x2400c369 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x24011e14 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x2429dbb9 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x24378d37 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24613003 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x246a68ac blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24945d2e filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24acf535 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x24e6d8d3 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x25204966 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x252efdfd __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x253d2d72 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2576f630 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2584c851 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2599e646 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x25a86b64 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x25c09ea7 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x25d21082 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x26060608 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x26298e03 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x262dd4a4 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x2632b5d9 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x2634e72a tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x264befaf ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x26541881 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x26576139 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x26a2b474 smu_get_ofdev +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26b81461 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26d7ddfc tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x26f03743 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x26f40a6f crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x26f7ecc0 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x27296ad4 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x27565736 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x279f40d6 spu_get_profile_private_kref +EXPORT_SYMBOL_GPL vmlinux 0x27b60176 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x27c0c4be eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27ed50e5 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x2804913c pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x285694a8 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x28609a93 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x28a1668e handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x28a17dc2 ps3_vuart_port_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28a5b940 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x28bbf4cd sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28d91187 pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x29151269 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x293928d9 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x294f9e58 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x29903e23 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x29f01af8 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x2a12531a uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x2a1da4c7 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x2a3502b8 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x2a4ab7e7 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2ac416e0 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x2afbe2a5 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2b122c12 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x2b1d611d inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x2b311122 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x2b55a2ac pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2b80a45a scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x2be01277 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x2be6d351 swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c4224e5 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2c564e0b crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x2c5b5ccc find_module +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cba57e1 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x2cc3e675 pmac_i2c_close +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cf7f8ea perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x2cfab7ce kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x2d13e414 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d3350fe gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d59c954 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x2da341ad proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x2da37b33 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x2dba276a __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2dc5a6d1 btree_last +EXPORT_SYMBOL_GPL vmlinux 0x2ddee4bb usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x2e05e95e crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x2e0ec5b3 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x2e1da9fb probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e3f55f5 pcibios_find_pci_bus +EXPORT_SYMBOL_GPL vmlinux 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e755fb7 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x2e81ab6d ps3_vuart_read_async +EXPORT_SYMBOL_GPL vmlinux 0x2ebdc3e0 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ed0978a shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2ee4fcb8 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x2ee6c06e pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x2f2f05d4 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x2f3b0d21 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f508774 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x2f515096 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2f7d45a1 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2fa471ef usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x2fdd1542 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x2feb27ae pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x2ffb5ff7 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x30118069 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x30147b29 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x30301151 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x30566fce agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x305ddd5c platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x307cb94e bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30fcfbc6 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x311b78c2 ps3_get_spe_id +EXPORT_SYMBOL_GPL vmlinux 0x311d70e1 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3124938c ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x3187cb58 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x319c86f5 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31cfe281 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x321bdbb1 compat_get_timeval +EXPORT_SYMBOL_GPL vmlinux 0x32816d9e inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x328809cb device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32bded08 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x32c016f7 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32f08411 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x3309ea64 ps3av_audio_mute +EXPORT_SYMBOL_GPL vmlinux 0x33112223 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x3312fe25 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x334467d5 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x33f7ab15 get_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x342e8320 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34476fd0 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x3465fce6 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3469b6cb pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x346bcdb1 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3497f9da usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x352359a0 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x353a4cd6 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x354de913 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x35be37a7 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x35da0e5f fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x35e3ee4c securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x35eeaa88 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x36112d3f dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x368f1fea static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x36d370e3 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x37273d97 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x37303c06 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x37468599 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x374c7acc inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x375d2078 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x37695c2e yield_to +EXPORT_SYMBOL_GPL vmlinux 0x37a4688b cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x37b128d0 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x37e4c944 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x37fa7015 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x380927e0 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x3839a1b9 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x384a1596 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x384f984c regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x38566075 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x385a7af8 flush_vsx_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x38611f41 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3884e30c crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x389e805a alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x38a30bef stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x38ebebc6 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3908930c unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x39149a2c usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3918a87e hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x391b1d63 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x395e8d98 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x396b4f70 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x396ecfd8 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x397ef9ad crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x39aef80c wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x39c07ec2 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x39d31c93 bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x39d7bb0a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39f61c73 acop_handle_fault +EXPORT_SYMBOL_GPL vmlinux 0x3a0a87df mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a2d04ed tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x3a3d06a6 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a5d5ae2 swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0x3a71c131 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x3a7e52a3 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x3aa0d4eb devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x3aa94df2 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad0e201 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x3aeaa382 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x3b0609ed device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3b1c5afc ps3_vuart_irq_setup +EXPORT_SYMBOL_GPL vmlinux 0x3b275f7d regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x3b32637f dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x3b3c42b3 ps3_gpu_mutex +EXPORT_SYMBOL_GPL vmlinux 0x3b4df0d5 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x3b5fa0e9 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x3b8ec694 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x3ba19de0 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x3ba449bc swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0x3bb03bcb irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x3bc5b062 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x3bce71a3 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x3be6aed1 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c64ff13 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c99ac91 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d0579fd tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x3d22d5a2 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d42bd60 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3d585bbb of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x3d657ef2 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0x3d6bf5f0 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x3d84522a pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x3dad1fcb kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e05a76d sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x3e0d73bc crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x3e196760 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x3e26456f crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3e41b2ee relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e7cf903 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3e7d0df5 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x3e8cace2 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x3ec14135 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3eefba4f class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f000d94 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x3f4af6cd bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x3f5b39c2 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x3f629ad2 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3f76fad2 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x3f8a7a1f pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x3fc72d3d __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3fd9fcc2 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x3ffe56ef dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x400e01bb spu_set_profile_private_kref +EXPORT_SYMBOL_GPL vmlinux 0x40196732 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x406b19db single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40c0f26f force_sig_info +EXPORT_SYMBOL_GPL vmlinux 0x40c54fcd enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x40d75d4f crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x40f4a945 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418e8c13 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x41c466c9 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x41df9819 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x41e92c39 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x41e94bdd cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x41f51eea class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x426e8cf2 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x427388e5 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42bc6283 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x42c296ec i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x43131d88 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x434907bc spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x435b0f5b skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43b1142d scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x43b433b5 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x43cd337d spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x43d22fc6 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x43f1e0db tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x444bf2a8 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x444c5579 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x444c662d pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44f7929e hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x450fb522 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x451761f1 get_slice_psize +EXPORT_SYMBOL_GPL vmlinux 0x45193cf2 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x457a3896 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x457bbd56 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x458dfd4d scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45c33b11 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x460acdb9 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x4611ed5c pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x462be8b7 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x46302b22 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x465624d3 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x46669315 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x469a8c0a n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x46b2f7b0 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x46c1ae56 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x46cf47b5 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x46d9f955 ps3_irq_plug_setup +EXPORT_SYMBOL_GPL vmlinux 0x46f732de queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x47046fbb key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x472826ae irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x47309ed2 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x473ce9de bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x4741db42 ps3av_set_audio_mode +EXPORT_SYMBOL_GPL vmlinux 0x475b2fcd ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x47845815 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x47acddea ps3_sys_manager_set_wol +EXPORT_SYMBOL_GPL vmlinux 0x47b78b07 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x47ed3c35 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x481ce50b device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x482eeaf8 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x4895688e tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48a689f6 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x48c1696c usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x48ef87e4 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x4942cba7 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x4974a775 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4999a66e rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x49e84f03 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x4a16d393 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x4a38c348 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x4a652f44 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x4a76e693 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x4a90160e bprintf +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ae2cb23 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x4affd08b put_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b4633fc register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bde8384 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x4bfea1fb flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x4c006a32 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x4c18f773 ps3_os_area_set_rtc_diff +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4cbd3d96 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x4d172ccb ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x4d2340c5 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x4d2adc0c pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x4d41351f rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x4db4ea0c pmac_low_i2c_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4de827df input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4df30fb7 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x4df8845d kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x4dfb5e36 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e22de63 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4e57b819 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4e805181 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4ec7b8e3 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efad945 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4effc5e6 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x4f018b45 of_irq_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f222933 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x4f6a8855 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x4faddf5f __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x4fae1f2d of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x4fb96f18 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x4fba4817 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x4fcef215 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4ff6d006 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x50339e7d rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x505272fb regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x507de8c6 add_memory +EXPORT_SYMBOL_GPL vmlinux 0x507f497a i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50a27aba pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50fa7a9d wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x5166c422 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x51846493 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x51b5ac4c __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x51b65a26 rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0x51b76635 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52129cce kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x52191d51 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x522f538b tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x5245a99e fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x52bdff01 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x52e8e476 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x530f2554 spu_priv1_ops +EXPORT_SYMBOL_GPL vmlinux 0x5314ad2f page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x532791d9 user_match +EXPORT_SYMBOL_GPL vmlinux 0x532a55b1 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5398fbf9 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53a6e6fc crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x53d921d6 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541c3f8b aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x541d7f9f exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x54316944 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x546c5565 ppc_tb_freq +EXPORT_SYMBOL_GPL vmlinux 0x54884201 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a9b3f9 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x54b91ca9 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x54e310f2 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x54fa177b udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x554e0f69 dma_mmap_coherent +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558728b1 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x558e494c regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x55b61bce tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x55d17f47 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x561f6678 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x564c5218 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x565d4790 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x567b2a30 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x56b10c7d max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x56bd5f51 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x56d697ce cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x5722ec3a skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x575c5f94 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x577b78bf tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x578d7e77 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57c4691b queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x57f9cfad spu_management_ops +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x585edb84 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x5878185a pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x58e719f3 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x58fab2fd usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x590166b7 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x5911e618 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x59138fcf ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x592486cf ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x59341b2c edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0x594143d8 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x594eb8d0 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x59570073 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x595eeba1 spu_init_channels +EXPORT_SYMBOL_GPL vmlinux 0x598f47f4 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59cbf180 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x59d34a59 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x59ec34db crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x59f059e7 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x5a03d414 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x5a249ed3 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a60ca2f usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a9811bf pmf_do_functions +EXPORT_SYMBOL_GPL vmlinux 0x5aa10af0 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x5ac5653a ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x5ad8daa9 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x5afc2455 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x5b155f25 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x5b48027e __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b5f7452 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x5b7fcf3c md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bf626e6 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5bfcb725 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x5c568b6b sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x5c61d4bc max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x5c7e041b ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x5c86f685 eeh_dn_check_failure +EXPORT_SYMBOL_GPL vmlinux 0x5c89f917 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x5c981ae4 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x5ca503a2 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x5ca93699 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5cc42640 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x5cec3b10 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x5cef4a98 pmf_put_function +EXPORT_SYMBOL_GPL vmlinux 0x5cf8a882 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d207985 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x5d2236c1 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x5d2df9b9 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d77952d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x5dc2f8e5 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5dfbcf2c crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e0ff346 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x5e16cc3a wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x5e247a4e led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e66630e pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x5e769986 ps3_os_area_get_av_multi_out +EXPORT_SYMBOL_GPL vmlinux 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5ed5eb43 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x5edd8501 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x5ee7542e reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5ef6f322 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x5f00aef2 flush_altivec_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x5f043327 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f51f59a mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5f612f7d pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x5f6530c3 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5f79a98b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5f7ea163 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x5f9972f4 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x5f9f2879 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x5fa375b9 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x5fa6f689 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x5fb32e1f device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x600bdeee pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x60369dc0 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x60377cd1 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x60413492 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x60467b06 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60c6f269 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x60c85a5b tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x60e147b8 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x614428bf crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x61522102 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x61533ac7 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x61a90c54 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x61d094a5 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x61e33ed7 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x62114542 device_add +EXPORT_SYMBOL_GPL vmlinux 0x62115a13 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x6224a9c7 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x6231e615 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x6235533f wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6250e2e2 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x6262e1a5 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x62680740 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x62907342 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x62a6b801 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x63225976 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x6324ed44 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x63356eb9 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x6335b97f __online_page_set_limits +EXPORT_SYMBOL_GPL vmlinux 0x633ddd66 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x63454e0c ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x6377d40c register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x63a9fa8f crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x63cad902 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0x63ecedf2 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x6418ed75 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x6446d3d9 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x646b9140 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x648e682c pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x649ab39c of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x64a840bd regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x64fc5982 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x651bcde1 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x652601dd map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6540e2f1 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x6547128a inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x659c0f2b __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x660ae56b bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6639384f hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x663ddbb1 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x667a812c ps3av_set_video_mode +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668bdfe0 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x6697fb75 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x669bbaa2 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x66afb53b unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66b985c0 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x673f5dd2 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6753711c regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x67675f6f __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6776e87b account_system_vtime +EXPORT_SYMBOL_GPL vmlinux 0x6794ba40 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67b43568 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x67dd23f5 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x67e3bd4d ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x67e7dd59 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x68055f81 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x686e43e8 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x687f92f3 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x688f6e70 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68fe4907 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x6921aa34 compat_put_timeval +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x692de3f1 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x69790ef6 __init_new_context +EXPORT_SYMBOL_GPL vmlinux 0x697cbbb4 threads_per_core +EXPORT_SYMBOL_GPL vmlinux 0x6988b479 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69949746 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x69a54757 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x69b70be8 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a082c73 pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a6cafd2 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x6a80d4a9 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a944eb7 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x6a966670 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6acb8d84 ppc64_caches +EXPORT_SYMBOL_GPL vmlinux 0x6ae5bc03 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x6af107d3 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x6b0a7d50 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b7041c3 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x6b7ef186 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x6b8d430d blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x6b93bf60 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x6b979800 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x6bce6dfb __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x6be000be wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6becd7ef raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x6c037b37 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c73eb75 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x6c742416 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x6c875c0b spu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6caf8bab crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x6cd213bb tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x6cdcbd2a __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x6cf15df6 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x6d10241b pseries_ioei_notifier_list +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3f4ef0 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d6d1273 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x6d7f7184 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6ddf00c0 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x6e1595a0 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x6e33b23d debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x6e379526 kernstart_addr +EXPORT_SYMBOL_GPL vmlinux 0x6e383515 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x6e38e20a ps3_mmio_region_create +EXPORT_SYMBOL_GPL vmlinux 0x6e554a88 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x6e5a96b1 tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x6e6e3f85 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6eafad2e vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x6ed0953b regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6efcc0a8 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6fa08311 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x6fa80b06 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6fbc719c pmf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6fcc666a tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7029c83a wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x704fb77c crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x70512233 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x70723db4 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70a7a3df i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x70a7b05b ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x70ad3fc6 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x71075147 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x7159e7e6 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7179bde8 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x71b01ced clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x71bed563 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x71d2ddfc init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x722866e7 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x724ee60c dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72a93e9b device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72d0ca32 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x72e0ac25 spu_associate_mm +EXPORT_SYMBOL_GPL vmlinux 0x732c79c3 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x732fd663 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x7349f0b9 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x73546799 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x73793bee wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x737c484c pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x738dfc38 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x738e904a usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x739aa1a1 pmac_i2c_setmode +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a54614 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73f426ee crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x7412c4fe regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x74258006 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x7434aefe sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x745b580c i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7482b058 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x7483ade0 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x748d801a pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bd7798 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7557cfd7 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x7559efc3 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7563a430 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0x7578dd4c anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x757b49d2 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x75ce1f73 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x75d17d0b pmac_i2c_open +EXPORT_SYMBOL_GPL vmlinux 0x75e6e037 hash_page +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76169243 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x76220271 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x765238ff bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x769c9893 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76da091a pcibios_add_pci_devices +EXPORT_SYMBOL_GPL vmlinux 0x76db895f srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x7795d71d noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x77d835d0 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x77e76e8a __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x77fa33e8 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x782cad20 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x7830928e dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x78348827 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x7836cd0b md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x78411cbe vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x7854ecd2 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x786b3843 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78a781df ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x78b491cf device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x78bb2c79 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x78c16a90 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x78d3a884 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x795da166 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7967c2f5 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79780eb8 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x798ddd8d ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x79a2cb59 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x79cd1219 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x79d068d9 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x79f84add pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x7a1bfe36 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a4d7990 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aa027e6 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7aa0390e wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x7ab74bbb rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x7ac43476 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x7ac4d22a sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7acf8146 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0720da ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b0f2127 find_linux_pte_or_hugepte +EXPORT_SYMBOL_GPL vmlinux 0x7b1121de led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x7b1bee9b fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b30cbf1 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7b85732b blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x7bda18bb mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x7c056287 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x7c0d296f spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x7c6b8d30 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7c861b18 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x7c95a43e task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc3893f fb_sys_write +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d11848e cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x7d1294b4 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x7d255a34 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x7d486dfe wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x7d556815 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d66da36 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x7da27cbf ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dbdc28e __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dccdf7f modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e17ba7b klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7e76e0 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0x7e895c91 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x7ea1a2bc probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x7ebceb23 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x7edba56a spu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x7f008202 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7f227d67 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7f2483a3 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f52c522 ps3av_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7f7bc710 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ff129cd dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x8004c6c3 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x80144465 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x801489da inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x8026d397 unregister_spu_syscalls +EXPORT_SYMBOL_GPL vmlinux 0x8035109c wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x8036567d pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x803c34bc remove_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x80507f72 ps3av_audio_mute_analog +EXPORT_SYMBOL_GPL vmlinux 0x80663f68 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x80809890 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80bd1a18 blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x80cc5e48 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f2cb66 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x80fd1278 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814dfb7a sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x817e9e5b wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x81948aed pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x819b43b6 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x81b94982 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x828c1d57 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82964eeb page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x82a48f9e pmac_low_i2c_lock +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e132b9 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x830f8ce9 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x8334363a fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x83500754 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x83676fec ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x8369f44e crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x8397674a crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x83c455cb ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x83d69f4f subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x83e405d4 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x84608817 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x8487a2b6 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x84938add __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x84a375ca use_cop +EXPORT_SYMBOL_GPL vmlinux 0x84db92d5 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x84dda8d9 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x84e70dbe __remove_pages +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x85274916 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x852c0cf3 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x855a22b8 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x85acb841 device_move +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85d223fb rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x85da4208 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x85e5ca85 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x85f9ae7e devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x85fffed5 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x8600590d __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x8607ae07 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x861c43bb power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x86410bc3 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x8649ffb8 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86acba5a pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x871a5034 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x87376bcf cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8782f3f6 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x87af9a1d pcibios_map_io_space +EXPORT_SYMBOL_GPL vmlinux 0x87cd2927 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x87ce94bf ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8854595e tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x88721449 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x8876745b __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x887c1a8c stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88c9194d wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x88d00c90 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x88e9aedb bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x88eba814 mmu_psize_defs +EXPORT_SYMBOL_GPL vmlinux 0x88f5540c usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x89194403 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x891e8d5e i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x899f197c dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89e14070 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a00c413 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x8a11a969 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x8a14a747 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x8a41c549 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a478c8a pSeries_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a4c16d6 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x8a4e1e6a fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8ab52b91 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8af93166 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x8afb9bda led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x8b029bb4 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x8b090530 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x8b5e30a3 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x8b601842 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x8b66f67b gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x8b70e8ea __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b96a938 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0x8bbffb82 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c19e893 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x8c1aafda raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x8c2688eb ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8c2d2692 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x8c98cded sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x8cd4c4ff dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x8d14f8ca pmac_i2c_get_controller +EXPORT_SYMBOL_GPL vmlinux 0x8d4a63ad usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x8d85367f smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x8d92637c unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x8db00e6d __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8dcef93c pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x8ddea264 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x8dfd3e13 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x8e4cbe65 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x8e9265ca input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x8eb8da71 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x8eff69e4 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x8f3268e0 pcibios_unmap_io_space +EXPORT_SYMBOL_GPL vmlinux 0x8f49a36b inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x8f508e04 of_get_nand_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6ec791 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x8f783679 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x8f814d1b platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x8f861bff rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x8f8727b1 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x8f92e75a usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x8feec43f ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x8ff3b2c3 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x9059eeef elv_register +EXPORT_SYMBOL_GPL vmlinux 0x90605e68 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x9062023f usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90673390 spu_switch_event_register +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90a178a3 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x90c177fb ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x90e8e9ae blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x914317c3 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x9167e2c6 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x919699b9 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91f80e45 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x91f9148b tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x925f7b0b mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x92977442 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x929a8a43 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x929c5bfb ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92e16204 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x92f19568 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x930316c4 slice_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x932a1791 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x93471c50 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x935feda0 swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x93b1235d proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93d2cfb4 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x941c3b5c pmac_i2c_get_adapter +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x944efe8b ps3_open_hv_device +EXPORT_SYMBOL_GPL vmlinux 0x947c4a6d ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x9492a13a bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x949744ec pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94abf68c crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9526a799 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x952b974c of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x95681bae apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x956f802d __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x957e8705 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x959567a3 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x959f19c7 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95cbef51 macio_find +EXPORT_SYMBOL_GPL vmlinux 0x95e0e6e4 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x95e550b1 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x95e9cf56 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x960b9b4a hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x96128dd5 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x965a78d5 threads_core_mask +EXPORT_SYMBOL_GPL vmlinux 0x96827f57 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d38fcc wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x9713ac34 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x972e77cc crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x97531037 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x976a38e5 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x976ed645 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97b9ccdb perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x97cef2c3 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x97f89df5 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x980a7e26 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x982cd711 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x98747063 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x9881d99c regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x988ab21c regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x98c14342 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x98c3dfb3 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98f4c625 device_register +EXPORT_SYMBOL_GPL vmlinux 0x98fc8ca3 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x99001f4b skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x99228580 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1b291e device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9a49d937 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x9a697be3 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9aa0fb91 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x9aad6540 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x9ac024f9 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9ad82e55 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x9ae862a4 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af6165d aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x9b144264 css_depth +EXPORT_SYMBOL_GPL vmlinux 0x9b3b737f register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x9b5b4cbd sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x9b5f1ca6 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x9b8f1876 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9baf5024 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9bc1b0a5 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x9bdcff29 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9c2ab845 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x9c588bd2 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x9c7b9a7e usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x9cc099eb scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x9d3fd717 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x9d4c6fe0 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x9d769b57 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x9d7e684a __add_pages +EXPORT_SYMBOL_GPL vmlinux 0x9da8160b blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9e306f7f dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x9e332da5 user_update +EXPORT_SYMBOL_GPL vmlinux 0x9e532c5a register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9ea865cf blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x9ed107ef dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x9ed2f95a put_device +EXPORT_SYMBOL_GPL vmlinux 0x9f211bb5 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f5357a5 device_create +EXPORT_SYMBOL_GPL vmlinux 0x9f9a2ea8 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x9fad72d2 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x9fbcb5ce blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x9fcbd9f0 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fedb268 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x9feee9d5 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xa009d312 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xa01e51dd bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xa02086cc usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xa0474efd wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xa0544a03 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa07bbe08 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xa0a152c2 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xa0a27fff pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0xa0c1e895 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xa0dbc275 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xa0e4635a md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa0f1a4fe tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xa113bc2e locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xa11a3da2 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xa127964c ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xa14cba82 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xa176d277 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xa1be0bd7 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa1c1b9d2 md_run +EXPORT_SYMBOL_GPL vmlinux 0xa1e36abb blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xa1ed434c inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xa202df72 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xa20d3641 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xa232d928 of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0xa23b9a04 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xa24da933 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa287125f skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xa28d11da cpu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xa28ebd08 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xa295163e rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xa31075e4 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xa36c76f2 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa3786f8c dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa3797dd9 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa386c753 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa41065a4 tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa430b87b ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xa431836e usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xa437e6b7 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa448f400 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xa44e2613 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xa47e72cc rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa56ca855 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xa56cd9dc sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xa5726745 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xa5964ff8 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xa5ae87f7 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL_GPL vmlinux 0xa5b3509d blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xa5c5f60a spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa60b554e __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6757689 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6abe2f2 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6c51d9a debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xa6dd8c4a pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa7038e32 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xa746118b pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xa766ec8c bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xa778d6f6 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0xa797968b crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa79f8b78 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xa7eef5e9 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa80a6ef5 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0xa84888ca simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xa84a2a68 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xa87760fe crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xa8b3e07a xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xa8ba45db ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xa8c39bbb dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xa8c98c61 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0xa8e20962 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa90979f0 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xa925e478 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xa939c2a2 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xa945ddc7 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa960368c inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xa96e66eb sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xa98cdb36 ps3_get_firmware_version +EXPORT_SYMBOL_GPL vmlinux 0xa9be6f0c tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9ce341e usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xa9dd66a4 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xaa01d3ff platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xaa08ab2f blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xaa0b8f33 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xaa2bd500 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xaa4894a5 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xaa55e4ad eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xaa80d932 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa3da8e inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaaeea84d ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xab14110a stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xab2b243d ps3_irq_plug_destroy +EXPORT_SYMBOL_GPL vmlinux 0xab69eb26 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xaba15999 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xabdd93f7 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xabdfe63d __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xabfb0bd1 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xac21b42e of_node_to_nid +EXPORT_SYMBOL_GPL vmlinux 0xac282a57 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xac4f272a ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xac679f43 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xac7683f1 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xacabe2e8 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xacc2633c spu_switch_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xacc5478a pmf_do_irq +EXPORT_SYMBOL_GPL vmlinux 0xaccc1ec6 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xacce1d31 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xaccea09f ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfe997e powerpc_firmware_features +EXPORT_SYMBOL_GPL vmlinux 0xad0b58bd __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xad8801d6 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xada739a7 static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0xadab3f05 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xadb60f8c udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xadc24f79 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xadc5bfa4 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddde85c tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae099702 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7046d5 sysfs_remove_device_from_node +EXPORT_SYMBOL_GPL vmlinux 0xae8563e5 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xae869072 eeh_add_device_tree_late +EXPORT_SYMBOL_GPL vmlinux 0xae8c696a pcibios_remove_pci_devices +EXPORT_SYMBOL_GPL vmlinux 0xae949a77 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xaea16dd3 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0xaeba48e5 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xaef3322e pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xaf624eaa trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0xaf62f400 flush_fp_to_thread +EXPORT_SYMBOL_GPL vmlinux 0xafed6c6a rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xaff4d9de generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xb019bcae crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb029c5d1 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xb064494c ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0xb06a3bed fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xb08e6e6a device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xb0939a57 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb11b4eca crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xb11ee324 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb14534c8 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb1460f4c ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb1528359 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb194a3fa regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1dd7f55 ps3_vuart_cancel_async +EXPORT_SYMBOL_GPL vmlinux 0xb1e770d7 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xb1e79d86 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xb21bf871 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xb281f49f dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xb2883f30 register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xb28a5c0d pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xb28de561 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2e80e2a usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xb304b06c ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xb30a0af0 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xb326070b vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xb3319833 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xb347bb2c work_busy +EXPORT_SYMBOL_GPL vmlinux 0xb37dc47f rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3a4f0be skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xb3c637b7 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xb3cae6eb regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xb3e2758e sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xb41109ef usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xb493d167 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0xb4970a15 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xb4a89f53 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb501ff57 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xb5083d8b bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb558a692 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xb566f098 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0xb57ef4fe debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5a953e7 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xb5bb14b0 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xb5c8edf4 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb6013d32 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb60686c7 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xb60b5707 of_i8042_aux_irq +EXPORT_SYMBOL_GPL vmlinux 0xb6120369 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0xb62361ca fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb62961a8 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xb63ca8a6 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xb643c250 xics_wake_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb6a379a5 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6b276c2 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xb6bc007a spu_sys_callback +EXPORT_SYMBOL_GPL vmlinux 0xb6cfb27e skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xb6d94d99 pmf_unregister_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xb6e38cac blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xb6e9cd61 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb6ea8d0e usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb705e95c dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7349d45 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb76ec68b wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb7a622d0 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xb7ad63ff key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb7d62cf9 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb84b1aae ps3_event_receive_port_setup +EXPORT_SYMBOL_GPL vmlinux 0xb8c66c3c platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xb8ccbad1 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb9208b98 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xb9276c1b each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xba117627 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xba1487e8 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xba158769 rtas_cancel_event_scan +EXPORT_SYMBOL_GPL vmlinux 0xba184303 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xba1b778d page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xba3d7af8 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xba467d28 pmac_i2c_adapter_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xba69f852 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xba91c48a debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xba9c21f4 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xbaaac4e9 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xbad26090 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb49aafe spu_64k_pages_available +EXPORT_SYMBOL_GPL vmlinux 0xbb57acec rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbb5b871a set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xbb885753 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xbb93d627 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xbb99fc39 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc1e17a0 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0xbc2f6fb7 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xbc35c8e0 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xbc367529 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xbc393f0d class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xbc6ea6cf disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc8705cc ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xbc9309a8 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xbcc65c27 pmac_i2c_find_bus +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcea12a6 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xbcf77012 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xbd1d5f36 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xbd50708c scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd63639b ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xbda0c06d crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xbdaa269d of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0xbdaf5686 get_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0xbdc29502 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xbdcdcf32 blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdd2f42a rcu_bh_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0xbddb0d6e device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xbde4e53d bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0xbe16a7a4 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe1b1719 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xbe314a80 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xbe512c13 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xbe665c48 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xbe7112f5 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xbe787f6e xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xbec15b5a irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xbec8b47f wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xbed0d209 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xbede036f inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xbefe65eb __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf5e1d58 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xbf5f34a3 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xbf705f89 sysfs_add_device_to_node +EXPORT_SYMBOL_GPL vmlinux 0xbf72d35b usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xbf7352a2 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbf9dd518 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbfb6b764 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xbfc182e7 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc02f4862 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xc0306759 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc055edf1 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xc061367e mpic_msgr_get +EXPORT_SYMBOL_GPL vmlinux 0xc065a455 cpu_core_index_of_thread +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0a917f0 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xc0b09a74 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0c3ac70 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0e7c51c pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0xc1051c8a sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc117cf7b cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xc1195f7d ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc131e4b9 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xc135c99a ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc15d4f64 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0xc161dc24 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17fd8b0 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xc1eb56a4 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xc1fa4dfb unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xc212459a i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc242d4a0 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xc26f06d7 __online_page_free +EXPORT_SYMBOL_GPL vmlinux 0xc27135fd class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xc274d084 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2a1fbf4 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xc2a8e749 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xc2d73123 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xc2f0d63d platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc2f876f8 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc2fd693e find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xc306054a use_mm +EXPORT_SYMBOL_GPL vmlinux 0xc345b8a5 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc35f7d4a __giveup_vsx +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3d841d5 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xc3f61b45 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xc40479fa tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xc40de5bf class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4464cbb rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc469f8e8 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc48d295f usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xc53650f3 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xc54957ed unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xc57a9818 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xc5d3dc48 ps3_vuart_write +EXPORT_SYMBOL_GPL vmlinux 0xc5d4ab3b drop_cop +EXPORT_SYMBOL_GPL vmlinux 0xc5f33bfa rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6353b30 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xc63780a6 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0xc657d751 wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc66a3c11 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xc66c2311 ps3_vuart_irq_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc69306eb usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xc6bcf1d4 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xc6d03681 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xc6e25e99 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc76f1e3b transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xc7734221 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0xc796b95f fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xc797d4fe usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7af4346 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0xc7b8e05c register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xc7c60665 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7d67939 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xc7dc9cd6 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xc7def70b device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xc7df39a7 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xc7f92b1f single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xc85c7aa3 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xc8655a80 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xc873fa92 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc88a5ccf dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8b084c0 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xc8e905ee skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xc8f01e22 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xc907bb61 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xc91244ab register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc93838a2 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9545590 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9631a6b of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9c8f123 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xc9d570cb da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f9d6d0 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xca067953 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xca494b1d cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca7d9c56 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcaa30789 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcb08cec5 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xcb141055 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb355d74 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xcb35df40 register_spu_syscalls +EXPORT_SYMBOL_GPL vmlinux 0xcb4535ee queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xcb481ab9 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xcb58aae5 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xcb74721b __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xcbc2c8dd atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcbc70611 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcc0f08fa platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc13820e ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xcc198a28 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc23fa9f PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xcc84d634 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xcccc9565 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccf1456f eeh_remove_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xccfd59c3 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xcd720c63 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xcd7362ae sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0xcd79bbaf invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd95a1ee crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcd9b331e ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xcdbf57d8 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce60429b unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce6fff1a bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xceb19576 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xceb74749 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xcec4c42e __put_net +EXPORT_SYMBOL_GPL vmlinux 0xceecbed0 pmac_i2c_get_bus_node +EXPORT_SYMBOL_GPL vmlinux 0xcf010965 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xcf0ddb43 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xcf4d43a4 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xcf9d014c pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xcfa39eca __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcff2e173 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd003dc85 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xd03a3ecd spu_setup_kernel_slbs +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd06d418d fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xd0784cfc s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xd08e332a spu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c96c12 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd13a356c vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd14ed61e driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1721baf __bus_register +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1b7099a anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xd1b98a2d da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xd1bcc6a1 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xd1d2bf43 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd2184c19 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xd237f5e7 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xd243c2f3 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2e158f2 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0xd30376b7 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd34ba59c unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd3a12247 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xd3b8af05 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd3c8ff3e usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4602c06 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xd471b6d6 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd48c56c0 pSeries_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xd48e0e12 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd48f059e sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xd4b2e199 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xd4beaa8a blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d6d2a8 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4ea58a0 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xd4fc4d62 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xd57543d8 ps3_free_mmio_region +EXPORT_SYMBOL_GPL vmlinux 0xd582227a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd591be45 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd59684ac pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xd5a35e83 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5e6487d cpu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0xd60408a7 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xd6299806 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xd64724ec blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd68377c9 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xd69a7056 device_del +EXPORT_SYMBOL_GPL vmlinux 0xd6cc7809 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xd6d57257 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd6d7aae4 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xd6de4e10 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd6df3c61 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd715cabd fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xd72e0e47 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xd7342645 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76cdf90 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd776328a dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd7a25a1e pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xd7c5ba14 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd8263870 mmu_slb_size +EXPORT_SYMBOL_GPL vmlinux 0xd8498f4d ps3av_mode_cs_info +EXPORT_SYMBOL_GPL vmlinux 0xd84b6476 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd86b4393 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8b6a087 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xd8cf33f8 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xd94096de kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd9497b3c ps3_os_area_flash_register +EXPORT_SYMBOL_GPL vmlinux 0xd96b4046 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xd992644c usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xd9a5ba78 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xda0a4d22 mpic_msgr_enable +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda2eee8e usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xda33c412 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xda3a0dd7 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda4cc535 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xda5644fb trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xdab4f4bb blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xdabd0e64 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xdabee754 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xdaceb802 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xdadbb97d input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xdae91b92 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xdaec531f __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaffca43 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb0ac13b ps3_compare_firmware_version +EXPORT_SYMBOL_GPL vmlinux 0xdb38a780 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdb586f01 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xdb70ff37 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xdb7a55e4 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xdb7cbcf1 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdbf0251b debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfb35be crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xdbfebbbd class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xdc0e5b65 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xdc1a3b86 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xdc532b88 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xdc5556b4 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xdc6b4f36 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xdc6bef2e ps3_vuart_port_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xdc6c3af9 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc9170af crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdcb05986 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xdcdf2e64 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xdce851cd sigset_from_compat +EXPORT_SYMBOL_GPL vmlinux 0xdd043eea ps3av_get_auto_mode +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd6aad51 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xdd99f8bd crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xdd9b501f tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xdda33bfe show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xded469f1 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf268502 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xdf2c2a84 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdf447546 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xdf46d99b da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xdf76d4a2 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xdf95a1aa rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xdfb10302 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xdfd0e121 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xdffeaeea usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xdfffafb6 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe011f817 ps3flash_bounce_buffer +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe02f3810 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xe036b3e9 mpic_msgr_put +EXPORT_SYMBOL_GPL vmlinux 0xe057c8bf disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xe05c88fe md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xe06911b3 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xe0697046 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe09041b7 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xe091148a rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe0a98ce3 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe119b3b0 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xe128075a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xe12ec468 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xe13ef05a fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0xe159a19a tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0xe16c48a4 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xe19fc092 ps3fb_videomemory +EXPORT_SYMBOL_GPL vmlinux 0xe1a98d07 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xe1c849bd attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xe20770c6 css_id +EXPORT_SYMBOL_GPL vmlinux 0xe2a69211 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe2ddf1ed bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xe2f50254 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe32c42bb ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe33172d5 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xe35fa6e6 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xe3693b18 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3907333 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xe399ef02 __css_put +EXPORT_SYMBOL_GPL vmlinux 0xe3d7750e btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0xe3ffdb8e cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4329ad6 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe4454e32 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xe47dbdfa dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xe48aa5b6 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xe4b5a58c usb_string +EXPORT_SYMBOL_GPL vmlinux 0xe4c031f8 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xe4d9c6fc pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xe4e84b50 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xe504171f wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0xe506b99d blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xe5195063 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xe51a7fa1 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xe52bede5 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xe56e0ad5 pmf_call_function +EXPORT_SYMBOL_GPL vmlinux 0xe57612da ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe59f8bfe sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xe5a6403e ps3_vuart_read +EXPORT_SYMBOL_GPL vmlinux 0xe5ac98cd tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe5beb0d1 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xe5e15dd4 spu_invalidate_slbs +EXPORT_SYMBOL_GPL vmlinux 0xe5e9f19f crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xe5f851c4 ps3_vuart_clear_rx_bytes +EXPORT_SYMBOL_GPL vmlinux 0xe62fc5e9 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe6391fde fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xe642d98a transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe649d4a5 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xe6519c5b rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe671f33c pmac_i2c_get_channel +EXPORT_SYMBOL_GPL vmlinux 0xe679aa94 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xe67c7fad ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xe695c45c tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xe6967d2e crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xe69f55c9 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xe6d889ec sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe71c7bb7 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xe73fa170 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe773306b pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0xe79ef150 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xe7bd780a ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xe7cb3829 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8064eaa rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe85c55e7 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8989a9e br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xe89bd243 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe8ac9e41 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xe8db3679 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xe8df9d48 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xe91b3708 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe95c464b dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xe9a0fd3f max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d41ece cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xea04ea3e pmac_i2c_get_dev_addr +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea29445e sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xea3ccf86 spu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea628c20 bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0xead48695 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeae7dbc8 ps3_close_hv_device +EXPORT_SYMBOL_GPL vmlinux 0xeaf21e56 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xeb063f7e dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xeb4ddb17 pmf_get_function +EXPORT_SYMBOL_GPL vmlinux 0xeb5de900 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xeb67dacf hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xeb6904ef scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xeb8ae736 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xeb9a1619 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xebbe6710 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xebfcd564 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec4a825b tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xec4c0b57 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xec6b6341 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xecac07cc sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xecbc16f9 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xecccad97 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xece8a9cb ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xecf2d979 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xecfc3770 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xed1d93e5 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xed38d5cd usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xed5ba3f9 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xed5c9607 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xed8d30b2 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xed924ef9 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xed996b19 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xedc1cc84 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xedd5ad72 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xee135990 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xee64bb31 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xee7fc1c5 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xee8aed2d xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xee943989 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xeeaf9d09 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xeebc540d ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xeecab310 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xeed0963e bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0xeed861ef power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xef124462 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xef2e1602 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xef528b22 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xef907b0a usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xefbeedb3 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xefc32876 __online_page_increment_counters +EXPORT_SYMBOL_GPL vmlinux 0xefc82ba6 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0xefce966a dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xefe8c026 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xeffa6b8f __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xf04054a2 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xf073458d ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xf0812826 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xf098dd15 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xf1146f78 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xf11c217b crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xf1268641 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0xf141d3cb bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0xf14d1d98 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xf158f170 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xf167bee8 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf193d1e8 mmput +EXPORT_SYMBOL_GPL vmlinux 0xf1a34bc8 ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xf1a62b6f of_i8042_kbd_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1aa4c14 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1d16073 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xf1f29140 spu_handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xf2095d7d usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xf23fc4ce of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0xf23fe15c crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xf263aceb spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf265dbcb md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0xf274c475 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xf282d7f8 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xf28e3713 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xf2bc303d timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf2e3ddc9 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xf2e7ea17 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xf2ecb236 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf307a1cb pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xf30e105d ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf338a3f2 of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xf33c4df8 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3d6eed8 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xf3da16af synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf3e1bd40 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xf3ecbbc4 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xf3fcf052 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xf40b6793 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf43eddf4 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xf4554688 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xf469c705 ps3_io_irq_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf47fb37a sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4aaff5e pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xf4ae0174 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xf4b058fe platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xf4ecfaed dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf544d1e4 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xf545b773 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf583f86b nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xf58704db usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xf58d8d2c __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf5a3fef3 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5df1ba2 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xf60288aa __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf61cf6a4 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL vmlinux 0xf64834de vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xf66198eb i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xf69644f7 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf69f9c0b device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xf6d4ad03 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6ec30a4 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xf6ff36fe bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf732cd91 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xf7341b9f dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf7354799 pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xf73a6d2b ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xf74d9467 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xf7765a4e ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xf79874ed dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xf7bbfab9 cbe_spu_info +EXPORT_SYMBOL_GPL vmlinux 0xf826efb7 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xf82c47ee sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xf85c59f1 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8802c7d rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xf8e398fc memstart_addr +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fd6ccd pmf_register_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf9027ad1 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf97a3aee simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xf9984f61 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xf99d3175 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9e5ff64 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa1a1ff4 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa3b96de hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfa403e7f bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xfa78c8e1 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xfa901b31 compat_get_timespec +EXPORT_SYMBOL_GPL vmlinux 0xfaa7a15a pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xfaaa77c0 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xfab60503 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xfaf657c9 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xfb0059c2 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb525dfc pmac_i2c_get_type +EXPORT_SYMBOL_GPL vmlinux 0xfb52b77d __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb9c5b6d ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfbfcdc2b ps3_sys_manager_get_wol +EXPORT_SYMBOL_GPL vmlinux 0xfc4308e3 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xfc5550f3 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xfc558399 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xfc6e5cc7 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xfc8bf2be irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xfc938d10 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfcda1e7e queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xfcffb4e1 pmac_i2c_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xfd033fba mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xfd4c907a cpu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0xfd71397f spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdd8c87c pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfdf089ce ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xfdf13bd8 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xfdfaa4f6 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xfdfbd677 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xfdfeb6c7 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xfdffc28c crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xfe1a136b regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xfe7f30c9 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeb3b79b shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xfec182b8 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfedce817 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff0dacff ps3av_video_mute +EXPORT_SYMBOL_GPL vmlinux 0xff380bcd relay_close +EXPORT_SYMBOL_GPL vmlinux 0xff446062 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xff526f95 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff804536 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xff9c097d pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xffa3d11f dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffaed29e regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xffe69af9 wait_for_tpm_stat --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/powerpc/powerpc64-smp.compiler +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/powerpc/powerpc64-smp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lowlatency-3.5.0.orig/debian.master/abi/3.5.0-22.33/powerpc/powerpc64-smp.modules +++ linux-lowlatency-3.5.0/debian.master/abi/3.5.0-22.33/powerpc/powerpc64-smp.modules @@ -0,0 +1,3226 @@ +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250 +8250_dw +8250_pci +8390 +88pm860x_bl +88pm860x_onkey +88pm860x-ts +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870_bl +aat2870-regulator +ab3100 +ab3100-otp +ac97_bus +acard-ahci +acecad +acenic +act200l-sir +act_csum +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad2s1200 +ad2s1210 +ad2s90 +ad5064 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5504 +ad5624r_spi +ad5686 +ad5764 +ad5791 +ad5930 +ad5933 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7152 +ad7192 +ad7280a +ad7291 +ad7298 +ad7314 +ad7414 +ad7418 +ad7476 +ad7606 +ad7746 +ad7780 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad799x +ad8366 +ad9832 +ad9834 +ad9850 +ad9852 +ad9910 +ad9951 +adcxx +ade7753 +ade7754 +ade7758 +ade7759 +ade7854 +ade7854-i2c +ade7854-spi +adfs +adi +adis16060 +adis16080 +adis16130 +adis16201 +adis16203 +adis16204 +adis16209 +adis16220 +adis16240 +adis16260 +adis16400 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5520_bl +adp5520-keys +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +ads1015 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adummy +adutux +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adxl34x +adxl34x-i2c +adxl34x-spi +adxrs450 +af_802154 +af9013 +af9033 +af_alg +affs +af_key +af-rxrpc +ah4 +ah6 +aha152x_cs +ahci_platform +aic79xx +aic7xxx +aic94xx +aiptek +aircable +airo +airo_cs +airport +ak881x +ak8975 +alauda +algif_hash +algif_skcipher +ali-ircc +alim7101_wdt +alphatrack +altera-ci +altera_jtaguart +altera_ps2 +altera-stapl +altera_uart +amc6821 +amd5536udc +amd8111e +amd8111_edac +amd8131_edac +amd-rng +ams369fg06 +analog +ansi_cprng +anubis +aoe +apds9802als +apds990x +appledisplay +appletalk +appletouch +applicom +ar7part +arc4 +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +as5011 +asc7621 +asix +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +atbm8830 +aten +ath +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atxp1 +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo_k1900fb +auo_k1901fb +auo_k190x +auo-pixcir-ts +authenc +authencesn +auth_rpcgss +autofs4 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +bas_gigaset +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bch +bcm203x +bcm3510 +bcm5974 +bcma +bcma-hcd +bcm_wimax +be2iscsi +be2net +befs +belkin_sa +bfa +bfs +bfusb +bh1770glc +bh1780gli +binfmt_misc +block2mtd +blowfish_common +blowfish_generic +bluecard_cs +bluetooth +bma150 +bmp085-i2c +bmp085-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bonding +bpa10x +bpck +bpqether +bq27x00_battery +br2684 +brcmfmac +brcmsmac +brcmutil +bridge +broadsheetfb +bsd_comp +bsr +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +btwilink +bu21013_ts +budget +budget-av +budget-ci +budget-core +budget-patch +bw-qcam +c4 +c67x00 +cachefiles +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +camellia_generic +can +can-bcm +can-dev +can-gw +can-raw +capi +capidrv +capmode +carl9170 +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cc770 +cc770_isa +cc770_platform +c_can +c_can_platform +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc_ncm +cdc-phonet +cdc_subset +cdc-wdm +ceph +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +chipreg +chnl_net +ci13xxx_pci +cifs +ci_hdrc +cirrusfb +clearpad_tm1217 +clip +cls_basic +cls_cgroup +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +cma3000_d0x +cma3000_d0x_i2c +cmtp +cnic +cobra +coda +com20020 +com20020_cs +com20020-pci +com90io +com90xx +comm +configfs +cordic +core +cp210x +cpc925_edac +cpia2 +cpufreq_spudemand +cpufreq_stats +cpu-notifier-error-inject +c-qcam +cramfs +crc7 +crc8 +crc-ccitt +crc-itu-t +cryptd +cryptoloop +crypto_null +crypto_user +crystalhd +cs5345 +cs53l32a +ctr +cts +cuse +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxd2099 +cxd2820r +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxt1e1 +cy8ctmg110_ts +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +cyttsp_core +cyttsp_i2c +cyttsp_spi +da9030_battery +da9034-ts +da903x +da903x_bl +da9052_bl +da9052_onkey +da9052-regulator +da9052_tsi +da9052_wdt +DAC960 +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +ddbridge +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +denali +des_generic +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +divacapi +divadidd +diva_idi +diva_mnt +divas +dl2k +dlci +dlm +dm1105 +dm9601 +dm-bufio +dm-crypt +dmfe +dm-log +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-thin-pool +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2001plus +docecc +docg3 +docg4 +docprobe +drbd +drm +drm_kms_helper +drm_usb +drxd +drxk +ds1621 +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds620 +dsa_core +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt3155v4l +dtl1_cs +dummy +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-it913x +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dwc3 +dwc3-omap +dwc3-pci +dynapro +e100 +e1000 +e1000e +earth-pt1 +easycap +eata +ebt_802_3 +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ec100 +echo +edac_core +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efs +egalax_ts +ehv_bytechan +electra_cf +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +emc1403 +emc2103 +emc6w201 +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_pcmcia +ems_usb +em_text +emu10k1-gp +em_u32 +enc28j60 +enclosure +eni +enic +epat +epia +epic100 +eql +esd_usb2 +esi-sir +esp4 +esp6 +et131x +ethoc +evbug +exofs +ext2 +extcon_class +extcon_gpio +extcon-max8997 +f75375s +f81232 +fakephp +farsync +fat +faulty +fc0011 +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fixed +floppy +fm801-gp +fm_drv +fmvj18x_cs +forcedeth +fore_200e +freevxfs +friq +frpw +fsa9480 +fscache +fsl_elbc_nand +ft1000 +ft1000_pcmcia +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +g450_pll +g760a +g_acm_ms +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +g_dbgp +gdmwm +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_ffs +gfs2 +ghash-generic +g_hid +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_mass_storage +g_midi +g_ncm +g_nokia +go7007 +go7007-usb +goku_udc +gp2ap002a00f +gpio-74x164 +gpio-addr-flash +gpio-adp5520 +gpio-adp5588 +gpio-charger +gpio-fan +gpio-generic +gpio-ir-recv +gpio-janz-ttl +gpio_keys +gpio_keys_polled +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mc33880 +gpio-mcp23s08 +gpio-ml-ioh +gpio_mouse +gpio-pca953x +gpio-pcf857x +gpio-rdc321x +gpio-regulator +gpio_tilt_polled +gpio-tps65912 +gpio-twl4030 +gpio_vbus +gpio-vx855 +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +g_printer +gre +grip +grip_mp +g_serial +gspca_benq +gspca_conex +gspca_cpia1 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtco +guillemot +gunze +g_webcam +gxt4500 +g_zero +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_uart +hci_vhci +hdlc +hdlc_cisco +hdlcdrv +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdpvr +he +hexium_gemini +hexium_orion +hfc4s8s_l1 +hfcmulti +hfcpci +hfcsusb +hfc_usb +hfs +hfsplus +hid +hid-a4tech +hid-apple +hid-aureal +hid-axff +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-dr +hid-elecom +hid-emsff +hid-ezkey +hid-gaff +hid-generic +hid-gyration +hid-holtekff +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-logitech +hid-logitech-dj +hid-magicmouse +hid-microsoft +hid-monterey +hid-multitouch +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-picolcd +hid-pl +hid-primax +hid-prodikeys +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-kovaplus +hid-roccat-pyra +hid-saitek +hid-samsung +hid-sjoy +hid-sony +hid-speedlink +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-uclogic +hid-wacom +hid-waltop +hid-wiimote +hid-zpff +hid-zydacron +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +hmc5843 +hmc6352 +hopper +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hpfs +hpilo +hpsa +hptiop +hsi +hsi_char +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-designware-core +i2c-designware-pci +i2c-dev +i2c-diolan-u2c +i2c-eg20t +i2c-gpio +i2c-i801 +i2c-intel-mid +i2c-isch +i2c-matroxfb +i2c-mpc +i2c-mux +i2c-mux-gpio +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-nforce2 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pasemi +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-xiic +i2o_block +i2o_bus +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i6300esb +i740fb +i82092 +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmpex +ib_mthca +ibmveth +ibmvfc +ibmvscsic +ibmvstgt +ib_qib +ib_sa +ib_srp +ib_srpt +ib_ucm +ib_umad +ib_uverbs +icom +ics932s401 +idmouse +idt77252 +ieee802154 +ifb +iforce +igb +igbvf +iio_dummy +iio_hwmon +iio-trig-gpio +iio-trig-periodic-rtc +iio-trig-sysfs +ili210x +ili9320 +imm +imon +imx074 +ina2xx +industrialio +inet_diag +inexio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +interact +ioc4 +io_edgeport +io_ti +iowarrior +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_REJECT +ip6t_rpfilter +ip6t_rt +ip6_tunnel +ipack +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ipoctal +ipr +ips +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netport +ip_set_list_set +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_ah +ipt_CLUSTERIP +ipt_ECN +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_rpfilter +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ircomm-tty +irda +irda-usb +ir-jvc-decoder +ir-kbd-i2c +irlan +ir-lirc-codec +ir-mce_kbd-decoder +ir-nec-decoder +irnet +ir-rc5-decoder +ir-rc5-sz-decoder +ir-rc6-decoder +ir-sanyo-decoder +ir-sony-decoder +irtty-sir +ir-usb +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdn +isdn_bsdcomp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1301 +isp1362-hcd +isp1704_charger +isp1760 +it913x-fe +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iw_cxgb4 +iwl3945 +iwl4965 +iwlegacy +iwlwifi +iwmc3200top +iwmc3200wifi +iw_nes +ix2505v +ixgb +ixgbe +ixgbevf +ixj +ixj_pcmcia +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jsm +kafs +kalmia +kaweth +kbic +kbtab +kernelcapi +keucr +keyspan +keyspan_pda +keyspan_remote +kfifo_buf +khazad +kingsun-sir +kl5kusb105 +kobil_sct +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ksz884x +ktti +kvaser_pci +kxsd9 +kxtj9 +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_ppp +l4f00242t03 +l64781 +lanai +lapb +lapbether +latch-addr-flash +lcd +ld9040 +ldusb +lec +leds-88pm860x +leds-adp5520 +leds-bd2802 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3533 +leds-lp3944 +leds-lp5521 +leds-lp5523 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-ot200 +leds-pca9532 +leds-pca955x +leds-pca9633 +leds-regulator +leds-tca6507 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +ledtrig-transient +legousbtower +lg2160 +lgdt3305 +lgdt330x +lgs8gxx +lg-vl600 +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libceph +libcrc32c +libcxgbi +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libore +libosd +libsas +libsrp +lightning +line6usb +lineage-pem +linear +lirc_bt829 +lirc_dev +lirc_igorplugusb +lirc_imon +lirc_parallel +lirc_sasem +lirc_serial +lirc_sir +lirc_ttusbir +lirc_zilog +lis3l02dq +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +litelink-sir +lkkbd +llc +llc2 +ll_temac +lm3533_bl +lm3533-core +lm3533-ctrlbank +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lm95245 +lms283gf05 +lnbp21 +lnbp22 +lockd +logger +lp +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +ltc4151 +ltc4215 +ltc4245 +ltc4261 +ltv350qv +lzo +m25p80 +m52790 +m88rs2000 +ma600-sir +mac80211 +mac80211_hwsim +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac_hid +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +macvlan +macvtap +magellan +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +matrix-keymap +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max11801_ts +max1363 +max1586 +max16065 +max1619 +max1668 +max17040_battery +max17042_battery +max2165 +max3100 +max3107 +max6639 +max6642 +max6650 +max6875 +max7359_keypad +max8649 +max8660 +max8903_charger +max8925_bl +max8925_onkey +max8925_power +max8925-regulator +max8952 +max8997 +max8997_charger +max8998 +max8998_charger +mb862xxfb +mb86a16 +mb86a20s +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc44s803 +mceusb +mcp2120-sir +mcp251x +mcp3021 +mcs5000_ts +mcs7780 +mcs7830 +mcs_touchkey +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +mdio-mux +mdio-mux-gpio +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mem2mem_testdev +memstick +metronomefb +metro-usb +mfd +mga +michael_mic +microtek +minix +mip6 +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mma8450 +mmc_block +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpr121_touchkey +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrst_max3110 +msdos +msp3400 +mspro_block +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9t112 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtd_dataflash +mtdoops +mtdram +mtdswap +mtip32xx +mtouch +multipath +musb_hdrc +mv88e6060 +mv88e6xxx_drv +mvsas +mv_udc +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxl111sf-demod +mxl111sf-tuner +mxl5005s +mxl5007t +mxser +myri10ge +nand +nand_bch +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +nci +ncpfs +ne2k-pci +neofb +net1080 +net2272 +net2280 +netconsole +netjet +netprio_cgroup +netrom +netxen_nic +newtonkbd +nfc +nf_conntrack +nf_conntrack_amanda +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_ipv4 +nf_conntrack_ipv6 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_proto_dccp +nf_conntrack_proto_gre +nf_conntrack_proto_sctp +nf_conntrack_proto_udplite +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nfcwilink +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_proto_dccp +nf_nat_proto_gre +nf_nat_proto_sctp +nf_nat_proto_udplite +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nfnetlink +nfnetlink_acct +nfnetlink_cttimeout +nfnetlink_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +ngene +n_hdlc +nicstar +nilfs2 +niu +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp437 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +nmclan_cs +nop-usb-xceiv +nosy +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc-ircc +ntc_thermistor +ntfs +n_tracerouter +n_tracesink +nvidiafb +nvme +nx-crypto +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ocrdma +of_mmc_spi +ofpart +of_serial +old_belkin-sir +omap4-keypad +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +openvswitch +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +osd +osdblk +osst +oti6858 +output +ov2640 +ov5642 +ov6650 +ov7670 +ov772x +ov9640 +ov9740 +overlayfs +oxu210hp-hcd +ozwpan +p54common +p54pci +p54spi +p54usb +p8022 +p8023 +palmas-regulator +pandora_bl +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pasemi_edac +pasemi_nand +pasemi-rng +pata_ali +pata_amd +pata_arasan_cf +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cs5536 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pcmcia +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc300too +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_can +pch_gbe +pch_phub +pch_uart +pch_udc +pci +pci200syn +pcips2 +pci-stub +pcmcia +pcmcia_core +pcmciamtd +pcmcia_rsrc +pcnet32 +pcnet_cs +pcrypt +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pcmcia +peak_usb +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +physmap_of +pixcir_i2c_ts +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +plx_pci +pm2fb +pm3fb +pm8001 +pmc551 +pmcraid +pn533 +pn544 +pn544_hci +pn_pep +poseidon +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppox +ppp_synctty +pps_core +pps-gpio +pps-ldisc +pps_parport +pptp +prism2_usb +ps2mult +ps3disk +ps3flash +ps3_gelic +ps3-lpm +ps3rom +ps3stor_lib +ps3vram +pseries_energy +pseries-rng +psmouse +psnap +pt +pti +pvrusb2 +pwc +qcaux +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas408 +qmi_wwan +qnx4 +qnx6 +qt1010 +qt1070 +quatech2 +quota_tree +quota_v1 +quota_v2 +r128 +r592 +r6040 +r8169 +r8187se +r8192e_pci +r8192u_usb +r852 +r8712u +r8a66597-hcd +r8a66597-udc +rack-meter +radeon +radio-i2c-si470x +radio-keene +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +radio-timb +radio-usb-si470x +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramoops +raw +ray_cs +rbd +rc5t583-regulator +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-em-terratec +rc-encore-enltv +rc-encore-enltv2 +rc-encore-enltv-fm53 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-imon-mce +rc-imon-pad +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lirc +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-pctv-sedna +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-snapstream-firefly +rc-streamzap +rc-tbs-nec +rc-technisat-usb2 +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-trekstor +rc-tt-1500 +rc-twinhan1027 +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-winfast +rc-winfast-usbii-deluxe +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +redrat3 +reed_solomon +reiserfs +renesas_usbhs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill-regulator +ring_sw +rio500 +rionet +rivafb +rj54n1cb0c +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpadlpar_io +rpaphp +rpcsec_gss_krb5 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800pci +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-88pm860x +rtc-ab3100 +rtc-bq32k +rtc-bq4802 +rtc-cmos +rtc_cmos_setup +rtc-da9052 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3232 +rtc-ds3234 +rtc-em3027 +rtc-fm3130 +rtc-generic +rtc-isl12022 +rtc-isl1208 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max8925 +rtc-max8998 +rtc-mc13xxx +rtc-msm6242 +rtc-pcap +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-ps3 +rtc-r9701 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3029c2 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-twl +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl2830 +rtl8150 +rtl8180 +rtl8187 +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192se +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rts5139 +rts_pstor +rxkad +s1d13xxxfb +s2250 +s2250-loader +s2255drv +s2io +s3fb +s5h1409 +s5h1411 +s5h1420 +s5m8767 +s6e63m0 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7191 +saa7706h +safe_serial +salsa20_generic +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_sil +sata_sil24 +sata_sis +sata_sx4 +sata_uli +sata_via +sata_vsc +savage +savagefb +sbe-2t3e3 +sbs-battery +sc92031 +sca3000 +scanlog +sch_atm +sch_cbq +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_fq_codel +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_tbf +sch_teql +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sctp_probe +sdhci +sdhci-of-esdhc +sdhci-of-hlwd +sdhci-pci +sdhci-pltfm +sdio_uart +sdricoh_cs +sedlbauer_cs +seed +seeq8005 +sep_driver +seqiv +ser_gigaset +serial_cs +serio_raw +sermouse +serpent_generic +serport +serqt_usb2 +ses +sfc +sha512_generic +shpchp +sht15 +sht21 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sierra_net +sil164 +sir-dev +sis +sis190 +sis5595 +sis900 +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_of_platform +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slcan +slip +slram +sm501 +sm501fb +sm7xx +smb347-charger +smc91c92_cs +sm_common +sm_ftl +smm665 +smsc47m192 +smsc75xx +smsc9420 +smsc95xx +smsc-ircc2 +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-als4000 +snd-aoa +snd-aoa-codec-onyx +snd-aoa-codec-tas +snd-aoa-codec-toonie +snd-aoa-fabric-layout +snd-aoa-i2sbus +snd-aoa-soundbus +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bt87x +snd-ca0106 +snd-cmipci +snd-cs4281 +snd-cs46xx +snd-cs5530 +snd-cs5535audio +snd-cs8427 +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-firewire-lib +snd-firewire-speakers +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxygen +snd-oxygen-lib +snd-page-alloc +snd-pcm +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-powermac +snd_ps3 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-sb16-dsp +snd-sb-common +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-soc-88pm860x +snd-soc-ad1836 +snd-soc-ad193x +snd-soc-ad73311 +snd-soc-adau1373 +snd-soc-adav80x +snd-soc-ads117x +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4641 +snd-soc-ak4642 +snd-soc-ak4671 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-core +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs42l51 +snd-soc-cs42l52 +snd-soc-cs42l73 +snd-soc-cx20442 +snd-soc-da7210 +snd-soc-dfbmcs320 +snd-soc-jz4740-codec +snd-soc-l3 +snd-soc-lm4857 +snd-soc-lm49453 +snd-soc-max9768 +snd-soc-max98088 +snd-soc-max98095 +snd-soc-max9850 +snd-soc-max9877 +snd-soc-mc13783 +snd-soc-ml26124 +snd-soc-pcm3008 +snd-soc-rt5631 +snd-soc-sgtl5000 +snd-soc-simple-card +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-sta32x +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic3x +snd-soc-tlv320dac33 +snd-soc-tpa6130a2 +snd-soc-twl4030 +snd-soc-twl6040 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wl1273 +snd-soc-wm1250-ev1 +snd-soc-wm2000 +snd-soc-wm2200 +snd-soc-wm5100 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8727 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8955 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8962 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8983 +snd-soc-wm8985 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8991 +snd-soc-wm8993 +snd-soc-wm8994 +snd-soc-wm8995 +snd-soc-wm8996 +snd-soc-wm9081 +snd-soc-wm9090 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usbmidi-lib +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +soc_mediabus +softdog +softing +softing_cs +solo6x10 +solos-pci +soundcore +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntpc +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_decpc +speakup_dectlk +speakup_dtlk +speakup_dummy +speakup_keypc +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +spectrum_cs +speedfax +speedtch +spi-altera +spi-bitbang +spi-butterfly +spidev +spi-dw +spi-dw-midpci +spi-gpio +spi_ks8995 +spi-lm70llp +spi-oc-tiny +spi-tle62x0 +spi-topcliff-pch +spufs +squashfs +sr030pc30 +ssb +ssb-hcd +ssfdc +sst25l +ssu100 +st +st1232 +starfire +stb0899 +stb6000 +stb6100 +st_drv +stex +stinger +stir4200 +stkwebcam +stmmac +stmpe-keypad +stmpe-ts +stowaway +stp +streamzap +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv6110 +stv6110x +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_i2c_rmi4 +synaptics_usb +synclink +synclink_cs +synclink_gt +synclinkmp +sysv +t1pci +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +tc3589x-keypad +tca6416-keypad +tca8418_keypad +tcm825x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bic +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18271 +tda18271c2dd +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tef6862 +tehuti +tekram-sir +teles_cs +test-kstrtox +test_power +tg3 +tgr192 +therm_pm72 +thmc50 +ths7303 +ti_dac7512 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timb_dma +timberdale +timblogiw +timbuart +timed_gpio +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlv320aic23b +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmiofb +tmp102 +tmp401 +tmp421 +tmscsim +toim3232-sir +touchit213 +touchright +touchwin +tpci200 +tpm_atmel +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65090-regulator +tps65217 +tps65217-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +trancevibrator +tranzport +tridentfb +ts_bm +tsc2005 +tsc2007 +tsc40 +ts_fsm +ts_kmp +tsl2550 +tsl2563 +tsl2583 +tsl2x7x_core +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tusb6010 +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw9910 +twidjoy +twl4030_charger +twl4030_keypad +twl4030-madc +twl4030-madc-hwmon +twl4030-pwrbutton +twl4030-usb +twl4030-vibra +twl4030_wdt +twl6030-pwm +twl6030-usb +twl6040-vibra +twofish_common +twofish_generic +typhoon +u132-hcd +uartlite +uas +ub +ubi +ubifs +ucb1400_core +ucb1400_ts +udc-core +udf +udl +udlfb +udp_diag +ueagle-atm +ufs +ufshcd +uio +uio_aec +uio_cif +uio_netx +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uli526x +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +uninorth-agp +unix_diag +upd64031a +upd64083 +usb8xxx +usbatm +usb_debug +usb_gigaset +usbhid +usbip-core +usbip-host +usbkbd +usblcd +usbled +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +usb_wwan +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +uwb +v4l2-common +v4l2-int-device +v4l2-mem2mem +vcan +ves1820 +ves1x93 +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +vhost_net +via +via686a +via-ircc +via-rhine +via-sdmmc +via-velocity +videobuf2-core +videobuf2-dma-contig +videobuf2-memops +videobuf2-vmalloc +videobuf-core +videobuf-dma-contig +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_mmio +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtio_scsi +virtual +visor +vivi +vivopay-serial +vlsi_ir +vmac +vme +vme_pio2 +vme_user +vme_vmivme7805 +vmwgfx +vmxnet3 +vp27smpx +vpx3220 +vs6624 +vsxxxaa +vt6655_stage +vt8231 +vt8623fb +vub300 +vx855 +vxge +w1_bq27000 +w1_ds2408 +w1_ds2423 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_ds2780 +w1_ds2781 +w1-gpio +w1_smem +w1_therm +w35und +w5100 +w5300 +w6692 +w83781d +w83791d +w83792d +w83793 +w83795 +w83977af_ir +w83l785ts +w83l786ng +w9966 +wacom +wacom_i2c +wacom_w8001 +walkera0701 +wanrouter +wanxl +warrior +wbsd +wdrtas +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +windfarm_ad7417_sensor +windfarm_core +windfarm_cpufreq_clamp +windfarm_fcu_controls +windfarm_lm75_sensor +windfarm_lm87_sensor +windfarm_max6690_sensor +windfarm_pid +windfarm_pm112 +windfarm_pm121 +windfarm_pm72 +windfarm_pm81 +windfarm_pm91 +windfarm_rm31 +windfarm_smu_controls +windfarm_smu_sat +windfarm_smu_sensors +wire +wis-ov7640 +wis-saa7113 +wis-saa7115 +wis-sony-tuner +wis-tw2804 +wis-tw9903 +wis-uda1342 +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl3501_cs +wlags49_h25_cs +wlags49_h2_cs +wlcore +wlcore_sdio +wlcore_spi +wm831x_backup +wm831x_bl +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x-ts +wm831x_wdt +wm8350-hwmon +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994-regulator +wm97xx-ts +wp512 +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +xc4000 +xc5000 +xcbc +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_ro +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_ipcomp +xfrm_user +xfs +xgifb +xilinx_ps2 +xilinx_uartps +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_addrtype +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNSECMARK +xt_conntrack +xt_cpu +xt_CT +xt_dccp +xt_devgroup +xt_dscp +xt_DSCP +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_HMARK +xt_IDLETIMER +xt_iprange +xt_ipvs +xtkbd +xt_LED +xt_length +xt_limit +xt_LOG +xt_mac +xt_mark +xt_multiport +xt_nfacct +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_RATEEST +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_TCPOPTSTRIP +xt_tcpudp +xt_TEE +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xz_dec_test +yam +yealink +yellowfin +yenta_socket +yurex +zaurus +zd1201 +zd1211rw +zhenhua +zio +zl10036 +zl10039 +zl10353 +zlib +znet +zr364xx --- linux-lowlatency-3.5.0.orig/debian.master/config/config.common.ports +++ linux-lowlatency-3.5.0/debian.master/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.master/config/config.common.ubuntu +++ linux-lowlatency-3.5.0/debian.master/config/config.common.ubuntu @@ -0,0 +1,6512 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_32BIT=y +CONFIG_3C515=m +# CONFIG_40x is not set +# CONFIG_44x is not set +CONFIG_60XX_WDT=m +CONFIG_6PACK=m +CONFIG_6xx=y +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_8129=y +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_9P_FS=m +# CONFIG_9P_FSCACHE is not set +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_AB3100_CORE=y +CONFIG_AB3100_OTP=m +CONFIG_AC3200=m +CONFIG_AC97_BUS=m +# CONFIG_ACCESSIBILITY is not set +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_ACERHDF=m +CONFIG_ACER_WMI=m +# CONFIG_ACORN_PARTITION_ADFS is not set +# CONFIG_ACORN_PARTITION_CUMANA is not set +# CONFIG_ACORN_PARTITION_EESOX is not set +CONFIG_ACORN_PARTITION_ICS=y +# CONFIG_ACORN_PARTITION_POWERTEC is not set +CONFIG_ACORN_PARTITION_RISCIX=y +CONFIG_ACPI=y +CONFIG_ACPI_AC=y +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_EINJ=m +CONFIG_ACPI_APEI_ERST_DEBUG=m +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_BATTERY=y +CONFIG_ACPI_BGRT=y +CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_CMPC=m +CONFIG_ACPI_CONTAINER=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_CUSTOM_DSDT_FILE="" +# CONFIG_ACPI_CUSTOM_METHOD is not set +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_EC_DEBUGFS=m +CONFIG_ACPI_FAN=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_HOTPLUG_MEMORY=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCI_SLOT=m +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_QUICKSTART=m +CONFIG_ACPI_SBS=m +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_THERMAL=y +CONFIG_ACPI_TOSHIBA=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_WMI=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ACT200L_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD5064=m +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +CONFIG_AD5360=m +CONFIG_AD5380=m +CONFIG_AD5421=m +CONFIG_AD5446=m +CONFIG_AD5504=m +CONFIG_AD5624R_SPI=m +CONFIG_AD5686=m +CONFIG_AD5764=m +CONFIG_AD5791=m +CONFIG_AD5930=m +CONFIG_AD5933=m +CONFIG_AD7150=m +CONFIG_AD7152=m +CONFIG_AD7192=m +CONFIG_AD7280=m +CONFIG_AD7291=m +CONFIG_AD7298=m +CONFIG_AD7476=m +CONFIG_AD7606=m +CONFIG_AD7606_IFACE_PARALLEL=m +CONFIG_AD7606_IFACE_SPI=m +CONFIG_AD7746=m +CONFIG_AD7780=m +CONFIG_AD7793=m +CONFIG_AD7816=m +CONFIG_AD7887=m +CONFIG_AD799X=m +CONFIG_AD799X_RING_BUFFER=y +CONFIG_AD8366=m +CONFIG_AD9832=m +CONFIG_AD9834=m +CONFIG_AD9850=m +CONFIG_AD9852=m +CONFIG_AD9910=m +CONFIG_AD9951=m +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_ADB=y +CONFIG_ADB_CUDA=y +CONFIG_ADB_MACIO=y +CONFIG_ADB_PMU=y +CONFIG_ADB_PMU_LED=y +# CONFIG_ADB_PMU_LED_IDE is not set +CONFIG_ADE7753=m +CONFIG_ADE7754=m +CONFIG_ADE7758=m +CONFIG_ADE7759=m +CONFIG_ADE7854=m +CONFIG_ADE7854_I2C=m +CONFIG_ADE7854_SPI=m +CONFIG_ADFS_FS=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_ADIS16060=m +CONFIG_ADIS16080=m +CONFIG_ADIS16130=m +CONFIG_ADIS16201=m +CONFIG_ADIS16203=m +CONFIG_ADIS16204=m +CONFIG_ADIS16209=m +CONFIG_ADIS16220=m +CONFIG_ADIS16240=m +CONFIG_ADIS16260=m +CONFIG_ADIS16400=m +CONFIG_ADM8211=m +CONFIG_ADT7310=m +CONFIG_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADT7410=m +# CONFIG_ADVANCED_OPTIONS is not set +CONFIG_ADVANTECH_WDT=m +CONFIG_ADXRS450=m +CONFIG_AEABI=y +CONFIG_AFFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FS=m +CONFIG_AFS_FSCACHE=y +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_AGP=y +CONFIG_AGP_ALI=m +CONFIG_AGP_AMD=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_ATI=m +CONFIG_AGP_EFFICEON=m +CONFIG_AGP_INTEL=y +CONFIG_AGP_NVIDIA=y +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_UNINORTH=m +CONFIG_AGP_VIA=y +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_DEBUG_ENABLE=y +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 +CONFIG_AIC7XXX_DEBUG_ENABLE=y +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_AIO=y +CONFIG_AIRO=m +CONFIG_AIRO_CS=m +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_ALIX=y +CONFIG_ALI_FIR=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTIVEC=y +CONFIG_AMD8111_ETH=m +CONFIG_AMD_IOMMU=y +CONFIG_AMD_IOMMU_STATS=y +CONFIG_AMD_IOMMU_V2=m +CONFIG_AMD_NB=y +CONFIG_AMD_NUMA=y +CONFIG_AMD_PHY=y +CONFIG_AMILO_RFKILL=m +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_INTF_ALARM_DEV=y +CONFIG_ANDROID_LOGGER=m +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_TIMED_GPIO=m +CONFIG_ANDROID_TIMED_OUTPUT=y +CONFIG_ANON_INODES=y +CONFIG_ANSLCD=m +CONFIG_APB_TIMER=y +CONFIG_APDS9802ALS=m +CONFIG_APM=m +# CONFIG_APM_ALLOW_INTS is not set +# CONFIG_APM_CPU_IDLE is not set +# CONFIG_APM_DISPLAY_BLANK is not set +# CONFIG_APM_DO_ENABLE is not set +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +CONFIG_APM_POWER=m +CONFIG_APPLE_AIRPORT=m +CONFIG_APPLE_GMUX=m +CONFIG_APPLICOM=m +CONFIG_APRICOT=m +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCMRING is not set +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CNS3XXX is not set +CONFIG_ARCH_CPU_PROBE_RELEASE=y +# CONFIG_ARCH_DAVINCI is not set +CONFIG_ARCH_DISCARD_MEMBLOCK=y +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_EBSA110 is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_EXYNOS is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_H720X is not set +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CPUFREQ=y +CONFIG_ARCH_HAS_CPU_AUTOPROBE=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_HAS_ILOG2_U32=y +CONFIG_ARCH_HAS_ILOG2_U64=y +CONFIG_ARCH_HAS_OPP=y +CONFIG_ARCH_HAS_WALK_MEMORY=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_LPC32XX is not set +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MEMORY_PROBE=y +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_MXS is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_NOMADIK is not set +CONFIG_ARCH_NR_GPIO=0 +# CONFIG_ARCH_OMAP1 is not set +# CONFIG_ARCH_OMAP2 is not set +CONFIG_ARCH_OMAP2PLUS=y +CONFIG_ARCH_OMAP2PLUS_TYPICAL=y +CONFIG_ARCH_OMAP3=y +# CONFIG_ARCH_OMAP4 is not set +CONFIG_ARCH_OMAP_OTG=y +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PICOXCELL is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PRIMA2 is not set +CONFIG_ARCH_PROC_KCORE_TEXT=y +# CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y +# CONFIG_ARCH_REALVIEW is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64X0 is not set +# CONFIG_ARCH_S5PC100 is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_SHMOBILE is not set +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_U300 is not set +# CONFIG_ARCH_U8500 is not set +CONFIG_ARCH_USES_PG_UNCACHED=y +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VT8500 is not set +# CONFIG_ARCH_W90X900 is not set +CONFIG_ARCH_WANTS_FREEZER_CONTROL=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +# CONFIG_ARCH_ZYNQ is not set +CONFIG_ARCNET=m +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=m +CONFIG_ARCNET_COM20020_CS=m +CONFIG_ARCNET_COM20020_ISA=m +CONFIG_ARCNET_COM20020_PCI=m +CONFIG_ARCNET_COM90xx=m +CONFIG_ARCNET_COM90xxIO=m +CONFIG_ARCNET_RAW=m +CONFIG_ARCNET_RIM_I=m +CONFIG_ARM=y +CONFIG_ARM_AMBA=y +# CONFIG_ARM_APPENDED_DTB is not set +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_751472 is not set +CONFIG_ARM_ERRATA_754322=y +# CONFIG_ARM_ERRATA_754327 is not set +# CONFIG_ARM_ERRATA_764369 is not set +# CONFIG_ARM_EXYNOS4210_CPUFREQ is not set +# CONFIG_ARM_EXYNOS4X12_CPUFREQ is not set +# CONFIG_ARM_EXYNOS5250_CPUFREQ is not set +CONFIG_ARM_GIC=y +CONFIG_ARM_KPROBES_TEST=m +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_NR_BANKS=8 +CONFIG_ARM_OMAP2PLUS_CPUFREQ=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_SP805_WATCHDOG=m +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_TIMER_SP804=y +CONFIG_ARM_UNWIND=y +# CONFIG_ARPD is not set +CONFIG_ASHMEM=y +CONFIG_ASUS_LAPTOP=m +CONFIG_ASUS_NB_WMI=m +CONFIG_ASUS_OLED=m +CONFIG_ASUS_WMI=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_RAID6_TEST=m +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_ASYNC_XOR=m +CONFIG_AT1700=m +CONFIG_AT76C50X_USB=m +CONFIG_ATA=y +CONFIG_ATAGS_PROC=y +CONFIG_ATALK=m +CONFIG_ATA_ACPI=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_SFF=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH5K_PCI=y +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_ATH6KL_SDIO=m +CONFIG_ATH6KL_USB=m +CONFIG_ATH9K=m +CONFIG_ATH9K_AHB=y +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_DEBUGFS=y +# CONFIG_ATH9K_DFS_CERTIFIED is not set +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HTC_DEBUGFS=y +CONFIG_ATH9K_HW=m +# CONFIG_ATH9K_MAC_DEBUG is not set +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_RATE_CONTROL=y +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m +CONFIG_ATL2=m +CONFIG_ATM=m +CONFIG_ATMEL=m +CONFIG_ATMEL_PWM=m +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_BR2684=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_DRIVERS=y +CONFIG_ATM_DUMMY=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_FORE200E=m +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_FORE200E_TX_RETRY=16 +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_HE=m +CONFIG_ATM_HE_USE_SUNI=y +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_LANAI=m +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +CONFIG_ATM_SOLOS=m +CONFIG_ATM_TCP=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ATP=m +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set +CONFIG_AUDIT_TREE=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUFS_BDEV_LOOP=y +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +# CONFIG_AUFS_BRANCH_MAX_511 is not set +CONFIG_AUFS_BR_FUSE=y +CONFIG_AUFS_BR_HFSPLUS=y +CONFIG_AUFS_BR_RAMFS=y +# CONFIG_AUFS_DEBUG is not set +# CONFIG_AUFS_EXPORT is not set +CONFIG_AUFS_FS=m +# CONFIG_AUFS_HNOTIFY is not set +CONFIG_AUFS_POLL=y +# CONFIG_AUFS_PROC_MAP is not set +# CONFIG_AUFS_RDU is not set +CONFIG_AUFS_SBILIST=y +# CONFIG_AUFS_SHWH is not set +# CONFIG_AUFS_SP_IATTR is not set +CONFIG_AUTOFS4_FS=m +# CONFIG_AUTO_ZRELADDR is not set +CONFIG_AVERAGE=y +CONFIG_AX25=m +CONFIG_AX88796=m +# CONFIG_AX88796_93CX6 is not set +CONFIG_B43=m +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_DEBUG=y +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +CONFIG_B43LEGACY_HWRNG=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PIO=y +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_B43_BCMA=y +# CONFIG_B43_BCMA_EXTRA is not set +CONFIG_B43_BCMA_PIO=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43_HWRNG=y +CONFIG_B43_LEDS=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCI_AUTOSELECT=y +# CONFIG_B43_PCMCIA is not set +CONFIG_B43_PHY_HT=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PIO=y +# CONFIG_B43_SDIO is not set +CONFIG_B43_SSB=y +CONFIG_B44=m +CONFIG_B44_PCI=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_BACKLIGHT_88PM860X=m +CONFIG_BACKLIGHT_AAT2870=m +CONFIG_BACKLIGHT_ADP5520=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ATMEL_PWM=m +CONFIG_BACKLIGHT_CARILLO_RANCH=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_DA9052=m +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_LM3533=m +CONFIG_BACKLIGHT_LP855X=m +CONFIG_BACKLIGHT_MAX8925=m +CONFIG_BACKLIGHT_PANDORA=m +CONFIG_BACKLIGHT_PCF50633=m +CONFIG_BACKLIGHT_PROGEAR=m +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_BATMAN_ADV=m +CONFIG_BATMAN_ADV_BLA=y +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_DA9030=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2781=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_INTEL_MID=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_PMU=m +CONFIG_BATTERY_SBS=m +CONFIG_BAYCOM_EPP=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCH_CONST_M=14 +CONFIG_BCH_CONST_PARAMS=y +CONFIG_BCH_CONST_T=4 +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_POSSIBLE=y +CONFIG_BCM_WIMAX=m +# CONFIG_BDI_SWITCH is not set +CONFIG_BE2ISCSI=m +CONFIG_BE2NET=m +# CONFIG_BEFS_DEBUG is not set +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BINARY_PRINTF=y +CONFIG_BINFMT_AOUT=m +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_MISC=m +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CPQ_CISS_DA=m +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_3W_XXXX_RAID=m +# CONFIG_BLK_DEV_AEC62XX is not set +# CONFIG_BLK_DEV_ALI15X3 is not set +# CONFIG_BLK_DEV_AMD74XX is not set +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BLK_DEV_CMD64X=m +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m +# CONFIG_BLK_DEV_CS5520 is not set +# CONFIG_BLK_DEV_CS5530 is not set +CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_DELKIN is not set +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_GENERIC is not set +# CONFIG_BLK_DEV_HD is not set +# CONFIG_BLK_DEV_HPT366 is not set +CONFIG_BLK_DEV_IDECD=y +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y +# CONFIG_BLK_DEV_IDECS is not set +CONFIG_BLK_DEV_IDEDMA=y +CONFIG_BLK_DEV_IDEDMA_PCI=y +CONFIG_BLK_DEV_IDEDMA_SFF=y +CONFIG_BLK_DEV_IDEPCI=y +# CONFIG_BLK_DEV_IDETAPE is not set +CONFIG_BLK_DEV_IDE_PMAC=y +CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_IO_TRACE=y +# CONFIG_BLK_DEV_IT8172 is not set +# CONFIG_BLK_DEV_IT8213 is not set +# CONFIG_BLK_DEV_IT821X is not set +# CONFIG_BLK_DEV_JMICRON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NS87415 is not set +CONFIG_BLK_DEV_NVME=m +# CONFIG_BLK_DEV_OPTI621 is not set +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_BLK_DEV_PIIX is not set +# CONFIG_BLK_DEV_PLATFORM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_BLK_DEV_RBD=m +# CONFIG_BLK_DEV_SC1200 is not set +CONFIG_BLK_DEV_SD=y +# CONFIG_BLK_DEV_SIIMAGE is not set +# CONFIG_BLK_DEV_SL82C105 is not set +# CONFIG_BLK_DEV_SLC90E66 is not set +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SVWKS is not set +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_TC86C001 is not set +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_TRM290 is not set +CONFIG_BLK_DEV_UB=m +CONFIG_BLK_DEV_UMEM=m +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_BLK_DEV_XD is not set +# CONFIG_BLK_DEV_XIP is not set +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +CONFIG_BMAC=m +CONFIG_BMP085=y +CONFIG_BMP085_I2C=m +CONFIG_BMP085_SPI=m +CONFIG_BNA=m +CONFIG_BNX2=m +CONFIG_BNX2X=m +CONFIG_BOARD_TPCI200=m +CONFIG_BONDING=m +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTX_TEXT is not set +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOUNCE=y +CONFIG_BPF_JIT=y +CONFIG_BPQETHER=m +CONFIG_BQL=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_BRCMDBG is not set +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_SDIO=y +CONFIG_BRCMFMAC_SDIO_OOB=y +CONFIG_BRCMFMAC_USB=y +CONFIG_BRCMSMAC=m +CONFIG_BRCMUTIL=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +# CONFIG_BRIDGE_EBT_ULOG is not set +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BROADCOM_PHY=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BT=m +CONFIG_BTREE=y +CONFIG_BTRFS_FS=m +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +CONFIG_BT_ATH3K=m +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_CMTP=m +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_WILINK=m +CONFIG_BUG=y +CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_C101=m +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set +CONFIG_CACHE_PL310=y +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_HSI=m +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_SPI_SLAVE=m +# CONFIG_CAIF_SPI_SYNC is not set +CONFIG_CAIF_TTY=m +CONFIG_CAIF_USB=m +CONFIG_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_CAN=m +CONFIG_CAN_BCM=m +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PLATFORM=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_EMS_PCMCIA=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_GW=m +CONFIG_CAN_JANZ_ICAN3=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MSCAN=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCMCIA=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_PM_TRACE=y +CONFIG_CAN_RAW=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_OF_PLATFORM=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=m +CONFIG_CAN_TI_HECC=m +CONFIG_CAN_TSCAN1=m +CONFIG_CAN_VCAN=m +CONFIG_CAPI_AVM=y +CONFIG_CAPI_EICON=y +CONFIG_CAPI_TRACE=y +CONFIG_CARDBUS=y +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_CARL9170=m +# CONFIG_CARL9170_DEBUGFS is not set +CONFIG_CARL9170_HWRNG=y +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARMINE_DRAM_CUSTOM is not set +CONFIG_CASSINI=m +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_CBE_CPUFREQ_SPU_GOVERNOR=m +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CC_STACKPROTECTOR=y +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +# CONFIG_CELL_CPU is not set +CONFIG_CEPH_FS=m +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_CFG80211=m +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_CFQ_GROUP_IOSCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_MEM_RES_CTLR=y +# CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_SCHED=y +CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_LP8727=m +CONFIG_CHARGER_MANAGER=y +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_SMB347=m +CONFIG_CHARGER_TWL4030=m +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_CHR_DEV_OSST=m +CONFIG_CHR_DEV_SCH=m +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_ST=m +CONFIG_CICADA_PHY=y +CONFIG_CIFS=m +CONFIG_CIFS_ACL=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CISS_SCSI_TAPE=y +CONFIG_CLKBLD_I8253=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKEVT_I8253=y +CONFIG_CLKSRC_I8253=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +CONFIG_CLZ_TAB=y +CONFIG_CMA=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CMDLINE="" +# CONFIG_CMDLINE_BOOL is not set +CONFIG_CMM=y +CONFIG_CNIC=m +CONFIG_CODA_FS=m +# CONFIG_CODE_PATCHING_SELFTEST is not set +CONFIG_COMEDI=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_ACL7225B=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_DIO200_ISA=m +CONFIG_COMEDI_AMPLC_DIO200_PCI=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC236_ISA=m +CONFIG_COMEDI_AMPLC_PC236_PCI=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PC263_ISA=m +CONFIG_COMEDI_AMPLC_PC263_PCI=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_DAS08_ISA=m +CONFIG_COMEDI_DAS08_PCI=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DAS800=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_FC=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_ISA_DRIVERS=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL725=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCM3730=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_POC=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_DEBUG is not set +CONFIG_COMPAL_LAPTOP=m +CONFIG_COMPAT=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_COMPAT_BRK is not set +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +# CONFIG_COMPAT_VDSO is not set +CONFIG_CONFIGFS_FS=m +CONFIG_CONNECTOR=y +CONFIG_CONSOLE_POLL=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_COPS=m +CONFIG_COPS_DAYNA=y +CONFIG_COPS_TANGENT=y +CONFIG_CORDIC=m +CONFIG_COSA=m +# CONFIG_CPA_DEBUG is not set +CONFIG_CPU5_WDT=m +CONFIG_CPUSETS=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +# CONFIG_CPU_DCACHE_DISABLE is not set +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_MAPLE=y +CONFIG_CPU_FREQ_PMAC=y +CONFIG_CPU_FREQ_PMAC64=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_HAS_PMU=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRAMFS=m +CONFIG_CRC16=y +CONFIG_CRC32=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CRC7=m +CONFIG_CRC8=m +CONFIG_CRC_CCITT=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC_T10DIF=y +CONFIG_CROSS_COMPILE="" +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_586=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_AES_X86_64=m +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAMELLIA_X86_64=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32C_INTEL=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEV_GEODE=m +CONFIG_CRYPTO_DEV_HIFN_795X=m +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y +CONFIG_CRYPTO_DEV_NX=m +CONFIG_CRYPTO_DEV_OMAP_AES=m +CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_PADLOCK=y +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SALSA20_586=m +CONFIG_CRYPTO_SALSA20_X86_64=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SERPENT_SSE2_586=m +CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_586=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYSTALHD=m +# CONFIG_CS5535_MFGPT is not set +CONFIG_CS89x0=m +CONFIG_CS89x0_PLATFORM=y +CONFIG_CUSE=m +CONFIG_CXT1E1=m +CONFIG_CYCLADES=m +CONFIG_CYCLADES_SYNC=m +CONFIG_CYCLOMX_X25=y +# CONFIG_CYZ_INTR is not set +CONFIG_DA9052_WATCHDOG=m +CONFIG_DAVICOM_PHY=y +CONFIG_DCA=m +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DCB=y +CONFIG_DCDBAS=m +CONFIG_DDR=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_DE4X5=m +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DEBUGGER=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLK_CGROUP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_BOOT_PARAMS is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_DEBUG_HIGHBANK_UART=y +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_NMI_SELFTEST is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_NX_TEST is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DECNET=m +CONFIG_DECNET_NF_GRABULATOR=m +# CONFIG_DECNET_ROUTER is not set +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_XZ=y +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_CUBIC=y +CONFIG_DEFAULT_DEADLINE=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_DEFAULT_IO_DELAY_TYPE=1 +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +# CONFIG_DEFAULT_NOOP is not set +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_SECURITY="apparmor" +CONFIG_DEFAULT_SECURITY_APPARMOR=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_SMACK is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_YAMA is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DEFAULT_UIMAGE is not set +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_DEFXX=m +# CONFIG_DEFXX_MMIO is not set +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_RBU=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_DEPCA=m +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +# CONFIG_DEVKMEM is not set +CONFIG_DEVPORT=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEV_APPLETALK=m +CONFIG_DE_AOC=y +CONFIG_DIRECT_GBPAGES=y +CONFIG_DL2K=m +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DM9000=m +# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set +CONFIG_DM9102=m +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMAR_TABLE=y +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_ENGINE=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +CONFIG_DM_BUFIO=m +CONFIG_DM_CRYPT=m +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_LOG_USERSPACE is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_RAID=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_UEVENT=y +# CONFIG_DM_VERITY is not set +CONFIG_DM_ZERO=m +CONFIG_DNET=m +CONFIG_DNOTIFY=y +CONFIG_DNS_RESOLVER=y +CONFIG_DONGLE=y +CONFIG_DOUBLEFAULT=y +CONFIG_DQL=y +CONFIG_DRAGONRISE_FF=y +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_DRM=m +# CONFIG_DRM_AST is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +CONFIG_DRM_GMA3600=y +CONFIG_DRM_GMA500=m +CONFIG_DRM_GMA600=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_I810=m +CONFIG_DRM_I915=m +CONFIG_DRM_I915_HSW=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_MEDFIELD=y +CONFIG_DRM_MGA=m +# CONFIG_DRM_MGAG200 is not set +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y +# CONFIG_DRM_OMAP is not set +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_SIS=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_TTM=m +CONFIG_DRM_UDL=m +CONFIG_DRM_USB=m +CONFIG_DRM_VIA=m +CONFIG_DRM_VMWGFX=m +CONFIG_DS1682=m +CONFIG_DSCC4=m +CONFIG_DSCC4_PCISYNC=y +CONFIG_DSCC4_PCI_RST=y +# CONFIG_DT3155_CCIR is not set +CONFIG_DT3155_STREAMING=y +CONFIG_DTC=y +CONFIG_DTL=y +CONFIG_DTLK=m +CONFIG_DUMMY=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_DVB_A8293=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_AF9033=m +CONFIG_DVB_AS102=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_B2C2_FLEXCOP=m +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_BT8XX=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET_PATCH=m +CONFIG_DVB_CAPTURE_DRIVERS=y +CONFIG_DVB_CORE=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_CXD2099=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_DDBRIDGE=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_DIB9000=m +CONFIG_DVB_DM1105=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_DRXK=m +CONFIG_DVB_DS3000=m +# CONFIG_DVB_DUMMY_FE is not set +CONFIG_DVB_DYNAMIC_MINORS=y +CONFIG_DVB_EC100=m +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y +CONFIG_DVB_HD29L2=m +CONFIG_DVB_HOPPER=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_IT913X_FE=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_L64781=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGS8GL5=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_MB86A16=m +CONFIG_DVB_MB86A20S=m +CONFIG_DVB_MT312=m +CONFIG_DVB_MT352=m +CONFIG_DVB_NET=y +CONFIG_DVB_NGENE=m +CONFIG_DVB_NXT200X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_PLL=m +CONFIG_DVB_PLUTO2=m +CONFIG_DVB_PT1=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_S5H1411=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_S5H1432=m +CONFIG_DVB_S921=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STV0297=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_TDA10071=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_USB=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_CXUSB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_VES1820=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_ZL10353=m +CONFIG_DW_APB_TIMER=y +CONFIG_DW_DMAC=m +CONFIG_DW_WATCHDOG=m +CONFIG_DX_SEP=m +# CONFIG_DYNAMIC_DEBUG is not set +CONFIG_DYNAMIC_FTRACE=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +# CONFIG_E200 is not set +CONFIG_E2100=m +CONFIG_EARLY_PRINTK=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_INTEL_MID=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_ECHO=m +CONFIG_ECRYPT_FS=y +CONFIG_EDAC_AMD64=m +# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_AMD76X=m +CONFIG_EDAC_AMD8111=m +CONFIG_EDAC_AMD8131=m +CONFIG_EDAC_CPC925=m +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_HIGHBANK_L2=y +CONFIG_EDAC_HIGHBANK_MC=y +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7300=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I82860=m +CONFIG_EDAC_I82875P=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_MCE_INJ=m +CONFIG_EDAC_PASEMI=m +CONFIG_EDAC_R82600=m +CONFIG_EDAC_SBRIDGE=m +CONFIG_EDAC_X38=m +CONFIG_EDD=y +CONFIG_EDD_OFF=y +CONFIG_EEEPC_LAPTOP=m +CONFIG_EEEPC_WMI=m +CONFIG_EEH=y +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEXPRESS=m +CONFIG_EEXPRESS_PRO=m +CONFIG_EFI=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_STUB=y +CONFIG_EFI_VARS=y +CONFIG_EFS_FS=m +CONFIG_EHEA=m +CONFIG_EISA=y +CONFIG_EISA_NAMES=y +CONFIG_EISA_PCI_EISA=y +CONFIG_EISA_VIRTUAL_ROOT=y +CONFIG_EISA_VLB_PRIMING=y +CONFIG_EL1=m +CONFIG_EL16=m +CONFIG_EL2=m +CONFIG_EL3=m +CONFIG_ELECTRA_CF=m +CONFIG_ELF_CORE=y +CONFIG_ELPLUS=m +# CONFIG_EMBEDDED is not set +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ENCRYPTED_KEYS=y +CONFIG_ENIC=m +# CONFIG_EPAPR_BOOT is not set +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_ES3210=m +CONFIG_ESI_DONGLE=m +CONFIG_ET131X=m +CONFIG_ETH16I=m +CONFIG_ETHERNET=y +CONFIG_ETHOC=m +CONFIG_EUROTECH_WDT=m +CONFIG_EVENTFD=y +CONFIG_EVENT_POWER_TRACING_DEPRECATED=y +CONFIG_EVENT_TRACING=y +CONFIG_EWRK3=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_EXOFS_FS=m +CONFIG_EXPERIMENTAL=y +CONFIG_EXPERT=y +CONFIG_EXPORTFS=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT2_FS_XATTR=y +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_DEFAULTS_TO_ORDERED=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXTCON=m +CONFIG_EXTCON_GPIO=m +CONFIG_EXTCON_MAX8997=m +CONFIG_EXTRA_FIRMWARE="" +CONFIG_EXTRA_TARGETS="" +CONFIG_EXYNOS_VIDEO=y +CONFIG_F71808E_WDT=m +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_FARSYNC=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAULT_INJECTION is not set +CONFIG_FA_DUMP=y +CONFIG_FB=y +# CONFIG_FB_3DFX_ACCEL is not set +CONFIG_FB_3DFX_I2C=y +CONFIG_FB_ARC=m +CONFIG_FB_ARK=m +CONFIG_FB_ARMCLCD=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128_BACKLIGHT=y +CONFIG_FB_ATY_BACKLIGHT=y +CONFIG_FB_ATY_CT=y +CONFIG_FB_ATY_GENERIC_LCD=y +CONFIG_FB_ATY_GX=y +CONFIG_FB_AUO_K1900=m +CONFIG_FB_AUO_K1901=m +CONFIG_FB_AUO_K190X=m +CONFIG_FB_BROADSHEET=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CARMINE_DRAM_EVAL=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_CIRRUS=m +CONFIG_FB_CONTROL=y +CONFIG_FB_CT65550=y +CONFIG_FB_CYBER2000=m +CONFIG_FB_CYBER2000_DDC=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_EFI=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_GEODE=y +CONFIG_FB_GEODE_GX=m +CONFIG_FB_GEODE_GX1=m +CONFIG_FB_GEODE_LX=m +CONFIG_FB_HECUBA=m +CONFIG_FB_HGA=m +CONFIG_FB_I740=m +CONFIG_FB_I810=m +# CONFIG_FB_I810_GTF is not set +CONFIG_FB_IBM_GXT4500=m +CONFIG_FB_IMSTT=y +CONFIG_FB_INTEL=m +# CONFIG_FB_INTEL_DEBUG is not set +CONFIG_FB_INTEL_I2C=y +CONFIG_FB_KYRO=m +CONFIG_FB_LE80578=m +CONFIG_FB_MATROX=m +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_I2C=m +CONFIG_FB_MATROX_MAVEN=m +CONFIG_FB_MATROX_MILLENIUM=y +CONFIG_FB_MATROX_MYSTIQUE=y +CONFIG_FB_MB862XX=m +CONFIG_FB_MB862XX_I2C=y +# CONFIG_FB_MB862XX_LIME is not set +CONFIG_FB_MB862XX_PCI_GDC=y +CONFIG_FB_METRONOME=m +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_N411=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_NVIDIA_BACKLIGHT=y +# CONFIG_FB_NVIDIA_DEBUG is not set +CONFIG_FB_NVIDIA_I2C=y +CONFIG_FB_OF=y +CONFIG_FB_OMAP2=y +CONFIG_FB_OMAP2_DEBUG_SUPPORT=y +CONFIG_FB_OMAP2_NUM_FBS=3 +CONFIG_FB_PLATINUM=y +CONFIG_FB_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_PM3=m +CONFIG_FB_PS3=y +CONFIG_FB_PS3_DEFAULT_SIZE_M=9 +CONFIG_FB_RADEON_BACKLIGHT=y +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_RADEON_I2C=y +CONFIG_FB_RIVA=m +CONFIG_FB_RIVA_BACKLIGHT=y +# CONFIG_FB_RIVA_DEBUG is not set +CONFIG_FB_RIVA_I2C=y +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_S3_DDC=y +CONFIG_FB_SAVAGE=m +CONFIG_FB_SAVAGE_ACCEL=y +CONFIG_FB_SAVAGE_I2C=y +CONFIG_FB_SIS=m +CONFIG_FB_SIS_300=y +CONFIG_FB_SIS_315=y +CONFIG_FB_SM501=m +CONFIG_FB_SM7XX=m +CONFIG_FB_SMSCUFX=m +CONFIG_FB_TMIO=m +CONFIG_FB_TMIO_ACCELL=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UDL=m +CONFIG_FB_UVESA=m +CONFIG_FB_VALKYRIE=y +CONFIG_FB_VESA=m +CONFIG_FB_VGA16=m +CONFIG_FB_VIA=m +# CONFIG_FB_VIA_DIRECT_PROCFS is not set +CONFIG_FB_VIA_X_COMPATIBILITY=y +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VT8623=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FB_XGI=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +CONFIG_FILE_LOCKING=y +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIREWIRE_OHCI=m +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FLATMEM=y +CONFIG_FLATMEM_MANUAL=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_FONT_10x18 is not set +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FONT_ACORN_8x8=y +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_SUN8x16 is not set +CONFIG_FORCEDETH=m +# CONFIG_FPE_FASTFPE is not set +# CONFIG_FPE_NWFPE_XP is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +CONFIG_FSCACHE_HISTOGRAM=y +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_FSCACHE_STATS=y +CONFIG_FSL_LBC=y +# CONFIG_FSL_ULI1575 is not set +CONFIG_FSNOTIFY=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FT1000=m +CONFIG_FT1000_PCMCIA=m +CONFIG_FT1000_USB=m +# CONFIG_FTGMAC100 is not set +CONFIG_FTL=m +# CONFIG_FTMAC100 is not set +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +# CONFIG_FTR_FIXUP_SELFTEST is not set +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_FUJITSU_TABLET=m +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FUSE_FS=y +CONFIG_FUSION=y +CONFIG_FUSION_CTL=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_LAN=m +CONFIG_FUSION_LOGGING=y +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_SAS=m +CONFIG_FUSION_SPI=m +CONFIG_FUTEX=y +CONFIG_FW_LOADER=y +CONFIG_GACT_PROB=y +CONFIG_GADGET_UAC1=y +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GARP=m +CONFIG_GART_IOMMU=y +# CONFIG_GCOV_KERNEL is not set +CONFIG_GELIC_NET=m +CONFIG_GELIC_WIRELESS=y +CONFIG_GENERIC_ACL=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU=y +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IO=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_NVRAM=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_TBSYNC=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_TRACER=y +CONFIG_GEOS=y +# CONFIG_GE_FPGA is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_GIGASET_BASE=m +# CONFIG_GIGASET_CAPI is not set +# CONFIG_GIGASET_DEBUG is not set +# CONFIG_GIGASET_DUMMYLL is not set +CONFIG_GIGASET_I4L=y +CONFIG_GIGASET_M101=m +CONFIG_GIGASET_M105=m +CONFIG_GIRBIL_DONGLE=m +# CONFIG_GOOGLE_FIRMWARE is not set +CONFIG_GPIOLIB=y +CONFIG_GPIO_74X164=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_CS5535=m +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_ICH=m +CONFIG_GPIO_INTEL_PMIC=y +CONFIG_GPIO_IT8761E=m +CONFIG_GPIO_JANZ_TTL=m +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MAX730X=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_ML_IOH=m +CONFIG_GPIO_MSIC=y +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_PCH=m +CONFIG_GPIO_PL061=y +CONFIG_GPIO_RC5T583=y +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SX150X=y +CONFIG_GPIO_TC3589X=y +CONFIG_GPIO_TIMBERDALE=y +CONFIG_GPIO_TPS65910=y +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_UCB1400=y +CONFIG_GPIO_VX855=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_WM8350=m +CONFIG_GPIO_WM8994=m +CONFIG_GPIO_XILINX=y +CONFIG_GREENASIA_FF=y +CONFIG_HAMACHI=m +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAPPYMEAL=m +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +# CONFIG_HAS_RAPIDIO is not set +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARM_SCU=y +CONFIG_HAVE_ARM_TWD=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_HAVE_BPF_JIT=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_MSI=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_HAVE_MTD_OTP=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_PWM=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_SYSCALL_WRAPPERS=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +# CONFIG_HCALL_STATS is not set +CONFIG_HDLC=m +CONFIG_HDLC_CISCO=m +CONFIG_HDLC_FR=m +CONFIG_HDLC_PPP=m +CONFIG_HDLC_RAW=m +CONFIG_HDLC_RAW_ETH=m +CONFIG_HDLC_X25=m +CONFIG_HDQ_MASTER_OMAP=m +# CONFIG_HEADERS_CHECK is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_HERMES_PRISM is not set +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_HID=m +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_ELECOM=m +CONFIG_HID_EMS_FF=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GENERIC=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GYRATION=m +CONFIG_HID_HOLTEK=m +CONFIG_HID_HYPERV_MOUSE=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PID=y +CONFIG_HID_PRIMAX=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAITEK=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_TIVO=m +CONFIG_HID_TOPSEED=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_WIIMOTE_EXT=y +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m +CONFIG_HIGHMEM=y +# CONFIG_HIGHMEM4G is not set +CONFIG_HIGHMEM64G=y +CONFIG_HIGHPTE=y +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_HIPPI is not set +CONFIG_HISAX_16_0=y +CONFIG_HISAX_16_3=y +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_ASUSCOM=y +CONFIG_HISAX_AVM_A1=y +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_BKM_A4T=y +# CONFIG_HISAX_DEBUG is not set +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_ENTERNOW_PCI=y +CONFIG_HISAX_EURO=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_FRITZ_PCIPNP=m +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_HFCS=y +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_HSTSAPHIR=y +CONFIG_HISAX_ISURF=y +CONFIG_HISAX_IX1MICROR2=y +CONFIG_HISAX_MAX_CARDS=8 +CONFIG_HISAX_MIC=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_NICCY=y +# CONFIG_HISAX_NO_KEYPAD is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_SPORTSTER=y +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_TELEINT=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_TELES_CS=m +CONFIG_HISAX_W6692=y +CONFIG_HMC6352=m +CONFIG_HOLTEK_FF=y +CONFIG_HOSTAP=m +CONFIG_HOSTAP_CS=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTESS_SV11=m +CONFIG_HOTPLUG=y +CONFIG_HOTPLUG_CPU=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_COMPAQ=m +CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_IBM=m +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI_RPA=m +CONFIG_HOTPLUG_PCI_RPA_DLPAR=m +CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HP100=m +CONFIG_HPET=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_HPET_MMAP=y +CONFIG_HPET_TIMER=y +CONFIG_HPFS_FS=m +CONFIG_HPLAN=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_HP_ACCEL=m +CONFIG_HP_ILO=m +CONFIG_HP_WATCHDOG=m +CONFIG_HP_WMI=m +CONFIG_HSI=m +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HTC_PASIC3=m +CONFIG_HT_IRQ=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y +CONFIG_HVCS=m +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_OLD_HVSI=y +CONFIG_HVC_OPAL=y +CONFIG_HVC_RTAS=y +CONFIG_HVC_UDBG=y +CONFIG_HVC_XEN=y +CONFIG_HVC_XEN_FRONTEND=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +# CONFIG_HWPOISON_INJECT is not set +CONFIG_HW_CONSOLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_AMD=m +# CONFIG_HW_RANDOM_ATMEL is not set +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_PASEMI=m +CONFIG_HW_RANDOM_PSERIES=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HYPERV=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_UTILS=m +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +CONFIG_I2C=y +CONFIG_I2C_ALGOPCA=m +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CORE is not set +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_EG20T=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_HYDRA=m +CONFIG_I2C_I801=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MPC=m +CONFIG_I2C_MUX=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_OMAP=y +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_PASEMI=m +CONFIG_I2C_PCA_ISA=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_POWERMAC=y +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_SCMI=m +CONFIG_I2C_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_SMBUS=m +CONFIG_I2C_STUB=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_XILINX=m +CONFIG_I2O=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_BUS=m +CONFIG_I2O_CONFIG=m +# CONFIG_I2O_CONFIG_OLD_IOCTL is not set +CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_EXT_ADAPTEC_DMA64=y +CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y +CONFIG_I2O_PROC=m +CONFIG_I2O_SCSI=m +CONFIG_I6300ESB_WDT=m +CONFIG_I7300_IDLE=m +CONFIG_I7300_IDLE_IOAT_CHANNEL=y +CONFIG_I82092=m +CONFIG_I82365=m +CONFIG_I8253_LOCK=y +CONFIG_I8K=m +# CONFIG_IA32_AOUT is not set +CONFIG_IA32_EMULATION=y +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_IBMVETH=m +CONFIG_IBMVIO=y +CONFIG_IBM_ASM=m +CONFIG_IBM_BSR=m +# CONFIG_IBM_EMAC_EMAC4 is not set +# CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_EMAC_MAL_COMMON_ERR is not set +# CONFIG_IBM_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_EMAC_RGMII is not set +# CONFIG_IBM_EMAC_TAH is not set +# CONFIG_IBM_EMAC_ZMII is not set +CONFIG_IBM_RTL=m +CONFIG_ICPLUS_PHY=y +CONFIG_ICS932S401=m +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_IDEPCI_PCIBUS_ORDER=y +CONFIG_IDE_ATAPI=y +CONFIG_IDE_GD=y +CONFIG_IDE_GD_ATA=y +# CONFIG_IDE_GD_ATAPI is not set +CONFIG_IDE_PHISON=m +CONFIG_IDE_PROC_FS=y +# CONFIG_IDE_TASK_IOCTL is not set +CONFIG_IDE_TIMINGS=y +CONFIG_IDE_XFER_MODE=y +CONFIG_IE6XX_WDT=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_DRIVERS=m +# CONFIG_IEEE802154_FAKEHARD is not set +CONFIG_IFB=m +CONFIG_IGB=m +CONFIG_IGBVF=m +CONFIG_IGB_DCA=y +# CONFIG_IGB_PTP is not set +CONFIG_IIO=m +CONFIG_IIO_BUFFER=y +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +CONFIG_IIO_GPIO_TRIGGER=m +CONFIG_IIO_KFIFO_BUF=m +CONFIG_IIO_PERIODIC_RTC_TRIGGER=m +CONFIG_IIO_SIMPLE_DUMMY=m +# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set +# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set +CONFIG_IIO_ST_HWMON=m +CONFIG_IIO_SW_RING=m +CONFIG_IIO_SYSFS_TRIGGER=m +CONFIG_IIO_TRIGGER=y +# CONFIG_IKCONFIG is not set +# CONFIG_IMA is not set +CONFIG_INET=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET_AH=m +CONFIG_INET_DCCP_DIAG=m +CONFIG_INET_DIAG=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_LRO=y +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INFINIBAND=m +CONFIG_INFINIBAND_ADDR_TRANS=y +CONFIG_INFINIBAND_AMSO1100=m +CONFIG_INFINIBAND_AMSO1100_DEBUG=y +CONFIG_INFINIBAND_CXGB3=m +# CONFIG_INFINIBAND_CXGB3_DEBUG is not set +CONFIG_INFINIBAND_CXGB4=m +CONFIG_INFINIBAND_EHCA=m +CONFIG_INFINIBAND_IPATH=m +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +CONFIG_INFINIBAND_IPOIB_DEBUG=y +# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_MTHCA=m +CONFIG_INFINIBAND_MTHCA_DEBUG=y +CONFIG_INFINIBAND_NES=m +# CONFIG_INFINIBAND_NES_DEBUG is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INFINIBAND_QIB=m +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_SRPT=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFINIBAND_USER_MEM=y +CONFIG_INFTL=m +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_INIT_PASS_ALL_PARAMS=y +# CONFIG_INLINE_READ_LOCK is not set +# CONFIG_INLINE_READ_LOCK_BH is not set +# CONFIG_INLINE_READ_LOCK_IRQ is not set +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set +# CONFIG_INLINE_READ_TRYLOCK is not set +CONFIG_INLINE_READ_UNLOCK=y +# CONFIG_INLINE_READ_UNLOCK_BH is not set +CONFIG_INLINE_READ_UNLOCK_IRQ=y +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_WRITE_LOCK is not set +# CONFIG_INLINE_WRITE_LOCK_BH is not set +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set +# CONFIG_INLINE_WRITE_TRYLOCK is not set +CONFIG_INLINE_WRITE_UNLOCK=y +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +CONFIG_INPUT_88PM860X_ONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_ADBHID=y +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_APMPOWER=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_DA9052_ONKEY=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_GP2A=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_GPIO_TILT_POLLED=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MAX8925_ONKEY=m +CONFIG_INPUT_MAX8997_HAPTIC=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_MPU3050=m +CONFIG_INPUT_PCAP=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_PWM_BEEPER=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INPUT_TWL4030_PWRBUTTON=m +CONFIG_INPUT_TWL4030_VIBRA=m +CONFIG_INPUT_TWL6040_VIBRA=m +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_WISTRON_BTNS=m +CONFIG_INPUT_WM831X_ON=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m +CONFIG_INPUT_YEALINK=m +CONFIG_INSTRUCTION_DECODER=y +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEL_IDLE=y +CONFIG_INTEL_IOATDMA=m +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IPS=m +CONFIG_INTEL_MEI=m +CONFIG_INTEL_MENLOW=m +CONFIG_INTEL_MFLD_THERMAL=m +CONFIG_INTEL_MID_DMAC=m +CONFIG_INTEL_MID_POWER_BUTTON=m +CONFIG_INTEL_MID_PTI=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_INTEL_SCU_IPC=y +CONFIG_INTEL_SCU_IPC_UTIL=m +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUG is not set +CONFIG_IOMMU_HELPER=y +# CONFIG_IOMMU_STRESS is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_CFQ=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_NOOP=y +# CONFIG_IO_DELAY_0X80 is not set +CONFIG_IO_DELAY_0XED=y +# CONFIG_IO_DELAY_NONE is not set +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +# CONFIG_IO_DELAY_UDELAY is not set +CONFIG_IO_EVENT_IRQ=y +CONFIG_IP1000=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IPACK_BUS=m +CONFIG_IPC_NS=y +CONFIG_IPDDP=m +CONFIG_IPDDP_DECAP=y +CONFIG_IPDDP_ENCAP=y +# CONFIG_IPIC is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_POWEROFF=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPPP_FILTER=y +CONFIG_IPV6=y +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPW2100=m +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2100_MONITOR=y +CONFIG_IPW2200=m +# CONFIG_IPW2200_DEBUG is not set +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPWIRELESS=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_MULTICAST=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +# CONFIG_IP_NF_QUEUE is not set +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_IP_PNP_BOOTP is not set +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_RARP is not set +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_SCTP=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_VS=m +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_PE_SIP=m +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_SCTP=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SH_TAB_BITS=8 +CONFIG_IP_VS_TAB_BITS=12 +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_WRR=m +CONFIG_IRCOMM=m +CONFIG_IRDA=m +CONFIG_IRLAN=m +CONFIG_IRNET=m +# CONFIG_IRQSOFF_TRACER is not set +CONFIG_IRQ_DOMAIN=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_REMAP=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_IRQ_WORK=y +CONFIG_IRTTY_SIR=m +CONFIG_IR_ENE=m +CONFIG_IR_FINTEK=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_IMON=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_ISAPNP=y +CONFIG_ISA_DMA_API=y +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_ISCSI_IBFT=m +CONFIG_ISCSI_IBFT_FIND=y +CONFIG_ISCSI_TARGET=m +CONFIG_ISCSI_TCP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIDRV=m +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_MAINT=m +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVERSION=m +CONFIG_ISDN_DRV_ACT2000=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_B1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_ISDN_DRV_AVMB1_T1ISA=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_ISDN_DRV_HISAX=m +CONFIG_ISDN_DRV_ICN=m +CONFIG_ISDN_DRV_LOOP=m +CONFIG_ISDN_DRV_PCBIT=m +CONFIG_ISDN_DRV_SC=m +CONFIG_ISDN_HDLC=m +CONFIG_ISDN_I4L=m +CONFIG_ISDN_MPP=y +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_TTY_FAX=y +CONFIG_ISDN_X25=y +CONFIG_ISI=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_ISO9660_FS=m +CONFIG_ISP1301_OMAP=m +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_ITCO_WDT=m +CONFIG_IWL3945=m +CONFIG_IWL4965=m +CONFIG_IWLEGACY=m +# CONFIG_IWLEGACY_DEBUG is not set +CONFIG_IWLEGACY_DEBUGFS=y +CONFIG_IWLWIFI=m +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEBUGFS=y +CONFIG_IWLWIFI_DEVICE_TESTMODE=y +CONFIG_IWLWIFI_DEVICE_TRACING=y +# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set +# CONFIG_IWLWIFI_P2P is not set +CONFIG_IWM=m +CONFIG_IWMC3200TOP=m +# CONFIG_IWMC3200TOP_DEBUG is not set +# CONFIG_IWM_DEBUG is not set +CONFIG_IWM_TRACING=y +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBEVF=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBE_DCB=y +CONFIG_IXGBE_HWMON=y +# CONFIG_IXGBE_PTP is not set +CONFIG_JBD=y +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +# CONFIG_JBD_DEBUG is not set +CONFIG_JFFS2_CMODE_FAVOURLZO=y +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_SUMMARY is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_STATISTICS=y +CONFIG_JME=m +CONFIG_JOLIET=y +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JUMP_LABEL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KDB_KEYBOARD=y +# CONFIG_KERNEL_BZIP2 is not set +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_XZ is not set +CONFIG_KEXEC_JUMP=y +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_QT1070=m +# CONFIG_KEYBOARD_QT2160 is not set +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_TWL4030=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +CONFIG_KGDB_KDB=y +CONFIG_KGDB_LOW_LEVEL_TRAP=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KINGSUN_DONGLE=m +CONFIG_KPROBES=y +# CONFIG_KPROBES_SANITY_TEST is not set +CONFIG_KPROBE_EVENT=y +CONFIG_KRETPROBES=y +CONFIG_KS0108=m +CONFIG_KS0108_DELAY=2 +CONFIG_KS0108_PORT=0x378 +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KS959_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KSZ884X_PCI=m +CONFIG_KTIME_SCALAR=y +CONFIG_KVM=m +CONFIG_KVM_AMD=m +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_ASYNC_PF=y +# CONFIG_KVM_BOOK3S_64 is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_KVM_INTEL=m +CONFIG_KVM_MMIO=y +# CONFIG_KVM_MMU_AUDIT is not set +CONFIG_KXSD9=m +CONFIG_L2TP=m +CONFIG_L2TP_DEBUGFS=m +# CONFIG_L2TP_V3 is not set +CONFIG_LANCE=m +CONFIG_LANMEDIA=m +CONFIG_LAPB=m +CONFIG_LAPBETHER=m +CONFIG_LBDAF=y +CONFIG_LCD_AMS369FG06=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LD9040=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_S6E63M0=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +# CONFIG_LDM_DEBUG is not set +CONFIG_LEDS=y +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_ASIC3=y +CONFIG_LEDS_ATMEL_PWM=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_DA903X=m +CONFIG_LEDS_DA9052=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_LM3533=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_MAX8997=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_NET48XX=m +CONFIG_LEDS_OT200=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_PCA9633=m +CONFIG_LEDS_PWM=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_RENESAS_TPU=y +CONFIG_LEDS_TCA6507=m +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +# CONFIG_LEDS_TRIGGER_IDE_DISK is not set +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_WM8350=m +CONFIG_LEDS_WRAP=m +CONFIG_LEGACY_PTYS=y +# CONFIG_LGUEST is not set +# CONFIG_LGUEST_GUEST is not set +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +CONFIG_LIB80211_CRYPT_WEP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_LIBCRC32C=m +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_CS=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_LIBIPW=m +CONFIG_LINE6_USB=m +# CONFIG_LINE6_USB_DEBUG is not set +# CONFIG_LINE6_USB_DUMP_CTRL is not set +# CONFIG_LINE6_USB_DUMP_MIDI is not set +# CONFIG_LINE6_USB_DUMP_PCM is not set +# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set +# CONFIG_LINE6_USB_RAW is not set +CONFIG_LIRC=m +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m +CONFIG_LIS3L02DQ_BUF_KFIFO=y +# CONFIG_LIS3L02DQ_BUF_RING_SW is not set +CONFIG_LITELINK_DONGLE=m +# CONFIG_LKDTM is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_LNE390=m +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCAL_TIMERS=y +CONFIG_LOCKD=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD_V4=y +CONFIG_LOCKUP_DETECTOR=y +# CONFIG_LOCK_STAT is not set +# CONFIG_LOGFS is not set +# CONFIG_LOGO is not set +CONFIG_LOOPBACK_TARGET=m +CONFIG_LOWMEM_SIZE=0x30000000 +CONFIG_LP486E=m +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +# CONFIG_LP_CONSOLE is not set +CONFIG_LRU_CACHE=m +CONFIG_LSI_ET1011C_PHY=y +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LTPC=m +CONFIG_LXT_PHY=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_M25PXX_USE_FAST_READ=y +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586MMX is not set +# CONFIG_M586TSC is not set +CONFIG_M686=y +CONFIG_MA600_DONGLE=m +CONFIG_MAC80211=m +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_DEBUG_COUNTERS is not set +CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_HT_DEBUG is not set +CONFIG_MAC80211_HWSIM=m +# CONFIG_MAC80211_IBSS_DEBUG is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_NOINLINE is not set +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +# CONFIG_MAC80211_RC_DEFAULT_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_PID=y +# CONFIG_MAC80211_TKIP_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MESH_SYNC_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MHWMP_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MPATH_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MPL_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_TDLS_DEBUG is not set +# CONFIG_MAC802154 is not set +CONFIG_MACE=m +# CONFIG_MACE_AAUI_PORT is not set +CONFIG_MACHZ_WDT=m +# CONFIG_MACH_CM_T35 is not set +CONFIG_MACH_CM_T3517=y +# CONFIG_MACH_CRANEBOARD is not set +# CONFIG_MACH_DEVKIT8000 is not set +CONFIG_MACH_IGEP0020=y +CONFIG_MACH_IGEP0030=y +CONFIG_MACH_NOKIA_RM680=y +# CONFIG_MACH_NOKIA_RX51 is not set +# CONFIG_MACH_OMAP3517EVM is not set +CONFIG_MACH_OMAP3530_LV_SOM=y +CONFIG_MACH_OMAP3EVM=y +CONFIG_MACH_OMAP3_BEAGLE=y +CONFIG_MACH_OMAP3_PANDORA=y +CONFIG_MACH_OMAP3_TORPEDO=y +CONFIG_MACH_OMAP3_TOUCHBOOK=y +CONFIG_MACH_OMAP_3430SDP=y +CONFIG_MACH_OMAP_3630SDP=y +CONFIG_MACH_OMAP_GENERIC=y +CONFIG_MACH_OMAP_LDP=y +CONFIG_MACH_OMAP_ZOOM2=y +CONFIG_MACH_OMAP_ZOOM3=y +CONFIG_MACH_OVERO=y +CONFIG_MACH_SBC3530=y +CONFIG_MACH_TI8148EVM=y +CONFIG_MACH_TI8168EVM=y +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_MAC_EMUMOUSEBTN=m +CONFIG_MAC_FLOPPY=m +CONFIG_MAGIC_SYSRQ=y +CONFIG_MANTIS_CORE=m +CONFIG_MARVELL_PHY=y +# CONFIG_MATH_EMULATION is not set +# CONFIG_MATOM is not set +CONFIG_MAX1363=m +CONFIG_MAX1363_RING_BUFFER=y +# CONFIG_MAX517 is not set +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAX8925_POWER=m +# CONFIG_MAXSMP is not set +# CONFIG_MCORE2 is not set +CONFIG_MCP2120_DONGLE=m +# CONFIG_MCRUSOE is not set +CONFIG_MCS_FIR=m +# CONFIG_MCYRIXIII is not set +CONFIG_MD=y +CONFIG_MDA_CONSOLE=m +CONFIG_MDIO=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_GPIO=m +CONFIG_MD_AUTODETECT=y +CONFIG_MD_FAULTY=m +CONFIG_MD_LINEAR=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_MEDIA_ATTACH=y +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_XC5000=m +# CONFIG_MEFFICEON is not set +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +# CONFIG_MELAN is not set +CONFIG_MEMORY=y +CONFIG_MEMORY_FAILURE=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_MEMSTICK_TIFM_MS=m +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MEMTEST=y +CONFIG_MFD_CORE=y +CONFIG_MFD_CS5535=m +CONFIG_MFD_DA9052_I2C=y +CONFIG_MFD_DA9052_SPI=y +CONFIG_MFD_INTEL_MSIC=y +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MC13XXX_SPI=m +CONFIG_MFD_OMAP_USB_HOST=y +CONFIG_MFD_PALMAS=y +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RDC321X=m +CONFIG_MFD_S5M_CORE=y +CONFIG_MFD_SM501=m +# CONFIG_MFD_SM501_GPIO is not set +CONFIG_MFD_TIMBERDALE=m +CONFIG_MFD_TPS65090=y +CONFIG_MFD_TPS65217=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TWL4030_AUDIO=y +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM8350=y +CONFIG_MFD_WM8400=y +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +CONFIG_MG_DISK=m +CONFIG_MG_DISK_RES=0 +CONFIG_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=y +CONFIG_MICROCODE=m +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_MIGRATION=y +CONFIG_MII=y +CONFIG_MINIX_FS=m +CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISDN=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_MISDN_L1OIP=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_W6692=m +CONFIG_MIXCOMWD=m +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +CONFIG_MKISS=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_EN_DCB=y +CONFIG_MLX4_INFINIBAND=m +CONFIG_MMC=y +CONFIG_MMC_ARMMMCI=m +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CB710=m +# CONFIG_MMC_CLKGATE is not set +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_DW=m +# CONFIG_MMC_DW_IDMAC is not set +CONFIG_MMC_DW_PLTFM=m +CONFIG_MMC_OMAP=m +CONFIG_MMC_OMAP_HS=y +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_ESDHC=m +CONFIG_MMC_SDHCI_OF_HLWD=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PXAV2=m +CONFIG_MMC_SDHCI_PXAV3=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_SPI=m +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_TMIO=m +CONFIG_MMC_TMIO_CORE=m +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MMC_USHC=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_WBSD=m +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_MMU=y +CONFIG_MMU_NOTIFIER=y +CONFIG_MM_OWNER=y +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_GPIO=m +# CONFIG_MOUSE_INPORT is not set +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_TOUCHKIT=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOXA_INTELLIO=m +CONFIG_MOXA_SMARTIO=m +# CONFIG_MPENTIUM4 is not set +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +CONFIG_MPIC=y +CONFIG_MPIC_BROKEN_REGREAD=y +CONFIG_MPIC_MSGR=y +# CONFIG_MPIC_WEIRD is not set +CONFIG_MPILIB=y +# CONFIG_MPSC is not set +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +# CONFIG_MSI_BITMAP_SELFTEST is not set +CONFIG_MSI_LAPTOP=m +CONFIG_MSI_WMI=m +CONFIG_MSPRO_BLOCK=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=m +CONFIG_MTD_AFS_PARTS=m +CONFIG_MTD_ALAUDA=m +CONFIG_MTD_AMD76XROM=m +CONFIG_MTD_AR7_PARTS=m +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CK804XROM=m +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +CONFIG_MTD_DOC2001PLUS=m +CONFIG_MTD_DOCECC=m +CONFIG_MTD_DOCG3=m +CONFIG_MTD_DOCPROBE=m +CONFIG_MTD_DOCPROBE_ADDRESS=0x0 +# CONFIG_MTD_DOCPROBE_ADVANCED is not set +CONFIG_MTD_ESB2ROM=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_GPIO_ADDR=m +CONFIG_MTD_ICHXROM=m +CONFIG_MTD_IMPA7=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_L440GX=m +CONFIG_MTD_LATCH_ADDR=m +CONFIG_MTD_LPDDR=m +CONFIG_MTD_M25P80=m +CONFIG_MTD_MAP_BANK_WIDTH_1=y +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND_CAFE=m +CONFIG_MTD_NAND_CS553X=m +CONFIG_MTD_NAND_DENALI=m +CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DOCG4=m +CONFIG_MTD_NAND_ECC_BCH=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND_FSL_ELBC=m +CONFIG_MTD_NAND_GPIO=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_NANDSIM=m +CONFIG_MTD_NAND_OMAP2=y +CONFIG_MTD_NAND_OMAP_BCH=y +# CONFIG_MTD_NAND_OMAP_BCH4 is not set +CONFIG_MTD_NAND_OMAP_BCH8=y +CONFIG_MTD_NAND_PASEMI=m +CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_TMIO=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +CONFIG_MTD_NETSC520=m +CONFIG_MTD_NETtel=m +CONFIG_MTD_ONENAND=m +CONFIG_MTD_ONENAND_2X_PROGRAM=y +CONFIG_MTD_ONENAND_GENERIC=m +CONFIG_MTD_ONENAND_OMAP2=m +# CONFIG_MTD_ONENAND_OTP is not set +CONFIG_MTD_ONENAND_SIM=m +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_OOPS=m +CONFIG_MTD_PCI=m +CONFIG_MTD_PCMCIA=m +# CONFIG_MTD_PCMCIA_ANONYMOUS is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_MTD_PHYSMAP_OF=m +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_RAM=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS=m +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +CONFIG_MTD_ROM=m +CONFIG_MTD_SBC_GXX=m +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_SCB2_FLASH=m +CONFIG_MTD_SCx200_DOCFLASH=m +CONFIG_MTD_SLRAM=m +CONFIG_MTD_SST25L=m +CONFIG_MTD_SWAP=m +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_TS5500=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_BEB_RESERVE=1 +CONFIG_MTD_UBI_GLUEBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MULTI_IRQ_HANDLER=y +CONFIG_MV643XX_ETH=m +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +CONFIG_MWAVE=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m +# CONFIG_MWINCHIP3D is not set +# CONFIG_MWINCHIPC6 is not set +CONFIG_MWL8K=m +CONFIG_MXM_WMI=m +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_N2=m +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=y +CONFIG_NATSEMI=m +CONFIG_NCPFS_EXTRAS=y +CONFIG_NCPFS_IOCTL_LOCKING=y +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_NLS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_PACKET_SIGNING=y +# CONFIG_NCPFS_SMALLDOS is not set +CONFIG_NCPFS_STRONG=y +CONFIG_NCP_FS=m +CONFIG_NE2000=m +CONFIG_NE2K_PCI=m +CONFIG_NE3210=m +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEON=y +CONFIG_NET=y +CONFIG_NET5501=y +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETDEVICES=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETLABEL=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NETPRIO_CGROUP=m +CONFIG_NETROM=m +CONFIG_NETWORK_FILESYSTEMS=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETWORK_SECMARK=y +CONFIG_NETXEN_NIC=m +CONFIG_NET_9P=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_NET_9P_RDMA=m +CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_GACT=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_CLS=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_FW=m +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DCCPPROBE=m +# CONFIG_NET_DROP_MONITOR is not set +CONFIG_NET_DSA=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6123_61_65=m +CONFIG_NET_DSA_MV88E6131=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y +CONFIG_NET_DSA_TAG_DSA=y +CONFIG_NET_DSA_TAG_EDSA=y +CONFIG_NET_DSA_TAG_TRAILER=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_FC=y +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPIP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_NS=y +CONFIG_NET_PACKET_ENGINE=y +CONFIG_NET_PKTGEN=m +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_NET_SB1000=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCTPPROBE=m +CONFIG_NET_TCPPROBE=m +# CONFIG_NET_TEAM is not set +CONFIG_NET_TULIP=y +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_8390=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_APPLE=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EXAR=y +CONFIG_NET_VENDOR_FARADAY=y +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_NET_VENDOR_HP=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_IBM=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PASEMI=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_TOSHIBA=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NET_VENDOR_XILINX=y +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFC_HCI=m +# CONFIG_NFC_LLCP is not set +CONFIG_NFC_NCI=m +CONFIG_NFC_PN533=m +CONFIG_NFC_SHDLC=y +CONFIG_NFC_WILINK=m +CONFIG_NFSD=m +# CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_NFS_FS=m +CONFIG_NFS_FSCACHE=y +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +# CONFIG_NF_CONNTRACK_PROCFS is not set +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NI52=m +CONFIG_NI65=m +CONFIG_NILFS2_FS=m +CONFIG_NIU=m +CONFIG_NLATTR=y +CONFIG_NLS=y +CONFIG_NLS_ASCII=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m +CONFIG_NLS_UTF8=m +CONFIG_NODES_SPAN_OTHER_NODES=y +# CONFIG_NOHIGHMEM is not set +CONFIG_NOP_TRACER=y +CONFIG_NORTEL_HERMES=m +CONFIG_NOZOMI=m +CONFIG_NO_BOOTMEM=y +CONFIG_NO_HZ=y +CONFIG_NR_IRQS=512 +CONFIG_NS83820=m +CONFIG_NSC_FIR=m +CONFIG_NSC_GPIO=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_RW is not set +CONFIG_NUMA=y +# CONFIG_NUMA_EMU is not set +CONFIG_NV_TCO=m +# CONFIG_N_GSM is not set +CONFIG_N_HDLC=m +CONFIG_OABI_COMPAT=y +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_OCFS2_DEBUG_MASKLOG=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DEVICE=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_I2C=y +CONFIG_OF_IRQ=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +CONFIG_OF_NET=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +# CONFIG_OF_SELFTEST is not set +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_OLD_MCOUNT=y +CONFIG_OMAP2_DSS=y +# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set +CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y +CONFIG_OMAP2_DSS_DPI=y +# CONFIG_OMAP2_DSS_DSI is not set +CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 +# CONFIG_OMAP2_DSS_RFBI is not set +CONFIG_OMAP2_DSS_SDI=y +CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y +CONFIG_OMAP2_DSS_VENC=y +CONFIG_OMAP2_VRAM=y +CONFIG_OMAP2_VRAM_SIZE=16 +CONFIG_OMAP2_VRFB=y +CONFIG_OMAP3_EMU=y +# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set +# CONFIG_OMAP3_SDRC_AC_TIMING is not set +CONFIG_OMAP_32K_TIMER=y +CONFIG_OMAP_32K_TIMER_HZ=128 +CONFIG_OMAP_DM_TIMER=y +CONFIG_OMAP_IOMMU=y +# CONFIG_OMAP_IOVMM is not set +CONFIG_OMAP_MBOX_FWK=m +CONFIG_OMAP_MBOX_KFIFO_SIZE=256 +CONFIG_OMAP_MUX=y +# CONFIG_OMAP_MUX_DEBUG is not set +CONFIG_OMAP_MUX_WARNINGS=y +CONFIG_OMAP_PACKAGE_CBB=y +CONFIG_OMAP_PACKAGE_CBP=y +CONFIG_OMAP_PACKAGE_CUS=y +CONFIG_OMAP_PM_NOOP=y +CONFIG_OMAP_RESET_CLOCKS=y +# CONFIG_OMAP_SMARTREFLEX is not set +CONFIG_OMAP_WATCHDOG=m +CONFIG_OMFS_FS=m +CONFIG_OPENVSWITCH=m +CONFIG_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_OPROFILE_NMI_TIMER=y +CONFIG_OPTIMIZE_INLINING=y +CONFIG_OPTPROBES=y +CONFIG_ORE=m +CONFIG_ORINOCO_USB=m +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_OVERLAYFS_FS=m +CONFIG_P54_COMMON=m +CONFIG_P54_LEDS=y +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +# CONFIG_P54_SPI_DEFAULT_EEPROM is not set +CONFIG_P54_USB=m +CONFIG_PACKET=y +CONFIG_PADATA=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PANASONIC_LAPTOP=m +CONFIG_PANEL=m +CONFIG_PANEL_ACX565AKM=m +# CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_PANEL_GENERIC_DPI=y +CONFIG_PANEL_LGPHILIPS_LB035Q02=m +CONFIG_PANEL_NEC_NL8048HL11_01B=m +CONFIG_PANEL_PARPORT=0 +CONFIG_PANEL_PICODLP=m +CONFIG_PANEL_PROFILE=5 +CONFIG_PANEL_SHARP_LS037V7DW01=y +CONFIG_PANEL_TFP410=y +CONFIG_PANEL_TPO_TD043MTEA1=y +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANTHERLORD_FF=y +CONFIG_PARAVIRT=y +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_PARAVIRT_GUEST=y +CONFIG_PARAVIRT_SPINLOCKS=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_PARIDE=m +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_BPCK6=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_EPAT=m +# CONFIG_PARIDE_EPATC8 is not set +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PG=m +CONFIG_PARIDE_PT=m +CONFIG_PARPORT=m +CONFIG_PARPORT_AX88796=m +# CONFIG_PARPORT_GSC is not set +CONFIG_PARPORT_NOT_PC=y +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_PC_SUPERIO is not set +CONFIG_PARPORT_SERIAL=m +CONFIG_PARTITION_ADVANCED=y +# CONFIG_PASEMI_MAC is not set +CONFIG_PATA_ACPI=y +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARASAN_CF=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5535=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_ISAPNP=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_LEGACY=m +CONFIG_PATA_MACIO=y +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OF_PLATFORM=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_PLATFORM=m +CONFIG_PATA_QDI=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PATA_WINBOND_VLB=m +CONFIG_PC300TOO=m +CONFIG_PC8736x_GPIO=m +CONFIG_PC87413_WDT=m +CONFIG_PCCARD_NONSTATIC=y +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_PCH_CAN=m +CONFIG_PCH_DMA=m +CONFIG_PCH_GBE=m +CONFIG_PCH_PHUB=m +CONFIG_PCI=y +CONFIG_PCI200SYN=m +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +# CONFIG_PCIEASPM_POWERSAVE is not set +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIE_PME=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_ATMEL=m +CONFIG_PCI_ATS=y +CONFIG_PCI_BIOS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_DIRECT=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_GOANY=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GODIRECT is not set +# CONFIG_PCI_GOMMCONFIG is not set +CONFIG_PCI_IOAPIC=y +CONFIG_PCI_IOV=y +CONFIG_PCI_LABEL=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI=y +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCI_REALLOC_ENABLE_AUTO=y +CONFIG_PCI_STUB=m +CONFIG_PCI_XEN=y +CONFIG_PCMCIA=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_PCMCIA_AXNET=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_NINJA_SCSI=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_PROBE=y +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_RAYCS=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_PCNET32=m +CONFIG_PCSPKR_PLATFORM=y +CONFIG_PCWATCHDOG=m +CONFIG_PD6729=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +CONFIG_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PHANTOM=m +CONFIG_PHONE=m +CONFIG_PHONET=m +CONFIG_PHONE_IXJ=m +CONFIG_PHONE_IXJ_PCMCIA=m +CONFIG_PHYLIB=y +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_PID_NS=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +# CONFIG_PLAT_SPEAR is not set +CONFIG_PLIP=m +CONFIG_PLX_HERMES=m +CONFIG_PM=y +CONFIG_PMAC_APM_EMU=m +CONFIG_PMAC_BACKLIGHT=y +CONFIG_PMAC_BACKLIGHT_LEGACY=y +CONFIG_PMAC_MEDIABAY=y +CONFIG_PMAC_RACKMETER=m +CONFIG_PMAC_SMU=y +# CONFIG_PMBUS is not set +CONFIG_PMIC_DA9052=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_CLK=y +CONFIG_PM_OPP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_TEST_SUSPEND=y +CONFIG_PM_TRACE=y +CONFIG_PM_TRACE_RTC=y +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PN544_HCI_NFC=m +CONFIG_PN544_NFC=m +CONFIG_PNP=y +CONFIG_PNPACPI=y +CONFIG_PNPBIOS=y +CONFIG_PNPBIOS_PROC_FS=y +CONFIG_PNP_DEBUG_MESSAGES=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER3=y +CONFIG_POWER4=y +# CONFIG_POWER4_CPU is not set +# CONFIG_POWER5_CPU is not set +# CONFIG_POWER6_CPU is not set +# CONFIG_POWER7_CPU is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PPC=y +CONFIG_PPC32=y +# CONFIG_PPC601_SYNC_FIX is not set +# CONFIG_PPC_82xx is not set +# CONFIG_PPC_83xx is not set +# CONFIG_PPC_85xx is not set +# CONFIG_PPC_86xx is not set +# CONFIG_PPC_8xx is not set +# CONFIG_PPC_BOOK3E_64 is not set +CONFIG_PPC_BOOK3S=y +CONFIG_PPC_BOOK3S_32=y +CONFIG_PPC_BOOK3S_64=y +# CONFIG_PPC_CELLEB is not set +# CONFIG_PPC_CELL_NATIVE is not set +# CONFIG_PPC_CELL_QPACE is not set +CONFIG_PPC_CHRP=y +# CONFIG_PPC_CLOCK is not set +# CONFIG_PPC_DCR_MMIO is not set +# CONFIG_PPC_DCR_NATIVE is not set +CONFIG_PPC_DISABLE_WERROR=y +# CONFIG_PPC_EARLY_DEBUG is not set +# CONFIG_PPC_EMULATED_STATS is not set +CONFIG_PPC_EPAPR_HV_BYTECHAN=m +# CONFIG_PPC_EPAPR_HV_PIC is not set +CONFIG_PPC_FPU=y +CONFIG_PPC_HAS_HASH_64K=y +CONFIG_PPC_HAVE_PMU_SUPPORT=y +CONFIG_PPC_I8259=y +# CONFIG_PPC_IBM_CELL_BLADE is not set +CONFIG_PPC_ICSWX=y +CONFIG_PPC_ICSWX_PID=y +# CONFIG_PPC_ICSWX_USE_SIGILL is not set +CONFIG_PPC_MAPLE=y +# CONFIG_PPC_MPC512x is not set +# CONFIG_PPC_MPC52xx is not set +CONFIG_PPC_MSI_BITMAP=y +CONFIG_PPC_NATIVE=y +CONFIG_PPC_OF=y +CONFIG_PPC_OF_BOOT_TRAMPOLINE=y +# CONFIG_PPC_OF_PLATFORM_PCI is not set +CONFIG_PPC_PASEMI=y +CONFIG_PPC_PASEMI_CPUFREQ=y +CONFIG_PPC_PASEMI_IOMMU=y +# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set +CONFIG_PPC_PASEMI_MDIO=y +CONFIG_PPC_PCI_CHOICE=y +CONFIG_PPC_PERF_CTRS=y +CONFIG_PPC_PMAC=y +CONFIG_PPC_PMAC32_PSURGE=y +CONFIG_PPC_PMAC64=y +CONFIG_PPC_POWERNV=y +CONFIG_PPC_POWERNV_RTAS=y +CONFIG_PPC_PS3=y +CONFIG_PPC_PSERIES=y +CONFIG_PPC_RTAS=y +CONFIG_PPC_RTAS_DAEMON=y +CONFIG_PPC_SMP_MUXED_IPI=y +CONFIG_PPC_STD_MMU=y +CONFIG_PPC_STD_MMU_32=y +CONFIG_PPC_STD_MMU_64=y +CONFIG_PPC_SUBPAGE_PROT=y +CONFIG_PPC_UDBG_16550=y +# CONFIG_PPC_WSP is not set +CONFIG_PPDEV=m +CONFIG_PPP=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_MPPE=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPS=m +CONFIG_PPS_CLIENT_GPIO=m +# CONFIG_PPS_CLIENT_KTIMER is not set +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +# CONFIG_PPS_DEBUG is not set +CONFIG_PPTP=m +# CONFIG_PQ2ADS is not set +# CONFIG_PREEMPT is not set +CONFIG_PREEMPT_NOTIFIERS=y +# CONFIG_PREEMPT_RCU is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_PRINTER=m +CONFIG_PRINTK=y +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRINT_STACK_DEPTH=64 +CONFIG_PRISM2_USB=m +# CONFIG_PRISM54 is not set +CONFIG_PROBE_EVENTS=y +CONFIG_PROCESSOR_SELECT=y +CONFIG_PROC_DEVICETREE=y +CONFIG_PROC_EVENTS=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_VMCORE=y +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +CONFIG_PROFILING=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_PS3GELIC_UDBG is not set +# CONFIG_PS3_ADVANCED is not set +CONFIG_PS3_DISK=m +# CONFIG_PS3_DYNAMIC_DMA is not set +CONFIG_PS3_FLASH=m +CONFIG_PS3_HTAB_SIZE=20 +CONFIG_PS3_LPM=m +CONFIG_PS3_PS3AV=y +# CONFIG_PS3_REPOSITORY_WRITE is not set +CONFIG_PS3_ROM=m +CONFIG_PS3_STORAGE=m +CONFIG_PS3_SYS_MANAGER=y +CONFIG_PS3_VRAM=m +CONFIG_PS3_VUART=y +CONFIG_PSERIES_IDLE=y +CONFIG_PSERIES_MSI=y +CONFIG_PSTORE_RAM=m +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_QNX4FS_FS=m +# CONFIG_QNX6FS_DEBUG is not set +CONFIG_QNX6FS_FS=m +CONFIG_QSEMI_PHY=y +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +CONFIG_QUOTACTL_COMPAT=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_R3964=m +CONFIG_R6040=m +CONFIG_R8169=m +CONFIG_R8187SE=m +CONFIG_R8712U=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_AZTECH=m +CONFIG_RADIO_CADET=m +CONFIG_RADIO_GEMTEK=m +CONFIG_RADIO_ISA=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_MIROPCM20=m +CONFIG_RADIO_RTRACK=m +CONFIG_RADIO_RTRACK2=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_SF16FMI=m +CONFIG_RADIO_SF16FMR2=m +CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_TERRATEC=m +CONFIG_RADIO_TIMBERDALE=m +CONFIG_RADIO_TRUST=m +CONFIG_RADIO_TYPHOON=m +CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m +CONFIG_RADIO_ZOLTRIX=m +CONFIG_RAID6_PQ=m +CONFIG_RAID_ATTRS=m +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_CPS_GEN2=y +CONFIG_RAPIDIO_CPS_XX=y +# CONFIG_RAPIDIO_DEBUG is not set +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +CONFIG_RAPIDIO_DMA_ENGINE=y +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_TSI500=y +CONFIG_RAPIDIO_TSI568=y +CONFIG_RAPIDIO_TSI57X=y +CONFIG_RAPIDIO_TSI721=y +CONFIG_RAW_DRIVER=m +# CONFIG_RCU_CPU_STALL_INFO is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_FANOUT_EXACT is not set +CONFIG_RCU_FANOUT_LEAF=16 +CONFIG_RCU_FAST_NO_HZ=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RC_ATI_REMOTE=m +CONFIG_RC_CORE=m +CONFIG_RC_LOOPBACK=m +CONFIG_RC_MAP=m +CONFIG_RDS=m +# CONFIG_RDS_DEBUG is not set +CONFIG_RDS_RDMA=m +CONFIG_RDS_TCP=m +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_RD_XZ=y +# CONFIG_READABLE_ASM is not set +CONFIG_REALTEK_AUTOPM=y +CONFIG_REALTEK_PHY=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_SPI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_88PM8607=y +CONFIG_REGULATOR_AAT2870=m +CONFIG_REGULATOR_AB3100=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +# CONFIG_REGULATOR_DUMMY is not set +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8925=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_MAX8997=m +CONFIG_REGULATOR_MAX8998=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_PALMAS=m +# CONFIG_REGULATOR_PCAP is not set +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_S5M8767=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65090=m +CONFIG_REGULATOR_TPS65217=m +CONFIG_REGULATOR_TPS6524X=m +CONFIG_REGULATOR_TPS6586X=m +CONFIG_REGULATOR_TPS65910=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_TWL4030=y +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8350=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_WM8994=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_REISERFS_FS_XATTR=y +# CONFIG_REISERFS_PROC_INFO is not set +CONFIG_RELAY=y +CONFIG_RELOCATABLE=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_RFD_FTL=m +CONFIG_RFKILL=y +CONFIG_RFKILL_GPIO=m +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_RFS_ACCEL=y +CONFIG_RING_BUFFER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +CONFIG_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +CONFIG_ROCKETPORT=m +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +# CONFIG_ROMFS_BACKED_BY_MTD is not set +CONFIG_ROMFS_FS=m +CONFIG_ROMFS_ON_BLOCK=y +CONFIG_ROSE=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_RPS=y +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT2500USB=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00=m +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT61PCI=m +CONFIG_RT73USB=m +CONFIG_RTAS_ERROR_LOGGING=y +CONFIG_RTAS_PROC=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_DRV_88PM860X=m +CONFIG_RTC_DRV_AB3100=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_DA9052=m +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS1742=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_GENERIC=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_MAX8925=m +CONFIG_RTC_DRV_MAX8998=m +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_PCAP=m +CONFIG_RTC_DRV_PCF2123=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PS3=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_STK17TA8=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_VRTC=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_WM8350=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL8192CE=m +CONFIG_RTL8192CU=m +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192E=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192U=m +CONFIG_RTLLIB=m +CONFIG_RTLLIB_CRYPTO_CCMP=m +CONFIG_RTLLIB_CRYPTO_TKIP=m +CONFIG_RTLLIB_CRYPTO_WEP=m +CONFIG_RTLWIFI=m +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set +CONFIG_RTS_PSTOR=m +# CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RT_GROUP_SCHED=y +CONFIG_RT_MUTEXES=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_RXKAD=m +CONFIG_S2IO=m +# CONFIG_SAMPLES is not set +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_SAMSUNG_Q10=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_HIGHBANK=y +CONFIG_SATA_INIC162X=m +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PMP=y +CONFIG_SATA_PROMISE=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIL24=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SX4=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SBC7240_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_SBE_2T3E3=m +CONFIG_SBE_PMCC4_NCOMM=y +CONFIG_SBNI=m +# CONFIG_SBNI_MULTILINE is not set +# CONFIG_SBP_TARGET is not set +CONFIG_SC1200_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCANLOG=m +CONFIG_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_SCHED_TRACER=y +CONFIG_SCSI=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_7000FASST=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AHA152X=m +CONFIG_SCSI_AHA1542=m +CONFIG_SCSI_AHA1740=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_DH=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_DTC3280=m +CONFIG_SCSI_EATA=m +CONFIG_SCSI_EATA_LINKED_COMMANDS=y +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_EATA_TAGGED_QUEUE=y +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_FC_TGT_ATTRS=y +# CONFIG_SCSI_FLASHPOINT is not set +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_GENERIC_NCR5380=m +CONFIG_SCSI_GENERIC_NCR5380_MMIO=m +CONFIG_SCSI_GENERIC_NCR53C400=y +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_IBMVFC=m +CONFIG_SCSI_IBMVFC_TRACE=y +CONFIG_SCSI_IBMVSCSI=m +CONFIG_SCSI_IBMVSCSIS=m +CONFIG_SCSI_IMM=m +CONFIG_SCSI_IN2000=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_DUMP is not set +# CONFIG_SCSI_IPR_TRACE is not set +CONFIG_SCSI_IPS=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_ISCSI_ATTRS=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_LOWLEVEL=y +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_MAC53C94=m +CONFIG_SCSI_MESH=m +CONFIG_SCSI_MESH_RESET_DELAY_MS=4000 +CONFIG_SCSI_MESH_SYNC_RATE=5 +CONFIG_SCSI_MOD=y +CONFIG_SCSI_MPT2SAS=m +# CONFIG_SCSI_MPT2SAS_LOGGING is not set +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +CONFIG_SCSI_MULTI_LUN=y +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVSAS_DEBUG=y +# CONFIG_SCSI_MVSAS_TASKLET is not set +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_NCR53C406A=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_NSP32=m +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_SCSI_OSD_DPRINT_SENSE=1 +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_PAS16=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_PROC_FS=y +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLOGIC_FAS=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SIM710=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C416=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_T128=m +CONFIG_SCSI_TGT=m +CONFIG_SCSI_U14_34F=m +CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y +CONFIG_SCSI_U14_34F_MAX_TAGS=8 +CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_ULTRASTOR=m +CONFIG_SCSI_VIRTIO=m +CONFIG_SCSI_WAIT_SCAN=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +CONFIG_SCTP_HMAC_MD5=y +# CONFIG_SCTP_HMAC_NONE is not set +# CONFIG_SCTP_HMAC_SHA1 is not set +CONFIG_SCx200=m +CONFIG_SCx200HR_TIMER=m +CONFIG_SCx200_ACB=m +CONFIG_SCx200_GPIO=m +# CONFIG_SCx200_I2C is not set +CONFIG_SCx200_WDT=m +CONFIG_SDIO_UART=m +CONFIG_SDLA=m +CONFIG_SEALEVEL_4021=m +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_SELINUX_DEVELOP=y +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_YAMA=y +CONFIG_SEEQ8005=m +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_AK8975=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_AMS=m +CONFIG_SENSORS_AMS_I2C=y +CONFIG_SENSORS_AMS_PMU=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_BH1780=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_HDAPS=m +CONFIG_SENSORS_HMC5843=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_LIS3_SPI=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_MC13783_ADC=m +CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_TSL2563=m +CONFIG_SENSORS_TWL4030_MADC=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_WM8350=m +CONFIG_SERIAL_8250_ACCENT=m +CONFIG_SERIAL_8250_BOCA=m +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_CS=m +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_DW=m +# CONFIG_SERIAL_8250_EM is not set +CONFIG_SERIAL_8250_EXAR_ST16C554=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FOURPORT=m +CONFIG_SERIAL_8250_HUB6=m +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_RUNTIME_UARTS=32 +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_AMBA_PL010=m +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_ICOM=m +# CONFIG_SERIAL_IFX6X60 is not set +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX3107=m +CONFIG_SERIAL_MFD_HSU=m +CONFIG_SERIAL_MRST_MAX3110=m +CONFIG_SERIAL_OF_PLATFORM=m +CONFIG_SERIAL_OMAP=y +CONFIG_SERIAL_OMAP_CONSOLE=y +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_PMACZILOG=y +CONFIG_SERIAL_PMACZILOG_CONSOLE=y +# CONFIG_SERIAL_PMACZILOG_TTYS is not set +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_SERIO=y +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_AMBAKMI=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_I8042=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_XILINX_XPS_PS2=m +CONFIG_SFC=m +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_MTD=y +CONFIG_SFC_SRIOV=y +CONFIG_SFI=y +CONFIG_SGI_IOC4=m +CONFIG_SHMEM=y +CONFIG_SIGMATEL_FIR=m +CONFIG_SIGNALFD=y +CONFIG_SIGNATURE=y +CONFIG_SIMPLE_GPIO=y +CONFIG_SIS190=m +CONFIG_SIS900=m +CONFIG_SKFP=m +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +# CONFIG_SLAB is not set +CONFIG_SLABINFO=y +CONFIG_SLHC=y +CONFIG_SLICOSS=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLUB=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMC911X=m +CONFIG_SMC9194=m +CONFIG_SMC91X=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_SMSC37B787_WDT=m +CONFIG_SMSC911X=m +# CONFIG_SMSC911X_ARCH_HOOKS is not set +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=y +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMS_SDIO_DRV=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_USB_DRV=m +CONFIG_SM_FTL=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_AD1816A=m +CONFIG_SND_AD1848=m +CONFIG_SND_AD1889=m +CONFIG_SND_ADLIB=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ALOOP=m +CONFIG_SND_ALS100=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_AOA=m +CONFIG_SND_AOA_FABRIC_LAYOUT=m +CONFIG_SND_AOA_ONYX=m +CONFIG_SND_AOA_SOUNDBUS=m +CONFIG_SND_AOA_SOUNDBUS_I2S=m +CONFIG_SND_AOA_TAS=m +CONFIG_SND_AOA_TOONIE=m +CONFIG_SND_ARM=y +CONFIG_SND_ARMAACI=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT1605=m +CONFIG_SND_AZT2316=m +CONFIG_SND_AZT2320=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +CONFIG_SND_CA0106=m +CONFIG_SND_CMI8330=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_CS4231=m +CONFIG_SND_CS4236=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_DARLA24=m +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_DRIVERS=y +CONFIG_SND_DUMMY=m +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ECHO3G=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1688=m +CONFIG_SND_ES18XX=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_GINA20=m +CONFIG_SND_GINA24=m +CONFIG_SND_GUSCLASSIC=m +CONFIG_SND_GUSEXTREME=m +CONFIG_SND_GUSMAX=m +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=0 +CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HRTIMER=m +CONFIG_SND_HWDEP=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_INTERWAVE=m +CONFIG_SND_INTERWAVE_STB=m +CONFIG_SND_ISA=y +CONFIG_SND_ISIGHT=m +CONFIG_SND_JACK=y +CONFIG_SND_JAZZ16=m +CONFIG_SND_KCTL_JACK=y +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MFLD_MACHINE=m +CONFIG_SND_MIA=m +CONFIG_SND_MIRO=m +CONFIG_SND_MIXART=m +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_MONA=m +CONFIG_SND_MPU401=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_MSND_CLASSIC=m +CONFIG_SND_MSND_PINNACLE=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_NM256=m +CONFIG_SND_OMAP_SOC=y +CONFIG_SND_OMAP_SOC_IGEP0020=m +CONFIG_SND_OMAP_SOC_MCBSP=y +CONFIG_SND_OMAP_SOC_OMAP3EVM=m +CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y +CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m +CONFIG_SND_OMAP_SOC_OVERO=m +CONFIG_SND_OMAP_SOC_SDP3430=m +CONFIG_SND_OMAP_SOC_ZOOM2=m +CONFIG_SND_OPL3SA2=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL4_LIB=m +CONFIG_SND_OPTI92X_AD1848=m +CONFIG_SND_OPTI92X_CS4231=m +CONFIG_SND_OPTI93X=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_OXYGEN=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_PCI=y +CONFIG_SND_PCMCIA=y +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCSP=m +CONFIG_SND_PCXHR=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_POWERMAC=m +CONFIG_SND_POWERMAC_AUTO_DRC=y +CONFIG_SND_PPC=y +CONFIG_SND_PS3=m +CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 +CONFIG_SND_RAWMIDI=m +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SB16=m +CONFIG_SND_SB16_CSP=y +CONFIG_SND_SB16_DSP=m +CONFIG_SND_SB8=m +CONFIG_SND_SB8_DSP=m +CONFIG_SND_SBAWE=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SC6000=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQUENCER_OSS is not set +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_SIMPLE_CARD=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SOC_88PM860X=m +CONFIG_SND_SOC_AD1836=m +CONFIG_SND_SOC_AD193X=m +CONFIG_SND_SOC_AD73311=m +CONFIG_SND_SOC_ADAU1373=m +CONFIG_SND_SOC_ADAV80X=m +CONFIG_SND_SOC_ADS117X=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4535=m +CONFIG_SND_SOC_AK4641=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_AK4671=m +CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_ALC5632=m +CONFIG_SND_SOC_ALL_CODECS=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_CS4271=m +CONFIG_SND_SOC_CS42L51=m +CONFIG_SND_SOC_CS42L52=m +CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CX20442=m +CONFIG_SND_SOC_DA7210=m +CONFIG_SND_SOC_DFBMCS320=m +CONFIG_SND_SOC_JZ4740_CODEC=m +CONFIG_SND_SOC_L3=m +CONFIG_SND_SOC_LM4857=m +CONFIG_SND_SOC_LM49453=m +CONFIG_SND_SOC_MAX9768=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98095=m +CONFIG_SND_SOC_MAX9850=m +CONFIG_SND_SOC_MAX9877=m +CONFIG_SND_SOC_MC13783=m +CONFIG_SND_SOC_ML26124=m +CONFIG_SND_SOC_PCM3008=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_SOC_SN95031=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_STA32X=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC26=m +CONFIG_SND_SOC_TLV320AIC32X4=m +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320DAC33=m +CONFIG_SND_SOC_TPA6130A2=m +CONFIG_SND_SOC_TWL6040=m +CONFIG_SND_SOC_UDA134X=m +CONFIG_SND_SOC_UDA1380=m +CONFIG_SND_SOC_WL1273=m +CONFIG_SND_SOC_WM1250_EV1=m +CONFIG_SND_SOC_WM2000=m +CONFIG_SND_SOC_WM2200=m +CONFIG_SND_SOC_WM5100=m +CONFIG_SND_SOC_WM8350=m +CONFIG_SND_SOC_WM8400=m +CONFIG_SND_SOC_WM8510=m +CONFIG_SND_SOC_WM8523=m +CONFIG_SND_SOC_WM8580=m +CONFIG_SND_SOC_WM8711=m +CONFIG_SND_SOC_WM8727=m +CONFIG_SND_SOC_WM8728=m +CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8737=m +CONFIG_SND_SOC_WM8741=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_SOC_WM8770=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8782=m +CONFIG_SND_SOC_WM8804=m +CONFIG_SND_SOC_WM8900=m +CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8955=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8961=m +CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8971=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8978=m +CONFIG_SND_SOC_WM8983=m +CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_WM8988=m +CONFIG_SND_SOC_WM8990=m +CONFIG_SND_SOC_WM8991=m +CONFIG_SND_SOC_WM8993=m +CONFIG_SND_SOC_WM8994=m +CONFIG_SND_SOC_WM8995=m +CONFIG_SND_SOC_WM8996=m +CONFIG_SND_SOC_WM9081=m +CONFIG_SND_SOC_WM9090=m +CONFIG_SND_SOC_WM_HUBS=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_SPI=y +CONFIG_SND_SSCAPE=m +CONFIG_SND_SST_PLATFORM=m +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TEA575X=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_USB=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_USX2Y=m +# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_VERBOSE_PROCFS=y +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VXPOCKET=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_WAVEFRONT=m +CONFIG_SND_WSS_LIB=m +CONFIG_SND_YMFPCI=m +CONFIG_SOC_AM33XX=y +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_IMX074=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m +CONFIG_SOC_CAMERA_OV6650=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m +CONFIG_SOC_CAMERA_OV9740=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_RJ54N1=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOC_OMAP3430=y +CONFIG_SOC_TI81XX=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOLO6X10=m +CONFIG_SONYPI=m +CONFIG_SONYPI_COMPAT=y +CONFIG_SONY_LAPTOP=m +CONFIG_SOUND_OSS_CORE=y +CONFIG_SOUND_OSS_CORE_PRECLAIM=y +# CONFIG_SOUND_PRIME is not set +CONFIG_SP5100_TCO=m +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +# CONFIG_SPARSE_RCU_POINTER is not set +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECPC=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPI=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_DESIGNWARE=m +CONFIG_SPI_DW_MID_DMA=y +# CONFIG_SPI_DW_MMIO is not set +CONFIG_SPI_DW_PCI=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_OMAP24XX=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_TOPCLIFF_PCH=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPU_BASE=y +CONFIG_SPU_FS=m +CONFIG_SPU_FS_64K_LS=y +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SR_REPORT_TIME_LIMIT=100 +CONFIG_SSB=m +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_BLOCKIO=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +# CONFIG_SSB_SILENT is not set +CONFIG_SSB_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STAGING=y +CONFIG_STALDRV=y +CONFIG_STE10XP=y +# CONFIG_STMMAC_CHAINED is not set +# CONFIG_STMMAC_DA is not set +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_PCI is not set +CONFIG_STMMAC_PLATFORM=y +CONFIG_STMMAC_RING=y +CONFIG_STMPE_I2C=y +CONFIG_STMPE_SPI=y +CONFIG_STOP_MACHINE=y +CONFIG_STP=m +CONFIG_STRICT_DEVMEM=y +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_STUB_POULSBO is not set +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNGEM=m +CONFIG_SUNGEM_PHY=m +CONFIG_SUNRPC=m +# CONFIG_SUNRPC_DEBUG is not set +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SWAP=y +CONFIG_SWIOTLB=y +CONFIG_SWIOTLB_XEN=y +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +CONFIG_SYNCLINK_CS=m +CONFIG_SYNCLINK_GT=m +CONFIG_SYN_COOKIES=y +CONFIG_SYSCTL=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_TARGET_CORE=m +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_TASK_SIZE=0xc0000000 +CONFIG_TASK_XACCT=y +CONFIG_TAU=y +# CONFIG_TAU_AVERAGE is not set +# CONFIG_TAU_INT is not set +CONFIG_TC1100_WMI=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TCG_NSC=m +CONFIG_TCG_TIS=m +CONFIG_TCIC=m +CONFIG_TCM_FC=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_PSCSI=m +CONFIG_TCM_QLA2XXX=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TEHUTI=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TELCLOCK=m +# CONFIG_TEST_LIST_SORT is not set +CONFIG_TEST_POWER=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_TEXTSEARCH_KMP=m +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERM_ADT746X=y +CONFIG_THERM_PM72=m +CONFIG_THERM_WINDTUNNEL=m +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUG is not set +CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THRUSTMASTER_FF=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TICK_ONESHOT=y +CONFIG_TIDSPBRIDGE=m +# CONFIG_TIDSPBRIDGE_BACKTRACE is not set +# CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set +CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000 +# CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set +CONFIG_TIDSPBRIDGE_RECOVERY=y +CONFIG_TIFM_7XX1=m +CONFIG_TIFM_CORE=m +CONFIG_TIGON3=m +CONFIG_TIMB_DMA=m +CONFIG_TIMERFD=y +CONFIG_TIMER_STATS=y +CONFIG_TINY_RCU=y +CONFIG_TIPC=m +# CONFIG_TIPC_ADVANCED is not set +# CONFIG_TIPC_DEBUG is not set +# CONFIG_TI_CPSW is not set +CONFIG_TI_DAC7512=m +CONFIG_TI_DAVINCI_CPDMA=m +# CONFIG_TI_DAVINCI_EMAC is not set +CONFIG_TI_DAVINCI_MDIO=m +CONFIG_TI_EMIF=m +CONFIG_TI_ST=m +CONFIG_TLAN=m +CONFIG_TMD_HERMES=m +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_TOIM3232_DONGLE=m +CONFIG_TOPSTAR_LAPTOP=m +# CONFIG_TOSHIBA is not set +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_TOSHIBA_FIR=m +CONFIG_TOUCHSCREEN_88PM860X=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_AUO_PIXCIR=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_CYTTSP_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP_SPI=m +CONFIG_TOUCHSCREEN_DA9034=m +CONFIG_TOUCHSCREEN_DA9052=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_HTCPEN=m +CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_INTEL_MID=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m +CONFIG_TOUCHSCREEN_TI_TSCADC=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_ELO=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_W90X900=m +CONFIG_TOUCHSCREEN_WACOM_I2C=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TRACEPOINTS=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TRANZPORT=m +CONFIG_TREE_RCU=y +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_TRUSTED_KEYS=y +CONFIG_TSL2583=m +CONFIG_TSL2x7x=m +CONFIG_TTPCI_EEPROM=m +CONFIG_TTY_PRINTK=y +CONFIG_TULIP=m +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_TUN=y +# CONFIG_TUNE_CELL is not set +CONFIG_TWL4030_MADC=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_TWL6030_PWM=m +CONFIG_TWL6030_USB=m +CONFIG_TYPHOON=m +CONFIG_U3_DART=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UCB1400_CORE=m +CONFIG_UDBG_RTAS_CONSOLE=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y +CONFIG_UEVENT_HELPER_PATH="" +# CONFIG_UFS_DEBUG is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +CONFIG_UID16=y +CONFIG_UIO=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULI526X=m +CONFIG_ULTRA=m +CONFIG_ULTRA32=m +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX_DIAG=m +CONFIG_UPROBES=y +CONFIG_UPROBE_EVENT=y +CONFIG_USB=y +CONFIG_USBIP_CORE=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBPCWATCHDOG=m +CONFIG_USB_ACM=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_AN2720=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_ATM=m +CONFIG_USB_AUDIO=m +CONFIG_USB_BELKIN=y +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CATC=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_CHIPIDEA=m +# CONFIG_USB_CHIPIDEA_DEBUG is not set +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_CXACRU=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +# CONFIG_USB_DEBUG is not set +CONFIG_USB_DSBR=m +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_OMAP=y +CONFIG_USB_EHCI_HCD_PPC_OF=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EMI26=m +CONFIG_USB_EMI62=m +CONFIG_USB_ENESTORAGE=m +CONFIG_USB_EPSON2888=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_EEM=y +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_EZUSB=y +# CONFIG_USB_FILE_STORAGE is not set +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUSB300=m +CONFIG_USB_GADGETFS=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_MUSB_HDRC=m +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_GADGET_SUPERSPEED=y +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GL860=m +CONFIG_USB_GOKU=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GSPCA=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_HID=m +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_MULTI_RNDIS=y +CONFIG_USB_G_NCM=m +CONFIG_USB_G_NOKIA=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_HSO=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_INVENTRA_DMA=y +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_IPHETH=m +CONFIG_USB_IRDA=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1301=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_KAWETH=m +CONFIG_USB_KBD=m +CONFIG_USB_KC2190=y +CONFIG_USB_KEENE=m +CONFIG_USB_LCD=m +CONFIG_USB_LD=m +CONFIG_USB_LED=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LIBUSUAL=y +CONFIG_USB_M5602=m +# CONFIG_USB_M66592 is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MON=m +CONFIG_USB_MOUSE=m +CONFIG_USB_MR800=m +# CONFIG_USB_MUSB_AM35X is not set +CONFIG_USB_MUSB_OMAP2PLUS=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_OMAP3=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PPC_OF=y +CONFIG_USB_OHCI_HCD_PPC_OF_BE=y +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OMAP is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_OTG_UTILS=y +# CONFIG_USB_OTG_WHITELIST is not set +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_PRINTER=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_RENESAS_USBHS_UDC=m +CONFIG_USB_RIO500=m +CONFIG_USB_RTL8150=m +CONFIG_USB_S2255=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIEMENS_MPI=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_SI470X=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SL811_HCD_ISO=y +# CONFIG_USB_SN9C102 is not set +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_DATAFAB=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STV06XX=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_SUSPEND=y +CONFIG_USB_SWITCH_FSA9480=m +CONFIG_USB_TEST=m +CONFIG_USB_TMC=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_UAS=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_ULPI=y +CONFIG_USB_USBNET=m +CONFIG_USB_USS720=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_VL600=m +CONFIG_USB_WDM=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_WPAN_HCD=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_YUREX=m +CONFIG_USB_ZD1201=m +CONFIG_USB_ZERO=m +# CONFIG_USB_ZERO_HNPTEST is not set +CONFIG_USB_ZR364XX=m +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_USE_OF=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y +CONFIG_UTS_NS=y +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_I1480U=m +CONFIG_UWB_WHCI=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_V4L_ISA_PARPORT_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_V4L_PCI_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_RADIO_ISA_DRIVERS=y +CONFIG_V4L_USB_DRIVERS=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_CONSOLE=y +CONFIG_VGA_SWITCHEROO=y +CONFIG_VHOST_NET=m +CONFIG_VIA_FIR=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_VIA_VELOCITY=m +CONFIG_VIA_WDT=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7183=m +CONFIG_VIDEO_ADV7343=m +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_AK881X=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_CX23885=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_CX25840=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_DM6446_CCDC=m +CONFIG_VIDEO_DT3155=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=m +CONFIG_VIDEO_FB_IVTV=m +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_MEDIA=m +CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_OMAP2_VOUT=m +CONFIG_VIDEO_OMAP2_VOUT_VRFB=y +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_PMS=m +CONFIG_VIDEO_PVRUSB2=m +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_PVRUSB2_DVB=y +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_SAA6588=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_SH_MOBILE_CEU=m +CONFIG_VIDEO_SH_MOBILE_CSI2=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_VIA_CAMERA=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VP27SMPX=m +CONFIG_VIDEO_VPFE_CAPTURE=m +CONFIG_VIDEO_VPSS_SYSTEM=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_VS6624=m +CONFIG_VIDEO_W9966=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTUALIZATION=y +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_TO_BUS=y +CONFIG_VITESSE_PHY=y +CONFIG_VLAN_8021Q=m +CONFIG_VLSI_FIR=m +CONFIG_VM86=y +CONFIG_VME_BUS=m +CONFIG_VME_CA91CX42=m +CONFIG_VME_PIO2=m +CONFIG_VME_TSI148=m +CONFIG_VME_USER=m +CONFIG_VMIVME_7805=m +# CONFIG_VMSPLIT_1G is not set +# CONFIG_VMSPLIT_2G is not set +CONFIG_VMSPLIT_3G=y +CONFIG_VMWARE_BALLOON=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_VMXNET3=m +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VORTEX=m +CONFIG_VSX=y +CONFIG_VT=y +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_W1=m +CONFIG_W1_CON=y +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_GPIO=m +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_SLAVE_BQ27000=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_THERM=m +CONFIG_W35UND=m +CONFIG_W83627HF_WDT=m +CONFIG_W83697HF_WDT=m +CONFIG_W83697UG_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_WAFER_WDT=m +CONFIG_WANXL=m +CONFIG_WAN_ROUTER_DRIVERS=m +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_RTAS=m +CONFIG_WD80x3=m +CONFIG_WDT=m +CONFIG_WDTPCI=m +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PRIV=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_GDM72XX=m +CONFIG_WIMAX_GDM72XX_K_MODE=y +CONFIG_WIMAX_GDM72XX_QOS=y +# CONFIG_WIMAX_GDM72XX_SDIO is not set +CONFIG_WIMAX_GDM72XX_USB=y +CONFIG_WIMAX_GDM72XX_USB_PM=y +CONFIG_WIMAX_GDM72XX_WIMAX2=y +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_IWMC3200_SDIO=y +CONFIG_WINBOND_840=m +CONFIG_WINBOND_FIR=m +CONFIG_WINDFARM=m +CONFIG_WINDFARM_PM112=m +CONFIG_WINDFARM_PM121=m +CONFIG_WINDFARM_PM72=m +CONFIG_WINDFARM_PM81=m +CONFIG_WINDFARM_PM91=m +CONFIG_WINDFARM_RM31=m +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_WIZNET_BUS_ANY=y +# CONFIG_WIZNET_BUS_DIRECT is not set +# CONFIG_WIZNET_BUS_INDIRECT is not set +CONFIG_WIZNET_W5100=m +CONFIG_WIZNET_W5300=m +CONFIG_WL1251=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1251_SPI=m +CONFIG_WL12XX=m +CONFIG_WL12XX_PLATFORM_DATA=y +CONFIG_WLAGS49_H2=m +CONFIG_WLAGS49_H25=m +CONFIG_WLAN=y +CONFIG_WLCORE=m +CONFIG_WLCORE_SDIO=m +CONFIG_WLCORE_SPI=m +CONFIG_WL_TI=y +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_WM8350_POWER=m +CONFIG_X25=m +CONFIG_X25_ASY=m +CONFIG_X86=y +CONFIG_X86_32_IRIS=m +# CONFIG_X86_32_NON_STANDARD is not set +CONFIG_X86_32_SMP=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_X86_64_SMP=y +CONFIG_X86_ACPI_CPUFREQ=y +# CONFIG_X86_ANCIENT_MCE is not set +CONFIG_X86_APM_BOOT=y +# CONFIG_X86_BIGSMP is not set +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_BSWAP=y +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_CMOV=y +CONFIG_X86_CMPXCHG=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CPUFREQ_NFORCE2=m +CONFIG_X86_CPUID=m +CONFIG_X86_DEBUGCTLMSR=y +# CONFIG_X86_DECODER_SELFTEST is not set +CONFIG_X86_DEV_DMA_OPS=y +CONFIG_X86_EXTENDED_PLATFORM=y +# CONFIG_X86_E_POWERSAVER is not set +CONFIG_X86_GENERIC=y +CONFIG_X86_GX_SUSPMOD=m +CONFIG_X86_HT=y +CONFIG_X86_INTEL_MID=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_INVLPG=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_LONGHAUL=m +CONFIG_X86_LONGRUN=m +CONFIG_X86_MCE=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_INJECT=m +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_THRESHOLD=y +CONFIG_X86_MCE_XEON75XX=m +CONFIG_X86_MDFLD=y +CONFIG_X86_MPPARSE=y +CONFIG_X86_MSR=m +CONFIG_X86_NEED_RELOCS=y +CONFIG_X86_NUMACHIP=y +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_PAE=y +CONFIG_X86_PAT=y +CONFIG_X86_PCC_CPUFREQ=y +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_X86_PM_TIMER=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_POWERNOW_K6=m +CONFIG_X86_POWERNOW_K7=m +CONFIG_X86_POWERNOW_K7_ACPI=y +CONFIG_X86_POWERNOW_K8=y +CONFIG_X86_PPRO_FENCE=y +# CONFIG_X86_PTDUMP is not set +# CONFIG_X86_RDC321X is not set +CONFIG_X86_REBOOTFIXUPS=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_RESERVE_LOW=64 +CONFIG_X86_SPEEDSTEP_CENTRINO=y +CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y +CONFIG_X86_SPEEDSTEP_ICH=y +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y +CONFIG_X86_SPEEDSTEP_SMI=y +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_X86_TSC=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +# CONFIG_X86_UV is not set +# CONFIG_X86_VERBOSE_BOOTUP is not set +# CONFIG_X86_VSMP is not set +CONFIG_X86_WANT_INTEL_MID=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_X2APIC=y +# CONFIG_X86_X32 is not set +CONFIG_X86_XADD=y +CONFIG_XEN=y +CONFIG_XENFS=m +CONFIG_XEN_ACPI_PROCESSOR=y +CONFIG_XEN_BACKEND=y +CONFIG_XEN_BALLOON=y +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_XEN_BLKDEV_FRONTEND=y +CONFIG_XEN_COMPAT_XENFS=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y +CONFIG_XEN_FBDEV_FRONTEND=m +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_XEN_NETDEV_FRONTEND=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PRIVCMD=m +CONFIG_XEN_PRIVILEGED_GUEST=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_SAVE_RESTORE=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_SELFBALLOONING=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_TMEM=y +CONFIG_XEN_WDT=m +CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_IPCOMP=m +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_XFRM_SUB_POLICY is not set +CONFIG_XFRM_USER=m +# CONFIG_XFS_DEBUG is not set +CONFIG_XFS_FS=m +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_QUOTA=y +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +# CONFIG_XIP_KERNEL is not set +# CONFIG_XMON is not set +CONFIG_XO15_EBOOK=m +CONFIG_XOR_BLOCKS=m +CONFIG_XPS=y +CONFIG_XPS_USB_HCD_XILINX=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YAM=m +CONFIG_YELLOWFIN=m +CONFIG_YENTA=m +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZCACHE=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZISOFS=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZNET=m +CONFIG_ZONE_DMA=y +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZSMALLOC=y --- linux-lowlatency-3.5.0.orig/debian.master/config/enforce +++ linux-lowlatency-3.5.0/debian.master/config/enforce @@ -0,0 +1,128 @@ +# +# SECURITY items +# +# Ensure this option is enabled. +value CONFIG_COMPAT_BRK n +value CONFIG_DEVKMEM n +value CONFIG_LSM_MMAP_MIN_ADDR 0 +value CONFIG_SECURITY y +!exists CONFIG_SECURITY_FILE_CAPABILITIES | value CONFIG_SECURITY_FILE_CAPABILITIES y +value CONFIG_SECURITY_SELINUX y +value CONFIG_SECURITY_SMACK y +value CONFIG_SECURITY_YAMA y +value CONFIG_SYN_COOKIES y +value CONFIG_DEFAULT_SECURITY_APPARMOR y +# For architectures which support this option ensure it is enabled. +!exists CONFIG_XEN_ACPI_PROCESSOR | value CONFIG_XEN_ACPI_PROCESSOR y +!exists CONFIG_SECCOMP | value CONFIG_SECCOMP y +!exists CONFIG_HAVE_ARCH_SECCOMP_FILTER | value CONFIG_SECCOMP_FILTER y +!exists CONFIG_CC_STACKPROTECTOR | value CONFIG_CC_STACKPROTECTOR y +!exists CONFIG_DEBUG_RODATA | value CONFIG_DEBUG_RODATA y +!exists CONFIG_DEBUG_SET_MODULE_RONX | value CONFIG_DEBUG_SET_MODULE_RONX y +!exists CONFIG_STRICT_DEVMEM | value CONFIG_STRICT_DEVMEM y +# For architectures which support this option ensure it is disabled. +!exists CONFIG_COMPAT_VDSO | value CONFIG_COMPAT_VDSO n +!exists CONFIG_ACPI_CUSTOM_METHOD | value CONFIG_ACPI_CUSTOM_METHOD n +# Default to 32768 on ARM, 65536 for everything else. +(arch armel armhf &/ value CONFIG_DEFAULT_MMAP_MIN_ADDR 32768) | \ + value CONFIG_DEFAULT_MMAP_MIN_ADDR 65536 + +# upstart requires DEVTMPFS be enabled and mounted by default. +value CONFIG_DEVTMPFS y +value CONFIG_DEVTMPFS_MOUNT y + +# some /dev nodes require POSIX ACLs, like /dev/dsp +value CONFIG_TMPFS_POSIX_ACL y + +# Ramdisk size should be a minimum of 64M +value CONFIG_BLK_DEV_RAM_SIZE 65536 + +# LVM requires dm_mod built in to activate correctly (LP: #560717) +value CONFIG_BLK_DEV_DM y + +# sysfs: ensure all DEPRECATED items are off +!exists CONFIG_SYSFS_DEPRECATED_V2 | value CONFIG_SYSFS_DEPRECATED_V2 n +!exists CONFIG_SYSFS_DEPRECATED | value CONFIG_SYSFS_DEPRECATED n + +# automatically add local version will cause packaging failure +value CONFIG_LOCALVERSION_AUTO n + +# provide framebuffer console form the start +# UbuntuSpec:foundations-m-grub2-boot-framebuffer +value CONFIG_FRAMEBUFFER_CONSOLE y + +# GRUB changes will rely on built in vesafb on x86, +# UbuntuSpec:foundations-m-grub2-boot-framebuffer +#(( arch i386 | arch amd64 ) & value CONFIG_FB_VESA y) | \ +# value CONFIG_FB_VESA m | !exists CONFIG_FB_VESA +value CONFIG_FB_VESA m | !exists CONFIG_FB_VESA + +# Build in uinput module so that it's always available (LP: 584812) +value CONFIG_INPUT_UINPUT y + +# upstart relies on getting all of the kernel arguments +value CONFIG_INIT_PASS_ALL_PARAMS y + +# Enabling CONFIG_IMA is vastly expensive, ensure it is off +value CONFIG_IMA n + +# Ensure CONFIG_IPV6 is y, if this is a module we get a module load for +# every ipv6 packet, bad. +value CONFIG_IPV6 y + +# Ensure ECRYPT_FS is y as it cannot be autoloaded and it has complex +# dependancies which can pull it =m at a whim. +value CONFIG_ECRYPT_FS y + +# Ensure CONFIG_EFI_VARS is y as debian-installer relies on having +# access to efivars when installing in EFI mode. See LP:837332 +value CONFIG_EFI_VARS y | !exists CONFIG_EFI_VARS + +# Ensure CONFIG_VFAT_FS is y for arm, needed to ensure we able to replace +# a kernel with the same version. Also needed for EFI based systems. +(arch armel armhf i386 amd64 &/ value CONFIG_VFAT_FS y) | \ + value CONFIG_VFAT_FS m + +# Ensure CONFIG_GPIO_TWL4030 is y for arm, LP:921934 +(arch armel armhf &/ value CONFIG_GPIO_TWL4030 y) | \ + value CONFIG_GPIO_TWL4030 m | \ + !exists CONFIG_GPIO_TWL4030 + +# Ensure CONFIG_THERM_ADT746X is y for powerpc and powerpc-smp flavours. +# See LP:923094 +(flavour powerpc powerpc-smp &/ value CONFIG_THERM_ADT746X y) | \ + !exists CONFIG_THERM_ADT746X + +# Ensure CONFIG_NVRAM is y for powerpc and powerpc-smp, LP:942193 +(flavour powerpc powerpc-smp &/ value CONFIG_NVRAM y) | \ + value CONFIG_NVRAM m | \ + !exists CONFIG_NVRAM + +# Ensure CONFIG_STUB_POULSBO is disabled if CONFIG_DRM_PSB is enabled +# See LP:899244 +(!exists CONFIG_DRM_PSB | value CONFIG_DRM_PSB n) | \ +((value CONFIG_DRM_PSB y | value CONFIG_DRM_PSB m) & (value CONFIG_STUB_POULSBO n | !exists CONFIG_STUB_POULSBO)) + +# Ensure CONFIG_B43_BCMA_EXTRA is disabled if CONFIG_BRCMSMAC is enabled. +# Otherwise b43 and brcmsmac will overlap in the hardware they claim to +# support. +(!exists CONFIG_BRCMSMAC | value CONFIG_BRCMSMAC n) | \ +((value CONFIG_BRCMSMAC y | value CONFIG_BRCMSMAC m) & (value CONFIG_B43_BCMA_EXTRA n | !exists CONFIG_B43_BCMA_EXTRA)) + +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not compatible with upstart +value CONFIG_AUDIT_LOGINUID_IMMUTABLE n + +# CONFIG_I2C_DESIGNWARE_PLATFORM is required by Calxeda Highbank +(flavour highbank &/ value CONFIG_I2C_DESIGNWARE_PLATFORM y) | \ +value CONFIG_I2C_DESIGNWARE_PLATFORM m | \ +!exists CONFIG_I2C_DESIGNWARE_PLATFORM + +# CONFIG_RTC_DRV_PL031 is required by Calxeda Highbank +# See LP:1035110 +(flavour highbank &/ value CONFIG_RTC_DRV_PL031 y) | \ +value CONFIG_RTC_DRV_PL031 m | \ +!exists CONFIG_RTC_DRV_PL031 + +# Don't use the generic ehci/ohci code on omap, it doesn't work +((flavour omap &/ value CONFIG_USB_EHCI_HCD_PLATFORM n & value CONFIG_USB_OHCI_HCD_PLATFORM n) | \ + !exists MISSING) --- linux-lowlatency-3.5.0.orig/debian.master/config/annotations +++ linux-lowlatency-3.5.0/debian.master/config/annotations @@ -0,0 +1,471 @@ +# Default filesystems are generally built-in +CONFIG_EXT3_FS y note +CONFIG_EXT4_FS y note + +# Some modules have no clear way to autoload them. +# filesystems: +CONFIG_FUSE_FS y note +CONFIG_ECRYPT_FS y note +# AGP drivers: +CONFIG_AGP y note +CONFIG_AGP_AMD64 y note +CONFIG_AGP_INTEL y note +CONFIG_AGP_VIA y note +CONFIG_AGP_AMD y note +CONFIG_AGP_NVIDIA y note +# cpu governers: +CONFIG_CPU_FREQ_GOV_CONSERVATIVE y note +CONFIG_CPU_FREQ_GOV_ONDEMAND y note +CONFIG_CPU_FREQ_GOV_PERFORMANCE y note +CONFIG_CPU_FREQ_GOV_POWERSAVE y note +CONFIG_CPU_FREQ_GOV_USERSPACE y note +# cpufreq drivers +CONFIG_X86_ACPI_CPUFREQ y note +CONFIG_X86_POWERNOW_K8 y note +CONFIG_X86_SPEEDSTEP_CENTRINO y note +CONFIG_X86_SPEEDSTEP_ICH y note +CONFIG_X86_SPEEDSTEP_SMI y note +# devices: +CONFIG_CHR_DEV_SG y note + +# Boot essential items are always =y +# subsystems: +CONFIG_ATA y note +CONFIG_USB y note +CONFIG_RFKILL y note +CONFIG_INPUT y note +CONFIG_SCSI y note +CONFIG_HOTPLUG_PCI y note +CONFIG_HOTPLUG_PCI_PCIE y note +CONFIG_HWMON y note +CONFIG_HW_RANDOM y note +CONFIG_MMC y note +CONFIG_CRYPTO y note +CONFIG_FB y note +CONFIG_PHYLIB y note +CONFIG_I2C y note +CONFIG_CONNECTOR y note +CONFIG_THERMAL y note +CONFIG_POWER_SUPPLY y note +CONFIG_TCG_TPM y note +# networking: +CONFIG_INET_LRO y note +CONFIG_MII y note +CONFIG_TUN y note +CONFIG_TCP_CONG_CUBIC y note +# network protocols: +CONFIG_UNIX y note +CONFIG_PACKET y note +CONFIG_FDDI y note +CONFIG_PPP y note +# IPv6 packets trigger auto-loading of this module and it is easy to trigger +# a DOS unless this is builtin. It is also a critical protocol going forward +# and will become boot essential. +CONFIG_IPV6 y note +# input devices +CONFIG_INPUT_EVDEV y note +CONFIG_INPUT_MOUSEDEV y note +CONFIG_INPUT_UINPUT y note +# ACPI drivers +CONFIG_ACPI_AC y note +CONFIG_ACPI_BATTERY y note +CONFIG_ACPI_BUTTON y note +CONFIG_ACPI_FAN y note +CONFIG_ACPI_PROCESSOR y note +CONFIG_ACPI_THERMAL y note +CONFIG_ACPI_HED y note +CONFIG_ACPI_CONTAINER y note + +# IPv6 configuration. +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION m note + +# Boot essential disk devices +CONFIG_IOSCHED_CFQ y note +CONFIG_IOSCHED_DEADLINE y note +CONFIG_EDD y note + +# Core devices +CONFIG_LEDS_CLASS y note + +# Core CPU drivers +CONFIG_FW_LOADER y note + +# Core debugging support +CONFIG_KGDB_SERIAL_CONSOLE y note + +# Common boot essential +CONFIG_SERIAL_8250 p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_SERIAL_8250_PCI p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_SERIAL_8250_PNP p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_XZ_DEC y note +CONFIG_KEYBOARD_ATKBD y note +CONFIG_SERIO y note +CONFIG_SERIO_I8042 y note +CONFIG_SERIO_LIBPS2 y note + +# XEN +CONFIG_XEN_BLKDEV_FRONTEND y note +CONFIG_XEN_NETDEV_FRONTEND y note + +# KVM +CONFIG_VIRTIO_BLK p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_NET p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_PCI p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_MMIO p policy<(arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_BALLOON p policy<(arch armel armhf &/ value n) | value m> note + +# VIRT +CONFIG_SCSI_VIRTIO m note + +# Boot essential dependancies +CONFIG_BLK_CGROUP y note +CONFIG_BLK_DEV_DM y note +CONFIG_BLK_DEV_LOOP y note +CONFIG_BLK_DEV_MD y note +CONFIG_BLK_DEV_RAM y note +CONFIG_BLK_DEV_SD y note +CONFIG_BLK_DEV_SR y note +CONFIG_DNS_RESOLVER y note +CONFIG_CRC_T10DIF y note +CONFIG_ZSMALLOC y note +# CONFIG_ECRYPTFS or CONFIG_DM +CONFIG_CRYPTO_CRC32C y note +CONFIG_CRYPTO_CRC32C_INTEL y note +CONFIG_CRYPTO_DEV_PADLOCK y note +CONFIG_CRYPTO_CRC32C y note +CONFIG_CRYPTO_AES y note +CONFIG_CRYPTO_CBC y note +CONFIG_CRYPTO_ECB y note +CONFIG_CRYPTO_HMAC y note +CONFIG_CRYPTO_MANAGER y note +CONFIG_CRYPTO_MD5 y note +CONFIG_CRYPTO_SHA1 y note +CONFIG_CRYPTO_SHA256 y note +CONFIG_CRYPTO_LZO p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_CRC16 y note +CONFIG_CRC32 y note +CONFIG_ENCRYPTED_KEYS y note +CONFIG_TRUSTED_KEYS y note +# DRM +CONFIG_BACKLIGHT_CLASS_DEVICE y note +# cpu freq +CONFIG_CPU_FREQ_STAT p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note + +# Interesting new subsystems +CONFIG_NFC m note +CONFIG_NFC_NCI m note + +# EXPERIMENTAL Network protocols are generally enabled to allow testing. +CONFIG_ECONET m note +CONFIG_IEEE802154 m note +CONFIG_LAPB m note +CONFIG_NET_DSA m note +CONFIG_RDS m note +CONFIG_TIPC m note +CONFIG_X25 m note + +# ATA controolers: some are boot essential on specific architectures +CONFIG_ATA_GENERIC p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_ATA_PIIX p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_PATA_ACPI p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_PATA_SIS p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_SATA_SVW p policy<(arch powerpc &/ value y) | value m> note +CONFIG_SATA_AHCI p policy<(arch i386 amd64 powerpc &/ value y) | value m> note + +# x86 boot essential +CONFIG_PCI_IOAPIC p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_RTC_DRV_CMOS p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_SCSI_SPI_ATTRS p policy<(arch i386 amd64 &/ value y) | value m> note + +# ARM/EFI requires FAT for kernel installation. +CONFIG_FAT_FS p policy<(arch armel armhf i386 amd64 &/ value y) | value m> note +CONFIG_VFAT_FS p policy<(arch armel armhf i386 amd64 &/ value y) | value m> note +CONFIG_NLS_CODEPAGE_437 p policy<((flavour omap omap4 | arch i386 amd64) &/ value y) | value m> note +CONFIG_NLS y note + +# ARM boot essential devices +CONFIG_MMC_BLOCK p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_MMC_OMAP_HS p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_FB_OMAP2 p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_I2C_OMAP p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_NOP_USB_XCEIV p policy<(flavour omap highbank &/ value y) | value m> note +CONFIG_PANEL_GENERIC_DPI p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_REGULATOR_FIXED_VOLTAGE p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_SERIAL_OMAP p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_GPIO_TWL4030 p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_OMAP2_DSS p policy<(arch armel armhf &/ value y) | value m> note + +# omap3/omap4 boot essential +CONFIG_MTD p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_BLKDEVS p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_BLOCK p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_CHAR p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_NAND p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_NAND_OMAP2 p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_OF_PARTS p policy<(flavour omap &/ value y) | value m> note +CONFIG_RTC_DRV_TWL4030 p policy<(flavour omap omap4 &/ value y) | value m> note +CONFIG_KEYBOARD_OMAP4 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_KEYBOARD_TWL4030 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_NET_SMSC95XX p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_USBNET p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_DRM p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_HWSPINLOCK_OMAP y note +CONFIG_HWSPINLOCK_ATMEL n note +CONFIG_HW_RANDOM_ATMEL n note +CONFIG_LEDS_GPIO p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LEDS_PWM p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LEDS_TRIGGER_HEARTBEAT p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LIB80211 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MMC_OMAP p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MEDIA_SUPPORT p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MFD_SM501 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_INVENTRA_DMA p policy<(flavour omap &/ value y) | value n> note + +# highbank boot essential +CONFIG_SATA_AHCI_PLATFORM p policy<(flavour highbank &/ value y) | (flavour omap4 &/ value n) | value m> note flag +CONFIG_EXT2_FS p policy<(flavour highbank &/ value y) | value m> note +CONFIG_KEYBOARD_HIGHBANK p policy<(flavour highbank &/ value y) | value m> note +CONFIG_I2C_DESIGNWARE_PLATFORM p policy<(flavour highbank &/ value y) | value m> note + +# POWERPC boot essential devices +CONFIG_FB_VOODOO1 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_3DFX p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_PS3 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_ATY128 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_RADEON p policy<(arch powerpc &/ value y) | value m> note +CONFIG_I2C_POWERMAC p policy<(arch powerpc &/ value y) | value m> note +CONFIG_NVRAM p policy<(arch powerpc &/ value y) | value m> note +CONFIG_HW_RANDOM_PASEMI p policy<(arch powerpc &/ value y) | value m> note +CONFIG_PS3_PS3AV p policy<(arch powerpc &/ value y) | value m> note +CONFIG_PS3_SYS_MANAGER p policy<(arch powerpc &/ value y) | value m> note +CONFIG_SERIAL_PMACZILOG p policy<(arch powerpc &/ value y) | value m> note +CONFIG_THERM_ADT746X p policy<(arch powerpc &/ value y) | value m> note + +# XEN host boot essential +CONFIG_XEN_ACPI_PROCESSOR p policy<(arch i386 amd64 &/ value y) | value m> + +# devices which make no sense on some platforms +CONFIG_PCCARD p policy<(arch armel armhf &/ value n) | value m> note + +# GRUB2 boot requirement +CONFIG_FRAMEBUFFER_CONSOLE y note + +# TESTING options +CONFIG_DMATEST n flag +CONFIG_DEBUG_NX_TEST n flag +CONFIG_BACKTRACE_SELF_TEST n flag +CONFIG_FB_VIRTUAL n flag +CONFIG_MMC_TEST n flag +CONFIG_MMIOTRACE_TEST n flag +CONFIG_RCU_TORTURE_TEST n flag +CONFIG_IEEE802154_FAKEHARD n flag +CONFIG_LKDTM n flag +CONFIG_WL12XX_SDIO_TEST n flag +CONFIG_RING_BUFFER_BENCHMARK n flag +CONFIG_RTC_DRV_TEST n flag +CONFIG_USB_DUMMY_HCD n flag +CONFIG_PCIEAER_INJECT n flag +CONFIG_PPS_CLIENT_KTIMER n flag +CONFIG_CRC32_SELFTEST n flag +CONFIG_OF_SELFTEST n flag +CONFIG_USB_ZERO_HNPTEST n flag + +# DEBUGGING option +CONFIG_BRCMDBG - flag +CONFIG_USB_XHCI_HCD_DEBUGGING n flag + +# USB +CONFIG_USB_EHCI_HCD y note +CONFIG_USB_OHCI_HCD y note +CONFIG_USB_UHCI_HCD y note +CONFIG_USB_XHCI_HCD y note + +# ARM commonly use sd cards as root disks. +CONFIG_MMC_SDHCI p policy<(flavour omap highbank &/ value y) | value m> note + +# Security risk. +CONFIG_ACPI_CUSTOM_METHOD n note + +# DM_RAID45 only appears in PC BIOS based systems +CONFIG_DM_RAID45 p policy<(arch i386 amd64 &/ value m) | value n> note + +# EFI_VARS is required for EFI boot +CONFIG_EFI_VARS y note + +# OLD/DEPRECATED things +CONFIG_BLK_DEV_HD n note +CONFIG_IA32_AOUT n note +CONFIG_BLK_DEV_SR_VENDOR n note +CONFIG_MOUSE_INPORT n note +CONFIG_OMAP_IOVMM n note + +# Debugging options are off by default, we want those below. +CONFIG_DEBUG_FS y note +CONFIG_DEBUG_KERNEL y note + +# IKCONFIG not required +CONFIG_IKCONFIG n note + +# POWERPC +CONFIG_PATA_MACIO y note +CONFIG_I2C_ALGOBIT p policy<(arch powerpc &/ value y) | value m> note + +# Non-obvious filesystems. +CONFIG_USB_FUNCTIONFS m note +CONFIG_USB_GADGETFS m note +CONFIG_LOGFS n note +CONFIG_USB_OTG_BLACKLIST_HUB n note +CONFIG_USB_OTG_WHITELIST n note + +# filesystem misc +CONFIG_AUFS_PROC_MAP n note +CONFIG_SQUASHFS_4K_DEVBLK_SIZE n note + +# ARM omap3 +CONFIG_PANEL_DVI y note +CONFIG_PANEL_SHARP_LS037V7DW01 p policy<(flavour omap &/ value y) | value m> note +CONFIG_PANEL_TPO_TD043MTEA1 p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC_MCBSP p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE p policy<(flavour omap &/ value y) | value m> note +CONFIG_USB_MUSB_TUSB6010 p policy<(flavour omap highbank &/ value n) | value m> note +CONFIG_USB_OMAP n note + +# ARM gadget mode +CONFIG_USB_GADGET p policy<(flavour omap omap4 &/ value y) | value m> note +CONFIG_USB_OTG y note +CONFIG_USB_G_MULTI p policy<(flavour omap omap4 &/ value m) | value n> note +CONFIG_USB_M66592 n note + +# powerpc64-smp requires this as CONFIG_MAPLE is enabled +CONFIG_ATA_NONSTANDARD p policy<(flavour powerpc64-smp &/ value y) | value n> note + +# APM Emulation is deliberately off on ARM to prevent new use. +CONFIG_APM_EMULATION p policy<(arch armel armhf &/ value n) | value m> note + +# BLK_DEV_XD -- ancient drives +CONFIG_BLK_DEV_XD n note + +# Geode specific, should be enabled by drivers that need it not manually. +CONFIG_CS5535_MFGPT n note +CONFIG_GPIO_CS5535 p policy<(value CONFIG_OLPC_X01_SCI y &/ value y) | value m> note + +# DVB_DUMMY_FE only recommended for experts +CONFIG_DVB_DUMMY_FE n note + +# ARM unsupported SOC +CONFIG_FTGMAC100 n note +CONFIG_FTMAC100 n note +CONFIG_ARCH_EXYNOS n note +CONFIG_ARCH_HIGHBANK n note +CONFIG_ARCH_PICOXCELL n note +CONFIG_ARCH_PRIMA2 n note +CONFIG_ARCH_ZYNQ n note + +# Options which really should not have an option at all. +CONFIG_SIGMA n note +CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL n + +# Items which are simply miss identified +CONFIG_DEBUG_LL_UART_NONE y note +CONFIG_USB_SERIAL_DEBUG m note + +# Experimental +CONFIG_DM_THIN_PROVISIONING m note +CONFIG_RTL8192DE m note +CONFIG_BLK_DEV_UMEM m note + +# PHY device with non-standard naming. +CONFIG_B43_PHY_HT y note +CONFIG_B43_PHY_N y note +CONFIG_STE10XP y note + +# Optional scheduling control +CONFIG_CFS_BANDWIDTH y note + +# Hardware specific experimental options. +CONFIG_EDAC_SBRIDGE m note +CONFIG_SM_FTL m note +CONFIG_SPI_SPIDEV m note +CONFIG_ATH6KL_USB m note +CONFIG_USB_KC2190 y note + +# Dummy drivers +CONFIG_IIO_SIMPLE_DUMMY_BUFFER n note +CONFIG_IIO_SIMPLE_DUMMY_EVENTS n note + +# Options where the default is simply too broad: +# INPUT_KXTJ9_POLLED_MODE -- polling is bad generally +CONFIG_INPUT_KXTJ9_POLLED_MODE n + +# The intel IOMMU being on by default causes a slew of issues with +# machines. We therefore enable its use, but default it off. +CONFIG_INTEL_IOMMU_DEFAULT_ON n note + +# H/W specific options +CONFIG_PATA_HPT3X3_DMA n note +CONFIG_B43_BCMA_EXTRA n note + +# XXX: temporarily disabled options -- build failures. +CONFIG_TI_CPSW - flag +CONFIG_USB_EHCI_HCD_PLATFORM - flag +CONFIG_LIS3L02DQ - flag +CONFIG_EZX_PCAP - flag +CONFIG_TOUCHSCREEN_EGALAX - flag +CONFIG_TOUCHSCREEN_EETI - flag +CONFIG_SPI_PL022 - flag +CONFIG_SPI_DW_MMIO - flag +CONFIG_SENSORS_AK8975 - flag note +CONFIG_IIO p policy<(flavour omap4 &/ value n) | value m> flag + +# Valid y/n options which are in a sensible position. +CONFIG_PPC_ICSWX_USE_SIGILL n note +# forces padding mode, without this we can select at runtime +CONFIG_USB_SERIAL_SAFE_PADDED n note +# allows the console to move to an external USB device +CONFIG_USB_SISUSBVGA_CON n note + +# Old/Deprecated +CONFIG_SCSI_AIC7XXX_OLD n note + +# OSS is handled via pulseaudio +CONFIG_SND_PCM_OSS n note + +# Poulsbo is handled by DRM_GMA500 +CONFIG_STUB_POULSBO n note + +# Risky +CONFIG_RTAS_FLASH n note + +# Only valid on fully certified platforms +CONFIG_ATH9K_DFS_CERTIFIED n note + +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not compatible with upstart +CONFIG_AUDIT_LOGINUID_IMMUTABLE n note + +# Machine specific on systems we cannot encounter. +CONFIG_GPIO_EM n note + +# Standard options. +CONFIG_PANIC_ON_OOPS n note + +# CEPHs dependancies +CONFIG_BLK_DEV_RBD m note + +# CGROUP modifications. +CONFIG_BLK_DEV_THROTTLING y note + +# Not a thing +CONFIG_USB_OHCI_HCD_PLATFORM - flag +CONFIG_USB_EHCI_HCD_PLATFORM - flag +CONFIG_USB_OHCI_HCD_PPC_OF_LE - flag +CONFIG_SENSORS_SCH56XX_COMMON - flag + +# Block Dev +CONFIG_BLK_DEV_XIP n note + +# This option allows bridging between non-IP and IP networks, but is +# effectivly deprecated. We _may_ just _may_ have users on older arches +# so keep it there, but do not spread the pain to systems without these +# other networks. +CONFIG_WAN_ROUTER p policy<(arch i386 amd64 powerpc &/ value m) | value n> --- linux-lowlatency-3.5.0.orig/debian.master/config/amd64/config.common.amd64 +++ linux-lowlatency-3.5.0/debian.master/config/amd64/config.common.amd64 @@ -0,0 +1,278 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_ACPI_BLACKLIST_YEAR=0 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_PIIX=y +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=y +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DM_RAID45=m +# CONFIG_DVB_FE_CUSTOMISE is not set +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=y +CONFIG_FB_3DFX=m +CONFIG_FB_ATY128=m +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=m +# CONFIG_FB_MACMODES is not set +CONFIG_FB_RADEON=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=m +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IDE is not set +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_INTEL_TXT=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBIPW_DEBUG=y +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=6 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=256 +CONFIG_NVRAM=m +CONFIG_OSF_PARTITION=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=y +CONFIG_PCCARD=m +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=y +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTC_DRV_CMOS=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SATA_SVW=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_STACK_TRACER=y +CONFIG_STAGING_MEDIA=y +# CONFIG_STANDALONE is not set +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +# CONFIG_TWL4030_CORE is not set +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=y +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +# CONFIG_X86_32 is not set +CONFIG_X86_64=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_XEN_MAX_DOMAIN_MEMORY=500 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA32=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.master/config/amd64/config.flavour.generic +++ linux-lowlatency-3.5.0/debian.master/config/amd64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.master/config/armel/config.common.armel +++ linux-lowlatency-3.5.0/debian.master/config/armel/config.common.armel @@ -0,0 +1,266 @@ +# +# Config options for config.common.armel automatically generated by splitconfig.pl +# +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AMBA_PL08X=y +CONFIG_AMIGA_PARTITION=y +# CONFIG_APM_EMULATION is not set +# CONFIG_ARCH_HIGHBANK is not set +CONFIG_ARCH_OMAP=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATM_BR2684_IPFILTER=y +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +# CONFIG_COMPACTION is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=m +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_LL_UART_NONE=y +CONFIG_DEBUG_USER=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DM_RAID45 is not set +CONFIG_DVB_FE_CUSTOMISE=y +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +# CONFIG_EDAC is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +# CONFIG_EZX_PCAP is not set +CONFIG_FAT_FS=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_SVGALIB is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FONTS=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_FPE_NWFPE=y +# CONFIG_FUNCTION_TRACER is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TWL4030=y +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HIDRAW=y +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_HVC_DCC=y +CONFIG_HZ=128 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +# CONFIG_IWMC3200TOP_DEBUGFS is not set +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +# CONFIG_KSM is not set +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +# CONFIG_LIBERTAS_MESH is not set +# CONFIG_LIS3L02DQ is not set +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_T7L66XB=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TC6387XB=y +CONFIG_MFD_TC6393XB=y +CONFIG_MFD_TMIO=y +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_BCH=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MUSB_PIO_ONLY is not set +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_CALXEDA_XGMAC=m +CONFIG_NET_DMA=y +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NOP_USB_XCEIV=y +CONFIG_NVRAM=m +CONFIG_OC_ETM=y +CONFIG_OSF_PARTITION=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PARPORT_1284=y +# CONFIG_PCCARD is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_PL330_DMA=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2X00_LIB_DEBUGFS=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_TWL4030=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCSI_LOGGING=y +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_AMBA_PL011=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=y +# CONFIG_SND_EMU10K1_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=y +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_TWL4030=y +CONFIG_SND_TIMER=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=y +CONFIG_SPI_PL022=m +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +# CONFIG_STMMAC_ETH is not set +CONFIG_SUN_PARTITION=y +# CONFIG_SWP_EMULATE is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_POWER=y +CONFIG_TWL4030_USB=y +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_XHCI is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_GADGET=y +CONFIG_USB_G_MULTI=m +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +CONFIG_USB_MUSB_HDRC=m +# CONFIG_USB_MUSB_TUSB6010 is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OTG=y +CONFIG_VFAT_FS=y +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +# CONFIG_VIRTIO_BALLOON is not set +# CONFIG_VIRTIO_MMIO is not set +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_WAN=y +# CONFIG_WAN_ROUTER is not set +CONFIG_WATCHDOG=y +# CONFIG_WIMAX_I2400M_SDIO is not set +# CONFIG_WIMAX_I2400M_USB is not set +# CONFIG_WM8350_WATCHDOG is not set +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA_FLAG=0 --- linux-lowlatency-3.5.0.orig/debian.master/config/armel/config.flavour.omap +++ linux-lowlatency-3.5.0/debian.master/config/armel/config.flavour.omap @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.omap automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.master/config/armhf/config.common.armhf +++ linux-lowlatency-3.5.0/debian.master/config/armhf/config.common.armhf @@ -0,0 +1,105 @@ +# +# Config options for config.common.armhf automatically generated by splitconfig.pl +# +# CONFIG_APM_EMULATION is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATM_BR2684_IPFILTER=y +CONFIG_AX25_DAMA_SLAVE=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +# CONFIG_COMPACTION is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CRYPTO_LZO=m +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DM_RAID45 is not set +CONFIG_DVB_FE_CUSTOMISE=y +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC_MM_EDAC=y +# CONFIG_EZX_PCAP is not set +CONFIG_FAT_FS=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_SVGALIB is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_GPIO_TWL4030=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_I2C_ALGOBIT=m +# CONFIG_IWMC3200TOP_DEBUGFS is not set +CONFIG_KGDB=y +# CONFIG_KSM is not set +CONFIG_LATENCYTOP=y +# CONFIG_LIBERTAS_MESH is not set +# CONFIG_LIS3L02DQ is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MUSB_PIO_ONLY is not set +CONFIG_NEED_DMA_MAP_STATE=y +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NOP_USB_XCEIV=y +CONFIG_NR_CPUS=4 +CONFIG_NVRAM=m +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PCCARD is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_PM_DEBUG is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_RCU_FANOUT=32 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2X00_LIB_DEBUGFS=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_SMT is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_SCSI_SPI_ATTRS=m +# CONFIG_SND_EMU10K1_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_STACK_TRACER is not set +CONFIG_STANDALONE=y +# CONFIG_STMMAC_ETH is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=y +# CONFIG_USB_ARCH_HAS_XHCI is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_MUSB_TUSB6010 is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OTG=y +CONFIG_VFAT_FS=y +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +# CONFIG_VIRTIO_BALLOON is not set +# CONFIG_VIRTIO_MMIO is not set +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_WM8350_WATCHDOG is not set +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA_FLAG=0 --- linux-lowlatency-3.5.0.orig/debian.master/config/armhf/config.flavour.omap +++ linux-lowlatency-3.5.0/debian.master/config/armhf/config.flavour.omap @@ -0,0 +1,168 @@ +# +# Config options for config.flavour.omap automatically generated by splitconfig.pl +# +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AMBA_PL08X=y +CONFIG_AMIGA_PARTITION=y +# CONFIG_ARCH_HIGHBANK is not set +CONFIG_ARCH_OMAP=y +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +CONFIG_AUXDISPLAY=y +CONFIG_BCH=y +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_DEBUG_LL_UART_NONE=y +CONFIG_DEBUG_USER=y +# CONFIG_EDAC is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FONTS=y +CONFIG_FPE_NWFPE=y +# CONFIG_FUNCTION_TRACER is not set +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HIDRAW=y +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +CONFIG_HVC_DCC=y +CONFIG_HZ=128 +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_T7L66XB=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TC6387XB=y +CONFIG_MFD_TC6393XB=y +CONFIG_MFD_TMIO=y +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_BCH=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_NET_CALXEDA_XGMAC=m +CONFIG_NET_DMA=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_OC_ETM=y +CONFIG_OSF_PARTITION=y +CONFIG_PARPORT_1284=y +CONFIG_PL330_DMA=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEVFREQ=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_TWL4030=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_AMBA_PL011=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=y +CONFIG_SND_PCM=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_TWL4030=y +CONFIG_SND_TIMER=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=y +CONFIG_SPI_PL022=m +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_STAGING_MEDIA=y +CONFIG_SUN_PARTITION=y +# CONFIG_SWP_EMULATE is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TWL4030_POWER=y +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_GADGET=y +CONFIG_USB_G_MULTI=m +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +CONFIG_USB_MUSB_HDRC=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_WAN=y +CONFIG_WATCHDOG=y +# CONFIG_WIMAX_I2400M_SDIO is not set +# CONFIG_WIMAX_I2400M_USB is not set +CONFIG_XFS_RT=y --- linux-lowlatency-3.5.0.orig/debian.master/config/armhf/config.flavour.highbank +++ linux-lowlatency-3.5.0/debian.master/config/armhf/config.flavour.highbank @@ -0,0 +1,168 @@ +# +# Config options for config.flavour.highbank automatically generated by splitconfig.pl +# +# CONFIG_ABX500_CORE is not set +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AMBA_PL08X is not set +# CONFIG_AMIGA_PARTITION is not set +CONFIG_ARCH_HIGHBANK=y +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_AUXDISPLAY is not set +CONFIG_BCH=m +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_BTRFS_FS_POSIX_ACL is not set +CONFIG_CACHE_L2X0=y +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CLEANCACHE is not set +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +# CONFIG_CPU_IDLE is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_DEBUG_LL_UART_NONE is not set +# CONFIG_DEBUG_USER is not set +CONFIG_EDAC=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_EVM is not set +CONFIG_EXT2_FS=y +CONFIG_FB_CFB_COPYAREA=m +CONFIG_FB_CFB_FILLRECT=m +CONFIG_FB_CFB_IMAGEBLIT=m +# CONFIG_FONTS is not set +# CONFIG_FPE_NWFPE is not set +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +# CONFIG_HAMRADIO is not set +# CONFIG_HIDRAW is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_HVC_DCC is not set +CONFIG_HZ=100 +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +CONFIG_IP_PNP=y +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_DEBUG is not set +# CONFIG_IRDA_FAST_RR is not set +# CONFIG_IRDA_ULTRA is not set +# CONFIG_ISDN is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_KEXEC is not set +# CONFIG_LDM_PARTITION is not set +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC_PARTITION is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODVERSIONS is not set +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NET_CALXEDA_XGMAC=y +# CONFIG_NET_DMA is not set +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="iso8859-1" +# CONFIG_OC_ETM is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_PARPORT_1284 is not set +CONFIG_PL330_DMA=y +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_PPP_FILTER is not set +# CONFIG_PPP_MULTILINK is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PSTORE is not set +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_TWL4030=m +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set +# CONFIG_SECURITY_SELINUX_DISABLE is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_AMBA_PL011=y +# CONFIG_SERIAL_NONSTANDARD is not set +CONFIG_SERIO_SERPORT=y +# CONFIG_SGI_PARTITION is not set +CONFIG_SND=m +CONFIG_SND_PCM=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +# CONFIG_SOLARIS_X86_PARTITION is not set +CONFIG_SOUND=m +CONFIG_SPI_PL022=y +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_STAGING_MEDIA is not set +# CONFIG_SUN_PARTITION is not set +CONFIG_SWP_EMULATE=y +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TCP_MD5SIG is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TWL4030_POWER is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB_ARCH_HAS_OHCI is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_WAN is not set +# CONFIG_WATCHDOG is not set +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +# CONFIG_XFS_RT is not set --- linux-lowlatency-3.5.0.orig/debian.master/config/i386/config.common.i386 +++ linux-lowlatency-3.5.0/debian.master/config/i386/config.common.i386 @@ -0,0 +1,277 @@ +# +# Config options for config.common.i386 automatically generated by splitconfig.pl +# +# CONFIG_64BIT is not set +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_ACPI_BLACKLIST_YEAR=2000 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_PIIX=y +# CONFIG_ATM_BR2684_IPFILTER is not set +# CONFIG_AUDIT_ARCH is not set +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=y +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DM_RAID45=m +# CONFIG_DVB_FE_CUSTOMISE is not set +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=y +CONFIG_FB_3DFX=m +CONFIG_FB_ATY128=m +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=m +# CONFIG_FB_MACMODES is not set +CONFIG_FB_RADEON=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=m +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IDE is not set +CONFIG_ILLEGAL_POINTER_VALUE=0 +# CONFIG_INTEL_TXT is not set +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISA=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBIPW_DEBUG=y +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=8 +CONFIG_NVRAM=m +CONFIG_OSF_PARTITION=y +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=y +CONFIG_PCCARD=m +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=32 +CONFIG_REGULATOR_DEBUG=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTC_DRV_CMOS=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SATA_SVW=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_PCM=m +CONFIG_SND_SBAWE_SEQ=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPI_PXA2XX_PCI=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_STACK_TRACER=y +CONFIG_STAGING_MEDIA=y +# CONFIG_STANDALONE is not set +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +# CONFIG_TWL4030_CORE is not set +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=y +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86_MINIMUM_CPU_FAMILY=5 +CONFIG_X86_SPEEDSTEP_LIB=y +CONFIG_XEN_MAX_DOMAIN_MEMORY=64 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +# CONFIG_ZONE_DMA32 is not set +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.master/config/i386/config.flavour.generic +++ linux-lowlatency-3.5.0/debian.master/config/i386/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.master/config/powerpc/config.common.powerpc +++ linux-lowlatency-3.5.0/debian.master/config/powerpc/config.common.powerpc @@ -0,0 +1,264 @@ +# +# Config options for config.common.powerpc automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +CONFIG_AMIGA_PARTITION=y +CONFIG_APM_EMULATION=m +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_PIIX=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +# CONFIG_AX25_DAMA_SLAVE is not set +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CLEANCACHE=y +# CONFIG_COMPACTION is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_IDLE=y +CONFIG_CRYPTO_LZO=m +# CONFIG_DEBUG_INFO is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DM_RAID45 is not set +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=m +CONFIG_FB_3DFX=y +CONFIG_FB_ATY128=y +CONFIG_FB_BACKLIGHT=y +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=y +CONFIG_FB_MACMODES=y +CONFIG_FB_RADEON=y +CONFIG_FB_SVGALIB=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +CONFIG_GPIO_TWL4030=m +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +# CONFIG_HVC_CONSOLE is not set +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IBMEBUS is not set +# CONFIG_IDE is not set +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +# CONFIG_IRQ_ALL_CPUS is not set +# CONFIG_ISA is not set +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KSM=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_LPARCFG is not set +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +# CONFIG_MEMORY_HOTREMOVE is not set +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=8 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NVRAM=y +CONFIG_OSF_PARTITION=y +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=m +CONFIG_PCCARD=m +CONFIG_PCI_SYSCALL=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPC_4K_PAGES=y +# CONFIG_PPC_64K_PAGES is not set +# CONFIG_PPC_SMLPAR is not set +# CONFIG_PPC_SPLPAR is not set +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSERIES_ENERGY=m +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +# CONFIG_RTAS_FLASH is not set +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_SATA_SVW=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=m +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_XFS_RT=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.master/config/powerpc/config.flavour.powerpc-smp +++ linux-lowlatency-3.5.0/debian.master/config/powerpc/config.flavour.powerpc-smp @@ -0,0 +1,43 @@ +# +# Config options for config.flavour.powerpc-smp automatically generated by splitconfig.pl +# +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +# CONFIG_ARCH_NO_VIRT_TO_BUS is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_CFG80211_REG_DEBUG=y +# CONFIG_CRASH_DUMP is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FORCE_MAX_ZONEORDER=11 +# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_KERNEL_START=0xc0000000 +# CONFIG_KGDB is not set +# CONFIG_LATENCYTOP is not set +CONFIG_MAX_ACTIVE_REGIONS=32 +# CONFIG_MMIO_NVRAM is not set +# CONFIG_MPIC_U3_HT_IRQS is not set +# CONFIG_NEED_DMA_MAP_STATE is not set +# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set +# CONFIG_NONSTATIC_KERNEL is not set +CONFIG_NR_CPUS=4 +CONFIG_PAGE_OFFSET=0xc0000000 +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_PPC64 is not set +# CONFIG_PPC_970_NAP is not set +# CONFIG_PPC_CELL is not set +# CONFIG_PPC_ICP_HV is not set +# CONFIG_PPC_ICP_NATIVE is not set +# CONFIG_PPC_ICS_RTAS is not set +CONFIG_PPC_INDIRECT_PCI=y +# CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_MPC106=y +# CONFIG_PPC_P7_NAP is not set +# CONFIG_PPC_XICS is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_SCHEDSTATS is not set +CONFIG_WORD_SIZE=32 +CONFIG_ZLIB_DEFLATE=m --- linux-lowlatency-3.5.0.orig/debian.master/config/powerpc/config.flavour.powerpc64-smp +++ linux-lowlatency-3.5.0/debian.master/config/powerpc/config.flavour.powerpc64-smp @@ -0,0 +1,43 @@ +# +# Config options for config.flavour.powerpc64-smp automatically generated by splitconfig.pl +# +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_NO_VIRT_TO_BUS=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ATA_NONSTANDARD=y +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CRASH_DUMP=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FORCE_MAX_ZONEORDER=13 +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HUGETLB_PAGE=y +CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_KGDB=y +CONFIG_LATENCYTOP=y +CONFIG_MAX_ACTIVE_REGIONS=256 +CONFIG_MMIO_NVRAM=y +CONFIG_MPIC_U3_HT_IRQS=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NONSTATIC_KERNEL=y +CONFIG_NR_CPUS=1024 +CONFIG_PAGE_OFFSET=0xc000000000000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PPC64=y +CONFIG_PPC_970_NAP=y +CONFIG_PPC_CELL=y +CONFIG_PPC_ICP_HV=y +CONFIG_PPC_ICP_NATIVE=y +CONFIG_PPC_ICS_RTAS=y +# CONFIG_PPC_INDIRECT_PCI is not set +CONFIG_PPC_MM_SLICES=y +# CONFIG_PPC_MPC106 is not set +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_XICS=y +CONFIG_RCU_FANOUT=64 +CONFIG_SCHEDSTATS=y +CONFIG_WORD_SIZE=64 +CONFIG_ZLIB_DEFLATE=y --- linux-lowlatency-3.5.0.orig/debian.master/config/powerpc/ignore +++ linux-lowlatency-3.5.0/debian.master/config/powerpc/ignore @@ -0,0 +1 @@ +1 --- linux-lowlatency-3.5.0.orig/debian.master/config/powerpc/ignore.modules +++ linux-lowlatency-3.5.0/debian.master/config/powerpc/ignore.modules @@ -0,0 +1 @@ +1 --- linux-lowlatency-3.5.0.orig/debian.master/config/ppc64/config.common.ppc64 +++ linux-lowlatency-3.5.0/debian.master/config/ppc64/config.common.ppc64 @@ -0,0 +1,301 @@ +# +# Config options for config.common.ppc64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_NO_VIRT_TO_BUS=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_NONSTANDARD=y +CONFIG_ATA_PIIX=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +# CONFIG_AX25_DAMA_SLAVE is not set +CONFIG_BCH=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=m +# CONFIG_DEBUG_INFO is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DM_RAID45 is not set +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=m +CONFIG_FB_3DFX=y +CONFIG_FB_ATY128=y +CONFIG_FB_BACKLIGHT=y +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=y +CONFIG_FB_MACMODES=y +CONFIG_FB_RADEON=y +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FORCE_MAX_ZONEORDER=9 +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +CONFIG_GPIO_TWL4030=m +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HVC_CONSOLE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_IBMEBUS=y +CONFIG_IDE=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_IRQ_ALL_CPUS=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_LPARCFG=y +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_ACTIVE_REGIONS=256 +CONFIG_MAX_RAW_DEVS=8192 +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMIO_NVRAM=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MPIC_U3_HT_IRQS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=8 +CONFIG_NONSTATIC_KERNEL=y +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=1024 +CONFIG_OSF_PARTITION=y +CONFIG_PAGE_OFFSET=0xc000000000000000 +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=m +CONFIG_PCCARD=m +CONFIG_PCI_SYSCALL=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPC64=y +# CONFIG_PPC_4K_PAGES is not set +CONFIG_PPC_64K_PAGES=y +CONFIG_PPC_970_NAP=y +CONFIG_PPC_CELL=y +CONFIG_PPC_ICP_HV=y +CONFIG_PPC_ICP_NATIVE=y +CONFIG_PPC_ICS_RTAS=y +# CONFIG_PPC_INDIRECT_PCI is not set +CONFIG_PPC_MM_SLICES=y +# CONFIG_PPC_MPC106 is not set +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_SMLPAR=y +CONFIG_PPC_SPLPAR=y +CONFIG_PPC_XICS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSERIES_ENERGY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTAS_FLASH=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_SATA_SVW=y +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SSB_PCMCIAHOST=y +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=m +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD_PPC_OF_LE=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=64 +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_WORD_SIZE=64 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.master/config/ppc64/config.flavour.powerpc64-smp +++ linux-lowlatency-3.5.0/debian.master/config/ppc64/config.flavour.powerpc64-smp @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.powerpc64-smp automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.master/control.d/flavour-control.stub +++ linux-lowlatency-3.5.0/debian.master/control.d/flavour-control.stub @@ -0,0 +1,98 @@ +# Items that get replaced: +# FLAVOUR +# DESC +# ARCH +# SUPPORTED +# TARGET +# BOOTLOADER +# =PROVIDES= +# +# Items marked with =FOO= are optional +# +# This file describes the template for packages that are created for each flavour +# in debian/control.d/vars.* +# +# This file gets edited in a couple of places. See the debian/control.stub rule in +# debian/rules. PGGVER, ABINUM, and SRCPKGNAME are all converted in the +# process of creating debian/control. +# +# The flavour specific strings (ARCH, DESC, etc) are converted using values from the various +# flavour files in debian/control.d/vars.* +# +# XXX: Leave the blank line before the first package!! + +Package: linux-image-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: kernel +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, =PROVIDES= +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), module-init-tools (>= 3.3-pre11-4ubuntu3) +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: BOOTLOADER +Suggests: fdutils, SRCPKGNAME-doc-PKGVER | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools +Description: Linux kernel image for version PKGVER on DESC + This package contains the Linux kernel image for version PKGVER on + DESC. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-PKGVER-ABINUM-FLAVOUR, crda (>=1.1.1-1ubuntu2) | wireless-crda +Description: Linux kernel image for version PKGVER on DESC + This package contains the Linux kernel image for version PKGVER on + DESC. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, SRCPKGNAME-headers-PKGVER-ABINUM, ${shlibs:Depends} +Provides: SRCPKGNAME-headers, SRCPKGNAME-headers-3.0 +Description: Linux kernel headers for version PKGVER on DESC + This package provides kernel header files for version PKGVER on + DESC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/SRCPKGNAME-headers-PKGVER-ABINUM/debian.README.gz for details. + +Package: linux-image-PKGVER-ABINUM-FLAVOUR-dbgsym +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version PKGVER on DESC + This package provides a kernel debug image for version PKGVER on + DESC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. --- linux-lowlatency-3.5.0.orig/debian.master/control.d/vars.generic +++ linux-lowlatency-3.5.0/debian.master/control.d/vars.generic @@ -0,0 +1,6 @@ +arch="i386 amd64" +supported="Generic" +target="Geared toward desktop and server systems." +desc="=HUMAN= SMP" +bootloader="grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1)" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules" --- linux-lowlatency-3.5.0.orig/debian.master/control.d/vars.highbank +++ linux-lowlatency-3.5.0/debian.master/control.d/vars.highbank @@ -0,0 +1,8 @@ +arch="armhf" +supported="Calxeda highbank" +desc="Calxeda highbank ARM Server" +target="Targeted towards Calxeda highbank ARM Server" +bootloader="flash-kernel" +provides="" +section_image="universe/base" +do_debug="Yes" --- linux-lowlatency-3.5.0.orig/debian.master/control.d/vars.omap +++ linux-lowlatency-3.5.0/debian.master/control.d/vars.omap @@ -0,0 +1,8 @@ +arch="armel armhf" +supported="TI OMAP3" +desc="TI OMAP3-based =HUMAN= systems" +target="Targeted towards boards such as Beagleboard, Gumstix, IGEPv2, etc." +bootloader="flash-kernel" +provides="" +section_image="universe/base" +do_debug="Yes" --- linux-lowlatency-3.5.0.orig/debian.master/control.d/vars.powerpc-smp +++ linux-lowlatency-3.5.0/debian.master/control.d/vars.powerpc-smp @@ -0,0 +1,6 @@ +supported="32-bit PowerPC SMP" +target="Geared toward desktop or server systems." +desc="32-bit PowerPC SMP" +bootloader="yaboot" +provides="redhat-cluster-modules, ivtv-modules" +arch="powerpc" --- linux-lowlatency-3.5.0.orig/debian.master/control.d/vars.powerpc64-smp +++ linux-lowlatency-3.5.0/debian.master/control.d/vars.powerpc64-smp @@ -0,0 +1,6 @@ +supported="64-bit PowerPC SMP" +target="Geared toward desktop or server systems." +desc="64-bit PowerPC SMP" +bootloader="yaboot" +provides="redhat-cluster-modules, ivtv-modules" +arch="powerpc ppc64" --- linux-lowlatency-3.5.0.orig/debian.master/control.d/generic.inclusion-list +++ linux-lowlatency-3.5.0/debian.master/control.d/generic.inclusion-list @@ -0,0 +1,138 @@ +arch/*/{crypto,kernel,oprofile} +crypto/* +drivers/acpi/* +drivers/block/nbd.ko +drivers/block/floppy.ko +drivers/block/cryptoloop.ko +drivers/char/hangcheck-timer.ko +drivers/char/lp.ko +drivers/char/nvram.ko +drivers/char/ppdev.ko +drivers/char/raw.ko +drivers/hv/* +drivers/input/evbug.ko +drivers/input/gameport/gameport.ko +drivers/input/mouse/psmouse.ko +drivers/input/serio/serio_raw.ko +drivers/input/serio/serport.ko +drivers/input/joydev.ko +drivers/input/touchscreen/usbtouchscreen.ko +drivers/input/misc/xen-kbdfront.ko +drivers/md/* +drivers/message/fusion* +drivers/misc/vmw_balloon.ko +drivers/net/ethernet/8390/8390.ko +drivers/net/ethernet/realtek/8139too.ko +drivers/net/ethernet/realtek/8139cp.ko +drivers/net/appletalk/ipddp.ko +drivers/net/bonding/bonding.ko +drivers/net/ppp/bsd_comp.ko +drivers/net/dummy.ko +drivers/net/ethernet/intel/e1000/e1000.ko +drivers/net/ethernet/intel/e1000e/e1000e.ko +drivers/net/eql.ko +drivers/net/ifb.ko +drivers/net/ethernet/intel/igbvf/igbvf.ko +drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko +drivers/net/macvlan.ko +drivers/net/macvtap.ko +drivers/net/ethernet/8390/ne2k-pci.ko +drivers/net/netconsole.ko +drivers/net/ethernet/amd/pcnet32.ko +drivers/net/hyperv/hv_netvsc.ko +drivers/net/ppp/* +drivers/net/slip/* +drivers/net/veth.ko +drivers/net/vmxnet3/vmxnet3.ko +drivers/net/xen-netback/* +drivers/parport/parport.ko +drivers/parport/parport_pc.ko +drivers/pci/hotplug/acpiphp.ko +drivers/net/ethernet/dec/tulip/* +drivers/scsi/BusLogic.ko +drivers/scsi/iscsi_tcp.ko +drivers/scsi/libiscsi.ko +drivers/scsi/libiscsi_tcp.ko +drivers/scsi/libsas/* +drivers/scsi/qla1280.ko +drivers/scsi/raid_class.ko +drivers/scsi/scsi_transport_fc.ko +drivers/scsi/scsi_transport_iscsi.ko +drivers/scsi/scsi_transport_sas.ko +drivers/scsi/scsi_wait_scan.ko +drivers/scsi/scsi_tgt.ko +drivers/scsi/vmw_pvscsi.ko +drivers/scsi/hv_storvsc.ko +drivers/usb/storage/usb-storage.ko +drivers/video/cirrusfb.ko +drivers/video/output.ko +drivers/video/syscopyarea.ko +drivers/video/sysfillrect.ko +drivers/video/sysimgblt.ko +drivers/video/vesafb.ko +drivers/video/vga16fb.ko +drivers/video/vgastate.ko +drivers/video/xen-fbfront.ko +drivers/video/fb_sys_fops.ko +drivers/virtio/virtio_balloon.ko +drivers/watchdog/softdog.ko +drivers/xen/* +fs/binfmt_misc.ko +fs/btrfs/* +fs/cachefiles/cachefiles.ko +fs/ceph/* +fs/configfs/* +fs/ext*/* +fs/fat/* +fs/nls/nls_cp437.ko +fs/nls/nls_iso8859-1.ko +fs/isofs/* +fs/cifs/* +fs/xfs/* +fs/ufs/* +fs/squashfs/* +fs/nfs/* +fs/nfsd/* +fs/nfs_common/* +fs/fscache/* +fs/lockd/* +fs/autofs4/autofs4.ko +fs/overlayfs/* +fs/udf/* +lib/* +net/802/* +net/8021q/* +net/appletalk/* +net/atm/* +net/ax25/* +net/bridge/* +net/can/* +net/core/* +net/dccp/* +net/decnet/* +net/econet/* +net/ieee802154/* +net/ipv4/* +net/ipv6/* +net/ipx/* +net/irda/* +net/key/* +net/lapb/* +net/llc/* +net/netfilter/* +net/netrom/* +net/phonet/* +net/rose/* +net/rxrpc/* +net/sched/* +net/sctp/* +net/tipc/* +net/wanrouter/* +net/x25/* +net/xfrm/* +net/sunrpc/auth_gss/auth_rpcgss.ko +net/sunrpc/sunrpc.ko +sound/soundcore.ko +sound/core/* +sound/pci/snd-ens1370.ko +sound/drivers/pcsp/snd-pcsp.ko --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-firmware.armel-omap +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-firmware.armel-omap @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-firmware.armhf-omap +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-firmware.armhf-omap @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.amd64-virtual +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.amd64-virtual @@ -0,0 +1,15 @@ +pata-modules +serial-modules +firewire-core-modules +plip-modules +usb-modules +pcmcia-storage-modules +input-modules +nic-pcmcia-modules +pcmcia-modules +nic-usb-modules +nfs-modules +speakup-modules +ppp-modules +sata-modules +ipmi-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.armel-omap +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.armel-omap @@ -0,0 +1,10 @@ +serial-modules +firewire-core-modules +floppy-modules +pcmcia-storage-modules +fb-modules +nic-pcmcia-modules +pcmcia-modules +pata-modules +message-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.armhf-omap +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.armhf-omap @@ -0,0 +1,10 @@ +serial-modules +firewire-core-modules +floppy-modules +pcmcia-storage-modules +fb-modules +nic-pcmcia-modules +pcmcia-modules +pata-modules +message-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.i386-virtual +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.i386-virtual @@ -0,0 +1,15 @@ +pata-modules +serial-modules +firewire-core-modules +plip-modules +usb-modules +pcmcia-storage-modules +input-modules +nic-pcmcia-modules +pcmcia-modules +nic-usb-modules +nfs-modules +speakup-modules +ppp-modules +sata-modules +ipmi-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.ia64 +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.ia64 @@ -0,0 +1,4 @@ +irda-modules +floppy-modules +fb-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.powerpc +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.powerpc @@ -0,0 +1,4 @@ +efi-modules +fb-modules +acpi-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.sparc +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.sparc @@ -0,0 +1,9 @@ +efi-modules +nic-pcmcia-modules +pcmcia-modules +pcmcia-storage-modules +irda-modules +floppy-modules +fb-modules +acpi-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/kernel-versions.in +++ linux-lowlatency-3.5.0/debian.master/d-i/kernel-versions.in @@ -0,0 +1,14 @@ +# arch version flavour installedname suffix bdep +amd64 PKGVER-ABINUM generic PKGVER-ABINUM-generic - + +i386 PKGVER-ABINUM generic PKGVER-ABINUM-generic - + +armel PKGVER-ABINUM omap PKGVER-ABINUM-omap - + +armhf PKGVER-ABINUM omap PKGVER-ABINUM-omap - +armhf PKGVER-ABINUM highbank PKGVER-ABINUM-highbank - + +# Ports +# arch version flavour installedname suffix bdep +powerpc PKGVER-ABINUM powerpc-smp PKGVER-ABINUM-powerpc-smp - +powerpc PKGVER-ABINUM powerpc64-smp PKGVER-ABINUM-powerpc64-smp - --- linux-lowlatency-3.5.0.orig/debian.master/d-i/package-list +++ linux-lowlatency-3.5.0/debian.master/d-i/package-list @@ -0,0 +1,196 @@ +Package: kernel-image + +Package: fat-modules +Depends: kernel-image +Priority: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: fb-modules +Depends: kernel-image +Priority: standard +Description: Framebuffer modules + +Package: firewire-core-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: floppy-modules +Depends: kernel-image +Priority: standard +Description: Floppy driver support + +Package: fs-core-modules +Depends: kernel-image +Priority: standard +Provides: jfs-modules, reiserfs-modules, xfs-modules +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules +Depends: kernel-image, fat-modules +Priority: standard +Provides: ntfs-modules, hfs-modules +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: input-modules +Depends: kernel-image, usb-modules +Priority: standard +Description: Support for various input methods + +Package: irda-modules +Depends: kernel-image, nic-shared-modules +Priority: standard +Description: Support for Infrared protocols + +Package: md-modules +Depends: kernel-image +Priority: standard +Description: Multi-device support (raid, device-mapper, lvm) + +Package: nic-modules +Depends: kernel-image, nic-shared-modules, virtio-modules +Priority: standard +Description: Network interface support + +Package: nic-pcmcia-modules +Depends: kernel-image, nic-shared-modules, nic-modules +Priority: standard +Description: PCMCIA network interface support + +Package: nic-usb-modules +Depends: kernel-image, nic-shared-modules, usb-modules +Priority: standard +Description: USB network interface support + +Package: nic-shared-modules +Depends: kernel-image, crypto-modules +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: parport-modules +Depends: kernel-image +Priority: standard +Description: Parallel port support + +Package: pata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: PATA support modules + +Package: pcmcia-modules +Depends: kernel-image +Priority: standard +Description: PCMCIA Modules + +Package: pcmcia-storage-modules +Depends: kernel-image, scsi-modules +Priority: standard +Description: PCMCIA storage support + +Package: plip-modules +Depends: kernel-image, nic-shared-modules, parport-modules +Priority: standard +Description: PLIP (parallel port) networking support + +Package: ppp-modules +Depends: kernel-image, nic-shared-modules, serial-modules +Priority: standard +Description: PPP (serial port) networking support + +Package: sata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: SATA storage support + +Package: scsi-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: SCSI storage support + +Package: serial-modules +Depends: kernel-image +Priority: standard +Description: Serial port support + +Package: storage-core-modules +Depends: kernel-image +Priority: standard +Provides: loop-modules +Description: Core storage support + Includes core SCSI, LibATA, USB-Storage. Also includes related block + devices for CD, Disk and Tape medium (and IDE Floppy). + +Package: usb-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Core USB support + +Package: nfs-modules +Priority: standard +Depends: kernel-image +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: block-modules +Priority: standard +Depends: kernel-image, storage-core-modules, parport-modules, virtio-modules +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules +Priority: standard +Depends: kernel-image, storage-core-modules, scsi-modules +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: crypto-modules +Priority: extra +Depends: kernel-image +Description: crypto modules + This package contains crypto modules. + +Package: virtio-modules +Priority: standard +Depends: kernel-image +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: socket-modules +Depends: kernel-image +Priority: standard +Description: Unix socket support + +Package: mouse-modules +Depends: kernel-image, input-modules, usb-modules +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: squashfs-modules +Depends: kernel-image +Priority: extra +Description: squashfs modules + This package contains squashfs modules. + +Package: vlan-modules +Depends: kernel-image +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: ipmi-modules +Depends: kernel-image +Priority: standard +Description: ipmi modules + +Package: multipath-modules +Depends: kernel-image +Priority: extra +Description: DM-Multipath support + This package contains modules for device-mapper multipath support. + --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-firmware.armhf-highbank +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-firmware.armhf-highbank @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/exclude-modules.armhf-highbank +++ linux-lowlatency-3.5.0/debian.master/d-i/exclude-modules.armhf-highbank @@ -0,0 +1,13 @@ +serial-modules +firewire-core-modules +floppy-modules +pcmcia-storage-modules +fb-modules +nic-pcmcia-modules +pcmcia-modules +pata-modules +message-modules +virtio-modules +multipath-modules +sata-modules +ipmi-modules --- linux-lowlatency-3.5.0.orig/debian.master/d-i/firmware/README.txt +++ linux-lowlatency-3.5.0/debian.master/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-lowlatency-3.5.0.orig/debian.master/d-i/firmware/nic-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/firmware/nic-modules @@ -0,0 +1,14 @@ +e100/d101m_ucode.bin +e100/d101s_ucode.bin +e100/d102e_ucode.bin +bnx2x/bnx2x-e1h-7.2.51.0.fw +bnx2x/bnx2x-e1-7.2.51.0.fw +bnx2x/bnx2x-e2-7.2.51.0.fw +bnx2/bnx2-mips-09-6.2.1b.fw +bnx2/bnx2-rv2p-06-6.0.15.fw +bnx2/bnx2-mips-06-6.2.3.fw +bnx2/bnx2-rv2p-09-6.0.17.fw +bnx2/bnx2-rv2p-09ax-6.0.17.fw +tigon/tg3_tso5.bin +tigon/tg3_tso.bin +tigon/tg3.bin --- linux-lowlatency-3.5.0.orig/debian.master/d-i/firmware/scsi-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin +qlogic/12160.bin +qlogic/1280.bin --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules-powerpc/block-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules-powerpc/block-modules @@ -0,0 +1,31 @@ +aoe +aten +bpck +bpck6 ? +cciss +comm +cpqarray ? +DAC960 +dstr +epat +epia +fit2 +fit3 +friq +frpw +kbic +ktti +nbd +on20 +on26 +paride +pcd +pd +pf +pg +ps3disk ? +ps3vram ? +pt +sx8 +umem +virtio_blk ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules-powerpc/message-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules-powerpc/message-modules @@ -0,0 +1,13 @@ +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +i2o_block +i2o_bus +i2o_config ? +i2o_core +i2o_proc +i2o_scsi --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules-powerpc/nic-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules-powerpc/nic-modules @@ -0,0 +1,152 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +amd8111e ? +arc4 ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +atl1 ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm43xx ? +bcm43xx-mac80211 ? +bmac ? +bnx2 ? +bnx2x ? +bonding ? +cassini ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +ibmveth ? +ipddp ? +ipw2100 ? +ipw2200 ? +ipw3945 ? +ixgb ? +lance ? +lanstreamer ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +ps3_gelic ? +r8169 ? +rate_control ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2500 ? +rt61pci ? +s2io ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules-powerpc/scsi-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules-powerpc/scsi-modules @@ -0,0 +1,118 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +ibmvfc ? +ibmvscsic ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +ipr ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsic ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +sr_mod ? +sd_mod ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules-powerpc/storage-core-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules-powerpc/storage-core-modules @@ -0,0 +1,13 @@ +# Core stacks +usb-storage ? + +# Block level + +# Loop modules +cryptoloop + +# Needs to be here for better cdrom initrd layout +isofs + +ps3stor_lib ? +ps3rom ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules-sparc/block-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules-sparc/block-modules @@ -0,0 +1,9 @@ +aoe +cciss +comm +cpqarray ? +DAC960 +nbd +sx8 +umem +virtio_blk ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules-sparc/message-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules-sparc/message-modules @@ -0,0 +1,13 @@ +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +i2o_block +i2o_bus +i2o_config ? +i2o_core +i2o_proc +i2o_scsi --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/block-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/block-modules @@ -0,0 +1,32 @@ +aoe ? +aten ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +hpsa ? +kbic ? +ktti ? +nbd ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +pt ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? +mtip32xx ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/crypto-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/crypto-modules @@ -0,0 +1,70 @@ +aesni-intel ? +aes-x86_64 ? +af_alg ? +algif_hash ? +algif_skcipher ? +ansi_cprng ? +anubis ? +arc4 ? +async_memcpy ? +async_pq ? +async_raid6_recov ? +async_tx ? +async_xor ? +authenc ? +authencesn ? +blowfish_common ? +blowfish_generic ? +blowfish-x86_64 ? +camellia ? +cast5 ? +cast6 ? +ccm ? +cryptd ? +cryptoloop ? +crypto_null ? +crypto_user ? +ctr ? +cts ? +deflate ? +des_generic ? +fcrypt ? +gcm ? +gf128mul ? +ghash-clmulni-intel ? +ghash-generic ? +khazad ? +lrw ? +lzo ? +md4 ? +michael_mic ? +padlock-aes ? +padlock-sha ? +pcbc ? +pcrypt ? +raid6test ? +rmd128 ? +rmd160 ? +rmd256 ? +rmd320 ? +salsa20_generic ? +salsa20-x86_64 ? +seed ? +seqiv ? +serpent_generic ? +serpent-sse2-x86_64 ? +sha1-ssse3 ? +sha512_generic ? +tcrypt ? +tea ? +tgr192 ? +twofish_common ? +twofish_generic ? +twofish-x86_64 ? +twofish-x86_64-3way ? +vmac ? +wp512 ? +xcbc ? +xor ? +xts ? +zlib ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/fat-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/fat-modules @@ -0,0 +1,7 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/fb-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/firewire-core-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/floppy-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/fs-core-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/fs-core-modules @@ -0,0 +1,4 @@ +ext2 ? +jfs ? +reiserfs ? +xfs ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/fs-secondary-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/input-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/input-modules @@ -0,0 +1,22 @@ +hid-a4tech ? +hid-apple ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-cypress ? +hid-dell ? +hid-ezkey ? +hid-generic ? +hid-gyration ? +hid-logitech ? +hid-microsoft ? +hid-monterey ? +hid-petalynx ? +hid-pl ? +hid-samsung ? +hid-sony ? +hid-sunplus ? +hid-tmff ? +hid-zpff ? +usbhid ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/ipmi-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/irda-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/irda-modules @@ -0,0 +1,30 @@ +act200l-sir ? +actisys-sir ? +ali-ircc ? +donauboe ? +esi-sir ? +girbil-sir ? +ircomm ? +ircomm-tty ? +irda ? +irda-usb ? +irlan ? +irnet ? +irport ? +irtty-sir ? +kingsun-sir ? +ks959-sir ? +ksdazzle-sir ? +litelink-sir ? +ma600-sir ? +mcp2120-sir ? +mcs7780 ? +nsc-ircc ? +old_belkin-sir ? +sir-dev ? +smsc-ircc2 ? +stir4200 ? +tekram-sir ? +via-ircc ? +vlsi_ir ? +w83977af_ir ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/md-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/md-modules @@ -0,0 +1,15 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/message-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/message-modules @@ -0,0 +1,14 @@ +mptbase ? +mptctl ? +mptfc ? +mptlan ? +mptsas ? +mpt2sas ? +mptscsih ? +mptspi ? +i2o_block ? +i2o_bus ? +i2o_config ? +i2o_core ? +i2o_proc ? +i2o_scsi ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/mouse-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/multipath-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/multipath-modules @@ -0,0 +1,2 @@ +dm-multipath ? +dm-round-robin ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/nfs-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/nfs-modules @@ -0,0 +1,5 @@ +nfs ? +nfs_acl ? +lockd ? +sunrpc ? +cifs ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/nic-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/nic-modules @@ -0,0 +1,166 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +amd8111e ? +arc4 ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +ath5k ? +ath9k ? +ath9k_htc ? +atl1 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +be2net ? +bmac ? +bnx2 ? +bnx2x ? +bonding ? +brcmfmac ? +brcmsmac ? +cassini ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +ps3_gelic ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +ipddp ? +ipw2100 ? +ipw2200 ? +iwl3945 ? +iwl4965 ? +iwl-legacy ? +iwlwifi ? +ixgb ? +ixgbe ? +lance ? +lanstreamer ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +r8169 ? +rate_control ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2400pci ? +rt2500 ? +rt2500pci ? +rt2800pci ? +rt61pci ? +s2io ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? +vmxnet3 ? +xen-netfront ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/nic-pcmcia-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/nic-pcmcia-modules @@ -0,0 +1,19 @@ +3c574_cs ? +3c589_cs ? +airo_cs ? +atmel_cs ? +axnet_cs ? +com20020_cs ? +fmvj18x_cs ? +ibmtr_cs ? +netwave_cs ? +nmclan_cs ? +orinoco_cs ? +pcnet_cs ? +ray_cs ? +smc91c92_cs ? +wavelan_cs ? +wl3501_cs ? +xirc2ps_cs ? +xircom_cb ? +xircom_tulip_cb ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/nic-shared-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/nic-shared-modules @@ -0,0 +1,26 @@ +# PHY +8390 ? +mii ? + +# CRC modules +crc-ccitt ? +crc-itu-t ? +libcrc32c ? + +# mac80211 stuff +mac80211 ? +cfg80211 ? + +# rt2x00 lib (since rt2x00 is split across usb/pci/cb +rt2x00lib ? +rt2800lib ? + +# Atheros library (since drivers are split across nic-modules/nic-usb-modules) +ath ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/nic-usb-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/nic-usb-modules @@ -0,0 +1,32 @@ +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +rt2800usb ? +rt2x00usb ? +cdc_ether ? +asix ? +cdc_eem ? +cdc_ether ? +cdc-phonet ? +cdc_subset ? +dm9601 ? +gl620a ? +hso ? +int51x1 ? +mcs7830 ? +net1080 ? +plusb ? +rndis_host ? +smsc95xx ? +zaurus ? +carl9170 ? +smsc75xx ? +smsc95xx ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/parport-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/pata-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/pata-modules @@ -0,0 +1,47 @@ +pata_ali.ko ? +pata_amd.ko ? +pata_artop.ko ? +pata_atiixp.ko ? +pata_atp867x.ko ? +pata_cmd640.ko ? +pata_cmd64x.ko ? +pata_cs5520.ko ? +pata_cs5530.ko ? +pata_cs5535.ko ? +pata_cs5536.ko ? +pata_cypress.ko ? +pata_efar.ko ? +pata_hpt366.ko ? +pata_hpt37x.ko ? +pata_hpt3x2n.ko ? +pata_hpt3x3.ko ? +pata_isapnp.ko ? +pata_it8213.ko ? +pata_it821x.ko ? +pata_jmicron.ko ? +pata_legacy.ko ? +pata_macio.ko ? +pata_marvell.ko ? +pata_mpiix.ko ? +pata_netcell.ko ? +pata_ninja32.ko ? +pata_ns87410.ko ? +pata_ns87415.ko ? +pata_oldpiix.ko ? +pata_optidma.ko ? +pata_opti.ko ? +pata_pcmcia.ko ? +pata_pdc2027x.ko ? +pata_pdc202xx_old.ko ? +pata_qdi.ko ? +pata_radisys.ko ? +pata_rdc.ko ? +pata_rz1000.ko ? +pata_sc1200.ko ? +pata_sch.ko ? +pata_serverworks.ko ? +pata_sil680.ko ? +pata_sl82c105.ko ? +pata_triflex.ko ? +pata_via.ko ? +pata_winbond.ko ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/pcmcia-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/pcmcia-storage-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/plip-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/ppp-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/sata-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/sata-modules @@ -0,0 +1,13 @@ +sata_inic162x.ko ? +sata_mv.ko ? +sata_nv.ko ? +sata_promise.ko ? +sata_qstor.ko ? +sata_sil24.ko ? +sata_sil.ko ? +sata_sis.ko ? +sata_svw.ko ? +sata_sx4.ko ? +sata_uli.ko ? +sata_via.ko ? +sata_vsc.ko ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/scsi-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/scsi-modules @@ -0,0 +1,126 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +fnic ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +ipr ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsic ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +vmw_pvscsi ? +ums-cypress ? +be2iscsi ? +3w-sas ? +isci ? + +# device handlers +scsi_dh_alua ? +scsi_dh_emc ? +scsi_dh_rdac ? +scsi_dh_hp_sw ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/serial-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/serial-modules @@ -0,0 +1,3 @@ +generic_serial ? +serial_cs ? +synclink_cs ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/speakup-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/speakup-modules @@ -0,0 +1,16 @@ +speakup ? +speakup_acntpc ? +speakup_acntsa ? +speakup_apollo ? +speakup_audptr ? +speakup_bns ? +speakup_decext ? +speakup_dectlk ? +speakup_dtlk ? +speakup_dummy ? +speakup_keypc ? +speakup_ltlk ? +speakup_soft ? +speakup_spkout ? +speakup_txprt ? +speakup_decpc ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/squashfs-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/squashfs-modules @@ -0,0 +1 @@ +squashfs ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/storage-core-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/storage-core-modules @@ -0,0 +1,10 @@ +# Core stacks +usb-storage ? + +# Block level + +# Loop modules +cryptoloop ? + +# Needs to be here for better cdrom initrd layout +isofs ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/usb-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/usb-modules @@ -0,0 +1,10 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? +xhci-hcd ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/virtio-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/virtio-modules @@ -0,0 +1,9 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? +hv_vmbus ? +hv_utils ? +hv_netvsc ? +hv_mouse ? +hv_storvsc ? --- linux-lowlatency-3.5.0.orig/debian.master/d-i/modules/vlan-modules +++ linux-lowlatency-3.5.0/debian.master/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-lowlatency-3.5.0.orig/debian.master/etc/getabis +++ linux-lowlatency-3.5.0/debian.master/etc/getabis @@ -0,0 +1,17 @@ +repo_list=( + "http://archive.ubuntu.com/ubuntu/pool/main/l/linux" + "http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux" + "http://archive.ubuntu.com/ubuntu/pool/universe/l/linux" + "http://ports.ubuntu.com/ubuntu-ports/pool/universe/l/linux" + "http://ppa.launchpad.net/canonical-kernel-team/ppa/ubuntu/pool/main/l/linux" +) + +package_prefixes linux-image linux-image-extra + +getall armel omap +getall armhf omap highbank +getall amd64 generic +getall i386 generic + +# Ports arches and flavours. +getall powerpc powerpc-smp powerpc64-smp --- linux-lowlatency-3.5.0.orig/debian.master/etc/kernelconfig +++ linux-lowlatency-3.5.0/debian.master/etc/kernelconfig @@ -0,0 +1,7 @@ +if [ "$variant" = "ports" ]; then + archs="" + family='ports' +else + archs="amd64 i386 armel armhf powerpc ppc64" + family='ubuntu' +fi --- linux-lowlatency-3.5.0.orig/debian.master/rules.d/amd64.mk +++ linux-lowlatency-3.5.0/debian.master/rules.d/amd64.mk @@ -0,0 +1,11 @@ +human_arch = 64 bit x86 +build_arch = x86_64 +header_arch = $(build_arch) +defconfig = defconfig +flavours = generic +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +loader = grub +no_dumpfile = true +uefi_signed = true --- linux-lowlatency-3.5.0.orig/debian.master/rules.d/armel.mk +++ linux-lowlatency-3.5.0/debian.master/rules.d/armel.mk @@ -0,0 +1,11 @@ +human_arch = ARM (soft float) +build_arch = arm +header_arch = arm +defconfig = defconfig +flavours = omap +build_image = zImage +kernel_file = arch/$(build_arch)/boot/zImage +install_file = vmlinuz +no_dumpfile = true + +loader = grub --- linux-lowlatency-3.5.0.orig/debian.master/rules.d/armhf.mk +++ linux-lowlatency-3.5.0/debian.master/rules.d/armhf.mk @@ -0,0 +1,14 @@ +human_arch = ARM (hard float) +build_arch = arm +header_arch = arm +defconfig = defconfig +flavours = omap highbank +build_image = zImage +kernel_file = arch/$(build_arch)/boot/zImage +install_file = vmlinuz +no_dumpfile = true + +loader = grub + +# Flavour specific configuration. +dtb_file_highbank = arch/$(build_arch)/boot/highbank.dtb --- linux-lowlatency-3.5.0.orig/debian.master/rules.d/i386.mk +++ linux-lowlatency-3.5.0/debian.master/rules.d/i386.mk @@ -0,0 +1,10 @@ +human_arch = 32 bit x86 +build_arch = i386 +header_arch = x86_64 +defconfig = defconfig +flavours = generic +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +loader = grub +no_dumpfile = true --- linux-lowlatency-3.5.0.orig/debian.master/rules.d/powerpc.mk +++ linux-lowlatency-3.5.0/debian.master/rules.d/powerpc.mk @@ -0,0 +1,19 @@ +human_arch = PowerPC (32 bit userspace) +build_arch = powerpc +header_arch = $(build_arch) +defconfig = pmac32_defconfig +flavours = powerpc-smp powerpc64-smp +build_image = vmlinux +kernel_file = $(build_image) +install_file = $(build_image) + +loader = yaboot + +custom_flavours = + +no_dumpfile = true +skipdbg = true +skipabi = true +skipmodule = true + +family=ubuntu --- linux-lowlatency-3.5.0.orig/debian.master/rules.d/ppc64.mk +++ linux-lowlatency-3.5.0/debian.master/rules.d/ppc64.mk @@ -0,0 +1,19 @@ +human_arch = PowerPC (64 bit userspace) +build_arch = powerpc +header_arch = $(build_arch) +defconfig = ppc64_defconfig +flavours = powerpc64-smp +build_image = vmlinux +kernel_file = $(build_image) +install_file = $(build_image) + +loader = yaboot + +custom_flavours = + +no_dumpfile = true +skipdbg = true +skipabi = true +skipmodule = true + +family=ubuntu --- linux-lowlatency-3.5.0.orig/debian/compat +++ linux-lowlatency-3.5.0/debian/compat @@ -0,0 +1 @@ +5 --- linux-lowlatency-3.5.0.orig/debian/debian.env +++ linux-lowlatency-3.5.0/debian/debian.env @@ -0,0 +1 @@ +DEBIAN=debian.lowlatency --- linux-lowlatency-3.5.0.orig/debian/rules +++ linux-lowlatency-3.5.0/debian/rules @@ -0,0 +1,244 @@ +#!/usr/bin/make -f +# +# $(DEBIAN)/rules for Ubuntu linux +# +# Use this however you want, just give credit where credit is due. +# +# Copyright (c) 2007 Ben Collins +# + +DEBIAN=$(shell awk -F= '($$1 == "DEBIAN") { print $$2 }' $$new; \ + done + flavours="$(wildcard $(DEBIAN)/control.d/vars.* $(DEBIAN)/sub-flavours/*.vars)";\ + for i in $$flavours; do \ + $(SHELL) $(DROOT)/scripts/control-create $$i | \ + sed -e 's/PKGVER/$(release)/g' \ + -e 's/ABINUM/$(abinum)/g' \ + -e 's/SRCPKGNAME/$(src_pkg_name)/g' \ + -e 's/=HUMAN=/$(human_arch)/g' \ + >> $(DEBIAN)/control.stub; \ + done + cp $(DEBIAN)/control.stub $(DEBIAN)/control + +.PHONY: hook-before-clean +hook-before-clean:: + +.PHONY: debian/control +debian/control: hook-before-clean $(DEBIAN)/control.stub + rm -rf $(builddir)/modules $(builddir)/firmware \ + $(builddir)/kernel-versions $(builddir)/package-list \ + $(builddir)/$(DEBIAN) + mkdir -p $(builddir)/modules/$(arch)/ + cp $(DEBIAN)/d-i/modules/* $(builddir)/modules/$(arch)/ + mkdir -p $(builddir)/firmware/$(arch)/ + cp $(DEBIAN)/d-i/firmware/* $(builddir)/firmware/$(arch)/ + cp $(DEBIAN)/d-i/package-list $(DEBIAN)/d-i/kernel-versions $(builddir)/ + touch $(builddir)/modules/$(arch)/kernel-image + # kernel-wedge needs to poke around in $(DEBIAN)/ + ln -nsf $(CURDIR)/debian $(builddir)/debian + + # Some files may need to differ between architectures + if [ -d $(DEBIAN)/d-i/modules-$(arch) ]; then \ + cp $(DEBIAN)/d-i/modules-$(arch)/* \ + $(builddir)/modules/$(arch)/; \ + fi + if [ -d $(DEBIAN)/d-i/firmware-$(arch) ]; then \ + cp $(DEBIAN)/d-i/firmware-$(arch)/* \ + $(builddir)/firmware/$(arch)/; \ + fi + + # Remove unwanted stuff for this architecture + if [ -r "$(DEBIAN)/d-i/exclude-modules.$(arch)" ]; then \ + (cat $(DEBIAN)/d-i/exclude-modules.$(arch); \ + ls $(builddir)/modules/$(arch)/) | sort | uniq -d | \ + (cd $(builddir)/modules/$(arch)/; xargs rm -f); \ + fi + if [ -r "$(DEBIAN)/d-i/exclude-firmware.$(arch)" ]; then \ + (cat $(DEBIAN)/d-i/exclude-firmware.$(arch); \ + ls $(builddir)/firmware/$(arch)/) | sort | uniq -d | \ + (cd $(builddir)/firmware/$(arch)/; xargs rm -f); \ + fi + + # Per flavour module lists + flavour_modules=`ls $(DEBIAN)/d-i/modules.$(arch)-* 2>/dev/null` \ + || true; \ + if [ "$$flavour_modules" != "" ]; then \ + for flav in $$flavour_modules; do \ + name=`echo $$flav | sed 's/.*\/modules.$(arch)-//'`; \ + mkdir $(builddir)/modules/$(arch)-$$name; \ + (cd $(builddir)/modules/; tar cf - `cat ../$$flav`) | \ + (cd $(builddir)/modules/$(arch)-$$name/; tar xf -); \ + touch $(builddir)/modules/$(arch)-$$name/kernel-image; \ + done; \ + fi + flavour_firmware=`ls $(DEBIAN)/d-i/firmware.$(arch)-* 2>/dev/null` \ + || true; \ + if [ "$$flavour_firmware" != "" ]; then \ + for flav in $$flavour_firmware; do \ + name=`echo $$flav | sed 's/.*\/firmware.$(arch)-//'`; \ + mkdir $(builddir)/firmware/$(arch)-$$name; \ + (cd $(builddir)/firmware/; tar cf - `cat ../$$flav`) | \ + (cd $(builddir)/firmware/$(arch)-$$name/; tar xf -);\ + touch $(builddir)/firmware/$(arch)-$$name/kernel-image; \ + done; \ + fi + + # Some files may need to differ between flavours + flavour_module_dirs=`ls -d $(DEBIAN)/d-i/modules-$(arch)-* 2>/dev/null`\ + || true; \ + if [ "$$flavour_module_dirs" ]; then \ + for flav in $$flavour_module_dirs; do \ + name=`echo $$flav | sed 's/.*\/modules-$(arch)-//'`; \ + [ -d $(builddir)/modules/$(arch)-$$name ] || \ + cp -a $(builddir)/modules/$(arch) \ + modules/$(arch)-$$name; \ + cp $$flav/* $(builddir)/modules/$(arch)-$$name/; \ + done; \ + fi + flavour_firmware_dirs=`ls -d $(DEBIAN)/d-i/firmware-$(arch)-* 2>/dev/null`\ + || true; \ + if [ "$$flavour_firmware_dirs" ]; then \ + for flav in $$flavour_firmware_dirs; do \ + name=`echo $$flav | sed 's/.*\/firmware-$(arch)-//'`; \ + [ -d $(builddir)/firmware/$(arch)-$$name ] || \ + cp -a $(builddir)/firmware/$(arch) \ + firmware/$(arch)-$$name; \ + cp $$flav/* $(builddir)/firmware/$(arch)-$$name/; \ + done; \ + fi + + # Remove unwanted stuff for each flavour + flavour_exclude=`ls $(DEBIAN)/d-i/exclude-modules.$(arch)-* 2>/dev/null`\ + || true; \ + if [ "$$flavour_exclude" ]; then \ + for flav in $$flavour_exclude; do \ + name=`echo $$flav | sed 's/.*\/exclude-modules.$(arch)-//'`;\ + [ -d $(builddir)/modules/$(arch)-$$name ] || \ + cp -a $(builddir)/modules/$(arch) \ + $(builddir)/modules/$(arch)-$$name; \ + (cat $$flav; \ + ls $(builddir)/modules/$(arch)-$$name) | \ + sort | uniq -d | \ + (cd $(builddir)/modules/$(arch)-$$name/; \ + xargs rm -f); \ + done; \ + fi + flavour_exclude=`ls $(DEBIAN)/d-i/exclude-firmware.$(arch)-* 2>/dev/null`\ + || true; \ + if [ "$$flavour_exclude" ]; then \ + for flav in $$flavour_exclude; do \ + name=`echo $$flav | sed 's/.*\/exclude-firmware.$(arch)-//'`;\ + [ -d $(builddir)/firmware/$(arch)-$$name ] || \ + cp -a $(builddir)/firmware/$(arch) \ + $(builddir)/firmware/$(arch)-$$name; \ + (cat $$flav; \ + ls $(builddir)/firmware/$(arch)-$$name) | \ + sort | uniq -d | \ + (cd $(builddir)/firmware/$(arch)-$$name/; \ + xargs rm -f); \ + done; \ + fi + + if [ ! -d $(builddir)/modules/$(build_arch) ]; then \ + mkdir -p $(builddir)/modules/$(build_arch); \ + cp $(builddir)/modules/$(arch)/* \ + $(builddir)/modules/$(build_arch); \ + fi + if [ ! -d $(builddir)/firmware/$(build_arch) ]; then \ + mkdir -p $(builddir)/firmware/$(build_arch); \ + cp $(builddir)/firmware/$(arch)/* \ + $(builddir)/firmware/$(build_arch); \ + fi + + cp $(DEBIAN)/control.stub debian/control.stub + cd $(builddir) && kernel-wedge gen-control > $(CURDIR)/debian/control --- linux-lowlatency-3.5.0.orig/debian/control.stub +++ linux-lowlatency-3.5.0/debian/control.stub @@ -0,0 +1,161 @@ +Source: linux-lowlatency +Section: devel +Priority: optional +Maintainer: Ubuntu Developers +Uploaders: UbuntuStudio Developers +Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4) +Build-Conflicts: findutils (= 4.4.1-1ubuntu1) +Vcs-Git: git://kernel.ubuntu.com/apw/ubuntu-quantal-lowlatency.git + +Package: linux-image-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86/x86_64 + This package provides kernel header files for version 3.5.0 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86/x86_64 + This package provides a kernel debug image for version 3.5.0 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency-pae (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86 + This package provides kernel header files for version 3.5.0 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86 + This package provides a kernel debug image for version 3.5.0 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. --- linux-lowlatency-3.5.0.orig/debian/control +++ linux-lowlatency-3.5.0/debian/control @@ -0,0 +1,529 @@ +Source: linux-lowlatency +Section: devel +Priority: optional +Maintainer: Ubuntu Developers +Uploaders: UbuntuStudio Developers +Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4) +Build-Conflicts: findutils (= 4.4.1-1ubuntu1) +Vcs-Git: git://kernel.ubuntu.com/apw/ubuntu-quantal-lowlatency.git + +Package: linux-image-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86/x86_64 + This package provides kernel header files for version 3.5.0 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86/x86_64 + This package provides a kernel debug image for version 3.5.0 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency-pae (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86 + This package provides kernel header files for version 3.5.0 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86 + This package provides a kernel debug image for version 3.5.0 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: kernel-image-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: kernel-image +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: extra +Description: Linux kernel binary image for the Debian installer + This package contains the Linux kernel image for the Debian installer + boot images. It does _not_ provide a usable kernel for your full + Debian system. + +Package: nic-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: nic-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, nic-shared-modules-3.5.0-22-lowlatency-di, virtio-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Network interface support + +Package: nic-shared-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: nic-shared-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, crypto-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: serial-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: serial-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Serial port support + +Package: ppp-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: ppp-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, nic-shared-modules-3.5.0-22-lowlatency-di, serial-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: PPP (serial port) networking support + +Package: firewire-core-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: firewire-core-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, storage-core-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: scsi-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: scsi-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, storage-core-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: SCSI storage support + +Package: plip-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: plip-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, nic-shared-modules-3.5.0-22-lowlatency-di, parport-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: PLIP (parallel port) networking support + +Package: floppy-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: floppy-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Floppy driver support + +Package: fat-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: fat-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: nfs-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: nfs-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: md-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: md-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Multi-device support (raid, device-mapper, lvm) + +Package: usb-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: usb-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, storage-core-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Core USB support + +Package: pcmcia-storage-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: pcmcia-storage-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, scsi-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: PCMCIA storage support + +Package: fb-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: fb-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Framebuffer modules + +Package: input-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: input-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, usb-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Support for various input methods + +Package: mouse-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: mouse-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, input-modules-3.5.0-22-lowlatency-di, usb-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: irda-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: irda-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, nic-shared-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Support for Infrared protocols + +Package: parport-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: parport-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Parallel port support + +Package: nic-pcmcia-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: nic-pcmcia-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, nic-shared-modules-3.5.0-22-lowlatency-di, nic-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: PCMCIA network interface support + +Package: pcmcia-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: pcmcia-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: PCMCIA Modules + +Package: nic-usb-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: nic-usb-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, nic-shared-modules-3.5.0-22-lowlatency-di, usb-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: USB network interface support + +Package: sata-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: sata-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, storage-core-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: SATA storage support + +Package: crypto-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: crypto-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: extra +Description: crypto modules + This package contains crypto modules. + +Package: fs-core-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: fs-core-modules, jfs-modules, reiserfs-modules, xfs-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: fs-secondary-modules, ntfs-modules, hfs-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, fat-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: pata-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: pata-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, storage-core-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: PATA support modules + +Package: storage-core-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: storage-core-modules, loop-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Core storage support + Includes core SCSI, LibATA, USB-Storage. Also includes related block + devices for CD, Disk and Tape medium (and IDE Floppy). + +Package: block-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: block-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, storage-core-modules-3.5.0-22-lowlatency-di, parport-modules-3.5.0-22-lowlatency-di, virtio-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: message-modules +Depends: kernel-image-3.5.0-22-lowlatency-di, storage-core-modules-3.5.0-22-lowlatency-di, scsi-modules-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: virtio-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: virtio-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: squashfs-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: squashfs-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: extra +Description: squashfs modules + This package contains squashfs modules. + +Package: vlan-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: vlan-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: ipmi-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: ipmi-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: standard +Description: ipmi modules + +Package: multipath-modules-3.5.0-22-lowlatency-di +XC-Package-Type: udeb +Provides: multipath-modules +Depends: kernel-image-3.5.0-22-lowlatency-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-22-lowlatency +Section: debian-installer +Priority: extra +Description: DM-Multipath support + This package contains modules for device-mapper multipath support. --- linux-lowlatency-3.5.0.orig/debian/changelog +++ linux-lowlatency-3.5.0/debian/changelog @@ -0,0 +1,3053 @@ +linux-lowlatency (3.5.0-22.21) quantal-proposed; urgency=low + + [ Kaj Ailomaa ] + + * rebase to Ubuntu-3.5.0-22.34 + * Release Tracking Bug + - LP: #1097918 + + [ Ubuntu: 3.5.0-22.34 ] + + * Release Tracking Bug + - LP: #1097343 + * Revert "SAUCE: fsnotify: dont put marks on temporary list when clearing + marks by group" + - LP: #1096137 + * Revert "SAUCE: fsnotify: introduce locked versions of + fsnotify_add_mark() and fsnotify_remove_mark()" + - LP: #1096137 + * Revert "SAUCE: fsnotify: pass group to fsnotify_destroy_mark()" + - LP: #1096137 + * Revert "SAUCE: fsnotify: use a mutex instead of a spinlock to protect a + groups mark list" + - LP: #1096137 + * Revert "SAUCE: fanotify: add an extra flag to mark_remove_from_mask + that indicates wheather a mark should be destroyed" + - LP: #1096137 + * Revert "SAUCE: fsnotify: take groups mark_lock before mark lock" + - LP: #1096137 + * Revert "SAUCE: fsnotify: use reference counting for groups" + - LP: #1096137 + * Revert "SAUCE: fsnotify: introduce fsnotify_get_group()" + - LP: #1096137 + * fsnotify: introduce fsnotify_get_group() + - LP: #1096137 + * fsnotify: use reference counting for groups + - LP: #1096137 + * fsnotify: take groups mark_lock before mark lock + - LP: #1096137 + * fanotify: add an extra flag to mark_remove_from_mask that indicates + wheather a mark should be destroyed + - LP: #1096137 + * fsnotify: use a mutex instead of a spinlock to protect a groups mark + list + - LP: #1096137 + * fsnotify: pass group to fsnotify_destroy_mark() + - LP: #1096137 + * fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #1096137 + * fsnotify: dont put marks on temporary list when clearing marks by group + - LP: #1096137 + * fsnotify: change locking order + - LP: #1096137 + + -- Kaj Ailomaa Thu, 10 Jan 2013 15:25:01 +0100 + +linux-lowlatency (3.5.0-22.20) quantal-proposed; urgency=low + + [ Kaj Ailomaa ] + + * rebase to Ubuntu-3.5.0-22.33 + * Release Tracking Bug + - LP: #1095814 + + [ Ubuntu: 3.5.0-22.33 ] + + * Release Tracking Bug + - LP: #1095349 + * SAUCE: add eeprom_bad_csum_allow module parameter + - LP: #1070182 + * SAUCE: samsung-laptop: disable in UEFI mode + - LP: #1040557 + * SAUCE: exec: do not leave bprm->interp on stack + - LP: #1068888 + - CVE-2012-4530 + * Add ceph to linux-image for virtual instances + - LP: #1063784 + * SAUCE: fsnotify: introduce fsnotify_get_group() + - LP: #922906 + * SAUCE: fsnotify: use reference counting for groups + - LP: #922906 + * SAUCE: fsnotify: take groups mark_lock before mark lock + - LP: #922906 + * SAUCE: fanotify: add an extra flag to mark_remove_from_mask that + indicates wheather a mark should be destroyed + - LP: #922906 + * SAUCE: fsnotify: use a mutex instead of a spinlock to protect a groups + mark list + - LP: #922906 + * SAUCE: fsnotify: pass group to fsnotify_destroy_mark() + - LP: #922906 + * SAUCE: fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #922906 + * SAUCE: fsnotify: dont put marks on temporary list when clearing marks + by group + - LP: #922906 + * SAUCE: tools: hv: Netlink source address validation allows DoS + - LP: #1084777 + - CVE-2012-5532 + * Revert "Staging: Android alarm: IOCTL command encoding fix" + - LP: #1091251 + * Revert "sched, autogroup: Stop going ahead if autogroup is disabled" + - LP: #1091251 + * Revert "serial: omap: fix software flow control" + - LP: #1091251 + * drm/i915: EBUSY status handling added to i915_gem_fault(). + - LP: #1087302 + * MISC: hpilo, remove pci_disable_device + - LP: #1087860 + * asix: Adds support for Lenovo 10/100 USB dongle. + - LP: #1087480 + * hpsa: gen8plus Smart Array IDs + - LP: #1089623 + * KVM: x86: invalid opcode oops on SET_SREGS with OSXSAVE bit set + (CVE-2012-4461) + - LP: #1089604 + - CVE-2012-4461 + * gpio-timberdale: fix a potential wrapping issue + - LP: #1091251 + * cfg80211: fix antenna gain handling + - LP: #1091251 + * drm/i915: fix overlay on i830M + - LP: #1091251 + * drm/i915: clear the entire sdvo infoframe buffer + - LP: #1091251 + * mac80211: use blacklist for duplicate IE check + - LP: #1091251 + * mac80211: Only process mesh config header on frames that RA_MATCH + - LP: #1091251 + * mac80211: don't inspect Sequence Control field on control frames + - LP: #1091251 + * gpiolib: Don't return -EPROBE_DEFER to sysfs, or for invalid gpios + - LP: #1091251 + * qla2xxx: Update target lookup session tables when a target session + changes + - LP: #1091251 + * mac80211: fix SSID copy on IBSS JOIN + - LP: #1091251 + * wireless: drop invalid mesh address extension frames + - LP: #1091251 + * mac80211: check management frame header length + - LP: #1091251 + * mac80211: verify that skb data is present + - LP: #1091251 + * mac80211: make sure data is accessible in EAPOL check + - LP: #1091251 + * target: Fix double-free of se_cmd in target_complete_tmr_failure + - LP: #1091251 + * ext4: fix unjournaled inode bitmap modification + - LP: #1091251 + * ath9k: fix stale pointers potentially causing access to free'd skbs + - LP: #1091251 + * floppy: don't call alloc_ordered_workqueue inside the alloc_disk loop + - LP: #1091251 + * floppy: do put_disk on current dr if blk_init_queue fails + - LP: #1091251 + * floppy: properly handle failure on add_disk loop + - LP: #1091251 + * ALSA: PCM: Fix some races at disconnection + - LP: #1091251 + * ALSA: usb-audio: Fix races at disconnection + - LP: #1091251 + * ALSA: usb-audio: Use rwsem for disconnect protection + - LP: #1091251 + * ALSA: usb-audio: Fix races at disconnection in mixer_quirks.c + - LP: #1091251 + * ALSA: Add a reference counter to card instance + - LP: #1091251 + * ALSA: Avoid endless sleep after disconnect + - LP: #1091251 + * xen/gntdev: don't leak memory from IOCTL_GNTDEV_MAP_GRANT_REF + - LP: #1091251 + * rt2800: validate step value for temperature compensation + - LP: #1091251 + * ath9k: Test for TID only in BlockAcks while checking tx status + - LP: #1091251 + * md/raid1: Fix assembling of arrays containing Replacements. + - LP: #1091251 + * Input: tsc40 - remove wrong announcement of pressure support + - LP: #1091251 + * HID: microsoft: fix invalid rdesc for 3k kbd + - LP: #1091251 + * xen/mmu: Use Xen specific TLB flush instead of the generic one. + - LP: #1091251 + * NFS: Wait for session recovery to finish before returning + - LP: #1091251 + * NFSv4.1: We must release the sequence id when we fail to get a session + slot + - LP: #1091251 + * NFSv4: nfs4_locku_done must release the sequence id + - LP: #1091251 + * NFS: fix bug in legacy DNS resolver. + - LP: #1091251 + * nfsv3: Make v3 mounts fail with ETIMEDOUTs instead EIO on mountd + timeouts + - LP: #1091251 + * nfs: Show original device name verbatim in /proc/*/mount{s,info} + - LP: #1091251 + * target: Don't return success from module_init() if setup fails + - LP: #1091251 + * target: Avoid integer overflow in se_dev_align_max_sectors() + - LP: #1091251 + * iscsi-target: Fix missed wakeup race in TX thread + - LP: #1091251 + * target: Fix incorrect usage of nested IRQ spinlocks in ABORT_TASK path + - LP: #1091251 + * DRM/Radeon: Fix Load Detection on legacy primary DAC. + - LP: #1091251 + * ixgbe: PTP get_ts_info missing software support + - LP: #1091251 + * drm/udl: fix stride issues scanning out stride != width*bpp + - LP: #1091251 + * crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent + data corruption + - LP: #1091251 + * module: fix out-by-one error in kallsyms + - LP: #1091251 + * cifs: fix potential buffer overrun in cifs.idmap handling code + - LP: #1091251 + * ptp: update adjfreq callback description + - LP: #1091251 + * ALSA: hda: Cirrus: Fix coefficient index for beep configuration + - LP: #1091251 + * ALSA: HDA: Fix digital microphone on CS420x + - LP: #1091251 + * ALSA: hda - Force to reset IEC958 status bits for AD codecs + - LP: #1091251, #359361 + * hwmon: (w83627ehf) Force initial bank selection + - LP: #1091251 + * drm: restore open_count if drm_setup fails + - LP: #1091251 + * ALSA: hda - Fix empty DAC filling in patch_via.c + - LP: #1091251 + * ALSA: hda - Fix invalid connections in VT1802 codec + - LP: #1091251 + * xen/events: fix RCU warning, or Call idle notifier after irq_enter() + - LP: #1091251 + * mmc: sdhci: fix NULL dereference in sdhci_request() tuning + - LP: #1091251 + * ALSA: hda - Improve HP depop when system enter to S3 + - LP: #1091251 + * ALSA: hda - Add new codec ALC668 and ALC900 (default name ALC1150) + - LP: #1091251 + * ALSA: Fix card refcount unbalance + - LP: #1091251 + * drm/radeon/cayman: add some missing regs to the VM reg checker + - LP: #1091251 + * drm/radeon/si: add some missing regs to the VM reg checker + - LP: #1091251 + * xfs: fix buffer shudown reference count mismatch + - LP: #1091251 + * xfs: fix reading of wrapped log data + - LP: #1091251 + * virtio: Don't access index after unregister. + - LP: #1091251 + * fanotify: fix missing break + - LP: #1091251 + * mm: bugfix: set current->reclaim_state to NULL while returning from + kswapd() + - LP: #1091251 + * drm/vmwgfx: Fix hibernation device reset + - LP: #1091251 + * drm/vmwgfx: Fix a case where the code would BUG when trying to pin GMR + memory + - LP: #1091251 + * UBIFS: introduce categorized lprops counter + - LP: #1091251 + * UBIFS: fix mounting problems after power cuts + - LP: #1091251 + * USB: usb_wwan: fix bulk-urb allocation + - LP: #1091251 + * ARM: dt: tegra: fix length of pad control and mux registers + - LP: #1091251 + * futex: Handle futex_pi OWNER_DIED take over correctly + - LP: #1091251 + * mac80211: sync acccess to tx_filtered/ps_tx_buf queues + - LP: #1091251 + * iwlwifi: handle DMA mapping failures + - LP: #1091251 + * ASoC: wm8978: pll incorrectly configured when codec is master + - LP: #1091251 + * ASoC: cs42l52: fix the return value of cs42l52_set_fmt() + - LP: #1091251 + * Bluetooth: Fix having bogus entries in mgmt_read_index_list reply + - LP: #1091251 + * mac80211: don't send null data packet when not associated + - LP: #1091251 + * ASoC: dapm: Use card_list during DAPM shutdown + - LP: #1091251 + * ASoC: core: Double control update err for snd_soc_put_volsw_sx + - LP: #1091251 + * mac80211: call skb_dequeue/ieee80211_free_txskb instead of + __skb_queue_purge + - LP: #1091251 + * ALSA: hda - Add a missing quirk entry for iMac 9,1 + - LP: #1091251 + * s390/signal: set correct address space control + - LP: #1091251 + * wireless: allow 40 MHz on world roaming channels 12/13 + - LP: #1091251 + * drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures + - LP: #1091251 + * s390/gup: add missing TASK_SIZE check to get_user_pages_fast() + - LP: #1091251 + * USB: option: add Novatel E362 and Dell Wireless 5800 USB IDs + - LP: #1091251 + * USB: option: add Alcatel X220/X500D USB IDs + - LP: #1091251 + * i2c-mux-pinctrl: Fix probe error path + - LP: #1091251 + * ALSA: usb-audio: Fix mutex deadlock at disconnection + - LP: #1091251 + * drm/radeon: fix logic error in atombios_encoders.c + - LP: #1091251 + * ttm: Clear the ttm page allocated from high memory zone correctly + - LP: #1091251 + * ARM: imx: ehci: fix host power mask bit + - LP: #1091251 + * memcg: oom: fix totalpages calculation for memory.swappiness==0 + - LP: #1091251 + * memcg: fix hotplugged memory zone oops + - LP: #1091251 + * tmpfs: fix shmem_getpage_gfp() VM_BUG_ON + - LP: #1091251 + * tmpfs: change final i_blocks BUG to WARNING + - LP: #1091251 + * mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions() + - LP: #1091251 + * mtd: slram: invalid checking of absolute end address + - LP: #1091251 + * jffs2: Fix lock acquisition order bug in jffs2_write_begin + - LP: #1091251 + * isci: copy fis 0x34 response into proper buffer + - LP: #1091251 + * mac80211: deinitialize ibss-internals after emptiness check + - LP: #1091251 + * iwlwifi: fix monitor mode FCS flag + - LP: #1091251 + * fix virtual aliasing issue in get_shared_area() + - LP: #1091251 + * rtlwifi: rtl8192cu: Add new USB ID + - LP: #1091251 + * mwifiex: fix system hang issue in cmd timeout error case + - LP: #1091251 + * mwifiex: report error to MMC core if we cannot suspend + - LP: #1091251 + * xfs: drop buffer io reference when a bad bio is built + - LP: #1091251 + * m68k: fix sigset_t accessor functions + - LP: #1091251 + * ALSA: ua101, usx2y: fix broken MIDI output + - LP: #1091251 + * sparc64: not any error from do_sigaltstack() should fail rt_sigreturn() + - LP: #1091251 + * reiserfs: Fix lock ordering during remount + - LP: #1091251 + * reiserfs: Protect reiserfs_quota_on() with write lock + - LP: #1091251 + * reiserfs: Protect reiserfs_quota_write() with write lock + - LP: #1091251 + * reiserfs: Move quota calls out of write lock + - LP: #1091251 + * md: Reassigned the parameters if read_seqretry returned true in func + md_is_badblock. + - LP: #1091251 + * md: Avoid write invalid address if read_seqretry returned true. + - LP: #1091251 + * drm/radeon/dce4+: don't use radeon_crtc for vblank callback + - LP: #1091251 + * drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) + - LP: #1091251 + * drm/radeon: properly track the crtc not_enabled case + evergreen_mc_stop() + - LP: #1091251 + * radeon: add AGPMode 1 quirk for RV250 + - LP: #1091251 + * x86, efi: Fix processor-specific memcpy() build error + - LP: #1091251 + * x86-32: Fix invalid stack address while in softirq + - LP: #1091251 + * x86-32: Export kernel_stack_pointer() for modules + - LP: #1091251 + * x86, microcode, AMD: Add support for family 16h processors + - LP: #1091251 + * ALSA: hda - Add new codec ALC283 ALC290 support + - LP: #1091251 + * ALSA: hda - Add support for Realtek ALC292 + - LP: #1081466, #1091251 + * selinux: fix sel_netnode_insert() suspicious rcu dereference + - LP: #1091251 + * drm/radeon: add new SI pci id + - LP: #1091251 + * md/raid10: close race that lose writes lost when replacement completes. + - LP: #1091251 + * md/raid10: decrement correct pending counter when writing to + replacement. + - LP: #1091251 + * fix user-triggerable panic on parisc + - LP: #1091251 + * dm: fix deadlock with request based dm and queue request_fn recursion + - LP: #1091251 + * block: Don't access request after it might be freed + - LP: #1091251 + * PM / QoS: fix wrong error-checking condition + - LP: #1091251 + * i7300_edac: Fix error flag testing + - LP: #1091251 + * iwlwifi: fix the basic CCK rates calculation + - LP: #1091251 + * Dove: Attempt to fix PMU/RTC interrupts + - LP: #1091251 + * Dove: Fix irq_to_pmu() + - LP: #1091251 + * ARM: Kirkwood: Update PCI-E fixup + - LP: #1091251 + * jbd: Fix lock ordering bug in journal_unmap_buffer() + - LP: #1091251 + * can: peak_usb: fix hwtstamp assignment + - LP: #1091251 + * can: bcm: initialize ifindex for timeouts without previous frame + reception + - LP: #1091251 + * writeback: put unused inodes to LRU after writeback completion + - LP: #1091251 + * futex: avoid wake_futex() for a PI futex_q + - LP: #1091251 + * mm/vmemmap: fix wrong use of virt_to_page + - LP: #1091251 + * mm: vmscan: fix endless loop in kswapd balancing + - LP: #1091251 + * mm: soft offline: split thp at the beginning of soft_offline_page() + - LP: #1091251 + * x86, fpu: Avoid FPU lazy restore after suspend + - LP: #1091251 + * workqueue: exit rescuer_thread() as TASK_RUNNING + - LP: #1091251 + * Revert misapplied "mmc: sh-mmcif: avoid oops on spurious interrupts" + - LP: #1091251 + * mmc: sh-mmcif: avoid oops on spurious interrupts (second try) + - LP: #1091251 + * tmpfs: fix shared mempolicy leak + - LP: #1091251 + * HID: microsoft: do not use compound literal - fix build + - LP: #1091251 + * ACPI video: Ignore errors after _DOD evaluation. + - LP: #1091251 + * SUNRPC: Fix a UDP transport regression + - LP: #1091251 + * SUNRPC: Set alloc_slot for backchannel tcp ops + - LP: #1091251 + * sparc64: fix ptrace interaction with force_successful_syscall_return() + - LP: #1091251 + * sparc64: Like x86 we should check current->mm during perf backtrace + generation. + - LP: #1091251 + * sparc64: Fix bit twiddling in sparc_pmu_enable_event(). + - LP: #1091251 + * sparc64: do not clobber personality flags in sys_sparc64_personality() + - LP: #1091251 + * sparc64: Be less verbose during vmemmap population. + - LP: #1091251 + * netlink: add reference of module in netlink_dump_start + - LP: #1091251 + * infiniband: pass rdma_cm module to netlink_dump_start + - LP: #1091251 + * net: remove skb recycling + - LP: #1091251 + * net: Fix skb_under_panic oops in neigh_resolve_output + - LP: #1091251 + * skge: Add DMA mask quirk for Marvell 88E8001 on ASUS P5NSLI motherboard + - LP: #1091251 + * vlan: don't deliver frames for unknown vlans to protocols + - LP: #1091251 + * RDS: fix rds-ping spinlock recursion + - LP: #1091251 + * tcp: resets are misrouted + - LP: #1091251 + * ipv6: addrconf: fix /proc/net/if_inet6 + - LP: #1091251 + * drm/i915: Use cpu relocations if the object is in the GTT but not + mappable + - LP: #1091251 + * floppy: destroy floppy workqueue before cleaning up the queue + - LP: #1091251 + * drm/nouveau: silence modesetting spam on pre-gf8 chipsets + - LP: #1091251 + * drm/nouveau: fix suspend/resume when in headless mode + - LP: #1091251 + * drm/nouveau: headless mode by default if pci class != vga display + - LP: #1091251 + * sky2: Fix for interrupt handler + - LP: #1091251 + * batman-adv: Fix broadcast packet CRC calculation + - LP: #1091251 + * drm/radeon: fix typo in evergreen_mc_resume() + - LP: #1091251 + * GFS2: Test bufdata with buffer locked and gfs2_log_lock held + - LP: #1091251 + * USB: mos7840: remove unused variable + - LP: #1091251 + * sctp: fix call to SCTP_CMD_PROCESS_SACK in sctp_cmd_interpreter() + - LP: #1091251 + * netlink: use kfree_rcu() in netlink_release() + - LP: #1091251 + * tcp: fix FIONREAD/SIOCINQ + - LP: #1091251 + * ipv6: Set default hoplimit as zero. + - LP: #1091251 + * net: usb: Fix memory leak on Tx data path + - LP: #1091251 + * drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before + mdiobus_free + - LP: #1091251 + * l2tp: fix oops in l2tp_eth_create() error path + - LP: #1091251 + * tcp-repair: Handle zero-length data put in rcv queue + - LP: #1091251 + * net: inet_diag -- Return error code if protocol handler is missed + - LP: #1091251 + * af-packet: fix oops when socket is not present + - LP: #1091251 + * ipv6: send unsolicited neighbour advertisements to all-nodes + - LP: #1091251 + * r8169: allow multicast packets on sub-8168f chipset. + - LP: #1091251 + * r8169: Fix WoL on RTL8168d/8111d. + - LP: #1091251 + * r8169: use unlimited DMA burst for TX + - LP: #1091251 + * netfilter: Mark SYN/ACK packets as invalid from original direction + - LP: #1091251 + * netfilter: Validate the sequence number of dataless ACK packets as well + - LP: #1091251 + * netfilter: nf_nat: don't check for port change on ICMP tuples + - LP: #1091251 + * ipv4: avoid undefined behavior in do_ip_setsockopt() + - LP: #1091251 + * ipv6: setsockopt(IPIPPROTO_IPV6, IPV6_MINHOPCOUNT) forgot to set return + value + - LP: #1091251 + * net: correct check in dev_addr_del() + - LP: #1091251 + * net-rps: Fix brokeness causing OOO packets + - LP: #1091251 + * tcp: fix retransmission in repair mode + - LP: #1091251 + * GFS2: Don't call file_accessed() with a shared glock + - LP: #1091251 + * get_dvb_firmware: fix download site for tda10046 firmware + - LP: #1091251 + * ixgbe: add support for X540-AT1 + - LP: #1091251 + * fimc-lite: Don't use mutex_lock_interruptible() in device release() + - LP: #1091251 + * NFC: pn533: Fix use after free + - LP: #1091251 + * NFC: pn533: Fix mem leak in pn533_in_dep_link_up + - LP: #1091251 + * HID: add quirk for Freescale i.MX28 ROM recovery + - LP: #1091251 + * NFC: Fix nfc_llcp_local chained list insertion + - LP: #1091251 + * bas_gigaset: fix pre_reset handling + - LP: #1091251 + * watchdog: using u64 in get_sample_period() + - LP: #1091251 + * sata_svw: check DMA start bit before reset + - LP: #1091251 + * bnx2x: remove redundant warning log + - LP: #1091251 + * x86, amd: Disable way access filter on Piledriver CPUs + - LP: #1091251 + * telephony: ijx: buffer overflow in ixj_write_cid() + - LP: #1091251 + * i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard + - LP: #1091251 + * drm/i915: Add no-lvds quirk for Supermicro X7SPA-H + - LP: #1091251 + * ACPI: missing break + - LP: #1091251 + * 8139cp: revert "set ring address before enabling receiver" + - LP: #1091251 + * ASoC: dmaengine: Correct Makefile when sound is built as module + - LP: #1091251 + * i82975x_edac: Fix dimm label initialization + - LP: #1091251 + * drm/i915: do not ignore eDP bpc settings from vbt + - LP: #1091251 + * drm/i915: do not default to 18 bpp for eDP if missing from VBT + - LP: #1091251 + * Input: matrix-keymap - provide proper module license + - LP: #1091251 + * Linux 3.5.7.2 + - LP: #1091251 + * exec: use -ELOOP for max recursion depth + - LP: #1068888 + - CVE-2012-4530 + * ALSA: hda - bug fix for invalid connection list of Haswell HDMI codec + pins + - LP: #1095242 + + -- Kaj Ailomaa Sun, 06 Jan 2013 12:12:27 +0100 + +linux-lowlatency (3.5.0-21.19) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-21.32 + * Release Tracking Bug + - LP: #1090123 + + [ Ubuntu: 3.5.0-21.32 ] + + * Release Tracking Bug + - LP: #1088979 + * SAUCE: i915_hsw: move i915_hsw_enabled symbol to intel_ips + - LP: #1087622 + + [ Ubuntu: 3.5.0-20.31 ] + + * Release Tracking Bug + - LP: #1086759 + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_WAIT_TIMEOUT + - LP: #1085245 + * SAUCE: i915_hsw: Include #define DRM_I915_GEM_CONTEXT_[CREATE,DESTROY] + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: add register read IOCTL + - LP: #1085245 + * SAUCE: i915_hsw: Include #define i915_execbuffer2_[set,get]_context_id + - LP: #1085245 + * SAUCE: i915_hsw: Include #define I915_GEM_PARAM_HAS_SEMAPHORES + - LP: #1085245 + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_SECURE_BATCHES + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: call intel_enable_gtt + - LP: #1085245 + * SAUCE: i915_hsw: drm: add helper to sort panels to the head of the + connector list + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract dp link bw helpers + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract drm_dp_max_lane_count helper + - LP: #1085245 + * SAUCE: i915_hsw: drm: dp helper: extract drm_dp_channel_eq_ok + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract helpers to compute new training values + from sink request + - LP: #1085245 + * SAUCE: i915_hsw: drm: dp helper: extract drm_dp_clock_recovery_ok + - LP: #1085245 + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_PRIME_VMAP_FLUSH + - LP: #1085245 + * SAUCE: i915_hsw: Provide an ubuntu/i915 driver for Haswell graphics + - LP: #1085245 + * SAUCE: i915_hsw: Revert "drm: Make the .mode_fixup() operations mode + argument a const pointer" for ubuntu/i915 driver + - LP: #1085245 + * SAUCE: i915_hsw: Rename ubuntu/i915 driver i915_hsw + - LP: #1085245 + * SAUCE: i915_hsw: Only support Haswell with ubuntu/i915 driver + - LP: #1085245 + * SAUCE: i915_hsw: Include #define DRM_I915_GEM_WAIT + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract dp link train delay functions from radeon + - LP: #1085245 + * SAUCE: i915_hsw: drm/dp: Update DPCD defines + - LP: #1085245 + * SAUCE: i915_hsw: Update intel_ips.h file location + - LP: #1085245 + * SAUCE: i915_hsw: Provide updated drm_mm.h and drm_mm.c for ubuntu/i915 + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Replace the array of pages with a + scatterlist + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Replace the array of pages with a + scatterlist + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Stop using AGP layer for GEN6+ + - LP: #1085245 + * SAUCE: i915_hsw: Add i915_hsw_gpu_*() calls for ubuntu/i915 + - LP: #1085245 + * i915_hsw: [Config] Enable CONFIG_DRM_I915_HSW=m + - LP: #1085245 + * SAUCE: drm/i915: fix hsw_fdi_link_train "retry" code + - LP: #1085245 + * SAUCE: drm/i915: reject modes the LPT FDI receiver can't handle + - LP: #1085245 + * SAUCE: drm/i915: add support for mPHY destination on intel_sbi_{read, + write} + - LP: #1085245 + * SAUCE: drm/i915: add lpt_init_pch_refclk + - LP: #1085245 + * SAUCE: drm/i915: set the LPT FDI RX polarity reversal bit when needed + - LP: #1085245 + * Revert "SAUCE: SECCOMP: audit: always report seccomp violations" + - LP: #1079469 + * Revert "cgroup: Drop task_lock(parent) on cgroup_fork()" + - LP: #1084539 + * Revert "cgroup: Remove task_lock() from cgroup_post_fork()" + - LP: #1084539 + * Revert "x86/mm: Fix the size calculation of mapping tables" + - LP: #1084539 + * Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..." + - LP: #1084539 + * Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz" + - LP: #1084539 + * Revert "sched: Add missing call to calc_load_exit_idle()" + - LP: #1084539 + * net: fix secpath kmemleak + - LP: #1065434 + * seccomp: forcing auditing of kill condition + - LP: #1079469 + * e1000e: add device IDs for i218 + - LP: #1081796 + * bonding: Bonding driver does not consider the gso_max_size/gso_max_segs + setting of slave devices. + - LP: #1078184 + * mm/hotplug: correctly add new zone to all other nodes' zone lists + - LP: #1079860 + - CVE-2012-5517 + * xen: enable platform-pci only in a Xen guest + - LP: #1081054 + * udf: fix retun value on error path in udf_load_logicalvol + - LP: #1084539 + * usb: gadget: at91_udc: fix dt support + - LP: #1084539 + * netfilter: nf_nat_sip: fix incorrect handling of EBUSY for RTCP + expectation + - LP: #1084539 + * netfilter: nf_nat_sip: fix via header translation with multiple + parameters + - LP: #1084539 + * netfilter: nf_ct_expect: fix possible access to uninitialized timer + - LP: #1084539 + * netfilter: xt_limit: have r->cost != 0 case work + - LP: #1084539 + * netfilter: nf_conntrack: fix racy timer handling with reliable events + - LP: #1084539 + * netfilter: nfnetlink_log: fix NLA_PUT macro removal bug + - LP: #1084539 + * MIPS: ath79: Fix CPU/DDR frequency calculation for SRIF PLLs + - LP: #1084539 + * jbd: Fix assertion failure in commit code due to lacking transaction + credits + - LP: #1084539 + * nfsd4: fix nfs4 stateid leak + - LP: #1084539 + * NFSD: pass null terminated buf to kstrtouint() + - LP: #1084539 + * mfd: 88pm860x: Move _IO resources out of ioport_ioresource + - LP: #1084539 + * target: support zero allocation length in INQUIRY + - LP: #1084539 + * target: fix truncation of mode data, support zero allocation length + - LP: #1084539 + * target: fix return code in target_core_init_configfs error path + - LP: #1084539 + * powerpc/eeh: Lock module while handling EEH event + - LP: #1084539 + * SUNRPC: Ensure that the TCP socket is closed when in CLOSE_WAIT + - LP: #1084539 + * ext4: remove erroneous ext4_superblock_csum_set() in update_backups() + - LP: #1084539 + * block: remove the duplicated setting for congestion_threshold + - LP: #1084539 + * block: lift the initial queue bypass mode on blk_register_queue() + instead of blk_init_allocated_queue() + - LP: #1084539 + * block: fix request_queue->flags initialization + - LP: #1084539 + * viafb: don't touch clock state on OLPC XO-1.5 + - LP: #1084539 + * qla2xxx: Fix endianness of task management response code + - LP: #1084539 + * iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT PDU + - LP: #1084539 + * drm/i915: use adjusted_mode instead of mode for checking the 6bpc force + flag + - LP: #1084539 + * kbuild: Do not package /boot and /lib in make tar-pkg + - LP: #1084539 + * module: taint kernel when lve module is loaded + - LP: #1084539 + * mtd: nand: allow NAND_NO_SUBPAGE_WRITE to be set from driver + - LP: #1084539 + * nfsd4: don't pin clientids to pseudoflavors + - LP: #1084539 + * lockd: use rpc client's cl_nodename for id encoding + - LP: #1084539 + * pnfsblock: fix partial page buffer wirte + - LP: #1084539 + * pnfsblock: fix non-aligned DIO read + - LP: #1084539 + * pnfsblock: fix non-aligned DIO write + - LP: #1084539 + * target/file: Re-enable optional fd_buffered_io=1 operation + - LP: #1084539 + * iscsi-target: Add explicit set of cache_dynamic_acls=1 for TPG + demo-mode + - LP: #1084539 + * iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp + - LP: #1084539 + * iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout + values + - LP: #1084539 + * drivers/dma/dmaengine.c: lower the priority of 'failed to get' dma + channel message + - LP: #1084539 + * ath9k: use ieee80211_free_txskb + - LP: #1084539 + * ALSA: hda - Fix hang caused by race during suspend. + - LP: #1084539 + * ACPI: EC: Make the GPE storm threshold a module parameter + - LP: #1084539 + * ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop + - LP: #1084539 + * mmc: sdhci-s3c: fix the wrong number of max bus clocks + - LP: #1084539 + * mac80211: use ieee80211_free_txskb to fix possible skb leaks + - LP: #1084539 + * ARM: OMAP: counter: add locking to read_persistent_clock + - LP: #1084539 + * ARM: vfp: fix saving d16-d31 vfp registers on v6+ kernels + - LP: #1084539 + * scsi_debug: Fix off-by-one bug when unmapping region + - LP: #1084539 + * storvsc: Account for in-transit packets in the RESET path + - LP: #1084539 + * firewire: cdev: fix user memory corruption (i386 userland on amd64 + kernel) + - LP: #1084539 + * timers: Fix endless looping between cascade() and internal_add_timer() + - LP: #1084539 + * timekeeping: Cast raw_interval to u64 to avoid shift overflow + - LP: #1084539 + * video/udlfb: fix line counting in fb_write + - LP: #1084539 + * tmpfs,ceph,gfs2,isofs,reiserfs,xfs: fix fh_len checking + - LP: #1084539 + * ALSA: hda - Add missing hda_gen_spec to struct via_spec + - LP: #1084539 + * ALSA: hda - Fix memory leaks at error path in patch_cirrus.c + - LP: #1084539 + * autofs4 - fix reset pending flag on mount fail + - LP: #1084539 + * pktgen: fix crash when generating IPv6 packets + - LP: #1084539 + * md/raid10: use correct limit variable + - LP: #1084539 + * mips,kgdb: fix recursive page fault with CONFIG_KPROBES + - LP: #1084539 + * kdb,vt_console: Fix missed data due to pager overruns + - LP: #1084539 + * xen/bootup: allow read_tscp call for Xen PV guests. + - LP: #1084539 + * xen/bootup: allow {read|write}_cr8 pvops call. + - LP: #1084539 + * libceph: eliminate connection state "DEAD" + - LP: #1084539 + * libceph: kill bad_proto ceph connection op + - LP: #1084539 + * libceph: rename socket callbacks + - LP: #1084539 + * libceph: rename kvec_reset and kvec_add functions + - LP: #1084539 + * libceph: embed ceph messenger structure in ceph_client + - LP: #1084539 + * libceph: start separating connection flags from state + - LP: #1084539 + * libceph: start tracking connection socket state + - LP: #1084539 + * libceph: provide osd number when creating osd + - LP: #1084539 + * libceph: set CLOSED state bit in con_init + - LP: #1084539 + * libceph: embed ceph connection structure in mon_client + - LP: #1084539 + * libceph: drop connection refcounting for mon_client + - LP: #1084539 + * libceph: init monitor connection when opening + - LP: #1084539 + * libceph: fully initialize connection in con_init() + - LP: #1084539 + * libceph: tweak ceph_alloc_msg() + - LP: #1084539 + * libceph: have messages point to their connection + - LP: #1084539 + * libceph: have messages take a connection reference + - LP: #1084539 + * libceph: make ceph_con_revoke() a msg operation + - LP: #1084539 + * libceph: make ceph_con_revoke_message() a msg op + - LP: #1084539 + * libceph: fix overflow in __decode_pool_names() + - LP: #1084539 + * libceph: fix overflow in osdmap_decode() + - LP: #1084539 + * libceph: fix overflow in osdmap_apply_incremental() + - LP: #1084539 + * libceph: transition socket state prior to actual connect + - LP: #1084539 + * libceph: fix NULL dereference in reset_connection() + - LP: #1084539 + * libceph: use con get/put methods + - LP: #1084539 + * libceph: drop ceph_con_get/put helpers and nref member + - LP: #1084539 + * libceph: encapsulate out message data setup + - LP: #1084539 + * libceph: encapsulate advancing msg page + - LP: #1084539 + * libceph: don't mark footer complete before it is + - LP: #1084539 + * libceph: move init_bio_*() functions up + - LP: #1084539 + * libceph: move init of bio_iter + - LP: #1084539 + * libceph: don't use bio_iter as a flag + - LP: #1084539 + * libceph: SOCK_CLOSED is a flag, not a state + - LP: #1084539 + * libceph: don't change socket state on sock event + - LP: #1084539 + * libceph: just set SOCK_CLOSED when state changes + - LP: #1084539 + * libceph: don't touch con state in con_close_socket() + - LP: #1084539 + * libceph: clear CONNECTING in ceph_con_close() + - LP: #1084539 + * libceph: clear NEGOTIATING when done + - LP: #1084539 + * libceph: define and use an explicit CONNECTED state + - LP: #1084539 + * libceph: separate banner and connect writes + - LP: #1084539 + * libceph: distinguish two phases of connect sequence + - LP: #1084539 + * libceph: small changes to messenger.c + - LP: #1084539 + * libceph: add some fine ASCII art + - LP: #1084539 + * libceph: set peer name on con_open, not init + - LP: #1084539 + * libceph: initialize mon_client con only once + - LP: #1084539 + * libceph: allow sock transition from CONNECTING to CLOSED + - LP: #1084539 + * libceph: initialize msgpool message types + - LP: #1084539 + * libceph: prevent the race of incoming work during teardown + - LP: #1084539 + * libceph: report socket read/write error message + - LP: #1084539 + * libceph: fix mutex coverage for ceph_con_close + - LP: #1084539 + * libceph: resubmit linger ops when pg mapping changes + - LP: #1084539 + * libceph: (re)initialize bio_iter on start of message receive + - LP: #1084539 + * libceph: protect ceph_con_open() with mutex + - LP: #1084539 + * libceph: reset connection retry on successfully negotiation + - LP: #1084539 + * libceph: fix fault locking; close socket on lossy fault + - LP: #1084539 + * libceph: move msgr clear_standby under con mutex protection + - LP: #1084539 + * libceph: move ceph_con_send() closed check under the con mutex + - LP: #1084539 + * libceph: drop gratuitous socket close calls in con_work + - LP: #1084539 + * libceph: close socket directly from ceph_con_close() + - LP: #1084539 + * libceph: drop unnecessary CLOSED check in socket state change callback + - LP: #1084539 + * libceph: replace connection state bits with states + - LP: #1084539 + * libceph: clean up con flags + - LP: #1084539 + * libceph: clear all flags on con_close + - LP: #1084539 + * libceph: fix handling of immediate socket connect failure + - LP: #1084539 + * libceph: revoke mon_client messages on session restart + - LP: #1084539 + * libceph: verify state after retaking con lock after dispatch + - LP: #1084539 + * libceph: avoid dropping con mutex before fault + - LP: #1084539 + * libceph: change ceph_con_in_msg_alloc convention to be less weird + - LP: #1084539 + * libceph: recheck con state after allocating incoming message + - LP: #1084539 + * libceph: fix crypto key null deref, memory leak + - LP: #1084539 + * libceph: delay debugfs initialization until we learn global_id + - LP: #1084539 + * libceph: avoid truncation due to racing banners + - LP: #1084539 + * libceph: only kunmap kmapped pages + - LP: #1084539 + * rbd: reset BACKOFF if unable to re-queue + - LP: #1084539 + * libceph: avoid NULL kref_put when osd reset races with alloc_msg + - LP: #1084539 + * ceph: fix dentry reference leak in encode_fh() + - LP: #1084539 + * ceph: Fix oops when handling mdsmap that decreases max_mds + - LP: #1084539 + * libceph: check for invalid mapping + - LP: #1084539 + * ceph: avoid 32-bit page index overflow + - LP: #1084539 + * ASoC: wm2200: Use rev A register patches on rev B + - LP: #1084539 + * ASoC: wm2200: Fix non-inverted OUT2 mute control + - LP: #1084539 + * drm/i915: remove useless BUG_ON which caused a regression in 3.5. + - LP: #1084539 + * USB: Enable LPM after a failed probe. + - LP: #1084539 + * usb: Don't enable LPM if the exit latency is zero. + - LP: #1084539 + * usb: Send Set SEL before enabling parent U1/U2 timeout. + - LP: #1084539 + * ASoC: fsi: don't reschedule DMA from an atomic context + - LP: #1084539 + * drm/i915: Set guardband clipping workaround bit in the right register. + - LP: #1084539 + * pcmcia: sharpsl: don't discard sharpsl_pcmcia_ops + - LP: #1084539 + * hwmon: (coretemp) Add support for Atom CE4110/4150/4170 + - LP: #1084539 + * ALSA: hda - Fix registration race of VGA switcheroo + - LP: #1084539 + * usb: dwc3: gadget: fix 'endpoint always busy' bug + - LP: #1084539 + * usb: musb: am35xx: drop spurious unplugging a device + - LP: #1084539 + * drm/radeon: Don't destroy I2C Bus Rec in radeon_ext_tmds_enc_destroy(). + - LP: #1084539 + * ALSA: hda - Always check array bounds in alc_get_line_out_pfx + - LP: #1084539 + * NLM: nlm_lookup_file() may return NLMv4-specific error codes + - LP: #1084539 + * x86: Exclude E820_RESERVED regions and memory holes above 4 GB from + direct mapping. + - LP: #1084539 + * SUNRPC: Prevent kernel stack corruption on long values of flush + - LP: #1084539 + * USB: cdc-acm: fix pipe type of write endpoint + - LP: #1084539 + * usb: acm: fix the computation of the number of data bits + - LP: #1084539 + * usb: host: xhci: New system added for Compliance Mode Patch on + SN65LVPE502CP + - LP: #1084539 + * USB: option: blacklist net interface on ZTE devices + - LP: #1084539 + * USB: option: add more ZTE devices + - LP: #1084539 + * ext4: race-condition protection for + ext4_convert_unwritten_extents_endio + - LP: #1084539 + * ext4: fix metadata checksum calculation for the superblock + - LP: #1084539 + * nohz: Fix idle ticks in cpu summary line of /proc/stat + - LP: #1084539 + * ring-buffer: Check for uninitialized cpu buffer before resizing + - LP: #1084539 + * Bluetooth: SMP: Fix setting unknown auth_req bits + - LP: #1084539 + * oprofile, x86: Fix wrapping bug in op_x86_get_ctrl() + - LP: #1084539 + * cfg80211/mac80211: avoid state mishmash on deauth + - LP: #1084539 + * mac80211: check if key has TKIP type before updating IV + - LP: #1084539 + * mac80211: use ieee80211_free_txskb in a few more places + - LP: #1084539 + * bcma: fix unregistration of cores + - LP: #1084539 + * net/wireless: ipw2200: Fix panic occurring in + ipw_handle_promiscuous_tx() + - LP: #1084539 + * iwlwifi: fix 6000 series channel switch command + - LP: #1084539 + * cgroup: notify_on_release may not be triggered in some cases + - LP: #1084539 + * dt: Document: correct tegra20/30 pinctrl slew-rate name + - LP: #1084539 + * pinctrl: tegra: set low power mode bank width to 2 + - LP: #1084539 + * pinctrl: tegra: correct bank for pingroup and drv pingroup + - LP: #1084539 + * s390: fix linker script for 31 bit builds + - LP: #1084539 + * pinctrl: remove mutex lock in groups show + - LP: #1084539 + * xen/x86: don't corrupt %eip when returning from a signal handler + - LP: #1084539 + * ALSA: hda - Fix silent headphone output from Toshiba P200 + - LP: #1084539 + * ext4: Checksum the block bitmap properly with bigalloc enabled + - LP: #1084539 + * ARM: 7559/1: smp: switch away from the idmap before updating + init_mm.mm_count + - LP: #1084539 + * usb hub: send clear_tt_buffer_complete events when canceling TT clear + work + - LP: #1084539 + * staging: comedi: amplc_pc236: fix invalid register access during detach + - LP: #1084539 + * Staging: android: binder: Fix memory leak on thread/process exit + - LP: #1084539 + * Staging: android: binder: Allow using highmem for binder buffers + - LP: #1084539 + * ext4: Avoid underflow in ext4_trim_fs() + - LP: #1084539 + * cpufreq / powernow-k8: Remove usage of smp_processor_id() in + preemptible code + - LP: #1084539 + * extcon: Unregister compat class at module unload to fix oops + - LP: #1084539 + * extcon: unregister compat link on cleanup + - LP: #1084539 + * pinctrl: fix missing unlock on error in pinctrl_groups_show() + - LP: #1084539 + * arch/tile: avoid generating .eh_frame information in modules + - LP: #1084539 + * drm/radeon: add some new SI PCI ids + - LP: #1084539 + * drm/radeon: add error output if VM CS fails on cayman + - LP: #1084539 + * xhci: endianness xhci_calculate_intel_u2_timeout + - LP: #1084539 + * xhci: fix integer overflow + - LP: #1084539 + * dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc() + - LP: #1084539 + * x86-64: Fix page table accounting + - LP: #1084539 + * dmaengine: sirf: fix a typo in dma_prep_interleaved + - LP: #1084539 + * dmaengine: sirf: fix a typo in moving running dma_desc to active queue + - LP: #1084539 + * amd64_edac:__amd64_set_scrub_rate(): avoid overindexing scrubrates[] + - LP: #1084539 + * SUNRPC: Clear the connect flag when socket state is TCP_CLOSE_WAIT + - LP: #1084539 + * SUNRPC: Prevent races in xs_abort_connection() + - LP: #1084539 + * SUNRPC: Get rid of the xs_error_report socket callback + - LP: #1084539 + * iommu/tegra: smmu: Fix deadly typo + - LP: #1084539 + * ARM: at91/tc: fix typo in the DT document + - LP: #1084539 + * ARM: at91: at91sam9g10: fix SOC type detection + - LP: #1084539 + * ARM: at91/i2c: change id to let i2c-gpio work + - LP: #1084539 + * b43: Fix oops on unload when firmware not found + - LP: #1084539 + * USB: serial: Fix memory leak in sierra_release() + - LP: #1084539 + * x86, mm: Trim memory in memblock to be page aligned + - LP: #1084539 + * x86, mm: Use memblock memory loop instead of e820_RAM + - LP: #1084539 + * usb-storage: add unusual_devs entry for Casio EX-N1 digital camera + - LP: #1084539 + * Drivers: hv: Cleanup error handling in vmbus_open() + - LP: #1084539 + * sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat() + - LP: #1084539 + * vhost: fix mergeable bufs on BE hosts + - LP: #1084539 + * USB: metro-usb: fix io after disconnect + - LP: #1084539 + * USB: whiteheat: fix memory leak in error path + - LP: #1084539 + * USB: quatech2: fix memory leak in error path + - LP: #1084539 + * USB: quatech2: fix io after disconnect + - LP: #1084539 + * USB: opticon: fix DMA from stack + - LP: #1084539 + * USB: opticon: fix memory leak in error path + - LP: #1084539 + * USB: mct_u232: fix broken close + - LP: #1084539 + * USB: sierra: fix memory leak in attach error path + - LP: #1084539 + * USB: sierra: fix memory leak in probe error path + - LP: #1084539 + * USB: mos7840: fix urb leak at release + - LP: #1084539 + * USB: mos7840: fix port-device leak in error path + - LP: #1084539 + * USB: mos7840: remove NULL-urb submission + - LP: #1084539 + * USB: mos7840: remove invalid disconnect handling + - LP: #1084539 + * ehci: fix Lucid nohandoff pci quirk to be more generic with BIOS + versions + - LP: #1084539 + * ehci: Add yet-another Lucid nohandoff pci quirk + - LP: #1084539 + * xhci: Fix potential NULL ptr deref in command cancellation. + - LP: #1084539 + * freezer: exec should clear PF_NOFREEZE along with PF_KTHREAD + - LP: #1084539 + * mm: fix XFS oops due to dirty pages without buffers on s390 + - LP: #1084539 + * genalloc: stop crashing the system when destroying a pool + - LP: #1084539 + * drivers/rtc/rtc-imxdi.c: add missing spin lock initialization + - LP: #1084539 + * gen_init_cpio: avoid stack overflow when expanding + - LP: #1084539 + * fs/compat_ioctl.c: VIDEO_SET_SPU_PALETTE missing error check + - LP: #1084539 + * qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan + - LP: #1084539 + * efi: Defer freeing boot services memory until after ACPI init + - LP: #1084539 + * x86: efi: Turn off efi_enabled after setup on mixed fw/kernel + - LP: #1082059, #1084539 + * target: Re-add explict zeroing of INQUIRY bounce buffer memory + - LP: #1084539 + * ARM: 7566/1: vfp: fix save and restore when running on pre-VFPv3 and + CONFIG_VFPv3 set + - LP: #1084539 + * libceph: drop declaration of ceph_con_get() + - LP: #1084539 + * x86, mm: Find_early_table_space based on ranges that are actually being + mapped + - LP: #1084539 + * x86, mm: Undo incorrect revert in arch/x86/mm/init.c + - LP: #1084539 + * Linux 3.5.7.1 + - LP: #1084539 + * ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to + speaker + - LP: #1076840 + * Bluetooth: ath3k: Add support for VAIO VPCEH [0489:e027] + - LP: #898826 + * i915_hsw: drm/i915: Reserve ioctl numbers for set/get_caching + - LP: #1085245 + * i915_hsw: drm: Export drm_probe_ddc() + - LP: #1085245 + * i915_hsw: drm: remove the raw_edid field from struct drm_display_info + - LP: #1085245 + * i915_hsw: drm/i915: fix hsw uncached pte + - LP: #1085245 + * i915_hsw: drm/fb-helper: delay hotplug handling when partially bound + - LP: #1085245 + * i915_hsw: drm/fb helper: don't call drm_crtc_helper_set_config + - LP: #1085245 + * i915_hsw: drm/fb-helper: don't clobber output routing in setup_crtcs + - LP: #1085245 + * i915_hsw: drm/fb helper: don't call drm_helper_connector_dpms directly + - LP: #1085245 + * i915_hsw: drm/edid: Fix potential memory leak in edid_load() + - LP: #1085245 + + [ Ubuntu: 3.5.0-19.30 ] + + * Release Tracking Bug + - LP: #1078041 + * [Config] update Vcs-git: to point to quantal + - LP: #1069204 + * SAUCE: ALSA: hda - add quirk for Thinkpad T430 + - LP: #1060372 + * [Config] CONFIG_USB_OTG=n for all but armel/armhf + - LP: #1047527 + * [Config] remove ndiswrapper from Provides: + - LP: #1076395 + * [Config] ONFIG_AMD_IOMMU_V2=m + - LP: #1071520 + * kernel/sys.c: fix stack memory content leak via UNAME26 + - LP: #1065622, #1060521 + - CVE-2012-0957 + * use clamp_t in UNAME26 fix + - LP: #1065622, #1060521 + - CVE-2012-0957 + * net: fix divide by zero in tcp algorithm illinois + - LP: #1077091 + - CVE-2012-4565 + * SAUCE: Bluetooth: Add a load_firmware callback to struct hci_dev + - LP: #1065400 + * SAUCE: Bluetooth: Implement broadcom patchram firmware loader + - LP: #1065400 + * SAUCE: Bluetooth: Add support for 13d3:3388 and 13d3:3389 + - LP: #1065400 + + -- Andy Whitcroft Tue, 18 Dec 2012 18:16:37 +0000 + +linux-lowlatency (3.5.0-18.18) quantal-proposed; urgency=low + + [Andy Whitcroft] + + * Release Tracking Bug + - LP: #1068866 + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-18.29 + + [ Ubuntu: 3.5.0-18.29 ] + + * Release Tracking Bug + - LP: #1068224 + * [packaging] do not fail secure copy on older kernels + * SAUCE: efivarfs: efivarfs_file_read ensure we free data in error paths + - LP: #1063061 + * SAUCE: efivars: efivarfs_create() ensure we drop our reference on inode + on error + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() fix inode reference counts + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() ensure we free our temporary + name + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() ensure we clean up correctly on + error + - LP: #1063061 + * [Config] add fs/udf to linux-image to support DVD/CD formats in virtual + instances + - LP: #1066921 + * SAUCE: efi: Handle deletions and size changes in efivarfs_write_file + - LP: #1063061 + * SAUCE: efivarfs: Implement exclusive access for {get, set}_variable + - LP: #1063061 + * SAUCE: input: Cypress PS/2 Trackpad list additional contributors + * SAUCE: input: Cypress PS/2 Trackpad fix lost sync upon palm contact + - LP: #1048258 + * SAUCE: input: Cypress PS/2 Trackpad fix taps turning into hardware + clicks + - LP: #1064086 + * Revert "SAUCE: ext4: fix crash when accessing /proc/mounts + concurrently" + - LP: #1066176 + * Revert "SAUCE: ALSA: hda/realtek - Fix detection of ALC271X codec" + - LP: #1066176 + * SAUCE: efi: add efivars kobject to efi sysfs folder + - LP: #1063061 + * SAUCE: efivarfs: Add documentation for the EFI variable filesystem + - LP: #1063061 + * SAUCE: efi: Add support for a UEFI variable filesystem + - LP: #1063061 + * SAUCE: bridge: Pull ip header into skb->data before looking into ip + header. + - LP: #1065150 + * Revert "drm/i915: correctly order the ring init sequence" + - LP: #1066176 + * vfs: dcache: fix deadlock in tree traversal + - LP: #1063761 + * dm mpath: only retry ioctl when no paths if queue_if_no_path set + - LP: #1063761 + * dm: handle requests beyond end of device instead of using BUG_ON + - LP: #1063761 + * dm table: clear add_random unless all devices have it set + - LP: #1063761 + * dm verity: fix overflow check + - LP: #1063761 + * usb: gadget: make g_printer enumerate again + - LP: #1063761 + * usb: gadget: initialize the strings in tcm_usb_gadget properly + - LP: #1063761 + * USB: option: blacklist QMI interface on ZTE MF683 + - LP: #1063761 + * USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support + - LP: #1063761 + * USB: qcaux: add Pantech vendor class match + - LP: #1063761 + * usb: host: xhci: Fix Null pointer dereferencing with 71c731a for + non-x86 systems + - LP: #1063761 + * USB: serial: fix up bug with missing {} + - LP: #1063761 + * staging: speakup_soft: Fix reading of init string + - LP: #1063761 + * tty: keyboard.c: Remove locking from vt_get_leds. + - LP: #1063761 + * staging: r8712u: Do not queue cloned skb + - LP: #1063761 + * staging: comedi: s626: don't dereference insn->data + - LP: #1063761 + * staging: comedi: jr3_pci: fix iomem dereference + - LP: #1063761 + * staging: comedi: don't dereference user memory for INSN_INTTRIG + - LP: #1063761 + * staging: comedi: fix memory leak for saved channel list + - LP: #1063761 + * Remove BUG_ON from n_tty_read() + - LP: #1063761 + * TTY: ttyprintk, don't touch behind tty->write_buf + - LP: #1063761 + * serial: omap: fix software flow control + - LP: #1063761 + * serial: pl011: handle corruption at high clock speeds + - LP: #1063761 + * serial: set correct baud_base for EXSYS EX-41092 Dual 16950 + - LP: #1063761 + * tools/hv: Fix file handle leak + - LP: #1063761 + * tools/hv: Fix exit() error code + - LP: #1063761 + * tools/hv: Check for read/write errors + - LP: #1063761 + * b43legacy: Fix crash on unload when firmware not available + - LP: #1063761 + * firmware: Add missing attributes to EFI variable attribute print out + from sysfs + - LP: #1063761 + * xhci: Intel Panther Point BEI quirk. + - LP: #1063761 + * xHCI: add cmd_ring_state + - LP: #1063761 + * xHCI: add aborting command ring function + - LP: #1063761 + * xHCI: cancel command after command timeout + - LP: #1063761 + * xHCI: handle command after aborting the command ring + - LP: #1063761 + * Increase XHCI suspend timeout to 16ms + - LP: #1063761 + * HID: keep dev_rdesc unmodified and use it for comparisons + - LP: #1049623, #1063761 + * ath9k: Disable ASPM only for AR9285 + - LP: #1063761 + * xen/pciback: Restore the PCI config space after an FLR. + - LP: #1063761 + * coredump: prevent double-free on an error path in core dumper + - LP: #1063761 + * n_gsm.c: Implement 3GPP27.010 DLC start-up procedure in MUX + - LP: #1063761 + * n_gsm: uplink SKBs accumulate on list + - LP: #1063761 + * n_gsm: added interlocking for gsm_data_lock for certain code paths + - LP: #1063761 + * n_gsm: memory leak in uplink error path + - LP: #1063761 + * UBI: fix autoresize handling in R/O mode + - LP: #1063761 + * UBI: erase free PEB with bitflip in EC header + - LP: #1063761 + * Yama: handle 32-bit userspace prctl + - LP: #1063761 + * SCSI: ibmvscsi: Fix host config length field overflow + - LP: #1063761 + * SCSI: hpsa: Use LUN reset instead of target reset + - LP: #1063761 + * can: mscan-mpc5xxx: fix return value check in mpc512x_can_get_clock() + - LP: #1063761 + * remoteproc: select VIRTIO to avoid build breakage + - LP: #1063761 + * remoteproc: fix a potential NULL-dereference on cleanup + - LP: #1063761 + * IPoIB: Fix use-after-free of multicast object + - LP: #1063761 + * IB/srp: Fix use-after-free in srp_reset_req() + - LP: #1063761 + * IB/srp: Avoid having aborted requests hang + - LP: #1063761 + * isci: fix isci_pci_probe() generates warning on efi failure path + - LP: #1063761 + * x86/alternatives: Fix p6 nops on non-modular kernels + - LP: #1063761 + * SCSI: scsi_remove_target: fix softlockup regression on hot remove + - LP: #1063761 + * SCSI: scsi_dh_alua: Enable STPG for unavailable ports + - LP: #1063761 + * Linux 3.5.6 + - LP: #1063761 + * au0828: fix case where STREAMOFF being called on stopped stream causes + BUG() + - LP: #1062917 + * ALSA: hda - do not detect jack on internal speakers for Realtek + - LP: #1064621 + * HID: Remove QUANTA from special drivers list + - LP: #1064921 + * drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13 + - LP: #1064924 + * Revert dyndbg: fix for SOH in logging messages + - LP: #1066176 + * mn10300: only add -mmem-funcs to KBUILD_CFLAGS if gcc supports it + - LP: #1066176 + * kbuild: make: fix if_changed when command contains backslashes + - LP: #1066176 + * kbuild: Fix gcc -x syntax + - LP: #1066176 + * slab: fix the DEADLOCK issue on l3 alien lock + - LP: #1066176 + * intel-iommu: Default to non-coherent for domains unattached to iommus + - LP: #1066176 + * ARM: 7548/1: include linux/sched.h in syscall.h + - LP: #1066176 + * em28xx: Make all em28xx extensions to be initialized asynchronously + - LP: #1066176 + * media: rc: ite-cir: Initialise ite_dev::rdev earlier + - LP: #1066176 + * media: gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy + Microphone SL-6825-SBK + - LP: #1066176 + * ACPI: run _OSC after ACPI_FULL_INITIALIZATION + - LP: #1066176 + * PCI: acpiphp: check whether _ADR evaluation succeeded + - LP: #1066176 + * mfd: max8925: Move _IO resources out of ioport_ioresource + - LP: #1066176 + * lib/gcd.c: prevent possible div by 0 + - LP: #1066176 + * kernel/sys.c: call disable_nonboot_cpus() in kernel_restart() + - LP: #1066176 + * drivers/scsi/atp870u.c: fix bad use of udelay + - LP: #1066176 + * lguest: fix occasional crash in example launcher. + - LP: #1066176 + * powerpc/eeh: Fix crash on converting OF node to edev + - LP: #1066176 + * ixgbe: fix PTP ethtool timestamping function + - LP: #1066176 + * rapidio/rionet: fix multicast packet transmit logic + - LP: #1066176 + * PM / Sleep: use resume event when call dpm_resume_early + - LP: #1066176 + * workqueue: add missing smp_wmb() in process_one_work() + - LP: #1066176 + * jbd2: don't write superblock when if its empty + - LP: #1066176 + * localmodconfig: Fix localyesconfig to set to 'y' not 'm' + - LP: #1066176 + * bnx2x: fix rx checksum validation for IPv6 + - LP: #1066176 + * tcp: fix regression in urgent data handling + - LP: #1066176 + * xfrm: Workaround incompatibility of ESN and async crypto + - LP: #1066176 + * xfrm_user: return error pointer instead of NULL + - LP: #1066176 + * xfrm_user: return error pointer instead of NULL #2 + - LP: #1066176 + * xfrm: fix a read lock imbalance in make_blackhole + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_auth() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_state() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_policy() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_tmpl() + - LP: #1066176 + * xfrm_user: don't copy esn replay window twice for new states + - LP: #1066176 + * net: ethernet: davinci_cpdma: decrease the desc count when cleaning up + the remaining packets + - LP: #1066176 + * ixp4xx_hss: fix build failure due to missing linux/module.h inclusion + - LP: #1066176 + * netxen: check for root bus in netxen_mask_aer_correctable + - LP: #1066176 + * net-sched: sch_cbq: avoid infinite loop + - LP: #1066176 + * pkt_sched: fix virtual-start-time update in QFQ + - LP: #1066176 + * sierra_net: Endianess bug fix. + - LP: #1066176 + * 8021q: fix mac_len recomputation in vlan_untag() + - LP: #1066176 + * batman-adv: make batadv_test_bit() return 0 or 1 only + - LP: #1066176 + * ipv6: release reference of ip6_null_entry's dst entry in __ip6_del_rt + - LP: #1066176 + * ipv6: del unreachable route when an addr is deleted on lo + - LP: #1066176 + * ipv6: fix return value check in fib6_add() + - LP: #1066176 + * tcp: flush DMA queue before sk_wait_data if rcv_wnd is zero + - LP: #1066176 + * sctp: Don't charge for data in sndbuf again when transmitting packet + - LP: #1066176 + * pppoe: drop PPPOX_ZOMBIEs in pppoe_release + - LP: #1066176 + * net: small bug on rxhash calculation + - LP: #1066176 + * net: guard tcp_set_keepalive() to tcp sockets + - LP: #1066176 + * ipv4: raw: fix icmp_filter() + - LP: #1066176 + * ipv6: raw: fix icmpv6_filter() + - LP: #1066176 + * ipv6: mip6: fix mip6_mh_filter() + - LP: #1066176 + * l2tp: fix a typo in l2tp_eth_dev_recv() + - LP: #1066176 + * netrom: copy_datagram_iovec can fail + - LP: #1066176 + * net: do not disable sg for packets requiring no checksum + - LP: #1066176 + * aoe: assert AoE packets marked as requiring no checksum + - LP: #1066176 + * drm/savage: re-add busmaster enable, regression fix + - LP: #1066176 + * SCSI: zfcp: Adapt to new FC_PORTSPEED semantics + - LP: #1066176 + * SCSI: zfcp: Make trace record tags unique + - LP: #1066176 + * SCSI: zfcp: Bounds checking for deferred error trace + - LP: #1066176 + * SCSI: zfcp: Do not wakeup while suspended + - LP: #1066176 + * SCSI: zfcp: remove invalid reference to list iterator variable + - LP: #1066176 + * SCSI: zfcp: restore refcount check on port_remove + - LP: #1066176 + * SCSI: zfcp: only access zfcp_scsi_dev for valid scsi_device + - LP: #1066176 + * PCI: Check P2P bridge for invalid secondary/subordinate range + - LP: #1066176 + * ext4: ignore last group w/o enough space when resizing instead of + BUG'ing + - LP: #1066176 + * ext4: don't copy non-existent gdt blocks when resizing + - LP: #1066176 + * ext4: avoid duplicate writes of the backup bg descriptor blocks + - LP: #1066176 + * ext4: fix potential deadlock in ext4_nonda_switch() + - LP: #1066176 + * ext4: fix crash when accessing /proc/mounts concurrently + - LP: #1066176 + * ext4: move_extent code cleanup + - LP: #1066176 + * ext4: online defrag is not supported for journaled files + - LP: #1066176 + * ext4: always set i_op in ext4_mknod() + - LP: #1066176 + * ext4: fix fdatasync() for files with only i_size changes + - LP: #1066176 + * xfrm_user: ensure user supplied esn replay window is valid + - LP: #1066176 + * ASoC: wm_hubs: Ensure volume updates are handled during class W startup + - LP: #1066176 + * ASoC: wm9712: Fix name of Capture Switch + - LP: #1066176 + * kpageflags: fix wrong KPF_THP on non-huge compound pages + - LP: #1066176 + * hugetlb: do not use vma_hugecache_offset() for vma_prio_tree_foreach + - LP: #1066176 + * mm: fix invalidate_complete_page2() lock ordering + - LP: #1066176 + * mm: thp: fix pmd_present for split_huge_page and PROT_NONE with THP + - LP: #1066176 + * MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on + AR934x + - LP: #1066176 + * drm/i915: prevent possible pin leak on error path + - LP: #1066176 + * ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310 + - LP: #1066176 + * ALSA: aloop - add locking to timer access + - LP: #1066176 + * ALSA: hda/realtek - Fix detection of ALC271X codec + - LP: #1006690, #1066176 + * ALSA: hda - limit internal mic boost for Asus X202E + - LP: #1052460, #1066176 + * ALSA: usb - disable broken hw volume for Tenx TP6911 + - LP: #1066176, #559939 + * ALSA: USB: Support for (original) Xbox Communicator + - LP: #1066176 + * drm/nvc0/fence: restore pre-suspend fence buffer context on resume + - LP: #1066176 + * drm: Destroy the planes prior to destroying the associated CRTC + - LP: #1066176 + * drm/radeon: only adjust default clocks on NI GPUs + - LP: #1066176 + * drm/radeon: Add MSI quirk for gateway RS690 + - LP: #1066176 + * drm/radeon: force MSIs on RS690 asics + - LP: #1066176 + * drm/i915: Flush the pending flips on the CRTC before modification + - LP: #1066176 + * drm/i915: call drm_handle_vblank before finish_page_flip + - LP: #1066176 + * drm/i915: Fix GT_MODE default value + - LP: #1066176 + * ia64: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * h8300: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * parisc: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * xtensa: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * frv: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * mn10300: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * m68k: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * alpha: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * cris: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * m32r: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * score: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * rcu: Fix day-one dyntick-idle stall-warning bug + - LP: #1066176 + * revert "mm: mempolicy: Let vma_merge and vma_split handle + vma->vm_policy linkages" + - LP: #1066176 + * mempolicy: remove mempolicy sharing + - LP: #1066176 + * mempolicy: fix a race in shared_policy_replace() + - LP: #1066176 + * mempolicy: fix refcount leak in mpol_set_shared_policy() + - LP: #1066176 + * mempolicy: fix a memory corruption by refcount imbalance in + alloc_pages_vma() + - LP: #1066176 + * efi: Build EFI stub with EFI-appropriate options + - LP: #1066176 + * efi: initialize efi.runtime_version to make + query_variable_info/update_capsule workable + - LP: #1066176 + * CPU hotplug, cpusets, suspend: Don't modify cpusets during + suspend/resume + - LP: #1066176 + * mtd: mtdpart: break it as soon as we parse out the partitions + - LP: #1066176 + * mtd: autcpu12-nvram: Fix compile breakage + - LP: #1066176 + * mtd: nandsim: bugfix: fail if overridesize is too big + - LP: #1066176 + * mtd: nand: Use the mirror BBT descriptor when reading its version + - LP: #1066176 + * mtd: omap2: fix omap_nand_remove segfault + - LP: #1066176 + * mtd: omap2: fix module loading + - LP: #1066176 + * mmc: omap_hsmmc: Pass on the suspend failure to the PM core + - LP: #1066176 + * mmc: sh-mmcif: avoid oops on spurious interrupts + - LP: #1066176 + * JFFS2: fix unmount regression + - LP: #1066176 + * JFFS2: don't fail on bitflips in OOB + - LP: #1066176 + * cifs: reinstate the forcegid option + - LP: #1066176 + * Convert properly UTF-8 to UTF-16 + - LP: #1066176 + * Linux 3.5.7 + - LP: #1066176 + + -- Andy Whitcroft Fri, 19 Oct 2012 20:46:48 +0100 + +linux-lowlatency (3.5.0-17.17) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-17.28 + + [ Ubuntu: 3.5.0-17.28 ] + + * [packaging] we already have a valid src_pkg_name + * [packaging] allow us to select which builds have uefi signed versions + * SAUCE: input: fix weird issue of synaptics psmouse sync lost after + resume + - LP: #717970 + * SAUCE: omap3 clocks .dev_id = NULL + - LP: #1061599 + * [Config] omap: disable USB_[EHCI|OHCI]_HCD_PLATFORM + - LP: #1061599 + * [Config] omap: enforce USB_[EHCI|OHCI]_HCD_PLATFORM=n + - LP: #1061599 + * SAUCE: net/ipv4: Always flush route cache on unregister batch call + - LP: #1021471 + * Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn + - LP: #1030233 + * SAUCE: Bluetooth: Remove rules for matching Broadcom vendor specific + IDs + - LP: #1030233 + + [ Ubuntu: 3.5.0-17.27 ] + + * [packaging] add custom upload for the kernel binary package + + -- Andy Whitcroft Tue, 09 Oct 2012 20:31:30 +0100 + +linux-lowlatency (3.5.0-17.16) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-17.26 + + [ Ubuntu: 3.5.0-17.26 ] + + * SAUCE: ALSA: hda - fix indices on boost volume on Conexant + - LP: #1059523 + * [Config] Build in CONFIG_X86_PCC_CPUFREQ=y + - LP: #1061126 + * Revert "SAUCE: ahci_platform: add custom hard reset for Calxeda ahci + ctrlr" + - LP: #1059432 + * Revert "SAUCE: net: calxedaxgmac: add write barriers around setting + owner bit" + - LP: #1059432 + * Revert "SAUCE: ARM: highbank: use writel_relaxed variant for pwr + requests" + - LP: #1059432 + * Revert "SAUCE: force DMA buffers to non-bufferable on highbank" + - LP: #1059432 + * Revert "SAUCE: input: add a key driver for highbank" + - LP: #1059432 + * [Config] Align highbank config with amd64-generic and add new configs + - LP: #1059432 + * SAUCE: net: calxedaxgmac: enable operate on 2nd frame mode + - LP: #1059432 + * SAUCE: net: calxedaxgmac: remove explicit rx dma buffer polling + - LP: #1059432 + * SAUCE: net: calxedaxgmac: use relaxed i/o accessors in rx and tx paths + - LP: #1059432 + * SAUCE: net: calxedaxgmac: drop some unnecessary register writes + - LP: #1059432 + * SAUCE: net: calxedaxgmac: rework transmit ring handling + - LP: #1059432 + * SAUCE: ARM: highbank: retry wfi on reset request + - LP: #1059432 + * [Config] TIDSPBRIDGE=m + - LP: #1058022 + * rebase to v3.5.5 + * common: DMA-mapping: add DMA_ATTR_NO_KERNEL_MAPPING attribute + - LP: #1059432 + * common: DMA-mapping: add DMA_ATTR_SKIP_CPU_SYNC attribute + - LP: #1059432 + * ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute + - LP: #1059432 + * ARM: add coherent dma ops + - LP: #1059432 + * ARM: add coherent iommu dma ops + - LP: #1059432 + * ARM: highbank: add coherent DMA setup + - LP: #1059432 + * sata: add platform driver for Calxeda AHCI controller + - LP: #1059432 + * xhci: Rate-limit XHCI_TRUST_TX_LENGTH quirk warning. + - LP: #1039478 + * agp/intel-gtt: remove dead code + - LP: #1011440 + * drm/i915: stop using dev->agp->base + - LP: #1011440 + * agp/intel-gtt: don't require the agp bridge on setup + - LP: #1011440 + * drm/i915 + agp/intel-gtt: prep work for direct setup + - LP: #1011440 + * agp/intel-gtt: move gart base addres setup + - LP: #1011440 + * drm/i915: don't use dev->agp + - LP: #1011440 + * drm/i915: disable drm agp support for !gen3 with kms enabled + - LP: #1011440 + * agp/intel-agp: remove snb+ host bridge pciids + - LP: #1011440 + * rebase to v3.5.5 + - LP: #1000424 + + [ Ubuntu: 3.5.0-16.25 ] + + * SAUCE: input: Cypress PS/2 Trackpad fix multi-source, double-click + - LP: #1055788 + * [Config] revert '[Config] enable CONFIG_X86_X32=y' + - LP: #1041883 + * vmwgfx: corruption in vmw_event_fence_action_create() + * drm/nvd0/disp: hopefully fix selection of 6/8bpc mode on DP outputs + - LP: #1058088 + * drm/nv50-/gpio: initialise to vbios defaults during init + - LP: #1058088 + * igb: A fix to VF TX rate limit + - LP: #1058188 + * igb: Add switch case for supported hardware to igb_ptp_remove. + - LP: #1058188 + * igb: Support the get_ts_info ethtool method. + - LP: #1058188 + * igb: Streamline RSS queue and queue pairing assignment logic. + - LP: #1058188 + * igb: Update firmware info output + - LP: #1058188 + * igb: Version bump + - LP: #1058188 + * igb: reset PHY in the link_up process to recover PHY setting after + power down. + - LP: #1058188 + * igb: Fix for failure to init on some 82576 devices. + - LP: #1058188 + * igb: correct hardware type (i210/i211) check in igb_loopback_test() + - LP: #1058188 + * igb: don't break user visible strings over multiple lines in + igb_ethtool.c + - LP: #1058188 + * igb: add delay to allow igb loopback test to succeed on 8086:10c9 + - LP: #1058188 + * igb: fix panic while dumping packets on Tx hang with IOMMU + - LP: #1058188 + * igb: Fix register defines for all non-82575 hardware + - LP: #1058188 + * e1000e: use more informative logging macros when netdev not yet + registered + - LP: #1058219 + * e1000e: Cleanup code logic in e1000_check_for_serdes_link_82571() + - LP: #1058219 + * e1000e: Program the correct register for ITR when using MSI-X. + - LP: #1058219 + * e1000e: advertise transmit time stamping + - LP: #1058219 + * e1000e: 82571 Tx Data Corruption during Tx hang recovery + - LP: #1058219 + * e1000e: fix panic while dumping packets on Tx hang with IOMMU + - LP: #1058219 + * e1000: Combining Bitwise OR in one expression. + - LP: #1058221 + * e1000: advertise transmit time stamping + - LP: #1058221 + * e1000: Small packets may get corrupted during padding by HW + - LP: #1058221 + * sched: Fix migration thread runtime bogosity + - LP: #1057593 + * ACER: Add support for accelerometer sensor + - LP: #1055433 + * ACER: Fix Smatch double-free issue + - LP: #1055433 + * SAUCE: HID: ntrig: change default value of logical/physical + width/height to 1 + - LP: #1044248 + + -- Andy Whitcroft Wed, 03 Oct 2012 23:31:47 +0100 + +linux-lowlatency (3.5.0-16.15) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-16.24 + + [ Ubuntu: 3.5.0-16.24 ] + + * SAUCE: ata_piix: add a disable_driver option + - LP: #994870 + * (pre-stable) drm/radeon: make 64bit fences more robust v3 (3.5 stable) + - LP: #1029582 + * SAUCE: ALSA: hda - use both input paths on Conexant auto parser + - LP: #1037642 + * SAUCE: ALSA: hda - fix control names for multiple speaker out on + IDT/STAC + - LP: #1046734 + * SAUCE: ALSA: hda/via - don't report presence on HPs with no presence + support + - LP: #1052499 + * SAUCE: ext4: fix crash when accessing /proc/mounts concurrently + - LP: #1053019 + * SAUCE: ALSA: hda/realtek - Fix detection of ALC271X codec + - LP: #1006690 + * SAUCE: input: Cypress PS/2 Trackpad fix disabling tap-to-click + - LP: #1048816 + * [Config] Disable CONFIG_DRM_AST + - LP: #1053290 + * [Config] Disable the Cirrus QEMU drm driver + - LP: #1038055 + * Revert "KVM: VMX: Fix KVM_SET_SREGS with big real mode segments" + - LP: #1045027 + * x86, efi: Handover Protocol + * drm/i915: HDMI - Clear Audio Enable bit for Hot Plug + - LP: #1056729 + * UBUNTU SAUCE: apparmor: fix IRQ stack overflow + - LP: #1056078 + * drm/nouveau: fix booting with plymouth + dumb support + - LP: #1043518 + * ALSA: hda - Add DeviceID for Haswell HDA + - LP: #1057698 + * ALSA: hda - add Haswell HDMI codec id + - LP: #1057698 + * ALSA: hda - Fix driver type of Haswell controller to AZX_DRIVER_SCH + - LP: #1057698 + * ALSA: hda_intel: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1011438, #1057698 + * SAUCE: ALSA: hda - Add another pci id for Haswell board + - LP: #1057698 + * SAUCE: drm/i915: Explicitly disable RC6 for certain models + - LP: #1002170, #1008867 + + -- Andy Whitcroft Fri, 28 Sep 2012 09:58:29 +0100 + +linux-lowlatency (3.5.0-15.14) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-15.23 + + [ Ubuntu: 3.5.0-15.23 ] + + * Revert "drm/i915: don't forget the PCH backlight registers" + - LP: #1053269, #1055231, #1055665 + * Revert "drm/i915: fix up PCH backlight #define mixup" + - LP: #1053269, #1055665 + * Revert "drm/i915: allow pipe A for lvds on gen4" + - LP: #1053269, #1055665 + * Revert "drm/i915: properly enable the blc controller on the right pipe" + - LP: #1053269, #1055665 + * Revert "drm/i915: clear up backlight #define confusion on gen4+" + - LP: #1053269, #1055665 + * Revert "drm/i915: pnv has a backlight polarity control bit, too" + - LP: #1053269, #1055665 + + -- Andy Whitcroft Wed, 26 Sep 2012 09:41:38 +0100 + +linux-lowlatency (3.5.0-15.13) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-15.22 + + [ Ubuntu: 3.5.0-15.22 ] + + * fix regressions introduced by the last batch of i915 patches. + * drm/i915: fix up PCH backlight #define mixup + - LP: #954661 + * drm/i915: don't forget the PCH backlight registers + - LP: #954661 + + [ Ubuntu: 3.5.0-15.21 ] + + * ubuntu: AUFS -- update to 18e455787597579fe144cdb2f18aa6a0a32c46a4 + * [Config] Enable aufs + - LP: #908784 + * eCryptfs: check for eCryptfs cipher support at mount + - LP: #338914 + * drm/i915: pnv has a backlight polarity control bit, too + - LP: #954661 + * drm/i915: clear up backlight #define confusion on gen4+ + - LP: #954661 + * drm/i915: properly enable the blc controller on the right pipe + - LP: #954661 + * drm/i915: allow pipe A for lvds on gen4 + - LP: #954661 + + [ Ubuntu: 3.5.0-15.20 ] + + * rebase to v3.5.4 + * SAUCE: CONFIG_HID_BATTERY_STRENGTH=y + - LP: #1003090 + * eCryptfs: Copy up attributes of the lower target inode after rename + - LP: #561129 + * eCryptfs: Write out all dirty pages just before releasing the lower + file + - LP: #1047261 + * eCryptfs: Call lower ->flush() from ecryptfs_flush() + - LP: #1047261 + * af_netlink: force credentials passing [CVE-2012-3520] + - LP: #1052097 + - CVE-2012-3520 + * drm/i915: clarify IBX dp workaround + - LP: #1011440 + * drm/i915: Implement w/a for sporadic read failures on waking from rc6 + - LP: #1011440 + * drm/i915: support Haswell force waking + - LP: #1011440 + * drm/i915: add RPS configuration for Haswell + - LP: #1011440 + * drm/i915: enable RC6 by default on Haswell + - LP: #1011440 + * drm/i915: introduce haswell_init_clock_gating + - LP: #1011440 + * drm/i915: enable RC6 workaround on Haswell + - LP: #1011440 + * drm/i915: re-initialize DDI buffer translations after resume + - LP: #1011440 + * drm/i915: fix PIPE_DDI_PORT_MASK + - LP: #1011440 + * drm/i915: try to train DP even harder + - LP: #1011440 + * drm/i915: add more Haswell PCI IDs + - LP: #1011440 + * rebase to v3.5.4 + - LP: #1038651 + + [ Ubuntu: 3.5.0-14.19 ] + + * [Config] Fix debug FTBS on non-x86 + + [ Ubuntu: 3.5.0-14.18 ] + + * SAUCE: Add 'used' to the video_cards structure attributes + - LP: #1049650 + + [ Ubuntu: 3.5.0-14.17 ] + + * SAUCE: Intel xhci: Only switch the switchable ports + - LP: #1034814 + + -- Andy Whitcroft Sat, 22 Sep 2012 14:42:41 +0100 + +linux-lowlatency (3.5.0-14.12) quantal-proposed; urgency=low + + [ Tim Gardner ] + + * rebase to Ubuntu-3.5.0-14.16 + + [ Ubuntu: 3.5.0-14.16 ] + + * SAUCE: apple-gmux: Fix index read functions + * SAUCE: input: Cypress PS/2 Trackpad move PSMOUSE_CYPRESS enum + - LP: #1041594 + * SAUCE: Input: synaptics - Adjust threshold for treating position values + as negative + - LP: #1046512 + * mei: check for error codes that mei_flow_ctrl_creds retuns + * mei: make mei_write_message more readable + * mei: mei_irq_thread_write_handler check for overflow + * mei: group wd_interface_reg with watchdog variables within struct + mei_device + * mei: don't query HCSR for host buffer depth + * mei: revamp host buffer interface function + * mei: mei_device can be const for mei register access functions + * mei: remove write only wariable wd_due_counter + * mei: mei_wd_host_init: update the comment + * mei: introduce mei_data2slots wrapper + * mei: streamline the _mei_irq_thread_close/ioctol functions + * mei: mei_irq_thread_write_handler - line break fix + * mei: use module_pci_driver + * mei: fix device stall after wd is stopped + + [ Ubuntu: 3.5.0-14.15 ] + + * SAUCE: fs: d_revalidate methods may be passed a NULL nameidata + - LP: #1038075 + * SAUCE: drm/vmwgfx: add MODULE_DEVICE_TABLE so vmwgfx loads at boot + - LP: #1039157 + * [Config] Enable CONFIG_DEVPTS_MULTIPLE_INSTANCES for highbank + - LP: #1038259 + * SAUCE: wlcore: Declare MODULE_FIRMWARE usage + - LP: #1042918 + * asus-nb-wmi: add some video toggle keys + - LP: #1022427 + * [media] uvcvideo: Fix frame drop in bulk video stream + * [media] uvcvideo: Fix alternate setting selection + * Input: wacom - add support to Cintiq 22HD + - LP: #1043733 + * ALSA: HDA: Create phantom jacks for fixed inputs and outputs + * ALSA: HDA: Support single 3-pin jack without VREF on the actual pin + - LP: #1018262 + * ALSA: hda - give 3-pin jack the name "Headphone Mic Jack" + * ALSA: hda - Do not set GPIOs for speakers on IDT if there are no + speakers + - LP: #1040077 + * ALSA: hda - Fix pop noise in headphones on S3 for Asus X55A, X55V + - LP: #1034779 + * ALSA: hda - Always call standard unsolicited event for Realtek codecs + - LP: #1021192 + * ALSA: hda - Add the inverted digital mic workaround to Realtek codecs + * ALSA: hda - Add inverted mic quirks for Asus U41SV, Acer 1810TZ and + AOD260 + - LP: #1006089, #996611, #997227 + * ALSA: hda - don't create dysfunctional mixer controls for ca0132 + - LP: #1038651 + * ALSA: hda - Don't send invalid volume knob command on IDT 92hd75bxx + + -- Tim Gardner Wed, 12 Sep 2012 08:45:47 -0600 + +linux-lowlatency (3.5.0-13.11) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-13.14 + + [ Ubuntu: 3.5.0-13.14 ] + + * [Config] Disable CONFIG_DRM_MGAG200 + - LP: #1042903 + * [media] uvcvideo: Reset the bytesused field when recycling an erroneous + buffer + - LP: #1042809 + + -- Andy Whitcroft Wed, 29 Aug 2012 17:29:12 +0100 + +linux-lowlatency (3.5.0-13.10) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-13.13 + + [ Ubuntu: 3.5.0-13.13 ] + + * rebase to v3.5.3 + * [Config] Add smsc{79}5xx to nic-usb-modules + - LP: #1041397 + * rebase to v3.5.3 + + [ Ubuntu: 3.5.0-12.12 ] + + * [Config] Fix typo on control.stub.in + * [Config] installing omapdrm specific headers for external drivers + - LP: #1038846 + * SAUCE: apple-gmux: Fix port address calculation in gmux_pio_write32() + * SAUCE: (no-up) x86/mm: Fix 64bit size of mapping tables + - LP: #1022561 + * SAUCE: firmware: Remove sb16 files duplicated in linux-firmware + * net: Allow driver to limit number of GSO segments per skb + - LP: #1037456 + - CVE-2012-3412 + * sfc: Fix maximum number of TSO segments and minimum TX queue size + - LP: #1037456 + - CVE-2012-3412 + * tcp: Apply device TSO segment limit earlier + - LP: #1037456 + - CVE-2012-3412 + * cfg80211: add channel flag to prohibit OFDM operation + * brcmsmac: use channel flags to restrict OFDM + * gmux: Add generic write32 function + * apple_gmux: Add support for newer hardware + * apple_gmux: Fix ACPI video unregister + * apple-gmux: Fix kconfig dependencies + * vga_switcheroo: Don't require handler init callback + * vga_switcheroo: Remove assumptions about registration/unregistration + ordering + * apple-gmux: Add display mux support + * mei: add mei_quirk_probe function + - LP: #1041164 + * mutex: Place lock in contended state after fastpath_lock failure + - LP: #1041114 + + [ Ubuntu: 3.5.0-11.11 ] + + * [Config] enable CONFIG_X86_X32=y + * SAUCE: input: Cypress PS/2 Trackpad mouse driver + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad link driver into psmouse-base + - LP: #978807 + * [Config] compile the rtc-pl031 driver as static on the highbank kernel + flavour + - LP: #1035110 + * [Config] Enable CONFIG_DEBUG_HIGHBANK_UART for highbank + - LP: #1034781 + * SAUCE: input: Cypress PS/2 Trackpad code style cleanup + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad eliminate dead code + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad fix no-config stubs + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad set default debug_level=0 + - LP: #978807 + * SAUCE: [Config] add MOUSE_PS2_CYPRESS=y + - LP: #978807 + * SAUCE: Yama: access task_struct->comm directly + * SAUCE: Yama: add link restrictions + * SAUCE: security: unconditionally chain to Yama LSM + * SAUCE: (drop after 3.6) irq_remap: disable IRQ remapping if any IOAPIC + lacks an IOMMU + - LP: #1034459 + * (config) Enable getabis to use local package copies + * rebase to v3.5.2 + * rds: set correct msg_namelen + - LP: #1031112 + - CVE-2012-2340 + * rebase to v3.5.2 + - LP: #1027789 + - LP: #1001251 + + -- Andy Whitcroft Wed, 29 Aug 2012 14:45:08 +0100 + +linux-lowlatency (3.5.0-10.9) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-10.10 + + [ Ubuntu: 3.5.0-10.10 ] + + * rebase to v3.5.1 + * [Config] Enable CONFIG_AFS_FSCACHE=y + - LP: #728977 + * SAUCE: firmware: Remove emi62 files duplicated in linux-firmware + * SAUCE: firmware: Remove tehuti files duplicated in linux-firmware + * overlayfs: copy up i_uid/i_gid from the underlying inode + - LP: #944386 + * hwmon: (applesmc) Shorten minimum wait time + - LP: #1034449 + * hwmon: (applesmc) Decode and act on read/write status codes + - LP: #1034449 + * rebase to v3.5.1 + - LP: #1026953 + - LP: #1025377 + + -- Andy Whitcroft Tue, 14 Aug 2012 10:11:22 +0100 + +linux-lowlatency (3.5.0-9.8) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] fix ABI copy in update script + * rebase to Ubuntu-3.5.0-9.9 + + [ Ubuntu: 3.5.0-9.9 ] + + * SAUCE: (drop after 3.6) Forbid invocation of kexec_load() outside + initial PID namespace + - LP: #1034125 + * SAUCE: Unlock the rc_dev lock when the raw device is missing + - LP: #1015836 + * [Config] Enable EDAC/CLK for highbank + - LP: #1008345 + * Revert "ubuntu: AUFS -- reenable" + * SAUCE: net: calxedaxgmac: add write barriers around setting owner bit + - LP: #1008345 + * SAUCE: ARM smp_twd: add back "arm,smp-twd" compatible property + - LP: #1008345 + * SAUCE: ARM: highbank: add soft power and reset key event handling + - LP: #1008345 + * SAUCE: ARM: highbank: use writel_relaxed variant for pwr requests + - LP: #1008345 + * SAUCE: ahci: un-staticize ahci_dev_classify + - LP: #1008345 + * SAUCE: ahci_platform: add custom hard reset for Calxeda ahci ctrlr + - LP: #1008345 + * rt2x00: Add support for BUFFALO WLI-UC-GNM2 to rt2800usb. + - LP: #871904 + * Avoid sysfs oops when an rc_dev's raw device is absent + - LP: #1015836 + * eCryptfs: Copy up POSIX ACL and read-only flags from lower mount + * clk: add DT clock binding support + - LP: #1008345 + * clk: add DT fixed-clock binding support + - LP: #1008345 + * clk: add highbank clock support + * edac: add support for Calxeda highbank memory controller + - LP: #1008345 + * edac: add support for Calxeda highbank L2 cache ecc + - LP: #1008345 + * net: calxedaxgmac: enable rx cut-thru mode + - LP: #1008345 + * net: calxedaxgmac: fix hang on rx refill + - LP: #1008345 + * eCryptfs: Revert to a writethrough cache model + - LP: #1034012 + * eCryptfs: Initialize empty lower files when opening them + - LP: #911507 + * eCryptfs: Unlink lower inode when ecryptfs_create() fails + - LP: #872905 + + -- Andy Whitcroft Thu, 09 Aug 2012 17:01:28 +0100 + +linux-lowlatency (3.5.0-8.7) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] add update-from-master script + * rebase to Ubuntu-3.5.0-8.8 + + [ Ubuntu: 3.5.0-8.8 ] + + * ubuntu: AUFS -- add BOM and automated update script + * ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers + - LP: #684666 + * ubuntu: AUFS -- update aufs-update to track new locations of headers + * ubuntu: AUFS -- clean up the aufs updater and BOM + * ubuntu: AUFS -- documentation on updating aufs2 + * ubuntu: AUFS -- fix undefined __devcgroup_inode_permission + * ubuntu: AUFS -- update to 4cf5db36bcd9748e8e7270022f295f84d1fc2245 + * ubuntu: AUFS -- updateconfigs following update + * ubuntu: AUFS -- suppress benign plink warning messages + - LP: #621195 + * ubuntu: AUFS -- enable in config and makefile + * ubuntu: AUFS -- disable in favor of overlayfs + * ubuntu: AUFS -- adapt to the new changelog handling + * ubuntu: AUFS -- sort out the relative header paths + * ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0 + * ubuntu: AUFS -- aufs3-base.patch + * ubuntu: AUFS -- aufs3-standalone.patch + * ubuntu: AUFS -- update to 4a5e660ed7f5c1d0467c81c535d0fedcfe62d15f + * ubuntu: AUFS -- reenable + * [Config] Add cifs support to the nfs-modules list + - LP: #1031398 + * (pre-stable) iwlwifi: Check BSS ctx active before call mac80211 + - LP: #1021086 + * SAUCE: Update aufs for build failure caused by apparmor backport + * SAUCE: firmware: Remove ess files duplicated in linux-firmware + * SAUCE: firmware: Remove kaweth files duplicated in linux-firmware + * SAUCE: firmware: Remove obsolete Chelsio cxgb3 firmware + * SAUCE: firmware: Remove cxgb3 files duplicated in linux-firmware + * SAUCE: firmware: Remove edgeport files duplicated in linux-firmware + * SAUCE: firmware: Remove ti_usb_3410_5052 duplicated in linux-firmware + * SAUCE: firmware: Remove adaptec files duplicated in linux-firmware + * SAUCE: firmware: Remove advansys files duplicated in linux-firmware + * SAUCE: firmware: Remove ambassador files duplicated in linux-firmware + * SAUCE: firmware: Remove av7110 files duplicated in linux-firmware + * SAUCE: cpia2: Declare MODULE_FIRMWARE usage + * SAUCE: firmware: Remove cpia2 files duplicated in linux-firmware + * SAUCE: firmware: Remove korg files duplicated in linux-firmware + * SAUCE: firmware: Remove matrox files duplicated in linux-firmware + * SAUCE: firmware: Remove r128 files duplicated in linux-firmware + * SAUCE: firmware: Remove radeon files duplicated in linux-firmware + * intel_idle: initial IVB support + * KVM: x86: change PT_FIRST_AVAIL_BITS_SHIFT to avoid conflict with EPT + Dirty bit + * KVM: VMX: Use EPT Access bit in response to memory notifiers + * KVM: VMX: Enable EPT A/D bits if supported by turning on relevant bit + in EPTP + * KVM: VMX: Add parameter to control A/D bits support, default is on + * KVM: VMX: Add EPT A/D bits definitions + * KVM: VMX: Implement PCID/INVPCID for guests with EPT + * xhci: Export Latency Tolerance Messaging capabilities. + * USB: Fix LPM disable/enable during device reset. + * usb: convert port_owners type from void * to struct dev_state * + * USB: Disable LPM while the device is unconfigured. + * USB: Fix LPM disable count mismatch on driver unbind. + * USB: Enable Latency Tolerance Messaging (LTM). + * drm/i915: enable parity error interrupts + * drm/i915: Dynamic Parity Detection handling + * drm/i915: l3 parity sysfs interface + * drm/i915: remap l3 on hw init + * drm/i915: initialize the parity work only once + * drm/i915: ivybridge_handle_parity_error should be static + + -- Andy Whitcroft Mon, 06 Aug 2012 10:01:03 +0100 + +linux-lowlatency (3.5.0-7.6) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-7.7 + + [ Ubuntu: 3.5.0-7.7 ] + + * [Config] CONFIG_X86_POWERNOW_K6=m + * [Config] CONFIG_X86_POWERNOW_K7=m + * [Config] CONFIG_X86_LONGHAUL=m + * [Config] CONFIG_X86_LONGRUN=m + * [Config] CONFIG_X86_GX_SUSPMOD=m + * [Config] CONFIG_X86_CPUFREQ_NFORCE2=m + * SAUCE: rds_ib_send() -- prevent local pings triggering BUG_ON() + - LP: #1016299 + - CVE-2012-2372 + * [Config] enable CONFIG_VFAT_FS=y for EFI systems + * [Config] CONFIG_USB_G_MULTI=n on highbank + * [Config] annotate: CONFIG_USB_INVENTRA_DMA OMAP2 specific + * [Config] CONFIG_WAN_ROUTER disable for arm + * add support for generating binary device trees and install them in + /lib/firmware + - LP: #1030600 + * [Config] add dtb_file configuration for highbank + - LP: #1030600 + * SAUCE: ene_ub6250: Use macros for firmware names + * SAUCE: s2255drv: Add MODULE_FIRMWARE statement + * SAUCE: xc5000: Add MODULE_FIRMWARE statements + * SAUCE: firmware: remove computone driver firmware and documentation + * SAUCE: lgs8gxx: Declare MODULE_FIRMWARE usage + * SAUCE: firmware: Remove obsolete Myricom firmware + * SAUCE: staging rtl8192e: Declare MODULE_FIRMWARE usage + * SAUCE: tlg2300: Declare MODULE_FIRMWARE usage + * SAUCE: ueagle-atm: Declare MODULE_FIRMWARE usage + * SAUCE: usbduxfast: Declare MODULE_FIRMWARE usage + * SAUCE: usbdux: Declare MODULE_FIRMWARE usage + * SAUCE: usbduxsigma: Declare MODULE_FIRMWARE usage + * SAUCE: cx25840: Declare MODULE_FIRMWARE usage + * SAUCE: cx18: Declare MODULE_FIRMWARE usage + * SAUCE: ivtv: Declare MODULE_FIRMWARE usage + * SAUCE: cx231xx: Declare MODULE_FIRMWARE usage + * SAUCE: cx23885: Declare MODULE_FIRMWARE usage + * SAUCE: pvrusb2: Declare MODULE_FIRMWARE usage + * SAUCE: vxge: Declare MODULE_FIRMWARE usage + * mac80211: fix crash with single-queue drivers + - LP: #1022351 + + -- Andy Whitcroft Tue, 31 Jul 2012 18:10:21 +0100 + +linux-lowlatency (3.5.0-6.5) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-6.6 + + [ Ubuntu: 3.5.0-6.6 ] + + * [Config] CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION enable IPv6 + experimental features + * SAUCE: highbank -- export clock functions for modules + * [Config] highbank -- reenable CONFIG_TOUCHSCREEN_W90X900 + * [Config] highbank -- renenable CONFIG_SERIO_AMBAKMI + * [Config] highbank -- reenable CONFIG_RFKILL_GPIO + * [Config] highbank -- reenable CONFIG_MMC_SDHCI_PXAV3 + * [Config] highbank -- reenable CONFIG_MMC_SDHCI_PXAV3 + * [Config] highbank -- reenable CONFIG_KEYBOARD_SAMSUNG + * [Config] highbank -- reenable CONFIG_FB_ARMCLCD + * [Config] highbank -- reenable CONFIG_DW_DMAC + * [Config] highbank -- reenable CONFIG_USB_R8A66597_HCD + * [Config] highbank -- reenable CONFIG_USB_MV_UDC + * [Config] highbank -- reenable CONFIG_USB_DWC3 + * [Config] highbank -- reenable CONFIG_SATA_MV + * [Config] highbank -- reenable CONFIG_PATA_ARASAN_CF + * [Config] highbank -- CONFIG_CAN_C_CAN_PLATFORM + * [Config] highbank -- reenable CONFIG_MMC_ARMMMCI + * [Config] highbank -- reenable CONFIG_SERIAL_AMBA_PL010 + * [Config] highbank -- reenable CONFIG_ATMEL_PWM + * [Config] highbank -- enable CONFIG_CHECKPOINT_RESTORE + * [Config] highbank -- enable CONFIG_EXPERT + * [Config] highbank -- enable CONFIG_CHECKPOINT_RESTORE + * [Config] enable CONFIG_USB_DYNAMIC_MINORS + * [Config] enable CONFIG_USB_EHCI_TT_NEWSCHED + * [Config] enable CONFIG_USB_ETH_EEM + * [Config] enable CONFIG_USB_HCD_BCMA/CONFIG_USB_HCD_SSB + * [Config] disable CONFIG_USB_M66592 + * [Config] enable CONFIG_USB_NET2272 + * [Config] enable CONFIG_USB_R8A66597 + * [Config] annotate: CONFIG_USB_OMAP not required for our h/w + * [Config] set CONFIG_USB_MUSB_HDRC=m for omap + * [Config] annotate: CONFIG_USB_G_MULTI fix rule + * [Config] CONFIG_USB_GPIO_VBUS=m for OMAP + * [Config] Enable CONFIG_DRM_AST/_CIRRUS_QEMU/_MGAG200 + * [Config] sync configuration armhf omap -> armel omap + * [Config] annotate: CONFIG_IIO triggers build failures on OMAP4 + * [Config] disable CONFIG_OMAP_IOVMM is deprecated + * [Config] change default IO scheduler from CFQ to Deadline + * Revert "[Config] Temporarily disable CONFIG_MV643XX_ETH on powerpc" + * [Config] Disable CONFIG_MOUSE_INPORT + * SAUCE: firmware: Update bnx2x to current firmware version 7.2.51 + * [Config] Add bnx2x firmware to nic-modules udeb + * SAUCE: Add script to convert firmware to ihex format + * SAUCE: firmware: Upgrade bnx2 to current versions + * [Config] Add tigon firmware to nic-modules udeb + * [Config] CONFIG_EARLY_PRINTK_DBGP=y + - LP: #1026761 + * SAUCE: Remove redundant cis firmware + * SAUCE: Remove redundant emi26 firmware + * SAUCE: Remove redundant ttusb-budget firmware + * SAUCE: Remove redundant sun/cassini firmware + * SAUCE: Remove redundant ositech/Xilinx7OD firmware + * SAUCE: Remove redundant 3com/typhoon.bin firmware + * SAUCE: Remove redundant yamaha/ds1 firmware + * SAUCE: Remove redundant keyspan_pda firmware + * rebase to v3.5 + * rebase to v3.5 + - LP: #1027828 + + [ Ubuntu: 3.5.0-5.5 ] + + * [Config] annotations: initial import of configuration annotations + * [Config] enforcer -- add CONFIG_I2C_DESIGNWARE_PLATFORM enforce checker + * Rebase to v3.5-rc7 + * SAUCE: Bluetooth: btusb: Add vendor specific ID (0a5c:21f4) BCM20702A0 + - LP: #1010281 + * [Config] enable CONFIG_I2C_HELPER_AUTO for all flavours as policy + expects + * [Config] CONFIG_I2O_CONFIG_OLD_IOCTL=n + * [Config] CONFIG_BRIDGE_EBT_ULOG=n + * [Config] CONFIG_IP_NF_QUEUE=n + * [Config] CONFIG_MTD_DOC2000=n + * [Config] CONFIG_PRINT_QUOTA_WARNING=n + * [Config] CONFIG_PRISM54=n + * [Config] CONFIG_SCx200_I2C=n + * [Config] CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + * rebase to v3.5-rc7 + + -- Andy Whitcroft Tue, 24 Jul 2012 16:05:39 +0100 + +linux-lowlatency (3.5.0-4.4) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-4.4 + + [ Ubuntu: 3.5.0-4.4 ] + + * [Packaging] getabis should be extracting all packages + - LP: #1021174 + * [Config] getabis -- series uses linux-image-extra + - LP: #1021174 + * rebase to v3.5-rc6 + * [Config] built-in CONFIG_MICREL_PHY as other PHY drivers for all + flavours + * [Config] sync CONFIG_MOUSE_PS2_ config for all flavours + * [Config] Enable CONFIG_RT2800USB_RT35XX and CONFIG_RT2800USB_RT53XX + - LP: #1019561 + * [Config] SND_OMAP_SOC, SND_OMAP_SOC_MCBSP and SND_OMAP_SOC_OMAP3_BEAGLE =y + - LP: #1019321 + * SAUCE: (pre-up) net: dont use __netdev_alloc_skb for bounce buffer + - LP: #1018456 + * (config) Disable ACPI_PROCFS_POWER + * [Config] CONFIG_ACPI_BGRT=y + * Extract firmware module info during getabi + - LP: #1021174 + * rebase to v3.5-rc6 + + -- Andy Whitcroft Tue, 10 Jul 2012 16:15:51 +0100 + +linux-lowlatency (3.5.0-3.3) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] drop -pae from d-i configuration. + * rebase to Ubuntu-3.5.0-3.3 + + [ Ubuntu: 3.5.0-3.3 ] + + * [Config] enable CONFIG_MEMTEST=y + - LP: #1004535 + * [Config] config-check: add support for a cut operation + * [Config] enforcer -- switch to cut where appropriate + * Rebase to v3.5-rc5 + * [Config] Updateconfigs after rebase to v3.5-rc5 + * SAUCE: ocfs2: Fix NULL pointer dereferrence in + __ocfs2_change_file_space + - LP: #1006012 + * SAUCE: (drop after 3.5) drm/i915: ignore pipe select bit when checking + for LVDS register initialization + - LP: #1012800 + * rebase to v3.5-rc5 + - LP: #1013183 + - LP: #1017017 + - LP: #884652 + + -- Andy Whitcroft Tue, 03 Jul 2012 09:23:14 +0100 + +linux-lowlatency (3.5.0-2.2) quantal; urgency=low + + [ Andy Whitcroft ] + + * hooks -- should use :: to maintain unordered hooks + * rebase to Ubuntu-3.5.0-2.2 + * [Config] update Vcs-git: to point to current home + * [Config] drop last references to lowlatency-pae + + [ Ubuntu: 3.5.0-2.2 ] + + * rebase to v3.5-rc4 + * SAUCE: (drop after 3.5) brcmsmac: fix NULL pointer crash in + brcms_c_regd_init() + - LP: #950320 + * [Config] Sync CONFIG_CGROUP_MEM_RES_CTLR_SWAP for ARM + * PACKAGING: add .gnu_debuglink sections to .ko files + - LP: #669641 + * d-i: Add hid-generic to input-modules + - LP: #1017879 + * SAUCE: Revert "mmc: omap_hsmmc: Enable Auto CMD12" + - LP: #1017717, #225 + * SAUCE: Revert "Fix OMAP EHCI suspend/resume failure (i693)" + - LP: #1017718 + * [Config] Disable generic USB_EHCI_HCD_PLATFORM on omap3 + * SAUCE: (drop after 3.5) brcm80211: smac: don't set up tx power limits + during initialization + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: always set channel specified + by mac80211 + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: remove unused code for 40MHz + channels + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: clean up channel.c + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: inform mac80211 of the X2 + regulatory domain + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: enable/disable radio on + regulatory updates + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: use mac80211 channel data for + tx power limits + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: don't validate channels + against internal regulatory data + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: use current regulatory domain + when checking whether OFDM is allowed + - LP: #950320 + * [Config] Enable CONFIG_CGROUPS for highbank + - LP: #1014692 + * [Config] FB_OMAP*=y and PANEL_TFP410=y + * rebase to v3.5-rc4 + + -- Andy Whitcroft Thu, 28 Jun 2012 23:36:21 +0100 + +linux-lowlatency (3.5.0-1.1) quantal; urgency=low + + [ Andy Whitcroft] + + * Rebuild lowlatency against Ubuntu-3.5.0-1.1 + * All new configuration system to allow configuration deltas to be + exposed via debian.lowlatency/config-delta + + -- Andy Whitcroft Thu, 21 Jun 2012 09:16:38 +0100 + +linux-lowlatency (3.2.0-23.31) precise-proposed; urgency=low + + [ Luke Yelavich ] + + * Rebase against Ubuntu-3.2.0-23.36 + * [Config] Fix invalid linux-headers link for low-latency kernels + + -- Luke Yelavich Wed, 11 Apr 2012 10:07:26 +1000 + +linux-lowlatency (3.2.0-22.30) precise; urgency=low + + [ Luke Yelavich ] + + * [Config] Update configs after rebase against Ubuntu-3.2.0-22.35 + + [ Upstream Kernel Changes ] + + * Low-latency: Rebase against Ubuntu-3.2.0-22.35 + + -- Luke Yelavich Wed, 04 Apr 2012 18:49:36 +1000 + +linux-lowlatency (3.2.0-19.27) precise; urgency=low + + [ Stefan Bader ] + + * d-i: Add dm-multipath and scsi device handlers + - LP: #959749 + * d-i: Move multipath modules into their own udeb + - LP: #598251, #959749 + + [ Tim Gardner ] + + * [Config] Auto-detect do_tools setting + * [Config] correctly specify CROSS_COMPILE for tools build + * [Config] CONFIG_DRM_PSB_CDV=n + * Rebase to v3.2.12 + + [ Luke Yelavich ] + * UBUNTU: Look for releases marked Lowlatency instead of Ubuntu + * UBUNTU: [Config] Adjust Poulsbo config options to match precise mainline, + to satisfy enforcer + + [ Upstream Kernel Changes ] + + * powerpc/pmac: Fix SMP kernels on pre-core99 UP machines + - LP: #959959 + * rebase to v3.2.12 + + [ Andy Whitcroft ] + + * [Config] Fix typeo in the Hyper-V module names + + [ Colin Watson ] + + * [Config] Move kernels to "Section: kernel" + - LP: #499557 + + [ John Johansen ] + + * SAUCE: AppArmor: Add ability to load extended policy + * SAUCE: AppArmor: Add the ability to mediate mount + * SAUCE: AppArmor: Add profile introspection file to interface + * SAUCE: AppArmor: basic networking rules + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER + - LP: #952035 + * Rebase to v3.2.10 + * [Config] Update configs after rebase to v3.2.10 + * Rebase to v3.2.11 + * [Config] Disable CONFIG_STUB_POULSBO + - LP: #899244 + * [Config] Add CONFIG_DRM_PSB check to enforcer + - LP: #899244 + + [ Tim Gardner ] + + * [Config] Drop non-SMP powerpc + + [ Upstream Kernel Changes ] + + * net/hyperv: Use the built-in macro KBUILD_MODNAME for this driver + * x86: Derandom delay_tsc for 64 bit + * Bluetooth: Fix l2cap conn failures for ssp devices + - LP: #872044 + * KVM: x86: extend "struct x86_emulate_ops" with "get_cpuid" + - LP: #917842 + - CVE-2012-0045 + * KVM: x86: fix missing checks in syscall emulation + - LP: #917842 + - CVE-2012-0045 + * rebase to v3.2.11 + * rebase to v3.2.10 + + [ Andy Whitcroft ] + + * [Config] restore build-% shortcut + * SAUCE: ata_piix: defer disks to the Hyper-V drivers by default + - LP: #929545, #942316 + + [ Eugeni Dodonov ] + + * SAUCE: drm: give up on edid retries when i2c bus is not responding + - LP: #855124 + + [ Seth Forshee ] + + * SAUCE: (drop after 3.3) platform/x86: Add driver for Apple gmux device + - LP: #925544 + + [ Upstream Kernel Changes ] + + * bsg: fix sysfs link remove warning + - LP: #946928 + * regset: Prevent null pointer reference on readonly regsets + - LP: #949905 + - CVE-2012-1097 + * regset: Return -EFAULT, not -EIO, on host-side memory fault + - LP: #949905 + - CVE-2012-1097 + + [ Wu Fengguang ] + + * SAUCE: (drop after 3.4) ALSA: hda - add id for Atom Cedar Trail HDMI + codec + + -- Luke Yelavich Wed, 21 Mar 2012 23:51:57 +1100 + +linux-lowlatency (3.2.0-18.26) precise; urgency=low + + [ Andy Whitcroft ] + + * [Config] clean up the human consumable package descriptions + * [Config] fix generic flavour description + * [Config] clean up linux-tools package descriptions + - LP: #593107 + * deviations -- note the source of the Hyper-V updates + * SAUCE: ata_piix: defer to the Hyper-V drivers by default + - LP: #929545 + * ubuntu: AUFS -- adapt to the new changelog handling + * ubuntu: AUFS -- sort out the relative header paths + * ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0 + + [ Chase Douglas ] + + * SAUCE: (drop after 3.3) HID: hid-magicmouse: Add pointer and buttonpad + properties for Magic Trackpad + * SAUCE: Input: synaptics - add second variant of two-button clickpad + * SAUCE: Input: synapticss - Set buttonpad property for all clickpads + + [ Eugeni Dodonov ] + + * SAUCE: drm/i915: do not enable RC6p on Sandy Bridge + * SAUCE: drm/i915: fix operator precedence when enabling RC6p + + [ Ingo Molnar ] + + * ubuntu: nx-emu - i386: NX emulation + + [ Johannes Berg ] + + * SAUCE: iwlwifi: fix key removal + - LP: #911059 + + [ John Johansen ] + + * Revert "SAUCE: AppArmor: Fix unpack of network tables." + * Revert "SAUCE: AppArmor: Allow dfa backward compatibility with broken + userspace" + * SAUCE: AppArmor: Add mising end of structure test to caps unpacking + * SAUCE: AppArmor: Fix dropping of allowed operations that are force + audited + * SAUCE: AppArmor: Fix underflow in xindex calculation + * SAUCE: AppArmor: fix mapping of META_READ to audit and quiet flags + * SAUCE: AppArmor: Fix the error case for chroot relative path name + lookup + - LP: #925028 + * SAUCE: AppArmor: Retrieve the dentry_path for error reporting when path + lookup fails + - LP: #925028 + * SAUCE: AppArmor: Minor cleanup of d_namespace_path to consolidate error + handling + * SAUCE: AppArmor: Update dfa matching routines. + * SAUCE: AppArmor: Move path failure information into aa_get_name and + rename + * SAUCE: AppArmor: Make chroot relative the default path lookup type + * SAUCE: AppArmor: Add ability to load extended policy + * SAUCE: AppArmor: basic networking rules + * SAUCE: AppArmor: Add profile introspection file to interface + * SAUCE: AppArmor: Add the ability to mediate mount + * SAUCE: AppArmor: Add mount information to apparmorfs + + [ Kees Cook ] + + * SAUCE: (drop after 3.3) security: create task_free security callback + * SAUCE: (drop after 3.3) security: Yama LSM + * SAUCE: (drop after 3.3) Yama: add PR_SET_PTRACER_ANY + * SAUCE: Yama: add link restrictions + * SAUCE: security: unconditionally chain to Yama LSM + * SAUCE: AppArmor: refactor securityfs to use structures + * SAUCE: AppArmor: add initial "features" directory to securityfs + * SAUCE: AppArmor: add "file" details to securityfs + * SAUCE: AppArmor: export known rlimit names/value mappings in securityfs + * ubuntu: Yama - LSM hooks + * ubuntu: Yama - add ptrace relationship tracking interface + * ubuntu: Yama - unconditionally chain to Yama LSM + + [ Leann Ogasawara ] + + * Revert "[Config] Enable CONFIG_NVRAM=m" + - LP: #942193 + * Drop ndiswrapper + * Ubuntu-3.2.0-17.26 + * Ubuntu-3.2.0-17.27 + * Rebase to v3.2.7 + * [Config] Enable CONFIG_USB_SERIAL_QUATECH2=m on arm and powerpc + * [Config] Enable CONFIG_USB_SERIAL_QUATECH_USB2=m on arm and powerpc + * [Config] Add CONFIG_NVRAM to config enforcer + - LP: #942193 + * [Config] Enable CONFIG_SCSI_IBMVSCSI=m for powerpc + - LP: #943090 + * [Config] Enable CONFIG_SCSI_IPR=m for powerpc + - LP: #943090 + * provide ipmi udeb + - LP: #942926 + * Rebase to v3.2.9 + * Add ibmveth to d-i/modules-powerpc/nic-modules + - LP: #712188 + * [Config] Enable CONFIG_SCSI_IBMVFC=m for powerpc + - LP: #712188 + * Add ibmvfc and ibmvscsic to d-i/modules-powerpc/nic-modules + - LP: #712188 + * Ubuntu-3.2.0-18.28 + + [ Robert Hooker ] + + * SAUCE: drm/i915: Enable RC6 by default on sandybridge. + + [ Seth Heasley ] + + * SAUCE: ALSA: hda - Add Lynx Point HD Audio Controller DeviceIDs + - LP: #900119 + * SAUCE: ahci: AHCI-mode SATA patch for Intel Lynx Point DeviceIDs + - LP: #900119 + * SAUCE: ata_piix: IDE-mode SATA patch for Intel Lynx Point DeviceIDs + - LP: #900119 + * SAUCE: i2c-i801: Add device IDs for Intel Lynx Point + - LP: #900119 + + [ Tim Gardner ] + + * dropped hv_mouse + * [Config] CONFIG_X86_NUMACHIP=y + * [Config] updateconfigs after apparmor patches + * [Config] Added hv_netvsc and hv_storvsc to -virtual + - LP: #942256 + * [Config] Enable aufs + - LP: #943119 + * SAUCE: Made kernel irq-threaded by default + + [ Luke Yelavich ] + + * UBUNTU: Depend on crda (>=1.1.1-1ubuntu2) | wireless-crda as per precise + mainline packaging + + [ Upstream Kernel Changes ] + + * Revert "Revert "ath9k_hw: fix interpretation of the rx KeyMiss flag"" + * Revert "AppArmor: compatibility patch for v5 interface" + * Revert "AppArmor: compatibility patch for v5 network controll" + * Staging: hv: vmbus: Support building the vmbus driver as part of the + kernel + * hv: Add Kconfig menu entry + * Drivers: hv: Fix a memory leak + * Drivers: hv: Make the vmbus driver unloadable + * Drivers: hv: Get rid of an unnecessary check in hv.c + * Staging: hv: mousevsc: Make boolean states boolean + * Staging: hv: mousevsc: Inline the code for mousevsc_on_device_add() + * Staging: hv: mousevsc: Inline the code for reportdesc_callback() + * Staging: hv: mousevsc: Cleanup mousevsc_on_channel_callback() + * Staging: hv: mousevsc: Add a new line to a debug string + * Staging: hv: mousevsc: Get rid of unnecessary include files + * Staging: hv: mousevsc: Address some style issues + * Staging: hv: mousevsc: Add a check to prevent memory corruption + * Staging: hv: mousevsc: Use the KBUILD_MODNAME macro + * Staging: hv: storvsc: Use mempools to allocate struct + storvsc_cmd_request + * Staging: hv: storvsc: Cleanup error handling in the probe function + * Staging: hv: storvsc: Fixup the error when processing SET_WINDOW + command + * Staging: hv: storvsc: Fix error handling storvsc_host_reset() + * Staging: hv: storvsc: Use the accessor function shost_priv() + * Staging: hv: storvsc: Use the unlocked version queuecommand + * Staging: hv: storvsc: use the macro KBUILD_MODNAME + * Staging: hv: storvsc: Get rid of an unnecessary forward declaration + * Staging: hv: storvsc: Upgrade the vmstor protocol version + * Staging: hv: storvsc: Support hot add of scsi disks + * Staging: hv: storvsc: Support hot-removing of scsi devices + * staging: hv: Use kmemdup rather than duplicating its implementation + * staging: hv: move hv_netvsc out of staging area + * Staging: hv: mousevsc: Properly add the hid device + * Staging: hv: storvsc: Disable clustering + * Staging: hv: storvsc: Cleanup storvsc_device_alloc() + * Staging: hv: storvsc: Fix a bug in storvsc_command_completion() + * Staging: hv: storvsc: Fix a bug in copy_from_bounce_buffer() + * Staging: hv: storvsc: Implement per device memory pools + * Staging: hv: remove hv_mouse driver as it's now in the hid directory + * Staging: hv: update TODO file + * Staging: hv: storvsc: Fix a bug in create_bounce_buffer() + * net/hyperv: Fix long lines in netvsc.c + * net/hyperv: Add support for promiscuous mode setting + * net/hyperv: Fix the stop/wake queue mechanism + * net/hyperv: Remove unnecessary kmap_atomic in netvsc driver + * net/hyperv: Add NETVSP protocol version negotiation + * net/hyperv: Add support for jumbo frame up to 64KB + * net/hyperv: fix possible memory leak in do_set_multicast() + * net/hyperv: rx_bytes should account the ether header size + * net/hyperv: fix the issue that large packets be dropped under bridge + * net/hyperv: Use netif_tx_disable() instead of netif_stop_queue() when + necessary + * net/hyperv: Fix the page buffer when an RNDIS message goes beyond page + boundary + * HID: Move the hid-hyperv driver out of staging + * HID: hv_mouse: Properly add the hid device + * HID: hyperv: Properly disconnect the input device + * Staging: hv: storvsc: Cleanup some comments + * Staging: hv: storvsc: Cleanup storvsc_probe() + * Staging: hv: storvsc: Cleanup storvsc_queuecommand() + * Staging: hv: storvsc: Introduce defines for srb status codes + * Staging: hv: storvsc: Cleanup storvsc_host_reset_handler() + * Staging: hv: storvsc: Move and cleanup storvsc_remove() + * Staging: hv: storvsc: Add a comment to explain life-cycle management + * Staging: hv: storvsc: Get rid of the on_io_completion in + hv_storvsc_request + * Staging: hv: storvsc: Rename the context field in hv_storvsc_request + * Staging: hv: storvsc: Miscellaneous cleanup of storvsc driver + * Staging: hv: storvsc: Cleanup the code for generating protocol version + * Staging: hv: storvsc: Cleanup some protocol related constants + * Staging: hv: storvsc: Get rid of some unused defines + * Staging: hv: storvsc: Consolidate the request structure + * Staging: hv: storvsc: Consolidate all the wire protocol definitions + * Staging: hv: storvsc: Move the storage driver out of the staging area + * x86: Make flat_init_apic_ldr() available + * x86: Add x86_init platform override to fix up NUMA core numbering + * x86: Add NumaChip support + * x86/numachip: Drop unnecessary conflict with EDAC + * Input: bcm5974 - set BUTTONPAD property + * Ubuntu: Rebase to v3.2.8 + * ACPI / PM: Do not save/restore NVS on Asus K54C/K54HR + - LP: #898503 + * Add low latency source + + -- Luke Yelavich Fri, 09 Mar 2012 10:21:12 +1100 + +linux-lowlatency (3.2.0-16.25) precise; urgency=low + + * Add new lowlatency kernel flavour + + -- Alessio Igor Bogani Mon, 26 Oct 2011 11:13:05 +0200 --- linux-lowlatency-3.5.0.orig/debian/copyright +++ linux-lowlatency-3.5.0/debian/copyright @@ -0,0 +1,29 @@ +This is the Ubuntu prepackaged version of the Linux kernel. +Linux was written by Linus Torvalds +and others. + +This package was put together by the Ubuntu Kernel Team, from +sources retrieved from upstream linux git. +The sources may be found at most Linux ftp sites, including +ftp://ftp.kernel.org/pub/linux/kernel/ + +This package is currently maintained by the +Ubuntu Kernel Team + +Linux is copyrighted by Linus Torvalds and others. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Ubuntu Linux systems, the complete text of the GNU General +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. --- linux-lowlatency-3.5.0.orig/debian/commit-templates/bumpabi +++ linux-lowlatency-3.5.0/debian/commit-templates/bumpabi @@ -0,0 +1,3 @@ +UBUNTU: Bump ABI + +Ignore: yes --- linux-lowlatency-3.5.0.orig/debian/commit-templates/config-updates +++ linux-lowlatency-3.5.0/debian/commit-templates/config-updates @@ -0,0 +1,15 @@ +# +# This template is used for commit messages that don't need to +# show up in debian/changelog. Administrative stuff like config +# updates, ABI bumps, etc. Setting 'Ignore: yes' prevents +# 'debian/rules insertchanges' from inserting this commit meesage +# as a changelog entry. +# +# Please give a one-line description of the config change followed +# by a detailed explanation if necessary + +UBUNTU: [Config] XXXX + +# BugLink: http://bugs.launchpad.net/bugs/ +# Ignore: yes +# Other text below here. --- linux-lowlatency-3.5.0.orig/debian/commit-templates/external-driver +++ linux-lowlatency-3.5.0/debian/commit-templates/external-driver @@ -0,0 +1,20 @@ +# Ubuntu external driver commit. +# +# NOTE: This gets reformatted for README.Ubuntu-External-Drivers and +# debian/changelog. +# +# This is only needed when a driver is added, updated or removed. It is +# not needed when patches or fixes are applied to the driver. If the +# driver is being removed, add the line: +# +# Removing: yes +# +# to the commit, and you can remove all other tags (except UBUNTU:). +# +UBUNTU: + +ExternalDriver: +Description: +Url: +Mask: +Version: --- linux-lowlatency-3.5.0.orig/debian/commit-templates/missing-modules +++ linux-lowlatency-3.5.0/debian/commit-templates/missing-modules @@ -0,0 +1,3 @@ +UBUNTU: build/modules: Add modules that have intentionally gone missing + +Ignore: yes --- linux-lowlatency-3.5.0.orig/debian/commit-templates/newrelease +++ linux-lowlatency-3.5.0/debian/commit-templates/newrelease @@ -0,0 +1,3 @@ +UBUNTU: Start new release + +Ignore: yes --- linux-lowlatency-3.5.0.orig/debian/commit-templates/sauce-patch +++ linux-lowlatency-3.5.0/debian/commit-templates/sauce-patch @@ -0,0 +1,40 @@ +# Ubuntu commit template. +# +# NOTE: This gets reformatted for debian/changelog +# +# +# SAUCE refers to the fact that this patch might not go upstream, but we need to +# carry it to successive releases. In most cases you DONOT want to use this +# template. +# +# An example of a SAUCE patch is the ACPI DSDT-in-initramfs patch which has been +# refused upstream, but still provides useful functionality to users with broken +# BIOSes. +# +#------------------------------------------------------------------------- +# +# The initial UBUNTU is a flag that this is an Ubuntu commit. It will be +# referenced to the Author in the debian/changelog entry. +# +# The text following is the short message that will be placed in the +# changelog. Extra text on the following lines will be ignored, but left +# in the git commit. Lines with # will be ignored in the commit. +# +# OriginalAuthor allows for alternate attribution. +# +# OriginalLocation allows for a URL or description of where the patch came +# from. +# +# BugLink is a URL to a Malone bug. +# +# Ignore: yes will keep this commit from showing up in the changelog. +# +UBUNTU: SAUCE: + + + +# OriginalAuthor: +# OriginalLocation: +# BugLink: http://bugs.launchpad.net/bugs/ +# Ignore: yes +# Other text below here. --- linux-lowlatency-3.5.0.orig/debian/commit-templates/upstream-patch +++ linux-lowlatency-3.5.0/debian/commit-templates/upstream-patch @@ -0,0 +1,27 @@ +# Ubuntu commit template. +# +# NOTE: This gets reformatted for debian/changelog +# +# The initial UBUNTU is a flag that this is an Ubuntu commit. It will be +# referenced to the Author in the debian/changelog entry. +# +# The text following is the short message that will be placed in the +# changelog. Extra text on the following lines will be ignored, but left +# in the git commit. Lines with # will be ignored in the commit. +# +# OriginalAuthor allows for alternate attribution. +# +# OriginalLocation allows for a URL or description of where the patch came +# from. +# +# BugLink is a URL to a Malone bug. +# +# Ignore: yes will keep this commit from showing up in the changelog. +# +UBUNTU: [Upstream] + +# OriginalAuthor: +# OriginalLocation: +# BugLink: http://bugs.launchpad.net/bugs/ +# Ignore: yes +# Other text below here. --- linux-lowlatency-3.5.0.orig/debian/control-scripts/headers-postinst +++ linux-lowlatency-3.5.0/debian/control-scripts/headers-postinst @@ -0,0 +1,126 @@ +#!/usr/bin/perl +# -*- Mode: Cperl -*- +# debian.postinst --- +# Author : Manoj Srivastava ( srivasta@pilgrim.umass.edu ) +# Created On : Sat Apr 27 05:42:43 1996 +# Created On Node : melkor.pilgrim.umass.edu +# Last Modified By : Manoj Srivastava +# Last Modified On : Sat Aug 5 13:20:22 2006 +# Last Machine Used: glaurung.internal.golden-gryphon.com +# Update Count : 45 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# +# +# arch-tag: 1c716174-2f0a-476d-a626-a1322e62503a +# + + +$|=1; + +# Predefined values: +my $version = "=V"; +my $kimage = "=K"; +my $package_name = "linux-image-$version"; + + +# Ignore all invocations uxcept when called on to configure. +exit 0 unless ($ARGV[0] && $ARGV[0] =~ /configure/); + +#known variables +my $image_dest = "/"; +my $realimageloc = "/boot/"; +my $silent_modules = ''; +my $modules_base = '/lib/modules'; +my $CONF_LOC = '/etc/kernel-img.conf'; +# remove multiple leading slashes; make sure there is at least one. +$realimageloc =~ s|^/*|/|o; +$realimageloc =~ s|/+|/|o; + +chdir '/usr/src' or die "Could not chdir to /usr/src:$!"; + +if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { + if (open(CONF, "$CONF_LOC")) { + while () { + chomp; + s/\#.*$//g; + next if /^\s*$/; + + $header_postinst_hook = "$1" if /^\s*header_postinst_hook\s*=\s*(\S+)/ig; + } + close CONF; + } +} + +sub exec_script { + my $type = shift; + my $script = shift; + print STDERR "Running $type hook script $script.\n"; + system ("$script $version $realimageloc$kimage-$version") && + print STDERR "User $type hook script [$script] "; + if ($?) { + if ($? == -1) { + print STDERR "failed to execute: $!\n"; + } + elsif ($? & 127) { + printf STDERR "died with signal %d, %s coredump\n", + ($? & 127), ($? & 128) ? 'with' : 'without'; + } + else { + printf STDERR "exited with value %d\n", $? >> 8; + } + exit $? >> 8; + } +} +sub run_hook { + my $type = shift; + my $script = shift; + if ($script =~ m,^/,) { + # Full path provided for the hook script + if (-x "$script") { + &exec_script($type,$script); + } + else { + die "The provided $type hook script [$script] could not be run.\n"; + } + } + else { + # Look for it in a safe path + for my $path ('/bin', '/sbin', '/usr/bin', '/usr/sbin') { + if (-x "$path/$script") { + &exec_script($type, "$path/$script"); + return 0; + } + } + # No luck + print STDERR "Could not find $type hook script [$script].\n"; + die "Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'\n"; + } +} + +## Run user hook script here, if any +if (-x "$header_postinst_hook") { + &run_hook("postinst", $header_postinst_hook); +} + +if (-d "/etc/kernel/header_postinst.d") { + print STDERR "Examining /etc/kernel/header_postinst.d.\n"; + system ("run-parts --verbose --exit-on-error --arg=$version " . + "--arg=$realimageloc$kimage-$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +if (-d "/etc/kernel/header_postinst.d/$version") { + print STDERR "Examining /etc/kernel/header_postinst.d/$version.\n"; + system ("run-parts --verbose --exit-on-error --arg=$version " . + "--arg=$realimageloc$kimage-$version " . + "/etc/kernel/header_postinst.d/$version") && + die "Failed to process /etc/kernel/header_postinst.d/$version"; +} + +exit 0; + +__END__ --- linux-lowlatency-3.5.0.orig/debian/control-scripts/postinst +++ linux-lowlatency-3.5.0/debian/control-scripts/postinst @@ -0,0 +1,1095 @@ +#! /usr/bin/perl +# OriginalAuthor : Manoj Srivastava ( srivasta@pilgrim.umass.edu ) +# +# Customized for Ubuntu by: Ben Collins + +#use strict; #for debugging +use Cwd 'abs_path'; + +$|=1; + +# Predefined values: +my $version = "=V"; +my $link_in_boot = ""; # Should be empty, mostly +my $no_symlink = ""; # Should be empty, mostly +my $reverse_symlink = ""; # Should be empty, mostly +my $do_symlink = "Yes"; # target machine defined +my $do_boot_enable = "Yes"; # target machine defined +my $do_bootfloppy = "Yes"; # target machine defined +my $do_bootloader = "Yes"; # target machine defined +my $move_image = ''; # target machine defined +my $kimage = "=K"; # Should be empty, mostly +my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot or delo +my $image_dir = "/boot"; # where the image is located +my $clobber_modules = ''; # target machine defined +my $relative_links = ""; # target machine defined +my $initrd = "YES"; # initrd kernel +my $do_initrd = ''; # Normally we do not +my $use_hard_links = ''; # hardlinks do not work across fs boundaries +my $postinst_hook = ''; #Normally we do not +my $postrm_hook = ''; #Normally we do not +my $preinst_hook = ''; #Normally we do not +my $prerm_hook = ''; #Normally we do not +my $minimal_swap = ''; # Do not swap symlinks +my $ignore_depmod_err = ''; # normally we do not +my $kernel_arch = "=B"; +my $ramdisk = "/usr/sbin/update-initramfs"; # List of tools to create initial ram fs. +my $notifier = "/usr/share/update-notifier/notify-reboot-required"; +my $package_name = "linux-image-$version"; +my $explicit_do_loader = 'Yes'; + +my $Loader = "NoLOADER"; # +$Loader = "LILO" if $loader =~ /^lilo/io; +$Loader = "SILO" if $loader =~ /^silo/io; +$Loader = "QUIK" if $loader =~ /^quik/io; +$Loader = "yaboot" if $loader =~ /^yaboot/io; +$Loader = "PALO" if $loader =~ /^palo/io; +$Loader = "NETTROM" if $loader =~ /^nettrom/io; +$Loader = "VMELILO" if $loader =~ /^vmelilo/io; +$Loader = "ZIPL" if $loader =~ /^zipl/io; +$Loader = "ELILO" if $loader =~ /^elilo/io; +$Loader = "ARCBOOT" if $loader =~ /^arcboot/io; +$Loader = "DELO" if $loader =~ /^delo/io; + +# This should not point to /tmp, because of security risks. +my $temp_file_name = "/var/log/$loader" . "_log.$$"; + +#known variables +my $image_dest = "/"; +my $realimageloc = "/$image_dir/"; +my $have_conffile = ""; +my $silent_modules = ''; +my $silent_loader = ''; +my $warn_reboot = 'Yes'; # Warn that we are installing a version of + # the kernel we are running + +my $modules_base = '/lib/modules'; +my $CONF_LOC = '/etc/kernel-img.conf'; + +# Ignore all invocations except when called on to configure. +exit 0 unless $ARGV[0] =~ /configure/; + +my $DEBUG = 0; + +# Do some preliminary sanity checks here to ensure we actually have an +# valid image dir +chdir('/') or die "could not chdir to /:$!\n"; +die "Internal Error: ($image_dir) is not a directory!\n" + unless -d $image_dir; + +# remove multiple leading slashes; make sure there is at least one. +$realimageloc =~ s|^/*|/|o; +$realimageloc =~ s|/+|/|o; +die "Internal Error: ($realimageloc) is not a directory!\n" + unless -d $realimageloc; + +if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { + if (open(CONF, "$CONF_LOC")) { + while () { + chomp; + s/\#.*$//g; + next if /^\s*$/; + + $do_symlink = "" if /^\s*do_symlinks\s*=\s*(no|false|0)\s*$/ig; + $no_symlink = "" if /^\s*no_symlinks\s*=\s*(no|false|0)\s*$/ig; + $reverse_symlink = "" if /^\s*reverse_symlink\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*image_in_boot\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*link_in_boot\s*=\s*(no|false|0)\s*$/ig; + $move_image = "" if /^\s*move_image\s*=\s*(no|false|0)\s*$/ig; + $clobber_modules = '' if /^\s*clobber_modules\s*=\s*(no|false|0)\s*$/ig; + $do_boot_enable = '' if /^\s*do_boot_enable\s*=\s*(no|false|0)\s*$/ig; + $do_bootfloppy = '' if /^\s*do_bootfloppy\s*=\s*(no|false|0)\s*$/ig; + $relative_links = '' if /^\s*relative_links \s*=\s*(no|false|0)\s*$/ig; + $do_bootloader = '' if /^\s*do_bootloader\s*=\s*(no|false|0)\s*$/ig; + $explicit_do_loader = '' if /^\s*do_bootloader\s*=\s*(no|false|0)\s*$/ig; + $do_initrd = '' if /^\s*do_initrd\s*=\s*(no|false|0)\s*$/ig; + $use_hard_links = '' if /^\s*use_hard_links\s*=\s*(no|false|0)\s*$/ig; + $silent_modules = '' if /^\s*silent_modules\s*=\s*(no|false|0)\s*$/ig; + $silent_loader = '' if /^\s*silent_loader\s*=\s*(no|false|0)\s*$/ig; + $warn_reboot = '' if /^\s*warn_reboot\s*=\s*(no|false|0)\s*$/ig; + $minimal_swap = '' if /^\s*minimal_swap\s*=\s*(no|false|0)\s*$/ig; + $ignore_depmod_err = '' if /^\s*ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; + + $do_symlink = "Yes" if /^\s*do_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $no_symlink = "Yes" if /^\s*no_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $reverse_symlink = "Yes" if /^\s*reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*image_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*link_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $move_image = "Yes" if /^\s*move_image\s*=\s*(yes|true|1)\s*$/ig; + $clobber_modules = "Yes" if /^\s*clobber_modules\s*=\s*(yes|true|1)\s*$/ig; + $do_boot_enable = "Yes" if /^\s*do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; + $do_bootfloppy = "Yes" if /^\s*do_bootfloppy\s*=\s*(yes|true|1)\s*$/ig; + $do_bootloader = "Yes" if /^\s*do_bootloader\s*=\s*(yes|true|1)\s*$/ig; + $explicit_do_loader = "YES" if /^\s*do_bootloader\s*=\s*(yes|true|1)\s*$/ig; + $relative_links = "Yes" if /^\s*relative_links\s*=\s*(yes|true|1)\s*$/ig; + $do_initrd = "Yes" if /^\s*do_initrd\s*=\s*(yes|true|1)\s*$/ig; + $use_hard_links = "Yes" if /^\s*use_hard_links\s*=\s*(yes|true|1)\s*$/ig; + $silent_modules = 'Yes' if /^\s*silent_modules\s*=\s*(yes|true|1)\s*$/ig; + $silent_loader = 'Yes' if /^\s*silent_loader\s*=\s*(yes|true|1)\s*$/ig; + $warn_reboot = 'Yes' if /^\s*warn_reboot\s*=\s*(yes|true|1)\s*$/ig; + $minimal_swap = 'Yes' if /^\s*minimal_swap\s*=\s*(yes|true|1)\s*$/ig; + $ignore_depmod_err = 'Yes' if /^\s*ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; + + $image_dest = "$1" if /^\s*image_dest\s*=\s*(\S+)/ig; + $postinst_hook = "$1" if /^\s*postinst_hook\s*=\s*(\S+)/ig; + $postrm_hook = "$1" if /^\s*postrm_hook\s*=\s*(\S+)/ig; + $preinst_hook = "$1" if /^\s*preinst_hook\s*=\s*(\S+)/ig; + $prerm_hook = "$1" if /^\s*prerm_hook\s*=\s*(\S+)/ig; + $ramdisk = "$1" if /^\s*ramdisk\s*=\s*(.+)$/ig; + } + close CONF; + $have_conffile = "Yes"; + } +} + + + +# For some versions of kernel-package, we had this warning in the +# postinst, but the rules did not really interpolate the value in. +# Here is a sanity check. +my $pattern = "=" . "I"; +$initrd=~ s/^$pattern$//; + +if ($link_in_boot) { + $image_dest = "/$image_dir/"; # same as realimageloc +} + +# Tack on at least one trainling / +$image_dest = "$image_dest/"; +$image_dest =~ s|^/*|/|o; +$image_dest =~ s|/+$|/|o; + +if (! -d "$image_dest") { + die "Expected Image Destination dir ($image_dest) to be a valid directory!\n"; +} + +# sanity +if (!($do_bootfloppy || $do_bootloader)) { + $do_boot_enable = ''; +} +if ($do_symlink && $no_symlink) { + warn "Both do_symlinks and no_symlinks options enabled; disabling no_symlinks\n"; + $no_symlink = 0; +} + +# most of our work is done in $image_dest (nominally /) +chdir("$image_dest") or die "could not chdir to $image_dest:$!\n"; + +# Paranoid check to make sure that the correct value is put in there +if (! $kimage) { $kimage = "vmlinuz"; } # Hmm. empty +elsif ($kimage =~ m/^b?uImage$/o) { $kimage = "vmlinuz"; } # these produce vmlinuz +elsif ($kimage =~ m/^b?zImage$/o) { $kimage = "vmlinuz"; } # these produce vmlinuz +elsif ($kimage =~ m/^[iI]mage$/o) { my $nop = $kimage; } +elsif ($kimage =~ m/^vmlinux$/o) { my $nop = $kimage; } +else { $kimage = "vmlinuz"; } # Default + +$ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; + + +die "Internal Error: Could not find image (" . $realimageloc + . "$kimage-$version)\n" unless -e $realimageloc + . "$kimage-$version"; + +# search for the boot loader in the path +my $loader_exec; +($loader_exec = $loader) =~ s|.*/||; +my ($loaderloc) = grep -x, map "$_/$loader_exec", + map { length($_) ? $_ : "." } split /:/, $ENV{PATH}; + + +###################################################################### +###################################################################### +########### Test whether a relative symlinkwould be OK ####### +###################################################################### +###################################################################### +sub test_relative { + my %params = @_; + my $cwd; + + die "Internal Error: Missing Required paramater 'Old Dir' " + unless $params{'Old Dir'}; + die "Internal Error: Missing Required paramater New Dir' " + unless $params{'New Dir'}; + + + die "Internal Error: No such dir $params{'Old Dir'} " + unless -d $params{'Old Dir'}; + die "Internal Error: No such dir $params{'New Dir'} " + unless -d $params{'New Dir'}; + + warn "Test relative: testing $params{'Old Dir'} -> $params{'New Dir'}" + if $DEBUG; + chomp($cwd = `pwd`); + chdir ($params{'New Dir'}) or die "Could not chdir to $params{'New Dir'}:$!"; + my $ok = 0; + $params{'Old Dir'} =~ s|^/*||o; + if (-d $params{'Old Dir'} ) { + if (defined $params{'Test File'}) { + if (-e $params{'Old Dir'} . $params{'Test File'}) { + $ok = 1; + } + } else { + $ok = 1; # well, backward compatibility + } + } + chdir ($cwd) or die "Could not chdir to $params{'New Dir'}:$!"; + return $ok; +} + +###################################################################### +###################################################################### +############ +###################################################################### +###################################################################### +# sub CanonicalizePath { +# my $path = join '/', @_; +# my @work = split '/', $path; +# my @out; +# my $is_absolute; + +# if (@work && $work[0] eq "") { +# $is_absolute = 1; shift @work; +# } + +# while (@work) { +# my $seg = shift @work; +# if ($seg eq "." || $seg eq "") { +# } +# elsif ($seg eq "..") { +# if (@out && $out[-1] ne "..") { +# pop @out; +# } +# else { +# # Leading "..", or "../..", etc. +# push @out, $seg; +# } +# } +# else { +# push @out, $seg; +# } +# } + +# unshift @out, "" if $is_absolute; +# return join('/', @out); +# } +###################################################################### +###################################################################### +############ +###################################################################### +###################################################################### + +sub spath { + my %params = @_; + + die "Missing Required paramater 'Old'" unless $params{'Old'}; + die "Missing Required paramater 'New'" unless $params{'New'}; + + my @olddir = split '/', `readlink -q -m $params{'Old'}`; + my @newdir = split '/', `readlink -q -m $params{'New'}`; + my @outdir = @olddir; + + my $out = ''; + my $i; + for ($i = 0; $i <= $#olddir && $i <= $#newdir; $i++) { + $out++ if ($olddir[$i] ne $newdir[$i]); + shift @outdir unless $out; + unshift @outdir, ".." if $out; + } + if ($#newdir > $#olddir) { + for ($i=0; $i < $#newdir; $i++) { + unshift @outdir, ".."; + } + } + return join ('/', @outdir); +} +###################################################################### +###################################################################### +############ +###################################################################### +###################################################################### + + +# This routine actually moves the kernel image +# From: $realimageloc/$kimage-$version (/boot/vmlinuz-2.6.12) +# To: $image_dest/$kimage-$version (/vmlinuz-2.6.12) +# Note that the image is moved to a versioned destination, but ordinary +# symlinks we create otherwise are not normally versioned +sub really_move_image { + my $src_dir = $_[0]; + my $target = $_[1]; + my $dest_dir = $_[2]; + + warn "Really move image: src_dir=$src_dir, target=$target,\n destdir=$dest_dir" + if $DEBUG; + if (-e "$target") { + # we should be in dir $dest_dir == $image_dest /, normally + rename("$target", "$target.$$") || + die "failed to move " . $dest_dir . "$target:$!"; + warn "mv $target $target.$$" if $DEBUG; + } + warn "mv -f $src_dir$target $target" if $DEBUG; + my $ret = system("mv -f " . $src_dir . "$target " . + " $target"); + if ($ret) { + die("Failed to move " . $src_dir . "$target to " + . $dest_dir . "$target"); + } + # Ok, now we may clobber the previous .old files + if (-e "$target.$$") { + rename("$target.$$", "$target.old") || + die "failed to move " . $dest_dir . "$target:$!"; + warn "mv $target.$$ $target " if $DEBUG; + } +} + +# Normally called after really_move_image; and only called if we asked for +# reversed link this routine reverses the symbolic link that is notmally +# created. Since the real kernel image has been moved over to +# $image_dest/$kimage-$version. So, this routine links +# From: $image_dest/$kimage-$version (/vmlinuz-2.6.12) +# To: $realimageloc/$kimage-$version (/boot/vmlinuz-2.6.12) +sub really_reverse_link { + my $src_dir = $_[0]; + my $link_name = $_[1]; + my $dest_dir = $_[2]; + warn "Really reverse link: src_dir=$src_dir, link name=$link_name\n" . + "\tdestdir=$dest_dir" if $DEBUG; + + my $Old = $dest_dir; + if (test_relative ('Old Dir' => $Old, 'New Dir' => $src_dir, + 'Test File' => "$link_name")) { + $Old =~ s|^/*||o; + } + # Special case is they are in the same dir + my $rel_path = spath('Old' => "$Old", 'New' => "$src_dir" ); + $Old ="" if $rel_path =~ m/^\s*$/o; + + if ($use_hard_links =~ m/YES/i) { + link($Old . "$link_name", $src_dir . "$link_name") || + die("Failed to link " . $dest_dir . "$link_name to " . $src_dir . + "$link_name:$!"); + warn "ln " . $Old . "$link_name " . $src_dir . "$link_name" if $DEBUG; + } + else { + symlink($Old . "$link_name", $src_dir . "$link_name") || + die("Failed to symbolic-link " . $dest_dir . "$link_name to " . $src_dir + . "$link_name:$!"); + warn "ln -s " . $Old . "$link_name " . $src_dir . "$link_name" if $DEBUG; + } +} + +# This routine is invoked if there is a symbolic link in place +# in $image_dest/$kimage -- so a symlink exists in the destination. +# What we are trying to determine is if we need to move the symbolic link over +# to the the .old location +sub move_p { + my $kimage = $_[0]; # Name of the symbolic link + my $image_dest = $_[1]; # The directory the links goes into + my $image_name = $_[2]; + my $src_dir = $_[3]; + my $force_move = 0; + warn "Move?: kimage=$kimage, image_dest=$image_dest, \n" . + "\timage_name=$image_name, src_dir=$src_dir" if $DEBUG; + + if ($no_symlink || $reverse_symlink) { + # we do not want links, yet we have a symbolic link here! + warn "found a symbolic link in " . $image_dest . "$kimage \n" . + "even though no_symlink is defined\n" if $no_symlink; + warn "found a symbolic link in " . $image_dest . "$kimage \n" . + "even though reverse_symlink is defined\n" if $reverse_symlink; + # make sure we change this state of affairs + $force_move = 1; + return $force_move; + } + + warn "DEBUG: OK. We found symlink, and we should have a symlink here.\n" + if $DEBUG; + my $vmlinuz_target = readlink "$kimage"; + my $real_target = ''; + my $target = `readlink -q -m "${realimageloc}${kimage-$version}"`; + $real_target = abs_path($vmlinuz_target) if defined($vmlinuz_target); + + if (!defined($vmlinuz_target) || ! -f "$real_target") { + # what, a dangling symlink? + warn "The link " . $image_dest . "$kimage is a dangling link" . + "to $real_target\n"; + $force_move = 1; + return $force_move; + } + + + warn "DEBUG: The link $kimage points to ($vmlinuz_target)\n" if $DEBUG; + warn "DEBUG: ($vmlinuz_target) is really ($real_target)\n" if $DEBUG; + my $cwd; + chomp ($cwd=`pwd`); + if ($vmlinuz_target !~ m|^/|o) { + $vmlinuz_target = $cwd . "/" . $vmlinuz_target; + $vmlinuz_target =~ s|/+|/|o; + } + $vmlinuz_target = `readlink -q -m $vmlinuz_target`; + + if ("$vmlinuz_target" ne "$target") { + warn "DEBUG: We need to handle this.\n" if $DEBUG; + if ($minimal_swap) { + warn "DEBUG: Minimal swap.\n" if $DEBUG; + if (-l "$kimage.old") { + warn "DEBUG: There is an old link at $kimage.old\n" if $DEBUG; + my $old_target = readlink "$kimage.old"; + my $real_old_target = ''; + $real_old_target=abs_path($old_target) if defined ($old_target); + + if ($real_old_target && -f "$real_old_target") { + if ($old_target !~ m|^/|o) { + $old_target = $cwd . "/" . $old_target; + $old_target =~ s|/+|/|o; + } + $old_target = `readlink -q -m $old_target`; + if ("$old_target" ne "$target") { + $force_move = 1; + warn "DEBUG: Old link ($old_target) does not point to us ($target)\n" + if $DEBUG; + } + else { # The .old points to the current + warn "$kimage.old --> $target -- doing nothing"; + $force_move = 0; + } + } + else { + warn "DEBUG: Well, the old link does not exist -- so we move\n" + if $DEBUG; + $force_move = 1; + } + } + else { + warn "DEBUG: No .old link -- OK to move\n" + if $DEBUG; + $force_move = 1; + } + } + else { + warn "DEBUG: ok, minimal swap is no-- so we move.\n" + if $DEBUG; + $force_move = 1; + } + } + else { # already have proper link + warn "$kimage($vmlinuz_target) points to $target ($real_target) -- doing nothing"; + $force_move = 0; + } + return $force_move; +} + + +# This routine moves the symbolic link around (/vmlinuz -> /vmlinuz.old) +# It pays attention to whether we should the fact whether we should be using +# hard links or not. +sub really_move_link { + my $kimage = $_[0]; # Name of the symbolic link + my $image_dest = $_[1]; # The directory the links goes into + my $image_name = $_[2]; + my $src_dir = $_[3]; + warn "really_move_link: kimage=$kimage, image_dest=$image_dest\n" . + "\t image_name=$image_name, src_dir=$src_dir" if $DEBUG; + + # don't clobber $kimage.old quite yet + rename("$kimage", "$kimage.$$") || + die "failed to move " . $image_dest . "$kimage:$!"; + warn "mv $kimage $kimage.$$" if $DEBUG; + my $Old = $src_dir; + my $cwd; + + chomp($cwd=`pwd`); + if (test_relative ('Old Dir' => $Old, 'New Dir' => $cwd, + 'Test File' => "$image_name")) { + $Old =~ s|^/*||o; + } + # Special case is they are in the same dir + my $rel_path = spath('Old' => "$Old", 'New' => "$cwd" ); + $Old ="" if $rel_path =~ m/^\s*$/o; + + if ($use_hard_links =~ m/YES/i) { + warn "ln ${Old}${image_name} $kimage" if $DEBUG; + if (! link("${Old}${image_name}", "$kimage")) { + rename("$kimage.$$", "$kimage"); + die("Failed to link ${Old}${image_name} to " . + "${image_dest}${kimage}:$!"); + } + } + else { + warn "ln -s ${Old}${image_name} $kimage" if $DEBUG; + if (! symlink("${Old}${image_name}", "$kimage")) { + rename("$kimage.$$", "$kimage"); + die("Failed to symbolic-link ${Old}${image_name} to " . + "${image_dest}${kimage}:$!"); + } + } + + # Ok, now we may clobber the previous .old file + if (-l "$kimage.old" || ! -e "$kimage.old" ) { + rename("$kimage.$$", "$kimage.old"); + warn "mv $kimage.$$ $kimage.old" if $DEBUG; + } + else { + warn "$kimage.old is not a symlink, not clobbering\n"; + warn "rm $kimage.$$"; + unlink "$kimage.$$" if $DEBUG; + } +} + +# This routine handles a request to do symlinks, but there is no +# symlink file already there. Either we are supposed to use copy, or we are +# installing on a pristine system, or the user does not want symbolic links at +# all. We use a configuration file to tell the last two cases apart, creating +# a config file if needed. +sub handle_missing_link { + my $kimage = $_[0]; # Name of the symbolic link + my $image_dest = $_[1]; # The directory the links goes into + my $image_name = $_[2]; + my $src_dir = $_[3]; + warn "handle_missing_link: kimage=$kimage, image_dest=$image_dest\n" . + "\t image_name=$image_name, src_dir=$src_dir" if $DEBUG; + + if ($no_symlink) { + warn "cp -a --backup=t $realimageloc$image_name $kimage" if $DEBUG; + my $ret = system("cp -a --backup=t " . $realimageloc . + "$image_name " . " $kimage"); + if ($ret) { + die("Failed to copy " . $realimageloc . "$image_name to " + . $image_dest . "$kimage"); + } + } + elsif ($reverse_symlink) { + warn "mv -f $realimageloc$image_name $kimage" if $DEBUG; + my $ret = system("mv -f " . $realimageloc . "$image_name " + . "$kimage"); + if ($ret) { + die("Failed to move " . $realimageloc . "$image_name to " + . $image_dest . "$kimage"); + } + } + else { + if (! $have_conffile) { + my $ret; + my $answer=''; + $do_symlink = "Yes"; + + if (open(CONF, ">$CONF_LOC")) { + print CONF "# Kernel Image management overrides\n"; + print CONF "# See kernel-img.conf(5) for details\n"; + if ($loader =~ /palo/i) { + print CONF "link_in_boot = Yes\n"; + print CONF "do_symlinks = Yes\n"; + print CONF "relative_links = Yes\n"; + print CONF "do_bootloader = No\n"; + } else { + print CONF "do_symlinks = $do_symlink\n"; + } + close CONF; + } + $have_conffile = "Yes"; + } + } + + if (! $no_symlink && $do_symlink =~ /Yes/i) { + my $Old = $realimageloc; + my $New = $image_dest; + my $Name = "$image_name"; + my $Link_Dest = "$kimage"; + + if ($reverse_symlink) { + $Old = $image_dest; + $New = $realimageloc; + $Name = "$kimage"; + $Link_Dest = $realimageloc . "$image_name"; + } + if (test_relative ('Old Dir' => $Old, + 'New Dir' => $New, + 'Test File' => $Name)) { + $Old =~ s|^/*||o; + } + # Special case is they are in the same dir + my $rel_path = spath('Old' => "$Old", 'New' => "$New" ); + $Old ="" if $rel_path =~ m/^\s*$/o; + + symlink($Old . "$Name", "$Link_Dest") || + die("Failed to symbolic-link ${Old}$Name to $Link_Dest:$!"); + warn "ln -s ${Old}$Name $Link_Dest" if $DEBUG; + + } +} + +# This routine handles the rest of the cases, where the user has requested +# non-traditional handling, like using cp, or reverse symlinks, or hard links. +sub handle_non_symlinks { + my $kimage = $_[0]; # Name of the symbolic link + my $image_dest = $_[1]; # The directory the links goes into + my $image_name = $_[2]; + my $src_dir = $_[3]; + warn "handle_non_link: kimage=$kimage, image_dest=$image_dest\n" . + "\t image_name=$image_name, src_dir=$src_dir" if $DEBUG; + + # Save the current image. We do this in all four cases + rename("$kimage", "$kimage.$$") || + die "failed to move " . $image_dest . "$kimage:$!"; + warn "mv $kimage $kimage.$$" if $DEBUG; + + ##,#### + # case One + #`#### + if ($no_symlink) { + # Maybe /$image_dest is on a dos system? + warn "cp -a --backup=t $realimageloc$image_name $kimage" if $DEBUG; + my $ret = system("cp -a --backup=t " . $realimageloc + . "$image_name " . "$kimage"); + if ($ret) { + if (-e "$kimage.$$") { + rename("$kimage.$$", "$kimage"); + warn "mv $kimage.$$ $kimage" if $DEBUG; + } + die("Failed to copy " . $realimageloc . "$image_name to " + . $image_dest . "$kimage"); + } + } + ##,#### + # case Two + #`#### + elsif ($reverse_symlink) { # Maybe /$image_dest is on a dos system? + warn "mv -f $realimageloc$image_name $kimage" if $DEBUG; + my $ret = system("mv -f " . $realimageloc . "$image_name " + . $image_dest . "$kimage"); + if ($ret) { + if (-e "$kimage.$$") { + rename("$kimage.$$", "$kimage"); + warn "mv $kimage.$$ $kimage" if $DEBUG; + } + die("Failed to move " . $realimageloc . "$image_name to " + . $image_dest . "$kimage"); + } + my $Old = $image_dest; + if (test_relative ('Old Dir' => $Old, 'New Dir' => $realimageloc, + 'Test File' => "$kimage")) { + $Old =~ s|^/*||o; + } + # Special case is they are in the same dir + my $rel_path = spath('Old' => "$Old", 'New' => "$realimageloc" ); + $Old ="" if $rel_path =~ m/^\s*$/o; + + if ($use_hard_links =~ m/YES/i) { + warn "ln " . $Old . "$kimage " . $realimageloc . "$image_name" if $DEBUG; + if (! link($Old . "$kimage", $realimageloc . "$image_name")) { + warn "Could not link " . $image_dest . + "$kimage to $image_name :$!"; + } + } + else { + warn "ln -s " . $Old . "$kimage " . $realimageloc . "$image_name" if $DEBUG; + if (! symlink($Old . "$kimage", $realimageloc . "$image_name")) { + warn "Could not symlink " . $image_dest . + "$kimage to $image_name :$!"; + } + } + } + ##,#### + # case Three + #`#### + elsif ($use_hard_links =~ m/YES/i ) { + # Ok then. this ought to be a hard link, and hence fair game + # don't clobber $kimage.old quite yet + my $Old = $realimageloc; + my $cwd; + chomp($cwd=`pwd`); + if (test_relative ('Old Dir' => $Old, 'New Dir' => $cwd, + 'Test File' => "$image_name")) { + $Old =~ s|^/*||o; + } + # Special case is they are in the same dir + my $rel_path = spath('Old' => "$Old", 'New' => "$cwd" ); + $Old ="" if $rel_path =~ m/^\s*$/o; + + warn "ln " . $Old . "$image_name " . "$kimage" if $DEBUG; + if (! link($Old . "$image_name", "$kimage")) { + warn "mv $kimage.$$ $kimage" if $DEBUG; + rename("$kimage.$$", "$kimage"); + die("Failed to link " . $realimageloc . "$image_name to " + . $image_dest . "$kimage"); + } + } + ##,#### + # case Four + #`#### + else { + # We just use cp + warn "cp -a --backup=t $realimageloc$image_name $kimage" if $DEBUG; + my $ret = system("cp -a --backup=t " . $realimageloc + . "$image_name " . "$kimage"); + if ($ret) { + if (-e "$kimage.$$") { + warn "mv $kimage.$$ $kimage" if $DEBUG; + rename("$kimage.$$", "$kimage"); + } + die("Failed to copy " . $realimageloc . "$image_name to " + . $image_dest . "$kimage"); + } + } + # Ok, now we may clobber the previous .old file + warn "mv $kimage.$$ $kimage.old if -e $kimage.$$" if $DEBUG; + rename("$kimage.$$", "$kimage.old") if -e "$kimage.$$"; +} + +# This routine is responsible for setting up the symbolic links +# So, the actual kernel image lives in +# $realimageloc/$image_name (/boot/vmlinuz-2.6.12). +# This routine creates symbolic links in $image_dest/$kimage (/vmlinuz) +sub image_magic { + my $kimage = $_[0]; # Name of the symbolic link + my $image_dest = $_[1]; # The directory the links goes into + my $image_name = "$kimage-$version"; + my $src_dir = $realimageloc; + warn "image_magic: kimage=$kimage, image_dest=$image_dest\n" . + "\t image_name=$image_name, src_dir=$src_dir" if $DEBUG; + + # Well, in any case, if the destination (the symlink we are trying + # to create) is a directory, we should do nothing, except throw a + # diagnostic. + if (-d "$kimage" ) { + die ("Hmm. $kimage is a directory, which I did not expect. I am\n" . + "trying to create a symbolic link with that name linked to \n" . + "$image_dest . Since a directory exists here, my assumptions \n" . + "are way off, and I am aborting.\n" ); + exit (3); + } + + if ($move_image) { # Maybe $image_dest is in on dos, or something? + # source dir, link name, dest dir + really_move_image( $realimageloc, $image_name, $image_dest); + really_reverse_link($realimageloc, $image_name, $image_dest) + if $reverse_symlink; + return; + } + + if (-l "$kimage") { # There is a symbolic link + warn "DEBUG: There is a symlink for $kimage\n" if $DEBUG; + my $force_move = move_p($kimage, $image_dest, $image_name, $src_dir); + + if ($force_move) { + really_move_link($kimage, $image_dest, $image_name, $src_dir); + } + } + elsif (! -e "$kimage") { + # Hmm. Pristine system? How can that be? Installing from scratch? + # Or maybe the user does not want a symbolic link here. + # Possibly they do not want a link here. (we should be in / + # here[$image_dest, really] + handle_missing_link($kimage, $image_dest, $image_name, $src_dir); + } + elsif (-e "$kimage" ) { + # OK, $kimage exists -- but is not a link + handle_non_symlinks($kimage, $image_dest, $image_name, $src_dir); + } +} + +###################################################################### +###################################################################### +###################################################################### +###################################################################### + +# We may not have any modules installed +if ( -d "$modules_base/$version" ) { + print STDERR "Running depmod.\n"; + my $ret = system("depmod -a $version"); + if ($ret) { + print STDERR "Failed to run depmod\n"; + exit(1); + } +} + + + +sub find_initrd_tool { + my $hostversion = shift; + my $version = shift; + print STDERR "Finding valid ramdisk creators.\n"; + my @ramdisks = + grep { + my $args = + "$_ " . + "--supported-host-version=$hostversion " . + "--supported-target-version=$version " . + "1>/dev/null 2>&1" + ; + system($args) == 0; + } + split (/[:,\s]+/, $ramdisk); +} + +# The initrd symlink should probably be in the same dir that the +# symlinks are in +if ($initrd) { + my $success = 0; + + # Update-initramfs is called slightly different than mkinitrd and + # mkinitramfs. XXX It should really be made compatible with this stuff + # some how. + my $upgrading = 1; + if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m//og) { + $upgrading = 0; + } + my $ret = system("$ramdisk " . ($upgrading ? "-u" : "-c") . " -k " . $version . " >&2"); + $success = 1 unless $ret; + die "Failed to create initrd image.\n" unless $success; + if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m//og) { + image_magic("initrd.img", $image_dest); + } + else { + if (! -e "initrd.img") { + handle_missing_link("initrd.img", $image_dest, "initrd.img-$version", + $realimageloc); + } + else { + print STDERR + "Not updating initrd symbolic links since we are being updated/reinstalled \n"; + print STDERR + "($ARGV[1] was configured last, according to dpkg)\n"; + } + } + + if ($initrd && -l "initrd" ) { + unlink "initrd"; + } + + if ($initrd && -l "$image_dir/initrd" && ! $link_in_boot) { + unlink "$image_dir/initrd"; + } +} +else { # Not making an initrd emage + if (-l "initrd.img") { + # Ooh, last image was an initrd image? in any case, we should move it. + my $target = readlink "initrd.img"; + my $real_target = ''; + $real_target = abs_path($target) if defined ($target); + + if (!defined($target) || ! -f "$real_target") { + # Eh. dangling link. can safely be removed. + unlink("initrd.img"); + } else { + if (-l "initrd.img.old" || ! -e "initrd.img.old" ) { + rename("initrd.img", "initrd.img.old"); + } else { + warn "initrd.img.old is not a symlink, not clobbering\n"; + unlink("initrd.img"); + } + } + } +} + +# Warn of a reboot +if (-x $notifier) { + system($notifier); +} + +# Let programs know not to hibernate if the kernel that would be used for +# resume-from-hibernate is likely to differ from the currently running kernel. +system("mountpoint -q /var/run"); +if ($? eq 0) { + system("touch /var/run/do-not-hibernate"); +} + +# Only change the symlinks if we are not being upgraded +if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m//og) { + image_magic($kimage, $image_dest); +} +else { + if (! -e "$kimage") { + handle_missing_link($kimage, $image_dest, "$kimage-$version", + $realimageloc); + } + else { + print STDERR + "Not updating image symbolic links since we are being updated/reinstalled \n"; + print STDERR + "($ARGV[1] was configured last, according to dpkg)\n"; + } +} + +# We used to have System.* files in / +if (-e "/System.map" || -e "/System.old") { + unlink '/System.map' if -e '/System.map'; + unlink '/System.old' if -e '/System.old'; +} + +# creating some info about kernel and initrd +if ($DEBUG) { + my $ksize=sprintf("%.0f",(stat($realimageloc . + "$kimage-$version"))[7]/1024)."kB"; + my $initrdsize=''; + if ($initrd) { + $initrdsize=sprintf("%.0f",(stat($realimageloc . + "initrd.img-$version"))[7]/1024)."kB"; + } + + print STDERR <<"EOMSG"; +A new kernel image has been installed at $realimageloc$kimage-$version + (Size: $ksize) + +Symbolic links, unless otherwise specified, can be found in $image_dest + +EOMSG + ; + + if ($initrd) { + print STDERR <<"EOMSGA"; + + Initial rootdisk image: ${realimageloc}initrd.img-$version (Size: $initrdsize) +EOMSGA + ; + } +} + +# set the env var stem +$ENV{'STEM'} = "linux"; +sub exec_script { + my $type = shift; + my $script = shift; + print STDERR "Running $type hook script $script.\n"; + system ("$script $version $realimageloc$kimage-$version") && + print STDERR "User $type hook script [$script] "; + if ($?) { + if ($? == -1) { + print STDERR "failed to execute: $!\n"; + } + elsif ($? & 127) { + printf STDERR "died with signal %d, %s coredump\n", + ($? & 127), ($? & 128) ? 'with' : 'without'; + } + else { + printf STDERR "exited with value %d\n", $? >> 8; + } + exit $? >> 8; + } +} +sub run_hook { + my $type = shift; + my $script = shift; + if ($script =~ m,^/,) { + # Full path provided for the hook script + if (-x "$script") { + &exec_script($type,$script); + } + else { + die "The provided $type hook script [$script] could not be run.\n"; + } + } + else { + # Look for it in a safe path + for my $path ('/bin', '/sbin', '/usr/bin', '/usr/sbin') { + if (-x "$path/$script") { + &exec_script($type, "$path/$script"); + return 0; + } + } + # No luck + print STDERR "Could not find $type hook script [$script].\n"; + die "Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'\n"; + } +} + +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + +## Run user hook script here, if any +if ($postinst_hook) { + &run_hook("postinst", $postinst_hook); +} + +if (-d "/etc/kernel/postinst.d") { + print STDERR "Examining /etc/kernel/postinst.d.\n"; + system ("run-parts --verbose --exit-on-error --arg=$version " . + "--arg=$realimageloc$kimage-$version " . + "/etc/kernel/postinst.d") && + die "Failed to process /etc/kernel/postinst.d"; +} + +if (-d "/etc/kernel/postinst.d/$version") { + print STDERR "Examining /etc/kernel/postinst.d/$version.\n"; + system ("run-parts --verbose --exit-on-error --arg=$version " . + "--arg=$realimageloc$kimage-$version " . + "/etc/kernel/postinst.d/$version") && + die "Failed to process /etc/kernel/postinst.d/$version"; +} + +LOADER: { + last unless $do_boot_enable; # Exit if explicitly asked to + + last if $loader =~ /silo/i; # SILO does not have to be executed. + last if $loader =~ /yaboot/i; # yaboot does not have to be executed. + last if $loader =~ /milo/i; # MILO does not have to be executed. + last if $loader =~ /nettrom/i; # NETTROM does not have to be executed. + last if $loader =~ /arcboot/i; # ARCBOOT does not have to be executed. + last if $loader =~ /delo/i; # DELO does not have to be executed. + last if $loader =~ /quik/i; # maintainer asked quik invocation to be ignored + + last unless $loaderloc; + last unless -x $loaderloc; + last unless $do_bootloader; + + if (-T "/etc/$loader.conf") { + # Trust and use the existing lilo.conf. + print STDERR "You already have a $Loader configuration in /etc/$loader.conf\n"; + my $ret = &run_lilo(); + exit $ret if $ret; + } +} + + +sub run_lilo (){ + my $ret; + # Try and figure out if the user really wants lilo to be run -- + # since the default is to run the boot laoder, which is ! grub -- but + # the user may be using grub now, and not changed the default. + + # So, if the user has explicitly asked for the loader to be run, or + # if there is no postinst hook, or if there is no grub installed -- + # we are OK. Or else, we ask. + if ($explicit_do_loader || (! ($postinst_hook && -x '/usr/sbin/grub'))) { + print STDERR "Running boot loader as requested\n"; + } else { + print STDERR "Ok, not running $loader\n"; + } + if ($loader =~ /^lilo/io or $loader =~ /vmelilo/io) { + print STDERR "Testing $loader.conf ... \n"; + unlink $temp_file_name; # security + $ret = system("$loaderloc -t >$temp_file_name 2>&1"); + if ($ret) { + print STDERR "Boot loader test failed\n"; + return $ret; + } + unlink "$temp_file_name"; + print STDERR "Testing successful.\n"; + print STDERR "Installing the "; + print STDERR "partition " if $loader =~ /^lilo/io; + print STDERR "boot sector... \n"; + } + + print STDERR "Running $loaderloc ... \n"; + if ($loader =~ /^elilo/io) { + $ret = system("$loaderloc 2>&1 | tee $temp_file_name"); + } else { + $ret = system("$loaderloc >$temp_file_name 2>&1"); + } + if ($ret) { + print STDERR "Boot loader failed to run\n"; + return $ret; + } + unlink $temp_file_name; + print STDERR "Installation successful.\n"; + return 0; +} + +exit 0; + +__END__ + --- linux-lowlatency-3.5.0.orig/debian/control-scripts/preinst +++ linux-lowlatency-3.5.0/debian/control-scripts/preinst @@ -0,0 +1,315 @@ +#! /usr/bin/perl +# -*- Mode: Cperl -*- +# image.preinst --- +# Author : Manoj Srivastava ( srivasta@tiamat.datasync.com ) +# Created On : Sun Jun 14 03:38:02 1998 +# Created On Node : tiamat.datasync.com +# Last Modified By : Manoj Srivastava +# Last Modified On : Sun Sep 24 14:04:42 2006 +# Last Machine Used: glaurung.internal.golden-gryphon.com +# Update Count : 99 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# + +# +#use strict; #for debugging + +use Debconf::Client::ConfModule qw(:all); +version('2.0'); +my $capb=capb("backup"); + +$|=1; + +# Predefined values: +my $version = "=V"; +my $link_in_boot = ""; # Should be empty, mostly +my $no_symlink = ""; # Should be empty, mostly +my $reverse_symlink = ""; # Should be empty, mostly +my $do_symlink = "Yes"; # target machine defined +my $do_boot_enable = "Yes"; # target machine defined +my $do_bootfloppy = "Yes"; # target machine defined +my $do_bootloader = "Yes"; # target machine defined +my $move_image = ''; # target machine defined +my $kimage = "=K"; # Should be empty, mostly +my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, nettrom + # or elilo +my $image_dir = "/boot"; # where the image is located +my $initrd = "YES"; # initrd kernel +my $use_hard_links = ''; # hardlinks do not wirk across fs boundaries +my $postinst_hook = ''; #Normally we do not +my $postrm_hook = ''; #Normally we do not +my $preinst_hook = ''; #Normally we do not +my $prerm_hook = ''; #Normally we do not +my $minimal_swap = ''; # Do not swap symlinks +my $ignore_depmod_err = ''; # normally we do not +my $relink_src_link = 'YES'; # There is no harm in checking the link +my $relink_build_link = 'YES'; # There is no harm in checking the link +my $force_build_link = ''; # There is no harm in checking the link +my $kernel_arch = "=B"; +my $ramdisk = "/usr/sbin/update-initramfs"; # List of tools to create initial ram fs. +my $package_name = "linux-image-$version"; + +my $Loader = "NoLOADER"; # +$Loader = "LILO" if $loader =~ /^lilo/io; +$Loader = "SILO" if $loader =~ /^silo/io; +$Loader = "QUIK" if $loader =~ /^quik/io; +$Loader = "yaboot" if $loader =~ /^yaboot/io; +$Loader = "PALO" if $loader =~ /^palo/io; +$Loader = "NETTROM" if $loader =~ /^nettrom/io; +$Loader = "VMELILO" if $loader =~ /^vmelilo/io; +$Loader = "ZIPL" if $loader =~ /^zipl/io; +$Loader = "ELILO" if $loader =~ /^elilo/io; + + +#known variables +my @boilerplate = (); +my @silotemplate = (); +my @quiktemplate = (); +my @palotemplate = (); +my @vmelilotemplate = (); +my $bootdevice = ''; +my $rootdevice = ''; +my $rootdisk = ''; +my $rootpartition = ''; +my $image_dest = "/"; +my $realimageloc = "/$image_dir/"; +my $have_conffile = ""; +my $CONF_LOC = '/etc/kernel-img.conf'; +my $relative_links = ''; +my $silent_loader = ''; +my $warn_reboot = ''; # Warn that we are installing a version of + # the kernel we are running + +my $modules_base = '/lib/modules'; + +die "Pre inst Internal error. Aborting." unless $version; + +exit 0 if $ARGV[0] =~ /abort-upgrade/; +exit 1 unless $ARGV[0] =~ /(install|upgrade)/; + +$arch = `uname -i`; +if ($arch =~ m/86/) { + system ("grep -q ' pae ' /proc/cpuinfo"); + if ($?) { + print STDERR "This kernel does not support a non-PAE CPU.\n"; + exit 1; + } +} + +# remove multiple leading slashes; make sure there is at least one. +$realimageloc =~ s|^/*|/|o; +$realimageloc =~ s|/+|/|o; + +if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { + if (open(CONF, "$CONF_LOC")) { + while () { + chomp; + s/\#.*$//g; + next if /^\s*$/; + + $do_symlink = "" if /^\s*do_symlinks\s*=\s*(no|false|0)\s*$/ig; + $no_symlink = "" if /^\s*no_symlinks\s*=\s*(no|false|0)\s*$/ig; + $reverse_symlink = "" if /^\s*reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*image_in_boot\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*link_in_boot\s*=\s*(no|false|0)\s*$/ig; + $move_image = "" if /^\s*move_image\s*=\s*(no|false|0)\s*$/ig; + $do_boot_enable = '' if /^\s*do_boot_enable\s*=\s*(no|false|0)\s*$/ig; + $do_bootfloppy = '' if /^\s*do_bootfloppy\s*=\s*(no|false|0)\s*$/ig; + $do_bootloader = '' if /^\s*do_bootloader\s*=\s*(no|false|0)\s*$/ig; + $relative_links = '' if /^\s*relative_links \s*=\s*(no|false|0)\s*$/ig; + $use_hard_links = '' if /^\s*use_hard_links\s*=\s*(no|false|0)\s*$/ig; + $silent_loader = '' if /^\s*silent_loader\s*=\s*(no|false|0)\s*$/ig; + $warn_reboot = '' if /^\s*warn_reboot\s*=\s*(no|false|0)\s*$/ig; + $minimal_swap = '' if /^\s*minimal_swap\s*=\s*(no|false|0)\s*$/ig; + $ignore_depmod_err = '' if /^\s*ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; + $relink_src_link = '' if /^\s*relink_src_link\s*=\s*(no|false|0)\s*$/ig; + $relink_build_link = '' if /^\s*relink_build_link\s*=\s*(no|false|0)\s*$/ig; + $force_build_link = '' if /^\s*force_build_link\s*=\s*(no|false|0)\s*$/ig; + + $do_symlink = "Yes" if /^\s*do_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $no_symlink = "Yes" if /^\s*no_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $reverse_symlink = "Yes" if /^\s*reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*image_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*link_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $move_image = "Yes" if /^\s*move_image\s*=\s*(yes|true|1)\s*$/ig; + $do_boot_enable = "Yes" if /^\s*do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; + $do_bootfloppy = "Yes" if /^\s*do_bootfloppy\s*=\s*(yes|true|1)\s*$/ig; + $do_bootloader = "Yes" if /^\s*do_bootloader\s*=\s*(yes|true|1)\s*$/ig; + $relative_links = "Yes" if /^\s*relative_links\s*=\s*(yes|true|1)\s*$/ig; + $use_hard_links = "Yes" if /^\s*use_hard_links\s*=\s*(yes|true|1)\s*$/ig; + $silent_loader = 'Yes' if /^\s*silent_loader\s*=\s*(yes|true|1)\s*$/ig; + $warn_reboot = 'Yes' if /^\s*warn_reboot\s*=\s*(yes|true|1)\s*$/ig; + $minimal_swap = 'Yes' if /^\s*minimal_swap\s*=\s*(yes|true|1)\s*$/ig; + $ignore_depmod_err = 'Yes' if /^\s*ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; + $relink_src_link = 'Yes' if /^\s*relink_src_link\s*=\s*(yes|true|1)\s*$/ig; + $relink_build_link = 'Yes' if /^\s*relink_build_link\s*=\s*(yes|true|1)\s*$/ig; + $force_build_link = 'Yes' if /^\s*force_build_link\s*=\s*(yes|true|1)\s*$/ig; + + $image_dest = "$1" if /^\s*image_dest\s*=\s*(\S+)/ig; + $postinst_hook = "$1" if /^\s*postinst_hook\s*=\s*(\S+)/ig; + $postrm_hook = "$1" if /^\s*postrm_hook\s*=\s*(\S+)/ig; + $preinst_hook = "$1" if /^\s*preinst_hook\s*=\s*(\S+)/ig; + $prerm_hook = "$1" if /^\s*prerm_hook\s*=\s*(\S+)/ig; + $ramdisk = "$1" if /^\s*ramdisk\s*=\s*(.+)$/ig; + } + close CONF; + $have_conffile = "Yes"; + $have_conffile = "Yes"; # stop perl complaining + } +} + +$ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; + +# About to upgrade this package from version $2 TO THIS VERSION. +# "prerm upgrade" has already been called for the old version of +# this package. + +sub find_initrd_tool { + my $hostversion = shift; + my $version = shift; + my @ramdisks = + grep { + my $args = + "$_ " . + "--supported-host-version=$hostversion " . + "--supported-target-version=$version " . + "1>/dev/null 2>&1" + ; + system($args) == 0; + } + split (/[:,\s]+/, $ramdisk); +} + +sub check { + my $version = shift; + my $lib_modules="$modules_base/$version"; + my $message = ''; + + if (-d "$lib_modules") { + opendir(DIR, $lib_modules) || die "can’t opendir $lib_modules: $!"; + my @children = readdir(DIR); + if ($#children > 1) { + my @dirs = grep { -d "$lib_modules/$_" } @children; + if ($#dirs > 1) { # we have subdirs + my $dir_message=''; + for my $dir (@dirs) { + if ($dir =~/kernel$/) { + $dir_message="An older install was detected.\n"; + } + else { + $dir_message="Module sub-directories were detected.\n" + unless $dir_message; + } + } + $message += $dir_message if $dir_message; + } + + my @links = grep { -l "$lib_modules/$_" } @children; + if ($#links > -1) { + my $links_message = ''; + for my $link (@links) { + next if ($link =~ /^build$/); + next if ($link =~ /^source$/); + $links_message = "Symbolic links were detected in $modules_base/$version.\n"; + } + $message += $links_message if $links_message; + } + my @files = grep { -f "$lib_modules/$_" } @children; + $message += "Additional files also exist in $modules_base/$version.\n" + if ($#files > -1); + } + } + else { $message .= "$lib_modules does not exist. ";} + return $message; +} + +if (-d "$modules_base/$version") { + my $errors=check($version); + warn "Info:\n$errors\n" if $errors; +} + +# set the env var stem +$ENV{'STEM'} = "linux"; + +sub exec_script { + my $type = shift; + my $script = shift; + print STDERR "Running $type hook script $script.\n"; + system ("$script $version $realimageloc$kimage-$version") && + print STDERR "User $type hook script [$script] "; + if ($?) { + if ($? == -1) { + print STDERR "failed to execute: $!\n"; + } + elsif ($? & 127) { + printf STDERR "died with signal %d, %s coredump\n", + ($? & 127), ($? & 128) ? 'with' : 'without'; + } + else { + printf STDERR "exited with value %d\n", $? >> 8; + } + exit $? >> 8; + } +} +sub run_hook { + my $type = shift; + my $script = shift; + if ($script =~ m,^/,) { + # Full path provided for the hook script + if (-x "$script") { + &exec_script($type,$script); + } + else { + die "The provided $type hook script [$script] could not be run.\n"; + } + } + else { + # Look for it in a safe path + for my $path ('/bin', '/sbin', '/usr/bin', '/usr/sbin') { + if (-x "$path/$script") { + &exec_script($type, "$path/$script"); + return 0; + } + } + # No luck + print STDERR "Could not find $type hook script [$script].\n"; + die "Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'\n"; + } +} + + +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + +## Run user hook script here, if any +if (-x "$preinst_hook") { + &run_hook("preinst", $preinst_hook); +} +if (-d "/etc/kernel/preinst.d") { + print STDERR "Examining /etc/kernel/preinst.d/\n"; + system ("run-parts --verbose --exit-on-error --arg=$version" . + " --arg=$realimageloc$kimage-$version" . + " /etc/kernel/preinst.d") && + die "Failed to process /etc/kernel/preinst.d"; +} +if (-d "/etc/kernel/preinst.d/$version") { + print STDERR "Examining /etc/kernel/preinst.d/$version.\n"; + system ("run-parts --verbose --exit-on-error --arg=$version" . + " --arg=$realimageloc$kimage-$version" . + " /etc/kernel/preinst.d/$version") && + die "Failed to process /etc/kernel/preinst.d/$version"; +} +print STDERR "Done.\n"; + +exit 0; + +__END__ + + --- linux-lowlatency-3.5.0.orig/debian/control-scripts/postrm +++ linux-lowlatency-3.5.0/debian/control-scripts/postrm @@ -0,0 +1,361 @@ +#! /usr/bin/perl +# -*- Mode: Cperl -*- +# image.postrm --- +# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) +# Created On : Sat May 15 11:05:13 1999 +# Created On Node : glaurung.green-gryphon.com +# Last Modified By : Manoj Srivastava +# Last Modified On : Wed Sep 13 11:26:19 2006 +# Last Machine Used: glaurung.internal.golden-gryphon.com +# Update Count : 57 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# $Id: image.postrm,v 1.31 2003/10/07 16:24:20 srivasta Exp $ +# + + +# +#use strict; #for debugging +use Cwd 'abs_path'; + +$|=1; + +# Predefined values: +my $version = "=V"; +my $link_in_boot = ""; # Should be empty, mostly +my $no_symlink = ""; # Should be empty, mostly +my $reverse_symlink = ""; # Should be empty, mostly +my $do_symlink = "Yes"; # target machine defined +my $do_boot_enable = "Yes"; # target machine defined +my $do_bootfloppy = "Yes"; # target machine defined +my $do_bootloader = "Yes"; # target machine defined +my $move_image = ''; # target machine defined +my $kimage = "=K"; # Should be empty, mostly +my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, or nettrom +my $image_dir = "/boot"; # where the image is located +my $clobber_modules = ''; # target machine defined +my $initrd = "YES"; # initrd kernel +my $do_initrd = ''; # Normally, we don't +my $warn_initrd = 'YES'; # Normally we do +my $use_hard_links = ''; # hardlinks do not work across fs boundaries +my $postinst_hook = ''; #Normally we do not +my $postrm_hook = ''; #Normally we do not +my $preinst_hook = ''; #Normally we do not +my $prerm_hook = ''; #Normally we do not +my $minimal_swap = ''; # Do not swap symlinks +my $ignore_depmod_err = ''; # normally we do not +my $relink_build_link = 'YES'; # There is no harm in checking the link +my $force_build_link = ''; # we shall not create a dangling link +my $kernel_arch = "=B"; +my $ramdisk = "/usr/sbin/update-initramfs"; +my $package_name = "linux-image-$version"; + +my $Loader = "NoLOADER"; # +$Loader = "LILO" if $loader =~ /^lilo/io; +$Loader = "SILO" if $loader =~ /^silo/io; +$Loader = "QUIK" if $loader =~ /^quik/io; +$Loader = "yaboot" if $loader =~ /^yaboot/io; +$Loader = "PALO" if $loader =~ /^palo/io; +$Loader = "NETTROM" if $loader =~ /^nettrom/io; +$Loader = "VMELILO" if $loader =~ /^vmelilo/io; +$Loader = "ZIPL" if $loader =~ /^zipl/io; +$Loader = "ELILO" if $loader =~ /^elilo/io; + + +# This should not point to /tmp, because of security risks. +my $temp_file_name = "/var/log/$loader" . "_log.$$"; + +#known variables +my @boilerplate = (); +my @silotemplate = (); +my @quiktemplate = (); +my @palotemplate = (); +my @vmelilotemplate = (); +my $bootdevice = ''; +my $rootdevice = ''; +my $rootdisk = ''; +my $rootpartition = ''; +my $image_dest = "/"; +my $realimageloc = "/$image_dir/"; +my $have_conffile = ""; +my $CONF_LOC = '/etc/kernel-img.conf'; +my $relative_links = ''; +my $silent_modules = ''; +my $silent_loader = ''; +my $warn_reboot = 'Yes'; # Warn that we are installing a version of + # the kernel we are running + +chdir('/') or die "could not chdir to /:$!\n"; +# remove multiple leading slashes; make sure there is at least one. +$realimageloc =~ s|^/*|/|o; +$realimageloc =~ s|/+|/|o; + + +if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { + if (open(CONF, "$CONF_LOC")) { + while () { + chomp; + s/\#.*$//g; + next if /^\s*$/; + + $do_symlink = "" if /^\s*do_symlinks\s*=\s*(no|false|0)\s*$/ig; + $no_symlink = "" if /^\s*no_symlinks\s*=\s*(no|false|0)\s*$/ig; + $reverse_symlink = "" if /^\s*reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*image_in_boot\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*link_in_boot\s*=\s*(no|false|0)\s*$/ig; + $move_image = "" if /^\s*move_image\s*=\s*(no|false|0)\s*$/ig; + $clobber_modules = '' if /^\s*clobber_modules\s*=\s*(no|false|0)\s*$/ig; + $do_boot_enable = '' if /^\s*do_boot_enable\s*=\s*(no|false|0)\s*$/ig; + $do_bootfloppy = '' if /^\s*do_bootfloppy\s*=\s*(no|false|0)\s*$/ig; + $relative_links = '' if /^\s*relative_links \s*=\s*(no|false|0)\s*$/ig; + $do_bootloader = '' if /^\s*do_bootloader\s*=\s*(no|false|0)\s*$/ig; + $do_initrd = '' if /^\s*do_initrd\s*=\s*(no|false|0)\s*$/ig; + $warn_initrd = '' if /^\s*warn_initrd\s*=\s*(no|false|0)\s*$/ig; + $use_hard_links = '' if /^\s*use_hard_links\s*=\s*(no|false|0)\s*$/ig; + $silent_modules = '' if /^\s*silent_modules\s*=\s*(no|false|0)\s*$/ig; + $silent_loader = '' if /^\s*silent_loader\s*=\s*(no|false|0)\s*$/ig; + $warn_reboot = '' if /^\s*warn_reboot\s*=\s*(no|false|0)\s*$/ig; + $minimal_swap = '' if /^\s*minimal_swap\s*=\s*(no|false|0)\s*$/ig; + $ignore_depmod_err = '' if /^\s*ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; + $relink_build_link = '' if /^\s*relink_build_link\s*=\s*(no|false|0)\s*$/ig; + $force_build_link = '' if /^\s*force_build_link\s*=\s*(no|false|0)\s*$/ig; + + $do_symlink = "Yes" if /^\s*do_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $no_symlink = "Yes" if /^\s*no_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $reverse_symlink = "Yes" if /^\s*reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*image_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*link_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $move_image = "Yes" if /^\s*move_image\s*=\s*(yes|true|1)\s*$/ig; + $clobber_modules = "Yes" if /^\s*clobber_modules\s*=\s*(yes|true|1)\s*$/ig; + $do_boot_enable = "Yes" if /^\s*do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; + $do_bootfloppy = "Yes" if /^\s*do_bootfloppy\s*=\s*(yes|true|1)\s*$/ig; + $do_bootloader = "Yes" if /^\s*do_bootloader\s*=\s*(yes|true|1)\s*$/ig; + $relative_links = "Yes" if /^\s*relative_links\s*=\s*(yes|true|1)\s*$/ig; + $do_initrd = "Yes" if /^\s*do_initrd\s*=\s*(yes|true|1)\s*$/ig; + $warn_initrd = "Yes" if /^\s*warn_initrd\s*=\s*(yes|true|1)\s*$/ig; + $use_hard_links = "Yes" if /^\s*use_hard_links\s*=\s*(yes|true|1)\s*$/ig; + $silent_modules = 'Yes' if /^\s*silent_modules\s*=\s*(yes|true|1)\s*$/ig; + $silent_loader = 'Yes' if /^\s*silent_loader\s*=\s*(yes|true|1)\s*$/ig; + $warn_reboot = 'Yes' if /^\s*warn_reboot\s*=\s*(yes|true|1)\s*$/ig; + $minimal_swap = 'Yes' if /^\s*minimal_swap\s*=\s*(yes|true|1)\s*$/ig; + $ignore_depmod_err = 'Yes' if /^\s*ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; + $relink_build_link = 'Yes' if /^\s*relink_build_link\s*=\s*(yes|true|1)\s*$/ig; + $force_build_link = 'Yes' if /^\s*force_build_link\s*=\s*(yes|true|1)\s*$/ig; + + $image_dest = "$1" if /^\s*image_dest\s*=\s*(\S+)/ig; + $postinst_hook = "$1" if /^\s*postinst_hook\s*=\s*(\S+)/ig; + $postrm_hook = "$1" if /^\s*postrm_hook\s*=\s*(\S+)/ig; + $preinst_hook = "$1" if /^\s*preinst_hook\s*=\s*(\S+)/ig; + $prerm_hook = "$1" if /^\s*prerm_hook\s*=\s*(\S+)/ig; + $ramdisk = "$1" if /^\s*ramdisk\s*=\s*(.+)$/ig; + } + close CONF; + $have_conffile = "Yes"; + } +} + +if ($link_in_boot) { + $image_dest = "/$image_dir/"; + $image_dest =~ s|^/*|/|o; +} + +$image_dest = "$image_dest/"; +$image_dest =~ s|/+$|/|o; + +# The destdir may be gone by now. +if (-d "$image_dest") { + chdir("$image_dest") or die "could not chdir to $image_dest:$!\n"; +} + +# Paranoid check to make sure that the correct value is put in there +if (! $kimage) {$kimage = "vmlinuz"} # Hmm. empty +elsif ($kimage =~ m/^b?uImage$/o) {$kimage = "vmlinuz"} # these produce vmlinuz +elsif ($kimage =~ m/^b?zImage$/o) {$kimage = "vmlinuz"} # these produce vmlinuz +elsif ($kimage =~ m/^[iI]mage$/o) { my $nop = $kimage;} +elsif ($kimage =~ m/^vmlinux$/o) { my $nop = $kimage;} +else {$kimage = "vmlinuz"} # default + +$ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; + + +###################################################################### +###################################################################### +############ +###################################################################### +###################################################################### +sub remove_sym_link { + my $bad_image = $_[0]; + + warn "Removing symbolic link $bad_image \n"; + if ($loader =~ /lilo/i) + { + warn "Unless you used the optional flag in lilo, \n"; + } + warn " you may need to re-run your boot loader" . ($loader ? "[$loader]":"") + . "\n"; + # Remove the dangling link + unlink "$bad_image"; +} + +###################################################################### +###################################################################### +############ +###################################################################### +###################################################################### +sub CanonicalizePath { + my $path = join '/', @_; + my @work = split '/', $path; + my @out; + my $is_absolute; + + if (@work && $work[0] eq "") { $is_absolute = 1; shift @work; } + + while (@work) { + my $seg = shift @work; + if ($seg eq "." || $seg eq "") { + } elsif ($seg eq "..") { + if (@out && $out[-1] ne "..") { + pop @out; + } else { + # Leading "..", or "../..", etc. + push @out, $seg; + } + } else { + push @out, $seg; + } + } + + unshift @out, "" if $is_absolute; + return join('/', @out); +} + +###################################################################### +###################################################################### +############ +###################################################################### +###################################################################### +# This removes dangling symlinks. What do we do about hard links? Surely a +# something with the nane $image_dest . "$kimage" ought not to be left behind? +sub image_magic { + my $kimage = $_[0]; + my $image_dest = $_[1]; + + if (-l "$kimage") { + # There is a symbolic link + my $force_move = 0; + my $vmlinuz_target = readlink "$kimage"; + my $real_target = ''; + $real_target = abs_path($vmlinuz_target) if defined ($vmlinuz_target); + if (!defined($vmlinuz_target) || ! -f "$real_target") { + # what, a dangling symlink? + warn "The link " . $image_dest . "$kimage is a damaged link\n"; + # Remove the dangling link + &remove_sym_link("$kimage"); + } + else { + my $canonical_target = CanonicalizePath("$vmlinuz_target"); + if (! -e $canonical_target) { + warn "The link " . $image_dest . "$kimage is a dangling link\n"; + &remove_sym_link("$kimage"); + } + } + } +} + +# set the env var stem +$ENV{'STEM'} = "linux"; + +sub exec_script { + my $type = shift; + my $script = shift; + print STDERR "Running $type hook script $script.\n"; + system ("$script $version $realimageloc$kimage-$version") && + print STDERR "User $type hook script [$script] "; + if ($?) { + if ($? == -1) { + print STDERR "failed to execute: $!\n"; + } + elsif ($? & 127) { + printf STDERR "died with signal %d, %s coredump\n", + ($? & 127), ($? & 128) ? 'with' : 'without'; + } + else { + printf STDERR "exited with value %d\n", $? >> 8; + } + } +} +sub run_hook { + my $type = shift; + my $script = shift; + if ($script =~ m,^/,) { + # Full path provided for the hook script + if (-x "$script") { + &exec_script($type,$script); + } + else { + warn "The provided $type hook script [$script] could not be run.\n"; + } + } + else { + # Look for it in a safe path + for my $path ('/bin', '/sbin', '/usr/bin', '/usr/sbin') { + if (-x "$path/$script") { + &exec_script($type, "$path/$script"); + return 0; + } + } + # No luck + print STDERR "Could not find $type hook script [$script].\n"; + warn "Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'\n"; + } +} + +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + +## Run user hook script here, if any +if ($postrm_hook) { + &run_hook("postrm", $postrm_hook); +} +if (-d "/etc/kernel/postrm.d") { + warn "Examining /etc/kernel/postrm.d .\n"; + system ("run-parts --verbose --exit-on-error --arg=$version " . + "--arg=$realimageloc$kimage-$version " . + "/etc/kernel/postrm.d") && + die "Failed to process /etc/kernel/postrm.d"; +} +if (-d "/etc/kernel/postrm.d/$version") { + warn "Examining /etc/kernel/postrm.d/$version .\n"; + system ("run-parts --verbose --exit-on-error --arg=$version " . + "--arg=$realimageloc$kimage-$version " . + "/etc/kernel/postrm.d/$version") && + die "Failed to process /etc/kernel/postrm.d/$version"; +} + +# check and remove damaged and dangling symlinks +if ($ARGV[0] !~ /upgrade/) { + system("$ramdisk -d -k " . $version . " > /dev/null 2>&1"); + if (-f $realimageloc . "initrd.img-$version.bak") { + unlink $realimageloc . "initrd.img-$version.bak"; + } + image_magic($kimage, $image_dest); + image_magic($kimage . ".old", $image_dest); + image_magic("initrd.img", $image_dest) if $initrd; + image_magic("initrd.img.old", $image_dest) if $initrd; +} + +exit 0; + +__END__ + + + + + + --- linux-lowlatency-3.5.0.orig/debian/control-scripts/prerm +++ linux-lowlatency-3.5.0/debian/control-scripts/prerm @@ -0,0 +1,312 @@ +#! /usr/bin/perl +# -*- Mode: Perl -*- +# image.prerm --- +# Author : root ( root@melkor.pilgrim.umass.edu ) +# Created On : Fri May 17 03:28:59 1996 +# Created On Node : melkor.pilgrim.umass.edu +# Last Modified By : Manoj Srivastava +# Last Modified On : Sat Aug 5 13:14:17 2006 +# Last Machine Used: glaurung.internal.golden-gryphon.com +# Update Count : 85 +# Status : Unknown, Use with caution! +# HISTORY : +# Description : +# +# +# $Id: image.prerm,v 1.22 2003/10/07 16:24:20 srivasta Exp $ +# +# +#use strict; + +$|=1; +# Predefined values: +my $version = "=V"; +my $link_in_boot = ""; # Should be empty, mostly +my $no_symlink = ""; # Should be empty, mostly +my $reverse_symlink = ""; # Should be empty, mostly +my $do_symlinks = "Yes"; # target machine defined +my $do_boot_enable = "Yes"; # target machine defined +my $do_bootfloppy = "Yes"; # target machine defined +my $do_bootloader = "Yes"; # target machine defined +my $move_image = ''; # target machine defined +my $kimage = "=K"; # Should be empty, mostly +my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, or nettrom +my $image_dir = "/boot"; # where the image is located +my $clobber_modules = ''; # target machine defined +my $initrd = "YES"; # initrd kernel +my $use_hard_links = ''; # hardlinks do not wirk across fs boundaries +my $postinst_hook = ''; #Normally we do not +my $postrm_hook = ''; #Normally we do not +my $preinst_hook = ''; #Normally we do not +my $prerm_hook = ''; #Normally we do not +my $minimal_swap = ''; # Do not swap symlinks +my $ignore_depmod_err = ''; # normally we do not +my $relink_build_link = 'YES'; # There is no harm in checking the link +my $force_build_link = ''; # There is no harm in checking the link +my $kernel_arch = "=B"; +my $ramdisk = "/usr/sbin/update-initramfs"; +my $package_name = "linux-image-$version"; + +my $Loader = "NoLOADER"; # +$Loader = "LILO" if $loader =~ /^lilo/io; +$Loader = "SILO" if $loader =~ /^silo/io; +$Loader = "QUIK" if $loader =~ /^quik/io; +$Loader = "yaboot" if $loader =~ /^yaboot/io; +$Loader = "PALO" if $loader =~ /^palo/io; +$Loader = "NETTROM" if $loader =~ /^nettrom/io; +$Loader = "VMELILO" if $loader =~ /^vmelilo/io; +$Loader = "ZIPL" if $loader =~ /^zipl/io; +$Loader = "ELILO" if $loader =~ /^elilo/io; + + +# This should not point to /tmp, because of security risks. +my $temp_file_name = "/var/log/$loader" . "_log.$$"; + +#known variables +my $image_dest = "/"; +my $realimageloc = "/$image_dir/"; +my $have_conffile = ""; +my $CONF_LOC = '/etc/kernel-img.conf'; +my $relative_links = ''; +my $silent_loader = ''; +my $warn_reboot = 'Yes'; # Warn that we are installing a version of + # the kernel we are running + +# remove multiple leading slashes; make sure there is at least one. +$realimageloc =~ s|^/*|/|o; +$realimageloc =~ s|/+|/|o; + +my $DEBUG = 0; + +# Variables used +my $image=''; +my $ret=0; +my $seen=''; +my $answer=''; +my $running = ''; +my $WouldInvalidate = 0; + +if ($ARGV[0] && ($ARGV[0] =~ /remove/ || $ARGV[0] =~ /upgrade/)) { + if (-l "/usr/doc/linux-image-$version") { + unlink "/usr/doc/linux-image-$version"; + } +} + +# Ignore all invocations uxcept when called on to remove +exit 0 unless ($ARGV[0] && $ARGV[0] =~ /remove/) ; + +# Paranoid check to make sure that the correct value is put in there +if (! $kimage) { $kimage = "vmlinuz";} # Hmm. empty +elsif ($kimage =~ m/^b?uImage$/o) { $kimage = "vmlinuz";} # these produce vmlinuz +elsif ($kimage =~ m/^b?zImage$/o) { $kimage = "vmlinuz";} # these produce vmlinuz +elsif ($kimage =~ m/^[iI]mage$/o) { my $nop = $kimage; } +elsif ($kimage =~ m/^vmlinux$/o) { my $nop = $kimage; } +else { $kimage = "vmlinuz";} # Default + +if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { + if (open(CONF, "$CONF_LOC")) { + while () { + chomp; + s/\#.*$//g; + next if /^\s*$/; + + $do_symlink = "" if /^\s*do_symlinks\s*=\s*(no|false|0)\s*$/ig; + $no_symlink = "" if /^\s*no_symlinks\s*=\s*(no|false|0)\s*$/ig; + $reverse_symlink = "" if /^\s*reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*image_in_boot\s*=\s*(no|false|0)\s*$/ig; + $link_in_boot = "" if /^\s*link_in_boot\s*=\s*(no|false|0)\s*$/ig; + $move_image = "" if /^\s*move_image\s*=\s*(no|false|0)\s*$/ig; + $clobber_modules = '' if /^\s*clobber_modules\s*=\s*(no|false|0)\s*$/ig; + $do_boot_enable = '' if /^\s*do_boot_enable\s*=\s*(no|false|0)\s*$/ig; + $do_bootfloppy = '' if /^\s*do_bootfloppy\s*=\s*(no|false|0)\s*$/ig; + $relative_links = '' if /^\s*relative_links \s*=\s*(no|false|0)\s*$/ig; + $do_bootloader = '' if /^\s*do_bootloader\s*=\s*(no|false|0)\s*$/ig; + $do_initrd = '' if /^\s*do_initrd\s*=\s*(no|false|0)\s*$/ig; + $use_hard_links = '' if /^\s*use_hard_links\s*=\s*(no|false|0)\s*$/ig; + $silent_loader = '' if /^\s*silent_loader\s*=\s*(no|false|0)\s*$/ig; + $warn_reboot = '' if /^\s*warn_reboot\s*=\s*(no|false|0)\s*$/ig; + $minimal_swap = '' if /^\s*minimal_swap\s*=\s*(no|false|0)\s*$/ig; + $ignore_depmod_err = '' if /^\s*ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; + $relink_build_link = '' if /^\s*relink_build_link\s*=\s*(no|false|0)\s*$/ig; + $force_build_link = '' if /^\s*force_build_link\s*=\s*(no|false|0)\s*$/ig; + + + $do_symlink = "Yes" if /^\s*do_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $no_symlink = "Yes" if /^\s*no_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $reverse_symlink = "Yes" if /^\s*reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*image_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $link_in_boot = "Yes" if /^\s*link_in_boot\s*=\s*(yes|true|1)\s*$/ig; + $move_image = "Yes" if /^\s*move_image\s*=\s*(yes|true|1)\s*$/ig; + $clobber_modules = "Yes" if /^\s*clobber_modules\s*=\s*(yes|true|1)\s*$/ig; + $do_boot_enable = "Yes" if /^\s*do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; + $do_bootfloppy = "Yes" if /^\s*do_bootfloppy\s*=\s*(yes|true|1)\s*$/ig; + $do_bootloader = "Yes" if /^\s*do_bootloader\s*=\s*(yes|true|1)\s*$/ig; + $relative_links = "Yes" if /^\s*relative_links\s*=\s*(yes|true|1)\s*$/ig; + $do_initrd = "Yes" if /^\s*do_initrd\s*=\s*(yes|true|1)\s*$/ig; + $use_hard_links = "Yes" if /^\s*use_hard_links\s*=\s*(yes|true|1)\s*$/ig; + $silent_loader = 'Yes' if /^\s*silent_loader\s*=\s*(yes|true|1)\s*$/ig; + $warn_reboot = 'Yes' if /^\s*warn_reboot\s*=\s*(yes|true|1)\s*$/ig; + $minimal_swap = 'Yes' if /^\s*minimal_swap\s*=\s*(yes|true|1)\s*$/ig; + $ignore_depmod_err = 'Yes' if /^\s*ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; + $relink_build_link = 'Yes' if /^\s*relink_build_link\s*=\s*(yes|true|1)\s*$/ig; + $force_build_link = 'Yes' if /^\s*force_build_link\s*=\s*(yes|true|1)\s*$/ig; + + $image_dest = "$1" if /^\s*image_dest\s*=\s*(\S+)/ig; + $postinst_hook = "$1" if /^\s*postinst_hook\s*=\s*(\S+)/ig; + $postrm_hook = "$1" if /^\s*postrm_hook\s*=\s*(\S+)/ig; + $preinst_hook = "$1" if /^\s*preinst_hook\s*=\s*(\S+)/ig; + $prerm_hook = "$1" if /^\s*prerm_hook\s*=\s*(\S+)/ig; + $ramdisk = "$1" if /^\s*ramdisk\s*=\s*(.+)$/ig; + } + close CONF; + $have_conffile = "Yes"; + } +} + + +$ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; + +#check to see if we are trying to remove a running kernel +# if so we abort right now. +chop($running=`uname -r`); +if ($running eq $version) { + print STDERR "WARN: Proceeding with removing running kernel image.\n"; +} + +#Now, they have an alternate kernel which they are currently running + +# This is just us being nice to lilo users. + +chdir("/") or die "could not chdir to /:$!\n"; + +if (-f "/etc/$loader.conf") { #I know, could be a link, but .. + open (LILO, "/etc/$loader.conf") || &success(); # this is not critical + while () { + chop; + s/\#.*//; # nix the comments + next unless /^\s*image\s*=\s(\S+)/o; + $image = $1; + if ($image && -e $image) { + while (defined($image) && -l $image) { + $image = readlink ($image); + } + if (defined($image) && -e $image) { + $WouldInvalidate |= $image =~ /$kimage-$version/; + } + else { + &success(); # invalid $loader.conf file + } + } + else { + &success(); # invalid $loader.conf file + } + } + close (LILO); + if ($WouldInvalidate) { + print STFERR "WARN: Proceeding with removing running kernel image.\n"; + &success(); + } +} + + +# set the env var stem +$ENV{'STEM'} = "linux"; + +sub exec_script { + my $type = shift; + my $script = shift; + print STDERR "Running $type hook script $script.\n"; + system ("$script $version $realimageloc$kimage-$version") && + print STDERR "User $type hook script [$script] "; + if ($?) { + if ($? == -1) { + print STDERR "failed to execute: $!\n"; + } + elsif ($? & 127) { + printf STDERR "died with signal %d, %s coredump\n", + ($? & 127), ($? & 128) ? 'with' : 'without'; + } + else { + printf STDERR "exited with value %d\n", $? >> 8; + } + exit $? >> 8; + } +} +sub run_hook { + my $type = shift; + my $script = shift; + if ($script =~ m,^/,) { + # Full path provided for the hook script + if (-x "$script") { + &exec_script($type,$script); + } + else { + die "The provided $type hook script [$script] could not be run.\n"; + } + } + else { + # Look for it in a safe path + for my $path ('/bin', '/sbin', '/usr/bin', '/usr/sbin') { + if (-x "$path/$script") { + &exec_script($type, "$path/$script"); + return 0; + } + } + # No luck + print STDERR "Could not find $type hook script [$script].\n"; + die "Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'\n"; + } +} + + +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + +## Run user hook script here, if any +if (-x "$prerm_hook") { + &run_hook("prerm", $prerm_hook); +} +if (-d "/etc/kernel/prerm.d") { + print STDERR "Examining /etc/kernel/prerm.d.\n"; + system ("run-parts --verbose --exit-on-error --arg=$version " . + "--arg=$realimageloc$kimage-$version /etc/kernel/prerm.d") && + die "Failed to process /etc/kernel/prerm.d"; +} +if (-d "/etc/kernel/prerm.d/$version") { + print STDERR "Examining /etc/kernel/prerm.d/$version.\n"; + system ("run-parts --verbose --exit-on-error --arg=$version" . + " --arg=$realimageloc$kimage-$version " . + "/etc/kernel/prerm.d/$version") && + die "Failed to process /etc/kernel/prerm.d/$version"; +} + +sub success () { + # NOTE: need to keep this list in sync with rules.d/2-binary-arch.mk + my %files_to_keep = ( + 'modules.builtin' => 1, + 'modules.order' => 1, + ); + my $short; + for my $file () { + $short = $file; $short =~ s,.*/,,; + if (!defined $files_to_keep{$short}) { + unlink "$file"; + } + } + exit 0; +} + + + +&success(); +exit 0; +__END__ + + + + + --- linux-lowlatency-3.5.0.orig/debian/docs/README.inclusion-list +++ linux-lowlatency-3.5.0/debian/docs/README.inclusion-list @@ -0,0 +1,51 @@ +This README describes the reason for, and the use of, module +inclusion lists. + +The original Hardy release had the notion of sub-flavours, +e.g., a flavour that was constructed as a subset of an existing flavour. +For example, the virtual flavour was extracted from the server flavour using +a subset of the server flavour modules. However, there were some difficult +mainteneance issues with regard to packaging, make rules, and scripts. This +re-implementation of the sub-flavours philosophy is hopefully simpler, +and retrofitable to all releases. + +A module inclusion list looks at the problem of of constructing a package +from the perspective of what modules do we _want_ in the package, as opposed +to what modules we _don't_ want. As the kernel matures, more and more devices are added +which makes the problem of configuration maintenance a real pain in the ass. +If we took the approach of disabling all of the config options that we don't want, +then the differences between flavours will quickly become quite large, making +it difficult to quickly compare the individual flavour configs. Each time a +new config option is added then we also have to make a decision about disabling in +order to continue to keep the minimal number of modules. + +A module inclusion list is applied on a per-flavour basis. For example, +debian./control.d/${flavour}.inclusion-list. For example, the +config for virtual is very close to server and generic, but the inclusion list +causes the virtual package to be constructed with _only_ the modules described +in the inclusion list. + +The inclusion list format is a simple bash regular expression list of files. For example, + +arch/*/{crypto,kernel,oprofile} +drivers/acpi/* +drivers/ata/ahci.ko + +These 3 regular expression forms are suitable for expansion by bash and as inputs to 'find'. +See debian/scripts/module-inclusion for details. + +There are 2 log files created as a side effect of the application of the module +inclusion list; $(flavour).inclusion-list.log and $(flavour).depmod.log. + +$(flavour).inclusion-list.log : This log is created while the inclusion list +modules are being copied. If any are missing, then those warnings go in this log. +While its not considered a fatal error, you should endevour to correct your inclusion +list such that there are no missing modules. + +$(flavour).depmod.log : The log is created as a result of running depmod on the +resulting set of modules. If there are missing symbols then you'll find that information +here. Again, you should modify your inclusion list such that there are no missing +symbols. + +Tim Gardner +June 2, 2010 --- linux-lowlatency-3.5.0.orig/debian/rules.d/0-common-vars.mk +++ linux-lowlatency-3.5.0/debian/rules.d/0-common-vars.mk @@ -0,0 +1,232 @@ +# +# The source package name will be the first token from $(DEBIAN)/changelog +# +src_pkg_name=$(shell sed -n '1s/^\(.*\) (.*).*$$/\1/p' $(DEBIAN)/changelog) + +# Get some version info +series := oneiric +release := $(shell sed -n '1s/^$(src_pkg_name).*(\(.*\)-.*).*$$/\1/p' $(DEBIAN)/changelog) +revisions := $(shell sed -n 's/^$(src_pkg_name)\ .*($(release)-\(.*\)).*$$/\1/p' $(DEBIAN)/changelog | tac) +revision ?= $(word $(words $(revisions)),$(revisions)) +prev_revisions := $(filter-out $(revision),0.0 $(revisions)) +prev_revision := $(word $(words $(prev_revisions)),$(prev_revisions)) + +family=ubuntu + +# This is an internally used mechanism for the daily kernel builds. It +# creates packages whose ABI is suffixed with a minimal representation of +# the current git HEAD sha. If .git/HEAD is not present, then it uses the +# uuidgen program, +# +# AUTOBUILD can also be used by anyone wanting to build a custom kernel +# image, or rebuild the entire set of Ubuntu packages using custom patches +# or configs. +AUTOBUILD= + +# +# This is a way to support some external variables. A good example is +# a local setup for ccache and distcc See LOCAL_ENV_CC and +# LOCAL_ENV_DISTCC_HOSTS in the definition of kmake. +# For example: +# LOCAL_ENV_CC="ccache distcc" +# LOCAL_ENV_DISTCC_HOSTS="localhost 10.0.2.5 10.0.2.221" +# +-include $(CURDIR)/../.$(series)-env + +ifneq ($(AUTOBUILD),) +skipabi = true +skipmodule = true +skipdbg = true +gitver=$(shell if test -f .git/HEAD; then cat .git/HEAD; else uuidgen; fi) +gitverpre=$(shell echo $(gitver) | cut -b -3) +gitverpost=$(shell echo $(gitver) | cut -b 38-40) +abi_suffix = -$(gitverpre)$(gitverpost) +endif + +ifneq ($(NOKERNLOG),) +ubuntu_log_opts += --no-kern-log +endif +ifneq ($(PRINTSHAS),) +ubuntu_log_opts += --print-shas +endif + +# Get the kernels own extra version to be added to the release signature. +raw_kernelversion=$(shell make kernelversion) + +# +# full_build -- are we doing a full buildd style build +# +ifeq ($(wildcard /CurrentlyBuilding),) +full_build?=false +else +full_build?=true +endif + +# +# The debug packages are ginormous, so you probably want to skip +# building them (as a developer). +# +ifeq ($(full_build),false) +skipdbg=true +endif + +abinum := $(shell echo $(revision) | sed -e 's/\..*//')$(abi_suffix) +prev_abinum := $(shell echo $(prev_revision) | sed -e 's/\..*//')$(abi_suffix) +abi_release := $(release)-$(abinum) + +uploadnum := $(shell echo $(revision) | sed -e 's/.*\.//') +ifneq ($(full_build),false) + uploadnum := $(uploadnum)-Ubuntu +endif + +# XXX: linux-libc-dev got bumped to -803.N inadvertantly by a ti-omap4 upload +# shift our version higher for this package only. Ensure this only +# occurs for the v2.6.35 kernel so that we do not propogate this into +# any other series. +raw_uploadnum := $(shell echo $(revision) | sed -e 's/.*\.//') +libc_dev_version := +ifeq ($(DEBIAN),debian.master) +ifeq ($(release),2.6.35) +libc_dev_version := -v$(release)-$(shell expr "$(abinum)" + 1000).$(raw_uploadnum) +endif +endif + +DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH) + +# +# Detect invocations of the form 'fakeroot debian/rules binary arch=armel' +# within an x86'en schroot. This only gets you part of the way since the +# packaging phase fails, but you can at least compile the kernel quickly. +# +arch := $(DEB_HOST_ARCH) +ifneq ($(arch),$(DEB_HOST_ARCH)) + CROSS_COMPILE ?= $(shell dpkg-architecture -a$(arch) -qDEB_HOST_GNU_TYPE -f 2>/dev/null)- +endif + +# +# Detect invocations of the form 'dpkg-buildpackage -B -aarmel' within +# an x86'en schroot. This is the only way to build all of the packages +# (except for tools). +# +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + CROSS_COMPILE ?= $(DEB_HOST_GNU_TYPE)- +endif + +abidir := $(CURDIR)/$(DEBIAN)/abi/$(release)-$(revision)/$(arch) +prev_abidir := $(CURDIR)/$(DEBIAN)/abi/$(release)-$(prev_revision)/$(arch) +commonconfdir := $(CURDIR)/$(DEBIAN)/config +archconfdir := $(CURDIR)/$(DEBIAN)/config/$(arch) +sharedconfdir := $(CURDIR)/debian.master/config +builddir := $(CURDIR)/debian/build +stampdir := $(CURDIR)/debian/stamps + +# +# The binary package name always starts with linux-image-$KVER-$ABI.$UPLOAD_NUM. There +# are places that you'll find linux-image hard coded, but I guess thats OK since the +# assumption that the binary package always starts with linux-image will never change. +# +bin_pkg_name=linux-image-$(abi_release) +extra_pkg_name=linux-image-extra-$(abi_release) +hdrs_pkg_name=linux-headers-$(abi_release) +# +# The generation of content in the doc package depends on both 'AUTOBUILD=' and +# 'do_doc_package_content=true'. There are usually build errors during the development +# cycle, so its OK to leave 'do_doc_package_content=false' until those build +# failures get sorted out. Finally, the doc package doesn't really need to be built +# for developer testing (its kind of slow), so only do it if on a buildd. +do_doc_package=true +do_doc_package_content=true +ifeq ($(full_build),false) +do_doc_package_content=false +endif +doc_pkg_name=$(src_pkg_name)-doc + +# +# Similarly with the linux-source package, you need not build it as a developer. Its +# somewhat I/O intensive and utterly useless. +# +do_source_package=true +do_source_package_content=true +ifeq ($(full_build),false) +do_source_package_content=false +endif + +# linux-libc-dev may not be needed, default to building it. +do_libc_dev_package=true + +# common headers normally is built as an indep package, but may be arch +do_common_headers_indep=true + +# add a 'full source' mode +do_full_source=false + +# build tools +ifneq ($(wildcard $(CURDIR)/tools),) + ifeq ($(do_tools),) + ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + do_tools=false + endif + endif + do_tools?=true +else + do_tools?=false +endif +tools_pkg_name=$(src_pkg_name)-tools-$(abi_release) +tools_common_pkg_name=$(src_pkg_name)-tools-common + +# The general flavour specific image package. +do_flavour_image_package=true + +# The general flavour specific header package. +do_flavour_header_package=true + +# Support parallel= in DEB_BUILD_OPTIONS (see #209008) +# +# These 2 environment variables set the -j value of the kernel build. For example, +# CONCURRENCY_LEVEL=16 fakeroot $(DEBIAN)/rules binary-debs +# or +# DEB_BUILD_OPTIONS=parallel=16 fakeroot $(DEBIAN)/rules binary-debs +# +# The default is to use the number of CPUs. +# +COMMA=, +DEB_BUILD_OPTIONS_PARA = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +ifneq (,$(DEB_BUILD_OPTIONS_PARA)) + CONCURRENCY_LEVEL := $(DEB_BUILD_OPTIONS_PARA) +endif + +ifeq ($(CONCURRENCY_LEVEL),) + # Check the environment + CONCURRENCY_LEVEL := $(shell echo $$CONCURRENCY_LEVEL) + # No? Then build with the number of CPUs on the host. + ifeq ($(CONCURRENCY_LEVEL),) + CONCURRENCY_LEVEL := $(shell expr `getconf _NPROCESSORS_ONLN` \* 1) + endif + # Oh hell, give 'em one + ifeq ($(CONCURRENCY_LEVEL),) + CONCURRENCY_LEVEL := 1 + endif +endif + +conc_level = -j$(CONCURRENCY_LEVEL) + +# target_flavour is filled in for each step +kmake = make ARCH=$(build_arch) \ + CROSS_COMPILE=$(CROSS_COMPILE) \ + KERNELVERSION=$(abi_release)-$(target_flavour) \ + CONFIG_DEBUG_SECTION_MISMATCH=y \ + KBUILD_BUILD_VERSION="$(uploadnum)" \ + LOCALVERSION= localver-extra= +ifneq ($(LOCAL_ENV_CC),) +kmake += CC=$(LOCAL_ENV_CC) DISTCC_HOSTS=$(LOCAL_ENV_DISTCC_HOSTS) +endif + +# Locking is required in parallel builds to prevent loss of contents +# of the debian/files. +lockme_file = $(CURDIR)/debian/.LOCK +lockme_cmd = flock -w 60 +lockme = $(lockme_cmd) $(lockme_file) --- linux-lowlatency-3.5.0.orig/debian/rules.d/1-maintainer.mk +++ linux-lowlatency-3.5.0/debian/rules.d/1-maintainer.mk @@ -0,0 +1,120 @@ +# The following targets are for the maintainer only! do not run if you don't +# know what they do. + +.PHONY: printenv updateconfigs printchanges insertchanges startnewrelease diffupstream help updateportsconfigs editportsconfigs + +help: + @echo "These are the targets in addition to the normal $(DEBIAN) ones:" + @echo + @echo " printenv : Print some variables used in the build" + @echo + @echo " updateconfigs : Update core arch configs" + @echo + @echo " editconfigs : Update core arch configs interractively" + @echo " genconfigs : Generate core arch configs in CONFIGS/*" + @echo + @echo " updateportsconfigs : Update ports arch configs" + @echo + @echo " editportsconfigs : Update ports arch configs interactivly" + @echo " genportconfigs : Generate ports arch configs in CONFIGS/*" + @echo + @echo " printchanges : Print the current changelog entries (from git)" + @echo + @echo " insertchanges : Insert current changelog entries (from git)" + @echo + @echo " startnewrelease : Start a new changelog set" + @echo + @echo " diffupstream : Diff stock kernel code against upstream (git)" + @echo + @echo " help : If you are kernel hacking, you need the professional" + @echo " version of this" + @echo + @echo "Environment variables:" + @echo + @echo " NOKERNLOG : Do not add upstream kernel commits to changelog" + @echo " CONCURRENCY_LEVEL=X" + @echo " : Use -jX for kernel compile" + @echo " PRINTSHAS : Include SHAs for commits in changelog" + +printdebian: + @echo "$(DEBIAN)" + +updateconfigs defaultconfigs editconfigs genconfigs dumpconfigs: + dh_testdir; + $(SHELL) $(DROOT)/scripts/misc/kernelconfig $@ + rm -rf build + +updateportsconfigs defaultportsconfigs editportsconfigs genportsconfigs askconfigs: + dh_testdir; + $(SHELL) $(DROOT)/scripts/misc/kernelconfig $@ ports + rm -rf build + +printenv: + dh_testdir + @echo "src package name = $(src_pkg_name)" + @echo "release = $(release)" + @echo "revisions = $(revisions)" + @echo "revision = $(revision)" + @echo "uploadnum = $(uploadnum)" + @echo "prev_revisions = $(prev_revisions)" + @echo "prev_revision = $(prev_revision)" + @echo "abinum = $(abinum)" + @echo "gitver = $(gitver)" + @echo "flavours = $(flavours)" + @echo "skipabi = $(skipabi)" + @echo "skipmodule = $(skipmodule)" + @echo "skipdbg = $(skipdbg)" + @echo "ubuntu_log_opts = $(ubuntu_log_opts)" + @echo "CONCURRENCY_LEVEL = $(CONCURRENCY_LEVEL)" + @echo "bin package name = $(bin_pkg_name)" + @echo "hdr package name = $(hdrs_pkg_name)" + @echo "doc package name = $(doc_pkg_name)" + @echo "do_doc_package = $(do_doc_package)" + @echo "do_doc_package_content = $(do_doc_package_content)" + @echo "do_source_package = $(do_source_package)" + @echo "do_source_package_content = $(do_source_package_content)" + @echo "do_libc_dev_package = $(do_libc_dev_package)" + @echo "do_flavour_image_package = $(do_flavour_image_package)" + @echo "do_flavour_header_package = $(do_flavour_header_package)" + @echo "do_common_headers_indep = $(do_common_headers_indep)" + @echo "do_full_source = $(do_full_source)" + @echo "do_tools = $(do_tools)" + @echo "full_build = $(full_build)" + @echo "libc_dev_version = $(libc_dev_version)" + @echo "DEB_HOST_GNU_TYPE = $(DEB_HOST_GNU_TYPE)" + @echo "DEB_BUILD_GNU_TYPE = $(DEB_BUILD_GNU_TYPE)" + @echo "DEB_HOST_ARCH = $(DEB_HOST_ARCH)" + @echo "DEB_BUILD_ARCH = $(DEB_BUILD_ARCH)" + @echo "arch = $(arch)" + @echo "kmake = $(kmake)" + +prev_release="$(release)-$(prev_revision)" +printchanges: + @baseCommit=$$(git log --pretty=format:'%H %s' | \ + awk '/UBUNTU: '".*Lowlatency-$(prev_release)"'$$/ { print $$1; exit }'); \ + git log "$$baseCommit"..HEAD | \ + perl -w -f $(DROOT)/scripts/misc/git-ubuntu-log $(ubuntu_log_opts) + +insertchanges: + @perl -w -f $(DROOT)/scripts/misc/insert-changes.pl $(DROOT) $(DEBIAN) + +diffupstream: + @git diff-tree -p refs/remotes/linux-2.6/master..HEAD $(shell ls | grep -vE '^(ubuntu|$(DEBIAN)|\.git.*)') + +startnewrelease: + dh_testdir + @nextminor=$(shell expr `echo $(revision) | awk -F. '{print $$2}'` + 1); \ + now="$(shell date -R)"; \ + echo "Creating new changelog set for $(abi_release).$$nextminor..."; \ + echo -e "$(src_pkg_name) ($(abi_release).$$nextminor) UNRELEASED; urgency=low\n" > $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Do not edit directly. Autogenerated at release." >> \ + $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Use the printchanges target to see the curent changes." \ + >> $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Use the insertchanges target to create the final log." \ + >> $(DEBIAN)/changelog.new; \ + echo -e "\n -- $$DEBFULLNAME <$$DEBEMAIL> $$now\n" >> \ + $(DEBIAN)/changelog.new ; \ + cat $(DEBIAN)/changelog >> $(DEBIAN)/changelog.new; \ + mv $(DEBIAN)/changelog.new $(DEBIAN)/changelog + --- linux-lowlatency-3.5.0.orig/debian/rules.d/2-binary-arch.mk +++ linux-lowlatency-3.5.0/debian/rules.d/2-binary-arch.mk @@ -0,0 +1,515 @@ +# We don't want make removing intermediary stamps +.SECONDARY : + +# Prepare the out-of-tree build directory +ifeq ($(do_full_source),true) +build_cd = cd $(builddir)/build-$*; # +build_O = +else +build_cd = +build_O = O=$(builddir)/build-$* +endif + +$(stampdir)/stamp-prepare-%: config-prepare-check-% + @echo Debug: $@ + @touch $@ +$(stampdir)/stamp-prepare-tree-%: target_flavour = $* +$(stampdir)/stamp-prepare-tree-%: $(commonconfdir)/config.common.$(family) $(archconfdir)/config.common.$(arch) $(archconfdir)/config.flavour.% + @echo Debug: $@ + install -d $(builddir)/build-$* + touch $(builddir)/build-$*/ubuntu-build + [ "$(do_full_source)" != 'true' ] && true || \ + rsync -a --exclude debian --exclude debian.master --exclude $(DEBIAN) * $(builddir)/build-$* + cat $^ | sed -e 's/.*CONFIG_VERSION_SIGNATURE.*/CONFIG_VERSION_SIGNATURE="Ubuntu $(release)-$(revision)-$* $(raw_kernelversion)"/' > $(builddir)/build-$*/.config + find $(builddir)/build-$* -name "*.ko" | xargs rm -f + $(build_cd) $(kmake) $(build_O) -j1 silentoldconfig prepare scripts + touch $@ + +# Used by developers as a shortcut to prepare a tree for compilation. +prepare-%: $(stampdir)/stamp-prepare-% + @echo Debug: $@ +# Used by developers to allow efficient pre-building without fakeroot. +build-%: $(stampdir)/stamp-build-% + @echo Debug: $@ + +# Do the actual build, including image and modules +$(stampdir)/stamp-build-%: target_flavour = $* +$(stampdir)/stamp-build-%: dtb_target = $(notdir $(dtb_file_$*)) +$(stampdir)/stamp-build-%: $(stampdir)/stamp-prepare-% + @echo Debug: $@ + $(build_cd) $(kmake) $(build_O) $(conc_level) $(build_image) modules $(dtb_target) + if [ "$(build_arch)" = "x86_64" ] || [ "$(build_arch)" = "i386" ] ; then \ + $(build_cd) readelf -s `find . -name setup.elf` | grep video_card; \ + fi + @touch $@ + +# Install the finished build +install-%: pkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$* +install-%: pkgdir_ex = $(CURDIR)/debian/$(extra_pkg_name)-$* +install-%: bindoc = $(pkgdir)/usr/share/doc/$(bin_pkg_name)-$* +install-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym +install-%: signed = $(CURDIR)/debian/$(bin_pkg_name)-signed +install-%: basepkg = $(hdrs_pkg_name) +install-%: hdrdir = $(CURDIR)/debian/$(basepkg)-$*/usr/src/$(basepkg)-$* +install-%: target_flavour = $* +install-%: dtb_file=$(dtb_file_$*) +install-%: dtb_target=$(notdir $(dtb_file_$*)) +install-%: checks-% + @echo Debug: $@ + dh_testdir + dh_testroot + dh_clean -k -p$(bin_pkg_name)-$* + dh_clean -k -p$(hdrs_pkg_name)-$* + dh_clean -k -p$(dbg_pkg_name)-$* + + # The main image + # compress_file logic required because not all architectures + # generate a zImage automatically out of the box +ifeq ($(compress_file),) + install -m600 -D $(builddir)/build-$*/$(kernel_file) \ + $(pkgdir)/boot/$(install_file)-$(abi_release)-$* +else + install -d $(pkgdir)/boot + gzip -c9v $(builddir)/build-$*/$(kernel_file) > \ + $(pkgdir)/boot/$(install_file)-$(abi_release)-$* + chmod 600 $(pkgdir)/boot/$(install_file)-$(abi_release)-$* +endif + +ifeq ($(arch),amd64) +ifeq ($(uefi_signed),true) + install -d $(signed)/$(release)-$(revision) + # Check to see if this supports handoff, if not do not sign it. + # Check the identification area magic and version >= 0x020b + handoff=`dd if="$(pkgdir)/boot/$(install_file)-$(abi_release)-$*" bs=1 skip=514 count=6 2>/dev/null | od -s | awk '($$1 == 0 && $$2 == 25672 && $$3 == 21362 && $$4 >= 523) { print "GOOD" }'`; \ + if [ "$$handoff" = "GOOD" ]; then \ + cp -p $(pkgdir)/boot/$(install_file)-$(abi_release)-$* \ + $(signed)/$(release)-$(revision)/$(install_file)-$(abi_release)-$*.efi; \ + fi +endif +endif + + install -m644 $(builddir)/build-$*/.config \ + $(pkgdir)/boot/config-$(abi_release)-$* + install -m644 $(abidir)/$* \ + $(pkgdir)/boot/abi-$(abi_release)-$* + install -m600 $(builddir)/build-$*/System.map \ + $(pkgdir)/boot/System.map-$(abi_release)-$* + if [ "$(dtb_target)" ]; then \ + install -d $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ + install -m644 $(builddir)/build-$*/$(dtb_file) \ + $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree/$(dtb_target); \ + fi +ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ + -x $(builddir)/build-$*/vmlinux + chmod 0600 $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* +endif + + $(build_cd) $(kmake) $(build_O) $(conc_level) modules_install \ + INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=$(pkgdir)/ \ + INSTALL_FW_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$* + + # + # Remove all modules not in the inclusion list. + # + if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \ + mkdir -p $(pkgdir_ex)/lib/modules/$(abi_release)-$*; \ + mv $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \ + $(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel; \ + $(SHELL) $(DROOT)/scripts/module-inclusion --master \ + $(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel \ + $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \ + $(DEBIAN)/control.d/$(target_flavour).inclusion-list 2>&1 | \ + tee $(target_flavour).inclusion-list.log; \ + /sbin/depmod -b $(pkgdir) -ea -F $(pkgdir)/boot/System.map-$(abi_release)-$* \ + $(abi_release)-$* 2>&1 |tee $(target_flavour).depmod.log; \ + fi + +ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ + -x $(builddir)/build-$*/vmlinux + chmod 0600 $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* +endif + rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/build + rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/source + + # Some initramfs-tools specific modules + install -d $(pkgdir)/lib/modules/$(abi_release)-$*/initrd + if [ -f $(pkgdir)/lib/modules/$(abi_release)-$*/kernel/drivers/video/vesafb.ko ]; then\ + ln -f $(pkgdir)/lib/modules/$(abi_release)-$*/kernel/drivers/video/vesafb.ko \ + $(pkgdir)/lib/modules/$(abi_release)-$*/initrd/; \ + fi + + # Now the image scripts + install -d $(pkgdir)/DEBIAN + for script in postinst postrm preinst prerm; do \ + sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(install_file)/g' \ + -e 's/=L/$(loader)/g' -e 's@=B@$(build_arch)@g' \ + $(DROOT)/control-scripts/$$script > $(pkgdir)/DEBIAN/$$script; \ + chmod 755 $(pkgdir)/DEBIAN/$$script; \ + done + # Install the postinit/postrm scripts in the extras package. + if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \ + install -d $(pkgdir_ex)/DEBIAN; \ + for script in postinst postrm ; do \ + sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(install_file)/g' \ + -e 's/=L/$(loader)/g' -e 's@=B@$(build_arch)@g' \ + debian/control-scripts/$$script > $(pkgdir_ex)/DEBIAN/$$script; \ + chmod 755 $(pkgdir_ex)/DEBIAN/$$script; \ + done; \ + fi + + # Install the full changelog. +ifeq ($(do_doc_package),true) + install -d $(bindoc) + cat $(DEBIAN)/changelog $(DEBIAN)/changelog.historical | \ + gzip -9 >$(bindoc)/changelog.Debian.old.gz + chmod 644 $(bindoc)/changelog.Debian.old.gz +endif + +ifneq ($(skipsub),true) + for sub in $($(*)_sub); do \ + if ! (TO=$$sub FROM=$* ABI_RELEASE=$(abi_release) $(SHELL) \ + $(DROOT)/scripts/sub-flavour); then exit 1; fi; \ + /sbin/depmod -b debian/$(bin_pkg_name)-$$sub \ + -ea -F debian/$(bin_pkg_name)-$$sub/boot/System.map-$(abi_release)-$* \ + $(abi_release)-$*; \ + install -d debian/$(bin_pkg_name)-$$sub/DEBIAN; \ + for script in postinst postrm preinst prerm; do \ + sed -e 's/=V/$(abi_release)-$*/g' \ + -e 's/=K/$(install_file)/g' \ + -e 's/=L/$(loader)/g' \ + -e 's@=B@$(build_arch)@g' \ + $(DROOT)/control-scripts/$$script > \ + debian/$(bin_pkg_name)-$$sub/DEBIAN/$$script;\ + chmod 755 debian/$(bin_pkg_name)-$$sub/DEBIAN/$$script;\ + done; \ + done +endif + +ifneq ($(skipdbg),true) + # Debug image is simple + install -m644 -D $(builddir)/build-$*/vmlinux \ + $(dbgpkgdir)/usr/lib/debug/boot/vmlinux-$(abi_release)-$* + $(build_cd) $(kmake) $(build_O) modules_install \ + INSTALL_MOD_PATH=$(dbgpkgdir)/usr/lib/debug + # Add .gnu_debuglink sections to each stripped .ko + # pointing to unstripped verson + find $(pkgdir) -name '*.ko' | sed 's|$(pkgdir)||'| while read module ; do \ + if [[ -f "$(dbgpkgdir)/usr/lib/debug/$$module" ]] ; then \ + $(CROSS_COMPILE)objcopy \ + --add-gnu-debuglink=$(dbgpkgdir)/usr/lib/debug/$$module \ + $(pkgdir)/$$module; \ + fi; \ + done + rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/build + rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/source + rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/modules.* + rm -fr $(dbgpkgdir)/usr/lib/debug/lib/firmware +endif + + # The flavour specific headers image + # TODO: Would be nice if we didn't have to dupe the original builddir + install -d -m755 $(hdrdir) + cat $(builddir)/build-$*/.config | \ + sed -e 's/.*CONFIG_DEBUG_INFO=.*/# CONFIG_DEBUG_INFO is not set/g' > \ + $(hdrdir)/.config + chmod 644 $(hdrdir)/.config + $(kmake) O=$(hdrdir) -j1 silentoldconfig prepare scripts + # We'll symlink this stuff + rm -f $(hdrdir)/Makefile + rm -rf $(hdrdir)/include2 + # Copy over the compilation version. + cp "$(builddir)/build-$*/include/generated/compile.h" \ + "$(hdrdir)/include/generated/compile.h" + # powerpc seems to need some .o files for external module linking. Add them in. +ifeq ($(arch),powerpc) + mkdir -p $(hdrdir)/arch/powerpc/lib + cp $(builddir)/build-$*/arch/powerpc/lib/*.o $(hdrdir)/arch/powerpc/lib +endif + # Script to symlink everything up + $(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(basepkg)" "$*" + # The build symlink + install -d debian/$(basepkg)-$*/lib/modules/$(abi_release)-$* + ln -s /usr/src/$(basepkg)-$* \ + debian/$(basepkg)-$*/lib/modules/$(abi_release)-$*/build + # And finally the symvers + install -m644 $(builddir)/build-$*/Module.symvers \ + $(hdrdir)/Module.symvers + + # Now the header scripts + install -d $(CURDIR)/debian/$(basepkg)-$*/DEBIAN + for script in postinst; do \ + sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(install_file)/g' \ + $(DROOT)/control-scripts/headers-$$script > \ + $(CURDIR)/debian/$(basepkg)-$*/DEBIAN/$$script; \ + chmod 755 $(CURDIR)/debian/$(basepkg)-$*/DEBIAN/$$script; \ + done + + # At the end of the package prep, call the tests + DPKG_ARCH="$(arch)" KERN_ARCH="$(build_arch)" FLAVOUR="$*" \ + VERSION="$(abi_release)" REVISION="$(revision)" \ + PREV_REVISION="$(prev_revision)" ABI_NUM="$(abinum)" \ + PREV_ABI_NUM="$(prev_abinum)" BUILD_DIR="$(builddir)/build-$*" \ + INSTALL_DIR="$(pkgdir)" SOURCE_DIR="$(CURDIR)" \ + run-parts -v $(DROOT)/tests + + # + # Remove files which are generated at installation by postinst, + # except for modules.order and modules.builtin + # + # NOTE: need to keep this list in sync with postrm + # + mkdir $(pkgdir)/lib/modules/$(abi_release)-$*/_ + mv $(pkgdir)/lib/modules/$(abi_release)-$*/modules.order \ + $(pkgdir)/lib/modules/$(abi_release)-$*/_ + if [ -f $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin ] ; then \ + mv $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin \ + $(pkgdir)/lib/modules/$(abi_release)-$*/_; \ + fi + rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/modules.* + mv $(pkgdir)/lib/modules/$(abi_release)-$*/_/* \ + $(pkgdir)/lib/modules/$(abi_release)-$* + rmdir $(pkgdir)/lib/modules/$(abi_release)-$*/_ + +headers_tmp := $(CURDIR)/debian/tmp-headers +headers_dir := $(CURDIR)/debian/linux-libc-dev + +hmake := $(MAKE) -C $(CURDIR) O=$(headers_tmp) \ + KERNELVERSION=$(abi_release) INSTALL_HDR_PATH=$(headers_tmp)/install \ + SHELL="$(SHELL)" ARCH=$(header_arch) + +install-arch-headers: + @echo Debug: $@ + dh_testdir + dh_testroot + dh_clean -k -plinux-libc-dev + + rm -rf $(headers_tmp) + install -d $(headers_tmp) $(headers_dir)/usr/include/ + + $(hmake) $(defconfig) + mv $(headers_tmp)/.config $(headers_tmp)/.config.old + sed -e 's/^# \(CONFIG_MODVERSIONS\) is not set$$/\1=y/' \ + -e 's/.*CONFIG_LOCALVERSION_AUTO.*/# CONFIG_LOCALVERSION_AUTO is not set/' \ + $(headers_tmp)/.config.old > $(headers_tmp)/.config + $(hmake) silentoldconfig + $(hmake) $(conc_level) headers_install + + ( cd $(headers_tmp)/install/include/ && \ + find . -name '.' -o -name '.*' -prune -o -print | \ + cpio -pvd --preserve-modification-time \ + $(headers_dir)/usr/include/ ) + mkdir $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH) + mv $(headers_dir)/usr/include/asm $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)/ + + rm -rf $(headers_tmp) + +binary-arch-headers: install-arch-headers + @echo Debug: $@ + dh_testdir + dh_testroot +ifeq ($(do_libc_dev_package),true) +ifneq ($(DEBIAN),debian.master) + echo "non-master branch building linux-libc-dev, aborting" + exit 1 +endif + dh_installchangelogs -plinux-libc-dev + dh_installdocs -plinux-libc-dev + dh_compress -plinux-libc-dev + dh_fixperms -plinux-libc-dev + dh_installdeb -plinux-libc-dev + $(lockme) dh_gencontrol -plinux-libc-dev -- $(libc_dev_version) + dh_md5sums -plinux-libc-dev + dh_builddeb -plinux-libc-dev +endif + +binary-%: pkgimg = $(bin_pkg_name)-$* +binary-%: pkgimg_ex = $(extra_pkg_name)-$* +binary-%: pkghdr = $(hdrs_pkg_name)-$* +binary-%: dbgpkg = $(bin_pkg_name)-$*-dbgsym +binary-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym +binary-%: target_flavour = $* +binary-%: install-% + @echo Debug: $@ + dh_testdir + dh_testroot + + dh_installchangelogs -p$(pkgimg) + dh_installdocs -p$(pkgimg) + dh_compress -p$(pkgimg) + dh_fixperms -p$(pkgimg) -X/boot/ + dh_installdeb -p$(pkgimg) + dh_shlibdeps -p$(pkgimg) + $(lockme) dh_gencontrol -p$(pkgimg) + dh_md5sums -p$(pkgimg) + dh_builddeb -p$(pkgimg) -- -Zbzip2 -z9 + + if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \ + dh_installchangelogs -p$(pkgimg_ex); \ + dh_installdocs -p$(pkgimg_ex); \ + dh_compress -p$(pkgimg_ex); \ + dh_fixperms -p$(pkgimg_ex) -X/boot/; \ + dh_installdeb -p$(pkgimg_ex); \ + dh_shlibdeps -p$(pkgimg_ex); \ + $(lockme) dh_gencontrol -p$(pkgimg_ex); \ + dh_md5sums -p$(pkgimg_ex); \ + dh_builddeb -p$(pkgimg_ex) -- -Zbzip2 -z9; \ + fi + + dh_installchangelogs -p$(pkghdr) + dh_installdocs -p$(pkghdr) + dh_compress -p$(pkghdr) + dh_fixperms -p$(pkghdr) + dh_shlibdeps -p$(pkghdr) + dh_installdeb -p$(pkghdr) + $(lockme) dh_gencontrol -p$(pkghdr) + dh_md5sums -p$(pkghdr) + dh_builddeb -p$(pkghdr) + +ifneq ($(skipsub),true) + @set -e; for sub in $($(*)_sub); do \ + pkg=$(bin_pkg_name)-$$sub; \ + dh_installchangelogs -p$$pkg; \ + dh_installdocs -p$$pkg; \ + dh_compress -p$$pkg; \ + dh_fixperms -p$$pkg -X/boot/; \ + dh_shlibdeps -p$$pkg; \ + dh_installdeb -p$$pkg; \ + $(lockme) dh_gencontrol -p$$pkg; \ + dh_md5sums -p$$pkg; \ + dh_builddeb -p$$pkg; \ + done +endif + +ifneq ($(skipdbg),true) + dh_installchangelogs -p$(dbgpkg) + dh_installdocs -p$(dbgpkg) + dh_compress -p$(dbgpkg) + dh_fixperms -p$(dbgpkg) + dh_installdeb -p$(dbgpkg) + $(lockme) dh_gencontrol -p$(dbgpkg) + dh_md5sums -p$(dbgpkg) + dh_builddeb -p$(dbgpkg) + + # Hokay...here's where we do a little twiddling... + # Renaming the debug package prevents it from getting into + # the primary archive, and therefore prevents this very large + # package from being mirrored. It is instead, through some + # archive admin hackery, copied to http://ddebs.ubuntu.com. + # + mv ../$(dbgpkg)_$(release)-$(revision)_$(arch).deb \ + ../$(dbgpkg)_$(release)-$(revision)_$(arch).ddeb + set -e; \ + ( \ + $(lockme_cmd) 9 || exit 1; \ + if grep -qs '^Build-Debug-Symbols: yes$$' /CurrentlyBuilding; then \ + sed -i '/^$(dbgpkg)_/s/\.deb /.ddeb /' debian/files; \ + else \ + grep -v '^$(dbgpkg)_.*$$' debian/files > debian/files.new; \ + mv debian/files.new debian/files; \ + fi; \ + ) 9>$(lockme_file) + # Now, the package wont get into the archive, but it will get put + # into the debug system. +endif +ifneq ($(full_build),false) + # Clean out this flavours build directory. + rm -rf $(builddir)/build-$* + # Clean out the debugging package source directory. + rm -rf $(dbgpkgdir) +endif + +# +# per-architecture packages +# +builddirpa = $(builddir)/tools-perarch + +$(stampdir)/stamp-prepare-perarch: + @echo Debug: $@ +ifeq ($(do_tools),true) + rm -rf $(builddirpa) + install -d $(builddirpa) + for i in *; do ln -s $(CURDIR)/$$i $(builddirpa); done + rm $(builddirpa)/tools + rsync -a tools/ $(builddirpa)/tools/ +endif + touch $@ + +$(stampdir)/stamp-build-perarch: $(stampdir)/stamp-prepare-perarch + @echo Debug: $@ +ifeq ($(do_tools),true) + cd $(builddirpa)/tools/perf && \ + make HAVE_CPLUS_DEMANGLE=1 CROSS_COMPILE=$(CROSS_COMPILE) + if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \ + cd $(builddirpa)/tools/power/x86/x86_energy_perf_policy && make CROSS_COMPILE=$(CROSS_COMPILE); \ + cd $(builddirpa)/tools/power/x86/turbostat && make CROSS_COMPILE=$(CROSS_COMPILE); \ + cd $(builddirpa)/tools/hv && make CROSS_COMPILE=$(CROSS_COMPILE) CFLAGS=-I../../include; \ + fi +endif + @touch $@ + +install-perarch: toolspkgdir = $(CURDIR)/debian/$(tools_pkg_name) +install-perarch: $(stampdir)/stamp-build-perarch + @echo Debug: $@ + # Add the tools. +ifeq ($(do_tools),true) + install -d $(toolspkgdir)/usr/bin + install -s -m755 $(builddirpa)/tools/perf/perf \ + $(toolspkgdir)/usr/bin/perf_$(abi_release) + if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \ + install -s -m755 $(builddirpa)/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy \ + $(toolspkgdir)/usr/bin/x86_energy_perf_policy_$(abi_release); \ + install -s -m755 $(builddirpa)/tools/power/x86/turbostat/turbostat \ + $(toolspkgdir)/usr/bin/turbostat_$(abi_release); \ + install -d $(toolspkgdir)/usr/sbin; \ + install -s -m755 $(builddirpa)/tools/hv/hv_kvp_daemon \ + $(toolspkgdir)/usr/sbin/hv_kvp_daemon_$(abi_release); \ + fi +endif + +binary-perarch: toolspkg = $(tools_pkg_name) +binary-perarch: install-perarch + @echo Debug: $@ +ifeq ($(do_tools),true) + dh_installchangelogs -p$(toolspkg) + dh_installdocs -p$(toolspkg) + dh_compress -p$(toolspkg) + dh_fixperms -p$(toolspkg) + dh_shlibdeps -p$(toolspkg) + dh_installdeb -p$(toolspkg) + $(lockme) dh_gencontrol -p$(toolspkg) + dh_md5sums -p$(toolspkg) + dh_builddeb -p$(toolspkg) +endif + +binary-debs: signed = $(CURDIR)/debian/$(bin_pkg_name)-signed +binary-debs: signedv = $(CURDIR)/debian/$(bin_pkg_name)-signed/$(release)-$(revision) +binary-debs: signed_tar = $(src_pkg_name)_$(release)-$(revision)_$(arch).tar.gz +binary-debs: binary-perarch $(addprefix binary-,$(flavours)) + @echo Debug: $@ +ifeq ($(arch),amd64) +ifeq ($(uefi_signed),true) + echo $(release)-$(revision) > $(signedv)/version + cd $(signedv) && ls *.efi >flavours + cd $(signed) && tar czvf ../../../$(signed_tar) . + dpkg-distaddfile $(signed_tar) raw-uefi - +endif +endif + +build-arch-deps-$(do_flavour_image_package) += $(addprefix $(stampdir)/stamp-build-,$(flavours)) +build-arch: $(build-arch-deps-true) + @echo Debug: $@ + +ifeq ($(AUTOBUILD),) +binary-arch-deps-$(do_flavour_image_package) += binary-udebs +else +binary-arch-deps-$(do_flavour_image_package) = binary-debs +endif +binary-arch-deps-$(do_libc_dev_package) += binary-arch-headers +ifneq ($(do_common_headers_indep),true) +binary-arch-deps-$(do_flavour_header_package) += binary-headers +endif +binary-arch: $(binary-arch-deps-true) + @echo Debug: $@ + --- linux-lowlatency-3.5.0.orig/debian/rules.d/3-binary-indep.mk +++ linux-lowlatency-3.5.0/debian/rules.d/3-binary-indep.mk @@ -0,0 +1,156 @@ +build-indep: + @echo Debug: $@ + +docpkg = $(doc_pkg_name) +docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg) +install-doc: install-headers + @echo Debug: $@ +ifeq ($(do_doc_package),true) + dh_testdir + dh_testroot + dh_clean -k -p$(docpkg) + + install -d $(docdir) +ifeq ($(do_doc_package_content),true) + # First the html docs. We skip these for autobuilds + if [ -z "$(AUTOBUILD)" ]; then \ + install -d $(docdir)/$(doc_pkg_name)-tmp; \ + $(kmake) O=$(docdir)/$(doc_pkg_name)-tmp htmldocs; \ + mv $(docdir)/$(doc_pkg_name)-tmp/Documentation/DocBook \ + $(docdir)/html; \ + rm -rf $(docdir)/$(doc_pkg_name)-tmp; \ + fi +endif + # Copy the rest + cp -a Documentation/* $(docdir) + rm -rf $(docdir)/DocBook + find $(docdir) -name .gitignore | xargs rm -f +endif + +indep_hdrpkg = $(hdrs_pkg_name) +indep_hdrdir = $(CURDIR)/debian/$(indep_hdrpkg)/usr/src/$(indep_hdrpkg) +install-headers: + @echo Debug: $@ +ifeq ($(do_flavour_header_package),true) + dh_testdir + dh_testroot + dh_clean -k -p$(indep_hdrpkg) + + install -d $(indep_hdrdir) + find . -path './debian' -prune -o -path './$(DEBIAN)' -prune \ + -o -path './include/*' -prune \ + -o -path './scripts/*' -prune -o -type f \ + \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \ + -name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \ + -print | cpio -pd --preserve-modification-time $(indep_hdrdir) + cp -a drivers/media/dvb/dvb-core/*.h $(indep_hdrdir)/drivers/media/dvb/dvb-core + cp -a drivers/media/video/*.h $(indep_hdrdir)/drivers/media/video + cp -a drivers/media/dvb/frontends/*.h $(indep_hdrdir)/drivers/media/dvb/frontends + cp -a drivers/staging/omapdrm/omap_dr*.h $(indep_hdrdir)/drivers/staging/omapdrm + cp -a scripts include $(indep_hdrdir) + (find arch -name include -type d -print | \ + xargs -n1 -i: find : -type f) | \ + cpio -pd --preserve-modification-time $(indep_hdrdir) +endif + +srcpkg = $(src_pkg_name)-source-$(release) +srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg) +balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg) +install-source: install-doc + @echo Debug: $@ +ifeq ($(do_source_package),true) + dh_testdir + dh_testroot + dh_clean -k -p$(srcpkg) + + install -d $(srcdir) +ifeq ($(do_source_package_content),true) + find . -path './debian' -prune -o -path './$(DEBIAN)' -prune -o \ + -path './.*' -prune -o -print | \ + cpio -pd --preserve-modification-time $(balldir) + (cd $(srcdir); tar cf - $(srcpkg)) | bzip2 -9c > \ + $(srcdir)/$(srcpkg).tar.bz2 + rm -rf $(balldir) + find './debian' './$(DEBIAN)' \ + -path './debian/linux-*' -prune -o \ + -path './debian/$(src_pkg_name)-*' -prune -o \ + -path './debian/build' -prune -o \ + -path './debian/files' -prune -o \ + -path './debian/stamps' -prune -o \ + -path './debian/tmp' -prune -o \ + -print | \ + cpio -pd --preserve-modification-time $(srcdir) + ln -s $(srcpkg)/$(srcpkg).tar.bz2 $(srcdir)/.. +endif +endif + +install-tools: toolspkg = $(tools_common_pkg_name) +install-tools: toolsbin = $(CURDIR)/debian/$(toolspkg)/usr/bin +install-tools: toolssbin = $(CURDIR)/debian/$(toolspkg)/usr/sbin +install-tools: toolsman = $(CURDIR)/debian/$(toolspkg)/usr/share/man +install-tools: install-source $(stampdir)/stamp-build-perarch + @echo Debug: $@ +ifeq ($(do_tools),true) + dh_testdir + dh_testroot + dh_clean -k -p$(toolspkg) + + install -d $(toolsbin) + install -d $(toolsman)/man1 + + install -m755 debian/tools/perf $(toolsbin)/perf + if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \ + install -m755 debian/tools/x86_energy_perf_policy $(toolsbin)/x86_energy_perf_policy; \ + install -m755 debian/tools/turbostat $(toolsbin)/turbostat; \ + install -d $(toolssbin) ; \ + install -m755 debian/tools/generic $(toolssbin)/hv_kvp_daemon; \ + fi + + rm -rf $(builddir)/tools + install -d $(builddir)/tools + for i in *; do ln -s $(CURDIR)/$$i $(builddir)/tools/; done + rm $(builddir)/tools/tools + rsync -a tools/ $(builddir)/tools/tools/ + + cd $(builddir)/tools/tools/perf && make man + install -m644 $(builddir)/tools/tools/perf/Documentation/*.1 \ + $(toolsman)/man1 + if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \ + install -d $(toolsman)/man8; \ + install -m644 $(CURDIR)/tools/power/x86/x86_energy_perf_policy/*.8 $(toolsman)/man8; \ + install -m644 $(CURDIR)/tools/power/x86/turbostat/*.8 $(toolsman)/man8; \ + install -m644 $(CURDIR)/tools/hv/*.8 $(toolsman)/man8; \ + fi +endif + +install-indep: install-tools + @echo Debug: $@ + +# This is just to make it easy to call manually. Normally done in +# binary-indep target during builds. +binary-headers: install-headers + @echo Debug: $@ + dh_testdir + dh_testroot + dh_installchangelogs -p$(indep_hdrpkg) + dh_installdocs -p$(indep_hdrpkg) + dh_compress -p$(indep_hdrpkg) + dh_fixperms -p$(indep_hdrpkg) + dh_installdeb -p$(indep_hdrpkg) + $(lockme) dh_gencontrol -p$(indep_hdrpkg) + dh_md5sums -p$(indep_hdrpkg) + dh_builddeb -p$(indep_hdrpkg) + +binary-indep: install-indep + @echo Debug: $@ + dh_testdir + dh_testroot + + dh_installchangelogs -i + dh_installdocs -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + $(lockme) dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i --- linux-lowlatency-3.5.0.orig/debian/rules.d/4-checks.mk +++ linux-lowlatency-3.5.0/debian/rules.d/4-checks.mk @@ -0,0 +1,27 @@ +# Check ABI for package against last release (if not same abinum) +abi-check-%: $(stampdir)/stamp-build-% + @echo Debug: $@ + install -d $(abidir) + sed -e 's/^\(.\+\)[[:space:]]\+\(.\+\)[[:space:]]\(.\+\)$$/\3 \2 \1/' \ + $(builddir)/build-$*/Module.symvers | sort > $(abidir)/$* + @perl -f $(DROOT)/scripts/abi-check "$*" "$(prev_abinum)" "$(abinum)" \ + "$(prev_abidir)" "$(abidir)" "$(skipabi)" + +# Check the module list against the last release (always) +module-check-%: $(stampdir)/stamp-build-% + @echo Debug: $@ + install -d $(abidir) + find $(builddir)/build-$*/ -name \*.ko | \ + sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > $(abidir)/$*.modules + @perl -f $(DROOT)/scripts/module-check "$*" \ + "$(prev_abidir)" "$(abidir)" $(skipmodule) + +checks-%: module-check-% abi-check-% + @echo Debug: $@ + +# Check the config against the known options list. +config-prepare-check-%: $(stampdir)/stamp-prepare-tree-% + @echo Debug: $@ + @perl -f $(DROOT)/scripts/config-check \ + $(builddir)/build-$*/.config "$(arch)" "$*" "$(sharedconfdir)" "$(skipconfig)" + --- linux-lowlatency-3.5.0.orig/debian/rules.d/5-udebs.mk +++ linux-lowlatency-3.5.0/debian/rules.d/5-udebs.mk @@ -0,0 +1,44 @@ +# Do udebs if not disabled in the arch-specific makefile +binary-udebs: binary-debs + @echo Debug: $@ +ifeq ($(disable_d_i),) + @$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \ + do-binary-udebs +endif + +do-binary-udebs: debian/control + @echo Debug: $@ + dh_testdir + dh_testroot + + # unpack the kernels into a temporary directory + mkdir -p debian/d-i-${arch} + + imagelist=$$(cat $(builddir)/kernel-versions | grep ^${arch} | awk '{print $$4}') && \ + for i in $$imagelist; do \ + dpkg -x $$(ls ../linux-image-$$i\_$(release)-$(revision)_${arch}.deb) \ + debian/d-i-${arch}; \ + if [ -f ../linux-image-extra-$$i\_$(release)-$(revision)_${arch}.deb ] ; then \ + dpkg -x ../linux-image-extra-$$i\_$(release)-$(revision)_${arch}.deb \ + debian/d-i-${arch}; \ + fi; \ + /sbin/depmod -b debian/d-i-${arch} $$i; \ + done + + # kernel-wedge will error if no modules unless this is touched + touch $(CURDIR)/debian/build/no-modules + + touch ignore-dups + export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \ + cd $(builddir) && \ + kernel-wedge install-files && \ + kernel-wedge check + + # Build just the udebs + dilist=$$(dh_listpackages -s | grep "\-di$$") && \ + [ -z "$dilist" ] || \ + for i in $$dilist; do \ + dh_fixperms -p$$i; \ + $(lockme) dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done --- linux-lowlatency-3.5.0.orig/debian/scripts/abi-check +++ linux-lowlatency-3.5.0/debian/scripts/abi-check @@ -0,0 +1,210 @@ +#!/usr/bin/perl -w + +my $flavour = shift; +my $prev_abinum = shift; +my $abinum = shift; +my $prev_abidir = shift; +my $abidir = shift; +my $skipabi = shift; + +my $fail_exit = 1; +my $EE = "EE:"; +my $errors = 0; +my $abiskip = 0; + +my $count; + +print "II: Checking ABI for $flavour...\n"; + +if (-f "$prev_abidir/ignore" + or -f "$prev_abidir/$flavour.ignore" or "$skipabi" eq "true") { + print "WW: Explicitly asked to ignore ABI, running in no-fail mode\n"; + $fail_exit = 0; + $abiskip = 1; + $EE = "WW:"; +} + +if ($prev_abinum != $abinum) { + print "II: Different ABI's, running in no-fail mode\n"; + $fail_exit = 0; + $EE = "WW:"; +} + +if (not -f "$abidir/$flavour" or not -f "$prev_abidir/$flavour") { + print "EE: Previous or current ABI file missing!\n"; + print " $abidir/$flavour\n" if not -f "$abidir/$flavour"; + print " $prev_abidir/$flavour\n" if not -f "$prev_abidir/$flavour"; + + # Exit if the ABI files are missing, but return status based on whether + # skip ABI was indicated. + if ("$abiskip" eq "1") { + exit(0); + } else { + exit(1); + } +} + +my %symbols; +my %symbols_ignore; +my %modules_ignore; +my %module_syms; + +# See if we have any ignores +my $ignore = 0; +print " Reading symbols/modules to ignore..."; + +for $file ("$prev_abidir/../blacklist", "$prev_abidir/../../perm-blacklist") { + if (-f $file) { + open(IGNORE, "< $file") or + die "Could not open $file"; + while () { + chomp; + if ($_ =~ m/M: (.*)/) { + $modules_ignore{$1} = 1; + } else { + $symbols_ignore{$_} = 1; + } + $ignore++; + } + close(IGNORE); + } +} +print "read $ignore symbols/modules.\n"; + +sub is_ignored($$) { + my ($mod, $sym) = @_; + + die "Missing module name in is_ignored()" if not defined($mod); + die "Missing symbol name in is_ignored()" if not defined($sym); + + if (defined($symbols_ignore{$sym}) or defined($modules_ignore{$mod})) { + return 1; + } + return 0; +} + +# Read new syms first +print " Reading new symbols ($abinum)..."; +$count = 0; +open(NEW, "< $abidir/$flavour") or + die "Could not open $abidir/$flavour"; +while () { + chomp; + m/^(\S+)\s(.+)\s(0x[0-9a-f]+)\s(.+)$/; + $symbols{$4}{'type'} = $1; + $symbols{$4}{'loc'} = $2; + $symbols{$4}{'hash'} = $3; + $module_syms{$2} = 0; + $count++; +} +close(NEW); +print "read $count symbols.\n"; + +# Now the old symbols, checking for missing ones +print " Reading old symbols ($prev_abinum)..."; +$count = 0; +open(OLD, "< $prev_abidir/$flavour") or + die "Could not open $prev_abidir/$flavour"; +while () { + chomp; + m/^(\S+)\s(.+)\s(0x[0-9a-f]+)\s(.+)$/; + $symbols{$4}{'old_type'} = $1; + $symbols{$4}{'old_loc'} = $2; + $symbols{$4}{'old_hash'} = $3; + $count++; +} +close(OLD); + +print "read $count symbols.\n"; + +print "II: Checking for missing symbols in new ABI..."; +$count = 0; +foreach $sym (keys(%symbols)) { + if (!defined($symbols{$sym}{'type'})) { + print "\n" if not $count; + printf(" MISS : %s%s\n", $sym, + is_ignored($symbols{$sym}{'old_loc'}, $sym) ? " (ignored)" : ""); + $count++ if !is_ignored($symbols{$sym}{'old_loc'}, $sym); + } +} +print " " if $count; +print "found $count missing symbols\n"; +if ($count) { + print "$EE Symbols gone missing (what did you do!?!)\n"; + $errors++; +} + + +print "II: Checking for new symbols in new ABI..."; +$count = 0; +foreach $sym (keys(%symbols)) { + if (!defined($symbols{$sym}{'old_type'})) { + print "\n" if not $count; + print " NEW : $sym\n"; + $count++; + } +} +print " " if $count; +print "found $count new symbols\n"; +if ($count and $prev_abinum == $abinum) { + print "WW: Found new symbols within same ABI. Not recommended\n"; +} + +print "II: Checking for changes to ABI...\n"; +$count = 0; +my $moved = 0; +my $changed_type = 0; +my $changed_hash = 0; +foreach $sym (keys(%symbols)) { + if (!defined($symbols{$sym}{'old_type'}) or + !defined($symbols{$sym}{'type'})) { + next; + } + + # Changes in location don't hurt us, but log it anyway + if ($symbols{$sym}{'loc'} ne $symbols{$sym}{'old_loc'}) { + printf(" MOVE : %-40s : %s => %s\n", $sym, $symbols{$sym}{'old_loc'}, + $symbols{$sym}{'loc'}); + $moved++; + } + + # Changes to export type are only bad if new type isn't + # EXPORT_SYMBOL. Changing things to GPL are bad. + if ($symbols{$sym}{'type'} ne $symbols{$sym}{'old_type'}) { + printf(" TYPE : %-40s : %s => %s%s\n", $sym, $symbols{$sym}{'old_type'}. + $symbols{$sym}{'type'}, is_ignored($symbols{$sym}{'loc'}, $sym) + ? " (ignored)" : ""); + $changed_type++ if $symbols{$sym}{'type'} ne "EXPORT_SYMBOL" + and !is_ignored($symbols{$sym}{'loc'}, $sym); + } + + # Changes to the hash are always bad + if ($symbols{$sym}{'hash'} ne $symbols{$sym}{'old_hash'}) { + printf(" HASH : %-40s : %s => %s%s\n", $sym, $symbols{$sym}{'old_hash'}, + $symbols{$sym}{'hash'}, is_ignored($symbols{$sym}{'loc'}, $sym) + ? " (ignored)" : ""); + $changed_hash++ if !is_ignored($symbols{$sym}{'loc'}, $sym); + $module_syms{$symbols{$sym}{'loc'}}++; + } +} + +print "WW: $moved symbols changed location\n" if $moved; +print "$EE $changed_type symbols changed export type and weren't ignored\n" if $changed_type; +print "$EE $changed_hash symbols changed hash and weren't ignored\n" if $changed_hash; + +$errors++ if $changed_hash or $changed_type; +if ($changed_hash) { + print "II: Module hash change summary...\n"; + foreach $mod (sort { $module_syms{$b} <=> $module_syms{$a} } keys %module_syms) { + next if ! $module_syms{$mod}; + printf(" %-40s: %d\n", $mod, $module_syms{$mod}); + } +} + +print "II: Done\n"; + +if ($errors) { + exit($fail_exit); +} else { + exit(0); +} --- linux-lowlatency-3.5.0.orig/debian/scripts/config-check +++ linux-lowlatency-3.5.0/debian/scripts/config-check @@ -0,0 +1,413 @@ +#!/usr/bin/perl +# +# check-config -- check the current config for issues +# +use strict; + +my $P = 'check-config'; + +my $test = -1; +if ($ARGV[0] eq '--test') { + $test = $ARGV[1] + 0; +} elsif ($#ARGV != 4) { + die "Usage: $P \n"; +} + +my ($config, $arch, $flavour, $commonconfig, $warn_only) = @ARGV; + +my $checks = "$commonconfig/enforce"; +my %values = (); + +# If we are in overridden then still perform the checks and emit the messages +# but do not return failure. Those items marked FATAL will alway trigger +# failure. +my $fail_exit = 1; +$fail_exit = 0 if ($warn_only eq 'true' || $warn_only eq '1'); +my $exit_val = 0; + +# Predicate execution engine. +sub pred_first { + my ($rest) = @_; + my $depth = 0; + my $off; + my $char; + my $pred; + + for ($off = 0; $off <= length($rest); $off++) { + $char = substr($rest, $off, 1); + if ($char eq '(') { + $depth++; + } elsif ($char eq ')') { + $depth--; + } elsif ($depth == 0 && $char eq '&') { + last; + } elsif ($depth == 0 && $char eq '|') { + last; + } + } + if ($depth > 0) { + die "$P: $rest: missing close parenthesis ')'\n"; + } elsif ($depth < 0) { + die "$P: $rest: missing open parenthesis '('\n"; + } + + ($pred, $rest) = (substr($rest, 0, $off), substr($rest, $off + 1)); + + $pred =~ s/^\s*//; + $pred =~ s/\s*$//; + + #print "pred<$pred> rest<$rest> char<$char>\n"; + ($pred, $rest, $char); +} + +sub pred_do { + my ($pred) = @_; + my (@a) = split(' ', $pred); + my $possible; + + if ($a[0] eq 'arch') { + die "$P: $pred: malformed -- $pred \n" if ($#a < 1); + for $possible (@a[1..$#a]) { + #print " *** ARCH<$flavour ?? $possible>\n"; + return 1 if ($arch eq $possible); + } + return 0; + } elsif ($a[0] eq 'flavour') { + die "$P: $pred: malformed -- $pred \n" if ($#a < 1); + for $possible (@a[1..$#a]) { + #print " *** FLAVOUR<$flavour ?? $a[1]>\n"; + return 1 if ($flavour eq $possible); + } + return 0; + } elsif ($a[0] eq 'value') { + die "$P: $pred: malformed -- $pred \n" if ($#a != 2); + #print " *** CHECK<$a[1] $a[2] ?? " . $values{$a[1]} . ">\n"; + return ($values{$a[1]} eq $a[2]); + } elsif ($a[0] eq 'exists') { + die "$P: $pred: malformed -- $pred \n" if ($#a != 1); + return (defined $values{$a[1]}); + } else { + die "$P: $pred: unknown predicate\n"; + } + return 1; +} +sub pred_exec { + my ($rest) = @_; + my $pred; + my $cut = 0; + my $res; + my $sep; + + #print "pred_exec<$rest>\n"; + + ($pred, $rest, $sep) = pred_first($rest); + + # Leading ! implies inversion. + if ($pred =~ /^\s*!\s*(.*)$/) { + #print " invert<$1>\n"; + ($cut, $res) = pred_exec($1); + $res = !$res; + + # Leading / implies a CUT operation. + } elsif ($pred =~ /^\s*\/\s*(.*)$/) { + #print " cut<$1>\n"; + ($cut, $res) = pred_exec($1); + $cut = 1; + + # Recurse left for complex expressions. + } elsif ($pred =~ /^\s*\((.*)\)\s*$/) { + #print " left<$1>\n"; + ($cut, $res) = pred_exec($1); + + # Check for common syntax issues. + } elsif ($pred eq '') { + if ($sep eq '&' || $sep eq '|') { + die "$P: $pred$rest: malformed binary operator\n"; + } else { + die "$P: $pred$rest: syntax error\n"; + } + + # A predicate, execute it. + } else { + #print " DO<$pred> sep<$sep>\n"; + $res = pred_do($pred); + } + + #print " pre-return res<$res> sep<$sep>\n"; + if ($sep eq '') { + # + + # Recurse right for binary operators -- note these are lazy. + } elsif ($sep eq '&' || $sep eq '|') { + #print " right<$rest> ? sep<$sep> res<$res>\n"; + if ($rest =~ /^\s*($|\||\&)/) { + die "$P: $pred$rest: malformed binary operator\n"; + } + if ($cut == 0 && (($res && $sep eq '&') || (!$res && $sep eq '|'))) { + #print " right<$rest>\n"; + ($cut, $res) = pred_exec($rest); + } + + } else { + die "$P: $pred$rest: malformed predicate\n"; + } + #warn " return cut<$cut> res<$res> sep<$sep>\n"; + return ($cut, $res); +} + +# +# PREDICATE TESTS +# +my $test_total = 1; +my $test_good = 0; +sub pred_test { + my ($pred, $eres, $eerr) = @_; + my ($cut, $res, $err, $fail); + + $test_total++; + if ($test != 0 && $test != $test_total - 1) { + return; + } + + eval { + ($cut, $res) = pred_exec($pred); + }; + $err = $@; + chomp($err); + + $res = !!$res; + $eres = !!$eres; + + $fail = ''; + if (defined $eres && $res != $eres) { + $fail = "result missmatch, expected $eres returned $res"; + } + if (defined $eerr && $err eq '') { + $fail = "error missmatch, expected '$eerr' returned success"; + } elsif (defined $eerr && $err !~ /$eerr/) { + $fail = "error missmatch, expected '$eerr' returned '$err'"; + } elsif (!defined $eerr && $err ne '') { + $fail = "error missmatch, expected success returned '$err'"; + } + + if ($fail eq '') { + $test_good++; + } else { + print "$pred: $test_total: FAIL: $fail\n"; + } + #print "TEST<$pred> eres<$eres> eerr<$eerr> res<$res> err<$err>\n"; +} +if ($test >= 0) { + $arch = 'MYARCH'; + $flavour = 'MYFLAVOUR'; + %values = ( 'ENABLED' => 'y', 'DISABLED' => 'n' ); + + # Errors. + my $eunkn = 'unknown predicate'; + my $epred = 'malformed'; + my $eclose = 'missing close parenthesis'; + my $eopen = 'missing open parenthesis'; + my $ebinary = 'malformed binary operator'; + + # Basic predicate tests. + print "TEST: $test_total: basic predicate tests ...\n"; + + pred_test('nosuchcommand', undef, $eunkn); + pred_test('arch', undef, $epred); + pred_test('arch MYARCH', 1, undef); + pred_test('arch MYARCH NOTMYARCH', 1, undef); + pred_test('arch NOTMYARCH MYARCH', 1, undef); + pred_test('arch NOTMYARCH NOTMYARCH MYARCH', 1, undef); + pred_test('arch NOTMYARCH MYARCH NOTMYARCH', 1, undef); + pred_test('arch NOTMYARCH', 0, undef); + + pred_test('flavour', undef, $epred); + pred_test('flavour MYFLAVOUR', 1, undef); + pred_test('flavour NOTMYFLAVOUR MYFLAVOUR', 1, undef); + pred_test('flavour NOTMYFLAVOUR NOTMYFLAVOUR MYFLAVOUR', 1, undef); + pred_test('flavour NOTMYFLAVOUR MYFLAVOUR NOTMYFLAVOUR', 1, undef); + pred_test('flavour NOTMYFLAVOUR', 0, undef); + + pred_test('value', undef, $epred); + pred_test('value ENABLED', undef, $epred); + pred_test('value ENABLED ENABLED ENABLED', undef, $epred); + pred_test('value ENABLED y', 1, undef); + pred_test('value ENABLED n', 0, undef); + pred_test('value DISABLED n', 1, undef); + pred_test('value DISABLED y', 0, undef); + + pred_test('exists', undef, $epred); + pred_test('exists ENABLED ENABLED', undef, $epred); + pred_test('exists ENABLED', 1, undef); + pred_test('exists DISABLED', 1, undef); + pred_test('exists MISSING', 0, undef); + + print "TEST: $test_total: inversion tests ...\n"; + pred_test('!exists ENABLED', 0, undef); + pred_test('!exists MISSING', 1, undef); + pred_test('!!exists ENABLED', 1, undef); + pred_test('!!exists MISSING', 0, undef); + pred_test('!!!exists ENABLED', 0, undef); + pred_test('!!!exists MISSING', 1, undef); + + print "TEST: $test_total: parentheses tests ...\n"; + pred_test('(exists ENABLED)', 1, undef); + pred_test('((exists ENABLED))', 1, undef); + pred_test('(((exists ENABLED)))', 1, undef); + pred_test('(exists MISSING)', 0, undef); + pred_test('((exists MISSING))', 0, undef); + pred_test('(((exists MISSING)))', 0, undef); + + pred_test('(!exists ENABLED)', 0, undef); + pred_test('((!exists ENABLED))', 0, undef); + pred_test('(((!exists ENABLED)))', 0, undef); + pred_test('(!exists MISSING)', 1, undef); + pred_test('((!exists MISSING))', 1, undef); + pred_test('(((!exists MISSING)))', 1, undef); + + pred_test('((!(exists ENABLED)))', 0, undef); + pred_test('((!(exists MISSING)))', 1, undef); + pred_test('(!((exists ENABLED)))', 0, undef); + pred_test('(!((exists MISSING)))', 1, undef); + pred_test('!(((exists ENABLED)))', 0, undef); + pred_test('!(((exists MISSING)))', 1, undef); + pred_test('!((!(exists ENABLED)))', 1, undef); + pred_test('!((!(exists MISSING)))', 0, undef); + pred_test('!(!(!(exists ENABLED)))', 0, undef); + pred_test('!(!(!(exists MISSING)))', 1, undef); + + pred_test('(', undef, $eclose); + pred_test('()(', undef, $eclose); + pred_test('(())(', undef, $eclose); + pred_test('((()))(', undef, $eclose); + pred_test('(()', undef, $eclose); + pred_test('((())', undef, $eclose); + pred_test('(((()))', undef, $eclose); + pred_test('(()()', undef, $eclose); + pred_test('((())()', undef, $eclose); + + pred_test(')', undef, $eopen); + pred_test('())', undef, $eopen); + pred_test('(()))', undef, $eopen); + pred_test('((())))', undef, $eopen); + + print "TEST: $test_total: binary and tests ...\n"; + + pred_test('exists ENABLED &', undef, $ebinary); + pred_test('& exists ENABLED', undef, $ebinary); + pred_test('exists ENABLED & & exists ENABLED', undef, $ebinary); + + pred_test('exists MISSING & exists MISSING', 0, undef); + pred_test('exists MISSING & exists ENABLED', 0, undef); + pred_test('exists ENABLED & exists MISSING', 0, undef); + pred_test('exists ENABLED & exists ENABLED', 1, undef); + + pred_test('exists MISSING & exists MISSING & exists MISSING', 0, undef); + pred_test('exists MISSING & exists MISSING & exists ENABLED', 0, undef); + pred_test('exists MISSING & exists ENABLED & exists MISSING', 0, undef); + pred_test('exists MISSING & exists ENABLED & exists ENABLED', 0, undef); + pred_test('exists ENABLED & exists MISSING & exists MISSING', 0, undef); + pred_test('exists ENABLED & exists MISSING & exists ENABLED', 0, undef); + pred_test('exists ENABLED & exists ENABLED & exists MISSING', 0, undef); + pred_test('exists ENABLED & exists ENABLED & exists ENABLED', 1, undef); + + print "TEST: $test_total: binary or tests ...\n"; + + pred_test('exists ENABLED |', undef, $ebinary); + pred_test('| exists ENABLED', undef, $ebinary); + pred_test('exists ENABLED | | exists ENABLED', undef, $ebinary); + + pred_test('exists MISSING | exists MISSING', 0, undef); + pred_test('exists MISSING | exists ENABLED', 1, undef); + pred_test('exists ENABLED | exists MISSING', 1, undef); + pred_test('exists ENABLED | exists ENABLED', 1, undef); + + pred_test('exists MISSING | exists MISSING | exists MISSING', 0, undef); + pred_test('exists MISSING | exists MISSING | exists ENABLED', 1, undef); + pred_test('exists MISSING | exists ENABLED | exists MISSING', 1, undef); + pred_test('exists MISSING | exists ENABLED | exists ENABLED', 1, undef); + pred_test('exists ENABLED | exists MISSING | exists MISSING', 1, undef); + pred_test('exists ENABLED | exists MISSING | exists ENABLED', 1, undef); + pred_test('exists ENABLED | exists ENABLED | exists MISSING', 1, undef); + pred_test('exists ENABLED | exists ENABLED | exists ENABLED', 1, undef); + + print "TEST: $test_total: binary or/and combination tests ...\n"; + + pred_test('exists MISSING | exists MISSING & exists MISSING', 0, undef); + pred_test('exists MISSING | exists MISSING & exists ENABLED', 0, undef); + pred_test('exists MISSING | exists ENABLED & exists MISSING', 0, undef); + pred_test('exists MISSING | exists ENABLED & exists ENABLED', 1, undef); + pred_test('exists ENABLED | exists MISSING & exists MISSING', 1, undef); + pred_test('exists ENABLED | exists MISSING & exists ENABLED', 1, undef); + pred_test('exists ENABLED | exists ENABLED & exists MISSING', 1, undef); + pred_test('exists ENABLED | exists ENABLED & exists ENABLED', 1, undef); + + print "TEST: $test_total: binary and/or combination tests ...\n"; + + pred_test('exists MISSING & exists MISSING | exists MISSING', 0, undef); + pred_test('exists MISSING & exists MISSING | exists ENABLED', 0, undef); + pred_test('exists MISSING & exists ENABLED | exists MISSING', 0, undef); + pred_test('exists MISSING & exists ENABLED | exists ENABLED', 0, undef); + pred_test('exists ENABLED & exists MISSING | exists MISSING', 0, undef); + pred_test('exists ENABLED & exists MISSING | exists ENABLED', 1, undef); + pred_test('exists ENABLED & exists ENABLED | exists MISSING', 1, undef); + pred_test('exists ENABLED & exists ENABLED | exists ENABLED', 1, undef); + + print "TEST: $test_total: cut tests ...\n"; + pred_test('(arch MYARCH & exists MISSING) | exists ENABLED', 1, undef); + pred_test('(arch MYARCH &/ exists MISSING) | exists ENABLED', 0, undef); + + $test_total--; + print "TEST: $test_good/$test_total succeeded\n"; + + exit $exit_val; +} + +# Load up the current configuration values -- FATAL if this fails +print "$P: $config: loading config\n"; +open(CONFIG, "<$config") || die "$P: $config: open failed -- $! -- aborting\n"; +while () { + # Pull out values. + /^#*\s*(CONFIG_\w+)[\s=](.*)$/ or next; + if ($2 eq 'is not set') { + $values{$1} = 'n'; + } else { + $values{$1} = $2; + } +} +close(CONFIG); + +# FATAL: Check if we have an enforcement list. +my $pass = 0; +my $total = 0; +my $line = ''; +print "$P: $checks: loading checks\n"; +open(CHECKS, "<$checks") || die "$P: $checks: open failed -- $! -- aborting\n"; +while () { + /^#/ && next; + chomp; + + $line .= $_; + if ($line =~ /\\$/) { + chop($line); + $line .= " "; + next; + } + $line =~ /^\s*$/ && next; + + #print "CHECK: <$line>\n"; + $total++; + my (undef, $result) = pred_exec($line); + if (!$result) { + print "$P: FAIL: $line\n"; + $exit_val = $fail_exit; + } else { + $pass++; + } + + $line = ''; +} +close(CHECKS); + +print "$P: $pass/$total checks passed -- exit $exit_val\n"; +exit $exit_val; --- linux-lowlatency-3.5.0.orig/debian/scripts/control-create +++ linux-lowlatency-3.5.0/debian/scripts/control-create @@ -0,0 +1,25 @@ +#!/bin/bash + +. debian/debian.env + +vars=$1 + +. $vars + +if [ "$is_sub" = "" ]; then + flavour=$(basename $vars | sed 's/.*\.//') + stub=${DEBIAN}/control.d/flavour-control.stub +else + flavour=$(basename $vars .vars) + stub=${DEBIAN}/sub-flavours/control.stub +fi + +cat $stub | grep -v '^#' | sed \ + -e "s#FLAVOUR#$flavour#g" \ + -e "s#DESC#$desc#g" \ + -e "s#ARCH#$arch#g" \ + -e "s#SUPPORTED#$supported#g" \ + -e "s#TARGET#$target#g" \ + -e "s#BOOTLOADER#$bootloader#g" \ + -e "s#=PROVIDES=#$provides#g" \ + -e "s#=CONFLICTS=#$conflicts#g" --- linux-lowlatency-3.5.0.orig/debian/scripts/link-headers +++ linux-lowlatency-3.5.0/debian/scripts/link-headers @@ -0,0 +1,42 @@ +#!/bin/bash -e + +. debian/debian.env + +hdrdir="$1" +symdir="$2" +flavour="$3" + +echo "Symlinking and copying headers for $flavour..." + +excludes="( -path ./debian -prune -o -path ./${DEBIAN} -prune -o -path ./.git ) -prune -o" + +( +find . $excludes -type f \ + \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \ + -name '*.sh' -o -name '*.pl' -o -name '*.lds' \) -print +find ./include ./scripts -name .gitignore -prune -o -type f -print +find ./include -mindepth 1 -maxdepth 1 $excludes -type d -print +) | ( +while read file; do + dir=$file + lastdir=$file + + if [ -e "$hdrdir/$file" -o -L "$hdrdir/$file" ]; then + continue + fi + + while [ ! -e "$hdrdir/$dir" -a ! -L "$hdrdir/$dir" ]; do + lastdir=$dir + dir=`dirname $dir` + done + # If the last item to exist is a symlink we assume all is good + if [ ! -L "$hdrdir/$dir" ]; then + # Turns things like "./foo" into "../" + deref="`echo -n $lastdir | sed -e 's/^\.//' -e's,/[^/]*,../,g'`" + item="`echo -n $lastdir | sed -e 's/^\.\///'`" + ln -s $deref$symdir/$item $hdrdir/$item + fi +done +) + +exit --- linux-lowlatency-3.5.0.orig/debian/scripts/module-check +++ linux-lowlatency-3.5.0/debian/scripts/module-check @@ -0,0 +1,120 @@ +#!/usr/bin/perl -w + +$flavour = shift; +$prev_abidir = shift; +$abidir = shift; +$skipmodule = shift; + +print "II: Checking modules for $flavour..."; + +if (-f "$prev_abidir/ignore.modules" + or -f "$prev_abidir/$flavour.ignore.modules") { + print "explicitly ignoring modules\n"; + exit(0); +} + +if (not -f "$abidir/$flavour.modules" or not -f + "$prev_abidir/$flavour.modules") { + print "previous or current modules file missing!\n"; + print " $abidir/$flavour.modules\n"; + print " $prev_abidir/$flavour.modules\n"; + if (defined($skipmodule)) { + exit(0); + } else { + exit(1); + } +} + +print "\n"; + +my %modules; +my %modules_ignore; +my $missing = 0; +my $new = 0; +my $errors = 0; + +# See if we have any ignores +if (-f "$prev_abidir/../modules.ignore") { + my $ignore = 0; + open(IGNORE, "< $prev_abidir/../modules.ignore") or + die "Could not open $prev_abidir/../modules.ignore"; + print " reading modules to ignore..."; + while () { + chomp; + next if /\s*#/; + $modules_ignore{$_} = 1; + $ignore++; + } + close(IGNORE); + print "read $ignore modules.\n"; +} + +# Read new modules first +print " reading new modules..."; +$new_count = 0; +open(NEW, "< $abidir/$flavour.modules") or + die "Could not open $abidir/$flavour.modules"; +while () { + chomp; + $modules{$_} = 1; + $new_count++; +} +close(NEW); +print "read $new_count modules.\n"; + +# Now the old modules, checking for missing ones +print " reading old modules..."; +$old_count = 0; +open(OLD, "< $prev_abidir/$flavour.modules") or + die "Could not open $prev_abidir/$flavour.modules"; +while () { + chomp; + if (not defined($modules{$_})) { + print "\n" if not $missing; + $missing++; + if (not defined($modules_ignore{$_})) { + print " MISS: $_\n"; + $errors++; + } else { + print " MISS: $_ (ignored)\n"; + } + } else { + $modules{$_}++; + } + $old_count++; +} +close(OLD); +# Check for new modules +foreach $mod (keys(%modules)) { + if ($modules{$mod} < 2) { + print "\n" if not $missing and not $new; + print " NEW : $mod\n"; + $new++; + } +} +if ($new or $missing) { + print " read $old_count modules : new($new) missing($missing)\n"; +} else { + print "read $old_count modules.\n"; +} + + +# Let's see where we stand... +if ($errors) { + if (defined($skipmodule)) { + print "WW: Explicitly asked to ignore failures (probably not good)\n"; + } else { + print "EE: Missing modules (start begging for mercy)\n"; + exit 1 + } +} + +if ($new) { + print "II: New modules (you've been busy, wipe the poop off your nose)\n"; +} else { + print "II: No new modules (hope you're happy, slacker)\n"; +} + +print "II: Done\n"; + +exit(0); --- linux-lowlatency-3.5.0.orig/debian/scripts/module-inclusion +++ linux-lowlatency-3.5.0/debian/scripts/module-inclusion @@ -0,0 +1,60 @@ +#!/bin/bash + +# +# Build a new directory of modules based on an inclusion list. +# The includsion list format must be a bash regular expression. +# +# usage: $0 ROOT INCLUSION_LIST +# example: $0 debian/build/build-virtual \ +# debian/build/build-virtual-ALL debian/build/build-virtual \ +# debian.master/control.d/virtual.inclusion-list +master=0 +if [ "$1" = "--master" ]; then + master=1 + shift +fi + +ROOT=$1 +NROOT=$2 +ILIST=$3 + +# +# Prep a destination directory. +# +mkdir -p ${NROOT} + +# Copy over the framework... +if [ "$master" -eq 1 ]; then + (cd ${ROOT}; find . ! -name "*.ko" -type f) | \ + while read f + do + mkdir -p ${NROOT}/`dirname $f` + mv ${ROOT}/$f ${NROOT}/$f + done +fi + +cat ${ILIST} |while read i +do + # + # 'find' blurts a warning if it cannot find any ko files. + # + if echo "$i" | grep '\*' > /dev/null + then + (cd ${ROOT}; eval find "${i}" -name "*.ko") |while read f + do + mkdir -p ${NROOT}/`dirname $f` + mv ${ROOT}/$f ${NROOT}/$f + done + else + if [ -f "${ROOT}/$i" ] + then + mkdir -p ${NROOT}/`dirname $i` + mv ${ROOT}/$i ${NROOT}/$i + else + echo Warning: Could not find ${ROOT}/$i + fi + fi + +done + +exit 0 --- linux-lowlatency-3.5.0.orig/debian/scripts/sub-flavour +++ linux-lowlatency-3.5.0/debian/scripts/sub-flavour @@ -0,0 +1,69 @@ +#!/bin/bash + +. debian/debian.env + +echo "SUB_PROCESS $FROM => $TO" + +export from_pkg="linux-image-$ABI_RELEASE-$FROM" +export to_pkg="linux-image-$ABI_RELEASE-$TO" + +from_moddir="debian/$from_pkg/lib/modules/$ABI_RELEASE-$FROM" +to_moddir="debian/$to_pkg/lib/modules/$ABI_RELEASE-$FROM" + +install -d "debian/$to_pkg/boot" +install -m644 debian/$from_pkg/boot/config-$ABI_RELEASE-$FROM \ + debian/$to_pkg/boot/ +install -m600 debian/$from_pkg/boot/{vmlinuz,System.map}-$ABI_RELEASE-$FROM \ + debian/$to_pkg/boot/ + +# +# Print some warnings if there are files in the sub-flavours list +# that do not actually exist. +# +cat ${DEBIAN}/sub-flavours/$TO.list | while read line +do +( + cd debian/$from_pkg/lib/modules/$ABI_RELEASE-$FROM/kernel; + # + # If its a wildcard, then check that there are files that match. + # + if echo "$line" | grep '\*' > /dev/null + then + if [ `eval find "$line" -name '*.ko' 2>/dev/null|wc -l` -lt 1 ] + then + echo SUB_INST Warning - No files in $line + fi + # + # Else it should be a single file reference. + # + elif [ ! -f "$line" ] + then + echo SUB_INST Warning - could not find "$line" + fi +) +done + +cat ${DEBIAN}/sub-flavours/$TO.list | while read line; do + ( + cd debian/$from_pkg/lib/modules/$ABI_RELEASE-$FROM/kernel; + if echo "$line" | grep '\*' > /dev/null + then + eval find "$line" -name '*.ko' 2>/dev/null || true + elif [ -f "$line" ] + then + echo "$line" + fi + ); +done | while read mod; do + echo "SUB_INST checking: $mod" + fromdir="/lib/modules/$ABI_RELEASE-$FROM/" + egrep "^($fromdir)?kernel/$mod:" \ + $from_moddir/modules.dep | sed -e "s|^$fromdir||" -e 's/://' -e 's/ /\n/g' | \ + while read m; do + m="${fromdir}$m" + test -f debian/$to_pkg/$m && continue + echo "SUB_INST installing: $m" + install -D -m644 debian/$from_pkg/$m \ + debian/$to_pkg/$m + done +done --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/getabis +++ linux-lowlatency-3.5.0/debian/scripts/misc/getabis @@ -0,0 +1,133 @@ +#!/bin/bash + +if [ "$#" != "2" ]; then + echo "Usage: $0 " 1>&2 + exit 1 +fi + +if [ "$DEBIAN" = "" ]; then + . debian/debian.env +fi + +ver=$1 +revision=$2 +abi=$(echo $revision | awk -F. '{print $1}') + +verabi=$ver-$abi +verfull=$ver-$revision + +WGET="wget --tries=1 --timeout=10 --quiet -c" + +abidir="`pwd`/$DEBIAN/abi/$verfull" +tmpdir="`pwd`/abi-tmp-$verfull" +origdir="`pwd`" +fwinfo=$abidir/fwinfo + +test -d $tmpdir || mkdir $tmpdir + +package_prefixes() { + __package_prefixes="$@" +} + +getall() { + arch=$1 + shift + + mkdir -p $abidir/$arch + + for sub in $@; do + if [ -f $abidir/$arch/$sub ]; then + echo "Exists: $sub" + continue + fi + echo -n "Fetching $sub($arch)..." + prefixes="" + filenames="" + cd $tmpdir + for prefix in $__package_prefixes + do + filename=${prefix}-${verabi}-${sub}_${verfull}_${arch}.deb + + # Take local copy if it is there... + if [ -f $HOME/$filename ]; then + echo -n "Locally!..." + cp $HOME/$filename . + fi + + for r in "${repo_list[@]}" + do + if ! [ -f $filename ]; then + $WGET $r/$filename + fi + if [ -f $filename ]; then + prefixes="$prefixes $prefix" + filenames="$filenames $filename" + break + fi + done + done + if [ "$filenames" != "" ]; then + echo -n "extracting$prefixes..." + for filename in $filenames + do + dpkg-deb --extract $filename tmp + done + find tmp -name "*.ko" | while read f; do + modinfo $f | grep ^firmware >> $fwinfo + done + if [ -f tmp/boot/abi-* ]; then + mv tmp/boot/abi-* $abidir/$arch/$sub + else + echo -n "NO ABI FILE..." + fi + (cd tmp; find lib/modules/$verabi-$sub/kernel -name '*.ko') | \ + sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > \ + $abidir/$arch/$sub.modules + ( + cd tmp; + # Prevent exposing some errors when called by python scripts. SIGPIPE seems to get + # exposed when using the `find ...` form of the command. + ko=$(find lib/modules/$verabi-$sub/kernel \ + -name '*.ko' | head -1) + readelf -p .comment "$ko" | awk ' + ($1 == "[") { + printf("%s", $3); + for (n=4; n<=NF; n++) { + printf(" %s", $n); + } + print "" + }' | sort -u >$abidir/$arch/$sub.compiler + version=`cat $abidir/$arch/$sub.compiler` + echo -n "$version..." + ) + rm -rf tmp $filenames + echo "done." + else + echo "FAILED." + fi + cd $origdir + done +} + +# MAIN + +# Setup abi directory +mkdir -p $abidir +echo $abi > $abidir/abiname + +# NOTE: The flavours are hardcoded, because they may have changed from the +# current build. + +__package_prefixes="linux-image" + +. $DEBIAN/etc/getabis + +compilers=`cat $abidir/*/*.compiler | sort -u | wc -l` +if [ "$compilers" != 1 ]; then + echo "WARNING: inconsistant compiler versions detected" 1>&2 +fi + +sort < $fwinfo | uniq > fwinfo.tmp +mv fwinfo.tmp $fwinfo + +rmdir $tmpdir --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/git-ubuntu-log +++ linux-lowlatency-3.5.0/debian/scripts/misc/git-ubuntu-log @@ -0,0 +1,232 @@ +#!/usr/bin/perl -w + +use strict; +use Text::Wrap; + +my $kernel_auth = "Upstream Kernel Changes"; + +my (%map, @reverts); +my $pstate = 1; +my $no_kern_log = 0; +my $print_shas = 0; +my $first_print = 1; + +while (@ARGV) { + my $opt = $ARGV[0]; + shift; + if ($opt eq "--no-kern-log") { + $no_kern_log = 1; + } elsif ($opt eq "--print-shas") { + $print_shas = 1; + } else { + print STDERR "Unknown options: $opt\n"; + exit(1); + } +} + +sub check_reverts($) { + my ($entry) = @_; + my ($check); + + foreach $check (reverse @reverts) { + my $desc = "Revert \"" . $entry->{'desc'} . "\""; + if ($check->{'desc'} eq $desc) { + @reverts = grep($_->{'desc'} ne $desc, @reverts); + return 1; + } + } + + return 0; +} + +sub add_entry($) { + my ($entry) = @_; + my $key = $entry->{'author'}; + + # store description in array, in email->{desc list} map + if (exists $map{$key}) { + # grab ref + my $obj = $map{$key}; + + # add desc to array + push(@$obj, $entry); + } else { + # create new array, containing 1 item + my @arr = ($entry); + + # store ref to array + $map{$key} = \@arr; + } +} + +sub shortlog_entry($$$$$) { + my ($name, $desc, $bug, $cve, $commit) = @_; + my $entry; + + $desc =~ s#/pub/scm/linux/kernel/git/#/.../#g; + $desc =~ s#\[PATCH\] ##g; + + $desc =~ s#^\s*##g; + $desc =~ s# *UBUNTU: ##g; + + $entry->{'desc'} = $desc; + if ($bug ne '') { + $entry->{'bugno'} = $bug; + } + $entry->{'cve'} = $cve; + $entry->{'commit'} = $commit; + $entry->{'author'} = $name; + + if ($desc =~ /^Revert "/) { + push(@reverts, $entry); + return; + } + + return if check_reverts($entry); + + add_entry($entry); +} + +# sort comparison function +sub by_name($$) { + my ($a, $b) = @_; + + uc($a) cmp uc($b); +} + +sub shortlog_output { + my ($obj, $key, $entry); + + foreach $key (sort by_name keys %map) { + next if $key eq $kernel_auth and $no_kern_log; + + print "\n" unless $first_print; + $first_print = 0; + + # output author + printf " [ %s ]\n\n", $key; + + # output author's 1-line summaries + $obj = $map{$key}; + foreach $entry (reverse @$obj) { + print wrap(" * ", " ", $entry->{'desc'}) . "\n"; + # For non upstream changes, add other info. + if ($key ne $kernel_auth) { + if ($print_shas) { + print " - GIT-SHA " . $entry->{'commit'} . + "\n"; + } + } + if (defined($entry->{'bugno'})) { + print " - LP: #" . $entry->{'bugno'} . "\n"; + } + if (defined($entry->{'cve'})) { + print " - " . $entry->{'cve'} . "\n"; + } + } + } +} + +sub changelog_input { + my ($author, $desc, $commit, $entry, $cve); + + while () { + # get commit + if ($pstate == 1) { + next unless /^commit (.*)/; + + $commit = $1; + + $pstate++; + } + + # get author and email + elsif ($pstate == 2) { + my ($email); + + next unless /^[Aa]uthor:?\s*(.*?)\s*<(.*)>/; + + $author = $1; + $email = $2; + $desc = undef; + $cve = undef; + + # cset author fixups + if (!$author) { + $author = $email; + } + $pstate++; + } + + # skip to blank line + elsif ($pstate == 3) { + next unless /^\s*$/; + $pstate++; + } + + # skip to non-blank line + elsif ($pstate == 4) { + next unless /^\s*?(.*)/; + my $ignore = 0; + my $do_ignore = 0; + my $bug = undef; + my %bugz = (); + my $k; + + # skip lines that are obviously not + # a 1-line cset description + next if /^\s*From: /; + + chomp; + $desc = $1; + + if ($desc =~ /^ *(Revert "|)UBUNTU:/) { + $do_ignore = 1; + } else { + $do_ignore = 0; + $author = $kernel_auth; + $ignore = 1 if $desc =~ /Merge /; + } + while () { + $ignore = 1 if ($do_ignore && /^ *Ignore: yes/i); + if (/^ *Bug: *(#|)([0-9#,\s]*)\s*$/i) { + foreach $k (split('(,|\s)\s*(#|)', $2)) { + $bugz{$k} = 1 if (($k ne '') and ($k =~ /[0-9]+/)); + } + } + elsif (/^ *BugLink: *http.*:\/\/.*\/([0-9]+)/i) { + $bugz{$1} = 1; + } + elsif (/^ *(CVE-.*)/) { + $cve = $1 + } + last if /^commit /; + } + + $bug = join(", #", sort keys(%bugz)); + if (!$ignore) { + &shortlog_entry($author, $desc, $bug, + $cve, $commit, 0); + } + + $pstate = 1; + if ($_ && /^commit (.*)/) { + $commit = $1; + $pstate++; + } + } + + else { + die "invalid parse state $pstate"; + } + } + + foreach $entry (@reverts) { + add_entry($entry); + } +} + +&changelog_input; +&shortlog_output; + +exit(0); --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/insert-changes.pl +++ linux-lowlatency-3.5.0/debian/scripts/misc/insert-changes.pl @@ -0,0 +1,36 @@ +#!/usr/bin/perl -w + +my $debian; +$droot = $ARGV[0] if (defined $ARGV[0]); +$droot = 'debian' if (!defined $droot); +$debian = $ARGV[1] if (defined $ARGV[1]); +$debian = 'debian.master' if (!defined $debian); + +system("make -s -f $droot/rules printchanges > $debian/changes"); + +open(CHANGELOG, "< $debian/changelog") or die "Cannot open changelog"; +open(CHANGES, "< $debian/changes") or die "Cannot open new changes"; +open(NEW, "> $debian/changelog.new") or die "Cannot open new changelog"; + +$printed = 0; + +while () { + if (/^ CHANGELOG: /) { + next if $printed; + + while () { + print NEW; + } + + $printed = 1; + } else { + print NEW; + } +} + +close(NEW); +close(CHANGES); +close(CHANGELOG); + +rename("$debian/changelog.new", "$debian/changelog"); +unlink("$debian/changes"); --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/insert-mainline-changes +++ linux-lowlatency-3.5.0/debian/scripts/misc/insert-mainline-changes @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +if ($#ARGV != 2) { + warn "Usage: $0 \n"; + die " $0 debian.master/changelog v3.2.3 v3.2.2..v3.2.3\n"; +} +my ($changelog, $to, $range) = @ARGV; + +my @changes = (); + +push(@changes, "\n"); +push(@changes, " [ Upstream Kernel Changes ]\n\n"); +push(@changes, " * rebase to $to\n"); + +open(LOG, "git log '$range'|") || die "$0: git log failed: - $!\n"; +while () { + if (m@BugLink: .*launchpad.net/.*/([0-9]+)\s$@) { + push(@changes, " - LP: #$1\n"); + } +} +close(LOG); + +open(CHANGELOG, "< $changelog") or die "Cannot open changelog"; +open(NEW, "> $changelog.new") or die "Cannot open new changelog"; + +$printed = 3; +while () { + if (/^ CHANGELOG: /) { + $printed--; + print NEW; + if ($printed == 0) { + print NEW @changes; + } + next; + } + print NEW; +} + +close(NEW); +close(CHANGELOG); + +rename("$changelog.new", "$changelog"); --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/insert-ubuntu-changes +++ linux-lowlatency-3.5.0/debian/scripts/misc/insert-ubuntu-changes @@ -0,0 +1,58 @@ +#!/usr/bin/perl + +if ($#ARGV != 2) { + die "Usage: $0 \n"; +} +my ($changelog, $end, $start) = @ARGV; + +$end =~ s/.*\.//; +$start =~ s/.*\.//; + +my @changes = (); +my $output = 0; +open(CHG, ") { + if (/^\S+\s+\((.*\.(\d+))\)/) { + if ($2 <= $end) { + last; + } + if ($2 == $start) { + $output = 1; + } + if ($output) { + push(@changes, "\n [ Ubuntu: $1 ]\n\n"); + next; + } + } + next if ($output == 0); + + next if (/^\s*$/); + next if (/^\s--/); + next if (/^\s\s[^\*\s]/); + + push(@changes, $_); +} +close(CHG); + +open(CHANGELOG, "< $changelog") or die "Cannot open changelog"; +open(NEW, "> $changelog.new") or die "Cannot open new changelog"; + +$printed = 3; +while () { + if (/^ CHANGELOG: /) { + $printed--; + print NEW; + if ($printed == 0) { + print NEW @changes; + } + next; + } + print NEW; +} + +close(NEW); +close(CHANGELOG); + +rename("$changelog.new", "$changelog"); --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/kernelconfig +++ linux-lowlatency-3.5.0/debian/scripts/misc/kernelconfig @@ -0,0 +1,172 @@ +#!/bin/bash + +. debian/debian.env + +# Script to merge all configs and run 'make silentoldconfig' on it to wade out bad juju. +# Then split the configs into distro-commmon and flavour-specific parts + +# We have to be in the top level kernel source directory +if [ ! -f MAINTAINERS ] || [ ! -f Makefile ]; then + echo "This does not appear to be the kernel source directory." 1>&2 + exit 1 +fi + +mode=${1:?"Usage: $0 [oldconfig|editconfig]"} +yes=0 +case "$mode" in + update*configs) mode='silentoldconfig' ;; + default*configs) mode='oldconfig'; yes=1 ;; + edit*configs) ;; # All is good + gen*configs) mode='genconfigs' ;; # All is good + dump*configs) mode='config'; yes=1 ;; + *) echo "$0 called with invalid mode" 1>&2 + exit 1 ;; +esac +kerneldir="`pwd`" +confdir="$kerneldir/${DEBIAN}/config" +sharedconfdir="$kerneldir/debian.master/config" +variant="$2" + +. $DEBIAN/etc/kernelconfig + +bindir="`pwd`/${DROOT}/scripts/misc" +common_conf="$confdir/config.common.$family" +tmpdir=`mktemp -d` +mkdir "$tmpdir/CONFIGS" + +if [ "$mode" = "genconfigs" ]; then + keep=1 + mode="oldconfig" + test -d CONFIGS || mkdir CONFIGS +fi + +for arch in $archs; do + rm -rf build + mkdir build + + # Map debian archs to kernel archs + case "$arch" in + ppc64) kernarch="powerpc" ;; + amd64) kernarch="x86_64" ;; + lpia) kernarch="x86" ;; + sparc) kernarch="sparc64" ;; + armel|armhf) kernarch="arm" ;; + *) kernarch="$arch" ;; + esac + + archconfdir=$confdir/$arch + flavourconfigs=$(cd $archconfdir && ls config.flavour.*) + + # Merge configs + # We merge config.common.ubuntu + config.common. + + # config.flavour. + + for config in $flavourconfigs; do + fullconf="$tmpdir/$arch-$config-full" + case $config in + *) + : >"$fullconf" + if [ -f $common_conf ]; then + cat $common_conf >> "$fullconf" + fi + if [ -f $archconfdir/config.common.$arch ]; then + cat $archconfdir/config.common.$arch >> "$fullconf" + fi + cat "$archconfdir/$config" >>"$fullconf" + if [ -f $confdir/OVERRIDES ]; then + cat $confdir/OVERRIDES >> "$fullconf" + fi + ;; + esac + done + + for config in $flavourconfigs; do + if [ -f $archconfdir/$config ]; then + fullconf="$tmpdir/$arch-$config-full" + cat "$fullconf" > build/.config + # Call oldconfig or menuconfig + case "$mode" in + editconfigs) + # Interactively edit config parameters + while : ; do + echo -n "Do you want to edit config: $arch/$config? [Y/n] " + read choice + + case "$choice" in + y* | Y* | "" ) + make O=`pwd`/build ARCH=$kernarch menuconfig + break ;; + n* | N* ) + break ;; + *) + echo "Entry not valid" + esac + done + ;; + *) + echo "* Run $mode (yes=$yes) on $arch/$config ..." + if [ "$yes" -eq 1 ]; then + yes "" | make O=`pwd`/build ARCH=$kernarch "$mode" + else + make O=`pwd`/build ARCH=$kernarch "$mode" + fi ;; + esac + cat build/.config > $archconfdir/$config + cat build/.config > "$tmpdir/CONFIGS/$arch-$config" + if [ "$keep" = "1" ]; then + cat build/.config > CONFIGS/$arch-$config + fi + else + echo "!! Config not found $archconfdir/$config..." + fi + done + + echo "Running splitconfig.pl for $arch" + echo + + # Can we make this more robust by avoiding $tmpdir completely? + # This approach was used for now because I didn't want to change + # splitconfig.pl + (cd $archconfdir; $bindir/splitconfig.pl config.flavour.*; mv config.common \ + config.common.$arch; cp config.common.$arch $tmpdir) +done + +rm -f $common_conf + +# Now run splitconfig.pl on all the config.common. copied to +# $tmpdir +(cd $tmpdir; $bindir/splitconfig.pl *) +( + cd $confdir; + rm -f *-full + grep -v 'is UNMERGABLE' <$tmpdir/config.common >$common_conf + for arch in $archs; do + grep -v 'is UNMERGABLE' <$tmpdir/config.common.$arch \ + >$arch/config.common.$arch + done +) + +echo "" +echo "Running config-check for all configurations ..." +echo "" +fail=0 +for arch in $archs; do + archconfdir=$confdir/$arch + flavourconfigs=$(cd $archconfdir && ls config.flavour.*) + for config in $flavourconfigs; do + flavour="${config##*.}" + if [ -f $archconfdir/$config ]; then + fullconf="$tmpdir/CONFIGS/$arch-$config" + "$bindir/../config-check" "$fullconf" "$arch" "$flavour" "$sharedconfdir" "0" || let "fail=$fail+1" + fi + done +done + +if [ "$fail" != 0 ]; then + echo "" + echo "*** ERROR: $fail config-check failures detected" + echo "" +fi + +rm -rf build + --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/retag +++ linux-lowlatency-3.5.0/debian/scripts/misc/retag @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w + +open(TAGS, "git tag -l |") or die "Could not get list of tags"; +@tags = ; +close(TAGS); + +open(LOGS, "git log --pretty=short |") or die "ERROR: Calling git log"; +my $commit = ""; + +while () { + my $origtag; + + if (m|^commit (.*)$|) { + $commit = $1; + next; + } + + m|\s*UBUNTU: (Ubuntu-2\.6\..*)| or next; + + $tag = $1; + + ($origtag) = grep(/^$tag.orig$/, @tags); + + if (!defined($origtag)) { + print "I: Adding original tag for $tag\n"; + system("git tag -m $tag $tag.orig $tag"); + } + + print "I: Tagging $tag => $commit\n"; + + system("git tag -f -m $tag $tag $commit"); +} + +close(LOGS); --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/splitconfig.pl +++ linux-lowlatency-3.5.0/debian/scripts/misc/splitconfig.pl @@ -0,0 +1,107 @@ +#!/usr/bin/perl -w + +%allconfigs = (); +%common = (); + +print "Reading config's ...\n"; + +for $config (@ARGV) { + # Only config.* + next if $config !~ /^config\..*/; + # Nothing that is disabled, or remnant + next if $config =~ /.*\.(default|disabled|stub)$/; + + %{$allconfigs{$config}} = (); + + print " processing $config ... "; + + open(CONFIG, "< $config"); + + while () { + # Skip comments + /^#*\s*CONFIG_(\w+)[\s=](.*)$/ or next; + + ${$allconfigs{$config}}{$1} = $2; + + $common{$1} = $2; + } + + close(CONFIG); + + print "done.\n"; +} + +print "\n"; + +print "Merging lists ... \n"; + +# %options - pointer to flavour config inside the allconfigs array +for $config (keys(%allconfigs)) { + my %options = %{$allconfigs{$config}}; + + print " processing $config ... "; + + for $key (keys(%common)) { + next if not defined $common{$key}; + + # If we don't have the common option, then it isn't + # common. If we do have that option, it must have the same + # value. EXCEPT where this file does not have a value at all + # which may safely be merged with any other value; the value + # will be elided during recombination of the parts. + if (!defined($options{$key})) { + # Its ok really ... let it merge + } elsif (not defined($options{$key})) { + undef $common{$key}; + } elsif ($common{$key} ne $options{$key}) { + undef $common{$key}; + } + } + + print "done.\n"; +} + +print "\n"; + +print "Creating common config ... "; + +open(COMMON, "> config.common"); +print COMMON "#\n# Common config options automatically generated by splitconfig.pl\n#\n"; + +for $key (sort(keys(%common))) { + if (not defined $common{$key}) { + print COMMON "# CONFIG_$key is UNMERGABLE\n"; + } elsif ($common{$key} eq "is not set") { + print COMMON "# CONFIG_$key is not set\n"; + } else { + print COMMON "CONFIG_$key=$common{$key}\n"; + } +} +close(COMMON); + +print "done.\n\n"; + +print "Creating stub configs ...\n"; + +for $config (keys(%allconfigs)) { + my %options = %{$allconfigs{$config}}; + + print " processing $config ... "; + + open(STUB, "> $config"); + print STUB "#\n# Config options for $config automatically generated by splitconfig.pl\n#\n"; + + for $key (sort(keys(%options))) { + next if defined $common{$key}; + + if ($options{$key} =~ /^is /) { + print STUB "# CONFIG_$key $options{$key}\n"; + } else { + print STUB "CONFIG_$key=$options{$key}\n"; + } + } + + close(STUB); + + print "done.\n"; +} --- linux-lowlatency-3.5.0.orig/debian/scripts/misc/get-firmware +++ linux-lowlatency-3.5.0/debian/scripts/misc/get-firmware @@ -0,0 +1,45 @@ +#!/bin/bash +# +# Find all files in linux-firmware that are new or different since the previous release +# and copy them into the kernel firmware directory. You should only do this on the +# backport branch since it would be redundant on the released kernel. It assumed you've +# unpacked linux-firmware from each release into separate directories. +# +# Example: $0 ~/ubuntu/linux-firmware-precise ~/ubuntu/linux-firmware-quantal + +if [ "$1" = "" ] || [ "$2" = "" ] || [ ! -f $1/WHENCE ] || [ ! -f $2/WHENCE ] +then + echo You must supply 2 firmware directories. + exit 1 +fi + +if [ ! -f debian/debian.env ] +then + echo You must run this script from the root of the repo + exit 1 +fi + +CDIR=`pwd` +OFW=$1 +NFW=$2 + +cd $NFW +# +# Find all files in $NFW that are new or different from $1 +# +(find . -type f | egrep -v "debian|git|LICEN|WHEN|READ|Make|configure" | sed 's;\./;;' | \ +while read f +do + if [ ! -f $OFW/$f ] + then + echo $f + elif ! cmp $f $OFW/$f > /dev/null + then + echo $f + fi +done) |\ +while read f +do + mkdir -p $CDIR/firmware/`dirname $f` + cp -v $f $CDIR/firmware/`dirname $f` +done --- linux-lowlatency-3.5.0.orig/debian/source/format +++ linux-lowlatency-3.5.0/debian/source/format @@ -0,0 +1 @@ +1.0 --- linux-lowlatency-3.5.0.orig/debian/stamps/keep-dir +++ linux-lowlatency-3.5.0/debian/stamps/keep-dir @@ -0,0 +1 @@ +Place holder --- linux-lowlatency-3.5.0.orig/debian/tests/README +++ linux-lowlatency-3.5.0/debian/tests/README @@ -0,0 +1,21 @@ +Scripts placed in this directory get called one at a time by run-parts(8). +The scripts are expected to perform some sort of sanity checks on the +finished build. Scripts will be called once for each flavour. + +Some environment variables are exported to make life a little easier: + +DPKG_ARCH : The dpkg architecture (e.g. "amd64") +KERN_ARCH : The kernel architecture (e.g. "x86_64") +FLAVOUR : The specific flavour for this run (e.g. "generic") +VERSION : The full version of this build (e.g. 2.6.22-1) +REVISION : The exact revision of this build (e.g. 1.3) +PREV_REVISION : The revision prior to this one +ABI_NUM : The specific ABI number for this build (e.g. 2) +PREV_ABI_NUM : The previous ABI number. Can be the same as ABI_NUM. +BUILD_DIR : The directory where this build took place +INSTALL_DIR : The directory where the package is prepared +SOURCE_DIR : Where the main kernel source is + +Scripts are expected to have a zero exit status when no problems occur, +and non-zero when an error occurs that should stop the build. Scripts +should print whatever info they deem needed to deduce the problem. --- linux-lowlatency-3.5.0.orig/debian/tests/check-aliases +++ linux-lowlatency-3.5.0/debian/tests/check-aliases @@ -0,0 +1,24 @@ +#!/usr/bin/perl -w + +my %map; + +print "Checking for dupe aliases in $ENV{'FLAVOUR'}...\n"; + +$aliases = + "$ENV{'INSTALL_DIR'}/lib/modules/$ENV{'VERSION'}-$ENV{'FLAVOUR'}/modules.alias"; + +open(ALIASES, "< $aliases") or die "Could not open $aliases"; + +while () { + chomp; + my ($junk, $alias, $module) = split; + + if (defined($map{$alias})) { + printf("%s %20s / %-20s : %s \n", ("$map{$alias}" eq "$module") + ? "INT" : " ", $map{$alias}, $module, $alias); + } else { + $map{$alias} = $module; + } +} + +exit(0); --- linux-lowlatency-3.5.0.orig/debian/tools/generic +++ linux-lowlatency-3.5.0/debian/tools/generic @@ -0,0 +1,16 @@ +#!/bin/bash +full_version=`uname -r` + +# Removing flavour from version i.e. generic or server. +flavour_abi=${full_version#*-} +flavour=${flavour_abi#*-} +version=${full_version%-$flavour} +this="$0_$version" + +if [ ! -f "$this" ]; then + echo "$this not found" >&2 + echo "You may need to install linux-tools-$version" >&2 + exit 2 +fi + +exec "$this" "$@" --- linux-lowlatency-3.5.0.orig/debian/tools/perf +++ linux-lowlatency-3.5.0/debian/tools/perf @@ -0,0 +1,16 @@ +#!/bin/bash +full_version=`uname -r` + +# Removing flavour from version i.e. generic or server. +flavour_abi=${full_version#*-} +flavour=${flavour_abi#*-} +version=${full_version%-$flavour} +perf="perf_$version" + +if ! which "$perf" > /dev/null; then + echo "$perf not found" >&2 + echo "You may need to install linux-tools-$version" >&2 + exit 2 +fi + +exec "$perf" "$@" --- linux-lowlatency-3.5.0.orig/debian/tools/turbostat +++ linux-lowlatency-3.5.0/debian/tools/turbostat @@ -0,0 +1,16 @@ +#!/bin/bash +full_version=`uname -r` + +# Removing flavour from version i.e. generic or server. +flavour_abi=${full_version#*-} +flavour=${flavour_abi#*-} +version=${full_version%-$flavour} +turbostat="turbostat_$version" + +if ! which "$turbostat" > /dev/null; then + echo "$turbostat not found" >&2 + echo "You may need to install linux-tools-$version" >&2 + exit 2 +fi + +exec "$turbostat" "$@" --- linux-lowlatency-3.5.0.orig/debian/tools/x86_energy_perf_policy +++ linux-lowlatency-3.5.0/debian/tools/x86_energy_perf_policy @@ -0,0 +1,16 @@ +#!/bin/bash +full_version=`uname -r` + +# Removing flavour from version i.e. generic or server. +flavour_abi=${full_version#*-} +flavour=${flavour_abi#*-} +version=${full_version%-$flavour} +x86_energy_perf_policy="x86_energy_perf_policy_$version" + +if ! which "$x86_energy_perf_policy" > /dev/null; then + echo "$x86_energy_perf_policy not found" >&2 + echo "You may need to install linux-tools-$version" >&2 + exit 2 +fi + +exec "$x86_energy_perf_policy" "$@" --- linux-lowlatency-3.5.0.orig/drivers/acpi/ac.c +++ linux-lowlatency-3.5.0/drivers/acpi/ac.c @@ -292,7 +292,9 @@ ac->charger.properties = ac_props; ac->charger.num_properties = ARRAY_SIZE(ac_props); ac->charger.get_property = get_ac_property; - power_supply_register(&ac->device->dev, &ac->charger); + result = power_supply_register(&ac->device->dev, &ac->charger); + if (result) + goto end; printk(KERN_INFO PREFIX "%s [%s] (%s)\n", acpi_device_name(device), acpi_device_bid(device), --- linux-lowlatency-3.5.0.orig/drivers/acpi/battery.c +++ linux-lowlatency-3.5.0/drivers/acpi/battery.c @@ -976,6 +976,18 @@ return 0; } +static LIST_HEAD(acpi_battery_domain); + +static void acpi_battery_update_async(struct acpi_device *device, async_cookie_t cookie) +{ + struct acpi_battery *battery = acpi_driver_data(device); + + acpi_battery_update(battery); + printk(KERN_INFO PREFIX "%s Slot [%s] (battery %s)\n", + ACPI_BATTERY_DEVICE_NAME, acpi_device_bid(device), + device->status.battery_present ? "present" : "absent"); +} + static int acpi_battery_add(struct acpi_device *device) { int result = 0; @@ -995,13 +1007,16 @@ if (ACPI_SUCCESS(acpi_get_handle(battery->device->handle, "_BIX", &handle))) set_bit(ACPI_BATTERY_XINFO_PRESENT, &battery->flags); - result = acpi_battery_update(battery); - if (result) - goto fail; + + /* Mark the battery for update at first access. */ + battery->update_time = 0; #ifdef CONFIG_ACPI_PROCFS_POWER result = acpi_battery_add_fs(device); #endif - if (result) { + if (!result) { + async_schedule_domain(acpi_battery_update_async, device, &acpi_battery_domain); + + } else { #ifdef CONFIG_ACPI_PROCFS_POWER acpi_battery_remove_fs(device); #endif @@ -1031,6 +1046,10 @@ if (!device || !acpi_driver_data(device)) return -EINVAL; + + /* Ensure all async updates are complete before freeing the battery. */ + async_synchronize_full_domain(&acpi_battery_domain); + battery = acpi_driver_data(device); unregister_pm_notifier(&battery->pm_nb); #ifdef CONFIG_ACPI_PROCFS_POWER @@ -1068,27 +1087,21 @@ }, }; -static void __init acpi_battery_init_async(void *unused, async_cookie_t cookie) +static int __init acpi_battery_init(void) { if (acpi_disabled) return; #ifdef CONFIG_ACPI_PROCFS_POWER acpi_battery_dir = acpi_lock_battery_dir(); if (!acpi_battery_dir) - return; + return -1; #endif if (acpi_bus_register_driver(&acpi_battery_driver) < 0) { #ifdef CONFIG_ACPI_PROCFS_POWER acpi_unlock_battery_dir(acpi_battery_dir); #endif - return; + return -1; } - return; -} - -static int __init acpi_battery_init(void) -{ - async_schedule(acpi_battery_init_async, NULL); return 0; } --- linux-lowlatency-3.5.0.orig/drivers/acpi/bus.c +++ linux-lowlatency-3.5.0/drivers/acpi/bus.c @@ -237,6 +237,16 @@ } else if (result == ACPI_STATE_D3_HOT) { result = ACPI_STATE_D3; } + + /* + * If we were unsure about the device parent's power state up to this + * point, the fact that the device is in D0 implies that the parent has + * to be in D0 too. + */ + if (device->parent && device->parent->power.state == ACPI_STATE_UNKNOWN + && result == ACPI_STATE_D0) + device->parent->power.state = ACPI_STATE_D0; + *state = result; out: @@ -980,8 +990,6 @@ status = acpi_ec_ecdt_probe(); /* Ignore result. Not having an ECDT is not fatal. */ - acpi_bus_osc_support(); - status = acpi_initialize_objects(ACPI_FULL_INITIALIZATION); if (ACPI_FAILURE(status)) { printk(KERN_ERR PREFIX "Unable to initialize ACPI objects\n"); @@ -989,6 +997,12 @@ } /* + * _OSC method may exist in module level code, + * so it must be run after ACPI_FULL_INITIALIZATION + */ + acpi_bus_osc_support(); + + /* * _PDC control method may load dynamic SSDT tables, * and we need to install the table handler before that. */ --- linux-lowlatency-3.5.0.orig/drivers/acpi/ec.c +++ linux-lowlatency-3.5.0/drivers/acpi/ec.c @@ -71,9 +71,6 @@ #define ACPI_EC_UDELAY_GLK 1000 /* Wait 1ms max. to get global lock */ #define ACPI_EC_MSI_UDELAY 550 /* Wait 550us for MSI EC */ -#define ACPI_EC_STORM_THRESHOLD 8 /* number of false interrupts - per one transaction */ - enum { EC_FLAGS_QUERY_PENDING, /* Query is pending */ EC_FLAGS_GPE_STORM, /* GPE storm detected */ @@ -87,6 +84,15 @@ module_param(ec_delay, uint, 0644); MODULE_PARM_DESC(ec_delay, "Timeout(ms) waited until an EC command completes"); +/* + * If the number of false interrupts per one transaction exceeds + * this threshold, will think there is a GPE storm happened and + * will disable the GPE for normal transaction. + */ +static unsigned int ec_storm_threshold __read_mostly = 8; +module_param(ec_storm_threshold, uint, 0644); +MODULE_PARM_DESC(ec_storm_threshold, "Maxim false GPE numbers not considered as GPE storm"); + /* If we find an EC via the ECDT, we need to keep a ptr to its context */ /* External interfaces use first EC only, so remember */ typedef int (*acpi_ec_query_func) (void *data); @@ -319,7 +325,7 @@ msleep(1); /* It is safe to enable the GPE outside of the transaction. */ acpi_enable_gpe(NULL, ec->gpe); - } else if (t->irq_count > ACPI_EC_STORM_THRESHOLD) { + } else if (t->irq_count > ec_storm_threshold) { pr_info(PREFIX "GPE storm detected, " "transactions will use polling mode\n"); set_bit(EC_FLAGS_GPE_STORM, &ec->flags); @@ -924,6 +930,17 @@ return 0; } +/* + * Clevo M720 notebook actually works ok with IRQ mode, if we lifted + * the GPE storm threshold back to 20 + */ +static int ec_enlarge_storm_threshold(const struct dmi_system_id *id) +{ + pr_debug("Setting the EC GPE storm threshold to 20\n"); + ec_storm_threshold = 20; + return 0; +} + static struct dmi_system_id __initdata ec_dmi_table[] = { { ec_skip_dsdt_scan, "Compal JFL92", { @@ -955,10 +972,13 @@ { ec_validate_ecdt, "ASUS hardware", { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer Inc.") }, NULL}, + { + ec_enlarge_storm_threshold, "CLEVO hardware", { + DMI_MATCH(DMI_SYS_VENDOR, "CLEVO Co."), + DMI_MATCH(DMI_PRODUCT_NAME, "M720T/M730T"),}, NULL}, {}, }; - int __init acpi_ec_ecdt_probe(void) { acpi_status status; --- linux-lowlatency-3.5.0.orig/drivers/acpi/power.c +++ linux-lowlatency-3.5.0/drivers/acpi/power.c @@ -103,6 +103,7 @@ /* List of devices relying on this power resource */ struct acpi_power_resource_device *devices; + struct mutex devices_lock; }; static struct list_head acpi_power_resource_list; @@ -221,7 +222,6 @@ static int __acpi_power_on(struct acpi_power_resource *resource) { - struct acpi_power_resource_device *device_list = resource->devices; acpi_status status = AE_OK; status = acpi_evaluate_object(resource->device->handle, "_ON", NULL, NULL); @@ -234,19 +234,15 @@ ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Power resource [%s] turned on\n", resource->name)); - while (device_list) { - acpi_power_on_device(device_list->device); - - device_list = device_list->next; - } - return 0; } static int acpi_power_on(acpi_handle handle) { int result = 0; + bool resume_device = false; struct acpi_power_resource *resource = NULL; + struct acpi_power_resource_device *device_list; result = acpi_power_get_context(handle, &resource); if (result) @@ -262,10 +258,25 @@ result = __acpi_power_on(resource); if (result) resource->ref_count--; + else + resume_device = true; } mutex_unlock(&resource->resource_lock); + if (!resume_device) + return result; + + mutex_lock(&resource->devices_lock); + + device_list = resource->devices; + while (device_list) { + acpi_power_on_device(device_list->device); + device_list = device_list->next; + } + + mutex_unlock(&resource->devices_lock); + return result; } @@ -351,7 +362,7 @@ if (acpi_power_get_context(res_handle, &resource)) return; - mutex_lock(&resource->resource_lock); + mutex_lock(&resource->devices_lock); prev = NULL; curr = resource->devices; while (curr) { @@ -368,7 +379,7 @@ prev = curr; curr = curr->next; } - mutex_unlock(&resource->resource_lock); + mutex_unlock(&resource->devices_lock); } /* Unlink dev from all power resources in _PR0 */ @@ -409,10 +420,10 @@ power_resource_device->device = powered_device; - mutex_lock(&resource->resource_lock); + mutex_lock(&resource->devices_lock); power_resource_device->next = resource->devices; resource->devices = power_resource_device; - mutex_unlock(&resource->resource_lock); + mutex_unlock(&resource->devices_lock); return 0; } @@ -457,7 +468,7 @@ return ret; no_power_resource: - printk(KERN_WARNING PREFIX "Invalid Power Resource to register!"); + printk(KERN_DEBUG PREFIX "Invalid Power Resource to register!"); return -ENODEV; } @@ -715,6 +726,7 @@ resource->device = device; mutex_init(&resource->resource_lock); + mutex_init(&resource->devices_lock); strcpy(resource->name, device->pnp.bus_id); strcpy(acpi_device_name(device), ACPI_POWER_DEVICE_NAME); strcpy(acpi_device_class(device), ACPI_POWER_CLASS); --- linux-lowlatency-3.5.0.orig/drivers/acpi/processor_driver.c +++ linux-lowlatency-3.5.0/drivers/acpi/processor_driver.c @@ -407,6 +407,7 @@ acpi_bus_generate_proc_event(device, event, 0); acpi_bus_generate_netlink_event(device->pnp.device_class, dev_name(&device->dev), event, 0); + break; default: ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Unsupported event [0x%x]\n", event)); @@ -442,7 +443,7 @@ /* Normal CPU soft online event */ } else { acpi_processor_ppc_has_changed(pr, 0); - acpi_processor_cst_has_changed(pr); + acpi_processor_hotplug(pr); acpi_processor_reevaluate_tstate(pr, action); acpi_processor_tstate_has_changed(pr); } --- linux-lowlatency-3.5.0.orig/drivers/acpi/video.c +++ linux-lowlatency-3.5.0/drivers/acpi/video.c @@ -73,6 +73,14 @@ module_param(brightness_switch_enabled, bool, 0644); /* + * The Default is to let the OS handle brightness autoswitching due to + * AC/battery status changes. On some laptops (MSI Wind) this doesn't + * work so we need a workaround. + */ +static int brightness_autoswitch_via_bios = 0; +module_param(brightness_autoswitch_via_bios, bool, 0644); + +/* * By default, we don't allow duplicate ACPI video bus devices * under the same VGA controller */ @@ -1345,12 +1353,15 @@ acpi_video_bus_get_devices(struct acpi_video_bus *video, struct acpi_device *device) { - int status; + int status = 0; struct acpi_device *dev; - status = acpi_video_device_enumerate(video); - if (status) - return status; + /* + * There are systems where video module known to work fine regardless + * of broken _DOD and ignoring returned value here doesn't cause + * any issues later. + */ + acpi_video_device_enumerate(video); list_for_each_entry(dev, &device->children, node) { @@ -1425,7 +1436,7 @@ static int acpi_video_bus_start_devices(struct acpi_video_bus *video) { - return acpi_video_bus_DOS(video, 0, 0); + return acpi_video_bus_DOS(video, 0, !brightness_autoswitch_via_bios); } static int acpi_video_bus_stop_devices(struct acpi_video_bus *video) --- linux-lowlatency-3.5.0.orig/drivers/acpi/acpica/tbxface.c +++ linux-lowlatency-3.5.0/drivers/acpi/acpica/tbxface.c @@ -436,6 +436,7 @@ return (AE_NOT_FOUND); } +ACPI_EXPORT_SYMBOL(acpi_get_table_with_size) acpi_status acpi_get_table(char *signature, --- linux-lowlatency-3.5.0.orig/drivers/acpi/apei/apei-base.c +++ linux-lowlatency-3.5.0/drivers/acpi/apei/apei-base.c @@ -586,6 +586,11 @@ } *access_bit_width = 1UL << (access_size_code + 2); + /* Fixup common BIOS bug */ + if (bit_width == 32 && bit_offset == 0 && (*paddr & 0x03) == 0 && + *access_bit_width < 32) + *access_bit_width = 32; + if ((bit_width + bit_offset) > *access_bit_width) { pr_warning(FW_BUG APEI_PFX "Invalid bit width + offset in GAR [0x%llx/%u/%u/%u/%u]\n", --- linux-lowlatency-3.5.0.orig/drivers/ata/Kconfig +++ linux-lowlatency-3.5.0/drivers/ata/Kconfig @@ -214,6 +214,15 @@ help This option enables the taskfile dumping and NCQ debugging. +config SATA_HIGHBANK + tristate "Calxeda Highbank SATA support" + depends on ARCH_HIGHBANK + help + This option enables support for the Calxeda Highbank SoC's + onboard SATA. + + If unsure, say N. + config SATA_MV tristate "Marvell SATA support" help --- linux-lowlatency-3.5.0.orig/drivers/ata/Makefile +++ linux-lowlatency-3.5.0/drivers/ata/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_SATA_INIC162X) += sata_inic162x.o obj-$(CONFIG_SATA_SIL24) += sata_sil24.o obj-$(CONFIG_SATA_DWC) += sata_dwc_460ex.o +obj-$(CONFIG_SATA_HIGHBANK) += sata_highbank.o libahci.o # SFF w/ custom DMA obj-$(CONFIG_PDC_ADMA) += pdc_adma.o --- linux-lowlatency-3.5.0.orig/drivers/ata/ahci.c +++ linux-lowlatency-3.5.0/drivers/ata/ahci.c @@ -396,6 +396,8 @@ .driver_data = board_ahci_yes_fbs }, /* 88se9125 */ { PCI_DEVICE(0x1b4b, 0x917a), .driver_data = board_ahci_yes_fbs }, /* 88se9172 */ + { PCI_DEVICE(0x1b4b, 0x9192), + .driver_data = board_ahci_yes_fbs }, /* 88se9172 on some Gigabyte */ { PCI_DEVICE(0x1b4b, 0x91a3), .driver_data = board_ahci_yes_fbs }, --- linux-lowlatency-3.5.0.orig/drivers/ata/ahci.h +++ linux-lowlatency-3.5.0/drivers/ata/ahci.h @@ -320,6 +320,7 @@ extern struct ata_port_operations ahci_ops; extern struct ata_port_operations ahci_pmp_retry_srst_ops; +unsigned int ahci_dev_classify(struct ata_port *ap); void ahci_fill_cmd_slot(struct ahci_port_priv *pp, unsigned int tag, u32 opts); void ahci_save_initial_config(struct device *dev, --- linux-lowlatency-3.5.0.orig/drivers/ata/ahci_platform.c +++ linux-lowlatency-3.5.0/drivers/ata/ahci_platform.c @@ -279,7 +279,6 @@ #endif static const struct of_device_id ahci_of_match[] = { - { .compatible = "calxeda,hb-ahci", }, { .compatible = "snps,spear-ahci", }, {}, }; --- linux-lowlatency-3.5.0.orig/drivers/ata/ata_piix.c +++ linux-lowlatency-3.5.0/drivers/ata/ata_piix.c @@ -1719,10 +1719,16 @@ ata_pci_remove_one(pdev); } +static bool disable_driver = 0; static int __init piix_init(void) { int rc; + if (disable_driver) { + printk(KERN_WARNING "ata_piix: driver disabled completely\n"); + return 0; + } + DPRINTK("pci_register_driver\n"); rc = pci_register_driver(&piix_pci_driver); if (rc) @@ -1739,5 +1745,6 @@ pci_unregister_driver(&piix_pci_driver); } +module_param(disable_driver, bool, 0); module_init(piix_init); module_exit(piix_exit); --- linux-lowlatency-3.5.0.orig/drivers/ata/libahci.c +++ linux-lowlatency-3.5.0/drivers/ata/libahci.c @@ -1139,7 +1139,7 @@ } } -static unsigned int ahci_dev_classify(struct ata_port *ap) +unsigned int ahci_dev_classify(struct ata_port *ap) { void __iomem *port_mmio = ahci_port_base(ap); struct ata_taskfile tf; @@ -1153,6 +1153,7 @@ return ata_dev_classify(&tf); } +EXPORT_SYMBOL_GPL(ahci_dev_classify); void ahci_fill_cmd_slot(struct ahci_port_priv *pp, unsigned int tag, u32 opts) --- linux-lowlatency-3.5.0.orig/drivers/ata/libata-core.c +++ linux-lowlatency-3.5.0/drivers/ata/libata-core.c @@ -4126,6 +4126,7 @@ /* Devices which aren't very happy with higher link speeds */ { "WD My Book", NULL, ATA_HORKAGE_1_5_GBPS, }, + { "Seagate FreeAgent GoFlex", NULL, ATA_HORKAGE_1_5_GBPS, }, /* * Devices which choke on SETXFER. Applies only if both the --- linux-lowlatency-3.5.0.orig/drivers/ata/sata_svw.c +++ linux-lowlatency-3.5.0/drivers/ata/sata_svw.c @@ -142,6 +142,39 @@ return 0; } +static int k2_sata_softreset(struct ata_link *link, + unsigned int *class, unsigned long deadline) +{ + u8 dmactl; + void __iomem *mmio = link->ap->ioaddr.bmdma_addr; + + dmactl = readb(mmio + ATA_DMA_CMD); + + /* Clear the start bit */ + if (dmactl & ATA_DMA_START) { + dmactl &= ~ATA_DMA_START; + writeb(dmactl, mmio + ATA_DMA_CMD); + } + + return ata_sff_softreset(link, class, deadline); +} + +static int k2_sata_hardreset(struct ata_link *link, + unsigned int *class, unsigned long deadline) +{ + u8 dmactl; + void __iomem *mmio = link->ap->ioaddr.bmdma_addr; + + dmactl = readb(mmio + ATA_DMA_CMD); + + /* Clear the start bit */ + if (dmactl & ATA_DMA_START) { + dmactl &= ~ATA_DMA_START; + writeb(dmactl, mmio + ATA_DMA_CMD); + } + + return sata_sff_hardreset(link, class, deadline); +} static void k2_sata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf) { @@ -346,6 +379,8 @@ static struct ata_port_operations k2_sata_ops = { .inherits = &ata_bmdma_port_ops, + .softreset = k2_sata_softreset, + .hardreset = k2_sata_hardreset, .sff_tf_load = k2_sata_tf_load, .sff_tf_read = k2_sata_tf_read, .sff_check_status = k2_stat_check_status, --- linux-lowlatency-3.5.0.orig/drivers/ata/sata_highbank.c +++ linux-lowlatency-3.5.0/drivers/ata/sata_highbank.c @@ -0,0 +1,450 @@ +/* + * Calxeda Highbank AHCI SATA platform driver + * Copyright 2012 Calxeda, Inc. + * + * based on the AHCI SATA platform driver by Jeff Garzik and Anton Vorontsov + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, 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 General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "ahci.h" + +#define CPHY_MAP(dev, addr) ((((dev) & 0x1f) << 7) | (((addr) >> 9) & 0x7f)) +#define CPHY_ADDR(addr) (((addr) & 0x1ff) << 2) +#define SERDES_CR_CTL 0x80a0 +#define SERDES_CR_ADDR 0x80a1 +#define SERDES_CR_DATA 0x80a2 +#define CR_BUSY 0x0001 +#define CR_START 0x0001 +#define CR_WR_RDN 0x0002 +#define CPHY_RX_INPUT_STS 0x2002 +#define CPHY_SATA_OVERRIDE 0x4000 +#define CPHY_OVERRIDE 0x2005 +#define SPHY_LANE 0x100 +#define SPHY_HALF_RATE 0x0001 +#define CPHY_SATA_DPLL_MODE 0x0700 +#define CPHY_SATA_DPLL_SHIFT 8 +#define CPHY_SATA_DPLL_RESET (1 << 11) +#define CPHY_PHY_COUNT 6 +#define CPHY_LANE_COUNT 4 +#define CPHY_PORT_COUNT (CPHY_PHY_COUNT * CPHY_LANE_COUNT) + +static DEFINE_SPINLOCK(cphy_lock); +/* Each of the 6 phys can have up to 4 sata ports attached to i. Map 0-based + * sata ports to their phys and then to their lanes within the phys + */ +struct phy_lane_info { + void __iomem *phy_base; + u8 lane_mapping; + u8 phy_devs; +}; +static struct phy_lane_info port_data[CPHY_PORT_COUNT]; + +static u32 __combo_phy_reg_read(u8 sata_port, u32 addr) +{ + u32 data; + u8 dev = port_data[sata_port].phy_devs; + spin_lock(&cphy_lock); + writel(CPHY_MAP(dev, addr), port_data[sata_port].phy_base + 0x800); + data = readl(port_data[sata_port].phy_base + CPHY_ADDR(addr)); + spin_unlock(&cphy_lock); + return data; +} + +static void __combo_phy_reg_write(u8 sata_port, u32 addr, u32 data) +{ + u8 dev = port_data[sata_port].phy_devs; + spin_lock(&cphy_lock); + writel(CPHY_MAP(dev, addr), port_data[sata_port].phy_base + 0x800); + writel(data, port_data[sata_port].phy_base + CPHY_ADDR(addr)); + spin_unlock(&cphy_lock); +} + +static void combo_phy_wait_for_ready(u8 sata_port) +{ + while (__combo_phy_reg_read(sata_port, SERDES_CR_CTL) & CR_BUSY) + udelay(5); +} + +static u32 combo_phy_read(u8 sata_port, u32 addr) +{ + combo_phy_wait_for_ready(sata_port); + __combo_phy_reg_write(sata_port, SERDES_CR_ADDR, addr); + __combo_phy_reg_write(sata_port, SERDES_CR_CTL, CR_START); + combo_phy_wait_for_ready(sata_port); + return __combo_phy_reg_read(sata_port, SERDES_CR_DATA); +} + +static void combo_phy_write(u8 sata_port, u32 addr, u32 data) +{ + combo_phy_wait_for_ready(sata_port); + __combo_phy_reg_write(sata_port, SERDES_CR_ADDR, addr); + __combo_phy_reg_write(sata_port, SERDES_CR_DATA, data); + __combo_phy_reg_write(sata_port, SERDES_CR_CTL, CR_WR_RDN | CR_START); +} + +static void highbank_cphy_disable_overrides(u8 sata_port) +{ + u8 lane = port_data[sata_port].lane_mapping; + u32 tmp; + if (unlikely(port_data[sata_port].phy_base == NULL)) + return; + tmp = combo_phy_read(sata_port, CPHY_RX_INPUT_STS + lane * SPHY_LANE); + tmp &= ~CPHY_SATA_OVERRIDE; + combo_phy_write(sata_port, CPHY_OVERRIDE + lane * SPHY_LANE, tmp); +} + +static void cphy_override_rx_mode(u8 sata_port, u32 val) +{ + u8 lane = port_data[sata_port].lane_mapping; + u32 tmp; + tmp = combo_phy_read(sata_port, CPHY_RX_INPUT_STS + lane * SPHY_LANE); + tmp &= ~CPHY_SATA_OVERRIDE; + combo_phy_write(sata_port, CPHY_OVERRIDE + lane * SPHY_LANE, tmp); + + tmp |= CPHY_SATA_OVERRIDE; + combo_phy_write(sata_port, CPHY_OVERRIDE + lane * SPHY_LANE, tmp); + + tmp &= ~CPHY_SATA_DPLL_MODE; + tmp |= val << CPHY_SATA_DPLL_SHIFT; + combo_phy_write(sata_port, CPHY_OVERRIDE + lane * SPHY_LANE, tmp); + + tmp |= CPHY_SATA_DPLL_RESET; + combo_phy_write(sata_port, CPHY_OVERRIDE + lane * SPHY_LANE, tmp); + + tmp &= ~CPHY_SATA_DPLL_RESET; + combo_phy_write(sata_port, CPHY_OVERRIDE + lane * SPHY_LANE, tmp); + + msleep(15); +} + +static void highbank_cphy_override_lane(u8 sata_port) +{ + u8 lane = port_data[sata_port].lane_mapping; + u32 tmp, k = 0; + + if (unlikely(port_data[sata_port].phy_base == NULL)) + return; + do { + tmp = combo_phy_read(sata_port, CPHY_RX_INPUT_STS + + lane * SPHY_LANE); + } while ((tmp & SPHY_HALF_RATE) && (k++ < 1000)); + cphy_override_rx_mode(sata_port, 3); +} + +static int highbank_initialize_phys(struct device *dev, void __iomem *addr) +{ + struct device_node *sata_node = dev->of_node; + int phy_count = 0, phy, port = 0; + void __iomem *cphy_base[CPHY_PHY_COUNT]; + struct device_node *phy_nodes[CPHY_PHY_COUNT]; + memset(port_data, 0, sizeof(struct phy_lane_info) * CPHY_PORT_COUNT); + memset(phy_nodes, 0, sizeof(struct device_node*) * CPHY_PHY_COUNT); + + do { + u32 tmp; + struct of_phandle_args phy_data; + if (of_parse_phandle_with_args(sata_node, + "calxeda,port-phys", "#phy-cells", + port, &phy_data)) + break; + for (phy = 0; phy < phy_count; phy++) { + if (phy_nodes[phy] == phy_data.np) + break; + } + if (phy_nodes[phy] == NULL) { + phy_nodes[phy] = phy_data.np; + cphy_base[phy] = of_iomap(phy_nodes[phy], 0); + if (cphy_base[phy] == NULL) { + return 0; + } + phy_count += 1; + } + port_data[port].lane_mapping = phy_data.args[0]; + of_property_read_u32(phy_nodes[phy], "phydev", &tmp); + port_data[port].phy_devs = tmp; + port_data[port].phy_base = cphy_base[phy]; + of_node_put(phy_data.np); + port += 1; + } while (port < CPHY_PORT_COUNT); + return 0; +} + +static int ahci_highbank_hardreset(struct ata_link *link, unsigned int *class, + unsigned long deadline) +{ + const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context); + struct ata_port *ap = link->ap; + struct ahci_port_priv *pp = ap->private_data; + u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG; + struct ata_taskfile tf; + bool online; + u32 sstatus; + int rc; + int retry = 10; + + ahci_stop_engine(ap); + + /* clear D2H reception area to properly wait for D2H FIS */ + ata_tf_init(link->device, &tf); + tf.command = 0x80; + ata_tf_to_fis(&tf, 0, 0, d2h_fis); + + do { + highbank_cphy_disable_overrides(link->ap->port_no); + rc = sata_link_hardreset(link, timing, deadline, &online, NULL); + highbank_cphy_override_lane(link->ap->port_no); + + /* If the status is 1, we are connected, but the link did not + * come up. So retry resetting the link again. + */ + if (sata_scr_read(link, SCR_STATUS, &sstatus)) + break; + if (!(sstatus & 0x3)) + break; + } while (!online && retry--); + + ahci_start_engine(ap); + + if (online) + *class = ahci_dev_classify(ap); + + return rc; +} + +static struct ata_port_operations ahci_highbank_ops = { + .inherits = &ahci_ops, + .hardreset = ahci_highbank_hardreset, +}; + +static const struct ata_port_info ahci_highbank_port_info = { + .flags = AHCI_FLAG_COMMON, + .pio_mask = ATA_PIO4, + .udma_mask = ATA_UDMA6, + .port_ops = &ahci_highbank_ops, +}; + +static struct scsi_host_template ahci_highbank_platform_sht = { + AHCI_SHT("highbank-ahci"), +}; + +static const struct of_device_id ahci_of_match[] = { + { .compatible = "calxeda,hb-ahci" }, + {}, +}; +MODULE_DEVICE_TABLE(of, ahci_of_match); + +static int __init ahci_highbank_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct ahci_host_priv *hpriv; + struct ata_host *host; + struct resource *mem; + int irq; + int n_ports; + int i; + int rc; + struct ata_port_info pi = ahci_highbank_port_info; + const struct ata_port_info *ppi[] = { &pi, NULL }; + + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!mem) { + dev_err(dev, "no mmio space\n"); + return -EINVAL; + } + + irq = platform_get_irq(pdev, 0); + if (irq <= 0) { + dev_err(dev, "no irq\n"); + return -EINVAL; + } + + hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL); + if (!hpriv) { + dev_err(dev, "can't alloc ahci_host_priv\n"); + return -ENOMEM; + } + + hpriv->flags |= (unsigned long)pi.private_data; + + hpriv->mmio = devm_ioremap(dev, mem->start, resource_size(mem)); + if (!hpriv->mmio) { + dev_err(dev, "can't map %pR\n", mem); + return -ENOMEM; + } + + rc = highbank_initialize_phys(dev, hpriv->mmio); + if (rc) + return rc; + + + ahci_save_initial_config(dev, hpriv, 0, 0); + + /* prepare host */ + if (hpriv->cap & HOST_CAP_NCQ) + pi.flags |= ATA_FLAG_NCQ; + + if (hpriv->cap & HOST_CAP_PMP) + pi.flags |= ATA_FLAG_PMP; + + ahci_set_em_messages(hpriv, &pi); + + /* CAP.NP sometimes indicate the index of the last enabled + * port, at other times, that of the last possible port, so + * determining the maximum port number requires looking at + * both CAP.NP and port_map. + */ + n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map)); + + host = ata_host_alloc_pinfo(dev, ppi, n_ports); + if (!host) { + rc = -ENOMEM; + goto err0; + } + + host->private_data = hpriv; + + if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss) + host->flags |= ATA_HOST_PARALLEL_SCAN; + + if (pi.flags & ATA_FLAG_EM) + ahci_reset_em(host); + + for (i = 0; i < host->n_ports; i++) { + struct ata_port *ap = host->ports[i]; + + ata_port_desc(ap, "mmio %pR", mem); + ata_port_desc(ap, "port 0x%x", 0x100 + ap->port_no * 0x80); + + /* set enclosure management message type */ + if (ap->flags & ATA_FLAG_EM) + ap->em_message_type = hpriv->em_msg_type; + + /* disabled/not-implemented port */ + if (!(hpriv->port_map & (1 << i))) + ap->ops = &ata_dummy_port_ops; + } + + rc = ahci_reset_controller(host); + if (rc) + goto err0; + + ahci_init_controller(host); + ahci_print_info(host, "platform"); + + rc = ata_host_activate(host, irq, ahci_interrupt, 0, + &ahci_highbank_platform_sht); + if (rc) + goto err0; + + return 0; +err0: + return rc; +} + +static int __devexit ahci_highbank_remove(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct ata_host *host = dev_get_drvdata(dev); + + ata_host_detach(host); + + return 0; +} + +#ifdef CONFIG_PM +static int ahci_highbank_suspend(struct device *dev) +{ + struct ata_host *host = dev_get_drvdata(dev); + struct ahci_host_priv *hpriv = host->private_data; + void __iomem *mmio = hpriv->mmio; + u32 ctl; + int rc; + + if (hpriv->flags & AHCI_HFLAG_NO_SUSPEND) { + dev_err(dev, "firmware update required for suspend/resume\n"); + return -EIO; + } + + /* + * AHCI spec rev1.1 section 8.3.3: + * Software must disable interrupts prior to requesting a + * transition of the HBA to D3 state. + */ + ctl = readl(mmio + HOST_CTL); + ctl &= ~HOST_IRQ_EN; + writel(ctl, mmio + HOST_CTL); + readl(mmio + HOST_CTL); /* flush */ + + rc = ata_host_suspend(host, PMSG_SUSPEND); + if (rc) + return rc; + + return 0; +} + +static int ahci_highbank_resume(struct device *dev) +{ + struct ata_host *host = dev_get_drvdata(dev); + int rc; + + if (dev->power.power_state.event == PM_EVENT_SUSPEND) { + rc = ahci_reset_controller(host); + if (rc) + return rc; + + ahci_init_controller(host); + } + + ata_host_resume(host); + + return 0; +} +#endif + +SIMPLE_DEV_PM_OPS(ahci_highbank_pm_ops, + ahci_highbank_suspend, ahci_highbank_resume); + +static struct platform_driver ahci_highbank_driver = { + .remove = __devexit_p(ahci_highbank_remove), + .driver = { + .name = "highbank-ahci", + .owner = THIS_MODULE, + .of_match_table = ahci_of_match, + .pm = &ahci_highbank_pm_ops, + }, + .probe = ahci_highbank_probe, +}; + +module_platform_driver(ahci_highbank_driver); + +MODULE_DESCRIPTION("Calxeda Highbank AHCI SATA platform driver"); +MODULE_AUTHOR("Mark Langsdorf "); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("sata:highbank"); --- linux-lowlatency-3.5.0.orig/drivers/base/Kconfig +++ linux-lowlatency-3.5.0/drivers/base/Kconfig @@ -281,4 +281,12 @@ endif +config SR_REPORT_TIME_LIMIT + int "Default low threshold" + depends on PM + default 100 + help + Print suspend/resume information for driver/device for time greater + then default msec, ie 100 msec. + endmenu --- linux-lowlatency-3.5.0.orig/drivers/base/core.c +++ linux-lowlatency-3.5.0/drivers/base/core.c @@ -1848,6 +1848,7 @@ struct va_format *vaf) { char dict[128]; + const char *level_extra = ""; size_t dictlen = 0; const char *subsys; @@ -1894,10 +1895,14 @@ "DEVICE=+%s:%s", subsys, dev_name(dev)); } skip: + if (level[3]) + level_extra = &level[3]; /* skip past "" */ + return printk_emit(0, level[1] - '0', dictlen ? dict : NULL, dictlen, - "%s %s: %pV", - dev_driver_string(dev), dev_name(dev), vaf); + "%s %s: %s%pV", + dev_driver_string(dev), dev_name(dev), + level_extra, vaf); } EXPORT_SYMBOL(__dev_printk); --- linux-lowlatency-3.5.0.orig/drivers/base/power/main.c +++ linux-lowlatency-3.5.0/drivers/base/power/main.c @@ -352,6 +352,24 @@ dev_name(dev), pm_verb(state.event), info, error); } +static void device_show_time(struct device *dev, ktime_t starttime, pm_message_t state, char *info) +{ + ktime_t calltime; + s64 usecs64; + int usecs; + + calltime = ktime_get(); + usecs64 = ktime_to_ns(ktime_sub(calltime, starttime)); + do_div(usecs64, NSEC_PER_USEC); + usecs = usecs64; + if (usecs == 0) + usecs = 1; + if ((usecs / USEC_PER_MSEC) > CONFIG_SR_REPORT_TIME_LIMIT) + pr_info("PM: %s%s%s of drv:%s dev:%s complete after %ld.%03ld msecs\n", info ?: "", info ? " " : "", pm_verb(state.event), + dev_driver_string(dev), dev_name(dev), usecs / USEC_PER_MSEC, + usecs % USEC_PER_MSEC); +} + static void dpm_show_time(ktime_t starttime, pm_message_t state, char *info) { ktime_t calltime; @@ -404,6 +422,7 @@ pm_callback_t callback = NULL; char *info = NULL; int error = 0; + ktime_t starttime = ktime_get(); TRACE_DEVICE(dev); TRACE_RESUME(0); @@ -411,6 +430,7 @@ if (dev->pm_domain) { info = "noirq power domain "; callback = pm_noirq_op(&dev->pm_domain->ops, state); + device_show_time(dev, starttime, state, "early"); } else if (dev->type && dev->type->pm) { info = "noirq type "; callback = pm_noirq_op(dev->type->pm, state); @@ -565,6 +585,7 @@ char *info = NULL; int error = 0; bool put = false; + ktime_t starttime = ktime_get(); TRACE_DEVICE(dev); TRACE_RESUME(0); @@ -625,6 +646,7 @@ callback = pm_op(dev->driver->pm, state); } + device_show_time(dev, starttime, state, NULL); End: error = dpm_run_callback(callback, dev, state, info); dev->power.is_suspended = false; @@ -832,6 +854,7 @@ { pm_callback_t callback = NULL; char *info = NULL; + ktime_t starttime = ktime_get(); if (dev->pm_domain) { info = "noirq power domain "; @@ -845,6 +868,7 @@ } else if (dev->bus && dev->bus->pm) { info = "noirq bus "; callback = pm_noirq_op(dev->bus->pm, state); + device_show_time(dev, starttime, state, "late"); } if (!callback && dev->driver && dev->driver->pm) { @@ -989,8 +1013,16 @@ int dpm_suspend_end(pm_message_t state) { int error = dpm_suspend_late(state); + if (error) + return error; - return error ? : dpm_suspend_noirq(state); + error = dpm_suspend_noirq(state); + if (error) { + dpm_resume_early(resume_event(state)); + return error; + } + + return 0; } EXPORT_SYMBOL_GPL(dpm_suspend_end); @@ -1027,6 +1059,7 @@ pm_callback_t callback = NULL; char *info = NULL; int error = 0; + ktime_t starttime = ktime_get(); dpm_wait_for_children(dev, async); @@ -1088,6 +1121,7 @@ error = dpm_run_callback(callback, dev, state, info); + device_show_time(dev, starttime, state, NULL); End: if (!error) { dev->power.is_suspended = true; --- linux-lowlatency-3.5.0.orig/drivers/base/power/qos.c +++ linux-lowlatency-3.5.0/drivers/base/power/qos.c @@ -451,7 +451,7 @@ if (ancestor) error = dev_pm_qos_add_request(ancestor, req, value); - if (error) + if (error < 0) req->dev = NULL; return error; --- linux-lowlatency-3.5.0.orig/drivers/base/power/runtime.c +++ linux-lowlatency-3.5.0/drivers/base/power/runtime.c @@ -147,6 +147,8 @@ || (dev->power.request_pending && dev->power.request == RPM_REQ_RESUME)) retval = -EAGAIN; + else if (__dev_pm_qos_read_value(dev) < 0) + retval = -EPERM; else if (dev->power.runtime_status == RPM_SUSPENDED) retval = 1; @@ -388,7 +390,6 @@ goto repeat; } - dev->power.deferred_resume = false; if (dev->power.no_callbacks) goto no_callback; /* Assume success. */ @@ -403,12 +404,6 @@ goto out; } - if (__dev_pm_qos_read_value(dev) < 0) { - /* Negative PM QoS constraint means "never suspend". */ - retval = -EPERM; - goto out; - } - __update_runtime_status(dev, RPM_SUSPENDING); if (dev->pm_domain) @@ -440,6 +435,7 @@ wake_up_all(&dev->power.wait_queue); if (dev->power.deferred_resume) { + dev->power.deferred_resume = false; rpm_resume(dev, 0); retval = -EAGAIN; goto out; @@ -584,6 +580,7 @@ || dev->parent->power.runtime_status == RPM_ACTIVE) { atomic_inc(&dev->parent->power.child_count); spin_unlock(&dev->parent->power.lock); + retval = 1; goto no_callback; /* Assume success. */ } spin_unlock(&dev->parent->power.lock); @@ -664,7 +661,7 @@ } wake_up_all(&dev->power.wait_queue); - if (!retval) + if (retval >= 0) rpm_idle(dev, RPM_ASYNC); out: --- linux-lowlatency-3.5.0.orig/drivers/bcma/main.c +++ linux-lowlatency-3.5.0/drivers/bcma/main.c @@ -131,9 +131,10 @@ static void bcma_unregister_cores(struct bcma_bus *bus) { - struct bcma_device *core; + struct bcma_device *core, *tmp; - list_for_each_entry(core, &bus->cores, list) { + list_for_each_entry_safe(core, tmp, &bus->cores, list) { + list_del(&core->list); if (core->dev_registered) device_unregister(&core->dev); } --- linux-lowlatency-3.5.0.orig/drivers/block/cciss_scsi.c +++ linux-lowlatency-3.5.0/drivers/block/cciss_scsi.c @@ -763,16 +763,7 @@ { case CMD_TARGET_STATUS: /* Pass it up to the upper layers... */ - if( ei->ScsiStatus) - { -#if 0 - printk(KERN_WARNING "cciss: cmd %p " - "has SCSI Status = %x\n", - c, ei->ScsiStatus); -#endif - cmd->result |= (ei->ScsiStatus << 1); - } - else { /* scsi status is zero??? How??? */ + if (!ei->ScsiStatus) { /* Ordinarily, this case should never happen, but there is a bug in some released firmware revisions that allows it to happen @@ -804,6 +795,7 @@ } break; case CMD_PROTOCOL_ERR: + cmd->result = DID_ERROR << 16; dev_warn(&h->pdev->dev, "%p has protocol error\n", c); break; --- linux-lowlatency-3.5.0.orig/drivers/block/floppy.c +++ linux-lowlatency-3.5.0/drivers/block/floppy.c @@ -4138,6 +4138,10 @@ raw_cmd = NULL; + floppy_wq = alloc_ordered_workqueue("floppy", 0); + if (!floppy_wq) + return -ENOMEM; + for (dr = 0; dr < N_DRIVE; dr++) { disks[dr] = alloc_disk(1); if (!disks[dr]) { @@ -4145,16 +4149,11 @@ goto out_put_disk; } - floppy_wq = alloc_ordered_workqueue("floppy", 0); - if (!floppy_wq) { - err = -ENOMEM; - goto out_put_disk; - } - disks[dr]->queue = blk_init_queue(do_fd_request, &floppy_lock); if (!disks[dr]->queue) { + put_disk(disks[dr]); err = -ENOMEM; - goto out_destroy_workq; + goto out_put_disk; } blk_queue_max_hw_sectors(disks[dr]->queue, 64); @@ -4294,7 +4293,7 @@ err = platform_device_register(&floppy_device[drive]); if (err) - goto out_release_dma; + goto out_remove_drives; err = device_create_file(&floppy_device[drive].dev, &dev_attr_cmos); @@ -4312,17 +4311,25 @@ out_unreg_platform_dev: platform_device_unregister(&floppy_device[drive]); +out_remove_drives: + while (drive--) { + if ((allowed_drive_mask & (1 << drive)) && + fdc_state[FDC(drive)].version != FDC_NONE) { + del_gendisk(disks[drive]); + device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos); + platform_device_unregister(&floppy_device[drive]); + } + } out_release_dma: if (atomic_read(&usage_count)) floppy_release_irq_and_dma(); out_unreg_region: blk_unregister_region(MKDEV(FLOPPY_MAJOR, 0), 256); platform_driver_unregister(&floppy_driver); -out_destroy_workq: - destroy_workqueue(floppy_wq); out_unreg_blkdev: unregister_blkdev(FLOPPY_MAJOR, "fd"); out_put_disk: + destroy_workqueue(floppy_wq); while (dr--) { del_timer_sync(&motor_off_timer[dr]); if (disks[dr]->queue) { @@ -4531,6 +4538,8 @@ unregister_blkdev(FLOPPY_MAJOR, "fd"); platform_driver_unregister(&floppy_driver); + destroy_workqueue(floppy_wq); + for (drive = 0; drive < N_DRIVE; drive++) { del_timer_sync(&motor_off_timer[drive]); @@ -4555,7 +4564,6 @@ cancel_delayed_work_sync(&fd_timeout); cancel_delayed_work_sync(&fd_timer); - destroy_workqueue(floppy_wq); if (atomic_read(&usage_count)) floppy_release_irq_and_dma(); --- linux-lowlatency-3.5.0.orig/drivers/block/nbd.c +++ linux-lowlatency-3.5.0/drivers/block/nbd.c @@ -57,7 +57,7 @@ static unsigned int nbds_max = 16; static struct nbd_device *nbd_dev; -static int max_part; +static int max_part = 15; /* * Use just one lock (or at most 1 per NIC). Two arguments for this: @@ -445,6 +445,14 @@ req->errors++; nbd_end_request(req); } + + while (!list_empty(&nbd->waiting_queue)) { + req = list_entry(nbd->waiting_queue.next, struct request, + queuelist); + list_del_init(&req->queuelist); + req->errors++; + nbd_end_request(req); + } } @@ -594,6 +602,7 @@ nbd->file = NULL; nbd_clear_que(nbd); BUG_ON(!list_empty(&nbd->queue_head)); + BUG_ON(!list_empty(&nbd->waiting_queue)); if (file) fput(file); return 0; --- linux-lowlatency-3.5.0.orig/drivers/block/virtio_blk.c +++ linux-lowlatency-3.5.0/drivers/block/virtio_blk.c @@ -21,8 +21,6 @@ struct virtio_blk { - spinlock_t lock; - struct virtio_device *vdev; struct virtqueue *vq; @@ -65,7 +63,7 @@ unsigned int len; unsigned long flags; - spin_lock_irqsave(&vblk->lock, flags); + spin_lock_irqsave(vblk->disk->queue->queue_lock, flags); while ((vbr = virtqueue_get_buf(vblk->vq, &len)) != NULL) { int error; @@ -99,7 +97,7 @@ } /* In case queue is stopped waiting for more buffers. */ blk_start_queue(vblk->disk->queue); - spin_unlock_irqrestore(&vblk->lock, flags); + spin_unlock_irqrestore(vblk->disk->queue->queue_lock, flags); } static bool do_req(struct request_queue *q, struct virtio_blk *vblk, @@ -431,7 +429,6 @@ goto out_free_index; } - spin_lock_init(&vblk->lock); vblk->vdev = vdev; vblk->sg_elems = sg_elems; sg_init_table(vblk->sg, vblk->sg_elems); @@ -456,7 +453,7 @@ goto out_mempool; } - q = vblk->disk->queue = blk_init_queue(do_virtblk_request, &vblk->lock); + q = vblk->disk->queue = blk_init_queue(do_virtblk_request, NULL); if (!q) { err = -ENOMEM; goto out_put_disk; @@ -576,30 +573,20 @@ { struct virtio_blk *vblk = vdev->priv; int index = vblk->index; - struct virtblk_req *vbr; - unsigned long flags; /* Prevent config work handler from accessing the device. */ mutex_lock(&vblk->config_lock); vblk->config_enable = false; mutex_unlock(&vblk->config_lock); + del_gendisk(vblk->disk); + blk_cleanup_queue(vblk->disk->queue); + /* Stop all the virtqueues. */ vdev->config->reset(vdev); flush_work(&vblk->config_work); - del_gendisk(vblk->disk); - - /* Abort requests dispatched to driver. */ - spin_lock_irqsave(&vblk->lock, flags); - while ((vbr = virtqueue_detach_unused_buf(vblk->vq))) { - __blk_end_request_all(vbr->req, -EIO); - mempool_free(vbr, vblk->pool); - } - spin_unlock_irqrestore(&vblk->lock, flags); - - blk_cleanup_queue(vblk->disk->queue); put_disk(vblk->disk); mempool_destroy(vblk->pool); vdev->config->del_vqs(vdev); --- linux-lowlatency-3.5.0.orig/drivers/block/aoe/aoecmd.c +++ linux-lowlatency-3.5.0/drivers/block/aoe/aoecmd.c @@ -35,6 +35,7 @@ skb_reset_mac_header(skb); skb_reset_network_header(skb); skb->protocol = __constant_htons(ETH_P_AOE); + skb_checksum_none_assert(skb); } return skb; } --- linux-lowlatency-3.5.0.orig/drivers/block/xen-blkback/blkback.c +++ linux-lowlatency-3.5.0/drivers/block/xen-blkback/blkback.c @@ -337,7 +337,7 @@ invcount++; } - ret = gnttab_unmap_refs(unmap, pages, invcount, false); + ret = gnttab_unmap_refs(unmap, NULL, pages, invcount); BUG_ON(ret); } --- linux-lowlatency-3.5.0.orig/drivers/bluetooth/ath3k.c +++ linux-lowlatency-3.5.0/drivers/bluetooth/ath3k.c @@ -67,6 +67,7 @@ { USB_DEVICE(0x13d3, 0x3304) }, { USB_DEVICE(0x0930, 0x0215) }, { USB_DEVICE(0x0489, 0xE03D) }, + { USB_DEVICE(0x0489, 0xE027) }, /* Atheros AR9285 Malbec with sflash firmware */ { USB_DEVICE(0x03F0, 0x311D) }, @@ -79,12 +80,14 @@ { USB_DEVICE(0x13d3, 0x3362) }, { USB_DEVICE(0x0CF3, 0xE004) }, { USB_DEVICE(0x0930, 0x0219) }, + { USB_DEVICE(0x0489, 0xe057) }, /* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xE02C) }, /* Atheros AR5BBU22 with sflash firmware */ { USB_DEVICE(0x0489, 0xE03C) }, + { USB_DEVICE(0x0489, 0xE036) }, { } /* Terminating entry */ }; @@ -104,9 +107,11 @@ { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, /* Atheros AR5BBU22 with sflash firmware */ { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xE036), .driver_info = BTUSB_ATH3012 }, { } /* Terminating entry */ }; --- linux-lowlatency-3.5.0.orig/drivers/bluetooth/btusb.c +++ linux-lowlatency-3.5.0/drivers/bluetooth/btusb.c @@ -31,6 +31,8 @@ #include #include +#include +#include #include #include @@ -55,11 +57,15 @@ #define BTUSB_BROKEN_ISOC 0x20 #define BTUSB_WRONG_SCO_MTU 0x40 #define BTUSB_ATH3012 0x80 +#define BTUSB_BCM_PATCHRAM 0x100 static struct usb_device_id btusb_table[] = { /* Generic Bluetooth USB device */ { USB_DEVICE_INFO(0xe0, 0x01, 0x01) }, + /* Apple-specific (Broadcom) devices */ + { USB_VENDOR_AND_INTERFACE_INFO(0x05ac, 0xff, 0x01, 0x01) }, + /* Broadcom SoftSailing reporting vendor specific */ { USB_DEVICE(0x0a5c, 0x21e1) }, @@ -102,14 +108,15 @@ /* Broadcom BCM20702A0 */ { USB_DEVICE(0x0489, 0xe042) }, - { USB_DEVICE(0x0a5c, 0x21e3) }, - { USB_DEVICE(0x0a5c, 0x21e6) }, - { USB_DEVICE(0x0a5c, 0x21e8) }, - { USB_DEVICE(0x0a5c, 0x21f3) }, - { USB_DEVICE(0x413c, 0x8197) }, + { USB_DEVICE(0x13d3, 0x3388), .driver_info = BTUSB_BCM_PATCHRAM }, + { USB_DEVICE(0x13d3, 0x3389), .driver_info = BTUSB_BCM_PATCHRAM }, + { USB_DEVICE(0x413c, 0x8197), .driver_info = BTUSB_BCM_PATCHRAM }, /* Foxconn - Hon Hai */ - { USB_DEVICE(0x0489, 0xe033) }, + { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, + + /*Broadcom devices with vendor specific id */ + { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, { } /* Terminating entry */ }; @@ -129,6 +136,7 @@ { USB_DEVICE(0x13d3, 0x3304), .driver_info = BTUSB_IGNORE }, { USB_DEVICE(0x0930, 0x0215), .driver_info = BTUSB_IGNORE }, { USB_DEVICE(0x0489, 0xe03d), .driver_info = BTUSB_IGNORE }, + { USB_DEVICE(0x0489, 0xe027), .driver_info = BTUSB_IGNORE }, /* Atheros AR9285 Malbec with sflash firmware */ { USB_DEVICE(0x03f0, 0x311d), .driver_info = BTUSB_IGNORE }, @@ -141,12 +149,14 @@ { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, /* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, /* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe036), .driver_info = BTUSB_ATH3012 }, /* Broadcom BCM2035 */ { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU }, @@ -208,12 +218,14 @@ #define BTUSB_ISOC_RUNNING 2 #define BTUSB_SUSPENDING 3 #define BTUSB_DID_ISO_RESUME 4 +#define BTUSB_FIRMWARE_DONE 5 struct btusb_data { struct hci_dev *hdev; struct usb_device *udev; struct usb_interface *intf; struct usb_interface *isoc; + const struct usb_device_id *id; spinlock_t lock; @@ -918,6 +930,70 @@ usb_autopm_put_interface(data->intf); } +#define PATCHRAM_TIMEOUT 1000 +#define PATCHRAM_NAME_LEN 20 + +static void btusb_load_firmware(struct hci_dev *hdev) +{ + struct btusb_data *data = hci_get_drvdata(hdev); + struct usb_device *udev = data->udev; + const struct usb_device_id *id = data->id; + size_t pos = 0; + int err = 0; + char filename[PATCHRAM_NAME_LEN]; + const struct firmware *fw; + + unsigned char reset_cmd[] = { 0x03, 0x0c, 0x00 }; + unsigned char download_cmd[] = { 0x2e, 0xfc, 0x00 }; + + if (!(id->driver_info & BTUSB_BCM_PATCHRAM)) + return; + if (test_and_set_bit(BTUSB_FIRMWARE_DONE, &data->flags)) + return; + + snprintf(filename, PATCHRAM_NAME_LEN, "fw-%04x_%04x.hcd", + le16_to_cpu(udev->descriptor.idVendor), + le16_to_cpu(udev->descriptor.idProduct)); + if (request_firmware(&fw, (const char *) filename, &udev->dev) < 0) { + BT_INFO("can't load firmware, may not work correctly"); + return; + } + + if (usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0, USB_TYPE_CLASS, 0, 0, + reset_cmd, sizeof(reset_cmd), PATCHRAM_TIMEOUT) < 0) { + err = -1; + goto out; + } + msleep(300); + + if (usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0, USB_TYPE_CLASS, 0, 0, + download_cmd, sizeof(download_cmd), PATCHRAM_TIMEOUT) < 0) { + err = -1; + goto out; + } + msleep(300); + + while (pos < fw->size) { + size_t len; + len = fw->data[pos + 2] + 3; + if ((pos + len > fw->size) || + (usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0, + USB_TYPE_CLASS, 0, 0, (void *)fw->data + pos, len, + PATCHRAM_TIMEOUT) < 0)) { + err = -1; + goto out; + } + pos += len; + } + + err = (usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0, USB_TYPE_CLASS, 0, 0, + reset_cmd, sizeof(reset_cmd), PATCHRAM_TIMEOUT) < 0); +out: + if (err) + BT_INFO("fail to load firmware, may not work correctly"); + release_firmware(fw); +} + static int btusb_probe(struct usb_interface *intf, const struct usb_device_id *id) { @@ -1005,6 +1081,8 @@ init_usb_anchor(&data->isoc_anchor); init_usb_anchor(&data->deferred); + data->id = id; + hdev = hci_alloc_dev(); if (!hdev) { kfree(data); @@ -1023,6 +1101,7 @@ hdev->flush = btusb_flush; hdev->send = btusb_send_frame; hdev->notify = btusb_notify; + hdev->load_firmware = btusb_load_firmware; /* Interface numbers are hardcoded in the specification */ data->isoc = usb_ifnum_to_if(data->udev, 1); --- linux-lowlatency-3.5.0.orig/drivers/cdrom/cdrom.c +++ linux-lowlatency-3.5.0/drivers/cdrom/cdrom.c @@ -289,7 +289,7 @@ /* default compatibility mode */ static bool autoclose=1; static bool autoeject; -static bool lockdoor = 1; +static bool lockdoor = 0; /* will we ever get to use this... sigh. */ static bool check_media_type; /* automatically restart mrw format */ --- linux-lowlatency-3.5.0.orig/drivers/char/mspec.c +++ linux-lowlatency-3.5.0/drivers/char/mspec.c @@ -283,7 +283,7 @@ vdata->flags = flags; vdata->type = type; spin_lock_init(&vdata->lock); - vdata->refcnt = ATOMIC_INIT(1); + atomic_set(&vdata->refcnt, 1); vma->vm_private_data = vdata; vma->vm_flags |= (VM_IO | VM_RESERVED | VM_PFNMAP | VM_DONTEXPAND); --- linux-lowlatency-3.5.0.orig/drivers/char/random.c +++ linux-lowlatency-3.5.0/drivers/char/random.c @@ -125,21 +125,26 @@ * The current exported interfaces for gathering environmental noise * from the devices are: * + * void add_device_randomness(const void *buf, unsigned int size); * void add_input_randomness(unsigned int type, unsigned int code, * unsigned int value); - * void add_interrupt_randomness(int irq); + * void add_interrupt_randomness(int irq, int irq_flags); * void add_disk_randomness(struct gendisk *disk); * + * add_device_randomness() is for adding data to the random pool that + * is likely to differ between two devices (or possibly even per boot). + * This would be things like MAC addresses or serial numbers, or the + * read-out of the RTC. This does *not* add any actual entropy to the + * pool, but it initializes the pool to different values for devices + * that might otherwise be identical and have very little entropy + * available to them (particularly common in the embedded world). + * * add_input_randomness() uses the input layer interrupt timing, as well as * the event type information from the hardware. * - * add_interrupt_randomness() uses the inter-interrupt timing as random - * inputs to the entropy pool. Note that not all interrupts are good - * sources of randomness! For example, the timer interrupts is not a - * good choice, because the periodicity of the interrupts is too - * regular, and hence predictable to an attacker. Network Interface - * Controller interrupts are a better measure, since the timing of the - * NIC interrupts are more unpredictable. + * add_interrupt_randomness() uses the interrupt timing as random + * inputs to the entropy pool. Using the cycle counters and the irq source + * as inputs, it feeds the randomness roughly once a second. * * add_disk_randomness() uses what amounts to the seek time of block * layer request events, on a per-disk_devt basis, as input to the @@ -248,6 +253,8 @@ #include #include #include +#include +#include #ifdef CONFIG_GENERIC_HARDIRQS # include @@ -256,8 +263,12 @@ #include #include #include +#include #include +#define CREATE_TRACE_POINTS +#include + /* * Configuration information */ @@ -266,6 +277,8 @@ #define SEC_XFER_SIZE 512 #define EXTRACT_SIZE 10 +#define LONGS(x) (((x) + sizeof(unsigned long) - 1)/sizeof(unsigned long)) + /* * The minimum number of bits of entropy before we wake up a read on * /dev/random. Should be enough to do a significant reseed. @@ -420,8 +433,10 @@ /* read-write data: */ spinlock_t lock; unsigned add_ptr; + unsigned input_rotate; int entropy_count; - int input_rotate; + int entropy_total; + unsigned int initialized:1; __u8 last_data[EXTRACT_SIZE]; }; @@ -454,6 +469,10 @@ .pool = nonblocking_pool_data }; +static __u32 const twist_table[8] = { + 0x00000000, 0x3b6e20c8, 0x76dc4190, 0x4db26158, + 0xedb88320, 0xd6d6a3e8, 0x9b64c2b0, 0xa00ae278 }; + /* * This function adds bytes into the entropy "pool". It does not * update the entropy estimate. The caller should call @@ -464,29 +483,24 @@ * it's cheap to do so and helps slightly in the expected case where * the entropy is concentrated in the low-order bits. */ -static void mix_pool_bytes_extract(struct entropy_store *r, const void *in, - int nbytes, __u8 out[64]) +static void _mix_pool_bytes(struct entropy_store *r, const void *in, + int nbytes, __u8 out[64]) { - static __u32 const twist_table[8] = { - 0x00000000, 0x3b6e20c8, 0x76dc4190, 0x4db26158, - 0xedb88320, 0xd6d6a3e8, 0x9b64c2b0, 0xa00ae278 }; unsigned long i, j, tap1, tap2, tap3, tap4, tap5; int input_rotate; int wordmask = r->poolinfo->poolwords - 1; const char *bytes = in; __u32 w; - unsigned long flags; - /* Taps are constant, so we can load them without holding r->lock. */ tap1 = r->poolinfo->tap1; tap2 = r->poolinfo->tap2; tap3 = r->poolinfo->tap3; tap4 = r->poolinfo->tap4; tap5 = r->poolinfo->tap5; - spin_lock_irqsave(&r->lock, flags); - input_rotate = r->input_rotate; - i = r->add_ptr; + smp_rmb(); + input_rotate = ACCESS_ONCE(r->input_rotate); + i = ACCESS_ONCE(r->add_ptr); /* mix one byte at a time to simplify size handling and churn faster */ while (nbytes--) { @@ -513,19 +527,61 @@ input_rotate += i ? 7 : 14; } - r->input_rotate = input_rotate; - r->add_ptr = i; + ACCESS_ONCE(r->input_rotate) = input_rotate; + ACCESS_ONCE(r->add_ptr) = i; + smp_wmb(); if (out) for (j = 0; j < 16; j++) ((__u32 *)out)[j] = r->pool[(i - j) & wordmask]; +} + +static void __mix_pool_bytes(struct entropy_store *r, const void *in, + int nbytes, __u8 out[64]) +{ + trace_mix_pool_bytes_nolock(r->name, nbytes, _RET_IP_); + _mix_pool_bytes(r, in, nbytes, out); +} + +static void mix_pool_bytes(struct entropy_store *r, const void *in, + int nbytes, __u8 out[64]) +{ + unsigned long flags; + trace_mix_pool_bytes(r->name, nbytes, _RET_IP_); + spin_lock_irqsave(&r->lock, flags); + _mix_pool_bytes(r, in, nbytes, out); spin_unlock_irqrestore(&r->lock, flags); } -static void mix_pool_bytes(struct entropy_store *r, const void *in, int bytes) +struct fast_pool { + __u32 pool[4]; + unsigned long last; + unsigned short count; + unsigned char rotate; + unsigned char last_timer_intr; +}; + +/* + * This is a fast mixing routine used by the interrupt randomness + * collector. It's hardcoded for an 128 bit pool and assumes that any + * locks that might be needed are taken by the caller. + */ +static void fast_mix(struct fast_pool *f, const void *in, int nbytes) { - mix_pool_bytes_extract(r, in, bytes, NULL); + const char *bytes = in; + __u32 w; + unsigned i = f->count; + unsigned input_rotate = f->rotate; + + while (nbytes--) { + w = rol32(*bytes++, input_rotate & 31) ^ f->pool[i & 3] ^ + f->pool[(i + 1) & 3]; + f->pool[i & 3] = (w >> 3) ^ twist_table[w & 7]; + input_rotate += (i++ & 3) ? 7 : 14; + } + f->count = i; + f->rotate = input_rotate; } /* @@ -533,30 +589,38 @@ */ static void credit_entropy_bits(struct entropy_store *r, int nbits) { - unsigned long flags; - int entropy_count; + int entropy_count, orig; if (!nbits) return; - spin_lock_irqsave(&r->lock, flags); - DEBUG_ENT("added %d entropy credits to %s\n", nbits, r->name); - entropy_count = r->entropy_count; +retry: + entropy_count = orig = ACCESS_ONCE(r->entropy_count); entropy_count += nbits; + if (entropy_count < 0) { DEBUG_ENT("negative entropy/overflow\n"); entropy_count = 0; } else if (entropy_count > r->poolinfo->POOLBITS) entropy_count = r->poolinfo->POOLBITS; - r->entropy_count = entropy_count; + if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig) + goto retry; + + if (!r->initialized && nbits > 0) { + r->entropy_total += nbits; + if (r->entropy_total > 128) + r->initialized = 1; + } + + trace_credit_entropy_bits(r->name, nbits, entropy_count, + r->entropy_total, _RET_IP_); /* should we wake readers? */ if (r == &input_pool && entropy_count >= random_read_wakeup_thresh) { wake_up_interruptible(&random_read_wait); kill_fasync(&fasync, SIGIO, POLL_IN); } - spin_unlock_irqrestore(&r->lock, flags); } /********************************************************************* @@ -572,42 +636,24 @@ unsigned dont_count_entropy:1; }; -#ifndef CONFIG_GENERIC_HARDIRQS - -static struct timer_rand_state *irq_timer_state[NR_IRQS]; - -static struct timer_rand_state *get_timer_rand_state(unsigned int irq) -{ - return irq_timer_state[irq]; -} - -static void set_timer_rand_state(unsigned int irq, - struct timer_rand_state *state) -{ - irq_timer_state[irq] = state; -} - -#else - -static struct timer_rand_state *get_timer_rand_state(unsigned int irq) -{ - struct irq_desc *desc; - - desc = irq_to_desc(irq); - - return desc->timer_rand_state; -} - -static void set_timer_rand_state(unsigned int irq, - struct timer_rand_state *state) +/* + * Add device- or boot-specific data to the input and nonblocking + * pools to help initialize them to unique values. + * + * None of this adds any entropy, it is meant to avoid the + * problem of the nonblocking pool having similar initial state + * across largely identical devices. + */ +void add_device_randomness(const void *buf, unsigned int size) { - struct irq_desc *desc; + unsigned long time = get_cycles() ^ jiffies; - desc = irq_to_desc(irq); - - desc->timer_rand_state = state; + mix_pool_bytes(&input_pool, buf, size, NULL); + mix_pool_bytes(&input_pool, &time, sizeof(time), NULL); + mix_pool_bytes(&nonblocking_pool, buf, size, NULL); + mix_pool_bytes(&nonblocking_pool, &time, sizeof(time), NULL); } -#endif +EXPORT_SYMBOL(add_device_randomness); static struct timer_rand_state input_timer_state; @@ -637,13 +683,9 @@ goto out; sample.jiffies = jiffies; - - /* Use arch random value, fall back to cycles */ - if (!arch_get_random_int(&sample.cycles)) - sample.cycles = get_cycles(); - + sample.cycles = get_cycles(); sample.num = num; - mix_pool_bytes(&input_pool, &sample, sizeof(sample)); + mix_pool_bytes(&input_pool, &sample, sizeof(sample), NULL); /* * Calculate number of bits of randomness we probably added. @@ -700,17 +742,48 @@ } EXPORT_SYMBOL_GPL(add_input_randomness); -void add_interrupt_randomness(int irq) +static DEFINE_PER_CPU(struct fast_pool, irq_randomness); + +void add_interrupt_randomness(int irq, int irq_flags) { - struct timer_rand_state *state; + struct entropy_store *r; + struct fast_pool *fast_pool = &__get_cpu_var(irq_randomness); + struct pt_regs *regs = get_irq_regs(); + unsigned long now = jiffies; + __u32 input[4], cycles = get_cycles(); + + input[0] = cycles ^ jiffies; + input[1] = irq; + if (regs) { + __u64 ip = instruction_pointer(regs); + input[2] = ip; + input[3] = ip >> 32; + } - state = get_timer_rand_state(irq); + fast_mix(fast_pool, input, sizeof(input)); - if (state == NULL) + if ((fast_pool->count & 1023) && + !time_after(now, fast_pool->last + HZ)) return; - DEBUG_ENT("irq event %d\n", irq); - add_timer_randomness(state, 0x100 + irq); + fast_pool->last = now; + + r = nonblocking_pool.initialized ? &input_pool : &nonblocking_pool; + __mix_pool_bytes(r, &fast_pool->pool, sizeof(fast_pool->pool), NULL); + /* + * If we don't have a valid cycle counter, and we see + * back-to-back timer interrupts, then skip giving credit for + * any entropy. + */ + if (cycles == 0) { + if (irq_flags & __IRQF_TIMER) { + if (fast_pool->last_timer_intr) + return; + fast_pool->last_timer_intr = 1; + } else + fast_pool->last_timer_intr = 0; + } + credit_entropy_bits(r, 1); } #ifdef CONFIG_BLOCK @@ -742,7 +815,7 @@ */ static void xfer_secondary_pool(struct entropy_store *r, size_t nbytes) { - __u32 tmp[OUTPUT_POOL_WORDS]; + __u32 tmp[OUTPUT_POOL_WORDS]; if (r->pull && r->entropy_count < nbytes * 8 && r->entropy_count < r->poolinfo->POOLBITS) { @@ -761,7 +834,7 @@ bytes = extract_entropy(r->pull, tmp, bytes, random_read_wakeup_thresh / 8, rsvd); - mix_pool_bytes(r, tmp, bytes); + mix_pool_bytes(r, tmp, bytes, NULL); credit_entropy_bits(r, bytes*8); } } @@ -820,13 +893,19 @@ static void extract_buf(struct entropy_store *r, __u8 *out) { int i; - __u32 hash[5], workspace[SHA_WORKSPACE_WORDS]; + union { + __u32 w[5]; + unsigned long l[LONGS(EXTRACT_SIZE)]; + } hash; + __u32 workspace[SHA_WORKSPACE_WORDS]; __u8 extract[64]; + unsigned long flags; /* Generate a hash across the pool, 16 words (512 bits) at a time */ - sha_init(hash); + sha_init(hash.w); + spin_lock_irqsave(&r->lock, flags); for (i = 0; i < r->poolinfo->poolwords; i += 16) - sha_transform(hash, (__u8 *)(r->pool + i), workspace); + sha_transform(hash.w, (__u8 *)(r->pool + i), workspace); /* * We mix the hash back into the pool to prevent backtracking @@ -837,13 +916,14 @@ * brute-forcing the feedback as hard as brute-forcing the * hash. */ - mix_pool_bytes_extract(r, hash, sizeof(hash), extract); + __mix_pool_bytes(r, hash.w, sizeof(hash.w), extract); + spin_unlock_irqrestore(&r->lock, flags); /* * To avoid duplicates, we atomically extract a portion of the * pool while mixing, and hash one final time. */ - sha_transform(hash, extract, workspace); + sha_transform(hash.w, extract, workspace); memset(extract, 0, sizeof(extract)); memset(workspace, 0, sizeof(workspace)); @@ -852,20 +932,32 @@ * pattern, we fold it in half. Thus, we always feed back * twice as much data as we output. */ - hash[0] ^= hash[3]; - hash[1] ^= hash[4]; - hash[2] ^= rol32(hash[2], 16); - memcpy(out, hash, EXTRACT_SIZE); - memset(hash, 0, sizeof(hash)); + hash.w[0] ^= hash.w[3]; + hash.w[1] ^= hash.w[4]; + hash.w[2] ^= rol32(hash.w[2], 16); + + /* + * If we have a architectural hardware random number + * generator, mix that in, too. + */ + for (i = 0; i < LONGS(EXTRACT_SIZE); i++) { + unsigned long v; + if (!arch_get_random_long(&v)) + break; + hash.l[i] ^= v; + } + + memcpy(out, &hash, EXTRACT_SIZE); + memset(&hash, 0, sizeof(hash)); } static ssize_t extract_entropy(struct entropy_store *r, void *buf, - size_t nbytes, int min, int reserved) + size_t nbytes, int min, int reserved) { ssize_t ret = 0, i; __u8 tmp[EXTRACT_SIZE]; - unsigned long flags; + trace_extract_entropy(r->name, nbytes, r->entropy_count, _RET_IP_); xfer_secondary_pool(r, nbytes); nbytes = account(r, nbytes, min, reserved); @@ -873,6 +965,8 @@ extract_buf(r, tmp); if (fips_enabled) { + unsigned long flags; + spin_lock_irqsave(&r->lock, flags); if (!memcmp(tmp, r->last_data, EXTRACT_SIZE)) panic("Hardware RNG duplicated output!\n"); @@ -898,6 +992,7 @@ ssize_t ret = 0, i; __u8 tmp[EXTRACT_SIZE]; + trace_extract_entropy_user(r->name, nbytes, r->entropy_count, _RET_IP_); xfer_secondary_pool(r, nbytes); nbytes = account(r, nbytes, 0, 0); @@ -931,17 +1026,35 @@ /* * This function is the exported kernel interface. It returns some - * number of good random numbers, suitable for seeding TCP sequence - * numbers, etc. + * number of good random numbers, suitable for key generation, seeding + * TCP sequence numbers, etc. It does not use the hw random number + * generator, if available; use get_random_bytes_arch() for that. */ void get_random_bytes(void *buf, int nbytes) { + extract_entropy(&nonblocking_pool, buf, nbytes, 0, 0); +} +EXPORT_SYMBOL(get_random_bytes); + +/* + * This function will use the architecture-specific hardware random + * number generator if it is available. The arch-specific hw RNG will + * almost certainly be faster than what we can do in software, but it + * is impossible to verify that it is implemented securely (as + * opposed, to, say, the AES encryption of a sequence number using a + * key known by the NSA). So it's useful if we need the speed, but + * only if we're willing to trust the hardware manufacturer not to + * have put in a back door. + */ +void get_random_bytes_arch(void *buf, int nbytes) +{ char *p = buf; + trace_get_random_bytes(nbytes, _RET_IP_); while (nbytes) { unsigned long v; int chunk = min(nbytes, (int)sizeof(unsigned long)); - + if (!arch_get_random_long(&v)) break; @@ -950,9 +1063,11 @@ nbytes -= chunk; } - extract_entropy(&nonblocking_pool, p, nbytes, 0, 0); + if (nbytes) + extract_entropy(&nonblocking_pool, p, nbytes, 0, 0); } -EXPORT_SYMBOL(get_random_bytes); +EXPORT_SYMBOL(get_random_bytes_arch); + /* * init_std_data - initialize pool with system data @@ -966,23 +1081,30 @@ static void init_std_data(struct entropy_store *r) { int i; - ktime_t now; - unsigned long flags; + ktime_t now = ktime_get_real(); + unsigned long rv; - spin_lock_irqsave(&r->lock, flags); r->entropy_count = 0; - spin_unlock_irqrestore(&r->lock, flags); - - now = ktime_get_real(); - mix_pool_bytes(r, &now, sizeof(now)); - for (i = r->poolinfo->POOLBYTES; i > 0; i -= sizeof flags) { - if (!arch_get_random_long(&flags)) + r->entropy_total = 0; + mix_pool_bytes(r, &now, sizeof(now), NULL); + for (i = r->poolinfo->POOLBYTES; i > 0; i -= sizeof(rv)) { + if (!arch_get_random_long(&rv)) break; - mix_pool_bytes(r, &flags, sizeof(flags)); + mix_pool_bytes(r, &rv, sizeof(rv), NULL); } - mix_pool_bytes(r, utsname(), sizeof(*(utsname()))); + mix_pool_bytes(r, utsname(), sizeof(*(utsname())), NULL); } +/* + * Note that setup_arch() may call add_device_randomness() + * long before we get here. This allows seeding of the pools + * with some platform dependent data very early in the boot + * process. But it limits our options here. We must use + * statically allocated structures that already have all + * initializations complete at compile time. We should also + * take care not to overwrite the precious per platform data + * we were given. + */ static int rand_initialize(void) { init_std_data(&input_pool); @@ -992,24 +1114,6 @@ } module_init(rand_initialize); -void rand_initialize_irq(int irq) -{ - struct timer_rand_state *state; - - state = get_timer_rand_state(irq); - - if (state) - return; - - /* - * If kzalloc returns null, we just won't use that entropy - * source. - */ - state = kzalloc(sizeof(struct timer_rand_state), GFP_KERNEL); - if (state) - set_timer_rand_state(irq, state); -} - #ifdef CONFIG_BLOCK void rand_initialize_disk(struct gendisk *disk) { @@ -1117,7 +1221,7 @@ count -= bytes; p += bytes; - mix_pool_bytes(r, buf, bytes); + mix_pool_bytes(r, buf, bytes, NULL); cond_resched(); } --- linux-lowlatency-3.5.0.orig/drivers/char/ttyprintk.c +++ linux-lowlatency-3.5.0/drivers/char/ttyprintk.c @@ -67,7 +67,7 @@ tmp[tpk_curr + 1] = '\0'; printk(KERN_INFO "%s%s", tpk_tag, tmp); tpk_curr = 0; - if (buf[i + 1] == '\n') + if ((i + 1) < count && buf[i + 1] == '\n') i++; break; case '\n': --- linux-lowlatency-3.5.0.orig/drivers/char/agp/intel-agp.c +++ linux-lowlatency-3.5.0/drivers/char/agp/intel-agp.c @@ -12,6 +12,7 @@ #include #include "agp.h" #include "intel-agp.h" +#include int intel_agp_enabled; EXPORT_SYMBOL(intel_agp_enabled); @@ -747,7 +748,7 @@ bridge->capndx = cap_ptr; - if (intel_gmch_probe(pdev, bridge)) + if (intel_gmch_probe(pdev, NULL, bridge)) goto found_gmch; for (i = 0; intel_agp_chipsets[i].name != NULL; i++) { @@ -824,7 +825,7 @@ agp_remove_bridge(bridge); - intel_gmch_remove(pdev); + intel_gmch_remove(); agp_put_bridge(bridge); } @@ -902,17 +903,6 @@ ID(PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB), ID(PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB), ID(PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB), - ID(PCI_DEVICE_ID_INTEL_SANDYBRIDGE_HB), - ID(PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_HB), - ID(PCI_DEVICE_ID_INTEL_SANDYBRIDGE_S_HB), - ID(PCI_DEVICE_ID_INTEL_IVYBRIDGE_HB), - ID(PCI_DEVICE_ID_INTEL_IVYBRIDGE_M_HB), - ID(PCI_DEVICE_ID_INTEL_IVYBRIDGE_S_HB), - ID(PCI_DEVICE_ID_INTEL_VALLEYVIEW_HB), - ID(PCI_DEVICE_ID_INTEL_HASWELL_HB), - ID(PCI_DEVICE_ID_INTEL_HASWELL_M_HB), - ID(PCI_DEVICE_ID_INTEL_HASWELL_S_HB), - ID(PCI_DEVICE_ID_INTEL_HASWELL_E_HB), { } }; --- linux-lowlatency-3.5.0.orig/drivers/char/agp/intel-agp.h +++ linux-lowlatency-3.5.0/drivers/char/agp/intel-agp.h @@ -64,6 +64,7 @@ #define I830_PTE_SYSTEM_CACHED 0x00000006 /* GT PTE cache control fields */ #define GEN6_PTE_UNCACHED 0x00000002 +#define HSW_PTE_UNCACHED 0x00000000 #define GEN6_PTE_LLC 0x00000004 #define GEN6_PTE_LLC_MLC 0x00000006 #define GEN6_PTE_GFDT 0x00000008 @@ -239,19 +240,45 @@ #define PCI_DEVICE_ID_INTEL_IVYBRIDGE_S_GT2_IG 0x016A #define PCI_DEVICE_ID_INTEL_VALLEYVIEW_HB 0x0F00 /* VLV1 */ #define PCI_DEVICE_ID_INTEL_VALLEYVIEW_IG 0x0F30 -#define PCI_DEVICE_ID_INTEL_HASWELL_HB 0x0400 /* Desktop */ +#define PCI_DEVICE_ID_INTEL_HASWELL_HB 0x0400 /* Desktop */ #define PCI_DEVICE_ID_INTEL_HASWELL_D_GT1_IG 0x0402 #define PCI_DEVICE_ID_INTEL_HASWELL_D_GT2_IG 0x0412 -#define PCI_DEVICE_ID_INTEL_HASWELL_M_HB 0x0404 /* Mobile */ +#define PCI_DEVICE_ID_INTEL_HASWELL_D_GT2_PLUS_IG 0x0422 +#define PCI_DEVICE_ID_INTEL_HASWELL_M_HB 0x0404 /* Mobile */ #define PCI_DEVICE_ID_INTEL_HASWELL_M_GT1_IG 0x0406 #define PCI_DEVICE_ID_INTEL_HASWELL_M_GT2_IG 0x0416 -#define PCI_DEVICE_ID_INTEL_HASWELL_S_HB 0x0408 /* Server */ +#define PCI_DEVICE_ID_INTEL_HASWELL_M_GT2_PLUS_IG 0x0426 +#define PCI_DEVICE_ID_INTEL_HASWELL_S_HB 0x0408 /* Server */ #define PCI_DEVICE_ID_INTEL_HASWELL_S_GT1_IG 0x040a #define PCI_DEVICE_ID_INTEL_HASWELL_S_GT2_IG 0x041a -#define PCI_DEVICE_ID_INTEL_HASWELL_SDV 0x0c16 /* SDV */ -#define PCI_DEVICE_ID_INTEL_HASWELL_E_HB 0x0c04 +#define PCI_DEVICE_ID_INTEL_HASWELL_S_GT2_PLUS_IG 0x042a +#define PCI_DEVICE_ID_INTEL_HASWELL_E_HB 0x0c04 +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_D_GT1_IG 0x0C02 +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_D_GT2_IG 0x0C12 +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_D_GT2_PLUS_IG 0x0C22 +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_M_GT1_IG 0x0C06 +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_M_GT2_IG 0x0C16 +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_M_GT2_PLUS_IG 0x0C26 +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_S_GT1_IG 0x0C0A +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_S_GT2_IG 0x0C1A +#define PCI_DEVICE_ID_INTEL_HASWELL_SDV_S_GT2_PLUS_IG 0x0C2A +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_D_GT1_IG 0x0A02 +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_D_GT2_IG 0x0A12 +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_D_GT2_PLUS_IG 0x0A22 +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_M_GT1_IG 0x0A06 +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_M_GT2_IG 0x0A16 +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_M_GT2_PLUS_IG 0x0A26 +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_S_GT1_IG 0x0A0A +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_S_GT2_IG 0x0A1A +#define PCI_DEVICE_ID_INTEL_HASWELL_ULT_S_GT2_PLUS_IG 0x0A2A +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_D_GT1_IG 0x0D12 +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_D_GT2_IG 0x0D22 +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_D_GT2_PLUS_IG 0x0D32 +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_M_GT1_IG 0x0D16 +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_M_GT2_IG 0x0D26 +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_M_GT2_PLUS_IG 0x0D36 +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_S_GT1_IG 0x0D1A +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_S_GT2_IG 0x0D2A +#define PCI_DEVICE_ID_INTEL_HASWELL_CRW_S_GT2_PLUS_IG 0x0D3A -int intel_gmch_probe(struct pci_dev *pdev, - struct agp_bridge_data *bridge); -void intel_gmch_remove(struct pci_dev *pdev); #endif --- linux-lowlatency-3.5.0.orig/drivers/char/agp/intel-gtt.c +++ linux-lowlatency-3.5.0/drivers/char/agp/intel-gtt.c @@ -66,7 +66,6 @@ struct pci_dev *bridge_dev; u8 __iomem *registers; phys_addr_t gtt_bus_addr; - phys_addr_t gma_bus_addr; u32 PGETBL_save; u32 __iomem *gtt; /* I915G */ bool clear_fake_agp; /* on first access via agp, fill with scratch */ @@ -76,6 +75,7 @@ struct resource ifp_resource; int resource_valid; struct page *scratch_page; + int refcount; } intel_private; #define INTEL_GTT_GEN intel_private.driver->gen @@ -648,6 +648,7 @@ static int intel_gtt_init(void) { + u32 gma_addr; u32 gtt_map_size; int ret; @@ -694,6 +695,15 @@ return ret; } + if (INTEL_GTT_GEN <= 2) + pci_read_config_dword(intel_private.pcidev, I810_GMADDR, + &gma_addr); + else + pci_read_config_dword(intel_private.pcidev, I915_GMADDR, + &gma_addr); + + intel_private.base.gma_bus_addr = (gma_addr & PCI_BASE_ADDRESS_MEM_MASK); + return 0; } @@ -767,20 +777,10 @@ writel(addr | pte_flags, intel_private.gtt + entry); } -static bool intel_enable_gtt(void) +bool intel_enable_gtt(void) { - u32 gma_addr; u8 __iomem *reg; - if (INTEL_GTT_GEN <= 2) - pci_read_config_dword(intel_private.pcidev, I810_GMADDR, - &gma_addr); - else - pci_read_config_dword(intel_private.pcidev, I915_GMADDR, - &gma_addr); - - intel_private.gma_bus_addr = (gma_addr & PCI_BASE_ADDRESS_MEM_MASK); - if (INTEL_GTT_GEN >= 6) return true; @@ -823,6 +823,7 @@ return true; } +EXPORT_SYMBOL(intel_enable_gtt); static int i830_setup(void) { @@ -860,7 +861,7 @@ return -EIO; intel_private.clear_fake_agp = true; - agp_bridge->gart_bus_addr = intel_private.gma_bus_addr; + agp_bridge->gart_bus_addr = intel_private.base.gma_bus_addr; return 0; } @@ -904,6 +905,30 @@ } EXPORT_SYMBOL(intel_gtt_insert_sg_entries); +void intel_gtt_insert_sg_entries_hsw(struct sg_table *st, + unsigned int pg_start, + unsigned int flags) +{ + struct scatterlist *sg; + unsigned int len, m; + int i, j; + + j = pg_start; + + /* sg may merge pages, but we have to separate + * per-page addr for GTT */ + for_each_sg(st->sgl, sg, st->nents, i) { + len = sg_dma_len(sg) >> PAGE_SHIFT; + for (m = 0; m < len; m++) { + dma_addr_t addr = sg_dma_address(sg) + (m << PAGE_SHIFT); + intel_private.driver->write_entry(addr, j, flags); + j++; + } + } + readl(intel_private.gtt+j-1); +} +EXPORT_SYMBOL(intel_gtt_insert_sg_entries_hsw); + void intel_gtt_insert_pages(unsigned int first_entry, unsigned int num_entries, struct page **pages, unsigned int flags) { @@ -1155,6 +1180,30 @@ return true; } +static void haswell_write_entry(dma_addr_t addr, unsigned int entry, + unsigned int flags) +{ + unsigned int type_mask = flags & ~AGP_USER_CACHED_MEMORY_GFDT; + unsigned int gfdt = flags & AGP_USER_CACHED_MEMORY_GFDT; + u32 pte_flags; + + if (type_mask == AGP_USER_MEMORY) + pte_flags = HSW_PTE_UNCACHED | I810_PTE_VALID; + else if (type_mask == AGP_USER_CACHED_MEMORY_LLC_MLC) { + pte_flags = GEN6_PTE_LLC_MLC | I810_PTE_VALID; + if (gfdt) + pte_flags |= GEN6_PTE_GFDT; + } else { /* set 'normal'/'cached' to LLC by default */ + pte_flags = GEN6_PTE_LLC | I810_PTE_VALID; + if (gfdt) + pte_flags |= GEN6_PTE_GFDT; + } + + /* gen6 has bit11-4 for physical addr bit39-32 */ + addr |= (addr >> 28) & 0xff0; + writel(addr | pte_flags, intel_private.gtt + entry); +} + static void gen6_write_entry(dma_addr_t addr, unsigned int entry, unsigned int flags) { @@ -1372,6 +1421,15 @@ .check_flags = gen6_check_flags, .chipset_flush = i9xx_chipset_flush, }; +static const struct intel_gtt_driver haswell_gtt_driver = { + .gen = 6, + .setup = i9xx_setup, + .cleanup = gen6_cleanup, + .write_entry = haswell_write_entry, + .dma_mask_size = 40, + .check_flags = gen6_check_flags, + .chipset_flush = i9xx_chipset_flush, +}; static const struct intel_gtt_driver valleyview_gtt_driver = { .gen = 7, .setup = i9xx_setup, @@ -1490,19 +1548,77 @@ { PCI_DEVICE_ID_INTEL_VALLEYVIEW_IG, "ValleyView", &valleyview_gtt_driver }, { PCI_DEVICE_ID_INTEL_HASWELL_D_GT1_IG, - "Haswell", &sandybridge_gtt_driver }, + "Haswell", &haswell_gtt_driver }, { PCI_DEVICE_ID_INTEL_HASWELL_D_GT2_IG, - "Haswell", &sandybridge_gtt_driver }, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_D_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, { PCI_DEVICE_ID_INTEL_HASWELL_M_GT1_IG, - "Haswell", &sandybridge_gtt_driver }, + "Haswell", &haswell_gtt_driver }, { PCI_DEVICE_ID_INTEL_HASWELL_M_GT2_IG, - "Haswell", &sandybridge_gtt_driver }, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_M_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, { PCI_DEVICE_ID_INTEL_HASWELL_S_GT1_IG, - "Haswell", &sandybridge_gtt_driver }, + "Haswell", &haswell_gtt_driver }, { PCI_DEVICE_ID_INTEL_HASWELL_S_GT2_IG, - "Haswell", &sandybridge_gtt_driver }, - { PCI_DEVICE_ID_INTEL_HASWELL_SDV, - "Haswell", &sandybridge_gtt_driver }, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_S_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_D_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_D_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_D_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_M_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_M_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_M_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_S_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_S_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_SDV_S_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_D_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_D_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_D_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_M_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_M_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_M_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_S_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_S_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_ULT_S_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_D_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_D_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_D_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_M_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_M_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_M_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_S_GT1_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_S_GT2_IG, + "Haswell", &haswell_gtt_driver }, + { PCI_DEVICE_ID_INTEL_HASWELL_CRW_S_GT2_PLUS_IG, + "Haswell", &haswell_gtt_driver }, { 0, NULL, NULL } }; @@ -1523,14 +1639,32 @@ return 1; } -int intel_gmch_probe(struct pci_dev *pdev, - struct agp_bridge_data *bridge) +int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev, + struct agp_bridge_data *bridge) { int i, mask; - intel_private.driver = NULL; + + /* + * Can be called from the fake agp driver but also directly from + * drm/i915.ko. Hence we need to check whether everything is set up + * already. + */ + if (intel_private.driver) { + intel_private.refcount++; + return 1; + } for (i = 0; intel_gtt_chipsets[i].name != NULL; i++) { - if (find_gmch(intel_gtt_chipsets[i].gmch_chip_id)) { + if (gpu_pdev) { + if (gpu_pdev->device == + intel_gtt_chipsets[i].gmch_chip_id) { + intel_private.pcidev = pci_dev_get(gpu_pdev); + intel_private.driver = + intel_gtt_chipsets[i].gtt_driver; + + break; + } + } else if (find_gmch(intel_gtt_chipsets[i].gmch_chip_id)) { intel_private.driver = intel_gtt_chipsets[i].gtt_driver; break; @@ -1540,13 +1674,17 @@ if (!intel_private.driver) return 0; - bridge->driver = &intel_fake_agp_driver; - bridge->dev_private_data = &intel_private; - bridge->dev = pdev; + intel_private.refcount++; + + if (bridge) { + bridge->driver = &intel_fake_agp_driver; + bridge->dev_private_data = &intel_private; + bridge->dev = bridge_pdev; + } - intel_private.bridge_dev = pci_dev_get(pdev); + intel_private.bridge_dev = pci_dev_get(bridge_pdev); - dev_info(&pdev->dev, "Intel %s Chipset\n", intel_gtt_chipsets[i].name); + dev_info(&bridge_pdev->dev, "Intel %s Chipset\n", intel_gtt_chipsets[i].name); mask = intel_private.driver->dma_mask_size; if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(mask))) @@ -1556,17 +1694,17 @@ pci_set_consistent_dma_mask(intel_private.pcidev, DMA_BIT_MASK(mask)); - /*if (bridge->driver == &intel_810_driver) - return 1;*/ + if (intel_gtt_init() != 0) { + intel_gmch_remove(); - if (intel_gtt_init() != 0) return 0; + } return 1; } EXPORT_SYMBOL(intel_gmch_probe); -const struct intel_gtt *intel_gtt_get(void) +struct intel_gtt *intel_gtt_get(void) { return &intel_private.base; } @@ -1579,12 +1717,16 @@ } EXPORT_SYMBOL(intel_gtt_chipset_flush); -void intel_gmch_remove(struct pci_dev *pdev) +void intel_gmch_remove(void) { + if (--intel_private.refcount) + return; + if (intel_private.pcidev) pci_dev_put(intel_private.pcidev); if (intel_private.bridge_dev) pci_dev_put(intel_private.bridge_dev); + intel_private.driver = NULL; } EXPORT_SYMBOL(intel_gmch_remove); --- linux-lowlatency-3.5.0.orig/drivers/char/tpm/tpm.c +++ linux-lowlatency-3.5.0/drivers/char/tpm/tpm.c @@ -827,10 +827,10 @@ int tpm_do_selftest(struct tpm_chip *chip) { int rc; - u8 digest[TPM_DIGEST_SIZE]; unsigned int loops; unsigned int delay_msec = 1000; unsigned long duration; + struct tpm_cmd_t cmd; duration = tpm_calc_ordinal_duration(chip, TPM_ORD_CONTINUE_SELFTEST); @@ -845,7 +845,15 @@ return rc; do { - rc = __tpm_pcr_read(chip, 0, digest); + /* Attempt to read a PCR value */ + cmd.header.in = pcrread_header; + cmd.params.pcrread_in.pcr_idx = cpu_to_be32(0); + rc = tpm_transmit(chip, (u8 *) &cmd, READ_PCR_RESULT_SIZE); + + if (rc < TPM_HEADER_SIZE) + return -EFAULT; + + rc = be32_to_cpu(cmd.header.out.return_code); if (rc == TPM_ERR_DISABLED || rc == TPM_ERR_DEACTIVATED) { dev_info(chip->dev, "TPM is disabled/deactivated (0x%X)\n", rc); --- linux-lowlatency-3.5.0.orig/drivers/clk/Makefile +++ linux-lowlatency-3.5.0/drivers/clk/Makefile @@ -3,5 +3,6 @@ obj-$(CONFIG_COMMON_CLK) += clk.o clk-fixed-rate.o clk-gate.o \ clk-mux.o clk-divider.o clk-fixed-factor.o # SoCs specific +obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o obj-$(CONFIG_ARCH_MXS) += mxs/ obj-$(CONFIG_PLAT_SPEAR) += spear/ --- linux-lowlatency-3.5.0.orig/drivers/clk/clk-fixed-rate.c +++ linux-lowlatency-3.5.0/drivers/clk/clk-fixed-rate.c @@ -14,6 +14,7 @@ #include #include #include +#include /* * DOC: basic fixed-rate clock that cannot gate @@ -79,3 +80,25 @@ return clk; } + +#ifdef CONFIG_OF +/** + * of_fixed_clk_setup() - Setup function for simple fixed rate clock + */ +void __init of_fixed_clk_setup(struct device_node *node) +{ + struct clk *clk; + const char *clk_name = node->name; + u32 rate; + + if (of_property_read_u32(node, "clock-frequency", &rate)) + return; + + of_property_read_string(node, "clock-output-names", &clk_name); + + clk = clk_register_fixed_rate(NULL, clk_name, NULL, CLK_IS_ROOT, rate); + if (clk) + of_clk_add_provider(node, of_clk_src_simple_get, clk); +} +EXPORT_SYMBOL_GPL(of_fixed_clk_setup); +#endif --- linux-lowlatency-3.5.0.orig/drivers/clk/clk.c +++ linux-lowlatency-3.5.0/drivers/clk/clk.c @@ -16,6 +16,7 @@ #include #include #include +#include static DEFINE_SPINLOCK(enable_lock); static DEFINE_MUTEX(prepare_lock); @@ -1550,3 +1551,143 @@ return ret; } EXPORT_SYMBOL_GPL(clk_notifier_unregister); + +#ifdef CONFIG_OF +/** + * struct of_clk_provider - Clock provider registration structure + * @link: Entry in global list of clock providers + * @node: Pointer to device tree node of clock provider + * @get: Get clock callback. Returns NULL or a struct clk for the + * given clock specifier + * @data: context pointer to be passed into @get callback + */ +struct of_clk_provider { + struct list_head link; + + struct device_node *node; + struct clk *(*get)(struct of_phandle_args *clkspec, void *data); + void *data; +}; + +static LIST_HEAD(of_clk_providers); +static DEFINE_MUTEX(of_clk_lock); + +struct clk *of_clk_src_simple_get(struct of_phandle_args *clkspec, + void *data) +{ + return data; +} +EXPORT_SYMBOL_GPL(of_clk_src_simple_get); + +/** + * of_clk_add_provider() - Register a clock provider for a node + * @np: Device node pointer associated with clock provider + * @clk_src_get: callback for decoding clock + * @data: context pointer for @clk_src_get callback. + */ +int of_clk_add_provider(struct device_node *np, + struct clk *(*clk_src_get)(struct of_phandle_args *clkspec, + void *data), + void *data) +{ + struct of_clk_provider *cp; + + cp = kzalloc(sizeof(struct of_clk_provider), GFP_KERNEL); + if (!cp) + return -ENOMEM; + + cp->node = of_node_get(np); + cp->data = data; + cp->get = clk_src_get; + + mutex_lock(&of_clk_lock); + list_add(&cp->link, &of_clk_providers); + mutex_unlock(&of_clk_lock); + pr_debug("Added clock from %s\n", np->full_name); + + return 0; +} +EXPORT_SYMBOL_GPL(of_clk_add_provider); + +/** + * of_clk_del_provider() - Remove a previously registered clock provider + * @np: Device node pointer associated with clock provider + */ +void of_clk_del_provider(struct device_node *np) +{ + struct of_clk_provider *cp; + + mutex_lock(&of_clk_lock); + list_for_each_entry(cp, &of_clk_providers, link) { + if (cp->node == np) { + list_del(&cp->link); + of_node_put(cp->node); + kfree(cp); + break; + } + } + mutex_unlock(&of_clk_lock); +} +EXPORT_SYMBOL_GPL(of_clk_del_provider); + +struct clk *of_clk_get_from_provider(struct of_phandle_args *clkspec) +{ + struct of_clk_provider *provider; + struct clk *clk = ERR_PTR(-ENOENT); + + /* Check if we have such a provider in our array */ + mutex_lock(&of_clk_lock); + list_for_each_entry(provider, &of_clk_providers, link) { + if (provider->node == clkspec->np) + clk = provider->get(clkspec, provider->data); + if (!IS_ERR(clk)) + break; + } + mutex_unlock(&of_clk_lock); + + return clk; +} +EXPORT_SYMBOL_GPL(of_clk_get_from_provider); + +const char *of_clk_get_parent_name(struct device_node *np, int index) +{ + struct of_phandle_args clkspec; + const char *clk_name; + int rc; + + if (index < 0) + return NULL; + + rc = of_parse_phandle_with_args(np, "clocks", "#clock-cells", index, + &clkspec); + if (rc) + return NULL; + + if (of_property_read_string_index(clkspec.np, "clock-output-names", + clkspec.args_count ? clkspec.args[0] : 0, + &clk_name) < 0) + clk_name = clkspec.np->name; + + of_node_put(clkspec.np); + return clk_name; +} +EXPORT_SYMBOL_GPL(of_clk_get_parent_name); + +/** + * of_clk_init() - Scan and init clock providers from the DT + * @matches: array of compatible values and init functions for providers. + * + * This function scans the device tree for matching clock providers and + * calls their initialization functions + */ +void __init of_clk_init(const struct of_device_id *matches) +{ + struct device_node *np; + + for_each_matching_node(np, matches) { + const struct of_device_id *match = of_match_node(matches, np); + of_clk_init_cb_t clk_init_cb = match->data; + clk_init_cb(np); + } +} +#endif --- linux-lowlatency-3.5.0.orig/drivers/clk/clkdev.c +++ linux-lowlatency-3.5.0/drivers/clk/clkdev.c @@ -19,10 +19,82 @@ #include #include #include +#include static LIST_HEAD(clocks); static DEFINE_MUTEX(clocks_mutex); +#ifdef CONFIG_ARCH_HIGHBANK +#ifdef CONFIG_OF +struct clk *of_clk_get(struct device_node *np, int index) +{ + struct of_phandle_args clkspec; + struct clk *clk; + int rc; + + if (index < 0) + return ERR_PTR(-EINVAL); + + rc = of_parse_phandle_with_args(np, "clocks", "#clock-cells", index, + &clkspec); + if (rc) + return ERR_PTR(rc); + + clk = of_clk_get_from_provider(&clkspec); + of_node_put(clkspec.np); + return clk; +} +EXPORT_SYMBOL(of_clk_get); + +/** + * of_clk_get_by_name() - Parse and lookup a clock referenced by a device node + * @np: pointer to clock consumer node + * @name: name of consumer's clock input, or NULL for the first clock reference + * + * This function parses the clocks and clock-names properties, + * and uses them to look up the struct clk from the registered list of clock + * providers. + */ +struct clk *of_clk_get_by_name(struct device_node *np, const char *name) +{ + struct clk *clk = ERR_PTR(-ENOENT); + + /* Walk up the tree of devices looking for a clock that matches */ + while (np) { + int index = 0; + + /* + * For named clocks, first look up the name in the + * "clock-names" property. If it cannot be found, then + * index will be an error code, and of_clk_get() will fail. + */ + if (name) + index = of_property_match_string(np, "clock-names", name); + clk = of_clk_get(np, index); + if (!IS_ERR(clk)) + break; + else if (name && index >= 0) { + pr_err("ERROR: could not get clock %s:%s(%i)\n", + np->full_name, name ? name : "", index); + return clk; + } + + /* + * No matching clock found on this node. If the parent node + * has a "clock-ranges" property, then we can try one of its + * clocks. + */ + np = np->parent; + if (np && !of_get_property(np, "clock-ranges", NULL)) + break; + } + + return clk; +} +EXPORT_SYMBOL(of_clk_get_by_name); +#endif +#endif + /* * Find the correct struct clk for the device and connection ID. * We do slightly fuzzy matching here: @@ -83,6 +155,15 @@ struct clk *clk_get(struct device *dev, const char *con_id) { const char *dev_id = dev ? dev_name(dev) : NULL; +#ifdef CONFIG_ARCH_HIGHBANK + struct clk *clk; + + if (dev) { + clk = of_clk_get_by_name(dev->of_node, con_id); + if (clk && __clk_get(clk)) + return clk; + } +#endif return clk_get_sys(dev_id, con_id); } --- linux-lowlatency-3.5.0.orig/drivers/clk/clk-highbank.c +++ linux-lowlatency-3.5.0/drivers/clk/clk-highbank.c @@ -0,0 +1,346 @@ +/* + * Copyright 2011-2012 Calxeda, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, 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 General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#include +#include +#include +#include +#include +#include + +extern void __iomem *sregs_base; + +#define HB_PLL_LOCK_500 0x20000000 +#define HB_PLL_LOCK 0x10000000 +#define HB_PLL_DIVF_SHIFT 20 +#define HB_PLL_DIVF_MASK 0x0ff00000 +#define HB_PLL_DIVQ_SHIFT 16 +#define HB_PLL_DIVQ_MASK 0x00070000 +#define HB_PLL_DIVR_SHIFT 8 +#define HB_PLL_DIVR_MASK 0x00001f00 +#define HB_PLL_RANGE_SHIFT 4 +#define HB_PLL_RANGE_MASK 0x00000070 +#define HB_PLL_BYPASS 0x00000008 +#define HB_PLL_RESET 0x00000004 +#define HB_PLL_EXT_BYPASS 0x00000002 +#define HB_PLL_EXT_ENA 0x00000001 + +#define HB_PLL_VCO_MIN_FREQ 2133000000 +#define HB_PLL_MAX_FREQ HB_PLL_VCO_MIN_FREQ +#define HB_PLL_MIN_FREQ (HB_PLL_VCO_MIN_FREQ / 64) + +#define HB_A9_BCLK_DIV_MASK 0x00000006 +#define HB_A9_BCLK_DIV_SHIFT 1 +#define HB_A9_PCLK_DIV 0x00000001 + +struct hb_clk { + struct clk_hw hw; + void __iomem *reg; + char *parent_name; +}; +#define to_hb_clk(p) container_of(p, struct hb_clk, hw) + +static int clk_pll_prepare(struct clk_hw *hwclk) + { + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 reg; + + reg = readl(hbclk->reg); + reg &= ~HB_PLL_RESET; + writel(reg, hbclk->reg); + + while ((readl(hbclk->reg) & HB_PLL_LOCK) == 0) + ; + while ((readl(hbclk->reg) & HB_PLL_LOCK_500) == 0) + ; + + return 0; +} + +static void clk_pll_unprepare(struct clk_hw *hwclk) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 reg; + + reg = readl(hbclk->reg); + reg |= HB_PLL_RESET; + writel(reg, hbclk->reg); +} + +static int clk_pll_enable(struct clk_hw *hwclk) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 reg; + + reg = readl(hbclk->reg); + reg |= HB_PLL_EXT_ENA; + writel(reg, hbclk->reg); + + return 0; +} + +static void clk_pll_disable(struct clk_hw *hwclk) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 reg; + + reg = readl(hbclk->reg); + reg &= ~HB_PLL_EXT_ENA; + writel(reg, hbclk->reg); +} + +static unsigned long clk_pll_recalc_rate(struct clk_hw *hwclk, + unsigned long parent_rate) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + unsigned long divf, divq, vco_freq, reg; + + reg = readl(hbclk->reg); + if (reg & HB_PLL_EXT_BYPASS) + return parent_rate; + + divf = (reg & HB_PLL_DIVF_MASK) >> HB_PLL_DIVF_SHIFT; + divq = (reg & HB_PLL_DIVQ_MASK) >> HB_PLL_DIVQ_SHIFT; + vco_freq = parent_rate * (divf + 1); + + return vco_freq / (1 << divq); +} + +static void clk_pll_calc(unsigned long rate, unsigned long ref_freq, + u32 *pdivq, u32 *pdivf) +{ + u32 divq, divf; + unsigned long vco_freq; + + if (rate < HB_PLL_MIN_FREQ) + rate = HB_PLL_MIN_FREQ; + if (rate > HB_PLL_MAX_FREQ) + rate = HB_PLL_MAX_FREQ; + + for (divq = 1; divq <= 6; divq++) { + if ((rate * (1 << divq)) >= HB_PLL_VCO_MIN_FREQ) + break; + } + + vco_freq = rate * (1 << divq); + divf = (vco_freq + (ref_freq / 2)) / ref_freq; + divf--; + + *pdivq = divq; + *pdivf = divf; +} + +static long clk_pll_round_rate(struct clk_hw *hwclk, unsigned long rate, + unsigned long *parent_rate) +{ + u32 divq, divf; + unsigned long ref_freq = *parent_rate; + + clk_pll_calc(rate, ref_freq, &divq, &divf); + + return (ref_freq * (divf + 1)) / (1 << divq); +} + +static int clk_pll_set_rate(struct clk_hw *hwclk, unsigned long rate, + unsigned long parent_rate) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 divq, divf; + u32 reg; + + clk_pll_calc(rate, parent_rate, &divq, &divf); + + reg = readl(hbclk->reg); + if (divf != ((reg & HB_PLL_DIVF_MASK) >> HB_PLL_DIVF_SHIFT)) { + /* Need to re-lock PLL, so put it into bypass mode */ + reg |= HB_PLL_EXT_BYPASS; + writel(reg | HB_PLL_EXT_BYPASS, hbclk->reg); + + writel(reg | HB_PLL_RESET, hbclk->reg); + reg &= ~(HB_PLL_DIVF_MASK | HB_PLL_DIVQ_MASK); + reg |= (divf << HB_PLL_DIVF_SHIFT) | (divq << HB_PLL_DIVQ_SHIFT); + writel(reg | HB_PLL_RESET, hbclk->reg); + writel(reg, hbclk->reg); + + while ((readl(hbclk->reg) & HB_PLL_LOCK) == 0) + ; + while ((readl(hbclk->reg) & HB_PLL_LOCK_500) == 0) + ; + reg |= HB_PLL_EXT_ENA; + reg &= ~HB_PLL_EXT_BYPASS; + } else { + reg &= ~HB_PLL_DIVQ_MASK; + reg |= divq << HB_PLL_DIVQ_SHIFT; + } + writel(reg, hbclk->reg); + + return 0; +} + +static const struct clk_ops clk_pll_ops = { + .prepare = clk_pll_prepare, + .unprepare = clk_pll_unprepare, + .enable = clk_pll_enable, + .disable = clk_pll_disable, + .recalc_rate = clk_pll_recalc_rate, + .round_rate = clk_pll_round_rate, + .set_rate = clk_pll_set_rate, +}; + +static unsigned long clk_cpu_periphclk_recalc_rate(struct clk_hw *hwclk, + unsigned long parent_rate) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 div = (readl(hbclk->reg) & HB_A9_PCLK_DIV) ? 8 : 4; + return parent_rate / div; +} + +static const struct clk_ops a9periphclk_ops = { + .recalc_rate = clk_cpu_periphclk_recalc_rate, +}; + +static unsigned long clk_cpu_a9bclk_recalc_rate(struct clk_hw *hwclk, + unsigned long parent_rate) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 div = (readl(hbclk->reg) & HB_A9_BCLK_DIV_MASK) >> HB_A9_BCLK_DIV_SHIFT; + + return parent_rate / (div + 2); +} + +static const struct clk_ops a9bclk_ops = { + .recalc_rate = clk_cpu_a9bclk_recalc_rate, +}; + +static unsigned long clk_periclk_recalc_rate(struct clk_hw *hwclk, + unsigned long parent_rate) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 div; + + div = readl(hbclk->reg) & 0x1f; + div++; + div *= 2; + + return parent_rate / div; +} + +static long clk_periclk_round_rate(struct clk_hw *hwclk, unsigned long rate, + unsigned long *parent_rate) +{ + u32 div; + + div = *parent_rate / rate; + div++; + div &= ~0x1; + + return *parent_rate / div; +} + +static int clk_periclk_set_rate(struct clk_hw *hwclk, unsigned long rate, + unsigned long parent_rate) +{ + struct hb_clk *hbclk = to_hb_clk(hwclk); + u32 div; + + div = parent_rate / rate; + if (div & 0x1) + return -EINVAL; + + writel(div >> 1, hbclk->reg); + return 0; +} + +static const struct clk_ops periclk_ops = { + .recalc_rate = clk_periclk_recalc_rate, + .round_rate = clk_periclk_round_rate, + .set_rate = clk_periclk_set_rate, +}; + +static __init struct clk *hb_clk_init(struct device_node *node, const struct clk_ops *ops) +{ + u32 reg; + struct clk *clk; + struct hb_clk *hb_clk; + const char *clk_name = node->name; + const char *parent_name; + struct clk_init_data init; + int rc; + + rc = of_property_read_u32(node, "reg", ®); + if (WARN_ON(rc)) + return NULL; + + hb_clk = kzalloc(sizeof(*hb_clk), GFP_KERNEL); + if (WARN_ON(!hb_clk)) + return NULL; + + hb_clk->reg = sregs_base + reg; + + of_property_read_string(node, "clock-output-names", &clk_name); + + init.name = clk_name; + init.ops = ops; + init.flags = 0; + parent_name = of_clk_get_parent_name(node, 0); + init.parent_names = &parent_name; + init.num_parents = 1; + + hb_clk->hw.init = &init; + + clk = clk_register(NULL, &hb_clk->hw); + if (WARN_ON(IS_ERR(clk))) { + kfree(hb_clk); + return NULL; + } + rc = of_clk_add_provider(node, of_clk_src_simple_get, clk); + return clk; +} + +static void __init hb_pll_init(struct device_node *node) +{ + hb_clk_init(node, &clk_pll_ops); +} + +static void __init hb_a9periph_init(struct device_node *node) +{ + hb_clk_init(node, &a9periphclk_ops); +} + +static void __init hb_a9bus_init(struct device_node *node) +{ + struct clk *clk = hb_clk_init(node, &a9bclk_ops); + clk_prepare_enable(clk); +} + +static void __init hb_emmc_init(struct device_node *node) +{ + hb_clk_init(node, &periclk_ops); +} + +static const __initconst struct of_device_id clk_match[] = { + { .compatible = "fixed-clock", .data = of_fixed_clk_setup, }, + { .compatible = "calxeda,hb-pll-clock", .data = hb_pll_init, }, + { .compatible = "calxeda,hb-a9periph-clock", .data = hb_a9periph_init, }, + { .compatible = "calxeda,hb-a9bus-clock", .data = hb_a9bus_init, }, + { .compatible = "calxeda,hb-emmc-clock", .data = hb_emmc_init, }, + {} +}; + +void __init highbank_clocks_init(void) +{ + of_clk_init(clk_match); +} --- linux-lowlatency-3.5.0.orig/drivers/cpufreq/cpufreq.c +++ linux-lowlatency-3.5.0/drivers/cpufreq/cpufreq.c @@ -1817,6 +1817,20 @@ * REGISTER / UNREGISTER CPUFREQ DRIVER * *********************************************************************/ +static char cpufreq_driver_name[CPUFREQ_NAME_LEN]; + +static int __init cpufreq_driver_setup(char *str) +{ + strlcpy(cpufreq_driver_name, str, CPUFREQ_NAME_LEN); + return 1; +} + +/* + * Set this name to only allow one specific cpu freq driver, e.g., + * cpufreq_driver=powernow-k8 + */ +__setup("cpufreq_driver=", cpufreq_driver_setup); + /** * cpufreq_register_driver - register a CPU Frequency driver * @driver_data: A struct cpufreq_driver containing the values# @@ -1839,7 +1853,13 @@ ((!driver_data->setpolicy) && (!driver_data->target))) return -EINVAL; - pr_debug("trying to register driver %s\n", driver_data->name); + pr_debug("trying to register driver %s, cpufreq_driver=%s\n", + driver_data->name, cpufreq_driver_name); + + if (cpufreq_driver_name[0]) + if (!driver_data->name || + strcmp(cpufreq_driver_name, driver_data->name)) + return -EINVAL; if (driver_data->setpolicy) driver_data->flags |= CPUFREQ_CONST_LOOPS; --- linux-lowlatency-3.5.0.orig/drivers/cpufreq/powernow-k8.c +++ linux-lowlatency-3.5.0/drivers/cpufreq/powernow-k8.c @@ -35,7 +35,6 @@ #include #include #include -#include /* for current / set_cpus_allowed() */ #include #include @@ -1139,16 +1138,23 @@ return res; } -/* Driver entry point to switch to the target frequency */ -static int powernowk8_target(struct cpufreq_policy *pol, - unsigned targfreq, unsigned relation) +struct powernowk8_target_arg { + struct cpufreq_policy *pol; + unsigned targfreq; + unsigned relation; +}; + +static long powernowk8_target_fn(void *arg) { - cpumask_var_t oldmask; + struct powernowk8_target_arg *pta = arg; + struct cpufreq_policy *pol = pta->pol; + unsigned targfreq = pta->targfreq; + unsigned relation = pta->relation; struct powernow_k8_data *data = per_cpu(powernow_data, pol->cpu); u32 checkfid; u32 checkvid; unsigned int newstate; - int ret = -EIO; + int ret; if (!data) return -EINVAL; @@ -1156,29 +1162,16 @@ checkfid = data->currfid; checkvid = data->currvid; - /* only run on specific CPU from here on. */ - /* This is poor form: use a workqueue or smp_call_function_single */ - if (!alloc_cpumask_var(&oldmask, GFP_KERNEL)) - return -ENOMEM; - - cpumask_copy(oldmask, tsk_cpus_allowed(current)); - set_cpus_allowed_ptr(current, cpumask_of(pol->cpu)); - - if (smp_processor_id() != pol->cpu) { - printk(KERN_ERR PFX "limiting to cpu %u failed\n", pol->cpu); - goto err_out; - } - if (pending_bit_stuck()) { printk(KERN_ERR PFX "failing targ, change pending bit set\n"); - goto err_out; + return -EIO; } pr_debug("targ: cpu %d, %d kHz, min %d, max %d, relation %d\n", pol->cpu, targfreq, pol->min, pol->max, relation); if (query_current_values_with_pending_wait(data)) - goto err_out; + return -EIO; if (cpu_family != CPU_HW_PSTATE) { pr_debug("targ: curr fid 0x%x, vid 0x%x\n", @@ -1196,7 +1189,7 @@ if (cpufreq_frequency_table_target(pol, data->powernow_table, targfreq, relation, &newstate)) - goto err_out; + return -EIO; mutex_lock(&fidvid_mutex); @@ -1209,9 +1202,8 @@ ret = transition_frequency_fidvid(data, newstate); if (ret) { printk(KERN_ERR PFX "transition frequency failed\n"); - ret = 1; mutex_unlock(&fidvid_mutex); - goto err_out; + return 1; } mutex_unlock(&fidvid_mutex); @@ -1220,12 +1212,18 @@ data->powernow_table[newstate].index); else pol->cur = find_khz_freq_from_fid(data->currfid); - ret = 0; -err_out: - set_cpus_allowed_ptr(current, oldmask); - free_cpumask_var(oldmask); - return ret; + return 0; +} + +/* Driver entry point to switch to the target frequency */ +static int powernowk8_target(struct cpufreq_policy *pol, + unsigned targfreq, unsigned relation) +{ + struct powernowk8_target_arg pta = { .pol = pol, .targfreq = targfreq, + .relation = relation }; + + return work_on_cpu(pol->cpu, powernowk8_target_fn, &pta); } /* Driver entry point to verify the policy and range of frequencies */ --- linux-lowlatency-3.5.0.orig/drivers/dma/at_hdmac.c +++ linux-lowlatency-3.5.0/drivers/dma/at_hdmac.c @@ -662,7 +662,7 @@ flags); if (unlikely(!atslave || !sg_len)) { - dev_dbg(chan2dev(chan), "prep_dma_memcpy: length is zero!\n"); + dev_dbg(chan2dev(chan), "prep_slave_sg: sg length is zero!\n"); return NULL; } @@ -690,6 +690,11 @@ mem = sg_dma_address(sg); len = sg_dma_len(sg); + if (unlikely(!len)) { + dev_dbg(chan2dev(chan), + "prep_slave_sg: sg(%d) data length is zero\n", i); + goto err; + } mem_width = 2; if (unlikely(mem & 3 || len & 3)) mem_width = 0; @@ -725,6 +730,11 @@ mem = sg_dma_address(sg); len = sg_dma_len(sg); + if (unlikely(!len)) { + dev_dbg(chan2dev(chan), + "prep_slave_sg: sg(%d) data length is zero\n", i); + goto err; + } mem_width = 2; if (unlikely(mem & 3 || len & 3)) mem_width = 0; @@ -758,6 +768,7 @@ err_desc_get: dev_err(chan2dev(chan), "not enough descriptors available\n"); +err: atc_desc_put(atchan, first); return NULL; } --- linux-lowlatency-3.5.0.orig/drivers/dma/dmaengine.c +++ linux-lowlatency-3.5.0/drivers/dma/dmaengine.c @@ -578,7 +578,7 @@ list_del_rcu(&device->global_node); break; } else if (err) - pr_err("%s: failed to get %s: (%d)\n", + pr_debug("%s: failed to get %s: (%d)\n", __func__, dma_chan_name(chan), err); } } --- linux-lowlatency-3.5.0.orig/drivers/dma/imx-dma.c +++ linux-lowlatency-3.5.0/drivers/dma/imx-dma.c @@ -172,7 +172,8 @@ struct device_dma_parameters dma_parms; struct dma_device dma_device; void __iomem *base; - struct clk *dma_clk; + struct clk *dma_ahb; + struct clk *dma_ipg; spinlock_t lock; struct imx_dma_2d_config slots_2d[IMX_DMA_2D_SLOTS]; struct imxdma_channel channel[IMX_DMA_CHANNELS]; @@ -473,8 +474,10 @@ slot = i; break; } - if (slot < 0) + if (slot < 0) { + spin_unlock_irqrestore(&imxdma->lock, flags); return -EBUSY; + } imxdma->slots_2d[slot].xsr = d->x; imxdma->slots_2d[slot].ysr = d->y; @@ -976,10 +979,20 @@ return 0; } - imxdma->dma_clk = clk_get(NULL, "dma"); - if (IS_ERR(imxdma->dma_clk)) - return PTR_ERR(imxdma->dma_clk); - clk_enable(imxdma->dma_clk); + imxdma->dma_ipg = devm_clk_get(&pdev->dev, "ipg"); + if (IS_ERR(imxdma->dma_ipg)) { + ret = PTR_ERR(imxdma->dma_ipg); + goto err_clk; + } + + imxdma->dma_ahb = devm_clk_get(&pdev->dev, "ahb"); + if (IS_ERR(imxdma->dma_ahb)) { + ret = PTR_ERR(imxdma->dma_ahb); + goto err_clk; + } + + clk_prepare_enable(imxdma->dma_ipg); + clk_prepare_enable(imxdma->dma_ahb); /* reset DMA module */ imx_dmav1_writel(imxdma, DCR_DRST, DMA_DCR); @@ -988,16 +1001,14 @@ ret = request_irq(MX1_DMA_INT, dma_irq_handler, 0, "DMA", imxdma); if (ret) { dev_warn(imxdma->dev, "Can't register IRQ for DMA\n"); - kfree(imxdma); - return ret; + goto err_enable; } ret = request_irq(MX1_DMA_ERR, imxdma_err_handler, 0, "DMA", imxdma); if (ret) { dev_warn(imxdma->dev, "Can't register ERRIRQ for DMA\n"); free_irq(MX1_DMA_INT, NULL); - kfree(imxdma); - return ret; + goto err_enable; } } @@ -1094,7 +1105,10 @@ free_irq(MX1_DMA_INT, NULL); free_irq(MX1_DMA_ERR, NULL); } - +err_enable: + clk_disable_unprepare(imxdma->dma_ipg); + clk_disable_unprepare(imxdma->dma_ahb); +err_clk: kfree(imxdma); return ret; } @@ -1114,7 +1128,9 @@ free_irq(MX1_DMA_ERR, NULL); } - kfree(imxdma); + clk_disable_unprepare(imxdma->dma_ipg); + clk_disable_unprepare(imxdma->dma_ahb); + kfree(imxdma); return 0; } --- linux-lowlatency-3.5.0.orig/drivers/dma/pl330.c +++ linux-lowlatency-3.5.0/drivers/dma/pl330.c @@ -1567,17 +1567,19 @@ goto xfer_exit; } - /* Prefer Secure Channel */ - if (!_manager_ns(thrd)) - r->cfg->nonsecure = 0; - else - r->cfg->nonsecure = 1; /* Use last settings, if not provided */ - if (r->cfg) + if (r->cfg) { + /* Prefer Secure Channel */ + if (!_manager_ns(thrd)) + r->cfg->nonsecure = 0; + else + r->cfg->nonsecure = 1; + ccr = _prepare_ccr(r->cfg); - else + } else { ccr = readl(regs + CC(thrd->id)); + } /* If this req doesn't have valid xfer settings */ if (!_is_valid(ccr)) { @@ -2928,6 +2930,11 @@ num_chan = max_t(int, pi->pcfg.num_peri, pi->pcfg.num_chan); pdmac->peripherals = kzalloc(num_chan * sizeof(*pch), GFP_KERNEL); + if (!pdmac->peripherals) { + ret = -ENOMEM; + dev_err(&adev->dev, "unable to allocate pdmac->peripherals\n"); + goto probe_err5; + } for (i = 0; i < num_chan; i++) { pch = &pdmac->peripherals[i]; --- linux-lowlatency-3.5.0.orig/drivers/dma/sirf-dma.c +++ linux-lowlatency-3.5.0/drivers/dma/sirf-dma.c @@ -109,7 +109,7 @@ sdesc = list_first_entry(&schan->queued, struct sirfsoc_dma_desc, node); /* Move the first queued descriptor to active list */ - list_move_tail(&schan->queued, &schan->active); + list_move_tail(&sdesc->node, &schan->active); /* Start the DMA transfer */ writel_relaxed(sdesc->width, sdma->base + SIRFSOC_DMA_WIDTH_0 + @@ -428,7 +428,7 @@ unsigned long iflags; int ret; - if ((xt->dir != DMA_MEM_TO_DEV) || (xt->dir != DMA_DEV_TO_MEM)) { + if ((xt->dir != DMA_MEM_TO_DEV) && (xt->dir != DMA_DEV_TO_MEM)) { ret = -EINVAL; goto err_dir; } --- linux-lowlatency-3.5.0.orig/drivers/edac/Kconfig +++ linux-lowlatency-3.5.0/drivers/edac/Kconfig @@ -7,7 +7,7 @@ menuconfig EDAC bool "EDAC (Error Detection And Correction) reporting" depends on HAS_IOMEM - depends on X86 || PPC || TILE + depends on X86 || PPC || TILE || ARM help EDAC is designed to report errors in the core system. These are low-level errors that are reported in the CPU or @@ -294,4 +294,18 @@ Support for error detection and correction on the Tilera memory controller. +config EDAC_HIGHBANK_MC + tristate "Highbank Memory Controller" + depends on EDAC_MM_EDAC && ARCH_HIGHBANK + help + Support for error detection and correction on the + Calxeda Highbank memory controller. + +config EDAC_HIGHBANK_L2 + tristate "Highbank L2 Cache" + depends on EDAC_MM_EDAC && ARCH_HIGHBANK + help + Support for error detection and correction on the + Calxeda Highbank memory controller. + endif # EDAC --- linux-lowlatency-3.5.0.orig/drivers/edac/Makefile +++ linux-lowlatency-3.5.0/drivers/edac/Makefile @@ -55,3 +55,6 @@ obj-$(CONFIG_EDAC_AMD8131) += amd8131_edac.o obj-$(CONFIG_EDAC_TILE) += tile_edac.o + +obj-$(CONFIG_EDAC_HIGHBANK_MC) += highbank_mc_edac.o +obj-$(CONFIG_EDAC_HIGHBANK_L2) += highbank_l2_edac.o --- linux-lowlatency-3.5.0.orig/drivers/edac/amd64_edac.c +++ linux-lowlatency-3.5.0/drivers/edac/amd64_edac.c @@ -170,8 +170,11 @@ * memory controller and apply to register. Search for the first * bandwidth entry that is greater or equal than the setting requested * and program that. If at last entry, turn off DRAM scrubbing. + * + * If no suitable bandwidth is found, turn off DRAM scrubbing entirely + * by falling back to the last element in scrubrates[]. */ - for (i = 0; i < ARRAY_SIZE(scrubrates); i++) { + for (i = 0; i < ARRAY_SIZE(scrubrates) - 1; i++) { /* * skip scrub rates which aren't recommended * (see F10 BKDG, F3x58) @@ -181,12 +184,6 @@ if (scrubrates[i].bandwidth <= new_bw) break; - - /* - * if no suitable bandwidth found, turn off DRAM scrubbing - * entirely by falling back to the last element in the - * scrubrates array. - */ } scrubval = scrubrates[i].scrubval; --- linux-lowlatency-3.5.0.orig/drivers/edac/i7300_edac.c +++ linux-lowlatency-3.5.0/drivers/edac/i7300_edac.c @@ -215,8 +215,8 @@ [0] = "Memory Write error on non-redundant retry or " "FBD configuration Write error on retry", }; -#define GET_FBD_FAT_IDX(fbderr) (fbderr & (3 << 28)) -#define FERR_FAT_FBD_ERR_MASK ((1 << 0) | (1 << 1) | (1 << 2) | (1 << 3)) +#define GET_FBD_FAT_IDX(fbderr) (((fbderr) >> 28) & 3) +#define FERR_FAT_FBD_ERR_MASK ((1 << 0) | (1 << 1) | (1 << 2) | (1 << 22)) #define FERR_NF_FBD 0xa0 static const char *ferr_nf_fbd_name[] = { @@ -243,7 +243,7 @@ [1] = "Aliased Uncorrectable Non-Mirrored Demand Data ECC", [0] = "Uncorrectable Data ECC on Replay", }; -#define GET_FBD_NF_IDX(fbderr) (fbderr & (3 << 28)) +#define GET_FBD_NF_IDX(fbderr) (((fbderr) >> 28) & 3) #define FERR_NF_FBD_ERR_MASK ((1 << 24) | (1 << 23) | (1 << 22) | (1 << 21) |\ (1 << 18) | (1 << 17) | (1 << 16) | (1 << 15) |\ (1 << 14) | (1 << 13) | (1 << 11) | (1 << 10) |\ @@ -482,7 +482,7 @@ errnum = find_first_bit(&errors, ARRAY_SIZE(ferr_nf_fbd_name)); specific = GET_ERR_FROM_TABLE(ferr_nf_fbd_name, errnum); - branch = (GET_FBD_FAT_IDX(error_reg) == 2) ? 1 : 0; + branch = (GET_FBD_NF_IDX(error_reg) == 2) ? 1 : 0; pci_read_config_dword(pvt->pci_dev_16_1_fsb_addr_map, REDMEMA, &syndrome); --- linux-lowlatency-3.5.0.orig/drivers/edac/i82975x_edac.c +++ linux-lowlatency-3.5.0/drivers/edac/i82975x_edac.c @@ -370,10 +370,6 @@ static void i82975x_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev, void __iomem *mch_window) { - static const char *labels[4] = { - "DIMM A1", "DIMM A2", - "DIMM B1", "DIMM B2" - }; struct csrow_info *csrow; unsigned long last_cumul_size; u8 value; @@ -424,9 +420,10 @@ dimm = mci->csrows[index].channels[chan].dimm; dimm->nr_pages = nr_pages / csrow->nr_channels; - strncpy(csrow->channels[chan].dimm->label, - labels[(index >> 1) + (chan * 2)], - EDAC_MC_LABEL_LEN); + + snprintf(csrow->channels[chan].dimm->label, EDAC_MC_LABEL_LEN, "DIMM %c%d", + (chan == 0) ? 'A' : 'B', + index); dimm->grain = 1 << 7; /* 128Byte cache-line resolution */ dimm->dtype = i82975x_dram_type(mch_window, index); dimm->mtype = MEM_DDR2; /* I82975x supports only DDR2 */ --- linux-lowlatency-3.5.0.orig/drivers/edac/highbank_l2_edac.c +++ linux-lowlatency-3.5.0/drivers/edac/highbank_l2_edac.c @@ -0,0 +1,149 @@ +/* + * Copyright 2011-2012 Calxeda, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, 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 General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +#include +#include +#include +#include +#include +#include +#include + +#include "edac_core.h" +#include "edac_module.h" + +#define SR_CLR_SB_ECC_INTR 0x0 +#define SR_CLR_DB_ECC_INTR 0x4 + +struct hb_l2_drvdata { + void __iomem *base; + int sb_irq; + int db_irq; +}; + +static irqreturn_t highbank_l2_err_handler(int irq, void *dev_id) +{ + struct edac_device_ctl_info *dci = dev_id; + struct hb_l2_drvdata *drvdata = dci->pvt_info; + + if (irq == drvdata->sb_irq) { + writel(1, drvdata->base + SR_CLR_SB_ECC_INTR); + edac_device_handle_ce(dci, 0, 0, dci->ctl_name); + } + if (irq == drvdata->db_irq) { + writel(1, drvdata->base + SR_CLR_DB_ECC_INTR); + edac_device_handle_ue(dci, 0, 0, dci->ctl_name); + } + + return IRQ_HANDLED; +} + +static int __devinit highbank_l2_err_probe(struct platform_device *pdev) +{ + struct edac_device_ctl_info *dci; + struct hb_l2_drvdata *drvdata; + struct resource *r; + int res = 0; + + dci = edac_device_alloc_ctl_info(sizeof(*drvdata), "cpu", + 1, "L", 1, 2, NULL, 0, 0); + if (!dci) + return -ENOMEM; + + drvdata = dci->pvt_info; + dci->dev = &pdev->dev; + platform_set_drvdata(pdev, dci); + + if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) + return -ENOMEM; + + r = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!r) { + dev_err(&pdev->dev, "Unable to get mem resource\n"); + res = -ENODEV; + goto err; + } + + if (!devm_request_mem_region(&pdev->dev, r->start, + resource_size(r), dev_name(&pdev->dev))) { + dev_err(&pdev->dev, "Error while requesting mem region\n"); + res = -EBUSY; + goto err; + } + + drvdata->base = devm_ioremap(&pdev->dev, r->start, resource_size(r)); + if (!drvdata->base) { + dev_err(&pdev->dev, "Unable to map regs\n"); + res = -ENOMEM; + goto err; + } + + drvdata->db_irq = platform_get_irq(pdev, 0); + res = devm_request_irq(&pdev->dev, drvdata->db_irq, + highbank_l2_err_handler, + 0, dev_name(&pdev->dev), dci); + if (res < 0) + goto err; + + drvdata->sb_irq = platform_get_irq(pdev, 1); + res = devm_request_irq(&pdev->dev, drvdata->sb_irq, + highbank_l2_err_handler, + 0, dev_name(&pdev->dev), dci); + if (res < 0) + goto err; + + dci->mod_name = dev_name(&pdev->dev); + dci->dev_name = dev_name(&pdev->dev); + + if (edac_device_add_device(dci)) + goto err; + + devres_close_group(&pdev->dev, NULL); + return 0; +err: + devres_release_group(&pdev->dev, NULL); + edac_device_free_ctl_info(dci); + return res; +} + +static int highbank_l2_err_remove(struct platform_device *pdev) +{ + struct edac_device_ctl_info *dci = platform_get_drvdata(pdev); + + edac_device_del_device(&pdev->dev); + edac_device_free_ctl_info(dci); + return 0; +} + +static const struct of_device_id hb_l2_err_of_match[] = { + { .compatible = "calxeda,hb-sregs-l2-ecc", }, + {}, +}; +MODULE_DEVICE_TABLE(of, hb_l2_err_of_match); + +static struct platform_driver highbank_l2_edac_driver = { + .probe = highbank_l2_err_probe, + .remove = highbank_l2_err_remove, + .driver = { + .name = "hb_l2_edac", + .of_match_table = hb_l2_err_of_match, + }, +}; + +module_platform_driver(highbank_l2_edac_driver); + +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Calxeda, Inc."); +MODULE_DESCRIPTION("EDAC Driver for Calxeda Highbank L2 Cache"); --- linux-lowlatency-3.5.0.orig/drivers/edac/highbank_mc_edac.c +++ linux-lowlatency-3.5.0/drivers/edac/highbank_mc_edac.c @@ -0,0 +1,238 @@ +/* + * Copyright 2011-2012 Calxeda, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, 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 General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +#include +#include +#include +#include +#include +#include +#include + +#include "edac_core.h" +#include "edac_module.h" + +/* DDR Ctrlr Error Registers */ +#define HB_DDR_ECC_OPT 0x128 +#define HB_DDR_ECC_U_ERR_ADDR 0x130 +#define HB_DDR_ECC_U_ERR_STAT 0x134 +#define HB_DDR_ECC_U_ERR_DATAL 0x138 +#define HB_DDR_ECC_U_ERR_DATAH 0x13c +#define HB_DDR_ECC_C_ERR_ADDR 0x140 +#define HB_DDR_ECC_C_ERR_STAT 0x144 +#define HB_DDR_ECC_C_ERR_DATAL 0x148 +#define HB_DDR_ECC_C_ERR_DATAH 0x14c +#define HB_DDR_ECC_INT_STATUS 0x180 +#define HB_DDR_ECC_INT_ACK 0x184 +#define HB_DDR_ECC_U_ERR_ID 0x424 +#define HB_DDR_ECC_C_ERR_ID 0x428 + +#define HB_DDR_ECC_INT_STAT_CE 0x8 +#define HB_DDR_ECC_INT_STAT_DOUBLE_CE 0x10 +#define HB_DDR_ECC_INT_STAT_UE 0x20 +#define HB_DDR_ECC_INT_STAT_DOUBLE_UE 0x40 + +struct hb_mc_drvdata { + void __iomem *mc_vbase; +}; + +static irqreturn_t highbank_mc_err_handler(int irq, void *dev_id) +{ + struct mem_ctl_info *mci = dev_id; + struct hb_mc_drvdata *drvdata = mci->pvt_info; + u32 status, err_addr; + + /* Read the interrupt status register */ + status = readl(drvdata->mc_vbase + HB_DDR_ECC_INT_STATUS); + + if (status & HB_DDR_ECC_INT_STAT_UE) { + err_addr = readl(drvdata->mc_vbase + HB_DDR_ECC_U_ERR_ADDR); + edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, + err_addr >> PAGE_SHIFT, + err_addr & ~PAGE_MASK, 0, + 0, 0, -1, + mci->ctl_name, "", NULL); + } + if (status & HB_DDR_ECC_INT_STAT_CE) { + u32 syndrome = readl(drvdata->mc_vbase + HB_DDR_ECC_C_ERR_STAT); + syndrome = (syndrome >> 8) & 0xff; + err_addr = readl(drvdata->mc_vbase + HB_DDR_ECC_C_ERR_ADDR); + edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, + err_addr >> PAGE_SHIFT, + err_addr & ~PAGE_MASK, syndrome, + 0, 0, -1, + mci->ctl_name, "", NULL); + } + + /* clear the error, clears the interrupt */ + writel(status, drvdata->mc_vbase + HB_DDR_ECC_INT_ACK); + return IRQ_HANDLED; +} + +static ssize_t highbank_mc_inject_ctrl_store(struct mem_ctl_info *mci, + const char *data, size_t count) +{ + struct hb_mc_drvdata *pdata = mci->pvt_info; + u32 reg; + u8 synd; + if (!isdigit(*data)) + return 0; + + reg = readl(pdata->mc_vbase + HB_DDR_ECC_OPT) & 0x3; + if (!kstrtou8(data, 16, &synd)) { + reg |= synd << 16; + reg |= 0x100; + writel(reg, pdata->mc_vbase + HB_DDR_ECC_OPT); + } + return count; +} + +static struct mcidev_sysfs_attribute highbank_mc_sysfs_attributes[] = { + { + .attr = { + .name = "inject_ctrl", + .mode = (S_IRUGO | S_IWUSR) + }, + .store = highbank_mc_inject_ctrl_store, + }, + { + .attr = {.name = NULL} /* End of list */ + } +}; + +static int __devinit highbank_mc_probe(struct platform_device *pdev) +{ + struct edac_mc_layer layers[2]; + struct mem_ctl_info *mci; + struct hb_mc_drvdata *drvdata; + struct dimm_info *dimm; + struct resource *r; + u32 control; + int irq; + int res = 0; + + layers[0].type = EDAC_MC_LAYER_CHIP_SELECT; + layers[0].size = 1; + layers[0].is_virt_csrow = true; + layers[1].type = EDAC_MC_LAYER_CHANNEL; + layers[1].size = 1; + layers[1].is_virt_csrow = false; + mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, + sizeof(struct hb_mc_drvdata)); + if (!mci) + return -ENOMEM; + + drvdata = mci->pvt_info; + mci->dev = &pdev->dev; + platform_set_drvdata(pdev, mci); + + if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) + return -ENOMEM; + + r = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!r) { + dev_err(&pdev->dev, "Unable to get mem resource\n"); + res = -ENODEV; + goto err; + } + + if (!devm_request_mem_region(&pdev->dev, r->start, + resource_size(r), dev_name(&pdev->dev))) { + dev_err(&pdev->dev, "Error while requesting mem region\n"); + res = -EBUSY; + goto err; + } + + drvdata->mc_vbase = devm_ioremap(&pdev->dev, + r->start, resource_size(r)); + if (!drvdata->mc_vbase) { + dev_err(&pdev->dev, "Unable to map regs\n"); + res = -ENOMEM; + goto err; + } + + control = readl(drvdata->mc_vbase + HB_DDR_ECC_OPT) & 0x3; + if (!control || (control == 0x2)) { + dev_err(&pdev->dev, "No ECC present, or ECC disabled\n"); + res = -ENODEV; + goto err; + } + + irq = platform_get_irq(pdev, 0); + res = devm_request_irq(&pdev->dev, irq, highbank_mc_err_handler, + 0, dev_name(&pdev->dev), mci); + if (res < 0) { + dev_err(&pdev->dev, "Unable to request irq %d\n", irq); + goto err; + } + + mci->mtype_cap = MEM_FLAG_DDR3; + mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; + mci->edac_cap = EDAC_FLAG_SECDED; + mci->mod_name = dev_name(&pdev->dev); + mci->mod_ver = "1"; + mci->ctl_name = dev_name(&pdev->dev); + mci->scrub_mode = SCRUB_SW_SRC; + mci->mc_driver_sysfs_attributes = highbank_mc_sysfs_attributes; + + /* Only a single 4GB DIMM is supported */ + dimm = mci->dimms; + dimm->nr_pages = (~0UL >> PAGE_SHIFT) + 1; + dimm->grain = 8; + dimm->dtype = DEV_X8; + dimm->mtype = MEM_DDR3; + dimm->edac_mode = EDAC_SECDED; + + res = edac_mc_add_mc(mci); + if (res < 0) + goto err; + + devres_close_group(&pdev->dev, NULL); + return 0; +err: + devres_release_group(&pdev->dev, NULL); + edac_mc_free(mci); + return res; +} + +static int highbank_mc_remove(struct platform_device *pdev) +{ + struct mem_ctl_info *mci = platform_get_drvdata(pdev); + + edac_mc_del_mc(&pdev->dev); + edac_mc_free(mci); + return 0; +} + +static const struct of_device_id hb_ddr_ctrl_of_match[] = { + { .compatible = "calxeda,hb-ddr-ctrl", }, + {}, +}; +MODULE_DEVICE_TABLE(of, hb_ddr_ctrl_of_match); + +static struct platform_driver highbank_mc_edac_driver = { + .probe = highbank_mc_probe, + .remove = highbank_mc_remove, + .driver = { + .name = "hb_mc_edac", + .of_match_table = hb_ddr_ctrl_of_match, + }, +}; + +module_platform_driver(highbank_mc_edac_driver); + +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Calxeda, Inc."); +MODULE_DESCRIPTION("EDAC Driver for Highbank"); --- linux-lowlatency-3.5.0.orig/drivers/firewire/core-cdev.c +++ linux-lowlatency-3.5.0/drivers/firewire/core-cdev.c @@ -473,8 +473,8 @@ client->bus_reset_closure = a->bus_reset_closure; if (a->bus_reset != 0) { fill_bus_reset_event(&bus_reset, client); - ret = copy_to_user(u64_to_uptr(a->bus_reset), - &bus_reset, sizeof(bus_reset)); + /* unaligned size of bus_reset is 36 bytes */ + ret = copy_to_user(u64_to_uptr(a->bus_reset), &bus_reset, 36); } if (ret == 0 && list_empty(&client->link)) list_add_tail(&client->link, &client->device->client_list); --- linux-lowlatency-3.5.0.orig/drivers/firewire/ohci.c +++ linux-lowlatency-3.5.0/drivers/firewire/ohci.c @@ -320,6 +320,8 @@ {PCI_VENDOR_ID_VIA, PCI_ANY_ID, PCI_ANY_ID, QUIRK_CYCLE_TIMER | QUIRK_NO_MSI}, + {PCI_VENDOR_ID_O2, PCI_ANY_ID, PCI_ANY_ID, + QUIRK_NO_MSI}, }; /* This overrides anything that was found in ohci_quirks[]. */ --- linux-lowlatency-3.5.0.orig/drivers/firmware/dmi_scan.c +++ linux-lowlatency-3.5.0/drivers/firmware/dmi_scan.c @@ -6,6 +6,7 @@ #include #include #include +#include #include /* @@ -111,6 +112,8 @@ dmi_table(buf, dmi_len, dmi_num, decode, NULL); + add_device_randomness(buf, dmi_len); + dmi_iounmap(buf, dmi_len); return 0; } --- linux-lowlatency-3.5.0.orig/drivers/firmware/efivars.c +++ linux-lowlatency-3.5.0/drivers/firmware/efivars.c @@ -80,6 +80,10 @@ #include #include +#include +#include +#include + #include #define EFIVARS_VERSION "0.08" @@ -91,6 +95,7 @@ MODULE_VERSION(EFIVARS_VERSION); #define DUMP_NAME_LEN 52 +#define GUID_LEN 37 /* * The maximum size of VariableName + Data = 1024 @@ -108,7 +113,6 @@ __u32 Attributes; } __attribute__((packed)); - struct efivar_entry { struct efivars *efivars; struct efi_variable var; @@ -122,6 +126,9 @@ ssize_t (*store)(struct efivar_entry *entry, const char *buf, size_t count); }; +static struct efivars __efivars; +static struct efivar_operations ops; + #define PSTORE_EFI_ATTRIBUTES \ (EFI_VARIABLE_NON_VOLATILE | \ EFI_VARIABLE_BOOTSERVICE_ACCESS | \ @@ -435,12 +442,23 @@ if (status != EFI_SUCCESS) return -EIO; - if (var->Attributes & 0x1) + if (var->Attributes & EFI_VARIABLE_NON_VOLATILE) str += sprintf(str, "EFI_VARIABLE_NON_VOLATILE\n"); - if (var->Attributes & 0x2) + if (var->Attributes & EFI_VARIABLE_BOOTSERVICE_ACCESS) str += sprintf(str, "EFI_VARIABLE_BOOTSERVICE_ACCESS\n"); - if (var->Attributes & 0x4) + if (var->Attributes & EFI_VARIABLE_RUNTIME_ACCESS) str += sprintf(str, "EFI_VARIABLE_RUNTIME_ACCESS\n"); + if (var->Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) + str += sprintf(str, "EFI_VARIABLE_HARDWARE_ERROR_RECORD\n"); + if (var->Attributes & EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) + str += sprintf(str, + "EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS\n"); + if (var->Attributes & + EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) + str += sprintf(str, + "EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS\n"); + if (var->Attributes & EFI_VARIABLE_APPEND_WRITE) + str += sprintf(str, "EFI_VARIABLE_APPEND_WRITE\n"); return str - buf; } @@ -618,14 +636,441 @@ .default_attrs = def_attrs, }; -static struct pstore_info efi_pstore_info; - static inline void efivar_unregister(struct efivar_entry *var) { kobject_put(&var->kobj); } +static int efivarfs_file_open(struct inode *inode, struct file *file) +{ + file->private_data = inode->i_private; + return 0; +} + +static ssize_t efivarfs_file_write(struct file *file, + const char __user *userbuf, size_t count, loff_t *ppos) +{ + struct efivar_entry *var = file->private_data; + struct efivars *efivars; + efi_status_t status; + void *data; + u32 attributes; + struct inode *inode = file->f_mapping->host; + int datasize = count - sizeof(attributes); + unsigned long newdatasize; + + if (count < sizeof(attributes)) + return -EINVAL; + + data = kmalloc(datasize, GFP_KERNEL); + + if (!data) + return -ENOMEM; + + efivars = var->efivars; + + if (copy_from_user(&attributes, userbuf, sizeof(attributes))) { + count = -EFAULT; + goto out; + } + + if (attributes & ~(EFI_VARIABLE_MASK)) { + count = -EINVAL; + goto out; + } + + if (copy_from_user(data, userbuf + sizeof(attributes), datasize)) { + count = -EFAULT; + goto out; + } + + if (validate_var(&var->var, data, datasize) == false) { + count = -EINVAL; + goto out; + } + + /* + * The lock here protects the get_variable call, the conditional + * set_variable call, and removal of the variable from the efivars + * list (in the case of an authenticated delete). + */ + spin_lock(&efivars->lock); + + status = efivars->ops->set_variable(var->var.VariableName, + &var->var.VendorGuid, + attributes, datasize, + data); + + if (status != EFI_SUCCESS) { + spin_unlock(&efivars->lock); + kfree(data); + + switch (status) { + case EFI_INVALID_PARAMETER: + count = -EINVAL; + break; + case EFI_OUT_OF_RESOURCES: + count = -ENOSPC; + break; + case EFI_DEVICE_ERROR: + count = -EIO; + break; + case EFI_WRITE_PROTECTED: + count = -EROFS; + break; + case EFI_SECURITY_VIOLATION: + count = -EACCES; + break; + case EFI_NOT_FOUND: + count = -ENOENT; + break; + default: + count = -EINVAL; + } + return count; + } + + /* + * Writing to the variable may have caused a change in size (which + * could either be an append or an overwrite), or the variable to be + * deleted. Perform a GetVariable() so we can tell what actually + * happened. + */ + newdatasize = 0; + status = efivars->ops->get_variable(var->var.VariableName, + &var->var.VendorGuid, + NULL, &newdatasize, + NULL); + + if (status == EFI_BUFFER_TOO_SMALL) { + spin_unlock(&efivars->lock); + mutex_lock(&inode->i_mutex); + i_size_write(inode, newdatasize + sizeof(attributes)); + mutex_unlock(&inode->i_mutex); + + } else if (status == EFI_NOT_FOUND) { + list_del(&var->list); + spin_unlock(&efivars->lock); + efivar_unregister(var); + drop_nlink(inode); + dput(file->f_dentry); + + } else { + spin_unlock(&efivars->lock); + pr_warn("efivarfs: inconsistent EFI variable implementation? " + "status = %lx\n", status); + } + +out: + kfree(data); + + return count; +} + +static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf, + size_t count, loff_t *ppos) +{ + struct efivar_entry *var = file->private_data; + struct efivars *efivars = var->efivars; + efi_status_t status; + unsigned long datasize = 0; + u32 attributes; + void *data; + ssize_t size = 0; + + spin_lock(&efivars->lock); + status = efivars->ops->get_variable(var->var.VariableName, + &var->var.VendorGuid, + &attributes, &datasize, NULL); + spin_unlock(&efivars->lock); + + if (status != EFI_BUFFER_TOO_SMALL) + return 0; + + data = kmalloc(datasize + 4, GFP_KERNEL); + + if (!data) + return 0; + + spin_lock(&efivars->lock); + status = efivars->ops->get_variable(var->var.VariableName, + &var->var.VendorGuid, + &attributes, &datasize, + (data + 4)); + spin_unlock(&efivars->lock); + + if (status != EFI_SUCCESS) + goto out_free; + + memcpy(data, &attributes, 4); + size = simple_read_from_buffer(userbuf, count, ppos, + data, datasize + 4); +out_free: + kfree(data); + + return size; +} + +static void efivarfs_evict_inode(struct inode *inode) +{ + clear_inode(inode); +} + +static const struct super_operations efivarfs_ops = { + .statfs = simple_statfs, + .drop_inode = generic_delete_inode, + .evict_inode = efivarfs_evict_inode, + .show_options = generic_show_options, +}; + +static struct super_block *efivarfs_sb; + +static const struct inode_operations efivarfs_dir_inode_operations; + +static const struct file_operations efivarfs_file_operations = { + .open = efivarfs_file_open, + .read = efivarfs_file_read, + .write = efivarfs_file_write, + .llseek = default_llseek, +}; + +static struct inode *efivarfs_get_inode(struct super_block *sb, + const struct inode *dir, int mode, dev_t dev) +{ + struct inode *inode = new_inode(sb); + + if (inode) { + inode->i_ino = get_next_ino(); + inode->i_uid = inode->i_gid = 0; + inode->i_mode = mode; + inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; + switch (mode & S_IFMT) { + case S_IFREG: + inode->i_fop = &efivarfs_file_operations; + break; + case S_IFDIR: + inode->i_op = &efivarfs_dir_inode_operations; + inode->i_fop = &simple_dir_operations; + inc_nlink(inode); + break; + } + } + return inode; +} + +static void efivarfs_hex_to_guid(const char *str, efi_guid_t *guid) +{ + guid->b[0] = hex_to_bin(str[6]) << 4 | hex_to_bin(str[7]); + guid->b[1] = hex_to_bin(str[4]) << 4 | hex_to_bin(str[5]); + guid->b[2] = hex_to_bin(str[2]) << 4 | hex_to_bin(str[3]); + guid->b[3] = hex_to_bin(str[0]) << 4 | hex_to_bin(str[1]); + guid->b[4] = hex_to_bin(str[11]) << 4 | hex_to_bin(str[12]); + guid->b[5] = hex_to_bin(str[9]) << 4 | hex_to_bin(str[10]); + guid->b[6] = hex_to_bin(str[16]) << 4 | hex_to_bin(str[17]); + guid->b[7] = hex_to_bin(str[14]) << 4 | hex_to_bin(str[15]); + guid->b[8] = hex_to_bin(str[19]) << 4 | hex_to_bin(str[20]); + guid->b[9] = hex_to_bin(str[21]) << 4 | hex_to_bin(str[22]); + guid->b[10] = hex_to_bin(str[24]) << 4 | hex_to_bin(str[25]); + guid->b[11] = hex_to_bin(str[26]) << 4 | hex_to_bin(str[27]); + guid->b[12] = hex_to_bin(str[28]) << 4 | hex_to_bin(str[29]); + guid->b[13] = hex_to_bin(str[30]) << 4 | hex_to_bin(str[31]); + guid->b[14] = hex_to_bin(str[32]) << 4 | hex_to_bin(str[33]); + guid->b[15] = hex_to_bin(str[34]) << 4 | hex_to_bin(str[35]); +} + +static int efivarfs_create(struct inode *dir, struct dentry *dentry, + umode_t mode, struct nameidata *nd) +{ + struct inode *inode; + struct efivars *efivars = &__efivars; + struct efivar_entry *var; + int namelen, i = 0, err = 0; + + if (dentry->d_name.len < 38) + return -EINVAL; + + inode = efivarfs_get_inode(dir->i_sb, dir, mode, 0); + if (!inode) + return -ENOSPC; + + var = kzalloc(sizeof(struct efivar_entry), GFP_KERNEL); + if (!var) { + err = -ENOMEM; + goto out; + } + + namelen = dentry->d_name.len - GUID_LEN; + + efivarfs_hex_to_guid(dentry->d_name.name + namelen + 1, + &var->var.VendorGuid); + + for (i = 0; i < namelen; i++) + var->var.VariableName[i] = dentry->d_name.name[i]; + + var->var.VariableName[i] = '\0'; + + inode->i_private = var; + var->efivars = efivars; + var->kobj.kset = efivars->kset; + + err = kobject_init_and_add(&var->kobj, &efivar_ktype, NULL, "%s", + dentry->d_name.name); + if (err) + goto out; + + kobject_uevent(&var->kobj, KOBJ_ADD); + spin_lock(&efivars->lock); + list_add(&var->list, &efivars->list); + spin_unlock(&efivars->lock); + d_instantiate(dentry, inode); + dget(dentry); +out: + if (err) { + kfree(var); + iput(inode); + } + return err; +} + +static int efivarfs_unlink(struct inode *dir, struct dentry *dentry) +{ + struct efivar_entry *var = dentry->d_inode->i_private; + struct efivars *efivars = var->efivars; + efi_status_t status; + + spin_lock(&efivars->lock); + + status = efivars->ops->set_variable(var->var.VariableName, + &var->var.VendorGuid, + 0, 0, NULL); + + if (status == EFI_SUCCESS || status == EFI_NOT_FOUND) { + list_del(&var->list); + spin_unlock(&efivars->lock); + efivar_unregister(var); + drop_nlink(dir); + dput(dentry); + return 0; + } + + spin_unlock(&efivars->lock); + return -EINVAL; +}; + +int efivarfs_fill_super(struct super_block *sb, void *data, int silent) +{ + struct inode *inode = NULL; + struct dentry *root; + struct efivar_entry *entry, *n; + struct efivars *efivars = &__efivars; + char *name; + + efivarfs_sb = sb; + + sb->s_maxbytes = MAX_LFS_FILESIZE; + sb->s_blocksize = PAGE_CACHE_SIZE; + sb->s_blocksize_bits = PAGE_CACHE_SHIFT; + sb->s_magic = PSTOREFS_MAGIC; + sb->s_op = &efivarfs_ops; + sb->s_time_gran = 1; + + inode = efivarfs_get_inode(sb, NULL, S_IFDIR | 0755, 0); + if (!inode) + return -ENOMEM; + inode->i_op = &efivarfs_dir_inode_operations; + + root = d_make_root(inode); + sb->s_root = root; + if (!root) + return -ENOMEM; + + list_for_each_entry_safe(entry, n, &efivars->list, list) { + struct dentry *dentry, *root = efivarfs_sb->s_root; + unsigned long size = 0; + int len, i; + + inode = NULL; + + len = utf16_strlen(entry->var.VariableName); + + /* GUID plus trailing NULL */ + name = kmalloc(len + 38, GFP_ATOMIC); + if (!name) + goto fail; + + for (i = 0; i < len; i++) + name[i] = entry->var.VariableName[i] & 0xFF; + + name[len] = '-'; + + efi_guid_unparse(&entry->var.VendorGuid, name + len + 1); + + name[len+GUID_LEN] = '\0'; + + inode = efivarfs_get_inode(efivarfs_sb, root->d_inode, + S_IFREG | 0644, 0); + if (!inode) + goto fail_name; + + dentry = d_alloc_name(root, name); + if (!dentry) + goto fail_inode; + + /* copied by the above to local storage in the dentry. */ + kfree(name); + + spin_lock(&efivars->lock); + efivars->ops->get_variable(entry->var.VariableName, + &entry->var.VendorGuid, + &entry->var.Attributes, + &size, + NULL); + spin_unlock(&efivars->lock); + + mutex_lock(&inode->i_mutex); + inode->i_private = entry; + i_size_write(inode, size+4); + mutex_unlock(&inode->i_mutex); + d_add(dentry, inode); + } + + return 0; + +fail_inode: + iput(inode); +fail_name: + kfree(name); +fail: + return -ENOMEM; +} + +static struct dentry *efivarfs_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) +{ + return mount_single(fs_type, flags, data, efivarfs_fill_super); +} + +static void efivarfs_kill_sb(struct super_block *sb) +{ + kill_litter_super(sb); + efivarfs_sb = NULL; +} + +static struct file_system_type efivarfs_type = { + .name = "efivarfs", + .mount = efivarfs_mount, + .kill_sb = efivarfs_kill_sb, +}; + +static const struct inode_operations efivarfs_dir_inode_operations = { + .lookup = simple_lookup, + .unlink = efivarfs_unlink, + .create = efivarfs_create, +}; + +static struct pstore_info efi_pstore_info; + #ifdef CONFIG_PSTORE static int efi_pstore_open(struct pstore_info *psi) @@ -1114,6 +1559,7 @@ sysfs_remove_bin_file(&efivars->kset->kobj, efivars->del_var); kfree(efivars->new_var); kfree(efivars->del_var); + kobject_put(efivars->kobject); kset_unregister(efivars->kset); } EXPORT_SYMBOL_GPL(unregister_efivars); @@ -1145,6 +1591,13 @@ goto out; } + efivars->kobject = kobject_create_and_add("efivars", parent_kobj); + if (!efivars->kobject) { + pr_err("efivars: Subsystem registration failed.\n"); + error = -ENOMEM; + goto err_unreg_vars; + } + /* * Per EFI spec, the maximum storage allocated for both * the variable name and variable data is 1024 bytes. @@ -1187,6 +1640,11 @@ pstore_register(&efivars->efi_pstore_info); } + register_filesystem(&efivarfs_type); + +err_unreg_vars: + kset_unregister(efivars->kset); + out: kfree(variable_name); @@ -1194,9 +1652,6 @@ } EXPORT_SYMBOL_GPL(register_efivars); -static struct efivars __efivars; -static struct efivar_operations ops; - /* * For now we register the efi subsystem with the firmware subsystem * and the vars subsystem with the efi subsystem. In the future, it --- linux-lowlatency-3.5.0.orig/drivers/firmware/pcdp.c +++ linux-lowlatency-3.5.0/drivers/firmware/pcdp.c @@ -95,7 +95,7 @@ if (efi.hcdp == EFI_INVALID_TABLE_ADDR) return -ENODEV; - pcdp = ioremap(efi.hcdp, 4096); + pcdp = early_ioremap(efi.hcdp, 4096); printk(KERN_INFO "PCDP: v%d at 0x%lx\n", pcdp->rev, efi.hcdp); if (strstr(cmdline, "console=hcdp")) { @@ -131,6 +131,6 @@ } out: - iounmap(pcdp); + early_iounmap(pcdp, 4096); return rc; } --- linux-lowlatency-3.5.0.orig/drivers/gpio/gpio-lpc32xx.c +++ linux-lowlatency-3.5.0/drivers/gpio/gpio-lpc32xx.c @@ -307,6 +307,7 @@ { struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); + __set_gpio_level_p012(group, pin, value); __set_gpio_dir_p012(group, pin, 0); return 0; @@ -317,6 +318,7 @@ { struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); + __set_gpio_level_p3(group, pin, value); __set_gpio_dir_p3(group, pin, 0); return 0; @@ -325,6 +327,9 @@ static int lpc32xx_gpio_dir_out_always(struct gpio_chip *chip, unsigned pin, int value) { + struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); + + __set_gpo_level_p3(group, pin, value); return 0; } --- linux-lowlatency-3.5.0.orig/drivers/gpio/gpiolib.c +++ linux-lowlatency-3.5.0/drivers/gpio/gpiolib.c @@ -623,9 +623,11 @@ */ status = gpio_request(gpio, "sysfs"); - if (status < 0) + if (status < 0) { + if (status == -EPROBE_DEFER) + status = -ENODEV; goto done; - + } status = gpio_export(gpio, true); if (status < 0) gpio_free(gpio); @@ -1191,8 +1193,10 @@ spin_lock_irqsave(&gpio_lock, flags); - if (!gpio_is_valid(gpio)) + if (!gpio_is_valid(gpio)) { + status = -EINVAL; goto done; + } desc = &gpio_desc[gpio]; chip = desc->chip; if (chip == NULL) --- linux-lowlatency-3.5.0.orig/drivers/gpio/gpio-timberdale.c +++ linux-lowlatency-3.5.0/drivers/gpio/gpio-timberdale.c @@ -116,7 +116,7 @@ unsigned long flags; spin_lock_irqsave(&tgpio->lock, flags); - tgpio->last_ier &= ~(1 << offset); + tgpio->last_ier &= ~(1UL << offset); iowrite32(tgpio->last_ier, tgpio->membase + TGPIO_IER); spin_unlock_irqrestore(&tgpio->lock, flags); } @@ -128,7 +128,7 @@ unsigned long flags; spin_lock_irqsave(&tgpio->lock, flags); - tgpio->last_ier |= 1 << offset; + tgpio->last_ier |= 1UL << offset; iowrite32(tgpio->last_ier, tgpio->membase + TGPIO_IER); spin_unlock_irqrestore(&tgpio->lock, flags); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/Makefile +++ linux-lowlatency-3.5.0/drivers/gpu/drm/Makefile @@ -10,7 +10,7 @@ drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \ drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \ drm_platform.o drm_sysfs.o drm_hashtab.o drm_mm.o \ - drm_crtc.o drm_modes.o drm_edid.o \ + drm_mm_hsw.o drm_crtc.o drm_modes.o drm_edid.o \ drm_info.o drm_debugfs.o drm_encoder_slave.o \ drm_trace_points.o drm_global.o drm_prime.o --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_cache.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_cache.c @@ -100,6 +100,31 @@ EXPORT_SYMBOL(drm_clflush_pages); void +drm_clflush_sg(struct sg_table *st) +{ +#if defined(CONFIG_X86) + if (cpu_has_clflush) { + struct scatterlist *sg; + int i; + + mb(); + for_each_sg(st->sgl, sg, st->nents, i) + drm_clflush_page(sg_page(sg)); + mb(); + + return; + } + + if (on_each_cpu(drm_clflush_ipi_handler, NULL, 1) != 0) + printk(KERN_ERR "Timed out waiting for cache flush.\n"); +#else + printk(KERN_ERR "Architecture has no drm_cache.c support\n"); + WARN_ON_ONCE(1); +#endif +} +EXPORT_SYMBOL(drm_clflush_sg); + +void drm_clflush_virt_range(char *addr, unsigned long length) { #if defined(CONFIG_X86) --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_crtc.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_crtc.c @@ -1034,15 +1034,15 @@ fb->funcs->destroy(fb); } - list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) { - crtc->funcs->destroy(crtc); - } - list_for_each_entry_safe(plane, plt, &dev->mode_config.plane_list, head) { plane->funcs->destroy(plane); } + list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) { + crtc->funcs->destroy(crtc); + } + idr_remove_all(&dev->mode_config.crtc_idr); idr_destroy(&dev->mode_config.crtc_idr); } @@ -1981,7 +1981,7 @@ if (!drm_core_check_feature(dev, DRIVER_MODESET)) return -EINVAL; - if (!req->flags) + if (!req->flags || (~DRM_MODE_CURSOR_FLAGS & req->flags)) return -EINVAL; mutex_lock(&dev->mode_config.mutex); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_crtc_helper.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_crtc_helper.c @@ -39,6 +39,24 @@ #include "drm_fb_helper.h" #include "drm_edid.h" +void drm_helper_move_panel_connectors_to_head(struct drm_device *dev) +{ + struct drm_connector *connector, *tmp; + struct list_head panel_list; + + INIT_LIST_HEAD(&panel_list); + + list_for_each_entry_safe(connector, tmp, + &dev->mode_config.connector_list, head) { + if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS || + connector->connector_type == DRM_MODE_CONNECTOR_eDP) + list_move_tail(&connector->head, &panel_list); + } + + list_splice(&panel_list, &dev->mode_config.connector_list); +} +EXPORT_SYMBOL(drm_helper_move_panel_connectors_to_head); + static bool drm_kms_helper_poll = true; module_param_named(poll, drm_kms_helper_poll, bool, 0600); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_dp_i2c_helper.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_dp_i2c_helper.c @@ -206,3 +206,124 @@ return error; } EXPORT_SYMBOL(i2c_dp_aux_add_bus); + +/* Helpers for DP link training */ +static u8 dp_link_status(u8 link_status[DP_LINK_STATUS_SIZE], int r) +{ + return link_status[r - DP_LANE0_1_STATUS]; +} + +static u8 dp_get_lane_status(u8 link_status[DP_LINK_STATUS_SIZE], + int lane) +{ + int i = DP_LANE0_1_STATUS + (lane >> 1); + int s = (lane & 1) * 4; + u8 l = dp_link_status(link_status, i); + return (l >> s) & 0xf; + +} + +bool drm_dp_channel_eq_ok(u8 link_status[DP_LINK_STATUS_SIZE], + int lane_count) +{ + u8 lane_align; + u8 lane_status; + int lane; + + lane_align = dp_link_status(link_status, + DP_LANE_ALIGN_STATUS_UPDATED); + if ((lane_align & DP_INTERLANE_ALIGN_DONE) == 0) + return false; + for (lane = 0; lane < lane_count; lane++) { + lane_status = dp_get_lane_status(link_status, lane); + if ((lane_status & DP_CHANNEL_EQ_BITS) != DP_CHANNEL_EQ_BITS) + return false; + } + return true; +} +EXPORT_SYMBOL(drm_dp_channel_eq_ok); + +bool drm_dp_clock_recovery_ok(u8 link_status[DP_LINK_STATUS_SIZE], + int lane_count) +{ + int lane; + u8 lane_status; + + for (lane = 0; lane < lane_count; lane++) { + lane_status = dp_get_lane_status(link_status, lane); + if ((lane_status & DP_LANE_CR_DONE) == 0) + return false; + } + return true; +} +EXPORT_SYMBOL(drm_dp_clock_recovery_ok); + +u8 drm_dp_get_adjust_request_voltage(u8 link_status[DP_LINK_STATUS_SIZE], + int lane) +{ + int i = DP_ADJUST_REQUEST_LANE0_1 + (lane >> 1); + int s = ((lane & 1) ? + DP_ADJUST_VOLTAGE_SWING_LANE1_SHIFT : + DP_ADJUST_VOLTAGE_SWING_LANE0_SHIFT); + u8 l = dp_link_status(link_status, i); + + return ((l >> s) & 0x3) << DP_TRAIN_VOLTAGE_SWING_SHIFT; +} +EXPORT_SYMBOL(drm_dp_get_adjust_request_voltage); + +u8 drm_dp_get_adjust_request_pre_emphasis(u8 link_status[DP_LINK_STATUS_SIZE], + int lane) +{ + int i = DP_ADJUST_REQUEST_LANE0_1 + (lane >> 1); + int s = ((lane & 1) ? + DP_ADJUST_PRE_EMPHASIS_LANE1_SHIFT : + DP_ADJUST_PRE_EMPHASIS_LANE0_SHIFT); + u8 l = dp_link_status(link_status, i); + + return ((l >> s) & 0x3) << DP_TRAIN_PRE_EMPHASIS_SHIFT; +} +EXPORT_SYMBOL(drm_dp_get_adjust_request_pre_emphasis); + +void drm_dp_link_train_clock_recovery_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]) { + if (dpcd[DP_TRAINING_AUX_RD_INTERVAL] == 0) + udelay(100); + else + mdelay(dpcd[DP_TRAINING_AUX_RD_INTERVAL] * 4); +} +EXPORT_SYMBOL(drm_dp_link_train_clock_recovery_delay); + +void drm_dp_link_train_channel_eq_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]) { + if (dpcd[DP_TRAINING_AUX_RD_INTERVAL] == 0) + udelay(400); + else + mdelay(dpcd[DP_TRAINING_AUX_RD_INTERVAL] * 4); +} +EXPORT_SYMBOL(drm_dp_link_train_channel_eq_delay); + +u8 drm_dp_link_rate_to_bw_code(int link_rate) +{ + switch (link_rate) { + case 162000: + default: + return DP_LINK_BW_1_62; + case 270000: + return DP_LINK_BW_2_7; + case 540000: + return DP_LINK_BW_5_4; + } +} +EXPORT_SYMBOL(drm_dp_link_rate_to_bw_code); + +int drm_dp_bw_code_to_link_rate(u8 link_bw) +{ + switch (link_bw) { + case DP_LINK_BW_1_62: + default: + return 162000; + case DP_LINK_BW_2_7: + return 270000; + case DP_LINK_BW_5_4: + return 540000; + } +} +EXPORT_SYMBOL(drm_dp_bw_code_to_link_rate); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_edid.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_edid.c @@ -87,6 +87,9 @@ int product_id; u32 quirks; } edid_quirk_list[] = { + /* ASUS VW222S */ + { "ACI", 0x22a2, EDID_QUIRK_FORCE_REDUCED_BLANKING }, + /* Acer AL1706 */ { "ACR", 44358, EDID_QUIRK_PREFER_LARGE_60 }, /* Acer F51 */ @@ -373,13 +376,14 @@ * \param adapter : i2c device adaptor * \return 1 on success */ -static bool +bool drm_probe_ddc(struct i2c_adapter *adapter) { unsigned char out; return (drm_do_probe_ddc_edid(adapter, &out, 0, 1) == 0); } +EXPORT_SYMBOL(drm_probe_ddc); /** * drm_get_edid - get EDID data, if available @@ -399,10 +403,7 @@ if (drm_probe_ddc(adapter)) edid = (struct edid *)drm_do_get_edid(connector, adapter); - connector->display_info.raw_edid = (char *)edid; - return edid; - } EXPORT_SYMBOL(drm_get_edid); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_edid_load.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_edid_load.c @@ -114,12 +114,12 @@ }, }; -static int edid_load(struct drm_connector *connector, char *name, - char *connector_name) +static u8 *edid_load(struct drm_connector *connector, char *name, + char *connector_name) { const struct firmware *fw; struct platform_device *pdev; - u8 *fwdata = NULL, *edid; + u8 *fwdata = NULL, *edid, *new_edid; int fwsize, expected; int builtin = 0, err = 0; int i, valid_extensions = 0; @@ -195,15 +195,16 @@ "\"%s\" for connector \"%s\"\n", valid_extensions, edid[0x7e], name, connector_name); edid[0x7e] = valid_extensions; - edid = krealloc(edid, (valid_extensions + 1) * EDID_LENGTH, + new_edid = krealloc(edid, (valid_extensions + 1) * EDID_LENGTH, GFP_KERNEL); - if (edid == NULL) { + if (new_edid == NULL) { err = -ENOMEM; + kfree(edid); goto relfw_out; } + edid = new_edid; } - connector->display_info.raw_edid = edid; DRM_INFO("Got %s EDID base block and %d extension%s from " "\"%s\" for connector \"%s\"\n", builtin ? "built-in" : "external", valid_extensions, valid_extensions == 1 ? "" : "s", @@ -213,7 +214,10 @@ release_firmware(fw); out: - return err; + if (err) + return ERR_PTR(err); + + return edid; } int drm_load_edid_firmware(struct drm_connector *connector) @@ -221,6 +225,7 @@ char *connector_name = drm_get_connector_name(connector); char *edidname = edid_firmware, *last, *colon; int ret; + struct edid *edid; if (*edidname == '\0') return 0; @@ -238,13 +243,13 @@ if (*last == '\n') *last = '\0'; - ret = edid_load(connector, edidname, connector_name); - if (ret) + edid = (struct edid *) edid_load(connector, edidname, connector_name); + if (IS_ERR_OR_NULL(edid)) return 0; - drm_mode_connector_update_edid_property(connector, - (struct edid *) connector->display_info.raw_edid); + drm_mode_connector_update_edid_property(connector, edid); + ret = drm_add_edid_modes(connector, edid); + kfree(edid); - return drm_add_edid_modes(connector, (struct edid *) - connector->display_info.raw_edid); + return ret; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_fb_helper.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_fb_helper.c @@ -228,7 +228,7 @@ int i, ret; for (i = 0; i < fb_helper->crtc_count; i++) { struct drm_mode_set *mode_set = &fb_helper->crtc_info[i].mode_set; - ret = drm_crtc_helper_set_config(mode_set); + ret = mode_set->crtc->funcs->set_config(mode_set); if (ret) error = true; } @@ -330,7 +330,7 @@ /* Walk the connectors & encoders on this fb turning them on/off */ for (j = 0; j < fb_helper->connector_count; j++) { connector = fb_helper->connector_info[j]->connector; - drm_helper_connector_dpms(connector, dpms_mode); + connector->funcs->dpms(connector, dpms_mode); drm_connector_property_set_value(connector, dev->mode_config.dpms_property, dpms_mode); } @@ -1230,7 +1230,6 @@ struct drm_device *dev = fb_helper->dev; struct drm_fb_helper_crtc **crtcs; struct drm_display_mode **modes; - struct drm_encoder *encoder; struct drm_mode_set *modeset; bool *enabled; int width, height; @@ -1241,11 +1240,6 @@ width = dev->mode_config.max_width; height = dev->mode_config.max_height; - /* clean out all the encoder/crtc combos */ - list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { - encoder->crtc = NULL; - } - crtcs = kcalloc(dev->mode_config.num_connector, sizeof(struct drm_fb_helper_crtc *), GFP_KERNEL); modes = kcalloc(dev->mode_config.num_connector, @@ -1353,7 +1347,7 @@ struct drm_device *dev = fb_helper->dev; int count = 0; u32 max_width, max_height, bpp_sel; - bool bound = false, crtcs_bound = false; + int bound = 0, crtcs_bound = 0; struct drm_crtc *crtc; if (!fb_helper->fb) @@ -1362,12 +1356,12 @@ mutex_lock(&dev->mode_config.mutex); list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { if (crtc->fb) - crtcs_bound = true; + crtcs_bound++; if (crtc->fb == fb_helper->fb) - bound = true; + bound++; } - if (!bound && crtcs_bound) { + if (bound < crtcs_bound) { fb_helper->delayed_hotplug = true; mutex_unlock(&dev->mode_config.mutex); return 0; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_fops.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_fops.c @@ -129,7 +129,8 @@ minor = idr_find(&drm_minors_idr, minor_id); if (!minor) return -ENODEV; - + if (IS_ERR(minor)) + return PTR_ERR(minor); if (!(dev = minor->dev)) return -ENODEV; @@ -139,8 +140,11 @@ retcode = drm_open_helper(inode, filp, dev); if (!retcode) { atomic_inc(&dev->counts[_DRM_STAT_OPENS]); - if (!dev->open_count++) + if (!dev->open_count++) { retcode = drm_setup(dev); + if (retcode) + dev->open_count--; + } } if (!retcode) { mutex_lock(&dev->struct_mutex); @@ -180,7 +184,10 @@ minor = idr_find(&drm_minors_idr, minor_id); if (!minor) goto out; - + if (IS_ERR(minor)) { + err = PTR_ERR(minor); + goto out; + } if (!(dev = minor->dev)) goto out; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_pci.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_pci.c @@ -367,6 +367,10 @@ list_add_tail(&dev->driver_item, &driver->device_list); + if (drm_core_check_feature(dev, DRIVER_MODESET)) + idr_replace(&drm_minors_idr, dev->control, dev->control->index); + idr_replace(&drm_minors_idr, dev->primary, dev->primary->index); + DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n", driver->name, driver->major, driver->minor, driver->patchlevel, driver->date, pci_name(pdev), dev->primary->index); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_platform.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_platform.c @@ -90,6 +90,10 @@ list_add_tail(&dev->driver_item, &driver->device_list); + if (drm_core_check_feature(dev, DRIVER_MODESET)) + idr_replace(&drm_minors_idr, dev->control, dev->control->index); + idr_replace(&drm_minors_idr, dev->primary, dev->primary->index); + mutex_unlock(&drm_global_mutex); DRM_INFO("Initialized %s %d.%d.%d %s on minor %d\n", --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_stub.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_stub.c @@ -356,7 +356,7 @@ new_minor->index = minor_id; INIT_LIST_HEAD(&new_minor->master_list); - idr_replace(&drm_minors_idr, new_minor, minor_id); + idr_replace(&drm_minors_idr, ERR_PTR(-EAGAIN), minor_id); if (type == DRM_MINOR_LEGACY) { ret = drm_proc_init(new_minor, minor_id, drm_proc_root); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/drm_mm_hsw.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/drm_mm_hsw.c @@ -0,0 +1,755 @@ +/************************************************************************** + * + * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND., USA. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + * USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * + **************************************************************************/ + +/* + * Generic simple memory manager implementation. Intended to be used as a base + * class implementation for more advanced memory managers. + * + * Note that the algorithm used is quite simple and there might be substantial + * performance gains if a smarter free list is implemented. Currently it is just an + * unordered stack of free regions. This could easily be improved if an RB-tree + * is used instead. At least if we expect heavy fragmentation. + * + * Aligned allocations can also see improvement. + * + * Authors: + * Thomas Hellström + */ + +#include +#include +#include +#include + +#define MM_UNUSED_TARGET 4 + +static struct drm_mm_node_hsw *drm_mm_kmalloc_hsw(struct drm_mm_hsw *mm, int atomic) +{ + struct drm_mm_node_hsw *child; + + if (atomic) + child = kzalloc(sizeof(*child), GFP_ATOMIC); + else + child = kzalloc(sizeof(*child), GFP_KERNEL); + + if (unlikely(child == NULL)) { + spin_lock(&mm->unused_lock); + if (list_empty(&mm->unused_nodes)) + child = NULL; + else { + child = + list_entry(mm->unused_nodes.next, + struct drm_mm_node_hsw, node_list); + list_del(&child->node_list); + --mm->num_unused; + } + spin_unlock(&mm->unused_lock); + } + return child; +} + +/* drm_mm_pre_get_hsw() - pre allocate drm_mm_node structure + * drm_mm: memory manager struct we are pre-allocating for + * + * Returns 0 on success or -ENOMEM if allocation fails. + */ +int drm_mm_pre_get_hsw(struct drm_mm_hsw *mm) +{ + struct drm_mm_node_hsw *node; + + spin_lock(&mm->unused_lock); + while (mm->num_unused < MM_UNUSED_TARGET) { + spin_unlock(&mm->unused_lock); + node = kzalloc(sizeof(*node), GFP_KERNEL); + spin_lock(&mm->unused_lock); + + if (unlikely(node == NULL)) { + int ret = (mm->num_unused < 2) ? -ENOMEM : 0; + spin_unlock(&mm->unused_lock); + return ret; + } + ++mm->num_unused; + list_add_tail(&node->node_list, &mm->unused_nodes); + } + spin_unlock(&mm->unused_lock); + return 0; +} +EXPORT_SYMBOL(drm_mm_pre_get_hsw); + +static inline unsigned long drm_mm_hole_node_start_hsw(struct drm_mm_node_hsw *hole_node) +{ + return hole_node->start + hole_node->size; +} + +static inline unsigned long drm_mm_hole_node_end_hsw(struct drm_mm_node_hsw *hole_node) +{ + struct drm_mm_node_hsw *next_node = + list_entry(hole_node->node_list.next, struct drm_mm_node_hsw, + node_list); + + return next_node->start; +} + +static void drm_mm_insert_helper_hsw(struct drm_mm_node_hsw *hole_node, + struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment, + unsigned long color) +{ + struct drm_mm_hsw *mm = hole_node->mm; + unsigned long hole_start = drm_mm_hole_node_start_hsw(hole_node); + unsigned long hole_end = drm_mm_hole_node_end_hsw(hole_node); + unsigned long adj_start = hole_start; + unsigned long adj_end = hole_end; + + BUG_ON(!hole_node->hole_follows || node->allocated); + + if (mm->color_adjust) + mm->color_adjust(hole_node, color, &adj_start, &adj_end); + + if (alignment) { + unsigned tmp = adj_start % alignment; + if (tmp) + adj_start += alignment - tmp; + } + + if (adj_start == hole_start) { + hole_node->hole_follows = 0; + list_del(&hole_node->hole_stack); + } + + node->start = adj_start; + node->size = size; + node->mm = mm; + node->color = color; + node->allocated = 1; + + INIT_LIST_HEAD(&node->hole_stack); + list_add(&node->node_list, &hole_node->node_list); + + BUG_ON(node->start + node->size > adj_end); + + node->hole_follows = 0; + if (node->start + node->size < hole_end) { + list_add(&node->hole_stack, &mm->hole_stack); + node->hole_follows = 1; + } +} + +struct drm_mm_node_hsw *drm_mm_get_block_generic_hsw(struct drm_mm_node_hsw *hole_node, + unsigned long size, + unsigned alignment, + unsigned long color, + int atomic) +{ + struct drm_mm_node_hsw *node; + + node = drm_mm_kmalloc_hsw(hole_node->mm, atomic); + if (unlikely(node == NULL)) + return NULL; + + drm_mm_insert_helper_hsw(hole_node, node, size, alignment, color); + + return node; +} +EXPORT_SYMBOL(drm_mm_get_block_generic_hsw); + +/** + * Search for free space and insert a preallocated memory node. Returns + * -ENOSPC if no suitable free area is available. The preallocated memory node + * must be cleared. + */ +int drm_mm_insert_node_hsw(struct drm_mm_hsw *mm, struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment) +{ + struct drm_mm_node_hsw *hole_node; + + hole_node = drm_mm_search_free_generic_hsw(mm, size, alignment, 0, false); + if (!hole_node) + return -ENOSPC; + + drm_mm_insert_helper_hsw(hole_node, node, size, alignment, 0); + + return 0; +} +EXPORT_SYMBOL(drm_mm_insert_node_hsw); + +static void drm_mm_insert_helper_range_hsw(struct drm_mm_node_hsw *hole_node, + struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment, + unsigned long color, + unsigned long start, unsigned long end) +{ + struct drm_mm_hsw *mm = hole_node->mm; + unsigned long hole_start = drm_mm_hole_node_start_hsw(hole_node); + unsigned long hole_end = drm_mm_hole_node_end_hsw(hole_node); + unsigned long adj_start = hole_start; + unsigned long adj_end = hole_end; + + BUG_ON(!hole_node->hole_follows || node->allocated); + + if (mm->color_adjust) + mm->color_adjust(hole_node, color, &adj_start, &adj_end); + + if (adj_start < start) + adj_start = start; + + if (alignment) { + unsigned tmp = adj_start % alignment; + if (tmp) + adj_start += alignment - tmp; + } + + if (adj_start == hole_start) { + hole_node->hole_follows = 0; + list_del(&hole_node->hole_stack); + } + + node->start = adj_start; + node->size = size; + node->mm = mm; + node->color = color; + node->allocated = 1; + + INIT_LIST_HEAD(&node->hole_stack); + list_add(&node->node_list, &hole_node->node_list); + + BUG_ON(node->start + node->size > adj_end); + BUG_ON(node->start + node->size > end); + + node->hole_follows = 0; + if (node->start + node->size < hole_end) { + list_add(&node->hole_stack, &mm->hole_stack); + node->hole_follows = 1; + } +} + +struct drm_mm_node_hsw *drm_mm_get_block_range_generic_hsw(struct drm_mm_node_hsw *hole_node, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end, + int atomic) +{ + struct drm_mm_node_hsw *node; + + node = drm_mm_kmalloc_hsw(hole_node->mm, atomic); + if (unlikely(node == NULL)) + return NULL; + + drm_mm_insert_helper_range_hsw(hole_node, node, size, alignment, color, + start, end); + + return node; +} +EXPORT_SYMBOL(drm_mm_get_block_range_generic_hsw); + +/** + * Search for free space and insert a preallocated memory node. Returns + * -ENOSPC if no suitable free area is available. This is for range + * restricted allocations. The preallocated memory node must be cleared. + */ +int drm_mm_insert_node_in_range_hsw(struct drm_mm_hsw *mm, struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment, + unsigned long start, unsigned long end) +{ + struct drm_mm_node_hsw *hole_node; + + hole_node = drm_mm_search_free_in_range_generic_hsw(mm, size, alignment, 0, + start, end, false); + if (!hole_node) + return -ENOSPC; + + drm_mm_insert_helper_range_hsw(hole_node, node, size, alignment, 0, + start, end); + + return 0; +} +EXPORT_SYMBOL(drm_mm_insert_node_in_range_hsw); + +/** + * Remove a memory node from the allocator. + */ +void drm_mm_remove_node_hsw(struct drm_mm_node_hsw *node) +{ + struct drm_mm_hsw *mm = node->mm; + struct drm_mm_node_hsw *prev_node; + + BUG_ON(node->scanned_block || node->scanned_prev_free + || node->scanned_next_free); + + prev_node = + list_entry(node->node_list.prev, struct drm_mm_node_hsw, node_list); + + if (node->hole_follows) { + BUG_ON(drm_mm_hole_node_start_hsw(node) + == drm_mm_hole_node_end_hsw(node)); + list_del(&node->hole_stack); + } else + BUG_ON(drm_mm_hole_node_start_hsw(node) + != drm_mm_hole_node_end_hsw(node)); + + if (!prev_node->hole_follows) { + prev_node->hole_follows = 1; + list_add(&prev_node->hole_stack, &mm->hole_stack); + } else + list_move(&prev_node->hole_stack, &mm->hole_stack); + + list_del(&node->node_list); + node->allocated = 0; +} +EXPORT_SYMBOL(drm_mm_remove_node_hsw); + +/* + * Remove a memory node from the allocator and free the allocated struct + * drm_mm_node. Only to be used on a struct drm_mm_node_hsw obtained by one of the + * drm_mm_get_block functions. + */ +void drm_mm_put_block_hsw(struct drm_mm_node_hsw *node) +{ + + struct drm_mm_hsw *mm = node->mm; + + drm_mm_remove_node_hsw(node); + + spin_lock(&mm->unused_lock); + if (mm->num_unused < MM_UNUSED_TARGET) { + list_add(&node->node_list, &mm->unused_nodes); + ++mm->num_unused; + } else + kfree(node); + spin_unlock(&mm->unused_lock); +} +EXPORT_SYMBOL(drm_mm_put_block_hsw); + +static int check_free_hole_hsw(unsigned long start, unsigned long end, + unsigned long size, unsigned alignment) +{ + if (end - start < size) + return 0; + + if (alignment) { + unsigned tmp = start % alignment; + if (tmp) + start += alignment - tmp; + } + + return end >= start + size; +} + +struct drm_mm_node_hsw *drm_mm_search_free_generic_hsw(const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + bool best_match) +{ + struct drm_mm_node_hsw *entry; + struct drm_mm_node_hsw *best; + unsigned long best_size; + + BUG_ON(mm->scanned_blocks); + + best = NULL; + best_size = ~0UL; + + list_for_each_entry(entry, &mm->hole_stack, hole_stack) { + unsigned long adj_start = drm_mm_hole_node_start_hsw(entry); + unsigned long adj_end = drm_mm_hole_node_end_hsw(entry); + + if (mm->color_adjust) { + mm->color_adjust(entry, color, &adj_start, &adj_end); + if (adj_end <= adj_start) + continue; + } + + BUG_ON(!entry->hole_follows); + if (!check_free_hole_hsw(adj_start, adj_end, size, alignment)) + continue; + + if (!best_match) + return entry; + + if (entry->size < best_size) { + best = entry; + best_size = entry->size; + } + } + + return best; +} +EXPORT_SYMBOL(drm_mm_search_free_generic_hsw); + +struct drm_mm_node_hsw *drm_mm_search_free_in_range_generic_hsw(const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end, + bool best_match) +{ + struct drm_mm_node_hsw *entry; + struct drm_mm_node_hsw *best; + unsigned long best_size; + + BUG_ON(mm->scanned_blocks); + + best = NULL; + best_size = ~0UL; + + list_for_each_entry(entry, &mm->hole_stack, hole_stack) { + unsigned long adj_start = drm_mm_hole_node_start_hsw(entry) < start ? + start : drm_mm_hole_node_start_hsw(entry); + unsigned long adj_end = drm_mm_hole_node_end_hsw(entry) > end ? + end : drm_mm_hole_node_end_hsw(entry); + + BUG_ON(!entry->hole_follows); + + if (mm->color_adjust) { + mm->color_adjust(entry, color, &adj_start, &adj_end); + if (adj_end <= adj_start) + continue; + } + + if (!check_free_hole_hsw(adj_start, adj_end, size, alignment)) + continue; + + if (!best_match) + return entry; + + if (entry->size < best_size) { + best = entry; + best_size = entry->size; + } + } + + return best; +} +EXPORT_SYMBOL(drm_mm_search_free_in_range_generic_hsw); + +/** + * Moves an allocation. To be used with embedded struct drm_mm_node_hsw. + */ +void drm_mm_replace_node_hsw(struct drm_mm_node_hsw *old, struct drm_mm_node_hsw *new) +{ + list_replace(&old->node_list, &new->node_list); + list_replace(&old->hole_stack, &new->hole_stack); + new->hole_follows = old->hole_follows; + new->mm = old->mm; + new->start = old->start; + new->size = old->size; + new->color = old->color; + + old->allocated = 0; + new->allocated = 1; +} +EXPORT_SYMBOL(drm_mm_replace_node_hsw); + +/** + * Initializa lru scanning. + * + * This simply sets up the scanning routines with the parameters for the desired + * hole. + * + * Warning: As long as the scan list is non-empty, no other operations than + * adding/removing nodes to/from the scan list are allowed. + */ +void drm_mm_init_scan_hsw(struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color) +{ + mm->scan_color = color; + mm->scan_alignment = alignment; + mm->scan_size = size; + mm->scanned_blocks = 0; + mm->scan_hit_start = 0; + mm->scan_hit_size = 0; + mm->scan_check_range = 0; + mm->prev_scanned_node = NULL; +} +EXPORT_SYMBOL(drm_mm_init_scan_hsw); + +/** + * Initializa lru scanning. + * + * This simply sets up the scanning routines with the parameters for the desired + * hole. This version is for range-restricted scans. + * + * Warning: As long as the scan list is non-empty, no other operations than + * adding/removing nodes to/from the scan list are allowed. + */ +void drm_mm_init_scan_with_range_hsw(struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end) +{ + mm->scan_color = color; + mm->scan_alignment = alignment; + mm->scan_size = size; + mm->scanned_blocks = 0; + mm->scan_hit_start = 0; + mm->scan_hit_size = 0; + mm->scan_start = start; + mm->scan_end = end; + mm->scan_check_range = 1; + mm->prev_scanned_node = NULL; +} +EXPORT_SYMBOL(drm_mm_init_scan_with_range_hsw); + +/** + * Add a node to the scan list that might be freed to make space for the desired + * hole. + * + * Returns non-zero, if a hole has been found, zero otherwise. + */ +int drm_mm_scan_add_block_hsw(struct drm_mm_node_hsw *node) +{ + struct drm_mm_hsw *mm = node->mm; + struct drm_mm_node_hsw *prev_node; + unsigned long hole_start, hole_end; + unsigned long adj_start; + unsigned long adj_end; + + mm->scanned_blocks++; + + BUG_ON(node->scanned_block); + node->scanned_block = 1; + + prev_node = list_entry(node->node_list.prev, struct drm_mm_node_hsw, + node_list); + + node->scanned_preceeds_hole = prev_node->hole_follows; + prev_node->hole_follows = 1; + list_del(&node->node_list); + node->node_list.prev = &prev_node->node_list; + node->node_list.next = &mm->prev_scanned_node->node_list; + mm->prev_scanned_node = node; + + hole_start = drm_mm_hole_node_start_hsw(prev_node); + hole_end = drm_mm_hole_node_end_hsw(prev_node); + + adj_start = hole_start; + adj_end = hole_end; + + if (mm->color_adjust) + mm->color_adjust(prev_node, mm->scan_color, &adj_start, &adj_end); + + if (mm->scan_check_range) { + if (adj_start < mm->scan_start) + adj_start = mm->scan_start; + if (adj_end > mm->scan_end) + adj_end = mm->scan_end; + } + + if (check_free_hole_hsw(adj_start, adj_end, + mm->scan_size, mm->scan_alignment)) { + mm->scan_hit_start = hole_start; + mm->scan_hit_size = hole_end; + + return 1; + } + + return 0; +} +EXPORT_SYMBOL(drm_mm_scan_add_block_hsw); + +/** + * Remove a node from the scan list. + * + * Nodes _must_ be removed in the exact same order from the scan list as they + * have been added, otherwise the internal state of the memory manager will be + * corrupted. + * + * When the scan list is empty, the selected memory nodes can be freed. An + * immediately following drm_mm_search_free with best_match = 0 will then return + * the just freed block (because its at the top of the free_stack list). + * + * Returns one if this block should be evicted, zero otherwise. Will always + * return zero when no hole has been found. + */ +int drm_mm_scan_remove_block_hsw(struct drm_mm_node_hsw *node) +{ + struct drm_mm_hsw *mm = node->mm; + struct drm_mm_node_hsw *prev_node; + + mm->scanned_blocks--; + + BUG_ON(!node->scanned_block); + node->scanned_block = 0; + + prev_node = list_entry(node->node_list.prev, struct drm_mm_node_hsw, + node_list); + + prev_node->hole_follows = node->scanned_preceeds_hole; + INIT_LIST_HEAD(&node->node_list); + list_add(&node->node_list, &prev_node->node_list); + + /* Only need to check for containement because start&size for the + * complete resulting free block (not just the desired part) is + * stored. */ + if (node->start >= mm->scan_hit_start && + node->start + node->size + <= mm->scan_hit_start + mm->scan_hit_size) { + return 1; + } + + return 0; +} +EXPORT_SYMBOL(drm_mm_scan_remove_block_hsw); + +int drm_mm_clean_hsw(struct drm_mm_hsw * mm) +{ + struct list_head *head = &mm->head_node.node_list; + + return (head->next->next == head); +} +EXPORT_SYMBOL(drm_mm_clean_hsw); + +int drm_mm_init_hsw(struct drm_mm_hsw * mm, unsigned long start, unsigned long size) +{ + INIT_LIST_HEAD(&mm->hole_stack); + INIT_LIST_HEAD(&mm->unused_nodes); + mm->num_unused = 0; + mm->scanned_blocks = 0; + spin_lock_init(&mm->unused_lock); + + /* Clever trick to avoid a special case in the free hole tracking. */ + INIT_LIST_HEAD(&mm->head_node.node_list); + INIT_LIST_HEAD(&mm->head_node.hole_stack); + mm->head_node.hole_follows = 1; + mm->head_node.scanned_block = 0; + mm->head_node.scanned_prev_free = 0; + mm->head_node.scanned_next_free = 0; + mm->head_node.mm = mm; + mm->head_node.start = start + size; + mm->head_node.size = start - mm->head_node.start; + list_add_tail(&mm->head_node.hole_stack, &mm->hole_stack); + + mm->color_adjust = NULL; + + return 0; +} +EXPORT_SYMBOL(drm_mm_init_hsw); + +void drm_mm_takedown_hsw(struct drm_mm_hsw * mm) +{ + struct drm_mm_node_hsw *entry, *next; + + if (!list_empty(&mm->head_node.node_list)) { + DRM_ERROR("Memory manager not clean. Delaying takedown\n"); + return; + } + + spin_lock(&mm->unused_lock); + list_for_each_entry_safe(entry, next, &mm->unused_nodes, node_list) { + list_del(&entry->node_list); + kfree(entry); + --mm->num_unused; + } + spin_unlock(&mm->unused_lock); + + BUG_ON(mm->num_unused != 0); +} +EXPORT_SYMBOL(drm_mm_takedown_hsw); + +void drm_mm_debug_table_hsw(struct drm_mm_hsw *mm, const char *prefix) +{ + struct drm_mm_node_hsw *entry; + unsigned long total_used = 0, total_free = 0, total = 0; + unsigned long hole_start, hole_end, hole_size; + + hole_start = drm_mm_hole_node_start_hsw(&mm->head_node); + hole_end = drm_mm_hole_node_end_hsw(&mm->head_node); + hole_size = hole_end - hole_start; + if (hole_size) + printk(KERN_DEBUG "%s 0x%08lx-0x%08lx: %8lu: free\n", + prefix, hole_start, hole_end, + hole_size); + total_free += hole_size; + + drm_mm_hsw_for_each_node(entry, mm) { + printk(KERN_DEBUG "%s 0x%08lx-0x%08lx: %8lu: used\n", + prefix, entry->start, entry->start + entry->size, + entry->size); + total_used += entry->size; + + if (entry->hole_follows) { + hole_start = drm_mm_hole_node_start_hsw(entry); + hole_end = drm_mm_hole_node_end_hsw(entry); + hole_size = hole_end - hole_start; + printk(KERN_DEBUG "%s 0x%08lx-0x%08lx: %8lu: free\n", + prefix, hole_start, hole_end, + hole_size); + total_free += hole_size; + } + } + total = total_free + total_used; + + printk(KERN_DEBUG "%s total: %lu, used %lu free %lu\n", prefix, total, + total_used, total_free); +} +EXPORT_SYMBOL(drm_mm_debug_table_hsw); + +#if defined(CONFIG_DEBUG_FS) +int drm_mm_dump_table_hsw(struct seq_file *m, struct drm_mm_hsw *mm) +{ + struct drm_mm_node_hsw *entry; + unsigned long total_used = 0, total_free = 0, total = 0; + unsigned long hole_start, hole_end, hole_size; + + hole_start = drm_mm_hole_node_start_hsw(&mm->head_node); + hole_end = drm_mm_hole_node_end_hsw(&mm->head_node); + hole_size = hole_end - hole_start; + if (hole_size) + seq_printf(m, "0x%08lx-0x%08lx: 0x%08lx: free\n", + hole_start, hole_end, hole_size); + total_free += hole_size; + + drm_mm_hsw_for_each_node(entry, mm) { + seq_printf(m, "0x%08lx-0x%08lx: 0x%08lx: used\n", + entry->start, entry->start + entry->size, + entry->size); + total_used += entry->size; + if (entry->hole_follows) { + hole_start = drm_mm_hole_node_start_hsw(entry); + hole_end = drm_mm_hole_node_end_hsw(entry); + hole_size = hole_end - hole_start; + seq_printf(m, "0x%08lx-0x%08lx: 0x%08lx: free\n", + hole_start, hole_end, hole_size); + total_free += hole_size; + } + } + total = total_free + total_used; + + seq_printf(m, "total: %lu, used %lu free %lu\n", total, total_used, total_free); + return 0; +} +EXPORT_SYMBOL(drm_mm_dump_table_hsw); +#endif --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/exynos/exynos_drm_connector.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/exynos/exynos_drm_connector.c @@ -147,9 +147,7 @@ drm_mode_connector_update_edid_property(connector, edid); count = drm_add_edid_modes(connector, edid); - - kfree(connector->display_info.raw_edid); - connector->display_info.raw_edid = edid; + kfree(edid); } else { struct drm_display_mode *mode = drm_mode_create(connector->dev); struct exynos_drm_panel_info *panel; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/exynos/exynos_drm_vidi.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/exynos/exynos_drm_vidi.c @@ -104,7 +104,6 @@ u8 *edid, int len) { struct vidi_context *ctx = get_vidi_context(dev); - struct edid *raw_edid; DRM_DEBUG_KMS("%s\n", __FILE__); @@ -117,18 +116,6 @@ return -EFAULT; } - raw_edid = kzalloc(len, GFP_KERNEL); - if (!raw_edid) { - DRM_DEBUG_KMS("failed to allocate raw_edid.\n"); - return -ENOMEM; - } - - memcpy(raw_edid, ctx->raw_edid, min((1 + ctx->raw_edid->extensions) - * EDID_LENGTH, len)); - - /* attach the edid data to connector. */ - connector->display_info.raw_edid = (char *)raw_edid; - memcpy(edid, ctx->raw_edid, min((1 + ctx->raw_edid->extensions) * EDID_LENGTH, len)); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/gma500/cdv_intel_hdmi.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/gma500/cdv_intel_hdmi.c @@ -157,8 +157,6 @@ hdmi_priv->has_hdmi_audio = drm_detect_monitor_audio(edid); } - - psb_intel_connector->base.display_info.raw_edid = NULL; kfree(edid); } return status; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/gma500/oaktrail_device.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/gma500/oaktrail_device.c @@ -476,6 +476,7 @@ .pos = DSPAPOS, .surf = DSPASURF, .addr = MRST_DSPABASE, + .base = MRST_DSPABASE, .status = PIPEASTAT, .linoff = DSPALINOFF, .tileoff = DSPATILEOFF, @@ -499,6 +500,7 @@ .pos = DSPBPOS, .surf = DSPBSURF, .addr = DSPBBASE, + .base = DSPBBASE, .status = PIPEBSTAT, .linoff = DSPBLINOFF, .tileoff = DSPBTILEOFF, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/gma500/oaktrail_hdmi.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/gma500/oaktrail_hdmi.c @@ -252,7 +252,6 @@ if (edid) { drm_mode_connector_update_edid_property(connector, edid); ret = drm_add_edid_modes(connector, edid); - connector->display_info.raw_edid = NULL; } /* --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/gma500/psb_intel_display.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/gma500/psb_intel_display.c @@ -1362,6 +1362,9 @@ (struct drm_connector **) (psb_intel_crtc + 1); psb_intel_crtc->mode_set.num_connectors = 0; psb_intel_cursor_init(dev, psb_intel_crtc); + + /* Set to true so that the pipe is forced off on initial config. */ + psb_intel_crtc->active = true; } int psb_intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/gma500/psb_intel_sdvo.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/gma500/psb_intel_sdvo.c @@ -1343,7 +1343,6 @@ } } else status = connector_status_disconnected; - connector->display_info.raw_edid = NULL; kfree(edid); } @@ -1404,7 +1403,6 @@ ret = connector_status_disconnected; else ret = connector_status_connected; - connector->display_info.raw_edid = NULL; kfree(edid); } else ret = connector_status_connected; @@ -1453,7 +1451,6 @@ drm_add_edid_modes(connector, edid); } - connector->display_info.raw_edid = NULL; kfree(edid); } } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_dma.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_dma.c @@ -1082,8 +1082,8 @@ ring->status_page.gfx_addr = hws->addr & (0x1ffff<<12); - dev_priv->dri1.gfx_hws_cpu_addr = ioremap_wc(dev->agp->base + hws->addr, - 4096); + dev_priv->dri1.gfx_hws_cpu_addr = + ioremap_wc(dev_priv->mm.gtt_base_addr + hws->addr, 4096); if (dev_priv->dri1.gfx_hws_cpu_addr == NULL) { i915_dma_cleanup(dev); ring->status_page.gfx_addr = 0; @@ -1411,7 +1411,7 @@ if (!ap) return; - ap->ranges[0].base = dev_priv->dev->agp->base; + ap->ranges[0].base = dev_priv->mm.gtt->gma_bus_addr; ap->ranges[0].size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; primary = @@ -1501,16 +1501,26 @@ goto put_bridge; } + ret = intel_gmch_probe(dev_priv->bridge_dev, dev->pdev, NULL); + if (!ret) { + DRM_ERROR("failed to set up gmch\n"); + ret = -EIO; + goto out_rmmap; + } + aperture_size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; + dev_priv->mm.gtt_base_addr = dev_priv->mm.gtt->gma_bus_addr; dev_priv->mm.gtt_mapping = - io_mapping_create_wc(dev->agp->base, aperture_size); + io_mapping_create_wc(dev_priv->mm.gtt_base_addr, + aperture_size); if (dev_priv->mm.gtt_mapping == NULL) { ret = -EIO; - goto out_rmmap; + goto put_gmch; } - i915_mtrr_setup(dev_priv, dev->agp->base, aperture_size); + i915_mtrr_setup(dev_priv, dev_priv->mm.gtt_base_addr, + aperture_size); /* The i915 workqueue is primarily used for batched retirement of * requests (and thus managing bo) once the task has been completed @@ -1622,11 +1632,14 @@ destroy_workqueue(dev_priv->wq); out_mtrrfree: if (dev_priv->mm.gtt_mtrr >= 0) { - mtrr_del(dev_priv->mm.gtt_mtrr, dev->agp->base, - dev->agp->agp_info.aper_size * 1024 * 1024); + mtrr_del(dev_priv->mm.gtt_mtrr, + dev_priv->mm.gtt_base_addr, + aperture_size); dev_priv->mm.gtt_mtrr = -1; } io_mapping_free(dev_priv->mm.gtt_mapping); +put_gmch: + intel_gmch_remove(); out_rmmap: pci_iounmap(dev->pdev, dev_priv->regs); put_bridge: @@ -1660,8 +1673,9 @@ io_mapping_free(dev_priv->mm.gtt_mapping); if (dev_priv->mm.gtt_mtrr >= 0) { - mtrr_del(dev_priv->mm.gtt_mtrr, dev->agp->base, - dev->agp->agp_info.aper_size * 1024 * 1024); + mtrr_del(dev_priv->mm.gtt_mtrr, + dev_priv->mm.gtt_base_addr, + dev_priv->mm.gtt->gtt_mappable_entries * PAGE_SIZE); dev_priv->mm.gtt_mtrr = -1; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_drv.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_drv.c @@ -351,13 +351,9 @@ INTEL_VGA_DEVICE(0x0162, &intel_ivybridge_d_info), /* GT2 desktop */ INTEL_VGA_DEVICE(0x015a, &intel_ivybridge_d_info), /* GT1 server */ INTEL_VGA_DEVICE(0x016a, &intel_ivybridge_d_info), /* GT2 server */ - INTEL_VGA_DEVICE(0x0402, &intel_haswell_d_info), /* GT1 desktop */ - INTEL_VGA_DEVICE(0x0412, &intel_haswell_d_info), /* GT2 desktop */ - INTEL_VGA_DEVICE(0x040a, &intel_haswell_d_info), /* GT1 server */ - INTEL_VGA_DEVICE(0x041a, &intel_haswell_d_info), /* GT2 server */ - INTEL_VGA_DEVICE(0x0406, &intel_haswell_m_info), /* GT1 mobile */ - INTEL_VGA_DEVICE(0x0416, &intel_haswell_m_info), /* GT2 mobile */ - INTEL_VGA_DEVICE(0x0c16, &intel_haswell_d_info), /* SDV */ + INTEL_VGA_DEVICE(0x0f30, &intel_valleyview_m_info), + INTEL_VGA_DEVICE(0x0157, &intel_valleyview_m_info), + INTEL_VGA_DEVICE(0x0155, &intel_valleyview_d_info), {0, 0, 0} }; @@ -429,36 +425,68 @@ return 1; } +static void __gen6_gt_wait_for_thread_c0(struct drm_i915_private *dev_priv) +{ + u32 gt_thread_status_mask; + + if (IS_HASWELL(dev_priv->dev)) + gt_thread_status_mask = GEN6_GT_THREAD_STATUS_CORE_MASK_HSW; + else + gt_thread_status_mask = GEN6_GT_THREAD_STATUS_CORE_MASK; + + /* w/a for a sporadic read returning 0 by waiting for the GT + * thread to wake up. + */ + if (wait_for_atomic_us((I915_READ_NOTRACE(GEN6_GT_THREAD_STATUS_REG) & gt_thread_status_mask) == 0, 500)) + DRM_ERROR("GT thread status wait timed out\n"); +} + void __gen6_gt_force_wake_get(struct drm_i915_private *dev_priv) { int count; + u32 forcewake_ack; + + if (IS_HASWELL(dev_priv->dev)) + forcewake_ack = FORCEWAKE_ACK_HSW; + else + forcewake_ack = FORCEWAKE_ACK; count = 0; - while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_ACK) & 1)) + while (count++ < 50 && (I915_READ_NOTRACE(forcewake_ack) & 1)) udelay(10); I915_WRITE_NOTRACE(FORCEWAKE, 1); POSTING_READ(FORCEWAKE); count = 0; - while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_ACK) & 1) == 0) + while (count++ < 50 && (I915_READ_NOTRACE(forcewake_ack) & 1) == 0) udelay(10); + + __gen6_gt_wait_for_thread_c0(dev_priv); } void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv) { int count; + u32 forcewake_ack; + + if (IS_HASWELL(dev_priv->dev)) + forcewake_ack = FORCEWAKE_ACK_HSW; + else + forcewake_ack = FORCEWAKE_MT_ACK; count = 0; - while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_MT_ACK) & 1)) + while (count++ < 50 && (I915_READ_NOTRACE(forcewake_ack) & 1)) udelay(10); I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_ENABLE(1)); POSTING_READ(FORCEWAKE_MT); count = 0; - while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_MT_ACK) & 1) == 0) + while (count++ < 50 && (I915_READ_NOTRACE(forcewake_ack) & 1) == 0) udelay(10); + + __gen6_gt_wait_for_thread_c0(dev_priv); } /* @@ -549,6 +577,8 @@ count = 0; while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_ACK_VLV) & 1) == 0) udelay(10); + + __gen6_gt_wait_for_thread_c0(dev_priv); } void vlv_force_wake_put(struct drm_i915_private *dev_priv) @@ -925,10 +955,12 @@ return 0; } - static int __devinit i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { + struct intel_device_info *intel_info = + (struct intel_device_info *) ent->driver_data; + /* Only bind to function 0 of the device. Early generations * used function 1 as a placeholder for multi-head. This causes * us confusion instead, especially on the systems where both @@ -937,6 +969,18 @@ if (PCI_FUNC(pdev->devfn)) return -ENODEV; + /* We've managed to ship a kms-enabled ddx that shipped with an XvMC + * implementation for gen3 (and only gen3) that used legacy drm maps + * (gasp!) to share buffers between X and the client. Hence we need to + * keep around the fake agp stuff for gen3, even when kms is enabled. */ + if (intel_info->gen != 3) { + driver.driver_features &= + ~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP); + } else if (!intel_agp_enabled) { + DRM_ERROR("drm/i915 can't work without intel_agp module!\n"); + return -ENODEV; + } + return drm_get_pci_dev(pdev, ent, &driver); } @@ -1097,11 +1141,6 @@ static int __init i915_init(void) { - if (!intel_agp_enabled) { - DRM_ERROR("drm/i915 can't work without intel_agp module!\n"); - return -ENODEV; - } - driver.num_ioctls = i915_max_ioctl; /* --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_drv.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_drv.h @@ -329,6 +329,7 @@ #define QUIRK_PIPEA_FORCE (1<<0) #define QUIRK_LVDS_SSC_DISABLE (1<<1) #define QUIRK_INVERT_BRIGHTNESS (1<<2) +#define QUIRK_RC6_DISABLE (1<<3) struct intel_fbdev; struct intel_fbc_work; @@ -652,11 +653,14 @@ unsigned long gtt_end; struct io_mapping *gtt_mapping; + phys_addr_t gtt_base_addr; int gtt_mtrr; /** PPGTT used for aliasing the PPGTT with the GTT */ struct i915_hw_ppgtt *aliasing_ppgtt; + u32 *l3_remap_info; + struct shrinker inactive_shrinker; /** @@ -817,6 +821,8 @@ struct drm_property *broadcast_rgb_property; struct drm_property *force_audio_property; + + struct work_struct parity_error_work; } drm_i915_private_t; /* Iterate over initialised rings */ @@ -1315,6 +1321,7 @@ int __must_check i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj); int __must_check i915_gem_init(struct drm_device *dev); int __must_check i915_gem_init_hw(struct drm_device *dev); +void i915_gem_l3_remap(struct drm_device *dev); void i915_gem_init_swizzling(struct drm_device *dev); void i915_gem_init_ppgtt(struct drm_device *dev); void i915_gem_cleanup_ringbuffer(struct drm_device *dev); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_gem.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_gem.c @@ -1122,7 +1122,7 @@ obj->fault_mappable = true; - pfn = ((dev->agp->base + obj->gtt_offset) >> PAGE_SHIFT) + + pfn = ((dev_priv->mm.gtt_base_addr + obj->gtt_offset) >> PAGE_SHIFT) + page_offset; /* Finally, remap it using the new GTT offset */ @@ -1144,6 +1144,11 @@ case 0: case -ERESTARTSYS: case -EINTR: + case -EBUSY: + /* + * EBUSY is ok: this just means that another thread + * already did the job. + */ return VM_FAULT_NOPAGE; case -ENOMEM: return VM_FAULT_OOM; @@ -3044,7 +3049,8 @@ { int ret; - BUG_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT); + if (WARN_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT)) + return -EBUSY; if (obj->gtt_space != NULL) { if ((alignment && obj->gtt_offset & (alignment - 1)) || @@ -3435,6 +3441,38 @@ return 0; } +void i915_gem_l3_remap(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u32 misccpctl; + int i; + + if (!IS_IVYBRIDGE(dev)) + return; + + if (!dev_priv->mm.l3_remap_info) + return; + + misccpctl = I915_READ(GEN7_MISCCPCTL); + I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); + POSTING_READ(GEN7_MISCCPCTL); + + for (i = 0; i < GEN7_L3LOG_SIZE; i += 4) { + u32 remap = I915_READ(GEN7_L3LOG_BASE + i); + if (remap && remap != dev_priv->mm.l3_remap_info[i/4]) + DRM_DEBUG("0x%x was already programmed to %x\n", + GEN7_L3LOG_BASE + i, remap); + if (remap && !dev_priv->mm.l3_remap_info[i/4]) + DRM_DEBUG_DRIVER("Clearing remapped register\n"); + I915_WRITE(GEN7_L3LOG_BASE + i, dev_priv->mm.l3_remap_info[i/4]); + } + + /* Make sure all the writes land before disabling dop clock gating */ + POSTING_READ(GEN7_L3LOG_BASE); + + I915_WRITE(GEN7_MISCCPCTL, misccpctl); +} + void i915_gem_init_swizzling(struct drm_device *dev) { drm_i915_private_t *dev_priv = dev->dev_private; @@ -3524,6 +3562,8 @@ drm_i915_private_t *dev_priv = dev->dev_private; int ret; + i915_gem_l3_remap(dev); + i915_gem_init_swizzling(dev); ret = intel_init_render_ring_buffer(dev); @@ -3657,7 +3697,6 @@ BUG_ON(!list_empty(&dev_priv->mm.active_list)); BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); - BUG_ON(!list_empty(&dev_priv->mm.inactive_list)); mutex_unlock(&dev->struct_mutex); ret = drm_irq_install(dev); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_debug.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_gem_debug.c @@ -132,7 +132,8 @@ __func__, obj, obj->gtt_offset, handle, obj->size / 1024); - gtt_mapping = ioremap(dev->agp->base + obj->gtt_offset, obj->base.size); + gtt_mapping = ioremap(dev_priv->mm.gtt_base_addr + obj->gtt_offset, + obj->base.size); if (gtt_mapping == NULL) { DRM_ERROR("failed to map GTT space\n"); return; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -269,6 +269,7 @@ static inline int use_cpu_reloc(struct drm_i915_gem_object *obj) { return (obj->base.write_domain == I915_GEM_DOMAIN_CPU || + !obj->map_and_fenceable || obj->cache_level != I915_CACHE_NONE); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_gtt.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -261,7 +261,10 @@ pte_flags |= GEN6_PTE_CACHE_LLC; break; case I915_CACHE_NONE: - pte_flags |= GEN6_PTE_UNCACHED; + if (IS_HASWELL(dev)) + pte_flags |= HSW_PTE_UNCACHED; + else + pte_flags |= GEN6_PTE_UNCACHED; break; default: BUG(); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_irq.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_irq.c @@ -375,6 +375,86 @@ mutex_unlock(&dev_priv->dev->struct_mutex); } + +/** + * ivybridge_parity_work - Workqueue called when a parity error interrupt + * occurred. + * @work: workqueue struct + * + * Doesn't actually do anything except notify userspace. As a consequence of + * this event, userspace should try to remap the bad rows since statistically + * it is likely the same row is more likely to go bad again. + */ +static void ivybridge_parity_work(struct work_struct *work) +{ + drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t, + parity_error_work); + u32 error_status, row, bank, subbank; + char *parity_event[5]; + uint32_t misccpctl; + unsigned long flags; + + /* We must turn off DOP level clock gating to access the L3 registers. + * In order to prevent a get/put style interface, acquire struct mutex + * any time we access those registers. + */ + mutex_lock(&dev_priv->dev->struct_mutex); + + misccpctl = I915_READ(GEN7_MISCCPCTL); + I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); + POSTING_READ(GEN7_MISCCPCTL); + + error_status = I915_READ(GEN7_L3CDERRST1); + row = GEN7_PARITY_ERROR_ROW(error_status); + bank = GEN7_PARITY_ERROR_BANK(error_status); + subbank = GEN7_PARITY_ERROR_SUBBANK(error_status); + + I915_WRITE(GEN7_L3CDERRST1, GEN7_PARITY_ERROR_VALID | + GEN7_L3CDERRST1_ENABLE); + POSTING_READ(GEN7_L3CDERRST1); + + I915_WRITE(GEN7_MISCCPCTL, misccpctl); + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + dev_priv->gt_irq_mask &= ~GT_GEN7_L3_PARITY_ERROR_INTERRUPT; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + mutex_unlock(&dev_priv->dev->struct_mutex); + + parity_event[0] = "L3_PARITY_ERROR=1"; + parity_event[1] = kasprintf(GFP_KERNEL, "ROW=%d", row); + parity_event[2] = kasprintf(GFP_KERNEL, "BANK=%d", bank); + parity_event[3] = kasprintf(GFP_KERNEL, "SUBBANK=%d", subbank); + parity_event[4] = NULL; + + kobject_uevent_env(&dev_priv->dev->primary->kdev.kobj, + KOBJ_CHANGE, parity_event); + + DRM_DEBUG("Parity error: Row = %d, Bank = %d, Sub bank = %d.\n", + row, bank, subbank); + + kfree(parity_event[3]); + kfree(parity_event[2]); + kfree(parity_event[1]); +} + +static void ivybridge_handle_parity_error(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long flags; + + if (!IS_IVYBRIDGE(dev)) + return; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + dev_priv->gt_irq_mask |= GT_GEN7_L3_PARITY_ERROR_INTERRUPT; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + queue_work(dev_priv->wq, &dev_priv->parity_error_work); +} + static void snb_gt_irq_handler(struct drm_device *dev, struct drm_i915_private *dev_priv, u32 gt_iir) @@ -394,6 +474,9 @@ DRM_ERROR("GT error interrupt 0x%08x\n", gt_iir); i915_handle_error(dev, false); } + + if (gt_iir & GT_GEN7_L3_PARITY_ERROR_INTERRUPT) + ivybridge_handle_parity_error(dev); } static void gen6_queue_rps_work(struct drm_i915_private *dev_priv, @@ -605,12 +688,12 @@ intel_opregion_gse_intr(dev); for (i = 0; i < 3; i++) { + if (de_iir & (DE_PIPEA_VBLANK_IVB << (5 * i))) + drm_handle_vblank(dev, i); if (de_iir & (DE_PLANEA_FLIP_DONE_IVB << (5 * i))) { intel_prepare_page_flip(dev, i); intel_finish_page_flip_plane(dev, i); } - if (de_iir & (DE_PIPEA_VBLANK_IVB << (5 * i))) - drm_handle_vblank(dev, i); } /* check event from PCH */ @@ -692,6 +775,12 @@ if (de_iir & DE_GSE) intel_opregion_gse_intr(dev); + if (de_iir & DE_PIPEA_VBLANK) + drm_handle_vblank(dev, 0); + + if (de_iir & DE_PIPEB_VBLANK) + drm_handle_vblank(dev, 1); + if (de_iir & DE_PLANEA_FLIP_DONE) { intel_prepare_page_flip(dev, 0); intel_finish_page_flip_plane(dev, 0); @@ -702,12 +791,6 @@ intel_finish_page_flip_plane(dev, 1); } - if (de_iir & DE_PIPEA_VBLANK) - drm_handle_vblank(dev, 0); - - if (de_iir & DE_PIPEB_VBLANK) - drm_handle_vblank(dev, 1); - /* check event from PCH */ if (de_iir & DE_PCH_EVENT) { if (pch_iir & hotplug_mask) @@ -1648,7 +1731,6 @@ atomic_set(&dev_priv->irq_received, 0); - I915_WRITE(HWSTAM, 0xeffe); /* XXX hotplug from PCH */ @@ -1811,13 +1893,13 @@ DE_PIPEA_VBLANK_IVB); POSTING_READ(DEIER); - dev_priv->gt_irq_mask = ~0; + dev_priv->gt_irq_mask = ~GT_GEN7_L3_PARITY_ERROR_INTERRUPT; I915_WRITE(GTIIR, I915_READ(GTIIR)); I915_WRITE(GTIMR, dev_priv->gt_irq_mask); render_irqs = GT_USER_INTERRUPT | GEN6_BSD_USER_INTERRUPT | - GEN6_BLITTER_USER_INTERRUPT; + GEN6_BLITTER_USER_INTERRUPT | GT_GEN7_L3_PARITY_ERROR_INTERRUPT; I915_WRITE(GTIER, render_irqs); POSTING_READ(GTIER); @@ -2575,6 +2657,7 @@ INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); INIT_WORK(&dev_priv->error_work, i915_error_work_func); INIT_WORK(&dev_priv->rps_work, gen6_pm_rps_work); + INIT_WORK(&dev_priv->parity_error_work, ivybridge_parity_work); dev->driver->get_vblank_counter = i915_get_vblank_counter; dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ @@ -2626,9 +2709,6 @@ dev->driver->irq_handler = i8xx_irq_handler; dev->driver->irq_uninstall = i8xx_irq_uninstall; } else if (INTEL_INFO(dev)->gen == 3) { - /* IIR "flip pending" means done if this bit is set */ - I915_WRITE(ECOSKPD, _MASKED_BIT_DISABLE(ECO_FLIP_DONE)); - dev->driver->irq_preinstall = i915_irq_preinstall; dev->driver->irq_postinstall = i915_irq_postinstall; dev->driver->irq_uninstall = i915_irq_uninstall; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_reg.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_reg.h @@ -115,6 +115,7 @@ #define GEN6_PTE_VALID (1 << 0) #define GEN6_PTE_UNCACHED (1 << 1) +#define HSW_PTE_UNCACHED (0) #define GEN6_PTE_CACHE_LLC (2 << 1) #define GEN6_PTE_CACHE_LLC_MLC (3 << 1) #define GEN6_PTE_CACHE_BITS (3 << 1) @@ -508,12 +509,15 @@ */ # define _3D_CHICKEN2_WM_READ_PIPELINED (1 << 14) #define _3D_CHICKEN3 0x02090 -#define _3D_CHICKEN_SF_DISABLE_FASTCLIP_CULL (1 << 5) +#define _3D_CHICKEN3_SF_DISABLE_FASTCLIP_CULL (1 << 5) #define MI_MODE 0x0209c # define VS_TIMER_DISPATCH (1 << 6) # define MI_FLUSH_ENABLE (1 << 12) +#define GEN6_GT_MODE 0x20d0 +#define GEN6_GT_MODE_HI (1 << 9) + #define GFX_MODE 0x02520 #define GFX_MODE_GEN7 0x0229c #define RING_MODE_GEN7(ring) ((ring)->mmio_base+0x29c) @@ -1453,6 +1457,10 @@ #define DDRMPLL1 0X12c20 #define PEG_BAND_GAP_DATA 0x14d68 +#define GEN6_GT_THREAD_STATUS_REG 0x13805c +#define GEN6_GT_THREAD_STATUS_CORE_MASK 0x7 +#define GEN6_GT_THREAD_STATUS_CORE_MASK_HSW (0x7 | (0x07 << 16)) + #define GEN6_GT_PERF_STATUS 0x145948 #define GEN6_RP_STATE_LIMITS 0x145994 #define GEN6_RP_STATE_CAP 0x145998 @@ -3992,6 +4000,7 @@ #define FORCEWAKE 0xA18C #define FORCEWAKE_VLV 0x1300b0 #define FORCEWAKE_ACK_VLV 0x1300b4 +#define FORCEWAKE_ACK_HSW 0x130044 #define FORCEWAKE_ACK 0x130090 #define FORCEWAKE_MT 0xa188 /* multi-threaded */ #define FORCEWAKE_MT_ACK 0x130040 @@ -4047,6 +4056,7 @@ #define GEN6_RP_UP_IDLE_MIN (0x1<<3) #define GEN6_RP_UP_BUSY_AVG (0x2<<3) #define GEN6_RP_UP_BUSY_CONT (0x4<<3) +#define GEN7_RP_DOWN_IDLE_AVG (0x2<<0) #define GEN6_RP_DOWN_IDLE_CONT (0x1<<0) #define GEN6_RP_UP_THRESHOLD 0xA02C #define GEN6_RP_DOWN_THRESHOLD 0xA030 @@ -4111,6 +4121,26 @@ #define GEN6_RC6 3 #define GEN6_RC7 4 +#define GEN7_MISCCPCTL (0x9424) +#define GEN7_DOP_CLOCK_GATE_ENABLE (1<<0) + +/* IVYBRIDGE DPF */ +#define GEN7_L3CDERRST1 0xB008 /* L3CD Error Status 1 */ +#define GEN7_L3CDERRST1_ROW_MASK (0x7ff<<14) +#define GEN7_PARITY_ERROR_VALID (1<<13) +#define GEN7_L3CDERRST1_BANK_MASK (3<<11) +#define GEN7_L3CDERRST1_SUBBANK_MASK (7<<8) +#define GEN7_PARITY_ERROR_ROW(reg) \ + ((reg & GEN7_L3CDERRST1_ROW_MASK) >> 14) +#define GEN7_PARITY_ERROR_BANK(reg) \ + ((reg & GEN7_L3CDERRST1_BANK_MASK) >> 11) +#define GEN7_PARITY_ERROR_SUBBANK(reg) \ + ((reg & GEN7_L3CDERRST1_SUBBANK_MASK) >> 8) +#define GEN7_L3CDERRST1_ENABLE (1<<7) + +#define GEN7_L3LOG_BASE 0xB070 +#define GEN7_L3LOG_SIZE 0x80 + #define G4X_AUD_VID_DID 0x62020 #define INTEL_AUDIO_DEVCL 0x808629FB #define INTEL_AUDIO_DEVBLC 0x80862801 @@ -4177,7 +4207,7 @@ PIPE_DDI_FUNC_CTL_B) #define PIPE_DDI_FUNC_ENABLE (1<<31) /* Those bits are ignored by pipe EDP since it can only connect to DDI A */ -#define PIPE_DDI_PORT_MASK (0xf<<28) +#define PIPE_DDI_PORT_MASK (7<<28) #define PIPE_DDI_SELECT_PORT(x) ((x)<<28) #define PIPE_DDI_MODE_SELECT_HDMI (0<<24) #define PIPE_DDI_MODE_SELECT_DVI (1<<24) @@ -4347,4 +4377,9 @@ #define SFUSE_STRAP_DDIC_DETECTED (1<<1) #define SFUSE_STRAP_DDID_DETECTED (1<<0) +#define WM_DBG 0x45280 +#define WM_DBG_DISALLOW_MULTIPLE_LP (1<<0) +#define WM_DBG_DISALLOW_MAXFIFO (1<<1) +#define WM_DBG_DISALLOW_SPRITE (1<<2) + #endif /* _I915_REG_H_ */ --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_bios.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_bios.c @@ -500,12 +500,8 @@ edp = find_section(bdb, BDB_EDP); if (!edp) { - if (SUPPORTS_EDP(dev_priv->dev) && dev_priv->edp.support) { - DRM_DEBUG_KMS("No eDP BDB found but eDP panel " - "supported, assume %dbpp panel color " - "depth.\n", - dev_priv->edp.bpp); - } + if (SUPPORTS_EDP(dev_priv->dev) && dev_priv->edp.support) + DRM_DEBUG_KMS("No eDP BDB found but eDP panel supported.\n"); return; } @@ -658,9 +654,6 @@ dev_priv->lvds_use_ssc = 1; dev_priv->lvds_ssc_freq = intel_bios_ssc_frequency(dev, 1); DRM_DEBUG_KMS("Set default to SSC at %dMHz\n", dev_priv->lvds_ssc_freq); - - /* eDP data */ - dev_priv->edp.bpp = 18; } static int __init intel_no_opregion_vbt_callback(const struct dmi_system_id *id) --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_crt.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_crt.c @@ -284,6 +284,36 @@ return ret; } +static struct edid *intel_crt_get_edid(struct drm_connector *connector, + struct i2c_adapter *i2c) +{ + struct edid *edid; + + edid = drm_get_edid(connector, i2c); + + if (!edid && !intel_gmbus_is_forced_bit(i2c)) { + DRM_DEBUG_KMS("CRT GMBUS EDID read failed, retry using GPIO bit-banging\n"); + intel_gmbus_force_bit(i2c, true); + edid = drm_get_edid(connector, i2c); + intel_gmbus_force_bit(i2c, false); + } + + return edid; +} + +/* local version of intel_ddc_get_modes() to use intel_crt_get_edid() */ +static int intel_crt_ddc_get_modes(struct drm_connector *connector, + struct i2c_adapter *adapter) +{ + struct edid *edid; + + edid = intel_crt_get_edid(connector, adapter); + if (!edid) + return 0; + + return intel_connector_update_modes(connector, edid); +} + static bool intel_crt_detect_ddc(struct drm_connector *connector) { struct intel_crt *crt = intel_attached_crt(connector); @@ -299,7 +329,7 @@ struct i2c_adapter *i2c; i2c = intel_gmbus_get_adapter(dev_priv, dev_priv->crt_ddc_pin); - edid = drm_get_edid(connector, i2c); + edid = intel_crt_get_edid(connector, i2c); /* * This may be a DVI-I connector with a shared DDC * link between analog and digital outputs, so we @@ -309,7 +339,6 @@ */ if (edid != NULL) { is_digital = edid->input & DRM_EDID_INPUT_DIGITAL; - connector->display_info.raw_edid = NULL; kfree(edid); } @@ -498,13 +527,13 @@ struct i2c_adapter *i2c; i2c = intel_gmbus_get_adapter(dev_priv, dev_priv->crt_ddc_pin); - ret = intel_ddc_get_modes(connector, i2c); + ret = intel_crt_ddc_get_modes(connector, i2c); if (ret || !IS_G4X(dev)) return ret; /* Try to probe digital port for output in DVI-I -> VGA mode. */ i2c = intel_gmbus_get_adapter(dev_priv, GMBUS_PORT_DPB); - return intel_ddc_get_modes(connector, i2c); + return intel_crt_ddc_get_modes(connector, i2c); } static int intel_crt_set_property(struct drm_connector *connector, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_display.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_display.c @@ -434,7 +434,7 @@ * register is uninitialized. */ val = I915_READ(reg); - if (!(val & ~LVDS_DETECTED)) + if (!(val & ~(LVDS_PIPE_MASK | LVDS_DETECTED))) val = dev_priv->bios_lvds_val; dev_priv->lvds_val = val; } @@ -1238,7 +1238,7 @@ enum pipe pipe, int reg) { u32 val = I915_READ(reg); - WARN(hdmi_pipe_enabled(dev_priv, val, pipe), + WARN(hdmi_pipe_enabled(dev_priv, pipe, val), "PCH HDMI (0x%08x) enabled on transcoder %c, should be disabled\n", reg, pipe_name(pipe)); } @@ -1255,13 +1255,13 @@ reg = PCH_ADPA; val = I915_READ(reg); - WARN(adpa_pipe_enabled(dev_priv, val, pipe), + WARN(adpa_pipe_enabled(dev_priv, pipe, val), "PCH VGA enabled on transcoder %c, should be disabled\n", pipe_name(pipe)); reg = PCH_LVDS; val = I915_READ(reg); - WARN(lvds_pipe_enabled(dev_priv, val, pipe), + WARN(lvds_pipe_enabled(dev_priv, pipe, val), "PCH LVDS enabled on transcoder %c, should be disabled\n", pipe_name(pipe)); @@ -1723,7 +1723,7 @@ enum pipe pipe, int reg) { u32 val = I915_READ(reg); - if (hdmi_pipe_enabled(dev_priv, val, pipe)) { + if (hdmi_pipe_enabled(dev_priv, pipe, val)) { DRM_DEBUG_KMS("Disabling pch HDMI %x on pipe %d\n", reg, pipe); I915_WRITE(reg, val & ~PORT_ENABLE); @@ -1745,12 +1745,12 @@ reg = PCH_ADPA; val = I915_READ(reg); - if (adpa_pipe_enabled(dev_priv, val, pipe)) + if (adpa_pipe_enabled(dev_priv, pipe, val)) I915_WRITE(reg, val & ~ADPA_DAC_ENABLE); reg = PCH_LVDS; val = I915_READ(reg); - if (lvds_pipe_enabled(dev_priv, val, pipe)) { + if (lvds_pipe_enabled(dev_priv, pipe, val)) { DRM_DEBUG_KMS("disable lvds on pipe %d val 0x%08x\n", pipe, val); I915_WRITE(reg, val & ~LVDS_PORT_EN); POSTING_READ(reg); @@ -2641,13 +2641,34 @@ udelay(100); } +static bool intel_crtc_has_pending_flip(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long flags; + bool pending; + + if (atomic_read(&dev_priv->mm.wedged)) + return false; + + spin_lock_irqsave(&dev->event_lock, flags); + pending = to_intel_crtc(crtc)->unpin_work != NULL; + spin_unlock_irqrestore(&dev->event_lock, flags); + + return pending; +} + static void intel_crtc_wait_for_pending_flips(struct drm_crtc *crtc) { struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; if (crtc->fb == NULL) return; + wait_event(dev_priv->pending_flip_queue, + !intel_crtc_has_pending_flip(crtc)); + mutex_lock(&dev->struct_mutex); intel_finish_fb(crtc->fb); mutex_unlock(&dev->struct_mutex); @@ -3581,17 +3602,6 @@ continue; } - if (intel_encoder->type == INTEL_OUTPUT_EDP) { - /* Use VBT settings if we have an eDP panel */ - unsigned int edp_bpc = dev_priv->edp.bpp / 3; - - if (edp_bpc < display_bpc) { - DRM_DEBUG_KMS("clamping display bpc (was %d) to eDP (%d)\n", display_bpc, edp_bpc); - display_bpc = edp_bpc; - } - continue; - } - /* Not one of the known troublemakers, check the EDID */ list_for_each_entry(connector, &dev->mode_config.connector_list, head) { @@ -3606,6 +3616,17 @@ } } + if (intel_encoder->type == INTEL_OUTPUT_EDP) { + /* Use VBT settings if we have an eDP panel */ + unsigned int edp_bpc = dev_priv->edp.bpp / 3; + + if (edp_bpc && edp_bpc < display_bpc) { + DRM_DEBUG_KMS("clamping display bpc (was %d) to eDP (%d)\n", display_bpc, edp_bpc); + display_bpc = edp_bpc; + } + continue; + } + /* * HDMI is either 12 or 8, so if the display lets 10bpc sneak * through, clamp it down. (Note: >12bpc will be caught below.) @@ -3937,12 +3958,6 @@ POSTING_READ(DPLL(pipe)); udelay(150); - I915_WRITE(DPLL(pipe), dpll); - - /* Wait for the clocks to stabilize. */ - POSTING_READ(DPLL(pipe)); - udelay(150); - /* The LVDS pin pair needs to be on before the DPLLs are enabled. * This is an exception to the general rule that mode_set doesn't turn * things on. @@ -3950,6 +3965,12 @@ if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) intel_update_lvds(crtc, clock, adjusted_mode); + I915_WRITE(DPLL(pipe), dpll); + + /* Wait for the clocks to stabilize. */ + POSTING_READ(DPLL(pipe)); + udelay(150); + /* The pixel multiplier can only be updated once the * DPLL is enabled and the clocks are stable. * @@ -4077,7 +4098,7 @@ /* default to 8bpc */ pipeconf &= ~(PIPECONF_BPP_MASK | PIPECONF_DITHER_EN); if (is_dp) { - if (mode->private_flags & INTEL_MODE_DP_FORCE_6BPC) { + if (adjusted_mode->private_flags & INTEL_MODE_DP_FORCE_6BPC) { pipeconf |= PIPECONF_BPP_6 | PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_SP; @@ -4454,7 +4475,7 @@ /* determine panel color depth */ temp = I915_READ(PIPECONF(pipe)); temp &= ~PIPE_BPC_MASK; - dither = intel_choose_pipe_bpp_dither(crtc, &pipe_bpp, mode); + dither = intel_choose_pipe_bpp_dither(crtc, &pipe_bpp, adjusted_mode); switch (pipe_bpp) { case 18: temp |= PIPE_6BPC; @@ -5927,9 +5948,8 @@ atomic_clear_mask(1 << intel_crtc->plane, &obj->pending_flip.counter); - if (atomic_read(&obj->pending_flip) == 0) - wake_up(&dev_priv->pending_flip_queue); + wake_up(&dev_priv->pending_flip_queue); schedule_work(&work->work); trace_i915_flip_complete(intel_crtc->plane, work->pending_flip_obj); @@ -6178,7 +6198,7 @@ default: WARN_ONCE(1, "unknown plane in flip command\n"); ret = -ENODEV; - goto err; + goto err_unpin; } ret = intel_ring_begin(ring, 4); @@ -6844,6 +6864,13 @@ DRM_INFO("applying inverted panel brightness quirk\n"); } +static void quirk_rc6_force_disable(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + dev_priv->quirks |= QUIRK_RC6_DISABLE; + DRM_INFO("applying RC6 disable quirk\n"); +} + struct intel_quirk { int device; int subsystem_vendor; @@ -6879,6 +6906,12 @@ /* Acer Aspire 5734Z must invert backlight brightness */ { 0x2a42, 0x1025, 0x0459, quirk_invert_brightness }, + + /* Asus ET2012E may fail to resume from S3 if RC6 is enabled */ + { 0x0102, 0x1043, 0x844d, quirk_rc6_force_disable }, + + /* Lenovo ThinkCentre S510 may hang after idle for a long time */ + { 0x0102, 0x17aa, 0x307b, quirk_rc6_force_disable }, }; static void intel_init_quirks(struct drm_device *dev) @@ -6925,6 +6958,8 @@ { struct drm_i915_private *dev_priv = dev->dev_private; + intel_prepare_ddi(dev); + intel_init_clock_gating(dev); if (IS_IRONLAKE_M(dev)) { @@ -6958,8 +6993,6 @@ intel_init_pm(dev); - intel_prepare_ddi(dev); - intel_init_display(dev); if (IS_GEN2(dev)) { @@ -6972,7 +7005,7 @@ dev->mode_config.max_width = 8192; dev->mode_config.max_height = 8192; } - dev->mode_config.fb_base = dev->agp->base; + dev->mode_config.fb_base = dev_priv->mm.gtt_base_addr; DRM_DEBUG_KMS("%d display pipe%s available.\n", dev_priv->num_pipe, dev_priv->num_pipe > 1 ? "s" : ""); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_dp.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_dp.c @@ -726,8 +726,8 @@ bpp = adjusted_mode->private_flags & INTEL_MODE_DP_FORCE_6BPC ? 18 : 24; mode_rate = intel_dp_link_required(mode->clock, bpp); - for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { - for (clock = 0; clock <= max_clock; clock++) { + for (clock = 0; clock <= max_clock; clock++) { + for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { int link_avail = intel_dp_max_data_rate(intel_dp_link_clock(bws[clock]), lane_count); if (mode_rate <= link_avail) { @@ -1171,10 +1171,14 @@ WARN(!intel_dp->want_panel_vdd, "Need VDD to turn off panel\n"); pp = ironlake_get_pp_control(dev_priv); - pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_BLC_ENABLE); + /* We need to switch off panel power _and_ force vdd, for otherwise some + * panels get very unhappy and cease to work. */ + pp &= ~(POWER_TARGET_ON | EDP_FORCE_VDD | PANEL_POWER_RESET | EDP_BLC_ENABLE); I915_WRITE(PCH_PP_CONTROL, pp); POSTING_READ(PCH_PP_CONTROL); + intel_dp->want_panel_vdd = false; + ironlake_wait_panel_off(intel_dp); } @@ -1284,11 +1288,9 @@ * ensure that we have vdd while we switch off the panel. */ ironlake_edp_panel_vdd_on(intel_dp); ironlake_edp_backlight_off(intel_dp); - ironlake_edp_panel_off(intel_dp); - intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); + ironlake_edp_panel_off(intel_dp); intel_dp_link_down(intel_dp); - ironlake_edp_panel_vdd_off(intel_dp, false); } static void intel_dp_commit(struct drm_encoder *encoder) @@ -1323,11 +1325,9 @@ /* Switching the panel off requires vdd. */ ironlake_edp_panel_vdd_on(intel_dp); ironlake_edp_backlight_off(intel_dp); - ironlake_edp_panel_off(intel_dp); - intel_dp_sink_dpms(intel_dp, mode); + ironlake_edp_panel_off(intel_dp); intel_dp_link_down(intel_dp); - ironlake_edp_panel_vdd_off(intel_dp, false); if (is_cpu_edp(intel_dp)) ironlake_edp_pll_off(encoder); @@ -1768,7 +1768,7 @@ for (i = 0; i < intel_dp->lane_count; i++) if ((intel_dp->train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0) break; - if (i == intel_dp->lane_count) { + if (i == intel_dp->lane_count && voltage_tries == 5) { ++loop_tries; if (loop_tries == 5) { DRM_DEBUG_KMS("too many full retries, give up\n"); @@ -1922,7 +1922,7 @@ DP |= DP_LINK_TRAIN_OFF; } - if (!HAS_PCH_CPT(dev) && + if (HAS_PCH_IBX(dev) && I915_READ(intel_dp->output_reg) & DP_PIPEB_SELECT) { struct drm_crtc *crtc = intel_dp->base.base.crtc; @@ -2159,7 +2159,6 @@ ret = drm_add_edid_modes(connector, intel_dp->edid); drm_edid_to_eld(connector, intel_dp->edid); - connector->display_info.raw_edid = NULL; return intel_dp->edid_mode_count; } @@ -2205,7 +2204,6 @@ edid = intel_dp_get_edid(connector, &intel_dp->adapter); if (edid) { intel_dp->has_audio = drm_detect_monitor_audio(edid); - connector->display_info.raw_edid = NULL; kfree(edid); } } @@ -2270,8 +2268,6 @@ edid = intel_dp_get_edid(connector, &intel_dp->adapter); if (edid) { has_audio = drm_detect_monitor_audio(edid); - - connector->display_info.raw_edid = NULL; kfree(edid); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_drv.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_drv.h @@ -334,6 +334,8 @@ int interval; }; +int intel_connector_update_modes(struct drm_connector *connector, + struct edid *edid); int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter); extern bool intel_ddc_probe(struct intel_encoder *intel_encoder, int ddc_bus); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_fb.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_fb.c @@ -140,7 +140,9 @@ info->fix.smem_start = dev->mode_config.fb_base + obj->gtt_offset; info->fix.smem_len = size; - info->screen_base = ioremap_wc(dev->agp->base + obj->gtt_offset, size); + info->screen_base = + ioremap_wc(dev_priv->mm.gtt_base_addr + obj->gtt_offset, + size); if (!info->screen_base) { ret = -ENOSPC; goto out_unpin; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_hdmi.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_hdmi.c @@ -400,7 +400,7 @@ u32 temp; u32 enable_bits = SDVO_ENABLE; - if (intel_hdmi->has_audio) + if (intel_hdmi->has_audio || mode != DRM_MODE_DPMS_ON) enable_bits |= SDVO_AUDIO_ENABLE; temp = I915_READ(intel_hdmi->sdvox_reg); @@ -474,7 +474,6 @@ drm_detect_hdmi_monitor(edid); intel_hdmi->has_audio = drm_detect_monitor_audio(edid); } - connector->display_info.raw_edid = NULL; kfree(edid); } @@ -515,8 +514,6 @@ if (edid) { if (edid->input & DRM_EDID_INPUT_DIGITAL) has_audio = drm_detect_monitor_audio(edid); - - connector->display_info.raw_edid = NULL; kfree(edid); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_lvds.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_lvds.c @@ -777,6 +777,30 @@ DMI_MATCH(DMI_BOARD_NAME, "MS-7469"), }, }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "ZOTAC ZBOXSD-ID12/ID13", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ZOTAC"), + DMI_MATCH(DMI_BOARD_NAME, "ZBOXSD-ID12/ID13"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Gigabyte GA-D525TUD", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co., Ltd."), + DMI_MATCH(DMI_BOARD_NAME, "D525TUD"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Supermicro X7SPA-H", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Supermicro"), + DMI_MATCH(DMI_PRODUCT_NAME, "X7SPA-H"), + }, + }, { } /* terminating entry */ }; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_modes.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_modes.c @@ -61,6 +61,24 @@ } /** + * intel_connector_update_modes - update connector from edid + * @connector: DRM connector device to use + * @edid: previously read EDID information + */ +int intel_connector_update_modes(struct drm_connector *connector, + struct edid *edid) +{ + int ret; + + drm_mode_connector_update_edid_property(connector, edid); + ret = drm_add_edid_modes(connector, edid); + drm_edid_to_eld(connector, edid); + kfree(edid); + + return ret; +} + +/** * intel_ddc_get_modes - get modelist from monitor * @connector: DRM connector device to use * @adapter: i2c adapter @@ -71,18 +89,12 @@ struct i2c_adapter *adapter) { struct edid *edid; - int ret = 0; edid = drm_get_edid(connector, adapter); - if (edid) { - drm_mode_connector_update_edid_property(connector, edid); - ret = drm_add_edid_modes(connector, edid); - drm_edid_to_eld(connector, edid); - connector->display_info.raw_edid = NULL; - kfree(edid); - } + if (!edid) + return 0; - return ret; + return intel_connector_update_modes(connector, edid); } static const struct drm_prop_enum_list force_audio_names[] = { --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_overlay.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_overlay.c @@ -431,9 +431,17 @@ intel_ring_emit(ring, flip_addr); intel_ring_emit(ring, MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); /* turn overlay off */ - intel_ring_emit(ring, MI_OVERLAY_FLIP | MI_OVERLAY_OFF); - intel_ring_emit(ring, flip_addr); - intel_ring_emit(ring, MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + if (IS_I830(dev)) { + /* Workaround: Don't disable the overlay fully, since otherwise + * it dies on the next OVERLAY_ON cmd. */ + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_NOOP); + } else { + intel_ring_emit(ring, MI_OVERLAY_FLIP | MI_OVERLAY_OFF); + intel_ring_emit(ring, flip_addr); + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + } intel_ring_advance(ring); return intel_overlay_do_wait_request(overlay, request, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_ringbuffer.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -438,6 +438,9 @@ if (INTEL_INFO(dev)->gen >= 6) I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING)); + if (IS_IVYBRIDGE(dev)) + I915_WRITE_IMR(ring, ~GEN6_RENDER_L3_PARITY_ERROR); + return ret; } @@ -825,7 +828,11 @@ spin_lock_irqsave(&dev_priv->irq_lock, flags); if (ring->irq_refcount++ == 0) { - I915_WRITE_IMR(ring, ~ring->irq_enable_mask); + if (IS_IVYBRIDGE(dev) && ring->id == RCS) + I915_WRITE_IMR(ring, ~(ring->irq_enable_mask | + GEN6_RENDER_L3_PARITY_ERROR)); + else + I915_WRITE_IMR(ring, ~ring->irq_enable_mask); dev_priv->gt_irq_mask &= ~ring->irq_enable_mask; I915_WRITE(GTIMR, dev_priv->gt_irq_mask); POSTING_READ(GTIMR); @@ -844,7 +851,10 @@ spin_lock_irqsave(&dev_priv->irq_lock, flags); if (--ring->irq_refcount == 0) { - I915_WRITE_IMR(ring, ~0); + if (IS_IVYBRIDGE(dev) && ring->id == RCS) + I915_WRITE_IMR(ring, ~GEN6_RENDER_L3_PARITY_ERROR); + else + I915_WRITE_IMR(ring, ~0); dev_priv->gt_irq_mask |= ring->irq_enable_mask; I915_WRITE(GTIMR, dev_priv->gt_irq_mask); POSTING_READ(GTIMR); @@ -969,6 +979,7 @@ struct intel_ring_buffer *ring) { struct drm_i915_gem_object *obj; + struct drm_i915_private *dev_priv = dev->dev_private; int ret; ring->dev = dev; @@ -1002,8 +1013,9 @@ if (ret) goto err_unpin; - ring->virtual_start = ioremap_wc(dev->agp->base + obj->gtt_offset, - ring->size); + ring->virtual_start = + ioremap_wc(dev_priv->mm.gtt->gma_bus_addr + obj->gtt_offset, + ring->size); if (ring->virtual_start == NULL) { DRM_ERROR("Failed to map ringbuffer.\n"); ret = -EINVAL; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_sdvo.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_sdvo.c @@ -882,6 +882,45 @@ } #endif +static bool intel_sdvo_write_infoframe(struct intel_sdvo *intel_sdvo, + unsigned if_index, uint8_t tx_rate, + uint8_t *data, unsigned length) +{ + uint8_t set_buf_index[2] = { if_index, 0 }; + uint8_t hbuf_size, tmp[8]; + int i; + + if (!intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_HBUF_INDEX, + set_buf_index, 2)) + return false; + + if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_HBUF_INFO, + &hbuf_size, 1)) + return false; + + /* Buffer size is 0 based, hooray! */ + hbuf_size++; + + DRM_DEBUG_KMS("writing sdvo hbuf: %i, hbuf_size %i, hbuf_size: %i\n", + if_index, length, hbuf_size); + + for (i = 0; i < hbuf_size; i += 8) { + memset(tmp, 0, 8); + if (i < length) + memcpy(tmp, data + i, min_t(unsigned, 8, length - i)); + + if (!intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_HBUF_DATA, + tmp, 8)) + return false; + } + + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_HBUF_TXRATE, + &tx_rate, 1); +} + static bool intel_sdvo_set_avi_infoframe(struct intel_sdvo *intel_sdvo) { struct dip_infoframe avi_if = { @@ -889,11 +928,7 @@ .ver = DIP_VERSION_AVI, .len = DIP_LEN_AVI, }; - uint8_t tx_rate = SDVO_HBUF_TX_VSYNC; - uint8_t set_buf_index[2] = { 1, 0 }; uint8_t sdvo_data[4 + sizeof(avi_if.body.avi)]; - uint64_t *data = (uint64_t *)sdvo_data; - unsigned i; intel_dip_infoframe_csum(&avi_if); @@ -903,22 +938,9 @@ sdvo_data[3] = avi_if.checksum; memcpy(&sdvo_data[4], &avi_if.body, sizeof(avi_if.body.avi)); - if (!intel_sdvo_set_value(intel_sdvo, - SDVO_CMD_SET_HBUF_INDEX, - set_buf_index, 2)) - return false; - - for (i = 0; i < sizeof(sdvo_data); i += 8) { - if (!intel_sdvo_set_value(intel_sdvo, - SDVO_CMD_SET_HBUF_DATA, - data, 8)) - return false; - data++; - } - - return intel_sdvo_set_value(intel_sdvo, - SDVO_CMD_SET_HBUF_TXRATE, - &tx_rate, 1); + return intel_sdvo_write_infoframe(intel_sdvo, SDVO_HBUF_INDEX_AVI_IF, + SDVO_HBUF_TX_VSYNC, + sdvo_data, sizeof(sdvo_data)); } static bool intel_sdvo_set_tv_format(struct intel_sdvo *intel_sdvo) @@ -1337,7 +1359,6 @@ } } else status = connector_status_disconnected; - connector->display_info.raw_edid = NULL; kfree(edid); } @@ -1411,7 +1432,6 @@ else ret = connector_status_disconnected; - connector->display_info.raw_edid = NULL; kfree(edid); } else ret = connector_status_connected; @@ -1457,7 +1477,6 @@ drm_add_edid_modes(connector, edid); } - connector->display_info.raw_edid = NULL; kfree(edid); } } @@ -2256,6 +2275,18 @@ return true; } +static void intel_sdvo_output_cleanup(struct intel_sdvo *intel_sdvo) +{ + struct drm_device *dev = intel_sdvo->base.base.dev; + struct drm_connector *connector, *tmp; + + list_for_each_entry_safe(connector, tmp, + &dev->mode_config.connector_list, head) { + if (intel_attached_encoder(connector) == &intel_sdvo->base) + intel_sdvo_destroy(connector); + } +} + static bool intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo, struct intel_sdvo_connector *intel_sdvo_connector, int type) @@ -2552,42 +2583,40 @@ } } - if (intel_sdvo->is_sdvob) - dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS; - else - dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; - drm_encoder_helper_add(&intel_encoder->base, &intel_sdvo_helper_funcs); /* In default case sdvo lvds is false */ if (!intel_sdvo_get_capabilities(intel_sdvo, &intel_sdvo->caps)) goto err; - /* Set up hotplug command - note paranoia about contents of reply. - * We assume that the hardware is in a sane state, and only touch - * the bits we think we understand. - */ - intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_ACTIVE_HOT_PLUG, - &intel_sdvo->hotplug_active, 2); - intel_sdvo->hotplug_active[0] &= ~0x3; - if (intel_sdvo_output_setup(intel_sdvo, intel_sdvo->caps.output_flags) != true) { DRM_DEBUG_KMS("SDVO output failed to setup on %s\n", SDVO_NAME(intel_sdvo)); - goto err; + /* Output_setup can leave behind connectors! */ + goto err_output; + } + + /* Only enable the hotplug irq if we need it, to work around noisy + * hotplug lines. + */ + if (intel_sdvo->hotplug_active[0]) { + if (intel_sdvo->is_sdvob) + dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS; + else + dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; } intel_sdvo_select_ddc_bus(dev_priv, intel_sdvo, sdvo_reg); /* Set the input timing to the screen. Assume always input 0. */ if (!intel_sdvo_set_target_input(intel_sdvo)) - goto err; + goto err_output; if (!intel_sdvo_get_input_pixel_clock_range(intel_sdvo, &intel_sdvo->pixel_clock_min, &intel_sdvo->pixel_clock_max)) - goto err; + goto err_output; DRM_DEBUG_KMS("%s device VID/DID: %02X:%02X.%02X, " "clock range %dMHz - %dMHz, " @@ -2607,6 +2636,9 @@ (SDVO_OUTPUT_TMDS1 | SDVO_OUTPUT_RGB1) ? 'Y' : 'N'); return true; +err_output: + intel_sdvo_output_cleanup(intel_sdvo); + err: drm_encoder_cleanup(&intel_encoder->base); i2c_del_adapter(&intel_sdvo->ddc); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_sdvo_regs.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_sdvo_regs.h @@ -708,6 +708,8 @@ #define SDVO_CMD_SET_AUDIO_STAT 0x91 #define SDVO_CMD_GET_AUDIO_STAT 0x92 #define SDVO_CMD_SET_HBUF_INDEX 0x93 + #define SDVO_HBUF_INDEX_ELD 0 + #define SDVO_HBUF_INDEX_AVI_IF 1 #define SDVO_CMD_GET_HBUF_INDEX 0x94 #define SDVO_CMD_GET_HBUF_INFO 0x95 #define SDVO_CMD_SET_HBUF_AV_SPLIT 0x96 --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/i915_sysfs.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/i915_sysfs.c @@ -29,8 +29,10 @@ #include #include #include +#include "intel_drv.h" #include "i915_drv.h" +#ifdef CONFIG_PM static u32 calc_residency(struct drm_device *dev, const u32 reg) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -92,20 +94,147 @@ .attrs = rc6_attrs }; +static int l3_access_valid(struct drm_device *dev, loff_t offset) +{ + if (!IS_IVYBRIDGE(dev)) + return -EPERM; + + if (offset % 4 != 0) + return -EINVAL; + + if (offset >= GEN7_L3LOG_SIZE) + return -ENXIO; + + return 0; +} + +static ssize_t +i915_l3_read(struct file *filp, struct kobject *kobj, + struct bin_attribute *attr, char *buf, + loff_t offset, size_t count) +{ + struct device *dev = container_of(kobj, struct device, kobj); + struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev); + struct drm_device *drm_dev = dminor->dev; + struct drm_i915_private *dev_priv = drm_dev->dev_private; + uint32_t misccpctl; + int i, ret; + + ret = l3_access_valid(drm_dev, offset); + if (ret) + return ret; + + ret = i915_mutex_lock_interruptible(drm_dev); + if (ret) + return ret; + + misccpctl = I915_READ(GEN7_MISCCPCTL); + I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); + + for (i = offset; count >= 4 && i < GEN7_L3LOG_SIZE; i += 4, count -= 4) + *((uint32_t *)(&buf[i])) = I915_READ(GEN7_L3LOG_BASE + i); + + I915_WRITE(GEN7_MISCCPCTL, misccpctl); + + mutex_unlock(&drm_dev->struct_mutex); + + return i - offset; +} + +static ssize_t +i915_l3_write(struct file *filp, struct kobject *kobj, + struct bin_attribute *attr, char *buf, + loff_t offset, size_t count) +{ + struct device *dev = container_of(kobj, struct device, kobj); + struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev); + struct drm_device *drm_dev = dminor->dev; + struct drm_i915_private *dev_priv = drm_dev->dev_private; + u32 *temp = NULL; /* Just here to make handling failures easy */ + int ret; + + ret = l3_access_valid(drm_dev, offset); + if (ret) + return ret; + + ret = i915_mutex_lock_interruptible(drm_dev); + if (ret) + return ret; + + if (!dev_priv->mm.l3_remap_info) { + temp = kzalloc(GEN7_L3LOG_SIZE, GFP_KERNEL); + if (!temp) { + mutex_unlock(&drm_dev->struct_mutex); + return -ENOMEM; + } + } + + ret = i915_gpu_idle(drm_dev); + if (ret) { + kfree(temp); + mutex_unlock(&drm_dev->struct_mutex); + return ret; + } + + /* TODO: Ideally we really want a GPU reset here to make sure errors + * aren't propagated. Since I cannot find a stable way to reset the GPU + * at this point it is left as a TODO. + */ + if (temp) + dev_priv->mm.l3_remap_info = temp; + + memcpy(dev_priv->mm.l3_remap_info + (offset/4), + buf + (offset/4), + count); + + i915_gem_l3_remap(drm_dev); + + mutex_unlock(&drm_dev->struct_mutex); + + return count; +} + +static struct bin_attribute dpf_attrs = { + .attr = {.name = "l3_parity", .mode = (S_IRUSR | S_IWUSR)}, + .size = GEN7_L3LOG_SIZE, + .read = i915_l3_read, + .write = i915_l3_write, + .mmap = NULL +}; + void i915_setup_sysfs(struct drm_device *dev) { int ret; - /* ILK doesn't have any residency information */ + /* ILK and below don't yet have relevant sysfs files */ if (INTEL_INFO(dev)->gen < 6) return; ret = sysfs_merge_group(&dev->primary->kdev.kobj, &rc6_attr_group); if (ret) - DRM_ERROR("sysfs setup failed\n"); + DRM_ERROR("RC6 residency sysfs setup failed\n"); + + if (!IS_IVYBRIDGE(dev)) + return; + + ret = device_create_bin_file(&dev->primary->kdev, &dpf_attrs); + if (ret) + DRM_ERROR("l3 parity sysfs setup failed\n"); } void i915_teardown_sysfs(struct drm_device *dev) { + device_remove_bin_file(&dev->primary->kdev, &dpf_attrs); sysfs_unmerge_group(&dev->primary->kdev.kobj, &rc6_attr_group); } +#else +void i915_setup_sysfs(struct drm_device *dev) +{ + return; +} + +void i915_teardown_sysfs(struct drm_device *dev) +{ + return; +} +#endif /* CONFIG_PM */ --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/i915/intel_pm.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/i915/intel_pm.c @@ -2320,21 +2320,28 @@ int intel_enable_rc6(const struct drm_device *dev) { + struct drm_i915_private *dev_priv = dev->dev_private; + /* * Respect the kernel parameter if it is set */ if (i915_enable_rc6 >= 0) return i915_enable_rc6; + if (dev_priv->quirks & QUIRK_RC6_DISABLE) + return 0; + /* * Disable RC6 on Ironlake */ if (INTEL_INFO(dev)->gen == 5) return 0; - /* Sorry Haswell, no RC6 for you for now. */ + /* On Haswell, only RC6 is available. So let's enable it by default to + * provide better testing and coverage since the beginning. + */ if (IS_HASWELL(dev)) - return 0; + return INTEL_RC6_ENABLE; /* * Disable rc6 on Sandybridge @@ -2400,20 +2407,24 @@ I915_WRITE(GEN6_RC6p_THRESHOLD, 100000); I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */ + /* Check if we are enabling RC6 */ rc6_mode = intel_enable_rc6(dev_priv->dev); if (rc6_mode & INTEL_RC6_ENABLE) rc6_mask |= GEN6_RC_CTL_RC6_ENABLE; - if (rc6_mode & INTEL_RC6p_ENABLE) - rc6_mask |= GEN6_RC_CTL_RC6p_ENABLE; + /* We don't use those on Haswell */ + if (!IS_HASWELL(dev_priv->dev)) { + if (rc6_mode & INTEL_RC6p_ENABLE) + rc6_mask |= GEN6_RC_CTL_RC6p_ENABLE; - if (rc6_mode & INTEL_RC6pp_ENABLE) - rc6_mask |= GEN6_RC_CTL_RC6pp_ENABLE; + if (rc6_mode & INTEL_RC6pp_ENABLE) + rc6_mask |= GEN6_RC_CTL_RC6pp_ENABLE; + } DRM_INFO("Enabling RC6 states: RC6 %s, RC6p %s, RC6pp %s\n", - (rc6_mode & INTEL_RC6_ENABLE) ? "on" : "off", - (rc6_mode & INTEL_RC6p_ENABLE) ? "on" : "off", - (rc6_mode & INTEL_RC6pp_ENABLE) ? "on" : "off"); + (rc6_mask & GEN6_RC_CTL_RC6_ENABLE) ? "on" : "off", + (rc6_mask & GEN6_RC_CTL_RC6p_ENABLE) ? "on" : "off", + (rc6_mask & GEN6_RC_CTL_RC6pp_ENABLE) ? "on" : "off"); I915_WRITE(GEN6_RC_CONTROL, rc6_mask | @@ -2431,10 +2442,19 @@ I915_WRITE(GEN6_RP_INTERRUPT_LIMITS, dev_priv->max_delay << 24 | dev_priv->min_delay << 16); - I915_WRITE(GEN6_RP_UP_THRESHOLD, 10000); - I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 1000000); - I915_WRITE(GEN6_RP_UP_EI, 100000); - I915_WRITE(GEN6_RP_DOWN_EI, 5000000); + + if (IS_HASWELL(dev_priv->dev)) { + I915_WRITE(GEN6_RP_UP_THRESHOLD, 59400); + I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 245000); + I915_WRITE(GEN6_RP_UP_EI, 66000); + I915_WRITE(GEN6_RP_DOWN_EI, 350000); + } else { + I915_WRITE(GEN6_RP_UP_THRESHOLD, 10000); + I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 1000000); + I915_WRITE(GEN6_RP_UP_EI, 100000); + I915_WRITE(GEN6_RP_DOWN_EI, 5000000); + } + I915_WRITE(GEN6_RP_IDLE_HYSTERSIS, 10); I915_WRITE(GEN6_RP_CONTROL, GEN6_RP_MEDIA_TURBO | @@ -2442,7 +2462,7 @@ GEN6_RP_MEDIA_IS_GFX | GEN6_RP_ENABLE | GEN6_RP_UP_BUSY_AVG | - GEN6_RP_DOWN_IDLE_CONT); + (IS_HASWELL(dev_priv->dev) ? GEN7_RP_DOWN_IDLE_AVG : GEN6_RP_DOWN_IDLE_CONT)); if (wait_for((I915_READ(GEN6_PCODE_MAILBOX) & GEN6_PCODE_READY) == 0, 500)) @@ -3334,8 +3354,8 @@ GEN6_RCCUNIT_CLOCK_GATE_DISABLE); /* Bspec says we need to always set all mask bits. */ - I915_WRITE(_3D_CHICKEN, (0xFFFF << 16) | - _3D_CHICKEN_SF_DISABLE_FASTCLIP_CULL); + I915_WRITE(_3D_CHICKEN3, (0xFFFF << 16) | + _3D_CHICKEN3_SF_DISABLE_FASTCLIP_CULL); /* * According to the spec the following bits should be @@ -3363,6 +3383,11 @@ DISPPLANE_TRICKLE_FEED_DISABLE); intel_flush_display_plane(dev_priv, pipe); } + + /* The default value should be 0x200 according to docs, but the two + * platforms I checked have a 0 for this. (Maybe BIOS overrides?) */ + I915_WRITE(GEN6_GT_MODE, _MASKED_BIT_DISABLE(0xffff)); + I915_WRITE(GEN6_GT_MODE, _MASKED_BIT_ENABLE(GEN6_GT_MODE_HI)); } static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv) @@ -3377,6 +3402,68 @@ I915_WRITE(GEN7_FF_THREAD_MODE, reg); } +static void haswell_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe; + uint32_t dspclk_gate = VRHUNIT_CLOCK_GATE_DISABLE; + + I915_WRITE(PCH_DSPCLK_GATE_D, dspclk_gate); + + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + /* According to the spec, bit 13 (RCZUNIT) must be set on IVB. + * This implements the WaDisableRCZUnitClockGating workaround. + */ + I915_WRITE(GEN6_UCGCTL2, GEN6_RCZUNIT_CLOCK_GATE_DISABLE); + + I915_WRITE(ILK_DSPCLK_GATE, IVB_VRHUNIT_CLK_GATE); + + I915_WRITE(IVB_CHICKEN3, + CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE | + CHICKEN3_DGMG_DONE_FIX_DISABLE); + + /* Apply the WaDisableRHWOOptimizationForRenderHang workaround. */ + I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1, + GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC); + + /* WaApplyL3ControlAndL3ChickenMode requires those two on Ivy Bridge */ + I915_WRITE(GEN7_L3CNTLREG1, + GEN7_WA_FOR_GEN7_L3_CONTROL); + I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER, + GEN7_WA_L3_CHICKEN_MODE); + + /* This is required by WaCatErrorRejectionIssue */ + I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG, + I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) | + GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB); + + for_each_pipe(pipe) { + I915_WRITE(DSPCNTR(pipe), + I915_READ(DSPCNTR(pipe)) | + DISPPLANE_TRICKLE_FEED_DISABLE); + intel_flush_display_plane(dev_priv, pipe); + } + + gen7_setup_fixed_func_scheduler(dev_priv); + + /* WaDisable4x2SubspanOptimization */ + I915_WRITE(CACHE_MODE_1, + _MASKED_BIT_ENABLE(PIXEL_SUBSPAN_COLLECT_OPT_DISABLE)); + + /* XXX: This is a workaround for early silicon revisions and should be + * removed later. + */ + I915_WRITE(WM_DBG, + I915_READ(WM_DBG) | + WM_DBG_DISALLOW_MULTIPLE_LP | + WM_DBG_DISALLOW_SPRITE | + WM_DBG_DISALLOW_MAXFIFO); + +} + static void ivybridge_init_clock_gating(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -3528,6 +3615,9 @@ if (IS_PINEVIEW(dev)) I915_WRITE(ECOSKPD, _MASKED_BIT_ENABLE(ECO_GATING_CX_ONLY)); + + /* IIR "flip pending" means done if this bit is set */ + I915_WRITE(ECOSKPD, _MASKED_BIT_DISABLE(ECO_FLIP_DONE)); } static void i85x_init_clock_gating(struct drm_device *dev) @@ -3756,7 +3846,7 @@ "Disable CxSR\n"); dev_priv->display.update_wm = NULL; } - dev_priv->display.init_clock_gating = ivybridge_init_clock_gating; + dev_priv->display.init_clock_gating = haswell_init_clock_gating; dev_priv->display.sanitize_pm = gen6_sanitize_pm; } else dev_priv->display.update_wm = NULL; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_acpi.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nouveau_acpi.c @@ -211,11 +211,6 @@ return nouveau_dsm_set_discrete_state(nouveau_dsm_priv.dhandle, state); } -static int nouveau_dsm_init(void) -{ - return 0; -} - static int nouveau_dsm_get_client_id(struct pci_dev *pdev) { /* easy option one - intel vendor ID means Integrated */ @@ -232,7 +227,6 @@ static struct vga_switcheroo_handler nouveau_dsm_handler = { .switchto = nouveau_dsm_switchto, .power_state = nouveau_dsm_power_state, - .init = nouveau_dsm_init, .get_client_id = nouveau_dsm_get_client_id, }; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_display.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nouveau_display.c @@ -598,7 +598,7 @@ args->size = args->pitch * args->height; args->size = roundup(args->size, PAGE_SIZE); - ret = nouveau_gem_new(dev, args->size, 0, TTM_PL_FLAG_VRAM, 0, 0, &bo); + ret = nouveau_gem_new(dev, args->size, 0, NOUVEAU_GEM_DOMAIN_VRAM, 0, 0, &bo); if (ret) return ret; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_drv.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nouveau_drv.c @@ -187,11 +187,13 @@ if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) return 0; - NV_INFO(dev, "Disabling display...\n"); - nouveau_display_fini(dev); + if (dev->mode_config.num_crtc) { + NV_INFO(dev, "Disabling display...\n"); + nouveau_display_fini(dev); - NV_INFO(dev, "Disabling fbcon...\n"); - nouveau_fbcon_set_suspend(dev, 1); + NV_INFO(dev, "Disabling fbcon...\n"); + nouveau_fbcon_set_suspend(dev, 1); + } NV_INFO(dev, "Unpinning framebuffer(s)...\n"); list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { @@ -358,10 +360,12 @@ NV_ERROR(dev, "Could not pin/map cursor.\n"); } - nouveau_fbcon_set_suspend(dev, 0); - nouveau_fbcon_zfill_all(dev); + if (dev->mode_config.num_crtc) { + nouveau_fbcon_set_suspend(dev, 0); + nouveau_fbcon_zfill_all(dev); - nouveau_display_init(dev); + nouveau_display_init(dev); + } /* Force CLUT to get re-loaded during modeset */ list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { @@ -469,9 +473,7 @@ #ifdef CONFIG_VGA_CONSOLE if (vgacon_text_force()) nouveau_modeset = 0; - else #endif - nouveau_modeset = 1; } if (!nouveau_modeset) --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_drv.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -689,8 +689,6 @@ void (*irq_handler[32])(struct drm_device *); bool msi_enabled; - struct list_head vbl_waiting; - struct { struct drm_global_reference mem_global_ref; struct ttm_bo_global_ref bo_global_ref; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_irq.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nouveau_irq.c @@ -41,12 +41,8 @@ void nouveau_irq_preinstall(struct drm_device *dev) { - struct drm_nouveau_private *dev_priv = dev->dev_private; - /* Master disable */ nv_wr32(dev, NV03_PMC_INTR_EN_0, 0); - - INIT_LIST_HEAD(&dev_priv->vbl_waiting); } int --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_state.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nouveau_state.c @@ -50,6 +50,7 @@ { struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_engine *engine = &dev_priv->engine; + u32 pclass = dev->pdev->class >> 8; switch (dev_priv->chipset & 0xf0) { case 0x00: @@ -428,7 +429,8 @@ } /* headless mode */ - if (nouveau_modeset == 2) { + if (nouveau_modeset == 2 || + (nouveau_modeset < 0 && pclass != PCI_CLASS_DISPLAY_VGA)) { engine->display.early_init = nouveau_stub_init; engine->display.late_takedown = nouveau_stub_takedown; engine->display.create = nouveau_stub_init; @@ -737,9 +739,11 @@ } break; case NV_C0: - nvc0_copy_create(dev, 1); + if (!(nv_rd32(dev, 0x022500) & 0x00000200)) + nvc0_copy_create(dev, 1); case NV_D0: - nvc0_copy_create(dev, 0); + if (!(nv_rd32(dev, 0x022500) & 0x00000100)) + nvc0_copy_create(dev, 0); break; default: break; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nv04_dac.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nv04_dac.c @@ -210,7 +210,7 @@ NVWriteVgaCrtc(dev, 0, NV_CIO_CR_MODE_INDEX, saved_cr_mode); if (blue == 0x18) { - NV_INFO(dev, "Load detected on head A\n"); + NV_DEBUG(dev, "Load detected on head A\n"); return connector_status_connected; } @@ -323,8 +323,8 @@ if (nv17_dac_sample_load(encoder) & NV_PRAMDAC_TEST_CONTROL_SENSEB_ALLHI) { - NV_INFO(dev, "Load detected on output %c\n", - '@' + ffs(dcb->or)); + NV_DEBUG(dev, "Load detected on output %c\n", + '@' + ffs(dcb->or)); return connector_status_connected; } else { return connector_status_disconnected; @@ -398,9 +398,9 @@ helper->dpms(encoder, DRM_MODE_DPMS_ON); - NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n", - drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), - nv_crtc->index, '@' + ffs(nv_encoder->dcb->or)); + NV_DEBUG(dev, "Output %s is running on CRTC %d using output %c\n", + drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), + nv_crtc->index, '@' + ffs(nv_encoder->dcb->or)); } void nv04_dac_update_dacclk(struct drm_encoder *encoder, bool enable) @@ -447,8 +447,8 @@ return; nv_encoder->last_dpms = mode; - NV_INFO(dev, "Setting dpms mode %d on vga encoder (output %d)\n", - mode, nv_encoder->dcb->index); + NV_DEBUG(dev, "Setting dpms mode %d on vga encoder (output %d)\n", + mode, nv_encoder->dcb->index); nv04_dac_update_dacclk(encoder, mode == DRM_MODE_DPMS_ON); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nv04_dfp.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nv04_dfp.c @@ -476,9 +476,9 @@ helper->dpms(encoder, DRM_MODE_DPMS_ON); - NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n", - drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), - nv_crtc->index, '@' + ffs(nv_encoder->dcb->or)); + NV_DEBUG(dev, "Output %s is running on CRTC %d using output %c\n", + drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), + nv_crtc->index, '@' + ffs(nv_encoder->dcb->or)); } static void nv04_dfp_update_backlight(struct drm_encoder *encoder, int mode) @@ -519,8 +519,8 @@ return; nv_encoder->last_dpms = mode; - NV_INFO(dev, "Setting dpms mode %d on lvds encoder (output %d)\n", - mode, nv_encoder->dcb->index); + NV_DEBUG(dev, "Setting dpms mode %d on lvds encoder (output %d)\n", + mode, nv_encoder->dcb->index); if (was_powersaving && is_powersaving_dpms(mode)) return; @@ -564,8 +564,8 @@ return; nv_encoder->last_dpms = mode; - NV_INFO(dev, "Setting dpms mode %d on tmds encoder (output %d)\n", - mode, nv_encoder->dcb->index); + NV_DEBUG(dev, "Setting dpms mode %d on tmds encoder (output %d)\n", + mode, nv_encoder->dcb->index); nv04_dfp_update_backlight(encoder, mode); nv04_dfp_update_fp_control(encoder, mode); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nv04_tv.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nv04_tv.c @@ -69,8 +69,8 @@ struct nv04_mode_state *state = &dev_priv->mode_reg; uint8_t crtc1A; - NV_INFO(dev, "Setting dpms mode %d on TV encoder (output %d)\n", - mode, nv_encoder->dcb->index); + NV_DEBUG(dev, "Setting dpms mode %d on TV encoder (output %d)\n", + mode, nv_encoder->dcb->index); state->pllsel &= ~(PLLSEL_TV_CRTC1_MASK | PLLSEL_TV_CRTC2_MASK); @@ -162,9 +162,8 @@ helper->dpms(encoder, DRM_MODE_DPMS_ON); - NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n", - drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), nv_crtc->index, - '@' + ffs(nv_encoder->dcb->or)); + NV_DEBUG(dev, "Output %s is running on CRTC %d using output %c\n", + drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), nv_crtc->index, '@' + ffs(nv_encoder->dcb->or)); } static void nv04_tv_destroy(struct drm_encoder *encoder) --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nv50_gpio.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nv50_gpio.c @@ -115,6 +115,9 @@ { struct drm_nouveau_private *dev_priv = dev->dev_private; + /* initialise gpios and routing to vbios defaults */ + nouveau_gpio_reset(dev); + /* disable, and ack any pending gpio interrupts */ nv_wr32(dev, 0xe050, 0x00000000); nv_wr32(dev, 0xe054, 0xffffffff); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nva3_copy.fuc +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nva3_copy.fuc @@ -119,9 +119,9 @@ // mthd 0x030c-0x0340, various stuff .b16 0xc3 14 .b32 #ctx_src_address_high ~0x000000ff -.b32 #ctx_src_address_low ~0xfffffff0 +.b32 #ctx_src_address_low ~0xffffffff .b32 #ctx_dst_address_high ~0x000000ff -.b32 #ctx_dst_address_low ~0xfffffff0 +.b32 #ctx_dst_address_low ~0xffffffff .b32 #ctx_src_pitch ~0x0007ffff .b32 #ctx_dst_pitch ~0x0007ffff .b32 #ctx_xcnt ~0x0000ffff --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nva3_copy.fuc.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nva3_copy.fuc.h @@ -1,37 +1,72 @@ -uint32_t nva3_pcopy_data[] = { +u32 nva3_pcopy_data[] = { +/* 0x0000: ctx_object */ 0x00000000, +/* 0x0004: ctx_dma */ +/* 0x0004: ctx_dma_query */ 0x00000000, +/* 0x0008: ctx_dma_src */ 0x00000000, +/* 0x000c: ctx_dma_dst */ 0x00000000, +/* 0x0010: ctx_query_address_high */ 0x00000000, +/* 0x0014: ctx_query_address_low */ 0x00000000, +/* 0x0018: ctx_query_counter */ 0x00000000, +/* 0x001c: ctx_src_address_high */ 0x00000000, +/* 0x0020: ctx_src_address_low */ 0x00000000, +/* 0x0024: ctx_src_pitch */ 0x00000000, +/* 0x0028: ctx_src_tile_mode */ 0x00000000, +/* 0x002c: ctx_src_xsize */ 0x00000000, +/* 0x0030: ctx_src_ysize */ 0x00000000, +/* 0x0034: ctx_src_zsize */ 0x00000000, +/* 0x0038: ctx_src_zoff */ 0x00000000, +/* 0x003c: ctx_src_xoff */ 0x00000000, +/* 0x0040: ctx_src_yoff */ 0x00000000, +/* 0x0044: ctx_src_cpp */ 0x00000000, +/* 0x0048: ctx_dst_address_high */ 0x00000000, +/* 0x004c: ctx_dst_address_low */ 0x00000000, +/* 0x0050: ctx_dst_pitch */ 0x00000000, +/* 0x0054: ctx_dst_tile_mode */ 0x00000000, +/* 0x0058: ctx_dst_xsize */ 0x00000000, +/* 0x005c: ctx_dst_ysize */ 0x00000000, +/* 0x0060: ctx_dst_zsize */ 0x00000000, +/* 0x0064: ctx_dst_zoff */ 0x00000000, +/* 0x0068: ctx_dst_xoff */ 0x00000000, +/* 0x006c: ctx_dst_yoff */ 0x00000000, +/* 0x0070: ctx_dst_cpp */ 0x00000000, +/* 0x0074: ctx_format */ 0x00000000, +/* 0x0078: ctx_swz_const0 */ 0x00000000, +/* 0x007c: ctx_swz_const1 */ 0x00000000, +/* 0x0080: ctx_xcnt */ 0x00000000, +/* 0x0084: ctx_ycnt */ 0x00000000, 0x00000000, 0x00000000, @@ -63,6 +98,7 @@ 0x00000000, 0x00000000, 0x00000000, +/* 0x0100: dispatch_table */ 0x00010000, 0x00000000, 0x00000000, @@ -73,6 +109,7 @@ 0x00010162, 0x00000000, 0x00030060, +/* 0x0128: dispatch_dma */ 0x00010170, 0x00000000, 0x00010170, @@ -118,11 +155,11 @@ 0x0000001c, 0xffffff00, 0x00000020, - 0x0000000f, + 0x00000000, 0x00000048, 0xffffff00, 0x0000004c, - 0x0000000f, + 0x00000000, 0x00000024, 0xfff80000, 0x00000050, @@ -146,7 +183,8 @@ 0x00000800, }; -uint32_t nva3_pcopy_code[] = { +u32 nva3_pcopy_code[] = { +/* 0x0000: main */ 0x04fe04bd, 0x3517f000, 0xf10010fe, @@ -158,23 +196,31 @@ 0x17f11031, 0x27f01200, 0x0012d003, +/* 0x002f: spin */ 0xf40031f4, 0x0ef40028, +/* 0x0035: ih */ 0x8001cffd, 0xf40812c4, 0x21f4060b, +/* 0x0041: ih_no_chsw */ 0x0412c472, 0xf4060bf4, +/* 0x004a: ih_no_cmd */ 0x11c4c321, 0x4001d00c, +/* 0x0052: swctx */ 0x47f101f8, 0x4bfe7700, 0x0007fe00, 0xf00204b9, 0x01f40643, 0x0604fa09, +/* 0x006b: swctx_load */ 0xfa060ef4, +/* 0x006e: swctx_done */ 0x03f80504, +/* 0x0072: chsw */ 0x27f100f8, 0x23cf1400, 0x1e3fc800, @@ -183,18 +229,22 @@ 0x1e3af052, 0xf00023d0, 0x24d00147, +/* 0x0093: chsw_no_unload */ 0xcf00f880, 0x3dc84023, 0x220bf41e, 0xf40131f4, 0x57f05221, 0x0367f004, +/* 0x00a8: chsw_load_ctx_dma */ 0xa07856bc, 0xb6018068, 0x87d00884, 0x0162b600, +/* 0x00bb: chsw_finish_load */ 0xf0f018f4, 0x23d00237, +/* 0x00c3: dispatch */ 0xf100f880, 0xcf190037, 0x33cf4032, @@ -202,6 +252,7 @@ 0x1024b607, 0x010057f1, 0x74bd64bd, +/* 0x00dc: dispatch_loop */ 0x58005658, 0x50b60157, 0x0446b804, @@ -211,6 +262,7 @@ 0xb60276bb, 0x57bb0374, 0xdf0ef400, +/* 0x0100: dispatch_valid_mthd */ 0xb60246bb, 0x45bb0344, 0x01459800, @@ -220,31 +272,41 @@ 0xb0014658, 0x1bf40064, 0x00538009, +/* 0x0127: dispatch_cmd */ 0xf4300ef4, 0x55f90132, 0xf40c01f4, +/* 0x0132: dispatch_invalid_bitfield */ 0x25f0250e, +/* 0x0135: dispatch_illegal_mthd */ 0x0125f002, +/* 0x0138: dispatch_error */ 0x100047f1, 0xd00042d0, 0x27f04043, 0x0002d040, +/* 0x0148: hostirq_wait */ 0xf08002cf, 0x24b04024, 0xf71bf400, +/* 0x0154: dispatch_done */ 0x1d0027f1, 0xd00137f0, 0x00f80023, +/* 0x0160: cmd_nop */ +/* 0x0162: cmd_pm_trigger */ 0x27f100f8, 0x34bd2200, 0xd00233f0, 0x00f80023, +/* 0x0170: cmd_dma */ 0x012842b7, 0xf00145b6, 0x43801e39, 0x0040b701, 0x0644b606, 0xf80043d0, +/* 0x0189: cmd_exec_set_format */ 0xf030f400, 0xb00001b0, 0x01b00101, @@ -256,20 +318,26 @@ 0x70b63847, 0x0232f401, 0x94bd84bd, +/* 0x01b4: ncomp_loop */ 0xb60f4ac4, 0xb4bd0445, +/* 0x01bc: bpc_loop */ 0xf404a430, 0xa5ff0f18, 0x00cbbbc0, 0xf40231f4, +/* 0x01ce: cmp_c0 */ 0x1bf4220e, 0x10c7f00c, 0xf400cbbb, +/* 0x01da: cmp_c1 */ 0xa430160e, 0x0c18f406, 0xbb14c7f0, 0x0ef400cb, +/* 0x01e9: cmp_zero */ 0x80c7f107, +/* 0x01ed: bpc_next */ 0x01c83800, 0xb60180b6, 0xb5b801b0, @@ -280,6 +348,7 @@ 0x98110680, 0x68fd2008, 0x0502f400, +/* 0x0216: dst_xcnt */ 0x75fd64bd, 0x1c078000, 0xf10078fd, @@ -304,6 +373,7 @@ 0x980056d0, 0x56d01f06, 0x1030f440, +/* 0x0276: cmd_exec_set_surface_tiled */ 0x579800f8, 0x6879c70a, 0xb66478c7, @@ -311,9 +381,11 @@ 0x0e76b060, 0xf0091bf4, 0x0ef40477, +/* 0x0291: xtile64 */ 0x027cf00f, 0xfd1170b6, 0x77f00947, +/* 0x029d: xtileok */ 0x0f5a9806, 0xfd115b98, 0xb7f000ab, @@ -371,6 +443,7 @@ 0x67d00600, 0x0060b700, 0x0068d004, +/* 0x0382: cmd_exec_set_surface_linear */ 0x6cf000f8, 0x0260b702, 0x0864b602, @@ -381,13 +454,16 @@ 0xb70067d0, 0x98040060, 0x67d00957, +/* 0x03ab: cmd_exec_wait */ 0xf900f800, 0xf110f900, 0xb6080007, +/* 0x03b6: loop */ 0x01cf0604, 0x0114f000, 0xfcfa1bf4, 0xf800fc10, +/* 0x03c5: cmd_exec_query */ 0x0d34c800, 0xf5701bf4, 0xf103ab21, @@ -417,6 +493,7 @@ 0x47f10153, 0x44b60800, 0x0045d006, +/* 0x0438: query_counter */ 0x03ab21f5, 0x080c47f1, 0x980644b6, @@ -439,11 +516,13 @@ 0x47f10153, 0x44b60800, 0x0045d006, +/* 0x0492: cmd_exec */ 0x21f500f8, 0x3fc803ab, 0x0e0bf400, 0x018921f5, 0x020047f1, +/* 0x04a7: cmd_exec_no_format */ 0xf11e0ef4, 0xb6081067, 0x77f00664, @@ -451,19 +530,24 @@ 0x981c0780, 0x67d02007, 0x4067d000, +/* 0x04c2: cmd_exec_init_src_surface */ 0x32f444bd, 0xc854bd02, 0x0bf4043f, 0x8221f50a, 0x0a0ef403, +/* 0x04d4: src_tiled */ 0x027621f5, +/* 0x04db: cmd_exec_init_dst_surface */ 0xf40749f0, 0x57f00231, 0x083fc82c, 0xf50a0bf4, 0xf4038221, +/* 0x04ee: dst_tiled */ 0x21f50a0e, 0x49f00276, +/* 0x04f5: cmd_exec_kick */ 0x0057f108, 0x0654b608, 0xd0210698, @@ -473,6 +557,8 @@ 0xc80054d0, 0x0bf40c3f, 0xc521f507, +/* 0x0519: cmd_exec_done */ +/* 0x051b: cmd_wrcache_flush */ 0xf100f803, 0xbd220027, 0x0133f034, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nvc0_copy.fuc.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nvc0_copy.fuc.h @@ -1,34 +1,65 @@ -uint32_t nvc0_pcopy_data[] = { +u32 nvc0_pcopy_data[] = { +/* 0x0000: ctx_object */ 0x00000000, +/* 0x0004: ctx_query_address_high */ 0x00000000, +/* 0x0008: ctx_query_address_low */ 0x00000000, +/* 0x000c: ctx_query_counter */ 0x00000000, +/* 0x0010: ctx_src_address_high */ 0x00000000, +/* 0x0014: ctx_src_address_low */ 0x00000000, +/* 0x0018: ctx_src_pitch */ 0x00000000, +/* 0x001c: ctx_src_tile_mode */ 0x00000000, +/* 0x0020: ctx_src_xsize */ 0x00000000, +/* 0x0024: ctx_src_ysize */ 0x00000000, +/* 0x0028: ctx_src_zsize */ 0x00000000, +/* 0x002c: ctx_src_zoff */ 0x00000000, +/* 0x0030: ctx_src_xoff */ 0x00000000, +/* 0x0034: ctx_src_yoff */ 0x00000000, +/* 0x0038: ctx_src_cpp */ 0x00000000, +/* 0x003c: ctx_dst_address_high */ 0x00000000, +/* 0x0040: ctx_dst_address_low */ 0x00000000, +/* 0x0044: ctx_dst_pitch */ 0x00000000, +/* 0x0048: ctx_dst_tile_mode */ 0x00000000, +/* 0x004c: ctx_dst_xsize */ 0x00000000, +/* 0x0050: ctx_dst_ysize */ 0x00000000, +/* 0x0054: ctx_dst_zsize */ 0x00000000, +/* 0x0058: ctx_dst_zoff */ 0x00000000, +/* 0x005c: ctx_dst_xoff */ 0x00000000, +/* 0x0060: ctx_dst_yoff */ 0x00000000, +/* 0x0064: ctx_dst_cpp */ 0x00000000, +/* 0x0068: ctx_format */ 0x00000000, +/* 0x006c: ctx_swz_const0 */ 0x00000000, +/* 0x0070: ctx_swz_const1 */ 0x00000000, +/* 0x0074: ctx_xcnt */ 0x00000000, +/* 0x0078: ctx_ycnt */ 0x00000000, 0x00000000, 0x00000000, @@ -63,6 +94,7 @@ 0x00000000, 0x00000000, 0x00000000, +/* 0x0100: dispatch_table */ 0x00010000, 0x00000000, 0x00000000, @@ -111,11 +143,11 @@ 0x00000010, 0xffffff00, 0x00000014, - 0x0000000f, + 0x00000000, 0x0000003c, 0xffffff00, 0x00000040, - 0x0000000f, + 0x00000000, 0x00000018, 0xfff80000, 0x00000044, @@ -139,7 +171,8 @@ 0x00000800, }; -uint32_t nvc0_pcopy_code[] = { +u32 nvc0_pcopy_code[] = { +/* 0x0000: main */ 0x04fe04bd, 0x3517f000, 0xf10010fe, @@ -151,15 +184,20 @@ 0x17f11031, 0x27f01200, 0x0012d003, +/* 0x002f: spin */ 0xf40031f4, 0x0ef40028, +/* 0x0035: ih */ 0x8001cffd, 0xf40812c4, 0x21f4060b, +/* 0x0041: ih_no_chsw */ 0x0412c4ca, 0xf5070bf4, +/* 0x004b: ih_no_cmd */ 0xc4010221, 0x01d00c11, +/* 0x0053: swctx */ 0xf101f840, 0xfe770047, 0x47f1004b, @@ -188,8 +226,11 @@ 0xf00204b9, 0x01f40643, 0x0604fa09, +/* 0x00c3: swctx_load */ 0xfa060ef4, +/* 0x00c6: swctx_done */ 0x03f80504, +/* 0x00ca: chsw */ 0x27f100f8, 0x23cf1400, 0x1e3fc800, @@ -198,18 +239,22 @@ 0x1e3af053, 0xf00023d0, 0x24d00147, +/* 0x00eb: chsw_no_unload */ 0xcf00f880, 0x3dc84023, 0x090bf41e, 0xf40131f4, +/* 0x00fa: chsw_finish_load */ 0x37f05321, 0x8023d002, +/* 0x0102: dispatch */ 0x37f100f8, 0x32cf1900, 0x0033cf40, 0x07ff24e4, 0xf11024b6, 0xbd010057, +/* 0x011b: dispatch_loop */ 0x5874bd64, 0x57580056, 0x0450b601, @@ -219,6 +264,7 @@ 0xbb0f08f4, 0x74b60276, 0x0057bb03, +/* 0x013f: dispatch_valid_mthd */ 0xbbdf0ef4, 0x44b60246, 0x0045bb03, @@ -229,24 +275,33 @@ 0x64b00146, 0x091bf400, 0xf4005380, +/* 0x0166: dispatch_cmd */ 0x32f4300e, 0xf455f901, 0x0ef40c01, +/* 0x0171: dispatch_invalid_bitfield */ 0x0225f025, +/* 0x0174: dispatch_illegal_mthd */ +/* 0x0177: dispatch_error */ 0xf10125f0, 0xd0100047, 0x43d00042, 0x4027f040, +/* 0x0187: hostirq_wait */ 0xcf0002d0, 0x24f08002, 0x0024b040, +/* 0x0193: dispatch_done */ 0xf1f71bf4, 0xf01d0027, 0x23d00137, +/* 0x019f: cmd_nop */ 0xf800f800, +/* 0x01a1: cmd_pm_trigger */ 0x0027f100, 0xf034bd22, 0x23d00233, +/* 0x01af: cmd_exec_set_format */ 0xf400f800, 0x01b0f030, 0x0101b000, @@ -258,20 +313,26 @@ 0x3847c701, 0xf40170b6, 0x84bd0232, +/* 0x01da: ncomp_loop */ 0x4ac494bd, 0x0445b60f, +/* 0x01e2: bpc_loop */ 0xa430b4bd, 0x0f18f404, 0xbbc0a5ff, 0x31f400cb, 0x220ef402, +/* 0x01f4: cmp_c0 */ 0xf00c1bf4, 0xcbbb10c7, 0x160ef400, +/* 0x0200: cmp_c1 */ 0xf406a430, 0xc7f00c18, 0x00cbbb14, +/* 0x020f: cmp_zero */ 0xf1070ef4, +/* 0x0213: bpc_next */ 0x380080c7, 0x80b601c8, 0x01b0b601, @@ -283,6 +344,7 @@ 0x1d08980e, 0xf40068fd, 0x64bd0502, +/* 0x023c: dst_xcnt */ 0x800075fd, 0x78fd1907, 0x1057f100, @@ -307,15 +369,18 @@ 0x1c069800, 0xf44056d0, 0x00f81030, +/* 0x029c: cmd_exec_set_surface_tiled */ 0xc7075798, 0x78c76879, 0x0380b664, 0xb06077c7, 0x1bf40e76, 0x0477f009, +/* 0x02b7: xtile64 */ 0xf00f0ef4, 0x70b6027c, 0x0947fd11, +/* 0x02c3: xtileok */ 0x980677f0, 0x5b980c5a, 0x00abfd0e, @@ -374,6 +439,7 @@ 0xb70067d0, 0xd0040060, 0x00f80068, +/* 0x03a8: cmd_exec_set_surface_linear */ 0xb7026cf0, 0xb6020260, 0x57980864, @@ -384,12 +450,15 @@ 0x0060b700, 0x06579804, 0xf80067d0, +/* 0x03d1: cmd_exec_wait */ 0xf900f900, 0x0007f110, 0x0604b608, +/* 0x03dc: loop */ 0xf00001cf, 0x1bf40114, 0xfc10fcfa, +/* 0x03eb: cmd_exec_query */ 0xc800f800, 0x1bf40d34, 0xd121f570, @@ -419,6 +488,7 @@ 0x0153f026, 0x080047f1, 0xd00644b6, +/* 0x045e: query_counter */ 0x21f50045, 0x47f103d1, 0x44b6080c, @@ -442,11 +512,13 @@ 0x080047f1, 0xd00644b6, 0x00f80045, +/* 0x04b8: cmd_exec */ 0x03d121f5, 0xf4003fc8, 0x21f50e0b, 0x47f101af, 0x0ef40200, +/* 0x04cd: cmd_exec_no_format */ 0x1067f11e, 0x0664b608, 0x800177f0, @@ -454,18 +526,23 @@ 0x1d079819, 0xd00067d0, 0x44bd4067, +/* 0x04e8: cmd_exec_init_src_surface */ 0xbd0232f4, 0x043fc854, 0xf50a0bf4, 0xf403a821, +/* 0x04fa: src_tiled */ 0x21f50a0e, 0x49f0029c, +/* 0x0501: cmd_exec_init_dst_surface */ 0x0231f407, 0xc82c57f0, 0x0bf4083f, 0xa821f50a, 0x0a0ef403, +/* 0x0514: dst_tiled */ 0x029c21f5, +/* 0x051b: cmd_exec_kick */ 0xf10849f0, 0xb6080057, 0x06980654, @@ -475,7 +552,9 @@ 0x54d00546, 0x0c3fc800, 0xf5070bf4, +/* 0x053f: cmd_exec_done */ 0xf803eb21, +/* 0x0541: cmd_wrcache_flush */ 0x0027f100, 0xf034bd22, 0x23d00133, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nvc0_pm.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nvc0_pm.c @@ -557,7 +557,7 @@ nouveau_mem_exec(&exec, info->perflvl); if (dev_priv->chipset < 0xd0) - nv_wr32(dev, 0x611200, 0x00003300); + nv_wr32(dev, 0x611200, 0x00003330); else nv_wr32(dev, 0x62c000, 0x03030300); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nvd0_display.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nvd0_display.c @@ -790,7 +790,7 @@ struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); int ch = EVO_CURS(nv_crtc->index); - evo_piow(crtc->dev, ch, 0x0084, (y << 16) | x); + evo_piow(crtc->dev, ch, 0x0084, (y << 16) | (x & 0xffff)); evo_piow(crtc->dev, ch, 0x0080, 0x00000000); return 0; } @@ -1508,10 +1508,10 @@ case OUTPUT_DP: if (nv_connector->base.display_info.bpc == 6) { nv_encoder->dp.datarate = mode->clock * 18 / 8; - syncs |= 0x00000140; + syncs |= 0x00000002 << 6; } else { nv_encoder->dp.datarate = mode->clock * 24 / 8; - syncs |= 0x00000180; + syncs |= 0x00000005 << 6; } if (nv_encoder->dcb->sorconf.link & 1) --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_software.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nouveau_software.h @@ -38,6 +38,7 @@ nouveau_software_context_new(struct nouveau_software_chan *pch) { INIT_LIST_HEAD(&pch->flip); + INIT_LIST_HEAD(&pch->vblank.list); } static inline void --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nv84_fifo.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nv84_fifo.c @@ -117,17 +117,22 @@ struct drm_device *dev = chan->dev; struct drm_nouveau_private *dev_priv = dev->dev_private; unsigned long flags; + u32 save; /* remove channel from playlist, will context switch if active */ spin_lock_irqsave(&dev_priv->context_switch_lock, flags); nv_mask(dev, 0x002600 + (chan->id * 4), 0x80000000, 0x00000000); nv50_fifo_playlist_update(dev); + save = nv_mask(dev, 0x002520, 0x0000003f, 0x15); + /* tell any engines on this channel to unload their contexts */ nv_wr32(dev, 0x0032fc, chan->ramin->vinst >> 12); if (!nv_wait_ne(dev, 0x0032fc, 0xffffffff, 0xffffffff)) NV_INFO(dev, "PFIFO: channel %d unload timeout\n", chan->id); + nv_wr32(dev, 0x002520, save); + nv_wr32(dev, 0x002600 + (chan->id * 4), 0x00000000); spin_unlock_irqrestore(&dev_priv->context_switch_lock, flags); @@ -184,10 +189,13 @@ struct drm_nouveau_private *dev_priv = dev->dev_private; struct nv84_fifo_priv *priv = nv_engine(dev, engine); int i; + u32 save; /* set playlist length to zero, fifo will unload context */ nv_wr32(dev, 0x0032ec, 0); + save = nv_mask(dev, 0x002520, 0x0000003f, 0x15); + /* tell all connected engines to unload their contexts */ for (i = 0; i < priv->base.channels; i++) { struct nouveau_channel *chan = dev_priv->channels.ptr[i]; @@ -199,6 +207,7 @@ } } + nv_wr32(dev, 0x002520, save); nv_wr32(dev, 0x002140, 0); return 0; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/nouveau/nvc0_fence.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/nouveau/nvc0_fence.c @@ -32,6 +32,7 @@ struct nvc0_fence_priv { struct nouveau_fence_priv base; struct nouveau_bo *bo; + u32 *suspend; }; struct nvc0_fence_chan { @@ -125,12 +126,36 @@ static int nvc0_fence_fini(struct drm_device *dev, int engine, bool suspend) { + struct nouveau_fifo_priv *pfifo = nv_engine(dev, NVOBJ_ENGINE_FIFO); + struct nvc0_fence_priv *priv = nv_engine(dev, engine); + int i; + + if (suspend) { + priv->suspend = vmalloc(pfifo->channels * sizeof(u32)); + if (!priv->suspend) + return -ENOMEM; + + for (i = 0; i < pfifo->channels; i++) + priv->suspend[i] = nouveau_bo_rd32(priv->bo, i); + } + return 0; } static int nvc0_fence_init(struct drm_device *dev, int engine) { + struct nouveau_fifo_priv *pfifo = nv_engine(dev, NVOBJ_ENGINE_FIFO); + struct nvc0_fence_priv *priv = nv_engine(dev, engine); + int i; + + if (priv->suspend) { + for (i = 0; i < pfifo->channels; i++) + nouveau_bo_wr32(priv->bo, i, priv->suspend[i]); + vfree(priv->suspend); + priv->suspend = NULL; + } + return 0; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/atombios_crtc.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/atombios_crtc.c @@ -258,8 +258,7 @@ radeon_crtc->enabled = true; /* adjust pm to dpms changes BEFORE enabling crtcs */ radeon_pm_compute_clocks(rdev); - /* disable crtc pair power gating before programming */ - if (ASIC_IS_DCE6(rdev)) + if (ASIC_IS_DCE6(rdev) && !radeon_crtc->in_mode_set) atombios_powergate_crtc(crtc, ATOM_DISABLE); atombios_enable_crtc(crtc, ATOM_ENABLE); if (ASIC_IS_DCE3(rdev) && !ASIC_IS_DCE6(rdev)) @@ -278,25 +277,8 @@ atombios_enable_crtc_memreq(crtc, ATOM_DISABLE); atombios_enable_crtc(crtc, ATOM_DISABLE); radeon_crtc->enabled = false; - /* power gating is per-pair */ - if (ASIC_IS_DCE6(rdev)) { - struct drm_crtc *other_crtc; - struct radeon_crtc *other_radeon_crtc; - list_for_each_entry(other_crtc, &rdev->ddev->mode_config.crtc_list, head) { - other_radeon_crtc = to_radeon_crtc(other_crtc); - if (((radeon_crtc->crtc_id == 0) && (other_radeon_crtc->crtc_id == 1)) || - ((radeon_crtc->crtc_id == 1) && (other_radeon_crtc->crtc_id == 0)) || - ((radeon_crtc->crtc_id == 2) && (other_radeon_crtc->crtc_id == 3)) || - ((radeon_crtc->crtc_id == 3) && (other_radeon_crtc->crtc_id == 2)) || - ((radeon_crtc->crtc_id == 4) && (other_radeon_crtc->crtc_id == 5)) || - ((radeon_crtc->crtc_id == 5) && (other_radeon_crtc->crtc_id == 4))) { - /* if both crtcs in the pair are off, enable power gating */ - if (other_radeon_crtc->enabled == false) - atombios_powergate_crtc(crtc, ATOM_ENABLE); - break; - } - } - } + if (ASIC_IS_DCE6(rdev) && !radeon_crtc->in_mode_set) + atombios_powergate_crtc(crtc, ATOM_ENABLE); /* adjust pm to dpms changes AFTER disabling crtcs */ radeon_pm_compute_clocks(rdev); break; @@ -444,11 +426,28 @@ static void atombios_crtc_program_ss(struct radeon_device *rdev, int enable, int pll_id, + int crtc_id, struct radeon_atom_ss *ss) { + unsigned i; int index = GetIndexIntoMasterTable(COMMAND, EnableSpreadSpectrumOnPPLL); union atom_enable_ss args; + if (!enable) { + for (i = 0; i < rdev->num_crtc; i++) { + if (rdev->mode_info.crtcs[i] && + rdev->mode_info.crtcs[i]->enabled && + i != crtc_id && + pll_id == rdev->mode_info.crtcs[i]->pll_id) { + /* one other crtc is using this pll don't turn + * off spread spectrum as it might turn off + * display on active crtc + */ + return; + } + } + } + memset(&args, 0, sizeof(args)); if (ASIC_IS_DCE5(rdev)) { @@ -1036,7 +1035,7 @@ radeon_compute_pll_legacy(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div, &ref_div, &post_div); - atombios_crtc_program_ss(rdev, ATOM_DISABLE, radeon_crtc->pll_id, &ss); + atombios_crtc_program_ss(rdev, ATOM_DISABLE, radeon_crtc->pll_id, radeon_crtc->crtc_id, &ss); atombios_crtc_program_pll(crtc, radeon_crtc->crtc_id, radeon_crtc->pll_id, encoder_mode, radeon_encoder->encoder_id, mode->clock, @@ -1059,7 +1058,7 @@ ss.step = step_size; } - atombios_crtc_program_ss(rdev, ATOM_ENABLE, radeon_crtc->pll_id, &ss); + atombios_crtc_program_ss(rdev, ATOM_ENABLE, radeon_crtc->pll_id, radeon_crtc->crtc_id, &ss); } } @@ -1576,11 +1575,11 @@ ASIC_INTERNAL_SS_ON_DCPLL, rdev->clock.default_dispclk); if (ss_enabled) - atombios_crtc_program_ss(rdev, ATOM_DISABLE, ATOM_DCPLL, &ss); + atombios_crtc_program_ss(rdev, ATOM_DISABLE, ATOM_DCPLL, -1, &ss); /* XXX: DCE5, make sure voltage, dispclk is high enough */ atombios_crtc_set_disp_eng_pll(rdev, rdev->clock.default_dispclk); if (ss_enabled) - atombios_crtc_program_ss(rdev, ATOM_ENABLE, ATOM_DCPLL, &ss); + atombios_crtc_program_ss(rdev, ATOM_ENABLE, ATOM_DCPLL, -1, &ss); } } @@ -1639,18 +1638,28 @@ static void atombios_crtc_prepare(struct drm_crtc *crtc) { struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); + struct drm_device *dev = crtc->dev; + struct radeon_device *rdev = dev->dev_private; + radeon_crtc->in_mode_set = true; /* pick pll */ radeon_crtc->pll_id = radeon_atom_pick_pll(crtc); + /* disable crtc pair power gating before programming */ + if (ASIC_IS_DCE6(rdev)) + atombios_powergate_crtc(crtc, ATOM_DISABLE); + atombios_lock_crtc(crtc, ATOM_ENABLE); atombios_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); } static void atombios_crtc_commit(struct drm_crtc *crtc) { + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); + atombios_crtc_dpms(crtc, DRM_MODE_DPMS_ON); atombios_lock_crtc(crtc, ATOM_DISABLE); + radeon_crtc->in_mode_set = false; } static void atombios_crtc_disable(struct drm_crtc *crtc) @@ -1659,9 +1668,22 @@ struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; struct radeon_atom_ss ss; + int i; atombios_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); + for (i = 0; i < rdev->num_crtc; i++) { + if (rdev->mode_info.crtcs[i] && + rdev->mode_info.crtcs[i]->enabled && + i != radeon_crtc->crtc_id && + radeon_crtc->pll_id == rdev->mode_info.crtcs[i]->pll_id) { + /* one other crtc is using this pll don't turn + * off the pll + */ + goto done; + } + } + switch (radeon_crtc->pll_id) { case ATOM_PPLL1: case ATOM_PPLL2: @@ -1678,6 +1700,7 @@ default: break; } +done: radeon_crtc->pll_id = -1; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/atombios_dp.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/atombios_dp.c @@ -22,6 +22,7 @@ * * Authors: Dave Airlie * Alex Deucher + * Jerome Glisse */ #include "drmP.h" #include "radeon_drm.h" @@ -654,7 +655,6 @@ ret = radeon_dp_aux_native_read(radeon_connector, DP_LANE0_1_STATUS, link_status, DP_LINK_STATUS_SIZE, 100); if (ret <= 0) { - DRM_ERROR("displayport link status failed\n"); return false; } @@ -833,8 +833,10 @@ else mdelay(dp_info->rd_interval * 4); - if (!radeon_dp_get_link_status(dp_info->radeon_connector, dp_info->link_status)) + if (!radeon_dp_get_link_status(dp_info->radeon_connector, dp_info->link_status)) { + DRM_ERROR("displayport link status failed\n"); break; + } if (dp_clock_recovery_ok(dp_info->link_status, dp_info->dp_lane_count)) { clock_recovery = true; @@ -896,8 +898,10 @@ else mdelay(dp_info->rd_interval * 4); - if (!radeon_dp_get_link_status(dp_info->radeon_connector, dp_info->link_status)) + if (!radeon_dp_get_link_status(dp_info->radeon_connector, dp_info->link_status)) { + DRM_ERROR("displayport link status failed\n"); break; + } if (dp_channel_eq_ok(dp_info->link_status, dp_info->dp_lane_count)) { channel_eq = true; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/atombios_encoders.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/atombios_encoders.c @@ -1379,6 +1379,8 @@ struct drm_device *dev = encoder->dev; struct radeon_device *rdev = dev->dev_private; struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + struct drm_encoder *ext_encoder = radeon_get_external_encoder(encoder); + struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); struct radeon_connector *radeon_connector = NULL; struct radeon_connector_atom_dig *radeon_dig_connector = NULL; @@ -1390,12 +1392,38 @@ switch (mode) { case DRM_MODE_DPMS_ON: - /* some early dce3.2 boards have a bug in their transmitter control table */ - if ((rdev->family == CHIP_RV710) || (rdev->family == CHIP_RV730) || - ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev)) + if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev)) { + if (!connector) + dig->panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE; + else + dig->panel_mode = radeon_dp_get_panel_mode(encoder, connector); + + /* setup and enable the encoder */ + atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_SETUP, 0); + atombios_dig_encoder_setup(encoder, + ATOM_ENCODER_CMD_SETUP_PANEL_MODE, + dig->panel_mode); + if (ext_encoder) { + if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE61(rdev)) + atombios_external_encoder_setup(encoder, ext_encoder, + EXTERNAL_ENCODER_ACTION_V3_ENCODER_SETUP); + } + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE, 0, 0); + } else if (ASIC_IS_DCE4(rdev)) { + /* setup and enable the encoder */ + atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_SETUP, 0); + /* enable the transmitter */ atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE, 0, 0); - else atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0); + } else { + /* setup and enable the encoder and transmitter */ + atombios_dig_encoder_setup(encoder, ATOM_ENABLE, 0); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_SETUP, 0, 0); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE, 0, 0); + /* some early dce3.2 boards have a bug in their transmitter control table */ + if ((rdev->family != CHIP_RV710) && (rdev->family != CHIP_RV730)) + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0); + } if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(encoder)) && connector) { if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { atombios_set_edp_panel_power(connector, @@ -1412,10 +1440,19 @@ case DRM_MODE_DPMS_STANDBY: case DRM_MODE_DPMS_SUSPEND: case DRM_MODE_DPMS_OFF: - if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev)) + if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev)) { + /* disable the transmitter */ atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); - else + } else if (ASIC_IS_DCE4(rdev)) { + /* disable the transmitter */ atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT, 0, 0); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); + } else { + /* disable the encoder and transmitter */ + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT, 0, 0); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); + atombios_dig_encoder_setup(encoder, ATOM_DISABLE, 0); + } if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(encoder)) && connector) { if (ASIC_IS_DCE4(rdev)) atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_OFF, 0); @@ -1732,13 +1769,34 @@ struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); struct drm_encoder *test_encoder; - struct radeon_encoder_atom_dig *dig; + struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; uint32_t dig_enc_in_use = 0; - /* DCE4/5 */ - if (ASIC_IS_DCE4(rdev)) { - dig = radeon_encoder->enc_priv; - if (ASIC_IS_DCE41(rdev)) { + if (ASIC_IS_DCE6(rdev)) { + /* DCE6 */ + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: + if (dig->linkb) + return 1; + else + return 0; + break; + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: + if (dig->linkb) + return 3; + else + return 2; + break; + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: + if (dig->linkb) + return 5; + else + return 4; + break; + } + } else if (ASIC_IS_DCE4(rdev)) { + /* DCE4/5 */ + if (ASIC_IS_DCE41(rdev) && !ASIC_IS_DCE61(rdev)) { /* ontario follows DCE4 */ if (rdev->family == CHIP_PALM) { if (dig->linkb) @@ -1840,10 +1898,12 @@ struct drm_device *dev = encoder->dev; struct radeon_device *rdev = dev->dev_private; struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); - struct drm_encoder *ext_encoder = radeon_get_external_encoder(encoder); radeon_encoder->pixel_clock = adjusted_mode->clock; + /* need to call this here rather than in prepare() since we need some crtc info */ + radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); + if (ASIC_IS_AVIVO(rdev) && !ASIC_IS_DCE4(rdev)) { if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT | ATOM_DEVICE_TV_SUPPORT)) atombios_yuv_setup(encoder, true); @@ -1862,38 +1922,7 @@ case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: - if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev)) { - struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); - struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; - - if (!connector) - dig->panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE; - else - dig->panel_mode = radeon_dp_get_panel_mode(encoder, connector); - - /* setup and enable the encoder */ - atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_SETUP, 0); - atombios_dig_encoder_setup(encoder, - ATOM_ENCODER_CMD_SETUP_PANEL_MODE, - dig->panel_mode); - } else if (ASIC_IS_DCE4(rdev)) { - /* disable the transmitter */ - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); - /* setup and enable the encoder */ - atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_SETUP, 0); - - /* enable the transmitter */ - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE, 0, 0); - } else { - /* disable the encoder and transmitter */ - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); - atombios_dig_encoder_setup(encoder, ATOM_DISABLE, 0); - - /* setup and enable the encoder and transmitter */ - atombios_dig_encoder_setup(encoder, ATOM_ENABLE, 0); - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_SETUP, 0, 0); - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE, 0, 0); - } + /* handled in dpms */ break; case ENCODER_OBJECT_ID_INTERNAL_DDI: case ENCODER_OBJECT_ID_INTERNAL_DVO1: @@ -1914,14 +1943,6 @@ break; } - if (ext_encoder) { - if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE61(rdev)) - atombios_external_encoder_setup(encoder, ext_encoder, - EXTERNAL_ENCODER_ACTION_V3_ENCODER_SETUP); - else - atombios_external_encoder_setup(encoder, ext_encoder, ATOM_ENABLE); - } - atombios_apply_encoder_quirks(encoder, adjusted_mode); if (atombios_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_HDMI) { @@ -2108,7 +2129,6 @@ } radeon_atom_output_lock(encoder, true); - radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); if (connector) { struct radeon_connector *radeon_connector = to_radeon_connector(connector); @@ -2129,6 +2149,7 @@ static void radeon_atom_encoder_commit(struct drm_encoder *encoder) { + /* need to call this here as we need the crtc set up */ radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_ON); radeon_atom_output_lock(encoder, false); } @@ -2169,14 +2190,7 @@ case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: - if (ASIC_IS_DCE4(rdev)) - /* disable the transmitter */ - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); - else { - /* disable the encoder and transmitter */ - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); - atombios_dig_encoder_setup(encoder, ATOM_DISABLE, 0); - } + /* handled in dpms */ break; case ENCODER_OBJECT_ID_INTERNAL_DDI: case ENCODER_OBJECT_ID_INTERNAL_DVO1: --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/evergreen.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/evergreen.c @@ -37,6 +37,16 @@ #define EVERGREEN_PFP_UCODE_SIZE 1120 #define EVERGREEN_PM4_UCODE_SIZE 1376 +static const u32 crtc_offsets[6] = +{ + EVERGREEN_CRTC0_REGISTER_OFFSET, + EVERGREEN_CRTC1_REGISTER_OFFSET, + EVERGREEN_CRTC2_REGISTER_OFFSET, + EVERGREEN_CRTC3_REGISTER_OFFSET, + EVERGREEN_CRTC4_REGISTER_OFFSET, + EVERGREEN_CRTC5_REGISTER_OFFSET +}; + static void evergreen_gpu_init(struct radeon_device *rdev); void evergreen_fini(struct radeon_device *rdev); void evergreen_pcie_gen2_enable(struct radeon_device *rdev); @@ -101,17 +111,19 @@ void dce4_wait_for_vblank(struct radeon_device *rdev, int crtc) { - struct radeon_crtc *radeon_crtc = rdev->mode_info.crtcs[crtc]; int i; - if (RREG32(EVERGREEN_CRTC_CONTROL + radeon_crtc->crtc_offset) & EVERGREEN_CRTC_MASTER_EN) { + if (crtc >= rdev->num_crtc) + return; + + if (RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[crtc]) & EVERGREEN_CRTC_MASTER_EN) { for (i = 0; i < rdev->usec_timeout; i++) { - if (!(RREG32(EVERGREEN_CRTC_STATUS + radeon_crtc->crtc_offset) & EVERGREEN_CRTC_V_BLANK)) + if (!(RREG32(EVERGREEN_CRTC_STATUS + crtc_offsets[crtc]) & EVERGREEN_CRTC_V_BLANK)) break; udelay(1); } for (i = 0; i < rdev->usec_timeout; i++) { - if (RREG32(EVERGREEN_CRTC_STATUS + radeon_crtc->crtc_offset) & EVERGREEN_CRTC_V_BLANK) + if (RREG32(EVERGREEN_CRTC_STATUS + crtc_offsets[crtc]) & EVERGREEN_CRTC_V_BLANK) break; udelay(1); } @@ -1117,175 +1129,107 @@ void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *save) { - save->vga_control[0] = RREG32(D1VGA_CONTROL); - save->vga_control[1] = RREG32(D2VGA_CONTROL); + u32 crtc_enabled, tmp, frame_count, blackout; + int i, j; + save->vga_render_control = RREG32(VGA_RENDER_CONTROL); save->vga_hdp_control = RREG32(VGA_HDP_CONTROL); - save->crtc_control[0] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET); - save->crtc_control[1] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET); - if (rdev->num_crtc >= 4) { - save->vga_control[2] = RREG32(EVERGREEN_D3VGA_CONTROL); - save->vga_control[3] = RREG32(EVERGREEN_D4VGA_CONTROL); - save->crtc_control[2] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET); - save->crtc_control[3] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET); - } - if (rdev->num_crtc >= 6) { - save->vga_control[4] = RREG32(EVERGREEN_D5VGA_CONTROL); - save->vga_control[5] = RREG32(EVERGREEN_D6VGA_CONTROL); - save->crtc_control[4] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET); - save->crtc_control[5] = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET); - } - /* Stop all video */ + /* disable VGA render */ WREG32(VGA_RENDER_CONTROL, 0); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 1); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 1); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 1); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 1); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 1); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 1); - } - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, 0); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, 0); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, 0); - } - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 0); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 0); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 0); + /* blank the display controllers */ + for (i = 0; i < rdev->num_crtc; i++) { + crtc_enabled = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]) & EVERGREEN_CRTC_MASTER_EN; + if (crtc_enabled) { + save->crtc_enabled[i] = true; + if (ASIC_IS_DCE6(rdev)) { + tmp = RREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i]); + if (!(tmp & EVERGREEN_CRTC_BLANK_DATA_EN)) { + radeon_wait_for_vblank(rdev, i); + tmp |= EVERGREEN_CRTC_BLANK_DATA_EN; + WREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i], tmp); + } + } else { + tmp = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]); + if (!(tmp & EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE)) { + radeon_wait_for_vblank(rdev, i); + tmp |= EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE; + WREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i], tmp); + } + } + /* wait for the next frame */ + frame_count = radeon_get_vblank_counter(rdev, i); + for (j = 0; j < rdev->usec_timeout; j++) { + if (radeon_get_vblank_counter(rdev, i) != frame_count) + break; + udelay(1); + } + } else { + save->crtc_enabled[i] = false; + } } - WREG32(D1VGA_CONTROL, 0); - WREG32(D2VGA_CONTROL, 0); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_D3VGA_CONTROL, 0); - WREG32(EVERGREEN_D4VGA_CONTROL, 0); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_D5VGA_CONTROL, 0); - WREG32(EVERGREEN_D6VGA_CONTROL, 0); + radeon_mc_wait_for_idle(rdev); + + blackout = RREG32(MC_SHARED_BLACKOUT_CNTL); + if ((blackout & BLACKOUT_MODE_MASK) != 1) { + /* Block CPU access */ + WREG32(BIF_FB_EN, 0); + /* blackout the MC */ + blackout &= ~BLACKOUT_MODE_MASK; + WREG32(MC_SHARED_BLACKOUT_CNTL, blackout | 1); } } void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save) { - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC0_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC0_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC0_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC0_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC1_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC1_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC1_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC1_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC2_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC2_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC2_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC2_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC3_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC3_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC3_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC3_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC4_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC4_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC4_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC4_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); + u32 tmp, frame_count; + int i, j; - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC5_REGISTER_OFFSET, + /* update crtc base addresses */ + for (i = 0; i < rdev->num_crtc; i++) { + WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + crtc_offsets[i], upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC5_REGISTER_OFFSET, + WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + crtc_offsets[i], upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC5_REGISTER_OFFSET, + WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + crtc_offsets[i], (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC5_REGISTER_OFFSET, + WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + crtc_offsets[i], (u32)rdev->mc.vram_start); } - WREG32(EVERGREEN_VGA_MEMORY_BASE_ADDRESS_HIGH, upper_32_bits(rdev->mc.vram_start)); WREG32(EVERGREEN_VGA_MEMORY_BASE_ADDRESS, (u32)rdev->mc.vram_start); - /* Unlock host access */ + + /* unblackout the MC */ + tmp = RREG32(MC_SHARED_BLACKOUT_CNTL); + tmp &= ~BLACKOUT_MODE_MASK; + WREG32(MC_SHARED_BLACKOUT_CNTL, tmp); + /* allow CPU access */ + WREG32(BIF_FB_EN, FB_READ_EN | FB_WRITE_EN); + + for (i = 0; i < rdev->num_crtc; i++) { + if (save->crtc_enabled[i]) { + if (ASIC_IS_DCE6(rdev)) { + tmp = RREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i]); + tmp |= EVERGREEN_CRTC_BLANK_DATA_EN; + WREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i], tmp); + } else { + tmp = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]); + tmp &= ~EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE; + WREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i], tmp); + } + /* wait for the next frame */ + frame_count = radeon_get_vblank_counter(rdev, i); + for (j = 0; j < rdev->usec_timeout; j++) { + if (radeon_get_vblank_counter(rdev, i) != frame_count) + break; + udelay(1); + } + } + } + /* Unlock vga access */ WREG32(VGA_HDP_CONTROL, save->vga_hdp_control); mdelay(1); - /* Restore video state */ - WREG32(D1VGA_CONTROL, save->vga_control[0]); - WREG32(D2VGA_CONTROL, save->vga_control[1]); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_D3VGA_CONTROL, save->vga_control[2]); - WREG32(EVERGREEN_D4VGA_CONTROL, save->vga_control[3]); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_D5VGA_CONTROL, save->vga_control[4]); - WREG32(EVERGREEN_D6VGA_CONTROL, save->vga_control[5]); - } - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 1); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 1); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 1); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 1); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 1); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 1); - } - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, save->crtc_control[0]); - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, save->crtc_control[1]); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, save->crtc_control[2]); - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, save->crtc_control[3]); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, save->crtc_control[4]); - WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, save->crtc_control[5]); - } - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 0); - if (rdev->num_crtc >= 4) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 0); - } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 0); - WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 0); - } WREG32(VGA_RENDER_CONTROL, save->vga_render_control); } @@ -1858,10 +1802,18 @@ if (rdev->flags & RADEON_IS_IGP) rdev->config.evergreen.tile_config |= 1 << 4; else { - if ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) - rdev->config.evergreen.tile_config |= 1 << 4; - else + switch ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) { + case 0: /* four banks */ rdev->config.evergreen.tile_config |= 0 << 4; + break; + case 1: /* eight banks */ + rdev->config.evergreen.tile_config |= 1 << 4; + break; + case 2: /* sixteen banks */ + default: + rdev->config.evergreen.tile_config |= 2 << 4; + break; + } } rdev->config.evergreen.tile_config |= 0 << 8; rdev->config.evergreen.tile_config |= --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/evergreen_cs.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/evergreen_cs.c @@ -961,13 +961,15 @@ if (track->db_dirty) { /* Check stencil buffer */ - if (G_028800_STENCIL_ENABLE(track->db_depth_control)) { + if (G_028044_FORMAT(track->db_s_info) != V_028044_STENCIL_INVALID && + G_028800_STENCIL_ENABLE(track->db_depth_control)) { r = evergreen_cs_track_validate_stencil(p); if (r) return r; } /* Check depth buffer */ - if (G_028800_Z_ENABLE(track->db_depth_control)) { + if (G_028040_FORMAT(track->db_z_info) != V_028040_Z_INVALID && + G_028800_Z_ENABLE(track->db_depth_control)) { r = evergreen_cs_track_validate_depth(p); if (r) return r; @@ -2671,6 +2673,9 @@ /* check config regs */ switch (reg) { case GRBM_GFX_INDEX: + case CP_STRMOUT_CNTL: + case CP_COHER_CNTL: + case CP_COHER_SIZE: case VGT_VTX_VECT_EJECT_REG: case VGT_CACHE_INVALIDATION: case VGT_GS_VERTEX_REUSE: @@ -2775,6 +2780,7 @@ case CAYMAN_SQ_EX_ALLOC_TABLE_SLOTS: return true; default: + DRM_ERROR("Invalid register 0x%x in CS\n", reg); return false; } } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/evergreen_reg.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/evergreen_reg.h @@ -218,6 +218,8 @@ #define EVERGREEN_CRTC_CONTROL 0x6e70 # define EVERGREEN_CRTC_MASTER_EN (1 << 0) # define EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE (1 << 24) +#define EVERGREEN_CRTC_BLANK_CONTROL 0x6e74 +# define EVERGREEN_CRTC_BLANK_DATA_EN (1 << 8) #define EVERGREEN_CRTC_STATUS 0x6e8c # define EVERGREEN_CRTC_V_BLANK (1 << 0) #define EVERGREEN_CRTC_STATUS_POSITION 0x6e90 --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/evergreend.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/evergreend.h @@ -87,6 +87,14 @@ #define CONFIG_MEMSIZE 0x5428 +#define BIF_FB_EN 0x5490 +#define FB_READ_EN (1 << 0) +#define FB_WRITE_EN (1 << 1) + +#define CP_STRMOUT_CNTL 0x84FC + +#define CP_COHER_CNTL 0x85F0 +#define CP_COHER_SIZE 0x85F4 #define CP_COHER_BASE 0x85F8 #define CP_ME_CNTL 0x86D8 #define CP_ME_HALT (1 << 28) @@ -426,6 +434,9 @@ #define NOOFCHAN_MASK 0x00003000 #define MC_SHARED_CHREMAP 0x2008 +#define MC_SHARED_BLACKOUT_CNTL 0x20ac +#define BLACKOUT_MODE_MASK 0x00000007 + #define MC_ARB_RAMCFG 0x2760 #define NOOFBANK_SHIFT 0 #define NOOFBANK_MASK 0x00000003 @@ -1273,6 +1284,8 @@ #define S_028044_FORMAT(x) (((x) & 0x1) << 0) #define G_028044_FORMAT(x) (((x) >> 0) & 0x1) #define C_028044_FORMAT 0xFFFFFFFE +#define V_028044_STENCIL_INVALID 0 +#define V_028044_STENCIL_8 1 #define G_028044_TILE_SPLIT(x) (((x) >> 8) & 0x7) #define DB_Z_READ_BASE 0x28048 #define DB_STENCIL_READ_BASE 0x2804c --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/ni.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/ni.c @@ -574,10 +574,18 @@ if (rdev->flags & RADEON_IS_IGP) rdev->config.cayman.tile_config |= 1 << 4; else { - if ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) - rdev->config.cayman.tile_config |= 1 << 4; - else + switch ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) { + case 0: /* four banks */ rdev->config.cayman.tile_config |= 0 << 4; + break; + case 1: /* eight banks */ + rdev->config.cayman.tile_config |= 1 << 4; + break; + case 2: /* sixteen banks */ + default: + rdev->config.cayman.tile_config |= 2 << 4; + break; + } } rdev->config.cayman.tile_config |= ((gb_addr_config & PIPE_INTERLEAVE_SIZE_MASK) >> PIPE_INTERLEAVE_SIZE_SHIFT) << 8; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/r600_cs.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/r600_cs.c @@ -764,8 +764,10 @@ } /* Check depth buffer */ - if (track->db_dirty && (G_028800_STENCIL_ENABLE(track->db_depth_control) || - G_028800_Z_ENABLE(track->db_depth_control))) { + if (track->db_dirty && + G_028010_FORMAT(track->db_depth_info) != V_028010_DEPTH_INVALID && + (G_028800_STENCIL_ENABLE(track->db_depth_control) || + G_028800_Z_ENABLE(track->db_depth_control))) { r = r600_cs_track_validate_db(p); if (r) return r; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon.h @@ -143,21 +143,6 @@ /* * BIOS. */ -#define ATRM_BIOS_PAGE 4096 - -#if defined(CONFIG_VGA_SWITCHEROO) -bool radeon_atrm_supported(struct pci_dev *pdev); -int radeon_atrm_get_bios_chunk(uint8_t *bios, int offset, int len); -#else -static inline bool radeon_atrm_supported(struct pci_dev *pdev) -{ - return false; -} - -static inline int radeon_atrm_get_bios_chunk(uint8_t *bios, int offset, int len){ - return -EINVAL; -} -#endif bool radeon_get_bios(struct radeon_device *rdev); @@ -323,6 +308,7 @@ uint64_t soffset; uint64_t eoffset; uint32_t flags; + struct radeon_fence *fence; bool valid; }; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_agp.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_agp.c @@ -70,9 +70,12 @@ /* Intel 82830 830 Chipset Host Bridge / Mobility M6 LY Needs AGPMode 2 (fdo #17360)*/ { PCI_VENDOR_ID_INTEL, 0x3575, PCI_VENDOR_ID_ATI, 0x4c59, PCI_VENDOR_ID_DELL, 0x00e3, 2}, - /* Intel 82852/82855 host bridge / Mobility FireGL 9000 R250 Needs AGPMode 1 (lp #296617) */ + /* Intel 82852/82855 host bridge / Mobility FireGL 9000 RV250 Needs AGPMode 1 (lp #296617) */ { PCI_VENDOR_ID_INTEL, 0x3580, PCI_VENDOR_ID_ATI, 0x4c66, PCI_VENDOR_ID_DELL, 0x0149, 1}, + /* Intel 82855PM host bridge / Mobility FireGL 9000 RV250 Needs AGPMode 1 for suspend/resume */ + { PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4c66, + PCI_VENDOR_ID_IBM, 0x0531, 1}, /* Intel 82852/82855 host bridge / Mobility 9600 M10 RV350 Needs AGPMode 1 (deb #467460) */ { PCI_VENDOR_ID_INTEL, 0x3580, PCI_VENDOR_ID_ATI, 0x4e50, 0x1025, 0x0061, 1}, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_asic.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_asic.h @@ -256,13 +256,10 @@ * rv515 */ struct rv515_mc_save { - u32 d1vga_control; - u32 d2vga_control; u32 vga_render_control; u32 vga_hdp_control; - u32 d1crtc_control; - u32 d2crtc_control; }; + int rv515_init(struct radeon_device *rdev); void rv515_fini(struct radeon_device *rdev); uint32_t rv515_mc_rreg(struct radeon_device *rdev, uint32_t reg); @@ -389,11 +386,11 @@ * evergreen */ struct evergreen_mc_save { - u32 vga_control[6]; u32 vga_render_control; u32 vga_hdp_control; - u32 crtc_control[6]; + bool crtc_enabled[RADEON_MAX_CRTCS]; }; + void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev); int evergreen_init(struct radeon_device *rdev); void evergreen_fini(struct radeon_device *rdev); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_atombios.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_atombios.c @@ -452,7 +452,7 @@ } /* Fujitsu D3003-S2 board lists DVI-I as DVI-D and VGA */ - if ((dev->pdev->device == 0x9802) && + if (((dev->pdev->device == 0x9802) || (dev->pdev->device == 0x9806)) && (dev->pdev->subsystem_vendor == 0x1734) && (dev->pdev->subsystem_device == 0x11bd)) { if (*connector_type == DRM_MODE_CONNECTOR_VGA) { --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_atpx_handler.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_atpx_handler.c @@ -30,57 +30,8 @@ /* handle for device - and atpx */ acpi_handle dhandle; acpi_handle atpx_handle; - acpi_handle atrm_handle; } radeon_atpx_priv; -/* retrieve the ROM in 4k blocks */ -static int radeon_atrm_call(acpi_handle atrm_handle, uint8_t *bios, - int offset, int len) -{ - acpi_status status; - union acpi_object atrm_arg_elements[2], *obj; - struct acpi_object_list atrm_arg; - struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL}; - - atrm_arg.count = 2; - atrm_arg.pointer = &atrm_arg_elements[0]; - - atrm_arg_elements[0].type = ACPI_TYPE_INTEGER; - atrm_arg_elements[0].integer.value = offset; - - atrm_arg_elements[1].type = ACPI_TYPE_INTEGER; - atrm_arg_elements[1].integer.value = len; - - status = acpi_evaluate_object(atrm_handle, NULL, &atrm_arg, &buffer); - if (ACPI_FAILURE(status)) { - printk("failed to evaluate ATRM got %s\n", acpi_format_exception(status)); - return -ENODEV; - } - - obj = (union acpi_object *)buffer.pointer; - memcpy(bios+offset, obj->buffer.pointer, obj->buffer.length); - len = obj->buffer.length; - kfree(buffer.pointer); - return len; -} - -bool radeon_atrm_supported(struct pci_dev *pdev) -{ - /* get the discrete ROM only via ATRM */ - if (!radeon_atpx_priv.atpx_detected) - return false; - - if (radeon_atpx_priv.dhandle == DEVICE_ACPI_HANDLE(&pdev->dev)) - return false; - return true; -} - - -int radeon_atrm_get_bios_chunk(uint8_t *bios, int offset, int len) -{ - return radeon_atrm_call(radeon_atpx_priv.atrm_handle, bios, offset, len); -} - static int radeon_atpx_get_version(acpi_handle handle) { acpi_status status; @@ -198,7 +149,7 @@ static bool radeon_atpx_pci_probe_handle(struct pci_dev *pdev) { - acpi_handle dhandle, atpx_handle, atrm_handle; + acpi_handle dhandle, atpx_handle; acpi_status status; dhandle = DEVICE_ACPI_HANDLE(&pdev->dev); @@ -209,13 +160,8 @@ if (ACPI_FAILURE(status)) return false; - status = acpi_get_handle(dhandle, "ATRM", &atrm_handle); - if (ACPI_FAILURE(status)) - return false; - radeon_atpx_priv.dhandle = dhandle; radeon_atpx_priv.atpx_handle = atpx_handle; - radeon_atpx_priv.atrm_handle = atrm_handle; return true; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_bios.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_bios.c @@ -32,6 +32,7 @@ #include #include +#include /* * BIOS. */ @@ -98,16 +99,81 @@ return true; } +#ifdef CONFIG_ACPI /* ATRM is used to get the BIOS on the discrete cards in * dual-gpu systems. */ +/* retrieve the ROM in 4k blocks */ +#define ATRM_BIOS_PAGE 4096 +/** + * radeon_atrm_call - fetch a chunk of the vbios + * + * @atrm_handle: acpi ATRM handle + * @bios: vbios image pointer + * @offset: offset of vbios image data to fetch + * @len: length of vbios image data to fetch + * + * Executes ATRM to fetch a chunk of the discrete + * vbios image on PX systems (all asics). + * Returns the length of the buffer fetched. + */ +static int radeon_atrm_call(acpi_handle atrm_handle, uint8_t *bios, + int offset, int len) +{ + acpi_status status; + union acpi_object atrm_arg_elements[2], *obj; + struct acpi_object_list atrm_arg; + struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL}; + + atrm_arg.count = 2; + atrm_arg.pointer = &atrm_arg_elements[0]; + + atrm_arg_elements[0].type = ACPI_TYPE_INTEGER; + atrm_arg_elements[0].integer.value = offset; + + atrm_arg_elements[1].type = ACPI_TYPE_INTEGER; + atrm_arg_elements[1].integer.value = len; + + status = acpi_evaluate_object(atrm_handle, NULL, &atrm_arg, &buffer); + if (ACPI_FAILURE(status)) { + printk("failed to evaluate ATRM got %s\n", acpi_format_exception(status)); + return -ENODEV; + } + + obj = (union acpi_object *)buffer.pointer; + memcpy(bios+offset, obj->buffer.pointer, obj->buffer.length); + len = obj->buffer.length; + kfree(buffer.pointer); + return len; +} + static bool radeon_atrm_get_bios(struct radeon_device *rdev) { int ret; int size = 256 * 1024; int i; + struct pci_dev *pdev = NULL; + acpi_handle dhandle, atrm_handle; + acpi_status status; + bool found = false; + + /* ATRM is for the discrete card only */ + if (rdev->flags & RADEON_IS_IGP) + return false; + + while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) { + dhandle = DEVICE_ACPI_HANDLE(&pdev->dev); + if (!dhandle) + continue; + + status = acpi_get_handle(dhandle, "ATRM", &atrm_handle); + if (!ACPI_FAILURE(status)) { + found = true; + break; + } + } - if (!radeon_atrm_supported(rdev->pdev)) + if (!found) return false; rdev->bios = kmalloc(size, GFP_KERNEL); @@ -117,9 +183,10 @@ } for (i = 0; i < size / ATRM_BIOS_PAGE; i++) { - ret = radeon_atrm_get_bios_chunk(rdev->bios, - (i * ATRM_BIOS_PAGE), - ATRM_BIOS_PAGE); + ret = radeon_atrm_call(atrm_handle, + rdev->bios, + (i * ATRM_BIOS_PAGE), + ATRM_BIOS_PAGE); if (ret < ATRM_BIOS_PAGE) break; } @@ -130,6 +197,12 @@ } return true; } +#else +static inline bool radeon_atrm_get_bios(struct radeon_device *rdev) +{ + return false; +} +#endif static bool ni_read_disabled_bios(struct radeon_device *rdev) { @@ -476,6 +549,61 @@ return legacy_read_disabled_bios(rdev); } +#ifdef CONFIG_ACPI +static bool radeon_acpi_vfct_bios(struct radeon_device *rdev) +{ + bool ret = false; + struct acpi_table_header *hdr; + acpi_size tbl_size; + UEFI_ACPI_VFCT *vfct; + GOP_VBIOS_CONTENT *vbios; + VFCT_IMAGE_HEADER *vhdr; + + if (!ACPI_SUCCESS(acpi_get_table_with_size("VFCT", 1, &hdr, &tbl_size))) + return false; + if (tbl_size < sizeof(UEFI_ACPI_VFCT)) { + DRM_ERROR("ACPI VFCT table present but broken (too short #1)\n"); + goto out_unmap; + } + + vfct = (UEFI_ACPI_VFCT *)hdr; + if (vfct->VBIOSImageOffset + sizeof(VFCT_IMAGE_HEADER) > tbl_size) { + DRM_ERROR("ACPI VFCT table present but broken (too short #2)\n"); + goto out_unmap; + } + + vbios = (GOP_VBIOS_CONTENT *)((char *)hdr + vfct->VBIOSImageOffset); + vhdr = &vbios->VbiosHeader; + DRM_INFO("ACPI VFCT contains a BIOS for %02x:%02x.%d %04x:%04x, size %d\n", + vhdr->PCIBus, vhdr->PCIDevice, vhdr->PCIFunction, + vhdr->VendorID, vhdr->DeviceID, vhdr->ImageLength); + + if (vhdr->PCIBus != rdev->pdev->bus->number || + vhdr->PCIDevice != PCI_SLOT(rdev->pdev->devfn) || + vhdr->PCIFunction != PCI_FUNC(rdev->pdev->devfn) || + vhdr->VendorID != rdev->pdev->vendor || + vhdr->DeviceID != rdev->pdev->device) { + DRM_INFO("ACPI VFCT table is not for this card\n"); + goto out_unmap; + }; + + if (vfct->VBIOSImageOffset + sizeof(VFCT_IMAGE_HEADER) + vhdr->ImageLength > tbl_size) { + DRM_ERROR("ACPI VFCT image truncated\n"); + goto out_unmap; + } + + rdev->bios = kmemdup(&vbios->VbiosContent, vhdr->ImageLength, GFP_KERNEL); + ret = !!rdev->bios; + +out_unmap: + return ret; +} +#else +static inline bool radeon_acpi_vfct_bios(struct radeon_device *rdev) +{ + return false; +} +#endif bool radeon_get_bios(struct radeon_device *rdev) { @@ -484,6 +612,8 @@ r = radeon_atrm_get_bios(rdev); if (r == false) + r = radeon_acpi_vfct_bios(rdev); + if (r == false) r = igp_read_bios_from_vram(rdev); if (r == false) r = radeon_read_bios(rdev); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_connectors.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_connectors.c @@ -64,14 +64,33 @@ /* just deal with DP (not eDP) here. */ if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { - int saved_dpms = connector->dpms; + struct radeon_connector_atom_dig *dig_connector = + radeon_connector->con_priv; - /* Only turn off the display it it's physically disconnected */ - if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); - else if (radeon_dp_needs_link_train(radeon_connector)) - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); - connector->dpms = saved_dpms; + /* if existing sink type was not DP no need to retrain */ + if (dig_connector->dp_sink_type != CONNECTOR_OBJECT_ID_DISPLAYPORT) + return; + + /* first get sink type as it may be reset after (un)plug */ + dig_connector->dp_sink_type = radeon_dp_getsinktype(radeon_connector); + /* don't do anything if sink is not display port, i.e., + * passive dp->(dvi|hdmi) adaptor + */ + if (dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) { + int saved_dpms = connector->dpms; + /* Only turn off the display if it's physically disconnected */ + if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) { + drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); + } else if (radeon_dp_needs_link_train(radeon_connector)) { + /* set it to OFF so that drm_helper_connector_dpms() + * won't return immediately since the current state + * is ON at this point. + */ + connector->dpms = DRM_MODE_DPMS_OFF; + drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); + } + connector->dpms = saved_dpms; + } } } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_cs.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_cs.c @@ -294,6 +294,28 @@ return 0; } +static void radeon_bo_vm_fence_va(struct radeon_cs_parser *parser, + struct radeon_fence *fence) +{ + struct radeon_fpriv *fpriv = parser->filp->driver_priv; + struct radeon_vm *vm = &fpriv->vm; + struct radeon_bo_list *lobj; + + if (parser->chunk_ib_idx == -1) + return; + if ((parser->cs_flags & RADEON_CS_USE_VM) == 0) + return; + + list_for_each_entry(lobj, &parser->validated, tv.head) { + struct radeon_bo_va *bo_va; + struct radeon_bo *rbo = lobj->bo; + + bo_va = radeon_bo_va(rbo, vm); + radeon_fence_unref(&bo_va->fence); + bo_va->fence = radeon_fence_ref(fence); + } +} + /** * cs_parser_fini() - clean parser states * @parser: parser structure holding parsing context. @@ -306,11 +328,14 @@ { unsigned i; - if (!error) + if (!error) { + /* fence all bo va before ttm_eu_fence_buffer_objects so bo are still reserved */ + radeon_bo_vm_fence_va(parser, parser->ib.fence); ttm_eu_fence_buffer_objects(&parser->validated, parser->ib.fence); - else + } else { ttm_eu_backoff_reservation(&parser->validated); + } if (parser->relocs != NULL) { for (i = 0; i < parser->nrelocs; i++) { @@ -377,7 +402,7 @@ if (r) { DRM_ERROR("Failed to schedule IB !\n"); } - return 0; + return r; } static int radeon_bo_vm_update_pte(struct radeon_cs_parser *parser, @@ -407,7 +432,6 @@ if (parser->chunk_ib_idx == -1) return 0; - if ((parser->cs_flags & RADEON_CS_USE_VM) == 0) return 0; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_cursor.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_cursor.c @@ -262,8 +262,14 @@ if (!(cursor_end & 0x7f)) w--; } - if (w <= 0) + if (w <= 0) { w = 1; + cursor_end = x - xorigin + w; + if (!(cursor_end & 0x7f)) { + x--; + WARN_ON_ONCE(x < 0); + } + } } } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_device.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_device.c @@ -774,7 +774,7 @@ if (rdev->flags & RADEON_IS_AGP) rdev->need_dma32 = true; if ((rdev->flags & RADEON_IS_PCI) && - (rdev->family < CHIP_RS400)) + (rdev->family <= CHIP_RS740)) rdev->need_dma32 = true; dma_bits = rdev->need_dma32 ? 32 : 40; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_drv.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_drv.c @@ -59,9 +59,10 @@ * 2.15.0 - add max_pipes query * 2.16.0 - fix evergreen 2D tiled surface calculation * 2.17.0 - add STRMOUT_BASE_UPDATE for r7xx + * 2.18.0 - r600-eg: allow "invalid" DB formats */ #define KMS_DRIVER_MAJOR 2 -#define KMS_DRIVER_MINOR 17 +#define KMS_DRIVER_MINOR 18 #define KMS_DRIVER_PATCHLEVEL 0 int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags); int radeon_driver_unload_kms(struct drm_device *dev); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_fence.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_fence.c @@ -75,7 +75,7 @@ void radeon_fence_process(struct radeon_device *rdev, int ring) { - uint64_t seq, last_seq; + uint64_t seq, last_seq, last_emitted; unsigned count_loop = 0; bool wake = false; @@ -102,13 +102,15 @@ */ last_seq = atomic64_read(&rdev->fence_drv[ring].last_seq); do { + last_emitted = rdev->fence_drv[ring].seq; seq = radeon_fence_read(rdev, ring); seq |= last_seq & 0xffffffff00000000LL; if (seq < last_seq) { - seq += 0x100000000LL; + seq &= 0xffffffff; + seq |= last_emitted & 0xffffffff00000000LL; } - if (seq == last_seq) { + if (seq <= last_seq || seq > last_emitted) { break; } /* If we loop over we don't want to return without --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_gart.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_gart.c @@ -564,7 +564,7 @@ return -EINVAL; } - if (bo_va->valid) + if (bo_va->valid && mem) return 0; ngpu_pages = radeon_bo_ngpu_pages(bo); @@ -597,11 +597,27 @@ struct radeon_bo *bo) { struct radeon_bo_va *bo_va; + int r; bo_va = radeon_bo_va(bo, vm); if (bo_va == NULL) return 0; + /* wait for va use to end */ + while (bo_va->fence) { + r = radeon_fence_wait(bo_va->fence, false); + if (r) { + DRM_ERROR("error while waiting for fence: %d\n", r); + } + if (r == -EDEADLK) { + r = radeon_gpu_reset(rdev); + if (!r) + continue; + } + break; + } + radeon_fence_unref(&bo_va->fence); + radeon_mutex_lock(&rdev->cs_mutex); mutex_lock(&vm->mutex); radeon_vm_bo_update_pte(rdev, vm, bo, NULL); @@ -661,12 +677,15 @@ radeon_vm_unbind_locked(rdev, vm); radeon_mutex_unlock(&rdev->cs_mutex); - /* remove all bo */ + /* remove all bo at this point non are busy any more because unbind + * waited for the last vm fence to signal + */ r = radeon_bo_reserve(rdev->ring_tmp_bo.bo, false); if (!r) { bo_va = radeon_bo_va(rdev->ring_tmp_bo.bo, vm); list_del_init(&bo_va->bo_list); list_del_init(&bo_va->vm_list); + radeon_fence_unref(&bo_va->fence); radeon_bo_unreserve(rdev->ring_tmp_bo.bo); kfree(bo_va); } @@ -678,6 +697,7 @@ r = radeon_bo_reserve(bo_va->bo, false); if (!r) { list_del_init(&bo_va->bo_list); + radeon_fence_unref(&bo_va->fence); radeon_bo_unreserve(bo_va->bo); kfree(bo_va); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_gem.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_gem.c @@ -134,25 +134,16 @@ struct radeon_device *rdev = rbo->rdev; struct radeon_fpriv *fpriv = file_priv->driver_priv; struct radeon_vm *vm = &fpriv->vm; - struct radeon_bo_va *bo_va, *tmp; if (rdev->family < CHIP_CAYMAN) { return; } if (radeon_bo_reserve(rbo, false)) { + dev_err(rdev->dev, "leaking bo va because we fail to reserve bo\n"); return; } - list_for_each_entry_safe(bo_va, tmp, &rbo->va, bo_list) { - if (bo_va->vm == vm) { - /* remove from this vm address space */ - mutex_lock(&vm->mutex); - list_del(&bo_va->vm_list); - mutex_unlock(&vm->mutex); - list_del(&bo_va->bo_list); - kfree(bo_va); - } - } + radeon_vm_bo_rmv(rdev, vm, rbo); radeon_bo_unreserve(rbo); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_irq_kms.c @@ -149,6 +149,16 @@ (rdev->pdev->subsystem_device == 0x01fd)) return true; + /* Gateway RS690 only seems to work with MSIs. */ + if ((rdev->pdev->device == 0x791f) && + (rdev->pdev->subsystem_vendor == 0x107b) && + (rdev->pdev->subsystem_device == 0x0185)) + return true; + + /* try and enable MSIs by default on all RS690s */ + if (rdev->family == CHIP_RS690) + return true; + /* RV515 seems to have MSI issues where it loses * MSI rearms occasionally. This leads to lockups and freezes. * disable it by default. --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_legacy_crtc.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_legacy_crtc.c @@ -1025,9 +1025,11 @@ static void radeon_crtc_prepare(struct drm_crtc *crtc) { + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct drm_crtc *crtci; + radeon_crtc->in_mode_set = true; /* * The hardware wedges sometimes if you reconfigure one CRTC * whilst another is running (see fdo bug #24611). @@ -1038,6 +1040,7 @@ static void radeon_crtc_commit(struct drm_crtc *crtc) { + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct drm_crtc *crtci; @@ -1048,6 +1051,7 @@ if (crtci->enabled) radeon_crtc_dpms(crtci, DRM_MODE_DPMS_ON); } + radeon_crtc->in_mode_set = false; } static const struct drm_crtc_helper_funcs legacy_helper_funcs = { --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_legacy_encoders.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_legacy_encoders.c @@ -651,6 +651,7 @@ tmp |= RADEON_DAC_RANGE_CNTL_PS2 | RADEON_DAC_CMP_EN; WREG32(RADEON_DAC_CNTL, tmp); + tmp = dac_macro_cntl; tmp &= ~(RADEON_DAC_PDWN_R | RADEON_DAC_PDWN_G | RADEON_DAC_PDWN_B); @@ -974,11 +975,7 @@ static void radeon_ext_tmds_enc_destroy(struct drm_encoder *encoder) { struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); - struct radeon_encoder_ext_tmds *tmds = radeon_encoder->enc_priv; - if (tmds) { - if (tmds->i2c_bus) - radeon_i2c_destroy(tmds->i2c_bus); - } + /* don't destroy the i2c bus record here, this will be done in radeon_i2c_fini */ kfree(radeon_encoder->enc_priv); drm_encoder_cleanup(encoder); kfree(radeon_encoder); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_mode.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_mode.h @@ -275,6 +275,7 @@ u16 lut_r[256], lut_g[256], lut_b[256]; bool enabled; bool can_tile; + bool in_mode_set; uint32_t crtc_offset; struct drm_gem_object *cursor_bo; uint64_t cursor_addr; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_object.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_object.c @@ -52,11 +52,7 @@ list_for_each_entry_safe(bo_va, tmp, &bo->va, bo_list) { /* remove from all vm address space */ - mutex_lock(&bo_va->vm->mutex); - list_del(&bo_va->vm_list); - mutex_unlock(&bo_va->vm->mutex); - list_del(&bo_va->bo_list); - kfree(bo_va); + radeon_vm_bo_rmv(bo->rdev, bo_va->vm, bo); } } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_pm.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_pm.c @@ -555,7 +555,9 @@ void radeon_pm_resume(struct radeon_device *rdev) { /* set up the default clocks if the MC ucode is loaded */ - if (ASIC_IS_DCE5(rdev) && rdev->mc_fw) { + if ((rdev->family >= CHIP_BARTS) && + (rdev->family <= CHIP_CAYMAN) && + rdev->mc_fw) { if (rdev->pm.default_vddc) radeon_atom_set_voltage(rdev, rdev->pm.default_vddc, SET_VOLTAGE_TYPE_ASIC_VDDC); @@ -610,7 +612,9 @@ radeon_pm_print_states(rdev); radeon_pm_init_profile(rdev); /* set up the default clocks if the MC ucode is loaded */ - if (ASIC_IS_DCE5(rdev) && rdev->mc_fw) { + if ((rdev->family >= CHIP_BARTS) && + (rdev->family <= CHIP_CAYMAN) && + rdev->mc_fw) { if (rdev->pm.default_vddc) radeon_atom_set_voltage(rdev, rdev->pm.default_vddc, SET_VOLTAGE_TYPE_ASIC_VDDC); --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/radeon_ring.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/radeon_ring.c @@ -394,6 +394,7 @@ if (radeon_debugfs_ring_init(rdev, ring)) { DRM_ERROR("Failed to register debugfs file for rings !\n"); } + radeon_ring_lockup_update(ring); return 0; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/rv515.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/rv515.c @@ -281,12 +281,8 @@ void rv515_mc_stop(struct radeon_device *rdev, struct rv515_mc_save *save) { - save->d1vga_control = RREG32(R_000330_D1VGA_CONTROL); - save->d2vga_control = RREG32(R_000338_D2VGA_CONTROL); save->vga_render_control = RREG32(R_000300_VGA_RENDER_CONTROL); save->vga_hdp_control = RREG32(R_000328_VGA_HDP_CONTROL); - save->d1crtc_control = RREG32(R_006080_D1CRTC_CONTROL); - save->d2crtc_control = RREG32(R_006880_D2CRTC_CONTROL); /* Stop all video */ WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0); @@ -311,15 +307,6 @@ /* Unlock host access */ WREG32(R_000328_VGA_HDP_CONTROL, save->vga_hdp_control); mdelay(1); - /* Restore video state */ - WREG32(R_000330_D1VGA_CONTROL, save->d1vga_control); - WREG32(R_000338_D2VGA_CONTROL, save->d2vga_control); - WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 1); - WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 1); - WREG32(R_006080_D1CRTC_CONTROL, save->d1crtc_control); - WREG32(R_006880_D2CRTC_CONTROL, save->d2crtc_control); - WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 0); - WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0); WREG32(R_000300_VGA_RENDER_CONTROL, save->vga_render_control); } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/si.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/si.c @@ -1640,10 +1640,18 @@ rdev->config.si.tile_config |= (3 << 0); break; } - if ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) - rdev->config.si.tile_config |= 1 << 4; - else + switch ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) { + case 0: /* four banks */ rdev->config.si.tile_config |= 0 << 4; + break; + case 1: /* eight banks */ + rdev->config.si.tile_config |= 1 << 4; + break; + case 2: /* sixteen banks */ + default: + rdev->config.si.tile_config |= 2 << 4; + break; + } rdev->config.si.tile_config |= ((gb_addr_config & PIPE_INTERLEAVE_SIZE_MASK) >> PIPE_INTERLEAVE_SIZE_SHIFT) << 8; rdev->config.si.tile_config |= @@ -2431,6 +2439,7 @@ /* check config regs */ switch (reg) { case GRBM_GFX_INDEX: + case CP_STRMOUT_CNTL: case VGT_VTX_VECT_EJECT_REG: case VGT_CACHE_INVALIDATION: case VGT_ESGS_RING_SIZE: --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/radeon/sid.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/radeon/sid.h @@ -424,6 +424,7 @@ # define RDERR_INT_ENABLE (1 << 0) # define GUI_IDLE_INT_ENABLE (1 << 19) +#define CP_STRMOUT_CNTL 0x84FC #define SCRATCH_REG0 0x8500 #define SCRATCH_REG1 0x8504 #define SCRATCH_REG2 0x8508 --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/savage/savage_bci.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/savage/savage_bci.c @@ -547,6 +547,8 @@ dev_priv->chipset = (enum savage_family)chipset; + pci_set_master(dev->pdev); + return 0; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/ttm/ttm_page_alloc.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/ttm/ttm_page_alloc.c @@ -749,7 +749,10 @@ /* clear the pages coming from the pool if requested */ if (flags & TTM_PAGE_FLAG_ZERO_ALLOC) { list_for_each_entry(p, &plist, lru) { - clear_page(page_address(p)); + if (PageHighMem(p)) + clear_highpage(p); + else + clear_page(page_address(p)); } } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/udl/udl_connector.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/udl/udl_connector.c @@ -57,11 +57,8 @@ edid = (struct edid *)udl_get_edid(udl); - connector->display_info.raw_edid = (char *)edid; - drm_mode_connector_update_edid_property(connector, edid); ret = drm_add_edid_modes(connector, edid); - connector->display_info.raw_edid = NULL; kfree(edid); return ret; } @@ -69,6 +66,13 @@ static int udl_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) { + struct udl_device *udl = connector->dev->dev_private; + if (!udl->sku_pixel_limit) + return 0; + + if (mode->vdisplay * mode->hdisplay > udl->sku_pixel_limit) + return MODE_VIRTUAL_Y; + return 0; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/udl/udl_drv.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/udl/udl_drv.h @@ -104,7 +104,7 @@ int udl_render_hline(struct drm_device *dev, int bpp, struct urb **urb_ptr, const char *front, char **urb_buf_ptr, - u32 byte_offset, u32 byte_width, + u32 byte_offset, u32 device_byte_offset, u32 byte_width, int *ident_ptr, int *sent_ptr); int udl_dumb_create(struct drm_file *file_priv, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/udl/udl_fb.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/udl/udl_fb.c @@ -114,9 +114,10 @@ list_for_each_entry(cur, &fbdefio->pagelist, lru) { if (udl_render_hline(dev, (ufbdev->ufb.base.bits_per_pixel / 8), - &urb, (char *) info->fix.smem_start, - &cmd, cur->index << PAGE_SHIFT, - PAGE_SIZE, &bytes_identical, &bytes_sent)) + &urb, (char *) info->fix.smem_start, + &cmd, cur->index << PAGE_SHIFT, + cur->index << PAGE_SHIFT, + PAGE_SIZE, &bytes_identical, &bytes_sent)) goto error; bytes_rendered += PAGE_SIZE; } @@ -187,10 +188,11 @@ for (i = y; i < y + height ; i++) { const int line_offset = fb->base.pitches[0] * i; const int byte_offset = line_offset + (x * bpp); - + const int dev_byte_offset = (fb->base.width * bpp * i) + (x * bpp); if (udl_render_hline(dev, bpp, &urb, (char *) fb->obj->vmapping, - &cmd, byte_offset, width * bpp, + &cmd, byte_offset, dev_byte_offset, + width * bpp, &bytes_identical, &bytes_sent)) goto error; } --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/udl/udl_transfer.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/udl/udl_transfer.c @@ -213,11 +213,12 @@ */ int udl_render_hline(struct drm_device *dev, int bpp, struct urb **urb_ptr, const char *front, char **urb_buf_ptr, - u32 byte_offset, u32 byte_width, + u32 byte_offset, u32 device_byte_offset, + u32 byte_width, int *ident_ptr, int *sent_ptr) { const u8 *line_start, *line_end, *next_pixel; - u32 base16 = 0 + (byte_offset / bpp) * 2; + u32 base16 = 0 + (device_byte_offset / bpp) * 2; struct urb *urb = *urb_ptr; u8 *cmd = *urb_buf_ptr; u8 *cmd_end = (u8 *) urb->transfer_buffer + urb->transfer_buffer_length; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c @@ -306,7 +306,7 @@ BUG_ON(!atomic_read(&bo->reserved)); BUG_ON(old_mem_type != TTM_PL_VRAM && - old_mem_type != VMW_PL_FLAG_GMR); + old_mem_type != VMW_PL_GMR); pl_flags = TTM_PL_FLAG_VRAM | VMW_PL_FLAG_GMR | TTM_PL_FLAG_CACHED; if (pin) --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -182,6 +182,7 @@ {0x15ad, 0x0405, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VMWGFX_CHIP_SVGAII}, {0, 0, 0} }; +MODULE_DEVICE_TABLE(pci, vmw_pci_id_list); static int enable_fbdev; @@ -1101,6 +1102,11 @@ struct drm_device *dev = pci_get_drvdata(pdev); struct vmw_private *dev_priv = vmw_priv(dev); + mutex_lock(&dev_priv->hw_mutex); + vmw_write(dev_priv, SVGA_REG_ID, SVGA_ID_2); + (void) vmw_read(dev_priv, SVGA_REG_ID); + mutex_unlock(&dev_priv->hw_mutex); + /** * Reclaim 3d reference held by fbdev and potentially * start fifo. @@ -1158,6 +1164,11 @@ .open = vmw_driver_open, .preclose = vmw_preclose, .postclose = vmw_postclose, + + .dumb_create = vmw_dumb_create, + .dumb_map_offset = vmw_dumb_map_offset, + .dumb_destroy = vmw_dumb_destroy, + .fops = &vmwgfx_driver_fops, .name = VMWGFX_DRIVER_NAME, .desc = VMWGFX_DRIVER_DESC, --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +++ linux-lowlatency-3.5.0/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h @@ -645,6 +645,16 @@ int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv); +int vmw_dumb_create(struct drm_file *file_priv, + struct drm_device *dev, + struct drm_mode_create_dumb *args); + +int vmw_dumb_map_offset(struct drm_file *file_priv, + struct drm_device *dev, uint32_t handle, + uint64_t *offset); +int vmw_dumb_destroy(struct drm_file *file_priv, + struct drm_device *dev, + uint32_t handle); /** * Overlay control - vmwgfx_overlay.c */ --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c @@ -1018,7 +1018,7 @@ } - event = kzalloc(sizeof(event->event), GFP_KERNEL); + event = kzalloc(sizeof(*event), GFP_KERNEL); if (unlikely(event == NULL)) { DRM_ERROR("Failed to allocate an event.\n"); ret = -ENOMEM; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c @@ -1688,15 +1688,19 @@ struct vmw_private *dev_priv = vmw_priv(crtc->dev); struct drm_framebuffer *old_fb = crtc->fb; struct vmw_framebuffer *vfb = vmw_framebuffer_to_vfb(fb); - struct drm_file *file_priv = event->base.file_priv; + struct drm_file *file_priv ; struct vmw_fence_obj *fence = NULL; struct drm_clip_rect clips; int ret; + if (event == NULL) + return -EINVAL; + /* require ScreenObject support for page flipping */ if (!dev_priv->sou_priv) return -ENOSYS; + file_priv = event->base.file_priv; if (!vmw_kms_screen_object_flippable(dev_priv, crtc)) return -EINVAL; --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c @@ -1917,3 +1917,76 @@ vmw_resource_unreference(&res); return ret; } + + +int vmw_dumb_create(struct drm_file *file_priv, + struct drm_device *dev, + struct drm_mode_create_dumb *args) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_master *vmaster = vmw_master(file_priv->master); + struct vmw_user_dma_buffer *vmw_user_bo; + struct ttm_buffer_object *tmp; + int ret; + + args->pitch = args->width * ((args->bpp + 7) / 8); + args->size = args->pitch * args->height; + + vmw_user_bo = kzalloc(sizeof(*vmw_user_bo), GFP_KERNEL); + if (vmw_user_bo == NULL) + return -ENOMEM; + + ret = ttm_read_lock(&vmaster->lock, true); + if (ret != 0) { + kfree(vmw_user_bo); + return ret; + } + + ret = vmw_dmabuf_init(dev_priv, &vmw_user_bo->dma, args->size, + &vmw_vram_sys_placement, true, + &vmw_user_dmabuf_destroy); + if (ret != 0) + goto out_no_dmabuf; + + tmp = ttm_bo_reference(&vmw_user_bo->dma.base); + ret = ttm_base_object_init(vmw_fpriv(file_priv)->tfile, + &vmw_user_bo->base, + false, + ttm_buffer_type, + &vmw_user_dmabuf_release, NULL); + if (unlikely(ret != 0)) + goto out_no_base_object; + + args->handle = vmw_user_bo->base.hash.key; + +out_no_base_object: + ttm_bo_unref(&tmp); +out_no_dmabuf: + ttm_read_unlock(&vmaster->lock); + return ret; +} + +int vmw_dumb_map_offset(struct drm_file *file_priv, + struct drm_device *dev, uint32_t handle, + uint64_t *offset) +{ + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + struct vmw_dma_buffer *out_buf; + int ret; + + ret = vmw_user_dmabuf_lookup(tfile, handle, &out_buf); + if (ret != 0) + return -EINVAL; + + *offset = out_buf->base.addr_space_offset; + vmw_dmabuf_unreference(&out_buf); + return 0; +} + +int vmw_dumb_destroy(struct drm_file *file_priv, + struct drm_device *dev, + uint32_t handle) +{ + return ttm_ref_object_base_unref(vmw_fpriv(file_priv)->tfile, + handle, TTM_REF_USAGE); +} --- linux-lowlatency-3.5.0.orig/drivers/gpu/drm/mgag200/mgag200_mode.c +++ linux-lowlatency-3.5.0/drivers/gpu/drm/mgag200/mgag200_mode.c @@ -468,10 +468,11 @@ { unsigned int vcomax, vcomin, pllreffreq; unsigned int delta, tmpdelta; - unsigned int testr, testn, testm, testo; + int testr, testn, testm, testo; unsigned int p, m, n; - unsigned int computed; + unsigned int computed, vco; int tmp; + const unsigned int m_div_val[] = { 1, 2, 4, 8 }; m = n = p = 0; vcomax = 1488000; @@ -490,12 +491,13 @@ if (delta == 0) break; for (testo = 5; testo < 33; testo++) { - computed = pllreffreq * (testn + 1) / + vco = pllreffreq * (testn + 1) / (testr + 1); - if (computed < vcomin) + if (vco < vcomin) continue; - if (computed > vcomax) + if (vco > vcomax) continue; + computed = vco / (m_div_val[testm] * (testo + 1)); if (computed > clock) tmpdelta = computed - clock; else @@ -1397,7 +1399,6 @@ if (edid) { drm_mode_connector_update_edid_property(connector, edid); ret = drm_add_edid_modes(connector, edid); - connector->display_info.raw_edid = NULL; kfree(edid); } return ret; --- linux-lowlatency-3.5.0.orig/drivers/gpu/vga/vga_switcheroo.c +++ linux-lowlatency-3.5.0/drivers/gpu/vga/vga_switcheroo.c @@ -70,27 +70,12 @@ .clients = LIST_HEAD_INIT(vgasr_priv.clients), }; -int vga_switcheroo_register_handler(struct vga_switcheroo_handler *handler) -{ - mutex_lock(&vgasr_mutex); - if (vgasr_priv.handler) { - mutex_unlock(&vgasr_mutex); - return -EINVAL; - } - - vgasr_priv.handler = handler; - mutex_unlock(&vgasr_mutex); - return 0; -} -EXPORT_SYMBOL(vga_switcheroo_register_handler); - -void vga_switcheroo_unregister_handler(void) +static bool vga_switcheroo_ready(void) { - mutex_lock(&vgasr_mutex); - vgasr_priv.handler = NULL; - mutex_unlock(&vgasr_mutex); + /* we're ready if we get two clients + handler */ + return !vgasr_priv.active && + vgasr_priv.registered_clients == 2 && vgasr_priv.handler; } -EXPORT_SYMBOL(vga_switcheroo_unregister_handler); static void vga_switcheroo_enable(void) { @@ -98,7 +83,8 @@ struct vga_switcheroo_client *client; /* call the handler to init */ - vgasr_priv.handler->init(); + if (vgasr_priv.handler->init) + vgasr_priv.handler->init(); list_for_each_entry(client, &vgasr_priv.clients, list) { if (client->id != -1) @@ -113,6 +99,37 @@ vgasr_priv.active = true; } +int vga_switcheroo_register_handler(struct vga_switcheroo_handler *handler) +{ + mutex_lock(&vgasr_mutex); + if (vgasr_priv.handler) { + mutex_unlock(&vgasr_mutex); + return -EINVAL; + } + + vgasr_priv.handler = handler; + if (vga_switcheroo_ready()) { + printk(KERN_INFO "vga_switcheroo: enabled\n"); + vga_switcheroo_enable(); + } + mutex_unlock(&vgasr_mutex); + return 0; +} +EXPORT_SYMBOL(vga_switcheroo_register_handler); + +void vga_switcheroo_unregister_handler(void) +{ + mutex_lock(&vgasr_mutex); + vgasr_priv.handler = NULL; + if (vgasr_priv.active) { + pr_info("vga_switcheroo: disabled\n"); + vga_switcheroo_debugfs_fini(&vgasr_priv); + vgasr_priv.active = false; + } + mutex_unlock(&vgasr_mutex); +} +EXPORT_SYMBOL(vga_switcheroo_unregister_handler); + static int register_client(struct pci_dev *pdev, const struct vga_switcheroo_client_ops *ops, int id, bool active) @@ -134,9 +151,7 @@ if (client_is_vga(client)) vgasr_priv.registered_clients++; - /* if we get two clients + handler */ - if (!vgasr_priv.active && - vgasr_priv.registered_clients == 2 && vgasr_priv.handler) { + if (vga_switcheroo_ready()) { printk(KERN_INFO "vga_switcheroo: enabled\n"); vga_switcheroo_enable(); } --- linux-lowlatency-3.5.0.orig/drivers/hid/Kconfig +++ linux-lowlatency-3.5.0/drivers/hid/Kconfig @@ -27,7 +27,7 @@ config HID_BATTERY_STRENGTH bool "Battery level reporting for HID devices" - depends on HID && POWER_SUPPLY && HID = POWER_SUPPLY + depends on HID && POWER_SUPPLY default n ---help--- This option adds support of reporting battery strength (for HID devices --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-chicony.c +++ linux-lowlatency-3.5.0/drivers/hid/hid-chicony.c @@ -60,6 +60,7 @@ static const struct hid_device_id ch_devices[] = { { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) }, + { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) }, { } }; MODULE_DEVICE_TABLE(hid, ch_devices); --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-core.c +++ linux-lowlatency-3.5.0/drivers/hid/hid-core.c @@ -757,6 +757,7 @@ struct hid_item item; unsigned int size; __u8 *start; + __u8 *buf; __u8 *end; int ret; static int (*dispatch_type[])(struct hid_parser *parser, @@ -775,12 +776,21 @@ return -ENODEV; size = device->dev_rsize; + buf = kmemdup(start, size, GFP_KERNEL); + if (buf == NULL) + return -ENOMEM; + if (device->driver->report_fixup) - start = device->driver->report_fixup(device, start, &size); + start = device->driver->report_fixup(device, buf, &size); + else + start = buf; - device->rdesc = kmemdup(start, size, GFP_KERNEL); - if (device->rdesc == NULL) + start = kmemdup(start, size, GFP_KERNEL); + kfree(buf); + if (start == NULL) return -ENOMEM; + + device->rdesc = start; device->rsize = size; parser = vzalloc(sizeof(struct hid_parser)); @@ -1521,10 +1531,12 @@ { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS) }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) }, + { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) }, { HID_USB_DEVICE(USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_PRODIKEYS_PCMIDI) }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_1) }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_2) }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_3) }, + { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_4) }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_MOUSE) }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0006) }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0011) }, @@ -1612,7 +1624,6 @@ { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) }, { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) }, - { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) }, { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) }, { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ARVO) }, { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ISKU) }, --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-cypress.c +++ linux-lowlatency-3.5.0/drivers/hid/hid-cypress.c @@ -129,6 +129,8 @@ .driver_data = CP_RDESC_SWAPPED_MIN_MAX }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_3), .driver_data = CP_RDESC_SWAPPED_MIN_MAX }, + { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_4), + .driver_data = CP_RDESC_SWAPPED_MIN_MAX }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_MOUSE), .driver_data = CP_2WHEEL_MOUSE_HACK }, { } --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-ids.h +++ linux-lowlatency-3.5.0/drivers/hid/hid-ids.h @@ -208,6 +208,7 @@ #define USB_DEVICE_ID_CHICONY_MULTI_TOUCH 0xb19d #define USB_DEVICE_ID_CHICONY_WIRELESS 0x0618 #define USB_DEVICE_ID_CHICONY_WIRELESS2 0x1123 +#define USB_DEVICE_ID_CHICONY_AK1D 0x1125 #define USB_VENDOR_ID_CHUNGHWAT 0x2247 #define USB_DEVICE_ID_CHUNGHWAT_MULTITOUCH 0x0001 @@ -237,6 +238,7 @@ #define USB_DEVICE_ID_CYPRESS_BARCODE_1 0xde61 #define USB_DEVICE_ID_CYPRESS_BARCODE_2 0xde64 #define USB_DEVICE_ID_CYPRESS_BARCODE_3 0xbca1 +#define USB_DEVICE_ID_CYPRESS_BARCODE_4 0xed81 #define USB_DEVICE_ID_CYPRESS_TRUETOUCH 0xc001 #define USB_VENDOR_ID_DEALEXTREAME 0x10c5 @@ -294,6 +296,9 @@ #define USB_VENDOR_ID_EZKEY 0x0518 #define USB_DEVICE_ID_BTC_8193 0x0002 +#define USB_VENDOR_ID_FREESCALE 0x15A2 +#define USB_DEVICE_ID_FREESCALE_MX28 0x004F + #define USB_VENDOR_ID_FRUCTEL 0x25B6 #define USB_DEVICE_ID_GAMETEL_MT_MODE 0x0002 @@ -573,6 +578,9 @@ #define USB_VENDOR_ID_NINTENDO 0x057e #define USB_DEVICE_ID_NINTENDO_WIIMOTE 0x0306 +#define USB_VENDOR_ID_NOVATEK 0x0603 +#define USB_DEVICE_ID_NOVATEK_PCT 0x0600 + #define USB_VENDOR_ID_NTRIG 0x1b96 #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN 0x0001 #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1 0x0003 --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-logitech-dj.c +++ linux-lowlatency-3.5.0/drivers/hid/hid-logitech-dj.c @@ -193,6 +193,7 @@ static int logi_dj_output_hidraw_report(struct hid_device *hid, u8 * buf, size_t count, unsigned char report_type); +static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev); static void logi_dj_recv_destroy_djhid_device(struct dj_receiver_dev *djrcv_dev, struct dj_report *dj_report) @@ -233,6 +234,7 @@ if (dj_report->report_params[DEVICE_PAIRED_PARAM_SPFUNCTION] & SPFUNCTION_DEVICE_LIST_EMPTY) { dbg_hid("%s: device list is empty\n", __func__); + djrcv_dev->querying_devices = false; return; } @@ -243,6 +245,12 @@ return; } + if (djrcv_dev->paired_dj_devices[dj_report->device_index]) { + /* The device is already known. No need to reallocate it. */ + dbg_hid("%s: device is already known\n", __func__); + return; + } + dj_hiddev = hid_allocate_device(); if (IS_ERR(dj_hiddev)) { dev_err(&djrcv_hdev->dev, "%s: hid_allocate_device failed\n", @@ -306,6 +314,7 @@ struct dj_report dj_report; unsigned long flags; int count; + int retval; dbg_hid("%s\n", __func__); @@ -338,6 +347,25 @@ logi_dj_recv_destroy_djhid_device(djrcv_dev, &dj_report); break; default: + /* A normal report (i. e. not belonging to a pair/unpair notification) + * arriving here, means that the report arrived but we did not have a + * paired dj_device associated to the report's device_index, this + * means that the original "device paired" notification corresponding + * to this dj_device never arrived to this driver. The reason is that + * hid-core discards all packets coming from a device while probe() is + * executing. */ + if (!djrcv_dev->paired_dj_devices[dj_report.device_index]) { + /* ok, we don't know the device, just re-ask the + * receiver for the list of connected devices. */ + retval = logi_dj_recv_query_paired_devices(djrcv_dev); + if (!retval) { + /* everything went fine, so just leave */ + break; + } + dev_err(&djrcv_dev->hdev->dev, + "%s:logi_dj_recv_query_paired_devices " + "error:%d\n", __func__, retval); + } dbg_hid("%s: unexpected report type\n", __func__); } } @@ -368,6 +396,12 @@ if (!djdev) { dbg_hid("djrcv_dev->paired_dj_devices[dj_report->device_index]" " is NULL, index %d\n", dj_report->device_index); + kfifo_in(&djrcv_dev->notif_fifo, dj_report, sizeof(struct dj_report)); + + if (schedule_work(&djrcv_dev->work) == 0) { + dbg_hid("%s: did not schedule the work item, was already " + "queued\n", __func__); + } return; } @@ -398,6 +432,12 @@ if (dj_device == NULL) { dbg_hid("djrcv_dev->paired_dj_devices[dj_report->device_index]" " is NULL, index %d\n", dj_report->device_index); + kfifo_in(&djrcv_dev->notif_fifo, dj_report, sizeof(struct dj_report)); + + if (schedule_work(&djrcv_dev->work) == 0) { + dbg_hid("%s: did not schedule the work item, was already " + "queued\n", __func__); + } return; } @@ -439,7 +479,11 @@ struct dj_report *dj_report; int retval; - dj_report = kzalloc(sizeof(dj_report), GFP_KERNEL); + /* no need to protect djrcv_dev->querying_devices */ + if (djrcv_dev->querying_devices) + return 0; + + dj_report = kzalloc(sizeof(struct dj_report), GFP_KERNEL); if (!dj_report) return -ENOMEM; dj_report->report_id = REPORT_ID_DJ_SHORT; @@ -450,13 +494,14 @@ return retval; } + static int logi_dj_recv_switch_to_dj_mode(struct dj_receiver_dev *djrcv_dev, unsigned timeout) { struct dj_report *dj_report; int retval; - dj_report = kzalloc(sizeof(dj_report), GFP_KERNEL); + dj_report = kzalloc(sizeof(struct dj_report), GFP_KERNEL); if (!dj_report) return -ENOMEM; dj_report->report_id = REPORT_ID_DJ_SHORT; --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-logitech-dj.h +++ linux-lowlatency-3.5.0/drivers/hid/hid-logitech-dj.h @@ -101,6 +101,7 @@ struct work_struct work; struct kfifo notif_fifo; spinlock_t lock; + bool querying_devices; }; struct dj_device { --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-microsoft.c +++ linux-lowlatency-3.5.0/drivers/hid/hid-microsoft.c @@ -29,22 +29,30 @@ #define MS_RDESC 0x08 #define MS_NOGET 0x10 #define MS_DUPLICATE_USAGES 0x20 +#define MS_RDESC_3K 0x40 -/* - * Microsoft Wireless Desktop Receiver (Model 1028) has - * 'Usage Min/Max' where it ought to have 'Physical Min/Max' - */ static __u8 *ms_report_fixup(struct hid_device *hdev, __u8 *rdesc, unsigned int *rsize) { unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); + /* + * Microsoft Wireless Desktop Receiver (Model 1028) has + * 'Usage Min/Max' where it ought to have 'Physical Min/Max' + */ if ((quirks & MS_RDESC) && *rsize == 571 && rdesc[557] == 0x19 && rdesc[559] == 0x29) { hid_info(hdev, "fixing up Microsoft Wireless Receiver Model 1028 report descriptor\n"); rdesc[557] = 0x35; rdesc[559] = 0x45; } + /* the same as above (s/usage/physical/) */ + if ((quirks & MS_RDESC_3K) && *rsize == 106 && rdesc[94] == 0x19 && + rdesc[95] == 0x00 && rdesc[96] == 0x29 && + rdesc[97] == 0xff) { + rdesc[94] = 0x35; + rdesc[96] = 0x45; + } return rdesc; } @@ -193,7 +201,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB), .driver_data = MS_PRESENTER }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K), - .driver_data = MS_ERGONOMY }, + .driver_data = MS_ERGONOMY | MS_RDESC_3K }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0), .driver_data = MS_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500), --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-multitouch.c +++ linux-lowlatency-3.5.0/drivers/hid/hid-multitouch.c @@ -83,6 +83,7 @@ unsigned last_field_index; /* last field index of the report */ unsigned last_slot_field; /* the last field of a slot */ __s8 inputmode; /* InputMode HID feature, -1 if non-existent */ + __s8 inputmode_index; /* InputMode HID feature index in the report */ __s8 maxcontact_report_id; /* Maximum Contact Number HID feature, -1 if non-existent */ __u8 num_received; /* how many contacts we received */ @@ -260,10 +261,20 @@ struct hid_field *field, struct hid_usage *usage) { struct mt_device *td = hid_get_drvdata(hdev); + int i; switch (usage->hid) { case HID_DG_INPUTMODE: td->inputmode = field->report->id; + td->inputmode_index = 0; /* has to be updated below */ + + for (i=0; i < field->maxusage; i++) { + if (field->usage[i].hid == usage->hid) { + td->inputmode_index = i; + break; + } + } + break; case HID_DG_CONTACTMAX: td->maxcontact_report_id = field->report->id; @@ -618,7 +629,7 @@ re = &(hdev->report_enum[HID_FEATURE_REPORT]); r = re->report_id_hash[td->inputmode]; if (r) { - r->field[0]->value[0] = 0x02; + r->field[0]->value[td->inputmode_index] = 0x02; usbhid_submit_report(hdev, r, USB_DIR_OUT); } } @@ -951,6 +962,11 @@ MT_USB_DEVICE(USB_VENDOR_ID_PANASONIC, USB_DEVICE_ID_PANABOARD_UBT880) }, + /* Novatek Panel */ + { .driver_data = MT_CLS_DEFAULT, + HID_USB_DEVICE(USB_VENDOR_ID_NOVATEK, + USB_DEVICE_ID_NOVATEK_PCT) }, + /* PenMount panels */ { .driver_data = MT_CLS_CONFIDENCE, MT_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, --- linux-lowlatency-3.5.0.orig/drivers/hid/hid-ntrig.c +++ linux-lowlatency-3.5.0/drivers/hid/hid-ntrig.c @@ -882,10 +882,10 @@ nd->activate_slack = activate_slack; nd->act_state = activate_slack; nd->deactivate_slack = -deactivate_slack; - nd->sensor_logical_width = 0; - nd->sensor_logical_height = 0; - nd->sensor_physical_width = 0; - nd->sensor_physical_height = 0; + nd->sensor_logical_width = 1; + nd->sensor_logical_height = 1; + nd->sensor_physical_width = 1; + nd->sensor_physical_height = 1; hid_set_drvdata(hdev, nd); --- linux-lowlatency-3.5.0.orig/drivers/hid/usbhid/hid-core.c +++ linux-lowlatency-3.5.0/drivers/hid/usbhid/hid-core.c @@ -1423,20 +1423,20 @@ * configuration descriptors passed, we already know that * the size of the HID report descriptor has not changed. */ - rdesc = kmalloc(hid->rsize, GFP_KERNEL); + rdesc = kmalloc(hid->dev_rsize, GFP_KERNEL); if (!rdesc) { dbg_hid("couldn't allocate rdesc memory (post_reset)\n"); return 1; } status = hid_get_class_descriptor(dev, interface->desc.bInterfaceNumber, - HID_DT_REPORT, rdesc, hid->rsize); + HID_DT_REPORT, rdesc, hid->dev_rsize); if (status < 0) { dbg_hid("reading report descriptor failed (post_reset)\n"); kfree(rdesc); return 1; } - status = memcmp(rdesc, hid->rdesc, hid->rsize); + status = memcmp(rdesc, hid->dev_rdesc, hid->dev_rsize); kfree(rdesc); if (status != 0) { dbg_hid("report descriptor changed\n"); --- linux-lowlatency-3.5.0.orig/drivers/hid/usbhid/hid-quirks.c +++ linux-lowlatency-3.5.0/drivers/hid/usbhid/hid-quirks.c @@ -70,6 +70,8 @@ { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET }, { USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN1, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN2, HID_QUIRK_NO_INIT_REPORTS }, --- linux-lowlatency-3.5.0.orig/drivers/hv/channel.c +++ linux-lowlatency-3.5.0/drivers/hv/channel.c @@ -146,14 +146,14 @@ if (ret != 0) { err = ret; - goto errorout; + goto error0; } ret = hv_ringbuffer_init( &newchannel->inbound, in, recv_ringbuffer_size); if (ret != 0) { err = ret; - goto errorout; + goto error0; } @@ -168,7 +168,7 @@ if (ret != 0) { err = ret; - goto errorout; + goto error0; } /* Create and init the channel open message */ @@ -177,7 +177,7 @@ GFP_KERNEL); if (!open_info) { err = -ENOMEM; - goto errorout; + goto error0; } init_completion(&open_info->waitevent); @@ -193,7 +193,7 @@ if (userdatalen > MAX_USER_DEFINED_BYTES) { err = -EINVAL; - goto errorout; + goto error0; } if (userdatalen) @@ -208,19 +208,18 @@ sizeof(struct vmbus_channel_open_channel)); if (ret != 0) - goto cleanup; + goto error1; t = wait_for_completion_timeout(&open_info->waitevent, 5*HZ); if (t == 0) { err = -ETIMEDOUT; - goto errorout; + goto error1; } if (open_info->response.open_result.status) err = open_info->response.open_result.status; -cleanup: spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags); list_del(&open_info->msglistentry); spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags); @@ -228,9 +227,12 @@ kfree(open_info); return err; -errorout: - hv_ringbuffer_cleanup(&newchannel->outbound); - hv_ringbuffer_cleanup(&newchannel->inbound); +error1: + spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags); + list_del(&open_info->msglistentry); + spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags); + +error0: free_pages((unsigned long)out, get_order(send_ringbuffer_size + recv_ringbuffer_size)); kfree(open_info); --- linux-lowlatency-3.5.0.orig/drivers/hwmon/ad7314.c +++ linux-lowlatency-3.5.0/drivers/hwmon/ad7314.c @@ -87,10 +87,18 @@ } } +static ssize_t ad7314_show_name(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + return sprintf(buf, "%s\n", to_spi_device(dev)->modalias); +} + +static DEVICE_ATTR(name, S_IRUGO, ad7314_show_name, NULL); static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, ad7314_show_temperature, NULL, 0); static struct attribute *ad7314_attributes[] = { + &dev_attr_name.attr, &sensor_dev_attr_temp1_input.dev_attr.attr, NULL, }; --- linux-lowlatency-3.5.0.orig/drivers/hwmon/ads7871.c +++ linux-lowlatency-3.5.0/drivers/hwmon/ads7871.c @@ -139,6 +139,12 @@ } } +static ssize_t ads7871_show_name(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + return sprintf(buf, "%s\n", to_spi_device(dev)->modalias); +} + static SENSOR_DEVICE_ATTR(in0_input, S_IRUGO, show_voltage, NULL, 0); static SENSOR_DEVICE_ATTR(in1_input, S_IRUGO, show_voltage, NULL, 1); static SENSOR_DEVICE_ATTR(in2_input, S_IRUGO, show_voltage, NULL, 2); @@ -148,6 +154,8 @@ static SENSOR_DEVICE_ATTR(in6_input, S_IRUGO, show_voltage, NULL, 6); static SENSOR_DEVICE_ATTR(in7_input, S_IRUGO, show_voltage, NULL, 7); +static DEVICE_ATTR(name, S_IRUGO, ads7871_show_name, NULL); + static struct attribute *ads7871_attributes[] = { &sensor_dev_attr_in0_input.dev_attr.attr, &sensor_dev_attr_in1_input.dev_attr.attr, @@ -157,6 +165,7 @@ &sensor_dev_attr_in5_input.dev_attr.attr, &sensor_dev_attr_in6_input.dev_attr.attr, &sensor_dev_attr_in7_input.dev_attr.attr, + &dev_attr_name.attr, NULL }; --- linux-lowlatency-3.5.0.orig/drivers/hwmon/applesmc.c +++ linux-lowlatency-3.5.0/drivers/hwmon/applesmc.c @@ -54,10 +54,10 @@ #define APPLESMC_MAX_DATA_LENGTH 32 /* wait up to 32 ms for a status change. */ -#define APPLESMC_MIN_WAIT 0x0040 +#define APPLESMC_MIN_WAIT 0x0010 +#define APPLESMC_RETRY_WAIT 0x0100 #define APPLESMC_MAX_WAIT 0x8000 -#define APPLESMC_STATUS_MASK 0x0f #define APPLESMC_READ_CMD 0x10 #define APPLESMC_WRITE_CMD 0x11 #define APPLESMC_GET_KEY_BY_INDEX_CMD 0x12 @@ -162,51 +162,68 @@ static struct workqueue_struct *applesmc_led_wq; /* - * __wait_status - Wait up to 32ms for the status port to get a certain value - * (masked with 0x0f), returning zero if the value is obtained. Callers must + * wait_read - Wait for a byte to appear on SMC port. Callers must * hold applesmc_lock. */ -static int __wait_status(u8 val) +static int wait_read(void) { + u8 status; int us; - - val = val & APPLESMC_STATUS_MASK; - for (us = APPLESMC_MIN_WAIT; us < APPLESMC_MAX_WAIT; us <<= 1) { udelay(us); - if ((inb(APPLESMC_CMD_PORT) & APPLESMC_STATUS_MASK) == val) + status = inb(APPLESMC_CMD_PORT); + /* read: wait for smc to settle */ + if (status & 0x01) return 0; } + pr_warn("wait_read() fail: 0x%02x\n", status); return -EIO; } /* - * special treatment of command port - on newer macbooks, it seems necessary - * to resend the command byte before polling the status again. Callers must - * hold applesmc_lock. + * send_byte - Write to SMC port, retrying when necessary. Callers + * must hold applesmc_lock. */ -static int send_command(u8 cmd) +static int send_byte(u8 cmd, u16 port) { + u8 status; int us; + + outb(cmd, port); for (us = APPLESMC_MIN_WAIT; us < APPLESMC_MAX_WAIT; us <<= 1) { - outb(cmd, APPLESMC_CMD_PORT); udelay(us); - if ((inb(APPLESMC_CMD_PORT) & APPLESMC_STATUS_MASK) == 0x0c) + status = inb(APPLESMC_CMD_PORT); + /* write: wait for smc to settle */ + if (status & 0x02) + continue; + /* ready: cmd accepted, return */ + if (status & 0x04) return 0; + /* timeout: give up */ + if (us << 1 == APPLESMC_MAX_WAIT) + break; + /* busy: long wait and resend */ + udelay(APPLESMC_RETRY_WAIT); + outb(cmd, port); } + + pr_warn("send_byte(0x%02x, 0x%04x) fail: 0x%02x\n", cmd, port, status); return -EIO; } +static int send_command(u8 cmd) +{ + return send_byte(cmd, APPLESMC_CMD_PORT); +} + static int send_argument(const char *key) { int i; - for (i = 0; i < 4; i++) { - outb(key[i], APPLESMC_DATA_PORT); - if (__wait_status(0x04)) + for (i = 0; i < 4; i++) + if (send_byte(key[i], APPLESMC_DATA_PORT)) return -EIO; - } return 0; } @@ -219,11 +236,14 @@ return -EIO; } - outb(len, APPLESMC_DATA_PORT); + if (send_byte(len, APPLESMC_DATA_PORT)) { + pr_warn("%.4s: read len fail\n", key); + return -EIO; + } for (i = 0; i < len; i++) { - if (__wait_status(0x05)) { - pr_warn("%.4s: read data fail\n", key); + if (wait_read()) { + pr_warn("%.4s: read data[%d] fail\n", key, i); return -EIO; } buffer[i] = inb(APPLESMC_DATA_PORT); @@ -241,14 +261,16 @@ return -EIO; } - outb(len, APPLESMC_DATA_PORT); + if (send_byte(len, APPLESMC_DATA_PORT)) { + pr_warn("%.4s: write len fail\n", key); + return -EIO; + } for (i = 0; i < len; i++) { - if (__wait_status(0x04)) { + if (send_byte(buffer[i], APPLESMC_DATA_PORT)) { pr_warn("%s: write data fail\n", key); return -EIO; } - outb(buffer[i], APPLESMC_DATA_PORT); } return 0; --- linux-lowlatency-3.5.0.orig/drivers/hwmon/asus_atk0110.c +++ linux-lowlatency-3.5.0/drivers/hwmon/asus_atk0110.c @@ -34,6 +34,12 @@ .matches = { DMI_MATCH(DMI_BOARD_NAME, "SABERTOOTH X58") } + }, { + /* Old interface reads the same sensor for fan0 and fan1 */ + .ident = "Asus M5A78L", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "M5A78L") + } }, { } }; --- linux-lowlatency-3.5.0.orig/drivers/hwmon/coretemp.c +++ linux-lowlatency-3.5.0/drivers/hwmon/coretemp.c @@ -205,8 +205,11 @@ { "CPU N455", 100000 }, { "CPU N470", 100000 }, { "CPU N475", 100000 }, - { "CPU 230", 100000 }, - { "CPU 330", 125000 }, + { "CPU 230", 100000 }, /* Model 0x1c, stepping 2 */ + { "CPU 330", 125000 }, /* Model 0x1c, stepping 2 */ + { "CPU CE4110", 110000 }, /* Model 0x1c, stepping 10 */ + { "CPU CE4150", 110000 }, /* Model 0x1c, stepping 10 */ + { "CPU CE4170", 110000 }, /* Model 0x1c, stepping 10 */ }; static int __cpuinit adjust_tjmax(struct cpuinfo_x86 *c, u32 id, --- linux-lowlatency-3.5.0.orig/drivers/hwmon/fam15h_power.c +++ linux-lowlatency-3.5.0/drivers/hwmon/fam15h_power.c @@ -128,12 +128,12 @@ * counter saturations resulting in bogus power readings. * We correct this value ourselves to cope with older BIOSes. */ -static DEFINE_PCI_DEVICE_TABLE(affected_device) = { +static const struct pci_device_id affected_device[] = { { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_NB_F4) }, { 0 } }; -static void __devinit tweak_runavg_range(struct pci_dev *pdev) +static void tweak_runavg_range(struct pci_dev *pdev) { u32 val; @@ -157,6 +157,16 @@ REG_TDP_RUNNING_AVERAGE, val); } +#ifdef CONFIG_PM +static int fam15h_power_resume(struct pci_dev *pdev) +{ + tweak_runavg_range(pdev); + return 0; +} +#else +#define fam15h_power_resume NULL +#endif + static void __devinit fam15h_power_init_data(struct pci_dev *f4, struct fam15h_power_data *data) { @@ -255,6 +265,7 @@ .id_table = fam15h_power_id_table, .probe = fam15h_power_probe, .remove = __devexit_p(fam15h_power_remove), + .resume = fam15h_power_resume, }; module_pci_driver(fam15h_power_driver); --- linux-lowlatency-3.5.0.orig/drivers/hwmon/twl4030-madc-hwmon.c +++ linux-lowlatency-3.5.0/drivers/hwmon/twl4030-madc-hwmon.c @@ -44,12 +44,13 @@ struct device_attribute *devattr, char *buf) { struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); - struct twl4030_madc_request req; + struct twl4030_madc_request req = { + .channels = 1 << attr->index, + .method = TWL4030_MADC_SW2, + .type = TWL4030_MADC_WAIT, + }; long val; - req.channels = (1 << attr->index); - req.method = TWL4030_MADC_SW2; - req.func_cb = NULL; val = twl4030_madc_conversion(&req); if (val < 0) return val; --- linux-lowlatency-3.5.0.orig/drivers/hwmon/w83627ehf.c +++ linux-lowlatency-3.5.0/drivers/hwmon/w83627ehf.c @@ -2082,6 +2082,7 @@ mutex_init(&data->lock); mutex_init(&data->update_lock); data->name = w83627ehf_device_names[sio_data->kind]; + data->bank = 0xff; /* Force initial bank selection */ platform_set_drvdata(pdev, data); /* 627EHG and 627EHF have 10 voltage inputs; 627DHG and 667HG have 9 */ --- linux-lowlatency-3.5.0.orig/drivers/hwmon/ina2xx.c +++ linux-lowlatency-3.5.0/drivers/hwmon/ina2xx.c @@ -69,22 +69,6 @@ u16 regs[INA2XX_MAX_REGISTERS]; }; -int ina2xx_read_word(struct i2c_client *client, int reg) -{ - int val = i2c_smbus_read_word_data(client, reg); - if (unlikely(val < 0)) { - dev_dbg(&client->dev, - "Failed to read register: %d\n", reg); - return val; - } - return be16_to_cpu(val); -} - -void ina2xx_write_word(struct i2c_client *client, int reg, int data) -{ - i2c_smbus_write_word_data(client, reg, cpu_to_be16(data)); -} - static struct ina2xx_data *ina2xx_update_device(struct device *dev) { struct i2c_client *client = to_i2c_client(dev); @@ -102,7 +86,7 @@ /* Read all registers */ for (i = 0; i < data->registers; i++) { - int rv = ina2xx_read_word(client, i); + int rv = i2c_smbus_read_word_swapped(client, i); if (rv < 0) { ret = ERR_PTR(rv); goto abort; @@ -279,22 +263,26 @@ switch (data->kind) { case ina219: /* device configuration */ - ina2xx_write_word(client, INA2XX_CONFIG, INA219_CONFIG_DEFAULT); + i2c_smbus_write_word_swapped(client, INA2XX_CONFIG, + INA219_CONFIG_DEFAULT); /* set current LSB to 1mA, shunt is in uOhms */ /* (equation 13 in datasheet) */ - ina2xx_write_word(client, INA2XX_CALIBRATION, 40960000 / shunt); + i2c_smbus_write_word_swapped(client, INA2XX_CALIBRATION, + 40960000 / shunt); dev_info(&client->dev, "power monitor INA219 (Rshunt = %li uOhm)\n", shunt); data->registers = INA219_REGISTERS; break; case ina226: /* device configuration */ - ina2xx_write_word(client, INA2XX_CONFIG, INA226_CONFIG_DEFAULT); + i2c_smbus_write_word_swapped(client, INA2XX_CONFIG, + INA226_CONFIG_DEFAULT); /* set current LSB to 1mA, shunt is in uOhms */ /* (equation 1 in datasheet)*/ - ina2xx_write_word(client, INA2XX_CALIBRATION, 5120000 / shunt); + i2c_smbus_write_word_swapped(client, INA2XX_CALIBRATION, + 5120000 / shunt); dev_info(&client->dev, "power monitor INA226 (Rshunt = %li uOhm)\n", shunt); data->registers = INA226_REGISTERS; --- linux-lowlatency-3.5.0.orig/drivers/i2c/busses/Kconfig +++ linux-lowlatency-3.5.0/drivers/i2c/busses/Kconfig @@ -104,6 +104,7 @@ DH89xxCC (PCH) Panther Point (PCH) Lynx Point (PCH) + Lynx Point-LP (PCH) This driver can also be built as a module. If so, the module will be called i2c-i801. @@ -350,9 +351,13 @@ devices such as DaVinci NIC. For details please see http://www.ti.com/davinci +config I2C_DESIGNWARE_CORE + tristate + config I2C_DESIGNWARE_PLATFORM tristate "Synopsys DesignWare Platform" depends on HAVE_CLK + select I2C_DESIGNWARE_CORE help If you say yes to this option, support will be included for the Synopsys DesignWare I2C adapter. Only master mode is supported. @@ -363,6 +368,7 @@ config I2C_DESIGNWARE_PCI tristate "Synopsys DesignWare PCI" depends on PCI + select I2C_DESIGNWARE_CORE help If you say yes to this option, support will be included for the Synopsys DesignWare I2C adapter. Only master mode is supported. --- linux-lowlatency-3.5.0.orig/drivers/i2c/busses/Makefile +++ linux-lowlatency-3.5.0/drivers/i2c/busses/Makefile @@ -33,10 +33,11 @@ obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o obj-$(CONFIG_I2C_CPM) += i2c-cpm.o obj-$(CONFIG_I2C_DAVINCI) += i2c-davinci.o +obj-$(CONFIG_I2C_DESIGNWARE_CORE) += i2c-designware-core.o obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) += i2c-designware-platform.o -i2c-designware-platform-objs := i2c-designware-platdrv.o i2c-designware-core.o +i2c-designware-platform-objs := i2c-designware-platdrv.o obj-$(CONFIG_I2C_DESIGNWARE_PCI) += i2c-designware-pci.o -i2c-designware-pci-objs := i2c-designware-pcidrv.o i2c-designware-core.o +i2c-designware-pci-objs := i2c-designware-pcidrv.o obj-$(CONFIG_I2C_EG20T) += i2c-eg20t.o obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o obj-$(CONFIG_I2C_HIGHLANDER) += i2c-highlander.o --- linux-lowlatency-3.5.0.orig/drivers/i2c/busses/i2c-designware-core.c +++ linux-lowlatency-3.5.0/drivers/i2c/busses/i2c-designware-core.c @@ -25,6 +25,7 @@ * ---------------------------------------------------------------------------- * */ +#include #include #include #include @@ -316,6 +317,7 @@ dw_writel(dev, dev->master_cfg , DW_IC_CON); return 0; } +EXPORT_SYMBOL_GPL(i2c_dw_init); /* * Waiting for bus not busy @@ -568,12 +570,14 @@ return ret; } +EXPORT_SYMBOL_GPL(i2c_dw_xfer); u32 i2c_dw_func(struct i2c_adapter *adap) { struct dw_i2c_dev *dev = i2c_get_adapdata(adap); return dev->functionality; } +EXPORT_SYMBOL_GPL(i2c_dw_func); static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev) { @@ -678,17 +682,20 @@ return IRQ_HANDLED; } +EXPORT_SYMBOL_GPL(i2c_dw_isr); void i2c_dw_enable(struct dw_i2c_dev *dev) { /* Enable the adapter */ dw_writel(dev, 1, DW_IC_ENABLE); } +EXPORT_SYMBOL_GPL(i2c_dw_enable); u32 i2c_dw_is_enabled(struct dw_i2c_dev *dev) { return dw_readl(dev, DW_IC_ENABLE); } +EXPORT_SYMBOL_GPL(i2c_dw_is_enabled); void i2c_dw_disable(struct dw_i2c_dev *dev) { @@ -699,18 +706,22 @@ dw_writel(dev, 0, DW_IC_INTR_MASK); dw_readl(dev, DW_IC_CLR_INTR); } +EXPORT_SYMBOL_GPL(i2c_dw_disable); void i2c_dw_clear_int(struct dw_i2c_dev *dev) { dw_readl(dev, DW_IC_CLR_INTR); } +EXPORT_SYMBOL_GPL(i2c_dw_clear_int); void i2c_dw_disable_int(struct dw_i2c_dev *dev) { dw_writel(dev, 0, DW_IC_INTR_MASK); } +EXPORT_SYMBOL_GPL(i2c_dw_disable_int); u32 i2c_dw_read_comp_param(struct dw_i2c_dev *dev) { return dw_readl(dev, DW_IC_COMP_PARAM_1); } +EXPORT_SYMBOL_GPL(i2c_dw_read_comp_param); --- linux-lowlatency-3.5.0.orig/drivers/i2c/busses/i2c-i801.c +++ linux-lowlatency-3.5.0/drivers/i2c/busses/i2c-i801.c @@ -52,6 +52,7 @@ DH89xxCC (PCH) 0x2330 32 hard yes yes yes Panther Point (PCH) 0x1e22 32 hard yes yes yes Lynx Point (PCH) 0x8c22 32 hard yes yes yes + Lynx Point-LP (PCH) 0x9c22 32 hard yes yes yes Features supported by this driver: Software PEC no @@ -147,6 +148,7 @@ #define PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS 0x2330 #define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS 0x3b30 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS 0x8c22 +#define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_SMBUS 0x9c22 struct i801_priv { struct i2c_adapter adapter; @@ -636,6 +638,7 @@ { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PANTHERPOINT_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_SMBUS) }, { 0, } }; --- linux-lowlatency-3.5.0.orig/drivers/i2c/busses/i2c-powermac.c +++ linux-lowlatency-3.5.0/drivers/i2c/busses/i2c-powermac.c @@ -227,28 +227,138 @@ return 0; } +static u32 __devinit i2c_powermac_get_addr(struct i2c_adapter *adap, + struct pmac_i2c_bus *bus, + struct device_node *node) +{ + const __be32 *prop; + int len; + + /* First check for valid "reg" */ + prop = of_get_property(node, "reg", &len); + if (prop && (len >= sizeof(int))) + return (be32_to_cpup(prop) & 0xff) >> 1; + + /* Then check old-style "i2c-address" */ + prop = of_get_property(node, "i2c-address", &len); + if (prop && (len >= sizeof(int))) + return (be32_to_cpup(prop) & 0xff) >> 1; + + /* Now handle some devices with missing "reg" properties */ + if (!strcmp(node->name, "cereal")) + return 0x60; + else if (!strcmp(node->name, "deq")) + return 0x34; + + dev_warn(&adap->dev, "No i2c address for %s\n", node->full_name); + + return 0xffffffff; +} + +static void __devinit i2c_powermac_create_one(struct i2c_adapter *adap, + const char *type, + u32 addr) +{ + struct i2c_board_info info = {}; + struct i2c_client *newdev; + + strncpy(info.type, type, sizeof(info.type)); + info.addr = addr; + newdev = i2c_new_device(adap, &info); + if (!newdev) + dev_err(&adap->dev, + "i2c-powermac: Failure to register missing %s\n", + type); +} + +static void __devinit i2c_powermac_add_missing(struct i2c_adapter *adap, + struct pmac_i2c_bus *bus, + bool found_onyx) +{ + struct device_node *busnode = pmac_i2c_get_bus_node(bus); + int rc; + + /* Check for the onyx audio codec */ +#define ONYX_REG_CONTROL 67 + if (of_device_is_compatible(busnode, "k2-i2c") && !found_onyx) { + union i2c_smbus_data data; + + rc = i2c_smbus_xfer(adap, 0x46, 0, I2C_SMBUS_READ, + ONYX_REG_CONTROL, I2C_SMBUS_BYTE_DATA, + &data); + if (rc >= 0) + i2c_powermac_create_one(adap, "MAC,pcm3052", 0x46); + + rc = i2c_smbus_xfer(adap, 0x47, 0, I2C_SMBUS_READ, + ONYX_REG_CONTROL, I2C_SMBUS_BYTE_DATA, + &data); + if (rc >= 0) + i2c_powermac_create_one(adap, "MAC,pcm3052", 0x47); + } +} + +static bool __devinit i2c_powermac_get_type(struct i2c_adapter *adap, + struct device_node *node, + u32 addr, char *type, int type_size) +{ + char tmp[16]; + + /* Note: we to _NOT_ want the standard + * i2c drivers to match with any of our powermac stuff + * unless they have been specifically modified to handle + * it on a case by case basis. For example, for thermal + * control, things like lm75 etc... shall match with their + * corresponding windfarm drivers, _NOT_ the generic ones, + * so we force a prefix of AAPL, onto the modalias to + * make that happen + */ + + /* First try proper modalias */ + if (of_modalias_node(node, tmp, sizeof(tmp)) >= 0) { + snprintf(type, type_size, "MAC,%s", tmp); + return true; + } + + /* Now look for known workarounds */ + if (!strcmp(node->name, "deq")) { + /* Apple uses address 0x34 for TAS3001 and 0x35 for TAS3004 */ + if (addr == 0x34) { + snprintf(type, type_size, "MAC,tas3001"); + return true; + } else if (addr == 0x35) { + snprintf(type, type_size, "MAC,tas3004"); + return true; + } + } + + dev_err(&adap->dev, "i2c-powermac: modalias failure" + " on %s\n", node->full_name); + return false; +} + static void __devinit i2c_powermac_register_devices(struct i2c_adapter *adap, struct pmac_i2c_bus *bus) { struct i2c_client *newdev; struct device_node *node; + bool found_onyx = 0; + + /* + * In some cases we end up with the via-pmu node itself, in this + * case we skip this function completely as the device-tree will + * not contain anything useful. + */ + if (!strcmp(adap->dev.of_node->name, "via-pmu")) + return; for_each_child_of_node(adap->dev.of_node, node) { struct i2c_board_info info = {}; - struct dev_archdata dev_ad = {}; - const __be32 *reg; - char tmp[16]; u32 addr; - int len; /* Get address & channel */ - reg = of_get_property(node, "reg", &len); - if (!reg || (len < sizeof(int))) { - dev_err(&adap->dev, "i2c-powermac: invalid reg on %s\n", - node->full_name); + addr = i2c_powermac_get_addr(adap, bus, node); + if (addr == 0xffffffff) continue; - } - addr = be32_to_cpup(reg); /* Multibus setup, check channel */ if (!pmac_i2c_match_adapter(node, adap)) @@ -257,27 +367,23 @@ dev_dbg(&adap->dev, "i2c-powermac: register %s\n", node->full_name); - /* Make up a modalias. Note: we to _NOT_ want the standard - * i2c drivers to match with any of our powermac stuff - * unless they have been specifically modified to handle - * it on a case by case basis. For example, for thermal - * control, things like lm75 etc... shall match with their - * corresponding windfarm drivers, _NOT_ the generic ones, - * so we force a prefix of AAPL, onto the modalias to - * make that happen + /* + * Keep track of some device existence to handle + * workarounds later. */ - if (of_modalias_node(node, tmp, sizeof(tmp)) < 0) { - dev_err(&adap->dev, "i2c-powermac: modalias failure" - " on %s\n", node->full_name); + if (of_device_is_compatible(node, "pcm3052")) + found_onyx = true; + + /* Make up a modalias */ + if (!i2c_powermac_get_type(adap, node, addr, + info.type, sizeof(info.type))) { continue; } - snprintf(info.type, sizeof(info.type), "MAC,%s", tmp); /* Fill out the rest of the info structure */ - info.addr = (addr & 0xff) >> 1; + info.addr = addr; info.irq = irq_of_parse_and_map(node, 0); info.of_node = of_node_get(node); - info.archdata = &dev_ad; newdev = i2c_new_device(adap, &info); if (!newdev) { @@ -292,6 +398,9 @@ continue; } } + + /* Additional workarounds */ + i2c_powermac_add_missing(adap, bus, found_onyx); } static int __devinit i2c_powermac_probe(struct platform_device *dev) --- linux-lowlatency-3.5.0.orig/drivers/i2c/muxes/i2c-mux-pinctrl.c +++ linux-lowlatency-3.5.0/drivers/i2c/muxes/i2c-mux-pinctrl.c @@ -169,7 +169,7 @@ mux->busses = devm_kzalloc(&pdev->dev, sizeof(mux->busses) * mux->pdata->bus_count, GFP_KERNEL); - if (!mux->states) { + if (!mux->busses) { dev_err(&pdev->dev, "Cannot allocate busses\n"); ret = -ENOMEM; goto err; --- linux-lowlatency-3.5.0.orig/drivers/idle/intel_idle.c +++ linux-lowlatency-3.5.0/drivers/idle/intel_idle.c @@ -169,6 +169,38 @@ .enter = &intel_idle }, }; +static struct cpuidle_state ivb_cstates[MWAIT_MAX_NUM_CSTATES] = { + { /* MWAIT C0 */ }, + { /* MWAIT C1 */ + .name = "C1-IVB", + .desc = "MWAIT 0x00", + .flags = CPUIDLE_FLAG_TIME_VALID, + .exit_latency = 1, + .target_residency = 1, + .enter = &intel_idle }, + { /* MWAIT C2 */ + .name = "C3-IVB", + .desc = "MWAIT 0x10", + .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_TLB_FLUSHED, + .exit_latency = 59, + .target_residency = 156, + .enter = &intel_idle }, + { /* MWAIT C3 */ + .name = "C6-IVB", + .desc = "MWAIT 0x20", + .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_TLB_FLUSHED, + .exit_latency = 80, + .target_residency = 300, + .enter = &intel_idle }, + { /* MWAIT C4 */ + .name = "C7-IVB", + .desc = "MWAIT 0x30", + .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_TLB_FLUSHED, + .exit_latency = 87, + .target_residency = 300, + .enter = &intel_idle }, +}; + static struct cpuidle_state atom_cstates[MWAIT_MAX_NUM_CSTATES] = { { /* MWAIT C0 */ }, { /* MWAIT C1 */ @@ -347,6 +379,10 @@ .state_table = snb_cstates, }; +static const struct idle_cpu idle_cpu_ivb = { + .state_table = ivb_cstates, +}; + #define ICPU(model, cpu) \ { X86_VENDOR_INTEL, 6, model, X86_FEATURE_MWAIT, (unsigned long)&cpu } @@ -362,6 +398,7 @@ ICPU(0x2f, idle_cpu_nehalem), ICPU(0x2a, idle_cpu_snb), ICPU(0x2d, idle_cpu_snb), + ICPU(0x3a, idle_cpu_ivb), {} }; MODULE_DEVICE_TABLE(x86cpu, intel_idle_ids); --- linux-lowlatency-3.5.0.orig/drivers/infiniband/core/cma.c +++ linux-lowlatency-3.5.0/drivers/infiniband/core/cma.c @@ -3457,7 +3457,8 @@ } static const struct ibnl_client_cbs cma_cb_table[] = { - [RDMA_NL_RDMA_CM_ID_STATS] = { .dump = cma_get_id_stats }, + [RDMA_NL_RDMA_CM_ID_STATS] = { .dump = cma_get_id_stats, + .module = THIS_MODULE }, }; static int __init cma_init(void) --- linux-lowlatency-3.5.0.orig/drivers/infiniband/core/netlink.c +++ linux-lowlatency-3.5.0/drivers/infiniband/core/netlink.c @@ -152,6 +152,7 @@ { struct netlink_dump_control c = { .dump = client->cb_table[op].dump, + .module = client->cb_table[op].module, }; return netlink_dump_start(nls, skb, nlh, &c); } --- linux-lowlatency-3.5.0.orig/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ linux-lowlatency-3.5.0/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -148,7 +148,7 @@ netif_stop_queue(dev); - ipoib_ib_dev_down(dev, 0); + ipoib_ib_dev_down(dev, 1); ipoib_ib_dev_stop(dev, 0); if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) { --- linux-lowlatency-3.5.0.orig/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ linux-lowlatency-3.5.0/drivers/infiniband/ulp/ipoib/ipoib_multicast.c @@ -190,7 +190,9 @@ mcast->mcmember = *mcmember; - /* Set the cached Q_Key before we attach if it's the broadcast group */ + /* Set the multicast MTU and cached Q_Key before we attach if it's + * the broadcast group. + */ if (!memcmp(mcast->mcmember.mgid.raw, priv->dev->broadcast + 4, sizeof (union ib_gid))) { spin_lock_irq(&priv->lock); @@ -198,10 +200,17 @@ spin_unlock_irq(&priv->lock); return -EAGAIN; } + priv->mcast_mtu = IPOIB_UD_MTU(ib_mtu_enum_to_int(priv->broadcast->mcmember.mtu)); priv->qkey = be32_to_cpu(priv->broadcast->mcmember.qkey); spin_unlock_irq(&priv->lock); priv->tx_wr.wr.ud.remote_qkey = priv->qkey; set_qkey = 1; + + if (!ipoib_cm_admin_enabled(dev)) { + rtnl_lock(); + dev_set_mtu(dev, min(priv->mcast_mtu, priv->admin_mtu)); + rtnl_unlock(); + } } if (!test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags)) { @@ -589,14 +598,6 @@ return; } - priv->mcast_mtu = IPOIB_UD_MTU(ib_mtu_enum_to_int(priv->broadcast->mcmember.mtu)); - - if (!ipoib_cm_admin_enabled(dev)) { - rtnl_lock(); - dev_set_mtu(dev, min(priv->mcast_mtu, priv->admin_mtu)); - rtnl_unlock(); - } - ipoib_dbg_mcast(priv, "successfully joined all multicast groups\n"); clear_bit(IPOIB_MCAST_RUN, &priv->flags); --- linux-lowlatency-3.5.0.orig/drivers/infiniband/ulp/srp/ib_srp.c +++ linux-lowlatency-3.5.0/drivers/infiniband/ulp/srp/ib_srp.c @@ -586,24 +586,62 @@ scmnd->sc_data_direction); } -static void srp_remove_req(struct srp_target_port *target, - struct srp_request *req, s32 req_lim_delta) +/** + * srp_claim_req - Take ownership of the scmnd associated with a request. + * @target: SRP target port. + * @req: SRP request. + * @scmnd: If NULL, take ownership of @req->scmnd. If not NULL, only take + * ownership of @req->scmnd if it equals @scmnd. + * + * Return value: + * Either NULL or a pointer to the SCSI command the caller became owner of. + */ +static struct scsi_cmnd *srp_claim_req(struct srp_target_port *target, + struct srp_request *req, + struct scsi_cmnd *scmnd) { unsigned long flags; - srp_unmap_data(req->scmnd, target, req); + spin_lock_irqsave(&target->lock, flags); + if (!scmnd) { + scmnd = req->scmnd; + req->scmnd = NULL; + } else if (req->scmnd == scmnd) { + req->scmnd = NULL; + } else { + scmnd = NULL; + } + spin_unlock_irqrestore(&target->lock, flags); + + return scmnd; +} + +/** + * srp_free_req() - Unmap data and add request to the free request list. + */ +static void srp_free_req(struct srp_target_port *target, + struct srp_request *req, struct scsi_cmnd *scmnd, + s32 req_lim_delta) +{ + unsigned long flags; + + srp_unmap_data(scmnd, target, req); + spin_lock_irqsave(&target->lock, flags); target->req_lim += req_lim_delta; - req->scmnd = NULL; list_add_tail(&req->list, &target->free_reqs); spin_unlock_irqrestore(&target->lock, flags); } static void srp_reset_req(struct srp_target_port *target, struct srp_request *req) { - req->scmnd->result = DID_RESET << 16; - req->scmnd->scsi_done(req->scmnd); - srp_remove_req(target, req, 0); + struct scsi_cmnd *scmnd = srp_claim_req(target, req, NULL); + + if (scmnd) { + srp_free_req(target, req, scmnd, 0); + scmnd->result = DID_RESET << 16; + scmnd->scsi_done(scmnd); + } } static int srp_reconnect_target(struct srp_target_port *target) @@ -1073,11 +1111,18 @@ complete(&target->tsk_mgmt_done); } else { req = &target->req_ring[rsp->tag]; - scmnd = req->scmnd; - if (!scmnd) + scmnd = srp_claim_req(target, req, NULL); + if (!scmnd) { shost_printk(KERN_ERR, target->scsi_host, "Null scmnd for RSP w/tag %016llx\n", (unsigned long long) rsp->tag); + + spin_lock_irqsave(&target->lock, flags); + target->req_lim += be32_to_cpu(rsp->req_lim_delta); + spin_unlock_irqrestore(&target->lock, flags); + + return; + } scmnd->result = rsp->status; if (rsp->flags & SRP_RSP_FLAG_SNSVALID) { @@ -1092,7 +1137,9 @@ else if (rsp->flags & (SRP_RSP_FLAG_DIOVER | SRP_RSP_FLAG_DIUNDER)) scsi_set_resid(scmnd, be32_to_cpu(rsp->data_in_res_cnt)); - srp_remove_req(target, req, be32_to_cpu(rsp->req_lim_delta)); + srp_free_req(target, req, scmnd, + be32_to_cpu(rsp->req_lim_delta)); + scmnd->host_scribble = NULL; scmnd->scsi_done(scmnd); } @@ -1631,25 +1678,18 @@ { struct srp_target_port *target = host_to_target(scmnd->device->host); struct srp_request *req = (struct srp_request *) scmnd->host_scribble; - int ret = SUCCESS; shost_printk(KERN_ERR, target->scsi_host, "SRP abort called\n"); - if (!req || target->qp_in_error) - return FAILED; - if (srp_send_tsk_mgmt(target, req->index, scmnd->device->lun, - SRP_TSK_ABORT_TASK)) + if (!req || target->qp_in_error || !srp_claim_req(target, req, scmnd)) return FAILED; + srp_send_tsk_mgmt(target, req->index, scmnd->device->lun, + SRP_TSK_ABORT_TASK); + srp_free_req(target, req, scmnd, 0); + scmnd->result = DID_ABORT << 16; + scmnd->scsi_done(scmnd); - if (req->scmnd) { - if (!target->tsk_mgmt_status) { - srp_remove_req(target, req, 0); - scmnd->result = DID_ABORT << 16; - } else - ret = FAILED; - } - - return ret; + return SUCCESS; } static int srp_reset_device(struct scsi_cmnd *scmnd) --- linux-lowlatency-3.5.0.orig/drivers/input/matrix-keymap.c +++ linux-lowlatency-3.5.0/drivers/input/matrix-keymap.c @@ -23,6 +23,7 @@ #include #include #include +#include #include static bool matrix_keypad_map_key(struct input_dev *input_dev, @@ -161,3 +162,5 @@ return 0; } EXPORT_SYMBOL(matrix_keypad_build_keymap); + +MODULE_LICENSE("GPL"); --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/Kconfig +++ linux-lowlatency-3.5.0/drivers/input/mouse/Kconfig @@ -68,6 +68,16 @@ If unsure, say Y. +config MOUSE_PS2_CYPRESS + bool "Cypress PS/2 mouse protocol extension" if EXPERT + default y + depends on MOUSE_PS2 + help + Say Y here if you have a Cypress PS/2 Trackpad connected to + your system. + + If unsure, say Y. + config MOUSE_PS2_LIFEBOOK bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT default y --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/Makefile +++ linux-lowlatency-3.5.0/drivers/input/mouse/Makefile @@ -32,3 +32,4 @@ psmouse-$(CONFIG_MOUSE_PS2_SENTELIC) += sentelic.o psmouse-$(CONFIG_MOUSE_PS2_TRACKPOINT) += trackpoint.o psmouse-$(CONFIG_MOUSE_PS2_TOUCHKIT) += touchkit_ps2.o +psmouse-$(CONFIG_MOUSE_PS2_CYPRESS) += cypress_ps2.o --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/psmouse-base.c +++ linux-lowlatency-3.5.0/drivers/input/mouse/psmouse-base.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "psmouse.h" #include "synaptics.h" @@ -34,6 +35,7 @@ #include "touchkit_ps2.h" #include "elantech.h" #include "sentelic.h" +#include "cypress_ps2.h" #define DRIVER_DESC "PS/2 mouse driver" @@ -321,6 +323,13 @@ if (psmouse->state <= PSMOUSE_RESYNCING) goto out; + /* For Cypress Trackpad to read some special data more than 6 bytes. */ + if (psmouse->state == PSMOUSE_CMD_CYTP) { + psmouse->packet[psmouse->pktcnt++] = data; + wake_up(&psmouse->ps2dev.wait); + goto out; + } + if (psmouse->state == PSMOUSE_ACTIVATED && psmouse->pktcnt && time_after(jiffies, psmouse->last + HZ/2)) { psmouse_info(psmouse, "%s at %s lost synchronization, throwing %d bytes away.\n", @@ -759,6 +768,28 @@ } /* + * Try Cypress Trackpad. + * Must try it before Finger Sensing Pad because Finger Sensing Pad probe + * upsets some modules of Cypress Trackpads. + */ + if (max_proto > PSMOUSE_IMEX && + cypress_detect(psmouse, set_properties) == 0) { + if (cypress_supported()) { + if (cypress_init(psmouse) == 0) + return PSMOUSE_CYPRESS; + + /* + * Finger Sensing Pad probe upsets some modules of + * Cypress Trackpad, must avoid Finger Sensing Pad + * probe if Cypress Trackpad device detected. + */ + return PSMOUSE_PS2; + } + + max_proto = PSMOUSE_IMEX; + } + +/* * Try ALPS TouchPad */ if (max_proto > PSMOUSE_IMEX) { @@ -896,6 +927,15 @@ .alias = "thinkps", .detect = thinking_detect, }, +#ifdef CONFIG_MOUSE_PS2_CYPRESS + { + .type = PSMOUSE_CYPRESS, + .name = "CyPS/2", + .alias = "cypress", + .detect = cypress_detect, + .init = cypress_init, + }, +#endif { .type = PSMOUSE_GENPS, .name = "GenPS/2", --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/psmouse.h +++ linux-lowlatency-3.5.0/drivers/input/mouse/psmouse.h @@ -26,6 +26,7 @@ PSMOUSE_INITIALIZING, PSMOUSE_RESYNCING, PSMOUSE_CMD_MODE, + PSMOUSE_CMD_CYTP, /* Cypress Trackpad detecting and initializing state. */ PSMOUSE_ACTIVATED, }; @@ -78,6 +79,9 @@ }; enum psmouse_type { + /* IMPORTANT! src/eventcomm.c in x-x-i-s uses the hard-coded values + * of some of these (awful!), so never insert new entries to the + * middle of the list! */ PSMOUSE_NONE, PSMOUSE_PS2, PSMOUSE_PS2PP, @@ -95,6 +99,7 @@ PSMOUSE_ELANTECH, PSMOUSE_FSP, PSMOUSE_SYNAPTICS_RELATIVE, + PSMOUSE_CYPRESS, PSMOUSE_AUTO /* This one should always be last */ }; --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/synaptics.c +++ linux-lowlatency-3.5.0/drivers/input/mouse/synaptics.c @@ -40,11 +40,32 @@ * Note that newer firmware allows querying device for maximum useable * coordinates. */ +#define XMIN 0 +#define XMAX 6143 +#define YMIN 0 +#define YMAX 6143 #define XMIN_NOMINAL 1472 #define XMAX_NOMINAL 5472 #define YMIN_NOMINAL 1408 #define YMAX_NOMINAL 4448 +/* Size in bits of absolute position values reported by the hardware */ +#define ABS_POS_BITS 13 + +/* + * These values should represent the absolute maximum value that will + * be reported for a positive position value. Some Synaptics firmware + * uses this value to indicate a finger near the edge of the touchpad + * whose precise position cannot be determined. + * + * At least one touchpad is known to report positions in excess of this + * value which are actually negative values truncated to the 13-bit + * reporting range. These values have never been observed to be lower + * than 8184 (i.e. -8), so we treat all values greater than 8176 as + * negative and any other value as positive. + */ +#define X_MAX_POSITIVE 8176 +#define Y_MAX_POSITIVE 8176 /***************************************************************************** * Stuff we need even when we do not want native Synaptics support @@ -555,6 +576,22 @@ hw->right = (buf[0] & 0x02) ? 1 : 0; } + /* + * Convert wrap-around values to negative. (X|Y)_MAX_POSITIVE + * is used by some firmware to indicate a finger at the edge of + * the touchpad whose precise position cannot be determined, so + * convert these values to the maximum axis value. + */ + if (hw->x > X_MAX_POSITIVE) + hw->x -= 1 << ABS_POS_BITS; + else if (hw->x == X_MAX_POSITIVE) + hw->x = XMAX; + + if (hw->y > Y_MAX_POSITIVE) + hw->y -= 1 << ABS_POS_BITS; + else if (hw->y == Y_MAX_POSITIVE) + hw->y = YMAX; + return 0; } @@ -1223,7 +1260,9 @@ /* Clickpads report only left button */ __clear_bit(BTN_RIGHT, dev->keybit); __clear_bit(BTN_MIDDLE, dev->keybit); - } + } else if (SYN_CAP_CLICKPAD2BTN(priv->ext_cap_0c) || + SYN_CAP_CLICKPAD2BTN2(priv->ext_cap_0c)) + __set_bit(INPUT_PROP_BUTTONPAD, dev->propbit); } static ssize_t synaptics_show_disable_gesture(struct psmouse *psmouse, @@ -1285,6 +1324,7 @@ { struct synaptics_data *priv = psmouse->private; struct synaptics_data old_priv = *priv; + unsigned char param[2]; int retry = 0; int error; @@ -1300,6 +1340,7 @@ */ ssleep(1); } + ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETID); error = synaptics_detect(psmouse, 0); } while (error && ++retry < 3); --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/synaptics.h +++ linux-lowlatency-3.5.0/drivers/input/mouse/synaptics.h @@ -80,6 +80,7 @@ */ #define SYN_CAP_CLICKPAD(ex0c) ((ex0c) & 0x100000) /* 1-button ClickPad */ #define SYN_CAP_CLICKPAD2BTN(ex0c) ((ex0c) & 0x000100) /* 2-button ClickPad */ +#define SYN_CAP_CLICKPAD2BTN2(ex0c) ((ex0c) & 0x200000) /* 2-button ClickPad */ #define SYN_CAP_MAX_DIMENSIONS(ex0c) ((ex0c) & 0x020000) #define SYN_CAP_MIN_DIMENSIONS(ex0c) ((ex0c) & 0x002000) #define SYN_CAP_ADV_GESTURE(ex0c) ((ex0c) & 0x080000) --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/cypress_ps2.c +++ linux-lowlatency-3.5.0/drivers/input/mouse/cypress_ps2.c @@ -0,0 +1,956 @@ +/* + * Cypress Trackpad PS/2 mouse driver + * + * Copyright (c) 2012 Cypress Semiconductor Corporation. + * + * Additional contributors include: + * Kamal Mostafa + * Kyle Fazzari + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cypress_ps2.h" + +#define CYTP_DBG 1 +#if CYTP_DBG +static int debug_level; +module_param_named(cy_debug, debug_level, int, 0644); +MODULE_PARM_DESC(cy_debug, "Set CyPS/2 debug output level (0, 1, or 2)"); +#define cytp_dbg(fmt, ...) \ + do { \ + if (cytp && debug_level) \ + pr_err(pr_fmt(fmt), ##__VA_ARGS__); \ + } while (0) +#define cytp_dbg_dump(fmt, ...) \ + do { \ + if (cytp && debug_level > 1) \ + pr_err(pr_fmt(fmt), ##__VA_ARGS__); \ + } while (0) +#else +#define cytp_dbg(fmt, ...) do { cytp = cytp; } while (0) +#define cytp_dbg_dump(fmt, ...) do { cytp = cytp; } while (0) +#endif + +static int read_timeout = 200; +module_param_named(cy_read_timeout, read_timeout, int, 0644); +MODULE_PARM_DESC(cy_read_timeout, "Set CyPS/2 cmd read timeout (default 200 msec)"); + + +/* p is a pointer points to the buffer containing Cypress Keys. */ +#define IS_CYPRESS_KEY(p) ((p[0] == CYPRESS_KEY_1) && (p[1] == CYPRESS_KEY_2)) +#define CYTP_SET_PACKET_SIZE(n) { psmouse->pktsize = cytp->pkt_size = (n); } +#define CYTP_SET_MODE_BIT(x) \ + do { \ + if ((x) & CYTP_BIT_ABS_REL_MASK) \ + cytp->mode = (cytp->mode & ~CYTP_BIT_ABS_REL_MASK) | (x); \ + else \ + cytp->mode |= (x); \ + } while (0) +#define CYTP_CLEAR_MODE_BIT(x) { cytp->mode &= ~(x); } + +#define CYTP_SUPPORT_ABS + +static unsigned char cytp_rate[] = {10, 20, 40, 60, 100, 200}; +static unsigned char cytp_resolution[] = {0x00, 0x01, 0x02, 0x03}; + +static int cypress_ps2_sendbyte(struct psmouse *psmouse, int value) +{ + struct cytp_data *cytp = psmouse->private; + struct ps2dev *ps2dev = &psmouse->ps2dev; + + if (ps2_sendbyte(ps2dev, value & 0xff, CYTP_CMD_TIMEOUT) < 0) { + cytp_dbg("send command 0x%02x failed, resp 0x%02x\n", + value & 0xff, ps2dev->nak); + if (ps2dev->nak == CYTP_PS2_RETRY) + return CYTP_PS2_RETRY; + else + return CYTP_PS2_ERROR; + } + + cytp_dbg("send command 0x%02x success, resp 0xfa\n", value & 0xff); + + return 0; +} + +static int cypress_ps2_ext_cmd(struct psmouse *psmouse, unsigned short cmd, + unsigned char data) +{ + struct ps2dev *ps2dev = &psmouse->ps2dev; + int tries = CYTP_PS2_CMD_TRIES; + int rc; + + ps2_begin_command(ps2dev); + + do { + /* + * send extension command 0xE8 or 0xF3, + * if send extension command failed, + * try to send recovery command to make + * trackpad device return to ready wait command state. + * It alwasy success based on this recovery commands. + */ + rc = cypress_ps2_sendbyte(psmouse, cmd & 0xff); + if (rc == CYTP_PS2_RETRY) { + rc = cypress_ps2_sendbyte(psmouse, 0x00); + if (rc == CYTP_PS2_RETRY) + rc = cypress_ps2_sendbyte(psmouse, 0x0a); + } + if (rc == CYTP_PS2_ERROR) + continue; + + rc = cypress_ps2_sendbyte(psmouse, data); + if (rc == CYTP_PS2_RETRY) + rc = cypress_ps2_sendbyte(psmouse, data); + if (rc == CYTP_PS2_ERROR) + continue; + else + break; + } while (--tries > 0); + + ps2_end_command(ps2dev); + + return rc; +} + +static int cypress_ps2_read_cmd_status(struct psmouse *psmouse, + unsigned char cmd, + unsigned char *param) +{ + int i; + int rc; + struct ps2dev *ps2dev = &psmouse->ps2dev; + struct cytp_data *cytp = psmouse->private; + enum psmouse_state old_state; + unsigned char old_pktsize; + + ps2_begin_command(&psmouse->ps2dev); + + old_state = psmouse->state; + psmouse->state = PSMOUSE_CMD_CYTP; + psmouse->pktcnt = 0; + old_pktsize = psmouse->pktsize; + psmouse->pktsize = 3; + if (cmd == CYTP_CMD_READ_VITAL_STATISTICS) + psmouse->pktsize = 8; + memset(param, 0, psmouse->pktsize); + + rc = cypress_ps2_sendbyte(psmouse, 0xe9); + if (rc < 0) + goto out; + + wait_event_timeout(ps2dev->wait, + (psmouse->pktcnt >= psmouse->pktsize), msecs_to_jiffies(read_timeout)); + + memcpy(param, psmouse->packet, psmouse->pktsize); + + cytp_dbg("Command 0x%02x response data: (0x)", cmd); + for (i = 0; i < psmouse->pktsize; i++) + cytp_dbg(" %02x", param[i]); + cytp_dbg("\n"); + +out: + psmouse->state = old_state; + psmouse->pktcnt = 0; + psmouse->pktsize = old_pktsize; + + ps2_end_command(&psmouse->ps2dev); + + return rc; +} + +static int cypress_verify_cmd_state(struct psmouse *psmouse, + unsigned char cmd, unsigned char *param) +{ + struct cytp_data *cytp = psmouse->private; + bool rate_match = 0; + bool resolution_match = 0; + int i; + + /* callers will do further checking. */ + if ((cmd == CYTP_CMD_READ_CYPRESS_ID) || + (cmd == CYTP_CMD_STANDARD_MODE) || + (cmd == CYTP_CMD_READ_VITAL_STATISTICS)) + return 0; + if (((~param[0] & DFLT_RESP_BITS_VALID) == DFLT_RESP_BITS_VALID) && + ((param[0] & DFLT_RESP_BIT_MODE) == DFLT_RESP_STREAM_MODE)) { + for (i = 0; i < sizeof(cytp_resolution); i++) + if (cytp_resolution[i] == param[1]) + resolution_match = 1; + + for (i = 0; i < sizeof(cytp_rate); i++) + if (cytp_rate[i] == param[2]) + rate_match = 1; + + if (resolution_match && rate_match) + return 0; + } + + cytp_dbg("verify cmd state failed.\n"); + return -1; +} + +static int cypress_send_ext_cmd(struct psmouse *psmouse, unsigned char cmd, + unsigned char *param) +{ + struct cytp_data *cytp = psmouse->private; + int tries = CYTP_PS2_CMD_TRIES; + int rc; + + cytp_dbg("send extension cmd 0x%02x, [%d %d %d %d]\n", + cmd, DECODE_CMD_AA(cmd), DECODE_CMD_BB(cmd), + DECODE_CMD_CC(cmd), DECODE_CMD_DD(cmd)); + do { + cypress_ps2_ext_cmd(psmouse, + PSMOUSE_CMD_SETRES, DECODE_CMD_DD(cmd)); + cypress_ps2_ext_cmd(psmouse, + PSMOUSE_CMD_SETRES, DECODE_CMD_CC(cmd)); + cypress_ps2_ext_cmd(psmouse, + PSMOUSE_CMD_SETRES, DECODE_CMD_BB(cmd)); + cypress_ps2_ext_cmd(psmouse, + PSMOUSE_CMD_SETRES, DECODE_CMD_AA(cmd)); + + rc = cypress_ps2_read_cmd_status(psmouse, cmd, param); + if ((rc == 0) && + (cypress_verify_cmd_state(psmouse, cmd, param) == 0)) + break; + } while (--tries > 0); + + + if (tries <= 0) + return -1; + + return 0; + +} + +int cypress_detect(struct psmouse *psmouse, bool set_properties) +{ + unsigned char param[3]; + + if (cypress_send_ext_cmd(psmouse, CYTP_CMD_READ_CYPRESS_ID, param)) + return -1; + + if (!IS_CYPRESS_KEY(param)) + return -ENODEV; + + if (set_properties) { + psmouse->vendor = "Cypress"; + psmouse->name = "Trackpad"; + } + + return 0; +} + +static int cypress_read_fw_version(struct psmouse *psmouse) +{ + struct cytp_data *cytp = psmouse->private; + unsigned char param[3]; + + if (cypress_send_ext_cmd(psmouse, CYTP_CMD_READ_CYPRESS_ID, param)) + return -1; + + if (!IS_CYPRESS_KEY(param)) + return -ENODEV; + + cytp->fw_version = param[2] & FW_VERSION_MASX; + cytp->vital_statics_supported = (param[2] & VITAL_STATICS_MASK) ? 1 : 0; + + cytp_dbg("cytp->fw_version = %d\n", cytp->fw_version); + cytp_dbg("cytp->vital_statics_supported = %d\n", + cytp->vital_statics_supported); + return 0; +} + +static int cypress_read_vital_statistics(struct psmouse *psmouse) +{ + struct cytp_data *cytp = psmouse->private; + unsigned char param[8]; + + /* set default values for vital statistics not supported trackpad. */ + cytp->tp_width = CYTP_DEFAULT_WIDTH; + cytp->tp_high = CYTP_DEFAULT_HIGH; + cytp->tp_max_abs_x = CYTP_ABS_MAX_X; + cytp->tp_max_abs_y = CYTP_ABS_MAX_Y; + cytp->tp_min_pressure = CYTP_MIN_PRESSURE; + cytp->tp_max_pressure = CYTP_MAX_PRESSURE; + cytp->tp_res_x = cytp->tp_max_abs_x / cytp->tp_width; + cytp->tp_res_y = cytp->tp_max_abs_y / cytp->tp_high; + + memset(param, 0, sizeof(param)); + if (cypress_send_ext_cmd(psmouse, CYTP_CMD_READ_VITAL_STATISTICS, param) == 0) { + /* Update trackpad parameters. */ + cytp->tp_max_abs_x = (param[1] << 8) | param[0]; + cytp->tp_max_abs_y = (param[3] << 8) | param[2]; + cytp->tp_min_pressure = param[4]; + cytp->tp_max_pressure = param[5]; + + if (param[6] & VITAL_BIT_APA) + cytp->tp_type = CYTP_APA; + else if (param[6] & VITAL_BIT_MTG) + cytp->tp_type = CYTP_MTG; + else + cytp->tp_type = CYTP_STG; + cytp->tp_palm = (param[6] & VITAL_BIT_PALM) ? 1 : 0; + cytp->tp_stubborn = (param[6] & VITAL_BIT_STUBBORN) ? 1 : 0; + cytp->tp_2f_jitter = (param[6] & VITAL_BIT_2F_JITTER) >> 4; + cytp->tp_1f_jitter = (param[6] & VITAL_BIT_1F_JITTER) >> 2; + cytp->tp_abs_packet_format_set = + (param[7] & VITAL_BIT_ABS_PKT_FORMAT_SET) >> 4; + cytp->tp_2f_spike = (param[7] & VITAL_BIT_2F_SPIKE) >> 2; + cytp->tp_1f_spike = (param[7] & VITAL_BIT_1F_SPIKE); + + } + + if (!cytp->tp_max_pressure || + (cytp->tp_max_pressure < cytp->tp_min_pressure) || + (!cytp->tp_width || !cytp->tp_high) || + (!cytp->tp_max_abs_x) || + (cytp->tp_max_abs_x < cytp->tp_width) || + (!cytp->tp_max_abs_y) || + (cytp->tp_max_abs_y < cytp->tp_high)) + return -1; + + cytp->tp_res_x = cytp->tp_max_abs_x / cytp->tp_width; + cytp->tp_res_y = cytp->tp_max_abs_y / cytp->tp_high; + + cytp_dbg_dump("Dump trackpad hardware configuration as below:\n"); + cytp_dbg_dump("cytp->tp_width = %d\n", cytp->tp_width); + cytp_dbg_dump("cytp->tp_high = %d\n", cytp->tp_high); + cytp_dbg_dump("cytp->tp_max_abs_x = %d\n", cytp->tp_max_abs_x); + cytp_dbg_dump("cytp->tp_max_abs_y = %d\n", cytp->tp_max_abs_y); + cytp_dbg_dump("cytp->tp_min_pressure = %d\n", cytp->tp_min_pressure); + cytp_dbg_dump("cytp->tp_max_pressure = %d\n", cytp->tp_max_pressure); + cytp_dbg_dump("cytp->tp_res_x = %d\n", cytp->tp_res_x); + cytp_dbg_dump("cytp->tp_res_y = %d\n", cytp->tp_res_y); + cytp_dbg_dump("cytp->tp_type = %d\n", cytp->tp_type); + cytp_dbg_dump("cytp->tp_palm = %d\n", cytp->tp_palm); + cytp_dbg_dump("cytp->tp_stubborn = %d\n", cytp->tp_stubborn); + cytp_dbg_dump("cytp->tp_1f_jitter = %d\n", cytp->tp_1f_jitter); + cytp_dbg_dump("cytp->tp_2f_jitter = %d\n", cytp->tp_2f_jitter); + cytp_dbg_dump("cytp->tp_1f_spike = %d\n", cytp->tp_1f_spike); + cytp_dbg_dump("cytp->tp_2f_spike = %d\n", cytp->tp_2f_spike); + cytp_dbg_dump("cytp->tp_abs_packet_format_set = %d\n", + cytp->tp_abs_packet_format_set); + + return 0; +} + +static int cypress_query_hardware(struct psmouse *psmouse) +{ + struct cytp_data *cytp = psmouse->private; + + if (cypress_read_fw_version(psmouse)) + return -1; + + if (cytp->vital_statics_supported) { + if (cypress_read_vital_statistics(psmouse)) + return -1; + } + + return 0; +} + +static int cypress_set_absolute_mode(struct psmouse *psmouse) +{ + struct cytp_data *cytp = psmouse->private; + unsigned char param[3]; + + if (cypress_send_ext_cmd(psmouse, CYTP_CMD_ABS_WITH_PRESSURE_MODE, param) < 0) + return -1; + + CYTP_SET_MODE_BIT(CYTP_BIT_ABS_PRESSURE); + CYTP_SET_PACKET_SIZE(5); + + return 0; +} + +/* + * reset trackpad device to standard relative mode. + * This is also the defalut mode when trackpad powered on. + */ +static void cypress_reset(struct psmouse *psmouse) +{ + struct cytp_data *cytp = psmouse->private; + + psmouse_reset(psmouse); + + CYTP_SET_MODE_BIT(CYTP_BIT_STANDARD_REL); + CYTP_SET_PACKET_SIZE(3); + + cytp->prev_contact_cnt = 0; +} + +static int cypress_set_input_params(struct input_dev *input, + struct cytp_data *cytp) +{ + int ret; + + if (cytp->mode & CYTP_BIT_ABS_MASK) { + __set_bit(EV_ABS, input->evbit); + input_set_abs_params(input, ABS_X, 0, cytp->tp_max_abs_x, 0, 0); + input_set_abs_params(input, ABS_Y, 0, cytp->tp_max_abs_y, 0, 0); + input_set_abs_params(input, ABS_PRESSURE, + cytp->tp_min_pressure, cytp->tp_max_pressure, 0, 0); + input_set_abs_params(input, ABS_TOOL_WIDTH, 0, 255, 0, 0); + + /* finger position */ + input_set_abs_params(input, ABS_MT_POSITION_X, 0, cytp->tp_max_abs_x, 0, 0); + input_set_abs_params(input, ABS_MT_POSITION_Y, 0, cytp->tp_max_abs_y, 0, 0); + input_set_abs_params(input, ABS_MT_PRESSURE, 0, 255, 0, 0); + + ret = input_mt_init_slots(input, CYTP_MAX_MT_SLOTS); + if (ret < 0) { + return ret; + } + + if (cytp->tp_res_x && cytp->tp_res_x) { + input_abs_set_res(input, ABS_X, cytp->tp_res_x); + input_abs_set_res(input, ABS_Y, cytp->tp_res_y); + + input_abs_set_res(input, ABS_MT_POSITION_X, + cytp->tp_res_x); + input_abs_set_res(input, ABS_MT_POSITION_Y, + cytp->tp_res_y); + + } + + __set_bit(INPUT_PROP_BUTTONPAD, input->propbit); + __set_bit(EV_KEY, input->evbit); + __set_bit(BTN_TOUCH, input->keybit); + __set_bit(BTN_TOOL_FINGER, input->keybit); + __set_bit(BTN_TOOL_DOUBLETAP, input->keybit); + __set_bit(BTN_TOOL_TRIPLETAP, input->keybit); + __set_bit(BTN_TOOL_QUADTAP, input->keybit); + __set_bit(BTN_TOOL_QUINTTAP, input->keybit); + + __set_bit(BTN_LEFT, input->keybit); + __set_bit(BTN_RIGHT, input->keybit); + __set_bit(BTN_MIDDLE, input->keybit); + + __clear_bit(EV_REL, input->evbit); + __clear_bit(REL_X, input->relbit); + __clear_bit(REL_Y, input->relbit); + } else { + __set_bit(INPUT_PROP_BUTTONPAD, input->propbit); + __set_bit(EV_REL, input->evbit); + __set_bit(REL_X, input->relbit); + __set_bit(REL_Y, input->relbit); + __set_bit(REL_WHEEL, input->relbit); + __set_bit(REL_HWHEEL, input->relbit); + + __set_bit(EV_KEY, input->evbit); + __set_bit(BTN_LEFT, input->keybit); + __set_bit(BTN_RIGHT, input->keybit); + __set_bit(BTN_MIDDLE, input->keybit); + + __clear_bit(EV_ABS, input->evbit); + } + + input_set_drvdata(input, cytp); + + return 0; +} + +static int cypress_get_finger_count(unsigned char header_byte) +{ + unsigned char bits6_7; + int finger_count; + + bits6_7 = header_byte >> 6; + finger_count = bits6_7 & 0x03; + + if (finger_count != 1) { + if (header_byte & ABS_HSCROLL_BIT) { + if (finger_count == 0) { + /* HSCROLL gets added on to 0 finger count. */ + finger_count = 4; + /* should remove HSCROLL bit. */ + } else { + if (finger_count == 2) { + finger_count = 5; + } else { + /* Invalid contact (e.g. palm). Ignore it. */ + finger_count = 0; + } + } + } + } + + return finger_count; +} + +static int new_slot_id(void) +{ + static int id = -1; + + id++; + if (id >= CYTP_MAX_MT_SLOTS) + id = 0; + + return id; +} + +#define FINGER_MAX_JITTER_DISTANCE 25 +static inline bool same_finger(struct cytp_contact *prev_contact, + struct cytp_contact *contact) +{ + if (abs(prev_contact->x - contact->x) < FINGER_MAX_JITTER_DISTANCE) { + if (abs(prev_contact->y - contact->y) < FINGER_MAX_JITTER_DISTANCE) { + return true; + } + } + + return false; +} + +#define ID_NULL ((unsigned char)0x00) +#define ID_NEW ((unsigned char)0x01) +#define ID_KEEP ((unsigned char)0x02) +#define ID_UPDATE ((unsigned char)0x03) +static const unsigned char +new_slot_id_flags[CYTP_MAX_CONTACTS+1][CYTP_MAX_CONTACTS+1] = { + /* previous contact_cnt = 0. */ + { ID_NULL, ID_NEW, ID_NEW, ID_NEW, ID_NEW, ID_NEW }, + + /* previous contact_cnt = 1. */ + { ID_NULL, ID_KEEP, ID_UPDATE, ID_NEW, ID_NEW, ID_NEW }, + + /* previous contact_cnt = 2. */ + { ID_NULL, ID_UPDATE, ID_KEEP, ID_NEW, ID_NEW, ID_NEW }, + + /* previous contact_cnt = 3. */ + { ID_NULL, ID_NEW, ID_NEW, ID_KEEP, ID_NEW, ID_NEW }, + + /* previous contact_cnt = 4. */ + { ID_NULL, ID_NEW, ID_NEW, ID_NEW, ID_KEEP, ID_NEW }, + + /* previous contact_cnt = 5. */ + { ID_NULL, ID_NEW, ID_NEW, ID_NEW, ID_NEW, ID_KEEP }, +}; + +static int cypress_cal_finger_id(struct cytp_data *cytp, + struct cytp_report_data *new_report) +{ + int i, j; + bool slot_id_updated; + struct cytp_report_data *prev_report = &cytp->prev_report_data; + unsigned char flag = + new_slot_id_flags[prev_report->contact_cnt][new_report->contact_cnt]; + + if (flag == ID_NEW) { + for (i = 0; i < new_report->contact_cnt; i++) { + new_report->contacts[i].id = new_slot_id(); + } + + } else if (flag == ID_KEEP) { + /* firmware will ensure that the finger id is report in same order. */ + for (i = 0; i < new_report->contact_cnt; i++) { + new_report->contacts[i].id = prev_report->contacts[i].id; + } + + } else if (flag == ID_UPDATE) { + for (i = 0; i < new_report->contact_cnt; i++) { + slot_id_updated = false; + for (j = 0; j < prev_report->contact_cnt; j++) { + if (same_finger(&new_report->contacts[i], + &prev_report->contacts[j])) { + new_report->contacts[i].id = prev_report->contacts[j].id; + slot_id_updated = true; + break; + } + } + + if (!slot_id_updated) + new_report->contacts[i].id = new_slot_id(); + } + } + + if (new_report->contact_cnt == 0) + cytp->zero_packet_cnt++; + else + cytp->zero_packet_cnt = 0; + cytp->prev_report_data = *new_report; + + return 0; +} + +static int position_adjust_array[4] = { + 50, -50, 100, -100 +}; +static void cypress_simulate_fingers(struct cytp_data *cytp, + struct cytp_report_data *report_data) +{ + int i; + + if (report_data->contact_cnt >= 3) { + for (i = 1; i < report_data->contact_cnt; i++) { + report_data->contacts[i].x = + report_data->contacts[0].x + position_adjust_array[i - 1]; + report_data->contacts[i].y = report_data->contacts[0].y; + report_data->contacts[i].z = report_data->contacts[0].z; + + if (report_data->contacts[i].x < 0) + report_data->contacts[i].x = 0; + if (report_data->contacts[i].x > cytp->tp_max_abs_x) + report_data->contacts[i].x = cytp->tp_max_abs_x; + } + } +} + +static int cypress_parse_packet(const unsigned char packet[], + struct cytp_data *cytp, struct cytp_report_data *report_data) +{ + int i; + unsigned char header_byte = packet[0]; + + memset(report_data, 0, sizeof(struct cytp_report_data)); + if (cytp->mode & CYTP_BIT_ABS_MASK) { + report_data->contact_cnt = cypress_get_finger_count(header_byte); + + if (report_data->contact_cnt > CYTP_MAX_CONTACTS) { + /* report invalid data as zero package except the button data. */ + report_data->contact_cnt = 0; + cytp_dbg("cypress_parse_packet: received invalid packet.\n"); + } + + report_data->tap = (header_byte & ABS_MULTIFINGER_TAP) ? 1 : 0; + + /* Remove HSCROLL bit */ + if (report_data->contact_cnt == 4) + header_byte &= ~(ABS_HSCROLL_BIT); + + if (report_data->contact_cnt == 1) { + report_data->contacts[0].x = + ((packet[1] & 0x70) << 4) | packet[2]; + report_data->contacts[0].y = + ((packet[1] & 0x07) << 8) | packet[3]; + if (cytp->mode & CYTP_BIT_ABS_PRESSURE) + report_data->contacts[0].z = packet[4]; + + if ((packet[1] & ABS_EDGE_MOTION_MASK) != ABS_EDGE_MOTION_MASK) { + report_data->vscroll = (header_byte & ABS_VSCROLL_BIT) ? 1 : 0; + report_data->hscroll = (header_byte & ABS_HSCROLL_BIT) ? 1 : 0; + } + + } else if (report_data->contact_cnt == 2) { + report_data->contacts[0].x = + ((packet[1] & 0x70) << 4) | packet[2]; + report_data->contacts[0].y = + ((packet[1] & 0x07) << 8) | packet[3]; + if (cytp->mode & CYTP_BIT_ABS_PRESSURE) + report_data->contacts[0].z = packet[4]; + + report_data->contacts[1].x = + ((packet[5] & 0xf0) << 4) | packet[6]; + report_data->contacts[1].y = + ((packet[5] & 0x0f) << 8) | packet[7]; + if (cytp->mode & CYTP_BIT_ABS_PRESSURE) + report_data->contacts[1].z = report_data->contacts[0].z; + + } else if (report_data->contact_cnt >= 3) { + report_data->contacts[0].x = + ((packet[1] & 0xf0) << 4) | packet[2]; + report_data->contacts[0].y = + ((packet[1] & 0x0f) << 8) | packet[3]; + if (cytp->mode & CYTP_BIT_ABS_PRESSURE) + report_data->contacts[0].z = packet[4]; + + cypress_simulate_fingers(cytp, report_data); + + report_data->vscroll = (header_byte & ABS_VSCROLL_BIT) ? 1 : 0; + } + + cypress_cal_finger_id(cytp, report_data); + + report_data->left = (header_byte & BTN_LEFT_BIT) ? 1 : 0; + report_data->right = (header_byte & BTN_RIGHT_BIT) ? 1 : 0; + + } else { + report_data->contact_cnt = 1; + report_data->contacts[0].x = + (packet[0] & REL_X_SIGN_BIT) ? -packet[1] : packet[1]; + report_data->contacts[0].y = + (packet[0] & REL_Y_SIGN_BIT) ? -packet[2] : packet[2]; + report_data->vscroll = packet[3]; + report_data->left = (packet[0] & BTN_LEFT_BIT) ? 1 : 0; + report_data->right = (packet[0] & BTN_RIGHT_BIT) ? 1 : 0; + + if (cytp->mode & CYTP_BIT_STANDARD_REL) + report_data->middle = + (packet[0] & BTN_MIDDLE_BIT) ? 1 : 0; + if (cytp->mode & CYTP_BIT_CYPRESS_REL) { + report_data->left = + (packet[0] & BTN_MIDDLE_BIT) ? 1 : 0; + report_data->hscroll = packet[4]; + } + } + + /* This is only true if one of the mouse buttons were tapped. + * Make sure it doesn't turn into a click. The regular tap-to- + * click functionality will handle that on its own. If we don't + * do this, disabling tap-to-click won't affect the mouse button + * zones. */ + if (report_data->tap) + report_data->left = 0; + + if (report_data->contact_cnt <= 0) + return 0; + + cytp_dbg_dump("cypress_parse_packet cytp->zero_packet_cnt = %d\n", cytp->zero_packet_cnt); + cytp_dbg_dump("Dump parsed report data as below:\n"); + cytp_dbg_dump("contact_cnt = %d\n", report_data->contact_cnt); + for (i = 0; i < report_data->contact_cnt; i++) { + cytp_dbg_dump("contacts[%d].x = %d\n", i, report_data->contacts[i].x); + cytp_dbg_dump("contacts[%d].y = %d\n", i, report_data->contacts[i].y); + cytp_dbg_dump("contacts[%d].z = %d\n", i, report_data->contacts[i].z); + cytp_dbg_dump("contacts[%d].id = %d\n", i, report_data->contacts[i].id); + } + cytp_dbg_dump("vscroll = %d\n", report_data->vscroll); + cytp_dbg_dump("hscroll = %d\n", report_data->hscroll); + cytp_dbg_dump("left = %d\n", report_data->left); + cytp_dbg_dump("right = %d\n", report_data->right); + cytp_dbg_dump("middle = %d\n", report_data->middle); + + return 0; +} + +static void cypress_process_packet(struct psmouse *psmouse, bool zero_pkt) +{ + int i; + struct input_dev *input = psmouse->dev; + struct cytp_data *cytp = psmouse->private; + struct cytp_report_data report_data; + unsigned int mask; + struct cytp_contact *contact; + int slot; + + if (cypress_parse_packet(psmouse->packet, cytp, &report_data)) + return; + + if (cytp->mode & CYTP_BIT_ABS_MASK) { + mask = 0; + for (i = 0; i < report_data.contact_cnt; i++) { + contact = &report_data.contacts[i]; + slot = contact->id; + + mask |= (1 << slot); + input_mt_slot(input, slot); + input_mt_report_slot_state(input, MT_TOOL_FINGER, true); + input_report_abs(input, ABS_MT_POSITION_X, contact->x); + input_report_abs(input, ABS_MT_POSITION_Y, contact->y); + input_report_abs(input, ABS_MT_PRESSURE, contact->z); + } + + /* Invalidate all unreported slots */ + for (i = 0; i < CYTP_MAX_MT_SLOTS; i++) { + if (mask & (1 << i)) + continue; + + input_mt_slot(input, i); + input_mt_report_slot_state(input, MT_TOOL_FINGER, false); + } + + input_mt_report_pointer_emulation(input, true); + + input_report_key(input, BTN_LEFT, report_data.left); + input_report_key(input, BTN_RIGHT, report_data.right); + input_report_key(input, BTN_MIDDLE, report_data.middle); + + input_sync(input); + + } else { + if (report_data.contact_cnt == 1) { + input_report_rel(input, REL_X, report_data.contacts[0].x); + input_report_rel(input, REL_Y, report_data.contacts[0].y); + } + + input_report_rel(input, REL_WHEEL, report_data.vscroll); + if (cytp->mode & CYTP_BIT_CYPRESS_REL) + input_report_rel(input, REL_HWHEEL, report_data.hscroll); + + input_report_key(input, BTN_LEFT, report_data.left); + input_report_key(input, BTN_RIGHT, report_data.right); + input_report_key(input, BTN_MIDDLE, report_data.middle); + + input_sync(input); + } +} + +static psmouse_ret_t cypress_validate_byte(struct psmouse *psmouse) +{ + int contact_cnt; + int index = psmouse->pktcnt - 1; + unsigned char *packet = psmouse->packet; + struct cytp_data *cytp = psmouse->private; + + if (index < 0 || index > cytp->pkt_size) + return PSMOUSE_BAD_DATA; + + if ((index == 0) && ((packet[0] & 0xfc) == 0)) { + /* call packet process for reporting finger leave. */ + cypress_process_packet(psmouse, 1); + return PSMOUSE_FULL_PACKET; + } + + if (cytp->mode & CYTP_BIT_ABS_MASK) { + if (index == 0) { + if ((packet[0] & 0x08) == 0x08) + return PSMOUSE_BAD_DATA; + + contact_cnt = cypress_get_finger_count(packet[0]); + + if (contact_cnt > 5) + return PSMOUSE_BAD_DATA; + + if (cytp->mode & CYTP_BIT_ABS_NO_PRESSURE) { + CYTP_SET_PACKET_SIZE(4); + if (contact_cnt == 2) + CYTP_SET_PACKET_SIZE(7); + } else { + CYTP_SET_PACKET_SIZE(5); + if (contact_cnt == 2) + CYTP_SET_PACKET_SIZE(8); + } + } + + return PSMOUSE_GOOD_DATA; + } else { + if (index == 0) { + if ((packet[0] & 0x08) != 0x08) + return PSMOUSE_BAD_DATA; + + CYTP_SET_PACKET_SIZE(3); + if (cytp->mode & CYTP_BIT_CYPRESS_REL) + CYTP_SET_PACKET_SIZE(5); + } + + return PSMOUSE_GOOD_DATA; + } +} + +static psmouse_ret_t cypress_protocol_handler(struct psmouse *psmouse) +{ + struct cytp_data *cytp = psmouse->private; + + if (psmouse->pktcnt >= cytp->pkt_size) { + cypress_process_packet(psmouse, 0); + return PSMOUSE_FULL_PACKET; + } + + return cypress_validate_byte(psmouse); +} + +static void cypress_set_rate(struct psmouse *psmouse, unsigned int rate) +{ + struct cytp_data *cytp = psmouse->private; + + if (rate >= 80) { + psmouse->rate = 80; + CYTP_SET_MODE_BIT(CYTP_BIT_HIGH_RATE); + } else { + psmouse->rate = 40; + CYTP_CLEAR_MODE_BIT(CYTP_BIT_HIGH_RATE); + } + + ps2_command(&psmouse->ps2dev, (unsigned char *)&psmouse->rate, + PSMOUSE_CMD_SETRATE); +} + +static void cypress_disconnect(struct psmouse *psmouse) +{ + cypress_reset(psmouse); + kfree(psmouse->private); + psmouse->private = NULL; +} + +static int cypress_reconnect(struct psmouse *psmouse) +{ + int tries = CYTP_PS2_CMD_TRIES; + int rc; + + do { + cypress_reset(psmouse); + rc = cypress_detect(psmouse, false); + } while (rc && (--tries > 0)); + + if (rc) + return -1; + + if (cypress_query_hardware(psmouse)) { + pr_err("Reconnect: unable to query Trackpad hardware.\n"); + return -1; + } + + if (cypress_set_absolute_mode(psmouse)) { + pr_err("Reconnect: Unable to initialize Cypress absolute mode.\n"); + return -1; + } + + return 0; +} + +int cypress_init(struct psmouse *psmouse) +{ + struct cytp_data *cytp; + + cytp = (struct cytp_data *)kzalloc(sizeof(struct cytp_data), GFP_KERNEL); + psmouse->private = (void *)cytp; + if (cytp == NULL) + return -ENOMEM; + + cypress_reset(psmouse); + + if (cypress_query_hardware(psmouse)) { + pr_err("Unable to query Trackpad hardware.\n"); + goto err_exit; + } + + if (cypress_set_absolute_mode(psmouse)) { + pr_err("Reconnect: Unable to initialize Cypress absolute mode.\n"); + goto err_exit; + } + + if (cypress_set_input_params(psmouse->dev, cytp) < 0) + return -1; + + psmouse->model = 1; + psmouse->protocol_handler = cypress_protocol_handler; + psmouse->set_rate = cypress_set_rate; + psmouse->disconnect = cypress_disconnect; + psmouse->reconnect = cypress_reconnect; + psmouse->cleanup = cypress_reset; + psmouse->pktsize = 8; + psmouse->resync_time = 0; + + return 0; + +err_exit: + /* + * Reset Cypress Trackpad as a standard mouse. Then + * let psmouse driver commmunicating with it as default PS2 mouse. + */ + cypress_reset(psmouse); + + psmouse->private = NULL; + kfree(cytp); + + return -1; +} + +bool cypress_supported(void) +{ + return true; +} --- linux-lowlatency-3.5.0.orig/drivers/input/mouse/cypress_ps2.h +++ linux-lowlatency-3.5.0/drivers/input/mouse/cypress_ps2.h @@ -0,0 +1,220 @@ +#ifndef _CYPRESS_PS2_H +#define _CYPRESS_PS2_H + +#include "psmouse.h" + +#define CMD_BITS_MASK 0x03 +#define COMPOSIT(x, s) (((x) & CMD_BITS_MASK) << (s)) + +#define ENCODE_CMD(aa, bb, cc, dd) \ + (COMPOSIT((aa), 6) | COMPOSIT((bb), 4) | COMPOSIT((cc), 2) | COMPOSIT((dd), 0)) +#define CYTP_CMD_ABS_NO_PRESSURE_MODE ENCODE_CMD(0, 1, 0, 0) +#define CYTP_CMD_ABS_WITH_PRESSURE_MODE ENCODE_CMD(0, 1, 0, 1) +#define CYTP_CMD_SMBUS_MODE ENCODE_CMD(0, 1, 1, 0) +#define CYTP_CMD_STANDARD_MODE ENCODE_CMD(0, 2, 0, 0) /* not implemented yet. */ +#define CYTP_CMD_CYPRESS_REL_MODE ENCODE_CMD(1, 1, 1, 1) /* not implemented yet. */ +#define CYTP_CMD_READ_CYPRESS_ID ENCODE_CMD(0, 0, 0, 0) +#define CYTP_CMD_READ_VITAL_STATISTICS ENCODE_CMD(0, 0, 0, 1) +#define CYTP_CMD_SET_HSCROLL_WIDTH(w) ENCODE_CMD(1, 1, 0, (w)) +#define CYTP_CMD_SET_HSCROLL_MASK ENCODE_CMD(1, 1, 0, 0) +#define CYTP_CMD_SET_VSCROLL_WIDTH(w) ENCODE_CMD(1, 2, 0, (w)) +#define CYTP_CMD_SET_VSCROLL_MASK ENCODE_CMD(1, 2, 0, 0) +#define CYTP_CMD_SET_PALM_GEOMETRY(e) ENCODE_CMD(1, 2, 1, (e)) +#define CYTP_CMD_PALM_GEMMETRY_MASK ENCODE_CMD(1, 2, 1, 0) +#define CYTP_CMD_SET_PALM_SENSITIVITY(s) ENCODE_CMD(1, 2, 2, (s)) +#define CYTP_CMD_PALM_SENSITIVITY_MASK ENCODE_CMD(1, 2, 2, 0) +#define CYTP_CMD_SET_MOUSE_SENSITIVITY(s) ENCODE_CMD(1, 3, ((s) >> 2), (s)) +#define CYTP_CMD_MOUSE_SENSITIVITY_MASK ENCODE_CMD(1, 3, 0, 0) +#define CYTP_CMD_REQUEST_BASELINE_STATUS ENCODE_CMD(2, 0, 0, 1) +#define CYTP_CMD_REQUEST_RECALIBRATION ENCODE_CMD(2, 0, 0, 3) + +#define DECODE_CMD_AA(x) (((x) >> 6) & CMD_BITS_MASK) +#define DECODE_CMD_BB(x) (((x) >> 4) & CMD_BITS_MASK) +#define DECODE_CMD_CC(x) (((x) >> 2) & CMD_BITS_MASK) +#define DECODE_CMD_DD(x) ((x) & CMD_BITS_MASK) + +/* Cypress trackpad working mode. */ +#define CYTP_BIT_ABS_PRESSURE (1 << 3) +#define CYTP_BIT_ABS_NO_PRESSURE (1 << 2) +#define CYTP_BIT_CYPRESS_REL (1 << 1) +#define CYTP_BIT_STANDARD_REL (1 << 0) +#define CYTP_BIT_REL_MASK (CYTP_BIT_CYPRESS_REL | CYTP_BIT_STANDARD_REL) +#define CYTP_BIT_ABS_MASK (CYTP_BIT_ABS_PRESSURE | CYTP_BIT_ABS_NO_PRESSURE) +#define CYTP_BIT_ABS_REL_MASK (CYTP_BIT_ABS_MASK | CYTP_BIT_REL_MASK) + +#define CYTP_BIT_HIGH_RATE (1 << 4) +/* + * report mode bit is set, firmware working in Remote Mode. + * report mode bit is cleared, firmware working in Stream Mode. + */ +#define CYTP_BIT_REPORT_MODE (1 << 5) + +/* scrolling width values for set HSCROLL and VSCROLL width command. */ +#define SCROLL_WIDTH_NARROW 1 +#define SCROLL_WIDTH_NORMAL 2 +#define SCROLL_WIDTH_WIDE 3 + +#define PALM_GEOMETRY_ENABLE 1 +#define PALM_GEOMETRY_DISABLE 0 + +#define CYPRESS_KEY_1 0x33 +#define CYPRESS_KEY_2 0xCC + +#define VITAL_STATICS_MASK 0x80 +#define FW_VERSION_MASX 0x7f +#define FW_VER_HIGH_MASK 0x70 +#define FW_VER_LOW_MASK 0x0f + +/* Times to retry a ps2_command and millisecond delay between tries. */ +#define CYTP_PS2_CMD_TRIES 3 +#define CYTP_PS2_CMD_DELAY 500 + +/* time out for PS/2 command only in milliseconds. */ +#define CYTP_CMD_TIMEOUT 200 +#define CYTP_DATA_TIMEOUT 30 + +#define CYTP_EXT_CMD 0xe8 +#define CYTP_PS2_RETRY 0xfe +#define CYTP_PS2_ERROR 0xfc + +#define CYTP_RESP_RETRY 0x01 +#define CYTP_RESP_ERROR 0xfe + + +#define CYTP_105001_WIDTH 97 /* Dell XPS 13 */ +#define CYTP_105001_HIGH 59 +#define CYTP_DEFAULT_WIDTH (CYTP_105001_WIDTH) +#define CYTP_DEFAULT_HIGH (CYTP_105001_HIGH) + +#define CYTP_ABS_MAX_X 1600 +#define CYTP_ABS_MAX_Y 900 +#define CYTP_MAX_PRESSURE 255 +#define CYTP_MIN_PRESSURE 0 + +/* header byte bits of relative package. */ +#define BTN_LEFT_BIT 0x01 +#define BTN_RIGHT_BIT 0x02 +#define BTN_MIDDLE_BIT 0x04 +#define REL_X_SIGN_BIT 0x10 +#define REL_Y_SIGN_BIT 0x20 + +/* header byte bits of absolute package. */ +#define ABS_VSCROLL_BIT 0x10 +#define ABS_HSCROLL_BIT 0x20 +#define ABS_MULTIFINGER_TAP 0x04 +#define ABS_EDGE_MOTION_MASK 0x80 + +#define DFLT_RESP_BITS_VALID 0x88 /* SMBus bit should not be set. */ +#define DFLT_RESP_SMBUS_BIT 0x80 +#define DFLT_SMBUS_MODE 0x80 +#define DFLT_PS2_MODE 0x00 +#define DFLT_RESP_BIT_MODE 0x40 +#define DFLT_RESP_REMOTE_MODE 0x40 +#define DFLT_RESP_STREAM_MODE 0x00 +#define DFLT_RESP_BIT_REPORTING 0x20 +#define DFLT_RESP_BIT_SCALING 0x10 + +#define VITAL_BIT_PALM 0x80 +#define VITAL_BIT_STUBBORN 0x40 +#define VITAL_BIT_2F_JITTER 0x30 +#define VITAL_BIT_1F_JITTER 0x0c +#define VITAL_BIT_APA 0x02 +#define VITAL_BIT_MTG 0x01 +#define VITAL_BIT_ABS_PKT_FORMAT_SET 0xf0 +#define VITAL_BIT_2F_SPIKE 0x0c +#define VITAL_BIT_1F_SPIKE 0x03 + +/* bits of first byte response of E9h-Status Request command. */ +#define RESP_BTN_RIGHT_BIT 0x01 +#define RESP_BTN_MIDDLE_BIT 0x02 +#define RESP_BTN_LEFT_BIT 0x04 +#define RESP_SCALING_BIT 0x10 +#define RESP_ENABLE_BIT 0x20 +#define RESP_REMOTE_BIT 0x40 +#define RESP_SMBUS_BIT 0x80 + +#define CYTP_MAX_CONTACTS 5 +#define CYTP_MAX_MT_SLOTS 16 + +enum cytp_type { + CYTP_STG, + CYTP_MTG, + CYTP_APA, +}; + +struct cytp_contact { + int x; + int y; + int z; /* also named as touch pressure. */ + int id; /* It's incremented with every new touch. */ +}; + +/* The structure of */ +struct cytp_report_data { + int contact_cnt; + struct cytp_contact contacts[CYTP_MAX_CONTACTS]; + unsigned int left:1; + unsigned int right:1; + unsigned int middle:1; + unsigned int tap:1; /* multi-finger tap detected. */ + signed char vscroll; + signed char hscroll; +}; + +/* The structure of Cypress Trackpad device private data. */ +struct cytp_data { + int fw_version; + + int pkt_size; + int mode; + + int scaling; + int reporting; + + int tp_min_pressure; + int tp_max_pressure; + int tp_width; /* X direction physical size in mm. */ + int tp_high; /* Y direction physical size in mm. */ + int tp_max_abs_x; /* Max X absolution units can be reported. */ + int tp_max_abs_y; /* Max Y absolution units can be reported. */ + + int tp_res_x; /* X resolution in units/mm. */ + int tp_res_y; /* Y resolution in units/mm. */ + + enum cytp_type tp_type; + unsigned char tp_palm; + unsigned char tp_stubborn; + unsigned char tp_2f_jitter; + unsigned char tp_1f_jitter; + unsigned char tp_abs_packet_format_set; + unsigned char tp_2f_spike; + unsigned char tp_1f_spike; + + int vital_statics_supported; + + int prev_contact_cnt; + int zero_packet_cnt; + struct cytp_report_data prev_report_data; +}; + + +#ifdef CONFIG_MOUSE_PS2_CYPRESS +int cypress_detect(struct psmouse *psmouse, bool set_properties); +int cypress_init(struct psmouse *psmouse); +bool cypress_supported(void); +#else +inline int cypress_detect(struct psmouse *psmouse, bool set_properties) +{ + return -ENOSYS; +} +inline int cypress_init(struct psmouse *psmouse) +{ + return -ENOSYS; +} +inline bool cypress_supported(void) +{ + return 0; +} +#endif /* CONFIG_MOUSE_PS2_CYPRESS */ + +#endif /* _CYPRESS_PS2_H */ --- linux-lowlatency-3.5.0.orig/drivers/input/serio/i8042-x86ia64io.h +++ linux-lowlatency-3.5.0/drivers/input/serio/i8042-x86ia64io.h @@ -177,6 +177,20 @@ }, }, { + /* Gigabyte T1005 - defines wrong chassis type ("Other") */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "T1005"), + }, + }, + { + /* Gigabyte T1005M/P - defines wrong chassis type ("Other") */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "T1005M/P"), + }, + }, + { .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv9700"), @@ -321,6 +335,12 @@ }, { .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE C850D"), + }, + }, + { + .matches = { DMI_MATCH(DMI_SYS_VENDOR, "ALIENWARE"), DMI_MATCH(DMI_PRODUCT_NAME, "Sentia"), }, --- linux-lowlatency-3.5.0.orig/drivers/input/tablet/wacom_sys.c +++ linux-lowlatency-3.5.0/drivers/input/tablet/wacom_sys.c @@ -445,8 +445,7 @@ /* ask to report Wacom data */ if (features->device_type == BTN_TOOL_FINGER) { /* if it is an MT Tablet PC touch */ - if (features->type == TABLETPC2FG || - features->type == MTSCREEN) { + if (features->type > TABLETPC) { do { rep_data[0] = 3; rep_data[1] = 4; @@ -465,7 +464,7 @@ } while ((error < 0 || rep_data[1] != 4) && limit++ < WAC_MSG_RETRIES); } - } else if (features->type != TABLETPC && + } else if (features->type <= BAMBOO_PT && features->type != WIRELESS && features->device_type == BTN_TOOL_PEN) { do { @@ -515,10 +514,7 @@ } /* only devices that support touch need to retrieve the info */ - if (features->type != TABLETPC && - features->type != TABLETPC2FG && - features->type != BAMBOO_PT && - features->type != MTSCREEN) { + if (features->type < BAMBOO_PT) { goto out; } --- linux-lowlatency-3.5.0.orig/drivers/input/tablet/wacom_wac.c +++ linux-lowlatency-3.5.0/drivers/input/tablet/wacom_wac.c @@ -248,7 +248,7 @@ input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); if (wacom->tool[0] != BTN_TOOL_MOUSE) { - input_report_abs(input, ABS_PRESSURE, data[6] | ((data[7] & 0x01) << 8)); + input_report_abs(input, ABS_PRESSURE, data[6] | ((data[7] & 0x03) << 8)); input_report_key(input, BTN_TOUCH, data[1] & 0x01); input_report_key(input, BTN_STYLUS, data[1] & 0x02); input_report_key(input, BTN_STYLUS2, data[1] & 0x04); @@ -464,7 +464,7 @@ t = (data[6] << 2) | ((data[7] >> 6) & 3); if ((features->type >= INTUOS4S && features->type <= INTUOS4L) || (features->type >= INTUOS5S && features->type <= INTUOS5L) || - features->type == WACOM_21UX2 || features->type == WACOM_24HD) { + (features->type >= WACOM_21UX2 && features->type <= WACOM_24HD)) { t = (t << 1) | (data[1] & 1); } input_report_abs(input, ABS_PRESSURE, t); @@ -614,7 +614,7 @@ input_report_abs(input, ABS_MISC, 0); } } else { - if (features->type == WACOM_21UX2) { + if (features->type == WACOM_21UX2 || features->type == WACOM_22HD) { input_report_key(input, BTN_0, (data[5] & 0x01)); input_report_key(input, BTN_1, (data[6] & 0x01)); input_report_key(input, BTN_2, (data[6] & 0x02)); @@ -633,6 +633,12 @@ input_report_key(input, BTN_Z, (data[8] & 0x20)); input_report_key(input, BTN_BASE, (data[8] & 0x40)); input_report_key(input, BTN_BASE2, (data[8] & 0x80)); + + if (features->type == WACOM_22HD) { + input_report_key(input, KEY_PROG1, data[9] & 0x01); + input_report_key(input, KEY_PROG2, data[9] & 0x02); + input_report_key(input, KEY_PROG3, data[9] & 0x04); + } } else { input_report_key(input, BTN_0, (data[5] & 0x01)); input_report_key(input, BTN_1, (data[5] & 0x02)); @@ -1230,6 +1236,7 @@ case CINTIQ: case WACOM_BEE: case WACOM_21UX2: + case WACOM_22HD: case WACOM_24HD: sync = wacom_intuos_irq(wacom_wac); break; @@ -1317,10 +1324,8 @@ } /* these device have multiple inputs */ - if (features->type == TABLETPC || features->type == TABLETPC2FG || - features->type == BAMBOO_PT || features->type == WIRELESS || - (features->type >= INTUOS5S && features->type <= INTUOS5L) || - features->type == MTSCREEN) + if (features->type >= WIRELESS || + (features->type >= INTUOS5S && features->type <= INTUOS5L)) features->quirks |= WACOM_QUIRK_MULTI_INPUT; /* quirk for bamboo touch with 2 low res touches */ @@ -1432,6 +1437,12 @@ wacom_setup_cintiq(wacom_wac); break; + case WACOM_22HD: + __set_bit(KEY_PROG1, input_dev->keybit); + __set_bit(KEY_PROG2, input_dev->keybit); + __set_bit(KEY_PROG3, input_dev->keybit); + /* fall through */ + case WACOM_21UX2: __set_bit(BTN_A, input_dev->keybit); __set_bit(BTN_B, input_dev->keybit); @@ -1855,6 +1866,9 @@ static const struct wacom_features wacom_features_0xCC = { "Wacom Cintiq 21UX2", WACOM_PKGLEN_INTUOS, 87200, 65600, 2047, 63, WACOM_21UX2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES }; +static const struct wacom_features wacom_features_0xFA = + { "Wacom Cintiq 22HD", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047, + 63, WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES }; static const struct wacom_features wacom_features_0x90 = { "Wacom ISDv4 90", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; @@ -2064,6 +2078,7 @@ { USB_DEVICE_WACOM(0xEC) }, { USB_DEVICE_WACOM(0x47) }, { USB_DEVICE_WACOM(0xF4) }, + { USB_DEVICE_WACOM(0xFA) }, { USB_DEVICE_LENOVO(0x6004) }, { } }; --- linux-lowlatency-3.5.0.orig/drivers/input/tablet/wacom_wac.h +++ linux-lowlatency-3.5.0/drivers/input/tablet/wacom_wac.h @@ -62,8 +62,6 @@ PTU, PL, DTU, - BAMBOO_PT, - WIRELESS, INTUOS, INTUOS3S, INTUOS3, @@ -74,12 +72,15 @@ INTUOS5S, INTUOS5, INTUOS5L, - WACOM_24HD, WACOM_21UX2, + WACOM_22HD, + WACOM_24HD, CINTIQ, WACOM_BEE, WACOM_MO, - TABLETPC, + WIRELESS, + BAMBOO_PT, + TABLETPC, /* add new TPC below */ TABLETPC2FG, MTSCREEN, MAX_TYPE --- linux-lowlatency-3.5.0.orig/drivers/input/touchscreen/eeti_ts.c +++ linux-lowlatency-3.5.0/drivers/input/touchscreen/eeti_ts.c @@ -48,7 +48,7 @@ struct input_dev *input; struct work_struct work; struct mutex mutex; - int irq, irq_active_high; + int irq_gpio, irq, irq_active_high; }; #define EETI_TS_BITDEPTH (11) @@ -62,7 +62,7 @@ static inline int eeti_ts_irq_active(struct eeti_ts_priv *priv) { - return gpio_get_value(irq_to_gpio(priv->irq)) == priv->irq_active_high; + return gpio_get_value(priv->irq_gpio) == priv->irq_active_high; } static void eeti_ts_read(struct work_struct *work) @@ -157,7 +157,7 @@ static int __devinit eeti_ts_probe(struct i2c_client *client, const struct i2c_device_id *idp) { - struct eeti_ts_platform_data *pdata; + struct eeti_ts_platform_data *pdata = client->dev.platform_data; struct eeti_ts_priv *priv; struct input_dev *input; unsigned int irq_flags; @@ -199,9 +199,12 @@ priv->client = client; priv->input = input; - priv->irq = client->irq; + priv->irq_gpio = pdata->irq_gpio; + priv->irq = gpio_to_irq(pdata->irq_gpio); - pdata = client->dev.platform_data; + err = gpio_request_one(pdata->irq_gpio, GPIOF_IN, client->name); + if (err < 0) + goto err1; if (pdata) priv->irq_active_high = pdata->irq_active_high; @@ -215,13 +218,13 @@ err = input_register_device(input); if (err) - goto err1; + goto err2; err = request_irq(priv->irq, eeti_ts_isr, irq_flags, client->name, priv); if (err) { dev_err(&client->dev, "Unable to request touchscreen IRQ.\n"); - goto err2; + goto err3; } /* @@ -233,9 +236,11 @@ device_init_wakeup(&client->dev, 0); return 0; -err2: +err3: input_unregister_device(input); input = NULL; /* so we dont try to free it below */ +err2: + gpio_free(pdata->irq_gpio); err1: input_free_device(input); kfree(priv); --- linux-lowlatency-3.5.0.orig/drivers/input/touchscreen/tsc40.c +++ linux-lowlatency-3.5.0/drivers/input/touchscreen/tsc40.c @@ -107,7 +107,6 @@ __set_bit(BTN_TOUCH, input_dev->keybit); input_set_abs_params(ptsc->dev, ABS_X, 0, 0x3ff, 0, 0); input_set_abs_params(ptsc->dev, ABS_Y, 0, 0x3ff, 0, 0); - input_set_abs_params(ptsc->dev, ABS_PRESSURE, 0, 0, 0, 0); serio_set_drvdata(serio, ptsc); --- linux-lowlatency-3.5.0.orig/drivers/iommu/amd_iommu.c +++ linux-lowlatency-3.5.0/drivers/iommu/amd_iommu.c @@ -2254,6 +2254,18 @@ iommu_init_device(dev); + /* + * dev_data is still NULL and + * got initialized in iommu_init_device + */ + dev_data = get_dev_data(dev); + + if (iommu_pass_through || dev_data->iommu_v2) { + dev_data->passthrough = true; + attach_device(dev, pt_domain); + break; + } + domain = domain_for_device(dev); /* allocate a protection domain if a device is added */ @@ -2271,10 +2283,7 @@ dev_data = get_dev_data(dev); - if (!dev_data->passthrough) - dev->archdata.dma_ops = &amd_iommu_dma_ops; - else - dev->archdata.dma_ops = &nommu_dma_ops; + dev->archdata.dma_ops = &amd_iommu_dma_ops; break; case BUS_NOTIFY_DEL_DEVICE: --- linux-lowlatency-3.5.0.orig/drivers/iommu/amd_iommu_v2.c +++ linux-lowlatency-3.5.0/drivers/iommu/amd_iommu_v2.c @@ -681,6 +681,8 @@ atomic_set(&pasid_state->count, 1); init_waitqueue_head(&pasid_state->wq); + spin_lock_init(&pasid_state->lock); + pasid_state->task = task; pasid_state->mm = get_task_mm(task); pasid_state->device_state = dev_state; --- linux-lowlatency-3.5.0.orig/drivers/iommu/intel-iommu.c +++ linux-lowlatency-3.5.0/drivers/iommu/intel-iommu.c @@ -589,7 +589,9 @@ { int i; - domain->iommu_coherency = 1; + i = find_first_bit(domain->iommu_bmp, g_num_of_iommus); + + domain->iommu_coherency = i < g_num_of_iommus ? 1 : 0; for_each_set_bit(i, domain->iommu_bmp, g_num_of_iommus) { if (!ecap_coherent(g_iommus[i]->ecap)) { --- linux-lowlatency-3.5.0.orig/drivers/iommu/tegra-smmu.c +++ linux-lowlatency-3.5.0/drivers/iommu/tegra-smmu.c @@ -148,7 +148,7 @@ #define SMMU_ADDR_TO_PFN(addr) ((addr) >> 12) #define SMMU_ADDR_TO_PDN(addr) ((addr) >> 22) -#define SMMU_PDN_TO_ADDR(addr) ((pdn) << 22) +#define SMMU_PDN_TO_ADDR(pdn) ((pdn) << 22) #define _READABLE (1 << SMMU_PTB_DATA_ASID_READABLE_SHIFT) #define _WRITABLE (1 << SMMU_PTB_DATA_ASID_WRITABLE_SHIFT) --- linux-lowlatency-3.5.0.orig/drivers/iommu/intel_irq_remapping.c +++ linux-lowlatency-3.5.0/drivers/iommu/intel_irq_remapping.c @@ -736,6 +736,7 @@ { struct dmar_drhd_unit *drhd; int ir_supported = 0; + int ioapic_idx; for_each_drhd_unit(drhd) { struct intel_iommu *iommu = drhd->iommu; @@ -748,13 +749,20 @@ } } - if (ir_supported && ir_ioapic_num != nr_ioapics) { - printk(KERN_WARNING - "Not all IO-APIC's listed under remapping hardware\n"); - return -1; + if (!ir_supported) + return 0; + + for (ioapic_idx = 0; ioapic_idx < nr_ioapics; ioapic_idx++) { + int ioapic_id = mpc_ioapic_id(ioapic_idx); + if (!map_ioapic_to_ir(ioapic_id)) { + pr_err(FW_BUG "ioapic %d has no mapping iommu, " + "interrupt remapping will be disabled\n", + ioapic_id); + return -1; + } } - return ir_supported; + return 1; } int __init ir_dev_scope_init(void) --- linux-lowlatency-3.5.0.orig/drivers/isdn/gigaset/bas-gigaset.c +++ linux-lowlatency-3.5.0/drivers/isdn/gigaset/bas-gigaset.c @@ -617,7 +617,13 @@ if (rc == 0) /* success, resubmit interrupt read URB */ rc = usb_submit_urb(urb, GFP_ATOMIC); - if (rc != 0 && rc != -ENODEV) { + + switch (rc) { + case 0: /* success */ + case -ENODEV: /* device gone */ + case -EINVAL: /* URB already resubmitted, or terminal badness */ + break; + default: /* failure: try to recover by resetting the device */ dev_err(cs->dev, "clear halt failed: %s\n", get_usb_rcmsg(rc)); rc = usb_lock_device_for_reset(ucs->udev, ucs->interface); if (rc == 0) { @@ -2442,7 +2448,9 @@ } /* gigaset_suspend - * This function is called before the USB connection is suspended. + * This function is called before the USB connection is suspended + * or before the USB device is reset. + * In the latter case, message == PMSG_ON. */ static int gigaset_suspend(struct usb_interface *intf, pm_message_t message) { @@ -2498,7 +2506,12 @@ del_timer_sync(&ucs->timer_atrdy); del_timer_sync(&ucs->timer_cmd_in); del_timer_sync(&ucs->timer_int_in); - cancel_work_sync(&ucs->int_in_wq); + + /* don't try to cancel int_in_wq from within reset as it + * might be the one requesting the reset + */ + if (message.event != PM_EVENT_ON) + cancel_work_sync(&ucs->int_in_wq); gig_dbg(DEBUG_SUSPEND, "suspend complete"); return 0; --- linux-lowlatency-3.5.0.orig/drivers/isdn/hardware/mISDN/avmfritz.c +++ linux-lowlatency-3.5.0/drivers/isdn/hardware/mISDN/avmfritz.c @@ -449,7 +449,8 @@ { struct fritzcard *fc = bch->hw; struct hdlc_hw *hdlc; - int count, fs, cnt = 0, idx, fillempty = 0; + int count, fs, cnt = 0, idx; + bool fillempty = false; u8 *p; u32 *ptr, val, addr; @@ -462,7 +463,7 @@ return; count = fs; p = bch->fill; - fillempty = 1; + fillempty = true; } else { count = bch->tx_skb->len - bch->tx_idx; if (count <= 0) @@ -477,7 +478,7 @@ hdlc->ctrl.sr.cmd |= HDLC_CMD_XME; } ptr = (u32 *)p; - if (fillempty) { + if (!fillempty) { pr_debug("%s.B%d: %d/%d/%d", fc->name, bch->nr, count, bch->tx_idx, bch->tx_skb->len); bch->tx_idx += count; @@ -856,8 +857,9 @@ switch (cmd) { case CLOSE_CHANNEL: test_and_clear_bit(FLG_OPEN, &bch->Flags); + cancel_work_sync(&bch->workq); spin_lock_irqsave(&fc->lock, flags); - mISDN_freebchannel(bch); + mISDN_clear_bchannel(bch); modehdlc(bch, ISDN_P_NONE); spin_unlock_irqrestore(&fc->lock, flags); ch->protocol = ISDN_P_NONE; --- linux-lowlatency-3.5.0.orig/drivers/isdn/hardware/mISDN/mISDNipac.c +++ linux-lowlatency-3.5.0/drivers/isdn/hardware/mISDN/mISDNipac.c @@ -1406,8 +1406,9 @@ switch (cmd) { case CLOSE_CHANNEL: test_and_clear_bit(FLG_OPEN, &bch->Flags); + cancel_work_sync(&bch->workq); spin_lock_irqsave(hx->ip->hwlock, flags); - mISDN_freebchannel(bch); + mISDN_clear_bchannel(bch); hscx_mode(hx, ISDN_P_NONE); spin_unlock_irqrestore(hx->ip->hwlock, flags); ch->protocol = ISDN_P_NONE; --- linux-lowlatency-3.5.0.orig/drivers/isdn/hardware/mISDN/mISDNisar.c +++ linux-lowlatency-3.5.0/drivers/isdn/hardware/mISDN/mISDNisar.c @@ -1588,8 +1588,9 @@ switch (cmd) { case CLOSE_CHANNEL: test_and_clear_bit(FLG_OPEN, &bch->Flags); + cancel_work_sync(&bch->workq); spin_lock_irqsave(ich->is->hwlock, flags); - mISDN_freebchannel(bch); + mISDN_clear_bchannel(bch); modeisar(ich, ISDN_P_NONE); spin_unlock_irqrestore(ich->is->hwlock, flags); ch->protocol = ISDN_P_NONE; --- linux-lowlatency-3.5.0.orig/drivers/isdn/hardware/mISDN/netjet.c +++ linux-lowlatency-3.5.0/drivers/isdn/hardware/mISDN/netjet.c @@ -812,8 +812,9 @@ switch (cmd) { case CLOSE_CHANNEL: test_and_clear_bit(FLG_OPEN, &bch->Flags); + cancel_work_sync(&bch->workq); spin_lock_irqsave(&card->lock, flags); - mISDN_freebchannel(bch); + mISDN_clear_bchannel(bch); mode_tiger(bc, ISDN_P_NONE); spin_unlock_irqrestore(&card->lock, flags); ch->protocol = ISDN_P_NONE; --- linux-lowlatency-3.5.0.orig/drivers/isdn/hardware/mISDN/w6692.c +++ linux-lowlatency-3.5.0/drivers/isdn/hardware/mISDN/w6692.c @@ -1054,8 +1054,9 @@ switch (cmd) { case CLOSE_CHANNEL: test_and_clear_bit(FLG_OPEN, &bch->Flags); + cancel_work_sync(&bch->workq); spin_lock_irqsave(&card->lock, flags); - mISDN_freebchannel(bch); + mISDN_clear_bchannel(bch); w6692_mode(bc, ISDN_P_NONE); spin_unlock_irqrestore(&card->lock, flags); ch->protocol = ISDN_P_NONE; --- linux-lowlatency-3.5.0.orig/drivers/isdn/isdnloop/isdnloop.c +++ linux-lowlatency-3.5.0/drivers/isdn/isdnloop/isdnloop.c @@ -16,7 +16,6 @@ #include #include "isdnloop.h" -static char *revision = "$Revision: 1.11.6.7 $"; static char *isdnloop_id = "loop0"; MODULE_DESCRIPTION("ISDN4Linux: Pseudo Driver that simulates an ISDN card"); @@ -1494,17 +1493,6 @@ static int __init isdnloop_init(void) { - char *p; - char rev[10]; - - if ((p = strchr(revision, ':'))) { - strcpy(rev, p + 1); - p = strchr(rev, '$'); - *p = 0; - } else - strcpy(rev, " ??? "); - printk(KERN_NOTICE "isdnloop-ISDN-driver Rev%s\n", rev); - if (isdnloop_id) return (isdnloop_addcard(isdnloop_id)); --- linux-lowlatency-3.5.0.orig/drivers/isdn/mISDN/hwchannel.c +++ linux-lowlatency-3.5.0/drivers/isdn/mISDN/hwchannel.c @@ -148,17 +148,16 @@ ch->next_minlen = ch->init_minlen; ch->maxlen = ch->init_maxlen; ch->next_maxlen = ch->init_maxlen; + skb_queue_purge(&ch->rqueue); + ch->rcount = 0; } EXPORT_SYMBOL(mISDN_clear_bchannel); -int +void mISDN_freebchannel(struct bchannel *ch) { + cancel_work_sync(&ch->workq); mISDN_clear_bchannel(ch); - skb_queue_purge(&ch->rqueue); - ch->rcount = 0; - flush_work_sync(&ch->workq); - return 0; } EXPORT_SYMBOL(mISDN_freebchannel); --- linux-lowlatency-3.5.0.orig/drivers/isdn/mISDN/layer2.c +++ linux-lowlatency-3.5.0/drivers/isdn/mISDN/layer2.c @@ -2222,7 +2222,7 @@ InitWin(l2); l2->l2m.fsm = &l2fsm; if (test_bit(FLG_LAPB, &l2->flag) || - test_bit(FLG_PTP, &l2->flag) || + test_bit(FLG_FIXED_TEI, &l2->flag) || test_bit(FLG_LAPD_NET, &l2->flag)) l2->l2m.state = ST_L2_4; else --- linux-lowlatency-3.5.0.orig/drivers/md/dm-mpath.c +++ linux-lowlatency-3.5.0/drivers/md/dm-mpath.c @@ -1520,6 +1520,7 @@ unsigned long arg) { struct multipath *m = ti->private; + struct pgpath *pgpath; struct block_device *bdev; fmode_t mode; unsigned long flags; @@ -1535,12 +1536,14 @@ if (!m->current_pgpath) __choose_pgpath(m, 0); - if (m->current_pgpath) { - bdev = m->current_pgpath->path.dev->bdev; - mode = m->current_pgpath->path.dev->mode; + pgpath = m->current_pgpath; + + if (pgpath) { + bdev = pgpath->path.dev->bdev; + mode = pgpath->path.dev->mode; } - if (m->queue_io) + if ((pgpath && m->queue_io) || (!pgpath && m->queue_if_no_path)) r = -EAGAIN; else if (!bdev) r = -EIO; --- linux-lowlatency-3.5.0.orig/drivers/md/dm-table.c +++ linux-lowlatency-3.5.0/drivers/md/dm-table.c @@ -1351,17 +1351,25 @@ return q && blk_queue_nonrot(q); } -static bool dm_table_is_nonrot(struct dm_table *t) +static int device_is_not_random(struct dm_target *ti, struct dm_dev *dev, + sector_t start, sector_t len, void *data) +{ + struct request_queue *q = bdev_get_queue(dev->bdev); + + return q && !blk_queue_add_random(q); +} + +static bool dm_table_all_devices_attribute(struct dm_table *t, + iterate_devices_callout_fn func) { struct dm_target *ti; unsigned i = 0; - /* Ensure that all underlying device are non-rotational. */ while (i < dm_table_get_num_targets(t)) { ti = dm_table_get_target(t, i++); if (!ti->type->iterate_devices || - !ti->type->iterate_devices(ti, device_is_nonrot, NULL)) + !ti->type->iterate_devices(ti, func, NULL)) return 0; } @@ -1393,7 +1401,8 @@ if (!dm_table_discard_zeroes_data(t)) q->limits.discard_zeroes_data = 0; - if (dm_table_is_nonrot(t)) + /* Ensure that all underlying devices are non-rotational. */ + if (dm_table_all_devices_attribute(t, device_is_nonrot)) queue_flag_set_unlocked(QUEUE_FLAG_NONROT, q); else queue_flag_clear_unlocked(QUEUE_FLAG_NONROT, q); @@ -1401,6 +1410,15 @@ dm_table_set_integrity(t); /* + * Determine whether or not this queue's I/O timings contribute + * to the entropy pool, Only request-based targets use this. + * Clear QUEUE_FLAG_ADD_RANDOM if any underlying device does not + * have it set. + */ + if (blk_queue_add_random(q) && dm_table_all_devices_attribute(t, device_is_not_random)) + queue_flag_clear_unlocked(QUEUE_FLAG_ADD_RANDOM, q); + + /* * QUEUE_FLAG_STACKABLE must be set after all queue settings are * visible to other CPUs because, once the flag is set, incoming bios * are processed by request-based dm, which refers to the queue --- linux-lowlatency-3.5.0.orig/drivers/md/dm-thin.c +++ linux-lowlatency-3.5.0/drivers/md/dm-thin.c @@ -19,7 +19,7 @@ /* * Tunable constants */ -#define ENDIO_HOOK_POOL_SIZE 10240 +#define ENDIO_HOOK_POOL_SIZE 1024 #define DEFERRED_SET_SIZE 64 #define MAPPING_POOL_SIZE 1024 #define PRISON_CELLS 1024 @@ -859,7 +859,7 @@ if (m->err) { cell_error(m->cell); - return; + goto out; } /* @@ -871,7 +871,7 @@ if (r) { DMERR("dm_thin_insert_block() failed"); cell_error(m->cell); - return; + goto out; } /* @@ -886,6 +886,7 @@ } else cell_defer(tc, m->cell, m->data_block); +out: list_del(&m->list); mempool_free(m, tc->pool->mapping_pool); } --- linux-lowlatency-3.5.0.orig/drivers/md/dm-verity.c +++ linux-lowlatency-3.5.0/drivers/md/dm-verity.c @@ -718,8 +718,8 @@ v->hash_dev_block_bits = ffs(num) - 1; if (sscanf(argv[5], "%llu%c", &num_ll, &dummy) != 1 || - num_ll << (v->data_dev_block_bits - SECTOR_SHIFT) != - (sector_t)num_ll << (v->data_dev_block_bits - SECTOR_SHIFT)) { + (sector_t)(num_ll << (v->data_dev_block_bits - SECTOR_SHIFT)) + >> (v->data_dev_block_bits - SECTOR_SHIFT) != num_ll) { ti->error = "Invalid data blocks"; r = -EINVAL; goto bad; @@ -733,8 +733,8 @@ } if (sscanf(argv[6], "%llu%c", &num_ll, &dummy) != 1 || - num_ll << (v->hash_dev_block_bits - SECTOR_SHIFT) != - (sector_t)num_ll << (v->hash_dev_block_bits - SECTOR_SHIFT)) { + (sector_t)(num_ll << (v->hash_dev_block_bits - SECTOR_SHIFT)) + >> (v->hash_dev_block_bits - SECTOR_SHIFT) != num_ll) { ti->error = "Invalid hash start"; r = -EINVAL; goto bad; --- linux-lowlatency-3.5.0.orig/drivers/md/dm.c +++ linux-lowlatency-3.5.0/drivers/md/dm.c @@ -754,8 +754,14 @@ if (!md_in_flight(md)) wake_up(&md->wait); + /* + * Run this off this callpath, as drivers could invoke end_io while + * inside their request_fn (and holding the queue lock). Calling + * back into ->request_fn() could deadlock attempting to grab the + * queue lock again. + */ if (run_queue) - blk_run_queue(md->queue); + blk_run_queue_async(md->queue); /* * dm_put() must be at the end of this function. See the comment above @@ -865,10 +871,14 @@ { int r = error; struct dm_rq_target_io *tio = clone->end_io_data; - dm_request_endio_fn rq_end_io = tio->ti->type->rq_end_io; + dm_request_endio_fn rq_end_io = NULL; - if (mapped && rq_end_io) - r = rq_end_io(tio->ti, clone, error, &tio->info); + if (tio->ti) { + rq_end_io = tio->ti->type->rq_end_io; + + if (mapped && rq_end_io) + r = rq_end_io(tio->ti, clone, error, &tio->info); + } if (r <= 0) /* The target wants to complete the I/O */ @@ -1566,15 +1576,6 @@ int r, requeued = 0; struct dm_rq_target_io *tio = clone->end_io_data; - /* - * Hold the md reference here for the in-flight I/O. - * We can't rely on the reference count by device opener, - * because the device may be closed during the request completion - * when all bios are completed. - * See the comment in rq_completed() too. - */ - dm_get(md); - tio->ti = ti; r = ti->type->map_rq(ti, clone, &tio->info); switch (r) { @@ -1606,6 +1607,26 @@ return requeued; } +static struct request *dm_start_request(struct mapped_device *md, struct request *orig) +{ + struct request *clone; + + blk_start_request(orig); + clone = orig->special; + atomic_inc(&md->pending[rq_data_dir(clone)]); + + /* + * Hold the md reference here for the in-flight I/O. + * We can't rely on the reference count by device opener, + * because the device may be closed during the request completion + * when all bios are completed. + * See the comment in rq_completed() too. + */ + dm_get(md); + + return clone; +} + /* * q->request_fn for request-based dm. * Called with the queue lock held. @@ -1635,14 +1656,21 @@ pos = blk_rq_pos(rq); ti = dm_table_find_target(map, pos); - BUG_ON(!dm_target_is_valid(ti)); + if (!dm_target_is_valid(ti)) { + /* + * Must perform setup, that dm_done() requires, + * before calling dm_kill_unmapped_request + */ + DMERR_LIMIT("request attempted access beyond the end of device"); + clone = dm_start_request(md, rq); + dm_kill_unmapped_request(clone, -EIO); + continue; + } if (ti->type->busy && ti->type->busy(ti)) goto delay_and_out; - blk_start_request(rq); - clone = rq->special; - atomic_inc(&md->pending[rq_data_dir(clone)]); + clone = dm_start_request(md, rq); spin_unlock(q->queue_lock); if (map_request(ti, clone, md)) @@ -1662,8 +1690,6 @@ blk_delay_queue(q, HZ / 10); out: dm_table_put(map); - - return; } int dm_underlying_device_busy(struct request_queue *q) @@ -2653,6 +2679,7 @@ { return md->disk; } +EXPORT_SYMBOL_GPL(dm_disk); struct kobject *dm_kobject(struct mapped_device *md) { --- linux-lowlatency-3.5.0.orig/drivers/md/md.c +++ linux-lowlatency-3.5.0/drivers/md/md.c @@ -1157,8 +1157,11 @@ ret = 0; } rdev->sectors = rdev->sb_start; - /* Limit to 4TB as metadata cannot record more than that */ - if (rdev->sectors >= (2ULL << 32)) + /* Limit to 4TB as metadata cannot record more than that. + * (not needed for Linear and RAID0 as metadata doesn't + * record this size) + */ + if (rdev->sectors >= (2ULL << 32) && sb->level >= 1) rdev->sectors = (2ULL << 32) - 2; if (rdev->sectors < ((sector_t)sb->size) * 2 && sb->level >= 1) @@ -1449,7 +1452,7 @@ /* Limit to 4TB as metadata cannot record more than that. * 4TB == 2^32 KB, or 2*2^32 sectors. */ - if (num_sectors >= (2ULL << 32)) + if (num_sectors >= (2ULL << 32) && rdev->mddev->level >= 1) num_sectors = (2ULL << 32) - 2; md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size, rdev->sb_page); @@ -1878,10 +1881,10 @@ memset(bbp, 0xff, PAGE_SIZE); for (i = 0 ; i < bb->count ; i++) { - u64 internal_bb = *p++; + u64 internal_bb = p[i]; u64 store_bb = ((BB_OFFSET(internal_bb) << 10) | BB_LEN(internal_bb)); - *bbp++ = cpu_to_le64(store_bb); + bbp[i] = cpu_to_le64(store_bb); } bb->changed = 0; if (read_seqretry(&bb->lock, seq)) @@ -7669,6 +7672,8 @@ } } } + if (removed) + set_bit(MD_CHANGE_DEVS, &mddev->flags); return spares; } @@ -7682,9 +7687,11 @@ !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { /* success...*/ /* activate any spares */ - if (mddev->pers->spare_active(mddev)) + if (mddev->pers->spare_active(mddev)) { sysfs_notify(&mddev->kobj, NULL, "degraded"); + set_bit(MD_CHANGE_DEVS, &mddev->flags); + } } if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && mddev->pers->finish_reshape) @@ -7953,9 +7960,9 @@ sector_t *first_bad, int *bad_sectors) { int hi; - int lo = 0; + int lo; u64 *p = bb->page; - int rv = 0; + int rv; sector_t target = s + sectors; unsigned seq; @@ -7970,7 +7977,8 @@ retry: seq = read_seqbegin(&bb->lock); - + lo = 0; + rv = 0; hi = bb->count; /* Binary search between lo and hi for 'target' --- linux-lowlatency-3.5.0.orig/drivers/md/raid1.c +++ linux-lowlatency-3.5.0/drivers/md/raid1.c @@ -2428,7 +2428,10 @@ /* There is nowhere to write, so all non-sync * drives must be failed - so we are finished */ - sector_t rv = max_sector - sector_nr; + sector_t rv; + if (min_bad > 0) + max_sector = sector_nr + min_bad; + rv = max_sector - sector_nr; *skipped = 1; put_buf(r1_bio); return rv; @@ -2560,7 +2563,7 @@ || disk_idx < 0) continue; if (test_bit(Replacement, &rdev->flags)) - disk = conf->mirrors + conf->raid_disks + disk_idx; + disk = conf->mirrors + mddev->raid_disks + disk_idx; else disk = conf->mirrors + disk_idx; --- linux-lowlatency-3.5.0.orig/drivers/md/raid10.c +++ linux-lowlatency-3.5.0/drivers/md/raid10.c @@ -485,7 +485,7 @@ */ one_write_done(r10_bio); if (dec_rdev) - rdev_dec_pending(conf->mirrors[dev].rdev, conf->mddev); + rdev_dec_pending(rdev, conf->mddev); } /* @@ -645,7 +645,11 @@ max = biovec->bv_len; if (mddev->merge_check_needed) { - struct r10bio r10_bio; + struct { + struct r10bio r10_bio; + struct r10dev devs[conf->copies]; + } on_stack; + struct r10bio *r10_bio = &on_stack.r10_bio; int s; if (conf->reshape_progress != MaxSector) { /* Cannot give any guidance during reshape */ @@ -653,18 +657,18 @@ return biovec->bv_len; return 0; } - r10_bio.sector = sector; - raid10_find_phys(conf, &r10_bio); + r10_bio->sector = sector; + raid10_find_phys(conf, r10_bio); rcu_read_lock(); for (s = 0; s < conf->copies; s++) { - int disk = r10_bio.devs[s].devnum; + int disk = r10_bio->devs[s].devnum; struct md_rdev *rdev = rcu_dereference( conf->mirrors[disk].rdev); if (rdev && !test_bit(Faulty, &rdev->flags)) { struct request_queue *q = bdev_get_queue(rdev->bdev); if (q->merge_bvec_fn) { - bvm->bi_sector = r10_bio.devs[s].addr + bvm->bi_sector = r10_bio->devs[s].addr + rdev->data_offset; bvm->bi_bdev = rdev->bdev; max = min(max, q->merge_bvec_fn( @@ -676,7 +680,7 @@ struct request_queue *q = bdev_get_queue(rdev->bdev); if (q->merge_bvec_fn) { - bvm->bi_sector = r10_bio.devs[s].addr + bvm->bi_sector = r10_bio->devs[s].addr + rdev->data_offset; bvm->bi_bdev = rdev->bdev; max = min(max, q->merge_bvec_fn( @@ -1263,18 +1267,21 @@ blocked_rdev = rrdev; break; } + if (rdev && (test_bit(Faulty, &rdev->flags) + || test_bit(Unmerged, &rdev->flags))) + rdev = NULL; if (rrdev && (test_bit(Faulty, &rrdev->flags) || test_bit(Unmerged, &rrdev->flags))) rrdev = NULL; r10_bio->devs[i].bio = NULL; r10_bio->devs[i].repl_bio = NULL; - if (!rdev || test_bit(Faulty, &rdev->flags) || - test_bit(Unmerged, &rdev->flags)) { + + if (!rdev && !rrdev) { set_bit(R10BIO_Degraded, &r10_bio->state); continue; } - if (test_bit(WriteErrorSeen, &rdev->flags)) { + if (rdev && test_bit(WriteErrorSeen, &rdev->flags)) { sector_t first_bad; sector_t dev_sector = r10_bio->devs[i].addr; int bad_sectors; @@ -1316,8 +1323,10 @@ max_sectors = good_sectors; } } - r10_bio->devs[i].bio = bio; - atomic_inc(&rdev->nr_pending); + if (rdev) { + r10_bio->devs[i].bio = bio; + atomic_inc(&rdev->nr_pending); + } if (rrdev) { r10_bio->devs[i].repl_bio = bio; atomic_inc(&rrdev->nr_pending); @@ -1373,58 +1382,58 @@ for (i = 0; i < conf->copies; i++) { struct bio *mbio; int d = r10_bio->devs[i].devnum; - if (!r10_bio->devs[i].bio) - continue; - - mbio = bio_clone_mddev(bio, GFP_NOIO, mddev); - md_trim_bio(mbio, r10_bio->sector - bio->bi_sector, - max_sectors); - r10_bio->devs[i].bio = mbio; - - mbio->bi_sector = (r10_bio->devs[i].addr+ - choose_data_offset(r10_bio, - conf->mirrors[d].rdev)); - mbio->bi_bdev = conf->mirrors[d].rdev->bdev; - mbio->bi_end_io = raid10_end_write_request; - mbio->bi_rw = WRITE | do_sync | do_fua; - mbio->bi_private = r10_bio; - - atomic_inc(&r10_bio->remaining); - spin_lock_irqsave(&conf->device_lock, flags); - bio_list_add(&conf->pending_bio_list, mbio); - conf->pending_count++; - spin_unlock_irqrestore(&conf->device_lock, flags); - if (!mddev_check_plugged(mddev)) - md_wakeup_thread(mddev->thread); - - if (!r10_bio->devs[i].repl_bio) - continue; + if (r10_bio->devs[i].bio) { + struct md_rdev *rdev = conf->mirrors[d].rdev; + mbio = bio_clone_mddev(bio, GFP_NOIO, mddev); + md_trim_bio(mbio, r10_bio->sector - bio->bi_sector, + max_sectors); + r10_bio->devs[i].bio = mbio; + + mbio->bi_sector = (r10_bio->devs[i].addr+ + choose_data_offset(r10_bio, + rdev)); + mbio->bi_bdev = rdev->bdev; + mbio->bi_end_io = raid10_end_write_request; + mbio->bi_rw = WRITE | do_sync | do_fua; + mbio->bi_private = r10_bio; - mbio = bio_clone_mddev(bio, GFP_NOIO, mddev); - md_trim_bio(mbio, r10_bio->sector - bio->bi_sector, - max_sectors); - r10_bio->devs[i].repl_bio = mbio; + atomic_inc(&r10_bio->remaining); + spin_lock_irqsave(&conf->device_lock, flags); + bio_list_add(&conf->pending_bio_list, mbio); + conf->pending_count++; + spin_unlock_irqrestore(&conf->device_lock, flags); + if (!mddev_check_plugged(mddev)) + md_wakeup_thread(mddev->thread); + } - /* We are actively writing to the original device - * so it cannot disappear, so the replacement cannot - * become NULL here - */ - mbio->bi_sector = (r10_bio->devs[i].addr + - choose_data_offset( - r10_bio, - conf->mirrors[d].replacement)); - mbio->bi_bdev = conf->mirrors[d].replacement->bdev; - mbio->bi_end_io = raid10_end_write_request; - mbio->bi_rw = WRITE | do_sync | do_fua; - mbio->bi_private = r10_bio; + if (r10_bio->devs[i].repl_bio) { + struct md_rdev *rdev = conf->mirrors[d].replacement; + if (rdev == NULL) { + /* Replacement just got moved to main 'rdev' */ + smp_mb(); + rdev = conf->mirrors[d].rdev; + } + mbio = bio_clone_mddev(bio, GFP_NOIO, mddev); + md_trim_bio(mbio, r10_bio->sector - bio->bi_sector, + max_sectors); + r10_bio->devs[i].repl_bio = mbio; + + mbio->bi_sector = (r10_bio->devs[i].addr + + choose_data_offset( + r10_bio, rdev)); + mbio->bi_bdev = rdev->bdev; + mbio->bi_end_io = raid10_end_write_request; + mbio->bi_rw = WRITE | do_sync | do_fua; + mbio->bi_private = r10_bio; - atomic_inc(&r10_bio->remaining); - spin_lock_irqsave(&conf->device_lock, flags); - bio_list_add(&conf->pending_bio_list, mbio); - conf->pending_count++; - spin_unlock_irqrestore(&conf->device_lock, flags); - if (!mddev_check_plugged(mddev)) - md_wakeup_thread(mddev->thread); + atomic_inc(&r10_bio->remaining); + spin_lock_irqsave(&conf->device_lock, flags); + bio_list_add(&conf->pending_bio_list, mbio); + conf->pending_count++; + spin_unlock_irqrestore(&conf->device_lock, flags); + if (!mddev_check_plugged(mddev)) + md_wakeup_thread(mddev->thread); + } } /* Don't remove the bias on 'remaining' (one_write_done) until @@ -1488,14 +1497,16 @@ do { int n = conf->copies; int cnt = 0; + int this = first; while (n--) { - if (conf->mirrors[first].rdev && - first != ignore) + if (conf->mirrors[this].rdev && + this != ignore) cnt++; - first = (first+1) % geo->raid_disks; + this = (this+1) % geo->raid_disks; } if (cnt == 0) return 0; + first = (first + geo->near_copies) % geo->raid_disks; } while (first != 0); return 1; } @@ -3133,7 +3144,7 @@ else { bad_sectors -= (sector - first_bad); if (max_sync > bad_sectors) - max_sync = max_sync; + max_sync = bad_sectors; continue; } } @@ -4389,14 +4400,18 @@ { /* Use sync reads to get the blocks from somewhere else */ int sectors = r10_bio->sectors; - struct r10bio r10b; struct r10conf *conf = mddev->private; + struct { + struct r10bio r10_bio; + struct r10dev devs[conf->copies]; + } on_stack; + struct r10bio *r10b = &on_stack.r10_bio; int slot = 0; int idx = 0; struct bio_vec *bvec = r10_bio->master_bio->bi_io_vec; - r10b.sector = r10_bio->sector; - __raid10_find_phys(&conf->prev, &r10b); + r10b->sector = r10_bio->sector; + __raid10_find_phys(&conf->prev, r10b); while (sectors) { int s = sectors; @@ -4407,7 +4422,7 @@ s = PAGE_SIZE >> 9; while (!success) { - int d = r10b.devs[slot].devnum; + int d = r10b->devs[slot].devnum; struct md_rdev *rdev = conf->mirrors[d].rdev; sector_t addr; if (rdev == NULL || @@ -4415,7 +4430,7 @@ !test_bit(In_sync, &rdev->flags)) goto failed; - addr = r10b.devs[slot].addr + idx * PAGE_SIZE; + addr = r10b->devs[slot].addr + idx * PAGE_SIZE; success = sync_page_io(rdev, addr, s << 9, --- linux-lowlatency-3.5.0.orig/drivers/md/raid10.h +++ linux-lowlatency-3.5.0/drivers/md/raid10.h @@ -110,7 +110,7 @@ * We choose the number when they are allocated. * We sometimes need an extra bio to write to the replacement. */ - struct { + struct r10dev { struct bio *bio; union { struct bio *repl_bio; /* used for resync and --- linux-lowlatency-3.5.0.orig/drivers/md/raid5.c +++ linux-lowlatency-3.5.0/drivers/md/raid5.c @@ -380,6 +380,8 @@ degraded = 0; for (i = 0; i < conf->previous_raid_disks; i++) { struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); + if (rdev && test_bit(Faulty, &rdev->flags)) + rdev = rcu_dereference(conf->disks[i].replacement); if (!rdev || test_bit(Faulty, &rdev->flags)) degraded++; else if (test_bit(In_sync, &rdev->flags)) @@ -404,6 +406,8 @@ degraded2 = 0; for (i = 0; i < conf->raid_disks; i++) { struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); + if (rdev && test_bit(Faulty, &rdev->flags)) + rdev = rcu_dereference(conf->disks[i].replacement); if (!rdev || test_bit(Faulty, &rdev->flags)) degraded2++; else if (test_bit(In_sync, &rdev->flags)) --- linux-lowlatency-3.5.0.orig/drivers/media/common/tuners/xc5000.c +++ linux-lowlatency-3.5.0/drivers/media/common/tuners/xc5000.c @@ -210,13 +210,15 @@ u16 size; }; +#define XC5000A_FIRMWARE "dvb-fe-xc5000-1.6.114.fw" static const struct xc5000_fw_cfg xc5000a_1_6_114 = { - .name = "dvb-fe-xc5000-1.6.114.fw", + .name = XC5000A_FIRMWARE, .size = 12401, }; +#define XC5000C_FIRMWARE "dvb-fe-xc5000c-41.024.5.fw" static const struct xc5000_fw_cfg xc5000c_41_024_5 = { - .name = "dvb-fe-xc5000c-41.024.5.fw", + .name = XC5000C_FIRMWARE, .size = 16497, }; @@ -1253,3 +1255,5 @@ MODULE_AUTHOR("Steven Toth"); MODULE_DESCRIPTION("Xceive xc5000 silicon tuner driver"); MODULE_LICENSE("GPL"); +MODULE_FIRMWARE(XC5000A_FIRMWARE); +MODULE_FIRMWARE(XC5000C_FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/media/dvb/frontends/lgs8gxx.c +++ linux-lowlatency-3.5.0/drivers/media/dvb/frontends/lgs8gxx.c @@ -40,6 +40,8 @@ static int debug; static int fake_signal_str = 1; +#define LGS8GXX_FIRMWARE "lgs8g75.fw" + module_param(debug, int, 0644); MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); @@ -592,7 +594,7 @@ int rc; int i; - rc = request_firmware(&fw, "lgs8g75.fw", &priv->i2c->dev); + rc = request_firmware(&fw, LGS8GXX_FIRMWARE, &priv->i2c->dev); if (rc) return rc; @@ -1070,3 +1072,4 @@ MODULE_DESCRIPTION("Legend Silicon LGS8913/LGS8GXX DMB-TH demodulator driver"); MODULE_AUTHOR("David T. L. Wong "); MODULE_LICENSE("GPL"); +MODULE_FIRMWARE(LGS8GXX_FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/media/dvb/siano/smsusb.c +++ linux-lowlatency-3.5.0/drivers/media/dvb/siano/smsusb.c @@ -481,7 +481,7 @@ return 0; } -static const struct usb_device_id smsusb_id_table[] __devinitconst = { +static const struct usb_device_id smsusb_id_table[] = { { USB_DEVICE(0x187f, 0x0010), .driver_info = SMS1XXX_BOARD_SIANO_STELLAR }, { USB_DEVICE(0x187f, 0x0100), --- linux-lowlatency-3.5.0.orig/drivers/media/rc/ene_ir.c +++ linux-lowlatency-3.5.0/drivers/media/rc/ene_ir.c @@ -1018,6 +1018,8 @@ spin_lock_init(&dev->hw_lock); + dev->hw_io = pnp_port_start(pnp_dev, 0); + pnp_set_drvdata(pnp_dev, dev); dev->pnp_dev = pnp_dev; @@ -1072,7 +1074,6 @@ /* claim the resources */ error = -EBUSY; - dev->hw_io = pnp_port_start(pnp_dev, 0); if (!request_region(dev->hw_io, ENE_IO_SIZE, ENE_DRIVER_NAME)) { dev->hw_io = -1; dev->irq = -1; --- linux-lowlatency-3.5.0.orig/drivers/media/rc/ite-cir.c +++ linux-lowlatency-3.5.0/drivers/media/rc/ite-cir.c @@ -1473,6 +1473,7 @@ rdev = rc_allocate_device(); if (!rdev) goto failure; + itdev->rdev = rdev; ret = -ENODEV; @@ -1604,7 +1605,6 @@ if (ret) goto failure3; - itdev->rdev = rdev; ite_pr(KERN_NOTICE, "driver has been successfully loaded\n"); return 0; --- linux-lowlatency-3.5.0.orig/drivers/media/rc/rc-main.c +++ linux-lowlatency-3.5.0/drivers/media/rc/rc-main.c @@ -775,11 +775,13 @@ if (dev->driver_type == RC_DRIVER_SCANCODE) { enabled = dev->rc_map.rc_type; allowed = dev->allowed_protos; - } else { + } else if (dev->raw) { enabled = dev->raw->enabled_protocols; allowed = ir_raw_get_allowed_protocols(); + } else { + mutex_unlock(&dev->lock); + return -ENODEV; } - IR_dprintk(1, "allowed - 0x%llx, enabled - 0x%llx\n", (long long)allowed, (long long)enabled); --- linux-lowlatency-3.5.0.orig/drivers/media/video/s2255drv.c +++ linux-lowlatency-3.5.0/drivers/media/video/s2255drv.c @@ -2686,3 +2686,4 @@ MODULE_AUTHOR("Dean Anderson (Sensoray Company Inc.)"); MODULE_LICENSE("GPL"); MODULE_VERSION(S2255_VERSION); +MODULE_FIRMWARE(FIRMWARE_FILE_NAME); --- linux-lowlatency-3.5.0.orig/drivers/media/video/videobuf-dma-contig.c +++ linux-lowlatency-3.5.0/drivers/media/video/videobuf-dma-contig.c @@ -359,32 +359,43 @@ size = vma->vm_end - vma->vm_start; size = (size < mem->size) ? size : mem->size; - if (!mem->cached) + if (!mem->cached) { vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); - - pos = (unsigned long)mem->vaddr; - - while (size > 0) { - page = virt_to_page((void *)pos); - if (NULL == page) { - dev_err(q->dev, "mmap: virt_to_page failed\n"); - __videobuf_dc_free(q->dev, mem); - goto error; - } - retval = vm_insert_page(vma, start, page); + retval = remap_pfn_range(vma, vma->vm_start, + mem->dma_handle >> PAGE_SHIFT, + size, vma->vm_page_prot); if (retval) { - dev_err(q->dev, "mmap: insert failed with error %d\n", - retval); - __videobuf_dc_free(q->dev, mem); + dev_err(q->dev, "mmap: remap failed with error %d. ", + retval); + dma_free_coherent(q->dev, mem->size, + mem->vaddr, mem->dma_handle); goto error; } - start += PAGE_SIZE; - pos += PAGE_SIZE; + } else { + pos = (unsigned long)mem->vaddr; - if (size > PAGE_SIZE) - size -= PAGE_SIZE; - else - size = 0; + while (size > 0) { + page = virt_to_page((void *)pos); + if (NULL == page) { + dev_err(q->dev, "mmap: virt_to_page failed\n"); + __videobuf_dc_free(q->dev, mem); + goto error; + } + retval = vm_insert_page(vma, start, page); + if (retval) { + dev_err(q->dev, "mmap: insert failed with error %d\n", + retval); + __videobuf_dc_free(q->dev, mem); + goto error; + } + start += PAGE_SIZE; + pos += PAGE_SIZE; + + if (size > PAGE_SIZE) + size -= PAGE_SIZE; + else + size = 0; + } } vma->vm_ops = &videobuf_vm_ops; --- linux-lowlatency-3.5.0.orig/drivers/media/video/au0828/au0828-video.c +++ linux-lowlatency-3.5.0/drivers/media/video/au0828/au0828-video.c @@ -1692,14 +1692,18 @@ (AUVI_INPUT(i).audio_setup)(dev, 0); } - videobuf_streamoff(&fh->vb_vidq); - res_free(fh, AU0828_RESOURCE_VIDEO); + if (res_check(fh, AU0828_RESOURCE_VIDEO)) { + videobuf_streamoff(&fh->vb_vidq); + res_free(fh, AU0828_RESOURCE_VIDEO); + } } else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) { dev->vbi_timeout_running = 0; del_timer_sync(&dev->vbi_timeout); - videobuf_streamoff(&fh->vb_vbiq); - res_free(fh, AU0828_RESOURCE_VBI); + if (res_check(fh, AU0828_RESOURCE_VBI)) { + videobuf_streamoff(&fh->vb_vbiq); + res_free(fh, AU0828_RESOURCE_VBI); + } } return 0; --- linux-lowlatency-3.5.0.orig/drivers/media/video/cpia2/cpia2_core.c +++ linux-lowlatency-3.5.0/drivers/media/video/cpia2/cpia2_core.c @@ -31,11 +31,15 @@ #include "cpia2.h" +#include #include #include #include #include +#define FIRMWARE "cpia2/stv0672_vp4.bin" +MODULE_FIRMWARE(FIRMWARE); + /* #define _CPIA2_DEBUG_ */ #ifdef _CPIA2_DEBUG_ @@ -898,7 +902,7 @@ static int apply_vp_patch(struct camera_data *cam) { const struct firmware *fw; - const char fw_name[] = "cpia2/stv0672_vp4.bin"; + const char fw_name[] = FIRMWARE; int i, ret; struct cpia2_command cmd; --- linux-lowlatency-3.5.0.orig/drivers/media/video/cx18/cx18-av-firmware.c +++ linux-lowlatency-3.5.0/drivers/media/video/cx18/cx18-av-firmware.c @@ -221,3 +221,5 @@ release_firmware(fw); return 0; } + +MODULE_FIRMWARE(FWFILE); --- linux-lowlatency-3.5.0.orig/drivers/media/video/cx18/cx18-driver.c +++ linux-lowlatency-3.5.0/drivers/media/video/cx18/cx18-driver.c @@ -1357,3 +1357,4 @@ module_init(module_start); module_exit(module_cleanup); +MODULE_FIRMWARE(XC2028_DEFAULT_FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/media/video/cx18/cx18-firmware.c +++ linux-lowlatency-3.5.0/drivers/media/video/cx18/cx18-firmware.c @@ -376,6 +376,9 @@ cx18_write_reg(cx, 0x00000101, CX18_WMB_CLIENT14); /* AVO */ } +#define CX18_CPU_FIRMWARE "v4l-cx23418-cpu.fw" +#define CX18_APU_FIRMWARE "v4l-cx23418-apu.fw" + int cx18_firmware_init(struct cx18 *cx) { u32 fw_entry_addr; @@ -400,7 +403,7 @@ cx18_sw1_irq_enable(cx, IRQ_CPU_TO_EPU | IRQ_APU_TO_EPU); cx18_sw2_irq_enable(cx, IRQ_CPU_TO_EPU_ACK | IRQ_APU_TO_EPU_ACK); - sz = load_cpu_fw_direct("v4l-cx23418-cpu.fw", cx->enc_mem, cx); + sz = load_cpu_fw_direct(CX18_CPU_FIRMWARE, cx->enc_mem, cx); if (sz <= 0) return sz; @@ -408,7 +411,7 @@ cx18_init_scb(cx); fw_entry_addr = 0; - sz = load_apu_fw_direct("v4l-cx23418-apu.fw", cx->enc_mem, cx, + sz = load_apu_fw_direct(CX18_APU_FIRMWARE, cx->enc_mem, cx, &fw_entry_addr); if (sz <= 0) return sz; @@ -451,3 +454,6 @@ cx18_write_reg_expect(cx, 0x14001400, 0xc78110, 0x00001400, 0x14001400); return 0; } + +MODULE_FIRMWARE(CX18_CPU_FIRMWARE); +MODULE_FIRMWARE(CX18_APU_FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/media/video/cx231xx/cx231xx-417.c +++ linux-lowlatency-3.5.0/drivers/media/video/cx231xx/cx231xx-417.c @@ -2193,3 +2193,5 @@ return 0; } + +MODULE_FIRMWARE(CX231xx_FIRM_IMAGE_NAME); --- linux-lowlatency-3.5.0.orig/drivers/media/video/cx23885/cx23885-417.c +++ linux-lowlatency-3.5.0/drivers/media/video/cx23885/cx23885-417.c @@ -1786,3 +1786,5 @@ return 0; } + +MODULE_FIRMWARE(CX23885_FIRM_IMAGE_NAME); --- linux-lowlatency-3.5.0.orig/drivers/media/video/cx25840/cx25840-firmware.c +++ linux-lowlatency-3.5.0/drivers/media/video/cx25840/cx25840-firmware.c @@ -61,6 +61,10 @@ cx25840_write(client, 0x803, 0x03); } +#define CX2388x_FIRMWARE "v4l-cx23885-avcore-01.fw" +#define CX231xx_FIRMWARE "v4l-cx231xx-avcore-01.fw" +#define CX25840_FIRMWARE "v4l-cx25840.fw" + static const char *get_fw_name(struct i2c_client *client) { struct cx25840_state *state = to_state(i2c_get_clientdata(client)); @@ -68,10 +72,10 @@ if (firmware[0]) return firmware; if (is_cx2388x(state)) - return "v4l-cx23885-avcore-01.fw"; + return CX2388x_FIRMWARE; if (is_cx231xx(state)) - return "v4l-cx231xx-avcore-01.fw"; - return "v4l-cx25840.fw"; + return CX231xx_FIRMWARE; + return CX25840_FIRMWARE; } static int check_fw_load(struct i2c_client *client, int size) @@ -164,3 +168,8 @@ return check_fw_load(client, size); } + +MODULE_FIRMWARE(CX2388x_FIRMWARE); +MODULE_FIRMWARE(CX231xx_FIRMWARE); +MODULE_FIRMWARE(CX25840_FIRMWARE); + --- linux-lowlatency-3.5.0.orig/drivers/media/video/em28xx/em28xx-cards.c +++ linux-lowlatency-3.5.0/drivers/media/video/em28xx/em28xx-cards.c @@ -2880,12 +2880,20 @@ } -#if defined(CONFIG_MODULES) && defined(MODULE) static void request_module_async(struct work_struct *work) { struct em28xx *dev = container_of(work, struct em28xx, request_module_wk); + /* + * The em28xx extensions can be modules or builtin. If the + * modules are already loaded or are built in, those extensions + * can be initialised right now. Otherwise, the module init + * code will do it. + */ + em28xx_init_extension(dev); + +#if defined(CONFIG_MODULES) && defined(MODULE) if (dev->has_audio_class) request_module("snd-usb-audio"); else if (dev->has_alsa_audio) @@ -2895,6 +2903,7 @@ request_module("em28xx-dvb"); if (dev->board.ir_codes && !disable_ir) request_module("em28xx-rc"); +#endif /* CONFIG_MODULES */ } static void request_modules(struct em28xx *dev) @@ -2907,10 +2916,6 @@ { flush_work_sync(&dev->request_module_wk); } -#else -#define request_modules(dev) -#define flush_request_modules(dev) -#endif /* CONFIG_MODULES */ /* * em28xx_release_resources() @@ -3329,13 +3334,6 @@ */ mutex_unlock(&dev->lock); - /* - * These extensions can be modules. If the modules are already - * loaded then we can initialise the device now, otherwise we - * will initialise it when the modules load instead. - */ - em28xx_init_extension(dev); - return 0; unlock_and_free: --- linux-lowlatency-3.5.0.orig/drivers/media/video/gspca/jl2005bcd.c +++ linux-lowlatency-3.5.0/drivers/media/video/gspca/jl2005bcd.c @@ -514,7 +514,7 @@ }; /* -- module initialisation -- */ -static const __devinitdata struct usb_device_id device_table[] = { +static const struct usb_device_id device_table[] = { {USB_DEVICE(0x0979, 0x0227)}, {} }; --- linux-lowlatency-3.5.0.orig/drivers/media/video/gspca/pac7302.c +++ linux-lowlatency-3.5.0/drivers/media/video/gspca/pac7302.c @@ -978,6 +978,7 @@ {USB_DEVICE(0x093a, 0x262a)}, {USB_DEVICE(0x093a, 0x262c)}, {USB_DEVICE(0x145f, 0x013c)}, + {USB_DEVICE(0x1ae7, 0x2001)}, /* SpeedLink Snappy Mic SL-6825-SBK */ {} }; MODULE_DEVICE_TABLE(usb, device_table); --- linux-lowlatency-3.5.0.orig/drivers/media/video/gspca/spca506.c +++ linux-lowlatency-3.5.0/drivers/media/video/gspca/spca506.c @@ -685,7 +685,7 @@ }; /* -- module initialisation -- */ -static const struct usb_device_id device_table[] __devinitconst = { +static const struct usb_device_id device_table[] = { {USB_DEVICE(0x06e1, 0xa190)}, /*fixme: may be IntelPCCameraPro BRIDGE_SPCA505 {USB_DEVICE(0x0733, 0x0430)}, */ --- linux-lowlatency-3.5.0.orig/drivers/media/video/ivtv/ivtv-firmware.c +++ linux-lowlatency-3.5.0/drivers/media/video/ivtv/ivtv-firmware.c @@ -396,3 +396,7 @@ return res; } + +MODULE_FIRMWARE(CX2341X_FIRM_ENC_FILENAME); +MODULE_FIRMWARE(CX2341X_FIRM_DEC_FILENAME); +MODULE_FIRMWARE(IVTV_DECODE_INIT_MPEG_FILENAME); --- linux-lowlatency-3.5.0.orig/drivers/media/video/m5mols/m5mols_controls.c +++ linux-lowlatency-3.5.0/drivers/media/video/m5mols/m5mols_controls.c @@ -527,8 +527,8 @@ /* Supported manual ISO values */ static const s64 iso_qmenu[] = { - /* AE_ISO: 0x01...0x07 */ - 50, 100, 200, 400, 800, 1600, 3200 + /* AE_ISO: 0x01...0x07 (ISO: 50...3200) */ + 50000, 100000, 200000, 400000, 800000, 1600000, 3200000 }; /* Supported Exposure Bias values, -2.0EV...+2.0EV */ --- linux-lowlatency-3.5.0.orig/drivers/media/video/pvrusb2/pvrusb2-devattr.c +++ linux-lowlatency-3.5.0/drivers/media/video/pvrusb2/pvrusb2-devattr.c @@ -54,8 +54,9 @@ { .module_id = PVR2_CLIENT_ID_DEMOD }, }; +#define PVR2_FIRMWARE_29xxx "v4l-pvrusb2-29xxx-01.fw" static const char *pvr2_fw1_names_29xxx[] = { - "v4l-pvrusb2-29xxx-01.fw", + PVR2_FIRMWARE_29xxx, }; static const struct pvr2_device_desc pvr2_device_29xxx = { @@ -87,8 +88,9 @@ { .module_id = PVR2_CLIENT_ID_DEMOD }, }; +#define PVR2_FIRMWARE_24xxx "v4l-pvrusb2-24xxx-01.fw" static const char *pvr2_fw1_names_24xxx[] = { - "v4l-pvrusb2-24xxx-01.fw", + PVR2_FIRMWARE_24xxx, }; static const struct pvr2_device_desc pvr2_device_24xxx = { @@ -369,8 +371,9 @@ .i2c_address_list = "\x42"}, }; +#define PVR2_FIRMWARE_73xxx "v4l-pvrusb2-73xxx-01.fw" static const char *pvr2_fw1_names_73xxx[] = { - "v4l-pvrusb2-73xxx-01.fw", + PVR2_FIRMWARE_73xxx, }; static const struct pvr2_device_desc pvr2_device_73xxx = { @@ -475,8 +478,9 @@ }; #endif +#define PVR2_FIRMWARE_75xxx "v4l-pvrusb2-73xxx-01.fw" static const char *pvr2_fw1_names_75xxx[] = { - "v4l-pvrusb2-73xxx-01.fw", + PVR2_FIRMWARE_75xxx, }; static const struct pvr2_device_desc pvr2_device_750xx = { @@ -556,7 +560,10 @@ }; MODULE_DEVICE_TABLE(usb, pvr2_device_table); - +MODULE_FIRMWARE(PVR2_FIRMWARE_29xxx); +MODULE_FIRMWARE(PVR2_FIRMWARE_24xxx); +MODULE_FIRMWARE(PVR2_FIRMWARE_73xxx); +MODULE_FIRMWARE(PVR2_FIRMWARE_75xxx); /* Stuff for Emacs to see, in order to encourage consistent editing style: --- linux-lowlatency-3.5.0.orig/drivers/media/video/s5p-fimc/fimc-lite.c +++ linux-lowlatency-3.5.0/drivers/media/video/s5p-fimc/fimc-lite.c @@ -487,8 +487,7 @@ struct fimc_lite *fimc = video_drvdata(file); int ret; - if (mutex_lock_interruptible(&fimc->lock)) - return -ERESTARTSYS; + mutex_lock(&fimc->lock); if (--fimc->ref_count == 0 && fimc->out_path == FIMC_IO_DMA) { clear_bit(ST_FLITE_IN_USE, &fimc->state); --- linux-lowlatency-3.5.0.orig/drivers/media/video/tlg2300/pd-main.c +++ linux-lowlatency-3.5.0/drivers/media/video/tlg2300/pd-main.c @@ -53,7 +53,8 @@ module_param(debug_mode, int, 0644); MODULE_PARM_DESC(debug_mode, "0 = disable, 1 = enable, 2 = verbose"); -static const char *firmware_name = "tlg2300_firmware.bin"; +#define TLG2300_FIRMWARE "tlg2300_firmware.bin" +static const char *firmware_name = TLG2300_FIRMWARE; static struct usb_driver poseidon_driver; static LIST_HEAD(pd_device_list); @@ -532,3 +533,4 @@ MODULE_DESCRIPTION("For tlg2300-based USB device "); MODULE_LICENSE("GPL"); MODULE_VERSION("0.0.2"); +MODULE_FIRMWARE(TLG2300_FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/media/video/uvc/uvc_queue.c +++ linux-lowlatency-3.5.0/drivers/media/video/uvc/uvc_queue.c @@ -338,6 +338,7 @@ if ((queue->flags & UVC_QUEUE_DROP_CORRUPTED) && buf->error) { buf->error = 0; buf->state = UVC_BUF_STATE_QUEUED; + buf->bytesused = 0; vb2_set_plane_payload(&buf->buf, 0, 0); return buf; } --- linux-lowlatency-3.5.0.orig/drivers/media/video/uvc/uvc_video.c +++ linux-lowlatency-3.5.0/drivers/media/video/uvc/uvc_video.c @@ -1188,7 +1188,11 @@ u8 *mem; int len, ret; - if (urb->actual_length == 0) + /* + * Ignore ZLPs if they're not part of a frame, otherwise process them + * to trigger the end of payload detection. + */ + if (urb->actual_length == 0 && stream->bulk.header_size == 0) return; mem = urb->transfer_buffer; @@ -1594,7 +1598,7 @@ psize = le16_to_cpu(ep->desc.wMaxPacketSize); psize = (psize & 0x07ff) * (1 + ((psize >> 11) & 3)); if (psize >= bandwidth && psize <= best_psize) { - altsetting = i; + altsetting = alts->desc.bAlternateSetting; best_psize = psize; best_ep = ep; } --- linux-lowlatency-3.5.0.orig/drivers/mfd/88pm860x-core.c +++ linux-lowlatency-3.5.0/drivers/mfd/88pm860x-core.c @@ -21,40 +21,73 @@ #define INT_STATUS_NUM 3 +static struct resource io_parent = { + .start = 0, + .end = 0xffffffff, + .flags = IORESOURCE_IO, +}; + static struct resource bk_resources[] __devinitdata = { - {PM8606_BACKLIGHT1, PM8606_BACKLIGHT1, "backlight-0", IORESOURCE_IO,}, - {PM8606_BACKLIGHT2, PM8606_BACKLIGHT2, "backlight-1", IORESOURCE_IO,}, - {PM8606_BACKLIGHT3, PM8606_BACKLIGHT3, "backlight-2", IORESOURCE_IO,}, + {PM8606_BACKLIGHT1, PM8606_BACKLIGHT1, "backlight-0", IORESOURCE_IO, + &io_parent,}, + {PM8606_BACKLIGHT2, PM8606_BACKLIGHT2, "backlight-1", IORESOURCE_IO, + &io_parent,}, + {PM8606_BACKLIGHT3, PM8606_BACKLIGHT3, "backlight-2", IORESOURCE_IO, + &io_parent,}, }; static struct resource led_resources[] __devinitdata = { - {PM8606_LED1_RED, PM8606_LED1_RED, "led0-red", IORESOURCE_IO,}, - {PM8606_LED1_GREEN, PM8606_LED1_GREEN, "led0-green", IORESOURCE_IO,}, - {PM8606_LED1_BLUE, PM8606_LED1_BLUE, "led0-blue", IORESOURCE_IO,}, - {PM8606_LED2_RED, PM8606_LED2_RED, "led1-red", IORESOURCE_IO,}, - {PM8606_LED2_GREEN, PM8606_LED2_GREEN, "led1-green", IORESOURCE_IO,}, - {PM8606_LED2_BLUE, PM8606_LED2_BLUE, "led1-blue", IORESOURCE_IO,}, + {PM8606_LED1_RED, PM8606_LED1_RED, "led0-red", IORESOURCE_IO, + &io_parent,}, + {PM8606_LED1_GREEN, PM8606_LED1_GREEN, "led0-green", IORESOURCE_IO, + &io_parent,}, + {PM8606_LED1_BLUE, PM8606_LED1_BLUE, "led0-blue", IORESOURCE_IO, + &io_parent,}, + {PM8606_LED2_RED, PM8606_LED2_RED, "led1-red", IORESOURCE_IO, + &io_parent,}, + {PM8606_LED2_GREEN, PM8606_LED2_GREEN, "led1-green", IORESOURCE_IO, + &io_parent,}, + {PM8606_LED2_BLUE, PM8606_LED2_BLUE, "led1-blue", IORESOURCE_IO, + &io_parent,}, }; static struct resource regulator_resources[] __devinitdata = { - {PM8607_ID_BUCK1, PM8607_ID_BUCK1, "buck-1", IORESOURCE_IO,}, - {PM8607_ID_BUCK2, PM8607_ID_BUCK2, "buck-2", IORESOURCE_IO,}, - {PM8607_ID_BUCK3, PM8607_ID_BUCK3, "buck-3", IORESOURCE_IO,}, - {PM8607_ID_LDO1, PM8607_ID_LDO1, "ldo-01", IORESOURCE_IO,}, - {PM8607_ID_LDO2, PM8607_ID_LDO2, "ldo-02", IORESOURCE_IO,}, - {PM8607_ID_LDO3, PM8607_ID_LDO3, "ldo-03", IORESOURCE_IO,}, - {PM8607_ID_LDO4, PM8607_ID_LDO4, "ldo-04", IORESOURCE_IO,}, - {PM8607_ID_LDO5, PM8607_ID_LDO5, "ldo-05", IORESOURCE_IO,}, - {PM8607_ID_LDO6, PM8607_ID_LDO6, "ldo-06", IORESOURCE_IO,}, - {PM8607_ID_LDO7, PM8607_ID_LDO7, "ldo-07", IORESOURCE_IO,}, - {PM8607_ID_LDO8, PM8607_ID_LDO8, "ldo-08", IORESOURCE_IO,}, - {PM8607_ID_LDO9, PM8607_ID_LDO9, "ldo-09", IORESOURCE_IO,}, - {PM8607_ID_LDO10, PM8607_ID_LDO10, "ldo-10", IORESOURCE_IO,}, - {PM8607_ID_LDO11, PM8607_ID_LDO11, "ldo-11", IORESOURCE_IO,}, - {PM8607_ID_LDO12, PM8607_ID_LDO12, "ldo-12", IORESOURCE_IO,}, - {PM8607_ID_LDO13, PM8607_ID_LDO13, "ldo-13", IORESOURCE_IO,}, - {PM8607_ID_LDO14, PM8607_ID_LDO14, "ldo-14", IORESOURCE_IO,}, - {PM8607_ID_LDO15, PM8607_ID_LDO15, "ldo-15", IORESOURCE_IO,}, + {PM8607_ID_BUCK1, PM8607_ID_BUCK1, "buck-1", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_BUCK2, PM8607_ID_BUCK2, "buck-2", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_BUCK3, PM8607_ID_BUCK3, "buck-3", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO1, PM8607_ID_LDO1, "ldo-01", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO2, PM8607_ID_LDO2, "ldo-02", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO3, PM8607_ID_LDO3, "ldo-03", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO4, PM8607_ID_LDO4, "ldo-04", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO5, PM8607_ID_LDO5, "ldo-05", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO6, PM8607_ID_LDO6, "ldo-06", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO7, PM8607_ID_LDO7, "ldo-07", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO8, PM8607_ID_LDO8, "ldo-08", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO9, PM8607_ID_LDO9, "ldo-09", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO10, PM8607_ID_LDO10, "ldo-10", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO11, PM8607_ID_LDO11, "ldo-11", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO12, PM8607_ID_LDO12, "ldo-12", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO13, PM8607_ID_LDO13, "ldo-13", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO14, PM8607_ID_LDO14, "ldo-14", IORESOURCE_IO, + &io_parent,}, + {PM8607_ID_LDO15, PM8607_ID_LDO15, "ldo-15", IORESOURCE_IO, + &io_parent,}, }; static struct resource touch_resources[] __devinitdata = { @@ -91,7 +124,7 @@ }; static struct resource rtc_resources[] __devinitdata = { - {PM8607_IRQ_RTC, PM8607_IRQ_RTC, "rtc", IORESOURCE_IRQ,}, + {PM8607_IRQ_RTC, PM8607_IRQ_RTC, "rtc", IORESOURCE_IRQ, &io_parent,}, }; static struct mfd_cell bk_devs[] = { --- linux-lowlatency-3.5.0.orig/drivers/mfd/ab3100-core.c +++ linux-lowlatency-3.5.0/drivers/mfd/ab3100-core.c @@ -409,8 +409,6 @@ u32 fatevent; int err; - add_interrupt_randomness(irq); - err = ab3100_get_register_page_interruptible(ab3100, AB3100_EVENTA1, event_regs, 3); if (err) @@ -933,9 +931,6 @@ err = request_threaded_irq(client->irq, NULL, ab3100_irq_handler, IRQF_ONESHOT, "ab3100-core", ab3100); - /* This real unpredictable IRQ is of course sampled for entropy */ - rand_initialize_irq(client->irq); - if (err) goto exit_no_irq; --- linux-lowlatency-3.5.0.orig/drivers/mfd/ezx-pcap.c +++ linux-lowlatency-3.5.0/drivers/mfd/ezx-pcap.c @@ -202,7 +202,7 @@ } local_irq_enable(); ezx_pcap_write(pcap, PCAP_REG_MSR, pcap->msr); - } while (gpio_get_value(irq_to_gpio(pcap->spi->irq))); + } while (gpio_get_value(pdata->gpio)); } static void pcap_irq_handler(unsigned int irq, struct irq_desc *desc) --- linux-lowlatency-3.5.0.orig/drivers/mfd/max8925-core.c +++ linux-lowlatency-3.5.0/drivers/mfd/max8925-core.c @@ -18,12 +18,19 @@ #include #include +static struct resource io_parent = { + .start = 0, + .end = 0xffffffff, + .flags = IORESOURCE_IO, +}; + static struct resource backlight_resources[] = { { .name = "max8925-backlight", .start = MAX8925_WLED_MODE_CNTL, .end = MAX8925_WLED_CNTL, .flags = IORESOURCE_IO, + .parent = &io_parent, }, }; @@ -42,6 +49,7 @@ .start = MAX8925_TSC_IRQ, .end = MAX8925_ADC_RES_END, .flags = IORESOURCE_IO, + .parent = &io_parent, }, }; @@ -60,6 +68,7 @@ .start = MAX8925_CHG_IRQ1, .end = MAX8925_CHG_IRQ1_MASK, .flags = IORESOURCE_IO, + .parent = &io_parent, }, }; @@ -118,6 +127,7 @@ .start = MAX8925_##_start, \ .end = MAX8925_##_end, \ .flags = IORESOURCE_IO, \ + .parent = &io_parent, \ } static struct resource regulator_resources[] = { --- linux-lowlatency-3.5.0.orig/drivers/mfd/wm831x-otp.c +++ linux-lowlatency-3.5.0/drivers/mfd/wm831x-otp.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -66,6 +67,7 @@ int wm831x_otp_init(struct wm831x *wm831x) { + char uuid[WM831X_UNIQUE_ID_LEN]; int ret; ret = device_create_file(wm831x->dev, &dev_attr_unique_id); @@ -73,6 +75,12 @@ dev_err(wm831x->dev, "Unique ID attribute not created: %d\n", ret); + ret = wm831x_unique_id_read(wm831x, uuid); + if (ret == 0) + add_device_randomness(uuid, sizeof(uuid)); + else + dev_err(wm831x->dev, "Failed to read UUID: %d\n", ret); + return ret; } --- linux-lowlatency-3.5.0.orig/drivers/misc/hpilo.c +++ linux-lowlatency-3.5.0/drivers/misc/hpilo.c @@ -735,7 +735,14 @@ free_irq(pdev->irq, ilo_hw); ilo_unmap_device(pdev, ilo_hw); pci_release_regions(pdev); - pci_disable_device(pdev); + /* + * pci_disable_device(pdev) used to be here. But this PCI device has + * two functions with interrupt lines connected to a single pin. The + * other one is a USB host controller. So when we disable the PIN here + * e.g. by rmmod hpilo, the controller stops working. It is because + * the interrupt link is disabled in ACPI since it is not refcounted + * yet. See acpi_pci_link_free_irq called from acpi_pci_irq_disable. + */ kfree(ilo_hw); ilo_hwdev[(minor / MAX_CCB)] = 0; } @@ -820,7 +827,7 @@ free_regions: pci_release_regions(pdev); disable: - pci_disable_device(pdev); +/* pci_disable_device(pdev); see comment in ilo_remove */ free: kfree(ilo_hw); out: --- linux-lowlatency-3.5.0.orig/drivers/misc/sgi-xp/xpc_uv.c +++ linux-lowlatency-3.5.0/drivers/misc/sgi-xp/xpc_uv.c @@ -18,6 +18,8 @@ #include #include #include +#include +#include #include #include #include @@ -59,6 +61,8 @@ XPC_NOTIFY_MSG_SIZE_UV) #define XPC_NOTIFY_IRQ_NAME "xpc_notify" +static int xpc_mq_node = -1; + static struct xpc_gru_mq_uv *xpc_activate_mq_uv; static struct xpc_gru_mq_uv *xpc_notify_mq_uv; @@ -109,11 +113,8 @@ #if defined CONFIG_X86_64 mq->irq = uv_setup_irq(irq_name, cpu, mq->mmr_blade, mq->mmr_offset, UV_AFFINITY_CPU); - if (mq->irq < 0) { - dev_err(xpc_part, "uv_setup_irq() returned error=%d\n", - -mq->irq); + if (mq->irq < 0) return mq->irq; - } mq->mmr_value = uv_read_global_mmr64(mmr_pnode, mq->mmr_offset); @@ -238,8 +239,9 @@ mq->mmr_blade = uv_cpu_to_blade_id(cpu); nid = cpu_to_node(cpu); - page = alloc_pages_exact_node(nid, GFP_KERNEL | __GFP_ZERO | GFP_THISNODE, - pg_order); + page = alloc_pages_exact_node(nid, + GFP_KERNEL | __GFP_ZERO | GFP_THISNODE, + pg_order); if (page == NULL) { dev_err(xpc_part, "xpc_create_gru_mq_uv() failed to alloc %d " "bytes of memory on nid=%d for GRU mq\n", mq_size, nid); @@ -1731,9 +1733,50 @@ .notify_senders_of_disconnect = xpc_notify_senders_of_disconnect_uv, }; +static int +xpc_init_mq_node(int nid) +{ + int cpu; + + get_online_cpus(); + + for_each_cpu(cpu, cpumask_of_node(nid)) { + xpc_activate_mq_uv = + xpc_create_gru_mq_uv(XPC_ACTIVATE_MQ_SIZE_UV, nid, + XPC_ACTIVATE_IRQ_NAME, + xpc_handle_activate_IRQ_uv); + if (!IS_ERR(xpc_activate_mq_uv)) + break; + } + if (IS_ERR(xpc_activate_mq_uv)) { + put_online_cpus(); + return PTR_ERR(xpc_activate_mq_uv); + } + + for_each_cpu(cpu, cpumask_of_node(nid)) { + xpc_notify_mq_uv = + xpc_create_gru_mq_uv(XPC_NOTIFY_MQ_SIZE_UV, nid, + XPC_NOTIFY_IRQ_NAME, + xpc_handle_notify_IRQ_uv); + if (!IS_ERR(xpc_notify_mq_uv)) + break; + } + if (IS_ERR(xpc_notify_mq_uv)) { + xpc_destroy_gru_mq_uv(xpc_activate_mq_uv); + put_online_cpus(); + return PTR_ERR(xpc_notify_mq_uv); + } + + put_online_cpus(); + return 0; +} + int xpc_init_uv(void) { + int nid; + int ret = 0; + xpc_arch_ops = xpc_arch_ops_uv; if (sizeof(struct xpc_notify_mq_msghdr_uv) > XPC_MSG_HDR_MAX_SIZE) { @@ -1742,21 +1785,21 @@ return -E2BIG; } - xpc_activate_mq_uv = xpc_create_gru_mq_uv(XPC_ACTIVATE_MQ_SIZE_UV, 0, - XPC_ACTIVATE_IRQ_NAME, - xpc_handle_activate_IRQ_uv); - if (IS_ERR(xpc_activate_mq_uv)) - return PTR_ERR(xpc_activate_mq_uv); + if (xpc_mq_node < 0) + for_each_online_node(nid) { + ret = xpc_init_mq_node(nid); - xpc_notify_mq_uv = xpc_create_gru_mq_uv(XPC_NOTIFY_MQ_SIZE_UV, 0, - XPC_NOTIFY_IRQ_NAME, - xpc_handle_notify_IRQ_uv); - if (IS_ERR(xpc_notify_mq_uv)) { - xpc_destroy_gru_mq_uv(xpc_activate_mq_uv); - return PTR_ERR(xpc_notify_mq_uv); - } + if (!ret) + break; + } + else + ret = xpc_init_mq_node(xpc_mq_node); - return 0; + if (ret < 0) + dev_err(xpc_part, "xpc_init_mq_node() returned error=%d\n", + -ret); + + return ret; } void @@ -1765,3 +1808,6 @@ xpc_destroy_gru_mq_uv(xpc_notify_mq_uv); xpc_destroy_gru_mq_uv(xpc_activate_mq_uv); } + +module_param(xpc_mq_node, int, 0); +MODULE_PARM_DESC(xpc_mq_node, "Node number on which to allocate message queues."); --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/init.c +++ linux-lowlatency-3.5.0/drivers/misc/mei/init.c @@ -162,6 +162,9 @@ if ((dev->host_hw_state & H_IS) == H_IS) mei_reg_write(dev, H_CSR, dev->host_hw_state); + /* Doesn't change in runtime */ + dev->hbuf_depth = (dev->host_hw_state & H_CBD) >> 24; + dev->recvd_msg = false; dev_dbg(&dev->pdev->dev, "reset in start the mei device.\n"); @@ -303,7 +306,6 @@ dev->iamthif_cl.host_client_id); mei_reset_iamthif_params(dev); - dev->wd_due_counter = 0; dev->extra_write_index = 0; } --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/interface.c +++ linux-lowlatency-3.5.0/drivers/misc/mei/interface.c @@ -58,16 +58,18 @@ } /** - * _host_get_filled_slots - gets number of device filled buffer slots + * mei_hbuf_filled_slots - gets number of device filled buffer slots * * @device: the device structure * * returns number of filled slots */ -static unsigned char _host_get_filled_slots(const struct mei_device *dev) +static unsigned char mei_hbuf_filled_slots(struct mei_device *dev) { char read_ptr, write_ptr; + dev->host_hw_state = mei_hcsr_read(dev); + read_ptr = (char) ((dev->host_hw_state & H_CBRP) >> 8); write_ptr = (char) ((dev->host_hw_state & H_CBWP) >> 16); @@ -75,43 +77,33 @@ } /** - * mei_host_buffer_is_empty - checks if host buffer is empty. + * mei_hbuf_is_empty - checks if host buffer is empty. * * @dev: the device structure * - * returns 1 if empty, 0 - otherwise. + * returns true if empty, false - otherwise. */ -int mei_host_buffer_is_empty(struct mei_device *dev) +bool mei_hbuf_is_empty(struct mei_device *dev) { - unsigned char filled_slots; - - dev->host_hw_state = mei_hcsr_read(dev); - filled_slots = _host_get_filled_slots(dev); - - if (filled_slots == 0) - return 1; - - return 0; + return mei_hbuf_filled_slots(dev) == 0; } /** - * mei_count_empty_write_slots - counts write empty slots. + * mei_hbuf_empty_slots - counts write empty slots. * * @dev: the device structure * * returns -1(ESLOTS_OVERFLOW) if overflow, otherwise empty slots count */ -int mei_count_empty_write_slots(struct mei_device *dev) +int mei_hbuf_empty_slots(struct mei_device *dev) { - unsigned char buffer_depth, filled_slots, empty_slots; + unsigned char filled_slots, empty_slots; - dev->host_hw_state = mei_hcsr_read(dev); - buffer_depth = (unsigned char) ((dev->host_hw_state & H_CBD) >> 24); - filled_slots = _host_get_filled_slots(dev); - empty_slots = buffer_depth - filled_slots; + filled_slots = mei_hbuf_filled_slots(dev); + empty_slots = dev->hbuf_depth - filled_slots; /* check for overflow */ - if (filled_slots > buffer_depth) + if (filled_slots > dev->hbuf_depth) return -EOVERFLOW; return empty_slots; @@ -127,52 +119,39 @@ * * This function returns -EIO if write has failed */ -int mei_write_message(struct mei_device *dev, - struct mei_msg_hdr *header, - unsigned char *write_buffer, - unsigned long write_length) -{ - u32 temp_msg = 0; - unsigned long bytes_written = 0; - unsigned char buffer_depth, filled_slots, empty_slots; - unsigned long dw_to_write; - - dev->host_hw_state = mei_hcsr_read(dev); +int mei_write_message(struct mei_device *dev, struct mei_msg_hdr *header, + unsigned char *buf, unsigned long length) +{ + unsigned long rem, dw_cnt; + u32 *reg_buf = (u32 *)buf; + int i; + int empty_slots; - dev_dbg(&dev->pdev->dev, - "host_hw_state = 0x%08x.\n", - dev->host_hw_state); dev_dbg(&dev->pdev->dev, "mei_write_message header=%08x.\n", *((u32 *) header)); - buffer_depth = (unsigned char) ((dev->host_hw_state & H_CBD) >> 24); - filled_slots = _host_get_filled_slots(dev); - empty_slots = buffer_depth - filled_slots; - dev_dbg(&dev->pdev->dev, - "filled = %hu, empty = %hu.\n", - filled_slots, empty_slots); - - dw_to_write = ((write_length + 3) / 4); + empty_slots = mei_hbuf_empty_slots(dev); + dev_dbg(&dev->pdev->dev, "empty slots = %hu.\n", empty_slots); - if (dw_to_write > empty_slots) + dw_cnt = mei_data2slots(length); + if (empty_slots < 0 || dw_cnt > empty_slots) return -EIO; mei_reg_write(dev, H_CB_WW, *((u32 *) header)); - while (write_length >= 4) { - mei_reg_write(dev, H_CB_WW, - *(u32 *) (write_buffer + bytes_written)); - bytes_written += 4; - write_length -= 4; - } + for (i = 0; i < length / 4; i++) + mei_reg_write(dev, H_CB_WW, reg_buf[i]); - if (write_length > 0) { - memcpy(&temp_msg, &write_buffer[bytes_written], write_length); - mei_reg_write(dev, H_CB_WW, temp_msg); + rem = length & 0x3; + if (rem > 0) { + u32 reg = 0; + memcpy(®, &buf[length - rem], rem); + mei_reg_write(dev, H_CB_WW, reg); } + dev->host_hw_state = mei_hcsr_read(dev); dev->host_hw_state |= H_IG; mei_hcsr_set(dev); dev->me_hw_state = mei_mecsr_read(dev); --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/interface.h +++ linux-lowlatency-3.5.0/drivers/misc/mei/interface.h @@ -41,14 +41,28 @@ unsigned char *write_buffer, unsigned long write_length); -int mei_host_buffer_is_empty(struct mei_device *dev); +bool mei_hbuf_is_empty(struct mei_device *dev); + +int mei_hbuf_empty_slots(struct mei_device *dev); + +static inline size_t mei_hbuf_max_data(const struct mei_device *dev) +{ + return dev->hbuf_depth * sizeof(u32) - sizeof(struct mei_msg_hdr); +} + +/* get slots (dwords) from a message length + header (bytes) */ +static inline unsigned char mei_data2slots(size_t length) +{ + return DIV_ROUND_UP(sizeof(struct mei_msg_hdr) + length, 4); +} int mei_count_full_read_slots(struct mei_device *dev); -int mei_count_empty_write_slots(struct mei_device *dev); int mei_flow_ctrl_creds(struct mei_device *dev, struct mei_cl *cl); + + int mei_wd_send(struct mei_device *dev); int mei_wd_stop(struct mei_device *dev, bool preserve); int mei_wd_host_init(struct mei_device *dev); --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/interrupt.c +++ linux-lowlatency-3.5.0/drivers/misc/mei/interrupt.c @@ -267,8 +267,7 @@ + sizeof(struct hbm_flow_control))) { return -EMSGSIZE; } - *slots -= (sizeof(struct mei_msg_hdr) + - sizeof(struct hbm_flow_control) + 3) / 4; + *slots -= mei_data2slots(sizeof(struct hbm_flow_control)); if (mei_send_flow_control(dev, &dev->iamthif_cl)) { dev_dbg(&dev->pdev->dev, "iamthif flow control failed\n"); return -EIO; @@ -280,7 +279,7 @@ dev->iamthif_msg_buf_index = 0; dev->iamthif_msg_buf_size = 0; dev->iamthif_stall_timer = IAMTHIF_STALL_TIMER; - dev->mei_host_buffer_is_empty = mei_host_buffer_is_empty(dev); + dev->mei_host_buffer_is_empty = mei_hbuf_is_empty(dev); return 0; } @@ -300,28 +299,25 @@ struct mei_cl *cl, struct mei_io_list *cmpl_list) { - if ((*slots * sizeof(u32)) >= (sizeof(struct mei_msg_hdr) + - sizeof(struct hbm_client_disconnect_request))) { - *slots -= (sizeof(struct mei_msg_hdr) + - sizeof(struct hbm_client_disconnect_request) + 3) / 4; + if ((*slots * sizeof(u32)) < (sizeof(struct mei_msg_hdr) + + sizeof(struct hbm_client_disconnect_request))) + return -EBADMSG; - if (mei_disconnect(dev, cl)) { - cl->status = 0; - cb_pos->information = 0; - list_move_tail(&cb_pos->cb_list, - &cmpl_list->mei_cb.cb_list); - return -EMSGSIZE; - } else { - cl->state = MEI_FILE_DISCONNECTING; - cl->status = 0; - cb_pos->information = 0; - list_move_tail(&cb_pos->cb_list, - &dev->ctrl_rd_list.mei_cb.cb_list); - cl->timer_count = MEI_CONNECT_TIMEOUT; - } + *slots -= mei_data2slots(sizeof(struct hbm_client_disconnect_request)); + + if (mei_disconnect(dev, cl)) { + cl->status = 0; + cb_pos->information = 0; + list_move_tail(&cb_pos->cb_list, + &cmpl_list->mei_cb.cb_list); + return -EMSGSIZE; } else { - /* return the cancel routine */ - return -EBADMSG; + cl->state = MEI_FILE_DISCONNECTING; + cl->status = 0; + cb_pos->information = 0; + list_move_tail(&cb_pos->cb_list, + &dev->ctrl_rd_list.mei_cb.cb_list); + cl->timer_count = MEI_CONNECT_TIMEOUT; } return 0; @@ -575,10 +571,9 @@ disconnect_req->me_addr); cl_pos->state = MEI_FILE_DISCONNECTED; cl_pos->timer_count = 0; - if (cl_pos == &dev->wd_cl) { - dev->wd_due_counter = 0; + if (cl_pos == &dev->wd_cl) dev->wd_pending = false; - } else if (cl_pos == &dev->iamthif_cl) + else if (cl_pos == &dev->iamthif_cl) dev->iamthif_timer = 0; /* prepare disconnect response */ @@ -842,8 +837,8 @@ return -EBADMSG; } - *slots -= (sizeof(struct mei_msg_hdr) + - sizeof(struct hbm_flow_control) + 3) / 4; + *slots -= mei_data2slots(sizeof(struct hbm_flow_control)); + if (mei_send_flow_control(dev, cl)) { cl->status = -ENODEV; cb_pos->information = 0; @@ -872,27 +867,25 @@ struct mei_cl *cl, struct mei_io_list *cmpl_list) { - if ((*slots * sizeof(u32)) >= (sizeof(struct mei_msg_hdr) + + if ((*slots * sizeof(u32)) < (sizeof(struct mei_msg_hdr) + sizeof(struct hbm_client_connect_request))) { - cl->state = MEI_FILE_CONNECTING; - *slots -= (sizeof(struct mei_msg_hdr) + - sizeof(struct hbm_client_connect_request) + 3) / 4; - if (mei_connect(dev, cl)) { - cl->status = -ENODEV; - cb_pos->information = 0; - list_del(&cb_pos->cb_list); - return -ENODEV; - } else { - list_move_tail(&cb_pos->cb_list, - &dev->ctrl_rd_list.mei_cb.cb_list); - cl->timer_count = MEI_CONNECT_TIMEOUT; - } - } else { /* return the cancel routine */ list_del(&cb_pos->cb_list); return -EBADMSG; } + cl->state = MEI_FILE_CONNECTING; + *slots -= mei_data2slots(sizeof(struct hbm_client_connect_request)); + if (mei_connect(dev, cl)) { + cl->status = -ENODEV; + cb_pos->information = 0; + list_del(&cb_pos->cb_list); + return -ENODEV; + } else { + list_move_tail(&cb_pos->cb_list, + &dev->ctrl_rd_list.mei_cb.cb_list); + cl->timer_count = MEI_CONNECT_TIMEOUT; + } return 0; } @@ -932,8 +925,7 @@ cb_pos->information); dev_dbg(&dev->pdev->dev, "mei_hdr->length =%d\n", mei_hdr->length); - *slots -= (sizeof(struct mei_msg_hdr) + - mei_hdr->length + 3) / 4; + *slots -= mei_data2slots(mei_hdr->length); if (mei_write_message(dev, mei_hdr, (unsigned char *) (cb_pos->request_buffer.data + @@ -951,7 +943,7 @@ list_move_tail(&cb_pos->cb_list, &dev->write_waiting_list.mei_cb.cb_list); } - } else if (*slots == ((dev->host_hw_state & H_CBD) >> 24)) { + } else if (*slots == dev->hbuf_depth) { /* buffer is still empty */ mei_hdr = (struct mei_msg_hdr *) &dev->wr_msg_buf[0]; mei_hdr->host_addr = cl->host_client_id; @@ -960,9 +952,7 @@ (*slots * sizeof(u32)) - sizeof(struct mei_msg_hdr); mei_hdr->msg_complete = 0; mei_hdr->reserved = 0; - - (*slots) -= (sizeof(struct mei_msg_hdr) + - mei_hdr->length + 3) / 4; + *slots -= mei_data2slots(mei_hdr->length); if (mei_write_message(dev, mei_hdr, (unsigned char *) (cb_pos->request_buffer.data + @@ -1021,8 +1011,7 @@ mei_hdr->msg_complete = 1; mei_hdr->reserved = 0; - *slots -= (sizeof(struct mei_msg_hdr) + - mei_hdr->length + 3) / 4; + *slots -= mei_data2slots(mei_hdr->length); if (mei_write_message(dev, mei_hdr, (dev->iamthif_msg_buf + @@ -1046,8 +1035,8 @@ &dev->write_waiting_list.mei_cb.cb_list); } - } else if (*slots == ((dev->host_hw_state & H_CBD) >> 24)) { - /* buffer is still empty */ + } else if (*slots == dev->hbuf_depth) { + /* buffer is still empty */ mei_hdr = (struct mei_msg_hdr *) &dev->wr_msg_buf[0]; mei_hdr->host_addr = cl->host_client_id; mei_hdr->me_addr = cl->me_client_id; @@ -1056,8 +1045,7 @@ mei_hdr->msg_complete = 0; mei_hdr->reserved = 0; - *slots -= (sizeof(struct mei_msg_hdr) + - mei_hdr->length + 3) / 4; + *slots -= mei_data2slots(mei_hdr->length); if (mei_write_message(dev, mei_hdr, (dev->iamthif_msg_buf + @@ -1199,17 +1187,19 @@ struct mei_io_list *list; int ret; - if (!mei_host_buffer_is_empty(dev)) { + if (!mei_hbuf_is_empty(dev)) { dev_dbg(&dev->pdev->dev, "host buffer is not empty.\n"); return 0; } - *slots = mei_count_empty_write_slots(dev); + *slots = mei_hbuf_empty_slots(dev); + if (*slots <= 0) + return -EMSGSIZE; + /* complete all waiting for write CB */ dev_dbg(&dev->pdev->dev, "complete all waiting for write cb.\n"); list = &dev->write_waiting_list; - list_for_each_entry_safe(pos, next, - &list->mei_cb.cb_list, cb_list) { + list_for_each_entry_safe(pos, next, &list->mei_cb.cb_list, cb_list) { cl = (struct mei_cl *)pos->file_private; if (cl == NULL) continue; @@ -1219,17 +1209,15 @@ if (MEI_WRITING == cl->writing_state && (pos->major_file_operations == MEI_WRITE) && (cl != &dev->iamthif_cl)) { - dev_dbg(&dev->pdev->dev, - "MEI WRITE COMPLETE\n"); + dev_dbg(&dev->pdev->dev, "MEI WRITE COMPLETE\n"); cl->writing_state = MEI_WRITE_COMPLETE; list_add_tail(&pos->cb_list, - &cmpl_list->mei_cb.cb_list); + &cmpl_list->mei_cb.cb_list); } if (cl == &dev->iamthif_cl) { dev_dbg(&dev->pdev->dev, "check iamthif flow control.\n"); if (dev->iamthif_flow_control_pending) { - ret = _mei_irq_thread_iamthif_read( - dev, slots); + ret = _mei_irq_thread_iamthif_read(dev, slots); if (ret) return ret; } @@ -1254,25 +1242,18 @@ } if (dev->mei_state == MEI_ENABLED) { if (dev->wd_pending && - mei_flow_ctrl_creds(dev, &dev->wd_cl) > 0) { + mei_flow_ctrl_creds(dev, &dev->wd_cl) > 0) { if (mei_wd_send(dev)) dev_dbg(&dev->pdev->dev, "wd send failed.\n"); - else - if (mei_flow_ctrl_reduce(dev, &dev->wd_cl)) - return -ENODEV; + else if (mei_flow_ctrl_reduce(dev, &dev->wd_cl)) + return -ENODEV; dev->wd_pending = false; - if (dev->wd_timeout) { - *slots -= (sizeof(struct mei_msg_hdr) + - MEI_START_WD_DATA_SIZE + 3) / 4; - dev->wd_due_counter = 2; - } else { - *slots -= (sizeof(struct mei_msg_hdr) + - MEI_WD_PARAMS_SIZE + 3) / 4; - dev->wd_due_counter = 0; - } - + if (dev->wd_timeout) + *slots -= mei_data2slots(MEI_START_WD_DATA_SIZE); + else + *slots -= mei_data2slots(MEI_WD_PARAMS_SIZE); } } if (dev->stop) @@ -1320,42 +1301,34 @@ /* complete write list CB */ dev_dbg(&dev->pdev->dev, "complete write list cb.\n"); list_for_each_entry_safe(pos, next, - &dev->write_list.mei_cb.cb_list, cb_list) { + &dev->write_list.mei_cb.cb_list, cb_list) { cl = (struct mei_cl *)pos->file_private; if (cl == NULL) continue; if (cl != &dev->iamthif_cl) { - if (!mei_flow_ctrl_creds(dev, cl)) { + if (mei_flow_ctrl_creds(dev, cl) <= 0) { dev_dbg(&dev->pdev->dev, - "No flow control" - " credentials for client" - " %d, not sending.\n", - cl->host_client_id); + "No flow control credentials for client %d, not sending.\n", + cl->host_client_id); continue; } - ret = _mei_irq_thread_cmpl(dev, slots, - pos, - cl, cmpl_list); + ret = _mei_irq_thread_cmpl(dev, slots, pos, + cl, cmpl_list); if (ret) return ret; } else if (cl == &dev->iamthif_cl) { /* IAMTHIF IOCTL */ dev_dbg(&dev->pdev->dev, "complete amthi write cb.\n"); - if (!mei_flow_ctrl_creds(dev, cl)) { + if (mei_flow_ctrl_creds(dev, cl) <= 0) { dev_dbg(&dev->pdev->dev, - "No flow control" - " credentials for amthi" - " client %d.\n", - cl->host_client_id); + "No flow control credentials for amthi client %d.\n", + cl->host_client_id); continue; } - ret = _mei_irq_thread_cmpl_iamthif(dev, - slots, - pos, - cl, - cmpl_list); + ret = _mei_irq_thread_cmpl_iamthif(dev, slots, pos, + cl, cmpl_list); if (ret) return ret; @@ -1555,7 +1528,7 @@ end: dev_dbg(&dev->pdev->dev, "end of bottom half function.\n"); dev->host_hw_state = mei_hcsr_read(dev); - dev->mei_host_buffer_is_empty = mei_host_buffer_is_empty(dev); + dev->mei_host_buffer_is_empty = mei_hbuf_is_empty(dev); bus_message_received = false; if (dev->recvd_msg && waitqueue_active(&dev->wait_recvd_msg)) { --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/iorw.c +++ linux-lowlatency-3.5.0/drivers/misc/mei/iorw.c @@ -481,12 +481,8 @@ if (ret && dev->mei_host_buffer_is_empty) { ret = 0; dev->mei_host_buffer_is_empty = false; - if (cb->request_buffer.size > - (((dev->host_hw_state & H_CBD) >> 24) * sizeof(u32)) - -sizeof(struct mei_msg_hdr)) { - mei_hdr.length = - (((dev->host_hw_state & H_CBD) >> 24) * - sizeof(u32)) - sizeof(struct mei_msg_hdr); + if (cb->request_buffer.size > mei_hbuf_max_data(dev)) { + mei_hdr.length = mei_hbuf_max_data(dev); mei_hdr.msg_complete = 0; } else { mei_hdr.length = cb->request_buffer.size; --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/main.c +++ linux-lowlatency-3.5.0/drivers/misc/mei/main.c @@ -714,13 +714,8 @@ if (rets && dev->mei_host_buffer_is_empty) { rets = 0; dev->mei_host_buffer_is_empty = false; - if (length > ((((dev->host_hw_state & H_CBD) >> 24) * - sizeof(u32)) - sizeof(struct mei_msg_hdr))) { - - mei_hdr.length = - (((dev->host_hw_state & H_CBD) >> 24) * - sizeof(u32)) - - sizeof(struct mei_msg_hdr); + if (length > mei_hbuf_max_data(dev)) { + mei_hdr.length = mei_hbuf_max_data(dev); mei_hdr.msg_complete = 0; } else { mei_hdr.length = length; @@ -930,6 +925,27 @@ }; /** + * mei_quirk_probe - probe for devices that doesn't valid ME interface + * @pdev: PCI device structure + * @ent: entry into pci_device_table + * + * returns true if ME Interface is valid, false otherwise + */ +static bool __devinit mei_quirk_probe(struct pci_dev *pdev, + const struct pci_device_id *ent) +{ + u32 reg; + if (ent->device == MEI_DEV_ID_PBG_1) { + pci_read_config_dword(pdev, 0x48, ®); + /* make sure that bit 9 is up and bit 10 is down */ + if ((reg & 0x600) == 0x200) { + dev_info(&pdev->dev, "Device doesn't have valid ME Interface\n"); + return false; + } + } + return true; +} +/** * mei_probe - Device Initialization Routine * * @pdev: PCI device structure @@ -944,6 +960,12 @@ int err; mutex_lock(&mei_mutex); + + if (!mei_quirk_probe(pdev, ent)) { + err = -ENODEV; + goto end; + } + if (mei_device) { err = -EEXIST; goto end; @@ -1187,44 +1209,7 @@ .driver.pm = MEI_PM_OPS, }; -/** - * mei_init_module - Driver Registration Routine - * - * mei_init_module is the first routine called when the driver is - * loaded. All it does is to register with the PCI subsystem. - * - * returns 0 on success, <0 on failure. - */ -static int __init mei_init_module(void) -{ - int ret; - - pr_debug("loading.\n"); - /* init pci module */ - ret = pci_register_driver(&mei_driver); - if (ret < 0) - pr_err("error registering driver.\n"); - - return ret; -} - -module_init(mei_init_module); - -/** - * mei_exit_module - Driver Exit Cleanup Routine - * - * mei_exit_module is called just before the driver is removed - * from memory. - */ -static void __exit mei_exit_module(void) -{ - pci_unregister_driver(&mei_driver); - - pr_debug("unloaded successfully.\n"); -} - -module_exit(mei_exit_module); - +module_pci_driver(mei_driver); MODULE_AUTHOR("Intel Corporation"); MODULE_DESCRIPTION("Intel(R) Management Engine Interface"); --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/mei_dev.h +++ linux-lowlatency-3.5.0/drivers/misc/mei/mei_dev.h @@ -167,7 +167,10 @@ struct mei_cl_cb mei_cb; }; -/* MEI private device struct */ +/** + * struct mei_deive - MEI private device struct + * @hbuf_depth - depth of host(write) buffer + */ struct mei_device { struct pci_dev *pdev; /* pointer to pci device struct */ /* @@ -205,6 +208,7 @@ */ u32 host_hw_state; u32 me_hw_state; + u8 hbuf_depth; /* * waiting queue for receive message from FW */ @@ -237,15 +241,14 @@ bool mei_host_buffer_is_empty; struct mei_cl wd_cl; + bool wd_interface_reg; bool wd_pending; bool wd_stopped; bool wd_bypass; /* if false, don't refresh watchdog ME client */ u16 wd_timeout; /* seconds ((wd_data[1] << 8) + wd_data[0]) */ - u16 wd_due_counter; unsigned char wd_data[MEI_START_WD_DATA_SIZE]; - struct file *iamthif_file_object; struct mei_cl iamthif_cl; struct mei_cl_cb *iamthif_current_cb; @@ -259,8 +262,6 @@ bool iamthif_flow_control_pending; bool iamthif_ioctl; bool iamthif_canceled; - - bool wd_interface_reg; }; @@ -361,7 +362,8 @@ * * returns register value (u32) */ -static inline u32 mei_reg_read(struct mei_device *dev, unsigned long offset) +static inline u32 mei_reg_read(const struct mei_device *dev, + unsigned long offset) { return ioread32(dev->mem_addr + offset); } @@ -373,8 +375,8 @@ * @offset: offset from which to write the data * @value: register value to write (u32) */ -static inline void mei_reg_write(struct mei_device *dev, - unsigned long offset, u32 value) +static inline void mei_reg_write(const struct mei_device *dev, + unsigned long offset, u32 value) { iowrite32(value, dev->mem_addr + offset); } @@ -386,7 +388,7 @@ * * returns the byte read. */ -static inline u32 mei_hcsr_read(struct mei_device *dev) +static inline u32 mei_hcsr_read(const struct mei_device *dev) { return mei_reg_read(dev, H_CSR); } @@ -398,7 +400,7 @@ * * returns ME_CSR_HA register value (u32) */ -static inline u32 mei_mecsr_read(struct mei_device *dev) +static inline u32 mei_mecsr_read(const struct mei_device *dev) { return mei_reg_read(dev, ME_CSR_HA); } @@ -410,7 +412,7 @@ * * returns ME_CB_RW register value (u32) */ -static inline u32 mei_mecbrw_read(struct mei_device *dev) +static inline u32 mei_mecbrw_read(const struct mei_device *dev) { return mei_reg_read(dev, ME_CB_RW); } --- linux-lowlatency-3.5.0.orig/drivers/misc/mei/wd.c +++ linux-lowlatency-3.5.0/drivers/misc/mei/wd.c @@ -53,11 +53,12 @@ } /** - * host_init_wd - mei initialization wd. + * mei_wd_host_init - connect to the watchdog client * * @dev: the device structure * returns -ENENT if wd client cannot be found * -EIO if write has failed + * 0 on success */ int mei_wd_host_init(struct mei_device *dev) { @@ -137,7 +138,6 @@ return 0; dev->wd_timeout = 0; - dev->wd_due_counter = 0; memcpy(dev->wd_data, mei_stop_wd_params, MEI_WD_PARAMS_SIZE); dev->stop = true; @@ -357,8 +357,6 @@ { dev_dbg(&dev->pdev->dev, "dev->wd_timeout =%d.\n", dev->wd_timeout); - dev->wd_due_counter = !!dev->wd_timeout; - if (watchdog_register_device(&amt_wd_dev)) { dev_err(&dev->pdev->dev, "wd: unable to register watchdog device.\n"); --- linux-lowlatency-3.5.0.orig/drivers/mmc/card/block.c +++ linux-lowlatency-3.5.0/drivers/mmc/card/block.c @@ -1429,7 +1429,8 @@ /* complete ongoing async transfer before issuing discard */ if (card->host->areq) mmc_blk_issue_rw_rq(mq, NULL); - if (req->cmd_flags & REQ_SECURE) + if (req->cmd_flags & REQ_SECURE && + !(card->quirks & MMC_QUIRK_SEC_ERASE_TRIM_BROKEN)) ret = mmc_blk_issue_secdiscard_rq(mq, req); else ret = mmc_blk_issue_discard_rq(mq, req); @@ -1734,6 +1735,7 @@ #define CID_MANFID_SANDISK 0x2 #define CID_MANFID_TOSHIBA 0x11 #define CID_MANFID_MICRON 0x13 +#define CID_MANFID_SAMSUNG 0x15 static const struct mmc_fixup blk_fixups[] = { @@ -1770,6 +1772,28 @@ MMC_FIXUP(CID_NAME_ANY, CID_MANFID_MICRON, 0x200, add_quirk_mmc, MMC_QUIRK_LONG_READ_TIME), + /* + * On these Samsung MoviNAND parts, performing secure erase or + * secure trim can result in unrecoverable corruption due to a + * firmware bug. + */ + MMC_FIXUP("M8G2FA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + MMC_FIXUP("MAG4FA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + MMC_FIXUP("MBG8FA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + MMC_FIXUP("MCGAFA", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + MMC_FIXUP("VAL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + MMC_FIXUP("VYL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + MMC_FIXUP("KYL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + MMC_FIXUP("VZL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_SEC_ERASE_TRIM_BROKEN), + END_FIXUP }; --- linux-lowlatency-3.5.0.orig/drivers/mmc/core/host.c +++ linux-lowlatency-3.5.0/drivers/mmc/core/host.c @@ -430,3 +430,4 @@ } EXPORT_SYMBOL(mmc_free_host); + --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/atmel-mci.c +++ linux-lowlatency-3.5.0/drivers/mmc/host/atmel-mci.c @@ -81,6 +81,7 @@ bool has_bad_data_ordering; bool need_reset_after_xfer; bool need_blksz_mul_4; + bool need_notbusy_for_read_ops; }; struct atmel_mci_dma { @@ -1619,7 +1620,8 @@ __func__); atmci_set_completed(host, EVENT_XFER_COMPLETE); - if (host->data->flags & MMC_DATA_WRITE) { + if (host->caps.need_notbusy_for_read_ops || + (host->data->flags & MMC_DATA_WRITE)) { atmci_writel(host, ATMCI_IER, ATMCI_NOTBUSY); state = STATE_WAITING_NOTBUSY; } else if (host->mrq->stop) { @@ -2212,6 +2214,7 @@ host->caps.has_bad_data_ordering = 1; host->caps.need_reset_after_xfer = 1; host->caps.need_blksz_mul_4 = 1; + host->caps.need_notbusy_for_read_ops = 0; /* keep only major version number */ switch (version & 0xf00) { @@ -2232,6 +2235,7 @@ case 0x200: host->caps.has_rwproof = 1; host->caps.need_blksz_mul_4 = 0; + host->caps.need_notbusy_for_read_ops = 1; case 0x100: host->caps.has_bad_data_ordering = 0; host->caps.need_reset_after_xfer = 0; --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/mxs-mmc.c +++ linux-lowlatency-3.5.0/drivers/mmc/host/mxs-mmc.c @@ -278,11 +278,11 @@ writel(stat & MXS_MMC_IRQ_BITS, host->base + HW_SSP_CTRL1(host) + STMP_OFFSET_REG_CLR); + spin_unlock(&host->lock); + if ((stat & BM_SSP_CTRL1_SDIO_IRQ) && (stat & BM_SSP_CTRL1_SDIO_IRQ_EN)) mmc_signal_sdio_irq(host->mmc); - spin_unlock(&host->lock); - if (stat & BM_SSP_CTRL1_RESP_TIMEOUT_IRQ) cmd->error = -ETIMEDOUT; else if (stat & BM_SSP_CTRL1_RESP_ERR_IRQ) @@ -637,11 +637,6 @@ host->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET); writel(BM_SSP_CTRL1_SDIO_IRQ_EN, host->base + HW_SSP_CTRL1(host) + STMP_OFFSET_REG_SET); - - if (readl(host->base + HW_SSP_STATUS(host)) & - BM_SSP_STATUS_SDIO_IRQ) - mmc_signal_sdio_irq(host->mmc); - } else { writel(BM_SSP_CTRL0_SDIO_IRQ_CHECK, host->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR); @@ -650,6 +645,11 @@ } spin_unlock_irqrestore(&host->lock, flags); + + if (enable && readl(host->base + HW_SSP_STATUS(host)) & + BM_SSP_STATUS_SDIO_IRQ) + mmc_signal_sdio_irq(host->mmc); + } static const struct mmc_host_ops mxs_mmc_ops = { --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/sdhci.c +++ linux-lowlatency-3.5.0/drivers/mmc/host/sdhci.c @@ -27,6 +27,7 @@ #include #include +#include #include "sdhci.h" @@ -1245,6 +1246,7 @@ struct sdhci_host *host; bool present; unsigned long flags; + u32 tuning_opcode; host = mmc_priv(mmc); @@ -1292,12 +1294,19 @@ */ if ((host->flags & SDHCI_NEEDS_RETUNING) && !(present_state & (SDHCI_DOING_WRITE | SDHCI_DOING_READ))) { - spin_unlock_irqrestore(&host->lock, flags); - sdhci_execute_tuning(mmc, mrq->cmd->opcode); - spin_lock_irqsave(&host->lock, flags); + if (mmc->card) { + /* eMMC uses cmd21 but sd and sdio use cmd19 */ + tuning_opcode = + mmc->card->type == MMC_TYPE_MMC ? + MMC_SEND_TUNING_BLOCK_HS200 : + MMC_SEND_TUNING_BLOCK; + spin_unlock_irqrestore(&host->lock, flags); + sdhci_execute_tuning(mmc, tuning_opcode); + spin_lock_irqsave(&host->lock, flags); - /* Restore original mmc_request structure */ - host->mrq = mrq; + /* Restore original mmc_request structure */ + host->mrq = mrq; + } } if (mrq->sbc && !(host->flags & SDHCI_AUTO_CMD23)) --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/omap_hsmmc.c +++ linux-lowlatency-3.5.0/drivers/mmc/host/omap_hsmmc.c @@ -1850,7 +1850,7 @@ host->slot_id = 0; host->mapbase = res->start + pdata->reg_offset; host->base = ioremap(host->mapbase, SZ_4K); - host->power_mode = MMC_POWER_OFF; + host->power_mode = -1; host->next_data.cookie = 1; platform_set_drvdata(pdev, host); @@ -2102,8 +2102,7 @@ if (ret) { host->suspended = 0; if (host->pdata->resume) { - ret = host->pdata->resume(dev, host->slot_id); - if (ret) + if (host->pdata->resume(dev, host->slot_id)) dev_dbg(dev, "Unmask interrupt failed\n"); } goto err; --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/sdhci-esdhc.h +++ linux-lowlatency-3.5.0/drivers/mmc/host/sdhci-esdhc.h @@ -48,14 +48,14 @@ int div = 1; u32 temp; + if (clock == 0) + goto out; + temp = sdhci_readl(host, ESDHC_SYSTEM_CONTROL); temp &= ~(ESDHC_CLOCK_IPGEN | ESDHC_CLOCK_HCKEN | ESDHC_CLOCK_PEREN | ESDHC_CLOCK_MASK); sdhci_writel(host, temp, ESDHC_SYSTEM_CONTROL); - if (clock == 0) - goto out; - while (host->max_clk / pre_div / 16 > clock && pre_div < 256) pre_div *= 2; --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/sdhci-pci.c +++ linux-lowlatency-3.5.0/drivers/mmc/host/sdhci-pci.c @@ -157,6 +157,7 @@ static const struct sdhci_pci_fixes sdhci_cafe = { .quirks = SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER | SDHCI_QUIRK_NO_BUSY_IRQ | + SDHCI_QUIRK_BROKEN_CARD_DETECTION | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, }; --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/sdhci-s3c.c +++ linux-lowlatency-3.5.0/drivers/mmc/host/sdhci-s3c.c @@ -656,7 +656,7 @@ pm_runtime_disable(&pdev->dev); - for (ptr = 0; ptr < 3; ptr++) { + for (ptr = 0; ptr < MAX_BUS_CLK; ptr++) { if (sc->clk_bus[ptr]) { clk_disable(sc->clk_bus[ptr]); clk_put(sc->clk_bus[ptr]); --- linux-lowlatency-3.5.0.orig/drivers/mmc/host/sh_mmcif.c +++ linux-lowlatency-3.5.0/drivers/mmc/host/sh_mmcif.c @@ -1066,7 +1066,6 @@ { struct sh_mmcif_host *host = dev_id; struct mmc_request *mrq = host->mrq; - struct mmc_data *data = mrq->data; cancel_delayed_work_sync(&host->timeout_work); @@ -1114,13 +1113,14 @@ case MMCIF_WAIT_FOR_READ_END: case MMCIF_WAIT_FOR_WRITE_END: if (host->sd_error) - data->error = sh_mmcif_error_manage(host); + mrq->data->error = sh_mmcif_error_manage(host); break; default: BUG(); } if (host->wait_for != MMCIF_WAIT_FOR_STOP) { + struct mmc_data *data = mrq->data; if (!mrq->cmd->error && data && !data->error) data->bytes_xfered = data->blocks * data->blksz; --- linux-lowlatency-3.5.0.orig/drivers/mtd/mtdpart.c +++ linux-lowlatency-3.5.0/drivers/mtd/mtdpart.c @@ -711,6 +711,8 @@ * partition parsers, specified in @types. However, if @types is %NULL, then * the default list of parsers is used. The default list contains only the * "cmdlinepart" and "ofpart" parsers ATM. + * Note: If there are more then one parser in @types, the kernel only takes the + * partitions parsed out by the first parser. * * This function may return: * o a negative error code in case of failure @@ -735,11 +737,12 @@ if (!parser) continue; ret = (*parser->parse_fn)(master, pparts, data); + put_partition_parser(parser); if (ret > 0) { printk(KERN_NOTICE "%d %s partitions found on MTD device %s\n", ret, parser->name, master->name); + break; } - put_partition_parser(parser); } return ret; } --- linux-lowlatency-3.5.0.orig/drivers/mtd/ofpart.c +++ linux-lowlatency-3.5.0/drivers/mtd/ofpart.c @@ -121,7 +121,7 @@ nr_parts = plen / sizeof(part[0]); *pparts = kzalloc(nr_parts * sizeof(*(*pparts)), GFP_KERNEL); - if (!pparts) + if (!*pparts) return -ENOMEM; names = of_get_property(dp, "partition-names", &plen); --- linux-lowlatency-3.5.0.orig/drivers/mtd/devices/slram.c +++ linux-lowlatency-3.5.0/drivers/mtd/devices/slram.c @@ -240,7 +240,7 @@ if (*(szlength) != '+') { devlength = simple_strtoul(szlength, &buffer, 0); - devlength = handle_unit(devlength, buffer) - devstart; + devlength = handle_unit(devlength, buffer); if (devlength < devstart) goto err_out; --- linux-lowlatency-3.5.0.orig/drivers/mtd/maps/autcpu12-nvram.c +++ linux-lowlatency-3.5.0/drivers/mtd/maps/autcpu12-nvram.c @@ -43,7 +43,8 @@ static int __init init_autcpu12_sram (void) { - int err, save0, save1; + map_word tmp, save0, save1; + int err; autcpu12_sram_map.virt = ioremap(0x12000000, SZ_128K); if (!autcpu12_sram_map.virt) { @@ -51,7 +52,7 @@ err = -EIO; goto out; } - simple_map_init(&autcpu_sram_map); + simple_map_init(&autcpu12_sram_map); /* * Check for 32K/128K @@ -61,20 +62,22 @@ * Read and check result on ofs 0x0 * Restore contents */ - save0 = map_read32(&autcpu12_sram_map,0); - save1 = map_read32(&autcpu12_sram_map,0x10000); - map_write32(&autcpu12_sram_map,~save0,0x10000); + save0 = map_read(&autcpu12_sram_map, 0); + save1 = map_read(&autcpu12_sram_map, 0x10000); + tmp.x[0] = ~save0.x[0]; + map_write(&autcpu12_sram_map, tmp, 0x10000); /* if we find this pattern on 0x0, we have 32K size * restore contents and exit */ - if ( map_read32(&autcpu12_sram_map,0) != save0) { - map_write32(&autcpu12_sram_map,save0,0x0); + tmp = map_read(&autcpu12_sram_map, 0); + if (!map_word_equal(&autcpu12_sram_map, tmp, save0)) { + map_write(&autcpu12_sram_map, save0, 0x0); goto map; } /* We have a 128K found, restore 0x10000 and set size * to 128K */ - map_write32(&autcpu12_sram_map,save1,0x10000); + map_write(&autcpu12_sram_map, save1, 0x10000); autcpu12_sram_map.size = SZ_128K; map: --- linux-lowlatency-3.5.0.orig/drivers/mtd/nand/nand_base.c +++ linux-lowlatency-3.5.0/drivers/mtd/nand/nand_base.c @@ -2914,8 +2914,7 @@ if (le16_to_cpu(p->features) & 1) *busw = NAND_BUSWIDTH_16; - chip->options &= ~NAND_CHIPOPTIONS_MSK; - chip->options |= NAND_NO_READRDY & NAND_CHIPOPTIONS_MSK; + chip->options |= NAND_NO_READRDY; pr_info("ONFI flash detected\n"); return 1; @@ -3080,9 +3079,8 @@ mtd->erasesize <<= ((id_data[3] & 0x03) << 1); } } - /* Get chip options, preserve non chip based options */ - chip->options &= ~NAND_CHIPOPTIONS_MSK; - chip->options |= type->options & NAND_CHIPOPTIONS_MSK; + /* Get chip options */ + chip->options |= type->options; /* * Check if chip is not a Samsung device. Do not clear the --- linux-lowlatency-3.5.0.orig/drivers/mtd/nand/nand_bbt.c +++ linux-lowlatency-3.5.0/drivers/mtd/nand/nand_bbt.c @@ -390,7 +390,7 @@ /* Read the mirror version, if available */ if (md && (md->options & NAND_BBT_VERSION)) { scan_read_raw(mtd, buf, (loff_t)md->pages[0] << this->page_shift, - mtd->writesize, td); + mtd->writesize, md); md->version[0] = buf[bbt_get_ver_offs(mtd, md)]; pr_info("Bad block table at page %d, version 0x%02X\n", md->pages[0], md->version[0]); --- linux-lowlatency-3.5.0.orig/drivers/mtd/nand/nandsim.c +++ linux-lowlatency-3.5.0/drivers/mtd/nand/nandsim.c @@ -2333,6 +2333,7 @@ uint64_t new_size = (uint64_t)nsmtd->erasesize << overridesize; if (new_size >> overridesize != nsmtd->erasesize) { NS_ERR("overridesize is too big\n"); + retval = -EINVAL; goto err_exit; } /* N.B. This relies on nand_scan not doing anything with the size before we change it */ --- linux-lowlatency-3.5.0.orig/drivers/mtd/nand/omap2.c +++ linux-lowlatency-3.5.0/drivers/mtd/nand/omap2.c @@ -1382,7 +1382,8 @@ /* Release NAND device, its internal structures and partitions */ nand_release(&info->mtd); iounmap(info->nand.IO_ADDR_R); - kfree(&info->mtd); + release_mem_region(info->phys_base, NAND_IO_SIZE); + kfree(info); return 0; } --- linux-lowlatency-3.5.0.orig/drivers/mtd/ubi/build.c +++ linux-lowlatency-3.5.0/drivers/mtd/ubi/build.c @@ -759,6 +759,11 @@ struct ubi_volume *vol = ubi->volumes[vol_id]; int err, old_reserved_pebs = vol->reserved_pebs; + if (ubi->ro_mode) { + ubi_warn("skip auto-resize because of R/O mode"); + return 0; + } + /* * Clear the auto-resize flag in the volume in-memory copy of the * volume table, and 'ubi_resize_volume()' will propagate this change --- linux-lowlatency-3.5.0.orig/drivers/mtd/ubi/attach.c +++ linux-lowlatency-3.5.0/drivers/mtd/ubi/attach.c @@ -975,7 +975,7 @@ return err; goto adjust_mean_ec; case UBI_IO_FF: - if (ec_err) + if (ec_err || bitflips) err = add_to_list(ai, pnum, UBI_UNKNOWN, UBI_UNKNOWN, ec, 1, &ai->erase); else --- linux-lowlatency-3.5.0.orig/drivers/mtd/ubi/vtbl.c +++ linux-lowlatency-3.5.0/drivers/mtd/ubi/vtbl.c @@ -340,7 +340,7 @@ * of this LEB as it will be deleted and freed in 'ubi_add_to_av()'. */ err = ubi_add_to_av(ubi, ai, new_aeb->pnum, new_aeb->ec, vid_hdr, 0); - kfree(new_aeb); + kmem_cache_free(ai->aeb_slab_cache, new_aeb); ubi_free_vid_hdr(ubi, vid_hdr); return err; @@ -353,7 +353,7 @@ list_add(&new_aeb->u.list, &ai->erase); goto retry; } - kfree(new_aeb); + kmem_cache_free(ai->aeb_slab_cache, new_aeb); out_free: ubi_free_vid_hdr(ubi, vid_hdr); return err; --- linux-lowlatency-3.5.0.orig/drivers/net/netconsole.c +++ linux-lowlatency-3.5.0/drivers/net/netconsole.c @@ -648,7 +648,6 @@ flags); dev_put(nt->np.dev); nt->np.dev = NULL; - netconsole_target_put(nt); } nt->enabled = 0; stopped = true; --- linux-lowlatency-3.5.0.orig/drivers/net/rionet.c +++ linux-lowlatency-3.5.0/drivers/net/rionet.c @@ -79,6 +79,7 @@ * on system trade-offs. */ static struct rio_dev **rionet_active; +static int nact; /* total number of active rionet peers */ #define is_rionet_capable(src_ops, dst_ops) \ ((src_ops & RIO_SRC_OPS_DATA_MSG) && \ @@ -175,6 +176,7 @@ struct ethhdr *eth = (struct ethhdr *)skb->data; u16 destid; unsigned long flags; + int add_num = 1; local_irq_save(flags); if (!spin_trylock(&rnet->tx_lock)) { @@ -182,7 +184,10 @@ return NETDEV_TX_LOCKED; } - if ((rnet->tx_cnt + 1) > RIONET_TX_RING_SIZE) { + if (is_multicast_ether_addr(eth->h_dest)) + add_num = nact; + + if ((rnet->tx_cnt + add_num) > RIONET_TX_RING_SIZE) { netif_stop_queue(ndev); spin_unlock_irqrestore(&rnet->tx_lock, flags); printk(KERN_ERR "%s: BUG! Tx Ring full when queue awake!\n", @@ -191,11 +196,16 @@ } if (is_multicast_ether_addr(eth->h_dest)) { + int count = 0; for (i = 0; i < RIO_MAX_ROUTE_ENTRIES(rnet->mport->sys_size); i++) - if (rionet_active[i]) + if (rionet_active[i]) { rionet_queue_tx_msg(skb, ndev, rionet_active[i]); + if (count) + atomic_inc(&skb->users); + count++; + } } else if (RIONET_MAC_MATCH(eth->h_dest)) { destid = RIONET_GET_DESTID(eth->h_dest); if (rionet_active[destid]) @@ -220,14 +230,17 @@ if (info == RIONET_DOORBELL_JOIN) { if (!rionet_active[sid]) { list_for_each_entry(peer, &rionet_peers, node) { - if (peer->rdev->destid == sid) + if (peer->rdev->destid == sid) { rionet_active[sid] = peer->rdev; + nact++; + } } rio_mport_send_doorbell(mport, sid, RIONET_DOORBELL_JOIN); } } else if (info == RIONET_DOORBELL_LEAVE) { rionet_active[sid] = NULL; + nact--; } else { if (netif_msg_intr(rnet)) printk(KERN_WARNING "%s: unhandled doorbell\n", @@ -523,6 +536,7 @@ rc = rionet_setup_netdev(rdev->net->hport, ndev); rionet_check = 1; + nact = 0; } /* --- linux-lowlatency-3.5.0.orig/drivers/net/tun.c +++ linux-lowlatency-3.5.0/drivers/net/tun.c @@ -185,7 +185,6 @@ netif_tx_lock_bh(tun->dev); netif_carrier_off(tun->dev); tun->tfile = NULL; - tun->socket.file = NULL; netif_tx_unlock_bh(tun->dev); /* Drop read queue */ @@ -358,6 +357,8 @@ { struct tun_struct *tun = netdev_priv(dev); + BUG_ON(!test_bit(SOCK_EXTERNALLY_ALLOCATED, &tun->socket.flags)); + sk_release_kernel(tun->socket.sk); } @@ -1115,6 +1116,7 @@ tun->flags = flags; tun->txflt.count = 0; tun->vnet_hdr_sz = sizeof(struct virtio_net_hdr); + set_bit(SOCK_EXTERNALLY_ALLOCATED, &tun->socket.flags); err = -ENOMEM; sk = sk_alloc(&init_net, AF_UNSPEC, GFP_KERNEL, &tun_proto); @@ -1252,10 +1254,12 @@ int vnet_hdr_sz; int ret; - if (cmd == TUNSETIFF || _IOC_TYPE(cmd) == 0x89) + if (cmd == TUNSETIFF || _IOC_TYPE(cmd) == 0x89) { if (copy_from_user(&ifr, argp, ifreq_len)) return -EFAULT; - + } else { + memset(&ifr, 0, sizeof(ifr)); + } if (cmd == TUNGETFEATURES) { /* Currently this just means: "what IFF flags are valid?". * This is needed because we never checked for invalid flags on --- linux-lowlatency-3.5.0.orig/drivers/net/bonding/bond_main.c +++ linux-lowlatency-3.5.0/drivers/net/bonding/bond_main.c @@ -1383,6 +1383,8 @@ struct net_device *bond_dev = bond->dev; netdev_features_t vlan_features = BOND_VLAN_FEATURES; unsigned short max_hard_header_len = ETH_HLEN; + unsigned int gso_max_size = GSO_MAX_SIZE; + u16 gso_max_segs = GSO_MAX_SEGS; int i; read_lock(&bond->lock); @@ -1396,11 +1398,16 @@ if (slave->dev->hard_header_len > max_hard_header_len) max_hard_header_len = slave->dev->hard_header_len; + + gso_max_size = min(gso_max_size, slave->dev->gso_max_size); + gso_max_segs = min(gso_max_segs, slave->dev->gso_max_segs); } done: bond_dev->vlan_features = vlan_features; bond_dev->hard_header_len = max_hard_header_len; + bond_dev->gso_max_segs = gso_max_segs; + netif_set_gso_max_size(bond_dev, gso_max_size); read_unlock(&bond->lock); --- linux-lowlatency-3.5.0.orig/drivers/net/caif/caif_serial.c +++ linux-lowlatency-3.5.0/drivers/net/caif/caif_serial.c @@ -325,6 +325,9 @@ sprintf(name, "cf%s", tty->name); dev = alloc_netdev(sizeof(*ser), name, caifdev_setup); + if (!dev) + return -ENOMEM; + ser = netdev_priv(dev); ser->tty = tty_kref_get(tty); ser->dev = dev; --- linux-lowlatency-3.5.0.orig/drivers/net/can/janz-ican3.c +++ linux-lowlatency-3.5.0/drivers/net/can/janz-ican3.c @@ -1250,7 +1250,6 @@ */ static int ican3_reset_module(struct ican3_dev *mod) { - u8 val = 1 << mod->num; unsigned long start; u8 runold, runnew; @@ -1264,8 +1263,7 @@ runold = ioread8(mod->dpm + TARGET_RUNNING); /* reset the module */ - iowrite8(val, &mod->ctrl->reset_assert); - iowrite8(val, &mod->ctrl->reset_deassert); + iowrite8(0x00, &mod->dpmctrl->hwreset); /* wait until the module has finished resetting and is running */ start = jiffies; --- linux-lowlatency-3.5.0.orig/drivers/net/can/mcp251x.c +++ linux-lowlatency-3.5.0/drivers/net/can/mcp251x.c @@ -83,6 +83,11 @@ #define INSTRUCTION_LOAD_TXB(n) (0x40 + 2 * (n)) #define INSTRUCTION_READ_RXB(n) (((n) == 0) ? 0x90 : 0x94) #define INSTRUCTION_RESET 0xC0 +#define RTS_TXB0 0x01 +#define RTS_TXB1 0x02 +#define RTS_TXB2 0x04 +#define INSTRUCTION_RTS(n) (0x80 | ((n) & 0x07)) + /* MPC251x registers */ #define CANSTAT 0x0e @@ -397,6 +402,7 @@ static void mcp251x_hw_tx(struct spi_device *spi, struct can_frame *frame, int tx_buf_idx) { + struct mcp251x_priv *priv = dev_get_drvdata(&spi->dev); u32 sid, eid, exide, rtr; u8 buf[SPI_TRANSFER_BUF_LEN]; @@ -418,7 +424,10 @@ buf[TXBDLC_OFF] = (rtr << DLC_RTR_SHIFT) | frame->can_dlc; memcpy(buf + TXBDAT_OFF, frame->data, frame->can_dlc); mcp251x_hw_tx_frame(spi, buf, frame->can_dlc, tx_buf_idx); - mcp251x_write_reg(spi, TXBCTRL(tx_buf_idx), TXBCTRL_TXREQ); + + /* use INSTRUCTION_RTS, to avoid "repeated frame problem" */ + priv->spi_tx_buf[0] = INSTRUCTION_RTS(1 << tx_buf_idx); + mcp251x_spi_trans(priv->spi, 1); } static void mcp251x_hw_rx_frame(struct spi_device *spi, u8 *buf, --- linux-lowlatency-3.5.0.orig/drivers/net/can/ti_hecc.c +++ linux-lowlatency-3.5.0/drivers/net/can/ti_hecc.c @@ -984,12 +984,12 @@ struct net_device *ndev = platform_get_drvdata(pdev); struct ti_hecc_priv *priv = netdev_priv(ndev); + unregister_candev(ndev); clk_disable(priv->clk); clk_put(priv->clk); res = platform_get_resource(pdev, IORESOURCE_MEM, 0); iounmap(priv->base); release_mem_region(res->start, resource_size(res)); - unregister_candev(ndev); free_candev(ndev); platform_set_drvdata(pdev, NULL); --- linux-lowlatency-3.5.0.orig/drivers/net/can/mscan/mpc5xxx_can.c +++ linux-lowlatency-3.5.0/drivers/net/can/mscan/mpc5xxx_can.c @@ -181,7 +181,7 @@ if (!clock_name || !strcmp(clock_name, "sys")) { sys_clk = clk_get(&ofdev->dev, "sys_clk"); - if (!sys_clk) { + if (IS_ERR(sys_clk)) { dev_err(&ofdev->dev, "couldn't get sys_clk\n"); goto exit_unmap; } @@ -204,7 +204,7 @@ if (clocksrc < 0) { ref_clk = clk_get(&ofdev->dev, "ref_clk"); - if (!ref_clk) { + if (IS_ERR(ref_clk)) { dev_err(&ofdev->dev, "couldn't get ref_clk\n"); goto exit_unmap; } --- linux-lowlatency-3.5.0.orig/drivers/net/can/usb/peak_usb/pcan_usb.c +++ linux-lowlatency-3.5.0/drivers/net/can/usb/peak_usb/pcan_usb.c @@ -519,8 +519,10 @@ mc->pdev->dev.can.state = new_state; if (status_len & PCAN_USB_STATUSLEN_TIMESTAMP) { + struct skb_shared_hwtstamps *hwts = skb_hwtstamps(skb); + peak_usb_get_ts_tv(&mc->pdev->time_ref, mc->ts16, &tv); - skb->tstamp = timeval_to_ktime(tv); + hwts->hwtstamp = timeval_to_ktime(tv); } netif_rx(skb); @@ -605,6 +607,7 @@ struct sk_buff *skb; struct can_frame *cf; struct timeval tv; + struct skb_shared_hwtstamps *hwts; skb = alloc_can_skb(mc->netdev, &cf); if (!skb) @@ -652,7 +655,8 @@ /* convert timestamp into kernel time */ peak_usb_get_ts_tv(&mc->pdev->time_ref, mc->ts16, &tv); - skb->tstamp = timeval_to_ktime(tv); + hwts = skb_hwtstamps(skb); + hwts->hwtstamp = timeval_to_ktime(tv); /* push the skb */ netif_rx(skb); --- linux-lowlatency-3.5.0.orig/drivers/net/can/usb/peak_usb/pcan_usb_pro.c +++ linux-lowlatency-3.5.0/drivers/net/can/usb/peak_usb/pcan_usb_pro.c @@ -532,6 +532,7 @@ struct can_frame *can_frame; struct sk_buff *skb; struct timeval tv; + struct skb_shared_hwtstamps *hwts; skb = alloc_can_skb(netdev, &can_frame); if (!skb) @@ -549,7 +550,8 @@ memcpy(can_frame->data, rx->data, can_frame->can_dlc); peak_usb_get_ts_tv(&usb_if->time_ref, le32_to_cpu(rx->ts32), &tv); - skb->tstamp = timeval_to_ktime(tv); + hwts = skb_hwtstamps(skb); + hwts->hwtstamp = timeval_to_ktime(tv); netif_rx(skb); netdev->stats.rx_packets++; @@ -570,6 +572,7 @@ u8 err_mask = 0; struct sk_buff *skb; struct timeval tv; + struct skb_shared_hwtstamps *hwts; /* nothing should be sent while in BUS_OFF state */ if (dev->can.state == CAN_STATE_BUS_OFF) @@ -664,7 +667,8 @@ dev->can.state = new_state; peak_usb_get_ts_tv(&usb_if->time_ref, le32_to_cpu(er->ts32), &tv); - skb->tstamp = timeval_to_ktime(tv); + hwts = skb_hwtstamps(skb); + hwts->hwtstamp = timeval_to_ktime(tv); netif_rx(skb); netdev->stats.rx_packets++; netdev->stats.rx_bytes += can_frame->can_dlc; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/atheros/atl1c/atl1c_hw.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/atheros/atl1c/atl1c_hw.h @@ -74,6 +74,8 @@ #define PCI_DEVICE_ID_ATHEROS_L1D_2_0 0x1083 /* AR8151 v2.0 Gigabit 1000 */ #define L2CB_V10 0xc0 #define L2CB_V11 0xc1 +#define L2CB_V20 0xc0 +#define L2CB_V21 0xc1 /* register definition */ #define REG_DEVICE_CAP 0x5C @@ -87,6 +89,9 @@ #define LINK_CTRL_L1_EN 0x02 #define LINK_CTRL_EXT_SYNC 0x80 +#define REG_PCIE_IND_ACC_ADDR 0x80 +#define REG_PCIE_IND_ACC_DATA 0x84 + #define REG_DEV_SERIALNUM_CTRL 0x200 #define REG_DEV_MAC_SEL_MASK 0x0 /* 0:EUI; 1:MAC */ #define REG_DEV_MAC_SEL_SHIFT 0 --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/atheros/atl1c/atl1c_main.c @@ -739,6 +739,8 @@ static void __devinit atl1c_patch_assign(struct atl1c_hw *hw) { + struct pci_dev *pdev = hw->adapter->pdev; + u32 misc_ctrl; int i = 0; hw->msi_lnkpatch = false; @@ -753,6 +755,18 @@ } i++; } + + if (hw->device_id == PCI_DEVICE_ID_ATHEROS_L2C_B2 && + hw->revision_id == L2CB_V21) { + /* config acess mode */ + pci_write_config_dword(pdev, REG_PCIE_IND_ACC_ADDR, + REG_PCIE_DEV_MISC_CTRL); + pci_read_config_dword(pdev, REG_PCIE_IND_ACC_DATA, &misc_ctrl); + misc_ctrl &= ~0x100; + pci_write_config_dword(pdev, REG_PCIE_IND_ACC_ADDR, + REG_PCIE_DEV_MISC_CTRL); + pci_write_config_dword(pdev, REG_PCIE_IND_ACC_DATA, misc_ctrl); + } } /* * atl1c_sw_init - Initialize general software structures (struct atl1c_adapter) @@ -780,7 +794,7 @@ hw->device_id = pdev->device; hw->subsystem_vendor_id = pdev->subsystem_vendor; hw->subsystem_id = pdev->subsystem_device; - AT_READ_REG(hw, PCI_CLASS_REVISION, &revision); + pci_read_config_dword(pdev, PCI_CLASS_REVISION, &revision); hw->revision_id = revision & 0xFF; /* before link up, we assume hibernate is true */ hw->hibernate = true; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/broadcom/tg3.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/broadcom/tg3.c @@ -298,6 +298,7 @@ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57795)}, {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5719)}, {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5720)}, + {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57762)}, {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9DXX)}, {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9MXX)}, {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1000)}, @@ -8974,8 +8975,7 @@ GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57780 || tg3_flag(tp, 57765_PLUS)) { val = tr32(TG3_RDMA_RSRVCTRL_REG); - if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5719 || - GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5720) { + if (tp->pci_chip_rev_id == CHIPREV_ID_5719_A0) { val &= ~(TG3_RDMA_RSRVCTRL_TXMRGN_MASK | TG3_RDMA_RSRVCTRL_FIFO_LWM_MASK | TG3_RDMA_RSRVCTRL_FIFO_HWM_MASK); @@ -12282,10 +12282,12 @@ { struct tg3 *tp = netdev_priv(dev); - if (!tp->hw_stats) + spin_lock_bh(&tp->lock); + if (!tp->hw_stats) { + spin_unlock_bh(&tp->lock); return &tp->net_stats_prev; + } - spin_lock_bh(&tp->lock); tg3_get_nstats(tp, stats); spin_unlock_bh(&tp->lock); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c @@ -620,14 +620,16 @@ static void bnx2x_csum_validate(struct sk_buff *skb, union eth_rx_cqe *cqe, struct bnx2x_fastpath *fp) { - /* Do nothing if no IP/L4 csum validation was done */ - + /* Do nothing if no L4 csum validation was done. + * We do not check whether IP csum was validated. For IPv4 we assume + * that if the card got as far as validating the L4 csum, it also + * validated the IP csum. IPv6 has no IP csum. + */ if (cqe->fast_path_cqe.status_flags & - (ETH_FAST_PATH_RX_CQE_IP_XSUM_NO_VALIDATION_FLG | - ETH_FAST_PATH_RX_CQE_L4_XSUM_NO_VALIDATION_FLG)) + ETH_FAST_PATH_RX_CQE_L4_XSUM_NO_VALIDATION_FLG) return; - /* If both IP/L4 validation were done, check if an error was found. */ + /* If L4 validation was done, check if an error was found. */ if (cqe->fast_path_cqe.type_error_flags & (ETH_FAST_PATH_RX_CQE_IP_BAD_XSUM_FLG | --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c @@ -9494,10 +9494,13 @@ */ static void __devinit bnx2x_prev_interrupted_dmae(struct bnx2x *bp) { - u32 val = REG_RD(bp, PGLUE_B_REG_PGLUE_B_INT_STS); - if (val & PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN) { - BNX2X_ERR("was error bit was found to be set in pglueb upon startup. Clearing"); - REG_WR(bp, PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR, 1 << BP_FUNC(bp)); + if (!CHIP_IS_E1x(bp)) { + u32 val = REG_RD(bp, PGLUE_B_REG_PGLUE_B_INT_STS); + if (val & PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN) { + BNX2X_ERR("was error bit was found to be set in pglueb upon startup. Clearing"); + REG_WR(bp, PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR, + 1 << BP_FUNC(bp)); + } } } --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/calxeda/Kconfig +++ linux-lowlatency-3.5.0/drivers/net/ethernet/calxeda/Kconfig @@ -1,6 +1,6 @@ config NET_CALXEDA_XGMAC tristate "Calxeda 1G/10G XGMAC Ethernet driver" - depends on HAS_IOMEM + depends on HAS_IOMEM && ARM select CRC32 help This is the driver for the XGMAC Ethernet IP block found on Calxeda --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/calxeda/xgmac.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/calxeda/xgmac.c @@ -191,6 +191,7 @@ #define DMA_CONTROL_ST 0x00002000 /* Start/Stop Transmission */ #define DMA_CONTROL_SR 0x00000002 /* Start/Stop Receive */ #define DMA_CONTROL_DFF 0x01000000 /* Disable flush of rx frames */ +#define DMA_CONTROL_OSF 0x00000004 /* Operate on 2nd tx frame */ /* DMA Normal interrupt */ #define DMA_INTR_ENA_NIE 0x00010000 /* Normal Summary */ @@ -210,7 +211,7 @@ #define DMA_INTR_ENA_TIE 0x00000001 /* Transmit Interrupt */ #define DMA_INTR_NORMAL (DMA_INTR_ENA_NIE | DMA_INTR_ENA_RIE | \ - DMA_INTR_ENA_TUE) + DMA_INTR_ENA_TUE | DMA_INTR_ENA_TIE) #define DMA_INTR_ABNORMAL (DMA_INTR_ENA_AIE | DMA_INTR_ENA_FBE | \ DMA_INTR_ENA_RWE | DMA_INTR_ENA_RSE | \ @@ -264,7 +265,7 @@ #define XGMAC_OMR_FEF 0x00000080 /* Forward Error Frames */ #define XGMAC_OMR_DT 0x00000040 /* Drop TCP/IP csum Errors */ #define XGMAC_OMR_RSF 0x00000020 /* RX FIFO Store and Forward */ -#define XGMAC_OMR_RTC 0x00000010 /* RX Threshhold Ctrl */ +#define XGMAC_OMR_RTC_256 0x00000018 /* RX Threshhold Ctrl */ #define XGMAC_OMR_RTC_MASK 0x00000018 /* RX Threshhold Ctrl MASK */ /* XGMAC HW Features Register */ @@ -373,9 +374,9 @@ struct sk_buff **tx_skbuff; unsigned int tx_head; unsigned int tx_tail; + int tx_irq_cnt; void __iomem *base; - struct sk_buff_head rx_recycle; unsigned int dma_buf_sz; dma_addr_t dma_rx_phy; dma_addr_t dma_tx_phy; @@ -671,26 +672,21 @@ p = priv->dma_rx + entry; - if (priv->rx_skbuff[entry] != NULL) - continue; - - skb = __skb_dequeue(&priv->rx_recycle); - if (skb == NULL) + if (priv->rx_skbuff[entry] == NULL) { skb = netdev_alloc_skb(priv->dev, priv->dma_buf_sz); - if (unlikely(skb == NULL)) - break; + if (unlikely(skb == NULL)) + break; - priv->rx_skbuff[entry] = skb; - paddr = dma_map_single(priv->device, skb->data, - priv->dma_buf_sz, DMA_FROM_DEVICE); - desc_set_buf_addr(p, paddr, priv->dma_buf_sz); + priv->rx_skbuff[entry] = skb; + paddr = dma_map_single(priv->device, skb->data, + priv->dma_buf_sz, DMA_FROM_DEVICE); + desc_set_buf_addr(p, paddr, priv->dma_buf_sz); + } netdev_dbg(priv->dev, "rx ring: head %d, tail %d\n", priv->rx_head, priv->rx_tail); priv->rx_head = dma_ring_incr(priv->rx_head, DMA_RX_RING_SZ); - /* Ensure descriptor is in memory before handing to h/w */ - wmb(); desc_set_rx_owner(p); } } @@ -853,8 +849,6 @@ int i; void __iomem *ioaddr = priv->base; - writel(DMA_STATUS_TU | DMA_STATUS_NIS, ioaddr + XGMAC_DMA_STATUS); - while (dma_ring_cnt(priv->tx_head, priv->tx_tail, DMA_TX_RING_SZ)) { unsigned int entry = priv->tx_tail; struct sk_buff *skb = priv->tx_skbuff[entry]; @@ -890,21 +884,11 @@ desc_get_buf_len(p), DMA_TO_DEVICE); } - /* - * If there's room in the queue (limit it to size) - * we add this skb back into the pool, - * if it's the right size. - */ - if ((skb_queue_len(&priv->rx_recycle) < - DMA_RX_RING_SZ) && - skb_recycle_check(skb, priv->dma_buf_sz)) - __skb_queue_head(&priv->rx_recycle, skb); - else - dev_kfree_skb(skb); + dev_kfree_skb(skb); } if (dma_ring_space(priv->tx_head, priv->tx_tail, DMA_TX_RING_SZ) > - TX_THRESH) + MAX_SKB_FRAGS) netif_wake_queue(priv->dev); } @@ -933,6 +917,7 @@ desc_init_tx_desc(priv->dma_tx, DMA_TX_RING_SZ); priv->tx_tail = 0; priv->tx_head = 0; + writel(priv->dma_tx_phy, priv->base + XGMAC_DMA_TX_BASE_ADDR); writel(reg | DMA_CONTROL_ST, priv->base + XGMAC_DMA_CONTROL); writel(DMA_STATUS_TU | DMA_STATUS_TPS | DMA_STATUS_NIS | DMA_STATUS_AIS, @@ -972,7 +957,7 @@ writel(DMA_INTR_DEFAULT_MASK, ioaddr + XGMAC_DMA_INTR_ENA); /* XGMAC requires AXI bus init. This is a 'magic number' for now */ - writel(0x000100E, ioaddr + XGMAC_DMA_AXI_BUS); + writel(0x0077000E, ioaddr + XGMAC_DMA_AXI_BUS); ctrl |= XGMAC_CONTROL_DDIC | XGMAC_CONTROL_JE | XGMAC_CONTROL_ACS | XGMAC_CONTROL_CAR; @@ -980,11 +965,11 @@ ctrl |= XGMAC_CONTROL_IPC; writel(ctrl, ioaddr + XGMAC_CONTROL); - value = DMA_CONTROL_DFF; - writel(value, ioaddr + XGMAC_DMA_CONTROL); + writel(DMA_CONTROL_OSF, ioaddr + XGMAC_DMA_CONTROL); /* Set the HW DMA mode and the COE */ - writel(XGMAC_OMR_TSF | XGMAC_OMR_RSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA, + writel(XGMAC_OMR_TSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA | + XGMAC_OMR_RTC_256, ioaddr + XGMAC_OMR); /* Reset the MMC counters */ @@ -1017,7 +1002,6 @@ dev->dev_addr); } - skb_queue_head_init(&priv->rx_recycle); memset(&priv->xstats, 0, sizeof(struct xgmac_extra_stats)); /* Initialize the XGMAC and descriptors */ @@ -1054,7 +1038,6 @@ napi_disable(&priv->napi); writel(0, priv->base + XGMAC_DMA_INTR_ENA); - skb_queue_purge(&priv->rx_recycle); /* Disable the MAC core */ xgmac_mac_disable(priv->base); @@ -1076,19 +1059,15 @@ struct xgmac_priv *priv = netdev_priv(dev); unsigned int entry; int i; + u32 irq_flag; int nfrags = skb_shinfo(skb)->nr_frags; struct xgmac_dma_desc *desc, *first; unsigned int desc_flags; unsigned int len; dma_addr_t paddr; - if (dma_ring_space(priv->tx_head, priv->tx_tail, DMA_TX_RING_SZ) < - (nfrags + 1)) { - writel(DMA_INTR_DEFAULT_MASK | DMA_INTR_ENA_TIE, - priv->base + XGMAC_DMA_INTR_ENA); - netif_stop_queue(dev); - return NETDEV_TX_BUSY; - } + priv->tx_irq_cnt = (priv->tx_irq_cnt + 1) & (DMA_TX_RING_SZ/4 - 1); + irq_flag = priv->tx_irq_cnt ? 0 : TXDESC_INTERRUPT; desc_flags = (skb->ip_summed == CHECKSUM_PARTIAL) ? TXDESC_CSUM_ALL : 0; @@ -1129,9 +1108,9 @@ /* Interrupt on completition only for the latest segment */ if (desc != first) desc_set_tx_owner(desc, desc_flags | - TXDESC_LAST_SEG | TXDESC_INTERRUPT); + TXDESC_LAST_SEG | irq_flag); else - desc_flags |= TXDESC_LAST_SEG | TXDESC_INTERRUPT; + desc_flags |= TXDESC_LAST_SEG | irq_flag; /* Set owner on first desc last to avoid race condition */ wmb(); @@ -1140,6 +1119,9 @@ priv->tx_head = dma_ring_incr(entry, DMA_TX_RING_SZ); writel(1, priv->base + XGMAC_DMA_TX_POLL); + if (dma_ring_space(priv->tx_head, priv->tx_tail, DMA_TX_RING_SZ) < + MAX_SKB_FRAGS) + netif_stop_queue(dev); return NETDEV_TX_OK; } @@ -1155,9 +1137,6 @@ struct sk_buff *skb; int frame_len; - writel(DMA_STATUS_RI | DMA_STATUS_NIS, - priv->base + XGMAC_DMA_STATUS); - entry = priv->rx_tail; p = priv->dma_rx + entry; if (desc_get_owner(p)) @@ -1196,8 +1175,6 @@ xgmac_rx_refill(priv); - writel(1, priv->base + XGMAC_DMA_RX_POLL); - return count; } @@ -1221,7 +1198,7 @@ if (work_done < budget) { napi_complete(napi); - writel(DMA_INTR_DEFAULT_MASK, priv->base + XGMAC_DMA_INTR_ENA); + writel_relaxed(DMA_INTR_DEFAULT_MASK, priv->base + XGMAC_DMA_INTR_ENA); } return work_done; } @@ -1366,7 +1343,7 @@ struct xgmac_priv *priv = netdev_priv(dev); void __iomem *ioaddr = priv->base; - intr_status = readl(ioaddr + XGMAC_INT_STAT); + intr_status = readl_relaxed(ioaddr + XGMAC_INT_STAT); if (intr_status & XGMAC_INT_STAT_PMT) { netdev_dbg(priv->dev, "received Magic frame\n"); /* clear the PMT bits 5 and 6 by reading the PMT */ @@ -1384,9 +1361,9 @@ struct xgmac_extra_stats *x = &priv->xstats; /* read the status register (CSR5) */ - intr_status = readl(priv->base + XGMAC_DMA_STATUS); - intr_status &= readl(priv->base + XGMAC_DMA_INTR_ENA); - writel(intr_status, priv->base + XGMAC_DMA_STATUS); + intr_status = readl_relaxed(priv->base + XGMAC_DMA_STATUS); + intr_status &= readl_relaxed(priv->base + XGMAC_DMA_INTR_ENA); + writel_relaxed(intr_status, priv->base + XGMAC_DMA_STATUS); /* It displays the DMA process states (CSR5 register) */ /* ABNORMAL interrupts */ @@ -1421,8 +1398,8 @@ } /* TX/RX NORMAL interrupts */ - if (intr_status & (DMA_STATUS_RI | DMA_STATUS_TU)) { - writel(DMA_INTR_ABNORMAL, priv->base + XGMAC_DMA_INTR_ENA); + if (intr_status & (DMA_STATUS_RI | DMA_STATUS_TU | DMA_STATUS_TI)) { + writel_relaxed(DMA_INTR_ABNORMAL, priv->base + XGMAC_DMA_INTR_ENA); napi_schedule(&priv->napi); } --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/cirrus/cs89x0.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/cirrus/cs89x0.c @@ -1243,6 +1243,7 @@ { struct net_local *lp = netdev_priv(dev); unsigned long flags; + u16 cfg; spin_lock_irqsave(&lp->lock, flags); if (dev->flags & IFF_PROMISC) @@ -1260,11 +1261,10 @@ /* in promiscuous mode, we accept errored packets, * so we have to enable interrupts on them also */ - writereg(dev, PP_RxCFG, - (lp->curr_rx_cfg | - (lp->rx_mode == RX_ALL_ACCEPT) - ? (RX_CRC_ERROR_ENBL | RX_RUNT_ENBL | RX_EXTRA_DATA_ENBL) - : 0)); + cfg = lp->curr_rx_cfg; + if (lp->rx_mode == RX_ALL_ACCEPT) + cfg |= RX_CRC_ERROR_ENBL | RX_RUNT_ENBL | RX_EXTRA_DATA_ENBL; + writereg(dev, PP_RxCFG, cfg); spin_unlock_irqrestore(&lp->lock, flags); } --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/emulex/benet/be_ethtool.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/emulex/benet/be_ethtool.c @@ -910,8 +910,9 @@ if (!status) { cfgs = (struct be_fat_conf_params *)(extfat_cmd.va + sizeof(struct be_cmd_resp_hdr)); - for (i = 0; i < cfgs->num_modules; i++) { - for (j = 0; j < cfgs->module[i].num_modes; j++) { + for (i = 0; i < le32_to_cpu(cfgs->num_modules); i++) { + u32 num_modes = le32_to_cpu(cfgs->module[i].num_modes); + for (j = 0; j < num_modes; j++) { if (cfgs->module[i].trace_lvl[j].mode == MODE_UART) cfgs->module[i].trace_lvl[j].dbg_lvl = --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/emulex/benet/be_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/emulex/benet/be_main.c @@ -3479,7 +3479,7 @@ if (!status) { cfgs = (struct be_fat_conf_params *)(extfat_cmd.va + sizeof(struct be_cmd_resp_hdr)); - for (j = 0; j < cfgs->module[0].num_modes; j++) { + for (j = 0; j < le32_to_cpu(cfgs->module[0].num_modes); j++) { if (cfgs->module[0].trace_lvl[j].mode == MODE_UART) level = cfgs->module[0].trace_lvl[j].dbg_lvl; } --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/freescale/gianfar.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/freescale/gianfar.c @@ -1037,7 +1037,7 @@ if (priv->device_flags & FSL_GIANFAR_DEV_HAS_VLAN) { dev->hw_features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; - dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; + dev->features |= NETIF_F_HW_VLAN_RX; } if (priv->device_flags & FSL_GIANFAR_DEV_HAS_EXTENDED_HASH) { @@ -1746,7 +1746,6 @@ sizeof(struct rxbd8) * priv->total_rx_ring_size, priv->tx_queue[0]->tx_bd_base, priv->tx_queue[0]->tx_bd_dma_base); - skb_queue_purge(&priv->rx_recycle); } void gfar_start(struct net_device *dev) @@ -1921,8 +1920,6 @@ enable_napi(priv); - skb_queue_head_init(&priv->rx_recycle); - /* Initialize a bunch of registers */ init_registers(dev); @@ -2513,17 +2510,7 @@ bytes_sent += skb->len; - /* - * If there's room in the queue (limit it to rx_buffer_size) - * we add this skb back into the pool, if it's the right size - */ - if (skb_queue_len(&priv->rx_recycle) < rx_queue->rx_ring_size && - skb_recycle_check(skb, priv->rx_buffer_size + - RXBUF_ALIGNMENT)) { - gfar_align_skb(skb); - skb_queue_head(&priv->rx_recycle, skb); - } else - dev_kfree_skb_any(skb); + dev_kfree_skb_any(skb); tx_queue->tx_skbuff[skb_dirtytx] = NULL; @@ -2590,7 +2577,7 @@ static struct sk_buff * gfar_alloc_skb(struct net_device *dev) { struct gfar_private *priv = netdev_priv(dev); - struct sk_buff *skb = NULL; + struct sk_buff *skb; skb = netdev_alloc_skb(dev, priv->rx_buffer_size + RXBUF_ALIGNMENT); if (!skb) @@ -2603,14 +2590,7 @@ struct sk_buff * gfar_new_skb(struct net_device *dev) { - struct gfar_private *priv = netdev_priv(dev); - struct sk_buff *skb = NULL; - - skb = skb_dequeue(&priv->rx_recycle); - if (!skb) - skb = gfar_alloc_skb(dev); - - return skb; + return gfar_alloc_skb(dev); } static inline void count_errors(unsigned short status, struct net_device *dev) @@ -2768,7 +2748,7 @@ if (unlikely(!newskb)) newskb = skb; else if (skb) - skb_queue_head(&priv->rx_recycle, skb); + dev_kfree_skb(skb); } else { /* Increment the number of packets */ rx_queue->stats.rx_packets++; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/freescale/gianfar.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/freescale/gianfar.h @@ -1072,8 +1072,6 @@ u32 cur_filer_idx; - struct sk_buff_head rx_recycle; - /* RX queue filer rule set*/ struct ethtool_rx_list rx_list; struct mutex rx_queue_access; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/freescale/gianfar_ethtool.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/freescale/gianfar_ethtool.c @@ -1741,6 +1741,7 @@ } int gfar_phc_index = -1; +EXPORT_SYMBOL(gfar_phc_index); static int gfar_get_ts_info(struct net_device *dev, struct ethtool_ts_info *info) --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/freescale/gianfar_ptp.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/freescale/gianfar_ptp.c @@ -515,7 +515,7 @@ err = PTR_ERR(etsects->clock); goto no_clock; } - gfar_phc_clock = ptp_clock_index(etsects->clock); + gfar_phc_index = ptp_clock_index(etsects->clock); dev_set_drvdata(&dev->dev, etsects); @@ -539,7 +539,7 @@ gfar_write(&etsects->regs->tmr_temask, 0); gfar_write(&etsects->regs->tmr_ctrl, 0); - gfar_phc_clock = -1; + gfar_phc_index = -1; ptp_clock_unregister(etsects->clock); iounmap(etsects->regs); release_resource(etsects->rsrc); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/freescale/ucc_geth.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/freescale/ucc_geth.c @@ -210,14 +210,12 @@ static struct sk_buff *get_new_skb(struct ucc_geth_private *ugeth, u8 __iomem *bd) { - struct sk_buff *skb = NULL; + struct sk_buff *skb; - skb = __skb_dequeue(&ugeth->rx_recycle); + skb = netdev_alloc_skb(ugeth->ndev, + ugeth->ug_info->uf_info.max_rx_buf_length + + UCC_GETH_RX_DATA_BUF_ALIGNMENT); if (!skb) - skb = netdev_alloc_skb(ugeth->ndev, - ugeth->ug_info->uf_info.max_rx_buf_length + - UCC_GETH_RX_DATA_BUF_ALIGNMENT); - if (skb == NULL) return NULL; /* We need the data buffer to be aligned properly. We will reserve @@ -2021,8 +2019,6 @@ iounmap(ugeth->ug_regs); ugeth->ug_regs = NULL; } - - skb_queue_purge(&ugeth->rx_recycle); } static void ucc_geth_set_multi(struct net_device *dev) @@ -2231,8 +2227,6 @@ return -ENOMEM; } - skb_queue_head_init(&ugeth->rx_recycle); - return 0; } @@ -3275,12 +3269,7 @@ if (netif_msg_rx_err(ugeth)) ugeth_err("%s, %d: ERROR!!! skb - 0x%08x", __func__, __LINE__, (u32) skb); - if (skb) { - skb->data = skb->head + NET_SKB_PAD; - skb->len = 0; - skb_reset_tail_pointer(skb); - __skb_queue_head(&ugeth->rx_recycle, skb); - } + dev_kfree_skb(skb); ugeth->rx_skbuff[rxQ][ugeth->skb_currx[rxQ]] = NULL; dev->stats.rx_dropped++; @@ -3350,13 +3339,7 @@ dev->stats.tx_packets++; - if (skb_queue_len(&ugeth->rx_recycle) < RX_BD_RING_LEN && - skb_recycle_check(skb, - ugeth->ug_info->uf_info.max_rx_buf_length + - UCC_GETH_RX_DATA_BUF_ALIGNMENT)) - __skb_queue_head(&ugeth->rx_recycle, skb); - else - dev_kfree_skb(skb); + dev_kfree_skb(skb); ugeth->tx_skbuff[txQ][ugeth->skb_dirtytx[txQ]] = NULL; ugeth->skb_dirtytx[txQ] = --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/freescale/ucc_geth.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/freescale/ucc_geth.h @@ -1214,8 +1214,6 @@ /* index of the first skb which hasn't been transmitted yet. */ u16 skb_dirtytx[NUM_TX_QUEUES]; - struct sk_buff_head rx_recycle; - struct ugeth_mii_info *mii_info; struct phy_device *phydev; phy_interface_t phy_interface; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/ibm/ibmveth.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/ibm/ibmveth.c @@ -472,14 +472,9 @@ } if (adapter->rx_queue.queue_addr != NULL) { - if (!dma_mapping_error(dev, adapter->rx_queue.queue_dma)) { - dma_unmap_single(dev, - adapter->rx_queue.queue_dma, - adapter->rx_queue.queue_len, - DMA_BIDIRECTIONAL); - adapter->rx_queue.queue_dma = DMA_ERROR_CODE; - } - kfree(adapter->rx_queue.queue_addr); + dma_free_coherent(dev, adapter->rx_queue.queue_len, + adapter->rx_queue.queue_addr, + adapter->rx_queue.queue_dma); adapter->rx_queue.queue_addr = NULL; } @@ -556,10 +551,13 @@ goto err_out; } + dev = &adapter->vdev->dev; + adapter->rx_queue.queue_len = sizeof(struct ibmveth_rx_q_entry) * rxq_entries; - adapter->rx_queue.queue_addr = kmalloc(adapter->rx_queue.queue_len, - GFP_KERNEL); + adapter->rx_queue.queue_addr = + dma_alloc_coherent(dev, adapter->rx_queue.queue_len, + &adapter->rx_queue.queue_dma, GFP_KERNEL); if (!adapter->rx_queue.queue_addr) { netdev_err(netdev, "unable to allocate rx queue pages\n"); @@ -567,19 +565,13 @@ goto err_out; } - dev = &adapter->vdev->dev; - adapter->buffer_list_dma = dma_map_single(dev, adapter->buffer_list_addr, 4096, DMA_BIDIRECTIONAL); adapter->filter_list_dma = dma_map_single(dev, adapter->filter_list_addr, 4096, DMA_BIDIRECTIONAL); - adapter->rx_queue.queue_dma = dma_map_single(dev, - adapter->rx_queue.queue_addr, - adapter->rx_queue.queue_len, DMA_BIDIRECTIONAL); if ((dma_mapping_error(dev, adapter->buffer_list_dma)) || - (dma_mapping_error(dev, adapter->filter_list_dma)) || - (dma_mapping_error(dev, adapter->rx_queue.queue_dma))) { + (dma_mapping_error(dev, adapter->filter_list_dma))) { netdev_err(netdev, "unable to map filter or buffer list " "pages\n"); rc = -ENOMEM; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000/e1000_ethtool.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000/e1000_ethtool.c @@ -1851,6 +1851,7 @@ .get_sset_count = e1000_get_sset_count, .get_coalesce = e1000_get_coalesce, .set_coalesce = e1000_set_coalesce, + .get_ts_info = ethtool_op_get_ts_info, }; void e1000_set_ethtool_ops(struct net_device *netdev) --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000/e1000_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000/e1000_main.c @@ -187,6 +187,10 @@ MODULE_PARM_DESC(copybreak, "Maximum size of packet that is copied to a new buffer on receive"); +static int eeprom_bad_csum_allow __read_mostly = 0; +module_param(eeprom_bad_csum_allow, int, 0); +MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad EEPROM checksums"); + static pci_ers_result_t e1000_io_error_detected(struct pci_dev *pdev, pci_channel_state_t state); static pci_ers_result_t e1000_io_slot_reset(struct pci_dev *pdev); @@ -1078,18 +1082,18 @@ netdev->priv_flags |= IFF_SUPP_NOFCS; netdev->features |= netdev->hw_features; - netdev->hw_features |= NETIF_F_RXCSUM; - netdev->hw_features |= NETIF_F_RXALL; - netdev->hw_features |= NETIF_F_RXFCS; + netdev->hw_features |= (NETIF_F_RXCSUM | + NETIF_F_RXALL | + NETIF_F_RXFCS); if (pci_using_dac) { netdev->features |= NETIF_F_HIGHDMA; netdev->vlan_features |= NETIF_F_HIGHDMA; } - netdev->vlan_features |= NETIF_F_TSO; - netdev->vlan_features |= NETIF_F_HW_CSUM; - netdev->vlan_features |= NETIF_F_SG; + netdev->vlan_features |= (NETIF_F_TSO | + NETIF_F_HW_CSUM | + NETIF_F_SG); netdev->priv_flags |= IFF_UNICAST_FLT; @@ -1106,8 +1110,8 @@ e1000_reset_hw(hw); - /* make sure the EEPROM is good */ - if (e1000_validate_eeprom_checksum(hw) < 0) { + /* make sure the EEPROM is good, skip if eeprom_bad_csum_allow is 1 */ + if ((e1000_validate_eeprom_checksum(hw) < 0) && (!eeprom_bad_csum_allow)) { e_err(probe, "The EEPROM Checksum Is Not Valid\n"); e1000_dump_eeprom(adapter); /* @@ -3152,6 +3156,17 @@ return NETDEV_TX_OK; } + /* On PCI/PCI-X HW, if packet size is less than ETH_ZLEN, + * packets may get corrupted during padding by HW. + * To WA this issue, pad all small packets manually. + */ + if (skb->len < ETH_ZLEN) { + if (skb_pad(skb, ETH_ZLEN - skb->len)) + return NETDEV_TX_OK; + skb->len = ETH_ZLEN; + skb_set_tail_pointer(skb, ETH_ZLEN); + } + mss = skb_shinfo(skb)->gso_size; /* The controller does a simple calculation to * make sure there is enough room in the FIFO before --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000e/82571.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000e/82571.c @@ -999,7 +999,7 @@ **/ static s32 e1000_reset_hw_82571(struct e1000_hw *hw) { - u32 ctrl, ctrl_ext, eecd; + u32 ctrl, ctrl_ext, eecd, tctl; s32 ret_val; /* @@ -1014,7 +1014,9 @@ ew32(IMC, 0xffffffff); ew32(RCTL, 0); - ew32(TCTL, E1000_TCTL_PSP); + tctl = er32(TCTL); + tctl &= ~E1000_TCTL_EN; + ew32(TCTL, tctl); e1e_flush(); usleep_range(10000, 20000); @@ -1601,10 +1603,8 @@ * auto-negotiation in the TXCW register and disable * forced link in the Device Control register in an * attempt to auto-negotiate with our link partner. - * If the partner code word is null, stop forcing - * and restart auto negotiation. */ - if ((rxcw & E1000_RXCW_C) || !(rxcw & E1000_RXCW_CW)) { + if (rxcw & E1000_RXCW_C) { /* Enable autoneg, and unforce link up */ ew32(TXCW, mac->txcw); ew32(CTRL, (ctrl & ~E1000_CTRL_SLU)); @@ -1680,16 +1680,18 @@ e_dbg("ANYSTATE -> DOWN\n"); } else { /* - * Check several times, if Sync and Config - * both are consistently 1 then simply ignore - * the Invalid bit and restart Autoneg + * Check several times, if SYNCH bit and CONFIG + * bit both are consistently 1 then simply ignore + * the IV bit and restart Autoneg */ for (i = 0; i < AN_RETRY_COUNT; i++) { udelay(10); rxcw = er32(RXCW); - if ((rxcw & E1000_RXCW_IV) && - !((rxcw & E1000_RXCW_SYNCH) && - (rxcw & E1000_RXCW_C))) { + if ((rxcw & E1000_RXCW_SYNCH) && + (rxcw & E1000_RXCW_C)) + continue; + + if (rxcw & E1000_RXCW_IV) { mac->serdes_has_link = false; mac->serdes_link_state = e1000_serdes_link_down; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000e/e1000.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000e/e1000.h @@ -310,6 +310,7 @@ */ struct e1000_ring *tx_ring /* One per active queue */ ____cacheline_aligned_in_smp; + u32 tx_fifo_limit; struct napi_struct napi; @@ -514,6 +515,7 @@ extern void e1000e_reset_interrupt_capability(struct e1000_adapter *adapter); extern void e1000e_get_hw_control(struct e1000_adapter *adapter); extern void e1000e_release_hw_control(struct e1000_adapter *adapter); +extern void e1000e_write_itr(struct e1000_adapter *adapter, u32 itr); extern unsigned int copybreak; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000e/ethtool.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000e/ethtool.c @@ -1897,7 +1897,6 @@ struct ethtool_coalesce *ec) { struct e1000_adapter *adapter = netdev_priv(netdev); - struct e1000_hw *hw = &adapter->hw; if ((ec->rx_coalesce_usecs > E1000_MAX_ITR_USECS) || ((ec->rx_coalesce_usecs > 4) && @@ -1916,9 +1915,9 @@ } if (adapter->itr_setting != 0) - ew32(ITR, 1000000000 / (adapter->itr * 256)); + e1000e_write_itr(adapter, adapter->itr); else - ew32(ITR, 0); + e1000e_write_itr(adapter, 0); return 0; } @@ -2062,6 +2061,7 @@ .get_coalesce = e1000_get_coalesce, .set_coalesce = e1000_set_coalesce, .get_rxnfc = e1000_get_rxnfc, + .get_ts_info = ethtool_op_get_ts_info, }; void e1000e_set_ethtool_ops(struct net_device *netdev) --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000e/hw.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000e/hw.h @@ -412,6 +412,8 @@ #define E1000_DEV_ID_PCH2_LV_V 0x1503 #define E1000_DEV_ID_PCH_LPT_I217_LM 0x153A #define E1000_DEV_ID_PCH_LPT_I217_V 0x153B +#define E1000_DEV_ID_PCH_LPTLP_I218_LM 0x155A +#define E1000_DEV_ID_PCH_LPTLP_I218_V 0x1559 #define E1000_REVISION_4 4 --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000e/netdev.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000e/netdev.c @@ -65,6 +65,10 @@ module_param(debug, int, 0); MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); +static int eeprom_bad_csum_allow __read_mostly = 0; +module_param(eeprom_bad_csum_allow, int, 0); +MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad EEPROM checksums"); + static void e1000e_disable_aspm(struct pci_dev *pdev, u16 state); static const struct e1000_info *e1000_info_tbl[] = { @@ -178,6 +182,24 @@ pr_info("%-15s %08x %08x\n", rname, regs[0], regs[1]); } +static void e1000e_dump_ps_pages(struct e1000_adapter *adapter, + struct e1000_buffer *bi) +{ + int i; + struct e1000_ps_page *ps_page; + + for (i = 0; i < adapter->rx_ps_pages; i++) { + ps_page = &bi->ps_pages[i]; + + if (ps_page->page) { + pr_info("packet dump for ps_page %d:\n", i); + print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, + 16, 1, page_address(ps_page->page), + PAGE_SIZE, true); + } + } +} + /* * e1000e_dump - Print registers, Tx-ring and Rx-ring */ @@ -299,10 +321,10 @@ (unsigned long long)buffer_info->time_stamp, buffer_info->skb, next_desc); - if (netif_msg_pktdata(adapter) && buffer_info->dma != 0) + if (netif_msg_pktdata(adapter) && buffer_info->skb) print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, - 16, 1, phys_to_virt(buffer_info->dma), - buffer_info->length, true); + 16, 1, buffer_info->skb->data, + buffer_info->skb->len, true); } /* Print Rx Ring Summary */ @@ -381,10 +403,8 @@ buffer_info->skb, next_desc); if (netif_msg_pktdata(adapter)) - print_hex_dump(KERN_INFO, "", - DUMP_PREFIX_ADDRESS, 16, 1, - phys_to_virt(buffer_info->dma), - adapter->rx_ps_bsize0, true); + e1000e_dump_ps_pages(adapter, + buffer_info); } } break; @@ -444,12 +464,12 @@ (unsigned long long)buffer_info->dma, buffer_info->skb, next_desc); - if (netif_msg_pktdata(adapter)) + if (netif_msg_pktdata(adapter) && + buffer_info->skb) print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, 16, 1, - phys_to_virt - (buffer_info->dma), + buffer_info->skb->data, adapter->rx_buffer_len, true); } @@ -2474,6 +2494,30 @@ } /** + * e1000e_write_itr - write the ITR value to the appropriate registers + * @adapter: address of board private structure + * @itr: new ITR value to program + * + * e1000e_write_itr determines if the adapter is in MSI-X mode + * and, if so, writes the EITR registers with the ITR value. + * Otherwise, it writes the ITR value into the ITR register. + **/ +void e1000e_write_itr(struct e1000_adapter *adapter, u32 itr) +{ + struct e1000_hw *hw = &adapter->hw; + u32 new_itr = itr ? 1000000000 / (itr * 256) : 0; + + if (adapter->msix_entries) { + int vector; + + for (vector = 0; vector < adapter->num_vectors; vector++) + writel(new_itr, hw->hw_addr + E1000_EITR_82574(vector)); + } else { + ew32(ITR, new_itr); + } +} + +/** * e1000_alloc_queues - Allocate memory for all rings * @adapter: board private structure to initialize **/ @@ -3059,7 +3103,7 @@ /* irq moderation */ ew32(RADV, adapter->rx_abs_int_delay); if ((adapter->itr_setting != 0) && (adapter->itr != 0)) - ew32(ITR, 1000000000 / (adapter->itr * 256)); + e1000e_write_itr(adapter, adapter->itr); ctrl_ext = er32(CTRL_EXT); /* Auto-Mask interrupts upon ICR access */ @@ -3477,6 +3521,15 @@ } /* + * Alignment of Tx data is on an arbitrary byte boundary with the + * maximum size per Tx descriptor limited only to the transmit + * allocation of the packet buffer minus 96 bytes with an upper + * limit of 24KB due to receive synchronization limitations. + */ + adapter->tx_fifo_limit = min_t(u32, ((er32(PBA) >> 16) << 10) - 96, + 24 << 10); + + /* * Disable Adaptive Interrupt Moderation if 2 full packets cannot * fit in receive buffer. */ @@ -3486,14 +3539,14 @@ dev_info(&adapter->pdev->dev, "Interrupt Throttle Rate turned off\n"); adapter->flags2 |= FLAG2_DISABLE_AIM; - ew32(ITR, 0); + e1000e_write_itr(adapter, 0); } } else if (adapter->flags2 & FLAG2_DISABLE_AIM) { dev_info(&adapter->pdev->dev, "Interrupt Throttle Rate turned on\n"); adapter->flags2 &= ~FLAG2_DISABLE_AIM; adapter->itr = 20000; - ew32(ITR, 1000000000 / (adapter->itr * 256)); + e1000e_write_itr(adapter, adapter->itr); } } @@ -4576,7 +4629,7 @@ adapter->gorc - adapter->gotc) / 10000; u32 itr = goc > 0 ? (dif * 6000 / goc + 2000) : 8000; - ew32(ITR, 1000000000 / (itr * 256)); + e1000e_write_itr(adapter, itr); } /* Cause software interrupt to ensure Rx ring is cleaned */ @@ -4745,12 +4798,9 @@ return 1; } -#define E1000_MAX_PER_TXD 8192 -#define E1000_MAX_TXD_PWR 12 - static int e1000_tx_map(struct e1000_ring *tx_ring, struct sk_buff *skb, unsigned int first, unsigned int max_per_txd, - unsigned int nr_frags, unsigned int mss) + unsigned int nr_frags) { struct e1000_adapter *adapter = tx_ring->adapter; struct pci_dev *pdev = adapter->pdev; @@ -4983,20 +5033,19 @@ static int e1000_maybe_stop_tx(struct e1000_ring *tx_ring, int size) { + BUG_ON(size > tx_ring->count); + if (e1000_desc_unused(tx_ring) >= size) return 0; return __e1000_maybe_stop_tx(tx_ring, size); } -#define TXD_USE_COUNT(S, X) (((S) >> (X)) + 1) static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) { struct e1000_adapter *adapter = netdev_priv(netdev); struct e1000_ring *tx_ring = adapter->tx_ring; unsigned int first; - unsigned int max_per_txd = E1000_MAX_PER_TXD; - unsigned int max_txd_pwr = E1000_MAX_TXD_PWR; unsigned int tx_flags = 0; unsigned int len = skb_headlen(skb); unsigned int nr_frags; @@ -5016,18 +5065,8 @@ } mss = skb_shinfo(skb)->gso_size; - /* - * The controller does a simple calculation to - * make sure there is enough room in the FIFO before - * initiating the DMA for each buffer. The calc is: - * 4 = ceil(buffer len/mss). To make sure we don't - * overrun the FIFO, adjust the max buffer len if mss - * drops. - */ if (mss) { u8 hdr_len; - max_per_txd = min(mss << 2, max_per_txd); - max_txd_pwr = fls(max_per_txd) - 1; /* * TSO Workaround for 82571/2/3 Controllers -- if skb->data @@ -5057,12 +5096,12 @@ count++; count++; - count += TXD_USE_COUNT(len, max_txd_pwr); + count += DIV_ROUND_UP(len, adapter->tx_fifo_limit); nr_frags = skb_shinfo(skb)->nr_frags; for (f = 0; f < nr_frags; f++) - count += TXD_USE_COUNT(skb_frag_size(&skb_shinfo(skb)->frags[f]), - max_txd_pwr); + count += DIV_ROUND_UP(skb_frag_size(&skb_shinfo(skb)->frags[f]), + adapter->tx_fifo_limit); if (adapter->hw.mac.tx_pkt_filtering) e1000_transfer_dhcp_info(adapter, skb); @@ -5104,15 +5143,18 @@ tx_flags |= E1000_TX_FLAGS_NO_FCS; /* if count is 0 then mapping error has occurred */ - count = e1000_tx_map(tx_ring, skb, first, max_per_txd, nr_frags, mss); + count = e1000_tx_map(tx_ring, skb, first, adapter->tx_fifo_limit, + nr_frags); if (count) { skb_tx_timestamp(skb); netdev_sent_queue(netdev, skb->len); e1000_tx_queue(tx_ring, tx_flags, count); /* Make sure there is space in the ring for the next send. */ - e1000_maybe_stop_tx(tx_ring, MAX_SKB_FRAGS + 2); - + e1000_maybe_stop_tx(tx_ring, + (MAX_SKB_FRAGS * + DIV_ROUND_UP(PAGE_SIZE, + adapter->tx_fifo_limit) + 2)); } else { dev_kfree_skb_any(skb); tx_ring->buffer_info[first].time_stamp = 0; @@ -6191,7 +6233,8 @@ } if (hw->phy.ops.check_reset_block && hw->phy.ops.check_reset_block(hw)) - e_info("PHY reset is blocked due to SOL/IDER session.\n"); + dev_info(&pdev->dev, + "PHY reset is blocked due to SOL/IDER session.\n"); /* Set initial default active device features */ netdev->features = (NETIF_F_SG | @@ -6241,9 +6284,15 @@ if (e1000_validate_nvm_checksum(&adapter->hw) >= 0) break; if (i == 2) { - e_err("The NVM Checksum Is Not Valid\n"); - err = -EIO; - goto err_eeprom; + dev_err(&pdev->dev, "The NVM Checksum Is Not Valid\n"); + + /* if we allow bad checksums, just break */ + if (eeprom_bad_csum_allow) { + break; + } else { + err = -EIO; + goto err_eeprom; + } } } @@ -6251,13 +6300,15 @@ /* copy the MAC address */ if (e1000e_read_mac_addr(&adapter->hw)) - e_err("NVM Read Error while reading MAC address\n"); + dev_err(&pdev->dev, + "NVM Read Error while reading MAC address\n"); memcpy(netdev->dev_addr, adapter->hw.mac.addr, netdev->addr_len); memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len); if (!is_valid_ether_addr(netdev->perm_addr)) { - e_err("Invalid MAC Address: %pM\n", netdev->perm_addr); + dev_err(&pdev->dev, "Invalid MAC Address: %pM\n", + netdev->perm_addr); err = -EIO; goto err_eeprom; } @@ -6284,8 +6335,8 @@ adapter->hw.phy.autoneg_advertised = 0x2f; /* ring size defaults */ - adapter->rx_ring->count = 256; - adapter->tx_ring->count = 256; + adapter->rx_ring->count = E1000_DEFAULT_RXD; + adapter->tx_ring->count = E1000_DEFAULT_TXD; /* * Initial Wake on LAN setting - If APM wake is enabled in @@ -6521,6 +6572,8 @@ { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_LM), board_pch_lpt }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V), board_pch_lpt }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM), board_pch_lpt }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V), board_pch_lpt }, { 0, 0, 0, 0, 0, 0, 0 } /* terminate list */ }; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/e1000e/param.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/e1000e/param.c @@ -199,16 +199,19 @@ case enable_option: switch (*value) { case OPTION_ENABLED: - e_info("%s Enabled\n", opt->name); + dev_info(&adapter->pdev->dev, "%s Enabled\n", + opt->name); return 0; case OPTION_DISABLED: - e_info("%s Disabled\n", opt->name); + dev_info(&adapter->pdev->dev, "%s Disabled\n", + opt->name); return 0; } break; case range_option: if (*value >= opt->arg.r.min && *value <= opt->arg.r.max) { - e_info("%s set to %i\n", opt->name, *value); + dev_info(&adapter->pdev->dev, "%s set to %i\n", + opt->name, *value); return 0; } break; @@ -220,7 +223,8 @@ ent = &opt->arg.l.p[i]; if (*value == ent->i) { if (ent->str[0] != '\0') - e_info("%s\n", ent->str); + dev_info(&adapter->pdev->dev, "%s\n", + ent->str); return 0; } } @@ -230,8 +234,8 @@ BUG(); } - e_info("Invalid %s value specified (%i) %s\n", opt->name, *value, - opt->err); + dev_info(&adapter->pdev->dev, "Invalid %s value specified (%i) %s\n", + opt->name, *value, opt->err); *value = opt->def; return -1; } @@ -251,8 +255,10 @@ int bd = adapter->bd_number; if (bd >= E1000_MAX_NIC) { - e_notice("Warning: no configuration for board #%i\n", bd); - e_notice("Using defaults for all values\n"); + dev_notice(&adapter->pdev->dev, + "Warning: no configuration for board #%i\n", bd); + dev_notice(&adapter->pdev->dev, + "Using defaults for all values\n"); } { /* Transmit Interrupt Delay */ @@ -366,27 +372,32 @@ * default values */ if (adapter->itr > 4) - e_info("%s set to default %d\n", opt.name, - adapter->itr); + dev_info(&adapter->pdev->dev, + "%s set to default %d\n", opt.name, + adapter->itr); } adapter->itr_setting = adapter->itr; switch (adapter->itr) { case 0: - e_info("%s turned off\n", opt.name); + dev_info(&adapter->pdev->dev, "%s turned off\n", + opt.name); break; case 1: - e_info("%s set to dynamic mode\n", opt.name); + dev_info(&adapter->pdev->dev, + "%s set to dynamic mode\n", opt.name); adapter->itr = 20000; break; case 3: - e_info("%s set to dynamic conservative mode\n", - opt.name); + dev_info(&adapter->pdev->dev, + "%s set to dynamic conservative mode\n", + opt.name); adapter->itr = 20000; break; case 4: - e_info("%s set to simplified (2000-8000 ints) mode\n", - opt.name); + dev_info(&adapter->pdev->dev, + "%s set to simplified (2000-8000 ints) mode\n", + opt.name); break; default: /* --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/igb/e1000_82575.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/igb/e1000_82575.c @@ -254,6 +254,14 @@ */ size += NVM_WORD_SIZE_BASE_SHIFT; + /* + * Check for invalid size + */ + if ((hw->mac.type == e1000_82576) && (size > 15)) { + pr_notice("The NVM size is not valid, defaulting to 32K\n"); + size = 15; + } + nvm->word_size = 1 << size; if (hw->mac.type < e1000_i210) { nvm->opcode_bits = 8; @@ -281,14 +289,6 @@ } else nvm->type = e1000_nvm_flash_hw; - /* - * Check for invalid size - */ - if ((hw->mac.type == e1000_82576) && (size > 15)) { - pr_notice("The NVM size is not valid, defaulting to 32K\n"); - size = 15; - } - /* NVM Function Pointers */ switch (hw->mac.type) { case e1000_82580: --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/igb/e1000_regs.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/igb/e1000_regs.h @@ -117,6 +117,7 @@ /* TX Rate Limit Registers */ #define E1000_RTTDQSEL 0x3604 /* Tx Desc Plane Queue Select - WO */ +#define E1000_RTTBCNRM 0x3690 /* Tx BCN Rate-scheduler MMW */ #define E1000_RTTBCNRC 0x36B0 /* Tx BCN Rate-Scheduler Config - WO */ /* Split and Replication RX Control - RW */ @@ -155,8 +156,12 @@ : (0x0E018 + ((_n) * 0x40))) #define E1000_TXDCTL(_n) ((_n) < 4 ? (0x03828 + ((_n) * 0x100)) \ : (0x0E028 + ((_n) * 0x40))) -#define E1000_DCA_TXCTRL(_n) (0x03814 + (_n << 8)) -#define E1000_DCA_RXCTRL(_n) (0x02814 + (_n << 8)) +#define E1000_RXCTL(_n) ((_n) < 4 ? (0x02814 + ((_n) * 0x100)) : \ + (0x0C014 + ((_n) * 0x40))) +#define E1000_DCA_RXCTRL(_n) E1000_RXCTL(_n) +#define E1000_TXCTL(_n) ((_n) < 4 ? (0x03814 + ((_n) * 0x100)) : \ + (0x0E014 + ((_n) * 0x40))) +#define E1000_DCA_TXCTRL(_n) E1000_TXCTL(_n) #define E1000_TDWBAL(_n) ((_n) < 4 ? (0x03838 + ((_n) * 0x100)) \ : (0x0E038 + ((_n) * 0x40))) #define E1000_TDWBAH(_n) ((_n) < 4 ? (0x0383C + ((_n) * 0x100)) \ --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/igb/igb.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/igb/igb.h @@ -65,19 +65,30 @@ #define MAX_Q_VECTORS 8 /* Transmit and receive queues */ -#define IGB_MAX_RX_QUEUES ((adapter->vfs_allocated_count ? 2 : \ - (hw->mac.type > e1000_82575 ? 8 : 4))) -#define IGB_MAX_RX_QUEUES_I210 4 +#define IGB_MAX_RX_QUEUES 8 +#define IGB_MAX_RX_QUEUES_82575 4 #define IGB_MAX_RX_QUEUES_I211 2 -#define IGB_MAX_TX_QUEUES 16 -#define IGB_MAX_TX_QUEUES_I210 4 -#define IGB_MAX_TX_QUEUES_I211 2 +#define IGB_MAX_TX_QUEUES 8 #define IGB_MAX_VF_MC_ENTRIES 30 #define IGB_MAX_VF_FUNCTIONS 8 #define IGB_MAX_VFTA_ENTRIES 128 #define IGB_82576_VF_DEV_ID 0x10CA #define IGB_I350_VF_DEV_ID 0x1520 +/* NVM version defines */ +#define IGB_MAJOR_MASK 0xF000 +#define IGB_MINOR_MASK 0x0FF0 +#define IGB_BUILD_MASK 0x000F +#define IGB_COMB_VER_MASK 0x00FF +#define IGB_MAJOR_SHIFT 12 +#define IGB_MINOR_SHIFT 4 +#define IGB_COMB_VER_SHFT 8 +#define IGB_NVM_VER_INVALID 0xFFFF +#define IGB_ETRACK_SHIFT 16 +#define NVM_ETRACK_WORD 0x0042 +#define NVM_COMB_VER_OFF 0x0083 +#define NVM_COMB_VER_PTR 0x003d + struct vf_data_storage { unsigned char vf_mac_addresses[ETH_ALEN]; u16 vf_mc_hashes[IGB_MAX_VF_MC_ENTRIES]; @@ -371,6 +382,7 @@ spinlock_t tmreg_lock; struct cyclecounter cc; struct timecounter tc; + char fw_version[32]; }; #define IGB_FLAG_HAS_MSI (1 << 0) @@ -420,6 +432,7 @@ extern bool igb_has_link(struct igb_adapter *adapter); extern void igb_set_ethtool_ops(struct net_device *); extern void igb_power_up_link(struct igb_adapter *); +extern void igb_set_fw_version(struct igb_adapter *); #ifdef CONFIG_IGB_PTP extern void igb_ptp_init(struct igb_adapter *adapter); extern void igb_ptp_remove(struct igb_adapter *adapter); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/igb/igb_ethtool.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/igb/igb_ethtool.c @@ -209,8 +209,8 @@ /* When SoL/IDER sessions are active, autoneg/speed/duplex * cannot be changed */ if (igb_check_reset_block(hw)) { - dev_err(&adapter->pdev->dev, "Cannot change link " - "characteristics when SoL/IDER is active.\n"); + dev_err(&adapter->pdev->dev, + "Cannot change link characteristics when SoL/IDER is active.\n"); return -EINVAL; } @@ -710,6 +710,7 @@ if ((ret_val == 0) && ((first_word <= NVM_CHECKSUM_REG))) hw->nvm.ops.update(hw); + igb_set_fw_version(adapter); kfree(eeprom_buff); return ret_val; } @@ -718,20 +719,16 @@ struct ethtool_drvinfo *drvinfo) { struct igb_adapter *adapter = netdev_priv(netdev); - u16 eeprom_data; strlcpy(drvinfo->driver, igb_driver_name, sizeof(drvinfo->driver)); strlcpy(drvinfo->version, igb_driver_version, sizeof(drvinfo->version)); - /* EEPROM image version # is reported as firmware version # for - * 82575 controllers */ - adapter->hw.nvm.ops.read(&adapter->hw, 5, 1, &eeprom_data); - snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version), - "%d.%d-%d", - (eeprom_data & 0xF000) >> 12, - (eeprom_data & 0x0FF0) >> 4, - eeprom_data & 0x000F); - + /* + * EEPROM image version # is reported as firmware version # for + * 82575 controllers + */ + strlcpy(drvinfo->fw_version, adapter->fw_version, + sizeof(drvinfo->fw_version)); strlcpy(drvinfo->bus_info, pci_name(adapter->pdev), sizeof(drvinfo->bus_info)); drvinfo->n_stats = IGB_STATS_LEN; @@ -1092,8 +1089,8 @@ wr32(reg, (_test[pat] & write)); val = rd32(reg) & mask; if (val != (_test[pat] & write & mask)) { - dev_err(&adapter->pdev->dev, "pattern test reg %04X " - "failed: got 0x%08X expected 0x%08X\n", + dev_err(&adapter->pdev->dev, + "pattern test reg %04X failed: got 0x%08X expected 0x%08X\n", reg, val, (_test[pat] & write & mask)); *data = reg; return 1; @@ -1111,8 +1108,8 @@ wr32(reg, write & mask); val = rd32(reg); if ((write & mask) != (val & mask)) { - dev_err(&adapter->pdev->dev, "set/check reg %04X test failed:" - " got 0x%08X expected 0x%08X\n", reg, + dev_err(&adapter->pdev->dev, + "set/check reg %04X test failed: got 0x%08X expected 0x%08X\n", reg, (val & mask), (write & mask)); *data = reg; return 1; @@ -1174,8 +1171,9 @@ wr32(E1000_STATUS, toggle); after = rd32(E1000_STATUS) & toggle; if (value != after) { - dev_err(&adapter->pdev->dev, "failed STATUS register test " - "got: 0x%08X expected: 0x%08X\n", after, value); + dev_err(&adapter->pdev->dev, + "failed STATUS register test got: 0x%08X expected: 0x%08X\n", + after, value); *data = 1; return 1; } @@ -1500,6 +1498,9 @@ break; } + /* add small delay to avoid loopback test failure */ + msleep(50); + /* force 1000, set loopback */ igb_write_phy_reg(hw, PHY_CONTROL, 0x4140); @@ -1780,16 +1781,14 @@ * sessions are active */ if (igb_check_reset_block(&adapter->hw)) { dev_err(&adapter->pdev->dev, - "Cannot do PHY loopback test " - "when SoL/IDER is active.\n"); + "Cannot do PHY loopback test when SoL/IDER is active.\n"); *data = 0; goto out; } if ((adapter->hw.mac.type == e1000_i210) - || (adapter->hw.mac.type == e1000_i210)) { + || (adapter->hw.mac.type == e1000_i211)) { dev_err(&adapter->pdev->dev, - "Loopback test not supported " - "on this part at this time.\n"); + "Loopback test not supported on this part at this time.\n"); *data = 0; goto out; } @@ -2271,6 +2270,38 @@ pm_runtime_put(&adapter->pdev->dev); } +#ifdef CONFIG_IGB_PTP +static int igb_ethtool_get_ts_info(struct net_device *dev, + struct ethtool_ts_info *info) +{ + struct igb_adapter *adapter = netdev_priv(dev); + + info->so_timestamping = + SOF_TIMESTAMPING_TX_HARDWARE | + SOF_TIMESTAMPING_RX_HARDWARE | + SOF_TIMESTAMPING_RAW_HARDWARE; + + if (adapter->ptp_clock) + info->phc_index = ptp_clock_index(adapter->ptp_clock); + else + info->phc_index = -1; + + info->tx_types = + (1 << HWTSTAMP_TX_OFF) | + (1 << HWTSTAMP_TX_ON); + + info->rx_filters = + (1 << HWTSTAMP_FILTER_NONE) | + (1 << HWTSTAMP_FILTER_ALL) | + (1 << HWTSTAMP_FILTER_SOME) | + (1 << HWTSTAMP_FILTER_PTP_V1_L4_SYNC) | + (1 << HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ) | + (1 << HWTSTAMP_FILTER_PTP_V2_EVENT); + + return 0; +} + +#endif static const struct ethtool_ops igb_ethtool_ops = { .get_settings = igb_get_settings, .set_settings = igb_set_settings, @@ -2299,6 +2330,9 @@ .set_coalesce = igb_set_coalesce, .begin = igb_ethtool_begin, .complete = igb_ethtool_complete, +#ifdef CONFIG_IGB_PTP + .get_ts_info = igb_ethtool_get_ts_info, +#endif }; void igb_set_ethtool_ops(struct net_device *netdev) --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/igb/igb_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/igb/igb_main.c @@ -59,9 +59,9 @@ #endif #include "igb.h" -#define MAJ 3 -#define MIN 4 -#define BUILD 7 +#define MAJ 4 +#define MIN 0 +#define BUILD 1 #define DRV_VERSION __stringify(MAJ) "." __stringify(MIN) "." \ __stringify(BUILD) "-k" char igb_driver_name[] = "igb"; @@ -462,10 +462,10 @@ (u64)buffer_info->time_stamp, buffer_info->skb, next_desc); - if (netif_msg_pktdata(adapter) && buffer_info->dma != 0) + if (netif_msg_pktdata(adapter) && buffer_info->skb) print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, - 16, 1, phys_to_virt(buffer_info->dma), + 16, 1, buffer_info->skb->data, buffer_info->length, true); } } @@ -547,18 +547,17 @@ (u64)buffer_info->dma, buffer_info->skb, next_desc); - if (netif_msg_pktdata(adapter)) { + if (netif_msg_pktdata(adapter) && + buffer_info->dma && buffer_info->skb) { print_hex_dump(KERN_INFO, "", - DUMP_PREFIX_ADDRESS, - 16, 1, - phys_to_virt(buffer_info->dma), - IGB_RX_HDR_LEN, true); + DUMP_PREFIX_ADDRESS, + 16, 1, buffer_info->skb->data, + IGB_RX_HDR_LEN, true); print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, 16, 1, - phys_to_virt( - buffer_info->page_dma + - buffer_info->page_offset), + page_address(buffer_info->page) + + buffer_info->page_offset, PAGE_SIZE/2, true); } } @@ -1048,11 +1047,6 @@ if (!(adapter->flags & IGB_FLAG_QUEUE_PAIRS)) numvecs += adapter->num_tx_queues; - /* i210 and i211 can only have 4 MSIX vectors for rx/tx queues. */ - if ((adapter->hw.mac.type == e1000_i210) - || (adapter->hw.mac.type == e1000_i211)) - numvecs = 4; - /* store the number of vectors reserved for queues */ adapter->num_q_vectors = numvecs; @@ -1505,11 +1499,12 @@ **/ void igb_power_up_link(struct igb_adapter *adapter) { + igb_reset_phy(&adapter->hw); + if (adapter->hw.phy.media_type == e1000_media_type_copper) igb_power_up_phy_copper(&adapter->hw); else igb_power_up_serdes_link_82575(&adapter->hw); - igb_reset_phy(&adapter->hw); } /** @@ -1821,6 +1816,69 @@ }; /** + * igb_set_fw_version - Configure version string for ethtool + * @adapter: adapter struct + * + **/ +void igb_set_fw_version(struct igb_adapter *adapter) +{ + struct e1000_hw *hw = &adapter->hw; + u16 eeprom_verh, eeprom_verl, comb_verh, comb_verl, comb_offset; + u16 major, build, patch, fw_version; + u32 etrack_id; + + hw->nvm.ops.read(hw, 5, 1, &fw_version); + if (adapter->hw.mac.type != e1000_i211) { + hw->nvm.ops.read(hw, NVM_ETRACK_WORD, 1, &eeprom_verh); + hw->nvm.ops.read(hw, (NVM_ETRACK_WORD + 1), 1, &eeprom_verl); + etrack_id = (eeprom_verh << IGB_ETRACK_SHIFT) | eeprom_verl; + + /* combo image version needs to be found */ + hw->nvm.ops.read(hw, NVM_COMB_VER_PTR, 1, &comb_offset); + if ((comb_offset != 0x0) && + (comb_offset != IGB_NVM_VER_INVALID)) { + hw->nvm.ops.read(hw, (NVM_COMB_VER_OFF + comb_offset + + 1), 1, &comb_verh); + hw->nvm.ops.read(hw, (NVM_COMB_VER_OFF + comb_offset), + 1, &comb_verl); + + /* Only display Option Rom if it exists and is valid */ + if ((comb_verh && comb_verl) && + ((comb_verh != IGB_NVM_VER_INVALID) && + (comb_verl != IGB_NVM_VER_INVALID))) { + major = comb_verl >> IGB_COMB_VER_SHFT; + build = (comb_verl << IGB_COMB_VER_SHFT) | + (comb_verh >> IGB_COMB_VER_SHFT); + patch = comb_verh & IGB_COMB_VER_MASK; + snprintf(adapter->fw_version, + sizeof(adapter->fw_version), + "%d.%d%d, 0x%08x, %d.%d.%d", + (fw_version & IGB_MAJOR_MASK) >> + IGB_MAJOR_SHIFT, + (fw_version & IGB_MINOR_MASK) >> + IGB_MINOR_SHIFT, + (fw_version & IGB_BUILD_MASK), + etrack_id, major, build, patch); + goto out; + } + } + snprintf(adapter->fw_version, sizeof(adapter->fw_version), + "%d.%d%d, 0x%08x", + (fw_version & IGB_MAJOR_MASK) >> IGB_MAJOR_SHIFT, + (fw_version & IGB_MINOR_MASK) >> IGB_MINOR_SHIFT, + (fw_version & IGB_BUILD_MASK), etrack_id); + } else { + snprintf(adapter->fw_version, sizeof(adapter->fw_version), + "%d.%d%d", + (fw_version & IGB_MAJOR_MASK) >> IGB_MAJOR_SHIFT, + (fw_version & IGB_MINOR_MASK) >> IGB_MINOR_SHIFT, + (fw_version & IGB_BUILD_MASK)); + } +out: + return; +} + +/** * igb_probe - Device Initialization Routine * @pdev: PCI device information struct * @ent: entry in igb_pci_tbl @@ -2030,6 +2088,9 @@ goto err_eeprom; } + /* get firmware version for ethtool -i */ + igb_set_fw_version(adapter); + setup_timer(&adapter->watchdog_timer, igb_watchdog, (unsigned long) adapter); setup_timer(&adapter->phy_info_timer, igb_update_phy_info, @@ -2338,6 +2399,7 @@ struct e1000_hw *hw = &adapter->hw; struct net_device *netdev = adapter->netdev; struct pci_dev *pdev = adapter->pdev; + u32 max_rss_queues; pci_read_config_word(pdev, PCI_COMMAND, &hw->bus.pci_cmd_word); @@ -2370,40 +2432,69 @@ } else adapter->vfs_allocated_count = max_vfs; break; - case e1000_i210: - case e1000_i211: - adapter->vfs_allocated_count = 0; - break; default: break; } #endif /* CONFIG_PCI_IOV */ + + /* Determine the maximum number of RSS queues supported. */ switch (hw->mac.type) { + case e1000_i211: + max_rss_queues = IGB_MAX_RX_QUEUES_I211; + break; + case e1000_82575: case e1000_i210: - adapter->rss_queues = min_t(u32, IGB_MAX_RX_QUEUES_I210, - num_online_cpus()); + max_rss_queues = IGB_MAX_RX_QUEUES_82575; break; + case e1000_i350: + /* I350 cannot do RSS and SR-IOV at the same time */ + if (!!adapter->vfs_allocated_count) { + max_rss_queues = 1; + break; + } + /* fall through */ + case e1000_82576: + if (!!adapter->vfs_allocated_count) { + max_rss_queues = 2; + break; + } + /* fall through */ + case e1000_82580: + default: + max_rss_queues = IGB_MAX_RX_QUEUES; + break; + } + + adapter->rss_queues = min_t(u32, max_rss_queues, num_online_cpus()); + + /* Determine if we need to pair queues. */ + switch (hw->mac.type) { + case e1000_82575: case e1000_i211: - adapter->rss_queues = min_t(u32, IGB_MAX_RX_QUEUES_I211, - num_online_cpus()); + /* Device supports enough interrupts without queue pairing. */ break; + case e1000_82576: + /* + * If VFs are going to be allocated with RSS queues then we + * should pair the queues in order to conserve interrupts due + * to limited supply. + */ + if ((adapter->rss_queues > 1) && + (adapter->vfs_allocated_count > 6)) + adapter->flags |= IGB_FLAG_QUEUE_PAIRS; + /* fall through */ + case e1000_82580: + case e1000_i350: + case e1000_i210: default: - adapter->rss_queues = min_t(u32, IGB_MAX_RX_QUEUES, - num_online_cpus()); + /* + * If rss_queues > half of max_rss_queues, pair the queues in + * order to conserve interrupts due to limited supply. + */ + if (adapter->rss_queues > (max_rss_queues / 2)) + adapter->flags |= IGB_FLAG_QUEUE_PAIRS; break; } - /* i350 cannot do RSS and SR-IOV at the same time */ - if (hw->mac.type == e1000_i350 && adapter->vfs_allocated_count) - adapter->rss_queues = 1; - - /* - * if rss_queues > 4 or vfs are going to be allocated with rss_queues - * then we should combine the queues into a queue pair in order to - * conserve interrupts due to limited supply - */ - if ((adapter->rss_queues > 4) || - ((adapter->rss_queues > 1) && (adapter->vfs_allocated_count > 6))) - adapter->flags |= IGB_FLAG_QUEUE_PAIRS; /* Setup and initialize a copy of the hw vlan table array */ adapter->shadow_vfta = kzalloc(sizeof(u32) * @@ -6997,6 +7088,11 @@ } wr32(E1000_RTTDQSEL, vf); /* vf X uses queue X */ + /* + * Set global transmit compensation time to the MMW_SIZE in RTTBCNRM + * register. MMW_SIZE=0x014 if 9728-byte jumbo is supported. + */ + wr32(E1000_RTTBCNRM, 0x14); wr32(E1000_RTTBCNRC, bcnrc_val); } --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/igb/igb_ptp.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -330,7 +330,17 @@ void igb_ptp_remove(struct igb_adapter *adapter) { - cancel_delayed_work_sync(&adapter->overflow_work); + switch (adapter->hw.mac.type) { + case e1000_i211: + case e1000_i210: + case e1000_i350: + case e1000_82580: + case e1000_82576: + cancel_delayed_work_sync(&adapter->overflow_work); + break; + default: + return; + } if (adapter->ptp_clock) { ptp_clock_unregister(adapter->ptp_clock); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c @@ -70,6 +70,7 @@ switch (hw->device_id) { case IXGBE_DEV_ID_X540T: + case IXGBE_DEV_ID_X540T1: return 0; case IXGBE_DEV_ID_82599_T3_LOM: return 0; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c @@ -2706,6 +2706,9 @@ case ixgbe_mac_X540: case ixgbe_mac_82599EB: info->so_timestamping = + SOF_TIMESTAMPING_TX_SOFTWARE | + SOF_TIMESTAMPING_RX_SOFTWARE | + SOF_TIMESTAMPING_SOFTWARE | SOF_TIMESTAMPING_TX_HARDWARE | SOF_TIMESTAMPING_RX_HARDWARE | SOF_TIMESTAMPING_RAW_HARDWARE; @@ -2723,10 +2726,7 @@ (1 << HWTSTAMP_FILTER_NONE) | (1 << HWTSTAMP_FILTER_PTP_V1_L4_SYNC) | (1 << HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ) | - (1 << HWTSTAMP_FILTER_PTP_V2_SYNC) | - (1 << HWTSTAMP_FILTER_PTP_V2_DELAY_REQ) | - (1 << HWTSTAMP_FILTER_PTP_V2_EVENT) | - (1 << HWTSTAMP_FILTER_SOME); + (1 << HWTSTAMP_FILTER_PTP_V2_EVENT); break; #endif /* CONFIG_IXGBE_PTP */ default: --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -114,6 +114,7 @@ {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_LS), board_82599 }, {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599EN_SFP), board_82599 }, {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP), board_82599 }, + {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1), board_X540 }, /* required last entry */ {0, } }; @@ -6953,6 +6954,7 @@ is_wol_supported = 1; break; case IXGBE_DEV_ID_X540T: + case IXGBE_DEV_ID_X540T1: /* check eeprom to see if enabled wol */ if ((wol_cap == IXGBE_DEVICE_CAPS_WOL_PORT0_1) || ((wol_cap == IXGBE_DEVICE_CAPS_WOL_PORT0) && --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h @@ -67,6 +67,7 @@ #define IXGBE_DEV_ID_82599_LS 0x154F #define IXGBE_DEV_ID_X540T 0x1528 #define IXGBE_DEV_ID_82599_SFP_SF_QP 0x154A +#define IXGBE_DEV_ID_X540T1 0x1560 /* VF Device IDs */ #define IXGBE_DEV_ID_82599_VF 0x10ED --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/marvell/mv643xx_eth.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/marvell/mv643xx_eth.c @@ -412,7 +412,6 @@ u8 work_rx_refill; int skb_size; - struct sk_buff_head rx_recycle; /* * RX state. @@ -673,9 +672,7 @@ struct rx_desc *rx_desc; int size; - skb = __skb_dequeue(&mp->rx_recycle); - if (skb == NULL) - skb = netdev_alloc_skb(mp->dev, mp->skb_size); + skb = netdev_alloc_skb(mp->dev, mp->skb_size); if (skb == NULL) { mp->oom = 1; @@ -989,14 +986,7 @@ desc->byte_cnt, DMA_TO_DEVICE); } - if (skb != NULL) { - if (skb_queue_len(&mp->rx_recycle) < - mp->rx_ring_size && - skb_recycle_check(skb, mp->skb_size)) - __skb_queue_head(&mp->rx_recycle, skb); - else - dev_kfree_skb(skb); - } + dev_kfree_skb(skb); } __netif_tx_unlock(nq); @@ -2349,8 +2339,6 @@ napi_enable(&mp->napi); - skb_queue_head_init(&mp->rx_recycle); - mp->int_mask = INT_EXT; for (i = 0; i < mp->rxq_count; i++) { @@ -2445,8 +2433,6 @@ mib_counters_update(mp); del_timer_sync(&mp->mib_counters_timer); - skb_queue_purge(&mp->rx_recycle); - for (i = 0; i < mp->rxq_count; i++) rxq_deinit(mp->rxq + i); for (i = 0; i < mp->txq_count; i++) --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/marvell/skge.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/marvell/skge.c @@ -4153,6 +4153,13 @@ DMI_MATCH(DMI_BOARD_NAME, "nForce"), }, }, + { + .ident = "ASUS P5NSLI", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "P5NSLI") + }, + }, {} }; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/marvell/sky2.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/marvell/sky2.c @@ -3079,8 +3079,10 @@ /* Reading this mask interrupts as side effect */ status = sky2_read32(hw, B0_Y2_SP_ISRC2); - if (status == 0 || status == ~0) + if (status == 0 || status == ~0) { + sky2_write32(hw, B0_Y2_SP_ICR, 2); return IRQ_NONE; + } prefetch(&hw->st_le[hw->st_idx]); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/neterion/vxge/vxge-main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/neterion/vxge/vxge-main.c @@ -4202,6 +4202,9 @@ return ret; } +#define VXGE_PXE_FIRMWARE "vxge/X3fw-pxe.ncf" +#define VXGE_FIRMWARE "vxge/X3fw.ncf" + static int vxge_probe_fw_update(struct vxgedev *vdev) { u32 maj, min, bld; @@ -4244,9 +4247,9 @@ } } if (gpxe) - fw_name = "vxge/X3fw-pxe.ncf"; + fw_name = VXGE_PXE_FIRMWARE; else - fw_name = "vxge/X3fw.ncf"; + fw_name = VXGE_FIRMWARE; ret = vxge_fw_upgrade(vdev, fw_name, 0); /* -EINVAL and -ENOENT are not fatal errors for flashing firmware on @@ -4856,3 +4859,5 @@ } module_init(vxge_starter); module_exit(vxge_closer); +MODULE_FIRMWARE(VXGE_PXE_FIRMWARE); +MODULE_FIRMWARE(VXGE_FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/nxp/lpc_eth.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/nxp/lpc_eth.c @@ -1543,6 +1543,7 @@ pldat->dma_buff_base_p); free_irq(ndev->irq, ndev); iounmap(pldat->net_base); + mdiobus_unregister(pldat->mii_bus); mdiobus_free(pldat->mii_bus); clk_disable(pldat->clk); clk_put(pldat->clk); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c @@ -1378,6 +1378,10 @@ struct pci_dev *root = pdev->bus->self; u32 aer_pos; + /* root bus? */ + if (!root) + return; + if (adapter->ahw.board_type != NETXEN_BRDTYPE_P3_4_GB_MM && adapter->ahw.board_type != NETXEN_BRDTYPE_P3_10G_TP) return; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/realtek/8139cp.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/realtek/8139cp.c @@ -979,17 +979,6 @@ cpw32_f (MAC0 + 0, le32_to_cpu (*(__le32 *) (dev->dev_addr + 0))); cpw32_f (MAC0 + 4, le32_to_cpu (*(__le32 *) (dev->dev_addr + 4))); - cpw32_f(HiTxRingAddr, 0); - cpw32_f(HiTxRingAddr + 4, 0); - - ring_dma = cp->ring_dma; - cpw32_f(RxRingAddr, ring_dma & 0xffffffff); - cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16); - - ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE; - cpw32_f(TxRingAddr, ring_dma & 0xffffffff); - cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16); - cp_start_hw(cp); cpw8(TxThresh, 0x06); /* XXX convert magic num to a constant */ @@ -1003,6 +992,17 @@ cpw8(Config5, cpr8(Config5) & PMEStatus); + cpw32_f(HiTxRingAddr, 0); + cpw32_f(HiTxRingAddr + 4, 0); + + ring_dma = cp->ring_dma; + cpw32_f(RxRingAddr, ring_dma & 0xffffffff); + cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16); + + ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE; + cpw32_f(TxRingAddr, ring_dma & 0xffffffff); + cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16); + cpw16(MultiIntr, 0); cpw8_f(Cfg9346, Cfg9346_Lock); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/realtek/r8169.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/realtek/r8169.c @@ -75,7 +75,7 @@ static const int multicast_filter_limit = 32; #define MAX_READ_REQUEST_SHIFT 12 -#define TX_DMA_BURST 6 /* Maximum PCI burst, '6' is 1024 */ +#define TX_DMA_BURST 7 /* Maximum PCI burst, '7' is unlimited */ #define SafeMtu 0x1c20 /* ... actually life sucks beyond ~7k */ #define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */ @@ -3601,6 +3601,8 @@ void __iomem *ioaddr = tp->mmio_addr; switch (tp->mac_version) { + case RTL_GIGA_MAC_VER_25: + case RTL_GIGA_MAC_VER_26: case RTL_GIGA_MAC_VER_29: case RTL_GIGA_MAC_VER_30: case RTL_GIGA_MAC_VER_32: @@ -4271,6 +4273,9 @@ mc_filter[1] = swab32(data); } + if (tp->mac_version == RTL_GIGA_MAC_VER_35) + mc_filter[1] = mc_filter[0] = 0xffffffff; + RTL_W32(MAR0 + 4, mc_filter[1]); RTL_W32(MAR0 + 0, mc_filter[0]); @@ -5380,7 +5385,6 @@ { rtl8169_tx_clear_range(tp, tp->dirty_tx, NUM_TX_DESC); tp->cur_tx = tp->dirty_tx = 0; - netdev_reset_queue(tp->dev); } static void rtl_reset_work(struct rtl8169_private *tp) @@ -5535,8 +5539,6 @@ txd->opts2 = cpu_to_le32(opts[1]); - netdev_sent_queue(dev, skb->len); - skb_tx_timestamp(skb); wmb(); @@ -5633,16 +5635,9 @@ rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING); } -struct rtl_txc { - int packets; - int bytes; -}; - static void rtl_tx(struct net_device *dev, struct rtl8169_private *tp) { - struct rtl8169_stats *tx_stats = &tp->tx_stats; unsigned int dirty_tx, tx_left; - struct rtl_txc txc = { 0, 0 }; dirty_tx = tp->dirty_tx; smp_rmb(); @@ -5661,24 +5656,17 @@ rtl8169_unmap_tx_skb(&tp->pci_dev->dev, tx_skb, tp->TxDescArray + entry); if (status & LastFrag) { - struct sk_buff *skb = tx_skb->skb; - - txc.packets++; - txc.bytes += skb->len; - dev_kfree_skb(skb); + u64_stats_update_begin(&tp->tx_stats.syncp); + tp->tx_stats.packets++; + tp->tx_stats.bytes += tx_skb->skb->len; + u64_stats_update_end(&tp->tx_stats.syncp); + dev_kfree_skb(tx_skb->skb); tx_skb->skb = NULL; } dirty_tx++; tx_left--; } - u64_stats_update_begin(&tx_stats->syncp); - tx_stats->packets += txc.packets; - tx_stats->bytes += txc.bytes; - u64_stats_update_end(&tx_stats->syncp); - - netdev_completed_queue(dev, txc.packets, txc.bytes); - if (tp->dirty_tx != dirty_tx) { tp->dirty_tx = dirty_tx; /* Sync with rtl8169_start_xmit: --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/sfc/efx.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/sfc/efx.c @@ -1503,6 +1503,11 @@ goto fail2; } + BUILD_BUG_ON(EFX_DEFAULT_DMAQ_SIZE < EFX_RXQ_MIN_ENT); + if (WARN_ON(EFX_DEFAULT_DMAQ_SIZE < EFX_TXQ_MIN_ENT(efx))) { + rc = -EINVAL; + goto fail3; + } efx->rxq_entries = efx->txq_entries = EFX_DEFAULT_DMAQ_SIZE; rc = efx_probe_filters(efx); @@ -2070,6 +2075,7 @@ net_dev->irq = efx->pci_dev->irq; net_dev->netdev_ops = &efx_netdev_ops; SET_ETHTOOL_OPS(net_dev, &efx_ethtool_ops); + net_dev->gso_max_segs = EFX_TSO_MAX_SEGS; rtnl_lock(); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/sfc/efx.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/sfc/efx.h @@ -30,6 +30,7 @@ efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb); extern void efx_xmit_done(struct efx_tx_queue *tx_queue, unsigned int index); extern int efx_setup_tc(struct net_device *net_dev, u8 num_tc); +extern unsigned int efx_tx_max_skb_descs(struct efx_nic *efx); /* RX */ extern int efx_probe_rx_queue(struct efx_rx_queue *rx_queue); @@ -52,10 +53,15 @@ #define EFX_MAX_EVQ_SIZE 16384UL #define EFX_MIN_EVQ_SIZE 512UL -/* The smallest [rt]xq_entries that the driver supports. Callers of - * efx_wake_queue() assume that they can subsequently send at least one - * skb. Falcon/A1 may require up to three descriptors per skb_frag. */ -#define EFX_MIN_RING_SIZE (roundup_pow_of_two(2 * 3 * MAX_SKB_FRAGS)) +/* Maximum number of TCP segments we support for soft-TSO */ +#define EFX_TSO_MAX_SEGS 100 + +/* The smallest [rt]xq_entries that the driver supports. RX minimum + * is a bit arbitrary. For TX, we must have space for at least 2 + * TSO skbs. + */ +#define EFX_RXQ_MIN_ENT 128U +#define EFX_TXQ_MIN_ENT(efx) (2 * efx_tx_max_skb_descs(efx)) /* Filters */ extern int efx_probe_filters(struct efx_nic *efx); --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/sfc/ethtool.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/sfc/ethtool.c @@ -680,21 +680,27 @@ struct ethtool_ringparam *ring) { struct efx_nic *efx = netdev_priv(net_dev); + u32 txq_entries; if (ring->rx_mini_pending || ring->rx_jumbo_pending || ring->rx_pending > EFX_MAX_DMAQ_SIZE || ring->tx_pending > EFX_MAX_DMAQ_SIZE) return -EINVAL; - if (ring->rx_pending < EFX_MIN_RING_SIZE || - ring->tx_pending < EFX_MIN_RING_SIZE) { + if (ring->rx_pending < EFX_RXQ_MIN_ENT) { netif_err(efx, drv, efx->net_dev, - "TX and RX queues cannot be smaller than %ld\n", - EFX_MIN_RING_SIZE); + "RX queues cannot be smaller than %u\n", + EFX_RXQ_MIN_ENT); return -EINVAL; } - return efx_realloc_channels(efx, ring->rx_pending, ring->tx_pending); + txq_entries = max(ring->tx_pending, EFX_TXQ_MIN_ENT(efx)); + if (txq_entries != ring->tx_pending) + netif_warn(efx, drv, efx->net_dev, + "increasing TX queue size to minimum of %u\n", + txq_entries); + + return efx_realloc_channels(efx, ring->rx_pending, txq_entries); } static int efx_ethtool_set_pauseparam(struct net_device *net_dev, @@ -857,8 +863,8 @@ &ip_entry->ip4dst, &ip_entry->pdst); if (rc != 0) { rc = efx_filter_get_ipv4_full( - &spec, &proto, &ip_entry->ip4src, &ip_entry->psrc, - &ip_entry->ip4dst, &ip_entry->pdst); + &spec, &proto, &ip_entry->ip4dst, &ip_entry->pdst, + &ip_entry->ip4src, &ip_entry->psrc); EFX_WARN_ON_PARANOID(rc); ip_mask->ip4src = ~0; ip_mask->psrc = ~0; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/sfc/tx.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/sfc/tx.c @@ -119,6 +119,25 @@ return len; } +unsigned int efx_tx_max_skb_descs(struct efx_nic *efx) +{ + /* Header and payload descriptor for each output segment, plus + * one for every input fragment boundary within a segment + */ + unsigned int max_descs = EFX_TSO_MAX_SEGS * 2 + MAX_SKB_FRAGS; + + /* Possibly one more per segment for the alignment workaround */ + if (EFX_WORKAROUND_5391(efx)) + max_descs += EFX_TSO_MAX_SEGS; + + /* Possibly more for PCIe page boundaries within input fragments */ + if (PAGE_SIZE > EFX_PAGE_SIZE) + max_descs += max_t(unsigned int, MAX_SKB_FRAGS, + DIV_ROUND_UP(GSO_MAX_SIZE, EFX_PAGE_SIZE)); + + return max_descs; +} + /* * Add a socket buffer to a TX queue * --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/stmicro/stmmac/mmc_core.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/stmicro/stmmac/mmc_core.c @@ -23,7 +23,9 @@ *******************************************************************************/ #include +#include #include +#include #include "mmc.h" /* MAC Management Counters register offset */ --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac.h +++ linux-lowlatency-3.5.0/drivers/net/ethernet/stmicro/stmmac/stmmac.h @@ -47,7 +47,6 @@ unsigned int dirty_rx; struct sk_buff **rx_skbuff; dma_addr_t *rx_skbuff_dma; - struct sk_buff_head rx_recycle; struct net_device *dev; dma_addr_t dma_rx_phy; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -660,18 +660,7 @@ priv->hw->ring->clean_desc3(p); if (likely(skb != NULL)) { - /* - * If there's room in the queue (limit it to size) - * we add this skb back into the pool, - * if it's the right size. - */ - if ((skb_queue_len(&priv->rx_recycle) < - priv->dma_rx_size) && - skb_recycle_check(skb, priv->dma_buf_sz)) - __skb_queue_head(&priv->rx_recycle, skb); - else - dev_kfree_skb(skb); - + dev_kfree_skb(skb); priv->tx_skbuff[entry] = NULL; } @@ -1063,7 +1052,6 @@ phy_start(priv->phydev); napi_enable(&priv->napi); - skb_queue_head_init(&priv->rx_recycle); netif_start_queue(dev); return 0; @@ -1109,7 +1097,6 @@ kfree(priv->tm); #endif napi_disable(&priv->napi); - skb_queue_purge(&priv->rx_recycle); /* Free the IRQ lines */ free_irq(dev->irq, dev); @@ -1270,10 +1257,7 @@ if (likely(priv->rx_skbuff[entry] == NULL)) { struct sk_buff *skb; - skb = __skb_dequeue(&priv->rx_recycle); - if (skb == NULL) - skb = netdev_alloc_skb_ip_align(priv->dev, - bfsize); + skb = netdev_alloc_skb_ip_align(priv->dev, bfsize); if (unlikely(skb == NULL)) break; --- linux-lowlatency-3.5.0.orig/drivers/net/ethernet/ti/davinci_cpdma.c +++ linux-lowlatency-3.5.0/drivers/net/ethernet/ti/davinci_cpdma.c @@ -862,6 +862,7 @@ next_dma = desc_read(desc, hw_next); chan->head = desc_from_phys(pool, next_dma); + chan->count--; chan->stats.teardown_dequeue++; /* issue callback without locks held */ --- linux-lowlatency-3.5.0.orig/drivers/net/ppp/pppoe.c +++ linux-lowlatency-3.5.0/drivers/net/ppp/pppoe.c @@ -570,7 +570,7 @@ po = pppox_sk(sk); - if (sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND)) { + if (sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND | PPPOX_ZOMBIE)) { dev_put(po->pppoe_dev); po->pppoe_dev = NULL; } --- linux-lowlatency-3.5.0.orig/drivers/net/ppp/pptp.c +++ linux-lowlatency-3.5.0/drivers/net/ppp/pptp.c @@ -189,7 +189,7 @@ if (sk_pppox(po)->sk_state & PPPOX_DEAD) goto tx_error; - rt = ip_route_output_ports(&init_net, &fl4, NULL, + rt = ip_route_output_ports(sock_net(sk), &fl4, NULL, opt->dst_addr.sin_addr.s_addr, opt->src_addr.sin_addr.s_addr, 0, 0, IPPROTO_GRE, @@ -468,7 +468,7 @@ po->chan.private = sk; po->chan.ops = &pptp_chan_ops; - rt = ip_route_output_ports(&init_net, &fl4, sk, + rt = ip_route_output_ports(sock_net(sk), &fl4, sk, opt->dst_addr.sin_addr.s_addr, opt->src_addr.sin_addr.s_addr, 0, 0, --- linux-lowlatency-3.5.0.orig/drivers/net/usb/asix.c +++ linux-lowlatency-3.5.0/drivers/net/usb/asix.c @@ -1572,6 +1572,10 @@ USB_DEVICE (0x04f1, 0x3008), .driver_info = (unsigned long) &ax8817x_info, }, { + // Lenovo U2L100P 10/100 + USB_DEVICE (0x17ef, 0x7203), + .driver_info = (unsigned long) &ax88772_info, +}, { // ASIX AX88772B 10/100 USB_DEVICE (0x0b95, 0x772b), .driver_info = (unsigned long) &ax88772_info, @@ -1604,6 +1608,10 @@ USB_DEVICE (0x2001, 0x3c05), .driver_info = (unsigned long) &ax88772_info, }, { + // DLink DUB-E100 H/W Ver C1 + USB_DEVICE (0x2001, 0x1a02), + .driver_info = (unsigned long) &ax88772_info, +}, { // Linksys USB1000 USB_DEVICE (0x1737, 0x0039), .driver_info = (unsigned long) &ax88178_info, --- linux-lowlatency-3.5.0.orig/drivers/net/usb/cdc_ether.c +++ linux-lowlatency-3.5.0/drivers/net/usb/cdc_ether.c @@ -592,6 +592,32 @@ .driver_info = 0, }, +/* Novatel USB551L and MC551 - handled by qmi_wwan */ +{ + .match_flags = USB_DEVICE_ID_MATCH_VENDOR + | USB_DEVICE_ID_MATCH_PRODUCT + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = NOVATEL_VENDOR_ID, + .idProduct = 0xB001, + .bInterfaceClass = USB_CLASS_COMM, + .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, + .bInterfaceProtocol = USB_CDC_PROTO_NONE, + .driver_info = 0, +}, + +/* Novatel E362 - handled by qmi_wwan */ +{ + .match_flags = USB_DEVICE_ID_MATCH_VENDOR + | USB_DEVICE_ID_MATCH_PRODUCT + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = NOVATEL_VENDOR_ID, + .idProduct = 0x9010, + .bInterfaceClass = USB_CLASS_COMM, + .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, + .bInterfaceProtocol = USB_CDC_PROTO_NONE, + .driver_info = 0, +}, + /* * WHITELIST!!! * @@ -604,21 +630,6 @@ * because of bugs/quirks in a given product (like Zaurus, above). */ { - /* Novatel USB551L */ - /* This match must come *before* the generic CDC-ETHER match so that - * we get FLAG_WWAN set on the device, since it's descriptors are - * generic CDC-ETHER. - */ - .match_flags = USB_DEVICE_ID_MATCH_VENDOR - | USB_DEVICE_ID_MATCH_PRODUCT - | USB_DEVICE_ID_MATCH_INT_INFO, - .idVendor = NOVATEL_VENDOR_ID, - .idProduct = 0xB001, - .bInterfaceClass = USB_CLASS_COMM, - .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, - .bInterfaceProtocol = USB_CDC_PROTO_NONE, - .driver_info = (unsigned long)&wwan_info, -}, { /* ZTE (Vodafone) K3805-Z */ .match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_PRODUCT --- linux-lowlatency-3.5.0.orig/drivers/net/usb/kaweth.c +++ linux-lowlatency-3.5.0/drivers/net/usb/kaweth.c @@ -1314,7 +1314,7 @@ int retv; int length = 0; /* shut up GCC */ - urb = usb_alloc_urb(0, GFP_NOIO); + urb = usb_alloc_urb(0, GFP_ATOMIC); if (!urb) return -ENOMEM; --- linux-lowlatency-3.5.0.orig/drivers/net/usb/qmi_wwan.c +++ linux-lowlatency-3.5.0/drivers/net/usb/qmi_wwan.c @@ -444,6 +444,15 @@ .bInterfaceProtocol = 0xff, .driver_info = (unsigned long)&qmi_wwan_shared, }, + { /* Pantech UML290 - newer firmware */ + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x106c, + .idProduct = 0x3718, + .bInterfaceClass = 0xff, + .bInterfaceSubClass = 0xf1, + .bInterfaceProtocol = 0xff, + .driver_info = (unsigned long)&qmi_wwan_shared, + }, { /* ZTE MF820D */ .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, .idVendor = 0x19d2, @@ -453,6 +462,15 @@ .bInterfaceProtocol = 0xff, .driver_info = (unsigned long)&qmi_wwan_force_int4, }, + { /* ZTE MF821D */ + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x19d2, + .idProduct = 0x0326, + .bInterfaceClass = 0xff, + .bInterfaceSubClass = 0xff, + .bInterfaceProtocol = 0xff, + .driver_info = (unsigned long)&qmi_wwan_force_int4, + }, { /* ZTE (Vodafone) K3520-Z */ .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, .idVendor = 0x19d2, @@ -507,6 +525,15 @@ .bInterfaceProtocol = 0xff, .driver_info = (unsigned long)&qmi_wwan_force_int4, }, + { /* ZTE (Vodafone) K5006-Z */ + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x19d2, + .idProduct = 0x1018, + .bInterfaceClass = 0xff, + .bInterfaceSubClass = 0xff, + .bInterfaceProtocol = 0xff, + .driver_info = (unsigned long)&qmi_wwan_force_int3, + }, { /* ZTE MF60 */ .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, .idVendor = 0x19d2, @@ -525,6 +552,47 @@ .bInterfaceProtocol = 0xff, .driver_info = (unsigned long)&qmi_wwan_sierra, }, + { /* Sierra Wireless MC7700 */ + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x0f3d, + .idProduct = 0x68a2, + .bInterfaceClass = 0xff, + .bInterfaceSubClass = 0xff, + .bInterfaceProtocol = 0xff, + .driver_info = (unsigned long)&qmi_wwan_sierra, + }, + { /* Sierra Wireless MC7750 */ + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x114f, + .idProduct = 0x68a2, + .bInterfaceClass = 0xff, + .bInterfaceSubClass = 0xff, + .bInterfaceProtocol = 0xff, + .driver_info = (unsigned long)&qmi_wwan_sierra, + }, + { /* Sierra Wireless EM7700 */ + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x1199, + .idProduct = 0x901c, + .bInterfaceClass = 0xff, + .bInterfaceSubClass = 0xff, + .bInterfaceProtocol = 0xff, + .driver_info = (unsigned long)&qmi_wwan_sierra, + }, + { /* Novatel USB551L and MC551 */ + USB_DEVICE_AND_INTERFACE_INFO(0x1410, 0xb001, + USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, + USB_CDC_PROTO_NONE), + .driver_info = (unsigned long)&qmi_wwan_info, + }, + { /* Novatel E362 */ + USB_DEVICE_AND_INTERFACE_INFO(0x1410, 0x9010, + USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, + USB_CDC_PROTO_NONE), + .driver_info = (unsigned long)&qmi_wwan_info, + }, /* Gobi 1000 devices */ {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */ @@ -552,6 +620,8 @@ {QMI_GOBI_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */ {QMI_GOBI_DEVICE(0x05c6, 0x9235)}, /* Top Global Gobi 2000 Modem device (VR306) */ {QMI_GOBI_DEVICE(0x05c6, 0x9275)}, /* iRex Technologies Gobi 2000 Modem device (VR307) */ + {QMI_GOBI_DEVICE(0x1199, 0x68a5)}, /* Sierra Wireless Modem */ + {QMI_GOBI_DEVICE(0x1199, 0x68a9)}, /* Sierra Wireless Modem */ {QMI_GOBI_DEVICE(0x1199, 0x9001)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ {QMI_GOBI_DEVICE(0x1199, 0x9002)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ {QMI_GOBI_DEVICE(0x1199, 0x9003)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ @@ -568,6 +638,8 @@ {QMI_GOBI_DEVICE(0x1199, 0x9013)}, /* Sierra Wireless Gobi 3000 Modem device (MC8355) */ {QMI_GOBI_DEVICE(0x1199, 0x9015)}, /* Sierra Wireless Gobi 3000 Modem device */ {QMI_GOBI_DEVICE(0x1199, 0x9019)}, /* Sierra Wireless Gobi 3000 Modem device */ + {QMI_GOBI_DEVICE(0x1199, 0x901b)}, /* Sierra Wireless MC7770 */ + { } /* END */ }; MODULE_DEVICE_TABLE(usb, products); --- linux-lowlatency-3.5.0.orig/drivers/net/usb/sierra_net.c +++ linux-lowlatency-3.5.0/drivers/net/usb/sierra_net.c @@ -678,7 +678,7 @@ return -EIO; } - *datap = *attrdata; + *datap = le16_to_cpu(*attrdata); kfree(attrdata); return result; --- linux-lowlatency-3.5.0.orig/drivers/net/usb/usbnet.c +++ linux-lowlatency-3.5.0/drivers/net/usb/usbnet.c @@ -1161,6 +1161,7 @@ usb_anchor_urb(urb, &dev->deferred); /* no use to process more packets */ netif_stop_queue(net); + usb_put_urb(urb); spin_unlock_irqrestore(&dev->txq.lock, flags); netdev_dbg(dev->net, "Delaying transmission for resumption\n"); goto deferred; @@ -1204,19 +1205,26 @@ } EXPORT_SYMBOL_GPL(usbnet_start_xmit); -static void rx_alloc_submit(struct usbnet *dev, gfp_t flags) +static int rx_alloc_submit(struct usbnet *dev, gfp_t flags) { struct urb *urb; int i; + int ret = 0; /* don't refill the queue all at once */ for (i = 0; i < 10 && dev->rxq.qlen < RX_QLEN(dev); i++) { urb = usb_alloc_urb(0, flags); if (urb != NULL) { - if (rx_submit(dev, urb, flags) == -ENOLINK) - return; + ret = rx_submit(dev, urb, flags); + if (ret) + goto err; + } else { + ret = -ENOMEM; + goto err; } } +err: + return ret; } /*-------------------------------------------------------------------------*/ @@ -1260,7 +1268,8 @@ int temp = dev->rxq.qlen; if (temp < RX_QLEN(dev)) { - rx_alloc_submit(dev, GFP_ATOMIC); + if (rx_alloc_submit(dev, GFP_ATOMIC) == -ENOLINK) + return; if (temp != dev->rxq.qlen) netif_dbg(dev, link, dev->net, "rxqlen %d --> %d\n", @@ -1305,6 +1314,8 @@ cancel_work_sync(&dev->kevent); + usb_scuttle_anchored_urbs(&dev->deferred); + if (dev->driver_info->unbind) dev->driver_info->unbind (dev, intf); @@ -1580,7 +1591,7 @@ netif_device_present(dev->net) && !timer_pending(&dev->delay) && !test_bit(EVENT_RX_HALT, &dev->flags)) - rx_alloc_submit(dev, GFP_KERNEL); + rx_alloc_submit(dev, GFP_NOIO); if (!(dev->txq.qlen >= TX_QLEN(dev))) netif_tx_wake_all_queues(dev->net); --- linux-lowlatency-3.5.0.orig/drivers/net/wan/ixp4xx_hss.c +++ linux-lowlatency-3.5.0/drivers/net/wan/ixp4xx_hss.c @@ -10,6 +10,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt +#include #include #include #include --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h @@ -533,107 +533,107 @@ static const u32 ar9300Modes_high_power_tx_gain_table_2p2[][5] = { /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ - {0x0000a2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, - {0x0000a2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, - {0x0000a2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, + {0x0000a2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, + {0x0000a2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, + {0x0000a2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, {0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004}, {0x0000a50c, 0x10000023, 0x10000023, 0x0b000200, 0x0b000200}, - {0x0000a510, 0x15000028, 0x15000028, 0x0f000202, 0x0f000202}, - {0x0000a514, 0x1b00002b, 0x1b00002b, 0x12000400, 0x12000400}, - {0x0000a518, 0x1f020028, 0x1f020028, 0x16000402, 0x16000402}, - {0x0000a51c, 0x2502002b, 0x2502002b, 0x19000404, 0x19000404}, - {0x0000a520, 0x2a04002a, 0x2a04002a, 0x1c000603, 0x1c000603}, - {0x0000a524, 0x2e06002a, 0x2e06002a, 0x21000a02, 0x21000a02}, - {0x0000a528, 0x3302202d, 0x3302202d, 0x25000a04, 0x25000a04}, - {0x0000a52c, 0x3804202c, 0x3804202c, 0x28000a20, 0x28000a20}, - {0x0000a530, 0x3c06202c, 0x3c06202c, 0x2c000e20, 0x2c000e20}, - {0x0000a534, 0x4108202d, 0x4108202d, 0x30000e22, 0x30000e22}, - {0x0000a538, 0x4506402d, 0x4506402d, 0x34000e24, 0x34000e24}, - {0x0000a53c, 0x4906222d, 0x4906222d, 0x38001640, 0x38001640}, - {0x0000a540, 0x4d062231, 0x4d062231, 0x3c001660, 0x3c001660}, - {0x0000a544, 0x50082231, 0x50082231, 0x3f001861, 0x3f001861}, - {0x0000a548, 0x5608422e, 0x5608422e, 0x43001a81, 0x43001a81}, - {0x0000a54c, 0x5a08442e, 0x5a08442e, 0x47001a83, 0x47001a83}, - {0x0000a550, 0x5e0a4431, 0x5e0a4431, 0x4a001c84, 0x4a001c84}, - {0x0000a554, 0x640a4432, 0x640a4432, 0x4e001ce3, 0x4e001ce3}, - {0x0000a558, 0x680a4434, 0x680a4434, 0x52001ce5, 0x52001ce5}, - {0x0000a55c, 0x6c0a6434, 0x6c0a6434, 0x56001ce9, 0x56001ce9}, - {0x0000a560, 0x6f0a6633, 0x6f0a6633, 0x5a001ceb, 0x5a001ceb}, - {0x0000a564, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, - {0x0000a568, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, - {0x0000a56c, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, - {0x0000a570, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, - {0x0000a574, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, - {0x0000a578, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, - {0x0000a57c, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a510, 0x16000220, 0x16000220, 0x0f000202, 0x0f000202}, + {0x0000a514, 0x1c000223, 0x1c000223, 0x12000400, 0x12000400}, + {0x0000a518, 0x21002220, 0x21002220, 0x16000402, 0x16000402}, + {0x0000a51c, 0x27002223, 0x27002223, 0x19000404, 0x19000404}, + {0x0000a520, 0x2b022220, 0x2b022220, 0x1c000603, 0x1c000603}, + {0x0000a524, 0x2f022222, 0x2f022222, 0x21000a02, 0x21000a02}, + {0x0000a528, 0x34022225, 0x34022225, 0x25000a04, 0x25000a04}, + {0x0000a52c, 0x3a02222a, 0x3a02222a, 0x28000a20, 0x28000a20}, + {0x0000a530, 0x3e02222c, 0x3e02222c, 0x2c000e20, 0x2c000e20}, + {0x0000a534, 0x4202242a, 0x4202242a, 0x30000e22, 0x30000e22}, + {0x0000a538, 0x4702244a, 0x4702244a, 0x34000e24, 0x34000e24}, + {0x0000a53c, 0x4b02244c, 0x4b02244c, 0x38001640, 0x38001640}, + {0x0000a540, 0x4e02246c, 0x4e02246c, 0x3c001660, 0x3c001660}, + {0x0000a544, 0x52022470, 0x52022470, 0x3f001861, 0x3f001861}, + {0x0000a548, 0x55022490, 0x55022490, 0x43001a81, 0x43001a81}, + {0x0000a54c, 0x59022492, 0x59022492, 0x47001a83, 0x47001a83}, + {0x0000a550, 0x5d022692, 0x5d022692, 0x4a001c84, 0x4a001c84}, + {0x0000a554, 0x61022892, 0x61022892, 0x4e001ce3, 0x4e001ce3}, + {0x0000a558, 0x65024890, 0x65024890, 0x52001ce5, 0x52001ce5}, + {0x0000a55c, 0x69024892, 0x69024892, 0x56001ce9, 0x56001ce9}, + {0x0000a560, 0x6e024c92, 0x6e024c92, 0x5a001ceb, 0x5a001ceb}, + {0x0000a564, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a568, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a56c, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a570, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a574, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a578, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a57c, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, {0x0000a580, 0x00800000, 0x00800000, 0x00800000, 0x00800000}, {0x0000a584, 0x06800003, 0x06800003, 0x04800002, 0x04800002}, {0x0000a588, 0x0a800020, 0x0a800020, 0x08800004, 0x08800004}, {0x0000a58c, 0x10800023, 0x10800023, 0x0b800200, 0x0b800200}, - {0x0000a590, 0x15800028, 0x15800028, 0x0f800202, 0x0f800202}, - {0x0000a594, 0x1b80002b, 0x1b80002b, 0x12800400, 0x12800400}, - {0x0000a598, 0x1f820028, 0x1f820028, 0x16800402, 0x16800402}, - {0x0000a59c, 0x2582002b, 0x2582002b, 0x19800404, 0x19800404}, - {0x0000a5a0, 0x2a84002a, 0x2a84002a, 0x1c800603, 0x1c800603}, - {0x0000a5a4, 0x2e86002a, 0x2e86002a, 0x21800a02, 0x21800a02}, - {0x0000a5a8, 0x3382202d, 0x3382202d, 0x25800a04, 0x25800a04}, - {0x0000a5ac, 0x3884202c, 0x3884202c, 0x28800a20, 0x28800a20}, - {0x0000a5b0, 0x3c86202c, 0x3c86202c, 0x2c800e20, 0x2c800e20}, - {0x0000a5b4, 0x4188202d, 0x4188202d, 0x30800e22, 0x30800e22}, - {0x0000a5b8, 0x4586402d, 0x4586402d, 0x34800e24, 0x34800e24}, - {0x0000a5bc, 0x4986222d, 0x4986222d, 0x38801640, 0x38801640}, - {0x0000a5c0, 0x4d862231, 0x4d862231, 0x3c801660, 0x3c801660}, - {0x0000a5c4, 0x50882231, 0x50882231, 0x3f801861, 0x3f801861}, - {0x0000a5c8, 0x5688422e, 0x5688422e, 0x43801a81, 0x43801a81}, - {0x0000a5cc, 0x5a88442e, 0x5a88442e, 0x47801a83, 0x47801a83}, - {0x0000a5d0, 0x5e8a4431, 0x5e8a4431, 0x4a801c84, 0x4a801c84}, - {0x0000a5d4, 0x648a4432, 0x648a4432, 0x4e801ce3, 0x4e801ce3}, - {0x0000a5d8, 0x688a4434, 0x688a4434, 0x52801ce5, 0x52801ce5}, - {0x0000a5dc, 0x6c8a6434, 0x6c8a6434, 0x56801ce9, 0x56801ce9}, - {0x0000a5e0, 0x6f8a6633, 0x6f8a6633, 0x5a801ceb, 0x5a801ceb}, - {0x0000a5e4, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, - {0x0000a5e8, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, - {0x0000a5ec, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, - {0x0000a5f0, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, - {0x0000a5f4, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, - {0x0000a5f8, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, - {0x0000a5fc, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a590, 0x16800220, 0x16800220, 0x0f800202, 0x0f800202}, + {0x0000a594, 0x1c800223, 0x1c800223, 0x12800400, 0x12800400}, + {0x0000a598, 0x21802220, 0x21802220, 0x16800402, 0x16800402}, + {0x0000a59c, 0x27802223, 0x27802223, 0x19800404, 0x19800404}, + {0x0000a5a0, 0x2b822220, 0x2b822220, 0x1c800603, 0x1c800603}, + {0x0000a5a4, 0x2f822222, 0x2f822222, 0x21800a02, 0x21800a02}, + {0x0000a5a8, 0x34822225, 0x34822225, 0x25800a04, 0x25800a04}, + {0x0000a5ac, 0x3a82222a, 0x3a82222a, 0x28800a20, 0x28800a20}, + {0x0000a5b0, 0x3e82222c, 0x3e82222c, 0x2c800e20, 0x2c800e20}, + {0x0000a5b4, 0x4282242a, 0x4282242a, 0x30800e22, 0x30800e22}, + {0x0000a5b8, 0x4782244a, 0x4782244a, 0x34800e24, 0x34800e24}, + {0x0000a5bc, 0x4b82244c, 0x4b82244c, 0x38801640, 0x38801640}, + {0x0000a5c0, 0x4e82246c, 0x4e82246c, 0x3c801660, 0x3c801660}, + {0x0000a5c4, 0x52822470, 0x52822470, 0x3f801861, 0x3f801861}, + {0x0000a5c8, 0x55822490, 0x55822490, 0x43801a81, 0x43801a81}, + {0x0000a5cc, 0x59822492, 0x59822492, 0x47801a83, 0x47801a83}, + {0x0000a5d0, 0x5d822692, 0x5d822692, 0x4a801c84, 0x4a801c84}, + {0x0000a5d4, 0x61822892, 0x61822892, 0x4e801ce3, 0x4e801ce3}, + {0x0000a5d8, 0x65824890, 0x65824890, 0x52801ce5, 0x52801ce5}, + {0x0000a5dc, 0x69824892, 0x69824892, 0x56801ce9, 0x56801ce9}, + {0x0000a5e0, 0x6e824c92, 0x6e824c92, 0x5a801ceb, 0x5a801ceb}, + {0x0000a5e4, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5e8, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5ec, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5f0, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5f4, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5f8, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5fc, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, - {0x0000a608, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, - {0x0000a60c, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, - {0x0000a610, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, - {0x0000a614, 0x01804601, 0x01804601, 0x01404000, 0x01404000}, - {0x0000a618, 0x01804601, 0x01804601, 0x01404501, 0x01404501}, - {0x0000a61c, 0x01804601, 0x01804601, 0x02008501, 0x02008501}, - {0x0000a620, 0x03408d02, 0x03408d02, 0x0280ca03, 0x0280ca03}, - {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04}, - {0x0000a628, 0x03410d04, 0x03410d04, 0x04014c04, 0x04014c04}, - {0x0000a62c, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, - {0x0000a630, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, - {0x0000a634, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, - {0x0000a638, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, - {0x0000a63c, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, - {0x0000b2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, - {0x0000b2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, - {0x0000b2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, + {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a614, 0x02004000, 0x02004000, 0x01404000, 0x01404000}, + {0x0000a618, 0x02004801, 0x02004801, 0x01404501, 0x01404501}, + {0x0000a61c, 0x02808a02, 0x02808a02, 0x02008501, 0x02008501}, + {0x0000a620, 0x0380ce03, 0x0380ce03, 0x0280ca03, 0x0280ca03}, + {0x0000a624, 0x04411104, 0x04411104, 0x03010c04, 0x03010c04}, + {0x0000a628, 0x04411104, 0x04411104, 0x04014c04, 0x04014c04}, + {0x0000a62c, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a630, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a634, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a638, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a63c, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000b2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, + {0x0000b2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, + {0x0000b2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, - {0x0000c2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, - {0x0000c2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, - {0x0000c2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, + {0x0000c2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, + {0x0000c2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, + {0x0000c2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, {0x0000c2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, {0x00016044, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, - {0x00016048, 0x61200001, 0x61200001, 0x66480001, 0x66480001}, + {0x00016048, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, {0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, {0x00016444, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, - {0x00016448, 0x61200001, 0x61200001, 0x66480001, 0x66480001}, + {0x00016448, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, {0x00016468, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, {0x00016844, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, - {0x00016848, 0x61200001, 0x61200001, 0x66480001, 0x66480001}, + {0x00016848, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, }; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/beacon.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/beacon.c @@ -121,7 +121,7 @@ if (ath_tx_start(hw, skb, &txctl) != 0) { ath_dbg(common, XMIT, "CABQ TX failed\n"); - dev_kfree_skb_any(skb); + ieee80211_free_txskb(hw, skb); } } --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/hw.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/hw.c @@ -740,6 +740,7 @@ case AR9300_DEVID_AR9340: case AR9300_DEVID_AR9580: case AR9300_DEVID_AR9462: + case AR9485_DEVID_AR1111: break; default: if (common->bus_ops->ath_bus_type == ATH_USB) --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/hw.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/hw.h @@ -48,6 +48,7 @@ #define AR9300_DEVID_AR9580 0x0033 #define AR9300_DEVID_AR9462 0x0034 #define AR9300_DEVID_AR9330 0x0035 +#define AR9485_DEVID_AR1111 0x0037 #define AR5416_AR9100_DEVID 0x000b --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/main.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/main.c @@ -1161,7 +1161,7 @@ return; exit: - dev_kfree_skb_any(skb); + ieee80211_free_txskb(hw, skb); } static void ath9k_stop(struct ieee80211_hw *hw) --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/pci.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/pci.c @@ -37,6 +37,7 @@ { PCI_VDEVICE(ATHEROS, 0x0032) }, /* PCI-E AR9485 */ { PCI_VDEVICE(ATHEROS, 0x0033) }, /* PCI-E AR9580 */ { PCI_VDEVICE(ATHEROS, 0x0034) }, /* PCI-E AR9462 */ + { PCI_VDEVICE(ATHEROS, 0x0037) }, /* PCI-E AR1111/AR9485 */ { 0 } }; @@ -123,8 +124,9 @@ if (!parent) return; - if (ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) { - /* Bluetooth coexistance requires disabling ASPM. */ + if ((ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) && + (AR_SREV_9285(ah))) { + /* Bluetooth coexistance requires disabling ASPM for AR9285. */ pci_read_config_byte(pdev, pos + PCI_EXP_LNKCTL, &aspm); aspm &= ~(PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1); pci_write_config_byte(pdev, pos + PCI_EXP_LNKCTL, aspm); @@ -312,6 +314,7 @@ * Otherwise the chip never moved to full sleep, * when no interface is up. */ + ath9k_stop_btcoex(sc); ath9k_hw_disable(sc->sc_ah); ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_FULL_SLEEP); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/recv.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/recv.c @@ -1781,7 +1781,6 @@ struct ieee80211_hw *hw = sc->hw; struct ieee80211_hdr *hdr; int retval; - bool decrypt_error = false; struct ath_rx_status rs; enum ath9k_rx_qtype qtype; bool edma = !!(ah->caps.hw_caps & ATH9K_HW_CAP_EDMA); @@ -1803,6 +1802,7 @@ tsf_lower = tsf & 0xffffffff; do { + bool decrypt_error = false; /* If handling rx interrupt and flush is in progress => exit */ if ((sc->sc_flags & SC_OP_RXFLUSH) && (flush == 0)) break; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ath/ath9k/xmit.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ath/ath9k/xmit.c @@ -64,8 +64,7 @@ static struct ath_buf *ath_tx_setup_buffer(struct ath_softc *sc, struct ath_txq *txq, struct ath_atx_tid *tid, - struct sk_buff *skb, - bool dequeue); + struct sk_buff *skb); enum { MCS_HT20, @@ -201,7 +200,15 @@ fi = get_frame_info(skb); bf = fi->bf; - if (bf && fi->retries) { + if (!bf) { + bf = ath_tx_setup_buffer(sc, txq, tid, skb); + if (!bf) { + ieee80211_free_txskb(sc->hw, skb); + continue; + } + } + + if (fi->retries) { list_add_tail(&bf->list, &bf_head); ath_tx_update_baw(sc, tid, bf->bf_state.seqno); ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, 0); @@ -330,6 +337,7 @@ } bf = list_first_entry(&sc->tx.txbuf, struct ath_buf, list); + bf->bf_next = NULL; list_del(&bf->list); spin_unlock_bh(&sc->tx.txbuflock); @@ -411,7 +419,7 @@ u16 seq_st = 0, acked_cnt = 0, txfail_cnt = 0, seq_first; u32 ba[WME_BA_BMP_SIZE >> 5]; int isaggr, txfail, txpending, sendbar = 0, needreset = 0, nbad = 0; - bool rc_update = true; + bool rc_update = true, isba; struct ieee80211_tx_rate rates[4]; struct ath_frame_info *fi; int nframes; @@ -455,13 +463,17 @@ tidno = ieee80211_get_qos_ctl(hdr)[0] & IEEE80211_QOS_CTL_TID_MASK; tid = ATH_AN_2_TID(an, tidno); seq_first = tid->seq_start; + isba = ts->ts_flags & ATH9K_TX_BA; /* * The hardware occasionally sends a tx status for the wrong TID. * In this case, the BA status cannot be considered valid and all * subframes need to be retransmitted + * + * Only BlockAcks have a TID and therefore normal Acks cannot be + * checked */ - if (tidno != ts->tid) + if (isba && tidno != ts->tid) txok = false; isaggr = bf_isaggr(bf); @@ -812,10 +824,13 @@ fi = get_frame_info(skb); bf = fi->bf; if (!fi->bf) - bf = ath_tx_setup_buffer(sc, txq, tid, skb, true); + bf = ath_tx_setup_buffer(sc, txq, tid, skb); - if (!bf) + if (!bf) { + __skb_unlink(skb, &tid->buf_q); + ieee80211_free_txskb(sc->hw, skb); continue; + } bf->bf_state.bf_type = BUF_AMPDU | BUF_AGGR; seqno = bf->bf_state.seqno; @@ -1717,9 +1732,11 @@ return; } - bf = ath_tx_setup_buffer(sc, txctl->txq, tid, skb, false); - if (!bf) + bf = ath_tx_setup_buffer(sc, txctl->txq, tid, skb); + if (!bf) { + ieee80211_free_txskb(sc->hw, skb); return; + } bf->bf_state.bf_type = BUF_AMPDU; INIT_LIST_HEAD(&bf_head); @@ -1743,16 +1760,12 @@ struct ath_buf *bf; bf = fi->bf; - if (!bf) - bf = ath_tx_setup_buffer(sc, txq, tid, skb, false); - - if (!bf) - return; INIT_LIST_HEAD(&bf_head); list_add_tail(&bf->list, &bf_head); bf->bf_state.bf_type = 0; + bf->bf_next = NULL; bf->bf_lastbf = bf; ath_tx_fill_desc(sc, bf, txq, fi->framelen); ath_tx_txqaddbuf(sc, txq, &bf_head, false); @@ -1820,8 +1833,7 @@ static struct ath_buf *ath_tx_setup_buffer(struct ath_softc *sc, struct ath_txq *txq, struct ath_atx_tid *tid, - struct sk_buff *skb, - bool dequeue) + struct sk_buff *skb) { struct ath_common *common = ath9k_hw_common(sc->sc_ah); struct ath_frame_info *fi = get_frame_info(skb); @@ -1833,7 +1845,7 @@ bf = ath_tx_get_buffer(sc); if (!bf) { ath_dbg(common, XMIT, "TX buffers are full\n"); - goto error; + return NULL; } ATH_TXBUF_RESET(bf); @@ -1862,18 +1874,12 @@ ath_err(ath9k_hw_common(sc->sc_ah), "dma_mapping_error() on TX\n"); ath_tx_return_buffer(sc, bf); - goto error; + return NULL; } fi->bf = bf; return bf; - -error: - if (dequeue) - __skb_unlink(skb, &tid->buf_q); - dev_kfree_skb_any(skb); - return NULL; } /* FIXME: tx power */ @@ -1902,9 +1908,14 @@ */ ath_tx_send_ampdu(sc, tid, skb, txctl); } else { - bf = ath_tx_setup_buffer(sc, txctl->txq, tid, skb, false); - if (!bf) + bf = ath_tx_setup_buffer(sc, txctl->txq, tid, skb); + if (!bf) { + if (txctl->paprd) + dev_kfree_skb_any(skb); + else + ieee80211_free_txskb(sc->hw, skb); return; + } bf->bf_state.bfs_paprd = txctl->paprd; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/b43/b43.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/b43/b43.h @@ -870,13 +870,6 @@ * handler, only. This basically is just the IRQ mask register. */ spinlock_t hardirq_lock; - /* The number of queues that were registered with the mac80211 subsystem - * initially. This is a backup copy of hw->queues in case hw->queues has - * to be dynamically lowered at runtime (Firmware does not support QoS). - * hw->queues has to be restored to the original value before unregistering - * from the mac80211 subsystem. */ - u16 mac80211_initially_registered_queues; - /* Set this if we call ieee80211_register_hw() and check if we call * ieee80211_unregister_hw(). */ bool hw_registred; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/b43/main.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/b43/main.c @@ -2359,6 +2359,8 @@ if (err) goto err_load; + fw->opensource = (ctx->req_type == B43_FWTYPE_OPENSOURCE); + return 0; err_no_ucode: @@ -2434,6 +2436,10 @@ goto out; start_ieee80211: + wl->hw->queues = B43_QOS_QUEUE_NUM; + if (!modparam_qos || dev->fw.opensource) + wl->hw->queues = 1; + err = ieee80211_register_hw(wl->hw); if (err) goto err_one_core_detach; @@ -2537,11 +2543,9 @@ dev->fw.hdr_format = B43_FW_HDR_410; else dev->fw.hdr_format = B43_FW_HDR_351; - dev->fw.opensource = (fwdate == 0xFFFF); + WARN_ON(dev->fw.opensource != (fwdate == 0xFFFF)); - /* Default to use-all-queues. */ - dev->wl->hw->queues = dev->wl->mac80211_initially_registered_queues; - dev->qos_enabled = !!modparam_qos; + dev->qos_enabled = dev->wl->hw->queues > 1; /* Default to firmware/hardware crypto acceleration. */ dev->hwcrypto_enabled = true; @@ -2559,14 +2563,8 @@ /* Disable hardware crypto and fall back to software crypto. */ dev->hwcrypto_enabled = false; } - if (!(fwcapa & B43_FWCAPA_QOS)) { - b43info(dev->wl, "QoS not supported by firmware\n"); - /* Disable QoS. Tweak hw->queues to 1. It will be restored before - * ieee80211_unregister to make sure the networking core can - * properly free possible resources. */ - dev->wl->hw->queues = 1; - dev->qos_enabled = false; - } + /* adding QoS support should use an offline discovery mechanism */ + WARN(fwcapa & B43_FWCAPA_QOS, "QoS in OpenFW not supported\n"); } else { b43info(dev->wl, "Loading firmware version %u.%u " "(20%.2i-%.2i-%.2i %.2i:%.2i:%.2i)\n", @@ -5298,8 +5296,6 @@ hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; - hw->queues = modparam_qos ? B43_QOS_QUEUE_NUM : 1; - wl->mac80211_initially_registered_queues = hw->queues; wl->hw_registred = false; hw->max_rates = 2; SET_IEEE80211_DEV(hw, dev->dev); @@ -5373,11 +5369,9 @@ cancel_work_sync(&wldev->restart_work); B43_WARN_ON(!wl); + if (!wldev->fw.ucode.data) + return; /* NULL if firmware never loaded */ if (wl->current_dev == wldev && wl->hw_registred) { - /* Restore the queues count before unregistering, because firmware detect - * might have modified it. Restoring is important, so the networking - * stack can properly free resources. */ - wl->hw->queues = wl->mac80211_initially_registered_queues; b43_leds_stop(wldev); ieee80211_unregister_hw(wl->hw); } @@ -5451,11 +5445,9 @@ cancel_work_sync(&wldev->restart_work); B43_WARN_ON(!wl); + if (!wldev->fw.ucode.data) + return; /* NULL if firmware never loaded */ if (wl->current_dev == wldev && wl->hw_registred) { - /* Restore the queues count before unregistering, because firmware detect - * might have modified it. Restoring is important, so the networking - * stack can properly free resources. */ - wl->hw->queues = wl->mac80211_initially_registered_queues; b43_leds_stop(wldev); ieee80211_unregister_hw(wl->hw); } --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/b43legacy/main.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/b43legacy/main.c @@ -3894,6 +3894,8 @@ cancel_work_sync(&wl->firmware_load); B43legacy_WARN_ON(!wl); + if (!wldev->fw.ucode) + return; /* NULL if fw never loaded */ if (wl->current_dev == wldev) ieee80211_unregister_hw(wl->hw); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c @@ -764,8 +764,11 @@ { char iovbuf[32]; int retcode; + __le32 arp_mode_le; - brcmf_c_mkiovar("arp_ol", (char *)&arp_mode, 4, iovbuf, sizeof(iovbuf)); + arp_mode_le = cpu_to_le32(arp_mode); + brcmf_c_mkiovar("arp_ol", (char *)&arp_mode_le, 4, iovbuf, + sizeof(iovbuf)); retcode = brcmf_proto_cdc_set_dcmd(drvr, 0, BRCMF_C_SET_VAR, iovbuf, sizeof(iovbuf)); retcode = retcode >= 0 ? 0 : retcode; @@ -781,8 +784,11 @@ { char iovbuf[32]; int retcode; + __le32 arp_enable_le; - brcmf_c_mkiovar("arpoe", (char *)&arp_enable, 4, + arp_enable_le = cpu_to_le32(arp_enable); + + brcmf_c_mkiovar("arpoe", (char *)&arp_enable_le, 4, iovbuf, sizeof(iovbuf)); retcode = brcmf_proto_cdc_set_dcmd(drvr, 0, BRCMF_C_SET_VAR, iovbuf, sizeof(iovbuf)); @@ -802,10 +808,10 @@ char buf[128], *ptr; u32 dongle_align = drvr->bus_if->align; u32 glom = 0; - u32 roaming = 1; - uint bcn_timeout = 3; - int scan_assoc_time = 40; - int scan_unassoc_time = 40; + __le32 roaming_le = cpu_to_le32(1); + __le32 bcn_timeout_le = cpu_to_le32(3); + __le32 scan_assoc_time_le = cpu_to_le32(40); + __le32 scan_unassoc_time_le = cpu_to_le32(40); int i; mutex_lock(&drvr->proto_block); @@ -840,14 +846,14 @@ /* Setup timeout if Beacons are lost and roam is off to report link down */ - brcmf_c_mkiovar("bcn_timeout", (char *)&bcn_timeout, 4, iovbuf, + brcmf_c_mkiovar("bcn_timeout", (char *)&bcn_timeout_le, 4, iovbuf, sizeof(iovbuf)); brcmf_proto_cdc_set_dcmd(drvr, 0, BRCMF_C_SET_VAR, iovbuf, sizeof(iovbuf)); /* Enable/Disable build-in roaming to allowed ext supplicant to take of romaing */ - brcmf_c_mkiovar("roam_off", (char *)&roaming, 4, + brcmf_c_mkiovar("roam_off", (char *)&roaming_le, 4, iovbuf, sizeof(iovbuf)); brcmf_proto_cdc_set_dcmd(drvr, 0, BRCMF_C_SET_VAR, iovbuf, sizeof(iovbuf)); @@ -859,9 +865,9 @@ sizeof(iovbuf)); brcmf_proto_cdc_set_dcmd(drvr, 0, BRCMF_C_SET_SCAN_CHANNEL_TIME, - (char *)&scan_assoc_time, sizeof(scan_assoc_time)); + (char *)&scan_assoc_time_le, sizeof(scan_assoc_time_le)); brcmf_proto_cdc_set_dcmd(drvr, 0, BRCMF_C_SET_SCAN_UNASSOC_TIME, - (char *)&scan_unassoc_time, sizeof(scan_unassoc_time)); + (char *)&scan_unassoc_time_le, sizeof(scan_unassoc_time_le)); /* Set and enable ARP offload feature */ brcmf_c_arp_offload_set(drvr, BRCMF_ARPOL_MODE); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c @@ -500,8 +500,10 @@ params_le->active_time = cpu_to_le32(-1); params_le->passive_time = cpu_to_le32(-1); params_le->home_time = cpu_to_le32(-1); - if (ssid && ssid->SSID_len) - memcpy(¶ms_le->ssid_le, ssid, sizeof(struct brcmf_ssid)); + if (ssid && ssid->SSID_len) { + params_le->ssid_le.SSID_len = cpu_to_le32(ssid->SSID_len); + memcpy(¶ms_le->ssid_le.SSID, ssid->SSID, ssid->SSID_len); + } } static s32 --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/channel.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/brcm80211/brcmsmac/channel.c @@ -15,7 +15,9 @@ */ #include +#include #include +#include #include #include "pub.h" @@ -23,73 +25,17 @@ #include "main.h" #include "stf.h" #include "channel.h" +#include "mac80211_if.h" /* QDB() macro takes a dB value and converts to a quarter dB value */ #define QDB(n) ((n) * BRCMS_TXPWR_DB_FACTOR) -#define LOCALE_CHAN_01_11 (1<<0) -#define LOCALE_CHAN_12_13 (1<<1) -#define LOCALE_CHAN_14 (1<<2) -#define LOCALE_SET_5G_LOW_JP1 (1<<3) /* 34-48, step 2 */ -#define LOCALE_SET_5G_LOW_JP2 (1<<4) /* 34-46, step 4 */ -#define LOCALE_SET_5G_LOW1 (1<<5) /* 36-48, step 4 */ -#define LOCALE_SET_5G_LOW2 (1<<6) /* 52 */ -#define LOCALE_SET_5G_LOW3 (1<<7) /* 56-64, step 4 */ -#define LOCALE_SET_5G_MID1 (1<<8) /* 100-116, step 4 */ -#define LOCALE_SET_5G_MID2 (1<<9) /* 120-124, step 4 */ -#define LOCALE_SET_5G_MID3 (1<<10) /* 128 */ -#define LOCALE_SET_5G_HIGH1 (1<<11) /* 132-140, step 4 */ -#define LOCALE_SET_5G_HIGH2 (1<<12) /* 149-161, step 4 */ -#define LOCALE_SET_5G_HIGH3 (1<<13) /* 165 */ -#define LOCALE_CHAN_52_140_ALL (1<<14) -#define LOCALE_SET_5G_HIGH4 (1<<15) /* 184-216 */ - -#define LOCALE_CHAN_36_64 (LOCALE_SET_5G_LOW1 | \ - LOCALE_SET_5G_LOW2 | \ - LOCALE_SET_5G_LOW3) -#define LOCALE_CHAN_52_64 (LOCALE_SET_5G_LOW2 | LOCALE_SET_5G_LOW3) -#define LOCALE_CHAN_100_124 (LOCALE_SET_5G_MID1 | LOCALE_SET_5G_MID2) -#define LOCALE_CHAN_100_140 (LOCALE_SET_5G_MID1 | LOCALE_SET_5G_MID2 | \ - LOCALE_SET_5G_MID3 | LOCALE_SET_5G_HIGH1) -#define LOCALE_CHAN_149_165 (LOCALE_SET_5G_HIGH2 | LOCALE_SET_5G_HIGH3) -#define LOCALE_CHAN_184_216 LOCALE_SET_5G_HIGH4 - -#define LOCALE_CHAN_01_14 (LOCALE_CHAN_01_11 | \ - LOCALE_CHAN_12_13 | \ - LOCALE_CHAN_14) - -#define LOCALE_RADAR_SET_NONE 0 -#define LOCALE_RADAR_SET_1 1 - -#define LOCALE_RESTRICTED_NONE 0 -#define LOCALE_RESTRICTED_SET_2G_SHORT 1 -#define LOCALE_RESTRICTED_CHAN_165 2 -#define LOCALE_CHAN_ALL_5G 3 -#define LOCALE_RESTRICTED_JAPAN_LEGACY 4 -#define LOCALE_RESTRICTED_11D_2G 5 -#define LOCALE_RESTRICTED_11D_5G 6 -#define LOCALE_RESTRICTED_LOW_HI 7 -#define LOCALE_RESTRICTED_12_13_14 8 - -#define LOCALE_2G_IDX_i 0 -#define LOCALE_5G_IDX_11 0 #define LOCALE_MIMO_IDX_bn 0 #define LOCALE_MIMO_IDX_11n 0 -/* max of BAND_5G_PWR_LVLS and 6 for 2.4 GHz */ -#define BRCMS_MAXPWR_TBL_SIZE 6 /* max of BAND_5G_PWR_LVLS and 14 for 2.4 GHz */ #define BRCMS_MAXPWR_MIMO_TBL_SIZE 14 -/* power level in group of 2.4GHz band channels: - * maxpwr[0] - CCK channels [1] - * maxpwr[1] - CCK channels [2-10] - * maxpwr[2] - CCK channels [11-14] - * maxpwr[3] - OFDM channels [1] - * maxpwr[4] - OFDM channels [2-10] - * maxpwr[5] - OFDM channels [11-14] - */ - /* maxpwr mapping to 5GHz band channels: * maxpwr[0] - channels [34-48] * maxpwr[1] - channels [52-60] @@ -101,16 +47,8 @@ #define LC(id) LOCALE_MIMO_IDX_ ## id -#define LC_2G(id) LOCALE_2G_IDX_ ## id - -#define LC_5G(id) LOCALE_5G_IDX_ ## id - -#define LOCALES(band2, band5, mimo2, mimo5) \ - {LC_2G(band2), LC_5G(band5), LC(mimo2), LC(mimo5)} - -/* macro to get 2.4 GHz channel group index for tx power */ -#define CHANNEL_POWER_IDX_2G_CCK(c) (((c) < 2) ? 0 : (((c) < 11) ? 1 : 2)) -#define CHANNEL_POWER_IDX_2G_OFDM(c) (((c) < 2) ? 3 : (((c) < 11) ? 4 : 5)) +#define LOCALES(mimo2, mimo5) \ + {LC(mimo2), LC(mimo5)} /* macro to get 5 GHz channel group index for tx power */ #define CHANNEL_POWER_IDX_5G(c) (((c) < 52) ? 0 : \ @@ -118,18 +56,37 @@ (((c) < 100) ? 2 : \ (((c) < 149) ? 3 : 4)))) -#define ISDFS_EU(fl) (((fl) & BRCMS_DFS_EU) == BRCMS_DFS_EU) - -struct brcms_cm_band { - /* struct locale_info flags */ - u8 locale_flags; - /* List of valid channels in the country */ - struct brcms_chanvec valid_channels; - /* List of restricted use channels */ - const struct brcms_chanvec *restricted_channels; - /* List of radar sensitive channels */ - const struct brcms_chanvec *radar_channels; - u8 PAD[8]; +#define BRCM_2GHZ_2412_2462 REG_RULE(2412-10, 2462+10, 40, 0, 19, 0) +#define BRCM_2GHZ_2467_2472 REG_RULE(2467-10, 2472+10, 20, 0, 19, \ + NL80211_RRF_PASSIVE_SCAN | \ + NL80211_RRF_NO_IBSS) + +#define BRCM_5GHZ_5180_5240 REG_RULE(5180-10, 5240+10, 40, 0, 21, \ + NL80211_RRF_PASSIVE_SCAN | \ + NL80211_RRF_NO_IBSS) +#define BRCM_5GHZ_5260_5320 REG_RULE(5260-10, 5320+10, 40, 0, 21, \ + NL80211_RRF_PASSIVE_SCAN | \ + NL80211_RRF_DFS | \ + NL80211_RRF_NO_IBSS) +#define BRCM_5GHZ_5500_5700 REG_RULE(5500-10, 5700+10, 40, 0, 21, \ + NL80211_RRF_PASSIVE_SCAN | \ + NL80211_RRF_DFS | \ + NL80211_RRF_NO_IBSS) +#define BRCM_5GHZ_5745_5825 REG_RULE(5745-10, 5825+10, 40, 0, 21, \ + NL80211_RRF_PASSIVE_SCAN | \ + NL80211_RRF_NO_IBSS) + +static const struct ieee80211_regdomain brcms_regdom_x2 = { + .n_reg_rules = 7, + .alpha2 = "X2", + .reg_rules = { + BRCM_2GHZ_2412_2462, + BRCM_2GHZ_2467_2472, + BRCM_5GHZ_5180_5240, + BRCM_5GHZ_5260_5320, + BRCM_5GHZ_5500_5700, + BRCM_5GHZ_5745_5825, + } }; /* locale per-channel tx power limits for MIMO frames @@ -141,337 +98,23 @@ s8 maxpwr20[BRCMS_MAXPWR_MIMO_TBL_SIZE]; /* tx 40 MHz power limits, qdBm units */ s8 maxpwr40[BRCMS_MAXPWR_MIMO_TBL_SIZE]; - u8 flags; }; /* Country names and abbreviations with locale defined from ISO 3166 */ struct country_info { - const u8 locale_2G; /* 2.4G band locale */ - const u8 locale_5G; /* 5G band locale */ const u8 locale_mimo_2G; /* 2.4G mimo info */ const u8 locale_mimo_5G; /* 5G mimo info */ }; +struct brcms_regd { + struct country_info country; + const struct ieee80211_regdomain *regdomain; +}; + struct brcms_cm_info { struct brcms_pub *pub; struct brcms_c_info *wlc; - char srom_ccode[BRCM_CNTRY_BUF_SZ]; /* Country Code in SROM */ - uint srom_regrev; /* Regulatory Rev for the SROM ccode */ - const struct country_info *country; /* current country def */ - char ccode[BRCM_CNTRY_BUF_SZ]; /* current internal Country Code */ - uint regrev; /* current Regulatory Revision */ - char country_abbrev[BRCM_CNTRY_BUF_SZ]; /* current advertised ccode */ - /* per-band state (one per phy/radio) */ - struct brcms_cm_band bandstate[MAXBANDS]; - /* quiet channels currently for radar sensitivity or 11h support */ - /* channels on which we cannot transmit */ - struct brcms_chanvec quiet_channels; -}; - -/* locale channel and power info. */ -struct locale_info { - u32 valid_channels; - /* List of radar sensitive channels */ - u8 radar_channels; - /* List of channels used only if APs are detected */ - u8 restricted_channels; - /* Max tx pwr in qdBm for each sub-band */ - s8 maxpwr[BRCMS_MAXPWR_TBL_SIZE]; - /* Country IE advertised max tx pwr in dBm per sub-band */ - s8 pub_maxpwr[BAND_5G_PWR_LVLS]; - u8 flags; -}; - -/* Regulatory Matrix Spreadsheet (CLM) MIMO v3.7.9 */ - -/* - * Some common channel sets - */ - -/* No channels */ -static const struct brcms_chanvec chanvec_none = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -/* All 2.4 GHz HW channels */ -static const struct brcms_chanvec chanvec_all_2G = { - {0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -/* All 5 GHz HW channels */ -static const struct brcms_chanvec chanvec_all_5G = { - {0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0x11, 0x11, - 0x01, 0x00, 0x00, 0x00, 0x10, 0x11, 0x11, 0x11, - 0x11, 0x11, 0x20, 0x22, 0x22, 0x00, 0x00, 0x11, - 0x11, 0x11, 0x11, 0x01} -}; - -/* - * Radar channel sets - */ - -/* Channels 52 - 64, 100 - 140 */ -static const struct brcms_chanvec radar_set1 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x11, /* 52 - 60 */ - 0x01, 0x00, 0x00, 0x00, 0x10, 0x11, 0x11, 0x11, /* 64, 100 - 124 */ - 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 128 - 140 */ - 0x00, 0x00, 0x00, 0x00} -}; - -/* - * Restricted channel sets - */ - -/* Channels 34, 38, 42, 46 */ -static const struct brcms_chanvec restricted_set_japan_legacy = { - {0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -/* Channels 12, 13 */ -static const struct brcms_chanvec restricted_set_2g_short = { - {0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -/* Channel 165 */ -static const struct brcms_chanvec restricted_chan_165 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -/* Channels 36 - 48 & 149 - 165 */ -static const struct brcms_chanvec restricted_low_hi = { - {0x00, 0x00, 0x00, 0x00, 0x10, 0x11, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x22, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -/* Channels 12 - 14 */ -static const struct brcms_chanvec restricted_set_12_13_14 = { - {0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -/* global memory to provide working buffer for expanded locale */ - -static const struct brcms_chanvec *g_table_radar_set[] = { - &chanvec_none, - &radar_set1 -}; - -static const struct brcms_chanvec *g_table_restricted_chan[] = { - &chanvec_none, /* restricted_set_none */ - &restricted_set_2g_short, - &restricted_chan_165, - &chanvec_all_5G, - &restricted_set_japan_legacy, - &chanvec_all_2G, /* restricted_set_11d_2G */ - &chanvec_all_5G, /* restricted_set_11d_5G */ - &restricted_low_hi, - &restricted_set_12_13_14 -}; - -static const struct brcms_chanvec locale_2g_01_11 = { - {0xfe, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_2g_12_13 = { - {0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_2g_14 = { - {0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_LOW_JP1 = { - {0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_LOW_JP2 = { - {0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_LOW1 = { - {0x00, 0x00, 0x00, 0x00, 0x10, 0x11, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_LOW2 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_LOW3 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_MID1 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x11, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_MID2 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_MID3 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_HIGH1 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_HIGH2 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x22, 0x02, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_HIGH3 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_52_140_ALL = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x11, - 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, - 0x11, 0x11, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00} -}; - -static const struct brcms_chanvec locale_5g_HIGH4 = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x11, 0x11, 0x11, 0x11} -}; - -static const struct brcms_chanvec *g_table_locale_base[] = { - &locale_2g_01_11, - &locale_2g_12_13, - &locale_2g_14, - &locale_5g_LOW_JP1, - &locale_5g_LOW_JP2, - &locale_5g_LOW1, - &locale_5g_LOW2, - &locale_5g_LOW3, - &locale_5g_MID1, - &locale_5g_MID2, - &locale_5g_MID3, - &locale_5g_HIGH1, - &locale_5g_HIGH2, - &locale_5g_HIGH3, - &locale_5g_52_140_ALL, - &locale_5g_HIGH4 -}; - -static void brcms_c_locale_add_channels(struct brcms_chanvec *target, - const struct brcms_chanvec *channels) -{ - u8 i; - for (i = 0; i < sizeof(struct brcms_chanvec); i++) - target->vec[i] |= channels->vec[i]; -} - -static void brcms_c_locale_get_channels(const struct locale_info *locale, - struct brcms_chanvec *channels) -{ - u8 i; - - memset(channels, 0, sizeof(struct brcms_chanvec)); - - for (i = 0; i < ARRAY_SIZE(g_table_locale_base); i++) { - if (locale->valid_channels & (1 << i)) - brcms_c_locale_add_channels(channels, - g_table_locale_base[i]); - } -} - -/* - * Locale Definitions - 2.4 GHz - */ -static const struct locale_info locale_i = { /* locale i. channel 1 - 13 */ - LOCALE_CHAN_01_11 | LOCALE_CHAN_12_13, - LOCALE_RADAR_SET_NONE, - LOCALE_RESTRICTED_SET_2G_SHORT, - {QDB(19), QDB(19), QDB(19), - QDB(19), QDB(19), QDB(19)}, - {20, 20, 20, 0}, - BRCMS_EIRP -}; - -/* - * Locale Definitions - 5 GHz - */ -static const struct locale_info locale_11 = { - /* locale 11. channel 36 - 48, 52 - 64, 100 - 140, 149 - 165 */ - LOCALE_CHAN_36_64 | LOCALE_CHAN_100_140 | LOCALE_CHAN_149_165, - LOCALE_RADAR_SET_1, - LOCALE_RESTRICTED_NONE, - {QDB(21), QDB(21), QDB(21), QDB(21), QDB(21)}, - {23, 23, 23, 30, 30}, - BRCMS_EIRP | BRCMS_DFS_EU -}; - -static const struct locale_info *g_locale_2g_table[] = { - &locale_i -}; - -static const struct locale_info *g_locale_5g_table[] = { - &locale_11 + const struct brcms_regd *world_regd; }; /* @@ -484,7 +127,6 @@ {0, 0, QDB(13), QDB(13), QDB(13), QDB(13), QDB(13), QDB(13), QDB(13), QDB(13), QDB(13), 0, 0}, - 0 }; static const struct locale_mimo_info *g_mimo_2g_table[] = { @@ -497,113 +139,19 @@ static const struct locale_mimo_info locale_11n = { { /* 12.5 dBm */ 50, 50, 50, QDB(15), QDB(15)}, {QDB(14), QDB(15), QDB(15), QDB(15), QDB(15)}, - 0 }; static const struct locale_mimo_info *g_mimo_5g_table[] = { &locale_11n }; -static const struct { - char abbrev[BRCM_CNTRY_BUF_SZ]; /* country abbreviation */ - struct country_info country; -} cntry_locales[] = { +static const struct brcms_regd cntry_locales[] = { + /* Worldwide RoW 2, must always be at index 0 */ { - "X2", LOCALES(i, 11, bn, 11n)}, /* Worldwide RoW 2 */ -}; - -#ifdef SUPPORT_40MHZ -/* 20MHz channel info for 40MHz pairing support */ -struct chan20_info { - u8 sb; - u8 adj_sbs; -}; - -/* indicates adjacent channels that are allowed for a 40 Mhz channel and - * those that permitted by the HT - */ -struct chan20_info chan20_info[] = { - /* 11b/11g */ -/* 0 */ {1, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 1 */ {2, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 2 */ {3, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 3 */ {4, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 4 */ {5, (CH_UPPER_SB | CH_LOWER_SB | CH_EWA_VALID)}, -/* 5 */ {6, (CH_UPPER_SB | CH_LOWER_SB | CH_EWA_VALID)}, -/* 6 */ {7, (CH_UPPER_SB | CH_LOWER_SB | CH_EWA_VALID)}, -/* 7 */ {8, (CH_UPPER_SB | CH_LOWER_SB | CH_EWA_VALID)}, -/* 8 */ {9, (CH_UPPER_SB | CH_LOWER_SB | CH_EWA_VALID)}, -/* 9 */ {10, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 10 */ {11, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 11 */ {12, (CH_LOWER_SB)}, -/* 12 */ {13, (CH_LOWER_SB)}, -/* 13 */ {14, (CH_LOWER_SB)}, - -/* 11a japan high */ -/* 14 */ {34, (CH_UPPER_SB)}, -/* 15 */ {38, (CH_LOWER_SB)}, -/* 16 */ {42, (CH_LOWER_SB)}, -/* 17 */ {46, (CH_LOWER_SB)}, - -/* 11a usa low */ -/* 18 */ {36, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 19 */ {40, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 20 */ {44, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 21 */ {48, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 22 */ {52, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 23 */ {56, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 24 */ {60, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 25 */ {64, (CH_LOWER_SB | CH_EWA_VALID)}, - -/* 11a Europe */ -/* 26 */ {100, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 27 */ {104, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 28 */ {108, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 29 */ {112, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 30 */ {116, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 31 */ {120, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 32 */ {124, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 33 */ {128, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 34 */ {132, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 35 */ {136, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 36 */ {140, (CH_LOWER_SB)}, - -/* 11a usa high, ref5 only */ -/* The 0x80 bit in pdiv means these are REF5, other entries are REF20 */ -/* 37 */ {149, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 38 */ {153, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 39 */ {157, (CH_UPPER_SB | CH_EWA_VALID)}, -/* 40 */ {161, (CH_LOWER_SB | CH_EWA_VALID)}, -/* 41 */ {165, (CH_LOWER_SB)}, - -/* 11a japan */ -/* 42 */ {184, (CH_UPPER_SB)}, -/* 43 */ {188, (CH_LOWER_SB)}, -/* 44 */ {192, (CH_UPPER_SB)}, -/* 45 */ {196, (CH_LOWER_SB)}, -/* 46 */ {200, (CH_UPPER_SB)}, -/* 47 */ {204, (CH_LOWER_SB)}, -/* 48 */ {208, (CH_UPPER_SB)}, -/* 49 */ {212, (CH_LOWER_SB)}, -/* 50 */ {216, (CH_LOWER_SB)} + .country = LOCALES(bn, 11n), + .regdomain = &brcms_regdom_x2, + }, }; -#endif /* SUPPORT_40MHZ */ - -static const struct locale_info *brcms_c_get_locale_2g(u8 locale_idx) -{ - if (locale_idx >= ARRAY_SIZE(g_locale_2g_table)) - return NULL; /* error condition */ - - return g_locale_2g_table[locale_idx]; -} - -static const struct locale_info *brcms_c_get_locale_5g(u8 locale_idx) -{ - if (locale_idx >= ARRAY_SIZE(g_locale_5g_table)) - return NULL; /* error condition */ - - return g_locale_5g_table[locale_idx]; -} static const struct locale_mimo_info *brcms_c_get_mimo_2g(u8 locale_idx) { @@ -621,13 +169,6 @@ return g_mimo_5g_table[locale_idx]; } -static int -brcms_c_country_aggregate_map(struct brcms_cm_info *wlc_cm, const char *ccode, - char *mapped_ccode, uint *mapped_regrev) -{ - return false; -} - /* * Indicates whether the country provided is valid to pass * to cfg80211 or not. @@ -662,155 +203,24 @@ return true; } -/* Lookup a country info structure from a null terminated country - * abbreviation and regrev directly with no translation. - */ -static const struct country_info * -brcms_c_country_lookup_direct(const char *ccode, uint regrev) -{ - uint size, i; - - /* Should just return 0 for single locale driver. */ - /* Keep it this way in case we add more locales. (for now anyway) */ - - /* - * all other country def arrays are for regrev == 0, so if - * regrev is non-zero, fail - */ - if (regrev > 0) - return NULL; - - /* find matched table entry from country code */ - size = ARRAY_SIZE(cntry_locales); - for (i = 0; i < size; i++) { - if (strcmp(ccode, cntry_locales[i].abbrev) == 0) - return &cntry_locales[i].country; - } - return NULL; -} - -static const struct country_info * -brcms_c_countrycode_map(struct brcms_cm_info *wlc_cm, const char *ccode, - char *mapped_ccode, uint *mapped_regrev) -{ - struct brcms_c_info *wlc = wlc_cm->wlc; - const struct country_info *country; - uint srom_regrev = wlc_cm->srom_regrev; - const char *srom_ccode = wlc_cm->srom_ccode; - int mapped; - - /* check for currently supported ccode size */ - if (strlen(ccode) > (BRCM_CNTRY_BUF_SZ - 1)) { - wiphy_err(wlc->wiphy, "wl%d: %s: ccode \"%s\" too long for " - "match\n", wlc->pub->unit, __func__, ccode); - return NULL; - } - - /* default mapping is the given ccode and regrev 0 */ - strncpy(mapped_ccode, ccode, BRCM_CNTRY_BUF_SZ); - *mapped_regrev = 0; - - /* If the desired country code matches the srom country code, - * then the mapped country is the srom regulatory rev. - * Otherwise look for an aggregate mapping. - */ - if (!strcmp(srom_ccode, ccode)) { - *mapped_regrev = srom_regrev; - mapped = 0; - wiphy_err(wlc->wiphy, "srom_code == ccode %s\n", __func__); - } else { - mapped = - brcms_c_country_aggregate_map(wlc_cm, ccode, mapped_ccode, - mapped_regrev); - } - - /* find the matching built-in country definition */ - country = brcms_c_country_lookup_direct(mapped_ccode, *mapped_regrev); - - /* if there is not an exact rev match, default to rev zero */ - if (country == NULL && *mapped_regrev != 0) { - *mapped_regrev = 0; - country = - brcms_c_country_lookup_direct(mapped_ccode, *mapped_regrev); - } - - return country; -} - -/* Lookup a country info structure from a null terminated country code - * The lookup is case sensitive. - */ -static const struct country_info * -brcms_c_country_lookup(struct brcms_c_info *wlc, const char *ccode) -{ - const struct country_info *country; - char mapped_ccode[BRCM_CNTRY_BUF_SZ]; - uint mapped_regrev; - - /* - * map the country code to a built-in country code, regrev, and - * country_info struct - */ - country = brcms_c_countrycode_map(wlc->cmi, ccode, mapped_ccode, - &mapped_regrev); - - return country; -} - -/* - * reset the quiet channels vector to the union - * of the restricted and radar channel sets - */ -static void brcms_c_quiet_channels_reset(struct brcms_cm_info *wlc_cm) +static const struct brcms_regd *brcms_world_regd(const char *regdom, int len) { - struct brcms_c_info *wlc = wlc_cm->wlc; - uint i, j; - struct brcms_band *band; - const struct brcms_chanvec *chanvec; - - memset(&wlc_cm->quiet_channels, 0, sizeof(struct brcms_chanvec)); - - band = wlc->band; - for (i = 0; i < wlc->pub->_nbands; - i++, band = wlc->bandstate[OTHERBANDUNIT(wlc)]) { - - /* initialize quiet channels for restricted channels */ - chanvec = wlc_cm->bandstate[band->bandunit].restricted_channels; - for (j = 0; j < sizeof(struct brcms_chanvec); j++) - wlc_cm->quiet_channels.vec[j] |= chanvec->vec[j]; + const struct brcms_regd *regd = NULL; + int i; + for (i = 0; i < ARRAY_SIZE(cntry_locales); i++) { + if (!strncmp(regdom, cntry_locales[i].regdomain->alpha2, len)) { + regd = &cntry_locales[i]; + break; + } } -} -/* Is the channel valid for the current locale and current band? */ -static bool brcms_c_valid_channel20(struct brcms_cm_info *wlc_cm, uint val) -{ - struct brcms_c_info *wlc = wlc_cm->wlc; - - return ((val < MAXCHANNEL) && - isset(wlc_cm->bandstate[wlc->band->bandunit].valid_channels.vec, - val)); + return regd; } -/* Is the channel valid for the current locale and specified band? */ -static bool brcms_c_valid_channel20_in_band(struct brcms_cm_info *wlc_cm, - uint bandunit, uint val) +static const struct brcms_regd *brcms_default_world_regd(void) { - return ((val < MAXCHANNEL) - && isset(wlc_cm->bandstate[bandunit].valid_channels.vec, val)); -} - -/* Is the channel valid for the current locale? (but don't consider channels not - * available due to bandlocking) - */ -static bool brcms_c_valid_channel20_db(struct brcms_cm_info *wlc_cm, uint val) -{ - struct brcms_c_info *wlc = wlc_cm->wlc; - - return brcms_c_valid_channel20(wlc->cmi, val) || - (!wlc->bandlocked - && brcms_c_valid_channel20_in_band(wlc->cmi, - OTHERBANDUNIT(wlc), val)); + return &cntry_locales[0]; } /* JP, J1 - J10 are Japan ccodes */ @@ -820,12 +230,6 @@ (ccode[1] == 'P' || (ccode[1] >= '1' && ccode[1] <= '9'))); } -/* Returns true if currently set country is Japan or variant */ -static bool brcms_c_japan(struct brcms_c_info *wlc) -{ - return brcms_c_japan_ccode(wlc->cmi->country_abbrev); -} - static void brcms_c_channel_min_txpower_limits_with_local_constraint( struct brcms_cm_info *wlc_cm, struct txpwr_limits *txpwr, @@ -901,140 +305,16 @@ } -/* Update the radio state (enable/disable) and tx power targets - * based on a new set of channel/regulatory information - */ -static void brcms_c_channels_commit(struct brcms_cm_info *wlc_cm) -{ - struct brcms_c_info *wlc = wlc_cm->wlc; - uint chan; - struct txpwr_limits txpwr; - - /* search for the existence of any valid channel */ - for (chan = 0; chan < MAXCHANNEL; chan++) { - if (brcms_c_valid_channel20_db(wlc->cmi, chan)) - break; - } - if (chan == MAXCHANNEL) - chan = INVCHANNEL; - - /* - * based on the channel search above, set or - * clear WL_RADIO_COUNTRY_DISABLE. - */ - if (chan == INVCHANNEL) { - /* - * country/locale with no valid channels, set - * the radio disable bit - */ - mboolset(wlc->pub->radio_disabled, WL_RADIO_COUNTRY_DISABLE); - wiphy_err(wlc->wiphy, "wl%d: %s: no valid channel for \"%s\" " - "nbands %d bandlocked %d\n", wlc->pub->unit, - __func__, wlc_cm->country_abbrev, wlc->pub->_nbands, - wlc->bandlocked); - } else if (mboolisset(wlc->pub->radio_disabled, - WL_RADIO_COUNTRY_DISABLE)) { - /* - * country/locale with valid channel, clear - * the radio disable bit - */ - mboolclr(wlc->pub->radio_disabled, WL_RADIO_COUNTRY_DISABLE); - } - - /* - * Now that the country abbreviation is set, if the radio supports 2G, - * then set channel 14 restrictions based on the new locale. - */ - if (wlc->pub->_nbands > 1 || wlc->band->bandtype == BRCM_BAND_2G) - wlc_phy_chanspec_ch14_widefilter_set(wlc->band->pi, - brcms_c_japan(wlc) ? true : - false); - - if (wlc->pub->up && chan != INVCHANNEL) { - brcms_c_channel_reg_limits(wlc_cm, wlc->chanspec, &txpwr); - brcms_c_channel_min_txpower_limits_with_local_constraint(wlc_cm, - &txpwr, BRCMS_TXPWR_MAX); - wlc_phy_txpower_limit_set(wlc->band->pi, &txpwr, wlc->chanspec); - } -} - -static int -brcms_c_channels_init(struct brcms_cm_info *wlc_cm, - const struct country_info *country) -{ - struct brcms_c_info *wlc = wlc_cm->wlc; - uint i, j; - struct brcms_band *band; - const struct locale_info *li; - struct brcms_chanvec sup_chan; - const struct locale_mimo_info *li_mimo; - - band = wlc->band; - for (i = 0; i < wlc->pub->_nbands; - i++, band = wlc->bandstate[OTHERBANDUNIT(wlc)]) { - - li = (band->bandtype == BRCM_BAND_5G) ? - brcms_c_get_locale_5g(country->locale_5G) : - brcms_c_get_locale_2g(country->locale_2G); - wlc_cm->bandstate[band->bandunit].locale_flags = li->flags; - li_mimo = (band->bandtype == BRCM_BAND_5G) ? - brcms_c_get_mimo_5g(country->locale_mimo_5G) : - brcms_c_get_mimo_2g(country->locale_mimo_2G); - - /* merge the mimo non-mimo locale flags */ - wlc_cm->bandstate[band->bandunit].locale_flags |= - li_mimo->flags; - - wlc_cm->bandstate[band->bandunit].restricted_channels = - g_table_restricted_chan[li->restricted_channels]; - wlc_cm->bandstate[band->bandunit].radar_channels = - g_table_radar_set[li->radar_channels]; - - /* - * set the channel availability, masking out the channels - * that may not be supported on this phy. - */ - wlc_phy_chanspec_band_validch(band->pi, band->bandtype, - &sup_chan); - brcms_c_locale_get_channels(li, - &wlc_cm->bandstate[band->bandunit]. - valid_channels); - for (j = 0; j < sizeof(struct brcms_chanvec); j++) - wlc_cm->bandstate[band->bandunit].valid_channels. - vec[j] &= sup_chan.vec[j]; - } - - brcms_c_quiet_channels_reset(wlc_cm); - brcms_c_channels_commit(wlc_cm); - - return 0; -} - /* * set the driver's current country and regulatory information * using a country code as the source. Look up built in country * information found with the country code. */ static void -brcms_c_set_country_common(struct brcms_cm_info *wlc_cm, - const char *country_abbrev, - const char *ccode, uint regrev, - const struct country_info *country) +brcms_c_set_country(struct brcms_cm_info *wlc_cm, + const struct brcms_regd *regd) { - const struct locale_info *locale; struct brcms_c_info *wlc = wlc_cm->wlc; - char prev_country_abbrev[BRCM_CNTRY_BUF_SZ]; - - /* save current country state */ - wlc_cm->country = country; - - memset(&prev_country_abbrev, 0, BRCM_CNTRY_BUF_SZ); - strncpy(prev_country_abbrev, wlc_cm->country_abbrev, - BRCM_CNTRY_BUF_SZ - 1); - - strncpy(wlc_cm->country_abbrev, country_abbrev, BRCM_CNTRY_BUF_SZ - 1); - strncpy(wlc_cm->ccode, ccode, BRCM_CNTRY_BUF_SZ - 1); - wlc_cm->regrev = regrev; if ((wlc->pub->_n_enab & SUPPORT_11N) != wlc->protection->nmode_user) @@ -1042,75 +322,19 @@ brcms_c_stf_ss_update(wlc, wlc->bandstate[BAND_2G_INDEX]); brcms_c_stf_ss_update(wlc, wlc->bandstate[BAND_5G_INDEX]); - /* set or restore gmode as required by regulatory */ - locale = brcms_c_get_locale_2g(country->locale_2G); - if (locale && (locale->flags & BRCMS_NO_OFDM)) - brcms_c_set_gmode(wlc, GMODE_LEGACY_B, false); - else - brcms_c_set_gmode(wlc, wlc->protection->gmode_user, false); - brcms_c_channels_init(wlc_cm, country); + brcms_c_set_gmode(wlc, wlc->protection->gmode_user, false); return; } -static int -brcms_c_set_countrycode_rev(struct brcms_cm_info *wlc_cm, - const char *country_abbrev, - const char *ccode, int regrev) -{ - const struct country_info *country; - char mapped_ccode[BRCM_CNTRY_BUF_SZ]; - uint mapped_regrev; - - /* if regrev is -1, lookup the mapped country code, - * otherwise use the ccode and regrev directly - */ - if (regrev == -1) { - /* - * map the country code to a built-in country - * code, regrev, and country_info - */ - country = - brcms_c_countrycode_map(wlc_cm, ccode, mapped_ccode, - &mapped_regrev); - } else { - /* find the matching built-in country definition */ - country = brcms_c_country_lookup_direct(ccode, regrev); - strncpy(mapped_ccode, ccode, BRCM_CNTRY_BUF_SZ); - mapped_regrev = regrev; - } - - if (country == NULL) - return -EINVAL; - - /* set the driver state for the country */ - brcms_c_set_country_common(wlc_cm, country_abbrev, mapped_ccode, - mapped_regrev, country); - - return 0; -} - -/* - * set the driver's current country and regulatory information using - * a country code as the source. Lookup built in country information - * found with the country code. - */ -static int -brcms_c_set_countrycode(struct brcms_cm_info *wlc_cm, const char *ccode) -{ - char country_abbrev[BRCM_CNTRY_BUF_SZ]; - strncpy(country_abbrev, ccode, BRCM_CNTRY_BUF_SZ); - return brcms_c_set_countrycode_rev(wlc_cm, country_abbrev, ccode, -1); -} - struct brcms_cm_info *brcms_c_channel_mgr_attach(struct brcms_c_info *wlc) { struct brcms_cm_info *wlc_cm; - char country_abbrev[BRCM_CNTRY_BUF_SZ]; - const struct country_info *country; struct brcms_pub *pub = wlc->pub; struct ssb_sprom *sprom = &wlc->hw->d11core->bus->sprom; + const char *ccode = sprom->alpha2; + int ccode_len = sizeof(sprom->alpha2); BCMMSG(wlc->wiphy, "wl%d\n", wlc->pub->unit); @@ -1122,24 +346,27 @@ wlc->cmi = wlc_cm; /* store the country code for passing up as a regulatory hint */ - if (sprom->alpha2 && brcms_c_country_valid(sprom->alpha2)) - strncpy(wlc->pub->srom_ccode, sprom->alpha2, sizeof(sprom->alpha2)); + wlc_cm->world_regd = brcms_world_regd(ccode, ccode_len); + if (brcms_c_country_valid(ccode)) + strncpy(wlc->pub->srom_ccode, ccode, ccode_len); /* - * internal country information which must match - * regulatory constraints in firmware - */ - memset(country_abbrev, 0, BRCM_CNTRY_BUF_SZ); - strncpy(country_abbrev, "X2", sizeof(country_abbrev) - 1); - country = brcms_c_country_lookup(wlc, country_abbrev); + * If no custom world domain is found in the SROM, use the + * default "X2" domain. + */ + if (!wlc_cm->world_regd) { + wlc_cm->world_regd = brcms_default_world_regd(); + ccode = wlc_cm->world_regd->regdomain->alpha2; + ccode_len = BRCM_CNTRY_BUF_SZ - 1; + } /* save default country for exiting 11d regulatory mode */ - strncpy(wlc->country_default, country_abbrev, BRCM_CNTRY_BUF_SZ - 1); + strncpy(wlc->country_default, ccode, ccode_len); /* initialize autocountry_default to driver default */ - strncpy(wlc->autocountry_default, "X2", BRCM_CNTRY_BUF_SZ - 1); + strncpy(wlc->autocountry_default, ccode, ccode_len); - brcms_c_set_countrycode(wlc_cm, country_abbrev); + brcms_c_set_country(wlc_cm, wlc_cm->world_regd); return wlc_cm; } @@ -1149,30 +376,12 @@ kfree(wlc_cm); } -u8 -brcms_c_channel_locale_flags_in_band(struct brcms_cm_info *wlc_cm, - uint bandunit) -{ - return wlc_cm->bandstate[bandunit].locale_flags; -} - -static bool -brcms_c_quiet_chanspec(struct brcms_cm_info *wlc_cm, u16 chspec) -{ - return (wlc_cm->wlc->pub->_n_enab & SUPPORT_11N) && - CHSPEC_IS40(chspec) ? - (isset(wlc_cm->quiet_channels.vec, - lower_20_sb(CHSPEC_CHANNEL(chspec))) || - isset(wlc_cm->quiet_channels.vec, - upper_20_sb(CHSPEC_CHANNEL(chspec)))) : - isset(wlc_cm->quiet_channels.vec, CHSPEC_CHANNEL(chspec)); -} - void brcms_c_channel_set_chanspec(struct brcms_cm_info *wlc_cm, u16 chanspec, u8 local_constraint_qdbm) { struct brcms_c_info *wlc = wlc_cm->wlc; + struct ieee80211_channel *ch = wlc->pub->ieee_hw->conf.channel; struct txpwr_limits txpwr; brcms_c_channel_reg_limits(wlc_cm, chanspec, &txpwr); @@ -1181,8 +390,14 @@ wlc_cm, &txpwr, local_constraint_qdbm ); + /* set or restore gmode as required by regulatory */ + if (ch->flags & IEEE80211_CHAN_NO_OFDM) + brcms_c_set_gmode(wlc, GMODE_LEGACY_B, false); + else + brcms_c_set_gmode(wlc, wlc->protection->gmode_user, false); + brcms_b_set_chanspec(wlc->hw, chanspec, - (brcms_c_quiet_chanspec(wlc_cm, chanspec) != 0), + !!(ch->flags & IEEE80211_CHAN_PASSIVE_SCAN), &txpwr); } @@ -1191,15 +406,14 @@ struct txpwr_limits *txpwr) { struct brcms_c_info *wlc = wlc_cm->wlc; + struct ieee80211_channel *ch = wlc->pub->ieee_hw->conf.channel; uint i; uint chan; int maxpwr; int delta; const struct country_info *country; struct brcms_band *band; - const struct locale_info *li; int conducted_max = BRCMS_TXPWR_MAX; - int conducted_ofdm_max = BRCMS_TXPWR_MAX; const struct locale_mimo_info *li_mimo; int maxpwr20, maxpwr40; int maxpwr_idx; @@ -1207,67 +421,35 @@ memset(txpwr, 0, sizeof(struct txpwr_limits)); - if (!brcms_c_valid_chanspec_db(wlc_cm, chanspec)) { - country = brcms_c_country_lookup(wlc, wlc->autocountry_default); - if (country == NULL) - return; - } else { - country = wlc_cm->country; - } + if (WARN_ON(!ch)) + return; + + country = &wlc_cm->world_regd->country; chan = CHSPEC_CHANNEL(chanspec); band = wlc->bandstate[chspec_bandunit(chanspec)]; - li = (band->bandtype == BRCM_BAND_5G) ? - brcms_c_get_locale_5g(country->locale_5G) : - brcms_c_get_locale_2g(country->locale_2G); - li_mimo = (band->bandtype == BRCM_BAND_5G) ? brcms_c_get_mimo_5g(country->locale_mimo_5G) : brcms_c_get_mimo_2g(country->locale_mimo_2G); - if (li->flags & BRCMS_EIRP) { - delta = band->antgain; - } else { - delta = 0; - if (band->antgain > QDB(6)) - delta = band->antgain - QDB(6); /* Excess over 6 dB */ - } + delta = band->antgain; - if (li == &locale_i) { + if (band->bandtype == BRCM_BAND_2G) conducted_max = QDB(22); - conducted_ofdm_max = QDB(22); - } + + maxpwr = QDB(ch->max_power) - delta; + maxpwr = max(maxpwr, 0); + maxpwr = min(maxpwr, conducted_max); /* CCK txpwr limits for 2.4G band */ if (band->bandtype == BRCM_BAND_2G) { - maxpwr = li->maxpwr[CHANNEL_POWER_IDX_2G_CCK(chan)]; - - maxpwr = maxpwr - delta; - maxpwr = max(maxpwr, 0); - maxpwr = min(maxpwr, conducted_max); - for (i = 0; i < BRCMS_NUM_RATES_CCK; i++) txpwr->cck[i] = (u8) maxpwr; } - /* OFDM txpwr limits for 2.4G or 5G bands */ - if (band->bandtype == BRCM_BAND_2G) - maxpwr = li->maxpwr[CHANNEL_POWER_IDX_2G_OFDM(chan)]; - else - maxpwr = li->maxpwr[CHANNEL_POWER_IDX_5G(chan)]; - - maxpwr = maxpwr - delta; - maxpwr = max(maxpwr, 0); - maxpwr = min(maxpwr, conducted_ofdm_max); - - /* Keep OFDM lmit below CCK limit */ - if (band->bandtype == BRCM_BAND_2G) - maxpwr = min_t(int, maxpwr, txpwr->cck[0]); - - for (i = 0; i < BRCMS_NUM_RATES_OFDM; i++) + for (i = 0; i < BRCMS_NUM_RATES_OFDM; i++) { txpwr->ofdm[i] = (u8) maxpwr; - for (i = 0; i < BRCMS_NUM_RATES_OFDM; i++) { /* * OFDM 40 MHz SISO has the same power as the corresponding * MCS0-7 rate unless overriden by the locale specific code. @@ -1282,14 +464,9 @@ txpwr->ofdm_40_cdd[i] = 0; } - /* MIMO/HT specific limits */ - if (li_mimo->flags & BRCMS_EIRP) { - delta = band->antgain; - } else { - delta = 0; - if (band->antgain > QDB(6)) - delta = band->antgain - QDB(6); /* Excess over 6 dB */ - } + delta = 0; + if (band->antgain > QDB(6)) + delta = band->antgain - QDB(6); /* Excess over 6 dB */ if (band->bandtype == BRCM_BAND_2G) maxpwr_idx = (chan - 1); @@ -1431,8 +608,7 @@ * and they are also a legal HT combination */ static bool -brcms_c_valid_chanspec_ext(struct brcms_cm_info *wlc_cm, u16 chspec, - bool dualband) +brcms_c_valid_chanspec_ext(struct brcms_cm_info *wlc_cm, u16 chspec) { struct brcms_c_info *wlc = wlc_cm->wlc; u8 channel = CHSPEC_CHANNEL(chspec); @@ -1448,59 +624,166 @@ chspec_bandunit(chspec)) return false; - /* Check a 20Mhz channel */ - if (CHSPEC_IS20(chspec)) { - if (dualband) - return brcms_c_valid_channel20_db(wlc_cm->wlc->cmi, - channel); - else - return brcms_c_valid_channel20(wlc_cm->wlc->cmi, - channel); + return true; +} + +bool brcms_c_valid_chanspec_db(struct brcms_cm_info *wlc_cm, u16 chspec) +{ + return brcms_c_valid_chanspec_ext(wlc_cm, chspec); +} + +static bool brcms_is_radar_freq(u16 center_freq) +{ + return center_freq >= 5260 && center_freq <= 5700; +} + +static void brcms_reg_apply_radar_flags(struct wiphy *wiphy) +{ + struct ieee80211_supported_band *sband; + struct ieee80211_channel *ch; + int i; + + sband = wiphy->bands[IEEE80211_BAND_5GHZ]; + if (!sband) + return; + + for (i = 0; i < sband->n_channels; i++) { + ch = &sband->channels[i]; + + if (!brcms_is_radar_freq(ch->center_freq)) + continue; + + /* + * All channels in this range should be passive and have + * DFS enabled. + */ + if (!(ch->flags & IEEE80211_CHAN_DISABLED)) + ch->flags |= IEEE80211_CHAN_RADAR | + IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_PASSIVE_SCAN; } -#ifdef SUPPORT_40MHZ - /* - * We know we are now checking a 40MHZ channel, so we should - * only be here for NPHYS - */ - if (BRCMS_ISNPHY(wlc->band) || BRCMS_ISSSLPNPHY(wlc->band)) { - u8 upper_sideband = 0, idx; - u8 num_ch20_entries = - sizeof(chan20_info) / sizeof(struct chan20_info); - - if (!VALID_40CHANSPEC_IN_BAND(wlc, chspec_bandunit(chspec))) - return false; - - if (dualband) { - if (!brcms_c_valid_channel20_db(wlc->cmi, - lower_20_sb(channel)) || - !brcms_c_valid_channel20_db(wlc->cmi, - upper_20_sb(channel))) - return false; - } else { - if (!brcms_c_valid_channel20(wlc->cmi, - lower_20_sb(channel)) || - !brcms_c_valid_channel20(wlc->cmi, - upper_20_sb(channel))) - return false; +} + +static void +brcms_reg_apply_beaconing_flags(struct wiphy *wiphy, + enum nl80211_reg_initiator initiator) +{ + struct ieee80211_supported_band *sband; + struct ieee80211_channel *ch; + const struct ieee80211_reg_rule *rule; + int band, i, ret; + + for (band = 0; band < IEEE80211_NUM_BANDS; band++) { + sband = wiphy->bands[band]; + if (!sband) + continue; + + for (i = 0; i < sband->n_channels; i++) { + ch = &sband->channels[i]; + + if (ch->flags & + (IEEE80211_CHAN_DISABLED | IEEE80211_CHAN_RADAR)) + continue; + + if (initiator == NL80211_REGDOM_SET_BY_COUNTRY_IE) { + ret = freq_reg_info(wiphy, ch->center_freq, + 0, &rule); + if (ret) + continue; + + if (!(rule->flags & NL80211_RRF_NO_IBSS)) + ch->flags &= ~IEEE80211_CHAN_NO_IBSS; + if (!(rule->flags & NL80211_RRF_PASSIVE_SCAN)) + ch->flags &= + ~IEEE80211_CHAN_PASSIVE_SCAN; + } else if (ch->beacon_found) { + ch->flags &= ~(IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_PASSIVE_SCAN); + } } + } +} + +static int brcms_reg_notifier(struct wiphy *wiphy, + struct regulatory_request *request) +{ + struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy); + struct brcms_info *wl = hw->priv; + struct brcms_c_info *wlc = wl->wlc; + struct ieee80211_supported_band *sband; + struct ieee80211_channel *ch; + int band, i; + bool ch_found = false; + + brcms_reg_apply_radar_flags(wiphy); + + if (request->initiator == NL80211_REGDOM_SET_BY_COUNTRY_IE) + brcms_reg_apply_beaconing_flags(wiphy, request->initiator); + + /* Disable radio if all channels disallowed by regulatory */ + for (band = 0; !ch_found && band < IEEE80211_NUM_BANDS; band++) { + sband = wiphy->bands[band]; + if (!sband) + continue; + + for (i = 0; !ch_found && i < sband->n_channels; i++) { + ch = &sband->channels[i]; - /* find the lower sideband info in the sideband array */ - for (idx = 0; idx < num_ch20_entries; idx++) { - if (chan20_info[idx].sb == lower_20_sb(channel)) - upper_sideband = chan20_info[idx].adj_sbs; + if (!(ch->flags & IEEE80211_CHAN_DISABLED)) + ch_found = true; } - /* check that the lower sideband allows an upper sideband */ - if ((upper_sideband & (CH_UPPER_SB | CH_EWA_VALID)) == - (CH_UPPER_SB | CH_EWA_VALID)) - return true; - return false; } -#endif /* 40 MHZ */ - return false; + if (ch_found) { + mboolclr(wlc->pub->radio_disabled, WL_RADIO_COUNTRY_DISABLE); + } else { + mboolset(wlc->pub->radio_disabled, WL_RADIO_COUNTRY_DISABLE); + wiphy_err(wlc->wiphy, "wl%d: %s: no valid channel for \"%s\"\n", + wlc->pub->unit, __func__, request->alpha2); + } + + if (wlc->pub->_nbands > 1 || wlc->band->bandtype == BRCM_BAND_2G) + wlc_phy_chanspec_ch14_widefilter_set(wlc->band->pi, + brcms_c_japan_ccode(request->alpha2)); + + return 0; } -bool brcms_c_valid_chanspec_db(struct brcms_cm_info *wlc_cm, u16 chspec) +void brcms_c_regd_init(struct brcms_c_info *wlc) { - return brcms_c_valid_chanspec_ext(wlc_cm, chspec, true); + struct wiphy *wiphy = wlc->wiphy; + const struct brcms_regd *regd = wlc->cmi->world_regd; + struct ieee80211_supported_band *sband; + struct ieee80211_channel *ch; + struct brcms_chanvec sup_chan; + struct brcms_band *band; + int band_idx, i; + + /* Disable any channels not supported by the phy */ + for (band_idx = 0; band_idx < IEEE80211_NUM_BANDS; band_idx++) { + if (band_idx == IEEE80211_BAND_2GHZ) + band = wlc->bandstate[BAND_2G_INDEX]; + else + band = wlc->bandstate[BAND_5G_INDEX]; + + /* skip if band not initialized */ + if (band->pi == NULL) + continue; + + wlc_phy_chanspec_band_validch(band->pi, band->bandtype, + &sup_chan); + + sband = wiphy->bands[band_idx]; + for (i = 0; i < sband->n_channels; i++) { + ch = &sband->channels[i]; + if (!isset(sup_chan.vec, ch->hw_value)) + ch->flags |= IEEE80211_CHAN_DISABLED; + } + } + + wlc->wiphy->reg_notifier = brcms_reg_notifier; + wlc->wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY | + WIPHY_FLAG_STRICT_REGULATORY; + wiphy_apply_custom_regulatory(wlc->wiphy, regd->regdomain); + brcms_reg_apply_beaconing_flags(wiphy, NL80211_REGDOM_SET_BY_DRIVER); } --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/channel.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/brcm80211/brcmsmac/channel.h @@ -37,9 +37,6 @@ extern void brcms_c_channel_mgr_detach(struct brcms_cm_info *wlc_cm); -extern u8 brcms_c_channel_locale_flags_in_band(struct brcms_cm_info *wlc_cm, - uint bandunit); - extern bool brcms_c_valid_chanspec_db(struct brcms_cm_info *wlc_cm, u16 chspec); @@ -49,5 +46,6 @@ extern void brcms_c_channel_set_chanspec(struct brcms_cm_info *wlc_cm, u16 chanspec, u8 local_constraint_qdbm); +extern void brcms_c_regd_init(struct brcms_c_info *wlc); #endif /* _WLC_CHANNEL_H */ --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c @@ -121,7 +121,8 @@ IEEE80211_CHAN_NO_HT40PLUS), CHAN2GHZ(14, 2484, IEEE80211_CHAN_PASSIVE_SCAN | IEEE80211_CHAN_NO_IBSS | - IEEE80211_CHAN_NO_HT40PLUS | IEEE80211_CHAN_NO_HT40MINUS) + IEEE80211_CHAN_NO_HT40PLUS | IEEE80211_CHAN_NO_HT40MINUS | + IEEE80211_CHAN_NO_OFDM) }; static struct ieee80211_channel brcms_5ghz_nphy_chantable[] = { @@ -1058,6 +1059,8 @@ goto fail; } + brcms_c_regd_init(wl->wlc); + memcpy(perm, &wl->pub->cur_etheraddr, ETH_ALEN); if (WARN_ON(!is_valid_ether_addr(perm))) goto fail; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/main.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/brcm80211/brcmsmac/main.c @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -3139,20 +3140,6 @@ brcms_b_reset(wlc->hw); } -/* Return the channel the driver should initialize during brcms_c_init. - * the channel may have to be changed from the currently configured channel - * if other configurations are in conflict (bandlocked, 11n mode disabled, - * invalid channel for current country, etc.) - */ -static u16 brcms_c_init_chanspec(struct brcms_c_info *wlc) -{ - u16 chanspec = - 1 | WL_CHANSPEC_BW_20 | WL_CHANSPEC_CTL_SB_NONE | - WL_CHANSPEC_BAND_2G; - - return chanspec; -} - void brcms_c_init_scb(struct scb *scb) { int i; @@ -5129,6 +5116,8 @@ /* make interface operational */ int brcms_c_up(struct brcms_c_info *wlc) { + struct ieee80211_channel *ch; + BCMMSG(wlc->wiphy, "wl%d\n", wlc->pub->unit); /* HW is turned off so don't try to access it */ @@ -5195,8 +5184,9 @@ wlc->pub->up = true; if (wlc->bandinit_pending) { + ch = wlc->pub->ieee_hw->conf.channel; brcms_c_suspend_mac_and_wait(wlc); - brcms_c_set_chanspec(wlc, wlc->default_bss->chanspec); + brcms_c_set_chanspec(wlc, ch20mhz_chspec(ch->hw_value)); wlc->bandinit_pending = false; brcms_c_enable_mac(wlc); } @@ -5397,11 +5387,6 @@ else return -EINVAL; - /* Legacy or bust when no OFDM is supported by regulatory */ - if ((brcms_c_channel_locale_flags_in_band(wlc->cmi, band->bandunit) & - BRCMS_NO_OFDM) && (gmode != GMODE_LEGACY_B)) - return -EINVAL; - /* update configuration value */ if (config) brcms_c_protection_upd(wlc, BRCMS_PROT_G_USER, gmode); @@ -8201,19 +8186,12 @@ void brcms_c_init(struct brcms_c_info *wlc, bool mute_tx) { struct bcma_device *core = wlc->hw->d11core; + struct ieee80211_channel *ch = wlc->pub->ieee_hw->conf.channel; u16 chanspec; BCMMSG(wlc->wiphy, "wl%d\n", wlc->pub->unit); - /* - * This will happen if a big-hammer was executed. In - * that case, we want to go back to the channel that - * we were on and not new channel - */ - if (wlc->pub->associated) - chanspec = wlc->home_chanspec; - else - chanspec = brcms_c_init_chanspec(wlc); + chanspec = ch20mhz_chspec(ch->hw_value); brcms_b_init(wlc->hw, chanspec); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/hostap/hostap_hw.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/hostap/hostap_hw.c @@ -68,7 +68,7 @@ module_param_string(essid, essid, sizeof(essid), 0444); MODULE_PARM_DESC(essid, "Host AP's ESSID"); -static int iw_mode[MAX_PARM_DEVICES] = { IW_MODE_MASTER, DEF_INTS }; +static int iw_mode[MAX_PARM_DEVICES] = { IW_MODE_INFRA, DEF_INTS }; module_param_array(iw_mode, int, NULL, 0444); MODULE_PARM_DESC(iw_mode, "Initial operation mode"); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ipw2x00/ipw2200.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ipw2x00/ipw2200.c @@ -10470,7 +10470,7 @@ } else len = src->len; - dst = alloc_skb(len + sizeof(*rt_hdr), GFP_ATOMIC); + dst = alloc_skb(len + sizeof(*rt_hdr) + sizeof(u16)*2, GFP_ATOMIC); if (!dst) continue; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-agn-lib.c @@ -617,6 +617,11 @@ struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS]; int ave_rssi; + if (!ctx->vif || (ctx->vif->type != NL80211_IFTYPE_STATION)) { + IWL_DEBUG_INFO(priv, "BSS ctx not active or not in sta mode\n"); + return false; + } + ave_rssi = ieee80211_ave_rssi(ctx->vif); if (!ave_rssi) { /* no rssi data, no changes to reduce tx power */ --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-agn-rs.c @@ -709,11 +709,14 @@ */ static bool rs_use_green(struct ieee80211_sta *sta) { - struct iwl_station_priv *sta_priv = (void *)sta->drv_priv; - struct iwl_rxon_context *ctx = sta_priv->ctx; - - return (sta->ht_cap.cap & IEEE80211_HT_CAP_GRN_FLD) && - !(ctx->ht.non_gf_sta_present); + /* + * There's a bug somewhere in this code that causes the + * scaling to get stuck because GF+SGI can't be combined + * in SISO rates. Until we find that bug, disable GF, it + * has only limited benefit and we still interoperate with + * GF APs since we can always receive GF transmissions. + */ + return false; } /** --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c @@ -1019,12 +1019,12 @@ * As a consequence, it's not as complicated as it sounds, just add * any lower rates to the ACK rate bitmap. */ - if (IWL_RATE_11M_INDEX < lowest_present_ofdm) - ofdm |= IWL_RATE_11M_MASK >> IWL_FIRST_CCK_RATE; - if (IWL_RATE_5M_INDEX < lowest_present_ofdm) - ofdm |= IWL_RATE_5M_MASK >> IWL_FIRST_CCK_RATE; - if (IWL_RATE_2M_INDEX < lowest_present_ofdm) - ofdm |= IWL_RATE_2M_MASK >> IWL_FIRST_CCK_RATE; + if (IWL_RATE_11M_INDEX < lowest_present_cck) + cck |= IWL_RATE_11M_MASK >> IWL_FIRST_CCK_RATE; + if (IWL_RATE_5M_INDEX < lowest_present_cck) + cck |= IWL_RATE_5M_MASK >> IWL_FIRST_CCK_RATE; + if (IWL_RATE_2M_INDEX < lowest_present_cck) + cck |= IWL_RATE_2M_MASK >> IWL_FIRST_CCK_RATE; /* 1M already there or needed so always add */ cck |= IWL_RATE_1M_MASK >> IWL_FIRST_CCK_RATE; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-sta.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-agn-sta.c @@ -236,6 +236,7 @@ mimo_ps_mode = (sta_ht_inf->cap & IEEE80211_HT_CAP_SM_PS) >> 2; IWL_DEBUG_INFO(priv, "STA %pM SM PS mode: %s\n", + sta->addr, (mimo_ps_mode == WLAN_HT_CAP_SM_PS_STATIC) ? "static" : (mimo_ps_mode == WLAN_HT_CAP_SM_PS_DYNAMIC) ? --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-debugfs.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-debugfs.c @@ -128,6 +128,9 @@ const struct fw_img *img; size_t bufsz; + if (!iwl_is_ready_rf(priv)) + return -EAGAIN; + /* default is to dump the entire data segment */ if (!priv->dbgfs_sram_offset && !priv->dbgfs_sram_len) { priv->dbgfs_sram_offset = 0x800000; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-mac80211.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-mac80211.c @@ -1343,6 +1343,20 @@ vif_priv->ctx = ctx; ctx->vif = vif; + /* + * In SNIFFER device type, the firmware reports the FCS to + * the host, rather than snipping it off. Unfortunately, + * mac80211 doesn't (yet) provide a per-packet flag for + * this, so that we have to set the hardware flag based + * on the interfaces added. As the monitor interface can + * only be present by itself, and will be removed before + * other interfaces are added, this is safe. + */ + if (vif->type == NL80211_IFTYPE_MONITOR) + priv->hw->flags |= IEEE80211_HW_RX_INCLUDES_FCS; + else + priv->hw->flags &= ~IEEE80211_HW_RX_INCLUDES_FCS; + err = iwl_setup_interface(priv, ctx); if (!err || reset) goto out; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h @@ -355,7 +355,7 @@ /***************************************************** * Error handling ******************************************************/ -int iwl_dump_fh(struct iwl_trans *trans, char **buf, bool display); +int iwl_dump_fh(struct iwl_trans *trans, char **buf); void iwl_dump_csr(struct iwl_trans *trans); /***************************************************** --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c @@ -318,6 +318,14 @@ rxb->page_dma = dma_map_page(trans->dev, page, 0, PAGE_SIZE << trans_pcie->rx_page_order, DMA_FROM_DEVICE); + if (dma_mapping_error(trans->dev, rxb->page_dma)) { + rxb->page = NULL; + spin_lock_irqsave(&rxq->lock, flags); + list_add(&rxb->list, &rxq->rx_used); + spin_unlock_irqrestore(&rxq->lock, flags); + __free_pages(page, trans_pcie->rx_page_order); + return; + } /* dma address must be no more than 36 bits */ BUG_ON(rxb->page_dma & ~DMA_BIT_MASK(36)); /* and also 256 byte aligned! */ @@ -467,8 +475,19 @@ dma_map_page(trans->dev, rxb->page, 0, PAGE_SIZE << trans_pcie->rx_page_order, DMA_FROM_DEVICE); - list_add_tail(&rxb->list, &rxq->rx_free); - rxq->free_count++; + if (dma_mapping_error(trans->dev, rxb->page_dma)) { + /* + * free the page(s) as well to not break + * the invariant that the items on the used + * list have no page(s) + */ + __free_pages(rxb->page, trans_pcie->rx_page_order); + rxb->page = NULL; + list_add_tail(&rxb->list, &rxq->rx_used); + } else { + list_add_tail(&rxb->list, &rxq->rx_free); + rxq->free_count++; + } } else list_add_tail(&rxb->list, &rxq->rx_used); spin_unlock_irqrestore(&rxq->lock, flags); @@ -559,7 +578,7 @@ } iwl_dump_csr(trans); - iwl_dump_fh(trans, NULL, false); + iwl_dump_fh(trans, NULL); iwl_op_mode_nic_error(trans->op_mode); } --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c @@ -1437,6 +1437,7 @@ return err; err_free_irq: + trans_pcie->irq_requested = false; free_irq(trans_pcie->irq, trans); error: iwl_free_isr_ict(trans); @@ -1654,13 +1655,9 @@ #undef IWL_CMD } -int iwl_dump_fh(struct iwl_trans *trans, char **buf, bool display) +int iwl_dump_fh(struct iwl_trans *trans, char **buf) { int i; -#ifdef CONFIG_IWLWIFI_DEBUG - int pos = 0; - size_t bufsz = 0; -#endif static const u32 fh_tbl[] = { FH_RSCSR_CHNL0_STTS_WPTR_REG, FH_RSCSR_CHNL0_RBDCB_BASE_REG, @@ -1672,29 +1669,35 @@ FH_TSSR_TX_STATUS_REG, FH_TSSR_TX_ERROR_REG }; -#ifdef CONFIG_IWLWIFI_DEBUG - if (display) { - bufsz = ARRAY_SIZE(fh_tbl) * 48 + 40; + +#ifdef CONFIG_IWLWIFI_DEBUGFS + if (buf) { + int pos = 0; + size_t bufsz = ARRAY_SIZE(fh_tbl) * 48 + 40; + *buf = kmalloc(bufsz, GFP_KERNEL); if (!*buf) return -ENOMEM; + pos += scnprintf(*buf + pos, bufsz - pos, "FH register values:\n"); - for (i = 0; i < ARRAY_SIZE(fh_tbl); i++) { + + for (i = 0; i < ARRAY_SIZE(fh_tbl); i++) pos += scnprintf(*buf + pos, bufsz - pos, " %34s: 0X%08x\n", get_fh_string(fh_tbl[i]), iwl_read_direct32(trans, fh_tbl[i])); - } + return pos; } #endif + IWL_ERR(trans, "FH register values:\n"); - for (i = 0; i < ARRAY_SIZE(fh_tbl); i++) { + for (i = 0; i < ARRAY_SIZE(fh_tbl); i++) IWL_ERR(trans, " %34s: 0X%08x\n", get_fh_string(fh_tbl[i]), iwl_read_direct32(trans, fh_tbl[i])); - } + return 0; } @@ -1989,11 +1992,11 @@ size_t count, loff_t *ppos) { struct iwl_trans *trans = file->private_data; - char *buf; + char *buf = NULL; int pos = 0; ssize_t ret = -EFAULT; - ret = pos = iwl_dump_fh(trans, &buf, true); + ret = pos = iwl_dump_fh(trans, &buf); if (buf) { ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-devices.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/iwlwifi/iwl-agn-devices.c @@ -653,7 +653,7 @@ * See iwlagn_mac_channel_switch. */ struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS]; - struct iwl6000_channel_switch_cmd cmd; + struct iwl6000_channel_switch_cmd *cmd; const struct iwl_channel_info *ch_info; u32 switch_time_in_usec, ucode_switch_time; u16 ch; @@ -663,18 +663,25 @@ struct ieee80211_vif *vif = ctx->vif; struct iwl_host_cmd hcmd = { .id = REPLY_CHANNEL_SWITCH, - .len = { sizeof(cmd), }, + .len = { sizeof(*cmd), }, .flags = CMD_SYNC, - .data = { &cmd, }, + .dataflags[0] = IWL_HCMD_DFL_NOCOPY, }; + int err; - cmd.band = priv->band == IEEE80211_BAND_2GHZ; + cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + if (!cmd) + return -ENOMEM; + + hcmd.data[0] = cmd; + + cmd->band = priv->band == IEEE80211_BAND_2GHZ; ch = ch_switch->channel->hw_value; IWL_DEBUG_11H(priv, "channel switch from %u to %u\n", ctx->active.channel, ch); - cmd.channel = cpu_to_le16(ch); - cmd.rxon_flags = ctx->staging.flags; - cmd.rxon_filter_flags = ctx->staging.filter_flags; + cmd->channel = cpu_to_le16(ch); + cmd->rxon_flags = ctx->staging.flags; + cmd->rxon_filter_flags = ctx->staging.filter_flags; switch_count = ch_switch->count; tsf_low = ch_switch->timestamp & 0x0ffffffff; /* @@ -690,30 +697,32 @@ switch_count = 0; } if (switch_count <= 1) - cmd.switch_time = cpu_to_le32(priv->ucode_beacon_time); + cmd->switch_time = cpu_to_le32(priv->ucode_beacon_time); else { switch_time_in_usec = vif->bss_conf.beacon_int * switch_count * TIME_UNIT; ucode_switch_time = iwl_usecs_to_beacons(priv, switch_time_in_usec, beacon_interval); - cmd.switch_time = iwl_add_beacon_time(priv, - priv->ucode_beacon_time, - ucode_switch_time, - beacon_interval); + cmd->switch_time = iwl_add_beacon_time(priv, + priv->ucode_beacon_time, + ucode_switch_time, + beacon_interval); } IWL_DEBUG_11H(priv, "uCode time for the switch is 0x%x\n", - cmd.switch_time); + cmd->switch_time); ch_info = iwl_get_channel_info(priv, priv->band, ch); if (ch_info) - cmd.expect_beacon = is_channel_radar(ch_info); + cmd->expect_beacon = is_channel_radar(ch_info); else { IWL_ERR(priv, "invalid channel switch from %u to %u\n", ctx->active.channel, ch); return -EFAULT; } - return iwl_dvm_send_cmd(priv, &hcmd); + err = iwl_dvm_send_cmd(priv, &hcmd); + kfree(cmd); + return err; } struct iwl_lib_ops iwl6000_lib = { --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/mwifiex/cfg80211.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/mwifiex/cfg80211.c @@ -634,9 +634,9 @@ /* * Bit 0 in tx_htinfo indicates that current Tx rate is 11n rate. Valid - * MCS index values for us are 0 to 7. + * MCS index values for us are 0 to 15. */ - if ((priv->tx_htinfo & BIT(0)) && (priv->tx_rate < 8)) { + if ((priv->tx_htinfo & BIT(0)) && (priv->tx_rate < 16)) { sinfo->txrate.mcs = priv->tx_rate; sinfo->txrate.flags |= RATE_INFO_FLAGS_MCS; /* 40MHz rate */ --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/mwifiex/cmdevt.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/mwifiex/cmdevt.c @@ -873,9 +873,6 @@ return; } cmd_node = adapter->curr_cmd; - if (cmd_node->wait_q_enabled) - adapter->cmd_wait_q.status = -ETIMEDOUT; - if (cmd_node) { adapter->dbg.timeout_cmd_id = adapter->dbg.last_cmd_id[adapter->dbg.last_cmd_index]; @@ -921,6 +918,14 @@ dev_err(adapter->dev, "ps_mode=%d ps_state=%d\n", adapter->ps_mode, adapter->ps_state); + + if (cmd_node->wait_q_enabled) { + adapter->cmd_wait_q.status = -ETIMEDOUT; + wake_up_interruptible(&adapter->cmd_wait_q.wait); + mwifiex_cancel_pending_ioctl(adapter); + /* reset cmd_sent flag to unblock new commands */ + adapter->cmd_sent = false; + } } if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING) mwifiex_init_fw_complete(adapter); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/mwifiex/sdio.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/mwifiex/sdio.c @@ -161,7 +161,6 @@ struct sdio_mmc_card *card; struct mwifiex_adapter *adapter; mmc_pm_flag_t pm_flag = 0; - int hs_actived = 0; int i; int ret = 0; @@ -188,12 +187,14 @@ adapter = card->adapter; /* Enable the Host Sleep */ - hs_actived = mwifiex_enable_hs(adapter); - if (hs_actived) { - pr_debug("cmd: suspend with MMC_PM_KEEP_POWER\n"); - ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER); + if (!mwifiex_enable_hs(adapter)) { + dev_err(adapter->dev, "cmd: failed to suspend\n"); + return -EFAULT; } + dev_dbg(adapter->dev, "cmd: suspend with MMC_PM_KEEP_POWER\n"); + ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER); + /* Indicate device suspended */ adapter->is_suspended = true; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/p54/p54usb.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/p54/p54usb.c @@ -42,7 +42,7 @@ * whenever you add a new device. */ -static struct usb_device_id p54u_table[] __devinitdata = { +static struct usb_device_id p54u_table[] = { /* Version 1 devices (pci chip + net2280) */ {USB_DEVICE(0x0411, 0x0050)}, /* Buffalo WLI2-USB2-G54 */ {USB_DEVICE(0x045e, 0x00c2)}, /* Microsoft MN-710 */ --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2400pci.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2400pci.c @@ -1611,6 +1611,7 @@ static int rt2400pci_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Allocate eeprom data. @@ -1624,6 +1625,14 @@ return retval; /* + * Enable rfkill polling by setting GPIO direction of the + * rfkill switch GPIO pin correctly. + */ + rt2x00pci_register_read(rt2x00dev, GPIOCSR, ®); + rt2x00_set_field32(®, GPIOCSR_BIT8, 1); + rt2x00pci_register_write(rt2x00dev, GPIOCSR, reg); + + /* * Initialize hw specifications. */ retval = rt2400pci_probe_hw_mode(rt2x00dev); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2400pci.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2400pci.h @@ -670,6 +670,7 @@ #define GPIOCSR_BIT5 FIELD32(0x00000020) #define GPIOCSR_BIT6 FIELD32(0x00000040) #define GPIOCSR_BIT7 FIELD32(0x00000080) +#define GPIOCSR_BIT8 FIELD32(0x00000100) /* * BBPPCSR: BBP Pin control register. --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2500pci.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2500pci.c @@ -1929,6 +1929,7 @@ static int rt2500pci_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Allocate eeprom data. @@ -1942,6 +1943,14 @@ return retval; /* + * Enable rfkill polling by setting GPIO direction of the + * rfkill switch GPIO pin correctly. + */ + rt2x00pci_register_read(rt2x00dev, GPIOCSR, ®); + rt2x00_set_field32(®, GPIOCSR_DIR0, 1); + rt2x00pci_register_write(rt2x00dev, GPIOCSR, reg); + + /* * Initialize hw specifications. */ retval = rt2500pci_probe_hw_mode(rt2x00dev); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2500usb.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2500usb.c @@ -283,7 +283,7 @@ u16 reg; rt2500usb_register_read(rt2x00dev, MAC_CSR19, ®); - return rt2x00_get_field32(reg, MAC_CSR19_BIT7); + return rt2x00_get_field16(reg, MAC_CSR19_BIT7); } #ifdef CONFIG_RT2X00_LIB_LEDS @@ -1768,6 +1768,7 @@ static int rt2500usb_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u16 reg; /* * Allocate eeprom data. @@ -1781,6 +1782,14 @@ return retval; /* + * Enable rfkill polling by setting GPIO direction of the + * rfkill switch GPIO pin correctly. + */ + rt2500usb_register_read(rt2x00dev, MAC_CSR19, ®); + rt2x00_set_field16(®, MAC_CSR19_BIT8, 0); + rt2500usb_register_write(rt2x00dev, MAC_CSR19, reg); + + /* * Initialize hw specifications. */ retval = rt2500usb_probe_hw_mode(rt2x00dev); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2500usb.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2500usb.h @@ -189,14 +189,15 @@ * MAC_CSR19: GPIO control register. */ #define MAC_CSR19 0x0426 -#define MAC_CSR19_BIT0 FIELD32(0x0001) -#define MAC_CSR19_BIT1 FIELD32(0x0002) -#define MAC_CSR19_BIT2 FIELD32(0x0004) -#define MAC_CSR19_BIT3 FIELD32(0x0008) -#define MAC_CSR19_BIT4 FIELD32(0x0010) -#define MAC_CSR19_BIT5 FIELD32(0x0020) -#define MAC_CSR19_BIT6 FIELD32(0x0040) -#define MAC_CSR19_BIT7 FIELD32(0x0080) +#define MAC_CSR19_BIT0 FIELD16(0x0001) +#define MAC_CSR19_BIT1 FIELD16(0x0002) +#define MAC_CSR19_BIT2 FIELD16(0x0004) +#define MAC_CSR19_BIT3 FIELD16(0x0008) +#define MAC_CSR19_BIT4 FIELD16(0x0010) +#define MAC_CSR19_BIT5 FIELD16(0x0020) +#define MAC_CSR19_BIT6 FIELD16(0x0040) +#define MAC_CSR19_BIT7 FIELD16(0x0080) +#define MAC_CSR19_BIT8 FIELD16(0x0100) /* * MAC_CSR20: LED control register. --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2800lib.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2800lib.c @@ -2255,7 +2255,7 @@ /* * Check if temperature compensation is supported. */ - if (tssi_bounds[4] == 0xff) + if (tssi_bounds[4] == 0xff || step == 0xff) return 0; /* --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2800pci.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2800pci.c @@ -977,6 +977,7 @@ static int rt2800pci_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Allocate eeprom data. @@ -990,6 +991,14 @@ return retval; /* + * Enable rfkill polling by setting GPIO direction of the + * rfkill switch GPIO pin correctly. + */ + rt2x00pci_register_read(rt2x00dev, GPIO_CTRL_CFG, ®); + rt2x00_set_field32(®, GPIO_CTRL_CFG_GPIOD_BIT2, 1); + rt2x00pci_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); + + /* * Initialize hw specifications. */ retval = rt2800_probe_hw_mode(rt2x00dev); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2800usb.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2800usb.c @@ -667,8 +667,16 @@ skb_pull(entry->skb, RXINFO_DESC_SIZE); /* - * FIXME: we need to check for rx_pkt_len validity + * Check for rx_pkt_len validity. Return if invalid, leaving + * rxdesc->size zeroed out by the upper level. */ + if (unlikely(rx_pkt_len == 0 || + rx_pkt_len > entry->queue->data_size)) { + ERROR(entry->queue->rt2x00dev, + "Bad frame size %d, forcing to 0\n", rx_pkt_len); + return; + } + rxd = (__le32 *)(entry->skb->data + rx_pkt_len); /* @@ -736,6 +744,7 @@ static int rt2800usb_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Allocate eeprom data. @@ -749,6 +758,14 @@ return retval; /* + * Enable rfkill polling by setting GPIO direction of the + * rfkill switch GPIO pin correctly. + */ + rt2x00usb_register_read(rt2x00dev, GPIO_CTRL_CFG, ®); + rt2x00_set_field32(®, GPIO_CTRL_CFG_GPIOD_BIT2, 1); + rt2x00usb_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); + + /* * Initialize hw specifications. */ retval = rt2800_probe_hw_mode(rt2x00dev); @@ -971,6 +988,7 @@ { USB_DEVICE(0x0411, 0x015d) }, { USB_DEVICE(0x0411, 0x016f) }, { USB_DEVICE(0x0411, 0x01a2) }, + { USB_DEVICE(0x0411, 0x01ee) }, /* Corega */ { USB_DEVICE(0x07aa, 0x002f) }, { USB_DEVICE(0x07aa, 0x003c) }, @@ -1137,6 +1155,8 @@ #ifdef CONFIG_RT2800USB_RT33XX /* Belkin */ { USB_DEVICE(0x050d, 0x945b) }, + /* D-Link */ + { USB_DEVICE(0x2001, 0x3c17) }, /* Panasonic */ { USB_DEVICE(0x083a, 0xb511) }, /* Philips */ @@ -1154,6 +1174,8 @@ { USB_DEVICE(0x1690, 0x0744) }, { USB_DEVICE(0x1690, 0x0761) }, { USB_DEVICE(0x1690, 0x0764) }, + /* ASUS */ + { USB_DEVICE(0x0b05, 0x179d) }, /* Cisco */ { USB_DEVICE(0x167b, 0x4001) }, /* EnGenius */ @@ -1219,7 +1241,6 @@ { USB_DEVICE(0x0b05, 0x1760) }, { USB_DEVICE(0x0b05, 0x1761) }, { USB_DEVICE(0x0b05, 0x1790) }, - { USB_DEVICE(0x0b05, 0x179d) }, /* AzureWave */ { USB_DEVICE(0x13d3, 0x3262) }, { USB_DEVICE(0x13d3, 0x3284) }, @@ -1237,7 +1258,6 @@ /* D-Link */ { USB_DEVICE(0x07d1, 0x3c0b) }, { USB_DEVICE(0x07d1, 0x3c17) }, - { USB_DEVICE(0x2001, 0x3c17) }, /* Encore */ { USB_DEVICE(0x203d, 0x14a1) }, /* Gemtek */ --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt2x00dev.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -629,7 +629,7 @@ */ if (unlikely(rxdesc.size == 0 || rxdesc.size > entry->queue->data_size)) { - WARNING(rt2x00dev, "Wrong frame size %d max %d.\n", + ERROR(rt2x00dev, "Wrong frame size %d max %d.\n", rxdesc.size, entry->queue->data_size); dev_kfree_skb(entry->skb); goto renew_skb; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt61pci.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt61pci.c @@ -2243,8 +2243,7 @@ static void rt61pci_wakeup(struct rt2x00_dev *rt2x00dev) { - struct ieee80211_conf conf = { .flags = 0 }; - struct rt2x00lib_conf libconf = { .conf = &conf }; + struct rt2x00lib_conf libconf = { .conf = &rt2x00dev->hw->conf }; rt61pci_config(rt2x00dev, &libconf, IEEE80211_CONF_CHANGE_PS); } @@ -2833,6 +2832,7 @@ static int rt61pci_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Disable power saving. @@ -2851,6 +2851,14 @@ return retval; /* + * Enable rfkill polling by setting GPIO direction of the + * rfkill switch GPIO pin correctly. + */ + rt2x00pci_register_read(rt2x00dev, MAC_CSR13, ®); + rt2x00_set_field32(®, MAC_CSR13_BIT13, 1); + rt2x00pci_register_write(rt2x00dev, MAC_CSR13, reg); + + /* * Initialize hw specifications. */ retval = rt61pci_probe_hw_mode(rt2x00dev); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt61pci.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt61pci.h @@ -372,6 +372,7 @@ #define MAC_CSR13_BIT10 FIELD32(0x00000400) #define MAC_CSR13_BIT11 FIELD32(0x00000800) #define MAC_CSR13_BIT12 FIELD32(0x00001000) +#define MAC_CSR13_BIT13 FIELD32(0x00002000) /* * MAC_CSR14: LED control register. --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt73usb.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt73usb.c @@ -2177,6 +2177,7 @@ static int rt73usb_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Allocate eeprom data. @@ -2190,6 +2191,14 @@ return retval; /* + * Enable rfkill polling by setting GPIO direction of the + * rfkill switch GPIO pin correctly. + */ + rt2x00usb_register_read(rt2x00dev, MAC_CSR13, ®); + rt2x00_set_field32(®, MAC_CSR13_BIT15, 0); + rt2x00usb_register_write(rt2x00dev, MAC_CSR13, reg); + + /* * Initialize hw specifications. */ retval = rt73usb_probe_hw_mode(rt2x00dev); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rt2x00/rt73usb.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/rt2x00/rt73usb.h @@ -282,6 +282,9 @@ #define MAC_CSR13_BIT10 FIELD32(0x00000400) #define MAC_CSR13_BIT11 FIELD32(0x00000800) #define MAC_CSR13_BIT12 FIELD32(0x00001000) +#define MAC_CSR13_BIT13 FIELD32(0x00002000) +#define MAC_CSR13_BIT14 FIELD32(0x00004000) +#define MAC_CSR13_BIT15 FIELD32(0x00008000) /* * MAC_CSR14: LED control register. --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtl818x/rtl8187/dev.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtl818x/rtl8187/dev.c @@ -44,7 +44,7 @@ MODULE_DESCRIPTION("RTL8187/RTL8187B USB wireless driver"); MODULE_LICENSE("GPL"); -static struct usb_device_id rtl8187_table[] __devinitdata = { +static struct usb_device_id rtl8187_table[] = { /* Asus */ {USB_DEVICE(0x0b05, 0x171d), .driver_info = DEVICE_RTL8187}, /* Belkin */ --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtlwifi/usb.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtlwifi/usb.c @@ -131,15 +131,19 @@ u8 request; u16 wvalue; u16 index; - __le32 *data = &rtlpriv->usb_data[rtlpriv->usb_data_index]; + __le32 *data; + unsigned long flags; + spin_lock_irqsave(&rtlpriv->locks.usb_lock, flags); + if (++rtlpriv->usb_data_index >= RTL_USB_MAX_RX_COUNT) + rtlpriv->usb_data_index = 0; + data = &rtlpriv->usb_data[rtlpriv->usb_data_index]; + spin_unlock_irqrestore(&rtlpriv->locks.usb_lock, flags); request = REALTEK_USB_VENQT_CMD_REQ; index = REALTEK_USB_VENQT_CMD_IDX; /* n/a */ wvalue = (u16)addr; _usbctrl_vendorreq_sync_read(udev, request, wvalue, index, data, len); - if (++rtlpriv->usb_data_index >= RTL_USB_MAX_RX_COUNT) - rtlpriv->usb_data_index = 0; return le32_to_cpu(*data); } @@ -951,6 +955,10 @@ GFP_KERNEL); if (!rtlpriv->usb_data) return -ENOMEM; + + /* this spin lock must be initialized early */ + spin_lock_init(&rtlpriv->locks.usb_lock); + rtlpriv->usb_data_index = 0; init_completion(&rtlpriv->firmware_loading_complete); SET_IEEE80211_DEV(hw, &intf->dev); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtlwifi/wifi.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtlwifi/wifi.h @@ -1555,6 +1555,7 @@ spinlock_t rf_ps_lock; spinlock_t rf_lock; spinlock_t waitq_lock; + spinlock_t usb_lock; /*Dual mac*/ spinlock_t cck_and_rw_pagea_lock; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192ce/def.h +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtlwifi/rtl8192ce/def.h @@ -117,6 +117,7 @@ #define CHIP_VER_B BIT(4) #define CHIP_92C_BITMASK BIT(0) +#define CHIP_UNKNOWN BIT(7) #define CHIP_92C_1T2R 0x03 #define CHIP_92C 0x01 #define CHIP_88C 0x00 --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c @@ -995,8 +995,16 @@ version = (value32 & TYPE_ID) ? VERSION_A_CHIP_92C : VERSION_A_CHIP_88C; } else { - version = (value32 & TYPE_ID) ? VERSION_B_CHIP_92C : - VERSION_B_CHIP_88C; + version = (enum version_8192c) (CHIP_VER_B | + ((value32 & TYPE_ID) ? CHIP_92C_BITMASK : 0) | + ((value32 & VENDOR_ID) ? CHIP_VENDOR_UMC : 0)); + if ((!IS_CHIP_VENDOR_UMC(version)) && (value32 & + CHIP_VER_RTL_MASK)) { + version = (enum version_8192c)(version | + ((((value32 & CHIP_VER_RTL_MASK) == BIT(12)) + ? CHIP_VENDOR_UMC_B_CUT : CHIP_UNKNOWN) | + CHIP_VENDOR_UMC)); + } } switch (version) { --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c @@ -162,10 +162,12 @@ /* request fw */ if (IS_VENDOR_UMC_A_CUT(rtlhal->version) && - !IS_92C_SERIAL(rtlhal->version)) + !IS_92C_SERIAL(rtlhal->version)) { rtlpriv->cfg->fw_name = "rtlwifi/rtl8192cfwU.bin"; - else if (IS_81xxC_VENDOR_UMC_B_CUT(rtlhal->version)) + } else if (IS_81xxC_VENDOR_UMC_B_CUT(rtlhal->version)) { rtlpriv->cfg->fw_name = "rtlwifi/rtl8192cfwU_B.bin"; + pr_info("****** This B_CUT device may not work with kernels 3.6 and earlier\n"); + } rtlpriv->max_fw_size = 0x4000; pr_info("Using firmware %s\n", rtlpriv->cfg->fw_name); --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c @@ -297,6 +297,7 @@ /*=== Customer ID ===*/ /****** 8188CU ********/ {RTL_USB_DEVICE(0x050d, 0x1102, rtl92cu_hal_cfg)}, /*Belkin - Edimax*/ + {RTL_USB_DEVICE(0x050d, 0x11f2, rtl92cu_hal_cfg)}, /*Belkin - ISY*/ {RTL_USB_DEVICE(0x06f8, 0xe033, rtl92cu_hal_cfg)}, /*Hercules - Edimax*/ {RTL_USB_DEVICE(0x07b8, 0x8188, rtl92cu_hal_cfg)}, /*Abocom - Abocom*/ {RTL_USB_DEVICE(0x07b8, 0x8189, rtl92cu_hal_cfg)}, /*Funai - Abocom*/ --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192de/phy.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/rtlwifi/rtl8192de/phy.c @@ -3345,21 +3345,21 @@ switch (rtlhal->macphymode) { case DUALMAC_SINGLEPHY: rtlphy->rf_type = RF_2T2R; - rtlhal->version |= CHIP_92D_SINGLEPHY; + rtlhal->version |= RF_TYPE_2T2R; rtlhal->bandset = BAND_ON_BOTH; rtlhal->current_bandtype = BAND_ON_2_4G; break; case SINGLEMAC_SINGLEPHY: rtlphy->rf_type = RF_2T2R; - rtlhal->version |= CHIP_92D_SINGLEPHY; + rtlhal->version |= RF_TYPE_2T2R; rtlhal->bandset = BAND_ON_BOTH; rtlhal->current_bandtype = BAND_ON_2_4G; break; case DUALMAC_DUALPHY: rtlphy->rf_type = RF_1T1R; - rtlhal->version &= (~CHIP_92D_SINGLEPHY); + rtlhal->version &= RF_TYPE_1T1R; /* Now we let MAC0 run on 5G band. */ if (rtlhal->interfaceindex == 0) { rtlhal->bandset = BAND_ON_5G; --- linux-lowlatency-3.5.0.orig/drivers/net/wireless/ti/wlcore/main.c +++ linux-lowlatency-3.5.0/drivers/net/wireless/ti/wlcore/main.c @@ -5398,3 +5398,4 @@ MODULE_LICENSE("GPL"); MODULE_AUTHOR("Luciano Coelho "); MODULE_AUTHOR("Juuso Oikarinen "); +MODULE_FIRMWARE(WL12XX_NVS_NAME); --- linux-lowlatency-3.5.0.orig/drivers/nfc/pn533.c +++ linux-lowlatency-3.5.0/drivers/nfc/pn533.c @@ -1288,11 +1288,14 @@ static int pn533_in_dep_link_up_complete(struct pn533 *dev, void *arg, u8 *params, int params_len) { - struct pn533_cmd_jump_dep *cmd; struct pn533_cmd_jump_dep_response *resp; struct nfc_target nfc_target; u8 target_gt_len; int rc; + struct pn533_cmd_jump_dep *cmd = (struct pn533_cmd_jump_dep *)arg; + u8 active = cmd->active; + + kfree(arg); if (params_len == -ENOENT) { nfc_dev_dbg(&dev->interface->dev, ""); @@ -1314,7 +1317,6 @@ } resp = (struct pn533_cmd_jump_dep_response *) params; - cmd = (struct pn533_cmd_jump_dep *) arg; rc = resp->status & PN533_CMD_RET_MASK; if (rc != PN533_CMD_RET_SUCCESS) { nfc_dev_err(&dev->interface->dev, @@ -1344,7 +1346,7 @@ if (rc == 0) rc = nfc_dep_link_is_up(dev->nfc_dev, dev->nfc_dev->targets[0].idx, - !cmd->active, NFC_RF_INITIATOR); + !active, NFC_RF_INITIATOR); return 0; } @@ -1395,12 +1397,8 @@ rc = pn533_send_cmd_frame_async(dev, dev->out_frame, dev->in_frame, dev->in_maxlen, pn533_in_dep_link_up_complete, cmd, GFP_KERNEL); - if (rc) - goto out; - - -out: - kfree(cmd); + if (rc < 0) + kfree(cmd); return rc; } --- linux-lowlatency-3.5.0.orig/drivers/parport/Kconfig +++ linux-lowlatency-3.5.0/drivers/parport/Kconfig @@ -36,7 +36,7 @@ config PARPORT_PC tristate "PC-style hardware" depends on (!SPARC64 || PCI) && !SPARC32 && !M32R && !FRV && \ - (!M68K || ISA) && !MN10300 && !AVR32 && !BLACKFIN + (!M68K || ISA) && !MN10300 && !AVR32 && !BLACKFIN && !ARCH_OMAP ---help--- You should say Y here if you have a PC-style parallel port. All IBM PC compatible computers and some Alphas have PC-style --- linux-lowlatency-3.5.0.orig/drivers/pci/pci-driver.c +++ linux-lowlatency-3.5.0/drivers/pci/pci-driver.c @@ -958,6 +958,13 @@ if (!pci_dev->state_saved && !pci_is_bridge(pci_dev)) pci_prepare_to_sleep(pci_dev); + /* + * The reason for doing this here is the same as for the analogous code + * in pci_pm_suspend_noirq(). + */ + if (pci_dev->class == PCI_CLASS_SERIAL_USB_EHCI) + pci_write_config_word(pci_dev, PCI_COMMAND, 0); + return 0; } --- linux-lowlatency-3.5.0.orig/drivers/pci/probe.c +++ linux-lowlatency-3.5.0/drivers/pci/probe.c @@ -684,8 +684,10 @@ /* Check if setup is sensible at all */ if (!pass && - (primary != bus->number || secondary <= bus->number)) { - dev_dbg(&dev->dev, "bus configuration invalid, reconfiguring\n"); + (primary != bus->number || secondary <= bus->number || + secondary > subordinate)) { + dev_info(&dev->dev, "bridge configuration invalid ([bus %02x-%02x]), reconfiguring\n", + secondary, subordinate); broken = 1; } --- linux-lowlatency-3.5.0.orig/drivers/pci/hotplug/acpiphp_glue.c +++ linux-lowlatency-3.5.0/drivers/pci/hotplug/acpiphp_glue.c @@ -132,6 +132,15 @@ if (!acpi_pci_check_ejectable(pbus, handle) && !is_dock_device(handle)) return AE_OK; + status = acpi_evaluate_integer(handle, "_ADR", NULL, &adr); + if (ACPI_FAILURE(status)) { + warn("can't evaluate _ADR (%#x)\n", status); + return AE_OK; + } + + device = (adr >> 16) & 0xffff; + function = adr & 0xffff; + pdev = pbus->self; if (pdev && pci_is_pcie(pdev)) { tmp = acpi_find_root_bridge_handle(pdev); @@ -144,10 +153,6 @@ } } - acpi_evaluate_integer(handle, "_ADR", NULL, &adr); - device = (adr >> 16) & 0xffff; - function = adr & 0xffff; - newfunc = kzalloc(sizeof(struct acpiphp_func), GFP_KERNEL); if (!newfunc) return AE_NO_MEMORY; --- linux-lowlatency-3.5.0.orig/drivers/pci/pcie/aspm.c +++ linux-lowlatency-3.5.0/drivers/pci/pcie/aspm.c @@ -798,6 +798,9 @@ { struct pci_dev *child; + if (aspm_force) + return; + /* * Clear any ASPM setup that the firmware has carried out on this bus */ --- linux-lowlatency-3.5.0.orig/drivers/pcmcia/pxa2xx_sharpsl.c +++ linux-lowlatency-3.5.0/drivers/pcmcia/pxa2xx_sharpsl.c @@ -194,7 +194,7 @@ sharpsl_pcmcia_init_reset(skt); } -static struct pcmcia_low_level sharpsl_pcmcia_ops __initdata = { +static struct pcmcia_low_level sharpsl_pcmcia_ops = { .owner = THIS_MODULE, .hw_init = sharpsl_pcmcia_hw_init, .socket_state = sharpsl_pcmcia_socket_state, --- linux-lowlatency-3.5.0.orig/drivers/pinctrl/core.c +++ linux-lowlatency-3.5.0/drivers/pinctrl/core.c @@ -1069,8 +1069,10 @@ seq_printf(s, "group: %s\n", gname); for (i = 0; i < num_pins; i++) { pname = pin_get_name(pctldev, pins[i]); - if (WARN_ON(!pname)) + if (WARN_ON(!pname)) { + mutex_unlock(&pinctrl_mutex); return -EINVAL; + } seq_printf(s, "pin %d (%s)\n", pins[i], pname); } seq_puts(s, "\n"); --- linux-lowlatency-3.5.0.orig/drivers/pinctrl/pinconf.c +++ linux-lowlatency-3.5.0/drivers/pinctrl/pinconf.c @@ -537,8 +537,6 @@ seq_puts(s, "Pin config settings per pin group\n"); seq_puts(s, "Format: group (name): configs\n"); - mutex_lock(&pinctrl_mutex); - while (selector < ngroups) { const char *gname = pctlops->get_group_name(pctldev, selector); @@ -549,8 +547,6 @@ selector++; } - mutex_unlock(&pinctrl_mutex); - return 0; } --- linux-lowlatency-3.5.0.orig/drivers/pinctrl/pinctrl-tegra.c +++ linux-lowlatency-3.5.0/drivers/pinctrl/pinctrl-tegra.c @@ -466,7 +466,7 @@ *bank = g->drv_bank; *reg = g->drv_reg; *bit = g->lpmd_bit; - *width = 1; + *width = 2; break; case TEGRA_PINCONF_PARAM_DRIVE_DOWN_STRENGTH: *bank = g->drv_bank; --- linux-lowlatency-3.5.0.orig/drivers/pinctrl/pinctrl-tegra30.c +++ linux-lowlatency-3.5.0/drivers/pinctrl/pinctrl-tegra30.c @@ -3345,10 +3345,10 @@ FUNCTION(vi_alt3), }; -#define MUXCTL_REG_A 0x3000 -#define PINGROUP_REG_A 0x868 +#define DRV_PINGROUP_REG_A 0x868 /* bank 0 */ +#define PINGROUP_REG_A 0x3000 /* bank 1 */ -#define PINGROUP_REG_Y(r) ((r) - MUXCTL_REG_A) +#define PINGROUP_REG_Y(r) ((r) - PINGROUP_REG_A) #define PINGROUP_REG_N(r) -1 #define PINGROUP(pg_name, f0, f1, f2, f3, f_safe, r, od, ior) \ @@ -3364,25 +3364,25 @@ }, \ .func_safe = TEGRA_MUX_ ## f_safe, \ .mux_reg = PINGROUP_REG_Y(r), \ - .mux_bank = 0, \ + .mux_bank = 1, \ .mux_bit = 0, \ .pupd_reg = PINGROUP_REG_Y(r), \ - .pupd_bank = 0, \ + .pupd_bank = 1, \ .pupd_bit = 2, \ .tri_reg = PINGROUP_REG_Y(r), \ - .tri_bank = 0, \ + .tri_bank = 1, \ .tri_bit = 4, \ .einput_reg = PINGROUP_REG_Y(r), \ - .einput_bank = 0, \ + .einput_bank = 1, \ .einput_bit = 5, \ .odrain_reg = PINGROUP_REG_##od(r), \ - .odrain_bank = 0, \ + .odrain_bank = 1, \ .odrain_bit = 6, \ .lock_reg = PINGROUP_REG_Y(r), \ - .lock_bank = 0, \ + .lock_bank = 1, \ .lock_bit = 7, \ .ioreset_reg = PINGROUP_REG_##ior(r), \ - .ioreset_bank = 0, \ + .ioreset_bank = 1, \ .ioreset_bit = 8, \ .drv_reg = -1, \ } @@ -3401,8 +3401,8 @@ .odrain_reg = -1, \ .lock_reg = -1, \ .ioreset_reg = -1, \ - .drv_reg = ((r) - PINGROUP_REG_A), \ - .drv_bank = 1, \ + .drv_reg = ((r) - DRV_PINGROUP_REG_A), \ + .drv_bank = 0, \ .hsm_bit = hsm_b, \ .schmitt_bit = schmitt_b, \ .lpmd_bit = lpmd_b, \ --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/Kconfig +++ linux-lowlatency-3.5.0/drivers/platform/x86/Kconfig @@ -758,8 +758,11 @@ config APPLE_GMUX tristate "Apple Gmux Driver" + depends on ACPI depends on PNP - select BACKLIGHT_CLASS_DEVICE + depends on BACKLIGHT_CLASS_DEVICE + depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE + depends on ACPI_VIDEO=n || ACPI_VIDEO ---help--- This driver provides support for the gmux device found on many Apple laptops, which controls the display mux for the hybrid --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/acer-wmi.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/acer-wmi.c @@ -95,6 +95,7 @@ enum acer_wmi_event_ids { WMID_HOTKEY_EVENT = 0x1, + WMID_ACCEL_EVENT = 0x5, }; static const struct key_entry acer_wmi_keymap[] = { @@ -130,6 +131,7 @@ }; static struct input_dev *acer_wmi_input_dev; +static struct input_dev *acer_wmi_accel_dev; struct event_return_value { u8 function; @@ -200,6 +202,7 @@ #define ACER_CAP_BLUETOOTH (1<<2) #define ACER_CAP_BRIGHTNESS (1<<3) #define ACER_CAP_THREEG (1<<4) +#define ACER_CAP_ACCEL (1<<5) #define ACER_CAP_ANY (0xFFFFFFFF) /* @@ -1399,6 +1402,60 @@ } /* + * Accelerometer device + */ +static acpi_handle gsensor_handle; + +static int acer_gsensor_init(void) +{ + acpi_status status; + struct acpi_buffer output; + union acpi_object out_obj; + + output.length = sizeof(out_obj); + output.pointer = &out_obj; + status = acpi_evaluate_object(gsensor_handle, "_INI", NULL, &output); + if (ACPI_FAILURE(status)) + return -1; + + return 0; +} + +static int acer_gsensor_open(struct input_dev *input) +{ + return acer_gsensor_init(); +} + +static int acer_gsensor_event(void) +{ + acpi_status status; + struct acpi_buffer output; + union acpi_object out_obj[5]; + + if (!has_cap(ACER_CAP_ACCEL)) + return -1; + + output.length = sizeof(out_obj); + output.pointer = out_obj; + + status = acpi_evaluate_object(gsensor_handle, "RDVL", NULL, &output); + if (ACPI_FAILURE(status)) + return -1; + + if (out_obj->package.count != 4) + return -1; + + input_report_abs(acer_wmi_accel_dev, ABS_X, + (s16)out_obj->package.elements[0].integer.value); + input_report_abs(acer_wmi_accel_dev, ABS_Y, + (s16)out_obj->package.elements[1].integer.value); + input_report_abs(acer_wmi_accel_dev, ABS_Z, + (s16)out_obj->package.elements[2].integer.value); + input_sync(acer_wmi_accel_dev); + return 0; +} + +/* * Rfkill devices */ static void acer_rfkill_update(struct work_struct *ignored); @@ -1673,6 +1730,9 @@ 1, true); } break; + case WMID_ACCEL_EVENT: + acer_gsensor_event(); + break; default: pr_warn("Unknown function number - %d - %d\n", return_value.function, return_value.key_num); @@ -1758,6 +1818,73 @@ return status; } +static acpi_status __init acer_wmi_get_handle_cb(acpi_handle ah, u32 level, + void *ctx, void **retval) +{ + *(acpi_handle *)retval = ah; + return AE_OK; +} + +static int __init acer_wmi_get_handle(const char *name, const char *prop, + acpi_handle *ah) +{ + acpi_status status; + acpi_handle handle; + + BUG_ON(!name || !ah); + + handle = 0; + status = acpi_get_devices(prop, acer_wmi_get_handle_cb, + (void *)name, &handle); + + if (ACPI_SUCCESS(status)) { + *ah = handle; + return 0; + } else { + return -ENODEV; + } +} + +static int __init acer_wmi_accel_setup(void) +{ + int err; + + err = acer_wmi_get_handle("SENR", "BST0001", &gsensor_handle); + if (err) + return err; + + interface->capability |= ACER_CAP_ACCEL; + + acer_wmi_accel_dev = input_allocate_device(); + if (!acer_wmi_accel_dev) + return -ENOMEM; + + acer_wmi_accel_dev->open = acer_gsensor_open; + + acer_wmi_accel_dev->name = "Acer BMA150 accelerometer"; + acer_wmi_accel_dev->phys = "wmi/input1"; + acer_wmi_accel_dev->id.bustype = BUS_HOST; + acer_wmi_accel_dev->evbit[0] = BIT_MASK(EV_ABS); + input_set_abs_params(acer_wmi_accel_dev, ABS_X, -16384, 16384, 0, 0); + input_set_abs_params(acer_wmi_accel_dev, ABS_Y, -16384, 16384, 0, 0); + input_set_abs_params(acer_wmi_accel_dev, ABS_Z, -16384, 16384, 0, 0); + + err = input_register_device(acer_wmi_accel_dev); + if (err) + goto err_free_dev; + + return 0; + +err_free_dev: + input_free_device(acer_wmi_accel_dev); + return err; +} + +static void acer_wmi_accel_destroy(void) +{ + input_unregister_device(acer_wmi_accel_dev); +} + static int __init acer_wmi_input_setup(void) { acpi_status status; @@ -1913,6 +2040,9 @@ if (has_cap(ACER_CAP_BRIGHTNESS)) set_u32(data->brightness, ACER_CAP_BRIGHTNESS); + if (has_cap(ACER_CAP_ACCEL)) + acer_gsensor_init(); + return 0; } @@ -2090,6 +2220,8 @@ return err; } + acer_wmi_accel_setup(); + err = platform_driver_register(&acer_platform_driver); if (err) { pr_err("Unable to register platform driver\n"); @@ -2133,6 +2265,8 @@ error_platform_register: if (wmi_has_guid(ACERWMID_EVENT_GUID)) acer_wmi_input_destroy(); + if (has_cap(ACER_CAP_ACCEL)) + acer_wmi_accel_destroy(); return err; } @@ -2142,6 +2276,9 @@ if (wmi_has_guid(ACERWMID_EVENT_GUID)) acer_wmi_input_destroy(); + if (has_cap(ACER_CAP_ACCEL)) + acer_wmi_accel_destroy(); + remove_sysfs(acer_platform_device); remove_debugfs(); platform_device_unregister(acer_platform_device); --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/apple-gmux.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/apple-gmux.c @@ -2,6 +2,7 @@ * Gmux driver for Apple laptops * * Copyright (C) Canonical Ltd. + * Copyright (C) 2010-2012 Andreas Heider * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -18,16 +19,30 @@ #include #include #include +#include +#include +#include #include #include struct apple_gmux_data { unsigned long iostart; unsigned long iolen; + bool indexed; + struct mutex index_lock; struct backlight_device *bdev; + + /* switcheroo data */ + acpi_handle dhandle; + int gpe; + enum vga_switcheroo_client_id resume_client_id; + enum vga_switcheroo_state power_state; + struct completion powerchange_done; }; +static struct apple_gmux_data *apple_gmux_data; + /* * gmux port offsets. Many of these are not yet used, but may be in the * future, and it's useful to have them documented here anyhow. @@ -45,6 +60,9 @@ #define GMUX_PORT_DISCRETE_POWER 0x50 #define GMUX_PORT_MAX_BRIGHTNESS 0x70 #define GMUX_PORT_BRIGHTNESS 0x74 +#define GMUX_PORT_VALUE 0xc2 +#define GMUX_PORT_READ 0xd0 +#define GMUX_PORT_WRITE 0xd4 #define GMUX_MIN_IO_LEN (GMUX_PORT_BRIGHTNESS + 4) @@ -59,22 +77,174 @@ #define GMUX_BRIGHTNESS_MASK 0x00ffffff #define GMUX_MAX_BRIGHTNESS GMUX_BRIGHTNESS_MASK -static inline u8 gmux_read8(struct apple_gmux_data *gmux_data, int port) +static u8 gmux_pio_read8(struct apple_gmux_data *gmux_data, int port) { return inb(gmux_data->iostart + port); } -static inline void gmux_write8(struct apple_gmux_data *gmux_data, int port, +static void gmux_pio_write8(struct apple_gmux_data *gmux_data, int port, u8 val) { outb(val, gmux_data->iostart + port); } -static inline u32 gmux_read32(struct apple_gmux_data *gmux_data, int port) +static u32 gmux_pio_read32(struct apple_gmux_data *gmux_data, int port) { return inl(gmux_data->iostart + port); } +static void gmux_pio_write32(struct apple_gmux_data *gmux_data, int port, + u32 val) +{ + int i; + u8 tmpval; + + for (i = 0; i < 4; i++) { + tmpval = (val >> (i * 8)) & 0xff; + outb(tmpval, gmux_data->iostart + port + i); + } +} + +static int gmux_index_wait_ready(struct apple_gmux_data *gmux_data) +{ + int i = 200; + u8 gwr = inb(gmux_data->iostart + GMUX_PORT_WRITE); + + while (i && (gwr & 0x01)) { + inb(gmux_data->iostart + GMUX_PORT_READ); + gwr = inb(gmux_data->iostart + GMUX_PORT_WRITE); + udelay(100); + i--; + } + + return !!i; +} + +static int gmux_index_wait_complete(struct apple_gmux_data *gmux_data) +{ + int i = 200; + u8 gwr = inb(gmux_data->iostart + GMUX_PORT_WRITE); + + while (i && !(gwr & 0x01)) { + gwr = inb(gmux_data->iostart + GMUX_PORT_WRITE); + udelay(100); + i--; + } + + if (gwr & 0x01) + inb(gmux_data->iostart + GMUX_PORT_READ); + + return !!i; +} + +static u8 gmux_index_read8(struct apple_gmux_data *gmux_data, int port) +{ + u8 val; + + mutex_lock(&gmux_data->index_lock); + gmux_index_wait_ready(gmux_data); + outb((port & 0xff), gmux_data->iostart + GMUX_PORT_READ); + gmux_index_wait_complete(gmux_data); + val = inb(gmux_data->iostart + GMUX_PORT_VALUE); + mutex_unlock(&gmux_data->index_lock); + + return val; +} + +static void gmux_index_write8(struct apple_gmux_data *gmux_data, int port, + u8 val) +{ + mutex_lock(&gmux_data->index_lock); + outb(val, gmux_data->iostart + GMUX_PORT_VALUE); + gmux_index_wait_ready(gmux_data); + outb(port & 0xff, gmux_data->iostart + GMUX_PORT_WRITE); + gmux_index_wait_complete(gmux_data); + mutex_unlock(&gmux_data->index_lock); +} + +static u32 gmux_index_read32(struct apple_gmux_data *gmux_data, int port) +{ + u32 val; + + mutex_lock(&gmux_data->index_lock); + gmux_index_wait_ready(gmux_data); + outb((port & 0xff), gmux_data->iostart + GMUX_PORT_READ); + gmux_index_wait_complete(gmux_data); + val = inl(gmux_data->iostart + GMUX_PORT_VALUE); + mutex_unlock(&gmux_data->index_lock); + + return val; +} + +static void gmux_index_write32(struct apple_gmux_data *gmux_data, int port, + u32 val) +{ + int i; + u8 tmpval; + + mutex_lock(&gmux_data->index_lock); + + for (i = 0; i < 4; i++) { + tmpval = (val >> (i * 8)) & 0xff; + outb(tmpval, gmux_data->iostart + GMUX_PORT_VALUE + i); + } + + gmux_index_wait_ready(gmux_data); + outb(port & 0xff, gmux_data->iostart + GMUX_PORT_WRITE); + gmux_index_wait_complete(gmux_data); + mutex_unlock(&gmux_data->index_lock); +} + +static u8 gmux_read8(struct apple_gmux_data *gmux_data, int port) +{ + if (gmux_data->indexed) + return gmux_index_read8(gmux_data, port); + else + return gmux_pio_read8(gmux_data, port); +} + +static void gmux_write8(struct apple_gmux_data *gmux_data, int port, u8 val) +{ + if (gmux_data->indexed) + gmux_index_write8(gmux_data, port, val); + else + gmux_pio_write8(gmux_data, port, val); +} + +static u32 gmux_read32(struct apple_gmux_data *gmux_data, int port) +{ + if (gmux_data->indexed) + return gmux_index_read32(gmux_data, port); + else + return gmux_pio_read32(gmux_data, port); +} + +static void gmux_write32(struct apple_gmux_data *gmux_data, int port, + u32 val) +{ + if (gmux_data->indexed) + gmux_index_write32(gmux_data, port, val); + else + gmux_pio_write32(gmux_data, port, val); +} + +static bool gmux_is_indexed(struct apple_gmux_data *gmux_data) +{ + u16 val; + + outb(0xaa, gmux_data->iostart + 0xcc); + outb(0x55, gmux_data->iostart + 0xcd); + outb(0x00, gmux_data->iostart + 0xce); + + val = inb(gmux_data->iostart + 0xcc) | + (inb(gmux_data->iostart + 0xcd) << 8); + + if (val == 0x55aa) + return true; + + return false; +} + static int gmux_get_brightness(struct backlight_device *bd) { struct apple_gmux_data *gmux_data = bl_get_data(bd); @@ -90,16 +260,7 @@ if (bd->props.state & BL_CORE_SUSPENDED) return 0; - /* - * Older gmux versions require writing out lower bytes first then - * setting the upper byte to 0 to flush the values. Newer versions - * accept a single u32 write, but the old method also works, so we - * just use the old method for all gmux versions. - */ - gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS, brightness); - gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS + 1, brightness >> 8); - gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS + 2, brightness >> 16); - gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS + 3, 0); + gmux_write32(gmux_data, GMUX_PORT_BRIGHTNESS, brightness); return 0; } @@ -110,6 +271,146 @@ .update_status = gmux_update_status, }; +static int gmux_switchto(enum vga_switcheroo_client_id id) +{ + if (id == VGA_SWITCHEROO_IGD) { + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DDC, 1); + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DISPLAY, 2); + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_EXTERNAL, 2); + } else { + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DDC, 2); + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DISPLAY, 3); + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_EXTERNAL, 3); + } + + return 0; +} + +static int gmux_set_discrete_state(struct apple_gmux_data *gmux_data, + enum vga_switcheroo_state state) +{ + INIT_COMPLETION(gmux_data->powerchange_done); + + if (state == VGA_SWITCHEROO_ON) { + gmux_write8(gmux_data, GMUX_PORT_DISCRETE_POWER, 1); + gmux_write8(gmux_data, GMUX_PORT_DISCRETE_POWER, 3); + pr_debug("Discrete card powered up\n"); + } else { + gmux_write8(gmux_data, GMUX_PORT_DISCRETE_POWER, 1); + gmux_write8(gmux_data, GMUX_PORT_DISCRETE_POWER, 0); + pr_debug("Discrete card powered down\n"); + } + + gmux_data->power_state = state; + + if (gmux_data->gpe >= 0 && + !wait_for_completion_interruptible_timeout(&gmux_data->powerchange_done, + msecs_to_jiffies(200))) + pr_warn("Timeout waiting for gmux switch to complete\n"); + + return 0; +} + +static int gmux_set_power_state(enum vga_switcheroo_client_id id, + enum vga_switcheroo_state state) +{ + if (id == VGA_SWITCHEROO_IGD) + return 0; + + return gmux_set_discrete_state(apple_gmux_data, state); +} + +static int gmux_get_client_id(struct pci_dev *pdev) +{ + /* + * Early Macbook Pros with switchable graphics use nvidia + * integrated graphics. Hardcode that the 9400M is integrated. + */ + if (pdev->vendor == PCI_VENDOR_ID_INTEL) + return VGA_SWITCHEROO_IGD; + else if (pdev->vendor == PCI_VENDOR_ID_NVIDIA && + pdev->device == 0x0863) + return VGA_SWITCHEROO_IGD; + else + return VGA_SWITCHEROO_DIS; +} + +static enum vga_switcheroo_client_id +gmux_active_client(struct apple_gmux_data *gmux_data) +{ + if (gmux_read8(gmux_data, GMUX_PORT_SWITCH_DISPLAY) == 2) + return VGA_SWITCHEROO_IGD; + + return VGA_SWITCHEROO_DIS; +} + +static struct vga_switcheroo_handler gmux_handler = { + .switchto = gmux_switchto, + .power_state = gmux_set_power_state, + .get_client_id = gmux_get_client_id, +}; + +static inline void gmux_disable_interrupts(struct apple_gmux_data *gmux_data) +{ + gmux_write8(gmux_data, GMUX_PORT_INTERRUPT_ENABLE, + GMUX_INTERRUPT_DISABLE); +} + +static inline void gmux_enable_interrupts(struct apple_gmux_data *gmux_data) +{ + gmux_write8(gmux_data, GMUX_PORT_INTERRUPT_ENABLE, + GMUX_INTERRUPT_ENABLE); +} + +static inline u8 gmux_interrupt_get_status(struct apple_gmux_data *gmux_data) +{ + return gmux_read8(gmux_data, GMUX_PORT_INTERRUPT_STATUS); +} + +static void gmux_clear_interrupts(struct apple_gmux_data *gmux_data) +{ + u8 status; + + /* to clear interrupts write back current status */ + status = gmux_interrupt_get_status(gmux_data); + gmux_write8(gmux_data, GMUX_PORT_INTERRUPT_STATUS, status); +} + +static void gmux_notify_handler(acpi_handle device, u32 value, void *context) +{ + u8 status; + struct pnp_dev *pnp = (struct pnp_dev *)context; + struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp); + + status = gmux_interrupt_get_status(gmux_data); + gmux_disable_interrupts(gmux_data); + pr_debug("Notify handler called: status %d\n", status); + + gmux_clear_interrupts(gmux_data); + gmux_enable_interrupts(gmux_data); + + if (status & GMUX_INTERRUPT_STATUS_POWER) + complete(&gmux_data->powerchange_done); +} + +static int gmux_suspend(struct pnp_dev *pnp, pm_message_t state) +{ + struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp); + gmux_data->resume_client_id = gmux_active_client(gmux_data); + gmux_disable_interrupts(gmux_data); + return 0; +} + +static int gmux_resume(struct pnp_dev *pnp) +{ + struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp); + gmux_enable_interrupts(gmux_data); + gmux_switchto(gmux_data->resume_client_id); + if (gmux_data->power_state == VGA_SWITCHEROO_OFF) + gmux_set_discrete_state(gmux_data, gmux_data->power_state); + return 0; +} + static int __devinit gmux_probe(struct pnp_dev *pnp, const struct pnp_device_id *id) { @@ -119,6 +420,11 @@ struct backlight_device *bdev; u8 ver_major, ver_minor, ver_release; int ret = -ENXIO; + acpi_status status; + unsigned long long gpe; + + if (apple_gmux_data) + return -EBUSY; gmux_data = kzalloc(sizeof(*gmux_data), GFP_KERNEL); if (!gmux_data) @@ -147,22 +453,29 @@ } /* - * On some machines the gmux is in ACPI even thought the machine - * doesn't really have a gmux. Check for invalid version information - * to detect this. + * Invalid version information may indicate either that the gmux + * device isn't present or that it's a new one that uses indexed + * io */ + ver_major = gmux_read8(gmux_data, GMUX_PORT_VERSION_MAJOR); ver_minor = gmux_read8(gmux_data, GMUX_PORT_VERSION_MINOR); ver_release = gmux_read8(gmux_data, GMUX_PORT_VERSION_RELEASE); if (ver_major == 0xff && ver_minor == 0xff && ver_release == 0xff) { - pr_info("gmux device not present\n"); - ret = -ENODEV; - goto err_release; + if (gmux_is_indexed(gmux_data)) { + mutex_init(&gmux_data->index_lock); + gmux_data->indexed = true; + } else { + pr_info("gmux device not present\n"); + ret = -ENODEV; + goto err_release; + } + pr_info("Found indexed gmux\n"); + } else { + pr_info("Found gmux version %d.%d.%d\n", ver_major, ver_minor, + ver_release); } - pr_info("Found gmux version %d.%d.%d\n", ver_major, ver_minor, - ver_release); - memset(&props, 0, sizeof(props)); props.type = BACKLIGHT_PLATFORM; props.max_brightness = gmux_read32(gmux_data, GMUX_PORT_MAX_BRIGHTNESS); @@ -193,11 +506,67 @@ * backlight control and supports more levels than other options. * Disable the other backlight choices. */ +#if defined (CONFIG_ACPI_VIDEO) || defined (CONFIG_ACPI_VIDEO_MODULE) acpi_video_unregister(); +#endif apple_bl_unregister(); + gmux_data->power_state = VGA_SWITCHEROO_ON; + + gmux_data->dhandle = DEVICE_ACPI_HANDLE(&pnp->dev); + if (!gmux_data->dhandle) { + pr_err("Cannot find acpi handle for pnp device %s\n", + dev_name(&pnp->dev)); + ret = -ENODEV; + goto err_notify; + } + + status = acpi_evaluate_integer(gmux_data->dhandle, "GMGP", NULL, &gpe); + if (ACPI_SUCCESS(status)) { + gmux_data->gpe = (int)gpe; + + status = acpi_install_notify_handler(gmux_data->dhandle, + ACPI_DEVICE_NOTIFY, + &gmux_notify_handler, pnp); + if (ACPI_FAILURE(status)) { + pr_err("Install notify handler failed: %s\n", + acpi_format_exception(status)); + ret = -ENODEV; + goto err_notify; + } + + status = acpi_enable_gpe(NULL, gmux_data->gpe); + if (ACPI_FAILURE(status)) { + pr_err("Cannot enable gpe: %s\n", + acpi_format_exception(status)); + goto err_enable_gpe; + } + } else { + pr_warn("No GPE found for gmux\n"); + gmux_data->gpe = -1; + } + + if (vga_switcheroo_register_handler(&gmux_handler)) { + ret = -ENODEV; + goto err_register_handler; + } + + init_completion(&gmux_data->powerchange_done); + apple_gmux_data = gmux_data; + gmux_enable_interrupts(gmux_data); + return 0; +err_register_handler: + if (gmux_data->gpe >= 0) + acpi_disable_gpe(NULL, gmux_data->gpe); +err_enable_gpe: + if (gmux_data->gpe >= 0) + acpi_remove_notify_handler(gmux_data->dhandle, + ACPI_DEVICE_NOTIFY, + &gmux_notify_handler); +err_notify: + backlight_device_unregister(bdev); err_release: release_region(gmux_data->iostart, gmux_data->iolen); err_free: @@ -209,11 +578,24 @@ { struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp); + vga_switcheroo_unregister_handler(); + gmux_disable_interrupts(gmux_data); + if (gmux_data->gpe >= 0) { + acpi_disable_gpe(NULL, gmux_data->gpe); + acpi_remove_notify_handler(gmux_data->dhandle, + ACPI_DEVICE_NOTIFY, + &gmux_notify_handler); + } + backlight_device_unregister(gmux_data->bdev); + release_region(gmux_data->iostart, gmux_data->iolen); + apple_gmux_data = NULL; kfree(gmux_data); +#if defined (CONFIG_ACPI_VIDEO) || defined (CONFIG_ACPI_VIDEO_MODULE) acpi_video_register(); +#endif apple_bl_register(); } @@ -227,6 +609,8 @@ .probe = gmux_probe, .remove = __devexit_p(gmux_remove), .id_table = gmux_device_ids, + .suspend = gmux_suspend, + .resume = gmux_resume }; static int __init apple_gmux_init(void) --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/asus-laptop.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/asus-laptop.c @@ -863,9 +863,9 @@ * The significance of others is yet to be found. * If we don't find the method, we assume the device are present. */ - rv = acpi_evaluate_integer(asus->handle, "HRWS", NULL, &temp); + rv = acpi_evaluate_integer(asus->handle, "HWRS", NULL, &temp); if (!ACPI_FAILURE(rv)) - len += sprintf(page + len, "HRWS value : %#x\n", + len += sprintf(page + len, "HWRS value : %#x\n", (uint) temp); /* * Another value for userspace: the ASYM method returns 0x02 for @@ -1751,9 +1751,9 @@ * The significance of others is yet to be found. */ status = - acpi_evaluate_integer(asus->handle, "HRWS", NULL, &hwrs_result); + acpi_evaluate_integer(asus->handle, "HWRS", NULL, &hwrs_result); if (!ACPI_FAILURE(status)) - pr_notice(" HRWS returned %x", (int)hwrs_result); + pr_notice(" HWRS returned %x", (int)hwrs_result); if (!acpi_check_handle(asus->handle, METHOD_WL_STATUS, NULL)) asus->have_rsts = true; --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/asus-nb-wmi.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/asus-nb-wmi.c @@ -94,6 +94,10 @@ { KE_KEY, 0x8A, { KEY_PROG1 } }, { KE_KEY, 0x95, { KEY_MEDIA } }, { KE_KEY, 0x99, { KEY_PHONE } }, + { KE_KEY, 0xA0, { KEY_SWITCHVIDEOMODE } }, /* SDSP HDMI only */ + { KE_KEY, 0xA1, { KEY_SWITCHVIDEOMODE } }, /* SDSP LCD + HDMI */ + { KE_KEY, 0xA2, { KEY_SWITCHVIDEOMODE } }, /* SDSP CRT + HDMI */ + { KE_KEY, 0xA3, { KEY_SWITCHVIDEOMODE } }, /* SDSP TV + HDMI */ { KE_KEY, 0xb5, { KEY_CALC } }, { KE_KEY, 0xc4, { KEY_KBDILLUMUP } }, { KE_KEY, 0xc5, { KEY_KBDILLUMDOWN } }, --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/asus-wmi.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/asus-wmi.c @@ -1467,14 +1467,9 @@ */ if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_DSTS, 0, 0, NULL)) asus->dsts_id = ASUS_WMI_METHODID_DSTS; - else if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_DSTS2, 0, 0, NULL)) + else asus->dsts_id = ASUS_WMI_METHODID_DSTS2; - if (!asus->dsts_id) { - pr_err("Can't find DSTS"); - return -ENODEV; - } - /* CWAP allow to define the behavior of the Fn+F2 key, * this method doesn't seems to be present on Eee PCs */ if (asus->driver->quirks->wapf >= 0) --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/dell-wmi.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/dell-wmi.c @@ -165,7 +165,7 @@ u16 *buffer_entry = (u16 *)obj->buffer.pointer; if (dell_new_hk_type && (buffer_entry[1] != 0x10)) { - pr_info("Received unknown WMI event (0x%x)\n", + pr_debug("Received unknown WMI event (0x%x)\n", buffer_entry[1]); kfree(obj); return; --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/intel_ips.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/intel_ips.c @@ -74,6 +74,7 @@ #include #include #include +#include #include #include #include "intel_ips.h" @@ -250,6 +251,8 @@ static const int IPS_ADJUST_PERIOD = 5000; /* ms */ static bool late_i915_load = false; +int i915_hsw_enabled = 0; +EXPORT_SYMBOL(i915_hsw_enabled); /* For initial average collection */ static const int IPS_SAMPLE_PERIOD = 200; /* ms */ @@ -1423,32 +1426,62 @@ */ static bool ips_get_i915_syms(struct ips_driver *ips) { - ips->read_mch_val = symbol_get(i915_read_mch_val); - if (!ips->read_mch_val) - goto out_err; - ips->gpu_raise = symbol_get(i915_gpu_raise); - if (!ips->gpu_raise) - goto out_put_mch; - ips->gpu_lower = symbol_get(i915_gpu_lower); - if (!ips->gpu_lower) - goto out_put_raise; - ips->gpu_busy = symbol_get(i915_gpu_busy); - if (!ips->gpu_busy) - goto out_put_lower; - ips->gpu_turbo_disable = symbol_get(i915_gpu_turbo_disable); - if (!ips->gpu_turbo_disable) - goto out_put_busy; + if (i915_hsw_enabled) { + ips->read_mch_val = symbol_get(i915_hsw_read_mch_val); + if (!ips->read_mch_val) + goto out_err; + ips->gpu_raise = symbol_get(i915_hsw_gpu_raise); + if (!ips->gpu_raise) + goto out_put_mch; + ips->gpu_lower = symbol_get(i915_hsw_gpu_lower); + if (!ips->gpu_lower) + goto out_put_raise; + ips->gpu_busy = symbol_get(i915_hsw_gpu_busy); + if (!ips->gpu_busy) + goto out_put_lower; + ips->gpu_turbo_disable = symbol_get(i915_hsw_gpu_turbo_disable); + if (!ips->gpu_turbo_disable) + goto out_put_busy; + } else { + ips->read_mch_val = symbol_get(i915_read_mch_val); + if (!ips->read_mch_val) + goto out_err; + ips->gpu_raise = symbol_get(i915_gpu_raise); + if (!ips->gpu_raise) + goto out_put_mch; + ips->gpu_lower = symbol_get(i915_gpu_lower); + if (!ips->gpu_lower) + goto out_put_raise; + ips->gpu_busy = symbol_get(i915_gpu_busy); + if (!ips->gpu_busy) + goto out_put_lower; + ips->gpu_turbo_disable = symbol_get(i915_gpu_turbo_disable); + if (!ips->gpu_turbo_disable) + goto out_put_busy; + } return true; out_put_busy: - symbol_put(i915_gpu_busy); + if (i915_hsw_enabled) + symbol_put(i915_hsw_gpu_busy); + else + symbol_put(i915_gpu_busy); out_put_lower: - symbol_put(i915_gpu_lower); + if (i915_hsw_enabled) + symbol_put(i915_hsw_gpu_lower); + else + symbol_put(i915_gpu_lower); out_put_raise: - symbol_put(i915_gpu_raise); + if (i915_hsw_enabled) + symbol_put(i915_hsw_gpu_raise); + else + symbol_put(i915_gpu_raise); out_put_mch: - symbol_put(i915_read_mch_val); + if (i915_hsw_enabled) + symbol_put(i915_hsw_read_mch_val); + else + symbol_put(i915_read_mch_val); out_err: return false; } --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/samsung-laptop.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/samsung-laptop.c @@ -29,6 +29,7 @@ #if (defined CONFIG_ACPI_VIDEO || defined CONFIG_ACPI_VIDEO_MODULE) #include #endif +#include /* * This driver is needed because a number of Samsung laptops do not hook @@ -1517,6 +1518,9 @@ struct samsung_laptop *samsung; int ret; + if (efi_enabled) + return -ENODEV; + quirks = &samsung_unknown; if (!force && !dmi_check_system(samsung_dmi_table)) return -ENODEV; --- linux-lowlatency-3.5.0.orig/drivers/platform/x86/sony-laptop.c +++ linux-lowlatency-3.5.0/drivers/platform/x86/sony-laptop.c @@ -2802,6 +2802,10 @@ struct sonypi_event *events; }; +struct sony_pic_quirk_entry { + u8 set_wwan_power; +}; + struct sony_pic_dev { struct acpi_device *acpi_dev; struct sony_pic_irq *cur_irq; @@ -2812,6 +2816,7 @@ struct sonypi_eventtypes *event_types; int (*handle_irq)(const u8, const u8); int model; + struct sony_pic_quirk_entry *quirks; u16 evport_offset; u8 camera_power; u8 bluetooth_power; @@ -4246,6 +4251,12 @@ if (result) goto err_remove_pf; + if (spic_dev.quirks && spic_dev.quirks->set_wwan_power) { + /* + * Power isn't enabled by default. + */ + __sony_pic_set_wwanpower(1); + } return 0; err_remove_pf: @@ -4316,6 +4327,16 @@ }, }; +static struct sony_pic_quirk_entry sony_pic_vaio_vgn = { + .set_wwan_power = 1, +}; + +static int dmi_matched(const struct dmi_system_id *dmi) +{ + spic_dev.quirks = dmi->driver_data; + return 0; +} + static struct dmi_system_id __initdata sonypi_dmi_table[] = { { .ident = "Sony Vaio", @@ -4330,6 +4351,8 @@ DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), DMI_MATCH(DMI_PRODUCT_NAME, "VGN-"), }, + .callback = dmi_matched, + .driver_data = &sony_pic_vaio_vgn, }, { } }; --- linux-lowlatency-3.5.0.orig/drivers/pnp/isapnp/core.c +++ linux-lowlatency-3.5.0/drivers/pnp/isapnp/core.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include "../base.h" @@ -1001,7 +1002,7 @@ .disable = isapnp_disable_resources, }; -static int __init isapnp_init(void) +static int __init real_isapnp_init(void) { int cards; struct pnp_card *card; @@ -1095,6 +1096,15 @@ return 0; } +static void __init async_isapnp_init(void *unused, async_cookie_t cookie) +{ + (void)real_isapnp_init(); +} + +static int __init isapnp_init(void) +{ + async_schedule(async_isapnp_init, NULL); +} device_initcall(isapnp_init); /* format is: noisapnp */ --- linux-lowlatency-3.5.0.orig/drivers/rapidio/devices/tsi721.c +++ linux-lowlatency-3.5.0/drivers/rapidio/devices/tsi721.c @@ -435,6 +435,9 @@ " info %4.4x\n", DBELL_SID(idb.bytes), DBELL_TID(idb.bytes), DBELL_INF(idb.bytes)); } + + wr_ptr = ioread32(priv->regs + + TSI721_IDQ_WP(IDB_QUEUE)) % IDB_QSIZE; } iowrite32(rd_ptr & (IDB_QSIZE - 1), @@ -445,6 +448,10 @@ regval |= TSI721_SR_CHINT_IDBQRCV; iowrite32(regval, priv->regs + TSI721_SR_CHINTE(IDB_QUEUE)); + + wr_ptr = ioread32(priv->regs + TSI721_IDQ_WP(IDB_QUEUE)) % IDB_QSIZE; + if (wr_ptr != rd_ptr) + schedule_work(&priv->idb_work); } /** @@ -2212,7 +2219,7 @@ const struct pci_device_id *id) { struct tsi721_device *priv; - int i, cap; + int cap; int err; u32 regval; @@ -2232,12 +2239,15 @@ priv->pdev = pdev; #ifdef DEBUG + { + int i; for (i = 0; i <= PCI_STD_RESOURCE_END; i++) { dev_dbg(&pdev->dev, "res[%d] @ 0x%llx (0x%lx, 0x%lx)\n", i, (unsigned long long)pci_resource_start(pdev, i), (unsigned long)pci_resource_len(pdev, i), pci_resource_flags(pdev, i)); } + } #endif /* * Verify BAR configuration --- linux-lowlatency-3.5.0.orig/drivers/regulator/twl-regulator.c +++ linux-lowlatency-3.5.0/drivers/regulator/twl-regulator.c @@ -1065,7 +1065,7 @@ TWL6025_ADJUSTABLE_LDO(LDO6, 0x60, 1000, 3300); TWL6025_ADJUSTABLE_LDO(LDOLN, 0x64, 1000, 3300); TWL6025_ADJUSTABLE_LDO(LDOUSB, 0x70, 1000, 3300); -TWL4030_FIXED_LDO(VINTANA2, 0x3f, 1500, 11, 100, 0x08); +TWL4030_FIXED_LDO(VINTANA1, 0x3f, 1500, 11, 100, 0x08); TWL4030_FIXED_LDO(VINTDIG, 0x47, 1500, 13, 100, 0x08); TWL4030_FIXED_LDO(VUSB1V5, 0x71, 1500, 17, 100, 0x08); TWL4030_FIXED_LDO(VUSB1V8, 0x74, 1800, 18, 100, 0x08); @@ -1146,7 +1146,7 @@ TWL6025_OF_MATCH("ti,twl6025-ldo6", LDO6), TWL6025_OF_MATCH("ti,twl6025-ldoln", LDOLN), TWL6025_OF_MATCH("ti,twl6025-ldousb", LDOUSB), - TWLFIXED_OF_MATCH("ti,twl4030-vintana2", VINTANA2), + TWLFIXED_OF_MATCH("ti,twl4030-vintana1", VINTANA1), TWLFIXED_OF_MATCH("ti,twl4030-vintdig", VINTDIG), TWLFIXED_OF_MATCH("ti,twl4030-vusb1v5", VUSB1V5), TWLFIXED_OF_MATCH("ti,twl4030-vusb1v8", VUSB1V8), --- linux-lowlatency-3.5.0.orig/drivers/remoteproc/Kconfig +++ linux-lowlatency-3.5.0/drivers/remoteproc/Kconfig @@ -5,6 +5,7 @@ tristate depends on EXPERIMENTAL select FW_CONFIG + select VIRTIO config OMAP_REMOTEPROC tristate "OMAP remoteproc support" --- linux-lowlatency-3.5.0.orig/drivers/remoteproc/remoteproc_core.c +++ linux-lowlatency-3.5.0/drivers/remoteproc/remoteproc_core.c @@ -643,17 +643,10 @@ dev_dbg(dev, "carveout rsc: da %x, pa %x, len %x, flags %x\n", rsc->da, rsc->pa, rsc->len, rsc->flags); - mapping = kzalloc(sizeof(*mapping), GFP_KERNEL); - if (!mapping) { - dev_err(dev, "kzalloc mapping failed\n"); - return -ENOMEM; - } - carveout = kzalloc(sizeof(*carveout), GFP_KERNEL); if (!carveout) { dev_err(dev, "kzalloc carveout failed\n"); - ret = -ENOMEM; - goto free_mapping; + return -ENOMEM; } va = dma_alloc_coherent(dev, rsc->len, &dma, GFP_KERNEL); @@ -683,11 +676,18 @@ * physical address in this case. */ if (rproc->domain) { + mapping = kzalloc(sizeof(*mapping), GFP_KERNEL); + if (!mapping) { + dev_err(dev, "kzalloc mapping failed\n"); + ret = -ENOMEM; + goto dma_free; + } + ret = iommu_map(rproc->domain, rsc->da, dma, rsc->len, rsc->flags); if (ret) { dev_err(dev, "iommu_map failed: %d\n", ret); - goto dma_free; + goto free_mapping; } /* @@ -728,12 +728,12 @@ return 0; +free_mapping: + kfree(mapping); dma_free: dma_free_coherent(dev, rsc->len, va, dma); free_carv: kfree(carveout); -free_mapping: - kfree(mapping); return ret; } --- linux-lowlatency-3.5.0.orig/drivers/rtc/rtc-imxdi.c +++ linux-lowlatency-3.5.0/drivers/rtc/rtc-imxdi.c @@ -392,6 +392,8 @@ if (imxdi->ioaddr == NULL) return -ENOMEM; + spin_lock_init(&imxdi->irq_lock); + imxdi->irq = platform_get_irq(pdev, 0); if (imxdi->irq < 0) return imxdi->irq; --- linux-lowlatency-3.5.0.orig/drivers/rtc/rtc-rs5c348.c +++ linux-lowlatency-3.5.0/drivers/rtc/rtc-rs5c348.c @@ -122,9 +122,12 @@ tm->tm_min = bcd2bin(rxbuf[RS5C348_REG_MINS] & RS5C348_MINS_MASK); tm->tm_hour = bcd2bin(rxbuf[RS5C348_REG_HOURS] & RS5C348_HOURS_MASK); if (!pdata->rtc_24h) { - tm->tm_hour %= 12; - if (rxbuf[RS5C348_REG_HOURS] & RS5C348_BIT_PM) + if (rxbuf[RS5C348_REG_HOURS] & RS5C348_BIT_PM) { + tm->tm_hour -= 20; + tm->tm_hour %= 12; tm->tm_hour += 12; + } else + tm->tm_hour %= 12; } tm->tm_wday = bcd2bin(rxbuf[RS5C348_REG_WDAY] & RS5C348_WDAY_MASK); tm->tm_mday = bcd2bin(rxbuf[RS5C348_REG_DAY] & RS5C348_DAY_MASK); --- linux-lowlatency-3.5.0.orig/drivers/rtc/rtc-twl.c +++ linux-lowlatency-3.5.0/drivers/rtc/rtc-twl.c @@ -495,6 +495,11 @@ if (ret < 0) goto out1; + /* ensure interrupts are disabled, bootloaders can be strange */ + ret = twl_rtc_write_u8(0, REG_RTC_INTERRUPTS_REG); + if (ret < 0) + dev_warn(&pdev->dev, "unable to disable interrupt\n"); + /* init cached IRQ enable bits */ ret = twl_rtc_read_u8(&rtc_irq_bits, REG_RTC_INTERRUPTS_REG); if (ret < 0) --- linux-lowlatency-3.5.0.orig/drivers/rtc/rtc-wm831x.c +++ linux-lowlatency-3.5.0/drivers/rtc/rtc-wm831x.c @@ -24,7 +24,7 @@ #include #include #include - +#include /* * R16416 (0x4020) - RTC Write Counter @@ -96,6 +96,26 @@ unsigned int alarm_enabled:1; }; +static void wm831x_rtc_add_randomness(struct wm831x *wm831x) +{ + int ret; + u16 reg; + + /* + * The write counter contains a pseudo-random number which is + * regenerated every time we set the RTC so it should be a + * useful per-system source of entropy. + */ + ret = wm831x_reg_read(wm831x, WM831X_RTC_WRITE_COUNTER); + if (ret >= 0) { + reg = ret; + add_device_randomness(®, sizeof(reg)); + } else { + dev_warn(wm831x->dev, "Failed to read RTC write counter: %d\n", + ret); + } +} + /* * Read current time and date in RTC */ @@ -431,6 +451,8 @@ alm_irq, ret); } + wm831x_rtc_add_randomness(wm831x); + return 0; err: --- linux-lowlatency-3.5.0.orig/drivers/s390/net/qeth_l3_main.c +++ linux-lowlatency-3.5.0/drivers/s390/net/qeth_l3_main.c @@ -1760,6 +1760,8 @@ QETH_CARD_TEXT(card, 4, "frvaddr4"); netdev = __vlan_find_dev_deep(card->dev, vid); + if (!netdev) + return; in_dev = in_dev_get(netdev); if (!in_dev) return; @@ -1788,6 +1790,8 @@ QETH_CARD_TEXT(card, 4, "frvaddr6"); netdev = __vlan_find_dev_deep(card->dev, vid); + if (!netdev) + return; in6_dev = in6_dev_get(netdev); if (!in6_dev) return; --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_aux.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_aux.c @@ -519,6 +519,7 @@ rwlock_init(&port->unit_list_lock); INIT_LIST_HEAD(&port->unit_list); + atomic_set(&port->units, 0); INIT_WORK(&port->gid_pn_work, zfcp_fc_port_did_lookup); INIT_WORK(&port->test_link_work, zfcp_fc_link_test_work); --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_ccw.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_ccw.c @@ -39,17 +39,23 @@ spin_unlock_irqrestore(&zfcp_ccw_adapter_ref_lock, flags); } -static int zfcp_ccw_activate(struct ccw_device *cdev) - +/** + * zfcp_ccw_activate - activate adapter and wait for it to finish + * @cdev: pointer to belonging ccw device + * @clear: Status flags to clear. + * @tag: s390dbf trace record tag + */ +static int zfcp_ccw_activate(struct ccw_device *cdev, int clear, char *tag) { struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev); if (!adapter) return 0; + zfcp_erp_clear_adapter_status(adapter, clear); zfcp_erp_set_adapter_status(adapter, ZFCP_STATUS_COMMON_RUNNING); zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED, - "ccresu2"); + tag); zfcp_erp_wait(adapter); flush_work(&adapter->scan_work); @@ -164,26 +170,29 @@ BUG_ON(!zfcp_reqlist_isempty(adapter->req_list)); adapter->req_no = 0; - zfcp_ccw_activate(cdev); + zfcp_ccw_activate(cdev, 0, "ccsonl1"); zfcp_ccw_adapter_put(adapter); return 0; } /** - * zfcp_ccw_set_offline - set_offline function of zfcp driver + * zfcp_ccw_offline_sync - shut down adapter and wait for it to finish * @cdev: pointer to belonging ccw device + * @set: Status flags to set. + * @tag: s390dbf trace record tag * * This function gets called by the common i/o layer and sets an adapter * into state offline. */ -static int zfcp_ccw_set_offline(struct ccw_device *cdev) +static int zfcp_ccw_offline_sync(struct ccw_device *cdev, int set, char *tag) { struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev); if (!adapter) return 0; - zfcp_erp_adapter_shutdown(adapter, 0, "ccsoff1"); + zfcp_erp_set_adapter_status(adapter, set); + zfcp_erp_adapter_shutdown(adapter, 0, tag); zfcp_erp_wait(adapter); zfcp_ccw_adapter_put(adapter); @@ -191,6 +200,18 @@ } /** + * zfcp_ccw_set_offline - set_offline function of zfcp driver + * @cdev: pointer to belonging ccw device + * + * This function gets called by the common i/o layer and sets an adapter + * into state offline. + */ +static int zfcp_ccw_set_offline(struct ccw_device *cdev) +{ + return zfcp_ccw_offline_sync(cdev, 0, "ccsoff1"); +} + +/** * zfcp_ccw_notify - ccw notify function * @cdev: pointer to belonging ccw device * @event: indicates if adapter was detached or attached @@ -207,6 +228,11 @@ switch (event) { case CIO_GONE: + if (atomic_read(&adapter->status) & + ZFCP_STATUS_ADAPTER_SUSPENDED) { /* notification ignore */ + zfcp_dbf_hba_basic("ccnigo1", adapter); + break; + } dev_warn(&cdev->dev, "The FCP device has been detached\n"); zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti1"); break; @@ -216,6 +242,11 @@ zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti2"); break; case CIO_OPER: + if (atomic_read(&adapter->status) & + ZFCP_STATUS_ADAPTER_SUSPENDED) { /* notification ignore */ + zfcp_dbf_hba_basic("ccniop1", adapter); + break; + } dev_info(&cdev->dev, "The FCP device is operational again\n"); zfcp_erp_set_adapter_status(adapter, ZFCP_STATUS_COMMON_RUNNING); @@ -251,6 +282,28 @@ zfcp_ccw_adapter_put(adapter); } +static int zfcp_ccw_suspend(struct ccw_device *cdev) +{ + zfcp_ccw_offline_sync(cdev, ZFCP_STATUS_ADAPTER_SUSPENDED, "ccsusp1"); + return 0; +} + +static int zfcp_ccw_thaw(struct ccw_device *cdev) +{ + /* trace records for thaw and final shutdown during suspend + can only be found in system dump until the end of suspend + but not after resume because it's based on the memory image + right after the very first suspend (freeze) callback */ + zfcp_ccw_activate(cdev, 0, "ccthaw1"); + return 0; +} + +static int zfcp_ccw_resume(struct ccw_device *cdev) +{ + zfcp_ccw_activate(cdev, ZFCP_STATUS_ADAPTER_SUSPENDED, "ccresu1"); + return 0; +} + struct ccw_driver zfcp_ccw_driver = { .driver = { .owner = THIS_MODULE, @@ -263,7 +316,7 @@ .set_offline = zfcp_ccw_set_offline, .notify = zfcp_ccw_notify, .shutdown = zfcp_ccw_shutdown, - .freeze = zfcp_ccw_set_offline, - .thaw = zfcp_ccw_activate, - .restore = zfcp_ccw_activate, + .freeze = zfcp_ccw_suspend, + .thaw = zfcp_ccw_thaw, + .restore = zfcp_ccw_resume, }; --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_cfdc.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_cfdc.c @@ -293,7 +293,7 @@ } read_unlock_irqrestore(&adapter->port_list_lock, flags); - shost_for_each_device(sdev, port->adapter->scsi_host) { + shost_for_each_device(sdev, adapter->scsi_host) { zfcp_sdev = sdev_to_zfcp(sdev); status = atomic_read(&zfcp_sdev->status); if ((status & ZFCP_STATUS_COMMON_ACCESS_DENIED) || --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_dbf.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_dbf.c @@ -191,7 +191,7 @@ length = min((u16)sizeof(struct qdio_buffer), (u16)ZFCP_DBF_PAY_MAX_REC); - while ((char *)pl[payload->counter] && payload->counter < scount) { + while (payload->counter < scount && (char *)pl[payload->counter]) { memcpy(payload->data, (char *)pl[payload->counter], length); debug_event(dbf->pay, 1, payload, zfcp_dbf_plen(length)); payload->counter++; @@ -200,6 +200,26 @@ spin_unlock_irqrestore(&dbf->pay_lock, flags); } +/** + * zfcp_dbf_hba_basic - trace event for basic adapter events + * @adapter: pointer to struct zfcp_adapter + */ +void zfcp_dbf_hba_basic(char *tag, struct zfcp_adapter *adapter) +{ + struct zfcp_dbf *dbf = adapter->dbf; + struct zfcp_dbf_hba *rec = &dbf->hba_buf; + unsigned long flags; + + spin_lock_irqsave(&dbf->hba_lock, flags); + memset(rec, 0, sizeof(*rec)); + + memcpy(rec->tag, tag, ZFCP_DBF_TAG_LEN); + rec->id = ZFCP_DBF_HBA_BASIC; + + debug_event(dbf->hba, 1, rec, sizeof(*rec)); + spin_unlock_irqrestore(&dbf->hba_lock, flags); +} + static void zfcp_dbf_set_common(struct zfcp_dbf_rec *rec, struct zfcp_adapter *adapter, struct zfcp_port *port, --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_dbf.h +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_dbf.h @@ -154,6 +154,7 @@ ZFCP_DBF_HBA_RES = 1, ZFCP_DBF_HBA_USS = 2, ZFCP_DBF_HBA_BIT = 3, + ZFCP_DBF_HBA_BASIC = 4, }; /** --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_def.h +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_def.h @@ -77,6 +77,7 @@ #define ZFCP_STATUS_ADAPTER_SIOSL_ISSUED 0x00000004 #define ZFCP_STATUS_ADAPTER_XCONFIG_OK 0x00000008 #define ZFCP_STATUS_ADAPTER_HOST_CON_INIT 0x00000010 +#define ZFCP_STATUS_ADAPTER_SUSPENDED 0x00000040 #define ZFCP_STATUS_ADAPTER_ERP_PENDING 0x00000100 #define ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED 0x00000200 #define ZFCP_STATUS_ADAPTER_DATA_DIV_ENABLED 0x00000400 @@ -204,6 +205,7 @@ struct zfcp_adapter *adapter; /* adapter used to access port */ struct list_head unit_list; /* head of logical unit list */ rwlock_t unit_list_lock; /* unit list lock */ + atomic_t units; /* zfcp_unit count */ atomic_t status; /* status of this remote port */ u64 wwnn; /* WWNN if known */ u64 wwpn; /* WWPN */ --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_ext.h +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_ext.h @@ -54,6 +54,7 @@ extern void zfcp_dbf_hba_bit_err(char *, struct zfcp_fsf_req *); extern void zfcp_dbf_hba_berr(struct zfcp_dbf *, struct zfcp_fsf_req *); extern void zfcp_dbf_hba_def_err(struct zfcp_adapter *, u64, u16, void **); +extern void zfcp_dbf_hba_basic(char *, struct zfcp_adapter *); extern void zfcp_dbf_san_req(char *, struct zfcp_fsf_req *, u32); extern void zfcp_dbf_san_res(char *, struct zfcp_fsf_req *); extern void zfcp_dbf_san_in_els(char *, struct zfcp_fsf_req *); @@ -158,6 +159,7 @@ extern struct attribute_group zfcp_sysfs_unit_attrs; extern struct attribute_group zfcp_sysfs_adapter_attrs; extern struct attribute_group zfcp_sysfs_port_attrs; +extern struct mutex zfcp_sysfs_port_units_mutex; extern struct device_attribute *zfcp_sysfs_sdev_attrs[]; extern struct device_attribute *zfcp_sysfs_shost_attrs[]; --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_fsf.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_fsf.c @@ -219,7 +219,7 @@ return; } - zfcp_dbf_hba_fsf_uss("fssrh_2", req); + zfcp_dbf_hba_fsf_uss("fssrh_4", req); switch (sr_buf->status_type) { case FSF_STATUS_READ_PORT_CLOSED: @@ -437,6 +437,34 @@ } } +#define ZFCP_FSF_PORTSPEED_1GBIT (1 << 0) +#define ZFCP_FSF_PORTSPEED_2GBIT (1 << 1) +#define ZFCP_FSF_PORTSPEED_4GBIT (1 << 2) +#define ZFCP_FSF_PORTSPEED_10GBIT (1 << 3) +#define ZFCP_FSF_PORTSPEED_8GBIT (1 << 4) +#define ZFCP_FSF_PORTSPEED_16GBIT (1 << 5) +#define ZFCP_FSF_PORTSPEED_NOT_NEGOTIATED (1 << 15) + +static u32 zfcp_fsf_convert_portspeed(u32 fsf_speed) +{ + u32 fdmi_speed = 0; + if (fsf_speed & ZFCP_FSF_PORTSPEED_1GBIT) + fdmi_speed |= FC_PORTSPEED_1GBIT; + if (fsf_speed & ZFCP_FSF_PORTSPEED_2GBIT) + fdmi_speed |= FC_PORTSPEED_2GBIT; + if (fsf_speed & ZFCP_FSF_PORTSPEED_4GBIT) + fdmi_speed |= FC_PORTSPEED_4GBIT; + if (fsf_speed & ZFCP_FSF_PORTSPEED_10GBIT) + fdmi_speed |= FC_PORTSPEED_10GBIT; + if (fsf_speed & ZFCP_FSF_PORTSPEED_8GBIT) + fdmi_speed |= FC_PORTSPEED_8GBIT; + if (fsf_speed & ZFCP_FSF_PORTSPEED_16GBIT) + fdmi_speed |= FC_PORTSPEED_16GBIT; + if (fsf_speed & ZFCP_FSF_PORTSPEED_NOT_NEGOTIATED) + fdmi_speed |= FC_PORTSPEED_NOT_NEGOTIATED; + return fdmi_speed; +} + static int zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *req) { struct fsf_qtcb_bottom_config *bottom = &req->qtcb->bottom.config; @@ -456,7 +484,8 @@ fc_host_port_name(shost) = nsp->fl_wwpn; fc_host_node_name(shost) = nsp->fl_wwnn; fc_host_port_id(shost) = ntoh24(bottom->s_id); - fc_host_speed(shost) = bottom->fc_link_speed; + fc_host_speed(shost) = + zfcp_fsf_convert_portspeed(bottom->fc_link_speed); fc_host_supported_classes(shost) = FC_COS_CLASS2 | FC_COS_CLASS3; adapter->hydra_version = bottom->adapter_type; @@ -580,7 +609,8 @@ } else fc_host_permanent_port_name(shost) = fc_host_port_name(shost); fc_host_maxframe_size(shost) = bottom->maximum_frame_size; - fc_host_supported_speeds(shost) = bottom->supported_speed; + fc_host_supported_speeds(shost) = + zfcp_fsf_convert_portspeed(bottom->supported_speed); memcpy(fc_host_supported_fc4s(shost), bottom->supported_fc4_types, FC_FC4_LIST_SIZE); memcpy(fc_host_active_fc4s(shost), bottom->active_fc4_types, @@ -771,12 +801,14 @@ static void zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *req) { struct scsi_device *sdev = req->data; - struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(sdev); + struct zfcp_scsi_dev *zfcp_sdev; union fsf_status_qual *fsq = &req->qtcb->header.fsf_status_qual; if (req->status & ZFCP_STATUS_FSFREQ_ERROR) return; + zfcp_sdev = sdev_to_zfcp(sdev); + switch (req->qtcb->header.fsf_status) { case FSF_PORT_HANDLE_NOT_VALID: if (fsq->word[0] == fsq->word[1]) { @@ -885,7 +917,7 @@ switch (header->fsf_status) { case FSF_GOOD: - zfcp_dbf_san_res("fsscth1", req); + zfcp_dbf_san_res("fsscth2", req); ct->status = 0; break; case FSF_SERVICE_CLASS_NOT_SUPPORTED: @@ -1739,13 +1771,15 @@ { struct zfcp_adapter *adapter = req->adapter; struct scsi_device *sdev = req->data; - struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(sdev); + struct zfcp_scsi_dev *zfcp_sdev; struct fsf_qtcb_header *header = &req->qtcb->header; struct fsf_qtcb_bottom_support *bottom = &req->qtcb->bottom.support; if (req->status & ZFCP_STATUS_FSFREQ_ERROR) return; + zfcp_sdev = sdev_to_zfcp(sdev); + atomic_clear_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED | ZFCP_STATUS_COMMON_ACCESS_BOXED | ZFCP_STATUS_LUN_SHARED | @@ -1856,11 +1890,13 @@ static void zfcp_fsf_close_lun_handler(struct zfcp_fsf_req *req) { struct scsi_device *sdev = req->data; - struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(sdev); + struct zfcp_scsi_dev *zfcp_sdev; if (req->status & ZFCP_STATUS_FSFREQ_ERROR) return; + zfcp_sdev = sdev_to_zfcp(sdev); + switch (req->qtcb->header.fsf_status) { case FSF_PORT_HANDLE_NOT_VALID: zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0, "fscuh_1"); @@ -1950,7 +1986,7 @@ { struct fsf_qual_latency_info *lat_in; struct latency_cont *lat = NULL; - struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(scsi->device); + struct zfcp_scsi_dev *zfcp_sdev; struct zfcp_blk_drv_data blktrc; int ticks = req->adapter->timer_ticks; @@ -1965,6 +2001,7 @@ if (req->adapter->adapter_features & FSF_FEATURE_MEASUREMENT_DATA && !(req->status & ZFCP_STATUS_FSFREQ_ERROR)) { + zfcp_sdev = sdev_to_zfcp(scsi->device); blktrc.flags |= ZFCP_BLK_LAT_VALID; blktrc.channel_lat = lat_in->channel_lat * ticks; blktrc.fabric_lat = lat_in->fabric_lat * ticks; @@ -2002,12 +2039,14 @@ { struct scsi_cmnd *scmnd = req->data; struct scsi_device *sdev = scmnd->device; - struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(sdev); + struct zfcp_scsi_dev *zfcp_sdev; struct fsf_qtcb_header *header = &req->qtcb->header; if (unlikely(req->status & ZFCP_STATUS_FSFREQ_ERROR)) return; + zfcp_sdev = sdev_to_zfcp(sdev); + switch (header->fsf_status) { case FSF_HANDLE_MISMATCH: case FSF_PORT_HANDLE_NOT_VALID: --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_qdio.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_qdio.c @@ -102,18 +102,22 @@ { struct zfcp_qdio *qdio = (struct zfcp_qdio *) parm; struct zfcp_adapter *adapter = qdio->adapter; - struct qdio_buffer_element *sbale; int sbal_no, sbal_idx; - void *pl[ZFCP_QDIO_MAX_SBALS_PER_REQ + 1]; - u64 req_id; - u8 scount; if (unlikely(qdio_err)) { - memset(pl, 0, ZFCP_QDIO_MAX_SBALS_PER_REQ * sizeof(void *)); if (zfcp_adapter_multi_buffer_active(adapter)) { + void *pl[ZFCP_QDIO_MAX_SBALS_PER_REQ + 1]; + struct qdio_buffer_element *sbale; + u64 req_id; + u8 scount; + + memset(pl, 0, + ZFCP_QDIO_MAX_SBALS_PER_REQ * sizeof(void *)); sbale = qdio->res_q[idx]->element; req_id = (u64) sbale->addr; - scount = sbale->scount + 1; /* incl. signaling SBAL */ + scount = min(sbale->scount + 1, + ZFCP_QDIO_MAX_SBALS_PER_REQ + 1); + /* incl. signaling SBAL */ for (sbal_no = 0; sbal_no < scount; sbal_no++) { sbal_idx = (idx + sbal_no) % --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_sysfs.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_sysfs.c @@ -227,6 +227,8 @@ static ZFCP_DEV_ATTR(adapter, port_rescan, S_IWUSR, NULL, zfcp_sysfs_port_rescan_store); +DEFINE_MUTEX(zfcp_sysfs_port_units_mutex); + static ssize_t zfcp_sysfs_port_remove_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) @@ -249,6 +251,16 @@ else retval = 0; + mutex_lock(&zfcp_sysfs_port_units_mutex); + if (atomic_read(&port->units) > 0) { + retval = -EBUSY; + mutex_unlock(&zfcp_sysfs_port_units_mutex); + goto out; + } + /* port is about to be removed, so no more unit_add */ + atomic_set(&port->units, -1); + mutex_unlock(&zfcp_sysfs_port_units_mutex); + write_lock_irq(&adapter->port_list_lock); list_del(&port->list); write_unlock_irq(&adapter->port_list_lock); @@ -289,12 +301,14 @@ { struct zfcp_port *port = container_of(dev, struct zfcp_port, dev); u64 fcp_lun; + int retval; if (strict_strtoull(buf, 0, (unsigned long long *) &fcp_lun)) return -EINVAL; - if (zfcp_unit_add(port, fcp_lun)) - return -EINVAL; + retval = zfcp_unit_add(port, fcp_lun); + if (retval) + return retval; return count; } --- linux-lowlatency-3.5.0.orig/drivers/s390/scsi/zfcp_unit.c +++ linux-lowlatency-3.5.0/drivers/s390/scsi/zfcp_unit.c @@ -104,7 +104,7 @@ { struct zfcp_unit *unit = container_of(dev, struct zfcp_unit, dev); - put_device(&unit->port->dev); + atomic_dec(&unit->port->units); kfree(unit); } @@ -119,16 +119,27 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun) { struct zfcp_unit *unit; + int retval = 0; + + mutex_lock(&zfcp_sysfs_port_units_mutex); + if (atomic_read(&port->units) == -1) { + /* port is already gone */ + retval = -ENODEV; + goto out; + } unit = zfcp_unit_find(port, fcp_lun); if (unit) { put_device(&unit->dev); - return -EEXIST; + retval = -EEXIST; + goto out; } unit = kzalloc(sizeof(struct zfcp_unit), GFP_KERNEL); - if (!unit) - return -ENOMEM; + if (!unit) { + retval = -ENOMEM; + goto out; + } unit->port = port; unit->fcp_lun = fcp_lun; @@ -139,28 +150,33 @@ if (dev_set_name(&unit->dev, "0x%016llx", (unsigned long long) fcp_lun)) { kfree(unit); - return -ENOMEM; + retval = -ENOMEM; + goto out; } - get_device(&port->dev); - if (device_register(&unit->dev)) { put_device(&unit->dev); - return -ENOMEM; + retval = -ENOMEM; + goto out; } if (sysfs_create_group(&unit->dev.kobj, &zfcp_sysfs_unit_attrs)) { device_unregister(&unit->dev); - return -EINVAL; + retval = -EINVAL; + goto out; } + atomic_inc(&port->units); /* under zfcp_sysfs_port_units_mutex ! */ + write_lock_irq(&port->unit_list_lock); list_add_tail(&unit->list, &port->unit_list); write_unlock_irq(&port->unit_list_lock); zfcp_unit_scsi_scan(unit); - return 0; +out: + mutex_unlock(&zfcp_sysfs_port_units_mutex); + return retval; } /** --- linux-lowlatency-3.5.0.orig/drivers/scsi/atp870u.c +++ linux-lowlatency-3.5.0/drivers/scsi/atp870u.c @@ -1173,7 +1173,16 @@ outw(val, tmport); outb(2, 0x80); TCM_SYNC: - udelay(0x800); + /* + * The funny division into multiple delays is to accomodate + * arches like ARM where udelay() multiplies its argument by + * a large number to initialize a loop counter. To avoid + * overflow, the maximum supported udelay is 2000 microseconds. + * + * XXX it would be more polite to find a way to use msleep() + */ + mdelay(2); + udelay(48); if ((inb(tmport) & 0x80) == 0x00) { /* bsy ? */ outw(0, tmport--); outb(0, tmport); --- linux-lowlatency-3.5.0.orig/drivers/scsi/hosts.c +++ linux-lowlatency-3.5.0/drivers/scsi/hosts.c @@ -290,6 +290,7 @@ struct Scsi_Host *shost = dev_to_shost(dev); struct device *parent = dev->parent; struct request_queue *q; + void *queuedata; scsi_proc_hostdir_rm(shost->hostt); @@ -299,9 +300,9 @@ destroy_workqueue(shost->work_q); q = shost->uspace_req_q; if (q) { - kfree(q->queuedata); - q->queuedata = NULL; - scsi_free_queue(q); + queuedata = q->queuedata; + blk_cleanup_queue(q); + kfree(queuedata); } scsi_destroy_command_freelist(shost); --- linux-lowlatency-3.5.0.orig/drivers/scsi/hpsa.c +++ linux-lowlatency-3.5.0/drivers/scsi/hpsa.c @@ -99,6 +99,15 @@ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSF, 0x103C, 0x3354}, {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSF, 0x103C, 0x3355}, {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSF, 0x103C, 0x3356}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1920}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1921}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1922}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1923}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1924}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1925}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1926}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSH, 0x103C, 0x1928}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSF, 0x103C, 0x334d}, {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, {0,} @@ -118,13 +127,22 @@ {0x3249103C, "Smart Array P812", &SA5_access}, {0x324a103C, "Smart Array P712m", &SA5_access}, {0x324b103C, "Smart Array P711m", &SA5_access}, - {0x3350103C, "Smart Array", &SA5_access}, - {0x3351103C, "Smart Array", &SA5_access}, - {0x3352103C, "Smart Array", &SA5_access}, - {0x3353103C, "Smart Array", &SA5_access}, - {0x3354103C, "Smart Array", &SA5_access}, - {0x3355103C, "Smart Array", &SA5_access}, - {0x3356103C, "Smart Array", &SA5_access}, + {0x3350103C, "Smart Array P222", &SA5_access}, + {0x3351103C, "Smart Array P420", &SA5_access}, + {0x3352103C, "Smart Array P421", &SA5_access}, + {0x3353103C, "Smart Array P822", &SA5_access}, + {0x3354103C, "Smart Array P420i", &SA5_access}, + {0x3355103C, "Smart Array P220i", &SA5_access}, + {0x3356103C, "Smart Array P721m", &SA5_access}, + {0x1920103C, "Smart Array", &SA5_access}, + {0x1921103C, "Smart Array", &SA5_access}, + {0x1922103C, "Smart Array", &SA5_access}, + {0x1923103C, "Smart Array", &SA5_access}, + {0x1924103C, "Smart Array", &SA5_access}, + {0x1925103C, "Smart Array", &SA5_access}, + {0x1926103C, "Smart Array", &SA5_access}, + {0x1928103C, "Smart Array", &SA5_access}, + {0x334d103C, "Smart Array P822se", &SA5_access}, {0xFFFF103C, "Unknown Smart Array", &SA5_access}, }; @@ -1315,8 +1333,9 @@ } break; case CMD_PROTOCOL_ERR: + cmd->result = DID_ERROR << 16; dev_warn(&h->pdev->dev, "cp %p has " - "protocol error \n", cp); + "protocol error\n", cp); break; case CMD_HARDWARE_ERR: cmd->result = DID_ERROR << 16; @@ -3265,7 +3284,7 @@ c->Request.Timeout = 0; /* Don't time out */ memset(&c->Request.CDB[0], 0, sizeof(c->Request.CDB)); c->Request.CDB[0] = cmd; - c->Request.CDB[1] = 0x03; /* Reset target above */ + c->Request.CDB[1] = HPSA_RESET_TYPE_LUN; /* If bytes 4-7 are zero, it means reset the */ /* LunID device */ c->Request.CDB[4] = 0x00; --- linux-lowlatency-3.5.0.orig/drivers/scsi/scsi_debug.c +++ linux-lowlatency-3.5.0/drivers/scsi/scsi_debug.c @@ -2054,7 +2054,7 @@ block = lba + alignment; rem = do_div(block, granularity); - if (rem == 0 && lba + granularity <= end && block < map_size) { + if (rem == 0 && lba + granularity < end && block < map_size) { clear_bit(block, map_storep); if (scsi_debug_lbprz) memset(fake_storep + --- linux-lowlatency-3.5.0.orig/drivers/scsi/scsi_error.c +++ linux-lowlatency-3.5.0/drivers/scsi/scsi_error.c @@ -42,6 +42,8 @@ #include +static void scsi_eh_done(struct scsi_cmnd *scmd); + #define SENSE_TIMEOUT (10*HZ) /* @@ -241,6 +243,14 @@ if (! scsi_command_normalize_sense(scmd, &sshdr)) return FAILED; /* no valid sense data */ + if (scmd->cmnd[0] == TEST_UNIT_READY && scmd->scsi_done != scsi_eh_done) + /* + * nasty: for mid-layer issued TURs, we need to return the + * actual sense data without any recovery attempt. For eh + * issued ones, we need to try to recover and interpret + */ + return SUCCESS; + if (scsi_sense_is_deferred(&sshdr)) return NEEDS_RETRY; @@ -1687,6 +1697,20 @@ * requests are started. */ scsi_run_host_queues(shost); + + /* + * if eh is active and host_eh_scheduled is pending we need to re-run + * recovery. we do this check after scsi_run_host_queues() to allow + * everything pent up since the last eh run a chance to make forward + * progress before we sync again. Either we'll immediately re-run + * recovery or scsi_device_unbusy() will wake us again when these + * pending commands complete. + */ + spin_lock_irqsave(shost->host_lock, flags); + if (shost->host_eh_scheduled) + if (scsi_host_set_state(shost, SHOST_RECOVERY)) + WARN_ON(scsi_host_set_state(shost, SHOST_CANCEL_RECOVERY)); + spin_unlock_irqrestore(shost->host_lock, flags); } /** --- linux-lowlatency-3.5.0.orig/drivers/scsi/scsi_lib.c +++ linux-lowlatency-3.5.0/drivers/scsi/scsi_lib.c @@ -406,10 +406,6 @@ LIST_HEAD(starved_list); unsigned long flags; - /* if the device is dead, sdev will be NULL, so no queue to run */ - if (!sdev) - return; - shost = sdev->host; if (scsi_target(sdev)->single_lun) scsi_single_lun_run(sdev); @@ -483,15 +479,26 @@ */ static void scsi_requeue_command(struct request_queue *q, struct scsi_cmnd *cmd) { + struct scsi_device *sdev = cmd->device; struct request *req = cmd->request; unsigned long flags; + /* + * We need to hold a reference on the device to avoid the queue being + * killed after the unlock and before scsi_run_queue is invoked which + * may happen because scsi_unprep_request() puts the command which + * releases its reference on the device. + */ + get_device(&sdev->sdev_gendev); + spin_lock_irqsave(q->queue_lock, flags); scsi_unprep_request(req); blk_requeue_request(q, req); spin_unlock_irqrestore(q->queue_lock, flags); scsi_run_queue(q); + + put_device(&sdev->sdev_gendev); } void scsi_next_command(struct scsi_cmnd *cmd) @@ -753,7 +760,6 @@ } if (req->cmd_type == REQ_TYPE_BLOCK_PC) { /* SG_IO ioctl from block level */ - req->errors = result; if (result) { if (sense_valid && req->sense) { /* @@ -769,6 +775,10 @@ if (!sense_deferred) error = __scsi_error_from_host_byte(cmd, result); } + /* + * __scsi_error_from_host_byte may have reset the host_byte + */ + req->errors = cmd->result; req->resid_len = scsi_get_resid(cmd); @@ -1370,16 +1380,16 @@ * may be changed after request stacking drivers call the function, * regardless of taking lock or not. * - * When scsi can't dispatch I/Os anymore and needs to kill I/Os - * (e.g. !sdev), scsi needs to return 'not busy'. - * Otherwise, request stacking drivers may hold requests forever. + * When scsi can't dispatch I/Os anymore and needs to kill I/Os scsi + * needs to return 'not busy'. Otherwise, request stacking drivers + * may hold requests forever. */ static int scsi_lld_busy(struct request_queue *q) { struct scsi_device *sdev = q->queuedata; struct Scsi_Host *shost; - if (!sdev) + if (blk_queue_dead(q)) return 0; shost = sdev->host; @@ -1490,12 +1500,6 @@ struct scsi_cmnd *cmd; struct request *req; - if (!sdev) { - while ((req = blk_peek_request(q)) != NULL) - scsi_kill_request(req, q); - return; - } - if(!get_device(&sdev->sdev_gendev)) /* We must be tearing the block queue down already */ return; @@ -1697,20 +1701,6 @@ return q; } -void scsi_free_queue(struct request_queue *q) -{ - unsigned long flags; - - WARN_ON(q->queuedata); - - /* cause scsi_request_fn() to kill all non-finished requests */ - spin_lock_irqsave(q->queue_lock, flags); - q->request_fn(q); - spin_unlock_irqrestore(q->queue_lock, flags); - - blk_cleanup_queue(q); -} - /* * Function: scsi_block_requests() * --- linux-lowlatency-3.5.0.orig/drivers/scsi/scsi_priv.h +++ linux-lowlatency-3.5.0/drivers/scsi/scsi_priv.h @@ -84,7 +84,6 @@ extern void scsi_io_completion(struct scsi_cmnd *, unsigned int); extern void scsi_run_host_queues(struct Scsi_Host *shost); extern struct request_queue *scsi_alloc_queue(struct scsi_device *sdev); -extern void scsi_free_queue(struct request_queue *q); extern int scsi_init_queue(void); extern void scsi_exit_queue(void); struct request_queue; --- linux-lowlatency-3.5.0.orig/drivers/scsi/scsi_scan.c +++ linux-lowlatency-3.5.0/drivers/scsi/scsi_scan.c @@ -779,6 +779,16 @@ sdev->model = (char *) (sdev->inquiry + 16); sdev->rev = (char *) (sdev->inquiry + 32); + if (strncmp(sdev->vendor, "ATA ", 8) == 0) { + /* + * sata emulation layer device. This is a hack to work around + * the SATL power management specifications which state that + * when the SATL detects the device has gone into standby + * mode, it shall respond with NOT READY. + */ + sdev->allow_restart = 1; + } + if (*bflags & BLIST_ISROM) { sdev->type = TYPE_ROM; sdev->removable = 1; @@ -1717,6 +1727,9 @@ { struct scsi_device *sdev; shost_for_each_device(sdev, shost) { + /* target removed before the device could be added */ + if (sdev->sdev_state == SDEV_DEL) + continue; if (!scsi_host_scan_allowed(shost) || scsi_sysfs_add_sdev(sdev) != 0) __scsi_remove_device(sdev); --- linux-lowlatency-3.5.0.orig/drivers/scsi/scsi_sysfs.c +++ linux-lowlatency-3.5.0/drivers/scsi/scsi_sysfs.c @@ -971,11 +971,8 @@ sdev->host->hostt->slave_destroy(sdev); transport_destroy_device(dev); - /* cause the request function to reject all I/O requests */ - sdev->request_queue->queuedata = NULL; - /* Freeing the queue signals to block that we're done */ - scsi_free_queue(sdev->request_queue); + blk_cleanup_queue(sdev->request_queue); put_device(dev); } @@ -1000,7 +997,6 @@ struct scsi_device *sdev; spin_lock_irqsave(shost->host_lock, flags); - starget->reap_ref++; restart: list_for_each_entry(sdev, &shost->__devices, siblings) { if (sdev->channel != starget->channel || @@ -1014,14 +1010,6 @@ goto restart; } spin_unlock_irqrestore(shost->host_lock, flags); - scsi_target_reap(starget); -} - -static int __remove_child (struct device * dev, void * data) -{ - if (scsi_is_target_device(dev)) - __scsi_remove_target(to_scsi_target(dev)); - return 0; } /** @@ -1034,14 +1022,32 @@ */ void scsi_remove_target(struct device *dev) { - if (scsi_is_target_device(dev)) { - __scsi_remove_target(to_scsi_target(dev)); - return; + struct Scsi_Host *shost = dev_to_shost(dev->parent); + struct scsi_target *starget, *last = NULL; + unsigned long flags; + + /* remove targets being careful to lookup next entry before + * deleting the last + */ + spin_lock_irqsave(shost->host_lock, flags); + list_for_each_entry(starget, &shost->__targets, siblings) { + if (starget->state == STARGET_DEL) + continue; + if (starget->dev.parent == dev || &starget->dev == dev) { + /* assuming new targets arrive at the end */ + starget->reap_ref++; + spin_unlock_irqrestore(shost->host_lock, flags); + if (last) + scsi_target_reap(last); + last = starget; + __scsi_remove_target(starget); + spin_lock_irqsave(shost->host_lock, flags); + } } + spin_unlock_irqrestore(shost->host_lock, flags); - get_device(dev); - device_for_each_child(dev, NULL, __remove_child); - put_device(dev); + if (last) + scsi_target_reap(last); } EXPORT_SYMBOL(scsi_remove_target); --- linux-lowlatency-3.5.0.orig/drivers/scsi/storvsc_drv.c +++ linux-lowlatency-3.5.0/drivers/scsi/storvsc_drv.c @@ -1221,7 +1221,12 @@ /* * At this point, all outstanding requests in the adapter * should have been flushed out and return to us + * There is a potential race here where the host may be in + * the process of responding when we return from here. + * Just wait for all in-transit packets to be accounted for + * before we return from here. */ + storvsc_wait_to_drain(stor_device); return SUCCESS; } --- linux-lowlatency-3.5.0.orig/drivers/scsi/virtio_scsi.c +++ linux-lowlatency-3.5.0/drivers/scsi/virtio_scsi.c @@ -198,7 +198,7 @@ int i; for_each_sg(table->sgl, sg_elem, table->nents, i) - sg_set_buf(&sg[idx++], sg_virt(sg_elem), sg_elem->length); + sg[idx++] = *sg_elem; *p_idx = idx; } --- linux-lowlatency-3.5.0.orig/drivers/scsi/bnx2i/bnx2i_hwi.c +++ linux-lowlatency-3.5.0/drivers/scsi/bnx2i/bnx2i_hwi.c @@ -1264,6 +1264,9 @@ int rc = 0; u64 mask64; + memset(&iscsi_init, 0x00, sizeof(struct iscsi_kwqe_init1)); + memset(&iscsi_init2, 0x00, sizeof(struct iscsi_kwqe_init2)); + bnx2i_adjust_qp_size(hba); iscsi_init.flags = --- linux-lowlatency-3.5.0.orig/drivers/scsi/device_handler/scsi_dh_alua.c +++ linux-lowlatency-3.5.0/drivers/scsi/device_handler/scsi_dh_alua.c @@ -590,8 +590,7 @@ h->state = TPGS_STATE_STANDBY; break; case TPGS_STATE_OFFLINE: - case TPGS_STATE_UNAVAILABLE: - /* Path unusable for unavailable/offline */ + /* Path unusable */ err = SCSI_DH_DEV_OFFLINED; break; default: --- linux-lowlatency-3.5.0.orig/drivers/scsi/ibmvscsi/ibmvscsi.c +++ linux-lowlatency-3.5.0/drivers/scsi/ibmvscsi/ibmvscsi.c @@ -1541,6 +1541,9 @@ host_config = &evt_struct->iu.mad.host_config; + /* The transport length field is only 16-bit */ + length = min(0xffff, length); + /* Set up a lun reset SRP command */ memset(host_config, 0x00, sizeof(*host_config)); host_config->common.type = VIOSRP_HOST_CONFIG_TYPE; --- linux-lowlatency-3.5.0.orig/drivers/scsi/isci/init.c +++ linux-lowlatency-3.5.0/drivers/scsi/isci/init.c @@ -641,7 +641,6 @@ orom->hdr.version)) { dev_warn(&pdev->dev, "[%d]: invalid oem parameters detected, falling back to firmware\n", i); - devm_kfree(&pdev->dev, orom); orom = NULL; break; } --- linux-lowlatency-3.5.0.orig/drivers/scsi/isci/probe_roms.c +++ linux-lowlatency-3.5.0/drivers/scsi/isci/probe_roms.c @@ -104,7 +104,6 @@ if (i >= len) { dev_err(&pdev->dev, "oprom parse error\n"); - devm_kfree(&pdev->dev, rom); rom = NULL; } pci_unmap_biosrom(oprom); --- linux-lowlatency-3.5.0.orig/drivers/scsi/isci/request.c +++ linux-lowlatency-3.5.0/drivers/scsi/isci/request.c @@ -1972,7 +1972,7 @@ frame_index, (void **)&frame_buffer); - sci_controller_copy_sata_response(&ireq->stp.req, + sci_controller_copy_sata_response(&ireq->stp.rsp, frame_header, frame_buffer); --- linux-lowlatency-3.5.0.orig/drivers/scsi/libsas/sas_expander.c +++ linux-lowlatency-3.5.0/drivers/scsi/libsas/sas_expander.c @@ -868,7 +868,7 @@ } /* See if this phy is part of a wide port */ -static int sas_ex_join_wide_port(struct domain_device *parent, int phy_id) +static bool sas_ex_join_wide_port(struct domain_device *parent, int phy_id) { struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id]; int i; @@ -884,11 +884,11 @@ sas_port_add_phy(ephy->port, phy->phy); phy->port = ephy->port; phy->phy_state = PHY_DEVICE_DISCOVERED; - return 0; + return true; } } - return -ENODEV; + return false; } static struct domain_device *sas_ex_discover_expander( @@ -1030,8 +1030,7 @@ return res; } - res = sas_ex_join_wide_port(dev, phy_id); - if (!res) { + if (sas_ex_join_wide_port(dev, phy_id)) { SAS_DPRINTK("Attaching ex phy%d to wide port %016llx\n", phy_id, SAS_ADDR(ex_phy->attached_sas_addr)); return res; @@ -1077,8 +1076,7 @@ if (SAS_ADDR(ex->ex_phy[i].attached_sas_addr) == SAS_ADDR(child->sas_addr)) { ex->ex_phy[i].phy_state= PHY_DEVICE_DISCOVERED; - res = sas_ex_join_wide_port(dev, i); - if (!res) + if (sas_ex_join_wide_port(dev, i)) SAS_DPRINTK("Attaching ex phy%d to wide port %016llx\n", i, SAS_ADDR(ex->ex_phy[i].attached_sas_addr)); @@ -1943,32 +1941,20 @@ { struct ex_phy *ex_phy = &dev->ex_dev.ex_phy[phy_id]; struct domain_device *child; - bool found = false; - int res, i; + int res; SAS_DPRINTK("ex %016llx phy%d new device attached\n", SAS_ADDR(dev->sas_addr), phy_id); res = sas_ex_phy_discover(dev, phy_id); if (res) - goto out; - /* to support the wide port inserted */ - for (i = 0; i < dev->ex_dev.num_phys; i++) { - struct ex_phy *ex_phy_temp = &dev->ex_dev.ex_phy[i]; - if (i == phy_id) - continue; - if (SAS_ADDR(ex_phy_temp->attached_sas_addr) == - SAS_ADDR(ex_phy->attached_sas_addr)) { - found = true; - break; - } - } - if (found) { - sas_ex_join_wide_port(dev, phy_id); + return res; + + if (sas_ex_join_wide_port(dev, phy_id)) return 0; - } + res = sas_ex_discover_devices(dev, phy_id); - if (!res) - goto out; + if (res) + return res; list_for_each_entry(child, &dev->ex_dev.children, siblings) { if (SAS_ADDR(child->sas_addr) == SAS_ADDR(ex_phy->attached_sas_addr)) { @@ -1978,7 +1964,6 @@ break; } } -out: return res; } @@ -2109,9 +2094,7 @@ struct domain_device *dev = NULL; res = sas_find_bcast_dev(port_dev, &dev); - if (res) - goto out; - if (dev) { + while (res == 0 && dev) { struct expander_device *ex = &dev->ex_dev; int i = 0, phy_id; @@ -2123,8 +2106,10 @@ res = sas_rediscover(dev, phy_id); i = phy_id + 1; } while (i < ex->num_phys); + + dev = NULL; + res = sas_find_bcast_dev(port_dev, &dev); } -out: return res; } --- linux-lowlatency-3.5.0.orig/drivers/scsi/lpfc/Makefile +++ linux-lowlatency-3.5.0/drivers/scsi/lpfc/Makefile @@ -22,7 +22,9 @@ ccflags-$(GCOV) := -fprofile-arcs -ftest-coverage ccflags-$(GCOV) += -O0 +ifdef WARNINGS_BECOME_ERRORS ccflags-y += -Werror +endif obj-$(CONFIG_SCSI_LPFC) := lpfc.o --- linux-lowlatency-3.5.0.orig/drivers/scsi/megaraid/megaraid_sas_base.c +++ linux-lowlatency-3.5.0/drivers/scsi/megaraid/megaraid_sas_base.c @@ -4066,7 +4066,6 @@ spin_lock_init(&instance->cmd_pool_lock); spin_lock_init(&instance->hba_lock); spin_lock_init(&instance->completion_lock); - spin_lock_init(&poll_aen_lock); mutex_init(&instance->aen_mutex); mutex_init(&instance->reset_mutex); @@ -5392,6 +5391,8 @@ printk(KERN_INFO "megasas: %s %s\n", MEGASAS_VERSION, MEGASAS_EXT_VERSION); + spin_lock_init(&poll_aen_lock); + support_poll_for_event = 2; support_device_change = 1; --- linux-lowlatency-3.5.0.orig/drivers/scsi/mpt2sas/mpt2sas_base.c +++ linux-lowlatency-3.5.0/drivers/scsi/mpt2sas/mpt2sas_base.c @@ -1209,6 +1209,13 @@ u16 message_control; + /* Check whether controller SAS2008 B0 controller, + if it is SAS2008 B0 controller use IO-APIC instead of MSIX */ + if (ioc->pdev->device == MPI2_MFGPAGE_DEVID_SAS2008 && + ioc->pdev->revision == 0x01) { + return -EINVAL; + } + base = pci_find_capability(ioc->pdev, PCI_CAP_ID_MSIX); if (!base) { dfailprintk(ioc, printk(MPT2SAS_INFO_FMT "msix not " @@ -2424,10 +2431,13 @@ } /* command line tunables for max controller queue depth */ - if (max_queue_depth != -1) - max_request_credit = (max_queue_depth < facts->RequestCredit) - ? max_queue_depth : facts->RequestCredit; - else + if (max_queue_depth != -1 && max_queue_depth != 0) { + max_request_credit = min_t(u16, max_queue_depth + + ioc->hi_priority_depth + ioc->internal_depth, + facts->RequestCredit); + if (max_request_credit > MAX_HBA_QUEUE_DEPTH) + max_request_credit = MAX_HBA_QUEUE_DEPTH; + } else max_request_credit = min_t(u16, facts->RequestCredit, MAX_HBA_QUEUE_DEPTH); @@ -2502,7 +2512,7 @@ /* set the scsi host can_queue depth * with some internal commands that could be outstanding */ - ioc->shost->can_queue = ioc->scsiio_depth - (2); + ioc->shost->can_queue = ioc->scsiio_depth; dinitprintk(ioc, printk(MPT2SAS_INFO_FMT "scsi host: " "can_queue depth (%d)\n", ioc->name, ioc->shost->can_queue)); --- linux-lowlatency-3.5.0.orig/drivers/scsi/qla2xxx/qla_target.c +++ linux-lowlatency-3.5.0/drivers/scsi/qla2xxx/qla_target.c @@ -557,6 +557,7 @@ int pmap_len; fc_port_t *fcport; int global_resets; + unsigned long flags; retry: global_resets = atomic_read(&ha->tgt.qla_tgt->tgt_global_resets_count); @@ -625,10 +626,10 @@ sess->s_id.b.area, sess->loop_id, fcport->d_id.b.domain, fcport->d_id.b.al_pa, fcport->d_id.b.area, fcport->loop_id); - sess->s_id = fcport->d_id; - sess->loop_id = fcport->loop_id; - sess->conf_compl_supported = !!(fcport->flags & - FCF_CONF_COMP_SUPPORTED); + spin_lock_irqsave(&ha->hardware_lock, flags); + ha->tgt.tgt_ops->update_sess(sess, fcport->d_id, fcport->loop_id, + (fcport->flags & FCF_CONF_COMP_SUPPORTED)); + spin_unlock_irqrestore(&ha->hardware_lock, flags); res = true; @@ -740,10 +741,9 @@ qlt_undelete_sess(sess); kref_get(&sess->se_sess->sess_kref); - sess->s_id = fcport->d_id; - sess->loop_id = fcport->loop_id; - sess->conf_compl_supported = !!(fcport->flags & - FCF_CONF_COMP_SUPPORTED); + ha->tgt.tgt_ops->update_sess(sess, fcport->d_id, fcport->loop_id, + (fcport->flags & FCF_CONF_COMP_SUPPORTED)); + if (sess->local && !local) sess->local = 0; spin_unlock_irqrestore(&ha->hardware_lock, flags); @@ -796,8 +796,7 @@ */ kref_get(&sess->se_sess->sess_kref); - sess->conf_compl_supported = !!(fcport->flags & - FCF_CONF_COMP_SUPPORTED); + sess->conf_compl_supported = (fcport->flags & FCF_CONF_COMP_SUPPORTED); BUILD_BUG_ON(sizeof(sess->port_name) != sizeof(fcport->port_name)); memcpy(sess->port_name, fcport->port_name, sizeof(sess->port_name)); @@ -869,10 +868,8 @@ ql_dbg(ql_dbg_tgt_mgt, vha, 0xf007, "Reappeared sess %p\n", sess); } - sess->s_id = fcport->d_id; - sess->loop_id = fcport->loop_id; - sess->conf_compl_supported = !!(fcport->flags & - FCF_CONF_COMP_SUPPORTED); + ha->tgt.tgt_ops->update_sess(sess, fcport->d_id, fcport->loop_id, + (fcport->flags & FCF_CONF_COMP_SUPPORTED)); } if (sess && sess->local) { @@ -1403,7 +1400,7 @@ ctio->u.status1.scsi_status = __constant_cpu_to_le16(SS_RESPONSE_INFO_LEN_VALID); ctio->u.status1.response_len = __constant_cpu_to_le16(8); - ((uint32_t *)ctio->u.status1.sense_data)[0] = cpu_to_be32(resp_code); + ctio->u.status1.sense_data[0] = resp_code; qla2x00_start_iocbs(ha, ha->req); } --- linux-lowlatency-3.5.0.orig/drivers/scsi/qla2xxx/qla_target.h +++ linux-lowlatency-3.5.0/drivers/scsi/qla2xxx/qla_target.h @@ -648,6 +648,7 @@ int (*check_initiator_node_acl)(struct scsi_qla_host *, unsigned char *, void *, uint8_t *, uint16_t); + void (*update_sess)(struct qla_tgt_sess *, port_id_t, uint16_t, bool); struct qla_tgt_sess *(*find_sess_by_loop_id)(struct scsi_qla_host *, const uint16_t); struct qla_tgt_sess *(*find_sess_by_s_id)(struct scsi_qla_host *, --- linux-lowlatency-3.5.0.orig/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ linux-lowlatency-3.5.0/drivers/scsi/qla2xxx/tcm_qla2xxx.c @@ -1482,6 +1482,78 @@ return 0; } +static void tcm_qla2xxx_update_sess(struct qla_tgt_sess *sess, port_id_t s_id, + uint16_t loop_id, bool conf_compl_supported) +{ + struct qla_tgt *tgt = sess->tgt; + struct qla_hw_data *ha = tgt->ha; + struct tcm_qla2xxx_lport *lport = ha->tgt.target_lport_ptr; + struct se_node_acl *se_nacl = sess->se_sess->se_node_acl; + struct tcm_qla2xxx_nacl *nacl = container_of(se_nacl, + struct tcm_qla2xxx_nacl, se_node_acl); + u32 key; + + + if (sess->loop_id != loop_id || sess->s_id.b24 != s_id.b24) + pr_info("Updating session %p from port %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x loop_id %d -> %d s_id %x:%x:%x -> %x:%x:%x\n", + sess, + sess->port_name[0], sess->port_name[1], + sess->port_name[2], sess->port_name[3], + sess->port_name[4], sess->port_name[5], + sess->port_name[6], sess->port_name[7], + sess->loop_id, loop_id, + sess->s_id.b.domain, sess->s_id.b.area, sess->s_id.b.al_pa, + s_id.b.domain, s_id.b.area, s_id.b.al_pa); + + if (sess->loop_id != loop_id) { + /* + * Because we can shuffle loop IDs around and we + * update different sessions non-atomically, we might + * have overwritten this session's old loop ID + * already, and we might end up overwriting some other + * session that will be updated later. So we have to + * be extra careful and we can't warn about those things... + */ + if (lport->lport_loopid_map[sess->loop_id].se_nacl == se_nacl) + lport->lport_loopid_map[sess->loop_id].se_nacl = NULL; + + lport->lport_loopid_map[loop_id].se_nacl = se_nacl; + + sess->loop_id = loop_id; + } + + if (sess->s_id.b24 != s_id.b24) { + key = (((u32) sess->s_id.b.domain << 16) | + ((u32) sess->s_id.b.area << 8) | + ((u32) sess->s_id.b.al_pa)); + + if (btree_lookup32(&lport->lport_fcport_map, key)) + WARN(btree_remove32(&lport->lport_fcport_map, key) != se_nacl, + "Found wrong se_nacl when updating s_id %x:%x:%x\n", + sess->s_id.b.domain, sess->s_id.b.area, sess->s_id.b.al_pa); + else + WARN(1, "No lport_fcport_map entry for s_id %x:%x:%x\n", + sess->s_id.b.domain, sess->s_id.b.area, sess->s_id.b.al_pa); + + key = (((u32) s_id.b.domain << 16) | + ((u32) s_id.b.area << 8) | + ((u32) s_id.b.al_pa)); + + if (btree_lookup32(&lport->lport_fcport_map, key)) { + WARN(1, "Already have lport_fcport_map entry for s_id %x:%x:%x\n", + s_id.b.domain, s_id.b.area, s_id.b.al_pa); + btree_update32(&lport->lport_fcport_map, key, se_nacl); + } else { + btree_insert32(&lport->lport_fcport_map, key, se_nacl, GFP_ATOMIC); + } + + sess->s_id = s_id; + nacl->nport_id = key; + } + + sess->conf_compl_supported = conf_compl_supported; +} + /* * Calls into tcm_qla2xxx used by qla2xxx LLD I/O path. */ @@ -1492,6 +1564,7 @@ .free_cmd = tcm_qla2xxx_free_cmd, .free_mcmd = tcm_qla2xxx_free_mcmd, .free_session = tcm_qla2xxx_free_session, + .update_sess = tcm_qla2xxx_update_sess, .check_initiator_node_acl = tcm_qla2xxx_check_initiator_node_acl, .find_sess_by_s_id = tcm_qla2xxx_find_sess_by_s_id, .find_sess_by_loop_id = tcm_qla2xxx_find_sess_by_loop_id, --- linux-lowlatency-3.5.0.orig/drivers/spi/spi-pl022.c +++ linux-lowlatency-3.5.0/drivers/spi/spi-pl022.c @@ -489,6 +489,11 @@ pl022->cur_transfer = NULL; pl022->cur_chip = NULL; spi_finalize_current_message(pl022->master); + + /* disable the SPI/SSP operation */ + writew((readw(SSP_CR1(pl022->virtbase)) & + (~SSP_CR1_MASK_SSE)), SSP_CR1(pl022->virtbase)); + } /** --- linux-lowlatency-3.5.0.orig/drivers/staging/Makefile +++ linux-lowlatency-3.5.0/drivers/staging/Makefile @@ -27,7 +27,7 @@ obj-$(CONFIG_USB_SERIAL_QUATECH2) += serqt_usb2/ obj-$(CONFIG_OCTEON_ETHERNET) += octeon/ obj-$(CONFIG_VT6655) += vt6655/ -obj-$(CONFIG_VT6656) += vt6656/ +#obj-$(CONFIG_VT6656) += vt6656/ obj-$(CONFIG_VME_BUS) += vme/ obj-$(CONFIG_IPACK_BUS) += ipack/ obj-$(CONFIG_DX_SEP) += sep/ --- linux-lowlatency-3.5.0.orig/drivers/staging/android/binder.c +++ linux-lowlatency-3.5.0/drivers/staging/android/binder.c @@ -655,7 +655,7 @@ page = &proc->pages[(page_addr - proc->buffer) / PAGE_SIZE]; BUG_ON(*page); - *page = alloc_page(GFP_KERNEL | __GFP_ZERO); + *page = alloc_page(GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO); if (*page == NULL) { printk(KERN_ERR "binder: %d: binder_alloc_buf failed " "for page at %p\n", proc->pid, page_addr); @@ -2507,14 +2507,38 @@ struct binder_transaction *t; t = container_of(w, struct binder_transaction, work); - if (t->buffer->target_node && !(t->flags & TF_ONE_WAY)) + if (t->buffer->target_node && + !(t->flags & TF_ONE_WAY)) { binder_send_failed_reply(t, BR_DEAD_REPLY); + } else { + binder_debug(BINDER_DEBUG_DEAD_TRANSACTION, + "binder: undelivered transaction %d\n", + t->debug_id); + t->buffer->transaction = NULL; + kfree(t); + binder_stats_deleted(BINDER_STAT_TRANSACTION); + } } break; case BINDER_WORK_TRANSACTION_COMPLETE: { + binder_debug(BINDER_DEBUG_DEAD_TRANSACTION, + "binder: undelivered TRANSACTION_COMPLETE\n"); kfree(w); binder_stats_deleted(BINDER_STAT_TRANSACTION_COMPLETE); } break; + case BINDER_WORK_DEAD_BINDER_AND_CLEAR: + case BINDER_WORK_CLEAR_DEATH_NOTIFICATION: { + struct binder_ref_death *death; + + death = container_of(w, struct binder_ref_death, work); + binder_debug(BINDER_DEBUG_DEAD_TRANSACTION, + "binder: undelivered death notification, %p\n", + death->cookie); + kfree(death); + binder_stats_deleted(BINDER_STAT_DEATH); + } break; default: + pr_err("binder: unexpected work type, %d, not freed\n", + w->type); break; } } @@ -2984,6 +3008,7 @@ nodes++; rb_erase(&node->rb_node, &proc->nodes); list_del_init(&node->work.entry); + binder_release_work(&node->async_todo); if (hlist_empty(&node->refs)) { kfree(node); binder_stats_deleted(BINDER_STAT_NODE); @@ -3022,6 +3047,7 @@ binder_delete_ref(ref); } binder_release_work(&proc->todo); + binder_release_work(&proc->delivered_death); buffers = 0; while ((n = rb_first(&proc->allocated_buffers))) { --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/comedi_fops.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/comedi_fops.c @@ -1132,7 +1132,7 @@ ret = -EAGAIN; break; } - ret = s->async->inttrig(dev, s, insn->data[0]); + ret = s->async->inttrig(dev, s, data[0]); if (ret >= 0) ret = 1; break; @@ -1377,7 +1377,6 @@ goto cleanup; } - kfree(async->cmd.chanlist); async->cmd = user_cmd; async->cmd.data = NULL; /* load channel/gain list */ @@ -2122,6 +2121,8 @@ if (async) { comedi_reset_async_buf(async); async->inttrig = NULL; + kfree(async->cmd.chanlist); + async->cmd.chanlist = NULL; } else { printk(KERN_ERR "BUG: (?) do_become_nonbusy called with async=0\n"); --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers.c @@ -144,7 +144,7 @@ dev->board_ptr = comedi_recognize(driv, it->board_name); if (dev->board_ptr) break; - } else if (strcmp(driv->driver_name, it->board_name)) + } else if (strcmp(driv->driver_name, it->board_name) == 0) break; module_put(driv->module); } --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/amplc_pc236.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/amplc_pc236.c @@ -479,7 +479,7 @@ static void pc236_detach(struct comedi_device *dev) { - if (devpriv) + if (dev->iobase) pc236_intr_disable(dev); if (dev->irq) free_irq(dev->irq, dev); --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/amplc_pci224.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/amplc_pci224.c @@ -1519,6 +1519,13 @@ dev->minor, DRIVER_NAME); return -EINVAL; } + /* + * Need to 'get' the PCI device to match the 'put' in pci224_detach(). + * TODO: Remove the pci_dev_get() and matching pci_dev_put() once + * support for manual attachment of PCI devices via pci224_attach() + * has been removed. + */ + pci_dev_get(pci_dev); return pci224_attach_common(dev, pci_dev, NULL); } --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/das08.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/das08.c @@ -403,7 +403,7 @@ .ai = das08_ai_rinsn, .ai_nbits = 16, .ai_pg = das08_pg_none, - .ai_encoding = das08_encode12, + .ai_encoding = das08_encode16, .ao = das08jr_ao_winsn, .ao_nbits = 16, .di = das08jr_di_rbits, @@ -678,7 +678,7 @@ int chan; lsb = data[0] & 0xff; - msb = (data[0] >> 8) & 0xf; + msb = (data[0] >> 8) & 0xff; chan = CR_CHAN(insn->chanspec); --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/jr3_pci.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/jr3_pci.c @@ -883,7 +883,7 @@ } /* Reset DSP card */ - devpriv->iobase->channel[0].reset = 0; + writel(0, &devpriv->iobase->channel[0].reset); result = comedi_load_firmware(dev, "jr3pci.idm", jr3_download_firmware); dev_dbg(dev->hw_dev, "Firmare load %d\n", result); --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/s626.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/s626.c @@ -2311,7 +2311,7 @@ /* (data==NULL) ? (Preloadvalue=0) : (Preloadvalue=data[0]); */ k->SetMode(dev, k, Setup, TRUE); - Preload(dev, k, *(insn->data)); + Preload(dev, k, data[0]); k->PulseIndex(dev, k); SetLatchSource(dev, k, valueSrclatch); k->SetEnable(dev, k, (uint16_t) (enab != 0)); --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/usbdux.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/usbdux.c @@ -102,6 +102,7 @@ #include "../comedidev.h" #define BOARDNAME "usbdux" +#define FIRMWARE "usbdux_firmware.bin" /* timeout for the USB-transfer in ms*/ #define BULK_TIMEOUT 1000 @@ -2577,7 +2578,7 @@ ret = request_firmware_nowait(THIS_MODULE, FW_ACTION_HOTPLUG, - "usbdux_firmware.bin", + FIRMWARE, &udev->dev, GFP_KERNEL, usbduxsub + index, @@ -2887,3 +2888,4 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); +MODULE_FIRMWARE(FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/usbduxfast.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/usbduxfast.c @@ -53,6 +53,7 @@ #define DRIVER_AUTHOR "Bernd Porr, BerndPorr@f2s.com" #define DRIVER_DESC "USB-DUXfast, BerndPorr@f2s.com" #define BOARDNAME "usbduxfast" +#define FIRMWARE "usbduxfast_firmware.bin" /* * timeout for the USB-transfer @@ -1578,7 +1579,7 @@ ret = request_firmware_nowait(THIS_MODULE, FW_ACTION_HOTPLUG, - "usbduxfast_firmware.bin", + FIRMWARE, &udev->dev, GFP_KERNEL, usbduxfastsub + index, @@ -1804,3 +1805,4 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); +MODULE_FIRMWARE(FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/staging/comedi/drivers/usbduxsigma.c +++ linux-lowlatency-3.5.0/drivers/staging/comedi/drivers/usbduxsigma.c @@ -63,6 +63,7 @@ #include "../comedidev.h" #define BOARDNAME "usbduxsigma" +#define FIRMWARE "usbduxsigma_firmware.bin" /* timeout for the USB-transfer in ms*/ #define BULK_TIMEOUT 1000 @@ -2588,7 +2589,7 @@ ret = request_firmware_nowait(THIS_MODULE, FW_ACTION_HOTPLUG, - "usbduxsigma_firmware.bin", + FIRMWARE, &udev->dev, GFP_KERNEL, usbduxsub + index, @@ -2865,3 +2866,4 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); +MODULE_FIRMWARE(FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/staging/media/lirc/lirc_sir.c +++ linux-lowlatency-3.5.0/drivers/staging/media/lirc/lirc_sir.c @@ -52,6 +52,7 @@ #include #include #include +#include #ifdef LIRC_ON_SA1100 #include #ifdef CONFIG_SA1100_COLLIE @@ -487,9 +488,11 @@ .owner = THIS_MODULE, }; +static struct platform_device *lirc_sir_dev; static int init_chrdev(void) { + driver.dev = &lirc_sir_dev->dev; driver.minor = lirc_register_driver(&driver); if (driver.minor < 0) { printk(KERN_ERR LIRC_DRIVER_NAME ": init_chrdev() failed.\n"); @@ -1215,20 +1218,71 @@ return 0; } +static int __devinit lirc_sir_probe(struct platform_device *dev) +{ + return 0; +} + +static int __devexit lirc_sir_remove(struct platform_device *dev) +{ + return 0; +} + +static struct platform_driver lirc_sir_driver = { + .probe = lirc_sir_probe, + .remove = __devexit_p(lirc_sir_remove), + .driver = { + .name = "lirc_sir", + .owner = THIS_MODULE, + }, +}; static int __init lirc_sir_init(void) { int retval; + retval = platform_driver_register(&lirc_sir_driver); + if (retval) { + printk(KERN_ERR LIRC_DRIVER_NAME ": Platform driver register " + "failed!\n"); + return -ENODEV; + } + + lirc_sir_dev = platform_device_alloc("lirc_dev", 0); + if (!lirc_sir_dev) { + printk(KERN_ERR LIRC_DRIVER_NAME ": Platform device alloc " + "failed!\n"); + retval = -ENOMEM; + goto pdev_alloc_fail; + } + + retval = platform_device_add(lirc_sir_dev); + if (retval) { + printk(KERN_ERR LIRC_DRIVER_NAME ": Platform device add " + "failed!\n"); + retval = -ENODEV; + goto pdev_add_fail; + } + retval = init_chrdev(); if (retval < 0) - return retval; + goto fail; + retval = init_lirc_sir(); if (retval) { drop_chrdev(); - return retval; + goto fail; } + return 0; + +fail: + platform_device_del(lirc_sir_dev); +pdev_add_fail: + platform_device_put(lirc_sir_dev); +pdev_alloc_fail: + platform_driver_unregister(&lirc_sir_driver); + return retval; } static void __exit lirc_sir_exit(void) @@ -1236,6 +1290,8 @@ drop_hardware(); drop_chrdev(); drop_port(); + platform_device_unregister(lirc_sir_dev); + platform_driver_unregister(&lirc_sir_driver); printk(KERN_INFO LIRC_DRIVER_NAME ": Uninstalled.\n"); } --- linux-lowlatency-3.5.0.orig/drivers/staging/omapdrm/omap_connector.c +++ linux-lowlatency-3.5.0/drivers/staging/omapdrm/omap_connector.c @@ -177,14 +177,11 @@ drm_mode_connector_update_edid_property( connector, edid); n = drm_add_edid_modes(connector, edid); - kfree(connector->display_info.raw_edid); - connector->display_info.raw_edid = edid; } else { drm_mode_connector_update_edid_property( connector, NULL); - connector->display_info.raw_edid = NULL; - kfree(edid); } + kfree(edid); } else { struct drm_display_mode *mode = drm_mode_create(dev); struct omap_video_timings timings; --- linux-lowlatency-3.5.0.orig/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c +++ linux-lowlatency-3.5.0/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c @@ -265,10 +265,11 @@ case FW_SOURCE_IMG_FILE: { if (pfirmware->firmware_buf_size[init_step] == 0) { - const char *fw_name[3] = { "RTL8192E/boot.img", - "RTL8192E/main.img", - "RTL8192E/data.img" - }; + const char *fw_name[3] = { + RTL8192E_BOOT_IMG_FW, + RTL8192E_MAIN_IMG_FW, + RTL8192E_DATA_IMG_FW + }; const struct firmware *fw_entry; int rc; rc = request_firmware(&fw_entry, --- linux-lowlatency-3.5.0.orig/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h +++ linux-lowlatency-3.5.0/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h @@ -23,6 +23,10 @@ #define GET_COMMAND_PACKET_FRAG_THRESHOLD(v) (4*(v/4) - 8) +#define RTL8192E_BOOT_IMG_FW "RTL8192E/boot.img" +#define RTL8192E_MAIN_IMG_FW "RTL8192E/main.img" +#define RTL8192E_DATA_IMG_FW "RTL8192E/data.img" + enum firmware_init_step { FW_INIT_STEP0_BOOT = 0, FW_INIT_STEP1_MAIN = 1, --- linux-lowlatency-3.5.0.orig/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ linux-lowlatency-3.5.0/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -3125,6 +3125,9 @@ MODULE_AUTHOR(DRV_COPYRIGHT " " DRV_AUTHOR); MODULE_VERSION(DRV_VERSION); MODULE_LICENSE("GPL"); +MODULE_FIRMWARE(RTL8192E_BOOT_IMG_FW); +MODULE_FIRMWARE(RTL8192E_MAIN_IMG_FW); +MODULE_FIRMWARE(RTL8192E_DATA_IMG_FW); module_param(ifname, charp, S_IRUGO|S_IWUSR); module_param(hwwep, int, S_IRUGO|S_IWUSR); --- linux-lowlatency-3.5.0.orig/drivers/staging/rtl8712/recv_linux.c +++ linux-lowlatency-3.5.0/drivers/staging/rtl8712/recv_linux.c @@ -117,13 +117,8 @@ if (skb == NULL) goto _recv_indicatepkt_drop; skb->data = precv_frame->u.hdr.rx_data; -#ifdef NET_SKBUFF_DATA_USES_OFFSET - skb->tail = (sk_buff_data_t)(precv_frame->u.hdr.rx_tail - - precv_frame->u.hdr.rx_head); -#else - skb->tail = (sk_buff_data_t)precv_frame->u.hdr.rx_tail; -#endif skb->len = precv_frame->u.hdr.len; + skb_set_tail_pointer(skb, skb->len); if ((pattrib->tcpchk_valid == 1) && (pattrib->tcp_chkrpt == 1)) skb->ip_summed = CHECKSUM_UNNECESSARY; else --- linux-lowlatency-3.5.0.orig/drivers/staging/rtl8712/rtl8712_recv.c +++ linux-lowlatency-3.5.0/drivers/staging/rtl8712/rtl8712_recv.c @@ -1127,6 +1127,9 @@ recvbuf2recvframe(padapter, pskb); skb_reset_tail_pointer(pskb); pskb->len = 0; - skb_queue_tail(&precvpriv->free_recv_skb_queue, pskb); + if (!skb_cloned(pskb)) + skb_queue_tail(&precvpriv->free_recv_skb_queue, pskb); + else + consume_skb(pskb); } } --- linux-lowlatency-3.5.0.orig/drivers/staging/speakup/main.c +++ linux-lowlatency-3.5.0/drivers/staging/speakup/main.c @@ -1854,7 +1854,7 @@ static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u_short key) { - static u_char *goto_buf = "\0\0\0\0\0\0"; + static u_char goto_buf[8]; static int num; int maxlen, go_pos; char *cp; --- linux-lowlatency-3.5.0.orig/drivers/staging/speakup/speakup_soft.c +++ linux-lowlatency-3.5.0/drivers/staging/speakup/speakup_soft.c @@ -40,7 +40,7 @@ static unsigned char get_index(void); static struct miscdevice synth_device; -static int initialized; +static int init_pos; static int misc_registered; static struct var_t vars[] = { @@ -194,7 +194,7 @@ unsigned long flags; spk_lock(flags); synth_soft.alive = 0; - initialized = 0; + init_pos = 0; spk_unlock(flags); /* Make sure we let applications go before leaving */ speakup_start_ttys(); @@ -239,13 +239,8 @@ ch = '\x18'; } else if (synth_buffer_empty()) { break; - } else if (!initialized) { - if (*init) { - ch = *init; - init++; - } else { - initialized = 1; - } + } else if (init[init_pos]) { + ch = init[init_pos++]; } else { ch = synth_buffer_getc(); } --- linux-lowlatency-3.5.0.orig/drivers/staging/telephony/ixj.c +++ linux-lowlatency-3.5.0/drivers/staging/telephony/ixj.c @@ -3190,12 +3190,12 @@ ixj_fsk_alloc(j); - strcpy(sdmf1, j->cid_send.month); - strcat(sdmf1, j->cid_send.day); - strcat(sdmf1, j->cid_send.hour); - strcat(sdmf1, j->cid_send.min); - strcpy(sdmf2, j->cid_send.number); - strcpy(sdmf3, j->cid_send.name); + strlcpy(sdmf1, j->cid_send.month, sizeof(sdmf1)); + strlcat(sdmf1, j->cid_send.day, sizeof(sdmf1)); + strlcat(sdmf1, j->cid_send.hour, sizeof(sdmf1)); + strlcat(sdmf1, j->cid_send.min, sizeof(sdmf1)); + strlcpy(sdmf2, j->cid_send.number, sizeof(sdmf2)); + strlcpy(sdmf3, j->cid_send.name, sizeof(sdmf3)); len1 = strlen(sdmf1); len2 = strlen(sdmf2); @@ -3340,12 +3340,12 @@ ixj_pre_cid(j); } j->flags.cidcw_ack = 0; - strcpy(sdmf1, j->cid_send.month); - strcat(sdmf1, j->cid_send.day); - strcat(sdmf1, j->cid_send.hour); - strcat(sdmf1, j->cid_send.min); - strcpy(sdmf2, j->cid_send.number); - strcpy(sdmf3, j->cid_send.name); + strlcpy(sdmf1, j->cid_send.month, sizeof(sdmf1)); + strlcat(sdmf1, j->cid_send.day, sizeof(sdmf1)); + strlcat(sdmf1, j->cid_send.hour, sizeof(sdmf1)); + strlcat(sdmf1, j->cid_send.min, sizeof(sdmf1)); + strlcpy(sdmf2, j->cid_send.number, sizeof(sdmf2)); + strlcpy(sdmf3, j->cid_send.name, sizeof(sdmf3)); len1 = strlen(sdmf1); len2 = strlen(sdmf2); --- linux-lowlatency-3.5.0.orig/drivers/staging/vt6656/dpc.c +++ linux-lowlatency-3.5.0/drivers/staging/vt6656/dpc.c @@ -200,7 +200,7 @@ } else if (!compare_ether_addr(pbyRxBuffer, &pDevice->abySNAP_RFC1042[0])) { cbHeaderSize += 6; pwType = (PWORD) (pbyRxBufferAddr + cbHeaderSize); - if ((*pwType == cpu_to_le16(ETH_P_IPX)) || + if ((*pwType == cpu_to_be16(ETH_P_IPX)) || (*pwType == cpu_to_le16(0xF380))) { cbHeaderSize -= 8; pwType = (PWORD) (pbyRxBufferAddr + cbHeaderSize); --- linux-lowlatency-3.5.0.orig/drivers/staging/vt6656/main_usb.c +++ linux-lowlatency-3.5.0/drivers/staging/vt6656/main_usb.c @@ -222,7 +222,7 @@ // Static vars definitions // -static struct usb_device_id vt6656_table[] __devinitdata = { +static struct usb_device_id vt6656_table[] = { {USB_DEVICE(VNT_USB_VENDOR_ID, VNT_USB_PRODUCT_ID)}, {} }; --- linux-lowlatency-3.5.0.orig/drivers/staging/vt6656/rxtx.c +++ linux-lowlatency-3.5.0/drivers/staging/vt6656/rxtx.c @@ -1701,7 +1701,7 @@ // 802.1H if (ntohs(psEthHeader->wType) > ETH_DATA_LEN) { if (pDevice->dwDiagRefCount == 0) { - if ((psEthHeader->wType == cpu_to_le16(ETH_P_IPX)) || + if ((psEthHeader->wType == cpu_to_be16(ETH_P_IPX)) || (psEthHeader->wType == cpu_to_le16(0xF380))) { memcpy((PBYTE) (pbyPayloadHead), abySNAP_Bridgetunnel, 6); @@ -2840,10 +2840,10 @@ Packet_Type = skb->data[ETH_HLEN+1]; Descriptor_type = skb->data[ETH_HLEN+1+1+2]; Key_info = (skb->data[ETH_HLEN+1+1+2+1] << 8)|(skb->data[ETH_HLEN+1+1+2+2]); - if (pDevice->sTxEthHeader.wType == cpu_to_le16(ETH_P_PAE)) { - /* 802.1x OR eapol-key challenge frame transfer */ - if (((Protocol_Version == 1) || (Protocol_Version == 2)) && - (Packet_Type == 3)) { + if (pDevice->sTxEthHeader.wType == cpu_to_be16(ETH_P_PAE)) { + /* 802.1x OR eapol-key challenge frame transfer */ + if (((Protocol_Version == 1) || (Protocol_Version == 2)) && + (Packet_Type == 3)) { bTxeapol_key = TRUE; if(!(Key_info & BIT3) && //WPA or RSN group-key challenge (Key_info & BIT8) && (Key_info & BIT9)) { //send 2/2 key @@ -2989,19 +2989,19 @@ } } - if (pDevice->sTxEthHeader.wType == cpu_to_le16(ETH_P_PAE)) { - if (pDevice->byBBType != BB_TYPE_11A) { - pDevice->wCurrentRate = RATE_1M; - pDevice->byACKRate = RATE_1M; - pDevice->byTopCCKBasicRate = RATE_1M; - pDevice->byTopOFDMBasicRate = RATE_6M; - } else { - pDevice->wCurrentRate = RATE_6M; - pDevice->byACKRate = RATE_6M; - pDevice->byTopCCKBasicRate = RATE_1M; - pDevice->byTopOFDMBasicRate = RATE_6M; - } - } + if (pDevice->sTxEthHeader.wType == cpu_to_be16(ETH_P_PAE)) { + if (pDevice->byBBType != BB_TYPE_11A) { + pDevice->wCurrentRate = RATE_1M; + pDevice->byACKRate = RATE_1M; + pDevice->byTopCCKBasicRate = RATE_1M; + pDevice->byTopOFDMBasicRate = RATE_6M; + } else { + pDevice->wCurrentRate = RATE_6M; + pDevice->byACKRate = RATE_6M; + pDevice->byTopCCKBasicRate = RATE_1M; + pDevice->byTopOFDMBasicRate = RATE_6M; + } + } DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dma_tx: pDevice->wCurrentRate = %d\n", @@ -3017,7 +3017,7 @@ if (bNeedEncryption == TRUE) { DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ntohs Pkt Type=%04x\n", ntohs(pDevice->sTxEthHeader.wType)); - if ((pDevice->sTxEthHeader.wType) == cpu_to_le16(ETH_P_PAE)) { + if ((pDevice->sTxEthHeader.wType) == cpu_to_be16(ETH_P_PAE)) { bNeedEncryption = FALSE; DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Pkt Type=%04x\n", (pDevice->sTxEthHeader.wType)); if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (pMgmt->eCurrState == WMAC_STATE_ASSOC)) { --- linux-lowlatency-3.5.0.orig/drivers/staging/winbond/wbusb.c +++ linux-lowlatency-3.5.0/drivers/staging/winbond/wbusb.c @@ -25,7 +25,7 @@ MODULE_LICENSE("GPL"); MODULE_VERSION("0.1"); -static const struct usb_device_id wb35_table[] __devinitconst = { +static const struct usb_device_id wb35_table[] = { { USB_DEVICE(0x0416, 0x0035) }, { USB_DEVICE(0x18E8, 0x6201) }, { USB_DEVICE(0x18E8, 0x6206) }, --- linux-lowlatency-3.5.0.orig/drivers/staging/zcache/zcache-main.c +++ linux-lowlatency-3.5.0/drivers/staging/zcache/zcache-main.c @@ -1259,13 +1259,12 @@ void *pampd, struct tmem_pool *pool, struct tmem_oid *oid, uint32_t index) { - int ret = 0; - BUG_ON(!is_ephemeral(pool)); - zbud_decompress((struct page *)(data), pampd); + if (zbud_decompress((struct page *)(data), pampd) < 0) + return -EINVAL; zbud_free_and_delist((struct zbud_hdr *)pampd); atomic_dec(&zcache_curr_eph_pampd_count); - return ret; + return 0; } /* --- linux-lowlatency-3.5.0.orig/drivers/staging/zsmalloc/zsmalloc-main.c +++ linux-lowlatency-3.5.0/drivers/staging/zsmalloc/zsmalloc-main.c @@ -425,12 +425,6 @@ } -/* - * If this becomes a separate module, register zs_init() with - * module_init(), zs_exit with module_exit(), and remove zs_initialized -*/ -static int zs_initialized; - static int zs_cpu_notifier(struct notifier_block *nb, unsigned long action, void *pcpu) { @@ -489,7 +483,7 @@ struct zs_pool *zs_create_pool(const char *name, gfp_t flags) { - int i, error, ovhd_size; + int i, ovhd_size; struct zs_pool *pool; if (!name) @@ -516,28 +510,9 @@ } - /* - * If this becomes a separate module, register zs_init with - * module_init, and remove this block - */ - if (!zs_initialized) { - error = zs_init(); - if (error) - goto cleanup; - zs_initialized = 1; - } - pool->flags = flags; pool->name = name; - error = 0; /* Success */ - -cleanup: - if (error) { - zs_destroy_pool(pool); - pool = NULL; - } - return pool; } EXPORT_SYMBOL_GPL(zs_create_pool); @@ -753,3 +728,9 @@ return npages << PAGE_SHIFT; } EXPORT_SYMBOL_GPL(zs_get_total_size_bytes); + +module_init(zs_init); +module_exit(zs_exit); + +MODULE_LICENSE("Dual BSD/GPL"); +MODULE_AUTHOR("Nitin Gupta "); --- linux-lowlatency-3.5.0.orig/drivers/target/target_core_cdb.c +++ linux-lowlatency-3.5.0/drivers/target/target_core_cdb.c @@ -605,29 +605,12 @@ { struct se_device *dev = cmd->se_dev; struct se_portal_group *tpg = cmd->se_lun->lun_sep->sep_tpg; - unsigned char *buf, *map_buf; + unsigned char *rbuf; unsigned char *cdb = cmd->t_task_cdb; + unsigned char buf[SE_INQUIRY_BUF]; int p, ret; - map_buf = transport_kmap_data_sg(cmd); - /* - * If SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC is not set, then we - * know we actually allocated a full page. Otherwise, if the - * data buffer is too small, allocate a temporary buffer so we - * don't have to worry about overruns in all our INQUIRY - * emulation handling. - */ - if (cmd->data_length < SE_INQUIRY_BUF && - (cmd->se_cmd_flags & SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC)) { - buf = kzalloc(SE_INQUIRY_BUF, GFP_KERNEL); - if (!buf) { - transport_kunmap_data_sg(cmd); - cmd->scsi_sense_reason = TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE; - return -ENOMEM; - } - } else { - buf = map_buf; - } + memset(buf, 0, SE_INQUIRY_BUF); if (dev == tpg->tpg_virt_lun0.lun_se_dev) buf[0] = 0x3f; /* Not connected */ @@ -660,11 +643,11 @@ ret = -EINVAL; out: - if (buf != map_buf) { - memcpy(map_buf, buf, cmd->data_length); - kfree(buf); + rbuf = transport_kmap_data_sg(cmd); + if (rbuf) { + memcpy(rbuf, buf, min_t(u32, sizeof(buf), cmd->data_length)); + transport_kunmap_data_sg(cmd); } - transport_kunmap_data_sg(cmd); if (!ret) target_complete_cmd(cmd, GOOD); @@ -875,7 +858,7 @@ unsigned char *rbuf; int type = dev->transport->get_device_type(dev); int ten = (cmd->t_task_cdb[0] == MODE_SENSE_10); - int offset = ten ? 8 : 4; + u32 offset = ten ? 8 : 4; int length = 0; unsigned char buf[SE_MODE_PAGE_BUF]; @@ -908,6 +891,7 @@ offset -= 2; buf[0] = (offset >> 8) & 0xff; buf[1] = offset & 0xff; + offset += 2; if ((cmd->se_lun->lun_access & TRANSPORT_LUNFLAGS_READ_ONLY) || (cmd->se_deve && @@ -917,13 +901,10 @@ if ((dev->se_sub_dev->se_dev_attrib.emulate_write_cache > 0) && (dev->se_sub_dev->se_dev_attrib.emulate_fua_write > 0)) target_modesense_dpofua(&buf[3], type); - - if ((offset + 2) > cmd->data_length) - offset = cmd->data_length; - } else { offset -= 1; buf[0] = offset & 0xff; + offset += 1; if ((cmd->se_lun->lun_access & TRANSPORT_LUNFLAGS_READ_ONLY) || (cmd->se_deve && @@ -933,14 +914,13 @@ if ((dev->se_sub_dev->se_dev_attrib.emulate_write_cache > 0) && (dev->se_sub_dev->se_dev_attrib.emulate_fua_write > 0)) target_modesense_dpofua(&buf[2], type); - - if ((offset + 1) > cmd->data_length) - offset = cmd->data_length; } rbuf = transport_kmap_data_sg(cmd); - memcpy(rbuf, buf, offset); - transport_kunmap_data_sg(cmd); + if (rbuf) { + memcpy(rbuf, buf, min(offset, cmd->data_length)); + transport_kunmap_data_sg(cmd); + } target_complete_cmd(cmd, GOOD); return 0; @@ -1013,11 +993,11 @@ { struct se_device *dev = cmd->se_dev; unsigned char *buf, *ptr = NULL; - unsigned char *cdb = &cmd->t_task_cdb[0]; sector_t lba; - unsigned int size = cmd->data_length, range; - int ret = 0, offset; - unsigned short dl, bd_dl; + int size = cmd->data_length; + u32 range; + int ret = 0; + int dl, bd_dl; if (!dev->transport->do_discard) { pr_err("UNMAP emulation not supported for: %s\n", @@ -1026,24 +1006,41 @@ return -ENOSYS; } - /* First UNMAP block descriptor starts at 8 byte offset */ - offset = 8; - size -= 8; - dl = get_unaligned_be16(&cdb[0]); - bd_dl = get_unaligned_be16(&cdb[2]); - buf = transport_kmap_data_sg(cmd); - ptr = &buf[offset]; - pr_debug("UNMAP: Sub: %s Using dl: %hu bd_dl: %hu size: %hu" + dl = get_unaligned_be16(&buf[0]); + bd_dl = get_unaligned_be16(&buf[2]); + + size = min(size - 8, bd_dl); + if (size / 16 > dev->se_sub_dev->se_dev_attrib.max_unmap_block_desc_count) { + cmd->scsi_sense_reason = TCM_INVALID_PARAMETER_LIST; + ret = -EINVAL; + goto err; + } + + /* First UNMAP block descriptor starts at 8 byte offset */ + ptr = &buf[8]; + pr_debug("UNMAP: Sub: %s Using dl: %u bd_dl: %u size: %u" " ptr: %p\n", dev->transport->name, dl, bd_dl, size, ptr); - while (size) { + while (size >= 16) { lba = get_unaligned_be64(&ptr[0]); range = get_unaligned_be32(&ptr[8]); pr_debug("UNMAP: Using lba: %llu and range: %u\n", (unsigned long long)lba, range); + if (range > dev->se_sub_dev->se_dev_attrib.max_unmap_lba_count) { + cmd->scsi_sense_reason = TCM_INVALID_PARAMETER_LIST; + ret = -EINVAL; + goto err; + } + + if (lba + range > dev->transport->get_blocks(dev) + 1) { + cmd->scsi_sense_reason = TCM_ADDRESS_OUT_OF_RANGE; + ret = -EINVAL; + goto err; + } + ret = dev->transport->do_discard(dev, lba, range); if (ret < 0) { pr_err("blkdev_issue_discard() failed: %d\n", --- linux-lowlatency-3.5.0.orig/drivers/target/target_core_configfs.c +++ linux-lowlatency-3.5.0/drivers/target/target_core_configfs.c @@ -3132,6 +3132,7 @@ GFP_KERNEL); if (!target_cg->default_groups) { pr_err("Unable to allocate target_cg->default_groups\n"); + ret = -ENOMEM; goto out_global; } @@ -3147,6 +3148,7 @@ GFP_KERNEL); if (!hba_cg->default_groups) { pr_err("Unable to allocate hba_cg->default_groups\n"); + ret = -ENOMEM; goto out_global; } config_group_init_type_name(&alua_group, @@ -3162,6 +3164,7 @@ GFP_KERNEL); if (!alua_cg->default_groups) { pr_err("Unable to allocate alua_cg->default_groups\n"); + ret = -ENOMEM; goto out_global; } @@ -3173,14 +3176,17 @@ * Add core/alua/lu_gps/default_lu_gp */ lu_gp = core_alua_allocate_lu_gp("default_lu_gp", 1); - if (IS_ERR(lu_gp)) + if (IS_ERR(lu_gp)) { + ret = -ENOMEM; goto out_global; + } lu_gp_cg = &alua_lu_gps_group; lu_gp_cg->default_groups = kzalloc(sizeof(struct config_group) * 2, GFP_KERNEL); if (!lu_gp_cg->default_groups) { pr_err("Unable to allocate lu_gp_cg->default_groups\n"); + ret = -ENOMEM; goto out_global; } @@ -3208,7 +3214,8 @@ if (ret < 0) goto out; - if (core_dev_setup_virtual_lun0() < 0) + ret = core_dev_setup_virtual_lun0(); + if (ret < 0) goto out; return 0; --- linux-lowlatency-3.5.0.orig/drivers/target/target_core_device.c +++ linux-lowlatency-3.5.0/drivers/target/target_core_device.c @@ -824,20 +824,20 @@ u32 se_dev_align_max_sectors(u32 max_sectors, u32 block_size) { - u32 tmp, aligned_max_sectors; + u32 aligned_max_sectors; + u32 alignment; /* * Limit max_sectors to a PAGE_SIZE aligned value for modern * transport_allocate_data_tasks() operation. */ - tmp = rounddown((max_sectors * block_size), PAGE_SIZE); - aligned_max_sectors = (tmp / block_size); - if (max_sectors != aligned_max_sectors) { - printk(KERN_INFO "Rounding down aligned max_sectors from %u" - " to %u\n", max_sectors, aligned_max_sectors); - return aligned_max_sectors; - } + alignment = max(1ul, PAGE_SIZE / block_size); + aligned_max_sectors = rounddown(max_sectors, alignment); + + if (max_sectors != aligned_max_sectors) + pr_info("Rounding down aligned max_sectors from %u to %u\n", + max_sectors, aligned_max_sectors); - return max_sectors; + return aligned_max_sectors; } void se_dev_set_default_attribs( --- linux-lowlatency-3.5.0.orig/drivers/target/target_core_file.c +++ linux-lowlatency-3.5.0/drivers/target/target_core_file.c @@ -138,6 +138,19 @@ * of pure timestamp updates. */ flags = O_RDWR | O_CREAT | O_LARGEFILE | O_DSYNC; + /* + * Optionally allow fd_buffered_io=1 to be enabled for people + * who want use the fs buffer cache as an WriteCache mechanism. + * + * This means that in event of a hard failure, there is a risk + * of silent data-loss if the SCSI client has *not* performed a + * forced unit access (FUA) write, or issued SYNCHRONIZE_CACHE + * to write-out the entire device cache. + */ + if (fd_dev->fbd_flags & FDBD_HAS_BUFFERED_IO_WCE) { + pr_debug("FILEIO: Disabling O_DSYNC, using buffered FILEIO\n"); + flags &= ~O_DSYNC; + } file = filp_open(dev_p, flags, 0600); if (IS_ERR(file)) { @@ -205,6 +218,12 @@ if (!dev) goto fail; + if (fd_dev->fbd_flags & FDBD_HAS_BUFFERED_IO_WCE) { + pr_debug("FILEIO: Forcing setting of emulate_write_cache=1" + " with FDBD_HAS_BUFFERED_IO_WCE\n"); + dev->se_sub_dev->se_dev_attrib.emulate_write_cache = 1; + } + fd_dev->fd_dev_id = fd_host->fd_host_dev_id_count++; fd_dev->fd_queue_depth = dev->queue_depth; @@ -422,6 +441,7 @@ static match_table_t tokens = { {Opt_fd_dev_name, "fd_dev_name=%s"}, {Opt_fd_dev_size, "fd_dev_size=%s"}, + {Opt_fd_buffered_io, "fd_buffered_io=%d"}, {Opt_err, NULL} }; @@ -433,7 +453,7 @@ struct fd_dev *fd_dev = se_dev->se_dev_su_ptr; char *orig, *ptr, *arg_p, *opts; substring_t args[MAX_OPT_ARGS]; - int ret = 0, token; + int ret = 0, arg, token; opts = kstrdup(page, GFP_KERNEL); if (!opts) @@ -477,6 +497,19 @@ " bytes\n", fd_dev->fd_dev_size); fd_dev->fbd_flags |= FBDF_HAS_SIZE; break; + case Opt_fd_buffered_io: + match_int(args, &arg); + if (arg != 1) { + pr_err("bogus fd_buffered_io=%d value\n", arg); + ret = -EINVAL; + goto out; + } + + pr_debug("FILEIO: Using buffered I/O" + " operations for struct fd_dev\n"); + + fd_dev->fbd_flags |= FDBD_HAS_BUFFERED_IO_WCE; + break; default: break; } @@ -508,8 +541,10 @@ ssize_t bl = 0; bl = sprintf(b + bl, "TCM FILEIO ID: %u", fd_dev->fd_dev_id); - bl += sprintf(b + bl, " File: %s Size: %llu Mode: O_DSYNC\n", - fd_dev->fd_dev_name, fd_dev->fd_dev_size); + bl += sprintf(b + bl, " File: %s Size: %llu Mode: %s\n", + fd_dev->fd_dev_name, fd_dev->fd_dev_size, + (fd_dev->fbd_flags & FDBD_HAS_BUFFERED_IO_WCE) ? + "Buffered-WCE" : "O_DSYNC"); return bl; } --- linux-lowlatency-3.5.0.orig/drivers/target/target_core_file.h +++ linux-lowlatency-3.5.0/drivers/target/target_core_file.h @@ -14,6 +14,7 @@ #define FBDF_HAS_PATH 0x01 #define FBDF_HAS_SIZE 0x02 +#define FDBD_HAS_BUFFERED_IO_WCE 0x04 struct fd_dev { u32 fbd_flags; --- linux-lowlatency-3.5.0.orig/drivers/target/target_core_tmr.c +++ linux-lowlatency-3.5.0/drivers/target/target_core_tmr.c @@ -140,15 +140,15 @@ printk("ABORT_TASK: Found referenced %s task_tag: %u\n", se_cmd->se_tfo->get_fabric_name(), ref_tag); - spin_lock_irq(&se_cmd->t_state_lock); + spin_lock(&se_cmd->t_state_lock); if (se_cmd->transport_state & CMD_T_COMPLETE) { printk("ABORT_TASK: ref_tag: %u already complete, skipping\n", ref_tag); - spin_unlock_irq(&se_cmd->t_state_lock); + spin_unlock(&se_cmd->t_state_lock); spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags); goto out; } se_cmd->transport_state |= CMD_T_ABORTED; - spin_unlock_irq(&se_cmd->t_state_lock); + spin_unlock(&se_cmd->t_state_lock); list_del_init(&se_cmd->se_cmd_list); kref_get(&se_cmd->cmd_kref); --- linux-lowlatency-3.5.0.orig/drivers/target/target_core_transport.c +++ linux-lowlatency-3.5.0/drivers/target/target_core_transport.c @@ -1617,7 +1617,6 @@ se_cmd->se_tmr_req->response = TMR_LUN_DOES_NOT_EXIST; se_cmd->se_tfo->queue_tm_rsp(se_cmd); - transport_generic_free_cmd(se_cmd, 0); } /** @@ -1797,6 +1796,7 @@ case TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE: case TCM_UNKNOWN_MODE_PAGE: case TCM_WRITE_PROTECTED: + case TCM_ADDRESS_OUT_OF_RANGE: case TCM_CHECK_CONDITION_ABORT_CMD: case TCM_CHECK_CONDITION_UNIT_ATTENTION: case TCM_CHECK_CONDITION_NOT_READY: @@ -2260,7 +2260,7 @@ /* * Used to obtain Sense Data from underlying Linux/SCSI struct scsi_cmnd */ -static int transport_get_sense_data(struct se_cmd *cmd) +static void transport_get_sense_data(struct se_cmd *cmd) { unsigned char *buffer = cmd->sense_buffer, *sense_buffer = NULL; struct se_device *dev = cmd->se_dev; @@ -2270,30 +2270,15 @@ WARN_ON(!cmd->se_lun); if (!dev) - return 0; + return; spin_lock_irqsave(&cmd->t_state_lock, flags); if (cmd->se_cmd_flags & SCF_SENT_CHECK_CONDITION) { spin_unlock_irqrestore(&cmd->t_state_lock, flags); - return 0; - } - - if (!(cmd->se_cmd_flags & SCF_TRANSPORT_TASK_SENSE)) - goto out; - - if (!dev->transport->get_sense_buffer) { - pr_err("dev->transport->get_sense_buffer is NULL\n"); - goto out; + return; } sense_buffer = dev->transport->get_sense_buffer(cmd); - if (!sense_buffer) { - pr_err("ITT 0x%08x cmd %p: Unable to locate" - " sense buffer for task with sense\n", - cmd->se_tfo->get_task_tag(cmd), cmd); - goto out; - } - spin_unlock_irqrestore(&cmd->t_state_lock, flags); offset = cmd->se_tfo->set_fabric_sense_len(cmd, TRANSPORT_SENSE_BUFFER); @@ -2305,11 +2290,6 @@ pr_debug("HBA_[%u]_PLUG[%s]: Set SAM STATUS: 0x%02x and sense\n", dev->se_hba->hba_id, dev->transport->name, cmd->scsi_status); - return 0; - -out: - spin_unlock_irqrestore(&cmd->t_state_lock, flags); - return -1; } static inline long long transport_dev_end_lba(struct se_device *dev) @@ -2999,15 +2979,20 @@ /* Returns CHECK_CONDITION + INVALID_CDB_FIELD */ goto out_invalid_cdb_field; } - + /* + * For the overflow case keep the existing fabric provided + * ->data_length. Otherwise for the underflow case, reset + * ->data_length to the smaller SCSI expected data transfer + * length. + */ if (size > cmd->data_length) { cmd->se_cmd_flags |= SCF_OVERFLOW_BIT; cmd->residual_count = (size - cmd->data_length); } else { cmd->se_cmd_flags |= SCF_UNDERFLOW_BIT; cmd->residual_count = (cmd->data_length - size); + cmd->data_length = size; } - cmd->data_length = size; } if (cmd->se_cmd_flags & SCF_SCSI_DATA_SG_IO_CDB) { @@ -3165,7 +3150,7 @@ static void target_complete_ok_work(struct work_struct *work) { struct se_cmd *cmd = container_of(work, struct se_cmd, work); - int reason = 0, ret; + int ret; /* * Check if we need to move delayed/dormant tasks from cmds on the @@ -3186,19 +3171,16 @@ * the struct se_cmd in question. */ if (cmd->se_cmd_flags & SCF_TRANSPORT_TASK_SENSE) { - if (transport_get_sense_data(cmd) < 0) - reason = TCM_NON_EXISTENT_LUN; - - if (cmd->scsi_status) { - ret = transport_send_check_condition_and_sense( - cmd, reason, 1); - if (ret == -EAGAIN || ret == -ENOMEM) - goto queue_full; + WARN_ON(!cmd->scsi_status); + transport_get_sense_data(cmd); + ret = transport_send_check_condition_and_sense( + cmd, 0, 1); + if (ret == -EAGAIN || ret == -ENOMEM) + goto queue_full; - transport_lun_remove_cmd(cmd); - transport_cmd_check_stop_to_fabric(cmd); - return; - } + transport_lun_remove_cmd(cmd); + transport_cmd_check_stop_to_fabric(cmd); + return; } /* * Check for a callback, used by amongst other things @@ -3476,9 +3458,9 @@ return 0; out: - while (i >= 0) { - __free_page(sg_page(&cmd->t_data_sg[i])); + while (i > 0) { i--; + __free_page(sg_page(&cmd->t_data_sg[i])); } kfree(cmd->t_data_sg); cmd->t_data_sg = NULL; @@ -4212,6 +4194,15 @@ /* WRITE PROTECTED */ buffer[offset+SPC_ASC_KEY_OFFSET] = 0x27; break; + case TCM_ADDRESS_OUT_OF_RANGE: + /* CURRENT ERROR */ + buffer[offset] = 0x70; + buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10; + /* ILLEGAL REQUEST */ + buffer[offset+SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST; + /* LOGICAL BLOCK ADDRESS OUT OF RANGE */ + buffer[offset+SPC_ASC_KEY_OFFSET] = 0x21; + break; case TCM_CHECK_CONDITION_UNIT_ATTENTION: /* CURRENT ERROR */ buffer[offset] = 0x70; --- linux-lowlatency-3.5.0.orig/drivers/target/iscsi/iscsi_target.c +++ linux-lowlatency-3.5.0/drivers/target/iscsi/iscsi_target.c @@ -429,19 +429,8 @@ int iscsit_del_np_comm(struct iscsi_np *np) { - if (!np->np_socket) - return 0; - - /* - * Some network transports allocate their own struct sock->file, - * see if we need to free any additional allocated resources. - */ - if (np->np_flags & NPF_SCTP_STRUCT_FILE) { - kfree(np->np_socket->file); - np->np_socket->file = NULL; - } - - sock_release(np->np_socket); + if (np->np_socket) + sock_release(np->np_socket); return 0; } @@ -3280,7 +3269,6 @@ len += 1; if ((len + payload_len) > buffer_len) { - spin_unlock(&tiqn->tiqn_tpg_lock); end_of_buf = 1; goto eob; } @@ -3433,6 +3421,7 @@ hdr->opcode = ISCSI_OP_REJECT; hdr->flags |= ISCSI_FLAG_CMD_FINAL; hton24(hdr->dlength, ISCSI_HDR_LEN); + hdr->ffffffff = 0xffffffff; cmd->stat_sn = conn->stat_sn++; hdr->statsn = cpu_to_be32(cmd->stat_sn); hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); @@ -3744,7 +3733,9 @@ */ iscsit_thread_check_cpumask(conn, current, 1); - schedule_timeout_interruptible(MAX_SCHEDULE_TIMEOUT); + wait_event_interruptible(conn->queues_wq, + !iscsit_conn_all_queues_empty(conn) || + ts->status == ISCSI_THREAD_SET_RESET); if ((ts->status == ISCSI_THREAD_SET_RESET) || signal_pending(current)) @@ -4077,13 +4068,8 @@ kfree(conn->conn_ops); conn->conn_ops = NULL; - if (conn->sock) { - if (conn->conn_flags & CONNFLAG_SCTP_STRUCT_FILE) { - kfree(conn->sock->file); - conn->sock->file = NULL; - } + if (conn->sock) sock_release(conn->sock); - } conn->thread_set = NULL; pr_debug("Moving to TARG_CONN_STATE_FREE.\n"); --- linux-lowlatency-3.5.0.orig/drivers/target/iscsi/iscsi_target_core.h +++ linux-lowlatency-3.5.0/drivers/target/iscsi/iscsi_target_core.h @@ -25,10 +25,10 @@ #define NA_DATAOUT_TIMEOUT_RETRIES 5 #define NA_DATAOUT_TIMEOUT_RETRIES_MAX 15 #define NA_DATAOUT_TIMEOUT_RETRIES_MIN 1 -#define NA_NOPIN_TIMEOUT 5 +#define NA_NOPIN_TIMEOUT 15 #define NA_NOPIN_TIMEOUT_MAX 60 #define NA_NOPIN_TIMEOUT_MIN 3 -#define NA_NOPIN_RESPONSE_TIMEOUT 5 +#define NA_NOPIN_RESPONSE_TIMEOUT 30 #define NA_NOPIN_RESPONSE_TIMEOUT_MAX 60 #define NA_NOPIN_RESPONSE_TIMEOUT_MIN 3 #define NA_RANDOM_DATAIN_PDU_OFFSETS 0 @@ -224,7 +224,6 @@ /* Used for struct iscsi_np->np_flags */ enum np_flags_table { NPF_IP_NETWORK = 0x00, - NPF_SCTP_STRUCT_FILE = 0x01 /* Bugfix */ }; /* Used for struct iscsi_np->np_thread_state */ @@ -486,6 +485,7 @@ }; struct iscsi_conn { + wait_queue_head_t queues_wq; /* Authentication Successful for this connection */ u8 auth_complete; /* State connection is currently in */ @@ -503,7 +503,6 @@ u16 local_port; int net_size; u32 auth_id; -#define CONNFLAG_SCTP_STRUCT_FILE 0x01 u32 conn_flags; /* Used for iscsi_tx_login_rsp() */ u32 login_itt; --- linux-lowlatency-3.5.0.orig/drivers/target/iscsi/iscsi_target_login.c +++ linux-lowlatency-3.5.0/drivers/target/iscsi/iscsi_target_login.c @@ -45,6 +45,7 @@ static int iscsi_login_init_conn(struct iscsi_conn *conn) { + init_waitqueue_head(&conn->queues_wq); INIT_LIST_HEAD(&conn->conn_list); INIT_LIST_HEAD(&conn->conn_cmd_list); INIT_LIST_HEAD(&conn->immed_queue_list); @@ -795,22 +796,6 @@ } np->np_socket = sock; /* - * The SCTP stack needs struct socket->file. - */ - if ((np->np_network_transport == ISCSI_SCTP_TCP) || - (np->np_network_transport == ISCSI_SCTP_UDP)) { - if (!sock->file) { - sock->file = kzalloc(sizeof(struct file), GFP_KERNEL); - if (!sock->file) { - pr_err("Unable to allocate struct" - " file for SCTP\n"); - ret = -ENOMEM; - goto fail; - } - np->np_flags |= NPF_SCTP_STRUCT_FILE; - } - } - /* * Setup the np->np_sockaddr from the passed sockaddr setup * in iscsi_target_configfs.c code.. */ @@ -869,21 +854,15 @@ fail: np->np_socket = NULL; - if (sock) { - if (np->np_flags & NPF_SCTP_STRUCT_FILE) { - kfree(sock->file); - sock->file = NULL; - } - + if (sock) sock_release(sock); - } return ret; } static int __iscsi_target_login_thread(struct iscsi_np *np) { u8 buffer[ISCSI_HDR_LEN], iscsi_opcode, zero_tsih = 0; - int err, ret = 0, set_sctp_conn_flag, stop; + int err, ret = 0, stop; struct iscsi_conn *conn = NULL; struct iscsi_login *login; struct iscsi_portal_group *tpg = NULL; @@ -894,7 +873,6 @@ struct sockaddr_in6 sock_in6; flush_signals(current); - set_sctp_conn_flag = 0; sock = np->np_socket; spin_lock_bh(&np->np_thread_lock); @@ -917,35 +895,12 @@ spin_unlock_bh(&np->np_thread_lock); goto out; } - /* - * The SCTP stack needs struct socket->file. - */ - if ((np->np_network_transport == ISCSI_SCTP_TCP) || - (np->np_network_transport == ISCSI_SCTP_UDP)) { - if (!new_sock->file) { - new_sock->file = kzalloc( - sizeof(struct file), GFP_KERNEL); - if (!new_sock->file) { - pr_err("Unable to allocate struct" - " file for SCTP\n"); - sock_release(new_sock); - /* Get another socket */ - return 1; - } - set_sctp_conn_flag = 1; - } - } - iscsi_start_login_thread_timer(np); conn = kzalloc(sizeof(struct iscsi_conn), GFP_KERNEL); if (!conn) { pr_err("Could not allocate memory for" " new connection\n"); - if (set_sctp_conn_flag) { - kfree(new_sock->file); - new_sock->file = NULL; - } sock_release(new_sock); /* Get another socket */ return 1; @@ -955,9 +910,6 @@ conn->conn_state = TARG_CONN_STATE_FREE; conn->sock = new_sock; - if (set_sctp_conn_flag) - conn->conn_flags |= CONNFLAG_SCTP_STRUCT_FILE; - pr_debug("Moving to TARG_CONN_STATE_XPT_UP.\n"); conn->conn_state = TARG_CONN_STATE_XPT_UP; @@ -1205,13 +1157,8 @@ iscsi_release_param_list(conn->param_list); conn->param_list = NULL; } - if (conn->sock) { - if (conn->conn_flags & CONNFLAG_SCTP_STRUCT_FILE) { - kfree(conn->sock->file); - conn->sock->file = NULL; - } + if (conn->sock) sock_release(conn->sock); - } kfree(conn); if (tpg) { --- linux-lowlatency-3.5.0.orig/drivers/target/iscsi/iscsi_target_tpg.c +++ linux-lowlatency-3.5.0/drivers/target/iscsi/iscsi_target_tpg.c @@ -672,6 +672,12 @@ pr_debug("iSCSI_TPG[%hu] - Generate Initiator Portal Group ACLs: %s\n", tpg->tpgt, (a->generate_node_acls) ? "Enabled" : "Disabled"); + if (flag == 1 && a->cache_dynamic_acls == 0) { + pr_debug("Explicitly setting cache_dynamic_acls=1 when " + "generate_node_acls=1\n"); + a->cache_dynamic_acls = 1; + } + return 0; } @@ -711,6 +717,12 @@ return -EINVAL; } + if (a->generate_node_acls == 1 && flag == 0) { + pr_debug("Skipping cache_dynamic_acls=0 when" + " generate_node_acls=1\n"); + return 0; + } + a->cache_dynamic_acls = flag; pr_debug("iSCSI_TPG[%hu] - Cache Dynamic Initiator Portal Group" " ACLs %s\n", tpg->tpgt, (a->cache_dynamic_acls) ? --- linux-lowlatency-3.5.0.orig/drivers/target/iscsi/iscsi_target_util.c +++ linux-lowlatency-3.5.0/drivers/target/iscsi/iscsi_target_util.c @@ -488,7 +488,7 @@ atomic_set(&conn->check_immediate_queue, 1); spin_unlock_bh(&conn->immed_queue_lock); - wake_up_process(conn->thread_set->tx_thread); + wake_up(&conn->queues_wq); } struct iscsi_queue_req *iscsit_get_cmd_from_immediate_queue(struct iscsi_conn *conn) @@ -562,7 +562,7 @@ atomic_inc(&cmd->response_queue_count); spin_unlock_bh(&conn->response_queue_lock); - wake_up_process(conn->thread_set->tx_thread); + wake_up(&conn->queues_wq); } struct iscsi_queue_req *iscsit_get_cmd_from_response_queue(struct iscsi_conn *conn) @@ -616,6 +616,24 @@ } } +bool iscsit_conn_all_queues_empty(struct iscsi_conn *conn) +{ + bool empty; + + spin_lock_bh(&conn->immed_queue_lock); + empty = list_empty(&conn->immed_queue_list); + spin_unlock_bh(&conn->immed_queue_lock); + + if (!empty) + return empty; + + spin_lock_bh(&conn->response_queue_lock); + empty = list_empty(&conn->response_queue_list); + spin_unlock_bh(&conn->response_queue_lock); + + return empty; +} + void iscsit_free_queue_reqs_for_conn(struct iscsi_conn *conn) { struct iscsi_queue_req *qr, *qr_tmp; --- linux-lowlatency-3.5.0.orig/drivers/target/iscsi/iscsi_target_util.h +++ linux-lowlatency-3.5.0/drivers/target/iscsi/iscsi_target_util.h @@ -25,6 +25,7 @@ extern void iscsit_add_cmd_to_response_queue(struct iscsi_cmd *, struct iscsi_conn *, u8); extern struct iscsi_queue_req *iscsit_get_cmd_from_response_queue(struct iscsi_conn *); extern void iscsit_remove_cmd_from_tx_queues(struct iscsi_cmd *, struct iscsi_conn *); +extern bool iscsit_conn_all_queues_empty(struct iscsi_conn *); extern void iscsit_free_queue_reqs_for_conn(struct iscsi_conn *); extern void iscsit_release_cmd(struct iscsi_cmd *); extern void iscsit_free_cmd(struct iscsi_cmd *); --- linux-lowlatency-3.5.0.orig/drivers/tty/n_gsm.c +++ linux-lowlatency-3.5.0/drivers/tty/n_gsm.c @@ -875,7 +875,7 @@ /* dlci->skb is locked by tx_lock */ if (dlci->skb == NULL) { - dlci->skb = skb_dequeue(&dlci->skb_list); + dlci->skb = skb_dequeue_tail(&dlci->skb_list); if (dlci->skb == NULL) return 0; first = 1; @@ -899,8 +899,11 @@ /* FIXME: need a timer or something to kick this so it can't get stuck with no work outstanding and no buffer free */ - if (msg == NULL) + if (msg == NULL) { + skb_queue_tail(&dlci->skb_list, dlci->skb); + dlci->skb = NULL; return -ENOMEM; + } dp = msg->data; if (dlci->adaption == 4) { /* Interruptible framed (Packetised Data) */ @@ -971,16 +974,19 @@ static void gsm_dlci_data_kick(struct gsm_dlci *dlci) { unsigned long flags; + int sweep; spin_lock_irqsave(&dlci->gsm->tx_lock, flags); /* If we have nothing running then we need to fire up */ + sweep = (dlci->gsm->tx_bytes < TX_THRESH_LO); if (dlci->gsm->tx_bytes == 0) { if (dlci->net) gsm_dlci_data_output_framed(dlci->gsm, dlci); else gsm_dlci_data_output(dlci->gsm, dlci); - } else if (dlci->gsm->tx_bytes < TX_THRESH_LO) - gsm_dlci_data_sweep(dlci->gsm); + } + if (sweep) + gsm_dlci_data_sweep(dlci->gsm); spin_unlock_irqrestore(&dlci->gsm->tx_lock, flags); } @@ -1190,6 +1196,8 @@ u8 *data, int clen) { u8 buf[1]; + unsigned long flags; + switch (command) { case CMD_CLD: { struct gsm_dlci *dlci = gsm->dlci[0]; @@ -1215,7 +1223,9 @@ gsm->constipated = 0; gsm_control_reply(gsm, CMD_FCOFF, NULL, 0); /* Kick the link in case it is idling */ + spin_lock_irqsave(&gsm->tx_lock, flags); gsm_data_kick(gsm); + spin_unlock_irqrestore(&gsm->tx_lock, flags); break; case CMD_MSC: /* Out of band modem line change indicator for a DLCI */ @@ -2377,12 +2387,12 @@ /* Queue poll */ clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); + spin_lock_irqsave(&gsm->tx_lock, flags); gsm_data_kick(gsm); if (gsm->tx_bytes < TX_THRESH_LO) { - spin_lock_irqsave(&gsm->tx_lock, flags); gsm_dlci_data_sweep(gsm); - spin_unlock_irqrestore(&gsm->tx_lock, flags); } + spin_unlock_irqrestore(&gsm->tx_lock, flags); } /** @@ -2889,6 +2899,10 @@ gsm = gsm_mux[mux]; if (gsm->dead) return -EL2HLT; + /* If DLCI 0 is not yet fully open return an error. This is ok from a locking + perspective as we don't have to worry about this if DLCI0 is lost */ + if (gsm->dlci[0] && gsm->dlci[0]->state != DLCI_OPEN) + return -EL2NSYNC; dlci = gsm->dlci[line]; if (dlci == NULL) dlci = gsm_dlci_alloc(gsm, line); --- linux-lowlatency-3.5.0.orig/drivers/tty/n_tty.c +++ linux-lowlatency-3.5.0/drivers/tty/n_tty.c @@ -1728,7 +1728,8 @@ do_it_again: - BUG_ON(!tty->read_buf); + if (WARN_ON(!tty->read_buf)) + return -EAGAIN; c = job_control(tty, file); if (c < 0) --- linux-lowlatency-3.5.0.orig/drivers/tty/serial/amba-pl011.c +++ linux-lowlatency-3.5.0/drivers/tty/serial/amba-pl011.c @@ -1603,13 +1603,26 @@ old_cr &= ~ST_UART011_CR_OVSFACT; } + /* + * Workaround for the ST Micro oversampling variants to + * increase the bitrate slightly, by lowering the divisor, + * to avoid delayed sampling of start bit at high speeds, + * else we see data corruption. + */ + if (uap->vendor->oversampling) { + if ((baud >= 3000000) && (baud < 3250000) && (quot > 1)) + quot -= 1; + else if ((baud > 3250000) && (quot > 2)) + quot -= 2; + } /* Set baud rate */ writew(quot & 0x3f, port->membase + UART011_FBRD); writew(quot >> 6, port->membase + UART011_IBRD); /* * ----------v----------v----------v----------v----- - * NOTE: MUST BE WRITTEN AFTER UARTLCR_M & UARTLCR_L + * NOTE: lcrh_tx and lcrh_rx MUST BE WRITTEN AFTER + * UART011_FBRD & UART011_IBRD. * ----------^----------^----------^----------^----- */ writew(lcr_h, port->membase + uap->lcrh_rx); --- linux-lowlatency-3.5.0.orig/drivers/tty/serial/imx.c +++ linux-lowlatency-3.5.0/drivers/tty/serial/imx.c @@ -132,6 +132,7 @@ #define UCR4_OREN (1<<1) /* Receiver overrun interrupt enable */ #define UCR4_DREN (1<<0) /* Recv data ready interrupt enable */ #define UFCR_RXTL_SHF 0 /* Receiver trigger level shift */ +#define UFCR_DCEDTE (1<<6) /* DCE/DTE mode select */ #define UFCR_RFDIV (7<<7) /* Reference freq divider mask */ #define UFCR_RFDIV_REG(x) (((x) < 7 ? 6 - (x) : 6) << 7) #define UFCR_TXTL_SHF 10 /* Transmitter trigger level shift */ @@ -668,22 +669,11 @@ static int imx_setup_ufcr(struct imx_port *sport, unsigned int mode) { unsigned int val; - unsigned int ufcr_rfdiv; - - /* set receiver / transmitter trigger level. - * RFDIV is set such way to satisfy requested uartclk value - */ - val = TXTL << 10 | RXTL; - ufcr_rfdiv = (clk_get_rate(sport->clk_per) + sport->port.uartclk / 2) - / sport->port.uartclk; - - if(!ufcr_rfdiv) - ufcr_rfdiv = 1; - - val |= UFCR_RFDIV_REG(ufcr_rfdiv); + /* set receiver / transmitter trigger level */ + val = readl(sport->port.membase + UFCR) & (UFCR_RFDIV | UFCR_DCEDTE); + val |= TXTL << UFCR_TXTL_SHF | RXTL; writel(val, sport->port.membase + UFCR); - return 0; } @@ -758,6 +748,7 @@ } } + spin_lock_irqsave(&sport->port.lock, flags); /* * Finally, clear and enable interrupts */ @@ -811,7 +802,6 @@ /* * Enable modem status interrupts */ - spin_lock_irqsave(&sport->port.lock,flags); imx_enable_ms(&sport->port); spin_unlock_irqrestore(&sport->port.lock,flags); @@ -841,10 +831,13 @@ { struct imx_port *sport = (struct imx_port *)port; unsigned long temp; + unsigned long flags; + spin_lock_irqsave(&sport->port.lock, flags); temp = readl(sport->port.membase + UCR2); temp &= ~(UCR2_TXEN); writel(temp, sport->port.membase + UCR2); + spin_unlock_irqrestore(&sport->port.lock, flags); if (USE_IRDA(sport)) { struct imxuart_platform_data *pdata; @@ -873,12 +866,14 @@ * Disable all interrupts, port and break condition. */ + spin_lock_irqsave(&sport->port.lock, flags); temp = readl(sport->port.membase + UCR1); temp &= ~(UCR1_TXMPTYEN | UCR1_RRDYEN | UCR1_RTSDEN | UCR1_UARTEN); if (USE_IRDA(sport)) temp &= ~(UCR1_IREN); writel(temp, sport->port.membase + UCR1); + spin_unlock_irqrestore(&sport->port.lock, flags); } static void @@ -1221,6 +1216,9 @@ struct imx_port *sport = imx_ports[co->index]; struct imx_port_ucrs old_ucr; unsigned int ucr1; + unsigned long flags; + + spin_lock_irqsave(&sport->port.lock, flags); /* * First, save UCR1/2/3 and then disable interrupts @@ -1246,6 +1244,8 @@ while (!(readl(sport->port.membase + USR2) & USR2_TXDC)); imx_port_ucrs_restore(&sport->port, &old_ucr); + + spin_unlock_irqrestore(&sport->port.lock, flags); } /* --- linux-lowlatency-3.5.0.orig/drivers/tty/serial/pch_uart.c +++ linux-lowlatency-3.5.0/drivers/tty/serial/pch_uart.c @@ -253,6 +253,9 @@ dma_addr_t rx_buf_dma; struct dentry *debugfs; + + /* protect the eg20t_port private structure and io access to membase */ + spinlock_t lock; }; /** @@ -754,7 +757,8 @@ tty_flip_buffer_push(tty); tty_kref_put(tty); async_tx_ack(priv->desc_rx); - pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_RX_INT); + pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_RX_INT | + PCH_UART_HAL_RX_ERR_INT); } static void pch_dma_tx_complete(void *arg) @@ -809,7 +813,8 @@ int rx_size; int ret; if (!priv->start_rx) { - pch_uart_hal_disable_interrupt(priv, PCH_UART_HAL_RX_INT); + pch_uart_hal_disable_interrupt(priv, PCH_UART_HAL_RX_INT | + PCH_UART_HAL_RX_ERR_INT); return 0; } buf = &priv->rxbuf; @@ -1058,7 +1063,7 @@ int next = 1; u8 msr; - spin_lock_irqsave(&priv->port.lock, flags); + spin_lock_irqsave(&priv->lock, flags); handled = 0; while (next) { iid = pch_uart_hal_get_iid(priv); @@ -1078,11 +1083,13 @@ case PCH_UART_IID_RDR: /* Received Data Ready */ if (priv->use_dma) { pch_uart_hal_disable_interrupt(priv, - PCH_UART_HAL_RX_INT); + PCH_UART_HAL_RX_INT | + PCH_UART_HAL_RX_ERR_INT); ret = dma_handle_rx(priv); if (!ret) pch_uart_hal_enable_interrupt(priv, - PCH_UART_HAL_RX_INT); + PCH_UART_HAL_RX_INT | + PCH_UART_HAL_RX_ERR_INT); } else { ret = handle_rx(priv); } @@ -1116,7 +1123,7 @@ handled |= (unsigned int)ret; } - spin_unlock_irqrestore(&priv->port.lock, flags); + spin_unlock_irqrestore(&priv->lock, flags); return IRQ_RETVAL(handled); } @@ -1208,7 +1215,8 @@ struct eg20t_port *priv; priv = container_of(port, struct eg20t_port, port); priv->start_rx = 0; - pch_uart_hal_disable_interrupt(priv, PCH_UART_HAL_RX_INT); + pch_uart_hal_disable_interrupt(priv, PCH_UART_HAL_RX_INT | + PCH_UART_HAL_RX_ERR_INT); } /* Enable the modem status interrupts. */ @@ -1226,9 +1234,9 @@ unsigned long flags; priv = container_of(port, struct eg20t_port, port); - spin_lock_irqsave(&port->lock, flags); + spin_lock_irqsave(&priv->lock, flags); pch_uart_hal_set_break(priv, ctl); - spin_unlock_irqrestore(&port->lock, flags); + spin_unlock_irqrestore(&priv->lock, flags); } /* Grab any interrupt resources and initialise any low level driver state. */ @@ -1263,6 +1271,7 @@ break; case 16: fifo_size = PCH_UART_HAL_FIFO16; + break; case 1: default: fifo_size = PCH_UART_HAL_FIFO_DIS; @@ -1300,7 +1309,8 @@ pch_request_dma(port); priv->start_rx = 1; - pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_RX_INT); + pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_RX_INT | + PCH_UART_HAL_RX_ERR_INT); uart_update_timeout(port, CS8, default_baud); return 0; @@ -1358,7 +1368,7 @@ stb = PCH_UART_HAL_STB1; if (termios->c_cflag & PARENB) { - if (!(termios->c_cflag & PARODD)) + if (termios->c_cflag & PARODD) parity = PCH_UART_HAL_PARITY_ODD; else parity = PCH_UART_HAL_PARITY_EVEN; @@ -1376,7 +1386,8 @@ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16); - spin_lock_irqsave(&port->lock, flags); + spin_lock_irqsave(&priv->lock, flags); + spin_lock(&port->lock); uart_update_timeout(port, termios->c_cflag, baud); rtn = pch_uart_hal_set_line(priv, baud, parity, bits, stb); @@ -1389,7 +1400,8 @@ tty_termios_encode_baud_rate(termios, baud, baud); out: - spin_unlock_irqrestore(&port->lock, flags); + spin_unlock(&port->lock); + spin_unlock_irqrestore(&priv->lock, flags); } static const char *pch_uart_type(struct uart_port *port) @@ -1538,8 +1550,9 @@ { struct eg20t_port *priv; unsigned long flags; + int priv_locked = 1; + int port_locked = 1; u8 ier; - int locked = 1; priv = pch_uart_ports[co->index]; @@ -1547,12 +1560,16 @@ local_irq_save(flags); if (priv->port.sysrq) { - /* serial8250_handle_port() already took the lock */ - locked = 0; + spin_lock(&priv->lock); + /* serial8250_handle_port() already took the port lock */ + port_locked = 0; } else if (oops_in_progress) { - locked = spin_trylock(&priv->port.lock); - } else + priv_locked = spin_trylock(&priv->lock); + port_locked = spin_trylock(&priv->port.lock); + } else { + spin_lock(&priv->lock); spin_lock(&priv->port.lock); + } /* * First save the IER then disable the interrupts @@ -1570,8 +1587,10 @@ wait_for_xmitr(priv, BOTH_EMPTY); iowrite8(ier, priv->membase + UART_IER); - if (locked) + if (port_locked) spin_unlock(&priv->port.lock); + if (priv_locked) + spin_unlock(&priv->lock); local_irq_restore(flags); } @@ -1669,6 +1688,8 @@ pci_enable_msi(pdev); pci_set_master(pdev); + spin_lock_init(&priv->lock); + iobase = pci_resource_start(pdev, 0); mapbase = pci_resource_start(pdev, 1); priv->mapbase = mapbase; --- linux-lowlatency-3.5.0.orig/drivers/tty/serial/pmac_zilog.c +++ linux-lowlatency-3.5.0/drivers/tty/serial/pmac_zilog.c @@ -1348,10 +1348,16 @@ static int pmz_poll_get_char(struct uart_port *port) { struct uart_pmac_port *uap = (struct uart_pmac_port *)port; + int tries = 2; - while ((read_zsreg(uap, R0) & Rx_CH_AV) == 0) - udelay(5); - return read_zsdata(uap); + while (tries) { + if ((read_zsreg(uap, R0) & Rx_CH_AV) != 0) + return read_zsdata(uap); + if (tries--) + udelay(5); + } + + return NO_POLL_CHAR; } static void pmz_poll_put_char(struct uart_port *port, unsigned char c) --- linux-lowlatency-3.5.0.orig/drivers/tty/serial/8250/8250_pci.c +++ linux-lowlatency-3.5.0/drivers/tty/serial/8250/8250_pci.c @@ -1164,6 +1164,8 @@ #define PCI_SUBDEVICE_ID_OCTPRO422 0x0208 #define PCI_SUBDEVICE_ID_POCTAL232 0x0308 #define PCI_SUBDEVICE_ID_POCTAL422 0x0408 +#define PCI_SUBDEVICE_ID_SIIG_DUAL_00 0x2500 +#define PCI_SUBDEVICE_ID_SIIG_DUAL_30 0x2530 #define PCI_VENDOR_ID_ADVANTECH 0x13fe #define PCI_DEVICE_ID_INTEL_CE4100_UART 0x2e66 #define PCI_DEVICE_ID_ADVANTECH_PCI3620 0x3620 @@ -3232,8 +3234,11 @@ * For now just used the hex ID 0x950a. */ { PCI_VENDOR_ID_OXSEMI, 0x950a, - PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_DUAL_SERIAL, 0, 0, - pbn_b0_2_115200 }, + PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_DUAL_00, + 0, 0, pbn_b0_2_115200 }, + { PCI_VENDOR_ID_OXSEMI, 0x950a, + PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_DUAL_30, + 0, 0, pbn_b0_2_115200 }, { PCI_VENDOR_ID_OXSEMI, 0x950a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b0_2_1130000 }, --- linux-lowlatency-3.5.0.orig/drivers/tty/vt/keyboard.c +++ linux-lowlatency-3.5.0/drivers/tty/vt/keyboard.c @@ -1049,13 +1049,10 @@ */ int vt_get_leds(int console, int flag) { - unsigned long flags; struct kbd_struct * kbd = kbd_table + console; int ret; - spin_lock_irqsave(&kbd_event_lock, flags); ret = vc_kbd_led(kbd, flag); - spin_unlock_irqrestore(&kbd_event_lock, flags); return ret; } --- linux-lowlatency-3.5.0.orig/drivers/tty/vt/vt.c +++ linux-lowlatency-3.5.0/drivers/tty/vt/vt.c @@ -102,6 +102,7 @@ #include #include #include +#include #define MAX_NR_CON_DRIVER 16 @@ -144,7 +145,7 @@ static int con_open(struct tty_struct *, struct file *); static void vc_init(struct vc_data *vc, unsigned int rows, - unsigned int cols, int do_clear); + unsigned int cols, int do_clear, int mode); static void gotoxy(struct vc_data *vc, int new_x, int new_y); static void save_cur(struct vc_data *vc); static void reset_terminal(struct vc_data *vc, int do_clear); @@ -165,6 +166,9 @@ static int cur_default = CUR_DEFAULT; module_param(cur_default, int, S_IRUGO | S_IWUSR); +int vt_handoff = 0; +module_param_named(handoff, vt_handoff, int, S_IRUGO | S_IWUSR); + /* * ignore_poke: don't unblank the screen when things are typed. This is * mainly for the privacy of braille terminal users. @@ -694,6 +698,13 @@ } if (tty0dev) sysfs_notify(&tty0dev->kobj, NULL, "active"); + /* + * If we are switching away from a transparent VT the contents + * will be lost, convert it into a blank text console then + * it will be repainted blank if we ever switch back. + */ + if (old_vc->vc_mode == KD_TRANSPARENT) + old_vc->vc_mode = KD_TEXT; } else { hide_cursor(vc); redraw = 1; @@ -807,7 +818,7 @@ if (global_cursor_default == -1) global_cursor_default = 1; - vc_init(vc, vc->vc_rows, vc->vc_cols, 1); + vc_init(vc, vc->vc_rows, vc->vc_cols, 1, KD_TEXT); vcs_make_sysfs(currcons); atomic_notifier_call_chain(&vt_notifier_list, VT_ALLOCATE, ¶m); } @@ -2848,7 +2859,7 @@ module_param_named(underline, default_underline_color, int, S_IRUGO | S_IWUSR); static void vc_init(struct vc_data *vc, unsigned int rows, - unsigned int cols, int do_clear) + unsigned int cols, int do_clear, int mode) { int j, k ; @@ -2859,7 +2870,7 @@ set_origin(vc); vc->vc_pos = vc->vc_origin; - reset_vc(vc); + reset_vc(vc, mode); for (j=k=0; j<16; j++) { vc->vc_palette[k++] = default_red[j] ; vc->vc_palette[k++] = default_grn[j] ; @@ -2885,6 +2896,13 @@ struct vc_data *vc; unsigned int currcons = 0, i; + if (screen_info.flags & VIDEO_FLAGS_HANDOFF) { + if (vt_handoff == 0) + vt_handoff = 8; + printk(KERN_INFO "vt handoff: grub requested handoff (vt#%d)\n", + vt_handoff); + } + console_lock(); if (conswitchp) @@ -2916,16 +2934,31 @@ mod_timer(&console_timer, jiffies + (blankinterval * HZ)); } + if (vt_handoff > 0 && vt_handoff <= MAX_NR_CONSOLES) { + currcons = vt_handoff - 1; + vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT); + INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK); + visual_init(vc, currcons, 1); + vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT); + vc_init(vc, vc->vc_rows, vc->vc_cols, 0, KD_TRANSPARENT); + } for (currcons = 0; currcons < MIN_NR_CONSOLES; currcons++) { + if (currcons == vt_handoff - 1) + continue; vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT); INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK); tty_port_init(&vc->port); visual_init(vc, currcons, 1); vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT); vc_init(vc, vc->vc_rows, vc->vc_cols, - currcons || !vc->vc_sw->con_save_screen); + currcons || !vc->vc_sw->con_save_screen, KD_TEXT); } currcons = fg_console = 0; + if (vt_handoff > 0) { + printk(KERN_INFO "vt handoff: transparent VT on vt#%d\n", + vt_handoff); + currcons = fg_console = vt_handoff - 1; + } master_display_fg = vc = vc_cons[currcons].d; set_origin(vc); save_screen(vc); @@ -3475,6 +3508,19 @@ kdb_set(2, setargs); } } + if (vc->vc_cols < 999) { + int colcount; + char cols[4]; + const char *setargs[3] = { + "set", + "COLUMNS", + cols, + }; + if (kdbgetintenv(setargs[0], &colcount)) { + snprintf(cols, 4, "%i", vc->vc_cols); + kdb_set(2, setargs); + } + } #endif /* CONFIG_KGDB_KDB */ return ret; } --- linux-lowlatency-3.5.0.orig/drivers/tty/vt/vt_ioctl.c +++ linux-lowlatency-3.5.0/drivers/tty/vt/vt_ioctl.c @@ -996,9 +996,9 @@ return ret; } -void reset_vc(struct vc_data *vc) +void reset_vc(struct vc_data *vc, int mode) { - vc->vc_mode = KD_TEXT; + vc->vc_mode = mode; vt_reset_unicode(vc->vc_num); vc->vt_mode.mode = VT_AUTO; vc->vt_mode.waitv = 0; @@ -1030,7 +1030,7 @@ */ if (tty) __do_SAK(tty); - reset_vc(vc); + reset_vc(vc, KD_TEXT); } console_unlock(); } @@ -1287,7 +1287,7 @@ * this outside of VT_PROCESS but there is no single process * to account for and tracking tty count may be undesirable. */ - reset_vc(vc); + reset_vc(vc, KD_TEXT); if (old_vc_mode != vc->vc_mode) { if (vc->vc_mode == KD_TEXT) @@ -1359,7 +1359,7 @@ * this outside of VT_PROCESS but there is no single process * to account for and tracking tty count may be undesirable. */ - reset_vc(vc); + reset_vc(vc, KD_TEXT); /* * Fall through to normal (VT_AUTO) handling of the switch... --- linux-lowlatency-3.5.0.orig/drivers/usb/atm/ueagle-atm.c +++ linux-lowlatency-3.5.0/drivers/usb/atm/ueagle-atm.c @@ -307,6 +307,34 @@ #define FW_GET_BYTE(p) (*((__u8 *) (p))) #define FW_DIR "ueagle-atm/" +#define EAGLE_FIRMWARE FW_DIR "eagle.fw" +#define ADI930_FIRMWARE FW_DIR "adi930.fw" +#define EAGLE_I_FIRMWARE FW_DIR "eagleI.fw" +#define EAGLE_II_FIRMWARE FW_DIR "eagleII.fw" +#define EAGLE_III_FIRMWARE FW_DIR "eagleIII.fw" +#define EAGLE_IV_FIRMWARE FW_DIR "eagleIV.fw" + +#define DSP4I_FIRMWARE FW_DIR "DSP4i.bin" +#define DSP4P_FIRMWARE FW_DIR "DSP4p.bin" +#define DSP9I_FIRMWARE FW_DIR "DSP9i.bin" +#define DSP9P_FIRMWARE FW_DIR "DSP9p.bin" +#define DSPEI_FIRMWARE FW_DIR "DSPei.bin" +#define DSPEP_FIRMWARE FW_DIR "DSPep.bin" +#define FPGA930_FIRMWARE FW_DIR "930-fpga.bin" + +#define CMV4P_FIRMWARE FW_DIR "CMV4p.bin" +#define CMV4PV2_FIRMWARE FW_DIR "CMV4p.bin.v2" +#define CMV4I_FIRMWARE FW_DIR "CMV4i.bin" +#define CMV4IV2_FIRMWARE FW_DIR "CMV4i.bin.v2" +#define CMV9P_FIRMWARE FW_DIR "CMV9p.bin" +#define CMV9PV2_FIRMWARE FW_DIR "CMV9p.bin.v2" +#define CMV9I_FIRMWARE FW_DIR "CMV9i.bin" +#define CMV9IV2_FIRMWARE FW_DIR "CMV9i.bin.v2" +#define CMVEP_FIRMWARE FW_DIR "CMVep.bin" +#define CMVEPV2_FIRMWARE FW_DIR "CMVep.bin.v2" +#define CMVEI_FIRMWARE FW_DIR "CMVei.bin" +#define CMVEIV2_FIRMWARE FW_DIR "CMVei.bin.v2" + #define UEA_FW_NAME_MAX 30 #define NB_MODEM 4 @@ -694,26 +722,26 @@ static int uea_load_firmware(struct usb_device *usb, unsigned int ver) { int ret; - char *fw_name = FW_DIR "eagle.fw"; + char *fw_name = EAGLE_FIRMWARE; uea_enters(usb); uea_info(usb, "pre-firmware device, uploading firmware\n"); switch (ver) { case ADI930: - fw_name = FW_DIR "adi930.fw"; + fw_name = ADI930_FIRMWARE; break; case EAGLE_I: - fw_name = FW_DIR "eagleI.fw"; + fw_name = EAGLE_I_FIRMWARE; break; case EAGLE_II: - fw_name = FW_DIR "eagleII.fw"; + fw_name = EAGLE_II_FIRMWARE; break; case EAGLE_III: - fw_name = FW_DIR "eagleIII.fw"; + fw_name = EAGLE_III_FIRMWARE; break; case EAGLE_IV: - fw_name = FW_DIR "eagleIV.fw"; + fw_name = EAGLE_IV_FIRMWARE; break; } @@ -869,19 +897,19 @@ if (UEA_CHIP_VERSION(sc) == EAGLE_IV) { if (IS_ISDN(sc)) - dsp_name = FW_DIR "DSP4i.bin"; + dsp_name = DSP4I_FIRMWARE; else - dsp_name = FW_DIR "DSP4p.bin"; + dsp_name = DSP4P_FIRMWARE; } else if (UEA_CHIP_VERSION(sc) == ADI930) { if (IS_ISDN(sc)) - dsp_name = FW_DIR "DSP9i.bin"; + dsp_name = DSP9I_FIRMWARE; else - dsp_name = FW_DIR "DSP9p.bin"; + dsp_name = DSP9P_FIRMWARE; } else { if (IS_ISDN(sc)) - dsp_name = FW_DIR "DSPei.bin"; + dsp_name = DSPEI_FIRMWARE; else - dsp_name = FW_DIR "DSPep.bin"; + dsp_name = DSPEP_FIRMWARE; } ret = request_firmware(&sc->dsp_firm, dsp_name, &sc->usb_dev->dev); @@ -1925,7 +1953,7 @@ int ret, size, u, ln; const u8 *pfw; u8 value; - char *fw_name = FW_DIR "930-fpga.bin"; + char *fw_name = FPGA930_FIRMWARE; uea_enters(INS_TO_USBDEV(sc)); @@ -2753,3 +2781,28 @@ MODULE_AUTHOR("Damien Bergamini/Matthieu Castet/Stanislaw W. Gruszka"); MODULE_DESCRIPTION("ADI 930/Eagle USB ADSL Modem driver"); MODULE_LICENSE("Dual BSD/GPL"); +MODULE_FIRMWARE(EAGLE_FIRMWARE); +MODULE_FIRMWARE(ADI930_FIRMWARE); +MODULE_FIRMWARE(EAGLE_I_FIRMWARE); +MODULE_FIRMWARE(EAGLE_II_FIRMWARE); +MODULE_FIRMWARE(EAGLE_III_FIRMWARE); +MODULE_FIRMWARE(EAGLE_IV_FIRMWARE); +MODULE_FIRMWARE(DSP4I_FIRMWARE); +MODULE_FIRMWARE(DSP4P_FIRMWARE); +MODULE_FIRMWARE(DSP9I_FIRMWARE); +MODULE_FIRMWARE(DSP9P_FIRMWARE); +MODULE_FIRMWARE(DSPEI_FIRMWARE); +MODULE_FIRMWARE(DSPEP_FIRMWARE); +MODULE_FIRMWARE(FPGA930_FIRMWARE); +MODULE_FIRMWARE(CMV4P_FIRMWARE); +MODULE_FIRMWARE(CMV4PV2_FIRMWARE); +MODULE_FIRMWARE(CMV4I_FIRMWARE); +MODULE_FIRMWARE(CMV4IV2_FIRMWARE); +MODULE_FIRMWARE(CMV9P_FIRMWARE); +MODULE_FIRMWARE(CMV9PV2_FIRMWARE); +MODULE_FIRMWARE(CMV9I_FIRMWARE); +MODULE_FIRMWARE(CMV9IV2_FIRMWARE); +MODULE_FIRMWARE(CMVEP_FIRMWARE); +MODULE_FIRMWARE(CMVEPV2_FIRMWARE); +MODULE_FIRMWARE(CMVEI_FIRMWARE); +MODULE_FIRMWARE(CMVEIV2_FIRMWARE); --- linux-lowlatency-3.5.0.orig/drivers/usb/class/cdc-acm.c +++ linux-lowlatency-3.5.0/drivers/usb/class/cdc-acm.c @@ -818,10 +818,6 @@ 2500000, 3000000, 3500000, 4000000 }; -static const __u8 acm_tty_size[] = { - 5, 6, 7, 8 -}; - static void acm_tty_set_termios(struct tty_struct *tty, struct ktermios *termios_old) { @@ -835,7 +831,21 @@ newline.bParityType = termios->c_cflag & PARENB ? (termios->c_cflag & PARODD ? 1 : 2) + (termios->c_cflag & CMSPAR ? 2 : 0) : 0; - newline.bDataBits = acm_tty_size[(termios->c_cflag & CSIZE) >> 4]; + switch (termios->c_cflag & CSIZE) { + case CS5: + newline.bDataBits = 5; + break; + case CS6: + newline.bDataBits = 6; + break; + case CS7: + newline.bDataBits = 7; + break; + case CS8: + default: + newline.bDataBits = 8; + break; + } /* FIXME: Needs to clear unsupported bits in the termios */ acm->clocal = ((termios->c_cflag & CLOCAL) != 0); @@ -1104,7 +1114,8 @@ } - if (data_interface->cur_altsetting->desc.bNumEndpoints < 2) + if (data_interface->cur_altsetting->desc.bNumEndpoints < 2 || + control_interface->cur_altsetting->desc.bNumEndpoints == 0) return -EINVAL; epctrl = &control_interface->cur_altsetting->endpoint[0].desc; @@ -1233,7 +1244,7 @@ if (usb_endpoint_xfer_int(epwrite)) usb_fill_int_urb(snd->urb, usb_dev, - usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress), + usb_sndintpipe(usb_dev, epwrite->bEndpointAddress), NULL, acm->writesize, acm_write_bulk, snd, epwrite->bInterval); else usb_fill_bulk_urb(snd->urb, usb_dev, --- linux-lowlatency-3.5.0.orig/drivers/usb/class/cdc-wdm.c +++ linux-lowlatency-3.5.0/drivers/usb/class/cdc-wdm.c @@ -134,12 +134,14 @@ /* return intfdata if we own the interface, else look up intf in the list */ static struct wdm_device *wdm_find_device(struct usb_interface *intf) { - struct wdm_device *desc = NULL; + struct wdm_device *desc; spin_lock(&wdm_device_list_lock); list_for_each_entry(desc, &wdm_device_list, device_list) if (desc->intf == intf) - break; + goto found; + desc = NULL; +found: spin_unlock(&wdm_device_list_lock); return desc; @@ -147,12 +149,14 @@ static struct wdm_device *wdm_find_device_by_minor(int minor) { - struct wdm_device *desc = NULL; + struct wdm_device *desc; spin_lock(&wdm_device_list_lock); list_for_each_entry(desc, &wdm_device_list, device_list) if (desc->intf->minor == minor) - break; + goto found; + desc = NULL; +found: spin_unlock(&wdm_device_list_lock); return desc; --- linux-lowlatency-3.5.0.orig/drivers/usb/core/devices.c +++ linux-lowlatency-3.5.0/drivers/usb/core/devices.c @@ -624,7 +624,7 @@ /* print devices for all busses */ list_for_each_entry(bus, &usb_bus_list, bus_list) { /* recurse through all children of the root hub */ - if (!bus->root_hub) + if (!bus_to_hcd(bus)->rh_registered) continue; usb_lock_device(bus->root_hub); ret = usb_device_dump(&buf, &nbytes, &skip_bytes, ppos, --- linux-lowlatency-3.5.0.orig/drivers/usb/core/devio.c +++ linux-lowlatency-3.5.0/drivers/usb/core/devio.c @@ -1604,10 +1604,14 @@ void __user *addr = as->userurb; unsigned int i; - if (as->userbuffer && urb->actual_length) - if (copy_to_user(as->userbuffer, urb->transfer_buffer, - urb->actual_length)) + if (as->userbuffer && urb->actual_length) { + if (urb->number_of_packets > 0) /* Isochronous */ + i = urb->transfer_buffer_length; + else /* Non-Isoc */ + i = urb->actual_length; + if (copy_to_user(as->userbuffer, urb->transfer_buffer, i)) return -EFAULT; + } if (put_user(as->status, &userurb->status)) return -EFAULT; if (put_user(urb->actual_length, &userurb->actual_length)) --- linux-lowlatency-3.5.0.orig/drivers/usb/core/driver.c +++ linux-lowlatency-3.5.0/drivers/usb/core/driver.c @@ -371,6 +371,10 @@ intf->condition = USB_INTERFACE_UNBOUND; usb_cancel_queued_reset(intf); + /* If the LPM disable succeeded, balance the ref counts. */ + if (!lpm_disable_error) + usb_unlocked_enable_lpm(udev); + /* Unbound interfaces are always runtime-PM-disabled and -suspended */ if (driver->supports_autosuspend) pm_runtime_disable(dev); --- linux-lowlatency-3.5.0.orig/drivers/usb/core/hcd.c +++ linux-lowlatency-3.5.0/drivers/usb/core/hcd.c @@ -1011,10 +1011,7 @@ if (retval) { dev_err (parent_dev, "can't register root hub for %s, %d\n", dev_name(&usb_dev->dev), retval); - } - mutex_unlock(&usb_bus_list_lock); - - if (retval == 0) { + } else { spin_lock_irq (&hcd_root_hub_lock); hcd->rh_registered = 1; spin_unlock_irq (&hcd_root_hub_lock); @@ -1023,6 +1020,7 @@ if (HCD_DEAD(hcd)) usb_hc_died (hcd); /* This time clean up */ } + mutex_unlock(&usb_bus_list_lock); return retval; } --- linux-lowlatency-3.5.0.orig/drivers/usb/core/hub.c +++ linux-lowlatency-3.5.0/drivers/usb/core/hub.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include @@ -81,7 +83,7 @@ u8 indicator[USB_MAXCHILDREN]; struct delayed_work leds; struct delayed_work init_work; - void **port_owners; + struct dev_state **port_owners; }; static inline int hub_is_superspeed(struct usb_device *hdev) @@ -728,13 +730,16 @@ int limit = 100; spin_lock_irqsave (&hub->tt.lock, flags); - while (--limit && !list_empty (&hub->tt.clear_list)) { + while (!list_empty(&hub->tt.clear_list)) { struct list_head *next; struct usb_tt_clear *clear; struct usb_device *hdev = hub->hdev; const struct hc_driver *drv; int status; + if (!hub->quiescing && --limit < 0) + break; + next = hub->tt.clear_list.next; clear = list_entry (next, struct usb_tt_clear, clear_list); list_del (&clear->clear_list); @@ -1199,7 +1204,7 @@ if (hub->has_indicators) cancel_delayed_work_sync(&hub->leds); if (hub->tt.hub) - cancel_work_sync(&hub->tt.clear_work); + flush_work_sync(&hub->tt.clear_work); } /* caller has locked the hub device */ @@ -1271,7 +1276,8 @@ hdev->children = kzalloc(hdev->maxchild * sizeof(struct usb_device *), GFP_KERNEL); - hub->port_owners = kzalloc(hdev->maxchild * sizeof(void *), GFP_KERNEL); + hub->port_owners = kzalloc(hdev->maxchild * sizeof(struct dev_state *), + GFP_KERNEL); if (!hdev->children || !hub->port_owners) { ret = -ENOMEM; goto fail; @@ -1649,7 +1655,7 @@ * to one of these "claimed" ports, the program will "own" the device. */ static int find_port_owner(struct usb_device *hdev, unsigned port1, - void ***ppowner) + struct dev_state ***ppowner) { if (hdev->state == USB_STATE_NOTATTACHED) return -ENODEV; @@ -1664,10 +1670,11 @@ } /* In the following three functions, the caller must hold hdev's lock */ -int usb_hub_claim_port(struct usb_device *hdev, unsigned port1, void *owner) +int usb_hub_claim_port(struct usb_device *hdev, unsigned port1, + struct dev_state *owner) { int rc; - void **powner; + struct dev_state **powner; rc = find_port_owner(hdev, port1, &powner); if (rc) @@ -1678,10 +1685,11 @@ return rc; } -int usb_hub_release_port(struct usb_device *hdev, unsigned port1, void *owner) +int usb_hub_release_port(struct usb_device *hdev, unsigned port1, + struct dev_state *owner) { int rc; - void **powner; + struct dev_state **powner; rc = find_port_owner(hdev, port1, &powner); if (rc) @@ -1692,10 +1700,10 @@ return rc; } -void usb_hub_release_all_ports(struct usb_device *hdev, void *owner) +void usb_hub_release_all_ports(struct usb_device *hdev, struct dev_state *owner) { int n; - void **powner; + struct dev_state **powner; n = find_port_owner(hdev, 1, &powner); if (n == 0) { @@ -2173,6 +2181,14 @@ /* Tell the world! */ announce_device(udev); + if (udev->serial) + add_device_randomness(udev->serial, strlen(udev->serial)); + if (udev->product) + add_device_randomness(udev->product, strlen(udev->product)); + if (udev->manufacturer) + add_device_randomness(udev->manufacturer, + strlen(udev->manufacturer)); + device_enable_async_suspend(&udev->dev); /* @@ -2218,6 +2234,10 @@ */ int usb_deauthorize_device(struct usb_device *usb_dev) { + char *product = NULL; + char *manufacturer = NULL; + char *serial = NULL; + usb_lock_device(usb_dev); if (usb_dev->authorized == 0) goto out_unauthorized; @@ -2225,11 +2245,12 @@ usb_dev->authorized = 0; usb_set_configuration(usb_dev, -1); - kfree(usb_dev->product); + product = usb_dev->product; + manufacturer = usb_dev->manufacturer; + serial = usb_dev->serial; + usb_dev->product = kstrdup("n/a (unauthorized)", GFP_KERNEL); - kfree(usb_dev->manufacturer); usb_dev->manufacturer = kstrdup("n/a (unauthorized)", GFP_KERNEL); - kfree(usb_dev->serial); usb_dev->serial = kstrdup("n/a (unauthorized)", GFP_KERNEL); usb_destroy_configuration(usb_dev); @@ -2237,6 +2258,12 @@ out_unauthorized: usb_unlock_device(usb_dev); + if (product || manufacturer || serial) { + synchronize_rcu(); + kfree(product); + kfree(manufacturer); + kfree(serial); + } return 0; } @@ -2244,6 +2271,9 @@ int usb_authorize_device(struct usb_device *usb_dev) { int result = 0, c; + char *product = NULL; + char *manufacturer = NULL; + char *serial = NULL; usb_lock_device(usb_dev); if (usb_dev->authorized == 1) @@ -2262,11 +2292,12 @@ goto error_device_descriptor; } - kfree(usb_dev->product); + product = usb_dev->product; + manufacturer = usb_dev->manufacturer; + serial = usb_dev->serial; + usb_dev->product = NULL; - kfree(usb_dev->manufacturer); usb_dev->manufacturer = NULL; - kfree(usb_dev->serial); usb_dev->serial = NULL; usb_dev->authorized = 1; @@ -2294,6 +2325,12 @@ error_autoresume: out_authorized: usb_unlock_device(usb_dev); // complements locktree + if (product || manufacturer || serial) { + synchronize_rcu(); + kfree(product); + kfree(manufacturer); + kfree(serial); + } return result; } @@ -2611,6 +2648,57 @@ return status; } +static bool usb_device_supports_ltm(struct usb_device *udev) +{ + if (udev->speed != USB_SPEED_SUPER || !udev->bos || !udev->bos->ss_cap) + return false; + return udev->bos->ss_cap->bmAttributes & USB_LTM_SUPPORT; +} + +int usb_disable_ltm(struct usb_device *udev) +{ + struct usb_hcd *hcd = bus_to_hcd(udev->bus); + + /* Check if the roothub and device supports LTM. */ + if (!usb_device_supports_ltm(hcd->self.root_hub) || + !usb_device_supports_ltm(udev)) + return 0; + + /* Clear Feature LTM Enable can only be sent if the device is + * configured. + */ + if (!udev->actconfig) + return 0; + + return usb_control_msg(udev, usb_sndctrlpipe(udev, 0), + USB_REQ_CLEAR_FEATURE, USB_RECIP_DEVICE, + USB_DEVICE_LTM_ENABLE, 0, NULL, 0, + USB_CTRL_SET_TIMEOUT); +} +EXPORT_SYMBOL_GPL(usb_disable_ltm); + +void usb_enable_ltm(struct usb_device *udev) +{ + struct usb_hcd *hcd = bus_to_hcd(udev->bus); + + /* Check if the roothub and device supports LTM. */ + if (!usb_device_supports_ltm(hcd->self.root_hub) || + !usb_device_supports_ltm(udev)) + return; + + /* Set Feature LTM Enable can only be sent if the device is + * configured. + */ + if (!udev->actconfig) + return; + + usb_control_msg(udev, usb_sndctrlpipe(udev, 0), + USB_REQ_SET_FEATURE, USB_RECIP_DEVICE, + USB_DEVICE_LTM_ENABLE, 0, NULL, 0, + USB_CTRL_SET_TIMEOUT); +} +EXPORT_SYMBOL_GPL(usb_enable_ltm); + #ifdef CONFIG_USB_SUSPEND /* @@ -2706,6 +2794,11 @@ if (udev->usb2_hw_lpm_enabled == 1) usb_set_usb2_hardware_lpm(udev, 0); + if (usb_disable_ltm(udev)) { + dev_err(&udev->dev, "%s Failed to disable LTM before suspend\n.", + __func__); + return -ENOMEM; + } if (usb_unlocked_disable_lpm(udev)) { dev_err(&udev->dev, "%s Failed to disable LPM before suspend\n.", __func__); @@ -2735,7 +2828,8 @@ if (udev->usb2_hw_lpm_capable == 1) usb_set_usb2_hardware_lpm(udev, 1); - /* Try to enable USB3 LPM again */ + /* Try to enable USB3 LTM and LPM again */ + usb_enable_ltm(udev); usb_unlocked_enable_lpm(udev); /* System sleep transitions should never fail */ @@ -2936,7 +3030,8 @@ if (udev->usb2_hw_lpm_capable == 1) usb_set_usb2_hardware_lpm(udev, 1); - /* Try to enable USB3 LPM */ + /* Try to enable USB3 LTM and LPM */ + usb_enable_ltm(udev); usb_unlocked_enable_lpm(udev); } @@ -3190,16 +3285,6 @@ if (enable) { /* - * First, let the device know about the exit latencies - * associated with the link state we're about to enable. - */ - ret = usb_req_set_sel(udev, state); - if (ret < 0) { - dev_warn(&udev->dev, "Set SEL for device-initiated " - "%s failed.\n", usb3_lpm_names[state]); - return -EBUSY; - } - /* * Now send the control transfer to enable device-initiated LPM * for either U1 or U2. */ @@ -3284,7 +3369,28 @@ static void usb_enable_link_state(struct usb_hcd *hcd, struct usb_device *udev, enum usb3_link_state state) { - int timeout; + int timeout, ret; + __u8 u1_mel = udev->bos->ss_cap->bU1devExitLat; + __le16 u2_mel = udev->bos->ss_cap->bU2DevExitLat; + + /* If the device says it doesn't have *any* exit latency to come out of + * U1 or U2, it's probably lying. Assume it doesn't implement that link + * state. + */ + if ((state == USB3_LPM_U1 && u1_mel == 0) || + (state == USB3_LPM_U2 && u2_mel == 0)) + return; + + /* + * First, let the device know about the exit latencies + * associated with the link state we're about to enable. + */ + ret = usb_req_set_sel(udev, state); + if (ret < 0) { + dev_warn(&udev->dev, "Set SEL for device-initiated %s failed.\n", + usb3_lpm_names[state]); + return; + } /* We allow the host controller to set the U1/U2 timeout internally * first, so that it can change its schedule to account for the @@ -3489,6 +3595,15 @@ void usb_unlocked_enable_lpm(struct usb_device *udev) { } EXPORT_SYMBOL_GPL(usb_unlocked_enable_lpm); + +int usb_disable_ltm(struct usb_device *udev) +{ + return 0; +} +EXPORT_SYMBOL_GPL(usb_disable_ltm); + +void usb_enable_ltm(struct usb_device *udev) { } +EXPORT_SYMBOL_GPL(usb_enable_ltm); #endif @@ -4672,6 +4787,23 @@ } parent_hub = hdev_to_hub(parent_hdev); + /* Disable LPM and LTM while we reset the device and reinstall the alt + * settings. Device-initiated LPM settings, and system exit latency + * settings are cleared when the device is reset, so we have to set + * them up again. + */ + ret = usb_unlocked_disable_lpm(udev); + if (ret) { + dev_err(&udev->dev, "%s Failed to disable LPM\n.", __func__); + goto re_enumerate; + } + ret = usb_disable_ltm(udev); + if (ret) { + dev_err(&udev->dev, "%s Failed to disable LTM\n.", + __func__); + goto re_enumerate; + } + set_bit(port1, parent_hub->busy_bits); for (i = 0; i < SET_CONFIG_TRIES; ++i) { @@ -4699,22 +4831,11 @@ goto done; mutex_lock(hcd->bandwidth_mutex); - /* Disable LPM while we reset the device and reinstall the alt settings. - * Device-initiated LPM settings, and system exit latency settings are - * cleared when the device is reset, so we have to set them up again. - */ - ret = usb_disable_lpm(udev); - if (ret) { - dev_err(&udev->dev, "%s Failed to disable LPM\n.", __func__); - mutex_unlock(hcd->bandwidth_mutex); - goto done; - } ret = usb_hcd_alloc_bandwidth(udev, udev->actconfig, NULL, NULL); if (ret < 0) { dev_warn(&udev->dev, "Busted HC? Not enough HCD resources for " "old configuration.\n"); - usb_enable_lpm(udev); mutex_unlock(hcd->bandwidth_mutex); goto re_enumerate; } @@ -4726,7 +4847,6 @@ dev_err(&udev->dev, "can't restore configuration #%d (error=%d)\n", udev->actconfig->desc.bConfigurationValue, ret); - usb_enable_lpm(udev); mutex_unlock(hcd->bandwidth_mutex); goto re_enumerate; } @@ -4765,17 +4885,18 @@ desc->bInterfaceNumber, desc->bAlternateSetting, ret); - usb_unlocked_enable_lpm(udev); goto re_enumerate; } } - /* Now that the alt settings are re-installed, enable LPM. */ - usb_unlocked_enable_lpm(udev); done: + /* Now that the alt settings are re-installed, enable LTM and LPM. */ + usb_unlocked_enable_lpm(udev); + usb_enable_ltm(udev); return 0; re_enumerate: + /* LPM state doesn't matter when we're about to destroy the device. */ hub_port_logical_disconnect(parent_hub, port1); return -ENODEV; } --- linux-lowlatency-3.5.0.orig/drivers/usb/core/message.c +++ linux-lowlatency-3.5.0/drivers/usb/core/message.c @@ -1174,6 +1174,8 @@ put_device(&dev->actconfig->interface[i]->dev); dev->actconfig->interface[i] = NULL; } + usb_unlocked_disable_lpm(dev); + usb_disable_ltm(dev); dev->actconfig = NULL; if (dev->state == USB_STATE_CONFIGURED) usb_set_device_state(dev, USB_STATE_ADDRESS); @@ -1791,14 +1793,15 @@ * installed, so that the xHCI driver can recalculate the U1/U2 * timeouts. */ - if (usb_disable_lpm(dev)) { + if (dev->actconfig && usb_disable_lpm(dev)) { dev_err(&dev->dev, "%s Failed to disable LPM\n.", __func__); mutex_unlock(hcd->bandwidth_mutex); return -ENOMEM; } ret = usb_hcd_alloc_bandwidth(dev, cp, NULL, NULL); if (ret < 0) { - usb_enable_lpm(dev); + if (dev->actconfig) + usb_enable_lpm(dev); mutex_unlock(hcd->bandwidth_mutex); usb_autosuspend_device(dev); goto free_interfaces; @@ -1818,7 +1821,7 @@ if (!cp) { usb_set_device_state(dev, USB_STATE_ADDRESS); usb_hcd_alloc_bandwidth(dev, NULL, NULL, NULL); - usb_enable_lpm(dev); + /* Leave LPM disabled while the device is unconfigured. */ mutex_unlock(hcd->bandwidth_mutex); usb_autosuspend_device(dev); goto free_interfaces; @@ -1876,6 +1879,8 @@ /* Now that the interfaces are installed, re-enable LPM. */ usb_unlocked_enable_lpm(dev); + /* Enable LTM if it was turned off by usb_disable_device. */ + usb_enable_ltm(dev); /* Now that all the interfaces are set up, register them * to trigger binding of drivers to interfaces. probe() --- linux-lowlatency-3.5.0.orig/drivers/usb/core/quirks.c +++ linux-lowlatency-3.5.0/drivers/usb/core/quirks.c @@ -96,6 +96,10 @@ { USB_DEVICE(0x04b4, 0x0526), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, + /* Microchip Joss Optical infrared touchboard device */ + { USB_DEVICE(0x04d8, 0x000c), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + /* Samsung Android phone modem - ID conflict with SPH-I500 */ { USB_DEVICE(0x04e8, 0x6601), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, --- linux-lowlatency-3.5.0.orig/drivers/usb/core/sysfs.c +++ linux-lowlatency-3.5.0/drivers/usb/core/sysfs.c @@ -85,9 +85,9 @@ int retval; \ \ udev = to_usb_device(dev); \ - usb_lock_device(udev); \ - retval = sprintf(buf, "%s\n", udev->name); \ - usb_unlock_device(udev); \ + rcu_read_lock(); \ + retval = sprintf(buf, "%s\n", rcu_dereference(udev->name)); \ + rcu_read_unlock(); \ return retval; \ } \ static DEVICE_ATTR(name, S_IRUGO, show_##name, NULL); --- linux-lowlatency-3.5.0.orig/drivers/usb/core/usb.c +++ linux-lowlatency-3.5.0/drivers/usb/core/usb.c @@ -396,6 +396,7 @@ dev->dev.dma_mask = bus->controller->dma_mask; set_dev_node(&dev->dev, dev_to_node(bus->controller)); dev->state = USB_STATE_ATTACHED; + dev->lpm_disable_count = 1; atomic_set(&dev->urbnum, 0); INIT_LIST_HEAD(&dev->ep0.urb_list); --- linux-lowlatency-3.5.0.orig/drivers/usb/core/usb.h +++ linux-lowlatency-3.5.0/drivers/usb/core/usb.h @@ -1,5 +1,7 @@ #include +struct dev_state; + /* Functions local to drivers/usb/core/ */ extern int usb_create_sysfs_dev_files(struct usb_device *dev); @@ -41,10 +43,11 @@ extern void usb_rebind_intf(struct usb_interface *intf); extern int usb_hub_claim_port(struct usb_device *hdev, unsigned port, - void *owner); + struct dev_state *owner); extern int usb_hub_release_port(struct usb_device *hdev, unsigned port, - void *owner); -extern void usb_hub_release_all_ports(struct usb_device *hdev, void *owner); + struct dev_state *owner); +extern void usb_hub_release_all_ports(struct usb_device *hdev, + struct dev_state *owner); extern bool usb_device_is_owned(struct usb_device *udev); extern int usb_hub_init(void); --- linux-lowlatency-3.5.0.orig/drivers/usb/dwc3/core.c +++ linux-lowlatency-3.5.0/drivers/usb/dwc3/core.c @@ -429,16 +429,21 @@ dev_err(dev, "missing IRQ\n"); return -ENODEV; } - dwc->xhci_resources[1] = *res; + dwc->xhci_resources[1].start = res->start; + dwc->xhci_resources[1].end = res->end; + dwc->xhci_resources[1].flags = res->flags; + dwc->xhci_resources[1].name = res->name; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { dev_err(dev, "missing memory resource\n"); return -ENODEV; } - dwc->xhci_resources[0] = *res; + dwc->xhci_resources[0].start = res->start; dwc->xhci_resources[0].end = dwc->xhci_resources[0].start + DWC3_XHCI_REGS_END; + dwc->xhci_resources[0].flags = res->flags; + dwc->xhci_resources[0].name = res->name; /* * Request memory region but exclude xHCI regs, --- linux-lowlatency-3.5.0.orig/drivers/usb/dwc3/ep0.c +++ linux-lowlatency-3.5.0/drivers/usb/dwc3/ep0.c @@ -702,7 +702,6 @@ transferred = min_t(u32, ur->length, transfer_size - length); memcpy(ur->buf, dwc->ep0_bounce, transferred); - dwc->ep0_bounced = false; } else { transferred = ur->length - length; } --- linux-lowlatency-3.5.0.orig/drivers/usb/dwc3/gadget.c +++ linux-lowlatency-3.5.0/drivers/usb/dwc3/gadget.c @@ -238,8 +238,11 @@ if (req->request.status == -EINPROGRESS) req->request.status = status; - usb_gadget_unmap_request(&dwc->gadget, &req->request, - req->direction); + if (dwc->ep0_bounced && dep->number == 0) + dwc->ep0_bounced = false; + else + usb_gadget_unmap_request(&dwc->gadget, &req->request, + req->direction); dev_dbg(dwc->dev, "request %p from %s completed %d/%d ===> %d\n", req, dep->name, req->request.actual, @@ -1829,6 +1832,7 @@ ret = dwc3_send_gadget_ep_cmd(dwc, dep->number, cmd, ¶ms); WARN_ON_ONCE(ret); dep->res_trans_idx = 0; + dep->flags &= ~DWC3_EP_BUSY; } } --- linux-lowlatency-3.5.0.orig/drivers/usb/early/ehci-dbgp.c +++ linux-lowlatency-3.5.0/drivers/usb/early/ehci-dbgp.c @@ -450,7 +450,7 @@ writel(FLAG_CF, &ehci_regs->configured_flag); /* Wait until the controller is no longer halted */ - loop = 10; + loop = 1000; do { status = readl(&ehci_regs->status); if (!(status & STS_HALT)) --- linux-lowlatency-3.5.0.orig/drivers/usb/gadget/at91_udc.c +++ linux-lowlatency-3.5.0/drivers/usb/gadget/at91_udc.c @@ -475,8 +475,7 @@ unsigned long flags; if (!_ep || !ep - || !desc || ep->ep.desc - || _ep->name == ep0name + || !desc || _ep->name == ep0name || desc->bDescriptorType != USB_DT_ENDPOINT || (maxpacket = usb_endpoint_maxp(desc)) == 0 || maxpacket > ep->maxpacket) { @@ -530,7 +529,6 @@ tmp |= AT91_UDP_EPEDS; __raw_writel(tmp, ep->creg); - ep->ep.desc = desc; ep->ep.maxpacket = maxpacket; /* @@ -1634,7 +1632,6 @@ udc = container_of(gadget, struct at91_udc, gadget); udc->driver = driver; udc->gadget.dev.driver = &driver->driver; - dev_set_drvdata(&udc->gadget.dev, &driver->driver); udc->enabled = 1; udc->selfpowered = 1; @@ -1655,7 +1652,6 @@ spin_unlock_irqrestore(&udc->lock, flags); udc->gadget.dev.driver = NULL; - dev_set_drvdata(&udc->gadget.dev, NULL); udc->driver = NULL; DBG("unbound from %s\n", driver->driver.name); @@ -1702,7 +1698,7 @@ int retval; struct resource *res; - if (!dev->platform_data) { + if (!dev->platform_data && !pdev->dev.of_node) { /* small (so we copy it) but critical! */ DBG("missing platform_data\n"); return -ENODEV; --- linux-lowlatency-3.5.0.orig/drivers/usb/gadget/dummy_hcd.c +++ linux-lowlatency-3.5.0/drivers/usb/gadget/dummy_hcd.c @@ -1916,6 +1916,27 @@ return retval; } +/* usb 3.0 root hub device descriptor */ +struct { + struct usb_bos_descriptor bos; + struct usb_ss_cap_descriptor ss_cap; +} __packed usb3_bos_desc = { + + .bos = { + .bLength = USB_DT_BOS_SIZE, + .bDescriptorType = USB_DT_BOS, + .wTotalLength = cpu_to_le16(sizeof(usb3_bos_desc)), + .bNumDeviceCaps = 1, + }, + .ss_cap = { + .bLength = USB_DT_USB_SS_CAP_SIZE, + .bDescriptorType = USB_DT_DEVICE_CAPABILITY, + .bDevCapabilityType = USB_SS_CAP_TYPE, + .wSpeedSupported = cpu_to_le16(USB_5GBPS_OPERATION), + .bFunctionalitySupport = ilog2(USB_5GBPS_OPERATION), + }, +}; + static inline void ss_hub_descriptor(struct usb_hub_descriptor *desc) { @@ -2006,6 +2027,18 @@ else hub_descriptor((struct usb_hub_descriptor *) buf); break; + + case DeviceRequest | USB_REQ_GET_DESCRIPTOR: + if (hcd->speed != HCD_USB3) + goto error; + + if ((wValue >> 8) != USB_DT_BOS) + goto error; + + memcpy(buf, &usb3_bos_desc, sizeof(usb3_bos_desc)); + retval = sizeof(usb3_bos_desc); + break; + case GetHubStatus: *(__le32 *) buf = cpu_to_le32(0); break; @@ -2503,10 +2536,8 @@ hs_hcd->has_tt = 1; retval = usb_add_hcd(hs_hcd, 0, 0); - if (retval != 0) { - usb_put_hcd(hs_hcd); - return retval; - } + if (retval) + goto put_usb2_hcd; if (mod_data.is_super_speed) { ss_hcd = usb_create_shared_hcd(&dummy_hcd, &pdev->dev, @@ -2525,6 +2556,8 @@ put_usb3_hcd: usb_put_hcd(ss_hcd); dealloc_usb2_hcd: + usb_remove_hcd(hs_hcd); +put_usb2_hcd: usb_put_hcd(hs_hcd); the_controller.hs_hcd = the_controller.ss_hcd = NULL; return retval; --- linux-lowlatency-3.5.0.orig/drivers/usb/gadget/printer.c +++ linux-lowlatency-3.5.0/drivers/usb/gadget/printer.c @@ -141,18 +141,14 @@ * descriptors are built on demand. */ -#define STRING_MANUFACTURER 1 -#define STRING_PRODUCT 2 -#define STRING_SERIALNUM 3 +#define STRING_MANUFACTURER 0 +#define STRING_PRODUCT 1 +#define STRING_SERIALNUM 2 /* holds our biggest descriptor */ #define USB_DESC_BUFSIZE 256 #define USB_BUFSIZE 8192 -/* This device advertises one configuration. */ -#define DEV_CONFIG_VALUE 1 -#define PRINTER_INTERFACE 0 - static struct usb_device_descriptor device_desc = { .bLength = sizeof device_desc, .bDescriptorType = USB_DT_DEVICE, @@ -162,16 +158,12 @@ .bDeviceProtocol = 0, .idVendor = cpu_to_le16(PRINTER_VENDOR_NUM), .idProduct = cpu_to_le16(PRINTER_PRODUCT_NUM), - .iManufacturer = STRING_MANUFACTURER, - .iProduct = STRING_PRODUCT, - .iSerialNumber = STRING_SERIALNUM, .bNumConfigurations = 1 }; static struct usb_interface_descriptor intf_desc = { .bLength = sizeof intf_desc, .bDescriptorType = USB_DT_INTERFACE, - .bInterfaceNumber = PRINTER_INTERFACE, .bNumEndpoints = 2, .bInterfaceClass = USB_CLASS_PRINTER, .bInterfaceSubClass = 1, /* Printer Sub-Class */ @@ -260,9 +252,9 @@ /* static strings, in UTF-8 */ static struct usb_string strings [] = { - { STRING_MANUFACTURER, manufacturer, }, - { STRING_PRODUCT, product_desc, }, - { STRING_SERIALNUM, serial_num, }, + [STRING_MANUFACTURER].s = manufacturer, + [STRING_PRODUCT].s = product_desc, + [STRING_SERIALNUM].s = serial_num, { } /* end of list */ }; @@ -871,25 +863,13 @@ int result = 0; /* Free the current interface */ - switch (dev->interface) { - case PRINTER_INTERFACE: - printer_reset_interface(dev); - break; - } + printer_reset_interface(dev); - switch (number) { - case PRINTER_INTERFACE: - result = set_printer_interface(dev); - if (result) { - printer_reset_interface(dev); - } else { - dev->interface = PRINTER_INTERFACE; - } - break; - default: - result = -EINVAL; - /* FALL THROUGH */ - } + result = set_printer_interface(dev); + if (result) + printer_reset_interface(dev); + else + dev->interface = number; if (!result) INFO(dev, "Using interface %x\n", number); @@ -972,7 +952,7 @@ switch (ctrl->bRequest) { case 0: /* Get the IEEE-1284 PNP String */ /* Only one printer interface is supported. */ - if ((wIndex>>8) != PRINTER_INTERFACE) + if ((wIndex>>8) != dev->interface) break; value = (pnp_string[0]<<8)|pnp_string[1]; @@ -983,7 +963,7 @@ case 1: /* Get Port Status */ /* Only one printer interface is supported. */ - if (wIndex != PRINTER_INTERFACE) + if (wIndex != dev->interface) break; *(u8 *)req->buf = dev->printer_status; @@ -992,7 +972,7 @@ case 2: /* Soft Reset */ /* Only one printer interface is supported. */ - if (wIndex != PRINTER_INTERFACE) + if (wIndex != dev->interface) break; printer_soft_reset(dev); @@ -1020,6 +1000,37 @@ static int __init printer_func_bind(struct usb_configuration *c, struct usb_function *f) { + struct printer_dev *dev = container_of(f, struct printer_dev, function); + struct usb_composite_dev *cdev = c->cdev; + struct usb_ep *in_ep, *out_ep; + int id; + + id = usb_interface_id(c, f); + if (id < 0) + return id; + intf_desc.bInterfaceNumber = id; + + /* all we really need is bulk IN/OUT */ + in_ep = usb_ep_autoconfig(cdev->gadget, &fs_ep_in_desc); + if (!in_ep) { +autoconf_fail: + dev_err(&cdev->gadget->dev, "can't autoconfigure on %s\n", + cdev->gadget->name); + return -ENODEV; + } + in_ep->driver_data = in_ep; /* claim */ + + out_ep = usb_ep_autoconfig(cdev->gadget, &fs_ep_out_desc); + if (!out_ep) + goto autoconf_fail; + out_ep->driver_data = out_ep; /* claim */ + + /* assumes that all endpoints are dual-speed */ + hs_ep_in_desc.bEndpointAddress = fs_ep_in_desc.bEndpointAddress; + hs_ep_out_desc.bEndpointAddress = fs_ep_out_desc.bEndpointAddress; + + dev->in_ep = in_ep; + dev->out_ep = out_ep; return 0; } @@ -1035,7 +1046,8 @@ int ret = -ENOTSUPP; if (!alt) - ret = set_interface(dev, PRINTER_INTERFACE); + ret = set_interface(dev, intf); + return ret; } @@ -1107,13 +1119,14 @@ { struct usb_gadget *gadget = c->cdev->gadget; struct printer_dev *dev; - struct usb_ep *in_ep, *out_ep; int status = -ENOMEM; int gcnum; size_t len; u32 i; struct usb_request *req; + usb_ep_autoconfig_reset(gadget); + dev = &usb_printer_gadget; dev->function.name = shortname; @@ -1125,6 +1138,10 @@ dev->function.set_alt = printer_func_set_alt; dev->function.disable = printer_func_disable; + status = usb_add_function(c, &dev->function); + if (status) + return status; + /* Setup the sysfs files for the printer gadget. */ dev->pdev = device_create(usb_gadget_class, NULL, g_printer_devno, NULL, "g_printer"); @@ -1169,26 +1186,6 @@ pnp_string[0] = (len >> 8) & 0xFF; pnp_string[1] = len & 0xFF; - /* all we really need is bulk IN/OUT */ - usb_ep_autoconfig_reset(gadget); - in_ep = usb_ep_autoconfig(gadget, &fs_ep_in_desc); - if (!in_ep) { -autoconf_fail: - dev_err(&gadget->dev, "can't autoconfigure on %s\n", - gadget->name); - return -ENODEV; - } - in_ep->driver_data = in_ep; /* claim */ - - out_ep = usb_ep_autoconfig(gadget, &fs_ep_out_desc); - if (!out_ep) - goto autoconf_fail; - out_ep->driver_data = out_ep; /* claim */ - - /* assumes that all endpoints are dual-speed */ - hs_ep_in_desc.bEndpointAddress = fs_ep_in_desc.bEndpointAddress; - hs_ep_out_desc.bEndpointAddress = fs_ep_out_desc.bEndpointAddress; - usb_gadget_set_selfpowered(gadget); if (gadget->is_otg) { @@ -1215,9 +1212,6 @@ dev->current_rx_bytes = 0; dev->current_rx_buf = NULL; - dev->in_ep = in_ep; - dev->out_ep = out_ep; - for (i = 0; i < QLEN; i++) { req = printer_req_alloc(dev->in_ep, USB_BUFSIZE, GFP_KERNEL); if (!req) { @@ -1250,8 +1244,6 @@ dev->gadget = gadget; INFO(dev, "%s, version: " DRIVER_VERSION "\n", driver_desc); - INFO(dev, "using %s, OUT %s IN %s\n", gadget->name, out_ep->name, - in_ep->name); return 0; fail: @@ -1266,7 +1258,17 @@ static int __init printer_bind(struct usb_composite_dev *cdev) { - return usb_add_config(cdev, &printer_cfg_driver, printer_bind_config); + int ret; + + ret = usb_string_ids_tab(cdev, strings); + if (ret < 0) + return ret; + device_desc.iManufacturer = strings[STRING_MANUFACTURER].id; + device_desc.iProduct = strings[STRING_PRODUCT].id; + device_desc.iSerialNumber = strings[STRING_SERIALNUM].id; + + ret = usb_add_config(cdev, &printer_cfg_driver, printer_bind_config); + return ret; } static struct usb_composite_driver printer_driver = { --- linux-lowlatency-3.5.0.orig/drivers/usb/gadget/u_ether.c +++ linux-lowlatency-3.5.0/drivers/usb/gadget/u_ether.c @@ -669,6 +669,8 @@ spin_lock_irqsave(&dev->lock, flags); if (dev->port_usb) { struct gether *link = dev->port_usb; + const struct usb_endpoint_descriptor *in; + const struct usb_endpoint_descriptor *out; if (link->close) link->close(link); @@ -682,10 +684,14 @@ * their own pace; the network stack can handle old packets. * For the moment we leave this here, since it works. */ + in = link->in_ep->desc; + out = link->out_ep->desc; usb_ep_disable(link->in_ep); usb_ep_disable(link->out_ep); if (netif_carrier_ok(net)) { DBG(dev, "host still using in/out endpoints\n"); + link->in_ep->desc = in; + link->out_ep->desc = out; usb_ep_enable(link->in_ep); usb_ep_enable(link->out_ep); } @@ -798,12 +804,6 @@ SET_ETHTOOL_OPS(net, &ops); - /* two kinds of host-initiated state changes: - * - iff DATA transfer is active, carrier is "on" - * - tx queueing enabled if open *and* carrier is "on" - */ - netif_carrier_off(net); - dev->gadget = g; SET_NETDEV_DEV(net, &g->dev); SET_NETDEV_DEVTYPE(net, &gadget_type); @@ -817,6 +817,12 @@ INFO(dev, "HOST MAC %pM\n", dev->host_mac); the_dev = dev; + + /* two kinds of host-initiated state changes: + * - iff DATA transfer is active, carrier is "on" + * - tx queueing enabled if open *and* carrier is "on" + */ + netif_carrier_off(net); } return status; --- linux-lowlatency-3.5.0.orig/drivers/usb/gadget/tcm_usb_gadget.c +++ linux-lowlatency-3.5.0/drivers/usb/gadget/tcm_usb_gadget.c @@ -1983,7 +1983,6 @@ .bInterfaceClass = USB_CLASS_MASS_STORAGE, .bInterfaceSubClass = USB_SC_SCSI, .bInterfaceProtocol = USB_PR_BULK, - .iInterface = USB_G_STR_INT_UAS, }; static struct usb_interface_descriptor uasp_intf_desc = { @@ -1994,7 +1993,6 @@ .bInterfaceClass = USB_CLASS_MASS_STORAGE, .bInterfaceSubClass = USB_SC_SCSI, .bInterfaceProtocol = USB_PR_UAS, - .iInterface = USB_G_STR_INT_BBB, }; static struct usb_endpoint_descriptor uasp_bi_desc = { @@ -2215,20 +2213,16 @@ .bDeviceClass = USB_CLASS_PER_INTERFACE, .idVendor = cpu_to_le16(UAS_VENDOR_ID), .idProduct = cpu_to_le16(UAS_PRODUCT_ID), - .iManufacturer = USB_G_STR_MANUFACTOR, - .iProduct = USB_G_STR_PRODUCT, - .iSerialNumber = USB_G_STR_SERIAL, - .bNumConfigurations = 1, }; static struct usb_string usbg_us_strings[] = { - { USB_G_STR_MANUFACTOR, "Target Manufactor"}, - { USB_G_STR_PRODUCT, "Target Product"}, - { USB_G_STR_SERIAL, "000000000001"}, - { USB_G_STR_CONFIG, "default config"}, - { USB_G_STR_INT_UAS, "USB Attached SCSI"}, - { USB_G_STR_INT_BBB, "Bulk Only Transport"}, + [USB_G_STR_MANUFACTOR].s = "Target Manufactor", + [USB_G_STR_PRODUCT].s = "Target Product", + [USB_G_STR_SERIAL].s = "000000000001", + [USB_G_STR_CONFIG].s = "default config", + [USB_G_STR_INT_UAS].s = "USB Attached SCSI", + [USB_G_STR_INT_BBB].s = "Bulk Only Transport", { }, }; @@ -2250,7 +2244,6 @@ static struct usb_configuration usbg_config_driver = { .label = "Linux Target", .bConfigurationValue = 1, - .iConfiguration = USB_G_STR_CONFIG, .bmAttributes = USB_CONFIG_ATT_SELFPOWER, }; @@ -2423,6 +2416,9 @@ fu->function.disable = usbg_disable; fu->tpg = the_only_tpg_I_currently_have; + bot_intf_desc.iInterface = usbg_us_strings[USB_G_STR_INT_BBB].id; + uasp_intf_desc.iInterface = usbg_us_strings[USB_G_STR_INT_UAS].id; + ret = usb_add_function(c, &fu->function); if (ret) goto err; @@ -2437,6 +2433,17 @@ { int ret; + ret = usb_string_ids_tab(cdev, usbg_us_strings); + if (ret) + return ret; + + usbg_device_desc.iManufacturer = + usbg_us_strings[USB_G_STR_MANUFACTOR].id; + usbg_device_desc.iProduct = usbg_us_strings[USB_G_STR_PRODUCT].id; + usbg_device_desc.iSerialNumber = usbg_us_strings[USB_G_STR_SERIAL].id; + usbg_config_driver.iConfiguration = + usbg_us_strings[USB_G_STR_CONFIG].id; + ret = usb_add_config(cdev, &usbg_config_driver, usbg_cfg_bind); return 0; --- linux-lowlatency-3.5.0.orig/drivers/usb/gadget/tcm_usb_gadget.h +++ linux-lowlatency-3.5.0/drivers/usb/gadget/tcm_usb_gadget.h @@ -16,12 +16,14 @@ #define UASP_SS_EP_COMP_LOG_STREAMS 4 #define UASP_SS_EP_COMP_NUM_STREAMS (1 << UASP_SS_EP_COMP_LOG_STREAMS) -#define USB_G_STR_MANUFACTOR 1 -#define USB_G_STR_PRODUCT 2 -#define USB_G_STR_SERIAL 3 -#define USB_G_STR_CONFIG 4 -#define USB_G_STR_INT_UAS 5 -#define USB_G_STR_INT_BBB 6 +enum { + USB_G_STR_MANUFACTOR, + USB_G_STR_PRODUCT, + USB_G_STR_SERIAL, + USB_G_STR_CONFIG, + USB_G_STR_INT_UAS, + USB_G_STR_INT_BBB, +}; #define USB_G_ALT_INT_BBB 0 #define USB_G_ALT_INT_UAS 1 --- linux-lowlatency-3.5.0.orig/drivers/usb/host/ehci-omap.c +++ linux-lowlatency-3.5.0/drivers/usb/host/ehci-omap.c @@ -43,7 +43,6 @@ #include #include #include -#include /* EHCI Register Set */ #define EHCI_INSNREG04 (0xA0) @@ -56,15 +55,6 @@ #define EHCI_INSNREG05_ULPI_EXTREGADD_SHIFT 8 #define EHCI_INSNREG05_ULPI_WRDATA_SHIFT 0 -/* Errata i693 */ -static struct clk *utmi_p1_fck; -static struct clk *utmi_p2_fck; -static struct clk *xclk60mhsp1_ck; -static struct clk *xclk60mhsp2_ck; -static struct clk *usbhost_p1_fck; -static struct clk *usbhost_p2_fck; -static struct clk *init_60m_fclk; - /*-------------------------------------------------------------------------*/ static const struct hc_driver ehci_omap_hc_driver; @@ -80,41 +70,6 @@ return __raw_readl(base + reg); } -/* Erratum i693 workaround sequence */ -static void omap_ehci_erratum_i693(struct ehci_hcd *ehci) -{ - int ret = 0; - - /* Switch to the internal 60 MHz clock */ - ret = clk_set_parent(utmi_p1_fck, init_60m_fclk); - if (ret != 0) - ehci_err(ehci, "init_60m_fclk set parent" - "failed error:%d\n", ret); - - ret = clk_set_parent(utmi_p2_fck, init_60m_fclk); - if (ret != 0) - ehci_err(ehci, "init_60m_fclk set parent" - "failed error:%d\n", ret); - - clk_enable(usbhost_p1_fck); - clk_enable(usbhost_p2_fck); - - /* Wait 1ms and switch back to the external clock */ - mdelay(1); - ret = clk_set_parent(utmi_p1_fck, xclk60mhsp1_ck); - if (ret != 0) - ehci_err(ehci, "xclk60mhsp1_ck set parent" - "failed error:%d\n", ret); - - ret = clk_set_parent(utmi_p2_fck, xclk60mhsp2_ck); - if (ret != 0) - ehci_err(ehci, "xclk60mhsp2_ck set parent" - "failed error:%d\n", ret); - - clk_disable(usbhost_p1_fck); - clk_disable(usbhost_p2_fck); -} - static void omap_ehci_soft_phy_reset(struct platform_device *pdev, u8 port) { struct usb_hcd *hcd = dev_get_drvdata(&pdev->dev); @@ -145,50 +100,6 @@ } } -static int omap_ehci_hub_control( - struct usb_hcd *hcd, - u16 typeReq, - u16 wValue, - u16 wIndex, - char *buf, - u16 wLength -) -{ - struct ehci_hcd *ehci = hcd_to_ehci(hcd); - u32 __iomem *status_reg = &ehci->regs->port_status[ - (wIndex & 0xff) - 1]; - u32 temp; - unsigned long flags; - int retval = 0; - - spin_lock_irqsave(&ehci->lock, flags); - - if (typeReq == SetPortFeature && wValue == USB_PORT_FEAT_SUSPEND) { - temp = ehci_readl(ehci, status_reg); - if ((temp & PORT_PE) == 0 || (temp & PORT_RESET) != 0) { - retval = -EPIPE; - goto done; - } - - temp &= ~PORT_WKCONN_E; - temp |= PORT_WKDISC_E | PORT_WKOC_E; - ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); - - omap_ehci_erratum_i693(ehci); - - set_bit((wIndex & 0xff) - 1, &ehci->suspended_ports); - goto done; - } - - spin_unlock_irqrestore(&ehci->lock, flags); - - /* Handle the hub control events here */ - return ehci_hub_control(hcd, typeReq, wValue, wIndex, buf, wLength); -done: - spin_unlock_irqrestore(&ehci->lock, flags); - return retval; -} - static void disable_put_regulator( struct ehci_hcd_omap_platform_data *pdata) { @@ -351,76 +262,8 @@ /* root ports should always stay powered */ ehci_port_power(omap_ehci, 1); - /* get clocks */ - utmi_p1_fck = clk_get(dev, "utmi_p1_gfclk"); - if (IS_ERR(utmi_p1_fck)) { - ret = PTR_ERR(utmi_p1_fck); - dev_err(dev, "utmi_p1_gfclk failed error:%d\n", ret); - goto err_add_hcd; - } - - xclk60mhsp1_ck = clk_get(dev, "xclk60mhsp1_ck"); - if (IS_ERR(xclk60mhsp1_ck)) { - ret = PTR_ERR(xclk60mhsp1_ck); - dev_err(dev, "xclk60mhsp1_ck failed error:%d\n", ret); - goto err_utmi_p1_fck; - } - - utmi_p2_fck = clk_get(dev, "utmi_p2_gfclk"); - if (IS_ERR(utmi_p2_fck)) { - ret = PTR_ERR(utmi_p2_fck); - dev_err(dev, "utmi_p2_gfclk failed error:%d\n", ret); - goto err_xclk60mhsp1_ck; - } - - xclk60mhsp2_ck = clk_get(dev, "xclk60mhsp2_ck"); - if (IS_ERR(xclk60mhsp2_ck)) { - ret = PTR_ERR(xclk60mhsp2_ck); - dev_err(dev, "xclk60mhsp2_ck failed error:%d\n", ret); - goto err_utmi_p2_fck; - } - - usbhost_p1_fck = clk_get(dev, "usb_host_hs_utmi_p1_clk"); - if (IS_ERR(usbhost_p1_fck)) { - ret = PTR_ERR(usbhost_p1_fck); - dev_err(dev, "usbhost_p1_fck failed error:%d\n", ret); - goto err_xclk60mhsp2_ck; - } - - usbhost_p2_fck = clk_get(dev, "usb_host_hs_utmi_p2_clk"); - if (IS_ERR(usbhost_p2_fck)) { - ret = PTR_ERR(usbhost_p2_fck); - dev_err(dev, "usbhost_p2_fck failed error:%d\n", ret); - goto err_usbhost_p1_fck; - } - - init_60m_fclk = clk_get(dev, "init_60m_fclk"); - if (IS_ERR(init_60m_fclk)) { - ret = PTR_ERR(init_60m_fclk); - dev_err(dev, "init_60m_fclk failed error:%d\n", ret); - goto err_usbhost_p2_fck; - } - return 0; -err_usbhost_p2_fck: - clk_put(usbhost_p2_fck); - -err_usbhost_p1_fck: - clk_put(usbhost_p1_fck); - -err_xclk60mhsp2_ck: - clk_put(xclk60mhsp2_ck); - -err_utmi_p2_fck: - clk_put(utmi_p2_fck); - -err_xclk60mhsp1_ck: - clk_put(xclk60mhsp1_ck); - -err_utmi_p1_fck: - clk_put(utmi_p1_fck); - err_add_hcd: disable_put_regulator(pdata); pm_runtime_put_sync(dev); @@ -449,15 +292,6 @@ disable_put_regulator(dev->platform_data); iounmap(hcd->regs); usb_put_hcd(hcd); - - clk_put(utmi_p1_fck); - clk_put(utmi_p2_fck); - clk_put(xclk60mhsp1_ck); - clk_put(xclk60mhsp2_ck); - clk_put(usbhost_p1_fck); - clk_put(usbhost_p2_fck); - clk_put(init_60m_fclk); - pm_runtime_put_sync(dev); pm_runtime_disable(dev); @@ -528,7 +362,7 @@ * root hub support */ .hub_status_data = ehci_hub_status_data, - .hub_control = omap_ehci_hub_control, + .hub_control = ehci_hub_control, .bus_suspend = ehci_bus_suspend, .bus_resume = ehci_bus_resume, --- linux-lowlatency-3.5.0.orig/drivers/usb/host/ehci-q.c +++ linux-lowlatency-3.5.0/drivers/usb/host/ehci-q.c @@ -128,9 +128,17 @@ else { qtd = list_entry (qh->qtd_list.next, struct ehci_qtd, qtd_list); - /* first qtd may already be partially processed */ - if (cpu_to_hc32(ehci, qtd->qtd_dma) == qh->hw->hw_current) + /* + * first qtd may already be partially processed. + * If we come here during unlink, the QH overlay region + * might have reference to the just unlinked qtd. The + * qtd is updated in qh_completions(). Update the QH + * overlay here. + */ + if (cpu_to_hc32(ehci, qtd->qtd_dma) == qh->hw->hw_current) { + qh->hw->hw_qtd_next = qtd->hw_next; qtd = NULL; + } } if (qtd) --- linux-lowlatency-3.5.0.orig/drivers/usb/host/ohci-at91.c +++ linux-lowlatency-3.5.0/drivers/usb/host/ohci-at91.c @@ -467,7 +467,8 @@ /* From the GPIO notifying the over-current situation, find * out the corresponding port */ at91_for_each_port(port) { - if (gpio_to_irq(pdata->overcurrent_pin[port]) == irq) { + if (gpio_is_valid(pdata->overcurrent_pin[port]) && + gpio_to_irq(pdata->overcurrent_pin[port]) == irq) { gpio = pdata->overcurrent_pin[port]; break; } @@ -570,6 +571,16 @@ if (pdata) { at91_for_each_port(i) { + /* + * do not configure PIO if not in relation with + * real USB port on board + */ + if (i >= pdata->ports) { + pdata->vbus_pin[i] = -EINVAL; + pdata->overcurrent_pin[i] = -EINVAL; + break; + } + if (!gpio_is_valid(pdata->vbus_pin[i])) continue; gpio = pdata->vbus_pin[i]; --- linux-lowlatency-3.5.0.orig/drivers/usb/host/pci-quirks.c +++ linux-lowlatency-3.5.0/drivers/usb/host/pci-quirks.c @@ -75,7 +75,9 @@ #define NB_PIF0_PWRDOWN_1 0x01100013 #define USB_INTEL_XUSB2PR 0xD0 +#define USB_INTEL_USB2PRM 0xD4 #define USB_INTEL_USB3_PSSEN 0xD8 +#define USB_INTEL_USB3PRM 0xDC static struct amd_chipset_info { struct pci_dev *nb_dev; @@ -543,7 +545,14 @@ /* Pegatron Lucid (Ordissimo AIRIS) */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "M11JB"), - DMI_MATCH(DMI_BIOS_VERSION, "Lucid-GE-133"), + DMI_MATCH(DMI_BIOS_VERSION, "Lucid-"), + }, + }, + { + /* Pegatron Lucid (Ordissimo) */ + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "Ordissimo"), + DMI_MATCH(DMI_BIOS_VERSION, "Lucid-"), }, }, { } @@ -772,10 +781,18 @@ return; } - ports_available = 0xffffffff; + /* Read USB3PRM, the USB 3.0 Port Routing Mask Register + * Indicate the ports that can be changed from OS. + */ + pci_read_config_dword(xhci_pdev, USB_INTEL_USB3PRM, + &ports_available); + + dev_dbg(&xhci_pdev->dev, "Configurable ports to enable SuperSpeed: 0x%x\n", + ports_available); + /* Write USB3_PSSEN, the USB 3.0 Port SuperSpeed Enable - * Register, to turn on SuperSpeed terminations for all - * available ports. + * Register, to turn on SuperSpeed terminations for the + * switchable ports. */ pci_write_config_dword(xhci_pdev, USB_INTEL_USB3_PSSEN, cpu_to_le32(ports_available)); @@ -785,7 +802,16 @@ dev_dbg(&xhci_pdev->dev, "USB 3.0 ports that are now enabled " "under xHCI: 0x%x\n", ports_available); - ports_available = 0xffffffff; + /* Read XUSB2PRM, xHCI USB 2.0 Port Routing Mask Register + * Indicate the USB 2.0 ports to be controlled by the xHCI host. + */ + + pci_read_config_dword(xhci_pdev, USB_INTEL_USB2PRM, + &ports_available); + + dev_dbg(&xhci_pdev->dev, "Configurable USB 2.0 ports to hand over to xCHI: 0x%x\n", + ports_available); + /* Write XUSB2PR, the xHC USB 2.0 Port Routing Register, to * switch the USB 2.0 power and data lines over to the xHCI * host. @@ -800,6 +826,13 @@ } EXPORT_SYMBOL_GPL(usb_enable_xhci_ports); +void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) +{ + pci_write_config_dword(xhci_pdev, USB_INTEL_USB3_PSSEN, 0x0); + pci_write_config_dword(xhci_pdev, USB_INTEL_XUSB2PR, 0x0); +} +EXPORT_SYMBOL_GPL(usb_disable_xhci_ports); + /** * PCI Quirks for xHCI. * @@ -815,12 +848,12 @@ void __iomem *op_reg_base; u32 val; int timeout; + int len = pci_resource_len(pdev, 0); if (!mmio_resource_enabled(pdev, 0)) return; - base = ioremap_nocache(pci_resource_start(pdev, 0), - pci_resource_len(pdev, 0)); + base = ioremap_nocache(pci_resource_start(pdev, 0), len); if (base == NULL) return; @@ -830,9 +863,17 @@ */ ext_cap_offset = xhci_find_next_cap_offset(base, XHCI_HCC_PARAMS_OFFSET); do { + if ((ext_cap_offset + sizeof(val)) > len) { + /* We're reading garbage from the controller */ + dev_warn(&pdev->dev, + "xHCI controller failing to respond"); + return; + } + if (!ext_cap_offset) /* We've reached the end of the extended capabilities */ goto hc_init; + val = readl(base + ext_cap_offset); if (XHCI_EXT_CAPS_ID(val) == XHCI_EXT_CAPS_LEGACY) break; @@ -863,9 +904,10 @@ /* Disable any BIOS SMIs and clear all SMI events*/ writel(val, base + ext_cap_offset + XHCI_LEGACY_CONTROL_OFFSET); +hc_init: if (usb_is_intel_switchable_xhci(pdev)) usb_enable_xhci_ports(pdev); -hc_init: + op_reg_base = base + XHCI_HC_LENGTH(readl(base)); /* Wait for the host controller to be ready before writing any --- linux-lowlatency-3.5.0.orig/drivers/usb/host/pci-quirks.h +++ linux-lowlatency-3.5.0/drivers/usb/host/pci-quirks.h @@ -10,10 +10,12 @@ void usb_amd_quirk_pll_enable(void); bool usb_is_intel_switchable_xhci(struct pci_dev *pdev); void usb_enable_xhci_ports(struct pci_dev *xhci_pdev); +void usb_disable_xhci_ports(struct pci_dev *xhci_pdev); #else static inline void usb_amd_quirk_pll_disable(void) {} static inline void usb_amd_quirk_pll_enable(void) {} static inline void usb_amd_dev_put(void) {} +static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {} #endif /* CONFIG_PCI */ #endif /* __LINUX_USB_PCI_QUIRKS_H */ --- linux-lowlatency-3.5.0.orig/drivers/usb/host/xhci-hub.c +++ linux-lowlatency-3.5.0/drivers/usb/host/xhci-hub.c @@ -493,11 +493,48 @@ * when this bit is set. */ pls |= USB_PORT_STAT_CONNECTION; + } else { + /* + * If CAS bit isn't set but the Port is already at + * Compliance Mode, fake a connection so the USB core + * notices the Compliance state and resets the port. + * This resolves an issue generated by the SN65LVPE502CP + * in which sometimes the port enters compliance mode + * caused by a delay on the host-device negotiation. + */ + if (pls == USB_SS_PORT_LS_COMP_MOD) + pls |= USB_PORT_STAT_CONNECTION; } + /* update status field */ *status |= pls; } +/* + * Function for Compliance Mode Quirk. + * + * This Function verifies if all xhc USB3 ports have entered U0, if so, + * the compliance mode timer is deleted. A port won't enter + * compliance mode if it has previously entered U0. + */ +void xhci_del_comp_mod_timer(struct xhci_hcd *xhci, u32 status, u16 wIndex) +{ + u32 all_ports_seen_u0 = ((1 << xhci->num_usb3_ports)-1); + bool port_in_u0 = ((status & PORT_PLS_MASK) == XDEV_U0); + + if (!(xhci->quirks & XHCI_COMP_MODE_QUIRK)) + return; + + if ((xhci->port_status_u0 != all_ports_seen_u0) && port_in_u0) { + xhci->port_status_u0 |= 1 << wIndex; + if (xhci->port_status_u0 == all_ports_seen_u0) { + del_timer_sync(&xhci->comp_mode_recovery_timer); + xhci_dbg(xhci, "All USB3 ports have entered U0 already!\n"); + xhci_dbg(xhci, "Compliance Mode Recovery Timer Deleted.\n"); + } + } +} + int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, char *buf, u16 wLength) { @@ -544,12 +581,18 @@ if (hcd->speed != HCD_USB3) goto error; + /* Set the U1 and U2 exit latencies. */ memcpy(buf, &usb_bos_descriptor, USB_DT_BOS_SIZE + USB_DT_USB_SS_CAP_SIZE); temp = xhci_readl(xhci, &xhci->cap_regs->hcs_params3); buf[12] = HCS_U1_LATENCY(temp); put_unaligned_le16(HCS_U2_LATENCY(temp), &buf[13]); + /* Indicate whether the host has LTM support. */ + temp = xhci_readl(xhci, &xhci->cap_regs->hcc_params); + if (HCC_LTC(temp)) + buf[8] |= USB_LTM_SUPPORT; + spin_unlock_irqrestore(&xhci->lock, flags); return USB_DT_BOS_SIZE + USB_DT_USB_SS_CAP_SIZE; case GetPortStatus: @@ -645,6 +688,11 @@ /* Update Port Link State for super speed ports*/ if (hcd->speed == HCD_USB3) { xhci_hub_report_link_state(&status, temp); + /* + * Verify if all USB3 Ports Have entered U0 already. + * Delete Compliance Mode Timer if so. + */ + xhci_del_comp_mod_timer(xhci, temp, wIndex); } if (bus_state->port_c_suspend & (1 << wIndex)) status |= 1 << USB_PORT_FEAT_C_SUSPEND; --- linux-lowlatency-3.5.0.orig/drivers/usb/host/xhci-mem.c +++ linux-lowlatency-3.5.0/drivers/usb/host/xhci-mem.c @@ -1772,6 +1772,7 @@ { struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); struct dev_info *dev_info, *next; + struct xhci_cd *cur_cd, *next_cd; unsigned long flags; int size; int i, j, num_ports; @@ -1795,6 +1796,11 @@ xhci_ring_free(xhci, xhci->cmd_ring); xhci->cmd_ring = NULL; xhci_dbg(xhci, "Freed command ring\n"); + list_for_each_entry_safe(cur_cd, next_cd, + &xhci->cancel_cmd_list, cancel_cmd_list) { + list_del(&cur_cd->cancel_cmd_list); + kfree(cur_cd); + } for (i = 1; i < MAX_HC_SLOTS; ++i) xhci_free_virt_device(xhci, i); @@ -2340,6 +2346,7 @@ xhci->cmd_ring = xhci_ring_alloc(xhci, 1, 1, TYPE_COMMAND, flags); if (!xhci->cmd_ring) goto fail; + INIT_LIST_HEAD(&xhci->cancel_cmd_list); xhci_dbg(xhci, "Allocated command ring at %p\n", xhci->cmd_ring); xhci_dbg(xhci, "First segment DMA is 0x%llx\n", (unsigned long long)xhci->cmd_ring->first_seg->dma); --- linux-lowlatency-3.5.0.orig/drivers/usb/host/xhci-pci.c +++ linux-lowlatency-3.5.0/drivers/usb/host/xhci-pci.c @@ -94,11 +94,22 @@ xhci->quirks |= XHCI_EP_LIMIT_QUIRK; xhci->limit_active_eps = 64; xhci->quirks |= XHCI_SW_BW_CHECKING; + /* + * PPT desktop boards DH77EB and DH77DF will power back on after + * a few seconds of being shutdown. The fix for this is to + * switch the ports from xHCI to EHCI on shutdown. We can't use + * DMI information to find those particular boards (since each + * vendor will change the board name), so we have to key off all + * PPT chipsets. + */ + xhci->quirks |= XHCI_SPURIOUS_REBOOT; + xhci->quirks |= XHCI_AVOID_BEI; } if (pdev->vendor == PCI_VENDOR_ID_ETRON && pdev->device == PCI_DEVICE_ID_ASROCK_P67) { xhci->quirks |= XHCI_RESET_ON_RESUME; xhci_dbg(xhci, "QUIRK: Resetting on resume\n"); + xhci->quirks |= XHCI_TRUST_TX_LENGTH; } if (pdev->vendor == PCI_VENDOR_ID_VIA) xhci->quirks |= XHCI_RESET_ON_RESUME; --- linux-lowlatency-3.5.0.orig/drivers/usb/host/xhci-plat.c +++ linux-lowlatency-3.5.0/drivers/usb/host/xhci-plat.c @@ -118,7 +118,7 @@ goto put_hcd; } - hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); + hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len); if (!hcd->regs) { dev_dbg(&pdev->dev, "error mapping memory\n"); ret = -EFAULT; --- linux-lowlatency-3.5.0.orig/drivers/usb/host/xhci-ring.c +++ linux-lowlatency-3.5.0/drivers/usb/host/xhci-ring.c @@ -145,29 +145,37 @@ */ static void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring) { - union xhci_trb *next; unsigned long long addr; ring->deq_updates++; - /* If this is not event ring, there is one more usable TRB */ + /* + * If this is not event ring, and the dequeue pointer + * is not on a link TRB, there is one more usable TRB + */ if (ring->type != TYPE_EVENT && !last_trb(xhci, ring, ring->deq_seg, ring->dequeue)) ring->num_trbs_free++; - next = ++(ring->dequeue); - /* Update the dequeue pointer further if that was a link TRB or we're at - * the end of an event ring segment (which doesn't have link TRBS) - */ - while (last_trb(xhci, ring, ring->deq_seg, next)) { - if (ring->type == TYPE_EVENT && last_trb_on_last_seg(xhci, - ring, ring->deq_seg, next)) { - ring->cycle_state = (ring->cycle_state ? 0 : 1); - } - ring->deq_seg = ring->deq_seg->next; - ring->dequeue = ring->deq_seg->trbs; - next = ring->dequeue; - } + do { + /* + * Update the dequeue pointer further if that was a link TRB or + * we're at the end of an event ring segment (which doesn't have + * link TRBS) + */ + if (last_trb(xhci, ring, ring->deq_seg, ring->dequeue)) { + if (ring->type == TYPE_EVENT && + last_trb_on_last_seg(xhci, ring, + ring->deq_seg, ring->dequeue)) { + ring->cycle_state = (ring->cycle_state ? 0 : 1); + } + ring->deq_seg = ring->deq_seg->next; + ring->dequeue = ring->deq_seg->trbs; + } else { + ring->dequeue++; + } + } while (last_trb(xhci, ring, ring->deq_seg, ring->dequeue)); + addr = (unsigned long long) xhci_trb_virt_to_dma(ring->deq_seg, ring->dequeue); } @@ -272,12 +280,123 @@ /* Ring the host controller doorbell after placing a command on the ring */ void xhci_ring_cmd_db(struct xhci_hcd *xhci) { + if (!(xhci->cmd_ring_state & CMD_RING_STATE_RUNNING)) + return; + xhci_dbg(xhci, "// Ding dong!\n"); xhci_writel(xhci, DB_VALUE_HOST, &xhci->dba->doorbell[0]); /* Flush PCI posted writes */ xhci_readl(xhci, &xhci->dba->doorbell[0]); } +static int xhci_abort_cmd_ring(struct xhci_hcd *xhci) +{ + u64 temp_64; + int ret; + + xhci_dbg(xhci, "Abort command ring\n"); + + if (!(xhci->cmd_ring_state & CMD_RING_STATE_RUNNING)) { + xhci_dbg(xhci, "The command ring isn't running, " + "Have the command ring been stopped?\n"); + return 0; + } + + temp_64 = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); + if (!(temp_64 & CMD_RING_RUNNING)) { + xhci_dbg(xhci, "Command ring had been stopped\n"); + return 0; + } + xhci->cmd_ring_state = CMD_RING_STATE_ABORTED; + xhci_write_64(xhci, temp_64 | CMD_RING_ABORT, + &xhci->op_regs->cmd_ring); + + /* Section 4.6.1.2 of xHCI 1.0 spec says software should + * time the completion od all xHCI commands, including + * the Command Abort operation. If software doesn't see + * CRR negated in a timely manner (e.g. longer than 5 + * seconds), then it should assume that the there are + * larger problems with the xHC and assert HCRST. + */ + ret = handshake(xhci, &xhci->op_regs->cmd_ring, + CMD_RING_RUNNING, 0, 5 * 1000 * 1000); + if (ret < 0) { + xhci_err(xhci, "Stopped the command ring failed, " + "maybe the host is dead\n"); + xhci->xhc_state |= XHCI_STATE_DYING; + xhci_quiesce(xhci); + xhci_halt(xhci); + return -ESHUTDOWN; + } + + return 0; +} + +static int xhci_queue_cd(struct xhci_hcd *xhci, + struct xhci_command *command, + union xhci_trb *cmd_trb) +{ + struct xhci_cd *cd; + cd = kzalloc(sizeof(struct xhci_cd), GFP_ATOMIC); + if (!cd) + return -ENOMEM; + INIT_LIST_HEAD(&cd->cancel_cmd_list); + + cd->command = command; + cd->cmd_trb = cmd_trb; + list_add_tail(&cd->cancel_cmd_list, &xhci->cancel_cmd_list); + + return 0; +} + +/* + * Cancel the command which has issue. + * + * Some commands may hang due to waiting for acknowledgement from + * usb device. It is outside of the xHC's ability to control and + * will cause the command ring is blocked. When it occurs software + * should intervene to recover the command ring. + * See Section 4.6.1.1 and 4.6.1.2 + */ +int xhci_cancel_cmd(struct xhci_hcd *xhci, struct xhci_command *command, + union xhci_trb *cmd_trb) +{ + int retval = 0; + unsigned long flags; + + spin_lock_irqsave(&xhci->lock, flags); + + if (xhci->xhc_state & XHCI_STATE_DYING) { + xhci_warn(xhci, "Abort the command ring," + " but the xHCI is dead.\n"); + retval = -ESHUTDOWN; + goto fail; + } + + /* queue the cmd desriptor to cancel_cmd_list */ + retval = xhci_queue_cd(xhci, command, cmd_trb); + if (retval) { + xhci_warn(xhci, "Queuing command descriptor failed.\n"); + goto fail; + } + + /* abort command ring */ + retval = xhci_abort_cmd_ring(xhci); + if (retval) { + xhci_err(xhci, "Abort command ring failed\n"); + if (unlikely(retval == -ESHUTDOWN)) { + spin_unlock_irqrestore(&xhci->lock, flags); + usb_hc_died(xhci_to_hcd(xhci)->primary_hcd); + xhci_dbg(xhci, "xHCI host controller is dead.\n"); + return retval; + } + } + +fail: + spin_unlock_irqrestore(&xhci->lock, flags); + return retval; +} + void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, unsigned int slot_id, unsigned int ep_index, @@ -1051,6 +1170,20 @@ } } +/* Complete the command and detele it from the devcie's command queue. + */ +static void xhci_complete_cmd_in_cmd_wait_list(struct xhci_hcd *xhci, + struct xhci_command *command, u32 status) +{ + command->status = status; + list_del(&command->cmd_list); + if (command->completion) + complete(command->completion); + else + xhci_free_command(xhci, command); +} + + /* Check to see if a command in the device's command queue matches this one. * Signal the completion or free the command, and return 1. Return 0 if the * completed command isn't at the head of the command list. @@ -1069,15 +1202,155 @@ if (xhci->cmd_ring->dequeue != command->command_trb) return 0; - command->status = GET_COMP_CODE(le32_to_cpu(event->status)); - list_del(&command->cmd_list); - if (command->completion) - complete(command->completion); - else - xhci_free_command(xhci, command); + xhci_complete_cmd_in_cmd_wait_list(xhci, command, + GET_COMP_CODE(le32_to_cpu(event->status))); return 1; } +/* + * Finding the command trb need to be cancelled and modifying it to + * NO OP command. And if the command is in device's command wait + * list, finishing and freeing it. + * + * If we can't find the command trb, we think it had already been + * executed. + */ +static void xhci_cmd_to_noop(struct xhci_hcd *xhci, struct xhci_cd *cur_cd) +{ + struct xhci_segment *cur_seg; + union xhci_trb *cmd_trb; + u32 cycle_state; + + if (xhci->cmd_ring->dequeue == xhci->cmd_ring->enqueue) + return; + + /* find the current segment of command ring */ + cur_seg = find_trb_seg(xhci->cmd_ring->first_seg, + xhci->cmd_ring->dequeue, &cycle_state); + + if (!cur_seg) { + xhci_warn(xhci, "Command ring mismatch, dequeue = %p %llx (dma)\n", + xhci->cmd_ring->dequeue, + (unsigned long long) + xhci_trb_virt_to_dma(xhci->cmd_ring->deq_seg, + xhci->cmd_ring->dequeue)); + xhci_debug_ring(xhci, xhci->cmd_ring); + xhci_dbg_ring_ptrs(xhci, xhci->cmd_ring); + return; + } + + /* find the command trb matched by cd from command ring */ + for (cmd_trb = xhci->cmd_ring->dequeue; + cmd_trb != xhci->cmd_ring->enqueue; + next_trb(xhci, xhci->cmd_ring, &cur_seg, &cmd_trb)) { + /* If the trb is link trb, continue */ + if (TRB_TYPE_LINK_LE32(cmd_trb->generic.field[3])) + continue; + + if (cur_cd->cmd_trb == cmd_trb) { + + /* If the command in device's command list, we should + * finish it and free the command structure. + */ + if (cur_cd->command) + xhci_complete_cmd_in_cmd_wait_list(xhci, + cur_cd->command, COMP_CMD_STOP); + + /* get cycle state from the origin command trb */ + cycle_state = le32_to_cpu(cmd_trb->generic.field[3]) + & TRB_CYCLE; + + /* modify the command trb to NO OP command */ + cmd_trb->generic.field[0] = 0; + cmd_trb->generic.field[1] = 0; + cmd_trb->generic.field[2] = 0; + cmd_trb->generic.field[3] = cpu_to_le32( + TRB_TYPE(TRB_CMD_NOOP) | cycle_state); + break; + } + } +} + +static void xhci_cancel_cmd_in_cd_list(struct xhci_hcd *xhci) +{ + struct xhci_cd *cur_cd, *next_cd; + + if (list_empty(&xhci->cancel_cmd_list)) + return; + + list_for_each_entry_safe(cur_cd, next_cd, + &xhci->cancel_cmd_list, cancel_cmd_list) { + xhci_cmd_to_noop(xhci, cur_cd); + list_del(&cur_cd->cancel_cmd_list); + kfree(cur_cd); + } +} + +/* + * traversing the cancel_cmd_list. If the command descriptor according + * to cmd_trb is found, the function free it and return 1, otherwise + * return 0. + */ +static int xhci_search_cmd_trb_in_cd_list(struct xhci_hcd *xhci, + union xhci_trb *cmd_trb) +{ + struct xhci_cd *cur_cd, *next_cd; + + if (list_empty(&xhci->cancel_cmd_list)) + return 0; + + list_for_each_entry_safe(cur_cd, next_cd, + &xhci->cancel_cmd_list, cancel_cmd_list) { + if (cur_cd->cmd_trb == cmd_trb) { + if (cur_cd->command) + xhci_complete_cmd_in_cmd_wait_list(xhci, + cur_cd->command, COMP_CMD_STOP); + list_del(&cur_cd->cancel_cmd_list); + kfree(cur_cd); + return 1; + } + } + + return 0; +} + +/* + * If the cmd_trb_comp_code is COMP_CMD_ABORT, we just check whether the + * trb pointed by the command ring dequeue pointer is the trb we want to + * cancel or not. And if the cmd_trb_comp_code is COMP_CMD_STOP, we will + * traverse the cancel_cmd_list to trun the all of the commands according + * to command descriptor to NO-OP trb. + */ +static int handle_stopped_cmd_ring(struct xhci_hcd *xhci, + int cmd_trb_comp_code) +{ + int cur_trb_is_good = 0; + + /* Searching the cmd trb pointed by the command ring dequeue + * pointer in command descriptor list. If it is found, free it. + */ + cur_trb_is_good = xhci_search_cmd_trb_in_cd_list(xhci, + xhci->cmd_ring->dequeue); + + if (cmd_trb_comp_code == COMP_CMD_ABORT) + xhci->cmd_ring_state = CMD_RING_STATE_STOPPED; + else if (cmd_trb_comp_code == COMP_CMD_STOP) { + /* traversing the cancel_cmd_list and canceling + * the command according to command descriptor + */ + xhci_cancel_cmd_in_cd_list(xhci); + + xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; + /* + * ring command ring doorbell again to restart the + * command ring + */ + if (xhci->cmd_ring->dequeue != xhci->cmd_ring->enqueue) + xhci_ring_cmd_db(xhci); + } + return cur_trb_is_good; +} + static void handle_cmd_completion(struct xhci_hcd *xhci, struct xhci_event_cmd *event) { @@ -1103,6 +1376,22 @@ xhci->error_bitmask |= 1 << 5; return; } + + if ((GET_COMP_CODE(le32_to_cpu(event->status)) == COMP_CMD_ABORT) || + (GET_COMP_CODE(le32_to_cpu(event->status)) == COMP_CMD_STOP)) { + /* If the return value is 0, we think the trb pointed by + * command ring dequeue pointer is a good trb. The good + * trb means we don't want to cancel the trb, but it have + * been stopped by host. So we should handle it normally. + * Otherwise, driver should invoke inc_deq() and return. + */ + if (handle_stopped_cmd_ring(xhci, + GET_COMP_CODE(le32_to_cpu(event->status)))) { + inc_deq(xhci, xhci->cmd_ring); + return; + } + } + switch (le32_to_cpu(xhci->cmd_ring->dequeue->generic.field[3]) & TRB_TYPE_BITMASK) { case TRB_TYPE(TRB_ENABLE_SLOT): @@ -2073,8 +2362,8 @@ if (xhci->quirks & XHCI_TRUST_TX_LENGTH) trb_comp_code = COMP_SHORT_TX; else - xhci_warn(xhci, "WARN Successful completion on short TX: " - "needs XHCI_TRUST_TX_LENGTH quirk?\n"); + xhci_warn_ratelimited(xhci, + "WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?\n"); case COMP_SHORT_TX: break; case COMP_STOP: @@ -3392,7 +3681,9 @@ } else { td->last_trb = ep_ring->enqueue; field |= TRB_IOC; - if (xhci->hci_version == 0x100) { + if (xhci->hci_version == 0x100 && + !(xhci->quirks & + XHCI_AVOID_BEI)) { /* Set BEI bit except for the last td */ if (i < num_tds - 1) field |= TRB_BEI; --- linux-lowlatency-3.5.0.orig/drivers/usb/host/xhci.c +++ linux-lowlatency-3.5.0/drivers/usb/host/xhci.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "xhci.h" @@ -51,7 +52,7 @@ * handshake done). There are two failure modes: "usec" have passed (major * hardware flakeout), or the register reads as all-ones (hardware removed). */ -static int handshake(struct xhci_hcd *xhci, void __iomem *ptr, +int handshake(struct xhci_hcd *xhci, void __iomem *ptr, u32 mask, u32 done, int usec) { u32 result; @@ -104,9 +105,10 @@ ret = handshake(xhci, &xhci->op_regs->status, STS_HALT, STS_HALT, XHCI_MAX_HALT_USEC); - if (!ret) + if (!ret) { xhci->xhc_state |= XHCI_STATE_HALTED; - else + xhci->cmd_ring_state = CMD_RING_STATE_STOPPED; + } else xhci_warn(xhci, "Host not halted after %u microseconds.\n", XHCI_MAX_HALT_USEC); return ret; @@ -166,7 +168,7 @@ xhci_writel(xhci, command, &xhci->op_regs->command); ret = handshake(xhci, &xhci->op_regs->command, - CMD_RESET, 0, 250 * 1000); + CMD_RESET, 0, 10 * 1000 * 1000); if (ret) return ret; @@ -175,7 +177,8 @@ * xHCI cannot write to any doorbells or operational registers other * than status until the "Controller Not Ready" flag is cleared. */ - ret = handshake(xhci, &xhci->op_regs->status, STS_CNR, 0, 250 * 1000); + ret = handshake(xhci, &xhci->op_regs->status, + STS_CNR, 0, 10 * 1000 * 1000); for (i = 0; i < 2; ++i) { xhci->bus_state[i].port_c_suspend = 0; @@ -397,6 +400,98 @@ #endif +static void compliance_mode_recovery(unsigned long arg) +{ + struct xhci_hcd *xhci; + struct usb_hcd *hcd; + u32 temp; + int i; + + xhci = (struct xhci_hcd *)arg; + + for (i = 0; i < xhci->num_usb3_ports; i++) { + temp = xhci_readl(xhci, xhci->usb3_ports[i]); + if ((temp & PORT_PLS_MASK) == USB_SS_PORT_LS_COMP_MOD) { + /* + * Compliance Mode Detected. Letting USB Core + * handle the Warm Reset + */ + xhci_dbg(xhci, "Compliance Mode Detected->Port %d!\n", + i + 1); + xhci_dbg(xhci, "Attempting Recovery routine!\n"); + hcd = xhci->shared_hcd; + + if (hcd->state == HC_STATE_SUSPENDED) + usb_hcd_resume_root_hub(hcd); + + usb_hcd_poll_rh_status(hcd); + } + } + + if (xhci->port_status_u0 != ((1 << xhci->num_usb3_ports)-1)) + mod_timer(&xhci->comp_mode_recovery_timer, + jiffies + msecs_to_jiffies(COMP_MODE_RCVRY_MSECS)); +} + +/* + * Quirk to work around issue generated by the SN65LVPE502CP USB3.0 re-driver + * that causes ports behind that hardware to enter compliance mode sometimes. + * The quirk creates a timer that polls every 2 seconds the link state of + * each host controller's port and recovers it by issuing a Warm reset + * if Compliance mode is detected, otherwise the port will become "dead" (no + * device connections or disconnections will be detected anymore). Becasue no + * status event is generated when entering compliance mode (per xhci spec), + * this quirk is needed on systems that have the failing hardware installed. + */ +static void compliance_mode_recovery_timer_init(struct xhci_hcd *xhci) +{ + xhci->port_status_u0 = 0; + init_timer(&xhci->comp_mode_recovery_timer); + + xhci->comp_mode_recovery_timer.data = (unsigned long) xhci; + xhci->comp_mode_recovery_timer.function = compliance_mode_recovery; + xhci->comp_mode_recovery_timer.expires = jiffies + + msecs_to_jiffies(COMP_MODE_RCVRY_MSECS); + + set_timer_slack(&xhci->comp_mode_recovery_timer, + msecs_to_jiffies(COMP_MODE_RCVRY_MSECS)); + add_timer(&xhci->comp_mode_recovery_timer); + xhci_dbg(xhci, "Compliance Mode Recovery Timer Initialized.\n"); +} + +/* + * This function identifies the systems that have installed the SN65LVPE502CP + * USB3.0 re-driver and that need the Compliance Mode Quirk. + * Systems: + * Vendor: Hewlett-Packard -> System Models: Z420, Z620 and Z820 + */ +static bool compliance_mode_recovery_timer_quirk_check(void) +{ + const char *dmi_product_name, *dmi_sys_vendor; + + dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME); + dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR); + if (!dmi_product_name || !dmi_sys_vendor) + return false; + + if (!(strstr(dmi_sys_vendor, "Hewlett-Packard"))) + return false; + + if (strstr(dmi_product_name, "Z420") || + strstr(dmi_product_name, "Z620") || + strstr(dmi_product_name, "Z820") || + strstr(dmi_product_name, "Z1")) + return true; + + return false; +} + +static int xhci_all_ports_seen_u0(struct xhci_hcd *xhci) +{ + return (xhci->port_status_u0 == ((1 << xhci->num_usb3_ports)-1)); +} + + /* * Initialize memory for HCD and xHC (one-time init). * @@ -420,6 +515,12 @@ retval = xhci_mem_init(xhci, GFP_KERNEL); xhci_dbg(xhci, "Finished xhci_init\n"); + /* Initializing Compliance Mode Recovery Data If Needed */ + if (compliance_mode_recovery_timer_quirk_check()) { + xhci->quirks |= XHCI_COMP_MODE_QUIRK; + compliance_mode_recovery_timer_init(xhci); + } + return retval; } @@ -484,6 +585,7 @@ return -ENODEV; } xhci->shared_hcd->state = HC_STATE_RUNNING; + xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; if (xhci->quirks & XHCI_NEC_HOST) xhci_ring_cmd_db(xhci); @@ -628,6 +730,11 @@ del_timer_sync(&xhci->event_ring_timer); #endif + /* Deleting Compliance Mode Recovery Timer */ + if ((xhci->quirks & XHCI_COMP_MODE_QUIRK) && + (!(xhci_all_ports_seen_u0(xhci)))) + del_timer_sync(&xhci->comp_mode_recovery_timer); + if (xhci->quirks & XHCI_AMD_PLL_FIX) usb_amd_dev_put(); @@ -658,6 +765,9 @@ { struct xhci_hcd *xhci = hcd_to_xhci(hcd); + if (xhci->quirks & XHCI_SPURIOUS_REBOOT) + usb_disable_xhci_ports(to_pci_dev(hcd->self.controller)); + spin_lock_irq(&xhci->lock); xhci_halt(xhci); spin_unlock_irq(&xhci->lock); @@ -781,7 +891,7 @@ command &= ~CMD_RUN; xhci_writel(xhci, command, &xhci->op_regs->command); if (handshake(xhci, &xhci->op_regs->status, - STS_HALT, STS_HALT, 100*100)) { + STS_HALT, STS_HALT, XHCI_MAX_HALT_USEC)) { xhci_warn(xhci, "WARN: xHC CMD_RUN timeout\n"); spin_unlock_irq(&xhci->lock); return -ETIMEDOUT; @@ -802,6 +912,16 @@ } spin_unlock_irq(&xhci->lock); + /* + * Deleting Compliance Mode Recovery Timer because the xHCI Host + * is about to be suspended. + */ + if ((xhci->quirks & XHCI_COMP_MODE_QUIRK) && + (!(xhci_all_ports_seen_u0(xhci)))) { + del_timer_sync(&xhci->comp_mode_recovery_timer); + xhci_dbg(xhci, "Compliance Mode Recovery Timer Deleted!\n"); + } + /* step 5: remove core well power */ /* synchronize irq when using MSI-X */ xhci_msix_sync_irqs(xhci); @@ -934,6 +1054,16 @@ usb_hcd_resume_root_hub(hcd); usb_hcd_resume_root_hub(xhci->shared_hcd); } + + /* + * If system is subject to the Quirk, Compliance Mode Timer needs to + * be re-initialized Always after a system resume. Ports are subject + * to suffer the Compliance Mode issue again. It doesn't matter if + * ports have entered previously to U0 before system's suspension. + */ + if (xhci->quirks & XHCI_COMP_MODE_QUIRK) + compliance_mode_recovery_timer_init(xhci); + return retval; } #endif /* CONFIG_PM */ @@ -2396,6 +2526,7 @@ struct completion *cmd_completion; u32 *cmd_status; struct xhci_virt_device *virt_dev; + union xhci_trb *cmd_trb; spin_lock_irqsave(&xhci->lock, flags); virt_dev = xhci->devs[udev->slot_id]; @@ -2441,6 +2572,7 @@ } init_completion(cmd_completion); + cmd_trb = xhci->cmd_ring->dequeue; if (!ctx_change) ret = xhci_queue_configure_endpoint(xhci, in_ctx->dma, udev->slot_id, must_succeed); @@ -2462,14 +2594,17 @@ /* Wait for the configure endpoint command to complete */ timeleft = wait_for_completion_interruptible_timeout( cmd_completion, - USB_CTRL_SET_TIMEOUT); + XHCI_CMD_DEFAULT_TIMEOUT); if (timeleft <= 0) { xhci_warn(xhci, "%s while waiting for %s command\n", timeleft == 0 ? "Timeout" : "Signal", ctx_change == 0 ? "configure endpoint" : "evaluate context"); - /* FIXME cancel the configure endpoint command */ + /* cancel the configure endpoint command */ + ret = xhci_cancel_cmd(xhci, command, cmd_trb); + if (ret < 0) + return ret; return -ETIME; } @@ -3418,8 +3553,10 @@ unsigned long flags; int timeleft; int ret; + union xhci_trb *cmd_trb; spin_lock_irqsave(&xhci->lock, flags); + cmd_trb = xhci->cmd_ring->dequeue; ret = xhci_queue_slot_control(xhci, TRB_ENABLE_SLOT, 0); if (ret) { spin_unlock_irqrestore(&xhci->lock, flags); @@ -3431,12 +3568,12 @@ /* XXX: how much time for xHC slot assignment? */ timeleft = wait_for_completion_interruptible_timeout(&xhci->addr_dev, - USB_CTRL_SET_TIMEOUT); + XHCI_CMD_DEFAULT_TIMEOUT); if (timeleft <= 0) { xhci_warn(xhci, "%s while waiting for a slot\n", timeleft == 0 ? "Timeout" : "Signal"); - /* FIXME cancel the enable slot request */ - return 0; + /* cancel the enable slot request */ + return xhci_cancel_cmd(xhci, NULL, cmd_trb); } if (!xhci->slot_id) { @@ -3497,6 +3634,7 @@ struct xhci_slot_ctx *slot_ctx; struct xhci_input_control_ctx *ctrl_ctx; u64 temp_64; + union xhci_trb *cmd_trb; if (!udev->slot_id) { xhci_dbg(xhci, "Bad Slot ID %d\n", udev->slot_id); @@ -3535,6 +3673,7 @@ xhci_dbg_ctx(xhci, virt_dev->in_ctx, 2); spin_lock_irqsave(&xhci->lock, flags); + cmd_trb = xhci->cmd_ring->dequeue; ret = xhci_queue_address_device(xhci, virt_dev->in_ctx->dma, udev->slot_id); if (ret) { @@ -3547,7 +3686,7 @@ /* ctrl tx can take up to 5 sec; XXX: need more time for xHC? */ timeleft = wait_for_completion_interruptible_timeout(&xhci->addr_dev, - USB_CTRL_SET_TIMEOUT); + XHCI_CMD_DEFAULT_TIMEOUT); /* FIXME: From section 4.3.4: "Software shall be responsible for timing * the SetAddress() "recovery interval" required by USB and aborting the * command on a timeout. @@ -3555,7 +3694,10 @@ if (timeleft <= 0) { xhci_warn(xhci, "%s while waiting for address device command\n", timeleft == 0 ? "Timeout" : "Signal"); - /* FIXME cancel the address device command */ + /* cancel the address device command */ + ret = xhci_cancel_cmd(xhci, NULL, cmd_trb); + if (ret < 0) + return ret; return -ETIME; } @@ -3878,7 +4020,7 @@ static unsigned long long xhci_service_interval_to_ns( struct usb_endpoint_descriptor *desc) { - return (1 << (desc->bInterval - 1)) * 125 * 1000; + return (1ULL << (desc->bInterval - 1)) * 125 * 1000; } static u16 xhci_get_timeout_no_hub_lpm(struct usb_device *udev, @@ -3999,7 +4141,7 @@ (xhci_service_interval_to_ns(desc) > timeout_ns)) timeout_ns = xhci_service_interval_to_ns(desc); - u2_del_ns = udev->bos->ss_cap->bU2DevExitLat * 1000; + u2_del_ns = le16_to_cpu(udev->bos->ss_cap->bU2DevExitLat) * 1000ULL; if (u2_del_ns > timeout_ns) timeout_ns = u2_del_ns; --- linux-lowlatency-3.5.0.orig/drivers/usb/host/xhci.h +++ linux-lowlatency-3.5.0/drivers/usb/host/xhci.h @@ -1256,6 +1256,16 @@ union xhci_trb *last_trb; }; +/* xHCI command default timeout value */ +#define XHCI_CMD_DEFAULT_TIMEOUT (5 * HZ) + +/* command descriptor */ +struct xhci_cd { + struct list_head cancel_cmd_list; + struct xhci_command *command; + union xhci_trb *cmd_trb; +}; + struct xhci_dequeue_state { struct xhci_segment *new_deq_seg; union xhci_trb *new_deq_ptr; @@ -1421,6 +1431,11 @@ /* data structures */ struct xhci_device_context_array *dcbaa; struct xhci_ring *cmd_ring; + unsigned int cmd_ring_state; +#define CMD_RING_STATE_RUNNING (1 << 0) +#define CMD_RING_STATE_ABORTED (1 << 1) +#define CMD_RING_STATE_STOPPED (1 << 2) + struct list_head cancel_cmd_list; unsigned int cmd_ring_reserved_trbs; struct xhci_ring *event_ring; struct xhci_erst erst; @@ -1494,6 +1509,9 @@ #define XHCI_TRUST_TX_LENGTH (1 << 10) #define XHCI_LPM_SUPPORT (1 << 11) #define XHCI_INTEL_HOST (1 << 12) +#define XHCI_SPURIOUS_REBOOT (1 << 13) +#define XHCI_COMP_MODE_QUIRK (1 << 14) +#define XHCI_AVOID_BEI (1 << 15) unsigned int num_active_eps; unsigned int limit_active_eps; /* There are two roothubs to keep track of bus suspend info for */ @@ -1510,6 +1528,11 @@ unsigned sw_lpm_support:1; /* support xHCI 1.0 spec USB2 hardware LPM */ unsigned hw_lpm_support:1; + /* Compliance Mode Recovery Data */ + struct timer_list comp_mode_recovery_timer; + u32 port_status_u0; +/* Compliance Mode Timer Triggered every 2 seconds */ +#define COMP_MODE_RCVRY_MSECS 2000 }; /* convert between an HCD pointer and the corresponding EHCI_HCD */ @@ -1537,6 +1560,8 @@ dev_err(xhci_to_hcd(xhci)->self.controller , fmt , ## args) #define xhci_warn(xhci, fmt, args...) \ dev_warn(xhci_to_hcd(xhci)->self.controller , fmt , ## args) +#define xhci_warn_ratelimited(xhci, fmt, args...) \ + dev_warn_ratelimited(xhci_to_hcd(xhci)->self.controller , fmt , ## args) /* TODO: copied from ehci.h - can be refactored? */ /* xHCI spec says all registers are little endian */ @@ -1695,6 +1720,8 @@ /* xHCI host controller glue */ typedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *); +int handshake(struct xhci_hcd *xhci, void __iomem *ptr, + u32 mask, u32 done, int usec); void xhci_quiesce(struct xhci_hcd *xhci); int xhci_halt(struct xhci_hcd *xhci); int xhci_reset(struct xhci_hcd *xhci); @@ -1785,6 +1812,8 @@ unsigned int slot_id, unsigned int ep_index, struct xhci_dequeue_state *deq_state); void xhci_stop_endpoint_command_watchdog(unsigned long arg); +int xhci_cancel_cmd(struct xhci_hcd *xhci, struct xhci_command *command, + union xhci_trb *cmd_trb); void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, unsigned int slot_id, unsigned int ep_index, unsigned int stream_id); --- linux-lowlatency-3.5.0.orig/drivers/usb/misc/emi62.c +++ linux-lowlatency-3.5.0/drivers/usb/misc/emi62.c @@ -232,7 +232,7 @@ return err; } -static const struct usb_device_id id_table[] __devinitconst = { +static const struct usb_device_id id_table[] = { { USB_DEVICE(EMI62_VENDOR_ID, EMI62_PRODUCT_ID) }, { } /* Terminating entry */ }; --- linux-lowlatency-3.5.0.orig/drivers/usb/musb/am35x.c +++ linux-lowlatency-3.5.0/drivers/usb/musb/am35x.c @@ -311,6 +311,12 @@ ret = IRQ_HANDLED; } + /* Drop spurious RX and TX if device is disconnected */ + if (musb->int_usb & MUSB_INTR_DISCONNECT) { + musb->int_tx = 0; + musb->int_rx = 0; + } + if (musb->int_tx || musb->int_rx || musb->int_usb) ret |= musb_interrupt(musb); --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/ftdi_sio.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/ftdi_sio.c @@ -584,6 +584,8 @@ { USB_DEVICE(FTDI_VID, FTDI_IBS_PEDO_PID) }, { USB_DEVICE(FTDI_VID, FTDI_IBS_PROD_PID) }, { USB_DEVICE(FTDI_VID, FTDI_TAVIR_STK500_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_TIAO_UMPA_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, /* * ELV devices: */ @@ -704,6 +706,7 @@ { USB_DEVICE(FTDI_VID, FTDI_PCDJ_DAC2_PID) }, { USB_DEVICE(FTDI_VID, FTDI_RRCIRKITS_LOCOBUFFER_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ASK_RDR400_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_NZR_SEM_USB_PID) }, { USB_DEVICE(ICOM_VID, ICOM_ID_1_PID) }, { USB_DEVICE(ICOM_VID, ICOM_OPC_U_UC_PID) }, { USB_DEVICE(ICOM_VID, ICOM_ID_RP2C1_PID) }, @@ -804,13 +807,33 @@ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(ADI_VID, ADI_GNICEPLUS_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, - { USB_DEVICE(MICROCHIP_VID, MICROCHIP_USB_BOARD_PID) }, + { USB_DEVICE_AND_INTERFACE_INFO(MICROCHIP_VID, MICROCHIP_USB_BOARD_PID, + USB_CLASS_VENDOR_SPEC, + USB_SUBCLASS_VENDOR_SPEC, 0x00) }, { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) }, { USB_DEVICE(MARVELL_VID, MARVELL_SHEEVAPLUG_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(LARSENBRUSGAARD_VID, LB_ALTITRACK_PID) }, { USB_DEVICE(GN_OTOMETRICS_VID, AURICAL_USB_PID) }, + { USB_DEVICE(FTDI_VID, PI_C865_PID) }, + { USB_DEVICE(FTDI_VID, PI_C857_PID) }, + { USB_DEVICE(PI_VID, PI_C866_PID) }, + { USB_DEVICE(PI_VID, PI_C663_PID) }, + { USB_DEVICE(PI_VID, PI_C725_PID) }, + { USB_DEVICE(PI_VID, PI_E517_PID) }, + { USB_DEVICE(PI_VID, PI_C863_PID) }, { USB_DEVICE(PI_VID, PI_E861_PID) }, + { USB_DEVICE(PI_VID, PI_C867_PID) }, + { USB_DEVICE(PI_VID, PI_E609_PID) }, + { USB_DEVICE(PI_VID, PI_E709_PID) }, + { USB_DEVICE(PI_VID, PI_100F_PID) }, + { USB_DEVICE(PI_VID, PI_1011_PID) }, + { USB_DEVICE(PI_VID, PI_1012_PID) }, + { USB_DEVICE(PI_VID, PI_1013_PID) }, + { USB_DEVICE(PI_VID, PI_1014_PID) }, + { USB_DEVICE(PI_VID, PI_1015_PID) }, + { USB_DEVICE(PI_VID, PI_1016_PID) }, + { USB_DEVICE(KONDO_VID, KONDO_USB_SERIAL_PID) }, { USB_DEVICE(BAYER_VID, BAYER_CONTOUR_CABLE_PID) }, { USB_DEVICE(FTDI_VID, MARVELL_OPENRD_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/ftdi_sio_ids.h +++ linux-lowlatency-3.5.0/drivers/usb/serial/ftdi_sio_ids.h @@ -75,6 +75,9 @@ #define FTDI_OPENDCC_GATEWAY_PID 0xBFDB #define FTDI_OPENDCC_GBM_PID 0xBFDC +/* NZR SEM 16+ USB (http://www.nzr.de) */ +#define FTDI_NZR_SEM_USB_PID 0xC1E0 /* NZR SEM-LOG16+ */ + /* * RR-CirKits LocoBuffer USB (http://www.rr-cirkits.com) */ @@ -514,6 +517,11 @@ */ #define FTDI_TAVIR_STK500_PID 0xFA33 /* STK500 AVR programmer */ +/* + * TIAO product ids (FTDI_VID) + * http://www.tiaowiki.com/w/Main_Page + */ +#define FTDI_TIAO_UMPA_PID 0x8a98 /* TIAO/DIYGADGET USB Multi-Protocol Adapter */ /********************************/ @@ -539,7 +547,10 @@ /* * Microchip Technology, Inc. * - * MICROCHIP_VID (0x04D8) and MICROCHIP_USB_BOARD_PID (0x000A) are also used by: + * MICROCHIP_VID (0x04D8) and MICROCHIP_USB_BOARD_PID (0x000A) are + * used by single function CDC ACM class based firmware demo + * applications. The VID/PID has also been used in firmware + * emulating FTDI serial chips by: * Hornby Elite - Digital Command Control Console * http://www.hornby.com/hornby-dcc/controllers/ */ @@ -791,8 +802,34 @@ * Physik Instrumente * http://www.physikinstrumente.com/en/products/ */ +/* These two devices use the VID of FTDI */ +#define PI_C865_PID 0xe0a0 /* PI C-865 Piezomotor Controller */ +#define PI_C857_PID 0xe0a1 /* PI Encoder Trigger Box */ + #define PI_VID 0x1a72 /* Vendor ID */ -#define PI_E861_PID 0x1008 /* E-861 piezo controller USB connection */ +#define PI_C866_PID 0x1000 /* PI C-866 Piezomotor Controller */ +#define PI_C663_PID 0x1001 /* PI C-663 Mercury-Step */ +#define PI_C725_PID 0x1002 /* PI C-725 Piezomotor Controller */ +#define PI_E517_PID 0x1005 /* PI E-517 Digital Piezo Controller Operation Module */ +#define PI_C863_PID 0x1007 /* PI C-863 */ +#define PI_E861_PID 0x1008 /* PI E-861 Piezomotor Controller */ +#define PI_C867_PID 0x1009 /* PI C-867 Piezomotor Controller */ +#define PI_E609_PID 0x100D /* PI E-609 Digital Piezo Controller */ +#define PI_E709_PID 0x100E /* PI E-709 Digital Piezo Controller */ +#define PI_100F_PID 0x100F /* PI Digital Piezo Controller */ +#define PI_1011_PID 0x1011 /* PI Digital Piezo Controller */ +#define PI_1012_PID 0x1012 /* PI Motion Controller */ +#define PI_1013_PID 0x1013 /* PI Motion Controller */ +#define PI_1014_PID 0x1014 /* PI Device */ +#define PI_1015_PID 0x1015 /* PI Device */ +#define PI_1016_PID 0x1016 /* PI Digital Servo Module */ + +/* + * Kondo Kagaku Co.Ltd. + * http://www.kondo-robot.com/EN + */ +#define KONDO_VID 0x165c +#define KONDO_USB_SERIAL_PID 0x0002 /* * Bayer Ascensia Contour blood glucose meter USB-converter cable. --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/mct_u232.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/mct_u232.c @@ -519,12 +519,14 @@ static void mct_u232_close(struct usb_serial_port *port) { - if (port->serial->dev) { - /* shutdown our urbs */ - usb_kill_urb(port->write_urb); - usb_kill_urb(port->read_urb); - usb_kill_urb(port->interrupt_in_urb); - } + /* + * Must kill the read urb as it is actually an interrupt urb, which + * generic close thus fails to kill. + */ + usb_kill_urb(port->read_urb); + usb_kill_urb(port->interrupt_in_urb); + + usb_serial_generic_close(port); } /* mct_u232_close */ --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/metro-usb.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/metro-usb.c @@ -188,16 +188,13 @@ { dev_dbg(&port->dev, "%s\n", __func__); - if (port->serial->dev) { - /* Shutdown any interrupt in urbs. */ - if (port->interrupt_in_urb) { - usb_unlink_urb(port->interrupt_in_urb); - usb_kill_urb(port->interrupt_in_urb); - } + usb_unlink_urb(port->interrupt_in_urb); + usb_kill_urb(port->interrupt_in_urb); - /* Send deactivate cmd to device */ + mutex_lock(&port->serial->disc_mutex); + if (!port->serial->disconnected) metrousb_send_unidirectional_cmd(UNI_CMD_CLOSE, port); - } + mutex_unlock(&port->serial->disc_mutex); } static int metrousb_open(struct tty_struct *tty, struct usb_serial_port *port) --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/mos7840.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/mos7840.c @@ -219,12 +219,10 @@ int port_num; /*Actual port number in the device(1,2,etc) */ struct urb *write_urb; /* write URB for this port */ struct urb *read_urb; /* read URB for this port */ - struct urb *int_urb; __u8 shadowLCR; /* last LCR value received */ __u8 shadowMCR; /* last MCR value received */ char open; char open_ports; - char zombie; wait_queue_head_t wait_chase; /* for handling sleeping while waiting for chase to finish */ wait_queue_head_t delta_msr_wait; /* for handling sleeping while waiting for msr change to happen */ int delta_msr_cond; @@ -494,7 +492,6 @@ unsigned char *data; struct moschip_port *mos7840_port; __u8 regval = 0x0; - int result = 0; int status = urb->status; mos7840_port = urb->context; @@ -513,7 +510,7 @@ default: dbg("%s - nonzero urb status received: %d", __func__, status); - goto exit; + return; } dbg("%s urb buffer size is %d", __func__, urb->actual_length); @@ -526,17 +523,6 @@ mos7840_handle_new_msr(mos7840_port, regval); else if (mos7840_port->MsrLsr == 1) mos7840_handle_new_lsr(mos7840_port, regval); - -exit: - spin_lock(&mos7840_port->pool_lock); - if (!mos7840_port->zombie) - result = usb_submit_urb(mos7840_port->int_urb, GFP_ATOMIC); - spin_unlock(&mos7840_port->pool_lock); - if (result) { - dev_err(&urb->dev->dev, - "%s - Error %d submitting interrupt urb\n", - __func__, result); - } } static int mos7840_get_reg(struct moschip_port *mcs, __u16 Wval, __u16 reg, @@ -705,14 +691,7 @@ wreg = MODEM_STATUS_REGISTER; break; } - spin_lock(&mos7840_port->pool_lock); - if (!mos7840_port->zombie) { - rv = mos7840_get_reg(mos7840_port, wval, wreg, &Data); - } else { - spin_unlock(&mos7840_port->pool_lock); - return; - } - spin_unlock(&mos7840_port->pool_lock); + rv = mos7840_get_reg(mos7840_port, wval, wreg, &Data); } } } @@ -1232,9 +1211,12 @@ return 0; spin_lock_irqsave(&mos7840_port->pool_lock, flags); - for (i = 0; i < NUM_URBS; ++i) - if (mos7840_port->busy[i]) - chars += URB_TRANSFER_BUFFER_SIZE; + for (i = 0; i < NUM_URBS; ++i) { + if (mos7840_port->busy[i]) { + struct urb *urb = mos7840_port->write_urb_pool[i]; + chars += urb->transfer_buffer_length; + } + } spin_unlock_irqrestore(&mos7840_port->pool_lock, flags); dbg("%s - returns %d", __func__, chars); return chars; @@ -2682,7 +2664,6 @@ kfree(mos7840_port->ctrl_buf); usb_free_urb(mos7840_port->control_urb); kfree(mos7840_port); - serial->port[i] = NULL; } return status; } @@ -2695,7 +2676,6 @@ static void mos7840_disconnect(struct usb_serial *serial) { int i; - unsigned long flags; struct moschip_port *mos7840_port; if (!serial) { @@ -2712,9 +2692,6 @@ mos7840_port = mos7840_get_port_private(serial->port[i]); dbg ("mos7840_port %d = %p", i, mos7840_port); if (mos7840_port) { - spin_lock_irqsave(&mos7840_port->pool_lock, flags); - mos7840_port->zombie = 1; - spin_unlock_irqrestore(&mos7840_port->pool_lock, flags); usb_kill_urb(mos7840_port->control_urb); } } @@ -2752,6 +2729,7 @@ del_timer_sync(&mos7840_port->led_timer1); del_timer_sync(&mos7840_port->led_timer2); } + usb_free_urb(mos7840_port->control_urb); kfree(mos7840_port->ctrl_buf); kfree(mos7840_port->dr); kfree(mos7840_port); --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/opticon.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/opticon.c @@ -158,7 +158,11 @@ { struct usb_serial *serial = port->serial; int retval; - u8 buffer[2]; + u8 *buffer; + + buffer = kzalloc(1, GFP_KERNEL); + if (!buffer) + return -ENOMEM; buffer[0] = val; /* Send the message to the vendor control endpoint @@ -167,6 +171,7 @@ requesttype, USB_DIR_OUT|USB_TYPE_VENDOR|USB_RECIP_INTERFACE, 0, 0, buffer, 1, 0); + kfree(buffer); return retval; } @@ -284,7 +289,7 @@ if (!dr) { dev_err(&port->dev, "out of memory\n"); count = -ENOMEM; - goto error; + goto error_no_dr; } dr->bRequestType = USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_OUT; @@ -314,6 +319,8 @@ return count; error: + kfree(dr); +error_no_dr: usb_free_urb(urb); error_no_urb: kfree(buffer); --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/option.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/option.c @@ -80,85 +80,9 @@ #define OPTION_PRODUCT_GTM380_MODEM 0x7201 #define HUAWEI_VENDOR_ID 0x12D1 -#define HUAWEI_PRODUCT_E600 0x1001 -#define HUAWEI_PRODUCT_E220 0x1003 -#define HUAWEI_PRODUCT_E220BIS 0x1004 -#define HUAWEI_PRODUCT_E1401 0x1401 -#define HUAWEI_PRODUCT_E1402 0x1402 -#define HUAWEI_PRODUCT_E1403 0x1403 -#define HUAWEI_PRODUCT_E1404 0x1404 -#define HUAWEI_PRODUCT_E1405 0x1405 -#define HUAWEI_PRODUCT_E1406 0x1406 -#define HUAWEI_PRODUCT_E1407 0x1407 -#define HUAWEI_PRODUCT_E1408 0x1408 -#define HUAWEI_PRODUCT_E1409 0x1409 -#define HUAWEI_PRODUCT_E140A 0x140A -#define HUAWEI_PRODUCT_E140B 0x140B -#define HUAWEI_PRODUCT_E140C 0x140C -#define HUAWEI_PRODUCT_E140D 0x140D -#define HUAWEI_PRODUCT_E140E 0x140E -#define HUAWEI_PRODUCT_E140F 0x140F -#define HUAWEI_PRODUCT_E1410 0x1410 -#define HUAWEI_PRODUCT_E1411 0x1411 -#define HUAWEI_PRODUCT_E1412 0x1412 -#define HUAWEI_PRODUCT_E1413 0x1413 -#define HUAWEI_PRODUCT_E1414 0x1414 -#define HUAWEI_PRODUCT_E1415 0x1415 -#define HUAWEI_PRODUCT_E1416 0x1416 -#define HUAWEI_PRODUCT_E1417 0x1417 -#define HUAWEI_PRODUCT_E1418 0x1418 -#define HUAWEI_PRODUCT_E1419 0x1419 -#define HUAWEI_PRODUCT_E141A 0x141A -#define HUAWEI_PRODUCT_E141B 0x141B -#define HUAWEI_PRODUCT_E141C 0x141C -#define HUAWEI_PRODUCT_E141D 0x141D -#define HUAWEI_PRODUCT_E141E 0x141E -#define HUAWEI_PRODUCT_E141F 0x141F -#define HUAWEI_PRODUCT_E1420 0x1420 -#define HUAWEI_PRODUCT_E1421 0x1421 -#define HUAWEI_PRODUCT_E1422 0x1422 -#define HUAWEI_PRODUCT_E1423 0x1423 -#define HUAWEI_PRODUCT_E1424 0x1424 -#define HUAWEI_PRODUCT_E1425 0x1425 -#define HUAWEI_PRODUCT_E1426 0x1426 -#define HUAWEI_PRODUCT_E1427 0x1427 -#define HUAWEI_PRODUCT_E1428 0x1428 -#define HUAWEI_PRODUCT_E1429 0x1429 -#define HUAWEI_PRODUCT_E142A 0x142A -#define HUAWEI_PRODUCT_E142B 0x142B -#define HUAWEI_PRODUCT_E142C 0x142C -#define HUAWEI_PRODUCT_E142D 0x142D -#define HUAWEI_PRODUCT_E142E 0x142E -#define HUAWEI_PRODUCT_E142F 0x142F -#define HUAWEI_PRODUCT_E1430 0x1430 -#define HUAWEI_PRODUCT_E1431 0x1431 -#define HUAWEI_PRODUCT_E1432 0x1432 -#define HUAWEI_PRODUCT_E1433 0x1433 -#define HUAWEI_PRODUCT_E1434 0x1434 -#define HUAWEI_PRODUCT_E1435 0x1435 -#define HUAWEI_PRODUCT_E1436 0x1436 -#define HUAWEI_PRODUCT_E1437 0x1437 -#define HUAWEI_PRODUCT_E1438 0x1438 -#define HUAWEI_PRODUCT_E1439 0x1439 -#define HUAWEI_PRODUCT_E143A 0x143A -#define HUAWEI_PRODUCT_E143B 0x143B -#define HUAWEI_PRODUCT_E143C 0x143C -#define HUAWEI_PRODUCT_E143D 0x143D -#define HUAWEI_PRODUCT_E143E 0x143E -#define HUAWEI_PRODUCT_E143F 0x143F #define HUAWEI_PRODUCT_K4505 0x1464 #define HUAWEI_PRODUCT_K3765 0x1465 -#define HUAWEI_PRODUCT_E14AC 0x14AC -#define HUAWEI_PRODUCT_K3806 0x14AE #define HUAWEI_PRODUCT_K4605 0x14C6 -#define HUAWEI_PRODUCT_K5005 0x14C8 -#define HUAWEI_PRODUCT_K3770 0x14C9 -#define HUAWEI_PRODUCT_K3771 0x14CA -#define HUAWEI_PRODUCT_K4510 0x14CB -#define HUAWEI_PRODUCT_K4511 0x14CC -#define HUAWEI_PRODUCT_ETS1220 0x1803 -#define HUAWEI_PRODUCT_E353 0x1506 -#define HUAWEI_PRODUCT_E173S 0x1C05 #define QUANTA_VENDOR_ID 0x0408 #define QUANTA_PRODUCT_Q101 0xEA02 @@ -233,6 +157,7 @@ #define NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_HIGHSPEED 0x8001 #define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_FULLSPEED 0x9000 #define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_HIGHSPEED 0x9001 +#define NOVATELWIRELESS_PRODUCT_E362 0x9010 #define NOVATELWIRELESS_PRODUCT_G1 0xA001 #define NOVATELWIRELESS_PRODUCT_G1_M 0xA002 #define NOVATELWIRELESS_PRODUCT_G2 0xA010 @@ -268,6 +193,9 @@ #define DELL_PRODUCT_5730_MINICARD_TELUS 0x8181 #define DELL_PRODUCT_5730_MINICARD_VZW 0x8182 +#define DELL_PRODUCT_5800_MINICARD_VZW 0x8195 /* Novatel E362 */ +#define DELL_PRODUCT_5800_V2_MINICARD_VZW 0x8196 /* Novatel E362 */ + #define KYOCERA_VENDOR_ID 0x0c88 #define KYOCERA_PRODUCT_KPC650 0x17da #define KYOCERA_PRODUCT_KPC680 0x180a @@ -358,6 +286,7 @@ /* ALCATEL PRODUCTS */ #define ALCATEL_VENDOR_ID 0x1bbb #define ALCATEL_PRODUCT_X060S_X200 0x0000 +#define ALCATEL_PRODUCT_X220_X500D 0x0017 #define PIRELLI_VENDOR_ID 0x1266 #define PIRELLI_PRODUCT_C100_1 0x1002 @@ -579,11 +508,19 @@ .reserved = BIT(5), }; +static const struct option_blacklist_info net_intf6_blacklist = { + .reserved = BIT(6), +}; + static const struct option_blacklist_info zte_mf626_blacklist = { .sendsetup = BIT(0) | BIT(1), .reserved = BIT(4), }; +static const struct option_blacklist_info zte_1255_blacklist = { + .reserved = BIT(3) | BIT(4), +}; + static const struct usb_device_id option_ids[] = { { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, @@ -615,104 +552,123 @@ { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLX) }, { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GKE) }, { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1401, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1402, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1403, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1404, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1405, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1406, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1407, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1408, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1409, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140A, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140B, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140C, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140D, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140E, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140F, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1410, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1411, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1412, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1413, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1414, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1415, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1416, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1417, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1418, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1419, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141A, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141B, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141C, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141D, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141E, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141F, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1420, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1421, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1422, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1423, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1424, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1425, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1426, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1427, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1428, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1429, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142A, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142B, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142C, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142D, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142E, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142F, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1430, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1431, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1432, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1433, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1434, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1435, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1436, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1437, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1438, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1439, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143A, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143B, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143C, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143D, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143E, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143F, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E173S, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4505, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t) &huawei_cdc12_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3765, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t) &huawei_cdc12_blacklist }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_ETS1220, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E14AC, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3806, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4605, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t) &huawei_cdc12_blacklist }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4605, 0xff, 0x01, 0x31) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4605, 0xff, 0x01, 0x32) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K5005, 0xff, 0x01, 0x31) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K5005, 0xff, 0x01, 0x32) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K5005, 0xff, 0x01, 0x33) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3770, 0xff, 0x02, 0x31) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3770, 0xff, 0x02, 0x32) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3771, 0xff, 0x02, 0x31) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3771, 0xff, 0x02, 0x32) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4510, 0xff, 0x01, 0x31) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4510, 0xff, 0x01, 0x32) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4511, 0xff, 0x01, 0x31) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4511, 0xff, 0x01, 0x32) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x01, 0x01) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x01, 0x02) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x01, 0x03) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x01, 0x10) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x01, 0x12) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x01, 0x13) }, - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x02, 0x01) }, /* E398 3G Modem */ - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x02, 0x02) }, /* E398 3G PC UI Interface */ - { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E353, 0xff, 0x02, 0x03) }, /* E398 3G Application Interface */ + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0xff, 0xff) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x01) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x02) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x03) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x04) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x05) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x06) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0D) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0E) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0F) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x10) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x12) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x13) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x14) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x15) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x17) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x18) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x19) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x1A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x1B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x1C) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x31) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x32) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x33) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x34) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x35) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x36) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3D) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3E) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3F) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x48) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x49) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x4A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x4B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x4C) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x61) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x62) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x63) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x64) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x65) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x66) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6D) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6E) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6F) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x78) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x79) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x7A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x7B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x7C) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x01) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x02) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x03) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x04) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x05) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x06) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0D) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0E) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0F) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x10) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x12) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x13) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x14) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x15) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x17) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x18) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x19) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x1A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x1B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x1C) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x31) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x32) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x33) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x34) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x35) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x36) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3D) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3E) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3F) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x48) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x49) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x4A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x4B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x4C) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x61) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x62) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x63) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x64) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x65) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x66) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6D) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6E) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6F) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x78) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x79) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x7A) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x7B) }, + { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x7C) }, + + { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V740) }, @@ -754,6 +710,7 @@ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G2) }, /* Novatel Ovation MC551 a.k.a. Verizon USB551L */ { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC551, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E362, 0xff, 0xff, 0xff) }, { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) }, { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) }, @@ -776,6 +733,8 @@ { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_SPRINT) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_TELUS) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_VZW) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ + { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5800_MINICARD_VZW, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5800_V2_MINICARD_VZW, 0xff, 0xff, 0xff) }, { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, /* ADU-E100, ADU-310 */ { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_620UW) }, @@ -910,13 +869,19 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0113, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0117, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0118, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0121, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0118, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0121, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0122, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0123, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0124, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0125, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0126, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0123, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0124, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0125, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf6_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0126, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0128, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0142, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0143, 0xff, 0xff, 0xff) }, @@ -927,8 +892,10 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0153, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0155, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0156, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0157, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0158, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0157, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0158, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0159, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0161, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0162, 0xff, 0xff, 0xff) }, @@ -936,11 +903,22 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0165, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0167, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0191, 0xff, 0xff, 0xff), /* ZTE EuFi890 */ + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0199, 0xff, 0xff, 0xff), /* ZTE MF820S */ + .driver_info = (kernel_ulong_t)&net_intf1_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0257, 0xff, 0xff, 0xff), /* ZTE MF821 */ + .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0326, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1008, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1010, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1012, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1012, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1021, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1057, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1058, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1059, 0xff, 0xff, 0xff) }, @@ -1056,18 +1034,24 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1169, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1170, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1244, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1245, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1245, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1246, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1247, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1247, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1248, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1249, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1250, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1251, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1252, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1252, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1253, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1254, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1255, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1256, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1254, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1255, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&zte_1255_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1256, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1257, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1258, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1259, 0xff, 0xff, 0xff) }, @@ -1112,8 +1096,16 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1298, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1299, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1300, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1401, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1402, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1424, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1425, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1426, 0xff, 0xff, 0xff), /* ZTE MF91 */ + .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2002, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&zte_k3765_z_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2003, 0xff, 0xff, 0xff) }, @@ -1125,15 +1117,21 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0070, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0073, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0094, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0130, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0133, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0141, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0130, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf1_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0133, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0141, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0147, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0152, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0168, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0168, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0170, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0176, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0178, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0176, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0178, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC8710, 0xff, 0xff, 0xff) }, @@ -1145,6 +1143,10 @@ .driver_info = (kernel_ulong_t)&zte_ad3812_z_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MC2716, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&zte_mc2716_z_blacklist }, + { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x02, 0x01) }, + { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x02, 0x05) }, + { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x86, 0x10) }, + { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) }, { USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) }, { USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5) }, /* Yes, ALINK_VENDOR_ID */ @@ -1162,6 +1164,7 @@ { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S_X200), .driver_info = (kernel_ulong_t)&alcatel_x200_blacklist }, + { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X220_X500D) }, { USB_DEVICE(AIRPLUS_VENDOR_ID, AIRPLUS_PRODUCT_MCD650) }, { USB_DEVICE(TLAYTECH_VENDOR_ID, TLAYTECH_PRODUCT_TEU800) }, { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W14), --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/qcaux.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/qcaux.c @@ -36,8 +36,6 @@ #define UTSTARCOM_PRODUCT_UM175_V1 0x3712 #define UTSTARCOM_PRODUCT_UM175_V2 0x3714 #define UTSTARCOM_PRODUCT_UM175_ALLTEL 0x3715 -#define PANTECH_PRODUCT_UML190_VZW 0x3716 -#define PANTECH_PRODUCT_UML290_VZW 0x3718 /* CMOTECH devices */ #define CMOTECH_VENDOR_ID 0x16d8 @@ -68,11 +66,9 @@ { USB_DEVICE_AND_INTERFACE_INFO(LG_VENDOR_ID, LG_PRODUCT_VX4400_6000, 0xff, 0xff, 0x00) }, { USB_DEVICE_AND_INTERFACE_INFO(SANYO_VENDOR_ID, SANYO_PRODUCT_KATANA_LX, 0xff, 0xff, 0x00) }, { USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_U520, 0xff, 0x00, 0x00) }, - { USB_DEVICE_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, PANTECH_PRODUCT_UML190_VZW, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, PANTECH_PRODUCT_UML190_VZW, 0xff, 0xfe, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, PANTECH_PRODUCT_UML290_VZW, 0xff, 0xfd, 0xff) }, /* NMEA */ - { USB_DEVICE_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, PANTECH_PRODUCT_UML290_VZW, 0xff, 0xfe, 0xff) }, /* WMC */ - { USB_DEVICE_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, PANTECH_PRODUCT_UML290_VZW, 0xff, 0xff, 0xff) }, /* DIAG */ + { USB_VENDOR_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, 0xff, 0xfd, 0xff) }, /* NMEA */ + { USB_VENDOR_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, 0xff, 0xfe, 0xff) }, /* WMC */ + { USB_VENDOR_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, 0xff, 0xff, 0xff) }, /* DIAG */ { }, }; MODULE_DEVICE_TABLE(usb, id_table); --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/sierra.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/sierra.c @@ -162,7 +162,6 @@ { int result = 0; struct usb_device *udev; - struct sierra_intf_private *data; u8 ifnum; udev = serial->dev; @@ -189,11 +188,6 @@ return -ENODEV; } - data = serial->private = kzalloc(sizeof(struct sierra_intf_private), GFP_KERNEL); - if (!data) - return -ENOMEM; - spin_lock_init(&data->susp_lock); - return result; } @@ -890,11 +884,20 @@ static int sierra_startup(struct usb_serial *serial) { struct usb_serial_port *port; + struct sierra_intf_private *intfdata; struct sierra_port_private *portdata; struct sierra_iface_info *himemoryp = NULL; int i; u8 ifnum; + intfdata = kzalloc(sizeof(*intfdata), GFP_KERNEL); + if (!intfdata) + return -ENOMEM; + + spin_lock_init(&intfdata->susp_lock); + + usb_set_serial_data(serial, intfdata); + /* Set Device mode to D0 */ sierra_set_power_state(serial->dev, 0x0000); @@ -910,7 +913,7 @@ dev_dbg(&port->dev, "%s: kmalloc for " "sierra_port_private (%d) failed!\n", __func__, i); - return -ENOMEM; + goto err; } spin_lock_init(&portdata->lock); init_usb_anchor(&portdata->active); @@ -947,6 +950,14 @@ } return 0; +err: + for (--i; i >= 0; --i) { + portdata = usb_get_serial_port_data(serial->port[i]); + kfree(portdata); + } + kfree(intfdata); + + return -ENOMEM; } static void sierra_release(struct usb_serial *serial) @@ -964,6 +975,7 @@ continue; kfree(portdata); } + kfree(serial->private); } #ifdef CONFIG_PM --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/usb-serial.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/usb-serial.c @@ -1426,9 +1426,10 @@ /* we only set the reset_resume field if the serial_driver has one */ for (sd = serial_drivers; *sd; ++sd) { - if ((*sd)->reset_resume) + if ((*sd)->reset_resume) { udriver->reset_resume = usb_serial_reset_resume; break; + } } rc = usb_register(udriver); --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/usb_wwan.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/usb_wwan.c @@ -453,9 +453,6 @@ { struct urb *urb; - if (endpoint == -1) - return NULL; /* endpoint not needed */ - urb = usb_alloc_urb(0, GFP_KERNEL); /* No ISO */ if (urb == NULL) { dbg("%s: alloc for endpoint %d failed.", __func__, endpoint); @@ -483,6 +480,9 @@ /* Do indat endpoints first */ for (j = 0; j < N_IN_URB; ++j) { + if (!port->bulk_in_size) + break; + portdata->in_urbs[j] = usb_wwan_setup_urb(serial, port-> bulk_in_endpointAddress, @@ -496,6 +496,9 @@ /* outdat endpoints */ for (j = 0; j < N_OUT_URB; ++j) { + if (!port->bulk_out_size) + break; + portdata->out_urbs[j] = usb_wwan_setup_urb(serial, port-> bulk_out_endpointAddress, @@ -529,6 +532,9 @@ init_usb_anchor(&portdata->delayed); for (j = 0; j < N_IN_URB; j++) { + if (!port->bulk_in_size) + break; + buffer = (u8 *) __get_free_page(GFP_KERNEL); if (!buffer) goto bail_out_error; @@ -536,6 +542,9 @@ } for (j = 0; j < N_OUT_URB; j++) { + if (!port->bulk_out_size) + break; + buffer = kmalloc(OUT_BUFLEN, GFP_KERNEL); if (!buffer) goto bail_out_error2; --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/whiteheat.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/whiteheat.c @@ -405,6 +405,7 @@ "%s: please contact support@connecttech.com\n", serial->type->description); kfree(result); + kfree(command); return -ENODEV; no_command_private: --- linux-lowlatency-3.5.0.orig/drivers/usb/serial/quatech2.c +++ linux-lowlatency-3.5.0/drivers/usb/serial/quatech2.c @@ -434,6 +434,12 @@ port_priv->urb_in_use = false; spin_unlock_irqrestore(&port_priv->urb_lock, flags); + mutex_lock(&port->serial->disc_mutex); + if (port->serial->disconnected) { + mutex_unlock(&port->serial->disc_mutex); + return; + } + /* flush the port transmit buffer */ i = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), @@ -465,6 +471,7 @@ dev_err(&port->dev, "%s - close port failed %i\n", __func__, i); + mutex_unlock(&port->serial->disc_mutex); } static void qt2_disconnect(struct usb_serial *serial) @@ -829,6 +836,7 @@ if (status != 0) { dev_err(&serial->dev->dev, "%s - submit read urb failed %i\n", __func__, status); + usb_free_urb(serial_priv->read_urb); return status; } --- linux-lowlatency-3.5.0.orig/drivers/usb/storage/ene_ub6250.c +++ linux-lowlatency-3.5.0/drivers/usb/storage/ene_ub6250.c @@ -29,9 +29,21 @@ #include "protocol.h" #include "debug.h" +#define SD_INIT1_FIRMWARE "ene-ub6250/sd_init1.bin" +#define SD_INIT2_FIRMWARE "ene-ub6250/sd_init2.bin" +#define SD_RW_FIRMWARE "ene-ub6250/sd_rdwr.bin" +#define MS_INIT_FIRMWARE "ene-ub6250/ms_init.bin" +#define MSP_RW_FIRMWARE "ene-ub6250/msp_rdwr.bin" +#define MS_RW_FIRMWARE "ene-ub6250/ms_rdwr.bin" + MODULE_DESCRIPTION("Driver for ENE UB6250 reader"); MODULE_LICENSE("GPL"); - +MODULE_FIRMWARE(SD_INIT1_FIRMWARE); +MODULE_FIRMWARE(SD_INIT2_FIRMWARE); +MODULE_FIRMWARE(SD_RW_FIRMWARE); +MODULE_FIRMWARE(MS_INIT_FIRMWARE); +MODULE_FIRMWARE(MSP_RW_FIRMWARE); +MODULE_FIRMWARE(MS_RW_FIRMWARE); /* * The table of devices @@ -1883,28 +1895,28 @@ /* For SD */ case SD_INIT1_PATTERN: US_DEBUGP("SD_INIT1_PATTERN\n"); - fw_name = "ene-ub6250/sd_init1.bin"; + fw_name = SD_INIT1_FIRMWARE; break; case SD_INIT2_PATTERN: US_DEBUGP("SD_INIT2_PATTERN\n"); - fw_name = "ene-ub6250/sd_init2.bin"; + fw_name = SD_INIT2_FIRMWARE; break; case SD_RW_PATTERN: US_DEBUGP("SD_RDWR_PATTERN\n"); - fw_name = "ene-ub6250/sd_rdwr.bin"; + fw_name = SD_RW_FIRMWARE; break; /* For MS */ case MS_INIT_PATTERN: US_DEBUGP("MS_INIT_PATTERN\n"); - fw_name = "ene-ub6250/ms_init.bin"; + fw_name = MS_INIT_FIRMWARE; break; case MSP_RW_PATTERN: US_DEBUGP("MSP_RW_PATTERN\n"); - fw_name = "ene-ub6250/msp_rdwr.bin"; + fw_name = MSP_RW_FIRMWARE; break; case MS_RW_PATTERN: US_DEBUGP("MS_RW_PATTERN\n"); - fw_name = "ene-ub6250/ms_rdwr.bin"; + fw_name = MS_RW_FIRMWARE; break; default: US_DEBUGP("----------- Unknown PATTERN ----------\n"); --- linux-lowlatency-3.5.0.orig/drivers/usb/storage/uas.c +++ linux-lowlatency-3.5.0/drivers/usb/storage/uas.c @@ -58,9 +58,6 @@ SUBMIT_DATA_OUT_URB = (1 << 5), ALLOC_CMD_URB = (1 << 6), SUBMIT_CMD_URB = (1 << 7), - COMPLETED_DATA_IN = (1 << 8), - COMPLETED_DATA_OUT = (1 << 9), - DATA_COMPLETES_CMD = (1 << 10), }; /* Overrides scsi_pointer */ @@ -114,7 +111,6 @@ { struct sense_iu *sense_iu = urb->transfer_buffer; struct scsi_device *sdev = cmnd->device; - struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; if (urb->actual_length > 16) { unsigned len = be16_to_cpup(&sense_iu->len); @@ -132,15 +128,13 @@ } cmnd->result = sense_iu->status; - if (!(cmdinfo->state & DATA_COMPLETES_CMD)) - cmnd->scsi_done(cmnd); + cmnd->scsi_done(cmnd); } static void uas_sense_old(struct urb *urb, struct scsi_cmnd *cmnd) { struct sense_iu_old *sense_iu = urb->transfer_buffer; struct scsi_device *sdev = cmnd->device; - struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; if (urb->actual_length > 8) { unsigned len = be16_to_cpup(&sense_iu->len) - 2; @@ -158,8 +152,7 @@ } cmnd->result = sense_iu->status; - if (!(cmdinfo->state & DATA_COMPLETES_CMD)) - cmnd->scsi_done(cmnd); + cmnd->scsi_done(cmnd); } static void uas_xfer_data(struct urb *urb, struct scsi_cmnd *cmnd, @@ -184,7 +177,6 @@ struct Scsi_Host *shost = urb->context; struct uas_dev_info *devinfo = (void *)shost->hostdata[0]; struct scsi_cmnd *cmnd; - struct uas_cmd_info *cmdinfo; u16 tag; int ret; @@ -210,32 +202,12 @@ dev_err(&urb->dev->dev, "failed submit status urb\n"); return; } - cmdinfo = (void *)&cmnd->SCp; switch (iu->iu_id) { case IU_ID_STATUS: if (devinfo->cmnd == cmnd) devinfo->cmnd = NULL; - if (!(cmdinfo->state & COMPLETED_DATA_IN) && - cmdinfo->data_in_urb) { - if (devinfo->use_streams) { - cmdinfo->state |= DATA_COMPLETES_CMD; - usb_unlink_urb(cmdinfo->data_in_urb); - } else { - usb_free_urb(cmdinfo->data_in_urb); - } - } - if (!(cmdinfo->state & COMPLETED_DATA_OUT) && - cmdinfo->data_out_urb) { - if (devinfo->use_streams) { - cmdinfo->state |= DATA_COMPLETES_CMD; - usb_unlink_urb(cmdinfo->data_in_urb); - } else { - usb_free_urb(cmdinfo->data_out_urb); - } - } - if (urb->actual_length < 16) devinfo->uas_sense_old = 1; if (devinfo->uas_sense_old) @@ -264,59 +236,27 @@ dev_err(&urb->dev->dev, "failed submit status urb\n"); } -static void uas_data_out_cmplt(struct urb *urb) +static void uas_data_cmplt(struct urb *urb) { - struct scsi_cmnd *cmnd = urb->context; - struct scsi_data_buffer *sdb = scsi_out(cmnd); - struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; - - cmdinfo->state |= COMPLETED_DATA_OUT; - + struct scsi_data_buffer *sdb = urb->context; sdb->resid = sdb->length - urb->actual_length; usb_free_urb(urb); - - if (cmdinfo->state & DATA_COMPLETES_CMD) - cmnd->scsi_done(cmnd); -} - -static void uas_data_in_cmplt(struct urb *urb) -{ - struct scsi_cmnd *cmnd = urb->context; - struct scsi_data_buffer *sdb = scsi_in(cmnd); - struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; - - cmdinfo->state |= COMPLETED_DATA_IN; - - sdb->resid = sdb->length - urb->actual_length; - usb_free_urb(urb); - - if (cmdinfo->state & DATA_COMPLETES_CMD) - cmnd->scsi_done(cmnd); } static struct urb *uas_alloc_data_urb(struct uas_dev_info *devinfo, gfp_t gfp, - unsigned int pipe, struct scsi_cmnd *cmnd, - enum dma_data_direction dir) + unsigned int pipe, u16 stream_id, + struct scsi_data_buffer *sdb, + enum dma_data_direction dir) { - struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; struct usb_device *udev = devinfo->udev; struct urb *urb = usb_alloc_urb(0, gfp); - struct scsi_data_buffer *sdb; - usb_complete_t complete_fn; - u16 stream_id = cmdinfo->stream; if (!urb) goto out; - if (dir == DMA_FROM_DEVICE) { - sdb = scsi_in(cmnd); - complete_fn = uas_data_in_cmplt; - } else { - sdb = scsi_out(cmnd); - complete_fn = uas_data_out_cmplt; - } - usb_fill_bulk_urb(urb, udev, pipe, NULL, sdb->length, - complete_fn, cmnd); - urb->stream_id = stream_id; + usb_fill_bulk_urb(urb, udev, pipe, NULL, sdb->length, uas_data_cmplt, + sdb); + if (devinfo->use_streams) + urb->stream_id = stream_id; urb->num_sgs = udev->bus->sg_tablesize ? sdb->table.nents : 0; urb->sg = sdb->table.sgl; out: @@ -418,8 +358,8 @@ if (cmdinfo->state & ALLOC_DATA_IN_URB) { cmdinfo->data_in_urb = uas_alloc_data_urb(devinfo, gfp, - devinfo->data_in_pipe, cmnd, - DMA_FROM_DEVICE); + devinfo->data_in_pipe, cmdinfo->stream, + scsi_in(cmnd), DMA_FROM_DEVICE); if (!cmdinfo->data_in_urb) return SCSI_MLQUEUE_DEVICE_BUSY; cmdinfo->state &= ~ALLOC_DATA_IN_URB; @@ -436,8 +376,8 @@ if (cmdinfo->state & ALLOC_DATA_OUT_URB) { cmdinfo->data_out_urb = uas_alloc_data_urb(devinfo, gfp, - devinfo->data_out_pipe, cmnd, - DMA_TO_DEVICE); + devinfo->data_out_pipe, cmdinfo->stream, + scsi_out(cmnd), DMA_TO_DEVICE); if (!cmdinfo->data_out_urb) return SCSI_MLQUEUE_DEVICE_BUSY; cmdinfo->state &= ~ALLOC_DATA_OUT_URB; --- linux-lowlatency-3.5.0.orig/drivers/usb/storage/unusual_devs.h +++ linux-lowlatency-3.5.0/drivers/usb/storage/unusual_devs.h @@ -1004,6 +1004,12 @@ USB_SC_8070, USB_PR_CB, NULL, US_FL_NEED_OVERRIDE | US_FL_FIX_INQUIRY ), +/* Submitted by Oleksandr Chumachenko */ +UNUSUAL_DEV( 0x07cf, 0x1167, 0x0100, 0x0100, + "Casio", + "EX-N1 DigitalCamera", + USB_SC_8070, USB_PR_DEVICE, NULL, 0), + /* Submitted by Hartmut Wahl */ UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001, "Samsung", @@ -1163,6 +1169,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init, 0), +/* Reported by Timo Aaltonen */ +UNUSUAL_DEV( 0x0af0, 0x7011, 0x0000, 0x9999, + "Option", + "Mass Storage", + USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init, + 0 ), + /* Reported by F. Aben * This device (wrongly) has a vendor-specific device descriptor. * The entry is needed so usb-storage can bind to it's mass-storage --- linux-lowlatency-3.5.0.orig/drivers/usb/chipidea/udc.c +++ linux-lowlatency-3.5.0/drivers/usb/chipidea/udc.c @@ -77,8 +77,7 @@ } /** - * hw_device_state: enables/disables interrupts & starts/stops device (execute - * without interruption) + * hw_device_state: enables/disables interrupts (execute without interruption) * @dma: 0 => disable, !0 => enable and set dma engine * * This function returns an error code @@ -92,7 +91,6 @@ USBi_UI|USBi_UEI|USBi_PCI|USBi_URI|USBi_SLI); hw_write(udc, OP_USBCMD, USBCMD_RS, USBCMD_RS); } else { - hw_write(udc, OP_USBCMD, USBCMD_RS, 0); hw_write(udc, OP_USBINTR, ~0, 0); } return 0; @@ -773,10 +771,7 @@ { struct ci13xxx_req *mReq, *mReqTemp; struct ci13xxx_ep *mEpTemp = mEp; - int uninitialized_var(retval); - - if (list_empty(&mEp->qh.queue)) - return -EINVAL; + int retval = 0; list_for_each_entry_safe(mReq, mReqTemp, &mEp->qh.queue, queue) { @@ -1419,6 +1414,21 @@ return -ENOTSUPP; } +/* Change Data+ pullup status + * this func is used by usb_gadget_connect/disconnet + */ +static int ci13xxx_pullup(struct usb_gadget *_gadget, int is_on) +{ + struct ci13xxx *ci = container_of(_gadget, struct ci13xxx, gadget); + + if (is_on) + hw_write(ci, OP_USBCMD, USBCMD_RS, USBCMD_RS); + else + hw_write(ci, OP_USBCMD, USBCMD_RS, 0); + + return 0; +} + static int ci13xxx_start(struct usb_gadget *gadget, struct usb_gadget_driver *driver); static int ci13xxx_stop(struct usb_gadget *gadget, @@ -1431,6 +1441,7 @@ static const struct usb_gadget_ops usb_gadget_ops = { .vbus_session = ci13xxx_vbus_session, .wakeup = ci13xxx_wakeup, + .pullup = ci13xxx_pullup, .vbus_draw = ci13xxx_vbus_draw, .udc_start = ci13xxx_start, .udc_stop = ci13xxx_stop, @@ -1454,7 +1465,12 @@ mEp->ep.name = mEp->name; mEp->ep.ops = &usb_ep_ops; - mEp->ep.maxpacket = CTRL_PAYLOAD_MAX; + /* + * for ep0: maxP defined in desc, for other + * eps, maxP is set by epautoconfig() called + * by gadget layer + */ + mEp->ep.maxpacket = (unsigned short)~0; INIT_LIST_HEAD(&mEp->qh.queue); mEp->qh.ptr = dma_pool_alloc(udc->qh_pool, GFP_KERNEL, @@ -1474,6 +1490,7 @@ else udc->ep0in = mEp; + mEp->ep.maxpacket = CTRL_PAYLOAD_MAX; continue; } @@ -1483,6 +1500,17 @@ return retval; } +static void destroy_eps(struct ci13xxx *udc) +{ + int i; + + for (i = 0; i < udc->hw_ep_max; i++) { + struct ci13xxx_ep *mEp = &udc->ci13xxx_ep[i]; + + dma_pool_free(udc->qh_pool, mEp->qh.ptr, mEp->qh.dma); + } +} + /** * ci13xxx_start: register a gadget driver * @gadget: our gadget @@ -1692,7 +1720,7 @@ if (udc->udc_driver->flags & CI13XXX_REQUIRE_TRANSCEIVER) { if (udc->transceiver == NULL) { retval = -ENODEV; - goto free_pools; + goto destroy_eps; } } @@ -1730,7 +1758,7 @@ remove_trans: if (udc->transceiver) { - otg_set_peripheral(udc->transceiver->otg, &udc->gadget); + otg_set_peripheral(udc->transceiver->otg, NULL); usb_put_transceiver(udc->transceiver); } @@ -1742,6 +1770,8 @@ put_transceiver: if (udc->transceiver) usb_put_transceiver(udc->transceiver); +destroy_eps: + destroy_eps(udc); free_pools: dma_pool_destroy(udc->td_pool); free_qh_pool: @@ -1756,18 +1786,12 @@ */ static void udc_stop(struct ci13xxx *udc) { - int i; - if (udc == NULL) return; usb_del_gadget_udc(&udc->gadget); - for (i = 0; i < udc->hw_ep_max; i++) { - struct ci13xxx_ep *mEp = &udc->ci13xxx_ep[i]; - - dma_pool_free(udc->qh_pool, mEp->qh.ptr, mEp->qh.dma); - } + destroy_eps(udc); dma_pool_destroy(udc->td_pool); dma_pool_destroy(udc->qh_pool); --- linux-lowlatency-3.5.0.orig/drivers/vhost/net.c +++ linux-lowlatency-3.5.0/drivers/vhost/net.c @@ -379,7 +379,8 @@ .hdr.gso_type = VIRTIO_NET_HDR_GSO_NONE }; size_t total_len = 0; - int err, headcount, mergeable; + int err, mergeable; + s16 headcount; size_t vhost_hlen, sock_hlen; size_t vhost_len, sock_len; /* TODO: check that we are running from vhost_worker? */ --- linux-lowlatency-3.5.0.orig/drivers/video/Kconfig +++ linux-lowlatency-3.5.0/drivers/video/Kconfig @@ -753,8 +753,8 @@ If unsure, say N. config FB_VESA - bool "VESA VGA graphics support" - depends on (FB = y) && X86 + tristate "VESA VGA graphics support" + depends on FB && X86 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT --- linux-lowlatency-3.5.0.orig/drivers/video/smscufx.c +++ linux-lowlatency-3.5.0/drivers/video/smscufx.c @@ -904,7 +904,7 @@ result = fb_sys_write(info, buf, count, ppos); if (result > 0) { - int start = max((int)(offset / info->fix.line_length) - 1, 0); + int start = max((int)(offset / info->fix.line_length), 0); int lines = min((u32)((result / info->fix.line_length) + 1), (u32)info->var.yres); --- linux-lowlatency-3.5.0.orig/drivers/video/udlfb.c +++ linux-lowlatency-3.5.0/drivers/video/udlfb.c @@ -647,7 +647,7 @@ result = fb_sys_write(info, buf, count, ppos); if (result > 0) { - int start = max((int)(offset / info->fix.line_length) - 1, 0); + int start = max((int)(offset / info->fix.line_length), 0); int lines = min((u32)((result / info->fix.line_length) + 1), (u32)info->var.yres); --- linux-lowlatency-3.5.0.orig/drivers/video/vesafb.c +++ linux-lowlatency-3.5.0/drivers/video/vesafb.c @@ -27,6 +27,12 @@ #define dac_reg (0x3c8) #define dac_val (0x3c9) +struct vesafb_info +{ + u32 pseudo_palette[256]; + int mtrr_hdl; +}; + /* --------------------------------------------------------------------- */ static struct fb_var_screeninfo vesafb_defined __initdata = { @@ -40,22 +46,43 @@ .vmode = FB_VMODE_NONINTERLACED, }; -static struct fb_fix_screeninfo vesafb_fix __initdata = { +static struct fb_fix_screeninfo vesafb_fix = { .id = "VESA VGA", .type = FB_TYPE_PACKED_PIXELS, .accel = FB_ACCEL_NONE, }; +#ifndef MODULE static int inverse __read_mostly; -static int mtrr __read_mostly; /* disable mtrr */ +#endif +static int mtrr __read_mostly = 3; /* disable mtrr */ static int vram_remap __initdata; /* Set amount of memory to be used */ static int vram_total __initdata; /* Set total amount of memory */ static int pmi_setpal __read_mostly = 1; /* pmi for palette changes ??? */ +static int redraw __read_mostly; static int ypan __read_mostly; /* 0..nothing, 1..ypan, 2..ywrap */ +static int ywrap __read_mostly; static void (*pmi_start)(void) __read_mostly; static void (*pmi_pal) (void) __read_mostly; static int depth __read_mostly; static int vga_compat __read_mostly; + +module_param(redraw, bool, 0); +module_param(ypan, bool, 0); +module_param(ywrap, bool, 0); +module_param_named(vgapal, pmi_setpal, invbool, 0); +MODULE_PARM_DESC(vgapal, "Use VGA for setting palette (default)"); +module_param_named(pmipal, pmi_setpal, bool, 0); +MODULE_PARM_DESC(pmipal, "Use PMI for setting palette"); +module_param(mtrr, uint, 0); +MODULE_PARM_DESC(mtrr, "Enable MTRR support (default)"); +module_param_named(nomtrr, mtrr, invbool, 0); +MODULE_PARM_DESC(nomtrr, "Disable MTRR support"); +module_param(vram_remap, int, 0); +MODULE_PARM_DESC(vram_remap, "Set total amount of memory to be used"); +module_param(vram_total, int, 0); +MODULE_PARM_DESC(vram_total, "Total amount of memory"); + /* --------------------------------------------------------------------- */ static int vesafb_pan_display(struct fb_var_screeninfo *var, @@ -192,6 +219,7 @@ .fb_imageblit = cfb_imageblit, }; +#ifndef MODULE static int __init vesafb_setup(char *options) { char *this_opt; @@ -225,10 +253,12 @@ } return 0; } +#endif static int __init vesafb_probe(struct platform_device *dev) { struct fb_info *info; + struct vesafb_info *vfb_info; int i, err; unsigned int size_vmode; unsigned int size_remap; @@ -287,13 +317,14 @@ spaces our resource handlers simply don't know about */ } - info = framebuffer_alloc(sizeof(u32) * 256, &dev->dev); + info = framebuffer_alloc(sizeof(struct vesafb_info), &dev->dev); if (!info) { release_mem_region(vesafb_fix.smem_start, size_total); return -ENOMEM; } - info->pseudo_palette = info->par; - info->par = NULL; + vfb_info = (struct vesafb_info *) info->par; + vfb_info->mtrr_hdl = -1; + info->pseudo_palette = vfb_info->pseudo_palette; /* set vesafb aperture size for generic probing */ info->apertures = alloc_apertures(1); @@ -423,17 +454,15 @@ } if (type) { - int rc; - /* Find the largest power-of-two */ temp_size = roundup_pow_of_two(temp_size); /* Try and find a power of two to add */ do { - rc = mtrr_add(vesafb_fix.smem_start, temp_size, + vfb_info->mtrr_hdl = mtrr_add(vesafb_fix.smem_start, temp_size, type, 1); temp_size >>= 1; - } while (temp_size >= PAGE_SIZE && rc == -EINVAL); + } while (temp_size >= PAGE_SIZE && vfb_info->mtrr_hdl == -EINVAL); } } #endif @@ -495,7 +524,27 @@ return err; } +static int __exit vesafb_remove(struct platform_device *device) +{ + struct fb_info *info = dev_get_drvdata(&device->dev); + + unregister_framebuffer(info); +#ifdef CONFIG_MTRR + { + struct vesafb_info *vfb_info = (struct vesafb_info *) info->par; + if (vfb_info->mtrr_hdl >= 0) + mtrr_del(vfb_info->mtrr_hdl, 0, 0); + } +#endif + iounmap(info->screen_base); + framebuffer_release(info); + release_mem_region(vesafb_fix.smem_start, vesafb_fix.smem_len); + + return 0; +} + static struct platform_driver vesafb_driver = { + .remove = vesafb_remove, .driver = { .name = "vesafb", }, @@ -506,11 +555,18 @@ static int __init vesafb_init(void) { int ret; +#ifndef MODULE char *option = NULL; /* ignore error return of fb_get_options */ fb_get_options("vesafb", &option); vesafb_setup(option); +#else + if (redraw) + ypan = 0; + if (ywrap) + ypan = 2; +#endif vesafb_device = platform_device_alloc("vesafb", 0); if (!vesafb_device) @@ -530,6 +586,14 @@ return ret; } + +static void __exit vesafb_exit(void) +{ + platform_device_unregister(vesafb_device); + platform_driver_unregister(&vesafb_driver); +} + module_init(vesafb_init); +module_exit(vesafb_exit); MODULE_LICENSE("GPL"); --- linux-lowlatency-3.5.0.orig/drivers/video/console/fbcon.c +++ linux-lowlatency-3.5.0/drivers/video/console/fbcon.c @@ -372,8 +372,15 @@ struct vc_data *vc = NULL; int c; int mode; + int ret; + + /* FIXME: we should sort out the unbind locking instead */ + /* instead we just fail to flash the cursor if we can't get + * the lock instead of blocking fbcon deinit */ + ret = console_trylock(); + if (ret == 0) + return; - console_lock(); if (ops && ops->currcon != -1) vc = vc_cons[ops->currcon].d; --- linux-lowlatency-3.5.0.orig/drivers/video/omap2/omapfb/omapfb-main.c +++ linux-lowlatency-3.5.0/drivers/video/omap2/omapfb/omapfb-main.c @@ -1188,7 +1188,7 @@ break; if (regno < 16) { - u16 pal; + u32 pal; pal = ((red >> (16 - var->red.length)) << var->red.offset) | ((green >> (16 - var->green.length)) << --- linux-lowlatency-3.5.0.orig/drivers/video/via/via_clock.c +++ linux-lowlatency-3.5.0/drivers/video/via/via_clock.c @@ -25,6 +25,7 @@ #include #include +#include #include "via_clock.h" #include "global.h" #include "debug.h" @@ -289,6 +290,10 @@ printk(KERN_INFO "Using undocumented set PLL.\n%s", via_slap); } +static void noop_set_clock_state(u8 state) +{ +} + void via_clock_init(struct via_clock *clock, int gfx_chip) { switch (gfx_chip) { @@ -346,4 +351,18 @@ break; } + + if (machine_is_olpc()) { + /* The OLPC XO-1.5 cannot suspend/resume reliably if the + * IGA1/IGA2 clocks are set as on or off (memory rot + * occasionally happens during suspend under such + * configurations). + * + * The only known stable scenario is to leave this bits as-is, + * which in their default states are documented to enable the + * clock only when it is needed. + */ + clock->set_primary_clock_state = noop_set_clock_state; + clock->set_secondary_clock_state = noop_set_clock_state; + } } --- linux-lowlatency-3.5.0.orig/drivers/virtio/virtio.c +++ linux-lowlatency-3.5.0/drivers/virtio/virtio.c @@ -222,8 +222,10 @@ void unregister_virtio_device(struct virtio_device *dev) { + int index = dev->index; /* save for after device release */ + device_unregister(&dev->dev); - ida_simple_remove(&virtio_index_ida, dev->index); + ida_simple_remove(&virtio_index_ida, index); } EXPORT_SYMBOL_GPL(unregister_virtio_device); --- linux-lowlatency-3.5.0.orig/drivers/watchdog/hpwdt.c +++ linux-lowlatency-3.5.0/drivers/watchdog/hpwdt.c @@ -814,6 +814,9 @@ hpwdt_timer_reg = pci_mem_addr + 0x70; hpwdt_timer_con = pci_mem_addr + 0x72; + /* Make sure that timer is disabled until /dev/watchdog is opened */ + hpwdt_stop(); + /* Make sure that we have a valid soft_margin */ if (hpwdt_change_timer(soft_margin)) hpwdt_change_timer(DEFAULT_MARGIN); --- linux-lowlatency-3.5.0.orig/drivers/xen/events.c +++ linux-lowlatency-3.5.0/drivers/xen/events.c @@ -1374,8 +1374,8 @@ { struct pt_regs *old_regs = set_irq_regs(regs); - exit_idle(); irq_enter(); + exit_idle(); __xen_evtchn_do_upcall(); --- linux-lowlatency-3.5.0.orig/drivers/xen/gntdev.c +++ linux-lowlatency-3.5.0/drivers/xen/gntdev.c @@ -105,6 +105,21 @@ #endif } +static void gntdev_free_map(struct grant_map *map) +{ + if (map == NULL) + return; + + if (map->pages) + free_xenballooned_pages(map->count, map->pages); + kfree(map->pages); + kfree(map->grants); + kfree(map->map_ops); + kfree(map->unmap_ops); + kfree(map->kmap_ops); + kfree(map); +} + static struct grant_map *gntdev_alloc_map(struct gntdev_priv *priv, int count) { struct grant_map *add; @@ -142,12 +157,7 @@ return add; err: - kfree(add->pages); - kfree(add->grants); - kfree(add->map_ops); - kfree(add->unmap_ops); - kfree(add->kmap_ops); - kfree(add); + gntdev_free_map(add); return NULL; } @@ -198,17 +208,9 @@ evtchn_put(map->notify.event); } - if (map->pages) { - if (!use_ptemod) - unmap_grant_pages(map, 0, map->count); - - free_xenballooned_pages(map->count, map->pages); - } - kfree(map->pages); - kfree(map->grants); - kfree(map->map_ops); - kfree(map->unmap_ops); - kfree(map); + if (map->pages && !use_ptemod) + unmap_grant_pages(map, 0, map->count); + gntdev_free_map(map); } /* ------------------------------------------------------------------ */ @@ -314,8 +316,9 @@ } } - err = gnttab_unmap_refs(map->unmap_ops + offset, map->pages + offset, - pages, true); + err = gnttab_unmap_refs(map->unmap_ops + offset, + use_ptemod ? map->kmap_ops + offset : NULL, map->pages + offset, + pages); if (err) return err; --- linux-lowlatency-3.5.0.orig/drivers/xen/grant-table.c +++ linux-lowlatency-3.5.0/drivers/xen/grant-table.c @@ -870,7 +870,8 @@ EXPORT_SYMBOL_GPL(gnttab_map_refs); int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops, - struct page **pages, unsigned int count, bool clear_pte) + struct gnttab_map_grant_ref *kmap_ops, + struct page **pages, unsigned int count) { int i, ret; bool lazy = false; @@ -888,7 +889,8 @@ } for (i = 0; i < count; i++) { - ret = m2p_remove_override(pages[i], clear_pte); + ret = m2p_remove_override(pages[i], kmap_ops ? + &kmap_ops[i] : NULL); if (ret) return ret; } --- linux-lowlatency-3.5.0.orig/drivers/xen/platform-pci.c +++ linux-lowlatency-3.5.0/drivers/xen/platform-pci.c @@ -109,6 +109,9 @@ long mmio_addr, mmio_len; unsigned int max_nr_gframes; + if (!xen_domain()) + return -ENODEV; + i = pci_enable_device(pdev); if (i) return i; --- linux-lowlatency-3.5.0.orig/drivers/xen/swiotlb-xen.c +++ linux-lowlatency-3.5.0/drivers/xen/swiotlb-xen.c @@ -232,7 +232,7 @@ return ret; if (hwdev && hwdev->coherent_dma_mask) - dma_mask = hwdev->coherent_dma_mask; + dma_mask = dma_alloc_coherent_mask(hwdev, flags); phys = virt_to_phys(ret); dev_addr = xen_phys_to_bus(phys); --- linux-lowlatency-3.5.0.orig/drivers/xen/xen-pciback/pci_stub.c +++ linux-lowlatency-3.5.0/drivers/xen/xen-pciback/pci_stub.c @@ -353,16 +353,17 @@ if (err) goto config_release; - dev_dbg(&dev->dev, "reseting (FLR, D3, etc) the device\n"); - __pci_reset_function_locked(dev); - /* We need the device active to save the state. */ dev_dbg(&dev->dev, "save state of device\n"); pci_save_state(dev); dev_data->pci_saved_state = pci_store_saved_state(dev); if (!dev_data->pci_saved_state) dev_err(&dev->dev, "Could not store PCI conf saved state!\n"); - + else { + dev_dbg(&dev->dev, "reseting (FLR, D3, etc) the device\n"); + __pci_reset_function_locked(dev); + pci_restore_state(dev); + } /* Now disable the device (this also ensures some private device * data is setup before we export) */ --- linux-lowlatency-3.5.0.orig/drivers/extcon/extcon_class.c +++ linux-lowlatency-3.5.0/drivers/extcon/extcon_class.c @@ -575,6 +575,10 @@ kfree(edev->cables); } +#if defined(CONFIG_ANDROID) + if (switch_class) + class_compat_remove_link(switch_class, edev->dev, NULL); +#endif device_unregister(edev->dev); put_device(edev->dev); } @@ -821,6 +825,9 @@ static void __exit extcon_class_exit(void) { +#if defined(CONFIG_ANDROID) + class_compat_unregister(switch_class); +#endif class_destroy(extcon_class); } module_exit(extcon_class_exit); --- linux-lowlatency-3.5.0.orig/firmware/Makefile +++ linux-lowlatency-3.5.0/firmware/Makefile @@ -27,86 +27,31 @@ acenic-objs := acenic/tg1.bin acenic/tg2.bin endif fw-shipped-$(CONFIG_ACENIC) += $(acenic-objs) -fw-shipped-$(CONFIG_ADAPTEC_STARFIRE) += adaptec/starfire_rx.bin \ - adaptec/starfire_tx.bin fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin -fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw -fw-shipped-$(CONFIG_BNX2X) += bnx2x/bnx2x-e1-6.2.9.0.fw \ - bnx2x/bnx2x-e1h-6.2.9.0.fw \ - bnx2x/bnx2x-e2-6.2.9.0.fw -fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-6.2.1a.fw \ - bnx2/bnx2-rv2p-09-6.0.17.fw \ - bnx2/bnx2-rv2p-09ax-6.0.17.fw \ - bnx2/bnx2-mips-06-6.2.1.fw \ - bnx2/bnx2-rv2p-06-6.0.15.fw -fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin -fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin -fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \ - cxgb3/t3c_psram-1.1.0.bin \ - cxgb3/t3fw-7.10.0.bin \ - cxgb3/ael2005_opt_edc.bin \ - cxgb3/ael2005_twx_edc.bin \ - cxgb3/ael2020_twx_edc.bin -fw-shipped-$(CONFIG_DRM_MGA) += matrox/g200_warp.fw matrox/g400_warp.fw -fw-shipped-$(CONFIG_DRM_R128) += r128/r128_cce.bin -fw-shipped-$(CONFIG_DRM_RADEON) += radeon/R100_cp.bin radeon/R200_cp.bin \ - radeon/R300_cp.bin radeon/R420_cp.bin \ - radeon/RS690_cp.bin radeon/RS600_cp.bin \ - radeon/R520_cp.bin \ - radeon/R600_pfp.bin radeon/R600_me.bin \ - radeon/RV610_pfp.bin radeon/RV610_me.bin \ - radeon/RV630_pfp.bin radeon/RV630_me.bin \ - radeon/RV620_pfp.bin radeon/RV620_me.bin \ - radeon/RV635_pfp.bin radeon/RV635_me.bin \ - radeon/RV670_pfp.bin radeon/RV670_me.bin \ - radeon/RS780_pfp.bin radeon/RS780_me.bin \ - radeon/RV770_pfp.bin radeon/RV770_me.bin \ - radeon/RV730_pfp.bin radeon/RV730_me.bin \ - radeon/RV710_pfp.bin radeon/RV710_me.bin -fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin -fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin +fw-shipped-$(CONFIG_BNX2X) += bnx2x/bnx2x-e1-7.2.51.0.fw \ + bnx2x/bnx2x-e1h-7.2.51.0.fw \ + bnx2x/bnx2x-e2-7.2.51.0.fw +fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-6.2.1b.fw \ + bnx2/bnx2-rv2p-06-6.0.15.fw \ + bnx2/bnx2-mips-06-6.2.3.fw \ + bnx2/bnx2-rv2p-09-6.0.17.fw \ + bnx2/bnx2-rv2p-09ax-6.0.17.fw fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \ e100/d102e_ucode.bin -fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin -fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \ - cis/DP83903.cis cis/NE2K.cis \ - cis/tamarack.cis cis/PE-200.cis \ - cis/PE520.cis -fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis -fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis -fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \ - cis/COMpad2.cis cis/COMpad4.cis \ - cis/SW_555_SER.cis cis/SW_7xx_SER.cis \ - cis/SW_8xx_SER.cis -fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin -fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \ - advansys/3550.bin advansys/38C0800.bin +fw-shipped-$(CONFIG_PCMCIA_PCNET) += + +fw-shipped-$(CONFIG_PCMCIA_3C589) += +fw-shipped-$(CONFIG_PCMCIA_3C574) += +fw-shipped-$(CONFIG_SERIAL_8250_CS) += + fw-shipped-$(CONFIG_SCSI_QLOGIC_1280) += qlogic/1040.bin qlogic/1280.bin \ qlogic/12160.bin fw-shipped-$(CONFIG_SCSI_QLOGICPTI) += qlogic/isp1000.bin fw-shipped-$(CONFIG_INFINIBAND_QIB) += qlogic/sd7220.fw -fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp -fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ - ess/maestro3_assp_minisrc.fw -fw-shipped-$(CONFIG_SND_SB16_CSP) += sb16/mulaw_main.csp sb16/alaw_main.csp \ - sb16/ima_adpcm_init.csp \ - sb16/ima_adpcm_playback.csp \ - sb16/ima_adpcm_capture.csp -fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ - yamaha/ds1e_ctrl.fw fw-shipped-$(CONFIG_SND_WAVEFRONT) += yamaha/yss225_registers.bin -fw-shipped-$(CONFIG_TEHUTI) += tehuti/bdx.bin fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \ tigon/tg3_tso5.bin -fw-shipped-$(CONFIG_TYPHOON) += 3com/typhoon.bin fw-shipped-$(CONFIG_USB_DABUSB) += dabusb/firmware.fw dabusb/bitstream.bin -fw-shipped-$(CONFIG_USB_EMI26) += emi26/loader.fw emi26/firmware.fw \ - emi26/bitstream.fw -fw-shipped-$(CONFIG_USB_EMI62) += emi62/loader.fw emi62/bitstream.fw \ - emi62/spdif.fw emi62/midi.fw -fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \ - kaweth/new_code_fix.bin \ - kaweth/trigger_code_fix.bin ifdef CONFIG_FIRMWARE_IN_KERNEL fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_MPR) += keyspan/mpr.fw fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA18X) += keyspan/usa18x.fw @@ -126,17 +71,9 @@ keyspan/usa28.fw keyspan/usa28xa.fw keyspan/usa28xb.fw \ keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw endif -fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw \ - mts_cdma.fw mts_gsm.fw mts_edge.fw -fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT) += edgeport/boot.fw edgeport/boot2.fw \ - edgeport/down.fw edgeport/down2.fw -fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += edgeport/down3.bin fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ # whiteheat_loader_debug.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw -fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw -fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) --- linux-lowlatency-3.5.0.orig/firmware/WHENCE +++ linux-lowlatency-3.5.0/firmware/WHENCE @@ -629,16 +629,6 @@ -------------------------------------------------------------------------- -Driver: MYRI_SBUS - MyriCOM Gigabit Ethernet - -File: myricom/lanai.bin - -Licence: Unknown - -Found in hex form in kernel source. - --------------------------------------------------------------------------- - Driver: bnx2x: Broadcom Everest File: bnx2x/bnx2x-e1-6.2.9.0.fw --- linux-lowlatency-3.5.0.orig/firmware/bnx2/bnx2-mips-06-6.2.3.fw.ihex +++ linux-lowlatency-3.5.0/firmware/bnx2/bnx2-mips-06-6.2.3.fw.ihex @@ -0,0 +1,5804 @@ +:10000000080001180800000000004A68000000C84D +:1000100000000000000000000000000008004A6826 +:100020000000001400004B30080000A00800000091 +:100030000000569400004B44080058200000008443 +:100040000000A1D808005694000001580000A25CEE +:100050000800321008000000000072F00000A3B495 +:10006000000000000000000000000000080072F026 +:1000700000000024000116A40800049008000400F9 +:10008000000017D4000116C80000000000000000A6 +:100090000000000000000000000000000000000060 +:1000A000080000A80800000000003BFC00012E9C96 +:1000B0000000000000000000000000000000000040 +:1000C00000000000000000000A00004600000000E0 +:1000D000000000000000000D636F6D362E322E33DD +:1000E0000000000006020302000000000000000300 +:1000F000000000C800000032000000030000000003 +:1001000000000000000000000000000000000000EF +:1001100000000010000001360000EA600000000549 +:1001200000000000000000000000000000000008C7 +:1001300000000000000000000000000000000000BF +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:10016000000000020000000000000000000000008D +:10017000000000000000000000000000000000007F +:10018000000000000000000000000010000000005F +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D000000000000000000000000000000000001F +:1001E0000000000010000003000000000000000DEF +:1001F0000000000D3C02080024424AA03C03080015 +:1002000024634B9CAC4000000043202B1480FFFD76 +:10021000244200043C1D080037BD7FFC03A0F021F0 +:100220003C100800261001183C1C0800279C4AA01E +:100230000E000168000000000000000D27470100CB +:1002400090E3000B2402001A94E5000814620028D1 +:10025000000020218CE200003C0308008C63004475 +:1002600094E60014000211C20002104030A4000203 +:10027000005A10212463000130A50004A446008028 +:100280003C010800AC23004410A000190004202BFE +:100290008F4202B804410008240400013C02080017 +:1002A0008C420060244200013C010800AC22006046 +:1002B00003E00008008010218CE2002094E3001687 +:1002C00000002021AF4202808CE20004A743028498 +:1002D000AF4202883C021000AF4202B83C02080064 +:1002E0008C42005C244200013C010800AC22005C0E +:1002F00003E00008008010212747010090E3000B75 +:100300002402000394E50008146200280000202164 +:100310008CE200003C0308008C63004494E6001467 +:10032000000211C20002104030A40002005A102145 +:100330002463000130A50004A44600803C010800AD +:10034000AC23004410A000190004202B8F4202B8F7 +:1003500004410008240400013C0208008C420060B3 +:10036000244200013C010800AC22006003E00008C8 +:10037000008010218CE2002094E300160000202170 +:10038000AF4202808CE20004A7430284AF4202889D +:100390003C021000AF4202B83C0208008C42005CF4 +:1003A000244200013C010800AC22005C03E000088C +:1003B000008010218F4301002402010050620003DD +:1003C000000311C20000000D000311C20002104022 +:1003D000005A1021A440008003E000080000102112 +:1003E0009362000003E00008AF80000003E0000813 +:1003F0000000102103E00008000010212402010089 +:1004000014820008000000003C0208008C4200FC3E +:10041000244200013C010800AC2200FC0A0000DD7F +:1004200030A200203C0208008C42008424420001DB +:100430003C010800AC22008430A2002010400008DB +:1004400030A300103C0208008C4201082442000145 +:100450003C010800AC22010803E000080000000095 +:1004600010600008000000003C0208008C420104FB +:10047000244200013C010800AC22010403E0000812 +:10048000000000003C0208008C42010024420001F0 +:100490003C010800AC22010003E00008000000005D +:1004A00027BDFFE8AFBF0010274401009483000878 +:1004B000306200041040001B306600028F4202B818 +:1004C00004410008240500013C0208008C42006041 +:1004D000244200013C010800AC2200600A0001290E +:1004E0008FBF00108C82002094830016000028210A +:1004F000AF4202808C820004A7430284AF4202888C +:100500003C021000AF4202B83C0208008C42005C82 +:10051000244200013C010800AC22005C0A000129D1 +:100520008FBF001010C00006006028218F4401001A +:100530000E0000CD000000000A0001282405000183 +:100540008F8200088F4301045043000700002821D8 +:100550008F4401000E0000CD000000008F42010416 +:10056000AF820008000028218FBF001000A01021DA +:1005700003E0000827BD001827BDFFE8AFBF001447 +:10058000AFB00010974201083043700024022000F1 +:100590001062000B286220011440002F000010217F +:1005A00024024000106200250000000024026000C8 +:1005B00010620026000010210A0001658FBF0014A0 +:1005C00027500100920200091040001A2403000184 +:1005D0003C0208008C420020104000160000182148 +:1005E0000E00049300000000960300083C0608007B +:1005F00094C64B5E8E0400188F8200209605000C76 +:1006000000031C0000661825AC440000AC45000443 +:1006100024040001AC400008AC40000CAC400010C9 +:10062000AC400014AC4000180E0004B8AC43001CF1 +:10063000000018210A000164006010210E0003254B +:10064000000000000A000164000010210E000EE905 +:1006500000000000000010218FBF00148FB00010B8 +:1006600003E0000827BD001827BDFFE0AFB2001867 +:100670003C036010AFBF001CAFB10014AFB000105E +:100680008C6450002402FF7F3C1A800000822024EA +:100690003484380C24020037AC6450003C1208004B +:1006A00026524AD8AF42000824020C80AF420024F0 +:1006B0003C1B80083C06080024C60324024010218D +:1006C0002404001D2484FFFFAC4600000481FFFDCC +:1006D000244200043C020800244204B03C0108000B +:1006E000AC224AE03C020800244202303C010800EF +:1006F000AC224AE43C020800244201743C03080096 +:100700002463032C3C040800248403D83C0508001F +:1007100024A538F03C010800AC224B403C02080004 +:10072000244202EC3C010800AC264B243C010800AA +:10073000AC254B343C010800AC234B3C3C01080089 +:10074000AC244B443C010800AC224B483C0108005F +:10075000AC234ADC3C010800AC204AE83C0108001C +:10076000AC204AEC3C010800AC204AF03C010800F7 +:10077000AC204AF43C010800AC204AF83C010800D7 +:10078000AC204AFC3C010800AC204B003C010800B6 +:10079000AC244B043C010800AC204B083C01080091 +:1007A000AC204B0C3C010800AC204B103C01080075 +:1007B000AC204B143C010800AC204B183C01080055 +:1007C000AC264B1C3C010800AC264B203C01080029 +:1007D000AC254B303C010800AC234B380E000623FF +:1007E000000000003C028000344200708C42000097 +:1007F000AF8200143C0308008C6300208F82000449 +:10080000104300043C0280000E00045BAF83000430 +:100810003C028000344600703C0308008C6300A05A +:100820003C0208008C4200A4104300048F84001492 +:100830003C010800AC2300A4A743009E8CCA000022 +:100840003C0308008C6300BC3C0208008C4200B8EA +:100850000144202300641821000040210064202B63 +:1008600000481021004410213C010800AC2300BCCA +:100870003C010800AC2200B88F5100003222000772 +:100880001040FFDCAF8A00148CC600003C05080055 +:100890008CA500BC3C0408008C8400B800CA30233E +:1008A00000A628210000102100A6302B0082202164 +:1008B00000862021322700013C010800AC2500BC45 +:1008C0003C010800AC2400B810E0001F32220002F6 +:1008D0008F420100AF4200208F420104AF4200A8C6 +:1008E0009342010B0E0000C6305000FF2E02001E86 +:1008F00054400004001010800E0000C90A000213CA +:1009000000000000005210218C4200000040F80955 +:1009100000000000104000053C0240008F4301042D +:100920003C026020AC4300143C024000AF4201385E +:100930003C0208008C420034244200013C010800C3 +:10094000AC220034322200021040000E3222000499 +:100950008F4201400E0000C6AF4200200E000295FB +:10096000000000003C024000AF4201783C02080059 +:100970008C420038244200013C010800AC220038BF +:10098000322200041040FF983C0280008F42018018 +:100990000E0000C6AF4200208F43018024020F00EA +:1009A00014620005000000008F420188A742009CED +:1009B0000A0002483C0240009362000024030050F9 +:1009C000304200FF144300083C0240000E00027B4E +:1009D00000000000544000043C0240000E000D7571 +:1009E000000000003C024000AF4201B83C02080099 +:1009F0008C42003C244200013C010800AC22003C37 +:100A00000A0001C83C0280003C0290003442000110 +:100A100000822025AF4400208F4200200440FFFECA +:100A20000000000003E00008000000003C0280001D +:100A3000344200010082202503E00008AF4400207A +:100A400027BDFFE0AFB10014AFB0001000808821D7 +:100A5000AFBF00180E00025030B000FF9362007D5F +:100A60000220202102028025A370007D8F70007477 +:100A70003C0280000E000259020280241600000988 +:100A80008FBF00188F4201F80440FFFE24020002CD +:100A9000AF5101C0A34201C43C021000AF4201F8B3 +:100AA0008FBF00188FB100148FB0001003E0000852 +:100AB00027BD002027BDFFE8AFBF0010974201848B +:100AC0008F440188304202001040000500002821B8 +:100AD0000E000FAA000000000A00028D240500018C +:100AE0003C02FF0004800005008218243C02040040 +:100AF000506200019362003E240500018FBF001088 +:100B000000A0102103E0000827BD0018A360002208 +:100B10008F4401400A00025E2405000127BDFFE862 +:100B2000AFBF0014AFB0001093620000304400FF6C +:100B300038830020388200300003182B0002102B6D +:100B40000062182410600003240200501482008008 +:100B50008FBF001493620005304200011040007CFA +:100B60008FBF0014934201482443FFFF2C6200050D +:100B7000104000788FB00010000310803C03080084 +:100B800024634A68004310218C42000000400008A2 +:100B9000000000000E0002508F4401408F70000CD6 +:100BA0008F4201441602000224020001AF62000CD1 +:100BB0000E0002598F4401408F420144145000043A +:100BC0008FBF00148FB000100A000F2027BD00183F +:100BD0008F62000C0A0003040000000097620010FE +:100BE0008F4301443042FFFF1462001A00000000EE +:100BF00024020001A76200108F4202380443001053 +:100C00008F4201403C02003F3446F0003C0560004A +:100C10003C04FFC08CA22BBC0044182400461024C6 +:100C20000002130200031D82106200390000000060 +:100C30008F4202380440FFF7000000008F4201405D +:100C4000AF4202003C021000AF4202380A00032209 +:100C50008FBF0014976200100A0003040000000018 +:100C60000E0002508F440140976200128F430144EE +:100C70003050FFFF1603000224020001A762001299 +:100C80000E0002598F4401408F42014416020004B5 +:100C90008FBF00148FB000100A00029127BD00180A +:100CA000976200120A00030400000000976200141B +:100CB0008F4301443042FFFF14620006240200010A +:100CC0008FBF00148FB00010A76200140A00124AF0 +:100CD00027BD0018976200141440001D8FBF001438 +:100CE0000A00031C00000000976200168F430144B5 +:100CF0003042FFFF1462000B240200018FBF00147A +:100D00008FB00010A76200160A000B1227BD001852 +:100D10009742007824420004A76200100A000322D0 +:100D20008FBF001497620016240300013042FFFFBA +:100D3000144300078FBF00143C0208008C4200706F +:100D4000244200013C010800AC2200708FBF001457 +:100D50008FB0001003E0000827BD001827BDFFE892 +:100D6000AFBF0014AFB000108F50010093620000BD +:100D700093430109304400FF2402001F106200A5C4 +:100D80002862002010400018240200382862000A5F +:100D90001040000C2402000B286200081040002CB8 +:100DA00000000000046000E52862000214400028F2 +:100DB00024020006106200268FBF00140A00041FE0 +:100DC0008FB000101062005E2862000B144000DC3F +:100DD0008FBF00142402000E106200738FB0001049 +:100DE0000A00041F00000000106200C028620039E1 +:100DF0001040000A2402008024020036106200CA5B +:100E000028620037104000B424020035106200C18F +:100E10008FBF00140A00041F8FB000101062002B57 +:100E20002862008110400006240200C82402003914 +:100E3000106200B48FBF00140A00041F8FB00010AE +:100E4000106200998FBF00140A00041F8FB00010B9 +:100E50003C0208008C420020104000B98FBF0014F3 +:100E60000E000493000000008F4201008F830020D9 +:100E70009745010C97460108AC6200008F420104BF +:100E80003C04080094844B5E00052C00AC62000416 +:100E90008F4201180006340000C43025AC620008FF +:100EA0008F42011C24040001AC62000C9342010A31 +:100EB00000A22825AC650010AC600014AC600018DE +:100EC000AC66001C0A0003F58FBF00143C0208004A +:100ED0008C4200201040009A8FBF00140E00049333 +:100EE00000000000974401083C03080094634B5E37 +:100EF0009745010C000422029746010E8F820020C4 +:100F0000000426000083202500052C003C030080FF +:100F100000A6282500832025AC400000AC4000043A +:100F2000AC400008AC40000CAC450010AC400014D4 +:100F3000AC400018AC44001C0A0003F42404000177 +:100F40009742010C14400015000000009362000558 +:100F50003042001014400011000000000E0002504A +:100F6000020020219362000502002021344200107B +:100F70000E000259A36200059362000024030020C2 +:100F8000304200FF1043006D020020218FBF00148B +:100F90008FB000100A000FC027BD00180000000D20 +:100FA0000A00041E8FBF00143C0208008C4200207F +:100FB000104000638FBF00140E0004930000000077 +:100FC0008F4201048F8300209744010C3C050800E8 +:100FD00094A54B5EAC6200009762002C00042400D4 +:100FE0003042FFFF008220253C02400E00A228254F +:100FF000AC640004AC600008AC60000CAC60001095 +:10100000AC600014AC600018AC65001C0A0003F46E +:10101000240400010E00025002002021A7600008F5 +:101020000E00025902002021020020210E00025E63 +:10103000240500013C0208008C42002010400040C2 +:101040008FBF00140E000493000000009742010CB3 +:101050008F8300203C05080094A54B5E000214001D +:10106000AC700000AC620004AC6000088F64004CFF +:101070003C02401F00A22825AC64000C8F62005087 +:1010800024040001AC6200108F620054AC620014B2 +:10109000AC600018AC65001C8FBF00148FB000104E +:1010A0000A0004B827BD0018240200205082002541 +:1010B0008FB000100E000F0A020020211040002007 +:1010C0008FBF0014020020218FB0001000002821E3 +:1010D0000A00025E27BD0018020020218FBF001405 +:1010E0008FB000100A00058027BD00189745010C3D +:1010F000020020218FBF00148FB000100A0005A04D +:1011000027BD0018020020218FB000100A0005C57D +:1011100027BD00189345010D020020218FB000105B +:101120000A00060F27BD0018020020218FBF0014FF +:101130008FB000100A0005EB27BD00188FBF001408 +:101140008FB0001003E0000827BD00188F4202781E +:101150000440FFFE2402000234840080AF440240B9 +:10116000A34202443C02100003E00008AF420278B0 +:101170003C04080094844B6A3C0208008C424B7487 +:101180003083FFFF000318C000431021AF42003C32 +:101190003C0208008C424B70AF4200383C020050C9 +:1011A00034420008AF4200300000000000000000A0 +:1011B000000000008F420000304200201040FFFD80 +:1011C000000000008F4204003C010800AC224B608C +:1011D0008F4204043C010800AC224B643C02002016 +:1011E000AF420030000000003C02080094424B680F +:1011F0003C03080094634B6C3C05080094A54B6EBF +:1012000024840001004310213083FFFF3C010800CB +:10121000A4224B683C010800A4244B6A1465000317 +:10122000000000003C010800A4204B6A03E0000815 +:10123000000000003C05000A27BDFFE80345282107 +:101240003C04080024844B50AFBF00100E00051D65 +:101250002406000A3C02080094424B523C0308005A +:1012600094634B6E3042000F244200030043180485 +:1012700024027FFF0043102B10400002AF83001CAC +:101280000000000D0E00042A000000003C020800CF +:1012900094424B5A8FBF001027BD001803E000088E +:1012A000A74200A23C02000A034210219443000618 +:1012B0003C02080094424B5A3C010800A4234B56C0 +:1012C000004310238F83001C00021400000214034B +:1012D0000043102B03E000083842000127BDFFE85F +:1012E000AFBF00103C02000A0342102194420006E6 +:1012F0003C010800A4224B560E00047700000000B9 +:101300005440FFF93C02000A8FBF001003E00008C0 +:1013100027BD001827BDFFE8AFBF00100E000477FF +:101320000000000010400003000000000E000485D3 +:10133000000000003C0208008C424B608FBF001090 +:1013400027430400AF4200383C0208008C424B6443 +:1013500027BD0018AF830020AF42003C3C020005CF +:10136000AF42003003E00008AF8000188F82001801 +:101370003C0300060002114000431025AF4200303C +:101380000000000000000000000000008F4200008C +:10139000304200101040FFFD27420400AF820020C1 +:1013A00003E00008AF8000183C0608008CC64B64C0 +:1013B0008F8500188F8300203C02080094424B5A0E +:1013C00027BDFFE024A50001246300202442000182 +:1013D00024C70020AFB10014AFB00010AFBF001899 +:1013E000AF850018AF8300203C010800A4224B5AAF +:1013F000309000FF3C010800AC274B6404C100089A +:101400000000882104E00006000000003C02080003 +:101410008C424B60244200013C010800AC224B602E +:101420003C02080094424B5A3C03080094634B680A +:101430000010202B004310262C42000100441025F0 +:10144000144000048F830018240200101462000F5F +:10145000000000000E0004A9241100013C03080054 +:1014600094634B5A3C02080094424B681462000398 +:10147000000000000E00042A000000001600000317 +:10148000000000000E000493000000003C03080070 +:1014900094634B5E3C02080094424B5C2463000161 +:1014A0003064FFFF3C010800A4234B5E148200035C +:1014B000000000003C010800A4204B5E1200000662 +:1014C000000000003C02080094424B5AA74200A2D0 +:1014D0000A00050B022010210E0004770000000016 +:1014E00010400004022010210E00048500000000BE +:1014F000022010218FBF00188FB100148FB0001090 +:1015000003E0000827BD00203084FFFF30A5FFFF67 +:101510000000182110800007000000003082000148 +:101520001040000200042042006518210A00051343 +:101530000005284003E000080060102110C00006EC +:1015400024C6FFFF8CA2000024A50004AC8200008A +:101550000A00051D2484000403E0000800000000C8 +:1015600010A0000824A3FFFFAC86000000000000CC +:10157000000000002402FFFF2463FFFF1462FFFA53 +:101580002484000403E0000800000000240200019D +:10159000AF62000CA7620010A7620012A7620014DD +:1015A00003E00008A76200163082007F034210218A +:1015B0003C08000E004818213C0208008C42002024 +:1015C00027BDFFD82407FF80AFB3001CAFB20018BF +:1015D000AFB10014AFB00010AFBF00200080802179 +:1015E00030B100FF0087202430D200FF1040002FD0 +:1015F00000009821AF44002C9062000024030050AA +:10160000304200FF1443000E000000003C020800BE +:101610008C4200E00202102100471024AF42002C4F +:101620003C0208008C4200E0020210213042007FA0 +:101630000342102100481021944200D43053FFFF90 +:101640000E000493000000003C02080094424B5E30 +:101650008F8300200011340000C2302500122C00BE +:101660003C02400000C2302534A50001AC700000EF +:101670008FBF0020AC6000048FB20018AC7300086C +:101680008FB10014AC60000C8FB3001CAC6500106F +:101690008FB00010AC60001424040001AC6000188E +:1016A00027BD00280A0004B8AC66001C8FBF0020CC +:1016B0008FB3001C8FB200188FB100148FB00010D0 +:1016C00003E0000827BD00289343010F2402001007 +:1016D0001062000E2865001110A0000724020012FD +:1016E000240200082405003A1062000600003021A0 +:1016F00003E0000800000000240500351462FFFC30 +:10170000000030210A000538000000008F420074FC +:1017100024420FA003E00008AF62000C27BDFFE8E1 +:10172000AFBF00100E00025E240500018FBF001045 +:1017300024020001A762001227BD00182402000144 +:1017400003E00008A360002227BDFFE0AFB1001452 +:10175000AFB00010AFBF001830B1FFFF0E00025055 +:10176000008080219362003F24030004304200FF88 +:101770001443000C02002021122000082402000A59 +:101780000E00053100000000936200052403FFFEF7 +:1017900000431024A362000524020012A362003F4C +:1017A000020020210E000259A360008116200003D0 +:1017B000020020210E0005950000000002002021FB +:1017C000322600FF8FBF00188FB100148FB00010B9 +:1017D000240500380A00053827BD002027BDFFE09A +:1017E000AFBF001CAFB20018AFB10014AFB0001013 +:1017F0000E000250008080210E0005310000000024 +:101800009362003F24120018305100FF123200038F +:101810000200202124020012A362003F936200050F +:101820002403FFFE004310240E000259A3620005AA +:10183000020020212405002016320007000030217C +:101840008FBF001C8FB200188FB100148FB0001032 +:101850000A00025E27BD00208FBF001C8FB2001857 +:101860008FB100148FB00010240500390A0005382C +:1018700027BD002027BDFFE8AFB00010AFBF0014A8 +:101880009742010C2405003600808021144000108E +:10189000304600FF0E00025000000000240200123B +:1018A000A362003F93620005344200100E00053130 +:1018B000A36200050E00025902002021020020212F +:1018C0000E00025E240500200A000604000000004D +:1018D0000E000538000000000E000250020020211A +:1018E000936200232403FF9F020020210043102461 +:1018F0008FBF00148FB00010A36200230A000259AA +:1019000027BD001827BDFFE0AFBF0018AFB100141E +:10191000AFB0001030B100FF0E00025000808021F7 +:10192000240200120E000531A362003F0E0002598E +:101930000200202102002021022030218FBF001848 +:101940008FB100148FB00010240500350A0005384F +:1019500027BD0020A380002C03E00008A380002DF9 +:101960008F4202780440FFFE8F820034AF42024073 +:1019700024020002A34202443C02100003E00008DB +:10198000AF4202783C0360008C6254003042000891 +:101990001440FFFD000000008C625408AF82000C70 +:1019A00024020052AC605408AC645430AC6254342D +:1019B0002402000803E00008AC6254003C0260000E +:1019C0008C42540030420008104000053C03600087 +:1019D0008C625400304200081440FFFD00000000FB +:1019E0008F83000C3C02600003E00008AC43540805 +:1019F00090A3000024020005008040213063003FD6 +:101A000000004821146200050000502190A2001C33 +:101A100094A3001E304900FF306AFFFFAD00000CA8 +:101A2000AD000010AD000024950200148D05001CCF +:101A30008D0400183042FFFF0049102300021100FE +:101A4000000237C3004038210086202300A2102B5B +:101A50000082202300A72823AD05001CAD04001838 +:101A6000A5090014A5090020A50A001603E0000836 +:101A7000A50A00228F4201F80440FFFE2402000262 +:101A8000AF4401C0A34201C43C02100003E00008BF +:101A9000AF4201F83C0208008C4200B427BDFFE8C9 +:101AA000AFBF001424420001AFB000103C01080099 +:101AB000AC2200B48F4300243C02001F30AA00FF78 +:101AC0003442FF8030D800FF006280240080F8217B +:101AD00030EF00FF1158003B01405821240CFF80DB +:101AE0003C19000A3163007F000310C00003194055 +:101AF000006218213C0208008C4200DC25680001CD +:101B0000310D007F03E21021004310213043007F9C +:101B100003431821004C102400794821AF420024CF +:101B20008D220024016C1824006C7026AD22000C5C +:101B30008D220024310800FFAD22001095220014F0 +:101B4000952300208D27001C3042FFFF3063FFFFEC +:101B50008D2600180043102300021100000227C345 +:101B60000040282100C4302300E2102B00C23023A3 +:101B700000E53823AD27001CAD2600189522002073 +:101B8000A522001495220022154B000AA52200165A +:101B90008D2300248D220008254600013145008058 +:101BA0001462000430C4007F108F000238AA008045 +:101BB00000C0502151AF000131C800FF1518FFC906 +:101BC000010058218F8400343082007F03421821A5 +:101BD0003C02000A006218212402FF8000822024B7 +:101BE000AF440024A06A0079A06A00838C62005090 +:101BF0008F840034AC6200708C6500743C027FFFFF +:101C00003442FFFF00A228240E00066BAC6500746E +:101C1000AF5000248FBF00148FB0001003E0000805 +:101C200027BD001827BDFFC0AFBE0038AFB70034D6 +:101C3000AFB5002CAFB20020AFB1001CAFB00018A0 +:101C4000AFBF003CAFB60030AFB40028AFB3002444 +:101C50008F4500248F4600288F43002C3C02001F34 +:101C60003442FF800062182400C230240080A82182 +:101C7000AFA3001400A2F0240E00062FAFA60010A0 +:101C80003C0208008C4200E02410FF8003608821A1 +:101C900002A2102100501024AF4200243C02080090 +:101CA0008C4200E002A210213042007F0342182142 +:101CB0003C02000A00629021924200D293630084A9 +:101CC000305700FF306300FF24020001106200342F +:101CD000036020212402000214620036000000008C +:101CE0000E001216024028219223008392220083C4 +:101CF0003063007F3042007F000210C000031940B3 +:101D0000006218213C0208008C4200DC02A2102173 +:101D10000043382100F01024AF42002892250078BB +:101D20009224008330E2007F034218213C02000C21 +:101D300014850007006280212402FFFFA24200F107 +:101D40002402FFFFA64200F20A0007272402FFFF39 +:101D500096020020A24200F196020022A64200F262 +:101D60008E020024AE4200F492220083A24200F0D0 +:101D70008E4200C8AE4200FC8E4200C4AE4200F863 +:101D80008E220050AE4201008E4200CCAE420104D1 +:101D9000922200853042003F0A0007823442004010 +:101DA0000E00123902402821922200850A00078283 +:101DB0003042003F936200852403FFDF3042003F42 +:101DC000A36200859362008500431024A36200850E +:101DD0009363008393620078307400FF304200FF09 +:101DE00010540036240AFF803C0C000C3283007F24 +:101DF000000310C000031940006218213C020800D3 +:101E00008C4200DC268800013109007F02A21021EB +:101E10000043382130E2007F0342182100EA1024F9 +:101E2000AF420028006C80218E020024028A182410 +:101E3000006A5826AE02000C8E020024310800FF12 +:101E4000AE02001096020014960300208E07001CBC +:101E50003042FFFF3063FFFF8E060018004310235F +:101E600000021100000227C30040282100C43023D3 +:101E700000E2102B00C2302300E53823AE07001C1F +:101E8000AE06001896020020A60200149602002258 +:101E9000A602001692220079304200FF105400077B +:101EA0000000000051370001316800FF92220078E5 +:101EB000304200FF1448FFCD0100A0219222008390 +:101EC000A22200798E2200500A0007E2AE220070A2 +:101ED000A22200858E22004C2405FF80AE42010C18 +:101EE0009222008534420020A2220085924200D135 +:101EF0003C0308008C6300DC305400FF3C02080007 +:101F00008C4200E400143140001420C002A31821C8 +:101F100000C4202102A210210064382100461021B3 +:101F20000045182400E52824AF450028AF43002CC5 +:101F30003042007F924400D030E3007F03422821EA +:101F4000034318213C02000C006280213C02000E79 +:101F5000309600FF00A298211296002A000000008F +:101F60008E02000C02002021026028211040002572 +:101F7000261000280E00064A000000009262000DA4 +:101F800026830001307400FF3042007FA262000D02 +:101F90002404FF801697FFF0267300203C020800FF +:101FA0008C4200DC0000A02102A210210044102479 +:101FB000AF4200283C0208008C4200E43C030800C9 +:101FC0008C6300DC02A2102100441024AF42002CDC +:101FD0003C0208008C4200E402A318213063007F19 +:101FE00002A210213042007F034220210343182126 +:101FF0003C02000C006280213C02000E0A0007A493 +:10200000008298218E4200D8AE2200508E4200D825 +:10201000AE22007092250083924600D19223008365 +:10202000924400D12402FF8000A228243063007F64 +:10203000308400FF00A628250064182A10600002E2 +:1020400030A500FF38A50080A2250083A2250079D5 +:102050000E00063D000000009222007E02A020211A +:10206000A222007A8E2300743C027FFF3442FFFFDD +:10207000006218240E00066BAE2300748FA20010BD +:10208000AF5E00248FBF003CAF4200288FBE0038F7 +:102090008FA200148FB700348FB600308FB5002C9C +:1020A0008FB400288FB300248FB200208FB1001CA2 +:1020B0008FB0001827BD004003E00008AF42002C9D +:1020C00090A2000024420001A0A200003C030800EE +:1020D0008C6300F4304200FF1443000F0080302175 +:1020E000A0A000003C0208008C4200E48F84003471 +:1020F000008220213082007F034218213C02000C24 +:10210000006218212402FF8000822024ACC300005A +:1021100003E00008AF4400288C8200002442002025 +:1021200003E00008AC82000094C200003C080800F4 +:10213000950800CA30E7FFFF008048210102102106 +:10214000A4C2000094C200003042FFFF00E2102B46 +:1021500054400001A4C7000094A200003C03080002 +:102160008C6300CC24420001A4A2000094A20000D1 +:102170003042FFFF544300078F8600280107102BD1 +:10218000A4A000005440000101003821A4C70000B1 +:102190008F8600288CC4001CAF44003C94A2000031 +:1021A0008F43003C3042FFFF000210C00062182144 +:1021B000AF43003C8F42003C008220231880000483 +:1021C000000000008CC200180A00084324420001ED +:1021D0008CC20018AF4200383C020050344200105C +:1021E000AF420030000000000000000000000000CE +:1021F0008F420000304200201040FFFD0000000030 +:102200008F420404AD2200048F420400AD2200007E +:102210003C020020AF42003003E000080000000054 +:1022200027BDFFE0AFB20018AFB10014AFB000108F +:10223000AFBF001C94C2000000C080213C12080007 +:10224000965200C624420001A60200009603000038 +:1022500094E2000000E03021144300058FB100300B +:102260000E000818024038210A000875000000001E +:102270008C8300048C820004244200400461000727 +:10228000AC8200048C8200040440000400000000C2 +:102290008C82000024420001AC8200009602000003 +:1022A0003042FFFF50520001A600000096220000BD +:1022B00024420001A62200008F82002896230000FD +:1022C00094420016144300048FBF001C2402000136 +:1022D000A62200008FBF001C8FB200188FB100141F +:1022E0008FB0001003E0000827BD00208F89002870 +:1022F00027BDFFE0AFBF00188D220028274804004B +:1023000030E700FFAF4200388D22002CAF8800304C +:10231000AF42003C3C020005AF420030000000002C +:1023200000000000000000000000000000000000AD +:10233000000000008C82000C8C82000CAD020000BA +:102340008C820010AD0200048C820018AD020008DF +:102350008C82001CAD02000C8CA20014AD02001097 +:102360008C820020AD02001490820005304200FFF4 +:1023700000021200AD0200188CA20018AD02001C71 +:102380008CA2000CAD0200208CA20010AD02002433 +:102390008CA2001CAD0200288CA20020AD02002CF3 +:1023A000AD060030AD000034978300263402FFFFF5 +:1023B00014620002006020213404FFFF10E00011CD +:1023C000AD04003895230036952400362402000120 +:1023D0003063FFFF000318C20069182190650040B8 +:1023E000308400070082100400451025A0620040E0 +:1023F0008F820028944200563042FFFF0A0008DC1A +:10240000AD02003C952300369524003624020001DD +:102410003063FFFF000318C2006918219065004077 +:1024200030840007008210040002102700451024A9 +:10243000A0620040AD00003C000000000000000071 +:10244000000000003C02000634420040AF42003071 +:102450000000000000000000000000008F420000AB +:10246000304200101040FFFD8F860028AF880030FA +:1024700024C2005624C7003C24C4002824C50032CE +:1024800024C600360E000856AFA200108FBF0018F9 +:1024900003E0000827BD00208F8300243C060800CD +:1024A0008CC600E88F82003430633FFF0003198040 +:1024B00000461021004310212403FF803046007F96 +:1024C00000431024AF420028034618213C02000CB0 +:1024D0000062302190C2000D30A500FF00003821BD +:1024E00034420010A0C2000D8F8900288F8A00247A +:1024F00095230036000A13823048000324020001AD +:10250000A4C3000E1102000B2902000210400005B6 +:10251000240200021100000C240300010A0009201B +:102520000000182111020006000000000A00092026 +:10253000000018218CC2002C0A000920244300014D +:102540008CC20014244300018CC200180043102BDD +:1025500050400009240700012402002714A20003B0 +:10256000000000000A00092C240700019522003E0B +:1025700024420001A522003E000A138230430003DA +:102580002C62000210400009008028211460000421 +:102590000000000094C200360A00093C3046FFFFEC +:1025A0008CC600380A00093C008028210000302138 +:1025B0003C04080024844B780A00088900000000CD +:1025C000274901008D22000C9523000601202021BF +:1025D000000216023046003F3063FFFF240200274E +:1025E00000C0282128C7002810C2000EAF83002495 +:1025F00010E00008240200312402002110C200096A +:102600002402002510C200079382002D0A00095BF6 +:102610000000000010C200059382002D0A00095B33 +:10262000000000000A0008F4000000000A0006266E +:102630000000000095230006912400058D25000C64 +:102640008D2600108D2700188D28001C8D29002054 +:10265000244200013C010800A4234B7E3C010800F9 +:10266000A0244B7D3C010800AC254B843C010800B4 +:10267000AC264B883C010800AC274B903C0108007D +:10268000AC284B943C010800AC294B9803E00008AF +:10269000A382002D8F87002827BDFFC0AFB3003471 +:1026A000AFB20030AFB1002CAFB00028AFBF0038E0 +:1026B0003C0208008C4200D094E3003030B0FFFFB1 +:1026C000005010073045FFFF3063FFFF00C0982126 +:1026D000A7A200103C110800963100C614A3000602 +:1026E0003092FFFF8CE2002424420030AF42003CD5 +:1026F0000A0009948CE2002094E200323042FFFF8D +:1027000054A2000827A400188CE2002C24420030B8 +:10271000AF42003C8CE20028AF4200380A0009A218 +:102720008F84002827A5001027A60020022038212A +:102730000E000818A7A000208FA200182442003025 +:10274000AF4200388FA2001CAF42003C8F840028AB +:102750003C020005AF42003094820034274304005D +:102760003042FFFF0202102B14400007AF830030FD +:1027700094820054948300340202102100431023F9 +:102780000A0009B63043FFFF94830054948200345A +:102790000223182100501023006218233063FFFF2A +:1027A000948200163042FFFF144300030000000033 +:1027B0000A0009C424030001948200163042FFFF7E +:1027C0000043102B104000058F82003094820016C9 +:1027D000006210233043FFFF8F820030AC530000B3 +:1027E000AC400004AC520008AC43000C3C020006B4 +:1027F00034420010AF420030000000000000000032 +:10280000000000008F420000304200101040FFFD29 +:10281000001018C2006418219065004032040007BF +:10282000240200018FBF00388FB300348FB2003014 +:102830008FB1002C8FB000280082100400451025B5 +:1028400027BD004003E00008A062004027BDFFA8AC +:10285000AFB60050AFB5004CAFB40048AFB30044C2 +:10286000AFB1003CAFBF0054AFB20040AFB00038D2 +:102870008C9000003C0208008C4200E88F860034F7 +:10288000960300022413FF8000C2302130633FFF13 +:102890000003198000C3382100F3102490B2000017 +:1028A000AF42002C9203000230E2007F034230214D +:1028B0003C02000E00C28821306300C024020040A8 +:1028C0000080A82100A0B021146200260000A021F1 +:1028D0008E3400388E2200181440000224020001B9 +:1028E000AE2200189202000D304200201440001564 +:1028F0008F8200343C0308008C6300DC001238C077 +:10290000001231400043102100C730210046382119 +:1029100030E300073C02008030E6007800C230253A +:102920000343182100F31024AF4208002463090078 +:10293000AF4608108E2200188C6300080043102157 +:10294000AE2200188E22002C8E2300182442000193 +:102950000062182B1060003D000000000A000A7899 +:1029600000000000920300022402FFC00043102474 +:10297000304200FF1440000524020001AE2200187E +:10298000962200360A000A613054FFFF8E2200149E +:1029900024420001AE22001892020000000216003C +:1029A0000002160304410029000000009602000204 +:1029B00027A4001000802821A7A20016960200027A +:1029C00024070001000030213042FFFFAF820024C5 +:1029D0000E000889AFA0001C960300023C0408000A +:1029E0008C8400E88F82003430633FFF000319803D +:1029F00000441021004310213043007F3C05000CAF +:102A00000053102403431821AF4200280065182109 +:102A10009062000D001221403042007FA062000D44 +:102A20003C0308008C6300E48F82003400431021D3 +:102A30000044382130E2007F03421021004510217C +:102A400000F31824AF430028AEA200009222000D2C +:102A5000304200101040001302A020218F83002874 +:102A60008EA40000028030219462003E2442FFFFC9 +:102A7000A462003E948400029625000E3084FFFF7D +:102A80000E00097330A5FFFF8F82002894430034A5 +:102A90009622000E1443000302A02021240200010C +:102AA000A382002C02C028210E0007FE00000000B7 +:102AB0008FBF00548FB600508FB5004C8FB40048C4 +:102AC0008FB300448FB200408FB1003C8FB000380C +:102AD00003E0000827BD00588F82002827BDFFD0E3 +:102AE000AFB40028AFB20020AFBF002CAFB30024BA +:102AF000AFB1001CAFB00018904400D0904300D19B +:102B00000000A021309200FFA3A30010306300FF5B +:102B10008C5100D88C5300DC1072002B2402000171 +:102B20003C0308008C6300E493A400108F820034FF +:102B30002406FF800004214000431021004410219E +:102B40003043007F00461024AF4200280343182181 +:102B50003C02000C006218218C62000427A40014BF +:102B600027A50010022280210270102304400015C6 +:102B7000AFA300149062000D00C21024304200FF89 +:102B800014400007020088219062000D344200408A +:102B90000E0007FEA062000D0A000ABD93A20010FD +:102BA0000E0009E1241400018F830028AC7000D8C6 +:102BB00093A20010A06200D193A200101452FFD87B +:102BC0000000000024020001168200048FBF002CC8 +:102BD0000E000626000000008FBF002C8FB40028D6 +:102BE0008FB300248FB200208FB1001C8FB000186B +:102BF00003E0000827BD003027BDFFD8AFB3001C9D +:102C0000AFB20018AFB10014AFB00010AFBF0020DA +:102C10000080982100E0802130B1FFFF0E00049376 +:102C200030D200FF000000000000000000000000A3 +:102C30008F820020AC510000AC520004AC5300085D +:102C4000AC40000CAC400010AC400014AC4000188C +:102C50003C03080094634B5E02038025AC50001CCB +:102C6000000000000000000000000000240400013B +:102C70008FBF00208FB3001C8FB200188FB10014DB +:102C80008FB000100A0004B827BD002827BDFFE858 +:102C9000AFB00010AFBF001430A5FFFF30C600FF7B +:102CA0000080802124020C80AF420024000000003C +:102CB0000000000000000000000000000000000014 +:102CC0000E000ACC000000003C040800248400E050 +:102CD0008C8200002403FF808FBF001402021021A9 +:102CE00000431024AF4200248C8200003C03000A01 +:102CF000020280213210007F035010218FB000109B +:102D00000043102127BD001803E00008AF8200280F +:102D100027BDFFE8AFBF00108F4401403C0308000F +:102D20008C6300E02402FF80AF840034008318210C +:102D300000621024AF4200243C02000803424021FC +:102D4000950500023063007F3C02000A034318210E +:102D50000062182130A5FFFF3402FFFF0000302180 +:102D60003C07602010A20006AF8300282402FFFF6A +:102D7000A5020002946500D40E000AF130A5FFFF01 +:102D80008FBF001024020C8027BD001803E000084C +:102D9000AF4200243C020008034240219502000299 +:102DA0003C0A0800954A00C63046FFFF14C00007E1 +:102DB0003402FFFF8F8200288F8400343C0760209C +:102DC000944500D40A000B5A30A5FFFF10C200241E +:102DD0008F87002894E2005494E400163045FFFFEA +:102DE00000A6102300A6182B3089FFFF10600004F6 +:102DF0003044FFFF00C51023012210233044FFFFA1 +:102E0000008A102B1040000C012A1023240200011C +:102E1000A50200162402FFFFA502000294E500D4DB +:102E20008F8400340000302130A5FFFF3C07602074 +:102E30000A000AF1000000000044102A10400008B7 +:102E4000000000009502001630420001104000040E +:102E5000000000009742007E24420014A5020016E4 +:102E600003E00008000000008F84002827BDFFE079 +:102E7000AFBF0018948200349483003E1060001AA3 +:102E80003048FFFF9383002C2402000114620027C6 +:102E90008FBF00188F820028000818C23108000771 +:102EA000006218212447003A244900542444002099 +:102EB000244500302446003490620040304200FF38 +:102EC0000102100730420001104000168FBF0018A9 +:102ED0000E000856AFA900108F82002894420034DB +:102EE0000A000B733048FFFF94830036948200344D +:102EF0001043000E8FBF001894820036A482003465 +:102F000094820056A48200548C82002CAC8200244F +:102F100094820032A48200309482003CA482003A61 +:102F20008FBF00180A000B3327BD002003E0000804 +:102F300027BD002027BDFFE8AFBF00108F4A01006A +:102F40003C0508008CA500E03C02080090424B8440 +:102F50003C0C0800958C4B7E01452821304B003FEE +:102F600030A2007F03424021396900323C02000A4E +:102F70003963003F2C630001010240212D2900012B +:102F80002402FF8000A2282401234825AF8A0034B0 +:102F900000801821AF450024000030210080282146 +:102FA00024070001AF8800283C04080024844B78E3 +:102FB000AF8C002415200007A380002D24020020E0 +:102FC0005562000F006020213402FFFF5582000C83 +:102FD000006020212402002015620005000000008E +:102FE0008C6300142402FFFF106200070000000041 +:102FF0000E000889000000000A000BD0000000004D +:103000000E0008F4016028210E000B68000000008B +:103010008FBF001024020C8027BD001803E00008B9 +:10302000AF4200243C0208008C4200E027BDFFA014 +:10303000AFB1003C008210212411FF80AFBE0058C8 +:10304000AFB70054AFB20040AFB00038AFBF005CC4 +:10305000AFB60050AFB5004CAFB40048AFB30044BA +:10306000005110248F4800248F4900288F470028E2 +:10307000AF4200243C0208008C4200E00080902116 +:1030800024060006008210213042007F03421821EE +:103090003C02000A006280213C02001F3442FF8093 +:1030A00000E2382427A40010260500F00122F024B5 +:1030B0000102B8240E00051DAFA700308FA2001832 +:1030C000AE0200C48FA2001CAE0200C88FA2002472 +:1030D000AE0200CC93A40010920300D12402FF8022 +:1030E0000082102400431025304900FF3083007F08 +:1030F0003122007F0062102A10400004000310C03B +:1031000001311026304900FF000310C000031940B0 +:10311000006218213C0208008C4200DC920400D2BC +:10312000024210210043102100511024AF42002818 +:1031300093A300103063007F000310C00003194008 +:10314000006218213C0208008C4200DC024210217F +:10315000004310213042007F034218213C02000C42 +:10316000006240218FA300142402FFFF1062003090 +:10317000309500FF93A2001195030014304400FF26 +:103180003063FFFF0064182B1060000D000000008A +:10319000950400148D07001C8D0600183084FFFF75 +:1031A00000442023000421000000102100E4382105 +:1031B00000E4202B00C230210A000C4A00C4302158 +:1031C000950400148D07001C8D0600183084FFFF45 +:1031D000008220230004210000001021008018211B +:1031E00000C2302300E4202B00C4302300E3382346 +:1031F000AD07001CAD06001893A20011A502001433 +:1032000097A20012A50200168FA20014AD020010B2 +:103210008FA20014AD02000C93A20011A5020020A1 +:1032200097A20012A50200228FA20014AD02002472 +:103230002406FF80024610243256007FAF4200244D +:10324000035618213C02000A006280218E02004CC5 +:103250008FA200203124007F000428C0AE0200505D +:103260008FA200200004214000852821AE020070BA +:1032700093A2001001208821A202008393A20010D3 +:10328000A2020079920200853042003FA20200852E +:103290003C0208008C4200DC024210210045102153 +:1032A00000461024AF42002C3C0208008C4200E48F +:1032B0003C0308008C6300DC024210210044102112 +:1032C00000461024AF4200283C0208008C4200E473 +:1032D00002431821006518210242102100441021E8 +:1032E0003042007F3063007F93A50010034220210D +:1032F000034318213C02000E006240213C02000CF6 +:1033000010B1008C008248213233007F1660001912 +:103310002404FF803C0208008C4200DC02421021A1 +:1033200000441024AF42002C3C0208008C4200E410 +:103330003C0308008C6300DC02421021004410248E +:10334000AF4200283C0208008C4200E402431821EE +:103350003063007F024210213042007F034220216F +:10336000034318213C02000E006240213C02000C85 +:10337000008248219124000D2414FF8000001021B8 +:1033800000942025A124000D950400029505001449 +:103390008D07001C3084FFFF30A5FFFF8D0600184D +:1033A000008520230004210000E4382100C23021E0 +:1033B00000E4202B00C43021AD07001CAD0600182E +:1033C00095020002A5020014A50000168D02000857 +:1033D000AD0200108D020008AD02000C9502000243 +:1033E000A5020020A50000228D020008AD020024E5 +:1033F0009122000D30420040104000422622000180 +:103400003C0208008C4200E0A3B300283C10000AF4 +:103410000242102100541024AF4200243C02080054 +:103420008C4200E0A380002C27A4002C0242102133 +:103430003042007F03421821007018218C6200D8AE +:103440008D26000427A50028AFA9002C00461021D6 +:10345000AC6200D80E0009E1AF83002893A30028D6 +:103460008F8200280E000626A04300D10E000B68B4 +:103470000000000002541024AF4200243C02080067 +:103480008C4200DC00132940001320C000A420213E +:10349000024210210044102100541024AF42002C9D +:1034A0003C0208008C4200E43C0308008C6300DC12 +:1034B00003563021024210210045102100541024EF +:1034C000AF4200283C0208008C4200E4024318216D +:1034D0000064182102421021004510213042007F73 +:1034E0003063007F03422021034318213C02000E79 +:1034F000006240213C02000C00D080210082482163 +:10350000262200013043007F14750005304400FF7F +:103510002403FF800223102400431026304400FFC0 +:1035200093A2001000808821250800281444FF760B +:103530002529002093A400108FA300142402FFFF6C +:103540001062000A308900FF2482000124830001F8 +:103550003042007F14550005306900FF2403FF80CE +:103560000083102400431026304900FF92020078A7 +:10357000305300FF11330032012088213C02080043 +:103580008C4200DC3225007F000520C00005294068 +:1035900000A42021024210212406FF8000441021B3 +:1035A00000461024AF42002C3C0308008C6300DC72 +:1035B0003C0208008C4200E4024318210242102120 +:1035C0000045102100641821004610243063007F5C +:1035D000AF420028034318213C02000E0062402144 +:1035E0003C0208008C4200E48D06000C0100202102 +:1035F00002421021004510213042007F0342182171 +:103600003C02000C0062482110C0000D012028215E +:103610000E00064A000000002402FF800222182447 +:1036200026240001006228263082007F1455000203 +:10363000308300FF30A300FF1473FFD000608821A7 +:103640008E0300743C027FFF3442FFFF00621824A7 +:10365000AE0300740E00066B02402021AF57002419 +:103660008FA20030AF5E00288FBF005C8FBE005875 +:103670008FB700548FB600508FB5004C8FB4004800 +:103680008FB300448FB200408FB1003C8FB0003840 +:1036900027BD006003E00008AF42002C27BDFFD823 +:1036A000AFB1001CAFBF0020AFB000182751018898 +:1036B000922200032408FF803C03000A3047007F69 +:1036C000A3A700108F4601803C0208008C4200E056 +:1036D000AF86003400C2282100A81024AF42002485 +:1036E0009224000030A2007F0342102100431021E9 +:1036F000AF8200283084007F24020002148200255B +:10370000000719403C0208008C4200E400C210216E +:103710000043282130A2007F0342182100A8102472 +:10372000AF4200283C02000C006218219062000D9C +:10373000AFA3001400481025A062000D8FA3001451 +:103740009062000D304200405040006A8FBF002060 +:103750008F860028A380002C27A400148CC200D8D8 +:103760008C63000427A50010004310210E0009E11E +:10377000ACC200D893A300108F8200280E0006264A +:10378000A04300D10E000B68000000000A000E0BE1 +:103790008FBF00200E00062F00C020210E00063D26 +:1037A000000000003C020008034280219223000137 +:1037B0009202007B1443004F8FBF00209222000032 +:1037C0003044007F24020004108200172882000584 +:1037D00010400006240200052402000310820007A6 +:1037E0008FB1001C0A000E0C0000000010820012B5 +:1037F0008FBF00200A000E0C8FB1001C92050083C1 +:10380000920600788E0700748F84003430A500FF84 +:1038100000073E0230C600FF0E00067330E7007F4F +:103820000A000E0B8FBF00200E000BD78F840034D0 +:103830000A000E0B8FBF002024020C80AF42002430 +:103840009202003E30420040104000200000000084 +:103850009202003E00021600000216030441000618 +:10386000000000008F8400340E0005A024050093A2 +:103870000A000E0B8FBF00209202003F24030018A5 +:10388000304200FF1443000C8F84003424050039BB +:103890000E000538000030210E0002508F840034E5 +:1038A00024020012A202003F0E0002598F8400344D +:1038B0000A000E0B8FBF0020240500360E000538CD +:1038C000000030210A000E0B8FBF00200E000250B6 +:1038D0008F8400349202000534420020A2020005C9 +:1038E0000E0002598F8400340E000FC08F84003404 +:1038F0008FBF00208FB1001C8FB0001824020C80F5 +:1039000027BD002803E00008AF42002427BDFFE8E0 +:10391000AFB00010AFBF001427430100946200084D +:103920000002140000021403044100020000802180 +:103930002410000194620008304200801040001AF8 +:10394000020010219462000830422000104000164E +:10395000020010218C6300183C021C2D344219ED2A +:10396000240600061062000F3C0760213C0208009C +:103970008C4200D4104000078F8200288F830028DB +:10398000906200623042000F34420040A062006248 +:103990008F8200288F840034944500D40E000AF1F1 +:1039A00030A5FFFF020010218FBF00148FB0001060 +:1039B00003E0000827BD001827BDFFE0AFB10014E9 +:1039C000AFB00010A380002CAFBF00188F450100DE +:1039D0003C0308008C6300E02402FF80AF850034C4 +:1039E00000A318213064007F0344202100621824C2 +:1039F0003C02000A00822021AF430024275001002E +:103A00008E0200148C8300DCAF8400280043102356 +:103A100018400004000088218E0200140E000A8461 +:103A2000AC8200DC9202000B24030002304200FF53 +:103A30001443002F0000000096020008304300FFEE +:103A40002402008214620005240200840E00093E54 +:103A5000000000000A000E97000000001462000938 +:103A6000240200818F8200288F8400343C0760216B +:103A7000944500D49206000530A5FFFF0A000E868B +:103A800030C600FF14620027000000009202000A06 +:103A9000304300FF306200201040000430620040DC +:103AA0008F8400340A000E82240600401040000477 +:103AB000000316008F8400340A000E8224060041A1 +:103AC00000021603044100178F84003424060042CC +:103AD0008F8200283C076019944500D430A5FFFF71 +:103AE0000E000AF1000000000A000E97000000001E +:103AF0009202000B24030016304200FF1043000620 +:103B0000000000009202000B24030017304200FF67 +:103B100014430004000000000E000E11000000001D +:103B2000004088210E000B68000000009202000A8D +:103B3000304200081040000624020C808F850028C7 +:103B40003C0400080E0011EE0344202124020C80E6 +:103B5000AF4200248FBF0018022010218FB0001048 +:103B60008FB1001403E0000827BD002027BDFFE847 +:103B7000AFBF0014AFB000108F5000243C0308000A +:103B80008C6300E08F4501002402FF8000A3182110 +:103B90003064007F03442021006218243C02000AA4 +:103BA00000822021AF850034AF4300249082006260 +:103BB000AF8400283042000F34420050A0820062DF +:103BC0003C02001F3442FF800E00062602028024C1 +:103BD000AF5000248FBF00148FB0001003E0000826 +:103BE00027BD00183C0208008C4200201040001D38 +:103BF0002745010090A300093C0200080342202150 +:103C000024020018546200033C0200080A000ED887 +:103C10002402000803422021240200161462000539 +:103C20002402001724020012A082003F0A000EE2C4 +:103C300094A700085462000694A700089362000548 +:103C40002403FFFE00431024A362000594A700088C +:103C500090A6001B8CA4000094A500060A000ACCC4 +:103C600000073C0003E000080000000027440100BA +:103C700094820008304500FF38A3008238A20084F7 +:103C80002C6300012C420001006218251060000620 +:103C9000240200839382002D1040000D00000000DC +:103CA0000A000B9B0000000014A2000524A2FF8064 +:103CB0008F4301043C02602003E00008AC43001481 +:103CC000304200FF2C420002104000032402002278 +:103CD0000A000E3C0000000014A2000300000000D7 +:103CE0000A000EA9000000000A000EC70000000034 +:103CF0009363007E9362007A144300090000202140 +:103D00009362000024030050304200FF144300047B +:103D1000240400019362007E24420001A362007E1D +:103D200003E00008008010218F4201F80440FFFEEC +:103D300024020002AF4401C0A34201C43C021000AF +:103D400003E00008AF4201F827BDFFE8AFBF001055 +:103D50009362003F2403000A304200FF14430046F0 +:103D6000000000008F6300548F62004C1062007DE1 +:103D7000036030219362000024030050304200FFB2 +:103D80001443002F000000008F4401403C02080053 +:103D90008C4200E02403FF800082102100431024A5 +:103DA000AF4200243C0208008C4200E08F650054C2 +:103DB0003C03000A008220213084007F034410214C +:103DC00000431021AC4501089762003C8F63004C12 +:103DD0003042FFFF0002104000621821AF63005C18 +:103DE0008F6300548F64004C9762003C006418237A +:103DF0003042FFFF00031843000210400043102A26 +:103E000010400006000000008F6200548F63004CD9 +:103E1000004310230A000F58000210439762003C31 +:103E20003042FFFF00021040ACC2006424020001D7 +:103E3000A0C0007CA0C2008424020C80AF420024F9 +:103E40000E000F0A8F440140104000478FBF001042 +:103E50008F4301408F4201F80440FFFE240200021C +:103E6000AF4301C0A34201C43C021000AF4201F8BD +:103E70000A000FA88FBF00109362003F24030010B8 +:103E8000304200FF14430004000000008F44014052 +:103E90000A000F94000028219362003F24030016BB +:103EA000304200FF1443000424020014A362003FC8 +:103EB0000A000FA2000000008F62004C8F630050C8 +:103EC00000431023044100288FBF0010936200813B +:103ED00024420001A3620081936200812C4200040D +:103EE00014400010000000009362003F240300040F +:103EF000304200FF14430006000000008F440140E0 +:103F00008FBF0010240500930A0005A027BD0018EC +:103F10008F440140240500938FBF00100A00060F54 +:103F200027BD00188F4401400E0002500000000021 +:103F30008F6200542442FFFFAF6200548F62005032 +:103F40002442FFFFAF6200500E0002598F4401402F +:103F50008F4401408FBF0010240500040A00025E58 +:103F600027BD00188FBF001003E0000827BD001810 +:103F70008F4201889363007E00021402304400FFE8 +:103F8000306300FF1464000D0000000093620080A5 +:103F9000304200FF1044000900000000A3640080CC +:103FA0009362000024030050304200FF14430004D9 +:103FB000000000000A0006D78F440180A36400803F +:103FC00003E000080000000027BDFFE8AFB00010CC +:103FD000AFBF00149362000524030030304200306C +:103FE00014430089008080213C0208008C4200209C +:103FF00010400080020020210E0004930000000009 +:104000008F850020ACB000009362003E9363003FB8 +:10401000304200FF00021200306300FF0043102511 +:10402000ACA2000493620082000216000002160394 +:1040300004410005000000003C0308008C630048B8 +:104040000A000FE6000000009362003E304200408C +:10405000144000030000182193620081304300FFE8 +:104060009362008200031E00304200FF0002140031 +:1040700000621825ACA300088F620040ACA2000CBF +:104080008F620048ACA200108F62004CACA20014FA +:104090008F6200508F63004C0043102304410003E3 +:1040A000000000000A000FFA8F62004C8F6200507F +:1040B000ACA200183C02080094424B5E3C03C00BCB +:1040C00000002021004310250E0004B8ACA2001C03 +:1040D0008F6200548F840020AC8200008F620058F1 +:1040E000AC8200048F62005CAC8200088F620060CA +:1040F0008F43007400431021AC82000C8F62006477 +:10410000AC820010976300689762006A00031C008D +:104110003042FFFF00621825AC83001493620082D6 +:1041200024030080304200FF14430003000000001D +:104130000A00102EAC8000188F63000C24020001CE +:104140001062000E2402FFFF9362003E30420040E6 +:104150001440000A2402FFFF8F63000C8F4200749A +:10416000006218233C020800006210241440000280 +:10417000000028210060282100051043AC820018AF +:104180003C02080094424B5E3C03C00C000020211E +:10419000004310258F8300200E0004B8AC62001C81 +:1041A0008F6200188F8300203C05080094A54B5EA9 +:1041B00024040001AC620000AC6000048F66006C57 +:1041C0003C02400D00A22825AC6600088F6200DC8E +:1041D000AC62000CAC600010936200050002160097 +:1041E000AC620014AC6000180E0004B8AC65001C92 +:1041F000020020218FBF00148FB00010A3600005C3 +:104200000A00042127BD00188FBF00148FB00010D2 +:1042100003E0000827BD00189742007C30C600FF6D +:10422000A08600843047FFFF2402000514C2000B63 +:1042300024E3465090A201122C42000710400007D0 +:1042400024E30A0090A30112240200140062100467 +:1042500000E210210A0010663047FFFF3067FFFFC1 +:1042600003E00008A4870014AC87004C8CA201086E +:104270000080402100A0482100E2102330C600FF4A +:104280001840000393AA001324E2FFFCACA201082B +:1042900030C2000110400008000000008D020050F4 +:1042A00000E2102304410013240600058D0200548F +:1042B00010E20010000000008D02005414E2001A09 +:1042C000000000003C0208008C4200D83042002070 +:1042D0001040000A2402000191030078910200833B +:1042E000144300062402000101002021012028219E +:1042F000240600040A00105400000000A1000084FD +:1043000011400009A50200148F4301008F4201F8FB +:104310000440FFFE24020002AF4301C0A34201C4D7 +:104320003C021000AF4201F803E00008000000006A +:1043300027BDFFE88FA90028AFBF001000804021F3 +:1043400000E918231860007330C600FFA080007CCD +:10435000A08000818CA2010800E210230440004DDF +:10436000000000008C8200509483003C8C84006428 +:10437000004748233063FFFF012318210083202BCF +:1043800010800004000000008D0200640A0010B7D5 +:1043900000E210219502003C3042FFFF0122102173 +:1043A00000E21021AD02005C9502003C8D03005C30 +:1043B0003042FFFF0002104000E210210043102BAA +:1043C00010400003000000000A0010C68D02005CCF +:1043D0009502003C3042FFFF0002104000E2102135 +:1043E000AD02005CA1000084AD07004C8CA2010866 +:1043F00000E210231840000224E2FFFCACA20108F6 +:1044000030C200011040000A000000008D02005080 +:1044100000E2102304410004010020218D02005419 +:1044200014E20003000000000A0010E82406000562 +:104430008D02005414E200478FBF00103C020800B8 +:104440008C4200D8304200201040000A24020001B3 +:1044500091030078910200831443000624020001B6 +:1044600001002021240600048FBF00100A00105410 +:1044700027BD0018A1000084A50200148F4301008D +:104480008F4201F80440FFFE240200020A00110DD1 +:10449000000000008C82005C004910230043102BB8 +:1044A00054400001AC87005C9502003C3042FFFFA5 +:1044B0000062102B14400007240200029502003C09 +:1044C0008D03005C3042FFFF00621821AD03005CE9 +:1044D00024020002AD07004CA10200840E000F0A66 +:1044E0008F4401001040001B8FBF00108F4301005C +:1044F0008F4201F80440FFFE24020002AF4301C0D6 +:10450000A34201C43C021000AF4201F80A0011238B +:104510008FBF001030C200101040000E8FBF00107F +:104520008C83005C9482003C006918233042FFFFBA +:10453000006218213C023FFF3444FFFF0083102B30 +:10454000544000010080182101231021AD02005CBD +:104550008FBF001003E0000827BD001827BDFFE84B +:104560008FAA0028AFBF00100080402100EA482336 +:104570001920002130C600FF8C83005C8C8200640F +:10458000006A18230043102B5040001000691821C6 +:1045900094A2011001221021A4A2011094A20110E2 +:1045A0003042FFFF0043102B1440000A3C023FFF43 +:1045B00094A2011000431023A4A201109482003C95 +:1045C0003042FFFF0A00114200621821A4A001102E +:1045D0003C023FFF3444FFFF0083102B5440000196 +:1045E0000080182100671021AD02005CA100007C52 +:1045F0000A00118AA100008130C200101040003C66 +:10460000000000008C820050004A1023184000383F +:10461000000000009082007C24420001A082007C07 +:104620009082007C3C0308008C630024304200FF31 +:104630000043102B1440005C8FBF00108CA20108B7 +:1046400000E2102318400058000000008C83005442 +:104650009482003C006A18233042FFFF0003184395 +:10466000000210400043102A104000050000000026 +:104670008C820054004A10230A001171000210437A +:104680009482003C3042FFFF00021040AD02006403 +:104690009502003C8D0400649503003C3042FFFF0E +:1046A00000021040008220213063FFFF00831821A8 +:1046B00001431021AD02005C8D020054ACA2010840 +:1046C00024020002A10200840E000F0A8F440100A0 +:1046D000104000358FBF00108F4301008F4201F85A +:1046E0000440FFFE240200020A0011B30000000093 +:1046F000AD07004C8CA2010800E210231840000214 +:1047000024E2FFFCACA2010830C200011040000A04 +:10471000000000008D02005000E21023044100045C +:10472000010020218D02005414E20003000000006B +:104730000A0011AA240600058D02005414E2001A92 +:104740008FBF00103C0208008C4200D8304200208D +:104750001040000A240200019103007891020083B6 +:104760001443000624020001010020212406000455 +:104770008FBF00100A00105427BD0018A10000844C +:10478000A50200148F4301008F4201F80440FFFE90 +:1047900024020002AF4301C0A34201C43C02100046 +:1047A000AF4201F88FBF001003E0000827BD0018DA +:1047B0008FAA00108C8200500080402130C600FF7C +:1047C000004A102300A048211840000700E01821EB +:1047D00024020001A0800084A0A00112A482001481 +:1047E0000A001125AFAA0010A0800081AD07004C7F +:1047F0008CA2010800E210231840000224E2FFFC12 +:10480000ACA2010830C20001104000080000000006 +:104810008D0200500062102304410013240600059D +:104820008D02005410620010000000008D02005440 +:1048300014620011000000003C0208008C4200D805 +:10484000304200201040000A240200019103007849 +:10485000910200831443000624020001010020217C +:1048600001202821240600040A0010540000000042 +:10487000A1000084A502001403E00008000000006D +:1048800027BDFFE0AFBF0018274201009046000A95 +:104890008C4800148C8B004C9082008430C900FF3F +:1048A00001681823304A00FF1C60001A2D460006DC +:1048B000240200010142100410C00016304300031E +:1048C000012030210100382114600007304C000C19 +:1048D00015800009304200301440000B8FBF0018D3 +:1048E0000A001214000000000E001125AFAB0010EA +:1048F0000A0012148FBF00180E00109AAFAB001000 +:104900000A0012148FBF0018AFAB00100E0011BACE +:10491000AFAA00148FBF001803E0000827BD0020D5 +:1049200024020003A08200848C82005403E000086B +:10493000ACA201083C0200080342182190620081E9 +:10494000240600433C07601924420001A062008154 +:10495000906300813C0208008C4200C0306300FF7D +:10496000146200102403FF803C0208008C4200E027 +:104970000082102100431024AF4200243C020800B2 +:104980008C4200E03C03000A008210213042007F8C +:104990000342102100431021944500D40A000AF17B +:1049A00030A5FFFF03E000080000000027BDFFE086 +:1049B000AFBF0018AFB10014AFB000108F4201803C +:1049C0000080802100A088210E00121B00402021C1 +:1049D000A20000848E0200548FBF00188FB0001018 +:1049E000AE2201088FB1001403E0000827BD0020AB +:1049F00027BDFFE03C020008AFB00010AFBF0018B9 +:104A0000AFB10014034280218F5101409203008412 +:104A10008E0400508E02004C14820040306600FF6D +:104A20003C0208008C4200E02403FF800222102197 +:104A300000431024AF4200243C0208008C4200E0F6 +:104A40009744007C92050081022210213042007FB1 +:104A5000034218213C02000A0062182114A0000B36 +:104A60003084FFFF2402000554C20014248205DCB8 +:104A70009062011224420001A062011224020C8003 +:104A8000AF4200240A00127324020005A060011244 +:104A90002402000514C20009248205DC9202008170 +:104AA0002C4200075040000524820A009203008136 +:104AB0002402001400621004008210213044FFFF21 +:104AC000A60400140E00121B022020219602003CB6 +:104AD0008E03004C022020213042FFFF00021040D4 +:104AE000006218210E000250AE03005C9202007DAD +:104AF00002202021344200400E000259A202007D13 +:104B00008F4201F80440FFFE24020002AF5101C0B1 +:104B1000A34201C43C021000AF4201F88FBF00184D +:104B20008FB100148FB0001003E0000827BD0020F3 +:104B300008000ACC08000B1408000B9808000BE4CE +:104B400008000C200A0000280000000000000000FF +:104B50000000000D6370362E322E3300000000007E +:104B60000602030400000000000000000000000036 +:104B70000000000000000000000000000000000035 +:104B80000000000000000000000000000000002005 +:104B90000000000000000000000000000000000015 +:104BA0000000000000000000000000000000000005 +:104BB00000000000000000000000000000000001F4 +:104BC0000000002B000000000000000400030D4066 +:104BD00000000000000000000000000000000000D5 +:104BE00000000000000000001000000300000000B2 +:104BF0000000000D0000000D3C020800244258A4F3 +:104C00003C03080024635F70AC4000000043202B8D +:104C10001480FFFD244200043C1D080037BD7FFCCA +:104C200003A0F0213C100800261000A03C1C080046 +:104C3000279C58A40E0001AC000000000000000DED +:104C400027BDFFE83C096018AFBF00108D2C500055 +:104C5000240DFF7F24080031018D5824356A380C5B +:104C600024070C003C1A8000AD2A50003C04800A46 +:104C7000AF4800083C1B8008AF4700240E00091510 +:104C8000AF8400100E0008D8000000000E000825B8 +:104C9000000000000E001252000000003C046016EC +:104CA0008C8500003C06FFFF3C02535300A61824ED +:104CB0001062004734867C0094C201F2A780002C69 +:104CC00010400003A78000CC38581E1EA798002C67 +:104CD00094C201F810400004978300CC38591E1E7E +:104CE000A79900CC978300CC2C7F006753E000018C +:104CF000240300669784002C2C82040114400002D7 +:104D000000602821240404003C0760008CE904387A +:104D10002403103C3128FFFF1103001F30B9FFFFAF +:104D200057200010A38000CE24020050A38200CEA2 +:104D3000939F00CE53E0000FA78500CCA78000CC46 +:104D4000978500CC8FBF0010A780002CA78000346F +:104D5000A78000E63C010800AC25008003E00008C5 +:104D600027BD0018939F00CE57E0FFF5A78000CC29 +:104D7000A78500CC978500CC8FBF0010A784002C9E +:104D8000A7800034A78000E63C010800AC25008025 +:104D900003E0000827BD0018A38000CE8CCB003CA8 +:104DA000316A00011140000E0000000030A7FFFF33 +:104DB00010E0FFDE240200508CCC00C831860001D8 +:104DC00014C0FFDC939F00CE0A00007A2402005139 +:104DD0008C8F00043C0E60000A00005D01EE302163 +:104DE0008CEF0808240D5708000F740211CD000441 +:104DF00030B8FFFF240500660A00007B240404008D +:104E00001700FFCC939F00CE0A00007A24020050C6 +:104E10008F8600103089FFFF000939408CC30010D5 +:104E20003C08005000E82025AF4300388CC5001432 +:104E300027420400AF82001CAF45003CAF44003065 +:104E40000000000000000000000000000000000062 +:104E50000000000000000000000000000000000052 +:104E60008F4B0000316A00201140FFFD0000000060 +:104E700003E00008000000008F840010948A001AEC +:104E80008C8700243149FFFF000940C000E8302131 +:104E9000AF46003C8C8500248F43003C00A31023C8 +:104EA00018400029000000008C8B002025620001C2 +:104EB0003C0D005035AC0008AF420038AF4C00301C +:104EC00000000000000000000000000000000000E2 +:104ED00000000000000000000000000000000000D2 +:104EE0008F4F000031EE002011C0FFFD00000000D8 +:104EF0008F4A04003C080020AC8A00108F4904044B +:104F0000AC890014AF4800300000000094860018FF +:104F10009487001C00C71821A48300189485001AE8 +:104F200024A20001A482001A9498001A9499001EE9 +:104F3000133800030000000003E000080000000038 +:104F400003E00008A480001A8C8200200A0000DC24 +:104F50003C0D00500A0000CD000000003C0308009A +:104F60008C6300208F82001827BDFFE810620008C4 +:104F7000AFBF00100E000104AF8300183C0308000F +:104F80008C63002024040001106400048F89001049 +:104F90008FBF001003E0000827BD00188FBF00106E +:104FA0003C076012A520000A9528000A34E500108D +:104FB00027BD00183106FFFF03E00008ACA60090F3 +:104FC0003C0208008C42002027BDFFC8AFBF003460 +:104FD000AFBE0030AFB7002CAFB60028AFB500248D +:104FE000AFB40020AFB3001CAFB20018AFB10014D3 +:104FF00010400050AFB000108F840010948600065F +:105000009483000A00C3282330B6FFFF12C0004A71 +:105010008FBF003494890018948A000A012A402323 +:105020003102FFFF02C2382B14E0000202C020212F +:10503000004020212C8C0005158000020080A0215A +:10504000241400040E0000B3028020218F8700107A +:1050500002809821AF80001494ED000A028088211C +:105060001280004E31B2FFFF3C1770003C1540002B +:105070003C1E60008F8F001C8DEE000001D71824AD +:10508000507500500220202102A3802B160000350D +:105090003C182000507800470220202124100001F5 +:1050A0008F83001414600039029158230230F823D2 +:1050B0000250C82133F1FFFF1620FFEE3332FFFF0D +:1050C0008F8700103C110020AF510030000000001D +:1050D00094E6000A3C1E601237D5001002662821B3 +:1050E000A4E5000A94E2000A94F2000A94F400187D +:1050F0003057FFFF1292003BAEB700908CED0014CA +:105100008CE400100013714001AE4021000E5FC31B +:10511000010E502B008B4821012A1821ACE8001405 +:10512000ACE3001002D3382330F6FFFF16C0FFB9FE +:105130008F8400108FBF00348FBE00308FB7002CDB +:105140008FB600288FB500248FB400208FB3001CC9 +:105150008FB200188FB100148FB0001003E0000868 +:1051600027BD0038107E001B000000001477FFCC24 +:10517000241000010E00159B000000008F83001416 +:105180001060FFCB0230F823029158238F87001064 +:10519000017020210A0001973093FFFF8F830014D4 +:1051A0001460FFCB3C110020AF5100300A000163B6 +:1051B000000000000E00077D024028210A00015770 +:1051C000004080210E00033A024028210A000157C6 +:1051D000004080210E001463022020210A000157A4 +:1051E000004080210E0000CD000000000A0001797F +:1051F00002D3382327BDFFE8AFB00010AFBF0014C3 +:105200000E00003F000000003C028000345000709F +:105210000A0001BA8E0600008F4F000039EE00012F +:1052200031C20001104000248F8600A88E070000C4 +:105230003C0C08008D8C003C3C0908008D2900388E +:1052400000E66823018D28210000502100AD302B9D +:10525000012A4021010620213C010800AC25003C28 +:10526000AF8700A83C010800AC2400380E000106FE +:10527000000000003C0308008C6300701060FFE633 +:10528000006020213C0508008CA500683C06080051 +:105290008CC6006C0E00152A000000003C010800BE +:1052A000AC2000708F4F000039EE000131C20001C8 +:1052B0001440FFDE8F8600A88E0A00008F8B00A8A6 +:1052C0003C0508008CA5003C3C0408008C84003898 +:1052D000014B482300A938210082182100E9402B06 +:1052E000006810213C010800AC27003C3C0108008C +:1052F000AC2200388F5F01002419FF0024180C0035 +:1053000003F9202410980012AF840000AF4400205D +:10531000936D0000240C002031A600FF10CC001279 +:10532000240E005010CE00043C194000AF59013843 +:105330000A0001B3000000000E0011C800000000C8 +:105340003C194000AF5901380A0001B300000000C9 +:105350000E00011F000000003C194000AF59013849 +:105360000A0001B3000000008F58010000802821CE +:10537000330F00FF01E020210E0002F1AF8F000487 +:105380003C194000AF5901380A0001B30000000089 +:1053900000A4102B2403000110400009000030215C +:1053A0000005284000A4102B04A0000300031840AF +:1053B0005440FFFC000528405060000A0004182BF0 +:1053C0000085382B54E000040003184200C3302548 +:1053D00000852023000318421460FFF900052842CD +:1053E0000004182B03E0000800C310218F4201B80D +:1053F0000440FFFE00000000AF4401803C031000A9 +:1054000024040040AF450184A3440188A3460189D8 +:10541000A747018A03E00008AF4301B83084FFFFCB +:105420000080382130A5FFFF000020210A00022A59 +:10543000240600803087FFFF8CA40000240600387B +:105440000A00022A000028218F8300388F8600304E +:105450001066000B008040213C07080024E75A1822 +:10546000000328C000A710218C4400002463000121 +:10547000108800053063000F5466FFFA000328C04F +:1054800003E00008000010213C07080024E75A1C34 +:1054900000A7302103E000088CC200003C0390000C +:1054A0003462000100822025AF4400208F45002097 +:1054B00004A0FFFE0000000003E000080000000060 +:1054C0003C038000346200010082202503E00008D4 +:1054D000AF44002027BDFFE0AFB100143091FFFFC3 +:1054E000AFB00010AFBF00181220001300A0802141 +:1054F0008CA2000024040002240601401040000F8A +:10550000004028210E000C5C00000000000010216B +:10551000AE000000022038218FBF00188FB10014A8 +:105520008FB0001000402021000028210000302111 +:105530000A00022A27BD00208CA200000220382188 +:105540008FBF00188FB100148FB0001000402021D1 +:1055500000002821000030210A00022A27BD002077 +:1055600000A010213087FFFF8CA500048C440000B0 +:105570000A00022A2406000627BDFFE0AFB0001093 +:10558000AFBF0018AFB100149363003E00808021CC +:105590000080282130620040000020211040000FD0 +:1055A0008E1100000E000851022020219367000098 +:1055B0002404005030E500FF50A400128E0F0000BC +:1055C000022020218FBF00188FB100148FB000106F +:1055D000A762013C0A00091127BD00200E000287C6 +:1055E000000000000E0008510220202193670000F7 +:1055F0002404005030E500FF14A4FFF20220202113 +:105600008E0F00003C1008008E1000503C0D000C66 +:10561000240BFF8001F05021314E007F01DA602120 +:10562000018D4021014B4824AF4900280220202150 +:105630008FBF00188FB100148FB00010A50200D6E4 +:1056400027BD00200A000911AF8800D027BDFFE068 +:10565000AFBF0018AFB10014AFB0001093660001E7 +:10566000008080210E00025630D1000493640005B2 +:10567000001029C2A765000034830040A363000521 +:105680000E00025F020020210E00091302002021FB +:1056900024020001AF62000C02002821A762001062 +:1056A00024040002A762001224060140A76200142D +:1056B0000E000C5CA76200161620000F8FBF0018AA +:1056C000978C00343C0B08008D6B00782588FFFF19 +:1056D0003109FFFF256A0001012A382B10E000067E +:1056E000A78800343C0F6006240E001635ED00102C +:1056F000ADAE00508FBF00188FB100148FB00010F6 +:1057000003E0000827BD002027BDFFE0AFB1001473 +:10571000AFBF0018AFB0001000A088211080000AB1 +:105720003C03600024020080108200120000000090 +:105730000000000D8FBF00188FB100148FB0001053 +:1057400003E0000827BD00208C682BF80500FFFE51 +:1057500000000000AC712BC08FBF00188FB1001487 +:105760008FB000103C09100027BD002003E00008A6 +:10577000AC692BF80E00025600A0202193650005AD +:10578000022020210E00025F30B000FF2403003E03 +:105790001603FFE7000000008F4401780480FFFE3D +:1057A000240700073C061000AF51014002202021D1 +:1057B000A34701448FBF00188FB100148FB00010B1 +:1057C000AF4601780A0002C227BD002027BDFFE8CE +:1057D000AFBF0014AFB000108F50002000000000D9 +:1057E0000E000913AF440020AF5000208FBF0014FB +:1057F0008FB0001003E0000827BD00183084FFFFC1 +:10580000008038212406003500A020210A00022A49 +:10581000000028213084FFFF008038212406003654 +:1058200000A020210A00022A0000282127BDFFD065 +:10583000AFB3001C3093FFFFAFB50024AFB2001828 +:10584000AFBF0028AFB40020AFB10014AFB000105C +:1058500030B5FFFF12600027000090218F90001CE0 +:105860008E0300003C0680002402004000033E023C +:1058700000032C0230E4007F006688241482001D9F +:1058800030A500FF8F8300282C68000A510000100B +:105890008F910014000358803C0C0800258C56940E +:1058A000016C50218D49000001200008000000001B +:1058B00002B210213045FFFF0E000236240400849E +:1058C000162000028F90001CAF8000288F910014DA +:1058D000260C002026430001018080213072FFFF4A +:1058E00016200004AF8C001C0253502B1540FFDC27 +:1058F00000000000024010218FBF00288FB5002457 +:105900008FB400208FB3001C8FB200188FB1001429 +:105910008FB0001003E0000827BD0030240E0034D3 +:1059200014AE00F9000000009203000E241F168040 +:105930003C07000CA36300219202000D0347C8211D +:105940003C066000A3620020961100123C0A7FFF13 +:10595000354CFFFFA771003C960B00102403000597 +:105960003168FFFFAF6800848E05001CAF5F002820 +:105970008F3800008CC4444803057826008F3021FE +:10598000AF66004C8F69004C24CE00013C057F00BF +:10599000AF6900508F740050AF740054AF66007050 +:1059A000AF6E00588F6D005824140050AF6D005C2E +:1059B000A3600023AF6C0064A36300378E02001461 +:1059C000AF6200488F710048AF7100248E0B001841 +:1059D000AF6B006C9208000CA3680036937F003E0A +:1059E00037F90020A379003E8F78007403058024E6 +:1059F000360F4000AF6F007493640000308900FFE1 +:105A0000513402452404FF803C04080024845A9841 +:105A10000E00028D000000003C1008008E105A9805 +:105A20000E00025602002021240600042407000173 +:105A3000A366007D020020210E00025FA36700051F +:105A40008F5F017807E0FFFE240B0002AF5001409A +:105A5000A34B01448F90001C3C081000AF48017814 +:105A60000A000362AF8000282CAD003751A0FF98D8 +:105A70008F9100140005A0803C180800271856BC20 +:105A8000029878218DEE000001C00008000000009F +:105A90002418000614B80011000000003C0808009B +:105AA0008D085A9824040005AF4800208E1F001866 +:105AB000AF7F00188F79004CAF79001C8F650050C4 +:105AC000122000C0AF6500700A000362AF84002896 +:105AD0002406000710A60083240300063C050800E6 +:105AE00024A55A980E000264240400818F90001CA3 +:105AF0000011102B0A000362AF8200282407000463 +:105B000014A7FFF6240500503C1808008F185A9877 +:105B1000AF5800208E0F0008AF6F00408E090008BC +:105B2000AF6900448E14000CAF7400488E0E001054 +:105B3000AF6E004C8E0D0010AF6D00848E0A001405 +:105B4000AF6A00508E0C0018AF6C00548E04001C1D +:105B5000AF64005893630000306B00FF116501D8FB +:105B6000000000008F7400488F6900400289702394 +:105B700005C000042404008C1620FFDE240200036C +:105B8000240400823C05080024A55A980E000287D0 +:105B9000000000008F90001C000010210A0003622A +:105BA000AF820028240F000514AFFFCC240520008D +:105BB0003C0708008CE75A98AF4700208E06000487 +:105BC000AF66005C9208000824100008A36800215A +:105BD0008F9F001C93F90009A37900208F86001C79 +:105BE00090D8000A330400FF10900011000000005C +:105BF0002885000914A0006924020002240A00205C +:105C0000108A000B34058000288D002115A00008A3 +:105C100024054000240E0040108E00053C050001C4 +:105C200024140080109400023C050002240540006A +:105C30008F7800743C19FF00031980240205782531 +:105C4000AF6F007490C4000BA36400818F84001CAC +:105C50009489000C11200192000000009490000C27 +:105C60002406FFBF24050004A770003C908F000E9F +:105C7000A36F003E8F84001C9089000FA369003F32 +:105C80008F8B001C8D6E00108F54007401D468231C +:105C9000AF6D00608D6A0014AF6A0064956C0018E7 +:105CA000A76C00689563001AA763006A8D62001CE8 +:105CB000AF62006C9167000EA367003E9368003EE0 +:105CC0000106F8241220014BA37F003E8F90001C98 +:105CD0000A000362AF8500282407002214A7FF7F73 +:105CE000240300073C0B08008D6B5A981220000C0F +:105CF000AF4B00200A000362AF830028240C00335E +:105D000010AC0014240A00283C05080024A55A9869 +:105D10000E00023C240400810A0003EB8F90001C5B +:105D20003C04080024845A980E00028D00000000F4 +:105D30009363000024110050306200FF10510135C0 +:105D4000000000008F90001C000018210A00036270 +:105D5000AF8300283C0D08008DAD5A9824040081C3 +:105D6000AF4D00203C05080024A55A980E00023CC7 +:105D7000A36A00348F90001C240200090A00036209 +:105D8000AF82002802B288213225FFFF0E000236C2 +:105D9000240400840A0003628F90001C1082FFA478 +:105DA00024050400288B000311600170240C0004FA +:105DB000240300015483FF9E240540000A00043B95 +:105DC000240501003C04080024845A988F62004C8A +:105DD0000E00028D8F6300508F90001C0000202168 +:105DE0000A000362AF8400288E1000042404008A95 +:105DF000AF50002093790005333800021700015F8F +:105E0000020028219368002302002821311F00206E +:105E100017E0015A2404008D9367003F2406001206 +:105E200030E200FF10460155240400810E000256A6 +:105E30000200202193630023240500040200202196 +:105E4000346B0042A36B00230E00025FA365007D4C +:105E50008F4401780480FFFE240A0002AF50014005 +:105E6000A34A01448F90001C3C0C1000AF4C0178F9 +:105E70000A0003EC0011102B8E1000042404008A89 +:105E8000AF500020936E000531CD000215A0001622 +:105E900002002821936F003F2414000402002821EF +:105EA00031E900FF11340010240400810E00025675 +:105EB000020020219362002324080012241FFFFE09 +:105EC00034460020A3660023A368003F93790005B1 +:105ED00002002021033FC0240E00025FA3780005CA +:105EE00002002821000020210E00033400000000E1 +:105EF0000A0003EB8F90001C8E1000043C03000886 +:105F00000343A021AF500020928B000024050050D5 +:105F1000316400FF10850161240700880200202100 +:105F2000000028210E00022A2406000E928D000097 +:105F3000240EFF800200282101AE8025A2900000DF +:105F4000240400040E000C5C240600300A0003EB5D +:105F50008F90001C8E0800043C14080026945A9868 +:105F60003C010800AC285A98AF480020921F00035B +:105F700033F9000413200002240200122402000658 +:105F8000A362003F920B001B2404FFC03165003F59 +:105F900000A43825A367003E9206000330C200012A +:105FA00014400132000000008E020008AE8200089A +:105FB0003C0208008C425AA010400131000249C244 +:105FC000A76900088E14000C240C0001240300149F +:105FD000AF74002C8E0E0010AF6E0030960D0016C0 +:105FE000A76D0038960A0014A76A003AAF6C000C3F +:105FF000A76C0010A76C0012A76C0014A76C001609 +:1060000012200136A3630034920F000331F0000226 +:106010002E1100018F90001C262200080A00036246 +:10602000AF8200288E0400043C0E0008034E30218D +:10603000AF4400208E05000890CD0000240C0050D5 +:1060400031AA00FF114C00862407008824060009AD +:106050000E00022A000000000A0003EB8F90001CD3 +:106060008E04001C0E00024100000000104000F4ED +:10607000004050218F89001C240700890140202105 +:106080008D25001C240600010E00022A00000000DD +:106090000A0003EB8F90001C960D00023C140800D0 +:1060A00026945A9831AA0004514000B83C10600070 +:1060B0008E0E001C3C010800AC2E5A98AF4E0020FA +:1060C000920700102408001430E200FF144800D6A4 +:1060D00000000000960B00023163000114600165AE +:1060E000000000008E020004AE8200083C1408008C +:1060F0008E945AA01280015B000000008F7400741F +:106100003C0380002404000102835825AF6B007417 +:10611000A3600005AF64000C3C0708008CE75AA0A0 +:106120008F86001CA7640010000711C2A76400122C +:10613000A7640014A7640016A76200088CC80008B2 +:1061400024040002AF68002C8CC5000CAF65003041 +:1061500090DF0010A37F00348F99001C9330001152 +:10616000A37000358F98001C930F0012A36F0036A8 +:106170008F89001C912E0013A36E00378F90001C96 +:10618000960D0014A76D0038960A0016A76A003A0B +:106190008E0C0018AF6C00245620FDCCAF84002874 +:1061A0003C05080024A55A980E0002640000202136 +:1061B0008F90001C0A0004A7000020218E1000040C +:1061C00024070081AF500020936900233134001070 +:1061D000128000170000000002002021000028218A +:1061E0002406001F0E00022A000000000A0003EB34 +:1061F0008F90001C3C05080024A55A980E000287C9 +:10620000240400828F90001C000028210A000362F1 +:10621000AF8500283C0408008C845A980E0014E8CE +:10622000000000008F90001C0A000482000018216A +:106230000E00025602002021937800230200202144 +:10624000370F00100E00025FA36F002300003821FB +:1062500002002021000028210A0005A82406001FB2 +:10626000920F000C31E90001112000030000000032 +:106270009618000EA4D8002C921F000C33F90002CF +:1062800013200005000038218E0200149608001229 +:10629000ACC2001CA4C8001A0A0005432406000969 +:1062A0003C05080024A55A980E0002872404008BA0 +:1062B0008F90001C0011282B0A000362AF85002874 +:1062C000AF6000843C0A08008D4A5A983C0D0800D3 +:1062D0008DAD0050240CFF803C02000C014D1821B4 +:1062E000006C2024AF4400288E070014306B007F20 +:1062F000017A282100A2C821AF2700D88E060014F9 +:10630000AF9900D0AF2600DC8E080010251FFFFEDD +:106310000A000408AF3F01083C0508008CA55A9804 +:106320003C1908008F39005024CCFFFE00B9C02171 +:1063300003047824AF4F00283C1408008E945A9828 +:106340003C0908008D2900500289702131CD007F61 +:1063500001BA502101478021AE0600D8AF9000D08D +:10636000AE0000DC0A0003B1AE0C0108548CFE3014 +:10637000240540000A00043B240510000E00032EF3 +:10638000000000000A0003EB8F90001C8E0F442CCD +:106390003C186C62370979703C010800AC205A98AF +:1063A00015E9000824050140979F00349786002CCA +:1063B0000280282103E6C82B132000112404009238 +:1063C000240501400E000C7A240400023C01080060 +:1063D000AC225A98AF4200203C0508008CA55A9880 +:1063E00010A00005240400830E00084500000000F2 +:1063F00010400009240400833C05080024A55A9895 +:106400000E000264000000008F90001C0011202B81 +:106410000A000362AF8400280E0008490000000053 +:106420000A00055F8F90001C0E00084D0000000060 +:106430003C05080024A55A980A00062F2404008B66 +:10644000240400040E000C7A240500301440002AB5 +:10645000004050218F89001C240700830140202127 +:106460008D25001C0A000551240600018E04000839 +:106470000E000241000000000A00051BAE82000869 +:106480003C05080024A55A980E00023C240400870D +:106490008F90001C0A0005360011102B8F830038E6 +:1064A0008F8600301066FE9D000038213C070800F2 +:1064B00024E75A1C000320C0008728218CAC000070 +:1064C00011900061246A00013143000F5466FFFA05 +:1064D000000320C00A0004F6000038213C05080033 +:1064E00024A55A980E000287240400828F90001C75 +:1064F0000A000536000010213C0B0008034B202148 +:106500002403005024070001AF420020A0830000B4 +:10651000A08700018F82001C90480004A08800180A +:106520008F85001C90A60005A08600198F9F001C77 +:1065300093F90006A099001A8F90001C921800078A +:10654000A098001B8F94001C928F0008A08F001C45 +:106550008F89001C912E0009A08E001D8F8D001CBC +:1065600091AC000AA08C001E8F8B001C3C0C080014 +:10657000258C5A1C9163000B3C0B0800256B5A18A4 +:10658000A083001F8F87001C90E8000CA0880020CB +:106590008F82001C9045000D24024646A0850021F4 +:1065A0008F86001C90DF000EA09F00228F99001C98 +:1065B0009330000FA09000238F98001C93140010BC +:1065C000A09400248F8F001C91E90011A089002560 +:1065D0008F89001C8F8E00308F900038952D00140D +:1065E000000E18C025C80001A48D002895270016AC +:1065F000006C3021006BC821A487002A9525001863 +:106600003108000FA485002CA482002E8D3F001CB1 +:10661000ACCA0000AF88003011100006AF3F000088 +:10662000000038218D25001C014020210A00055161 +:1066300024060001250C00013184000F00003821E0 +:106640000A0006B8AF8400383C07080024E75A184F +:106650000087302100003821ACA000000A0004F6B9 +:10666000ACC000003C05080024A55A980A00062F7B +:10667000240400878E0400040E0002410000000084 +:106680000A00056AAE8200083084FFFF30C600FFB2 +:106690008F4201B80440FFFE00064400010430258B +:1066A0003C07200000C720253C031000AF400180BC +:1066B000AF450184AF44018803E00008AF4301B84F +:1066C00027BDFFE8AFB00010AFBF00143C0760006B +:1066D000240600021080000600A080210010102B6C +:1066E0008FBF00148FB0001003E0000827BD001812 +:1066F0003C09600EAD2000348CE5201C8F82001C0C +:106700002408FFFC00A81824ACE3201C0E0006D1CE +:106710008C45000C0010102B8FBF00148FB00010A0 +:1067200003E0000827BD00183C02600E344701005A +:1067300024090018274A040000000000000000009F +:10674000000000003C06005034C30200AF44003893 +:10675000AF45003CAF430030014018218F4B000093 +:10676000316800201100FFFD2406007F2408FFFF90 +:106770008C6C000024C6FFFF24630004ACEC000016 +:1067800014C8FFFB24E70004000000000000000024 +:10679000000000003C0F0020AF4F00300000000060 +:1067A00024AD020001A5702B2529FFFF008E2021BA +:1067B0001520FFE101A0282103E0000800000000EF +:1067C00027BDFFE0AFB10014AFBF0018AFB000109D +:1067D0003C05600E8CA20034008088211440000625 +:1067E0003C0460008C87201C2408FFFC00E8302457 +:1067F00034C30001AC83201C8F8B001C24090001D2 +:10680000ACA90034956900028D6500148D70000CF0 +:106810002D2400818D6700048D660008108000071C +:106820008D6A00102D2C00041580000E30CE00075C +:10683000312D000311A0000B000000002404008B88 +:10684000020028210E0006D1240600030011102B9F +:106850008FBF00188FB100148FB0001003E0000844 +:1068600027BD002015C0FFF62404008B3C03002048 +:10687000AF4300300000000024020001AF8200148A +:106880000000000000000000000000003C1F01505C +:10689000013FC825253800033C0F600EAF47003884 +:1068A00000181882AF46003C35E8003CAF59003074 +:1068B000274704008F4400003086002010C0FFFDF1 +:1068C00000000000106000082466FFFF2403FFFFA3 +:1068D0008CEB000024C6FFFF24E70004AD0B000092 +:1068E00014C3FFFB250800043C08600EAD09003806 +:1068F0000000000000000000000000003C07002035 +:10690000AF470030000000000E0006F901402021D2 +:1069100002002821000020210E0006D124060003D9 +:106920000011102B8FBF00188FB100148FB0001012 +:1069300003E0000827BD002027BDFFE0AFB200182C +:106940003092FFFFAFB10014AFBF001CAFB000101A +:106950001640000D000088210A0007AA022010211D +:1069600024050001508500278CE5000C0000000D77 +:10697000262300013071FFFF24E200200232382B71 +:1069800010E00019AF82001C8F8200141440001622 +:106990008F87001C3C0670003C0320008CE5000043 +:1069A00000A62024148300108F84003C00054402BC +:1069B0003C09800000A980241480FFE9310600FF13 +:1069C0002CCA00095140FFEB262300010006688015 +:1069D0003C0E080025CE579801AE60218D8B00003B +:1069E0000160000800000000022010218FBF001C81 +:1069F0008FB200188FB100148FB0001003E00008B0 +:106A000027BD00200E0006D1240400841600FFD804 +:106A10008F87001C0A00078BAF80003C90EF0002BC +:106A200000002021240600090E0006D1000F2E00D0 +:106A30008F87001C0010102B0A00078BAF82003CD0 +:106A4000020028210E0006DF240400018F87001CAD +:106A50000A00078BAF82003C020028210E0006DFEF +:106A6000000020210A0007C38F87001C0E00071FAB +:106A7000020020210A0007C38F87001C30B0FFFFEF +:106A8000001019C08F5801B80700FFFE3C1F2004FA +:106A90003C191000AF430180AF400184AF5F018813 +:106AA000AF5901B80A00078C262300013082FFFF8E +:106AB00014400003000018210004240224030010E5 +:106AC000308500FF14A000053087000F2466000801 +:106AD0000004220230C300FF3087000F14E00005DD +:106AE000308900032468000400042102310300FF00 +:106AF0003089000315200005388B0001246A00024C +:106B000000042082314300FF388B00013164000112 +:106B100010800002246C0001318300FF03E00008B4 +:106B200000601021308BFFFF000B394230E600FF80 +:106B30003C09080025295998000640800109602178 +:106B40008D8700003164001F240A0001008A1804A8 +:106B500030A500FF00E3202514A000020003102749 +:106B600000E22024240F000100CF700401096821F5 +:106B7000000E282714800005ADA400008F86000CAD +:106B800000A6102403E00008AF82000C8F88000CE0 +:106B900001C8102503E00008AF82000C3C06001F6E +:106BA0003C0360003084FFFF34C5FF8024020020D6 +:106BB000AC602008AC60200CAC602010AC652014E8 +:106BC000AC642018AC62200000000000000000004F +:106BD00003E000080000000027BDFFE82402FFFFDB +:106BE000AFBF0010AF82000C000020213C0608005F +:106BF00024C659982405FFFF248900010004408021 +:106C00003124FFFF010618212C87002014E0FFFA31 +:106C1000AC6500000E0008160000202124020001CF +:106C20003C04600024050020AC822018AC852000C4 +:106C3000000000000000000000000000244A0001E5 +:106C40003142FFFF2C46040014C0FFF78FBF001035 +:106C500003E0000827BD00188F8300082C620400A1 +:106C600003E00008384200018F830008246200011D +:106C700003E00008AF8200088F8300082462FFFF52 +:106C800003E00008AF82000827BDFFE0AFB10014A9 +:106C9000AFBF0018AFB000108F6B00303C06600033 +:106CA00000808821ACCB20088F6A002C3C02800039 +:106CB00024030008ACCA200C9769003A9768003892 +:106CC00000092C003107FFFF00A72025ACC42010CD +:106CD000ACC22014ACC32000000000000000000083 +:106CE000000000003C0360008C6D200031AC000807 +:106CF0001580FFF9000000008C6E201405C00020F4 +:106D0000000000000E0007DA8F84000C00024080B3 +:106D10003C09080025295998010938218CE4000014 +:106D20000E0007DA00028140020220213090FFFFAE +:106D3000020020210E0007F8000028213C0C8000F2 +:106D4000022C58253210FFFF3C116000240A00205D +:106D5000AE2B2014AE302018AE2A20000000000018 +:106D60000000000000000000020010218FBF00188A +:106D70008FB100148FB0001003E0000827BD002081 +:106D80008C6620143C02001F3443FF803C1FFFE848 +:106D900000C3C02437F9080003198021001079C20C +:106DA0003C0C8000022C582531F0FFFF3C116000A4 +:106DB000240A0020AE2B2014AE302018AE2A20006A +:106DC0000000000000000000000000000200102190 +:106DD0008FBF00188FB100148FB0001003E00008BF +:106DE00027BD002027BDFFE8AFB000103402FFFF31 +:106DF0003090FFFFAFBF00141202000602002021F6 +:106E00000E00081600000000020020210E0007F806 +:106E1000240500018F8400088FBF00148FB000107C +:106E20002483FFFF27BD001803E00008AF8300089C +:106E3000000439C230E6003F00043B42000718401E +:106E4000240210002CC4002024C8FFE0AF42002C14 +:106E5000246300011480000330A900FF00071840DC +:106E6000310600FF0003608024080001019A5821C8 +:106E70003C0A000E00C82804016A382111200005D0 +:106E8000000530278CE900000125302503E00008CB +:106E9000ACE600008CEE000001C6682403E00008A8 +:106EA000ACED000027BDFFE8AFBF0014AFB000108D +:106EB0003C0460008C8508083403F00030A2F00028 +:106EC00050430006240200018C8708083404E000C7 +:106ED00030E6F00010C4001E24020002AF82004021 +:106EE0003C1060003C0A0200AE0A0814240910009D +:106EF0003C08000E8E03440003482021AF49002CBB +:106F0000240501200E000CC0000030218F830040BA +:106F1000106000043C021691240B0001106B000E5F +:106F20003C023D2C344F0090AE0F44088FBF00143C +:106F30008FB000103C0C6000240E10003C0D0200CD +:106F400027BD0018AD8E442003E00008AD8D081069 +:106F50000A0008E7AF8000403C0218DA344F009086 +:106F6000AE0F44088FBF00148FB000103C0C6000BF +:106F7000240E10003C0D020027BD0018AD8E4420E9 +:106F800003E00008AD8D08100A0008BB24050001CD +:106F90000A0008BB000028213C08080025085DA461 +:106FA0002404FFFF010018212402001E2442FFFFD9 +:106FB000AC6400000441FFFD246300043C070800AA +:106FC00024E75E208CE5FFFC2404001C240600015D +:106FD000308A001F0146480424840001000910275C +:106FE0002C8300201460FFFA00A22824ACE5FFFCEB +:106FF0003C05666634A4616E3C06080024C65EE06B +:10700000AF840058AF88009C2404FFFF00C0182103 +:107010002402001F2442FFFFAC6400000441FFFD76 +:10702000246300043C0766663C05080024A55EA0B6 +:10703000AF86004834E6616EAF8600982404FFFFF7 +:1070400000A018212402000F2442FFFFAC640000BE +:107050000441FFFD246300043C0B66663C06080007 +:1070600024C65E203568616EAF8500A4AF880070CD +:107070002404FFFF00C018212402001F2442FFFF48 +:10708000AC6400000441FFFD246300043C0D66660F +:107090003C0A0800254A5F6035AC616EAF860090FF +:1070A000AF8C005C2404FFFF014018212402000380 +:1070B0002442FFFFAC6400000441FFFD2463000490 +:1070C0003C09080025295F708D27FFFC2404000679 +:1070D000240500013099001F0325C0042484000109 +:1070E000001878272C8E002015C0FFFA00EF3824F6 +:1070F000AD27FFFC3C09666624030400240403DC7E +:1071000024050200240600663522616E3C08080052 +:1071100025085AA4AF820074AF830044AF83006C8B +:10712000AF830050AF830084AF8A008CAF840064CB +:10713000AF85004CAF860054AF840078AF85006007 +:10714000AF86008001001821240200022442FFFFC4 +:10715000AC6000000441FFFD24630004240400032C +:107160002403000C3C0A0800254A5AB0AF8A006884 +:107170000A00098E2405FFFF000418802484000102 +:10718000006858212C8700C014E0FFFBAD650000AB +:107190003C0E666635CD616E240C17A024081800DD +:1071A000AF8D0088AF8C009403E00008AF88007CAE +:1071B0002484007F000421C200004021000030210F +:1071C00000003821000028210A0009A5AF8400A092 +:1071D0001060000624E7000100C4302124A500014E +:1071E0002CC20BF51440FFFA2CA300663C090800E2 +:1071F00025295F6001201821240200032442FFFF9B +:10720000AC6000000441FFFD2463000410E0001A9C +:1072100024E3FFFF0003294210A0000A0000202100 +:107220002406FFFF3C03080024635F602484000100 +:107230000085502BAC660000250800011540FFFBBF +:107240002463000430E2001F10400008000868803A +:10725000240C0001004C38040008588001692821E2 +:1072600024E6FFFF03E00008ACA6000001A94021CE +:107270002409FFFFAD09000003E000080000000042 +:10728000AF4400283C04000C034420210005288260 +:107290000A000CC000003021000421803C03600083 +:1072A000AC6410080000000000052980AC65100CDB +:1072B0000000000003E000088C62100C27BDFFE80E +:1072C0000080282124040038AFBF00140E0009D527 +:1072D000AFB0001024040E00AF4400283C10000C96 +:1072E00003502021240500100E000CC000003021A6 +:1072F00003501021AC400000AC40000424040038CE +:107300008FBF00148FB0001024053FFF27BD001869 +:107310000A0009D58C430000000421803C03600072 +:10732000AC641008000000008C62100C03E0000840 +:107330000002118227BDFFC8AFB400208F940068FF +:10734000AFBE0030AFB7002CAFB600280000B821A8 +:107350000080B021241E00C0AFBF0034AFB50024B0 +:10736000AFB3001CAFB20018AFB10014AFB0001043 +:107370000A000A12AFA5003C504000018F9400683B +:1073800027DEFFFF13C00028269400048E92000021 +:107390003C03080024635DA01240FFF70283102B1A +:1073A0003C04080024845AA4028410230002A8C0CC +:1073B000000098210A000A212411000100118840D0 +:1073C000122000260000000002B380210251282470 +:1073D0000200202110A0FFF9267300010E0009DE33 +:1073E000000000000016684032EC000101AC2021D2 +:1073F0000E0009D5020028218F89009426F700018C +:107400008FA6003C3AEB0001316A00012528FFFFFE +:107410000011382702CAB021AF88009416E6FFE7B2 +:1074200002479024AE92000002E010218FBF00348A +:107430008FBE00308FB7002C8FB600288FB5002488 +:107440008FB400208FB3001C8FB200188FB10014CE +:107450008FB0001003E0000827BD00383C0E080084 +:1074600025CE5DA0028E102B0A000A0DAE92000000 +:1074700027BDFFD8AFB10014AFB00010AFBF0020E0 +:10748000AFB3001CAFB2001800A0882110A0001FED +:10749000000480403C13080026735AA40A000A5ACC +:1074A0002412000112200019261000010E0009F517 +:1074B00002002021000231422444FFA0000618806F +:1074C0003045001F2C8217A1007318212631FFFFC1 +:1074D0001040FFF400B230048C690000020020214B +:1074E00024053FFF012640241500FFEE0126382524 +:1074F0000E0009D5AC6700008F8A009426100001A9 +:10750000254700011620FFE9AF8700948FBF0020B8 +:107510008FB3001C8FB200188FB100148FB0001011 +:1075200003E0000827BD00288F85009C00805821BB +:107530000000402100004821240A001F3C0C0800E4 +:10754000258C5E1C3C0D080025AD5DA48CA60000BA +:1075500050C000140000402100AD1023000238C0CC +:10756000240300010A000A930000202115000003F3 +:1075700000E410212448202400004821252900018E +:10758000512B00132506DFDC106000062484000167 +:1075900000C3702415C0FFF5000318400A000A91CB +:1075A0000000402110AC002624A300040060282124 +:1075B000254AFFFF1540FFE5AF85009C512B0004D5 +:1075C0002506DFDC0000402103E000080100102157 +:1075D0000006614230C5001F000C50803C070800C7 +:1075E00024E75DA424040001014730211120000F8D +:1075F00000A420043C05080024A55E20148000059A +:107600002529FFFF24C6000410C50011000000005A +:10761000240400018CCF00000004C0270004204097 +:1076200001F868241520FFF5ACCD00008F99007893 +:1076300001001021032B482303E00008AF890078E4 +:107640003C05080024A55DA40A000A9B0000402117 +:107650003C06080024C65DA40A000AB42404000104 +:10766000308800FF240200021102000A24030003F4 +:107670001103005C8F8900A4240400041104005F3E +:1076800024050005110500670000182103E000082B +:10769000006010218F8900483C0C0800258C5EE0BA +:1076A0003C04080024845F60240300201060000F65 +:1076B00000005821240D0002240E00033C0F080096 +:1076C00025EF5EE08D27000014E0000B30F9FFFF8E +:1076D000252900040124C02B53000001018048210A +:1076E0002463FFFF5460FFF88D270000016018211C +:1076F00003E0000800601021132000323C0500FF69 +:1077000030E200FF004030211040004200005021D4 +:1077100024050001000020210005C84000A6C02467 +:1077200017000003332500FF14A0FFFB2484000191 +:10773000012CC023001828C000AA6021008C502111 +:107740003144001F240C0001008C18040003102792 +:1077500000E23024110D0041AD260000110E004C56 +:10776000000A1840110D00368F87006C510E00562C +:107770008F8C0060240D0004110D005A8F8E008440 +:10778000240E0005150EFFDA01601821240B1430B9 +:1077900011400006000018218F8400A0246300011E +:1077A000006A402B1500FFFD016458218F8A00807C +:1077B000AF89008C016018212549FFFF0A000AEB00 +:1077C000AF89008000E52024000736021080FFD03A +:1077D000240A001800075402314600FF0A000AF389 +:1077E000240A00103C0C0800258C5EA03C04080014 +:1077F00024845EE00A000ADA240300103C0C08002E +:10780000258C5E203C04080024845EA00A000AD96E +:107810008F89009000071A02306600FF0A000AF301 +:10782000240A00088F89008C3C0C0800258C5F60BE +:107830003C04080024845F700A000ADA2403000470 +:10784000000A4080250B003024E6FFFF016018216C +:10785000AF8900480A000AEBAF86006C000AC982B3 +:10786000001978803C07080024E75EA001E720218A +:10787000000A18428C8F00003079001F032C380456 +:107880000007C02701F860240A000B08AC8C000038 +:10789000000331420006288000AF28213062001F1B +:1078A0008CB8000024630001004CC804000321428E +:1078B000001938270004108003073024004F2021CE +:1078C0000A000B4CACA60000000A68C025AB0032D1 +:1078D000258AFFFF01601821AF8900A40A000AEB86 +:1078E000AF8A0060254B1030AF89009001601821ED +:1078F00025C9FFFF0A000AEBAF8900843086000724 +:107900002CC2000610400014000000000006408059 +:107910003C030800246357BC010338218CE40000B9 +:1079200000800008000000002409000310A9000ED8 +:1079300000000000240A000510AA000B000000004F +:10794000240B000110AB0008000000008F8C00A089 +:1079500010AC00050000000003E00008000010214A +:107960000A000A7900A020210A000AC700C02021CD +:1079700027BDFFE8308400FF240300021083000BC2 +:10798000AFBF0010240600031086003A240800044C +:1079900010880068240E0005108E007F2CAF143074 +:1079A0008FBF001003E0000827BD00182CA2003094 +:1079B0001440FFFC8FBF001024A5FFD0000531C28A +:1079C000000668803C07080024E75EE001A730213C +:1079D0008CC900000005288230AC001F240B000178 +:1079E000018B50048F840048012A4025ACC8000058 +:1079F0008C83000050600001AF8600488F98006CB7 +:107A000030AE000124A6FFFF270F000115C00002C1 +:107A1000AF8F006C24A600010006414200082080C0 +:107A2000008718218C79000030C2001F2406000155 +:107A30000046F804033F382410E0FFDA8FBF00103F +:107A40000005C182001870803C0F080025EF5EA081 +:107A500001CF48218D2B00000005684231A5001F91 +:107A600000A66004016C502527BD001803E0000843 +:107A7000AD2A00002CA7003014E0FFCA8FBF001011 +:107A800030B900071723FFC724A8FFCE00086A02F9 +:107A9000000D60803C0B0800256B5EA0018B30213F +:107AA0008CC40000000828C230AA001F240800016E +:107AB000014848048F8200A400891825ACC3000047 +:107AC0008C5F000053E00001AF8600A40005704009 +:107AD000000E7942000F28803C04080024845EE0F8 +:107AE00000A418218C6B000025DF000131CD001FA0 +:107AF000001F514201A86004016C4825000A108053 +:107B0000AC690000004428218CA600008F9800601A +:107B100033F9001F8FBF00100328380400C77825F1 +:107B2000270E000127BD0018ACAF000003E00008DD +:107B3000AF8E006024A5EFD02CB804001300FF998D +:107B40008FBF001000053142000658803C0A080033 +:107B5000254A5E20016A30218CC4000030A3001F3A +:107B600024090001006910048F9900900082F82513 +:107B7000ACDF00008F27000050E00001AF860090CE +:107B80008F8D00848FBF001027BD001825AC000129 +:107B900003E00008AF8C008415E0FF828FBF001067 +:107BA0008F8600A0000610400046F821001F21002B +:107BB00003E4C8210019384024F8143000B8402BE1 +:107BC0001100FF788FBF001024A4EBD00E00021329 +:107BD00000C0282100027942000F70803C0D08008F +:107BE00025AD5F6001CD20218C8B0000304C001F43 +:107BF00024060001018618048F89008C016350253A +:107C0000AC8A00008D25000050A00001AF84008CDC +:107C10008F9800808FBF001027BD00182708000133 +:107C200003E00008AF88008030A5000724030003AC +:107C300010A3001028A2000414400008240700022A +:107C40002403000410A300152408000510A8000F49 +:107C50008F8500A003E000080000000014A7FFFDCE +:107C60000080282114C3FFFB240400020A000B8BB0 +:107C700000000000240900050080282110C9FFFB36 +:107C80002404000303E000080000000014C5FFF115 +:107C9000008028210A000B8B24040005240A00011F +:107CA0000080282110CAFFF12404000403E000082A +:107CB0000000000027BDFFE0AFB00010000581C24A +:107CC0002603FFD024C5003F2C6223D024C6007FAA +:107CD000AFB20018AFB10014AFBF001C309100FF6D +:107CE000000691C2000529820200202110400008F0 +:107CF0002403FFFF0E000A4B0000000002002021B9 +:107D0000022028210E000C390240302100001821E9 +:107D10008FBF001C8FB200188FB100148FB00010FD +:107D20000060102103E0000827BD002027BDFFD818 +:107D300024A2007FAFB3001CAFB20018000299C2AA +:107D4000309200FF24A3003F02402021026028213E +:107D5000AFB10014AFB00010AFBF00200E000B6E2B +:107D60000003898200408021004020210220282138 +:107D700014400009000018218FBF00208FB3001CA1 +:107D80008FB200188FB100148FB000100060102166 +:107D900003E0000827BD00280E0009FC00000000D9 +:107DA00000402821020020211051FFF3001019C0CB +:107DB0000E000A4B00000000020020210240282192 +:107DC0000E000C39026030218FBF00208FB3001CE1 +:107DD0008FB200188FB100148FB00010000018216E +:107DE0000060102103E0000827BD00283084FFFF59 +:107DF00030A5FFFF1080000700001821308200012D +:107E00001040000200042042006518211480FFFB8E +:107E10000005284003E000080060102110C00007A2 +:107E2000000000008CA2000024C6FFFF24A500046F +:107E3000AC82000014C0FFFB2484000403E00008AF +:107E40000000000010A0000824A3FFFFAC86000083 +:107E500000000000000000002402FFFF2463FFFF79 +:107E60001462FFFA2484000403E00008000000000C +:107E700030A5FFFF8F4201B80440FFFE3C076015AC +:107E800000A730253C031000AF440180AF400184BF +:107E9000AF46018803E00008AF4301B88F8500D0EA +:107EA0002C864000008018218CA700840087102BAE +:107EB00014400010000000008CA800842D06400033 +:107EC00050C0000F240340008CAA0084008A482B75 +:107ED000512000018CA3008400035A42000B208033 +:107EE0003C05080024A558200085182103E000085F +:107EF0008C62000014C0FFF4000000002403400066 +:107F000000035A42000B20803C05080024A558209D +:107F10000085182103E000088C6200008F8300D0E8 +:107F2000906600D024C50001A06500D08F8500D0E8 +:107F3000906400D090A200D210440017000000000E +:107F4000936C00788F8B00BC318A00FFA16A000C13 +:107F500025490001938700C4312200FF3048007F8B +:107F60001107000B00026827A36200788F4E01788A +:107F700005C0FFFE8F9900B0241800023C0F1000CE +:107F8000AF590140A358014403E00008AF4F017806 +:107F90000A000D0931A20080A0A000D00A000CFF49 +:107FA000000000008F8700D027BDFFC8AFBF0030A2 +:107FB000AFB7002CAFB60028AFB50024AFB4002097 +:107FC000AFB3001CAFB20018AFB10014AFB00010D7 +:107FD00094E300E094E200E2104300D72405FFFFA1 +:107FE0003C047FFF3497FFFF2415FF800A000DF04B +:107FF0003C16000E108A00D18FBF00308F9100B068 +:108000003C1808008F18005C001230C0001291402C +:108010000311702101D57824AF4F002C94EC00E2BD +:1080200031CD007F01BA5821318A7FFF0176482186 +:10803000000A804002091021945300003C08080007 +:108040008D0800580246C02132733FFF001319808B +:10805000010320210224282130BF007F03FAC82118 +:1080600000B5A024AF54002C0336A0218E87001049 +:108070008E8F003003785821256D008800EF702323 +:10808000240C0002AE8E0010AF8D00ACA16C0088F5 +:10809000976A003C8E8400308F9100AC0E000CD6A5 +:1080A0003150FFFF00024B80020940253C02420094 +:1080B00001022025AE2400048E8300048F8D00ACC5 +:1080C0008E860000240E0008ADA3001CADA600188B +:1080D000ADA0000CADA00010929F000A33F900FF84 +:1080E000A5B90014968500083C1F000CA5A5001634 +:1080F0009298000A331100FFA5B100209690000865 +:1081000024180005A5B00022ADA00024928F000B1A +:108110002410C00031E700FFA5A70002A1AE0001B6 +:108120008E8C00308F8B00AC8F8400B0AD6C00085B +:108130003C0A08008D4A005401444821013540247E +:10814000AF4800283C0208008C4200540044302113 +:1081500030C3007F007AC821033F282102458821CF +:10816000AF9100BCAF8500C0A23800008F8A00BC70 +:108170002403FFBF2418FFDF954F000201F03824CD +:1081800000F37025A54E0002914D000231AC003F76 +:10819000358B0040A14B00028F8600BC8F8900D038 +:1081A000ACC000048D28007C3C098000ACC80008ED +:1081B00090C4000D3082007FA0C2000D8F8500BCEE +:1081C00090BF000D03E3C824A0B9000D8F9100BC3F +:1081D0009233000D02789024A232000D8E9000346C +:1081E0008F8B00BCAD7000108E87002C8E8F0030FE +:1081F00000EF7023AD6E0014916D001831AC007F5C +:10820000A16C00188F9F00BC8E8A00308FE8001888 +:10821000015720240109302400C41025AFE20018C2 +:108220009283000AA3E3001C969900088F8500BC86 +:108230008F9800D0A4B9001E8E9000308E8400303C +:108240000E0002138F0500848F8500D0000291403C +:108250000002990090AF00BC0253882100403021F9 +:1082600031E7000210E0000302118021000290803B +:108270000212802190B900BC3327000410E00002F4 +:108280000006F880021F80218E9800308F8B00BC82 +:1082900024068000330F0003000F702331CD00034C +:1082A000020D6021AD6C000494A400E294AA00E2E7 +:1082B00094B000E231497FFF2522000130537FFF57 +:1082C0000206182400734025A4A800E294A400E24A +:1082D0003C1408008E94006030917FFF123400221D +:1082E000000000000E000CF6000000008F8700D098 +:1082F0000000282194F300E094F000E21213000F34 +:108300008FBF003090E900D090E800D1313200FFFB +:10831000310400FF0244302B14C0FF36264A00010E +:1083200090EE00D2264B000131CD00FF008D602180 +:10833000158BFF338F9100B08FBF00308FB7002CAB +:108340008FB600288FB500248FB400208FB3001C97 +:108350008FB200188FB100148FB0001000A0102150 +:1083600003E0000827BD003894A300E20066402423 +:10837000A4A800E290A400E290B900E2309100FFCE +:108380000011A1C20014F827001F39C03332007F4A +:10839000024730250A000DE8A0A600E23084FFFF66 +:1083A00030A5FFFFAF440018AF45001C03E00008F4 +:1083B0008F42001427BDFFB8AFB000208F9000D0CF +:1083C0003084FFFFAFA40010AFBF0044AFBE004039 +:1083D000AFB7003CAFB60038AFB50034AFB4003033 +:1083E000AFB3002CAFB20028AFB10024A7A0001893 +:1083F000920600D1920500D030C400FF30A300FFE8 +:108400000064102B10400122AFA00014920900D08C +:108410008FB50010312800FF0088382324F4FFFFB7 +:108420000014882B0015982B02339024524001260B +:108430008FB40014961E0012961F00108FB7001004 +:1084400003DFC823001714000019C400000224032E +:108450000018140302E2B02A52C00001004020219B +:108460000284282B10A0000200801821028018210D +:1084700000033C0000071C033064FFFF2C8600094A +:1084800014C000020060B821241700088E0A0008FA +:10849000001769808E09000C31ABFFFF3C0C001007 +:1084A000016C402527520400AF4A0038AF9200B853 +:1084B000AF49003CAF480030000000000000000061 +:1084C00000000000000000000000000000000000AC +:1084D00000000000000000008F4F000031EE00207F +:1084E00011C0FFFD0017982A027110240A000E83A4 +:1084F0000000B02155E001019258000131130080C5 +:10850000126001CF012020219655001232A5FFFFF5 +:108510000E000CCBA7B500188F9000D00291A023BD +:1085200026CD00018F9100B8000DB4000016B403F1 +:108530002638004002D7582A0014882B2405000151 +:108540000300902101711024AF9800B8AFA500146A +:10855000104001BC8F8900B03C0C08008D8C005489 +:10856000240BFF80921E00D001895021014B28244A +:10857000921900D0AF4500288E4700103C08080033 +:108580008D0800583C1808008F18005430E33FFF56 +:108590000003218001043021012658212402FF809C +:1085A0000162F824920C00D0AF5F002C92480000CA +:1085B00033D100FF333500FF0309982100117140CA +:1085C000001578C0326D007F01CF382101BA282113 +:1085D000318300FF3164007F3C0A000C00AA88212F +:1085E0000367F02100033140009A10213108003F59 +:1085F0003C1F000E00D1C021005F982127D90088C0 +:108600002D150008AF9100C0AF9900ACAF9800BC29 +:10861000AF9300B412A0018A00008821240E00014B +:10862000010E4004310D005D11A0FFB2310F0002B8 +:108630008E4A00283C0300803C04FFEFAE6A000035 +:108640008E450024A260000A3488FFFFAE65000456 +:108650009247002C3C1FFF9F37FEFFFFA267000CD4 +:108660008E62000C3C180040A267000B00433025CE +:1086700000C8C824033E88240238A825AE75000C23 +:108680008E490004AE6000183C0F00FFAE69001474 +:108690008E4D002C35EEFFFF8F8B00B001AE6024B5 +:1086A000AE6C00108E470008A660000896450012C8 +:1086B000AE6700208E42000C30B03FFF00105180AA +:1086C000AE6200248E5E0014014B182130A400011C +:1086D000AE7E00288E590018000331C2000443808A +:1086E000AE79002C8E51001C00C8F821A67F001C1A +:1086F000AE710030965800028E550020A678001EFC +:10870000AE75003492490033313000045600000544 +:10871000925000008F8C00D08D8B007CAE6B0030AF +:10872000925000008F8F00BCA1F00000924E0033E9 +:1087300031CD000251A00007925E00018F8900BC7C +:108740002418FF80913100000311A825A1350000F5 +:10875000925E00018F9900BC2409FFBF240BFFDF4C +:10876000A33E00018F9500BC92B8000D3311007F2D +:10877000A2B1000D8F8E00BC91D0000D02097824AB +:10878000A1CF000D8F8800BC8E6D0014910A000DE2 +:108790002DAC0001000C2940014B382400E51825C0 +:1087A000A103000D964200128F8800BC8F8700D075 +:1087B000A50200028E45000490FF00BC30A4000317 +:1087C0000004302330DE000300BE102133F9000224 +:1087D00017200002244400342444003090E200BCFE +:1087E00000A2302430DF000417E0000224830004DC +:1087F000008018218F8F00AC24090002AD03000413 +:10880000A1E90000924E003F8F8D00ACA1AE0001A7 +:108810008F9500AC924C003F8E440004A6AC000241 +:10882000976B003C0E000CD63170FFFF00025380A6 +:10883000020A38253C05420000E51825AEA30004D5 +:108840008F8600AC8E480038ACC800188E440034C7 +:10885000ACC4001CACC0000CACC00010A4C0001420 +:10886000A4C00016A4C00020A4C00022ACC00024F4 +:108870008E6400145080000124040001ACC4000880 +:108880000E000CF6241100010A000E768F9000D025 +:10889000920F00D2920E00D08FB5001031EB00FF86 +:1088A00031CD00FF008D6023016C50212554FFFF66 +:1088B0000014882B0015982B023390241640FEDDFF +:1088C000000000008FB400148FBF00448FBE004032 +:1088D0003A8200018FB7003C8FB600388FB5003464 +:1088E0008FB400308FB3002C8FB200288FB10024DA +:1088F0008FB0002003E0000827BD0048331100209E +:10890000122000EF24150001921E00BC241F00015C +:108910000000A82133D900011320000DAFBF001CB7 +:108920008E4400148E0800840088102B144000022E +:10893000008030218E0600848E03006400C3A82BC3 +:1089400016A0000200C020218E0400640080A8212F +:108950008E4700148E05006400E5302B14C0000221 +:1089600000E020218E0400640095F02313C0000471 +:108970008FAC001C240A0002AFAA001C8FAC001CA4 +:10898000028C582B156000A8000018218E4F00386B +:108990008E6D000C3C0E0080AE6F00008E4A0034DD +:1089A0003C10FF9F01AE5825AE6A00049246003F7E +:1089B000360CFFFF016C38243C0500203C03FFEF20 +:1089C000A266000B00E510253468FFFF8F8700B812 +:1089D0000048F8243C04000803E4C825AE79000CE4 +:1089E0008CF80014AE60001802BE7821AE78001436 +:1089F0008CF10018AE71001C8CE90008AE690024EF +:108A00008CEE000CAE6F002CAE600028AE6E002025 +:108A1000A6600038A660003A8CED001401B58023F2 +:108A2000021E902312400011AE72001090EA003D29 +:108A30008E6500048E640000000A310000A6C82183 +:108A4000000010210326402B0082F82103E8C021FA +:108A5000AE790004AE78000090F1003DA271000AEA +:108A60008F8900B895320006A67200088F9800AC76 +:108A70002419000202A02021A31900009769003CDC +:108A80008F9200AC0E000CD63131FFFF00027B80CC +:108A90008F8500B8022F68253C0E420001AE80256C +:108AA000AE5000048F8400AC8CAC0038AC8C001845 +:108AB0008CAB0034AC8B001CAC80000CAC80001084 +:108AC000A4800014A4800016A4800020A4800022AA +:108AD000AC80002490A7003FA487000212A00135BB +:108AE0002403000153C0000290A2003D90A2003E6A +:108AF00024480001A08800018F9F00ACAFF500085A +:108B00008F8300D024070034906600BC30C500027B +:108B100050A00001240700308F9200B88F8A00BC5B +:108B2000906D00BC924B00002412C00032A50003DF +:108B3000A14B00008F8600B88F8800BC240200047F +:108B400090C400010045182330790003A1040001FE +:108B50008F8A00BC8F9F00B800F53821955800021D +:108B600097E9001200F9382103128824312F3FFFC2 +:108B7000022F7025A54E00029150000231A800047A +:108B8000320C003F358B0040A14B000212A00002C6 +:108B90008F8500BC00E838218F8E00D0ACA7000480 +:108BA000240BFFBF8DCD007C2EA400012403FFDF2A +:108BB000ACAD000890B0000D00044140320C007FC5 +:108BC000A0AC000D8F8600BC90CA000D014B102494 +:108BD000A0C2000D8F8700BC90E5000D00A3F82413 +:108BE00003E8C825A0F9000D8F9100B88F8D00BC57 +:108BF0008E380020ADB800108E290024ADA90014D5 +:108C00008E2F0028ADAF00188E2E002C0E000CF613 +:108C1000ADAE001C8FB0001C240C0002120C00EE44 +:108C20008F9000D08FA3001C006088211460000288 +:108C30000060A8210000A02156A0FE390291A023C7 +:108C40000014882B8FA90010960700103C1E0020EE +:108C50000136402302C750213112FFFFA60A00103F +:108C6000AFB20010AF5E0030000000009617001099 +:108C7000961300121277008F000000008E05000C82 +:108C80008E0B00080016698000AD7021000DC7C36F +:108C900001CDA82B0178782101F56021AE0E000CE2 +:108CA000AE0C00088FB300100013B82B02378024DD +:108CB0001200FF048F9000D00A000E3C000000005C +:108CC0008E4D0038A6600008240B0003AE6D000036 +:108CD0008E500034A260000A8F9800B8AE70000475 +:108CE0003C0500809311003FA26B000C8E6F000CBE +:108CF0003C0EFF9FA271000B01E5102535CCFFFF54 +:108D00003C03FFEF8F9200B8004C30243464FFFF27 +:108D100000C4F824AE7F000C8E590014964800124F +:108D20008F8A00B0AE7900108E490014AE60001832 +:108D3000AE600020AE690014AE6000248E470018BB +:108D400031093FFF0009F180AE6700288E4D000811 +:108D500003CA802131180001AE6D00308E4F000C27 +:108D60008F8C00AC001089C200185B80022B282178 +:108D7000240E0002A665001CA6600036AE6F002C13 +:108D8000A18E00009763003C8F8A00AC3C04420037 +:108D90003062FFFF00443025AD4600048F9F00B8CD +:108DA000240700012411C0008FF30038240600348A +:108DB000AD5300188FF90034AD59001CAD40000CC4 +:108DC000AD400010A5400014A5400016A5400020AD +:108DD000A5400022AD400024A5550002A147000196 +:108DE0008F9E00AC8F8800B88F9200BCAFD5000872 +:108DF000910D0000A24D00008F9000B88F8B00BC39 +:108E000092180001A17800018F8400BC94850002B3 +:108E100000B1782401E97025A48E0002908C000234 +:108E20003183003FA08300028F8300D08F8400BC79 +:108E3000906200BC305300025260000124060030F2 +:108E4000AC8600048C6F007C2403FFBF02A0882145 +:108E5000AC8F0008908E000D31CC007FA08C000DEF +:108E60008F8600BC90C2000D00432024A0C4000DDA +:108E70008F8900BC913F000D37F90020A139000D0A +:108E80008F8800B88F9300BC8D070020AE6700105C +:108E90008D0A0024AE6A00148D1E0028AE7E0018D4 +:108EA0008D12002C0E000CF6AE72001C0A00103D54 +:108EB0008F9000D0960E00148E03000431CCFFFF7B +:108EC000000C10C000622021AF44003C8E1F000443 +:108ED0008F46003C03E6C8231B20003C0000000036 +:108EE0008E0F000025E200013C05001034B500089B +:108EF000AF420038AF550030000000000000000015 +:108F00000000000000000000000000000000000061 +:108F100000000000000000008F580000330B00200C +:108F20001160FFFD000000008F5304003C0D002085 +:108F3000AE1300088F570404AE17000CAF4D00307D +:108F4000000000003C0608008CC600442416000106 +:108F500010D600BD00000000961F00123C0508005E +:108F60008CA5004000BFC821A61900129609001464 +:108F700025270001A6070014960A00143144FFFFBC +:108F80005486FF498FB30010A60000140E000E1681 +:108F900030A5FFFF3C0408008C84002496030012D7 +:108FA0000044102300623023A60600120A00105964 +:108FB0008FB30010A08300018F8200AC2404000155 +:108FC000AC4400080A000FF08F8300D08E0200002E +:108FD0000A0010EA3C0500108F8200C08FA7001C19 +:108FE000921800D0920B00D0920E00D0331100FFE7 +:108FF000316900FF00117940000928C001E56021B6 +:1090000031C300FF036C50210003314000C2C8216E +:10901000255F0088AF9F00ACAF9900BCA1470088D6 +:109020009768003C03C020218F9100AC0E000CD645 +:109030003110FFFF00026B80020DC0253C0442008E +:109040008F8D00B803045825AE2B00048DA900387D +:109050008F8B00AC0000882100118100AD690018E1 +:109060008DAF00343C087FFF3504FFFFAD6F001C5F +:1090700091AC003E8D65001C8D660018000C190037 +:10908000000C770200A33821020E102500E3F82B14 +:1090900000C2C821033F5021AD67001CAD6A001813 +:1090A000AD60000CAD60001091B8003E24050005D5 +:1090B00003C45024A578001495A9000403C02021FE +:1090C000A569001691AF003EA56F002095B1000480 +:1090D000A5710022AD60002491AE003FA56E000294 +:1090E00091B0003E91AC003D01901023244300015B +:1090F000A16300018F8600AC8F9F00BCACDE00082E +:10910000A3E500008F9000BC8F9900B82405FFBF35 +:1091100096070002973800120247782433093FFF70 +:1091200001E98825A6110002921200022418FFDF2F +:10913000324E003F35CD0040A20D00028F8600BCAC +:109140008F8C00D02412FFFFACC000048D8B007CFC +:109150003C0C8000ACCB000890C2000D3043007F77 +:10916000A0C3000D8F8700BC90FF000D03E5C8244D +:10917000A0F9000D8F9100BC9229000D01387824D0 +:10918000A22F000D8F9000BCAE120010AE1500147F +:10919000920E00182415FF8002AE6825A20D00185B +:1091A0008F8500BC8F8300B88CAB0018016C102435 +:1091B000004A3025ACA600189068003EA0A8001C0C +:1091C0008F9F00B88F8700BC8F9800D097F900045C +:1091D000A4F9001E0E0002138F0500848F8600D0B4 +:1091E000000279400002490090D200BC01E98821C8 +:1091F000004028213255000212A0000303D1202193 +:109200000002A8800095202190CD00BC31B200045E +:109210001240000333DF0003000540800088202156 +:10922000240600048F9E00BC00DFC8233327000300 +:1092300000875021AFCA00040E000CF6A665003866 +:109240000A0010388F9000D0961E00123C080800CB +:109250008D080024011E9021A61200120A00105948 +:109260008FB3001027BDFFE03C1808008F18005096 +:10927000AFB00010AFBF0018AFB10014AF8400B0A2 +:1092800093710074030478212410FF8031EE007F75 +:109290003225007F01F0582401DA68213C0C000AD5 +:1092A000A38500C401AC2821AF4B002494A9001071 +:1092B0009768000690A600620080382124020030E2 +:1092C0000109202330C300F0AF8500D010620019DF +:1092D0003090FFFF90AE0062240DFFF0240A005092 +:1092E00001AE6024318B00FF116A002F00000000E6 +:1092F00016000007241F0C00AF5F00248FB100147C +:109300008FBF00188FB0001003E0000827BD0020B9 +:109310000E000E1C02002021241F0C00AF5F002451 +:109320008FB100148FBF00188FB0001003E0000849 +:1093300027BD002094A200E094A400E290BF011396 +:10934000008218263079FFFF33E700C014E00009DF +:109350002F31000116000038000000005620FFE603 +:10936000241F0C000E000D18000000000A0011ED73 +:10937000241F0C001620FFDE000000000E000D1858 +:10938000000000001440FFDC241F0C001600002227 +:109390008F8300D0906901133122003FA062011336 +:1093A0000A0011ED241F0C0094AF00D48F8600D466 +:1093B00000E02821240400050E000C5C31F0FFFFC2 +:1093C0001440000524030003979100E600001821D3 +:1093D0002625FFFFA78500E68F5801B80700FFFE8E +:1093E0003C196013AF400180241F0C00AF50018472 +:1093F000007938253C101000AF4701888FB1001468 +:10940000AF5001B8AF5F00248FB000108FBF0018BD +:1094100003E0000827BD00200E000E1C02002021E2 +:109420005040FFB5241F0C008F8300D090690113BA +:109430000A0012163122003F0E000E1C02002021ED +:109440001440FFAD241F0C00122000078F8300D0B2 +:10945000906801133106003F34C20040A06201133E +:109460000A0011ED241F0C000E000D180000000072 +:109470005040FFA1241F0C008F8300D0906801137F +:109480003106003F0A00124634C20040AF9B00C8BC +:1094900003E00008AF8000EC3089FFFF0009404284 +:1094A0002D020041000921801440000200095040B3 +:1094B00024080040000830C0000811400046582130 +:1094C000256701A800E2C821272F007F2418FF800C +:1094D00001F818240064302100CA702125CC00FF57 +:1094E000240DFF00018D202425650088240A0088B2 +:1094F0003C010800AC2A004C3C010800AC2500509F +:10950000AF8400D43C010800AC2900603C01080095 +:10951000AC2800643C010800AC2700543C01080062 +:10952000AC2300583C010800AC26005C03E00008B6 +:1095300000000000308300FF30C6FFFF30E400FF72 +:109540008F4201B80440FFFE00034C00012438257F +:109550003C08600000E820253C031000AF45018076 +:10956000AF460184AF44018803E00008AF4301B86F +:109570008F86001C3C096012352700108CCB00043C +:109580003C0C600E35850010316A00062D48000144 +:10959000ACE800C48CC40004ACA431808CC20008C8 +:1095A00094C30002ACA2318403E00008A78300E466 +:1095B0003C0308008C6300508F8400E88F86001CF9 +:1095C0002402FF800064C0210302C824AF59002890 +:1095D0008CCD00043305007F00BA78213C0E000CCE +:1095E00001EE2821ACAD00588CC80008AF8500D032 +:1095F0003C076012ACA8005C8CCC001034E8001072 +:10960000ACAC000C8CCB000CACAB000894AA0014E2 +:109610003C0208008C42004425490001A4A9001422 +:1096200094A400143083FFFF106200178F8400D0D1 +:109630003C0A08008D4A0040A4AA00128CCE0018F3 +:10964000AC8E00248CCD0014AC8D00208CC700188B +:10965000AC87002C8CCC001424060001AC8C0028B4 +:109660008D0B00BC5166001A8D0200B48D0200B84B +:10967000A482003A948F003AA48F003C948800D4CE +:1096800003E000083102FFFF3C0908008D29002497 +:10969000A4A000148F8400D0A4A900128CCE0018BE +:1096A000AC8E00248CCD0014AC8D00208CC700182B +:1096B000AC87002C8CCC001424060001AC8C002854 +:1096C0008D0B00BC5566FFEA8D0200B88D0200B418 +:1096D000A482003A948F003AA48F003C948800D46E +:1096E00003E000083102FFFF8F86001C3C0C0800DD +:1096F0008D8C0050240BFF808CCD00083C03000CA7 +:10970000000D51C0018A4021010B4824AF8A00E8B6 +:10971000AF49002890C700073105007F00BA10212B +:109720000043282130E4000410800039AF8500D0C8 +:1097300090CF000731EE000811C000380000000093 +:109740008CD9000C8CC400140324C02B13000030EF +:10975000000000008CC2000CACA200648CCD00188C +:109760002402FFF8ACAD00688CCC0010ACAC0080DB +:109770008CCB000CACAB00848CCA001CACAA007C67 +:1097800090A900BC01224024A0A800BC90C30007FF +:109790003067000810E000048F8500D090AF00BC57 +:1097A00035EE0001A0AE00BC90D9000733380001AF +:1097B000130000088F8300D08F8700D0240400346A +:1097C00090E800BC35030002A0E300BC8F8300D00A +:1097D000AC6400C090C900073126000210C000052B +:1097E00000000000906A00BC35420004A06200BC8A +:1097F0008F8300D09065011330AD003FA06D011341 +:109800008F8C00D0958B00D403E000083162FFFFFD +:109810008CC200140A001305000000000A001306A1 +:10982000ACA0006427BDFFD8AFB000108F90001C23 +:10983000AFBF0024AFB40020AFB20018AFB1001426 +:10984000AFB3001C9613000E3C07600A3C14600680 +:109850003264FFFF369300100E00125534F40410EA +:109860008F8400D43C11600E0E00099B363100102D +:10987000920E00153C0708008CE700603C12601255 +:1098800031CD000FA38D00F08E0E00048E0D000868 +:1098900096080012961F00109619001A9618001EBE +:1098A000960F001C310CFFFF33EBFFFF332AFFFF45 +:1098B0003309FFFF31E6FFFF3C010800AC2B0040FD +:1098C0003C010800AC2C00243C010800AC2A0044F8 +:1098D000AE293178AE26317C92020015960300162F +:1098E00036520010304400FF3065FFFF3C06080090 +:1098F0008CC60064AE243188AE4500B492080014D2 +:1099000096190018241F0001011FC004332FFFFF08 +:109910003C0508008CA50058AE5800B8AE4F00BCFE +:10992000920C0014AF8E00D8AF8D00DC318B00FF9D +:10993000AE4B00C0920A0015AE670048AE66004C00 +:10994000314900FFAE4900C8AE65007C3C03080009 +:109950008C6300503C0408008C84004C3C080800D8 +:109960008D0800543C0208008C42005C8FBF00242C +:10997000AE6300808FB00010AE8300748FB3001C04 +:10998000AE22319CAE4200DCAE2731A0AE2631A41F +:10999000AE24318CAE233190AE283194AE2531986F +:1099A000AE870050AE860054AE8500708FB10014B3 +:1099B000AE4700E0AE4600E4AE4400CCAE4300D07B +:1099C000AE4800D4AE4500D88FB400208FB2001846 +:1099D00003E0000827BD002827BDFFE0AFB1001459 +:1099E000AFBF0018241100010E000845AFB00010F1 +:1099F00010510005978400E6978300CC0083102B5C +:109A0000144000088F8500D4240700028FBF00187F +:109A10008FB100148FB0001000E0102103E00008A7 +:109A200027BD00200E000C7A24040005AF8200E858 +:109A30001040FFF6240700020E0008498F90001C1A +:109A4000979F00E68F9900E88F8D00C827EF0001EF +:109A5000240E0050AF590020A78F00E6A1AE0000F1 +:109A60003C0C08008D8C00648F8600C8240A80009E +:109A7000000C5E00ACCB0074A4C0000694C9000AC0 +:109A8000241FFF803C0D000C012AC024A4D8000A2A +:109A900090C8000A24182000011F1825A0C3000A3E +:109AA0008F8700C8A0E000788F8500C800003821AB +:109AB000A0A000833C0208008C4200508F8400E884 +:109AC0000044782101FFC824AF590028960B0002FA +:109AD00031EE007F01DA6021018D3021A4CB00D46A +:109AE000960A0002AF8600D03C0E000425492401EE +:109AF000A4C900E68E080004ACC800048E03000868 +:109B0000ACC30000A4C00010A4C00014A0C000D0CA +:109B10008F8500D02403FFBFA0A000D13C04080023 +:109B20008C8400648F8200D0A04400D28E1F000C71 +:109B30008F8A00D0978F00E4AD5F001C8E19001053 +:109B400024100030AD590018A5400030A551005434 +:109B5000A5510056A54F0016AD4E0068AD580080C7 +:109B6000AD580084914D006231AC000F358B001070 +:109B7000A14B00628F8600D090C900633128007F1E +:109B8000A0C800638F8400D02406FFFF9085006387 +:109B900000A31024A08200638F9100D000E0102168 +:109BA000923F00BC37F90001A23900BC8F8A00D077 +:109BB000938F00F0AD580064AD5000C0914E00D3BB +:109BC000000F690031CC000F018D5825A14B00D347 +:109BD0008F8500D08F8900DCACA900E88F8800D881 +:109BE0008FBF00188FB100148FB0001027BD002068 +:109BF000ACA800ECA4A600D6A4A000E0A4A000E2BB +:109C000003E000080000000027BDFFE0AFB0001037 +:109C10008F90001CAFB10014AFBF00188E19000464 +:109C20003C1808008F180050240FFF80001989C0CD +:109C30000238702131CD007F01CF602401BA50215C +:109C40003C0B000CAF4C0028014B4021950900D47F +:109C5000950400D68E0700043131FFFFAF8800D095 +:109C60000E000913000721C08E0600048F8300C870 +:109C7000000629C0AF4500209064003E30820040BD +:109C8000144000068F8400D0341FFFFF948300D659 +:109C90003062FFFF145F000400000000948400D6CF +:109CA0000E0008A83084FFFF8E050004022030213A +:109CB0008FBF00188FB100148FB000102404002251 +:109CC00000003821000529C00A00127C27BD0020B1 +:109CD00027BDFFE0AFB100143091FFFFAFB000101F +:109CE000AFBF00181220001D000080218F86001CCD +:109CF0008CC500002403000600053F020005140285 +:109D000030E4000714830015304500FF2CA800063E +:109D10001100004D000558803C0C0800258C57D4DC +:109D2000016C50218D490000012000080000000056 +:109D30008F8E00EC240D000111CD005900000000B1 +:109D4000260B00013170FFFF24CA00200211202BD6 +:109D5000014030211480FFE6AF8A001C0200102170 +:109D60008FBF00188FB100148FB0001003E00008FF +:109D700027BD0020938700CE14E00038240400148F +:109D80000E001338000000008F86001C2402000122 +:109D90000A00147FAF8200EC8F8900EC24080002D7 +:109DA0001128003B2404001300002821000030216A +:109DB000240700010E00127C000000000A00147F3E +:109DC0008F86001C8F8700EC2405000214E5FFF647 +:109DD000240400120E0012E9000000008F8500E844 +:109DE00000403021240400120E00127C00003821B3 +:109DF0000A00147F8F86001C8F8300EC241F000351 +:109E0000147FFFD0260B00010E00129B0000000003 +:109E10008F8500E800403021240200022404001055 +:109E200000003821AF8200EC0E00127C0000000020 +:109E30000A00147F8F86001C8F8F00EC240600021E +:109E400011E6000B0000000024040010000028218F +:109E5000000030210A00149C240700010000282182 +:109E60000E00127C000030210A00147F8F86001C37 +:109E70000E0013A500000000144000128F99001C72 +:109E80008F86001C240200030A00147FAF8200ECBE +:109E90000E001431000000000A00147F8F86001CA1 +:109EA0000E00128B000000002402000224040014A3 +:109EB0000000282100003021000038210A0014B9D8 +:109EC000AF8200EC004038212404001097380002D3 +:109ED000000028210E00127C3306FFFF0A00147FC9 +:109EE0008F86001C8F8400C83C077FFF34E6FFFF8D +:109EF0008C8500742402000100A61824AC83007431 +:109F000003E00008A082000510A000362CA200800B +:109F1000274A04003C0B000524090080104000077C +:109F20002408008030A6000F00C540212D030081C9 +:109F30001460000200A0482124080080AF4B0030CC +:109F400000000000000000000000000011000009F7 +:109F500000003821014030218C8D000024E70004EE +:109F600000E8602BACCD0000248400041580FFFACB +:109F700024C60004000000000000000000000000F3 +:109F80003C0E0006010E3825AF47003000000000EF +:109F900000000000000000008F4F000031E80010BA +:109FA0001100FFFD000000008F42003C8F43003C89 +:109FB0000049C8210323C02B130000040000000047 +:109FC0008F4C003825860001AF4600388F47003C93 +:109FD00000A9282300E96821AF4D003C14A0FFCE62 +:109FE0002CA2008003E000080000000027BDFFD085 +:109FF0003C020002AFB100143C11000CAF45003828 +:10A00000AFB3001CAF46003C00809821AF42003047 +:10A0100024050088AF44002803512021AFBF002849 +:10A02000AFB50024AFB40020AFB200180E0014F199 +:10A03000AFB000103C1F08008FFF004C3C18080018 +:10A040008F1800642410FF8003F3A82132B9007F29 +:10A0500002B078240018A0C0033A70210018914083 +:10A0600001D12021AF4F00280E0014F10254282105 +:10A070003C0D08008DAD00502405012001B358218E +:10A08000316C007F01705024019A48210131202158 +:10A090000E0014F1AF4A00283C0808008D08005457 +:10A0A0003C0508008CA500640113382130E6007FD0 +:10A0B00000F0182400DA202100912021AF4300286D +:10A0C0000E0014F1000529403C0208008C420058A3 +:10A0D0003C1008008E1000601200001C0053882104 +:10A0E0002415FF800A0015743C14000C3226007FF2 +:10A0F0000235182400DA202102402821AF4300282D +:10A10000009420210E0014F12610FFC01200000F51 +:10A11000023288212E05004110A0FFF42412100005 +:10A120003226007F001091800235182400DA2021A9 +:10A1300002402821AF430028009420210E0014F192 +:10A14000000080211600FFF3023288213C0B08003A +:10A150008D6B005C240AFF802405000201734021FE +:10A16000010A4824AF4900283C0408009484006296 +:10A170003110007F021A88213C07000C0E000CAA47 +:10A180000227982100402821026020218FBF00284B +:10A190008FB500248FB400208FB3001C8FB200183D +:10A1A0008FB100148FB000100A0014F127BD0030E9 +:10A1B0008F83001C8C62000410400003000000002C +:10A1C00003E00008000000008C6400108C650008AB +:10A1D0000A00152A8C66000C000000000000001B1D +:10A1E0000000000F0000000A000000080000000648 +:10A1F000000000050000000500000004000000044D +:10A200000000000300000003000000030000000342 +:10A210000000000300000002000000020000000235 +:10A220000000000200000002000000020000000226 +:10A230000000000200000002000000020000000216 +:10A240000000000200000002000000020000000206 +:10A2500000000001000000010000000108000F24C0 +:10A2600008000D6C08000FB80800106008000F4CC3 +:10A2700008000F8C0800119408000D88080011B820 +:10A2800008000DD8080015540800151C08000D889A +:10A2900008000D8808000D880800124008001240D0 +:10A2A00008000D8808000D88080014E008000D88DB +:10A2B00008000D8808000D8808000D88080013B4F8 +:10A2C00008000D8808000D8808000D8808000D881A +:10A2D00008000D8808000D8808000D8808000D880A +:10A2E00008000D8808000D8808000D8808000D88FA +:10A2F00008000D8808000D8808000FAC08000D88C4 +:10A3000008000D880800167808000D8808000D88E0 +:10A3100008000D8808000D8808000D8808000D88C9 +:10A3200008000D8808000D8808000D8808000D88B9 +:10A3300008000D8808000D8808000D8808000D88A9 +:10A3400008000D8808000D8808000D88080014100A +:10A3500008000D8808000D8808001334080012A4B6 +:10A3600008001E2C08001EFC08001F1408001F28EF +:10A3700008001F3808001E2C08001E2C08001E2C88 +:10A3800008001ED808002E1408002E1C08002DE41A +:10A3900008002DF008002DFC08002E08080052F4DB +:10A3A000080052B40800528008005254080052308D +:10A3B000080051EC0A000C840000000000000000BE +:10A3C0000000000D727870362E322E33000000002F +:10A3D000060203030000000000000001000000006E +:10A3E000000000000000000000000000000000006D +:10A3F000000000000000000000000000000000005D +:10A40000000000000000000000000000000000004C +:10A41000000000000000000000000000000000003C +:10A42000000000000000000000000000000000002C +:10A43000000000000000000000000000000000001C +:10A44000000000000000000000000000000000000C +:10A4500000000000000000000000000000000000FC +:10A4600000000000000000000000000000000000EC +:10A4700000000000000000000000000000000000DC +:10A4800000000000000000000000000000000000CC +:10A4900000000000000000000000000000000000BC +:10A4A00000000000000000000000000000000000AC +:10A4B000000000000000000000000000000000009C +:10A4C000000000000000000000000000000000008C +:10A4D000000000000000000000000000000000007C +:10A4E000000000000000000000000000000000006C +:10A4F000000000000000000000000000000000005C +:10A50000000000000000000000000000000000004B +:10A51000000000000000000000000000000000003B +:10A52000000000000000000000000000000000002B +:10A53000000000000000000000000000000000001B +:10A54000000000000000000000000000000000000B +:10A5500000000000000000000000000000000000FB +:10A5600000000000000000000000000000000000EB +:10A5700000000000000000000000000000000000DB +:10A5800000000000000000000000000000000000CB +:10A5900000000000000000000000000000000000BB +:10A5A00000000000000000000000000000000000AB +:10A5B000000000000000000000000000000000009B +:10A5C000000000000000000000000000000000008B +:10A5D000000000000000000000000000000000007B +:10A5E000000000000000000000000000000000006B +:10A5F000000000000000000000000000000000005B +:10A60000000000000000000000000000000000004A +:10A61000000000000000000000000000000000003A +:10A62000000000000000000000000000000000002A +:10A63000000000000000000000000000000000001A +:10A64000000000000000000000000000000000000A +:10A6500000000000000000000000000000000000FA +:10A6600000000000000000000000000000000000EA +:10A6700000000000000000000000000000000000DA +:10A6800000000000000000000000000000000000CA +:10A6900000000000000000000000000000000000BA +:10A6A00000000000000000000000000000000000AA +:10A6B000000000000000000000000000000000009A +:10A6C000000000000000000000000000000000008A +:10A6D000000000000000000000000000000000007A +:10A6E000000000000000000000000000000000006A +:10A6F000000000000000000000000000000000005A +:10A700000000000000000000000000000000000049 +:10A710000000000000000000000000000000000039 +:10A720000000000000000000000000000000000029 +:10A730000000000000000000000000000000000019 +:10A740000000000000000000000000000000000009 +:10A7500000000000000000000000000000000000F9 +:10A7600000000000000000000000000000000000E9 +:10A7700000000000000000000000000000000000D9 +:10A7800000000000000000000000000000000000C9 +:10A7900000000000000000000000000000000000B9 +:10A7A00000000000000000000000000000000000A9 +:10A7B0000000000000000000000000000000000099 +:10A7C0000000000000000000000000000000000089 +:10A7D0000000000000000000000000000000000079 +:10A7E0000000000000000000000000000000000069 +:10A7F0000000000000000000000000000000000059 +:10A800000000000000000000000000000000000048 +:10A810000000000000000000000000000000000038 +:10A820000000000000000000000000000000000028 +:10A830000000000000000000000000000000000018 +:10A840000000000000000000000000000000000008 +:10A8500000000000000000000000000000000000F8 +:10A8600000000000000000000000000000000000E8 +:10A8700000000000000000000000000000000000D8 +:10A8800000000000000000000000000000000000C8 +:10A8900000000000000000000000000000000000B8 +:10A8A00000000000000000000000000000000000A8 +:10A8B0000000000000000000000000000000000098 +:10A8C0000000000000000000000000000000000088 +:10A8D0000000000000000000000000000000000078 +:10A8E0000000000000000000000000000000000068 +:10A8F0000000000000000000000000000000000058 +:10A900000000000000000000000000000000000047 +:10A910000000000000000000000000000000000037 +:10A920000000000000000000000000000000000027 +:10A930000000000000000000000000000000000017 +:10A940000000000000000000000000000000000007 +:10A9500000000000000000000000000000000000F7 +:10A9600000000000000000000000000000000000E7 +:10A9700000000000000000000000000000000000D7 +:10A9800000000000000000000000000000000000C7 +:10A9900000000000000000000000000000000000B7 +:10A9A00000000000000000000000000000000000A7 +:10A9B0000000000000000000000000000000000097 +:10A9C0000000000000000000000000000000000087 +:10A9D0000000000000000000000000000000000077 +:10A9E0000000000000000000000000000000000067 +:10A9F0000000000000000000000000000000000057 +:10AA00000000000000000000000000000000000046 +:10AA10000000000000000000000000000000000036 +:10AA20000000000000000000000000000000000026 +:10AA30000000000000000000000000000000000016 +:10AA40000000000000000000000000000000000006 +:10AA500000000000000000000000000000000000F6 +:10AA600000000000000000000000000000000000E6 +:10AA700000000000000000000000000000000000D6 +:10AA800000000000000000000000000000000000C6 +:10AA900000000000000000000000000000000000B6 +:10AAA00000000000000000000000000000000000A6 +:10AAB0000000000000000000000000000000000096 +:10AAC0000000000000000000000000000000000086 +:10AAD0000000000000000000000000000000000076 +:10AAE0000000000000000000000000000000000066 +:10AAF0000000000000000000000000000000000056 +:10AB00000000000000000000000000000000000045 +:10AB10000000000000000000000000000000000035 +:10AB20000000000000000000000000000000000025 +:10AB30000000000000000000000000000000000015 +:10AB40000000000000000000000000000000000005 +:10AB500000000000000000000000000000000000F5 +:10AB600000000000000000000000000000000000E5 +:10AB700000000000000000000000000000000000D5 +:10AB800000000000000000000000000000000000C5 +:10AB900000000000000000000000000000000000B5 +:10ABA00000000000000000000000000000000000A5 +:10ABB0000000000000000000000000000000000095 +:10ABC0000000000000000000000000000000000085 +:10ABD0000000000000000000000000000000000075 +:10ABE0000000000000000000000000000000000065 +:10ABF0000000000000000000000000000000000055 +:10AC00000000000000000000000000000000000044 +:10AC10000000000000000000000000000000000034 +:10AC20000000000000000000000000000000000024 +:10AC30000000000000000000000000000000000014 +:10AC40000000000000000000000000000000000004 +:10AC500000000000000000000000000000000000F4 +:10AC600000000000000000000000000000000000E4 +:10AC700000000000000000000000000000000000D4 +:10AC800000000000000000000000000000000000C4 +:10AC900000000000000000000000000000000000B4 +:10ACA00000000000000000000000000000000000A4 +:10ACB0000000000000000000000000000000000094 +:10ACC0000000000000000000000000000000000084 +:10ACD0000000000000000000000000000000000074 +:10ACE0000000000000000000000000000000000064 +:10ACF0000000000000000000000000000000000054 +:10AD00000000000000000000000000000000000043 +:10AD10000000000000000000000000000000000033 +:10AD20000000000000000000000000000000000023 +:10AD30000000000000000000000000000000000013 +:10AD40000000000000000000000000000000000003 +:10AD500000000000000000000000000000000000F3 +:10AD600000000000000000000000000000000000E3 +:10AD700000000000000000000000000000000000D3 +:10AD800000000000000000000000000000000000C3 +:10AD900000000000000000000000000000000000B3 +:10ADA00000000000000000000000000000000000A3 +:10ADB0000000000000000000000000000000000093 +:10ADC0000000000000000000000000000000000083 +:10ADD0000000000000000000000000000000000073 +:10ADE0000000000000000000000000000000000063 +:10ADF0000000000000000000000000000000000053 +:10AE00000000000000000000000000000000000042 +:10AE10000000000000000000000000000000000032 +:10AE20000000000000000000000000000000000022 +:10AE30000000000000000000000000000000000012 +:10AE40000000000000000000000000000000000002 +:10AE500000000000000000000000000000000000F2 +:10AE600000000000000000000000000000000000E2 +:10AE700000000000000000000000000000000000D2 +:10AE800000000000000000000000000000000000C2 +:10AE900000000000000000000000000000000000B2 +:10AEA00000000000000000000000000000000000A2 +:10AEB0000000000000000000000000000000000092 +:10AEC0000000000000000000000000000000000082 +:10AED0000000000000000000000000000000000072 +:10AEE0000000000000000000000000000000000062 +:10AEF0000000000000000000000000000000000052 +:10AF00000000000000000000000000000000000041 +:10AF10000000000000000000000000000000000031 +:10AF20000000000000000000000000000000000021 +:10AF30000000000000000000000000000000000011 +:10AF40000000000000000000000000000000000001 +:10AF500000000000000000000000000000000000F1 +:10AF600000000000000000000000000000000000E1 +:10AF700000000000000000000000000000000000D1 +:10AF800000000000000000000000000000000000C1 +:10AF900000000000000000000000000000000000B1 +:10AFA00000000000000000000000000000000000A1 +:10AFB0000000000000000000000000000000000091 +:10AFC0000000000000000000000000000000000081 +:10AFD0000000000000000000000000000000000071 +:10AFE0000000000000000000000000000000000061 +:10AFF0000000000000000000000000000000000051 +:10B000000000000000000000000000000000000040 +:10B010000000000000000000000000000000000030 +:10B020000000000000000000000000000000000020 +:10B030000000000000000000000000000000000010 +:10B040000000000000000000000000000000000000 +:10B0500000000000000000000000000000000000F0 +:10B0600000000000000000000000000000000000E0 +:10B0700000000000000000000000000000000000D0 +:10B0800000000000000000000000000000000000C0 +:10B0900000000000000000000000000000000000B0 +:10B0A00000000000000000000000000000000000A0 +:10B0B0000000000000000000000000000000000090 +:10B0C0000000000000000000000000000000000080 +:10B0D0000000000000000000000000000000000070 +:10B0E0000000000000000000000000000000000060 +:10B0F0000000000000000000000000000000000050 +:10B10000000000000000000000000000000000003F +:10B11000000000000000000000000000000000002F +:10B12000000000000000000000000000000000001F +:10B13000000000000000000000000000000000000F +:10B1400000000000000000000000000000000000FF +:10B1500000000000000000000000000000000000EF +:10B1600000000000000000000000000000000000DF +:10B1700000000000000000000000000000000000CF +:10B1800000000000000000000000000000000000BF +:10B1900000000000000000000000000000000000AF +:10B1A000000000000000000000000000000000009F +:10B1B000000000000000000000000000000000008F +:10B1C000000000000000000000000000000000007F +:10B1D000000000000000000000000000000000006F +:10B1E000000000000000000000000000000000005F +:10B1F000000000000000000000000000000000004F +:10B20000000000000000000000000000000000003E +:10B21000000000000000000000000000000000002E +:10B22000000000000000000000000000000000001E +:10B23000000000000000000000000000000000000E +:10B2400000000000000000000000000000000000FE +:10B2500000000000000000000000000000000000EE +:10B2600000000000000000000000000000000000DE +:10B2700000000000000000000000000000000000CE +:10B2800000000000000000000000000000000000BE +:10B2900000000000000000000000000000000000AE +:10B2A000000000000000000000000000000000009E +:10B2B000000000000000000000000000000000008E +:10B2C000000000000000000000000000000000007E +:10B2D000000000000000000000000000000000006E +:10B2E000000000000000000000000000000000005E +:10B2F000000000000000000000000000000000004E +:10B30000000000000000000000000000000000003D +:10B31000000000000000000000000000000000002D +:10B32000000000000000000000000000000000001D +:10B33000000000000000000000000000000000000D +:10B3400000000000000000000000000000000000FD +:10B3500000000000000000000000000000000000ED +:10B3600000000000000000000000000000000000DD +:10B3700000000000000000000000000000000000CD +:10B3800000000000000000000000000000000000BD +:10B3900000000000000000000000000000000000AD +:10B3A000000000000000000000000000000000009D +:10B3B000000000000000000000000000000000008D +:10B3C000000000000000000000000000000000007D +:10B3D000000000000000000000000000000000006D +:10B3E000000000000000000000000000000000005D +:10B3F000000000000000000000000000000000004D +:10B40000000000000000000000000000000000003C +:10B41000000000000000000000000000000000002C +:10B42000000000000000000000000000000000001C +:10B43000000000000000000000000000000000000C +:10B4400000000000000000000000000000000000FC +:10B4500000000000000000000000000000000000EC +:10B4600000000000000000000000000000000000DC +:10B4700000000000000000000000000000000000CC +:10B4800000000000000000000000000000000000BC +:10B4900000000000000000000000000000000000AC +:10B4A000000000000000000000000000000000009C +:10B4B000000000000000000000000000000000008C +:10B4C000000000000000000000000000000000007C +:10B4D000000000000000000000000000000000006C +:10B4E000000000000000000000000000000000005C +:10B4F000000000000000000000000000000000004C +:10B50000000000000000000000000000000000003B +:10B51000000000000000000000000000000000002B +:10B52000000000000000000000000000000000001B +:10B53000000000000000000000000000000000000B +:10B5400000000000000000000000000000000000FB +:10B5500000000000000000000000000000000000EB +:10B5600000000000000000000000000000000000DB +:10B5700000000000000000000000000000000000CB +:10B5800000000000000000000000000000000000BB +:10B5900000000000000000000000000000000000AB +:10B5A000000000000000000000000000000000009B +:10B5B000000000000000000000000000000000008B +:10B5C000000000000000000000000000000000007B +:10B5D000000000000000000000000000000000006B +:10B5E000000000000000000000000000000000005B +:10B5F000000000000000000000000000000000004B +:10B60000000000000000000000000000000000003A +:10B61000000000000000000000000000000000002A +:10B62000000000000000000000000000000000001A +:10B63000000000000000000000000000000000000A +:10B6400000000000000000000000000000000000FA +:10B6500000000000000000000000000000000000EA +:10B6600000000000000000000000000000000000DA +:10B6700000000000000000000000000000000000CA +:10B6800000000000000000000000000000000000BA +:10B6900000000000000000000000000000000000AA +:10B6A000000000000000000000000000000000009A +:10B6B000000000000000000000000000000000008A +:10B6C000000000000000000000000000000000007A +:10B6D000000000000000000000000000000000006A +:10B6E000000000000000000000000000000000005A +:10B6F000000000000000000000000000000000004A +:10B700000000000000000000000000000000000039 +:10B710000000000000000000000000000000000029 +:10B720000000000000000000000000000000000019 +:10B730000000000000000000000000000000000009 +:10B7400000000000000000000000000000000000F9 +:10B7500000000000000000000000000000000000E9 +:10B7600000000000000000000000000000000000D9 +:10B7700000000000000000000000000000000000C9 +:10B7800000000000000000000000000000000000B9 +:10B7900000000000000000000000000000000000A9 +:10B7A0000000000000000000000000000000000099 +:10B7B0000000000000000000000000000000000089 +:10B7C0000000000000000000000000000000000079 +:10B7D0000000000000000000000000000000000069 +:10B7E0000000000000000000000000000000000059 +:10B7F0000000000000000000000000000000000049 +:10B800000000000000000000000000000000000038 +:10B810000000000000000000000000000000000028 +:10B820000000000000000000000000000000000018 +:10B830000000000000000000000000000000000008 +:10B8400000000000000000000000000000000000F8 +:10B8500000000000000000000000000000000000E8 +:10B8600000000000000000000000000000000000D8 +:10B8700000000000000000000000000000000000C8 +:10B8800000000000000000000000000000000000B8 +:10B8900000000000000000000000000000000000A8 +:10B8A0000000000000000000000000000000000098 +:10B8B0000000000000000000000000000000000088 +:10B8C0000000000000000000000000000000000078 +:10B8D0000000000000000000000000000000000068 +:10B8E0000000000000000000000000000000000058 +:10B8F0000000000000000000000000000000000048 +:10B900000000000000000000000000000000000037 +:10B910000000000000000000000000000000000027 +:10B920000000000000000000000000000000000017 +:10B930000000000000000000000000000000000007 +:10B9400000000000000000000000000000000000F7 +:10B9500000000000000000000000000000000000E7 +:10B9600000000000000000000000000000000000D7 +:10B9700000000000000000000000000000000000C7 +:10B9800000000000000000000000000000000000B7 +:10B9900000000000000000000000000000000000A7 +:10B9A0000000000000000000000000000000000097 +:10B9B0000000000000000000000000000000000087 +:10B9C0000000000000000000000000000000000077 +:10B9D0000000000000000000000000000000000067 +:10B9E0000000000000000000000000000000000057 +:10B9F0000000000000000000000000000000000047 +:10BA00000000000000000000000000000000000036 +:10BA10000000000000000000000000000000000026 +:10BA20000000000000000000000000000000000016 +:10BA30000000000000000000000000000000000006 +:10BA400000000000000000000000000000000000F6 +:10BA500000000000000000000000000000000000E6 +:10BA600000000000000000000000000000000000D6 +:10BA700000000000000000000000000000000000C6 +:10BA800000000000000000000000000000000000B6 +:10BA900000000000000000000000000000000000A6 +:10BAA0000000000000000000000000000000000096 +:10BAB0000000000000000000000000000000000086 +:10BAC0000000000000000000000000000000000076 +:10BAD0000000000000000000000000000000000066 +:10BAE0000000000000000000000000000000000056 +:10BAF0000000000000000000000000000000000046 +:10BB00000000000000000000000000000000000035 +:10BB10000000000000000000000000000000000025 +:10BB20000000000000000000000000000000000015 +:10BB30000000000000000000000000000000000005 +:10BB400000000000000000000000000000000000F5 +:10BB500000000000000000000000000000000000E5 +:10BB600000000000000000000000000000000000D5 +:10BB700000000000000000000000000000000000C5 +:10BB800000000000000000000000000000000000B5 +:10BB900000000000000000000000000000000000A5 +:10BBA0000000000000000000000000000000000095 +:10BBB0000000000000000000000000000000000085 +:10BBC0000000000000000000000000000000000075 +:10BBD0000000000000000000000000000000000065 +:10BBE0000000000000000000000000000000000055 +:10BBF0000000000000000000000000000000000045 +:10BC00000000000000000000000000000000000034 +:10BC10000000000000000000000000000000000024 +:10BC20000000000000000000000000000000000014 +:10BC30000000000000000000000000000000000004 +:10BC400000000000000000000000000000000000F4 +:10BC500000000000000000000000000000000000E4 +:10BC600000000000000000000000000000000000D4 +:10BC700000000000000000000000000000000000C4 +:10BC800000000000000000000000000000000000B4 +:10BC900000000000000000000000000000000000A4 +:10BCA0000000000000000000000000000000000094 +:10BCB0000000000000000000000000000000000084 +:10BCC0000000000000000000000000000000000074 +:10BCD0000000000000000000000000000000000064 +:10BCE0000000000000000000000000000000000054 +:10BCF0000000000000000000000000000000000044 +:10BD00000000000000000000000000000000000033 +:10BD10000000000000000000000000000000000023 +:10BD20000000000000000000000000000000000013 +:10BD30000000000000000000000000000000000003 +:10BD400000000000000000000000000000000000F3 +:10BD500000000000000000000000000000000000E3 +:10BD600000000000000000000000000000000000D3 +:10BD700000000000000000000000000000000000C3 +:10BD800000000000000000000000000000000000B3 +:10BD900000000000000000000000000000000000A3 +:10BDA0000000000000000000000000000000000093 +:10BDB0000000000000000000000000000000000083 +:10BDC0000000000000000000000000000000000073 +:10BDD0000000000000000000000000000000000063 +:10BDE0000000000000000000000000000000000053 +:10BDF0000000000000000000000000000000000043 +:10BE00000000000000000000000000000000000032 +:10BE10000000000000000000000000000000000022 +:10BE20000000000000000000000000000000000012 +:10BE30000000000000000000000000000000000002 +:10BE400000000000000000000000000000000000F2 +:10BE500000000000000000000000000000000000E2 +:10BE600000000000000000000000000000000000D2 +:10BE700000000000000000000000000000000000C2 +:10BE800000000000000000000000000000000000B2 +:10BE900000000000000000000000000000000000A2 +:10BEA0000000000000000000000000000000000092 +:10BEB0000000000000000000000000000000000082 +:10BEC0000000000000000000000000000000000072 +:10BED0000000000000000000000000000000000062 +:10BEE0000000000000000000000000000000000052 +:10BEF0000000000000000000000000000000000042 +:10BF00000000000000000000000000000000000031 +:10BF10000000000000000000000000000000000021 +:10BF20000000000000000000000000000000000011 +:10BF30000000000000000000000000000000000001 +:10BF400000000000000000000000000000000000F1 +:10BF500000000000000000000000000000000000E1 +:10BF600000000000000000000000000000000000D1 +:10BF700000000000000000000000000000000000C1 +:10BF800000000000000000000000000000000000B1 +:10BF900000000000000000000000000000000000A1 +:10BFA0000000000000000000000000000000000091 +:10BFB0000000000000000000000000000000000081 +:10BFC0000000000000000000000000000000000071 +:10BFD0000000000000000000000000000000000061 +:10BFE0000000000000000000000000000000000051 +:10BFF0000000000000000000000000000000000041 +:10C000000000000000000000000000000000000030 +:10C010000000000000000000000000000000000020 +:10C020000000000000000000000000000000000010 +:10C030000000000000000000000000000000000000 +:10C0400000000000000000000000000000000000F0 +:10C0500000000000000000000000000000000000E0 +:10C0600000000000000000000000000000000000D0 +:10C0700000000000000000000000000000000000C0 +:10C0800000000000000000000000000000000000B0 +:10C0900000000000000000000000000000000000A0 +:10C0A0000000000000000000000000000000000090 +:10C0B0000000000000000000000000000000000080 +:10C0C0000000000000000000000000000000000070 +:10C0D0000000000000000000000000000000000060 +:10C0E0000000000000000000000000000000000050 +:10C0F0000000000000000000000000000000000040 +:10C10000000000000000000000000000000000002F +:10C11000000000000000000000000000000000001F +:10C12000000000000000000000000000000000000F +:10C1300000000000000000000000000000000000FF +:10C1400000000000000000000000000000000000EF +:10C1500000000000000000000000000000000000DF +:10C1600000000000000000000000000000000000CF +:10C1700000000000000000000000000000000000BF +:10C1800000000000000000000000000000000000AF +:10C19000000000000000000000000000000000009F +:10C1A000000000000000000000000000000000008F +:10C1B000000000000000000000000000000000007F +:10C1C000000000000000000000000000000000006F +:10C1D000000000000000000000000000000000005F +:10C1E000000000000000000000000000000000004F +:10C1F000000000000000000000000000000000003F +:10C20000000000000000000000000000000000002E +:10C21000000000000000000000000000000000001E +:10C22000000000000000000000000000000000000E +:10C2300000000000000000000000000000000000FE +:10C2400000000000000000000000000000000000EE +:10C2500000000000000000000000000000000000DE +:10C2600000000000000000000000000000000000CE +:10C2700000000000000000000000000000000000BE +:10C2800000000000000000000000000000000000AE +:10C29000000000000000000000000000000000009E +:10C2A000000000000000000000000000000000008E +:10C2B000000000000000000000000000000000007E +:10C2C000000000000000000000000000000000006E +:10C2D000000000000000000000000000000000005E +:10C2E000000000000000000000000000000000004E +:10C2F000000000000000000000000000000000003E +:10C30000000000000000000000000000000000002D +:10C31000000000000000000000000000000000001D +:10C32000000000000000000000000000000000000D +:10C3300000000000000000000000000000000000FD +:10C3400000000000000000000000000000000000ED +:10C3500000000000000000000000000000000000DD +:10C3600000000000000000000000000000000000CD +:10C3700000000000000000000000000000000000BD +:10C3800000000000000000000000000000000000AD +:10C39000000000000000000000000000000000009D +:10C3A000000000000000000000000000000000008D +:10C3B000000000000000000000000000000000007D +:10C3C000000000000000000000000000000000006D +:10C3D000000000000000000000000000000000005D +:10C3E000000000000000000000000000000000004D +:10C3F000000000000000000000000000000000003D +:10C40000000000000000000000000000000000002C +:10C41000000000000000000000000000000000001C +:10C42000000000000000000000000000000000000C +:10C4300000000000000000000000000000000000FC +:10C4400000000000000000000000000000000000EC +:10C4500000000000000000000000000000000000DC +:10C4600000000000000000000000000000000000CC +:10C4700000000000000000000000000000000000BC +:10C4800000000000000000000000000000000000AC +:10C49000000000000000000000000000000000009C +:10C4A000000000000000000000000000000000008C +:10C4B000000000000000000000000000000000007C +:10C4C000000000000000000000000000000000006C +:10C4D000000000000000000000000000000000005C +:10C4E000000000000000000000000000000000004C +:10C4F000000000000000000000000000000000003C +:10C50000000000000000000000000000000000002B +:10C51000000000000000000000000000000000001B +:10C52000000000000000000000000000000000000B +:10C5300000000000000000000000000000000000FB +:10C5400000000000000000000000000000000000EB +:10C5500000000000000000000000000000000000DB +:10C5600000000000000000000000000000000000CB +:10C5700000000000000000000000000000000000BB +:10C5800000000000000000000000000000000000AB +:10C59000000000000000000000000000000000009B +:10C5A000000000000000000000000000000000008B +:10C5B000000000000000000000000000000000007B +:10C5C000000000000000000000000000000000006B +:10C5D000000000000000000000000000000000005B +:10C5E000000000000000000000000000000000004B +:10C5F000000000000000000000000000000000003B +:10C60000000000000000000000000000000000002A +:10C61000000000000000000000000000000000001A +:10C62000000000000000000000000000000000000A +:10C6300000000000000000000000000000000000FA +:10C6400000000000000000000000000000000000EA +:10C6500000000000000000000000000000000000DA +:10C6600000000000000000000000000000000000CA +:10C6700000000000000000000000000000000000BA +:10C6800000000000000000000000000000000000AA +:10C69000000000000000000000000000000000009A +:10C6A000000000000000000000000000000000008A +:10C6B000000000000000000000000000000000007A +:10C6C000000000000000000000000000000000006A +:10C6D000000000000000000000000000000000005A +:10C6E000000000000000000000000000000000004A +:10C6F000000000000000000000000000000000003A +:10C700000000000000000000000000000000000029 +:10C710000000000000000000000000000000000019 +:10C720000000000000000000000000000000000009 +:10C7300000000000000000000000000000000000F9 +:10C7400000000000000000000000000000000000E9 +:10C7500000000000000000000000000000000000D9 +:10C7600000000000000000000000000000000000C9 +:10C7700000000000000000000000000000000000B9 +:10C7800000000000000000000000000000000000A9 +:10C790000000000000000000000000000000000099 +:10C7A0000000000000000000000000000000000089 +:10C7B0000000000000000000000000000000000079 +:10C7C0000000000000000000000000000000000069 +:10C7D0000000000000000000000000000000000059 +:10C7E0000000000000000000000000000000000049 +:10C7F0000000000000000000000000000000000039 +:10C800000000000000000000000000000000000028 +:10C810000000000000000000000000000000000018 +:10C820000000000000000000000000000000000008 +:10C8300000000000000000000000000000000000F8 +:10C8400000000000000000000000000000000000E8 +:10C8500000000000000000000000000000000000D8 +:10C8600000000000000000000000000000000000C8 +:10C8700000000000000000000000000000000000B8 +:10C8800000000000000000000000000000000000A8 +:10C890000000000000000000000000000000000098 +:10C8A0000000000000000000000000000000000088 +:10C8B0000000000000000000000000000000000078 +:10C8C0000000000000000000000000000000000068 +:10C8D0000000000000000000000000000000000058 +:10C8E0000000000000000000000000000000000048 +:10C8F0000000000000000000000000000000000038 +:10C900000000000000000000000000000000000027 +:10C910000000000000000000000000000000000017 +:10C920000000000000000000000000000000000007 +:10C9300000000000000000000000000000000000F7 +:10C9400000000000000000000000000000000000E7 +:10C9500000000000000000000000000000000000D7 +:10C9600000000000000000000000000000000000C7 +:10C9700000000000000000000000000000000000B7 +:10C9800000000000000000000000000000000000A7 +:10C990000000000000000000000000000000000097 +:10C9A0000000000000000000000000000000000087 +:10C9B0000000000000000000000000000000000077 +:10C9C0000000000000000000000000000000000067 +:10C9D0000000000000000000000000000000000057 +:10C9E0000000000000000000000000000000000047 +:10C9F0000000000000000000000000000000000037 +:10CA00000000000000000000000000000000000026 +:10CA10000000000000000000000000000000000016 +:10CA20000000000000000000000000000000000006 +:10CA300000000000000000000000000000000000F6 +:10CA400000000000000000000000000000000000E6 +:10CA500000000000000000000000000000000000D6 +:10CA600000000000000000000000000000000000C6 +:10CA700000000000000000000000000000000000B6 +:10CA800000000000000000000000000000000000A6 +:10CA90000000000000000000000000000000000096 +:10CAA0000000000000000000000000000000000086 +:10CAB0000000000000000000000000000000000076 +:10CAC0000000000000000000000000000000000066 +:10CAD0000000000000000000000000000000000056 +:10CAE0000000000000000000000000000000000046 +:10CAF0000000000000000000000000000000000036 +:10CB00000000000000000000000000000000000025 +:10CB10000000000000000000000000000000000015 +:10CB20000000000000000000000000000000000005 +:10CB300000000000000000000000000000000000F5 +:10CB400000000000000000000000000000000000E5 +:10CB500000000000000000000000000000000000D5 +:10CB600000000000000000000000000000000000C5 +:10CB700000000000000000000000000000000000B5 +:10CB800000000000000000000000000000000000A5 +:10CB90000000000000000000000000000000000095 +:10CBA0000000000000000000000000000000000085 +:10CBB0000000000000000000000000000000000075 +:10CBC0000000000000000000000000000000000065 +:10CBD0000000000000000000000000000000000055 +:10CBE0000000000000000000000000000000000045 +:10CBF0000000000000000000000000000000000035 +:10CC00000000000000000000000000000000000024 +:10CC10000000000000000000000000000000000014 +:10CC20000000000000000000000000000000000004 +:10CC300000000000000000000000000000000000F4 +:10CC400000000000000000000000000000000000E4 +:10CC500000000000000000000000000000000000D4 +:10CC600000000000000000000000000000000000C4 +:10CC700000000000000000000000000000000000B4 +:10CC800000000000000000000000000000000000A4 +:10CC90000000000000000000000000000000000094 +:10CCA0000000000000000000000000000000000084 +:10CCB0000000000000000000000000000000000074 +:10CCC0000000000000000000000000000000000064 +:10CCD0000000000000000000000000000000000054 +:10CCE0000000000000000000000000000000000044 +:10CCF0000000000000000000000000000000000034 +:10CD00000000000000000000000000000000000023 +:10CD10000000000000000000000000000000000013 +:10CD20000000000000000000000000000000000003 +:10CD300000000000000000000000000000000000F3 +:10CD400000000000000000000000000000000000E3 +:10CD500000000000000000000000000000000000D3 +:10CD600000000000000000000000000000000000C3 +:10CD700000000000000000000000000000000000B3 +:10CD800000000000000000000000000000000000A3 +:10CD90000000000000000000000000000000000093 +:10CDA0000000000000000000000000000000000083 +:10CDB0000000000000000000000000000000000073 +:10CDC0000000000000000000000000000000000063 +:10CDD0000000000000000000000000000000000053 +:10CDE0000000000000000000000000000000000043 +:10CDF0000000000000000000000000000000000033 +:10CE00000000000000000000000000000000000022 +:10CE10000000000000000000000000000000000012 +:10CE20000000000000000000000000000000000002 +:10CE300000000000000000000000000000000000F2 +:10CE400000000000000000000000000000000000E2 +:10CE500000000000000000000000000000000000D2 +:10CE600000000000000000000000000000000000C2 +:10CE700000000000000000000000000000000000B2 +:10CE800000000000000000000000000000000000A2 +:10CE90000000000000000000000000000000000092 +:10CEA0000000000000000000000000000000000082 +:10CEB0000000000000000000000000000000000072 +:10CEC0000000000000000000000000000000000062 +:10CED0000000000000000000000000000000000052 +:10CEE0000000000000000000000000000000000042 +:10CEF0000000000000000000000000000000000032 +:10CF00000000000000000000000000000000000021 +:10CF10000000000000000000000000000000000011 +:10CF20000000000000000000000000000000000001 +:10CF300000000000000000000000000000000000F1 +:10CF400000000000000000000000000000000000E1 +:10CF500000000000000000000000000000000000D1 +:10CF600000000000000000000000000000000000C1 +:10CF700000000000000000000000000000000000B1 +:10CF800000000000000000000000000000000000A1 +:10CF90000000000000000000000000000000000091 +:10CFA0000000000000000000000000000000000081 +:10CFB0000000000000000000000000000000000071 +:10CFC0000000000000000000000000000000000061 +:10CFD0000000000000000000000000000000000051 +:10CFE0000000000000000000000000000000000041 +:10CFF0000000000000000000000000000000000031 +:10D000000000000000000000000000000000000020 +:10D010000000000000000000000000000000000010 +:10D020000000000000000000000000000000000000 +:10D0300000000000000000000000000000000000F0 +:10D0400000000000000000000000000000000000E0 +:10D0500000000000000000000000000000000000D0 +:10D0600000000000000000000000000000000000C0 +:10D0700000000000000000000000000000000000B0 +:10D0800000000000000000000000000000000000A0 +:10D090000000000000000000000000000000000090 +:10D0A0000000000000000000000000000000000080 +:10D0B0000000000000000000000000000000000070 +:10D0C0000000000000000000000000000000000060 +:10D0D0000000000000000000000000000000000050 +:10D0E0000000000000000000000000000000000040 +:10D0F0000000000000000000000000000000000030 +:10D10000000000000000000000000000000000001F +:10D11000000000000000000000000000000000000F +:10D1200000000000000000000000000000000000FF +:10D1300000000000000000000000000000000000EF +:10D1400000000000000000000000000000000000DF +:10D1500000000000000000000000000000000000CF +:10D1600000000000000000000000000000000000BF +:10D1700000000000000000000000000000000000AF +:10D18000000000000000000000000000000000009F +:10D19000000000000000000000000000000000008F +:10D1A000000000000000000000000000000000007F +:10D1B000000000000000000000000000000000006F +:10D1C000000000000000000000000000000000005F +:10D1D000000000000000000000000000000000004F +:10D1E000000000000000000000000000000000003F +:10D1F000000000000000000000000000000000002F +:10D20000000000000000000000000000000000001E +:10D21000000000000000000000000000000000000E +:10D2200000000000000000000000000000000000FE +:10D2300000000000000000000000000000000000EE +:10D2400000000000000000000000000000000000DE +:10D2500000000000000000000000000000000000CE +:10D2600000000000000000000000000000000000BE +:10D2700000000000000000000000000000000000AE +:10D28000000000000000000000000000000000009E +:10D29000000000000000000000000000000000008E +:10D2A000000000000000000000000000000000007E +:10D2B000000000000000000000000000000000006E +:10D2C000000000000000000000000000000000005E +:10D2D000000000000000000000000000000000004E +:10D2E000000000000000000000000000000000003E +:10D2F000000000000000000000000000000000002E +:10D30000000000000000000000000000000000001D +:10D31000000000000000000000000000000000000D +:10D3200000000000000000000000000000000000FD +:10D3300000000000000000000000000000000000ED +:10D3400000000000000000000000000000000000DD +:10D3500000000000000000000000000000000000CD +:10D3600000000000000000000000000000000000BD +:10D3700000000000000000000000000000000000AD +:10D38000000000000000000000000000000000009D +:10D39000000000000000000000000000000000008D +:10D3A000000000000000000000000000000000007D +:10D3B000000000000000000000000000000000006D +:10D3C000000000000000000000000000000000005D +:10D3D000000000000000000000000000000000004D +:10D3E000000000000000000000000000000000003D +:10D3F000000000000000000000000000000000002D +:10D40000000000000000000000000000000000001C +:10D41000000000000000000000000000000000000C +:10D4200000000000000000000000000000000000FC +:10D4300000000000000000000000000000000000EC +:10D4400000000000000000000000000000000000DC +:10D4500000000000000000000000000000000000CC +:10D4600000000000000000000000000000000000BC +:10D4700000000000000000000000000000000000AC +:10D48000000000000000000000000000000000009C +:10D49000000000000000000000000000000000008C +:10D4A000000000000000000000000000000000007C +:10D4B000000000000000000000000000000000006C +:10D4C000000000000000000000000000000000005C +:10D4D000000000000000000000000000000000004C +:10D4E000000000000000000000000000000000003C +:10D4F000000000000000000000000000000000002C +:10D50000000000000000000000000000000000001B +:10D51000000000000000000000000000000000000B +:10D5200000000000000000000000000000000000FB +:10D5300000000000000000000000000000000000EB +:10D5400000000000000000000000000000000000DB +:10D5500000000000000000000000000000000000CB +:10D5600000000000000000000000000000000000BB +:10D5700000000000000000000000000000000000AB +:10D58000000000000000000000000000000000009B +:10D59000000000000000008000000000000000000B +:10D5A000000000000000000000000000000000007B +:10D5B00000000000000000000000000A0000000061 +:10D5C0000000000000000000100000030000000048 +:10D5D0000000000D0000000D3C02080024427340D2 +:10D5E0003C030800246377CCAC4000000043202BB0 +:10D5F0001480FFFD244200043C1D080037BD7FFC61 +:10D6000003A0F0213C100800261032103C1C08003A +:10D61000279C73400E0010FE000000000000000D6B +:10D6200030A5FFFF30C600FF274301808F4201B8BD +:10D630000440FFFE24020002AC640000A465000860 +:10D64000A066000AA062000B3C021000AC67001844 +:10D6500003E00008AF4201B83C0360008C624FF861 +:10D660000440FFFE3C020200AC644FC0AC624FC4F9 +:10D670003C02100003E00008AC624FF89482000CFA +:10D680002486001400A0382100021302000210803A +:10D690000082402100C8102B1040005700000000FD +:10D6A00090C300002C6200095040005190C200015C +:10D6B000000310803C030800246372F00043102133 +:10D6C0008C420000004000080000000090C30001F0 +:10D6D0002402000A1462003A000000000106102330 +:10D6E0002C42000A1440003624C600028CE20000DE +:10D6F00034420100ACE2000090C2000090C300017F +:10D7000090C4000290C5000300031C000002160034 +:10D710000043102500042200004410250045102578 +:10D7200024C60004ACE2000490C2000090C30001D3 +:10D7300090C4000290C500030002160000031C0004 +:10D740000043102500042200004410250045102548 +:10D7500024C600040A000CB8ACE2000890C3000123 +:10D76000240200041462001624C6000290C20000C5 +:10D7700090C400018CE30000000212000044102558 +:10D780003463000424C60002ACE2000C0A000CB8AA +:10D79000ACE3000090C300012402000314620008FF +:10D7A00024C600028CE2000090C3000024C60001E1 +:10D7B00034420008A0E300100A000CB8ACE20000FC +:10D7C00003E000082402000190C3000124020002CB +:10D7D0001062000224C40002010020210A000CB8DB +:10D7E000008030210A000CB824C6000190C200015C +:10D7F0000A000CB800C2302103E00008000010212C +:10D8000027BDFFE8AFBF0014AFB000100E00130239 +:10D8100000808021936200052403FFFE0200202186 +:10D82000004310248FBF00148FB00010A3620005C6 +:10D830000A00130B27BD001827BDFFE8AFB000108A +:10D84000AFBF00140E000F3C0080802193620000E7 +:10D8500024030050304200FF14430004240201005E +:10D86000AF4201800A000D3002002021AF4001804C +:10D87000020020218FBF00148FB000100A000FE7B4 +:10D8800027BD001827BDFF80AFBE0078AFB700747A +:10D89000AFB20060AFBF007CAFB60070AFB5006C38 +:10D8A000AFB40068AFB30064AFB1005CAFB0005874 +:10D8B0008F5001283C0208008C4231A02403FF80D5 +:10D8C0009365003F0202102100431024AF42002460 +:10D8D0003C0208008C4231A09364000530B200FF86 +:10D8E000020210213042007F034218210004202749 +:10D8F0003C02000A0062182130840001AF8300144A +:10D900000000F0210000B82114800053AFA00050A7 +:10D9100093430116934401128F450104306300FFC5 +:10D920003C020001308400FF00A2282403431021A0 +:10D9300003441821245640002467400014A001CD60 +:10D940002402000193620000304300FF2402002003 +:10D950001062000524020050106200060000000062 +:10D960000A000D74000000000000000D0A000D7D8B +:10D97000AFA000303C1E080027DE738C0A000D7D2E +:10D98000AFA000303C0208008C4200DC24420001C1 +:10D990003C010800AC2200DC0E00139F00000000D8 +:10D9A0000A000F318FBF007C8F4201043C0300202E +:10D9B00092D3000D004310240002202B00042140CC +:10D9C000AFA400308F4301043C02004000621824E1 +:10D9D000146000023485004000802821326200205B +:10D9E000AFA500301440000234A6008000A0302112 +:10D9F00010C0000BAFA6003093C500088F67004C25 +:10DA00000200202100052B0034A5008130A5F08103 +:10DA10000E000C9B30C600FF0A000F2E0000000015 +:10DA20009362003E304200401040000F2402000488 +:10DA300056420007240200120200202100E02821A3 +:10DA40000E0013F702C030210A000F318FBF007C97 +:10DA500016420005000000000E000D2100002021EC +:10DA60000A000F318FBF007C9743011A96C4000E45 +:10DA700093620035326500043075FFFF00442004D6 +:10DA8000AFA400548ED1000410A000158ED400085D +:10DA90009362003E3042004010400007000000004A +:10DAA0000E0013E0022020211040000D00000000B5 +:10DAB0000A000F2E000000008F6200440222102393 +:10DAC0000440016A000000008F6200480222102317 +:10DAD00004410166240400160A000E218FC20004CE +:10DAE0008F6200480222102304400008000000005A +:10DAF0003C0208008C423100244200013C01080035 +:10DB0000AC2231000A000F23000000008F620040A9 +:10DB100002221023184000128F8400143C020800D7 +:10DB20008C423100327300FC0000A8212442000125 +:10DB30003C010800AC2231008F6300409482011C3C +:10DB4000022318233042FFFF0043102A50400010E8 +:10DB50002402000C8F6200400A000DF20222102302 +:10DB60009483011C9762003C0043102B1040000678 +:10DB7000000000009482011C00551023A482011CA7 +:10DB80000A000DF72402000CA480011C2402000CE2 +:10DB9000AFA200308F620040005120231880000D9A +:10DBA00002A4102A1440012600000000149500066B +:10DBB00002A410233A620001304200011440012007 +:10DBC0000000000002A41023022488210A000E098C +:10DBD0003055FFFF00002021326200021040001A81 +:10DBE000326200109362003E30420040504000110B +:10DBF0008FC200040E00130202002021240200182C +:10DC0000A362003F936200052403FFFE020020216F +:10DC1000004310240E00130BA362000524040039F6 +:10DC2000000028210E0013C9240600180A000F3036 +:10DC300024020001240400170040F809000000003D +:10DC40000A000F302402000110400108000000000B +:10DC50008F63004C8F620054028210231C4001032A +:10DC600002831023044200010060A021AFA4001829 +:10DC7000AFB10010AFB50014934201208F65004092 +:10DC80009763003C304200FF034210210044102102 +:10DC90008FA400543063FFFF244240000083182B00 +:10DCA0008FA40030AFA20020AFA50028008320255C +:10DCB000AFA40030AFA50024AFA0002CAFB4003457 +:10DCC0009362003E30420008504000118FC20000B5 +:10DCD00002C0202127A500380E000CB2AFA00038EA +:10DCE0005440000B8FC200008FA200383042010068 +:10DCF000504000078FC200008FA3003C8F6200607D +:10DD00000062102304430001AF6300608FC2000073 +:10DD10000040F80927A400108FA200303042000212 +:10DD200054400001327300FE9362003E30420040D6 +:10DD3000104000378FA200248F6200541682001A10 +:10DD40003262000124020014124200102A4200151F +:10DD500010400006240200162402000C12420007A4 +:10DD6000326200010A000E7D000000001242000530 +:10DD7000326200010A000E7D000000000A000E78E9 +:10DD80002417000E0A000E78241700100A000E7CDB +:10DD900024170012936200232403FFBD00431024C4 +:10DDA000A362002332620001104000198FA20024F8 +:10DDB0002402000C1242000E2A42000D1040000600 +:10DDC0002402000E2402000A124200078FA200243F +:10DDD0000A000E9524420001124200088FA200247E +:10DDE0000A000E95244200010A000E932417000831 +:10DDF0002402000E16E20002241700162417001059 +:10DE00008FA2002424420001AFA200248FA200248C +:10DE10008FA300148F76004000431021AF620040B2 +:10DE20008F8200149442011C104000090000000081 +:10DE30008F6200488F6400409763003C00441023C9 +:10DE40003063FFFF0043102A104000088FA20054E7 +:10DE5000936400368F6300403402FFFC008210049C +:10DE600000621821AF6300488FA200548FA60030D3 +:10DE70000282902130C200081040000E0000000015 +:10DE80008F6200581642000430C600FF9742011A04 +:10DE90005040000134C6001093C500088FA700341D +:10DEA0000200202100052B0034A500800E000C9BF1 +:10DEB00030A5F0808F620040005610231840001BF0 +:10DEC0008FA200183C0208008C42319830420010AA +:10DED0001040000D24020001976200681440000AFF +:10DEE000240200018F8200149442011C1440000699 +:10DEF00024020001A76200689742007A244200646D +:10DF00000A000EE9A7620012A76200120E001302B7 +:10DF1000020020219362007D2403000102002021E1 +:10DF2000344200010A000EE7AFA300501840000A77 +:10DF3000000000000E001302020020219362007D09 +:10DF40002403000102002021AFA30050344200044A +:10DF50000E00130BA362007D9362003E304200402E +:10DF60001440000C326200011040000A0000000062 +:10DF70008F6300408FC20004240400182463000152 +:10DF80000040F809AF6300408FA200300A000F3054 +:10DF9000304200048F620058105200100000000050 +:10DFA0008F620018022210231C4000082404000184 +:10DFB0008F62001816220009000000008F62001C0A +:10DFC000028210230440000500000000AF720058D8 +:10DFD000AFA40050AF710018AF74001C12E0000B2A +:10DFE0008FA200500E00130202002021A377003FF1 +:10DFF0000E00130B0200202102E030212404003720 +:10E000000E0013C9000028218FA200501040000309 +:10E01000000000000E000CA90200202112A0000543 +:10E02000000018218FA2003030420004504000113F +:10E0300000601021240300010A000F30006010214D +:10E040000E001302020020219362007D02002021B5 +:10E05000344200040E00130BA362007D0E000CA9D5 +:10E06000020020210A000F3024020001AF400044CA +:10E07000240200018FBF007C8FBE00788FB7007430 +:10E080008FB600708FB5006C8FB400688FB30064DA +:10E090008FB200608FB1005C8FB0005803E00008C1 +:10E0A00027BD00808F4201B80440FFFE2402080013 +:10E0B000AF4201B803E00008000000003C02000885 +:10E0C00003421021944200483084FFFF2484001250 +:10E0D0003045FFFF10A0001700A4102B10400016C1 +:10E0E00024020003934201202403001AA343018B5E +:10E0F000304200FF2446FFFE8F82000000A6182B4E +:10E100003863000100021382004310241040000510 +:10E110008F84000434820001A746019403E00008C4 +:10E12000AF8200042402FFFE0082102403E00008F6 +:10E13000AF8200042402000303E00008A342018B25 +:10E1400027BDFFE0AFB10014AFB00010AFBF0018A3 +:10E1500030B0FFFF30D1FFFF8F4201B80440FFFE17 +:10E1600000000000AF440180AF4400200E000F42C9 +:10E17000020020218F8300008F840004A750019AA1 +:10E18000A750018EA74301908F8300083082800042 +:10E19000AF4301A8A75101881040000E8F820004F0 +:10E1A00093420116304200FC24420004005A102120 +:10E1B0008C4240003042FFFF144000068F82000472 +:10E1C0003C02FFFF34427FFF00821024AF82000434 +:10E1D0008F8200042403BFFF00431024A74201A63E +:10E1E0009743010C8F42010400031C003042FFFFE3 +:10E1F00000621825AF4301AC3C021000AF4201B8E9 +:10E200008FBF00188FB100148FB0001003E000081A +:10E2100027BD00208F470070934201128F830000BA +:10E2200027BDFFF0304200FF00022882306201006B +:10E23000000030211040004324A40003306240005D +:10E24000104000103062200000041080005A10219D +:10E250008C43400024A4000400041080AFA30000FD +:10E26000005A10218C424000AFA2000493420116D4 +:10E27000304200FC005A10218C4240000A000FC0BE +:10E28000AFA200081040002F0000302100041080D1 +:10E29000005A10218C43400024A400040004108084 +:10E2A000AFA30000005A10218C424000AFA000082C +:10E2B000AFA200048FA80008000030210000202138 +:10E2C000240A00083C0908002529010003A41021A4 +:10E2D000148A000300042A001100000A0000000054 +:10E2E00090420000248400012C83000C00A2102125 +:10E2F00000021080004910218C4200001460FFF3DE +:10E3000000C230263C0408008C8431048F42007027 +:10E310002C83002010600009004738233C030800CC +:10E32000246331080004108000431021248300017D +:10E33000AC4700003C010800AC233104AF86000864 +:10E340002406000100C0102103E0000827BD0010D2 +:10E350003C0208008C42003827BDFFD0AFB5002436 +:10E36000AFB40020AFB10014AFBF0028AFB3001CA2 +:10E37000AFB20018AFB00010000088213C150800B3 +:10E3800026B50038144000022454FFFF0000A021ED +:10E390009742010E8F8400003042FFFF308340001F +:10E3A0001060000A245200043C0200200082102465 +:10E3B00050400007308280008F8200042403BFFF9A +:10E3C000008318240A0010103442100030828000AC +:10E3D0001040000A3C020020008210241040000778 +:10E3E0008F8200043C03FFFF34637FFF0083182407 +:10E3F00034428000AF820004AF8300000E000F980B +:10E400000000000014400007000000009743011EB8 +:10E410009742011C3063FFFF0002140000621825C0 +:10E42000AF8300089742010C8F4340003045FFFF47 +:10E430003402FFFF14620003000000000A001028ED +:10E44000241100208F42400030420100544000015E +:10E45000241100108F8400003082100050400014FE +:10E4600036310001308200201440000B3C021000C5 +:10E47000008210245040000E363100013C030E0093 +:10E480003C020DFF008318243442FFFF0043102B91 +:10E4900050400007363100013C0208008C42002C3D +:10E4A000244200013C010800AC22002C363100055A +:10E4B0003C0608008CC6003454C000238F85000041 +:10E4C0008F820004304240005440001F8F850000BE +:10E4D0003C021F01008210243C0310005443001A28 +:10E4E0008F85000030A20200144000178F850000C5 +:10E4F0003250FFFF363100028F4201B80440FFFE68 +:10E5000000000000AF400180020020210E000F42F9 +:10E51000AF4000208F8300042402BFFFA750019A60 +:10E52000006218248F820000A750018EA751018835 +:10E53000A74301A6A74201903C021000AF4201B8D8 +:10E540000A0010F5000010213C02100000A2102467 +:10E550001040003A0000000010C0000F0000000052 +:10E5600030A201001040000C3C0302003C020F00EE +:10E5700000A2102410430008000000008F82000851 +:10E58000005410240055102190420004244200043D +:10E590000A00109F000221C00000000000051602C2 +:10E5A0003050000F3A0300022E4203EF38420001C0 +:10E5B0002C6300010062182414600073240200011F +:10E5C0003C0308008C6300D02E06000C386200016A +:10E5D0002C4200010046102414400015001021C0F8 +:10E5E0002602FFFC2C4200045440001100002021B0 +:10E5F000386200022C420001004610241040000343 +:10E60000000512420A00109F000020210010182B64 +:10E610000043102450400006001021C000002021BB +:10E620003245FFFF0E000F633226FFFB001021C0B2 +:10E630003245FFFF0A0010F2362600028F424000EA +:10E640003C0308008C630024304201001040004667 +:10E6500030620001322200043070000D14400002CC +:10E660002413000424130002000512C238420001E2 +:10E670002E4303EF304200013863000100431025B0 +:10E68000104000033231FFFB2402FFFB0202802412 +:10E6900010C000183202000130A201001040001525 +:10E6A000320200013C020F0000A210243C030200D1 +:10E6B0001043000F8F8200082403FFFE0203802412 +:10E6C00000541024005510219042000402333025DC +:10E6D0002442000412000002000221C03226FFFF83 +:10E6E0000E000F633245FFFF1200002700001021CB +:10E6F000320200011040000D320200042402000129 +:10E7000012020002023330253226FFFF00002021D2 +:10E710000E000F633245FFFF2402FFFE0202802439 +:10E7200012000019000010213202000410400016EF +:10E7300024020001240200041202000202333025E8 +:10E740003226FFFF3245FFFF0E000F632404010055 +:10E750002402FFFB020280241200000B00001021A3 +:10E760000A0010F5240200011040000700001021EB +:10E770003245FFFF36260002000020210E000F6305 +:10E7800000000000000010218FBF00288FB500247A +:10E790008FB400208FB3001C8FB200188FB100140B +:10E7A0008FB0001003E0000827BD003027BDFFD068 +:10E7B000AFB000103C04600CAFBF002CAFB6002817 +:10E7C000AFB50024AFB40020AFB3001CAFB2001847 +:10E7D000AFB100148C8250002403FF7F3C1A8000EC +:10E7E000004310243442380CAC8250002402000351 +:10E7F0003C106000AF4200088E0208083C1B8008F5 +:10E800003C010800AC2000203042FFF038420010EC +:10E810002C4200010E001B8DAF8200183C04FFFF4C +:10E820003C020400348308063442000CAE0219484E +:10E83000AE03194C3C0560168E0219808CA30000B3 +:10E840003442020000641824AE0219803C02535383 +:10E850001462000334A47C008CA200040050202128 +:10E860008C82007C8C830078AF820010AF83000C18 +:10E870008F55000032A200031040FFFD32A20001BC +:10E880001040013D32A200028F420128AF42002019 +:10E890008F4201048F430100AF8200000E000F3C45 +:10E8A000AF8300043C0208008C4200C01040000806 +:10E8B0008F8400003C0208008C4200C42442000106 +:10E8C0003C010800AC2200C40A00126900000000EC +:10E8D0003C020010008210241440010C8F830004BD +:10E8E0003C0208008C4200203C0308008C63003886 +:10E8F00000008821244200013C010800AC220020D5 +:10E900003C16080026D60038146000022474FFFF6D +:10E910000000A0219742010E308340003042FFFFEB +:10E920001060000A245200043C02002000821024DF +:10E9300050400007308280008F8200042403BFFF14 +:10E94000008318240A0011703442100030828000C5 +:10E950001040000A3C0200200082102410400007F2 +:10E960008F8200043C03FFFF34637FFF0083182481 +:10E9700034428000AF820004AF8300000E000F9885 +:10E980000000000014400007000000009743011E33 +:10E990009742011C3063FFFF00021400006218253B +:10E9A000AF8300089742010C8F4340003045FFFFC2 +:10E9B0003402FFFF14620003000000000A00118807 +:10E9C000241100208F4240003042010054400001D9 +:10E9D000241100108F840000308210005040001479 +:10E9E00036310001308200201440000B3C02100040 +:10E9F000008210245040000E363100013C030E000E +:10EA00003C020DFF008318243442FFFF0043102B0B +:10EA100050400007363100013C0208008C42002CB7 +:10EA2000244200013C010800AC22002C36310005D4 +:10EA30003C0608008CC6003454C000238F850000BB +:10EA40008F820004304240005440001F8F85000038 +:10EA50003C021F01008210243C0310005443001AA2 +:10EA60008F85000030A20200144000178F8500003F +:10EA70003250FFFF363100028F4201B80440FFFEE2 +:10EA800000000000AF400180020020210E000F4274 +:10EA9000AF4000208F8300042402BFFFA750019ADB +:10EAA000006218248F820000A750018EA7510188B0 +:10EAB000A74301A6A74201903C021000AF4201B853 +:10EAC0000A001267000010213C02100000A210246E +:10EAD0001040003A0000000010C0000F00000000CD +:10EAE00030A201001040000C3C0302003C020F0069 +:10EAF00000A2102410430008000000008F820008CC +:10EB000000541024005610219042000424420004B6 +:10EB10000A0011FF000221C00000000000051602DB +:10EB20003050000F3A0300022E4203EF384200013A +:10EB30002C63000100621824146000852402000187 +:10EB40003C0308008C6300D02E06000C38620001E4 +:10EB50002C4200010046102414400015001021C072 +:10EB60002602FFFC2C42000454400011000020212A +:10EB7000386200022C42000100461024504000037D +:10EB8000000512420A0011FF000020210010182B7E +:10EB90000043102450400006001021C00000202136 +:10EBA0003245FFFF0E000F633226FFFB001021C02D +:10EBB0003245FFFF0A001252362600028F42400003 +:10EBC0003C0308008C6300243042010010400046E2 +:10EBD00030620001322200043070000D1440000247 +:10EBE0002413000424130002000512C2384200015D +:10EBF0002E4303EF3042000138630001004310252B +:10EC0000104000033231FFFB2402FFFB020280248C +:10EC100010C000183202000130A20100104000159F +:10EC2000320200013C020F0000A210243C0302004B +:10EC30001043000F8F8200082403FFFE020380248C +:10EC40000054102400561021904200040233302555 +:10EC50002442000412000002000221C03226FFFFFD +:10EC60000E000F633245FFFF120000390000102133 +:10EC7000320200011040000D3202000424020001A3 +:10EC800012020002023330253226FFFF000020214D +:10EC90000E000F633245FFFF2402FFFE02028024B4 +:10ECA0001200002B00001021320200041040002846 +:10ECB0002402000124020004120200020233302563 +:10ECC0003226FFFF3245FFFF0E000F6324040100D0 +:10ECD0002402FFFB020280241200001D000010210C +:10ECE0000A001267240200015040001900001021A0 +:10ECF0003245FFFF36260002000020210E000F6380 +:10ED0000000000000A001267000010212402BFFF6B +:10ED1000006210241040000800000000240287FF59 +:10ED200000621024144000083C020060008210249D +:10ED300010400005000000000E000D34000000002F +:10ED40000A001267000000000E0012C70000000059 +:10ED5000104000063C0240008F4301243C0260202A +:10ED6000AC430014000000003C024000AF420138F8 +:10ED70000000000032A200021040FEBD00000000B2 +:10ED80008F4201403C044000AF4200208F430148C5 +:10ED90003C02700000621824106400420000000071 +:10EDA0000083102B144000063C0260003C0220004F +:10EDB000106200073C0240000A0012C3000000007D +:10EDC0001062003C3C0240000A0012C30000000038 +:10EDD0008F4501408F4601448F42014800021402D2 +:10EDE000304300FF240200041462000A274401801B +:10EDF0008F4201B80440FFFE2402001CAC850000D5 +:10EE0000A082000B3C021000AF4201B80A0012C3FE +:10EE10003C0240002402000914620012000616029F +:10EE2000000229C0AF4500208F4201B80440FFFE18 +:10EE30002402000124030003AF450180A343018B9A +:10EE4000A740018EA740019AA7400190AF4001A8BA +:10EE5000A7420188A74201A6AF4001AC3C021000C6 +:10EE6000AF4201B88F4201B80440FFFE000000002D +:10EE7000AC8500008F42014800021402A482000801 +:10EE800024020002A082000B8F420148A4820010DD +:10EE90003C021000AC860024AF4201B80A0012C345 +:10EEA0003C0240000E001310000000000A0012C3D4 +:10EEB0003C0240000E001BC2000000003C0240006B +:10EEC000AF420178000000000A00112F000000008E +:10EED0008F4201003042003E144000112402000124 +:10EEE000AF4000488F420100304207C0104000058B +:10EEF00000000000AF40004CAF40005003E00008AD +:10EF000024020001AF400054AF4000408F42010096 +:10EF10003042380054400001AF4000442402000158 +:10EF200003E00008000000008F4201B80440FFFE2B +:10EF300024020001AF440180AF400184A74501884D +:10EF4000A342018A24020002A342018B9742014A94 +:10EF500014C00004A7420190AF4001A40A0012EFC0 +:10EF60003C0210008F420144AF4201A43C02100059 +:10EF7000AF4001A803E00008AF4201B88F4201B8DA +:10EF80000440FFFE24020002AF440180AF4401842C +:10EF9000A7450188A342018AA342018B9742014AF7 +:10EFA000A7420190AF4001A48F420144AF4201A8A3 +:10EFB0003C02100003E00008AF4201B83C029000A0 +:10EFC0003442000100822025AF4400208F420020FF +:10EFD0000440FFFE0000000003E000080000000005 +:10EFE0003C028000344200010082202503E000083A +:10EFF000AF44002027BDFFE8AFBF0014AFB0001042 +:10F000008F50014093430149934201489344014882 +:10F01000306300FF304200FF00021200006228252A +:10F020002402001910620076308400802862001AE1 +:10F030001040001C24020020240200081062007707 +:10F04000286200091040000E2402000B2402000177 +:10F0500010620034286200025040000524020006BD +:10F0600050600034020020210A00139A00000000C2 +:10F0700010620030020020210A00139A00000000F4 +:10F080001062003B2862000C504000022402000E77 +:10F090002402000910620056020020210A00139A7F +:10F0A0000000000010620056286200211040000F8E +:10F0B000240200382402001C106200582862001D3F +:10F0C000104000062402001F2402001B1062004CA6 +:10F0D000000000000A00139A000000001062004ABD +:10F0E000020020210A00139A00000000106200456F +:10F0F0002862003910400007240200802462FFCB00 +:10F100002C42000210400045020020210A00139604 +:10F110000000302110620009000000000A00139A6C +:10F12000000000001480003D020020210A0013901E +:10F130008FBF00140A001396240600018F4201B805 +:10F140000440FFFE24020002A342018BA745018870 +:10F150009742014AA74201908F420144A74201927F +:10F160003C021000AF4201B80A00139C8FBF00148C +:10F170009742014A144000290000000093620005F4 +:10F180003042000414400025000000000E0013026D +:10F190000200202193620005020020213442000475 +:10F1A0000E00130BA36200059362000530420004B9 +:10F1B00014400002000000000000000D93620000F7 +:10F1C00024030020304200FF14430014000000001C +:10F1D0008F4201B80440FFFE24020005AF500180B9 +:10F1E000A342018B3C0210000A00139AAF4201B8FF +:10F1F0008FBF00148FB000100A0012F227BD001854 +:10F200000000000D02002021000030218FBF0014FB +:10F210008FB000100A0012DD27BD00180000000D9D +:10F220008FBF00148FB0001003E0000827BD001846 +:10F2300027BDFFE8AFBF00100E000F3C000000002C +:10F24000AF4001808FBF0010000020210A000FE7AF +:10F2500027BD00183084FFFF30A5FFFF00001821F4 +:10F260001080000700000000308200011040000202 +:10F2700000042042006518210A0013AB0005284055 +:10F2800003E000080060102110C0000624C6FFFF44 +:10F290008CA2000024A50004AC8200000A0013B573 +:10F2A0002484000403E000080000000010A000080F +:10F2B00024A3FFFFAC860000000000000000000057 +:10F2C0002402FFFF2463FFFF1462FFFA248400047A +:10F2D00003E0000800000000308300FF30A500FFBD +:10F2E00030C600FF274701808F4201B80440FFFE6F +:10F2F000000000008F42012834634000ACE20000AF +:10F3000024020001ACE00004A4E30008A0E2000A2B +:10F3100024020002A0E2000B3C021000A4E5001051 +:10F32000ACE00024ACE00028A4E6001203E00008F2 +:10F33000AF4201B827BDFFE8AFBF00109362003FA6 +:10F3400024030012304200FF1043000D00803021E2 +:10F350008F620044008210230440000A8FBF001017 +:10F360008F620048240400390000282100C21023C5 +:10F3700004410004240600120E0013C9000000001E +:10F380008FBF00102402000103E0000827BD001811 +:10F3900027BDFFC8AFB20030AFB1002CAFBF003403 +:10F3A000AFB0002890C5000D0080902130A400105F +:10F3B0001080000B00C088218CC300088F620054AD +:10F3C0001062000730A20005144000B524040001BB +:10F3D0000E000D21000020210A0014BB0040202156 +:10F3E00030A200051040000930A30012108000ACCC +:10F3F000240400018E2300088F620054146200A9C7 +:10F400008FBF00340A00142C240400382402001298 +:10F41000146200A3240400010220202127A500106B +:10F420000E000CB2AFA000101040001102402021CD +:10F430008E220008AF620084AF6000400E0013020D +:10F44000000000009362007D024020213442002031 +:10F450000E00130BA362007D0E000CA902402021B8 +:10F46000240400382405008D0A0014B82406001274 +:10F470009362003E304200081040000F8FA200103F +:10F4800030420100104000078FA300148F6200601B +:10F490000062102304430008AF6300600A001441B7 +:10F4A00000000000AF6000609362003E2403FFF79D +:10F4B00000431024A362003E9362003E30420008E5 +:10F4C000144000022406000300003021936200343F +:10F4D000936300378F640084304200FF306300FF85 +:10F4E00000661821000318800043282100A4202B67 +:10F4F0001080000B000000009763003C8F620084C6 +:10F500003063FFFF004510230062182B14600004D5 +:10F51000000000008F6200840A00145D0045802313 +:10F520009762003C3050FFFF8FA300103062000450 +:10F5300010400004000628808FA2001C0A001465F9 +:10F540000202102B2E02021850400003240202185F +:10F550000A00146E020510233063000410600003DB +:10F56000004510238FA2001C00451023004080217D +:10F570002C42008054400001241000800E00130231 +:10F580000240202124020001AF62000C9362003E81 +:10F59000001020403042007FA362003E8E22000413 +:10F5A00024420001AF620040A770003C8F6200500F +:10F5B0009623000E00431021AF6200588F62005066 +:10F5C00000441021AF62005C8E220004AF6200187C +:10F5D0008E220008AF62001C8FA20010304200088B +:10F5E0005440000A93A20020A360003693620036C4 +:10F5F0002403FFDFA36200359362003E0043102422 +:10F60000A362003E0A0014988E220008A36200350F +:10F610008E220008AF62004C8F6200248F6300408E +:10F6200000431021AF6200489362000024030050A1 +:10F63000304200FF144300122403FF803C02080004 +:10F640008C4231A00242102100431024AF42002816 +:10F650003C0208008C4231A08E2400083C03000CC0 +:10F66000024210213042007F03421021004310214A +:10F67000AC4400D88E230008AF820014AC4300DCF9 +:10F680000E00130B02402021240400380000282122 +:10F690002406000A0E0013C9000000002404000123 +:10F6A0008FBF00348FB200308FB1002C8FB0002894 +:10F6B0000080102103E0000827BD003827BDFFF8B7 +:10F6C00027420180AFA20000308A00FF8F4201B8BC +:10F6D0000440FFFE000000008F4601283C020800A5 +:10F6E0008C4231A02403FF80AF86004800C2102165 +:10F6F00000431024AF4200243C0208008C4231A099 +:10F700008FA900008FA8000000C210213042007FA6 +:10F71000034218213C02000A00621821946400D4BC +:10F720008FA700008FA5000024020002AF83001401 +:10F73000A0A2000B8FA30000354260003084FFFFC1 +:10F74000A4E200083C021000AD260000AD04000455 +:10F75000AC60002427BD0008AF4201B803E00008F8 +:10F76000240200018F88003C938200288F830014BC +:10F770003C07080024E7779800481023304200FF38 +:10F78000304900FC246500888F860040304A000321 +:10F790001120000900002021248200048CA3000015 +:10F7A000304400FF0089102AACE3000024A50004C7 +:10F7B0001440FFF924E70004114000090000202153 +:10F7C0002482000190A30000304400FF008A102B27 +:10F7D000A0E3000024A500011440FFF924E7000184 +:10F7E00030C20003144000048F85003C3102000346 +:10F7F0001040000D0000000010A0000900002021B2 +:10F800002482000190C30000304400FF0085102BCB +:10F81000A0E3000024C600011440FFF924E7000122 +:10F8200003E00008000000001100FFFD000020219F +:10F83000248200048CC30000304400FF0088102B99 +:10F84000ACE3000024C600041440FFF924E70004E0 +:10F8500003E00008000000008F83003C9382002832 +:10F8600030C600FF30A500FF00431023304300FFE7 +:10F870008F820014008038210043102114C0000240 +:10F88000244800880083382130E20003144000053A +:10F8900030A2000314400003306200031040000D4A +:10F8A0000000000010A000090000202124820001B7 +:10F8B00090E30000304400FF0085102BA1030000FE +:10F8C00024E700011440FFF92508000103E00008C7 +:10F8D0000000000010A0FFFD000020212482000491 +:10F8E0008CE30000304400FF0085102BAD030000C6 +:10F8F00024E700041440FFF92508000403E0000891 +:10F90000000000000080482130AAFFFF30C600FF41 +:10F9100030E7FFFF274801808F4201B80440FFFE17 +:10F920008F820048AD0200008F420124AD02000426 +:10F930008D220020A5070008A102000A240200165B +:10F94000A102000B934301208D2200088D240004A6 +:10F95000306300FF004310219783003A00441021D8 +:10F960008D250024004310233C0308008C6331A044 +:10F970008F840014A502000C246300E82402FFFF1A +:10F98000A50A000EA5030010A5060012AD0500187B +:10F99000AD020024948201142403FFF73042FFFFDC +:10F9A000AD0200288C820118AD02002C3C02100030 +:10F9B000AD000030AF4201B88D220020004310247A +:10F9C00003E00008AD2200208F82001430E7FFFF23 +:10F9D00000804821904200D330A5FFFF30C600FFD1 +:10F9E0000002110030420F0000E238252748018054 +:10F9F0008F4201B80440FFFE8F820048AD02000034 +:10FA00008F420124AD0200048D220020A5070008CA +:10FA1000A102000A24020017A102000B9343012057 +:10FA20008D2200088D240004306300FF0043102164 +:10FA30009783003A004410218F8400140043102360 +:10FA40003C0308008C6331A0A502000CA505000E44 +:10FA5000246300E8A5030010A5060012AD00001401 +:10FA60008D220024AD0200188C82005CAD02001CC7 +:10FA70008C820058AD0200202402FFFFAD0200245A +:10FA8000948200E63042FFFFAD02002894820060BD +:10FA9000948300BE30427FFF3063FFFF00021200FC +:10FAA00000431021AD02002C3C021000AD000030DC +:10FAB000AF4201B8948200BE2403FFF700A21021D8 +:10FAC000A48200BE8D2200200043102403E0000821 +:10FAD000AD220020274301808F4201B80440FFFE81 +:10FAE0008F8200249442001C3042FFFF000211C0AC +:10FAF000AC62000024020019A062000B3C0210005E +:10FB0000AC60003003E00008AF4201B88F87002CE2 +:10FB100030C300FF8F4201B80440FFFE8F820048CF +:10FB200034636000ACA2000093820044A0A20005F0 +:10FB30008CE20010A4A20006A4A300088C8200207E +:10FB40002403FFF7A0A2000A24020002A0A2000BD7 +:10FB50008CE20000ACA200108CE20004ACA2001405 +:10FB60008CE2001CACA200248CE20020ACA2002895 +:10FB70008CE2002CACA2002C8C820024ACA20018D9 +:10FB80003C021000AF4201B88C82002000431024D8 +:10FB900003E00008AC8200208F86001427BDFFE838 +:10FBA000AFBF0014AFB0001090C20063304200201D +:10FBB0001040000830A500FF8CC2007C2403FFDF4A +:10FBC00024420001ACC2007C90C2006300431024B8 +:10FBD000A0C2006310A000238F830014275001806F +:10FBE000020028210E0015D6240600828F82001400 +:10FBF000904200633042004050400019A38000440E +:10FC00008F83002C8F4201B80440FFFE8F82004892 +:10FC1000AE02000024026082A60200082402000254 +:10FC2000A202000B8C620008AE0200108C62000C75 +:10FC3000AE0200148C620014AE0200188C62001830 +:10FC4000AE0200248C620024AE0200288C620028E0 +:10FC5000AE02002C3C021000AF4201B8A380004469 +:10FC60008F8300148FBF00148FB000109062006368 +:10FC700027BD00183042007FA06200639782003ADF +:10FC80008F86003C8F850014938300280046102344 +:10FC9000A782003AA4A000E490A400638F820040F1 +:10FCA000AF83003C2403FFBF0046102100832024C3 +:10FCB000AF820040A0A400638F820014A04000BD6A +:10FCC0008F82001403E00008A44000BE8F8A001455 +:10FCD00027BDFFE0AFB10014AFB000108F88003C2B +:10FCE000AFBF00189389001C954200E430D100FF9B +:10FCF0000109182B0080802130AC00FF3047FFFF46 +:10FD00000000582114600003310600FF012030215B +:10FD1000010958239783003A0068102B1440003CD7 +:10FD20000000000014680007240200018E02002079 +:10FD30002403FFFB34E7800000431024AE020020C0 +:10FD40002402000134E70880158200053165FFFFB9 +:10FD50000E001554020020210A00169102002021F5 +:10FD60000E001585020020218F8400482743018062 +:10FD70008F4201B80440FFFE24020018AC6400006A +:10FD8000A062000B8F840014948200E6A46200102D +:10FD90003C021000AC600030AF4201B894820060B9 +:10FDA00024420001A4820060948200603C030800A9 +:10FDB0008C63318830427FFF5443000F02002021C2 +:10FDC000948200602403800000431024A482006019 +:10FDD0009082006090830060304200FF000211C2F8 +:10FDE00000021027000211C03063007F0062182556 +:10FDF000A083006002002021022028218FBF00186C +:10FE00008FB100148FB000100A0015F927BD002033 +:10FE1000914200632403FF8000431025A142006348 +:10FE20009782003A3048FFFF110000209383001CA6 +:10FE30008F840014004B1023304600FF948300E4AD +:10FE40002402EFFF0168282B00621824A48300E439 +:10FE500014A000038E020020010058210000302170 +:10FE60002403FFFB34E7800000431024AE0200208F +:10FE700024020001158200053165FFFF0E001554B4 +:10FE8000020020210A0016B99783003A0E0015855A +:10FE9000020020219783003A8F82003CA780003A1D +:10FEA00000431023AF82003C9383001C8F82001418 +:10FEB0008FBF00188FB100148FB0001027BD002035 +:10FEC00003E00008A04300BD938200442403000126 +:10FED00027BDFFE8004330042C420020AFB00010E3 +:10FEE000AFBF00142410FFFE10400005274501801D +:10FEF0003C0208008C4231900A0016D600461024BD +:10FF00003C0208008C423194004610241440000743 +:10FF1000240600848F8300142410FFFF9062006287 +:10FF20003042000F34420040A06200620E0015D63D +:10FF300000000000020010218FBF00148FB00010DD +:10FF400003E0000827BD00188F83002427BDFFE0D1 +:10FF5000AFB20018AFB10014AFB00010AFBF001CBB +:10FF60009062000D00A0902130D100FF3042007F50 +:10FF7000A062000D8F8500148E4300180080802140 +:10FF80008CA2007C146200052402000E90A2006383 +:10FF9000344200200A0016FFA0A200630E0016C51E +:10FFA000A38200442403FFFF104300472404FFFF03 +:10FFB00052200045000020218E4300003C0200102A +:10FFC00000621024504000043C020008020020217E +:10FFD0000A00170E24020015006210245040000988 +:10FFE0008E45000002002021240200140E0016C5D8 +:10FFF000A38200442403FFFF104300332404FFFFC7 +:020000021000EC +:100000008E4500003C02000200A2102410400016A1 +:100010003C0200048F8600248CC200148CC30010A4 +:100020008CC40014004310230044102B50400005E2 +:10003000020020218E43002C8CC2001010620003AD +:10004000020020210A00173F240200123C02000493 +:1000500000A210245040001C00002021020020219A +:100060000A00173F2402001300A2102410400006CB +:100070008F8300248C620010504000130000202168 +:100080000A001739020020218C6200105040000441 +:100090008E42002C020020210A00173F240200118A +:1000A00050400009000020210200202124020017F6 +:1000B0000E0016C5A38200442403FFFF1043000274 +:1000C0002404FFFF000020218FBF001C8FB2001806 +:1000D0008FB100148FB000100080102103E00008E1 +:1000E00027BD00208F83001427BDFFD8AFB40020A8 +:1000F000AFB3001CAFB20018AFB10014AFB0001026 +:10010000AFBF0024906200638F91002C2412FFFF88 +:100110003442004092250000A06200638E2200104D +:100120000080982130B0003F105200060360A021EB +:100130002402000D0E0016C5A38200441052005484 +:100140002404FFFF8F8300148E2200188C63007C30 +:1001500010430007026020212402000E0E0016C585 +:10016000A38200442403FFFF104300492404FFFF3F +:1001700024040020120400048F83001490620063A2 +:1001800034420020A06200638F85003410A000205C +:1001900000000000560400048F8200140260202139 +:1001A0000A0017902402000A9683000A9442006015 +:1001B0003042FFFF144300048F8200202404FFFD1F +:1001C0000A0017B7AF82003C3C0208008C42318C19 +:1001D0000045102B14400006026020210000282159 +:1001E0000E001646240600010A0017B70000202161 +:1001F0002402002D0E0016C5A38200442403FFFF35 +:10020000104300232404FFFF0A0017B70000202139 +:10021000160400058F8400148E2300142402FFFFAF +:100220005062001802602021948200602442000184 +:10023000A4820060948200603C0308008C633188D3 +:1002400030427FFF5443000F0260202194820060FF +:100250002403800000431024A48200609082006088 +:1002600090830060304200FF000211C2000210279C +:10027000000211C03063007F00621825A083006077 +:10028000026020210E0015F9240500010000202144 +:100290008FBF00248FB400208FB3001C8FB20018D2 +:1002A0008FB100148FB000100080102103E000080F +:1002B00027BD00288F83001427BDFFE8AFB00010D2 +:1002C000AFBF0014906200638F87002C00808021F4 +:1002D000344200408CE60010A06200633C0308003A +:1002E0008C6331B030C23FFF0043102B1040004EF2 +:1002F0008F8500302402FF8090A3000D004310245E +:10030000304200FF504000490200202100061382C5 +:10031000304800032402000255020044020020215C +:1003200094A2001C8F85001424030023A4A20114AE +:100330008CE60000000616023042003F1043001019 +:100340003C0300838CE300188CA2007C1062000642 +:100350002402000E0E0016C5A38200442403FFFFF2 +:10036000104300382404FFFF8F8300149062006361 +:1003700034420020A06200630A0017FC8F8300242F +:1003800000C31024144300078F83002490A200624E +:100390003042000F34420020A0A20062A38800383F +:1003A0008F8300249062000D3042007FA062000D18 +:1003B0008F83003410600018020020218F840030E9 +:1003C0008C8200100043102B1040000924020018FA +:1003D000020020210E0016C5A38200442403FFFF63 +:1003E000104300182404FFFF0A00182400002021F5 +:1003F0008C820010240500010200202100431023FC +:100400008F830024240600010E001646AC62001003 +:100410000A001824000020210E0015F9240500010F +:100420000A00182400002021020020212402000DCF +:100430008FBF00148FB0001027BD00180A0016C52A +:10044000A38200448FBF00148FB0001000801021E1 +:1004500003E0000827BD001827BDFFC8AFB2002089 +:10046000AFBF0034AFB60030AFB5002CAFB400283A +:10047000AFB30024AFB1001CAFB000188F46012805 +:100480003C0308008C6331A02402FF80AF86004843 +:1004900000C318213065007F03452821006218241D +:1004A0003C02000AAF43002400A2282190A200626F +:1004B00000809021AF850014304200FF000211023D +:1004C000A382003890A200BC304200021440000217 +:1004D00024030034240300308F820014A3830028F7 +:1004E000938300388C4200C0A3800044AF82003C5C +:1004F000240200041062031C8F84003C8E4400041C +:10050000508003198F84003C8E4200103083FFFF1F +:10051000A784003A106002FFAF8200408F8400146D +:100520002403FF809082006300621024304200FFA9 +:10053000144002CF9785003A9383003824020002CA +:1005400030B6FFFF14620005000088219382002866 +:100550002403FFFD0A001B19AF82003C8F82003C80 +:1005600002C2102B144002A18F8400400E0014EC34 +:1005700000000000938300283C040800248477983E +:10058000240200341462002EAF84002C3C0A0800C0 +:100590008D4A77C82402FFFFAFA2001000803821E7 +:1005A0002405002F3C09080025297398240800FF22 +:1005B0002406FFFF90E2000024A3FFFF00062202B2 +:1005C00000C21026304200FF0002108000491021B6 +:1005D0008C420000306500FF24E7000114A8FFF5FD +:1005E0000082302600061027AFA20014AFA2001030 +:1005F0000000282127A7001027A6001400C51023FB +:100600009044000324A2000100A71821304500FFF8 +:100610002CA200041440FFF9A06400008FA2001077 +:100620001142000724020005024020210E0016C5D9 +:10063000A38200442403FFFF104300642404FFFF4F +:100640003C0208009042779C104000098F82001401 +:10065000024020212402000C0E0016C5A382004493 +:100660002403FFFF104300592404FFFF8F8200146E +:10067000A380001C3C0308008C63779C8C440080A2 +:100680003C0200FF3442FFFF006218240083202B4D +:1006900010800008AF83003402402021240200199A +:1006A0000E0016C5A38200442403FFFF1043004739 +:1006B0002404FFFF8F87003C9782003A8F85003427 +:1006C000AF8700200047202310A0003BA784003AFA +:1006D0008F86001430A200030002102390C300BCD8 +:1006E0003050000300B0282100031882307300014D +:1006F0000013108000A228213C0308008C6331A065 +:100700008F8200483084FFFF0085202B004310219A +:1007100010800011244200888F84002C1082000E6B +:100720003C033F013C0208008C42779800431024B0 +:100730003C0325001443000630E500FF8C820000D6 +:10074000ACC200888C8200100A0018E9ACC2009884 +:100750000E001529000030219382001C8F850014A3 +:100760008F830040020238218F82003CA387001C47 +:1007700094A400E4006218218F82003434841000B5 +:10078000AF83004000503021A4A400E41260000EAA +:10079000AF86003C24E20004A382001C94A200E483 +:1007A00024C30004AF83003C34422000A4A200E430 +:1007B0000A001906000020218F820040AF80003C13 +:1007C00000471021AF820040000020212414FFFFC9 +:1007D000109402112403FFFF3C0808008D0877A83D +:1007E0003C0208008C4231B03C03080090637798CB +:1007F00031043FFF0082102B1040001B3067003F88 +:100800003C0208008C4231A88F83004800042180FC +:1008100000621821006418213062007F0342282101 +:100820003C02000C00A228213C020080344200015E +:100830003066007800C230252402FF800062102458 +:10084000AF42002830640007AF4208048F820014D2 +:100850000344202124840940AF460814AF850024B6 +:10086000AF840030AC4301189383003824020003A6 +:10087000146201CF240200012402002610E201D1FB +:1008800028E2002710400013240200322402002234 +:1008900010E201CC28E200231040000824020024CA +:1008A0002402002010E201B82402002110E20147D6 +:1008B000024020210A001AFB2402000B10E201C1B1 +:1008C0002402002510E20010024020210A001AFB39 +:1008D0002402000B10E201AE28E2003310400006B3 +:1008E0002402003F2402003110E2009A024020213D +:1008F0000A001AFB2402000B10E201A5024020218D +:100900000A001AFB2402000B8F90002C3C03080005 +:100910008C6331B08F8500308E0400100000A82158 +:100920008CB3001430823FFF0043102B8CB10020A9 +:100930005040018F0240202190A3000D2402FF802F +:1009400000431024304200FF504001890240202122 +:10095000000413823042000314400185024020212C +:1009600094A3001C8F8200148E040028A443011459 +:100970008CA20010026218231064000302402021A0 +:100980000A00197C2402001F8F82003400621021AB +:100990000262102B104000088F83002402402021A7 +:1009A000240200180E0016C5A382004410540174DE +:1009B0002404FFFF8F8300248F8400348C62001096 +:1009C0000224882100441023AC6200108F8200149E +:1009D000AC7100208C4200680051102B10400009BF +:1009E0008F830030024020212402001D0E0016C516 +:1009F000A38200442403FFFF104301612404FFFF8E +:100A00008F8300308E0200248C6300241043000783 +:100A1000024020212402001C0E0016C5A3820044BF +:100A20002403FFFF104301562404FFFF8F8400249A +:100A30008C82002424420001AC8200241233000482 +:100A40008F8200148C4200685622000E8E02000035 +:100A50008E0200003C030080004310241440000D6F +:100A60002402001A024020210E0016C5A382004471 +:100A70002403FFFF104301422404FFFF0A0019BAB8 +:100A80008E0200143C0300800043102450400003F9 +:100A90008E020014AC8000208E0200142411FFFF8F +:100AA0001051000E3C0308003C0208008C423190BB +:100AB000004310242403001B14400007A3830044B8 +:100AC0000E0016C5024020211051012D2404FFFF05 +:100AD0000A0019CB8E030000A38000448E0300009F +:100AE0003C02000100621024104000123C02008011 +:100AF0000062102414400008024020212402001A41 +:100B00000E0016C5A38200442403FFFF1043011CFE +:100B10002404FFFF02402021020028210E0016E5D8 +:100B2000240600012403FFFF104301152404FFFFE6 +:100B3000241500018F83002402A0302102402021CF +:100B40009462003624050001244200010A001ADFE5 +:100B5000A46200368F90002C3C0308008C6331B0F7 +:100B60008E13001032623FFF0043102B10400089AB +:100B70008F8400302402FF809083000D00431024F6 +:100B8000304200FF104000842402000D0013138245 +:100B900030420003240300011443007F2402000DAF +:100BA0009082000D30420008544000048F820034CF +:100BB000024020210A001A102402002450400004A0 +:100BC0008E03000C024020210A001A102402002784 +:100BD0008C82002054620006024020218E0300080F +:100BE0008C820024506200098E02001402402021F1 +:100BF000240200200E0016C5A38200441054007188 +:100C00002403FFFF0A001A458F8400242411FFFFEC +:100C1000145100048F860014024020210A001A405B +:100C2000240200258E0300188CC2007C1062000391 +:100C30002402000E0A001A40024020218E030024E4 +:100C40008C82002810620003240200210A001A404E +:100C5000024020218E0500288C82002C10A2000367 +:100C60002402001F0A001A40024020218E03002C9B +:100C700014600003240200230A001A4002402021CD +:100C80008CC200680043102B104000032402002691 +:100C90000A001A40024020218C82001400651821AD +:100CA0000043102B104000088F84002402402021B4 +:100CB000240200220E0016C5A382004410510041F8 +:100CC0002403FFFF8F8400242403FFF79082000D8C +:100CD00000431024A082000D8F8600143C030800FE +:100CE0008C6331AC8F82004894C400E08F8500246F +:100CF0000043102130847FFF000420400044102175 +:100D00003043007F034320213C03000E0083202159 +:100D10002403FF8000431024AF42002CA493000062 +:100D20008CA2002824420001ACA200288CA2002C36 +:100D30008E03002C00431021ACA2002C8E02002C4C +:100D4000ACA200308E020014ACA2003494A2003A8F +:100D500024420001A4A2003A94C600E03C0208002C +:100D60008C4231B024C4000130837FFF1462000F35 +:100D700000803021240280000082302430C2FFFF36 +:100D8000000213C2304200FF000210270A001A7E40 +:100D9000000233C02402000D024020210E0016C5BF +:100DA000A38200440A001A84004018218F82001494 +:100DB00002402021240500010E0015F9A44600E0A0 +:100DC000000018210A001B16006088218F90002C5B +:100DD0003C0308008C6331B08E05001030A23FFF49 +:100DE0000043102B104000612402FF808F840030EC +:100DF0009083000D00431024304200FF5040005CFF +:100E0000024020218F8200341040000B0005138225 +:100E10008F8200149763000A944200603042FFFF03 +:100E200014430005000513828F8200202404FFFD77 +:100E30000A001AF3AF82003C304200031440000E57 +:100E40000000000092020002104000058E03002402 +:100E500050600015920300030A001AAF02402021DF +:100E60008C82002450620010920300030240202173 +:100E70000A001AB72402000F9082000D30420008C9 +:100E80005440000992030003024020212402001074 +:100E90000E0016C5A38200442403FFFF1043003850 +:100EA0002404FFFF92030003240200025462000C9A +:100EB000920200038F820034544000099202000322 +:100EC000024020212402002C0E0016C5A3820044FB +:100ED0002403FFFF1043002A2404FFFF92020003B3 +:100EE0000200282102402021384600102CC60001B3 +:100EF0002C4200010E0016E5004630252410FFFFAD +:100F00001050001F2404FFFF8F8300341060001373 +:100F1000024020213C0208008C42318C0043102BFF +:100F200014400007000000000000282124060001F2 +:100F30000E001646000000000A001AF300002021EF +:100F40002402002D0E0016C5A38200441050000C90 +:100F50002404FFFF0A001AF3000020210E0015F9F7 +:100F6000240500010A001AF300002021024020217C +:100F70002402000D0E0016C5A3820044004020216B +:100F80000A001B16008088211514000E00000000C6 +:100F90000E00174C024020210A001B160040882139 +:100FA0000E0016C5A38200440A001B1600408821CB +:100FB00014620017022018212402002314E2000505 +:100FC0002402000B0E0017C0024020210A001B164D +:100FD0000040882102402021A38200440E0016C553 +:100FE0002411FFFF0A001B170220182130A500FF63 +:100FF0000E001529240600019783003A8F82003CD9 +:10100000A780003A00431023AF82003C0220182141 +:101010001220003E9782003A2402FFFD5462003EF7 +:101020008E4300208E4200048F830014005610234C +:10103000AE420004906200633042007FA062006311 +:101040008E4200208F840014A780003A34420002B0 +:10105000AE420020A48000E4908200632403FFBF1E +:1010600000431024A08200630A001B598E43002015 +:101070009082006300621024304200FF1040002381 +:101080009782003A90820088908300BD2485008872 +:101090003042003F2444FFE02C820020A383001C48 +:1010A00010400019AF85002C2402000100821804B2 +:1010B000306200191440000C3C02800034420002EF +:1010C000006210241440000B306200201040000F1A +:1010D0009782003A90A600010240202124050001D9 +:1010E0000A001B5330C60001024020210A001B5297 +:1010F00024050001024020210000282124060001CF +:101100000E001646000000009782003A1440FD04CD +:101110008F8400148E4300203062000410400012BF +:101120008F84003C2402FFFB00621024AE420020AA +:10113000274301808F4201B80440FFFE8F820048A0 +:10114000AC6200008F420124AC6200042402608380 +:10115000A462000824020002A062000B3C021000FE +:10116000AF4201B88F84003C8F8300148FBF0034DE +:101170008FB600308FB5002C8FB400288FB30024B9 +:101180008FB200208FB1001C8FB000182402000124 +:1011900027BD003803E00008AC6400C030A500FFA4 +:1011A0002403000124A900010069102B1040000C49 +:1011B00000004021240A000100A31023004A380443 +:1011C00024630001308200010069302B10400002CE +:1011D000000420420107402554C0FFF800A310235B +:1011E00003E00008010010213C020800244260A432 +:1011F0003C010800AC22738C3C02080024425308D6 +:101200003C010800AC2273902402000627BDFFE0D9 +:101210003C010800A02273943C021EDCAFB200180F +:10122000AFB10014AFBF001CAFB0001034526F411B +:1012300000008821240500080E001B7A02202021CE +:10124000001180803C07080024E773980002160014 +:1012500002071821AC6200000000282124A200012E +:101260003045FFFF8C6200002CA6000804410002FC +:10127000000220400092202614C0FFF8AC64000059 +:10128000020780218E0400000E001B7A2405002036 +:10129000262300013071FFFF2E2301001460FFE5BB +:1012A000AE0200008FBF001C8FB200188FB1001477 +:1012B0008FB0001003E0000827BD002027BDFFD835 +:1012C000AFB3001CAFB20018AFBF0020AFB1001425 +:1012D000AFB000108F5101408F48014800089402C0 +:1012E000324300FF311300FF8F4201B80440FFFE7C +:1012F00027500180AE1100008F420144AE0200046D +:1013000024020002A6120008A202000B240200140C +:10131000AE1300241062002528620015104000085A +:101320002402001524020010106200302402001272 +:10133000106200098FBF00200A001CB58FB3001C8B +:101340001062007024020022106200378FBF00205C +:101350000A001CB58FB3001C3C0208008C4231A06F +:101360002403FF800222102100431024AF420024F6 +:101370003C0208008C4231A0022210213042007F42 +:10138000034218213C02000A00621821166000BCCA +:10139000AF830014906200623042000F344200308C +:1013A000A06200620A001CB48FBF00203C046000F1 +:1013B0008C832C083C02F0033442FFFF00621824A7 +:1013C000AC832C083C0208008C4231A08C832C0892 +:1013D000244200740002108200021480006218256A +:1013E000AC832C080A001CB48FBF00203C0208000C +:1013F0008C4231A02403FF800222102100431024DC +:10140000AF4200243C0208008C4231A03C03000A99 +:10141000022210213042007F03421021004310219C +:101420000A001CB3AF8200143C0208008C4231A0B9 +:101430002405FF800222102100451024AF42002421 +:101440003C0208008C4231A0022210213042007F71 +:10145000034218213C02000A0062182190620063D6 +:1014600000A21024304200FF10400085AF8300141A +:1014700024620088944300123C0208008C4231A888 +:1014800030633FFF00031980022210210043102126 +:101490003043007F03432021004510243C03000C0F +:1014A00000832021AF4200289082000D00A210246A +:1014B000304200FF10400072AF8400249082000D83 +:1014C000304200101440006F8FBF00200E0015C87E +:1014D000000000008F4201B80440FFFE0000000041 +:1014E000AE1100008F420144AE020004240200024B +:1014F000A6120008A202000BAE1300240A001CB4BE +:101500008FBF00202406FF8002261024AF42002057 +:101510003C0208008C4231A031043FFF00042180CE +:101520000222102100461024AF4200243C03080090 +:101530008C6331A83C0208008C4231A03227007F26 +:101540000223182102221021006418213042007F5A +:101550003064007F034228213C02000A0066182400 +:1015600000A22821034420213C02000C00822021FB +:10157000AF4300283C020008034718210062902175 +:10158000AF850014AF8400240E0015C8010080212F +:101590008F4201B80440FFFE8F8200248F84001424 +:1015A000274501809042000DACB10000A4B00006B8 +:1015B000000216000002160300021027000237C2C4 +:1015C00014C00016248200889442001232033FFFA8 +:1015D00030423FFF14430012240260829083006374 +:1015E0002402FF8000431024304200FF5040000CD2 +:1015F00024026082908200623042000F3442004038 +:10160000A082006224026084A4A200082402000DCB +:10161000A0A200050A001C9E3C0227002402608252 +:10162000A4A20008A0A000053C02270000061C00A0 +:101630000062182524020002A0A2000BACA3001037 +:10164000ACA00014ACA00024ACA00028ACA0002CDE +:101650008E42004C8F840024ACA200189083000DB1 +:101660002402FF8000431024304200FF1040000598 +:101670008FBF00209082000D3042007FA082000DBD +:101680008FBF00208FB3001C8FB200188FB10014E1 +:101690008FB000103C02100027BD002803E00008B6 +:1016A000AF4201B80800343008003430080033A8D5 +:1016B000080033E0080034140800343808003438D7 +:1016C00008003438080033180A0001240000000024 +:1016D000000000000000000D747061362E322E33C1 +:1016E00000000000060203010000000000000000EE +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000001000000376 +:10176000000000000000000D0000000D3C02080019 +:1017700024421C003C03080024632094AC40000079 +:101780000043202B1480FFFD244200043C1D080070 +:1017900037BD2FFC03A0F0213C1008002610049058 +:1017A0003C1C0800279C1C000E00015C000000008F +:1017B0000000000D3084FFFF308200078F85001885 +:1017C00010400002248300073064FFF800853021B8 +:1017D00030C41FFF03441821247B4000AF85001C48 +:1017E000AF84001803E00008AF4400843084FFFF9A +:1017F000308200078F8500208F860028104000026D +:10180000248300073064FFF8008520210086182B10 +:1018100014600002AF8500240086202303442821A1 +:1018200034068000AF840020AF44008000A6202151 +:1018300003E00008AF84003827BDFFD8AFB3001C19 +:10184000AFB20018AFB00010AFBF0024AFB400209B +:10185000AFB100143C0860088D1450002418FF7FBD +:101860003C1A8000029898243672380CAD12500051 +:101870008F5100083C07601C3C08600036300001B6 +:10188000AF500008AF800018AF400080AF40008428 +:101890008CE600088D0F08083C0760168CEC0000F1 +:1018A00031EEFFF039CA00103C0DFFFF340B800011 +:1018B0003C030080034B48212D440001018D282466 +:1018C0003C0253533C010800AC230420AF8900388C +:1018D000AF860028AF840010275B400014A20003ED +:1018E00034E37C008CF90004032818218C7F007CF1 +:1018F0008C6500783C0280003C0B08008D6B048CEA +:101900003C0A08008D4A048834520070AF85003CC0 +:10191000AF9F00403C13080026731C440240A021E6 +:101920008E4800008F46000038C30001306400017B +:1019300010800017AF880034028048218D2F0000EE +:101940003C0508008CA5045C3C1808008F1804585E +:1019500001E8102300A280210000C8210202402BD0 +:1019600003198821022838213C010800AC30045CAE +:101970003C010800AC2704588F4E000039CD00010F +:1019800031AC00011580FFED01E04021AF8F003444 +:101990008E5100003C0708008CE7045C3C0D0800F9 +:1019A0008DAD04580228802300F0602100007021D2 +:1019B0000190302B01AE1821006620213C01080067 +:1019C000AC2C045C3C010800AC2404588F46010890 +:1019D0008F47010030C92000AF860000AF87000CA0 +:1019E0001120000A00C040213C1808008F18042C68 +:1019F000270800013C010800AC28042C3C184000DA +:101A0000AF5801380A000196000000009749010410 +:101A100000002821014550213122FFFF0162582199 +:101A20000162F82B015F502130D902003C0108000F +:101A3000AC2B048C3C010800AC2A0488172000154C +:101A400024040F0010E400130000000024080D001F +:101A500010E8023B30CD000611A0FFE93C18400021 +:101A6000936E00002409001031C400F01089027147 +:101A700024020070108202E58F880014250F0001F7 +:101A8000AF8F00143C184000AF5801380A0001968F +:101A900000000000974C01041180FFD93C18400061 +:101AA00030C34000146000A1000000008F460178A0 +:101AB00004C0FFFE8F87003824100800240F0008A0 +:101AC0008CE30008AF500178A74F0140A7400142C6 +:101AD000974E01048F86000031C9FFFF30CD000111 +:101AE00011A002E1012040212531FFFE241800024F +:101AF000A75801463228FFFFA75101483C190800AA +:101B00008F39043C172002D08F8C000C30DF00206E +:101B100017E00002240400092404000130C20C0074 +:101B2000240504005045000134840004A744014A00 +:101B30003C1108008E3104203C1800483C10000184 +:101B40000238182530CF00020070282511E000046B +:101B5000000018213C19010000B9282524030001C8 +:101B600030DF000453E00005AF8300083C0600109E +:101B700000A6282524030001AF830008AF4510000C +:101B80000000000000000000000000000000000055 +:101B90008F83000810600023000000008F451000B4 +:101BA00004A1FFFE000000001060001E0000000005 +:101BB0008F4410003C0C0020008C102410400019B1 +:101BC0008F8E000031CD000211A000160000000031 +:101BD000974F101415E000130000000097591008EB +:101BE0003338FFFF271100060011188200033080F0 +:101BF00000C7282132300001322300031200032CD9 +:101C00008CA200000000000D00C7F821AFE2000028 +:101C10003C0508008CA5043024A600013C01080006 +:101C2000AC2604308F6D00003402FFFFAF8D00043E +:101C30008CEC0000118202A6000020218CED000037 +:101C400031AC01001180028A000000003C02080053 +:101C50008C4204743C0308008C63044C3C1F080055 +:101C60008FFF04703C1808008F1804480048382182 +:101C70000068802100E8282B03E430210208402B73 +:101C80000304882100C57021022878213C01080046 +:101C9000AC30044C3C010800AC2F04483C01080067 +:101CA000AC2704743C010800AC2E04708F8400182B +:101CB0000120302131290007249F000833F91FFF3C +:101CC00003594021AF84001CAF990018251B400028 +:101CD000AF590084112000038F83002024C2000725 +:101CE0003046FFF88F84002800C3282100A4302B41 +:101CF00014C00002AF83002400A428230345602100 +:101D0000340D8000018D10213C0F1000AF850020A4 +:101D1000AF820038AF450080AF4F01788F88001444 +:101D2000250F00010A0001EFAF8F00148F62000839 +:101D30008F670000240500300007760231C300F0F1 +:101D4000106500A7240F0040546FFF4C8F880014CB +:101D50008F4B01780560FFFE0000000030CA0200D2 +:101D600015400003000612820000000D00061282DA +:101D7000304D0003000D4900012D18210003808023 +:101D8000020D402100086080019380218E1F000019 +:101D900017E00002000000000000000D8F6E00043C +:101DA00005C202BD92070006920E000592020004D1 +:101DB0003C090001000E18800070F8218FED00181A +:101DC000277100082448000501A96021000830821D +:101DD000AFEC0018022020210E00059E26050014FD +:101DE000920A00068F7900043C0B7FFF000A2080D6 +:101DF000009178218DF800043566FFFF0326282422 +:101E000003053821ADE70004920E0005920D000491 +:101E1000960C0008000E10800051C8218F2300008E +:101E2000974901043C07FFFF006758243128FFFF52 +:101E3000010DF82103EC50233144FFFF01643025EC +:101E4000AF260000920300072418000110780275E5 +:101E5000240F0003106F0285000000008E050010A3 +:101E60002419000AA7590140A7450142921800040D +:101E70008F860000240F0001A7580144A7400146A7 +:101E80009747010430D100023C050041A7470148B3 +:101E900000001821A74F014A1220000330CB000494 +:101EA0003C0501412403000151600005AF83000897 +:101EB0003C06001000A6282524030001AF8300087B +:101EC000AF4510000000000000000000000000000E +:101ED000000000008F8A000811400004000000008C +:101EE0008F4410000481FFFE000000008F6B000093 +:101EF000920800043C1108008E310444AF8B0004AA +:101F000097590104311800FF3C0E08008DCE0440A3 +:101F10003325FFFF0305382102276021000010212F +:101F2000250F000A31E8FFFF0187482B01C2682115 +:101F300001A9F821311000073C010800AC2C044431 +:101F40003C010800AC3F0440120000038F8C0018D5 +:101F50002506000730C8FFF8010C682131BF1FFFBC +:101F6000AF8C001CAF9F0018AF5F00849744010442 +:101F7000035F80213084FFFF308A00071140000397 +:101F8000261B4000248900073124FFF88F8200209F +:101F90008F850028008220210085702B15C000024B +:101FA000AF820024008520233C0B08008D6B048C3D +:101FB0003C0A08008D4A04880344882134038000C9 +:101FC000022310213C0F1000AF840020AF820038A4 +:101FD000AF440080AF4F01780A0002968F8800144A +:101FE0008F5001780600FFFE30D10200162000035A +:101FF000000612820000000D00061282305F00030E +:10200000001F1900007F302100062080009FC8219A +:1020100000194880013380218E180000130000024F +:10202000000000000000000D8F6C000C058001FB1B +:102030008F870038240E0001AE0E00008CE30008EC +:10204000A20000078F65000400055402314D00FF17 +:1020500025A80005000830822CCB00411560000245 +:10206000A20A00040000000D8F7800043C03FFFF6B +:1020700000E02821330BFFFF256C000B000C1082C1 +:1020800000022080008748218D3F000026040014B4 +:10209000A618000803E3C8240E00059EAD39000011 +:1020A0008F4F01083C11100001F1382410E001AB02 +:1020B00000000000974D01049208000725AAFFECDC +:1020C000350600023144FFFFA2060007960600080D +:1020D0002CC7001354E0000592030007921100077B +:1020E000362F0001A20F00079203000724180001F9 +:1020F000107801C224090003106901D58F880038C7 +:1021000030CBFFFF257100020011788331E400FF1E +:1021100000042880A20F000500A848218D2D000092 +:10212000974A01043C0EFFFF01AEF8243143FFFF44 +:10213000006B1023244CFFFE03ECC825AD390000D2 +:10214000920600053C03FFF63462FFFF30D800FF23 +:102150000018388000F08821922F00143C04FF7F83 +:102160003487FFFF31EE000F01C65821316500FFB3 +:1021700000055080015068218DAC00200148F821F5 +:10218000A20B00060182C824AE0C000CAFF9000CB3 +:10219000920900068E11000C032778240009C080E4 +:1021A0000310702195C60026030828210227202449 +:1021B000AE04000CADCF0020ADC60024ACA60010CC +:1021C0008F8800003C0B08008D6B048C3C0A0800D3 +:1021D0008D4A0488241F001024190002A75F0140C3 +:1021E000A7400142A7400144A7590146974901046D +:1021F00024070001310600022538FFFEA7580148D8 +:102200003C050009A747014A10C00003000018213F +:102210003C05010924030001310C00045180000534 +:10222000AF8300083C08001000A828252403000103 +:10223000AF830008AF451000000000000000000060 +:1022400000000000000000009205000424AE00021F +:1022500031CD0007000D182330620007AE020010D8 +:102260008F90000812000004000000008F4F100043 +:1022700005E1FFFE000000008F7100008F8E001846 +:102280003C0308008C630444AF91000497450104AB +:1022900025CF001031E61FFF30A2FFFFAF8E001CDC +:1022A000AF860018AF4600842449FFFE3C0C0800AE +:1022B0008D8C0440974D010401208021000947C303 +:1022C0000070C02131A9FFFF0310F82B0188C8213D +:1022D000033F202103463821313100073C0108002B +:1022E000AC3804443C010800AC2404401220000334 +:1022F00024FB40002527000730E9FFF88F860020E7 +:102300008F8400280126382100E4C02B170000022A +:10231000AF86002400E438230347202134198000CD +:10232000009910213C0F1000AF870020AF820038C9 +:10233000AF470080AF4F01780A0002968F880014E3 +:102340009747010410E0FDAE3C1840008F5801781B +:102350000700FFFE30C5400010A000033C1F00082E +:102360000000000D3C1F0008AF5F01402410080072 +:102370008F860000AF5001789744010430D90001E6 +:10238000132000ED3086FFFF24CCFFFE240D000259 +:10239000A74D0146A74C01488F9100182408000D55 +:1023A000A748014A8F630000262F000831E21FFF73 +:1023B0000342702130C90007AF830004AF91001CB5 +:1023C000AF82001800C03821AF4200841120000302 +:1023D00025DB400024D800073307FFF88F85002055 +:1023E0008F84002800E5302100C4382B14E000025F +:1023F000AF85002400C430238F8400140346F821E5 +:10240000340C8000AF86002003EC8021AF460080B2 +:10241000249900013C0610003C184000AF460178AA +:10242000AF900038AF990014AF5801380A000196F8 +:10243000000000008F630000975101043067FFFF28 +:102440003228FFFF8F4F017805E0FFFE30EC0007D8 +:10245000000CF82333F0000724F9FFFE2404000ADF +:10246000A7440140A7500142A7590144A740014693 +:10247000A74801488F45010830B800201700000226 +:10248000240300092403000130CD0002A743014AC0 +:102490003C04004111A00003000018213C0401414C +:1024A0002403000130C9000451200005AF83000857 +:1024B0003C0600100086202524030001AF8300089D +:1024C000AF44100000000000000000000000000009 +:1024D000000000008F8E000811C000040000000002 +:1024E0008F4210000441FFFE000000008F7F0000BB +:1024F000276400088F91003CAF9F0004948500087A +:102500009490000A9499000C30AFFFFF0010C400B3 +:102510003323FFFF11F100A6030320253C0E080022 +:102520008DCE04443C0C08008D8C044000E88821CA +:102530002626FFFE01C628210000682100A6F82BF0 +:10254000018D2021009F80213C010800AC2504441E +:102550003C010800AC30044024E200083042FFFF98 +:102560003047000710E000038F830018244F000756 +:1025700031E2FFF83106FFFF30C800070043802139 +:1025800032191FFF0359C021AF83001CAF990018F7 +:10259000271B4000AF590084110000038F8C0020DE +:1025A00024C5000730A6FFF88F84002800CC28211E +:1025B00000A4F82B17E00002AF8C002400A428230D +:1025C000AF850020AF4500803C0408008C840434B3 +:1025D00003454821340E8000012E6821108000053B +:1025E000AF8D0038939100172406000E12260011BB +:1025F0002407043F3C021000AF4201788F8800148A +:10260000250F00010A0001EFAF8F00140E0005C472 +:1026100000E020218F8800143C0B08008D6B048C97 +:102620003C0A08008D4A0488250F00010A0001EFCA +:10263000AF8F00143C021000A7470148AF42017859 +:102640000A0004CE8F88001424040F001184003D7A +:1026500030CE002015C0000224030009240300012D +:102660000A00021AA743014A0A00020DA7400146C8 +:1026700094EF000894F1000A94F0000C8F8C003C59 +:10268000001174003207FFFF31EDFFFF11AC00377E +:1026900001C720253C1808008F1804443C0F08008F +:1026A0008DEF0440000080210308682101A8382B29 +:1026B00001F0702101C760213C010800AC2D0444E9 +:1026C0003C010800AC2C04400A00027A8F840018F8 +:1026D0003C0208008C42047C3C0308008C630454D8 +:1026E0003C1F08008FFF04783C1808008F18045026 +:1026F000004838210068802100E8282B03E43021BD +:102700000208402B0304882100C57021022878218B +:102710003C010800AC3004543C010800AC2F0450CC +:102720003C010800AC27047C3C010800AC2E047876 +:102730000A00027A8F840018A74001460A00043577 +:102740008F91001830CD002015A0FFC52403000D87 +:10275000240300050A00021AA743014A974E010408 +:1027600025C5FFF00A00038130A4FFFF8F980040C9 +:102770001498FFC8000010213C0508008CA5046CCB +:102780003C1F08008FFF046800A8C8210328302BD5 +:1027900003E22021008640213C010800AC39046C92 +:1027A0003C010800AC2804680A00027A8F840018F3 +:1027B0008F8C0040148CFF5900E8C8213C18080099 +:1027C0008F18046C3C1108008E3104682723FFFE2B +:1027D00003034821000010210123302B0222702125 +:1027E00001C668213C010800AC29046C3C010800CA +:1027F000AC2D04680A0004A524E200088F88003884 +:102800003C03FFFF8D02000C0043F82403E4C825BD +:10281000AD19000C0A00038F30CBFFFF0A0003C381 +:10282000AE000000974A0104920400048E26000CBA +:10283000014458212579FFF200C7C0243325FFFF4A +:1028400003053825AE27000C0A0002E68E050010AD +:102850003C0DFFFF8D0A0010014D582401646025D6 +:10286000AD0C00100A00038F30CBFFFF974301042B +:10287000920E00048E290010006E1021244DFFEEF0 +:102880000127602431A8FFFF0188F825AE3F001022 +:102890000A0002E68E0500108E0F000CAE0000004C +:1028A00000078880023028210A0002B8ACAF00205F +:1028B0001460000D3058FFFF3C04FFFF0044682403 +:1028C00001A47026000E602B000D102B004CF82484 +:1028D00013E00002000000000000000D8CAF0000BB +:1028E0000A00025001E410253B03FFFF0003882B80 +:1028F0000018802B0211202410800002000000002C +:102900000000000D8CB900000A0002503722FFFFC2 +:102910003084FFFF30A5FFFF108000070000182162 +:10292000308200011040000200042042006518219E +:102930001480FFFB0005284003E000080060102120 +:1029400010C00007000000008CA2000024C6FFFF9A +:1029500024A50004AC82000014C0FFFB2484000402 +:1029600003E000080000000010A0000824A3FFFFFF +:10297000AC86000000000000000000002402FFFF01 +:102980002463FFFF1462FFFA2484000403E00008BC +:1029900000000000308EFFFF30D8FFFF00057C00F4 +:1029A00001F8602539CDFFFF01AC5021014C582BB7 +:1029B000014B4821000944023127FFFF00E8302184 +:1029C0000006240230C5FFFF00A418213862FFFF73 +:1029D00003E000083042FFFF3C0C08008D8C0484AB +:1029E000240BFF8027BDFFD001845021014B4824D8 +:1029F000AF4900203C0808008D080484AFB20020D5 +:102A0000AFB00018AFBF0028AFB30024AFB1001CB7 +:102A1000936600040104382130E4007F009A1021FD +:102A20003C0300080043902130C500200360802152 +:102A30003C080111277B000814A000022646007004 +:102A40002646006C9213000497510104920F000473 +:102A50003267000F322EFFFF31ED004001C72823FF +:102A600011A0000500004821925900BC3338000431 +:102A70001700009000000000924300BC307F00046B +:102A800013E0000F0000000010A0000D0000000087 +:102A9000960E0002240AFF8000A7602125CDFFFECC +:102AA000A74D1016920B0004014B2024308200FF2A +:102AB00010400085010C40253C0F0400010F40250B +:102AC0008F5301780660FFFE2404000AA7440140EA +:102AD000960D00022404000931AC0007000C5823B5 +:102AE000316A0007A74A0142960200022443FFFE12 +:102AF000A7430144A7400146975F0104A75F01482F +:102B00008F590108333800205300000124040001CC +:102B1000920F000431EE001015C000023483001043 +:102B200000801821A743014A0000000000000000B7 +:102B30000000000000000000AF481000000000008E +:102B40000000000000000000000000008F51100095 +:102B50000621FFFE3113FFFF12600003000000009A +:102B60008F481018ACC8000096030006307FFFFFA6 +:102B700027F900020019988200138880023B302157 +:102B80008CD800001520005700183402920300046E +:102B90002405FF8000A3F82433F100FF1220002C4D +:102BA00000000000924700BC30F2000212400028F2 +:102BB00000000000974B100C2562FFFEA742101684 +:102BC000000000003C0A040035490030AF49100005 +:102BD00000000000000000000000000000000000F5 +:102BE0008F4C10000581FFFE000000009749100C7B +:102BF0008F51101C00C020213127FFFF24F200302C +:102C0000001218820003288000BBF8213226FFFF43 +:102C1000AFF100000E0005B300112C020013C880B4 +:102C2000033B98218E78000000027400AFB80010BA +:102C30008FA80010310FFFFFAFAF00108FA400105E +:102C400001C46825AFAD00108FA60010AE6600006D +:102C500097730008976D000A9766000C8F8A003CF6 +:102C6000000D5C0030CCFFFF3262FFFF104A0036DF +:102C7000016C2025960600023C10100024D30008A9 +:102C80000E00013B3264FFFF974C01040E00014926 +:102C90003184FFFFAF5001788FBF00288FB300242D +:102CA0008FB200208FB1001C8FB0001803E0000825 +:102CB00027BD003010A0FF700000000024A5FFFC1D +:102CC0000A0005EC240900048CD10000AF51101853 +:102CD0008F5301780660FF7A2404000A0A00060177 +:102CE0000000000000A7C8218F8800388F4E101CFC +:102CF0000019C0820018788001E82021AC8E000005 +:102D0000000E2C0200C020210E0005B331C6FFFFCB +:102D1000023B28218CAD000000025400004030210D +:102D2000AFAD00108FAC0010318BFFFFAFAB0010C8 +:102D30008FA2001001424825AFA900108FA70010F4 +:102D40000A000631ACA700008F8F0040148FFFC926 +:102D50000000000097420104960B00023C050800A9 +:102D60008CA5046C3049FFFF316AFFFF3C1108005D +:102D70008E310468012A382124F2FFFE00B240217E +:102D80000012FFC30112C82B023FC02103192021EA +:102D90003C010800AC28046C3C010800AC24046829 +:102DA0000A00066B0000000000A4102B1040000970 +:102DB000240300010005284000A4102B04A00003F8 +:102DC000000318405440FFFC000528401060000735 +:102DD000000000000085302B14C0000200031842E0 +:102DE000008520231460FFFB0005284203E0000853 +:102DF000008010218F85002C27BDFFE800053027BB +:102E00002CC300012CA400020083102510400003F5 +:102E1000AFBF00102405007FAF85002C00052827D8 +:102E200030A5FFFF0E000592240426F58F830030A5 +:102E3000240402BD004030210083382B10E000093B +:102E400024050001000420400083102B04800003AF +:102E5000000528405440FFFC0004204010A000085A +:102E600000C350210064402B1500000200052842D9 +:102E70000064182314A0FFFB0004204200C350216B +:102E80008FBF0010000A4C02312200FF27BD00183E +:102E9000AF8A002C03E00008AF8900300A00002A46 +:102EA00000000000000000000000000D7478703683 +:102EB0002E322E3300000000060203000000000046 +:102EC000000001360000EA60000000000000000081 +:102ED00000000000000000000000000000000000F2 +:102EE00000000000000000000000000000000000E2 +:102EF00000000000000000000000000000000016BC +:102F000000000000000000000000000000000000C1 +:102F100000000000000000000000000000000000B1 +:102F200000000000000000000000000000000000A1 +:102F3000000000000000138800000000000005DC15 +:102F4000000000000000000010000003000000006E +:102F50000000000D0000000D3C02080024423C204F +:102F60003C03080024633DD4AC4000000043202B08 +:102F70001480FFFD244200043C1D080037BD7FFC87 +:102F800003A0F0213C100800261000A83C1C0800FB +:102F9000279C3C200E0002BA000000000000000D3B +:102FA0008F8300383C088000350700708CE50000F6 +:102FB000008330253C02900000C22025AF85003000 +:102FC000AF4400208F4900200520FFFE3C03800015 +:102FD000346200708C4500008F8600303C19080078 +:102FE0008F39007C3C0E08008DCE007800A620238F +:102FF00003245821000078210164682B01CF60214F +:10300000018D50213C010800AC2B007C3C010800E4 +:10301000AC2A007803E00008000000000A0000412C +:10302000240400018F8400383C05800034A2000194 +:103030000082182503E00008AF43002003E00008E9 +:10304000000010213084FFFF30A5FFFF1080000733 +:1030500000001821308200011040000200042042CC +:10306000006518211480FFFB0005284003E00008DC +:103070000060102110C00007000000008CA20000BA +:1030800024C6FFFF24A50004AC82000014C0FFFB8F +:103090002484000403E000080000000010A00008E1 +:1030A00024A3FFFFAC860000000000000000000029 +:1030B0002402FFFF2463FFFF1462FFFA248400044C +:1030C00003E0000800000000308AFFFF93A800130F +:1030D000A74A014497490E1630C600FF3C02100073 +:1030E000A7490146AF450148A3460152A748015AE6 +:1030F000AF4701608FA400188FA30014A7440158A4 +:10310000AF43015403E00008AF42017803E0000838 +:10311000000000003C038000346200708C49000015 +:103120008F8800002484000727BDFFF83084FFF853 +:10313000AF890030974D008A31ACFFFFAFAC000083 +:103140008FAB0000016850232547FFFF30E61FFFCB +:1031500000C4282B14A0FFF73C0C8000358B0070B6 +:103160008D6A00003C0708008CE700843C060800DC +:103170008CC6008000081082014918230002788064 +:1031800000E370210000202101C3C82B00C4C0212E +:1031900001FA4021031948212502400027BD0008FB +:1031A0003C010800AC2E00843C010800AC290080E2 +:1031B00003E00008000000008F8200002486000762 +:1031C00030C5FFF800A2182130641FFF03E000089B +:1031D000AF8400008F8700388F8A004027BDFFB87A +:1031E0008F860044AFB60040AFBF0044AFB5003C8F +:1031F000AFB40038AFB30034AFB20030AFB1002C81 +:10320000AFB000288F4501048D4900ACAF47008066 +:103210008CC8002000A938230000B021AF480E1050 +:103220008F440E1000004821AF440E148CC20024BD +:10323000AF420E188F430E18AF430E1C10E001254D +:103240002D230001936B0008116000D400000000E2 +:10325000976E001031CDFFFF00ED602B158000CF81 +:103260000000000097700010320FFFFFAF4F0E00FC +:103270008F520000325100081220FFFD00000000B4 +:1032800097540E088F460E043285FFFF30B30001BD +:1032900012600132000000000000000D30B8A040B4 +:1032A00024150040131500C030A9A0001120012DE5 +:1032B00000000000937F000813E0000800000000F9 +:1032C00097630010306BFFFF00CB402B1100000311 +:1032D00030AC00401180012300000000A785003CB5 +:1032E000AF8600349366000800E02821AFA70020D5 +:1032F00014C0012427B30020AF60000C9782003C6B +:103300003047400014E00002240300162403000E9E +:1033100024194007A363000AAF790014938A003E82 +:103320008F740014315800070018AA4002959025A8 +:10333000AF7200149784003C8F700014309100101D +:1033400002117825AF6F0014978E003C31CD000834 +:1033500011A00147000028218F6700143C021000D3 +:103360003C0C810000E22825AF65001497460E0A48 +:103370002408000E3405FFFC30C3FFFF006C582505 +:10338000AF6B0004A3680002937F000A27E90004E2 +:10339000A369000A9786003C9363000A30CC1F00A3 +:1033A000000C598301634021251F0028A37F0009D9 +:1033B00097490E0CA769001093790009272A00028B +:1033C000315800070018A82332B10007A371000B81 +:1033D00093740009976400108F910034978F003C1C +:1033E000329200FF024480210205702131ED00403D +:1033F00011A0000531C4FFFF0091282B3C12800072 +:1034000010A000140000A0210224382B14E0011B9E +:103410008FA500208F4D0E14AF4D0E108F420E1C45 +:10342000AF420E18AF440E008F4F000031EE00087F +:1034300011C0FFFD0000000097540E080080882195 +:1034400000009021A794003C8F500E04241400012A +:10345000AF900034976400103095FFFF8E68000035 +:103460000111F82317E00009AE7F00008F650014FA +:103470008F8B004434A60040AF6600148F4C0E10B2 +:10348000AD6C00208F430E18AD63002493670008D5 +:1034900014E000D2000000000E00009E2404001082 +:1034A0008F8900483C08320000402821312600FF67 +:1034B0000006FC0003E8502525390001AF990048BB +:1034C000AC4A0000937800099370000A330400FFAF +:1034D00000047400320F00FF01CF6825AC4D0004DA +:1034E0008F820048064000EAACA20008ACA0000CA5 +:1034F0009783003C306B0008156000022628000608 +:1035000026280002974E0E148F450E1C8F6700046C +:10351000936D000231C4FFFF31A200FFAFA2001083 +:103520008F6C0014AFA800180E00008BAFAC001415 +:10353000240400100E0000C7000000008E7200007E +:1035400016400005000000008F6400142405FFBF32 +:1035500000859824AF7300148F79000C033538214F +:10356000AF67000C9375000816A00008000000006B +:1035700012800006000000008F7F00143C0BEFFF5C +:103580003568FFFE03E84824AF690014A3740008FF +:103590008FA500200A00024602202021AF470E001E +:1035A0000A0000F5000000008F5901780720FFFE97 +:1035B000241F08008F840000AF5F0178974B008ABA +:1035C000316AFFFF014448232528FFFF31021FFF16 +:1035D0002C4300081460FFF9000000008F8E0048A3 +:1035E0008F8D003800C048210344202125C60001EA +:1035F000240C0F00AF86004800E9382324864000E1 +:1036000031CA00FF11AC0005240800019391003E6F +:103610003230000700107A4035E80001000AAC00A3 +:103620003C18010002B8A025AC9440008F930048DC +:1036300030B2003630A40008ACD3000410800097EC +:1036400001123025974E0E0A8F8D00003C0281003A +:1036500031CCFFFF25AB0008018240253C03100060 +:1036600031651FFF25390006241F000EAF48016099 +:1036700000C33025A75F015AAF850000A759015844 +:1036800014E0000A8F93003824120F0052720002D7 +:103690002416000134C600408F580E108F94004449 +:1036A000AE9800208F550E18AE9500248F450E144D +:1036B000AF4501448F590E1CAF590148A34A01522E +:1036C0003C0A1000AF460154AF4A017814E0FEDD19 +:1036D0002D2300010076A025128000178FBF004423 +:1036E0008F84003824160F0010960084000000001C +:1036F0008F45017804A0FFFE24150F001095006E81 +:10370000000000008F470E14240202403C1F1000EE +:10371000AF4701448F440E1CAF440148A3400152FF +:10372000A740015AAF400160A7400158AF42015481 +:10373000AF5F01788FBF00448FB600408FB5003C6B +:103740008FB400388FB300348FB200308FB1002CAB +:103750008FB0002803E0000827BD004814C0FED049 +:1037600030B8A0408F420E148F84004400004821DE +:10377000AC8200208F510E1CAC9100240A00020E76 +:103780002D2300018F910034978A003C3C12800069 +:103790000220A821315800401700FF300000A0216E +:1037A000976900108F9200343139FFFF13320035D2 +:1037B00000002021008048211480FEA000A03821B4 +:1037C0008F420E148F840044AC8200208F510E1C57 +:1037D000AC9100240A00020E2D230001936A000917 +:1037E0009378000B315000FF330F00FF020F702160 +:1037F00025C2000A3050FFFF0E00009E020020216B +:103800008F8600483C1F410024CD0001AF8D004849 +:10381000936C000930C600FF00064400318300FFAE +:10382000246B0002010B4825013FC825AC5900005C +:103830008F67000C97440E1400F22825AC45000455 +:103840008F450E1C8F670004936A00023084FFFFCF +:10385000315800FFAFB800108F6F0014AFB10018DF +:103860000E00008BAFAF00140A0001A60200202159 +:10387000AF6000040A00013EA36000020A00024695 +:1038800000002021000090210A0001702414000192 +:103890003C1280000A000195ACB2000C8F91000030 +:1038A00025240002A744015826300008320F1FFFCC +:1038B0000A0001F9AF8F0000AF40014C1120002C2D +:1038C000000000008F590E10AF5901448F430E18AD +:1038D000240200403C1F1000AF430148A3400152A6 +:1038E000A740015AAF400160A7400158AF420154C0 +:1038F000AF5F01780A0002278FBF00441120000645 +:103900000000000097460E0830CC004015800002F1 +:10391000000000000000000D8F4D017805A0FFFEA3 +:103920000000000097530E103C120500240E2000EA +:10393000326AFFFF0152C025AF58014C8F4F0E1461 +:103940003C021000AF4F01448F500E1CAF50014895 +:10395000A34001528F840038A740015AAF40016054 +:10396000A7400158AF4E01540A000215AF4201783A +:103970008F490E14AF4901448F430E1C0A00028E7A +:10398000240200403C0E20FF27BDFFE03C1A8000CF +:103990003C0F800835CDFFFDAFBF001CAFB2001853 +:1039A000AFB10014AFB00010AF8F0040AF4D0E00AC +:1039B0000000000000000000000000000000000007 +:1039C000000000003C0C00FF358BFFFDAF4B0E00EC +:1039D0003C0660048CC95000240AFF7F3C11600043 +:1039E000012A40243507380CACC750008E24043817 +:1039F00024050009AF4500083083FFFF38622F71AE +:103A00002450C0B3AF8000480E000068AF800000B3 +:103A100052000001AE20442C0E0004353C11800001 +:103A20000E000ED9363000708F8A00403C1208001C +:103A300026523C88020088218E0800008F5F00001B +:103A40003BF900013338000113000017AF88003044 +:103A5000022048218D2700003C0F08008DEF006CEC +:103A60003C0C08008D8C006800E8C02301F8282178 +:103A70000000682100B8302B018D582101664021DB +:103A80003C010800AC25006C3C010800AC28006833 +:103A90008F44000038830001306200011440FFEDC4 +:103AA00000E04021AF8700308E0C00003C0508008C +:103AB0008CA5006C3C0408008C84006801883023CD +:103AC00000A638210000102100E6402B00821821BA +:103AD0000068F8213C010800AC27006C3C0108009C +:103AE000AC3F00688F49010025590088AF99004418 +:103AF000AF890038AF4900208E070000AF87003043 +:103B00008F4D017805A0FFFE000000008E0600002A +:103B10003C0B08008D6B00743C0408008C84007022 +:103B200000C728230165F8210000102103E5402B80 +:103B30000082382100E8C821240908003C0108005F +:103B4000AC3F00743C010800AC390070AF4901780B +:103B500093580108A398003E938F003E31EE000178 +:103B600015C000158F830038240E0D00106E00194B +:103B7000240F0F00106F001D00000000915900007D +:103B800024180050332900FF113800043C1F400066 +:103B9000AF5F01380A0002E7000000000E00090EC6 +:103BA000000000008F8A00403C1F4000AF5F0138DA +:103BB0000A0002E700000000938D003E31AC0006D1 +:103BC000000C51000E0000CE0152D8210A00034320 +:103BD0008F8A00403C1B0800277B3D080E0000CE6A +:103BE000000000000A0003438F8A00403C1B0800CD +:103BF000277B3D280E0000CE000000000A00034392 +:103C00008F8A004090AA00018FAB00108CAC00108E +:103C10003C0300FF8D680004AD6C00208CAD0014E7 +:103C200000E060213462FFFFAD6D00248CA7001816 +:103C30003C09FF000109C024AD6700288CAE001CC0 +:103C40000182C82403197825AD6F0004AD6E002CE5 +:103C50008CAD0008314A00FFAD6D001C94A9000234 +:103C60003128FFFFAD68001090A70000A56000029A +:103C7000A1600004A167000090A30002306200FF71 +:103C80000002198210600005240500011065000E75 +:103C90000000000003E00008A16A00018CD80028A1 +:103CA000354A0080AD7800188CCF0014AD6F001439 +:103CB0008CCE0030AD6E00088CC4002CA16A0001CF +:103CC00003E00008AD64000C8CCD001CAD6D001845 +:103CD0008CC90014AD6900148CC80024AD680008BC +:103CE0008CC70020AD67000C8CC200148C8300646C +:103CF0000043C82B13200007000000008CC20014F2 +:103D0000144CFFE400000000354A008003E0000886 +:103D1000A16A00018C8200640A000399000000007F +:103D200090AA000027BDFFF88FA9001CA3AA0000DD +:103D30008FAE00003C0FFF808FA8001835E2FFFF18 +:103D40008CCD002C01C26024AFAC0000A120000487 +:103D500000E06021A7A000028FB800008D270004BA +:103D60000188182100A0582100C05021006D28268C +:103D70003C06FF7F3C0F00FF2CAD000135EEFFFF3E +:103D800034D9FFFF3C02FF0003193024000D1DC091 +:103D9000010EC82400E2C02400C370250319782551 +:103DA000AD2E0000AD2F00048D450024AFAE000005 +:103DB000AD2500088D4D00202405FFFFAD2D000C22 +:103DC000956800023107FFFFAD27001091660018CB +:103DD00030C200FF000219C2506000018D4500345E +:103DE000AD2500148D67000827BD0008AD27001C15 +:103DF0008C8B00CCAD2C0028AD20002CAD2B0024EA +:103E0000AD20001803E00008AD20002027BDFFE032 +:103E1000AFB20018AFB10014AFB00010AFBF001CBC +:103E20009098000000C088213C0D00FF330F007FF8 +:103E3000A0CF0000908E000135ACFFFF3C0AFF00D0 +:103E4000A0CE000194A6001EA22000048CAB00149A +:103E50008E29000400A08021016C2824012A40241E +:103E60000080902101052025A6260002AE24000432 +:103E700026050020262400080E00007624060002F5 +:103E800092470000260500282624001400071E0083 +:103E90000003160324060004044000032403FFFF6C +:103EA000965900023323FFFF0E000076AE23001068 +:103EB000262400248FBF001C8FB200188FB100147D +:103EC0008FB0001024050003000030210A0000809C +:103ED00027BD002027BDFFD8AFB1001CAFB0001830 +:103EE000AFBF002090A80000240200018FB0003C6A +:103EF0003103003F00808821106200148FAA00382F +:103F0000240B0005506B0016AFAA001000A0202162 +:103F100000C028210E0003DC02003021922400BCE6 +:103F2000308300021060000326060030ACC00000A1 +:103F300024C600048FBF00208FB1001C8FB0001872 +:103F400000C0102103E0000827BD002801403821EF +:103F50000E00035AAFB000100A0004200000000059 +:103F60000E0003A1AFB000140A00042000000000FE +:103F70003C02000A034218213C04080024843D6CE2 +:103F80002405001A000030210A000080AF8300548D +:103F90003C038000346200708C48000000A058216F +:103FA00000C04821308A00FFAF8800308F4401787C +:103FB0000480FFFE3C0C8000358600708CC500003C +:103FC0003C0308008C6300743C1808008F180070D4 +:103FD00000A82023006468210000C82101A4782BD8 +:103FE0000319702101CF60213C010800AC2D007441 +:103FF0003C010800AC2C00708F480E14AF480144FF +:10400000AF47014CA34A0152A74B01589346010800 +:1040100030C5000854A0000135291000934B090059 +:1040200024070050316A00FF11470007000000001C +:104030008F450E1CAF450148AF4901543C091000A3 +:1040400003E00008AF490178934D010831A800084A +:104050001100001000000000934F010831EE001025 +:1040600051C00001352900083C04080090843DD06F +:10407000A34401508F4309A4AF4301488F4209A0D4 +:10408000AF420144AF4901543C09100003E000086D +:10409000AF4901783C1908008F393D8C333800084E +:1040A0005700FFF1352900080A00047300000000E2 +:1040B00024070040AF470814AF4008108F4209445E +:1040C0008F4309508F4409548F45095C8F46094C32 +:1040D000AF820064AF830050AF84004CAF85005CBA +:1040E00003E00008AF8600609346010930C5007FF9 +:1040F000000518C0000521400083102103E00008DE +:10410000244200883C09080091293D9124A800021E +:104110003C05110000093C0000E8302500C51825C9 +:1041200024820008AC83000003E00008AC80000497 +:104130009347010B8F4A002C974F09083C18000E3B +:104140000358482131EEFFFF000E41C0AF48002C5C +:1041500097430908952C001A008040212403000190 +:10416000318BFFFFAC8B00008D2D001C00A058216F +:1041700000C06021AC8D00048D24002030E7004099 +:10418000AD04000891220019304400031083004858 +:104190002885000214A00062240600021086005642 +:1041A00024190003109900660000000010E0003A96 +:1041B000000000003C07080094E73D8624E200016F +:1041C000934F0934934709219525002A31EE00FFCA +:1041D000000E488230ED00FF978700580009360036 +:1041E000000D1C003044FFFF00C310250044C02513 +:1041F00000A778213C19400003197025000F4C00DE +:10420000AD090004AD0E0000934D09203C030006EB +:1042100025090014000D360000C32025AD04000858 +:104220008F59092C24E5000130A27FFFAD19000C45 +:104230008F580930A782005825020028AD180010B9 +:104240008F4F0938AD0F0014AD2B00048F4E09407D +:10425000AD2E0008934D09373C05080090A53D9010 +:104260008F4409488F46094031A700FF00EC182110 +:10427000008678230003C7000005CC0003196025E1 +:1042800031E8FFFC01885825AD2B000CAD20001053 +:1042900003E00008AF4A002C3C0D080095AD3D86B8 +:1042A0003C0E080095CE3D800A0004C901AE1021E5 +:1042B0003C05080094A53D8A3C06080094C63D8054 +:1042C0003C18080097183D7C952E002400A6782104 +:1042D00001F86823000E240025A2FFF200821825B1 +:1042E00024190800AD03000CAD190014AD00001036 +:1042F0000A0004C4250800189526002495250028E6 +:104300000006C40000057C00370E810035ED080072 +:10431000AD0E000CAD0D00100A0004C425080014F9 +:104320001480FFA200000000952400240004140063 +:1043300034430800AD03000C0A0004C42508001033 +:104340003C03080094633D8A3C05080094A53D8029 +:104350003C06080094C63D7C953900249538002819 +:10436000006520210086782300196C000018740075 +:1043700025E2FFEE01C2202535A3810024190800A3 +:10438000AD03000CAD040010AD190018AD00001411 +:104390000A0004C42508001C03E00008240201F4FC +:1043A00027BDFFE8AFB00010AFBF00140E000060E3 +:1043B0000080802124050040AF4508148F83005001 +:1043C0008F84004C8F85005C0070182100641023DE +:1043D00018400004AF830050AF6300548F66005450 +:1043E000AF86004C1200000C000000008F440074E7 +:1043F000936800813409FA002D07000710E00005DA +:1044000000891021936C0081240B01F4018B50046E +:1044100001441021AF62000C8F4E095C01C5682376 +:1044200019A000048FBF00148F4F095CAF8F005C90 +:104430008FBF00148FB000100A00006227BD001863 +:104440008F8400648F8300508F82004CAF640044DF +:10445000AF63005003E00008AF6200543C038000EB +:10446000346200708C43000027BDFFF8308700FFE6 +:1044700030A900FF30C800FFAF8300308F440178BF +:104480000480FFFE3C028000345900708F38000029 +:10449000A3A700033C0708008CE700748FAC000062 +:1044A0003C0608008CC60070030378233C0E7FFF97 +:1044B00000EFC82135CDFFFF00005021018D2824D9 +:1044C00000CA1821000847C0032F202B00A8102580 +:1044D0000064C021AFA200003C010800AC390074A8 +:1044E0003C010800AC380070934F010AA3A0000201 +:1044F0003C0E80FFA3AF00018FAC0000312B007F8A +:1045000035CDFFFF018D4824000B5600012A4025C0 +:10451000240730002406FF803C05100027BD00085A +:10452000AF48014CAF470154A7400158A346015280 +:1045300003E00008AF45017827BDFFE8AFBF0014D6 +:10454000AFB000108F6500743C068000309000FF13 +:1045500000A620250E000060AF6400749363000580 +:10456000346200080E000062A362000502002021F0 +:104570008FBF00148FB00010240500052406000131 +:104580000A00057027BD001827BDFFE03C0380002E +:10459000AFB00010AFBF0018AFB1001434620070AC +:1045A0008C470000309000FF30A800FFAF8700303C +:1045B0008F4401780480FFFE3C18800037110070A2 +:1045C0008E2F00003C0D08008DAD00743C0A0800E1 +:1045D0008D4A007001E7702301AE282100005821A8 +:1045E00000AE302B014B4821012638213C01080048 +:1045F000AC250074000088213C010800AC27007045 +:104600001100000F000000008F6200742619FFFFE8 +:104610003208007F0002FE0233E5007F150000062D +:10462000332200FF2407FF800207202624A3FFFF78 +:1046300000838025320200FF0040802124111008F1 +:104640000E000060000000008F49081831250004AA +:1046500014A0FFFD3218007F001878C000187140C8 +:1046600001CF682125AC0088AF4C0818274A098083 +:104670008D4B0020AF4B01448D460024AF460148CE +:10468000A35001500E000062A740015802201021E3 +:104690008FBF00188FB100148FB0001003E0000826 +:1046A00027BD002027BDFFE8308400FFAFBF00100A +:1046B0000E0005BB30A500FF8F8300508FBF001098 +:1046C000344500402404FF903C02100027BD001830 +:1046D000AF43014CA3440152AF45015403E000082D +:1046E000AF4201789343093E306200081040000D4C +:1046F0003C0901013528080AAC8800008F47007486 +:10470000AC8700043C06080090C63D9030C5001000 +:1047100050A00006AC8000088F6A0060AC8A0008D8 +:104720002484000C03E00008008010210A00062207 +:104730002484000C27BDFFE8AFBF0014AFB0001009 +:104740009346093F00A050210005288000853823AA +:1047500030C200FF240300063C09080095293D866D +:1047600024E8FFD824050004104300372406000283 +:104770009750093C3C0F020400063400320EFFFF44 +:1047800001CF6825AC8D0000934C093E318B002091 +:104790001160000800000000934309363C02010349 +:1047A000345F0300307900FF033FC0252405000873 +:1047B000AC98000493430934935909210005F88209 +:1047C000306200FF0002C082332F00FF00186E002D +:1047D000000F740001AE6025018920253C094000CE +:1047E00000898025ACF0FFD8934309378F4F0948E3 +:1047F0008F580940306200FF004AC821033F7021F2 +:1048000001F86023000E6F0001A650253185FFFCE2 +:10481000001F58800145482501683821AD09002056 +:104820000E00006024F00028240400040E00006242 +:10483000A364003F020010218FBF00148FB000104E +:1048400003E0000827BD00180A0006352406001200 +:1048500027BDFFD024090010AFB60028AFB5002453 +:10486000AFB40020AFB10014AFB000103C0108009D +:10487000A0293D90AFBF002CAFB3001CAFB2001811 +:1048800097480908309400FF3C02000E3107FFFFF3 +:10489000000731C0AF46002C974409089344010B30 +:1048A00030B500FF03428021308300300000B0218A +:1048B0001060012500008821240C00043C01080040 +:1048C000A02C3D90934B093E000B5600000A2E038E +:1048D00004A0016000000000AF400048934F010BAE +:1048E00031EE002011C00006000000009358093E80 +:1048F00000189E0000139603064001890000000086 +:104900009344010B30830040106000038F930050EC +:104910008F8200502453FFFF9347093E30E6000882 +:1049200014C0000224120003000090219619002CEC +:1049300093580934934F0937A7990058330C00FF57 +:1049400031EE00FF024E6821000D5880016C5021AD +:10495000015140213C010800A4283D869205001821 +:1049600030A900FF010918213C010800A4233D885B +:104970009211001816200002000000000000000D37 +:104980003C010800A4233D8A3C010800A4203D808E +:104990003C010800A4203D7C935F010B3063FFFFC6 +:1049A00033F00040120000022464000A2464000B6B +:1049B0003091FFFF0E00009E022020219358010B32 +:1049C0003C08080095083D8A0040202100185982C3 +:1049D000316700010E00049A01072821934C010B56 +:1049E0008F4B002C974E09083C0F000E034F4021BF +:1049F00031CDFFFF000D51C0AF4A002C974309088D +:104A00009505001A004038212404000130A9FFFF59 +:104A1000AC4900008D06001C00404821318A00404E +:104A2000AC4600048D020020ACE20008910300199E +:104A300030630003106400EC28790002172001188D +:104A4000241000021070010C241F0003107F011EAF +:104A500000000000114000DE000000003C090800DA +:104A600095293D8625220001935F0934934E092143 +:104A70009504002A33F900FF0019C08231CF00FFEE +:104A8000978E005800184600000F6C00010D80251D +:104A90003045FFFF02051025008E50213C034000E9 +:104AA00000433025000A6400ACEC0004ACE60000D2 +:104AB000935F09203C19000624EC0014001FC60077 +:104AC00003197825ACEF00088F48092C25CD00018B +:104AD00031A57FFFACE8000C8F500930A785005846 +:104AE00024E80028ACF000108F4409380100802130 +:104AF000ACE40014AD9300048F530940AD9300085B +:104B0000934A09373C19080093393D908F4309486F +:104B10008F460940314200FF0052F82100667023A1 +:104B2000001F7F000019C40001F8282531CDFFFCCB +:104B300000AD2025AD84000CAD800010AF4B002CE3 +:104B4000934B093E317300081260000D3C060101D1 +:104B500034CC080AACEC00288F530074AD13000469 +:104B60003C0B0800916B3D903167001050E0000352 +:104B7000AD0000088F6A0060AD0A00082510000C27 +:104B800012C0003D000000009343093F24160006B8 +:104B900024060004306200FF105600C924070002FA +:104BA0009758093C3C0F0204330DFFFF01AF40252D +:104BB000AE0800009345093E30A400201080000894 +:104BC00000000000935309363C0B0103357F0300BE +:104BD000327900FF033F7025AE0E00042406000862 +:104BE000934F093493480921312AFFFF31ED00FF2B +:104BF000000D1082310300FF0002B60000032C00FC +:104C000002C56025018A9825001220803C094000D9 +:104C10000204502302695825AD4BFFD8935F093732 +:104C20008F4F09488F58094033F900FF0332702134 +:104C30000006B08201D668210007440001F828234D +:104C4000000D1F000068302530A2FFFC2547FFD86B +:104C500000C260250016808002074821ACEC0020CD +:104C6000253000280E00006024120004A372003FCB +:104C70000E000062000000009347010B30F200407C +:104C8000124000053C1900FF8E180000372EFFFF70 +:104C9000030E3024AE0600000E0000C702202021C3 +:104CA0003C10080092103D90321100031220000FBA +:104CB00002A028218F89005025330001AF930050B6 +:104CC000AF7300508F6B00540173F8231BE0000298 +:104CD000026020218F640054AF6400548F4C007434 +:104CE000258401F4AF64000C02A028210280202159 +:104CF000A76000680E0005BB3C1410008F850050B3 +:104D000034550006AF45014C8F8A00488FBF002CF8 +:104D10008FB3001C25560001AF9600488FB20018D3 +:104D2000A34A01528FB60028AF5501548FB1001429 +:104D3000AF5401788FB500248FB400208FB00010DD +:104D400003E0000827BD00309358093E00189E007C +:104D500000139603064200362411000293440923EF +:104D6000308300021060FEDD8F8600608F8200506D +:104D700014C2FEDA000000000E0000600000000017 +:104D80009369003F24070016312800FF1107000C2B +:104D9000240500083C0C0800918C3D90358B0001E7 +:104DA0003C010800A02B3D90936A003F314300FF77 +:104DB00010650065240D000A106D005E2402000CD1 +:104DC0000E000062000000000A00069000000000D3 +:104DD0003C09080095293D863C0A0800954A3D801B +:104DE0000A0006F3012A10213C09080095293D8A92 +:104DF0003C04080094843D803C06080094C63D7C39 +:104E000095030024012410210046F8230003CC0060 +:104E100027F0FFF20330C025240F0800ACF8000C87 +:104E2000ACEF0014ACE000100A0006EE24E7001816 +:104E30003C010800A0313D90935F093E241600011B +:104E400033F900201720FEA5241100080A0006905F +:104E5000241100048F6E00848F4D094011A0FE9E26 +:104E6000AF8E0050240F00143C010800A02F3D908D +:104E70000A00068F00000000950E0024950D002802 +:104E8000000E6400000D2C003589810034A6080056 +:104E9000ACE9000CACE600100A0006EE24E70014B2 +:104EA0001460FEEC000000009502002400021C00CB +:104EB00034640800ACE4000C0A0006EE24E700109D +:104EC0000A000741240700123C02080094423D8A70 +:104ED0003C06080094C63D803C03080094633D7C7A +:104EE00095100024951900280046F82103E3C023FB +:104EF00000106C0000197400270FFFEE01CF282569 +:104F000035AC8100ACEC000CACE5001024070800C7 +:104F1000AD2700182527001C0A0006EEAD2000145E +:104F20008F7F004CAF7F00548F7900540A000699A0 +:104F3000AF790050A362003F0E0000620000000045 +:104F40000A00069000000000240200140A0008274E +:104F5000A362003F27BDFFE8308400FFAFBF001011 +:104F60000E0005BB30A500FF9378007E9379007F8B +:104F7000936E00809368007A332F00FF001866005C +:104F8000000F6C0031CB00FF018D4825000B520053 +:104F90008FBF0010012A3825310600FF344470000D +:104FA00000E628252402FF813C03100027BD0018DD +:104FB000AF45014CAF440154A342015203E0000845 +:104FC000AF43017827BDFFD8AFB20018AFB10014CE +:104FD000AFB00010AFBF0020AFB3001C9342010977 +:104FE000308600FF30B000FF000618C23204000215 +:104FF0003071000114800005305200FF93670005F6 +:1050000030E5000810A0000D30C80010024020213B +:105010000E0005A702202821240400018FBF0020D4 +:105020008FB3001C8FB200188FB100148FB0001026 +:105030000080102103E0000827BD00281500003281 +:105040000000000093430109000028213062007F26 +:10505000000220C00002F94003E49821267900886C +:10506000033B98218E7800248E6F0008130F0046B2 +:10507000000000008F640084241800020004FD82F8 +:1050800033F900031338007C0000000093660083AE +:10509000934A0109514600043205007C10A00060CB +:1050A000000000003205007C14A0005302402021C3 +:1050B00016200006320400018E7F00248F5901045F +:1050C00017F9FFD600002021320400011080000AE9 +:1050D000024020218F4209408F9300641053000644 +:1050E000000000000E00066D022028218F430940B9 +:1050F000AF630044024020210E0006020220282156 +:105100000A000860240400013C0908008D2900649D +:10511000252600013C010800AC26006416000012A0 +:10512000000000008F6D00843C0E00C001AE6024C2 +:1051300015800005024020210E00082E02202821A3 +:105140000A00086024040001240500040E00057014 +:1051500024060001024020210E00082E02202821F2 +:105160000A000860240400010E000041240400012C +:10517000936B007D020B50250E000062A36A007D38 +:105180000A0008A38F6D00848F6600748F480104A5 +:105190008E67002400064E021507FFB63126007FF9 +:1051A000936B008326440001308A007F1146004340 +:1051B000316300FF5464FFB08F6400842645000112 +:1051C00030B1007F30A200FF122600042405000148 +:1051D000004090210A00087624110001240FFF806E +:1051E000024F702401CF9026324200FF00409021F0 +:1051F0000A000876241100010E00066D0220282105 +:10520000321800301300FFAA321000820240202121 +:105210000E0005A7022028210A00086024040001CE +:105220008F6E00743C0F80002405000301CF902591 +:10523000AF72007493710083240600010E000570A4 +:10524000322400FF0E00004124040001936D007D14 +:10525000020D60250E000062A36C007D3C0B08006F +:105260008D6B0054257000013C010800AC300054E7 +:105270000A000860240400018F6800743C09800063 +:105280002405000401093825AF6700749363008387 +:10529000240600010E000570306400FF0E0000417E +:1052A000240400019362007D020298250E00006232 +:1052B000A373007D0A00086024040001324D0080C1 +:1052C00039AC0080546CFF6C8F6400840A0008C9FC +:1052D0002645000127BDFFC83C0A0008AFBF0030CB +:1052E000AFB5002CAFB40028AFB30024AFB200209C +:1052F000AFB1001CAFB00018034AD8212409004008 +:10530000AF490814AF4008108F4209448F43095039 +:105310008F4609548F47095C8F48094C9344010814 +:105320009345010BAF820064308400FF30A500FF7D +:10533000AF830050AF86004CAF87005C0E00084A78 +:10534000AF8800601440017D8FBF0030A760006807 +:10535000934D0900240B00503C15080026B53D482C +:1053600031AC00FF3C12080026523D58118B00035F +:10537000000000000000A8210000902193510109C5 +:105380008F9F005024040010322E007F000E68C052 +:10539000000E6140018D282124B40088AF54081804 +:1053A0008F4901048F4A09A43C0B000E034BC02116 +:1053B000012A10233C010800AC223D6C8F430958A0 +:1053C0003C010800A0243D9097470908007F302346 +:1053D0003C010800AC263D7030E8FFFF0008C9C062 +:1053E0003C010800AC3F3D94AF59002C974209089E +:1053F0009710002C8EB10000930F001803749821B1 +:10540000A7900058AF9300440220F80931F000FF44 +:10541000304E000215C001B2304F000111E0014FC3 +:10542000000000009343093E3066000814C00002EB +:10543000241400030000A0218F5809A424130001A4 +:105440003C010800AC383D98934F0934935109371B +:1054500031EC00FF322E00FF028E6821000D288003 +:1054600000AC5021015058213C010800A42B3D887C +:105470003C010800A42A3D8693490934312200FFEB +:1054800002022021249000103C010800A4303D8439 +:10549000240700068F9F00503C010800AC273D8C7C +:1054A0008F88005C8F59095800008021011F282334 +:1054B00004A00149033F20230480014700A4302BAE +:1054C00010C00149000000003C010800AC253D70FF +:1054D0008E4200000040F809000000003043000246 +:1054E000146000F80040882130440001548000100E +:1054F0008E4200043C0908008D293D743C0AC0001E +:10550000012A8025AF500E008F45000030AB000807 +:105510001160FFFD00000000974D0E0824100001EF +:10552000A78D003C8F4C0E04AF8C00348E420004DB +:105530000040F8090000000002228825322E0002F7 +:1055400015C00180000000003C09080095293D7C41 +:105550003C06080094C63D883C0A0800954A3D7EFA +:105560003C1908008F393D74012660213C18080061 +:105570008F183D983C03080094633D92018A2021D6 +:105580008F4E09400329F821248F000203E32821CC +:10559000031968213C010800A42C3D8AAF8E0064E9 +:1055A0003C010800AC2D3D983C010800A4253D803D +:1055B0000E00009E31E4FFFF8F870048004020214D +:1055C0003C010800A0273D918E42000824E800011C +:1055D000AF8800480040F809000000009344010B28 +:1055E0008F4C002C974A09083C0B000E034B4021BE +:1055F0003149FFFF000919C08F8B0050AF43002CC9 +:10560000974309089506001A00403821308A004067 +:1056100030DFFFFFAC5F00008D19001C0040482107 +:10562000AC5900048D180020AC580008910F0019E7 +:1056300031E30003107300F0000000002862000254 +:105640001440010924050002106500FD240D00032B +:10565000106D010D00000000114000D90000000095 +:105660003C0A0800954A3D8625420001934D0934C5 +:1056700093580921950E002A31A300FF00032082D0 +:10568000331F00FF9798005800047E00001FCC00D5 +:1056900001F940253049FFFF0109102501D83021CB +:1056A0003C0540000045502500066C00ACED0004B0 +:1056B000ACEA0000934309203C04000624ED0014EA +:1056C0000003FE0003E4C825ACF900088F49092C4B +:1056D000270F000131EE7FFFACE9000C8F48093045 +:1056E000A78E005824E90028ACE800108F4509383F +:1056F00001204021ACE50014ADAB00048F4209400D +:10570000ADA20008934B09373C1F080093FF3D9062 +:105710008F4309488F4A0940316600FF00D4202199 +:10572000006A78230004C700001FCC000319282555 +:1057300031EEFFFC00AE1025ADA2000CADA00010B4 +:10574000AF4C002C934C093E318B00085160000F88 +:105750008E58000C3C06010134CA080AACEA002845 +:105760008F4B0074AD2B00043C0C0800918C3D90D5 +:105770003187001050E00003AD2000088F62006008 +:10578000AD2200082528000C8E58000C0300F809F3 +:10579000010020213C19080097393D8A3C1F080070 +:1057A00097FF3D7E033F782125E900020E0000C7E8 +:1057B0003124FFFF3C0E08008DCE3D6C3C080800F4 +:1057C0008D083D7401C828233C010800AC253D6CC0 +:1057D00014A00006000000003C0308008C633D8C10 +:1057E000346400403C010800AC243D8C1200007081 +:1057F0008F8C00448F470E108F900044AE0700201E +:105800008F4D0E18AE0D00243C10080096103D8000 +:105810000E0000600000000024020040AF420814A7 +:105820008F8600508F8A004C00D01821006A5823C0 +:1058300019600004AF830050AF6300548F650054BB +:10584000AF85004C1200000C000000008F44007473 +:10585000936800813409FA002D0E000711C000057D +:1058600000891821937F0081241901F403F9780439 +:1058700001E41821AF63000C8F44095C8F83005C46 +:105880000083C0231B000003000000008F50095C50 +:10589000AF90005C0E000062000000008F8C005092 +:1058A0008E4700103C010800AC2C3D9400E0F80944 +:1058B000000000003C0D08008DAD3D6C55A0FEF5CC +:1058C000240700068F450024975909088F8B006430 +:1058D0008F9400503C0F001F978200588F86005411 +:1058E0008F93004C3328FFFF35E9FF8000A9502437 +:1058F000000871C032320100AF4E0024A4C2002C57 +:10590000AF4A0024AF6B0044AF740050AF73005433 +:105910001640008032380010570000868EA4000424 +:10592000322300405460001B8EB100088EB0000C82 +:105930000200F809000000008FBF00308FB5002C76 +:105940008FB400288FB300248FB200208FB1001CC9 +:105950008FB0001803E0000827BD00389347010905 +:105960008F8800380007FE0003E8C825AF59008083 +:105970008F5809A08F5309A4AFB80010AF580E1468 +:105980008FB40010AF540E10AF530E1C0A00096202 +:10599000AF530E180220F809000000008EB0000C72 +:1059A0000200F809000000000A000AA88FBF0030BA +:1059B000A5800020A59300220A000A5BAD93002475 +:1059C0003C09080095293D863C06080094C63D80A8 +:1059D0000A0009F4012610213C010800AC203D70AA +:1059E0000A00098E8E4200003C010800AC243D7084 +:1059F0000A00098E8E4200003C03080094633D8A31 +:105A00003C04080094843D803C1F080097FF3D7CC7 +:105A1000951800240064C821033F782300186C0007 +:105A200025EEFFF201AE2825AC45000C240208004B +:105A3000ACE20014ACE000100A0009EF24E7001803 +:105A400095060024950900280006240000091C0082 +:105A5000349F810034790800ACFF000CACF90010D1 +:105A60000A0009EF24E700141460FEFB00000000A8 +:105A70009518002400187C0035EE0800ACEE000CF0 +:105A80000A0009EF24E700103C07080094E73D8076 +:105A90003C04080094843D8A3C03080094633D7CE8 +:105AA00095190024951800280087F82103E378232E +:105AB0002407080000192C0000186C0025EEFFEEEA +:105AC00001AE302534A28100AD2700182527001C27 +:105AD000AD22000CAD2600100A0009EFAD20001425 +:105AE00093520109000028210E000602324400FFF3 +:105AF0008FBF00308FB5002C8FB400288FB30024E7 +:105B00008FB200208FB1001C8FB0001803E0000896 +:105B100027BD0038935F010933E400FF0E00066DD6 +:105B200000002821323800105300FF7E322300404D +:105B30008EA400040080F809000000000A000AA2F8 +:105B4000322300401200FF5F000000008F540E144B +:105B50008F920044AE5400208F530E1C0A000A8A14 +:105B6000AE5300248F82001C008040213C040100C1 +:105B70009047008530E3002010600009000000001D +:105B80003C0708008CE73D948F83001800E3202336 +:105B9000048000089389000414E30003010020211D +:105BA00003E00008008010213C04010003E000082D +:105BB000008010211120000B006738238F8C0020FB +:105BC00024090034918B00BC316A0002514000016D +:105BD0002409003000E9682B15A0FFF10100202105 +:105BE00000E938232419FFFC00B9C02400F9782407 +:105BF00000F8702B15C0FFEA01E8202130C2000335 +:105C00000002182314C00012306900030000302184 +:105C100000A9702101C6682100ED602B1180FFE012 +:105C20003C0401002D2F00010006482B01053821FE +:105C300001E9302414C0FFDA24E4FFFC2419FFFC3E +:105C400000B9C0240308202103E0000800801021CF +:105C50008F8B002024060004916A00BC31440004AC +:105C60001480FFEC00A970210A000B5E00003021B7 +:105C700027BDFFE8AFBF00108F460100934A01091E +:105C80003C1F08008FFF00902407FF80314F00FF6A +:105C900031E8007F0008614003E6C821032CC021E1 +:105CA00027090120012770243C010800A02F3DD0C6 +:105CB000AF4E080C3C0D08008DAD00903C040080F8 +:105CC0003482000301A65821016C182124650120AB +:105CD00030AA007801424025AF48081C3C1F08004C +:105CE0008FFF00908F88004003E6C0213319000722 +:105CF00003074824033A7821AF49002825E909C061 +:105D0000952E00023C0D08008DAD008C3C0A080069 +:105D10008D4A009031CC3FFF01A61821000C59801C +:105D2000006B282100A72024AF44002C95220002FC +:105D30003C1F08008FFF008C9107008530593FFF02 +:105D400003E678210019C1800146702101F868211D +:105D500031CC007F31AB007F019A2821017A50219C +:105D60003C03000C3C04000E00A328210144102138 +:105D700030E6002027470980AF82002CAF88001C46 +:105D8000AF890024AF85002010C00006AF8700282F +:105D90008D0200508CA4010C0044302318C0007701 +:105DA00000000000910C0085240DFFDF018D3824D8 +:105DB000A10700858F8B001C8F8900248F87002806 +:105DC0008D65004CAF850018912F000D31EE00203D +:105DD00011C000170000000024090001A38900047D +:105DE000AF80000C8CE400248F85000C240A00088E +:105DF000AF800008AF8000103C010800A42A3D7E5F +:105E00003C010800A4203D920E000B32000030211E +:105E10008F8500248FBF0010AF82001490A8000D62 +:105E200027BD00180008394203E0000830E20001F5 +:105E3000913F00022418000133F900FF001921826C +:105E400010980039240800021088005B8F86002C0F +:105E50008CE5002414A0001B8F9F002091220000DD +:105E6000240A00053046003F10CA00472404000100 +:105E70008F860008A3840004AF860010AF86000C54 +:105E80008CE400248F85000C240A00083C010800E3 +:105E9000A42A3D7E3C010800A4203D920E000B3256 +:105EA000000000008F8500248FBF0010AF82001417 +:105EB00090A8000D27BD00180008394203E0000833 +:105EC00030E200018CF800088CF900248FEE00C449 +:105ED000A38000048CE40024AF8E000C8F85000C9E +:105EE0008F86000803197823240A0008AF8F00105A +:105EF0003C010800A42A3D7E3C010800A4203D92FC +:105F00000E000B32000000008F8500248FBF0010B0 +:105F1000AF82001490A8000D27BD00180008394278 +:105F200003E0000830E20001912300003062003FEE +:105F3000104400278F8500208CE400241480002169 +:105F4000000000008D2E00183C187FFF8F85002078 +:105F5000370FFFFF01CF1824AF8300088F9F000881 +:105F60008CA8008403E8C82B1720000203E020213E +:105F70008CA400840A000BEDAF8400088CA3010CF4 +:105F80000A000BCBAF8300188D2C00188F860008F9 +:105F90003C0D7FFF8F89002035A3FFFF018358242C +:105FA00024040001AF8B0010AD2000CCA3840004BA +:105FB0000A000BF9AF86000C8CCA00140A000BED26 +:105FC000AF8A00088CA300C80A000C30AF83000819 +:105FD0008F84002C8CAC00648C8D0014018D582BA8 +:105FE00011600004000000008CA200640A000C3064 +:105FF000AF8200088C8200140A000C30AF820008C7 +:106000008F85000C27BDFFE0AFBF0018AFB10014B3 +:1060100014A00007AFB000108F86002424020005F2 +:1060200090C400003083003F106200B68F840020CF +:106030008F91000800A080218F8C00283C0508006B +:106040008CA53D708D8B000431663FFF00C5502B41 +:106050005540000100C02821938D000411A0007359 +:1060600000B0F82B8F98002024040034930F00BC5C +:1060700031EE000251C000012404003000A4C82BFE +:10608000172000D10000000000A4282300B0F82B46 +:106090003C010800A4243D7C17E000680200202198 +:1060A0003C0308008C633D6C0083102B54400001BE +:1060B000008018218F8800243C010800AC233D7427 +:1060C000000048219104000D308300205060000141 +:1060D0008F490E188F8300140123382B10E00059CC +:1060E000000000003C0408008C843D7400895821A5 +:1060F000006B502B114000560090602B006930233C +:1061000000C020213C010800AC263D7412000003B1 +:10611000241FFFFC1090008A32270003009FC82430 +:106120003C010800AC393D743C010800A4203D92BC +:106130008F84000C120400078F830020AF910008A9 +:10614000020020218C7100CCAF90000C26300001A1 +:10615000AC7000CC3C0208008C423D748F8A001069 +:10616000240700180082202301422823AF84000C5A +:1061700010800002AF850010240700108F86001CDD +:106180003C010800A0273D902407004090CC0085EA +:10619000318B00C0116700408F8D001414A00015D2 +:1061A00000002021934A01098F420974314500FF04 +:1061B0000002260224A300013090007F3071007F8E +:1061C0001230007A2407FF80A0C300833C09080036 +:1061D0008D293D8C8F880024240D0002352C000869 +:1061E0003C010800A02D3DD13C010800AC2C3D8CA9 +:1061F00024040010910E000D31C6002010C00005CF +:1062000000801821240800013C010800AC283D74DE +:10621000348300018FBF00188FB100148FB00010BD +:106220000060102103E0000827BD00203C010800A9 +:10623000A4203D7C13E0FF9A020020210A000C817B +:1062400000A020213C0408008C843D740090602B49 +:106250001180FFAE000000003C0F080095EF3D7C70 +:1062600001E4702101C6682B11A000072C820004F4 +:106270003C1F60008FF954043338003F1700FFE5DE +:10628000240300422C8200041040FFA0240300429B +:106290000A000CDF8FBF0018152DFFC000000000A2 +:1062A0008CDF00743C0380002405FF8003E3C825D5 +:1062B000ACD9007490D80085240E0004240400108A +:1062C000330F003F01E54025A0C800858F880024DA +:1062D0003C010800A02E3DD1240300019106000DD1 +:1062E00030C9002015200003000000003C03080016 +:1062F0008C633D743C010800AC233D6C0A000CD655 +:10630000000000008F8700108C88008400E8282B94 +:1063100014A0000200E088218C910084240900016F +:10632000A38900048F440E18022028210E000B328E +:1063300002203021022080210A000C67AF82001465 +:1063400000071823306600033C010800A4263D9294 +:10635000122000058F8C0020918B00BC316A000454 +:106360001540001524CD00043C0F080095EF3D9228 +:1063700001E4702100AE302B50C0FF6E8F84000C02 +:106380002C85000514A0FFA32403004230980003CD +:1063900017000002009818232483FFFC3C0108002A +:1063A000AC233D740A000CA30000000000A7582491 +:1063B0000A000CCB016718263C010800A42D3D9271 +:1063C0000A000D33000000003C010800AC203D74C1 +:1063D0000A000CDE240300428F83001014600007C3 +:1063E000000010218F88002424050005910600007C +:1063F00030C400FF108500030000000003E0000827 +:1064000000000000910A0018314900FF000939C25C +:1064100014E0FFFA8F85001C3C04080094843D7C46 +:106420003C0308008C633D943C1908008F393D748F +:106430003C0F080095EF3D920064C0218CAD0054E4 +:106440000319702101CF6021018D58231960001DAF +:1064500000000000910E001C8F8C002C974B0E103A +:1064600031CD00FF8D850004016D30238D88000043 +:1064700030CEFFFF000E510000AAC82100003821D5 +:1064800001072021032A182B0083C021AD990004A5 +:10649000AD980000918F000A01CF6821A18D000AFC +:1064A0008F88002C974B0E12A50B0008950A003818 +:1064B00025490001A50900389107000D34E60008C0 +:1064C000A106000D03E000080000000027BDFFE06A +:1064D000938700048F8F00248FAD00143C0E7FFF44 +:1064E0008F89000C35C8FFFFAFBF001CAFB000188C +:1064F00001A8182491EA000D000717C03C1FBFFF38 +:10650000006258252D2E00018F90001837F9FFFFEB +:106510003C1808008F183D943C0F080095EF3D8A09 +:1065200001796824000E47803C07EFFF3C05F0FF2F +:1065300001A818253149002034E2FFFF34ACFFFFE9 +:106540000310582327A500102406000225EA0002A4 +:1065500000621824008080211520000200004021E4 +:106560008F480E1CA7AA0012056000372407000000 +:1065700030FF00FF001FCF008F8B001C00793825F3 +:10658000AFA70014916F00853C08080091083D9169 +:106590003C18DFFF31EE00C0370AFFFF000E182B5A +:1065A0003C1F080097FF3D8400EA6824A3A800115F +:1065B0000003174001A248258FB90010AFA90014AD +:1065C0003C0A0800914A3D93A7BF00168FA800140B +:1065D000032CC0243C0B01003C0F0FFF030B1825BC +:1065E0003147000335EEFFFF010C68240007160059 +:1065F000006EF8243C09700001A2C82503E9582563 +:10660000AFB90014AFAB00100E000076A3A00015C8 +:106610008F8C0024260200089186000D30C40020D3 +:10662000108000068FBF001C3C05080094A53D802B +:1066300024B0FFFF3C010800A4303D808FB000185B +:1066400003E0000827BD00208F9800140118502B8C +:106650005540FFC7240700010A000DB630FF00FFB8 +:106660009382000427BDFFE0AFBF00181040000F69 +:10667000008050218F880024240B00058F8900089A +:10668000910700008F8400200100282130E3003FA3 +:106690008F86002C106B000800003821AFA9001075 +:1066A0000E00040EAFAA0014A38000048FBF0018D0 +:1066B00003E0000827BD00208D1900183C0F0800DA +:1066C0008DEF3D748F9800103C027FFF8D08001401 +:1066D000345FFFFF033F682401F8702101AE60239F +:1066E00001883821AFA900100E00040EAFAA0014D3 +:1066F0000A000E04A38000048F8700243C050800D4 +:1067000094A53D923C0208008C423D8C90E6000D21 +:106710000005240030C300201060002C00444025F8 +:106720008F85001C00006021240B000190A30085D0 +:1067300000004821240A00013C0F800035EE007063 +:106740008DC70000AF8700308F5801780700FFFE2B +:106750003C038000347900708F3800003C0508004D +:106760008CA500743C0D08008DAD007003077823E4 +:1067700000AF38210000102100EF302B01A22021B2 +:10678000008618213C010800AC2700743C01080079 +:10679000AC230070AF4B01483C1908008F393D9481 +:1067A000A7490144A74A0146AF59014C3C0B0800D8 +:1067B000916B3D91A34B0152AF4801543C0810002E +:1067C000A74C015803E00008AF4801788F4B0E1C1E +:1067D0003C0A08008D4A3D7497490E16974D0E14D9 +:1067E00001456021312AFFFF0A000E2731A9FFFF72 +:1067F0008F8300249064000D308200201040002917 +:10680000000000000000482100005021000040214D +:106810003C07800034EB00708D670000AF870030CC +:106820008F4C01780580FFFE3C0D800035AC007078 +:106830008D8B00003C0508008CA500743C0408000A +:106840008C8400700167302300A67821000010219D +:1068500001E6C82B0082C021031970213C01080009 +:10686000AC2F00743C010800AC2E0070AF49014809 +:106870003C0D08008DAD3D94A7480144240900401B +:10688000A74A01463C081000240AFF91AF4D014C75 +:10689000A34A0152AF490154A740015803E0000840 +:1068A000AF4801788F490E1897460E1297450E1083 +:1068B00030CAFFFF0A000E5D30A8FFFF8F8300245F +:1068C00027BDFFF89064000D308200201040003A90 +:1068D00000000000240B000100004821240A0001F0 +:1068E0003C088000350700708CE30000AF83003067 +:1068F0008F4C01780580FFFE3C0E80003C040800B0 +:1069000090843DD035C700708CEC00003C05080039 +:106910008CA50074A3A400033C1908008F390070F3 +:106920008FAD00000183302300A638210000102124 +:106930000322782100E6C02B01F8602101AE40253A +:10694000AFA800003C010800AC2700743C0108001F +:10695000AC2C00709346010A3C04080090843DD1A1 +:10696000A3A00002A3A600018FA300003C0580FFA6 +:106970003099007F34A2FFFF006278240019C6001E +:1069800001F87025240D3000AF4E014C27BD0008E2 +:10699000AF4D0154A7400158AF4B0148A7490144EE +:1069A000A74A01463C091000240AFF80A34A01526D +:1069B00003E00008AF4901788F4B0E1897460E127E +:1069C00097450E1030CAFFFF0A000E9130A9FFFF55 +:1069D0008F85001C2402008090A40085308300C0B5 +:1069E000106200058F8600208F8800088F87000CBA +:1069F000ACC800C8ACC700C403E000080000000039 +:106A00003C0A0800254A39543C09080025293A2047 +:106A10003C08080025082DD43C07080024E73B3437 +:106A20003C06080024C637C43C05080024A5353CB4 +:106A30003C040800248431643C0308002463385C6F +:106A40003C020800244236303C010800AC2A3D508C +:106A50003C010800AC293D4C3C010800AC283D48F5 +:106A60003C010800AC273D543C010800AC263D64C5 +:106A70003C010800AC253D5C3C010800AC243D58BD +:106A80003C010800AC233D683C010800AC223D609D +:086A900003E000080000000013 +:00000001FF --- linux-lowlatency-3.5.0.orig/firmware/bnx2/bnx2-mips-09-6.2.1b.fw.ihex +++ linux-lowlatency-3.5.0/firmware/bnx2/bnx2-mips-09-6.2.1b.fw.ihex @@ -0,0 +1,6496 @@ +:10000000080001180800000000005594000000C816 +:1000100000000000000000000000000008005594EF +:10002000000000380000565C080000A00800000036 +:100030000000574400005694080059200000008436 +:100040000000ADD808005744000001C00000AE5CBD +:100050000800321008000000000092580000B01C98 +:10006000000000000000000000000000080092589E +:100070000000033C000142740800049008000400E2 +:10008000000012FC000145B000000000000000006C +:1000900000000000080016FC00000004000158AC3D +:1000A000080000A80800000000003D00000158B052 +:1000B00000000000000000000000000008003D00FB +:1000C00000000030000195B00A000046000000006A +:1000D000000000000000000D636F6D362E322E31DF +:1000E00062000000060201020000000000000003A0 +:1000F000000000C800000032000000030000000003 +:1001000000000000000000000000000000000000EF +:1001100000000010000001360000EA600000000549 +:1001200000000000000000000000000000000008C7 +:1001300000000000000000000000000000000000BF +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:10016000000000020000000000000000000000008D +:10017000000000000000000000000000000000007F +:10018000000000000000000000000010000000005F +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D000000000000000000000000000000000001F +:1001E0000000000010000003000000000000000DEF +:1001F0000000000D3C020800244256083C030800A1 +:1002000024635754AC4000000043202B1480FFFDB2 +:10021000244200043C1D080037BD9FFC03A0F021D0 +:100220003C100800261001183C1C0800279C5608AA +:100230000E000256000000000000000D27BDFFB4B4 +:10024000AFA10000AFA20004AFA30008AFA4000C50 +:10025000AFA50010AFA60014AFA70018AFA8001CF0 +:10026000AFA90020AFAA0024AFAB0028AFAC002C90 +:10027000AFAD0030AFAE0034AFAF0038AFB8003C28 +:10028000AFB90040AFBC0044AFBF00480E001544FA +:10029000000000008FBF00488FBC00448FB90040B1 +:1002A0008FB8003C8FAF00388FAE00348FAD003078 +:1002B0008FAC002C8FAB00288FAA00248FA90020C0 +:1002C0008FA8001C8FA700188FA600148FA5001000 +:1002D0008FA4000C8FA300088FA200048FA1000040 +:1002E00027BD004C3C1B60108F7A5030377B502864 +:1002F00003400008AF7A00008F82002427BDFFE092 +:10030000AFB00010AFBF0018AFB100148C42000CAA +:100310003C1080008E110100104000348FBF001887 +:100320000E000D84000000008F85002024047FFF54 +:100330000091202BACB100008E030104960201084D +:1003400000031C003042FFFF00621825ACA300042C +:100350009202010A96030114304200FF3063FFFF4E +:100360000002140000431025ACA200089603010C03 +:100370009602010E00031C003042FFFF00621825A8 +:10038000ACA3000C960301109602011200031C009E +:100390003042FFFF00621825ACA300108E02011846 +:1003A000ACA200148E02011CACA20018148000083C +:1003B0008F820024978200003C0420050044182509 +:1003C00024420001ACA3001C0A0000C6A782000062 +:1003D0003C0340189442001E00431025ACA2001CB0 +:1003E0000E000DB8240400018FBF00188FB1001457 +:1003F0008FB000100000102103E0000827BD00208E +:100400003C0780008CE202B834E50100044100089A +:10041000240300013C0208008C42006024420001D9 +:100420003C010800AC22006003E0000800601021DD +:100430003C0208008C42005C8CA4002094A30016AF +:100440008CA6000494A5000E24420001ACE40280B6 +:100450002463FFFC3C010800AC22005C3C0210005D +:10046000A4E30284A4E5028600001821ACE6028819 +:10047000ACE202B803E000080060102127BDFFE0F5 +:100480003C028000AFB0001034420100AFBF001C3E +:10049000AFB20018AFB100148C43000094450008BF +:1004A0002462FE002C42038110400003000381C23D +:1004B0000A00010226100004240201001462000553 +:1004C0003C1180003C02800890420004305000FF44 +:1004D0003C11800036320100964300143202000FB6 +:1004E00000021500004310253C0308008C63004403 +:1004F00030A40004AE220080246300013C01080007 +:10050000AC2300441080000730A200028FBF001C03 +:100510008FB200188FB100148FB000100A0000CE07 +:1005200027BD00201040002D0000182130A20080BF +:1005300010400005362200708E44001C0E000C672F +:10054000240500A0362200708C4400008F82000C2D +:10055000008210232C43012C10600004AF82001095 +:10056000240300010A000145AF84000C8E42000400 +:100570003C036020AF84000CAC6200143C02080015 +:100580008C42005850400015000018218C62000475 +:10059000240301FE304203FF144300100000182121 +:1005A0002E020004104000032E0200080A00014041 +:1005B0000000802114400003000000000A000140F8 +:1005C0002610FFF90000000D2402000202021004B0 +:1005D0003C036000AC626914000018218FBF001C4E +:1005E0008FB200188FB100148FB00010006010217E +:1005F00003E0000827BD00203C0480008C8301003C +:1006000024020100506200033C0280080000000D3B +:100610003C02800890430004000010213063000F6A +:1006200000031D0003E00008AC8300800004188074 +:100630002782FF9C00621821000410C00044102390 +:100640008C640000000210C03C030800246356E4E0 +:10065000004310213C038000AC64009003E00008DC +:10066000AF8200243C0208008C42011410400019A3 +:100670003084400030A2007F000231C03C02020002 +:100680001080001400A218253C026020AC43001426 +:100690003C0408008C8456B83C0308008C630110AD +:1006A0003C02800024050900AC4500200086202182 +:1006B000246300013C028008AC4400643C01080053 +:1006C000AC2301103C010800AC2456B803E000083C +:1006D000000000003C02602003E00008AC4500146C +:1006E00003E000080000102103E0000800001021D2 +:1006F00030A2000810400008240201003C0208005B +:100700008C42010C244200013C010800AC22010C87 +:1007100003E0000800000000148200080000000050 +:100720003C0208008C4200FC244200013C0108000D +:10073000AC2200FC0A0001A330A200203C02080009 +:100740008C420084244200013C010800AC22008459 +:1007500030A200201040000830A200103C02080027 +:100760008C420108244200013C010800AC2201082F +:1007700003E0000800000000104000080000000036 +:100780003C0208008C420104244200013C010800A4 +:10079000AC22010403E00008000000003C02080055 +:1007A0008C420100244200013C010800AC220100FF +:1007B00003E000080000000027BDFFE0AFB1001417 +:1007C0003C118000AFB20018AFBF001CAFB00010EA +:1007D0003632010096500008320200041040000733 +:1007E000320300028FBF001C8FB200188FB10014BB +:1007F0008FB000100A0000CE27BD00201060000B53 +:10080000020028218E2401000E00018A0000000051 +:100810003202008010400003240500A10E000C6786 +:100820008E44001C0A0001E3240200018E2301040F +:100830008F82000810430006020028218E24010048 +:100840000E00018A000000008E220104AF82000821 +:10085000000010218FBF001C8FB200188FB1001450 +:100860008FB0001003E0000827BD00202C82000498 +:1008700014400002000018212483FFFD240200021E +:10088000006210043C03600003E00008AC626914DD +:1008900027BDFFE0AFBF001CAFB20018AFB100141E +:1008A000AFB000103C048000948201083043700017 +:1008B000240220001062000A2862200154400052E5 +:1008C0008FBF001C24024000106200482402600018 +:1008D0001062004A8FBF001C0A0002518FB200183C +:1008E00034820100904300098C5000189451000C90 +:1008F000240200091062001C0000902128620009F7 +:10090000144000218F8200242402000A5062001249 +:10091000323100FF2402000B1062000F00000000C3 +:100920002402000C146200188F8200243C0208008C +:100930008C4256B824030900AC83002000501021DB +:100940003C038008AC6200643C010800AC2256B84D +:100950000A0002508FBF001C0E0001E900102602A1 +:100960000A0002308F8200240E0001E900102602E6 +:100970003C0380089462001A8C72000C3042FFFF26 +:10098000020280258F8200248C42000C5040001E01 +:100990008FBF001C0E000D84000000003C02800090 +:1009A00034420100944300088F82002400031C009D +:1009B0009444001E8F82002000641825AC50000073 +:1009C00024040001AC510004AC520008AC40000CFF +:1009D000AC400010AC400014AC4000180E000DB844 +:1009E000AC43001C0A0002508FBF001C0E000440E4 +:1009F000000000000A0002508FBF001C0E000C9F78 +:100A0000000000008FBF001C8FB200188FB10014CF +:100A10008FB000100000102103E0000827BD002067 +:100A200027BDFFD8AFB400203C036010AFBF002447 +:100A3000AFB3001CAFB20018AFB10014AFB00010DC +:100A40008C6450002402FF7F3C1408002694563822 +:100A5000008220243484380CAC6450003C028000B6 +:100A6000240300370E0014B0AC4300083C07080014 +:100A700024E70618028010212404001D2484FFFFAF +:100A8000AC4700000481FFFD244200043C02080042 +:100A9000244207C83C010800AC2256403C02080032 +:100AA000244202303C030800246306203C04080072 +:100AB000248403B43C05080024A506F03C06080085 +:100AC00024C62C9C3C010800AC2256803C02080045 +:100AD000244205303C010800AC2756843C01080044 +:100AE000AC2656943C010800AC23569C3C010800FF +:100AF000AC2456A03C010800AC2556A43C010800DB +:100B0000AC2256A83C010800AC23563C3C0108002E +:100B1000AC2456443C010800AC2056603C0108005F +:100B2000AC2556643C010800AC2056703C0108001E +:100B3000AC27567C3C010800AC2656903C010800CE +:100B4000AC2356980E00056E00000000AF80000C2C +:100B50003C0280008C5300008F8300043C0208009C +:100B60008C420020106200213262000700008821C0 +:100B70002792FF9C3C100800261056E43C02080017 +:100B80008C42002024050001022518040043202483 +:100B90008F820004004310245044000C26310001D1 +:100BA00010800008AF9000248E4300003C028000BB +:100BB000AC4300900E000D4BAE05000C0A0002C1C4 +:100BC00026310001AE00000C263100012E22000269 +:100BD000261000381440FFE9265200043C020800A9 +:100BE0008C420020AF820004326200071040FFD91F +:100BF0003C028000326200011040002D326200028F +:100C00003C0580008CA2010000002021ACA2002045 +:100C10008CA301042C42078110400008ACA300A85B +:100C200094A2010824032000304270001443000302 +:100C30003C02800890420005304400FF0E0001593C +:100C4000000000003C0280009042010B304300FF96 +:100C50002C62001E54400004000310800E00018628 +:100C60000A0002EC00000000005410218C42000039 +:100C70000040F80900000000104000043C02800021 +:100C80008C4301043C026020AC4300143C02080089 +:100C90008C4200343C0440003C03800024420001AC +:100CA000AC6401383C010800AC220034326200021E +:100CB00010400010326200043C1080008E0201409F +:100CC000000020210E000159AE0200200E00038317 +:100CD000000000003C024000AE0201783C02080027 +:100CE0008C420038244200013C010800AC2200384C +:100CF000326200041040FF973C0280003C108000EC +:100D00008E020180000020210E000159AE02002059 +:100D10008E03018024020F00546200073C02800809 +:100D20008E0201883C0300E03042FFFF00431025A3 +:100D30000A000328AE020080344200809042000086 +:100D400024030050304200FF14430007000000005D +:100D50000E000362000000001440000300000000C9 +:100D60000E000971000000003C0208008C42003CAB +:100D70003C0440003C03800024420001AC6401B804 +:100D80003C010800AC22003C0A0002A33C028000A7 +:100D90003C02900034420001008220253C02800089 +:100DA000AC4400203C0380008C6200200440FFFE25 +:100DB0000000000003E00008000000003C0280008A +:100DC000344300010083202503E00008AC440020E8 +:100DD00027BDFFE0AFB10014AFB000100080882144 +:100DE000AFBF00180E00033230B000FF8F83FF94B6 +:100DF000022020219062002502028025A07000259B +:100E00008C7000183C0280000E00033D020280241A +:100E10001600000B8FBF00183C0480008C8201F884 +:100E20000440FFFE348201C024030002AC510000E4 +:100E3000A04300043C021000AC8201F88FBF0018F0 +:100E40008FB100148FB0001003E0000827BD002010 +:100E500027BDFFE83C028000AFBF00103442018094 +:100E6000944300048C4400083063020010600005C5 +:100E7000000028210E00100C000000000A0003787A +:100E8000240500013C02FF000480000700821824B2 +:100E90003C02040014620004240500018F82FF94C8 +:100EA00090420008240500018FBF001000A010210F +:100EB00003E0000827BD00188F82FF982405000179 +:100EC000A040001A3C028000344201400A00034264 +:100ED0008C4400008F85FF9427BDFFE0AFBF001C4E +:100EE000AFB20018AFB10014AFB0001090A2000074 +:100EF000304400FF38830020388200300003182B74 +:100F00000002102B0062182410600003240200501D +:100F1000148200A88FBF001C90A20005304200017F +:100F2000104000A48FBF001C3C02800034420140EE +:100F3000904200082443FFFF2C6200051040009EF1 +:100F40008FB20018000310803C030800246355ACE6 +:100F5000004310218C420000004000080000000007 +:100F60003C028000345101400E0003328E24000008 +:100F70008F92FF948E2200048E50000C1602000205 +:100F800024020001AE42000C0E00033D8E2400003E +:100F90008E220004145000068FBF001C8FB2001870 +:100FA0008FB100148FB000100A000F7827BD002009 +:100FB0008E42000C0A000419000000003C0480006E +:100FC0003482014094A300108C4200043063FFFF80 +:100FD0001443001C0000000024020001A4A2001021 +:100FE0008C8202380441000F3C0380003C02003F29 +:100FF0003448F0003C0760003C06FFC08CE22BBC8C +:1010000000461824004810240002130200031D8229 +:10101000106200583C0280008C8202380440FFF7C6 +:101020003C038000346201408C44000034620200C2 +:10103000AC4400003C021000AC6202380A00043BE1 +:101040008FBF001C94A200100A00041900000000C9 +:10105000240200201482000F3C0280003C03800028 +:1010600094A20012346301408C6300043042FFFFFD +:10107000146200050000000024020001A4A2001276 +:101080000A0004028FBF001C94A200120A00041977 +:1010900000000000345101400E0003328E24000095 +:1010A0008F92FF948E230004964200123050FFFF6F +:1010B0001603000224020001A64200120E00033DA6 +:1010C0008E2400008E220004160200068FBF001C32 +:1010D0008FB200188FB100148FB000100A00037C8B +:1010E00027BD0020964200120A00041900000000EB +:1010F0003C03800094A20014346301408C6300041C +:101100003042FFFF14620008240200018FBF001C60 +:101110008FB200188FB100148FB00010A4A2001479 +:101120000A00146327BD002094A20014144000217B +:101130008FBF001C0A000435000000003C03800043 +:1011400094A20016346301408C6300043042FFFF18 +:101150001462000D240200018FBF001C8FB2001822 +:101160008FB100148FB00010A4A200160A000B1457 +:1011700027BD00209442007824420004A4A200105D +:101180000A00043B8FBF001C94A200162403000138 +:101190003042FFFF144300078FBF001C3C020800D1 +:1011A0008C420070244200013C010800AC22007017 +:1011B0008FBF001C8FB200188FB100148FB00010C9 +:1011C00003E0000827BD002027BDFFD8AFB20018FC +:1011D0008F92FF94AFB10014AFBF0020AFB3001CDB +:1011E000AFB000103C028000345101008C5001006F +:1011F0009242000092230009304400FF2402001FA5 +:10120000106200AB28620020104000192402003850 +:101210002862000A1040000D2402000B286200081A +:101220001040002E8F820024046001042862000216 +:101230001440002A8F820024240200061062002637 +:101240008FBF00200A00055F8FB3001C1062006092 +:101250002862000B144000FA8FBF00202402000E09 +:10126000106200788F8200240A00055F8FB3001C93 +:10127000106200D2286200391040000A2402008067 +:1012800024020036106200E528620037104000C3D7 +:1012900024020035106200D98FBF00200A00055FCC +:1012A0008FB3001C1062002D2862008110400006E0 +:1012B000240200C824020039106200C98FBF002038 +:1012C0000A00055F8FB3001C106200A28FBF0020D0 +:1012D0000A00055F8FB3001C8F8200248C42000C33 +:1012E000104000D78FBF00200E000D8400000000CA +:1012F0003C038000346301008C6200008F85002075 +:10130000946700089466000CACA200008C64000492 +:101310008F82002400063400ACA400049448001E10 +:101320008C62001800073C0000E83825ACA20008D9 +:101330008C62001C24040001ACA2000C9062000A24 +:1013400000C23025ACA60010ACA00014ACA0001860 +:10135000ACA7001C0A00051D8FBF00208F8200244F +:101360008C42000C104000B68FBF00200E000D8490 +:10137000000000008F820024962400089625000CAF +:101380009443001E000422029626000E8F82002045 +:10139000000426000083202500052C003C0300806B +:1013A00000A6282500832025AC400000AC400004A6 +:1013B000AC400008AC40000CAC450010AC40001440 +:1013C000AC400018AC44001C0A00051C24040001B9 +:1013D0009622000C14400018000000009242000504 +:1013E0003042001014400014000000000E000332D0 +:1013F0000200202192420005020020213442001008 +:101400000E00033DA242000592420000240300208A +:10141000304200FF10430089020020218FBF0020CE +:101420008FB3001C8FB200188FB100148FB0001062 +:101430000A00107527BD00280000000D0A00055E97 +:101440008FBF00208C42000C1040007D8FBF002019 +:101450000E000D84000000008E2200048F84002006 +:101460009623000CAC8200003C0280089445002CBE +:101470008F82002400031C0030A5FFFF9446001E4D +:101480003C02400E0065182500C23025AC830004E4 +:10149000AC800008AC80000CAC800010AC80001464 +:1014A000AC800018AC86001C0A00051C2404000156 +:1014B0000E000332020020218F93FF9802002021AA +:1014C0000E00033DA660000C020020210E00034226 +:1014D000240500018F8200248C42000C104000582B +:1014E0008FBF00200E000D84000000009622000C2B +:1014F0008F83002000021400AC700000AC62000476 +:10150000AC6000088E4400388F820024AC64000C6C +:101510008E46003C9445001E3C02401FAC66001005 +:1015200000A228258E62000424040001AC6200148D +:10153000AC600018AC65001C8FBF00208FB3001C8E +:101540008FB200188FB100148FB000100A000DB8D0 +:1015500027BD0028240200201082003A8FB3001C0F +:101560000E000F5E00000000104000358FBF00200D +:101570003C0480008C8201F80440FFFE348201C0EC +:1015800024030002AC500000A04300043C02100001 +:10159000AC8201F80A00055E8FBF00200200202106 +:1015A0008FBF00208FB3001C8FB200188FB10014C2 +:1015B0008FB000100A000EA727BD00289625000C4A +:1015C000020020218FBF00208FB3001C8FB20018B3 +:1015D0008FB100148FB000100A000ECC27BD002878 +:1015E000020020218FB3001C8FB200188FB10014AD +:1015F0008FB000100A000EF727BD00289225000DBD +:10160000020020218FB3001C8FB200188FB100148C +:101610008FB000100A000F4827BD002802002021CB +:101620008FBF00208FB3001C8FB200188FB1001441 +:101630008FB000100A000F1F27BD00288FBF0020A9 +:101640008FB3001C8FB200188FB100148FB0001040 +:1016500003E0000827BD00283C0580008CA202782A +:101660000440FFFE34A2024024030002AC44000008 +:10167000A04300043C02100003E00008ACA2027882 +:10168000A380001803E00008A38000193C03800039 +:101690008C6202780440FFFE8F82001CAC62024024 +:1016A00024020002A06202443C02100003E0000891 +:1016B000AC6202783C02600003E000088C425404F3 +:1016C0009083003024020005008040213063003FF9 +:1016D0000000482114620005000050219082004C57 +:1016E0009483004E304900FF306AFFFFAD00000CCC +:1016F000AD000010AD000024950200148D05001C03 +:101700008D0400183042FFFF004910230002110031 +:10171000000237C3004038210086202300A2102B8E +:101720000082202300A72823AD05001CAD0400186B +:10173000A5090014A5090020A50A001603E0000869 +:10174000A50A002203E000080000000027BDFFD822 +:10175000AFB200183C128008AFB40020AFB3001C39 +:10176000AFB10014AFBF0024AFB00010365101007C +:101770003C0260008C4254049222000C3C1408008D +:10178000929400F7304300FF2402000110620032FF +:101790000080982124020002146200353650008037 +:1017A0000E00143D000000009202004C2403FF8054 +:1017B0003C0480003042007F000211C024420240FD +:1017C0000262102100431824AC8300949245000863 +:1017D0009204004C3042007F3C03800614850007D1 +:1017E000004380212402FFFFA22200112402FFFFF8 +:1017F000A62200120A0005D22402FFFF9602002052 +:10180000A222001196020022A62200128E020024BB +:101810003C048008AE2200143485008090A2004C65 +:1018200034830100A06200108CA2003CAC6200185E +:101830008C820068AC6200F48C820064AC6200F0C0 +:101840008C82006CAC6200F824020001A0A2006847 +:101850000A0005EE3C0480080E001456000000004B +:1018600036420080A04000680A0005EE3C04800873 +:10187000A2000068A20000690A0006293C02800854 +:10188000348300808C62003834850100AC62006CC7 +:1018900024020001A062006990A200D59083000894 +:1018A000305100FF3072007F12320019001111C058 +:1018B00024420240026210212403FF8000431824C6 +:1018C0003C048000AC8300943042007F3C038006DF +:1018D000004380218E02000C1040000D02002021E8 +:1018E0000E00057E0000000026220001305100FF9E +:1018F0009203003C023410260002102B0002102339 +:101900003063007F022288240A0005F8A203003C0D +:101910003C088008350401008C8200E03507008017 +:10192000ACE2003C8C8200E0AD02000090E5004C8F +:10193000908600D590E3004C908400D52402FF806F +:1019400000A228243063007F308400FF00A62825F1 +:101950000064182A1060000230A500FF38A500803E +:10196000A0E5004CA10500093C0280089043000E50 +:10197000344400803C058000A043000A8C8300189A +:101980003C027FFF3442FFFF00621824AC83001842 +:101990008CA201F80440FFFE00000000ACB301C0BF +:1019A0008FBF00248FB400208FB3001C8FB20018AB +:1019B0008FB100148FB0001024020002A0A201C455 +:1019C00027BD00283C02100003E00008ACA201F88B +:1019D00090A2000024420001A0A200003C030800E5 +:1019E0008C6300F4304200FF144300020080302179 +:1019F000A0A0000090A200008F84001C000211C073 +:101A00002442024024830040008220212402FF80DF +:101A1000008220243063007F3C02800A006218218B +:101A20003C028000AC44002403E00008ACC300008A +:101A300094820006908300058C85000C8C86001033 +:101A40008C8700188C88001C8C8400203C010800C6 +:101A5000A42256C63C010800A02356C53C0108003C +:101A6000AC2556CC3C010800AC2656D03C01080001 +:101A7000AC2756D83C010800AC2856DC3C010800D5 +:101A8000AC2456E003E00008000000003C0280089F +:101A9000344201008C4400343C038000346504006F +:101AA000AC6400388C420038AF850028AC62003C42 +:101AB0003C020005AC6200300000000000000000A5 +:101AC00003E00008000000003C020006308400FF34 +:101AD000008220253C028000AC4400300000000061 +:101AE00000000000000000003C0380008C62000049 +:101AF000304200101040FFFD3462040003E0000893 +:101B0000AF82002894C200003C080800950800CA73 +:101B100030E7FFFF0080482101021021A4C200002D +:101B200094C200003042FFFF00E2102B544000013D +:101B3000A4C7000094A200003C0308008C6300CC02 +:101B400024420001A4A2000094A200003042FFFF42 +:101B5000144300073C0280080107102BA4A00000DA +:101B60005440000101003821A4C700003C02800855 +:101B7000344601008CC3002894A200003C0480007D +:101B80003042FFFE000210C000621021AC82003C17 +:101B90008C82003C006218231860000400000000E2 +:101BA0008CC200240A0006BA244200018CC2002420 +:101BB000AC8200383C020050344200103C038000EC +:101BC000AC620030000000000000000000000000D7 +:101BD0008C620000304200201040FFFD0000000039 +:101BE00094A200003C04800030420001000210C0BA +:101BF000004410218C430400AD2300008C420404F7 +:101C0000AD2200043C02002003E00008AC8200305A +:101C100027BDFFE0AFB20018AFB10014AFB00010A5 +:101C2000AFBF001C94C2000000C080213C1208001D +:101C3000965200C624420001A6020000960300004E +:101C400094E2000000E03021144300058FB1003021 +:101C50000E00068F024038210A0006F10000000045 +:101C60008C8300048C82000424420040046100073D +:101C7000AC8200048C8200040440000400000000D8 +:101C80008C82000024420001AC8200009602000019 +:101C90003042FFFF50520001A600000096220000D3 +:101CA00024420001A62200003C02800834420100C8 +:101CB000962300009442003C144300048FBF001C94 +:101CC00024020001A62200008FBF001C8FB2001862 +:101CD0008FB100148FB0001003E0000827BD002072 +:101CE00027BDFFE03C028008AFBF0018344201006E +:101CF0008C4800343C03800034690400AC68003830 +:101D00008C42003830E700FFAF890028AC62003C0D +:101D10003C020005AC620030000000000000000042 +:101D200000000000000000000000000000000000B3 +:101D30008C82000C8C82000C97830016AD22000070 +:101D40008C82001000604021AD2200048C820018BB +:101D5000AD2200088C82001CAD22000C8CA2001465 +:101D6000AD2200108C820020AD220014908200056C +:101D7000304200FF00021200AD2200188CA20018B1 +:101D8000AD22001C8CA2000CAD2200208CA2001001 +:101D9000AD2200248CA2001CAD2200288CA20020C1 +:101DA000AD22002C3402FFFFAD260030AD20003400 +:101DB000506200013408FFFFAD28003850E00011E8 +:101DC0003C0280083C048008348401009482005066 +:101DD0003042FFFFAD22003C9483004494850044D0 +:101DE000240200013063FFFF000318C200641821C1 +:101DF0009064006430A5000700A210040A00075C8C +:101E00000044102534420100AD20003C94430044BE +:101E1000944400443063FFFF000318C2006218219D +:101E200030840007906500642402000100821004E1 +:101E30000002102700451024A0620064000000008A +:101E400000000000000000003C0200063442004098 +:101E50003C038000AC620030000000000000000085 +:101E6000000000008C620000304200101040FFFDB6 +:101E70003C06800834C201503463040034C7014A70 +:101E800034C4013434C5014034C60144AFA200104B +:101E90000E0006D2AF8300288FBF001803E00008B1 +:101EA00027BD00208F8300143C0608008CC600E884 +:101EB0008F82001C30633FFF000319800046102111 +:101EC000004310212403FF80004318243C068000B7 +:101ED000ACC300283042007F3C03800C004330211B +:101EE00090C2000D30A500FF0000382134420010E0 +:101EF000A0C2000D8F8900143C028008344201000A +:101F00009443004400091382304800032402000176 +:101F1000A4C3000E1102000B2902000210400005AC +:101F2000240200021100000C240300010A0007A48F +:101F30000000182111020006000000000A0007A49A +:101F4000000018218CC2002C0A0007A424430001C1 +:101F50008CC20014244300018CC200180043102BD3 +:101F60005040000A240700012402002714A20003A5 +:101F70003C0380080A0007B1240700013463010014 +:101F80009462004C24420001A462004C00091382B8 +:101F9000304300032C620002104000090080282119 +:101FA000146000040000000094C200340A0007C15D +:101FB0003046FFFF8CC600380A0007C10080282188 +:101FC000000030213C040800248456C00A000706A3 +:101FD0000000000027BDFF90AFB60068AFB50064F9 +:101FE000AFB40060AFB3005CAFB20058AFB1005403 +:101FF000AFBF006CAFB000508C9000000080B021EB +:102000003C0208008C4200E8960400328F83001CDA +:102010002414FF8030843FFF0062182100042180D7 +:1020200000641821007410243C13800000A090214B +:1020300090A50000AE620028920400323C02800CA1 +:102040003063007F00628821308400C02402004099 +:10205000148200320000A8218E3500388E2200182C +:102060001440000224020001AE2200189202003C3B +:10207000304200201440000E8F83001C000511C068 +:102080002442024000621821306400783C02008043 +:102090000082202500741824AE630800AE64081086 +:1020A0008E2200188E03000800431021AE22001873 +:1020B0008E22002C8E230018244200010062182B6F +:1020C0001060004300000000924200002442000122 +:1020D000A24200003C0308008C6300F4304200FF81 +:1020E00050430001A2400000924200008F84001C77 +:1020F000000211C024420240248300403063007F6C +:10210000008220213C02800A0094202400621821D1 +:10211000AE6400240A0008D2AEC30000920300326D +:102120002402FFC000431024304200FF1440000589 +:1021300024020001AE220018962200340A00084250 +:102140003055FFFF8E22001424420001AE220018F9 +:102150009202003000021600000216030441001C27 +:10216000000000009602003227A400100080282101 +:10217000A7A20016960200320000302124070001B9 +:102180003042FFFFAF8200140E000706AFA0001C14 +:10219000960200328F83001C3C0408008C8400E807 +:1021A00030423FFF000211800064182100621821B4 +:1021B00000741024AE62002C3063007F3C02800E5D +:1021C000006218219062000D3042007FA062000D75 +:1021D0009222000D304200105040007892420000E0 +:1021E0003C028008344401009482004C8EC30000FD +:1021F0003C130800967300C62442FFFFA482004CE3 +:10220000946200329623000E3054FFFF3070FFFFBF +:102210003C0308008C6300D000701807A7A30038A7 +:102220009482003E3063FFFF3042FFFF14620007DC +:10223000000000008C8200303C038000244200300B +:10224000AC62003C0A00086A8C82002C9482004038 +:102250003042FFFF5462000927A400408C820038FE +:102260003C03800024420030AC62003C8C8200348D +:10227000AC6200380A0008793C03800027A50038CA +:1022800027A60048026038210E00068FA7A000484C +:102290008FA300403C02800024630030AC43003830 +:1022A0008FA30044AC43003C3C0380003C0200058B +:1022B000AC6200303C028008344401009482004249 +:1022C000346304003042FFFF0202102B1440000769 +:1022D000AF8300289482004E9483004202021021B2 +:1022E000004310230A00088F3043FFFF9483004E01 +:1022F00094820042026318210050102300621823C8 +:102300003063FFFF3C028008344401009482003CAB +:102310003042FFFF14430003000000000A00089F42 +:10232000240300019482003C3042FFFF0062102B26 +:10233000144000058F8200289482003C0062102324 +:102340003043FFFF8F820028AC550000AC400004F2 +:10235000AC540008AC43000C3C02000634420010B0 +:102360003C038000AC620030000000000000000070 +:10237000000000008C620000304200101040FFFDA1 +:102380003C04800834840100001018C20064182145 +:102390009065006432020007240600010046100424 +:1023A00000451025A0620064948300429622000E2E +:1023B00050430001A386001892420000244200010D +:1023C000A24200003C0308008C6300F4304200FF8E +:1023D00050430001A2400000924200008F84001C84 +:1023E000000211C0244202402483004000822021C8 +:1023F0002402FF80008220243063007F3C02800A98 +:10240000006218213C028000AC440024AEC30000EE +:102410008FBF006C8FB600688FB500648FB400600A +:102420008FB3005C8FB200588FB100548FB0005052 +:1024300003E0000827BD007027BDFFD8AFB3001C24 +:10244000AFB20018AFB10014AFB00010AFBF0020A2 +:102450000080982100E0802130B1FFFF0E000D8444 +:1024600030D200FF0000000000000000000000006B +:102470008F8200208F830024AC510000AC520004F6 +:10248000AC530008AC40000CAC400010AC40001451 +:10249000AC4000189463001E02038025AC50001C61 +:1024A0000000000000000000000000002404000103 +:1024B0008FBF00208FB3001C8FB200188FB10014A3 +:1024C0008FB000100A000DB827BD002830A5FFFF0F +:1024D0000A0008DC30C600FF3C02800834430100DB +:1024E0009462000E3C080800950800C63046FFFFC5 +:1024F00014C000043402FFFF946500EA0A000929B1 +:102500008F84001C10C20027000000009462004E5F +:102510009464003C3045FFFF00A6102300A6182B52 +:102520003087FFFF106000043044FFFF00C5102318 +:1025300000E210233044FFFF0088102B1040000EF3 +:1025400000E810233C028008344401002403000109 +:1025500034420080A44300162402FFFFA482000E30 +:10256000948500EA8F84001C0000302130A5FFFF15 +:102570000A0009013C0760200044102A10400009AD +:102580003C0280083443008094620016304200010F +:10259000104000043C0280009442007E244200145B +:1025A000A462001603E000080000000027BDFFE061 +:1025B0003C028008AFBF001CAFB0001834420100DD +:1025C000944300429442004C104000193068FFFFD1 +:1025D0009383001824020001146200298FBF001C9D +:1025E0003C06800834D00100000810C200501021C1 +:1025F000904200643103000734C70148304200FFB5 +:10260000006210073042000134C9014E34C4012C6D +:1026100034C5013E1040001634C601420E0006D2F9 +:10262000AFA90010960200420A0009463048FFFF99 +:102630003C028008344401009483004494820042A8 +:102640001043000F8FBF001C94820044A4820042FC +:1026500094820050A482004E8C820038AC820030FC +:1026600094820040A482003E9482004AA4820048E2 +:102670008FBF001C8FB000180A00090427BD00207E +:102680008FB0001803E0000827BD002027BDFFA081 +:10269000AFB1004C3C118000AFBF0058AFB3005445 +:1026A000AFB20050AFB000483626018890C2000398 +:1026B0003044007FA3A400108E32018090C200003D +:1026C0003043007F240200031062003BAF92001CE5 +:1026D00028620004104000062402000424020002C4 +:1026E000106200098FBF00580A000B0F8FB300540F +:1026F0001062004D240200051062014E8FBF005889 +:102700000A000B0F8FB30054000411C002421021C5 +:102710002404FF8024420240004410242643004049 +:10272000AE2200243063007F3C02800A0062182140 +:102730009062003CAFA3003C00441025A062003C26 +:102740008FA3003C9062003C304200401040016C7E +:102750008FBF00583C108008A3800018361001007D +:102760008E0200E08C63003427A4003C27A50010F3 +:10277000004310210E0007C3AE0200E093A2001038 +:102780003C038000A20200D58C6202780440FFFE68 +:102790008F82001CAC62024024020002A06202444C +:1027A0003C021000AC6202780E0009390000000003 +:1027B0000A000B0E8FBF00583C05800890C3000133 +:1027C00090A2000B1443014E8FBF005834A4008028 +:1027D0008C8200189082004C90A200083C0260009D +:1027E0008C4254048C8300183C027FFF3442FFFF6C +:1027F000006218243C0208008C4200B4AC8300182C +:102800003C038000244200013C010800AC2200B4DB +:102810008C6201F80440FFFE8F82001CAC6201C094 +:102820000A000AD6240200023C10800890C300016E +:102830009202000B144301328FBF005827A40018E6 +:1028400036050110240600033C0260008C4254044B +:102850000E000E470000000027A40028360501F0F6 +:102860000E000E47240600038FA200283603010045 +:10287000AE0200648FA2002CAE0200688FA200306E +:10288000AE02006C93A40018906300D52402FF8070 +:102890000082102400431025304900FF3084007F5F +:1028A0003122007F0082102A544000013929008023 +:1028B000000411C0244202402403FF800242102180 +:1028C00000431024AE220094264200403042007F94 +:1028D0003C038006004340218FA3001C2402FFFF1D +:1028E000AFA800403C130800927300F71062003359 +:1028F00093A2001995030014304400FF3063FFFFDA +:102900000064182B106000100000000095040014F3 +:102910008D07001C8D0600183084FFFF0044202323 +:102920000004210000E438210000102100E4202BE5 +:1029300000C2302100C43021AD07001CAD060018D4 +:102940000A000A2F93A20019950400148D07001C99 +:102950008D0600183084FFFF008220230004210030 +:10296000000010210080182100C2302300E4202B39 +:1029700000C4302300E33823AD07001CAD06001867 +:1029800093A200198FA30040A462001497A2001A1A +:10299000A46200168FA2001CAC6200108FA2001C63 +:1029A000AC62000C93A20019A462002097A2001A46 +:1029B000A46200228FA2001CAC6200243C048008A8 +:1029C000348300808C6200388FA20020012088218F +:1029D000AC62003C8FA20020AC82000093A20018E1 +:1029E000A062004C93A20018A0820009A0600068B9 +:1029F00093A20018105100512407FF803229007F54 +:102A0000000911C024420240024210213046007FDA +:102A10003C03800000471024AC6200943C02800616 +:102A200000C2302190C2003CAFA60040000020212F +:102A300000471025A0C2003C8FA80040950200026C +:102A4000950300148D07001C3042FFFF3063FFFF29 +:102A50008D060018004310230002110000E2382107 +:102A600000E2102B00C4302100C23021AD07001C51 +:102A7000AD06001895020002A5020014A50000167C +:102A80008D020008AD0200108D020008AD02000C9E +:102A900095020002A5020020A50000228D02000878 +:102AA000AD0200249102003C304200401040001A68 +:102AB000262200013C108008A3A90038A38000183A +:102AC000361001008E0200E08D03003427A4004080 +:102AD00027A50038004310210E0007C3AE0200E016 +:102AE00093A200383C038000A20200D58C620278D9 +:102AF0000440FFFE8F82001CAC62024024020002F0 +:102B0000A06202443C021000AC6202780E00093957 +:102B100000000000262200013043007F14730004EF +:102B2000004020212403FF8002231024004320269C +:102B300093A200180A000A4B309100FF93A40018DA +:102B40008FA3001C2402FFFF1062000A308900FFDF +:102B500024820001248300013042007F14530005C9 +:102B6000306900FF2403FF800083102400431026F7 +:102B7000304900FF3C028008904200080120882173 +:102B8000305000FF123000193222007F000211C0C5 +:102B900002421021244202402403FF8000431824F3 +:102BA0003C048000AC8300943042007F3C038006EC +:102BB000004310218C43000C004020211060000BCA +:102BC000AFA200400E00057E000000002623000199 +:102BD0002405FF803062007F145300020225202468 +:102BE000008518260A000AAF307100FF3C048008F7 +:102BF000348400808C8300183C027FFF3442FFFF46 +:102C000000621824AC8300183C0380008C6201F839 +:102C10000440FFFE00000000AC7201C0240200026C +:102C2000A06201C43C021000AC6201F80A000B0E65 +:102C30008FBF00583C04800890C300019082000BB5 +:102C40001443002F8FBF0058349000809202000878 +:102C500030420040104000200000000092020008B6 +:102C60000002160000021603044100050240202164 +:102C70000E000ECC240500930A000B0E8FBF0058E7 +:102C80009202000924030018304200FF1443000D93 +:102C900002402021240500390E000E64000030217E +:102CA0000E0003328F84001C8F82FF9424030012D5 +:102CB000A04300090E00033D8F84001C0A000B0E88 +:102CC0008FBF0058240500360E000E64000030212E +:102CD0000A000B0E8FBF00580E0003320240202165 +:102CE000920200058F84001C344200200E00033D38 +:102CF000A20200050E0010758F84001C8FBF0058C3 +:102D00008FB300548FB200508FB1004C8FB0004889 +:102D100003E0000827BD00603C0280083445010044 +:102D20003C0280008C42014094A3000E0000302140 +:102D300000402021AF82001C3063FFFF3402FFFF00 +:102D4000106200063C0760202402FFFFA4A2000ED0 +:102D500094A500EA0A00090130A5FFFF03E000087E +:102D60000000000027BDFFC83C0280003C06800830 +:102D7000AFB5002CAFB1001CAFBF0030AFB400281E +:102D8000AFB30024AFB20020AFB00018345101003F +:102D900034C501008C4301008E2200148CA400E491 +:102DA0000000A821AF83001C0044102318400052EB +:102DB000A38000188E22001400005021ACA200E471 +:102DC00090C3000890A200D53073007FA3A200102A +:102DD0008CB200E08CB400E4304200FF1053003BA2 +:102DE00093A200108F83001C2407FF80000211C0F3 +:102DF0000062102124420240246300400047102456 +:102E00003063007F3C0980003C08800A006818217C +:102E1000AD2200248C62003427A4001427A50010E2 +:102E2000024280210290102304400028AFA3001426 +:102E30009062003C00E21024304200FF1440001970 +:102E4000020090219062003C34420040A062003CAD +:102E50008F86001C93A3001024C200403042007FE4 +:102E6000004828213C0208008C4200F42463000141 +:102E7000306400FF14820002A3A30010A3A000107E +:102E800093A20010AFA50014000211C0244202401A +:102E900000C2102100471024AD2200240A000B4577 +:102EA00093A200100E0007C3000000003C0280083F +:102EB00034420100AC5000E093A30010240A00014A +:102EC000A04300D50A000B4593A200102402000184 +:102ED000154200093C0380008C6202780440FFFE2A +:102EE0008F82001CAC62024024020002A0620244F5 +:102EF0003C021000AC6202789222000B2403000214 +:102F0000304200FF144300720000000096220008C7 +:102F1000304300FF24020082146200402402008437 +:102F20003C028000344901008D22000C95230006EC +:102F3000000216023063FFFF3045003F24020027E5 +:102F400010A2000FAF83001428A200281040000830 +:102F5000240200312402002110A2000924020025CD +:102F600010A20007938200190A000BBD00000000A8 +:102F700010A20007938200190A000BBD0000000098 +:102F80000E000777012020210A000C3D0000000000 +:102F90003C0380008C6202780440FFFE8F82001C9C +:102FA000AC62024024020002A06202443C02100013 +:102FB000AC6202780A000C3D000000009523000678 +:102FC000912400058D25000C8D2600108D270018FA +:102FD0008D28001C8D290020244200013C0108009E +:102FE000A42356C63C010800A02456C53C01080095 +:102FF000AC2556CC3C010800AC2656D03C0108005C +:10300000AC2756D83C010800AC2856DC3C0108002F +:10301000AC2956E00A000C3DA38200191462000A94 +:10302000240200813C02800834420100944500EAF9 +:10303000922600058F84001C30A5FFFF30C600FFDC +:103040000A000BFE3C0760211462005C00000000D7 +:103050009222000A304300FF306200201040000737 +:10306000306200403C02800834420100944500EA8E +:103070008F84001C0A000BFC24060040104000074F +:10308000000316003C02800834420100944500EA27 +:103090008F84001C0A000BFC24060041000216036A +:1030A000044100463C02800834420100944500EA95 +:1030B0008F84001C2406004230A5FFFF3C076019E6 +:1030C0000E000901000000000A000C3D0000000095 +:1030D0009222000B24040016304200FF1044000628 +:1030E0003C0680009222000B24030017304200FFB0 +:1030F000144300320000000034C5010090A2000B10 +:10310000304200FF1444000B000080218CA20020FC +:103110008CA400202403FF800043102400021140EF +:103120003084007F004410253C032000004310251C +:10313000ACC2083094A2000800021400000214037C +:10314000044200012410000194A2000830420080D3 +:103150005040001A0200A82194A20008304220002A +:10316000504000160200A8218CA300183C021C2D20 +:10317000344219ED106200110200A8213C0208003F +:103180008C4200D4104000053C0280082403000457 +:1031900034420100A04300FC3C028008344201009C +:1031A000944500EA8F84001C2406000630A5FFFF2A +:1031B0000E0009013C0760210200A8210E00093918 +:1031C000000000009222000A304200081040000473 +:1031D00002A010210E0013790000000002A01021AF +:1031E0008FBF00308FB5002C8FB400288FB3002420 +:1031F0008FB200208FB1001C8FB0001803E00008D0 +:1032000027BD00382402FF80008220243C02900069 +:1032100034420007008220253C028000AC4400209C +:103220003C0380008C6200200440FFFE0000000090 +:1032300003E00008000000003C0380002402FF803F +:10324000008220243462000700822025AC64002024 +:103250008C6200200440FFFE0000000003E0000834 +:103260000000000027BDFFD8AFB3001CAFB10014B1 +:10327000AFB00010AFBF0020AFB200183C1180000B +:103280003C0280088E32002034530100AE2400201E +:10329000966300EA000514003C074000004738250B +:1032A00000A08021000030210E0009013065FFFFE1 +:1032B000240200A1160200022402FFFFA2620009FC +:1032C000AE3200208FBF00208FB3001C8FB20018D9 +:1032D0008FB100148FB0001003E0000827BD002854 +:1032E0003C0280082403000527BDFFE834420100AA +:1032F000A04300FCAFBF00103C0280008C420100E4 +:10330000240500A1004020210E000C67AF82001CA4 +:103310003C0380008C6202780440FFFE8F82001C18 +:103320008FBF001027BD0018AC62024024020002CB +:10333000A06202443C021000AC62027803E0000884 +:103340000000000027BDFFE83C068000AFBF001072 +:1033500034C7010094E20008304400FF3883008243 +:10336000388200842C6300012C4200010062182581 +:103370001060002D24020083938200195040003B0E +:103380008FBF00103C020800904256CC8CC4010054 +:103390003C06080094C656C63045003F38A30032AC +:1033A00038A2003F2C6300012C4200010062182566 +:1033B000AF84001CAF860014A380001914600007BE +:1033C00000E020212402002014A2001200000000CE +:1033D0003402FFFF14C2000F00000000240200208E +:1033E00014A2000500E028218CE300142402FFFF52 +:1033F0005062000B8FBF00103C040800248456C0AC +:10340000000030210E000706240700010A000CD638 +:103410008FBF00100E000777000000008FBF001064 +:103420000A00093927BD001814820004240200850F +:103430008CC501040A000CE1000020211482000662 +:103440002482FF808CC50104240440008FBF00103B +:103450000A00016727BD0018304200FF2C4200021D +:1034600010400004240200228FBF00100A000B2726 +:1034700027BD0018148200048F8200248FBF001023 +:103480000A000C8627BD00188C42000C1040001E5C +:1034900000E0282190E300092402001814620003D0 +:1034A000240200160A000CFC240300081462000722 +:1034B00024020017240300123C02800834420080DA +:1034C000A04300090A000D0994A7000854620007F0 +:1034D00094A700088F82FF942404FFFE9043000508 +:1034E00000641824A043000594A7000890A6001BC0 +:1034F0008CA4000094A500068FBF001000073C00BC +:103500000A0008DC27BD00188FBF001003E0000888 +:1035100027BD00188F8500243C04800094A2002A57 +:103520008CA30034000230C02402FFF000C210243B +:1035300000621821AC83003C8CA200303C03800068 +:10354000AC8200383C02005034420010AC620030C3 +:103550000000000000000000000000008C6200007D +:10356000304200201040FFFD30C20008104000062D +:103570003C0280008C620408ACA200208C62040C27 +:103580000A000D34ACA200248C430400ACA300203C +:103590008C420404ACA200243C0300203C028000C6 +:1035A000AC4300303C0480008C8200300043102487 +:1035B0001440FFFD8F8600243C020040AC820030A6 +:1035C00094C3002A94C2002894C4002C94C5002EF1 +:1035D00024630001004410213064FFFFA4C20028CE +:1035E00014850002A4C3002AA4C0002A03E0000836 +:1035F000000000008F84002427BDFFE83C05800404 +:1036000024840010AFBF00100E000E472406000AED +:103610008F840024948200129483002E3042000F85 +:10362000244200030043180424027FFF0043102BB0 +:1036300010400002AC8300000000000D0E000D13CE +:10364000000000008F8300248FBF001027BD0018EA +:10365000946200149463001A3042000F00021500B7 +:10366000006218253C02800003E00008AC4300A083 +:103670008F8300243C028004944400069462001A64 +:103680008C650000A4640016004410233042FFFF44 +:103690000045102B03E00008384200018F8400240D +:1036A0003C0780049486001A8C85000094E2000692 +:1036B000A482001694E3000600C310233042FFFFEB +:1036C0000045102B384200011440FFF8A483001677 +:1036D00003E00008000000008F8400243C02800406 +:1036E000944200069483001A8C850000A482001680 +:1036F000006210233042FFFF0045102B38420001CA +:103700005040000D8F850024006030213C0780046C +:1037100094E20006A482001694E3000600C310237E +:103720003042FFFF0045102B384200011440FFF8E3 +:10373000A48300168F8500243C03800034620400BB +:103740008CA40020AF820020AC6400388CA200243E +:10375000AC62003C3C020005AC62003003E00008B3 +:10376000ACA000048F8400243C0300068C8200047B +:1037700000021140004310253C038000AC62003081 +:103780000000000000000000000000008C6200004B +:10379000304200101040FFFD34620400AC80000491 +:1037A00003E00008AF8200208F86002427BDFFE0E1 +:1037B000AFB10014AFB00010AFBF00188CC300044D +:1037C0008CC500248F820020309000FF94C4001A22 +:1037D00024630001244200202484000124A7002047 +:1037E000ACC30004AF820020A4C4001AACC70024FC +:1037F00004A100060000882104E2000594C2001A1A +:103800008CC2002024420001ACC2002094C2001AE5 +:1038100094C300282E040001004310262C4200010E +:10382000004410245040000594C2001A24020001F4 +:10383000ACC2000894C2001A94C300280010202BC8 +:10384000004310262C4200010044102514400007BC +:10385000000000008CC20008144000042402001084 +:103860008CC300041462000F8F8500240E000DA786 +:10387000241100018F820024944300289442001AEE +:1038800014430003000000000E000D1300000000B0 +:10389000160000048F8500240E000D840000000037 +:1038A0008F85002494A2001E94A4001C24420001D1 +:1038B0003043FFFF14640002A4A2001EA4A0001E57 +:1038C0001200000A3C02800494A2001494A3001A7F +:1038D0003042000F00021500006218253C028000F3 +:1038E000AC4300A00A000E1EACA0000894420006E3 +:1038F00094A3001A8CA40000A4A200160062102356 +:103900003042FFFF0044102B384200011040000DF0 +:1039100002201021006030213C07800494E2000660 +:10392000A4A2001694E3000600C310233042FFFF58 +:103930000044102B384200011440FFF8A4A30016E5 +:10394000022010218FBF00188FB100148FB000101B +:1039500003E0000827BD002003E00008000000008D +:103960008F82002C3C03000600021140004310250A +:103970003C038000AC62003000000000000000004A +:10398000000000008C620000304200101040FFFD7B +:1039900034620400AF82002803E00008AF80002CEE +:1039A00003E000080000102103E000080000000010 +:1039B0003084FFFF30A5FFFF0000182110800007B2 +:1039C000000000003082000110400002000420428C +:1039D000006518210A000E3D0005284003E000089C +:1039E0000060102110C0000624C6FFFF8CA200005A +:1039F00024A50004AC8200000A000E4724840004C1 +:103A000003E000080000000010A0000824A3FFFF4E +:103A1000AC86000000000000000000002402FFFF50 +:103A20002463FFFF1462FFFA2484000403E000080B +:103A3000000000003C0280083442008024030001A2 +:103A4000AC43000CA4430010A4430012A443001490 +:103A500003E00008A44300168F82002427BDFFD88E +:103A6000AFB3001CAFB20018AFB10014AFB000107C +:103A7000AFBF00208C47000C248200802409FF8007 +:103A80003C08800E3043007F008080213C0A80008B +:103A9000004920240068182130B100FF30D200FF17 +:103AA00010E000290000982126020100AD44002CFE +:103AB000004928243042007F004820219062000005 +:103AC00024030050304200FF1443000400000000B3 +:103AD000AD45002C948200EA3053FFFF0E000D84A8 +:103AE000000000008F8200248F83002000112C0032 +:103AF0009442001E001224003484000100A22825F4 +:103B00003C02400000A22825AC7000008FBF0020BE +:103B1000AC6000048FB20018AC7300088FB10014C1 +:103B2000AC60000C8FB3001CAC6400108FB00010B0 +:103B3000AC60001424040001AC60001827BD00280C +:103B40000A000DB8AC65001C8FBF00208FB3001CAD +:103B50008FB200188FB100148FB0001003E000087E +:103B600027BD00283C06800034C201009043000FAE +:103B7000240200101062000E2865001110A000073A +:103B800024020012240200082405003A10620006F4 +:103B90000000302103E0000800000000240500358B +:103BA0001462FFFC000030210A000E6400000000D7 +:103BB0008CC200748F83FF9424420FA003E000089E +:103BC000AC62000C27BDFFE8AFBF00100E0003423F +:103BD000240500013C0480088FBF0010240200016E +:103BE00034830080A462001227BD00182402000163 +:103BF00003E00008A080001A27BDFFE0AFB2001864 +:103C0000AFB10014AFB00010AFBF001C30B2FFFF67 +:103C10000E000332008088213C028008345000806E +:103C20009202000924030004304200FF1443000CF8 +:103C30003C028008124000082402000A0E000E5BBD +:103C400000000000920200052403FFFE0043102440 +:103C5000A202000524020012A20200093C02800810 +:103C600034420080022020210E00033DA0400027A6 +:103C700016400003022020210E000EBF00000000AD +:103C800002202021324600FF8FBF001C8FB2001897 +:103C90008FB100148FB00010240500380A000E64A4 +:103CA00027BD002027BDFFE0AFBF001CAFB200184A +:103CB000AFB10014AFB000100E00033200808021BD +:103CC0000E000E5B000000003C02800834450080BE +:103CD00090A2000924120018305100FF1232000394 +:103CE0000200202124020012A0A2000990A20005D7 +:103CF0002403FFFE004310240E00033DA0A2000594 +:103D00000200202124050020163200070000302187 +:103D10008FBF001C8FB200188FB100148FB000103D +:103D20000A00034227BD00208FBF001C8FB200187D +:103D30008FB100148FB00010240500390A000E6402 +:103D400027BD002027BDFFE83C028000AFB0001077 +:103D5000AFBF0014344201009442000C2405003629 +:103D60000080802114400012304600FF0E00033214 +:103D7000000000003C02800834420080240300124E +:103D8000A043000990430005346300100E000E5B51 +:103D9000A04300050E00033D020020210200202167 +:103DA0000E000342240500200A000F3C0000000022 +:103DB0000E000E64000000000E00033202002021FD +:103DC0003C0280089043001B2405FF9F0200202135 +:103DD000006518248FBF00148FB00010A043001B93 +:103DE0000A00033D27BD001827BDFFE0AFBF001844 +:103DF000AFB10014AFB0001030B100FF0E000332BD +:103E0000008080213C02800824030012344200809C +:103E10000E000E5BA04300090E00033D02002021AE +:103E200002002021022030218FBF00188FB1001422 +:103E30008FB00010240500350A000E6427BD002055 +:103E40003C0480089083000E9082000A1443000B0B +:103E5000000028218F82FF942403005024050001D4 +:103E600090420000304200FF1443000400000000B4 +:103E70009082000E24420001A082000E03E00008A0 +:103E800000A010213C0380008C6201F80440FFFE7A +:103E900024020002AC6401C0A06201C43C02100014 +:103EA00003E00008AC6201F827BDFFE0AFB20018E4 +:103EB0003C128008AFB10014AFBF001CAFB00010BF +:103EC00036510080922200092403000A304200FF8C +:103ED0001443003E000000008E4300048E22003890 +:103EE000506200808FBF001C92220000240300500B +:103EF000304200FF144300253C0280008C42014008 +:103F00008E4300043642010002202821AC43001CED +:103F10009622005C8E2300383042FFFF00021040E2 +:103F200000621821AE23001C8E4300048E2400384A +:103F30009622005C006418233042FFFF0003184300 +:103F4000000210400043102A10400006000000004C +:103F50008E4200048E230038004310230A000FAA6B +:103F6000000220439622005C3042FFFF0002204006 +:103F70003C0280083443010034420080ACA4002C91 +:103F8000A040002424020001A062000C0E000F5E7D +:103F900000000000104000538FBF001C3C02800056 +:103FA0008C4401403C0380008C6201F80440FFFE19 +:103FB00024020002AC6401C0A06201C43C021000F3 +:103FC000AC6201F80A0010078FBF001C92220009A2 +:103FD00024030010304200FF144300043C02800020 +:103FE0008C4401400A000FEE0000282192220009B3 +:103FF00024030016304200FF14430006240200147C +:10400000A22200093C0280008C4401400A001001F9 +:104010008FBF001C8E2200388E23003C00431023EB +:10402000044100308FBF001C92220027244200016F +:10403000A2220027922200272C42000414400016DE +:104040003C1080009222000924030004304200FF4B +:10405000144300093C0280008C4401408FBF001CC7 +:104060008FB200188FB100148FB000102405009398 +:104070000A000ECC27BD00208C440140240500938B +:104080008FBF001C8FB200188FB100148FB00010CA +:104090000A000F4827BD00208E0401400E000332A5 +:1040A000000000008E4200042442FFFFAE420004E4 +:1040B0008E22003C2442FFFFAE22003C0E00033D56 +:1040C0008E0401408E0401408FBF001C8FB2001887 +:1040D0008FB100148FB00010240500040A000342C1 +:1040E00027BD00208FB200188FB100148FB00010D0 +:1040F00003E0000827BD00203C0680008CC2018838 +:104100003C038008346500809063000E00021402B6 +:10411000304400FF306300FF1464000E3C0280084E +:1041200090A20026304200FF104400098F82FF94C5 +:10413000A0A400262403005090420000304200FF5B +:1041400014430006000000000A0005A18CC4018091 +:104150003C02800834420080A044002603E00008AE +:104160000000000027BDFFE030E700FFAFB20018FD +:10417000AFBF001CAFB10014AFB0001000809021A1 +:1041800014E0000630C600FF000000000000000D33 +:10419000000000000A001060240001163C038008A3 +:1041A0009062000E304200FF14460023346200800B +:1041B00090420026304200FF1446001F000000001D +:1041C0009062000F304200FF1446001B0000000008 +:1041D0009062000A304200FF144600038F90FF9463 +:1041E0000000000D8F90FF948F82FF983C1180009B +:1041F000AE05003CAC450000A066000A0E0003328C +:104200008E240100A20000240E00033D8E24010034 +:104210003C0380008C6201F80440FFFE240200028F +:10422000AC7201C0A06201C43C021000AC6201F893 +:104230000A0010618FBF001C000000000000000D8C +:10424000000000002400013F8FBF001C8FB2001847 +:104250008FB100148FB0001003E0000827BD0020CC +:104260008F83FF943C0280008C44010034420100A3 +:104270008C65003C9046001B0A00102724070001B3 +:104280003C0280089043000E9042000A0043102632 +:10429000304200FF03E000080002102B27BDFFE0C2 +:1042A0003C028008AFB10014AFB00010AFBF0018DF +:1042B0003450008092020005240300303042003068 +:1042C00014430085008088218F8200248C42000CDA +:1042D000104000828FBF00180E000D840000000007 +:1042E0008F860020ACD100009202000892030009E2 +:1042F000304200FF00021200306300FF004310252F +:10430000ACC200049202004D000216000002160327 +:1043100004410005000000003C0308008C630048D5 +:104320000A00109F3C1080089202000830420040B2 +:10433000144000030000182192020027304300FFC0 +:104340003C108008361100809222004D00031E00B0 +:10435000304200FF0002140000621825ACC30008C0 +:104360008E2400308F820024ACC4000C8E250034D3 +:104370009443001E3C02C00BACC50010006218251F +:104380008E22003800002021ACC200148E22003C96 +:10439000ACC200180E000DB8ACC3001C8E020004A5 +:1043A0008F8400203C058000AC8200008E2200201B +:1043B000AC8200048E22001CAC8200088E220058C1 +:1043C0008CA3007400431021AC82000C8E22002CC0 +:1043D000AC8200108E2200408E23004400021400A4 +:1043E00000431025AC8200149222004D240300806B +:1043F000304200FF1443000400000000AC800018AD +:104400000A0010E38F8200248E23000C2402000196 +:104410001062000E2402FFFF92220008304200408A +:104420001440000A2402FFFF8E23000C8CA20074AB +:10443000006218233C0208000062102414400002AD +:10444000000028210060282100051043AC820018DC +:104450008F820024000020219443001E3C02C00CE7 +:10446000006218258F8200200E000DB8AC43001C9E +:104470003C038008346201008C4200008F850020DC +:10448000346300808FBF0018ACA20000ACA0000411 +:104490008C6400488F8200248FB10014ACA4000803 +:1044A000ACA0000CACA00010906300059446001E68 +:1044B0003C02400D00031E0000C23025ACA30014D6 +:1044C0008FB00010ACA0001824040001ACA6001CA2 +:1044D0000A000DB827BD00208FBF00188FB100144F +:1044E0008FB0001003E0000827BD00203C028000D0 +:1044F0009443007C3C02800834460100308400FF75 +:104500003065FFFF2402000524A34650A0C4000C20 +:104510005482000C3065FFFF90C2000D2C42000752 +:104520001040000724A30A0090C3000D24020014C9 +:104530000062100400A210210A00111F3045FFFF85 +:104540003065FFFF3C0280083442008003E0000831 +:10455000A44500143C03800834680080AD05003891 +:10456000346701008CE2001C308400FF00A210239D +:104570001840000330C600FF24A2FFFCACE2001C80 +:1045800030820001504000083C0380088D02003C4E +:1045900000A2102304410012240400058C620004D0 +:1045A00010A2000F3C0380088C62000414A2001EBD +:1045B000000000003C0208008C4200D8304200207D +:1045C000104000093C0280083462008090630008BB +:1045D0009042004C144300043C0280082404000470 +:1045E0000A00110900000000344300803442010039 +:1045F000A040000C24020001A462001410C0000AB4 +:104600003C0280008C4401003C0380008C6201F875 +:104610000440FFFE24020002AC6401C0A06201C499 +:104620003C021000AC6201F803E00008000000004A +:1046300027BDFFE800A61823AFBF00101860008058 +:10464000308800FF3C02800834470080A0E000244E +:1046500034440100A0E000278C82001C00A210233B +:1046600004400056000000008CE2003C94E3005C33 +:104670008CE4002C004530233063FFFF00C3182179 +:104680000083202B1080000400E018218CE2002C15 +:104690000A00117800A2102194E2005C3042FFFF72 +:1046A00000C2102100A21021AC62001C3C02800854 +:1046B000344400809482005C8C83001C3042FFFFF5 +:1046C0000002104000A210210043102B10400004F3 +:1046D000000000008C82001C0A00118B3C06800840 +:1046E0009482005C3042FFFF0002104000A21021C3 +:1046F0003C06800834C3010034C70080AC82001C33 +:10470000A060000CACE500388C62001C00A21023F5 +:104710001840000224A2FFFCAC62001C3102000120 +:10472000104000083C0380088CE2003C00A21023EB +:1047300004410012240400058CC2000410A20010E1 +:104740008FBF00108C62000414A2004F8FBF0010B6 +:104750003C0208008C4200D8304200201040000A81 +:104760003C02800834620080906300089042004C54 +:10477000144300053C028008240400048FBF00108D +:104780000A00110927BD001834430080344201009B +:10479000A040000C24020001A46200143C0280002E +:1047A0008C4401003C0380008C6201F80440FFFE51 +:1047B000240200020A0011D8000000008CE2001C54 +:1047C000004610230043102B54400001ACE5001CB0 +:1047D00094E2005C3042FFFF0062102B144000079F +:1047E0002402000294E2005C8CE3001C3042FFFFD4 +:1047F00000621821ACE3001C24020002ACE5003882 +:104800000E000F5EA082000C1040001F8FBF001032 +:104810003C0280008C4401003C0380008C6201F863 +:104820000440FFFE24020002AC6401C0A06201C487 +:104830003C021000AC6201F80A0011F08FBF0010BA +:1048400031020010104000108FBF00103C028008A1 +:10485000344500808CA3001C94A2005C00661823E1 +:104860003042FFFF006218213C023FFF3444FFFF4B +:104870000083102B544000010080182100C3102138 +:10488000ACA2001C8FBF001003E0000827BD001879 +:1048900027BDFFE800C0402100A63023AFBF0010B5 +:1048A00018C00026308A00FF3C028008344900808E +:1048B0008D24001C8D23002C008820230064182BDD +:1048C0001060000F344701008CE2002000461021E8 +:1048D000ACE200208CE200200044102B1440000BBE +:1048E0003C023FFF8CE2002000441023ACE2002099 +:1048F0009522005C3042FFFF0A0012100082202146 +:10490000ACE00020008620213C023FFF3443FFFF43 +:104910000064102B54400001006020213C028008FC +:104920003442008000851821AC43001CA0400024C4 +:10493000A04000270A0012623C03800831420010A8 +:10494000104000433C0380083C06800834C40080CB +:104950008C82003C004810235840003E34660080A2 +:104960009082002424420001A0820024908200242E +:104970003C0308008C630024304200FF0043102BEE +:10498000144000688FBF001034C201008C42001C2C +:1049900000A2102318400063000000008CC3000434 +:1049A0009482005C006818233042FFFF0003184324 +:1049B000000210400043102A1040000500000000D3 +:1049C0008CC20004004810230A0012450002104364 +:1049D0009482005C3042FFFF000210403C068008D9 +:1049E000AC82002C34C5008094A2005C8CA4002C06 +:1049F00094A3005C3042FFFF00021040008220219F +:104A00003063FFFF0083202101041021ACA2001CB1 +:104A10008CC2000434C60100ACC2001C2402000297 +:104A20000E000F5EA0C2000C1040003E8FBF0010B1 +:104A30003C0280008C4401003C0380008C6201F841 +:104A40000440FFFE240200020A001292000000004F +:104A500034660080ACC50038346401008C82001CD0 +:104A600000A210231840000224A2FFFCAC82001C0C +:104A7000314200015040000A3C0380088CC2003CD7 +:104A800000A2102304430014240400058C620004D7 +:104A900014A200033C0380080A00128424040005C9 +:104AA0008C62000414A2001F8FBF00103C0208009B +:104AB0008C4200D8304200201040000A3C0280089E +:104AC00034620080906300089042004C144300055B +:104AD0003C028008240400048FBF00100A00110962 +:104AE00027BD00183443008034420100A040000C70 +:104AF00024020001A46200143C0280008C440100E6 +:104B00003C0380008C6201F80440FFFE2402000296 +:104B1000AC6401C0A06201C43C021000AC6201F8A8 +:104B20008FBF001003E0000827BD001827BDFFE875 +:104B30003C0A8008AFBF0010354900808D22003C40 +:104B400000C04021308400FF004610231840009D23 +:104B500030E700FF354701002402000100A63023A2 +:104B6000A0E0000CA0E0000DA522001418C0002455 +:104B7000308200108D23001C8D22002C0068182329 +:104B80000043102B1040000F000000008CE20020BA +:104B900000461021ACE200208CE200200043102BE4 +:104BA0001440000B3C023FFF8CE200200043102326 +:104BB000ACE200209522005C3042FFFF0A0012C1E7 +:104BC00000621821ACE00020006618213C023FFF83 +:104BD0003446FFFF00C3102B5440000100C01821D1 +:104BE0003C0280083442008000651821AC43001C60 +:104BF000A0400024A04000270A00130F3C038008B7 +:104C0000104000403C0380088D22003C00481023E7 +:104C10005840003D34670080912200242442000166 +:104C2000A1220024912200243C0308008C6300246C +:104C3000304200FF0043102B1440009A8FBF001039 +:104C40008CE2001C00A21023184000960000000017 +:104C50008D4300049522005C006818233042FFFF5A +:104C600000031843000210400043102A10400005C2 +:104C7000012020218D420004004810230A0012F276 +:104C8000000210439522005C3042FFFF00021040FA +:104C90003C068008AC82002C34C5008094A2005CE5 +:104CA0008CA4002C94A3005C3042FFFF0002104053 +:104CB000008220213063FFFF0083182101031021AF +:104CC000ACA2001C8CC2000434C60100ACC2001CA3 +:104CD000240200020E000F5EA0C2000C1040007102 +:104CE0008FBF00103C0280008C4401003C03800018 +:104CF0008C6201F80440FFFE240200020A0013390E +:104D00000000000034670080ACE500383466010024 +:104D10008CC2001C00A210231840000224A2FFFC39 +:104D2000ACC2001C30820001504000083C038008E7 +:104D30008CE2003C00A2102304430051240400052F +:104D40008C62000410A2003E3C0380088C620004C8 +:104D500054A200548FBF00103C0208008C4200D8BF +:104D600030420020104000063C028008346200807F +:104D7000906300089042004C104300403C028008C1 +:104D80003443008034420100A040000C24020001A2 +:104D9000A46200143C0280008C4401003C038000AB +:104DA0008C6201F80440FFFE24020002AC6401C0E2 +:104DB000A06201C43C021000AC6201F80A00137743 +:104DC0008FBF001024020005A120002714E2000A72 +:104DD0003C038008354301009062000D2C42000620 +:104DE000504000053C0380089062000D2442000101 +:104DF000A062000D3C03800834670080ACE50038F9 +:104E0000346601008CC2001C00A21023184000026E +:104E100024A2FFFCACC2001C308200015040000AFA +:104E20003C0380088CE2003C00A2102304410014E3 +:104E3000240400058C62000414A200033C038008D3 +:104E40000A00136E240400058C62000414A20015ED +:104E50008FBF00103C0208008C4200D83042002076 +:104E60001040000A3C028008346200809063000811 +:104E70009042004C144300053C02800824040004C6 +:104E80008FBF00100A00110927BD001834430080AD +:104E900034420100A040000C24020001A46200146E +:104EA0008FBF001003E0000827BD00183C0B8008EE +:104EB00027BDFFE83C028000AFBF00103442010074 +:104EC000356A00809044000A356901008C45001461 +:104ED0008D4800389123000C308400FF0105102319 +:104EE0001C4000B3306700FF2CE20006504000B1C8 +:104EF0008FBF00102402000100E2300430C2000322 +:104F00005440000800A8302330C2000C144000A117 +:104F100030C20030144000A38FBF00100A00143BC1 +:104F20000000000018C00024308200108D43001CD7 +:104F30008D42002C006818230043102B1040000FF6 +:104F4000000000008D22002000461021AD2200202C +:104F50008D2200200043102B1440000B3C023FFF29 +:104F60008D22002000431023AD2200209542005CDA +:104F70003042FFFF0A0013AF00621821AD2000206D +:104F8000006618213C023FFF3446FFFF00C3102B90 +:104F90005440000100C018213C02800834420080C7 +:104FA00000651821AC43001CA0400024A04000274D +:104FB0000A0013FD3C038008104000403C038008B9 +:104FC0008D42003C004810231840003D34670080AB +:104FD0009142002424420001A14200249142002475 +:104FE0003C0308008C630024304200FF0043102B78 +:104FF000144000708FBF00108D22001C00A21023EF +:105000001840006C000000008D6300049542005CB5 +:10501000006818233042FFFF0003184300021040CD +:105020000043102A10400005014020218D62000439 +:10503000004810230A0013E0000210439542005C70 +:105040003042FFFF000210403C068008AC82002C7A +:1050500034C5008094A2005C8CA4002C94A3005C56 +:105060003042FFFF00021040008220213063FFFF2A +:105070000083182101031021ACA2001C8CC2000483 +:1050800034C60100ACC2001C240200020E000F5EF8 +:10509000A0C2000C104000478FBF00103C028000EF +:1050A0008C4401003C0380008C6201F80440FFFE48 +:1050B000240200020A00142D000000003467008062 +:1050C000ACE50038346601008CC2001C00A210233D +:1050D0001840000224A2FFFCACC2001C3082000178 +:1050E0005040000A3C0380088CE2003C00A21023E0 +:1050F00004430014240400058C62000414A200037D +:105100003C0380080A00141F240400058C6200047C +:1051100014A200288FBF00103C0208008C4200D867 +:10512000304200201040000A3C02800834620080B7 +:10513000906300089042004C144300053C02800834 +:10514000240400048FBF00100A00110927BD0018B5 +:105150003443008034420100A040000C24020001CE +:10516000A46200143C0280008C4401003C038000D7 +:105170008C6201F80440FFFE24020002AC6401C00E +:10518000A06201C43C021000AC6201F80A00143BAA +:105190008FBF00108FBF0010010030210A00115A8C +:1051A00027BD0018010030210A00129927BD001800 +:1051B0008FBF001003E0000827BD00183C038008E3 +:1051C0003464010024020003A082000C8C620004FD +:1051D00003E00008AC82001C3C05800834A300807A +:1051E0009062002734A501002406004324420001F8 +:1051F000A0620027906300273C0208008C42004810 +:10520000306300FF146200043C07602194A500EAAB +:105210000A00090130A5FFFF03E0000800000000BC +:1052200027BDFFE8AFBF00103C0280000E00144411 +:105230008C4401803C02800834430100A060000CD3 +:105240008C4200048FBF001027BD001803E0000847 +:10525000AC62001C27BDFFE03C028008AFBF001815 +:10526000AFB10014AFB000103445008034460100E7 +:105270003C0880008D09014090C3000C8CA4003CC8 +:105280008CA200381482003B306700FF9502007C3E +:1052900090A30027146000093045FFFF2402000599 +:1052A00054E200083C04800890C2000D2442000132 +:1052B000A0C2000D0A00147F3C048008A0C0000DAD +:1052C0003C048008348201009042000C2403000555 +:1052D000304200FF1443000A24A205DC348300801E +:1052E000906200272C4200075040000524A20A00CB +:1052F00090630027240200140062100400A2102111 +:105300003C108008361000803045FFFF012020212E +:105310000E001444A60500149602005C8E030038AB +:105320003C1180003042FFFF000210400062182153 +:10533000AE03001C0E0003328E24014092020025B1 +:1053400034420040A20200250E00033D8E2401409D +:105350008E2401403C0380008C6201F80440FFFE73 +:1053600024020002AC6401C0A06201C43C0210002F +:10537000AC6201F88FBF00188FB100148FB000101D +:1053800003E0000827BD00203C0360103C02080039 +:1053900024420174AC62502C8C6250003C048000AA +:1053A00034420080AC6250003C0208002442547C2D +:1053B0003C010800AC2256003C020800244254384C +:1053C0003C010800AC2256043C020002AC840008F8 +:1053D000AC82000C03E000082402000100A0302190 +:1053E0003C1C0800279C56083C0200023C050400B7 +:1053F00000852826008220260004102B2CA5000101 +:105400002C840001000210803C0308002463560035 +:105410000085202500431821108000030000102182 +:10542000AC6600002402000103E000080000000058 +:105430003C1C0800279C56083C0200023C05040066 +:1054400000852826008220260004102B2CA50001B0 +:105450002C840001000210803C03080024635600E5 +:105460000085202500431821108000050000102130 +:105470003C02080024425438AC62000024020001BF +:1054800003E00008000000003C0200023C030400AE +:1054900000821026008318262C4200012C63000194 +:1054A000004310251040000B000028213C1C080080 +:1054B000279C56083C0380008C62000824050001EC +:1054C00000431025AC6200088C62000C00441025DB +:1054D000AC62000C03E0000800A010213C1C080096 +:1054E000279C56083C0580008CA3000C0004202754 +:1054F000240200010064182403E00008ACA3000C9F +:105500003C020002148200063C0560008CA208D018 +:105510002403FFFE0043102403E00008ACA208D0DF +:105520003C02040014820005000000008CA208D098 +:105530002403FFFD00431024ACA208D003E00008C0 +:10554000000000003C02601A344200108C430080CE +:1055500027BDFFF88C440084AFA3000093A3000094 +:10556000240200041462001AAFA4000493A20001F4 +:105570001040000797A300023062FFFC3C0380004C +:10558000004310218C4200000A001536AFA200042F +:105590003062FFFC3C03800000431021AC4400005B +:1055A000A3A000003C0560008CA208D02403FFFEED +:1055B0003C04601A00431024ACA208D08FA300045E +:1055C0008FA2000034840010AC830084AC82008081 +:1055D00003E0000827BD000827BDFFE8AFBF0010AB +:1055E0003C1C0800279C56083C0280008C43000CA1 +:1055F0008C420004004318243C0200021060001496 +:10560000006228243C0204003C04000210A00005B3 +:10561000006210243C0208008C4256000A00155B10 +:1056200000000000104000073C0404003C02080099 +:105630008C4256040040F809000000000A00156082 +:10564000000000000000000D3C1C0800279C5608CC +:105650008FBF001003E0000827BD0018800802403B +:1056600080080100800800808008000000000C8095 +:105670000000320008000E9808000EF408000F88A1 +:1056800008001028080010748008010080080080BD +:10569000800800000A000028000000000000000050 +:1056A0000000000D6370362E322E316200000000C3 +:1056B00006020104000000000000000000000000DD +:1056C000000000000000000038003C000000000066 +:1056D00000000000000000000000000000000020AA +:1056E00000000000000000000000000000000000BA +:1056F00000000000000000000000000000000000AA +:10570000000000000000000021003800000000013F +:105710000000002B000000000000000400030D400A +:105720000000000000000000000000000000000079 +:105730000000000000000000100000030000000056 +:105740000000000D0000000D3C020800244259AC8E +:105750003C03080024635BF4AC4000000043202BB2 +:105760001480FFFD244200043C1D080037BD9FFC4F +:1057700003A0F0213C100800261000A03C1C0800EB +:10578000279C59AC0E0002F6000000000000000D3E +:1057900027BDFFB4AFA10000AFA20004AFA3000873 +:1057A000AFA4000CAFA50010AFA60014AFA700185F +:1057B000AFA8001CAFA90020AFAA0024AFAB0028FF +:1057C000AFAC002CAFAD0030AFAE0034AFAF00389F +:1057D000AFB8003CAFB90040AFBC0044AFBF004819 +:1057E0000E000820000000008FBF00488FBC00445E +:1057F0008FB900408FB8003C8FAF00388FAE0034B7 +:105800008FAD00308FAC002C8FAB00288FAA002406 +:105810008FA900208FA8001C8FA700188FA6001446 +:105820008FA500108FA4000C8FA300088FA2000486 +:105830008FA1000027BD004C3C1B60188F7A5030B0 +:10584000377B502803400008AF7A000000A01821E1 +:1058500000801021008028213C0460003C0760008B +:105860002406000810600006348420788C42000072 +:10587000ACE220088C63000003E00008ACE3200CDD +:105880000A000F8100000000240300403C02600079 +:1058900003E00008AC4320003C0760008F86000452 +:1058A0008CE520740086102100A2182B14600007DC +:1058B000000028218F8AFDA024050001A1440013C7 +:1058C0008F89000401244021AF88000403E0000810 +:1058D00000A010218F84FDA08F8500049086001306 +:1058E00030C300FF00A31023AF82000403E00008D0 +:1058F000A08000138F84FDA027BDFFE8AFB000108B +:10590000AFBF001490890011908700112402002875 +:10591000312800FF3906002830E300FF2485002CE1 +:105920002CD00001106200162484001C0E00006EB2 +:10593000000000008F8FFDA03C05600024020204DF +:1059400095EE003E95ED003C000E5C0031ACFFFF93 +:10595000016C5025ACAA2010520000012402000462 +:10596000ACA22000000000000000000000000000C9 +:105970008FBF00148FB0001003E0000827BD00188F +:105980000A0000A6000028218F85FDA027BDFFD8B2 +:10599000AFBF0020AFB3001CAFB20018AFB100140E +:1059A000AFB000100080982190A4001124B0001C1A +:1059B00024B1002C308300FF386200280E000090D4 +:1059C0002C5200010E00009800000000020020216F +:1059D0001240000202202821000028210E00006E43 +:1059E000000000008F8DFDA03C0880003C05600099 +:1059F00095AC003E95AB003C02683025000C4C0095 +:105A0000316AFFFF012A3825ACA7201024020202C8 +:105A1000ACA6201452400001240200028FBF0020D7 +:105A20008FB3001C8FB200188FB100148FB000101C +:105A300027BD002803E00008ACA2200027BDFFE03E +:105A4000AFB20018AFB10014AFB00010AFBF001C70 +:105A50003C1160008E2320748F82000430D0FFFF41 +:105A600030F2FFFF1062000C2406008F0E00006E63 +:105A7000000000003C06801F0010440034C5FF00F9 +:105A80000112382524040002AE2720100000302126 +:105A9000AE252014AE2420008FBF001C8FB200184A +:105AA0008FB100148FB0001000C0102103E0000877 +:105AB00027BD002027BDFFE0AFB0001030D0FFFFB2 +:105AC000AFBF0018AFB100140E00006E30F1FFFF41 +:105AD00000102400009180253C036000AC70201071 +:105AE0008FBF00188FB100148FB000102402000483 +:105AF000AC62200027BD002003E000080000102158 +:105B000027BDFFE03C046018AFBF0018AFB1001420 +:105B1000AFB000108C8850002403FF7F34028071E6 +:105B20000103382434E5380C241F00313C1980006F +:105B3000AC8550003C11800AAC8253BCAF3F0008DA +:105B40000E00054CAF9100400E00050A3C116000AC +:105B50000E00007D000000008E3008083C0F570941 +:105B60002418FFF00218602435EEE00035EDF00057 +:105B7000018E5026018D58262D4600012D69000109 +:105B8000AF86004C0E000D09AF8900503C06601630 +:105B90008CC700003C0860148D0500A03C03FFFF8B +:105BA00000E320243C02535300052FC2108200550D +:105BB00034D07C00960201F2A780006C10400003F4 +:105BC000A780007C384B1E1EA78B006C960201F844 +:105BD000104000048F8D0050384C1E1EA78C007C96 +:105BE0008F8D005011A000058F83004C240E0020E3 +:105BF000A78E007CA78E006C8F83004C1060000580 +:105C00009785007C240F0020A78F007CA78F006C55 +:105C10009785007C2CB8008153000001240500808A +:105C20009784006C2C91040152200001240404008C +:105C30001060000B3C0260008FBF00188FB1001491 +:105C40008FB0001027BD0020A784006CA785007CC2 +:105C5000A380007EA780007403E00008A780009264 +:105C60008C4704382419103C30FFFFFF13F9000360 +:105C700030A8FFFF1100004624030050A380007EDF +:105C80009386007E50C00024A785007CA780007CFE +:105C90009798007CA780006CA7800074A780009272 +:105CA0003C010800AC3800800E00078700000000AF +:105CB0003C0F60008DED0808240EFFF03C0B600ED9 +:105CC000260C0388356A00100000482100002821B6 +:105CD00001AE20243C105709AF8C0010AF8A004859 +:105CE000AF89001810900023AF8500148FBF0018F3 +:105CF0008FB100148FB0001027BD002003E0000812 +:105D0000AF80005400055080014648218D260004D4 +:105D10000A00014800D180219798007CA784006C7C +:105D2000A7800074A78000923C010800AC38008076 +:105D30000E000787000000003C0F60008DED080892 +:105D4000240EFFF03C0B600E260C0388356A001011 +:105D5000000048210000282101AE20243C105709F2 +:105D6000AF8C0010AF8A0048AF8900181490FFDF95 +:105D7000AF85001424110001AF9100548FBF0018AB +:105D80008FB100148FB0001003E0000827BD002081 +:105D90000A00017BA383007E3083FFFF8F880040D1 +:105DA0008F87003C000321403C0580003C020050EE +:105DB000008248253C0660003C0A010034AC040027 +:105DC0008CCD08E001AA58241160000500000000F5 +:105DD0008CCF08E024E7000101EA7025ACCE08E092 +:105DE0008D19001001805821ACB900388D180014AD +:105DF000ACB8003CACA9003000000000000000007E +:105E00000000000000000000000000000000000092 +:105E100000000000000000003C0380008C640000D3 +:105E2000308200201040FFFD3C0F60008DED08E047 +:105E30003C0E010001AE18241460FFE100000000D8 +:105E4000AF87003C03E00008AF8B00588F8500400F +:105E5000240BFFF03C06800094A7001A8CA90024B4 +:105E600030ECFFFF000C38C000EB5024012A402129 +:105E7000ACC8003C8CA400248CC3003C00831023DD +:105E800018400033000000008CAD002025A2000166 +:105E90003C0F0050ACC2003835EE00103C068000CC +:105EA000ACCE003000000000000000000000000048 +:105EB00000000000000000000000000000000000E2 +:105EC000000000003C0480008C9900003338002062 +:105ED0001300FFFD30E20008104000173C0980006D +:105EE0008C880408ACA800108C83040CACA30014AC +:105EF0003C1900203C188000AF19003094AE001807 +:105F000094AF001C01CF3021A4A6001894AD001A54 +:105F100025A70001A4A7001A94AB001A94AC001E98 +:105F2000118B00030000000003E0000800000000E7 +:105F300003E00008A4A0001A8D2A0400ACAA0010F7 +:105F40008D240404ACA400140A0002183C1900209B +:105F50008CA200200A0002003C0F00500A0001EE53 +:105F60000000000027BDFFE8AFBF00100E000232A6 +:105F7000000000008F8900408FBF00103C038000AC +:105F8000A520000A9528000A9527000427BD0018BF +:105F90003105FFFF30E6000F0006150000A22025A6 +:105FA00003E00008AC6400803C0508008CA50020DC +:105FB0008F83000C27BDFFE8AFB00010AFBF001407 +:105FC00010A300100000802124040001020430040A +:105FD00000A6202400C3102450440006261000010F +:105FE000001018802787FDA41480000A006718217C +:105FF000261000012E0900025520FFF38F83000CAC +:10600000AF85000C8FBF00148FB0001003E00008B4 +:1060100027BD00188C6800003C058000ACA8002457 +:106020000E000234261000013C0508008CA500205B +:106030000A0002592E0900022405000100851804F7 +:106040003C0408008C84002027BDFFC8AFBF00348B +:1060500000831024AFBE0030AFB7002CAFB60028CD +:10606000AFB50024AFB40020AFB3001CAFB200182E +:10607000AFB1001410400051AFB000108F84004049 +:10608000948700069488000A00E8302330D5FFFF8B +:1060900012A0004B8FBF0034948B0018948C000A20 +:1060A000016C50233142FFFF02A2482B1520000251 +:1060B00002A02021004020212C8F000515E00002C5 +:1060C00000809821241300040E0001C102602021E9 +:1060D0008F87004002609021AF80004494F4000A52 +:1060E000026080211260004E3291FFFF3C1670006A +:1060F0003C1440003C1E20003C1760008F99005863 +:106100008F380000031618241074004F0283F82BF8 +:1061100017E0003600000000107E00478F86004424 +:1061200014C0003A2403000102031023022320219B +:106130003050FFFF1600FFF13091FFFF8F870040C6 +:106140003C1100203C108000AE11003094EB000A9E +:106150003C178000024B5021A4EA000A94E9000A8F +:1061600094E800043123FFFF3106000F00062D00E4 +:106170000065F025AEFE008094F3000A94F6001846 +:1061800012D30036001221408CFF00148CF4001052 +:1061900003E468210000C02101A4782B029870213B +:1061A00001CF6021ACED0014ACEC001002B238233A +:1061B00030F5FFFF16A0FFB88F8400408FBF00347A +:1061C0008FBE00308FB7002C8FB600288FB500240B +:1061D0008FB400208FB3001C8FB200188FB1001451 +:1061E0008FB0001003E0000827BD00381477FFCC03 +:1061F0008F8600440E000EE202002021004018218C +:106200008F86004410C0FFC9020310230270702360 +:106210008F87004001C368210A0002E431B2FFFF0A +:106220008F86004414C0FFC93C1100203C10800040 +:106230000A0002AEAE1100300E00046602002021FA +:106240000A0002DB00401821020020210E0009395B +:10625000022028210A0002DB004018210E0001EE76 +:10626000000000000A0002C702B2382327BDFFC8A1 +:10627000AFB7002CAFB60028AFB50024AFB40020F4 +:10628000AFB3001CAFB20018AFB10014AFB0001034 +:10629000AFBF00300E00011B241300013C047FFF40 +:1062A0003C0380083C0220003C010800AC20007048 +:1062B0003496FFFF34770080345200033C1512C03F +:1062C000241400013C1080002411FF800E000245C0 +:1062D000000000008F8700488F8B00188F89001402 +:1062E0008CEA00EC8CE800E8014B302B01092823F4 +:1062F00000A6102314400006014B18231440000E82 +:106300003C05800002A3602B1180000B0000000000 +:106310003C0560008CEE00EC8CED00E88CA4180CC1 +:10632000AF8E001804800053AF8D00148F8F0010C3 +:10633000ADF400003C0580008CBF00003BF900017B +:10634000333800011700FFE13C0380008C6201003C +:1063500024060C0010460009000000008C680100B3 +:106360002D043080548000103C0480008C690100B2 +:106370002D2331811060000C3C0480008CAA0100A8 +:1063800011460004000020218CA6010024C5FF81D5 +:1063900030A400FF8E0B01000E000269AE0B00243A +:1063A0000A00034F3C0480008C8D01002DAC3300AB +:1063B00011800022000000003C0708008CE70098D4 +:1063C00024EE00013C010800AC2E00983C04800043 +:1063D0008C8201001440000300000000566000148D +:1063E0003C0440008C9F01008C9801000000982123 +:1063F00003F1C82400193940330F007F00EF7025E6 +:1064000001D26825AC8D08308C8C01008C85010090 +:10641000258B0100017130240006514030A3007F1C +:106420000143482501324025AC8808303C04400037 +:10643000AE0401380A00030E000000008C99010030 +:10644000240F0020AC99002092F80000330300FFD5 +:10645000106F000C241F0050547FFFDD3C048000AF +:106460008C8401000E00154E000000000A00034F4E +:106470003C04800000963824ACA7180C0A000327BF +:106480008F8F00108C8501000E0008F72404008017 +:106490000A00034F3C04800000A4102B24030001D9 +:1064A00010400009000030210005284000A4102BF6 +:1064B00004A00003000318405440FFFC00052840DE +:1064C0005060000A0004182B0085382B54E00004AB +:1064D0000003184200C33025008520230003184222 +:1064E0001460FFF9000528420004182B03E000089F +:1064F00000C310213084FFFF30C600FF3C0780003E +:106500008CE201B80440FFFE00064C000124302557 +:106510003C08200000C820253C031000ACE00180AE +:10652000ACE50184ACE4018803E00008ACE301B809 +:106530003C0660008CC5201C2402FFF03083020062 +:10654000308601001060000E00A2282434A500014E +:106550003087300010E0000530830C0034A50004C3 +:106560003C04600003E00008AC85201C1060FFFDC7 +:106570003C04600034A5000803E00008AC85201C42 +:1065800054C0FFF334A500020A0003B03087300086 +:1065900027BDFFE8AFB00010AFBF00143C0760009C +:1065A000240600021080001100A080218F83005873 +:1065B0000E0003A78C6400188F8200580000202171 +:1065C000240600018C45000C0E000398000000001A +:1065D0001600000224020003000010218FBF0014E7 +:1065E0008FB0001003E0000827BD00188CE8201CC5 +:1065F0002409FFF001092824ACE5201C8F870058EE +:106600000A0003CD8CE5000C3C02600E00804021A6 +:1066100034460100240900180000000000000000BA +:10662000000000003C0A00503C0380003547020097 +:10663000AC68003834640400AC65003CAC670030E2 +:106640008C6C0000318B00201160FFFD2407FFFFE0 +:106650002403007F8C8D00002463FFFF248400044A +:10666000ACCD00001467FFFB24C60004000000004E +:10667000000000000000000024A402000085282B78 +:106680003C0300203C0E80002529FFFF010540212E +:10669000ADC300301520FFE00080282103E0000892 +:1066A000000000008F82005827BDFFD8AFB3001C48 +:1066B000AFBF0020AFB20018AFB10014AFB00010F0 +:1066C00094460002008098218C5200182CC300814F +:1066D0008C4800048C4700088C51000C8C49001039 +:1066E000106000078C4A00142CC4000414800013AE +:1066F00030EB000730C5000310A0001000000000C0 +:106700002410008B02002021022028210E00039873 +:10671000240600031660000224020003000010217A +:106720008FBF00208FB3001C8FB200188FB10014F0 +:106730008FB0001003E0000827BD00281560FFF1AE +:106740002410008B3C0C80003C030020241F00011F +:10675000AD830030AF9F0044000000000000000047 +:10676000000000002419FFF024D8000F031978243A +:106770003C1000D0AD88003801F0702524CD000316 +:106780003C08600EAD87003C35850400AD8E0030BE +:10679000000D38823504003C3C0380008C6B000007 +:1067A000316200201040FFFD0000000010E00008F2 +:1067B00024E3FFFF2407FFFF8CA800002463FFFFF2 +:1067C00024A50004AC8800001467FFFB24840004A7 +:1067D0003C05600EACA60038000000000000000080 +:1067E000000000008F8600543C0400203C0780001D +:1067F000ACE4003054C000060120202102402021DA +:106800000E0003A7000080210A00041D02002021C1 +:106810000E0003DD01402821024020210E0003A7C5 +:10682000000080210A00041D0200202127BDFFE096 +:10683000AFB200183092FFFFAFB10014AFBF001C21 +:10684000AFB000101640000D000088210A0004932C +:106850000220102124050003508500278CE5000C40 +:106860000000000D262800013111FFFF24E2002066 +:106870000232802B12000019AF8200588F82004430 +:10688000144000168F8700583C0670003C0320001F +:106890008CE5000000A62024148300108F84006083 +:1068A000000544023C09800000A980241480FFE90F +:1068B000310600FF2CCA000B5140FFEB26280001D7 +:1068C000000668803C0E080025CE575801AE6021B6 +:1068D0008D8B0000016000080000000002201021E4 +:1068E0008FBF001C8FB200188FB100148FB0001042 +:1068F00003E0000827BD00200E0003982404008454 +:106900001600FFD88F8700580A000474AF8000601B +:10691000020028210E0003BF240400018F870058C5 +:106920000A000474AF820060020028210E0003BF39 +:10693000000020210A0004A38F8700580E000404E1 +:10694000020020218F8700580A000474AF82006083 +:1069500030AFFFFF000F19C03C0480008C9001B8DD +:106960000600FFFE3C1920043C181000AC83018097 +:10697000AC800184AC990188AC9801B80A00047518 +:106980002628000190E2000390E30002000020218D +:106990000002FE0000033A0000FF2825240600083C +:1069A0000E000398000000001600FFDC2402000324 +:1069B0008F870058000010210A000474AF82006025 +:1069C00090E8000200002021240600090A0004C308 +:1069D00000082E0090E4000C240900FF308500FF21 +:1069E00010A900150000302190F9000290F8000372 +:1069F000308F00FF94EB000400196E000018740043 +:106A0000000F62000186202501AE5025014B28258C +:106A10003084FF8B0A0004C32406000A90E30002BE +:106A200090FF0004000020210003360000DF28252D +:106A30000A0004C32406000B0A0004D52406008BB8 +:106A4000000449C23127003F000443423C02800059 +:106A500000082040240316802CE60020AC43002CC4 +:106A600024EAFFE02482000114C0000330A900FFE3 +:106A700000801021314700FF000260803C0D800043 +:106A8000240A0001018D20213C0B000E00EA28049D +:106A9000008B302111200005000538278CCE000026 +:106AA00001C5382503E00008ACC700008CD8000001 +:106AB0000307782403E00008ACCF000027BDFFE007 +:106AC000AFB10014AFB00010AFBF00183C076000BA +:106AD0008CE408083402F0003C1160003083F000C0 +:106AE000240501C03C04800E000030211062000625 +:106AF000241000018CEA08083149F0003928E00030 +:106B00000008382B000780403C0D0200AE2D081411 +:106B1000240C16803C0B80008E2744000E000F8B47 +:106B2000AD6C002C120000043C02169124050001FB +:106B3000120500103C023D2C345800E0AE384408E9 +:106B40003C1108008E31007C8FBF00183C066000AD +:106B500000118540360F16808FB100148FB00010E1 +:106B60003C0E020027BD0020ACCF442003E000080B +:106B7000ACCE08103C0218DA345800E0AE384408B5 +:106B80003C1108008E31007C8FBF00183C0660006D +:106B900000118540360F16808FB100148FB00010A1 +:106BA0003C0E020027BD0020ACCF442003E00008CB +:106BB000ACCE08100A0004EB240500010A0004EB27 +:106BC0000000282124020400A7820024A780001CC2 +:106BD000000020213C06080024C65A582405FFFF67 +:106BE00024890001000440803124FFFF01061821A0 +:106BF0002C87002014E0FFFAAC6500002404040098 +:106C0000A7840026A780001E000020213C06080063 +:106C100024C65AD82405FFFF248D0001000460809B +:106C200031A4FFFF018658212C8A00201540FFFA6D +:106C3000AD650000A7800028A7800020A780002263 +:106C4000000020213C06080024C65B582405FFFFF5 +:106C5000249900010004C0803324FFFF030678213B +:106C60002C8E000415C0FFFAADE500003C05600065 +:106C70008CA73D002403E08F00E31024344601403C +:106C800003E00008ACA63D002487007F000731C266 +:106C900024C5FFFF000518C2246400013082FFFFF5 +:106CA000000238C0A78400303C010800AC27003047 +:106CB000AF80002C0000282100002021000030219E +:106CC0002489000100A728213124FFFF2CA81701E7 +:106CD000110000032C8300801460FFF924C600011A +:106CE00000C02821AF86002C10C0001DA786002AF6 +:106CF00024CAFFFF000A11423C08080025085B581F +:106D00001040000A00002021004030212407FFFF2E +:106D1000248E00010004688031C4FFFF01A86021B7 +:106D20000086582B1560FFFAAD87000030A2001FC7 +:106D30005040000800043080240300010043C804D0 +:106D400000041080004878212738FFFF03E0000886 +:106D5000ADF8000000C820212405FFFFAC8500002D +:106D600003E000080000000030A5FFFF30C6FFFF71 +:106D700030A8001F0080602130E700FF0005294295 +:106D80000000502110C0001D24090001240B000147 +:106D900025180001010B2004330800FF0126782686 +:106DA000390E00202DED00012DC2000101A2182591 +:106DB0001060000D014450250005C880032C4021BF +:106DC0000100182110E0000F000A20278D040000A8 +:106DD000008A1825AD03000024AD00010000402109 +:106DE0000000502131A5FFFF252E000131C9FFFF12 +:106DF00000C9102B1040FFE72518000103E0000830 +:106E0000000000008D0A0000014440240A0005D162 +:106E1000AC68000027BDFFE830A5FFFF30C6FFFFCC +:106E2000AFB00010AFBF001430E7FFFF00005021EB +:106E30003410FFFF0000602124AF001F00C0482174 +:106E4000241800012419002005E0001601E010219B +:106E50000002F943019F682A0009702B01AE40240B +:106E600011000017000C18800064102110E00005CC +:106E70008C4B000000F840040008382301675824B8 +:106E800000003821154000410000402155600016E7 +:106E90003169FFFF258B0001316CFFFF05E1FFEC3D +:106EA00001E0102124A2003E0002F943019F682A5C +:106EB0000009702B01AE40241500FFEB000C188078 +:106EC000154600053402FFFF020028210E0005B51B +:106ED00000003821020010218FBF00148FB0001075 +:106EE00003E0000827BD00181520000301601821E9 +:106EF000000B1C0224080010306A00FF154000053A +:106F0000306E000F250D000800031A0231A800FFA3 +:106F1000306E000F15C00005307F000325100004FF +:106F200000031902320800FF307F000317E000055C +:106F3000386900012502000200031882304800FF72 +:106F4000386900013123000110600004310300FFA3 +:106F5000250A0001314800FF310300FF000C6940A1 +:106F600001A34021240A000110CAFFD53110FFFF00 +:106F7000246E000131C800FF1119FFC638C9000195 +:106F80002D1F002053E0001C258B0001240D000163 +:106F90000A000648240E002051460017258B0001E8 +:106FA00025090001312800FF2D0900205120001281 +:106FB000258B000125430001010D5004014B1024D5 +:106FC000250900011440FFF4306AFFFF3127FFFF5D +:106FD00010EE000C2582FFFF304CFFFF0000502117 +:106FE0003410FFFF312800FF2D0900205520FFF24B +:106FF00025430001258B0001014648260A000602B0 +:10700000316CFFFF00003821000050210A000654B7 +:107010003410FFFF27BDFFD8AFB0001030F0FFFFE6 +:10702000AFB10014001039423211FFE000071080A8 +:10703000AFB3001C00B1282330D3FFFFAFB200185C +:1070400030A5FFFF00809021026030210044202104 +:10705000AFBF00200E0005E03207001F022288218A +:107060003403FFFF0240202102002821026030216A +:1070700000003821104300093231FFFF02201021A7 +:107080008FBF00208FB3001C8FB200188FB1001487 +:107090008FB0001003E0000827BD00280E0005E0B7 +:1070A0000000000000408821022010218FBF002036 +:1070B0008FB3001C8FB200188FB100148FB0001076 +:1070C00003E0000827BD0028000424003C03600002 +:1070D000AC603D0810A00002348210063482101605 +:1070E00003E00008AC623D0427BDFFE0AFB0001034 +:1070F000309000FF2E020006AFBF001810400008BD +:10710000AFB10014001030803C03080024635784A2 +:1071100000C328218CA400000080000800000000AB +:10712000000020218FBF00188FB100148FB0001015 +:107130000080102103E0000827BD00209791002A5D +:1071400016200051000020213C020800904200332C +:107150000A0006BB00000000978D002615A0003134 +:10716000000020210A0006BB2402000897870024A3 +:1071700014E0001A00001821006020212402000100 +:107180001080FFE98FBF0018000429C2004530219C +:1071900000A6582B1160FFE43C0880003C0720004B +:1071A000000569C001A76025AD0C00203C038008E4 +:1071B0002402001F2442FFFFAC6000000441FFFDD9 +:1071C0002463000424A5000100A6702B15C0FFF560 +:1071D000000569C00A0006A58FBF00189787001C2C +:1071E0003C04080024845A58240504000E0006605C +:1071F00024060001978B002424440001308AFFFFFD +:107200002569FFFF2D48040000402821150000409B +:10721000A789002424AC3800000C19C00A0006B964 +:10722000A780001C9787001E3C04080024845AD8BD +:10723000240504000E00066024060001979900262C +:10724000244400013098FFFF272FFFFF2F0E04007A +:107250000040882115C0002CA78F0026A780001EA3 +:107260003A020003262401003084FFFF0E00068D41 +:107270002C4500010011F8C027F00100001021C0CA +:107280000A0006BB240200089785002E978700227B +:107290003C04080024845B580E00066024060001AC +:1072A0009787002A8F89002C2445000130A8FFFF12 +:1072B00024E3FFFF0109302B0040802114C0001897 +:1072C000A783002AA7800022978500300E000F7543 +:1072D00002002021244A05003144FFFF0E00068DE4 +:1072E000240500013C05080094A500320E000F752E +:1072F00002002021244521003C0208009042003376 +:107300000A0006BB000521C00A0006F3A784001E80 +:1073100024AC3800000C19C00A0006B9A784001C70 +:107320000A00070DA7850022308400FF27BDFFE873 +:107330002C820006AFBF0014AFB000101040001543 +:1073400000A03821000440803C0308002463579CBF +:10735000010328218CA40000008000080000000028 +:1073600024CC007F000751C2000C59C23170FFFFCE +:107370002547C40030E5FFFF2784001C02003021B0 +:107380000E0005B52407000197860028020620217B +:10739000A78400288FBF00148FB0001003E00008FE +:1073A00027BD00183C0508008CA50030000779C2F5 +:1073B0000E00038125E4DF003045FFFF3C04080098 +:1073C00024845B58240600010E0005B52407000143 +:1073D000978E002A8FBF00148FB0001025CD0001BA +:1073E00027BD001803E00008A78D002A0007C9C2C6 +:1073F0002738FF00001878C231F0FFFF3C04080076 +:1074000024845AD802002821240600010E0005B564 +:1074100024070001978D0026260E0100000E84002F +:1074200025AC00013C0B6000A78C0026AD603D0838 +:1074300036040006000030213C0760008CE23D0469 +:10744000305F000617E0FFFD24C9000100061B00A5 +:10745000312600FF006440252CC50004ACE83D0443 +:1074600014A0FFF68FBF00148FB0001003E00008D7 +:1074700027BD0018000751C22549C8002406000195 +:10748000240700013C04080024845A580E0005B566 +:107490003125FFFF978700248FBF00148FB00010A5 +:1074A00024E6000127BD001803E00008A786002499 +:1074B0003C0660183C090800252900FCACC9502C8A +:1074C0008CC850003C0580003C020002350700805B +:1074D000ACC750003C04080024841FE03C030800B3 +:1074E00024631F98ACA50008ACA2000C3C01080066 +:1074F000AC2459A43C010800AC2359A803E00008BF +:107500002402000100A030213C1C0800279C59AC3B +:107510003C0C04003C0B0002008B3826008C4026FB +:107520002CE200010007502B2D050001000A4880C5 +:107530003C030800246359A4004520250123182199 +:107540001080000300001021AC660000240200013E +:1075500003E00008000000003C1C0800279C59AC18 +:107560003C0B04003C0A0002008A3026008B3826BF +:107570002CC200010006482B2CE5000100094080C8 +:107580003C030800246359A4004520250103182169 +:1075900010800005000010213C0C0800258C1F986D +:1075A000AC6C00002402000103E0000800000000B1 +:1075B0003C0900023C080400008830260089382677 +:1075C0002CC30001008028212CE400010083102539 +:1075D0001040000B000030213C1C0800279C59ACD7 +:1075E0003C0A80008D4E00082406000101CA68256F +:1075F000AD4D00088D4C000C01855825AD4B000C9D +:1076000003E0000800C010213C1C0800279C59AC76 +:107610003C0580008CA6000C0004202724020001F9 +:1076200000C4182403E00008ACA3000C3C020002D4 +:107630001082000B3C0560003C070400108700032B +:107640000000000003E00008000000008CA908D042 +:10765000240AFFFD012A402403E00008ACA808D05A +:107660008CA408D02406FFFE0086182403E000083E +:10767000ACA308D03C05601A34A600108CC300806F +:1076800027BDFFF88CC50084AFA3000093A40000C1 +:107690002402001010820003AFA5000403E00008DC +:1076A00027BD000893A7000114E0001497AC000266 +:1076B00097B800023C0F8000330EFFFC01CF682119 +:1076C000ADA50000A3A000003C0660008CC708D058 +:1076D0002408FFFE3C04601A00E82824ACC508D04A +:1076E0008FA300048FA200003499001027BD00086A +:1076F000AF22008003E00008AF2300843C0B800031 +:10770000318AFFFC014B48218D2800000A00080C3B +:10771000AFA8000427BDFFE8AFBF00103C1C080065 +:10772000279C59AC3C0580008CA4000C8CA2000462 +:107730003C0300020044282410A0000A00A31824DF +:107740003C0604003C0400021460000900A610245A +:107750001440000F3C0404000000000D3C1C080015 +:10776000279C59AC8FBF001003E0000827BD00180C +:107770003C0208008C4259A40040F80900000000B7 +:107780003C1C0800279C59AC0A0008358FBF00102C +:107790003C0208008C4259A80040F8090000000093 +:1077A0000A00083B000000003C0880008D0201B880 +:1077B0000440FFFE35090180AD2400003C031000A9 +:1077C00024040040AD250004A1240008A1260009DE +:1077D000A527000A03E00008AD0301B83084FFFFCD +:1077E0000080382130A5FFFF000020210A00084555 +:1077F000240600803087FFFF8CA400002406003898 +:107800000A000845000028218F8300788F860070C9 +:107810001066000B008040213C07080024E75B68ED +:10782000000328C000A710218C440000246300013D +:10783000108800053063000F5466FFFA000328C06B +:1078400003E00008000010213C07080024E75B6CFF +:1078500000A7302103E000088CC200003C03900028 +:1078600034620001008220253C038000AC640020CB +:107870008C65002004A0FFFE0000000003E000086B +:10788000000000003C0280003443000100832025FA +:1078900003E00008AC44002027BDFFE0AFB10014B6 +:1078A0003091FFFFAFB00010AFBF001812200013DF +:1078B00000A080218CA20000240400022406020003 +:1078C0001040000F004028210E0007250000000096 +:1078D00000001021AE000000022038218FBF0018E8 +:1078E0008FB100148FB0001000402021000028212B +:1078F000000030210A00084527BD00208CA20000AE +:10790000022038218FBF00188FB100148FB00010F3 +:107910000040202100002821000030210A000845F5 +:1079200027BD002000A010213087FFFF8CA5000498 +:107930008C4400000A000845240600068F83FD9C45 +:1079400027BDFFE8AFBF0014AFB00010906700087C +:10795000008010210080282130E600400000202116 +:1079600010C000088C5000000E0000BD0200202155 +:10797000020020218FBF00148FB000100A000548BC +:1079800027BD00180E0008A4000000000E0000BD76 +:1079900002002021020020218FBF00148FB00010B0 +:1079A0000A00054827BD001827BDFFE0AFB0001052 +:1079B0008F90FD9CAFBF001CAFB20018AFB1001498 +:1079C00092060001008088210E00087230D2000467 +:1079D00092040005001129C2A6050000348300406E +:1079E000A20300050E00087C022020210E00054A9B +:1079F0000220202124020001AE02000C02202821D6 +:107A0000A602001024040002A602001224060200AE +:107A1000A60200140E000725A60200161640000F4D +:107A20008FBF001C978C00743C0B08008D6B007896 +:107A30002588FFFF3109FFFF256A0001012A382B45 +:107A400010E00006A78800743C0F6006240E0016A4 +:107A500035ED0010ADAE00508FBF001C8FB2001886 +:107A60008FB100148FB0001003E0000827BD002084 +:107A700027BDFFE0AFB10014AFBF0018AFB00010DA +:107A80001080000400A088212402008010820007DA +:107A9000000000000000000D8FBF00188FB100141F +:107AA0008FB0001003E0000827BD00200E00087210 +:107AB00000A020218F86FD9C0220202190C500057A +:107AC0000E00087C30B000FF2403003E1603FFF1D7 +:107AD0003C0680008CC401780480FFFE34C801405D +:107AE000240900073C071000AD11000002202021EE +:107AF000A10900048FBF00188FB100148FB00010CF +:107B0000ACC701780A0008C527BD002027BDFFE0EB +:107B1000AFB00010AFBF0018AFB100143C10800030 +:107B20008E110020000000000E00054AAE04002067 +:107B3000AE1100208FBF00188FB100148FB000105D +:107B400003E0000827BD00203084FFFF00803821BB +:107B50002406003500A020210A0008450000282145 +:107B60003084FFFF008038212406003600A0202149 +:107B70000A0008450000282127BDFFD0AFB500242A +:107B80003095FFFFAFB60028AFB40020AFBF002C88 +:107B9000AFB3001CAFB20018AFB10014AFB000100B +:107BA00030B6FFFF12A000270000A0218F920058DE +:107BB0008E4300003C0680002402004000033E0289 +:107BC00000032C0230E4007F006698241482001D1C +:107BD00030A500FF8F8300682C68000A1100001098 +:107BE0008F8D0044000358803C0C0800258C57B84A +:107BF000016C50218D4900000120000800000000A8 +:107C000002D4302130C5FFFF0E0008522404008446 +:107C1000166000028F920058AF8000688F8D00447C +:107C20002659002026980001032090213314FFFFDD +:107C300015A00004AF9900580295202B1480FFDC9A +:107C400000000000028010218FBF002C8FB600289A +:107C50008FB500248FB400208FB3001C8FB20018A2 +:107C60008FB100148FB0001003E0000827BD003072 +:107C70002407003414A70149000000009247000EB9 +:107C80008F9FFDA08F90FD9C24181600A3E700197C +:107C90009242000D3C0880003C07800CA3E20018D3 +:107CA000964A00123C0D60003C117FFFA60A005C62 +:107CB000964400103623FFFF240200053099FFFF91 +:107CC000AE1900548E46001CAD1800288CEF000041 +:107CD0008DAE444801E6482601C93021AE06003881 +:107CE0008E05003824CB00013C0E7F00AE05003C21 +:107CF0008E0C003CAFEC0004AE0B00208E13002075 +:107D0000AE13001CA3E0001BAE03002CA3E2001284 +:107D10008E4A001424130050AE0A00348E0400343E +:107D2000AFE400148E590018AE1900489258000CA8 +:107D3000A218004E920D000835AF0020A20F0008D7 +:107D40008E090018012E282434AC4000AE0C001817 +:107D5000920B0000317200FF1253027F2403FF8058 +:107D60003C04080024845BE80E0008AA0000000020 +:107D70003C1108008E315BE80E00087202202021C1 +:107D80002405000424080001A2050025022020216A +:107D90000E00087CA20800053C0580008CB001782C +:107DA0000600FFFE8F92005834AE0140240F0002FF +:107DB0003C091000ADD10000A1CF0004ACA90178AE +:107DC0000A000962AF8000682CAD003751A0FF9413 +:107DD0008F8D0044000580803C110800263157E05B +:107DE000021178218DEE000001C0000800000000A3 +:107DF0002411000414B1008C3C0780003C080800EA +:107E00008D085BE88F86FD9CACE800208E4500085D +:107E10008F99FDA0240D0050ACC500308E4C000899 +:107E2000ACCC00508E4B000CACCB00348E43001019 +:107E3000ACC300388E4A0010ACCA00548E42001405 +:107E4000ACC2003C8E5F0018AF3F00048E50001C97 +:107E5000ACD0002090C40000309800FF130D024AFF +:107E6000000000008CC400348CD00030009030231F +:107E700004C000F12404008C126000EE2402000310 +:107E80000A000962AF8200682419000514B900666F +:107E90003C0580003C0808008D085BE88F86FD9C4F +:107EA000ACA800208E4C00048F8AFDA0240720007F +:107EB000ACCC001C924B000824120008A14B001906 +:107EC0008F82005890430009A14300188F85005805 +:107ED00090BF000A33E400FF1092001028890009C7 +:107EE000152000BA240E0002240D0020108D000B76 +:107EF000340780002898002117000008240740005C +:107F000024100040109000053C0700012419008057 +:107F1000109900023C070002240740008CC20018A0 +:107F20003C03FF00004350240147F825ACDF001854 +:107F300090B2000BA0D200278F8300589464000CED +:107F4000108001FE000000009467000C3C1F8000C0 +:107F50002405FFBFA4C7005C9063000E2407000443 +:107F6000A0C300088F820058904A000FA0CA0009E1 +:107F70008F8900588D3200108FE400740244C823AA +:107F8000ACD900588D300014ACD0002C95380018B6 +:107F9000330DFFFFACCD00409531001A322FFFFFAB +:107FA000ACCF00448D2E001CACCE00489128000EB2 +:107FB000A0C8000890CC000801855824126001B6C2 +:107FC000A0CB00088F9200580A000962AF870068B2 +:107FD0002406000614A600143C0E80003C0F080086 +:107FE0008DEF5BE88F85FD98ADCF00208E4900189E +:107FF0008F86FD9C8F8BFDA0ACA900008CC800383B +:1080000024040005ACA800048CCC003C1260008164 +:10801000AD6C00000A000962AF84006824110007FB +:1080200010B1004B240400063C05080024A55BE8C1 +:108030000E000881240400818F9200580013102B39 +:108040000A000962AF820068241F002314BFFFF6F4 +:108050003C0C80003C0508008CA55BE88F8BFDA0E4 +:10806000AD8500208F91FD9C8E4600042564002084 +:1080700026450014AE260028240600030E000F81BA +:10808000257000308F87005802002021240600034D +:108090000E000F8124E500083C04080024845BE8FE +:1080A0000E0008AA0000000092230000240A0050DD +:1080B000306200FF544AFFE18F9200580E000F6CAF +:1080C000000000000A000A6A8F920058240800335A +:1080D00014A800323C0380003C1108008E315BE89C +:1080E0008F8FFDA0AC7100208E420008240D002867 +:1080F0008F89FD9CADE200308E4A000C24060009F9 +:10810000ADEA00348E5F0010ADFF00388E440014DD +:10811000ADE400208E590018ADF900248E58001CE3 +:10812000ADF80028A1ED00118E4E00041260003160 +:10813000AD2E00288F9200580A000962AF860068B1 +:10814000240D002214ADFFB8000000002404000735 +:108150003C1008008E105BE83C188000AF10002037 +:108160005660FEAEAF8400683C04080024845BE8DF +:108170000E0008AA241300508F84FD9C90920000EA +:10818000325900FF1333014B000000008F9200585A +:10819000000020210A000962AF8400683C05080045 +:1081A00024A55BE80E000858240400810A000A6A2E +:1081B0008F92005802D498213265FFFF0E000852BA +:1081C000240400840A0009628F920058108EFF5325 +:1081D000240704002887000310E00179241100041B +:1081E000240F0001548FFF4D240740000A000A228B +:1081F000240701003C05080024A55BE80E0008A444 +:10820000240400828F920058000030210A00096285 +:10821000AF8600683C04080024845BE88CC2003808 +:108220000E0008AA8CC3003C8F9200580A000AC0B6 +:1082300000002021240400823C05080024A55BE8FE +:108240000E0008A4000000008F92005800001021CA +:108250000A000962AF8200688E5000048F91FD9C75 +:108260003C078000ACF00020922C00050200282181 +:10827000318B0002156001562404008A8F92FDA004 +:108280002404008D9245001B30A6002014C001502C +:1082900002002821922E00092408001231C900FF93 +:1082A0001128014B240400810E00087202002021D5 +:1082B0009258001B240F000402002021370D0042B9 +:1082C000A24D001B0E00087CA22F00253C0580005B +:1082D0008CA401780480FFFE34B90140241F000201 +:1082E000AF300000A33F00048F9200583C101000F4 +:1082F000ACB001780A000A6B0013102B8E500004FA +:108300008F91FD9C3C038000AC700020922A0005F8 +:108310000200282131420002144000172404008A80 +:10832000922C00092412000402002821318B00FF46 +:1083300011720011240400810E0008720200202135 +:108340008F89FDA0240800122405FFFE912F001B39 +:108350000200202135EE0020A12E001BA2280009DA +:108360009226000500C538240E00087CA2270005CF +:1083700002002821000020210E0009330000000027 +:108380000A000A6A8F9200588E4C00043C07800055 +:108390003C10080026105BE8ACEC00203C01080013 +:1083A000AC2C5BE8924B0003317100041220013BBE +:1083B0008F84FD9C24020006A0820009924F001BBE +:1083C000240EFFC031E9003F012E4025A08800089F +:1083D0009245000330A6000114C0013200000000E5 +:1083E0008E420008AE0200083C0208008C425BF09E +:1083F000104001318F90FDA0000219C28F8DFD9CAD +:10840000A603000C8E4A000C24180001240400145A +:10841000AE0A002C8E420010AE02001C965F0016C1 +:10842000A61F003C96590014A619003EADB8000CDA +:10843000A5B80010A5B80012A5B80014A5B800167C +:1084400012600144A2040011925100033232000272 +:108450002E5300018F920058266200080A0009621C +:10846000AF8200688E4400043C1980003C068008FE +:10847000AF2400208E45000890D80000240D005045 +:10848000331100FF122D009C2407008824060009E8 +:108490000E000845000000000A000A6A8F9200588A +:1084A0008E5000043C0980003C118008AD30002053 +:1084B0009228000024050050310400FF10850110AF +:1084C0002407008802002021000028210E00084512 +:1084D0002406000E922D00002418FF80020028219F +:1084E00001B8802524040004240600300E0007256E +:1084F000A23000000A000A6A8F9200588E500004D1 +:108500008F91FDA03C028000AC500020923F001BE8 +:1085100033F900101320006C240700810200202191 +:10852000000028212406001F0E000845000000005E +:108530000A000A6A8F9200588E44001C0E00085DE3 +:1085400000000000104000E3004048218F880058E0 +:1085500024070089012020218D05001C240600012C +:108560000E000845000000000A000A6A8F920058B9 +:10857000964900023C10080026105BE831280004F0 +:10858000110000973C0460008E4E001C3C0F8000E0 +:10859000ADEE00203C010800AC2E5BE896470002DF +:1085A00030E40001148000E6000000008E42000468 +:1085B000AE0200083C1008008E105BF0120000ECC8 +:1085C0003C0F80008F92FD9C241000018E4E0018FD +:1085D0008F8DFDA08F9FFD9801CF4825AE490018D3 +:1085E000A2400005AE50000C3C0808008D085BF06E +:1085F0008F840058A6500010000839C2A6500012FF +:10860000A6500014A6500016A5A7000C8C8C0008DC +:108610008F8B00588F8A0058ADAC002C8D63000CF6 +:1086200024070002ADA3001C91460010A1A6001172 +:108630008F82005890450011A3E500088F990058DB +:1086400093380012A258004E8F910058922F0013B9 +:10865000A1AF00128F920058964E0014A5AE003CB8 +:1086600096490016A5A9003E8E480018ADA8001432 +:108670005660FD6AAF8700683C05080024A55BE8EA +:108680000E000881000020218F9200580000382140 +:108690000A000962AF8700683C05080024A55BE872 +:1086A0000E0008A4240400828F9200580A000A4D8C +:1086B000000038210E000F6C000000008F9200585F +:1086C0000A000AC0000020210E00087202002021CA +:1086D0009223001B02002021346A00100E00087C47 +:1086E000A22A001B000038210200202100002821BE +:1086F0000A000BA52406001F9242000C305F000107 +:1087000013E0000300000000964A000EA4CA002CEB +:10871000924B000C316300025060000600003821CB +:108720008E470014964C0012ACC7001CA4CC001A53 +:10873000000038210A000B7F240600093C050800D0 +:1087400024A55BE80E0008A42404008B8F92005837 +:108750000A000A4D0013382B3C0C08008D8C5BE896 +:1087600024DFFFFE25930100326B007F016790211B +:1087700002638824AD110028AE4600E0AE4000E45C +:108780000A0009B3AE5F001CACC000543C0D0800E9 +:108790008DAD5BE83C18800C37090100ACED00287A +:1087A0008E510014AD3100E08E4F0014AD2F00E467 +:1087B0008E4E001025C7FFFE0A0009F4AD27001CED +:1087C0005491FDD6240740000A000A222407100015 +:1087D0000E00092D000000000A000A6A8F9200585E +:1087E0008C83442C3C12DEAD3651BEEF3C010800B8 +:1087F000AC205BE810710062000000003C196C6264 +:1088000037387970147800082404000297850074C2 +:108810009782006C2404009200A2F82B13E0001948 +:1088200002002821240400020E00069524050200FF +:108830003C068000ACC200203C010800AC225BE892 +:108840001040000D8F8C0058240A002824040003D7 +:10885000918B0010316300FF546A00012404000171 +:108860000E0000810000000010400004240400837A +:108870000A000BC28F920058240400833C050800B4 +:1088800024A55BE80E000881000000008F920058CC +:108890000013382B0A000962AF8700680A000B49F1 +:1088A000240200128E4400080E00085D0000000043 +:1088B0000A000B55AE0200083C05080024A55BE841 +:1088C0000E000858240400878F9200580A000B728B +:1088D0000013102B240400040E000695240500301C +:1088E0001440002A004048218F8800582407008344 +:1088F000012020218D05001C0A000BB32406000175 +:108900008F8300788F8600701066FEEE000038219D +:108910003C07080024E75B6C000320C00087282187 +:108920008CAE000011D0005D246F000131E3000F18 +:108930005466FFFA000320C00A000B8C00003821A7 +:108940008E4400040E00085D000000000A000BC801 +:10895000AE0200083C05080024A55BE80E0008A450 +:10896000240400828F9200580A000B72000010212C +:108970003C05080024A55BE80A000C7C2404008761 +:108980008C83442C0A000C5B3C196C628F88005865 +:108990003C0780083C0C8000240B0050240A000196 +:1089A000AD820020A0EB0000A0EA000191030004CA +:1089B000A0E3001891040005A0E400199106000648 +:1089C0003C04080024845B6CA0E6001A91020007B6 +:1089D0003C06080024C65B68A0E2001B9105000865 +:1089E000A0E5001C911F0009A0FF001D9119000ABD +:1089F000A0F9001E9118000BA0F8001F9112000CA6 +:108A0000A0F200209111000DA0F100219110000EA4 +:108A1000A0F00022910F000FA0EF0023910E001094 +:108A2000A0EE0024910D0011A0ED0025950C00147E +:108A3000A4EC0028950B00168F8A00708F920078A6 +:108A4000A4EB002A95030018000A10C02545000178 +:108A5000A4E3002C8D1F001C0044C0210046C82147 +:108A600030A5000FAF3F0000AF09000010B20006B4 +:108A7000AF850070000038218D05001C01202021E9 +:108A80000A000BB32406000124AD000131A7000F3A +:108A9000AF8700780A000CF9000038213C06080076 +:108AA00024C65B680086902100003821ACA000003D +:108AB0000A000B8CAE4000003C0482013C036000C5 +:108AC00034820E02AC603D68AF80009803E000087D +:108AD000AC623D6C27BDFFE8AFB000103090FFFFE7 +:108AE000001018422C620041AFBF00141440000275 +:108AF00024040080240300403C010800AC300060E6 +:108B00003C010800AC2300640E000F7500602821B2 +:108B1000244802BF2409FF8001092824001039805D +:108B2000001030408FBF00148FB0001000A720212C +:108B300000861821AF8300803C010800AC25005856 +:108B40003C010800AC24005C03E0000827BD0018CD +:108B5000308300FF30C6FFFF30E400FF3C08800098 +:108B60008D0201B80440FFFE000354000144382583 +:108B70003C09600000E920253C031000AD050180A0 +:108B8000AD060184AD04018803E00008AD0301B81F +:108B90008F8500583C0A6012354800108CAC0004E8 +:108BA0003C0D600E35A60010318B00062D690001CA +:108BB000AD0900C48CA70004ACC731808CA20008AA +:108BC00094A40002ACC231848CA3001C0460000396 +:108BD000A784009003E00008000000008CAF00189C +:108BE000ACCF31D08CAE001C03E00008ACCE31D449 +:108BF0008F8500588F87FF288F86FF308CAE00044A +:108C00003C0F601235E80010ACEE00788CAD000827 +:108C1000ACED007C8CAC0010ACCC004C8CAB000CF0 +:108C2000ACCB004894CA00543C0208008C4200447B +:108C300025490001A4C9005494C400543083FFFFA7 +:108C400010620017000000003C0208008C42004047 +:108C5000A4C200528CA30018ACE300308CA2001414 +:108C6000ACE2002C8CB90018ACF900388CB80014B8 +:108C700024050001ACF800348D0600BC50C5001975 +:108C80008D0200B48D0200B8A4E2004894E40048CC +:108C9000A4E4004A94E800EA03E000083102FFFF80 +:108CA0003C0208008C420024A4C00054A4C200521C +:108CB0008CA30018ACE300308CA20014ACE2002CB2 +:108CC0008CB90018ACF900388CB8001424050001E8 +:108CD000ACF800348D0600BC54C5FFEB8D0200B823 +:108CE0008D0200B4A4E2004894E40048A4E4004AE1 +:108CF00094E800EA03E000083102FFFF8F86005885 +:108D00003C0480008CC900088CC80008000929C0F8 +:108D1000000839C0AC87002090C30007306200040F +:108D20001040003EAF85009490CB0007316A0008E8 +:108D30001140003D8F87FF2C8CCD000C8CCE001491 +:108D400001AE602B11800036000000008CC2000CC8 +:108D5000ACE200708CCB00188F85FF288F88FF3025 +:108D6000ACEB00748CCA00102402FFF8ACAA00D847 +:108D70008CC9000CAD0900608CC4001CACA400D0F0 +:108D800090E3007C0062C824A0F9007C90D8000722 +:108D9000330F000811E000040000000090ED007C9B +:108DA00035AC0001A0EC007C90CF000731EE000153 +:108DB00011C000060000000090E3007C241800347D +:108DC00034790002A0F9007CACB800DC90C2000746 +:108DD0003046000210C000040000000090E8007C53 +:108DE00035040004A0E4007C90ED007D3C0B600E97 +:108DF000356A001031AC003FA0EC007D8D4931D4C4 +:108E00003127000110E00002240E0001A0AE00098D +:108E100094AF00EA03E0000831E2FFFF8F87FF2CE8 +:108E20000A000DAF8CC200140A000DB0ACE0007057 +:108E30008F8C005827BDFFD8AFB3001CAFB200180D +:108E4000AFB00010AFBF0020AFB10014918F00157C +:108E50003C13600E3673001031EB000FA38B009CA7 +:108E60008D8F00048D8B0008959F0012959900103E +:108E70009584001A9598001E958E001C33EDFFFF17 +:108E8000332AFFFF3089FFFF3308FFFF31C7FFFFA1 +:108E90003C010800AC2D00243C010800AC29004432 +:108EA0003C010800AC2A0040AE683178AE67317CE6 +:108EB00091850015959100163C12601236520010F3 +:108EC00030A200FF3230FFFFAE623188AE5000B4F6 +:108ED00091830014959F0018240600010066C804C1 +:108EE00033F8FFFFAE5900B8AE5800BC918E0014A5 +:108EF000AF8F00843C08600631CD00FFAE4D00C04E +:108F0000918A00159584000E3C07600A314900FFE4 +:108F1000AF8B00883084FFFFAE4900C835110010C8 +:108F20000E000D1034F004103C0208008C4200606A +:108F30003C0308008C6300643C0608008CC60058A3 +:108F40003C0508008CA5005C8F8400808FBF00204A +:108F5000AE23004CAE65319CAE030054AE4500DC40 +:108F6000AE6231A0AE6331A4AE663198AE22004845 +:108F70008FB3001CAE0200508FB10014AE4200E06F +:108F8000AE4300E4AE4600D88FB000108FB2001898 +:108F90000A00057D27BD0028978500929783007CF5 +:108FA00027BDFFE8AFB0001000A3102BAFBF001427 +:108FB000240400058F900058104000552409000239 +:108FC0000E0006958F850080AF8200942404000374 +:108FD0001040004F240900023C0680000E00008172 +:108FE000ACC2002024070001240820001040004DDE +:108FF00024040005978E00928F8AFF2C24090050CC +:1090000025C50001A7850092A14900003C0D08007C +:109010008DAD0064240380008F84FF28000D66005E +:10902000AD4C0018A5400006954B000A8F85FF3017 +:109030002402FF8001633024A546000A915F000AE4 +:109040000000482103E2C825A159000AA0A0000899 +:10905000A140004CA08000D5961800029783009094 +:109060003C020004A49800EA960F00022418FFBFF7 +:1090700025EE2401A48E00BE8E0D0004ACAD00448C +:109080008E0C0008ACAC0040A4A00050A4A000547A +:109090008E0B000C240C0030AC8B00288E060010C8 +:1090A000AC860024A480003EA487004EA487005014 +:1090B000A483003CAD420074AC8800D8ACA800602A +:1090C000A08700FC909F00D433F9007FA09900D4C2 +:1090D000909000D402187824A08F00D4914E007C88 +:1090E00035CD0001A14D007C938B009CAD480070F4 +:1090F000AC8C00DCA08B00D68F8800888F87008422 +:10910000AC8800C4AC8700C8A5400078A540007AB0 +:109110008FBF00148FB000100120102103E0000861 +:1091200027BD00188F8500940E0007258F860080CC +:109130000A000E9F2409000227BDFFE0AFB0001017 +:109140008F900058AFB10014AFBF00188E09000413 +:109150000E00054A000921C08E0800048F84FF28F4 +:109160008F82FF30000839C03C068000ACC7002069 +:10917000948500EA904300131460001C30B1FFFF97 +:109180008F8CFF2C918B0008316A00401540000B3A +:10919000000000008E0D0004022030218FBF001857 +:1091A0008FB100148FB00010240400220000382179 +:1091B000000D29C00A000D2F27BD00200E000098C9 +:1091C000000000008E0D0004022030218FBF001827 +:1091D0008FB100148FB00010240400220000382149 +:1091E000000D29C00A000D2F27BD00200E000090A1 +:1091F000000000008E0D0004022030218FBF0018F7 +:109200008FB100148FB00010240400220000382118 +:10921000000D29C00A000D2F27BD002027BDFFE04B +:10922000AFB200183092FFFFAFB00010AFBF001C0C +:10923000AFB100141240001E000080218F8600583C +:109240008CC500002403000600053F02000514023F +:1092500030E4000714830016304500FF2CA80006F8 +:1092600011000040000558803C0C0800258C58BCBB +:10927000016C50218D490000012000080000000011 +:109280008F8E0098240D000111CD005024020002A1 +:10929000AF820098260900013130FFFF24C800206A +:1092A0000212202B010030211480FFE5AF88005806 +:1092B000020010218FBF001C8FB200188FB1001464 +:1092C0008FB0001003E0000827BD00209387007EC8 +:1092D00054E00034000030210E000DE700000000D3 +:1092E0008F8600580A000EFF240200018F87009825 +:1092F0002405000210E50031240400130000282199 +:1093000000003021240700010E000D2F0000000096 +:109310000A000F008F8600588F83009824020002F5 +:109320001462FFF6240400120E000D9A00000000E3 +:109330008F85009400403021240400120E000D2F70 +:10934000000038210A000F008F8600588F83009894 +:109350002411000310710029241F0002107FFFCE8A +:1093600026090001240400100000282100003021FB +:109370000A000F1D240700018F91009824060002A7 +:109380001626FFF9240400100E000E410000000014 +:10939000144000238F9800588F8600580A000EFF53 +:1093A00024020003240400140E000D2F00002821C5 +:1093B0008F8600580A000EFF240200020E000EA93C +:1093C000000000000A000F008F8600580E000D3FBD +:1093D00000000000241900022404001400002821C9 +:1093E0000000302100003821AF9900980E000D2FA9 +:1093F000000000000A000F008F8600580E000D5775 +:10940000000000008F8500942419000200403021E4 +:1094100024040010000038210A000F56AF9900986C +:109420000040382124040010970F0002000028217A +:109430000E000D2F31E6FFFF8F8600580A000F0047 +:10944000AF9100988F84FF2C3C077FFF34E6FFFF2D +:109450008C8500182402000100A61824AC83001893 +:1094600003E00008A08200053084FFFF30A5FFFF65 +:109470001080000700001821308200011040000217 +:1094800000042042006518211480FFFB00052840DD +:1094900003E000080060102110C000070000000079 +:1094A0008CA2000024C6FFFF24A50004AC820000AB +:1094B00014C0FFFB2484000403E000080000000047 +:1094C00010A0000824A3FFFFAC86000000000000ED +:1094D000000000002402FFFF2463FFFF1462FFFA74 +:1094E0002484000403E0000800000000000411C010 +:1094F00003E000082442024027BDFFE8AFB000109F +:1095000000808021AFBF00140E000F9600A0202124 +:1095100000504821240AFF808FBF00148FB0001034 +:10952000012A30243127007F3C08800A3C042100B6 +:1095300000E8102100C428253C03800027BD001846 +:10954000AC650024AF820038AC400000AC6500245C +:1095500003E00008AC4000403C0D08008DAD005811 +:1095600000056180240AFF8001A45821016C482174 +:10957000012A30243127007F3C08800C3C04210064 +:1095800000E8102100C428253C038000AC650028B9 +:10959000AF82003403E00008AC40002430A5FFFF98 +:1095A0003C0680008CC201B80440FFFE3C086015F8 +:1095B00000A838253C031000ACC40180ACC0018475 +:1095C000ACC7018803E00008ACC301B83C0D08003B +:1095D0008DAD005800056180240AFF8001A4582148 +:1095E000016C4021010A4824000931403107007F05 +:1095F00000C728253C04200000A418253C02800058 +:10960000AC43083003E00008AF80003427BDFFE81A +:10961000AFB0001000808021AFBF00140E000F9685 +:1096200000A0202100504821240BFF80012B502452 +:10963000000A39403128007F3C0620008FBF00140B +:109640008FB0001000E8282534C2000100A21825C0 +:109650003C04800027BD0018AC83083003E00008FC +:10966000AF8000383C0580088CA700603C0680086D +:109670000087102B144000112C8340008CA8006040 +:109680002D0340001060000F240340008CC90060CF +:109690000089282B14A00002008018218CC30060D0 +:1096A00000035A42000B30803C0A0800254A59202A +:1096B00000CA202103E000088C8200001460FFF340 +:1096C0002403400000035A42000B30803C0A08008B +:1096D000254A592000CA202103E000088C8200009E +:1096E0003C05800890A60008938400AB24C20001CA +:1096F000304200FF3043007F1064000C0002382726 +:10970000A0A200083C0480008C85017804A0FFFE24 +:109710008F8A00A0240900023C081000AC8A014096 +:10972000A089014403E00008AC8801780A00101BFE +:1097300030E2008027BDFFD8AFB200188F9200A49E +:10974000AFBF0020AFB3001CAFB00010AFB100142A +:109750008F9300348E5900283C1000803C0EFFEFA0 +:10976000AE7900008E580024A260000A35CDFFFFBC +:10977000AE7800049251002C3C0BFF9F356AFFFF2E +:10978000A271000C8E6F000C3C080040A271000B0F +:1097900001F06025018D4824012A382400E8302595 +:1097A000AE66000C8E450004AE6000183C0400FF5D +:1097B000AE6500148E43002C3482FFFFA6600008C3 +:1097C0000062F824AE7F00108E5900088F9000A030 +:1097D000964E0012AE7900208E51000C31D83FFF1A +:1097E00000187980AE7100248E4D001401F06021C4 +:1097F00031CB0001AE6D00288E4A0018000C41C22A +:10980000000B4B80AE6A002C8E46001C01093821EB +:10981000A667001CAE660030964500028E4400200C +:10982000A665001EAE64003492430033306200042B +:1098300054400006924700003C0280083443010077 +:109840008C7F00D0AE7F0030924700008F860038BA +:10985000A0C700309245003330A4000250800007BA +:10986000925100018F880038240BFF80910A00304C +:10987000014B4825A1090030925100018F9000381A +:10988000240CFFBF2404FFDFA21100318F8D0038AC +:109890003C1880083711008091AF003C31EE007F0A +:1098A000A1AE003C8F890038912B003C016C502404 +:1098B000A12A003C8F9F00388E68001493E6003C7C +:1098C0002D0700010007114000C4282400A218251C +:1098D000A3E3003C8F87003896590012A4F90032A8 +:1098E0008E450004922E007C30B0000300107823D7 +:1098F00031ED000300AD102131CC000215800002D3 +:1099000024460034244600303C0280083443008062 +:10991000907F007C00BFC824333800041700000289 +:1099200024C2000400C010218F98003824190002BE +:10993000ACE20034A3190000924F003F8F8E003834 +:109940003C0C8008358B0080A1CF00018F9100383E +:10995000924D003F8E440004A62D0002956A005CE3 +:109960000E000FF43150FFFF00024B800209382532 +:109970003C08420000E82825AE2500048E4400384B +:109980008F850038ACA400188E460034ACA6001CAD +:10999000ACA0000CACA00010A4A00014A4A0001661 +:1099A000A4A00020A4A00022ACA000248E62001479 +:1099B00050400001240200018FBF00208FB3001C23 +:1099C0008FB200188FB100148FB00010ACA2000845 +:1099D0000A00101327BD002827BDFFC83C058008DA +:1099E00034A40080AFBF0034AFBE0030AFB7002C4E +:1099F000AFB60028AFB50024AFB40020AFB3001C51 +:109A0000AFB20018AFB10014AFB00010948300786B +:109A10009482007A104300512405FFFF0080F0215A +:109A20000A0011230080B821108B004D8FBF003435 +:109A30008F8600A03C1808008F18005C2411FF805E +:109A40003C1680000306782101F18024AED0002C62 +:109A500096EE007A31EC007F3C0D800E31CB7FFF1B +:109A6000018D5021000B4840012AA82196A4000036 +:109A70003C0808008D0800582405FF8030953FFF02 +:109A800001061821001539800067C8210325F82434 +:109A90003C02010003E290253338007F3C11800C2A +:109AA000AED20028031190219250000D320F000415 +:109AB00011E0003702E0982196E3007A96E8007AF8 +:109AC00096E5007A2404800031077FFF24E300013B +:109AD00030627FFF00A4F82403E2C825A6F9007ACB +:109AE00096E6007A3C1408008E94006030D67FFF22 +:109AF00012D400C1000000008E5800188F8400A00E +:109B000002A028212713FFFF0E000FCEAE53002C1A +:109B100097D5007897D4007A12950010000028217C +:109B20003C098008352401003C0A8008914800085F +:109B3000908700D53114007F30E400FF0284302B81 +:109B400014C0FFB9268B0001938E00AB268C000158 +:109B5000008E682115ACFFB78F8600A08FBF003440 +:109B60008FBE00308FB7002C8FB600288FB5002431 +:109B70008FB400208FB3001C8FB200188FB1001477 +:109B80008FB0001000A0102103E0000827BD0038AE +:109B900000C020210E000F99028028218E4B00105A +:109BA0008E4C00308F84003824090002016C502351 +:109BB000AE4A0010A089000096E3005C8E4400309D +:109BC0008F9100380E000FF43070FFFF00024380C9 +:109BD000020838253C02420000E22825AE25000498 +:109BE0008E5F00048F8A00388E590000240B000815 +:109BF000AD5F001CAD590018AD40000CAD40001029 +:109C00009246000A240400052408C00030D000FF5A +:109C1000A550001496580008A55800169251000A45 +:109C20003C188008322F00FFA54F0020964E0008F8 +:109C300037110100A54E0022AD400024924D000BCB +:109C400031AC00FFA54C0002A14B00018E49003051 +:109C50008F830038240BFFBFAC690008A06400307C +:109C60008F9000382403FFDF9607003200E8282495 +:109C700000B51025A6020032921F003233F9003FD2 +:109C800037260040A20600328F8C0038AD800034A9 +:109C90008E2F00D0AD8F0038918E003C3C0F7FFF9F +:109CA00031CD007FA18D003C8F84003835EEFFFF61 +:109CB000908A003C014B4824A089003C8F850038E5 +:109CC00090A8003C01033824A0A7003C8E42003439 +:109CD0008F9100383C038008AE2200408E59002C42 +:109CE0008E5F0030033F3023AE26004492300048A0 +:109CF0003218007FA23800488F8800388E4D00301F +:109D00008D0C004801AE582401965024014B482583 +:109D1000AD0900489244000AA104004C964700088F +:109D20008F850038A4A7004E8E5000308E4400303E +:109D30000E0003818C65006092F9007C0002F940FE +:109D4000004028210002110003E2302133360002D6 +:109D500012C00003020680210005B0800216802197 +:109D6000926D007C31B30004126000020005708027 +:109D7000020E80218E4B00308F8800382405800031 +:109D8000316A0003000A4823312400030204182129 +:109D9000AD03003496E4007A96F0007A96F1007AEA +:109DA00032027FFF2447000130FF7FFF0225C824D5 +:109DB000033F3025A6E6007A96F8007A3C120800A8 +:109DC0008E520060330F7FFF11F200180000000078 +:109DD0008F8400A00E000FCE02A028218F8400A047 +:109DE0000E000FDE028028210E001013000000007C +:109DF0000A00111F0000000096F1007A022480245E +:109E0000A6F0007A92EF007A92EB007A31EE00FF32 +:109E1000000E69C2000D6027000C51C03169007F3F +:109E2000012A20250A001119A2E4007A96E6007A98 +:109E300000C5C024A6F8007A92EF007A92F3007A67 +:109E400031F200FF001271C2000E6827000DB1C090 +:109E5000326C007F01962825A2E5007A0A0011D015 +:109E60008F8400A03C0380003084FFFF30A5FFFFFB +:109E7000AC640018AC65001C03E000088C620014A0 +:109E800027BDFFA03C068008AFBF005CAFBE0058F6 +:109E9000AFB70054AFB60050AFB5004CAFB40048F8 +:109EA000AFB30044AFB20040AFB1003CAFB0003838 +:109EB00034C80100910500D590C700083084FFFF29 +:109EC00030A500FF30E2007F0045182AAFA4001043 +:109ED000A7A00018A7A0002610600055AFA000148E +:109EE00090CA00083149007F00A9302324D3FFFF26 +:109EF0000013802B8FB400100014902B02128824C2 +:109F0000522000888FB300143C03800894790052DB +:109F1000947E00508FB60010033EC0230018BC0092 +:109F2000001714030016FC0002C2A82A16A00002A3 +:109F3000001F2C030040282100133C0000072403CD +:109F400000A4102A5440000100A020212885000907 +:109F500014A000020080A021241400083C0C8008FA +:109F60008D860048001459808D88004C3C03800089 +:109F70003169FFFF3C0A0010012A202534710400DA +:109F8000AC660038AF9100A4AC68003CAC64003013 +:109F900000000000000000000000000000000000C1 +:109FA00000000000000000000000000000000000B1 +:109FB0008C6E000031CD002011A0FFFD0014782A26 +:109FC00001F01024104000390000A8213C16800840 +:109FD00092D700083C1280008E44010032F6007FC8 +:109FE0000E000F9902C028218E3900108E44010006 +:109FF0000000902133373FFF0E000FB102E028210F +:10A00000923800003302003F2C500008520000102C +:10A0100000008821000210803C030800246358E4FB +:10A020000043F8218FFE000003C00008000000007C +:10A0300090CF0008938C00AB31EE007F00AE682318 +:10A04000018D58210A0012172573FFFF0000882197 +:10A050003C1E80008FC401000E000FCE02E02821BC +:10A060008FC401000E000FDE02C028211220000F55 +:10A070000013802B8F8B00A426A400010004AC00E9 +:10A08000027298230015AC032578004002B4B02A70 +:10A090000013802B241700010300882102D0102414 +:10A0A000AF9800A41440FFC9AFB700143C07800864 +:10A0B00094E200508FAE00103C05800002A288217F +:10A0C0003C060020A4F10050ACA6003094F40050EF +:10A0D00094EF005201D51823306CFFFF11F4001EDD +:10A0E000AFAC00108CEF004C001561808CF500487F +:10A0F00001EC28210000202100AC582B02A4C02133 +:10A10000030BB021ACE5004CACF600488FB4001056 +:10A110000014902B021288241620FF7C3C03800838 +:10A120008FB300148FBF005C8FBE00583A620001ED +:10A130008FB700548FB600508FB5004C8FB40048D5 +:10A140008FB300448FB200408FB1003C8FB0003815 +:10A1500003E0000827BD006094FE00548CF2004428 +:10A1600033C9FFFE0009C8C00259F821ACBF003C4A +:10A170008CE800448CAD003C010D50231940003B9D +:10A18000000000008CF7004026E20001ACA200387D +:10A190003C05005034A700103C038000AC67003041 +:10A1A00000000000000000000000000000000000AF +:10A1B000000000000000000000000000000000009F +:10A1C0008C7800003316002012C0FFFD3C1180087F +:10A1D000962200543C1580003C068008304E000159 +:10A1E000000E18C0007578218DEC04003C070800B3 +:10A1F0008CE700443C040020ACCC00488DF40404FF +:10A20000240B0001ACD4004C10EB0260AEA4003073 +:10A21000963900523C0508008CA5004000B99021F9 +:10A22000A6320052963F005427ED0001A62D00549F +:10A230009626005430C4FFFF5487FF2F8FB40010C0 +:10A2400030A5FFFF0E0011F4A62000543C070800C3 +:10A250008CE70024963E00520047B82303D74823DA +:10A26000A62900520A0012198FB400108CE2004097 +:10A270000A0012BE00000000922400012407000121 +:10A280003085007F14A7001C97AD00268E2B00148C +:10A29000240CC000316A3FFF01AC48243C06080092 +:10A2A0008CC60060012A402531043FFF0086882BC0 +:10A2B00012200011A7A800263C0508008CA5005814 +:10A2C0008F9100A0000439802402FF8000B1182182 +:10A2D0000067F82103E2F02433F8007F3C1280008D +:10A2E0003C19800EAE5E002C0319702191D0000D38 +:10A2F000360F0004A1CF000D0E001028241200011B +:10A30000241100013C1E80008FC401000E000FCEFE +:10A3100002E028218FC401000E000FDE02C02821B8 +:10A320001620FF558F8B00A40A0012860013802B85 +:10A330008F8600A490C80001310400201080019194 +:10A34000241000013C048008348B0080916A007C5A +:10A350008F9E0034AFA0002C314900011120000F66 +:10A36000AFB000288CCD00148C8E006001AE602B45 +:10A370001580000201A038218C8700603C188008FD +:10A38000370300808C70007000F0782B15E000021D +:10A3900000E020218C640070AFA4002C3C028008F7 +:10A3A000344500808CD200148CBF0070025FC82B33 +:10A3B00017200002024020218CA400708FA7002CDF +:10A3C0000087182310600003AFA3003024050002AB +:10A3D000AFA500288FA400280264882B162000BA9D +:10A3E000000018218CD000388FCE000C3C0F00806C +:10A3F000AFD000008CCD00343C0CFF9F01CF58251E +:10A40000AFCD000490CA003F3586FFFF01662024CF +:10A410003C0900203C08FFEFA3CA000B0089382547 +:10A420003511FFFF00F118243C0500088F8700A4B8 +:10A430000065C825AFD9000C8CE20014AFC000182D +:10A440008FA60030AFC200148CF800188FB0002C1B +:10A450003C1FFFFBAFD8001C8CEF000837F2FFFF5A +:10A4600003326824AFCF00248CEC000C020670216C +:10A47000AFCD000CA7C00038A7C0003AAFCE002C6B +:10A48000AFCC0020AFC000288CEA00148FAB002CAA +:10A49000014B48230126402311000011AFC80010D2 +:10A4A00090EB003D8FC900048FC80000000B5100E5 +:10A4B000012A28210000102100AA882B010218215E +:10A4C0000071F821AFC50004AFDF000090F2003D3D +:10A4D000A3D2000A8F9900A497380006A7D80008D5 +:10A4E0008F910038240800023C038008A228000055 +:10A4F0003465008094BF005C8FA4002C33F0FFFF14 +:10A500000E000FF48F9200380002CB808F8500A4DC +:10A51000021978253C18420001F87025AE4E00045F +:10A520008F8400388CAD0038AC8D00188CAC0034B2 +:10A53000AC8C001CAC80000CAC800010A48000141B +:10A54000A4800016A4800020A4800022AC800024F7 +:10A5500090A6003F8FA7002CA486000250E0019235 +:10A56000240700018FA200305040000290A2003D5D +:10A5700090A2003E244A0001A08A00018F84003886 +:10A580008FA9002CAC8900083C128008364D008051 +:10A5900091AC007C3186000214C000022407003414 +:10A5A000240700308F8500A43C198008373F0080C5 +:10A5B00090B0000093F9007C240E0004A0900030BD +:10A5C0008F8F00A48FB8002C8F8D003891F200017E +:10A5D0003304000301C46023A1B200318F8E003820 +:10A5E0008F8600A42402C00095CA003294C90012CC +:10A5F0008FAB002C0142402431233FFF010388250B +:10A60000A5D1003291D000323185000300EBF82152 +:10A610003218003F370F0040A1CF00328FA4002C2A +:10A6200003E5382133280004108000028F850038AC +:10A6300000E838213C0A8008ACA700343549010005 +:10A640008D2800D08FA3002C2419FFBFACA80038A0 +:10A6500090B1003C2C640001240FFFDF3227007F03 +:10A66000A0A7003C8F98003800049140931F003C45 +:10A6700003F98024A310003C8F8C0038918E003C9D +:10A6800001CF682401B23025A186003C8F8900A447 +:10A690008F8800388D2B0020AD0B00408D220024C8 +:10A6A000AD0200448D2A0028AD0A00488D23002CFD +:10A6B0000E001013AD03004C8FB1002824070002D8 +:10A6C000122700118FA300280003282B00058023E8 +:10A6D0000270982400608021006090210A00126FAF +:10A6E0000010882B962900128F8400A00000902172 +:10A6F0003125FFFFA7A900180E000FC22411000189 +:10A700000A00131D3C1E80003C0B80003C12800898 +:10A710008D640100924900088F92FF340E000F995A +:10A720003125007F8F9900388FA700288FA4003033 +:10A73000A3270000965F005C33F0FFFF0E000FF4CC +:10A740008F91003800026B80020D80253C0842008A +:10A750008F8D00A402085025AE2A00048DA5003874 +:10A760008F8A003800007821000F1100AD450018D5 +:10A770008DB800343C047FFF3488FFFFAD58001CC7 +:10A7800091A6003E8D4C001C8D4900180006190052 +:10A79000000677020183C821004E58250323882B29 +:10A7A000012B382100F1F821AD59001CAD5F0018D4 +:10A7B000AD40000CAD40001091B0003E8FA40030C1 +:10A7C00024090005A550001495A500042419C00013 +:10A7D00000884024A545001691B8003EA5580020E9 +:10A7E00095AF0004A54F0022AD40002491AE003F7C +:10A7F000A54E000291A6003E91AC003D01861023BB +:10A80000244B0001A14B00018F9100388FA3003031 +:10A810003C028008344B0100AE230008A22900301E +:10A820008F8C00388F8700A4959F003294F000121F +:10A830002407FFBF033FC02432053FFF03057825EF +:10A84000A58F0032918E00322418FFDF31CD003FFA +:10A8500035A60040A18600328F910038240DFFFFFD +:10A86000240CFF80AE2000348D6A00D0AE2A003860 +:10A870009223003C3069007FA229003C8F90003871 +:10A880003C0380009219003C0327F824A21F003CDF +:10A890008F8E003891C5003C00B87824A1CF003CD1 +:10A8A0008F8A00383C0E8008AD4D00408FA6002CEA +:10A8B000AD46004491420048004C5825A14B004849 +:10A8C0008F9000388F9900A48E09004801238824B6 +:10A8D00002283825AE070048933F003EA21F004CD7 +:10A8E0008F9800A48F8F003897050004A5E5004ECF +:10A8F0000E0003818DC500609246007C8FAC003055 +:10A9000000026940000291000040282130CB000283 +:10A9100001B21021156000AA018230213C0E80088E +:10A9200035C20080904C007C31830004106000032D +:10A930008FB900300005788000CF3021241F00043B +:10A940008F910038332D000303ED8023320800037C +:10A9500000C85021AE2A00343C188000A7C500383A +:10A960003C0680088F04010090DE00080E000FDE18 +:10A9700033C5007F0E001013000000000A00140D04 +:10A980008FA300288F9800348CC90038241F00033F +:10A99000A7000008AF0900008CC50034A300000A1E +:10A9A0008F9900A4AF0500043C080080932D003F60 +:10A9B000A31F000C8F0A000C3C02FF9FA30D000B8D +:10A9C0000148F0253451FFFF3C12FFEF8F9900A49E +:10A9D00003D170243646FFFF01C61824AF03000CD4 +:10A9E0008F2C0014972900128F8400A0AF0C001048 +:10A9F0008F2F0014AF000018AF000020AF0F00141D +:10AA0000AF0000248F270018312F3FFF000F59801F +:10AA1000AF0700288F2500080164F821312D0001BF +:10AA2000AF0500308F31000C8F920038001F51C2EB +:10AA3000000D438001481021241E00023C068008BE +:10AA4000A702001CA7000034AF11002CA25E00007A +:10AA500034D20080964E005C8F9900383C0342004F +:10AA600031CCFFFF01833825AF2700048F8B00A472 +:10AA7000240500012402C0008D640038240700343E +:10AA8000AF2400188D690034AF29001CAF20000CE2 +:10AA9000AF200010A7200014A7200016A720002038 +:10AAA000A7200022AF200024A7300002A325000128 +:10AAB0008F8800388F9F00A4AD10000893ED000030 +:10AAC000A10D00308F8A00A48F98003891510001A9 +:10AAD000A31100318F8B0038957E003203C27024A1 +:10AAE00001CF6025A56C0032916300323064003FD5 +:10AAF000A16400329249007C3125000214A00002BA +:10AB00008F840038240700303C198008AC8700345B +:10AB1000373201008E5F00D0240AFFBF020090216F +:10AB2000AC9F0038908D003C31A8007FA088003C8D +:10AB30008F9E003893C2003C004A8824A3D1003C79 +:10AB40008F8300380010882B9066003C34CE0020A4 +:10AB5000A06E003C8F8400A48F9800388C8C00205D +:10AB6000AF0C00408C8F0024AF0F00448C8700286E +:10AB7000AF0700488C8B002CAF0B004C0E0010135D +:10AB80003C1E80000A0012700000000094C80052B1 +:10AB90003C0A08008D4A002401488821A4D10052B3 +:10ABA0000A0012198FB40010A08700018F840038AA +:10ABB000240B0001AC8B00080A0013BE3C12800875 +:10ABC000000520800A0014A200C4302127BDFFE048 +:10ABD0003C0D8008AFB20018AFB00010AFBF001C32 +:10ABE000AFB1001435B200808E4C001835A80100BA +:10ABF000964B000695A70050910900FC000C5602E8 +:10AC0000016728233143007F312600FF240200031F +:10AC1000AF8300A8AF8400A010C2001B30B0FFFFBC +:10AC2000910600FC2412000530C200FF10520033D0 +:10AC300000000000160000098FBF001C8FB2001832 +:10AC40008FB100148FB00010240D0C003C0C80005C +:10AC500027BD002003E00008AD8D00240E0011FB8D +:10AC6000020020218FBF001C8FB200188FB100148A +:10AC70008FB00010240D0C003C0C800027BD00207C +:10AC800003E00008AD8D0024965800789651007AB4 +:10AC9000924E007D0238782631E8FFFF31C400C0B3 +:10ACA000148000092D11000116000037000000007B +:10ACB0005620FFE28FBF001C0E0010D100000000E4 +:10ACC0000A00156A8FBF001C1620FFDA0000000082 +:10ACD0000E0010D1000000001440FFD88FBF001CF0 +:10ACE0001600002200000000925F007D33E2003F6A +:10ACF000A242007D0A00156A8FBF001C950900EA78 +:10AD00008F86008000802821240400050E0007257E +:10AD10003130FFFF978300923C0480002465FFFFE1 +:10AD2000A78500928C8A01B80540FFFE0000000054 +:10AD3000AC8001808FBF001CAC9001848FB20018E2 +:10AD40008FB100148FB000103C0760133C0B100053 +:10AD5000240D0C003C0C800027BD0020AC8701882E +:10AD6000AC8B01B803E00008AD8D00240E0011FB90 +:10AD7000020020215040FFB18FBF001C925F007D78 +:10AD80000A00159733E2003F0E0011FB020020215C +:10AD90001440FFAA8FBF001C122000070000000013 +:10ADA0009259007D3330003F36020040A242007DC0 +:10ADB0000A00156A8FBF001C0E0010D100000000B1 +:10ADC0005040FF9E8FBF001C9259007D3330003FE2 +:10ADD0000A0015C636020040000000000000001BFB +:10ADE0000000000F0000000A00000008000000063C +:10ADF0000000000500000005000000040000000441 +:10AE00000000000300000003000000030000000336 +:10AE10000000000300000002000000020000000229 +:10AE2000000000020000000200000002000000021A +:10AE3000000000020000000200000002000000020A +:10AE400000000002000000020000000200000002FA +:10AE50000000000100000001000000018008010066 +:10AE6000800800808008000000000C000000308096 +:10AE7000080011D00800127C08001294080012A8E3 +:10AE8000080012BC080011D0080011D0080012F010 +:10AE90000800132C080013400800138808001A8CBF +:10AEA00008001A8C08001AC408001AC408001AD82E +:10AEB00008001AA808001D0008001CCC08001D5836 +:10AEC00008001D5808001DE008001D108008024001 +:10AED000080027340800256C0800275C080027F4C8 +:10AEE0000800293C0800298808002AAC080029B479 +:10AEF00008002A38080025DC08002EDC08002EA4F3 +:10AF000008002588080025880800258808002B20CF +:10AF100008002B20080025880800258808002DD06F +:10AF2000080025880800258808002588080025884D +:10AF300008002E0C080025880800258808002588B0 +:10AF4000080025880800258808002588080025882D +:10AF5000080025880800258808002588080025881D +:10AF6000080025880800258808002588080029A8E9 +:10AF7000080025880800258808002E680800258814 +:10AF800008002588080025880800258808002588ED +:10AF900008002588080025880800258808002588DD +:10AFA00008002588080025880800258808002588CD +:10AFB00008002588080025880800258808002588BD +:10AFC00008002CF4080025880800258808002C6853 +:10AFD00008002BC408003CE408003CB808003C848E +:10AFE00008003C5808003C3808003BEC8008010091 +:10AFF00080080080800800008008008008004C6401 +:10B0000008004C9C08004BE408004C6408004C64A9 +:10B01000080049B808004C64080050500A000C842D +:10B0200000000000000000000000000D7278703683 +:10B030002E322E31620000000602010300000000E3 +:10B0400000000001000000000000000000000000FF +:10B0500000000000000000000000000000000000F0 +:10B0600000000000000000000000000000000000E0 +:10B0700000000000000000000000000000000000D0 +:10B0800000000000000000000000000000000000C0 +:10B0900000000000000000000000000000000000B0 +:10B0A00000000000000000000000000000000000A0 +:10B0B0000000000000000000000000000000000090 +:10B0C0000000000000000000000000000000000080 +:10B0D0000000000000000000000000000000000070 +:10B0E0000000000000000000000000000000000060 +:10B0F0000000000000000000000000000000000050 +:10B10000000000000000000000000000000000003F +:10B11000000000000000000000000000000000002F +:10B12000000000000000000000000000000000001F +:10B13000000000000000000000000000000000000F +:10B1400000000000000000000000000000000000FF +:10B1500000000000000000000000000000000000EF +:10B1600000000000000000000000000000000000DF +:10B1700000000000000000000000000000000000CF +:10B1800000000000000000000000000000000000BF +:10B1900000000000000000000000000000000000AF +:10B1A000000000000000000000000000000000009F +:10B1B000000000000000000000000000000000008F +:10B1C000000000000000000000000000000000007F +:10B1D000000000000000000000000000000000006F +:10B1E000000000000000000000000000000000005F +:10B1F000000000000000000000000000000000004F +:10B20000000000000000000000000000000000003E +:10B21000000000000000000000000000000000002E +:10B22000000000000000000000000000000000001E +:10B23000000000000000000000000000000000000E +:10B2400000000000000000000000000000000000FE +:10B2500000000000000000000000000000000000EE +:10B2600000000000000000000000000000000000DE +:10B2700000000000000000000000000000000000CE +:10B2800000000000000000000000000000000000BE +:10B2900000000000000000000000000000000000AE +:10B2A000000000000000000000000000000000009E +:10B2B000000000000000000000000000000000008E +:10B2C000000000000000000000000000000000007E +:10B2D000000000000000000000000000000000006E +:10B2E000000000000000000000000000000000005E +:10B2F000000000000000000000000000000000004E +:10B30000000000000000000000000000000000003D +:10B31000000000000000000000000000000000002D +:10B32000000000000000000000000000000000001D +:10B33000000000000000000000000000000000000D +:10B3400000000000000000000000000000000000FD +:10B3500000000000000000000000000000000000ED +:10B3600000000000000000000000000000000000DD +:10B3700000000000000000000000000000000000CD +:10B3800000000000000000000000000000000000BD +:10B3900000000000000000000000000000000000AD +:10B3A000000000000000000000000000000000009D +:10B3B000000000000000000000000000000000008D +:10B3C000000000000000000000000000000000007D +:10B3D000000000000000000000000000000000006D +:10B3E000000000000000000000000000000000005D +:10B3F000000000000000000000000000000000004D +:10B40000000000000000000000000000000000003C +:10B41000000000000000000000000000000000002C +:10B42000000000000000000000000000000000001C +:10B43000000000000000000000000000000000000C +:10B4400000000000000000000000000000000000FC +:10B4500000000000000000000000000000000000EC +:10B4600000000000000000000000000000000000DC +:10B4700000000000000000000000000000000000CC +:10B4800000000000000000000000000000000000BC +:10B4900000000000000000000000000000000000AC +:10B4A000000000000000000000000000000000009C +:10B4B000000000000000000000000000000000008C +:10B4C000000000000000000000000000000000007C +:10B4D000000000000000000000000000000000006C +:10B4E000000000000000000000000000000000005C +:10B4F000000000000000000000000000000000004C +:10B50000000000000000000000000000000000003B +:10B51000000000000000000000000000000000002B +:10B52000000000000000000000000000000000001B +:10B53000000000000000000000000000000000000B +:10B5400000000000000000000000000000000000FB +:10B5500000000000000000000000000000000000EB +:10B5600000000000000000000000000000000000DB +:10B5700000000000000000000000000000000000CB +:10B5800000000000000000000000000000000000BB +:10B5900000000000000000000000000000000000AB +:10B5A000000000000000000000000000000000009B +:10B5B000000000000000000000000000000000008B +:10B5C000000000000000000000000000000000007B +:10B5D000000000000000000000000000000000006B +:10B5E000000000000000000000000000000000005B +:10B5F000000000000000000000000000000000004B +:10B60000000000000000000000000000000000003A +:10B61000000000000000000000000000000000002A +:10B62000000000000000000000000000000000001A +:10B63000000000000000000000000000000000000A +:10B6400000000000000000000000000000000000FA +:10B6500000000000000000000000000000000000EA +:10B6600000000000000000000000000000000000DA +:10B6700000000000000000000000000000000000CA +:10B6800000000000000000000000000000000000BA +:10B6900000000000000000000000000000000000AA +:10B6A000000000000000000000000000000000009A +:10B6B000000000000000000000000000000000008A +:10B6C000000000000000000000000000000000007A +:10B6D000000000000000000000000000000000006A +:10B6E000000000000000000000000000000000005A +:10B6F000000000000000000000000000000000004A +:10B700000000000000000000000000000000000039 +:10B710000000000000000000000000000000000029 +:10B720000000000000000000000000000000000019 +:10B730000000000000000000000000000000000009 +:10B7400000000000000000000000000000000000F9 +:10B7500000000000000000000000000000000000E9 +:10B7600000000000000000000000000000000000D9 +:10B7700000000000000000000000000000000000C9 +:10B7800000000000000000000000000000000000B9 +:10B7900000000000000000000000000000000000A9 +:10B7A0000000000000000000000000000000000099 +:10B7B0000000000000000000000000000000000089 +:10B7C0000000000000000000000000000000000079 +:10B7D0000000000000000000000000000000000069 +:10B7E0000000000000000000000000000000000059 +:10B7F0000000000000000000000000000000000049 +:10B800000000000000000000000000000000000038 +:10B810000000000000000000000000000000000028 +:10B820000000000000000000000000000000000018 +:10B830000000000000000000000000000000000008 +:10B8400000000000000000000000000000000000F8 +:10B8500000000000000000000000000000000000E8 +:10B8600000000000000000000000000000000000D8 +:10B8700000000000000000000000000000000000C8 +:10B8800000000000000000000000000000000000B8 +:10B8900000000000000000000000000000000000A8 +:10B8A0000000000000000000000000000000000098 +:10B8B0000000000000000000000000000000000088 +:10B8C0000000000000000000000000000000000078 +:10B8D0000000000000000000000000000000000068 +:10B8E0000000000000000000000000000000000058 +:10B8F0000000000000000000000000000000000048 +:10B900000000000000000000000000000000000037 +:10B910000000000000000000000000000000000027 +:10B920000000000000000000000000000000000017 +:10B930000000000000000000000000000000000007 +:10B9400000000000000000000000000000000000F7 +:10B9500000000000000000000000000000000000E7 +:10B9600000000000000000000000000000000000D7 +:10B9700000000000000000000000000000000000C7 +:10B9800000000000000000000000000000000000B7 +:10B9900000000000000000000000000000000000A7 +:10B9A0000000000000000000000000000000000097 +:10B9B0000000000000000000000000000000000087 +:10B9C0000000000000000000000000000000000077 +:10B9D0000000000000000000000000000000000067 +:10B9E0000000000000000000000000000000000057 +:10B9F0000000000000000000000000000000000047 +:10BA00000000000000000000000000000000000036 +:10BA10000000000000000000000000000000000026 +:10BA20000000000000000000000000000000000016 +:10BA30000000000000000000000000000000000006 +:10BA400000000000000000000000000000000000F6 +:10BA500000000000000000000000000000000000E6 +:10BA600000000000000000000000000000000000D6 +:10BA700000000000000000000000000000000000C6 +:10BA800000000000000000000000000000000000B6 +:10BA900000000000000000000000000000000000A6 +:10BAA0000000000000000000000000000000000096 +:10BAB0000000000000000000000000000000000086 +:10BAC0000000000000000000000000000000000076 +:10BAD0000000000000000000000000000000000066 +:10BAE0000000000000000000000000000000000056 +:10BAF0000000000000000000000000000000000046 +:10BB00000000000000000000000000000000000035 +:10BB10000000000000000000000000000000000025 +:10BB20000000000000000000000000000000000015 +:10BB30000000000000000000000000000000000005 +:10BB400000000000000000000000000000000000F5 +:10BB500000000000000000000000000000000000E5 +:10BB600000000000000000000000000000000000D5 +:10BB700000000000000000000000000000000000C5 +:10BB800000000000000000000000000000000000B5 +:10BB900000000000000000000000000000000000A5 +:10BBA0000000000000000000000000000000000095 +:10BBB0000000000000000000000000000000000085 +:10BBC0000000000000000000000000000000000075 +:10BBD0000000000000000000000000000000000065 +:10BBE0000000000000000000000000000000000055 +:10BBF0000000000000000000000000000000000045 +:10BC00000000000000000000000000000000000034 +:10BC10000000000000000000000000000000000024 +:10BC20000000000000000000000000000000000014 +:10BC30000000000000000000000000000000000004 +:10BC400000000000000000000000000000000000F4 +:10BC500000000000000000000000000000000000E4 +:10BC600000000000000000000000000000000000D4 +:10BC700000000000000000000000000000000000C4 +:10BC800000000000000000000000000000000000B4 +:10BC900000000000000000000000000000000000A4 +:10BCA0000000000000000000000000000000000094 +:10BCB0000000000000000000000000000000000084 +:10BCC0000000000000000000000000000000000074 +:10BCD0000000000000000000000000000000000064 +:10BCE0000000000000000000000000000000000054 +:10BCF0000000000000000000000000000000000044 +:10BD00000000000000000000000000000000000033 +:10BD10000000000000000000000000000000000023 +:10BD20000000000000000000000000000000000013 +:10BD30000000000000000000000000000000000003 +:10BD400000000000000000000000000000000000F3 +:10BD500000000000000000000000000000000000E3 +:10BD600000000000000000000000000000000000D3 +:10BD700000000000000000000000000000000000C3 +:10BD800000000000000000000000000000000000B3 +:10BD900000000000000000000000000000000000A3 +:10BDA0000000000000000000000000000000000093 +:10BDB0000000000000000000000000000000000083 +:10BDC0000000000000000000000000000000000073 +:10BDD0000000000000000000000000000000000063 +:10BDE0000000000000000000000000000000000053 +:10BDF0000000000000000000000000000000000043 +:10BE00000000000000000000000000000000000032 +:10BE10000000000000000000000000000000000022 +:10BE20000000000000000000000000000000000012 +:10BE30000000000000000000000000000000000002 +:10BE400000000000000000000000000000000000F2 +:10BE500000000000000000000000000000000000E2 +:10BE600000000000000000000000000000000000D2 +:10BE700000000000000000000000000000000000C2 +:10BE800000000000000000000000000000000000B2 +:10BE900000000000000000000000000000000000A2 +:10BEA0000000000000000000000000000000000092 +:10BEB0000000000000000000000000000000000082 +:10BEC0000000000000000000000000000000000072 +:10BED0000000000000000000000000000000000062 +:10BEE0000000000000000000000000000000000052 +:10BEF0000000000000000000000000000000000042 +:10BF00000000000000000000000000000000000031 +:10BF10000000000000000000000000000000000021 +:10BF20000000000000000000000000000000000011 +:10BF30000000000000000000000000000000000001 +:10BF400000000000000000000000000000000000F1 +:10BF500000000000000000000000000000000000E1 +:10BF600000000000000000000000000000000000D1 +:10BF700000000000000000000000000000000000C1 +:10BF800000000000000000000000000000000000B1 +:10BF900000000000000000000000000000000000A1 +:10BFA0000000000000000000000000000000000091 +:10BFB0000000000000000000000000000000000081 +:10BFC0000000000000000000000000000000000071 +:10BFD0000000000000000000000000000000000061 +:10BFE0000000000000000000000000000000000051 +:10BFF0000000000000000000000000000000000041 +:10C000000000000000000000000000000000000030 +:10C010000000000000000000000000000000000020 +:10C020000000000000000000000000000000000010 +:10C030000000000000000000000000000000000000 +:10C0400000000000000000000000000000000000F0 +:10C0500000000000000000000000000000000000E0 +:10C0600000000000000000000000000000000000D0 +:10C0700000000000000000000000000000000000C0 +:10C0800000000000000000000000000000000000B0 +:10C0900000000000000000000000000000000000A0 +:10C0A0000000000000000000000000000000000090 +:10C0B0000000000000000000000000000000000080 +:10C0C0000000000000000000000000000000000070 +:10C0D0000000000000000000000000000000000060 +:10C0E0000000000000000000000000000000000050 +:10C0F0000000000000000000000000000000000040 +:10C10000000000000000000000000000000000002F +:10C11000000000000000000000000000000000001F +:10C12000000000000000000000000000000000000F +:10C1300000000000000000000000000000000000FF +:10C1400000000000000000000000000000000000EF +:10C1500000000000000000000000000000000000DF +:10C1600000000000000000000000000000000000CF +:10C1700000000000000000000000000000000000BF +:10C1800000000000000000000000000000000000AF +:10C19000000000000000000000000000000000009F +:10C1A000000000000000000000000000000000008F +:10C1B000000000000000000000000000000000007F +:10C1C000000000000000000000000000000000006F +:10C1D000000000000000000000000000000000005F +:10C1E000000000000000000000000000000000004F +:10C1F000000000000000000000000000000000003F +:10C20000000000000000000000000000000000002E +:10C21000000000000000000000000000000000001E +:10C22000000000000000000000000000000000000E +:10C2300000000000000000000000000000000000FE +:10C2400000000000000000000000000000000000EE +:10C2500000000000000000000000000000000000DE +:10C2600000000000000000000000000000000000CE +:10C2700000000000000000000000000000000000BE +:10C2800000000000000000000000000000000000AE +:10C29000000000000000000000000000000000009E +:10C2A000000000000000000000000000000000008E +:10C2B000000000000000000000000000000000007E +:10C2C000000000000000000000000000000000006E +:10C2D000000000000000000000000000000000005E +:10C2E000000000000000000000000000000000004E +:10C2F000000000000000000000000000000000003E +:10C30000000000000000000000000000000000002D +:10C31000000000000000000000000000000000001D +:10C32000000000000000000000000000000000000D +:10C3300000000000000000000000000000000000FD +:10C3400000000000000000000000000000000000ED +:10C3500000000000000000000000000000000000DD +:10C3600000000000000000000000000000000000CD +:10C3700000000000000000000000000000000000BD +:10C3800000000000000000000000000000000000AD +:10C39000000000000000000000000000000000009D +:10C3A000000000000000000000000000000000008D +:10C3B000000000000000000000000000000000007D +:10C3C000000000000000000000000000000000006D +:10C3D000000000000000000000000000000000005D +:10C3E000000000000000000000000000000000004D +:10C3F000000000000000000000000000000000003D +:10C40000000000000000000000000000000000002C +:10C41000000000000000000000000000000000001C +:10C42000000000000000000000000000000000000C +:10C4300000000000000000000000000000000000FC +:10C4400000000000000000000000000000000000EC +:10C4500000000000000000000000000000000000DC +:10C4600000000000000000000000000000000000CC +:10C4700000000000000000000000000000000000BC +:10C4800000000000000000000000000000000000AC +:10C49000000000000000000000000000000000009C +:10C4A000000000000000000000000000000000008C +:10C4B000000000000000000000000000000000007C +:10C4C000000000000000000000000000000000006C +:10C4D000000000000000000000000000000000005C +:10C4E000000000000000000000000000000000004C +:10C4F000000000000000000000000000000000003C +:10C50000000000000000000000000000000000002B +:10C51000000000000000000000000000000000001B +:10C52000000000000000000000000000000000000B +:10C5300000000000000000000000000000000000FB +:10C5400000000000000000000000000000000000EB +:10C5500000000000000000000000000000000000DB +:10C5600000000000000000000000000000000000CB +:10C5700000000000000000000000000000000000BB +:10C5800000000000000000000000000000000000AB +:10C59000000000000000000000000000000000009B +:10C5A000000000000000000000000000000000008B +:10C5B000000000000000000000000000000000007B +:10C5C000000000000000000000000000000000006B +:10C5D000000000000000000000000000000000005B +:10C5E000000000000000000000000000000000004B +:10C5F000000000000000000000000000000000003B +:10C60000000000000000000000000000000000002A +:10C61000000000000000000000000000000000001A +:10C62000000000000000000000000000000000000A +:10C6300000000000000000000000000000000000FA +:10C6400000000000000000000000000000000000EA +:10C6500000000000000000000000000000000000DA +:10C6600000000000000000000000000000000000CA +:10C6700000000000000000000000000000000000BA +:10C6800000000000000000000000000000000000AA +:10C69000000000000000000000000000000000009A +:10C6A000000000000000000000000000000000008A +:10C6B000000000000000000000000000000000007A +:10C6C000000000000000000000000000000000006A +:10C6D000000000000000000000000000000000005A +:10C6E000000000000000000000000000000000004A +:10C6F000000000000000000000000000000000003A +:10C700000000000000000000000000000000000029 +:10C710000000000000000000000000000000000019 +:10C720000000000000000000000000000000000009 +:10C7300000000000000000000000000000000000F9 +:10C7400000000000000000000000000000000000E9 +:10C7500000000000000000000000000000000000D9 +:10C7600000000000000000000000000000000000C9 +:10C7700000000000000000000000000000000000B9 +:10C7800000000000000000000000000000000000A9 +:10C790000000000000000000000000000000000099 +:10C7A0000000000000000000000000000000000089 +:10C7B0000000000000000000000000000000000079 +:10C7C0000000000000000000000000000000000069 +:10C7D0000000000000000000000000000000000059 +:10C7E0000000000000000000000000000000000049 +:10C7F0000000000000000000000000000000000039 +:10C800000000000000000000000000000000000028 +:10C810000000000000000000000000000000000018 +:10C820000000000000000000000000000000000008 +:10C8300000000000000000000000000000000000F8 +:10C8400000000000000000000000000000000000E8 +:10C8500000000000000000000000000000000000D8 +:10C8600000000000000000000000000000000000C8 +:10C8700000000000000000000000000000000000B8 +:10C8800000000000000000000000000000000000A8 +:10C890000000000000000000000000000000000098 +:10C8A0000000000000000000000000000000000088 +:10C8B0000000000000000000000000000000000078 +:10C8C0000000000000000000000000000000000068 +:10C8D0000000000000000000000000000000000058 +:10C8E0000000000000000000000000000000000048 +:10C8F0000000000000000000000000000000000038 +:10C900000000000000000000000000000000000027 +:10C910000000000000000000000000000000000017 +:10C920000000000000000000000000000000000007 +:10C9300000000000000000000000000000000000F7 +:10C9400000000000000000000000000000000000E7 +:10C9500000000000000000000000000000000000D7 +:10C9600000000000000000000000000000000000C7 +:10C9700000000000000000000000000000000000B7 +:10C9800000000000000000000000000000000000A7 +:10C990000000000000000000000000000000000097 +:10C9A0000000000000000000000000000000000087 +:10C9B0000000000000000000000000000000000077 +:10C9C0000000000000000000000000000000000067 +:10C9D0000000000000000000000000000000000057 +:10C9E0000000000000000000000000000000000047 +:10C9F0000000000000000000000000000000000037 +:10CA00000000000000000000000000000000000026 +:10CA10000000000000000000000000000000000016 +:10CA20000000000000000000000000000000000006 +:10CA300000000000000000000000000000000000F6 +:10CA400000000000000000000000000000000000E6 +:10CA500000000000000000000000000000000000D6 +:10CA600000000000000000000000000000000000C6 +:10CA700000000000000000000000000000000000B6 +:10CA800000000000000000000000000000000000A6 +:10CA90000000000000000000000000000000000096 +:10CAA0000000000000000000000000000000000086 +:10CAB0000000000000000000000000000000000076 +:10CAC0000000000000000000000000000000000066 +:10CAD0000000000000000000000000000000000056 +:10CAE0000000000000000000000000000000000046 +:10CAF0000000000000000000000000000000000036 +:10CB00000000000000000000000000000000000025 +:10CB10000000000000000000000000000000000015 +:10CB20000000000000000000000000000000000005 +:10CB300000000000000000000000000000000000F5 +:10CB400000000000000000000000000000000000E5 +:10CB500000000000000000000000000000000000D5 +:10CB600000000000000000000000000000000000C5 +:10CB700000000000000000000000000000000000B5 +:10CB800000000000000000000000000000000000A5 +:10CB90000000000000000000000000000000000095 +:10CBA0000000000000000000000000000000000085 +:10CBB0000000000000000000000000000000000075 +:10CBC0000000000000000000000000000000000065 +:10CBD0000000000000000000000000000000000055 +:10CBE0000000000000000000000000000000000045 +:10CBF0000000000000000000000000000000000035 +:10CC00000000000000000000000000000000000024 +:10CC10000000000000000000000000000000000014 +:10CC20000000000000000000000000000000000004 +:10CC300000000000000000000000000000000000F4 +:10CC400000000000000000000000000000000000E4 +:10CC500000000000000000000000000000000000D4 +:10CC600000000000000000000000000000000000C4 +:10CC700000000000000000000000000000000000B4 +:10CC800000000000000000000000000000000000A4 +:10CC90000000000000000000000000000000000094 +:10CCA0000000000000000000000000000000000084 +:10CCB0000000000000000000000000000000000074 +:10CCC0000000000000000000000000000000000064 +:10CCD0000000000000000000000000000000000054 +:10CCE0000000000000000000000000000000000044 +:10CCF0000000000000000000000000000000000034 +:10CD00000000000000000000000000000000000023 +:10CD10000000000000000000000000000000000013 +:10CD20000000000000000000000000000000000003 +:10CD300000000000000000000000000000000000F3 +:10CD400000000000000000000000000000000000E3 +:10CD500000000000000000000000000000000000D3 +:10CD600000000000000000000000000000000000C3 +:10CD700000000000000000000000000000000000B3 +:10CD800000000000000000000000000000000000A3 +:10CD90000000000000000000000000000000000093 +:10CDA0000000000000000000000000000000000083 +:10CDB0000000000000000000000000000000000073 +:10CDC0000000000000000000000000000000000063 +:10CDD0000000000000000000000000000000000053 +:10CDE0000000000000000000000000000000000043 +:10CDF0000000000000000000000000000000000033 +:10CE00000000000000000000000000000000000022 +:10CE10000000000000000000000000000000000012 +:10CE20000000000000000000000000000000000002 +:10CE300000000000000000000000000000000000F2 +:10CE400000000000000000000000000000000000E2 +:10CE500000000000000000000000000000000000D2 +:10CE600000000000000000000000000000000000C2 +:10CE700000000000000000000000000000000000B2 +:10CE800000000000000000000000000000000000A2 +:10CE90000000000000000000000000000000000092 +:10CEA0000000000000000000000000000000000082 +:10CEB0000000000000000000000000000000000072 +:10CEC0000000000000000000000000000000000062 +:10CED0000000000000000000000000000000000052 +:10CEE0000000000000000000000000000000000042 +:10CEF0000000000000000000000000000000000032 +:10CF00000000000000000000000000000000000021 +:10CF10000000000000000000000000000000000011 +:10CF20000000000000000000000000000000000001 +:10CF300000000000000000000000000000000000F1 +:10CF400000000000000000000000000000000000E1 +:10CF500000000000000000000000000000000000D1 +:10CF600000000000000000000000000000000000C1 +:10CF700000000000000000000000000000000000B1 +:10CF800000000000000000000000000000000000A1 +:10CF90000000000000000000000000000000000091 +:10CFA0000000000000000000000000000000000081 +:10CFB0000000000000000000000000000000000071 +:10CFC0000000000000000000000000000000000061 +:10CFD0000000000000000000000000000000000051 +:10CFE0000000000000000000000000000000000041 +:10CFF0000000000000000000000000000000000031 +:10D000000000000000000000000000000000000020 +:10D010000000000000000000000000000000000010 +:10D020000000000000000000000000000000000000 +:10D0300000000000000000000000000000000000F0 +:10D0400000000000000000000000000000000000E0 +:10D0500000000000000000000000000000000000D0 +:10D0600000000000000000000000000000000000C0 +:10D0700000000000000000000000000000000000B0 +:10D0800000000000000000000000000000000000A0 +:10D090000000000000000000000000000000000090 +:10D0A0000000000000000000000000000000000080 +:10D0B0000000000000000000000000000000000070 +:10D0C0000000000000000000000000000000000060 +:10D0D0000000000000000000000000000000000050 +:10D0E0000000000000000000000000000000000040 +:10D0F0000000000000000000000000000000000030 +:10D10000000000000000000000000000000000001F +:10D11000000000000000000000000000000000000F +:10D1200000000000000000000000000000000000FF +:10D1300000000000000000000000000000000000EF +:10D1400000000000000000000000000000000000DF +:10D1500000000000000000000000000000000000CF +:10D1600000000000000000000000000000000000BF +:10D1700000000000000000000000000000000000AF +:10D18000000000000000000000000000000000009F +:10D19000000000000000000000000000000000008F +:10D1A000000000000000000000000000000000007F +:10D1B000000000000000000000000000000000006F +:10D1C000000000000000000000000000000000005F +:10D1D000000000000000000000000000000000004F +:10D1E000000000000000000000000000000000003F +:10D1F000000000000000000000000000000000002F +:10D20000000000000000000000000000000000001E +:10D21000000000000000000000000000000000000E +:10D2200000000000000000000000000000000000FE +:10D2300000000000000000000000000000000000EE +:10D2400000000000000000000000000000000000DE +:10D2500000000000000000000000000000000000CE +:10D2600000000000000000000000000000000000BE +:10D2700000000000000000000000000000000000AE +:10D28000000000000000000000000000000000009E +:10D29000000000000000000000000000000000008E +:10D2A000000000000000000000000000000000007E +:10D2B000000000000000000000000000000000006E +:10D2C000000000000000000000000000000000005E +:10D2D000000000000000000000000000000000004E +:10D2E000000000000000000000000000000000003E +:10D2F000000000000000000000000000000000002E +:10D30000000000000000000000000000000000001D +:10D31000000000000000000000000000000000000D +:10D3200000000000000000000000000000000000FD +:10D3300000000000000000000000000000000000ED +:10D3400000000000000000000000000000000000DD +:10D3500000000000000000000000000000000000CD +:10D3600000000000000000000000000000000000BD +:10D3700000000000000000000000000000000000AD +:10D38000000000000000000000000000000000009D +:10D39000000000000000000000000000000000008D +:10D3A000000000000000000000000000000000007D +:10D3B000000000000000000000000000000000006D +:10D3C000000000000000000000000000000000005D +:10D3D000000000000000000000000000000000004D +:10D3E000000000000000000000000000000000003D +:10D3F000000000000000000000000000000000002D +:10D40000000000000000000000000000000000001C +:10D41000000000000000000000000000000000000C +:10D4200000000000000000000000000000000000FC +:10D4300000000000000000000000000000000000EC +:10D4400000000000000000000000000000000000DC +:10D4500000000000000000000000000000000000CC +:10D4600000000000000000000000000000000000BC +:10D4700000000000000000000000000000000000AC +:10D48000000000000000000000000000000000009C +:10D49000000000000000000000000000000000008C +:10D4A000000000000000000000000000000000007C +:10D4B000000000000000000000000000000000006C +:10D4C000000000000000000000000000000000005C +:10D4D000000000000000000000000000000000004C +:10D4E000000000000000000000000000000000003C +:10D4F000000000000000000000000000000000002C +:10D50000000000000000000000000000000000001B +:10D51000000000000000000000000000000000000B +:10D5200000000000000000000000000000000000FB +:10D5300000000000000000000000000000000000EB +:10D5400000000000000000000000000000000000DB +:10D5500000000000000000000000000000000000CB +:10D5600000000000000000000000000000000000BB +:10D5700000000000000000000000000000000000AB +:10D58000000000000000000000000000000000009B +:10D59000000000000000000000000000000000008B +:10D5A000000000000000000000000000000000007B +:10D5B000000000000000000000000000000000006B +:10D5C000000000000000000000000000000000005B +:10D5D000000000000000000000000000000000004B +:10D5E000000000000000000000000000000000003B +:10D5F000000000000000000000000000000000002B +:10D60000000000000000000000000000000000001A +:10D61000000000000000000000000000000000000A +:10D6200000000000000000000000000000000000FA +:10D6300000000000000000000000000000000000EA +:10D6400000000000000000000000000000000000DA +:10D6500000000000000000000000000000000000CA +:10D6600000000000000000000000000000000000BA +:10D6700000000000000000000000000000000000AA +:10D68000000000000000000000000000000000009A +:10D69000000000000000000000000000000000008A +:10D6A000000000000000000000000000000000007A +:10D6B000000000000000000000000000000000006A +:10D6C000000000000000000000000000000000005A +:10D6D000000000000000000000000000000000004A +:10D6E000000000000000000000000000000000003A +:10D6F000000000000000000000000000000000002A +:10D700000000000000000000000000000000000019 +:10D710000000000000000000000000000000000009 +:10D7200000000000000000000000000000000000F9 +:10D7300000000000000000000000000000000000E9 +:10D7400000000000000000000000000000000000D9 +:10D7500000000000000000000000000000000000C9 +:10D7600000000000000000000000000000000000B9 +:10D7700000000000000000000000000000000000A9 +:10D780000000000000000000000000000000000099 +:10D790000000000000000000000000000000000089 +:10D7A0000000000000000000000000000000000079 +:10D7B0000000000000000000000000000000000069 +:10D7C0000000000000000000000000000000000059 +:10D7D0000000000000000000000000000000000049 +:10D7E0000000000000000000000000000000000039 +:10D7F0000000000000000000000000000000000029 +:10D800000000000000000000000000000000000018 +:10D810000000000000000000000000000000000008 +:10D8200000000000000000000000000000000000F8 +:10D8300000000000000000000000000000000000E8 +:10D8400000000000000000000000000000000000D8 +:10D8500000000000000000000000000000000000C8 +:10D8600000000000000000000000000000000000B8 +:10D8700000000000000000000000000000000000A8 +:10D880000000000000000000000000000000000098 +:10D890000000000000000000000000000000000088 +:10D8A0000000000000000000000000000000000078 +:10D8B0000000000000000000000000000000000068 +:10D8C0000000000000000000000000000000000058 +:10D8D0000000000000000000000000000000000048 +:10D8E0000000000000000000000000000000000038 +:10D8F0000000000000000000000000000000000028 +:10D900000000000000000000000000000000000017 +:10D910000000000000000000000000000000000007 +:10D9200000000000000000000000000000000000F7 +:10D9300000000000000000000000000000000000E7 +:10D9400000000000000000000000000000000000D7 +:10D9500000000000000000000000000000000000C7 +:10D9600000000000000000000000000000000000B7 +:10D9700000000000000000000000000000000000A7 +:10D980000000000000000000000000000000000097 +:10D990000000000000000000000000000000000087 +:10D9A0000000000000000000000000000000000077 +:10D9B0000000000000000000000000000000000067 +:10D9C0000000000000000000000000000000000057 +:10D9D0000000000000000000000000000000000047 +:10D9E0000000000000000000000000000000000037 +:10D9F0000000000000000000000000000000000027 +:10DA00000000000000000000000000000000000016 +:10DA10000000000000000000000000000000000006 +:10DA200000000000000000000000000000000000F6 +:10DA300000000000000000000000000000000000E6 +:10DA400000000000000000000000000000000000D6 +:10DA500000000000000000000000000000000000C6 +:10DA600000000000000000000000000000000000B6 +:10DA700000000000000000000000000000000000A6 +:10DA80000000000000000000000000000000000096 +:10DA90000000000000000000000000000000000086 +:10DAA0000000000000000000000000000000000076 +:10DAB0000000000000000000000000000000000066 +:10DAC0000000000000000000000000000000000056 +:10DAD0000000000000000000000000000000000046 +:10DAE0000000000000000000000000000000000036 +:10DAF0000000000000000000000000000000000026 +:10DB00000000000000000000000000000000000015 +:10DB10000000000000000000000000000000000005 +:10DB200000000000000000000000000000000000F5 +:10DB300000000000000000000000000000000000E5 +:10DB400000000000000000000000000000000000D5 +:10DB500000000000000000000000000000000000C5 +:10DB600000000000000000000000000000000000B5 +:10DB700000000000000000000000000000000000A5 +:10DB80000000000000000000000000000000000095 +:10DB90000000000000000000000000000000000085 +:10DBA0000000000000000000000000000000000075 +:10DBB0000000000000000000000000000000000065 +:10DBC0000000000000000000000000000000000055 +:10DBD0000000000000000000000000000000000045 +:10DBE0000000000000000000000000000000000035 +:10DBF0000000000000000000000000000000000025 +:10DC00000000000000000000000000000000000014 +:10DC10000000000000000000000000000000000004 +:10DC200000000000000000000000000000000000F4 +:10DC300000000000000000000000000000000000E4 +:10DC400000000000000000000000000000000000D4 +:10DC500000000000000000000000000000000000C4 +:10DC600000000000000000000000000000000000B4 +:10DC700000000000000000000000000000000000A4 +:10DC80000000000000000000000000000000000094 +:10DC90000000000000000000000000000000000084 +:10DCA0000000000000000000000000000000000074 +:10DCB0000000000000000000000000000000000064 +:10DCC0000000000000000000000000000000000054 +:10DCD0000000000000000000000000000000000044 +:10DCE0000000000000000000000000000000000034 +:10DCF0000000000000000000000000000000000024 +:10DD00000000000000000000000000000000000013 +:10DD10000000000000000000000000000000000003 +:10DD200000000000000000000000000000000000F3 +:10DD300000000000000000000000000000000000E3 +:10DD400000000000000000000000000000000000D3 +:10DD500000000000000000000000000000000000C3 +:10DD600000000000000000000000000000000000B3 +:10DD700000000000000000000000000000000000A3 +:10DD80000000000000000000000000000000000093 +:10DD90000000000000000000000000000000000083 +:10DDA0000000000000000000000000000000000073 +:10DDB0000000000000000000000000000000000063 +:10DDC0000000000000000000000000000000000053 +:10DDD0000000000000000000000000000000000043 +:10DDE0000000000000000000000000000000000033 +:10DDF0000000000000000000000000000000000023 +:10DE00000000000000000000000000000000000012 +:10DE10000000000000000000000000000000000002 +:10DE200000000000000000000000000000000000F2 +:10DE300000000000000000000000000000000000E2 +:10DE400000000000000000000000000000000000D2 +:10DE500000000000000000000000000000000000C2 +:10DE600000000000000000000000000000000000B2 +:10DE700000000000000000000000000000000000A2 +:10DE80000000000000000000000000000000000092 +:10DE90000000000000000000000000000000000082 +:10DEA0000000000000000000000000000000000072 +:10DEB0000000000000000000000000000000000062 +:10DEC0000000000000000000000000000000000052 +:10DED0000000000000000000000000000000000042 +:10DEE0000000000000000000000000000000000032 +:10DEF0000000000000000000000000000000000022 +:10DF00000000000000000000000000000000000011 +:10DF10000000000000000000000000000000000001 +:10DF200000000000000000000000000000000000F1 +:10DF300000000000000000000000000000000000E1 +:10DF400000000000000000000000000000000000D1 +:10DF500000000000000000000000000000000000C1 +:10DF600000000000000000000000000000000000B1 +:10DF700000000000000000000000000000000000A1 +:10DF80000000000000000000000000000000000091 +:10DF90000000000000000000000000000000000081 +:10DFA0000000000000000000000000000000000071 +:10DFB0000000000000000000000000000000000061 +:10DFC0000000000000000000000000000000000051 +:10DFD0000000000000000000000000000000000041 +:10DFE0000000000000000000000000000000000031 +:10DFF0000000000000000000000000000000000021 +:10E000000000000000000000000000000000000010 +:10E010000000000000000000000000000000000000 +:10E0200000000000000000000000000000000000F0 +:10E0300000000000000000000000000000000000E0 +:10E0400000000000000000000000000000000000D0 +:10E0500000000000000000000000000000000000C0 +:10E0600000000000000000000000000000000000B0 +:10E0700000000000000000000000000000000000A0 +:10E080000000000000000000000000000000000090 +:10E090000000000000000000000000000000000080 +:10E0A0000000000000000000000000000000000070 +:10E0B0000000000000000000000000000000000060 +:10E0C0000000000000000000000000000000000050 +:10E0D0000000000000000000000000000000000040 +:10E0E0000000000000000000000000000000000030 +:10E0F0000000000000000000000000000000000020 +:10E10000000000000000000000000000000000000F +:10E1100000000000000000000000000000000000FF +:10E1200000000000000000000000000000000000EF +:10E1300000000000000000000000000000000000DF +:10E1400000000000000000000000000000000000CF +:10E1500000000000000000000000000000000000BF +:10E1600000000000000000000000000000000000AF +:10E17000000000000000000000000000000000009F +:10E18000000000000000000000000000000000008F +:10E19000000000000000000000000000000000007F +:10E1A000000000000000000000000000000000006F +:10E1B000000000000000000000000000000000005F +:10E1C000000000000000000000000000000000004F +:10E1D000000000000000000000000000000000003F +:10E1E000000000000000000000000000000000002F +:10E1F000000000000000000000000000000000809F +:10E20000000000000000000000000000000000000E +:10E2100000000000000000000000000000000000FE +:10E220000000000A000000000000000000000000E4 +:10E2300010000003000000000000000D0000000DB1 +:10E240003C020801244295C03C030801246397FC6A +:10E25000AC4000000043202B1480FFFD244200044A +:10E260003C1D080037BD9FFC03A0F0213C100800B6 +:10E27000261032103C1C0801279C95C00E0012BECF +:10E28000000000000000000D3C02800030A5FFFFF0 +:10E2900030C600FF344301803C0880008D0901B87E +:10E2A0000520FFFE00000000AC6400002404000212 +:10E2B000A4650008A066000AA064000BAC67001803 +:10E2C0003C03100003E00008AD0301B83C0560000A +:10E2D0008CA24FF80440FFFE00000000ACA44FC029 +:10E2E0003C0310003C040200ACA44FC403E000084F +:10E2F000ACA34FF89486000C00A050212488001491 +:10E3000000062B0200051080004448210109182B4B +:10E310001060001100000000910300002C6400094F +:10E320005080000991190001000360803C0D080134 +:10E3300025AD9258018D58218D67000000E000083E +:10E340000000000091190001011940210109302B42 +:10E3500054C0FFF29103000003E000080000102108 +:10E360000A000CCC25080001910F0001240E000AC0 +:10E3700015EE00400128C8232F38000A1700003D81 +:10E38000250D00028D580000250F0006370E0100F4 +:10E39000AD4E0000910C000291AB000191A400026F +:10E3A00091A60003000C2E00000B3C0000A71025D6 +:10E3B00000041A000043C8250326C025AD580004F8 +:10E3C000910E000691ED000191E7000291E5000336 +:10E3D000000E5E00000D6400016C30250007220075 +:10E3E00000C41025004518252508000A0A000CCC99 +:10E3F000AD430008910F000125040002240800022B +:10E4000055E80001012020210A000CCC00804021A9 +:10E41000910C0001240B0003158B00160000000076 +:10E420008D580000910E000225080003370D0008EA +:10E43000A14E00100A000CCCAD4D00009119000156 +:10E44000240F0004172F000B0000000091070002AA +:10E45000910400038D43000000072A0000A410254A +:10E460003466000425080004AD42000C0A000CCC00 +:10E47000AD46000003E000082402000127BDFFE8CC +:10E48000AFBF0014AFB000100E00164E0080802108 +:10E490003C0480083485008090A600052403FFFE1C +:10E4A0000200202100C310248FBF00148FB0001081 +:10E4B000A0A200050A00165827BD001827BDFFE8D6 +:10E4C000AFB00010AFBF00140E000FD40080802149 +:10E4D0003C06800834C5008090A40000240200504F +:10E4E000308300FF106200073C09800002002021F9 +:10E4F0008FBF00148FB00010AD2001800A00108F74 +:10E5000027BD0018240801003C07800002002021DC +:10E510008FBF00148FB00010ACE801800A00108F8C +:10E5200027BD001827BDFF783C058008AFBE0080DE +:10E53000AFB7007CAFB3006CAFB10064AFBF008475 +:10E54000AFB60078AFB50074AFB40070AFB200687A +:10E55000AFB0006034A600803C0580008CB201287A +:10E5600090C400098CA701043C020001309100FF17 +:10E5700000E218240000B8210000F021106000071C +:10E58000000098213C0908008D2931F02413000176 +:10E59000252800013C010800AC2831F0ACA0008423 +:10E5A00090CC0005000C5827316A0001154000721C +:10E5B000AFA0005090CD00002406002031A400FF41 +:10E5C00010860018240E0050108E009300000000EA +:10E5D0003C1008008E1000DC260F00013C010800F2 +:10E5E000AC2F00DC0E0016C7000000000040182110 +:10E5F0008FBF00848FBE00808FB7007C8FB60078FD +:10E600008FB500748FB400708FB3006C8FB2006848 +:10E610008FB100648FB000600060102103E000083B +:10E6200027BD00880000000D3C1F8000AFA0003017 +:10E6300097E501168FE201043C04002030B9FFFF8A +:10E64000004438240007182B00033140AFA60030E7 +:10E650008FF5010437F80C003C1600400338802188 +:10E6600002B6A02434C40040128000479215000D69 +:10E6700032A800201500000234860080008030217E +:10E6800014C0009FAFA600303C0D800835A6008066 +:10E6900090CC0008318B0040516000063C06800899 +:10E6A000240E0004122E00A8240F0012122F003294 +:10E6B0003C06800834C401003C0280009447011AE3 +:10E6C0009619000E909F00088E18000830E3FFFF97 +:10E6D00003F9B00432B40004AFB6005CAFA3005835 +:10E6E0008E1600041280002EAFB8005434C3008090 +:10E6F000906800083105004014A0002500000000CB +:10E700008C70005002D090230640000500000000ED +:10E710008C71003402D1A82306A201678EE20008A2 +:10E72000126000063C1280003C1508008EB531F4E2 +:10E7300026B600013C010800AC3631F4AE4000447E +:10E74000240300018FBF00848FBE00808FB7007C40 +:10E750008FB600788FB500748FB400708FB3006CE3 +:10E760008FB200688FB100648FB00060006010212C +:10E7700003E0000827BD00880E000D2800002021BE +:10E780000A000D75004018210A000D9500C02021D7 +:10E790000E00171702C020211440FFE10000000006 +:10E7A0003C0B8008356400808C8A003402CA482300 +:10E7B0000520001D000000003C1E08008FDE310017 +:10E7C00027D700013C010800AC3731001260000679 +:10E7D000024020213C1408008E9431F42690000160 +:10E7E0003C010800AC3031F40E00164E3C1E80088F +:10E7F00037CD008091B700250240202136EE00047D +:10E800000E001658A1AE00250E000CAC02402021CF +:10E810000A000DCA240300013C17080126F796C020 +:10E820000A000D843C1F80008C86003002C66023E5 +:10E830001980000C2419000C908F004F3C14080024 +:10E840008E94310032B500FC35ED0001268E0001BA +:10E850003C010800AC2E3100A08D004FAFA0005845 +:10E860002419000CAFB900308C9800300316A02397 +:10E870001A80010B8FA300580074F82A17E0FFD309 +:10E88000000000001074002A8FA5005802D4B021A7 +:10E8900000B410233044FFFFAFA4005832A8000298 +:10E8A0001100002E32AB00103C15800836B00080FD +:10E8B0009216000832D30040526000FB8EE200083E +:10E8C0000E00164E02402021240A0018A20A000958 +:10E8D000921100052409FFFE024020210229902404 +:10E8E0000E001658A2120005240400390000282149 +:10E8F0000E0016F2240600180A000DCA24030001B7 +:10E9000092FE000C3C0A800835490080001EBB00C6 +:10E910008D27003836F10081024020213225F08118 +:10E920000E000C9B30C600FF0A000DC10000000065 +:10E930003AA7000130E300011460FFA402D4B02123 +:10E940000A000E1D00000000024020210E001734B6 +:10E95000020028210A000D75004018211160FF7087 +:10E960003C0F80083C0D800835EE00808DC40038D7 +:10E970008FA300548DA60004006660231D80FF68ED +:10E98000000000000064C02307020001AFA400548F +:10E990003C1F08008FFF31E433F9000113200015FC +:10E9A0008FAC00583C07800094E3011A10600012FD +:10E9B0003C0680080E00216A024020213C03080129 +:10E9C000906396F13064000214800145000000005D +:10E9D000306C0004118000078FAC0058306600FBDB +:10E9E0003C010801A02696F132B500FCAFA000580A +:10E9F0008FAC00583C06800834D30080AFB40018B8 +:10EA0000AFB60010AFAC00143C088000950B01209D +:10EA10008E6F0030966A005C8FA3005C8FBF003061 +:10EA20003169FFFF3144FFFF8FAE005401341021E4 +:10EA3000350540000064382B0045C82103E7C02598 +:10EA4000AFB90020AFAF0028AFB80030AFAF00249F +:10EA5000AFA0002CAFAE0034926D000831B40008B6 +:10EA6000168000BB020020218EE200040040F8095D +:10EA700027A400108FAF003031F300025660000170 +:10EA800032B500FE3C048008349F008093F90008F2 +:10EA900033380040530000138FA400248C850004F9 +:10EAA0008FA7005410A700D52404001432B0000131 +:10EAB0001200000C8FA400242414000C1234011A3C +:10EAC0002A2D000D11A001022413000E240E000AAD +:10EAD000522E0001241E00088FAF002425E40001FF +:10EAE000AFA400248FAA00143C0B80083565008079 +:10EAF000008A48218CB10030ACA9003090A4004EAF +:10EB00008CA700303408FFFF0088180400E3F821C8 +:10EB1000ACBF00348FA600308FB900548FB8005CB2 +:10EB200030C200081040000B033898218CAC002044 +:10EB3000119300D330C600FF92EE000C8FA7003473 +:10EB400002402021000E6B0035B400800E000C9BAB +:10EB50003285F0803C028008345000808E0F0030F7 +:10EB600001F1302318C00097264800803C070800B8 +:10EB70008CE731E42404FF80010418243118007F5D +:10EB80003C1F80003C19800430F10001AFE300908D +:10EB900012200006031928213C030801906396F116 +:10EBA00030690008152000C6306A00F73C10800864 +:10EBB00036040080908C004F318B000115600042BC +:10EBC000000000003C0608008CC6319830CE0010D2 +:10EBD00051C0004230F9000190AF006B55E0003F9A +:10EBE00030F9000124180001A0B8006B3C1180002E +:10EBF0009622007A24470064A48700123C0D800806 +:10EC000035A5008090B40008329000401600000442 +:10EC10003C03800832AE000115C0008B00000000EC +:10EC2000346400808C86002010D3000A3463010015 +:10EC30008C67000002C7782319E000978FBF00544B +:10EC4000AC93002024130001AC760000AFB3005059 +:10EC5000AC7F000417C0004E000000008FA90050D8 +:10EC60001520000B000000003C030801906396F1A2 +:10EC7000306A00011140002E8FAB0058306400FE56 +:10EC80003C010801A02496F10A000D75000018212E +:10EC90000E000CAC024020210A000F1300000000FF +:10ECA0000A000E200000A0210040F80924040017EB +:10ECB0000A000DCA240300010040F80924040016CC +:10ECC0000A000DCA240300019094004F240DFFFE9A +:10ECD000028D2824A085004F30F900011320000682 +:10ECE0003C0480083C030801906396F1307F0010DB +:10ECF00017E00051306800EF34900080240A0001D2 +:10ED0000024020210E00164EA60A00129203002592 +:10ED100024090001AFA90050346200010240202103 +:10ED20000E001658A20200250A000EF93C0D8008BC +:10ED30001160FE83000018218FA5003030AC000464 +:10ED40001180FE2C8FBF00840A000DCB240300012C +:10ED500027A500380E000CB6AFA000385440FF4382 +:10ED60008EE200048FB40038329001005200FF3F61 +:10ED70008EE200048FA3003C8E6E0058006E682364 +:10ED800005A3FF39AE6300580A000E948EE200041A +:10ED90000E00164E024020213C038008346800809B +:10EDA000024020210E001658A11E000903C0302188 +:10EDB000240400370E0016F2000028210A000F116B +:10EDC0008FA900508FAB00185960FF8D3C0D800853 +:10EDD0000E00164E02402021920C00252405000151 +:10EDE000AFA5005035820004024020210E001658C5 +:10EDF000A20200250A000EF93C0D800812240059D9 +:10EE00002A2300151060004D240900162408000C68 +:10EE10005628FF2732B000013C0A8008914C001BA5 +:10EE20002406FFBD241E000E01865824A14B001BA2 +:10EE30000A000EA532B000013C010801A02896F19D +:10EE40000A000EF93C0D80088CB500308EFE0008DB +:10EE50002404001826B6000103C0F809ACB600303F +:10EE60003C030801906396F13077000116E0FF81C2 +:10EE7000306A00018FB200300A000D753243000481 +:10EE80003C1080009605011A50A0FF2B34C60010DC +:10EE90000A000EC892EE000C8C6200001456FF6D42 +:10EEA000000000008C7800048FB9005403388823D8 +:10EEB0000621FF638FBF00540A000F0E0000000000 +:10EEC0003C010801A02A96F10A000F3030F9000138 +:10EED0001633FF028FAF00240A000EB0241E00106C +:10EEE0000E00164E024020213C0B80083568008041 +:10EEF00091090025240A0001AFAA0050353300040F +:10EF0000024020210E001658A11300253C050801DF +:10EF100090A596F130A200FD3C010801A02296F1D7 +:10EF20000A000E6D004018212411000E53D1FEEA94 +:10EF3000241E00100A000EAF241E00165629FEDC07 +:10EF400032B000013C0A8008914C001B2406FFBD32 +:10EF5000241E001001865824A14B001B0A000EA598 +:10EF600032B000010A000EA4241E00123C038000EF +:10EF70008C6201B80440FFFE24040800AC6401B8B0 +:10EF800003E000080000000030A5FFFF30C6FFFFCF +:10EF90003C0780008CE201B80440FFFE34EA0180A7 +:10EFA000AD440000ACE400203C0480089483004899 +:10EFB0003068FFFF11000016AF88000824AB001274 +:10EFC000010B482B512000133C04800034EF01005A +:10EFD00095EE00208F890000240D001A31CCFFFF30 +:10EFE00031274000A14D000B10E000362583FFFEC5 +:10EFF0000103C02B170000348F9900048F88000490 +:10F00000A5430014350700010A001003AF87000470 +:10F010003C04800024030003348201808F890000B7 +:10F020008F870004A043000B3C088000350C018052 +:10F03000A585000EA585001A8F85000C30EB800099 +:10F04000A5890010AD850028A58600081160000F75 +:10F050008F85001435190100972A00163158FFFCDE +:10F06000270F000401E870218DCD400031A6FFFF7D +:10F0700014C000072403BFFF3C02FFFF34487FFF9A +:10F0800000E83824AF8700048F8500142403BFFFF5 +:10F090003C04800000E3582434830180A46B0026E4 +:10F0A000AC69002C10A0000300054C02A465001000 +:10F0B000A46900263C071000AC8701B803E00008F3 +:10F0C000000000008F990004240AFFFE032A382460 +:10F0D0000A001003AF87000427BDFFE88FA20028B5 +:10F0E00030A5FFFF30C6FFFFAFBF0010AF87000C99 +:10F0F000AF820014AF8000040E000FDBAF80000071 +:10F100008FBF001027BD001803E00008AF80001477 +:10F110003C06800034C4007034C701008C8A0000B3 +:10F1200090E500128F84000027BDFFF030A300FFA0 +:10F13000000318823082400010400037246500032D +:10F140000005C8800326C0218F0E4000246F0004F4 +:10F15000000F6880AFAE000001A660218D8B4000DB +:10F16000AFAB000494E900163128FFFC01063821FA +:10F170008CE64000AFA600088FA9000800003021EF +:10F18000000028213C07080024E701000A0010675E +:10F19000240800089059000024A500012CAC000CA4 +:10F1A0000079C0210018788001E770218DCD000022 +:10F1B0001180000600CD302603A5102114A8FFF50C +:10F1C00000051A005520FFF4905900003C0480000F +:10F1D000348700703C0508008CA531048CE30000E6 +:10F1E0002CA2002010400009006A38230005488046 +:10F1F0003C0B0800256B3108012B402124AA00019B +:10F20000AD0700003C010800AC2A310400C0102109 +:10F2100003E0000827BD0010308220001040000BE2 +:10F2200000055880016648218D24400024680004B0 +:10F2300000083880AFA4000000E618218C6540006B +:10F24000AFA000080A001057AFA500040000000D91 +:10F250000A0010588FA9000827BDFFE03C07800076 +:10F2600034E60100AFBF001CAFB20018AFB100140C +:10F27000AFB0001094C5000E8F87000030A4FFFFD0 +:10F280002483000430E2400010400010AF830028C7 +:10F290003C09002000E940241100000D30EC800002 +:10F2A0008F8A0004240BBFFF00EB38243543100085 +:10F2B000AF87000030F220001640000B3C1900041C +:10F2C000241FFFBF0A0010B7007F102430EC80001D +:10F2D000158000423C0E002030F220001240FFF862 +:10F2E0008F8300043C19000400F9C0241300FFF5CB +:10F2F000241FFFBF34620040AF82000430E20100EF +:10F300001040001130F010008F83002C10600006B8 +:10F310003C0F80003C05002000E52024148000C044 +:10F320003C0800043C0F800035EE010095CD001E26 +:10F3300095CC001C31AAFFFF000C5C00014B482556 +:10F34000AF89000C30F010001200000824110001F9 +:10F3500030F100201620008B3C18100000F890249B +:10F36000164000823C040C002411000130E801002A +:10F370001500000B3C0900018F85000430A94000F6 +:10F38000152000073C0900013C0C1F0100EC58242B +:10F390003C0A1000116A01183C1080003C09000171 +:10F3A00000E9302410C000173C0B10003C18080086 +:10F3B0008F1800243307000214E0014024030001E9 +:10F3C0008FBF001C8FB200188FB100148FB00010D7 +:10F3D0000060102103E0000827BD002000EE682433 +:10F3E00011A0FFBE30F220008F8F00043C11FFFF00 +:10F3F00036307FFF00F0382435E380000A0010A685 +:10F40000AF87000000EB102450400065AF8000245F +:10F410008F8C002C3C0D0F0000ED18241580008807 +:10F42000AF83001030E8010011000086938F0010B8 +:10F430003C0A0200106A00833C1280003650010032 +:10F44000920500139789002A3626000230AF00FF8C +:10F4500025EE0004000E19C03C0480008C9801B811 +:10F460000700FFFE34880180AD0300003C198008CE +:10F47000AC830020973100483225FFFF10A0015CCB +:10F48000AF8500082523001200A3F82B53E0015993 +:10F490008F850004348D010095AC00202402001AF1 +:10F4A00030E44000318BFFFFA102000B108001927D +:10F4B0002563FFFE00A3502B154001908F8F0004A1 +:10F4C000A50300148F88000435050001AF850004F2 +:10F4D0003C08800035190180A729000EA729001AD1 +:10F4E0008F89000C30B18000A7270010AF290028B9 +:10F4F000A72600081220000E3C04800035020100FF +:10F50000944C0016318BFFFC256400040088182100 +:10F510008C7F400033E6FFFF14C000053C048000F0 +:10F520003C0AFFFF354D7FFF00AD2824AF85000466 +:10F53000240EBFFF00AE402434850180A4A800261D +:10F54000ACA7002C3C071000AC8701B800001821C4 +:10F550008FBF001C8FB200188FB100148FB0001045 +:10F560000060102103E0000827BD00203C020BFFD3 +:10F5700000E41824345FFFFF03E3C82B5320FF7B14 +:10F58000241100013C0608008CC6002C24C5000193 +:10F590003C010800AC25002C0A0010D42411000501 +:10F5A0008F85002410A0002FAF80001090A30000D2 +:10F5B000146000792419000310A0002A30E601002D +:10F5C00010C000CC8F860010241F000210DF00C97D +:10F5D0008F8B000C3C0708008CE7003824E4FFFF09 +:10F5E00014E0000201641824000018213C0D0800FA +:10F5F00025AD0038006D1021904C00048F85002847 +:10F6000025830004000321C030A5FFFF3626000239 +:10F610000E000FDB000000000A00114D0000182151 +:10F6200000E8302414C0FF403C0F80000E00103D65 +:10F63000000000008F8700000A0010CAAF82000C93 +:10F64000938F00103C18080127189640000F90C0B7 +:10F6500002588021AF9000248F85002414A0FFD38E +:10F66000AF8F00103C0480008C86400030C5010044 +:10F6700010A000BC322300043C0C08008D8C002438 +:10F6800024120004106000C23190000D3C04800080 +:10F690008C8D40003402FFFF11A201003231FFFBCC +:10F6A0008C884000310A01005540000124110010EF +:10F6B00030EE080011C000BE2419FFFB8F9800280F +:10F6C0002F0F03EF51E000010219802430E90100FF +:10F6D00011200014320800018F87002C14E000FB79 +:10F6E0008F8C000C3C05800034AB0100917F00132F +:10F6F00033E300FF246A00042403FFFE0203802496 +:10F70000000A21C012000002023230253226FFFF1B +:10F710000E000FDB9785002A1200FF290000182138 +:10F72000320800011100000D32180004240E0001FF +:10F73000120E0002023230253226FFFF9785002A82 +:10F740000E000FDB00002021240FFFFE020F80249B +:10F750001200FF1B00001821321800045300FF188C +:10F760002403000102323025241200045612000145 +:10F770003226FFFF9785002A0E000FDB24040100CC +:10F780002419FFFB021988241220FF0D0000182104 +:10F790000A0010E9240300011079009C00003021C8 +:10F7A00090AD00012402000211A200BE30EA004028 +:10F7B00090B90001241800011338007F30E900409F +:10F7C0008CA600049785002A00C020210E000FDBC4 +:10F7D0003626000200004021010018218FBF001CC6 +:10F7E0008FB200188FB100148FB00010006010218C +:10F7F00003E0000827BD0020360F010095EE000C45 +:10F8000031CD020015A0FEE63C0900013C1880083D +:10F81000971200489789002A362600023248FFFFD7 +:10F82000AF8800083C0380008C7101B80620FFFE01 +:10F83000346A0180AD4000001100008E3C0F800052 +:10F84000253F0012011FC82B1320008B240E00033C +:10F85000346C0100958B00202402001A30E4400033 +:10F860003163FFFFA142000B108000A72463FFFE5D +:10F870000103682B15A000A52408FFFE34A5000194 +:10F88000A5430014AF8500043C0480002412BFFF90 +:10F8900000B2802434850180A4A9000EA4A9001A16 +:10F8A000A4A60008A4B00026A4A700103C071000DE +:10F8B000AC8701B80A00114D000018213C038000FC +:10F8C00034640100949F000E3C1908008F3900D861 +:10F8D0002404008033E5FFFF273100013C010800CC +:10F8E000AC3100D80E000FDB240600030A00114DD6 +:10F8F00000001821240A000210CA00598F85002830 +:10F900003C0308008C6300D0240E0001106E005EE2 +:10F910002CCF000C24D2FFFC2E5000041600002136 +:10F9200000002021241800021078001B2CD9000CA4 +:10F9300024DFFFF82FE900041520FF330000202109 +:10F9400030EB020051600004000621C054C00022C8 +:10F9500030A5FFFF000621C030A5FFFF0A00117D82 +:10F96000362600023C0908008D29002431300001B0 +:10F970005200FEF7000018219785002A3626000263 +:10F980000E000FDB000020210A00114D000018219D +:10F990000A00119C241200021320FFE624DFFFF866 +:10F9A0000000202130A5FFFF0A00117D362600024D +:10F9B0000A0011AC021980245120FF828CA6000499 +:10F9C0003C05080190A5964110A0FF7E2408000187 +:10F9D0000A0011F0010018210E000FDB3226000191 +:10F9E0008F8600108F8500280A00124F000621C064 +:10F9F0008F8500043C18800024120003371001801A +:10FA0000A212000B0A00112E3C08800090A30001F6 +:10FA1000241100011071FF70240800012409000264 +:10FA20005069000430E60040240800010A0011F08B +:10FA30000100182150C0FFFD240800013C0C80008B +:10FA4000358B01009563001094A40002307FFFFF06 +:10FA5000509FFF62010018210A001284240800014F +:10FA60002CA803EF1100FE56240300010A001239EE +:10FA700000000000240E000335EA0180A14E000BB7 +:10FA80000A00121C3C04800011E0FFA2000621C005 +:10FA900030A5FFFF0A00117D362600020A0011A5DD +:10FAA000241100201140FFC63C1280003650010096 +:10FAB000960F001094AE000231E80FFF15C8FFC08A +:10FAC000000000000A0011E690B900013C060800A1 +:10FAD0008CC6003824C4FFFF14C00002018418241F +:10FAE000000018213C0D080025AD0038006D1021E4 +:10FAF0000A0011B6904300048F8F0004240EFFFE0D +:10FB00000A00112C01EE28242408FFFE0A00121A14 +:10FB100000A8282427BDFFC8AFB00010AFBF003435 +:10FB20003C10600CAFBE0030AFB7002CAFB6002861 +:10FB3000AFB50024AFB40020AFB3001CAFB20018C3 +:10FB4000AFB100148E0E5000240FFF7F3C068000E2 +:10FB500001CF682435AC380C240B0003AE0C5000E8 +:10FB6000ACCB00083C010800AC2000200E001819A6 +:10FB7000000000003C0A0010354980513C06601628 +:10FB8000AE09537C8CC700003C0860148D0500A0B2 +:10FB90003C03FFFF00E320243C02535300051FC237 +:10FBA0001482000634C57C000003A08002869821E0 +:10FBB0008E7200043C116000025128218CBF007C31 +:10FBC0008CA200783C1E600037C420203C05080150 +:10FBD00024A59288AF820018AF9F001C0E0016DD8E +:10FBE0002406000A3C190001273996403C01080010 +:10FBF000AC3931DC0E0020DDAF8000148FD708084F +:10FC00002418FFF03C15570902F8B02412D502F56C +:10FC100024040001AF80002C3C1480003697018042 +:10FC20003C1E080127DE9644369301008E900000AA +:10FC30003205000310A0FFFD3207000110E000882C +:10FC4000320600028E7100283C048000AE91002034 +:10FC50008E6500048E66000000A0382100C040219F +:10FC60008C8301B80460FFFE3C0B0010240A0800DE +:10FC700000AB4824AC8A01B8552000E0240BBFFF3C +:10FC80009675000E3C1208008E52002030AC4000E9 +:10FC900032AFFFFF264E000125ED00043C010800B5 +:10FCA000AC2E0020118000E8AF8D00283C18002009 +:10FCB00000B8B02412C000E530B980002408BFFFAE +:10FCC00000A8382434C81000AF87000030E62000B8 +:10FCD00010C000E92409FFBF3C03000400E328240E +:10FCE00010A00002010910243502004030EA010092 +:10FCF00011400010AF8200048F8B002C11600007B0 +:10FD00003C0D002000ED6024118000043C0F000435 +:10FD100000EF702411C00239000000009668001E38 +:10FD20009678001C3115FFFF0018B40002B690252C +:10FD3000AF92000C30F910001320001324150001BD +:10FD400030FF002017E0000A3C04100000E41024FB +:10FD50001040000D3C0A0C003C090BFF00EA18247F +:10FD60003525FFFF00A3302B10C0000830ED010047 +:10FD70003C0C08008D8C002C24150005258B0001FF +:10FD80003C010800AC2B002C30ED010015A0000B4D +:10FD90003C0500018F85000430AE400055C00007CF +:10FDA0003C0500013C161F0100F690243C0F10009A +:10FDB000124F01CE000000003C05000100E5302498 +:10FDC00010C000AF3C0C10003C1F08008FFF002447 +:10FDD00033E90002152000712403000100601021A6 +:10FDE000104000083C0680003C08800035180100E7 +:10FDF0008F0F00243C056020ACAF00140000000011 +:10FE00003C0680003C194000ACD9013800000000DD +:10FE10005220001332060002262B0140262C0080BF +:10FE2000240EFF80016E2024018E6824000D1940ED +:10FE3000318A007F0004A9403172007F3C16200007 +:10FE400036C20002006A482502B2382500E2882541 +:10FE50000122F825ACDF0830ACD1083032060002B0 +:10FE600010C0FF723C188000370501408CA80000CC +:10FE700024100040AF08002090AF000831E300706C +:10FE8000107000D428790041532000082405006038 +:10FE9000241100201071000E3C0A40003C09800033 +:10FEA000AD2A01780A001304000000001465FFFB6E +:10FEB0003C0A40000E001FFA000000003C0A40000F +:10FEC0003C098000AD2A01780A00130400000000FC +:10FED00090A90009241F00048CA70000312800FF0E +:10FEE000111F01B22503FFFA2C7200061240001404 +:10FEF0003C0680008CA9000494A4000A310500FF90 +:10FF000000095E022D6A00083086FFFF15400002DE +:10FF10002567000424070003240C000910AC01FA33 +:10FF200028AD000A11A001DE2410000A240E0008EA +:10FF300010AE0028000731C000C038213C06800008 +:10FF40008CD501B806A0FFFE34D20180AE47000078 +:10FF500034CB0140916E0008240300023C0A4000AB +:10FF600031C400FF00046A0001A86025A64C000807 +:10FF7000A243000B9562000A3C0810003C09800077 +:10FF8000A64200108D670004AE470024ACC801B83B +:10FF9000AD2A01780A001304000000003C0A80002A +:10FFA000354401009483000E3C0208008C4200D8C6 +:10FFB000240400803065FFFF245500013C01080047 +:10FFC000AC3500D80E000FDB240600030A001370C6 +:10FFD000000018210009320230D900FF2418000166 +:10FFE0001738FFD5000731C08F910020262200016D +:10FFF000AF8200200A0013C800C0382100CB2024A3 +:020000021000EC +:10000000AF85000010800008AF860004240D87FF34 +:1000100000CD6024158000083C0E006000AE302446 +:1000200010C00005000000000E000D42000000009E +:100030000A001371000000000E0016050000000009 +:100040000A0013710000000030B980005320FF1F28 +:10005000AF8500003C02002000A2F82453E0FF1B03 +:10006000AF8500003C07FFFF34E47FFF00A4382485 +:100070000A00132B34C880000A001334010910242D +:1000800000EC58245160005AAF8000248F8D002C62 +:100090003C0E0F0000EE182415A00075AF83001071 +:1000A00030EF010011E00073939800103C12020041 +:1000B000107200703C06800034D9010093280013B0 +:1000C0009789002A36A60002311800FF271600047F +:1000D000001619C03C0480008C8501B804A0FFFE06 +:1000E00034880180AD0300003C158008AC830020FB +:1000F00096BF004833E5FFFF10A001BCAF850008A4 +:100100002523001200A3102B504001B98F85000455 +:10011000348D010095AC0020240B001A30E440001F +:10012000318AFFFFA10B000B108001BA2543FFFEAF +:1001300000A3702B15C001B88F9600048F8F0004A8 +:10014000A503001435E50001AF8500043C088000DC +:1001500035150180A6A9000EA6A9001A8F89000CEA +:1001600030BF8000A6A70010AEA90028A6A60008F0 +:1001700013E0000F3C0F8000350C0100958B00163A +:10018000316AFFFC25440004008818218C6240007D +:100190003046FFFF14C000072416BFFF3C0EFFFFD0 +:1001A00035CD7FFF00AD2824AF8500043C0F8000D3 +:1001B0002416BFFF00B6902435E50180A4B20026C6 +:1001C000ACA7002C3C071000ADE701B80A00137083 +:1001D000000018210E00165D000000003C0A4000DF +:1001E0003C098000AD2A01780A00130400000000D9 +:1001F0008F85002410A00027AF80001090A300007E +:10020000106000742409000310690101000030210E +:1002100090AE0001240D000211CD014230EF0040EC +:1002200090A90001241F0001113F000930E20040A5 +:100230008CA600049785002A00C020210E000FDB49 +:1002400036A60002000040210A00137001001821A8 +:100250005040FFF88CA600043C07080190E7964147 +:1002600010E0FFF4240800010A00137001001821B7 +:10027000939800103C1F080127FF96400018C8C043 +:10028000033F4021AF8800248F85002414A0FFDBAA +:10029000AF9800103C0480008C86400030C50100FF +:1002A00010A0008732AB00043C0C08008D8C0024A9 +:1002B00024160004156000033192000D241600027C +:1002C0003C0480008C8E4000340DFFFF11CD0113E3 +:1002D00032B5FFFB8C984000330F010055E0000160 +:1002E0002415001030E80800110000382409FFFB35 +:1002F0008F9F00282FF903EF53200001024990241B +:1003000030E2010010400014325F00018F87002CA2 +:1003100014E0010E8F8C000C3C0480003486010038 +:1003200090C5001330AA00FF25430004000321C03C +:100330002419FFFE025990241240000202B6302513 +:1003400032A6FFFF0E000FDB9785002A1240FEA3A6 +:1003500000001821325F000113E0000D3247000455 +:10036000240900011249000202B6302532A6FFFF1F +:100370009785002A0E000FDB000020212402FFFEDB +:10038000024290241240FE950000182132470004DA +:1003900050E0FE922403000102B63025241600042A +:1003A0005656000132A6FFFF9785002A0E000FDB8C +:1003B000240401002403FFFB0243A82412A0FE87AB +:1003C000000018210A001370240300010A0014B968 +:1003D0000249902410A0FFAF30E5010010A00017E3 +:1003E0008F8600102403000210C300148F84000CB9 +:1003F0003C0608008CC6003824CAFFFF14C0000267 +:10040000008A1024000010213C0E080025CE003880 +:10041000004E682191AC00048F850028258B0004D4 +:10042000000B21C030A5FFFF36A600020E000FDB37 +:10043000000000000A00137000001821240F0002C1 +:1004400010CF0088241600013C0308008C6300D004 +:100450001076008D8F85002824D9FFFC2F280004FA +:100460001500006300002021241F0002107F005DA2 +:100470002CC9000C24C3FFF82C6200041440FFE9CF +:100480000000202130EA020051400004000621C093 +:1004900054C0000530A5FFFF000621C030A5FFFFB6 +:1004A0000A00150436A600020E000FDB32A600017A +:1004B0008F8600108F8500280A001520000621C0B5 +:1004C0003C0A08008D4A0024315200015240FE438C +:1004D000000018219785002A36A600020E000FDBC7 +:1004E000000020210A001370000018219668000CFB +:1004F000311802005700FE313C0500013C1F800806 +:1005000097F900489789002A36A600023328FFFF92 +:10051000AF8800083C0380008C7501B806A0FFFE80 +:100520003C04800034820180AC400000110000B621 +:1005300024180003252A0012010A182B106000B2AB +:1005400000000000966F00203C0E8000240D001A71 +:1005500031ECFFFF35CA018030EB4000A14D000BAC +:10056000116000B02583FFFE0103902B164000AE02 +:100570002416FFFE34A50001A5430014AF85000436 +:100580002419BFFF00B94024A6E9000EA6E9001A0D +:10059000A6E60008A6E80026A6E700103C07100023 +:1005A000AE8701B80A001370000018213C048000D7 +:1005B0008C8201B80440FFFE349601802415001C93 +:1005C000AEC70000A2D5000B3C071000AC8701B8F5 +:1005D0003C0A40003C098000AD2A01780A0013045F +:1005E000000000005120FFA424C3FFF800002021D8 +:1005F00030A5FFFF0A00150436A600020E00103DCC +:10060000000000008F8700000A001346AF82000C34 +:1006100090A30001241500011075FF0B24080001B0 +:10062000240600021066000430E2004024080001A5 +:100630000A001370010018215040FFFD240800013A +:100640003C0C8000358B0100956A001094A40002D8 +:100650003143FFFF5083FDE1010018210A00158599 +:10066000240800018F8500282CB203EF1240FDDB27 +:10067000240300013C0308008C6300D02416000111 +:100680001476FF7624D9FFFC2CD8000C1300FF72DF +:10069000000621C030A5FFFF0A00150436A600029F +:1006A00010B00037240F000B14AFFE23000731C039 +:1006B000312600FF00065600000A4E0305220047BF +:1006C00030C6007F0006F8C03C16080126D69640CA +:1006D00003F68021A2000001A20000003C0F600090 +:1006E0008DF918202405000100C588040011302769 +:1006F0000326C024000731C000C03821ADF81820FF +:100700000A0013C8A60000028F850020000731C030 +:1007100024A2FFFF0A0013F6AF8200200A0014B2E1 +:100720002415002011E0FECC3C1980003728010080 +:100730009518001094B6000233120FFF16D2FEC6B1 +:10074000000000000A00148290A900013C0B080080 +:100750008D6B0038256DFFFF15600002018D1024A0 +:10076000000010213C080800250800380048C0217E +:10077000930F000425EE00040A0014C5000E21C0EA +:1007800000065202241F00FF115FFDEB000731C07D +:10079000000A20C03C0E080125CE9640008EA821FC +:1007A000009E602100095C02240D00013C076000EE +:1007B000A2AD0000AD860000A2AB00018CF21820B3 +:1007C00024030001014310040242B025ACF61820B6 +:1007D00000C038210A0013C8A6A900020A0015AA01 +:1007E000AF8000200A0012FFAF84002C8F85000428 +:1007F0003C1980002408000337380180A308000B4F +:100800000A00144D3C088000A2F8000B0A00155A9B +:100810002419BFFF8F9600042412FFFE0A00144B18 +:1008200002D228242416FFFE0A00155800B62824F8 +:100830003C038000346401008C85000030A2003E3F +:100840001440000800000000AC6000488C870000E5 +:1008500030E607C010C0000500000000AC60004C8E +:10086000AC60005003E0000824020001AC600054BA +:10087000AC6000408C880000310438001080FFF923 +:10088000000000002402000103E00008AC60004406 +:100890003C0380008C6201B80440FFFE3467018095 +:1008A000ACE4000024080001ACE00004A4E500086A +:1008B00024050002A0E8000A34640140A0E5000B12 +:1008C0009483000A14C00008A4E30010ACE00024E4 +:1008D0003C07800034E901803C041000AD20002872 +:1008E00003E00008ACE401B88C8600043C0410006E +:1008F000ACE600243C07800034E90180AD200028EC +:1009000003E00008ACE401B83C0680008CC201B8EA +:100910000440FFFE34C7018024090002ACE400005B +:10092000ACE40004A4E50008A0E9000A34C50140D5 +:10093000A0E9000B94A8000A3C041000A4E80010F1 +:10094000ACE000248CA30004ACE3002803E0000822 +:10095000ACC401B83C039000346200010082202541 +:100960003C038000AC6400208C65002004A0FFFEE6 +:100970000000000003E00008000000003C028000CE +:10098000344300010083202503E00008AC4400202C +:1009900027BDFFE03C098000AFBF0018AFB10014D5 +:1009A000AFB00010352801408D10000091040009FF +:1009B0009107000891050008308400FF30E600FF31 +:1009C00000061A002C820081008330251040002A86 +:1009D00030A50080000460803C0D080125AD92B078 +:1009E000018D58218D6A00000140000800000000C0 +:1009F0003C038000346201409445000A14A0001EAC +:100A00008F91FCC09227000530E6000414C0001A44 +:100A1000000000000E00164E02002021922A000560 +:100A200002002021354900040E001658A2290005B5 +:100A30009228000531040004148000020000000028 +:100A40000000000D922D0000240B002031AC00FFAF +:100A5000158B00093C0580008CAE01B805C0FFFE77 +:100A600034B10180AE3000003C0F100024100005AE +:100A7000A230000BACAF01B80000000D8FBF001812 +:100A80008FB100148FB0001003E0000827BD0020D4 +:100A90000200202100C028218FBF00188FB1001450 +:100AA0008FB00010240600010A00161D27BD00208B +:100AB0000000000D0200202100C028218FBF001877 +:100AC0008FB100148FB00010000030210A00161DF5 +:100AD00027BD002014A0FFE8000000000200202134 +:100AE0008FBF00188FB100148FB0001000C02821F4 +:100AF0000A00163B27BD00203C0780008CEE01B8A1 +:100B000005C0FFFE34F00180241F0002A21F000B6D +:100B100034F80140A60600089719000A3C0F10009F +:100B2000A61900108F110004A6110012ACEF01B835 +:100B30000A0016998FBF001827BDFFE8AFBF00104D +:100B40000E000FD4000000003C0280008FBF001098 +:100B500000002021AC4001800A00108F27BD001842 +:100B60003084FFFF30A5FFFF108000070000182130 +:100B7000308200011040000200042042006518216C +:100B80001480FFFB0005284003E0000800601021EE +:100B900010C00007000000008CA2000024C6FFFF68 +:100BA00024A50004AC82000014C0FFFB24840004D0 +:100BB00003E000080000000010A0000824A3FFFFCD +:100BC000AC86000000000000000000002402FFFFCF +:100BD0002463FFFF1462FFFA2484000403E000088A +:100BE000000000003C03800027BDFFF83462018054 +:100BF000AFA20000308C00FF30AD00FF30CE00FF10 +:100C00003C0B80008D6401B80480FFFE00000000F2 +:100C10008FA900008D6801288FAA00008FA700000F +:100C20008FA400002405000124020002A085000A10 +:100C30008FA30000359940003C051000A062000B16 +:100C40008FB800008FAC00008FA600008FAF0000AF +:100C500027BD0008AD280000AD400004AD80002491 +:100C6000ACC00028A4F90008A70D0010A5EE0012E2 +:100C700003E00008AD6501B83C06800827BDFFE829 +:100C800034C50080AFBF001090A7000924020012F5 +:100C900030E300FF1062000B008030218CA8005070 +:100CA00000882023048000088FBF00108CAA003425 +:100CB000240400390000282100CA4823052000052B +:100CC000240600128FBF00102402000103E0000878 +:100CD00027BD00180E0016F2000000008FBF0010A4 +:100CE0002402000103E0000827BD001827BDFFC84B +:100CF000AFB20030AFB00028AFBF0034AFB1002CAE +:100D000000A0802190A5000D30A6001010C000109A +:100D1000008090213C0280088C4400048E0300086F +:100D20001064000C30A7000530A6000510C0009329 +:100D3000240400018FBF00348FB200308FB1002C2B +:100D40008FB000280080102103E0000827BD003884 +:100D500030A7000510E0000F30AB001210C00006F5 +:100D6000240400013C0980088E0800088D25000439 +:100D70005105009C240400388FBF00348FB200302E +:100D80008FB1002C8FB000280080102103E00008F4 +:100D900027BD0038240A0012156AFFE6240400016A +:100DA0000200202127A500100E000CB6AFA00010F5 +:100DB0001440007C3C19800837240080909800087B +:100DC000331100081220000A8FA7001030FF010025 +:100DD00013E000A48FA300148C8600580066102333 +:100DE000044000043C0A8008AC8300588FA7001020 +:100DF0003C0A800835480080910900083124000829 +:100E00001480000224080003000040213C1F8008D9 +:100E100093F1001193F9001237E600808CCC005456 +:100E2000333800FF03087821322D00FF000F708057 +:100E300001AE282100AC582B1160006F00000000AB +:100E400094CA005C8CC900543144FFFF0125102373 +:100E50000082182B14600068000000008CCB005446 +:100E60000165182330EC00041180006C000830800C +:100E70008FA8001C0068102B1040006230ED0004A9 +:100E8000006610232C46008010C00002004088211C +:100E9000241100800E00164E024020213C0D8008D7 +:100EA00035A6008024070001ACC7000C90C80008DC +:100EB0000011484035A70100310C007FA0CC00088C +:100EC0008E05000424AB0001ACCB0030A4D1005C43 +:100ED0008CCA003C9602000E01422021ACC40020C6 +:100EE0008CC3003C0069F821ACDF001C8E190004A3 +:100EF000ACF900008E180008ACF800048FB10010A7 +:100F0000322F000855E0004793A60020A0C0004EF5 +:100F100090D8004E2411FFDFA0F8000890CF000801 +:100F200001F17024A0CE00088E0500083C0B80085B +:100F300035690080AD2500388D6A00148D2200309F +:100F40002419005001422021AD24003491230000D7 +:100F5000307F00FF13F90036264F01000E001658AF +:100F60000240202124040038000028210E0016F23F +:100F70002406000A0A001757240400010E000D2859 +:100F8000000020218FBF00348FB200308FB1002CC1 +:100F90008FB00028004020210080102103E00008CD +:100FA00027BD00388E0E00083C0F800835F0008009 +:100FB000AE0E005402402021AE0000300E00164E4E +:100FC00000000000920D00250240202135AC0020D9 +:100FD0000E001658A20C00250E000CAC0240202179 +:100FE000240400382405008D0E0016F22406001299 +:100FF0000A0017572404000194C5005C0A001792E8 +:1010000030A3FFFF2407021811A0FF9E00E6102363 +:101010008FAE001C0A00179A01C610230A0017970A +:101020002C620218A0E600080A0017C48E0500080A +:101030002406FF8001E6C0243C118000AE38002861 +:101040008E0D000831E7007F3C0E800C00EE602121 +:10105000AD8D00E08E080008AF8C00380A0017D074 +:10106000AD8800E4AC800058908500082403FFF7A9 +:1010700000A33824A08700080A0017758FA7001066 +:101080003C05080024A560A83C04080024846FF4F3 +:101090003C020800244260B0240300063C01080121 +:1010A000AC2596C03C010801AC2496C43C01080163 +:1010B000AC2296C83C010801A02396CC03E00008AE +:1010C0000000000003E00008240200013C02800050 +:1010D000308800FF344701803C0680008CC301B893 +:1010E0000460FFFE000000008CC501282418FF806A +:1010F0003C0D800A24AF010001F8702431EC007F20 +:10110000ACCE0024018D2021ACE50000948B00EAD8 +:101110003509600024080002316AFFFFACEA0004D0 +:1011200024020001A4E90008A0E8000BACE00024C0 +:101130003C071000ACC701B8AF84003803E00008DA +:10114000AF85006C938800488F8900608F820038DB +:1011500030C600FF0109382330E900FF01221821C1 +:1011600030A500FF2468008810C000020124382147 +:101170000080382130E400031480000330AA00030B +:101180001140000D312B000310A0000900001021B8 +:1011900090ED0000244E000131C200FF0045602B9D +:1011A000A10D000024E700011580FFF925080001CA +:1011B00003E00008000000001560FFF300000000DD +:1011C00010A0FFFB000010218CF80000245900043F +:1011D000332200FF0045782BAD18000024E70004FF +:1011E00015E0FFF92508000403E0000800000000F6 +:1011F00093850048938800588F8700600004320070 +:101200003103007F00E5102B30C47F001040000F39 +:10121000006428258F8400383C0980008C8A00EC0B +:10122000AD2A00A43C03800000A35825AC6B00A0AD +:101230008C6C00A00580FFFE000000008C6D00ACEF +:10124000AC8D00EC03E000088C6200A80A00188254 +:101250008F840038938800593C0280000080502120 +:10126000310300FEA383005930ABFFFF30CC00FFF9 +:1012700030E7FFFF344801803C0980008D2401B82D +:101280000480FFFE8F8D006C24180016AD0D000049 +:101290008D2201248F8D0038AD0200048D5900206D +:1012A000A5070008240201C4A119000AA118000B17 +:1012B000952F01208D4E00088D4700049783005C18 +:1012C0008D59002401CF302100C7282100A32023FD +:1012D0002418FFFFA504000CA50B000EA5020010AA +:1012E000A50C0012AD190018AD18002495AF00E848 +:1012F0003C0B10002407FFF731EEFFFFAD0E002876 +:101300008DAC0084AD0C002CAD2B01B88D460020B7 +:1013100000C7282403E00008AD4500208F8800386E +:101320000080582130E7FFFF910900D63C02800081 +:1013300030A5FFFF312400FF00041A00006750258C +:1013400030C600FF344701803C0980008D2C01B875 +:101350000580FFFE8F82006C240F0017ACE20000B6 +:101360008D390124ACF900048D780020A4EA00082E +:10137000241901C4A0F8000AA0EF000B9523012056 +:101380008D6E00088D6D00049784005C01C35021B0 +:10139000014D602101841023A4E2000CA4E5000E9D +:1013A000A4F90010A4E60012ACE000148D7800242B +:1013B000240DFFFFACF800188D0F007CACEF001C73 +:1013C0008D0E00783C0F1000ACEE0020ACED002438 +:1013D000950A00BE240DFFF73146FFFFACE600285A +:1013E000950C00809504008231837FFF0003CA00C2 +:1013F0003082FFFF0322C021ACF8002CAD2F01B8D2 +:10140000950E00828D6A002000AE3021014D282407 +:10141000A506008203E00008AD6500203C028000C4 +:10142000344501803C0480008C8301B80460FFFED9 +:101430008F8A0044240600199549001C3128FFFFBB +:10144000000839C0ACA70000A0A6000B3C051000A6 +:1014500003E00008AC8501B88F87004C0080402174 +:1014600030C400FF3C0680008CC201B80440FFFE7F +:101470008F89006C9383006834996000ACA90000E8 +:10148000A0A300058CE20010240F00022403FFF744 +:10149000A4A20006A4B900088D180020A0B8000A74 +:1014A000A0AF000B8CEE0000ACAE00108CED000481 +:1014B000ACAD00148CEC001CACAC00248CEB002018 +:1014C000ACAB00288CEA002C3C071000ACAA002C26 +:1014D0008D090024ACA90018ACC701B88D05002007 +:1014E00000A3202403E00008AD0400208F8600380C +:1014F00027BDFFE0AFB10014AFBF0018AFB00010C0 +:1015000090C300D430A500FF3062002010400008D6 +:10151000008088218CCB00D02409FFDF256A0001E0 +:10152000ACCA00D090C800D401093824A0C700D4A8 +:1015300014A000403C0C80008F840038908700D4B9 +:101540002418FFBF2406FFEF30E3007FA08300D400 +:10155000979F005C8F8200608F8D003803E2C82364 +:10156000A799005CA5A000BC91AF00D401F870243D +:10157000A1AE00D48F8C0038A18000D78F8A0038AC +:10158000A5400082AD4000EC914500D400A658244F +:10159000A14B00D48F9000348F8400609786005C4C +:1015A0000204282110C0000FAF850034A38000582A +:1015B0003C0780008E2C000894ED01208E2B000447 +:1015C000018D5021014B8021020620233086FFFF30 +:1015D00030C8000F3909000131310001162000091F +:1015E000A3880058938600488FBF00188FB100145D +:1015F0008FB0001027BD0020AF85006403E0000815 +:10160000AF86006000C870238FBF00189386004823 +:101610008FB100148FB0001034EF0C00010F28219F +:1016200027BD0020ACEE0084AF85006403E0000815 +:10163000AF86006035900180020028210E00190F4E +:10164000240600828F840038908600D430C5004084 +:1016500050A0FFBAA38000688F85004C3C06800034 +:101660008CCD01B805A0FFFE8F89006C2408608234 +:1016700024070002AE090000A6080008A207000B1C +:101680008CA300083C0E1000AE0300108CA2000CCE +:10169000AE0200148CBF0014AE1F00188CB90018E5 +:1016A000AE1900248CB80024AE1800288CAF002896 +:1016B000AE0F002CACCE01B80A001948A380006818 +:1016C0008F8A003827BDFFE0AFB10014AFB0001023 +:1016D0008F880060AFBF00189389003C954200BC22 +:1016E00030D100FF0109182B0080802130AC00FFB1 +:1016F0003047FFFF0000582114600003310600FF4F +:1017000001203021010958239783005C0068202BB9 +:101710001480002700000000106800562419000102 +:101720001199006334E708803165FFFF0E0018C08F +:10173000020020218F83006C3C07800034E601808A +:101740003C0580008CAB01B80560FFFE240A001840 +:101750008F840038ACC30000A0CA000B948900BE7F +:101760003C081000A4C90010ACC00030ACA801B8FF +:101770009482008024430001A4830080949F008011 +:101780003C0608008CC6318833EC7FFF1186005E72 +:101790000000000002002021022028218FBF001835 +:1017A0008FB100148FB000100A00193427BD00203B +:1017B000914400D42403FF8000838825A15100D4E4 +:1017C0009784005C3088FFFF51000023938C003C1D +:1017D0008F8500382402EFFF008B782394AE00BC85 +:1017E0000168502B31E900FF01C26824A4AD00BCA0 +:1017F00051400039010058213C1F800037E60100AC +:101800008CD800043C190001031940245500000144 +:1018100034E740008E0A00202403FFFB241100015E +:1018200001432024AE0400201191002D34E78000F4 +:1018300002002021012030210E0018C03165FFFF79 +:101840009787005C8F890060A780005C0127802358 +:10185000AF900060938C003C8F8B00388FBF0018D6 +:101860008FB100148FB0001027BD002003E00008E6 +:10187000A16C00D73C0D800035AA01008D48000402 +:101880003C0900010109282454A0000134E740006C +:101890008E0F00202418FFFB34E7800001F870242D +:1018A00024190001AE0E00201599FF9F34E708802F +:1018B000020020210E00188E3165FFFF020020215A +:1018C000022028218FBF00188FB100148FB00010A4 +:1018D0000A00193427BD00200A0019F7000048212A +:1018E00002002021012030210E00188E3165FFFFFB +:1018F0009787005C8F890060A780005C01278023A8 +:101900000A001A0EAF900060948C0080241F8000A3 +:10191000019F3024A4860080908B0080908F0080EF +:10192000316700FF0007C9C20019C027001871C045 +:1019300031ED007F01AE2825A08500800A0019DF67 +:1019400002002021938500682403000127BDFFE8E1 +:1019500000A330042CA20020AFB00010AFBF0014D1 +:1019600000C01821104000132410FFFE3C0708009F +:101970008CE7319000E610243C088000350501809A +:1019800014400005240600848F890038240A0004CE +:101990002410FFFFA12A00FC0E00190F0000000018 +:1019A000020010218FBF00148FB0001003E0000868 +:1019B00027BD00183C0608008CC631940A001A574F +:1019C00000C310248F87004427BDFFE0AFB200188A +:1019D000AFB10014AFB00010AFBF001C30D000FF9B +:1019E00090E6000D00A088210080902130C5007F86 +:1019F000A0E5000D8F8500388E2300188CA200D042 +:101A00001062002E240A000E0E001A4AA38A0068F3 +:101A10002409FFFF104900222404FFFF5200002088 +:101A2000000020218E2600003C0C001000CC582421 +:101A3000156000393C0E000800CE682455A0003F18 +:101A4000024020213C18000200D880241200001F10 +:101A50003C0A00048F8700448CE200148CE30010E1 +:101A60008CE500140043F82303E5C82B1320000580 +:101A7000024020218E24002C8CF1001010910031A6 +:101A80000240202124020012A38200680E001A4A9C +:101A90002412FFFF105200022404FFFF0000202147 +:101AA0008FBF001C8FB200188FB100148FB00010D0 +:101AB0000080102103E0000827BD002090A800D47A +:101AC000350400200A001A80A0A400D400CA4824CB +:101AD0001520000B8F8B00448F8D00448DAC0010BF +:101AE0001580000B024020218E2E002C51C0FFECEF +:101AF00000002021024020210A001A9B2402001726 +:101B00008D66001050C0FFE6000020210240202119 +:101B10000A001A9B24020011024020212402001511 +:101B20000E001A4AA3820068240FFFFF104FFFDC4B +:101B30002404FFFF0A001A8A8E2600000A001AC138 +:101B4000240200143C08000400C8382450E0FFD4EC +:101B500000002021024020210A001A9B24020013C9 +:101B60008F85003827BDFFD8AFB3001CAFB2001877 +:101B7000AFB10014AFB00010AFBF002090A700D4E9 +:101B80008F90004C2412FFFF34E2004092060000C8 +:101B9000A0A200D48E0300100080982110720006CD +:101BA00030D1003F2408000D0E001A4AA3880068B7 +:101BB000105200252404FFFF8F8A00388E09001878 +:101BC0008D4400D01124000702602021240C000E57 +:101BD0000E001A4AA38C0068240BFFFF104B001A5A +:101BE0002404FFFF24040020122400048F8D0038F9 +:101BF00091AF00D435EE0020A1AE00D48F85005403 +:101C000010A00019000000001224004A8F9800382C +:101C10008F92FCC0971000809651000A5230004805 +:101C20008F9300403C1F08008FFF318C03E5C82BC9 +:101C30001720001E02602021000028210E0019A993 +:101C400024060001000020218FBF00208FB3001C5C +:101C50008FB200188FB100148FB0001000801021D7 +:101C600003E0000827BD00285224002A8E05001436 +:101C70008F840038948A008025490001A48900805F +:101C8000948800803C0208008C42318831077FFF35 +:101C900010E2000E00000000026020210E00193446 +:101CA000240500010A001B0B000020212402002D46 +:101CB0000E001A4AA38200682403FFFF1443FFE1C9 +:101CC0002404FFFF0A001B0C8FBF002094990080A2 +:101CD000241F800024050001033FC024A498008035 +:101CE00090920080908E0080325100FF001181C2DE +:101CF00000107827000F69C031CC007F018D582576 +:101D0000A08B00800E001934026020210A001B0BFA +:101D1000000020212406FFFF54A6FFD68F84003840 +:101D2000026020210E001934240500010A001B0B5B +:101D300000002021026020210A001B252402000A45 +:101D40002404FFFD0A001B0BAF9300608F8800384E +:101D500027BDFFE8AFB00010AFBF0014910A00D458 +:101D60008F87004C00808021354900408CE60010B0 +:101D7000A10900D43C0208008C4231B030C53FFFBD +:101D800000A2182B106000078F850050240DFF80E3 +:101D900090AE000D01AE6024318B00FF156000088D +:101DA0000006C382020020212403000D8FBF00140F +:101DB0008FB0001027BD00180A001A4AA3830068DC +:101DC00033060003240F000254CFFFF70200202146 +:101DD00094A2001C8F85003824190023A4A200E8D7 +:101DE0008CE8000000081E02307F003F13F9003528 +:101DF0003C0A00838CE800188CA600D0110600086D +:101E0000000000002405000E0E001A4AA385006899 +:101E10002407FFFF104700182404FFFF8F850038B8 +:101E200090A900D435240020A0A400D48F8C0044B5 +:101E3000918E000D31CD007FA18D000D8F83005458 +:101E40001060001C020020218F8400508C9800102C +:101E50000303782B11E0000D241900180200202143 +:101E6000A39900680E001A4A2410FFFF10500002C8 +:101E70002404FFFF000020218FBF00148FB000104A +:101E80000080102103E0000827BD00188C86001098 +:101E90008F9F00440200202100C31023AFE20010F6 +:101EA000240500010E0019A9240600010A001B9751 +:101EB000000020210E001934240500010A001B97A0 +:101EC00000002021010A5824156AFFD98F8C004494 +:101ED000A0A600FC0A001B84A386005A30A500FFC0 +:101EE0002406000124A9000100C9102B1040000C99 +:101EF00000004021240A000100A61823308B0001B5 +:101F000024C60001006A3804000420421160000267 +:101F100000C9182B010740251460FFF800A61823FC +:101F200003E000080100102127BDFFD8AFB0001862 +:101F30008F90004CAFB1001CAFBF00202403FFFF07 +:101F40002411002FAFA30010920600002405000802 +:101F500026100001006620260E001BB0308400FF12 +:101F600000021E003C021EDC34466F410A001BD8F2 +:101F70000000102110A00009008018212445000154 +:101F800030A2FFFF2C4500080461FFFA0003204047 +:101F90000086202614A0FFF9008018210E001BB037 +:101FA000240500208FA300102629FFFF313100FFF8 +:101FB00000034202240700FF1627FFE20102182651 +:101FC00000035027AFAA0014AFAA00100000302170 +:101FD00027A8001027A7001400E6782391ED00033E +:101FE00024CE000100C8602131C600FF2CCB0004C4 +:101FF0001560FFF9A18D00008FA200108FBF002097 +:102000008FB1001C8FB0001803E0000827BD002826 +:1020100027BDFFD0AFB3001CAFB00010AFBF00288A +:10202000AFB50024AFB40020AFB20018AFB10014B8 +:102030003C0C80008D880128240FFF803C06800A1C +:1020400025100100250B0080020F68243205007F57 +:10205000016F7024AD8E009000A62821AD8D002464 +:1020600090A600FC3169007F3C0A8004012A1821F7 +:10207000A386005A9067007C00809821AF830030CF +:1020800030E20002AF88006CAF85003800A0182154 +:10209000144000022404003424040030A3840048C7 +:1020A0008C7200DC30D100FF24040004AF92006089 +:1020B00012240004A38000688E7400041680001EA1 +:1020C0003C0880009386005930C7000110E0000FE3 +:1020D0008F9300608CB000848CA800842404FF805F +:1020E000020410240002F940310A007F03EA482567 +:1020F0003C0C2000012C902530CD00FE3C038000DC +:10210000AC720830A38D00598F9300608FBF0028F8 +:102110008FB50024ACB300DC8FB400208FB3001C5B +:102120008FB200188FB100148FB00010240200018C +:1021300003E0000827BD00308E7F000895020120D3 +:102140008E67001003E2C8213326FFFF30D8000F4E +:1021500033150001AF87003416A00058A39800582B +:1021600035090C000309382100D81823AD03008479 +:10217000AF8700648E6A00043148FFFF1100007EC3 +:10218000A78A005C90AC00D42407FF8000EC3024C8 +:1021900030CB00FF1560004B9786005C938E005A91 +:1021A000240D000230D5FFFF11CD02A20000A021B6 +:1021B0008F85006002A5802B160000BC9388004824 +:1021C0003C11800096240120310400FF1485008812 +:1021D0008F8400648F9800343312000356400085CA +:1021E00030A500FF8F900064310C00FF24060034FE +:1021F00011860095AF90004C9204000414800118E1 +:102200008F8E0038A380003C8E0D00048DC800D84E +:102210003C0600FF34CCFFFF01AC30240106182B34 +:1022200014600120AF8600548F8700609798005C8F +:10223000AF8700400307402310C000C7A788005C99 +:102240008F91003030C3000300035823922A007C92 +:102250003171000302261021000A20823092000111 +:102260000012488000492821311FFFFF03E5C82BD9 +:10227000132001208F8800388F8500348F880064F8 +:102280001105025A3C0E3F018E0600003C0C250051 +:1022900000CE682411AC01638F84004C30E500FF50 +:1022A0000E00184A000030218F8800388F870060A8 +:1022B0008F8500340A001DB78F8600540A001C5613 +:1022C000AF87006490A400D400E48024320200FFB1 +:1022D000104000169386005990A6008890AE00D753 +:1022E00024A8008830D4003F2686FFE02CD10020AF +:1022F000A38E003C1220000CAF88004C240B000180 +:1023000000CB20043095001916A0012B3C0680005C +:1023100034CF0002008FC0241700022E3099002015 +:1023200017200234000000009386005930CB0001D2 +:102330001160000F9788005C8CBF00848CA900841A +:10234000240AFF8003EA6024000C19403132007F28 +:10235000007238253C0D200000EDC82530D800FE65 +:102360003C0F8000ADF90830A39800599788005CB5 +:102370001500FF84000000008E630020306200041E +:102380001040FF51938600592404FFFB0064802411 +:102390003C038000AE700020346601808C7301B86D +:1023A0000660FFFE8F98006C347501003C1400013C +:1023B000ACD800008C6B012424076085ACCB0004F2 +:1023C0008EAE000401D488245220000124076083CB +:1023D00024190002A4C700083C0F1000A0D9000B6C +:1023E0003C068000ACCF01B80A001C2B9386005934 +:1023F00030A500FF0E00184A240600018F88006CEB +:102400003C05800034A90900250201889388004812 +:10241000304A0007304B00783C0340802407FF809F +:102420000163C825014980210047F824310C00FFD1 +:1024300024060034ACBF0800AF90004CACB90810C3 +:102440005586FF6E920400048F8400388E11003090 +:10245000908E00D431CD001015A000108F83006045 +:102460002C6F000515E000E400000000909800D4F7 +:102470002465FFFC331200101640000830A400FF52 +:102480008F9F00648F99003413F90004388700018E +:1024900030E20001144001C8000000000E001BC320 +:1024A000000000000A001DF8000000008F84006496 +:1024B00030C500FF0E00184A24060001939800481A +:1024C000240B0034130B00A08F8500388F8600602A +:1024D0009783005C306EFFFF00CE8823AF910060D1 +:1024E000A780005C1280FF90028018212414FFFD59 +:1024F0005474FFA28E6300208E6A00042403FFBF81 +:102500002408FFEF0155F823AE7F000490AC00D4FF +:102510003189007FA0A900D48E7200208F8F0038EF +:10252000A780005C364D0002AE6D0020A5E000BC27 +:1025300091E500D400A3C824A1F900D48F950038F8 +:10254000AEA000EC92B800D403085824A2AB00D48B +:102550000A001CD78F8500388F910034AF8000604F +:1025600002275821AF8B0034000020212403FFFFF5 +:10257000108301B48F8500388E0C00103C0D0800CC +:102580008DAD31B09208000031843FFF008D802B6B +:1025900012000023310D003F3C1908008F3931A88B +:1025A0008F9F006C000479802408FF80033F202166 +:1025B000008FC821938500590328F8243C06008029 +:1025C0003C0F800034D80001001F91403331007F60 +:1025D0008F8600380251502535EE0940332B0078A4 +:1025E000333000073C0310003C02800C017890253A +:1025F000020E48210143C0250222382134AE0001D9 +:10260000ADFF0804AF890050ADF20814AF87004455 +:10261000ADFF0028ACD90084ADF80830A38E005976 +:102620009383005A24070003106700272407000142 +:102630001467FFAC8F8500382411002311B1008589 +:1026400000000000240E000B026020210E001A4A38 +:10265000A38E00680040A0210A001D328F8500383B +:1026600002602021240B000C0E001A4AA38B006884 +:10267000240AFFFF104AFFBD2404FFFF8F8E00389D +:10268000A380003C8E0D00048DC800D83C0600FFDE +:1026900034CCFFFF01AC30240106182B1060FEE2A1 +:1026A000AF86005402602021241200190E001A4A3D +:1026B000A3920068240FFFFF104FFFAC2404FFFF1C +:1026C0000A001C838F86005425A3FFE02C74002091 +:1026D0001280FFDD240E000B000328803C1108014E +:1026E000263194B400B148218D2D000001A00008CE +:1026F000000000008F85003400A710219385003C66 +:10270000AF82003402251821A383003C951F00BC32 +:102710000226282137F91000A51900BC5240FF926B +:10272000AF850060246A0004A38A003C950900BCC0 +:1027300024A40004AF84006035322000A51200BC40 +:102740000A001D54000020218F8600602CC800055F +:102750001500FF609783005C3065FFFF00C5C8234C +:102760002F2F000511E00003306400FF24CDFFFC93 +:1027700031A400FF8F8900648F920034113200046D +:10278000389F000133EC0001158001380000000083 +:102790008F840038908700D434E60010A08600D4DF +:1027A0008F8500388F8600609783005CACA000ECBA +:1027B0000A001D2F306EFFFF8CB500848CB400849E +:1027C0003C04100002A7302400068940328E007FAE +:1027D000022E8025020410253C08800024050001FB +:1027E00002602021240600010E0019A9AD02083064 +:1027F0000A001CC38F8500388C8200EC1222FE7EFA +:102800000260202124090005A38900680E001A4AED +:102810002411FFFF1451FE782404FFFF0A001D5508 +:102820002403FFFF8F8F004C8F8800388DF8000045 +:10283000AD1800888DE70010AD0700988F87006005 +:102840000A001DB78F8600542406FFFF118600057D +:10285000000000000E001B4C026020210A001D8FAA +:102860000040A0210E001AD1026020210A001D8F15 +:102870000040A0218F90004C3C0208008C4231B0F7 +:102880008E110010322C3FFF0182282B10A0000C6B +:10289000240BFF808F85005090A3000D01637024EE +:1028A00031CA00FF1140000702602021001143825D +:1028B000310600032418000110D8010600000000B2 +:1028C000026020212403000D0E001A4AA383006831 +:1028D000004020218F8500380A001D320080A02191 +:1028E0008F90004C3C0A08008D4A31B08F85005013 +:1028F0008E0400100000A0218CB1001430823FFF34 +:10290000004A602B8CB200205180FFEE0260202133 +:1029100090B8000D240BFF800178702431C300FFB4 +:102920005060FFE80260202100044382310600036A +:1029300014C0FFE40260202194BF001C8F9900386E +:102940008E060028A73F00E88CAF0010022F20233E +:1029500014C4013A026020218F83005400C368210F +:10296000022D382B14E00136240200188F8A00440F +:102970008F820030024390218D4B00100163702341 +:10298000AD4E0010AD5200208C4C00740192282BEB +:1029900014A0015F026020218F8400508E08002463 +:1029A0008C86002411060007026020212419001CD7 +:1029B0000E001A4AA3990068240FFFFF104FFFC5AD +:1029C0002404FFFF8F8400448C87002424FF00012F +:1029D000AC9F00241251012F8F8D00308DB10074F7 +:1029E0001232012C3C0B00808E0E000001CB5024D3 +:1029F00015400075000000008E0300142411FFFF35 +:102A0000107100073C0808003C0608008CC6319095 +:102A100000C8C0241300015202602021A380006876 +:102A20008E0300003C19000100792024108000135F +:102A30003C1F0080007FA02416800009020028218E +:102A4000026020212411001A0E001A4AA391006886 +:102A50002407FFFF1047FF9F2404FFFF02002821E7 +:102A6000026020210E001A6A240600012410FFFFD4 +:102A70001050FF982404FFFF241400018F8D0044A0 +:102A8000026020210280302195A900342405000134 +:102A9000253200010E0019A9A5B200340000202142 +:102AA0008F8500380A001D320080A0218F90004CD5 +:102AB0003C1408008E9431B08E07001030E53FFFC3 +:102AC00000B4C82B132000618F8600502412FF80B1 +:102AD00090C9000D0249682431A400FF5080005CB9 +:102AE000026020218F8C00541180000700078B8228 +:102AF0008F8500388F82FCC094BF0080944A000A02 +:102B0000515F00F78F8600403227000314E0006415 +:102B100000000000920E000211C000D8000000006A +:102B20008E0B0024156000D902602021920400035E +:102B300024190002308500FF14B90005308900FF18 +:102B40008F940054128000EA240D002C308900FF7D +:102B5000392C00102D8400012D3200010244302553 +:102B6000020028210E001A6A026020212410FFFFB3 +:102B7000105000BF8F8500388F830054106000D341 +:102B8000240500013C0A08008D4A318C0143F82BD2 +:102B900017E000B22402002D02602021000028214D +:102BA0000E0019A9240600018F85003800001821A5 +:102BB0000A001D320060A0210E0018750000000000 +:102BC0000A001DF800000000AC8000200A001E78FA +:102BD0008E03001400002821026020210E0019A994 +:102BE000240600010A001CC38F8500380A001DB7A7 +:102BF0008F8800388CAA00848CAC00843C031000C1 +:102C00000147F824001F91403189007F024968255F +:102C100001A32825ACC50830910700012405000157 +:102C2000026020210E0019A930E600010A001CC331 +:102C30008F850038938F00482403FFFD0A001D3460 +:102C4000AF8F00600A001D342403FFFF02602021C3 +:102C50002410000D0E001A4AA390006800401821AD +:102C60008F8500380A001D320060A0210E00187503 +:102C7000000000009783005C8F86006000402021E8 +:102C80003070FFFF00D010232C4A00051140FE11C8 +:102C90008F850038ACA400EC0A001D2F306EFFFFBA +:102CA00090CF000D31E300085460FFA192040003AF +:102CB00002602021240200100E001A4AA38200683C +:102CC0002403FFFF5443FF9A920400030A001F12DB +:102CD0008F85003890A4000D308F000811E000951A +:102CE0008F990054572000A6026020218E1F000CEF +:102CF0008CB4002057F40005026020218E0D0008DE +:102D00008CA7002411A7003A026020212402002091 +:102D1000A38200680E001A4A2412FFFF1052FEED33 +:102D20002404FFFF8F9F00442402FFF73C14800E11 +:102D300093EA000D2419FF803C03800001423824EF +:102D4000A3E7000D8F9F00303C0908008D2931ACAE +:102D50008F8C006C97F200788F870044012C302113 +:102D6000324D7FFF000D204000C4782131E5007F07 +:102D700000B4C02101F94024AC68002CA711000068 +:102D80008CEB0028256E0001ACEE00288CEA002CAC +:102D90008E02002C01426021ACEC002C8E09002C2C +:102DA000ACE900308E120014ACF2003494ED003A1D +:102DB00025A40001A4E4003A97E600783C1108003D +:102DC0008E3131B024C3000130707FFF1211005CDE +:102DD000006030218F8F0030026020212405000127 +:102DE0000E001934A5E600780A001EA1000020217B +:102DF0008E0900142412FFFF1132006B8F8A0038F5 +:102E00008E0200188D4C00D0144C00650260202109 +:102E10008E0B00248CAE0028116E005B2402002172 +:102E20000E001A4AA38200681452FFBE2404FFFF5A +:102E30008F8500380A001D320080A0212402001F67 +:102E40000E001A4AA38200682409FFFF1049FEA160 +:102E50002404FFFF0A001E548F83005402602021C7 +:102E60000E001A4AA38200681450FF508F85003864 +:102E70002403FFFF0A001D320060A0218CD800242B +:102E80008E0800241118FF29026020210A001F2744 +:102E90002402000F8E0900003C05008001259024CB +:102EA0001640FF492402001A026020210E001A4A2F +:102EB000A3820068240CFFFF144CFECF2404FFFF04 +:102EC0008F8500380A001D320080A0210E001934C1 +:102ED000026020218F8500380A001EE500001821BD +:102EE0002403FFFD0060A0210A001D32AF860060B0 +:102EF000026020210E001A4AA38D00682403FFFF00 +:102F00001043FF588F8500380A001ECC920400033E +:102F10002418001D0E001A4AA39800682403FFFF1E +:102F20001443FE9D2404FFFF8F8500380A001D32E4 +:102F30000080A021026020210A001F3D24020024FD +:102F4000240880000068C024330BFFFF000B73C20D +:102F500031D000FF001088270A001F6E001133C017 +:102F6000240F001B0E001A4AA38F00681451FEACF8 +:102F70002404FFFF8F8500380A001D320080A02145 +:102F80000A001F3D240200278E0600288CA3002C77 +:102F900010C30008026020210A001F812402001FC4 +:102FA0000A001F812402000E026020210A001F81F6 +:102FB000240200258E04002C1080000D8F8F00301D +:102FC0008DE800740104C02B5700000C0260202122 +:102FD0008CB900140086A0210334282B10A0FF52C6 +:102FE0008F9F0044026020210A001F8124020022DA +:102FF000026020210A001F81240200230A001F8191 +:103000002402002627BDFFD8AFB3001CAFB10014C7 +:10301000AFBF0020AFB20018AFB000103C0280007C +:103020008C5201408C4B01483C048000000B8C0208 +:10303000322300FF317300FF8C8501B804A0FFFE2E +:1030400034900180AE1200008C8701442464FFF0AC +:10305000240600022C830013AE070004A61100080A +:10306000A206000BAE1300241060004F8FBF00209B +:10307000000448803C0A0801254A9534012A402171 +:103080008D04000000800008000000003C030800E0 +:103090008C6331A831693FFF00099980007280215B +:1030A000021370212405FF80264D0100264C00806C +:1030B0003C02800031B1007F3198007F31CA007F2F +:1030C0003C1F800A3C1980043C0F800C01C5202461 +:1030D00001A5302401853824014F1821AC46002475 +:1030E000023F402103194821AC470090AC4400281E +:1030F000AF830044AF880038AF8900300E0019005C +:10310000016080213C0380008C6B01B80560FFFEEC +:103110008F8700448F8600383465018090E8000D69 +:10312000ACB20000A4B0000600082600000416039C +:1031300000029027001227C21080008124C200885C +:10314000241F6082A4BF0008A0A000052402000282 +:10315000A0A2000B8F8B0030000424003C08270045 +:1031600000889025ACB20010ACA00014ACA00024E4 +:10317000ACA00028ACA0002C8D6900382413FF807F +:10318000ACA9001890E3000D02638024320500FF13 +:1031900010A000058FBF002090ED000D31AC007F26 +:1031A000A0EC000D8FBF00208FB3001C8FB2001861 +:1031B0008FB100148FB000103C0A10003C0E80004C +:1031C00027BD002803E00008ADCA01B8265F010052 +:1031D0002405FF8033F8007F3C06800003E5782457 +:1031E0003C19800A03192021ACCF0024908E00D412 +:1031F00000AE682431AC00FF11800024AF84003899 +:10320000248E008895CD00123C0C08008D8C31A8CE +:1032100031AB3FFF01924821000B5180012A402130 +:1032200001052024ACC400283107007F3C06800C37 +:1032300000E620219083000D00A31024304500FFFC +:1032400010A0FFD8AF8400449098000D330F0010F9 +:1032500015E0FFD58FBF00200E0019000000000010 +:103260003C0380008C7901B80720FFFE00000000BD +:10327000AE1200008C7F0144AE1F0004A6110008AE +:1032800024110002A211000BAE1300243C1308010C +:10329000927396F0327000015200FFC38FBF00207E +:1032A0000E002146024020210A0020638FBF00202B +:1032B0003C1260008E452C083C03F0033462FFFF93 +:1032C00000A2F824AE5F2C088E582C083C1901C0CF +:1032D00003199825AE532C080A0020638FBF0020E5 +:1032E000264D010031AF007F3C10800A240EFF8084 +:1032F00001F0282101AE60243C0B8000AD6C00245D +:103300001660FFA8AF85003824110003A0B100FCAF +:103310000A0020638FBF002026480100310A007F89 +:103320003C0B800A2409FF80014B30210109202435 +:103330003C078000ACE400240A002062AF8600381D +:10334000944E0012320C3FFF31CD3FFF15ACFF7D94 +:10335000241F608290D900D42418FF800319782498 +:1033600031EA00FF1140FF7700000000240700044D +:10337000A0C700FC8F870044241160842406000D40 +:10338000A4B10008A0A600050A00204D24020002F6 +:103390003C040001248496DC24030014240200FE73 +:1033A0003C010800AC2431EC3C010800AC2331E8BE +:1033B0003C010801A42296F83C040801248496F8F4 +:1033C0000000182100643021A0C300042463000120 +:1033D0002C6500FF54A0FFFC006430213C0708006E +:1033E00024E7010003E00008AF87007800A058211F +:1033F000008048210000102114A00012000050217C +:103400000A002142000000003C010801A42096F8B7 +:103410003C05080194A596F88F8200783C0C0801C1 +:10342000258C96F800E2182100AC2021014B302BAE +:10343000A089000400001021A460000810C0003919 +:10344000010048218F8600780009384000E94021BA +:103450000008388000E6282190A8000B90B9000AE7 +:103460000008204000881021000218800066C0215A +:10347000A319000A8F85007800E5782191EE000AF3 +:1034800091E6000B000E684001AE6021000C208028 +:1034900000851021A046000B3C030801906396F2C2 +:1034A000106000222462FFFF8F8300383C01080176 +:1034B000A02296F2906C00FF118000040000000032 +:1034C000906E00FF25CDFFFFA06D00FF3C190801A5 +:1034D000973996F8272300013078FFFF2F0F00FF60 +:1034E00011E0FFC9254A00013C010801A42396F818 +:1034F0003C05080194A596F88F8200783C0C0801E1 +:10350000258C96F800E2182100AC2021014B302BCD +:10351000A089000400001021A460000814C0FFC9A5 +:103520000100482103E000080000000003E000085B +:103530002402000227BDFFE0248501002407FF804C +:10354000AFB00010AFBF0018AFB1001400A718242F +:103550003C10800030A4007F3C06800A00862821B1 +:103560008E110024AE03002490A200FF1440000836 +:10357000AF850038A0A000098FBF0018AE1100244D +:103580008FB100148FB0001003E0000827BD0020A9 +:1035900090A900FD90A800FF312400FF0E0020F448 +:1035A000310500FF8F8500388FBF0018A0A00009EB +:1035B000AE1100248FB100148FB0001003E000089A +:1035C00027BD002027BDFFD0AFB20020AFB1001C47 +:1035D000AFB00018AFBF002CAFB40028AFB30024C9 +:1035E0003C0980009533011635320C00952F011AE5 +:1035F0003271FFFF023280218E08000431EEFFFF9E +:10360000248B0100010E6821240CFF8025A5FFFFFB +:10361000016C50243166007F3C07800AAD2A0024EB +:1036200000C73021AF850074AF8800703C010801ED +:10363000A02096F190C300090200D02100809821BB +:10364000306300FF2862000510400048AF86003854 +:10365000286400021480008E24140001240D00054B +:103660003C010801A02D96D590CC00FD3C0108013D +:10367000A02096D63C010801A02096D790CB000A46 +:10368000240AFF80318500FF014B4824312700FFC9 +:1036900010E0000C000058213C12800836510080D8 +:1036A0008E2F00308CD0005C01F0702305C0018E9D +:1036B0008F87007090D4000A3284007FA0C4000A73 +:1036C0008F8600383C118008363000808E0F003025 +:1036D0008F87007000EF702319C000EE000000001B +:1036E00090D4000924120002328400FF1092024795 +:1036F000000000008CC2005800E2F82327F9FFFF09 +:103700001B2001300000000090C5000924080004BF +:1037100030A300FF10680057240A00013C01080193 +:10372000A02A96D590C900FF252700013C01080179 +:10373000A02796D43C030801906396D52406000583 +:103740001066006A2C780005130000C40000902168 +:103750000003F8803C0408012484958003E4C82118 +:103760008F25000000A0000800000000241800FFC2 +:103770001078005C0000000090CC000A90CA00099C +:103780003C080801910896F13187008000EA48253D +:103790003C010801A02996DC90C500FD3C140801FD +:1037A000929496F2311100013C010801A02596DDAA +:1037B00090DF00FE3C010801A03F96DE90D200FFA2 +:1037C0003C010801A03296DF8CD900543C0108016D +:1037D000AC3996E08CD000583C010801AC3096E43E +:1037E0008CC3005C3C010801AC3496EC3C01080140 +:1037F000AC2396E8162000088FBF002C8FB4002859 +:103800008FB300248FB200208FB1001C8FB000183E +:1038100003E0000827BD00303C1180009624010E13 +:103820000E000FD43094FFFF3C0B08018D6B96F413 +:103830000260382102802821AE2B01803C13080150 +:103840008E7396D401602021240600830E00102F71 +:10385000AFB300108FBF002C8FB400288FB30024AB +:103860008FB200208FB1001C8FB0001803E0000859 +:1038700027BD00303C1808008F1831FC270F0001CD +:103880003C010800AC2F31FC0A0021D700000000E9 +:103890001474FFB900000000A0C000FF3C05080040 +:1038A0008CA531E43C0308008C6331E03C02080045 +:1038B0008C4232048F99003834A80001241F000282 +:1038C0003C010801AC2396F43C010801A02896F0C5 +:1038D0003C010801A02296F3A33F00090A002190B1 +:1038E0008F8600380E002146000000000A0021D714 +:1038F0008F8600383C1F080193FF96D424190001DD +:1039000013F902298F8700703C100801921096D895 +:103910003C06080190C696D610C000050200A02102 +:103920003C040801908496D9109001E48F870078B8 +:10393000001088408F9F0078023048210009C8801D +:10394000033F702195D80008270F0001A5CF00087C +:103950003C040801908496D93C05080190A596D6B0 +:103960000E0020F4000000008F8700780230202134 +:103970000004308000C720218C8500048F820074F1 +:1039800000A2402305020006AC8200048C8A0000DD +:103990008F830070014310235C400001AC83000062 +:1039A0008F86003890CB00FF2D6C00025580002DD3 +:1039B000241400010230F821001F40800107282153 +:1039C00090B9000B8CAE00040019C0400319782197 +:1039D000000F1880006710218C4D000001AE882375 +:1039E0002630FFFF5E00001F241400018C440004F9 +:1039F0008CAA0000008A482319200019240E000414 +:103A00003C010801A02E96D590AD000B8CAB0004B4 +:103A1000000D8840022D80210010108000471021E9 +:103A20008C44000401646023058202009443000872 +:103A300090DF00FE90B9000B33E500FF54B900049D +:103A40000107A021A0D400FE8F8700780107A021E4 +:103A50009284000B0E0020F4240500018F860038AC +:103A600024140001125400962E500001160000424A +:103A70003C08FFFF241900021659FF3F0000000018 +:103A8000A0C000FF8F860038A0D200090A0021D70D +:103A90008F86003890C700092404000230E300FF3D +:103AA0001064016F24090004106901528F880074AA +:103AB0008CCE0054010E682325B10001062001754B +:103AC000241800043C010801A03896D53C010801E7 +:103AD000A02096D490D400FD90D200FF2E4F00027B +:103AE00015E0FF14328400FF000438408F8900780D +:103AF00090DF00FF00E41021000220800089C8212F +:103B00002FE500029324000B14A0FF0A24070002F3 +:103B100000041840006480210010588001692821A9 +:103B20008CAC0004010C50230540FF020000000093 +:103B30003C030801906396D614600005246F0001D1 +:103B40003C010801A02496D93C010801A02796D782 +:103B50003C010801A02F96D690CE00FF24E700017B +:103B600031CD00FF01A7882B1220FFE990A4000BA4 +:103B70000A0021C6000000003C0508018CA596D46F +:103B80003C12000400A8F82413F2000624020005E9 +:103B90003C090801912996D5152000022402000352 +:103BA000240200053C010801A02296F190C700FF05 +:103BB00014E0012024020002A0C200090A0021D75B +:103BC0008F86003890CC00FF1180FEDA240A0001B5 +:103BD0008F8C00748F890078240F00030180682186 +:103BE0001160001E240E0002000540400105A021C6 +:103BF00000142080008990218E51000401918023BF +:103C00000600FECC000000003C020801904296D65F +:103C100014400005245800013C010801A02A96D751 +:103C20003C010801A02596D93C010801A03896D690 +:103C300090DF00FF010510210002C88033E500FF7E +:103C4000254A00010329202100AA402B1500FEB9B6 +:103C50009085000B1560FFE50005404000054040E1 +:103C600001051821000310803C010801A02A96D408 +:103C70003C010801A02596D8004918218C64000455 +:103C800000E4F82327F9FFFF1F20FFE900000000F0 +:103C90008C63000000E358230560013A01A38823E8 +:103CA00010E301170184C0231B00FEA200000000E6 +:103CB0003C010801A02E96D50A002305240B000123 +:103CC000240E0004A0CE00093C0D08008DAD31F893 +:103CD0008F86003825A200013C010800AC2231F893 +:103CE0000A0021D7000000008CD9005C00F9C02335 +:103CF0001F00FE7B000000008CDF005C10FFFF65F2 +:103D00008F8400748CC3005C008340232502000173 +:103D10001C40FF60000000008CC9005C248700018B +:103D200000E9282B10A0FE943C0D80008DAB01040F +:103D30003C0C0001016C50241140FE8F2402001045 +:103D40003C010801A02296F10A0021D700000000E2 +:103D50008F9100748F86003826220001ACC2005C6F +:103D60000A002292241400018F8700382404FF8067 +:103D70000000882190E9000A241400010124302564 +:103D8000A0E6000A3C05080190A596D63C0408016F +:103D9000908496D90E0020F4000000008F86003831 +:103DA0008F85007890C800FD310700FF0007404074 +:103DB0000107F821001FC0800305C8219323000BD1 +:103DC000A0C300FD8F8500788F8600380305602131 +:103DD000918F000B000F704001CF6821000D808093 +:103DE000020510218C4B0000ACCB00548D840004E4 +:103DF0008F83007400645023194000022482000164 +:103E00002462000101074821ACC2005C0009308037 +:103E100000C5402100E02021240500010E0020F40F +:103E20009110000B8F86003890C500FF10A0FF0C8A +:103E3000001070408F85007801D06821000D10803F +:103E4000004558218D6400008F8C0074018450233C +:103E50002547000104E0FF02263100013C03080170 +:103E6000906396D62E2F0002247800013C010801B1 +:103E7000A03896D63C010801A03496D711E0FEF890 +:103E8000020038210A002365000740408F84003873 +:103E90008F8300748C85005800A340230502FE9A8E +:103EA000AC8300580A00223B000000003C070801D8 +:103EB00090E796F2240200FF10E200BE8F860038E1 +:103EC0003C110801963196FA3C030801246396F8E8 +:103ED000262500013230FFFF30ABFFFF02036021D7 +:103EE0002D6A00FF1540008D918700043C010801F8 +:103EF000A42096FA8F88003800074840012728211F +:103F0000911800FF000530802405000127140001EE +:103F1000A11400FF3C120801925296F28F8800789B +:103F20008F8E0070264F000100C820213C0108013F +:103F3000A02F96F2AC8E00008F8D0074A48500082F +:103F4000AC8D00043C030801906396D414600077A4 +:103F5000000090213C010801A02596D4A087000B09 +:103F60008F8C007800CC5021A147000A8F82003846 +:103F7000A04700FD8F840038A08700FE8F860038A0 +:103F80008F9F0070ACDF00548F990074ACD900583B +:103F90008F8D00780127C02100185880016DA02165 +:103FA000928F000A000F704001CF18210003888013 +:103FB000022D8021A207000B8F8600780166602108 +:103FC000918A000B000A1040004A2021000428803A +:103FD00000A64021A107000A3C07800834E90080C0 +:103FE0008D2200308F860038ACC2005C0A0022921D +:103FF0002414000190CA00FF1540FEAD8F880074A4 +:10400000A0C400090A0021D78F860038A0C000FD97 +:104010008F98003824060001A30000FE3C0108012F +:10402000A02696D53C010801A02096D40A0021C6FE +:104030000000000090CB00FF3C040801908496F340 +:10404000316C00FF0184502B1540000F2402000347 +:1040500024020004A0C200090A0021D78F8600387C +:1040600090C3000A2410FF8002035824316C00FF23 +:104070001180FDC1000000003C010801A02096D580 +:104080000A0021C600000000A0C200090A0021D7D2 +:104090008F86003890D4000A2412FF8002544824EE +:1040A000312800FF1500FFF4240200083C0108013C +:1040B000A02296F10A0021D70000000000108840DD +:1040C0008F8B0070023018210003688001A7202127 +:1040D000AC8B00008F8A0074240C0001A48C0008B3 +:1040E000AC8A00043C05080190A596D62402000184 +:1040F00010A2FE1E24A5FFFF0A0022519084000B8F +:104100000184A0231A80FD8B000000003C010801FF +:10411000A02E96D50A002305240B00013C010801BE +:10412000A42596FA0A0023B78F880038240B0001D3 +:10413000106B00228F9800388F85003890BF00FFE9 +:1041400033F900FF1079002B000000003C1F08012C +:1041500093FF96D8001FC840033FC0210018A080DD +:104160000288782191EE000AA08E000A8F8D0078D7 +:104170003C030801906396D800CD88210A0023DD16 +:10418000A223000B263000010600003101A4902379 +:104190000640002B240200033C010801A02F96D505 +:1041A0000A002305240B00018F8900380A00223BF6 +:1041B000AD2700540A00229124120001931400FD3F +:1041C000A094000B8F8800388F8F0078910E00FE2E +:1041D00000CF6821A1AE000A8F910038A22700FD10 +:1041E0008F8300708F900038AE0300540A0023DEE6 +:1041F0008F8D007890B000FEA090000A8F8B003861 +:104200008F8C0078916A00FD00CC1021A04A000B31 +:104210008F840038A08700FE8F8600748F85003859 +:10422000ACA600580A0023DE8F8D007894B80008F1 +:10423000ACA40004030378210A002285A4AF00087F +:104240003C010801A02296D50A0021C6000000000A +:1042500090CF0009240D000431EE00FF11CDFD8543 +:10426000240200013C010801A02296D50A0021C6C3 +:1042700000000000080033440800334408003420E4 +:10428000080033F4080033D8080033280800332826 +:10429000080033280800334C8008010080080080A3 +:1042A000800800005F865437E4AC62CC50103A4579 +:1042B00036621985BF14C0E81BC27A1E84F4B55655 +:1042C000094EA6FE7DDA01E7C04D748108005A74DC +:1042D00008005AB808005A5C08005A5C08005A5C8A +:1042E00008005A5C08005A7408005A5C08005A5CBE +:1042F00008005AC008005A5C080059D408005A5CEB +:1043000008005A5C08005AC008005A5C08005A5C51 +:1043100008005A5C08005A5C08005A5C08005A5CA5 +:1043200008005A5C08005A5C08005A5C08005A5C95 +:1043300008005A9408005A5C08005A9408005A5C15 +:1043400008005A5C08005A5C08005A9808005A9401 +:1043500008005A5C08005A5C08005A5C08005A5C65 +:1043600008005A5C08005A5C08005A5C08005A5C55 +:1043700008005A5C08005A5C08005A5C08005A5C45 +:1043800008005A5C08005A5C08005A5C08005A5C35 +:1043900008005A5C08005A5C08005A5C08005A5C25 +:1043A00008005A9808005A9808005A5C08005A9861 +:1043B00008005A5C08005A5C08005A5C08005A5C05 +:1043C00008005A5C08005A5C08005A5C08005A5CF5 +:1043D00008005A5C08005A5C08005A5C08005A5CE5 +:1043E00008005A5C08005A5C08005A5C08005A5CD5 +:1043F00008005A5C08005A5C08005A5C08005A5CC5 +:1044000008005A5C08005A5C08005A5C08005A5CB4 +:1044100008005A5C08005A5C08005A5C08005A5CA4 +:1044200008005A5C08005A5C08005A5C08005A5C94 +:1044300008005A5C08005A5C08005A5C08005A5C84 +:1044400008005A5C08005A5C08005A5C08005A5C74 +:1044500008005A5C08005A5C08005A5C08005A5C64 +:1044600008005A5C08005A5C08005A5C08005A5C54 +:1044700008005A5C08005A5C08005A5C08005A5C44 +:1044800008005A5C08005A5C08005A5C08005A5C34 +:1044900008005A5C08005A5C08005A5C08005A5C24 +:1044A00008005A5C08005A5C08005A5C08005A5C14 +:1044B00008005A5C08005A5C08005A5C08005A5C04 +:1044C00008005A5C08005A5C08005A5C08005ADC74 +:1044D0000800782C08007A900800783808007628C0 +:1044E00008007838080078C4080078380800762872 +:1044F0000800762808007628080076280800762824 +:104500000800762808007628080076280800762813 +:1045100008007628080078580800784808007628AF +:1045200008007628080076280800762808007628F3 +:1045300008007628080076280800762808007628E3 +:1045400008007628080076280800762808007848B1 +:10455000080082FC08008188080082C40800818865 +:104560000800829408008070080081880800818813 +:1045700008008188080081880800818808008188F7 +:1045800008008188080081880800818808008188E7 +:104590000800818808008188080081B008008D34F7 +:1045A00008008E9008008E70080088D808008D4C96 +:1045B0000A00012400000000000000000000000DBF +:1045C000747061362E322E31620000000602010145 +:1045D00000000000000000000000000000000000DB +:1045E00000000000000000000000000000000000CB +:1045F00000000000000000000000000000000000BB +:1046000000000000000000000000000000000000AA +:10461000000000000000000000000000000000009A +:10462000000000000000000000000000000000008A +:10463000000000000000000000000000000000007A +:104640000000000010000003000000000000000D4A +:104650000000000D3C020800244217203C03080023 +:1046600024632A10AC4000000043202B1480FFFD7F +:10467000244200043C1D080037BD2FFC03A0F0219C +:104680003C100800261004903C1C0800279C1720B2 +:104690000E000262000000000000000D2402FF80F6 +:1046A00027BDFFE000821024AFB00010AF42002011 +:1046B000AFBF0018AFB10014936500043084007FD1 +:1046C000034418213C0200080062182130A5002094 +:1046D000036080213C080111277B000814A0000220 +:1046E0002466005C2466005892020004974301048B +:1046F000920400043047000F3063FFFF3084004015 +:10470000006728231080000900004821920200055C +:1047100030420004104000050000000010A000031B +:104720000000000024A5FFFC2409000492020005FB +:1047300030420004104000120000000010A00010E1 +:10474000000000009602000200A72021010440257D +:104750002442FFFEA7421016920300042402FF80A9 +:1047600000431024304200FF104000033C020400CC +:104770000A000174010240258CC20000AF421018EB +:104780008F4201780440FFFE2402000AA742014044 +:1047900096020002240400093042000700021023A0 +:1047A00030420007A7420142960200022442FFFE67 +:1047B000A7420144A740014697420104A74201488D +:1047C0008F420108304200205040000124040001C3 +:1047D00092020004304200101440000234830010A2 +:1047E00000801821A743014A0000000000000000DB +:1047F0000000000000000000AF48100000000000B2 +:104800000000000000000000000000008F421000C7 +:104810000441FFFE3102FFFF1040000700000000CE +:1048200092020004304200401440000300000000E7 +:104830008F421018ACC20000960200063042FFFF03 +:10484000244200020002104300021040036288214B +:10485000962200001120000D3044FFFF00A7102118 +:104860008F8300388F45101C0002108200021080D8 +:1048700000431021AC45000030A6FFFF0E00058D5F +:1048800000052C0200402021A62200009203000413 +:104890002402FF8000431024304200FF1040001F1C +:1048A0000000000092020005304200021040001B90 +:1048B000000000009742100C2442FFFEA742101691 +:1048C000000000003C02040034420030AF421000FF +:1048D00000000000000000000000000000000000D8 +:1048E0008F4210000441FFFE000000009742100CB0 +:1048F0008F45101C3042FFFF24420030000210821E +:1049000000021080005B1021AC45000030A6FFFFC4 +:104910000E00058D00052C02A62200009604000260 +:10492000248400080E0001E93084FFFF974401044D +:104930000E0001F73084FFFF8FBF00188FB1001405 +:104940008FB000103C02100027BD002003E00008DB +:10495000AF4201783084FFFF308200078F8500244A +:1049600010400002248300073064FFF800A41021E7 +:1049700030421FFF03421821247B4000AF850028EE +:10498000AF82002403E00008AF4200843084FFFFC0 +:104990003082000F8F85002C8F860034104000027B +:1049A0002483000F3064FFF000A410210046182B70 +:1049B000AF8500300046202314600002AF82002C37 +:1049C000AF84002C8F82002C340480000342182115 +:1049D00000641821AF83003803E00008AF42008074 +:1049E0008F820014104000088F8200048F82FFDC49 +:1049F000144000058F8200043C02FFBF3442FFFFD9 +:104A0000008220248F82000430430006240200022A +:104A10001062000F3C0201012C62000350400005AF +:104A2000240200041060000F3C0200010A00023062 +:104A30000000000010620005240200061462000C51 +:104A40003C0201110A000229008210253C020011DB +:104A500000821025AF421000240200010A0002303B +:104A6000AF82000C00821025AF421000AF80000C16 +:104A700000000000000000000000000003E000084B +:104A8000000000008F82000C1040000400000000B5 +:104A90008F4210000441FFFE0000000003E0000808 +:104AA000000000008F8200102443F800000231C291 +:104AB00024C2FFF02C6303011060000300021042C7 +:104AC0000A000257AC8200008F85001800C5102B29 +:104AD0001440000B0000182100C5102324470001DA +:104AE0008F82001C00A210212442FFFF0046102BE1 +:104AF000544000042402FFFF0A000257AC87000064 +:104B00002402FFFF0A000260AC8200008C820000D9 +:104B10000002194000621821000318800062182169 +:104B2000000318803C0208002442175C0062182130 +:104B300003E000080060102127BDFFD8AFBF0020B0 +:104B4000AFB1001CAFB000183C0460088C8250006C +:104B50002403FF7F3C066000004310243442380CDD +:104B6000AC8250008CC24C1C3C1A80000002160221 +:104B70003042000F10400007AF82001C8CC34C1C59 +:104B80003C02001F3442FC0000621824000319C2DA +:104B9000AF8300188F420008275B400034420001B9 +:104BA000AF420008AF8000243C02601CAF40008090 +:104BB000AF4000848C4500088CC308083402800094 +:104BC000034220212402FFF0006218243C020080EE +:104BD0003C010800AC2204203C025709AF84003895 +:104BE00014620004AF850034240200010A0002921E +:104BF000AF820014AF8000148F42000038420001E1 +:104C0000304200011440FFFC8F8200141040001657 +:104C10000000000097420104104000058F8300004F +:104C2000146000072462FFFF0A0002A72C62000A3A +:104C30002C620010504000048F83000024620001A9 +:104C4000AF8200008F8300002C62000A1440000332 +:104C50002C6200070A0002AEAF80FFDC10400002A9 +:104C600024020001AF82FFDC8F4301088F44010062 +:104C700030622000AF83000410400008AF840010B1 +:104C80003C0208008C42042C244200013C01080034 +:104C9000AC22042C0A00058A3C0240003065020068 +:104CA00014A0000324020F001482026024020D00ED +:104CB00097420104104002C83C02400030624000AC +:104CC000144000AD8F8200388C4400088F42017878 +:104CD0000440FFFE24020800AF42017824020008CD +:104CE000A7420140A7400142974201048F8400047B +:104CF0003051FFFF30820001104000070220802168 +:104D00002623FFFE240200023070FFFFA742014667 +:104D10000A0002DBA7430148A74001463C02080005 +:104D20008C42043C1440000D8F8300103082002020 +:104D30001440000224030009240300010060202124 +:104D40008F830010240209005062000134840004A3 +:104D5000A744014A0A0002F60000000024020F00E6 +:104D60001462000530820020144000062403000D68 +:104D70000A0002F524030005144000022403000980 +:104D800024030001A743014A3C0208008C4204208E +:104D90003C0400480E00020C004420250E000235A1 +:104DA000000000008F82000C1040003E0000000058 +:104DB0008F4210003C0300200043102410400039B3 +:104DC0008F820004304200021040003600000000D4 +:104DD000974210141440003300000000974210085E +:104DE0008F8800383042FFFF2442000600021882FC +:104DF0000003388000E83021304300018CC40000FB +:104E000010600004304200030000000D0A00033768 +:104E100000E81021544000103084FFFF3C05FFFFE4 +:104E200000852024008518260003182B0004102B71 +:104E300000431024104000050000000000000000A6 +:104E40000000000D00000000240002228CC20000BF +:104E50000A000336004520253883FFFF0003182B86 +:104E60000004102B00431024104000050000000037 +:104E7000000000000000000D000000002400022BD4 +:104E80008CC200003444FFFF00E81021AC44000055 +:104E90003C0208008C420430244200013C0108001E +:104EA000AC2204308F6200008F840038AF8200088B +:104EB0008C8300003402FFFF1462000F00001021F9 +:104EC0003C0508008CA504543C0408008C84045064 +:104ED00000B0282100B0302B008220210086202144 +:104EE0003C010800AC2504543C010800AC240450EB +:104EF0000A000580240400088C8200003042010072 +:104F00001040000F000010213C0508008CA5044C47 +:104F10003C0408008C84044800B0282100B0302BE9 +:104F200000822021008620213C010800AC25044C91 +:104F30003C010800AC2404480A0005802404000851 +:104F40003C0508008CA504443C0408008C84044003 +:104F500000B0282100B0302B0082202100862021C3 +:104F60003C010800AC2504443C010800AC2404408A +:104F70000A000580240400088F6200088F62000088 +:104F800000021602304300F02402003010620005D7 +:104F900024020040106200E08F8200200A00058891 +:104FA0002442000114A000050000000000000000E1 +:104FB0000000000D00000000240002568F4201781E +:104FC0000440FFFE000000000E00023D27A4001078 +:104FD0001440000500408021000000000000000D8A +:104FE000000000002400025D8E0200001040000559 +:104FF00000000000000000000000000D00000000A4 +:10500000240002608F62000C0443000324020001AC +:105010000A00042EAE000000AE0200008F820038AD +:105020008C480008A20000078F65000C8F64000404 +:1050300030A3FFFF0004240200852023308200FFFC +:105040000043102124420005000230832CC200815D +:10505000A605000A14400005A20400040000000098 +:105060000000000D00000000240002788F85003849 +:105070000E0005AB260400148F6200048F43010864 +:10508000A60200083C02100000621824106000080C +:105090000000000097420104920300072442FFEC45 +:1050A000346300023045FFFF0A0003C3A203000778 +:1050B000974201042442FFF03045FFFF96060008A6 +:1050C0002CC200135440000592030007920200070F +:1050D00034420001A20200079203000724020001EB +:1050E00010620005240200031062000B8F8200385A +:1050F0000A0003E030C6FFFF8F8200383C04FFFF48 +:105100008C43000C0064182400651825AC43000C87 +:105110000A0003E030C6FFFF3C04FFFF8C43001091 +:105120000064182400651825AC43001030C6FFFF4A +:1051300024C2000200021083A20200058F830038FF +:10514000304200FF00021080004328218CA800009C +:105150008CA2000024030004000217021443001272 +:1051600000000000974201043C03FFFF01031824E4 +:105170003042FFFF004610232442FFFE006240251C +:10518000ACA8000092030005306200FF000210800E +:1051900000501021904200143042000F00431021B3 +:1051A0000A000415A20200068CA400049742010420 +:1051B0009603000A3088FFFF3042FFFF00461023AD +:1051C0002442FFD60002140001024025ACA80004CE +:1051D000920200079204000524630028000318834C +:1051E0000064182134420004A2030006A202000752 +:1051F0008F8200042403FFFB34420002004310248A +:10520000AF820004920300068F87003800031880E5 +:10521000007010218C4400203C02FFF63442FFFF56 +:105220000082402400671821AE04000CAC68000C1A +:10523000920500063C03FF7F8E02000C00052880CB +:1052400000B020213463FFFF01033024948800263E +:1052500000A7282100431024AE02000CAC860020D9 +:10526000AC880024ACA8001024020010A742014022 +:1052700024020002A7400142A7400144A742014680 +:10528000974201043C0400082442FFFEA742014863 +:10529000240200010E00020CA742014A9603000AF4 +:1052A0009202000400431021244200023042000711 +:1052B00000021023304200070E000235AE0200103B +:1052C0008F6200003C0308008C6304442404001037 +:1052D000AF820008974201043042FFFF2442FFFEE4 +:1052E00000403821000237C33C0208008C420440D1 +:1052F000006718210067282B004610210045102167 +:105300003C010800AC2304443C010800AC220440EA +:105310000A0005150000000014A0000500000000B0 +:10532000000000000000000D000000002400030A3F +:105330008F4201780440FFFE000000000E00023D95 +:1053400027A4001414400005004080210000000044 +:105350000000000D00000000240003118E02000078 +:105360005440000692020007000000000000000DFB +:10537000000000002400031C9202000730420004D9 +:10538000104000058F8200042403FFFB344200021A +:1053900000431024AF8200048F620004044300081D +:1053A00092020007920200068E03000CAE0000007D +:1053B0000002108000501021AC4300209202000730 +:1053C00030420004544000099602000A920200058F +:1053D0003C03000100021080005010218C46001890 +:1053E00000C33021AC4600189602000A9206000461 +:1053F000277100080220202100C2302124C60005A8 +:10540000260500140E0005AB00063082920400064B +:105410008F6500043C027FFF000420800091202162 +:105420008C8300043442FFFF00A228240065182169 +:10543000AC8300049202000792040005920300046A +:10544000304200041040001496070008308400FF2A +:1054500000042080009120218C86000497420104E2 +:105460009605000A306300FF3042FFFF0043102121 +:105470000045102130E3FFFF004310232442FFD8F2 +:1054800030C6FFFF0002140000C23025AC860004C5 +:105490000A0004C992030007308500FF0005288038 +:1054A00000B128218CA4000097420104306300FF62 +:1054B0003042FFFF00431021004710233C03FFFF51 +:1054C000008320243042FFFF00822025ACA400008E +:1054D0009203000724020001106200060000000091 +:1054E0002402000310620011000000000A0004EC16 +:1054F0008E03001097420104920300049605000AEF +:105500008E24000C00431021004510212442FFF29C +:105510003C03FFFF008320243042FFFF0082202550 +:10552000AE24000C0A0004EC8E0300109742010424 +:10553000920300049605000A8E24001000431021F7 +:10554000004510212442FFEE3C03FFFF008320248E +:105550003042FFFF00822025AE2400108E03001091 +:105560002402000AA7420140A74301429603000A11 +:10557000920200043C04004000431021A742014471 +:10558000A740014697420104A742014824020001B6 +:105590000E00020CA742014A0E0002350000000076 +:1055A0008F6200009203000400002021AF820008F7 +:1055B000974201049606000A3042FFFF006218215C +:1055C000006028213C0308008C6304443C0208006E +:1055D0008C42044000651821004410210065382BDE +:1055E000004710213C010800AC2304443C010800A2 +:1055F000AC22044092040004008620212484000A86 +:105600003084FFFF0E0001E9000000009744010410 +:105610003084FFFF0E0001F7000000003C02100084 +:10562000AF4201780A0005878F820020148200278C +:105630003062000697420104104000673C024000BF +:105640003062400010400005000000000000000033 +:105650000000000D00000000240004208F420178AB +:105660000440FFFE24020800AF4201782402000833 +:10567000A7420140A74001428F82000497430104E2 +:1056800030420001104000073070FFFF2603FFFE8C +:1056900024020002A7420146A74301480A00053F31 +:1056A0002402000DA74001462402000DA742014A32 +:1056B0008F62000024040008AF8200080E0001E998 +:1056C000000000000A0005190200202110400042DD +:1056D0003C02400093620000304300F024020010BE +:1056E0001062000524020070106200358F820020D5 +:1056F0000A000588244200018F62000097430104DC +:105700003050FFFF3071FFFF8F4201780440FFFEF1 +:105710003202000700021023304200072403000A6F +:105720002604FFFEA7430140A7420142A7440144CB +:10573000A7400146A75101488F420108304200208E +:10574000144000022403000924030001A743014A76 +:105750000E00020C3C0400400E0002350000000068 +:105760003C0708008CE70444021110212442FFFE8C +:105770003C0608008CC604400040182100E3382194 +:10578000000010218F65000000E3402B00C2302193 +:105790002604000800C830213084FFFFAF850008D0 +:1057A0003C010800AC2704443C010800AC2604403E +:1057B0000E0001E9000000000A0005190220202166 +:1057C0000E00013B000000008F82002024420001F7 +:1057D000AF8200203C024000AF4201380A00029232 +:1057E000000000003084FFFF30C6FFFF00052C00E2 +:1057F00000A628253882FFFF004510210045282BF0 +:105800000045102100021C023042FFFF004310211E +:1058100000021C023042FFFF004310213842FFFF0C +:1058200003E000083042FFFF3084FFFF30A5FFFF98 +:1058300000001821108000070000000030820001E5 +:105840001040000200042042006518210A0005A152 +:105850000005284003E000080060102110C0000689 +:1058600024C6FFFF8CA2000024A50004AC82000027 +:105870000A0005AB2484000403E0000800000000D7 +:1058800010A0000824A3FFFFAC8600000000000069 +:10589000000000002402FFFF2463FFFF1462FFFAF0 +:1058A0002484000403E00008000000000000000160 +:1058B0000A00002A00000000000000000000000DA7 +:1058C000747870362E322E3162000000060201001C +:1058D00000000000000001360000EA600000000047 +:1058E00000000000000000000000000000000000B8 +:1058F00000000000000000000000000000000000A8 +:105900000000000000000000000000000000000097 +:105910000000001600000000000000000000000071 +:105920000000000000000000000000000000000077 +:105930000000000000000000000000000000000067 +:1059400000000000000000000000138800000000BC +:10595000000005DC00000000000000001000000353 +:10596000000000000000000D0000000D3C020800D7 +:1059700024423D683C0308002463401CAC40000006 +:105980000043202B1480FFFD244200043C1D08002E +:1059900037BD7FFC03A0F0213C100800261000A8B2 +:1059A0003C1C0800279C3D680E00044E00000000CF +:1059B0000000000D27BDFFB4AFA10000AFA200049E +:1059C000AFA30008AFA4000CAFA50010AFA6001451 +:1059D000AFA70018AFA8001CAFA90020AFAA0024F1 +:1059E000AFAB0028AFAC002CAFAD0030AFAE003491 +:1059F000AFAF0038AFB8003CAFB90040AFBC004417 +:105A0000AFBF00480E000591000000008FBF0048A6 +:105A10008FBC00448FB900408FB8003C8FAF003876 +:105A20008FAE00348FAD00308FAC002C8FAB0028D0 +:105A30008FAA00248FA900208FA8001C8FA7001810 +:105A40008FA600148FA500108FA4000C8FA3000850 +:105A50008FA200048FA1000027BD004C3C1B6004F6 +:105A60008F7A5030377B502803400008AF7A00000F +:105A70008F86003C3C0390003C0280000086282575 +:105A800000A32025AC4400203C0380008C6700204C +:105A900004E0FFFE0000000003E00008000000003A +:105AA0000A000070240400018F85003C3C04800043 +:105AB0003483000100A3102503E00008AC8200201D +:105AC00003E00008000010213084FFFF30A5FFFF35 +:105AD00010800007000018213082000110400002F1 +:105AE00000042042006518211480FFFB00052840B7 +:105AF00003E000080060102110C000070000000053 +:105B00008CA2000024C6FFFF24A50004AC82000084 +:105B100014C0FFFB2484000403E000080000000020 +:105B200010A0000824A3FFFFAC86000000000000C6 +:105B3000000000002402FFFF2463FFFF1462FFFA4D +:105B40002484000403E000080000000090AA003153 +:105B50008FAB00108CAC00403C0300FF8D6800044C +:105B6000AD6C00208CAD004400E060213462FFFF8A +:105B7000AD6D00248CA700483C09FF000109C0243A +:105B8000AD6700288CAE004C0182C824031978252B +:105B9000AD6F0004AD6E002C8CAD0038314A00FFB3 +:105BA000AD6D001C94A900323128FFFFAD680010D4 +:105BB00090A70030A5600002A1600004A16700006A +:105BC00090A30032306200FF0002198210600005CD +:105BD000240500011065000E0000000003E000082D +:105BE000A16A00018CD80028354A0080AD780018E1 +:105BF0008CCF0014AD6F00148CCE0030AD6E000859 +:105C00008CC4002CA16A000103E00008AD64000C04 +:105C10008CCD001CAD6D00188CC90014AD6900144A +:105C20008CC80024AD6800088CC70020AD67000C4C +:105C30008CC200148C8300700043C82B1320000713 +:105C4000000000008CC20014144CFFE400000000AF +:105C5000354A008003E00008A16A00018C820070D0 +:105C60000A0000E6000000009089003027BDFFF820 +:105C70008FA8001CA3A900008FA300003C0DFF808B +:105C800035A2FFFF8CAC002C00625824AFAB0000A3 +:105C9000A100000400C05821A7A000028D06000446 +:105CA00000A048210167C8218FA500000080502175 +:105CB0003C18FF7F032C20263C0E00FF2C8C00019B +:105CC000370FFFFF35CDFFFF3C02FF0000AFC824B8 +:105CD00000EDC02400C27824000C1DC003236825F9 +:105CE00001F87025AD0D0000AD0E00048D240024D8 +:105CF000AFAD0000AD0400088D2C00202404FFFF90 +:105D0000AD0C000C9547003230E6FFFFAD060010E9 +:105D10009145004830A200FF000219C25060000106 +:105D20008D240034AD0400148D4700388FAA00186C +:105D300027BD0008AD0B0028AD0A0024AD07001CEC +:105D4000AD00002CAD00001803E00008AD000020FD +:105D500027BDFFE0AFB20018AFB10014AFB0001024 +:105D6000AFBF001C9098003000C088213C0D00FFA0 +:105D7000330F007FA0CF0000908E003135ACFFFFC5 +:105D80003C0AFF00A0CE000194A6001EA220000441 +:105D90008CAB00148E29000400A08021016C282403 +:105DA000012A40240080902101052025A62600021A +:105DB000AE24000426050020262400080E000092D0 +:105DC00024060002924700302605002826240014ED +:105DD00000071E000003160324060004044000030D +:105DE0002403FFFF965900323323FFFF0E00009279 +:105DF000AE230010262400248FBF001C8FB2001891 +:105E00008FB100148FB00010240500030000302172 +:105E10000A00009C27BD002027BDFFD8AFB1001CA1 +:105E2000AFB00018AFBF002090A9003024020001DD +:105E300000E050213123003F00A040218FB00040FE +:105E40000080882100C04821106200148FA700380C +:105E5000240B000500A0202100C02821106B001396 +:105E6000020030210E000128000000009225007C75 +:105E700030A400021080000326030030AE00003082 +:105E8000260300348FBF00208FB1001C8FB0001894 +:105E90000060102103E0000827BD00280E0000A7C5 +:105EA000AFB000100A00016F000000008FA3003C9B +:105EB000010020210120282101403021AFA3001042 +:105EC0000E0000EEAFB000140A00016F00000000E9 +:105ED0003C06800034C20E008C4400108F850044C4 +:105EE000ACA400208C43001803E00008ACA30024FD +:105EF0003C06800034C20E008C4400148F850044A0 +:105F0000ACA400208C43001C03E00008ACA30024D8 +:105F10009382000C1040001B2483000F2404FFF028 +:105F20000064382410E00019978B00109784000E4D +:105F30009389000D3C0A601C0A0001AC01644023F7 +:105F400001037021006428231126000231C2FFFFE3 +:105F500030A2FFFF0047302B50C0000E00E4482164 +:105F60008D4D000C31A3FFFF00036400000C2C03D7 +:105F700004A1FFF30000302130637FFF0A0001A479 +:105F80002406000103E00008000000009784000ED2 +:105F900000E448213123FFFF3168FFFF0068382B00 +:105FA00054E0FFF8A783000E938A000D114000050E +:105FB000240F0001006BC023A380000D03E0000844 +:105FC000A798000E006BC023A38F000D03E000080C +:105FD000A798000E03E000080000000027BDFFE8BE +:105FE000AFB000103C10800036030140308BFFFF43 +:105FF00093AA002BAFBF0014A46B000436040E005C +:106000009488001630C600FF8FA90030A4680006EF +:10601000AC650008A0660012A46A001AAC670020F4 +:106020008FA5002CA4690018012020210E000198E2 +:10603000AC6500143C021000AE0201788FBF001462 +:106040008FB0001003E0000827BD00188F85000006 +:106050002484000727BDFFF83084FFF83C06800049 +:1060600094CB008A316AFFFFAFAA00008FA900001D +:10607000012540232507FFFF30E31FFF0064102B9D +:106080001440FFF700056882000D288034CC4000E2 +:1060900000AC102103E0000827BD00088F8200003B +:1060A0002486000730C5FFF800A2182130641FFFC6 +:1060B00003E00008AF8400008F87003C8F84004419 +:1060C00027BDFFB0AFB70044AFB40038AFB1002C6C +:1060D000AFBF0048AFB60040AFB5003CAFB300342F +:1060E000AFB20030AFB000283C0B80008C8600249B +:1060F000AD6700808C8A002035670E00356901008D +:10610000ACEA00108C8800248D2500040000B82122 +:10611000ACE800188CE3001000A688230000A02142 +:10612000ACE300148CE20018ACE2001C122000FE6C +:1061300000E0B021936C0008118000F40000000022 +:10614000976F001031EEFFFF022E682B15A000EFB5 +:1061500000000000977200103250FFFFAED0000028 +:106160003C0380008C740000329300081260FFFD35 +:106170000000000096D800088EC700043305FFFF1A +:1061800030B5000112A000E4000000000000000D86 +:1061900030BFA0402419004013F9011B30B4A00007 +:1061A000128000DF000000009373000812600008F6 +:1061B00000000000976D001031ACFFFF00EC202BB9 +:1061C0001080000330AE004011C000D50000000078 +:1061D000A7850040AF87003893630008022028217C +:1061E000AFB10020146000F527B40020AF60000CB0 +:1061F000978F004031F14000162000022403001662 +:106200002403000E24054007A363000AAF650014B1 +:10621000938A00428F70001431550001001512401E +:1062200002024825AF690014979F00408F78001440 +:1062300033F9001003194025AF680014979200400D +:106240003247000810E0016E000000008F67001464 +:106250003C1210003C11800000F27825AF6F001452 +:1062600036230E00946E000A3C0D81002406000EB9 +:1062700031CCFFFF018D2025AF640004A36600022E +:106280009373000A3406FFFC266B0004A36B000A1C +:1062900097980040330820001100015F00000000C3 +:1062A0003C05800034A90E00979900409538000CF9 +:1062B00097870040001940423312C00031030003A9 +:1062C00000127B0330F11000006F6825001172038B +:1062D00001AE6025000C20C0A76400129793004017 +:1062E000936A000A001359823175003C02AA1021FA +:1062F0002450003CA3700009953F000C33F93FFF88 +:10630000A779001097700012936900090130F821F5 +:1063100027E5000230B900070019C0233308000741 +:10632000A368000B9371000997720012976F001019 +:10633000322700FF8F910038978D004000F218211E +:10634000006F702101C6602131A6004010C0000519 +:106350003185FFFF00B1102B3C1280001040001768 +:10636000000098210225A82B56A0013E8FA50020F1 +:106370003C048000348A0E008D5300143C068000DB +:10638000AD5300108D4B001CAD4B0018AD45000007 +:106390008CCD000031AC00081180FFFD34CE0E0022 +:1063A00095C3000800A0882100009021A783004029 +:1063B0008DC6000424130001AF860038976F0010CB +:1063C00031F5FFFF8E9F000003F1282310A0011F6D +:1063D000AE85000093620008144000DD000000005C +:1063E0000E0001E7240400108F900048004028218F +:1063F0003C023200320600FF000654000142F8253C +:1064000026090001AF890048ACBF0000937900095C +:1064100097780012936F000A332800FF3303FFFFC1 +:106420000103382100076C0031EE00FF01AE60254A +:10643000ACAC00048F840048978B0040316A200088 +:106440001140010AACA4000897640012308BFFFFD2 +:1064500006400108ACAB000C978E004031C5000827 +:1064600014A0000226280006262800023C1F8000F7 +:1064700037E70E0094F900148CE5001C8F670004C8 +:10648000937800023324FFFF330300FFAFA3001013 +:106490008F6F0014AFA800180E0001CBAFAF00142F +:1064A000240400100E0001FB000000008E9200008A +:1064B00016400005000000008F7800142403FFBF81 +:1064C0000303A024AF7400148F67000C00F5C821EB +:1064D000AF79000C9375000816A0000800000000BA +:1064E00012600006000000008F6800143C0AEFFFF5 +:1064F0003549FFFE0109F824AF7F0014A37300089B +:106500008FA500200A00034F02202021AED10000F9 +:106510000A00022D3C03800014E0FF1E30BFA040A3 +:106520000E0001900000A0212E9100010237B0253D +:1065300012C000188FBF00488F87003C24170F003F +:1065400010F700D43C0680008CD901780720FFFEAC +:10655000241F0F0010FF00F634CA0E008D560014E1 +:1065600034C7014024080240ACF600048D49001CE9 +:106570003C141000ACE90008A0E00012A4E0001AEE +:10658000ACE00020A4E00018ACE80014ACD4017822 +:106590008FBF00488FB700448FB600408FB5003CD6 +:1065A0008FB400388FB300348FB200308FB1002C1D +:1065B0008FB0002803E0000827BD00508F910038FD +:1065C000978800403C1280000220A821310700403B +:1065D00014E0FF7C00009821977900108F9200381A +:1065E0003338FFFF131200A8000020210080A021F3 +:1065F000108000F300A088211620FECE00000000CD +:106600000A00031F2E9100013C0380008C62017878 +:106610000440FFFE240808008F860000AC68017863 +:106620003C038000946D008A31ACFFFF0186582343 +:10663000256AFFFF31441FFF2C8900081520FFF950 +:10664000000000008F8F0048347040008F83003CB2 +:1066500000E0A021240E0F0025E70001AF870048CD +:1066600000D03021023488233C08800031F500FF3F +:10667000106E0005240700019398004233130001B7 +:106680000013924036470001001524003C0A010027 +:10669000008A4825ACC900008F82004830BF003610 +:1066A00030B90008ACC200041320009900FF9825FF +:1066B00035120E009650000A8F8700003C0F8100B3 +:1066C0003203FFFF24ED000835060140006F60250E +:1066D0003C0E100031AB1FFF269200062405000E71 +:1066E000ACCC0020026E9825A4C5001AAF8B000028 +:1066F000A4D20018162000083C1080008F89003CAE +:1067000024020F00512200022417000136730040BA +:106710000E0001883C10800036060E008CCB001461 +:10672000360A014002402021AD4B00048CC5001CFC +:10673000AD450008A1550012AD5300140E0001989C +:106740003C151000AE1501780A000352000000004D +:10675000936F0009976E0012936D000B31E500FFF7 +:1067600000AE202131AC00FF008C80212602000AFF +:106770003050FFFF0E0001E7020020218F86004805 +:106780003C0341003C05800024CB0001AF8B004856 +:10679000936A00099769001230C600FF315F00FF5D +:1067A0003128FFFF03E8382124F900020006C40065 +:1067B0000319782501E37025AC4E00008F6D000CA5 +:1067C00034A40E00948B001401B26025AC4C00047C +:1067D0008C85001C8F670004936A00023164FFFF00 +:1067E000314900FFAFA900108F680014AFB1001845 +:1067F0000E0001CBAFA800140A0002FD0200202108 +:10680000AF600004A36000029798004033082000A6 +:106810001500FEA300003021A760001297840040FD +:10682000936B000A3C10800030931F0000135183CB +:10683000014BA82126A20028A362000936090E00F8 +:10684000953F000C0A000295A77F00108F7000147E +:10685000360900400E000188AF6900140A0002C921 +:10686000000000000A00034F000020210641FEFA4C +:10687000ACA0000C8CAC000C3C0D8000018D902570 +:106880000A0002EAACB2000C000090210A0002C526 +:1068900024130001128000073C028000344B0E00DC +:1068A0009566000830D300401260004900000000E7 +:1068B0003C0680008CD001780600FFFE34C50E0037 +:1068C00094B500103C03050034CC014032B8FFFF02 +:1068D00003039025AD92000C8CAF0014240D200012 +:1068E0003C041000AD8F00048CAE001CAD8E00087F +:1068F000A1800012A580001AAD800020A58000189C +:10690000AD8D0014ACC401780A0003263C0680005B +:106910008F9F0000351801402692000227F90008D9 +:1069200033281FFFA71200180A000391AF88000048 +:106930003C02800034450140ACA0000C1280001BDA +:1069400034530E0034510E008E370010ACB70004E3 +:106950008E2400183C0B8000ACA400083570014068 +:1069600024040040A20000128FBF0048A600001AB5 +:106970008FB70044AE0000208FB60040A60000187C +:106980008FB5003CAE0400148FB400388FB30034D0 +:106990008FB200308FB1002C8FB000283C02100065 +:1069A00027BD005003E00008AD6201788E66001438 +:1069B000ACA600048E64001C0A00042A3C0B800074 +:1069C0000E0001902E9100010A0003200237B0252D +:1069D000000000000000000D00000000240003691A +:1069E0000A0004013C06800027BDFFD8AFBF00208D +:1069F0003C0980003C1F20FFAFB200183C0760003C +:106A000035320E002402001037F9FFFDACE23008E9 +:106A1000AFB3001CAFB10014AFB00010AE5900000E +:106A20000000000000000000000000000000000066 +:106A3000000000003C1800FF3713FFFDAE530000BC +:106A40003C0B60048D7050002411FF7F3C0E00024F +:106A50000211782435EC380C35CD0109ACED4C1819 +:106A6000240A0009AD6C50008CE80438AD2A0008F7 +:106A7000AD2000148CE54C1C3106FFFF38C42F718B +:106A800000051E023062000F2486C0B310400007CC +:106A9000AF8200088CE54C1C3C09001F3528FC0027 +:106AA00000A81824000321C2AF8400048CF1080858 +:106AB0003C0F57092412F0000232702435F0001008 +:106AC00001D0602601CF68262DAA00012D8B000180 +:106AD000014B382550E00009A380000C3C1F601CCE +:106AE0008FF8000824190001A399000C33137C00CF +:106AF000A7930010A780000EA380000DAF80004870 +:106B000014C00003AF8000003C066000ACC0442C01 +:106B10000E0005B93C1080000E000F1A361101005E +:106B20003C12080026523DD03C13080026733E500C +:106B30008E03000038640001308200011440FFFC25 +:106B40003C0B800A8E2600002407FF8024C90240E7 +:106B5000312A007F014B402101272824AE06002066 +:106B6000AF880044AE0500243C048000AF86003CA2 +:106B70008C8C01780580FFFE24180800922F0008F5 +:106B8000AC980178A38F0042938E004231CD000172 +:106B900011A0000F24050D0024DFF8002FF90301D8 +:106BA0001320001C000629C224A4FFF00004104298 +:106BB000000231400E00020200D2D8213C02400007 +:106BC0003C068000ACC201380A0004A000000000AE +:106BD00010C50023240D0F0010CD00273C1F800896 +:106BE00037F9008093380000240E0050330F00FF67 +:106BF00015EEFFF33C0240000E000A3600000000D4 +:106C00003C0240003C068000ACC201380A0004A0EF +:106C1000000000008F83000400A3402B1500000B30 +:106C20008F8B0008006B50212547FFFF00E5482BA4 +:106C30001520000600A36023000C19400E0002027C +:106C40000073D8210A0004C43C0240000000000D7B +:106C50000E000202000000000A0004C43C024000D2 +:106C60003C1B0800277B3F500E0002020000000082 +:106C70000A0004C43C0240003C1B0800277B3F7014 +:106C80000E000202000000000A0004C43C024000A2 +:106C90003C0660043C09080025290104ACC9502CBD +:106CA0008CC850003C0580003C0200023507008083 +:106CB000ACC750003C040800248415A43C03080021 +:106CC0002463155CACA50008ACA2000C3C010800D4 +:106CD000AC243D603C010800AC233D6403E00008A7 +:106CE0002402000100A030213C1C0800279C3D68C4 +:106CF0003C0C04003C0B0002008B3826008C402624 +:106D00002CE200010007502B2D050001000A4880ED +:106D10003C03080024633D60004520250123182121 +:106D20001080000300001021AC6600002402000166 +:106D300003E00008000000003C1C0800279C3D68A0 +:106D40003C0B04003C0A0002008A3026008B3826E7 +:106D50002CC200010006482B2CE5000100094080F0 +:106D60003C03080024633D600045202501031821F1 +:106D700010800005000010213C0C0800258C155CDB +:106D8000AC6C00002402000103E0000800000000D9 +:106D90003C0900023C08040000883026008938269F +:106DA0002CC30001008028212CE400010083102561 +:106DB0001040000B000030213C1C0800279C3D685F +:106DC0003C0A80008D4E00082406000101CA682597 +:106DD000AD4D00088D4C000C01855825AD4B000CC5 +:106DE00003E0000800C010213C1C0800279C3D68FF +:106DF0003C0580008CA6000C000420272402000122 +:106E000000C4182403E00008ACA3000C3C020002FC +:106E10001082000B3C0560003C0704001087000353 +:106E20000000000003E00008000000008CA908D06A +:106E3000240AFFFD012A402403E00008ACA808D082 +:106E40008CA408D02406FFFE0086182403E0000866 +:106E5000ACA308D03C05601A34A600108CC3008097 +:106E600027BDFFF88CC50084AFA3000093A40000E9 +:106E70002402000110820003AFA5000403E0000813 +:106E800027BD000893A7000114E0001497AC00028E +:106E900097B800023C0F8000330EFFFC01CF682141 +:106EA000ADA50000A3A000003C0660008CC708D080 +:106EB0002408FFFE3C04601A00E82824ACC508D072 +:106EC0008FA300048FA200003499001027BD000892 +:106ED000AF22008003E00008AF2300843C0B800059 +:106EE000318AFFFC014B48218D2800000A00057DF6 +:106EF000AFA8000427BDFFE8AFBF00103C1C08008E +:106F0000279C3D683C0580008CA4000C8CA20004EA +:106F10003C0300020044282410A0000A00A3182407 +:106F20003C0604003C0400021460000900A6102482 +:106F30001440000F3C0404000000000D3C1C08003D +:106F4000279C3D688FBF001003E0000827BD001894 +:106F50003C0208008C423D600040F809000000003F +:106F60003C1C0800279C3D680A0005A68FBF001046 +:106F70003C0208008C423D640040F809000000001B +:106F80000A0005AC00000000000411C003E0000886 +:106F9000244202403C04080024843FB42405001A23 +:106FA0000A00009C0000302127BDFFE0AFB00010B8 +:106FB0003C108000AFBF0018AFB1001436110100C3 +:106FC000922200090E0005B63044007F8E3F00007B +:106FD0008F89003C3C0F008003E26021258800403F +:106FE0000049F821240DFF80310E00783198007897 +:106FF00035F9000135F100020319382501D1482582 +:10700000010D302403ED5824018D2824240A00406A +:1070100024040080240300C0AE0B0024AE0008103E +:10702000AE0A0814AE040818AE03081CAE05080426 +:10703000AE070820AE060808AE0908243609090084 +:107040009539000C3605098033ED007F3338FFFF9A +:10705000001889C0AE110800AE0F0828952C000C4E +:107060008FBF00188FB10014318BFFFF000B51C090 +:10707000AE0A002C8CA400508FB000108CA3003CF2 +:107080008D2700048CA8001C8CA600383C0E800ABA +:1070900001AE102127BD0020AF820044AF84005014 +:1070A000AF830054AF87004CAF88005C03E000085A +:1070B000AF8600603C09080091293FD924A800024E +:1070C0003C05110000093C0000E8302500C51825EA +:1070D00024820008AC83000003E00008AC800004B8 +:1070E0003C098000352309009128010B906A0011AA +:1070F0002402002800804821314700FF00A07021B1 +:1071000000C068213108004010E20002340C86DD26 +:10711000240C08003C0A800035420A9A944700007B +:10712000354B0A9C35460AA030F9FFFFAD39000007 +:107130008D780000354B0A8024040001AD3800042E +:107140008CCF0000AD2F00089165001930A300031B +:107150001064009028640002148000AF240500022F +:107160001065009E240F0003106F00B435450AA47B +:10717000240A0800118A0048000000005100003D68 +:107180003C0B80003C0480003483090090670012AF +:1071900030E200FF004D7821000FC8802724000155 +:1071A0003C0A8000354F090091E50019354C0980F3 +:1071B0008D87002830A300FF0003150000475825E5 +:1071C0000004C4003C19600001793025370806FF2F +:1071D000AD260000AD2800048DEA002C25280028EB +:1071E000AD2A00088DEC0030AD2C000C8DE500348C +:1071F000AD2500108DE400383C05800034AC093C1E +:10720000AD2400148DE3001CAD2300188DE7002091 +:10721000AD27001C8DE20024AD2200208DF900284E +:1072200034A20100AD3900248D830000AD0E0004AE +:1072300034B90900AD0300008C47000C250200148E +:10724000AD070008932B00123C04080090843FD83F +:10725000AD000010317800FF030D302100064F0013 +:1072600000047C00012F702535CDFFFC03E00008F1 +:10727000AD0D000C35780900930600123C0508009E +:1072800094A53FC830C800FF010D5021000A60805E +:107290000A00063C018520211500005B000000006B +:1072A0003C08080095083FCE3C06080094C63FC83D +:1072B000010610213C0B800035790900933800113C +:1072C000932A001935660A80330800FF94CF002AFC +:1072D00000086082314500FF978A0058000C1E00AC +:1072E000000524003047FFFF006410250047C0253B +:1072F00001EA30213C0B4000030B402500066400EE +:10730000AD280000AD2C0004932500183C030006B6 +:107310002528001400053E0000E31025AD220008DA +:107320008F24002C3C05800034AC093CAD24000CBB +:107330008F38001C34A20100254F0001AD38001029 +:107340008D830000AD0E000431EB7FFFAD03000024 +:107350008C47000C34B90900A78B0058AD07000812 +:10736000932B00123C04080090843FD8250200149F +:10737000317800FF030D302100064F0000047C002F +:10738000012F702535CDFFFCAD00001003E0000893 +:10739000AD0D000C3C02080094423FD23C050800B1 +:1073A00094A53FC835440AA43C07080094E73FC4AD +:1073B000948B00000045C8210327C023000B1C004C +:1073C0002706FFF200665025AD2A000CAD20001004 +:1073D000AD2C00140A00063025290018354F0AA4E8 +:1073E00095E50000956400280005140000043C00A9 +:1073F0003459810000EC5825AD39000CAD2B00103C +:107400000A000630252900143C0C0800958C3FCE5C +:107410000A000681258200015460FF56240A0800F4 +:1074200035580AA49706000000061C00006C502581 +:10743000AD2A000C0A000630252900103C03080084 +:1074400094633FD23C07080094E73FC83C0F080014 +:1074500095EF3FC494A4000095790028006710219F +:10746000004F582300041C00001934002578FFEE5B +:1074700000D87825346A8100AD2A000CAD2F0010A9 +:10748000AD200014AD2C00180A0006302529001C80 +:1074900003E00008240207D027BDFFE0AFB20018C8 +:1074A000AFB10014AFB00010AFBF001C0E00007CE5 +:1074B000008088218F8800548F87004C3C0580080D +:1074C00034B20080011128213C1080002402008089 +:1074D000240300C000A72023AE0208183C06800841 +:1074E000AE03081C18800004AF850054ACC500042E +:1074F0008CC90004AF89004C1220000936040980B1 +:107500000E0006F800000000924C00278E0B00745D +:1075100001825004014B3021AE46000C3604098034 +:107520008C8E001C8F8F005C01CF682319A0000493 +:107530008FBF001C8C90001CAF90005C8FBF001CA4 +:107540008FB200188FB100148FB000100A00007EB7 +:1075500027BD00208F8600508F8300548F82004CFF +:107560003C05800834A40080AC860050AC83003C0D +:1075700003E00008ACA200043C0308008C63005444 +:1075800027BDFFF8308400FF2462000130A500FF12 +:107590003C010800AC22005430C600FF3C078000CC +:1075A0008CE801780500FFFE3C0C7FFFA3A40003DC +:1075B0008FAA0000358BFFFF014B4824000627C02F +:1075C00001244025AFA8000034E201009043000AE6 +:1075D000A3A000023C1980FFA3A300018FAF00000D +:1075E00030AE007F3738FFFF01F86024000E6E00D8 +:1075F0003C0A002034E50140018D58253549200022 +:107600002406FF803C04100027BD0008ACAB000C32 +:10761000ACA90014A4A00018A0A6001203E0000862 +:10762000ACE40178308800FF30A700FF3C03800005 +:107630008C6201780440FFFE3C0C8000358A0A0011 +:107640008D4B00203584014035850980AC8B0004CA +:107650008D4900240007302B00061540AC89000836 +:10766000A088001090A3004CA083002D03E0000828 +:10767000A480001827BDFFE8308400FFAFBF0010D2 +:107680000E00075D30A500FF8F8300548FBF0010F0 +:107690003C06800034C50140344700402404FF907C +:1076A0003C02100027BD0018ACA3000CA0A40012DF +:1076B000ACA7001403E00008ACC2017827BDFFE0CE +:1076C0003C088008AFBF001CAFB20018AFB1001477 +:1076D000AFB00010351000808E0600183C07800007 +:1076E000309200FF00C72025AE0400180E00007C79 +:1076F00030B100FF92030005346200080E00007EE6 +:10770000A2020005024020210E000771022028215C +:10771000024020218FBF001C8FB200188FB10014CF +:107720008FB0001024050005240600010A0007326E +:1077300027BD00203C05800034A309809066000826 +:1077400030C200081040000F3C0A01013549080A08 +:10775000AC8900008CA80074AC8800043C070800C9 +:1077600090E73FD830E5001050A00008AC8000083A +:107770003C0D800835AC00808D8B0058AC8B000828 +:107780002484000C03E00008008010210A0007B5E3 +:107790002484000C27BDFFE83C098000AFB0001036 +:1077A000AFBF00143526098090C8000924020006E6 +:1077B00000A05821310300FF3527090000808021F7 +:1077C000240500041062007B2408000294CF005CB2 +:1077D0003C0E020431EDFFFF01AE6025AE0C00004F +:1077E00090CA00083144002010800008000000000A +:1077F00090C2004E3C1F010337F90300305800FFD0 +:107800000319302524050008AE06000490F9001184 +:1078100090E6001290E40011333800FF00187082E7 +:1078200030CF00FF01CF5021014B6821308900FF8C +:1078300031AAFFFF39230028000A60801460002C61 +:10784000020C482390E400123C198000372F0100FD +:10785000308C00FF018B1821000310800045F821B7 +:10786000001F8400360706FFAD270004373F0900DC +:1078700093EC001193EE0012372609800005C082B8 +:107880008DE4000C8CC5003431CD00FF01AB10211C +:107890000058182100A4F8230008840000033F00CA +:1078A00000F0302533F9FFFF318F00FC00D970253F +:1078B0000158202101E9682100045080ADAE000C80 +:1078C0000E00007C012A80213C088008240B000463 +:1078D000350500800E00007EA0AB000902001021DB +:1078E0008FBF00148FB0001003E0000827BD001800 +:1078F00090EC001190E300193C18080097183FCE57 +:10790000318200FF0002F882307000FF001FCE00BD +:1079100000103C000327302500D870253C0F4000A4 +:1079200001CF68253C198000AD2D0000373F0900CC +:1079300093EC001193EE0012372F010037260980D7 +:107940000005C0828DE4000C8CC5003431CD00FFF1 +:1079500001AB10210058182100A4F823000884006E +:1079600000033F0000F0302533F9FFFF318F00FCAA +:1079700000D970250158202101E9682100045080B8 +:10798000ADAE000C0E00007C012A80213C0880086E +:10799000240B0004350500800E00007EA0AB00091A +:1079A000020010218FBF00148FB0001003E0000808 +:1079B00027BD00180A0007C72408001227BDFFD002 +:1079C0003C038000AFB60028AFB50024AFB4002060 +:1079D000AFB10014AFBF002CAFB3001CAFB20018A2 +:1079E000AFB000103467010090E6000B309400FF48 +:1079F00030B500FF30C200300000B02110400099C7 +:107A000000008821346409809088000800082E0056 +:107A100000051E03046000C0240400048F86005487 +:107A20003C010800A0243FD83C0C8000AD800048F9 +:107A30003C048000348E010091CD000B31A5002064 +:107A400010A000073C078000349309809272000860 +:107A50000012860000107E0305E000C43C1F800871 +:107A600034EC0100918A000B34EB09809169000825 +:107A7000314400400004402B3123000800C8982303 +:107A80001460000224120003000090213C108000CA +:107A900036180A8036040900970E002C90830011D6 +:107AA0009089001293050018307F00FF312800FFF5 +:107AB000024810210002C880930D0018033F78216E +:107AC00001F1302130B100FF00D11821A78E0058FC +:107AD0003C010800A4263FCE3C010800A4233FD06F +:107AE00015A00002000000000000000D920B010B29 +:107AF0003065FFFF3C010800A4233FD2316A0040FB +:107B00003C010800A4203FC83C010800A4203FC459 +:107B10001140000224A4000A24A4000B3091FFFFAE +:107B20000E0001E7022020219206010B3C0C080008 +:107B3000958C3FD2004020210006698231A70001C8 +:107B40000E00060101872821004020210260282123 +:107B50000E00060C024030210E0007A1004020213B +:107B600016C00069004020219212010B32560040DD +:107B700012C000053C0500FF8C93000034AEFFFFEF +:107B8000026E8024AC9000000E0001FB0220202138 +:107B90003C0F080091EF3FD831F10003122000168E +:107BA0003C1380088F8200543C09800835280080EF +:107BB000245F0001AD1F003C3C0580088CB9000427 +:107BC00003E02021033FC0231B000002AF9F0054AD +:107BD0008CA400040E0006F8ACA400043C0780004E +:107BE0008CEB00743C04800834830080004B5021EF +:107BF000AC6A000C3C1380083670008002802021A3 +:107C000002A02821A200006B0E00075D3C1480003A +:107C10008F920054368C0140AD92000C8F86004844 +:107C20003C151000344D000624D60001AF960048E4 +:107C30008FBF002CA18600128FB60028AD8D0014D6 +:107C40008FB3001CAE9501788FB200188FB5002459 +:107C50008FB400208FB100148FB0001003E0000833 +:107C600027BD003034640980908F0008000F760033 +:107C7000000E6E0305A00033347F090093F8001B4B +:107C8000241900103C010800A0393FD8331300022A +:107C90001260FF678F8600548F8200601446FF6574 +:107CA0003C0480000E00007C000000003C048008C2 +:107CB0003485008090A8000924060016310300FFD7 +:107CC0001066000D0000000090AB00093C070800A2 +:107CD00090E73FD824090008316400FF34EA00012E +:107CE0003C010800A02A3FD81089002F240C000A6C +:107CF000108C00282402000C0E00007E0000000002 +:107D00000A0008608F8600540E0007B9024028213F +:107D10000A0008AE004020213C0B8008356A008034 +:107D20008D4600548CE9000C1120FF3DAF860054B5 +:107D3000240700143C010800A0273FD80A00085F70 +:107D40003C0C800090910008241200023C010800C5 +:107D5000A0323FD8323000201200000B2416000160 +:107D60008F8600540A0008602411000837F800804C +:107D70008F020038AFE200048FF90004AF19003C15 +:107D80000A00086C3C0780008F8600540A000860D7 +:107D900024110004A0A200090E00007E00000000D3 +:107DA0000A0008608F860054240200140A00093A71 +:107DB000A0A2000927BDFFE8AFB000103C10800072 +:107DC000AFBF001436020100904400090E00075DA9 +:107DD000240500013C0480089099000E3483008043 +:107DE000909F000F906F00269089000A33F800FFE3 +:107DF00000196E000018740031EC00FF01AE502530 +:107E0000000C5A00014B3825312800FF3603014091 +:107E10003445600000E830252402FF813C04100056 +:107E2000AC66000C8FBF0014AC650014A062001299 +:107E3000AE0401788FB0001003E0000827BD0018E1 +:107E400027BDFFE8308400FFAFBF00100E00075DC4 +:107E500030A500FF3C05800034A4014034470040B9 +:107E60002406FF92AC870014A08600128F83005472 +:107E70008FBF00103C02100027BD0018AC83000C1F +:107E800003E00008ACA2017827BDFFD8AFB0001016 +:107E9000308400FF30B000FF3C058000AFB100141B +:107EA000AFBF0020AFB3001CAFB20018000410C277 +:107EB00034A60100320300023051000114600007B3 +:107EC00090D200093C098008353300809268000593 +:107ED0003107000810E0000C308A00100240202119 +:107EE0000E00078302202821240200018FBF0020FA +:107EF0008FB3001C8FB200188FB100148FB0001028 +:107F000003E0000827BD00281540003434A50A000E +:107F10008CB800248CAF0008130F004B00003821F0 +:107F20003C0D800835B30080926C00682406000286 +:107F3000318B00FF116600843C06800034C20100D2 +:107F40009263004C90590009307F00FF53F9000400 +:107F50003213007C10E00069000000003213007C46 +:107F60005660005C0240202116200009320D0001FD +:107F70003C0C800035840100358B0A008D6500249F +:107F80008C86000414A6FFD900001021320D0001D8 +:107F900011A0000E024020213C1880003710010083 +:107FA0008E0F000C8F8E005011EE000800000000B4 +:107FB0000E000843022028218E19000C3C1F800867 +:107FC00037F00080AE190050024020210E000771EA +:107FD000022028210A00098F240200013C05080024 +:107FE0008CA5006424A400013C010800AC240064BA +:107FF0001600000D00000000022028210E0007716D +:1080000002402021926E0068240C000231CD00FF56 +:1080100011AC0022024020210E00094100000000A6 +:108020000A00098F240200010E00007024040001E0 +:10803000926B0025020B30250E00007EA266002503 +:108040000A0009D3022028218E6200188CDF000468 +:108050008CB9002400021E0217F9FFB13065007FC1 +:108060009268004C264400013093007F1265004066 +:10807000310300FF1464FFAB3C0D8008264700016C +:1080800030F1007F30E200FF1225000B24070001D1 +:10809000004090210A00099C2411000124050004DD +:1080A0000E000732240600010E0009410000000006 +:1080B0000A00098F240200012405FF8002452024C4 +:1080C00000859026324200FF004090210A00099C62 +:1080D000241100010E00084302202821320700303D +:1080E00010E0FFA132100082024020210E00078321 +:1080F000022028210A00098F240200018E6900183D +:108100000240202102202821012640250E0009647A +:10811000AE6800189264004C240500032406000198 +:108120000E000732308400FF0E00007024040001AE +:1081300092710025021150250E00007EA26A0025D2 +:108140000A00098F240200018E6F00183C1880007D +:108150000240202101F87025022028210E0007711D +:10816000AE6E00189264004C0A000A1B240500043D +:10817000324A0080394900801469FF6A3C0D80084A +:108180000A0009F42647000127BDFFC0AFB0001860 +:108190003C108000AFBF0038AFB70034AFB600303E +:1081A000AFB5002CAFB40028AFB30024AFB20020AD +:1081B0000E0005BEAFB1001C360201009045000B59 +:1081C0000E00097690440008144000E78FBF003885 +:1081D0003C08800835070080A0E0006B3606098067 +:1081E00090C50000240300503C17080026F73F907C +:1081F00030A400FF3C13080026733FA01083000347 +:108200003C1080000000B82100009821241F0010BD +:108210003611010036120A00361509808E580024E6 +:108220008E3400048EAF00208F8C00543C01080077 +:10823000A03F3FD836190A80972B002C8EF60000FD +:10824000932A00180298702301EC68233C0108006F +:10825000AC2E3FB43C010800AC2D3FB83C010800F7 +:10826000AC2C3FDCA78B005802C0F809315400FF4A +:1082700030490002152000E930420001504000C49E +:108280009227000992A90008312800081500000271 +:10829000241500030000A8213C0A80003543090092 +:1082A00035440A008C8D00249072001190700012E9 +:1082B000907F0011325900FF321100FF02B11021EE +:1082C0000002C08033EF00FF0319B021028F70213C +:1082D00002D4602125CB00103C010800A4363FCE1B +:1082E0003C010800AC2D3FE03C010800A42C3FD02D +:1082F0003C010800A42B3FCC3556010035540980C1 +:1083000035510E008F8700548F89005C8E850020C8 +:1083100024080006012730233C010800AC283FD484 +:1083200000A7282304C000B50000902104A000B3DA +:1083300000C5502B114000B5000000003C010800B2 +:10834000AC263FB88E6200000040F8090000000033 +:108350003046000214C0007400408021304B000100 +:10836000556000118E6200043C0D08008DAD3FBCCD +:108370003C0EC0003C04800001AE6025AE2C000025 +:108380008C980000330F000811E0FFFD0000000092 +:10839000963F000824120001A79F00408E39000478 +:1083A000AF9900388E6200040040F8090000000018 +:1083B0000202802532030002146000B300000000B6 +:1083C0003C09080095293FC43C06080094C63FD0EC +:1083D0003C0A0800954A3FC63C0708008CE73FBCB2 +:1083E000012670213C0308008C633FE03C08080034 +:1083F00095083FDA01CA20218ED9000C00E9282116 +:10840000249F000200A878210067C02133E4FFFF09 +:10841000AF9900503C010800AC383FE03C01080037 +:10842000A42F3FC83C010800A42E3FD20E0001E754 +:10843000000000008F8D0048004020213C01080012 +:10844000A02D3FD98E62000825AC0001AF8C0048FA +:108450000040F809000000008F85005402A0302180 +:108460000E00060C004020210E0007A10040202134 +:108470008E6B000C0160F809004020213C0A0800C6 +:10848000954A3FD23C06080094C63FC601464821A3 +:10849000252800020E0001FB3104FFFF3C05080007 +:1084A0008CA53FB43C0708008CE73FBC00A7202305 +:1084B0003C010800AC243FB414800006000000001A +:1084C0003C0208008C423FD4344B00403C01080081 +:1084D000AC2B3FD4124000438F8E00448E2D0010F1 +:1084E0008F920044AE4D00208E2C0018AE4C00241C +:1084F0003C04080094843FC80E0006FA0000000007 +:108500008F9F00548E6700103C010800AC3F3FDC99 +:1085100000E0F809000000003C1908008F393FB462 +:108520001720FF798F870054979300583C11800ED5 +:10853000321601000E000729A633002C16C0004594 +:10854000320300105460004C8EE5000432080040F5 +:108550005500001D8EF000088EE4000C0080F80924 +:10856000000000008FBF00388FB700348FB6003096 +:108570008FB5002C8FB400288FB300248FB2002059 +:108580008FB1001C8FB0001803E0000827BD004029 +:108590008F86003C36110E0000072E0000A6202515 +:1085A000AE0400808E4300208E500024AFA3001044 +:1085B000AE2300148FB20010AE320010AE30001C9B +:1085C0000A000A75AE3000180200F8090000000029 +:1085D0008EE4000C0080F809000000000A000B2E59 +:1085E0008FBF003824180001240F0001A5C000200F +:1085F000A5D800220A000B10ADCF00243C010800D2 +:10860000AC203FB80A000AA68E6200003C010800B8 +:10861000AC253FB80A000AA68E6200009224000929 +:108620000E000771000028218FBF00388FB700347B +:108630008FB600308FB5002C8FB400288FB3002484 +:108640008FB200208FB1001C8FB0001803E000082B +:1086500027BD00403C1480009295010900002821AC +:108660000E00084332A400FF320300105060FFB830 +:10867000320800408EE5000400A0F8090000000068 +:108680000A000B28320800405240FFA89793005878 +:108690008E3400148F930044AE7400208E35001C7D +:1086A000AE7500240A000B1F979300588F820014A8 +:1086B0000004218003E00008008210213C078008AC +:1086C00034E200809043006900804021106000097E +:1086D0003C0401003C0708008CE73FDC8F8300303E +:1086E00000E32023048000089389001C14E30003A6 +:1086F0000100202103E00008008010213C0401005B +:1087000003E00008008010211120000B00673823CF +:108710003C0D800035AC0980918B007C316A0002F1 +:10872000114000202409003400E9702B15C0FFF12E +:108730000100202100E938232403FFFC00A3C82402 +:1087400000E3C02400F9782B15E0FFEA030820219C +:1087500030C400030004102314C000143049000387 +:108760000000302100A9782101E6702100EE682B7D +:1087700011A0FFE03C0401002D3800010006C82BC9 +:10878000010548210319382414E0FFDA2524FFFCF1 +:108790002402FFFC00A218240068202103E0000846 +:1087A000008010210A000B9E240900303C0C800040 +:1087B0003586098090CB007C316A00041540FFE9C2 +:1087C000240600040A000BAD000030213C03080021 +:1087D0008C63005C8F82001827BDFFE0AFBF0018DC +:1087E000AFB1001410620005AFB00010000329C043 +:1087F00024A40280AF840014AF8300183C108000D2 +:1088000036020A0094450032361101000E000B7F3B +:1088100030A43FFF8E240000241FFF803C11008005 +:108820000082C021031F60243309007F000CC9406F +:1088300003294025330E0078362F00033C0D10002D +:10884000010D502501CF5825AE0C002836080980AF +:10885000AE0C080CAE0B082CAE0A08309103006970 +:108860003C06800C0126382110600006AF870034DA +:108870008D09003C8D03006C0123382318E0008231 +:10888000000000003C0B8008356A00803C1080002E +:10889000A1400069360609808CC200383C06800081 +:1088A00034C50A0090A8003C310C00201180001A49 +:1088B000AF820030240D00013C0E800035D10A004B +:1088C000A38D001CAF8000248E2400248F850024FB +:1088D000240D0008AF800020AF8000283C01080074 +:1088E000A42D3FC63C010800A4203FDA0E000B83F4 +:1088F000000030219228003C8FBF00188FB1001477 +:108900008FB0001000086142AF82002C27BD00200C +:1089100003E000083182000190B80032240E00010B +:10892000330F00FF000F2182108E00412419000236 +:108930001099006434C40AC03C03800034640A0007 +:108940008C8F002415E0001E34660900909F0030D3 +:108950002418000533F9003F1338004E24030001AA +:108960008F860020A383001CAF860028AF860024DA +:108970003C0E800035D10A008E2400248F8500240F +:10898000240D00083C010800A42D3FC63C0108004E +:10899000A4203FDA0E000B83000000009228003C68 +:1089A0008FBF00188FB100148FB000100008614213 +:1089B000AF82002C27BD002003E0000831820001B7 +:1089C0008C8A00088C8B00248CD000643C0E8000C4 +:1089D00035D10A00014B2823AF900024A380001C4E +:1089E000AF8500288E2400248F8600208F850024E8 +:1089F000240D00083C010800A42D3FC63C010800DE +:108A0000A4203FDA0E000B83000000009228003CF7 +:108A10008FBF00188FB100148FB0001000086142A2 +:108A2000AF82002C27BD002003E000083182000146 +:108A300090A200303051003F5224002834C50AC0B3 +:108A40008CB000241600002234CB09008CA600480C +:108A50003C0A7FFF3545FFFF00C510243C0E800017 +:108A6000AF82002035C509008F8800208CAD0060E2 +:108A7000010D602B15800002010020218CA40060F4 +:108A80000A000C22AF8400208D02006C0A000BFC4F +:108A90003C0680008C8200488F8600203C097FFFC6 +:108AA0003527FFFF004788243C0480082403000189 +:108AB000AF910028AC80006CA383001C0A000C302E +:108AC000AF8600248C9F00140A000C22AF9F002068 +:108AD0008D6200680A000C6C3C0E800034C4098072 +:108AE0008C8900708CA300140123382B10E0000443 +:108AF000000000008C8200700A000C6C3C0E8000AC +:108B00008CA200140A000C6C3C0E80008F8500249F +:108B100027BDFFE0AFBF0018AFB1001414A00008DC +:108B2000AFB000103C04800034870A0090E60030AB +:108B30002402000530C3003F106200B934840900EC +:108B40008F91002000A080213C048000348E0A0018 +:108B50008DCD00043C0608008CC63FB831A73FFF0E +:108B600000E6602B5580000100E03021938F001C4F +:108B700011E0007800D0282B349F098093F9007C05 +:108B800033380002130000792403003400C3102B93 +:108B9000144000D90000000000C3302300D0282B6F +:108BA0003C010800A4233FC414A0006E0200182159 +:108BB0003C0408008C843FB40064402B5500000145 +:108BC000006020213C05800034A90A00912A003C65 +:108BD0003C010800AC243FBC31430020146000037A +:108BE0000000482134AB0E008D6900188F88002CDE +:108BF0000128202B1080005F000000003C050800C9 +:108C00008CA53FBC00A96821010D602B1180005C80 +:108C100000B0702B0109382300E028213C01080036 +:108C2000AC273FBC12000003240AFFFC10B0008DEB +:108C30003224000300AA18243C010800A4203FDAD3 +:108C40003C010800AC233FBC006028218F84002435 +:108C5000120400063C0B80088D6C006C0200202181 +:108C6000AF91002025900001AD70006C8F8D002821 +:108C700000858823AF91002401A52023AF8400281C +:108C80001220000224070018240700103C18800856 +:108C90003706008090CF00683C010800A0273FD82D +:108CA0002407000131EE00FF11C70047000000005B +:108CB00014800018000028213C06800034D109806F +:108CC00034CD010091A600098E2C001824C40001A7 +:108CD000000C86023205007F308B007F1165007F1B +:108CE0002407FF803C19800837290080A124004C0C +:108CF0003C0808008D083FD4241800023C010800FD +:108D0000A0384019350F00083C010800AC2F3FD4B3 +:108D1000240500103C02800034440A009083003C8B +:108D2000307F002013E0000500A02021240A00016C +:108D30003C010800AC2A3FBC34A400018FBF0018DE +:108D40008FB100148FB000100080102103E00008E4 +:108D500027BD00203C010800A4203FC410A0FF94C0 +:108D6000020018210A000CC000C018210A000CB72C +:108D7000240300303C0508008CA53FBC00B0702BDC +:108D800011C0FFA8000000003C19080097393FC43B +:108D90000325C0210307782B11E000072CAA00044B +:108DA0003C0360008C625404305F003F17E0FFE337 +:108DB000240400422CAA00041140FF9A240400421B +:108DC0000A000D248FBF00181528FFB9000000000D +:108DD0008CCA00183C1F800024020002015F182585 +:108DE000ACC3001837F90A00A0C200689329003C00 +:108DF0002404000400A01021312800203C010800B8 +:108E0000A0244019110000022405001024020001D2 +:108E10003C010800AC223FB40A000D1A3C0280005D +:108E20008F8800288C8900600109282B14A000027B +:108E3000010088218C9100603C048000348B0E007E +:108E40008D640018240A000102202821022030210C +:108E5000A38A001C0E000B83022080210A000CA6AE +:108E6000AF82002C00045823122000073164000355 +:108E70003C0E800035C7098090ED007C31AC0004C9 +:108E800015800019248F00043C010800A4243FDA57 +:108E90003C1F080097FF3FDA03E5C82100D9C02B2B +:108EA0001300FF6B8F8400242CA6000514C0FFA3C1 +:108EB0002404004230A200031440000200A2182340 +:108EC00024A3FFFC3C010800AC233FBC3C0108008C +:108ED000A4203FDA0A000CE70060282100C77024B4 +:108EE0000A000D0D01C720263C010800A42F3FDA1F +:108EF0000A000D78000000003C010800AC203FBCD7 +:108F00000A000D23240400428F8300283C058000C2 +:108F100034AA0A00146000060000102191470030B6 +:108F20002406000530E400FF108600030000000066 +:108F300003E0000800000000914B0048316900FF89 +:108F4000000941C21500FFFA3C0680083C040800F5 +:108F500094843FC43C0308008C633FDC3C19080048 +:108F60008F393FBC3C0F080095EF3FDA0064C02109 +:108F70008CCD00040319702101CF602134AB0E00A9 +:108F8000018D282318A0001D00000000914F004C07 +:108F90008F8C0034956D001031EE00FF8D89000438 +:108FA00001AE30238D8A000030CEFFFF000E290075 +:108FB0000125C82100003821014720210325182B55 +:108FC0000083C021AD990004AD980000918F000A84 +:108FD00001CF6821A18D000A956500128F8A0034A7 +:108FE000A5450008954B003825690001A5490038C2 +:108FF0009148000D35070008A147000D03E0000867 +:109000000000000027BDFFD8AFB000189388001CF7 +:109010008FB000143C0A80003C197FFF8F8700242A +:109020003738FFFFAFBF0020AFB1001C355F0A002B +:109030000218182493EB003C00087FC03C02BFFFDD +:10904000006F60252CF000013449FFFF3C1F080031 +:109050008FFF3FDC8F9900303C18080097183FD2F3 +:1090600001897824001047803C07EFFF3C05F0FFA2 +:1090700001E818253C1180003169002034E2FFFF2F +:1090800034ADFFFF362E098027A50010240600020C +:1090900003F96023270B0002354A0E0000621824F2 +:1090A0000080802115200002000040218D48001C16 +:1090B000A7AB0012058000392407000030E800FF4C +:1090C00000083F00006758253C028008AFAB001441 +:1090D000344F008091EA00683C08080091083FD9AD +:1090E0003C09DFFF352CFFFF000AF82B3C0208008B +:1090F00094423FCCA3A80011016CC024001FCF40B4 +:10910000031918258FA70010AFA300143C0C08000A +:10911000918C3FDBA7A200168FAB001400ED482412 +:109120003C0F01003C0A0FFF012FC82531980003B6 +:10913000355FFFFF016D40243C027000033F38247F +:1091400000181E0000E2482501037825AFAF001487 +:10915000AFA9001091CC007C0E000092A3AC0015CA +:10916000362D0A0091A6003C30C400201080000675 +:10917000260200083C11080096313FC8262EFFFF4A +:109180003C010800A42E3FC88FBF00208FB1001CF7 +:109190008FB0001803E0000827BD00288F8B002C3B +:1091A000010B502B5540FFC5240700010A000E0497 +:1091B00030E800FF9383001C3C02800027BDFFD8ED +:1091C00034480A0000805021AFBF002034460AC056 +:1091D000010028211060000E3444098091070030FE +:1091E000240B00058F89002030EC003F118B000B11 +:1091F00000003821AFA900103C0B80088D69006C7D +:10920000AFAA00180E00015AAFA90014A380001CD9 +:109210008FBF002003E0000827BD00288D1F0048F5 +:109220003C1808008F183FBC8F9900283C027FFF34 +:109230008D0800443443FFFFAFA900103C0B8008A9 +:109240008D69006C03E370240319782101CF682332 +:1092500001A83821AFAA00180E00015AAFA90014C6 +:109260000A000E58A380001C3C05800034A60A00AA +:1092700090C7003C3C06080094C63FDA3C02080058 +:109280008C423FD430E30020000624001060001E12 +:10929000004438253C0880083505008090A300680C +:1092A00000004821240800010000282124040001B6 +:1092B0003C0680008CCD017805A0FFFE34CF014034 +:1092C000ADE800083C0208008C423FDCA5E5000444 +:1092D000A5E40006ADE2000C3C04080090843FD9F0 +:1092E0003C03800834790080A1E40012ADE700144B +:1092F000A5E900189338004C3C0E1000A1F8002D91 +:1093000003E00008ACCE017834A90E008D28001CC3 +:109310003C0C08008D8C3FBC952B0016952A001440 +:10932000018648213164FFFF0A000E803145FFFFAE +:109330003C04800034830A009065003C30A2002089 +:109340001040001934870E00000040210000382131 +:10935000000020213C0680008CC901780520FFFE1A +:1093600034CA014034CF010091EB0009AD48000838 +:109370003C0E08008DCE3FDC240DFF91240C0040F4 +:109380003C081000A5440004A5470006AD4E000CA3 +:10939000A14D0012AD4C0014A5400018A14B002DAA +:1093A00003E00008ACC801788CE8001894E60012CD +:1093B00094E4001030C7FFFF0A000EA93084FFFFBD +:1093C0003C04800034830A009065003C30A20020F9 +:1093D0001040002727BDFFF82409000100003821B4 +:1093E000240800013C0680008CCA01780540FFFE7D +:1093F0003C0280FF34C40100908D00093C0C080041 +:10940000918C4019A3AD00038FAB00003185007F24 +:109410003459FFFF01665025AFAA00009083000A6F +:10942000A3A0000200057E00A3A300018FB80000E6 +:1094300034CB0140240C30000319702401CF68257F +:10944000AD6D000C27BD0008AD6C0014A5600018C0 +:10945000AD690008A56700042409FF80A56800061F +:109460003C081000A169001203E00008ACC80178B4 +:1094700034870E008CE9001894E6001294E4001082 +:1094800030C8FFFF0A000ECD3087FFFF27BDFFE089 +:10949000AFB100143C118000AFB00010AFBF001896 +:1094A00036380A00970F0032363001000E000B7F6D +:1094B00031E43FFF8E0E0000240DFF803C042000AD +:1094C00001C25821016D6024000C4940316A007FBF +:1094D000012A4025010438253C048008AE270830C5 +:1094E0003486008090C500682403000230A200FF8B +:1094F000104300048F9F00208F990024AC9F0068C8 +:10950000AC9900648FBF00188FB100148FB00010A9 +:1095100003E0000827BD00203C0A0800254A3A80E5 +:109520003C09080025293B103C08080025082F1C91 +:109530003C07080024E73BDC3C06080024C639044D +:109540003C05080024A536583C0408002484325CFD +:109550003C030800246339B83C0208002442375415 +:109560003C010800AC2A3F983C010800AC293F941C +:109570003C010800AC283F903C010800AC273F9C10 +:109580003C010800AC263FAC3C010800AC253FA4E0 +:109590003C010800AC243FA03C010800AC233FB0D4 +:1095A0003C010800AC223FA803E0000800000000D6 +:1095B00080000940800009008008010080080080C8 +:1095C00080080000800E00008008008080080000F5 +:1095D00080000A8080000A00800009808000090065 +:00000001FF --- linux-lowlatency-3.5.0.orig/firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex +++ linux-lowlatency-3.5.0/firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex @@ -3,8 +3,7 @@ :1000200000000000000000000000000000000000D0 :1000300000000E88000009500000000500000000CC :1000400000000000000000000000000000000000B0 -:080050000000000000000000A8 -:0800580000000010B180000659 +:10005000000000000000000000000010B180000659 :100060000000001F05060011000000080500FFFF4A :10007000000000180002000000000008050000FF5A :10008000000000180002000000000008AC000001A1 @@ -382,11 +381,3 @@ :1017C0000000000C2980000000000010001F000035 :0817D000000000188000FE3546 :00000001FF -/* - * This file contains firmware data derived from proprietary unpublished - * source code, Copyright (c) 2004 - 2009 Broadcom Corporation. - * - * Permission is hereby granted for the distribution of this firmware data - * in hexadecimal or equivalent format, provided this copyright notice is - * accompanying it. - */ --- linux-lowlatency-3.5.0.orig/firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex +++ linux-lowlatency-3.5.0/firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex @@ -3,8 +3,7 @@ :1000200000000000000000000000000000000000D0 :1000300000001010000009C80000000500000000CA :1000400000000000000000000000000000000000B0 -:080050000000000000000000A8 -:0800580000000010B180000659 +:10005000000000000000000000000010B180000659 :100060000000001F03060011000000080500FFFF4C :10007000000000180002000000000008050000FF5A :10008000000000180002000000000008AC000001A1 @@ -155,8 +154,7 @@ :100990000000001091D40000000000080500005580 :1009A000000000188000FF360000000C29800001C4 :1009B0000000000C1F800001000000082A00000752 -:0809C000000000188000FEDEBB -:0809C80000000010B1800004E2 +:1009C000000000188000FEDE00000010B18000046E :1009D0000000001F0306001100000008050000FFD2 :1009E0000000001800020000000000002A000000C3 :1009F00000000010B1D400000000001091DE0000E3 @@ -415,11 +413,3 @@ :1019C00000000010001F00000000000C6BD7000199 :0819D000000000188000FE0475 :00000001FF -/* - * This file contains firmware data derived from proprietary unpublished - * source code, Copyright (c) 2004 - 2009 Broadcom Corporation. - * - * Permission is hereby granted for the distribution of this firmware data - * in hexadecimal or equivalent format, provided this copyright notice is - * accompanying it. - */ --- linux-lowlatency-3.5.0.orig/firmware/bnx2x/bnx2x-e1-7.2.51.0.fw.ihex +++ linux-lowlatency-3.5.0/firmware/bnx2x/bnx2x-e1-7.2.51.0.fw.ihex @@ -0,0 +1,10138 @@ +:100000000000177800000068000005D8000017E81D +:10001000000031CC00001DC80000006C00004F98AB +:10002000000081D0000050080000009C0000D1E0DA +:10003000000094300000D28000000084000166B807 +:100040000000423800016740000000880001A980DC +:100050000000BD8C0001AA10000011B8000267A0CA +:100060000000000400027960020600DC00000001CC +:100070000306100002000000010600D80000000086 +:100080000306020000030200020600DC000000007C +:1000900002060068000000B80206007800000114A3 +:1000A000010600B800000000010600C800000000C2 +:1000B0000206006C000000B80206007C000001147B +:1000C000010600BC00000000010600CC000000009A +:1000D000020D004400000032030D004C0004020336 +:1000E000040D005C00000004030D008C00110207E9 +:1000F000020D015C00000001030D01640002021802 +:10010000020D020400000001030D020C0003021A9C +:10011000030D02200002021D040D028000000012E7 +:10012000030D03000018021F040D03600000000C03 +:10013000040D400000000A00030D0004000F023708 +:10014000020D01140000000D020D01180000002D29 +:100150000310100000030246021010100000026499 +:10016000071011000010024908101140000000089B +:100170000710116000100259081011A000000018AB +:1001800007101800020002690210101000000000A1 +:1001900004104C0000000100021040280000001074 +:1001A0000210404400003FFF0210405800280000A9 +:1001B000021040840084924A02104058000000005F +:1001C000030C200800030469030C201C0004046CC9 +:1001D000030C203800110470040C207C0000004F38 +:1001E000030C21B800110481040C21FC0000000F55 +:1001F000030C223800040492010C22480000000085 +:10020000010C224C00000000010C225000000000F4 +:10021000010C225400000000010C225800000000D4 +:10022000010C225C00000000010C226000000000B4 +:10023000010C226400000000010C22680000000094 +:10024000010C226C00000000010C22700000000074 +:10025000010C227400000000010C22780000000054 +:10026000010C227C00000000020C24BC00000001F4 +:100270000A00000100000001020C2000000003E859 +:100280000A00000100000002020C20000000000A29 +:100290000A00000100000004020C20000000000120 +:1002A000052004000084000006200780001004964A +:1002B000042200000000160004228000000000401C +:1002C00004223BD000000008042248000000000681 +:1002D0000322481800040498042248280000000C57 +:1002E000032248580004049C042248680000000CC3 +:1002F00003224898000404A0042248A80000000C2F +:10030000032248D8000404A4042248E80000000C9A +:1003100003224918000404A8042249280000000C04 +:1003200003224958000404AC042249680000000C70 +:1003300003224998000404B0042249A80000000CDC +:10034000032249D8000404B4042249E80000000C48 +:1003500003224A18000404B804224A280000000CB2 +:1003600003224A58000404BC04224A680000000C1E +:1003700003224A98000404C004224AA80000000C8A +:1003800003224AD8000404C404224AE80000000CF6 +:1003900003224B18000404C804224B280000000C60 +:1003A00003224B58000404CC04224B680000000CCC +:1003B00003224B98000404D004224BA80000000C38 +:1003C00003224BD8000404D404224BE80000000CA4 +:1003D00003224C18000404D804224C280000000C0E +:1003E00003224C58000404DC04224C680000000C7A +:1003F00003224C98000404E004224CA80000000CE6 +:1004000003224CD8000404E404224CE80000000C51 +:1004100003224D18000404E804224D280000000CBB +:1004200003224D58000404EC04224D680000000C27 +:1004300003224D98000404F004224DA80000000C93 +:1004400003224DD8000404F404224DE80000000CFF +:1004500003224E18000404F804224E280000000C69 +:1004600003224E58000404FC04224E680000000CD5 +:1004700003224E980004050004224EA80000000C40 +:1004800003224ED80004050404224EE80000000CAC +:1004900003224F180004050804224F280000000C16 +:1004A00003224F580004050C04224F680000000C82 +:1004B00003224F980004051004224FA80000000CEE +:1004C00003224FD80004051404224FE80000000660 +:1004D0000322519800040518022380000000001038 +:1004E00002238040000000120223808000000030C0 +:1004F000022380C00000000E022383800007A12099 +:10050000022383C0000001F402238BC0000000011D +:100510000A00000200000001022383000007A1205E +:1005200002238340000001F40A00000200000002E0 +:10053000022383000000138802238340000000058B +:100540000A000002000000040223830000000138BA +:100550000223834000000000052400003324000033 +:10056000052480000F130CC906249C406ADE051C7C +:100570000120000000000000012000040000000035 +:1005800001200008000000000120000C0000000015 +:1005900001200010000000000120001400000000F5 +:1005A00003200020001A051E032000A400020538C5 +:1005B000022002240000000002200234000000009B +:1005C0000220024C00000000022002E40000FFFFB5 +:1005D000082020000000080004221400000000028F +:1005E00004221490000000300422390000000010A2 +:1005F0000422510800000002042251A80000000655 +:1006000004221408000000020422155000000030EB +:1006100004223940000000100422511000000002A2 +:10062000042251C00000000604102400000000E075 +:100630000310201C0002053A021020C00000000137 +:10064000031020040002053C02170008000000020D +:100650000217002C00000003031700380002053EBB +:100660000317004400060540031700600005054617 +:10067000031700780002054B021700040000000F6A +:100680000410806800000004021080000000108048 +:1006900004108040000000020410802800000002C6 +:1006A0000210803800000010031080400002054D49 +:1006B00002108050000000000210810000000000C5 +:1006C000041081200000000202108008000002B522 +:1006D0000210801000000000021081080001FFFFDE +:1006E000041082000000004A041081400000000253 +:1006F0000210800000001A80041090000000002406 +:10070000041091200000004A041093700000004A79 +:10071000041095C00000004A021080040000108000 +:100720000410804800000002041080300000000225 +:100730000210803C00000010031080480002054FAA +:10074000021080540000000002108104000000002C +:1007500004108128000000020210800C000002B585 +:1007600002108014000000000210810C0001FFFF45 +:10077000041084000000004A0410814800000002B8 +:100780000210800400001A800410909000000024E1 +:10079000041092480000004A041094980000004A97 +:1007A000041096E80000004A0200A468000AFFDC7A +:1007B0000200A280000000010300A2940004055181 +:1007C0000200A4FCFF000000030100B40002055574 +:1007D000020100DC000000010301010000020557D6 +:1007E0000201007C003000000201008400000028AB +:1007F0000201008C00000000020101300000000432 +:100800000401013800000011020102440000001F31 +:100810000201025C00000001020103280000000048 +:100820000201055400000030020100C40000000174 +:10083000020100CC00000001020100F800000001EC +:10084000020100F000000001020100800030000001 +:100850000201008800000028020100900000000052 +:1008600002010134000000040401017C00000011B9 +:10087000020102480000001F020102DC000000012A +:100880000201032C0000000002010564000000309A +:10089000020100C800000001020100D000000001B8 +:1008A000020100FC00000001020100F40000000150 +:1008B00002140000000000010214000C00000001FE +:1008C00003140040000205590214000C000000004F +:1008D00002140000000000000214006C0000000080 +:1008E00002140004000000010214003000000001A6 +:1008F00002140004000000000214005C000000006C +:10090000021400080000000102140034000000017D +:100910000214000800000000021400600000000043 +:10092000030400040012055B030400540003056D7A +:100930000204007000000004030400780004057045 +:1009400004040088000000050304009C00030574F3 +:10095000040400A800000004030400B800050577A3 +:10096000040400CC00000004030400DC0004057C47 +:10097000040400EC00000004010401240000000055 +:1009800001040128000000000104012C0000000007 +:100990000104013000000000020401340000000FD7 +:1009A00003120490002205800212052000000002BC +:1009B0000212038800000064021203900000000885 +:1009C0000312039C000305A2021203BC00000004F2 +:1009D000021203C400000004021203D00000000051 +:1009E000021203DC000000000212036C0000000190 +:1009F000021203680000003F031201BC003C05A581 +:100A0000031202B0000205E103120324000205E311 +:100A1000021201B00000000107103800000505E5D2 +:100A200007103C00000505EA07103C20000505EF13 +:100A300003168030000805F40216805400000002FE +:100A400003168060000505FC041680740000000792 +:100A500003168090000206010316809C0005060321 +:100A6000041680B000000007031680CC00080608BA +:100A7000021680F000000007041680F40000000C4D +:100A80000316812400040610041681340000000CB3 +:100A900003168164003B0614041682500000000413 +:100AA000031682600002064F0416826800000008E8 +:100AB0000316828800080651041682A80000000A66 +:100AC00002168804000000040316880C0010065962 +:100AD000021680EC000000FF0304040800140669FD +:100AE000030500440002067D030500500004067F54 +:100AF0000405006000000004030500900013068355 +:100B000002050114000000010305011C0002069605 +:100B100002050204000000010305020C0002069811 +:100B20000305021C0003069A040502400000000AA7 +:100B3000030502800020069D0405400000000D0012 +:100B400003050004001006BD020500E00000000ED1 +:100B5000020500E40000002E0416402400000002FC +:100B600003164030000306CD02164044000000206A +:100B7000021640700000001C02164208000000012E +:100B8000021642100000000102164220000000017F +:100B90000216422800000001021642300000000147 +:100BA00002164238000000010216426000000001F7 +:100BB0000A000001000000010216401C0003D09052 +:100BC0000A000001000000020216401C000009C4D7 +:100BD0000A000001000000040216401C0000009CF6 +:100BE0000216400000000001021640D8000000017B +:100BF00003164008000306D0021642400000000021 +:100C00000216424800000000081642700000000270 +:100C10000216425000000000021642580000000078 +:100C2000081642800000000203042008000406D3D6 +:100C30000304201C000406D70404203800000080B0 +:100C400003042238000406DB0104224800000000EF +:100C50000104224C000000000104225000000000AA +:100C6000010422540000000001042258000000008A +:100C70000104225C0000000001042260000000006A +:100C8000010422640000000001042268000000004A +:100C90000104226C0000000001042270000000002A +:100CA000010422740000000001042278000000000A +:100CB0000104227C00000000020424BC00000001AA +:100CC0000A0000010000000102042000000003E807 +:100CD0000A00000100000002020420000000000AD7 +:100CE0000A000001000000040204200000000001CE +:100CF00005180400006A000006180760001406DFEB +:100D0000041A000000001600041A800000000040D1 +:100D1000031A08B0000206E1031A19C8000206E32C +:100D2000031A2FC0000406E5041A2FD000000006A5 +:100D3000031A2FE8000206E9031A300003F906EB54 +:100D4000041A3FE400000007031A487000040AE494 +:100D5000021B800000000034021B804000000018CD +:100D6000021B80800000000C021B80C000000020DD +:100D7000021B83800007A120021B83C0000001F436 +:100D8000021B8BC0000000010A00000200000001ED +:100D9000021B83000007A120021B8340000001F416 +:100DA0000A00000200000002021B830000001388FA +:100DB000021B8340000000050A000002000000043E +:100DC000021B830000000138021B8340000000006A +:100DD000051C00002CC80000051C800034270B32C5 +:100DE000051D000020E0183C061D4D10565E0AE867 +:100DF00001180000000000000118000400000000BD +:100E000001180008000000000118000C000000009C +:100E1000011800100000000001180014000000007C +:100E200003180020001A0AEA031800A400020B04A9 +:100E30000218022400000000021802340000000022 +:100E40000218024C00000000021802E4000000FF3B +:100E50000818100000000400041A08000000000236 +:100E6000041A082000000012041A09C000000048FB +:100E7000041A250000000010041A2580000000124A +:100E8000041A261000000012031A2FB000020B06ED +:100E9000041A400000000006041A4030000000025E +:100EA000041A482000000002031A4C5000020B08EC +:100EB000041A081000000002041A0868000000125A +:100EC000041A0AE000000048041A2540000000103F +:100ED000041A25C800000012041A26580000001247 +:100EE000031A2FB800020B0A041A4018000000066B +:100EF000041A403800000002041A482800000002CA +:100F0000031A4C5800020B0C020E004C0000003279 +:100F1000030E005400040B0E040E006400000004D5 +:100F2000030E009400130B12020E01440000000196 +:100F3000030E014C00020B25020E0204000000010A +:100F4000030E020C00020B27030E021C00040B29E7 +:100F5000030E0280001B0B2D040E02EC0000001794 +:100F6000040E200000000800030E000400110B48CE +:100F7000020E01100000000F020E01140000002FED +:100F8000020C100000000028030C400800040B595C +:100F9000030C401C00040B5D030C403800020B6185 +:100FA000040C40400000005E020C41B8000000014B +:100FB000040C41BC0000001F030C423800040B630A +:100FC000010C424800000000010C424C00000000EF +:100FD000010C425000000000010C425400000000CF +:100FE000010C425800000000010C425C00000000AF +:100FF000010C426000000000010C4264000000008F +:10100000010C426800000000010C426C000000006E +:10101000010C427000000000010C4274000000004E +:10102000010C427800000000010C427C000000002E +:10103000010C428000000000020C44C000000001CE +:101040000A00000100000001020C4000000003E85B +:101050000A00000100000002020C40000000000A2B +:101060000A00000100000004020C40000000000122 +:1010700005300400009C00000630076800130B6771 +:10108000043200000000160004328000000000401E +:101090000332183000020B6903322E7000040B6B10 +:1010A0000432508000000008033250A000020B6F91 +:1010B000023380000000001A023380400000004E1E +:1010C0000233808000000010023380C00000002046 +:1010D000023383800007A120023383C0000001F4A3 +:1010E00002338BC0000000010A0000020000000172 +:1010F000023383000007A12002338340000001F483 +:101100000A0000020000000202338300000013887E +:1011100002338340000000050A00000200000004C2 +:1011200002338300000001380233834000000000D6 +:1011300005340000371200000534800031C80DC5A9 +:10114000053500002B541A37063561C053C80B71A2 +:101150000130000000000000013000040000000029 +:1011600001300008000000000130000C0000000009 +:1011700001300010000000000130001400000000E9 +:1011800003300020001A0B73033000A400020B8D03 +:10119000023002240000000002300234000000008F +:1011A0000230024C00000000023002E40000FFFFA9 +:1011B000083020000000080004321C10000000026B +:1011C00004322DE000000002043230000000002054 +:1011D0000432310000000020043232000000002000 +:1011E00004323300000000200432340000000020EC +:1011F00004323500000000200432360000000020D8 +:1012000004323700000000200432380000000020C3 +:10121000043239000000002004323A0000000020AF +:1012200004323B000000002004323C00000000209B +:1012300004323D000000002004323E000000002087 +:1012400004323F000000002004324000000000D8BB +:10125000043246C000000120043250C800000024BF +:1012600004321C200000000204322DE800000002BD +:101270000432308000000020043231800000002061 +:10128000043232800000002004323380000000204D +:101290000432348000000020043235800000002039 +:1012A0000432368000000020043237800000002025 +:1012B0000432388000000020043239800000002011 +:1012C00004323A800000002004323B8000000020FD +:1012D00004323C800000002004323D8000000020E9 +:1012E00004323E800000002004323F8000000020D5 +:1012F00004324360000000D804324B40000001205B +:10130000043251580000002402020058000000324C +:101310000302006000040B8F040200700000000450 +:10132000030200A0000E0B93030200DC00070BA1D8 +:10133000020200FC00000006020201200000000082 +:101340000202013400000002020201B000000001AC +:101350000202020C000000010302021400020BA8AA +:1013600002020404000000010302040C00020BAAA4 +:101370000302041C00040BAC03020480001F0BB02A +:10138000040204FC0000001304028000000020009E +:101390000302000400140BCF02020108000000C881 +:1013A0000202011800000002020201C40000000055 +:1013B000020201CC00000000020201D40000000281 +:1013C000020201DC00000002020201E4000000FF52 +:1013D000020201EC000000FF0202010C000000C844 +:1013E0000202011C00000002020201C8000000000D +:1013F000020201D000000000020201D80000000239 +:10140000020201E000000002020201E8000000FF09 +:10141000020201F0000000FF021610000000002888 +:101420000316600800030BE30316601C00040BE6C0 +:1014300003166038000D0BEA0416606C0000001300 +:10144000031660B800020BF7041660C00000003EEF +:10145000021661B800000001041661BC0000001F04 +:101460000316623800040BF9011662480000000000 +:101470000116624C000000000116625000000000DE +:1014800001166254000000000116625800000000BE +:101490000116625C0000000001166260000000009E +:1014A000011662640000000001166268000000007E +:1014B0000116626C0000000001166270000000005E +:1014C000011662740000000001166278000000003E +:1014D0000116627C00000000021664BC00000001DE +:1014E0000A0000010000000102166000000003E88D +:1014F0000A00000100000002021660000000000A5D +:101500000A00000100000004021660000000000153 +:1015100005280400008800000628076800130BFD5A +:10152000042A000000001600042A80000000004089 +:10153000032A250000020BFF032A296000040C0186 +:10154000032A2F4800020C05032A336800020C0707 +:10155000032A392000020C09032A393000020C0B3F +:10156000032A3AC800020C0D042A3AD000000006F3 +:10157000032A3B9800020C0F032A3C2000040C11A4 +:10158000022A3CD000000000022B80000000000076 +:10159000022B804000000018022B80800000000C0D +:1015A000022B80C000000066022B83800007A12070 +:1015B000022B83C0000001F4022B8BC0000000014D +:1015C0000A00000200000001022B83000007A12096 +:1015D000022B8340000001F40A0000020000000218 +:1015E000022B830000001388022B834000000005BB +:1015F0000A00000200000004022B830000000138F2 +:10160000022B8340000000000A00000100000020BF +:10161000022A3CD400000000052C000038B0000075 +:10162000052C800039E30E2C052D0000399B1CA5EC +:10163000052D8000115B2B0C062DA1604BD40C15E1 +:101640000128000000000000012800040000000044 +:1016500001280008000000000128000C0000000024 +:101660000128001000000000012800140000000004 +:1016700003280020001A0C17032800A400020C31D4 +:1016800002280224000000000228023400000000AA +:101690000228024C00000000022802E40000FFFFC4 +:1016A0000828200000000800042A39100000000269 +:1016B000042A393800000020042A3A3800000010BB +:1016C000032A3AE800020C33032A3AF800100C35DA +:1016D000042A3C3000000002042A500000000002EE +:1016E000042A501000000002042A502000000002CA +:1016F000042A503000000002022A5040000000007E +:10170000042A50480000000E042A39180000000284 +:10171000042A39B800000020042A3A78000000109A +:10172000032A3AF000020C45032A3B3800100C470C +:10173000042A3C3800000002042A5008000000027D +:10174000042A501800000002042A50280000000259 +:10175000042A503800000002022A50440000000011 +:10176000042A50800000000E0400A00000000016B3 +:101770000300A06C00060C570400A08400000005C4 +:101780000200A0980FE000000400A09C00000014DC +:101790000300A0EC00080C5D0400A22C0000000473 +:1017A0000200A060000003070300A10C00060C6506 +:1017B0000400A124000000050200A1380FE0000091 +:1017C0000400A13C000000140300A18C00080C6B75 +:1017D0000400A23C000000040200A0640000030713 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:101810000000000000000005000500090009000D9F +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:10184000000D001B001B001C001C001D0000000000 +:101850000000000000000000000000000000000088 +:10186000000000000000000000000000001D002536 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:1018900000000000000000000025002B00000000F8 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C00000000000002B00470000000000000000A6 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F000004700AE00AE00B300B300B80000000027 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:10194000000000000000000000B800BC0000000023 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000BC00C30000000000000000E8 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A00000C300C400C400D600D600E80000000058 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F000000000000000000000E800EC0000000013 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A20000000000000EC00EF00EF00FC00FC0109EA +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000109010F010F011301130117000000001C +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA00000000000000000000117012700000000F6 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD00000000000012701360000000000000000A7 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B00000136013900000000000000000000000064 +:101B100000000000000000000000000000000000C5 +:101B20000000000000000000000000000139014E2C +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000014E014F00000000E6 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B800000000000014F015C015C015D015D015E30 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB000015E01720172017501750178000000007B +:101BC0000000000000000000000000000000000015 +:101BD00000000000000000000000000001780191FA +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C00000000000000000000019101BE01BE01C9FA +:101C100001C901D400000000000000000000000025 +:101C200000000000000000000000000000000000B4 +:101C30000000000001D401E101E101E201E201E361 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C600001E301E4000000000000000000000000AB +:101C70000000000000000000000000000000000064 +:101C800000000000000000000000000001E402016C +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB00000000000000000000201022A022A023F88 +:101CC000023F02540000000000000000000000007D +:101CD0000000000000000000000000000000000004 +:101CE00000000000025402660266026E026E027676 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100002760277000000000000000000000000D2 +:101D200000000000000000000000000000000000B3 +:101D30000000000000000000000000000277029593 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000029502C802C802D472 +:101D700002D402E0000000000000000000000000AB +:101D80000000000000000000000000000000000053 +:101D90000000000002E002E102E102E802E802EFD6 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC00000000000000000000000200000004000B3 +:101DD00000006000000080000000A0000000C000C3 +:101DE0000000E000000100000001200000014000B0 +:101DF00000016000000180000001A0000001C0009F +:101E00000001E0000002000000022000000240008B +:101E100000026000000280000002A0000002C0007A +:101E20000002E00000030000000320000003400067 +:101E300000036000000380000003A0000003C00056 +:101E40000003E00000040000000420000004400043 +:101E500000046000000480000004A0000004C00032 +:101E60000004E0000005000000052000000540001F +:101E700000056000000580000005A0000005C0000E +:101E80000005E000000600000006200000064000FB +:101E900000066000000680000006A0000006C000EA +:101EA0000006E000000700000007200000074000D7 +:101EB00000076000000780000007A0000007C000C6 +:101EC0000007E000000800000008200000084000B3 +:101ED00000086000000880000008A0000008C000A2 +:101EE0000008E0000009000000092000000940008F +:101EF00000096000000980000009A0000009C0007E +:101F00000009E000000A0000000A2000000A40006A +:101F1000000A6000000A8000000AA000000AC00059 +:101F2000000AE000000B0000000B2000000B400046 +:101F3000000B6000000B8000000BA000000BC00035 +:101F4000000BE000000C0000000C2000000C400022 +:101F5000000C6000000C8000000CA000000CC00011 +:101F6000000CE000000D0000000D2000000D4000FE +:101F7000000D6000000D8000000DA000000DC000ED +:101F8000000DE000000E0000000E2000000E4000DA +:101F9000000E6000000E8000000EA000000EC000C9 +:101FA000000EE000000F0000000F2000000F4000B6 +:101FB000000F6000000F8000000FA000000FC000A5 +:101FC000000FE00000100000001020000010400092 +:101FD00000106000001080000010A0000010C00081 +:101FE0000010E0000011000000112000001140006E +:101FF00000116000001180000011A0000011C0005D +:102000000011E00000120000001220000012400049 +:1020100000126000001280000012A0000012C00038 +:102020000012E00000130000001320000013400025 +:1020300000136000001380000013A0000013C00014 +:102040000013E00000140000001420000014400001 +:1020500000146000001480000014A0000014C000F0 +:102060000014E000001500000015200000154000DD +:1020700000156000001580000015A0000015C000CC +:102080000015E000001600000016200000164000B9 +:1020900000166000001680000016A0000016C000A8 +:1020A0000016E00000170000001720000017400095 +:1020B00000176000001780000017A0000017C00084 +:1020C0000017E00000180000001820000018400071 +:1020D00000186000001880000018A0000018C00060 +:1020E0000018E0000019000000192000001940004D +:1020F00000196000001980000019A0000019C0003C +:102100000019E000001A0000001A2000001A400028 +:10211000001A6000001A8000001AA000001AC00017 +:10212000001AE000001B0000001B2000001B400004 +:10213000001B6000001B8000001BA000001BC000F3 +:10214000001BE000001C0000001C2000001C4000E0 +:10215000001C6000001C8000001CA000001CC000CF +:10216000001CE000001D0000001D2000001D4000BC +:10217000001D6000001D8000001DA000001DC000AB +:10218000001DE000001E0000001E2000001E400098 +:10219000001E6000001E8000001EA000001EC00087 +:1021A000001EE000001F0000001F2000001F400074 +:1021B000001F6000001F8000001FA000001FC00063 +:1021C000001FE00000200000002020000020400050 +:1021D00000206000002080000020A0000020C0003F +:1021E0000020E0000021000000212000002140002C +:1021F00000216000002180000021A0000021C0001B +:102200000021E00000220000002220000022400007 +:1022100000226000002280000022A0000022C000F6 +:102220000022E000002300000023200000234000E3 +:1022300000236000002380000023A0000023C000D2 +:102240000023E000002400000024200000244000BF +:1022500000246000002480000024A0000024C000AE +:102260000024E0000025000000252000002540009B +:1022700000256000002580000025A0000025C0008A +:102280000025E00000260000002620000026400077 +:1022900000266000002680000026A0000026C00066 +:1022A0000026E00000270000002720000027400053 +:1022B00000276000002780000027A0000027C00042 +:1022C0000027E0000028000000282000002840002F +:1022D00000286000002880000028A0000028C0001E +:1022E0000028E0000029000000292000002940000B +:1022F00000296000002980000029A0000029C000FA +:102300000029E000002A0000002A2000002A4000E6 +:10231000002A6000002A8000002AA000002AC000D5 +:10232000002AE000002B0000002B2000002B4000C2 +:10233000002B6000002B8000002BA000002BC000B1 +:10234000002BE000002C0000002C2000002C40009E +:10235000002C6000002C8000002CA000002CC0008D +:10236000002CE000002D0000002D2000002D40007A +:10237000002D6000002D8000002DA000002DC00069 +:10238000002DE000002E0000002E2000002E400056 +:10239000002E6000002E8000002EA000002EC00045 +:1023A000002EE000002F0000002F2000002F400032 +:1023B000002F6000002F8000002FA000002FC00021 +:1023C000002FE0000030000000302000003040000E +:1023D00000306000003080000030A0000030C000FD +:1023E0000030E000003100000031200000314000EA +:1023F00000316000003180000031A0000031C000D9 +:102400000031E000003200000032200000324000C5 +:1024100000326000003280000032A0000032C000B4 +:102420000032E000003300000033200000334000A1 +:1024300000336000003380000033A0000033C00090 +:102440000033E0000034000000342000003440007D +:1024500000346000003480000034A0000034C0006C +:102460000034E00000350000003520000035400059 +:1024700000356000003580000035A0000035C00048 +:102480000035E00000360000003620000036400035 +:1024900000366000003680000036A0000036C00024 +:1024A0000036E00000370000003720000037400011 +:1024B00000376000003780000037A0000037C00000 +:1024C0000037E000003800000038200000384000ED +:1024D00000386000003880000038A0000038C000DC +:1024E0000038E000003900000039200000394000C9 +:1024F00000396000003980000039A0000039C000B8 +:102500000039E000003A0000003A2000003A4000A4 +:10251000003A6000003A8000003AA000003AC00093 +:10252000003AE000003B0000003B2000003B400080 +:10253000003B6000003B8000003BA000003BC0006F +:10254000003BE000003C0000003C2000003C40005C +:10255000003C6000003C8000003CA000003CC0004B +:10256000003CE000003D0000003D2000003D400038 +:10257000003D6000003D8000003DA000003DC00027 +:10258000003DE000003E0000003E2000003E400014 +:10259000003E6000003E8000003EA000003EC00003 +:1025A000003EE000003F0000003F2000003F4000F0 +:1025B000003F6000003F8000003FA000003FC000DF +:1025C000003FE000003FE00100000000000001FFCC +:1025D00000000200000000010000000200000000F6 +:1025E000000000080215002002150020081000005D +:1025F00000000033000000020000000000000005A1 +:1026000000000005000000000000000000000002C3 +:1026100000000003000000020000000100000004B0 +:1026200000000002000000020000000100000002A3 +:1026300000000020000000400000004000000003F7 +:102640000000001800002000000040C00000618071 +:10265000000082400000A3000000C3C00000E4802E +:102660000001054000012600000146C0000167800E +:10267000000188400001A9000001C9C00001EA80F2 +:1026800000020B4000022C0000024CC000026D80D2 +:1026900000028E400002AF000002CFC00002F080B6 +:1026A00000001140000000010000000100000001D6 +:1026B0000000000100000001000000010000000116 +:1026C0000000000100000001000000010000000106 +:1026D00000000001000000010000000100000001F6 +:1026E0000003D0000000003D00000001000D0000CC +:1026F000000700D000028140000B81680002022028 +:1027000000010240000F025000010340000C0000D5 +:10271000000800C000028140000B81680002022016 +:102720000001024000070250000202C00010000039 +:102730000008010000028180000B81A800020260F5 +:1027400000018280000E82980008038000000000D3 +:102750000000000000028000000B8028000200E062 +:10276000000101000000811000000118FFFFFFF3CD +:1027700001AFFFFF000000000000000000000000AB +:10278000000000000000000000000000FFFFFFF15B +:1027900000EFFFFF0000000000000000000000004C +:1027A000000000000001000000000000FFFFFFF635 +:1027B000005FFFFF000000000000000000000000BC +:1027C000000000000002000000000000FFFFF4060F +:1027D0001CBFFFFF00000005000000000000001407 +:1027E000000000000004000000000000FFFFFFF2F6 +:1027F000004FFFFF0000000000000000000000008C +:10280000000000000008000000000000FFFFFFFAC9 +:10281000002FFFFF0000000000000000000000008B +:10282000000000000010000000000000FFFFFFF7A4 +:1028300001EFFFFF000000000000000000000000AA +:10284000000000000020000000000000FFFFFFF576 +:10285000002FFFFF0000000000000000000000004B +:10286000000000000040000000000000FFFFFFF338 +:10287000018FFFFF000000000000000000000000CA +:10288000000000000000000000000000FFFFFFF15A +:10289000010FFFFF0000000000000000000000002A +:1028A000000000000001000000000000FFFFFFF634 +:1028B000005FFFFF000000000000000000000000BB +:1028C000000000000002000000000000FFFFF4060E +:1028D0001CBFFFFF00000005000000000000001406 +:1028E000000000000004000000000000FFFFFFF2F5 +:1028F000004FFFFF0000000000000000000000008B +:10290000000000000008000000000000FFFFFFFAC8 +:10291000002FFFFF0000000000000000000000008A +:10292000000000000010000000000000FFFFFFF7A3 +:1029300000EFFFFF000000000000000000000000AA +:10294000000000000020000000000000FFFFFFF575 +:10295000004FFFFF0000000000000000000000002A +:10296000000000000040000000000000FFFFFFFF2B +:1029700000CFFFFF0000000000000000000000CCBE +:10298000000000000000000000000000FFFFFFFF4B +:1029900000CFFFFF0000000000000000000000CC9E +:1029A000000000000001000000000000FFFFFFFF2A +:1029B00000CFFFFF0000000000000000000000CC7E +:1029C000000000000002000000000000FFFFFFFF09 +:1029D00000CFFFFF0000000000000000000000CC5E +:1029E000000000000004000000000000FFFFFFFFE7 +:1029F00000CFFFFF0000000000000000000000CC3E +:102A0000000000000008000000000000FFFFFFFFC2 +:102A100000CFFFFF0000000000000000000000CC1D +:102A2000000000000010000000000000FFFFFFFF9A +:102A300000CFFFFF0000000000000000000000CCFD +:102A4000000000000020000000000000FFFFFFFF6A +:102A500000CFFFFF0000000000000000000000CCDD +:102A6000000000000040000000000000FFFFFFF336 +:102A7000020FFFFF00000000000000000000000047 +:102A8000000000000000000000000000FFFFFFF158 +:102A9000010FFFFF00000000000000000000000028 +:102AA000000000000001000000000000FFFFFFF632 +:102AB000005FFFFF000000000000000000000000B9 +:102AC000000000000002000000000000FFFFF4060C +:102AD0001CBFFFFF00000005000000000000001404 +:102AE000000000000004000000000000FFFFFFF2F3 +:102AF000004FFFFF00000000000000000000000089 +:102B0000000000000008000000000000FFFFFF8A36 +:102B1000042FFFFF00000000000000000000000084 +:102B2000000000000010000000000000FFFFFF9701 +:102B300005CFFFFF000000000000000000000000C3 +:102B4000000000000020000000000000FFFFFFF573 +:102B5000010FFFFF00000000000000000000000067 +:102B6000000000000040000000000000FFFFFFF335 +:102B7000000FFFFF00000000000000000000000048 +:102B8000000000000000000000000000FFFFFFF157 +:102B9000000FFFFF00000000000000000000000028 +:102BA000000000000001000000000000FFFFFFF631 +:102BB000005FFFFF000000000000000000000000B8 +:102BC000000000000002000000000000FFFFF4060B +:102BD0001CBFFFFF00000005000000000000001403 +:102BE000000000000004000000000000FFFFFFF2F2 +:102BF000004FFFFF00000000000000000000000088 +:102C0000000000000008000000000000FFFFFFFAC5 +:102C1000002FFFFF00000000000000000000000087 +:102C2000000000000010000000000000FFFFFF9700 +:102C3000040FFFFF00000000000000000000000083 +:102C4000000000000020000000000000FFFFFFF572 +:102C5000000FFFFF00000000000000000000000067 +:102C6000000000000040000000000000FFFFFFFF28 +:102C700000CFFFFF0000000000000000000000CCBB +:102C8000000000000000000000000000FFFFFFFF48 +:102C900000CFFFFF0000000000000000000000CC9B +:102CA000000000000001000000000000FFFFFFFF27 +:102CB00000CFFFFF0000000000000000000000CC7B +:102CC000000000000002000000000000FFFFFFFF06 +:102CD00000CFFFFF0000000000000000000000CC5B +:102CE000000000000004000000000000FFFFFFFFE4 +:102CF00000CFFFFF0000000000000000000000CC3B +:102D0000000000000008000000000000FFFFFFFFBF +:102D100000CFFFFF0000000000000000000000CC1A +:102D2000000000000010000000000000FFFFFFFF97 +:102D300000CFFFFF0000000000000000000000CCFA +:102D4000000000000020000000000000FFFFFFFF67 +:102D500000CFFFFF0000000000000000000000CCDA +:102D6000000000000040000000000000FFFFFFFF27 +:102D700000CFFFFF0000000000000000000000CCBA +:102D8000000000000000000000000000FFFFFFFF47 +:102D900000CFFFFF0000000000000000000000CC9A +:102DA000000000000001000000000000FFFFFFFF26 +:102DB00000CFFFFF0000000000000000000000CC7A +:102DC000000000000002000000000000FFFFFFFF05 +:102DD00000CFFFFF0000000000000000000000CC5A +:102DE000000000000004000000000000FFFFFFFFE3 +:102DF00000CFFFFF0000000000000000000000CC3A +:102E0000000000000008000000000000FFFFFFFFBE +:102E100000CFFFFF0000000000000000000000CC19 +:102E2000000000000010000000000000FFFFFFFF96 +:102E300000CFFFFF0000000000000000000000CCF9 +:102E4000000000000020000000000000FFFFFFFF66 +:102E500000CFFFFF0000000000000000000000CCD9 +:102E6000000000000040000000000000FFFFFFFF26 +:102E700000CFFFFF0000000000000000000000CCB9 +:102E8000000000000000000000000000FFFFFFFF46 +:102E900000CFFFFF0000000000000000000000CC99 +:102EA000000000000001000000000000FFFFFFFF25 +:102EB00000CFFFFF0000000000000000000000CC79 +:102EC000000000000002000000000000FFFFFFFF04 +:102ED00000CFFFFF0000000000000000000000CC59 +:102EE000000000000004000000000000FFFFFFFFE2 +:102EF00000CFFFFF0000000000000000000000CC39 +:102F0000000000000008000000000000FFFFFFFFBD +:102F100000CFFFFF0000000000000000000000CC18 +:102F2000000000000010000000000000FFFFFFFF95 +:102F300000CFFFFF0000000000000000000000CCF8 +:102F4000000000000020000000000000FFFFFFFF65 +:102F500000CFFFFF0000000000000000000000CCD8 +:102F600000000000004000000000000000000A1106 +:102F700000000A0000000A040000FFFF0000FFFF3D +:102F80000000FFFF0000FFFF000000200000002104 +:102F900000000022000000230000002400000025A3 +:102FA0000000002600000027000000280000002983 +:102FB0000000002A0000002B0000002C0000002D63 +:102FC0000000002E0000002F000000100000000193 +:102FD00000000001000000010000000100000001ED +:102FE00000000001000000010000000100000001DD +:102FF00000000001000000010000000100000001CD +:1030000000000001000000010000000100000001BC +:1030100007FFFFFF0000003F07FFFFFF0000000F5A +:1030200000007FF800007FF80000FF1C0FFFFFFF8B +:103030000000FF1C0FFFFFFF0000FF1C0FFFFFFF42 +:103040000000FF1C0FFFFFFF0000FF1C0FFFFFFF32 +:103050000000FF1C0FFFFFFF0000FF1C0FFFFFFF22 +:103060000000FF1C0FFFFFFF0000FF1C0FFFFFFF12 +:103070000000FF1C0FFFFFFF0000FF1C0FFFFFFF02 +:103080000000FF1C0FFFFFFF0000FF1C0FFFFFFFF2 +:103090000000FF1C0FFFFFFF0000FF1C0FFFFFFFE2 +:1030A0000000FF1C0FFFFFFF0000FF1C0FFFFFFFD2 +:1030B0000000FF1C0FFFFFFF0000FF1C0FFFFFFFC2 +:1030C0000000FF1C0FFFFFFF0000FF1C0FFFFFFFB2 +:1030D0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA2 +:1030E0000000FF1C0FFFFFFF0000FF1C0FFFFFFF92 +:1030F0000000FF1C0FFFFFFF0000FF1C0FFFFFFF82 +:103100000000FF1C0FFFFFFF0000FF1C0FFFFFFF71 +:103110000000FF1C0FFFFFFF0000FF1C0FFFFFFF61 +:103120000000FF1C0FFFFFFF0000FF1C0FFFFFFF51 +:103130000000FF1C0FFFFFFF0000FF1C0FFFFFFF41 +:103140000000FF1C0FFFFFFF0000FF1C0FFFFFFF31 +:103150000000FF1C0FFFFFFF0000FF1C0FFFFFFF21 +:103160000000FF1C0FFFFFFF0000FF1C0FFFFFFF11 +:103170000000FF1C0FFFFFFF0000FF1C0FFFFFFF01 +:103180000000FF1C0FFFFFFF0000FF1C0FFFFFFFF1 +:103190000000FF1C0FFFFFFF0000FF1C0FFFFFFFE1 +:1031A0000000FF1C0FFFFFFF0000FF1C0FFFFFFFD1 +:1031B0000000FF1C0FFFFFFF0000FF1C0FFFFFFFC1 +:1031C0000000FF1C0FFFFFFF0000FF1C0FFFFFFFB1 +:1031D0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA1 +:1031E0000000FF1C0FFFFFFF0000FF1C0FFFFFFF91 +:1031F0000000FF1C0FFFFFFF0000FF1C0FFFFFFF81 +:103200000000FF1C0FFFFFFF0000FF1C0FFFFFFF70 +:103210000000FF1C0FFFFFFF0000FF1C0FFFFFFF60 +:103220000000FF1C0FFFFFFF0000FF000000000078 +:103230000000FF0000000000000003110000350046 +:103240000000000100000002000000030000000078 +:103250000000000400000001000000000000000168 +:103260000000000400000000000000010000000356 +:103270000000000000000001000000040000000049 +:103280000000000100000003000000000000000139 +:103290000000000400000000000000040000000323 +:1032A000000000000000000000003FFF000003FFDE +:1032B000000000000000000100000001000000010B +:1032C000007C100400000004000000000000000268 +:1032D00000000090000000900080009008100000A6 +:1032E0000000008A000000800000008100000080D3 +:1032F00000000006000007D00000076C0000FFFF80 +:103300000000FFFF0000FFFF0000FFFF071D291165 +:1033100000000000009C04240000000000000001E8 +:103320000000000100000001000000010000000199 +:1033300000007FFF000000FF000000FF000000FF12 +:10334000000000FF000000FF000000FF000000FF81 +:10335000000000FF0000003E000000000000003FF1 +:103360000000003F0000003F000000000000003FA0 +:103370000000003F0000003F0000000F000000437D +:10338000000000000000000600000000121700000E +:10339000221700003217000012150000221500004D +:1033A0003215000002100000001000001010000094 +:1033B0002010000030100000001000001214000067 +:1033C000221400003214000000E38340FFFFFFFFDF +:1033D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1033E000FFFFFFFFFFFFFFFFFFFFFFFFF0003000C9 +:1033F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10340000FFFFFFFFFFFFFFFFFFFFFFFFFFFF33286F +:10341000FFFF3338FFFFFFFFFFFFFFFFFFFFFFFF4F +:10342000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10343000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10344000FFFFFFFFFFFFFFFFFFFFFFFF00003C103C +:103450000000000800000000000000000000004024 +:1034600000001808000008030000080300000040E6 +:103470000000000300000803000008030000080328 +:10348000000100030000080300000803000000031F +:103490000000000300000003000000030000000320 +:1034A0000000000300000003000000030000000310 +:1034B0000000000300000003000000030000000300 +:1034C0000000000300000003000024030000002FA0 +:1034D00000000009000000190000018400000183C1 +:1034E00000000306000000190000000600000306AB +:1034F000000003060000030600000C86000003061F +:1035000000000306000000060000000600000006A0 +:103510000000000600000006000000060000000693 +:103520000000000600000006000000060000000683 +:103530000000000600000006000000060000000673 +:103540000000030600000013000000060000100445 +:1035500000001004001064400010644000000000EF +:10356000000000000000000000000000000020003B +:10357000000000000000000000000000000000004B +:10358000000020000000000000000000000000001B +:1035900000000000000020000000007C0000003D52 +:1035A0000000003F0000009C000000060000000535 +:1035B0000000000A0000000500000140000001407A +:1035C0000000000000000000000000C00000013FFB +:1035D00000007FFF000000480000004800000000DD +:1035E000000000000000004800000004000000048B +:1035F00000000004000000040000000400000004BB +:1036000000000004000000040000000400000009A5 +:103610000000000B0000000A000000040000000988 +:103620000000000B0000000A000000010000000183 +:103630000000000100000001000000010000000186 +:103640000000000100000001000000010000000176 +:10365000000000010000000100000004000000095B +:103660000000000B0000000A000000010000000143 +:103670000000000100000001000000010000000146 +:103680000000000100000001000000010000000136 +:10369000000000010000000100000004000000091B +:1036A0000000000B0000000A000000000000000005 +:1036B0000000080000000200000001FF00000400FC +:1036C00000000000000000001E491E491E491E495E +:1036D0000E490E490E490E49FFFFFFFF0000000092 +:1036E000FFFFFFFF00000000000025E40000800055 +:1036F000000000130FFF0FFF00000000000000009B +:103700000FFF0FFF1000100010001000200020001D +:1037100020002000800080008000800040004000E9 +:103720004000400000000000000000010101010114 +:10373000012001012001010101011001010101012C +:1037400001200101200101010101100120010101FD +:10375000010110010101010101200101200101010C +:1037600001011001010101010120010100000123FB +:1037700000000123000001230000012300000123B9 +:1037800000000123000001230000012300000123A9 +:103790000000012300000123000001230000012399 +:1037A0000000012300000123000001230000012389 +:1037B000000001230000012300000123000000207D +:1037C00000000032000000070000000700000000B9 +:1037D0000000000802150020021500200000003043 +:1037E000081000000000003300000030000000312D +:1037F00000000002000000050000000600000002BA +:1038000000000002000000000000000500000002AF +:10381000000000020000000200000001000000069D +:103820000000000100000002000000400000004015 +:103830000000002000000013000000200001000034 +:10384000000204C00003098000040E4000051300BC +:10385000000617C000071C80000821400009260050 +:10386000000A2AC0000B2F80000C3440000D3900E4 +:10387000000E3DC0000F42800010474000114C0078 +:10388000001250C00013558000145A4000155F000C +:10389000001663C00017688000186D4000197200A0 +:1038A000001A76C0001B7B80001C8040001D850034 +:1038B000001E89C0001F8E800000934000000001A0 +:1038C00000000001000000010000000100000001F4 +:1038D00000000001000000010000000100000001E4 +:1038E00000000001000000010000000100000001D4 +:1038F00000000001000000010000000100000008BD +:103900000000000C00000010000000010000000199 +:10391000000000010000021100000200000002048B +:10392000000002190000FFFF0000FFFF0000FFFF82 +:103930000000FFFF07FFFFFF0000003F07FFFFFF42 +:103940000000000F00007FF800007FF8000000007A +:10395000140AFF0000000000000000010020100118 +:1039600000000000010086000000010000000001CE +:1039700000000000000086020000000000000000BF +:1039800000000000000086040000000000000000AD +:10399000000000000000860600000000000000009B +:1039A0000000000000008608000000000000000089 +:1039B000000000000000860A000000000000000077 +:1039C000000000000000860C000000000000000065 +:1039D000000000000000860E000000000000000053 +:1039E0000000000000008610000000000000000041 +:1039F000000000000000861200000000000000002F +:103A0000000000000000861400000000000000001C +:103A1000000000000000861600000000000000000A +:103A200000000000000086180000000000000000F8 +:103A3000000000000000861A0000000000000000E6 +:103A4000000000000000861C0000000000000000D4 +:103A5000000000000000861E0000000000000000C2 +:103A600000000000000086200000000000000000B0 +:103A7000000000000000862200000000000000009E +:103A8000000000000000862400000000000000008C +:103A9000000000000000862600000000000000007A +:103AA0000000000000008628000000000000000068 +:103AB000000000000000862A000000000000000056 +:103AC000000000000000862C000000000000000044 +:103AD000000000000000862E000000000000000032 +:103AE0000000000000008630000000000000000020 +:103AF000000000000000863200000000000000000E +:103B000000000000000086340000000000000000FB +:103B100000000000000086360000000000000000E9 +:103B200000000000000086380000000000000000D7 +:103B3000000000000000863A0000000000000000C5 +:103B4000000000000000863C0000000000000000B3 +:103B5000000000000000863E0000000000000000A1 +:103B6000000000000000864000000000000000008F +:103B7000000000000000864200000000000000007D +:103B8000000000000000864400000000000000006B +:103B90000000000000008646000000000000000059 +:103BA0000000000000008648000000000000000047 +:103BB000000000000000864A000000000000000035 +:103BC000000000000000864C000000000000000023 +:103BD000000000000000864E000000000000000011 +:103BE00000000000000086500000000000000000FF +:103BF00000000000000086520000000000000000ED +:103C000000000000000086540000000000000000DA +:103C100000000000000086560000000000000000C8 +:103C200000000000000086580000000000000000B6 +:103C3000000000000000865A0000000000000000A4 +:103C4000000000000000865C000000000000000092 +:103C5000000000000000865E000000000000000080 +:103C6000000000000000866000000000000000006E +:103C7000000000000000866200000000000000005C +:103C8000000000000000866400000000000000004A +:103C90000000000000008666000000000000000038 +:103CA0000000000000008668000000000000000026 +:103CB000000000000000866A000000000000000014 +:103CC000000000000000866C000000000000000002 +:103CD000000000000000866E0000000000000000F0 +:103CE00000000000000086700000000000000000DE +:103CF00000000000000086720000000000000000CC +:103D000000000000000086740000000000000000B9 +:103D100000000000000086760000000000000000A7 +:103D20000000000000008678000000000000000095 +:103D3000000000000000867A000000000000000083 +:103D4000000000000000867C000000000000000071 +:103D5000000000000000867E00000000000000005F +:103D6000000000000000868000000000000000004D +:103D7000000000000000868200000000000000003B +:103D80000000000000008684000000000000000029 +:103D90000000000000008686000000000000000017 +:103DA0000000000000008688000000000000000005 +:103DB000000000000000868A0000000000000000F3 +:103DC000000000000000868C0000000000000000E1 +:103DD000000000000000868E0000000000000000CF +:103DE00000000000000086900000000000000000BD +:103DF00000000000000086920000000000000000AB +:103E00000000000000008694000000000000000098 +:103E10000000000000008696000000000000000086 +:103E20000000000000008698000000000000000074 +:103E3000000000000000869A000000000000000062 +:103E4000000000000000869C000000000000000050 +:103E5000000000000000869E00000000000000003E +:103E600000000000000086A000000000000000002C +:103E700000000000000086A200000000000000001A +:103E800000000000000086A4000000000000000008 +:103E900000000000000086A60000000000000000F6 +:103EA00000000000000086A80000000000000000E4 +:103EB00000000000000086AA0000000000000000D2 +:103EC00000000000000086AC0000000000000000C0 +:103ED00000000000000086AE0000000000000000AE +:103EE00000000000000086B000000000000000009C +:103EF00000000000000086B200000000000000008A +:103F000000000000000086B4000000000000000077 +:103F100000000000000086B6000000000000000065 +:103F200000000000000086B8000000000000000053 +:103F300000000000000086BA000000000000000041 +:103F400000000000000086BC00000000000000002F +:103F500000000000000086BE00000000000000001D +:103F600000000000000086C000000000000000000B +:103F700000000000000086C20000000000000000F9 +:103F800000000000000086C40000000000000000E7 +:103F900000000000000086C60000000000000000D5 +:103FA00000000000000086C80000000000000000C3 +:103FB00000000000000086CA0000000000000000B1 +:103FC00000000000000086CC00000000000000009F +:103FD00000000000000086CE00000000000000008D +:103FE00000000000000086D000000000000000007B +:103FF00000000000000086D2000000000000000069 +:1040000000000000000086D4000000000000000056 +:1040100000000000000086D6000000000000000044 +:1040200000000000000086D8000000000000000032 +:1040300000000000000086DA000000000000000020 +:1040400000000000000086DC00000000000000000E +:1040500000000000000086DE0000000000000000FC +:1040600000000000000086E00000000000000000EA +:1040700000000000000086E20000000000000000D8 +:1040800000000000000086E40000000000000000C6 +:1040900000000000000086E60000000000000000B4 +:1040A00000000000000086E80000000000000000A2 +:1040B00000000000000086EA000000000000000090 +:1040C00000000000000086EC00000000000000007E +:1040D00000000000000086EE00000000000000006C +:1040E00000000000000086F000000000000000005A +:1040F00000000000000086F2000000000000000048 +:1041000000000000000086F4000000000000000035 +:1041100000000000000086F6000000000000000023 +:1041200000000000000086F8000000000000000011 +:1041300000000000000086FA0000000000000000FF +:1041400000000000000086FC0000000000000000ED +:1041500000000000000086FE0000000000000000DB +:1041600000000000000087000000000000000000C8 +:1041700000000000000087020000000000000000B6 +:1041800000000000000087040000000000000000A4 +:104190000000000000008706000000000000000092 +:1041A0000000000000008708000000000000000080 +:1041B000000000000000870A00000000000000006E +:1041C000000000000000870C00000000000000005C +:1041D000000000000000870E00000000000000004A +:1041E0000000000000008710000000000000000038 +:1041F0000000000000008712000000000000000026 +:104200000000000000008714000000000000000013 +:104210000000000000008716000000000000000001 +:1042200000000000000087180000000000000000EF +:10423000000000000000871A0000000000000000DD +:10424000000000000000871C0000000000000000CB +:10425000000000000000871E0000000000000000B9 +:1042600000000000000087200000000000000000A7 +:104270000000000000008722000000000000000095 +:104280000000000000008724000000000000000083 +:104290000000000000008726000000000000000071 +:1042A000000000000000872800000000000000005F +:1042B000000000000000872A00000000000000004D +:1042C000000000000000872C00000000000000003B +:1042D000000000000000872E000000000000000029 +:1042E0000000000000008730000000000000000017 +:1042F0000000000000008732000000000000000005 +:1043000000000000000087340000000000000000F2 +:1043100000000000000087360000000000000000E0 +:1043200000000000000087380000000000000000CE +:10433000000000000000873A0000000000000000BC +:10434000000000000000873C0000000000000000AA +:10435000000000000000873E000000000000000098 +:104360000000000000008740000000000000000086 +:104370000000000000008742000000000000000074 +:104380000000000000008744000000000000000062 +:104390000000000000008746000000000000000050 +:1043A000000000000000874800000000000000003E +:1043B000000000000000874A00000000000000002C +:1043C000000000000000874C00000000000000001A +:1043D000000000000000874E000000000000000008 +:1043E00000000000000087500000000000000000F6 +:1043F00000000000000087520000000000000000E4 +:1044000000000000000087540000000000000000D1 +:1044100000000000000087560000000000000000BF +:1044200000000000000087580000000000000000AD +:10443000000000000000875A00000000000000009B +:10444000000000000000875C000000000000000089 +:10445000000000000000875E000000000000000077 +:104460000000000000008760000000000000000065 +:104470000000000000008762000000000000000053 +:104480000000000000008764000000000000000041 +:10449000000000000000876600000000000000002F +:1044A000000000000000876800000000000000001D +:1044B000000000000000876A00000000000000000B +:1044C000000000000000876C0000000000000000F9 +:1044D000000000000000876E0000000000000000E7 +:1044E00000000000000087700000000000000000D5 +:1044F00000000000000087720000000000000000C3 +:1045000000000000000087740000000000000000B0 +:10451000000000000000877600000000000000009E +:10452000000000000000877800000000000000008C +:10453000000000000000877A00000000000000007A +:10454000000000000000877C000000000000000068 +:10455000000000000000877E000000000000000056 +:104560000000000000008780000000000000000044 +:104570000000000000008782000000000000000032 +:104580000000000000008784000000000000000020 +:10459000000000000000878600000000000000000E +:1045A00000000000000087880000000000000000FC +:1045B000000000000000878A0000000000000000EA +:1045C000000000000000878C0000000000000000D8 +:1045D000000000000000878E0000000000000000C6 +:1045E00000000000000087900000000000000000B4 +:1045F00000000000000087920000000000000000A2 +:10460000000000000000879400000000000000008F +:10461000000000000000879600000000000000007D +:10462000000000000000879800000000000000006B +:10463000000000000000879A000000000000000059 +:10464000000000000000879C000000000000000047 +:10465000000000000000879E000000000000000035 +:1046600000000000000087A0000000000000000023 +:1046700000000000000087A2000000000000000011 +:1046800000000000000087A40000000000000000FF +:1046900000000000000087A60000000000000000ED +:1046A00000000000000087A80000000000000000DB +:1046B00000000000000087AA0000000000000000C9 +:1046C00000000000000087AC0000000000000000B7 +:1046D00000000000000087AE0000000000000000A5 +:1046E00000000000000087B0000000000000000093 +:1046F00000000000000087B2000000000000000081 +:1047000000000000000087B400000000000000006E +:1047100000000000000087B600000000000000005C +:1047200000000000000087B800000000000000004A +:1047300000000000000087BA000000000000000038 +:1047400000000000000087BC000000000000000026 +:1047500000000000000087BE000000000000000014 +:1047600000000000000087C0000000000000000002 +:1047700000000000000087C20000000000000000F0 +:1047800000000000000087C40000000000000000DE +:1047900000000000000087C60000000000000000CC +:1047A00000000000000087C80000000000000000BA +:1047B00000000000000087CA0000000000000000A8 +:1047C00000000000000087CC000000000000000096 +:1047D00000000000000087CE000000000000000084 +:1047E00000000000000087D0000000000000000072 +:1047F00000000000000087D2000000000000000060 +:1048000000000000000087D400000000000000004D +:1048100000000000000087D600000000000000003B +:1048200000000000000087D8000000000000000029 +:1048300000000000000087DA000000000000000017 +:1048400000000000000087DC000000000000000005 +:1048500000000000000087DE0000000000000000F3 +:1048600000000000000087E00000000000000000E1 +:1048700000000000000087E20000000000000000CF +:1048800000000000000087E40000000000000000BD +:1048900000000000000087E60000000000000000AB +:1048A00000000000000087E8000000000000000099 +:1048B00000000000000087EA000000000000000087 +:1048C00000000000000087EC000000000000000075 +:1048D00000000000000087EE000000000000000063 +:1048E00000000000000087F0000000000000000051 +:1048F00000000000000087F200000000000000003F +:1049000000000000000087F400000000000000002C +:1049100000000000000087F600000000000000001A +:1049200000000000000087F8000000000000000008 +:1049300000000000000087FA0000000000000000F6 +:1049400000000000000087FC0000000000000000E4 +:1049500000000000000087FE0000FF0000000000D3 +:104960000000FF0000000000000001D20000150060 +:104970000000000100000002000000030000000031 +:104980000000000400000001000000000000000121 +:10499000000000040000000000000001000000030F +:1049A0000000000000000001000000040000000002 +:1049B00000000001000000030000000000000001F2 +:1049C00000000004000000000000000400000003DC +:1049D000000000000000000000003FFF000003FF97 +:1049E0000000000300BEBC20000000000000000525 +:1049F0000000000300BEBC20000000000000000515 +:104A00000000000D0000000C00000000000000107D +:104A100002150020021500200000003008100000E0 +:104A200000000033000000300000003100000002F0 +:104A3000000000040000000000000002000000026E +:104A4000000000000000000200000007000000025B +:104A5000000000020000000100000003000000014F +:104A600000000002000000400000004000000004C0 +:104A7000000000200000000F0000001B000080006C +:104A8000000103C00001878000020B4000028F007C +:104A9000000312C00003968000041A4000049E0028 +:104AA000000521C00005A580000629400006AD00D4 +:104AB000000730C00007B480000838400008BC0080 +:104AC00000093FC00009C380000A4740000ACB002C +:104AD000000B4EC0000BD280000C5640000CDA00D8 +:104AE000000D5DC0000061800000000100000001B9 +:104AF00000000001000000010000000100000001B2 +:104B000000000001000000010000000100000001A1 +:104B10000000000100000001000000010000000191 +:104B2000000000010000000100000001000005AAD3 +:104B3000000005990000059D000003C00000FFFF74 +:104B40000000FFFF0000FFFF0000FFFF0000004625 +:104B50000000000C07FFFFFF0000003F07FFFFFF02 +:104B60000000000F00007FF800007FF8FFFFFFFF4C +:104B7000FFFFFFFF0000FF00000000000000FF003B +:104B8000000000000000190000000000000001D338 +:104B900000003500000000010000000200000003DA +:104BA0000000000000000004000000010000000000 +:104BB00000000001000000040000000000000001EF +:104BC00000000003000000000000000100000004DD +:104BD00000000000000000010000000300000000D1 +:104BE00000000001000000040000000000000004BC +:104BF00000000003000000000000000000003FFF74 +:104C0000000003FF0000000F00000007000000008C +:104C10000000000E031500200315002001000030E5 +:104C200008100000000000330000003000000031D8 +:104C30000000000300000006000000030000000365 +:104C40000000000200000000000000020000000060 +:104C50000000000600000004000000020000000246 +:104C6000000000010000000400000001000000023C +:104C70000000004000000040000000040000002090 +:104C8000000000020000001F000010000000208053 +:104C900000003100000041800000520000006280EE +:104CA0000000730000008380000094000000A480D6 +:104CB0000000B5000000C5800000D6000000E680BE +:104CC0000000F700000107800001180000012880A3 +:104CD000000139000001498000015A0000016A808A +:104CE00000017B0000018B8000019C000001AC8072 +:104CF0000001BD000001CD800001DE000001EE805A +:104D000000000F0000000001000000010000000191 +:104D1000000000010000000100000001000000018F +:104D2000000000010000000100000001000000017F +:104D3000000000010000000100000001000000016F +:104D4000000000010000000100000001000000015F +:104D50000000000100000614000006000000060428 +:104D60000000FFFF0000FFFF0000FFFF0000FFFF4B +:104D700000000020000000200000000000000000F3 +:104D80000000002300000024000000250000002691 +:104D900000000027000000290000002A0000002B6E +:104DA0000000002C000000010000000107FFFFFFD1 +:104DB0000000003F07FFFFFF0000000F00007FF82A +:104DC00000007FF80000000000000001CCCC0201D0 +:104DD000CCCCCCCCCCCC0201CCCCCCCCFFFFFFFFDC +:104DE000FFFFFFFF00000000000100010033020789 +:104DF000CCCCCCC1FFFFFFFFFFFFFFFF1000000086 +:104E0000000028AD7058103C000000000000FF00BA +:104E1000000000000000FF0000000000000002820F +:104E20000000150000000001000000020000000367 +:104E3000000000000000000400000001000000006D +:104E4000000000010000000400000000000000015C +:104E5000000000030000000000000001000000044A +:104E6000000000000000000100000003000000003E +:104E70000000000100000004000000000000000429 +:104E800000000003000000000000000000003FFFE1 +:104E9000000003FF000E0000011600D60000FFFF17 +:104EA000000000000000FFFF000000000000FFFF06 +:104EB000000000000000FFFF000000000000FFFFF6 +:104EC000000000000000FFFF0000000000000000E4 +:104ED000000000000000FFFF000000000072000062 +:104EE000012300F30000FFFF000000000000FFFFAF +:104EF000000000000000FFFF000000000000FFFFB6 +:104F0000000000000000FFFF000000000000FFFFA5 +:104F10000000000000000000000000000000FFFF93 +:104F200000000000BF5C0000FFF51FEF0000FFFF66 +:104F3000F00003E0000000000000A0005554000055 +:104F40005555555500005555F000000055540000CA +:104F50005555555500005555F0000000BF5C000048 +:104F6000FFF51FEF0000FFFFF00003E0000000006E +:104F70000000A000555400005555555500005555EA +:104F8000F00000005554000055555555000055558A +:104F9000F0000000000000001F8B0800000000006F +:104FA000000BFB51CFC0F00309B773A2F2A5595112 +:104FB000F90D6CA8FC81C629CC0C0CD940DC0AC4C4 +:104FC00045CCF8D58631618AB1CA22D83BA41818DD +:104FD0002424206C6F8981F7DB28A63DFEA981CAB5 +:104FE000FFA706A1CBA1E2BFD0E4FF43E5372B43E7 +:104FF000E8DF1AD8CDDD029507001BFDA1C26003D2 +:1050000000000000000000001F8B080000000000EE +:10501000000BED7D0D7854D5B5E89E33E79C393310 +:1050200099999C84106642424F4280A001078810E3 +:105030002CDA49081ADB54861F35B5A80352457E81 +:10504000A38D356DED9D03F931F2F78270297AD188 +:105050003B506AB1D7F6466EB4F47DD86F22B617CE +:105060009F6D6F0A28DAE23558F5562BDE68B5D207 +:10507000EFB3F5ADB57F32E79CCC24C1AAB7EF7B87 +:105080008D5FBBD9679FBDF7DAEB6FAFBDD6DA672F +:105090003CD22CA27E8E900FF10FCAE32E42C8D8CC +:1050A00074299E132D7A3DA922645548353643DB79 +:1050B0001A3769EAAEC4FAE43A329D1005DF0F13DD +:1050C000F86798F693F3B548AA00DA9F7557BB8D39 +:1050D000F438CE72954C883E134AB2B5CF1D843158 +:1050E00092CA40BF46E8DF876584B49C9E51FF9416 +:1050F000A8C3FF422450F0DA85F08F3964CE876E62 +:1051000042DED11B7353C38CFF46E2982E4F22E43C +:10511000FD44A4FEA94943DBC53AD610F28A271FF5 +:10512000D769AA5F9A46C86CA2D17588F5C9F99D5E +:1051300085713FBC77F0695DAE48C3430A609173E7 +:10514000E1B94C529E9943E11FC41F31E978304FB9 +:105150008ACE23FAF5037C96F539FB0F8ECBFB1331 +:1051600019FE9B4D888FBD421E74C53F8BCFBD7508 +:105170007798458087358F2C220827AE23362D0D52 +:10518000BF9857AC63707EC77AB2AD63707EDE2F76 +:105190001BBEC57BEFD4B577108990938A5112431B +:1051A0003EA99F524780BE8B914FE6A6E9B2684167 +:1051B0003B85271B5D803F0C1DF1E5F6337E7AAE03 +:1051C000B51AC84E9A8997908B33CC3F02FFC49D85 +:1051D000FC5377F527C23FDFE4FC43EAC752B9101E +:1051E000EB77E27B559D72C6337D187CF3FE827EA1 +:1051F00043F82F5BBFA17C6266E4133EBEE017312B +:10520000CF5F0BEF48FC414817A51F213137CE9BDC +:10521000AE2709AB8BF72C6521B0015F8FBBA0E3F4 +:105220006DF7742C7D26EA0D7781FC5ABF558E7878 +:105230003F452571A44F2B3E0AF3CEC0477271E45F +:105240003BA8C71E222A9D572ED0E83880A7872862 +:105250001C0D76FC79F518417E560A2B72E3301E40 +:10526000F1E7679483BB134DF5B2854FEE56486363 +:10527000B79FAD8BCE338124C720FE3E986F2C0E96 +:10528000641FC789AF5625F27C1CF4AF39568D7C5C +:1052900017D7EFCABC9ED4E07A5413F103EB490D43 +:1052A000B79ED6C064BE9ECC72DDC6D723E01F7CFD +:1052B0002ED695A59F13FE6CED6D4A34B41C863036 +:1052C0000399D7A5E0BA4A09398DEB427AFA554AD3 +:1052D00027A5A08BF22FACEF34E50FC7FA80AF28DB +:1052E0001F39D727EB1AC58B985FD6BE562FCF4AEA +:1052F000C3F93AD1E93A95413822741CB74E68BFD8 +:105300005F90F8EBD80EFCD747F9CF1F2538BE1AAF +:1053100082012EC232DA68025DDB7AE792CA6954F2 +:105320006D91B550AAFE386980F7DAFEEC6E447EC6 +:10533000240555363979058931363BDE84DE14F58E +:105340001388FFCAA1F43FF1450FADB78D8D7C07DF +:105350007129B9183F38F10378935C167ACA3AC3B9 +:10536000E7892F4E61F8CA22C78BB5AFDAF0057F07 +:105370005194CB123EAEC0DB8E5286AF078CEA272B +:10538000258390B2F24884809EB8D7D853032B254A +:10539000A73CF17C9C3FA732E9C2F94A9A092D3714 +:1053A000F3752D70CFF3BE0CE5CE86B2DC15005739 +:1053B000B5CB95918FF62600768590CE8446A89E33 +:1053C0007E91C19F8DDFB6240C9B7C6E6992EB931E +:1053D00030FE96CA27F3AE00BCB51794CFA43A2688 +:1053E000E462F8C2F500FC17F0F9F7DEF6354A6F13 +:1053F000C0DF0508BFE043C16F13A3C9A80EF53293 +:10540000923425182FB49544707FC13FD982A7925A +:105410007AC9F404291E66E138451586A4C27BE1E9 +:1054200038A9010A0EE261678344E979FBF2C9FBFE +:10543000919E02EE6697C4E8CAF76322472A62810A +:10544000ECF2771FE0A952C17AB70BE11CBF92249E +:10545000518EB6F3E7EF92D87C17BC377E6D44C10E +:10546000F580FDC7F92B84C61069E370DF77B38F31 +:10547000F15789BECF0D72799580230AF82AB4F1CD +:10548000D755AEB169BC08FE9A20C517E1735F75A8 +:10549000778D8A60CFEB4F61D92A9155549F98A49C +:1054A0000FE72B7291F41FCCA75719FB91BF5770D0 +:1054B0003A14D575DC2601FCE1906CE27E54D4BF31 +:1054C000BC01ED9CC0E92B5FC7129E9F41FC8E5F23 +:1054D000356022FF95AC4CD6A01D1A6E4E9A385FEF +:1054E00081145F817014AD248BEAE07950EF72A1D2 +:1054F00008EE519204E9E79BD7178DF991DE979357 +:10550000E516FBE4AB2E26A7B0274693FE345D1FBD +:1055100070333EB9B7FEB8F7163FBEE7A378994897 +:10552000EAA27A25F24394B8601D3ECE0F40F7DB25 +:1055300091EE7A73D2E542F9A8E8DA887002BF8F5B +:1055400043FEDAA398618463CF6D6A6392E1E52438 +:10555000E23728719C18F01FF2A7C4E6BDD4A5D08D +:10556000F9DC13A10EAA658C4E9206A04A2E073EC6 +:10557000847A68258944A129C8F116205DA932687A +:105580000F3AF056B4B27B23E249AE22141F80A733 +:10559000BB11CEDC867ED4C0245C9E24489A2D723A +:1055A000D34BDF8271B71C73474C62E143027C38F6 +:1055B0002D8D2F7F25C85B867D79B47624AA17E4CC +:1055C0006BD9CFF633B13F00BFDE8770C93AE3D75E +:1055D000D1EE435A8BDB7805F597AC4B884F015BD6 +:1055E000A7BEC9443E7B0FC702BE7677CD48211EB9 +:1055F00001B791EF32F94DB9A0AEE9D124EE47746D +:105600003F9C9DB647BC15124959D6A914FB6C7531 +:10561000D268BA70BE3BF833AD45A570C8B03F90B4 +:10562000CAF43A61A72029B0B770991F222DC19200 +:10563000C479443FD94F525EA0DFE68A99C46A37E5 +:10564000CBD80FDE41F1F8B07468BFEC7871CCB7FD +:10565000D40EE7A8FBF965E3B50CE79EA1FD64F263 +:105660009AB02701797D38C0C569FA80BD74D80524 +:10567000FB686BF16E13F9FA6E6C02BA761046771E +:105680006248363DE32E96A89C3FE83218BF8498C6 +:105690003DE521D7A4B0BFA88FC4173ECE577B49A4 +:1056A000FC55E42B4F719CE277CB58D2857A72106F +:1056B000CF684F228F542CA5EF6F9976B38972ADC6 +:1056C0004CD067505EE07CB545A3BC639967135D21 +:1056D000676722497EABE0BEC1C6D78C182B055F39 +:1056E00056303EEEAC5C9C4BF0B9D64DF5514ED7E2 +:1056F000A329DC4FD2FC6892A5D3709D12A5C316D6 +:10570000283F7471BEC47D29E4A3CF05FF097E1331 +:10571000E38F2C770514CF4584ADA304D89F507E2A +:1057200064FBFD788EFF09C5032EDCD78D985E8B58 +:10573000DB4B5963E4492CEFCFFB75783985B34EC9 +:10574000477ABBA2635C1F5E387ABE70DA3F456B56 +:10575000E597ADF6BDBE12EA96F505E7D9DB7DC447 +:10576000D25E3A74BC7C61DF199108CADD76A5BFB0 +:10577000114C3D32492AAC2980E7DBBDFDCFA3297E +:10578000D8DE19AEA9077C052700AF22DDE5010DA3 +:10579000E9F23954D6C8B78641E54CE77393FE0168 +:1057A000AD1C50AC2E90C96668EAED771315EA5D22 +:1057B0002139E929E5C804FCE572FE10E374F59F80 +:1057C000D0500F6C9B979F671B3FC4DE0F88F18DF5 +:1057D000A61B2756A5C77F1F6C993ED41F721FEDCD +:1057E000EFEB87B5417B2ECC9744FD4FFAB41AA856 +:1057F000EB7570B02FC57D2D0ACFE0AF7E74768338 +:105800005CCDEC6DB9BAB38F95323BFF550DD9EF36 +:105810001B24941BD8EF914FC47E2FE61991DF46CD +:10582000FB1E7030EC4DE44EE28BA03D70C615FFC0 +:10583000B204CF5B96B61005F0A12C6DBAB11DCAAB +:10584000B112895279B9444A7ED7C5F916FA6D8FDB +:105850008D4B623F794CF158846F7B35DB6FB3CD54 +:10586000BB25614E2AB7DA8B72B7A6537B71A69619 +:10587000A95F4EA86352F91818B7DE18A767F06B36 +:105880008C3CEE62DBB85F20F13BA5B143C7279C9F +:10589000BF25D0C0282F3E7F331A1919F8DE527762 +:1058A0000FADEF597E7308F150302E3AC305FCDE80 +:1058B00003EA24560DF59CE8A3280F0F6F5A58E30E +:1058C000077928F0441FC5F6B9F7D5D53C85F529E9 +:1058D000885B429E9196F79A006F0BE017F5E2E61F +:1058E000445FF8156A8F3F4FCB1D12B39776213F67 +:1058F000A39E95997D955301EF59E455934DFADC9C +:105900006B403FAB7F23045282FB34171DB09BEEEC +:10591000433E2B6AECEA457ACBBAFDDCE0C4F303E4 +:1059200012B3179F91745AEE99CAD67BAE7FE2B03C +:10593000E7844E58079E2B44FD190E3FC219A94417 +:1059400038A1DD02A702EC857C5FB06419A59FBC7D +:10595000949D33C932629313596F12E787434857B6 +:10596000E7F961104E251E6A82E7DBF24077C27EBE +:10597000B84D311B63F4BDFED0628B7D558806D1D6 +:10598000C5967E73617DA80F2A437E2BDE34573C7B +:1059900085F3E53476A5140A8749E110FD3A02AB98 +:1059A000295EB2AEA3D17E7EB4ACE31929C3390817 +:1059B000F981CA5F15C81FE5C33E6D9145CF6CAB39 +:1059C0003A3FB9DB2AF76B68476FF7BFDC89FACF3C +:1059D0008C48914906CAEFCC6306CC93132898698A +:1059E000F5337FDD537B5AB29C6FFD95309E85DF8A +:1059F000B69DA77C0ECE5FE09C7F717D69E6F9DFE6 +:105A000094A85D43DE443A7839DE3AC2BB295E9DF4 +:105A1000F0887E6E29FE9E156E6F39F32F0CE2B36F +:105A20005AE0B3DF86CFF3D563CED2EF223194DFD5 +:105A300056FF4C7D85052FAA9BC94F9527AABAC74B +:105A40000E85FB7CF55CB679DB0BECF34EE57C0D4B +:105A5000F38E755F8C75C2F62387FD1EE4B0B455D6 +:105A60001F6FBC09EDF7722982FCEE8B05CD9C20DF +:105A7000965BA99F30A7A22BF61583DAFB741F80D3 +:105A80007D2D69E23ED0E5A27A2B87DB5163D18E72 +:105A90002A45BC137AEEF4E9E4009E737FCCE59FBF +:105AA0005458ECAA328487D9554EBC1052ACBF96DC +:105AB00063D5BB26EBCFCFB72BAA394310E3DADF90 +:105AC000C03CB71E53C866AC7E006F5BCE152FFF7F +:105AD00016CE67B08E5BF17C06E54A120B62E35985 +:105AE00022D523DC67C9F1E02C0BDDAF70737F4F4B +:105AF000A742ED2113FE4338BFD2A5D8ECA35BF635 +:105B0000D8EB3793C585B8AFDEBC4B216837DCEAEC +:105B1000D847E6B8995FEC16D2D481F46EE7FA76EE +:105B2000850E5B2998D8EB7EF4C0ECE550BFCACD5A +:105B3000F4FD1B095899270DD76A7F528D42FB6FE0 +:105B40007B665DF35982FD931D45284779CC9E7590 +:105B5000F2C54D9D76F84682DF09AFB0B7B3C121DB +:105B60001F74D1F3BB73DE659CDF05BD5AB4E074CE +:105B7000920B76969795662DA1E76BF33FBDC956BC +:105B800098E7EB28F454CE9BE630BF75D34554FF1D +:105B90008DD0EF5B6ECE4FE7D96F63967E9B0B92F5 +:105BA00031D4DBE21CE4D59A282E5C323B5F6C0ECC +:105BB0008DD05E3E7CBB13AE4579B02F5C34143E75 +:105BC000B057B6A1BCDEE98E5ECF9898C1E7417CA4 +:105BD000BAB164763AB55BE0FD0DB2BFD305E379A7 +:105BE000FD3DD47EF11A763B7E036172482A08D5CA +:105BF0007B3915F676A73D931CA45F8ACA51908A1B +:105C000018EA097F8AEE63D5F29BFD16F91574BF79 +:105C10003D047A654C763D25C149CD0FF36A5C3F62 +:105C2000B8785DC0F14E97AB1EE5E17630B55B66A6 +:105C30005AC755E9B843F4C107D03E1BF141083BB0 +:105C400057454288A7CE040660D0DF1F5B88EB6E05 +:105C50007DD64D504FB52A4D04FD38660931D04FE1 +:105C6000EE2967ED9E93EE02A9948D8BF58E70FD63 +:105C700001F44F1C72337F10D8F7D4AFE0F19BD101 +:105C800028D0B103EC8A3CF457FF038B8BD4F8E3A4 +:105C900071ECE70E352A783EF9F7476E6AC4FAEAE6 +:105CA000D0E5B207E67D828F73F6FB8FCE26005FCC +:105CB000C70F022445CF1B4915CF1BAB7BDCD1247A +:105CC000C6BFFE3540E75F7DE896871A103F3FBAB2 +:105CD000D4788DDA03AD941EAB1F5FF21F265F8F61 +:105CE00006F468DDC8FD8B6624B404BAAEF3901BDD +:105CF000D1BE11EB17F8D38C2EBAEFAD3E9847FD0D +:105D0000B283722CC3FBD0DF03E5E20CFBDE19AEDD +:105D100087DE0CA88D089FEB60EF0D14BEEE6B15AF +:105D20005C97ABB889BC0AF33D87EB63EFD17DC1CB +:105D30007CD8959C04ED6F3EBC4F2D9B86F3EE53B3 +:105D40005750BFCC468A0701A776708789FA4B2B3C +:105D5000D7CB706B98FFAF3F08F6C3F30D07DD2973 +:105D60003C1F4149CF495E43B29DC3611BF7BB80D5 +:105D7000EEEB395FAEEF5947F5FBFAEE2D6FE3F925 +:105D80006AC361BB5E03BCD2B8E79A53EE4803D640 +:105D9000FFED7B4103E079A3EFBB41C43FCCB35C93 +:105DA00005F95174BB5CE0F8E7F2878E47C8008DB7 +:105DB000F36DE8BE87CDE7D09B6FE03FC243E3A61B +:105DC0001ED91E372507C78CEABCB6E607EF3D682B +:105DD000C27C6F1EFAFD83181759FB973F3CF84DA4 +:105DE00094E79F7875D4FB1BBEFFEA83DF003C9EDF +:105DF0003DEC91902FDE7AE27B0FDD0FF5B75E98D8 +:105E0000321355912133797EEBD13F151A304EF381 +:105E1000130BC6E1BA9B1F9B3F8E0C6377BC057CBE +:105E200094F458E14952FA198761BC71503DC24B54 +:105E3000073D8EF61C9D80F09D7DDE1341D9DC0070 +:105E4000CF509ED777AFA37E52ACDF05785DFFC8F9 +:105E5000DDD4AE188A5F73BC14A2FA673CBACED701 +:105E6000F72C59786915964AC4C0F1C800DD3F9DEA +:105E7000FD369C043A5E949D6EEF910F54D48F1BB7 +:105E80001EB987CDEBA0DB59FCC7DCA174BBCC41AC +:105E9000B7F7C8DA7FBE1F1B7BC6648CEF8838F764 +:105EA000BAC7AECECD1497B7E237350AFCAEE27171 +:105EB0002BBF1CBD4A46393BF42F0FDD5F80F4F544 +:105EC000441A90DE3F786F0201BEF89D327003CA1B +:105ED000DFC0131E7D3FF459FDC429BA4FBFF5D86A +:105EE000AF5483EE73602A82BDF71619FCEB43FBB7 +:105EF0006F3D8F136C3810487982693AAD4F2EAAE6 +:105F00003782F439F50FAE4F327E5F9FEC5DEACAFF +:105F100040B776B98CE9CB248B7BAD3BF01B95F871 +:105F2000EDF47455231DCF5C8ECFB3D151AC5FC758 +:105F3000F5CFB1D0F30093D36CF2F8D63E8F8CFB43 +:105F4000A0A0EF5B3CBEBA21E93A4532C8A9B06FC8 +:105F5000887BD9B07472F283E994E3E4E8E2F52334 +:105F6000AFE3FCF0D4241B745C27BE3686410FE3FC +:105F70007E1454A9BFAC43314E99C8174F2B643FD0 +:105F800074690DCE2646067F551BDA7953D275D932 +:105F90001FA3FE7BB940A7E73267FC5A81E3836108 +:105FA00081E7E88B53C6F5E3BE2831FF6E47EF5C0F +:105FB00082FA1FCB528C5FB5CC9A543ECB724ED333 +:105FC00023349E23EB464DA6F1E596D9F4FDA1E7D7 +:105FD000B6A6DFED83FAF6506104EDFD80FEC350F6 +:105FE0002F39FFF3DB56D9A4E7D14EFF26ADCC7293 +:105FF0001EED34B29E877F225BFC487FED396E70C8 +:10600000FE02E7FC59CFC3BF94013F77F3B8E2909B +:10601000F392EE97AD71BF7EAEF74B486A2361F6FF +:106020004D4CB3FA9D1B077AD18FF1C0A2D3FB96DA +:10603000C33CB9A48DFA9961D7AFFA70D670FC6CE5 +:10604000F7337B2466079118F777A7E38E6C3E1E23 +:10605000FF7D270DCFA32BE09F7BE7F4D3F8D86714 +:10606000604A05E02B5D6A6C4278262EEB7B78391E +:10607000E5878FE6F71EE41743F08B693BE7771A55 +:106080009FCC39DFAD0C9EF3DD4A86737EE7277423 +:10609000CECF4FCF9B9F69DE2176F328E37CDF5E76 +:1060A00012A4F668E0B48BEA11B336EA52904F2797 +:1060B0009008E6029D71C5CB703E65A979050E1B5F +:1060C000909B3E83765D00F15F6595D7FF67FDC6C7 +:1060D0009729A3F01BBB03BBE8F9CE7B9E7EE3822E +:1060E00031D119AE08A2BB7AFECF2DFEE245EDBE3E +:1060F000F9CC5F4C68F068A9F2D95613FDCBE3A345 +:106100008FE2FB2FB4CF9D8FF1958289AC3DA242E7 +:106110003BDA732ADB0F3C72D44479DFB3FC6B1596 +:10612000D48F1922FD689F093FA6A7314EFD97A77E +:106130003CF1EB707DBA9EEC451155435DD40FBC2C +:10614000C0EDA7E7D1778AC1FC7365C7E30ECC1712 +:1061500051D05F4D68DE88A78EC5F9EE4FE8B4DEFA +:106160009908D1F6AD89282DDF25B15B141A176483 +:10617000F1E63DDCFFD1AA9255581EE7FBF5B30AC4 +:10618000F35BA54B961F71F4C5EFED598170F97D56 +:10619000D4AECC065747A26212CEB73D1199847097 +:1061A000DC9BA8A6E55657CAC078D4B7DA8F6CD264 +:1061B000007F3E777708EB1D6DBD9BEAD0BEE2FB0A +:1061C00096DB983E49B69C63131C0EB582E5CBA9BD +:1061D00051D6EEC3BCC50C7CD69E7E9FE637A93A4D +:1061E0007B7F8B2BB37F7D2B7F7F73EFD3745FF629 +:1061F00057F7537E0AC2FE87FD36F7BE4ED07EBBF0 +:106200005FE94FE17ED9554222B88F7B5A2A276138 +:106210001ED1E6DE174819F4DBC5C709CC1BA0FE6A +:10622000CEDC962ADAFF7E2FF912F37B139EE7C4A9 +:10623000F240EE5708CF7332F66F82FA3EDE5F5BB4 +:1062400005AC0D76747ECB65B4BF6C987D3C0F6E4B +:106250001FF20BD9EBF4C733BF7511FABD81AF8BB9 +:106260000C7F14EDADA2F2C25A9A0F517101CD9F6D +:106270002D5AEB5F4E4BA3F0266CDFE1EAEEABC587 +:10628000BCB53C89E6AD1519155F61ED97DC82ED73 +:1062900047953C0A8FEF827ACAC7BE09224ED74F74 +:1062A000E374C430246B5C6F7B55592E19469FD024 +:1062B0009D4DE8452A8F3EF48958EAF98E7A91E39C +:1062C000FD3247FB058EF699B67A0BC737A95659AA +:1062D000FCAC5FA6F06EE3714BD2048C0D7219F02A +:1062E000B27A6F70B376C6CFCA972D7CD539C2BA51 +:1062F0009EC3200EC67374CBFAF0FF345FBA5E46BD +:10630000F146FD23693D516762F2C1F6B9837A22F5 +:106310004E32EB8997506E87EA89CADCFE61E0DA7B +:10632000C1F54207D713B060EA477997C45FA77AEF +:1063300080EB8BB43E88AC42FD97D7A1CD97E75256 +:106340007D40E363B07DB7A2DF45951849FEBBFDF4 +:10635000835AD477C2DEEC7031BDB183CB0196A5F0 +:1063600081A1F66640EFB3D99BE2B9C5CE3C3F7A36 +:106370002DE860F48212E995C7F5C148F4BA07F038 +:1063800042A630BCA0F3CA57E78B1AC0F7F95CFFEE +:10639000F8EA0B6B0D4B7E653EA797AFDC4E5F4F67 +:1063A000C867A7B793BEA48EEE0382BE802F4AAF04 +:1063B000C2D40B19ED7FB5652A9377C01B96811067 +:1063C000A9895AF486A2EBFBD02FB66BC9FA8D0AC5 +:1063D000E6F98DC99F81789CA2323F11E9B2EB05A5 +:1063E000312EE88D292AD0DB5BD0449869C8E25B66 +:1063F00085292F89C23841D867BC306EB03A45E252 +:10640000F0DCAFA74CCC13924360C1198C3E088FCF +:1064100058978A7A0FEA92C6E23AC3F0ED6C35C318 +:10642000FEE6DC77049CEB54A6FF4439127F8B7D9B +:106430004FE0D557117165B24B3A701F028076F26A +:10644000FDED1EBE1FED7CF21E7A2E6A50D9FEA60F +:10645000159B04F1ADC99152940353AE9C8FFBD2AE +:106460004E2FEB27DE17E32E1DEC0774CA306F2387 +:106470005FC7186E9F3BDB97F376B981E72734F04F +:10648000FC8462F50CEA7BB9DC7C9BDD2721CE3CE9 +:1064900085E588578534A50E94A6F5BF58DFCE272D +:1064A0005FA770068B9B68DEDFAD2AB34FD3EBE0AE +:1064B000EDB0CF2DE7EFD5201D09F02FF0E57A954F +:1064C000E9330FEE5F20975EBE0F8DC4DFCDAA6E5D +:1064D000D36BA2FD11397A876A894774C4D6F23822 +:1064E000168B6BC91A8B7391B621EBFC07E45B85A5 +:1064F0007499AED274BC76685EFD907C8A76ECD7D7 +:10650000B2B4318AAAD91373E45394D9F3293A1D4A +:1065100076F1F99E4F466B179FEFF96318BB789F92 +:106520003A0ABBD8EBAF0BDD4C3E825D7C51F46D7B +:1065300009ED6272CBFC9F87304F22FA28D6FD0509 +:10654000D7CDAF47BB7716DF17C8BAF9C8F70573C1 +:10655000D8BE70485D4FEDE05A2DFA6F08DFAB985A +:106560006C897C1A8B46E9F6D396593F895219C734 +:10657000E2F56D79D7E8346EEFE08F67385F0A3E59 +:1065800010F1FA8F6B7CE7B80FBA62BF607CCBF476 +:10659000E5A7B59EFFA3457F83FC3B38DFF9E733D2 +:1065A000BCAA66C8CB183C975708FE4F6A8B2CFADA +:1065B0006C73C527EEBFF9A33A4C3EC366948F8F28 +:1065C00032FFE8FD37AA87E90BBA5FA91C6F6D7926 +:1065D000378F94CF90EBB1C0AD861CF90C9FB29F62 +:1065E000C3F00CFA1B0CCFA7E8E7B8283DEF45999C +:1065F000E6CD962FE02F8DC4A85D179608E2A9631B +:106600005EA40BF56E4789A46E2A4DDFB710F3AC7C +:10661000F24CA4FDDA42AA84FEE4B6630B689CA4A3 +:106620004369AAA7F1C43C49DF5F3A14EE6B3C6CA6 +:106630003F76B76C99746018FF999BDFA76AD39F68 +:10664000A470E5CC28C8C3FC88D6DEAF1F73A37D39 +:106650001A2A2C457BA8998F87495DBFB5C45BC1B9 +:1066600010AD47F8DDC512C17DC3DDB29DCE371236 +:106670007CB51E1787EF9E49078689D37EDCF0091B +:106680003C2EF21814AFEE96AD747E8157058D1D29 +:10669000A0575BA54CE30F4ABF87DD478BB0FB1DBE +:1066A000428FC895128D07827EB99DCAD12EBBFE3E +:1066B00051FCCCBEBCD4C3EC00B7B789CAA7C89301 +:1066C000F7C7DBE83E951367FB9558AFE0931CC511 +:1066D00024F8BEE697693C56E57CE1BE3415C3F567 +:1066E00074CD2897905FFE37E7C3CE28AC0BCEC998 +:1066F0009D7C1D5D3CBF4CCC4348F9B797617C3312 +:106700005A3613FDD4DFE5F8D7889FEA4F0DF180A4 +:10671000F6CDE98D6402A0668B275040F9B78C94C2 +:1067200021FFDE5E73FB1568FF6A86E9C9149F18B6 +:10673000AA8F8817E177D748DE72F4BFCD60FA8858 +:1067400084AA46884FB0B8ACA083C0BF5C2933FC94 +:10675000E3BD62BC371095E83D114187417B7EABBC +:10676000F35E94C1F3C819DEDD7E9E9F4DE47B96F7 +:10677000B9ACEBDF4EF940ACFF5F3C3CAEF23FB44E +:10678000FEFB3C6CBF2347A77E7B1980EE8D4A1130 +:106790009A73560EFC6D3947E7F8D9BD18C1475AB0 +:1067A000FF8E5409CC73F47F987E83F087467D2F4B +:1067B00084C66D45EA0321B7D9EE3B94F6B3BC29F4 +:1067C000E10FCC6D61FE4023CAF8A234BAE9366904 +:1067D0003AC60D083D1F4E58479266296DA7FC2109 +:1067E000FA1B6DAAED1E4778956A8BE78F27CC2E92 +:1067F00099402CCF619CF13C5F6BBCE3B988D7A971 +:106800000EBD2D4A67BCEE8F822E225E3742BC4FF2 +:10681000C46F7790E8071E8B9D2BF0BA79EAEC8A5B +:106820004CFD055E0B0D93DE571A0775DC9FD5797D +:10683000249222E85D8AD37B0EA49AE56BC93CAE14 +:106840002BFAFB35A11FDEA5F7DF54D26F52FDE511 +:10685000A08BA0476739A307D2310CED799C8A9DA4 +:106860009C1EDE30A3471EA703A9E378741117F21C +:1068700071709E9D2E2AA7433ECF43F63AF0AE722A +:106880007AA88EE717694C1F9E6F1C75AAC6E53D56 +:10689000400256BA10BD60D8B8FA20FF9EE77C735C +:1068A000C47C7E986FE247982FCB7B4EFA5FCEE98F +:1068B000D36130FA7454317A6857129A2FE9A427B9 +:1068C000FC3520FD42BC1212F4023391E6A7C51933 +:1068D000BE35F80FE936AED14E378D58EAC3D049F0 +:1068E000DCFB92B4E8B51AAEE7152FF56F69837C2F +:1068F00075A4570558B71413EA5F7F0A9349E0BDA2 +:10690000A2BFE452F8B7569124EE7F4565FB99FF8C +:10691000158F7A96FE5B0C76DF261B7EBA122CDF73 +:10692000617B4223A929D9DF0BAAF138E625E95179 +:10693000BD468679430D06B5A383D50C8FF9216337 +:106940003FDA23FFC8E58572B4E5BE95DAC0F629C3 +:106950002DCE4AB55E5D8EF8D0E24C6FAB91DAD7A2 +:10696000657C6ED8F1E81C273B9D2D7875677F6F9D +:10697000B425E66BBD3CC93A7EB21EED2CEDA49B5E +:10698000E6B36AD570BA45F8ABF542F48F6BD51112 +:106990003F2DFB6BEA593DB619DB7B905EA83FEAC1 +:1069A000D83A7387E44DD9D747FFC439A42C8D1743 +:1069B0000187937FFE56F0B399CBD37B0D845EA401 +:1069C000CCD66FCC3999A4D08F39AFBB93CA5FA511 +:1069D0004430CEA1CD03FD06FC75FFADCFD13C09FF +:1069E000D5D05DD67BC1BD1AF367C2F198DD4F9556 +:1069F0000DD79280B59DE507831CA534EA273CA2FC +:106A000061DEDA56B92FCAE584E61B6EFDE03F343D +:106A10001A0F5DA5527B92F877D9F4C78D9A92F13F +:106A2000BE3AC6EB24CBF950EC13A73CF13E945B85 +:106A3000716F430D119B1F5EF8C39D78E849101ECE +:106A40008723D4DEF821F7C7FBFB888EFCE3EFD366 +:106A500075E41F7F9F91CFEA917CACEFC7389E828F +:106A6000F1B310F573FE2861D0B22B5141787C8DC3 +:106A7000C7FFAAF9FDF128F7F7D7D3329988D1E7F4 +:106A80000F261A69B93711A7E5FD8955B47D4FA2C4 +:106A900089D61F49B4D0F2FB09933E3F98E8A4E59C +:106AA00043892EFAFC40620F2D0F250ED2E7DD89B7 +:106AB0006E5A7F2C91A4757F5F43BD8BC2EF3B83E1 +:106AC000766B2002EBB4F2FD4A2FF5DBFBB91FFF1A +:106AD000A9174F6988A76D91C5C3FAE92F3A6C973A +:106AE0009F899DF6FBA863EAF36DF5EAD345B67A74 +:106AF0005EB4CC56CFADBEC0365E4EC54C5BDD6BD2 +:106B00005C627BDF13AAB5D54BCDCFDBDEFF4CCB70 +:106B1000625BBDA4E93ADBFBE357ADB0B587E3ABFD +:106B20006DED55F782698EFC3F81C513A775DF6E49 +:106B30006BBFF0E0376CFDA77BD93E0F7C938FF1E4 +:106B4000412542E83921D0075C8FF9935526F51F7E +:106B5000437B08DBE179117F8FFA93C5FD5C788F69 +:106B6000FA95E53EEE773E7D37ED27CE1370BE9B5E +:106B7000EE45BDFE88DDBF25FC4855D272BA3FE028 +:106B8000FE48BFFFA1C9F4BD00CF3BA9E3708AFB5B +:106B9000542422D3F389681FD46F55EC1EB04AE405 +:106BA0003FA2FF11AF9BE3FDCFA949A85BF0306581 +:106BB0008FBD3EA9CB5E9F7D92F517F559C7ECEDD1 +:106BC00055FCFB364496691EAA7672223D0F127E52 +:106BD0000F54E5F9312BBD3C0E9CE89EFECAA4344F +:106BE000FC3EC0B76EB92F2842323E905B8C13F941 +:106BF000405EB15423B01E5A370A74DC2F4E5F71C9 +:106C00000CF3F4845D975301E35AE0540D3B9C3937 +:106C100015F6BAD37EBAD1EBC87B1BA51D3D5ABB76 +:106C200069B7F81E0ABFBF91C3E70E3777F5A27F99 +:106C30003DBC52A7F9CBCA342986FAB4A352AADFC5 +:106C4000877632D4B10CAF4D6E44FB257CB8F4107E +:106C5000DA0B979D4BD5A03E0E37E933D05E78D145 +:106C60006BF0EFFAC4C3E8270B1FDEE1AA85717E43 +:106C7000ED65F732C20D2C3ED4FA188BE73CF5E2F5 +:106C8000B53AEAF5770ACAA99E38FBB8278A7E8CFE +:106C9000B3F9EC3B0B671F9FF333E4FBDF278EE573 +:106CA0005BBF8771F687BF9AADC0F8670FFD6AB604 +:106CB0004CF39E93B6BCB6751F9E988DFB82594BC4 +:106CC0002AF07EDA065D25346F11D78B7BDB4A42D2 +:106CD000FDA3BB0BD50E1CBF709CB41D4B5F4EA912 +:106CE000ED3E05F07F29F5ABCABCDF3185F66B7D43 +:106CF000DA47C7BB7D127B7E7B5E213D07B4E61978 +:106D0000AD7EDC9B4AD9F9E3F62B4DCF046C7F7145 +:106D10005CC4847A9B0BF401B687098DC7BF5F4AB8 +:106D20002A4A417EE5F9FA7CD413033CEF409C5B90 +:106D3000BD3F4F9200D6651063E8D70AE71A93D695 +:106D4000BBE6637DCB3C56D77FA7F7A2397BA7D4A0 +:106D5000B4631995C178570D8CF7FE6C6906CA416A +:106D6000710ECB1B157184A32F7A18DC2F9650FB64 +:106D700039D0EF62F7653F00EC215F10262F0199B3 +:106D800098B93309D995A8A0F0C0F368011C5EC674 +:106D900016B0EF598C0DB17BED81A5603F58F52EF3 +:106DA000FCEF658DD383DA35915C7ABFA25432153E +:106DB00058EF61DC27617F4925343AEEFD099D9645 +:106DC0003F4984E8F37B13062D8F2422C3FA319DBB +:106DD000E516871DB37B1AAC02E6DBCDF342FE500D +:106DE0002999E51765EFBF37716C4CDD242EFC80C7 +:106DF000BFE266168FCDFAFE46D78D8B81BF3CB7BA +:106E0000C9B1FD4C5F86ADF71EDB9578180F8D0379 +:106E100077F7D4619C11E4CC85F21C965DB28E723A +:106E20001422DD286FE150970BE32CE2BE05B54B31 +:106E3000A0E1C7C5EF1ECD457EA924DD08965A19ED +:106E400027284F734BCA37A2BC9269F6E7875D12B9 +:106E5000CDFBC7F16AA1FC8637F606EA7939BFDABD +:106E6000FD4378FFDD1E8F8172BBEBC93FA9189FE0 +:106E70006E7F59D5D0BF163E7286E631B74BFD2ADC +:106E8000E6EBF87DEA02CC0F6857E353D165E5F7EE +:106E900075B5637D7730FE30B6E3CDEEA7E03055B3 +:106EA000E831FF09DB551F31EB8B617EC5FC32AE4B +:106EB000B78E48EDDA65B47D3CE653FDD9AB2EE8DC +:106EC0009C07EDC80B34DFE0C3B628D6F358DDBF0E +:106ED000F92F6D26F4F7F8989E207E267783751D8E +:106EE000EA19E2E9A21C7C4F66EFC1418496629DDB +:106EF000EB8EFEE967E331BFFD88AB1BFD4DE1235F +:106F00003B28BE513FA13E3A9C38A6B709BA5BEC7C +:106F1000F5B9F8BD24E8A7265D49FC0EC95CC2BEE0 +:106F20003B171E881A1B917E49258229134D396C07 +:106F30003F9CDB0FE358F4F95C997F47CFF11D329A +:106F4000FAC926A4DF56165708AFEC57D10F7FB801 +:106F5000DACC990ECFD72C2F9FB911E8F4928FED90 +:106F6000572DC4CCA943BF46818FDE471079136FDC +:106F70008A7306CF9B58CB2F702A9BD8FD8F35A5DF +:106F8000DD8533D1CFEF65F750D6E4F17A9EBD2E83 +:106F9000BE93755837F3F2A15C7F78C704BC07B184 +:106FA0009E74DD80F71EC8CFDD04F5D5EBBD73738D +:106FB0003F0BF575504755BFAE67C6E7711DEBB681 +:106FC0004A12A2A0D6C7F0B0BE07F8C98F720C0A49 +:106FD0000354CDE168D78532C6DBB71C59E0BD1438 +:106FE000F8BA2CAA4B40FBBD39FFDEAE95405DD50B +:106FF000A7921958FF25E5B335574AFCA30EBFFCED +:1070000069B49CDF7B28C2F1C7B5639E5E55A34679 +:10701000EDD0422946E340E4B844F52DB2C03CC06F +:10702000B73BAF8DC68BFEBB5DA2E76C0C5FE27D0C +:10703000882A991C93A1DCAD02FD302FAA43A6FD3E +:10704000E079A7928F74E96279959D4C3F5F7CC48B +:1070500043CFB5554DD15BA9BF409F47ED9C096417 +:10706000F08FE6DF7E86EBCB393AA991E1BD015F77 +:1070700029BB17DA78CD1AEC3771F9D267A2067EF0 +:107080001F8A7D6F89BCC0F607DF96D82ACCB376FD +:10709000FFCA1FD948F05E7BED85B7015D7ABC8CD5 +:1070A0007EEEBCF8965FA09F3FAF9CD0F6BCF8EF99 +:1070B000F19EC6C058CDC0F8435B3F9CBF73B13D45 +:1070C000A2231D2F45FD817833172E88A2FE53E39E +:1070D000B7A17CFEF3E685EDDA5C8AF7891AE0FD5C +:1070E00041DF428AF79E8DD1F1BAA53EE7CF601706 +:1070F000D0B8EFC2F628C8A39C77EF1A947768FF40 +:10710000299E8B7E9C4F385D587B5599A8839D5551 +:107110000D706CE4F28D8132D80FAA2CEFD781BCB0 +:107120002BB5ACFD9B301FC691D1EE6CC9C77581E4 +:107130009D8BEB9A2A27F7BBD87D33BCCF72B97BE6 +:10714000D917A6C173CF2412C1D0862F8FE9655FEE +:107150009E41F75BC0138DEF0F3CEB4F223E7C79D5 +:107160004D5D1E6C2F29A7E7C39C241B074BA47FF2 +:107170000EBFD7E7D217513BD45B61FF3E87B8F70C +:1071800047EB988F80761DDACF8EE70F96467B4BC4 +:10719000A07F4BFF22AA3F76FBB8DD56C2FCD27718 +:1071A000C6CC2BF0FC78C140772D9A1195E7FA9E5A +:1071B000C4723A79BB16D56744CB3B8AE53E1F6360 +:1071C000DA99FA8CF9541556771FA56135A33F8CCF +:1071D000FAEB6277B215CFCDB9F3BADD38CFB8EBA1 +:1071E000CBCF337E9BA2F9055BFD12FD7E58ABFF32 +:1071F00090BEDCD2FF8E1C9E57C4F589A2333E6E32 +:10720000215D35F83D10A03DFB8E0BD72F0A77800E +:10721000CA849DEF653DA2E3BDA99A4015B5E79EDE +:10722000E7F2EFEE9DBB10ED0F15F504BCBFD7CB19 +:10723000FCB20361D28DF68D1C8A12BADFF1FCC25A +:10724000663EAFD01798B7159D02E7CFAB26D3FCAB +:10725000C6C7AE2AAC457BFBDEF4F74D54F13D22A8 +:107260009ABF9E3AE1FA108C8E1FD54BE87E20DF44 +:1072700091A3A7C6A37CF729546FEDCC63F224D663 +:10728000BD92AFFB1087B75D61FAF0EE04BB8FA52E +:107290009ECB21C959C07F5CAF7BE22B299F7960CF +:1072A000CF334AD11F689A88578107AD582249AB1E +:1072B0009FF75C90F63FE463F388786BB6F8F39D34 +:1072C000393CCE3724BE6A50BC370FD2859D579AC1 +:1072D00003D171A8A77F5CCBE076F2C19B3E369EBE +:1072E0007ACE45E110CF0790DFD0EF22C7E9772CA7 +:1072F000D473326D17EB1D3CB70DB6B375BCA5B397 +:107300007BB46A88C9AB7AD84DED3E129207ACF7D0 +:107310005473D00E9F989633717F76E83A227D9809 +:107320009746CA999E1D2A8726B57FC43A3D86BDD9 +:10733000DD99CF3208F7B931B67508F94AAFA79091 +:10734000B6E37E42EFC7C9E43EF46BACE3F91AEB57 +:10735000DCC05700FFE603C918CEFF9638371C6122 +:10736000DF215DD7B383E78D1836BFD2FAC3B7D11B +:107370007C810DAFF84D09DE5F8F7A19F0B5790F7A +:107380001B277D5F39961A6FA4DF7F1E1520C0F77B +:10739000AEBE2A8CF6869FD3A7504AB9D9BDE43E2B +:1073A00037EA81765FEC77CCEE22511968D03EA89F +:1073B00057D576DC6777AB69BD8BF98ABB7DAC1E90 +:1073C000CD51DBDB2AE97E4FDFF7FBFEA91DEDACDB +:1073D00076AFA8EF6E37E761FFC851F4879A8F7BCD +:1073E0000CB447A07F14E5D5BCAE829E77DACB48BB +:1073F00011DA894F15B2EFEAB53FEED98FE7866F04 +:1074000078E31E9FE5DC7576ECAF27107FC6F14C64 +:10741000DB7813CE6F3C98BF07F12ADA9F2ABC8431 +:107420008E0FFD68AA0429EEBB01F7D1C2C73DD477 +:107430009FBB57B1CBBB28AFE5F2DC91D06DF72EE7 +:1074400055946FE433D244E5DA13CAB7C9B39073E5 +:10745000F5DC7892B4C4B59FE7FB7C9ABF26D0F6E2 +:10746000439CAE1D09638479CAB2CC73E108F34C26 +:10747000B7CD839A78F0BB66C3F8839DF7789C7A82 +:107480005194422FFE9C8F2F93F85773A0BEBABF22 +:10749000FB7214FB4579F52598EA5DC4EDEEEA83AD +:1074A0003B8E223B7EDD137B04E983F92CC8DF553C +:1074B0009ED88BD6FAF9CAC75ED4856333EA419663 +:1074C00047CCCFF1CD81C8E7B1DEBCAD4C378739B1 +:1074D000AF39F55CED107DC8F4DDC7379FDB46C7DB +:1074E000A1F3A9B43DBDAFC58935EF5ECCDF1C8EDD +:1074F0008E2376398FA29CCBA5420F1013F5C24E76 +:10750000D16EBED45E578C7675BA1DEDB3424FBABC +:107510003F7E1768A74FBCFF46E6F7731CEF9789BD +:10752000F7DFA3F69C131EA177B08EF69FFC67CF02 +:10753000A07D88F0ED901CE3E58BF148078E27ECE9 +:10754000FEE99B737E66CAC89F5D35B88F0F7C8548 +:1075500018FB09EEEB115FC4B2DF4DE77CAA9EF386 +:10756000DAF09CC6AF9F3E27213B3D9B5FBC62D8B3 +:107570007BD9FF95B0DFCBBE25DE4CEF894EE7F41B +:107580005B0527071C7FD55EB74D7EFF0EEFDF0A38 +:10759000BC53B3D833954CBEFFE6E00D6781B7F816 +:1075A0005385B7D3CBF47D172F17E84DBD780F6106 +:1075B00081E1A2F71117C0BB5E90D92BA0D4A05CCB +:1075C0002013D34FBFFB9F64EF431DFD1D0BFFFC3A +:1075D000D5573E47BF171292ACF14CB79FE5AF3A73 +:1075E000E16D0578315E7D0FC6AD3D43DB65EEDFB5 +:1075F000FFF698EDC47A6FA7DECFF0A715131AFF38 +:1076000073F6FB20C0E3D75A48B2E503F0BA88AB63 +:107610007F7478D693972DF35EC7E1518B49C6EFFF +:10762000F64C0EF2BC362D4EF3E63A428B87F5EF60 +:107630008F1E8E1B6C70ACF1B3752B59E038CEF1F8 +:10764000D2A99BF47CD8697C5C70D8F17117872330 +:107650001B3E5EE0EDE4DC67D8F993C70F3B0BE01F +:10766000BC9A819E220FAB53FB64E1DE39021DE51B +:10767000C0A743C70323D0D11470E89F2C1C8F8D63 +:1076800000C7C3829F42714A974F0A8E9F71BA64A6 +:1076900083639A80C3F864F1716A0438AEE170AC18 +:1076A000F5B33CD9CE0A9EC7CEF915C34997E56715 +:1076B000E77BD96F8F8BFBCAEDDFC925AF8C934673 +:1076C000932782FB00AE6B2439F93D7FEF758E87DF +:1076D000357BDD34FFF01683E5078F34DF2D4A5309 +:1076E000E170F9E8B8CF58E3DE23C1B3C9CFE25562 +:1076F0006B1F71DBD6BDFA408E23DFC664F875E0E0 +:1077000075081DFF3FC7E74E3FDBF747C2A79097BD +:107710004F0B8F23C967563C8658DED9C78DC7915A +:10772000E0F9D9A8F1B8A913FDFCEF81D9E62EFD47 +:107730003B3EB3BDBFF6EF7CF9B1E0F100E271145E +:10774000FAF2EF781C1E9EC7468DC74D1ADE9FFECB +:10775000BB7C7F3CF2ED3C277E5AF874CE9B0D1F1C +:10776000D9F0EA9C4F8C77CB08F33BF138121CA27E +:10777000AC1F2D3E1DE7DD4F0D9F8E79FF6A7CF219 +:10778000F1CE1B9F23C021CAEB46CD9F267DEF2063 +:10779000FF9EC194079A8F5F09FBFB89FA59B3E8F2 +:1077A00077D5E4E8B425D308D91664BFFF3585C77B +:1077B000FB9CF36D0BB273C1F1FAF9EB687E752C8B +:1077C00087DE193829457E5185793E8BDD341EE6EA +:1077D000EC779CE36B4D308FFBFBA3818BA1FFE229 +:1077E00067DD34CF31DBFA48BD655DF4DEA085BED0 +:1077F000EEA1F83E4E8C6D5518A769C80C87A0F312 +:10780000C9D8928FA6876299E99C8D4F464BEF911C +:10781000E0B92E58364A3A27297E0BC8E0EF595E68 +:10782000C0BE5F6C2818875B7CDA43EFD59DC247EA +:1078300073E9F796FE3108EF2FAE9FC17E8F4AE4C1 +:1078400057CA84E6A9AFD83E857E07882C5B42DF05 +:107850007F80FB7F86D049F017FF7DA971CB4CC597 +:10786000FA7B4EAF04457C385E82F0F4A8D10B7FE2 +:1078700000E31FBFCA1341BFA26749C39600F0CF00 +:10788000C9ABF35CD6EF361DE6FC367B19F38FF5FA +:107890003C1F5324CB39F6590E0FF4BFBE3F03FEF5 +:1078A0007A78FFABE32E9EA71F2D596CC9C3FA4F00 +:1078B00047BBB3FF4F8341DA7E32CB779952BC7F0F +:1078C000E3D2E1FB936563C4EFDC4DB0FE6E93132E +:1078D0007F8B82F1A783503EE78A3F7007F2718D5C +:1078E00046F998C89130C22DF0B040239DF8938698 +:1078F000824E0BC757EEC73C3F018F980F53813024 +:107900007FA42ACAF28AF2791EE89C4E6F7223CDB8 +:10791000B3EC12DF2F9E80FC01F3BF80FC906D7EE4 +:10792000316E814C522A8CEBF3442660BCD9B90EDF +:10793000F1DE893FCDFF02C2D7735CD237950E5D71 +:10794000BF532F4DDE63E79B3F71BE29E0DFCD21A2 +:1079500072BCA4D1D2FF0F412FED7FBEFC74106525 +:1079600018CAC9BBE28A01F35E23B3B8258E6FCD76 +:107970007FDCC7F9EB4DFE7E81DBF45D8071B45393 +:107980004CBF1CDCBFBA2493DC1EE7F797F6072B2D +:107990006C79BD4B1A66B4E34F1202BF84517DF57A +:1079A0001CBF84F6BF9ACF7F508D97CCF0E37A8CC2 +:1079B0007518D71CED3A04BEB3EA518E67941FF4D4 +:1079C000A357727EBD7A69AFB40ECA7D5C6ECF706C +:1079D000BD20FA2DCCE5F3A8F1566F8490F2DCEDD2 +:1079E0007777565039A771AFBADC7BEFC67C36D2B9 +:1079F000C6E69FBCF4ED668CABF6A82CEFF0D92F51 +:107A0000FA9298D002FC6AF3B3172C7D3F81796516 +:107A100063546332FB2E37D34FEF927845EED8B4E0 +:107A20009E1AA297DA96F0DFD331262FCE28479BF5 +:107A300038BC8C9F0E2617E7DE64A14F3C57B5D1AA +:107A4000E3B904F39F9D70F8CF963ECFFC62B00E71 +:107A50009A37F3EB4B4BF6E13A0A56BD9FC03CFB1D +:107A6000782ECB8B792F39F3615CAF58BF58E798EC +:107A7000FD174CC67C886B1BDD0EFDCCE4EDEA06E1 +:107A800087DEE6FD2BDCD135344EFB05967720C62C +:107A90002BA8077C4DC775C536054AD37816F8DC88 +:107AA000A946960FFE6E14C0BB62BF9FE6FD8E6DA9 +:107AB000EDBF03F9E85D7F2C37DFA2BFBECCE99AAA +:107AC000E657B6DFE17BB86F2D960D25D3FEB5A442 +:107AD000DE9D116ED563BC66D50343F48163BFD4CC +:107AE000A52E05E3E68DA4899627DD03B43CCDE9F8 +:107AF00021FA9F26A9C01CB42BEADD348FEB74D386 +:107B000092DC1596757CC3B18E5FF3FECEF996AD0F +:107B100062FB7636F958A6740722B0DEDF34BB6903 +:107B20009ED9F56BDDE6B5F0FEB2B52C4FE8FA262E +:107B3000FBBA0FAA4DC7AF44B8FE81C17502D8AADF +:107B40003A9FF231B53F5E4AE6CFC0DF8D3A8134CD +:107B5000423DBA38477CCF87FE8E619CFD93BC5076 +:107B60007FD34F31CFEE7FE5B2BCFD13F54B2EC76F +:107B7000D0D5CD7BC84FFA09DA59C3DB05F1BBEC90 +:107B800076C4E45D76FB7776A38BDD2B93532537A4 +:107B900058E4E5EDBC1C8AB76B96BA32C69D06F276 +:107BA000FCB4FDC45FDCAB32D9816A3ED38B57EFA6 +:107BB000CADC5FCD0FB0F63D99DB17F2F989DC4DD9 +:107BC000ED81AB1B33BFB75667FBE7E975FF753D2A +:107BD000E6099D94ECDFE3BA5167F4AFD1D93E7169 +:107BE00062FFEACBC388EFF52E1DEFC5EFCC8F9473 +:107BF000225F7D79ED191AB7BB84BF7F913FF6589C +:107C00002E945F797E454718E8D8B38C445C465A79 +:107C10006F38E17882CBBBD88760FF7B05F7BF0266 +:107C2000FC3D6AD46B7232F225B66433371FE96EBD +:107C3000AEA6DFB9DFEFD319DDC13E8697E3A7EC2F +:107C4000F6EED3B9767BCA49CF9B77E50C7B9E795C +:107C50008944A81D6E36E4E8A82F5EBACB9DFA1CB5 +:107C6000D45F68C8A1BF1B2AC61576EF898659EB79 +:107C700010AEF71A7224EB7D466799D5FE6D707FC2 +:107C800022E7F0130D8CCF5FBA6B566045867E7F7E +:107C9000C82D1D955FE3A5BB86979797B87E78950D +:107CA000AF4BF013DADF56BDF281832E8D2BEDF34F +:107CB0005EB32CC70E3F979393B1561FDA2FA007E0 +:107CC00026235F0B7BF8FF021C53D2540080000078 +:107CD0001F8B080000000000000BDD7D0B7854D5E1 +:107CE000B9E8DAB3F7BC924932339999BCC30C01B5 +:107CF0000C10601220848A30214442419CF00C2FE9 +:107D00001D10629010A2C59EF45C4E3310C0106D21 +:107D10008D9683D4A20E1195565B03CDE989CAC511 +:107D20000141E969FD1A5E9656D4A14511444D5BA7 +:107D300039E5F472F5ACFF5F6B65F6DE4908F4D8FF +:107D4000EF7EDFC5CF6F65EDBDF65AFFFADFFFBFEF +:107D50001E43368F256422215FC1BF29BD4B4236A9 +:107D600012329E90530652D35E40C8898AB9292B9D +:107D70000AE03951888790B912FDCB4B48929DFE9D +:107D8000E186F7639342F4FD078D84446F21E4C3D9 +:107D9000460B899A093969E87E7B828B90F0D38AF9 +:107DA000FF39DA7EE8F6E59B32B01BFFDBE3E8F350 +:107DB000D06FE5A2165ACBE0FDE8E1086D9049D4FA +:107DC000821F90AFE8FFD5DB1349343F5E27E7D32E +:107DD0000C00CF83BC0DD99C4A3BEBDDCF05800B5B +:107DE000E09935372564EB7FDE9FF0761739FC6B21 +:107DF00076C961733221F7CEA2E5E8DEE3E9BFBFC1 +:107E0000D758EFB15FA7FF9A5DDAF90C040F211183 +:107E1000A443ED4BB266DEF7EDD1E2C12593FA76CD +:107E2000DACF12A5DD3891D26149ED39B29A96FBCD +:107E3000532C88D7FD295E2C97101268473AFA8791 +:107E4000578EA2E3B72510691CA5CFEC84C8501F3C +:107E5000A5F79C5B7D6A781672BACCDFB9AF3CC3DC +:107E60000BFCE0DDE186F6DF96C973B497F7CEEC44 +:107E7000DFE2A6745C71DC002DC982AAD2A4F1B441 +:107E80005E7C4A2E9269FB797607C23F7FDE72A341 +:107E9000BADFAA95DAF9CC5F9AA8C1CB410E6FB9C7 +:107EA00085846D45C075DDE382A3E2F3ACDE5979CC +:107EB0007B061D677EED6313619CEAED878CC3E949 +:107EC000BC6EB7B3F94EB77B71DCA50A9FAF85CE08 +:107ED00037899077014880FF3B52E439F85B891974 +:107EE000E1B980EBAEFA0BE5015B9CEFC5F32D1C0D +:107EF0000FF5760396636CA1357637FE194E711235 +:107F0000F203437DA99B36F9328568E0FE8ACFC330 +:107F100064F63E4FE4F83C7AF058C7F0F8EE993931 +:107F20005BA0DE1F1EFF059E8EEFCD1F03E1F15407 +:107F30005B428080FC4D4E42FA76984818E67FFA04 +:107F40008ECCC8265F1CCE2F5318BE5CF3FEDA68B9 +:107F50001F1DE78377EFBFB00CE49AB6DB6C73327A +:107F6000F8015F4F390CD89EC4A83C14C7E52135F1 +:107F700085D2A7A0379CBFE77A412F3F67574BAD0B +:107F8000F2682C23A9C9BDDBF727178B2512043E05 +:107F9000D8FB80B9A6AD0FF9798FE3AB977E802926 +:107FA000D07A88FF5D3DAF722B9D0ED994983C1915 +:107FB000E6795637EE59124D9A00749A27FB814E96 +:107FC00067EB991E14EF3B7574E96F9E4B6B981E1F +:107FD000E96F3E4B8D91243FEDF7F7EBE58A082DD5 +:107FE00097D1F60B47E377E740EF2CABD7D2F934C4 +:107FF00009DE311EE09AC5E03A656ABDA398D2F960 +:10800000E477F38AC2F07EDE0F925650BC7471BEE4 +:108010003D09FC6C83E75AF8DFD2E9DD5EFAF64CE5 +:1080200082665C2117A782DA7EBA74FDE8F9728154 +:108030008E2FF79A8239A0274FEF5EBAEC41E0CF3E +:10804000DD09FEA1DEDE7879D921237E4F021FAB48 +:10805000F45487C9FF69870BF838DDBFC9DB9B7F04 +:108060004FCE6A4A580EFC3127B1260225FFFE0783 +:10807000A5F96D3205756F640EC2FFA683C12DF49C +:108080000AE1F64DF0C7BBDC1E087B7699EB97EA58 +:10809000EDE78C5EDAFE2ED02F36DED805FDA7EF99 +:1080A0006EA1F0C50CAC1E7E2029F29C2F3E9E983E +:1080B000D77FEAF86669AD165F03D9B9DF450C15BD +:1080C00011D5B8AB76FADA5AA4787DE97A5AF7C5B1 +:1080D000EDDEDE88019F5F6948C1F99F9AF323E4D2 +:1080E00097F777E415815ABA613B1831FC43EC20CD +:1080F000E0E77A7670ACC3774376F043422A901E6D +:10810000D7E6CE9E08F3FBE754F42F3EDCCEF8759D +:1081100008A7F7FBA6D828357C1F72B93DCBE7FB33 +:10812000610F7E83C9602745BB2C07D3FFEF7339EE +:1081300078BF412B07850E2D5DABB76BE7B9AC5E01 +:108140002B07931D766CFF7E435302E89F53C03785 +:10815000C0E7D532DAA753C132B4037BC10EA8F011 +:108160003C5937CE40F2B6580ADF07F427BB13EC70 +:10817000C08F2E202FD8D58F191DAF405B2A4216F5 +:10818000A7A14F3BD3A3D73ED6D21DFC0D351E9FD2 +:1081900002BBABD2034B6AB470916EEDF7270D4C66 +:1081A0008EC3B34DE81FDA4D0C4E7B5B823DECC3B2 +:1081B00026C5602F7BC6D77DBF588968C6BF17F814 +:1081C000E43AE30FE46FDDACBFF901F1AF45399F4D +:1081D000958878FD60831C9D42EBBF9B95B85BF64C +:1081E000F5E57F8E5D0BF4BD322BD10072D81F1CDC +:1081F000FFAFFCD00F368C45BBA16FFF18C7EB401B +:10820000F2F7C186EBE3571F1FF4674F9E74DC9CA7 +:108210003D7982EBFF935FCA68E74E0599FEEFB1A7 +:108220001BDCFF11FE4EEAEC5B2F12CAEA07F9389D +:10823000ABB657A27F7AD210DC9204F43C61B00353 +:108240003F169F6171CA2AEE870978BE4CD1CA9F3A +:10825000B03F03D94FBDFC9C9EFF50118C7B7AFE32 +:10826000428D7FBCE06A1689A6C6EBF3ABA400F88A +:10827000053DF26AD5D2FD1DBB09C77F47277FF3B5 +:10828000AFE6623FC2BEADDABE9CF9CDF58F65A800 +:10829000E7D3E6B0E0F7CF3AD8F73D7EB3C2FC664D +:1082A0007753ECC120FDFE0B5B30C5A9A2D3091D9D +:1082B0009D4E73FA423BE0BFF94AD0D8171F2E9863 +:1082C00027EBF413F3E7F4FA48B4FF03D7BBFA71D2 +:1082D000F4F8BCD1F1BE4AB10BBFFC2392471F5C3E +:1082E000D6FAB1FDF16FCFB8BAF6FA71630EAF8668 +:1082F0003FF4E33F0B71828A5FF5E3A43B195E8B89 +:10830000B733BA9F9C7D2BF2E1A9396F4C02BA7D3D +:10831000B0E12FA717829E59797412D8857467121D +:10832000B6FF804E291DF83D24A15FB870FBF22DE9 +:1083300019AC3DC6E1274FE5211F7B9C8C7F4F9AEE +:10834000FC1A3BA897CF47793CB32785D92942DA55 +:10835000738249378EAFDFF783AF9BB51B8F8AF1EE +:10836000AF8D1D05F6E0079C7EB4F71CA8F717F744 +:108370008B926284C5B165B6662905FCC7E083A00F +:1083800017BAE727D9DB282AE69B0333418F9F3EA4 +:1083900061306C647E14CB733010886FB6EFE111DE +:1083A000B4FDDCA01CB052502BA1CD444AD7A9B6D5 +:1083B00030F437EEE4AC1793207E5B64F6825E9F68 +:1083C0003F25F8A90C72B630D1BB89D68BBB061FEE +:1083D00072D1FA9C59921DFA3B42ED7A8CCEFF275E +:1083E00050F906610052DC9C12F570E5B66994EE16 +:1083F00023DC1D061BFDE2D9C72BB759A8FEDAB254 +:1084000031980E21F5DD8F8FDE66B98DD2D113E85C +:108410009AE2A7F879DC3FC39243E7F5A4F8BE706F +:108420005B601221AF19423E89BEEF7CBC6286427E +:10843000F1A348D30A0DF4FB579D4F6C83F60B163E +:10844000AC5DF56FF4FDBB8FAF9DA1D0FE8B978A1D +:10845000EF1F9851A65078691F2413EADFB642DD5A +:108460009518F41A0AE9FC1FCF9FA1C078CEC0FD71 +:1084700084D6AF3C9E8FF09484787BF22F33CA86EB +:10848000C4FBBB93BE0FD37A464319F92325554944 +:108490002C2C81BE7BA7B4BE4CA1E30F4F6DDC56E4 +:1084A000309C9009B34A13099DAF3F75C70C7321E7 +:1084B000D02950E8A56551EA0F11DEE2A5E111844B +:1084C000B63785776DABA0F36839B33B0871F5D348 +:1084D00012E31FABA53E6AA07FE636044908FDB74C +:1084E00056C637D9DE61C8B7A29E4FEBA354F574C8 +:1084F00056EFD844EE0EF6218FE753995FD491D012 +:10850000F7FB6D5C9EE87C515E53CE90C04BB43C53 +:108510009A403A2CD4DEDC6926E34A68FCFC80D31E +:10852000C6E5888F6B617089EF48F84E27C8C92C63 +:10853000E1CBD3F773285C0F717D90E7E776804439 +:1085400095B920F2B201E171CBD2DD95F4B9278162 +:1085500084F6D1D29D4AB03E8B90C03E5BBCDF5FBB +:10856000F36ECBF3827B80FFCBD3320A9B7CF17E10 +:1085700028BC9B015E9177A2702B00B75B9E53785D +:108580007F810AEE0206778793E1830EF322F83D9E +:108590001D5D2306431C729B53ABFF28FF1B09E4A0 +:1085A0001153B91C7BD9F7EE3282F6B97B9B35D2D9 +:1085B00006FE9E25E40FAAF2314FF279D75E1D4EDA +:1085C0002263E3CF6B95A809F447EDD5027CEE6EEC +:1085D000EA9B2E228F597BD541C263D5CFD9FCE2CD +:1085E000FDB8F07D7FF05080517FAD777004F27E52 +:1085F0001B088BFFD62705D29CD7F17B6AAF4AFDBB +:10860000C0AFE073DF201A43031EE9735210878F57 +:10861000E209EDDB7AD01A14A5EBF795A611355FC8 +:108620002B9C0E26367FC0B34105C72F39FEE600CE +:108630007F61FF04F3412B320B305EECF85BD9C84D +:108640004AEC6F13E36F85C54FC50AD387C55D4EEE +:108650007B588AF385E00741CF0E677D29E2AB5254 +:10866000B2B7F97ACFBB4BC84550C2F1D39686E476 +:10867000E52AFF41F0BD5E4EA84560FA9DF2FF324B +:10868000904B88EB002F7E2A0F496A3A32B84BE1B3 +:108690009BF1C8078C7E1936463F8E9FDEFC9035D5 +:1086A000003FE4E2FBE2AEC326C0772D8733ED4CFA +:1086B000347964019BC71A5A1E83A415E4FB9C8C71 +:1086C000AF3BDACBC6DE4AC7EF6836125049C593D6 +:1086D000847E3FFFCBA954FFA5F5D4A9BEF722BEE7 +:1086E000B9BEA4EE8125DEFEB5D4F333360F89E39F +:1086F000C70546DE1987F74E8ED74A98B71BF11784 +:10870000B63835724B4A8AE2FA45C8A9E84FF49365 +:1087100091CAF8C3C3CB1EFD4318BF517D83F942F4 +:10872000D26C8D0C95FE117A471A40EF5472BDC37E +:108730009E1FA56E2EB4F378BCC324EAB79D3856AD +:108740003614FCF807D265EF796A57E649A12D8403 +:10875000C239F78CB71A9EF7F85F141136EA4FCC7E +:10876000A70FBFA2EFE7752584E564B0E756AF4DCC +:10877000E597FDB955423E7B8086A00D45BDF9E3E6 +:108780008174138E73A2222F25A4868BE3FF4EC81B +:10879000F3E6F5964F51A770571B64D57B1BB33B8F +:1087A000ADC981B1A914FF7F944815FAC1D3DC1A71 +:1087B0007F66A1531B6F087FC69112F846EAF8DE68 +:1087C000EDFBF37FDC1056A2FCB27C50DAAC8408DF +:1087D000E02BAD9D70F98C1A6A818E32094B74FEC4 +:1087E0006FA7E6E0B827E6D397292ABF5F0A66E3BA +:1087F000BA81DBEC873C05A50BCEBF5CBEFF90D1F8 +:10880000057496FC4D74D4C5A90EEEA7758F437DF3 +:108810009FC8F8F0A89558ACB4FFB7688974E77A98 +:10882000E937B9C3995E3209BBC2F5E03516578BFB +:10883000F747A5CA6C3BAD1F75DF52D824617FC4D2 +:10884000AAE27FDA2F01787EF3E5B7CE4FA1F836A2 +:108850000E66FDB9E8F873547230A182CDBB86F381 +:108860007F4D6A2293E744D6DF511F6513186728AE +:108870009D0F958737134205F508D7F7183D29DF77 +:1088800003BD3C065A821C9858FD888BD1EB4A2ABE +:108890002BFF99D73DC9AC9D9E3EA75C7C1D4D62C8 +:1088A000F2DC7296FA35791ABF8690C1306E90006C +:1088B000BFB494D2F9F4D1CF7AEEA7503B86F3ED52 +:1088C0006D5798FEDB2C45BAC6D0B1361B19BFBD1B +:1088D0006E8FD821AED3B73725B27CBEB043C27FEE +:1088E000BFD25E99027AF1471C6F261E5F0A3836A6 +:1088F000F3FC45F2D5448C3F7770B894FCF348679D +:10890000A58476493F359260D8AEA2B3D16ED0F837 +:10891000FDC95793F1FBDAAB634924F57AFABA182B +:10892000DF533F4E13675C39BB10E1D4CF4B8FB799 +:10893000EF7378453D19E054C19542BA11CE9412B7 +:108940002D7CFDF91D9D9CEEB557658D9D89C36BF2 +:10895000D23CFF3E8DB7C2EAF13F66E3C7C7A50A26 +:108960004635EE86D4C02BA9285793EC1F8DA4055D +:10897000E5F7AF64B41FCC4ED172B78DD973D0CBAD +:10898000225E0139B68F21647A6AE921F8BEC7BE3A +:10899000F1EF841E493913F7E724FAED74EE474CE2 +:1089A000E776B6C7EF53987F2AE0FE1B6F27F44D9A +:1089B00085E58D31E755F39C9EEAC5EF8F093D476C +:1089C000BC39F03DE5D7B0DA6EEBF1F96E0F3EAD94 +:1089D0001A3E88E3D386CFBF2E3FB07852481E059B +:1089E000F9D20A890CA5C584694C4F88EF3E4F65C2 +:1089F0007EFCE75C5F087D22FC2CD1EE2FD0CE0DF3 +:108A000065A2C64EF467A7D5764292E3FAA98ED343 +:108A1000CF77E984C94BF135CAC5FC8E4477E06F46 +:108A2000A0FF9584E4D1A09F77FFDF32EF460A775D +:108A3000F7DB467F1B74D7C9E859BA687D93429F1C +:108A40001BDB25BB99C4E1B335EC1BB392CED7C871 +:108A5000F54FAD8BCDA3D615350DA1E366D6B2F19A +:108A6000B3DB0F498A4A6EB26B58BB649791D33B14 +:108A7000B2B17C1C3C0F282D94C44E784EE1021DEF +:108A80000DEF33DB25CC6B67D6D38953FA66FA59E1 +:108A9000BF367F44BAA7203EBF664365017CD3EC56 +:108AA00049F4835E0FBA43E92E80EB6C340AE899EF +:108AB00070B64B81B8AEDE1DC8708D8FCFCF2BDB6B +:108AC00033415F269E6570B53AB57C40C8C33CEE25 +:108AD0006A63765026C7C09F4219A7E37936E5A39B +:108AE0005D11ED3D4EAED73D24B41FFD1CD24C9020 +:108AF0004E04E7E1D9340CD757041DE37ECDF022B4 +:108B0000F06BF21E892A90477D75175B47D0F3E31F +:108B1000046E0FE83C8AD4F318C87E8B76C67EE2DA +:108B200050C1E7899C6F4A17B916C3FC6A37FF2208 +:108B3000D12C011D764B896807BE8FED04DE291C00 +:108B4000652E151F29CEBD52169DCFB75613BB4CAF +:108B5000FA87AFB6E1E76356AAE571B309F1BFDB67 +:108B6000A45D3F177EFA1217B303CFBA837360BCBC +:108B7000BACEC74C40CFD57BCE99427DE8E59EEF7B +:108B80006F103F520DF3FF6BAB2C11986FE922056C +:108B9000E9B566B32962F641FE7A5FD400FEEC06C1 +:108BA000E207B9AE6DDFF76626C54F566D603CE64D +:108BB000C528937515C4ED44666D5402BB9BD9BEA0 +:108BC000BC16F9373DD10FFC0B7E28F807974B6D8B +:108BD0006189EAD3CBC670BE97BEBFEC4BF0C3BA77 +:108BE000C59B5626E702BF6FED9B7E4CA2229BB42D +:108BF000DF1C85B2DE1D7A10F8BA65A3B714E8D37E +:108C0000524EECC037D4EF7800EAE54D3602FC7FD7 +:108C1000A3F3167AA287BF3630397801F404F23D07 +:108C20002902FDF2A82B89E91703D33B6F1A199C7F +:108C30000A87F34A6A6033F2230861467CFEFA71C0 +:108C4000557CD37233FC3BA1A2DDE4A570ADE1FA03 +:108C5000A374D11EE98F2ABAFFD0C5D67B335FDA61 +:108C60002D79917FF76C2C77617B62F6C27396FF4A +:108C70005843DFAF52E90D318F3EF44704F06C3BAF +:108C8000DB7584E98F28F29B8057D051D0EB259774 +:108C900017E1BC9D9A677C6EA274A5FDBD393801B1 +:108CA000FB13F2AC97BF975C2C3F9D59B54732142C +:108CB000303F33A8824FB44B744F6D77211EBA10EA +:108CC0000F6BAB14169773780E2FBC6B25D07FAD4E +:108CD0002BA310F8F520EF77FBBF1F477E5CDB2A44 +:108CE000B1F5E6D6E3A6F990BF0AFF5806BF6C2699 +:108CF000730DC88E7F3B8EF66166078BB7D776EC17 +:108D000053EEB1C5F9D477E9F05DC0C76BDBCDC4D4 +:108D10002A01FDD87CF5FC49F507CA0D099B70DDD9 +:108D200004E201D49724E483F85BE8D72BDCAF237B +:108D3000B6E03803E851CFA842D08BC739DCA2FF98 +:108D4000F204FF610BE8C7221617083B768AE39B03 +:108D5000F61F45FD4ABD5C8C8778FFBDEDC2C82279 +:108D6000A0C3356EAF287DCF02FFE9ED83E8DFF7C2 +:108D7000F41CE24D52D10DF0ADE2B74F5C6CDDE476 +:108D8000139782FD2953199E14139BBFB2C91281F8 +:108D9000FCC75B8E0A861FA705F173D4B0A216E844 +:108DA000743493F159B361537E3DB34B97019EC325 +:108DB0000B9309D3434CEF6CFF39B37FB5611BC6EE +:108DC0005BB5A1794867E2B2FA61DD90848E98E6DE +:108DD00027C5F9404F57EFFE432698C7CC76C6FF0C +:108DE000717C31FB23F895EA33A4F7159167A3F45E +:108DF000027C8AF838D5128B1ABDBDE53315E263C3 +:108E00006ADBE6417C0C79E012CB75E36231AEF8A7 +:108E10005EC4C56B1A7E9501E57DE9BFC452C88169 +:108E200088BF447BB79BD1EF4B6E07B3399FAC191A +:108E3000D78E7CBEE67C3DCA87AD82E909DB59ADA1 +:108E40007E13F117218FF078ADFD76C8B7973F23D9 +:108E5000D99B48FF7AE85E586702FD7E8D7ACB3455 +:108E60004EA8D5ADA315B819DF5ED84B118C76A0EE +:108E70001EFDE3CBBB245C77BDD1FE48F49404F423 +:108E80005BC37178F9A5B2891F42BCBC3705F7B93D +:108E90007CF2D2DCEF7C48E1BDBC678A1FECABAB57 +:108EA0002988FCD0EDB6FAC1FFA56AB002E2EF8DC9 +:108EB000ED6F24433EE9E28B638A40FF9571F82E03 +:108EC000FD5C6E007C6C7AE1E5C9F07E4D444A059C +:108ED000BFEEF2DE67BE047B56B3671DEE236B7AEE +:108EE000F17513AC331822BBD9F3BD29E8FF5D7CC3 +:108EF000F6B1C980E7A6F6267C7FE9D9DD583FFCAC +:108F0000C2CB07FF06FE4230D90FED2EFDFCB1EFBC +:108F1000FE0DF8765EB21FE6511B52D8BAA0E0579C +:108F2000BDFED97708E54EF0C74CF0FB80CFAB987B +:108F30001E11FC79A294AD9BCC99CAD6634ECCB0DD +:108F400056A19FCBE5AE6EB16337C89D81E22F9DE0 +:108F50007E3F6F966337ACABACE5F3AF2D60FCD0D2 +:108F60004CB905F20889055153166DB770E9BEC9B1 +:108F700080CFE6045262453E8524261D07858890F1 +:108F8000B9AD6FFD9744E9388AAAB38F683C457B39 +:108F9000DBF315F57FDF31B27C4133F7CF172E3D80 +:108FA00027B1F503C5FE919003F97AF64DC1FE4451 +:108FB000BB1E7F8DE3A199E74768FF686F8AD7F3EF +:108FC000BCA7B4A209D69B8F3E189D047CFBEAC7C0 +:108FD0000F24D416A8F99B7D9FD9C1E43EB3A6EB1C +:108FE0007698E737F3978F8561D6F2F51417E4D1B9 +:108FF000C0DE846D1AFDB685CB99C74E5CDF80FC60 +:109000008C425CB08FAF9CAA5E23E2E739ECDF6B49 +:10901000667E93F7F585CFC1FAD70E6328633CD8F7 +:109020009B666EA7F63078E9F776583FA7FDD9BF63 +:109030005184FD74199DF87D987D3F7D0F5B3F8BBA +:1090400070F8BB73C14E417FE36C6057C2556857DF +:10905000BC263FF0C32568821B82C3A3978D8ACFAD +:109060005B9F4F013D06EBD0CFBA4B9F76BBE3A58C +:10907000C8BFE8E9718EBFCFF5049E76031C7B5311 +:1090800007D8EFCCE87578E167A6181D77FB6BE78A +:10909000500FD501BFC3F8A1F31A7B2BF869C72B7A +:1090A000E790DFE77432FAD475FA8C10CF7CD218CF +:1090B000207FA40E661DE7EF1D52AC1AF789BC6233 +:1090C000B543BEEC33CEFF6B2ACE7D047A6B70675E +:1090D0008617E2ECCF5E617270D460407C1E6D1B1F +:1090E000B91BEC0BF56B9195EBEABD6D66C42FF3E4 +:1090F000F34B17AD7C0CE2AEB535C40FFAA1AEA3AD +:1091000032DB8B76C58CF8ADEB3C8EFC22FC5B6AC7 +:109110000F5742BF0E6A77AC10874D0B76203D5C2F +:1091200049D8DE312DF45839F2576131F0D7E18555 +:1091300007B75A60DC69C40EFDEFC809BC9285F31D +:109140009008EC8FD8616C9DAAD0EF77947BED14DA +:1091500083145F7BD2C1CE937C13B76B2BD16FAEE0 +:109160004B5FE2C7FD697A7DF1CA46F4AFEABC09FC +:1091700008CFCC4EE901E677D808835F42BE9C1940 +:10918000B93502F2FF29C79BC0DF67C6AEBB002F0F +:109190009FFD1B6540FA7EE634C6A78E69EDA86781 +:1091A000DE7A85FA35A3E3FC98F40BEADFD0BA53F4 +:1091B000B14B7E94B3B966353D5B8DCC4E39B8DD8D +:1091C000C9AB6074FDC4CDECD4276E032F4D5CBEDB +:1091D000791ED71E1E0D76F6534E77EC0EF43FEF38 +:1091E00077EDCA28CA51ED4BCC2F73990385DF5216 +:1091F000F1ADAB8CD949914F87FC3AE6D5217E7110 +:1092000041DCEC6D83FD44947E48DF6FBA6E290229 +:109210007C257B987C67E64B18E7517F0DF1E6597A +:10922000B447A92E60F9F8BEE244A787E709538343 +:10923000E324FA9D3B2D09FD18B75C6AB0821D2A14 +:1092400094FC6D5E5CF7C3B8B6DB9DE16FD3C835A7 +:10925000F3F73EF62431BA467EA3401E27D7E365D6 +:10926000FDEAFCB9DE71B2D50FF1CEACD6F068885C +:109270002FC43A809877646342955A8FA57B18FE75 +:1092800023C34915E805EAB7DB306F6CA7E3403C20 +:10929000DE76EBB32C1E6F6271A087ED0F28A7F36B +:1092A00003BFCC9D175CCFEC6B12CEC39D4756C05D +:1092B00077EEA674A9C9A7C6B31DF76D3DCBE92CFF +:1092C000FCF13A2A2FE8C7BDC6F8B10EFC385FFFA3 +:1092D000FA21CEDF4C3FCCEC6474AFEB64F64FC4A4 +:1092E000E7A0F7607F21E809DF98B85CD79962C3EF +:1092F000803F059FD74D8E0D03FCF4A71FCA132393 +:109300002877E5238761FE41F4F399D18BEB739FB6 +:10931000D1F812FD582E0F49AF32391074D1C73928 +:109320000017C48B423F07DDC10A0FC065886E85F8 +:109330007D02429FD6BDBA6D585FFBBD843EB52805 +:109340004C6F592289912615FFC05A57521196B871 +:109350001F2BB181E3E38C84F9E196FC533F6D410F +:10936000FBDF1E053EB36677DD06FA6BB187E5D3FA +:109370009E96187DC53ABF076213D01B6D89B8DF72 +:1093800056E46DF470DDC1F948E05FC41990978729 +:10939000F6DFF630FF62356FD7E89134765CF0B5D2 +:1093A000D7103A07FB0EFAB33FE2BBAF2B8F24C6B0 +:1093B0001176308EE78D9A7505984F6541FFED5A0D +:1093C0000F313D23F84EBC7F94FB55E59477A1DD2A +:1093D000CF447EB64A61797F2BD1ECC712FD89BAA2 +:1093E0003E7FAE2F53BE9439FC0102FD61BE81FE6B +:1093F0004B995CE187F93DC1F1A5FF4E21CA1731B8 +:10940000E157F954F0709F8C465964B2530D57449C +:1094100003973E5FDFE397E9FAE90FEE66DDBC9A5A +:10942000F30E12C853255A92B9FC5E43BF7F5BCF3F +:10943000F982B0BF12F51DCB770D348E1E5EABB72F +:109440006F786F941ECD867D35C0CF3F6BE4FBAE49 +:10945000B6DFD83C0FF279C23A047EB754D1ACA340 +:10946000D8FCDE8D903F9E72CD5B88FE35DFB799CC +:109470003499FC49A6FC9A5CD29A0FE749DC412D4D +:10948000FC6955099A7D6F1921A7A69E5593A96974 +:109490009F533F58F37E50C308CD7B5FB84853CFEE +:1094A0006BFE86A6FDD0D6A99AFA2D3BBFA9693FCF +:1094B0003C3247536FD9D85E05F23072EF62CD77F8 +:1094C0005394985C489F8F6A5FA1A5870E9F638025 +:1094D000AF419E2CB122B53CFD976730D26DCA5585 +:1094E0002D3E601D473DCECDF2C7984E1D7FE8BE94 +:1094F00017F29548187F241E68FE13AC7327EAE51F +:1095000088F73BDAC2E4A757BFFDC8C9A6C4BB149D +:10951000E0FF835051F9D3EF346ACFCD9457A5B013 +:10952000F5A4AB7306F0BB999C2C30B375C60589C6 +:10953000DAF34313D3985E284CE379A61BE4E733B0 +:109540009C9F4FF4C7CFD4CDF580BDA820188FDBEA +:109550002B36FE09F23A8B942829A4F2B39DCF67EB +:1095600007FF7E67A31DFB7BB2311DCB5D8D5E7C4B +:10957000FE74633E9691463F3E6F6B2CC1720FF5B1 +:1095800003A17CBEB1829DBF680C62BB9F34566153 +:10959000F95263089FF7A2DF5527DADB05F4CFC93C +:1095A000AAFD070BABE41BA2CF42F24897DCC739F8 +:1095B000A35EDFCB4BAFBB4FBBE16C61C511159F09 +:1095C00056A425B9709D71029980F1ED00DFFFB5B9 +:1095D000D15F7164E8C0FCADE71F72ED5B4383A30C +:1095E0007ABF5F000C9D49F5C9133B1F0E17C4F1EC +:1095F000D43F5FF58D9F80E5B34C08FA4783FD515A +:109600007D7F48C7BF01254513478BF2CD346627C0 +:109610004B39BF96EAF8F58534E6373CC4DBFDFFED +:10962000C6AF87AD49E8971F367AB3DD2AFA1FB671 +:1096300026E273924FBCF328FDA81767F751FE3D51 +:109640009DC6D60725884C307F3CC48E7912EB4DE1 +:10965000E653747894A85FE9A3FD952A4C7F49B03E +:109660003109FAF71BE2FA15F74BA8F6DFCBBDF983 +:1096700081F61336813FB622B618FCB9CB695E8DF0 +:10968000BE9DAAC8D7D5D75341DEFAC80BF6FAEE6D +:1096900026E5ED17206F89FF387913FC4EAEE50DF6 +:1096A00051EF8F13652997B7B54FBC81F226F87D2E +:1096B0002AF7E344BB0F39BF7FC8F5F361EEA7007B +:1096C0007F14F5E1AFBC97A6F5F36E16DFA584E92C +:1096D00045426299A0276EF67B2A390A7C576A496F +:1096E0000E278EBEF9EFFBC367AFEF3A5D37946F7D +:1096F000A29A460239AFE6D0555B6C61E027B2D33F +:109700007839A6E2E3CAE4E0D534DABED3483A6158 +:109710007D829A79AFDD837C8F78A5FF82165A2FE0 +:10972000E4F50961C96BA27C63A69506908FD89B6E +:10973000FF05FAA29097137809E9D674909B8224CA +:10974000DCEFEE1768E279D362519D465D1C8FD83D +:10975000BA08FD1269BD13C2985602EBEE2D92BFF6 +:1097600059A6E3C969BE26006A6C45A94C7029AFA9 +:1097700015CB49A4AB0996F626936E19DADF5A1178 +:109780006E023807916B76E4F3B4E7D77E05FB777A +:1097900020397903786BB0B075EABF5A59199E4ADF +:1097A000D8B9B9F7AD11889B6692D0A074DAEE9F54 +:1097B000E4C03218FFAF06BBFB10224BF9430CF399 +:1097C000BE12EA83A9B67155AB508ED973C4B72FB8 +:1097D000DE0EEB72EFFABF6E617988A66D8CDF9BAF +:1097E00036B2FAC474C6DFA3795996CEE4C24AC22F +:1097F0006182FD52CA79107F8C6EF914EFC58C0E10 +:109800008857DB31A44B026947BC6E9BBF23B4056C +:10981000DF2CC57D3E523448BE4A54F3CF8DF567E8 +:10982000B1B4062C948F12AADAA3C6EBF4A7707A0F +:109830002AF34CB83FF269293403F0485E92B0DF56 +:1098400004DEAF91D413C9A786E386E932E746E880 +:10985000629CEAEF0A50169C9F20E13E969BA5CFA2 +:109860001A606A779C950F6690DD904FA87191748D +:1098700042E5C764B3A09C6DCEF186E1BD6918C115 +:1098800073C42426A11C88798AFD7682FF283EEEC7 +:109890004BA7F43445A473801F537A3DC683448993 +:1098A0006541BB8312E3033DDFAE4F1779846CC67D +:1098B000EFE4FAF66FDF1D8E775D208CE17DB37EDD +:1098C0009D4EEBA58E252E3B21B7654C99A550F9F1 +:1098D000D8779CA030A6652CFC1EE8E77DF31D3FE1 +:1098E00072D3F6DFCBEC7EC408EF9749F83E39938C +:1098F000BEA7FCF96E2969873C52C413DA04F85FED +:10990000FC6BEF51386ABAEFCDFB72C1AEB8CAFC3E +:10991000313CAFB2C4EC85F5A776C86302A35CA363 +:10992000F050BA3F0B00CBAC3E85D61709F4F0F7E8 +:109930007BE06FCA37792B7D1BE19C0BD925D9C100 +:109940004F19B48BFA2DB47EE17B642CE48FFBD3EA +:109950005B13443D2CE1F9FCDB74EF855E1BB2F236 +:10996000FE0FFE05FAEF9271FF8654C5D67326F0FE +:10997000F2365E16F272D14AB6FE34A46A4204F29E +:109980007A1F19BD4D36E0C75104CF9B1285F1E710 +:109990003B398E089E97964813E4D1C2DB089EFFA0 +:1099A00003B982F54EFF4A4AEB71E0325A2290A782 +:1099B0003FD9D83E66B351A53F296D02C52CADC332 +:1099C000E02EC0386C1289FF837994C7E7857C76D6 +:1099D0003BAF4FAF6579397380EA55B06F3A7D6C14 +:1099E0002591740BEE2BF6E17E11793AB103BCB9E7 +:1099F00015D1C3B09E3B36508A7A753C09BDD1451E +:109A0000CB89817D582FB1449A608A5360BC3CB0A9 +:109A10009F5E05E858463D5CA85790562CBF49DA32 +:109A2000B19C45BAB09C4DBAB10C12BB11CAAE7410 +:109A30001FF2EF640BD5F383715D0EF3A0453BCDB0 +:109A4000982F9D53113279FBF04FAAC5394212CAA3 +:109A5000C53CB012CA5DA0F2373E5AB47019DCB7EB +:109A6000E13568F7C5BEC3F5662C9DF9173B24AEFA +:109A700047D68A7B3B423F5C45EB4B2A6EF1C3F9EC +:109A80006EFA1EF3C0E14516CCFFED307A73C0FFCD +:109A90004881C36F90B7ABDDF74F902C3A31E3DECE +:109AA0000C90D7EACD5B73200EA89EC5CFD328E1DA +:109AB0009CF92A39BFB09CC125F63B88E717393C91 +:109AC00029B06605EBC4147E5C2714F9BCC50ED41E +:109AD00033E5D471807DEB57F93C225C2F08F9A95E +:109AE000117CA0844D99F4BB057E9F1FF6CD2D8E71 +:109AF000B03C71B942A2E02FF7C05FB5FB4142F91B +:109B00006371CD21CCEBC7F729B1F5E9D2451DCB67 +:109B100060FCEA956662C6F5A2D6F7409E17D69815 +:109B2000BD50AF5ECAF2AAA4CA82FBF8AB77FAB600 +:109B3000809C2EDC10F0435E958E87F9D8DB2D6C6F +:109B40009DD242C78775BDE9357C5F48CD435DC076 +:109B50009FB45D00FCE5DB697B8596D984EDBB4B4A +:109B600008B37D4C09D3D83E26AFB9FE28DC0BE301 +:109B70005D47FC613AECC25DBB25B6FF98A03F355E +:109B800090BFF3D443D71C186F825F30089E86596C +:109B90003EB941F6C27E52A2D8B19FC5FC9C687303 +:109BA0004D13E6C3AF54D1C9D1F117B4FAD8B98572 +:109BB000234CCE175415C6204F65A960E7F3A04388 +:109BC000C82B5B4805CA7D2161F98F05FC7C803E6E +:109BD0006EB03498D8B824AA811FF419D8C5FEFCF9 +:109BE000B0FEE627F406E897EE3EE45DAA788BF92E +:109BF0006BBC04F907B92DB2F8E52403B05A5066DE +:109C0000E70CC284ED1BDDC0EC8AF579496DCF2DE0 +:109C1000AEF05DB015E7C291215B6C88B656A28E9E +:109C2000232C5383ABD4FBC8B7950697A9D78BA633 +:109C300067307EAFE025F9753817C69327337EFF6E +:109C4000DDDB04EF91F9F86D8A4F903FC9C2E473F0 +:109C500000BC0C38FF955C8FF332EE677A9B80BEB8 +:109C60004B3206233CE32A2A65583F1AFBD4D8AC72 +:109C70007F26BDE9D31FFEFBC397312DB03283F998 +:109C8000E5861BF1CBCBE5EC25B574DE7F5E6AC6BD +:109C9000F55761378B805820D75D2442651FEC074C +:109CA000DA958C666297BC902785BDF0BC1F60F387 +:109CB0002A0B51347952BBA69E5593AE699F53EF40 +:109CC000D5BC1FD490AF79EF0BFB35F5BCE6124D38 +:109CD000FBA1AD014DFD969D159AF6C323414D7D27 +:109CE000E4DE2A4DFB3FD32945E97CC69D96FD6104 +:109CF000A06F38D055501CB7E3A3DA439AEF27C4BE +:109D000096CF02FD35A6B346D30F394BFD365AAF79 +:109D1000A7FF31BAF865D023FE1A893CE90314B2D3 +:109D2000F7D89ED6FD67675C043DBEB8CA18F7F742 +:109D3000E02BF2C89F803E7E9D9FA88FABEF3D1623 +:109D40003E6AA3F0D51C6B3D0AF2F06C8636CE2E2F +:109D5000976D38AF3F9F9271FF4B0D70A82B4EC788 +:109D60003F434730EF4304F785E9E7DD1387CBBB7B +:109D70008C78DF0A9D076C5D37A76BE96DF56AE9A2 +:109D80009D98AFA577925F4BEF94122DBD1D81FC7E +:109D90003EF19B5AA1A5BBC06F09FD0FF0FB75E317 +:109DA000F35719FABCE024D4B35776723DDB5B0F4E +:109DB000CCB314C7F50055A911435E1C6FBDF482E6 +:109DC0008DC5333D7A6127D70B3BF57A21F04606E6 +:109DD000856F7CC88771E56F974DC8023D97490E26 +:109DE00088F311A1AF507F87859C9FCB8075C006FB +:109DF0007F2C0C76629719FDC97D4787613C7062A4 +:109E000028B90DC38A332CEE693131782F65D850CB +:109E1000EF3C2D052FC1F7E682201CDB20176E6377 +:109E20007CF15BD08774B2BF83381DCECEEBF408D3 +:109E3000D1E941BD3F2CF4CC84F0718C9B6FD66E80 +:109E40000C14B7172E65F644E8D709BC4E5684D1DA +:109E5000BF1776A6A924E483F3754596804C0CEAD7 +:109E6000383E8676670A09A31EBEB5C2FFA3F50475 +:109E7000FCAADF66815FD52B9E8FE33B2573BC6612 +:109E80009D578357FD3A6F5AA658E70DA665AAD687 +:109E900079F75BFDC85FA717B13865DCF1214D3656 +:109EA000FA9D67B50FFD98FD0EFF1B503FBD96C58F +:109EB0008DE34F0564D85F9557EFC37D76FB7DC179 +:109EC00032A89F7E90BD2F3E13C2FD57431AD8FB88 +:109ED000A24DF56FC039FEF9DF65EF5FFB742B9E75 +:109EE000FFA2468E7D5FDA5A06F5D35BD8FB096781 +:109EF000234D501FDECCC797DADF48063BF83D768E +:109F0000FF42AF7887C73753383D7AD193C70D9357 +:109F1000797B11DF4CA962745AD91DBC1DD94A47FF +:109F20002FBD5F5F4E42589F4EC258CE20112C6706 +:109F30009228BEBF83C4B07E2784F2B45E49BC467B +:109F4000A8DF93998F789F4B4363CC5794F82D7873 +:109F5000EFDEF9FFF80E498EAF9B0BFFA0D5195C21 +:109F60000BFE83AB2C88F783DC93C9FCDD78C9FC3E +:109F7000068F339CEBA7EF3FE6E7CDE2EBDFC5B8FA +:109F80006F830EF908F8BB0B33D97EDCE9A404F724 +:109F90000B4F2F61E7EEA6833F4CF1137D4271C05A +:109FA0007E3CBC0BA98FB8399E27D2E58F9530C671 +:109FB0001F45B2772408CB86CC71DF83387A3F08FF +:109FC000622621EB3227DF11CE467E45FF66A07662 +:109FD000A7F83E9FFD7C1D745ED06740FE2CD4FA2E +:109FE0004F1B3259DC2FCAE9A4AA2CE96B9C57D12C +:109FF000A630EEE79EDF66266C7F0EC9847D38D5DD +:10A00000A41EE9FAD1A830D255E89DF99CEFE67379 +:10A010007EFA68B719E970619514817C4EF5AEB788 +:10A02000CE00BFF5EB37150C457D338FF3E76F8F0F +:10A03000566F617A9DFB534F8C90BF1A19977BEA3C +:10A040002786E15EC3779731BD086EB7461FF6E3FA +:10A0500027BA795DC0911596D04EDCA83E7489FE72 +:10A06000B93ECC14FD0728EBD17A2E7F2BD5323C9C +:10A07000B8799955ABB72BA18D2007E9A455827A01 +:10A080000EE9C6D24BEC9BDC797024D36F807AB694 +:10A09000A5BE7216EDDF01FA0FE6BFEDF0388DFEBA +:10A0A000E3F966A3E5115C8F55486B00F208CA918D +:10A0B0009E3CDB2F403F7E5D79B6D733BDBC7DFD36 +:10A0C00004B6FFAA7E0C94E78DB666CC1FEBF32C8A +:10A0D000BDF232DAFCC56DADDC6EB40A7B114A8785 +:10A0E00079C3B64F8DDD98E8F74239450AA27E590B +:10A0F0009616EA02FD7D3BA9CF86F6064B4C063B41 +:10A10000D1C2CF19B50C13716CB713E3433BCBB776 +:10A110008FE1347EF900DB97F572BE05F7CD6FF560 +:10A1200098B642FE2E7E9E937FC7CFA78EE6F72479 +:10A130006C4DE0F8989D80F1486A221D8F7E972033 +:10A14000FB7D00D70F244AD53CD83FE21D06A54928 +:10A15000B6BB37B2FCE4854CC45BECC44CFAFDA939 +:10A1600057140271F9CBF6EE044701C0D3B6B78D90 +:10A17000C2F3C531669E5FDF2B87CD709F4CD7E55C +:10A18000C7A1FD982E239AE231D70C6CDFA0893C41 +:10A1900002FB7DE658648B42FD8F4FBECDF7DF2872 +:10A1A000FE42F5FE9CD5D94C5F9EE8277F38C85902 +:10A1B0009A9D05EF33FA3EF76BCA3268CE218A7B4F +:10A1C00091FEE2269A7D22839CB3B11F51375E75C2 +:10A1D0009050AABA1FC637462548E03CA4F1AA0B06 +:10A1E000DFA750FF15D611521C250AC45B5389FD09 +:10A1F0004880E2158E4A00227ADDBB3049E9EEF153 +:10A200001B07835D627E27E6777DB0FEA2F537C728 +:10A21000106D5D9FCF0D65333B62D4DDDB10CAF658 +:10A22000B2E73DF0B27B1BC4F9F10E25900879A08E +:10A23000153CBF44D203783EF2D149AEC216155E3A +:10A240001673FC75F07B26ECB43DDE5FA09BC76601 +:10A250002A3F3E4AEFD95992A6BDD05BCB84FC84FD +:10A260001D28C74BB9FCECCF66E7E097D9D9BA4BAC +:10A2700068DB87A837971F4F300112EF5E4A92477D +:10A28000D1FA39DB90F7F7D072C5EC92ADE04F50C0 +:10A290007EFDDD4A50660F27B2FBF1A6E617B37BC1 +:10A2A00007A6E13AAA14CE427D7BA3F6E2AED4E53E +:10A2B000966C0A474272C46BA7FD248CF818F7EF1E +:10A2C0004DCF2288C7849E7B3063C334F7E2A696C5 +:10A2D0005AB2C7E3FED8A813F651FE6F33A3F33189 +:10A2E00012007F6BDDC1E198F73A981D32413B7156 +:10A2F0005E961CE9C6FB3ACAC03FC9EB830F6C5F90 +:10A3000018809FF4FC0080831D1E882FCA006E3ABF +:10A310009F15C97DD317FFD17A99C581F772367021 +:10A320003A8B716F964F5D794CAF744B52A44D1AB6 +:10A33000183EB19FB847BE381F8B52E0497F7ECF91 +:10A34000C4F581299B9DDF3B981D44BC7E9EF3A7ED +:10A3500061460AC30AB12F7E80F93EFC3F9CEF8D17 +:10A36000D22194CDE9907063703D9DC5E6F78F864C +:10A37000CB2AE01A7D6370EDFF1FE22B40BADF7736 +:10A38000E40D0C17A5A715E849A675E3B9EF15CE9E +:10A390001B83EFB75F037CCE1B83EFCD2CB01D5129 +:10A3A00006DF02E237A6CB1C18D5791AFD391A71DF +:10A3B000BE660135DBE0D72698D8FA5AC21C89E57B +:10A3C00089FECEF3343D74F490A803F4E14133CB1D +:10A3D00033FABB87A9F7DDBDC7F173303BF007B097 +:10A3E000732B8671BD50A16DF7075D3B719F0639D8 +:10A3F000CBF677B7E40F6963FB8FD994ADD95EBC18 +:10A4000037F75296C4E37F71FF1C5B1FDC5AEC4D9B +:10A4100003FF2160B145656A1FB68EA8C987F59014 +:10A4200040FA7F9C61FBACA9DFAAA29380E352E3D0 +:10A4300031FB1063FF785823EF2FAEEF635DE51714 +:10A440009ED035B51D5FB3F797F621AABCCC28B8CE +:10A450008118E9D56D60F961BEEF26EDE6F0DE0CFE +:10A46000FB36C683FE0FA2FE17F6A2EED51F7BC1F8 +:10A470000E51BB4F609DA13B2901ED41D388927CD9 +:10A48000F53A506E8FDDD6DE8311B7D7FFB37B3040 +:10A49000E27E8C44C2A97DF5AFE073419780AD6F39 +:10A4A0007A88FDB5DF6F6CB79C1F0AF797E45BA154 +:10A4B0008C36FAB16C482D5D9A8DFB6BF93985604D +:10A4C000A7E5BC267F1BD5D43342C72CE735F9DB83 +:10A4D0002E4D5DECA735BAD87EDAC0380B9E3BCD49 +:10A4E000A93FA3E9A7D9C0EE591AD410D37C1F08FD +:10A4F000D8C20EF083C31F6BDAB76C647C9CD7DCC8 +:10A50000AD796E540204F6B30E6DBDAAE9E7969DCF +:10A51000C4AAAE0F8F58ACEAEF46EEB56BEAA3DAE9 +:10A52000D335ED8DF67C4D5DECF34EB6B07D3AA59E +:10A53000A450F3BE21B57229F81F2925ED1A387AE7 +:10A54000F6850FB0CF4699D48C794958D39C54D412 +:10A550007B7F78436A00FBD7F37FF8A1497C3D8974 +:10A56000C5D7821FC8387F3EBCEF8F2F367B02D500 +:10A57000D0DF8FF9BD259238079D4FBCFCFEBA3E57 +:10A58000CFD73C96CDFCC34F4C7DBF7F90BF37EA01 +:10A59000EE3389F32DBBCFE493A9E21E24EDFD73C6 +:10A5A000A27D13EF275566FBB306BA87CE783551E7 +:10A5B000730F5D7CBC647CFEC9E0EB8FF7D84D8FD8 +:10A5C00027F7333FD375EF6B6913F873F6FDFEE998 +:10A5D0001EFC6568E4BE0DE2014DFC928DEF8DBA64 +:10A5E0007B5FD4F10D3C1F28BEE9B907F06B8F6B80 +:10A5F00008DB277493FE7180F857C3FD3003F5FF25 +:10A600006E76C00F76E2EFB5BB09606333B09FB7DB +:10A6100040FF6D35B1F38C5483619E45C437441FB0 +:10A62000FFE4B3FD6FCBD2FF03FD8104C81950BB1B +:10A630009AF05D2BAE9BDC2DD94D80D7BB2CDDEF86 +:10A64000FDC80BF7ED47DFFB5F98E710714DA20CDB +:10A65000EB72370A674F9E85DFCB00796FB0DB6303 +:10A66000A68CC0F3358F42DC0630F073128F52187F +:10A6700032A8FE4831D8F01C548A89D5C7409E863E +:10A68000B6BB422E3B97A9F83E85AF87A41C502E3F +:10A69000A9F1FD2861F8D1AF8B7CD1F59704B09377 +:10A6A0009F676BD747AE9059BF1909F899C4F6B99F +:10A6B0008D7E655A9AFADE939EF52391EFE9277F06 +:10A6C0001CDF1FA3CDD388FCCC6D3799A7E9B94710 +:10A6D0004097A71928CF644C0BD97290BFB4792644 +:10A6E000D361D6AE7B37BB4753E49DC43C9D394C08 +:10A6F0007EFF941670C2F757B203A939B47EC2CA5E +:10A70000F23427664C4F81A97D41022910A7C27EF1 +:10A71000DF2C676F3E80BCCA6695FC9F70F4AD2F3E +:10A72000BC39CC0FB93B876039C713F0C1781F9B88 +:10A73000D8EF627C9CC0CB6496CF2DE869CFE02C2B +:10A74000E5E5C73CDFFBB19368EE6D16EDCAF8771F +:10A75000E71B2D96CD4355E33F61AE87F8CE9DC7ED +:10A76000CF6705187E3E7F85F9F52B5BCF99E01CFE +:10A77000D4EC9CD2BB011FD00EE6B1528999E05EA9 +:10A78000B6EFB84313E1799D9704F663BE2B669A42 +:10A790004BF1FC39F75B3E37B2BCD1E756560A782D +:10A7A00066E754DE0DF3FCFCB69809F7F588FAF875 +:10A7B00018CADFEC9C208EF7F9445DFD0E56277C0D +:10A7C000BF4680F31BDACD3EECA4DE2EEAEF255B1C +:10A7D00067E27947BD9EC84ED2E89165077E897CC5 +:10A7E0007B97856C8554D4DD07D24C105CD42487CC +:10A7F00087D935798FBF4F3F7C9ED385F36A29ED8A +:10A80000CE7D721CE631EC6D749CB50758DE7BADD5 +:10A81000985F87767E6B385D07BA974FEF670C2499 +:10A82000BFD201BE6F8D97E4E02FB3A0BF4907DF11 +:10A830004E8572AB548F7968D53EDB33AF517E9134 +:10A840000DDDA96AB915EB3D6F49315C97AB23ADBE +:10A8500048EFBA0E3AAF6428AD51C833934EEDBC01 +:10A8600056ABF75DD2EFEE23ED269F04F18431BEA7 +:10A870004E4CFFAF255DD8DFDA76ED73BDBD19888C +:10A880000FDEE7F227F8AA86E3A146E03DA2854F56 +:10A89000DC4B24EEFD9C49424F027F563A2C6179F5 +:10A8A0000CAC2B0596015CCB8917E9BA5C673FC5F8 +:10A8B0003D46F7D8E6211FDDD3AC873F600238570D +:10A8C000B55E7F5E827F0E72F837E478B15C9B30B4 +:10A8D000EB18CAC6B82E5C5FA2F0FD0CE44BC04773 +:10A8E0009400DE4F2EDA7F3ABEEBF9289D939C341C +:10A8F000CD02F6E1AED45007CC27E74CEC23093665 +:10A9000064DA02B8FEF459E7C577609F1D5E7E31B8 +:10A91000110688EDB895FE59D329DB212F50D3F9C4 +:10A9200006F26B7F78EB39974EBA055C87FA824B5B +:10A93000E4A3F5F2B33787E5672ABD8137E13BE34E +:10A94000E076BC27ABFB41762EDC25530BEB844530 +:10A95000C2B0942CC5EF7921FE8005F27D53CCEC7A +:10A960003E9AF7EC532D70EEDDE3300441FF6DB6F7 +:10A97000AF70C0F967710FB84732B07BFFC90A07E3 +:10A98000DC27B2CCCCEFADFC7662348FF2EBEB2659 +:10A99000763FA82B3184F71C743B641CBF74D1171D +:10A9A00063E15E82CC6BB622D8DFB62FC7AB3957D6 +:10A9B00030A5AC7B2CBBA793D1CD95C7EF63729B21 +:10A9C000B6DAA91DDB4CED0C942FF27982AE66EB62 +:10A9D00009113BDE09C7D721D65B187FD659038FF3 +:10A9E0004E857D02C7D9EF757D610FA4C07A80FEC8 +:10A9F0005E49E1CFF6776FF3FFE17AE41F752FA48C +:10AA0000C847D73914E252DDD72AE659C7EFABD190 +:10AA1000D35BBC7FED4BB94F7E48CF65F992FEE228 +:10AA20009D945C666FEAE09E6E953DAEA3F60BE0EA +:10AA3000AC837BBAAFE3EFBFC8F152077E7AAAFAC4 +:10AA400039939B783F2E7CFF133ECF9F1C3354B429 +:10AA5000F5016F492E9BCF08B71284F5909151767E +:10AA60001F667FEDC439EDFEE0EA981ABB0BE08665 +:10AA70007C6D5FE315E4B2762F827E80750167AC52 +:10AA80001AE5C11E7811E2FCCF5FB9C5A7BE5FB061 +:10AA90003587E1F3B319CC5E8B7B398B957A09F856 +:10AAA0004AD0637A6AF005D00F702F2FCBFB873521 +:10AAB00074003EF6A23FAE8DD704DC9BF97A9288F3 +:10AAC000D306BA07B50EEE29BF2EFE1576CF2A871C +:10AAD000A35CDE80FB252EB64AB8FFED2209356166 +:10AAE000FD1109F77D5E3CC1FC4688B0A562D0CF60 +:10AAF0004C1EAA9F9B9B1205A90FB1FDD5CBF7ACAD +:10AB0000C1FD4B50DF40F5C6F27476AE6BC5666D85 +:10AB10007CB3F211AD9E86756488DB6A4810ED53F4 +:10AB2000F5766DFB1AC2D65B6B74FB9E3CDCAEE81F +:10AB3000FDF655B9DC5F2F26C53773EEEA5112A832 +:10AB4000CD457D1B9441AF8EE7FB9E2FEEC94B5345 +:10AB5000FF9ECE619FA4396F7489CAF710FAFDE594 +:10AB6000463B968DB981F5D0CFA3B9A17FCA057FA9 +:10AB7000E538C79FD2CD7EAFA08AD933332423E9ED +:10AB80009FE62516F4C31F82FBBF281ECD666627ED +:10AB9000855F20CBDF9293E9FB891FAE74E03EFF17 +:10ABA00017A757C03E0EF78B8901C0774B69A010DD +:10ABB000F4684BA50DEF7DD86D60F7025ACCEC9E82 +:10ABC000A2C84F261E86B5F321ED8F4D85A5167BB5 +:10ABD0002C4A92BD9097DA88FB629A2713BCCF4D1E +:10ABE0008C57120BEE03B872E7D9FC00628B2F5022 +:10ABF0006857F54FB8DDAFE338FF51671EDECFFB76 +:10AC0000E703B7603982307E10E70A604CF06704D2 +:10AC1000BE2E37D2BAEA9CE68876296A4CC67BEE0D +:10AC200070FF45EDA6A86709D8A91F2BB83FC7F547 +:10AC30007AC6546F721C3EF19DB05F4B200E853575 +:10AC40001DEE9789730D4BAC249CA8DA8F53C5F980 +:10AC500076D1011657AD20FE5CF86EB185241B2815 +:10AC6000CE9694B58F477BB3C6E800BFF3A6F7A78F +:10AC70007079D2B7BB046730C0EEBD62C6F5A6BA24 +:10AC8000E793F03E9075866E1CFFA8D0BB22CF3DA7 +:10AC90008404603F53DDC15B703DCE0CF74D15A1C0 +:10ACA0007EB3005D8F823DA5F35EFD9A15EFB1EB9B +:10ACB000B9CFC54EC220B7EB0EA661BCECCA0B14CF +:10ACC0003E5000F787C47251EEA93E8394F7FBB95A +:10ACD000ABEF84FD307599D45FA175EB33DFBE1304 +:10ACE0007E57A46E70ACDA40EB85CF7C9FD547C40D +:10ACF0003E82FAADCFFC90D58B62D532AD2F78E68F +:10AD00000556870D6994B1EE79E66777C2F9954BE0 +:10AD10000EE13FC4F03E9FBA576F31B4A8E87EE71A +:10AD200020A62F2F5959BB4B3E768F37C98F697E8E +:10AD30000F60EC2003F77B98FF23E629BE23E97D13 +:10AD4000F7FF29B76FABF93D3C531249B395DD4B83 +:10AD50001E86FD5C470EDC82783991EBE4F88AE1CF +:10AD6000BE1BD18F9EBFC4B8F7F1DF35FA8CEF7BE5 +:10AD700012EFFFC6E946C7D98CE314040A61FF5BF2 +:10AD8000DD9CEC42A01BA597C2E9A5B0FB827733FE +:10AD9000F868BF0EF0F7ECDD63C1AE1CB9968DF715 +:10ADA0002D0AB8A95F6743FF8BC3AF0C62E3AC6E9B +:10ADB000E2F8A230CB08375BAF05FA82BD59C0F18B +:10ADC00076A7AA3DF6971DC3FB9D6F767E9E41FF39 +:10ADD00098F9A9E812807587239DC3912E0B7AE814 +:10ADE000FE98A69F4B1B75DF95105C8FAA73E6E15A +:10ADF000770FF17BE8C5BDC0F09D6F34F31F81FF75 +:10AE0000C5FD6A243008D7BD6AB97EE8B917AD9D83 +:10AE10009DD72043E8FC00AF73668DE3F3B3F3F9ED +:10AE2000D9D5F73DF7C8DDA9EEDC79AAFB9EC5F3BD +:10AE30001EBCF7F45750C4FBD3C86F5FFD01DDFBA8 +:10AE4000A347C5206677BE367A083875F8ECC1B3DB +:10AE50000E3E814F905BFCAE402B3F02CE5BB99C17 +:10AE6000F7925FDFDF391E5FD75BFB1D4A47D8FFD4 +:10AE7000EBD5F2F3DA0E9F017E774E7CD792DFA6F8 +:10AE8000FD3DA18EFBC390875877A012F79FAEFDC2 +:10AE9000F79FFE224CBFBFEFE57F4D2614DF1795CD +:10AEA000560FDCD354FBDC96E400E485947032E862 +:10AEB000CB8B11F63BAE7A7DFE14970BE10FD5716B +:10AEC000BB72E9270FCF067CFCE773463BD8CD75F4 +:10AED0007BCD5133C6EDABD12FA2F573ACFE10E69E +:10AEE00021D7756AFDA0FB5EF8578F17F9299C657D +:10AEF0004887329A456859B7C7E88F02BE4EC97E67 +:10AF00003A0C5947BAB7027CFAEF010EB852615DAC +:10AF1000BBBCDC94D2FB3DB54026F03FD6753C8CE3 +:10AF2000FED43ADDBEF09A7EFCA9470769F39F0282 +:10AF30002F24E2463FA6E9C72FFCEC550ADFC5DF08 +:10AF4000A715E2FD957B7E952CD1F797DBF3529602 +:10AF500063FCB649A37744F919F80166B53D65F479 +:10AF6000F4764A987B210758596B8C2643DC5CBBEE +:10AF7000DB88FE68ED4F9F7D1EF23EE47766BC479E +:10AF800061CD4F8FBEF30D5A5FB3CFE89AC5C0B6FF +:10AF9000499E385DD679993F22E870DFCF8FE27DF8 +:10AFA0005EF01CFC54418F35FB0E99C8A8DE782B4F +:10AFB0006B3F84F76BF6A24BFBB9DBF1FECD1FFFB5 +:10AFC000D504FC7CF1A044D27CBDBFAF79EE57C95B +:10AFD000D04ED0A5874EBDE8139DFDEA386C87F9A9 +:10AFE00081FEE8544FD518F2FDBFFF14F15EF37BEC +:10AFF000B31FE65DF3B36F2503FC17947AC6CF4FFA +:10B000006DF1C0F9B71A63187F47B2C6C89ED73C26 +:10B01000FD20F2D9BDC71FF4B0F35C810C4309CE0B +:10B020002F03E6B56AD77C9C573509219FD53C256F +:10B0300063DC7F85FF0E819E8E4E2FD34B17DACCBB +:10B04000F8FB2217604327852B7C82FDFE2921F720 +:10B0500013F53D1878036D71FCF7012FF6E80B62CC +:10B06000013F6D1D6FB56ECF43782FC3A59C401A6D +:10B07000E40D291EC21C5F129CEF928F97A731BA74 +:10B0800010AF52CCBF83F51C780EEDBB8C01EB6882 +:10B09000CD77FCDC311B5FE40528DC0990D7BCE0F0 +:10B0A000617961FAAF0BFD5BE6EB22DF80FF19F0FF +:10B0B00032B9EF91EB3DDB981C73B9FEE214938B30 +:10B0C000BA486505CA7B97319A06ED2287E649287A +:10B0D000EF66CDFD023D7CB0C7C8E555FB9EC2A51D +:10B0E000486A7C1E94F05C64F576339E6BFB6F7D42 +:10B0F000CC9D0F00800000001F8B080000000000A6 +:10B10000000BDD7C0D7854D5B5E83A73E62F6192DB +:10B110004CFE2008C433F98F8664F20701820C09C3 +:10B12000D1501398FC4083A20E8882909008B6A656 +:10B13000D57B331040E4D167DAD83E6CD16F40A59F +:10B14000F65EFB9A6AB47936D041B936DE224D01FB +:10B150001534F246F4A2D64002788B7EF55EEE5AA4 +:10B160006B9F9399332104BDDFFBBEBE862FAEECEF +:10B17000B3CFDE7BEDB5D65E7F7B1D01002EE36F86 +:10B1800073F7FF382F47230433F8B3807F2E3BE853 +:10B19000BF9B018A11C8CB633C3680D512FE3D0BA4 +:10B1A000FBE8675E10B60EE4571EB2AAE3F0374A1A +:10B1B000894A387323FE3113665E9611EE4E049869 +:10B1C0003C7A9C0601BC00F84AA3C9B7EFA709085E +:10B1D0004F5A9C5E05E12F4D6E5F0EC067CFBFF6E4 +:10B1E000F66D4508BB4C0955BC8ACB26CD00584F9F +:10B1F0007FE27BCDF8DB5A80EDEEFBAA201760CD15 +:10B200000BC5A04C17CF1F8EA3E78F9C97F1F96752 +:10B210003627003DEF319D0E84E05B8ECF0336C6AE +:10B22000638A2189A07F0A205C6F03A71FD75D7FF7 +:10B230005C762A442718DE66B78D1E4F787C81EB3A +:10B240003477C92BCC31A3FB0186CDEEE9A174364E +:10B250009E0E84D059A36B381D67101D2704E9F892 +:10B26000EF901333079B7FFEA775D77B7246D3F50C +:10B27000529BB3F2503AC0B936ECB3049F1FBD5E87 +:10B28000613E2A3DB8D024ECEB5521C07108A1A342 +:10B2900046BFF5CF3CCAF45AFBCF4DBC4EF37316F4 +:10B2A000BF05F15EEFABA9A47E6C7F20DA07EBA5AA +:10B2B000DC2BED574FC7F0FEAFAE07E6B7C677D32E +:10B2C00066F04621DF87F7CBBEBD88DA10E2B20D0B +:10B2D000E93EF4BCC3E745FA6C8D80BBDC88C790BF +:10B2E0007D383A0EE1D658D11E4E346F8398E0F384 +:10B2F000E10868E842FE0CB987A3636DC1FD17FD44 +:10B300004E8E56B01DF0416597ED4AF2D7CE7804C7 +:10B3100040F457C8B6E4565CFF42476A0192112ECA +:10B320005821B93581DAE9055EDEC526A6E7BF8179 +:10B33000FBED39846F64742EE1015E977132D2F3B4 +:10B340006EB15558F3467B3418B0DDBBAE0A905E43 +:10B35000AB76EAE970AFAD3EC68F7BBDF771535057 +:10B360001EF07735F8CC908AE377EB9FAF859D820E +:10B370002F61F2E321F9993C5A7EFE51939F7CC8DC +:10B38000E7730888CD44800D56C1EF0A39E73120B4 +:10B390003AF7C960A139E49C3FCEC17DFE3BB6655A +:10B3A00012786F22CBE53ACF278C8F26C79A9C0D57 +:10B3B000929C658E7DAE075F7A7FC643F84AE3CBE9 +:10B3C000EFE5FE0CE1E0CB27337E4BEDDFBC93FCD9 +:10B3D0001E8C7EBFFCC0977702AE3F74C0C2F80CD3 +:10B3E0001DF87DF243D47EC5E2247C87365B5C8405 +:10B3F000AFF740942F9DFAA721BF91EFEDFB2FE50A +:10B4000006E83CC016E6CB3F2966E6E785DEBF9E30 +:10B4100092886FBD1605904ECD07901838BEF995ED +:10B42000081FD0F8FD97667842E4E1BFBB9FF56640 +:10B43000F0B0FC4541C30B24AFB1E0A2FD34FF7670 +:10B44000D6D39B70FDA6EE83E6BBB1BFFC77FF9120 +:10B450004BFA66E8858366D247E74C81A70055D34F +:10B460004B4A658709E97D2E0A27BB0EA0C6F1A8C5 +:10B47000DB9B7325BA083A0C211D685F489735A4F9 +:10B4800027C7A2C7E1BF597A9CBF93D66FEC9D092D +:10B49000B223942E924B3C8FF25925DEBF787EE08A +:10B4A000522ED8C80E6CEAA77330DEBE3FFBBBDB62 +:10B4B000B7E4BF967D473ACC0CFFF6F62DE4BF43C8 +:10B4C00011F628FC1C8C96F3DF7C97DBFF3BCAC986 +:10B4D000F85EE3F9BFC1F177C6F71790EFD1E3F358 +:10B4E0007DE1DFECBEC7E3FB1B2ADFA3EC16D267CE +:10B4F000FBFF231942F63FDEBED7FC7FBAEF11FFF8 +:10B5000047765B5310BF9DE0EF57106E55FD90AD31 +:10B5100009E83CE07CDBA72A7B6589ED773FD96FA2 +:10B52000FE1BA7EC74483C7E2B182A892E72C25A47 +:10B53000F633E4841DEC27A0B9677CB62794EEDBD4 +:10B54000C1E3EF07F2F7BEA3FA0846C5E0B7E07B18 +:10B55000ED9B707D7CAF3DD1606F57F8F907F4DC4F +:10B5600042F34413FCD6A762DEC30DE4EF196D1855 +:10B570002784F819B6B0B821322DA48DBF11F0AAD6 +:10B58000DD887C88701AC127916B1A321EDFDFE8D4 +:10B59000B00BBD053EAFDDF68DE86225BA18C5DFFC +:10B5A000E00FA3CB08DD44F7B8743226ECE8A77DA2 +:10B5B0001BC1E855FD2CE9B2985B31CEA0E734649D +:10B5C00034DDD0B30AA7AF2B2257370FEF57A3FBB9 +:10B5D000083D557A7F5DBA86F3673C3AFF84E89C64 +:10B5E000389ACE41586AE7B82D02DF476275EE8778 +:10B5F0009F925F6BAA369B12709F4BDD9293C8B0EF +:10B6000014FACB26601B964BCE6779DFEEFE55D839 +:10B610007EBBA1336907B697608006050CFD0A4121 +:10B620007B5219E167923C3F2846FC6089C9F92C9E +:10B6300082F85EF8A99247E39D078D387EC9D2C98A +:10B640000534FE083D223DEF917CCF521C9A946553 +:10B6500024FED582907BFCA9EF433AD7A9FC0C3895 +:10B66000E218FFA551ABDEACC3FE45EDEE1637EE9A +:10B670006F8971F823D2074B4A274BED12E3B305CC +:10B68000F0D5D3AA7C2CA1C171849FDBD4C2F4581D +:10B69000603F83F4955C37C897275C2D5E35C219EF +:10B6A0008D0F72907E79E6E1818D88B7FD88ECDCA4 +:10B6B000ABD07E81FD72F80AC721BEB5EC6307E707 +:10B6C000A96E2DAC5A108FF1320939C5D9ABF66C81 +:10B6D0004D28E27D7AA3689F8D07B712DD47DA0F08 +:10B6E0007CA0EF7F58DAA66B6F71E8DB3BE76F0B4E +:10B6F0001D3FD67E6A2BF3250FFA9CF18F4B2EDF70 +:10B7000015E2230DBF3737C1328ABB20C1A5D490C3 +:10B710008F4A8B4DA67E03F78FA693A0CB32195A82 +:10B72000E8DC5697C10A1AAFF54F4A117C9844E3FA +:10B7300049FE08D959240E2E85E28CB1E63B2943F7 +:10B74000EB95E2B80C15CF93314A05E3691772F413 +:10B75000F6C2CC3D3B1C63EFFFED858E692938DFD7 +:10B76000D25E940694C7B2861526B22F4B57CD935E +:10B77000C8FE1CAD0E1808E6A520FE086FBBEC9CA9 +:10B780005C13B27EA98A7FE70F44FC193E7FB1DAD1 +:10B79000FFAE01D650FFBBD1CAB46539A1E3ADDC21 +:10B7A0005F9AA2303C1A25EC5C1E2A0E19CF4F7509 +:10B7B0008AA01BE420DDA707E9AEAD3B169D34B996 +:10B7C0005B0A42EEEE6C10FC25FC6B43F0FC964AE3 +:10B7D000B7CEAD62DDF0F91E50D7198BEE0FA87C05 +:10B7E000C4B899E9DD5925F9389E04978DE2E1D571 +:10B7F000EAB9ED44CEFA91C5756FC94EC41056979B +:10B80000AE663D0CBB455C6CC57F9753305CF51B49 +:10B81000C3F209FD469287BAB0B8B75A8D87ABC359 +:10B820009E87C7C177A5D88279944CC693F33A17FF +:10B830008ECB4E8AEFC7920B7B920CC6C260BC9B2C +:10B8400037DFE026FAFD71EEA55ADAE786EA14033F +:10B85000D99FCEAA0B712B7382740C9EEFD4AAB41D +:10B86000C260FBCD6A73838FF58C88C38FAA717811 +:10B87000676561C47C5B90CE9D9517E348DE46CE3C +:10B88000035CFD3C68EF8DADAF34FD84BA8DE85F9D +:10B8900069F16D4654EB9CCAFBEB44DB4EF9B6B242 +:10B8A000AA3DC924F71572CE93DFC7E76F56592812 +:10B8B0008D34A2C78E3DF17432E5519CCFADAE8080 +:10B8C0001C4A2B78B62692BEA9929C9CC790C04D6C +:10B8D000F271662AB07D8EF7C5EEF1E258B94A9C46 +:10B8E000C3F8DDB17B6E41FE3CA1EEB3BC4ABCD7D0 +:10B8F000D9A09797FB54BDBEBAF8E9236908D7567B +:10B90000AF2CA6F9F7D0F940FADE4772437CAFCAF4 +:10B91000DF4466684D43BE0429B44D577F4EC8F8D6 +:10B92000A5E0AC299482EFFF79D7D33F2172AEAE68 +:10B930005C51EC0F912B2DBFB9F6197DBE25BE4889 +:10B940009FAF59EDD3F72FC531B6385AE7EAF2F772 +:10B95000AB30F9D3D61B8B6F9ABC8DF8412AFD7B97 +:10B960004AE44AF283F3E25C1E77C8393CA5D2531D +:10B97000833DBD7F79771DD9CFDD1667BA42C638C2 +:10B9800076811D975AB6667E1199AB326BFE216A9D +:10B99000DFDE826DECEF4B31F1B83BEC1F54C4623B +:10B9A000FBAE24E975822B14C7CD7108DF53F5D2A5 +:10B9B000DD59F35FC7ED4295B3C6ECE13CD9CE0942 +:10B9C000B9748E701DF4B8495F790D71A3F7331FF8 +:10B9D0009D6F6308DDCAAD11600CA14F853D56D740 +:10B9E000BE2569B2EEFD858A43D77F6B56B6AEBFE2 +:10B9F000CA99AFEB9F982AFC9C23BB2FBDFB3DDC73 +:10BA0000E7915EB39D487884E89210A40BE2FB387E +:10BA1000E17B64D683C9F7205D3F4A31F2B88F4895 +:10BA2000968A83FAECED2A60F97C1B5A4E7D8FE4EE +:10BA3000B85AE8AFBA27334DE4078251E4FDEA4132 +:10BA40009CE77A55AFD5969AD8AFAB73EBE5A85A79 +:10BA5000CDFB555786E74D038709DFA525B29DFC31 +:10BA6000A07808D1830E9233A1EFC695B7272F5D3A +:10BA700047E7F43F53F4F9E35F49229FED45FD4B5F +:10BA8000FED758FA6244DF85C9D9C454215F1A44ED +:10BA90003D1143FA22CFAC7F4F832731BE32E23CC7 +:10BAA000EFB55919BEDF6667F87FDB92187ED0A626 +:10BAB00030FCB02D8BE1C4546147E25B919FF1C132 +:10BAC00079E2ABDCE6AB9D97703D772460E0737262 +:10BAD000E4A6EF443B6C6A5C80E3525263B9FFE337 +:10BAE000920F6D524E505E7B02A76D94E75E063E4C +:10BAF00013D9C9DBC16FA27CE71D10E0F65D808E13 +:10BB000034C215A030BC1B5C9C0FBD070220C9AA23 +:10BB1000BF7A1DC02F9EFEF10FBDB81EB2C8457A78 +:10BB2000105D89EDA1E761A54AB797525CCE54D26A +:10BB3000C7712DA7EA484FDE6402F2174992C82E5A +:10BB4000C4AB71CCC74FCE8C5879057BFC8F292BA9 +:10BB500067A71687D2C763A6F790BF0D6ABCC3F963 +:10BB600004536CD6DE50BF677EAAB04F871C2E17D9 +:10BB70008DFF05E574190F27FB351ABEA8E1A55AFC +:10BB8000D48BB7A5EAED599E19F525CE5FEDF49853 +:10BB9000ED08CB76E54704AE889F67516AA21E3F49 +:10BBA000A12F84BC8CC53F8DEF5F576E34F9F8B37D +:10BBB000C3753BEDCB68C0B81CD731C63524AD6426 +:10BBC0003FB09EF9BF5295AFB1E426B7E4C39D855F +:10BBD000149F14C94E52BFB93DFD36D20BC7280E73 +:10BBE000CA237BF8715921F2EB680F7A96C8AFA38C +:10BBF000B64015B53F9E25DB3763FB63497993CE8D +:10BC0000AF778F6C177191B3DF85ED7B2B630B766C +:10BC1000606BF15C13DBBB331EC75ECAFFEC56E9F9 +:10BC2000FB89EA1779D11FA1711F575F3AFE00F90E +:10BC3000514FC4C7492C07ABA367733BD52062584B +:10BC4000A789FDA15D32EB97E35537BFB50A82FAAC +:10BC5000EA8CAAAF34BDB45488139C016F22C57D11 +:10BC60004B557B58DFA0D73FB555FA764398FE89F0 +:10BC700027FD133D5A2F85EB9F1FA4EAF54EB8BF51 +:10BC8000F5892DE0673A554A4CA73A8C033D79E493 +:10BC90000FE49BCED8480E2496034D0FD555617CFA +:10BCA00058447045A115DF2FC77885F22875DD4E01 +:10BCB000D3BDB650395B61068A6376AD30D3FDDF04 +:10BCC0002187FB299243D39E7285F47467AFE063AA +:10BCD000DEEE77DEA5FD2FAE5EB96D32F1B31B054A +:10BCE0009EF8B97B6614F95DC77C1713202754DED4 +:10BCF0005BCC44B7B2DDE7AF23F90D3FEF40C6940C +:10BD0000E23C70275DD54F53DF1B4F7F79CB208BF3 +:10BD1000E2D14109FC12FAFF83F3279611BE83D3C7 +:10BD2000CC460133B85D2197BE6623BA9600DBDFAF +:10BD3000C1C92556D17F33DFD3FD31223A97F63B77 +:10BD4000771874F672DE17569DBD6C0C18F83E6FAE +:10BD50003EE8ED70B9556F872BEC8E303BADB7C325 +:10BD60008B02B60F483E06DF58CEF1FE42253FACAF +:10BD7000DFE02579BD356B966E9E1A10F7B78B11F3 +:10BD8000CE46B808E14D14F738E78F7A8FEE731777 +:10BD9000972CD4CDDB63862C928F6129D2B917E51D +:10BDA000B1C6EAD6EF0F037BA2E39658AB578EE1FC +:10BDB00036CCC6791A5BFFC27236A7F52BF6F3F3C1 +:10BDC000FD5DBA71857D3DBA759CFDF6720A7B0BEF +:10BDD0004E385F235814709753F832E39396D70880 +:10BDE000B65AC53DE0A508011F34C056CA433E28D7 +:10BDF0007BD690BDB864F06591FD889C72F3349257 +:10BE0000C79AD86D840EDC0A9ECF496FCDFADCD775 +:10BE10004EED795F75C9648FDA9F93BD9618E27312 +:10BE2000D5843729AFD925B13FDE6833701CF75967 +:10BE30005C57EEC610F9FFECBBE25E14925C492B36 +:10BE400012284F96C6F9147779944B46FA34BD9C64 +:10BE5000C9F9B23733E61BD350CEE4A80556615773 +:10BE60008DC323FE440AF5BB1E9E46F9B87299F5B0 +:10BE700009DC62E23C4CA4419928EE01857D31DF6A +:10BE800062E2B87A739AD0AB917F004542798B8C8D +:10BE9000F7C8D3691C3294CEF7C8F92C0117D9E53D +:10BEA000A969225FC089347CAF26F1F8F39477DB6F +:10BEB0009C16C5F3CC28711E3491636F37DA490F95 +:10BEC000479F70DBA7239EDD091F79691FDD27FAD5 +:10BED000E7D279DD9CA688FC41956BE37C5A6FBB69 +:10BEE00009C8AFEBB62F9840EF43568681F2711B1D +:10BEF000280F80CFA3972BEF507E06FAF03DDA850E +:10BF0000D1B58ED6DF71C38042EB479F009788CFB3 +:10BF10000249EE28B22F388C086E0C24DD1135FA58 +:10BF2000BC7EB8B33842C1FD74BA9C114E821D4824 +:10BF3000AFD94C1F0A7BE07F4A424F00241F5D802F +:10BF4000F33E47BEA2E8F703D27B8759EB0788C8C8 +:10BF5000E2F858ED4FAE5D90C3F906ADDF0B254812 +:10BF60005759EBBFBE96E60BCE2FE6D3E6BF292D81 +:10BF7000F9E8F61CA28FF083C1684FA4FDC0579763 +:10BF800025F22F1E50E3CE48D9994DFC8C37382727 +:10BF900013BC3ECE5391867CB11B940C92D3F818FF +:10BFA000D7A4B912DBED7DBB48CF2C30B1FE6ECEED +:10BFB000DAC9F76FDD66E7A7CF24D03D3C9E3B7C16 +:10BFC000DE6D744D2840BC9AED7FE1F3A4D9FB4EA1 +:10BFD000C3089E2E0CF1A13388B78BCE577C902ED0 +:10BFE000AE34ECDF1142272BB657AAEDD6676EAC04 +:10BFF000DD42FC5965E5F879A37A5677C441878C10 +:10C000007277316BF652B2AF1777A29DC535BAA9D8 +:10C0100093EC4C52A4EF595A33C19D4579AB23FDA3 +:10C02000C23FEC42FEBA68434A866EBE8BA51FDB58 +:10C03000A6D33C25C21BBA3B600685F48311FC16CF +:10C04000D423DD252BDB5313480E9538A2E3099A40 +:10C0500007E3BAF7335CEBD2388FAAE511BFFFB51F +:10C06000F288CDAA5E6A2ED994C375160B24B6EF5A +:10C0700003E942CE9B5B3F67BA82D1E3247E36B6AA +:10C080005E64FDA5B5073789F3DF6182BB6A1036B0 +:10C09000FEA77C17E5A950DF6D27FDD708AF9A37BB +:10C0A00084F85FD0757E44DFE519C6F7CF567AAACB +:10C0B00078BD1AC9BE84726BFF92BEA9D688F6AC51 +:10C0C00026C2BE44C2F68F9E6D14ED69F625066C3D +:10C0D000FF32ED5F457BB2FDC70627EA95674F8BC0 +:10C0E000B6C3FE16B55F7F466D4709FE763E3350F8 +:10C0F000EB653FD1C6F9F80B95113ECB55F276753D +:10C10000ADBFD5C509A3FA6549E8C306A167CE2E20 +:10C110009CCCFA0AD25CF906D287B5530BE8DC3F17 +:10C12000ABEAAF8948FB12FCFD173C9756A4575366 +:10C1300046FF9DD1A9E4673C7A5E8AA6F50EF07AA7 +:10C140008D545D84CFDFCFF2FC33F1FBA81438456A +:10C15000E7A5A9FA5806E9F5FA0CF5DCD987D388E2 +:10C160002FCBC0C371C432356E33A07092DF546FD1 +:10C170004BE3F831DC0FAB033FC719E1FE1884C66F +:10C180007D32D509F4DF69463C4C2A1D9AE21CE950 +:10C19000340EF13A40E7F8A8847862DB94D03F513E +:10C1A000F8DFCF2B129DE32C2BDFAF46DE7022D7BA +:10C1B00073057E77B5A11DC423F4425B0FC3FC0C4D +:10C1C000607D3DC918303B719EF5AA9EAC901B590D +:10C1D000CF5FE87140681EED844ACF981E916F448E +:10C1E000BA3A89AE09A9E037205F137EF3C6F3940B +:10C1F0008F3FA1EA7B8D8FF3264057445C90DEC8C9 +:10C200000727F141A33BD2B390EE090E7D75B89498 +:10C21000F858AFE2D51D29CEF9F04B113EB2FFE13F +:10C22000789E4BD3F2937A7CA5F46BC3534ABF3606 +:10C230003C25F59C8E85AF765E353A69E715543D11 +:10C24000B5ACC1B17787146CD75639387ED3F01CA2 +:10C250002D3FCF2857929FF1E466205DB30B426FCC +:10C260006874D4F0D3F44037DDB7E9F08BDDA3C7B1 +:10C270002F96CF5374EBFFE1717294919FD767258E +:10C28000EDA1F826BAFF345D62C1B4F4145E2FBA92 +:10C29000EB5320BF3ABAB597DF1FB59FB07D68FA60 +:10C2A000307C3F9A7E1CBD2F554FAA7A53D397738B +:10C2B0002992A1F1A48B25F27F3D3ABF6E3EDC1797 +:10C2C000E6F7DE1F969FFA9EEEFD5B9236E9FA17BF +:10C2D0002A8FEAFA6FCDFAA1AE5DED7C42F7FEE25D +:10C2E000923DBAFE1AEB73BA7669A09FFDCA236D20 +:10C2F000951CDFDEF4C930FB977E350E7E558D83AD +:10C300000F511C8CE7F3758A8311F6B539F9F9BF23 +:10C31000B695303CDCE662D8DFE666187EAE17BD27 +:10C32000F86D23F9E925FD1DECD74E49F5AC4D47D5 +:10C3300039586CF0B547213F660E083F1492841FB0 +:10C34000A5D9C7AD0767FD91FCA8F8C3324428639F +:10C35000EBDFE82F647085C87B7455005C280FD133 +:10C36000941FC1791719618B05F95B6333FA2711A3 +:10C37000BFD2855F48EA9AEE0F1BACC0F78E0D0D59 +:10C3800092B31DF8B997EEEB10FA3D058C8ADB3AB3 +:10C3900051BDC7C31F8B11BC349FEC92E126B2DCA8 +:10C3A00009F14608C9CB2DC1B5AFC771B7D9BA38A5 +:10C3B000BFB3AC6F73D30A7C0E5BBCC5EC1F697650 +:10C3C000DBFBAEE1F28D5FC36E933349F7CD92880C +:10C3D000F7BDB146CEAF85DBD38A7491FF59D4EE59 +:10C3E00095A3295EF913F03DE162D5AE223DB65B1F +:10C3F000E282E75093FF1ABBD19F194D76E787E59C +:10C4000034AEF1B8C2F408F713B47846937BD4F78E +:10C41000EDF4FE8513C07EDBCC415FA013D72B1952 +:10C42000EE28A73863F6175DAF111C2FEED1F0EFA1 +:10C430006D6B60B939D0E661E86F5BA3CA630BB777 +:10C440000FB5B572FBF5362FC3BEB6EDAA3C7670BC +:10C45000FFE1B65DDC3ED2E653E5F2397E3E40F4C4 +:10C4600043BEFF385DD40180753EDF778051C0A0A8 +:10C470003C285EB88A3C342609FD1C2E1763C9018E +:10C48000804FA1FB90DBD01E921EBB1DBCD3A96EBA +:10C49000A3617587698EF4CDE5A1DEF6B889EE2338 +:10C4A000C2F5DB525058EE46DB7B8FF35AECBDA64B +:10C4B000DF648CCBC84E59E4FB9D9427F8FAFE85C7 +:10C4C000A785F0187F3DC1175312FADE71944F7C97 +:10C4D0007B1FE5ADCF16BBFA5CD215E81016473EC0 +:10C4E0003C0D54BBF5F5F0D3F25BE3E1F79B0CD7C1 +:10C4F00049D2579A3D8BE4338FF03A1BD70D9B2DD1 +:10C500003EDF668AF77E1BC1E7116CAEE49A90FCB1 +:10C51000CC6955DFDC19EF3A9DCEF9FEC17D3FA312 +:10C52000F3D23D81F329E1F1D2E7FDE59342FDA588 +:10C53000707DDA6CBFC8E76E949D970C6CE79B0D1D +:10C54000E0A13AA1020B5825C4B535A3EC7C3AFB17 +:10C5500025A5FD2E5AD76EBCEA7D6473EB799E7FCC +:10C56000CC7E83A8476ADE5F6C5F199217C8CF90B4 +:10C57000D4FA0EA3FD8C3548BF6B95E7B9C30D3ACD +:10C58000FDF037673F5DBFD0F52F42B343F45DEC5C +:10C5900059C87CB88D22A2AF95D77779081E7278DA +:10C5A000323348FE29DB88FD675FFE6B1AF9D167DD +:10C5B0006F9A659F0FA3F5E1B5EA3F4DEF697A7079 +:10C5C0009B19D674E9F23609F994B7D1F8312B43A7 +:10C5D0005F5F117ECE86F2916188EFD04BA2DE6D57 +:10C5E000282AD22721CB5DBDBF3F41F545E0D4DBF2 +:10C5F0006F97D5C675A485CB9D6CC701ED38A9167C +:10C60000DCE960E8BC1546110781D1997547C8B9C6 +:10C610006957EB189E43F86BC43B6679C0A8849CAD +:10C620008B9A0C61E7E62F5B0064FF16D9D578C1C1 +:10C630000A09E437C357177396A0BD5D44FE01CACB +:10C64000736BBCAB96E8EC7DA43496EB8F28477AED +:10C650007D50EF54C855492BE87C2418F95C6AFAE0 +:10C66000A4DEF6915936507D8B93F91A4E1780C08F +:10C67000EB9D38CED523D929FF1E7E5E5D3D074F49 +:10C6800090FF3E9E1F3A9E1E0AD7131A7DC3E9D91A +:10C690001AEF6EC9480CEA91F0FD6AF9DF2608B07E +:10C6A0003CEE98BAD74DFB7A4A52C43D3074B8A6D6 +:10C6B000205FD7F7DC0F34BE401675A3C30B45DCF3 +:10C6C000137E8EB7A872D3A8EA858278B026113F70 +:10C6D0003DC07A72686136C71B3FCB8813761786D8 +:10C6E000336A43EA1235FF6550FDFEA2AE27C24B06 +:10C6F000F95D6DFEC73262795C9DF5739DBE5BDFAF +:10C70000FAA54E4FADCF1179BF8276A5F07E841B7E +:10C71000D5FBB81793DD3F227AACEDFAE1CB871554 +:10C720005A6FF777DF253EF7D984FE3D9CC8B419D0 +:10C7300092F4753575D6F3AA9DDFA3BBCF3956FDAC +:10C740000EC7B375DD13BC447F0D2F2D0ED6F472CA +:10C75000D3814F4F917D1E94CE9F7A88E8F79285C2 +:10C76000FDB046C23B9EE3E79F933CBED06760FAB4 +:10C77000362DB4F07D0D1895E9B55141BA0C7D7A8E +:10C78000E57A1F0D3F6D3D0DAF4149E423B4F7BA83 +:10C7900055FE9C57EDD73153FF39E2CBD9976F94B3 +:10C7A000288138F23CB63F37D616E4CBFF2B7FE822 +:10C7B00036107EF109C3A6EF98915E835D9D26CE6B +:10C7C0000F7F433F48C3B73D0A7C341FB840B14F89 +:10C7D000E4D49CA8E3C34D1A27527C26DA92EDF5E7 +:10C7E0002F495FCD5521078BD85FAAA2BD4D6A01A5 +:10C7F000C2CF0A1D0C77484E85E03CC96D14C59D1B +:10C800003EA6E7CDD032959EDF647526190D740FD4 +:10C8100028F2834B62B72F62364E846D742F6234D8 +:10C820007B4D1349FFD5C6A8758C824E5A5DE11A1F +:10C83000FC2D45BA18634131E2FB6BD03F37217DB7 +:10C84000EB572FFB410EBD6F2F653A6A7589348E09 +:10C85000E8B8F4704B35F935DF3EF8A3232E7CFEA3 +:10C86000695CC70CC2E7CFFD7B737F89EFAC3DD617 +:10C87000CBDF0535FAFB6F26F2AE8761B63B1AFDBA +:10C8800097433FC33B6198A107ECDCBF129C0C5758 +:10C89000819BE1BDD0C2F064F54F9AF6905E5CBC1E +:10C8A000DDF43904E9B02E76CB0C5AC75EB62B9D69 +:10C8B000F58D7AAF147E4F51136BE37B11EC177536 +:10C8C00097A7227CED0EBE97B06426D2FD85EB0EB5 +:10C8D00041DF963CF2CB8662CD20D1775789428FDB +:10C8E00078CF02E757874CEAF8F30AB78BCA0BD820 +:10C8F000AF814B0AFB5F73D47B434DCF16DD28EA33 +:10C9000078E1B2787FEEB0BEEEAB88929234FEAFA3 +:10C910000ADF3FCCFB22BC2E4CAF877F9C29EC4E1C +:10C9200051BCA125346FD19E3451E4FDD4B645B13C +:10C93000731EE3A64C71FE86A20D2C1FF8536F9D4B +:10C9400041780A7ECEE9FD832A8718504E0C7E2757 +:10C9500037C7E83F48CFD7AB7A1EB530DBA9529234 +:10C960004BA2538F5EEF43D28D7CAF3F5B45418B33 +:10C9700053259C6B791CC971BFCCF20AC30C5D6056 +:10C98000677B5E064E860BC0CD10E59A612574303C +:10C99000FC167431AC827E867083D35980EB1BAC5D +:10C9A0007E599CDB87ED7C0FBB70B581F2D045DFF3 +:10C9B000167598E3D1C5A3D2717CBAE0019E712DA2 +:10C9C00074F108FCC2E932358BCF8F46178D1E11EA +:10C9D000E04B223ACE85804C701E08FF663E1E4317 +:10C9E0006A97838BDB15E3D2C3DF4EF76F25018F88 +:10C9F00091F318E1F428177212AEC7EE53F76F20C7 +:10CA00005C13837A6767A6C2F2A2E91F3C677CDFEA +:10CA10001BAE97B4E74513CA2E2AA8C2FF21F3958F +:10CA20003A23DABBA2C2B28D549AB4F5E707457B2C +:10CA30004ED98B29D87E24F3B53ACA8317E59515CC +:10CA40009A9C009BA443750BB0FF1133D282E33C48 +:10CA5000C726CA235A1E02D6F3568B782EA78A38C9 +:10CA600010DFF3461404F1B35884DF96B35CD92881 +:10CA7000219D17267B36D139D6E6036B06D7A94F01 +:10CA800051FD959D996ADC9DE02824BCF724BB7775 +:10CA900066D2B98812F7A53B33051DC682DD99AE73 +:10CAA0001DF47EF8F3A17FC30571FC93999E0E5A85 +:10CAB000BF79C257196477CFE51FDB167004E543D1 +:10CAC00042222D477CDB5DAA9DD0EAD0C92F22BF30 +:10CAD000F61E3317A714B93DEDA462662E1F66BD7E +:10CAE00086F3FE8CD66D360792F371DCE375A7CC26 +:10CAF00082CF53059F55BDB0FFC01B0F4D114D3761 +:10CB000084C871F3812FFFF21ED2B5F982CD49AFEF +:10CB10000F458BFDCEE97D6223D7A5824D776E351B +:10CB2000B99FDD63E1EF71E6F466DF43EFCD3D369B +:10CB3000904AFB9A371068A734D2D0FE77A6083CFB +:10CB4000B47BA04BD237B19B5ADDC486B744DDC459 +:10CB500006329CD4FEB5C4F16D539F89EFED3F566C +:10CB6000F5B9563FB946DDDF59B22B327D477A37EA +:10CB7000D77B804FF8B10AFEA3F337F3845E9F366C +:10CB80007585E75F45BD59F8F7CAE1F51E7FC854C2 +:10CB9000EB3DA6C134C65FAD6F1C6BBF5A5DC7636A +:10CBA000E03A9AC97EA75B26B92B368ABC6085FC21 +:10CBB000B0D34EFB9C965320EA4245BDECEA08B147 +:10CBC000AF571DA26E66C3933250FDC386FD66FE4D +:10CBD0000E720FCA4409F9B7594FB1DFB05AC551A7 +:10CBE0003B27F76D97F81E0F76C7B36CE5EDB3B82A +:10CBF000887F79FB26B9883E7966E1E7EED967D967 +:10CC00004EEDF6AD915ED27FBF8A1DBE8EBE2F6EF9 +:10CC10008F50EBB2711DBA4FCB4B194E217B2A6559 +:10CC2000093BD2AEDA53ED3E51BB77DE1095318928 +:10CC3000F2E023FD01A3EE3BDC76D5BF2D22FCC83C +:10CC40005F6B31897BEB0881FFC13F2D9D40FEE684 +:10CC50004B46F704AA43B9703C2506AE724F57EC19 +:10CC600047265C254F50747C277FDF52B4CB28E8E1 +:10CC7000A1CADB2B6D2EF8D014A4B7867F85FC7C6F +:10CC8000B999EEE356819DE5F08DA7DBADD8DEF0D6 +:10CC90002857D823AA5931643F8AFB64FEEE647694 +:10CCA0009FA84B7A05DC317E6C5B920CA084C84B4C +:10CCB0008412094A48FC3E212B4ED78E725EA77B18 +:10CCC0003FA62445D7DFADD6B568F5BE9AFF18EB71 +:10CCD000BA41376E6EFFBD5C87195F59A07B0E9F0E +:10CCE0000BB92FC17F224E6C91E95CCD0900FCD4B9 +:10CCF00041DFCD3893488FCF1ED49F0F8B5AFF54FE +:10CD000012E80092EF88E3465D3DB0C576337F8739 +:10CD10006319A73E2A3F4B3D2F5361AAEEBBEC118E +:10CD20007AEBEBA56640DAFF2A2D22FA9AC087FD3E +:10CD3000176804F54F059F3784DEDAB97A05BAD84B +:10CD40006E26BAF5749FD4A0A7FB648F9EEE53D6CF +:10CD5000E8E93EAD454FF7EB5BF5F47578F5744DBA +:10CD6000DD3E5BF77E7A4799AE9DB9EB5BBAF7B3D0 +:10CD70007DB5BAF68DCFDDA67B7F7AD74A5D7F5E23 +:10CD8000CFDA6B92837CFF06DD7B9A1C14F67DFF65 +:10CD90008A72E0C57FAC0F41D4C79620DD29CF3918 +:10CDA00016FFDBA50E8896BE39FFEFCF52FFFF18A6 +:10CDB0001AFFAF515FDE437615F5CCA23E5147B561 +:10CDC000C866E57A2B94972CF20F2E40A493EECBF5 +:10CDD00035FBEE56F5CB629B91EDC4A20942FF688C +:10CDE0007556E1F19864EBFB92F2218B4BA4B0FCF9 +:10CDF0009ABE5E7BBCFB82E27EBFAE9D7F1C64B2AE +:10CE00008BC51F29ED51B84EE180B87F088FFF8A8E +:10CE1000029E7632BB3307D10C2B14070A7CB47BFD +:10CE20008AF0B8051EDFCBFB34ABE7263C5E7CD036 +:10CE300080FE442AD75FB13F79C9302A7E4C32B296 +:10CE40001FE961BFF2B1699E67B3500FFE7E24AE49 +:10CE50000CB40BE27401DD0F0DD1DFEC0C34D4BB4C +:10CE600072F87B4FAE63392A2DA9A7EFF45107DA88 +:10CE70000333447A857E7AB33CBFA2F94E4B228EAF +:10CE80005B51F2E1532F229EBFCE127C9CB4BC8B2F +:10CE9000F338ADF1AE17B28AC7AFBFD0F2565A1E03 +:10CEA000ABBBCDCF70428E93FDFDF07C52C020F223 +:10CEB00003DEEF8BEFF43E23A46605EB442F6C37C3 +:10CEC000717D05A871EF1D2A1FB4FCC072751FA7E4 +:10CED000718A35683FEFE8F93DF3635DD2A09A5758 +:10CEE00068715249E3DD536D5C4701AE42A7C81F2C +:10CEF00069F98229F2D7F17BC6DBFFBAA44F7579B5 +:10CF000026783EFE9AEA2983FB16F39F5E28ECFE04 +:10CF1000E98553B84E3138FF39CE5BDDD1F2279D1C +:10CF20007CDFD57A5227CF2BBC1FE8FA0309C32632 +:10CF3000CACB052AB31790DF807C3F477C0FBC3CEF +:10CF4000F9E6DB919E675FB2CCB896FAE775499F28 +:10CF5000F1FA036DFDCC576D7FA7DA4E703BD0160A +:10CF60006018BE3F2DAED7A0F955607DA0D5438E89 +:10CF7000AE4B7471BDCAF6EC14F55E8065171EDC0D +:10CF80006852EFF73DBB280F7D69E9847CCA9B0E90 +:10CF9000A8F5A7036AFDE9805A7F3AA0D69B0EA8A0 +:10CFA000F5A64326DB76CA0B0C4822FFDE34CD13F0 +:10CFB000934DFEF9DAE15C3A67CD79813BA95EBE1B +:10CFC00076A2272E1BD795D0AD9FCC1556DE0CF23E +:10CFD000FF3E317873A98EA8FA17FBEA293EFA249E +:10CFE000D27B8E3C8C8AECBDF5141F7D6216E76FF8 +:10CFF00049F6CE7AAA137ACB2003D57D7A5F914485 +:10D000007D972D60A6FB9DEF257A92697EAA83A26B +:10D01000BA767A4E72A9E511874CC28F1B52FDB9C0 +:10D02000F46C713F921106E76583F84E548515F252 +:10D03000CE0CFEBE9CBE8B72F0FA2EAA13F11EB06F +:10D04000707E22BC7EA8E07716BF1492872CC9762A +:10D05000F0B94F4815DF8927DC1AE1A3FA1208F46A +:10D0600027530DD408BEC7457DE559CACFD2F9A4D0 +:10D07000E2EE90FAA5926C119F36BD71FA14C5418B +:10D08000EF67794AB3138379CEA6E8839C175A9445 +:10D09000ADF07A8827E7EB2D326C61BE5803661A33 +:10D0A000375E7E79AC7D9FBDA7FF27390EAA3F5220 +:10D0B000D269BCB62EE2B188F0D0F6ABE1119CE7A4 +:10D0C000EAF2AFE54DB5F6B1EA4732E8DC14501D9F +:10D0D000D715ECE32A950E032608ABF352E9065A5E +:10D0E0009D570EEBA7B6EC2BD779DDAFD2A900ED9B +:10D0F0002BE5C72D9168DB0B82F3E2FB1EBAE758E4 +:10D10000DEE278F170027D27369DD22C237868F319 +:10D11000BE98EC5A971D724F83F226FE7F150B23A3 +:10D12000583E9A0E9C3C45FF3F81FB7E3EBD90E8F9 +:10D13000AB8D0BA72FD2751AD1F3A8C16F56EBCCCC +:10D140005A89AE2FF41DE53A2E8DBEDF949E43D34F +:10D15000FA392E1CDAF36532DDDB34A9F7444DDAF7 +:10D16000BD45B73E4F83F4F052DE60F47D05F0BD5F +:10D170008745B51B166DFC54A36E7C4DB4FB31A2E4 +:10D18000CBCBAA7EC0F77D06351F4C7666241FAC3C +:10D19000DAA16255254927441EB89820390639314D +:10D1A0006C978AB4F5102FE2DF36C9CBF65CCB1B47 +:10D1B000B5ABF65BBE7B23E7D34AA083A14576B02F +:10D1C0003DB4BC27F22823F9A0475FE7F8FCBF0075 +:10D1D00074C42079104D0000000000000000000021 +:10D1E0001F8B080000000000000BFB51CFC0F003B4 +:10D1F000096771A2F2CFA3F179D0F81B3850F9FF7B +:10D20000D950F993D0E4D1F11A26FCF284B0253339 +:10D2100003830310BB03B11F337EB56544D8F540CB +:10D220001242B702E99D40FC10889B0519189A84A8 +:10D230001918AE02E9C98294B9171D57F353D7BC28 +:10D24000514C1A6E9243E5D76832302CD762607821 +:10D25000A70DE15721C933EB3030D46A42D8BB95D2 +:10D260001918DA806A8AE4B09BBB0728DF0E94178E +:10D27000D681F00161AA21036803000000000000CC +:10D280001F8B080000000000000BCD7D0D7C14D525 +:10D29000B5F89DD999DDD9CD663349366103214C66 +:10D2A0004280800136218180513721D0A051C3872F +:10D2B0008A08BA41ACA8A011A9C696360B492044E9 +:10D2C000D040FD00AAB87C88D4A76DB4A8BCB6EA4B +:10D2D000225883A51A1595BE6A1BA81FAD4F7DD194 +:10D2E000D68FFFAB7DFCCF39F74E7666F385AFAFB7 +:10D2F000FFFF8BBFF672E7CEBDF7DC73CFF73D774C +:10D30000D6254F61EC3CC64EE31F94AF4B8CB1D297 +:10D3100078C9B4E042E6676CB9EE34DA7219BBC181 +:10D3200011EC344AE0F93039F89081CFC756311FFB +:10D33000630E7C3F8BB142FC3FE8D7E4958331EC30 +:10D34000F786A3CC61C4C74F2C972B8CE9C550B28C +:10D350004D5D0E188745D59E6E8DD1DFE93CC61A0E +:10D36000DEFE74E211B30EFF0BB064FFFB67C13F3A +:10D37000A6B169A71D8C7DE69D971263038FFF619F +:10D3800023CB51C630F66563CFC42363FAB6DFE022 +:10D3900060F51D855032F6AE2B0DD71B715E3E91A8 +:10D3A000B1290C26CD80BA1716313DBECE1BF64BE7 +:10D3B000394A411C9EE55EF9A4AB1FB8198BD8FA17 +:10D3C000C3F8311C3FB1FF80FD14F86F2A63D40409 +:10D3D000F8DB2985CBF0B9CBBF34321C1EDDF068F9 +:10D3E000050B17C6C747B86B27C6E719105EFF992C +:10D3F000C13B103ECDF73EF3AE5BCFA05F93CAE9D1 +:10D40000A139430EAE637DE9C1C47F93775D66D8D1 +:10D410003B30FE810E0C1DF1EFF072BA79B3A90C0E +:10D42000B697DDCCDC444F7DE018824E96209D24DB +:10D43000FDF3E9A4E17F1F9D7C1FF1F5BF854E1828 +:10D440006BE7728419CEDA646BBD9EF1BAF99EA5C2 +:10D45000CC0432E05332877FFDA78E49587A2228C8 +:10D460001F1C7EE5FD6ECB3E9BFD54270BE3FE3477 +:10D47000314E77F407202A81E01E945B7B9993DE7E +:10D4800053FC1A8DA3E8F58417C0D75E9AB7C68EF1 +:10D4900047C642049F9A5990C2F197D6EF7A7736E1 +:10D4A000D64F52544B5D650B110E401CAD53FD2EF3 +:10D4B0008BA603FCECEBF9C6BC89038F938837E09D +:10D4C000AB1361E0AB488633F8108BF353E2BA9E9E +:10D4D000EB5D97338278B2ACEBB9C1D6D5943C36CC +:10D4E000C54A17897034E3BAC6C4D7D1FB1CD7E745 +:10D4F0003DF3FD1FA8BD590D05EA60884872FFEB9A +:10D5000053717DF0ECDFC4FA54AF93F60DD6F56F8E +:10D51000FDAD4B61F52129B7EFBA145D23BC98F33B +:10D520002ADAAD93942971F83E603A1FBF77FE2046 +:10D5300043FE70E88CFA1D63E10F70FD40875D4487 +:10D5400087DE10E1D71980012663195A18017C364D +:10D550001F9ACE0A2792F8622BA0747AC3AC06DE1B +:10D560006BFEBB83D383BF84C637E138C5641B7EA3 +:10D570004C785C08473F78DD67E23D61FFF76D9FBF +:10D580001DB81AC797389E12F1D24B975298491975 +:10D5900071FA30E960DF7681AF6CBF0D3EB374691C +:10D5A000B7087CD9E960C3C8A9061F0706CA44BDED +:10D5B000CCFF2618EDEB24983749AC639BBFFAF2F9 +:10D5C0003AF8E73DFE003DD764639D07DA4E6AE115 +:10D5D00034C9325E20CC641C6F8358E72CC70AF72D +:10D5E00029A8DFBB302F6529D4A74952BFF4B4A3C3 +:10D5F00011D604FCD7D2A851F9E53BE3683D03D12D +:10D60000DDC6C6EE89567EDDB85CA98EC2FB1BF373 +:10D61000776F990D2868F1E71793EC09481C8F1272 +:10D620005FD778313FE0713CC2ED5C3E9BA1FE5379 +:10D63000FD1C9F1342F5211DCAF1AC3E26C1560FB9 +:10D64000DBCF823183F7552CF8092C9023AE49B4F7 +:10D65000FE62DC8FBCECF6E7011C96BB98C94E233A +:10D66000BEFE7B17CAB4CFAB968CDD8DBC61C2FB0E +:10D670001D89D30D2BE4FBC5946000F77120FEDB00 +:10D6800006F829243EEE9090AE47845914E978AB11 +:10D6900078FE19ABADC4F58C5811E6F8974CF90536 +:10D6A00010C3FA9B05DCDB967A089EE62C7D17C238 +:10D6B0007311C281723C0478CAEC97DE2EEA8FDEC9 +:10D6C0004684EB230ABC77911C9E87ED8E9A502AE4 +:10D6D000E231438AC59C40CFADE6FC11D685F367A5 +:10D6E00009FC9B749F1E347623DD5F8DFB01F3677D +:10D6F000D5AEBF5906B9E07D7BCE9F518F056A95A7 +:10D7000008EAADACEEBA1A06EBCC0E765438193DE9 +:10D710003F89784FF6B623A7B0F405BC7EAE1CBE99 +:10D720001AE148CB8EB159B4EA20F1E07D6A3DC3DD +:10D73000FD7495C742B5B01F3BAE9BCAEA2C74B5C9 +:10D740005AACDF91CD42516F7C9FB739381EEE59EC +:10D75000B0CE7DAD17DFF3D03E4C602521DD8BF4DC +:10D76000118C31A00F17D207233AB805E737C2C68C +:10D77000F3D86F7CB6FE3CF209D0FD30C41BC091DB +:10D7800085FDEEBBCEB990E689B0E388EF7459E031 +:10D79000C480FF004F2E512F97549A4FCBE4F8CA04 +:10D7A000F4B2A801F87204787D58904543B0BEF4F5 +:10D7B00004BCA50B7C39821D87707FB2B22315791A +:10D7C00006E16703E16761570CE9349DC5980C6B6E +:10D7D000DCA8D4FFE1FB30DEC64E47306258E8914A +:10D7E000013D4E8CE3C9930FFC66B5634C3D5FD899 +:10D7F000BFBCE96B3F70BA51BC5CBF997A02E87656 +:10D800003BD2ADA273BA3D537DA436388C77D37129 +:10D81000B37419F1E8D6F87EB5E4CF8BE0BE7C8E08 +:10D8200038467CB517D13E01CE483FE19F0C753597 +:10D830003F1445FA237938356EA7B80C99C52C7674 +:10D840008912F0D8EA6C6144C2F9BE239EA90D4E3C +:10D8500082C3EDE5FB02FA26CA245C278BB9D1EE20 +:10D8600002BD1703BCE1724F8FC6FAF7683EB37F63 +:10D87000AB51CCFAB3A715EC07EF207B9CCEEDDBC8 +:10D880006F60FC24CCB7C00EEF19F7F32AC6FB1665 +:10D890007B71E07E0A7BDFA40B40E2AB3880C50ED3 +:10D8A0005CAFB283520AE8F3C0AD11DC9FF58CEF98 +:10D8B000FB46513243B6C91D4740267EDE89CC83E4 +:10D8C000E3E4733BCBC966C7C8EEC93F33BB2B57F4 +:10D8D000D0D77656FB1ED2D7EE0CD66EB51F4C3B7A +:10D8E00093352FA0F7766FBC3526A1BDF25DBD083C +:10D8F000FD5C93AE7627E08DB175242F1E6C8CB243 +:10D900003FAA71BD316A4D2DED634E438F8475572B +:10D9100076B78475B3BD975E9B397DB7B4CE4B6146 +:10D92000D8AE1932CA85BCF6DC759A8D4E6BD90219 +:10D93000E09751605FE0BEDC01E56949D02BFA0554 +:10D940000D76BA34E9D01C7F487E8C840EE5C3FA8C +:10D950002E14747F21CA0DA4D712F5DD6E733FC952 +:10D960004F50E275D8DF8F6F87FF437BB6488A3E02 +:10D9700024F56DAF41393489CC97777BED7BA0DFFF +:10D9800071B224FC05AE8F6A44DBE127DF1A3B0548 +:10D99000407E39E8602EC4EE932F6E9A02E3BF32C8 +:10D9A0001DEA86803713C7E3F4F14A2E0B55617BDD +:10D9B000A9148DC0B835E51BC8AFB8B0CC417453BD +:10D9C00083F05BF0F2C9C1BF2888FF9BCAEDCFA7E7 +:10D9D000C8269D66F3F145DBCA62078DFF72894454 +:10D9E0007C7CE49D0FEE3C1BE03B562E0511BE9760 +:10D9F000837FF4E2BE99F3F5E2CB603AE22B719EAD +:10DA0000B8FCF3139DA7097C6780C265240FB8DDBD +:10DA1000952ED697A9D74BA8470365ED87B84CE25A +:10DA2000FB3D3CD451A1406D6BF2A2DF86092FCCA7 +:10DA300050A612F48C91CE5022625EE9B40BF5250B +:10DA40000BB9516FE273737F005F592B141B7CE994 +:10DA5000617B3DB9DA5E7758F73737BE1E939E92E9 +:10DA6000857DC8421103E5FB26297602542FDBD4BD +:10DA70003ABEA206F8CAD5CD980FF09956AB44A38A +:10DA8000F86E09D7170E5C373C4F379CD1188CEBDA +:10DA9000CD61AC0BF951E9D25821DA13605F58D649 +:10DAA000CF56A711DDA40BD836D7CC4BC57D30C7D8 +:10DAB00003B806B59F94A0F0AB82AD5DBC54C82FEF +:10DAC00076E961B2FFC0CE5921E33E95D8ED2053EF +:10DAD0006F99F30CC95767FA1E63050AACFF36E667 +:10DAE00009A27FD4507EF00440C24E49E135088738 +:10DAF0005A5E1FC1FD4F39B76114CA11DF381EB716 +:10DB0000587876397B1FCA803718791F9E6F472552 +:10DB10008EF6576C3A33004E47CF9564E738D85CA1 +:10DB20005E6AB554EE92B9BDB95594DB4D7E0C7169 +:10DB3000BBC3D47F60C76CC2F9F3427A25DA0F0EFB +:10DB4000AFDD9E4F5C4FBB186797CCFDAF3B463EA9 +:10DB500015203D9E1FB2F9FF9A14BE4F86F7B450B0 +:10DB60003884FBEAF07279D9DB2F19FAA13C0480E2 +:10DB7000902F7C672FD6701CA5DCF4F3C3F43EEC29 +:10DB8000D32E1C872DB4FB472E7F88F611FE3EC294 +:10DB9000799D62DE3B267E5BEBCF8F2891C33F965B +:10DBA0002D74EC0C0469FC6476BF8EF126C052FE25 +:10DBB000E9F4F87E8588D6C05E29D1A22EA0D7646C +:10DBC00037485F589C577A97E045FB0DEDC614EC3B +:10DBD0000270B43576917F82A45306A49B1CB4F0E6 +:10DBE00021EE6B9C5F055FB1E3F9B01ED335F47A8B +:10DBF000C35C1E0739FF69F01FCA9714A61F429421 +:10DC0000A794D9F9542F0892DC480D25F037F27407 +:10DC10001A9676797C1B9433E0F96CD8605C57EAED +:10DC20002C394A3E2B0BD58CC98CC3919A01F62D09 +:10DC3000B6BF01F621D4BF74FB26E1222DF09D4230 +:10DC4000F8D07C25F80ABB23329F5742FC009CA7E2 +:10DC5000ECF06CFA14F713E0B43D4778CE2DB6C162 +:10DC60007BCA0A6F83C6E7C5F7CAD3FAC6092395EC +:10DC7000ACA01E80FEA32CE2CA0A53501F7DCE3EEC +:10DC80000A55235D6CCB26F9E1D3057EB52E224ED5 +:10DC90009DE9248713E385B05F9F59F78B9589BA77 +:10DCA00001F295E3D9DECEB2896EA8EE60BD7ECFDB +:10DCB000D2328148665CF63B100DD775AAAC0DAB2D +:10DCC0005FC35B5391DEF9DFA93F72FD7B9DB0E33B +:10DCD00097B15A1FC2F73193AB91EF3E468A847DCC +:10DCE000F8D83B75CF5A4E2F1AD279B3C4E93FDD2D +:10DCF00021E247DEF5147F57582FBD49DC6EE0F175 +:10DD000010B0EB88EE224C5B4BFABD95EBAB08FCF8 +:10DD100087F56BDAEDFAEBDA6DF6FAB7D9BC4C940D +:10DD20005BDFBE5B6528CFAF4BD00F7F13FC7C2D34 +:10DD3000AB5F8F768D293796EA4C49877D5BF9F486 +:10DD40000353D1FF1AEEE07ED787E0BF1AAE38DE6C +:10DD5000AFF7479DA1C2F8FA4807C0FA9AA4E04578 +:10DD6000674B03AF6F83DA7511EAE9C86695CE3366 +:10DD700098D08FD41FA6520E38481F5AFA11BC579C +:10DD8000B7DAD737D4FA13D70B1295D67BFDFE3A04 +:10DD9000921F03ADC7B95F0A45FB9143450ED32ED1 +:10DDA0008AD038269D9B7C0674CDEDADDFBBA34D9C +:10DDB00030DF25689C92FEA89F46FBC9EA2763399D +:10DDC00054BFCBFF9BFD9660BFD26FDEAF6E807EEF +:10DDD000ADFE482DF29B69DFBBB430DF4485C7E35D +:10DDE0005A0343B46743BB6390F6FCC1FB03DF9D5A +:10DDF0003E0D7481B12C6E7F45B211AE538D184823 +:10DE000067AC53ADBD18FDB8CE371C0C3C27A8EB52 +:10DE1000EB03B8AE16C940BBBC6ED35C6AAF3BEE39 +:10DE2000F0CB9C0FC9EFEBCC9DB317FDC9E50E55A8 +:10DE3000C4F3BB15B41BEACA7267A3EEE85423D936 +:10DE4000A9307FF50FB8DF5151B67619F6BBC8B8C7 +:10DE50005C457DF2E2A34D8BB17EBDF12D05E5F071 +:10DE60002D629C8F1F797C2A03F83A1F4B6631B2D2 +:10DE70008FA24EB48FAE077A467ABAE1A7C964473B +:10DE80005DFFC4CA3D35308EF47432C153FDC4B554 +:10DE9000FB5C045F13A7CFA7E6A76C15EBD2003598 +:10DEA0009D6BCDF84C247B3E7459E96257A19D606F +:10DEB000E2C1A4CFA5AD45BF0A205CFB53299ED685 +:10DEC0004BD70ABC0FFDEBA09CD70F5D6F13FCFD79 +:10DED00051AE6B21C229ED3F7425ADAFE33215D7AA +:10DEE0002735A73ADF83F936E33AF97BB48EC88F3A +:10DEF000A5E81868FFE8C7125F57C7C45DEE5C9CD1 +:10DF00007F9773299D33ACA5F74D7897EE2F5A3F35 +:10DF10001CDE5BBA29354F8675CDFCE963BE6E7891 +:10DF20007ED37E470CED7328C94EBFBAD5417E948F +:10DF3000C9C7A8D125A0831B857CB9F1C04A92BF6F +:10DF40003776DC41FAE9A683AA4D3F019EE93CEB16 +:10DF500086B71C41F4456EF8D9C33EB4B73E0C3CBD +:10DF6000E2C3F812CC53E7043E283966D76B38FE7B +:10DF700057697DC763AC87CE6F6EEAD8C8E7635C2C +:10DF80008F9A72E543FC47565F3DF79CC37E1EF6B1 +:10DF9000393B3695EC9EFDE9FDFA7DA65E33E50B37 +:10DFA000F8433B2330EF474FFCFB4E8C7777FEFD69 +:10DFB0002F3BBF87787FC6AD237DDFF4C87B3BBF97 +:10DFC0008B7AE6A04B463AF9E49987F7ED80FA2779 +:10DFD000BF1D578C2CF55B21AF3EC9FD3213D7BF57 +:10DFE000FA9959C3901E573F397318EBC73E34CB8B +:10DFF0004F80AEA216BA32ED7AE3208C370CAABF5E +:10E000001465C2BE1C3EE0886148E8E3132EB2BB33 +:10E010006E82670D6027DC587F2DC5B9B0BE06F053 +:10E020007BE3A3DC0FEC8BE7C8089982B6B111E85B +:10E030007ADE7860FEC5E79460A9060D5C2FEB21BF +:10E040003D95D8EFA6E3B09F9307DEBFCFD9D74E5B +:10E05000C4FB4D68CF4CEABB7F1FE33FA6F7DDBF93 +:10E060002FFBECDF8A077760E381F47EFD0673FF08 +:10E07000563E79494A7F71222B7E636780DFE5C275 +:10E080005F7BC1117229194807FFB26F871FF7D74D +:10E0900015ACC1FD7EECF31C345AFFA4F65C89FC80 +:10E0A000D7F38C4BDF0D7DAE7FE62DD2639F3CF91D +:10E0B000AAD320790EA62FE8E74F58EF5F17EAEBB7 +:10E0C0001B459CF7A6BDC931F4AFCC7DBA313AB738 +:10E0D000DAF0D173F2BB6E8C72BABF317A6881D438 +:10E0E000CFBE9DA7E471391ACD20BCAC34BA9CBA1E +:10E0F000D7BE9F5219EEE3C9D9487703EDA3B97E85 +:10E100001DD73FCDB29F7B39BF0EC4979FEC7229BC +:10E1100018B732F7F71361C7DC1495DE62FDF0AB78 +:10E120001917628EC583EE53223D4C57ECF460F60E +:10E1300037D73D143F0FBD9E6F86AFF1E8F465F40D +:10E14000C5DBDA595C3EBF9CEB223FE155D5B8EF09 +:10E1500016A48FA32ADB0D5D2ECAFB403126F6855F +:10E16000F715B487C6C5EB1797492DE9D0EFE21034 +:10E17000E813234EA7667B6DB9831916783EAB5E14 +:10E180009D8D7C7638C0E8BCE548163FF778216B5A +:10E19000C5117CBE09C66730FEFA46B03B81FE5B06 +:10E1A0001B0354F69E03860A64B4B357A1DD8FF3B4 +:10E1B000ED7FE49147804ECFC70940451D0655D9F4 +:10E1C00061D15F2704BCAF356A64C75D5EF0B88279 +:10E1D000FA5B2A7C5C41BD7241F87105CFB18E4873 +:10E1E000E6399ED1E207FE39BF20B5B80DC67F41A2 +:10E1F0009C7B9C5FB34B596A19F70231CE0585BBF6 +:10E20000B251FEBE24CE1313F1F533859F4FAD1DE1 +:10E21000FF7036CEF7D2C8FBB2B93316A078648E41 +:10E2200088731F19F3F0FDAB008F9D055210E36456 +:10E230009D0DEBBC28873B8DF936FA3B34FE030974 +:10E24000C7C909EC52505EEF463901EBDB0BEB43DB +:10E2500079B10FF086F5FD80372C1F6934A87CB4A6 +:10E26000B180DA7FD218A47A476319D59F680C5120 +:10E27000FD406335D59F6AACA5FAC1C68554FEB290 +:10E2800071393DF7B5ED6F4EC378E604A903C9F5C2 +:10E29000D9C67A6A8F353650FB2D0A8F43E4B4B263 +:10E2A0005609E46C4303237B66B75ABBB0D602BF62 +:10E2B000F9DEC3022F1F2785A34A29D2C58252DC6B +:10E2C000FF9631974DC47DEC347E1846FBE2F37C1B +:10E2D0008DCE162814007C7174CC343ADFBC2E2508 +:10E2E000FCB062A1B3BC56278B4DC17D8C5665A294 +:10E2F000FEBB06EC3BC0E3F9D5BB944C18675E3817 +:10E30000D790693F3B9AD3D0AF9828DA6B8AD4CAAA +:10E31000C2A1F7F1BB02EE172BEAB391CF5E14F660 +:10E32000D6E561072BB0D821F3ABEDF56B146E3752 +:10E33000A5CDC9E7E7B9FEFEE3B9C94178CF66CFFD +:10E34000703E7205D24450843F771BC36DEF39F4A1 +:10E350003DB518271E483E397CD5DC4ED695F75181 +:10E36000BEC9E8EFCA717963C64B1731F32F44F584 +:10E37000AB7AEBE06199F635E0EB8AD07115EDF5FB +:10E380002BC10552A05CCA824EB4BBC1BFA5F2DB53 +:10E39000AC9E4A57764C25B9C7AA743C4F90426749 +:10E3A0003B4E270D1647B39F3BF49E0B09BE1F053E +:10E3B0008021BE0333B4B0D5EFFA40E0F7735102C9 +:10E3C0001DAD44FA19681E53BE9872E50B6FED7FC0 +:10E3D0002896FD31CB81FA27EE93098F9947903625 +:10E3E00067F58B23618B77B71B240F1BBA25B2DF30 +:10E3F00047BF9D4BE7C5784042E7826E21BF84FD51 +:10E40000DB80FF84F7D882A4E843A87F3A726DEFDF +:10E410000560DBBB109F4AB71BE5C7868653547E59 +:10E42000D690B7651C1B7ABD89F2F40B6F38558501 +:10E4300079EF1B35690BC6C7771E75503C7CA7DA90 +:10E440007D39C2D1F0B6CB5807F0FE4609A5A9190F +:10E4500024B70914937E1B36195B0A8C81F1B2BB79 +:10E46000356F503C26C2D54B8F03F0479C4EF87B4E +:10E47000E0A730AD98E83266008B7427A53CD5053F +:10E48000AD4B1A622AEEFF49257C16C27D058BAA88 +:10E49000488FA3B2F54C1422E7FA0C9E2F90F97E18 +:10E4A000160915A53BB7F69BE4FF30D6AF1EDF205B +:10E4B000F40E804371A01C11C791933ECA42BD71F6 +:10E4C0009E2AF59B27C11A948FAC795CA08B492FAB +:10E4D000C3BB741E5387130368757237C5DFAAF474 +:10E4E000B955A980A22BD7E40A7DCBE9E6CA35A9A4 +:10E4F000BBD05FCD57C3E7AB3C2E4071EE3AEF8403 +:10E500002AB4D7CE747D307B37DA812EC1EFE67A1C +:10E510004F6AE14B70DC3C3DB532D540FEE671E41C +:10E520005922DEF8999F913D3FD0F851CC0301C5A7 +:10E5300071B891E785A811D68EF6E2A3B0FFF8FC7A +:10E54000174097F87C27E82B2C9F067D85E57ED029 +:10E5500057D8BE1BF415D65F007D85F5E7404F29DF +:10E560003C4FE25AA463D5CFCF9B9B9C6C39E59B73 +:10E57000897C2F73FE7A95FB396679B3CAE960838B +:10E58000CAF11779C3C9F94EA91D41F9605022FE9D +:10E590008A7A8C9968CEF98EB0A804F09EEFDDA23D +:10E5A000607D52837E04F5F49DBFD21C880FDF048A +:10E5B00089CE23B61D6DC0CC25364966329DFF3D00 +:10E5C000CBCFFF7E36465230AEE2EB5C7F33DA9B38 +:10E5D000C52C742899E68B38F03CA578811EC43888 +:10E5E000E28E979D21DCAF1DCE88EC01B81E5FC482 +:10E5F00082688FED43271AFA3F3C4692699C6D6F03 +:10E600007E0FC7F1DDFFFEF7F17D5FC18F6EA17A4E +:10E61000FE8FBF43F5FC5FDC46F5CED8ED580EDB30 +:10E62000DBB3F035183F65C27517A0A394F2AFCAEB +:10E630001C2C03BF989D847E42E0F96D6E2CB3467E +:10E64000EE3E5A01EFBDA0E6129E7EFA4C664D10DA +:10E65000F36F6E96E91CF590924EF51FD5FBA91E3F +:10E66000541DB598FF70A09CE7EB98F8DEA13AA87E +:10E67000FF5E55C4311507D97B780E8AFCA61CE4D1 +:10E68000E735EA319E3FA6C678DE8753AFC7340828 +:10E69000CAFF233AAE96FACD93DBAFEA347E701709 +:10E6A00023FA7BE2841C5D0B1D9FEA5C9A8472F165 +:10E6B000A94ED981F6535071501EC85327B6BA934C +:10E6C000E1BDFB3B570DE372389C0496067B58E591 +:10E6D00079201D2AF19CA5FF67329693151E97C1DC +:10E6E000FE29B86EEC9F1BEFFF53EC0F701CC4FEAD +:10E6F000A5D6FEA7649C7F92657EB43BB28FDAE715 +:10E700007F5AF48FF5E9BF8AFA8F13FD13F9E939BF +:10E7100001778B14BE6322D2EF4A85C74957A79170 +:10E720005D39C52D648A78FF0F82EECFCF31F54871 +:10E730002809C73F702C2F65303F9F8C6A533E914C +:10E740005EF6C4E53CD5D312EAC313DECF4B689F17 +:10E7500090D05E6CAF2FE3F6FD24611737B0E8FD73 +:10E76000AB502F66CBFC1CFDD1025ADF24B13E53C7 +:10E770009F4E166334B0EE367ABF4661F4BED0A326 +:10E7800093851E7D29CB5C3F233C37B01E4F21F281 +:10E79000E91199BF1F1E4DEF8F15E3B1E8185E1701 +:10E7A000FD0F67A75D8029324F74727D19C767AD71 +:10E7B00086E33D29E9D41E9963DF8FA9623D897AFA +:10E7C0006F9D338DF6655FE7BC56DCC71F5629F495 +:10E7D000DE587FAA2305CA391DCC91CAF839C9CFA2 +:10E7E0000155935BB93CDAF7C25819517B3499A5AE +:10E7F000D700FC8F8F9483BB71E88FBAD7A15CAA36 +:10E80000581379F1FB50663B53894E766F530E6B6C +:10E81000167A38ACCC67E847A8DB1684304F821DE7 +:10E820006141B4EBC76EF73BAEB5D04351B64CF483 +:10E8300007CFB91CF0EF9DC1CF00436C51328EEF72 +:10E8400022F8956C99F2BB2CFC9BED44FE0DF6CFA3 +:10E85000BFE31C2CE240BCFF4EE67907D5E1A4B92A +:10E86000167FF3A983204F60DE49FFBAFAB3A3985D +:10E87000DFA6CF9882F266DF7627CFB31C11DC8348 +:10E880007C54E814F995313650BE5BA1B39F7CB738 +:10E8900051CCB8AB0AFA8FEAE4F9CBA30EF2738835 +:10E8A000A7BEEE96791CD94EF7C15F7A6C76B8DCBC +:10E8B0006AB7CB47318B5D9EDB0FDDBF7D56FCFD1C +:10E8C0003CB25329EF9D7D7D9ACEB18A455BDAD16A +:10E8D000A59E9005FF0F22BD008A7781FEC4F2A994 +:10E8E000C83CCD8075FCCA3F8FF68F4542DE8AA9B1 +:10E8F0003404FD4D15791F6A339B49F2A7953930D1 +:10E90000DEE63AC682217AA35B46F9BB4FEF4EC3DF +:10E9100038273BC1E31EE6792430808CF87125C48A +:10E920003DC78A3C9049097192B1E2FC6F6CE2F9F3 +:10E930005E425C64B1D37E3FE4CEEF3AE81C32F233 +:10E94000A683F8FAE1E92C827E23FEE179D4B6D9D8 +:10E95000DAAE369293DC3FF99918CB8C975CE7E4FA +:10E96000FED89177AEF574C33AEA314913F9E8FE5F +:10E970005B3DB8EE878FE5B9B13C3CC393D4CDFD88 +:10E980006D42924B8CB36E86E7D7D7C13C078ECAD7 +:10E9900064EB3C915D3942063C6DADD228CFCCB7DB +:10E9A000A76738FAAD3FDD25E2EA07387DB50A3CB6 +:10E9B000930F8F780DE86477DDEEE4FEC74EA9F67D +:10E9C00076A43759E3E713BED12787635CFD27B9E7 +:10E9D000128F2F0C31CE3AB12E18679DB3343E8E74 +:10E9E000C50E54397DC678FC400C93A379C9FE4806 +:10E9F000B427EB8E8F25FB0FECC2CD38DE55AC363D +:10EA000044FE19987934CE99DB856166B10B73FCAD +:10EA1000B932DA3D71FBB0761B8E6F64EBEBF09D83 +:10EA200033B50B77A23D08FBF96BB403D12E6CE034 +:10EA3000795D0F0A7B11ECBB3D88CFB87D175C88F0 +:10EA4000F928CF3AAF9AA94C47FBADA304EBFFE2FC +:10EA5000BCAA49433F51EEC942032CE60CCFD4A0D7 +:10EA6000DDD724914AFA57A84780947E2D737C47BE +:10EA7000F671FB1A7623AD1AE01CBFCC1FC478CF09 +:10EA800028B9E35831CAC3EBF93D2ADF5E6E3F2552 +:10EA9000C2FDA0880BF99A5257219DC49CDCBE8F01 +:10EAA00089FD33EB5728E167102FE846633E8179F3 +:10EAB0003E0CEBA1F3C518263640FB2127B767981B +:10EAC000D23E9C9FAF4199DCEFBE73FF62A87DDF11 +:10EAD000CBEF8FC0BE1F4BDCF7F4DC33DF779053F6 +:10EAE00024CA06F27B5C5F9D8597B27AEB9FB1F0FA +:10EAF000BFE17C6A36CFCFE9DD3719EC7258AF43FE +:10EB0000E4E9F91C73EB912F3E11F832CBF79CE24C +:10EB1000FCF4977DEECFBC8774E052C2220985CB0E +:10EB2000715F138CE3B5E057F85D263C57284B3FE7 +:10EB3000725AE2448877F4C7FEC3C437ABA73C23BC +:10EB4000A6D4537EEC7F1BDFD9BDF8FE4F816F82C8 +:10EB50003307FCB06FC267F1F357A35947F998C365 +:10EB60008288FB99DEB9B6BCD25352D8E5CA88DB9D +:10EB7000050D6F83FF3119E1EF56397E7A545C4FF2 +:10EB800065BA51220571F8B699C7CAA08ECC89170B +:10EB900090221B67A29EA94CE2F539AED9CD11ACEB +:10EBA000E3D9C20C6C7F68269E0F548EE6ED176287 +:10EBB0003BD42F56437E57864D2E44AD7241D54FE0 +:10EBC00056A05C007F71848BE48151895B92D3A055 +:10EBD000CB08FF37F517F70AF900743506E735FD5E +:10EBE000C6A1FCBD492E4E476639198D22ABBFF731 +:10EBF00063A7E0FFE8F079C9BCB4EEFFDE2C337FF9 +:10EC0000CDF0703B91F763CD6EEE270ABB3357D83A +:10EC10007589F2D8B43B73DD76BA49E9CD8B0BD157 +:10EC2000B8897464DA8BA3C5B3BAFD9CAE7CFFD5FA +:10EC300054B751C2B85B0FD1A52AE8AA4DE3EBDA6D +:10EC4000D5CAEF25A4DDCEF395F76E4AA37CBA575B +:10EC50009DA1F3ADFBB5D519AA7159F21312E5BA0E +:10EC600065FFE69FC9FEA95E77C4BA1F26FE8F091D +:10EC70003FFF6571FFA34BC8F7CF586831C2D3E49B +:10EC80003428EE1479C9417276203A18287E65EE50 +:10EC9000B7294FD6685CDEC64B2E4F8E89739EDC3B +:10ECA0003236434F898F7B9BA08B63EEFEF3E06E81 +:10ECB00075F1FEBEA65A92534CE437E6EEE57ADAD9 +:10ECC0007CAF418CC3982E0BB94DF6530DC205E3B2 +:10ECD000E695B172EBBCEB5D1CBE1A0F6F4F9CB793 +:10ECE000C59C57C84773DEBC4DF67937F4CE6B88A8 +:10ECF000798334EFF8E61ECA53CE5BC368BF8C4DF0 +:10ED0000B521DC9763452FE6FF10EDF78C02113734 +:10ED10000A318C736C13F0EC708602389F03F08418 +:10ED2000F7A772006E2C552F3B4972BC2142E76653 +:10ED300016FB7E1BD1D131D66F7EA589779FC2AAE3 +:10ED40005CC571B8FF26D667D6CD75D6045FAD4ACF +:10ED500007F8C6DEAD17A1F8BAA88CC74DF342D9A3 +:10ED600074AFC5A371FBEA91567E6E34C6157E0260 +:10ED7000FD82071F72D2FDD61D3F7086904F7638F8 +:10ED80008DB6025C67A54C7193CCF29BC9BDD97658 +:10ED9000CFFAC78F427912893683E293F4DEFD2BD6 +:10EDA000D2288E61D6B357F2B8C6F6FD5BE78C4524 +:10EDB00039D12A07C7607B39F7477AFD13178F6F60 +:10EDC000C45C22BEB19FFB3FBDF18D7211DF5823A1 +:10EDD000F4E0327E6FD382BF986B90F8C61117CFE4 +:10EDE000BBDA1EE572A7A9558E629ED86E6F1ED93A +:10EDF000B7BBBDF3C8765443323F676915F10DAF19 +:10EE0000199F303C185F38ECE2718263C8E01983C7 +:10EE1000F7A7F886D78C4FF0FEBF76F1F8C4F13330 +:10EE2000E84FF18D64FBFCAF8BFE6F63FFD2C1FA3C +:10EE30003F916AF53B7F27E07632A36D02C0B3674E +:10EE4000FB89209D0FB2F6F0F550DF27195BD16EDC +:10EE50008B64713B6D8F6497FF1F0A3AF3689C4F78 +:10EE60000EB76E95D14F18DF7A7725C6D56020F2A0 +:10EE700077F33696C8D679472FE3FE6EDEC67C4E12 +:10EE80004709FEAE4713FEEEB23EFEEE7FBA06F134 +:10EE9000773D1AC79F296FA06B15DEF335E735E97B +:10EEA0003B912FCC7BC4A6DDC8841E6A5FC8E501F8 +:10EEB000D8971E2D23FE7C583853F84DB5E4D7075C +:10EEC00046F0B8A2298F801F9BADFCB8524BE0479B +:10EED00021EF86E24753BEFEA3FC385FFB9FE1C7EC +:10EEE000028DE74D176B4EBE3FDF9C1F8BB5D28165 +:10EEF000F971AAC6EDC57F941F4B354ED7E76A431B +:10EF0000F143FFFC788EC6F969F619F4EF8F1F679D +:10EF100089FE176943F1B39D1F2FD4FE317E5C2C0F +:10EF2000E8DBD4CF875B4FF173ECD677D7BA300EDE +:10EF30001431F951B1F1A331043FAE417ECCE897D1 +:10EF40001F576883F0E31A813F530F43D7662B3F67 +:10EF5000AE19802F300155199C1FD7101D0DC18F80 +:10EF6000897E05F859210C390DE45F30F0DB908E75 +:10EF700013CFD9863A1FBE70EAED143FC8574377C6 +:10EF80006816BB6F8A1A6E27FC24C817F37E53DFFE +:10EF9000FBFF89F71B969F081BE4876CC3715C65B8 +:10EFA000B531FBFD866020887679AA796F95E343B9 +:10EFB000D5F9FD68DFD95F7737E17EEA53A760BFF7 +:10EFC000873411C74BB80760E21FF6F3219CC7DCFA +:10EFD000DFDE7B1C98086D817F7DD6A503DD0F7871 +:10EFE0004CB3F98183DF0F489BA3D07A57499E2009 +:10EFF000F25F53163B807E599364B71755F07F0D2F +:10F00000F07F7FA3E5D9E4F76DFEC8B7C09720FF76 +:10F010005FC86745B1E199FBFF4E397C08DBEF9C87 +:10F02000F1E1098C877EFCA4DB407EFDA4E433275C +:10F03000E62B60F882FC95DB3DE4773449DD75DC36 +:10F04000BF8BF1789649D74A3080F15317D20FCA57 +:10F05000BD6CA01F930EE8DC93DB134DC9EF67E195 +:10F06000BCDD82FEF12F1BECB7B080AB4EE17EEF32 +:10F0700055AC8BCAC57832329ACE53DF403817B1BF +:10F080001E8A1BAD4BF29D4BFED73F093ECB3D5335 +:10F09000CA1F14AF32FCF288F5DE648188779A7E4D +:10F0A000C9A8BB19E5338D8B28A4970A22EB6E966D +:10F0B0002751FE00B58FD9CCE89E19B493FC37FBDD +:10F0C0008F8B3A6DF9A4B9ADF6FA6811E71C23EEFF +:10F0D00071D2F35C3CD7E771D1D109CFCDBCAF9DE4 +:10F0E000F8A09FB849627C94B9EDF1D1A1F2CECCE1 +:10F0F00038E89D2CE4745BE4146BE071860D23A763 +:10F1000006FAEB6FE2D5A1F1BC11F39E85E94FB190 +:10F11000E3C29E9758FC8FE293FC7E77A65B32E3B6 +:10F120009C99EE0C0B1F26E465DD218545DC23CA86 +:10F13000EF29883C2D625919FD389E97D58479595D +:10F14000506AF9F5A47F5C25F5746FD39B0F0E0D03 +:10F150008C23056314E7F606BB02989FB37980FC05 +:10F160009C4BDD5CAFAC2DE5E7039BDF91C83FDD39 +:10F170003CF1D60023F9C3F3AD5433DF6AE4AD5A52 +:10F18000B7053F1BFCABE89EDA86EC7983E25D6D48 +:10F1900077509ED190EFB5F2F7066A77F9592BE6D2 +:10F1A000237E3932F222A2DA25F25B7AF343046D30 +:10F1B000A8C3EDE74B8979212D5AAD86F9482D007A +:10F1C0000FEB072FBDF37D25B1583AE573D4B83165 +:10F1D000DE587A293FFF29E86298E7975C02721FA0 +:10F1E00036C79B5D4FF7A9BD06A37CA9A1F03ECE13 +:10F1F000CDF5A41BC0B6E63DDD5111A671EEC86287 +:10F20000C10882EF4D685FCBE5A813D76DC1E370ED +:10F2100037B713BE2DC64556282B467ADD47F40A6C +:10F2200010E9C4278C9FAB5C877880F75F5042D78A +:10F23000727AB4B79BF41EA98CC71B309EB6FAC273 +:10F2400065A548876F0A3BD297CEF3CF4D385E77DE +:10F25000737BF275014F1BD06B745C3C1EE16B92AB +:10F2600062785ED033528EEECE457E2CA0E71BC274 +:10F270008F568F8679362C18A3E3FE7CA9465C68EE +:10F28000375C3252AE45BB6A73A567B9F59CBCC604 +:10F29000C7F3E53FF4551C42F883DE6E8AB7B090A1 +:10F2A0006220BD72D38FB1C93A1800981F82714590 +:10F2B0008A4B0635AEFF447E1548F06F925FF5131A +:10F2C000859F0B45BC8CECB5E46D125DD632E32B0B +:10F2D000F7FAE66D4578D48361CAA73A34D543F28C +:10F2E000F38B169E2F7A72C9D964DFBF262F7D104B +:10F2F000EDB79EDFBA18E6159FBCF0826A948727A7 +:10F30000975C713EB69F94C0A2E697647D98B7EA79 +:10F310001B6D3C7600F1D6E2A6F34A35F08BDA7726 +:10F32000E93B26219F5C06EFFF97E3574980CFDF3B +:10F330007B3FBB07CDC22578323E3A9EC7F3EDE452 +:10F34000F0C348BFCA151714A0FDB9D9A9E7A0BCDE +:10F35000D8BCDE558C723DF5531048E8605C92C411 +:10F36000E37B3D6093607ECCF7E73F648D9F5C99C3 +:10F37000C1F7436B6809E5C2449A11A42B86BED13C +:10F380009C0EBEF0869FC4F5576A454774E8BFA43B +:10F390009EE7DB98F937572CE7F53745FC31D12E3E +:10F3A0004BB4C39E1374A40478BEBBE2E5FA87E9AC +:10F3B0004AC2779CECF7CEACF4A04FB5D3832A5B5E +:10F3C000E82104F430D1460FD2E9B3CE9C1E362199 +:10F3D0001FC17A2F3D9BC77F2295E00022BFBCA6AC +:10F3E00012BF9879718974BF01CC5DB9B02F7F9835 +:10F3F000FCD056322FC320FA5F7515EDCB49C9C03A +:10F4000054167DDA1A1D9FBBEA9C943F62F285C9AF +:10F410000FE778F97D19E08B362F94616FF72CC9CF +:10F42000E8CB17A87FACF47F15F289DC974F16B1B3 +:10F43000E06578DEBB48619194B438BD2F2AE3F7CC +:10F44000511775AFA57BC48BD648EC9465DF4E9FF2 +:10F4500086BA66C39BDEFB1D05C799E3B76D8EB404 +:10F460001EEDC736B5E7856188D754CE774D6E69F6 +:10F470003FC6EDD727BFDF320CF0D39669505E410F +:10F4800062BC73FDD824A2EBB64B47905EBBA7D1FC +:10F490006061C0EFEFF1421C8EB72099E8FD8780D4 +:10F4A000F730BC7F5F6390DA818F933C1948A741A6 +:10F4B0001680F64B1D5DF587711F7E97C470FE2F79 +:10F4C0007E1E9E8CE7C09BA75E3F0AF5C717B787D5 +:10F4D00047E985D6754487F37CF3EEE132DD7D3470 +:10F4E00044FE3913CFC323F8F328950FC0FE9F8243 +:10F4F000ADFBF7A45CD37E13FDBAA95F9BAFCB4DE8 +:10F50000F0663A75FEBD81506929D4E79FE56778BA +:10F51000FEF68093DF434AC467B987EB83F98E76A2 +:10F5200003CFF7C6B5A5CFC2F33F4FEEAEF652A854 +:10F53000CB91F45973C6E37BDC8E6CF9FB94525487 +:10F540001E0F36EEAF7DD7F25DA1516B3A48CF2545 +:10F5500015D606F0BE4C8BC8E36D39E426BB21A955 +:10F5600066C95EBC9F34AAB047BAA610C75378FEDE +:10F57000FC1A18C762AF2D8225A41463FE4D3BE52B +:10F58000297BC6683ACA9F4505557F56FAA123FCD8 +:10F590003B65A18716D4A764E772BB64B56997641D +:10F5A000ACAF40FC78EA988472F6320FC7631E1243 +:10F5B00014CCF7D782AA41F53CE683475C3C1F3C5C +:10F5C000328EE783631DF3C1B1C47C702C311F1CE4 +:10F5D000DB311F1CEB980F8E75CC07C73AE68363AF +:10F5E0001DF3C1B18EF9E058FEBC314C25E68563B0 +:10F5F0003BE681631DF3C0B13EDFC5EFB5B382B01A +:10F60000A714F132215FC27DF5B43943785FE4710C +:10F61000B18F33372ED87C1CD6991452C84748BABC +:10F620005F497D83D7E9466F5280C721D6079E6028 +:10F63000F81D2D757632E595DFF98E97CAA4053F42 +:10F64000638617F3CB0D477A11D08D67CE2CCD8D05 +:10F65000FCC59AD28258BF64BD06F430A5E4D3EB52 +:10F660009F80FAB6B68B5A30D4746746F56B06D4D1 +:10F67000F7B4CDA5FAE8F28A6446E763735B8E407F +:10F68000791126910EA76DA2EF9B84C2123F0F83C2 +:10F69000BA960FE671E8008846C067DBA52D773380 +:10F6A0008C6F75442A53D1AF5BD0B2603CF55732B2 +:10F6B000751A7FD64429DE9EA1D598EDE2FC6D6EC9 +:10F6C0004B08C67BF56D99C66F84F7F10309C7F344 +:10F6D000F40BF193033DEFF07C9E379DC63AF2AFF9 +:10F6E000DA405E00BC17D7F2EF758CAE62BB58AE45 +:10F6F000202C3FDE17E7F187E2248EDF5471AF55EF +:10F7000006C988FE484ACDCF88885212EE937B0AFC +:10F710009584EF5BD8BFFF518CBA08E3BF798CBEEC +:10F72000C3D3335E8BA29E5F86F43C06F793F3DB74 +:10F73000C5B57B0CB4F7461768C5289C1FF718F4AD +:10F740001CFAC5103EB35FE27B38AE6C6937FBB183 +:10F75000AFFFA2A05C68D9CCE87EB5272F6AAC2A9F +:10F76000B48F2B970C3CAEE53DE6187C7E260D321F +:10F770008EC9571E672819E9B96722DF9705F33745 +:10F780009B7C2AA3BFEEF1D8EDC78F932A9B92D022 +:10F790009F15FBE1F17474E661FF73148A83B2FD77 +:10F7A000752F61FDD61D32C9BD4C05F619C6CB6C4F +:10F7B000D58B508EBC2AF824DDBF6C1E7D57639B11 +:10F7C000C2F07B517E1651F13E831F3D2303E9BDFC +:10F7D0007D16DD775025CAA32929BBF98212783E10 +:10F7E0006DD6E7C47FD39E9125B4533ABDDCFE2885 +:10F7F0009A9C5C8FFAF682C923A7205FDD91705F27 +:10F80000C62C2726713F6F2FB6C3FBD2CE13F564EB +:10F81000FF957A25D43F5F7CCAF544B7878F3BCEEE +:10F82000C9D7CF583BD9796B030ADD3392B378E956 +:10F8300054EB97221D381FD0E81EAEF3EFD334945B +:10F84000F34D5FB9AAB91CEC22FBCFE90EEB78AF00 +:10F85000366F8B4CE75E4DBA278ADF4C4A492EEE55 +:10F8600034506FCD5228FE9B728E42749F9A7C69F1 +:10F8700014E333771D72D3FB6AB21645F9BDB7EABC +:10F88000AFB555D0BEB75C213B7C6FEB825AE2230B +:10F890005DD6C790DE09FE06F96CEF1A1E8F4B91FC +:10F8A000582DC2F1E6A2B303753C5E45F7CDE9538E +:10F8B00024B2C53F064717E31833F4CA6A3C3F57E2 +:10F8C000532B359443A9B3AA34DECFFEDD96E62A46 +:10F8D0009E178BED57E33A9BD911FC4E8FC9BAA9FD +:10F8E000A95BA55C8C8B5DC39F35A7CD30EABC3886 +:10F8F000AFFD5E7BAE578BA13D9DA5F338A751C0F0 +:10F90000EDC75C11BF80E7943F9BD56CE76724355A +:10F91000B43747452C7CCD0B2FFA9123041CAA58F1 +:10F92000FFD97FB2F71F21BE5F3022E19EFC842405 +:10F93000C98C0BDAF094B8FE2CFF5E1DEDEBAC0821 +:10F94000CF6B4C5C57969FC76972750F5F9F9FAFD7 +:10F950002B711D33F45315A8F712D77136EB5A8B60 +:10F960007438B2C1FE3C11DE19557B6BD19E9D519E +:10F97000A0104ECE661D4DE8379BFBEEC9B3F3EFEA +:10F98000AB1E7EBE077C7C7D1294A35B655000F1AC +:10F99000F1C7B47B58C432DFB86D69B6FAF8E870C5 +:10F9A000DBFB67EDCFB3B54FEC98606B9F7CB0D8B5 +:10F9B000562F8ACDB0BD3FA5B3D2562FED3ADFF614 +:10F9C000FEB413F36CF5E9DD8B6CEF9FFDA7A5B6D4 +:10F9D000F6737AAEB7B59FF7D52A5BBD827DCFF6B9 +:10F9E000BEE9E7B040B02BE4C77C4C7F11CA2D13B1 +:10F9F0005F8B92ECE757897E4D629CDA97C4F13DAC +:10FA000094DFB45CD059E6823C16B63CF7D74CB0D4 +:10FA1000D5038B8B59D8A6C7EC7E54CBDFE72FE4F8 +:10FA2000DF35D5C8EE6ECEB894E2ADABC63B0DB4B3 +:10FA3000B3C8F50210E725A5D23A561D1D43F7A01D +:10FA4000AF4B09ADC2FDC7FB659174BC7FE7247D58 +:10FA5000E6F13AC90FF678EFE5F65FBEC63004E589 +:10FA60002988B2F044FC4E6B6B6D3EE8C7BB1A238D +:10FA7000542A05B511D42B8A9FC755F4821EAAEBD0 +:10FA8000E5BC3E2FC9A075EAE5F0BE655DAA0EE3B0 +:10FA900058D6F59ACCF33C7AC00FDF6DF1C313FD55 +:10FAA000EEB0AEEF3BC0E2FE37F8B5B1F3A85F129F +:10FAB000F5CB43C7A978603FBB9C7539B03C97F53F +:10FAC00050B997D5E7A13DFD8633E2180EFDAFDBB7 +:10FAD000FBEA7284637A8987EEE7815FBE3DC9E203 +:10FAE000979F4CD573505FEF70D66E3E8EF3DEAEAF +:10FAF00032D49B57CEBD50437970E57825C8438CEE +:10FB0000E050A37FBE3D2DC8F5BCD0230A73E7C3E8 +:10FB10007B97DC915F8CCF33957AD2B7998B75093F +:10FB2000F5E329416FE9FE12D20BE9ED4AD030101E +:10FB3000354625BEE76F6541FC0ED5BC3CD097A885 +:10FB4000DFEFE1F728F20AC61E413C8D5811935CA5 +:10FB50006837850C3ADFCC7BFB5B9D78BFA34D05F6 +:10FB600078509F3EA0083A7192DFB56ABB427ED7BB +:10FB7000AAA3AA3B1FEB1B952214243E8CA34E8103 +:10FB8000712AB83ECA7B606C14ED813B257D27F954 +:10FB9000392DAE20FA393F1274F000D205F8232730 +:10FBA00033D7AFD3A1FF78EF2ECAA33CCB7F681D1C +:10FBB0009613B34FCA182E999C2F35A541BDA83076 +:10FBC000D7916EA01D5BD1846569799DC30FE5B4A3 +:10FBD0002A09D3DD5857123F77B87CD9DC1368E780 +:10FBE0005478353A3FC89BF1A785288FD521EE0779 +:10FBF000AA99DBE8FB766C99FD7E60854F233AD7A6 +:10FC000091CE73A924BB535F9014453A073B5BC266 +:10FC1000F3914805EB40BB233B1493501F423F3AFE +:10FC2000D7D3636E09EFA78E08754940F36CC46A99 +:10FC300046E7B839A16E09EFDB66AFB0D3F917DE3E +:10FC4000F029B4977256B7DA9EFB30EE07F86D963E +:10FC5000B9FCF1A48593917E3C93F2D29A0C1EB725 +:10FC60009B5B18A79B9F0B7B64875716F74BB9FCD0 +:10FC700036EDD8C77BFDC33D5119E87A5F4FB86DAB +:10FC80003CCA8506F19D999E9883E245DF994BF425 +:10FC90009823E2538BFFDAD182F9F897B87A0EA74E +:10FCA00020C3DCC0EDADDD6EBBBF3ADDCBE55589D1 +:10FCB00097DB4F6A1B68FCC996EF13E21F8CFFF8B5 +:10FCC0001A6EAFABBFF7B6A6A630764CC03BE9972D +:10FCD0007A25C6797363FAF3541E13E51128457F1C +:10FCE000DC780415F932713F7735FB5FC2F7763166 +:10FCF000FD25DD52AA79FAF9787ECA7E25D37EB138 +:10FD00006C1642BB775773DA6E3A9F04BFC403F593 +:10FD10009CDBFD5487F7DB285EF3030F43BFC3680A +:10FD20005042EE7EF26047B15E7D2ED3778922BCD1 +:10FD3000AEB1D6B54847930FDABF935514B3D7A7E2 +:10FD400074DAEBA55DF6FAB413F6FA4302BFF8BD18 +:10FD5000D57C130FF07FA30C7EF46188EFA58E6A2B +:10FD6000E076445FBBC7EEDF3061075D25B6667A9B +:10FD7000B7DDEEB84AD83F5725D81327BDFAA57589 +:10FD80005086EE0E6F9D03780A37388212C0F087D6 +:10FD900007BE18C3EDA09E0C8C3B7DE13508DE2B21 +:10FDA0006FEF8D3746C659E28D77045FAB3F8C729B +:10FDB000EEB72E86FD67398E7536A25E1AA9905E63 +:10FDC000D2A7AD783009E3C9D80EF54B728D6174B6 +:10FDD0003FF0A84AFB627E17D8FC2E93193F9B2761 +:10FDE000E8EF22135F2C92C4E330B124B4CF271F75 +:10FDF00064AC30C11EE4ED212FB617C512DB43DE23 +:10FE00008ACCDE23430041227C970AFB13EB6B4034 +:10FE10009F941CB7DF1B18B6D05E0F76AA64A74E5E +:10FE200062B529289FD1F5C67126093C0713EE1744 +:10FE30004C12DF6B48BC779089CE19E03DB3C41BF0 +:10FE40008DE6F63D4FDB64D44BD8BE69317824F0A3 +:10FE5000EA0AAF385F2B6485B8EFB3F0F70C10CF28 +:10FE60006FF07B3CAE93E3DE42FB80BDEAA07B40BB +:10FE70001B728D2DA897F45FF3EFE8EA49ACA8C890 +:10FE80001B3F77BBF77410BFB9DE1BB7FC49239E3D +:10FE9000B1631C456328E79F68D4A97EA03140F573 +:10FEA000A71A0D2A0F361650F9F3C620B5FFB2B1C6 +:10FEB0008CEACF3686A81E6BACA6FA87BE8AB5DE62 +:10FEC000527BDCD31AFF8DC73D81EFCEA2B86718F5 +:10FED0008FA03F741BFCDEB819FF5CCEE3C2438FDA +:10FEE000C3E3C5183F55FB1B47C49757B6F278E9E3 +:10FEF000CAB256BA2FB3B284FB1DAD27ECDF6972CC +:10FF0000C2B8585F79E066FE5D76B5AB9EFCBF5225 +:10FF1000AFF0FF6E237FB0E97E8DADCB8DFB81A668 +:10FF2000FF97688F5BFC6A9B3CC78C60A40B8F2695 +:10FF300071BDC5ECDFE1CBF7F2F726E8AF3E9F0AD3 +:10FF4000A2FF0111072A0C7C5A497122519F64A417 +:10FF50001E4EB3B4070B8A66A65BEA05DAC9856B49 +:10FF6000316EE4A969C1B3D1FCE4E2E7D32D71A4F9 +:10FF7000E338218F138550FEFEFF8E23FDC6C3F7A5 +:10FF8000EF5F329E4EC33840E43185617ECD0B1960 +:10FF90004F0F473F14F50EC6D170AFB99C673CAF09 +:10FFA000B9807F4FB9572F18129D9F58F4C24B2428 +:10FFB0007F845EC849E5F754A37B5970AD31A87EB4 +:10FFC00070D0B9B8C10CE754711E2FC7DB01E4181B +:10FFD000FFAE1DD76FD48EF7B623327DE7CD320E3C +:10FFE000ED6B41D4B2CF0CFD2BBB9E98D861AFFF17 +:10FFF000B3F490495F9B952E3A87DDFC75FF743B07 +:020000021000EC +:10000000235912F4DA0BB77C7A5A1C1F9407948791 +:10001000256F07EE3984EB0C37ABB679AF6AB0D7F2 +:1000200017AFB6D717ADB0D72DF3097DF70DEB910C +:10003000D01B563DFB2EDE431B17D7B3CB58EE6CBF +:10004000B42FAE6141FAFECCD5AD49363FEF0DF38A +:10005000BE4D1BFFBEF052912FC1AA8ED33969EE5F +:100060001A83ECFBA0899F08D7BF1A60A0F7774DD1 +:100070002CF3E7CE9157F16FDFDBF578E277FE9650 +:10008000267C1FD34888276806FF9E73CE9AC4F843 +:100090006784C7FBE15FF87DC3BEF07CB379CDF127 +:1000A0004E81FC47BC99DFABEBA56FA55B0A021C38 +:1000B0004B1BF8F7EAAF5EC342BBC8CE3B8FF25C86 +:1000C0002E33BF131161A47F0DC12357097C25E294 +:1000D0007BE9E2D7AB11DF4B4B648A17B2863CE277 +:1000E00069A2C33CFAFE9B13DB7336492C5D62BDEB +:1000F000F70F2F1363A4A506E9FB70A79A19E9BDB2 +:10010000538BE767A25D6FEE37E0E314C707BF2F9D +:1001100098DB60D1CB0CE980EB73267E57E69A041E +:10012000BD6DEEFFD284FB827F433ECA40BDC27FDD +:100130001764259EC7A17E61FC7B60ADEF0EAE5FAC +:100140007C3383AD63D1CF4B950DF4F39A9729D5CA +:10015000BBECF138E7690C76E1BF33E3FCF60799B5 +:1001600055A1DFFFBA87917FF3FA77D377614ED33A +:100170009B0B676A481FAFA50627CA459C30B4721F +:10018000A8BB838F31A8BB363C3BBB7A64BCEE690D +:100190007B6F76F539D03FCD7800EBF724B3485527 +:1001A000398ECBEB1BB497671F1929E601B9FDF413 +:1001B000E6EEF5781FCDE477586A84D38B9DFF3E39 +:1001C0004CE6EB4DAA605B1C0EF22BB7944AF17E15 +:1001D00069D84F1AA4DF5CB645E9A79FD7EC073A68 +:1001E00066BD257E67C6E764018F757E05ED003D1F +:1001F0009C8C7EC39DB3141DFD977F148ECCA1D61D +:100200005DC7B6A8A3FBF603B0D79AF0CBFDC31F1A +:10021000C576EBFCEA20F0FF4FE363A8F19CA2FD5A +:100220001BC307AFAFCB3C83F5027CF8090666849D +:1002300093E5C1C6035B7F5DFFEB6D4F182F95E023 +:100240000B84370F0ADF00E3C17AB724AC37D5E956 +:10025000E83B1EF2670CD63752F067CA747E1F98CF +:100260004D54487F8C5498D759DCCFBCAB79DDC353 +:100270002251B403F5BAEE6DE8DFBF59A0A7A27C06 +:10028000BDEBD0748AF77B364A4114A91EB55DC216 +:10029000FCD4B265ED154E78BE6335EB40DCEE580C +:1002A0001D75E3BDB71DDD5137C6F5CB96EFDE8872 +:1002B000F2B2AC399964EF74D64E71E3D47314CAB8 +:1002C0005B483947A17387D4D4197B30EE92329DB5 +:1002D000E79F35EBE57BD0C86E76EA7349FFDDCA50 +:1002E000C85E1AB98CC7974636A894DF365211F506 +:1002F00035FC7BCC9EEFF44806C9AD1E09CF193CF6 +:1003000092548BFE5D7388C7973CDF67BB25E2176D +:100310007BDCDD23B5AFAD443C810046FF252B746B +:10032000E036C9C7F909E53BE113F1AD707B63BB6A +:10033000C0EF28D67508E3606C35EFC758973417BF +:10034000F38AC43985999F9CB5DA6EFF8CD4F9EF96 +:10035000E5282E7D0BD98FB729ECA17EF83FB13E61 +:10036000F2FB5DA9AC70E8F786AAE7E04F46A59DD1 +:10037000C17BC23F4D3C1F48D4D3897E3F137101DE +:10038000D2D3B04FA384DE2A2B6CA67BF5A3FAE868 +:1003900079FEFB69267DF4F1B3D6733FCAC582AD01 +:1003A0004ECA4B594C796AA6FFB6135F443A1929D5 +:1003B000EE2527F4971ADA6A49FF9E2BC6F1300D15 +:1003C000BF7FE4724199463F33A565215F002DE070 +:1003D000792AF3C964CFAF959882CFE3F375B3D38D +:1003E000941F077206DEDB902C33B4EBCDF841FC92 +:1003F0007E62AD8ECCD5A40735F47BCD7B89B788E2 +:10040000EF6D6F480E5E5681F0FE4625BA690AC050 +:100410007BA887938C250CFC942B7CE77D4B037D7C +:10042000F85A2523BFE4DA3BA76F8894631EE208DD +:1004300016B6E445BA947A86F8727D95637BFE3CE5 +:10044000F8D361CB77062BBD795508CF0FF0FB4D64 +:1004500080E7992CD88CFD666A0EDB3980EBAB2CDB +:10046000164EEF6FFC6CDBF3E7C18E0DBBCE64FC68 +:1004700024DBB982EBABD1038C3F36617CBDDFF16D +:10048000E3E3A6DBC66D5118FF5EEE429EB796E829 +:100490003FDCEBAB6CF265F43D87D990CDCF61E8E2 +:1004A0000FEAB3FDA974DFE01E1F8F8356D58C566B +:1004B000281E956D3F8F992DE8D7CC0FA8F227FE07 +:1004C000CE4590BE775CE94D7C6EB77FCB50C6942D +:1004D000F685574E2EE9E2BF93E53206BBE7FB7681 +:1004E00023A378F85BEEFA25180C3AE09BEB6A013F +:1004F0001DF216CA20B0937EE55BF12DBC97FCB6C9 +:10050000C8BB6FF13F3FA6AE1FFFCA2C172B4C296B +:100510002B1EA4DD191B83727FB1CCEF7D00954D9E +:100520009C67F99D89C5B0C032922B51DBBA96D435 +:100530004BB67398B7C57D7680A7B4AE9FF3732B87 +:100540003CE56983B4BB62A5040FFE8EE500F09420 +:10055000170F0DCF3B220ED8E27F6DCC60F02C51EF +:10056000F8FA066C7776117E96C866BCDA0ECF1262 +:10057000C6F13B243C225E0FF0940EB65F084FF9A3 +:1005800020FBB5C4D545F859227EE7B33F78CACFE2 +:1005900060BF36A8F561949B5B242E8FDC77DDBAB3 +:1005A00001EFB3FFA5665580F843F8655760073C37 +:1005B0000753383F2DCAD6E89E97392E7EAF22E4E6 +:1005C000E2F7D3B1DC0D7C1EA2EF6F06A8BE0FFCD4 +:1005D000BC10E55B1550F9486390DA1F6D2CA3BA87 +:1005E000394EE17289FCBD892B24F2F712D77D6E5A +:1005F0000AF7EFB664E9972F43395BE1E1E713CBE4 +:10060000CF66212DEECF31D6F13CC65F365FCA8A68 +:10061000D08F9EB09FC3EDAFCAA4BC084FD191AE9E +:1006200046A8BB2E510D8C1F032FD68ADF2BA4EFBB +:10063000C6D4C94276801CC03CD7EEC8ACBD283FAA +:10064000A6A7F038725D76E742B423EA84FF87D725 +:100650005D29FE733DF7E7C3CDF6EFCD2E1271DCB9 +:100660008C5A7BDC7711DBF469BA8FF5F137FDAC7E +:10067000E828E6F9F8EB5503769042D5A8BF32AAF0 +:100680009CD118C6BB4FBEA8A3FDCA8A14B29FB6A0 +:10069000B8F52CD447C017E467BAC4BDC6C5097EF7 +:1006A000E6A221BEE73BD0EF3926C691A7A4D8E346 +:1006B000C69FB3C2BBAAB07180DF6534E3C31FFB22 +:1006C00098F9BD817EEF979BF0D408F9B9B3314614 +:1006D000798A267C394AB7847A625443CC9677C8A3 +:1006E000F077512C76D940EBD8297D9435D877BD59 +:1006F00072445C1DEC68FADD561C06EDE8C4F5CFCB +:10070000EFB3FEF257F2597FFCC2E3E58B3A1D14BA +:100710000734F163E2E3FF35DFE0DD0A919FC29821 +:1007200025BEE6906B358C57E5F82B294F139F9F1C +:10073000B2D1893D4FD3F1FC9F25BC1FD1278FB487 +:10074000A14742F99198179A088F9927D77BEFC64E +:10075000CBEFD105982788FE42E2EF2EDC268749B1 +:100760004EDDE6E8D072317E1D0837A7C07ABE9410 +:100770003BF40AA87B338A97EF82D116377C2F5837 +:1007800085E7CEE9FDC71B4DFD7697C0C7DB6A6CD8 +:1007900024C6D517062AEF4AE9475F2F6EF8018D68 +:1007A00077AE90B389EDFB5278BCF34742EF5DB66C +:1007B000F2893FEFC37358A3B01869C753D055836C +:1007C000BFFBD5FACA68FA5D819D625E586809DA96 +:1007D00011EFFBC30F58E7D50C5DE1F7BC3AA663F8 +:1007E000FBB97F2B7CFC1518AFF502AF8EE7C47FF9 +:1007F00029719460AA43221C30CEBE148043FBAA08 +:100800008DE8D71CE75977F78F781EE78CEA1365D8 +:10081000504FED1E81DF3DF9C95D59D57EA0C367FC +:1008200033BA47607BF5DA0F361CC13AF21AE88119 +:100830002FEEFA6003DA17E79EFFD19EBBD06E1E43 +:10084000EBA47BA81B13EEF965E93C1F284BB7E32B +:10085000E1D88AC1F1F0ACC09B050FCF22FC8978AA +:100860003816083D87F801202F9E22D1FDA8E032DE +:10087000803134ACC33D05F63DCBE8F8F15D0CDDCD +:10088000E36805FE4E058CF322BEAF7DD54AF7D254 +:10089000CC712A02A14E7C7E6CC56B35F8BB6BEE29 +:1008A00063FC5C52CB6791241FF57BD9DA2F344C63 +:1008B00057F8EF5EF07D782983F34D692A974B69ED +:1008C000C22E6972B607E642A9E7DF7B8B0EFDD622 +:1008D000E7B62FEC8FEE5ED1B9DD992AEEF534EB59 +:1008E000BBB5A596F73E11F83891197A07E1708AE1 +:1008F000FCABB6328E37DFB1F462F297F259097E63 +:100900009FC29DCADF07B8DFA3F7A7B793D3EFCE87 +:10091000E7EB6D2BDC4A79C0EEC0DDBCCCEFA678EE +:10092000A09B7568B8DF7F4DF972437300D7112C17 +:10093000C07AC696B656CC1BDF853603D8972950A9 +:10094000C738DC4ED06BF87DEBC870FE1DD0C47587 +:100950007DAE737A3EE00FFD15E1E8832757F79EE1 +:10096000BBA0FFC6F14E8A9B9E2BB72F5C8AF47406 +:10097000BE97F4363C5F68BDF73356D0D1589DEB37 +:10098000D98DFF47A37613CFFF17E886A0E100803B +:10099000000000001F8B080000000000000BE57D38 +:1009A0000B7C54C5B9F89C3DFB4AB29B9C6CB2C908 +:1009B000E67DF2D22001372F0C9AE2092F03065868 +:1009C0000A482C281B1E129547F0D1AE8A65210FCC +:1009D00002861A115AAB2DFF0D3E2E7D07CBADB40A +:1009E00017B909A017356A542EA2560DEAB55A69EF +:1009F00049C196D5EAE5CEF7CD9CEC3927D910B49C +:100A0000F777FBFBFDE3AF1DE6CC9C99F9DEDF7CBD +:100A1000F3CD59A9E0FBB74BF1843C62220D5D0E8A +:100A2000427A573DF9F113E584C4CAC5A502A16510 +:100A3000515F6D5932216D2FE7978AB41E27D1A7D8 +:100A40006EFA0F0F29F73909F930D91F27D1FA7932 +:100A5000F8BB9A10BB2C99FD308E47714815846401 +:100A600010EF9C32FA4ADB06E25D6E214449E88AC7 +:100A700029CB25244DEEFAC9FD74183B09559B720C +:100A8000719C64E86F0FB7FD458C8F8C53ED51DC82 +:100A900030FEF33027FD5F45222D2B86D6CD1E126A +:100AA00014C7D332DCDAC74AFB491847248D4142C8 +:100AB000C737D7B4E3B8623816FB89E1F63EA89B86 +:100AC000253F81797609FE42989FEC11CC2405D60A +:100AD00045FF64DACFA1107F3121FB1246394F4127 +:100AE000EB85E6291D699EFF4E60704D9AE9F087FF +:100AF00068FF4926E2EF2A8EE0F755C98CEB78545F +:100B00003261D99ADB51E77344DAD5D29A68C2715F +:100B1000287A14A06BB3B4DBBE54D3EF4F4047FA2E +:100B2000FE8914A51AF06B15880FFA6DAD64F48E6A +:100B3000EF4D2A8575910252FECD7184642732BA39 +:100B4000533ACDC0FE133B08A1FD630A189DB616AB +:100B50006F2732D43D8F61195BD48FF0C4922E3B46 +:100B6000F1C27C2458E381F5D231D309A9EB686A3C +:100B70000B6612E212BD45D03EF6819D6DE689847A +:100B800074BA587B01AD07ABA2C3674B64F0C703CF +:100B90007C749E17CBC5A089AEFB2C19B75BA44B08 +:100BA0008DAF94CC4BE9F3251CCE0F93951B11EF21 +:100BB000A49F00DF7692811E1BE5F360A5E07D9C7B +:100BC000C2E90C76297680977490B9B47D25E7F355 +:100BD0005D741A42C70D5E42428FC3DACD1D04F028 +:100BE000B1CB4AD70EEFA75BF1794C4177915FB358 +:100BF000CEBFF3F72724FAD6C0BC9DA47F0CC98FC3 +:100C0000D0C308CFEDBC7F47AA72FB70FC3E69E6FB +:100C1000A947EFA7EB209758BD85B4D822903AEDAD +:100C200038DF9744ECFF7D0EAFEBEFF6C61085BFC3 +:100C3000C9DAE1994BFB495CCE27ADF9DDC74F8C92 +:100C400030CE83FCFDAD7C3DBDAB5EAD2D037DD0D4 +:100C50002B7A058A1F7B1109C6C5231F6C8575DA9F +:100C6000576D457E57322433C83195FBFB8695FB83 +:100C7000242AF7C2B072FF6014B9DF311C1EFE01D6 +:100C800072BE7B24F9BB4752E56F647CF703BE2B31 +:100C9000A06478FAAAF8EEE1EFEFE7781F01DFFB36 +:100CA000114F43F1FD5BC0D345E0BB07E93614DFCC +:100CB00087240DBD63D4F90B06E73F3A1CBDED3028 +:100CC0002F1BB7574B472587B60BC0D712B3174416 +:100CD0005E47E8B88F5CEB90B6D2E7FB9295BEFF1B +:100CE00025FABE03E346A3EF2490E72B09A9EC986D +:100CF000DB162CFE87CC776A247EFA09E727A3BE91 +:100D000030CAFF794E7F8A97B352C5503DD94948C2 +:100D10000DF0CDBE64FFE7081FE99F017A69D7DDBA +:100D20002E612BED9BA9740B8974BE4FB9FD58251C +:100D3000C9389EFADE2E73B76086FE8D9210147449 +:100D4000E399134718CFB80EBA3E5B6205E835C584 +:100D50000EE5ED12A39B8B220CC66BE27E44A7AB83 +:100D6000A301F4B69BEB6977A2C04B56FF66AA229B +:100D700025327B9204E39C2D17EF30E531BD0D78D1 +:100D800055F5B40A8FC91722FD60572A89027631BA +:100D9000A2EF6F785CD5F72B1CD0DFACEAFB4C18C8 +:100DA0003F3951E53F365EB4758EE5F6722CB77368 +:100DB0006A9DAEB390AFB308CA68EB34E269B4EB96 +:100DC0009D0FF61CC7574A13DDD1C7A39C83FD5462 +:100DD000BAC118248DCA6B3393D739BDF9E8AF4D2A +:100DE0004A54ED9DEF1B8057254E3A92040D448ADC +:100DF00085711FB152B8295D1F59B5BDDA4AD7D3E5 +:100E0000B95E2A01BF2EBD81D939795576A748E749 +:100E1000AEE17830F2E9E0FBD6AE3165C588975A8D +:100E200098E7EA2AE6372450BD01B381FC5321221A +:100E30002E5BD0E3A5EB6D13829EA5C0FF331CDEB5 +:100E4000C7A183633EAE7F881CF092904D3AFE2589 +:100E50008EF20BF4DF88FDA5B860A3EF62FADB82A7 +:100E6000E85F44F0985482E8B20F1C49A275CAEDBD +:100E7000255B697515E7074AA79548270705766238 +:100E800004AF43C767F4AAF6350A80E798223A15FB +:100E90007D1AE3A3CF29DE4C7207E907FFA880F291 +:100EA00047318C770CC78BACA3AC4CBF8E923258B9 +:100EB0004764FC56753D775DCC7AD47ED1F1C2FA99 +:100EC00005ECF1E30995BD7331AC0C4EA64D40BF66 +:100ED0007762424D943F0A3CFEAD8C5F1BAFF08DB4 +:100EE000C3F272567653E540F981B0BFABED0ED434 +:100EF0009BE40BF3A97E3B7B769ECA0FD596240319 +:100F00007C3DB258FA702CAD937EE17CDC45CDFF80 +:100F10007062C5D0F91707EEF14E2DA35848224B49 +:100F200086F31B17833F4D9F3FCEF9FBF796EE2CC0 +:100F3000D073759EC98F270EC3EF8B03DFC5F1E217 +:100F4000497F502C07F412F417813619A54C5EC165 +:100F50001FECE27A2D218A7FD7C5E552E5E7852D82 +:100F600093491E2D6D761274BA5899508AF2F4AFD7 +:100F700089D88FD955E5DA44B32044E051E153C70D +:100F80003DC4C71D5CAF95ED177E6F21757B1D0CB1 +:100F9000BE52CD7AD67AAA0F69E154E133AEF7E8B2 +:100FA0008680772AF5230E6DF06399149842DE4F00 +:100FB00062EB8C2945FA052DB43493BE1B6FA34B0D +:100FC000B09AFC2FC2BA575FF2F1F7BC143F7DF61E +:100FD000B28D268AAFB5B5F49DDCD1F3C557E58750 +:100FE000EF88D2EFFDB9113E689A5652970C9A28B5 +:100FF0009836A3B792D65FF49E70D0FA1F1E489B16 +:10100000E1A17AA1E9156F9D9B9A8674D7DFDADAA0 +:10101000A93C34CD1550DF92E00F63AAC18F9BC16C +:10102000EA7F492C9D11047B71BD807EC3DFE8FB04 +:1010300058EFD1FB7111F969C1F5962531BBD55433 +:101040002D44E9C7F4DBDF1379BF5923F76B74F143 +:101050007E37D07EC5D1FBCDE3F306604B027E67C1 +:10106000D884FAB64979EF0581D67BAA6C32D2A32F +:101070009C0E48FD95AB6338413E4DC4FA4B9C161F +:1010800054BEEC2E3ACEE16FD8D02E74CC8C0DC16C +:101090007B3D5FB8DA41CF772879A89E6C940F1C0E +:1010A000A5AC043EB650B916799DF373028CD39A61 +:1010B0002B9427E7A37E32037DA2F1D97385AF6716 +:1010C00083DF44F92915DE5B7D89D001FE569F3D03 +:1010D000BFDD4BE75DBB5FF4DAE411F86408DC6761 +:1010E0001C60878DF0BD5C29C6088EA178A0705F5A +:1010F00002F31ECC1CE8BD9C8EF352B5C9B489CE58 +:101100007778A26D4C3FDA3B5F11B42BAF31FB36E1 +:101110000A38BC5F0D0EEF093FC0F18595D94BBE73 +:10112000CED951E8253A3F75C0FA002EB02F148E63 +:101130004930AF98D59F097A435DFF68F5E30C17F6 +:10114000D32B1AFD38C355115D3F821FE0627EDC50 +:10115000A76B09F8C7CC3F8AA6B7AE77E9FD8B51DC +:10116000E8ADEBB5F38F566F69E850EFAAB8783A5F +:10117000504A239E2D1CEDB42A4BB43E09FE4DDF90 +:10118000A3D2D16FCB8FF0BD1026DDCE78C6FF760F +:101190004AB226BFDF9324461FBFC0E3BB0DD6650E +:1011A00049EE17FD17419F7B5D43ECD7BDAE11ECB7 +:1011B000D734F1545302D59767AA04845709539042 +:1011C00050DFD22D8B069E49F676DC0725509D69AF +:1011D0002EE27A99FE8FBAFBC46C8FD4936A245D99 +:1011E000DDEDF3E8FAA7D6C9BAF6347F91AE3DA398 +:1011F000C1ABAB673556EAFAE704145D3D3758A337 +:10120000EB9FDFE6D3D50B3BEA74FD2F7DC8AF6BB8 +:101210001F136AD0B58FDDD3A8AB8FEB0AE8FA5F56 +:10122000BE3FA86B2FE96ED3B5971DEDD0D52BFA35 +:101230001ED2F5BFE24448D73EB17F8FAEFDAA8FE4 +:10124000BA74F56F0CECD7F59F44CCC17E5617CE1F +:10125000A3A635C966954E265D3B394FF5F219CAEE +:101260009802A5AFAF44F0066502ECD55740EDED0E +:101270003CD685CCEBAFAF856019A9B57C00EF05F6 +:10128000E97F606F29163FD08E3389EA6701FC0E33 +:10129000AF25F21CD6F3FB191F93F138EF0783F645 +:1012A0009AF6AB267909329D77D251918468BDF6C2 +:1012B000027C35142EE10270116F37C0F59FA23702 +:1012C000080F834A5F414A74B814FA1FC035071AE1 +:1012D000E97BB3C324D42D0C0327876776A560066A +:1012E000B91B022F61FB7E23BC81DFFF65DC110D82 +:1012F000DDFEE872267F08F2EC25DEF322C89903B2 +:10130000D77BE618D52B243A1EAA8376B4ABD58AB0 +:101310001002BC9DDB3030EE48E130F07A48844F5B +:10132000285C31B25E0EE38AF472E8F47A46E6A3F2 +:10133000201911DF17C2AF4CFF637EDA8019F03B32 +:10134000A94A200FE746C7EF1CB32582BF8BC0AB6D +:101350003B89E2756C04AF7F255573CA28FE94392A +:10136000896688A31AF59C8A3FBA1FCA487247B794 +:101370003B454917ED2F17257D057F596BFF93BE20 +:1013800082DDA176A102E62566BF7C31FB1A2569C4 +:10139000885D509246B00B83FB9A2A160757ED18CA +:1013A0002910507E5A2792DD10AFAB4D62FBDF68EB +:1013B000FB9B5A3E6F647F73C6ACDDDF28B6D45802 +:1013C000D00BD44F980BEB51F73B67CB938E80CB70 +:1013D000FA098F0346E057E643BFD1C2BD246988AE +:1013E000BFB22469047FE5E04616AF38F8A2E8DD15 +:1013F0004D677D2659EC765378B793712188ADA857 +:10140000E72E357EC2E4D4FCC01ED8F4D1F5DF0C43 +:10141000E3D6C8D5C2CD103735AFC3321ABF7D3B36 +:10142000E9A2FD9C6F277D3D3FE7BB5F85DF46BF9F +:10143000CF6A3CE1A72035B530BC04DF8EC378E627 +:10144000E62D04F7259B37B27D5188D3E37BBC5C46 +:101450009CCCF8A73ABE12FDDA16C189FAB1E52490 +:10146000DB5FB45A84106171E49DB0FE23691312EE +:10147000C05F3DDBFB9AC3AFD9EFFC9EC37D9CC32D +:10148000FDF69D8370FF18F865F5B739DC75CBB6AE +:1014900055E8E0CE94504F837E1123F05AA52E02DA +:1014A0007C395D74209CCD05246443BBA4D44ED309 +:1014B000C4739B33995E8E03BD4CEB76D08BB07FAB +:1014C00095CDEF811E6BA3FFA17E06BD47E7B778E0 +:1014D000E8738D1E8E01BD47FBC711D65FD57B6AB1 +:1014E000FF18A2E93F8C3E7C2A89DB192B4965FA5B +:1014F000707DDB5884CBEFD1EEA78CFA50AD1FE99D +:10150000CF4FED1F467ED432A1F2A3FC029DBF3720 +:10151000A0AB27D584F30B74FE1E29D0D653EBEC79 +:1015200005DAFE697E4957CF68F0E8FA6735CABA2E +:10153000F69C4091AE3D37E8D5D5F3DB2A75FD0B1F +:101540003B145DFDD2876A74FDC7847CBAFAD83D2E +:1015500075BAFEE3BAFCBAF65FC23F60FF4FEC33E8 +:1015600015CA4FBFA47A10F6FBFF95649989E790DE +:1015700027177AE0BCB3C57D9D5DCB8FC6F2889BF3 +:10158000F16DB476556E0F6EF079A752FA746FA8AC +:10159000D3C9710DD76747363460FBB31B1AF1F915 +:1015A000975C8F98934D411B9C53EC379DB4C503BA +:1015B000FF3606813F7709FE2F416EC863FA730834 +:1015C000F088201E787598CEA781B79A5CEF9DAA07 +:1015D000C1C7147BBDAE7D9A74B3AEBD86E2E34A4B +:1015E000AAAFAFF1ACD33D9F21DFA57B6F63E6D2FD +:1015F00087408E367BAC04E46833617854F1BAD905 +:10160000CCF0ACE275F3FEA51EF04306F11F2C9E54 +:10161000A93822F877EF183313E2DFAD27AFF1C016 +:10162000BEF64822C5EF087C7C21FC1AF17A949F13 +:10163000C7D558F5E7ECD7707DA59610FF4FA6E506 +:101640008BBDE2A77E8476E43886717EE3BC545F6E +:1016500095C1787F2A7CFDA6ED64A89E9E922CA160 +:10166000DEAC31D18D15F5776A2C1D3518D7E6FB28 +:1016700051B3C070DEE29EEE8573FDEA6481EBF14A +:10168000BBB1FD4E952651F064A68AA45BA3878466 +:10169000DC0575A0876BDC568CD7D5F07C00E37B2E +:1016A000151C1F5F979FBE321F71FE50F948E58FD2 +:1016B00068FADD4C1AE1308F981D5676CE1739B78F +:1016C0005B960CF2F2732A2F1386CA8BD12E1AC79F +:1016D0000F4047F09B1CEC3C0F3B82DF7F3409FD41 +:1016E000A56878DFBC41CA345B22756A2991CE9B1C +:1016F00005663FA9C3EBF9A613C747BB483C0E1CC0 +:101700001FC085F30CAAEF8B203FE1BB9C0E8FBA64 +:1017100095BB808F089CB38E22AEFFA8DB1744B820 +:10172000CDFE22847394EF452F3B70FD74DDB2161D +:101730006FC9F4DF7DC0AFE60E3CEFD8E150EB415E +:10174000CC1BF115B0F38F1899B5ABE759A9FE1072 +:1017500081F392B8720227A2C404FDC0BF8AEB5382 +:101760004C2584FC6AC7C2999E31B4BDC0EF317963 +:10177000B1FEBCD90DE77AB40E6791C185CF1FC108 +:10178000F352E93281B6DB9BE73D7F340BF344B87B +:101790007E99F73CF04FA75A87C034E5C3CED8C135 +:1017A000BA62A77BAECEBCC17A10EABBF8B9F1AF82 +:1017B00076CC7BBE99C5017F0A78EF6D3605D13FA7 +:1017C00024CE10EC9BFFD1E7309DC54F1ECD03FF0B +:1017D000CB63F616CAE06710DD7BC793AD2CCF2430 +:1017E000C57F00E8EA5C3F80DBC1FB8A5D4EE0F329 +:1017F000081D42063A30BCFB8A42FC1C2A8474C98C +:10180000F17C1AACA6F3E55431719089B415EA72F3 +:10181000B349EAC6072EA493A9A851B0429E42310B +:1018200091405F35F173C1B82276DE29D9983FFC2B +:1018300032E7D3779259BEC43B5C4F257876B07CB3 +:10184000A11A13F64FE06504FE66DEDFACE3B75E77 +:101850008FFFCD64CD3E8392AFB688AEA3B3D9E5FA +:1018600082F3B1EA66D31D604FFE1FCF83A074FAE6 +:101870002DE0A5D79B14EB67743B392CDD385C1742 +:10188000A25B347AA9FE68B4F6EBAE177D009FC95F +:10189000EEDFB980CEBB7A7F528948F176BC4E2C00 +:1018A000EFA3F5354FA7E239EC671C5F6B4D0329B9 +:1018B000A0B7DA7EB4D107A56D5F7D304306BD25A4 +:1018C000EBD6B1F64035E6196C8A8BAF027A1BD79E +:1018D00071FC8BFF48063AD47E66F3A17E91D9FE57 +:1018E0007F090A1782750CF6FB37727B92E566FE5C +:1018F000FA316EB76E54FD5C2AB8DC6F15CE539783 +:101900007DBEAF7E16E06F699D48E0BC7849A49D1E +:10191000C511026CDF6FA7FF815FEC2789D3413CC3 +:10192000EB83FA78C00AE29DEEA6FD97B5199E7387 +:10193000BF788521AEB0B02E6257CEE2FF8770BD72 +:10194000F365A68FE77BE34290DFB0C0A7B747AF50 +:101950007F292EF151F88FC3BB74DDC7175FBA1B07 +:10196000FA19F1D1E066FC798CDBEF41FC10EC4B0D +:1019700096FA042BA45618F161847F106F063CD4AC +:101980009B4BA6BBE5A17830C24F3186F85D41F193 +:101990000BF918D1F0315DACB5C039DBB2B902DA60 +:1019A00049237E8C7850F7352A3CAFAA7012EFF1AC +:1019B000383ADFFBED1602F68B745F8DE7757378AE +:1019C0003F0D3CB87F91E87F2C0E243F9304EBA49D +:1019D000C8DC4AFBCD0B5A74FB9E157CDFB394F830 +:1019E00012200E47E17C2F0A9D75FB1FE3BA8D7014 +:1019F000CDE2F6C2B84F22E6EE62F0CB6E70F3F89D +:101A0000D1787DFC8894BB87D5BBC6FD92CA574B65 +:101A10000273757E8940FC837589FA65B77944F94C +:101A20008324D86F5A7682199C6B1F30A35C898BF4 +:101A300013401EE712BBECB0037F9808C4DFE62812 +:101A4000315857C73BD321D4805CDE46870BE07901 +:101A5000B282FEDB12D68596C11EC0DF6D1E2BCE74 +:101A600043F9EC532D9F45C3C3BD6EBE5F1C4FC6EB +:101A70005F0CFC9F83CF5181F18C6E88270F08F695 +:101A8000D06E2112D7A0FF0C5AA9AADC0E425B111E +:101A900059EFE0F908F5B7407F8E22CEB1DD3D4C1D +:101AA0009C433D2756F9F346BBA35B647C776A9061 +:101AB0003F74E7C47E02718CD6F45BBC806FD53E68 +:101AC000523FE7C76E38778C65710C55BFC782BF30 +:101AD00022423E86F9732D9F0EB1CF4796EFE9A4BF +:101AE000B8F03BCC04EC8A5FF8A085A05F396001B8 +:101AF000FE5A12B09CD1BEEF77522D520CEBB85269 +:101B00008272A9879D6F2F256CDF4482B4BF268E19 +:101B1000EB07B2D1E7FE98357B4CF9ACDF7A38E3BE +:101B20006DD38C9B1719D738DF10FB6418DF384E44 +:101B30002BCF776AB57AFB1488EB3D2F966C84C661 +:101B400022E64F3EED36E9E2A24BED4999E6A44884 +:101B5000FDBD34479DD63EABA5FA9E8AB7881FF6D9 +:101B6000179D1F769FE594DE0F23A7BE961FF6BE36 +:101B7000FB14FA61E7DEB6A1DE3F53131B02E65405 +:101B8000F314CCD46D4870A1DF1C84D21EC84078F9 +:101B9000D4BC8524D92B005E3F01654CD76F96D904 +:101BA000B95D92D92B78E9F3EDDC9FC13FCA07DB21 +:101BB0005D5227E8619B9D34C7B8E03D06B73ADF28 +:101BC000E0B8455E412A8E1E0F3CE7BEE878E0B9DA +:101BD000E1E4A4D7D4F8EEBDE0173E2F1288DBDE97 +:101BE000E0B90B9F5F175886E5F5819B99BCA6B0BD +:101BF000F9E87E534871839E7AED86EFC03E739F6D +:101C00000DE36FABBFFDF1F72A64C00FA537BCB77A +:101C100062D94E889B898526F4BFDBB2D8FE58DC9A +:101C200028E07E708B6CADD9077C945C7D398C4745 +:101C30003CF12690D733B14C5E5B93A7E2F3736F10 +:101C40006FF62CA5E3C47A62311F4CDC987B3FE42D +:101C5000BF91E7E87A09C825417BDC6A65656E0AB1 +:101C6000CBDBCB4D61784D4B617E509BC55FD4582B +:101C70000C79A540DC081EECE620911CF0DC8CCF32 +:101C8000454140FFA635D65F74A7067FEAB8F63017 +:101C900015DEB2E1DEB7E273800BDF77B1F5A8FDA8 +:101CA0002E4B61FEE7657C3DF6701CCED7EAA2EBB9 +:101CB0007268C78967CFB99C19E5E487EE29E3010B +:101CC0002FADC9CAE529282FFD16D093377A8E9EED +:101CD00010E247A3E758BCD6F985D09D037E77B5BF +:101CE00018DA44F93156906695C33EB4DA82790227 +:101CF0007D45C94E88BBBF62969C2E38D7E2F4F76B +:101D00004DA3FE27E367F77CA0CBB46513B6B26999 +:101D1000EC5A7BF34AF1937D9321AE1BB4E07E63D2 +:101D2000893D18827569FC1B7E6E47FDA609FC3D46 +:101D3000BACE25534525267E183FB0991CD1FA9777 +:101D4000544D1C8173C97778F5DDA96717C0F2FB84 +:101D500089649D2268FD4DBA1B99007E01FB5B12D0 +:101D6000D0FB4746FF6969B9F7D92419F0D1E5439B +:101D70007C8C33A35C8CD6AF24E401C4D37D537F29 +:101D80006D978B613FC5F48273EA6B0AE809EA0735 +:101D90002D28A77899335594BA69EFF68089801E6B +:101DA000DD566EC1FDC3B6A2FEE7AE06792C37CB79 +:101DB000180F28EA9B3F05DB2B24F08BFA608A344E +:101DC000ECCFE2E90E47A810EC77C57FDA9769F807 +:101DD000655BF97B63303EC1F98852D0316D4204B6 +:101DE0007F801F1995E8465CDF91BB63513FBDDBE7 +:101DF0002EF2B835753428BE9D1E268FD3785C7BB5 +:101E0000D94E01F37796551CAFB6D1FECB5A049448 +:101E1000CB25EBC593104F5C12D0FB65FE46EAAFB5 +:101E2000C98867BDBFC6FD393AB815F877B4FE9CBE +:101E3000D13F792085FB67A5A454EB9F44DB3FA9E4 +:101E4000FE493B511E62F2C3E65F6A66E751449960 +:101E500087F89D269E7AEE6A0ADF99F2BC3CC0C7DD +:101E60000ABEDFDC1678D30EFBDB6D5F8828E7BB8C +:101E7000ACD471817CE7F8AA4737D2F5F5DC7D59FF +:101E8000EAFBB4FD672956C4EB2E93FC832A9083AA +:101E9000E72DC847D1D6650F88A480CA7D4C40C0C5 +:101EA00052A58B331043CC1A7DE3E4F754DCE503F1 +:101EB000429E46BFFC96CB67E27AB66F76971325B3 +:101EC0000DF68372DE6EDC979A658C2BD9B3E452E3 +:101ED0009057B5FF2E81E5355BF7572B101BCAA134 +:101EE000EB80F964BA0EB073B98138ACE70592B0F3 +:101EF000CC0F24625910C8C0F6C2403E96970472B7 +:101F0000F1F9A581B1582F0A946139265082E5650F +:101F100081ABB01C4BED1CF42B0E5463392E702D8D +:101F20003E1F1F9887E5E581B9587A038BB0BD2421 +:101F3000B00CCBD2403D3E2F0BDC8AF5F2C0ED5801 +:101F4000AF08ACC37242E01E2CAF0834615919D8F7 +:101F500088FD2606EEC3FA958107B1BC2AF00096EB +:101F6000558147B05DF5375EE272353B71A9C4F229 +:101F70000EBC5EF0CF7645D1C361AEC757A628FD33 +:101F8000A08FD57E22CF0B37F6FB34457F8FCA64F6 +:101F9000EFB6E7E3FE3DBF14F6EFBBA81E48A3F47F +:101FA00059939BB71BF6C1A7397DEC96462543880C +:101FB000ECD713A7B2FB006BF6D763FC9154268DC8 +:101FC0002AFEF36E0A7B7F9739484C98BF4FF0FC8E +:101FD00029A6A04F80713A8B4D35A0D7EF2B3ED369 +:101FE00003723DAB42290737550E761DCD437D3533 +:101FF000A51CD659946A41BE9C90A29C07B873CA8E +:10200000DD33E7D1F69C66136E67652255435D9E0E +:102010004A50BFA9F195CE58BD3D9453557FAF7F2F +:1020200007F4DF955E50CAEC08BB3F20DE9387FBC8 +:10203000C75DD66EC10C7A8E6E6C1E57753FF46FFD +:102040005DFA04F851796DDE4376983FE82DC3F5CB +:10205000A6B238566E873C39862E28FF21E510A49B +:10206000BA1586FC936369FDD23DC143508EE90ADF +:102070004D8EA3E5D8FDDD87607B33AEBB7FB28399 +:10208000D62F3F4A0E035A4BFAE4294E5A2F3BA152 +:102090001C86706445BF7F4A3CD0C91A6A8AA7EB88 +:1020A000D9F50EF16EA4F5CA531D226C0B06E96F2B +:1020B000238D7B3574B1CB1D0AE03BF30E09E3346D +:1020C000BBCCFD3189C543E9D30970039C940F4013 +:1020D000EF672A034887CC72521A443A48338B90F0 +:1020E0000E8C5F6A5305950EDED40AC0AF540DED19 +:1020F00003D388B49BB6CF1E67427D6D6DC943BBC9 +:10210000A2F21DC5EF98B94E2D1DD838BB0C7E6AC2 +:1021100034FCD6FE93E0F72D6E57A3E117788FC5F8 +:102120004F4796E31B381F5239BE3ED51DBDDFA673 +:10213000549E9760C073A7891CA5B647732F86D29B +:102140009076BD37D5A4DED719155EBF93CAECC50E +:10215000FF355EE7A78E8C57744ED322F710A3E9A4 +:102160001B180FE01E4ECF118C53E6A29E6BE7FCAE +:10217000D7D6C6E293AA9EB3EDABEE8638A5AAE702 +:10218000EAF8BAA2EA2FAE67AC3C8E1189CB8E4337 +:10219000FBF7109FE7C364E5FB202FC4A38FAFB705 +:1021A0009BA46AA05F7012CB5F995DF98A22227DA1 +:1021B00064BCAF8C072780BFF8E210D02F97FA0BD2 +:1021C000664A77FACF6E28E38A2513DC1355F35A53 +:1021D0008854EFD1CA996ACF2372A8F2830BF78390 +:1021E000C0A7D0FF385F67641C81E535DC95DEB998 +:1021F00055A3FF3A1D99F89EDA3F1ADF7ECADB3BF2 +:102200009B9F44BB1157C5FC83846617F271C2546F +:102210003F581A0DFFFAADC0BF7DA9E245F1EFCBE3 +:10222000FF47FCFB782AC17973AAA41EC83FCAA144 +:10223000764706B9ACA2B88678BEC78AFA4F268C14 +:102240007E7215CBE3A3F8EA867867D0E40C815D53 +:10225000116D0353017E624B9460FFF361B2FF1D69 +:10226000D007D1E4408A934B8098A77F70EE5A47FD +:102270001AE4A54BB1503F45EBED106F70F5135EBE +:10228000BFCF91F6D5E313A753FFF642B303EF8F09 +:10229000FD2915F9D7771A4AE55209F3D7543EBEFE +:1022A00090FD57E531223F52892A3FF5C5A8FF3EF0 +:1022B0004B7547C68BE6CFECE37A2DD673217FC6EC +:1022C00085F244E59CC90FE7FFB68E91E55C5D6F32 +:1022D000F802F2BE65C69B41E8ADC64DED3C7EA25C +:1022E000AE33C6C3EE61C6D412DC973879FCD4CFC6 +:1022F000E3A7F602FB05E2A7215D1C4B8D9BAAF725 +:10230000C48D78CEF7E8EFED803E7AB238020FE167 +:10231000FBA9DBF99C1D9BBC0970BF20F8128B63E5 +:10232000A8F9E0B5F06F0AA7E015308ED4F15D266C +:1023300077B3324968135D77EDE70251E83A7A3FA7 +:1023400017B134C64D67D1F7C06FE815EC213BEDEE +:10235000DF53622370BED6EB34E1BEAEF7A48072C9 +:10236000D05B12877952474AAEC03C08637E945ACC +:102370002EF4D70F9B3766C4CFC21B9E71005D1E23 +:102380009126DB73715FCACE19557DACF69BE319BC +:102390003C679CE181FDCDF28166FA84344BEC9C74 +:1023A00051E5BF34C7BEE714FACFB455CCAF4C27C4 +:1023B000A18D9263285FF77AFCF3609C4722E7784F +:1023C000BD97D0F9DB647E8EB736BD2A8F0EF0C381 +:1023D000C1733CFF74E8AF247595001F3EE2FDF524 +:1023E0004FEEA7EDB536BA4F053D5CF676B20C71EF +:1023F000E78A67DC808F5986F5ABA51A3F33EE4735 +:10240000977906CF0B305E7EB67C1EEE7FA3C5CBE0 +:10241000D5B89EBA2F85B89D348C1E37E25B9D7F60 +:10242000B1C0F69FC422A01EEB85AE13514FDC094C +:10243000709266964FA0D804CC2778B1BC0CCF130D +:102440008837899F5376676ACF29D5F5D0E785C34A +:102450009D5F2E8E92CFD1EE617666B185C52B85BC +:1024600075CF2C86791797D804766F8BF1E91276A1 +:102470005646EEF1307F6A897733E6F11ACF23EEC4 +:10248000F1B07D69AFA53B53E2F14CEF30FC190D83 +:102490002F272C1D78EE75628548605FFEA2FF8AAB +:1024A0005432CCBAD5F24DE00F8AFF6F014EDC1AE0 +:1024B000BAC9C9C3D2FF04E4E158869EF70CB6D767 +:1024C000C7609CBB0EF0A559F7BF723C1DE3F0132B +:1024D0005BB008E2BC6D4B77DA09F553B7149CA9E1 +:1024E0000852BC6F210315BB413FAC7762DCA0AE44 +:1024F000FEAF151BC769F058C9F0B8E4F01609F82B +:10250000B52EB7D91DD4CC63C4E73188E3D0796345 +:10251000383FB71365BF67B8F847C17CC6178763F4 +:10252000BCDD747EFB7FE697821D57E31F300FD31F +:10253000D32C5E7B87C4D601BA46CBDF7581353A92 +:10254000BD11131648485B377760BC33266CC6E76D +:1025500046397AD820472ABEA3D14FC5B7F1B98AE8 +:10256000EF13F55B8A201ED7163BBC9F644BD3C785 +:10257000D38DE7DFEAB9AFF1BD3F703A9EF54F4426 +:10258000FEAAB3060B4723BF2A7E8E7FB15902797C +:10259000B1F37375F55CDF59E4C273FCE375229EF9 +:1025A0004BC4164A9D90DBD2CFED8C6AF7D4F3C1B1 +:1025B00068E77D4EC3B9614C11AD6BCE7F8C764F11 +:1025C000A563B47342239D84343D9D06CF07A3C801 +:1025D0008D2A2FBD9C1F2F94EFB0D0CAF2188DCF3B +:1025E000DFE0743DEBFFE1820974AADB2B4C12F0B3 +:1025F000E136FABF20C84DB905F39DDEF8C246C0EA +:10260000CF7356981E8538F789FA37E64F01BD50CB +:1026100061C173896E2AF7ABE87AB670F91F8CAB8B +:10262000B68BA14201F60F82EEDC36B6C0AEABCF60 +:10263000AAB0A07DDEB6A32404FB993AC2CEE9B6C7 +:10264000547C33A19BFEFB8D022B8E67DF22E0B909 +:1026500092FDCBCD3EA07777FD0FEA309E5A684DB4 +:1026600004FDA8F2035ED4803C3289CD71B870C2FB +:1026700075708FFBDD760BC1FC6321726E2C53FFEE +:102680006F596E790AF05D3FE403E2F93B8FF31274 +:10269000AE1F785C568D871BE3B3D1E2B2A38DC722 +:1026A000AAFC62E48BA969C39F1B47A3B3262E7BB8 +:1026B0006D9A7B18BD24CFD7E917551FA97AE14D34 +:1026C0000EFF1B05AD37C079D11B7E1BC7DFF75F3F +:1026D000DC500EF96166BCAF6AFFF25FA6013F9065 +:1026E0009B8561E3B1DB395F11389F2F8AE0F97A6E +:1026F0007F24EF10C47951833EEFD06817A2EBA975 +:1027000091F550421AF38F54BB01F6C1E560F6C152 +:10271000E48CF0FDD7B51375F52DDEE0382CF7C04D +:1027200038F6FC58FCEE8C51DE8D7A5E9DDFB8EEFB +:1027300098B04842495AF99499BD19D4F3566C1F80 +:10274000BC07F09E106AA2436D4E56DAD2605F90CD +:10275000AC6C01BAAF4C56B6A669C66FB2B07C4637 +:10276000D144FC7BD19FF6615EA3DABE378DADA765 +:10277000A59AF5EB714FF0FC172D9B4E96782C1017 +:10278000874F63E76E479C23E753DFCFF9E73ED0DF +:102790004785113F7E1BA727055F81F8488BC5E75A +:1027A000D1C6EF3AD21271FCF8894FF6419CB44978 +:1027B00032490205BD899850AF362B8E9A7DC5F0FF +:1027C0001E83BBC5A93C1EE4FED00227BCCFCE159C +:1027D000CD0EF3E75A79DBCBFD10152EE37AF7A681 +:1027E000313BB03559E9027CDD9EACEC05FC05CCF3 +:1027F000411BE03B601F7E9FF214C7D7663E3E211F +:102800000E3C17C479C5517D2FA11BE6F98E182403 +:10281000B0AF3E67F27E04F7E5477BBFE6056E6723 +:1028200035F76B5E48730FD33F721FF81338B7AE9E +:1028300096C9A7215824BFC7A4E679523FF755800F +:102840007F61CBF0F9939D441E314EE5E0E3D0FD6E +:10285000F51B696C7FFD561ADB5F37833E275E36BA +:102860004EFC05C6A178C273DC51E0EF23863F7FA2 +:102870003FEEDF2FF27B136739FD34F83B9B368C3C +:102880003CAAF83BF7F6A50970EEA87E27C3D84FFF +:102890003DAF57EB6D89FAF95B4B59FDBF39DD9AB6 +:1028A000DC6CDFEF4A67EBB01BBEE760AF65DF2192 +:1028B00051F31ED4715CE94EF69D35CF64577A050D +:1028C000DEE3C77C80D644FDF70A5E4AAB76A503FB +:1028D0005DF8F8AE74C6A79D79ECFCC0F8DDB3D7FF +:1028E000A17F05946C5CAAA4C6003EADA2382C1E44 +:1028F00053D399DCA8F7C4D4FB3ACBB689BAFB3AD8 +:10290000AAFD5CF63441FB0EE79E20B7D1F2D7FC5E +:1029100045D2B310B2F92B29B642DED6D7B5AB807B +:10292000CF38D750BB7A79FAF0F968D1F49AC6AEAD +:102930004E481FCEAE126F91569FAA76B5DF705EDD +:10294000A396B3385DDAF97E1BF424E865F81E120D +:10295000EA6733DB8F6E8F67F14AE03FF83EC2AC27 +:10296000747D9E8B9A57A3E6D3A8F9356A3ECDE0D5 +:1029700077410CF934FDD6FE96544AAF813104EF0D +:10298000DBA52E967A52210F61AA4C20EED49A4BE9 +:10299000E22BA1BDC4E485F87CE27CA9D542EB8999 +:1029A00032819BEE702F31E8A4E3DE9E9ECBE008DF +:1029B000CEEB815053822C4DF7D07E0975327EFFCD +:1029C000488D27F7366FC2EFAB0CE287C39F20B369 +:1029D00038AA5D66FBEB6A9285FE79A49F498D3724 +:1029E0002F677CC9E2CCF0990EDCAF7B63D13F9DB1 +:1029F0000D27FAA807BA30DFAD2375CA2DD05F9531 +:102A00001FF8BED45E4DFCD5983F747B3A93C768DF +:102A1000F943B18B993C1AE9B88DC3715FB212C00A +:102A2000F57D71FEBCA8B9BF40DF2370EE1693CCD4 +:102A3000F4698CCCCE8F8924605CC72EFBFDB09EE0 +:102A4000184FA5047AB2C9EA68132020BBDC4420E1 +:102A50000F760A1F47A923C28745982A4798BE3494 +:102A6000930F553E17395074DEC91C44EAB5B5C7FB +:102A7000D1F54F713CFF9900F1BB82C66A88FF3DDA +:102A8000B3848DB13D4A9C5BCDA31ACC1B230B5E56 +:102A90003C52A5C91B6B99F3A23E7F7FCE8B5F276B +:102AA0006FECA70FCF7911E2B2FF5B7963AA7E3A90 +:102AB00021FA4FDC43F1BB802A15D89F2DA0232E8D +:102AC000C6F824DB27CCE7780E7E4EF16C8FE0F958 +:102AD00084857D3762C181E7108F96C90CD596BB7E +:102AE00013D00EA9FBD1EBEC1DD3E0BCFBB4756099 +:102AF0003CCC7BFAE9D7B3C02F7CFBDEB34E483623 +:102B000078D73CE084E71FAD7FCD09F87A7BBD889C +:102B1000E7C43772BF7FC9862F27C0B9C70BE94CFE +:102B20006F14662887D235F68804DC685F6F0ED193 +:102B30009569FCE55BF7C4716663F5D55D49BABA82 +:102B40006A5757DB58FCF9D69FF75833E8FA6FDE1F +:102B50009388FBE28FF879CC47FBB23AD19FCA3019 +:102B6000F1F97DAF819E8375C1BEF8DD0336D28D4C +:102B70007AA9CF42D83EB95648617993F0675CD7BD +:102B8000B307E370DC153B993DA8A7B80D503CFA9C +:102B90000FDC8C7ADFB8EE156F773D9B4ED7B562B0 +:102BA0000BFB5E02F45F0FF9980116D732C265B4D1 +:102BB0000BCBBAE6E23E71E91DEC9C67E98FD8FDCC +:102BC00055A39D584EBC6D55B4CB8A0EFDF39507A9 +:102BD000EEC379561AEE831AEDC6DFD2F97E6C0287 +:102BE000B9E23CD5374D8EBC8491EE1F7EB481098D +:102BF000E31F37D8B13CB541C2F250BA8C78BE75EC +:102C00007FCFB31928CE7D13C0DECE7A6E8AFD5BEE +:102C10002412973077CEEB7E44067EE47155BE1FBA +:102C200059CCF16E212C0ED1027109DA2E4AC678E8 +:102C3000FC2BF3212F20E860DFDF51E3138B015ED3 +:102C40004D1EF3E20BC427DC191CEE2B28DC682F89 +:102C50008B5F96C985ED6534F8A3BDB75A64E72B41 +:102C6000C6E7AA5C1CE27A7AF963735B01854D4F73 +:102C7000FF211BBF27C4F3E6448E17919F5B88C4D6 +:102C800090271724C788866F8D7CB9123E7E0B76FD +:102C9000C4C1DEB313FB46BC27A0F2E3816D8837C5 +:102CA000955FE02690096230A4DB63AABCF03D0288 +:102CB000CA77BAFA9F2DFDD9A017561ABEBFF06782 +:102CC00061F8FDCAA51979A86F96CBCA74B04B2BD1 +:102CD00088AF5542F8D9BDAF8FCC1DCFDE03F2FCD3 +:102CE0009840408E563FF58BDF801EBAE5573BE398 +:102CF000410F7D6CEE4881F9563DDE120FF73F3FE4 +:102D00003207E3E1FD8F434C1F19E76BCA50F7F11F +:102D10008A43A07A720DFC1308BF3C381BE4EC6FA9 +:102D20008F5B24B0A36BF7D8BAE1FEEB9A7D0C8FD2 +:102D3000B47E92D53723BED6EED7CBDB2DFFB23390 +:102D40004566F7D33238FE324015AF79CC82F1D2E6 +:102D500035C744F86C19594B06103EE3FBB08E3072 +:102D6000A5DBDA2EB1DE9A30B49D7A2E5690A7B547 +:102D7000DC5F5C6BF00B1BA2C45B6ECBE07E21E7DB +:102D8000738A17BC671EA4EBC1B05088E9E1A69F07 +:102D9000D814380FFAF8CDD44E88879C7AEC857811 +:102DA000A138C2F7EAF7BF4E75E58FA81FFECCE544 +:102DB0006350CF737B22EFA70B8433D903AC5C65E0 +:102DC000E98EBF8AE26555A7C51BA48F57FD425403 +:102DD000606B46DEB0617CEDD65F3C73FC4ABA9E08 +:102DE0005BF75A926B19380ED0CF2ABDD6029F9747 +:102DF00046E873CBAF9FB1CAE3D873C87357E97481 +:102E0000EBDE1E2BC4CF8DF89CD2D563657266A015 +:102E100057D7C9E9607F9B7E72CE0AFCF0F14181F1 +:102E2000A4E60E7DBFE1F117E2A19F4AAF41FA0D82 +:102E3000A15BF7ECDF95633FCCD38C46BF79A03420 +:102E40002B90BF7FF93B3A6FC39B362FC0DDF0CB91 +:102E5000DBE361FD7F3037323EFF714B0AD8DB0682 +:102E60004B3045C2923D6FD87527F2DFCA57EEC48A +:102E70007C7ECADF6920BFF0813A806BC58F162047 +:102E80005C37113FF25FC38FD97DB1BF9A49CDDE68 +:102E900061E8F95906D34F7FD86D4367FE0F70186C +:102EA000077AF75531C4F2ADD6A19FA1DE03464D96 +:102EB0004CEB7FB533FABCCCED2EE17A6C2DEFB53F +:102EC000F6B1CDA8C7FE98A5A482BC533CE8F499FE +:102ED000F8CAB454AEFF30FF17DFA32A620A3C875A +:102EE000FE7D162566BCEE3D1E8F62F3DFC1E7A7AF +:102EF000EB8E152EA765CA609E421FAC638DC0DEA7 +:102F000001BE813CD74B33993E1894F7C7B630FACF +:102F10007079FFF418D3236B42736B500FF459BAD6 +:102F200053A15FA867BE807AC016B9E7AC95E3C726 +:102F30002C5C8EF5ED745D66418BCF8302FAFB3716 +:102F4000EDA0FD34FEC6DA7D4C1FAF857BD4BA3CC4 +:102F50006226876A7C7FA5E17C452D8D7AE0AC41B5 +:102F60000F0C9E0FFCC83D623C5EF5B75659424FB0 +:102F70003C0CF2FA860DFD9955BFB060BEF7273FB5 +:102F80003F7CFC5B94BF3FE952E554AF578D72DA4A +:102F9000F0E402329C9C7E92EC23C3CA297D3EACB5 +:102FA0009C26B3EF65FCC3F4EA20BEF572B9328A01 +:102FB0005ECDCA1CE23F245C45AB7FFCE9AD39A085 +:102FC0001F8D7855F169D48FFB21C9C13D543FD283 +:102FD000BF63448347157F2A7FDEF2B3D538CF2005 +:102FE000DFAAFCA9DAA941FE34C2ABC7A3B1FD3DFB +:102FF000AE8754BA5B36D17D31E4B53D2DE23DADAF +:10300000D3F2403CE4FDB7C4B038C06989D7135946 +:103010007DC06D6D057DA13E1F8861F73B4EFB06AF +:10302000E21335FBB39307C4788877F787D87EDA45 +:10303000C87F1029C57803DF6F4F131DD901D84F02 +:1030400075E4974204FF4CB385D70BD9EF08F03CE9 +:1030500092FF22BEE357C13AD57B5941C59C46F148 +:10306000B88C81481A9E6B8A8738CCB203B7E27756 +:10307000A796B7EBE1BFC9311FCF776FDAA1BF6762 +:10308000B89284ACE04735FC48FFFC16AECF6F31F8 +:10309000F08D9FC70F8D7CB33C93CB61092961FBF9 +:1030A0005C96FF711BD75BD3C4E2397514DFA78F21 +:1030B0008A78AE73E680485A01CE9F33FF9F045949 +:1030C000BEC01ACAB7DAB8E329E0AB4BA3DBE553BD +:1030D000FFFAF6847B689755BF796BFC23B43CF507 +:1030E0009B372EF937A83FF57AF65B6468FF29070E +:1030F0003FBB11F4D3E98336BCF779FAE07F64DF94 +:1031000003F5DFD9BCB0CED39BD8FE3678D089F694 +:10311000FA7416F3EF9A9E3E37BE1FF52DBB5F7D06 +:103120007F26CBFF3A73E0EFEFC0F741CF1CA050F2 +:10313000813DE5FBA9B5BF8BC1FDF1E9A7CF4DD01E +:10314000FEBEC1D785670D3F1F3CED2475906F73A0 +:103150003A91C59FD6FEDB44CCC75FBDAFC70AF727 +:1031600022A6FCFB97E341BF9C7E92F909D47FDD48 +:10317000052EF3C33FBAF27B168AE73F834F47F72A +:10318000F9653FBE7B369C8F0CC50BC3C3698A07AC +:10319000808BE2A501F462347CECCD64E738FF7CDF +:1031A000F8F8CB8D30FFAA0357E07DEB085E04856D +:1031B0003D7762DE10859F3D3F786E3CEC9B2F048F +:1031C000EFCBFF9FC1FBA77F5A7819BFDF99C9ECEE +:1031D0008D91EF87F2F553DFC6FA2F9D5E5CEF28E5 +:1031E000E5DD99F5CF0AFFFF0EBDC766FD73EBB7AE +:1031F000E8F47E8ED3DB29C17EEFF4D35F66938B38 +:10320000807BE63F2D9D47867BD0AF3179EDE5741D +:103210007D6F92D0826A01BD0DF4339A1C2C0FBDD4 +:103220006F7E2EFECE0FE1FB86D902B3CF7766B15B +:10323000FD827A8E3B3BF926F423662BDBF8BD3505 +:1032400013AEA72FB9F289ADC3EC93E62822FA6B2F +:103250002F6DA4F3533CBDE434494D323E47BF6D5E +:10326000819FF9770B946BD9F743938FD6C1FDCD2E +:103270003995FA7DC4B70CFB828575FAF6EBC86EFA +:1032800037C4E9AF6BB0909000F1617DFF05592C18 +:103290008F6E21696C61F1968BC60BEEEBF89D4049 +:1032A000B2DB8097A178E07864DD87E0CDE667FB4C +:1032B000421B317EBFF5361DFE8C78237C9F8859DA +:1032C0001DA6087E6D0ABB2FAA190FE11EC427C7D1 +:1032D000F7C5E2D5489F0BE1391005CF9152FF9D0C +:1032E00001C2FDC1D983FEA003E5E9E5C7048C3B1B +:1032F000BF5CB9ACBD04EA3F17D00FFB6B5519B1E9 +:1033000053B85FB290FD78CEA228B23481FD7E0022 +:10331000B40B95FF8171FE844A936E7F99A8C4EA2D +:10332000E04AAA71E9EA6E5FBAAE7F6A5D9EAE3D81 +:10333000CD7F99AE3DA3A15457CF6ABC52D73F274A +:10334000305957CF0DCED4F5CF6FFBA6AE5ED8F176 +:103350002D5DFF4B1F5AAA6B1F13BA45D73E76CF80 +:103360006DBAFAB8AEBB75FD2FDFBF49D75ED2BDCF +:1033700055D75E7674BBAE5ED1F7B0AEFF1527763B +:10338000EBDA27F6FF54D77ED5474FEAEADF18F885 +:103390009DAEFFD5E143BA7A357941D77F8AFD35B5 +:1033A0005D7D9AF496AEFF359EF775ED33E44F746C +:1033B000ED2AFDAF2D3AAB7B0E670CC109B03F6122 +:1033C0007FB3BC7FD78D63263E8C0F5BE13B66F9F4 +:1033D000D0BD03CB58D285A5839F434E1DEBFF2262 +:1033E0000BF685BB82ADC05C2F4D3C970D7AFDE599 +:1033F000AA79BA3C43F57B2E73E0F717E223E7FF87 +:10340000F161917497513E0C0B584AE138D29D44BA +:10341000F9301C83A52B9C84CF93C289582687330F +:10342000F0B93B9C86654A381FCBD4702E969EF02F +:10343000582CD3C263B04C0F97E17B19E1122C33A7 +:10344000C357E1F3ACF0442CB3C353F0794EB81A30 +:103450004B397C2D96B9E11958E685E761BFFCF040 +:103460005C2C0BC28BF07961F87A2C2F092FC3F2F8 +:10347000D2703D9645E15BB11C13BE19CBCBC2B7F0 +:10348000E37B63C3EBB02C0EDF83CFC785EFC27243 +:103490007CB809CBCBC31BB1F486EFC37E25E12DED +:1034A0005896861FC4E765E107B02C0F3F82CF2BEB +:1034B000C23FC47242F8512CAF0877625919FE1905 +:1034C0009613C33FC1F2CAF0AFF1BDABC27BB1AC42 +:1034D0000AFF1B3EFF46F8B7584E0A1FC6E757873C +:1034E0007BB054C22FE0F3EAF073584E0EBF86CF84 +:1034F000A7845FC1726AF82D7C3E2DFC0696D3C36B +:10350000EF63794DF8249635E14FB09C11FE18CB4E +:1035100099E1B3F8DEB5E1BF60591BFE3B3E9F1554 +:10352000FE0CCBC17D7D55D4EFAC98CEC3BED8E1A7 +:103530001AE5F7E21ED29D1BFD007E448CEAC539D8 +:10354000EBD93DF4D6EAB353D15F5D6793F9FD50F3 +:10355000835EFD027FB7013E33CBF2DD294FD2F609 +:103560001B38FFBE5C79D80D7E506B69FF2A886BD3 +:103570006CCBED5F0CE54DD92C2E7A4336B377CB6F +:10358000B3D9F9F2B7C6323DBF785D21C6C749F25B +:10359000E8E07882DB07B5FF9B79ECBB8CC4319007 +:1035A0008DBF3B33CA7146DBEF427948D766FBEFEC +:1035B000CA46FC1A7F7767D4EF6FCCAEF85AEF6F2C +:1035C0001969FECDC9DFF6D543D5AC9867517A2D80 +:1035D000E2F45AD4B812E363EAF7D1FBF9F7D16DFC +:1035E000ABF4F19A4554CF55D37916DDC1F25F8D16 +:1035F000EDFD0A413F67F32A96D7B328D384FD1621 +:1036000019CE5109E9C2EF6B2CE2DF1B37B62F8DC3 +:1036100012377C2C5B1F3754F97211EFB379958800 +:10362000E745678FB1DFB93AECB612F0AFFB57DB75 +:1036300090AF491B8B2BBEE5FE4D96AC399FA9A7D9 +:103640007A55A1727778F5773CC0D79B5BF65AE044 +:103650007CAC3F6B1D7E1C20C20721E4AFFE2C8298 +:10366000E7258B82EBF0FBF4A48864A23FC7F169E5 +:1036700031C95D8047926DC77B8FA2499F6F7D499D +:103680000E8BEFABE5BB2686B7E02616CFDE6C6D62 +:103690002C82F81F243A9826703A99605C36CE51F5 +:1036A0002BA3FBFB0FE4EE86FB4B1A3F2D16F0B766 +:1036B00088E8FDB657B313795C92E1FD7DFE5D5558 +:1036C000F813543EC847BEB0C27DC945C976F4FF61 +:1036D000E0BBB2662A1A8B3AE6DE0AFEE6BB83DF5F +:1036E000BDA0304DE0713AFA9E7F7D9C3286D2F9C2 +:1036F000752EDF8B8296A0962F2C025B2FD928F097 +:10370000F38FE02AA82F6AB7E5B17B9A7C1DD046DB +:10371000F5DA15396C9CF7058E972CC2DEE3F909B2 +:10372000B6F6C410F8C58B92CDB84E4B967223E412 +:10373000A52DCAF4E13A8979E0CE7AC83FCB94F05E +:10374000BB67B6E6750AE8A345ED1BD7019F0FC21C +:103750006526662BB5AFF584E529917681FD9E8BB4 +:10376000163E8A777FBB80F07DC9F5D6072D02E330 +:10377000F36D2CFF7C735623FE4E1931FB4EBCAE0D +:103780009957A5B71FE6A5EBF2773CF51D01FD6A39 +:103790009647EA87F9E93A96F0FB8046BCF929BDDD +:1037A00000BF45397CDE7B9D08FFD079BDD6B9E3EB +:1037B00022EB56F965D17A279EF7A870B708BEBAF2 +:1037C0007AC0E7361BC2B908D6333E8287D21C17AF +:1037D000CB63CD9A9EBD7498F560AC58C32F463E1E +:1037E000B398389DB3D9EFB1AA7CAFF24D6E0ED32A +:1037F000F76AA9703A6BBED787F94B4A8EFABB803D +:10380000EC7B65D710FD79D53599EBF0DEEDBB3C4F +:103810006F282B273407E28B4F67F3F7E4C622CCDF +:1038200067E5F3D33F05E508E849C75FE4B0233D0A +:10383000C771BC1AF162D4FFD2E03A89DF3A81E75E +:103840000BE4C173199FFBDB6DC8872A7DDF1BFC6E +:103850005EAC928D749138DE387FFF89CBC99FB200 +:10386000D9FBC04EF03DB7E00336E473951EC6FDAC +:1038700097AAC7DF817D251DFFFBF04863B7E6F0FF +:10388000751E164960B87C81151CEF3DD03ECCB941 +:10389000C10A8E0F85F327E4AF9D9F80FB58A28D50 +:1038A00097FB73F4DF239BEE34E179D6B53F183EE6 +:1038B0005FE361998D7BEDFD5D9FBE0AFCB1D08A0F +:1038C0007A71E746FDEF74F9F9FC4FF0FEA4CE756E +:1038D00081DF09E4F8088831E0477784FFF8B35FB7 +:1038E000417E9DCF8AFA3F86F4FFEC57702E3E9FB3 +:1038F000FD2EDCE184D3588FAFCDC3FBB4F03B5930 +:103900009067A5C882EE9ED28395A61A38DF3D9CAB +:1039100030276D396DDF31F73A61B9669D6E7302FC +:10392000E6FFF5D8E6A435F0F606DA7EF09B1F8EAA +:1039300005BB7278A1B41EF223EDB5EC3BB9AE48DD +:103940005E630CF487791B347872D5B2F69E79D316 +:10395000D356D0F73A6A374D84F776CCB5E2EF65A7 +:103960003D5813AC14357C49DB83B06FDE3C95E0E9 +:10397000FD9C98CCD2F5A01A63CC1B8EC23D51524F +:1039800045309FB0C7962368E3478D1C4EA580CD78 +:10399000B759D69F1F1D92993D0ACB2C2E7748947C +:1039A000BEC0FBB4734C787F7B8B20A781FC4C128C +:1039B000BDE5504ECB75B1FBC6F69C2AFCAE22B7D6 +:1039C00083EABD598B9DFD1EAB2522BFF6F35C8FAC +:1039D000833C5AB81CED50F57C1AD31B9AFE2ADFA3 +:1039E000A3BDB04CB5E681DEFF39E713F813D4F977 +:1039F000E87A2CF309EABB07D4F116A876C327802E +:103A00005D53F5BE653EB513B4DF835C8E08F1A54A +:103A1000CDD57C2FBC9B8FFF60A6EF7A1FDA614962 +:103A200080F6ED8224C0BD91A7787BE4BB03928031 +:103A30007E16EFA7DAE7B66FB0FBC56D83FA80ADEF +:103A4000D7CAE1A6768A407F6BAD09F587B58AD9DA +:103A50002FEBD420DA0BF5F7882D1E0D3E48048E8F +:103A60006339B988FF9D0BAC08EF03695288C5978D +:103A70007C691C5F26CC6B852D02C5CF0359D2F51E +:103A8000CC5E34E2EF686F57FD003341FC201A35FD +:103A900074B11458591C4861BF176EA90CA21DB10E +:103AA000CCFF0DEAB9ED113F42B1A6F07BC9940FEE +:103AB000AC3556D4AF6F727D649DFA1BB433463873 +:103AC000547B32483F03DD87E87D43FDFEB9D634A1 +:103AD000986F27A50BE8A79D42C743CB418FE69A75 +:103AE000F0FE775B2D8BBB6D2936A1BD24CD1EFC6E +:103AF000DE9993CFEDE47EEF3B059325F88EF28EB1 +:103B000022E2E52139FCBE59E4BB99A47D304E0682 +:103B1000EF95AFBB04E8D32CE7217CF7CFDA5E0347 +:103B2000F7541C2526D43B3B7CEFE1BDEB7FE776C9 +:103B3000EFCA8FFAA624D0F6A45A09EFEDABCF272F +:103B40007ED02DC273570D7B7ED52CF6DD67574D89 +:103B500010F1FD3F4EBD3028008000001F8B080093 +:103B600000000000000BB53C0B7854C5D573F7EE90 +:103B7000DDDD249B64F3244802BB796EE4E1120886 +:103B80000488BA84474321B881C82B4136200142BA +:103B90002031BE68B5662120D4628D105BDAF2DB7D +:103BA00015A9A56A6D50ACD8226EC4DAF8A846C52E +:103BB000D6B68A51011151A2A062A5F29F73662662 +:103BC0007BEF26BC6ABB7E32993B7367CE9CF79C29 +:103BD0009973EF1AFFD7B2D123198B1B62F63027E6 +:103BE00063F728A10D2AD4039733F62BC658FCC4DB +:103BF000906342326309E9260F54997762A87434BE +:103C0000D66F509902FDED1F278F3743FF714A028F +:103C1000B5B7E23F97E03F2CC06C8C356BB26EF3CA +:103C20002D2D86F7F0CFB18CA505E35A0276ACB7FF +:103C30005431188F655B1DBF7231168B3D1319D33C +:103C40009899CD8172BE99310B9419CE4CC652A071 +:103C5000DDCC42A602C64C3155697E78BF2CC9DF47 +:103C6000E083B214DE331750BB2D89FA2B8C15C2BA +:103C700043B5CA83FD186B646C146337DA08367673 +:103C8000067F5742FF67C6F7F70D01B8C7B3396D16 +:103C900050DA475A5848F681FFA38718EBB66C6391 +:103CA0005D4B37D66FC27901CE7D2A5B85E3DDA3FC +:103CB000F071E57CA39D266A97E5D316E70DB8FE63 +:103CC000A7A3635940C13A0C82F8FFC41C447C305E +:103CD000E6299E3934FC7ED069318C7F60D5FB7734 +:103CE000FE0EFAB7A43B4DAA33DCCF2BE0B0C29F47 +:103CF000FAF9655933C844F891F88B6C9F25F0D7D1 +:103D0000DCB48ABD9F137EAEE278D0BF70BFBF39EE +:103D10003619D7EF2CD0CF3B4DCCBB2ECB3BCD991A +:103D200042F4A6FE6C5FBEE21AAA1F9FCF9F68F7FF +:103D30007BBDD83E670663637AC3214BC6D650FF6E +:103D40000340EABED673B7C0A757AC979D86E7403D +:103D5000EF667C352BDC6FB9E827EB93634DBE2013 +:103D6000F49FFA53D6D0D7B8BF15EB997A57DBC971 +:103D7000D700CF6CB6C5F32B9493D54057BB7E5C70 +:103D8000DEEF51C977C8BCFDCFB59E00F59FA07688 +:103D90009D7021FF033D50DED6A76F62D53A389E55 +:103DA00014F0FE6810A312F839DEDF07BD64B9EA2B +:103DB000AD4F873EABE3C7DB9CF6E4C383E18FD115 +:103DC0006CF419F5FCEF7FD9D43DF459A0F760A746 +:103DD00098EF2DBB09E52611C784676F4DD9645351 +:103DE000000F273C00172CD58E020DF0DBBFA70675 +:103DF00003C4AFDE285F6C783CDB2995799340865D +:103E00004F295432A793F06373B63084C39216607F +:103E1000FE21617E8E8447D2AB1DDBFB807B9EE062 +:103E2000A3E5082F94A556FF1C1FF15381819FE63F +:103E3000097E8FC4FFD326B614C7FDE3B1F77E74A5 +:103E400019AC23A5C25180681A8D70EAF824A5C266 +:103E5000534C7AE4346051878FC95338FF44C2E52C +:103E60001FC4F9C02FE826E18AECB738027E397EFC +:103E70009CA0E1E431307E1FEF497E93EF1D383581 +:103E8000F624F2515C32872BAEA2A183EAD98CF4DE +:103E9000BA56C4BC38CE84418DB6E8219CCF6AEDB9 +:103EA000C857567A5FF2D7156ADF7230CBC5E9F092 +:103EB0008CEA38ADC2B881AB9803E5C06A1B74DAEE +:103EC0008C80BA591AC2BD8EF1F9CB5D7C5D9A6DBA +:103ED00063A71A47FA3CD0C5D76439837C022F996F +:103EE00046E173F8816A6F55B83CE9FA31EAC702D6 +:103EF00075A80F35A725F30EA8BF23D6BD41117AAB +:103F0000F27226F424B063AA180F0968EE66E5A0E1 +:103F10006FB40A60C861807F98CF8C76A5D8B79CB3 +:103F2000C5F1FE1ACC6F11F35B4AA11F3CEF10FAEA +:103F300077FD18165C03E3AE57585436CE5366F23D +:103F4000A07C32B3B7FF62B497C5A99E3B9CE171D8 +:103F50002D45302ECCA3A5E9E017B8603AB822D79A +:103F6000F79DF3D47FA8F8FAA3FE3A3C88F36302E6 +:103F700073F6A7F5817641394B31C77B91FFDAADF6 +:103F800057F5BF16ED58F92CE55ACEA76754585F80 +:103F90009280A17D760373C273EBB416E6857E89A9 +:103FA000D98CDE6B39BD397425D073F3B419D9B807 +:103FB000DEBD280FF03C6A9A49C1FE0EAFA318E59A +:103FC00053CEB7F75FD1FD6B74FCB1B7E4F0886BEB +:103FD000E1FD0D391687E2D4D1E5ABE8E0AFE0EFC3 +:103FE0000959B9FD9DBAFEC5828F3657F8BD0CC67A +:103FF000DFE04A5516EADAA7B8B8DCDC553EAB3F3D +:1040000083AECFC434917EB0323E2E5BABD0B8913C +:10401000FC79A978CF2AF0D15A668AB2E1FABC2598 +:10402000CAD221D81E45F3B698E3159CD7EAE5EB32 +:104030006F9FE99C8BFE4B7551D08AA0B75B0759E7 +:1040400096407BBE2B9AFAC73984FD625CCFDD3582 +:104050003EF53EE44339EF48316F8BD29D8674BA0A +:1040600047E37C0C76FBF96CE87F4F4A7601F2C996 +:104070005D97FF64CE42B497B70D257B29DF7B7C2B +:10408000A07F840BE679A764D6966BE1B99A993B39 +:1040900010D77D781097EBB71DCC8CFAF66D50B623 +:1040A000AB151CDFD7990DA576C517372E74D2FB3B +:1040B000E35C8586F7AF417E96EFDF31D07705B6BA +:1040C0006F9A328BFCA5CD15CEFE088705FC08271C +:1040D0002D2A9086F54D9358C11D2CBCAE2421BFCE +:1040E000535C5C2FDC557E7B1AC295E2728AF5FA2E +:1040F000041F3A141FC8D926D7ED690B01CE948945 +:104100005CDFA4083BDC5A6EF122DDEEBA3A779B05 +:10411000AA707A2EB4E3F87CFD2962FCCDDECFD202 +:104120001633E41F27F1BB9C47F27F025A5328E362 +:1041300091BE3AFEDECCE4CFB9A71BF930C3311CE7 +:10414000F1FD9CD0AB09155CEFB55BE3897EAD93C7 +:104150007C41D5C5E56431C1F705E1A57DB68FF891 +:104160003D45C8475429A737ABB004735C7A392959 +:10417000C921390139F0939C642AC8DF12DEC4D208 +:10418000AEC77E07FDDAF32C0E44CF152A5FCF852C +:10419000FA03EF90A431F67D97EF46A41BE89B61EC +:1041A000885F766B12D9B32A537B4E03C059B5266C +:1041B0004465E4FBA5E06B77227ECC9E54E47396C5 +:1041C000CEEDF7F542A79CD85818CF005E7F1CEFC4 +:1041D000A798FDA3B15EFACDA2D1165CEF3F62199C +:1041E000EAD3F9596CC10C78BE40E1F0CC6F9E5215 +:1041F000AA807EBBD3C5F5EF2B4D40E03CC65E6D7B +:10420000B2312F08E7EB4D0EAABFD19446F5BF356A +:1042100039A9FC7B939BCA83166E67E727B10564B7 +:104220009F99C382FA64B3D407625CC66E48034B9D +:1042300002F0BC5E68720009022FF8266530D6A530 +:10424000713FFA2AAF8AB6A647BFCEA988614CA7AC +:104250006FAB7DE30CEDCC3D225CCF646477901FA7 +:10426000176E48D876074C39775A92A1FFAC0D03E8 +:104270000CF5075D9C99CB4BB30CCFE7550D36D4AD +:10428000AB4F81E180A9982D9AF07D83F00F6007F4 +:104290006142FD7FBD83F73DD930BADFCD30FFC924 +:1042A00097346A8FA4C3410BE7BBC05F556ED7E05C +:1042B00039D2E5F3373318C25BFA0DECBB904E0FE1 +:1042C0005A490F2EDAA2B0002AF9EEC035F8DE0DF9 +:1042D000F7593DD8EFDA2D2AF3233CE8A4C17C47F7 +:1042E0005FCDD97607D135702FF6EB867EDBA0E95E +:1042F00088C6020E60CD455D621CA56000E2FF48E5 +:1043000002F326800BF561D45BB937039C1F97B588 +:10431000D498908FD597524CF0FEC78FAA0CE568C1 +:10432000D9756F8C72005E6B9F6BFB6B118C77B0D5 +:1043300045650E98EFA31DD6FB50DE814BFAA11DFB +:104340000EAF33380CF9F28101BE5791BF8FD604FE +:104350008739901F6E4D21FEEE8D0F583FDA13E422 +:104360004B18CF7F53AC4D01515EA4795287131F78 +:10437000F17D41808DECCF8AA0FF46AD14F53AC89F +:10438000CD745CE7C19624D31D04C7A3C4570BCDDD +:104390004E8B7EBE851B55B203400C0BC2C9EE5638 +:1043A000FDE02BC3AF858FBB41F1B37EBDE978FD46 +:1043B0007556A2D3F519D14144F13538471FFB9703 +:1043C0004F4076FCD670BDF62995FC3936D2795728 +:1043D00031AC6BFAF60985A8AF581A1FFF64A2E446 +:1043E0009BB534FF675E6842FA6F8F0DE2FEF0986E +:1043F000E9D10366A08366F67F8DF85B3A3D70AF26 +:104400000222717CCFFB3F1E07FD8EFE56F3E0F0CB +:104410001B99F7DFAE14BE2E94B3856661C756A50F +:10442000903C3373F0819FA39FF38F7E649F7AEB60 +:10443000A3D5DC1F95FD010C531116A15405F0E81E +:1044400077B2C90EC05B256B5B47F86441EAEF4465 +:1044500020017F8E3A28016FEF17C6DEC12E037A46 +:1044600099985FEFBFBF2FE4392993DB01A9F76665 +:1044700066723D00FDB9BDDFCBED3D10787F36E0C3 +:104480006729E3F8A9671B3F55411F6565F2B8C06E +:10449000D28625D3D0FFA21FE06139F01FD2BDC65E +:1044A00091704327D4EB76447982286F995C9E61A2 +:1044B0000C07CAE932F1CA0BEEEB2D385FEDE30AC7 +:1044C0004BC2F982DA41F4C36CA030506F1C057105 +:1044D0002D4AC4F1141ABFAE450906E1CF25AC3B05 +:1044E00084F192150F2B9E101FCA86745C2CC6ADEA +:1044F00035DFD98970D6BA9577AD08DF0E1857A782 +:104500008F56B4F179A41EA967E6703BC8D762E163 +:104510003F2F663D7EA17206E16BD102D8CFC66CFB +:10452000AB711C5F4C2CC1550B70595D7AF85576F8 +:10453000067059E30F3E379DF0A07882AC371C4BD4 +:10454000986F6202AE03DA43CEDE7045AEEB42E115 +:10455000ACF1B4139F44C2ABA383534F8725ACF394 +:1045600076E4A79A00A77FCD1EC0338C7FA8416355 +:104570009678E283CEEC51613E00B8A7A33E5CD2B0 +:10458000AAB2902BCC17921F96ED0C5AD04FF988F7 +:10459000B5C4D9416EEAB6EC9C3506DFDBFAAA0554 +:1045A000ED77556228C79480A81B7E776946983FAF +:1045B00097058DEB5FBEC358FF6FE10757611E255E +:1045C000DE03BC2CDEAED27E45D74FEE83389F078C +:1045D000982704EB5DBA5FF5606C6329D8B3A482B9 +:1045E0008B8757E2E97F0D77643CA2253396C7237A +:1045F0003CCC83F188CFD990F8D9D828FC9BB3C59F +:1046000023E4FA23EDEB5B1AF81340C793666F7C43 +:1046100022E9F1483D3DBA1FDA1BA99F6B84BDEC2E +:10462000D97FA39D84FAE12D8FC5A11F78A8F5B18C +:10463000542C97A01D1A12B643372D0A65A0DDBE73 +:10464000E989280FB2269B167AE37B50FF78A7CA28 +:10465000FAD29FDF1DE07F2413F5A7B0A72BD4FB70 +:10466000063AD07E0A7D7A3E3FF0DBAE7321AE7310 +:104670004478DC45629DEF6DE0EB7B7F235FEFB517 +:10468000BDD6097E04AEF37EAB0755F991A810D9CB +:10469000FB23B0CE669DBF20FD03B9BECF59CBBD75 +:1046A00021685FD1F8B70366E08765B99DC3501EE6 +:1046B000ABEEB6923FB0ECF1D82083FA51657C3F67 +:1046C000DA373C1B8A43FCD53ECAF11786A3C73FA5 +:1046D00078233345E71F5C20DE56321FC5FB56EEBC +:1046E000F9F39BE8AF2A5E7815E05D69B38788DF50 +:1046F000776BC7F47A4F71A20EC0FDA5C76643FA67 +:10470000A43327F9DBACCA817CAA303F3B13837505 +:10471000B3F730D0A206DF03F8BFC8F9F49A469287 +:1047200083EE5CB4AFF5D121AD1FFA553B15CF3602 +:1047300094B71BC6C78D67B8DF6F20784E08BBA63D +:1047400078BD6C5501C64D808230EF17420F2A4E5E +:1047500007AB427C6E85F963C370473E9F8EAC8188 +:1047600076D16EEA731F9C93C5E759A19AC8CFAE64 +:10477000B3707FFBB888AFA859DCDEAA597C7F14E0 +:1047800095E5A0F2386C8F91EEC7275983B8CFEC2E +:10479000B4B0DDE867BDAA79B7FC00E8B63DCB6FE1 +:1047A000CB827E3E937D3ECAFB9A98611AEACFB5D2 +:1047B000093583B0BC86756A48D7E945E54E33E0D4 +:1047C000E140AACDA3F2B88C0FF9B892713E7E59A0 +:1047D000B36FC0710F20EE605D95457FFE0AE974EE +:1047E00000E61F09F31FE86F0936C37B81A7ACE41D +:1047F0003FAC8F6681285C7F72BC19F97D9ED053D7 +:10480000F327C20E1E78A672E27A1F96305E8001F0 +:10481000BEAA6CDDEB86C33CAB4DDC4EAF4E6441B3 +:10482000E45BB6B6AB10F177195BEB403AC2EA77BE +:104830009D493A173F99D961C927B0AEBA1246E7E8 +:1048400016C46845845F43BDCEC2DBC7DD7F4F79A8 +:104850006B3AD471AF81FC30450D6E83F55C053346 +:10486000223DAF827191DF180ACD284E4FFCCD80DA +:10487000FF8B619D33CC2C604AA472831DCAAB8B25 +:1048800058281ED6177A9E29080F8A0EC2373B6415 +:104890000AE501DEAE3287DA117F6FAA6C1DFAA13C +:1048A00033984B6B047AD4ADB93078AFBE3F58DE45 +:1048B0005A0C759389C3FB3D2588FB826BCCEC5960 +:1048C00015E0A94F7406E8F9759CAFE1F986B802C6 +:1048D000ECAF105F558292407E46FA129F62E7511C +:1048E000613A417F5B343C9F99E522BEAC14F06E87 +:1048F000F19B52310EB042EC07AFB1B1B5B1F8BE89 +:10490000D913570E741A0E60EAE9546F91FBC6363C +:10491000CB0C90CFE520DF2EC0CB02C1CFCBA57C46 +:104920003F6C94EFD5594E6A57D09F047C568AF25B +:104930006CF2719B18EF36211FB5A28EF322FF2C6B +:10494000177AE56CF3ADB0B210E1EB292BD15DCE57 +:104950007B95286FCDCAA4F1241C92CF6B58830598 +:10496000F5440D33BF87E3998098683F97B6DC6FB5 +:1049700041242CDDAABDD7330FFDDB62413D55BB81 +:104980003DF2B9395C570D7ACC74064B4BF7B5083C +:104990009F72459407E5A2D2D246710405F59B3B70 +:1049A000ACDF22DFD35AF83E52DBC8FD31198FB39A +:1049B00082BF897ABE3ABD7B28EA05E9A7D708FA03 +:1049C0005B9973B202ED35E88FC5611DFC0E8CBF9B +:1049D0006EE1FEA759F8D78B5A8CFE49F5069D7FEC +:1049E000CA0B5B4F1C95C6351FD4FB1932CEFC8E0B +:1049F000A57BA8C31847267FE51D13873F902AE2B1 +:104A0000C5C9BCDD2CFC5129F777656982DE01E25E +:104A1000D7AB982F3EA4D3B3BE898C5D518071086B +:104A200025887C7095777C072F578794389447C6E4 +:104A300006909C7379BECAFB43F2B37CA54A20065C +:104A4000DBBDDA51FDBA5EC13FC6F4F6931ECF8AD4 +:104A5000EDF3DC861527F5690723FDA440097353A0 +:104A60009C08F572160D4BFE42A3F02726A9763757 +:104A7000EAE92A25DA83FB8555B6B8610CF4F267BA +:104A8000E067237F54BD1D45F6FACB28FEFCF8F8FD +:104A9000D88009CAB7447D7EFC4DD3D1BFAE8AB35E +:104AA00098B1BC59EDA279BE3475931DD81BB76A75 +:104AB00022AADDB71D99E4DFDD3E7EC416F0F9D8E9 +:104AC000DBF77F526ECBA0733A7E2E1C38F12A9E04 +:104AD000FF55E0791DD54F967B71BE3F755F63032F +:104AE000D37432EBF37233E0E7F83DDDF762DD9E1D +:104AF0007D86D7EFEC1E184575CB0CAAAF16E331B7 +:104B0000CB0C1CEFF8CF78FDBD2CCB8C00FAF9252F +:104B10005C35558D55C8BE1CCAE47A41C6D1AA4C35 +:104B2000CFF0B284854C23CFDF2F35DB7708FD3BF8 +:104B300035F6602CD26560AEF710FA2B875CFE8FDD +:104B4000D14ED6962B010BEC7BD9FE60AEB0DBB418 +:104B5000FF5E2FE2EB926E8732B99E91E53762DC01 +:104B6000AAEB72E2D1AEC2785F66A5FCE7E36D8C7A +:104B7000184FFA318B859CC3F86AF6B7185FEA0DB7 +:104B800039DEDC9C5EF0C77F9BF15F8D184FFAB772 +:104B9000721D43513681EF16E532EE470978E4F392 +:104BA000754A286536C6D39E57E9DC765DCA6133FF +:104BB0009EAFB28376EE3F47717928C8E67A7EDDF4 +:104BC0000F3CF1E8E707FEA2D279ECBAD5BE39D5A1 +:104BD00018CFFAEDE851C862D20FFDA8FDEF1627F5 +:104BE000AC63A538DFAC17E79B2B77B55B26C3F822 +:104BF000F5504ED0C53BEAE43938EB32CF880DC3CF +:104C000051906D12FA66F539CFB7BDD9D20EF17554 +:104C10000F13EB3BE5F68EC9D6D1413E6FD68CF72C +:104C20000E64B94E8CD32F9B19C6BB4CE1F4AB8AF2 +:104C3000E6F670D1A8589BF3B2F0397FCD56179D98 +:104C40005BD8334BBEA39F4FBE178E3B77F71D77C4 +:104C5000DEC3E3CE723E8F80B32AB1F30630F60096 +:104C6000D7904DA817A6FE54CA31A8081B9E9B4A90 +:104C70003D51326362318F7F627D6976F12694EB1C +:104C80008E68BE2F9A3F7A6834EAA12E578CC901EC +:104C9000FAA3D155BD0EE19C3FFAF2C9F87CBC35B0 +:104CA00036B79A9FE310FF35BA7CD5C897D81FE373 +:104CB000537E0BE713FF0BAA2700EBF40F8BF16376 +:104CC0005CB0C3C426A29D96F85B90CDE3D5EBB251 +:104CD00039BFC9F9E5BC8C3928DE74704D7F3A873D +:104CE000F8BE6BFCDAEC94F0BCDF77F9AFD3CF0BF6 +:104CF000CB1C86CFCF367F24FD560A7E592BE8E7A2 +:104D00002B06FED3D98D1913630CF58A6949CCABF8 +:104D10008F6F570C30D4E7546519FACFBB76B0A12A +:104D2000BDCCDA3952EF1F48BA5DE87E6C32C87DDF +:104D30003CE0A5B39D0DDD8572E88AA573D4E51B23 +:104D4000A650BC3CFE542595752D53E8B072C5A9FC +:104D500099545F792A86EA1DD19D93D16E77FC3EE6 +:104D600081F69FAFA8A1DC5FE038D65892E7B20188 +:104D7000F3D7A05FD1111D18723DC059F6BBEF9457 +:104D800022BD57EE5228AE5BA6B20E2511E5338A3E +:104D9000C62B535F1B791D3C9F3A81DBB332B4AD08 +:104DA000D0DE2CE29467939B87B3F9BE4AEBE270A6 +:104DB0004F3A554EE3C9F647B3330DF70BB494EDB4 +:104DC00066F26FC57AB42E85CAEF9E1A4C65FDAEA9 +:104DD00072339E1BBDE0BE3F19ED07F4B7937D977C +:104DE0007A49CA4DC3E878663F3B9EAD42FF54A264 +:104DF000FE817117BBBD1DC8F7D36FED32DBF09C90 +:104E0000C06E71E03E717AD1F0B41ADD38CDED7329 +:104E100019EA2F6B32B3A0BDAC8452AFAFFC425F36 +:104E200045CEF77284BE927A9CB5FE88CEB9AF119A +:104E3000F108C91F7FCC36DEB7E954B81D0E3CCE51 +:104E4000CF2F6E73FBDF45783BC7B3398F92FEE8F7 +:104E50001C88FEFF7F0B7EA0AF4DA1FD569717E784 +:104E60009D5EE434E139C8E19E75703E3DDF3A5EF7 +:104E700017FD5F11F7545EB9F2CA4E2F9EF3DD3273 +:104E80006204EA45E6E83E8D7C5ABF775C16C69D13 +:104E9000BFC8B688FB558CFC4EB91FA8DF1B43E783 +:104EA00037F57BADDB14E8571FD79D8BFAB630DFA3 +:104EB000FF05EA85579EFEEAC02DD0DF6B8FA5FB6C +:104EC00074F57BA39EC5FA15AA427BBFD46CEF97FD +:104ED000A44FCE02E785CA63249FF93770F9F30B1C +:104EE00039AC167CBB50C861B519EC22C0BDE025B9 +:104EF00095A17E5A78AB327417C6219CB19E1C9D39 +:104F00001C4A79D3902F47207F72BEAC3B9520E49A +:104F1000DB25C6E5725086FB5218A76C7002EDD3F4 +:104F2000579E4AA27E525EA59CFEC1EDCFCD01F8F0 +:104F3000CB9A41BE611EFF9AFE23515ECECF275F02 +:104F4000999D780FA458D1904FAC504ED0C9B7AFAF +:104F5000C72E3B26A7E279CC5A97497F0E3E38E709 +:104F6000E2F83D4DF45F680FE5A01FA9354479D6FE +:104F7000005C55294ED2638D3F840AA0A051F34DA9 +:104F800040BBDAF83385E289686FD1AF1EF566035E +:104F9000C5A5E5FC734F0D634EC0D3CC53D954DA8D +:104FA00033FD63100FD5A766093C0EEBF3DCF1640B +:104FB000C37A8AE39D0C5A3D8CE230C67861A1D752 +:104FC00043E790DA4B1ABBCF89713EBF8AF2712456 +:104FD0008339362B3C5E88F14319EF93E78932EE33 +:104FE000674D3619CE3F3F37B70C44FFBF57FC6FB4 +:104FF0003CB76BC7B66B64D7EADA5F1B65C2F314C4 +:105000009797E2800F0CF0CFC4F5D4CE083EA241B2 +:105010007DF99D8FC5617C5EE2B3CD1CCAC17D4A1E +:105020001BE011E3916D1BD5D220B7E331745E27ED +:10503000E3A5C2AF789E717F44F279EDA92CC28FAF +:10504000B437527F3FD194469B58A9C7CF67872476 +:105050007FAF30733BB602F81EE916294761FB3378 +:105060009CE48581BCA07C84ED0F978FB0FD11FC82 +:105070001F3F88F61B91FA5CDAA771BFC9DAF50702 +:1050800018A7F6A1F93EA4D39583411F003EEA1E5E +:10509000E5721029EFD25E4B7C48FCBC20EA596EC9 +:1050A000EF9D88F7F3CB4F14F9B9D64039233D0B68 +:1050B000A55ECF6A117EAD7CBE29C724E8726172FD +:1050C0001310FD25DC12CE4E0BF7AF24FC2F32EE71 +:1050D0007FC8796E73CFF84D4E21B71B38FF233947 +:1050E000DC4EFFB7D67536FBF148CFFA2ECC7EFCEE +:1050F00022627D721D725D2F89F55EA87DD997C3EE +:10510000EF0147DA17E877F88FF0DEF1A7F21DA874 +:10511000C754A5FB30DD63792ACA897878E5E92888 +:10512000EAEFB5C5D3FE7EC2D31F9CF88513F711F5 +:1051300033F7211EBD7BAC66A6F3F7245C12CEBF0D +:1051400008B8C10E75E4E8F601F2F9B7B54B522E76 +:1051500022E536525E23E573EA8FC04FC4753EA147 +:10516000D03D81B05FC8C84E756466D07999946FA0 +:105170009D9FC8EFF9B815BAE7D3DBFFFADB4827E4 +:10518000BC7F6264EC708CAFEE53DB368F55C2721D +:105190005CF2D0D78FFD83F5B67736B7FF6BB25789 +:1051A000427EA59C9E9F2F9FD4C85ED529E4D758E8 +:1051B000A1D4DB2BFF59E48DE55E9C9DFA24A7C7A3 +:1051C0009FE1FE58BC85FCB1F3F15D62EE7F9DEF7F +:1051D0001273757C7736FFBB5F2EDFB702DFF5CB2E +:1051E000FD16FECF39E84B7652F2DFD41739DFB027 +:1051F0002CBE5F013E22F83B2C19A4A72B859E9E56 +:105200007A8635209EFD62FF2FF9F87DB77F5CAE70 +:105210008EFEB83FC17DC785FAB595C90D740FCD17 +:105220000FA55E2FC9FBFC91F4F7E65E9CBE1D96B0 +:105230007B71FEACEF2C743F873F5B997B01FE2CAA +:1052400073441BE3040DD699C837274266BABA7473 +:10525000367AAA5B38BE7BF016324BBF2009FD02BE +:10526000E093AA6FC527CC9786F1F503F8279D9B9D +:105270007C3913E5719F2AEB3C3ED18EF54B405FA4 +:10528000E57EF9FA5A9D9DDA24E222F23E2DC6759A +:1052900076F6B59FCAE37CBDEFEBA30F611E4760B6 +:1052A0009085FCE97DF1FCBEE2FA1FCEA6FB8AB236 +:1052B0007FFB20CB2A7E9FB1296DB14E4EF60D4A61 +:1052C0003D8D71AA7DFD18DE5061FB6E19711AEFDC +:1052D0004306EA550F86850FAC7AFFA36AA8FFF351 +:1052E000D458BA97D863E7EAF8FD272DB92D76B1DF +:1052F0000EBE7DF5238A9DBAF57C2EF6FDFF4CBFD0 +:10530000C981719CF64137748E4778FB99095EEB31 +:1053100057550E6508E633F0FBE39B057F69B11F27 +:10532000537E4A733206F4F0B988B3A5CFB2E138A0 +:10533000CDC926A29B163BDF61D1ADC79B6CE67041 +:10534000B9984FAF0FAC797CDCC3B97C7F85F7D1BE +:10535000AB391C741F7DC1D7556F76A23E1E38CA6B +:1053600089E72653F3B2F8BD4A93A318FDD32B5413 +:10537000CF48A6B367734DC26EB9593AF2099D6B17 +:10538000E07AF03C61189D330444BCDE86E7089A5D +:10539000BC9714C7F5A5BCC74EEF990CFDE95CE2BC +:1053A000F15C17BF970C2227E2F0744F9D2E1BABC8 +:1053B00074DF9CFC1B946B0DCFA1936D740F5DDEAD +:1053C0002B07AD38119F6B0AE001F194C156CE2036 +:1053D0003E6FD3306EF44CAE22F8958F5B29E0A877 +:1053E00004FCE138956666B680BFBEA09F65D86EA6 +:1053F000A07F97DDE241F196CFE5FC95629E052AFC +:10540000D767D63ACD708F5DC2F35A6E8298CFF3CC +:10541000E6DF92D17F8A31D1FD355C8E1E0FB7C693 +:10542000D27D90AE816C25EA03AB986F9D3867B34F +:10543000DA7F7F339E97C8E75D6BC6D13DDC75325E +:105440003EB042DCFB02BC58705DF87726AECBE282 +:10545000CDC775C1FBAE613ABE88801769D843CF0E +:10546000ACDE7439DFBD7BE9D748FEB8368FF13C3E +:105470009441A9B7925CF5B311DFAFCF38FC10DED1 +:10548000F7D56E1BE7D1E741B5F74B2BC6FBC4ED53 +:10549000F549B776EBE4E49F75331D8B86E0FD613B +:1054A000FB52E4EF2BBE4EBF757C329E5B5D699074 +:1054B000CBBDB77D74E289642C63E95EFDDE7F8D30 +:1054C00075E2BE503575919E60FF8A267E9F103F23 +:1054D000274D7FBFFE1BC10F770CF49E46FDA7A68C +:1054E000821CD8C3FA4C4B1DE94779596FA7CC07EA +:1054F000B65EC49B9B15633ED3D43C6E4FA6E62993 +:10550000A27470BA9B9D03711C9927D23EC8BC4AF5 +:105510001FA71C20FA0F10EFB70FBAE9CD6A1DBE06 +:10552000DAAD4FFF6514E22BB5C243F7A351EF612B +:105530005CA129C683EB6CEF6723FAB7F7B304F1DC +:10554000DCB0BD5EE5E776F1B620BAF6F21EB7F63E +:105550005515E9C5A9794E437CA9BD5F32E1FD1916 +:10556000B5E14DAE176C64BFFF5997741AF595A657 +:10557000C53B904EEF98BA0B51FEA6E625727DA46E +:105580008058E8FCF17961BD40792DE7D00B94CFCC +:10559000A289FB8DE7D307A3F35C427E1A18CAEFFA +:1055A0007FAA0FF0A78DEA2DEF3DF22CDE9772DD7A +:1055B000F3FEFF484EE645C8C933485CC4FF7A8510 +:1055C000CE5BB594DDB1FA386695E093F698786EC7 +:1055D000CFEA934E235F58D756A732A7BE9FCAF58E +:1055E000A74DE6B95C49FC5B6D9FA5919F02FC78D5 +:1055F00035F063659E99E72B2670FF5133750FC513 +:10560000F53C3ED0EFCF8379DE137919E17C8A0433 +:1056100005EFB948F8A57D93F4FFA2A70E50EBEE75 +:10562000AFBCA788756530D24F95E9DE0FE9DEE99A +:10563000DAB467F5E7DEDA0F62791E51AB4AF78319 +:10564000E5F9F7FAE4C90E94F7F52D0AE549C06FBC +:1056500023DEA35B24DEAB19795D2E8EF7BB3C1EE7 +:105660004FF61F714C8E7322FE8EFC05F3B9ACDF32 +:10567000531DF8DED3DFA8744E73F9C9901A8FE773 +:10568000066B5D863C4CFF31F364B4AFD5CC41F77B +:1056900029DF895B55BA1AFA350B5BF19EE20BF9EB +:1056A000711D293CCF775CC6FE32CCEB1D774F0ACB +:1056B000F969CD37C6C6613CEA006BE84478031B44 +:1056C000559223F0CF27A2BF17501248FFBC9DBEB2 +:1056D00089F277DFCEB626D03ACDEC59CCCF6D111A +:1056E000F25F29EE49205E6C05E17C5EE04B764975 +:1056F00041385FB3C304925340FE25F1EF4FC4FB22 +:105700003598CF8BF742D43D85184FB76E31DE13F5 +:1057100068FE9992A65C067CD71AF15CEC23AA037A +:10572000C6E7951B8DF527853F71B17995BFC9B344 +:10573000271FC67B61179957F9A4900F995719F63F +:105740007B6F76505E65BA99E283EB1D9CCFD6AF36 +:1057500052E9DE77E4785D4D8CF22A7E80E3E9F64B +:10576000E1926F653E25F0EB1CF43BC379C6194A04 +:1057700080EC6A5B12C6D93BC4FA9FB6703F55E60F +:105780001BCBBCC80E94BF14CC8F2CA0FCC7BDA7EC +:105790000A8AF5F95AFBD4AE8746937EE6F9ABB098 +:1057A000C72E7DAC0F3C5C97AB1AE21FD23F96F23E +:1057B000B659C02DE91FF9FE21E1277745E423FB07 +:1057C000CF938FBC2EABE4EDBC425D5EF0BEB9CC96 +:1057D00045F93423681F7048ACDF9FCC26531E72F6 +:1057E0009A2F4DBFAFBA24DB78CEBDB9472F5CDC12 +:1057F000FEE0926CE3FEE06EB1FE1EB844DEA72A26 +:10580000E2B75578EE8879EE6E3EBFCC53AE8A0E85 +:10581000E5E0FD2E99AF5C6A650BCAEDFC1E73A333 +:105820000E6F2637C7D7D4BB78BFA9CDBCC471EEE5 +:10583000B387DBAB4AF87BB22ED729E1BB249BDFD1 +:105840000F94F77323E12F9BD076D2062EE120B779 +:10585000BDC20CF89C55C4C4F96D6CABD78C7119E2 +:10586000233E5EE9C14FDCFE8908D76616BE970667 +:10587000ED938AE37BCE7F914D65FF81EE98FD1B12 +:10588000C98FE17919CCDF65E6F734457D24D4630F +:1058900075F5A288FA56DE3FCEDCC5F4F90AB83FAA +:1058A00057E8DE9A1C2F20EC73F764BC0F3F7D97FE +:1058B000E240FF765EF1710BEAD3B2095DCF0D8055 +:1058C000F516B8532AECF9F01CE347006F893BA3A7 +:1058D00035902DDE4FA5F37EFA59DB142FE6CBD69B +:1058E0001529C14C576FBE2E711BE3888461E3FB01 +:1058F0000CF35F2EE67DE4237A3F93DE0F592F628F +:10590000FED9C53C5F2EB29F4FF61379F5343EE0C9 +:105910006E661B3F678DEC3F47F06DA7C9B40293DD +:10592000F7FCEEE1ADB6CB81BE8CF3C742B7A72240 +:10593000308483EB8D58EFB9E09DEC369EDBE1CFF0 +:10594000697C3F742E7C4DEBF5BEE08FA5467E89C9 +:1059500037FB9E3D0170C4272B0E3CB758E98BDA0C +:1059600088F6B06C82E4EF7115DE74585F1433DC96 +:105970005708F3777105F2F74A26DBAF68C5788ED2 +:10598000CFC40CDFC798B447E979DF0DF24257085E +:10599000E0FD5BDD97B7E2F731801ED44EF5EC7386 +:1059A000F07B5B44BD38423E047F937CE2FE01F015 +:1059B00093D3875DF9A9C0CFC7E2BB159D255C1FB6 +:1059C0007766F2F20937F7DB7E29F8E1D792CED17C +:1059D0003A3CA487E90CBF109E13E9D64D789A9BF8 +:1059E0002CD61DA8AC9806EBEA4C644315E0939DB9 +:1059F0003B66B7AE253EF199F1BE983930B7F52533 +:105A0000D02B73055E9ED8316F7F80C7791494B315 +:105A100015C40040F75D4A80F27090EE7DACABB9E2 +:105A200037DF0422DEF76AE778FF87BDDFF746BC81 +:105A3000CFB4E48B795FD0655A04DD4A23E8363170 +:105A4000A25E25EB4183FE927A6DE1EEBBD7A526DF +:105A500063FE8782EE18EA678B329CB197DC8B2B52 +:105A6000ECFD913F9DDA0050E99DEE25FB6DA0BF56 +:105A7000CA517F11BF2E257D3D13E59BEACB2AF04D +:105A80001EDEACA2867569D0FFAFEEDA561B749DA0 +:105A9000B7F66E8D41FD1FEEBA56338C3B77E4EFBF +:105AA0009EC3F1CCCACAFDD35CE7E0CF9688756C83 +:105AB0008DA80722FAB79E479FAF8D78FFD688F64C +:105AC0008D11F52D11F50DC6F7ABAF55482EAA81F6 +:105AD0007E88B8F3C9C931B78C9FB68DA47B8AEE96 +:105AE0005B5AD715919D25BEFE62C72D52BF29FA7C +:105AF0007BAB95C92C80F6403B8B7E3AD24B9F0BFB +:105B000078DD91F68BB74F8CF9F76378DFA8A6C5DF +:105B1000EAB0021F1E8CE2F9418137B8BF4EB9B11D +:105B2000B08E833B8707F1DCEA33E05BF4A79FBDCF +:105B30003B2F1EE158DCA132BCFFB9A2437DD74AFE +:105B4000DF45F0DACB747976CB5A9500E6ADD5BC5B +:105B5000C5C7A9D9A506F1130C3DF955AD0ABDB7C6 +:105B60002CA8BDA7F7AB295510FA2FD9A304F1FE35 +:105B7000EC922DC6F6156DC6BACC47AAD7DF5F7674 +:105B800085F30223FD6FF053C9FFBA24DF984F74E9 +:105B9000A17EF846E675E5137E23F223A59F630EEA +:105BA000A5CCC6B8E5F34994170FFEB0AD48770F02 +:105BB0004CC6D98F35F919031FFC93A6A554CAF713 +:105BC0008F2BED960118273FC4E8DEFCD85D3B7FA4 +:105BD00034CE89FD1B68B3FDC9B191145FFD04FC8F +:105BE00059BEF95E23F40397EBCB77B5AB03A0F670 +:105BF000C9EEF763E85E50EF3839C5414E1C3307F4 +:105C0000FB3ADFEFC94FFD7734B54B3C1EFD1EDF7D +:105C100037487F739C18AFFDA1A43D63916F62E28A +:105C20001D182F5E22CEFB8FEE50699C23B6F8071D +:105C300050BE8F6C9D998A1F695AAC755B30D1D468 +:105C4000F354791CDAB543D02F44F18FA08A7ED269 +:105C5000D8524671FCB1213373BAF0C8CD371DF963 +:105C600061CC6E9EA7F711C6EBB97C50BC7EF19358 +:105C70002AF9B712AE09454260043E6FC9E7F2F651 +:105C8000C1D6C7689C0FB76B0E84E793ED1AF15924 +:105C90002DF0255EF13E82F98B306FED7ED583A627 +:105CA000F9C31D5CAE6BDB9420EAAF15D7695ECA01 +:105CB000238CE0F309B21FF0AB55C7DFB5DEE0641B +:105CC0008A9F09FEB6C17F785F3C81B5DD8E798DF4 +:105CD000CB77FC677C1DC9CFD74B3E2E6005179351 +:105CE00017770CF681C877F27962DBF0F103585828 +:105CF0003FC87BE0CD1646F7BD03A6680FC663E438 +:105D00007D6F79BFFB6693E34FC82737837DC0B8AB +:105D1000DBBBF93C4EF5A5C93309EB60DBBC98074A +:105D2000363D60A5EF38A8134C0D7DDD0FFBB1A00B +:105D3000D3804B19BDFF603EDF3FC83C285902436A +:105D400067A0DC95C7247EEE842EBFC87FA902EF32 +:105D500071978F4BBC310BECFEFDF9AFD17EA27C6D +:105D600044E2E39950FFD56F3A79FDB2C4420DEA9F +:105D7000AB95D72B2642FD997CEFCFF20BC3F3C82E +:105D800071E1F9567CFED025FE5FA29CD75BEC1B2F +:105D9000304E705CE95E6952C3FD5F55D8813F2A81 +:105DA000E17A97C6067A86605DC2DF777934DFBB19 +:105DB00023BF8FE70BF1133880AF85019E27023F89 +:105DC0009F2D95E703209F2D9479231B8C7923CC5D +:105DD000C3F39B643E90CCEBC90FE72B6DBD987C61 +:105DE000A5E322CF2A328F4CD9C3F3AD9A03AC2B53 +:105DF0008AE860CCF3581103FC00786A7CFCED382B +:105E0000FC84C63285EB0D96C6CF4DE5F7D38E4D9B +:105E10000FE5A21C7FD0C492B3810F17ABFEBF2049 +:105E2000BE3B5C7F1E88FAEA83ADCD71A84F3E7EF3 +:105E300044F54C83FE75E25C819D56E93B1A1DAE2C +:105E40007CFA1EC1B19DEBD3F11EF41BF9DCEE1DF3 +:105E50007371BF939DDE37F016E8579A39A510F598 +:105E60002FE8EBBFF5A9AFB75F4DF04DB1837E864C +:105E7000F56DCFE0FB58AB99056279BC9461BE9299 +:105E800006A55A10D6AFD81E47B9F68BD2441C9639 +:105E9000F2D4249D24FE7BD1054408BF3367B23180 +:105EA0000DD799CFB63A300E24E93349B57B42A0DD +:105EB000471AC1FEA29A6D14F1C2C69D0A7D1F6BDE +:105EC000458746F6F203217F917AE863D64DF9CAF9 +:105ED0004BB72EE2F9EC42EF609A34F2C97487F9BD +:105EE000BFA26F944B85BE19CE865FA4DDB45D5A08 +:105EF000D89B0E93D42A277E47A731C55D60E5E77E +:105F000036C42F4BC4FD7A4997C6FFCBEAC7F5E9E3 +:105F100003B44F5D2260625B795ECBED2E95F2ECAF +:105F2000CB760F604E78B46CB742F7DEA6ED4EA28A +:105F30007ADCA9FE542FFB75BF12FE1D274ECFB28F +:105F40005FE751FDC3075E1C29BE57C4F35D1C4CBF +:105F5000E6BB101D3E9BC3F3E3CD81FC9F16A31F40 +:105F6000D6A1B1A093FA537E914F80E313F9443E3A +:105F70001699F7EC8CC7717CE03721FF322F8FA781 +:105F80003B451E9135CDC49C3A3C5F8D7E15D02398 +:105F9000CA19CD9CBAFB726F88BCA266A17F59C09A +:105FA000DB89F1E339820F62DC8986FE73EC35C44C +:105FB0000FB19E4B0CE3333F8F67F6F0073E4BE685 +:105FC000F94938FED5738C79545AF1A79497E3EBCD +:105FD000C9FF6E20FED78A8D71515FFAE40F195FF9 +:105FE000FFC173F1D177251FE5B37C1ECFEB857719 +:105FF0009287CFF67379006FE0A7F8DD8B5902EF37 +:106000009F312E1F9F7963483ED6097C487EF3E579 +:10601000B158FCE44B7C9111AF095E233E934A8D4D +:10602000F84AF119F1D46F4EA6A1BDBFFF5243FB50 +:1060300080A505867A46C35843FF41AB4A0C755785 +:10604000E0BB86FE591B6618EA392DF30CFDF3B64A +:106050002C34B4E7076B0DED8377341AEA43DBBECB +:106060006FE87FD9EE3586F6E1A13B0CED233A3699 +:1060700019EA859D3F37F41FFDE63643FB98AE07CE +:106080000DEDE38E3C6AA85FDEFD0743FF2B4F3D1D +:1060900063A88F672F1AFA4FB0BD6EA84F72FCD35A +:1060A000D0FF3B69EF1BDAA7383F32B44F759F3002 +:1060B000D4CB3C5F1BFADF94E1FF19EA9D39A68D32 +:1060C000FF1762C8E7CEBB507E67279BF977372E54 +:1060D000327E7F5F04DF7ECEECD79832CFFE7E8F9C +:1060E000FE433B5F887C3D8D61BCFEB33685F8FA8C +:1060F0006CF6361EFC58B36E1D095E1B33EBE04890 +:106100002A7518EA29BE3443FF7E739C86F6FE7E0C +:10611000B7A17DC0528FA19ED15064E83F6895D74A +:106120005077054A0DFDB336F80CF59C963986FE7E +:10613000795BFC86F6FCE05243FBE01D0D86FAD04D +:10614000B65586FE97ED0E18DA87873618DA47744B +:10615000B418EA859D5B0CFD47BF1934B48FE9DAAA +:1061600061681F77A4CD50BFBC7BB7A1FF95A74244 +:1061700086FA78F6BCA1FF04DBAB86FA24C7DF0DF4 +:10618000FDBF93F6AEA17D8AF343437BDD471ECA74 +:10619000F7657F54281F65AAFB53433BF8CD6EB4C7 +:1061A0008B2B58B407FDE648BF5BFA63659EAF0CC6 +:1061B000F3DC6C6AA0F8EACD2AF7D36C8333A53FF1 +:1061C0006EB3713DCBCFC14B197D8F2E1EF3B01333 +:1061D00079FC90E79727937D2513E9C47826F83357 +:1061E00071E8B7385D0E687294F2FCFC98B07F9944 +:1061F0007E46F7BD88F3F997A9283B187F18EC8FE6 +:10620000199C82FBAB9D9371DFB18C056E47FF77C4 +:10621000923A24BE0BECF0CB517D9FE74CB1011EAE +:1062200075F33D1FD5925E700EF99D623B46FD7B76 +:10623000C615DFC350609DFA738F1FC37EC80C5B09 +:10624000C29626903390D74D4D0EAAB736A551FD74 +:10625000274D4E2AB734B9A9FC799387DAB736159A +:1062600051FDDE262FD5834DA5546E6BF2D1F3ED93 +:106270004D73A8FE00ECF7B1DC01FB7D2C1F84FD03 +:106280003CB63F0CFB78AC3FD214A0B2AD69033DE5 +:106290007FB4A985EABB9AB650FDF74D412A7737FE +:1062A000EDA0F20F4D6DD4BEA76937D5F73685A89E +:1062B0001E6AEAA0FA334D9D547FB6E94DAA3FD736 +:1062C000D4456547D3112A5F68EAA6F6979A4E51DE +:1062D000FD9838B72B19AC88EFC5DAE9FB7BBE9285 +:1062E0003CDAB7C9E7DBB3FC25830BC3DF7990DF6A +:1062F0007388DC0F44D2E1A8185F2BE1DF6BD02E4E +:10630000C9DD86F721C3DF5B706EC33C8E32314F2F +:10631000CFF71B847FBD44F0A3FC9E833C2F5F22FC +:10632000E4A010F9D14DFCF8D2C5EC77E47EF790EB +:10633000CB3F1FD7559B610AD03EDFCEF34DED9981 +:106340007E3F3EAFB13758B87BEAA1E765561EE7FE +:10635000E97E5EF56C739E7DBE7A716FF8ACED7B65 +:106360003F4C47FB53FA8D4AF7405ED662E7603CEC +:10637000A351E0A171B0C950FE24D3771DC2F341EF +:106380004EC3E15FB8C2F9AD57E11619E4BD9C39BF +:10639000298F7A26F3FE093F8D7735387A589FCDBD +:1063A000025436BAFCDF47B99B0B1B04ACFBC75A3F +:1063B000E9BB9165562E179170AC1170AC11F3CBFF +:1063C000F2B14CDF1A1CE7608EF781EBA1CB87227C +:1063D000DF793AEBBE17E1F8E2A94F0F2B5961FCC8 +:1063E000CA78C2EDE3C5BD9CEB14F9FDD5C8FC72BB +:1063F0006AAFBA91C753E6C37E0BEF79C9FCF1CF00 +:106400001A34D28B987F8EF1D6CF1A6ECC43F823F4 +:10641000F563157E0FA300F3D86D7CBCB762294FDE +:1064200048DE23A8020F1CF775FFC894F18A2E7B63 +:106430000A87C78BF71416ECB1927E04BE08929EB1 +:106440001AA3521EF2CBA6602E7E376DBD89D33FB4 +:10645000F002CF0F363B7CF45ECDD684E174BF04EE +:10646000F804E3534704BE241FAC14F7D225FD8182 +:10647000BF1E467A7EF2E46837F241FDDE31745F7A +:10648000ABD924F28FC5F80817AE438D1F42DF2722 +:106490002B43E701F96F4C2CDDA7C5EF1CEFEC4354 +:1064A0005FBE26E8F7721AFFBE5DB39043D9FEE2E5 +:1064B000601E77797130DF67953DF33C7DAF68658D +:1064C00087E6C1B8301BD93544FF5DE61EBE5DF5D9 +:1064D00062FF6CDD3AEA77BFCBCFC159D79019B1D3 +:1064E0001C5CA4ABFCAEAF9C47C338061A9764F3A0 +:1064F000B19E7D4326E28951BBE43FD512EBBFCF6D +:10650000AE5F470FFFBF2AF91FFDFEE95667FC6C1F +:1065100000BD0B5088FB16FF2F1DF43D8C85CC432E +:10652000E5B5CC47E5126023E4775FE06E0B9E6F24 +:10653000D6B2367ABEB268D140ACD7B3EE896930F4 +:10654000DED51B56FF290D4099D972F7A4FE00F73E +:106550008C60F59FB02CDFAE1CC6F33C909FF770AB +:10656000FE2EA561DD2578AEF1F0F87503E0F97433 +:1065700011A700BEF3AA6847B33D5D01A0DFC1BB10 +:10658000F3290E7C44D0E1B14CEF117CBF6A0DE7DA +:1065900033791FBA477E8A96BF3300CFBCCCDDF477 +:1065A0005DC6FABDD644E4C35ADC61AA7A3F51DA2B +:1065B0006BEE272C073F01FBE1F7E6E8BB8D6F4749 +:1065C000D17DF3A30A10A2A0B77C48BFF36695C79C +:1065D000D5BE34C19254DC476F26BC2CB50587214B +:1065E0005EC04E2B43502FBEDF76FB708CE79504C8 +:1065F00007A2FFAA3D68F534BB0C7A9FBE7724E35F +:10660000743FD678DC2C12DE4838AC1616C0FB3D41 +:106610004AD1735FA19F017A82EB87031CFE9B55D1 +:106620007FDA2895FB2F14FF4BF751BC80A5DA3C8D +:10663000FCFB8CC6F9D78A793BFECDE3CFF2BE5581 +:10664000241C8A83CFD70B9E680E8FB43FBDE1E137 +:106650007490F05C3AC4C5E38703BDB4EED5A6D50B +:10666000E98D68CFC64615E091CE34B33F1FF1F7F0 +:106670006A148F8FC97898DCE7B2D3CDE9FC3C2946 +:1066800064F8AE0F8B882BF96C0E0DE9315DCA4FA3 +:106690009166909F9EB853B131EE348379C82EE451 +:1066A000B3B7249E28DEF4FFA3834318C061000023 +:1066B00000000000000000001F8B08000000000028 +:1066C000000BF3E66060F8518FC0AD687C74FC0A83 +:1066D0004D3E9B05BF7A42380DA83F118863803834 +:1066E0001C888380D817883D80D819880BD880767D +:1066F00000711A102702710C108703711010FBB281 +:1067000021CCD16367603065C76FD74A364CB1A7DB +:106710005C08B60D27657E19C5431FFFE16560F86B +:10672000CE87E037F2A3CAFFE545B0E38529B32B56 +:106730000FA81F00BDA23B7C8003000000000000EA +:106740001F8B080000000000000BDD7D0B7C54C592 +:10675000B9F89CC73EB39B9C249BB081044E4280F9 +:1067600050032E216050AA070898B6DCBA501F4883 +:10677000B976C1A080201151B9B7DEE6401E0449A8 +:106780006D446C23A25D282F5B6D03454B2B7A175C +:106790007C14ABADB14545AB2DB6BD95FA40AE8F7F +:1067A000CAEDB57FFFDFF7CD4CB2E764F3A8EDFD8E +:1067B000FD7FFF0BB5C39C336766BEC77CAFF96630 +:1067C000D6A74E66EA28C63EC13F173196AB31C602 +:1067D000A6F4963BFE455BD015827FB32863531920 +:1067E0001B15807F9A8C3DDE52F8BB7111C6BED35B +:1067F00056A6FAE0D108A63056C0D8CEF6BCF97538 +:10680000D5F0DC66316CB7A165ECF093F0FDCE52AB +:106810006BB841FD3095153256E6E7FD306633AC76 +:106820008F62BCFE9DB6F939AC12EA1DADFFA965B9 +:10683000F7CE4B96636C95A5FCD40FFB84E177FAF9 +:1068400007272B44BD94E1A7340FC68A79BFA2ED78 +:1068500013AF0DFBDD3898D7AE7695F958DF797C0C +:10686000A7C3396F390F9C9F35B5777E7FEB7C08C6 +:106870003E984F8C75AB0C716A5BCF47A1BFC94C7A +:10688000FCD16F52E361C6DA1A9317947B186B6FD1 +:10689000B4A96C696CBBA07C0C63B7357650D9D4B5 +:1068A000D849CFDB74DB8F780CC7A05DDAB8DE483F +:1068B0009BA39E5501DF55F4D6F550A7E33D4B95BC +:1068C000103D35017FC04C3ADAAF09CFF433186779 +:1068D000532363960FE7E367D63880C3505FF70111 +:1068E0005D5A3DB1681CF0333974CD5C06756F7626 +:1068F000FC840FF8A139EC353700DC138C397FC2EA +:10690000E73F2B9AE347FAB367F5DF215E2AE0EF12 +:106910002765D04E5F978770C4187FDE8B2FC62205 +:1069200030AF0B04BE83E569EFE1BF0B4CD5C6F178 +:1069300027B8BEBB20E45DACC273CF488BE6C5B6BA +:10694000A7BD87F12E302EBF4E990895B7E1B9BF8C +:10695000F7B9A4CF638D06C179A4B182CA3D50377F +:10696000B1FE57C9FF9C5FC282FFD74C5119037E0D +:10697000F966CADCC960FC2DC8FFB05E8E028DF0DE +:10698000B9FD104BEEE6F014D5035EBEF5CF85558C +:10699000B7C177B1051C7FDF528C3F50BB2BBD26A2 +:1069A000B6DBA327E6336CB7284FB5A1AB090B388C +:1069B000FEC62E52ED61D97DF9069EBF3E0EE0392E +:1069C000E261561CBEFBFABD2CB901BE9B5C0DF406 +:1069D00080E763CF1632131AFFCC73F15B3E9C67DE +:1069E000DC6BFA4A7BE960C15F84FF9B7ADDFB0ABE +:1069F0007C3FEE32AF69970E4E8F8BCEA6E10FE94A +:106A000001F3F34DCC408F38A7471F3A5C3A301D55 +:106A1000DC657B6392FD1EF8FFF6C628F15F4BA391 +:106A200049E546A4139406C0CCA6F55D976D2A5B94 +:106A3000D6057CD01664CB0E203F58D519DBC99201 +:106A4000B1F544BFDB917EE7D3B42C56C3584EACAE +:106A5000A79E0A96C3F8F87EB8780F22A64DE9A93A +:106A6000DB0CE0F1F6B6B7B3A0FDED015EFF0DDB88 +:106A70006ED9D37BEBA7EDAD8EBA7CDFE249306DEA +:106A8000126387D9555665C0D1BF85FDA7CFCF9F6B +:106A9000A1BF96006FAFACEFB06C98DFD79586289A +:106AA000CA9D8D4A771488CB1E87EF6A6BB05F5EF4 +:106AB000DFB365B1FDC4B4DE717E6D2FB66DE0F756 +:106AC000C52CFE24E2BFBA861501E7C3B8F1050C58 +:106AD000E6F50C7E0FE378A7F3719F619BAD26BDB1 +:106AE000172F2FDA2D368E2BE5BA26F8556BF6DAEE +:106AF00028CF37B4FC9969400A2D9F193E13A10095 +:106B0000E62B82C565580CE584A48766E87F4C5F58 +:106B1000F73D7C21DAF74F47DE0EE6FF1ACD3FC284 +:106B2000AEC4F93F89AF80BE33CFAF796E3A8CEFF8 +:106B3000EBF6C4707C5F8CAFD79C6A6F129770368F +:106B4000E2390FCA8F35767E15638F22D3433F39E2 +:106B500035C359327D3E7A43343EA1B75F18EFAD5D +:106B6000747C41FD9D81C6D7C5F8EEF1F418D401BF +:106B7000C49C623E1FF7B82D81D88238E0696661F7 +:106B8000CD258CFA19A3FA94DEEFBCD56377E277B2 +:106B90003185CB230FF69F068707C7C9437D01FDCB +:106BA000A6AD63D91FE085617FBE9EFEF83C643FC1 +:106BB000F27BD99FBB1FC6002FE181E87F0DA7FFA5 +:106BC000792EFA570F91FEFF43FDBEAF733E583B3F +:106BD000C59BB439BC0CE9E28657C2E7867BEDCF92 +:106BE0006F8CB232A227433C497AFE597C27C77783 +:106BF000D373A8E3CAEFFB8EFBAB8CE3BAE7DB876A +:106C00007F87B88E2267C7332B1F96B690B36AABC7 +:106C10009FE6FBF5052C89FAE4EBC766E7A09DB07B +:106C200055ED3E361DBAB47FE961BB61E8AD28770A +:106C3000516F2EE372B734BB3B3ABFB27FB9BB157D +:106C4000EC0CDB87F28A2D40B9BD07EA49A8479AC8 +:106C5000757B18E88B3D9D4B028BE1F9D73D8CF499 +:106C6000313C7F1DF5E2D8BBEBF9F3007F5E80ED90 +:106C7000E1F9DEEDA27D98F75780EDA19F71F7F263 +:106C8000F6057195D9697874CFABD0DB9D8887FA0A +:106C90003E6F5154C2CB41A18F1E14FAA8309858B0 +:106CA0008CEB253CD36BEE045C7DF3CA3D454BE099 +:106CB000FBA3CBE728BF83F1EE53B87DBC07F59962 +:106CC000A7B7BF48A7A5A09D79D093981906F9FA50 +:106CD0002F0AB31A804E91E3DD0B99017279FD61A1 +:106CE000E603FC4C8CF37A4DF613ECA75467247F33 +:106CF00077292F93FCADF6B39751AE54C3FA6D02CA +:106D0000FC57EB96D640F8CF4CE76DCFFB1724E14C +:106D10007DF5B2D6EE2FA13E6649A2837C3FA5DB6E +:106D2000C92F07114E1FC21BA57239F243DA7AA48C +:106D3000250FE386713D4EC4F53847F1C07CC22F64 +:106D4000B118DADBDB96CF6942FC44BA594C53FAEE +:106D5000CE271C77AECB6ADD09CF3F0A8EC5CCFAB1 +:106D6000B652D07F7F7DF548622FB6AF16723A12C9 +:106D70008F6B89D04070EFB9FB1A84FB4B1CEEFE81 +:106D8000FA77C37BA7C0278CF750A6F1FEA7F05176 +:106D90001D827E237F7FBF1157BF43C52F631DD444 +:106DA0000F98573AD71BB21E67A85F33DA85E9F20E +:106DB0003F027EE2442C83A407B408E0D5A18FF8FB +:106DC000775E2F4BA01C40DEC379D11F98A25E1CBA +:106DD000FBCE6DF0EC0DC54BEDF4A89FFA794D4D4F +:106DE000BCA1E03CE6321DFDA480F8C403FD2920CF +:106DF000F7BCC32B72126857862299EDCFC6CE79A5 +:106E00007ADA3A6F13724BE2CD5BC692F928B43F3F +:106E1000BEDA9C3FA1FF7EDCF86AF2C44E24D06F3C +:106E200028F0C676B3FEE151542F8DA347385F0298 +:106E30003C8A5AD0171EBF018204F4475378EC8075 +:106E4000F0340B78DC746F96700D71FEFDBD6FF63B +:106E500058D1C5A83FC299E1F2205C80F71295D3C2 +:106E6000C913E27ADF13B119CE1BE02B5133D04B9B +:106E7000F2911B3EDDF0135EE4F8BAFFBE797A7E34 +:106E8000EF3C3FA31A7C9C9E79C4A81FCD60F45DA3 +:106E9000B69AF80C8E07FCD74DFC17B2681EDE2898 +:106EA00074702E96D6021BF8B9F9C8345689DF855E +:106EB000626C2594DE5082CD8576CDE857E27C2247 +:106EC000D58E753246551D7872E3ADC8E5EF6CEB93 +:106ED000E12B27FDB72DF752BDB920F61DC4E52CD7 +:106EE000C10F6EFC00DE66A969FDEB06C7E7B6E5DB +:106EF000025FF599D77191FF1E07BE4AE79A1B748E +:106F000093BAB4707DD22BA8DF193A752201FFDC49 +:106F1000CCF8BC7DEA9963E867E60512F3117F615E +:106F2000A363BD1FDAE5CF4D3194732D1EAEAF675D +:106F30006BA100EACD0EAB2C07F5E83A5571F09D38 +:106F40002CEF013B41A7F8889F217F7EF4DA389A25 +:106F5000777F7CD6D6E877AECB957A5D12FD44F389 +:106F6000C0F37300D496487915C996A8C2F1A470ED +:106F7000385688F1EF5975B3E4B715387FC97F9259 +:106F8000CFCAAC846540BD94256CF4AB73DB582C40 +:106F90002570ADA7E1257F3AF79B010F37623F458A +:106FA000516326E22F5C9B4AA14928F1D061A94494 +:106FB000C735B3C7EE4CD79B07914F909E95799CF0 +:106FC0003FF518D979FDADBB2D80A7CA3158EF50D8 +:106FD000B05D511D4BE2FA6917CFA7A8F126E483F3 +:106FE000A2FAA482F0DC2DEC3019F76B16306CF9A4 +:106FF0007C90F35589B143033ADE2EE76101BE0A66 +:107000001D7C75BB9A26C7255F15D5817F0B703611 +:1070100079135B703C4F759781FE51B692B4BC0AF0 +:10702000FAA9625C9B75E3B811817FC9DF7915E627 +:107030004EE4EF9D2AB7A72235AD37609C21BF52A1 +:10704000A7B850E4E4628A47055FFD1CC54FE0F92C +:10705000EB88E7A278B74D2E6E857504F17B9337E8 +:10706000B113C7CF9BF684A5203D805E5E80E70EFE +:10707000F0BF312EE59D9EB4308E74CFAACBD9E2FD +:10708000347EFAA1589F1E30839295BD74BD53285B +:10709000A46F4CAF0A5C5B89ED8284973276A9E0DD +:1070A00087B885FCE015FC00743F80E387E676CC6A +:1070B000C0799546617E26F1FB30C4D31D1EA3081E +:1070C000E771C72AEF8224C7C771C46F8E2AF061A7 +:1070D000C25FC08F57D4FF4DF5D0BC10078827A3DF +:1070E0008225CD52B4FB397E243E3CCC5A8FFA2BFC +:1070F00047E2A922CE14F49B6A01078807B34C41EA +:107100007A007E9EA2F569751C417A856A13C4C611 +:107110006D7AC36FFF0DDAB71DD362364BE33F16AE +:10712000237F58E22960C23ACBE4BF89F683DB05AE +:1071300016433ED5435C7F497D007C7A02E7A51B60 +:107140009C4F87AA77BCEB34F30FB8F87483E278CE +:10715000BAB0115A8D2536E2EB4394A18017AD6386 +:10716000520A8D2F607BD243381115E9665849E4E5 +:107170003BD27F537BED0F7FB9CA5269707A8A8305 +:107180008E78305B006C07E3DD249E79D779691E29 +:107190003AE8031E5FE670C21BEA0787F86434D63C +:1071A000BF4AE3C8EFF4104B05805E9BCAAB484E64 +:1071B000F6C86BFC0EDAA07BC1E375CEEFFAC78B85 +:1071C0006BBC4B9DF31CF27721DDFC635A1CAFFFB7 +:1071D000EF74F6478927405E8ED85F90F4D9E86156 +:1071E0008714D09B4DC5ADC4561BF1FF80AEAD8C4E +:1071F000D39D99AA43BE68C53C8EFA9A6AF27EA2D4 +:10720000795CBFB0CB53B43E447D30BEC812FAF4B3 +:10721000352551AEA5E9C1F622D6916E1F48FB91E6 +:10722000555E4AEDDB27DD9CA2F55C664C225E10C4 +:107230007CD5EEC21F780434BF4D228EE98D369086 +:107240001C0C9427888E7EB3834A5FB12DEC07FE19 +:10725000BE875F2BB9FE6D8DCD273FDBEB4F917C59 +:107260000A751CA178472F9F26D8A561C40FDF8F10 +:10727000D80CE527925F617C9F1974F0A9E443D98B +:10728000FFE0EB51E88D577DB41E23BDEBF1F3DA3F +:107290009434BD21ED91F8A59C6EC72B082FBBC57A +:1072A0003E43DFFE397E3E82BEBB11BF7A2288EBB1 +:1072B00062CFD6254184774FE7FC9C747E77977721 +:1072C00083FE4A81A3B503F43F96F7341A54F6D8E7 +:1072D00007227EBF5DE815F9FCC71AD75BEB35E1E5 +:1072E00097FBE341DA9F7AFCCACF8F0794941FD7AC +:1072F00062C86B23EEE8CA1D68FCE295CEF5CFB4F8 +:107300004503CE77DDAB45F39E48DF67D1C2913FA1 +:107310009E03FF388F9D87EB62B0EF3F6A8CCE7B78 +:10732000C2F3F7E365BB88F7FE58DBBF1EE3BD2C55 +:107330007511C98D32B1BE8ADA1839A1E56B418F5A +:1073400060DB8F3FE1EF7BF6EDACD062A8934901A3 +:10735000F53D6D4B6E43395AF282C65490436350EB +:10736000BFA09FB895C7F9FDF017E50385B2A1DF6F +:10737000D1F52C998276A33B9CFB0945AC9DF6FD8B +:107380004A5CFB0945A8BF508FB3B4F6F0BC189413 +:10739000794DD5DF4F87EFFC3FA2C33D7A57C048F8 +:1073A000FB7E84C2E2C8AF2356FD415992C6AF8727 +:1073B000049FB27521F6FB3479BB5DE9CA4565B41B +:1073C00063A55A97243FA0EBE9B1E42F9DBCF036AA +:1073D000A8752EBEF9DD47D1AE2D387521EAF1270B +:1073E000B52CDE4F1D73C853390ED86D4FA21C94B7 +:1073F00076ED8EE6F9249FEEF9F8C62318CF19B37F +:1074000096C53610FDD971DC8F3205FD4D41EFDA9E +:10741000AD9CBE65ED3C3EC86C27FDCBEA6DC58BCF +:10742000FDAC6331FC76F43246F64AF92296B4009C +:10743000C49275CEFDBEF2AD4EFE1826EC98612EBC +:10744000FE30810FF2810FCA3B12B7E1F845C73514 +:107450006E33B8C61F63767D8EC6037E49927C4C20 +:10746000EB4743FE8A6D407AB8F97218F2E5C4BE64 +:10747000E3FEBD7CF71EF25D562FDF7DC88A17EE56 +:10748000836A69EB221517E33D2BF3F2D2FD19C98C +:10749000773AB3CE229D587C68F6CF90DBA58A550B +:1074A000DAE717B0CF58E30F62FC7CBB97FD0CF70F +:1074B000FBED173586FA66FB9AE0F0F4792585DC5A +:1074C0004F8A386CA12EEC739DDBA5519DFB4FDBE1 +:1074D000B3F9BE5CDFF137087B80C77FC69D0583AB +:1074E000273FBDEE75D575969A9C5ECF16750E47F3 +:1074F0007301F7D37760999647D012EE6006D95D95 +:10750000E5A497E4FEF7E3B973FC27D12F0F558963 +:107510007D7F534DDF1F6F0E950D6369746D16FBF4 +:107520008FFDE1B305F71FD19F1571F01D1E2B9A3A +:107530000B6573EE1C8A73EC0873BB61B2CEF590D9 +:1075400056CE289E7B7E73CE860DF0EFADCCAAD6AC +:10755000A7F0EF70BE9A51387C31A376E477B8C7B4 +:107560001BA507853FA8FFC5B9AF1A3248AE09FE73 +:1075700066A1A1D94523F4C4C538BE3D93919D634E +:107580004F64C9265CCF0D71D6B3BFC3DBCDD50B1D +:10759000A89D8D7E444FBB84337E07EDE6897696A9 +:1075A000A35DBC4FBBCBC5B8CC31AED567DC2F8B50 +:1075B000FEC85EEF6917EBD35F42F447767E4F3B20 +:1075C000B34F7F4B453BCBD1CEE8D36E859C9F63B9 +:1075D0005C57BCB2E7FD48AF7C4FFE514BC1E57E26 +:1075E000F25B4E9538F8CF4D87A3059C1F9F2898D6 +:1075F0005387FC72E3D31ECA5B3952E0E453D9BE11 +:10760000A991D5AC1C93560FEDA471323C37323F93 +:107610005FD24FFB25A23DCF4B69C33C105FFFFCFF +:10762000E3DE7777BFFF40C885A60AAEAFFAF42342 +:10763000E404D3E37C9FADC2BEA032C33ECDFF2F96 +:10764000F09E11F034555475CC04976F7FF3820D82 +:107650007EE087E6E8CC8E19507FC95EB0A1B6F413 +:107660007F2FBCCF355FEB80F711FBDAFFD5F0BE83 +:10767000D37CB303DE6FDB370F086F8BC2F5A5BB7E +:10768000DFB3BA2AFCE238C9FF96829BA3386F9910 +:107690006791ED396FC3FA10E6DD24FE1BE5D14694 +:1076A00068DB8DF69F6E929E1AEC3B6DBC1EC7F593 +:1076B000D71C55EBD2F5C99D421FC9722B06257107 +:1076C0005FA4482779C60ABCC931021EDCB738A0BE +:1076D0001B8EF5DAADF3B8B9AC9F76BD877FFC059C +:1076E000ED2703E11F9D413F09F97947AED0DFA2A5 +:1076F00094F36B0EDB2ADA678FB75C4E7250EA7137 +:1077000043E0F4F1D985017C7E8795598F8325422A +:10771000EDBDA2DE129ADF568AF1D59F7BA8BE1D71 +:10772000EC759E67C4F3C0A43D24FB3FD202FDE389 +:10773000F805858172F8EE3DB033B159ABD0F7ADA5 +:1077400042DFBBE9F98887CBBD0EE8DF1C87F94C27 +:107750007ECA2FDB06F504943BA18EE5FDE01F24D5 +:10776000E0FDE1C6289598EF84CF53301F2CEF6BD6 +:107770008CD1F3F6C61AAA77A27F01F56FA37F0119 +:10778000E5704BB590AE871AD93434BD7635FAA979 +:10779000DCD26850D9DA189D86F1F2EF359A546F31 +:1077A0006BACA0B2A93146CF1F6EACA17AAD327FCF +:1077B0008E87FCFEE47A6F04EDD172CA5F2BB3743E +:1077C0001EF7D4CD0DFEEADEE712CE5A65E617F0BD +:1077D000BBF1B52A6FE7EF9819CCDC2E8EEDA6D75A +:1077E000EA345F164A6939918CED2EC3769E1AD120 +:1077F0009F1127FB2143BB85D8CEAA11FD45986E6A +:1078000064EEEF2BD86EE4748E27163DB9DE97B97F +:107810005DBD07F836345DF4579CA2784B8676CB75 +:10782000B1BFE2BCC4E238F7BF14C4576EAD918754 +:10783000FE57717EE206FE3C36139F7B22FC7909DF +:10784000B627FE4C1EC5F1B36BC4736C4FCFBB356E +:107850003FE6014D17FD7879FFBB6773BBC2B08C63 +:107860009D7E60A94DB3095618CFDC81F5621F1FBC +:107870006F4C619C29B0DE00078A82F126A8ABB06C +:107880005E732386A242BDC4CBC7DF7DFE49A6C07E +:1078900073A306DAC1779BA0AEC277B935D00EEAE2 +:1078A000253E3E9F31179DA1765BC5FE7FE0227687 +:1078B00004F19163990A2E8D769107913B9DF73FD4 +:1078C000CDB2355CFA155E665D06F8DA7A03973F4D +:1078D00077787E3113F3C3CA2D5EFF77CF8859EBDB +:1078E000C1DE2D1ECEE36B5B3EF754D16218B77834 +:1078F000046BC07ADEE78F8DC77A09BE0FE1FEC345 +:107900002B45188F2FC1F72102DD36C0A4CDFBC255 +:10791000ABE3D3E3F4FD95EF3F3B8BE2EB250D2A80 +:10792000B306C8FF28883BF7B32B6BBB66223C7FAE +:10793000F67078DA053CDFF3BC42F0F86B79FDB500 +:1079400016DFACF5202A8B47F2F93685053CA3F803 +:107950007CB56C01CF480E6F53B68067148737240F +:10796000E0D172383CEFEBD63023035CEEF987634D +:10797000CEF9EE10FB073B665F63D543DD9B64E405 +:107980005FD4B66EDEB001F3F5E6315DC9A17C418E +:107990008A8B45FCAC0DC745FCE07EDB7621AF242D +:1079A0005D8AA35E3B3F433EB62C25BD8AA3FED72E +:1079B000B19DA457493468E74FECFF3B49C7926833 +:1079C000E8F5F4FEDDF0F5A5876DE9A05F735A4F89 +:1079D000AB7741FD9C5A26F222FF7BE60CBD2F7D42 +:1079E000EE98C4E1BD43C01B92F0027EF342987F43 +:1079F00023E015742B3E3108BC829EC52704BC824F +:107A00009E2527068157D0B9E48413DE473C5CCF1E +:107A10000E46D726014793D81F0CE983C06178072B +:107A20009C4F0F1C06C031310D0E233820FC3D70D9 +:107A300018A1D7D3FB1F2A1C1D08C7B9508AFCAC5C +:107A40005008E0A81A008E578708C7AB2E385E1D75 +:107A5000221CAF7E3A385AC53A6A15F488087AC8AB +:107A60007EDCEBE8CE7F72CAB7FC2F3AE5DB9D5F88 +:107A7000E4F260BB1C5FAC8FFC4BB83CE859B761CB +:107A8000910727F0D6DF781B4B9CE3F9463AC7DB1A +:107A90003832F378BE517CBC7F543C21DF9398E7A9 +:107AA00015F1042DDD6F6EB01C7E33B4BBDC2BE210 +:107AB000095ABA1F9EB01C7E38B4FBB2E8CF72B42C +:107AC0008BF7699710FD31C7B8569F71978A762951 +:107AD00035BDBF589FFE56C8F9A9E9FD997DFA5BEF +:107AE0002DDA598E76469F766BE5FC1CE332E7B8BB +:107AF0008CDD30A47DBD48BDD7B1FF9837D7590F75 +:107B0000553BEB5EB19F47F5D2DEF1647F3932FF22 +:107B100025D160E2BC6F0B274F60DEF816EFEC5901 +:107B200011787E5B2E97B35B5ABFD084FB085EB69C +:107B3000665412E00DD5E82C89FD4DE77147743F7E +:107B4000100FE14A3D99C27D7ECC7387F7E1EA3898 +:107B5000EBC9A72BE86D2FF356FBE327BD82EF0B94 +:107B6000EB156DDDBCD4693F9055F7C943F836E29B +:107B7000D7C7E28C8DEECD4390E30CC6B7436E07BA +:107B8000A68E0EF0DDC28231DC2736B5C4F7913FF8 +:107B9000D7D5AE63E842796B1BBED26CE2765D83CB +:107BA00082F17A6318CFE36257FB63982F6BCC9A0C +:107BB0001E453C341538FDC1DF78F97A3EEAD5A878 +:107BC00034B2F8FA647EBB685EDA7EFB075EEE874D +:107BD000C2FB1B903E5B875DF5781DCCDBC8E1EBFB +:107BE0009EC5A07D38437B8CA982DE7CB5F5A62698 +:107BF0001BDA19428EB2683FEDC57B371E5EF77AFD +:107C0000F8FBD1E2FBE27EE6378EF3CB291C0FDBDB +:107C100025C0EB4ACBE7CB0B245E407A15D575A780 +:107C2000106F5AC89917E41EF765D1EF075EE96730 +:107C300026A2AD11DCF7F0C7D06EFEAD7C1EB28B74 +:107C400068DD1950867BDB77CCFA9A82FD7F4E4D3A +:107C5000FC078ECBA2093D7D3EF973795E574FFF3D +:107C60009158B4B5BAB7FF0FBC263DEF9CD27077E0 +:107C70007329CAF375A5D81ECC44E23763D6228A8D +:107C800043E8B53CAF902D70E65FE94683CC27FA18 +:107C900000F9C59D4F345BB33EF4525CBCD8A07D67 +:107CA00002E6F493659ECC921AD12133AFF835C029 +:107CB000BFFC9887E1FCD8C7D03A2D5FE177BFE7DA +:107CC000791FCBC53E4A3D8B67E3CB77985A8774C3 +:107CD0007B87FD327B721A9E737D3CDF8EB579689F +:107CE0003FC486BFA8079676781CFB23D7763AEB6D +:107CF000D7B0F985B81EAED9EAA17D96E5AE7D1361 +:107D0000C5C7E304D7B28656238DBE4B0CA6E783C6 +:107D10004A59F5A37BA7A2FE89FA781CE24DF49B91 +:107D2000D3E2342B4249AF05EF7F7F70F2E578361E +:107D3000A9C5936C1D8E723697D17A72F3C9D56D31 +:107D4000CEF90D367FF77CE5FE447FF3D0F7295658 +:107D5000A678E6589FE2C85F5DE7CF9EC8407F7F68 +:107D600014E0654F9CF8370192FBB53E53EC833429 +:107D70009CC7F544C3B9580EF65D5D3FDF6D8A744C +:107D8000C4910F659E84DFDF40710E45E772775323 +:107D90007490F7C5F05E1BE07DF9C0DF03FF7DF254 +:107DA000C954C6CF5C52BC87E709B535F27DD126F0 +:107DB0004FFC1274E29A5ED018266835791A484F43 +:107DC000D825CCC47D265F397FEF3BAE45D452C168 +:107DD000C4506F2DAADB85F9A097F83C62DDC74837 +:107DE0005FFA42B665611CC69388E6025DBC5FE33C +:107DF00076D08C502281DF69D1051EDC97FCE90327 +:107E0000572FC0FA8AE81C1D49B4D0C7F7A9DEF97C +:107E1000EEFEA90CE6D7FA6098A528CE91F4621C74 +:107E200069C5418DE20FD7FD204CE3AF3870ED9E60 +:107E3000B9C8C73FFAACF947D25F4DF4FD8A87BF96 +:107E4000F49C2DE0C1BCC6A6F5329F2D16FD127C18 +:107E5000BACAC7BE82FEB9845FF289DFECA03CA338 +:107E600015FB7229FFB087BF74688F761B9499CE7B +:107E70004F7C4DAC8FB7C33C4F4CD977E42A9A5F07 +:107E8000D7151E844B296E60FF01E3DD28F004ED59 +:107E90002CE29BFB95E41878FFF6FD3BBC65137064 +:107EA000DC1DDE25646FACA776729EFE7D77D8B8A8 +:107EB000AEFCE546199278D60F1ECCC6F8D7EA7DFF +:107EC0005A0AF3EAA0A4FCBA80E9DA076556480129 +:107ED000BA5F4F2209CA83AB48EE5CDFB599F6F76B +:107EE000571F72AE37C06B2C05F3BEEE252D36172B +:107EF000EB3FDC9B6DC27CDEECDE9D8DF88771165E +:107F00007B81EF3D86735F16FB3F9BD7B73FC6CEA5 +:107F10007891CF56776DE2E3B9D6F39BF88FA2BE86 +:107F2000FBB1BB7CAE3C807DF943D2FFD73DF8E18D +:107F30007D368CF7F681B7EEC3BCDF95FFE7FDFB1E +:107F4000BE0AF0B0C70206CAA3D5DFFD8FFBFE153F +:107F5000F0F8CE219F8A7C71FAD1BD7BB641FDF449 +:107F6000CBE3AA14A83FEAE37AECF4FEFF2A34A19B +:107F70009FB58FCE1E8670AF7D689663DFD15D9E04 +:107F80006EE4E7647AE793A47ECC430A6E563376B8 +:107F900058942E7A3C7E50630198DF3B277CB44F87 +:107FA000BF1A9EADAB42FAACA27D7CACDF0A78BDB5 +:107FB000FE818DB4EFDD17BFF608358A656A04A629 +:107FC000885E7FF04B977CB61A4B0FEDEBAF666780 +:107FD00048AEBBBF5B7D1CE8786EFF74FB907DEC08 +:107FE000C57DEFD50F6CE2E3BAE8F60EFE635A5F8B +:107FF000BAFDDAE7DE475FF9ED6DF8F2607EC6FCA8 +:1080000026B98FBEEAA1CB06DCAF3FED5AA7FDE152 +:108010007799C823BBDF67BDE52B403EF8DE9E6D38 +:1080200011A4AF2F3617E9FDE08723F1B0C829CF9F +:1080300099AB70FD9D79D467E039A1158FBE44FAE4 +:10804000E3F443CF7B4D92DB2CA480FD719AF5FCC9 +:10805000E9467BE47A855756EF0AA77CD9BD74BA06 +:108060003E39AFCECCA6E764FF5E9FE4FC7E7DF296 +:10807000C8A54A06BA95F9CBB83E4A16105E56ED29 +:10808000FAB597859CF4546A908EAFCFC1E7FDD1C5 +:1080900051C26F20FCE7A5D173175FA7FDADC7D311 +:1080A0003B7CE4BF4AFA9E167903AB93CA4B2CC3C0 +:1080B0003AEDC90BF81BF32A4AFC4E7E90F00EB63F +:1080C0008E0787E36FC35318177B415F7CAD2FF298 +:1080D000D23EB396EDA5F5D7EA315FB2912F9EF669 +:1080E000B09D26C605A7323383FFD3DCC8F70F64E3 +:1080F0005D0FC569FF5B8F185598DFE33E9FE13147 +:108100005466A6CDC7F8AC1ACF943FC0583BCDF308 +:108110009B224FEE1BD3553AB76EB414529E823158 +:10812000F3ECB1D114278FF07C4741179D19F2BCB5 +:108130008E9AEEAFBAED956F96B0ED58DE5504E528 +:10814000B97DED970BFD894BFD19EC976F2AA25D68 +:108150002E4BEE56286FD71F0439759772E6D868F4 +:108160007C3E4F257B0F9EB705F3D2DA4FE3EDC17E +:10817000CF378DA93C5F95EFFFC0A34271CE12FFB0 +:108180007C2666A37DE3650D649FF8319F04CA20B9 +:10819000EBA272B5582F21588658CF61278D31D464 +:1081A000598AFCF102D16F813FC4EDFB4BF5B7D387 +:1081B000CFBB07D8768A97609AF62769E725E43916 +:1081C000A6C1BEC7A14654618DDF671191F346FF7A +:1081D000A250A45E135C0643384788B7C3D09AD236 +:1081E000703F08BCEDD1984F7792EAA3702A1A9D90 +:1081F0004F58CF785E8582780EB057C9BF506D5505 +:10820000F9E41CD73C0B7AE9E8F367DB5974D8949E +:10821000FBBB5EE1EF4A7AFB42FCDE8E5B54EBE592 +:1082200004F783BFE187EF6FD11227FF4DE9A5EB7C +:108230005661EF6F0D3BFDDD6D7EAE0765B93557BD +:10824000D0F332414F3DAEA4FBA53445F027EFF506 +:108250005F5D6B57F2F7D8BFFBB91C4F37781EBE76 +:10826000BF5AE4ED26003169E71B1EF0737B2A2F0D +:1082700010DF8DF32E32534C31D10FABCC3939C0D6 +:10828000FEC22671FE64636382CA1FE19A2BC0F3AB +:1082900055DD167E0F7EED7EEC0FC64B22DFE882A9 +:1082A0006E7F7BFF069D7741BAE07A9BA2261EC1B6 +:1082B00075E32F671D8877BFC9F3703591AFDCEA8E +:1082C000F29B9F147895A5CCD7F58D5C776A07E073 +:1082D000A563467412972371F2DF9FF2F7E463906F +:1082E000FF7C9722E25E8A5FAC2F661A85BDEB4B5E +:1082F000F35BE46C7A00502C7DC83F1AF25792CAA7 +:108300002C5C37C08F6F88751566277B9D53DCEF1B +:108310008A7A77A05DAF0382B43C2A53584A3EC1A3 +:10832000E79E3CBE9F9B0DE5EBFE3C1E0FC27A15FF +:10833000E231FE2AE2395AC1E32C30410DD749A17E +:10834000985FA15C670B9CEBAC871F739DF8FAA349 +:108350009FFB6F6F08BEC0F151CEF4BFAEFBC4816E +:10836000DEC5F9B8E34088417E2EAD95E205C6B979 +:10837000EC3F55BC8BC0B66B9F8D529C643FD69B27 +:10838000F4AFD5521C6732E7E78FDAD6D762DCC488 +:10839000384FC4596A9C71164F80E70DFC15F90FD0 +:1083A000E9369DC73DB2035C4EEB4603C53BFEEA92 +:1083B00017FBF4168F87F4D46B79FB9E7A257FFF29 +:1083C00029E219D981CCF18C9CC040F10C61A79AAB +:1083D0003D72CD19F79479A6B3B510C985E05A302E +:1083E0007F01CFA3623A9DA732631B6E5027A2FC88 +:1083F000E6FC54B29CD1B97A784FF691FC7E94EDAC +:1084000075F82BE17A677D784F1EB2333E3A5CE413 +:10841000210F6769715494A3C23EF18A78E960F62E +:10842000C9A480CB3E1962BEF12F15EBBC00C5A9D3 +:10843000785CB2D595DFE8B667068B1BB8F56DD3CF +:108440008C492722C07785E7EF24BED3F42E3C5A0F +:10845000C23AC3FC7CC691CBBC1447DFC6FC3CBF10 +:10846000D7B5FECF2EE7E7D5EE8BB0247F68D0FDE1 +:108470004959929E86B51EED5B29FF94C453FF8532 +:1084800076AA17E9ACA1FE4D129F497D9BCDCE5037 +:108490001958196378F4FEE8BA99B9E87F66B1F61D +:1084A0008CEB4FF2C57B6B79FEB1CECEC9C17A742D +:1084B000AD4E71A8A2443C2785F3B0ADEE68211DF6 +:1084C000F9A13FB916C6907BE9935FE7EF392384A2 +:1084D000F582B8E1A8978AF353C316441DDFB1664D +:1084E0006EBFE2F12CBE5F12277C445702CE4AFBDE +:1084F000E6B547451CAEA83E45727B4483D3BF8D8D +:108500008ABCE3A8EB3B373F7D3520FC5630039017 +:108510009F000FB15435E5A7D03974FDA48FF03218 +:108520001CF08278788F713E28590CEBA3B42F3E53 +:1085300024BFC1FFC82F1F09FDA4E0B92FEAC4530F +:10854000C074E229ABC289A770CC891F89B79C1A75 +:10855000D3D14EE24DDE0FD51F9E8A9775ADA7FB96 +:10856000C63E259E922E3C8D08013F30E4F394A236 +:1085700098749E96F8FC3EC1EF48407F9A9D25F185 +:10858000E2E6FBA265C0C7282F2220F291292BC367 +:1085900014478E0A7C2AEB249F67B633DDFCAE338A +:1085A000E077B4DFFCFC7C7616DA67C4EFBF67E9DE +:1085B000F69907EDB189587279A50321F17C9F3CAA +:1085C0003707723845F2E201C5758EBD81CEB1BB69 +:1085D000ED3C4D67261E7194F6ED38D11EED689680 +:1085E00006EF38D4A313517F713C29210E1FDB0EF7 +:1085F0007A356DBF5017FB2E43859B19228E87FA63 +:1086000035ABEFFA1E25ECCF516DDCCE346F3567FC +:10861000F2E1ACE3C8BFF23C4A7FE74F46DB293AC0 +:10862000DF58D6EEE49F916B9DE70E8A859C2F164E +:108630007A806987E7D139C15B55DAB72A769D43DD +:1086400029318D99980F55B28F8143017C752B3F4D +:108650009F36722D33EAD3FA1D91C836EAD3EE5312 +:1086600071F3E7072EBD70E3BC4B495E7DFB56E717 +:10867000390059EE698C1AF563F05C899FCA7067FE +:10868000F26800E6616EE778301730D50CF5F2ED50 +:10869000BD8D301F28F7351AD47EC70DD1B2BD0C61 +:1086A000E994D083A097C7DA8919A88E4C3BAEE233 +:1086B00078AA6E7982C81FE23E8771EB8A69FE63F1 +:1086C000D78DA4D2AD6F46FCF547748E7A549B1AB1 +:1086D000030F918D3AEBB3D09EA2580CDE03D36CFE +:1086E000AA78AE251AE476D58B81781EF66FDA86E5 +:1086F0004AF1E265FC7C687F78738F27CF75DDB324 +:10870000929FDF6E36228EF3783B058D2A83DC7EC6 +:1087100093E7EA643FAD6DF25C9D497985651DA5DF +:1087200094D7E63E57A7321EDFFC329EAB037A1F7A +:108730000D24CE21BC1869E73DCB7ACFD58D585595 +:108740001E44FCEDF4DB6A10E635E226CE17E39317 +:1087500000571ADFE1555935007259F3C91941B371 +:1087600017CE170389A9D87FB13F64D44F4EC38F6A +:1087700038A7354AF079C5AD8C9FB7E900C5598A4D +:1087800078B73760C8618E90FF3B85FC87F53177FD +:10879000719A7CDF99B0F2E85CB290C752FE8258C1 +:1087A000147ACB54D11E187FAB735D9409395BEEFC +:1087B00092B365423E97B99EBBE9383E6964A4AB6B +:1087C00084D3BD1E2E0F0A793D8C1561BEE8876CDF +:1087D000FAB0D9662F9FC8F35F6E3BC91DAF93FDFA +:1087E0004F4A39C797FD0C161752749BE2359E28E5 +:1087F00033F05C516781D00FAEF8428F3D538777DD +:1088000043201BF9932867A37313743E225AC7624F +:1088100026CEBF9EEF536FF2F2EF54BF4D7983FE29 +:10882000E2EECF22FFDE1C0CD1B8AFA9F19B715D47 +:10883000E6CFE5FB29F9422F0C24576DAD57AE0664 +:10884000838946E423295F4B534CF5A6C52FA47CAE +:1088500097F2DC2DBFB3DC727888F91E3E3D915A49 +:1088600062F6C50FDEAE99BEAFBFB144E88F62AE0F +:108870003FEF59A98B3CAE2FCEB6CA19DB7CD9FE8F +:10888000688141D349193550FF9C42EF0F07AF6D06 +:10889000413F68F33C5E3F125CCCEB572AE427FD76 +:1088A00042BC070C901CF0887CDF8F0ACA6C5C2FDE +:1088B0001B4D7ECFE7C6E281CFEF3535F2FC5AD9AA +:1088C0004ED36374FE56CA179F2B1F430F39F741CF +:1088D000F495FC9E072977F495DC0F692D3E7062B4 +:1088E00049359D3B47AF0FE44F039D4BF275DC408C +:1088F000E76DDCF2C72FE4CF4271AE17E4CF234817 +:1089000057CD709E3797F2672B3A40F07E5C750327 +:108910002515FACC06D584FE8FA29099D21B5792CA +:10892000F2FCA868EFD7E32C06ED3D750D0CF5863B +:108930006F2E8F97F8EAF879BDFCB9269DA3F198C0 +:108940008CF8D4CDC7CF22DF4E41BEB59E45BE7D4B +:108950002E28FC481653787CB081F47B30187F1E9B +:10896000DF9746D9511EDA1E1A3FD29FA9227E57A1 +:108970008AF05B6CA0F89DDBBEE8C3CF466448EB91 +:10898000FF76AF953B1BF7F57EE189617C7630BFC2 +:108990004AEA59A997A5BE95FABA20ABD4B55FDBD0 +:1089A000F534EAAF8FAA54CAF795E3B7D7B33A7E46 +:1089B0000F07E7639FF0993F2A5912F402AA23593F +:1089C0003C2F449E43957C19ECE75C91E467D95EAB +:1089D000F2B3BBDD90F9B86209ADA70FB7737A8C1B +:1089E000EBB881EC0F37FFCA7ED5BE7C1CC9423C78 +:1089F000F4A3479706AD822CC47F556C59A6FBD8CB +:108A00003C211EEFB867E5D600F2F7DD88AFB475FC +:108A10001FCC12EB7EFC1AC2D7F9025F7BB73BF189 +:108A2000151D045FB2FDDF8DAF84C0578CE3ABBF73 +:108A300073FC03E0EBFC81F0755B7C675B19E691EE +:108A400025D4D81880676B5C4D5D04F5BB97A90FE2 +:108A5000A0DD7A5B7C66600CD4F7C48E1E56E0FD08 +:108A6000A45098F8708F913A86EDEC72D5A4B89E18 +:108A7000D15187F3DC535CC5308ED5636F16F37329 +:108A80005B1B8B9704AF4EC3C39ECEA3D17439BA80 +:108A900047C99CAFF37196E2D89FD856CFE30545FE +:108AA0000996C4FDFDDA7ABE8E02111ED70958BCA4 +:108AB0003E2EC4CFA13F31A975861EC1BC04BEFDA8 +:108AC00026ED9C4E979D23E30DC1727E5F70670279 +:108AD0005438B4F37C96DB6159C23F80F7B47F1DF4 +:108AE000AC74FA039AB0677CDB5DCF85FDE371D986 +:108AF00039B2BD3688FF995B7B92E2613764093BEE +:108B00007F181B8576CDB6B84A7014011C289BDAF5 +:108B100097762828B78B3ED62CBEFE3BA20B27F4B7 +:108B2000DA379BB2F879CF7611B78CA58C597815C6 +:108B30004A4E8D41F1DB1EFD2AF0DD2EF29EABBBCD +:108B4000E3B3C203B51371D69A931DB3B233B4BB6A +:108B500058ACB7760F3F27D93EC69B5C0F70B62B3B +:108B60005C3EDA3FF7C87B5388AE7B961A3B907F1A +:108B70000E1C2BDB4C574D244CDAA73A6026D4B29E +:108B800050FF72F29F42DC3F185B17B3F8FEA4EC73 +:108B90002FF500BF8725155D04F85810E276D281C5 +:108BA00020C807C25362787A3CF4CF59AA034F0F0A +:108BB0009F5892857916D162330FF5575E7103C3C2 +:108BC000F30A72BC03C5623CDDDC3C01E15B9A0A3E +:108BD000A79FF790E33D1CCC2C8FCE6609FC087C48 +:108BE000FFE4D44EC778BE3AE778BE7A180FE7EDB7 +:108BF000EF583FB1BAFFF17ED2CF787F91F009BA3A +:108C00003D76F67759189F8F56C078C8FF385EA812 +:108C1000EF784567B728E1B4F5798518E7318947DA +:108C20003D317C7E9A1C7A4AF0C7DEF84EFFD5D0E3 +:108C3000EFA631AD01E4E33D4AD23F16F5DE2495BF +:108C4000EEFD6CDFFE5E0AEDDEBD16B76B726BECFF +:108C50001918BFF085F284DC9D49DF297AC77A5C58 +:108C60008F5A27A3FBA036621C2187F5B5A7855D27 +:108C700008FC7F04D7FDC8B98CF2DAA29D0D3F1B1A +:108C80008F72629D4A761C03B75E9FDA1BA7E9F4D8 +:108C900088FEC43E9BB42B8A847D3E807D11637226 +:108CA0001F8DEA7CDF4DC6715895C594D1BDFB1B65 +:108CB000325E29F735E47E460E4BCD48DF6F1BCD83 +:108CC0002C15DF8F61C9F5085CA965D27D5F633B18 +:108CD0001333E95EABB58CE20A9AD1C0F74946DF9F +:108CE0009BDB13DFBC80B145C89380FF7BB3E4F905 +:108CF000BAC470B41BBEE7AAFFD855D7135C0FE9FE +:108D0000F55CCEB1458AFBFE372D84769F8833C94A +:108D1000F8FD25A29FADF12D0194EB9B839617DB07 +:108D20001565F179805F9145F5B9CCC27B21B466B8 +:108D3000EE7F6A21A67E1AFA46A11DC9FD75BC1FE9 +:108D400037DDFAA3AFA4A3A4EBDF4ACF7CDCA2D12A +:108D5000685F50D891F680F663B17E86F653C17D88 +:108D600020BA96B338D175B8DF50919E65B5E6FA52 +:108D700000D215DC18F4F74A427CFFC1C74E0670DA +:108D8000DFB83FBAEA15824E711E3762893E74AA77 +:108D9000094DE94BA75E7DAE7629E6E07ABCB36269 +:108DA0004B00ED02D0E36417D8CB543ACF39047DA1 +:108DB0004E7ED5C79BF7B6E07E6A7BAE38270FF2B2 +:108DC0001FEFAFDF946512BF4C3FD33D2B274D6F94 +:108DD000B47B52D118B54F2D407FC7BE97CB89BD0C +:108DE00071B79C48FAAF86F258562ECFA72D9FF345 +:108DF000F4785CD7BA4D7E831CFFB9CD5A2BF97538 +:108E0000A114E511B6CF5B43F70449B9D2A75D9F22 +:108E1000FB439DFB4EEF3EFA5209E66DBDB6F4FDF5 +:108E200030E6E7FC563F13C6F99EBAF55761CC23EE +:108E30007CED568DCEC75E25E2755F69FCEB548CE8 +:108E40005FDD20E4E933216B39D285ADE3F925CB31 +:108E5000931A06B179FFF0DF75FBB25048F4D4578E +:108E600075E53BEA725EAB7C7C3FEFBA078E7847D4 +:108E7000005E96EFCBA538D6299DAF8B53074B7676 +:108E8000609C7E6F88CBFB6742F17FC171713E4869 +:108E9000A7DF1EF6897CC56E0FD797D65CDC6749C5 +:108EA00008FE71CFEBA9C7B2A8DFA5776964672D6B +:108EB000065CAF03119D58761DC583DCF35EFA5A3C +:108EC000D753C3615E4B372931DBE4ED6F05FF31CA +:108ED000B16E23C547DD702DB69D79305777CDA390 +:108EE00038FB92B50AE9F125DB155AE7EEBCDC7ACE +:108EF000666E9E5E9A213FF730CF1BBCD615777504 +:108F0000DB57DB43225E34959DC7E34595DFA834EC +:108F100007DF573B05763E26A9BED9E8A7F2ED4606 +:108F200083CAE521CED7D71D3AF214C910BD7B2ADA +:108F3000F2DD8163BFCF5A08AFD644B97D7FE18EA1 +:108F4000F79B1E66F8FB0CF19C14C92F8BE4CC2216 +:108F500081FF8B98DF0CC13C5B44FC70F259A8A7E1 +:108F6000C1F75E87427EDE1A58B19887B708E19D47 +:108F700088FD73BB7E11FEAEC800703F1272E62DF5 +:108F8000FEBD70F7F7DD2A8D9F27703F97EB61B923 +:108F9000B00F9B1EFDD61CE497D3772874CFFD8AB3 +:108FA0007DAF535EEAD2433E43E341C8E328DF246A +:108FB0007FBAF90FFC622FAEFB1E3E3BFC75C287E9 +:108FC000E403583751918715556B32F0DB20F9DEF9 +:108FD000A73D2747E23A77F3D3E97EFC96E742655F +:108FE000B4EEEA4D6B0EC66996B2782BFF3D1BEBD3 +:108FF000857F241CF2BECD2A1EF3C23C4DAB16D693 +:10900000E9818FB93FB4E1E0E83BD18E9EF48C4E0C +:1090100039D5550F8D988CF65ED5932152AA554FB0 +:10902000377F11D7F5453BC4FD47428F5E88FF343B +:10903000FBE2E9C29F4ED7CE1F02BEDC78BAF063D6 +:10904000DD9517D7F114E6BB56ED52C83EAB7AD684 +:10905000FDDEE672EE470F3E8CF276C5AFB7646375 +:109060009EF59FF48E42A4C383BB5AB2310FF29493 +:109070006E67235EFF94D4EA32E5A95D1C5644DC9A +:10908000C499CFCADA6C82FBCFBB3D06E68FACDE5B +:10909000E7E379924FAC203A409DE7471ECC9CCF46 +:1090A000BA62EF5D8526CF5F73E6B5EEF2D0FEE7DC +:1090B000F5E097E130FDE5F9F5E40D760D9CFFB89C +:1090C0005AF88FEE3C47993FEA5ED753C3CEFD2056 +:1090D000C00BF98936CC87F6BA445E63D3FD3E1BDC +:1090E000CF8BFFE995613B70DFFBED5DCF64E3B9AA +:1090F000EF9EFD4A91AFF776D7E801EFC73D2DE42B +:1091000081ACF797EFFAA08E39548CAD7CD947F635 +:10911000CDCAE7D5AC4A8C63ECF0D0BC1E3E71B42E +:109120007002D4AFDBEF89CCE5E0505EABA4574FC3 +:10913000BEB1A0CF8A1F3E49F9AF3D79C7824ED755 +:10914000ED3FE2453E71E37356D711EFC950067A01 +:1091500075BD3E07FD9BA6FB3FF2A2BCF9D3630A97 +:109160001B56DAF7FB65BB9FE179E5825EFDE7916F +:10917000A7BEF8936A6A67A05FD61FFD8621EF70CD +:10918000FEFEFE4F60DC65AFF8288F7DD9F76F24B7 +:109190003E7F436F203E5F796F4B21DA15CB3C76E3 +:1091A000A141257FBEECBE9B88FFAE7DFEA642712D +:1091B0002F681197077611C2B574FB6504D7352C5B +:1091C00041FCB7EC5E8DEEEFF8506775FB33D0F3E2 +:1091D0007098CBE33776FAD019616F607C16EDB5E5 +:1091E0005F6A3C6FCB9557439A07EA1F8A38D89D30 +:1091F0006171AF2F6AF5428497FF59BD6B239DB70C +:109200007BB3849F4B073CD8025F0AC6A7B4E767CD +:109210000FE3746126DAEBF41D88CE59F81CDB7776 +:109220007BACC044C77722CF978FBF568C0FF30E0D +:10923000E2BEC01B85FCFE15E6CA83BEFEE0F2B9A5 +:1092400098F7FCA680B367BDEF1279E362BD7F702B +:109250009CCB11CC93A6BCF66E4F6A98233FDAE7FD +:10926000889FF7E6FF7AC43A76BE877951FE720F7F +:109270003E1F53C8FEBD66ABCF11FF5B7D509C7394 +:10928000E873BED299CF7CAD58F76EFAB9E5C08FBE +:109290005C72806D2F1852DC7AA5274979E8B04EB0 +:1092A000C96E5BF9A087F27FDF7AE0F11717025FE2 +:1092B000BFD525D7A7539EF6AC4FC033E26DD981F9 +:1092C000292CD3FA7C0BEFB1CDB43EE179C6F51968 +:1092D0006224BFFE61F2B407CFCEF5786D3FF2F4A1 +:1092E00064B88F9D9483E7C7DEFCEE75A3284FCD4D +:1092F0008557293FDD72F1D6B0E9C8EBEE3D67C175 +:10930000ED1A8947893FC9972BBEB78AC6E9E1574D +:10931000C997523FF593B7EFC6A3FBFD1E217FDC33 +:109320007913F64C5681BF03D2E46515183FB1D5C9 +:10933000600CF9D5BD7F811144E4E75B8E32BADF62 +:10934000249E5D2AF3F1E81EB65B7ECA9F33718FBF +:10935000F5473FE3F5D82C35E37950235BDC5F9488 +:10936000CDE7352DDB24BE6FD6E222DFB38BF6814D +:109370009A14B18E72B3691D7984DF2DCF89C5B27D +:10938000D4F74DB085C664675FAC033D6393D51BCE +:109390004743BDFAF6A28B75A053EC02F5876550E2 +:1093A0009F7AFB70FEFE5C75B2077FD7CA1E717193 +:1093B0002DBCD755855541FFFA706F12C7DA0CEBFB +:1093C000D60F7CDD9CCDAC5CE0AF2C1FB30355BD4C +:1093D000F3CBF2423D8FE036317ED194EBA73CCE09 +:1093E000660FFF6EA8FDC97EAA7473169D5F2B07DA +:1093F000184B7BC7A9D239DC95212FE55F35E7F201 +:10940000F19A61BC266A27F136B452DE07A1657174 +:109410007A68396AC37E282D418719D9324F9FC790 +:1094200025DE7D74D84E1E473D33927ED7407BEFBC +:10943000375F85E767FE398BF6B75E0972BEB822E3 +:10944000A7DDF319A857F947DE884CF58AF2C04D1D +:10945000580ECF497C219BF797C2FE165EA5F1FE00 +:10946000420D61CCCF562C6E072B40BC45808F2619 +:109470008B99DED1B8449C79B39A56752645E3861C +:109480001DE3B262D03BB08EAE98C6D711F8B4A43B +:10949000875EAAE1F505C9B2A69326CDE3CBD90034 +:1094A000DF245FB204FDAE85BEE418CE5F4E3FFF01 +:1094B00034F67B2E9773786F6DB5589FD587B89D1E +:1094C0002EF3E556BF20F611BAB9FD2AF3F8701A4B +:1094D00008CF6A8411DAFDF06D1ED7A97AC2991FF0 +:1094E00031ED591E679BE6FE3D3C914774C120FE5D +:1094F000EBDA6C21E787B3E17F4B5E68B7627D955D +:10950000D383FF8ECA5C9D59E9BF5BB8460492DEE7 +:109510007BB62C07E3C17F1176B4CCB3F69A1AE57B +:10952000A11C74C939C9AF138E1B57239E261C6713 +:109530005FA1BC2AD9AFC1F1D89377798AE75D4E94 +:109540003A59F12DFCBD1ACF310F4B9ABDF986EF78 +:109550001DE7F986538FF173830FA3BF8CF1B1A878 +:10956000F39C4AC00C32330D2F5915798E7A734013 +:10957000D053E42DCADF45C4FB39D2FB996CF0DF30 +:1095800043CCA929737CEFFE3DCA2A31BF58C84F8E +:10959000F7134C3DEEA4EBF9C2EE3B2F6223A4ACD3 +:1095A000E655D7FB501DEDFF9C3FC8FE4F57B6D088 +:1095B0003F92BE7DF1E8C8DB9CC4267E0BAF20E85D +:1095C00083C7534E3C4A3E007C6A283F732D273E9A +:1095D000F3EB9CF82C883BF1396C81136F4509271C +:1095E000BE462CFB8CE37D494395A33E6ADDF98E94 +:1095F000F6A5A078D2EBA3DB3EEF683FA663BEA33F +:109600003EAE73A1A3FDF8E412C7FB73F6AD1812CA +:10961000FD2774AD71B493F43FF7D0BF3AFA93F4D9 +:1096200097E7D9AB18B74B6222CFB53FFA6B6AC345 +:109630002CCCE789A56C0DF5F8A7E583FF74F3C181 +:1096400010D77918E5FD149EAF8CF6D9BB9E501B40 +:10965000DAA3B9C01B2867DD7A3DF7F04F29BEEECB +:10966000CE4FB84533691FE223D59A86FC52C0BA63 +:1096700028AEDDAC8A7B4866FA491FDFAEAA5F4997 +:10968000DF770AE6707B3B9823F6DD41FFA1BE1B26 +:1096900091C56CD2832A73FC5E65B6B85F021CF478 +:1096A0008DF8BB91CDB9272BCC5C8CB343BDA457AF +:1096B000DE837E998C7E02C8F3821C806FA10AF241 +:1096C0001C86BAC2B0672B00DB083FB3F17C07E809 +:1096D000393A0F9DCB22CA9A4A746D7AF489F909F6 +:1096E00030C1E32BCEA17334EF2D1B4FF7FFBD1715 +:1096F000EAB91791F2FC581DCF0BB852F819EFD503 +:109700008FA6762F5F05AB0DF8E91738D522BC5729 +:1097100082FB1D83C5C796EDB8338C79322F57F085 +:10972000BC03F9FCBC1C2E5FCFCBE1F906ABEBB35D +:109730006C7E2ED343FBD1E817E1EFFB5D9FE4EB9A +:1097400017EB181FDA646C719EA73FD66063DC715B +:10975000F5E1798E7B52AE7889C7E1AEF86FE77D8F +:109760001C7372F839F63962DCCBA1C0FB812E077D +:109770003AE462F9D3E973703DC0F39402F54B8E7D +:1097800081C905789F9728F520127FC5622F3C0478 +:10979000539F97C3C7BF94C53D389F17AF5A15C68F +:1097A000763DFDC97E607268F7BC946B7B0A816F61 +:1097B000CE7C56213D0EE3F9F1797CD188160CA1BF +:1097C000CAF15E6489775E00BE9ACF62D4AFEC9F27 +:1097D0005941BA6751CAC135CBB352F9D0DF9A9714 +:1097E0007D14277E77FD99EFDF0CF3FAED8AFF7A7F +:1097F00008CF01B0C4C912D47357766AF43BB78955 +:1098000090B53007EDD59AA19DD79EF5DD00AD87C7 +:109810003577F1B8DA9AFBC7D139EB3561E73D9A74 +:10982000925F960B7E59B37B349DCB96BF4FE1EE92 +:10983000BFA591DF0FD184BF1F8CF7374678DEAE0E +:10984000CE120DC8D7CD46DE70A463691E4BD2FE82 +:1098500063F1107F0F05C6B7D11E627C1E3F177CD7 +:10986000BAE070FE64618FDD8AFDBFF2D8832528DF +:10987000BF7E367EEF18F267AA87860F26F4504C1B +:10988000C0097A88FC85775930E6CBE02FEC17F6D3 +:10989000D42DAA45F6FC2DC2AEFF48E5F6BBA6C600 +:1098A000A23AD4BB0E6B5988AF6C3496A55C001BF2 +:1098B0002E1B93E4E5EFD8823F738E901B77E6BCB6 +:1098C0007071338F7F38ED3411279276591CFEA2C8 +:1098D000DCFE901DD610FE719DCE78E3B4944A7ED6 +:1098E000E3A7B5C376E77C3AF9DCAD247E8074E863 +:1098F000AAE0F2B62B15E4E72B4015F13C2FA77D2B +:10990000E6EEE72121371EC9E172DE36789905F2CD +:109910002FCCCFC3D95A15D5291513CC37AB80D747 +:10992000ED1CFC7D5694B705780EE974851FE4ECB8 +:10993000BFE7BCB2B16D3A9D0FE4F72D421D7F2FFA +:1099400092F9B3B8DD21E5E0139FE1F7A58AFB6248 +:10995000AA45FCD93DBF6A586FA46CE57A15DFA70C +:109960009EFA0BDD0BF1609EF9DC0568CF3FADD1AF +:1099700039E6807ED29B9B01CE8751AE8EC3DFD568 +:10998000E17126FF2185EED7F09BDCDF0C18C624A1 +:109990008A5F275816C6BBDFD93F9AFCCD8342FFAA +:1099A0006487E32FE37A5FA5ED18698C26FBF7D770 +:1099B000B4FE5DF8ED4AF1DF0F9BA0B3363DAF1763 +:1099C000BF721EAB3B27D326F0F59DF9548E477F1F +:1099D0001E1EAD4E71384F1F6ACA9877BF7AD8994C +:1099E0003FE33D3BEC07FCF7EA261C9E7C2DCA4377 +:1099F00024319E4FFCEED973A8BFF7734AB9FDAC72 +:109A000033DD437E6552C57B7357FBB8FC3E7D5604 +:109A1000A376B2DF0987666806F06765AAE328FACD +:109A20008781C33EFA5DEEC02E7E1F7AE07080CE45 +:109A300055AD7EEC62EEC7E5B218DA230F06CFFC17 +:109A400046DC2B40BF3F1A303A581EC6D5BD5C5F7E +:109A50008E078AE1BDB4F2B91CEFFF0241CBEC6D79 +:109A6000008000001F8B080000000000000BB559AB +:109A70007B7054D519FFEE631FC92ED99B5D08E199 +:109A800061D83C480884B82C0984A075790818224C +:109A90002C449456A72C5001C96329B694A9CE78BA +:109AA00093A05271DA4C755A6CB173A1E26025CE65 +:109AB000521209CE86594284048149101118AB8193 +:109AC00076A845C2AEB482759CD2EF3BE75EF71133 +:109AD000A8FED364926FCF3DE77CE77BFCBEC7B99D +:109AE0009B16FE2D801DC05A003E0D699ADC02F7C0 +:109AF00022BD453FF701B43986018C0018AE00A3A2 +:109B0000ADE911D13E1C20361E60572EAE7FADA5AB +:109B10000B709C16B6B841408AEB04362ED6541C06 +:109B2000B79A63979FA2F59D1665971BA018621FB1 +:109B30004319F20A17B977D37EC507421951B7877F +:109B4000D61BE7A6E972054B410307C02F9B704F58 +:109B500025D08F0F2AF0797A7C6C9D80E7E4E1A70D +:109B6000D1F8A73AB6CE1D9B30C627B4DED83F51F8 +:109B7000716EDD720F802C832A79016C4887394918 +:109B80004F37D34F467E23BCDC0E9E129CB7F2F9B2 +:109B90006FD65B512C1ADBF93A8F437556A17E9E26 +:109BA00063A2A71959C0D7B700A60134D0C938FE9F +:109BB0008910B97C9F04F045A4ABD48D32D51D7BB0 +:109BC00027C78CB4560CFF6632CEBF610994297842 +:109BD000EE818F44C8403B5C79234DAB46BB4C388B +:109BE000B833CB671FCAEFF9734DBF1E83EBA207D3 +:109BF00005375A1CA2A6580EC9D910FEBBD98774C6 +:109C00007EC745F300D2534AE07B4A39404547E3DB +:109C10001CB2E30C686956904E122110421ACA46D3 +:109C20007EC8E7FA99C25D8D68778805C62D9D0CC0 +:109C3000B04E11981D0C3F849FC1B9228043CF586C +:109C400019359EA75215BAC600F26C37C10A3F9E5D +:109C5000DF04DD63C8EEED87BF9FEF46BE514D5E6A +:109C600040F89A74D6BA82E434F6AD524476DE2ACD +:109C7000FDDC9812584672D71EBE64CE40FD827F2E +:109C80000BE5002EE9137C8F909D0022B21F215915 +:109C90002D838FE921BB1DCE047EED0EE4531E1FE4 +:109CA00007BF44E3BB12C672CC4C76087E8A782F7D +:109CB00061FEDFE2407FBE79B663E24A3B931F1C40 +:109CC0006897F6F3164DCD65E3E5215CD7F8C18DB5 +:109CD000D2019CBFD1593B8EECF9806262E7603CB7 +:109CE000CC4EC7F5B17D180F286F4984C74309C60C +:109CF00003E1B984E2A18CC6C58C5FABB9AF8AEC35 +:109D00001E6B176197C0E281C507C683B21B683D11 +:109D1000C607DB5FE466EBFB441F8DD548BA369E71 +:109D20008D67D7D0B8B56FAE22D05844D37B297E8B +:109D3000235D8C4F08603CB956007FA824318E33D8 +:109D4000987DDB1CDCCEC71C3C9E6D9294142719B9 +:109D50009268C4151F370B6CFEA43267EBCB183723 +:109D6000A0D844C802D8A8703C42368E119F4F5AE2 +:109D7000D91ED8F86EE5E2BDA8DFC693129B9FE618 +:109D8000DB3007630A2A16B41C215AE90FCD319142 +:109D90007CDB2570A35FCA91FAA602DCB3BCEF8816 +:109DA0008987F324F26F5BD7039364C2F9790BA41C +:109DB000A1086D5FC53EFE13EAB7E910DA1586E229 +:109DC0000FC56578BB133EA3C240463ECABCBB6507 +:109DD000E902390DE36506D773578B7FAB5A0090C4 +:109DE0009FE9DB4DF8AA7406188DF67F9585B0853E +:109DF000F633973202E8EF36B36F92C228AC0BD934 +:109E000087F27F89F080FBCA2CB0C1882F19E51D2D +:109E1000DCEEDA49F135D826F9B2D0E64709EFE5AC +:109E200024AEAF2F1BEDF838371BAC6B932E5A4A7C +:109E300001D6F8009E463C3EDEBDBE1A68FCB2E983 +:109E4000D2C004BEE616ADC3BFCDE8EF42153C114B +:109E5000E4DF7046F2686E7A2E5F1AD07D702B9721 +:109E6000FE6F1009277561017E87E36087293E8FA9 +:109E70007F75F0E2E752295139CE1FD76DFE68D4C5 +:109E800092EE84F38E2AC3865FB6E1877CC8BF2535 +:109E9000313C782284DF0F24CF2E7C6C92A1C782C4 +:109EA000F2BC2972BB607E64F174F399EC25DD6825 +:109EB00092354EDF3B0ED4F71D1D6FADB379DE89B1 +:109EC000B50A1AC3FF1ECCE738AEFCD4BD13729995 +:109ED0005DCE644FE37A127E2A6560E7559EC9F72E +:109EE00090DF2BD03EA4D79AB0A069B87E1DD909C7 +:109EF000A10D1AD74FC6DF5B79C4AF45A275EB77CA +:109F000008E0C275B57B52F4DFDE7F7414D2FA50DC +:109F1000F2F3A06E97608A5DFE4C1F660CB5CF15FC +:109F2000B2CF24FC900339641F901E73105EA0070B +:109F30008D306A284E0CBB5078913D3EA3FC82EBDD +:109F40004FEBFCF1C7BE1271F1575D7F5326CF8FE7 +:109F50000DBADE759AC4F45EADE3035EE4F8B0E2D8 +:109F60002FE91D04BEAE7E87A0457287EAB76EAFAB +:109F700069A5997C019AD94FF97E4732BED6EBFA92 +:109F8000AF4FD1BF2120249D8F716A5F897E5AAD6A +:109F9000E3F74EF2D49AB8FF6A112FAAFBFF275FAE +:109FA000AA5FEECAD4FD32112626F96581EB3BF992 +:109FB000057CE92CAF6DB4723F5CEF9EE88092386F +:109FC0000E52F7CFC33C0698C7E66F17186DEBEB40 +:109FD000DA3A13F5F6764A4A35EE8FF6CDB64DA647 +:109FE0007C7642F6108B6878EA3615F3DCFE9E82AA +:109FF0001A37F2F5F68B2C0EA69EF46A69A88FF735 +:10A00000A4D7963F8C81C04576C07DAC7E464F1468 +:10A01000BC5F427C7AE69651D96E3CE1B551BDDF1A +:10A020008F9A118E8493FF3A45E74EED95A75970AC +:10A03000FEB96C89C5DBFC5756BE6E41BEE5991270 +:10A04000CB3F47FB363EC4FC704254E8F9B51322BF +:10A050005B57F7AAA489389EBFCFC4F24B10FD26E8 +:10A0600030794DECFC60E778D76A7BDCFFAB749C01 +:10A070007A33DD2F55535F37CAE6A13A36FF2E13E8 +:10A08000AB7B5747DBFE48FD4CA16FE73C05E5BCC9 +:10A09000FACE932C2F455B05C846C647B38FBCA5A7 +:10A0A000A27E57DFEE3703D2396DFD66AAB3AB8CC3 +:10A0B000B8DECAF161E0696D445C69BE1BF3695F9B +:10A0C0003A44901FC82D66F24B7DBF311E30537D40 +:10A0D000F6EB7D50C36B17D9787D87C0F45BFF9A90 +:10A0E000A0B9F1E391CE036692A361AF0023736937 +:10A0F0007EE73C5A570BA1E728CFA7E68BB5DB9349 +:10A10000C74FE8387CE25B70D890A9E7CF62282679 +:10A110001CDE98E57710EE6FF4A7DB4AF0FC1BBD60 +:10A1200012C3C3FFC023AB6B27A80F43875E8F8882 +:10A130003ED2DF5877EDC47533F589F3C29F33BB48 +:10A1400055870FCF257B3C08813AD2EFC1B04D89AE +:10A15000A0BED5033CEEAAC2164D13683EB485F4EA +:10A160008C1EB2B0E7EA5B02EB2F8CFCB356F7EB28 +:10A170005ADD0F6B31B1BA30A5D5F5F03A053B92F7 +:10A18000FDB27042B27DAA80E78BAA10CF1751535F +:10A190004826FB47270BD042E35136E60FF5203F18 +:10A1A000B781EC89E7D4ED4DE6D39052D7D4CC11EA +:10A1B0000CBFD7655EFFAE9F91CA28AFDCA9EEA7A2 +:10A1C000FA4333F282EE8FEA18CF4F557A1DED89AC +:10A1D0003495405EDC3EA9FEE871E73B0225773E00 +:10A1E000EF94DE2F1BE3C51828D48785146EFFDE9D +:10A1F000BE113BA9AF5B3F4352A91FB03A793F5014 +:10A20000F79F9AC55E34D955B16BD35E9CFF6C65E0 +:10A21000A890FC86F7830E52F9D8D8D52F4EC1FDF1 +:10A22000575A4D1ECA27E0DB59487DD2F3D92F5526 +:10A230007B294EF79A3C741FB85621A9943F83D8C6 +:10A240001F037B6ED1A8FF0876FC93DF0F08274819 +:10A25000FD61E17EC209F6DBDD9978FE122C35C383 +:10A26000D10E4B3AB0BE23FB25733F3753BEC4BE5D +:10A27000FB68E66DFAEEDE827CC72AA2B27BA4D32D +:10A280007EE7BEBBE14BDEE719CF1B303EC9AE0D0A +:10A290006181DD37E37DDE4881FABC68E7816E27A6 +:10A2A000CB0F9953286CBED0EB5F5B57DA377D47F5 +:10A2B0001EE92F6C6171D160D2B638F179C31B02EF +:10A2C000AB2F70109D341DF3E2E97466EF6B6F0BDA +:10A2D0009A851218F61594CFD77028C0B555A14BA2 +:10A2E000D42FDF68B5B27E722DFA6733E27B8D5EC4 +:10A2F000C768FC34F6358DD0C4EE354DB085D13508 +:10A30000F8F73DEFD07C70ADA3D94CB830FA10F619 +:10A310003C6F681EA9D7715E9F82EB549C5A9DC901 +:10A320007903F5D946F934DA2B29A44F5BD7BFFF5F +:10A33000309AEC81FD711EC5ADDE6FA09D98DFA344 +:10A34000FD768DEC7945C7E355BABF61A83756480D +:10A35000CC3EE20C4E271D3A90477E8E76DECC092D +:10A3600060FE7DF3D0818984135484F9B3760FAEF7 +:10A370004B90AB3E64A3A0FF668C72F13A7156F22B +:10A3800050BD41B90ACDC3E372B5CB03199EDBC4FE +:10A3900091207431FF89427752DF1E3C28F9B5C401 +:10A3A0007B4B57DA0ACA6FA3F53801399645F53069 +:10A3B000C7E966B8680C737F8B9D9CE2F90FB3FE0A +:10A3C00012C774FE90F9D96A1DCDDFC8B501C52149 +:10A3D0007CA956D378539E042FE078D3E9F54590B5 +:10A3E000703E08FC5E1B34C5B2D8BDB15F64F20597 +:10A3F000FBAF6715D829CFED9C4B756DA19E2F8EB5 +:10A40000E6D9D611AE553A77248099F4C3FDAFEB67 +:10A4100075373883EF6FD271D576BACA3699FCD5C5 +:10A4200039628A842A4DD2F15EE9F4973BCBE3F797 +:10A430008F3BF59309F71FB62F887A523CED3F67A3 +:10A44000D1AA05BAAFDE3CFB28E9DB8B7D07F26FB2 +:10A45000ECB4A80EF2D785348DEA3E040277535C43 +:10A460006F3AB4B688EA1F084DCC1F2F763C1EFD0C +:10A470003DEEAB3F6FA34C0EF59D1F64B13ADB5E22 +:10A48000FE12F52DD8A72CA4BE657FD8C4FA16EF0E +:10A49000C93286B7FD27CA5CF97471028F8DF8D670 +:10A4A000F7CA7EB2477D6FD97BD5D46F9C9CCDFA1D +:10A4B00016E164998BF2D054BAA752DFD25BC0C6C2 +:10A4C000863ED54E89E9133D9CC6DE170890C7F13C +:10A4D00002054978A96B7B97D5F7BA0EC997881BF7 +:10A4E000635FC029333E3F22BCA03D1B43828FE106 +:10A4F000611FA7751DFBB3488F5A5388F9B771AF19 +:10A5000089CFB7720AD0C2F6A91E91F9F33D7A84B9 +:10A510007EA8326B6301453CAEF7EFC7CF07C6514B +:10A520001E3C3E2B5044F4A233F93D8A0AB399DC19 +:10A53000202C657E1F6CE3FD54AA1F3F71F23C9AEC +:10A54000E18215FEDBCCF7E9715065E6EF71A80FEB +:10A550001B8579ED945EAF1761FE5230BFBCAAAF88 +:10A560007B1FB0DF1088F27B63886219FD55F38092 +:10A57000A035A2FF6B1E34B17E022A789FEDC75F23 +:10A58000CA5B45DBE5A4BC8533268ABB9A05C9F9BD +:10A590006C99DE072DFB963EE857463E2B8442DE43 +:10A5A0008FDB6DF49EF08B1E9322B1BE432B20FEF9 +:10A5B00077EA838E621E73631EEBC13C4614EBD2B6 +:10A5C0002BCEDBD4A5D4FD465D6A2CFE90BDBF39F1 +:10A5D0007EF8FC5B992C6FA6411E01F16B9406ED91 +:10A5E00057AFE8B2A6EC6F84A5CC6F4DF05012EED9 +:10A5F0000CFF0D52DF5D32D47FFB9CFABD0D62660D +:10A60000BC3BC32F26B4F889FE45E438B45A9FC634 +:10A61000C60EE330BC0428BE1B8B791F36783FAFD3 +:10A620005728678E2521BF0F8EE2FDD4A68705F639 +:10A630005EF570F187AC8ED747FACC947F0ADB5673 +:10A640003E4BF189403B43EF6716E9756EB195D7F4 +:10A65000B545C6FDCCD057C74B2338559E878733A9 +:10A660004AEBA9EE2DD2EBDCE28A647F1741DFBC16 +:10A670003128C7233E81F54B4B7CC9F34B974F796B +:10A6800097DCF25D7172D9E93F4D7E8CF65D7F9863 +:10A69000DE8736E8B8F614B93B06E8BDEA7BCA9413 +:10A6A00066B2932DA354419C5ED071FD5387FF3C4D +:10A6B000E5C7A876690DBD1FFC0475247B1B71E3FB +:10A6C0001909537F6C4FF40BDF67AC5BE754D8F884 +:10A6D000B8491B4B710F25AEDBDEEB52F36B63F118 +:10A6E000B152B2FBF1C3BDA5E604FF5CDD182862E0 +:10A6F000F5A1F34896DB9E881F51C78FCCA8202C6C +:10A70000D5EB5E329EAE129EC89FFB8E2C7A947063 +:10A71000D056335C7027D4C5F6F733C627F01D0C2E +:10A720004B6C3DDE770A970D4B94F35926E7608812 +:10A73000F34327ABEC9EF3F694692F70B3AB228DF5 +:10A740000B56BDFE02E11F9AD97A03976926D537C9 +:10A7500006F5B17460479817D73B6406C6473D6459 +:10A76000D176B37E9EE791E84585F5B300638170AD +:10A77000F7B68EAB712E8EFFE9987C087F332024CC +:10A7800011FEA7830C8FD158C6C0457A0F6812E519 +:10A79000D1E972E4B050CA9EAB32E2EE5E1860CFEF +:10A7A000EFA3573AB86F16B8651ACF01B5990AD218 +:10A7B000CC506421B5F1912C39F332E28C52CAEDC0 +:10A7C000FC16B78B0C970DDCE1626C56D87B6A43A4 +:10A7D000EE6902977BBA0FAC942717B8781C7B6C94 +:10A7E0005CCFD820B0F755865C33655820A1FCF7C4 +:10A7F000CA604DC7F5FBBA45169F8706DC1AE533DC +:10A800008F4BDFF70FDC97CB5A0F78CC1BD7B312E7 +:10A81000F7D17BB2E932DE70997D22B7D57726BDBC +:10A82000BCA2BE07623F247E73C216D6A7885655C7 +:10A83000A27E73968BFB8DBEC7C8403E952D029CB1 +:10A84000A3EF25F2B97E06FF4A4C390E2FADE77A09 +:10A85000D12BDE734EFEFD06ED0398AB907D844850 +:10A860009678CBF6DDED18CD022677C6EAD8B5A7E7 +:10A87000CAE2DFF378C2C7CE095887049F8FD51D7F +:10A880008FD51EA1BE17BD7E35B13F5EE65A55E39A +:10A89000429C086E85D90702E0A67C3E1276287499 +:10A8A0004F13699D8BBBE953F4D3233ABE2EA467A3 +:10A8B00094D2F7427BB4A56EC2F3F2E1560FD9DD14 +:10A8C0006BCD994AB81DED08D4B850CF0BC2DEF15C +:10A8D0008C89AC95FB87C5F16C035F05D919BB006A +:10A8E00086CFCD56CEEF661AA7364CC75694671B57 +:10A8F000E2DEEA24F980E156D5DF5FAA1FA769CD21 +:10A9000078DECF243F03DF4DD163257E90173837A3 +:10A910001DA93CDBE7DE60A7961BF5B0C5F5483DF9 +:10A9200087F4BAC7D04B8CEB35F41CD5343197CEB5 +:10A9300071370F084CBF9F93DDA658B4BBE87DC2AA +:10A940000F2CDA7892C3D00B0DCDBE3752747B1921 +:10A950007A2AE407AA033EF483E147B4D7B6F46445 +:10A960003D4DA0EBE3467F4C1EAA878187FF024343 +:10A97000C67A90401C0000000000000000000000AB +:10A980001F8B080000000000000BCBE46760F8514B +:10A990008FC0B3B850F9E8D88B1395EFC88D5F3DE1 +:10A9A000212CC3806037703030B43343B02B147F18 +:10A9B000616260B80FC52B982178170B420F3B3BA3 +:10A9C00003031F108B02B10C3B7EBBE45831C584DE +:10A9D000E51818362B22F8DE9240FB81F8812465B9 +:10A9E000FE1AC54303DF3542E53BE9A0F29DF518A9 +:10A9F00018D28C91F83AA4997F19A8F70A1003008D +:10AA0000102DC013680300000000000000000000CB +:10AA10001F8B080000000000000BC57D0B7854D58B +:10AA2000B5F03E67CE393399574EC2048618E024FC +:10AA300024126DC021040C0FDBE121A272BD235A48 +:10AA4000C547E91010A202064B256D6973482621FF +:10AA500021090E35DE52A53001D26295365A1FDC2F +:10AA60005B7B3B28B6D86BFBA7BDDE5BDA1FDBF058 +:10AA70002882AFC6D6AAFDEBE35F6BED7D32E74CD3 +:10AA800012C0F6FEDF1FBF76B3CF7EADBDD6DA6B48 +:10AA9000ADBDF6DA7BDCF234A64C60EC63FCFB0C5B +:10AAA000638D3263AC209332A618FD1E4C99F9F1E8 +:10AAB00044479E7DECBA90FC07939C7953F4FB6568 +:10AAC000C64633F64551067F51CC2F10190B1E2B6D +:10AAD00065118DA5CB33FD2C603C6FC812FB58C2AD +:10AAE000AFCE726B9C7A4F700ACB65ECBD1C9E9A00 +:10AAF000F3A0A80AD2DFE5A49A8A013A169FC8E11A +:10AB0000A9BB3C3699D2CB306D92D8D25EFF307063 +:10AB1000B046C6A64379436CDA2935F3DDA544D2A5 +:10AB2000D82F8BB0480F56F33305E7D32659D34BB4 +:10AB3000335708A00C45A66D3518AB047871DCEBD3 +:10AB4000E45825F687D38F0518BB9C19D4FFA1C004 +:10AB50008CA371A8FFA72A2DE2864FF706EE63ACFF +:10AB600084B18EA9FF1D8E5730E656EA980EF0B9D3 +:10AB7000FD2CDA5B81EDBFCAD80CC6FE82F83432F8 +:10AB800070CD65328D9381DF89A73EC6E9DCDE504A +:10AB90003E4D81F974AAC6FD73605CF3E72E3E0F4B +:10ABA000D6B7948570DCD1F256984B738331A7B435 +:10ABB0008CB16D0DC63405D266351D5E81F87C51B1 +:10ABC0008DF4C0B887A65E9CDB6FC3DB0C317EFBC7 +:10ABD00064EFD214C1198B6F86FE36F63F3E1BF12F +:10ABE000B060F28DF1CDD0DE75EC99D938CF192C4B +:10ABF00048F53B72049D0A58AAA798F0175E01ED2C +:10AC0000FC11BD12DBB9AACD2883FE9408D0C1E2A5 +:10AC10002F427B040A219D53674206FED6135E3203 +:10AC20007C16F58F85BCD7CAA6C6121FAA3AC79B49 +:10AC3000F7D8EAC508022BE778D2E1BF8F01EFBE53 +:10AC4000BFBA62C80F6EC3863FF89F6AC767310EEE +:10AC5000DDF1B66B0AA6CEEFBE0F7F10C3F97444C8 +:10AC6000EEF56E469E70DD9E1B87FE7C11F9B81BCB +:10AC7000C6F3C5A74C5B302A83B7FA63DDB30FDB9D +:10AC8000C6D9C802A1D39F62C82097137F8BF6D97B +:10AC9000FC69A5EF35A4661F56697EB27DFE23D5FB +:10ACA0006F6E000C4FCAE45B8AE361983ADBC2AE78 +:10ACB0008E2A80A216351E9600B54DA5574617411F +:10ACC0005E9D14094760FCA63CE8B490B1AF9B7749 +:10ACD000A64DA087DA5447DFB7E0D8B36CDFE7436F +:10ACE0007D489B72605D550C1DFF3F916840F72DBC +:10ACF000527A297365E401810D74F1847FF257095A +:10AD0000F0DA21C5EA8F237FE605893FA1BC55C94A +:10AD1000A774915689953D0ACE374790177209A5B9 +:10AD200092D2055A3ECEABEEE872E4AB3C3FF16BFB +:10AD3000CB582D1D847C6799D6ED2ACEC0F30293A3 +:10AD4000089E1695C3DBA93AE5C10FB01CD6E9F7FA +:10AD50008103306D09F072A63F10BE7EF230FD080F +:10AD60003C3D632E334D3F7E37389F43B184F09492 +:10AD7000699CCFA3C9F092C98E7233CF5EAE6F0FBC +:10AD80002F09A07883FE013F396146FC6EABCFE10D +:10AD9000484339E20168C5406EB7863A92CBE19FDD +:10ADA0004A88993EE037A5A885F854D1630CF9E8A4 +:10ADB0003A39FE02C9419D39F0A71951923BD9F2A7 +:10ADC0007A243ECA96D39E52C8DBD627D36D79EA41 +:10ADD000B7483FEDCBD41FD40FE65C1A4F11F48770 +:10ADE000911DE3B75CC106509E364DD58C46C0A17F +:10ADF000E2D7D2C81FF8373043F00D7E8FB4F4E1AC +:10AE0000774F2868FA70BEB83E71FE59EBF87CEBBC +:10AE1000297B3D9EC5F5E8CBACC7BFB0C50C451D31 +:10AE20008B856584D32FE4B052A599341EEBE8C31B +:10AE300074705D4E5B924BF22BAC1DA7723DC9EC5A +:10AE4000E36FC1F5E8862EA4D8BBC85FCD63B631E9 +:10AE500094FB4D821F511E5E1FC8D4EFC3C1A1DEFB +:10AE6000035834DD86C71D45F285D0AD296BFDC37F +:10AE700094A2C4476688F84119D4637C5DAA129FE6 +:10AE8000DF7889AF0396E4722628C6D170FC89C8A2 +:10AE90004729EACC07FA0FF3015647F9BF5457A6E2 +:10AEA0002503F5587F2BCA4577B5CCCCE2A170DDE0 +:10AEB000DFE0213C8C04F7FD5770BDE2F2D7B1BB57 +:10AEC0006DF8CB9582020FB7EB28372533CE3E467F +:10AED000F9C992E27B244C7ABEA19E9D043D96F373 +:10AEE000DCD5CC08201F45A251E84FC3F9E1DA09AF +:10AEF00057F1141911FED954A0EF413DA8167996C7 +:10AF00001B5330D5AF3788EF3653BF6AE9A5774872 +:10AF1000F4BD85F3198B4711458AC138FF65D6DB2F +:10AF20003409E1F038D79B6507B03030F7CC0C9C82 +:10AF300043ED10415F516FC4F538686F59F34E69A6 +:10AF4000DCCEB1F249C6F3563D5B0A74768BF5E769 +:10AF5000AEE0F2C25DE1257E764794D3FDF6F5239F +:10AF6000DA35318EB7413D32C8AFF01742F913D907 +:10AF7000BBB518E5EEC2F00AF87EB3A47138163BF3 +:10AF8000F160B5073CDD2C1520DEE284370B3F2D48 +:10AF9000632FCEC5F5C0FCF9C3CEBF05EC14451D2B +:10AFA0000E8E14B7DF0A596A14EAF90FA695933C7E +:10AFB0001DA19F6C3C36A991A371B24B34D23F2E98 +:10AFC0008B4F00AE1BA09FF512B7EB9410AC7BC06B +:10AFD0009706F4C6A509F3582F0D334F6B3E4D016C +:10AFE0006B3EC3D33381F329CBC03FF85DE8A59115 +:10AFF000DA65C33F5279428D8697A35E0D64CF8B8D +:10B00000D34DD539DD3AC5FC543F976B6A286EF1B4 +:10B0100073E7F0F38B117F65CF4FD13D841F6B7CBD +:10B02000C573F11C655A06CE87249DAFA74138220F +:10B03000D48F4B67D4EE6B52FC211CCF156AE923E9 +:10B040007BCB1F25F9A885A183CB308D2E3501AF91 +:10B050008943335905B6F347D81A48357F9C2D8666 +:10B060007A890F5D9C1F42550E7E7D50921DF8B56A +:10B07000E05987700C83DF3F8EC0DF7FFCD155C461 +:10B08000DF3F383F7FFF6038FEFEE38F26717C1D77 +:10B090002C70C067A5EB3C131DF862422EE78AFEB8 +:10B0A000C7C7FAE6AAB06EEFF77B7E1387B4937139 +:10B0B000F8DDB2FE22CA597F28FE1CE2AFF846B383 +:10B0C00005D778EE1C26E3786D623E57BA3A724E89 +:10B0D000003C3BE225B935909E11723E1B8E8741A4 +:10B0E0006F205F36819CC6F5F6DE2B1CEE91F8AC26 +:10B0F000BD419F89F507F36B944528BFDB2B9EF874 +:10B10000E542C05F73A8B492CC80B0C4F125F4CC02 +:10B110006F2549CC93E307F0F65BC49BC57F0FAF67 +:10B12000BD89D2F1D1785487FEC6B1B829417F6379 +:10B13000EB59246D709C2836FCE42E904DB4BB0175 +:10B140000F27110FB5E1BEB9402956BC923D87E3E8 +:10B150005B78D8119789AEF7DE71F11EBB7D58265A +:10B16000F37D0DABCA17FA01E47460E475B70DF016 +:10B1700054817A9FA525AC5754CD52C8B76DF81DA0 +:10B18000F0D123C5FE8C7014D50D68388FB7248B91 +:10B19000AFC2B47F4908B8B7CDF2123C8902BD1BDB +:10B1A000D7E8C7825F5954A2FDE630FCF531F69B23 +:10B1B000CD5F45D5F1289A2BAF2B71978CEBACBCAA +:10B1C0004F473B4F974CE62E463B5C8C6F826901A4 +:10B1D000E31766F43F8D1F340CD283A3644E97C2ED +:10B1E00068CB7A19E6935BA5986E480BFB972F66A0 +:10B1F00068771DBBFA2CE3DF699F53549B32B1ABD8 +:10B200000946EA900BE8F29C121F85E307E77645B2 +:10B21000F17B2E8BA7DDF08F6FAA718674D4E69830 +:10B22000D198A0EF721B5F95CA7CDE6A98455315D2 +:10B2300019FADEEFE2FCB27DC19F3CABFD58CF4B6B +:10B24000F08D67370ABE8845912F34E40B1247F121 +:10B250008938BE31C75C88E38F0BEB684E22DF8FE5 +:10B26000413EFEA69A1C8BFBEC6FAED596A6C81E7F +:10B27000622F239E83B2C08501FF017E34998FFB2C +:10B28000A6A4D2783857C453D8602903F01914F80B +:10B29000B1F01114F851596A33B2B6CB486F467CFD +:10B2A000A87AEF91121449735824CA083F97237C57 +:10B2B000DE783FE911CD9F8C6A50AF5DA9FBFD5749 +:10B2C000A15EFB1157C464363ECCB217FC15B0DE4C +:10B2D000ECF6B7252F44FDF3DB0D5105FB5BE0F1E8 +:10B2E00091BC7F5EC811E0D7AB65285FA0BF4DFC65 +:10B2F000CAFCA32EA83F57BDCB38350A89A5935D5C +:10B30000EA16B03515717BD8E561A68CFE802296D1 +:10B310004239E54A4AC2BF11613702DF6AA5B2630A +:10B320003FA184BC8EBCAB5EE3FD2F053673F8975E +:10B3300052B48E5C834C5C47FE1A0560DFCA284D10 +:10B34000E720CDC4BE1D7980FBBBBEE2F01FB495E3 +:10B3500056B2E1F6090AE3FB1AA4E5C7C543DB8D43 +:10B360008C97ACF16E74C27DC1EDFC8A71DAB6AF18 +:10B370001AB99DC24EDBF66726F2AD6DBF0076D2DC +:10B38000410984645318E429F0590B168D453F0098 +:10B39000A73B3364879C7185E5E3B8DEAF930DDE90 +:10B3A0004F11E72BCD134D5385A20BE333CB2EB6B4 +:10B3B000F4B84DDF2791EF3C42FF5E23C576E07A7B +:10B3C00068CBAB4DDBF1D3A4B15AE213E346AAD765 +:10B3D00056B6D0407961F1595B163E2D3F5E4B4326 +:10B3E0008AEC7F668438DCE108C161E9956CB82C91 +:10B3F000FE1D1CB714F816CB3D49F2C7E524B7472C +:10B40000917FD111C5FD67826F19E7DB7648B9BF1F +:10B410003245E38FC8BF029EF3E12DFBFBFB914851 +:10B420002EC2B1223C775629D807ABEAD7535A53DC +:10B43000DF3653817E4F777C2168E7DF57777C3199 +:10B4400088F37AB5552579F5EA0E29857AEED5D6B1 +:10B4500015F49D7DF0F1C72EE0E3D538A441FFA798 +:10B46000A1FEA8D929D17EE6D02B1BC7A3BFAF660A +:10B47000E796F5B8EFA9D9A146A3C3EC0B1252DDAC +:10B48000245C7CCD0D7D734E9565ECCBA3826F342F +:10B490006BBFA944695F7B508EFF1AE95CFF419343 +:10B4A0007B3CEEF38FB9238D50F5797FC9987E8070 +:10B4B0006BA3563749B7CD6363BE1627F9ECEF721D +:10B4C000E0ED3F6575587BCEEC61E54A08E58137D4 +:10B4D000B219E6BBC00FEA00FDADFD5204EDA12696 +:10B4E000C117D9F855EBDB098F8379B02B8D8ACC46 +:10B4F0007ED955CE53ABFC2DA17FDE965D04C7CF20 +:10B50000E5F8DB382F9443F5F9B87E3A66723BCE06 +:10B510004FFB546B5D5A706EBE82C3D92679238D62 +:10B520000067DB64CB2E10FB3625C9D05FD4A8F4AE +:10B530004663F07D4169322ADBE6B105E7A10E9D45 +:10B54000475BC3D29968AF7534C466F27D45D28338 +:10B550007EAB464FFA28EA475F11637B00DF9D0D03 +:10B5600071AAD756DAE5413BB051E7E3B4957F9D28 +:10B57000E70D2B2FCAA3225F05E590369A3CDFD456 +:10B5800050CBFBA9EAE2DFD9E3BC5EB5A8C79E10A9 +:10B5900079ABFCC945A8F7DBFC621C7650E4F938AE +:10B5A000E8A8C2756DC9F3467FEFA2A85F30A9ED88 +:10B5B0007B9B2EFA1F2C8F66957739CA9B1BEA0856 +:10B5C0004E6BFF3B582F24E018EC8749CEF2AEECCF +:10B5D00072D9511E76B66F0BF3FAEEFA6D447F8B7B +:10B5E0002EC01FD35D367ECD11FCD1C6D822E22FEE +:10B5F0009379BE5C89E6264B94C03E679E8BDB5FE9 +:10B60000F516FF1531A51ACA5DA54CF974BECD9F7C +:10B6100063300F7D2F671EC7773D7B1F3F3C1F9A0E +:10B62000DFE47CE8C1F502432E304C8672CEE2B3F3 +:10B6300091E4545B8349F86C6FA8263ECB61CEF54C +:10B6400061A537BA841D9B353ECC977D395FF8F3F1 +:10B6500050AE1ECB49F5A0BD148279E6F3F97EBA4F +:10B66000D2369F30CC339FCFD7F1BDC2394FEB7B61 +:10B67000226B7D28E5951E83E47E8AE4FE46D48F06 +:10B68000854037D70FE6A2DFD692475B501E41D1E7 +:10B69000F345208FCEE1374C34446795AAA867AABA +:10B6A00067E1B9892AD67D5351A58E72ACC9AFB076 +:10B6B00034C93D137506F3E875AB510EB98F01A679 +:10B6C000709F16AE4BE37AF4E878B081E70FDCDECA +:10B6D000F51851B6DA36AEC2C439D0070DC4B7CDAD +:10B6E0007EBE1494FA8524FF87C8B1F002FA9E3D0D +:10B6F000BF9FCBB104F29FB73E41726E447ED80E1D +:10B70000FC5065979F8CF4C79F803E68BFBBFCA62A +:10B710007B583BA97E3EF56B8DBBAFE98803AF1923 +:10B72000397FEF6AA4F7BDAFE430EC6F24FCAAF5D3 +:10B730005F98553A0AF5E66D940ED23B14217CBA17 +:10B7400074712E1762913283EBF3D55C5EB34D9525 +:10B75000D8FE3EDE3EBEC1810F0BAE9FCBD11E5741 +:10B76000C139F070801DF5A21E39E6D6715D3CFF2F +:10B77000CAE534DEBDC7F9BA00BC109EFE0478C22B +:10B780007D15BA11EB6D7CB9A56111F1455B439C48 +:10B79000F8C427F0E32E05F811CE0A017F2987DFD0 +:10B7A00053DE9B26FBB8941F150E9697F3F2E686A0 +:10B7B00018F5D3D1504BFDFA2A52345F3522F0618F +:10B7C000D58FF0FA5A95E82F92D55F1594336CDF38 +:10B7D000477CE62D05F86CEB07F4F37F209F0422ED +:10B7E000B58EEF4A7803E173247C1D3E3E29F75C59 +:10B7F000EB2589FA4845BF6F3DC98B76D45390DE5F +:10B800005F1C5F8AF23F21F4D116D42784372EAF14 +:10B8100065A598CB0F85EFC7DA99F5A7330FE43B01 +:10B82000185F0FDB552E47B48892DA538CEBB18E3C +:10B83000FCD2EDC2BFDB6E18A926A0E37671FEA88C +:10B8400095B2D41E89F743E71139BC9F769DFB055D +:10B85000DACB8D148AE0ED7971DAA7B6B3839E7BDB +:10B8600001DFDB8B455EE9A57C9E1627FDE6537B59 +:10B8700075CA7B793EBB5F5FDE133AEAA3BC7C519D +:10B880005F3AC8EB9738DB6FD778FF1D4A9A8FE78E +:10B89000E5F9ECFE3AF4E748BF6DCF17F3D119CDC7 +:10B8A000BB831DE1ED4A9CFD8C44177FC552C73E0A +:10B8B00052D5810E0EBD9122FC7B8A6A1DDFBDA58B +:10B8C000758EFCF3AF4C22FBCDEAF770FFC473F228 +:10B8D000C369C10783F99CF83296C7D8AD4A605E48 +:10B8E000620EE4D5F87809F27BBF3EB571D138B469 +:10B8F00077E7D2FA598D7281ECDE6B497FAEEEF8B4 +:10B900008286727DF50E298A76E26A5CF7681F9B53 +:10B91000AC08F5E9D58A97E0AF675C8EB17D6E3AE9 +:10B920006F5BE5E77A6655C8A94F57E95C9FAE0A99 +:10B930003BF5E9AA5675583DB3AA7EBE433EADEA33 +:10B940005841F0AC12FA7015CA695A37C6F8A560AA +:10B9500087CD4602023C277ABE311EEDF0B352720B +:10B96000D997D13F7BA797CE2DB3F1649D3F1CB4EF +:10B97000E236841EA839CF3EB206F500EDC78DF140 +:10B98000684F7ED2F166297CBCD596FE61C9F14B29 +:10B990000399F14F84F8F815C83C0897921C6FF78B +:10B9A00093D5C43738F1F209F15425FA9D8D704CC6 +:10B9B000BFF0F656F97D02CFB6F3914B10BEBF979C +:10B9C0008FBEA6782D7B8CF351AD97EC957F948F2D +:10B9D00006FD319F90AE07655DC84598D7641B9DF5 +:10B9E000B2E863B55B2EF0B949311CFB4B8B4ED9E5 +:10B9F000783A5BEB955D60879E3D7225F96F1ED2AC +:10BA000092CB504ED522FE6C783B0DFA2DA1DAE98F +:10BA1000F2859F54833CBA735F5EBE641BFFCE7D8C +:10BA2000DB1716024CAB76E655A23FAC769FC0F30F +:10BA30008EE5B31236F903F82E45BB709F80770868 +:10BA4000BE4B05BE2B9CF6E1AA726E1FAE8A5C1837 +:10BA5000BEEF147C03F34C7C9DE6B9F72CCAD1777A +:10BA60005A1FB804ED330B5F2BC27C9F7D02EDF4AF +:10BA70000A9CEFD299099BDC3AB9635A7039F47386 +:10BA800042E176FCC91DD379DE23F23BA11CDA9D8D +:10BA9000F0F3F627774E0F2E1F461E67D3654598A5 +:10BAA000DB2DB67300B237DE037B03CF21824AFC65 +:10BAB000C70ACA35FF77CFA21FFCA4FFDEDFA7A805 +:10BAC000DAF0FAD9EAB7B04E3961C747700EE46DC3 +:10BAD000F8CF2977966BCC962F76C0C3FC33B8DDB0 +:10BAE000CBFF52827F187BC376BEAFF6E7ADC0B8FE +:10BAF0009BB98699FE0CDA917ED9700F731E9C91CA +:10BB00003FC634C5E6C782694F1BD44F2EB4AB4B3A +:10BB1000CE790E91683838CB7E3EA8285186F1291F +:10BB2000961DADD4FFFB2CE4DBC3D0CF71926B8D9F +:10BB3000D6B9B1382F4D39FC0AAEFA9699F6F3987A +:10BB40009CC173AB3AC3EE8F6DCD318FA28ACE0B01 +:10BB5000D6375E3D13F2D6F95D69D7E0791BDA93EB +:10BB60005BA62FE8D93A8CDD4B2701E82F49779364 +:10BB70003F5B652913F7FBC1303FE7F0004EFB1038 +:10BB80005E25E9417B2F58CDFD576E3C0C42F80FE6 +:10BB9000F27827EB9CBEAD5ACEC375FB1EE8CE3EB5 +:10BBA0007FA61D43A3CE769ECFFA93AD13619CC0B2 +:10BBB0005C8561FC152B15E7D34ADD39CFA715430A +:10BBC000C43F18AD7D3C55C85F683B170DA9E48F95 +:10BBD000769E5F0C9E83975EE0F9F605D6FB7A436E +:10BBE00074DAA9B2CC3AD988EB04F0DCD5B088E29B +:10BBF000F946B33A09EDC1ED72FC6284AB7EF122E5 +:10BC000013979C6B71DDEF1390E68F31A6E2D1E4C0 +:10BC10009734968E5543DE673C8E3BB3DB5B2AE65A +:10BC2000FB01B5F968F4C3FE21A2563761DC53FE6F +:10BC300004E36D8C9B5AD5327D7E08E0CB9F68ACC7 +:10BC40004791DCB179C6FC4533F1FC84C591DF5ADC +:10BC5000811F11AE8E86F42C84E37295EF876722E4 +:10BC6000DD0A307EC924FFA207F812FD837E254D30 +:10BC7000797FFD4F669D42BE0BC32AB2F91BFCA122 +:10BC8000F8A711FEDA983E0FD79ECB6F9DEF259750 +:10BC9000D65465CE79AF840294677FAA30F6D8F780 +:10BCA0005977ABFCBC2FD17094FC752D0DFC9CCF4B +:10BCB0002A6F1FC77A919E56DEED6675C4C71111B3 +:10BCC000F728D63513E7145A489F8A7C1353651119 +:10BCD000F7188DA9E87F55CCDC4FA39D7184C71B55 +:10BCE0002A2C46F638FEE1790E9D7B953076872A20 +:10BCF000EC7B3D9E9C0BFD35EBF953D16FCF2AFABF +:10BD0000E70CAEFB12EC2FDE8AF458A67E7F9E8AEB +:10BD1000716B7E4E8F78F3138DB89FBB0303FD4884 +:10BD20002EC53CC85F6A98B133F9249FD26E8A1F32 +:10BD3000633B4A2DB924631C877C5C9D72FE734D66 +:10BD400025149963B773FD8621E3BA2A5184BE0591 +:10BD50003DEFD8979C799EA19FB353E023D150EB40 +:10BD600088279D2FC5EF53E97C93FBD7D5F89A69B7 +:10BD700048671FBB31378DF184C7AE3A82FED69635 +:10BD80008623C437ECD971B4AE7DBA6D018DCEC4B3 +:10BD9000397A8BF8F98657C4277A2B9477EDF23CE1 +:10BDA0003BBEA95975C63759F15113EABF32FB940E +:10BDB000CD9F206F1A90D07EB7E29AEE1772C62AF6 +:10BDC0009F50FF35AABFBBA17EF629D506AFD8A7E5 +:10BDD000F82C3ED9C4E12F167153D6FC9E7FE5BDE9 +:10BDE000436B316E32CEE85CB223C1F75DBE4B408F +:10BDF000001767FC5EDE38CCCF164F903DBF94C075 +:10BE0000F3BE8633B4BEBA7151507E80F23E20F844 +:10BE1000BF21FD0F3BF1D8B309E42A8CEF791976E5 +:10BE2000C80057E9572344576F87C067D638ECC816 +:10BE300079E8607C323A3C3D021D583DFCCD40B76C +:10BE400080A89BC58F163DAC3CECBB72FBCFA90F05 +:10BE5000DF9F85EB7B770398D29026F4460F3FFF58 +:10BE6000602937C96DCE87CDA1792C07F0D1AAB34F +:10BE70002882A38678B96AF038D6DD9B96B09C10EC +:10BE8000C61B4239E06BC2265E3E41B46F351B25AE +:10BE9000340F0C937F37C477F601CC6E4626DE3321 +:10BEA0006C443DC5E887A8E77E0A864580C75DA249 +:10BEB0005CC97B4742380A37F1710A8DA83E17EDFD +:10BEC000BF3AEEB7680EC93296179B1CCEC2D0732C +:10BED000D1B9B67E760ABC151BB118CA1316778E77 +:10BEE000F39028F71B032F4EAA222A46B8DAE0E582 +:10BEF0003B041CBA31F0CBAB70DC56DE5EDF742243 +:10BF00007D95AD5E52F45362306F39F6D3E1EC6744 +:10BF10009B289F88E5D84FC40987E5B730362F9016 +:10BF2000911EA5E8FF83B4BB6107AD27637382CE82 +:10BF3000A5120DAD94B7DAB58A7EF73424679F2A2F +:10BF4000CBAC3F25C1DB6BAD6C5ED4C60F018DEB76 +:10BF50001B2BC5F51006B958F65546FAA1A49CAF9F +:10BF60003764C54DF0DDDBCAD7DB10FE679007FEF6 +:10BF70001D0F7FC2AE94D03EB0F8CFDAFF1F3E7ED9 +:10BF8000B9831F593DF09FC5F72544C7D976B9CE6F +:10BF90006A3DB31DE571DD591E0D3BF3D586B37EB9 +:10BFA000A4DC9937228EFA161C9DC25FBBADA17E20 +:10BFB000E6025C070D4B79BE808D453F49B2809FFC +:10BFC000BFB4A23F57A5F302F2B3ED403F1EE477A2 +:10BFD000A2FF0DF20FA13FAF8CFBBD17E0B987F0B8 +:10BFE000C769F54D3331CE7BBA26E247E63087DDAF +:10BFF00003F6D0740DBE6BD5B1B48BF880DB41DB9A +:10C0000072D8AD38BEDFE863B20D6F8B34EEFFCF70 +:10C010009C9F717F9E96E4FA36534F769C13F82AC4 +:10C02000EA18EE3F581148D3D119BD74959647F4DC +:10C030007717A529DE02782F6C97D3A5C934D99339 +:10C04000F3A5E8228413F0722BEEF7C2A09635E038 +:10C05000DFC23506EDDB8AEAFAE6BA43B84F30288C +:10C060009E07FDAEE887D2C04EC6F95F540BF8B10B +:10C07000F18DB7B4D691DF96C7E76BF96703C28F2E +:10C08000FD0BD7BC9BB5E9687FF17D6D5360D5583A +:10C09000E4FF5F29B1DBF0FBA8EB5A693D7C098323 +:10C0A0007928EEA34F42A368D7A2C564478C5BEC06 +:10C0B000217B94DD3E04EF2BB1FDB80DDC5E1E5FED +:10C0C000CFCF7FAD7198121F8B7CFCAF52EC4EAC82 +:10C0D000C7CAC31EBBBD950DCFE35A740DE2C7821C +:10C0E000639F165DC7F3A23F06FD015DF3AFBDDDA3 +:10C0F00083F595C53C1E8E2D1D3E4ECC1667F7254B +:10C100006DFA70E7E575C4273D52FCAB388EFB989D +:10C110009BFA7317897822B1CFC81F950E4FB5F9D6 +:10C12000DB52822F3A6C716CB42F137134F487FB9D +:10C1300037CC97E0FE9E9F63C2EC4DDF65680F83AE +:10C14000618D726D0B8F4F1F13078685FC43CD1ACF +:10C15000D9936AEDE81518E7026B2D8D71E76AA295 +:10C1600085CE8935E177F5A0849C88FAB097523F57 +:10C17000DE488134C80628D5994EF6F81F97F7DFB8 +:10C1800087C82EF7C4BF89F35BE3894FC0D0A737B8 +:10C19000C7C5BF83B0EE463C035C2F29D187B1DC15 +:10C1A000567FB7A3BECAEB835996423CE6B26837C6 +:10C1B000D1738438745B1CE41B7E1BBD59A9ECA0B1 +:10C1C00013D0E5315AB768BFBA6C74B9C0B84CAC7B +:10C1D000E99F71AEFE0D714E9ED5BF68FF0DDF94D5 +:10C1E00020DA61CFB7BA286DA99F48E9EF64B6ADF0 +:10C1F0001AEDEB9FB9D8707E3C2BED47FD0F72EA2C +:10C20000A742FEFF42E3E32D57740DF7C5CBCDBF28 +:10C21000CEB2FB7F979BDC2F038CB810E9FDBBE609 +:10C22000B9EAD662FBBCF83E35BB5DC67FD43F8E13 +:10C23000F67783F1FE3CCEACA6DA428071F3FF06BE +:10C24000B8EF3CA2527C8E651F58F839717239DD07 +:10C25000D3B913E3A9205DC962412C7C93C9E44F93 +:10C260007993FD2A38CD26275FD378DC2A6CB8C9AC +:10C270008F61C27F28F7EF48AA0EBFC6EA1DCEFC29 +:10C280002AB66434EE135775C14E5B427F90D3CF0C +:10C29000F15BB19E57B3BA16DC8F358B7554A3335F +:10C2A0006514E8C9B5CF7C6B06CAD1B7055E5F835C +:10C2B0007D94618B67BFCB9FD2500F9F7C72DA4D0C +:10C2C000B319B64FB514D2FD1436ACDF7545AB13B8 +:10C2D000BEF3C19F0DAFE5C718090E653FA7EB1070 +:10C2E0003ED1ACF84BF382EED54DC4CB5C54DF7934 +:10C2F000AFEE7CED26B90DC11F9FACDDA7FECE765B +:10C30000978D00675B281943B933B8EE3C319287AB +:10C3100092C2D75D5BF83CE54550EE3A4779E9B902 +:10C32000DB63DC0DDEDF892248B41F4E5F447654A8 +:10C3300003BF17F2AC1AFB67DC073DFB5F2E8601DB +:10C3400095CFAAECB08EF3922403F7D151FD7A2A4F +:10C350008FBEEC0AC9C562D160FDB717EDC3753A4F +:10C36000C3AD0A7F7C9F0BFB8DBEA32FC0B8846733 +:10C37000D5F4457930FE9CAF71BFC4DC77D22B1069 +:10C380005F570C2C55519EFFF4B1E76FC37EEE1A38 +:10C3900058A8607EAEE8E7CDEF3E3E83413FCF1E1A +:10C3A00008B034F99F521AEE93EE7AD245E7D5776A +:10C3B0007F3F407AE1AE27D6EE5D0CE34BCF040819 +:10C3C0009E394FACFEB69BE06BA27EEE7AFA86DC1D +:10C3D000FBC5BC3C808F67375B71A8E98B30BE7EA4 +:10C3E000AD9B7D1EED020B0F83FB65FF5C250FE10E +:10C3F000DA9F47F6C6205F2B50BF02A318D9E797F4 +:10C400000CB3FF59E5E6EBF28DB735BA4722ED3FA5 +:10C41000B48CE6D77B33CD57028AFC01C6BBCDADC9 +:10C420005AF5681EE62352AA0CCADF7844E2F3EA02 +:10C430009DDC9D538CE3776B3524D7F8F98805EFA5 +:10C44000FCFD7313B8AEE7EB792548F2F9DF3F4006 +:10C45000F2F99EFDAE34EE7F20A57DD002BFCB79F0 +:10C460002F8945FD12F0C13A1289903EB996E4DE5B +:10C47000BADE76BA5F72CF41E77A073C47D200FF57 +:10C48000DDBF76451663FE07DF09E2BD96D7FA7A6F +:10C4900082480F1867B906EBE033EF3BFDB9D8FFD0 +:10C4A000FBF943FB636C80EE8BDCD3DBC6C7CB921E +:10C4B00027AFE13FC60EDDB776BAB3EF47BD348391 +:10C4C000EE91ED1F35AC3E1CBC1725E4CBDD07FE1D +:10C4D000B2CB8471DF78E2F55D18C7BFE6A33FEF0A +:10C4E000FA0AEE8FFE3D4747B978CF77FFB0EBCB26 +:10C4F00080CF370FBA65E493B77EF49D6F3F04F9A0 +:10C50000B77E33A95282FC77DC5C5EBDF5F85F47ED +:10C510001BD0CF861F5D3906E7BFE1A9F963D8704C +:10C52000F24DA46F015FA56C7C65F9798D83D0DF36 +:10C5300018C83E2BD22CBA3CFFE4F3E311BE378F70 +:10C54000BAE9DCFF1E839FF3AFEB5D4B71BE98C76A +:10C550007DD3BAC7B6D0BE7F289ECD8BE4305FE7CF +:10C5600018F2BDEEC91BFEF98A2A4CD58881FDB1AF +:10C5700001D22FD9EDEE7919E879D9C8F4FB0BFB7C +:10C580004043BCDFF3581B1F378B7E6FE23F660EC4 +:10C59000A5DF0B43E8B76637ED899F1C3ECED7A2D7 +:10C5A000DFDAA73E7BCE7B746F65ADDB91F05B2B52 +:10C5B000E23D1F7047FFCB8DEBEE099F1926FABABB +:10C5C000538BA1ECADE63F8F67C01767D48165B888 +:10C5D000FE067EE4D6F19C7EF98F7EADA11C7BEB3E +:10C5E000A95F6A06C973E697C06E7B8B0DFEF5A145 +:10C5F000DD4EF739107FFB0269F443ACDB544B741A +:10C600005A97BA7E9111A4EFE4CF5897E27CBF2EDF +:10C6100075E8466918BAF93DF95C8EA60A849D98BA +:10C62000A1A3548DF43BBE10F96D24FA59F3D671D1 +:10C63000DE97DBE868AAB44E475A8F6F75BB158C3E +:10C64000D3BD47F8912CFBFE9E94F46B36CC3A1D7B +:10C650003CBFF884F71C35CF08FE2731DFF3ADE38C +:10C66000F3CFE793E1EB5DA1E7B3F1B6B9D94D7232 +:10C67000F87753DD147F745C35BEB111D6E3C08BFF +:10C680002AC5312EAB7C553586B99FF1FB2C3BE892 +:10C69000F3F552CB1868F77993EB91EC739EF8267B +:10C6A00017336CF859E71EF81DDEDF653FCE6114C5 +:10C6B00097F6EF39B41FBA67574E0AF5DAF34FBD54 +:10C6C000F76DD4276FED7633AEE778DCE06AE11FD3 +:10C6D0007CF5A9F776FD0DE36EB1B181F5379EFECD +:10C6E00012F2F9C312C67AB13F3E913B05EF33DD3A +:10C6F0000D75F1DC72F58FBF721DF229E6F1FC7247 +:10C70000B52FBE0CE3C3563F3C46427BE61E6FFF8F +:10C710004728875EFFB75CA4007BF3A9F76620BDBE +:10C720005E7FFA992928FFC03E34ECE77677DADF9E +:10C730006BB0D9EF77F776D279CDDD58CEEB4B1FC2 +:10C740008B358376388E8F76C9DD0773A339531CFA +:10C75000F5A89F7BDC03F7E13D70A06FA14C367D0F +:10C76000BA10E97CF77EE7F8D77AB8FEBD471B58C8 +:10C77000C5EB270B393FF451BBA51E2EC7ADF2EC1C +:10C78000F656FD9B3C258E7A56FB75E25C62881D51 +:10C79000EDE1E71B77EFFF70D270E7BE43C7E1DF43 +:10C7A000BF28313A6F638FE7D07E778D96BE38BF52 +:10C7B00082BEC7D04EB1F285625CCCA33DF543B1D9 +:10C7C0003ED77879FE6911AFBE26087984D7D3FFAA +:10C7D0003DE49BB5CFE430B4CFD6FE18EC25C0EBDA +:10C7E000DAA77F3A1EE9B6F6C71B89EE6BDD69A2B0 +:10C7F000F7C0E36E86713C6F3CFE2295BFA1A6C7D1 +:10C80000E3B86B9FCD396EBF5767A56B7BDDC2B9AF +:10C81000EA9C4F139E3BA9E8E74A935FDE25CEC50D +:10C8200060471EE911F16A3CEE722CCD37DB9EDECB +:10C83000E7291ED6EE6EC6F30C74747A4CA6DBCED6 +:10C840007915C6E330FF4F16BF696A5CC77DA686BF +:10C850007844BF8F126F45FFAF1A0E4D453E6E09EB +:10C860002FA17B3B1D15FA545C977B3CDC6FE18666 +:10C87000FEC93E3EDC45E7B29E22E54F8E73EA5389 +:10C880007E8AF363A5B6EF25140A47DFFD15F0DDB8 +:10C890002EEF42B58EF724B2CFC97F28717C980164 +:10C8A00037C519C0BF5CB89E6FC91C5CD23EF53756 +:10C8B000D6B9A992E0E579567182978BF57F4F0D35 +:10C8C0005FDFD9F4BAE5D92D7D7885F99667C792EF +:10C8D000FFE416FFA43FA05CFF21CA56DCCFE7F1BE +:10C8E000F8A4CB9E8DDDF04F90FF5C6D19C9AB8A2B +:10C8F000DED8B593217F7BED44F2C3BD20F8FCB6B2 +:10C900006ED954815E8745FC9BF92589E0FF3CBACE +:10C9100014A0E17266687C739DA2FA2B586F80E7C1 +:10C920007B0BF07EACADBDCB8FEDD74B745E77EB60 +:10C930007FBD7C25E2F2B72F9FA090D3CFBFC43438 +:10C940001F8CBBFC49A385BB53447FCF427F72A69B +:10C95000BF0C1EC5BB068A87F092C19387F0F69B79 +:10C96000C1731493EE97DBF04CF1D5169E6F091C42 +:10C97000BD15F1734BE0E2C32C38149FD9F646364F +:10C980007EDFC122D067FFCB133DE981F2A73DD105 +:10C990005398AEF10C8C574AC88F7406F3EB5CF1D8 +:10C9A00009A32792DF695201F25DDFF0F66C663C65 +:10C9B000BECE7EC32261BE8FEBE0F310EF8DFC860E +:10C9C00071B9FE672C9A9981FF378ABF15E13BEA5E +:10C9D000FB9E8AF6DB6D2CAD62FBCFB17E15E99232 +:10C9E0004DB7152CAA61F91D2CDD82978200DE8FD0 +:10C9F0003C05197859511FC577B1972EEC9ED690FA +:10CA0000D4E3A1D8821AC6E1AEE97FBB01F1560397 +:10CA100060A03E44B2E07A3E65D1B58DF357CDB10A +:10CA2000B31FDAEB3166D923FC9C62B03F4F07DDC0 +:10CA3000E3B5D573E81BAA270DD70FE46D711F432B +:10CA4000F3FCBE4AF6F71A4F90DEC1C8EEEF533939 +:10CA5000963C83398C46BC5A7FBC9F47F3B9DC5E59 +:10CA6000A1C05200BA5D966338EC03F8DEAA5666A0 +:10CA7000EAD584985204F91521104D50FFC46395EE +:10CA8000BFB8D41819FF351D1FBB8D61F40E8B3252 +:10CA9000233483DFF722BFEC4F22A6DB95392FFF2B +:10CAA000A4FED47C16A134C462945A710F6196A47A +:10CAB000B490F5525A84FEF389E8471FA0D460BAB7 +:10CAC000CCF998AFA31216A17C298B517AA098DFDC +:10CAD00013382179237B86D117A0AF975C03E51B20 +:10CAE0007FE5A2F3FBE53925C3FA5F5C9E6BE72483 +:10CAF000ECF7AC1EF1D0FEFCC06683E2CBACEFCB12 +:10CB000073B87C5B9EC3ED88039BF9FDFC138F78A3 +:10CB1000227BA0B79301A6E5C1B8273B7F5D82E7E2 +:10CB20001D563D8B3EEF1F7FE6523C97989E13ADFE +:10CB3000C921BAA789DF2CBAAFF0F8B95FBE437D2F +:10CB4000C3AE3FD49CD85D58FFC8F7BC6477DEBB4A +:10CB50005D22BB931912AD9395824E8FE6F7BEE628 +:10CB6000C2F5B0CD6DE07A58D9E13E4EEF9424AFD6 +:10CB70008CDAFBFBB298074B7E83CE8F579E27BE85 +:10CB80006F252854E4BFEC7E181B9787F63AF940CE +:10CB90001CEB99FB5DAD77ADACEF1EC6EF71001BD2 +:10CBA000913CFF975B6E5ADE8CF1473D6ED2B36EBF +:10CBB000B10FDB2EF056B08DC5B1FD8332C7DF5902 +:10CBC000D15F478E8BFAB3EA6DB7E61365D97EF273 +:10CBD000ED88376DDFCDE25D197EBEF5A0965C8AEB +:10CBE000783CDBCCDF7399BCEFE6BB510E4E4EDCDC +:10CBF000771DA60F48A930EA7FB3DB1D413CCEBDAF +:10CC0000B4FA6DCCDF99D0284E6C72428B225E7BD9 +:10CC100071FD021CE537D536A2FECB9D632E43BFC6 +:10CC2000CBA47D5A04F30583F151BA978C8083FC21 +:10CC3000DD925A81C3EED4FCDC73F90750ED988E77 +:10CC4000B8332F331DF2263F2B5F9855BFC4517E5A +:10CC500011CC612CC8878BFC2C1D80F440A33917A4 +:10CC6000F5FBB61A46EB671C2A3EA0F3450A33F1E2 +:10CC7000FD223CE6F0425A0479DC7A42397389F2AB +:10CC80005C48F7CABD8B90F887051E7465E0C54403 +:10CC900031AEEB56A9CE6F9F7F32689FBF157701EB +:10CCA000FD30ECF76CA25247BB32A5B17B119EEE72 +:10CCB0001E37D1A522F1EE3294E793F75D7527D2A6 +:10CCC000657EFFFA9F8E03FC9E3118F93D42CC0C25 +:10CCD000E23D0E9690E9BCA1A29CA554A877000164 +:10CCE000C57A292D85F7D870A9E7E4536A06308DF7 +:10CCF000C5AEC1FE60FC28F2754579BA04E939F980 +:10CD0000D89D6FE2F77E319F4799A9A39CE94EB960 +:10CD100018D2FF9203DE3D28145F78C59DFE0CF407 +:10CD2000DFDDA9D1BEAB7B2AA338C22D6D5EBA4729 +:10CD30007CB9D7207EDCF261742CCA8FD29896968B +:10CD4000A1DF77FA8BEFBA83217CC9BAE7A0FDB6E1 +:10CD50004E2DB287E3C1F454129E59B012E3C3FAC8 +:10CD6000E724E8E03E3A76896D1FD9A5466FC17881 +:10CD7000A337723E5A80F15D5D39447276D1D67028 +:10CD800033C67F9D7D0A6436C68D5AE76BE5C9A020 +:10CD9000FD7DA8BFE4488EB8CBB3E27D2C569A0C3B +:10CDA00072BD950CD27B50AFB8097FDD4F79687E9C +:10CDB00067F74D2BC17D5D77E78EF148C708CE0F31 +:10CDC000FA39FBA1399EE69772A7F1BEF9035A9F83 +:10CDD0008CEBDB7C9A913D7F06EF5F820D78F69FAE +:10CDE0007E7B621F36F1E60DC665235C0FE0BEC494 +:10CDF0009F81A356E7E7C5212FF77FE67AB9DD1DAE +:10CE0000F08AF55D31647D07BCDC9F9D4E40954600 +:10CE1000DF75E4CF2EF08A734F0F8FFF1EA65DC81B +:10CE20008BE7678B6F4D639C9DD50EE3C96334FF21 +:10CE30006F2C437FDF994E0FF1D9999E3185C89FA2 +:10CE4000D6BCBB91AEFE0C5DAD794C56581ADF07CF +:10CE500063FE4809C65B7DCACBF16D95430F259FE4 +:10CE6000B5D1E353629E0F784579396F972917ED55 +:10CE700083E2BE71697639C7CF0BAF5C7E761FA7A0 +:10CE800017C1DBDDB9682CD2A9EB43BD90E04C7033 +:10CE90003851FF201D07DF5B28AA22795BE4610976 +:10CEA0004FE570F267B3B8671D223BCE920323DAD9 +:10CEB00071A2DE79EDBD3028741B3DDC09531B6B7C +:10CEC00064DE41F2876257215D8D527D1E7EBFD2A6 +:10CED000B598E237DC225E36BBDF071B4004C07A20 +:10CEE00079A0C1836FD4B0B6069DF2DB1AC294A6B6 +:10CEF0001A0CFA1E17F8F4CA5CAF6C15FAA44DA40C +:10CF0000377BB93EB152ABBE65F728E5FC3C5F29E3 +:10CF10006FE1F1A5A5D67B5A83E7E571E42B16678F +:10CF2000C3C797823D83FCD523C557E2FC8A457C65 +:10CF30004071829F9BEF167CF256D6FB6F6B041CF0 +:10CF40006B04BD4D61075AEF31B98B4CCEBFD63B58 +:10CF50004E4A7CFCB9DE0701FCF74B36FC67F01E3D +:10CF6000DF8870D526F3E6A17B31A794C7715AF804 +:10CF70001F89AE16DEF161109C5F6831BF476FD12B +:10CF8000A5AD214EE5DB1A6A294D35D451DA23C50A +:10CF90001288AF50ECDCF36F13EB7F9BC0C385CEE0 +:10CFA000D3CC8925BD625F617FE7EAFCFC7961F53E +:10CFB0004E607C2FCCE314C6F3969DFFFC6FE30319 +:10CFC0006BC83FBE5D8EEF43B8DEFBFA3526BA9FD5 +:10CFD00056744C25FE01BBB007BFD7E41AEFD20D43 +:10CFE0004C73E3952F41851AB7F134E697F6DE745A +:10CFF00025BE875833C6B80FE37CFFE0BDEDCA10ED +:10D00000E627307AFFF0AF5B5B9A31EE74BD37FAFA +:10D010003D2FD9976A1EBED360D96723CFC7F94E7B +:10D02000430837D39C4FE2F6750AFCF1C3E1F9C31C +:10D030004FF37C67314B9DEBFE24BE3FC3F9C02309 +:10D04000E81F7F01E73BAA94F3CBA8C5E7E6839FDF +:10D0500009FABF24D257BC22BE56F04150C43767EC +:10D060008FFBB2A8BF4DC83D9063AD767967C93FCD +:10D07000AF8BFBD10E5DFAD0ADA8CFDDFB2E2E41DC +:10D08000FDF7C8B86421DE9FCE1572E37EB52E8C05 +:10D09000E77B1545EF2EC3F7D82AAA59AA2C886931 +:10D0A000BAA478CA3F8EF7B9DED8AB9C7E5C5EFC32 +:10D0B0000FF4F736AD0305FA0BFCE3FD01BE480F94 +:10D0C000A0FDA609BB059F346391C8A5FF13FDFF12 +:10D0D000FF6A3F8AC5CD30D07B9415CFD4B199A1DA +:10D0E000FE013E2DF441BF395DDD26F2BD8F0DFC02 +:10D0F00004AF805AFCA94D00BEB1F15DA58FCBE90C +:10D100004A9F15C700BA0CF4C1C5F40F9EEF80FC0E +:10D1100024FC07C88349E23E4A394BD2BEF652D6B8 +:10D120004B6905EBA3740A1BA034C27417A6952C97 +:10D13000E212714A33305DE389EFC6AD50B9277E04 +:10D1400019C289714A920BED9A75B3703D55F9ACCD +:10D1500038F4B463BFC9C4F9C0F9F69FB92C5AEDCD +:10D16000A3F623BC9FC946BE77139931F4DECD27C1 +:10D17000B81771B56FFA30F7222E33DE96E986FACA +:10D18000D3241FF327198F633EF0C077483EE65F34 +:10D19000CEC82EFE5AFBBFBD80F2505D144D130C5D +:10D1A0000936ECBB5556AA8EE1F17189BC9B748A95 +:10D1B00093F3F0F32E45F86FAC7AB5E8742C18FAB7 +:10D1C0006ECBFFF438D9FD5F27C7EEF2115EB93D93 +:10D1D000F1359F33BECF1ABF29C47A5DA07F5C7939 +:10D1E000CCC4FB72D9F034FB96F502270CCEC31ADF +:10D1F000CFE5E7E3FD1D71825F43B886C60946AD02 +:10D2000038C1462A17FD29BA334E301B3F1D62FD37 +:10D21000CCF645B7603B5B7C5DBB6FFAB0F1751D2A +:10D22000F81DF8B493E367783E3DF4D213BF980538 +:10D2300072DD9BC7EDE4046E70F13CACDB45F79406 +:10D240005FD7A3BEC9C08FCA7D251113D7A9F08FA0 +:10D2500058F71F954BF725E741F996087F1F614B5B +:10D260005F8917F7057B5A5DFC5DB917582F9E93B0 +:10D270005A7E8C09C151346EFBE4D363C9EE7EDF64 +:10D2800045F162CF4D7E772CDA53BB5FECA5F7AE4C +:10D29000DF9DAC6918577338C0E31DDBBBC5FB5F6E +:10D2A0008CC3B7F5C158CF565B5CCDEAD012BAAF8C +:10D2B000F5C38042F5BFB561C9CD18375E1346018D +:10D2C000417877F1732D2B351DF96C7C07C57952A8 +:10D2D000F6F76D416E7735572BA4DF5756C929DC19 +:10D2E000FFAEDC29D1BD0463834CF136C6865F2DC9 +:10D2F000C272A36A9E8201F746784052E0FB4B3E21 +:10D300001EAF3361C33C8ACFA9494A543F7B9C97E7 +:10D310007CDC9F3361539FE847A658C809D00FEEC5 +:10D3200063CED7FEB08FBF7BD829EE436E55EB5A44 +:10D33000E623DEBE952799367E3D26E4F11EE89F62 +:10D34000C70DC5E8DD836F0DE6EB341C6FD72537BD +:10D35000CDC373D65D0F72B9E5DFF94BCF2CC8FB97 +:10D36000531CBB86D97F0BC2D95CAF119C5BA53A1D +:10D37000F287B74FD6AE45FA181D4007895282771B +:10D38000EB25EF4A77423AF130EBDD0EFCF1D98024 +:10D3900087E09DD801F65300E71B91F1FC7982A844 +:10D3A0009F3DBF2B82428F087E9C20E46959ABCC05 +:10D3B000E9B089B76B577BC3A36DEBA9218B9FB2F3 +:10D3C000FB3DE0E3FBCF5D2ACC07E0D62A3486EFB5 +:10D3D0004AC8E1D83CBCCF50D32547AE8271DADBD6 +:10D3E0000ED17BF2ED53B9D4DDFAA55561D45BEDD6 +:10D3F000D35921C27D46F0A5D9CACF89B2C78905C4 +:10D40000381FBDD625D33A39B1F9F458E48F5D0100 +:10D41000637CA802CB399F9C08F809CED7BA2A7B37 +:10D42000EBA1BFD7FC6B464B86BD1FCE27A572B2C2 +:10D4300010EFC51575682D8922C8E33A06FBF79AE7 +:10D4400060B005FD20671E7389774EFA72909ECFFB +:10D45000A5464D8BE03ADFA419B836774BEBAFC346 +:10D46000F5626E9629BEE74CDCF25345C84F95EA4B +:10D470006A0CA29CD85BA554229EDF0DD614F961DC +:10D48000DC9E8E515EFCDE969025FC5EDA59F93307 +:10D49000BC67513A3D9FEAD11B6F33F0DD614E9F6F +:10D4A0002DEFFF6007D9FF551ED623CE17504F5AD8 +:10D4B000F1ED41363016E55AB0D54DFBC040F2E8EB +:10D4C00057503F065ADD74AE0AF5FCB5F93C1D8D88 +:10D4D00069979C9E81E5E17FF902FAC57C7D727AAD +:10D4E0005510DF4F928FAF803428DE770F88F3928C +:10D4F00040B5ED1C82FE9FBFEF68C11728F752BBF5 +:10D50000D72DFA7558E7637C2EBBDB26A550EE2499 +:10D51000E4D40EBAC7378BC789029E0AD12FF5BA59 +:10D52000E54710F984F0D3E2FD7ECCFB8E0C2CC1D4 +:10D53000F9F83A4EDF8E29F45788719FBED6FFFE68 +:10D540000AC12FCE6B7C554E381F0B4617FA855DEE +:10D5500011C5FBA316BEBAF83B9A073673F85E5D99 +:10D56000CBDF9708E255C57CDB3CEAAC77FCF9BD24 +:10D57000BE8B10F7FC0DC52A5C3FD6FCDFE8755169 +:10D58000FD8757F27735DA9F628FE1F968409C0F8B +:10D590000DEA87CFF2773902152DEB894E59785D68 +:10D5A000E9E77EADD71F9B48EF9D59F7B2ADF18BF0 +:10D5B00070FC924CFE61C6E179FC70FEB515D0FF9F +:10D5C000CE352553D15FAC88FD0BFD019D42D80EB1 +:10D5D000CF4D744FF41280A75CACA3C7059E534790 +:10D5E000F4E750DF1CFAD9AD5E8CEFBB2C10A6F22D +:10D5F0001EB384FB5B193F57D2C578270C2348F133 +:10D600001B1B18AD737DA714C5FB61E3C242AF7449 +:10D6100048844F8BFE2B16E8447F3CCB9767A0B71E +:10D62000999151AD776C5E4FEF6C8289590DFD9CDD +:10D63000081B41F4FBBD5A2F539CC00A66C8647C8A +:10D640002B4C46FB6EC5261D7D2D6C57786033AE86 +:10D65000BB574DA6A3DF1301C37E8302BEA0E8170C +:10D66000F82788E73A251DA3A89D850FF49DD2FDD4 +:10D670004C93511CC8093DB20DE13CB553A2F7BC17 +:10D680004F1571B87BBEC852E83FBEA3D55C8F9DD5 +:10D69000AF0EF7BF88F27C758566F0F919DB10AE26 +:10D6A00071ADF9D47FB0EBE98DE8FFBDA302D26084 +:10D6B00066BE2B055C2B379804D7C9228EA79ECD5A +:10D6C0008CFCCADE71A924DEA35ABD09E643C43529 +:10D6D0007E86E318F5A30DC25B8CF30990C2FC189B +:10D6E000FAC95BE4E49BDCA8E688EF61D53CAFE0D7 +:10D6F0008BFA38AE80CB9A7F9980A70CE43DD2ADEF +:10D70000CCE4F3BB439C37CAD80EE65356CFE7B1FF +:10D71000B2CB395E47F9BE3E7A6F6D8366481CAF67 +:10D7200006CA2BBFC0ABBF82E3D5BF418C1BB1B5CE +:10D7300087F2932F3213FDCB52BE87E3612AF77F26 +:10D7400083F1BDEC4E5C775F77931FFED4873C4E30 +:10D7500075F7546D7FE330E7A6BE23DC0EBCA82E20 +:10D760006BFE0A5817367E00B917F5D03D59E3F520 +:10D77000D5D07FC094293E7F6CD6392AD6CB03E61C +:10D780000C6C1A3D0FD767D0CC9FA74DC9D85BD37F +:10D79000EDE3A36BFF25FE3EACEF482C9FE4E49144 +:10D7A0008796A0FF3A78387903E60BB2FB3F5247E1 +:10D7B000F131938313F9BDB5C390C3FA91D35FC51B +:10D7C000B445F80F7D38032EAF0F631AF033D357EB +:10D7D000497953AAC479296C017C3F30B78ECE15A4 +:10D7E00003973192FBA40F78BD34A6DBA688EF47E0 +:10D7F000E2F93AA586CE539DD296ACDF8BE914F5BB +:10D80000BF1190877DA73150FD91DBCE0789401F66 +:10D810009DB3986D6ED24B4DAAB1AB06F24D4FF948 +:10D82000D1E3CB1EC94B16E2FB3C3384FD678DC7A9 +:10D830008A6E24BB16435F241206FCFECDA581F23E +:10D840006EE4F7C9D13E793DC92F1EFFF7ADC3DCA9 +:10D850001E6E667D3915A83FC232C373BF57859DC2 +:10D86000DC527E1FC553A64AFDF496695180DF073E +:10D870007BEE128DEE27EE3D5442767A4A49D62150 +:10D88000BCBD500FD7F9DE7F8D4FC0F708F6BC60E6 +:10D890003C86FCB8E7C5B8E37DC66C7B17D02A0B85 +:10D8A0003B58C238AD6CFCF80A4E48F8CECA84FA30 +:10D8B00094897679B0BE9F7EEFC5A8062D7139EAAE +:10D8C000C93E13F3BE10D7AF4615FF6E548814EF50 +:10D8D000C38FC138A438ED5F2D3F7873684F3EDAAF +:10D8E0000B1DFB15A27155F70D9E7F4279D525E3DF +:10D8F0004BBEECC99465A700B7D3224CD1FC4F4571 +:10D90000E4790168B7FB655806506F77D7BC51A81A +:10D91000574692FBEBFC97F07DA0C1E55648C869DD +:10D920004B0FA474E6C538325F3DD3719FE113728B +:10D93000AC6CA724DE9BE27A224FC881BC7A2E5FB2 +:10D94000C03E6E44FAACDEA00B390CFA83E439A376 +:10D95000B8B1BC9D5C5E83FED84A7A05E5BFC4328F +:10D96000FAA395EB8F0942EEAFEE107252C8334B1B +:10D970002F3185CBE7920A213785FCCD15F0E81DC4 +:10D980001C9E5CD40F90EAAD5C1E538CD9E88C5E73 +:10D99000CAEDEA25B9F715BFC1CF232BB81C1BFB75 +:10D9A0004BA5B1DAC8D005EC15E35CEF4834EFECD9 +:10D9B000DE81F26665B946665DD9CEF58B303E6C88 +:10D9C00045BD4156C48AFA014906BC3E11709EA36A +:10D9D0005B76DD840A6E8F9F51A21ADACD672271C1 +:10D9E0008DF693022F2D0535DFC679FEABB0CF59EA +:10D9F0005D2DDDBF20F90E226642179B8774FB6206 +:10DA00009BDC88F66599D94B268C05E7BD81208F74 +:10DA10004BED1AD88CEB04EC7F1DC7355A972C9A26 +:10DA200044FB439919068E9F8E4EA2F199BED9C828 +:10DA3000B4BF2BE0A3F61336A5E81CBCA715F6313E +:10DA4000C5B86F4A338C1F981091232807E44D46C0 +:10DA50000BAE8716C97808E3A1CDC91AC977B0FB08 +:10DA600069DDA7C66A7B909F5808EC3DC0E7DFC41C +:10DA7000FE8AF603608F33FFFE85688F5BF3D30465 +:10DA80009DCAC230BF8ACCFC2664CDEFCF3E31BFE9 +:10DA90004DB1469A5FD785CDAF4C9497859EF0499E +:10DAA00086BD1FF33ADA57A65C3ADE2B365A9F8BB7 +:10DAB000123F423BC318CA072D889F026CCFF8F96A +:10DAC000E3103BFADC71408F8AF7CFCC294CC4EDD0 +:10DAD00065E93FE1E7F165E9998783C58E7820CB59 +:10DAE00005F0A8C2D7EBA3158C1E344F04B8DD8D0A +:10DAF000D7FD30DEC7F7986C8E81FEFC8F71FBD8A6 +:10DB0000D7AB98936C7199BEC8478E389FB7FD6CA0 +:10DB1000F8FDA4D847967571FA4E08AFFAB6CBE671 +:10DB2000CF5F11E0F7DA5604B8DF6942579CF681FF +:10DB3000BBAC77EE42728AEF1F791EF68FA9ABD08D +:10DB4000AE6EEB4ECEB3ED1FFF26FC4ED9FBC832B6 +:10DB5000BCE20D2848A54ED3FEDA84FD28DE7B49C1 +:10DB6000998D8577211F98B12AB4936B2ABE7DB415 +:10DB7000065393C39BC3A224D7ADF487627F6DC9BC +:10DB80007B26BE67D3D98AFF8C1C4A8CBA2E84F2BE +:10DB90003A44712873DE5642B110BE4BC0F3C7033E +:10DBA000FC3CD0D52FD37BF3AEB446FB33CBFFE5A3 +:10DBB0003AB625FBF78D8E0770FC379C7EB3C1DF2C +:10DBC0008D783046FBF632E13FE94DCBE4374885AE +:10DBD0006205767CE704B97F47ADD0E89E5CFB54D4 +:10DBE000E7EF59FD2DC0DF91FBAB804F4973F8B6CD +:10DBF000A27E05BDA85C3283E4A7DAC7BFAB5D8C0B +:10DC0000BFEF3132DCEF07902F3E70FA0B2DB801D9 +:10DC10004E2FD67B41D0DFF26B791FE4FCE24FB987 +:10DC2000E8DEFE96AE18E9B37695FBB75687845FBB +:10DC300061E7F5F3F0BD8671E857807E9BBF98766B +:10DC4000F8155A546319FAADDBA7737E4F15C8C493 +:10DC5000EFD9F204F146FE17180FFD4DCD2C15A398 +:10DC6000FD3CF482F2694F2BC767D9069667C767F8 +:10DC70004190DB47E3043EB3F9E1A300975FBB2685 +:10DC8000DFB41597CB2E84BFCAEE17E1F2B126C2DE +:10DC9000E1B7F8B8BDEDF837515FB45FA245B87F82 +:10DCA000BF7729CEAB65B3467AD2C23FAD38FB3BD6 +:10DCB0005445DC9E505A055FE1EFF7140F4B974F28 +:10DCC000051127EF0FCF4F29E1077EB2EF5739F14A +:10DCD0008A91ED51CBEECCB62BCFA2BE44BB560100 +:10DCE000C3A93263675AFAB2454AFE96DECDE9D13E +:10DCF0000CEE1F48115D5D17FB697E8F2ABDDE4A61 +:10DD00001256263F2F177C784AD879CAF6CBF9FBF2 +:10DD1000361BB87C52774AE7E3C3AB83E7E0C333F3 +:10DD2000965C7EBF984547919DCFE56D35DFF7073F +:10DD3000523C1FD8A4113F06DE2FA57AD9FE99F6D2 +:10DD40001CCE67816D1AC5EDE09FC33F23FC329660 +:10DD50001F66887F26CBFF32E897C9F2D7FCC37EC7 +:10DD600019E15703BC931F66F74C2382FBA08CBFBD +:10DD7000E5FFB93FA63EF877F8635896BF25DBBFAD +:10DD800092EDAFB1FC2BF867F7DB64E36B2CC69127 +:10DD9000BAD0DFF27C7036B43FB146A678F484F096 +:10DDA000037ECE5FB9D09C03FC9556083E6580FF8C +:10DDB0004E88DACFF77DD63A53987ADC2ECF87E1BA +:10DDC000C38782E790E3CF083E3CB059AC2B117F6C +:10DDD000FBE8634F78F01EF623422E0FEA6BD4D394 +:10DDE00036BDEC473D1DBC003D7D8171359DD58C18 +:10DDF000E69B2BE61D14F3CE15F30E8AF9768A778F +:10DE00000183739CFBEFCB0E66EDC745FC4FA72744 +:10DE10001ABA1ED7D71C99E2362F3FEAACB7A8F83A +:10DE200085D00D0062EE4C59DC6312EDFCACE0468F +:10DE3000A46FB5427EC3D9679CED32F08BFA3A8766 +:10DE4000EB33EF9FA75E88FBD7B2E19FEF710F0F17 +:10DE50007F385AF0D95006FEABC2CE7A4B97BF50EE +:10DE600070F370F017B1D14BAB32F05F5BEE3E3721 +:10DE70005C0687FF9FABCF53AF7478F86F583402BE +:10DE8000FCE57D8BF0BECACD4BCFD3AFA0EB6DB51B +:10DE9000E7AEF7F9FAEC71CC61E3F00F34C66A3102 +:10DEA0007E6CAAEBCFE125FEA1FDDC2FC9E21D8F20 +:10DEB00001668F53F4E6723D7AB2416751DBEFFCA5 +:10DEC00075764C5D88764F6E726E0BA62B3B46B115 +:10DED000E8307006DF9FC8A2D3ECE3A5B87E9AD9DC +:10DEE0004F4671F0FD8BA9FC648387FAC7F1713F3F +:10DEF00037B47FDF08FD8F3D4FFF45546E3FDFC6CF +:10DF0000386BEB7CDB95FBEC6BA8DF9B8B3403ED74 +:10DF10000B2BBE3B7B5DAA451A8FBF0E2D880EDEF4 +:10DF2000FB017BECE25CBE6F5431AE1ADF05DFEF24 +:10DF300032F96FF838EB35C956DC603C6CC7EF94AA +:10DF40005C6EC778520AFF3D22254EBFE369952FCC +:10DF500014FD374911FA5D5F739C46FCBBE50AA7C7 +:10DF6000FD788DA8372B57EC43C5EFA7A9FE9F1C62 +:10DF7000C57DB46AC5038414473CC035B831E7F1A8 +:10DF800004748FC6C2CB48F59BAE6024E79B0A5849 +:10DF90006A73F185F73F25D7A074F25E8D3B352E6D +:10DFA000D2E81EBC35DF2699F76BDECBF759451E4C +:10DFB0001ED703F64F94EE0D499E9475EE82F7C27C +:10DFC0002E12706E2963FBE4CB287EE5B09BEE4FEA +:10DFD000D485712F65166A14375F1AE6F1922DDB2E +:10DFE0009989BF7BD0D2EC37F17DA1964009FD5EC7 +:10DFF00049CB877CDC96CF19E46766D1A8111A9DBE +:10E00000B92F81EDF2B1DD54516FB94EF15F635913 +:10E010005F0EEA2DABFF21F1F3FA85FD7E4D499BA2 +:10E02000427113EF306F04F9AF29AFCE8DA1BDF56A +:10E03000C919E5CCF6BE14FE8E9FFD1DDCC408E7B1 +:10E04000EDD7E6737E7A24AF8EDE3D3F20AD5F6A6A +:10E05000BFF7F07B9DAFE7FFC8E5FA8C55C53C3CA8 +:10E060002E29F12B8C936AD16503FD432D7AA307EA +:10E07000EF5BB474C8BA0478D81B5EE2C17D9BD94B +:10E0800025EB65946FA4FA26D4473A1ED66BE8DEDA +:10E090005DA2439E86F74F01918BA75A7E28F8DB3D +:10E0A000DB2573FA96B35419E0AFA7ABB2107FE744 +:10E0B000EE627D09F90F0E77DE27A3DD017A8F8DE1 +:10E0C00091509FA74DA48FE2FA208ABA3A59255F52 +:10E0D0008FD747F60ABB68A16B4EE135507F5B4A8C +:10E0E0009171BC43DDA78FA8E8C7AE92E9CC3EAFE3 +:10E0F0009FBFF3F2FD5CBE0F57C4EF677576F1FD6D +:10E10000A777A646E77CFA02E77B06FE39CEF769D9 +:10E110000FCD9C41F57BBA35FA4D4B6FD6FDE89E8D +:10E120005B8CF1BAD8DCA76764DEEB3BD2F66B867A +:10E13000FE1685D9FA47BBA83C42EFB1B10E3FFDB0 +:10E140002EF37761DDE2F9C07E392AE37ECAFC1D39 +:10E15000BF1FB76F7B8BE377105E1AC5D7F7D60664 +:10E160005686F136E5C5728CCE89053EBC7E1E6FA3 +:10E170006DD1373B2D695B70EE77283D131DF76637 +:10E180002CFEF296F7C9F83E48CD93FA541FC00F03 +:10E19000543ED80F706E9B3B7E2A6E352C7EFBC999 +:10E1A000CCD33BF077B6EF3DE0273F6FEE316E57B3 +:10E1B000EB221E66DBA15B18DEABD7EB4365F81ED6 +:10E1C00057AE31BA0CDFE752CBF9EF6578EBB532D9 +:10E1D0007C9F74E1F72B1CEFBC67A7F737E865F865 +:10E1E0005E5A7B83A70CDF45BB5FEC8F3EF5FDC518 +:10E1F000F47B8356BD7E210F07E757EF8B246C7AA3 +:10E20000C29FC7F107FAC6F17BB83B04BEEE1FE11F +:10E2100077DCAD7256D57B14FD207B1FD474B4DF40 +:10E22000E74EAE223EE9ECD074E4C79ECEFF6EBD51 +:10E230001DE5D62F5DE40BEC797046E12ADBBC2CA2 +:10E240003E1E324FA16FF78F351F92286E74EFD5A7 +:10E250001817B53FC77C8847AA74F33C0A28DC47E7 +:10E26000B36F5F8DEF16EC47C15D08DBACDCB557D3 +:10E27000E3BE7A7F9E792BBE173BCAFD60DBE19936 +:10E28000902F337F8BE7ECD346B1F4025863FB8BBE +:10E2900079FD8B467DB485EA4FE67963D477AFC6C6 +:10E2A00038ABBD623EBE6E8DAFDFEE443EAED3F600 +:10E2B000C9A5E3F1778BFE2FB8D79FB5008000008A +:10E2C0001F8B080000000000000BED7D0B7854D57B +:10E2D000B9E8DA7BF6BC924998994C92C97B26241E +:10E2E0001030C1490869403C4E1E60784807440D13 +:10E2F0001675781A2090407D40C53240848001A375 +:10E300008D881CB413625AEAABA1B58A88ED086AFD +:10E31000638F9E13A945AD940E9143232A466B95B6 +:10E320009E63F5FEFFBFD6CEEC992480B7F77EDF63 +:10E33000FDEE77D2CF6ED67BAD7FFDEFF5AF35BD6D +:10E34000C5FD4E6665ECBDD695DDA634C6E225C694 +:10E35000D824F82FF0DD1A6F2163BD984E67CCD01A +:10E360003AAB2600E98AA2BC87E69732B6A347EF0C +:10E370003142D18EEEFC9B19A43F6F315819D4ED78 +:10E38000C80A3B7D50EF1BFCBB2AF2DDBEC199DF02 +:10E39000A267AC09BFF991FCF80267FE93058CFEF9 +:10E3A000BE81FFF4D6E874871476320F63D7C3F8C2 +:10E3B0000ACC6FA73EBC1BD353ADA3793A21EC9492 +:10E3C00060FE65D61C9E4EE6F3652C95E6BF338D48 +:10E3D000A7B35BED34FFD87974E83DE99EC24B9852 +:10E3E00087A8F7BFBB8EE1E070A9E3FF7FDCFE46A4 +:10E3F0008FE5E2ED1FB10272255FA01FF7A5F5F3CF +:10E40000CFE2E3FFB4FFBFDBFE7A6B2EEDF3C5F185 +:10E4100001FE6F02632364E6EF827D6FF1FCC2B4FC +:10E4200040C3777E9324533FE1118CBE8C75315FDE +:10E4300002F0B36DCF99FC50BF737D8FC9AB63AC55 +:10E4400039D8649F0EFC6B67B3CE23B9182B289A7A +:10E45000F3BB5C4837B5C95606E9A6AFDEEFCE750B +:10E46000C0B75CB66E82F40EEB2F287D4F8BEC416B +:10E47000D6D8E9906B8230EE3D8E39718B2C91F1BC +:10E480003BCB211FC769EB752ED5CC6BA7C46ABBEC +:10E4900020CDD633E6857EB667E6EEDBEE8E943F82 +:10E4A0009E24D1BA76EEF8457339CCA3C32AD39A09 +:10E4B0005F9E38B5FB2A9CA7557619A1FECBD6DE08 +:10E4C000E69138CF99B2C708F31A25D2F933150F60 +:10E4D00024D9686C04FD275A593004F53B9AAFAD36 +:10E4E00034437A4B0D704FA89058DEB506F9B6CD7F +:10E4F0006A613A5C488B9DB114C8377118BF54B833 +:10E50000B0FB2AA8DFE984F1A07C0BF36DC7FE0302 +:10E510006D32EB74519584E2321A82FEA6FE1C160F +:10E520008B72A19C05717ECA89691FB0718CAD493F +:10E530007213FC1DE105335922CCA365CEF491D0B2 +:10E54000A8A55C613AE827C9A7F4864D917DB5D5A9 +:10E55000405AB3CF163DF362BF962B0DC1007495A0 +:10E56000C834F5719C98B40A474BA1293F4FD3AFEB +:10E5700075B2352AAD30EF7FDCED26BC988E8B6806 +:10E580007A5066B80F1DAFB0C7D8E5B0EE2E85162D +:10E59000B7C361084AB0FE263D8767E07E25D809EB +:10E5A000E90F3778263701DEB2D687086ECBB16F18 +:10E5B000584FFDFE9EE93658E7CE5299EA6F6D92AC +:10E5C00083A3512EC27F76845F8225D8E9A60910E5 +:10E5D000BCEE497006B743D981A70C940EE45B8268 +:10E5E000F990DEC6BCB90CF0B3FBE9E5AD15D0CFB0 +:10E5F0009A3774246F9B764E7DE77182BFCF391BAB +:10E60000F079BFDE5380F2DB6B776D3383AC3B2058 +:10E610004B5C7E43162B87D5B51B843C3FFB5A755C +:10E620001E8CA7CA77F6D936948FB84C5ECEB657F3 +:10E63000C0161EA854D3E7A77927637F4CC853C6DA +:10E640006458E30183DAFE97D3EA3269BC193A1BB6 +:10E65000E0C703FA6D96B4C87816DBB4D702305E13 +:10E660009789DD4B706B6356849BDC16881F0769A6 +:10E67000638B3CFE6A5887312427CD443CDB2197CD +:10E6800021FCEEB18EAD26F84FEC29290478F4FE7A +:10E69000CA0253836F82A516E9A963BFAEE627308D +:10E6A000EFB32D255D6BA1DD594B7D0AD2ED138AA9 +:10E6B000A716E1F78465694A00C6B9294947740479 +:10E6C0001CC089749F27B7A6A39E50747F6B7313D9 +:10E6D000CC3B4FACA3F647BB9A03D8AFB56B16D271 +:10E6E000F58E4C990590CE1D6B4C7ADC9F02000094 +:10E6F000EC57B1AEA3C68DF89D2FB34D1A3EB6436D +:10E70000926A91FFE425DB098FF2EEB14B4C8387CF +:10E710006D7699E6D1E111F8E360843F4C81F940D0 +:10E720007FFAC7CA3C8877462B2BC175EB331BBDDC +:10E730005E0D1F51BF1D76CECF9813605B26581A11 +:10E74000CC33B9FCF85D48574D06DF1EC2B7EB4C21 +:10E750006C1FD2C5D38B24064D3EB4723C536E76EB +:10E7600011FDA4341B033AA8AFC86C06D6BF27938B +:10E770005937A2686D369ED28D23BE46F53BFD2CDF +:10E7800088EB4869914F19213F39FCE906A4E7D489 +:10E79000363964C074AD81B934F4947AE2837FE091 +:10E7A0003C5299261FDA3F99E89B6583C91A33C307 +:10E7B000CC5FC8F39D30FF7831FFF816396084765E +:10E7C0004F6DE4F3DCBA8E0571FE506E5A6BE7D5DF +:10E7D00019D437083ED3FB2BF624C2C9606AE9C1BD +:10E7E000750CC0F5360E5743F3D6D5B80E4321CC81 +:10E7F00043C3476E494AA17DC8645D121B0970611D +:10E80000ACA64BCC4781A22CDC1358FA475DBF372E +:10E810002FB4203C1B6B7DF0455D13C74F62BC5C81 +:10E82000DD8F061BD74762FBC916FDA8E94744BB2D +:10E83000032FDB6714C23C1FBD2DB758C708FE7EEF +:10E84000B51DF6EFC076302F87D5E41D03F34F4892 +:10E85000E2FD1F886BACF30D810F762127EE798DD9 +:10E86000052480C7814DAE150B107EBB64B60FBA70 +:10E870007AA98DEF636F29E7C7BD5E0EDF4EE0CF4B +:10E8800088079D059EDF13DDD5E779368A69046028 +:10E89000BE36FC0788E04E8F8FA13E657330AF19FE +:10E8A000E0DC99E9E3F0507A18F21D067B0C14CBFA +:10E8B0002CA2BEAD34B01AF1A3D3D463029102747A +:10E8C000E4998EF2A2739B64DD47C008F376022EB2 +:10E8D0005601174B396F676D96681CEC17F9296D57 +:10E8E0003D00CAE278F64E09CBDBF837C917BDAF59 +:10E8F000C48F10EF9703DE48283FA2F17207C207CA +:10E9000074807485D518A053C96EA2FA9D4B002E51 +:10E9100050DFE28DE92FAEA77619F6B7DDC8F60114 +:10E920007E66AD8DEE2FAD39B512F12E2306CF7F69 +:10E9300065B3D17EA575EF9923C33C772E66B20EE1 +:10E94000C765016F9D9DF6E70984C7D61499FA4DF6 +:10E9500077D82B0D89A837C824DFF48B0BF7A11CBF +:10E9600056F757EFF0B19242AC67AD1C05F59EB07B +:10E97000F3FD833D22F991DEDD7F3BD25B5A5DF4EE +:10E98000FC98765EBA8BA7F5A64460C8F08D59CF87 +:10E990005ABB5BF04F8E17287B905E41EE305F11C3 +:10E9A000D04782E77705389F318A07F50123C02CCD +:10E9B00013E6A87F520EA4427F46F822DFD07729C3 +:10E9C00081D18924EEBC087F7DE6D7462DBCF7FFB8 +:10E9D0006A72BA0BF9AF9E111FD5097D4E85C335FA +:10E9E0007603CDE31AC1FF2A9FCBACB2C0583BB32C +:10E9F00018E93D8C1D24FAB943CCBD490EEF8E4772 +:10EA00007EF04723437E50D21DB8F1DF209DE060A9 +:10EA1000565CFE56A5D164D3E863D04550765EFCC3 +:10EA2000ABEA0583F2774C2D40BEA6A6BB4225710A +:10EA3000A85FEA43B22A37BDC80E347239609A8C97 +:10EA400072D77A9902BC65E10365DBF4575E40CE6C +:10EA5000062E23395B9CA9A6474FF302303B4CD6C8 +:10EA6000CBAC4044F10F7CD36DCA82FE4A4539AB32 +:10EA70007A0DE547AC1C2ED2F58C3541FD5DD6C430 +:10EA80006DD557229D79E2502E5E74DD8A270EE9FE +:10EA9000B92364E7E3D9D934F3848B8F07F0EA42D2 +:10EAA000BAEBD8719CF87E42D0E00D0EC1C79C48ED +:10EAB0008FB0AFADF15EBB7DC2C5F1C129F0E1B849 +:10EAC0008DF3BF221D6BEC1AA2DF7176CE3F8B3A1D +:10EAD0000C8DA89F573E6721BAEFDD71FD63C80F0B +:10EAE0002B47173E1A8FFAF5BB37E8910F14DA154A +:10EAF0002EA79FF78FB61253F3A4237CD0BEA5F5A3 +:10EB0000FF6A3E541A0C1F3DAE6B88FC3CBB59D0CB +:10EB10008FE7C623A5340FB61D0A9FDA04FC7C08D4 +:10EB2000FFC89576C1CF3700C210B185C95EC94B09 +:10EB3000F67991C9263AFD01FC1A1C32F30E614F99 +:10EB400029E733983729926EB77A69BECAF96CCA39 +:10EB50004F547C57217CF73C5B3E0BD835DB23B30D +:10EB60003A943FA923BC157680D3E7CDA505C8C745 +:10EB700063E7A57E9B36B826A30E3C9016FB135B7D +:10EB8000EFB6111CEE7F4664412545F114E03A6270 +:10EB9000F1AFA49411DC148555235FF8B6F8AC7B73 +:10EBA00039EE14F2615D0BE733BA135B3F45B90FE1 +:10EBB000769582FCC0CC41C466C9FE5B707D8683BD +:10EBC000BE503CC05F67F1123EAA74AAD2D5771F2F +:10EBD000F8EFE60BF65B37A8DFE517EAF7806C5D28 +:10EBE00081426E61E0BF4C53B334FD86B8BE33D072 +:10EBF0006FE3A07E6FC77D1AB65FA19F2F7CE07C7C +:10EC0000736032EA4DA0A70C814FBFB571BD33963A +:10EC10004FEB914F9770FE9C9AC8F935CEC7887C10 +:10EC20007ADCF07CBA07150358AF12E27051703DE0 +:10EC3000F8C575407B83D547F21CE6BF13E1C232AD +:10EC40002505E5B8BA2E3447100F601F6B8343CCFF +:10EC5000D76233087A8EE15338258DFCF922D1FF33 +:10EC600030F66F74F07918337B845EC9F5FC7F56FB +:10EC7000CF2E137A5DA7D9B3BD12DA2597C9D60076 +:10EC80008BE8CD4F6DECA92139FEA0EC41BD66406B +:10EC90003F16FAB3AA8F2B329FC7CE36791FEAD719 +:10ECA0003B5BE4017D1BFDA4BD409E6698C78EE6DC +:10ECB000F1A487EDAC57C82E1FA4573B40DF86FE5A +:10ECC000ACE5B2D78CFAB73FBA1CF4EB17101E9D17 +:10ECD000856B4212F4736F39B7EF63F5DF58BD29C6 +:10ECE000564F8AD58362F59E8CC6E8F26FAF777077 +:10ECF000BDE152F50FFC1B4AEF203D08E564E0FD45 +:10ED000066B45FC96E80F4FA07DE277AE8D8312A44 +:10ED10001BF1A157EFBA19F5D75F08FFD233E2FB19 +:10ED200095E04F6AF9B3C20F757098F243A2FCB038 +:10ED3000F8C696FF5AB40B0DD3FE8868F7F230ED93 +:10ED40005F15EDBA8729FF9D287F7D98FEFF5DB492 +:10ED5000EB19A6FD31D1EEAD61DA1F17EDDE1954C6 +:10ED6000CEF9FB1F45F98998FE4F8AFA6191FFCDD4 +:10ED70000817E5771495A62F073C8C6FE7165B47BD +:10ED80007B931DE5906AC7E05ECAAADF4817A1BB66 +:10ED9000B53661DFC25F5359C43E50E939B19A05B7 +:10EDA000918E54BB43B50F76D9F8B8D6726EA7C012 +:10EDB0004E109E745C043EFF8D1DC0777F11F7C717 +:10EDC00021DE2CD1F225BB9EF8D1FE620E87C8BA97 +:10EDD00046C9EABA64C8370A3BED1BF433627D5B6F +:10EDE000A4BF459AFE3EB4737F44C745F0EA2F7630 +:10EDF00016556FB8FDFF52CCBFE322FBFC4D4C7F94 +:10EE0000C3E1EB8731F586A38BF763C61D0E7FFF49 +:10EE10001AD3DFD3A2BC4B7CDF13FAFCC5F0261655 +:10EE2000FF3AD00F07F2EFABFB366F43BF8DFEBC4E +:10EE30009B79C7630BCEFFF7D8797F7AC5C7AC54EF +:10EE40009E47E53D362BCD476768F5144A1CCFB485 +:10EE500076A8B585F35707F3907F40C52B3BB34A9F +:10EE60004C17C1AB61E5F860BD6355D210FAC1C55E +:10EE7000FC651DA01791FC9A6C223BCFA130671254 +:10EE8000C25237D3837EE41E2BC7A38BF94D2FE6E6 +:10EE900027BD987FF49EA404C799CB18FA3F3CC8BD +:10EEA000A7A7FEBCF0811A907B6BDED491DD75675D +:10EEB0006BC0B88C0D969F8A69E4E426D037EFDDED +:10EEC00000FDE747F4C4FB3640FFB0772D0AA7E703 +:10EED0008EC9CE76A4E7E7859FFEA59612D2537A17 +:10EEE0003D32F9397BBB3B4D28673F2F95698B0A33 +:10EEF000F42113FA8D7B0B650FFAE79A9B47EE2CF2 +:10EF0000473B3EA8901F3EA2A73AF3B57AEA286B8A +:10EF1000632596F77A2A4D884F4D5F5599900F6D6E +:10EF2000B5F69A5C85E8AFE67EFA9DE5C74CE8BF8A +:10EF3000EFF440BE2592BFA37468FF7DECBA7F69F1 +:10EF4000E5EBE810FEA0CB8EBE66AD82F92D6CB16C +:10EF5000179B5D1C7FD0FFF19E95EB65CA5A5DFE45 +:10EF600069C04B0BEA0F80470B415F477C56D61AAE +:10EF7000783E03F81544F6EBCF568E8F80820189D8 +:10EF8000989F3552AE1BBC9F6AFDD87D55F5F11692 +:10EF9000253087F491A0C23642FF2F39E6D4B8510C +:10EFA0000F11F0DFD9AD277FC3E78087E807C4F3EF +:10EFB00015FF10FA920AEF30D2F184C170DFAF0F63 +:10EFC000D0F9E091F63B9C6184FBF3FE1CEB10F062 +:10EFD00053BF3F10FDC032CD684701DCCC7239C849 +:10EFE0007974C2839C7F3B694373007476BD8BEB5D +:10EFF0007FAA5EA90F2AA4870DE8A7278C44A77AC9 +:10F00000879FE1BC15D04FF10B74D99B84FDAF6590 +:10F0100043EAA7AA7FFC745280CE8BF52FF3FD51F3 +:10F020005C9CDE557D59C1F190FE99DF2BB9910FA3 +:10F0300008BF6A649C4F90FE99458AE20B03FABCB4 +:10F04000F0BB4B8E8DDD38CEB07C65B0DDF1F7A422 +:10F0500021EC837FD64FFF2DEC13B36328BE26EC43 +:10F06000924F9336D1FEE0810297E75E8B04EDE389 +:10F0700006E0BC9AFC35B70B9C8C13E7425374FC3A +:10F08000FC68C49312F92BCD0185F6312EB0693599 +:10F09000FAD350BC22BEAEE89482E8DF877282BF0A +:10F0A000DADE5C6060210DFF73078D2CA4C1FB6567 +:10F0B000AC85D6B302F4CC90860F2EC373AA442C31 +:10F0C000D7B447FD53377F04EE6322E2C3C4C1784F +:10F0D000BAF644FB152F6BC6BBCC21F8E577D87781 +:10F0E00048DF15ED87C3F32F3704AF7819E8E62A18 +:10F0F000C95BECD09C6B33646AB03FDBF2BF18E3B2 +:10F100001F824E54B82E5A5BC5DE073EF1ACC15A81 +:10F11000A1A07DF7A844F6DDA26AD7C130743129D9 +:10F1200028911DB068DD8AF1C84F269EF618F07C44 +:10F1300074550FB7BB5375AB8BEF86EF8347D82D54 +:10F140003E915E8D7694C5EBC2F385053814B4FF0D +:10F1500048DF586C45797493C58BF6D482B9DE7755 +:10F160002580D782F9852684DB822EB397BE26A61A +:10F17000C4815DC9BE82D543FB2562B71728CC8404 +:10F18000F9A906A698E1FB5CDB6C830BE82C358EB5 +:10F1900099305DB609C6473897FB687E0B0EFFF4C1 +:10F1A0006FD8DFAD4AE82589E83B48FC60C1E1D76C +:10F1B000FE8E7EE2255E306490BFEE37705FB180D8 +:10F1C0007F515774FAF283D1E9E250747A7C7774F4 +:10F1D000FA0D544801AE2FFC43C7F0DCA7FF67F1DE +:10F1E000740EB102F4CF7FB1F369A0EDBCFC89A22B +:10F1F000763CAF7BF6EBEFFFF96E48F7BFA1233B00 +:10F20000F0D9B1209B117E4A301BE77776CFCF1E15 +:10F210007D18CFA71E4F45CF0E3BD2C7CF0357EC6B +:10F220003192DFF9DC06CFE46A908F552B0E67230D +:10F230005F3C77F0978F62F9874F1B990EC6FD50A0 +:10F24000F8675EFAE3A1337B70DCA7E38B912F7F35 +:10F25000F8D473A3104ECB9F78317B8105FB7FA23E +:10F260008CD28FFF6C1C7ECFFEECA7A31690FF2ADA +:10F27000988DF246ED67C593E6534900BFA5E72C8C +:10F280001624A658BCFAB6FDAE10E7172B9EDCDAA2 +:10F290009304FBB5627F4200BFCBF7DFFB29FF4A37 +:10F2A0006FF2EF462A5F0E902907389E49E0FAC0B8 +:10F2B0008AFDC628F88FDE1DBD1F6382D1E9A53007 +:10F2C000DE2F60BC8273F3A7BBA1BF337A2E879772 +:10F2D0001A98FF00F4D700F978EE7A4EC8DFD8F517 +:10F2E000051D5C2F6D38183DEE2165E8FA3F717001 +:10F2F000795E80274F1ABE906E1CDADFF8A4A8FF53 +:10F30000F8E303F575DCEE05324A41BEC3E9E905D1 +:10F31000F5FC9FB1DB32804E562072E446F2913FFD +:10F32000B1283BD83302E17D8383EB0D5FEA39BD21 +:10F330009EDDE01F7F1AF8C7990D8D63AA35FACEBE +:10F34000D2DDAB5F4D037CA93F905C82C3ABF9F586 +:10F350003F3B9A88FE8EB15D7AE29B67F71FDDB571 +:10F3600004F1B34BCF908F43790A967FD4F54AE2EC +:10F37000F7207FE95E5B099ECFABED6FDD7DFB98EB +:10F380006A2DBFFB96F4A7F2857A2B87C373E53D00 +:10F39000533380CE56EC963C586D45D775D75E8377 +:10F3A00034B857E7C987F23285F97425B88E5FBD46 +:10F3B0009A0EF90D2F4E28C3F5401773317FBBEC21 +:10F3C0009B51847CE951BDA793E777CB805F470AC7 +:10F3D0001E30F4C23AC20EEE4FDD7EBDA50EF538EA +:10F3E000E8EF6519DA253E267945FA1DACDF57D9D5 +:10F3F0009588FAFD077A4B33FAAB3F4868FC3DCE5F +:10F4000023F014EF9785F8BC9789F3FDBAC37A927D +:10F410004B0D9D9B13F1BCFCD9AF7592827CA05320 +:10F42000223E70EBEE68FCAA83BE9D30EED9F60456 +:10F43000EAFF6C72301BF59FB309C16C3B6F4FFC48 +:10F44000AF6EFF6FFF8EFC6E5930BA7D2C3E28C91F +:10F45000926A271768F16A30DE3045298B94D7AF5E +:10F460000539A0F10FD79F6E35A03F79D94CC30560 +:10F47000C703BC642E828799EC91156359B5AB84A0 +:10F480008A2513F47F16FF05F6D28A39AC46CDA73C +:10F490007808710EFAD713BFDDA903FC4EC7CD4320 +:10F4A0009FEECFE379FCC4C706921B67FB408180C7 +:10F4B00075AF728E9F5CAD99DF47078F26E2FC3EE9 +:10F4C000728512ED00AF4348D798B6F2F48ABEEDCC +:10F4D000E477DCD87534318CE9AE243A973BF49468 +:10F4E000649701CE1FF5FD249E0D41A7CBFBEC9543 +:10F4F000787E1DCB7F54B97A0AFF09F27E4CB23771 +:10F500002F19F5443466401EA7263516370ED19FB5 +:10F51000DAAE30D945DF05425F48D5ADA1FA3352A6 +:10F520007D97633FCECA1EAF0EE0E89CCE3C9BA108 +:10F53000CAFB3ACF1DD6912827FD06B22F9B9269B0 +:10F540009C5B19EC0BE42F52584801FC5C84F2766A +:10F550001CA5097E8BF64BC1CD3046428B31EA1C8F +:10F5600060691BA4B5EBD9AB2907F82F43799A48FA +:10F57000712A21F4B72D7F2CBAFE0A16A271EB9FD7 +:10F58000FCC6A8ED97B156A18F7B0DA81FFF4DC0FB +:10F590006746AAB706D7E510E7AFFD6FE8B9BC64C8 +:10F5A000BE7FC1F5AC10F27B89F1255A5FC3BA75F5 +:10F5B0006316831EF2C9DABBC62C4E12E7C648EFAB +:10F5C000BB258E57D52C9405F3BB51E8352B0E4B3C +:10F5D000A122482F8175A3FE30E94929907039A4F2 +:10F5E0004D2C908878F616DF977AB11EAC37A204BE +:10F5F000E117A0F11688FD58C67A685D200136A78C +:10F60000C078ABFA802740AAFBA5B21188377F05E6 +:10F61000FE8AF408FA0833DB07EF6F2C5CEBF6C6C2 +:10F62000C0590BC75C845FF4BEAC7A06E039049E17 +:10F630003D28F8FD49B03B701D117CDA48F07E7022 +:10F64000A3C4E54460F63CE4D3BBE69595E1F9D16B +:10F650007DE8874F171D95231F64EAB962C804E34C +:10F66000C48D1F485379D9269EDE90FC9BE9BB418F +:10F670002FDFA5F7A7A15F64D76CD077B9BE62462C +:10F680007D659DD3DF84FBB948E77B158F2A4F57F3 +:10F690007847115EAEE5707EA8A4714CE305F4D105 +:10F6A00054139D0DF2F9A1FE5464A1F3F8349C1398 +:10F6B000E42764F3FC847171C14D909F2A838137E4 +:10F6C00004BCD56FAA02E6B09DBE2C01BF183A75E6 +:10F6D00081FAAA9E988A4A12EA9B631B0F207EA594 +:10F6E000DE5C58B2D91D99E72E09E810F5E5BB2577 +:10F6F000E2EFF1870F8432A0DECA1A974CFEF71BA7 +:10F700004E1460FCC781642E3F4608FDF8618935C0 +:10F71000A1DDED047C974A307D7FDA1AC82F7D4643 +:10F72000227D7AE53315BA95165A3FD7A7E31BDB3E +:10F73000651CFF96021A1FF6E5963990FFACC0CB08 +:10F74000340BC757E7A6801BFB1971C4B7FA1582A3 +:10F750005B9C07E303109EB46E136B463DD9C9361C +:10F760004A586F4B32C78B2D0B582DEA43001E654C +:10F77000849D7FDFC1F8068535E939DC94389EDF4A +:10F7800084E33C98C8E7952CEB6E998D7A7F094FFE +:10F79000DBD74BDE7D448CF7F37D34B21A5C27E671 +:10F7A000E3BA601ADE03160D7CAB1A8B711EA92317 +:10F7B000F9F7F5B029A003BA7CDDA1EABF210BE27D +:10F7C000133B9826A3DCBC4DC8FB4FF4DED4F128D4 +:10F7D00047DED453FCA0233BA67E5E818C72E336C9 +:10F7E00021673FF7548D4026F1B9C53BC206DF8340 +:10F7F0007A6E27C4EEFB69B14F0DE7335850233FB3 +:10F800001A6ABF203BA1E17C7654FE471B6025A30A +:10F810003572B0EEC854ACB792F56C41BA58D9A560 +:10F8200063410DFD1E34F371BFFC9391F8D5F7B71A +:10F830008DDC87FA792CBD369CD7B100D0DE153A25 +:10F8400099EA37D41AC88FD7D0AC6BC7F39E86F32A +:10F85000065E9EC3FB6B389FC4021854A4B812E71F +:10F860001461BB4FB72CC1FD7F51A2F89D86F329CF +:10F87000BC9CB91251FF6B382F51BA57E172B0E1FD +:10F88000E097627D0ACF0FCA817CD8879920479183 +:10F89000CFF602A809CF0FEAC4395838713CFAD71D +:10F8A0000E8E24FEF7D10660A4A3A91EE9BFE7AC23 +:10F8B0006192ABE9789E8E69174FABEBC47284CF2F +:10F8C000B95A956F8414DC9F3D9E9714F4A3D57BA1 +:10F8D0005E9ACA34781281673C0B68E099B2B92706 +:10F8E00024DB50271E716FE11840B9232ABFB2DD17 +:10F8F000EB05FE94A293A3F857FCC0393067B30F11 +:10F90000CA3AC1FFECF7564FD6A679FD48FBA419B9 +:10F91000D5D05F69216F3F36C5F16F9B5086AAF243 +:10F920004CE9CFF62568D2A698B405D2459AB435ED +:10F93000A6DC1153EE8C4967F2FA378F084FD0815D +:10F940000D3921C5394301B9797346F876B0CC59E0 +:10F95000CBE6F419D5C0571795727EB4EAB0E4E14E +:10F960006E690EBF551E467AAAC51336E039427C31 +:10F97000A9E75519EAD51F94AC12D087A5EB40082A +:10F98000F94B3DB67369DA7571FDB6BEEB14B51B64 +:10F99000B6FF0299E87B7B412FD55BB9F66303EA9A +:10F9A0006BDBBEBADF877C7F96ECE27E4AE6F766C9 +:10F9B00000BEAF3A389BFC5A2A1F3D97E63D8AF3BA +:10F9C00009BC2859919E07E80EFBB544E842ADFFFB +:10F9D0005ED1E13F60DC41FC6D9F6E54A0FE9F56FE +:10F9E000FE65028EF71E5699887C393806C79D5FE2 +:10F9F000B7700CE6DFB432FF259CC2497DF8118C4C +:10FA0000C1FB7E8A6706DEEF389910CEC238CEDBA6 +:10FA10005326F17472F81184E7D9942B08BE27B3EA +:10FA2000C25932A47F90723B4FE7871FC1F4819483 +:10FA3000793C5D14CED241FB627623C1BFD3CAF9B3 +:10FA4000E07B317278790AE72B25F9DE2529B88E1B +:10FA50007A2E071F015BCB04FCF1E63DE1A73A617A +:10FA6000FD37FF209EE2533B3FBA76BA8FC3C7876C +:10FA70007A772A47798D3C54483F52E5A1BA0F095D +:10FA8000D93D2E921731F22A37D9FB614A72E45BD5 +:10FA9000EFE2DF0F535C02AE8DC52EE877FE7C8B64 +:10FAA000673BA7EF09887FF799F97AE2457C85459E +:10FAB000EC472085DB0D81146EA74E4D9EF221AEE2 +:10FAC0000BF4FB8009F771B681F4B0B6D9DEB43817 +:10FAD000077E53E440949F434FF64D5B31233ED85D +:10FAE000B6329FE20807F4FA1F71FB4085DF8DC82C +:10FAF00087347CB76D59551AF2AB36B7370DF98A92 +:10FB0000CA2799D2953CBB28C21731CDF9A1C4D3DD +:10FB10000CCA1322FD7C4FCF7CC8FFBED7CEF9DDC7 +:10FB200040BE04F98591F6979ADF66E3F351E561EB +:10FB3000EAE62E8AC74B7DC86D27BD01052BEA5F1B +:10FB4000F78FDE87705EE79C43FBD036FB27E685A8 +:10FB50008511FC5D98EF7D1CE179A3884752F10582 +:10FB6000FFD03FB7E847A9ED187FF0610AB7E34F30 +:10FB7000CBA05F815E7A9DD34BFBF021C83E3A87D4 +:10FB80004BE1E754F359F876A487FFD99FFF63FB55 +:10FB900073F29FD99F956BFF7269FC51D0E12E29BA +:10FBA000A44FE5FC91FB11207F0EC0E9D164FFA7B3 +:10FBB000299A73929BEF5A9946F12B623EF1773E58 +:10FBC000577303246F5E7E7680BF30D7607DFBE481 +:10FBD0001F4D2D18C772D2D04572E024D8951B91C5 +:10FBE0005F0A7FDF49B1EEB21FAC781DEDEBA9A92A +:10FBF0003AEEDF94383E0CE0D336CFDB770F8957EF +:10FC00003A6ED7BDA8233DBEAD38F8F0522CBFAE3A +:10FC100090CEDFCC027F00BF48CF617771BBBE2D95 +:10FC2000BF97E0D936911FADB6B97979DBBC51E405 +:10FC3000B707BC0A103F9C1747FDAAF7203EA9E56D +:10FC4000F72000CFF8B8CB64E29703E579B941DC3F +:10FC50009F08DEF527CED6E0CB27C28FF709EA4111 +:10FC60001AFFE627C26F00F23E714EC2A5E7AB78DD +:10FC700097B259C57B8E67A71F4825FF2FA823A3DE +:10FC800010EFC7A7727EAAF2DBEB9CFE71A91334BA +:10FC90007AB36AB7DF9745F8B93581E3F15E336B24 +:10FCA0003695607B57D4BDB6BD6067A07C01FBBABA +:10FCB00014FBB9059A1F84F42DA9FE5F8771DCB58A +:10FCC0002ADEFA0C88674B845DCFD647DBA1186724 +:10FCD0003390D60D4E2FF572BFF620BF01FBDA1818 +:10FCE000DD8EEB33F185FD7AC4EF87CCDC6E53E516 +:10FCF000D76E3C9783F5ED5E171F447A54EBFDF504 +:10FD0000A33819E3D267A7723AE97E7DFC08F47341 +:10FD1000ABF676ACFDBD0A9700FD36C0D8E8276E7D +:10FD20008873915FEE0A1DF79BF73F6F16F8E05D51 +:10FD30004071ED812C5714BE3C6CA4726C8FEB6A41 +:10FD4000C8636CB23D02FFDE67DC1CBF74EDCB50B4 +:10FD50006FE95F16C708FF987F19C585D6A6332CB3 +:10FD60006F880B67A3DEDAAB846FC678AAC0412325 +:10FD7000433A69400862BF817F6C40BF95AA6FA378 +:10FD80003F596BEF9F83FFEA4A227AB5AADF9F4370 +:10FD90007D5C9B8F28023CBF9E3765F5E23EC32AFF +:10FDA000F9D4A8351A3D9CA82885FCE74C7BAF0404 +:10FDB000E135B984BE2FEB683FC2653E0D1E0FD4FE +:10FDC000937BA9BFE1ECE655BBFF42F736563D13E6 +:10FDD0008D07F5117C91BE91707C0DFE68EC69D2A7 +:10FDE000CF91FEAB19DD5B4A10E9F89A9E20DA4903 +:10FDF0000DC29F937C243C15E928A1B48BA17DDD25 +:10FE0000D0C7E965D2E1F6A3687FDB6A7AE80A46E3 +:10FE100083F053AAF8A5CE73E2E1FB75685F1CF985 +:10FE200098E35565EF8279C88F5F884BAB443FD329 +:10FE30003AA7FF11A49701BF05EB22BEB3E821C981 +:10FE40008A7CE3053BF35A094EAE3C8453A5819F5F +:10FE50005FAC0DBB0B9768ECCA5FA0C301D6552DF4 +:10FE60007B1F4B453D779838D7AE542E272A4F9AA3 +:10FE7000FDA85F55C69989EFDDF7C0E87D46776438 +:10FE8000FCC5BBDC761CBF2B95EB93EB9CBEAE5444 +:10FE9000D2DF3C6548BF3F4EE571B29506571EE282 +:10FEA000DD0B71A99548CFD3D4F3AF40459E03F63F +:10FEB000BFD2C9613FCD640C25D0B958EB18E447D7 +:10FEC000B317C771FD8FCD243CA911F8B4C3CDF78A +:10FED00061C734EE2FFCBDD4E54079269B5A6FC331 +:10FEE000FCE979091EDC9F37255B16FA29D932BD5A +:10FEF000ED8C8942AAD8507812913F0A3BA3893BE6 +:10FF0000D821017FB7D397FC2EF00D607A571C0BD8 +:10FF100020FDEC8A33921E82E53C6EC1B517E5DA0E +:10FF20004C93D18AFEAC04F45FF1F65EF4ABCC34B2 +:10FF3000FDF61D5C37FAE3903F42B957ED9797B352 +:10FF40002EA413E6D17F3410EF02FCEE6133F7DF0D +:10FF500041BB00F24F681710ED427CDC4C1B9ECF7A +:10FF6000AAEBDBACEF2A26FA5E69F1207DEFAD0843 +:10FF700018B31DC897CDC5E89F7D2CC110B2C33CF6 +:10FF8000CE8A7D8679933DA7C6C5E5251A42782E8F +:10FF9000ADE29F62AE388BFBAAC263B319F607E5E8 +:10FFA000EC92380FCA459C87984F149C2270E17ED2 +:10FFB000F3993454042E80B7D5D6122D7C2C213CD5 +:10FFC000C78E85CB70F050D781F3B5270E86CB6EE8 +:10FFD000F9C00AE2DFE7E23CDC4F160327CC4A23F4 +:10FFE0007964702623BFF1937F77958979D1AFB477 +:10FFF000D4B89AFCAB75C26FCDD069077AC7397493 +:020000022000DC +:1000000022023CCF3D2E915CC073112D9FC4730E14 +:100010006DBA5EF5D3EE8FF1A70AF9B612FDBCF802 +:10002000ED8A6E079C9CE460C3C158BF75204A2EC0 +:1000300047FC589C2EF6EC7293BE1746604FC4CC1A +:100040004DB4CFE81FE3F2DE9B86FE985DCB724B8A +:10005000D05F12AF703D7149EB688AE745F98F7A3E +:1000600083EA5753E9799DB3B2D809FD64A45516C4 +:10007000E2979C3343C40FC4EA736A3DF4AB5DE876 +:100080009C610DF23FD06F263B5D94AE792D3F15FC +:10009000E5EA1AC995CAE5EAA8A8F4199D9FCE1900 +:1000A00054BFF832F4F3EB22705D2AFCE94B55FFA4 +:1000B00039EC932B669FB4E9E59A7D7269F7A99AAA +:1000C000851262F649DB6E15EC13B6C37DD2E6B33A +:1000D00036BEEE5B849C50F1D6B6BE5DC734FE865C +:1000E00011255EF73D28B75FD3937FF43F055EC2CD +:1000F0003E94A11E3823B5B20CE11D87764B21EA50 +:10010000EFAC0EF71BFDB173D06FB5C13F06E3CF67 +:10011000605FCBE60C2127B71F32D7219E2C71CA16 +:1001200051FA58A6534F69F2A3A39EB1CD28F456B5 +:100130005736F65396ABEA872E3A175F2CCE875781 +:100140005D6FF1637FBDC2CFBFDAC9EDEFD54E1E43 +:10015000E7AEA6D5F5A97110E827D6FA39EF1CA8A5 +:1001600077BFB84FE14F23FB421F342F217DCB6770 +:10017000407DEBB38F385E74772F227DE6B3DA389B +:100180008671061B059E2C16E7529F3197D0BF46FD +:10019000913EA6A607F4AC769DD0B31AFF7C37C07B +:1001A000BBEFF5240FE2FF809EF58141D5CB03A87C +:1001B00047F5758D117A95E4457EDAFF2B011FC650 +:1001C000EF6DF71DCE22BDFD0CC63B0028FB14FFD2 +:1001D000C34857812E7EBEDAA7EA51CBCF8E437932 +:1001E000DEC7381F0E1C36523C0B5302A43F9D192C +:1001F000D0D78319D76AF6EF90C4F971BD21340ABC +:10020000F5F53EA15FA969F5BC1ED378EFEB05C1FA +:10021000BFEBE3787AB5C9DF817CED5903B79BEA80 +:100220001321DF32143C383FE86B4EF5A0DC4278F6 +:1002300048E4AF4D88B253FA768F56ED14A1B74A11 +:10024000021EFD0578FED7D797427AEB273E03C5FD +:10025000F5F7097FAE0A874D1FFC2403F7A56F4011 +:100260007FE4EBDF25E6DDA677658F47FD09F536F0 +:100270003C876EE6716E0DC1F7E7A31ED750F7D528 +:10028000CD941F13E7F08914DE398AF8BB930ECBA7 +:1002900057597999BA6E159E0D420F658EFE94A13D +:1002A000F4C9860FB6F8282E8CF1F8D94982A50E2C +:1002B000AA17333ED94F655C8FA6F3C098B80AA63B +:1002C0004DEB06A7DF754A420E47E7BF877AD10498 +:1002D0009C47747FA7F581C44984AF32F18B956D3B +:1002E0000B96227E2D74F87B71BF0F3DB0B58CE567 +:1002F00046F074D28799649FB1567E0E7B5AEFBD4B +:1003000019E9D0561D322CD4C0E7EF823F2C320AB7 +:10031000FD1CF8A9969FA8E56595439F579C17EB90 +:10032000481071588C5D6B44B97F08FFE9D2D6E361 +:100330007AC7DF05FDE6F4717FF0A4BEFE97F0AE4C +:10034000657D5731C543E4AC0F11FD9FD6B310FA5C +:10035000894E3F2CF011FD99D0EFD272DEEF521D85 +:10036000D8959AF8ACE562DF961AC10E057EFBDCE3 +:10037000FE0A5D02C619ED953C18AF3A49F063B428 +:100380004F72503E88F89D3AD6B3250CFD2F6D6113 +:10039000A6728ADF0AEA3208CE8CCE2D12CB8314E5 +:1003A000C7A5C207E44A5322B45BEE0DD279456C6F +:1003B0007C04D3C63BE07EE0B9BC468F59D9BA8DE8 +:1003C000CEF907F480AED873FBAF8DD17813889245 +:1003D00093AA7CCC4D73113C55B9319CBC043D674C +:1003E000641ADF3F4EBF072482E74AD6C8CFE985AB +:1003F000BC8AD54BCEE8B87C5D6ABC9FBEE5696E11 +:100400001A6F390B8BF367AEA75C6CDFCBD3E4A814 +:10041000FDAEEF63A12BA1FF8962FE6ABDFAF52C48 +:10042000B4721CFFA23D0070E672DCC4E5387EE3C6 +:100430002E419EC7CAF158B91D2BAF530D5C3EAB80 +:10044000F8A13D1744BD65D2FAA00EF7F9D50D5EAF +:100450008A4F5A6B4A1C87F1665F9AF9378070455C +:10046000FE7FD24C7AE19D3ACFEE378124A66EE52D +:10047000F9ECCFF1E497DABC8DF3BBCD1BB9FCAC42 +:100480004FE374539BC6E5E10FD3387D1CC171F275 +:10049000F17E4D0D8D37D554AC205D4FB37E9AADB6 +:1004A000203E01DFB1009CAF16F8BECA18DA82E721 +:1004B0007147D356FED8C6E99F59A17C2AFE03F2A4 +:1004C0003FD6FB7F8A21F65398AB09EDED0293FFEF +:1004D00056C487AA51572BC83F36C5AF9A4CF1C4B2 +:1004E000CC5B9786E7C3CCBB2C8DF852A6F54CFCB1 +:1004F000603C54E757C5FAB3158CA3379DBA03FB8C +:1005000051E71B3BBFA36912B76F62E6556FF2FF5D +:1005100018AFC8C07CD6E17CD479569AFC87C32E2C +:100520009ACF0FC47CEEBAD07C14E6A7781DC59490 +:1005300010A0FB7B9178E57BB05FF66474BCB21AC7 +:10054000171D89E7E5DFA31FB35CB4C3593390637C +:100550000AC28BE3F1148BF114D2C5E6045680FA7B +:10056000F25116E7D904703CA26707911EA13BB275 +:10057000672551FF28E3741638C1FDD39289C7411E +:1005800031E67761DCE951B3D14B7CD9E58A8A1B2E +:1005900056E5EDD13F6591FE71C46CA4B846A84FF5 +:1005A000F947FE141FCC251B5813079C3B181F51FD +:1005B00085EC43BEB8A591EE7D38F17D0880D76FFC +:1005C00004FD32D623E1FC326F6324B759B9C7C4A6 +:1005D000CFF9B8BD5625D6113BBF2A9385E2C19904 +:1005E00025DA2E63AD0F79B5F03A82701C1181A720 +:1005F0000ABFD8790F5AFF6E807B9906EE266837BE +:100600008ECEFF59867D88F63176DD9729FEA3B818 +:10061000DF5FEAB99ED73FDB4472D25ED32FA13FA2 +:100620005AF523ABEB3C2A8695E32767621CE80961 +:10063000C1A762E7A5AE27769DB17050E77BB17583 +:10064000BEACF617BB5EEB30ED63D6F9BCC17712DA +:10065000E9E1240B17E1FE16A21EAB399754F9D439 +:100660006B488FF917E7578C357E87EF7FE3E5F806 +:100670009DFADD059F3BF08E5AA0E39AD741D64EF6 +:10068000BD7AC16D98F664DC758D05E4C4D42A8901 +:10069000CEA73F4FDBB413E3FCA7DEB0E0B664287F +:1006A0007F3F63D42C07967F4F12F7191B6661FCBE +:1006B000E5D45B2452AAD664427D0BDAAF7E3D9E20 +:1006C000AF5F0F048EFB01595EAD3FEAEB347E1F36 +:1006D000E86BB11FDF08394120417E5A2B89F7862C +:1006E000FCFA39346FBF1EE77DEC4AE04223B05F6D +:1006F0007F56AB46BF393ECD7893B790D7D39EEBAC +:10070000D8D339FF55EDE958BDC696CEF9B17ADE9A +:1007100088EDAF2BD296F3FBF5F6743E3F8B8BCB77 +:10072000379CD7DC22FED5EA9BC7E7554C4134BE47 +:10073000AEC0DD84BD3D6FF03BD327207FFC388108 +:10074000F436255C84EB40FA3B64A773E200EAD7F9 +:10075000011B3F6F9952E379EC4EF81ED7D3DB0FA4 +:10076000EC68A2B1BD09965029E6D9ADF223F86B29 +:1007700051F9AF9007F83E8DCA777FEB7E88F8FE7F +:1007800074BCB13112FD333DF49DC5FAE9EB6356FB +:100790003D7EE7300F7D3FA90897917D1DE1D797FA +:1007A000A723BFCEE2FCFAD5F89D249FDEC1F191CC +:1007B0007FB210E1FB001F89E18FC3F2119C5E4AFA +:1007C000E49C59E563921FF827D6DF12207E36821B +:1007D000F9AFC2F1335888D259C0CFC85E1DE0636B +:1007E000D1F432703E3446A2F39C87E213C98F796C +:1007F0006C8C447ECD17D477B08A7939FCE9F0BE91 +:1008000026C10F3AB9BA405A80F6C7D535A98BF040 +:10081000FB9080F3D5F3B7F4E0BCAE2E78F346CC72 +:10082000BF868515ACFF5DBCFA4BFA9195DEF59855 +:100830005D2815A37D55D2DD7F04DFF19859C8E30B +:10084000903DA1908CE9E905368A6B1EFF3A4F5F17 +:10085000536EA3F7748A9E096FC2F477BD9086FA2F +:10086000971FF64D49C6FE66DA3C586E9BEFA07B9B +:10087000126C2EC78F7737D411BDC7EEF734169898 +:100880007B0D7CBBDFCAD5237BAB4F1FC5F9853FF2 +:10089000EF60B814CF771AC8FE9BB8F87E1DD2253A +:1008A0000BFC4C87FCB156EC97CDCFE32F6AFDB320 +:1008B000F5789F0CF0E10E5C1FE04123EE838A1770 +:1008C0002A3E3C2BEE8907E608782AFCBC6CAE9FDA +:1008D000DB91F8373705DDEBEA9F95F47A953F1EFB +:1008E0009744FB05FC5D98B7DF0511067855ED735D +:1008F00057239C8911C0BCDFB9C94572B27AFE0D7D +:10090000D331BFDABFB507ED45663546EEBD205E93 +:100910009D3644A58F0A3C75CE95C8BFC3B4F76415 +:1009200074189FC6EF6F3B2D5C6EE3FD74ED3D1CAC +:10093000D4CFB5F5413FB92F9DF40885E2C30A44F1 +:100940007C186019ADA3D22205F13ED57326891912 +:10095000080E2C6872138984307EFB8AA06F36E201 +:1009600011A4BD3A8D3D738380BF3EBD468FFBFE13 +:10097000EE4446F7D85E905A6F22F8BC6B71097C42 +:100980002579F6B88833BBCCC94C39242FA500DAB9 +:10099000F3973D97CECFF79CFCBEC7D8351C6E733E +:1009A000E74BCC8AF8D31217CC77D3B8DF7CA3BE41 +:1009B000C305FB7BC37C6EEFCF5D5F1A44D3FFD9C9 +:1009C0001235BECDA547A63DC7E767213CB77632B5 +:1009D0000F9E83B2BA6C592BE7DE9A2B7B4D384FB2 +:1009E00066A27314793EC783E916A91DE9EEB8140F +:1009F0006CB2D33A0C84BFC7F5BE8A649C87C99F8A +:100A000085FEAFCAF3F12C343EC2D72A85BCC8029A +:100A10007CF1515CB6A4281A7E11CB67D0C181F35A +:100A2000491B4807189667E03F699C30C13941D59A +:100A30003F84FD9222EA5F11B62DA27DB170FACEFD +:100A4000826C3C977A2B3D97C715D6FEF61DCC9746 +:100A50005C1C4F8E7FCCCA709EC7A5A1CF57DE4DC0 +:100A6000E7F2EC953FDD9A85F6D9F1045F16F9338C +:100A7000517E407EDE5C634886F18EA7F929FFB87F +:100A8000B80F82F54F61DAE6CBB2517DAEC7617D1A +:100A9000F4831FCFF26769DFFF396E56DB8DCEC45A +:100AA0007647925D99E8D7FADDBC5409CF2DFA84D8 +:100AB000BCC82B3092BF5F6D9757BBB507C707FD0A +:100AC0009EBD8F3C31868FA35B22A16478FE7D059D +:100AD000FA4330AE13EC368CDFDC69F034EB509F18 +:100AE000AF0E0ABF67345F1E88B3FD28A047F931F7 +:100AF000CFE4A976D04D742637A744F8EFDB825EA9 +:100B00001F52F982E0D30FDD3A82FC1C6F2D88E181 +:100B1000E313B87E70B55FF06D1FE7DBF8A7E58BD8 +:100B200057CFDFDA83FB162BF7AAF24736E17AAF0D +:100B3000F6F37DAF663E2AAFF943D34C142FD7327C +:100B4000D7907251E57F9E10E7FBD30B39DF2EE97A +:100B5000F61CC5F4CC52958F733E3FA3C04D72E096 +:100B6000DD5BFF83D2AF5E215139F0D5AC8CE4A1BF +:100B7000F83F5FDFEC3C1BD123F09D6CACF7D080DD +:100B8000DC0F5D92DC95E6BFCAED9198FD8BD80D28 +:100B90005CCE46E42B8FBBCCB2C814E70C7AA234EF +:100BA000949C55F7F30F113D24DA9EB8443D6060E4 +:100BB0001E8CFBE33254F2649215EDC74CD1BECCCF +:100BC000C402F1A81FCC15F695B077403FA8CED04F +:100BD000D8394EB473D0FE2EF72CB7E9869F7773C1 +:100BE000AAB706E1394567F1205FFBEC2DFE3EE533 +:100BF00034EFBC29788E399DF9EFD1DEF31D0DFA63 +:100C0000BBA2910B638226B04123E9CBF65BA3D252 +:100C1000455DCEA8FA971F744595178350D1968FDE +:100C2000EFF644A527F49447D5FFCE3BDEA8F4C4E5 +:100C3000704D54FD2BFA7C51E9B1CC2FE3A2AFECFF +:100C4000AF8D6AF7190BDAE97DA880B7A72085EE8A +:100C500063D3DF55E7FD51ED8BC4BDD40AB62CAA92 +:100C60003D7B86DFD36F84FFE1FE8D8DB9973F4AD0 +:100C7000BC9B7AFD5C7DD47DFE51787F3511BFD160 +:100C8000F563EFA1AECF487090DD5FCA4A51DE0E2A +:100C9000DA1FC6EF7557ED67C1A01BD74375D9D8CA +:100CA00087F9BB80B1EB52EFA932DD930AD6FB9BEB +:100CB0004B62F8E485D119BD9F6657F47EC6174490 +:100CC000EF6782277A3F479447EFA7CD1BBD9F4927 +:100CD00035D1FB99EC8BDECFD4DAE8FD4CF347EF4E +:100CE00067465DF47E663546EF63CEDAE8FD72074F +:100CF000EAA2CA47363746E3A3D8CFFCD6B551EDB2 +:100D0000D4FD0CC0FF2EB49F5596FB65B4AB6B1E93 +:100D10008B7EB7E152F7F5B90C71BF58ECEBA5DE4D +:100D20002F06BEF722D26915F335D9B9FE1365EF48 +:100D3000FC4EC88BA369D754E3D319F81765FF8C11 +:100D4000D94AF68FAAEFA0398C7431838588CFC732 +:100D5000EAF1B391DFEB90EFF7672B905EA50B6D97 +:100D600041FDE18BB4374F4A3AE2D76FE27CEE881F +:100D7000BB9FDABF1AFF34F57FE4027C19CF0D2E3A +:100D8000950F0EF88F6635921F47F5E70CEBC7718C +:100D90006545F81B31CF00F1B7AAB5553EBC37FD0C +:100DA000A59EC75FF64FE3E75A55EB2A287FC04E52 +:100DB0003273F959657267A1BE58596394F0DCAD7E +:100DC000D2B29AFC2A55AFEBE97EE3B1765EFFD84A +:100DD00007B94467A0E792FFEDD9AF75DE00FA9935 +:100DE00093F939D1B162CF8946AC77DD688AB3AB6C +:100DF00012F1FC4754796EE3E31D4BD079715EC765 +:100E000024FE3EC331372F3FB6C0A5C6D971FFF5CA +:100E10004A16753E75A8D1CACFA772383CFA6F67DB +:100E20002E118747F6F3218B1A67778AE2DDFA27BE +:100E300032FE7E27E3718687DA6C64FF4C11EF2B5C +:100E40001C527CD5369C5721BF7F7E48C4DF1D17BE +:100E5000FB89FE6D8AB3683546BD7B7CA8A588F406 +:100E6000EA583947FE70846BAB59D843AE8D68B7EA +:100E70001D5AEFA27348424B8D1E7B88759D588387 +:100E8000F56BB95E7CCCD675FA0184C3BCB11ED8B3 +:100E9000C901BC786BDA4F3F38E642BB682B9D6FC7 +:100EA00055CFE5EF35D4582B4EFD02F2A55A8E37BB +:100EB0006D6EA955C7E3894665021EA48FE4FB54F5 +:100EC000E3EE3423BD5509BFF0EF06ECF7687A3A3C +:100ED0009A76F7DE3543D0D1805EC45AE9FB4FD015 +:100EE000CFC4CC09483FEDD45EF547039D4FC27C8B +:100EF000757D6FD9383E543F6F247C20BCD6E817EF +:100F0000C3D1910A97AA8F020A76F149025FBFCA3C +:100F100057BA93FDD33235E71035F6A0D94AFEA271 +:100F2000A1F58463C3C069109F99369AFC3C557340 +:100F30002B685D535880BED35850B930BF19D6EFD7 +:100F400072736694DF659C1EF90CC0E996CC098328 +:100F5000F98CAA870DC025D63EBA54FFCB807E758A +:100F600031BD7068784D15EF60BC6BE5EF60C04433 +:100F700066A6A5E0FAF9DFBBCD9C3EAA81EF201F53 +:100F80009921E4122BE4FA8207FE87F3FB1BB3F8E6 +:100F90004DE8B7CA8BD6232AC57B17D54CF35E9094 +:100FA0005B63378A77322A63CA63E1A1AE37564E54 +:100FB000A9F65D2A0B10DF1D6EFDF7670A79E66260 +:100FC000A3BF81729055A4A7F4FC41477EE85792D5 +:100FD0006F587C3FE0EFE81F8F257FCF2B29DFBBC9 +:100FE000ED4D4C3F3A8AEC8057D36E7D0CCB47FDDC +:100FF0002B2F57E5DDBF664A227E4F5A827EAE8296 +:10100000D2776F74C37C5E36B39B30ED64756DB37D +:10101000611C67616EC966E4070646F5665CBE72D0 +:10102000BCF69CF709D1CF0C112F9E854FCB96D0E3 +:101030005741BF439633A858A15F83B86797A1B0C3 +:1010400026237C0DCE568B15E11BC7FB7DBDF8ED2D +:1010500012ECB73A97A72FF3C49F1A89F391249AF9 +:10106000CF65055208DF7BAEB6F3F299253F4BC73B +:10107000F8C8EA4AB5FE351F60FD6AF10E6AA2D7CC +:10108000AF1F83F426FC1E4715BE1FAF649AC84EDF +:101090007DCE52A1C7F735AEF7713FD4ACF28D12B9 +:1010A000CA89EBFDDE52EDBDB59733F9FB6673CB14 +:1010B00079BDB9BE05FAC59AF55FEFEDA7F743AF65 +:1010C000AF3DA5207F793B868E67E33FE4081DFB9B +:1010D000F01FD0FF9B378D267BB06ABE9BE8F25A8B +:1010E000E6A5EF75CC4F7CAD96B552FA46D645DFF6 +:1010F000F9AC87D3EFA901FACD71E412FD1ED7D266 +:101100006F4FFC0FF59C6F44D3ED707C0CE8FC44F2 +:1011100066F2F074361CFFAEAA5DBD778D7B307F22 +:1011200052EDDC081FEF223EF46DFDC1EA7A607DCE +:101130009FE1FCC04E3A4C71DD2017D0FF0DF3FE4D +:10114000EB50FCE9C810FC49AB17FDD3FAD0307A5C +:10115000D005CE0BE3B3709E97785E187B1E3935B1 +:10116000D97B9F4B139FD7F08EC9E4BA1CD33E9610 +:101170008BE7F5C9153F7543FF0DC28F15DFC3BC63 +:10118000ED90FF88883FFF91DB45FD3A0D3CAE01B5 +:10119000DF7B2BB6E0B97D0FE929FDC9A0B7B822E6 +:1011A000E7ED8F2440BB126CC7E97AA0BD8935C535 +:1011B00069DA577E8FF3DF2F7618E89D962F6C1231 +:1011C000F9E1BE98672139DABBD3407162230D9CE7 +:1011D0001E1DEA7D12B685FA1B97C5FD4D4C3AE2FD +:1011E000442750806DA7AF1A5FD82BEE9B7D61F32B +:1011F000DC48FDEE4891B0DFC52DF9B370DCC52D9C +:10120000996EBEA9BCFEA82C176FE7F27EDA8DEBB3 +:101210009A6DF1707DCC5F8C7E3FA3AE74BA09E10C +:10122000A95BDFDF0DED576659ACF83E5B75CE89E3 +:10123000E3F89EDA07CFE8E90DCD659DD78E08610A +:1012400033C5EBF4150DB6179605F55176C98AFD31 +:10125000D1E9955DD1E98618F9102B07AEC91AE0DE +:10126000EF1EE4EF976AAF5C2979E7125EB120C503 +:101270004B2C17FB6F3436F6B5C3FA8DF715946C0B +:10128000447C673C0E26E547EE128A23C6E8716867 +:10129000979BE59B8FED8D3985E3D0DEAACC9949EC +:1012A000F705BE78D84CBF9BF28559E2FBFB22972D +:1012B0009F6DD9BCBC6D8FD12509793BA10CE35C36 +:1012C000385D35ECE6F212FE4CFC3D32AF09F7B367 +:1012D000CDE035A461BB1FF27B3775BB6F9D89766E +:1012E0005E3DEBA17B0BED62DF1A744F1A4CF04FA1 +:1012F000779377CC4698EF0A5F1CFDEE89F20FC515 +:10130000877884610F184F229BBC56FC9D8F9507F0 +:10131000F979C6DA2CEEFFDCF67AF47D23C333B319 +:1013200003489E57FDA39ADEDDBA75EDF7E87DA769 +:10133000817718C43D885BD7CDA3FCA30F7F998428 +:10134000FD9ED9215B110FCE3C52D183BF23736B1D +:101350008BC5857EF506D6E8E1E72FD1EB6E92F8D6 +:101360007B107FD9FB7622F2F9BFA8F168D6C6447C +:10137000A26F5763A2F6BE56C75E1DBD97D7D1B206 +:10138000E6DF27C2786D736E2CC5755E652B8DA365 +:10139000F7BC45B9AAFF2BF6F29F20DFB9EA1F3A46 +:1013A000A207FC3D048CD7ACBE6F26C52F76F8E2B1 +:1013B0006C487FAE967DE25EB17701E5EF3011BFFC +:1013C00072B3AE2DA87736B44CA5FDA96BA923F84E +:1013D0008FBC368EF4888EC309782ACB3AACE5717F +:1013E000D8BE83293543F999CBB37404E78A1CEE40 +:1013F00027E9788BBF6F385537793ACACD953B646A +:101400008AA37C79CE1F8F173822F4A4BE0F8E7F5B +:101410002180DB42155FC47C963DA6A3F7E82E46EB +:1014200057C69CC934BF58FAEA08F077D763E9ACCD +:10143000BBA5240EFDE1B1F4B6B02597DE7361CDF6 +:101440009CEE0E033D909E7AE97477342B7930DD63 +:10145000B1CC3951F1CB2A9DA96995BFABE7BE2626 +:101460000FF3765AE81D018A57EFCBE2F729FAB25B +:1014700078DCABF2F735FBDF403865F98F219DE66C +:10148000306F31E299ABDF5A89E6BF45C4E3B13C26 +:101490007E3F6D97DE27137E2AFE5FBE01F9FA9626 +:1014A000BAF148EFFF89FD2523BDFBDFC37E16AFF0 +:1014B000F77FFA1243BC1B4B74BFF8FC5C19CFE7F3 +:1014C0002C6DEA3D6A1FFDFE91DEE123BC54F976E6 +:1014D0003ECCB77D88F36C4336D78FF21D3EEAE7EA +:1014E0003FB3ADEA3B28F3D09E7D74B94CEFB9AB66 +:1014F0007A98FABB496E17A3F7F34CE51C1EEE72FF +:10150000397075228D43F996727EEF3ABE34C4B0BD +:10151000DF7C2C073C59E3D4B9F0DE8BDBC34E698A +:10152000EB41FB53589E5FC0DF219499C96531A1FF +:10153000FF50267C70B7F1B48A079FB54A44A76B69 +:101540008052D796F0B877929FA55C7EAE711A5CF8 +:10155000DA778032D22AA46C5C97D79BE72813EF06 +:10156000B2308C9370117C250F8F2F635BFA5F91E3 +:10157000DD91792E3605AB304E30166E8BC5FC569C +:10158000E3FC00552679205D30FCFC4E67B9A2E2F1 +:10159000ADD5F919565914A4E781FB45B7C974EEC6 +:1015A0006648775A043FA6F8A20CC6EFBF3CE2DCBF +:1015B0004F76506CFC86230EBEA057003B55101F83 +:1015C0000D32ABC67B0F77CA3ED26BEED4B5927D9F +:1015D000F2A5CCF5A3FC6CCE6733ADBE034B61BC6A +:1015E0000CDD017A174F317B4765137D44DF03899A +:1015F0005DBF62AEB88CEA89B828952FA46C66519D +:10160000F71A1786251EBFD23CC53B40F7B9F82E06 +:101610007FAB09E7717DB6D0234C61BA77B06B120E +:10162000B3A2FFC3C93CBB752323FBD520F64B3ABD +:101630002C897B4120A034FC48FD7DAA7811EFABBA +:101640008EBBB050091987181FFFB4F356EBC73F84 +:10165000DCE3C6790DD76EAF99DFBB615B3C2EAC86 +:10166000F7AECB3F0BF12A63F30217972F3D6E8441 +:10167000DB91346EC71F31BB32F15D50F5BECF70C8 +:10168000F77A62F5F755C22F07F22E60227D88C7E0 +:10169000A3AF8AF5CBBD285DD27DE9AAC3156968E1 +:1016A0009736F80C32EA070D07B97EB0AA490E9AB0 +:1016B000A4089C73043C5CC21F27ADE7F71DCE490C +:1016C000DE347A5F7FB681A1FFA9CDCDFD556D7760 +:1016D000BBC87F7785AEF7D1BB68DF2D64D732A555 +:1016E0002B84E78BED3556358E5CDC1FB0C6611C54 +:1016F00071E47EAB350EF5BB201EB8021EB78B77AA +:10170000730316FE2E70BBF0B331718F30A59CC3EE +:10171000AC7D204E9EF7A7E2E545F3059E08D36712 +:10172000E0FE6B42A1CF6D01496ACDDAF1EF711392 +:10173000BEC5FB1C8109ADF8FEC6F0EF73ACF761C6 +:10174000B909A5B42847705BF0F7B6C4EFA6207FAF +:10175000D99A10295740EF3235A9E9E9BE29790015 +:101760001F494D5F771FC64FDD676651E369E7A7E5 +:10177000C4F4AF77511C9298EFD659D8DF83256A0D +:10178000FAF44EFCFDB3FBF4D1FD11CA8BF6985070 +:10179000C77B3F98D3DA9219916720DF9E463EA01F +:1017A000CAB5AD7F9CD97AB90BE9F05A62B2FAF3A7 +:1017B0007389FFEB1DDCFE46DF719603EFADE6D2C9 +:1017C000EF0031C545F7A4CD692EBA7F74309BDB9D +:1017D0002DB3642E87F48E8A10EA817AE6D9F786D3 +:1017E0009BE4E0611C2F2567E6ABA89F44E4A04280 +:1017F000F64B3EC853D46F4D6D22FE58ECB751D016 +:1018000030EAA8BCDEF59D387E6A8EFFD56C0D5F90 +:10181000CE6F7319B03FF57759DA96E5CA92466EE6 +:10182000BE97CDF5D5FC02F55D9139246F155BF5BA +:101830000494B76ABD5C6B9E8CEBCFCD147210E440 +:101840002BEAA7B96D7E0A25C855FCF370DDB9B542 +:101850004B0DA89FBF97ADA3F5963607CD15B8974A +:101860007532C3F7018F229F4EC6DF855C4CFABBF1 +:10187000BED66441E4DDE3FB8919FBCF2FD8D78CBA +:10188000BFE7C6AC0ABD2798DFC6F50A65DD8D4106 +:10189000AD1F64BB55A1DF6F2CD3F957939C499AB8 +:1018A000E445FACAB24FAFF12472FEFF7D0BDEE7CA +:1018B0001FFADDE7E92EBE2F4D922FF05DE403C540 +:1018C0008CF8805A9E23DE71F92C9BEB2BAE80B5F1 +:1018D00012F9D6E4CF7D0497CFB2795CDCAF957076 +:1018E0003CEA7BF9CCBB7A21AED36771D1FD17E11D +:1018F00077776C7011BF3039C2F75E8EE51ED94321 +:10190000E14B429F3EF77C2ADD5FF8618EFF1BDCD6 +:10191000B7325DF847DFC5F5DCAB887B34E147EFD4 +:10192000827AD9D75A089FB639C23FAA61F49E0974 +:10193000D9D32D9E4D5E8C7FF935FE4E12E2296C77 +:101940009313DA5B2C5210EDD152A053E493CC29BF +:10195000911CB678FA7F8FFD4F77FDDE83F5ABD40F +:10196000FBAA317A0421957A6EC4707D0186F74C0A +:10197000015B9ABE498AE817539897FCEAAADEB140 +:101980000BAF1B43D35DB289ECEEF8422FDD4FB8AD +:10199000A5409A4CF373F4303CAFC86D95882FE79F +:1019A00016CCA1FB054B5A393D2D1478C814D0D361 +:1019B000818FE6E4C40B3F4413C19BE41BAEA7C573 +:1019C00040E70CB9CD6E83F6BD40F5FD9A85ADFCC0 +:1019D0001D2C83B89F955B2AE216D9BD543E36472D +:1019E00012FD6E12FAA1FABE101F57A5B306116FB1 +:1019F000C462E4B32A5F3FA9FB2C11F9C1C2C3BA88 +:101A000010EA791793CB7BF0E809F1EDB08EE44151 +:101A1000A49FFF4A447B6BB87E2A72B8FE7E64DEC8 +:101A200017F46EE29EC31DF4FEDBAED920A1493E41 +:101A300078E8DDC544C5373587D6E3D9390AC6D934 +:101A4000B35347FAEEC0FB69C58CCE5B6EC99B43AE +:101A5000EF96D94BC796E0BC9C0A3361DCCF8D6210 +:101A60009CD8F7D354F80EBC9F56C3E169AFF18AF6 +:101A7000F7D3FAA720DDF64FE3F749867B47ED164B +:101A8000C49309FF0FBDA306748EEFA835E6D8D422 +:101A900077E8F83B6A9EE8FBA7B1EFA76D17FAD08D +:101AA0001E16DC8DF7A20305062BC27566C1AB17A7 +:101AB000D48BBA93AF5D87FBF3C9C7671EBD87E1BF +:101AC0007B81B3E7D1BDBA220BA7F7C001CFB564C4 +:101AD0009F46EB4F917B8223E9FEDF3D82DEC8A764 +:101AE0009436FCFDC0BF9EF8AD158976E05CD166EA +:101AF00050DFEFA07B80960369E25C9185A85CDCF7 +:101B00000354DF39668A8FF88BE5403EBF4FA893B8 +:101B1000881F0FDC9F13F6BDE5C5548A3F6990C34B +:101B20004FA3EA60D1F377602CEDD1EF7A5824FE11 +:101B3000CE0C534256D467CE0DDC97F33AAFD5F8AE +:101B4000259A04DFAE17F701D576F5977E3FF0A70B +:101B500039C917B81F58AC0CC081E6BF232B38D445 +:101B6000BB142A9FB66C73139CDE2FE0BFA319D160 +:101B7000F74256ED7B26EABA17897B7EEAFA17F917 +:101B80000CF43B43B1EB57DB2D2A594C76D0A2E540 +:101B9000EB67E17738BB7F5173F43DAA23222EFE19 +:101BA0000B7305DD5FBAE381D9E4FF598AF79E46DE +:101BB0006AEE770B3F98AB59A1F5B9F64B4117DFA9 +:101BC0003F934C3AA855A677AE81CDEE41D61C0086 +:101BD000AEF01DC8966409F527177AD15361DADB98 +:101BE0009400CA97F677E2E9F775B73A5CF4BECE8F +:101BF000D62699EBEF2D5CCE40BFF4BB1E8126D9D3 +:101C00008BFDF4E6707FCD7FE508791AF3BB6B4D51 +:101C1000E29D4075BC8D4C0EE15796F8772BCAFBC0 +:101C200021EC36B5BF267DA309F591FE2C99FCC7A2 +:101C30005F18BCB5E4A7B58F62A88F34253436D7BA +:101C4000F072A2992FCCA11A2A2F96B9028B648424 +:101C5000FACBBB668A237D2787C70FC6C27B496B39 +:101C6000743AF65E5CEC3BC08B98FFE74EDDE077A4 +:101C70006BDFC9B10A79E6A1FD69D2BB8EE1EFD471 +:101C8000F66F53E87726376672B8C959FC9B6BAB81 +:101C9000A6DFC9653603C338D3FF055B0519F50018 +:101CA000800000001F8B080000000000000BE57D95 +:101CB0000B7C54D5B5F73EF3CA2499492621848478 +:101CC000403249480810C224C843411C12A0519117 +:101CD0000E0F051FD50920843C00A1B6B1C5669042 +:101CE000B7628D152B5AD40101B1050C169142B47F +:101CF00003F8A0556BBC6A2FDA969B8855810001CA +:101D0000B562AFBDDEF55F7B9FE49C0929F4DEEF91 +:101D10007E5FEFEF8BB5DBFD38FBB1D6DA6BAFD76B +:101D2000DE2344A45CA40891539CACDDAB09B13C18 +:101D300049CC687409316B758C104EC17FDFD0BF00 +:101D4000B73798F373D79BF3F3C2E67CF53673DEAF +:101D5000E2CD17A227F72F30DEF2355A38A471B53D +:101D60005F5C46E36D8F79EADE6C4ADDDE04912B21 +:101D7000C449ADBDC04AE5A1FBDDDE2DDCCE234468 +:101D8000AA10333DB2CF0CAF578861421CD37C5BA5 +:101D900023F49DE5811D6BF2D1CF7DD6121A5994A3 +:101DA0004D75F931CEBE13AE700C7D5F6915223DC5 +:101DB00099F2BE775F457DF4FAE8CF6B1B4EFDE3E9 +:101DC000BF2C94A6087F6C11FDB7B15D0EFEDF211C +:101DD0004481CA5BD12E30C83B0CB9F0201B8D3F2B +:101DE000E7449C0FEB78D8726CD76B946FDF15EBE0 +:101DF000DB44539DBFA47DABA0EF47A4044BBC04C0 +:101E000087B6BB3E98A0793BD77FE6C5FE1B01FF96 +:101E1000CB96C774F68FFF5B6BC863FCD5B488CBD9 +:101E2000295D672EAFDC10F59DF88F18E33C8568BF +:101E30006078FDD4111CE021FC3E16183E1CF3F91D +:101E4000A9BDA15C50FD5D69C17158C747E303AFEF +:101E50005AB2795AF981C142BCF4F5AC5C1BC1316C +:101E600074C4E9DB42E52FD95AE2930A85B066498A +:101E7000F8A73945282E5996A35FC73DE2B600A5BD +:101E8000DFE0EFAACEF4DB5E8DF11FF4FA8F67522C +:101E90002ABEA65911BCAD802D75E5743DE7B7D2B9 +:101EA00038A249F3E45132DF2B5AE72608E16AD21F +:101EB000FC19049F05FD2C618DC69FEFB2B48EA066 +:101EC000F23C9785E126FAD9C279285F2742730947 +:101ED0005F0EA73F9221B85D6804E52759E43CF501 +:101EE00079CCDF3B59045D3C8F3F631EF12901CB68 +:101EF000ED34AEBDD2C2B0B2DB8237A25FFB0C873D +:101F00000851BF97111D845D8C5FEE276F5DB04255 +:101F1000D63B5D568653C0127023EDE3F938BE13ED +:101F2000DE355EFFBD80E79F51902EC4B5BDFCF34A +:101F300081F72FDAE22CDA1021BEABE8F7F0BB53C1 +:101F4000135BA8FF2F4420D143703D7CE086C496EC +:101F5000C2CEFCC7D6E0F73CB41FE68A9003789A5D +:101F600027C29C8A753D980EE6D844C446F09F333C +:101F7000CDFFBE5624F765246A5F1AF335A2D981D6 +:101F8000FD25687F460CF453638B1CD008AEB54E1C +:101F9000118947DA68FE6EBE68E7EF16ECFD26266B +:101FA00062DA3792AE7A5917152F049CFCFE7E290F +:101FB0008457976C220A4127B46ECD27226EECA776 +:101FC00095EDAF307D5D62BBE3DE86540BAD77B53A +:101FD00026C79F6075F99D04FFDAFB2DBCAFA9A34E +:101FE00089C3A89F4A21E9688177C27141F34FA153 +:101FF0006D8AFDEFDC630DDF93CDED7D11CAD7BE99 +:10200000E8F6A169A5B772A228027CEC1FB618D623 +:102010005325764D008BF942BCE1C0FEA8DE66AECA +:10202000AF6D34E71708DB872D3A1C699CBA3F6E09 +:102030001CF5B2611FEEF4BA533E1EC473CBFE060C +:1020400070B7DE9218BCC0FED0D32FEBC3A35EB630 +:102050000B71A5E67F1EF44274E7C03EACB2097F67 +:102060006361D7F6EEBE1AC3FF90EBB31E41437D0A +:1020700069614878293FBCF4C2FBF190577E17DFB5 +:102080004CF44DED9CB69048327CDFDD776F782DB7 +:10209000723C87AC7FC01DEF071CD31C62B5B3A494 +:1020A000B35D9A452C77125DF6CA0AFC0EEB707A86 +:1020B000BD0ECCEF297B4858C04F7A0ADF165ADD97 +:1020C000E376118AA57619560BE335C3EADCB48CA6 +:1020D000A6F6F34CC92F2E4627F185ED76C033C303 +:1020E000BA8BE9AFAF458404F5E7B0105F45BFB4E4 +:1020F0002763695E1B624508F3A17AA151BAA6A7BE +:10210000ECC7816D5F82EF4544A3F4718C49EB3BD2 +:10211000E10DFC59F2757F11EF6F358FF98ACE3AD8 +:10212000E6B1578BB8133AE9359ED680734034C474 +:10213000305F6252E17C7A18E7D851E469DF5E9F34 +:102140001638C7FDDB64FDAC07FA6E02FF17753D5C +:10215000985FAC72137C0B79DE26B8EAFB6D8326A0 +:10216000E13BBCB499CFB9F6BB85D8A475B6CB52C8 +:1021700078FD46E1592FAF567C786CB65F64E31C5E +:102180007ADFE914893485CBE47E991F70493E4B90 +:10219000FB1FF39ABF448435FA647E8185FB5BD0D4 +:1021A0003718974DFDADFAC015B226829F6E5C9D23 +:1021B00003FE99121C0AB6948B72E26F397D830973 +:1021C000E87FF692E0D903605753061601FFC3BFBC +:1021D000295B592EE7EBD9842163C442235D0FC9E3 +:1021E00096F4A5A785D9E6F967A52878365A19BEC9 +:1021F000F1DE66BF8679EE96C2C470ABFF460D6D08 +:10220000AA93C5162FCAC716BF827C636C711EE5E0 +:1022100087FF61A2672CE5DB8A937D98EF8FB282FE +:10222000FD30CF4C6BCB3CF017F76591CC9F517FC5 +:10223000590197CFEAED4A7F3ADDF5227A05BC7A5B +:10224000DDEC0C835E757AF8A95D049DB99D74D9A7 +:1022500033DBCBF3CF52E748D69280B8DDD5997700 +:10226000A5483C51B905F0097AC7F7C47C7A66DB0A +:10227000F8BB456956EF474412D94E924A72BAEEFE +:10228000C76CDA59AE02F0218BF806200851DE2027 +:10229000AF9C6BD0CA01DF452440D59574CE47FF73 +:1022A0007E519A83FB8F3F6F63B8E6781C8C7FF773 +:1022B0006A0567C23FE03CBABDB92C91D6DB6F5DC1 +:1022C0006434E0128BB1D2314ACB7D43A83CA58760 +:1022D0006DF4BD54FE445DC94127E56D6B9AAF04B2 +:1022E0007CBD0D9ED25890F9DF6C01AC93FFA87EA7 +:1022F000F63A0FCB3BC2B6B0600AEDAF6A85E70590 +:102300007DFD53B1FED2F7EC3CFE5FEE97F2DBBAF7 +:10231000CC9AAC24FAEED8FB44975AF7FC33240E3F +:102320003AC5485AC7DA1C8728C43A3486AFE8470A +:102330000442F3B5DDFFC7909CDFBB7D319515D915 +:102340002EC61BBEB3A4D13E5CEE75007CD9EB84D7 +:1023500005F376AF9D6251C84FD7A83E6FF5348B19 +:1023600097F2790DB2DFE8F197A875FCFA6B6B393B +:10237000E4680B75D617E74EBFE48D2C2F101FC7EE +:10238000FA6BFBA7F0FAEF54746E6F18EB8FF576CB +:1023900095576A7757B0BC12CD7F74BEA3D3DDAF1B +:1023A000A95FACEBD7C2C972B54E7FCBED12DEA1EF +:1023B000BF5998FF6409798EE43EF0757A90F17107 +:1023C0000F8FA7CB3736BB77651A78D8D2963121D5 +:1023D0002A9DB536C932BF10FDF816713FF7BB0410 +:1023E000F7B336E76001F6C96A8FD0BCE86F6E16A6 +:1023F000F6A1F8438C00BDD8EE7759C0CF6D0FFA27 +:10240000512A6C49A9A59C7F98F2D47E7AB69DE7A3 +:102410007D5DB69CFF72AD5D63B946F88B71DE8D54 +:10242000CD0EAE071DC42BBE24EAE2C27934AEDB6A +:1024300026E56577DD073B9652FE0987A8C47A4AF0 +:102440001F289CC2F4B2C6A6C5D0F87F497A9BDB90 +:10245000FD6598D020C76D5670BE00BD6408C26B84 +:10246000CE8BD600F6A3CD2EE9DEB6266523BECBF5 +:10247000E9197C1AFCEECAE51116555FF27CF4509E +:10248000B9B72B3EBA3B0F9E53EB13FE10B75FA0BC +:10249000F391268DF988CF22828D52BE8CC53EB82D +:1024A00022539E3F75CE8422F0E52F63651A2A954C +:1024B000F30A1D8D0D2F63B973E108C089D221483D +:1024C00053E2A81DF1DD374E917C49ED236ADCAC67 +:1024D00072E247C40716621C82D36FB393B8FFFD44 +:1024E000C9C2EFA1F3C3161B3C0438D7B514A781AA +:1024F0005EF627A496420EA44565E2DCFBD02EF5DD +:10250000C168B8D962C71E065CDE50FA22C6CDA6E5 +:10251000F193EBCA02E027247FF13E6B9FEC086F3A +:10252000A2F926DF3596CBF76BE147E7601DD7BBF5 +:102530007CE0CFEB26FBD3E35290A65A40B77BFE5C +:10254000C3CAF86E274117E75959A53F1D7A41EFD5 +:1025500080C3023ED0BB7CE1BFDD4DDF27BF61F70A +:1025600039E9FB3382BE825C45FCCA49FA61A98223 +:102570006F698BD68A7558D3868E9E4DE3FE44F3E1 +:102580003E3A1BF43B4F8DEBB6303CD7DD4E840F0B +:10259000FE922DE1BBAED61B06DE47592D02F4DCC0 +:1025A0007E879C877E4E9FB9C513C6BE1D95D522DA +:1025B000A017B55F2ECFB18EFA19F9E17BF97B4DEB +:1025C000AEE34627AF1F9C59D6F7E67AE11CEF6FC2 +:1025D00031C8DF676C6A9F929E033DEB4CD812CAEC +:1025E000233C3E2EC203B02FCE0885FF4AB98F850B +:1025F000AD3162417FE55E1FF8AE18E973820EA827 +:102600001DF31D616B4F003DE9F8D2CBD725F9D3FF +:1026100093890E52975D58BEDB8E7D42F4B0A0A721 +:10262000DF9663A05B9DCEF797F42A859ED11DBDF2 +:10263000BF23E4B970454EC08DEFC7397DB31FA6E7 +:10264000A2431AD109F8CD44A9B7085B3088F5BC7C +:10265000D7BBA018F0889E87CE97F6ABEF0665082B +:1026600027F477DAAB219CEF03F70C64FED927C778 +:10267000A2F8176191F03F509D7D837A6D4C065D05 +:10268000741D373078CAE0EEC72BC8F1E7E60CEBD3 +:102690006CDFDD390374B2FCE868BC03EB68AF752E +:1026A000F980E7775145DF3D75434CC44A70396383 +:1026B00077ADC67E3C127FEBAB1039B73A83C5E8E5 +:1026C0007FC6F4AB5722AF1DECE15D44783853D19F +:1026D000321CF32D700687016E35CE60562A2DED23 +:1026E00054DF60FF44F0C5400F75DE0606072E3844 +:1026F0007F399F324D8EFF2B47700CC639A4B5B879 +:102700007DD81FB616FE4EB87A723F47D5BE3E60E2 +:10271000F78F3E4BF33FF06056F1329A4F59C2FBB0 +:10272000372FC0F9FC48AF62967F145C0EA975DDA7 +:102730006E09A446ACA6F95ECBF3F55464A5131D4F +:102740009FB2ABF9BAD47C6DBE3E7F6FBE909D98B0 +:10275000EEEFD698EEF98FF22F8492789FC45896B8 +:102760006DE47D54E1F4611F6E88A3AD4372CC5BD0 +:102770006A3EA43F08C8C154CE72F216E11B88BD60 +:102780009C1123F74BC62A8DF9E54CE163FD71B628 +:1027900008644254ACCC09CEC2BCFF2DFE3F8681FA +:1027A000E403656E1EB7E5FDB88DD8BA62B49CFF30 +:1027B000C5F02FC45A0BEC1853945D6ACA2907EB75 +:1027C00043B72BF9680A529ADF54E1B763FCEB4533 +:1027D000D08EFD3C5D8438BD518439BD5944B8FE6E +:1027E0003BA285F36FC717F5AD23F84F7EA47F1E7C +:1027F000EC510678DF05BC127DDC9622E9E3935E9E +:102800006C0FE87949F43A59D107EDCFA5E887F67E +:1028100067BFE21CC33E19D753E1AD655922C16FB2 +:10282000726A76F1BD94BDEA6B8997091F79183EEB +:102830000734E278259DF4418CC2954E70F896429B +:1028400061F339791E7DCB5F3D11FAF861FFD294B7 +:10285000149AE778AB8BF1D2ECB386714E6FD55AF0 +:102860006C58D76B4B83CB93A8FCB5019A6F197D3D +:102870007F75CAE4C408FA810645E336176ACC9727 +:1028800027AD97FA7D791F7BA7DE4DFF5ED3CF9CE6 +:102890009FE8B7B6C650BB8985667D7D92587BD6CA +:1028A0000ABBD045F4F62D394A6F1F2806B2FDEC5D +:1028B000D2F5F6ED3917D0DB05AC8AC49FBE1D2BCF +:1028C000F968F3E843A3CED07A3F6BCA6628E617CF +:1028D00048B9F1684E6037F072DADE320770F9B04D +:1028E0009E20DB5F888FEA9DC24F34FD71BD87F368 +:1028F0009FD6A7717AA2DECB695B7D01D79FAEF729 +:1029000071FE9B1C7F13FA59152BF1A08FBF58D174 +:10291000E9AABEC31F09D0F8ABDEB073BEB2B16185 +:1029200002CC578BFB7E784F3CC17BF1331ADB49DD +:10293000AA9BFC0E17CDF7F697832B71ACCC7DA329 +:102940006512D848ED794D04698B3C9A1FF82DD655 +:102950003BECBD8F52019F4FEA47F23C8ED7FB798B +:102960001E27EBCB39ED9D1B780BF3F137B5AE4C41 +:10297000A3FEAEDBDE6ACBA074BC5F6379788C5FAC +:1029800084C38487F576792EAC4F77FAB06FC70E83 +:102990009EF2F87705F872F07D8C737DF2ACF13D14 +:1029A0004007232B6C68379DE812799D6E2FBE5F20 +:1029B000251C6A154D9C7A4963F8BCB3DBCAF33811 +:1029C00077248EE58173BBF75773BE2DCE474A56E9 +:1029D00047BBA9CFE7F6823EB0E8F941BDA05F9CB6 +:1029E00024FC085AEF2A55FFC276AD117AF1F09D0A +:1029F0004999A0D393C98D477F00FED5D7C1766092 +:102A000052443F7E0CFCAD4F9A0FFBEAB4E2C32464 +:102A1000A1C5E3BC9EEFD0E5C1E020E44FC6C97379 +:102A20001AE378098EFB337BF3F95BA0D92CD0E74E +:102A3000F63F37D9873CF5CBE3EC794CF6BB75C74D +:102A4000A3E7F6F17861A6AB67763E9EF343CA3DF5 +:102A5000B36B4DDCCD82CF553192F8D2FE07E3FD4A +:102A600098E77EBBEF681DF8F0E32EB6CB3CFDE3A4 +:102A7000BB3EDC8BF4FEDA92BBC0C27293197EB30C +:102A80007F72E384746AB7758F28C6B6184430CF56 +:102A9000A07914AE3F7B309DC62B0A2795F5A67210 +:102AA000DFB6E243BD29FF8B17B408ECE8258D1B88 +:102AB0003769B0B57CFD546FC89569B95E933C3EEB +:102AC000A86FF9612BCB9DE673BC70DDD952F4B7CA +:102AD000A377E3A224DA0F03B5C6134BB341BFBFFC +:102AE0002F61BD48D9439E6F9AFA8E5C57281D729C +:102AF00067A8C2C1F66A2CDF4EF953BB73595ED882 +:102B00006309F179129AE9F4418E3A15083D0A3ABF +:102B1000AAA5F6903F6B8B430957403FFB533F1FDD +:102B2000518CE8FBC4B7CA019FF9BB1F9ED09BDA4A +:102B30009D1A2D7C1A4DBDF2F9CF26B07E4C5A2439 +:102B4000F49253BB97A5DE44DFDD57583A0CE76695 +:102B5000C0DAC8E38805729C47D439255A8AD88FD1 +:102B6000C1A448EDEEA362942737251DC8109DF837 +:102B70005AD0B4341BF2E56541A70F7AE3FAEC5062 +:102B80003AEC5BFAB947E7D715B9D42EDDA1FAF5CF +:102B90004C6579FD52CF2DDDEEA5F7F78843DAE1DC +:102BA00074FBD806873C67B710BF009DE9E72C8D02 +:102BB0007B4D6E4F837D8D0E83629A67C623316C89 +:102BC00007B9D4F175B96881D25B4AD57939A3C701 +:102BD000B2175B68BD6F398337607DB70BBFB457E1 +:102BE000DB7C5EF0D33D4EFFF45C968FDA33B106AA +:102BF0003A0F6F467EBE95E4A55C83BCE4BCB4F39B +:102C0000B0D5E9AFC03897DA3E9A8F2EFEC2228A3D +:102C1000890E163F1C13069F58A6F4B565EEE14ECB +:102C2000F007F1B2A5E6553A17AF945F76F4B7D83E +:102C30005DC2FC0367DD85E0F512EDF720F1950834 +:102C4000F1FD607F346A5E06FB8B9FFEE726BA19B2 +:102C5000739E143AC3B916FD3DE1A91E70192BE20B +:102C60004DEDFC2289EDB0C295FC5F5BAF9AF76831 +:102C700085B7D1E78EC4831F2EFEA284F96277EB5D +:102C80007951ADE7D7580FA55905810731BF2B3FC3 +:102C9000F7D8B08FC7D8AC2268387F69FE8FA0DE26 +:102CA000FF759C69FE1D747E89F3BF531321D89B69 +:102CB000C55907EB4D4D4ABF6F9A57C876923DD024 +:102CC00053A1574D71B0FCD9E426FD92DA37BDD936 +:102CD00093F7FF7EDD7E526195F5B1EAFB9E1E966D +:102CE000477AC7C87A717347FF7C8E34DDD89BFB67 +:102CF000DFAF45063D8BFE273BBBD377592F6C5F7B +:102D00001AC37AE2BAE285AF0F46FDD2413CBEAEAD +:102D1000BFF6B68657E780DFD45B95FE7AF066E8AB +:102D2000C5EBCE3A600424FD55EA75A4B7F27921CB +:102D30006C21F7E4C1D05345471E7A0FE9A5322F25 +:102D4000A89EE0F8BEC2D7119BD40F8F40EF1CD2D3 +:102D500069973F02BDB1B0F3FBE0A4781BE83BBA32 +:102D60005C87BB5EAEEB991FD8A55CB92EA9A127E5 +:102D7000FC591FE406DF065E6FBC7D4B6CD060F72C +:102D800048B005DEC13E3C367BCB33B0738AD952A6 +:102D9000FFFA40C133F495D48B473B5AAEBD81E076 +:102DA00030FAAF162DE4ED8A6FE8EDD21E6E917AFF +:102DB000B74DDA0B9E7CA3079F8B040F59EF76A8C3 +:102DC0007AA20FD4370E907ABD55F343BF6C7F3E85 +:102DD00086F5FEF22952FE3CB7C4B211F68748BD13 +:102DE0006FF4B83C6AAFEC78A12637E3FD4905B72C +:102DF000DB141F7B52F975438D76A9D7D822190BA6 +:102E0000304ED300D6D72342D1D5DE7855EF4D448E +:102E10007ED96F860AE83D67743EA249F9A0C611C3 +:102E2000C9073C9F54F0D5F3BD613F57F5F0DFEC87 +:102E300057F2444D9CCCDFE10C7E03B8EE5176B2E4 +:102E40009A042A775D084EC4F729FF645D0F69BFB5 +:102E5000203849FB87BBA31EEB79727D7FB37DA32E +:102E60005693F611115E938FEF9B7AF2FA4E2F393B +:102E7000367CBD97E154B41770D81DC372850E27F8 +:102E80001D6F4F76D0517B2CD39743DAA98E7A5A97 +:102E9000DC467FD4D1C0C76EF0973FD659238E84CD +:102EA000EEF7FD2DEB3FF91BF4AF5B028E56C8F930 +:102EB000B72CF9F0169CDFB7547E7D2B97D798FD81 +:102EC000FE57F6F367F71B6680C7718B6EEF91F1C3 +:102ED000039FF651F61E69BF693F1EA7E021ED2F43 +:102EE000FB76674BBAD2E1F168AC0E8F78ECBF4A43 +:102EF00012AAD3E9FCDC6793EBDCA7EC3AFA7C6717 +:102F0000A60487F623BADDD761B7094B39D046E767 +:102F100023C1A9BD5F7024EA75B941B71FB6D99B1B +:102F20005FB5609C2597766E55C735CDD7685F9D98 +:102F300068DAB20729C199F12B9E937CADCD134974 +:102F400000BCABA9684C32FCA0B4C792651E72628B +:102F5000743C07FE6CA9B21EE77375A3D51F9B8056 +:102F6000BCA3B31DF51BB448BA113BA57E5F251A5F +:102F700053975A592F728E24B89CDEFBCB04F081F4 +:102F80002A97CBB904724C547C45D5EE55CDB94542 +:102F90005DCBBBCE276AFFEFB29AEC766D29A93ADA +:102FA0001E153F8CB07DAC931F4612261BF8589B14 +:102FB000C2575B14BEDA3AF01431D9D7DA1A8F65EA +:102FC000E25C3DADEBD13EE907AC7E56FAF5562802 +:102FD0003E58DDA37138E0DCDB6AF67BE969B55366 +:102FE000D8461BFC7DD505C2093CE876B0EA80B026 +:102FF0005D916CA80F0B27F27B2CB4BF5D8C379BC7 +:10300000C21FF743ED197F554EE11C43F92AF4879F +:10301000D412CE04DEF479759947147C57F6937672 +:10302000B615EAFC0CB91D8A6FF9D200B7FEEB1D8C +:10303000A6F6A7DD8EDBFC349F016173B9DEFF4F7E +:10304000FA497DB7C088D7ECEEE1B25EB5FFF9CFA3 +:103050003BDA5B655C0B89D13A1D7AA55E63C7FCE0 +:10306000DE77E8F6A4EF6690FC550D5AC8E984D3E4 +:103070009EE2604632A5A72D922FEE49A27C21E464 +:103080004839BE9EEF807B145DDFF3BE83E1B0E77D +:103090004DFB46D8310E2AF834A9FE4FD407877E5F +:1030A0006487BEBE70C0ECBCCE75CC595FEC049D8D +:1030B000CCDD50EC9C69B0272CDB762801F01AE8B7 +:1030C000B2B0DDE2C4B6A11C9775C26511F11AEA6F +:1030D000873A51DFE63AF83B2F95CFD99054023D1D +:1030E00043FF7EEEFA3B07CC36C079D03633DC079F +:1030F000379AF343F69AF36FF4133CFF7FF4BBE285 +:1031000088393FF4B0392FDACD713E2F8C0C4CBD8D +:103110000EFE950D561F8A2A5D96500CED6F9B4B47 +:10312000EE5BB1DDCA7E9E4A8F8CE7F974CFAAE1CF +:10313000909BABFF34FB55E84773DF95F0898E3FDA +:10314000AB3CF2EA57D08309BF1AC72B6DD5F8BC48 +:10315000898E4BD3ED325DF9C752DD8E5C60A4A73A +:1031600068BC9F54F1373575D543E1CFD0E17F7905 +:10317000E3830E9C4FF3269AD75F6DB3892517E43E +:103180009F21295FBBFC5EC0A762A4AC6B5D36FDCE +:103190001A9C57ADD3CB8FC37F71455D9938369458 +:1031A0002AD6BE3D01F0A9B84F13E02715BFECFFAA +:1031B00032DACD52FAD15CE54FF28CF4EE6DA176A5 +:1031C000B787351FE63F332A9E6CF6DAA87944C5E7 +:1031D00091CDDD7BE02B8C1B1D4FA6C71D556DFED1 +:1031E00026C61C6726F5EF2B9A365AB1FEDBF5F999 +:1031F00086C608ACEB0AD9B4C33FF5113297231E3B +:103200002A909447EBBF629DFCAE56C838273DFE1E +:10321000684E0CC9E5C4A70EBB1D4C179FAD4F648B +:103220007BE167DC19A51BA43DB0B687CCD73EA5D2 +:10323000B1FE59ABCEE1DAA7A5DD770EF1FFC412DE +:10324000492F7EC3BC6BD47A401FC672D120F5577C +:103250003D1E0A71527E833FBD86D6752459C647EE +:1032600019BF33C64719CB0DF669D6A775FDFE49C0 +:103270007BF899AD344FEB8FE27C90638508C48175 +:103280002E89DF487D64B2E45F5DF585C5AC9FB4EF +:10329000BF69F7C1EFB4AE58AE7FDDBC3CD6377A1C +:1032A0008327E2BC7D2896BF9F4D62722CECF955B6 +:1032B000710C0FBBD2273EC090E9301B5B58CE5932 +:1032C00077A343F9C1A45CB3EEE16CD63F3AFC604E +:1032D0000FC698CED39BEEEFABCE537FBE93EB637E +:1032E0007D4639F1A69E5E5D9E56E76BB827CE09F6 +:1032F0005DAFB8C92E02E0AB376D94E7AB0E9F9B74 +:10330000342A9772504FE3F97AB1725DDFB82B2DF2 +:10331000F81DD0955EBF2E291C8BB844517969FEEB +:103320009C2D6AFEB41E96F33ED2643CE4ECB8C019 +:10333000BD57018E3FCDC9011C6BC1A47A22FEC6C8 +:103340009FEF31AC5FC7B7F0FBF3A1777EF4606C01 +:1033500009E0A0C7531D2D96E749FC6532EEE37BDB +:10336000AA9FEFE5594C695A9C8C57FA68BCF40B3C +:10337000B82F0B38202791EEC77141B31D81DF5E56 +:1033800069980F8DEB04FC42AA3F1D9E847F3FE4A9 +:1033900090D93F89917E635B3017F95B8E14F830CA +:1033A000AF8FD4F9A6D3831052FFBDE9AD9E25ECB3 +:1033B00057547CF1E274A9FB6DED4C274497ACFFA8 +:1033C000ACBB319FE932A9438F55F4F9805BF633EA +:1033D000BE341DF604F86CFE8AF6E33BFCAF4A4EA1 +:1033E00023BA711BE53689FF68BAEAA08728BABA02 +:1033F00054FAB904BADAF6F7E88ABE1F1670774FA6 +:1034000057B52FECD813823FE0D9871304B53B6E34 +:103410006B48F5411FDBB222C14FE9A7B65002FA53 +:103420003B1EB6965F28AEE4638557F85934833F58 +:10343000F6C4CFEF9BC4710E5BEC1EB0BE05DB6221 +:1034400022316CAF9CC7F18D946F95F955ECF7580C +:10345000B0372ADEF1E98753BD1CBF1ACA40FC0B06 +:10346000C9C11C0F317FB39DE325E7BF6BF5810C0C +:103470001688F695985FF4F798C779A2D3058DD68C +:103480000A4762D77AA2083E6F17ECBEEF2CECBB5E +:10349000D1F19295CA1F15ED7F792F4FF95F4688BC +:1034A0001190F3082EBE08E88FE69327D1CEF4BA28 +:1034B000EC99A777EEA3791EFFA057314C316D9B95 +:1034C0005F4FD00A3BFD31BA7FAAAD313731780169 +:1034D000B8EAE96965C7EFC49BE4D3DEBD34C15ED9 +:1034E0000271C99CD6D82309A368BC9A8D76E68F51 +:1034F000353B9EDAFA18E8F9FD181FE2CBAA77BC33 +:10350000F2FB2B20F7EFB2A74C94CB7169A99DF881 +:103510005AE095F6541D3F55BF7CC5E11D2CCB21CB +:1035200027E878AADE75C0210677856759E3014749 +:103530008BEB02F86A6C9DC0F6C467BE74601F1EF8 +:103540007F4913BDB2BB7E5FB9E5F504B4D3F1D5B5 +:1035500081BF2E788B4CDA7719B7F3800F7487BF51 +:103560003D40C630D0B75B203EABF28398F044E0DC +:10357000F5C78B99CE3FB12D9474FEF88A54C8AF2D +:1035800095F650AA8753595EF9C49D8AFEFCE91648 +:10359000968142E958CFED1BAEE7F5CC1141A6BBB1 +:1035A000CAC7657CCE17A497EDBA001E6FCE97FBF5 +:1035B000E3934D84445AD7272AFE37F42F56192F08 +:1035C00021EE6079E44EB5468E88A3FC174A2E2D75 +:1035D000CEB7E8F64EA751CF5EB0795533F071A261 +:1035E000AFBF17EC57B4FE90829386783BEBDBE3DA +:1035F0007B497CC8FB03FC1DC909652847FB663B6A +:10360000DF23307CC770D3C7FFAE1A9FE61D077D4E +:10361000FF9354A98F08B83E41379AFC66FE92CAC0 +:10362000895E82FF1AB5CE8E7DBE798DDCD76A9F0A +:103630007FFEAEE41FF3C393CB79FF37DB23BDD00E +:103640002E7C609AC6FB3F3AAE5BE17FB35DED5FD7 +:10365000733DCDCBA619E1F992D4E3E7AC33C48F27 +:10366000034ECAAFBA80E4E54881719DCA3FACFC05 +:10367000A773D57E8FC65FF4FEBF3E9FF63F1C92B8 +:103680006AFFEBDF8B0D17F6F375EEF710C3A78615 +:10369000E40C0FF6E9FB317CFED43C68E5F8C3632B +:1036A0006B0FA55E4E747DB251DF9F667EDAB13F2F +:1036B00097C8F8F0CAE7B668A0CFE8FD79B232AC97 +:1036C0005D707F52F905F767A5F83FCB4F3BE06D82 +:1036D000DE8F73BBE1A7F5F9667EFA85284C1C8561 +:1036E0004A4F4516DBD3A3E0AAC3339A2FF6CEF791 +:1036F000327CA3F9A240E88B018E3AFC74FA1422C2 +:10370000C8E374D0AD4E9FFAF9D4419FD1EB35C3D5 +:1037100031BA7E5CBEE0F9047E25E3456B9A3475D0 +:103720002F20F42ADF1B81BF845B37BC9A9162CCC7 +:1037300087A3F28D51EDFD51F94054FB60547EA1F9 +:10374000A97DCDDE430E19371A31B58BA9BB96F58D +:10375000A3AE724258FAFD769F758440177DDA3920 +:103760007ED57E8F08B92157BD28ED5967BCED097C +:10377000904756C44A39F08C47E59364BEBDA763B1 +:1037800025F89F5EDE1E2BEDC16702ED0949067B21 +:10379000436B933501F7035AC2D29ED5753ECB18C1 +:1037A000AE2DCADE35DEEACAACBB0CF1C4B97CBFB3 +:1037B000EADC72BBCAE79500DFBA9CF86711F8FD36 +:1037C00028CC334EDAAF45C86F435CC82C893251E0 +:1037D000F99B6509D0E76735C9B890D96BCDF89CDE +:1037E000E39A9618F182BF98E339E6425FCB855E93 +:1037F0006A2EAF52FBA02A6A1F04951D3E7A1FB4A1 +:10380000E8FBA058142BFB11FBB716293E3CDE5AEF +:10381000F8ED1904EF3387AD2286F2E79AAC622502 +:10382000D6B95D63FF1E2E2E607FE9FA9E0EAF367D +:10383000EC93FEDDCB176DCFFF6938FCEF357BFED7 +:1038400050F4334ADBF6BC9FBF1FF917FE35F30F68 +:10385000A26BFBB297BEBA15FCF6CC4B3102F47CDE +:10386000E6A5D7327F88FCBE18D6EBCFDC1323FD4C +:103870000B2FB9D95E72A6AF94E397BDF865510BD3 +:103880009F1FCBE5FD8EFE0EC6E3B9A67F3F0AFB68 +:10389000FEB9265A15E48297E279BF2CD817CB7A65 +:1038A000DF9917BF1C6E8C6FF9EFAE478F6338E35B +:1038B00016339E039D26497BFA82FD973F05FF7DC7 +:1038C000EDEE038E59545FF6EBBF15815F9E794E86 +:1038D000CA3BA7ED2D4FC0769AFA74DD43F6CB6153 +:1038E00047A4CE7A0BF1ECD37BA7625F74858B84FF +:1038F000C3198203D64570A9049FEF0E1E83018F62 +:1039000061FF8CF0387BABE45F2304FCFD9D70D13C +:10391000FCB2DC1D766ABC7E59FED29745E02F17BB +:103920005BEFB5FF9FAD77DE3FED7A25BD9F55E795 +:103930006734DD77A5EB17BEC7F99D6E1FCFF71271 +:10394000F7FB9A7FDAFDFE3F83EFA7FF69D77B3154 +:103950007CFF46E1DBED815DF3CC8B7FCB14FFC0B8 +:10396000BA5FFD5F4AE7BA7C5E6AF51D2EA6F6AF28 +:103970008BC6777DD92C6DB09CB14CF9015E4BCBD9 +:10398000DE24EFD74A3DA84CE94167FB6BBCEE65EE +:10399000C2C2FEB9326735CB99657DEE3F2BE3C7D6 +:1039A0002C3C9FD79C576EE538FB28BD6F5C1F6B86 +:1039B00004FE86434B697C6A77C86DF12C93E5ADB4 +:1039C000289FE093F2FD843ED7729C6999F3CD194C +:1039D000B0038F7399F5A26BA3F49CABBDE6FA72AA +:1039E000F15C0AEC6CE58576419A829880F606FDDA +:1039F000EFEDFE1E86C3D5A261B9C7F55F820BEB62 +:103A0000A9360597CC02A917EA70E90A07054721EC +:103A1000E59C68B8D95CF736732A484F95EB62FD90 +:103A200056D75375F845C34D28BDD7C64376C2D780 +:103A3000D647FA830DFDF1BA3BE0A9E0FD8FC23510 +:103A40001A3F1783F3E780F3B0AE70EE632BB661D5 +:103A50003F5DA9E4F171B62499EFD36C0D30FCC23F +:103A6000FC5DD9E73E1BE48EB1AE241BC74D79FB4C +:103A700026417E84E8F84D86101936118A815DDF73 +:103A8000D3F232F65DC543315EC0BB8F4DDD37B535 +:103A9000497B37EDD6505C09B7F73B92D16EAEC08B +:103AA000CDA88A0CE1D3647B9198CCE184C28AB81A +:103AB0003A4AF15D056468B4BBCFC6F798F98FE068 +:103AC0000D771DEC0CD4AFDF922CBF4F28E1EF43F4 +:103AD00016F9BD1FF7C2EDC293A9D164B3CA3CDF8A +:103AE0003B023D62452CFB0D26964A7D41DFF7AB3C +:103AF0000BA4FD434F33067879FD568B2F0D72EEE4 +:103B0000A4E503581FB1C6056A9F879F6E673CFBFB +:103B1000D72A567EE7BA6198DFCE1E3E90CB894900 +:103B2000BB384E7DE6F21BEF7C8FCA83DB62B9DCCB +:103B30003F201828A0FE4E68DE5B9FA78299D71F02 +:103B400072200E7852E3AED3B0DF4D9A16CF719546 +:103B50009344E3EF107F29A6C938A7D69D6E07606E +:103B6000715DE3591BF4ABEB466B606BA235D693EA +:103B70007907CDA742F96B6F51F46F8D13C1E75CE4 +:103B80009857DFFC1C2ABF0EF7DD2EA0DFDCAFB795 +:103B90002FD536C02F95A5EEC3E8EDD10FFA7D489D +:103BA000C1636E81F4EFEAF9AC32D97EF6EA98D6B9 +:103BB0005CE831ABED91FE947E35B0B41AEB9C9885 +:103BC0002326AC875FE02EABD8C4F315AFB27DFCE3 +:103BD000C16C2FF4B8A050F1176BB3D93ED53AD6CB +:103BE000E748A77CEB83D91EDCC398ED92789F1D34 +:103BF0007032DE5BC73646E04F687F5463FC1DF5CC +:103C0000C8FAA3AE02B66F64590FF4633F44B1F42F +:103C100043FC7640B01EF3A868A87803FB5C7C4D9B +:103C2000EB1E8EF859C1C46B4DA07D027AB6F91215 +:103C300070DE24D802CB0B380ED2F7E31134CE63FA +:103C40003FB60AD8FDB2AC321EF45881A4878988E9 +:103C50000F253A7BC2DE320FFD94E9E5C99EE12EC5 +:103C6000495F02E3B7DA3DF9585FEB8A580BFC7203 +:103C700013EF91F446F4EFB4D1F76B6C220EFEF71C +:103C800020BE2778DEB2D416D848F93E4E6173279D +:103C900003DFC5AC3F8F18149C8B797D7AB7B802CF +:103CA000FAE4ACB50FB21F44C797B0358FEB41E3D0 +:103CB0007CBA25BB0471383A7E470C2ADD5060C4BB +:103CC000D3348DF143EB7162FE5F0D9CB909F5545D +:103CD0007E00F89B581AE9B7A810FA5F8DF0E33C14 +:103CE0004D133E9CCBE78484F3B9D53686B3BEDF53 +:103CF000F57DADEF679A37EF5F7D3F46EFE3ADF5BA +:103D0000F26EE1B67A27A73FAFF7085B9E10DBEBB8 +:103D1000D338BFB3DECB69637D01973F57EFE3FC38 +:103D2000EEFA919CDF53EFE7FCDEFA724EF7D5070F +:103D3000B8FC56021FE23A687CE6373A9FC1FC2C79 +:103D4000259D7C40C79F7DF5580BF8B48E3FD277F8 +:103D5000F9BD8973C2CBEF4D742717FC4FCD9FF887 +:103D60005828B1A413AEC8C71AF824F2EEE4CEF571 +:103D700021347074B281CFD9E4FD7EF0C3D492CEE9 +:103D8000F5C31478BEA4132FF86E4C14DE40873AA6 +:103D90005CE8FB486A89112E6DF78F00DE2B2D3E03 +:103DA000B67788961D2F70DEC5FEDA4C87D80B7B60 +:103DB0006DCB8F5C02F651F0C918DCE3A9D484CD39 +:103DC000606FF8CEC25861339C5FB7D52599F22950 +:103DD0003F3AF20ACC67D7A5063F079D1FBDEBD43B +:103DE0009F9FA6FE9FBCFBE3C141A6C7B62D8F6077 +:103DF000DC25713EB64750DBE4CBD8FEC27E32FCF8 +:103E0000E1DEE34C75AECF0CC5B7C28EF684C3F3CA +:103E1000FBA761AF5D69F5808FCE5C2ECFE50F808B +:103E20004782FB1F151E45C3231C5756A1DBC557F0 +:103E30008FF777D8630868090372E4FD7565CF3999 +:103E4000FA838C1F739CDF0AAB4785DFF89DC3BBE9 +:103E50008EAF8F17DDDF87E982ED2624F58B3AC21E +:103E6000C387773B22B8E3FBA1E6E47706346F8A89 +:103E7000B885CA83AB5F3B827EB4BAC31C8F107413 +:103E8000BAF83E9D08D9DB8CFD6975AF723BD1D283 +:103E90002709F6623E97AF827FD5EFC03D6DF004F3 +:103EA000D0CDCC828302FC5534681EF86966ABF233 +:103EB000D9FAFD709B2F6D1AC9A77903ACBCDE0936 +:103EC00005F2FEFD23C025FB051AF8DCD5ED58B33D +:103ED000D76A7C7F7F7643B1638EE17C99A9CA67FC +:103EE000E1BD0443F930F44BFDF45E5D3C03FBAFF0 +:103EF000B77A4FA17741C90CF097DEAE0936C801F9 +:103F00007AFB21036CDC7E821AFF11302B9ACFBD25 +:103F100005520E9CE9BA61B39403BD0ED855F5F174 +:103F2000661694AC449CF0CCB578E580E4413B093E +:103F30003C2988472FDF02FE75F9009B5A9FECB79A +:103F4000469D77B43E07FC9F9F22C29CFDC0D29E37 +:103F500057B5F317EC5FABFA430C9FE35543E47995 +:103F60002B0AC3C3A74ABF8DC97E3EEE177F4A60A6 +:103F7000BFC76E2BDB792995F65DDD1EEC93F185CD +:103F8000D176DC9777FE21E18276F3DDD2EF7731CF +:103F9000BBB97EAF6CC1AFA4FD5787E302ED3CFB1C +:103FA0009B16BCB822F542F7B7E0AF011D46DBD146 +:103FB0002F66678FB62B560F30DBD72FF5BE989E36 +:103FC000AFAC2BCAFD6828EE8F05BF370070AF1B62 +:103FD0009E8BF8A2F97563388DBE4F56593788DB32 +:103FE00057D50DE5FA88926748E0E6FB88BA3DF3BD +:103FF0005C382F51FC9D792C584F93A5EFCFD9BC3D +:1040000089F0C7E9F784CF6CB7B2FE7066FBE04D6C +:10401000D897F39A1E7258A83C3240EA5FA7A2FCD8 +:1040200002F3B71F637F5DAD6866FC10DE84D3E8E2 +:104030001F427C608FEEE757FD0BF742D0EFBC4686 +:10404000CDBF05E791B391ED1FE7B67FC71E32E004 +:104050007383A2DFE8F93F0879D5E09FC77C319FE1 +:10406000EA98C6D31F60273C1BCFEF81105E7F0705 +:10407000FFEDC90D43394E795EE3AEF932EE2CDE29 +:1040800003BBCA89A878C86D6A1F6E1B20E5BE9362 +:10409000CA0F7672A795F92FE68B7D7C4233DF93AA +:1040A000DFA9BEDB3940E265DC00B9DFF4F6F31AC4 +:1040B0001F6479F0F4EE6BF3B0EFCFEC7D27A11F16 +:1040C00095EF55EB3BB33BBE1CF038B3FB6713F6E3 +:1040D000135D9F6A1C9B82FDA7F7FFCA00F97EC291 +:1040E000A926E9EF136119B7540B380F35CEB30782 +:1040F000BF63A07FA7C76B9DDCFDCB044B61271E70 +:1041000017381B567B733ADF9F88B5074310B4ED11 +:104110007BC7CAF7B4F029F5BFA6A021C0FA806A10 +:10412000E770FAF970D5DFD512FAFD3A755F84CEE3 +:104130002FF70A9AC7A2C1716C4FBF758877FACD65 +:10414000E0C3AFDB191F8B068808EC179FD5B93782 +:1041500002CF8BB27DEC67BD75A8E233692DC31029 +:10416000DF51B35A137EC495A565CAFB286AEFB721 +:1041700066FBDE5A05B9F34D2967D784AD22389422 +:10418000F9473EE2C9C5C8483EE2477A139DF8099F +:10419000446D0A8F471D324EB32647C6C967A978BA +:1041A000939A641957DFA6C7DD4F89E423CEA5E6AD +:1041B000B9748E7369D3E3E8A91CF3AC2991F1F4C7 +:1041C0003A7C6BAA0EE6839E6B66FABCA86FCDF6AE +:1041D0009CE678A2E7DDFC3E8FE505B78A4F8BDDD4 +:1041E0001423CF6FBE9F92B2355DBE873250EA195D +:1041F0008F75C4C5FBB3A7D23A1E5BE24AC0F99BD8 +:10420000A2DE8B98E768E079EAEDF4BCBE2EE4B15B +:10421000AE3645CFF3E2545ECD7F5E4203CFBBD5D1 +:104220002EE47D8767E4FD9313E9CD7B38EEF499A6 +:1042300001785981E61F9EB397EB49AEC77E0969A5 +:10424000CCCFAB7E1E13C1BA8E3F23EDEE55F57574 +:1042500093A08F57D1B6C7BD324ACB713FECB8BDE2 +:104260002113E31EEF49A90BF20EC94B4370AF6255 +:104270007D26EFEFCD311AF87515490A90F7CE89F2 +:10428000865B1F93E5D0D445D5E6188EE30F5239EF +:10429000EE370A928340373ABCA9DE14A7D89A6D4C +:1042A0007ED7C03B50EE3FEF4089F77E03A53DA08F +:1042B00036BEF1A739BC3EB94F083F2A6EBFB1E008 +:1042C000672988E3C8D3C01FAA1A635B2177546D9E +:1042D000B7471C454C27B2FD6427B79F470C0DFE1E +:1042E000E27942CA97E3ADDB391EECB36DB12558D4 +:1042F00017C197E753F5831F4AF8BCE0F6CBF735B3 +:10430000F8ED1F717C6B06C7874F44CC18D3C9608A +:10431000C6C3F1E48622E0B36AD5080BC78958A565 +:10432000DE45A95FE3387927F3D11AC5476B578D6E +:104330004A1C857DF5965540BEA99A5AF906C6FBDA +:10434000CC46FBE902FC3F1A6E0B064ABE5343FB08 +:1043500004F77A6BD5BDA6EAADF29DC6EA95D2AE5A +:10436000287EAEF17B408B632309186FF116AB0FEB +:1043700078AA7634E6F7A4716E52FD50FB20F892CD +:10438000DEDFE2D8C639E86FF18E58E6E7370D4C2C +:10439000617CB4353E940A39B76B7B39EFCE764FEA +:1043A0002518E377F4761DEB6994F6A4CF44F3F770 +:1043B000FE409F7CBE3D96E745F8E4FB62D1EB3DB5 +:1043C00069A7F9D0FC4FEE88E577FE3E213E18C282 +:1043D0007DE524FF031CE7F0B695DFB9C1BC701E74 +:1043E000CD0D9BBFAFEDE14B449C64ED5B65367C2E +:1043F0007FDB40C98F090FDF6638BD65E77BA1D140 +:10440000702F55ED3AF6DD8E78A6A393BD25FE4FAD +:10441000EEECCFE74A6B92BAF76B6FCC443CF3C932 +:104420001DFD8BF97E258422C27B9547E2FD6452F7 +:1044300063A6C750AFD31B2E18A5813EF04D2EE4C6 +:1044400004298F553BD7723C0BE29B8797701A89E2 +:10445000B9407C32D123EBEBBB07CAF31ECF6F828E +:10446000EF721C3DF3AD4607F87250C98F35DBA3E0 +:10447000E39B65FD3AB5FF30DB143DAE1AF1DC215C +:104480008DE362AA97DF310F745ABDF0C19B41E7FB +:10449000FAFCAB6DA21CFCA055B3F23C5A63C56D8F +:1044A00053C00F8DE3E4C8D493DAB9CE27D4789BF8 +:1044B000067A75F95634503F35CBB5B5DC7FB66E0C +:1044C0003790EBD1BF233038704EB48E55F5DDAC4C +:1044D000579F5FF47A75FCEE517CA635DBFBC06814 +:1044E000792EB1BDE6DCD7431393FF8E7E0DCDB59B +:1044F00023CE98F6FAA18142DAE314BFAAA6F961A5 +:104500009EF91BCCF1E5059BCDF981DBCDF9C2DD30 +:10451000E67C519339EF7BD99CFF05C61D26F57DBE +:10452000DC3787BE8F14FABE3746EAFBC843DF4745 +:104530000A7D1FE5D0F79187BE8F3CF47DE4757846 +:1045400043EF471E7A3FEABF5470DA877753AD7C5A +:104550008EB15F7D94D522F7C58D0E53BCF1BECAD6 +:104560003EFABD34BFBC87E552F7B0E47D29433C39 +:10457000A8BC776555EFBD46DDBB9A63695E999E21 +:10458000DDF5BED5CC94E0470387493A433FFB7243 +:10459000C28316F1F91EEB827DB065C5272BA116EB +:1045A0008D48091E1FD813F797DBB7CA7BC911E6E0 +:1045B0002F2D4BBD6F5DA5CB21D47F054115F42B6D +:1045C0002A93596EBAE8BBAE177DCFD54C1FBA1CE3 +:1045D000F7A4BD3D1D7CF2D833CEB598E7B1587530 +:1045E000FF6886332AAE41EA478BEED736E15C8A14 +:1045F0001924EFF39F3B4C50F93B7439EBFC509678 +:10460000AF3BF26B350BBF279196CAE78F2E8765BC +:104610006A248781EFD1FA713EF75F6F31CD7F4019 +:1046200038CE446783B62547DD33E96D6A3F646F52 +:104630004ED43D9381E67B0CD3961EC0B93C75EDFC +:104640005053BBD98151517053F354F2E86C250794 +:104650002EBEDBC974B4F83D2BCB2F95A8247E5811 +:1046600089BE088F959B55BC749DF99CADB489108B +:10467000DECD9AA5CE9F27F05D3ADF57F127D1F71F +:10468000A78A1BB6E2BDD279BF7967B807F7EDB448 +:10469000B1BD609488CD0F160F227C65DAFD1CAF8A +:1046A0005BB32B2F09EF97B51D7E85E3315909BD0B +:1046B0001CF59E38E073638394EB6117B32677E2B1 +:1046C0007B63438FB87EAECE7519E256580EFE0C52 +:1046D000712B20BBB15AC831A473FE8BD479A1EFE2 +:1046E000B38F94DC2FFAC97EBEABEA6B4A5E7B22A5 +:1046F0009950D76639F8975538978A1BF32390CF8E +:104700001EDB987A13C1E3A198E03558C7A237CBD6 +:10471000121047F7C5763BBF13F2E7754F3D81F89E +:10472000E6550D4F39A0FF57D9C20E8EEF7C66A318 +:1047300003F1CDDFDAB691CBE76CAB603D71AE58DB +:10474000C87AE2A7FAFB176A9F54966A1B3C34EFBB +:104750009D83A41C5C1927E5DDF1D6D1AFA4B05C24 +:10476000A5719CEFB4C0E4F13D219F3426F13B4597 +:10477000B355FB68BA3FF78655DA6FA7493C77F720 +:104780007ED2D4F3D94CE7D3CE0F62FDE9FAC8004C +:10479000A9AF169AF5D54A87F72DF075F15BA2738C +:1047A00061B01FF8EC2C17D712BFC2BDC6C068ABF2 +:1047B00059BE1A176FA2D319C240FF34F40D087204 +:1047C00031E4A74DCC35B59F3E6D50145D9774D63E +:1047D000333FB8C2743FB216257CDFA4B44BB9BCDA +:1047E00067798DE9FB5A31C5740F6FDE664DEA2992 +:1047F000BB93D8DF58A9DE8F9B1194E5F3F7CA72FB +:10480000314398F6575699EF5FE5B967677D4CF7E6 +:104810003BCCC07FE77685BB10711DF7FEF16E03C0 +:10482000EC06A6FBFECA6F8979B39CABEC48B505D4 +:10483000D28E541B6A76E05D0C82BBAD07E2331B5F +:1048400034C607B577F62891F9251C6F6D8E1B438A +:104850007F88B39C7FD85A817D125D4F7427E5DD38 +:104860007D32DE75EEFAE838CDB5EC379D0FBB90A2 +:10487000016FA7077999AF566DDBF56A6F82C3D4D4 +:1048800080A4CF9AC6C9F68AC2AEF44474CDEF3F75 +:10489000CF11445734DE1CDABF616FF7EB869808FE +:1048A0007D435FFF7CBFA4BFDEA0BFA2AE74571BD9 +:1048B0005AE8E0F74D3668E2A16CD91EF0E80D7AAF +:1048C0008C8207C32F0A0E3A7C3AE015551F0D97CC +:1048D0003941C1F43167AF160E6B5DD7D11DDCA233 +:1048E000F13A57343B70DF64EE6ECD87F7DD753FEC +:1048F0008E1819653F7A2397ED47F3030A2E3A1D68 +:1049000004249D4F392FED2137E07DD3A19D7431D3 +:104910006DA2793F5E7F3E95EBFF513AA1939FEDEB +:10492000AF974A1FFA3A743E0C3B21D3858A938E87 +:10493000DE1FD176C6F383545CF43031CC1417AD4E +:10494000F8677776C68EFB8669173E372A7E23CFB7 +:104950000D9D7F06D579105C614F15C6F3462F5724 +:1049600076B7457717F0BB1F994B7B70BB8A580F02 +:10497000C7F5572C95F1D615D4CE6B901F562ECF78 +:10498000CDC439F0E19AFE4F84F0BEE45D29A9233D +:1049900009CFC756D853F09EA3DEEEC315E33311FB +:1049A0002F72ECC19819FC6EEE8F9C02EF5DD4EE75 +:1049B000E925DF67B3BA5211A779EAB91EFC0E9157 +:1049C000B750CA93352B9E4FC03582EA15F2FCDDF5 +:1049D0009117CC2A64BFF3C6ADECB0F06C2C02FF8B +:1049E0002F02CCA9FDA7E8AB84CF213ED73F8DF5A0 +:1049F000DC807E3F7DC6EE831F96EAFDF0177D5773 +:104A00008B7C7C15BF2BA3A5C25ED3F69E95EF6170 +:104A1000CEB31E2842BF35F57B33611AA82CA1F313 +:104A200092F0FC4E4CB0A8B027E6F154263B9F56BE +:104A30006FE4F7F40D76DEA1A8AF859D97F2C1A5CE +:104A40007989F23DD60BDB7975B834AB77C2B6AA5B +:104A5000F31BF23952C8E788EB817C8E3CE473A4E7 +:104A600090CF51BE60BD598E2B507E57DDDE9B65C9 +:104A70003D5B0C7937542A0A16F279EB2A80DEB9AD +:104A8000588BF3415E5CACC97DBDF84FB1D2EF14D9 +:104A90004E37D143F47BA557B6D3996CA0DBABCE90 +:104AA0003B85F17EF2589164CA9739D34DEDC77BAF +:104AB000B24DF5DF4A1B60AABFDA5B6CCA5F5B7060 +:104AC000B9A9FD75BEB1A6FCB7475E6D6A3FD93F77 +:104AD000D9949F5A7EA3A9FDF5810A53FDF419F3D9 +:104AE0004CF53706EF30E56FAEBCCBD4FE3B0B97F1 +:104AF0009AEABF6F15FCCE5D13F4AA18BCEFE394DD +:104B00007A90C563837CB8F8CD3C17F03FBACCB23D +:104B1000F042F10A4B147DEF1AECFF3EE8B9AF7A90 +:104B2000BFA9AF7A87E9DE4289CF0C1191EFA18A44 +:104B3000E674D05174BBE8FAD1F1073FF3120E3F8F +:104B4000DC3EE3061BF1A3D1230E0ECDA57CC68E61 +:104B5000076EB0113F193DEAE02F73289FBBE36D4C +:104B6000991F72F033D46FDEB14EB69F2A58F418F5 +:104B70003278FC0D21CCFFAA9CB53E69FFE0F8100D +:104B800036440C37DC6371BA22B986F73B000FDC80 +:104B90008F073C9046888E911E243A46FA32D1F116 +:104BA0006CE25FAF121D233D4C7A26CA7F4B7A26FA +:104BB000D23748CF44FA3BD22F9136937E89F45FA7 +:104BC000EA6770FA6E7D90BFFB7D7D25A747EA17E7 +:104BD00072F907F5759CFEB13EC4E59B0B959D628D +:104BE000AFBDCDF82EABEEA7D4FD92CB168A96784A +:104BF000F081165BD2C7CE4E7F63F77ABD4D7C6CD9 +:104C000090BF1285FF59E02FFAF722E27282BBC1F2 +:104C10000FDECB9E9A8787D46F38BFF01584FEBC19 +:104C2000A7DE1388EEF75E450F6B06FB7F85FE3A25 +:104C3000DED1577EF40D76E92FD7FDE87A3C82EE7F +:104C400037E73F431C911EA770A553DED3D6E3067A +:104C5000F4B8A4F19F0BDEFF6356DBD8BFE6B6893C +:104C600008E20BF4B8A331E888F03E2645307FE82F +:104C700045E58E12F95EB395D2CD5F51FB22431C00 +:104C8000548C08C19ED94BF9E3A91DCF6FFCE741B5 +:104C90008E8B1AA3E22FFA3AE8E092EDD85FEB860A +:104CA0003E84EF7BB41C82FD2DE3DF0927D4EE7137 +:104CB0004DC60DE8F117681F2FDB47D06FBFBFD27D +:104CC000F8099DFB64C3D8E66CD81936DCE9F4C159 +:104CD0006EA6FF7E001B93082E53155F63E73AF222 +:104CE000EABC14DB7AB15DA854D5FF282778127886 +:104CF0000BC478FE14CFFB2AB72FE481C94A5EFEAD +:104D00003B786BC777D178D3F1A5E3C31047C2F8DE +:104D1000D0F1A7E3371A8F3AFEA2F1A5E3F17F2B7A +:104D2000DE2EB3C9F7F4626A9CFC4EDFC5F0785BF7 +:104D3000BB9890484D86E706EF059C2BCE7B5F45E0 +:104D40007E9618CBBFEFA1D75FD54D7DF0F3767B74 +:104D5000A201DF572A5E3EA79BF67A3BFD9D0BBD65 +:104D6000FFE5DDB45F3C5EDE072B7F4FDACF5F5798 +:104D7000E726FCE9C5C30D719A8573592E162E29B5 +:104D80005F7AE91FF0A5ABCEDB4CF266B9907C8A66 +:104D90000E661BE8AF3CCA5F7D8D9247AF89924794 +:104DA000A3E5CB7183951F3B5B64FF83EF9E5E3B66 +:104DB00098EDBC66F905F15EA0E75CAF95DF9DD18B +:104DC000DF39D5DFCD1DA7F6D138BC9B4BF31B2FA8 +:104DD000827C1E7E4B8438BD9AD683F45A11E1F34F +:104DE000F33A62BCC87F1B213E943F143FE916DCB6 +:104DF000CD2B1B5AD68FDFE5E87C17F0D6C1C3F860 +:104E00005DC07FF318DE053C38CECBFEC5834E79FE +:104E10001F18FBCD9EDCB99EDFD0B9D38FCE854362 +:104E2000742E217D85CEA57EB4BED7E85C42FE9A65 +:104E300082A502DF4DF09AE37CF4EFAFF594910286 +:104E4000D23DBCAE2DFA551FC0F3F5A4FEE3B0DE93 +:104E5000D793468C037E5F4FEA6591698C0369772F +:104E6000DFEB747F6DA1BC977AAD67028FF77F018E +:104E70009EAB81DF6878DE0B991571E8CE7712D290 +:104E800072E05793FC67D1F36F1659297F1C5323A7 +:104E9000B9614CDD289EE755759773FA49BD280422 +:104EA0005C6B9C125ED17628B1B997C518773C34FB +:104EB00026B81EF8ACB134255C41F59F6C786727A5 +:104EC000F40792A31FC7BC6AACDEB53ED8655E97F7 +:104ED00071A3E2EB439953DC5DE9516C9E6AD29376 +:104EE000747AAC71EA700C317CBF9DEBE77D2BD4FA +:104EF0007BA47A7C4B9F18F9AE82FE3E26E419BE55 +:104F0000DF1825370C8F937CAD4F8CE4D31DFCCA82 +:104F1000A1CE65EA6738F8E003F25D8ED5BDFCCF1F +:104F2000611DBA9DF65C9F787EEF644C645022F25E +:104F3000E5B00BD0540FAA38AC6F0D5AE8CA213C2B +:104F4000BCD53FD8C4FBCEFAB515FCF18D3C4DF471 +:104F5000D060D71DEA62BDF022FB377AFFBF3C5814 +:104F6000E99745A2C8743F4EE185E6C7F138E7DE10 +:104F7000B5725CDC1891FF08EC166587ED8898EE39 +:104F80008C974C937EC3F18765FC4FA71EDACEF356 +:104F90007CC5A389C7687D316916E135F0B1586FCA +:104FA0009CF01AE6135F906CCABB7DBD4DED1347B4 +:104FB000E698EA93FC034DF53DCA4B4CF99E812BD4 +:104FC0004CED7BCD2835E5D383D798DA67544E3145 +:104FD000E5FB2EBCC9D43EAB6EA6A93E3B5465AAE8 +:104FE000D7DF0315217F7341AAE4D3F8CB5DBDC899 +:104FF000D4AEDC3587EF43E635FCC0D49FF04A7B66 +:105000004388FE015D7D810BB7948E4F33DB21CA4F +:105010003C635F068A3254BC92103E2FCE81328FA1 +:10502000D92E91E12AE7B8F98C8BC433D98BD439C6 +:1050300070A974101C78613AA8917245341DBC02A5 +:10504000BE942BFD04C6F5C24F60840BFC04C63C25 +:10505000FC04C6F6F01318EBE12730D60F3D6CC602 +:10506000FFB06633FE471C29BD247C5DDE62A60BC3 +:105070001D5FA33E9D72417CCDA07FF89C16F29CE3 +:105080001F47708A88AE78D3F1A5E3EFBF8BB7D105 +:105090005178FB42AC1D86F7DDCF54487EDDDDF94B +:1050A0007DCAE92F2D223EF87D651789D6E7F5F8F0 +:1050B000CFE8DF21F9BEB5C58D73E24B4BCB60E085 +:1050C000335DC8DF8148480D4E427FBD104502FF69 +:1050D000DEBC1B8A716E9EE9DB7EF487F8FE2EB77C +:1050E000E4D3A4F2411E6CB9CBCDF12FFABC6ECD46 +:1050F00090F13FD38B94BCE0937140371549F9D9B7 +:10510000EDF3707C7845A150F19B22F3D6C106FEE9 +:10511000B9C4C6FCD3161BBCAD08F762D4EF5CE97A +:1051200071CEE2E2BF6F321BF3EF784F709EFE4EFE +:105130006624B63FF5FFD8BA64F37BA2B5A2E33D7F +:1051400051E41F5B92AFBF7F24EBF5DF1111E158F3 +:10515000F899FBAF1726F9E131F5FEEA63EA7DCC59 +:105160000161A7294EB8331E28CCEF640EDAE63170 +:10517000D50F6E4C33F53764AFD7545F1C2930D54B +:105180000F3DEC33E55B549CD0B0E691A6EFA07FD9 +:10519000405F1871C46F2ACFAA5E3409724A5F2536 +:1051A000B75FDE526EEA2FEB4C9C0571B91B8B7218 +:1051B000E4BB8C9F064CF57CC6131C6FFDBE7C9730 +:1051C00051D77F0CFA10EB410E217F97CA417A0C20 +:1051D000E84D8FE78E8EAFEFB807E3ECBC77638CBA +:1051E0007FD7F5978E38789BDFC2F1022ADEBB832A +:1051F000EED47BAAFAFB9F4FDCD5DB4497DB8AA475 +:105200009FE95881DC275B9C324E62D9DD2E81DF1D +:10521000BF11B69674E0E7D922694F88CBF3EF004F +:10522000FD1D2B907EFC27DD9FCE43FCC3AD43E4E8 +:1052300038B7582CB74D2E94EFBC3E67D017F729DE +:10524000BA7FD427FBB93551CE47FC50BEBFA4AFBF +:1052500023CD2196F3BB62B69601A0E7EFAC6DBCFF +:10526000BF3F55DDE268B0CBDF530ADB21FF4C2C9A +:105270002539AF1876BF6F1E765D8EDFE9B2B1DDDE +:10528000E640D1ACE9241976DC7BC9A2FF061E26D4 +:1052900002BE940EF2C978E83FE14C1966D85FA4CB +:1052A0002FAAFB11F2DDFC3A07F3791D8F063CB102 +:1052B000BEFA3F757F40A873A99F24AD0EB8E8F4ED +:1052C000A3C345BF7FE2BDC31ED8E4E27B2CE5D07B +:1052D0006375788FF149BCC60E9178453BF015BDDA +:1052E0001DEE49B4BA3ADBFDBFBA2FD101DF8BDC2A +:1052F0002FEBEE3E59F47EE23F83FDA0BB7B64FAC8 +:10530000FEEAD83FA2E54619FF20E11BEE67617F68 +:10531000B5FEBB853A1C460E91FCFA98CEC743A455 +:10532000DFA6CAFB4FF81B6FFDBA02F473BBDBE1CB +:10533000859D22A8CED531FEC04FE19798B9CE2EDB +:105340003652798557EAB748E1BFAA0899CFC7B95D +:1053500022901861FE2AE5CB65F76B9EC734FCCE20 +:10536000AFB9DDED42F633D7257F47E4F6E8F753D2 +:10537000949E3CF7227AF28021EA9C1D2286B07C22 +:10538000A4FCEC954E7D5D66F9E85C58FAA9705F67 +:10539000C52AF1C47157FAF9EB853FC560E7277854 +:1053A000C6E1F7D542CB6DFCAE54347D75C0B39BDE +:1053B000388036F57E45873F47D5B7853E6BE5FAA1 +:1053C000DDB1FC8EC4A9E2E622F82B747F4EB47FD7 +:1053D000E8DC12A7407CD9B9DD6EF69FC38F9248F6 +:1053E000783F61D9953A32BB733EC116ABC9BF1045 +:1053F0009DEEC80B4E1E42F30DDA05FB6D966DB7A0 +:10540000FA9652FF6B5C07F95DA82B35FFD421BCDF +:105410001EB3BE3691CE45AB413FD7FD1FD1EBEA5F +:10542000E04BA365FCFFB9907C8FEE5CB97CB78341 +:10543000F89A1FF07E4F04584E992C482ACBFDC78E +:10544000FD2853CF17339EA69D1FC5EB0DAEBE9C06 +:10545000F3F959210BE284C5CDF2DDD1E99BC58A70 +:10546000382FE282A60F83FEB57888E4E3F9EA7C60 +:10547000E9824FB54FF0F68591CF2E5AAA319F5D44 +:10548000A4093D7E87F9AC9EFFAC41E5C7CBFCE2A9 +:105490001532DFA27E5F61ABB263607D48B13EE84A +:1054A000DDDB959D03EB438AF5A11C7C0879F02197 +:1054B000E4C18790071F420A3E84F299229009C7EF +:1054C0001BFC3CE30CFB0B7E9E71867D023F8F3103 +:1054D0000F3F8FB13DFC3CC67AF8798CF5F0F3189C +:1054E000F3F0F318DBC3CF63CC8B915777E6E1770A +:1054F000F34F36E5A7925C3ECEB0AFE1E731F60F51 +:105500003F8FA9BFE01DA6EF6F1675A6EF73172E8C +:1055100035B5BFAD4E33F9816E53EFB3CE5ADF834D +:10552000E9A43227D038A427FFEED49D76E871D6BF +:10553000A679A0D345B5713E89E7867289778B90AD +:10554000786EE7DFA3FE6C89FC3DEA45E32F1CCFB4 +:105550000B3FCA38BBF4A320851F0529FC2848E16E +:1055600047C1BBF5F0A320851F05E5F0A320851FEB +:105570000529FC2848E147410A3F0A52F851F01D2D +:10558000FC2848E1474139FC2848E14741F951F8F6 +:10559000730CF75A20E7F633E977448726FDCE638C +:1055A000CA438E35B6871C6BAC871C6BAC871C6BF3 +:1055B000CC437E35B687DC6ACCFFA5C8CBFB0CF2AA +:1055C000AAF13BC8A7C6FCE086D02BB05D5DB7E171 +:1055D000F4CB48F3132B9ED388359C7DF6F3E9F08A +:1055E0007BE5C7579424D15EB56B7F9D3E8EF2411B +:1055F00015275724DA59AE0CAAFBB9C18894FB07CA +:105600007F95CEF505051E3D1E96F953F16EC1F24C +:10561000A5EE8FD5BFF7098F957FEF4BB5EFCC5F28 +:10562000B85DF4F87A3BE68F8679E08630F879F158 +:10563000125709E229FF13DF5AA5AF0080000000CE +:105640001F8B080000000000000BDD597F5454D769 +:105650009DFFBE37338F199881C7C80F01C119103C +:105660008371D4370366D368DA27118F7F10CFE0B8 +:105670006E142CC28C0C160D28527342D3641985FB +:105680002468B48B0D1A934D7560A34DF760CE60FE +:105690004C635ABA3B099AA43D49639393DD9C3508 +:1056A000870C92B5A66ECA48CE56B39BD6FD7EEF48 +:1056B0007D8F194649FB57FF583D9EEBBDEFDEEF4E +:1056C000CFCFF7C7BD7352141ABD5680937BA1711B +:1056D000BD0B60F1902A5AB2006ACFC86E8303F006 +:1056E0004FBBA7C606B050110196E33E6DFF4223A3 +:1056F000BC6DF200FF83FB7FFC37CEC1FD4E009BEB +:1057000022B07D65653240367D8C1ABD4B00EE8D32 +:10571000811AC2732B6317EECBC0FDBEE0AAE5442D +:10572000BF5A8246AF8BF1B9A706F72D0E0AEA20C1 +:10573000EEBB497FBE05904BF4B269FFF01BA9C4D4 +:10574000E7F83A7E2E959FFBF1F174C67F5D8F30AE +:105750006840FE2B87401DC0F30E4DDEC54311038C +:10576000F1F3F7707E3A5DFFF3459203F7F9A1FD7F +:1057700091B915C8BE428013C0F43A477A9595395D +:10578000185F7DFF42407DED003B48D43C807D6545 +:105790007D5E2841BEA283F191CC2A40317E3F5BE1 +:1057A000033EA47B6F45665516D11D01A51487FBEA +:1057B0002B7E33436F66B6BB185D1416E08EA010C7 +:1057C000494355D605F7EC25B3DD1FDC753E9BF646 +:1057D000BF008A93BEE3DA373D71F9EE5487C51CEA +:1057E0005C73C105D182265A0A303A4788CB0D1026 +:1057F000F93B40FE6EC504E4971AA36C92512E98B3 +:105800009B2302F2ED3073BE5506D77B4F229F2FAC +:10581000DE36400A934AFB2EF3EF1D8FDD187F1210 +:10582000E974BC6251680E9D66F6DD2F731D7C47DE +:105830009169399EEF318181ECFC4A4A0870C97F39 +:10584000D4008E39009F8BEFE46CC4736D25A122C8 +:1058500011EDB53D7F60A9DD0070AAD4B75E413976 +:10586000AF0647D7D5229DF19E9773C86E5FF43C73 +:105870009011619455AB1BF90434FB041E6DA926ED +:1058800025FD4BC212E0F94B5DB8E30E927F6546F1 +:1058900094F4EA335D8AA24EB5F8F726FAC1FFEE1A +:1058A0009C1CC0F5A65EBE4E7F6EE2BF6D3D26BF5E +:1058B000B40C47305E8A9669EB689F07E1C03543B8 +:1058C0003A8DC6F87E5CEFFC7860C5B9B2F8F9167F +:1058D000C59675390DFFA3807213E500437D862FB1 +:1058E00001AFC9E3F5AED08A7326C483A0EE549805 +:1058F0005F4212C5C37623A861867B10011DF95D46 +:105900000BD7D3FFEEE80384E7A9F6521190FF8589 +:10591000321E4FF57B0C0CE7300CA15281E6F7B13B +:1059200038AD7F4555043CF71EDA831CB8FE4601AE +:10593000F3C7075D0E367FE0C66200F44375D4C23C +:10594000D637DCC863E3C61B8BD8FA7AB21DFA37A8 +:10595000FA1A84F622BFA9600A9B4F8D4088F82767 +:10596000E3D40D7215E1FE4E55189D4338BDB1824A +:10597000D1ABBDE166F4EEADF03F9E4DB80F21EE28 +:105980001DB7E27E63BDB38AF458B456008A571D32 +:10599000F7BEE0EB0CAFEB10AFB47E7F708F2987C2 +:1059A000CE0D01D3CF87EE0E5BE3F84E8E878634A3 +:1059B00068A7EF608D2EA73CA2DBBF8184BC07FFE8 +:1059C00005EB6A55B4774306FE3F9F030CD0CF36F4 +:1059D00017FFFE4AB8AEB6C708B000776620BD0212 +:1059E0002304533C7C6EE17355B2F3B90DC779665D +:1059F000089AED2CE461258E85B82EDAD93EB0F0F8 +:105A0000739083A384EBA9382204E086879D830CDE +:105A1000ED1CC95F887C2CFC9C6AE4E722746E82D2 +:105A2000F227FAFD9829BA8DF05E2F8A2CEF5619CD +:105A30003EAECAA5783C98E9E1F1CAF173498B57AB +:105A40009FA7F2AC1BCF75EC2BCD85AFC16513FAC8 +:105A50008DE2B32123FA90A000BCAF80BAFA6E8029 +:105A60003AD0EC857200E27E9336FF4A79E4A35E79 +:105A700017B3339BFF5A09D40691FE3EEB0FBD24AA +:105A80005F3C0F7A550A8B34970A3ED7AD7A6C3E4D +:105A9000103E788783E8713FD64B7D265A47C098E1 +:105AA000282E9A5CBC4E8091E3F2D2BE575FDA2F6B +:105AB000C4E5BE64825AE667888D53DE3AB27EAE94 +:105AC0007BBF964F0957CF6D9F3740FB27F57A85EF +:105AD00071E140B0BCD86566E33F77C9E040C30DD3 +:105AE00075CD65F397304E680C7795B1F5D35D0AA7 +:105AF0009B9FE9BA9BCD7FDAA5B2F9D9AEB56CFC14 +:105B0000599797ADB73ABC9F29CB89699FD98BF537 +:105B100011CA62CF9E40FE0D5D12903C1365DC1EE3 +:105B2000C7B7A7AAA4C7F147249617C1185D44FBBD +:105B3000EBA50BE7CDCEB81D2E76FED0849E24B308 +:105B4000973A90CEA6768B4279DBE7F1FE81F2465A +:105B50009A4B9128CFF85C21C18176CD97793CCCC6 +:105B60002F89B91FC2F1AC9BF3AB2EE67571BE0154 +:105B7000CE01E2CA95A3FE91E4F4797C40B8D83214 +:105B8000E27EB3C041752A5322FF34E462DCB03CAC +:105B9000142B5A6F8BDB798E9BD7DDB354E3719C4A +:105BA00024BBB37DA1DE6294AF2E4B667647DCF654 +:105BB000A4D869BFC8F6119EC5045C4B6054C92FB8 +:105BC00052A714EA4692989D54C9C3E2050CF6B850 +:105BD0009D304E548A9FB87DE437C96E319BE418DE +:105BE000A47A625DB88670EFEF13EC940FAA0CD51F +:105BF0006F12DD8E43CEE214B45395262FD49A59FA +:105C00003C346BF5ADE370899447FBF60932CDABBC +:105C1000ED0E4627765090071D1457B8CF13D73B8B +:105C200070F41B2C2E02211CCB678F9F6F1F1A2D27 +:105C30007C8D70175125923720637A7025C4579F49 +:105C4000C0709C3C5FEE3670DC03AC263B6DDEED35 +:105C500094B65869FEB6A9C3457A3866F41DB82FC4 +:105C600042FBD0AFDC1E87506E27E7E749A0BF8517 +:105C7000E827F0D771F02DB78DD9D72F3BA43C275B +:105C80008D3293F3163B68F66F8A844C0AC96344DD +:105C9000BE38DF24874CC4674B8F5BA27CE23BC0DD +:105CA000F9F87A33A525D43F1965A910E7F5A93C81 +:105CB000FE50BE10F92B8076B15B890FF695D65B4E +:105CC000EDE3D7E40DF4654ACD33D60F9908DF75BF +:105CD0005ABEDFD2B34A12E9BC91EBDBA6F9D9A7D1 +:105CE000D9F33F7759F603E6F4BAFEB74A05C26521 +:105CF0007B9E5B403D1BDD3CFEDB347BEAF6A893DC +:105D0000FB983ED3F63C8CFA23C966D9CBE8231E18 +:105D1000821437817E4E3FD0EF975C386E35FAA4FF +:105D2000798CBF8DD19BE67BF4758DAF4521BE206C +:105D3000FB8A080F970F6F2C627AF43F6322BBD95E +:105D400014C71AEA3311070C973A1E1ACA79FCE9EC +:105D5000FA77B98D8C7E57523CE9F5488FABC0017C +:105D60003FA8C8B7692ED6C7DBC4951E4F7A7CD52D +:105D700041B48EEAF631C91B992BC4E31EEB61FBDB +:105D8000E9DBD489B39AFD36697E40BBB07CA27F43 +:105D90007F51F3433DD935E13CD123BAFDFAF7CA2F +:105DA00048E92E577CBFCEB7DECECF915F081FFDEE +:105DB0009ABEB4BF83ED1767C473D374BF3AF47847 +:105DC0000ED5BF6141A1FAD77170B4F0618AEF536B +:105DD000690A65A7ABAD2776E451713586981F74C3 +:105DE000B99AB13FA1B8DEAAD5BD40E4F6F1AD2E17 +:105DF000F29D7027C45FE0E9530B294FA2FE11CA40 +:105E0000131F9FFAF987F738E2F54AD7674BEF007F +:105E1000CB8B9B0F647A0C3C2FF6525E3CEBE6FD7D +:105E20005B530FF717A0BFA87FD3FDEAEF11587D92 +:105E300068EABC2B447DCF743FA0F933D98FBA7F79 +:105E4000753FEAF6C73A0490D02FEBF2BFAED9FD0A +:105E50009C16079B34DC6D6A59C5F2E2965E7F3969 +:105E600095DF3A6DBD2E30737DDAFEB26E7FD713AB +:105E700084E3A930B7FFD401138BFBA9211BEB17D7 +:105E8000AF76BCFAEB0DB8EF7747068AA8AE27DAF3 +:105E90009FFAC4AD5ABFF81DB43FF58BB7B1FF8769 +:105EA00054A7F4F9778E6BF62F0EFFFE67945F769A +:105EB000A52883C8B709FFDD8DF6B93AF4B4A90067 +:105EC000D7BFDD2C6492BC9FBA9D5CCFF080A998AF +:105ED000FAFF76B70CE9B4EEB82D9E715421C1BE1D +:105EE000540F047BBC5FD1F7533E1A463976EFB2AC +:105EF000A4C332A29B6997F13E62F58833EAAE2EC5 +:105F0000F7C42EFF0FE8BE3261E1F86EC5F3A7A912 +:105F10001F5AA51475B8E2FD1C648587C9FF0D3BA7 +:105F20005D1EAAF7C8FF6D01F53278386E162C8811 +:105F300086487EBDAF94303F99711C14B9FEC506EA +:105F40003EFE636A7851FBD7F47B0B5AA3D7481EF9 +:105F5000BD9FD5FBD8451E8E0BBD5FD5FBCFD9F2BB +:105F60008E042FF416A3BC521628DD8E384E753AD7 +:105F7000C9F947D7B3202DFC13C249C1CE3B3DD44C +:105F80000748A9D04B7ACCF7707C26EB39E1E4F6D0 +:105F90009C4D6E5DDE693B2018EFB6C7E5D7E5C1C5 +:105FA0001E5615A92FFBFE12D6174EEC518AC84E6D +:105FB000B3E937E1F4B1388DE581427576B6BC5A64 +:105FC00017108244D7D46963EF0E7A9C04B4BB23C4 +:105FD000C6494614E59FEA2BC9A0FC3F21605D211C +:105FE000BD765944860B4DBF93DABD8DFA531AA97D +:105FF0003FA5CB0DF5A7347F49BBC7517F4AEB5571 +:106000001E3BC305DED86CD4AFD5A76AF11FE1F5FE +:1060100077ACB384E9A9AFEBF5774C8EDAEC09796C +:10602000F7D376AD7E211D8A1FE82C8113C86AAC98 +:106030006FC226329C72F9F473BB4D9C3ED49843D8 +:10604000279CD4B7D4487E5CDFDCF98149C0D1AB52 +:10605000E1757E4958CD25FBD598658AD3AC74D5BA +:1060600049FCB2ECAA33B1FEA7796B25AA8F13CEF7 +:10607000C80299F6BB2DCCDE63DEDA357988AFB184 +:10608000A399F4F203BB0565AC93EE938FA728F4B4 +:106090003E532D42AFC0F011910AA87EEF11583E39 +:1060A000D0D77FB5C8D7E821390CC37FF80FA2FB42 +:1060B000789A42FD0D7C857C313FDE49443166A2F1 +:1060C000988E981D93DE4392DF3FE64B0EF63E120C +:1060D000FBA5010679FEFB779A37FFD204298EB81B +:1060E000DF5B34BF370FFC2D7B77081C35B03CD706 +:1060F0004CEF20383E471F31E53DD17F5F0EE12256 +:1061000070A8EA4810EB4791005ECA2F9F1AA3358A +:106110009407AE0CE4DAF750FFD4D6BD10F07B60E4 +:10612000E0C9221AAF0C586A293FAF966B56672216 +:10613000FFADCF67B2F7B98BADFC5D60FB6F4A195D +:106140000E9FD4FCD0FAA7D16332D6FB665C939144 +:10615000EE7F87D34241FCD4DA75B6C88031F37440 +:106160008A6F2FD9E9417164C337285F0BA19379F6 +:106170006CBF2357FE9A3C7299EE5388C7B6BFFF97 +:1061800088D1F95C7C675D1D9E6F6D7B399DE83C15 +:1061900078F883BB6491BDEFFCC0934D74074ECA81 +:1061A00094988F0E2C65EF8082DAE761F89DF90EE6 +:1061B00092CC67507B473CACDD3FAAEDDE0D7515F8 +:1061C000CC0FCC9FB3C9D77296BF47E9F3CDA10CD2 +:1061D00009A85F8D8024D32803EB43AF18A093F860 +:1061E000EAFD87BEFEA2968FAE64F415116EB79DD0 +:1061F0007CA688DE093FB3F179FDC98DBFA23CE5DD +:106200007B2185F7C34690143CD714E4FD2CB4D809 +:10621000D9FBA0CEFFB4278DE9B1ED68F98C7A47A0 +:106220000F24B4FE9911D686D97DED9A9BFAA48BE2 +:10623000C64833E1E022F69341E64F5E972EF61909 +:10624000D6D07A70B700D43F5CEC7BD9B6C01AEFD9 +:10625000B76C15E108E5A3B633D87F7028325CEE41 +:1062600090F57C645D43718E7D934CB8ED78EDFCC8 +:106270001AE0730061767B6ED7FAA5E9F999611689 +:10628000B7AD43BC5F680D0FBF999F45F749AD5F40 +:10629000D0FA9036AD0FD97186DBA5EDCCB8D49489 +:1062A000D8E797D99F28C08EEDC3D37B6B0FE356F9 +:1062B0003FF9ED1ECCA7C3DBEAF6601237B9F9BB94 +:1062C000011863AC8FDB5FF63EBBAFB6F568F4CA6E +:1062D000DE7FA298E95B3327B1DFF9378F899DD341 +:1062E000CFA33DD8B94E73FA52CA77D72D7C0C563E +:1062F000027B5F088E5942DD6867A3C5F729E1F28A +:10630000618377782B7BF76A5F46F84425187FFD19 +:10631000DD21D93E46CBAACF08E7235A1D8AB4A572 +:10632000F6527FA0EEB01A69EC6EB3B27E41DDF595 +:10633000BE85EEF723BF4F15857482486C54443EEA +:10634000E939BE2FE87C2E60741AA8DE4404EAD333 +:10635000277FF1DB72927BB2303606A88A49F87E3D +:10636000DD6AC4D5FF7AB4777557B49CE4CB7E83DD +:10637000E7F31F99A097EA2318BDB01ED72382A682 +:10638000DF9722CBD72342E49F88BE37C5DAEB44A0 +:106390007994728E736FB1572CC7F182DD50EA2168 +:1063A000BE266BAF80F629D4EE4152FE5C2BE15D38 +:1063B0005055E844FAA270BE8970F354CC0C74EFC7 +:1063C000EED6EC5998BF96D535C191453506DE70AD +:1063D00089C114E4FF149843B44F122D2AFB3EF2F6 +:1063E000D697028E05866BA319F8BDE06141E94698 +:1063F000511BA62EFFE83DA03C197293FEF7E7F86B +:1064000072CAD11F63536BC77DE8DFA7E4B059712F +:10641000712C9B11D795FCBF30F2BD2FD3ED68D7FF +:10642000CA58EA38D9753276F9D4AB15349AD9BB43 +:1064300061E5882192B2940E55A9D3EFBDC56C5089 +:10644000CD77C5E940DF3340F1B253AB033ABDD954 +:10645000CE4FCE7518999F62E68848FCAC6288EEF4 +:10646000619523A31F917E95666B84DE93C16CFAC0 +:10647000AFE9F764E27BA130F3F2625682E02636A0 +:106480001739DDDC7FDFCC98790FAC2CE7F79F4A1A +:10649000CD4FBA9D99F233EA158F735DEE29ABC4E7 +:1064A000DF6F5BF83BFCD408F61FB7C9AFFAF80101 +:1064B000F51FD8573C5FA25692BD75FFEBFED6F98B +:1064C000EA7ED5FD078F5C389FE1647E5BF20FC0EA +:1064D000FC55CDFCF5E5D03E8417E41BD4719FF349 +:1064E000FF9FBF92F3882F15C765B7E613CC23A98A +:1064F00077E0785DEC63F18CF9A59DECD3E86A1741 +:10650000F83B5F50F80BF3CB43746E05155BEA4321 +:106510006C227B5F01EA5F915F77676188EE0D2BEC +:10652000E63BF618E9FB63C0FB1DEDFDB4BB733120 +:10653000FF6E10F8F9EF194283DC2F41F63D981BEE +:10654000A27E91FA5BEA87BBE91CEE0B06D34227D9 +:1065500070BD3B24064B33D877D6F752AC323D5B47 +:10656000817D9FE6D3EE607C72BAF9F9D84312E3DD +:10657000E3CBE8584771EF9BE479EFB9F24C2DAFCC +:10658000479753FFFAD45E1B10DE74FFB2A779471A +:10659000DCBF06CDBFF92EEEDF7CAB1849213FB53D +:1065A000AC5613FD7401CB2BC5C9CFB1CF36937C4C +:1065B0003512CB7BFD356A1EFD6ED85F932352FFEB +:1065C000F3D33F7DF793C748BE774DAC6FEC77733D +:1065D00079FB7F51C2FAA33131F4EC563ABFC1AA1C +:1065E000503F7C44F0FD84FC67985BBE328075F0C0 +:1065F00039B1CF4C60E8B7894CEFFE6D561667FD98 +:106600004E6E87FE834B42416782BFB689DCDEC691 +:10661000583AFD8EBA62BED6AFE39CF447BF68F726 +:1066200077FC9EF0BBC5A4D6174C6AF69F5E075C4C +:106630004F38FFE7D67766FBFE95C5B5F6BD3F53ED +:10664000CDA33E27D9BE87F7B87B1792DF6DA24C4A +:106650007DF66C7E49DB281D3B91E00F2A5BA46729 +:106660005AF70AE67FDD3F47F4FA8378233F24FB9D +:106670000BE671FFEBF7EEF9C1F167D98F22105DE0 +:10668000447181F15446F7B431CA47CBE2F814544F +:106690008C417B1C8F7A5E4A8E4BA113F354FAED2A +:1066A000E232CCEAEC7531A2C7E504D907FE4571A8 +:1066B000D0BC7BD7853C1AFF82B8BC4275F37A8E7A +:1066C000EF2A9DCFD2F240BE21B488E88F89D0A2B4 +:1066D000FDBE27909D3FD1ECD78879660EC683A971 +:1066E00082BF1BC0A349F946B37783B6FF93CF316E +:1066F0006E96C5FDD5A8DD4B1A1E4D19A7BCD5F069 +:10670000A889C74367959A4487E55D9D0E38AE65B5 +:10671000933EFAB9C66DFF934D7DEDACE7A3F3321E +:10672000E9774E96F750DFD7246F4A05EA3B061308 +:106730004BC83EEFFCD1C07E0F18477B3B08272F8C +:10674000E4F27B5326A79151C1FBF73CB337BD025E +:10675000C777DCBF2DA5DF2FE0ABD17924C7B16CA3 +:106760006F26D1DBB7608AFDAE3196173311DDB1EC +:10677000BADF15925C8D9D6FB1BCDCA8E7E53F6385 +:10678000A764FBE8768BEB3B954D7DEB5FCB5E3AE8 +:106790004EFE0F3CE3FEEA60210000000000000016 +:1067A0000000004000000000000000000000004069 +:1067B00000000000000000000000002800000000B1 +:1067C00000000000000000100000000000000000B9 +:1067D0000000004000000000000000000000001069 +:1067E00000000000000000000000000800000000A1 +:1067F0000000000000000000000000000000000099 +:106800000000000000000000000000000000000088 +:106810000000000000000000000000000000000078 +:106820000000000000000000000000000000000068 +:106830000000000000000000000000000000000058 +:106840000000000000000000000000000000000048 +:106850000000000000000000000000000000000038 +:106860000000000000000000000000000000000028 +:106870000000000000000000000000000000000018 +:106880000000000000000000000000000000000008 +:1068900000000000000000000000000000000000F8 +:1068A00000000000000000000000000000000000E8 +:1068B00000000000000000000000000000000000D8 +:1068C00000000000000000000000000000000000C8 +:1068D00000000000000000000000000000000000B8 +:1068E00000000000000000000000000000000000A8 +:1068F0000000000000000000000000000000000098 +:106900000000000000000000000033200010000024 +:106910000000000800003328001000000000000202 +:106920000000332000100000000000108000000074 +:1069300000000000000000008000000000000000D7 +:1069400000000000800000000000000000000000C7 +:10695000800000000000000000000000000033582C +:10696000000100040000000100003360000000008E +:106970000000000200003368000000000000000872 +:106980000000336C0000000000000002000039200D +:10699000000000000000000800003AF8004000007D +:1069A000000000400000393800800000000000486E +:1069B00000003A38004000000000000800003A489B +:1069C00000400000000000180000337000280000A4 +:1069D0000000002800003C2000080000000000012A +:1069E00000003C21000800000000000100003C22E3 +:1069F0000008000000000001000020080010000056 +:106A0000000000100000200000000000000000084E +:106A100080000000000000000000000000000000F6 +:106A20000000000000000000000000000000000066 +:106A30000000000000000000000000000000000056 +:106A40000000000000000000000000000000000046 +:106A50000000000000000000000000000000000036 +:106A60000000000000000000000000000000000026 +:106A70000000000000000000000000000000000016 +:106A80000000000000000000000000000000000006 +:106A900000000000000000000000000000000000F6 +:106AA00000000000000000000000000000000000E6 +:106AB00000000000000000000000000000000000D6 +:106AC00000000000000000000000000000000000C6 +:106AD00080000000000000000000000080000000B6 +:106AE0000000000000000000800000000000000026 +:106AF0000000000080000000000000000000000016 +:106B00008000000000000000000000008000000085 +:106B100000000000000000008000000000000000F5 +:106B200000000000800000000000000000000000E5 +:106B30008000000000000000000000008000000055 +:106B400000000000000000008000000000000000C5 +:106B500000000000800000000000000000000000B5 +:106B60000000000000000000000000000000000025 +:106B70000000000000000000000000000000000015 +:106B80000000000000000000000000000000000005 +:106B90000000000000000000000000008000000075 +:106BA0000000000000000000800000000000000065 +:106BB0000000000080000000000000000000000055 +:106BC0000000000000000000000000008000000045 +:106BD0000000000000000000800000000000000035 +:106BE0000000000080000000000000000000000025 +:106BF0000000000000000000000000000000000095 +:106C00000000000000000000000000000000000084 +:106C10000000000000000000000000000000000074 +:106C20000000000000000000000000000000000064 +:106C300000000000000000008000000000000000D4 +:106C40000000000000000000000000000000000044 +:106C5000000019C800000000000000080000200823 +:106C600000100000000000100000200000000000E4 +:106C7000000000080000487000080000000000014B +:106C80000000487100080000000000010000487288 +:106C90000008000000000001000040400038000033 +:106CA000000000388000000000000000000000002C +:106CB00080000000000000000000000080000000D4 +:106CC0000000000000000000800000000000000044 +:106CD0000000000080000000000000000000000034 +:106CE00080000000000000000000000080000000A4 +:106CF0000000000000000000800000000000000014 +:106D00000000000080000000000000000000000003 +:106D10008000000000000000000000008000000073 +:106D20000000000000000000000000000000000063 +:106D30000000000000000000000000000000000053 +:106D40000000000000000000000000000000000043 +:106D50000000000000000000000000000000000033 +:106D600000000000800000000000000000000000A3 +:106D70008000000000000000000000000000000093 +:106D80000000000000000000800000000000000083 +:106D90000000000080000000000000000000000073 +:106DA00080000000000000000000000080000000E3 +:106DB0000000000000000000800000000000000053 +:106DC0000000000080000000000000000000000043 +:106DD00000004000004000000000004000004800AB +:106DE00000400000000000400000482E004000006D +:106DF0000000000100004800004000020000000107 +:106E000000004801004000020000000000003000C7 +:106E10000040000000000040800000000000000072 +:106E200000000000000030000008004000000004E6 +:106E300000003004000800400000000400003B8017 +:106E4000002800000000002800003BD000100000D7 +:106E50000000001000003BDA0010000000000001FC +:106E600000003800008000000000008000003800B2 +:106E7000000800800000000200003900004000000F +:106E8000000000400000200800100000000000107A +:106E900000002000000000000000000800005198E1 +:106EA00000080000000000010000519900080000E7 +:106EB000000000010000519A0008000000000001DD +:106EC000000039800010000400000004000051A8F8 +:106ED0000030001800000010000051B00030001811 +:106EE0000000000280000000000000000000000020 +:106EF0008000000000000000000000008000000092 +:106F00000000000000000000800000000000000001 +:106F100000000000800000000000000000000000F1 +:106F20008000000000000000000000008000000061 +:106F30000000000000000000000000000000000051 +:106F40000000000000000000000000000000000041 +:106F50000000000000000000000000000000000031 +:106F600000000000000000008000000000000000A1 +:106F70000000000080000000000000000000000091 +:106F80000000000000000000000000008000000081 +:106F90000000000000000000800000000000000071 +:106FA0000000000080000000000000000000000061 +:106FB00080000000000000000000000080000000D1 +:106FC0000000000000000000000023E80080000036 +:106FD0000000008000000001000000000000000030 +:106FE0000000200800100000000000100000200039 +:106FF000000000000000000800002E7000080000E3 +:107000000000000100002E710008000000000001D7 +:1070100000002E720008000000000001000024E8BB +:10702000003800000000003800002DD000080000EB +:1070300000000008800000000000000000000000C8 +:107040008000000000000000000000008000000040 +:1070500000000000000000008000000000000000B0 +:1070600000000000800000000000000000000000A0 +:107070008000000000000000000000000000000090 +:107080000000000000000000000000000000000000 +:1070900000000000000000000000000000000000F0 +:1070A0000000000000000000000000008000000060 +:1070B0000000000000000000800000000000000050 +:1070C00000000000000000000000000000000000C0 +:1070D00080000000000000000000000080000000B0 +:1070E0000000000000000000800000000000000020 +:1070F0000000000080000000000000000000000010 +:1071000080000000000000000000000000002500DA +:1071100000400000000000080000250800400000BA +:1071200000000020800000000000000000000000BF +:10713000800000000000000000000000800000004F +:10714000000000000000000000003000000000000F +:1071500000001000000050A100000000000000012D +:10716000000050B80000000000000002000050C8FD +:1071700000900008000000088000000000000000EF +:10718000000000000000296000080000000000016D +:1071900000002961000800000000000100002970C3 +:1071A0000008000400000002000029780008000424 +:1071B000000000048000000000000000000000004B +:1071C00000002FB0000800000000000400002FB4F1 +:1071D000000800000000000400002FC000000000B4 +:1071E0000000000800002FC8000000000000000898 +:1071F00000003000000000000000001000005040BF +:10720000000100010000000100005000000000002B +:10721000000000200000080800100000000000042A +:107220000000080C0010000000000001000008B77A +:107230000000000000000001000008B6000000008F +:1072400000000001000010000040002000000004C9 +:10725000000010040040002000000004000010089E +:1072600000400020000000020000100A0040002042 +:10727000000000020000100C00400020000000018F +:107280000000100D00400020000000010000100E62 +:10729000004000200000000100001010004000200D +:1072A0000000000400001014004000200000000452 +:1072B0000000101800400020000000040000101C16 +:1072C00000400020000000040000300001000080A9 +:1072D00000080004000030040100008000080004E1 +:1072E0000000000A000000000000000000003068FC +:1072F00001000080000000010000306901000080F2 +:10730000000000010000306C01000080000000025D +:107310000000306E010000800000000200003070AC +:1073200001000080000000040000307401000080B3 +:107330000000000400003066010000800000000230 +:107340000000306401000080000000010000306097 +:107350000100008000000002000030620100008097 +:107360000000000200003050010000800000000416 +:10737000000030540100008000000004000030587C +:1073800001000080000000040000305C010000806B +:10739000000000040000307C0100008000000001BB +:1073A0000000307D010000800000000100001C187A +:1073B000001000000000000400001C30001000005D +:1073C0000000000400001C38001000000000000451 +:1073D00080000000000000000000000080000000AD +:1073E000000000000000000080000000000000001D +:1073F000000000008000000000000000000000000D +:1074000000004C10000800000000000200004C12B8 +:10741000000800000000000200004C1400080000FA +:107420000000000200004C160008000000000002EE +:1074300000004C20000800000000000800004C0084 +:10744000000800000000000200004C0200080000DC +:107450000000000100004C040008000000000002D1 +:1074600000004C30000800000000000800004C4004 +:10747000000800000000000400004C440008000068 +:107480000000000100004C50000800000000000255 +:1074900000004C54000800000000000200004C6096 +:1074A00000080000000000040000140000080000B4 +:1074B00000000002000014020008000000000001AB +:1074C0000000140400080000000000020000141076 +:1074D0000008000000000002000014140008000072 +:1074E0000000000200001416000800000000000266 +:1074F000000019B800080000000000080000142077 +:107500000008000000000002000014240008000031 +:1075100000000002000019C8000800000000000878 +:1075200000002C10000800000000000100002C11D9 +:10753000000800000000000100002C1200080000FC +:107540000000000100002C130008000000000001F2 +:1075500000002C00000800000000000200002C02C7 +:10756000000800000000000100002C0400080000DA +:107570000000000200002C300008000000000002A3 +:1075800000002C32000800000000000200002C3433 +:10759000000800000000000200002C20000800008D +:1075A0000000000100002C21000800000000000184 +:1075B00000002C22000800000000000100002C2325 +:1075C000000800000000000100002C24000800005A +:1075D0000000000100002C25000800000000000150 +:1075E00000002C26000800000000000100001480AC +:1075F00000080000000000020000148200080000E3 +:1076000000000001000014840008000000000002D7 +:107610000000149200C00018000000020000149046 +:1076200000C00018000000020000149C00C00018F8 +:10763000000000080000149400C0001800000008BA +:10764000000014A700C0001800000001000014A4EE +:1076500000C0001800000002000014A600C00018BE +:1076600000000001000016100008000000000008E3 +:10767000000016200008000000000008000016307E +:10768000000800000000000880000000000000006A +:10769000000000008000000000000000000000006A +:1076A00080000000000000000000000080000000DA +:1076B000000000000000000080000000000000004A +:1076C000000000008000000000000000000000003A +:1076D00080000000000000000000000080000000AA +:1076E000000000000000000080000000000000001A +:1076F000000000008000000000000000000000000A +:107700008000000000000000000000008000000079 +:1077100000000000000000008000000000000000E9 +:1077200000000000800000000000000000000000D9 +:107730008000000000000000000000008000000049 +:1077400000000000000000008000000000000000B9 +:1077500000000000800000000000000000000000A9 +:107760008000000000000000000000008000000019 +:107770000000000000000000800000000000000089 +:107780000000000080000000000000000000000079 +:1077900080000000000000000000000080000000E9 +:1077A0000000000000000000800000000000000059 +:1077B0000000000080000000000000000000000049 +:1077C00080000000000000000000000080000000B9 +:1077D0000000000000000000800000000000000029 +:1077E0000000000080000000000000000000000019 +:1077F0008000000000000000000000008000000089 +:1078000000000000000000008000000000000000F8 +:1078100000000000800000000000000000000000E8 +:107820008000000000000000000000008000000058 +:1078300000000000000000008000000000000000C8 +:1078400000000000800000000000000000000000B8 +:107850008000000000000000000000008000000028 +:107860000000000000000000800000000000000098 +:107870000000000080000000000000000000000088 +:1078800080000000000000000000000080000000F8 +:107890000000000000000000800000000000000068 +:1078A0000000000080000000000000000000000058 +:1078B00080000000000000000000000080000000C8 +:1078C0000000000000000000800000000000000038 +:1078D0000000000080000000000000000000000028 +:1078E0008000000000000000000000008000000098 +:1078F0000000000000000000800000000000000008 +:1079000000000000800000000000000000000000F7 +:107910008000000000000000000000008000000067 +:1079200000000000000000008000000000000000D7 +:1079300000000000800000000000000000000000C7 +:1079400000000000000000000000000080000000B7 +:107950000000000000000000000000000000000027 +:087960000702330000000000E3 +:00000001FF --- linux-lowlatency-3.5.0.orig/firmware/bnx2x/bnx2x-e1h-7.2.51.0.fw.ihex +++ linux-lowlatency-3.5.0/firmware/bnx2x/bnx2x-e1h-7.2.51.0.fw.ihex @@ -0,0 +1,10626 @@ +:100000000000224800000068000005D8000022B867 +:10001000000036E4000028980000007000005F80B7 +:100020000000857C00005FF80000009C0000E5787F +:1000300000009B900000E61800000084000181B0E1 +:10004000000042E0000182380000008C0001C52061 +:100050000000C06C0001C5B0000011B8000286208D +:1000600000000004000297E0020600DC000000012E +:100070000306100002000000010600D80000000086 +:100080000306020000030200020600DC000000007C +:10009000010600B800000000010600C800000000D2 +:1000A0000206016C00000000010600BC0000000018 +:1000B000010600CC000000000206017000000000F4 +:1000C000020D004400000032030D004C0004020346 +:1000D000040D005C00000004030D008C00110207F9 +:1000E000020D015C00000001030D01640002021812 +:1000F000020D020400000001030D020C0003021AAD +:10010000030D02200002021D040D028000000012F7 +:10011000030D03000018021F040D03600000000C13 +:10012000040D400000000A00030D0004000F023718 +:10013000020D01140000000D020D01180000002D39 +:10014000020D01140000001D020D01180000003D09 +:10015000020D01140000004D020D01180000006D99 +:10016000020D01140000005D020D01180000007D69 +:10017000031010000003024602101050000000019E +:10018000071011000010024908101140000000087B +:100190000710116000100259081011A0000000188B +:1001A000071018000200026904104C000000010052 +:1001B00002104028000000100210404400003FFFE1 +:1001C0000210405800280000021040840084924A27 +:1001D0000210405800000000030C200800030469CE +:1001E000030C201C0004046C030C20380011047064 +:1001F000040C207C0000004F030C21B80011048186 +:10020000040C21FC0000000F030C223800040492AF +:10021000010C224800000000010C224C00000000EC +:10022000010C225000000000010C225400000000CC +:10023000010C225800000000010C225C00000000AC +:10024000010C226000000000010C2264000000008C +:10025000010C226800000000010C226C000000006C +:10026000010C227000000000010C2274000000004C +:10027000010C227800000000010C227C000000002C +:100280000A00000100000001020C2000000003E849 +:100290000A00000100000002020C20000000000A19 +:1002A0000A00000100000004020C20000000000110 +:1002B000052004000084000006200780001004963A +:1002C000042200000000400004232400000000403D +:1002D00003221250001004980422B14000000020B4 +:1002E0000422C800000000060322C818000404A865 +:1002F0000422C8280000000C0322C858000404ACE3 +:100300000422C8680000000C0322C898000404B04E +:100310000422C8A80000000C0322C8D8000404B4BA +:100320000422C8E80000000C0322C918000404B825 +:100330000422C9280000000C0322C958000404BC90 +:100340000422C9680000000C0322C998000404C0FC +:100350000422C9A80000000C0322C9D8000404C468 +:100360000422C9E80000000C0322CA18000404C8D3 +:100370000422CA280000000C0322CA58000404CC3E +:100380000422CA680000000C0322CA98000404D0AA +:100390000422CAA80000000C0322CAD8000404D416 +:1003A0000422CAE80000000C0322CB18000404D881 +:1003B0000422CB280000000C0322CB58000404DCEC +:1003C0000422CB680000000C0322CB98000404E058 +:1003D0000422CBA80000000C0322CBD8000404E4C4 +:1003E0000422CBE80000000C0322CC18000404E82F +:1003F0000422CC280000000C0322CC58000404EC9A +:100400000422CC680000000C0322CC98000404F005 +:100410000422CCA80000000C0322CCD8000404F471 +:100420000422CCE80000000C0322CD18000404F8DC +:100430000422CD280000000C0322CD58000404FC47 +:100440000422CD680000000C0322CD9800040500B2 +:100450000422CDA80000000C0322CDD8000405041E +:100460000422CDE80000000C0322CE180004050889 +:100470000422CE280000000C0322CE580004050CF4 +:100480000422CE680000000C0322CE980004051060 +:100490000422CEA80000000C0322CED800040514CC +:1004A0000422CEE80000000C0322CF180004051837 +:1004B0000422CF280000000C0322CF580004051CA2 +:1004C0000422CF680000000C0322CF98000405200E +:1004D0000422CFA80000000C0322CFD8000405247A +:1004E0000422CFE800000006022380000000001074 +:1004F00002238040000000120223808000000030B0 +:10050000022380C00000000E022383800007A12088 +:10051000022383C0000001F402238BC0000000010D +:100520000A00000200000001022383000007A1204E +:1005300002238340000001F40A00000200000002D0 +:10054000022383000000138802238340000000057B +:100550000A000002000000040223830000000138AA +:1005600002238340000000000524000032E7000061 +:10057000052480000FF80CBA06249E006AA6052800 +:100580000A000001000000010223148000000001A5 +:100590000A00000100000002022314800000000194 +:1005A0000A00000100000004022314800000000083 +:1005B00001200000000000000120000400000000F5 +:1005C00001200008000000000120000C00000000D5 +:1005D00001200010000000000120001400000000B5 +:1005E00003200020001A052A032000A4000205446D +:1005F000022002240000000002200234000000005B +:100600000220024C00000000022002E40000FFFF74 +:100610000820200000000800042211080000000249 +:1006200004221290000000060422340000000002A0 +:10063000042260400000003004228C000000001002 +:100640000422111000000002042212A8000000067B +:10065000042234080000000204226100000000307F +:1006600004228C4000000010042211180000000237 +:10067000042212C000000006042234100000000210 +:10068000042261C00000003004228C8000000010B1 +:100690000422112000000002042212D800000006EB +:1006A000042234180000000204226280000000309E +:1006B00004228CC000000010042211280000000257 +:1006C000042212F000000006042234200000000280 +:1006D000042263400000003004228D00000000105E +:1006E000042211300000000204221308000000065A +:1006F00004223428000000020422640000000030BC +:1007000004228D4000000010042211380000000275 +:1007100004221320000000060422343000000002EE +:10072000042264C00000003004228D80000000100C +:1007300004221140000000020422133800000006C9 +:1007400004223438000000020422658000000030DA +:1007500004228DC00000001004102400000000E0FE +:100760000310201C00020546021020C000000002F9 +:1007700003102004000205480217000800000002D0 +:100780000217002C00000003031700380002054A7E +:10079000031700480005054C0317006000050551CC +:1007A0000317007800020556021700040000000F2E +:1007B0000210800000001080041080400000000241 +:1007C000021080AC00000000021080380000001011 +:1007D00002108100000000000410812000000002CF +:1007E00002108008000002B5021080100000000016 +:1007F000021081080001FFFF041082000000004A7F +:1008000004108140000000020210800000001A80E5 +:100810000410900000000024041091200000004A01 +:10082000041093700000004A041095C00000004AB4 +:1008300002108004000010800410804800000002B4 +:10084000021080B0000000010210803C0000001087 +:100850000210810400000000041081280000000242 +:100860000210800C000002B502108014000000008D +:100870000210810C0001FFFF041084000000004AF8 +:1008800004108148000000020210800400001A8059 +:100890000410909000000024041092480000004AC8 +:1008A000041094980000004A041096E80000004AE2 +:1008B0000210800000001080041080400000000240 +:1008C000021080AC0000000202108038000000100E +:1008D00002108100000000000410812000000002CE +:1008E00002108008000002B5021080100000000015 +:1008F000021081080001FFFF041082000000004A7E +:1009000004108140000000020210800000001A80E4 +:100910000410900000000024041091200000004A00 +:10092000041093700000004A041095C00000004AB3 +:1009300002108004000010800410804800000002B3 +:10094000021080B0000000030210803C0000001084 +:100950000210810400000000041081280000000241 +:100960000210800C000002B502108014000000008C +:100970000210810C0001FFFF041084000000004AF7 +:1009800004108148000000020210800400001A8058 +:100990000410909000000024041092480000004AC7 +:1009A000041094980000004A041096E80000004AE1 +:1009B000021080000000108004108040000000023F +:1009C000021080AC0000000402108038000000100B +:1009D00002108100000000000410812000000002CD +:1009E00002108008000002B5021080100000000014 +:1009F000021081080001FFFF041082000000004A7D +:100A000004108140000000020210800000001A80E3 +:100A10000410900000000024041091200000004AFF +:100A2000041093700000004A041095C00000004AB2 +:100A300002108004000010800410804800000002B2 +:100A4000021080B0000000050210803C0000001081 +:100A50000210810400000000041081280000000240 +:100A60000210800C000002B502108014000000008B +:100A70000210810C0001FFFF041084000000004AF6 +:100A800004108148000000020210800400001A8057 +:100A90000410909000000024041092480000004AC6 +:100AA000041094980000004A041096E80000004AE0 +:100AB000021080000000108004108040000000023E +:100AC000021080AC00000006021080380000001008 +:100AD00002108100000000000410812000000002CC +:100AE00002108008000002B5021080100000000013 +:100AF000021081080001FFFF041082000000004A7C +:100B000004108140000000020210800000001A80E2 +:100B10000410900000000024041091200000004AFE +:100B2000041093700000004A041095C00000004AB1 +:100B300002108004000010800410804800000002B1 +:100B4000021080B0000000070210803C000000107E +:100B5000021081040000000004108128000000023F +:100B60000210800C000002B502108014000000008A +:100B70000210810C0001FFFF041084000000004AF5 +:100B800004108148000000020210800400001A8056 +:100B90000410909000000024041092480000004AC5 +:100BA000041094980000004A041096E80000004ADF +:100BB0000200A468000B01C80300A29400040558B9 +:100BC0000A000001000000800200A5F800000000FB +:100BD0000A000001000001000200A5F80000000169 +:100BE0000200A270000000000200A27400000000D9 +:100BF0000200A270000000000200A27400000000C9 +:100C00000200A270000000000200A27400000000B8 +:100C10000200A270000000000200A27400000000A8 +:100C2000030100B40002055C020100DC00000001C9 +:100C3000030101000002055E0201007C003000009B +:100C400002010084000000280201008C0000000066 +:100C50000201013000000004020102440000001FF4 +:100C60000201025C000000010201032800000000F4 +:100C70000201055400000030020160580000FFFF2F +:100C800002016070000000070201608000000001A6 +:100C9000020100C400000001020100CC00000001BC +:100CA000020100F800000001020100F00000000154 +:100CB00002010080003000000201008800000028CE +:100CC0000201009000000000020101340000000455 +:100CD000020102480000001F020102DC00000001C6 +:100CE0000201032C00000000020105640000003036 +:100CF0000201605C0000FFFF020160740000000759 +:100D00000201608400000001020100C8000000012F +:100D1000020100D000000001020100FC00000001FF +:100D2000020100F40000000104010138000000117C +:100D30000401017C000000110401013800000011D1 +:100D40000401017C000000110401013800000011C1 +:100D50000401017C000000110401013800000011B1 +:100D60000401017C000000110214000000000001D9 +:100D70000214000C00000001031400400002056092 +:100D80000214000C0000000002140000000000002B +:100D90000214006C000000000214000400000001B6 +:100DA00002140030000000010214000400000000E2 +:100DB0000214005C000000000214000800000001A2 +:100DC00002140034000000010214000800000000BA +:100DD0000214006000000000030400040012056219 +:100DE00002040054000000430204005C00000006FE +:100DF000020400700000000403040078000405747D +:100E000004040088000000050304009C000305782A +:100E1000040400A800000004030400B80005057BDA +:100E2000040400CC00000004030400DC000405807E +:100E3000040400EC00000004010401240000000090 +:100E400001040128000000000104012C0000000042 +:100E50000104013000000000020401340000000F12 +:100E6000020401D000008906021205B00000000152 +:100E700003120490002205840312066C000205A6EA +:100E800002120388000000640212039000000008B0 +:100E90000312039C000305A8031203BC000305AB67 +:100EA000021203D0000000000212036C00000001D7 +:100EB000021203680000003F031201BC003C05AEB3 +:100EC000031202B0000205EA03120324000205EC3B +:100ED000021205B400000001021201B0000000017E +:100EE00007103800000505EE07103820000505F34F +:100EF00007103C00000505F803168030000805FDCA +:100F000002168054000000020316806000050605EA +:100F10000416807400000007031680900002060A81 +:100F20000316809C0005060C041680B00000000724 +:100F3000031680CC00080611021680F0000000079E +:100F4000041680F40000000C031681240004061926 +:100F5000041681340000000C031681640032061D63 +:100F6000031682340007064F041682500000000466 +:100F7000031682600002065604168268000000080C +:100F80000316828800080658041682A80000000A8A +:100F900002168804000000040316880C0010066086 +:100FA0000316E000001006700416E40C0000000CAC +:100FB0000316E43C000406800416E44C0000000C18 +:100FC0000316E47C002E06840416E53400000004B9 +:100FD0000316E544000206B20416E54C00000008C2 +:100FE0000316E56C000606B40316E6BC000806BA54 +:100FF000021680EC000000FF03040408001406C27F +:10100000020404CC0000000103050044000206D6DF +:1010100003050050000406D8040500600000000429 +:1010200003050090001306DC020501140000000116 +:101030000305011C000206EF020502040000000186 +:101040000305020C000206F10305021C000306F36F +:10105000040502400000000A03050280002006F695 +:101060000405400000000D000305000400100716F1 +:10107000020500E00000000E020500E40000002E62 +:10108000020500E00000001E020500E40000003E32 +:10109000020500E00000004E020500E40000006EC2 +:1010A000020500E00000005E020500E40000007E92 +:1010B00004164024000000020316403000030726F7 +:1010C0000216404400000020021640700000001C80 +:1010D0000216420800000001021642100000000142 +:1010E0000216422000000001021642280000000102 +:1010F00002164230000000010216423800000001D2 +:1011000002164260000000020A0000010000000117 +:101110000216401C0003D0900A00000100000002EB +:101120000216401C000009C40A000001000000046F +:101130000216401C0000009C021640000000000146 +:10114000021640D8000000010316400800030729DA +:101150000216424000000000021642480000000053 +:101160000816427000000002021642500000000003 +:1011700002164258000000000816428000000002DB +:10118000030420080004072C0304201C000407307B +:1011900002042038000000200404203C0000001F4E +:1011A000020420B800000001040420BC0000005F1D +:1011B0000304223800040734010422480000000020 +:1011C0000104224C00000000010422500000000035 +:1011D0000104225400000000010422580000000015 +:1011E0000104225C000000000104226000000000F5 +:1011F00001042264000000000104226800000000D5 +:101200000104226C000000000104227000000000B4 +:101210000104227400000000010422780000000094 +:101220000104227C000000000A000001000000010F +:1012300002042000000003E80A0000010000000290 +:10124000020420000000000A0A000001000000045F +:10125000020420000000000105180400006F0000D7 +:101260000618076000140738041A00000000400048 +:10127000041B240000000040031A1EC80002073AA5 +:10128000031A40400004073C041A405000000006C6 +:10129000031A406800020740031A52C000020742C6 +:1012A000031A800003F90744041A8FE400000007C2 +:1012B000031AA08000100B3D021B800000000034C8 +:1012C000021B804000000018021B80800000000C00 +:1012D000021B80C000000020021B83800007A120A9 +:1012E000021B83C0000001F4021B8BC00000000140 +:1012F0000A00000200000001021B83000007A12079 +:10130000021B8340000001F40A00000200000002FA +:10131000021B830000001388021B834000000005AD +:101320000A00000200000004021B830000000138D4 +:10133000021B834000000000051C00002F830000FA +:10134000051C800033740BE1051D0000228118BECE +:10135000061D505055F60B4D0A000001000000011B +:10136000021B1480000000010A00000100000002BE +:10137000021B1480000000010A00000100000004AC +:10138000021B148000000000011800000000000093 +:10139000011800040000000001180008000000000F +:1013A0000118000C000000000118001000000000EF +:1013B000011800140000000003180020001A0B4F51 +:1013C000031800A400020B690218022400000000A8 +:1013D00002180234000000000218024C0000000055 +:1013E000021802E4000000FF0818100000000400CA +:1013F000041A300000000010041A308000000010B1 +:10140000041A310000000010041A3180000000109E +:10141000041A330000000012041A33900000001276 +:10142000041A342000000070041A90000000000626 +:10143000041A304000000010041A30C000000010F0 +:10144000041A314000000010041A31C000000010DE +:10145000041A334800000012041A33D800000012A6 +:10146000041A35E000000070041A9018000000060D +:10147000031A400000020B6B041A50000000000227 +:10148000041A508000000012031A614000020B6D24 +:10149000041A903000000002041AA00000000002AC +:1014A000031A400800020B6F041A501000000002DB +:1014B000041A50C800000012031A614800020B71A0 +:1014C000041A903800000002041AA008000000026C +:1014D000031A401000020B73041A5020000000028F +:1014E000041A511000000012031A615000020B751B +:1014F000041A904000000002041AA010000000022C +:10150000031A401800020B77041A50300000000242 +:10151000041A515800000012031A615800020B7996 +:10152000041A904800000002041AA01800000002EB +:10153000031A402000020B7B041A504000000002F6 +:10154000041A51A000000012031A616000020B7D12 +:10155000041A905000000002041AA02000000002AB +:10156000031A402800020B7F041A505000000002AA +:10157000041A51E800000012031A616800020B818E +:10158000041A905800000002041AA028000000026B +:10159000031A403000020B83041A5060000000025E +:1015A000041A523000000012031A617000020B8509 +:1015B000041A906000000002041AA030000000022B +:1015C000031A403800020B87041A50700000000212 +:1015D000041A527800000012031A617800020B8985 +:1015E000041A906800000002041AA03800000002EB +:1015F000020E004C00000032030E005400040B8B5E +:10160000040E006400000004030E009400130B8F0E +:10161000020E014400000001030E014C00020BA267 +:10162000020E020400000001030E020C00020BA4D3 +:10163000030E021C00040BA6030E0280001B0BAA63 +:10164000040E02EC00000017040E20000000080049 +:10165000030E000400110BC5020E01100000000F64 +:10166000020E01140000002F020E01100000001FE6 +:10167000020E01140000003F020E01100000004F96 +:10168000020E01140000006F020E01100000005F46 +:10169000020E01140000007F020C10000000002860 +:1016A000030C400800040BD6030C401C00040BDAAA +:1016B000030C403800050BDE040C404C0000005BBE +:1016C000030C41B800050BE3040C41CC0000001BE7 +:1016D000030C423800040BE8010C424800000000F3 +:1016E000010C424C00000000010C425000000000C0 +:1016F000010C425400000000010C425800000000A0 +:10170000010C425C00000000010C4260000000007F +:10171000010C426400000000010C4268000000005F +:10172000010C426C00000000010C4270000000003F +:10173000010C427400000000010C4278000000001F +:10174000010C427C00000000010C428000000000FF +:101750000A00000100000001020C4000000003E844 +:101760000A00000100000002020C40000000000A14 +:101770000A00000100000004020C4000000000010B +:1017800005300400009C00000630076800130BECD5 +:101790000432000000004000043324000000004038 +:1017A00004323E800000001003323EC000020BEE07 +:1017B000033274C000080BF00332850000100BF8F0 +:1017C000023380000000001A023380400000004E07 +:1017D0000233808000000010023380C0000000202F +:1017E000023383800007A120023383C0000001F48C +:1017F00002338BC0000000010A000002000000015B +:10180000023383000007A12002338340000001F46B +:101810000A00000200000002023383000000138867 +:1018200002338340000000050A00000200000004AB +:1018300002338300000001380233834000000000BF +:1018400005340000366900000534800030BC0D9B73 +:1018500005350000346819CA063577D051060C08E2 +:101860000A000001000000010233148000000001A2 +:101870000A00000100000002023314800000000191 +:101880000A00000100000004023314800000000080 +:1018900001300000000000000130000400000000E2 +:1018A00001300008000000000130000C00000000C2 +:1018B00001300010000000000130001400000000A2 +:1018C00003300020001A0C0A033000A400020C248C +:1018D0000230022400000000023002340000000048 +:1018E0000230024C00000000023002E40000FFFF62 +:1018F000083020000000080004321000000001C081 +:1019000004321E000000003804323000000001C024 +:10191000043250000000002004325100000000207A +:101920000432520000000020043253000000002066 +:101930000432540000000020043255000000002052 +:10194000043256000000002004325700000000203E +:10195000043258000000002004325900000000202A +:1019600004325A000000002004325B000000002016 +:1019700004325C000000002004325D000000002002 +:1019800004325E000000002004325F0000000020EE +:1019900004328450000000020332846000040C26EC +:1019A00004321700000001C004321EE000000038BD +:1019B00004323700000001C00432508000000020D3 +:1019C00004325180000000200432528000000020C8 +:1019D00004325380000000200432548000000020B4 +:1019E00004325580000000200432568000000020A0 +:1019F000043257800000002004325880000000208C +:101A0000043259800000002004325A800000002077 +:101A100004325B800000002004325C800000002063 +:101A200004325D800000002004325E80000000204F +:101A300004325F800000002004328458000000025D +:101A40000332847000040C2A0432401000000002AB +:101A50000432841000000002043240200000000222 +:101A600004328418000000020432403000000002FA +:101A700004328420000000020432404000000002D2 +:101A800004328428000000020432405000000002AA +:101A90000432843000000002043240600000000282 +:101AA000043284380000000204324070000000025A +:101AB0000432844000000002043240800000000232 +:101AC0000432844800000002020200580000003284 +:101AD0000302006000040C2E0402007000000004E9 +:101AE000030200A0000E0C32030200DC00070C40D1 +:101AF000020200FC000000060202012000000000BB +:101B00000202013400000002020201B000000001E4 +:101B10000202020C000000010302021400020C4742 +:101B200002020404000000010302040C00020C493C +:101B30000302041C00040C4B0302048000200C4F21 +:101B400004020500000000120402800000002000D2 +:101B50000302000400140C6F02020108000000C818 +:101B60000202011800000002020201C4000000008D +:101B7000020201CC00000000020201D400000002B9 +:101B8000020201DC00000002020201E4000000FF8A +:101B9000020201EC000000FF0202010C000000C87C +:101BA0000202011C00000002020201C80000000045 +:101BB000020201D000000000020201D80000000271 +:101BC000020201E000000002020201E8000000FF42 +:101BD000020201F0000000FF02020108000000C83C +:101BE0000202011800000002020201C4000000000D +:101BF000020201CC00000000020201D40000000239 +:101C0000020201DC00000002020201E4000000FF09 +:101C1000020201EC000000FF0202010C000000C8FB +:101C20000202011C00000002020201C800000000C4 +:101C3000020201D000000000020201D800000002F0 +:101C4000020201E000000002020201E8000000FFC1 +:101C5000020201F0000000FF02020108000000C8BB +:101C60000202011800000002020201C4000000008C +:101C7000020201CC00000000020201D400000002B8 +:101C8000020201DC00000002020201E4000000FF89 +:101C9000020201EC000000FF0202010C000000C87B +:101CA0000202011C00000002020201C80000000044 +:101CB000020201D000000000020201D80000000270 +:101CC000020201E000000002020201E8000000FF41 +:101CD000020201F0000000FF02020108000000C83B +:101CE0000202011800000002020201C4000000000C +:101CF000020201CC00000000020201D40000000238 +:101D0000020201DC00000002020201E4000000FF08 +:101D1000020201EC000000FF0202010C000000C8FA +:101D20000202011C00000002020201C800000000C3 +:101D3000020201D000000000020201D800000002EF +:101D4000020201E000000002020201E8000000FFC0 +:101D5000020201F0000000FF02161000000000283F +:101D60000316600800030C830316601C00040C8635 +:101D700003166038000D0C8A0416606C0000001316 +:101D8000031660B800020C97041660C00000003E05 +:101D9000021661B800000001041661BC0000001FBB +:101DA0000316623800040C99011662480000000016 +:101DB0000116624C00000000011662500000000095 +:101DC0000116625400000000011662580000000075 +:101DD0000116625C00000000011662600000000055 +:101DE0000116626400000000011662680000000035 +:101DF0000116626C00000000011662700000000015 +:101E000001166274000000000116627800000000F4 +:101E10000116627C000000000A00000100000001C1 +:101E200002166000000003E80A0000010000000242 +:101E3000021660000000000A0A0000010000000411 +:101E4000021660000000000105280400008900005F +:101E50000628076800130C9D042A000000004000BB +:101E6000042B240000000040032A300000020C9FD5 +:101E7000032A400000100CA1032A840800080CB1BA +:101E8000032A93C800040CB9032A96F000020CBD83 +:101E9000042A96F800000006032A994000020CBFAD +:101EA000022A9A2800000001032AC0C000100CC1B9 +:101EB000022B800000000000022B80400000001870 +:101EC000022B80800000000C022B80C00000006606 +:101ED000022B83800007A120022B83C0000001F4A5 +:101EE000022B8BC0000000010A000002000000016C +:101EF000022B83000007A120022B8340000001F485 +:101F00000A00000200000002022B83000000138878 +:101F1000022B8340000000050A00000200000004BC +:101F2000022B830000000138022B834000000000D8 +:101F30000A00000100000020022A9A2C0000000084 +:101F4000052C0000388F0000052C80003A660E2416 +:101F5000052D000039AC1CBE052D800013C62B29B1 +:101F6000062DA7104B1E0CD10A0000010000000135 +:101F7000022B1480000000010A0000010000000292 +:101F8000022B1480000000010A0000010000000480 +:101F9000022B148000000000012800000000000057 +:101FA00001280004000000000128000800000000D3 +:101FB0000128000C000000000128001000000000B3 +:101FC000012800140000000003280020001A0CD390 +:101FD000032800A400020CED0228022400000000E7 +:101FE00002280234000000000228024C0000000019 +:101FF000022802E40000FFFF08282000000008007B +:10200000042A500000000002042A501000000002C0 +:10201000042A502000000002042A50300000000270 +:10202000042A93E000000020042A94E00000000E3F +:10203000032A951800020CEF042A95600000000E98 +:10204000032A959800020CF1042A95E00000000E86 +:10205000032A961800020CF3042A96600000000E72 +:10206000032A969800020CF5032A971000020CF739 +:10207000042A500800000002042A50180000000240 +:10208000042A502800000002042A503800000002F0 +:10209000042A946000000020042A95200000000E0D +:1020A000032A955800020CF9042A95A00000000E9E +:1020B000032A95D800020CFB042A96200000000E8B +:1020C000032A965800020CFD042A96A00000000E78 +:1020D000032A96D800020CFF032A971800020D016C +:1020E000042A50480000000E032A972000100D0318 +:1020F000042A995000000002042AC00000000002D7 +:10210000042A50800000000E032A976000100D136F +:10211000042A995800000002042AC00800000002A6 +:10212000042A50B80000000E032A97A000100D23C7 +:10213000042A996000000002042AC0100000000276 +:10214000042A50F00000000E032A97E000100D331F +:10215000042A996800000002042AC0180000000246 +:10216000042A51280000000E032A982000100D4375 +:10217000042A997000000002042AC0200000000216 +:10218000042A51600000000E032A986000100D53CD +:10219000042A997800000002042AC02800000002E6 +:1021A000042A51980000000E032A98A000100D6325 +:1021B000042A998000000002042AC03000000002B6 +:1021C000042A51D00000000E032A98E000100D737D +:1021D000042A998800000002042AC0380000000286 +:1021E0000400A0000000000C0400A0500000000249 +:1021F0000300A0EC00080D830300A18C00080D8BE8 +:102200000200A45C00000C000200A61C00000003F9 +:102210000300A06C00060D930400A08400000005DC +:102220000200A0980FE000000400A09C000000073E +:102230000300A0B8000D0D990400A22C00000004BA +:102240000300A10C00060DA60400A1240000000557 +:102250000200A1380FE000000400A13C00000007CC +:102260000300A158000D0DAC0400A23C00000004C6 +:102270000200A030000000000200A03400000000B6 +:102280000200A038000000000200A03C0000000096 +:102290000200A040000000000200A0440000000076 +:1022A0000200A048000000000200A04C0000000056 +:1022B000000000000000000000000000000000001E +:1022C000000000000000000000000000000000000E +:1022D00000000000000000000000000000000000FE +:1022E0000000000000000005000500080008000BC9 +:1022F00000000000000000000000000000000000DE +:1023000000000000000000000000000000000000CD +:10231000000B001900000000000000000019001A66 +:10232000001A001B001B001C001C001D001D001ECD +:10233000001E001F001F0020002000210021002897 +:10234000000000000000000000000000000000008D +:10235000000000000000000000000000000000007D +:1023600000000000000000000028002E0000000017 +:10237000000000000000000000000000000000005D +:10238000000000000000000000000000000000004D +:1023900000000000002E00490000000000000000C6 +:1023A000000000000000000000000000000000002D +:1023B000000000000000000000000000000000001D +:1023C000004900B6000000000000000000B600BB9D +:1023D00000BB00C000C000C500C500CA00CA00CFD5 +:1023E00000CF00D400D400D900D900DE00000000E6 +:1023F00000000000000000000000000000000000DD +:1024000000000000000000000000000000000000CC +:10241000000000000000000000DE00E200000000FC +:1024200000000000000000000000000000000000AC +:10243000000000000000000000000000000000009C +:102440000000000000E200E90000000000000000C1 +:10245000000000000000000000000000000000007C +:10246000000000000000000000000000000000006C +:1024700000000000000000000000000000E900F97A +:1024800000F901090109011901190129012901397D +:102490000139014901490159015901690000000050 +:1024A000000000000000000000000000000000002C +:1024B000000000000000000000000000000000001C +:1024C00000000000000000000169016F0000000032 +:1024D00000000000016F0170017001710171017253 +:1024E0000172017301730174017401750175017644 +:1024F000017601770177017A017A018901890198D2 +:10250000019801990199019A019A019B019B019CF3 +:10251000019C019D019D019E019E019F019F01A0C3 +:1025200001A001A601A601AA01AA01AE00000000B7 +:10253000000000000000000000000000000000009B +:10254000000000000000000000000000000000008B +:10255000000000000000000000000000000000007B +:10256000000000000000000000000000000000006B +:10257000000000000000000001AE01C000000000EB +:10258000000000000000000000000000000000004B +:10259000000000000000000000000000000000003B +:1025A0000000000001C001CF00000000000000009A +:1025B000000000000000000000000000000000001B +:1025C000000000000000000000000000000000000B +:1025D00001CF01D200000000000000000000000058 +:1025E00000000000000000000000000000000000EB +:1025F00000000000000000000000000001D201F215 +:1026000000000000000000000000000000000000CA +:1026100000000000000000000000000000000000BA +:10262000000000000000000001F201F400000000C2 +:10263000000000000000000000000000000000009A +:10264000000000000000000000000000000000008A +:102650000000000001F40201000000000000000082 +:102660000201020202020203020302040204020542 +:102670000205020602060207020702080208020912 +:102680000209021D021D0220022002230000000098 +:10269000000000000000000000000000000000003A +:1026A0000000000000000000000000000223023EC5 +:1026B000000000000000000000000000000000001A +:1026C000000000000000000000000000000000000A +:1026D0000000000000000000023E02710271027959 +:1026E00002790281028102870287028D028D0293A4 +:1026F000029302990299029F029F02A502A502ABD2 +:1027000002AB02B102B102BE0000000000000000F6 +:1027100002BE02BF02BF02C002C002C102C102C2A9 +:1027200002C202C302C302C402C402C502C502C679 +:1027300002C602C700000000000000000000000008 +:102740000000000000000000000000000000000089 +:1027500000000000000000000000000002C702E3CB +:102760000000000000000000000000000000000069 +:102770000000000000000000000000000000000059 +:10278000000000000000000002E303120312032710 +:102790000327033C033C033E033E03400340034244 +:1027A0000342034403440346034603480348034AE1 +:1027B000034A034C034C035E0000000000000000CD +:1027C000035E03660366036E036E03760376037E81 +:1027D000037E03860386038E038E03960396039E71 +:1027E000039E039F000000000000000000000000A6 +:1027F00000000000000000000000000000000000D9 +:10280000000000000000000000000000039F03BC67 +:1028100000000000000000000000000000000000B8 +:1028200000000000000000000000000000000000A8 +:10283000000000000000000003BC03F303F30401E8 +:102840000401040F040F0413041304170417041BDA +:10285000041B041F041F0423042304270427042B40 +:10286000042B042F042F04350435043B043B04419E +:102870000441044204420443044304440444044520 +:1028800004450446044604470447044804480449F0 +:1028900000000000000000000000200000004000D8 +:1028A00000006000000080000000A0000000C000E8 +:1028B0000000E000000100000001200000014000D5 +:1028C00000016000000180000001A0000001C000C4 +:1028D0000001E000000200000002200000024000B1 +:1028E00000026000000280000002A0000002C000A0 +:1028F0000002E0000003000000032000000340008D +:1029000000036000000380000003A0000003C0007B +:102910000003E00000040000000420000004400068 +:1029200000046000000480000004A0000004C00057 +:102930000004E00000050000000520000005400044 +:1029400000056000000580000005A0000005C00033 +:102950000005E00000060000000620000006400020 +:1029600000066000000680000006A0000006C0000F +:102970000006E000000700000007200000074000FC +:1029800000076000000780000007A0000007C000EB +:102990000007E000000800000008200000084000D8 +:1029A00000086000000880000008A0000008C000C7 +:1029B0000008E000000900000009200000094000B4 +:1029C00000096000000980000009A0000009C000A3 +:1029D0000009E000000A0000000A2000000A400090 +:1029E000000A6000000A8000000AA000000AC0007F +:1029F000000AE000000B0000000B2000000B40006C +:102A0000000B6000000B8000000BA000000BC0005A +:102A1000000BE000000C0000000C2000000C400047 +:102A2000000C6000000C8000000CA000000CC00036 +:102A3000000CE000000D0000000D2000000D400023 +:102A4000000D6000000D8000000DA000000DC00012 +:102A5000000DE000000E0000000E2000000E4000FF +:102A6000000E6000000E8000000EA000000EC000EE +:102A7000000EE000000F0000000F2000000F4000DB +:102A8000000F6000000F8000000FA000000FC000CA +:102A9000000FE000001000000010200000104000B7 +:102AA00000106000001080000010A0000010C000A6 +:102AB0000010E00000110000001120000011400093 +:102AC00000116000001180000011A0000011C00082 +:102AD0000011E0000012000000122000001240006F +:102AE00000126000001280000012A0000012C0005E +:102AF0000012E0000013000000132000001340004B +:102B000000136000001380000013A0000013C00039 +:102B10000013E00000140000001420000014400026 +:102B200000146000001480000014A0000014C00015 +:102B30000014E00000150000001520000015400002 +:102B400000156000001580000015A0000015C000F1 +:102B50000015E000001600000016200000164000DE +:102B600000166000001680000016A0000016C000CD +:102B70000016E000001700000017200000174000BA +:102B800000176000001780000017A0000017C000A9 +:102B90000017E00000180000001820000018400096 +:102BA00000186000001880000018A0000018C00085 +:102BB0000018E00000190000001920000019400072 +:102BC00000196000001980000019A0000019C00061 +:102BD0000019E000001A0000001A2000001A40004E +:102BE000001A6000001A8000001AA000001AC0003D +:102BF000001AE000001B0000001B2000001B40002A +:102C0000001B6000001B8000001BA000001BC00018 +:102C1000001BE000001C0000001C2000001C400005 +:102C2000001C6000001C8000001CA000001CC000F4 +:102C3000001CE000001D0000001D2000001D4000E1 +:102C4000001D6000001D8000001DA000001DC000D0 +:102C5000001DE000001E0000001E2000001E4000BD +:102C6000001E6000001E8000001EA000001EC000AC +:102C7000001EE000001F0000001F2000001F400099 +:102C8000001F6000001F8000001FA000001FC00088 +:102C9000001FE00000200000002020000020400075 +:102CA00000206000002080000020A0000020C00064 +:102CB0000020E00000210000002120000021400051 +:102CC00000216000002180000021A0000021C00040 +:102CD0000021E0000022000000222000002240002D +:102CE00000226000002280000022A0000022C0001C +:102CF0000022E00000230000002320000023400009 +:102D000000236000002380000023A0000023C000F7 +:102D10000023E000002400000024200000244000E4 +:102D200000246000002480000024A0000024C000D3 +:102D30000024E000002500000025200000254000C0 +:102D400000256000002580000025A0000025C000AF +:102D50000025E0000026000000262000002640009C +:102D600000266000002680000026A0000026C0008B +:102D70000026E00000270000002720000027400078 +:102D800000276000002780000027A0000027C00067 +:102D90000027E00000280000002820000028400054 +:102DA00000286000002880000028A0000028C00043 +:102DB0000028E00000290000002920000029400030 +:102DC00000296000002980000029A0000029C0001F +:102DD0000029E000002A0000002A2000002A40000C +:102DE000002A6000002A8000002AA000002AC000FB +:102DF000002AE000002B0000002B2000002B4000E8 +:102E0000002B6000002B8000002BA000002BC000D6 +:102E1000002BE000002C0000002C2000002C4000C3 +:102E2000002C6000002C8000002CA000002CC000B2 +:102E3000002CE000002D0000002D2000002D40009F +:102E4000002D6000002D8000002DA000002DC0008E +:102E5000002DE000002E0000002E2000002E40007B +:102E6000002E6000002E8000002EA000002EC0006A +:102E7000002EE000002F0000002F2000002F400057 +:102E8000002F6000002F8000002FA000002FC00046 +:102E9000002FE00000300000003020000030400033 +:102EA00000306000003080000030A0000030C00022 +:102EB0000030E0000031000000312000003140000F +:102EC00000316000003180000031A0000031C000FE +:102ED0000031E000003200000032200000324000EB +:102EE00000326000003280000032A0000032C000DA +:102EF0000032E000003300000033200000334000C7 +:102F000000336000003380000033A0000033C000B5 +:102F10000033E000003400000034200000344000A2 +:102F200000346000003480000034A0000034C00091 +:102F30000034E0000035000000352000003540007E +:102F400000356000003580000035A0000035C0006D +:102F50000035E0000036000000362000003640005A +:102F600000366000003680000036A0000036C00049 +:102F70000036E00000370000003720000037400036 +:102F800000376000003780000037A0000037C00025 +:102F90000037E00000380000003820000038400012 +:102FA00000386000003880000038A0000038C00001 +:102FB0000038E000003900000039200000394000EE +:102FC00000396000003980000039A0000039C000DD +:102FD0000039E000003A0000003A2000003A4000CA +:102FE000003A6000003A8000003AA000003AC000B9 +:102FF000003AE000003B0000003B2000003B4000A6 +:10300000003B6000003B8000003BA000003BC00094 +:10301000003BE000003C0000003C2000003C400081 +:10302000003C6000003C8000003CA000003CC00070 +:10303000003CE000003D0000003D2000003D40005D +:10304000003D6000003D8000003DA000003DC0004C +:10305000003DE000003E0000003E2000003E400039 +:10306000003E6000003E8000003EA000003EC00028 +:10307000003EE000003F0000003F2000003F400015 +:10308000003F6000003F8000003FA000003FC00004 +:10309000003FE000003FE00100000000000001FFF1 +:1030A000000002000000000100000002000000001B +:1030B0000000000802150020021500200810000082 +:1030C00000000033000000020000000000000005C6 +:1030D00000000005000000000000000000000002E9 +:1030E00000000003000000020000000100000004D6 +:1030F00000000002000000020000000100000002C9 +:10310000000000200000004000000040000000031C +:103110000000001800002000000040C00000618096 +:10312000000082400000A3000000C3C00000E48053 +:103130000001054000012600000146C00001678033 +:10314000000188400001A9000001C9C00001EA8017 +:1031500000020B4000022C0000024CC000026D80F7 +:1031600000028E400002AF000002CFC00002F080DB +:1031700000001140000000010000000100000001FB +:10318000000000010000000100000001000000013B +:10319000000000010000000100000001000000012B +:1031A000000000010000000100000001000000011B +:1031B0000003D0000000003D00000001000D0000F1 +:1031C000000700D000028140000B8168000202204D +:1031D00000010240000F025000010340000C0000FB +:1031E000000800C000028140000B8168000202203C +:1031F0000001024000070250000202C0001000005F +:103200000008010000028180000B81A8000202601A +:1032100000018280000E82980008038000000000F8 +:10322000000000000002800000090028000200B831 +:10323000000100D8000000E8000000E8FFFFFFF3F5 +:1032400001AFFFFF000000000000000000000000D0 +:10325000000000000000000000000000FFFFFFF180 +:1032600000EFFFFF00000000000000000000000071 +:10327000000000000001000000000000FFFFFFF65A +:10328000005FFFFF000000000000000000000000E1 +:10329000000000000002000000000000FFFFF40634 +:1032A0001CBFFFFF0000000500000000000000142C +:1032B000000000000004000000000000FFFFFFF21B +:1032C000004FFFFF000000000000000000000000B1 +:1032D000000000000008000000000000FFFFFFFAEF +:1032E000002FFFFF000000000000000000000000B1 +:1032F000000000000010000000000000FFFFFFF7CA +:1033000001EFFFFF000000000000000000000000CF +:10331000000000000020000000000000FFFFFFF59B +:10332000002FFFFF00000000000000000000000070 +:10333000000000000040000000000000FFFFFFF35D +:10334000018FFFFF000000000000000000000000EF +:10335000000000000000000000000000FFFFFFF17F +:10336000010FFFFF0000000000000000000000004F +:10337000000000000001000000000000FFFFFFF659 +:10338000005FFFFF000000000000000000000000E0 +:10339000000000000002000000000000FFFFF40633 +:1033A0001CBFFFFF0000000500000000000000142B +:1033B000000000000004000000000000FFFFFFF21A +:1033C000004FFFFF000000000000000000000000B0 +:1033D000000000000008000000000000FFFFFFFAEE +:1033E000002FFFFF000000000000000000000000B0 +:1033F000000000000010000000000000FFFFFFF7C9 +:1034000000EFFFFF000000000000000000000000CF +:10341000000000000020000000000000FFFFFFF59A +:10342000004FFFFF0000000000000000000000004F +:10343000000000000040000000000000FFFFFFFF50 +:1034400000CFFFFF0000000000000000000000CCE3 +:10345000000000000000000000000000FFFFFFFF70 +:1034600000CFFFFF0000000000000000000000CCC3 +:10347000000000000001000000000000FFFFFFFF4F +:1034800000CFFFFF0000000000000000000000CCA3 +:10349000000000000002000000000000FFFFFFFF2E +:1034A00000CFFFFF0000000000000000000000CC83 +:1034B000000000000004000000000000FFFFFFFF0C +:1034C00000CFFFFF0000000000000000000000CC63 +:1034D000000000000008000000000000FFFFFFFFE8 +:1034E00000CFFFFF0000000000000000000000CC43 +:1034F000000000000010000000000000FFFFFFFFC0 +:1035000000CFFFFF0000000000000000000000CC22 +:10351000000000000020000000000000FFFFFFFF8F +:1035200000CFFFFF0000000000000000000000CC02 +:10353000000000000040000000000000FFFFFFF35B +:10354000020FFFFF0000000000000000000000006C +:10355000000000000000000000000000FFFFFFF17D +:10356000010FFFFF0000000000000000000000004D +:10357000000000000001000000000000FFFFFFF657 +:10358000005FFFFF000000000000000000000000DE +:10359000000000000002000000000000FFFFF40631 +:1035A0001CBFFFFF00000005000000000000001429 +:1035B000000000000004000000000000FFFFFFF218 +:1035C000004FFFFF000000000000000000000000AE +:1035D000000000000008000000000000FFFFFF8A5C +:1035E000042FFFFF000000000000000000000000AA +:1035F000000000000010000000000000FFFFFF9727 +:1036000005CFFFFF000000000000000000000000E8 +:10361000000000000020000000000000FFFFFFF598 +:10362000010FFFFF0000000000000000000000008C +:10363000000000000040000000000000FFFFFFF35A +:10364000000FFFFF0000000000000000000000006D +:10365000000000000000000000000000FFFFFFF17C +:10366000000FFFFF0000000000000000000000004D +:10367000000000000001000000000000FFFFFFF656 +:10368000005FFFFF000000000000000000000000DD +:10369000000000000002000000000000FFFFFF0625 +:1036A0001CBFFFFF0000000000000000000000142D +:1036B000000000000004000000000000FFFFFFF217 +:1036C000004FFFFF000000000000000000000000AD +:1036D000000000000008000000000000FFFFFFFAEB +:1036E000002FFFFF000000000000000000000000AD +:1036F000000000000010000000000000FFFFFFF7C6 +:10370000000FFFFF000000000000000000000000AC +:10371000000000000020000000000000FFFFFFFF8D +:1037200000CFFFFF0000000000000000000000CC00 +:10373000000000000040000000000000FFFFFFFF4D +:1037400000CFFFFF0000000000000000000000CCE0 +:10375000000000000000000000000000FFFFFFFF6D +:1037600000CFFFFF0000000000000000000000CCC0 +:10377000000000000001000000000000FFFFFFFF4C +:1037800000CFFFFF0000000000000000000000CCA0 +:10379000000000000002000000000000FFFFFFFF2B +:1037A00000CFFFFF0000000000000000000000CC80 +:1037B000000000000004000000000000FFFFFFFF09 +:1037C00000CFFFFF0000000000000000000000CC60 +:1037D000000000000008000000000000FFFFFFFFE5 +:1037E00000CFFFFF0000000000000000000000CC40 +:1037F000000000000010000000000000FFFFFFFFBD +:1038000000CFFFFF0000000000000000000000CC1F +:10381000000000000020000000000000FFFFFFFF8C +:1038200000CFFFFF0000000000000000000000CCFF +:10383000000000000040000000000000FFFFFFFF4C +:1038400000CFFFFF0000000000000000000000CCDF +:10385000000000000000000000000000FFFFFFFF6C +:1038600000CFFFFF0000000000000000000000CCBF +:10387000000000000001000000000000FFFFFFFF4B +:1038800000CFFFFF0000000000000000000000CC9F +:10389000000000000002000000000000FFFFFFFF2A +:1038A00000CFFFFF0000000000000000000000CC7F +:1038B000000000000004000000000000FFFFFFFF08 +:1038C00000CFFFFF0000000000000000000000CC5F +:1038D000000000000008000000000000FFFFFFFFE4 +:1038E00000CFFFFF0000000000000000000000CC3F +:1038F000000000000010000000000000FFFFFFFFBC +:1039000000CFFFFF0000000000000000000000CC1E +:10391000000000000020000000000000FFFFFFFF8B +:1039200000CFFFFF0000000000000000000000CCFE +:10393000000000000040000000000000FFFFFFFF4B +:1039400000CFFFFF0000000000000000000000CCDE +:10395000000000000000000000000000FFFFFFFF6B +:1039600000CFFFFF0000000000000000000000CCBE +:10397000000000000001000000000000FFFFFFFF4A +:1039800000CFFFFF0000000000000000000000CC9E +:10399000000000000002000000000000FFFFFFFF29 +:1039A00000CFFFFF0000000000000000000000CC7E +:1039B000000000000004000000000000FFFFFFFF07 +:1039C00000CFFFFF0000000000000000000000CC5E +:1039D000000000000008000000000000FFFFFFFFE3 +:1039E00000CFFFFF0000000000000000000000CC3E +:1039F000000000000010000000000000FFFFFFFFBB +:103A000000CFFFFF0000000000000000000000CC1D +:103A1000000000000020000000000000FFFFFFFF8A +:103A200000CFFFFF0000000000000000000000CCFD +:103A30000000000000400000000000000000021133 +:103A400000000200000002040000FFFF0000FFFF72 +:103A50000000FFFF0000FFFF000000200000002129 +:103A600000000022000000230000002400000025C8 +:103A700000000026000000270000002800000029A8 +:103A80000000002A0000002B0000002C0000002D88 +:103A90000000002E0000002F0000001000000001B8 +:103AA0000000000100000001000000010000000112 +:103AB0000000000100000001000000010000000102 +:103AC00000000001000000010000000100000001F2 +:103AD00000000001000000010000000100000001E2 +:103AE00007FFFFFF0000003F07FFFFFF0000000F80 +:103AF00000007FF800007FF80000FF0000000000D9 +:103B00000000FF00000000000000FF0000000000B7 +:103B10000000FF00000000000000FF0000000000A7 +:103B20000000FF00000000000000FF000000000097 +:103B30000000FF00000000000000FF1C0FFFFFFF5F +:103B40000000FF1C0FFFFFFF0000FF1C0FFFFFFF27 +:103B50000000FF1C0FFFFFFF0000FF1C0FFFFFFF17 +:103B60000000FF1C0FFFFFFF0000FF1C0FFFFFFF07 +:103B70000000FF1C0FFFFFFF0000FF1C0FFFFFFFF7 +:103B80000000FF1C0FFFFFFF0000FF1C0FFFFFFFE7 +:103B90000000FF1C0FFFFFFF0000FF1C0FFFFFFFD7 +:103BA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFC7 +:103BB0000000FF1C0FFFFFFF0000FF1C0FFFFFFFB7 +:103BC0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA7 +:103BD0000000FF1C0FFFFFFF0000FF1C0FFFFFFF97 +:103BE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF87 +:103BF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF77 +:103C00000000FF1C0FFFFFFF0000FF1C0FFFFFFF66 +:103C10000000FF1C0FFFFFFF0000FF1C0FFFFFFF56 +:103C20000000FF1C0FFFFFFF0000FF1C0FFFFFFF46 +:103C30000000FF1C0FFFFFFF0000FF1C0FFFFFFF36 +:103C40000000FF1C0FFFFFFF0000FF1C0FFFFFFF26 +:103C50000000FF1C0FFFFFFF0000FF1C0FFFFFFF16 +:103C60000000FF1C0FFFFFFF0000FF1C0FFFFFFF06 +:103C70000000FF1C0FFFFFFF0000FF1C0FFFFFFFF6 +:103C80000000FF1C0FFFFFFF0000FF1C0FFFFFFFE6 +:103C90000000FF1C0FFFFFFF0000FF1C0FFFFFFFD6 +:103CA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFC6 +:103CB0000000FF1C0FFFFFFF0000FF1C0FFFFFFFB6 +:103CC0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA6 +:103CD0000000FF1C0FFFFFFF0000FF1C0FFFFFFF96 +:103CE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF86 +:103CF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF76 +:103D00000000FF1C0FFFFFFF0000FF1C0FFFFFFF65 +:103D10000000FF1C0FFFFFFF0000FF1C0FFFFFFF55 +:103D20000000FF1C0FFFFFFF0000FF1C0FFFFFFF45 +:103D30000000FF1C0FFFFFFF00000316000015002E +:103D4000000000010000000200000003000000006D +:103D5000000000040000000100000000000000015D +:103D6000000000040000000000000001000000034B +:103D7000000000000000000100000004000000003E +:103D8000000000010000000300000000000000012E +:103D90000000000400000000000000040000000318 +:103DA000000000000000000000003FFF000003FFD3 +:103DB0000000000000000001000000010000000100 +:103DC000007C1004000000040000000200000090CD +:103DD0000000009000800090081000000000008AA1 +:103DE000000000800000008100000080000000064C +:103DF000000007D00000076C071D2911000000001B +:103E0000009C0424000000000000000100000001EC +:103E100000000001000000010000000100007FFF21 +:103E2000000000FF000000FF000000FF000000FF96 +:103E30000000007F000000FF000000FF000000FF06 +:103E40000000003E000000000000003F0000003FB6 +:103E50000000003F0000003F0000003F0000003F66 +:103E60000000003F0000000F0000000012170000DB +:103E70002217000032170000121500002215000062 +:103E800032150000021000000010000010100000A9 +:103E9000201000003010000000100000121400007C +:103EA000221400003214000000E38340FFFFFFFFF4 +:103EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:103EC000FFFFFFFFFFFFFFFFFFFFFFFFF0005000BE +:103ED000F0001000FFFFFFFFFFFFFFFFFFFFFFFFEE +:103EE000FFFFFFFFFFFFFFFFFFFFFFFFFF809000CF +:103EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:103F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:103F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:103F2000FFFFFFFFFFFFFFFFFFFFFFFF00003C1051 +:103F30000000000100000000000000080000000870 +:103F40000000000200000004000000050000000462 +:103F500000000040000018080000080300000803EB +:103F600000000040000000030000080300000803F8 +:103F7000000008030001000300000803000008031C +:103F80000000000300000003000000030000000325 +:103F90000000000300000003000000030000000315 +:103FA0000000000300000003000000030000000305 +:103FB00000000003000000030000000300002403D1 +:103FC0000000002F0000000900000019000001841B +:103FD0000000018300000306000000190000000635 +:103FE00000000306000003060000030600000C8624 +:103FF00000000306000003060000000600000006A3 +:104000000000000600000006000000060000000698 +:104010000000000600000006000000060000000688 +:104020000000000600000006000000060000000678 +:104030000000000600000306000000130000000658 +:1040400000001004000010040010644000106440E0 +:104050000000000000000000000000000000000060 +:104060000000200000000000000000000000000030 +:10407000000000000400200000000000000000001C +:104080000000000000000000000020000000007C94 +:104090000000003D0000003F0000009C0000000602 +:1040A000000000050000000A0000000500000140BB +:1040B000000001400000000000000000000000C0FF +:1040C0000000013F00007FFF0000004800000048A2 +:1040D0000000000000000000000000480000000494 +:1040E00000000004000000040000000400000004C0 +:1040F00000000004000000040000000400000004B0 +:10410000000000090000000B0000000A000000048D +:10411000000000090000000B0000000A0000000180 +:10412000000000010000000100000001000000018B +:10413000000000010000000100000001000000017B +:104140000000000100000001000000010000000468 +:10415000000000090000000B0000000A0000000140 +:10416000000000010000000100000001000000014B +:10417000000000010000000100000001000000013B +:104180000000000100000001000000010000000428 +:10419000000000090000000B0000000A0000000001 +:1041A000000000000000080000000200000001FF05 +:1041B0000000040000000000000000001E491E492D +:1041C0001E491E490E490E490E490E49FFFFFFFFC9 +:1041D00000000000000025E4000080000000001343 +:1041E0000FFF0FFF00000000000000000FFF0FFF97 +:1041F00010001000100010002000200020002000FF +:1042000080008000800080004000400040004000AE +:104210000000000000000001010101010120010176 +:104220002001010101011001010101010120010131 +:104230002001010101011001200101010101100112 +:104240000101010101200101200101010101100111 +:104250000101010101200101010101010120010110 +:1042600020010101010110010101010101200101F1 +:1042700020010101010110010101010101200101E1 +:1042800020010101010110010101010101200101D1 +:1042900020010101010110010000000400000009DB +:1042A0000000000B0000000A0000000400000009EC +:1042B0000000000B0000000A0000000100000001E7 +:1042C00000000001000000010000000100000001EA +:1042D00000000001000000010000000100000001DA +:1042E00000000001000000010000000400000009BF +:1042F0000000000B0000000A0000000100000001A7 +:1043000000000001000000010000000100000001A9 +:104310000000000100000001000000010000000199 +:10432000000000010000000100000004000000097E +:104330000000000B0000000A1E491E491E491E49CC +:104340000E490E490E490E49FFFFFFFF0000000015 +:104350000FFF0FFF00000000000000000FFF0FFF25 +:10436000100010001000100020002000200020008D +:10437000800080008000800040004000400040003D +:104380000000000000000002000000010000000327 +:104390000000000400000006000000050000000707 +:1043A000000001230000012300000123000001237D +:1043B000000001230000012300000123000001236D +:1043C000000001230000012300000123000001235D +:1043D000000001230000012300000123000001234D +:1043E000000001230000012300000123000001233D +:1043F000000000200000003200000007000000075D +:104400000000000000000008021500200215002036 +:1044100000000030081000000000003300000030F1 +:10442000000000310000000200000005000000064E +:104430000000000200000002000000000000000573 +:104440000000000200000002000000020000000165 +:104450000000000600000001000000020000004013 +:1044600000000040000000200000001300000020B9 +:1044700000010000000204C00003098000040E4097 +:1044800000051300000617C000071C80000821402B +:1044900000092600000A2AC0000B2F80000C3440BF +:1044A000000D3900000E3DC0000F42800010474053 +:1044B00000114C00001250C00013558000145A40E7 +:1044C00000155F00001663C00017688000186D407B +:1044D00000197200001A76C0001B7B80001C80400F +:1044E000001D8500001E89C0001F8E8000009340C3 +:1044F00000000001000000010000000100000001B8 +:1045000000000001000000010000000100000001A7 +:104510000000000100000001000000010000000197 +:104520000000000100000001000000010000000187 +:10453000000000080000000C000000100000000156 +:104540000000000100000001000002110000020054 +:1045500000000204000002190000FFFF0000FFFF3E +:104560000000FFFF0000FFFF07FFFFFF0000003F0C +:1045700007FFFFFF0000000F00007FF800007FF83A +:1045800000000000000000010020100100000000F9 +:104590000100900000000100000000010000000088 +:1045A00000000000140AFF0000009002000000005C +:1045B0000000000000000000000090040000000067 +:1045C0000000000000000000000090060000000055 +:1045D0000000000000000000000090080000000043 +:1045E00000000000000000000000900A0000000031 +:1045F00000000000000000000000900C000000001F +:1046000000000000000000000000900E000000000C +:1046100000000000000000000000901000000000FA +:1046200000000000000000000000901200000000E8 +:1046300000000000000000000000901400000000D6 +:1046400000000000000000000000901600000000C4 +:1046500000000000000000000000901800000000B2 +:1046600000000000000000000000901A00000000A0 +:1046700000000000000000000000901C000000008E +:1046800000000000000000000000901E000000007C +:10469000000000000000000000009020000000006A +:1046A0000000000000000000000090220000000058 +:1046B0000000000000000000000090240000000046 +:1046C0000000000000000000000090260000000034 +:1046D0000000000000000000000090280000000022 +:1046E00000000000000000000000902A0000000010 +:1046F00000000000000000000000902C00000000FE +:1047000000000000000000000000902E00000000EB +:1047100000000000000000000000903000000000D9 +:1047200000000000000000000000903200000000C7 +:1047300000000000000000000000903400000000B5 +:1047400000000000000000000000903600000000A3 +:104750000000000000000000000090380000000091 +:1047600000000000000000000000903A000000007F +:1047700000000000000000000000903C000000006D +:1047800000000000000000000000903E000000005B +:104790000000000000000000000090400000000049 +:1047A0000000000000000000000090420000000037 +:1047B0000000000000000000000090440000000025 +:1047C0000000000000000000000090460000000013 +:1047D0000000000000000000000090480000000001 +:1047E00000000000000000000000904A00000000EF +:1047F00000000000000000000000904C00000000DD +:1048000000000000000000000000904E00000000CA +:1048100000000000000000000000905000000000B8 +:1048200000000000000000000000905200000000A6 +:104830000000000000000000000090540000000094 +:104840000000000000000000000090560000000082 +:104850000000000000000000000090580000000070 +:1048600000000000000000000000905A000000005E +:1048700000000000000000000000905C000000004C +:1048800000000000000000000000905E000000003A +:104890000000000000000000000090600000000028 +:1048A0000000000000000000000090620000000016 +:1048B0000000000000000000000090640000000004 +:1048C00000000000000000000000906600000000F2 +:1048D00000000000000000000000906800000000E0 +:1048E00000000000000000000000906A00000000CE +:1048F00000000000000000000000906C00000000BC +:1049000000000000000000000000906E00000000A9 +:104910000000000000000000000090700000000097 +:104920000000000000000000000090720000000085 +:104930000000000000000000000090740000000073 +:104940000000000000000000000090760000000061 +:10495000000000000000000000009078000000004F +:1049600000000000000000000000907A000000003D +:1049700000000000000000000000907C000000002B +:1049800000000000000000000000907E0000000019 +:104990000000000000000000000090800000000007 +:1049A00000000000000000000000908200000000F5 +:1049B00000000000000000000000908400000000E3 +:1049C00000000000000000000000908600000000D1 +:1049D00000000000000000000000908800000000BF +:1049E00000000000000000000000908A00000000AD +:1049F00000000000000000000000908C000000009B +:104A000000000000000000000000908E0000000088 +:104A10000000000000000000000090900000000076 +:104A20000000000000000000000090920000000064 +:104A30000000000000000000000090940000000052 +:104A40000000000000000000000090960000000040 +:104A5000000000000000000000009098000000002E +:104A600000000000000000000000909A000000001C +:104A700000000000000000000000909C000000000A +:104A800000000000000000000000909E00000000F8 +:104A90000000000000000000000090A000000000E6 +:104AA0000000000000000000000090A200000000D4 +:104AB0000000000000000000000090A400000000C2 +:104AC0000000000000000000000090A600000000B0 +:104AD0000000000000000000000090A8000000009E +:104AE0000000000000000000000090AA000000008C +:104AF0000000000000000000000090AC000000007A +:104B00000000000000000000000090AE0000000067 +:104B10000000000000000000000090B00000000055 +:104B20000000000000000000000090B20000000043 +:104B30000000000000000000000090B40000000031 +:104B40000000000000000000000090B6000000001F +:104B50000000000000000000000090B8000000000D +:104B60000000000000000000000090BA00000000FB +:104B70000000000000000000000090BC00000000E9 +:104B80000000000000000000000090BE00000000D7 +:104B90000000000000000000000090C000000000C5 +:104BA0000000000000000000000090C200000000B3 +:104BB0000000000000000000000090C400000000A1 +:104BC0000000000000000000000090C6000000008F +:104BD0000000000000000000000090C8000000007D +:104BE0000000000000000000000090CA000000006B +:104BF0000000000000000000000090CC0000000059 +:104C00000000000000000000000090CE0000000046 +:104C10000000000000000000000090D00000000034 +:104C20000000000000000000000090D20000000022 +:104C30000000000000000000000090D40000000010 +:104C40000000000000000000000090D600000000FE +:104C50000000000000000000000090D800000000EC +:104C60000000000000000000000090DA00000000DA +:104C70000000000000000000000090DC00000000C8 +:104C80000000000000000000000090DE00000000B6 +:104C90000000000000000000000090E000000000A4 +:104CA0000000000000000000000090E20000000092 +:104CB0000000000000000000000090E40000000080 +:104CC0000000000000000000000090E6000000006E +:104CD0000000000000000000000090E8000000005C +:104CE0000000000000000000000090EA000000004A +:104CF0000000000000000000000090EC0000000038 +:104D00000000000000000000000090EE0000000025 +:104D10000000000000000000000090F00000000013 +:104D20000000000000000000000090F20000000001 +:104D30000000000000000000000090F400000000EF +:104D40000000000000000000000090F600000000DD +:104D50000000000000000000000090F800000000CB +:104D60000000000000000000000090FA00000000B9 +:104D70000000000000000000000090FC00000000A7 +:104D80000000000000000000000090FE0000000095 +:104D90000000000000000000000091000000000082 +:104DA0000000000000000000000091020000000070 +:104DB000000000000000000000009104000000005E +:104DC000000000000000000000009106000000004C +:104DD000000000000000000000009108000000003A +:104DE00000000000000000000000910A0000000028 +:104DF00000000000000000000000910C0000000016 +:104E000000000000000000000000910E0000000003 +:104E100000000000000000000000911000000000F1 +:104E200000000000000000000000911200000000DF +:104E300000000000000000000000911400000000CD +:104E400000000000000000000000911600000000BB +:104E500000000000000000000000911800000000A9 +:104E600000000000000000000000911A0000000097 +:104E700000000000000000000000911C0000000085 +:104E800000000000000000000000911E0000000073 +:104E90000000000000000000000091200000000061 +:104EA000000000000000000000009122000000004F +:104EB000000000000000000000009124000000003D +:104EC000000000000000000000009126000000002B +:104ED0000000000000000000000091280000000019 +:104EE00000000000000000000000912A0000000007 +:104EF00000000000000000000000912C00000000F5 +:104F000000000000000000000000912E00000000E2 +:104F100000000000000000000000913000000000D0 +:104F200000000000000000000000913200000000BE +:104F300000000000000000000000913400000000AC +:104F4000000000000000000000009136000000009A +:104F50000000000000000000000091380000000088 +:104F600000000000000000000000913A0000000076 +:104F700000000000000000000000913C0000000064 +:104F800000000000000000000000913E0000000052 +:104F90000000000000000000000091400000000040 +:104FA000000000000000000000009142000000002E +:104FB000000000000000000000009144000000001C +:104FC000000000000000000000009146000000000A +:104FD00000000000000000000000914800000000F8 +:104FE00000000000000000000000914A00000000E6 +:104FF00000000000000000000000914C00000000D4 +:1050000000000000000000000000914E00000000C1 +:1050100000000000000000000000915000000000AF +:10502000000000000000000000009152000000009D +:10503000000000000000000000009154000000008B +:105040000000000000000000000091560000000079 +:105050000000000000000000000091580000000067 +:1050600000000000000000000000915A0000000055 +:1050700000000000000000000000915C0000000043 +:1050800000000000000000000000915E0000000031 +:10509000000000000000000000009160000000001F +:1050A000000000000000000000009162000000000D +:1050B00000000000000000000000916400000000FB +:1050C00000000000000000000000916600000000E9 +:1050D00000000000000000000000916800000000D7 +:1050E00000000000000000000000916A00000000C5 +:1050F00000000000000000000000916C00000000B3 +:1051000000000000000000000000916E00000000A0 +:10511000000000000000000000009170000000008E +:10512000000000000000000000009172000000007C +:10513000000000000000000000009174000000006A +:105140000000000000000000000091760000000058 +:105150000000000000000000000091780000000046 +:1051600000000000000000000000917A0000000034 +:1051700000000000000000000000917C0000000022 +:1051800000000000000000000000917E0000000010 +:1051900000000000000000000000918000000000FE +:1051A00000000000000000000000918200000000EC +:1051B00000000000000000000000918400000000DA +:1051C00000000000000000000000918600000000C8 +:1051D00000000000000000000000918800000000B6 +:1051E00000000000000000000000918A00000000A4 +:1051F00000000000000000000000918C0000000092 +:1052000000000000000000000000918E000000007F +:10521000000000000000000000009190000000006D +:10522000000000000000000000009192000000005B +:105230000000000000000000000091940000000049 +:105240000000000000000000000091960000000037 +:105250000000000000000000000091980000000025 +:1052600000000000000000000000919A0000000013 +:1052700000000000000000000000919C0000000001 +:1052800000000000000000000000919E00000000EF +:105290000000000000000000000091A000000000DD +:1052A0000000000000000000000091A200000000CB +:1052B0000000000000000000000091A400000000B9 +:1052C0000000000000000000000091A600000000A7 +:1052D0000000000000000000000091A80000000095 +:1052E0000000000000000000000091AA0000000083 +:1052F0000000000000000000000091AC0000000071 +:105300000000000000000000000091AE000000005E +:105310000000000000000000000091B0000000004C +:105320000000000000000000000091B2000000003A +:105330000000000000000000000091B40000000028 +:105340000000000000000000000091B60000000016 +:105350000000000000000000000091B80000000004 +:105360000000000000000000000091BA00000000F2 +:105370000000000000000000000091BC00000000E0 +:105380000000000000000000000091BE00000000CE +:105390000000000000000000000091C000000000BC +:1053A0000000000000000000000091C200000000AA +:1053B0000000000000000000000091C40000000098 +:1053C0000000000000000000000091C60000000086 +:1053D0000000000000000000000091C80000000074 +:1053E0000000000000000000000091CA0000000062 +:1053F0000000000000000000000091CC0000000050 +:105400000000000000000000000091CE000000003D +:105410000000000000000000000091D0000000002B +:105420000000000000000000000091D20000000019 +:105430000000000000000000000091D40000000007 +:105440000000000000000000000091D600000000F5 +:105450000000000000000000000091D800000000E3 +:105460000000000000000000000091DA00000000D1 +:105470000000000000000000000091DC00000000BF +:105480000000000000000000000091DE00000000AD +:105490000000000000000000000091E0000000009B +:1054A0000000000000000000000091E20000000089 +:1054B0000000000000000000000091E40000000077 +:1054C0000000000000000000000091E60000000065 +:1054D0000000000000000000000091E80000000053 +:1054E0000000000000000000000091EA0000000041 +:1054F0000000000000000000000091EC000000002F +:105500000000000000000000000091EE000000001C +:105510000000000000000000000091F0000000000A +:105520000000000000000000000091F200000000F8 +:105530000000000000000000000091F400000000E6 +:105540000000000000000000000091F600000000D4 +:105550000000000000000000000091F800000000C2 +:105560000000000000000000000091FA00000000B0 +:105570000000000000000000000091FC000000009E +:105580000000000000000000000091FE0000FF008D +:10559000000000000000FF00000000000000FF000D +:1055A000000000000000FF00000000000000FF00FD +:1055B000000000000000FF00000000000000FF00ED +:1055C000000000000000FF0000000000000001A932 +:1055D00000001500000000010000000200000003B0 +:1055E00000000000000000040000000100000000B6 +:1055F00000000001000000040000000000000001A5 +:105600000000000300000000000000010000000492 +:105610000000000000000001000000030000000086 +:105620000000000100000004000000000000000471 +:1056300000000003000000000000000000003FFF29 +:10564000000003FF0000000300BEBC2000000000BB +:10565000000000050000000300BEBC2000000000A8 +:10566000000000050000000300BEBC200000000098 +:10567000000000050000000300BEBC200000000088 +:10568000000000050000000300BEBC200000000078 +:10569000000000050000000300BEBC200000000068 +:1056A000000000050000000300BEBC200000000058 +:1056B000000000050000000300BEBC200000000048 +:1056C000000000050000000D0000000C00000000BC +:1056D000000000100215002002150020000000301C +:1056E000081000000000003300000030000000310E +:1056F00000000002000000040000000000000002A2 +:10570000000000020000000000000002000000078E +:105710000000000200000002000000010000000381 +:1057200000000001000000020000004000000040F6 +:1057300000000004000000200000000F0000001B1B +:1057400000008000000103C00001878000020B40C0 +:1057500000028F00000312C00003968000041A406C +:1057600000049E00000521C00005A5800006294018 +:105770000006AD00000730C00007B48000083840C4 +:105780000008BC0000093FC00009C380000A474070 +:10579000000ACB00000B4EC0000BD280000C56401C +:1057A000000CDA00000D5DC0000061800000000107 +:1057B00000000001000000010000000100000001E5 +:1057C00000000001000000010000000100000001D5 +:1057D00000000001000000010000000100000001C5 +:1057E00000000001000000010000000100000001B5 +:1057F0000000101100001000000010040000102133 +:105800000000FFFF0000FFFF0000FFFF0000FFFFA0 +:105810000000004600000010000000000000000032 +:10582000000000180000000100000000000000005F +:10583000000000000000000107FFFFFF0000003F24 +:1058400007FFFFFF0000000F00007FF800007FF857 +:105850000000190000000000FFFFFFFFFFFFFFFF37 +:10586000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10587000FFFFFFFFFFFFFFFF0000FF000000000031 +:105880000000FF00000000000000FF00000000001A +:105890000000FF00000000000000FF00000000000A +:1058A0000000FF00000000000000FF0000000000FA +:1058B0000000FF00000000000000014A0000350069 +:1058C00000000001000000020000000300000000D2 +:1058D00000000004000000010000000000000001C2 +:1058E00000000004000000000000000100000003B0 +:1058F00000000000000000010000000400000000A3 +:105900000000000100000003000000000000000192 +:10591000000000040000000000000004000000037C +:10592000000000000000000000003FFF000003FF37 +:10593000000000000393870000000000000000004A +:10594000000000000393870000000000000000003A +:105950000000000F00000007000000000000000E23 +:10596000031500200315002001000030081000007E +:105970000000003300000030000000310000000390 +:105980000000000600000003000000030000000209 +:1059900000000000000000020000000000000006FF +:1059A00000000004000000020000000200000001EE +:1059B00000000004000000010000000200000040A0 +:1059C0000000004000000004000000200000000271 +:1059D00000000020000010000000208000003100C6 +:1059E000000041800000520000006280000073004F +:1059F00000008380000094000000A4800000B50037 +:105A00000000C5800000D6000000E6800000F7001E +:105A10000001078000011800000128800001390002 +:105A20000001498000015A0000016A8000017B00EA +:105A300000018B8000019C000001AC800001BD00D2 +:105A40000001CD800001DE000001EE800001FF00BA +:105A500000000F80000000010000000100000001B4 +:105A60000000000100000001000000010000000132 +:105A70000000000100000001000000010000000122 +:105A80000000000100000001000000010000000112 +:105A90000000000100000001000000010000000102 +:105AA0000000000100001224000012100000121477 +:105AB0000000FFFF0000FFFF0000FFFF0000FFFFEE +:105AC0000000002000000020000000000000000096 +:105AD0000000002300000024000000250000002634 +:105AE00000000027000000290000002A0000002B11 +:105AF0000000002C000000010000000107FFFFFF74 +:105B00000000003F07FFFFFF0000000F00007FF8CC +:105B100000007FF80000000000000001CCCC020172 +:105B2000CCCCCCCCCCCC0201CCCCCCCCCCCC0201DF +:105B3000CCCCCCCCCCCC0201CCCCCCCCCCCC0201CF +:105B4000CCCCCCCCCCCC0201CCCCCCCCCCCC0201BF +:105B5000CCCCCCCCCCCC0201CCCCCCCCFFFFFFFF4E +:105B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:105B7000FFFFFFFFFFFFFFFFFFFFFFFF0000000031 +:105B80000001000100330207CCCCCCC5100000009E +:105B9000000028AD7058103C000000000000FF001D +:105BA000000000000000FF00000000000000FF00F7 +:105BB000000000000000FF00000000000000FF00E7 +:105BC000000000000000FF00000000000000FF00D7 +:105BD000000000000000FF0000000000000002665E +:105BE000000015000000000100000002000000039A +:105BF00000000000000000040000000100000000A0 +:105C0000000000010000000400000000000000018E +:105C1000000000030000000000000001000000047C +:105C20000000000000000001000000030000000070 +:105C3000000000010000000400000000000000045B +:105C400000000003000000000000000000003FFF13 +:105C5000000003FF002625A000000000002625A06C +:105C600000000000002625A000000000002625A05E +:105C700000000000000E0000011600D6002625A03E +:105C800000000000002625A000000000002625A03E +:105C900000000000002625A00000000000720000A7 +:105CA000012300F30000FFFF000000000000FFFFE1 +:105CB000000000000000FFFF000000000000FFFFE8 +:105CC000000000000000FFFF000000000000FFFFD8 +:105CD0000000000000000000000000000000FFFFC6 +:105CE000000000000000FFFF000000000000FFFFB8 +:105CF000000000000000FFFF000000000000FFFFA8 +:105D0000000000000000FFFF000000000000FFFF97 +:105D10000000000000000000000000000000FFFF85 +:105D2000000000000000FFFF000000000000FFFF77 +:105D3000000000000000FFFF000000000000FFFF67 +:105D4000000000000000FFFF000000000000FFFF57 +:105D50000000000000000000000000000000FFFF45 +:105D6000000000000000FFFF000000000000FFFF37 +:105D7000000000000000FFFF000000000000FFFF27 +:105D8000000000000000FFFF000000000000FFFF17 +:105D90000000000000000000000000000000FFFF05 +:105DA000000000000000FFFF000000000000FFFFF7 +:105DB000000000000000FFFF000000000000FFFFE7 +:105DC000000000000000FFFF000000000000FFFFD7 +:105DD0000000000000000000000000000000FFFFC5 +:105DE000000000000000FFFF000000000000FFFFB7 +:105DF000000000000000FFFF000000000000FFFFA7 +:105E0000000000000000FFFF000000000000FFFF96 +:105E10000000000000000000000000000000FFFF84 +:105E2000000000000000FFFF000000000000FFFF76 +:105E3000000000000000FFFF000000000000FFFF66 +:105E4000000000000000FFFF000000000000FFFF56 +:105E50000000000000000000000000000000FFFF44 +:105E6000000000000000FFFF000000000000FFFF36 +:105E7000000000000000FFFF000000000000FFFF26 +:105E8000000000000000FFFF000000000000FFFF16 +:105E90000000000000000000000000000000FFFF04 +:105EA000000000005554000055555555000055554B +:105EB000F00000005554000055555555000055554B +:105EC000F00000005554000055555555000055553B +:105ED000F00000000000000000010000000050146D +:105EE00000000000FF5C0000FFF55FFF0000FFFF07 +:105EF000F00003E0000000000000A000000004002B +:105F00000000000000000000000000000000100081 +:105F10000000000000000000000000000000400041 +:105F20000000000000000000000000000001000070 +:105F3000FF5C0000FFF55FFF0000FFFFF00003E0E3 +:105F4000000000000000A0000000080000000000A9 +:105F50000000000000000000000020000000000021 +:105F600000000000000000000000800000000000B1 +:105F7000000000000000000000020000000000001F +:105F80001F8B080000000000000BFB51CFC0F00386 +:105F9000096770A1F24FB3A2F2D1B1093B7E7942F9 +:105FA00098858132FDBC40034481D810886559F042 +:105FB000ABDDC18429E6248B607F966260F0978018 +:105FC000B05B242873D7281E1A385E13951FAB0EBA +:105FD000A16F6B40E80434F938A8BC800A844ED421 +:105FE000C46EAE20541E00937717096003000000B2 +:105FF00000000000000000001F8B080000000000EF +:10600000000BED7D0D7854D5B5E83E73CE9C393349 +:10601000999F9330840949F02404090A7208018287 +:106020008DB713FE8C2DB6C38F9ADEA20E146D04AD +:106030008168A1F27ADBCE81FC107EC4003E454A25 +:10604000DB31C5166FB58D365AFA9EED9D08EDA56C +:10605000AFBDEF45F0076FF136B6D6D6567C696F07 +:10606000ADF87DF5FAF65A7BEF99734E6612B0DA09 +:10607000DBF77D17FDD8EC73F6CFDA6BADBDD6DA62 +:106080006BAD7DC6E7994D4A2F21E45DF8F361427F +:106090001E960821E37325B93DE221A5846CD10841 +:1060A000FE79CB1FBE824408D9AAB1F2AE40B81720 +:1060B000CA5D29423253E1FDA4340913524448AD6C +:1060C00012851E01F3A12A28DBE62566603913CA72 +:1060D00012E261E3930AFDD52236F6BB32FCFD0FD6 +:1060E00084CCCDCD47CE269B607E99883FCD04FAE7 +:1060F000CB64CFEFE52B0851DA22E4F375B4AEABF5 +:1061000024C3FBBC0B7FC9AB22C9606E5DEE72EB92 +:10611000D9A6F489DA5CFBC92414453814A2201CE2 +:10612000BC3F211681F97DF04F63E4386FA5E2E9A9 +:1061300013DE91782A34AFC0537B4A23193A68673B +:106140004AC752AE20F17410D7197F7C3A2D616E88 +:106150008ABFEE1AA3B748B2C1E16770C4097D389F +:10616000079E271DF8EAAED8AFC5475937A9A178D1 +:1061700012EBAE1EB93E850EDD47E757283CBD74D5 +:106180001C451F1D8E6559385A897DFD170FC7673D +:106190001CFD03D30819041C28743E5A7A0CCB1A30 +:1061A0009A0E73323A2B06EF7781782FAAF5E4E640 +:1061B0008361830107BFA8D112C7FB917C69717EFF +:1061C000EDE1EB4DC88C9F453D43585DB4B395362A +:1061D000FE95A35DC8B7723460C96128955787ECF6 +:1061E0007CCBFBF92691641F5D773B3C2AE39D291C +:1061F0001D94A8F9B55D743F7D81A838AF52A159AF +:1062000030DE1629F9058463292521E58700EFE2B0 +:10621000D7DB08A986F16A2349C05FB08490F923CF +:10622000F1D399B2D28AD756F79216E00342D26CD4 +:106230009E52921E47E1257F5E682C0F151E274B4C +:106240005FBE8EF64AF34CB29ED6CA54F321FAB41E +:10625000D3BD9E0ABA1ECA42F7C37A687B25A68AB6 +:10626000F5DC8FF873ADC74BF12DD1F6EDA14BD90D +:106270007AA2F9E168E7EB11F0679F8B7515E8E703 +:1062800086BFD0FB8ECA786C3585DF0AB175C9929E +:10629000735DDE0A46A7EFF07579832AD2DB1BED2A +:1062A000212057E8FABE936F7D94AF908FB2EB0B2D +:1062B00046114E45677416F32B5A575A999D8333EE +:1062C0004374364F160E93C9499D60BF23249981AC +:1062D000F794FF0691FF827102E3AB31FA7E2694B8 +:1062E000F1168BD2B563603E990EFD8226B99D965C +:1062F0006A304996D2761DEFC81C6FF538BE80E330 +:106300007F72395E086FCB011E1B9E4F570ABE720B +:10631000D2FFF4B53EAC778C37BF06B87C91E3CDA5 +:106320008D1F8AB717EDE32B3AC3E7E96BA7327CE1 +:10633000358F77C09785436B77E08B8008A5FBB2DC +:1063400052F015C7DBBE4A86AF2F57D42EF0188403 +:106350005419A6094BDC5F71B4891664AF967C0DA5 +:10636000F849338804F3556E1E423CEEE17CB55883 +:106370006EF4FF829607965647D650B82292E4E014 +:106380003F513E40F500F0E74EAA07A07CEB250602 +:106390007F217EDB91228EFDB963ADD20CFA62477C +:1063A000C5FE654B28DE3AA3357528636212C31714 +:1063B000AC87C22FC1FC74BD0FDCF2598493E24F4D +:1063C00092E6E4F850F05B753C13D7E9FB2ACA4922 +:1063D000321D2FD64DCC0CC78D62C35365B3C7F2A7 +:1063E00085110F011867A2A97B543A8F9E1C8A83DE +:1063F0000E117838B0D483F4BC73F5A5BD404F01BD +:10640000F747250F939751C6D744316B13A1C2FBB1 +:10641000EF10C5D374DCC71909DA55B49234D067CC +:106420002F7FFE13929828D176156DA617D6734A42 +:1064300012FC1543BDD8C1E13EB42EC0F8AB527F6B +:1064400050A6FB728AC4ED8F38C557A983BFA648F2 +:1064500073727811FCF5454FB2169E071B32DB6054 +:10646000BD4AE310F1D1B2DD435A414E537007618A +:10647000BE728E77C1DF7ABDD10BFC3D9FF341F92F +:10648000A2AE3B3C14FE8931C5F2D1B27C68F55214 +:10649000B09768FD65C06BC5EDC344A6FD4367AF0B +:1064A000798DC0FB56B26C111D6A62FD10685AB23C +:1064B000C5939C0FEB9DD89AE1F44B235E0E7AA90D +:1064C00004A0F560E3603C11047A2F21AB6DFAF76C +:1064D000237CBD8AC9EC0C41D72FCB0CDEFDCDA7A8 +:1064E000FC9F0E42BB00C2594D16C561BC2AB03498 +:1064F000E83A829C1F28DDAF81F9C39BD39204FB4D +:10650000C32412C04BF97D02F0D741AF5506FD0EF2 +:10651000DEA2B6A4195E9E05FC863D1C2706FD8FF3 +:10652000E229E861F346252FC2254F65F81AA793A3 +:10653000B44117AA802EA6A226564FD2714AAF3078 +:10654000E02D9CC34B18F006F831D319302F95FA83 +:10655000CC36588A4E86334A15E2E926E4CFDA2152 +:106560009024948E0C5F3B94B69F7F818EBBE3A4F6 +:106570006C5AC4C68784F2E18C1CBEB40ABADFF23E +:10658000E865D17E2CBD01E205E8A204993E13FA2C +:1065900081F26B1BE04FD119BF0AF93ED678DA566B +:1065A000D97865362E04ED1D015BB7BEDD02BCBD9A +:1065B0000963D175CB3DB33280378A5BF321C6873F +:1065C0001989D6353D9EDE8576781AF785B047FC69 +:1065D0006017D9D6E9AD70DA45A4C592ECF695B648 +:1065E00055453814AA1FC8F4DC3AA9A640FB099601 +:1065F000F9EE64A83BED782548327E4ABF5DB5755B +:10660000C46E972B84D973B03DDEAD1AD9AF305E1E +:106610005CF3AD74C279C1FD828AF1AAE8533D5A98 +:106620003F85BC2AEC438ABC6FC0007372F4D9E189 +:1066300025C724AA47DB2BEEB380AF77C02B4AD700 +:106640002EC2E84E0C8F43CEC8151EDCEF5B6013E4 +:1066500001BFC4983DE223D767507EC42ECC3EF1E3 +:1066600046DB50AE07387F7D86249E02FEDA5D4908 +:106670007A1CF682CAEC4952BB12DBED9EF15963DB +:10668000F5F41C3FEDD688E37C43C8765C5F672A4F +:106690004D7E3985C2559144BA69069B2FCB8FB583 +:1066A0008C7FBBA72F8F809DAE697D28878A7A1E3D +:1066B000CB78A2763EB4C8CA19B03E6687EFA6E58D +:1066C000BB12E747D047B180C3FE167C26C61F0B1E +:1066D0000FD9BA16BF11F8BF35A61A2077D7CBA4A9 +:1066E0000DF4416BECD245202F849E973D65CCAED6 +:1066F0002DD1CC0C9DA2F539B941360ACFD34A0F22 +:10670000467A1D9C72F60C821D47D2DEE1211BDF0A +:10671000B8CF93E7247E9E9C47E601BFFC416F897A +:10672000644619FFB7A993BA3225779E74BF17EB59 +:10673000584FC82BBE1258A7A57E82E2B3C8A3E16A +:10674000FAC5FA9492EE52A0D3FAA33FD615FB797C +:1067500086CBADF50A3D6ED68D84DF8D4F3A4F0660 +:10676000E711FD86287C76B9E0EA9F1D57C83F6592 +:1067700084DDA67B28BEFD8BB65813291ED63FB2FA +:106780008CE92FBA0E90BB027E31AF5847767ED788 +:106790007A0AADE362E5F41F167576817DF7ACD712 +:1067A000A84C009F344F5D04FA58D8AD822ECB160A +:1067B0007796E6F32764F94B21860EF8A28633F22A +:1067C000D3F3ED0D2063AFF1F8F3DA7F63F1CF1C63 +:1067D0008F8B7F165DF781F04F02F807E418B79BA7 +:1067E000C5FADDF86E5DE47D19EC9582F8E6FD05ED +:1067F000FD46F05FA17E23F9E43ACFF83C7CC2C7A6 +:1068000017FC22E6F94BE11D8B3F2823A1DC9E08F3 +:10681000FF34C00ECE4804F51B3B3F9473B8274DA0 +:106820001F96E09C6D24F40560AE56B7984F4379EF +:10683000A8F85FCB561BD062910EFA438A8F93DE85 +:10684000BDFCC2F58C80A3BC4DF985DD4FA0B7D24D +:10685000BA6DBDE146E7FB20B1BDAFCA8D5322CE74 +:1068600087F45C63B7BBF77A875AE89191747A969C +:106870003445E9FBBDFEA13370A4ECDC794D533304 +:10688000AD8727097FCCB00672FE41381C017E1A05 +:106890009AD1BFA10B7FDDD0B05643F95F5DAC90BC +:1068A0005DB4C9C0904C545AEF8929691FC2D18C7C +:1068B000FA3DC2F58D18A767E8B406F6C4DD8D254C +:1068C000C58EF163AC7D488C6FB4DD3CB93E37FEBC +:1068D0005B94E707518F0D627F12AF4578C4F8775C +:1068E000377A48096D5F5CA6A4C13E0A0E0DE339F4 +:1068F000878AF36DCC5E8EC3BF295817761E511A56 +:10690000D8395E69E81E64A5C2F8AC7EC439E25B82 +:1069100020EF7CF41C01FC22CE11629E31F9EE4284 +:10692000DB819F95AEEF2E123041DF8D57E39297BA +:10693000D6B752BDBB9DAEFF9894FC27D84FDE95CD +:106940006D3777D2BA74FDD6A943148EAD1453A80F +:106950009F1B3DE98724CECFB4DF3D890968272AF4 +:10696000E32AC603BCF73432BBBE101C7B526476EC +:106970008D4DDEEC51321AE0758F59A7E5EB178C7F +:10698000A9B36BA85EBFA7D998A0BFA771973BC654 +:10699000353CC99F79C68F1C9F70FEF7504B0FF690 +:1069A0005120D88F7EB0C0887D61ABCB23EB0757D9 +:1069B000DF1A033C4427C46749743FDC24934CA28C +:1069C00081D68BE28FC17E59D9FED5A620A553D49E +:1069D000177F0CDEA79EFA6CD309A8C379E64ACAD2 +:1069E00007F2930316C737D85F3B5299F42B53E055 +:1069F000DC7F12CB373DEC3C7C9EF3BB4F6943FB05 +:106A000049ABA0ED6CFBDBAFF4E0F3400DED67D7D5 +:106A1000C331CAE5A584F1B081E7B377001F135BEA +:106A2000C880D700BE73FB27A6477E61D3635E593B +:106A300072D84F3BB85F42D47DDAF3935E1967A7F3 +:106A4000CB9949AF78A1DD10967B94C1389C3FACBF +:106A50004642808F76A67E83CF238D83386F446134 +:106A6000FE64D17F9ECCD62BCA3749508A835CD630 +:106A70008FA03C8DF0FDA36F8E90CF97409DF9F9CC +:106A80002371E54F76F9E6D697E532D59754AE0AED +:106A90007DE9DFFABB49683F723FBE9FE39F9CEDF3 +:106AA00065F38873BAFC6773CDF49CDE9CCDF1214D +:106AB000FA45089DB7D67E3E617599F38758971BB6 +:106AC0009E192E78C68A4788F9E7415B3A7F30EBFA +:106AD000FF1E42FF3769505E857985DF3B64523A7D +:106AE000D8F0A1550C39EA5BC0989D03FC42E961DE +:106AF00083EB60681DF2F3F9A1C963F89B320E7F46 +:106B000013F0A5399DF1A5DD0E14EF7772BED80301 +:106B10007C3105FAFF06CB0015BBD02F5073C601A0 +:106B200087802F640E399E6B154E78C3542C01B2AA +:106B3000F72656E1FE5556323F285945DCF2769548 +:106B40000CF6BCCECE27E106EE6795759CE7A03724 +:106B5000196BA3F59DC5949694C9767AAD96049E5B +:106B60005F8763CB6DF23EC3E99FED7715DBFF6472 +:106B70007A2C68DF673F27C97532D8292D5606F46D +:106B8000BC9857F4EBE278F602FC54FE4757AC424F +:106B9000B99585BFC569F764FB4BC92DF2F891FE25 +:106BA000B9ACBCAE11F2BA475B66F357ECACB9387E +:106BB000397D37D5E3207FEF09FEE1E464D8BFF5E6 +:106BC0001E93928BCAFBBA9306F87B4251F4278A34 +:106BD000F633B5055DB24D4E844C3A9E8D0F765E10 +:106BE000A43CCFCE1F75CFBFBCB92AFFFCF7C97834 +:106BF000DE26AF031D344E87AEB22E0DF0E486477D +:106C0000F45BEB497E55B6D9DF9AC1FCDE23F5DF94 +:106C1000B0039F17ABF7DC65482209907BEDC13AC2 +:106C20007D8D6DDFF7C9CC0FF85B5FBC4F9E3312D3 +:106C3000EE8BD58B85E6ED8C3AE73DC5F99ACEFB18 +:106C40004F30EF29402E2DEFA9F953E2168A4785E0 +:106C50009FE7F544D82ABA024A2A77C320C72DC431 +:106C600097F01308BBAAA3919EF7A7A31F0AED06EE +:106C7000A5514D5B6037F4484CCED2C770DED7F9D2 +:106C8000797F3C9CF7E9FB4FC1BE07F96AD8FC4C01 +:106C9000B0AFF979DF8D8F827138EE6F5DD3C03779 +:106CA00010316EF819A5E76D27BD641754FF4C5BD2 +:106CB000DBFC5CBFF825F3B3DE06FE435AAE258944 +:106CC00030BC3C473CCD00EF39722A3CDB86F76193 +:106CD00099C5D748B717ED6A8BFE0770DED2E3750A +:106CE000D8D99F3EE8ACDF4A9697823D76EBBD5EF1 +:106CF00092A628BFCD656F0C71F9F069D2D605FA5E +:106D00005CC4D9D6E8D4E4A2FA6EC377BF3C17FCC2 +:106D1000326F71FDF85BAA8F0D5F0EAE75C1B41AAC +:106D2000A7EF7FD93FFBFA0F11E89FEE9A08F1B564 +:106D300062E66771F3C3A7BA9DF08D05BF1B5EE1E4 +:106D4000072A04877254427FB27B5EAF2239FC630C +:106D500085F20644BEC01485F185B580A0DFD7FA60 +:106D6000B750BA1DF725CB1718ABFFB4BFB0FF0C57 +:106D7000E83FA770FF5DD17402E4B8F0D7F9B544DD +:106D80009C6189C9ED5DB131DED78CFEBE107CCB34 +:106D90008A358CCF0938A9BD7BA592679D6F79E2B2 +:106DA00037023FFB00DF58B2F320DABF948E9B948A +:106DB0006037E83D3FB783FD86F3BCB809FE01F2BA +:106DC000B096A4215FA3A8D6F9DE6D175F9BA56FCF +:106DD00006F75918B7202DB56006F55B83F27AB631 +:106DE000BDCDBF74678CCA997185E597874AE8A0C5 +:106DF00006F29DC90B89D7051C7FE8919A61BFDC1B +:106E00004945CBD63AFBB82A8E3B425EFC99BE9FE1 +:106E1000CBF31BF0DC6EC6809EDD29827917EDDE98 +:106E2000C4C761DDEDCFC9C482B872711BF1005EC9 +:106E30002B8901715D5F4D2202F10FDFB372D453D4 +:106E4000C5854914F44EF3113827DDAC78B91FC35A +:106E5000443FB82F68C521EFA18BDA1BC5144EF54E +:106E60008B2409F036059349E827C75ABC700EFEFB +:106E7000E7473ED502F575B1258A8FCEBB8E8F735D +:106E8000EE1F1F9B4B287C5D8F864806E56E5A05DA +:106E900039BBAE5F8EA7C17FF3ED10CEBFEEF14FD1 +:106EA0007F7D29E0E7BB5719AFA2BC6DC7FEEB9E03 +:106EB0005CF17F2CBE1E8DD2A37D1B8F8759666C23 +:106EC00005EDBAC1476E86F890587F4E2FF6A03E6A +:106ED0005C77B4D8A177D729B4FD74B0FFC8CDCB07 +:106EE000F3E8A5BD0A9353AF87D416804F3A3A70A2 +:106EF00013C2D7778317D62555B4915FD1F9DA61DC +:106F00007DAC1DEA0BEB61293D85BE7FFDE107D518 +:106F1000EA1930EF83EA1A8C236CC376024EEDE84F +:106F20003E0BE49B56A357C31169E1B71F0DC3F98C +:106F300075D3513903E76E5AE2F9DB6F785CF91BC0 +:106F4000F1A044E9BE91F3E5C6FE0D28FF37F6ED4A +:106F500046BDB6E99853EE51BCA2DF6EFD0BB2B947 +:106F600014EADFF946D8A0F0FC76F0A130E09FCE1D +:106F7000B35AA5FBC7AB3BF7058C7FBE64E47854DE +:106F800083A09F6A53DF4E365FFFB5BF06FFE6263C +:106F9000977CFD2DFCA36CE4F9E109C5757E383AB8 +:106FA000EE82FC01EB1F7DF32B169DF7F5C77FF7F3 +:106FB0001588E7DFFE1FFFFE957F807DFD03BF0E76 +:106FC000FA61D33FFEEA2B9FA3F83C77CCE701FEA2 +:106FD00078E3FBDFF8FA215A7FE3C5A975209AFE12 +:106FE000B7C2EC84371E7BBBD4A0E36CFEFEE20983 +:106FF000B0FECD4F2C9C404639BFBC41F929EDB3C2 +:10700000C393463A1AC7E8781368F5295EBAE8725E +:10701000BCFFF82480EFDC199F097B74137D06FB0D +:107020007A63DF068CEF411DCE811B1FD981E7C03B +:107030009178B6CA3D319443E510F2DDD8BFE2E362 +:1070400057D543E9350D188F0CA39E75F7DBF42C4B +:10705000A5E7CCC2F47B93FC590539B9E9919D6C45 +:10706000DE3E4ABFF048FA9D837FCCCFE3FF579CBA +:10707000FEDB37C9ED5F3D042FFBC7E5F53B8AF327 +:10708000DF8627AE1BF59CF8866BDF16C2732BF7E5 +:107090005FFF0F25FE0EE88BD71FFFE6D70F458158 +:1070A000CE3E7329D0FDD1372711CA1FBFF10EDFA5 +:1070B00004FB71F8FB3EBD17E4D0F75F40BDFEC690 +:1070C00013CFA806E633D1033AB5FBDE20D93F83C0 +:1070D00060076E643E23B2E94828E30BE7E8B53168 +:1070E000BDACD908E3738C6F6D4C33FEDF981E582E +:1070F00029E5A1DF1C6F35D32369E68FDD70E467D6 +:107100002A9E776D74951A809E2F2F81E785E82936 +:10711000D6AFC3FAE7D9E87A84EDDB42FBF38D07FB +:107120007D0AE845379DDF00BB0CE6494B2FE4A301 +:10713000BBB08B2E36CFD0F4BAF675FAC2FCD06352 +:10714000AFE7E2F075093887E68CC4DBB63215FD8F +:10715000397258457F6D97D778C102FEF8B197F420 +:10716000D22EEDE1B9C4C8E31FED00FB706AAEAEEC +:107170000413188756A27A1D98FCEE3C2C2F3D4E26 +:107180001836788EBF347502E4F7793D2C4ED93924 +:10719000309F805E80B20AF290B6CE36C1AF27FA39 +:1071A000CB31D302BDACC68CA67CE3AB5BE762FB04 +:1071B000EC39AFC1936679A83DADBDB4BE37566A10 +:1071C000C239A148FF566C80967B1B2EF6FC6CA141 +:1071D0003FB23BB85DABAECF9D5FBB8D82E7E78D25 +:1071E000DE51CECF7BE1DC370A1F159C3FEA9EBF04 +:1071F000E0F9F98B5E8A9F9D12E3EB11E72C3D8845 +:10720000FE88897C5FF778991EA824996D84D93D02 +:1072100009CD1EEF68191E00BFC797979D7D70B5F9 +:10722000017EB20E8C6F506BA0FEDDD9A3F1B3339B +:10723000BEE1E7F426268FB3485939C3E6E37EBAA8 +:107240005E2FB337293C8FADA1FF3C3C734882C908 +:107250002EA1537A297C552B8DED00CFE455830F59 +:10726000AF467E786FF1962CBF18825F2C6D998D9A +:10727000DFBB8D0FC62FF01D6FD62FF01D6F1EBF09 +:1072800040F745F247A179DD7E81A773F33E9D6FFC +:10729000DE11F6F405E6ABDCBF228C766AE4AC9432 +:1072A000063B70DF8A30C629422460825C0905599A +:1072B0009CE2AE6A6252494ABC2BAD7F867D7C4C13 +:1072C0004A3E077034FDDB8B31B0F3EEBEAAED12FF +:1072D000B03F22822EB5CE78C52E57BC6257ED073F +:1072E00013AFD8F5FEC52B7E6F970385E21572E8C4 +:1072F0005EC2FCD61717AF888E8BCF924C20C3FE90 +:10730000853FB5C52994AEB50B599C826030535367 +:10731000FF7BBB45E18A96C71F83F677771D581818 +:1073200085F793D9FB57E07D10ECFEB805FBBFD67F +:10733000C7F4852FA9BE0CFADC57C1FD9331320486 +:10734000F69C2DFE1052693B75557A1BECC7B04E6A +:10735000B64906C41D82785EFD4305417E2884C778 +:10736000FD3C1F12F2E4219EED6B263D30DF032928 +:107370001DEBDDA918BEDF938A6309F97F309FAF4B +:1073800082E5531DE4FE947695B442798AEBF16E62 +:1073900095C9B35CC9F2E18EBFF48D836B00AE601A +:1073A00000EDCF427075A56A4D98FFEE9469C2BC9E +:1073B0003DA906ACEF913206C4494DB5B45DA37A40 +:1073C0003C20F7C5A0DEA594B72F2AC33C37946FA5 +:1073D000B27185A9D8E4629DCAF69D5ACBF2C1D597 +:1073E000387B1F80387D9E7DDE906B8FF9BBAACEE7 +:1073F000DAEFE6F98EEEF61FE6EBDC35F036EAEB77 +:1074000048FD20D22B44F522F4DB35F02201FBEEBF +:1074100001EF6006F4685725317BE9FA7D5BA79B95 +:10742000CA3878FF63D4BF57F371820D43D83FBC8D +:10743000B51EDF3FE04F72FF39E179BC2CCFF1017F +:107440002FE179BC46EF765A5FC9E10EACA5AC1DC1 +:107450008143FBDF617FA5D6C2F8E91629B95285C1 +:10746000F3F361A73F5FC44BCBB9FFBCDC08C63167 +:10747000DFAFA67401D863E5B59761DCBFBC35B852 +:107480001A9F1BA59F8272BFD437B800FCC9C51EC6 +:10749000CCCB2E376A6FC176C6959F86F79F558BEA +:1074A000713D81CB9A6B316F6A92881FA735166741 +:1074B00069F6D8E3CDBBEAAB23A39D7B50E3097902 +:1074C00089FB31003E145BBDC4559FE86A5FED7ACD +:1074D0007F99EB7D9DA3BE95E39BD4AA4C3FE91316 +:1074E000D12F7B37F7CB92E1890C7E7E3F6320FC66 +:1074F000BFB497A7B3F217363ED933C6BA76AA6C93 +:10750000BF97533B8DD8EC57A20572F05423DE622F +:10751000E8F75016599054979513B523E4449238E0 +:10752000E5C4FEBF444E80FF82C9098DCB81E46172 +:10753000E0233A3DE6BDE5E481D90AF2EF84BA667C +:10754000A1321FE501C6650959D30EE79C808791DA +:10755000A457BD7E21C8436187EEE2765237DD270E +:10756000B00FA0CC67878662830E3B543CB7DB9F8D +:1075700068DF8C45A7AA3F692F075909F1598DE7A4 +:10758000EBDC33069D404E92A9209F34747215198E +:1075900081B87145CEAE2AA2FB05CE63A23DDC8345 +:1075A000B1D3F3874067C05BCC4657FC3B8D7EB2BE +:1075B0002C7DC922A71E70D197E22D02782BCDBC5D +:1075C00098F77CE0DB3A8DED7B8A3F903FA18A24DF +:1075D000FAC984FCF0EAFA83A0C7EF5DB1719B178A +:1075E000F2D9C795CC027CFE8CCB69D2E3940F62B2 +:1075F0005C2A3F7E067CE48FB6116616B078596926 +:10760000C64FE26007D790B41FF23ECC3449D2E7B0 +:10761000013D8DF24EA9A0AA1896C7E561765D5C82 +:10762000FE79341627CAC3B7AFE5E35BB7DEC9EA14 +:107630007B1F939FA284F8FBD0287684D07B029F87 +:10764000815A53CA679774811EA2ED0E08FDC6F5D4 +:10765000D181A7DF2655807F8EB748C530013C47D2 +:1076600014B30AF492D5D1B910F4D2013FEB976D5F +:107670002FE8E413FD287DF2CC5BC4D731CEC3FCE8 +:107680009AEEF7511F93F7CA529E27B394E7C95455 +:10769000507E81FC4483E93B7A5C73C76FA33E88CC +:1076A0007B92B6CC91AA9CFC17EB3BF0F4C3086725 +:1076B000A0A28D407CA482C3915B077F5F9B26AB19 +:1076C00079BBA6608E8FABB2F465FA4BE37AE842E1 +:1076D000F9BBD6C7E2367E85B5F31326EF5679E3BC +:1076E000D37C988763B13CE0C4E7593C4DE3F71382 +:1076F000B5B05504CEF18E11EBADF3C17815095438 +:107700002122FE3BF2FE983BBF27D184F93D516612 +:1077100037537BF94330BF962890DF933DC7307BCA +:10772000B91BEC6529672F5FEC79E642EDE58B3DEF +:10773000AF8C622FDFE09B33727CB7BDEC0F2E8ADB +:10774000DD4ADE83BD3C33FE7B0FD8CBE4E9853FC9 +:107750008D41DE4EFC31A807A34F2C6C067B78B61A +:10776000D0172717C27E88CE63FAA2D5F763B48FED +:10777000CF6BF1DB00BE2F81F1484B6F221EC7EBB0 +:107780002A1DF9E59528BD13583E4047F1F53AE624 +:1077900005B8F8651BE743C117221FE0FD1ADF3D5E +:1077A000EE1629D1EE9B93939F7FADF57CC11FDF31 +:1077B00007FC9B9DEFE2F325BE04707FF0F91217E2 +:1077C000EDEF79C4F7BEE64B5CB4BFE729464FAA9C +:1077D00039E712BC0383642CBE15F13A4ABEC40FCC +:1077E000ED70AB3157BEC45FD92FF2BC2F9BB7F001 +:1077F0003CC0F5D7F28BFC2A37EFAFF2CD5B282FD8 +:1078000021546526F0FE4D9987009EBA1ACD1EA818 +:1078100077557AD4ED55B9FB07629E49DA64E4FBEB +:107820008E98EA013F74C7C9C51867E9F2B6356397 +:107830005CB2D8A3F756E591B31A8BBBC95B8B66D4 +:107840001F19C5DF26AB4C4F77E8A710AEE09C6848 +:1078500031DC7F6B1FF86F27E19E9F122BAD02FB7F +:10786000E8328DDB591499BFB4C56D09A170D4E31A +:107870007D15B089E97C619C6F2CF8CE73FCC95BE7 +:10788000FDB38F8C12EF7DBFE11378F441700BE7ED +:107890000FE2FC02AF5E380C507A75980AC60FBD35 +:1078A000433E760FBBDE83F7F1841C514C713F27BA +:1078B00059ABC1BCF7BAEE210799BDF9EFDC2E90A8 +:1078C000FD6D98CF24EE1D84920AEAA96092E92BFF +:1078D000B15EC127412FCBF3F405158CEBAA9C2F89 +:1078E000E4AB061380D79E39351E383FDFA1317BCC +:1078F000AA07F2D568FB1D71BABE99B9F15769ECB8 +:107900003CBBE3E494FB57513C6C6EF2E02D0C1F42 +:10791000E9C8544A50061DF7867D800F38970CDD64 +:1079200081FB7A81C6E354D5A41AF8F8CEA63BC1F0 +:1079300002A4768FE5CB17D7182997881FD6213751 +:1079400079FC35C0F773985C828B7BA3C735B67121 +:1079500079CFE821E8A098EC5EA417EED9C0BDB9B4 +:1079600038A38BA047D6CEDFE3BE3760F07C7186AC +:107970007F3998403AFA88B273950D0F3EE05FB0B8 +:10798000FFCEDE41E8D19FACD1783CE63F69FD09EE +:10799000902900F7F169F7AF8AC2F5258FE93740E2 +:1079A000CE3AF93C186479E6829F7C43DB3270273B +:1079B000F7737F2BF0C72EF85E24C67F6189ECAF8A +:1079C0003B1CF7FD0C7EAF53F801429B09C6A12E6C +:1079D0006950F0DEB1D1B09DDD0385C6F47DE506CA +:1079E00082796797F03C7CD1FF124B75E403E8ADD8 +:1079F000CE7A39CF2BAE24B6E7749C729E1F56EE1A +:107A00007A2EE27CAA4B7E8BD21DE77B547B6FF9EA +:107A1000BFAD24FE1D6D4E0E9FED7504F745217C14 +:107A2000961A6D789F61023D37A11FA291DDD32D7B +:107A30002149F44B90069617A6F078B0E8FFB4C63B +:107A4000E4B38FFC11EFF9AA64C842F9E5A287A05C +:107A5000C38E1AE68F01FA95D1F7C57CDFE13D4769 +:107A60003A8FBF8CD1A198DF67268B38FE24220184 +:107A7000FF861B9DDF675139FE4BB87FC4EFC2B74D +:107A8000CAE9A0BA9EFF8AC37DB171D79F0B7A84E1 +:107A900048C8F17D173D3A6A3C3ECBB71739DF390C +:107AA00021578374BEC9EF61BE02ED46EE2727BDA4 +:107AB00096707A7567E9459602BD629C5EDDF56C4D +:107AC000DF087AC504BD920CCF1AFD0FE835A1C5B9 +:107AD00049AF0BA58FB8E77C4C4B84FC687F1A122A +:107AE000FA91D616A1FFCB97E5ABA706540AC7CEED +:107AF000E9C484A3C15D20F4C05F7DDB4974894E75 +:107B00009CB49DF963E18847FBA9DC6FB633B67C72 +:107B1000547FD8C114FBBECEDDF07D9DA985DB85E9 +:107B2000D46412FCD7656B07E3606754B6193C4E0A +:107B30004D1992CE378EC72197FA259EE7461CF73E +:107B40008B2BEA18DF77359134E8E9719B999EEA2F +:107B5000AA62F8B52A099E3BF4CD4AC64B9F8FAB6B +:107B60005DF21ADE1B55DA08D8CDE3924EFCEA6DC1 +:107B70003F6A81FC0862C727E553BD62F826A44F1F +:107B80005C75E4CB165AD785965D144FBFF03AF872 +:107B90004993599E1BE6CFFAEAE92917FC1FF57AAB +:107BA00029C8535FBD19C472A8A999D513BBE07D3C +:107BB0002BD00DFC256B99FC0D5738EF93BBF126AC +:107BC000F08BF73CE83A2280179B7D1271CB5D1752 +:107BD0003EDCF5F71B0FDD26A3EB9B54EF903C76C4 +:107BE000AD282BCF2B2403F65D634F37B4F7D57840 +:107BF00008D8F7BE4676DFE5D06D3F427F8B5AA1AD +:107C00004BF6EF5F6CF133BB5DE5DF7B228A21AD84 +:107C100008D9DFB3EF9E1CD3E29B61FF2C960F6B5C +:107C2000E0070C2A69CC170CD6AA98A7186C5559EE +:107C3000FFE0BD0E3911F57B1D7910593911234331 +:107C40001EDB3950E883BD5AB21DE611F785D41802 +:107C5000BB2F24FC94C21F7EE2255FD1906DDF1DF7 +:107C60004DF5A1DFFDB114F3C33F9E22660D180E42 +:107C70006BFDE8D79EC6E95D7782E8C0277527745B +:107C80001DF8A6EE8451C2EA6609D4FB8EB03CF220 +:107C90006F713FFED7799CEF108FF3ED4A1958763C +:107CA000A76AB1EC4A99F8FE58AA01CB27791CB013 +:107CB0003FD58CE5C154029FEF4FB51016A74B621C +:107CC000B937D58ACFF7A4DAB07E24B515EBBD2934 +:107CD0000BEBE95437965F49F5E0F3C3A983583EAF +:107CE000924AE3F37F4C1DC57ADD89A5CD12AE2300 +:107CF00080FECCD927E9BA6DFC3EF398330F71EAC8 +:107D000041E7F714CA5B4B1CF5A2DA898EF67EA315 +:107D1000DAF1DE17BBCCF17EFE509DA33EEFCC9591 +:107D20008EF673061738EA65C98F38DA8F6B5EEE08 +:107D3000A817C7FFDED13ED2B0C6F13E64AE73BC19 +:107D40009FB5DFF204C0CEB88298900F34A5E74EFD +:107D5000C7FBC9DD9F73F47FC9CFF4F5B41354D5C5 +:107D600043FEE411F67D1DF304E5667A8EF1662C80 +:107D7000B4F3E9FB18BCA7CF27F276E87F15DF97AD +:107D8000A0ED983FE904F72B9FDD817E65711EA071 +:107D9000E7B49750DF3CE2F453097FD02CCFEA647C +:107DA00082FB5797833ED2146C67F2FC927FE77098 +:107DB00066E335A682E70BF15EF0BD9661DFB1D0D8 +:107DC00008BB8F069F4B81EF185459CEFB69976C07 +:107DD00075D62BDB9CF5197DCEFAE5479DF5593C10 +:107DE000FE431405F352FDCF4EAE83FBAE84DF3B62 +:107DF000D6B87E8A0618DC5DA9F43CB86F25E0573A +:107E000029BE7588139F30A23AE091DF4F9D46D876 +:107E10007A54BA1F0D7C6F9640A91DA1EB82B8D190 +:107E2000D9AB4F4AB83E76FFC317A3E3DAE8A9D52A +:107E300038E154636976CEAA1DFD7E5E24F0DEEC47 +:107E4000E10BB683F87D0F388EE31F9EF78DE704B4 +:107E50006A7F792B95049CB3CD7A127F10E2074A92 +:107E600046BAC3E6AF9A126072F9F980816519D9F2 +:107E7000D784F69A922C83FB61F7F13844D966F6E1 +:107E8000FD98B28A890E7FDBB59C0E4F4F0AA0FE8B +:107E9000FFCC32667F0DC6D6F434D125849A09E62C +:107EA0001784A20A817CE6D0191FEA17526F601E60 +:107EB0000C84AC01D6DFA448DDDA2970DF42C3F2BE +:107EC000F5948EE5F1491F19F8306D746765D0801F +:107ED000F390F7126E9717AB38CF9F2A6FC53C19F6 +:107EE0005FAA2D067CFE462A86FD760C4C9320CE9A +:107EF000EF8B5F6E3AFD1071999E0D285C83188799 +:107F0000F31DF763DE5F48577BFD367DD5E14D9667 +:107F1000E177CE3EA1E239A2ACBE4782EF0AEDF393 +:107F2000B378D78E405B2DE4B9EFA826372FCBE38B +:107F3000FFBB2C20EC274D564BD1DEC73F66734F5D +:107F400053186CD1B504CF9BDE4EBAADF1FCA9F746 +:107F500041DCBE42EB69027BA462AD6EB41BD09ED5 +:107F6000A09F44D0C7EB2789C782D08ED1F17480FF +:107F7000F961CA123D12D0ADFD09163F3BF1D20D99 +:107F80003AE8AD3F446B50CF9C7BD21707FFD0B986 +:107F900012F6DDA6734FCEFB11C89BDFA54E96806F +:107FA0007C17709FFBD63373BD9420E71E7F66AEAF +:107FB000824C9476E8D50DEF9E9E0BFE186B01A9BE +:107FC000857B859B7415EF156E823DC0D685F6DFE7 +:107FD0007DA56A178C5F3AC1B3174A395885E38883 +:107FE0007B1ED4F0AE427FB5C2FB9DF462BFF61F8C +:107FF0000770BC3BA7F41D07BCDCB958372D03FC48 +:108000006D467B10ECCB2A76AEBBF31ACB3709DE7C +:10801000BF3401DF176BA7F1DEAB9A69C3F0EA3E0C +:10802000C93C0E295BD61482F910E2FCFF5615A953 +:10803000ADA2F2575998413FDE70C84320FF778FB9 +:10804000129743B4BEA79698746791F0D0701CC481 +:1080500087FE9BB69910A7BA4B6EDBB78A2E617C60 +:10806000B09AF9B1783C66DB4B774DB5DB0B85F602 +:10807000EB0FB89DF0744AC3F2584A37019E4C2A60 +:1080800086F5032903EB8752B558DF9D32995DC110 +:10809000EF998CE7FB791F8FB7961B9E38E4718FA1 +:1080A000578806F7A7CACFFE33DAD1E574C9116A3B +:1080B000A337C698DF003EF405FD1B7526FFAE8A88 +:1080C000323FD35531E65712F243C88BC63F52BBFD +:1080D000D0E11FA7F55ABE0EBAF1C7DFEE7CBFCFC5 +:1080E000DB87E719EB1A866777FF1087AF849A8DD5 +:1080F00072DDC8F1A87C70B4EF313C9677E6C5DB41 +:10810000B35F72D9B3F76DA0ABA57C741FCF13FA20 +:10811000D286B9913536FA1C86F636BE3F7CC7DC6E +:1081200008C457EFBB83187AC4360EEF7F3875B298 +:1081300074D114BE89617F6E66717BD1AEC262F765 +:108140003644BDA74D69EE45BD4BE5E80CBCEFC616 +:108150003EA6610517C72B705CAC9FDA357DB185F3 +:10816000F295EDDFB26055078AFE7AD22773B983A4 +:108170000CCDE53ADAB1146FFF142F59A4633C8497 +:10818000F401586A7D922CA0F37DB8A96E40417924 +:10819000E27CFE03C983F095C57AA405B4FC642093 +:1081A000F1CB00C4A54A1ADABF4DDBFFB1DF67C0CF +:1081B0007C879E7E1BF3DF3BDE5635D887654FBD3F +:1081C0008C79F11DD2908AF97445DB17433E0995ED +:1081D0008FD320AEAE14E95D0AD553F785930F1304 +:1081E000D441DB179FA087EE52DFD097A0FD7F041C +:1081F00088D5DC48E7F70E7D129C278BC8173BB566 +:1082000049F8BE1CF2EFFE14D8BEB89BE2E307A00B +:108210001330DEF8F94EC0CF0F8A595D29FA874E28 +:10822000B863FF6E807DE7910499DCC8D6755ACF9C +:108230009377917DAFB0F74463A558DF86E36FFF76 +:10824000A81CEE4B3C25F5412A4AD953FB2458671C +:10825000D9B17D9877702C7552EF10F41678A75B22 +:108260007F7E8C2A5E38DFA4A574B5844709FC1E86 +:108270004FD9F4B8B10DE896F69AE0876C0B32F955 +:108280003F7F888E63E3EFF90AFFBE5081EF10E174 +:10829000272C817E7B58BCE95883557405ADAF5FB0 +:1082A0005D53B78DD2E758FCDE26F8AE48C7F7AA73 +:1082B000F0DECA9922368F3BDFE67571EEE4F936BF +:1082C000B7FB59D5BB9DF1E9FAAABED23A5A76FA64 +:1082D000D93DA7F5C5BC5EECAC0B79734CB78A4BA6 +:1082E000687DE3B17D9340616F243D37C17D1AF213 +:1082F0005399C0BE7F6D607EE443B4BE81D6E16811 +:10830000BCA17FD647601D1BF6783C00E2878A98A7 +:108310009DB0B19FF25310CE2914601FACA7E77235 +:1083200085F281B5A77189FF2A42BE571DD73D94BA +:10833000F6878357776995B4AEEAD3C82CA87FAC8B +:108340000BF86EFD351EFE519A8FFD28AEF0FB3402 +:10835000B4FEA1DD073A218FA9BE4543FBB9D493F2 +:10836000C0F82039E5417D01AAB891E25D2EEEC04A +:1083700038E2FFEDF4A05D02616DB86753AF9093F2 +:108380000A2DEF53191DAD2E05FBD1E7DDDE12A03E +:108390004B4F1CEEC7916E26E7E63CE55B0DE7B957 +:1083A000FAB6F86DE8A7D01BD16E9E44B27F308F2D +:1083B000FB12C2E4EE3C9D3429B4DD6B454C0FD674 +:1083C000B75CBF1EFA4D5EBDF22771FABE414A5B33 +:1083D00018677C91E9B7C06EF69D55F999A0B98DE3 +:1083E0003EEEF72CB81CF47DBF9FD14F2E4EEEFE13 +:1083F0001788FF14D7107C5F9CFC1DDCFF191EAF93 +:10840000191097EA18F2583ED0BBC5A60E740C821C +:10841000FCC0FDF5D3C571906B6AF20ED89F078B37 +:108420007EDAA9CD47BC4F8690CAFDBB7FD20978C2 +:10843000EFDF162FD76DF579EF50690DFDAD9F7405 +:10844000C6E97E548AF7AF87FD4EDFFF10E244DFB6 +:108450002B11F28DBDAFAFE675B0DBA9BD256F1353 +:10846000FB9B581A95FFF5B6F68BE87EF72E60EF6A +:1084700037D3F9808E708ED95A02EBA2E72658D7EF +:108480003425DD2BB1FB8C704F6A89BCEAA333E83D +:1084900073DF14E6470B1433B91C2836D0BF47F1FD +:1084A000847E88E1E78269C047A0B8ADC707EF2B9B +:1084B0006BD08F509466E34009F42FE2F746257D98 +:1084C000199E6BFCB5CEEF0C897BA558873C1D7EB1 +:1084D0004E505CCFBF52151F80F8D3D6A1652847F8 +:1084E000EE29E2F67F258B53DC95B0AE067FC3659F +:1084F000C37D0BC00C9A7E7EF06928AF20BF5F0061 +:10850000E2D3D48A8F4379A888316D9D3E6B218A4E +:10851000C286BEE3E8063286CA408ECD91D3EDE036 +:108520005F8934F6C930CF841B6B2E32AE3F887121 +:10853000F5BB839EE634C69F9FD6EDDFCDDC12E40B +:10854000DF2BE5F2C4CBED87ADA407E50FA53DFB1E +:10855000BE1D972F5EEE18CF7E475B3775B88FD75D +:1085600014AA477BF4192EA7E481F91F8773810AA7 +:108570007282B63FEC67FEFAE132D207E76A25164F +:10858000272087453EEA663EAF901790EF179F4A37 +:10859000C8131FBB7401F8519EF858E90238E7ED83 +:1085A000CF7DA74915DF67C47B1099D3D2BB458423 +:1085B0007CB719C38AE46B4AFC8572D8DF835E946A +:1085C0005B078A9D7A7B2D5FF737B9BCA27A1BE5E2 +:1085D000217C1F06EEF9A9E78B489ADA7D4BB87C1F +:1085E000F725D7229FF9A8CE33AAE0FC6859805717 +:1085F0008107ADC243D2F673E3F930F6FF66118B03 +:10860000EB8A387CA1BC84BB829E02DF8B6F46BAAA +:108610006CCED285C9FFCDA1F80490D3DF5BC0E05A +:1086200076F3C1AFF8BCEA7909E110CF5F037E832E +:10863000E74A12E3B3EA7905DF8BF58A76B9F76C7E +:108640001D6FE81AFF8E32DBAFEA3199D99531659B +:10865000D87E0FBA08CE119373FB4CDCCF1EB90E37 +:1086600073308EF92B4CCE8EDC8716DA3F629D3E3E +:10867000C3F9DE9DE79485FBFC38C73AC4FECAAD5A +:10868000A714DF833EC17B970A7900FC011B781E8B +:10869000CF0699F215857FD7917402E67F439C7BC4 +:1086A0009E62DF69DBD0BF8FE713198EEF0A6D3C46 +:1086B000C6E2CD9B5E095A1EDA7E23C8658AAF5D8D +:1086C00007D938A2BD5F4B64CA8D5CFB6780D6F4C6 +:1086D00079D1D66FCE83FBDD7FD45BCBC0FE285231 +:1086E000989C232D1ADA07FBFCEC1C64BD3495C55D +:1086F000BBE8FFEC7B84AC5D9169F4829DBA8B9FF3 +:1087000047151817F22EFCF133CC5E23712506F9BC +:1087100031423E6FEF04FD7C9F4AB2F21AF263EFE2 +:108720000BB07A3CB8BDB383D90928BF95A2F22E0D +:10873000B0CF3AFDA25EDA65817DAB9AC7E11C6BD2 +:108740003DE933004EDA3F0EFBDCFAFB5A3CE7759D +:1087500054918980BF13C52ADA3B1D4FF87AE17C1A +:10876000FFC940F2DD800D7FE78A9F9F04FB39CF70 +:10877000789663BCCA8B1B8FCEDFEF99997B7FA263 +:1087800078EE7199F5433F03A9189CB49AD64B9F94 +:10879000F4615CE0B0D7292744790397035D29DDB4 +:1087A000710F5805B98071F8369407BE5889430E89 +:1087B00008F9A09E2F27695B9EC833601F38F6E139 +:1087C000247CFF4D4EB7AE9431C63CD505E6B97C4E +:1087D0008C79AE70CC03123CFB7DD851E20DEE7B60 +:1087E000646E792A4A214F7FC8F9FA4529F9992000 +:1087F0002DD70DF52D0171B1ACB8B912CED92545E3 +:10880000CC9FD17074DF71300F666A89878AC6B3D6 +:10881000FC28D817BFF5259E2F9A93AB5FECBE3A84 +:108820001C14EB1B213FD9BEE2FE8BCD21F323505C +:10883000DF7C77B56E8D120F71CBC70F8D90A34C77 +:108840004EBE7FF3C90E3A8E9C4FC5F7397D9864B2 +:10885000DF2B76E9D3CD6571CC0BB2EDF338EC7339 +:10886000F88634B7DB2C900B07C47BEBE6AE458D66 +:10887000608FE7DE835D57EACBF587EF501E0888EF +:10888000F6EBF2B72F72B5AF16EDB7742DAA180933 +:108890008F903B5007BB5179C797B52B01BE7D1E0A +:1088A000D77825623C0BC713E785A9BB77FFC85271 +:1088B000803F7B9A40FF0FDF420CB8F7F335C50CC1 +:1088C00098363D3995DB29EA79BF03CF39FC06F1AB +:1088D000398939E9B9F9A5AB47FD4EC0AF53CEEFA1 +:1088E000047C3AB919EF294FE57AA8959E3860FCC7 +:1088F000D6C3B263FFFE17BC7F2BF04E2B60074D33 +:1089000067FBFB6F0EDEB202F056FC55E1BD2DC0D9 +:10891000E4ED1DBC5CACB70DC03D97C58664C26F6D +:10892000BC2CA66DFD74CF5E4D4B8D968B156205EC +:10893000D17E49B3F6B40EFE928FBFF399573E8CA9 +:10894000DFB189A31CF3F3BC0839C8F2A177D62C98 +:108950001F35AEE2FEFD21F7FB221E77DA377323C7 +:1089600081FB626AD08A2DA7E37D3CC4F4D640D552 +:10897000AD782FF7FE997B63709EE9AABA3E067226 +:10898000B5737C17B19FBBB40AE6AF778FDF1FE2E8 +:10899000F180F357B3F392C8EB887A9AF37D474A94 +:1089A000E499EDD47AF09CF641AD6FFDFBB43E7FC7 +:1089B00058E2F05A980FDA6DBC5FF0DE84F0DE3FCB +:1089C000F326FCAE42D7F84BABC13EDBCEF129DA41 +:1089D0000F8CBF1EE1EE2CBB358679C465D73BBE3C +:1089E000B7EFE57907EE79EAC26CFD3BF5BF0EDC27 +:1089F00087C684FB56926F7EB500FC9F14F0C77843 +:108A00009EFC070CFFE3EF33FC3FE7FC776588D95A +:108A10007D3B0D27BF83B9F0772585F7CD58BF6F14 +:108A2000456A0CCF85FCAEC2EF52ECFB3263EDB36E +:108A3000D738FE7ECDF3AC6E7B44C678CAFA1A9660 +:108A40000735D67CEBBD7DA5A3E5EDDFFE88EC58B0 +:108A5000CF58F05C1762F1A8754764C7BA5B0F176F +:108A6000B9BE0B65B1FBDFC67E0DFC8C6FD67830CE +:108A7000674DE077041FBCCF781D8B2F0BE2D560CC +:108A8000BFBBF37EE3752C78AE0C31BD36165EDDD0 +:108A90007CFA41E3F1FF37FE5C0F78BC00FE14F472 +:108AA000F82F7ECCDF7EFB05F2E37FE17174780E58 +:108AB0005D201E85BC3CCAEF354FFDF2E653D75012 +:108AC000B979BA79F66CCC9755E23356CC80EF0B76 +:108AD000B0EFA54E053F6E9E7907B87E3ED5BC70BF +:108AE00003E657268A50EE3EEB31FFA51EFC76CBFF +:108AF00065F473BAFB9DE2F8FD6AB858DC1F08CD37 +:108B0000A1FD973F27D7ED1A852EA4D9860FBC2744 +:108B10001470E691BAF07D8A1877D7831F6D697E4D +:108B200038049D9F4DAC786F744EC81F089DC78256 +:108B3000676FF842F5621AE91725D9DF71B98CFD24 +:108B40009EA5E18538CBF2B33ECCDB7B0E1EB1DFB8 +:108B5000B1FA7198B65FDE3C8BFDEE1ACF8F220A18 +:108B6000C13CA2357BA7E2F740C8CA15D8FE99B030 +:108B7000D35ECAD249F017FF1DB509AB2CAF3DFE3D +:108B8000128B08BF7F5B25C0D1AFC62F7F948E7F2D +:108B9000EA633EF6BD92154B778728FF3CFB89625E +:108BA000C9FEFD96D739BFCD5DC5ECF4FE3349AFA4 +:108BB000C766AFFB23EC3DED7FE3501EFCFD86C393 +:108BC0007B7D52E279BAF14AFB77C24B787FF1DEC6 +:108BD000DDFFED7018FB3F5BE0FB2C7FE4F0B5B4EC +:108BE0008CDE9FAC1C277E9F6C92FDF7C9DCF8EBF6 +:108BF0000C27DF017ABC20B5BDB405F65393867C03 +:108C00004C1413F3D7041EE839B31B7EBA53D0E9D2 +:108C1000E3E5D3D12F2EE011F3418817E282F571FD +:108C2000162F2EE1F949F3BAFDE96D987BC87FF75D +:108C300054A1708570FE50647CE1F9C5B85185641B +:108C4000543A6EC0674E8238827B1DA2DDE9B717A9 +:108C50007E14E0EB3FE5D1B7578D5CBF5B2E5D7AAC +:108C6000D0C9373338DF44F9F77488D256D962A3B4 +:108C7000DFD408FB5D9E8BE5A7B3B08769BF4BEFE0 +:108C80006DF31A74DC1B149E6F40C7B7F3C773BC37 +:108C9000BD01414D84C30A5C067ECE17987C39DA4B +:108CA000FBB9CA7C71CA535C6E3C1FAE75EC97155C +:108CB0004B6775C24F6F527E2903F1D57FEACA4ACE +:108CC000D877D7F3DF5738AAB655CE023E578D0D69 +:108CD000E077BED075087C1794A31CCFFD67125EA9 +:108CE00038D74C5FC9F8F5BA95039E0D41F89D162B +:108CF000B66F5F86A6B671DA236CFF1C5593ED7EC6 +:108D000093C21D39BAA3BB16F739FA25B7461ED947 +:108D100001F16DD2C1BE8779E9CADF6F06BF77BFA7 +:108D2000CAF24A9EBB3680F72A28BF3AFC20D1956A +:108D30006FA5205F609C6A5CCABEE7CBE4D34F4856 +:108D40007215F09F905323E452C70AFEFB2EC6A56E +:108D5000CBF3EEA3ED1C5EC64F47D3CB239FB2F1FE +:108D6000D3BD11D511CF7A9ECBF9D3AEF3E3CA337D +:108D7000EC7C47D781F1D07FBDAAF2415847B4F5CA +:108D8000AD14E4E3DE1BE1BF7B91AE7B18D62BD69E +:108D90002FD639AEF7B24B21BE75438BEC92CF6C18 +:108DA000BF5DB7D425B779FF5A39BE1EFDE81F65F0 +:108DB0007121315EB499E2EB0A5857627BA82A8789 +:108DC0006781CF03AAB93AFB7B4614DE35BD41CC9F +:108DD000E71ADF3EB405F8E88FC144A4C4C6A7F77C +:108DE000449C725CE86768077A6BB96278F3E9AF14 +:108DF00015CD725EB8559FF1AA5D0E8C90072E7D41 +:108E0000A97B7ABC10D768216D583E2B0F637996E9 +:108E1000D343F43F4B32A17920879A658C079E6D2E +:108E20005BE1C87BFB966B1DFFCAFBBBE75BD5CA4A +:108E3000F476A1FDB1CADB1732E97A7FB659C67361 +:108E4000F88DB7CBD60DB4FDAADB59FCF7C636E7D3 +:108E5000BAE93E3D750DC0F54506D769CA560D986D +:108E600014CBEC8F9FA74B66419EF769A011D823C6 +:108E7000CB8BC4F7EEF0F73A93EC9FE4C5E64FFDD9 +:108E800010F2278E47581ECDE9E6154B20F478EBFB +:108E900041F283210276D6E87641F2F34E7BE0D2AE +:108EA0007B9DBFBF3717F412EC4F255379936DBFED +:108EB0004C2929627A71A594D7FF5503C16880E7D0 +:108EC0003FE4D67C76E095254CFE5C776FFEFE573E +:108ED0009684D8FB83F9DFB7171771BDD35709FA0A +:108EE000E0BA96FCEDD23AD39F6737FCFA4688E3A6 +:108EF0003EEB717E97E780CEE8BF45677AE274EF7C +:108F0000BA256580EF8D923EC580F88959057CF5BC +:108F1000C9DB5F46BFDF469DC13D3394780DE4CC8D +:108F20002D67D67495513AF6AF22A664E4E4861B09 +:108F30008EDFF3FD2EF410D57FAF80FE8BC2EFB035 +:108F4000815C53D2E627D892AD4809D0DD5A87F725 +:108F5000C77A033AA33BB58F69E3E40B4E7BF71D59 +:108F600017FFBAE979EBBD2E39E1E2EB9F1313ED60 +:108F7000F0FF07883E9EFC00800000001F8B080069 +:108F800000000000000BDD7D0B7854D5B5F03E33BA +:108F9000671E994C92996426EF843384478000932E +:108FA0000021548449423448C44920105E76A09878 +:108FB0000609215AB89756FF662080216A1B9152F4 +:108FC000B4548714952AADC1A62D0AC50141E93BC9 +:108FD000BC14956AB8220822A6566FB92DD5BBD706 +:108FE000DA7B67CE39494868EDF77FDFB55FBFCDE3 +:108FF0009EB31F6BAFF75AFB916059B4E3290F2161 +:10900000EFDE6F0C4F7511F26659F40E23AD7F0140 +:10901000FF4D25E4C30642C216424E948D5B41C605 +:1090200013F25959B4C12845BEEBCB8BD07E382101 +:10903000171AAC582EDB6D0C5AC610B2BC8C956456 +:10904000886220F984ACB612FC4FDF7FB9A92DD11C +:1090500061EF7BFCDADD4612CEE67D09C0352B2EB2 +:109060006007F8C7C52CE9A5DF70075D8C9B90BB36 +:1090700077D27ED648BF9AEDD19A71DEBD9F8DD34F +:10908000D7BCEFF275BD0FEBA2F8386920356D390A +:10909000B4F4CF8A5B921369E77550E44C88D4AB83 +:1090A000966AE19DB3305A03C789CF8D356D761826 +:1090B000A7D1B6D80EBF2AC3FCA309D905E3437DC7 +:1090C000FD384226F50D17216B713E01CFF1520696 +:1090D0000FFD4F268984CC926048420A395CC74B09 +:1090E000C7C504727AAEE784A1EBF71329FD834F5D +:1090F000C8DEA768FBA15B16AF4BC161BCBF1F4FA9 +:109100007F0FBC61CC6BA6B5DB75EB1365E07E2DE4 +:109110007EABB768F1ABA73B599F40484ACF71225D +:10912000FC767D7AFCFFE2B3BEE91042BCF4C7676F +:109130002E23A907BA2E90DB4C93281D16D49E250A +:10914000CB68793ECE8AFDCFC729582E20C4D7865A +:1091500074F48E28A7FC70A2D546242A7FC199B644 +:10916000D050CAD2272B6EF2A8E17990D3A572DB3A +:109170009E921405F841D9EA86F6FF61244FD15139 +:10918000FE74FA850D6E4AC725C70CD092CCA92A69 +:109190008C9940EBF9278D7946DABEC9E14439A9AB +:1091A0009CBDD8A41E57CFBF953AFEFD84C35B6219 +:1091B00025417B1E705DD778E05FB1CEEA6DE5B7E3 +:1091C000A4D0792A6B1F9904F3546F39681A41D7D8 +:1091D000F52D8715E7BBCFC1FA2F94F97AAD74BD91 +:1091E0003184BC0D4002FCDF94424FC1BFE54E13F9 +:1091F000FC2EE0BAB3FE4289CF1EE17BF1FB8BB0BF +:109200003A3AEE4E8701CBB13181271D6EFC6730B3 +:109210002E9E90470DF5856EDA24CF4134708FE392 +:1092200070982DCAD3C4185947371EEB181EDF3E5D +:109230005DB101EA7DE1714F1FF2D11F1E4FB6DA19 +:109240007C04E46F4A0CD2B7DD4C82B0FE53B7A762 +:1092500086D6792270E6019C7431AED97F6D708C10 +:1092600089F0C1DBF75C5804724DDBADB7C733F84A +:10927000015FC79C0C0F44A1F29018918784384A73 +:109280009F9C9E70BEC5E54A2F3F6796492DC6310B +:10929000588612627BB6EF4B2EE64BC40F7CB0EBC8 +:1092A0005E4B4D6B2FF2E374327AF5D00FB0040AA7 +:1092B0006F80FFBB7A76F946BA1CB22E3A760AACBA +:1092C000F38C6EDE33241C3311E834DBE8053A9D61 +:1092D000A9D7EAE5CB9C2FFA5BE7C21AAA3F62FB4B +:1092E0005ECF425328C64BC77D6B95B13444CB4506 +:1092F000B4FDDC31D8EF2CE89D45F55A3A9F22FEAB +:10930000DB27005C650CAE93E696DBF3299D4F7C72 +:109310003B2B2F08DF673F8A764B7632BE39C1F58B +:10932000FEA9D95AF8FFAE83BF87BE3D6DD3CCDB13 +:10933000977D12F30CD43EED32FB33404F9EDAB1F1 +:1093400070D16AE0CF1D36EF50A5275EDE731A118B +:10935000BE13C0C72A3DD56EF67ED4EE023E4EF651 +:10936000AE537AF2EF893266F7765544D784A0E49B +:10937000FD1F2DCC6E053F6357A802E1FF1BE713CD +:10938000A15708B76F823FDEE7F47C9BDB03C5C9BA +:10939000F4E9C2DAB32685F6BF13F48B9D3776C1A4 +:1093A000F8C93B9A297C9D06560F3E1E13023F4882 +:1093B000CC27D6355287AFEA2D5ABC2FACD5E24B1D +:1093C000CF4F6F860CA521D5BC776DF3B4364B918A +:1093D000FAC255B4EE89D8BD5D2103FEFED99A3894 +:1093E0005CFFC98A1F20BFBCB3352B0FD4D280EDE0 +:1093F00060C8F06FB183809FEBD9C1AF3B07E66FC8 +:10940000BD4F4829D2E3DAAC9993607DDF4A40FF33 +:10941000E2FD2D8C5FAB38DEDF31778E56C327E857 +:109420007C86FB2DEF77E3D71F0B7652B4BB03F49A +:109430001EF4E772F0CE1AAD1CDCE5D4CA939EAEE2 +:109440008BEAB574BDD7E9C0F6EFAC69B481FE39DB +:10945000097C037C5E6D44FB74D25F8C766017D808 +:1094600001159EEFD5CDD39FBCCD97827703FDC963 +:109470000E1BFAE52E600BB0ABD98C8E9F415B2A98 +:109480004293E30D9A717BE8B56C2DDDC1DF50E3AB +:10949000F118B777A2BEA0460B17F16AFB9F3030D8 +:1094A000390ECE34A37FE83033381DAD3647D08334 +:1094B0004DF2C15E76CFAFEB3F5F0E69E6FF01E78D +:1094C00093BEE6EFCFDFBA517FF35DE25D8172FEBE +:1094D0007F3CDE3902781D801FFA65C53B7FB841AD +:1094E0007BF25BEE2FEAE39E6EBBC1FD1FE1EF2432 +:1094F000CCBCE922A1ACFE099FE7AE2DE5E89F9E1A +:1095000030F837C4003D8F1B1CC08FF9A7599C72DF +:1095100017F7C3043C793ABB29EC4F7FF6532F3F32 +:10952000A72A1FC883794F55CED5F8C773AEA69129 +:109530007042A45E5925F9C02FE896D7282DDD6D1D +:109540004E33AEC3E6543470555ECDC471847DBBDA +:109550006BCB62E637D73F92A25ECFEBDCAEBDC1EC +:10956000FB77FBCD32F39BDD8D9DABFDB4FFA77682 +:109570007F5CBC8A4EE6782D1E4E71FA423BE0BFFE +:109580004AD96FEA8D0FE7CC36EAF413F3E7F4FA21 +:1095900048B44F8C3768F841CCA3C7E740E71BE7D6 +:1095A0007008BFFC3CC9A23FE468FDD8BEF8B77B99 +:1095B0005E5D7BFDBCAE782D1DF4F3BF114734FC1E +:1095C000AA9FA72C9EF165FE1646F713336F423E05 +:1095D0003C59F1CA64A0DBBBF7FFE5D45CD0334B48 +:1095E0008F4C06BB50161F83EDDFA54B4A067E0F3E +:1095F00048E817CEDDB278430A6B8F71F88993592A +:10960000C8C7B7F1F14F98BD1A3BA897CF57389C00 +:10961000A7E3989D22A42DC31F33707CBDD507BE40 +:109620006ED46EBC22E6BF366E34D883D7E218FD06 +:10963000E8E81950EF2BEE1725C5088B438BED4D4D +:10964000521CF88FFED5A017BA2A631CAD141595CD +:1096500016DF0CD0E3A78E1B0C6B991FC5F21C0CF8 +:1096600004E299E97970246D3FCB6FF4455150CBFA +:10967000A1CD244AD7227B10C61B7FA2ECB9188843 +:10968000DFE65914D0EB9553FD1F1941CEE6462B6A +:10969000EB683DBF63F04117AD579449102192C369 +:1096A000D4AE77D2F53F0B95AF100620C5CD49510A +:1096B0000F2EDF348DD27DA4BBDD60A73DDED8BC8C +:1096C0007C9395EAAF0D6BFDC910523FBAB9749304 +:1096D000F5662A1789BE8EA95E8A9FCDB74DB766FB +:1096E000D0753D2EFACFD8E44B27649F21E091E856 +:1096F000F7CB9B974C97297E64695AAE81F6BF12CF +:10970000BF6713B49F3367C55D3FA7DFE31E7D606E +:10971000BA4CC7CF5F28FA3F34BD7808857732FD51 +:10972000772AD45BA2A0EE8AF62B865C0AC7E6A253 +:10973000E932CC17EFBB87D0FA88478B109E8200A6 +:109740006F4FBE3FBD588E8CD7B8B9685390F64F57 +:1097500059534CDEA3A42AE80C4AA0EF5E2FAC2F8D +:1097600096E9FC8B121EDB944375DAC4B2C26842E0 +:10977000D7BB34A16DBA2517E8E4CB5568599DF0E5 +:109780003384377F617024A1EDCDC15F6C2AA5BF02 +:10979000379FDEE187B87AB5C4E42DCA5A1F36D0A8 +:1097A0007F66AEF19300FA6F2D8C4FD29561C8B7EA +:1097B000A29ECDF261DDF564566F5F47BEEAEF45CC +:1097C0001E535C4CFFB4DB7AFFFE2BAE07E97A51E7 +:1097D0005EE34E13DF6E5A1EB191762BB537775884 +:1097E000C8F8021A3F3F1D6FE77CCBE7B532B8449B +:1097F0003F12BC231EF45999F0E5E9F70A0AD73E57 +:109800003E7E9697DB01129667815E361A101EB770 +:1098100051FA6A39FD3DD146027B68E94E20582F46 +:1098200023C4B7C71E19F7777CD8922CFF4EE0FFF0 +:1098300092A494DC464F641C0AEF7A8057E49D287A +:10984000DC32C0ED3656E4DE93A3823B87C1DD1ED9 +:10985000CFF041A7790EFC9EF68E9183210EB94779 +:10986000A7FF28FF9B08ED6F7171B955587F7731BD +:1098700041FBDCB5292AD40AFE9E35E0F5ABF23176 +:109880007FE07AAAF6EA08121AA7F25FE4B019F4A8 +:1098900047EDD51CFCDDDDD83B5D441EB3F6AA9335 +:1098A00004C7A97F67EB8B8CE3C2EF7DC143C30A7A +:1098B000D45FAB9C1C817CDC3584C57FAB627C496A +:1098C000F1D7F3B7AE4A7DC02FE3EF9E4184740019 +:1098D0001EE9EF2427021F292845FBB60AB40645D6 +:1098E000E9AA3D854944CDD732A78399AD1FF06CD5 +:1098F00050C1F10F8EBF0AE02F1C9F603E68496A7D +:109900000EC68BED7F2B1E558EE3AD63FC2DB3F899 +:10991000295F66FA30BF23DE1194227C21F841D002 +:10992000B33DBEBE10F1552E395A3D3DD72D27709F +:10993000B9F04B387FD2C28071B1CA7F107CAF972B +:1099400013427EC8F43DE5FF45209710D7015EBC69 +:10995000541E62D4746470AF863E6EE40346BF1436 +:109960003BA31FC74F4F7E48EB871F32F17B7EC75B +:109970002133E0BB96C399743A1C3B2A87AD633907 +:109980002DFF01492B3AEF37E3195FB7B7158FBBAE +:1099900089CEDFDE6422A092F2270B7DFAF9AF8B2D +:1099A000A8FE4B1275D0F70AE29BEB4BEA1E582338 +:1099B000EDBB1EFD7CFAFA2111FCB8C0C8C747E018 +:1099C0006DE474DDC0D74DF117B4C66BE49614E4B2 +:1099D00045F48B9053319E18E7F60436CE6D9C4EBD +:1099E000DDFA87307EA3FA06F385A4292A3454FAD7 +:1099F00077E81DA91FBD53CEF50EFBFD087573A1B9 +:109A00005D62A2324CA27EDBF1A3C543C18FBF379A +:109A1000D9A89CA37665B614D840289CB34E2BD504 +:109A2000F07BB7FF451161A7FE4425FDF10BFA7DE0 +:109A300076872D688C057B1EA5D8D579E71609F9A0 +:109A4000EC5E1A82AEC9EBC91FF7269B719EE3A597 +:109A5000597101355C1CFF77409E37ABA77C8A3A71 +:109A600085BBDA60547DB733BB7338D6F7F5048A0B +:109A7000FFF72452857EF034B7C69F7950E7670B15 +:109A80007FA624CE579730A167FBBEFC1F3784A169 +:109A900028BF2C1F9454660B01BE92DA0897CFB0F2 +:109AA000A116E868244189AEDFE0CAC04EC72BE9A1 +:109AB000C7B8C878C7257F3AEE1BB82D5EC853508B +:109AC000BAE0FA4B8CF71C34B980CE92B791CEFA3B +:109AD0009D0427F71BBBC6A3BE8F667C78248A58DB +:109AE000A3E8F8AFD112E9CEF5D21F334730BD64F9 +:109AF000167685EBC16B2CAE16DF8F48E5E90E5A62 +:109B00003FE21E9EDB28E178244AC5FF745C02F028 +:109B1000FCF1F36F9C9B4AF16D1ACCC673D1F92B03 +:109B2000547230B194AD7B3B9783ED09D12C7F1FEC +:109B3000CDC63BE2A16C02F30CA5EBA1F2F0AA2D7D +:109B400090538F703DCCE849F91EE89568A025C870 +:109B50008199D5FFEE62E38DE4E51E17A35F622CC9 +:109B60006BA7A74FB49B7DFFB1C4E4B9F90CF56BAB +:109B7000B2347E0D2183615E3F017E692EA4EBE944 +:109B8000659C5D092C7F43ED18AEB7A75D61FA4F68 +:109B9000B69EC8043E7EF95AAB03F878BD89F1DD64 +:109BA000CB8E9003E23B7D3F7334CBEB0B7B24FCED +:109BB000F8CFDACAE3403F7670FD61E671A68067B0 +:109BC0003DCF7BC45E8DC638F4B71C3E39FB1CD23A +:109BD0005B2EA06A867635117FD0A1A2B7C961D06D +:109BE000F8FFB15763B17FEDD5712494703DBD9DF1 +:109BF0008FDF4972A926DEF8ECCC5C8453BF2E3D82 +:109C0000FEBEC3E115F558805305571CE94238E301 +:109C10000AB4F0F5E57F7C9420FC17A3C6DE44E08F +:109C2000356B7EFF0E8DBB82EAF93F60F347E6A5F8 +:109C30008A46356F5B82EF0ACA3F99EC383F8A1635 +:109C400094EFBF30A21D61F68A963BECCCAE837ECA +:109C500016710BC8B3632C21F72514FE37F4EFB649 +:109C600073BC9FD02771A7237E9D44FBDEC7F5D030 +:109C70007D206B1354FE9FCCFC5401F718BE6EA1DF +:109C8000774AADC5BE732ABADD97A0E0F7A342DFDD +:109C9000112503FA53BE0DAAEDB71E9F0E97C0679C +:109CA00094860F22F8B4E3EF5F963F983F39601C2B +:109CB0000D79D352890CA5C5C4694C5F887E435C7D +:109CC000CC9F1F42158BDAFF17FE966897CDDB6598 +:109CD000F376FDD96BB5BD908C113D55C7E9E7B959 +:109CE00074DCAC507C7DCDC5FC8F22B76FAC0BE42F +:109CF000CA163B06F4B46CCB0C11FA69C73F8A95BF +:109D0000B514FEAEDF9BBCAD30EC5E46D7C279AB7E +:109D10001A65FABBA94D725848044EFB1AC9B7948C +:109D2000E2EF268167175B4FAD2B6C1E42E74FAD0C +:109D30006570A4B71D946495FCA4D7B076D35C2657 +:109D40004EF7D0DA92F1F0BB4F6EA6A42EE5BFDF3E +:109D5000E262FA2DB54DC23C776A3D4500A573AA73 +:109D6000978D6BF786A4AFE544D6D96428CF013D23 +:109D7000DF9418ED053DFF803B3013D6597B261C40 +:109D800006344D3CD321439CF78CDB77876B4264D0 +:109D90007D8AD1910AFA33FA0C83AB255ECB0FD4BE +:109DA000A272385B99BE3492A3E05FA1ACD3F912E2 +:109DB000D765A39D11ED13E3B99E4F248117D0EF12 +:109DC000214D04E945701D89EB86E17E8BA067C4B7 +:109DD000CF1991077E4ED6436119F2AA2F6D67FB0A +:109DE0000A7ABE5CC1F14DD751A35E477FF65CB4E1 +:109DF00033F511970A7E8FE6FC5338CF351FD657BF +:109E0000BBFE17D11609E8B0438A46BBF01D6C278C +:109E1000F04EE1F826C0A1E727397E979446D7F5A2 +:109E20008D65C461247DC359BBC6E85BAAD677EBB8 +:109E3000CD48871D66EDBEBAF0DF37F3F8FA2DB7CF +:109E40007F13D0B76EEF2366A0EBB29D67CD815E26 +:109E5000F47477FF01E249AA6171416D953504EB15 +:109E60002E9C2723DD96AF37872C1EC887EF091B52 +:109E7000C0CFBD9F7841CE6BDBF6BC9A4AF19456B9 +:109E8000EB9B00F9B244CA6C1D3911BB915A1B9669 +:109E9000C01EA7B62DAE453E4E8EF6021F837F0A2A +:109EA0007EC3E5427B50A2FAF5B22998ADD0EF9778 +:109EB0003D362FEC67BC1AC5E45EE0F9B53DB71E30 +:109EC00095285E635EB084A17CC61DD80D786F5E58 +:109ED000AB14029D9A4B8803F887FA23F742BDA47E +:109EE000D14E400E06BA6EA137C4EF13EF67F2F001 +:109EF0000ED71BF4BF3CD037AFBA62987F62607A4E +:109F0000E855138353E6708E74F9F6215F8230A60C +:109F100044D6AF9F57C53F076F848F2796B6996188 +:109F20003F7539D72385F3764AEFA9E8DEE162FB76 +:109F3000C0A9BB77480AF2F1CEB5252E6C4F2C0A8A +:109F4000FCCEF222CBE9F7BB54FA43ACA3173DF2A7 +:109F500006F099FD4CC761A647C2C86F025E414733 +:109F600041AFF75CCC5EDD42CD35FE6EA674A5E355 +:109F7000BD3AD886E309B9D6CBE17B9CAF53AB762B +:109F80004A861CE67FFA55F0897645EEA20B2EC470 +:109F90004307E2614595CCE2750ECFA1B9772E0556 +:109FA000FAAF70A5E402BF7EE6627ED4965F1E43E0 +:109FB0007E5CD122B17DE89663E64AC86B057F6C72 +:109FC00004FF67067315C8D69F1F437B31A39DC549 +:109FD000E12BDAF7C85FB347F8D473E9D09DC0C767 +:109FE0002BDA2C244A02FA2938BE9E3FA91E41B919 +:109FF000214133EEA7409C807A93043C10970B3D9F +:10A000003B92AF9BD8FDE30DA04F1347E7827EB490 +:10A01000BA19DC62FC129BF79015F4641E8B17844E +:10A020005D8BE6DFE9F861D4B3D4FB05BF578CDF65 +:10A03000D33E8CCA033A8C73333D4AE99BE0EEC5AC +:10A040004E88F13D4F541025464537C0B78ADF068C +:10A05000BBCD38FF60B7CCFCE5228627D9CCD62F04 +:10A06000AFB386202FF29AB394E127DE8AF83962E3 +:10A0700058520B743A92CAF8ACC9B02EBB9ED9A7FD +:10A080002C80E7D0DC58C2F410D33B5B7EC6EC607A +:10A090006DD08E71586D6036D299B8A2BCB09F4811 +:10A0A0000287CD9531113ED0D35579E1A019D63133 +:10A0B000A38DF17F045F210DBF527D86F41E29F22E +:10A0C0006F945E804F113727583BC326A5A77C2687 +:10A0D00040DC4C6DDC6C889B213F5C60BD6EBC2C11 +:10A0E000E615FD45BCBC7CCD6F33CF517B7077F25C +:10A0F000AFB1147220E232D1BE8CC74113381D6754 +:10A10000B999DC2D1FDF867CBEFC5C3DCA87BD94FF +:10A11000E909FB19AD7E137119210F31FE8A6EBB5F +:10A1200005F2F0254F4A8E46D2B71EFA3AEC3F812F +:10A130007EBF46BD671ADFD4EAF6D7BEE666FC7C72 +:10A1400061174530DA817AF4972F6F97703F76A0C8 +:10A15000E391F04909E8B79CE3F0F2EEE249EF43FE +:10A160001CBD2B0ECFBF7CB87BD637DFA7F05EDEE1 +:10A1700039D50BF6D5D5E8477EE8724779C11FA6D9 +:10A180006AB014E2F2B56DAFC4429EE9E27363F3C4 +:10A1900040FF7D8BCBD5A59F19D7003ED63DF3FC64 +:10A1A00014F8BE3C2425807F7779D7939F833DABFD +:10A1B000D9B912CF97353EF7B219F61F0CA11DEC95 +:10A1C000F75D71E8075EFCD1235300CF8D6D8DF8EC +:10A1D000FDD28F7660FDD033CF1FF81BF80DFE58EF +:10A1E0002FB4BBF4B347BEFD37E0DBD9B15E5847AF +:10A1F0006D4066FB85825FF5FA67CF41943BC11FD6 +:10A2000033C0FF033EAF627A44F0E7F142B69F529B +:10A2100051C4F6698E4F8FAA42BF97CB5DDD7CE7B4 +:10A220000E903B03C55F32ED3FBBCCB903F65B76C6 +:10A23000F2F5D7E6307E68A2DC02F985E89CB039F9 +:10A240008DB69BBB70CF14C067938D1444219F4281 +:10A250007293CE834244F9ACE5B5FF91281D475374 +:10A2600075769EC65774B49D5F503E7DDDC4F2087E +:10A270004DDC5F9FBBF0ACC4F61564C7792107C6FF +:10A28000EBD93719C713EDBAFD368E87269E37A155 +:10A29000E3A3BDC95FC5F3A1D29246D8873EB23AC7 +:10A2A0003C19F8F6A50FEEB5D5E6A8F99BF54F6D6C +:10A2B00067729F5AD3710BACF3B6ECC5E3609A1585 +:10A2C0007C9FC505F935B03741BB46BFEDE77296B7 +:10A2D000E820AEAF40DE46262E38DF5742C849138D +:10A2E000E2E7291C5FB130BF497979EE53B02FB650 +:10A2F000D514489900F6A689DBA99D0C5EDADF012A +:10A30000FBEA743CC757F2709C0E533CF60FB2FE4A +:10A31000B7EE64FB6A210E7F5726D829186FBC1D43 +:10A32000EC4AB00AED8A62F6023F5C822678503829 +:10A330003866D1E8C8BAF57916D063B03FFD96BB50 +:10A34000F0947B42A41479193D3D9213E977BAEE5B +:10A35000CA441FB623BB12FA3907CDE87568EE155B +:10A3600073279D77CBBEB3A887EA80DF61FEC03933 +:10A370008DBD15FCB4F5C5B3C8EF157B197DEAF6A4 +:10A380007A4C10D77CD8E023EF5107B38EF3F75601 +:10A39000A9B31ACF8FBC18E5803CDA15CEFFCB4BA2 +:10A3A000CF9E07BD35786F8A0271F79517991C1CEF +:10A3B0003118109F475A47ED00FB42FD5A64E5BA39 +:10A3C0007AA5D582F865FE7EE1BCA58F40FCB5A2DA +:10A3D0008678413FD4B597A72B68572C88DFBABD44 +:10A3E000C7905F847F4BEDE15218D749ED4E14C4FE +:10A3F00063D3FCED480F570CB6774E0B3C5282FCF2 +:10A40000959B0FFC7568EE818D5698771A71C0F890 +:10A410005B337C2FA6E13A2402E726B69A5A8A6477 +:10A42000DA7F6B89E2A018A4F8DA990C769E649B17 +:10A43000B95D5B8A7E735DF2022F9E5BD3EB8B1757 +:10A44000D7A27F55A7D8109E197BA57B99DF6127DE +:10A450000C7E09F97246E8A610C8FF471C6F027F00 +:10A46000574C1D77025EAEFC9C3220FD3E631AE322 +:10A4700053E7B436D433AFBD48FD9A31117E8CF921 +:10A4800005F56F683D5E76485E94B35916353D5BC1 +:10A490004CCC4E39B9DDC92A65741D9CC8ECD4E09A +:10A4A00044032FCD5CBE797ED7111C0376F6234E74 +:10A4B000771C0EF43F1F77C5D230CA51ED6EE69778 +:10A4C000B92CBEDC6FA8F8D655CCECA4C8B343DEDB +:10A4D0001DF3ED10BFB8207E565AE19C11A51FD286 +:10A4E000F736D7F03CC057492293EFD46C09E33DCF +:10A4F000EAAF21DE12E7ED94AB73589EBEB77871D8 +:10A500007A22CF1F26F8C74BB49F3B2906FD18B708 +:10A51000B1D01005762857F2B62AB81F88F16D978A +:10A520003BC5DBAA916BE6EF7D9018C3E81AFAA34E +:10A530000C799DCA4405BFEBFDB99EF1729417E2F8 +:10A540009DB296E018882FC4FE80587768ADAD4A5A +:10A55000ADC7EEE0EB0C8D2055A017A8DF6EC77CD1 +:10A56000B283CE037179EB4D3F62717923B62B48EC +:10A5700064E7084AE8FAC02F7367F95731FB1A837A +:10A58000EB70679125D0CFDD982C357AD47876E0C2 +:10A5900079AEB7B89D11FE781D9517F4E3F6317EBC +:10A5A000AC033FCED3B77E88F037D30F33F632BA41 +:10A5B000D7ED65F64FC4E9A0F7E0DC21E809CFD874 +:10A5C000885CD7993B87017F0A3EAF9BD2390CF05C +:10A5D000D3977E28890EA1DC958C1A86790831CE16 +:10A5E000159382FB7657687C897E2C97879897987D +:10A5F0001C08BAE8E31C800BE245A19F1F70FB1BFF +:10A6000012215E378437C2F901A14FEB5EDA34AC18 +:10A61000B77360429F5A65A6B7ACA1E850A38A7F82 +:10A62000600F2C260F4B3CA715BD86E3E3B484F9DD +:10A63000E2E6EC933F6946FBDF16063E8B4AEFB835 +:10A6400019F4D723892CBFB65A62F415FBFF891081 +:10A650009B80DE688DC673B8227FA3876B3D9763AE +:10A66000817F116740BE1EDAFF84CB4588B7FB05AA +:10A67000E73B01B7E06BC510380BE711FAB23FA218 +:10A68000DF97954F12F3083B18C133A3B3D86F80FF +:10A69000F594E7F4DDAEE520D33382EFC4F757B984 +:10A6A000DF7B3FE55D287F2AF2B581116C1F208A90 +:10A6B00068CE6989F1445D9F4FD797719F1B39FC24 +:10A6C0003E02F281F906FA5FDC94522FACEF0F1CC8 +:10A6D0005FFA7E32913FED147E9547050FF7C9680A +:10A6E0009445A6C4ABE10A69E0D2E7EFBBFD32DDD9 +:10A6F000387DC1DDA45B5753D6010279AA686B2C63 +:10A7000097DF6BE8F76FEABE7710F496A3BE63F9A4 +:10A71000AEFEE6D1C31BA5F40EEF40E9D164D853D9 +:10A7200003FCFCD3067E1E6BFBC0D67980AFF33BE7 +:10A73000FC1C2A593A42B3AF62F72A6B218F3CF5D1 +:10A740009A928BFE353FCF193385FCD948F935B63F +:10A75000A0251BEE99B8FD5AF893AA6C9AF37029BC +:10A7600081784D3DAD2655D33EA37EB0E6FBA035A6 +:10A770002335DF3DC13C4D3DABE92B9AF6435B8A67 +:10A7800034F5E1DB6ED3B41F11AAD0D49BD7B655F4 +:10A79000813C8CDA355FD36FAADC69CCA5BF8F6EA4 +:10A7A0005BA2A5870E9F6381AF419EAC9D796A79BC +:10A7B000F2260D467A4CBDAAC507ECEB68CEFBDF4E +:10A7C000207F8CDDABE30F5D7F215FD184F147F407 +:10A7D000FEA63FC3FE77B45E8EF8B863AC4C7E7ABB +:10A7E0008CDB879CAC8BBE5306FE3F0015953FFD6E +:10A7F0007A83F63E4D49551CDB5FBA5AD18FDFCDC7 +:10A80000E4648E85ED3BCE89D6DE2BAA4F627AB802 +:10A810002689E79906C8CFA7393F1FEF8B9FA99BD1 +:10A820009B08F6A294603CEE285DFB67C8EBCC93D6 +:10A83000C32497CACF16BE9EADBCFFB606078EF7DF +:10A8400078433296DB1B14FCFD89866C2C430D5E2D +:10A85000FCBDB5A100CB9DD40F84F2E98652762FC2 +:10A86000A3C18FED9E6DA8C2727743007FEF41BFF9 +:10A87000ABF1686FE7D07F4E519D4B985B651C1024 +:10A880007DE692873A8CBDDC3FEAD1DFB8F0BAE7CB +:10A89000B7D79C290C1D56B56F488A719D07A69A9B +:10A8A0004826627CDB4FFFBF36F842874DFDF3B789 +:10A8B0009E7FC8B56F0CF58FEEF97D0ECC9D4AC812 +:10A8C000CCA4F6078339113CF5CD57BDE3C767BD6E +:10A8D000920A41FF18B03FAAFE0775FCEB93E334E0 +:10A8E00071B428FFC1F9B090F36BA18E5FDF4962AC +:10A8F00076EC4012BF37F77F8C5F0F45C5A05F7EB7 +:10A90000C8A4A4BB55F43F14155DC5CEAD13653680 +:10A91000A51FF5E21C1ECABFF664B61F284164825B +:10A92000F9E3210ECC9344DD603E45874789FA95D3 +:10A930001E3A5EA1CCF497040796607CAF21A25F1B +:10A94000F11C85EA5CBEB1273FD0718266F0C796E4 +:10A9500074CE077F2E2B59D1E8DB22D9785D7D5D3F +:10A9600004F2D64B5EB047BF1B94B78F40DE46FD66 +:10A97000FBE44DF03BB99635447D6E4E94855CDE2C +:10A980007626BD8BF226F8BD88FB71A25D7A32D3A4 +:10A99000CFE9C94C2E0E713F05F823AF177FC5953F +:10A9A000ACF5F36E14DF8584E945423A53414FDC40 +:10A9B000687F2A3932F42BB4C606A3C7DC78FFBE01 +:10A9C000F0D9A3DF5ED780F24D54D348307E35876F +:10A9D000AEDA6A0F023F916DA6CB9D2A3EDE10EBE8 +:10A9E0001F9B4CDBEF3591BDB03F41CDBCE24844ED +:10A9F000BE47BCD2FFFC565ACFE5F58941493153D9 +:10AA0000BEB1D0CA1A908FCE57FF07F4452E2F271C +:10AA1000F212D2ADC920373931780EDE2BD0C4F313 +:10AA2000A6F9A23A8DBA3889E248238C4BA455F195 +:10AA300010C6B410D87F6F96BC4D463A9F31C9D32B +:10AA400008408D2B2D34823C4D202D584E261D8DD7 +:10AA5000B0B537857419A1FD4DA5C146807310B9F5 +:10AA6000E640BB92F4F48A2FE03C0F24270780B71E +:10AA7000BF46B1FDEA355656FEA72DB615CABF46EC +:10AA8000B1FDEB601161F7EBDE89C1B893C66B5580 +:10AA900080BFBF1A7C8B001E3921DDCDF3BBFFD5F3 +:10AAA00089796009F543917D7CD55D28D7EC77C421 +:10AAB000BF27D20EEBC69EF5EF6D607989C64D8C2F +:10AAC000FF1BD7B2FABD9CDFBFCEE5E47E2E275137 +:10AAD000241824382EA56422E293D1319BD2219FE1 +:10AAE000D105F16C3F8A74B29136C4F3A6CAAD8128 +:10AAF0000DF865219E0392C27EF245B49A9F0636F8 +:10AB00009ED5DAE2B352BEB255B5854DD7194FE6A0 +:10AB1000F495679BF11CE56A29B02E19FCB0DD1293 +:10AB20008E6BE3E39A483D913C6A38FE693A3D0CEE +:10AB3000E3F747275391B7C34759B4D226E1799732 +:10AB40001BA5D7D3C0F41322AC7E2085EC807C43B8 +:10AB50008D8B24132A5F66BB15E5707D861284EF0A +:10AB6000E66104EF1F934E09E544AC5B9CD313FCF4 +:10AB700049F1F314C06F0E4967015FE6E47A8C1760 +:10AB800089DC9906ED0E488C2FF47CFD7CB2C8332D +:10AB9000A4337920D7B78F7B6E77BEED4261FD631A +:10ABA000D9EF0A68BDD0B900B6FCD63CB6B04CA609 +:10ABB000F2B3E7184161AD786CD5C3418ABF3D95CA +:10ABC000CE1FB869FBA38FC73C6C82EF8B24FC3E81 +:10ABD000FD71F6FDED42D20679A6371203BF0239A8 +:10ABE00099FF3BE5085C51DDF3EADD99807F57B1C1 +:10ABF000B713EFB92CB028B03FD506794E609C6BE7 +:10AC0000141ECA073F02508CAC3E95D6E709F4F0FB +:10AC1000EF3BE1DF948FB2967AD6C2FD18B25D7237 +:10AC2000801F33683BF56B68FDC2C3641CE497FB6F +:10AC3000D26B13453D28E1BDFE9B75DF85DE1BB25F +:10AC4000F49E77FF1F8CDF61C4F31D5215DBEF9973 +:10AC5000C8CB9B7999CBCB794BD9FED490AA8921CB +:10AC6000C8FB9D37298D76E0C7D104EFA91299F171 +:10AC7000E7EB19CE10E4692E48A411F26CC14D0423 +:10AC8000EF0D829CC17EA87729A5F5787029AD21AA +:10AC9000C8E39F6820BEF54355FA95D2C697CFD238 +:10ACA0003E0CEE1C8CD32693C87FB08E92C8BA900F +:10ACB000CF6EE1F55B6B59DECEE2A37A17EC9F4EC7 +:10ACC0005F479150B215CF237BF03C89F156E200EB +:10ACD00078334BC38760BF779CAF10F5EE041278D2 +:10ACE000A58396937C7BB05E600D35C212A7C27CB3 +:10ACF00059605F1519E8584C3D60A89792162C6F63 +:10AD0000236D5896910E2C67922E2CFDC461C2F3D0 +:10AD100057291E94A729566A0706E3BE1DE649F384 +:10AD2000B659309F5A511A302BBDF82FD5E2FE216B +:10AD30000964629E580E64CE51F923E7E7CD5D04A5 +:10AD4000EF742806ED795A670AD3A369294CAF6ED0 +:10AD500095B81E5921DEFB083C7617AD2F281DEE55 +:10AD6000857BE1F43BE68983F3AC981FDC6A5232C1 +:10AD7000C03FB90D2ECD411EBC76CF7F823E3A3EFC +:10AD8000FDEB2920AFD5EB3766409C505DC6EFE167 +:10AD9000C8C18C4A959C5F58CCE012E721C4EF43B0 +:10ADA000383CB7C19E16EC2353F8517F897CDF7C79 +:10ADB00027EA99125225C379F7717C1D21AE1784B9 +:10ADC000FCD4083E9083E654DA6F8ED7E385F375A2 +:10ADD000F3432C8F5C229330F8D3DDF057ED584DC0 +:10ADE000287FCCAF398879FFC83926B67F5D38AF68 +:10ADF0007D11CC5FBDD4422CB89FD4F22790E7B927 +:10AE0000351605EAD50B59DE955459F1FC7FF53618 +:10AE1000CF0690D3B9F7FBBC9077A5F361BEF616C9 +:10AE20002BDBC7B4D2F961DFEFD61A7E6EA4E681C0 +:10AE30000EE04FDACE07FEF42DB4BD4CCB74C2CE7B +:10AE4000E7D982EC9C936D1A3BE7A458EA8FC07B4C +:10AE500032CA4AE20DD269E76EDF21B173CB04E357 +:10AE60009EFEFCA11F3E70CD89FE31F80D83E0D718 +:10AE700020CB37AF312A70EE80C80E1C673EBF5F13 +:10AE8000DA54D388F9F2CFAAE8E2E8FC735A3CEC32 +:10AE9000BEC36126E773AA723B218F652D65F7FA61 +:10AEA0006040C83B5B4929CA7D2E61F99139FC5E3F +:10AEB000813EAEB0AE31B3794958033FE833B09329 +:10AEC0007DF9697DAD4FE80DD02F5DBDC8BB54FA4B +:10AED0001AF3E77809F20F729B67F51A630CC06AE0 +:10AEE0007E23BB9F1024EC9CE9FDCCAE443D2DA9F4 +:10AEF000EDBBD515BC138EF05C383C64831DD1D6F8 +:10AF000042D47186B5C87F97FAFCF9A642FF22F5B4 +:10AF10007ED23ACEEF8D29DC7EFD2E9809F319A75B +:10AF2000307E7FF3F704DF9FF9E0F7149F207F92D4 +:10AF300095C9673F78E977FD4BB91EE765C40F55A2 +:10AF40001A81BE5B5306233CE34BCB8DB0BF34EE7E +:10AF500087E3D2BE457AD2A72FFCF785AFC949BE99 +:10AF60002753D06FF01906E2B79718D317D4D275CC +:10AF70007FB2D082FBB3C26EE601B140AE3B4888DF +:10AF8000CA3ED80FB42B294DC42129904785B3F36D +:10AF90007C1C60F32A2B9135795487A69E5693AC7E +:10AFA000699F51AF68BE0F5A93ADF9EE097A35F536 +:10AFB000ACA6024DFBA12D3E4D7DF8B6524DFB11C6 +:10AFC00021BFA63E6A5795A6FD27744961BA9EF136 +:10AFD000A78CDE20D037E8EBC8C98FD8F1D16D013E +:10AFE0004DFF899D8BCB407F8DDD5BA319879CA195 +:10AFF0007E1BADD7D3FF31BA788DA047BC3512790F +:10B00000DC032864DFB13DAD7BCF4CBF087A7C7E8A +:10B010009529E2EF412FF2D09F813E5E9D9FA88F40 +:10B02000BBBF7E3478C44EE1AB39DA7204E4E19DF3 +:10B03000146DDEABC468C7757D72D288E7636A8021 +:10B04000435D113A7E0203C1BA0F123C37A65F7707 +:10B05000779C6EDC6EC2775AE83AE008BD25594B02 +:10B06000EF28454BEFE86C2DBD63BC5A7AC71568D5 +:10B07000E9EDF465F78ADF84522DDD057E0BE8FFEC +:10B0800000BF5F363ECDA9FABCE164D4B39F6DE347 +:10B090007AB6A71E986DCD8FE801AA524386AC08F8 +:10B0A000DE7AE8053B8B6FBAF5C236AE17B6E9F526 +:10B0B00082EF157451021E8C3BDF5834310DF45C65 +:10B0C0002AD92FEE5304BE40FD1D14729E9EEA86BF +:10B0D0007D496F6710ECC4760BFA937B8E0CC378B6 +:10B0E000E0F85072338615A7591CD46C66F00E4DEB +:10B0F00015FB93FEA1A9B4B4E4F8E19A07B9703343 +:10B10000E38B37401FD2C5BE09713CDCB9D7E911CA +:10B11000A2D3837A7F58E89989C1631857DFA8DDE5 +:10B12000E82FAECF5DC8EC89D0AF13799D2C09A272 +:10B130007F2FEC4C6341C003F7F2F2AC3E2331A801 +:10B14000E3FC4EB43B534910F5F04DA5DE1FAC2295 +:10B15000E057BD91067E558F783F82EFDB18BEBB6E +:10B16000F7813578D5EF035744F05C017816FBC0C2 +:10B170002F447991BF4ECD6371CAF863431AEDB481 +:10B180005FE2320FFA312F38BDAF40FDD40A1637D7 +:10B190004E38E933C2F9ABAC7A0F9EC37BC1E32FC3 +:10B1A00086FAA9D5EC7BFEE9009ECF1AB2867DCF48 +:10B1B0005B57FF0ADCFFAFFC36FBBEEFA38D786F59 +:10B1C0008C1A39D6BFB0A518EAA736B0EF13CF84D2 +:10B1D0001AA13EA289CF2FB5BD120B76F061F66E93 +:10B1E000438F7887C73753393D7AD093C70D53784B +:10B1F0007B11DF4CAD62745ADAE5BF05D94A472F9F +:10B20000BD5F5F420258BF9504B19C4E4258CE20AC +:10B2100061FC7E3BE9C4FA1D10DAD37A39514C50F7 +:10B220007F22359B9DD7A4A131E62F0ABC567CAF67 +:10B23000EFDC6FBE496223FBEAC23F6889F7AF00CB +:10B24000FFC155ECC777459E486579F14829F6C995 +:10B2500083995EFAFD037E3F2DB23F9E8FE73A68E9 +:10B260009387C0DFDD9CCADE3FB99514E079E25BCD +:10B270000BD87DBD5BC11FA6F8097F5F76C2793D03 +:10B280007C43A997B8399247D2E597E520C61F7944 +:10B2900046651408CB2F1F2F7F18E2E81740105384 +:10B2A0000979F6F105B707315863FE4D7FED4EF28F +:10B2B00073402FF07DD2D97E8F01F93357EB3FFDDC +:10B2C0003295F94FA2BC955415C77C89EBCA5B1720 +:10B2D000C4F3DE95AD16C2CEEF905438A7534DEAB5 +:10B2E00091AEE7470791AE42EF5472BEABE4FC74F7 +:10B2F0007E8705E970E12E2904F99DEAEDAF9D06F0 +:10B300007EEBD36FCA198AFA6636E7CF378E546F51 +:10B31000607A9DFB53DF1F69FC625444EEA99F18BD +:10B3200084F710DF5EC4F422B8DD1A7DD8879FE869 +:10B33000E67501475A50423B31507DE812E3737D78 +:10B34000982AC6F751D6A3F54CFE55AA657870F336 +:10B3500032AD566F57026B410E92498B04F50CD2F9 +:10B3600085A5421CEBDC597095D36B807ABAB5BECB +:10B37000BC8C8EEF04FD07EBDF7468BC5AFF997834 +:10B380003EDA647D08F76B65D2E2833C827CB83B91 +:10B39000EFF6E7D42F31EFF6F75405DBE9F36FD47E +:10B3A000D31A0B7270CE646FC23CB33EDFD2233F20 +:10B3B000A3CD63DCDCC2ED478BB01B8164583F1C1E +:10B3C0000FD5D88F495E05CAA9921FF5CC96A480E7 +:10B3D0003DCD0DF98EFA74686FB0761AC15E34F304 +:10B3E0007B49CDFC5E52F33011D776C563BCE8CB08 +:10B3F000467E19CB69FEFC7E768EEBF96C2B9EB3F4 +:10B40000DF9868DE08F9BCC87D50DE8FDF6F1DC392 +:10B41000DF5BD868E3789869C3F824219ACE4BFBA8 +:10B42000D98C5E0FC0F7A844A99C05E74D946150E4 +:10B430009A8D0EF75A0FE62B87A4613CD0797C06D3 +:10B44000ED7FF24599409CFEBCA3CBE6CC01785A37 +:10B4500077B552783E3DCACCF5CBBB8C410BBC4B8B +:10B46000D3717933B41FDB6142D33CF69A01F30CFC +:10B470001F9AC943703EA8C26AF4CB943F3EFC0FAA +:10B480007E5E47F6E6AACFF33C9DCEF206C7FBC828 +:10B4900027CE8A2F9C07701D4FE9FDFE70711AEBB5 +:10B4A000DFFD1E097F5FE92F6EA23957322B7E2602 +:10B4B0008E23EAA6AB4E1248508FA3B07BBCB29F3E +:10B4C000C07D4AD355177E8FA3FE2CEC3BC4390BAD +:10B4D0006488BF8A88E3B08FE215AE5600227ABC3A +:10B4E000DF3059EEEAF62307839D627E28E67B3D36 +:10B4F000B05FA3F53FC7126D5D9FDFFD613AB32BCF +:10B5000026DDFB0F3F4C677C1F8197BDFF20EEA11E +:10B51000B7CBBE68C80B2DE1F92692ECC37B95DF53 +:10B520009DECCA6D56E1E5FB1C7FEDFCBD0A076D85 +:10B530008FEF20E8D6B19ECA9187D2FBC134068F27 +:10B54000682FF4D82221474127CAF5422E471FA76A +:10B550003B71FC450EB64F13D8F43EEAD1C5C76C1B +:10B560006640E2571792D8D1B47ED63EE49D9DB492 +:10B570005C32B36023F817945FDF5C0ACAEDC168E0 +:10B58000F6CE5E51763E7BBF601AEEBB4AC134D424 +:10B59000BF03B51F9B131697A453B86DB121C541C6 +:10B5A000C7B18DFC00CFFBAD4F23089FADFB3DCD58 +:10B5B000CE616AFEDC9C5058923E01CFD386E3E117 +:10B5C000DCE5AF2C8CCE47890FFCAF950746601E9B +:10B5D000ECEFE981626827EEDB92C35DF8EE47315C +:10B5E000F82B59BDF081FD5303F0939E1F0070B0FE +:10B5F000CBFDF14510E0A6EB5912DB3B7DF13F5A44 +:10B600002FB63AF17DCF9F733A8B796F944F5D5986 +:10B610004CAF744952A855EA1F3E71FEB85BBE3864 +:10B620001F8B52E0497FDFAF38DDC0DBB1FB7E7F8F +:10B630004FF7235E3FCEF8F330138561893847DF3B +:10B64000CF7A8FFE8BEB1D281D7E98CEF867896D13 +:10B650006070BD9DC6D6F7EF86EB1601D79881C105 +:10B66000F5F1BF882F1FE97AC799D53F5C949EB743 +:10B67000003DC9B42EBC37BE247E60F0B9D2FF7540 +:10B68000F8E207069F11F4040933F8E610AF29D950 +:10B69000C88151DDBFD1DFBB11F771E650B30D7E1C +:10B6A000AECDCCF6DB6C1512CB1BFD93F76FBAE970 +:10B6B0009848C24ED087072C2CEFE8ED1AA63EA77B +:10B6C00097CAE5E6EFE9BE4100FF92615C2F946AFC +:10B6D000DB0DD2B513EF729033EC3C7873F69056D5 +:10B6E000765E992D392A5DC1F77787A74B9AF3CA01 +:10B6F00062BF7063BE9204FE83CF6A0F1BA97DD820 +:10B7000038B2261BF6477CC9BF39CDCE65533F56AC +:10B71000452701C7A586A38E21A6BEF1B0DCF8425D +:10B720007E7D2FFB2C1F250626A5ABECF8F25DBF16 +:10B73000760C51E58B46C34BC648AF2E03CB17F3AF +:10B74000733A493786F7653686F7CD097ED4FFC24E +:10B750005ED4BDF46305EC10B5FB04F61DBA626C53 +:10B76000680F1A471664ABF7851674DB6DED3B1A4C +:10B77000117BFDAFBDA311F16324124CE86D7C1960 +:10B780007F1774F1D97BA787388FFB9D8670C539E9 +:10B7900013BC7F52300BCA70830FCBDD09858FA598 +:10B7A000E3795C7EAFC17FB4E29C0ADF49551D9A04 +:10B7B0007A4AE074C539159C69359D9AEFE2FCAD73 +:10B7C000C9C5CEDFFAC65BF19E6A46FD079A7E4D7B +:10B7D00006F65ED3A0355D9ADF7D3E7BD0097E7094 +:10B7E000F0AA66DCE6B58C8FB39AC82CF5EF26D9A3 +:10B7F00047E0FCEBD016EB2CF538C3B73934F51124 +:10B80000A1644DBF51BB14CDF7D16DD9DA711D05BF +:10B810009AEFE25C78AC959DEB2924859AEFBB13F7 +:10B82000CA1F03798B2B086BD6D37D8EBC9F7339CF +:10B83000F2E426CC53C21EE7E4BC9EE7C97727F8A2 +:10B84000707C3DFF071F98CCF79758BC2DF8818C72 +:10B85000F766C3F7BEF8625FA2EF4730DE3BFCDD60 +:10B860001349DC9BCE260A7F07AFD7FB387FE07CED +:10B87000FFA1B9F7EF2F703D62D2BD8712E15BF6F1 +:10B880001ECA8745E23D25ED3B76A27D988F9360E9 +:10B8900064E7B9FA7BCFCE74355AF39E5D64BE5827 +:10B8A000FCFDC3C1D79F4FAC6BE0F319FB589FF968 +:10B8B000BAEFBDBC2BF017DFFBF7B7BBF197A29136 +:10B8C000FB777BC403E9F8DDA47B37461DDFC0EFBF +:10B8D000FDC537DDEF097EE9710DC175DCA87FEC90 +:10B8E00023DE65F0BE4C7FE32767F856B078F69FFD +:10B8F000B3BB36B0B129388E9C41C7D96866F71FF3 +:10B90000A906C3BC8B886F883EFEC966E7E516258D +:10B91000FF06FD011BE40EA85DB57D3B0AF751BE95 +:10B920002A39CC80D73BAD5D7FFA8102EFF687FFE5 +:10B93000741FE63D445C136D847DBA81C2D99D7746 +:10B94000E1EF38401E1CECF6D8A923F13ECE77215A +:10B950006E0318F8BD8AEF521852A8FE8833D8F14A +:10B96000DE549C99D5C742DE86B6FB8C5C8E5FA404 +:10B97000E2FB38BE3F12B75FBEA4C6F77709C38F9C +:10B980007E9FE4D38EBFD8C04EE66468F74B3E235B +:10B99000657F1C05F899CCCEC58D79715A92FA9DB8 +:10B9A00094EEFD2491FFE9239F1C392FA3CDD78866 +:10B9B0003CCDCD3798AFE97E774097AFE92FEF3494 +:10B9C0003929705BC675F24EE643ECF7AE1DEC5DAF +:10B9D0004E918712EBF5673039CF4EF6F9619CBC7A +:10B9E0000C5F3994C7A358BEE638CC3306F61B6EFD +:10B9F0008D83A57E4A7C7110B7C279E1B4F89E7C34 +:10BA0000017996F52A393FEEEC5D7F7C95CFFB44BA +:10BA100006C17253A22F00F37E60667F6FE3031BA3 +:10BA20002F6359BE777906D3374FF032C8CB0F78E2 +:10BA30003EF88378A2790F5AB45BC7E739D760F52F +:10BA4000AF57F979CAF72DF510EFB9B3F8FD2E1FEE +:10BA5000C3D3C72F323F7F69CB5933DCA37A38A3D6 +:10BA6000F009800BDAC13A96CA9D6678E7ADCD1D24 +:10BA70005803F258A710DF0BD05FE934CFA2F8FECD +:10BA800098FB311F9B581EE9E328560A781ECE28E2 +:10BA90007F02FA7D7C73A719E8DC5D9FD089F2F8FC +:10BAA00070861FE7FB7892AE7E3BAB137E9EC3C7CA +:10BAB000F90FED682F76536F27F5EF9CAD34F37CCB +:10BAC000A45E6FA4C768F4CAA2FDBF463EBED34AB7 +:10BAD00036426AEAABFB93CC106CD4C40687393487 +:10BAE00079907F4E5F7C9CD181EB6A2EECCA7C7C86 +:10BAF0003CE6351CAD749E15FB595E7C85585FBBDA +:10BB0000767DCF72BAF6F7DE9FDEEFE84F9EA5FD99 +:10BB1000FC5C1B2FC9815FA7C178930FFC3E01CA53 +:10BB20008D523DE6A955E7744FEFA3FC62347425AE +:10BB3000A8E558EC07BD2675E2BE5D1D69417AD7C0 +:10BB4000B5D375C5421915863C34D9AB5DD732F5EE +:10BB5000B94CDAEF6ED266F648105F9822FBC8F453 +:10BB6000FFB5A403C75BD1A6FD5D6F7FFAE3830C2D +:10BB700048CC4F88F0550DC7438DC07B480B9F784C +:10BB8000D748BC27AA18026F027F963BAD41E35805 +:10BB9000D877F22D02B8161305E9BA58674FC53B9E +:10BBA000485FB3CF463EFA5A931E7E9F19E0BCAB66 +:10BBB000E5FAEB12FCF30FAE3FF66530FAAFB09545 +:10BBC0001D45D918DF81FB4F14BE8F40BE047C4455 +:10BBD000F6E1BBE7A2FD47133A9E0ED3351963A6E3 +:10BBE00059C15E6C4E08FC05DA679CEE3C2FC181A2 +:10BBF0004DBB0FF7A7AEECBDF83A9CC3C3C73326C5 +:10BC0000C1049D5B6FA2FFACD96B74409EA066EF30 +:10BC10002BC8AF7DE1ADFB5E3BE9127091CC5EE0DD +:10BC200012F969BDFC5CC860F1F2638ACF04FD4C77 +:10BC300083DBF09DADAED5EC5EB9CB482D6E3C6C90 +:10BC40002206A55829F24E0CF1FAAC90FF9B6A61CE +:10BC5000EFD9FCC95164857BF3894E831FF4DF7AE9 +:10BC6000C71227DC9F16EF8B274A06F6F704C81287 +:10BC700027BC47B2C8C2DFC3FC8FE87016E5D79770 +:10BC8000CDECDD51577400DF49E8721A71FEC279BC +:10BC90009F8E83770D52AFD9F3E0FC5B17C7AF805F +:10BCA0007F6A71D738F6FE27A39B2B8BBFE7E4365C +:10BCB0006F74507BB69EDA1B282F65B0FCCA7A6E73 +:10BCC00077E0CC27DB670839F08D39BE3FB1CACAAF +:10BCD000F8B42ECAF7DD22384F708CFD3DB04F1DF1 +:10BCE000BE38D827D0BF5729FCDCBEDE85BE29531D +:10BCF000E2EF1BFE7BDE9B1479EA3AA74C5CAAF7C5 +:10BD000060C57AEBF8BB377ABA8BEFFB3E37F6CAE1 +:10BD1000175599EC7B5F71D01D7C5D75F00EB8CA2C +:10BD20004FAFA3760CE0AC8377C0AF13075CCA10AB +:10BD3000FD9D1A3FFF12D077827A1C177E7F96AF47 +:10BD4000F3D9A386D2D65EE05D93C9F878A45BF6FA +:10BD5000C33EC9A8307B67B3AF76E2BE775F70B5EC +:10BD60001775DE0970431EB7B7F96A33999DB8C4D9 +:10BD7000F5447B7C6735CA85C3F71CC4FF1FBF38F9 +:10BD8000DCA37EAFF08F5CCEAE4C67765BBCF799E0 +:10BD90002FD74BC057821EF725F8CF839E80777F21 +:10BDA000D97E00E36B4107E06705FD746D1C27E059 +:10BDB0005ECFF79944FCD6DFFBAA75F00EFA75F159 +:10BDC0002FB3F75B391C178F337F11226B291FF4B8 +:10BDD00030E3F7C53B97E3B9A512A31DFD9D8B2169 +:10BDE00009DFF5BB48D8398C8B2D2C4F58FDD43842 +:10BDF000FCFB6E4B02EC3CF6E264762F0CEAF74358 +:10BE0000B95E1BF788F93E230BCD6027973EA4D57A +:10BE1000DF3584EDC3C23E34C479178F33FFB57A62 +:10BE20008B769C9A9D332E007C35BA735389DCEE59 +:10BE3000E8FDFC5D99DCBFCF27F93772AFAB9AF80C +:10BE40009ECF64F94323E8DD09FCDCF4C59D594924 +:10BE5000EABFE3631F2C69F4D8252AF743A84EBA3A +:10BE6000DCE0C0F2954CDF2F619C8F8FB1F59FC84D +:10BE70000CEC6375B63E2277B1BF9750C5EC9E05BA +:10BE80009298F49F9605D6109CDB7D00DE19A3F8EE +:10BE9000B558983D15FE83D1F80D632CFD3EE9FDA4 +:10BEA000A54EBC2FF0DCADA5309EFBB9681FE0A706 +:10BEB000B9D0970BFAB6B9DC8EEF4BEC30B0F70780 +:10BEC000AD16F61E52E8D94987600F7E48DB234540 +:10BED000B045E3E80C935805F2596BF17C4DD3144F +:10BEE00082EFC689F90A3AFD7B00AECCD9762F8065 +:10BEF000D8ECF1E53A54E313EE1FD4719AFC606F6D +:10BF000016BE0BFCC9FEE1588E248C4FC4FD04986C +:10BF100013FC1E81B7CB0DB4AEBA0F3AB24D0A9BDB +:10BF200062F13D3D3CC751BB2E9CB800ECD98F65FA +:10BF30003CE7E37A39A548898DC027FA093BB70069 +:10BF4000E257D80BE2FE9BB81FB1208A04A355E745 +:10BF50007AAA38DFCFDBCFE2B125C49B09FDE65BCF +:10BF600049AC81E26C4171DB04B44BCB4D4EF04FD8 +:10BF70006FF89C0B97B71EFA096248B08F2F5A7062 +:10BF80009FAAEEE9187C7764A5A10BE78F1AC4F588 +:10BF9000AAC88F0F213E381755776038EEE359E075 +:10BFA0005DAB3CD47F56A0EB11B0BB74DDCBF64546 +:10BFB000E17B79DDEFC6384810E476E581248CB367 +:10BFC0005D59BEDC7B73E09D92CE4CD40B54DF41B7 +:10BFD000AA7CF0A007EF80BF6352974AFD1A5ABFB0 +:10BFE000FDC96DAC3EB8B3DA40EBAB9F6CBB03CE82 +:10BFF000DDD48DEC3C0FF58627F7B1EF799DD54662 +:10C000005A7FFCC95FB3EF70B08D32D6334F76DC08 +:10C0100001F75C2E39859FD189EF06D5BD34DCD080 +:10C02000ACA2FBA38398BEBC14C5DA5DF2B077C4A2 +:10C030004976A7E6EF11FC276F27FC24B14ED18F7C +:10C0400024F73E7EEE20A6AF97F1F77EA64693A694 +:10C0500028F62E7A10CE851DDE3F1CF1923888DF3F +:10C060004F7274E2F91D318E9EBFC4BC77F3BFAB33 +:10C0700074859F9F12DFA70C62FA80CEB31EE7C9BA +:10C08000F1E5C239BABA8AF45CA01BA597CCE925C0 +:10C09000B3778A7730F8E8B84EF00B1D5DE3C0EE59 +:10C0A0001CBE968EEF3A0AB8A9FF67473F8DC35F63 +:10C0B000CAF9635923C71785D98870B37D5EA02F4D +:10C0C000D8A3C739DE1E55B5C7F1D23BF15DE91BD8 +:10C0D0005DDF7C3ECE97BD3E155D7CB05F7178EF35 +:10C0E00008A4CBE3DD747F4433CEA5B5BA7E050446 +:10C0F000F7B1EAE2B3B0DF03FC1D7CF10E31F4F3DB +:10C100008C617E26F0BF78C78DF806E17E592DD769 +:10C110000FDDEFAFB5B17B1F64085D1FE0B5A26C0A +:10C120003C5F9F83AFCFA17E67BA5BEE4E7665CE54 +:10C1300056BD332D7EEFC67BF77839797C3C8DFC7C +:10C14000F6361ED0BD2F7A3CF465F39B805387CF23 +:10C150006E3CEBE013F804B9C57E395AF91170361C +:10C160007039EC21BF9E7F723EBE1FB8E29B948E59 +:10C17000708E58D1F2F38A768F01FEEE9DE8D79C3F +:10C18000DDAAFD7B46EDF704215FB1727F399E6326 +:10C190005DF1CB9FFC2248FBDFFDFCF76209C5F790 +:10C1A00045B92511DE83AA7D6A43AC0FF247723090 +:10C1B00016F4E5C510FB3BB27A7DFE5F5C2E843F32 +:10C1C00055C7EDCAA5671F9C09F8F8EFA74C0EB03C +:10C1D0009B2B7759C2168CEF97A19F45EB6759FDB2 +:10C1E00001CC5FAEDCABF58BEE7EE67B890AF253C9 +:10C1F00030CD900C65388DD0B26EA7C91B067C9DE2 +:10C20000347AE9346425E9DA08F0E9FB031CF074B8 +:10C21000C3CA36E362735CCFEFD40299C1FF58D929 +:10C22000FE20FA5F2BDBA75F003F62A5EE9C794DF5 +:10C230001FFED5C941DAFCA9C00F09B9D19F69FC1D +:10C24000F1333F7D89C279F1ADA45C7C2F73E76F38 +:10C250006325FAFD725B561CFBFBE9EB34FA47944D +:10C2600057C01FB0A8ED2AA3ABB257C25C0DD9CFFF +:10C27000CA5A533816E2ECDA1D26BCD754FB931F7A +:10C280003D0D7922F2A605DF6D58FE9323AF7F8521 +:10C29000D697EF31B9CA18D8762931429F950AF35B +:10C2A0004B043DEEFED9117C3F0C7E073F56D06516 +:10C2B000F99E836632BA27FE8ADB0EE27B9E3DE85A +:10C2C000D376F6167CEFF3C77F35035F5F3C209192 +:10C2D000244FCFFE354FFD3616DA09FA74D3AB077B +:10C2E0009DC2335FA2EBF85F96F4ACAD0080000016 +:10C2F0001F8B080000000000000BDD7C0B785455FC +:10C3000096EE3A75EA95A4122A0F4278249E3CC80C +:10C3100043435284048280561282A44DA0084103F4 +:10C32000A2160F21424222B46DA6F5BB290C60640F +:10C33000E89938F1F6B56DEC2E6864E87BD1CE68EB +:10C34000B0331AE8426D1AA601232020225360B7A9 +:10C35000A006131E8A8EF6E5AEB5F639A93A152069 +:10C36000E8FDE6FB9C095FBE9D7DF63E7BAFFDEFE1 +:10C37000B5D76BAF437DBB6C5FAF00D477FCFD05D9 +:10C38000398ACAB2B3402518CFF833817FAE26036D +:10C3900074DC827F0C05A8FBFD4B2FBF1E0750737A +:10C3A000C2E228C747352FAF8A823100678D0DF171 +:10C3B0008E6C80DA17D6C63B6DF8DCE489B773293A +:10C3C0009ED7FCEAD178251260E9BB8FC643368D33 +:10C3D000EA1C6E28A4D2331C12001EDA38671A3DFC +:10C3E0005F02EE75FCDE0BB2CB8BE5174698FE2F95 +:10C3F000F8FC2AFDDC1928E72A124001CEBBD9023D +:10C4000030044B330E8574790EC9DE17251AF711E7 +:10C4100080F1008F5A41FD59C9F52FA88EEBCD55FB +:10C420000CBC1EFCB1423CAD57FCD46F79AA5BCE6C +:10C4300001F834D139CC9ECD3878FC620CE92A8ED3 +:10C440002BBF5B3ACC6FE3BA621CAFBE970250427F +:10C45000CFA97FB7C91996A37B8FF1D3E6FFB13A75 +:10C460003FD21D2EE562190F35ED8C0774131D2B7D +:10C4700024F1CE8A8E87CB15DC8716759DF5DB2CD3 +:10C480003E0BD6576C79FA02D187F5D354BF7C4462 +:10C490009EEEC5F75778674D871C9EDF378CFA797B +:10C4A00077574954EFB4804FA383C6C5DFAF6268A6 +:10C4B0009DA605E62103DB912EA3148CE72EC9FB74 +:10C4C0006272803F963C8BFD3303FD03FC620E3CA1 +:10C4D000E7F53EC974833C7F881BF15A4AEB9A38D2 +:10C4E000701F1B4F1679DF0E1AAF4A898CFBF83686 +:10C4F000FC63024CB82A63B9113769F8C0F7B4126B +:10C5000029E47DAC3579B73E8FF4D6BE6F717810D3 +:10C51000DFDA974C2EC2E5B3ED6F1D9D978F65BB9B +:10C5200029AE9C6771DAA4F10207DA877AFC6DCC38 +:10C530001378137E35AF148032463C7F22869E3FAF +:10C54000C5787F667300F1797DA7E98C3F08AF124B +:10C550007C2EF8C133D29040A56F24F1F30A1B382A +:10C560007C38EF8A23B243219CA08FF93AF4FDFE78 +:10C57000FD6897D5FDD0B703F4995D63063F9F1A18 +:10C58000BEA178FE0FC2332280E717903D64125699 +:10C590003FFDDFCB6F71670FC4F74A93D3FBB6093A +:10C5A000E0F3266CB3049E27280AEFA7D289130D67 +:10C5B000C3B62EB504380241786A386A7CBAECFFFB +:10C5C000D4F13CFDFCABF1A9CABF013E0D5DB71E25 +:10C5D000CFD0F66202756860FF4D4F822712F7BF19 +:10C5E0006FA7ECDD8CA4F562FB3AC4BF777BB2D7B2 +:10C5F00083F8AC0D83075D4847AFBD2F2A06CBB546 +:10C60000D1A2DE37D4BC8EE487F6BC2F0CAADB7136 +:10C610009F7A5D7D51D1B6C0FAF3FF20472958F7C4 +:10C620007B617ABBED5A7CD8CC74F841B497CAB61A +:10C63000A4469CFF626B6A1EC20817AD90D41847CF +:10C64000F5D1791E5EC56AC6B3373C2A87E70F4F1E +:10C65000F2D2BEFE155C4727D15E7A9CC6E188EB1C +:10C6600022B164A8D9D71C0528B216752D2FA77E34 +:10C670008B37E8F15862DB62A6F62FE0092E973C73 +:10C680006B0AF007FE2E830DBC1F351B439E77DD22 +:10C69000CDFCB42C849FDC44C3F081FCB4573B9F99 +:10C6A00063612C9F4FC0D9506EAD54E55AA99CFDD3 +:10C6B0008F40B8EF95C14263C8D9EF4CC2757F81F6 +:10C6C0007599F6CC3394F974B9FB9C195203FCADFF +:10C6D000F15D0FF15DC6F5CF7BCF8E0FC73F8E5D4D +:10C6E0006A5FFB20E79758F6BCF67EFA1B54FFFD05 +:10C6F000B1A40F6060FF925D5F3F4072AC77978599 +:10C70000E9E9DDF5A7A4C7A9FEBAC541F4F63E697B +:10C710007112BD9E5D91DED1D49E88FB8F7CD0BC12 +:10C72000F34A8E9FE5F21ADEA7CB8A99CB8B5DDFA9 +:10C730009C92681FBB2C0A905CDC85870BDFAF7F67 +:10C740003DCC0BF4FECE2BE3DD41FCF1FFBB9E158F +:10C750006670333F4642F52BC4BFD1E0A4F5D4BF89 +:10C7600031F137AB71FEBA8EDDE645D85EF287BF98 +:10C77000E5901CEA7D65B799E4D4E726FFAF004554 +:10C78000D655A5AED584787F8EBA174600FC32F90F +:10C79000659727FB5AB8081C7A11075A17E25243CB +:10C7A000F2F37A78C4279B99DF7F78785C7880E60B +:10C7B000AFED9A007272302E92533C8FF45A255E80 +:10C7C000BF78BEEB4A0ED8483FAC66BD3FD8BA0B27 +:10C7D000927FA87CF07DD72DF96E66DD553FD8FDA0 +:10C7E00016FC7F82F4D3D081E760209FFFFE275C98 +:10C7F0007F39D2C1F4DEE4F9FFF17FB77D7F05F721 +:10C800003D6AF07D6FFBC1AE7BB07DDFA7EE7BA400 +:10C81000DD42F26CE7DF922068FD83ADFB95FFA25D +:10C82000EBEEB78764973505E9DB00BE6E7221D663 +:10C83000AA76C9DA3803DBF52DA394CDB2F035D84A +:10C84000EFE0BF71C80F93257E7F2D18A6132E72BF +:10C85000DC32B637E4B8F56C3FA0BA677A5AE22604 +:10C860006F5D7F0D3FCBA8187C16ECD7BC1AE7C7CD +:10C870007ECD430DF666859F9FA6E7161A278ACAC6 +:10C880001F7D22C6DD5F4DF69FD166D6F921B61019 +:10C890007F223CCDACF33BC2E04DBB11F721CC6114 +:10C8A00004AF44A66AD0FBD87F67B29DD7110E5E55 +:10C8B0008FDDF6BD7061BFD0A8FA63E1297A5CFA1A +:10C8C0007113CD83E2648C5BDF4DEB3602FA856237 +:10C8D0001DEC4F82EA471AF99581B8697E6310BE54 +:10C8E000EC5F068DC3EBD570EFC753C5FBBBE21AF7 +:10C8F000BA3F83E1EC279C0B06E21C2827DBD95EBC +:10C900000CC3FE0856DB4E789EEC5D5385D9148728 +:10C91000EBAC70490E82A102FA8ECCC63A54CB8E93 +:10C920001779DDAEEEC5583F90DF9640F18939E8C2 +:10C93000B8411E973E854A7B4231D167921CDD4E3D +:10C94000A40FE69A1C2F6211DB05CF2BB9F4BE634E +:10C95000B711DF9F73CFF03C7AFF20741747909C8C +:10C960009F2F713F48C834D2FE5582E07BFCA9DA84 +:10C970008B38CF56F7F3B694185E5735B8E68C432C +:10C98000026734BB1A5CB8BE99497D69D141F18810 +:10C99000DC94645EE71CA3CBF44836D3B70662068A +:10C9A0009EFB3934680CD1ED3235304E53ED1F23E8 +:10C9B000EE92F356F96AC48DFC5B237CACED8F1CC0 +:10C9C000C035D7DC777215AEC77E50766C56080737 +:10C9D000607B1DBEC5F7701D15544F0D8C13DBF821 +:10C9E000967B6A2CC03C958F61F1A6D258C21F0776 +:10C9F00024D3106A7797C6E607D57F7C5ADFFE847A +:10CA0000344D575F93ACAF6F289A16FCFEF5D653A2 +:10CA1000919F6C726387CA6725A7F71A7E94465F59 +:10CA2000DB6A984B78439C53994503C6E5F3FAE6D5 +:10CA3000A588B8CD409C042E736568A0F31C5B0CE0 +:10CA40000B5C41E32F4E117194C5F43EC52588F966 +:10CA500026129B3815F23FAE37DEFB3234D27855C2 +:10CA60005D10437CA5B5AF54E97C7F88BB94E9C4D5 +:10CA700063407AE1C0DC8C4D74DEAFB7FE03731700 +:10CA800024A660FF62D7BB4692DB158B679A481FCE +:10CA90001D9D75DA40F1AFDC1441F7BCAB4AE2AC46 +:10CAA00020FA5BD4751FFA99F04F43C75DADB69F6E +:10CAB00030400DB59F887227CED5BD6FE5F6961430 +:10CAC00085CBA391629C5C1424329EA758755EC8E6 +:10CAD00046BCC704F06E1904EF7E7E632108F04067 +:10CAE000BED8D779579D899541F3FF5CC5EBC85AED +:10CAF000A16F43C77B4B9D47C37B60BB787FF51419 +:10CB00000BCBE9A315E025BD1E5B7D17CB29F4B740 +:10CB100019FFA3D3252FFB9DE0B491FFBC543DDF4B +:10CB20004741C4632ADF93393EF48EC99D48EB5DCB +:10CB30005ABD94E315B051F8D356FC773505DD5B4B +:10CB40009F51E75F5742509DE6257F3A8A4AFDF3A1 +:10CB5000507FF9E5145B209E95C174321D178FC874 +:10CB60000ECB0DCE893D4106E3B8805F9C5B64E04F +:10CB700078E83B53AE54D23A5796A51A484F1D9ABF +:10CB80007E2966617600DFC0796F76A78D0BD4DBD6 +:10CB9000CA2CD55EA1B7D85F3FA2FAEB875C876D40 +:10CBA00045D901FC0FB82EC5707C563B1F70E3F3CE +:10CBB000A1F5BBBEFCD2E415CA3AECBABCDCE27DFE +:10CBC00012495DEE707CB89CE447B9C58E3DA03833 +:10CBD0007F4122D95FA5F2E4171EC5F51DDA6EA1CB +:10CBE000F0137CF68BC3A3147CEEC87F6C1A9D9364 +:10CBF000B1E0584B71D92592E38FC4A25020B1BE49 +:10CC0000D0E4DFD28D0B0ED23CB3B74B12D9C33D6B +:10CC1000EA7997B74BCC1FB1CF49DEBBA4001F7D8B +:10CC2000B649F0CB92ED828F4ACAFBE6D3F3B6ED5C +:10CC30001625988F96A97A61D976C12FCB2B5E39AC +:10CC40009846FA26FF198EB77C45E70AE7A9295BC3 +:10CC500034DE87CF6797BF6B24BB103CCEEEECA0D1 +:10CC6000F791EFFE6122CDFB92C9F1A412186FF586 +:10CC700094A5FCFCE84BC8170AC5C13DD362892EB8 +:10CC8000E2EF1CE2B3D63DC393E99CB9C7FB9269BE +:10CC9000DFC745D3F8CBB785C4CDD478EB12FCB54C +:10CCA000C5107DFAF69A2D2171A390B84F28FF9AEE +:10CCB00053F5FCAB8D7FBD7DD7F8B5DFDE52F7A510 +:10CCC000B350C4A973639CEE60B95C902AF6472BFD +:10CCD0003BBBBE3CB19CF474BEC5319AD087E8A979 +:10CCE000769C6A6E4D513EA9BF62EBD8B7A97E5FB4 +:10CCF00003D611A75B524DFCDEFDF6D3A5D1587FBC +:10CD00003041DA43E50225795A0C9679A942DE2DA5 +:10CD1000CA2CDA837040B96396D9CDF1B90D1139B7 +:10CD2000740E711EE23394831EC335F476111AF922 +:10CD3000C6203C4AAC61600CC2AFD41EADABDF95DF +:10CD4000305CD7BF4C49D6B5DF9D99A56B2F778C4A +:10CD5000D5B537A40ABBF560FE9579AB709D07BBCE +:10CD6000CC7682F020E11217C005E97D96E83D38C7 +:10CD7000F1D8A887703D93528DFCDE248AA9917E5C +:10CD8000338AF8E1C3FD7C07CCEF6DB324EF93B891 +:10CD9000CF0F972F61BE2B954FCE273BA2CD2BF8FF +:10CDA000AEA6E031E6E73640BB0AFB57FD426279AA +:10CDB000B974B289EDC94A700DF14903F968F59467 +:10CDC000B3E53CCE44D94E782ED9A86FAF2C9FC680 +:10CDD0007C5C15222F2B55391A2A5F43F9F0770511 +:10CDE0005746901CA84ED5DF0FFC4E1272DD8372A1 +:10CDF0009DECBAEBC9A17E391AC27F0DA942EE693A +:10CE000065A99C3D84E450AE59DF4F2BDF47FFCE30 +:10CE1000881BF0419395CB0F9BEC5CFE7B530297F4 +:10CE2000A79B142E3F6ACAE4B22155C8E5D846DC58 +:10CE3000E7D820F95CEE32DFE81C85CACF837E0399 +:10CE40009F9F8377AC8D4AB6A97E09BEF7446A34AA +:10CE5000EFF7B9C28F6C5276808F3BFD676C147709 +:10CE60009F0B5E13E9E5FBC067227BF07EF073FD4C +:10CE7000413CDA542E0085CB45E0E478EC43E007F2 +:10CE800049267B19385E68DEF2E6331E9C0FB7CE6A +:10CE9000C9F6029A04C1E7A44BC5CD96EA5C9F5A35 +:10CEA00040F8769F9C4D72F60E13905D4A9C48FAAE +:10CEB0002656F5A30E144C085B780DFD7F2065E126 +:10CEC000B3F47E001FB799FAE1FE56ABFE16C733E6 +:10CED0004CD1999BD72707FAFD52C5372AC5F97C53 +:10CEE0002A96E634C1FFB9310EB667347A518348C9 +:10CEF00095A8C73A52851DA8BD9F6B769BE91E6019 +:10CF000089A3C14CFE4BF1C6B161FE6BECFB8114F1 +:10CF1000F7B6D4A17AFA841C11FC72BDFDD3F6FDDC +:10CF2000BBF28DC61F13529C3B0817A301DC848300 +:10CF300031A63A8170017B15EF7F57AA7443FB2C11 +:10CF4000A7F0A30DE3484F961B1CA3713F723A1D37 +:10CF500061242F0EA97E584EF999FD69F9D44FB678 +:10CF60004BD8DE367D4218E9FF369B27897039277A +:10CF700039C27E4A72E745D9CE7E1308FDB8B43C6B +:10CF80003E85F661E69402961367CB93F3483E7FA5 +:10CF9000ADE2FB0975A573E912F787E7CA9E4AA2BD +:10CFA000710E140CCBA379669659F8DC9E3D92CA9B +:10CFB000FEDFD1FCA5735641406EDD4B7F63BFB3EE +:10CFC0005B641EE7ECF4648E4BDF4B720BE545D5DA +:10CFD0004699E59166F71D2807D6E3ABA71CB37108 +:10CFE000FF3213907D78CF7CBD1C9AEDD2D763378A +:10CFF0000AFDFA7DEDBB4F43E451A87DF7894DC48E +:10D00000172AD12F7523DE25D3934D1F937FD22866 +:10D01000315F6872A9B25CF8AB95D3178CB3E2BAF2 +:10D02000A3BC1324BA6F2A29574AC96FAD982E8D15 +:10D030000FB6172BA63FC2F19E8A8D8F98E95E3DF1 +:10D040002AC5F50DF1A7E9C51285EEA3DB703E6296 +:10D05000FE5CEFB113B4BE99152BF70C27F9DF81F5 +:10D060000781F6D99B1149FB7C68CBA538F63BFAC2 +:10D07000CF41AB99ECABE22D1746D0390895034070 +:10D08000CA97FC4C7025DCD02E54FB0D26D73CC52E +:10D090009049FE708F043E09FD909EA2F862A2B7EF +:10D0A00027D16C14657AB1D05393DFB211AE85C02D +:10D0B0007AAA6778A155B44FE3FBC4197EDB69DA1D +:10D0C000AF297DA0D3AF33FC060FF1C99D5F597521 +:10D0D0007AB6D66FE0FBC722D0EBEF77C2A2720818 +:10D0E000B712AB5E8F97DAF57A7C4644D466EA775E +:10D0F00057825E9FF7EC9BCF71893265ACEEF94C9D +:10D100006B9297E8BC3B73A26E9C5920EE9F6762BE +:10D11000793B96158EA201ED740F3DB3B04C375E8E +:10D12000A71932292ED327853B36235FCEB2BAF416 +:10D13000EB03984A785E0913F78BB5343E8E53DBC8 +:10D14000F825F3DDA4C66FD9BF18EB6BD7BD376EDA +:10D150006FA76E1E47B7BD84DCEFBCE38EB7A85C3B +:10D16000136DF5C8385EBEDF5582CB84F1E71ADE59 +:10D17000A2B2D12AE6792C1C711942F38AFBCCC7E2 +:10D1800064584B71D22B06770DE997F5066FFB02B9 +:10D19000A4F788641F4AA56270CF4E437951D8D74F +:10D1A0005A328468FCAAFD2D2A9BB7C91ECB10DA1F +:10D1B000F7F28803147F6D97D81FA8B519D8BFFC64 +:10D1C0002CA63D6755909CFEEC27E23E17129C0969 +:10D1D0000BE2289E97C6711F5749A453469CEA5EEE +:10D1E000CBE0B85E7646D1A234E43B3972AA55E86A +:10D1F0005F635FBFFD9B42EDCE3712299E5522E44F +:10D200000EDC6562F9156E50E2C57DA5D043E6BB24 +:10D210004C9B48FE9D4E13F237FCCFA0503E477802 +:10D22000AC5B1E43EFE186925FD2AF070AC149FAB9 +:10D23000FBF13435EF84027ED86FD6D023DB295E34 +:10D24000703A2D929F8F2F74EC36511CCC6EB49394 +:10D250009D1775DC651F837476C4FDC543EBE83804 +:10D26000DE3D85CEEFE93485FB0F2B77AE2AA2F9A0 +:10D270005A4C40F2BDC33E3582FA83D721EE652970 +:10D280002E41F264BE728CEC33D88BFD681546E7F4 +:10D29000729A7FFDAD27159A3FEA3830AE00FE0442 +:10D2A0005724E9217C8D0037FA13EE8F1C787E3FDE +:10D2B000DA501046F6589BD31146F93D6DAD88D72C +:10D2C000ED8C8F87E4F93F48426E80A7E2D0546C22 +:10D2D000DF6600ADDD0788F77AB3DA8E3F619964C7 +:10D2E0006FAAED9E8ACAA9368E8368ED1E28445C1B +:10D2F00065AD7D06B7F78FAF8EA78DFFC2968A43C7 +:10D300002D36C2C7AEE26C1F4AEB816FAF4A8487ED +:10D31000967F132E3BB2683F630D8EE154CE8E7123 +:10D320006F21BEB01B9474B287628738874D9158C5 +:10D33000BF6F7D8EE4CE5413CBF3FACC0D7C4FD867 +:10D3400061767CB2258EF207F0FCE1F30EA3332266 +:10D350000FE7ADB77FC9E74AB30BDA0CFD743A01AA +:10D36000E76E0BD0EDA473161BC0C59966A5F3112B +:10D37000C0C98AF5856AFD58DA7D956B687F165BB2 +:10D38000795F57A967767D0CB4CAC87797326FBFAB +:10D3900087F4F2A50DA84C708E0E6A24BD9D102E48 +:10D3A000F2A1E25C9914473BD82DECC876DC5F27EC +:10D3B0002DC8837C323E30DEA5C9676D63689C4210 +:10D3C00061352DF29B41213961049F05E54947E113 +:10D3D000C2E6D438E2432586703C4EE3A05F38397C +:10D3E000C3F96F691CEFD5E29A3FFD4E71CD7A55B6 +:10D3F0003ED517AECEE6FC90A912EBF749E982CFF5 +:10D40000EB1B2F33AE60743B683F6B1B2FB11CD3FB +:10D41000EA3DABC5F96F35C183B3B0ACFDBFF28354 +:10D42000143F43B9D74272B016DE34AF0CB2D3A06A +:10D43000FD42BFDCCB350C6EC72D7497F37CB32453 +:10D44000FB1C8AF5A56D6DAF34A27E9B15669F23EC +:10D4500061FDC2E88D9546B4C76625DAE718B06E5F +:10D460007BF16B511F6EFF9F0607CA95F498D9DCBC +:10D470003FD9FE1ED5478F56EB91627F2FA6D96606 +:10D480007BD89EB4F1BDC1C5E9611CDFBA1E3DB3B6 +:10D490001BDFD0F91303DA6549C8C36A2167CE9749 +:10D4A0000D67790569CEB106928795A3F2F85E62A1 +:10D4B000B4905FF1887D21FEFE11CFA515F1AA4B36 +:10D4C000EF7E208ACE45C7D317A4289A6F17CF576F +:10D4D0004BD951F8BC24CB1D3E9AE29192FF149D8A +:10D4E00097BA8AC3E9E437BE9AAE9E3B7B5F1AEDDA +:10D4F000CB5C70B3BF31578D33189039C98EAAB247 +:10D50000A599A87F5575887D063EF6472ACB43F33B +:10D510008182E21432E533743F60463A4C2A0E753C +:10D5200031C9A3E93DA42B51D0857462DD14D71D08 +:10D530002FECF4ED8A44E738D3CAF7C0E1B71ECF29 +:10D54000715F63BFDB9B501FE2117AA5A993CBD615 +:10D55000741072D6E8373B709C15AA9C2C956B59B9 +:10D56000CE5FEC4C8660BB6C828AE7904E1107451B +:10D570005C1D846B5C2AF80CB8AF71BFDFB7BD5976 +:10D58000A27E42DE6BFB786704B487C504F0C67DDB +:10D5900070D03E68B8239EE3C83E7CFBDBFD9369F8 +:10D5A0001F5F25BA504F75848B73DEB723CC4B7643 +:10D5B00040289D15A3853D1E4AAF5B7D3E189D6E9C +:10D5C000A2B360703ADDA47C0AAE4FAF765E359CA4 +:10D5D000B4F30AAA9C9A5B9DBC79BD14A857962700 +:10D5E000B39FA7D139907FB628D7E29FC1F8669242 +:10D5F000C69FAADCD070D4E8D3E44007DD0BEAE88C +:10D600008BDEA4A72F9ACF5354E3BFF27B72A49171 +:10D610009F5765266CA2B86354F719BA6C832746E6 +:10D62000A7F0F851EDE8116553FF2EEE3F603D2164 +:10D63000EBD0E461E87A34F938705DAA9C54E5A631 +:10D64000262FA7A000603947B258223BD8ADB3EFD0 +:10D650008AE0619DFD57627D2424BEF577BAFE778E +:10D6600025ACD6B597294FEBDAEFCE7C4657AF7095 +:10D67000FC42D77F66E1265DFB2CEB365D7DB2BFB9 +:10D680009BEDCA834DD3D90FBEE35C1FDB973ED51C +:10D690005F7E53F597DF267F19CFE71EF297B1DC47 +:10D6A000DBE4E0E7FFD654C8E5FE262797DD4D2EE4 +:10D6B0002E43CFF58C57EF35927D5AD8DDCAF6ED63 +:10D6C000A3A9EE7D2437661ABCCD91B81F134EB6C0 +:10D6D000CB9C1FE976E8F4EDDADD13DF213B2A76F7 +:10D6E000BF0C61CAF5E56FD457323883F83DAADC28 +:10D6F0000F94171D4571141C778611D658707F67DB +:10D70000D98CBE61B85F07470BBB90C435DD73563B +:10D710005B81EF47ABAB254733F0730FDD1F62E949 +:10D7200073E731292E6BBC7AAF883F162378683CAB +:10D73000D929C31DA4B9E3628DA4D7ABA811E99C74 +:10D740008373DF82EFCDB3B5731C68EEDE27EB1673 +:10D75000E07358E32960FB48D3DB9E1386ABB7DD4B +:10D76000BCDE3E385A9C9FB59288177AA28D1C87E2 +:10D770000BD5A75BD4F5CD68F6C851E4B7BC0B7CDC +:10D780006F3953D5AB88478B2526700E35FE9F65C4 +:10D7900037FA32A248EF3C5342EFD51E51188F5052 +:10D7A0003B41F36B34BE4779DF4CFD2F1E07B6DBE0 +:10D7B00026F478FD6DCA403F6330FF47A3BFABA995 +:10D7C0009AF96657939B4B5F538DCA8F0D5C7FBB55 +:10D7D000A991EB7B9A3C5CEE6D6A51F9B195DBF750 +:10D7E000373DC7F5834D5E952FB7F1F349AAFCB9D4 +:10D7F0003C5A954BD622BE6F01A32803FCA078E0CB +:10D8000006FC509B20E473285F5C8F0FD04150E8EA +:10D810009E641EEA439263F781670CE597542F6D6F +:10D820003571FEE9F7E4872ADBB3268A3F84CAB75D +:10D830007B4061BE1BA8EFDD8E9BD1F79A7C93D114 +:10D840002F233D65911F7150DCE0BBDB17EE06A274 +:10D8500063F0F9C4BE9812D0B78DA1B8E3D1AD3E44 +:10D8600024E17C8173AFF31AF7BBA17EE41B89A08E +:10D87000EAADEF461F7ADC26DAF7C1E88BCF7016E7 +:10D88000A61704F459389F792C47D838DFD96CF1A2 +:10D890007A9F247FEF8D3091EF607326CD0A8AD76F +:10D8A00014A58BFB967F8A7516A5B37DD0B3F5972B +:10D8B000745E3A2238BE12EA2F5DEE2E19166C2FD6 +:10D8C00085CAD37AFB253E7703F4BC64603D5F6F65 +:10D8D0000037E533E559C02A21ADC7D28B5D62DE42 +:10D8E000C99CBF71D16EBCE17D687DE3051EFFBAA6 +:10D8F000ED06913755BFB3C0BE30282ED09A2EEC1E +:10D900000772043FB606F0BB597E9ED257AD930F07 +:10D910003F38FDE9FCAD3E2E856A87F09DE92EE398 +:10D920007D98471ED1778AFF3BDD5446A5B8D7A521 +:10D93000F3FD9DDF46EDE75FFB268DECE8F3774CCA +:10D94000B417C1407978B3F24F937B9A1C5C675649 +:10D95000BF7FE98FDBC48DA5B88DB61FCFA5EBF3D4 +:10D960000F42CF59EF58DC30A4B77787C8CBEB8D87 +:10D970000CF74AB8E5CEAE3F1DA73C28F0E9F5B755 +:10D98000D36AE37CD771F31DACC701F53899AEB803 +:10D99000D29EE0714B8DC20F02A323F3FEA073D37E +:10D9A000ACE6576CC392BE4B1A32DF6F5482CF8500 +:10D9B0004A6FD1DCA940FA6F865DF517AC10477647 +:10D9C000337C7B297B0EEADB19641F203F6F8F7548 +:10D9D000FE0BE1EC796A7234C79129667A4B40EE0E +:10D9E00094CAE5090BE87CC419F95C6AF2A4CAF68A +:10D9F00017B36CA0B8B583F735141700FF9E367CBB +:10DA0000CFD929D9D7C3C0F3EAECDC7D9CECF7C1B0 +:10DA1000ECD0C1E450A89CD0F00DC5737BACEB1DDD +:10DA20003AEF9A1C095DAF160FAE033FF3E3FA51CC +:10DA30009B5DB4AE472545DC2343AB7324EEEB8AF4 +:10DA4000CE4780DECF93457E6B5F99F07B42CFF16E +:10DA500047EA3ED4AA72212F16AC09B49F6E6039F2 +:10DA6000D95B96C5FEC67FA4C7A8796A7DE99541B2 +:10DA7000F9939AFDD2A37E3732BB33CC43F1656D67 +:10DA8000FCCFD3A385FF66BDAC93772B1ABFD6C955 +:10DA9000A915D922EE97D7AC8CA3FCB055EABDDD11 +:10DAA0009524D705DAF765EDCFBCB65FA1F936FE50 +:10DAB000E404EDF35E9B90BFFB873236BD923EDF00 +:10DAC00067B6F582AAE737E9CEC5E18A63ECCFCE27 +:10DAD000EE88F010FE1A5D9A1FACC9E5BA5D9F9CF6 +:10DAE00022FDDC235D38F538E1B7C3C276582DD16D +:10DAF0001DCBFEB33903F7E995BD06C6B7AECCB270 +:10DB000099FC19302A632A2303B8F47E72ED3C2471 +:10DB10008D3E6D3E8DAE1E49C423B47EB11942FFC9 +:10DB2000B8D245FEE06153F7E7B42FE75FBB4DA2E3 +:10DB30000062FFF3E8EE9C685B605FFEB3ECA179E6 +:10DB400020ECE2E386D58F9A11AF9EF63613C78795 +:10DB5000BFA71DA4D1DB1C095E1A0F9CA0D8E33916 +:10DB60003427F20D7191C678F2CF445DB2EDF99A87 +:10DB7000E4D514B5646711DB27AB64AF931A389F03 +:10DB8000CF0AAD5CAE971C0A95774A2EA34842F5A2 +:10DB9000325ED3A061143DBFC3EA48301AE8BE50DC +:10DBA000C407E744B7CCE06D8C8775746F61347B34 +:10DBB0004CF124FF2A87A8F99602272DFFB1067F92 +:10DBC00027232EC668508CD8BF06ED7313E25BB5D1 +:10DBD00074EECFB2A9BF7D32E3A8E54FD27B84E3D8 +:10DBE0003DFB1B2AC8AEB977F73F1D74E2F34F62C5 +:10DBF0005AC7133D9F766FCE7909FB2C3BDCC5DFFE +:10DC000031D5FABAA711BC2BA08FF58E86FF7CE820 +:10DC1000E6F201E8E3D20D766E5F080E2E17838BD5 +:10DC2000CB25D0C0E5FB153FAFDB447271668BE9B5 +:10DC3000320470581EBD663CCD632F7E6E34CB1B04 +:10DC4000F59E49BB0F09BDAF98156DE37B0DEDDE69 +:10DC50004231B8976688FB29718F792AD2DBCCF7DD +:10DC600018CEFB09EFDE6833D07792BD43853CF1D7 +:10DC70009C078EB3F69AD4FE1714AEE797E489FC9E +:10DC8000D42B0ADB6193D4FB444DDEE6DF26F28E13 +:10DC9000E1AAE83FA54F9F77964FC1497AFF1B85C0 +:10DCA000EF21EEFCCA784379FC4586907BF9B1867A +:10DCB00086E0F8457342BC88FFA9758B62E778C699 +:10DCC000AFD473D81B65603EC19F2AEB78A253EC9A +:10DCD000EBA4AE3FABFC888E657CE03BBF4946DFE2 +:10DCE0006E7ABE4295F7288D595F4D26FE247EEC54 +:10DCF000D4CB7F48B88DF3006E5749D0FC5509C787 +:10DD00009A1F43FCDC2D33DF421F974EB0B35E2FCA +:10DD100006079753C1C525F23797D3A195CB1F416D +:10DD20003B97E5D0CD25DCEA70D045B4C1EA93C578 +:10DD3000F97DC2CEDF3F962D35503C3AFF5E911FF4 +:10DD40003A182E3E15C7C171C1833CFE6670710B37 +:10DD5000FA42711995C9E748C345C3230CBC09842D +:10DD6000E314F0CB54DE09C2CE29C2E3C8714E7071 +:10DD700072BD74503C7CCD746F5EE8771B399E1188 +:10DD80008A4789E0935079B64F5DFF43446B414029 +:10DD9000FEF464285CD7E4109E37BE070E954FDA78 +:10DDA000F3FC88E24B0A8AF20F333E9D4DF1F0FC02 +:10DDB00071C5AB28C5E9AFFF7C41D42715BF9A8256 +:10DDC000F5B31997381E9E9F5B3CCEE400582D5D3D +:10DDD0009E3D15DB9F322316ECEF25AFA678A2E51A +:10DDE0007160796FB588E772AAF007B19F272C2F71 +:10DDF000409FC522ECB7ECF9CA2A09717E3AC97D69 +:10DE00009ACEB3361E280E96AF2355BBA527C3AEB8 +:10DE1000E605278F23BAFF9AE4EA213DD81B29EEB5 +:10DE20003B7B28F76DE8F5CBB84CE7A7D43FF479F6 +:10DE3000EF5FCDFC7DFADF32DC7D347F7DC4B7E956 +:10DE4000A47F3F1F7B789D3F39C01F1282341FE99A +:10DE50006D76AAFA42CB9B27FB88ECDB87CC9CCC67 +:10DE600092EF723793889930BF8FE51B8EFB0DCDF3 +:10DE70005B6FF6278DC5F79E9D7DCA2CF67994D8E9 +:10DE800067552EECDCB5EFF191A2EA82203EAEDFC1 +:10DE9000F5F5971F20AEF5176D0EEADE1B25D63B74 +:10DEA000A9EB17AB480EA2E3A83BB71ADFDFDE6988 +:10DEB000E1EF872675653D44FDA61C3E994AEBBA05 +:10DEC000F3A4BF99C249BD3B8F8D147468F74157C5 +:10DED000A4EFA33FCFAA72FAAC55C8652DDF63E566 +:10DEE0004E89EF4756AAF95F2B29AF17DFAADB6BE4 +:10DEF000E27B7D2D6FB3465DE779F55EA166E32297 +:10DF000091EFEB1576AD82FFE81C4E386E0C89BFA1 +:10DF10008AEF65EBDA43E2AF1B4BAEF9FD75685E45 +:10DF2000C8984C352F241112793D6ADEE4F5D6AF3E +:10DF3000E5812C01677E26FBAB2E99F8B0C028E264 +:10DF400085A5F2130E3BAD33313B4FE4A58A3CDE91 +:10DF5000A561627D3635FF77E50B32D8181F33E7B0 +:10DF6000CB6C421E2924BB77DBAF99DF97AA6BD11C +:10DF7000CECDC32D12DFEFC1C658E6B5DCAD1627F6 +:10DF8000AD2F77EB3027E1946B16F6EFA6AD961622 +:10DF9000AA37AF0DF7903CFC5D74DF08FA5EBA3922 +:10DFA0004CE467919AA27BB6DC94BE14D2B38B3357 +:10DFB000855E6956F5AD76CFA8DD4737AB7A7665D5 +:10DFC00064FA308A93F7F7B38FD07D4FDCACDABFB9 +:10DFD000F94427D9737D23C43861621DBBDFBD2797 +:10DFE00082ECD11D465704E56F5D3C9232046E70A1 +:10DFF0008F57E0C3CDB8411C21FFC806FE4E27FF56 +:10E0000039A3C045E5C3D79B9CF0912980BBB68E50 +:10E0100052797B8999EEEB1603E73DAEDCF79B6600 +:10E020002BD6573ECD5F0420A9994348AF14EC95F9 +:10E03000F9FB99DBF78ABCA5D7D53C4A4B82019402 +:10E0400020FE0A53C24109E2A388CC185D3DD231BB +:10E0500042D77F48618AAEBD43CD5FD1F28E35FB9A +:10E0600032DA79ABEEBD29DD228F2A767A9EEE393F +:10E070005C16E7A010FF093FB241A6F336C90FF0C6 +:10E080007C327DFFD30A5158DEDEA33F2FB87F9C40 +:10E090000F6351F3A6C28E1875DF995B6CD338BF3E +:10E0A000DA32483ED5B399EAFF57300A46E9BE2F27 +:10E0B000EFC75B9F5F351ED2FED7E47CC2D7045EFC +:10E0C0006CBF486F50FB28F07A82F0D6CED7EBD0E9 +:10E0D000CEFA74A84B8FFBB06A3DEEC3DD7ADC4705 +:10E0E000D6E8714F6CD0E37E4BA31EDF648F1ED742 +:10E0F000D496DB75FD47B716EBEA19CFFD48D73F3D +:10E10000CB5BA9ABDFB66D9EAEFF98F685BAF6DCA9 +:10E11000CE6537C507637D2B75FD343E18B7F7A76D +:10E12000D7E4030FFE63F9A87E3F5188B8531C74EF +:10E13000B0FD2FF4B702C9BBEFCB07EF85F2C14D9D +:10E14000CACF3F92DE45B93363AFC8FB9A61B37261 +:10E150005E18F24D26D90F1721DC417A43D3FF2EEA +:10E1600055CECCB419596FCC88107248CBC70AF57C +:10E17000DB34FF6166A1141287D3E7850F76AF50B9 +:10E18000D0EDD3D5C71E0199F466C15F94E6489CD3 +:10E1900067DC49714F11EA27E6FBDDCDA4DE26F4EA +:10E1A000A09A56C86FDCFB35C571A6A8A576AF113D +:10E1B000EADF40F616FE8ED06CD7D621E46FA89F1A +:10E1C000F9982CEC8F2B0637DB9F16927F72C01EBE +:10E1D0006D2E12FEA6E6671E4C744764515CDED0BD +:10E1E000170B6C77FBC5BD19B403DD2BF512706CF2 +:10E1F0003CFC7D15DD7FF54603E7BFFC566AA9A20E +:10E20000FF870065A3DD3F5E8465E82725CB3D944D +:10E21000C63B2309FF6F41E147BF7A15E91D96050B +:10E22000E21E7E7E3BC77FB6C73A13B2860E9EB70C +:10E23000A1C5BBB4F85747938FCB886C07FB07A1E8 +:10E240007128BF41C4153C3F15DF957C46444D0CF9 +:10E25000D81D175B4C6C7780EA2FDFAFEE8B16571B +:10E2600098AFAEE30C0E5183FAF5FECE3FF1BE2C13 +:10E270004FE851E3110D0E4A8D5C34CAC6F917E020 +:10E280001CE71071272DCE3052FE2E76D260EB5F48 +:10E290009EF0892E3E85C0DD545E6660DD62FC33F3 +:10E2A00065C22E38533692F31B03E37FCEF1AEFBEB +:10E2B0001BDED5F1FB838DEFEBF87B81E7B4AEDDA0 +:10E2C0001FD767A2789E7F7AD654B22B70DFAB68D7 +:10E2D0003FFDAF0D9F761FE2797E8765FCCDE45749 +:10E2E0002F4FF88CE73FD9D4CDFBAAADEF54D371B3 +:10E2F000AEFB9BFC5C86AE4F8B0768A5F94D60F9C1 +:10E30000A0E5535E2F4EA09D9BDE2C71AFFF98ECD5 +:10E310003CA5E605B2FF7865A589FDC7936A1EEBAB +:10E3200049358FF5A49AC77A52CD5B3DA9E6ADF683 +:10E330009A6C2D1447382989B8FD7B23BEDC6AA668 +:10E340007869A2FB2759E47F14F77D6920F917E764 +:10E350004FA2F3F474BCFBEFE8B984EEC070CED0EA +:10E36000F2A4939D78CEE0C9A13CA48EAC1355E4F1 +:10E37000579D0BF77C4E16C8F6DFBE57457ED53944 +:10E38000B338875DBFFD4315E519BD878352FEA8ED +:10E39000E77549E487D9FC66BA1F6A1FEA5E4BE35A +:10E3A000531E157F0F88CF893FB53864AF49D87B9E +:10E3B000BDAADDB7214BD89D3FCB12F72C5AB955DA +:10E3C0003DAF5D54F23DCF8674FE8EBEDCC279D97E +:10E3D00038BF93F24C3CBB2C1CD708CD3FCAFB8303 +:10E3E000C52705C5317F9D952CFCAC54F13D7CDCE7 +:10E3F000DD611C8F017F7712E550F5D37B44E46724 +:10E400009EA7F82E9DD3C5A0CB7FFA7596B04BEB97 +:10E41000F69D3945FE534996FB375941F9427551EE +:10E42000BB39AEB4234BE1F9904E8EF75B64584391 +:10E43000FB5367F5F3F73183C5A7AFB7EEF30F755D +:10E44000FF3C3B99F29794D1F4BE362FD2B1837042 +:10E45000D7D6ABD11118E7C6E7408BBB6AF5C31519 +:10E460004FA5D3F9C9A33CB06BE8CD3F6709FFFEC8 +:10E47000A40942F2C454DC40CB13CB6639F571D603 +:10E48000B5F3C48E134E485F1EEA5D8AAF5BC2517E +:10E4900057E405C6C5FE6EBA2799DF90FCEA7EC434 +:10E4A00061D99631FC9D80468736EE9524E7A1AC74 +:10E4B000A07836F29BF87F39CAC2983FEA76BD7FD2 +:10E4C0008AFEDF8487FF79CC38C2577B2F145FC464 +:10E4D0003591F03C64F099D53CB57FCFE278F621D8 +:10E4E000CE03D3F0FDBE78F62676B31FD9BBE9EB99 +:10E4F00024BAF7A953EF99EAB47B8F0E7D7C07F11C +:10E50000F050BC61E07D07F0BD8945D51F16EDFDDB +:10E510005146DDFB6BA35C5F122EAFA97202FB7B41 +:10E520000D6A3C99F44D7F3C59D54705AA28928E37 +:10E530008B38720195A4E7B387B07ECAD7E643BA99 +:10E5400068FFD6491E8ED7F4EB7735AE2C2F5AC50F +:10E5500071B84268E5D22227B35EB47C20E22FFD79 +:10E5600071A4A7F7E8FCFAFF075995384950500005 +:10E5700000000000000000001F8B080000000000E9 +:10E58000000BFB51CFC0F003099773A3F2EFA0F18A +:10E5900067B2A3F265B950F97CACA8FC6C34FD8479 +:10E5A000F05F4ED2D4C7333330A403713E1097339B +:10E5B000E3577B9B89B0794532105A14487B02712E +:10E5C00031106F116660D826CAC0C021C2C0705415 +:10E5D0009834F711C2AB04A96BDE28260D2B29A2B3 +:10E5E000F2757580694A978161A51E842F89247F01 +:10E5F0000028A6A70361A7AB3130D801F9028AD859 +:10E60000CDCD00CADB03E52F42CD0100A5A0BBB0F4 +:10E6100068030000000000001F8B080000000000DD +:10E62000000BDD7D097854559AE8B9B7EEAD2D554C +:10E6300095CA4A0542B809010206A884244440BB91 +:10E64000128246C5B6585444844AA45D4123D2631D +:10E65000EC8E2F15520901C10E8C7683B21488807E +:10E660008E3A515169BFB6A7586C23D2765454B430 +:10E67000B53BA0A38EADBE48BBBD196DDEFFFFE765 +:10E68000DCAA7B8B2C38DB9BEFC5AFFB70EED9FF90 +:10E69000FDFFCF5236790AF38E62EC34FEFD88B16D +:10E6A0008B25C658792265AC53A49A35E836E67BAB +:10E6B000A5E0444CC38C6525A5D98C5918FFB364DB +:10E6C000B67F619984A9336CF160AA7CD86BE76549 +:10E6D000A759A29D9AC7425DC58CB5E2A71CD13847 +:10E6E0009331C5E77F706D3E63B9CC4AF5944C3BDE +:10E6F000F5A3781B5808EA6749A15C1A7736535886 +:10E700000563D4B586FF1760385F35BB2815EB313C +:10E71000573A63E726D6A9A7DB9A599BA21AF22A91 +:10E720005B80F3602C4AEB547FC6A219307FF6DD84 +:10E730003C6DEEC481FBD1537D3DAD23FDC74365E8 +:10E7400090CBB1FA1F82AF6DF17505D83C98570593 +:10E75000AEA71CD7670D237C6CDE106305B49E0A40 +:10E7600082EF00EB69758FE5EBC9EC7F1EAD623D72 +:10E77000FAFCE3DFF5750DD02E79FE0395474606CA +:10E780007C758097B09BAFCB2299F1A522BEE0DBD0 +:10E790001C812FD565257CC1BAE6F4872785350411 +:10E7A000A47CC3BA5C99343FC56B27B8E8E32A76EA +:10E7B0006B9B322531BFC5CCCBF1131FDFCF901E31 +:10E7C0002D5E46ED66B2D0622C07FAEB21FA730596 +:10E7D000885EAC3E289F8C69604118E01939702E24 +:10E7E0002BC6762E3F5B06A9D51562B3A15EE47BEE +:10E7F0008B805719F5AFCFE32A269BE0A3CF672C78 +:10E80000CEA31FB8EE19A9D393999EF76CBDC0771C +:10E810002D7CBF43D041325CF4F600B73B884E04F8 +:10E82000BDEB74B067AB80D7A64CD3FCF474ACDD01 +:10E8300022E065A683DD9B2B34DE0F74942D400708 +:10E84000E3A588F9DF9BC5085F9B33F71FC44F130F +:10E850007C510DE9F2BECCCA8312D4BBCB195A83CA +:10E86000EBB5FA3439E482F64BBD94EA7C33CBB293 +:10E87000CC7112D25F2E2848AD87EF8F33C934BEDA +:10E880009E6E6A86358D616C75B39DD26FDE1B47B7 +:10E89000EB1988EEDA9ABD11239FB68594DA28F435 +:10E8A000EFAB8BE45C877497A3955A904F7C1287EB +:10E8B000A3C4411EC5F1B3088E512EB7845CC8E4D1 +:10E8C000F03C27D019F0423A8175066440F5B04714 +:10E8D000993F26D0A518E093335F0EDB3CB4FE874A +:10E8E000B19FD185D183C866058BBCD5562DB1FEAD +:10E8F0005F2E9009CF2BAE19BB1379439FEFA7482A +:10E9000037387E31C71753FC3E9CC740FCB719E02F +:10E91000534C7CDC457276C4521645BC6CC4EF0087 +:10E92000AF1B59F0D7586FC4B20682FF6E49A733A8 +:10E930001F0A1716116BD87C9D93E613C9F1EEC020 +:10E94000F9BC20E89705004ED9FDD2DB0BFDD1DBE9 +:10E9500088A59D6105EA3D25875E22BE9A1D48E394 +:10E96000F22A16B3023DAFC5F15D34FD1E1C7FB81F +:10E9700080BF4EF7197E6D27D2FD3B821E8607DBD6 +:10E980006F93613DAE772FFA1706694E5009DB8011 +:10E990004F87F7D6CD6690E6FABB5AAC8CBE9F4047 +:10E9A000B8BB5DD12A8473C67CC843F98372E81D65 +:10E9B000EC27BD30C666217E80FF6DD0FFAFD44E00 +:10E9C000E685793866C4024198FFA6BA0A5667A060 +:10E9D000ABBF88F55B0A59205A9CC0F366A1B0EE24 +:10E9E0009BBFD1717D31D673D23CCF6165823E80B1 +:10E9F0002C803E1C823E800E3EC17EF297FA0F6252 +:10EA0000BB09855AB5AC11DD0F43B8FD4A6DC8C1CD +:10EA100079FCAACEBA80C609B36308EF0C59C0448A +:10EA200083FF004E0E99C3FF29A6D2BC9C791C5EC1 +:10EA3000D92E16D5603D44D348977E160D00E83296 +:10EA400092E09621E065F1771D40FC0C2FECACCAFA +:10EA5000D7083E7F23F82CE889211965B018936107 +:10EA60008D6D4AC39FEF82FEDBBA2DFEB066A047D4 +:10EA700006F4383101276B26F05B119FAA514FEB4A +:10EA8000F587D21F3ADD282EAEDF743D0174EB9579 +:10EA9000387D11DDEAF27EA8FED4468BF6410622CF +:10EAA000CB2B231C1D760EB7B6C2B96184CF57D8C5 +:10EAB00017C2ABB384F0043024FD847FC8D76A61E9 +:10EAC000208AF447F2B022619FD83499C50CF688A9 +:10EAD000E2739AF26C4158C2F17E2ABEA98D569A11 +:10EAE00087C3C5F104FA86448CE2623187076B580C +:10EAF000590CE086CB3D3D1AF33FA7F1F4F61D5AC1 +:10EB000029C37527AF53C17650474299917F66BBA1 +:10EB100081E19334DE7CF37CCFBA9D4BD13ED4DBD4 +:10EB2000140CD64E611FEA740140ACC50E0CF65FA2 +:10EB3000BBCAF64BA9A0CF7D7F1746FCB4338EF736 +:10EB40003522659A6C923B169F4CFC9C2569BC9FB4 +:10EB5000426E9F58D90531B27B0ACFCE5EC917F4F9 +:10EB600095C6828BA42CB2FB861BE1AC5AB97DC939 +:10EB700022F3A9DECE357F1793506FFCCC5B423C6D +:10EB800026E86A6712DC185B4572607B7394BDAF40 +:10EB900026F4C6A8A620E131AFB14FC2BC2DB757AD +:10EBA000C2BC5E1EA7D708A7EFB68EB9A90CCBEDE5 +:10EBB0009A8C72A1A0337F95DD44A741361FF8657A +:10EBC00014C827C4CBDD909E9604BDC2F8B6463368 +:10EBD0005DEA74A8F73F243F8603070A617D970A20 +:10EBE000BABF14E506D26B99FA41AF8ECF02C26F5D +:10EBF000220FF8FDEC4E0BC99F7089147D483AB383 +:10EC00007C36CAA14964BE7C10B7EB817EB74952FD +:10EC10005C0E205C678BB2434FBF35760A4CF9150A +:10EC2000BF85D910BA4FBFB86E0AF4FF877321AF02 +:10EC300089F9627D411F7FC867811A2C2F97A261D5 +:10EC4000E877F68CD5E44F5C5A6921BA998DF33791 +:10EC5000C0E5F3FD7F5510FEB7CE307F7F244EA771 +:10EC600035C457FA7C96975AA8FF57CA24E2E3C3E3 +:10EC7000EF7D74CF7498DFD119921FE7F78AFF7D7B +:10EC800017E24D1F2F0E2F8D79115EC9E3C4E16D80 +:10EC9000F72F40F97083D7AAA1DCB9D9E2EFD610DB +:10ECA000DFC364FF431A7E1F5B83F0D7E5E2EB52BC +:10ECB0000EF71B5CB23F86EDDEB054225D0E84D7AA +:10ECC0001B14C6BCA590B2753D6817B0A8DAD76B07 +:10ECD000E0DFC6775B22870DF2FB9F2477E687E7AC +:10ECE000C03FA6B2A988B753AEB9A9313670FF9F0D +:10ECF00034DB5BD0DEFAA6391C39AC9E597EB38575 +:10ED000035203FDDCCD807B6745C6FD87A15E88F14 +:10ED100077243B5FBF90EBFA3A6FDEEB68510C70E3 +:10ED2000BAC125935E4F9E771C7EA23DF41FC3FEA1 +:10ED300093DB0FD84E31DBD160CFFC19F58D2DB3AD +:10ED40003E3C1C3EDDFC681533FA19386FD47BFA63 +:10ED50003803CE37F3ECE63B141F9E72AD6A47BB17 +:10ED6000A955E5F410C992FDABD899F4A0C3BFD55D +:10ED7000B52ABB3F7DA1C31FE840F322FCC181211E +:10ED8000BA79B3B512759B4F76F4EBC70D45278A58 +:10ED9000FCDF4327A3E4FF7174522867FDCFA11362 +:10EDA0005B9364ED05BC3732F6BB6199F859625C40 +:10EDB0004FDCCE8CFA1DEB7B611D4B446E89C2EC9F +:10EDC000952017E4306F1F02C302F5CD92B08DF489 +:10EDD0004A1C2E629C03BD0FDE5701FDBF1BB6F817 +:10EDE00049FEFAAB490F2E11F6D5BB4D16B273DEB4 +:10EDF0006D04F90872AC97C5DC53511F1CB3901C0D +:10EE0000EB0DBFEF263B0E5421C2E77241BF279A9C +:10EE10001150200FC0BFC314A09D87F19377D4E891 +:10EE20003560AAC35F79D5317055DE01326500F0D7 +:10EE30008E55352DE1628C2A417E1A9831AB6AAA33 +:10EE4000C2D4EFBAF60B0DEBAB6F9202E8F781BAC2 +:10EE5000243BA243E2F3ACC77FC03C6DE05F230FCD +:10EE60002D96B95F9D250517CB06BF8F150220CFC4 +:10EE7000C2AEFA33CE7F5C223F450EDD80F451DF17 +:10EE80009466457D50DFF1858AEB5E237B053D4529 +:10EE90004762FFBDBA1FC4A223E718C773F079AE5B +:10EEA00091A57EF93279BCBAA62F5E1886FA6299CE +:10EEB000E41F83DDD9A323171BECF30E7402605DFE +:10EEC000E13A3E5E384722FF4F2FBF4BE67ED61A0F +:10EED00059F87BFFFE75AF46F89DB96EA6C701DDF8 +:10EEE00088F7771BE6A5723A08917ED5E9E7A51366 +:10EEF0002FAA48876C7E16D17D7DC462B263AEBEF8 +:10EF000021C5945FD4346FD038006BB425EA1BF967 +:10EF10008A65123DA40B3AC902079791FDCDE31C07 +:10EF20001982CFB3BD0D12CA5F5F65E701EE0344DE +:10EF3000B93F1AE8AA0295CA36BA17BE1DD2A84030 +:10EF4000532A30EE087FE4B32961C1CFD2691BFA9E +:10EF5000A72CE0403F15BFEB7C05FC317C9962B2E9 +:10EF60000732961AEC25F89FBBD65C6E31DA53F95E +:10EF700089F5E8EB758BB80C78AB1AC2799D143B18 +:10EF80008EFCB3CEBEA86A36F099A397310FD07D20 +:10EF90007A508946B16E19F7CF2CB86EA09F8C229B +:10EFA0006B3406DF5DE057F6A03C537AECAC18FDFD +:10EFB00077EECFEBEBC7F819E22D43CC6DFDECB942 +:10EFC00069886FBD3FA867F20F93E595E2E77E9EE3 +:10EFD000E2EFE8E129F7DB0D71CD57917F589939C0 +:10EFE000EE10E7CBB2B3F42BCFB61E63454A19C679 +:10EFF000D79C7E8C47A65AFDC743D0B4B1D8EA5FF0 +:10F0000005E3AA331AC288FFABA4D0FB38AFD4F310 +:10F010001B4721FD4AE7378EEB05F878C671BDB571 +:10F0200060FA0CF621A43E973FFC21DAEF160BC1E3 +:10F03000CB123B9769306F4BDFE240D085F09EC327 +:10F04000537B9052B785C77BFE26F84FB5087B38B7 +:10F05000C0FD7EDDFFBCCB19FA2B8E3F3AA05523B5 +:10F06000FD595C7A3CAD77F3F52867DD7692B3B352 +:10F070002CC5A9270D76C077B239AED626E2697ABB +:10F080005EB57B221F4CC179F038E9DDEEFD3ED242 +:10F09000678501537CBE99852C16D4378150808FAB +:10F0A000CFFD9A44BB677CE4D7A01D0FFCE499BE5A +:10F0B000C88EFD2833F4387C88EA037EDDD80F5BE8 +:10F0C00060D6ABB6CC00E19F61082C1BFD3AFE7701 +:10F0D000F7C4EBECFDF1F96639946531ACCBEAF39A +:10F0E000F3F9B02DDE0F5388150B4F6718F02CE2A3 +:10F0F0004DF595A263A65DF947C0F38DDD2A5B8BC4 +:10F10000D9EFC08AA9C0F9F3BF93EF73BFE74611E7 +:10F110003F59CA821E04C6674CAE4539FA198E00A3 +:10F1200070FFCC55F1600BF1232C05E61D117AE63A +:10F130005C8B88DBBBDAC9EE5612FC2F717F8DC762 +:10F14000A1C19F26791166F61692531DDC4F08C3A4 +:10F150007F98FF49A7D96FB87E93397F1D9B9B8D00 +:10F16000F47BDDBD2A43BEBE31494EE45BB8DEB957 +:10F170009E35B4A37E5FAD723D50EF654A0608C16F +:10F18000E5CF6EADC0B85740D0E127401F9A2D01A2 +:10F19000D79B32A3D64071627D8AC057ABE4FFF1A2 +:10F1A0007469E0F5AD567B7E8CFE5178BD4A74C91A +:10F1B000849CA4F63094B2CF4272D1D08EE67B6D9F +:10F1C00087797D43AD3F79BD209969BD37EDAD238A +:10F1D0007A18683DD6BD12C5F592E9EA4A8B24E457 +:10F1E0001CA79B6F1C9E492C15E4819DA777383D79 +:10F1F0003B31FDC6911745BA6846E70BF56B35E321 +:10F20000FEEF9FDCD156C26FC364C4EF50ED5BFFCD +:10F2100083ED5763FBAC7F7FFBBB8768DF91190EE3 +:10F22000223FEB71179B3D10E0D0E6FCDCE11BA216 +:10F230003C17CA2D8394170EDE1EF8F2F469A09BCA +:10F240003AFC447A3A9C8BF33A29ECC66E3578192D +:10F25000DA73DD6F58D0F465DD69DE761FAEA34D3D +:10F26000D2D00EAE5B372715E33775C72C9972BE27 +:10F27000606EAC9F7FD12EF4B7375A546197F52A50 +:10F28000A85FEA2AF32F08B8B0DF706E1AD047EDF6 +:10F29000FFE2F1A0AACA96A5D8EEC7DA552AC68F12 +:10F2A0005F7CB47511E66FD22E546C30EE56D1CF20 +:10F2B000678F3C51C1607EDD8FB9598CF468D48A68 +:10F2C0007AF426A077A4B79BFFD14DFAF6A627972C +:10F2D0003F381BFA919E75D37C6A9FBC7EB78DE642 +:10F2E000D7CAE9F79979A91BC5BAEC009AEE1611AD +:10F2F000B70F8773715F70B98D2D41FDA1C341A711 +:10F30000DFFA8E92DFF9705E7BD34A5176C7E95EF1 +:10F3100081FAD0BE0ED2B9FDD0FD41C1FF9FE6DB20 +:10F32000280E2DED3DB098D6D775A58AEB932269AE +:10F33000D67F86F19EC575F27AB48EF0C352740CF6 +:10F34000947FFAB0C4D7D5357187231FC7DF61AD6D +:10F35000A77DE016AAAFCFB77E6F49FB70A857BF55 +:10F360002EAD00E3E033FFF1310FDA7DB7EEB5C427 +:10F37000306E0229C54FAEEDB024F9210197047417 +:10F38000708B903FB7EC5B4EF2F996AEBBBF40F985 +:10F3900073EB7EF5A4512E009CC9CFBDF92D8B1FB8 +:10F3A0006344373FB5C7837AF8939E873C880F182C +:10F3B000A7CE0A7C50765431B5C3FEBF4D3FB33F54 +:10F3C000C6FAC8AFBBB56B0D1F6FDFA51F613CEB65 +:10F3D0005606ED0DF2E713FC47CE99FEF22716F024 +:10F3E00097412FE9FEF257EC6805E9BBBD19FDFA1C +:10F3F00079BA9FACCBA1CFF7FF755B18C6FFF4C9F4 +:10F40000BF6CC3FDC8EEEFFFBAEDE708FFE71D5E76 +:10F41000A4F35B1FF9E76D3F437DB4DF2623BD7C7A +:10F42000FEFC9EDDF743FEF3B7C795226B290AB7B2 +:10F430002B3ECFFF261BE1B0F2F959C3100E2B9FD4 +:10F440009E398CF51337D0D3CF81BEA206FAD2ED08 +:10F45000406D3FF4370CB2BF1169127E0EEDB3C49C +:10F46000D085FDECB82D8A747D2B7C6B047FF396E0 +:10F4700086EB691F02F34D00E75B1EE571BA33E1CD +:10F480001D1E21FB308D8DC0ADAA5BF6CDBBECBC43 +:10F49000324C55BF86EB657DA4CF92DBDD7A0CF054 +:10F4A0003A79603C7EC5BEB322DC6F65EBF8B80DDF +:10F4B000177E8474948CC7CFF01FE79E89C7D18ACA +:10F4C00039EEF1155BB6FD7E2CDC97D1AFBDA9E31B +:10F4D00071F9D397A7F6179F31C239761670BE41DE +:10F4E000D8F97D96C01405F9F0C97FD87D7F26E252 +:10F4F000D9E69F8D787FECAB3C3082D8C76ADF625B +:10F50000E4C7BEE76DDE9DD0E6A6E7DF22BDF7F9D2 +:10F51000D3AF5A353A8FC15C12E8F3CF59FCAF072D +:10F52000F5FB2D623FEED65DEE18DAE53ABE6E8948 +:10F53000CEA9D53CF49DECF55BA29C0F6E891E987C +:10F540002FF583BF654A0197ABD12C82CB72AD8773 +:10F55000E20B46BC4A9588CF131720FD0D844F7DE2 +:10F56000FD5E5CFF54035E7771FE1D884F3FDF61D7 +:10F5700053707F2119CF9F0BFBE7D6A8F4567F78F5 +:10F58000D7E3F8CCB268507C25D3C5758A99BFF50E +:10F59000F6FAFA87E2EFA1D7F5C3E076393A6DE5DE +:10F5A00067C2AF651697DBAFE4035FC2A75755ED9F +:10F5B00057B7239DBCA4B29DD0E4C7051F295A3F6D +:10F5C000FEDB1FD08E32F8FB97554A6D19D0EEB294 +:10F5D000401ADF4F4F3A3F109C61619A613EA76A23 +:10F5E00057E622DF1DF231DABF3D9CC3A288971790 +:10F5F00072961DC6EFEBA07F06FDB73783BD0A7C70 +:10F60000D0D1ECA3347E6E23308AE24D2BBC8CFB30 +:10F61000837B1F79E411C85F8C0380EA3A042AD403 +:10F6200018D7784DCCF778B39DECBF79454F28A813 +:10F63000D7A5E22714D43797D43EA1E0B983C3F10C +:10F64000384C58CD063EBAB828AD742DF4FF82D898 +:10F6500027BF78E90EA5DED0EF25A29F4B8A77E47D +:10F66000A23C3E22CE7F24C3AB57C8DB96F17B720F +:10F6700071BC23237F954B7E320BD23AF244DCE3FC +:10F68000F0983D5B56001CBB8B248AAB7537AE727D +:10F69000A15CEED6E699E8EFC0F88F24EC27CFB74F +:10F6A0004341F9BD53C45F7689B8D96E801BE6F734 +:10F6B00002DC307DA459A3F4D1E6222A7FBCD94FC5 +:10F6C000F9AEE64ACA3FD91CA0FCBEE65ACA3FD3EF +:10F6D0001CA4FCFEE60594FEA6F906FAEE59BB371B +:10F6E000928EF1A5095217C6977EDBDC40E5B1E6A4 +:10F6F000462A8F2ADC6EC8EB00FF00E46E6323DF2E +:10F700002FDFA90617040DF3D7EB1D53B87D6DF756 +:10F71000847E8FF2EB54EDFC72C47FDB982B2722A2 +:10F720001EBBB5BF0FA1DDF155A19D62DCE4120245 +:10F730005FBC34662A9D47B92F2D744C31C43D0AF5 +:10F740003AAC2C3605F1183D8C4770C29782DD0724 +:10F7500070BC38B4239209FD2CA8CDD764C267577A +:10F76000241DFD9189A27CE906B5BA78683CEE516A +:10F77000B85FFE6255432EF2D98B128F9FCDABB589 +:10F78000B02203FF5F1532E7378A76E917158A73CF +:10F7900058FDC773DD7EA867B273381FD97CE9C2F4 +:10F7A00039E6DF1DDA70533D8BF7D0F9E8B70F2447 +:10F7B0009F2C9E5A1E97F62A1FA27C031848A7E585 +:10F7C00084BCA18815D0E142A6FF0528BF249E076E +:10F7D000CF4CB7BB015E57078EA968C72F06D74924 +:10F7E000053BBC9EF9AD688F835F4CE975AC8152D7 +:10F7F0005B6E4CE5F1BD1A2FEEFF4A81E996D329E5 +:10F8000083C561CCFBC4FAFCD22F52282EB34272BE +:10F81000FA910E5A73D83EF45B5A05BFEAEDD56FE4 +:10F82000CF61DA143C0353608A87A999C10528E7A0 +:10F83000EEE895346CDFA18472D572BE30C5E0E786 +:10F84000AB99DCCFB84B0A69587ECFB44F8E5BD0F2 +:10F850008E7ADAA159401F7C5E76CA8AF4433E1143 +:10F86000D2CF9DCEE843F998EFADE3C19118C5C35F +:10F870006C024E785E67CE44F4635C14F760B9CADC +:10F88000A7C67DD37A2FF7C75BDD1FE6E0B83FC27E +:10F8900089F079B1DC6C8A8AD25F9DD2AB223C9729 +:10F8A000B01E4A17B12E4A036AA80CE7B9903590EA +:10F8B0003FB42AC5733EE2F9BF6A7EF17315420E6A +:10F8C000433F01A47FDF347BC8E83F5FA072FE9E08 +:10F8D0002F52E0EBE5C8CF03E15D97F7BA9C1F9E7E +:10F8E0001AFCB16AE0173D1DA87D32DFE8F3D1CFE5 +:10F8F000E1A55FB4F2C591008F9D9DFCBCD7CCFA09 +:10F900000E5B1E146D5FA795122C985D46B8E43906 +:10F91000747AE77E4A23E37064EF4A0447164EE1A7 +:10F92000F23A5E2F3811ED8B6D4DA71C28A74F358D +:10F9300015BC3A8E0DBDCE64BDF6AB519336E07E5C +:10F94000F2A86EBE9FB261D4DF0ED8209FD7CBF550 +:10F95000409EAB611CFA6B557FFA971C8C330E4F9F +:10F960000DDDAE1AF4EBB6BB1A46E1F8FFAA045659 +:10F97000AA04EF95369AA290338DEBB40D45DAC008 +:10F98000F0DAD95130287C93E71D971B03C8B104E6 +:10F990003FF37AE067327B29C98F9806A2AC3725FE +:10F9A000F5991E28BDA631A6225D001DAF477C5FDC +:10F9B000CDA22AF7EBBDD908D77AAF46EDB7657F60 +:10F9C0009843C25FE9CD0FFE90F3B48CF56B6FAD39 +:10F9D00016F6014C87E27C79224E27A77C9A83FA9F +:10F9E0007D876A8E93C6FB6D04FE30EC2380CD4488 +:10F9F000F6138C45E71CEA7060985A9DDC2B21BFFA +:10FA0000D578E7D4A401881637E50BBB88D3D3E2B9 +:10FA1000A6B41D186F6857438FAA247F1B289E5DCC +:10FA2000E79A5083F6F5D9AE0F46EF45BB5DE76721 +:10FA30007DBD773943CF221D8CF6E657A73194C39D +:10FA40003C3E3CCBE2A2B8CEA94C467ED840FDFF5E +:10FA5000139EAF54D16E6094AADFB14EB4CF5E0452 +:10FA6000FC631EED0A8C1B3F0F7605A63BC1AEC0A2 +:10FA7000741BD815981E02BB02D35F835D81F51FEE +:10FA800005BB02D3C7C1AE50F839C423383F359304 +:10FA90009FE76AB5B21BE81CB7380FA9CFE37581A1 +:10FAA000073D3DA6727AD8AD0AF9F69E959F2F5173 +:10FAB0001A46CC75F314E92335F7D58013B29E327C +:10FAC0001695F0DCDB970DE154685ABAD72FA543A1 +:10FAD0003AEE3BEF2127A44F9F070A07EC947B2ABD +:10FAE0004081033E5DB2F6C032C4E7341E3FDF7D85 +:10FAF0001EFC7B329E9BB5129EDB5E653B500FEC7D +:10FB0000390FA816BE7B66B7DF867EC3FD6F42390C +:10FB1000C0C7B3E9CD9F53DEDA773005E6F7D4707E +:10FB2000E6473BDAB3E5C3BBA8BCFBFEDBB1DC3385 +:10FB300063EF4F79FADC1DF8FD17E7CD6E41B2F2A5 +:10FB4000F4C4EEC4EF59EB422DC8F7C39AC22FE7B5 +:10FB500043DA99BBAAE45A287FEAA5F6B723907F37 +:10FB6000E670A46E1DE4371FBE7703965B7356766E +:10FB7000E7C378F737C8742EA9080F5702BC56E7B9 +:10FB8000AEA0EF0F3464D2F7D423DF7A67425A3243 +:10FB9000520EE27EE83333F879581DDEDFAB161ED5 +:10FBA00077B38A73F3B9FCFC2A6E9C225CF5FD19CD +:10FBB000F5183F9FAD1EE679ABB721404765A4908D +:10FBC000CD8A74592BF57B0E3DC5CAF7074A76706E +:10FBD000FCEDEB95A3182FDFDFB32A05EDE1FD3D2A +:10FBE00005169463A5B932EDD7EEEF4DCF7003DC67 +:10FBF000B7F4AC1846671C40005F09FD38ADFC9CAB +:10FC000065869578CFD03E9DDA97C4DB6F74A4E209 +:10FC1000FAB17D7EA27DBA683F02DB971BDBCB1673 +:10FC20004CFDD8BE98B7473B31F755F3F8C3B13D0B +:10FC3000EEBF9C31FE0A19D371A27D325F15887127 +:10FC4000DBA470CA24A4DFE58A8887FB49AF940B44 +:10FC5000BDA2D7AFB672BF2135BE0F17A2719E39B4 +:10FC60005690CA06DBEF44A1AACB29D2FBCE84BCB6 +:10FC7000A77C7A527E7852FD82A4F20949E5A54913 +:10FC8000F9549A7F89F8D6887601DA0B0DA9A45722 +:10FC90004B1C3A1D703D5B19AFE77D7919EAD7D946 +:10FCA0000A3FA720F46BA5A87FE8F7D739691F980A +:10FCB000F9E8BB2DDE2E7CF7786C775466043F7034 +:10FCC00087C9AE11ED9E95FC2F17A3FDFF123F6F64 +:10FCD00090805FD0CEFD2E0EEF32D1DFEA4DA52F02 +:10FCE000E311D5BFAF55FCD83E59DFE5E2E10DC4C5 +:10FCF0005BCFCE554EE8376DA25482EDC6EE6B90C9 +:10FD0000D1CDB7ED67AD1E6857B14BFB450DA4A52E +:10FD10003190AFC0D7A55B387F946C52888F4A7200 +:10FD2000F9396495055F1E0FF4586109ADA575FC9E +:10FD3000919FEF2AE92E35D9F9E336F173210F5857 +:10FD4000B93DAB223F62FB2DD34CFAFBDBDED18306 +:10FD5000EAEFDDCD41D339F83DA8FF5C09BC8D4BFE +:10FD6000A2BB07AC926EFF98F0985CEFE5AD73070D +:10FD7000A5C3DD228EF5B42031465B5B90DF248B7A +:10FD8000FC45965985A48FE9FC865EBE7A8BB9FC4A +:10FD900019BD7DF8D29918B77A669342F98DED971F +:10FDA000CE6C817F2A02BE20AF387C37E970E279C1 +:10FDB000837C7A80E4D37E66DA4F96EDFC9EC7940E +:10FDC0000F3A0FA769B8FFCBD873A588CFE04C7066 +:10FDD000335865549391A55E72771D44FC3F355EA0 +:10FDE000F2EF84EF555A552B9677BD71DDFDCB911F +:10FDF000EE84DCDD7FB4F008C6DF5ADEBB6309CADF +:10FE0000B93B4E4A1AC6570EF5CC6568BFA94715CF +:10FE1000924F6AA6DF122239556AB9DE00C729451A +:10FE2000AA903FD52913F1DC75E6AE697CEF35C0A9 +:10FE300016BA711C1B97CF456A3849FE3E6B45FFC9 +:10FE4000C1DFBFFCADB4B0B005E9ED7599DBB3B56A +:10FE500081943986FB04FB8E813E8071CBDF884C18 +:10FE60007905EA45BCD3A6A0DED8BDD9CAEFA18CDE +:10FE7000E0E7645E14FA01DC8981EE03BC88704E11 +:10FE8000BE0F308A017F40FB514A0AEDFB8F8AF199 +:10FE9000FD42F6DD6966940BC9F2ABC69562E20BD2 +:10FEA000B9C3EC0F8F62067F98E47C92FC7AF79CD2 +:10FEB00044FD02B48F6B5E4EA56082963609F05900 +:10FEC000952B6BB4EF1B0EB8AA601E978859ACC671 +:10FED000F812966F65748E7487900B51B08F30DD79 +:10FEE000D7C1F77DDB8E839D01E5BFCB94FD313C0F +:10FEF000377E8CDBF197E8E7658B558A2BDAE13F9B +:10FF00001C5F0D7B6722DF8C8B68AD288F4A0F1B2F +:10FF1000E28EF0BF0AB1CF5C95148FAC10F1CB8AA2 +:10FF2000A4EFC9F1C7AFADE6B8F43D3FB3D0BCC252 +:10FF30006F5AE8DCF033E7B2B004F6CB263974F739 +:10FF400072D26BFC7CEBD302467A3CD262E3FEDBDE +:10FF5000E1F76C0CFDEFDD3576B21B9DB838F8BECD +:10FF6000FB78BDAE8FC8FF3934CD99C2E5758019D5 +:10FF7000F5C1AA69CEBB918E57BF2493ADFAE4E1D7 +:10FF8000153E19F21B6BEC74FEDEF3607804C68735 +:10FF9000F6EF10FB5AFBC4392D9D1CB04F3AA7E574 +:10FFA00025BB39C3268BFB39C10C5B79827F3DA30E +:10FFB0006F1B8E7ED29E7C89C7F186E82737D14F92 +:10FFC000AEB11F831D2FFC9118F7FB443779E82F42 +:10FFD000A39D9EE40FD4BDCBCFF7815D3F0EFB5BAD +:10FFE000C282018A83E0092F3A2F7FD6767D881955 +:10FFF000ECFABCCC1219EDF8847D1F2CC5FEF3730E +:020000021000EC +:10000000B555888AB3B5EB917EB99DCEED7B35C2EF +:10001000EDFA97855D0F76F97936935DEE5F80474F +:100020007C16D81E9DA99C8B76775719E667D91E3A +:100030006DB5433E4FEECDC12B750B6D8FCDC4BC5E +:1000400007030FC08AF3201F9E01FDCA1CDEE14793 +:1000500098B0D3FB5EBD10E6396169A61FE3AA79AB +:1000600072D7D152B4B76FE2FACFB397DBBFC9F3FF +:10007000DE26E23CD0FF0AC4EF421BD74F0B057DC2 +:10008000EAF90E2574A58DF66F9982F77392E33A1B +:100090000B11A0E867DAE2E7EF86F3FBA890BAFB62 +:1000A000C53BF70F87C2FBDE38DEAF4BC67B46FE93 +:1000B000D9E3FD54ED7C125D03F9ADB66F81A90D56 +:1000C00071BE1B5968A58DEC027E8E2A8E3719FCF5 +:1000D00029482DE2FE82C732A701E1D621E0A5A77B +:1000E000CD3671BEE837679C6B6DC675D894903875 +:1000F000F4C3E5B7A715FA7119E02BFC667D3E1D28 +:100100004A7DBBCDE03723DCD19F5EA3C39B35D0B6 +:10011000FD35F0D3E85CD8BF1BDEB97178DF8BEB1F +:100120000778D33CF3441CEC6CE1AD9F87D0CF3F04 +:1001300084ABB58817E5641EF3230E66BAE698EE25 +:10014000DDE87641727F5749A1DDC67527EBFD3AA0 +:10015000D6AB7238F6A9B8EEEA0CAD4CA2F3ACEF10 +:10016000CC3CEA833CD225D93B6F937D539DC2F3AF +:100170001FADFEB7089E67ADC63D3FB48FC25FCED0 +:10018000C4FD86EAD1BCFC2FA2FC0935F014D17D58 +:10019000427E448DF243F59EA842BBE62E67E839C5 +:1001A0002E37FCD588BABC46ED07C50574B91115C4 +:1001B0007101A0BFC3242F1AB91C19CA9FFFBDA08B +:1001C000373D7D058597D19F6FB372BB44F10EA774 +:1001D0007BD3901AF9321E8F8B38783DE14F14880B +:1001E000FD936439ADFB13050E333D25FC818093EF +:1001F0007442127DE9FEC118F1ED508B35F62318DB +:10020000F7C14A3BED93D545C6529CC6D7FE31C5D2 +:10021000AF74FAFBCAC1D7A3CBFB5DF7161C2982CA +:10022000766917D1492776B32DF0B1AD3C81A7622D +:100230005BE09324BC8506C0DB17678337D5E5E018 +:100240007EB9C0830EF71E21F78F8A7BB3AFC4E55A +:100250007DE05FB1DF56AB46F1C7F011EE2F0D84A4 +:10026000FF81E2973A9E7579F39183E33791723D6E +:10027000DB23EA8DAE64D3BC930DF6A29DD7EB7160 +:10028000B07EF75D32ED5C5E795A8324C79838A75B +:100290003ABA83EB71BD5EB6E807F1C7DF1DD064E3 +:1002A000E4B7A0985761259BE14D4DD42FB473BDA1 +:1002B0001174F2F2E47147DBF9BC75F9A98F5B7830 +:1002C000AF79DC31F1710332D727411ABF605D1F6E +:1002D000DDEF2A6C62840FEDDE6000ED8B9E2ADB81 +:1002E000987BD1AECF2A1271C100437AAF10F3B917 +:1002F000DF1AF0E1787900278C335960DE98029F8D +:100300009D203E7385C90E34D8FD15761CFF28EB61 +:10031000F79CAC0E778FC26A6C06F9F50701573D62 +:10032000AFAF3318489B85A1DD49FBBC2528B666D5 +:10033000FB25E2BB09815C8A7FA50A7CEED8CBF75E +:100340006F27DA7A16DE0C7089AEE1E764EF5F653D +:100350000DF03858EF932FE33AEFB192BFB4EB6949 +:10036000D79A09906697DDD69201F5363DDDFEC439 +:10037000CB48FD76EE373DB277E7DA09507FCBB256 +:10038000748A57E9F9DCE53C7EB539B2F1A2B1488F +:10039000A77B653ADFFEC80CEEAFE8F3BFDCCEE327 +:1003A000574BEC227E15E17E603C7E3543C4AFC2E4 +:1003B000425F2E9593E3574BEC83C4AFAEB5F3F891 +:1003C000D5E6289743AD7BE5680B347CC4B5D3896B +:1003D000F6EF23AEB90C5335C0E33F8FECDDE8A058 +:1003E000F8954B8F3F459D183FAAB7F338D0CD38CD +:1003F00040B9B1FD4909D33C437B8A5FB9F4F81396 +:100400006F7F939DC79F6E3FA3FD99E353FCCA6D19 +:100410001E7F8568FF736C9F35D8F84FA65D6F907F +:10042000233F13F31EBF3F442EDA0401DF717B7BB1 +:10043000FC7C73366647386D7F6853E808C0AD7D35 +:100440000B8F833C2CF6CFB74B66FEBE5BD0DF0331 +:10045000827F0E6D01FF18FDE22DF30312DA854D48 +:100460008CF03C6EEB9792711EA396F2F8DEB8AD5D +:100470002B8F8CEFC73F7EC02EFCE3A572B27FFCB2 +:10048000807D10FFF854EDD283784C7862078F6F2F +:100490004EECE4EF904CDC17E6FCFBED14B2BF46EB +:1004A0007D5B429703F2BE9D4E79F5DB73293F6A6F +:1004B000131F6FAFB0BF26AD6BA77331EA267E4F17 +:1004C0007D54D81CDF497514F0F7281ACDF19C49EA +:1004D000FBC3A9E7C3BAC6775B88EE07D6C7C18856 +:1004E000F1FCF6F6F8BE068FEB8C16F130BD3C55EC +:1004F000C8E3E4B88E5E6FACC482D8FEE17B068FA1 +:10050000EB6C6BE6E70DF4FEC6DEC5E3C9F4978934 +:100510007A2B40E729B737D56FBC08F369356514E6 +:100520007F76F0F382C9F197B81E9042AF207E74B7 +:100530007CE9FE58AA83D3B9AE1F00A43518924BAC +:10054000AC4B36EDF71AE435CDA7730197D77A7E19 +:1005500058287B079EEF4F71E8FB938739DE6B5A73 +:100560004A90AE83811326FD3924DEBB38DE1F138B +:100570007857BBFAC7778A239DC7F11A7F58FC6E5C +:10058000283C6B49784E71F41FBFD3EB150B3C3FF1 +:10059000BE8ADF2F1E0ACF7A7FC503E2F960FA25F3 +:1005A000063CA738C439DA81F19CE2C83A13CFE09F +:1005B000BFA53A84FF663C7FAFFB6FBA1E073D16AE +:1005C00031EAB1BD8E243D26EC045D8F8D8FF2FBA8 +:1005D000DABA1E1B877A4C4AD8253B77F0F74B8A4C +:1005E0006C9D2B8EA01E5B6FA5FB95093D162E3DC5 +:1005F000827266A395F6733AB7D45721BD0CAB6CE3 +:10060000C9B909D2F17B9A480EF96EE7FB2F573929 +:10061000B83EDBB365057DD7F75FF66C01FD05F9E4 +:10062000110FA793DEDFBC4526FD95ACC72639F830 +:100630007D914A87D0635B7EB01EAB740CA2C76607 +:1006400038B83F36B01E137A600B97B303E9B1E9AF +:100650000EAE476A1C03E82143FBFEF4D84CD17E62 +:10066000B663003D6468DF9F1EBBC4C1F5D1FC3397 +:10067000DA278F6FD663F344BB49BBA207B1A995B4 +:1006800081FE1A9DD05F51B46B009EDB7FBD29FABD +:1006900032C0ED7129BAF162F44F72789C22598F01 +:1006A0002D15F4B752C8C3436111E7DD0B7A2C3323 +:1006B000A1C7263CDCBF1E9BF0B0E22CEA478FAD01 +:1006C000740CA8C7563A06D5635C9E15093D56249E +:1006D000F45851B4E7ECF458923C1BBF8EB71F4856 +:1006E000AE7D34801E1BBF8BEBB149A8C7D87F9E5F +:1006F0001EFB68083D16976FF79C9D7CD3FBDBDEE5 +:10070000C5F74313F22DB4DB2CDF965620DF7E2491 +:10071000F87310F9B6A73FF9F691E013DDDF00108A +:10072000478C7AECA3643D96F07706D563EFC7F566 +:1007300018B75F8AE27A6C836CD42B3FD47E19C8D9 +:100740006E79FFBF498FBD3F841E8BDB2BABCECEB6 +:100750005ED1FBDBBEC98CE749FB00CF52C25E997C +:10076000F434E099D669E9578F017EDF47FCEA78D7 +:10077000B5ED0F055234D25F1F09FDC5FA3B579600 +:100780001CDF3A553B3F80781A28CEA5BF97977C4F +:100790005E67A8F380732EB893E6D5AE06BE7618D2 +:1007A000E20DF7A9A17FEB5FBFEAFB3461E1C7EA85 +:1007B000E900F7217D5C3FDA2A8331711F527566AB +:1007C000F5771FD2EFF3631C28CDFC9E99EAE5EF85 +:1007D0009979A67FD7DB8A72CF5B3105FB49778A8F +:1007E00077CD92EE031AF82ADD69B00FE3F740F1F6 +:1007F000029D613DED39570C744F70B8D3149F1CA6 +:10080000FC9EA0C5CECF5586AB595183CBF01EDEE2 +:1008100031410F124BFCD1BE027FAF6A9C53D2F71D +:1008200015C639CB0DF34C3AB7BC460AF1F8AA2BE2 +:10083000CCCBC539668AFFC06422CDFCDCF27A716C +:100840006E5981F9D23DDC5CFEAE544A2606AAF010 +:100850001C7317F94D29C50D3E3CBFBA7A80F3AB26 +:10086000378A79B58CE4FB796BDF93289EB5764C9B +:1008700085CF781E59DF673FECAEB0F71AE4676B9F +:100880006E29ED9FB7BAE60E7A1EDED569A173B860 +:1008900043D6EBE0F5062AB7F85907EE535914BED4 +:1008A0005EDBBB368A2FD858438CFCC35E49BC83C1 +:1008B000C3E380FABC255703D19F1EFFD3CF05CCDD +:1008C0002CADB4E3F756BBDF8EE7775B7307971B5E +:1008D000B66F2516CBA073754B108F07C6EF26BDDC +:1008E000EED41AE81EAF2D17E807E09DE2F233D4EC +:1008F000F3295EA6213E86C243A593CB6BD52B9BE5 +:10090000CE09AFA90A513F6B7218BDB3E5298372B6 +:10091000039FAF11E78DAD421EEAFD9DE3E47AE34C +:100920004ED12F9214BEE760B1FF8EE81720EDA5DF +:10093000FD40EC070A9BF07014EE3728819F71FA96 +:10094000349727F89FDFE3192FF890B1DB4CEF4B7A +:100950008D17EF88E971486D13237A2A8AF0FDF824 +:10096000F19155B7C9934453281FBB8145C3BC9C23 +:10097000F6E5F5F645BBACA6FBFC05EBCCF942B1C0 +:10098000EF399619BE039F158A7DD242F12E95FE4E +:100990005DBF6FB11D3FF4B30F90BC5FBAC569DE98 +:1009A0002F1DEABE87BE3F6A65819D043FBCBC9493 +:1009B00003F47427F72392EBEBF06C4CC29B9E3E42 +:1009C000EA9492E46E72DA69D683E2FBB7272E1CB2 +:1009D00054DFBE03FA366238F7F147A16FDF99FFA3 +:1009E00090BBDE659C5F0BF5FFC7E6E3E77FA026C3 +:1009F000C6F11C7C5BCD7753FA02DE87B866593EA0 +:100A00001DE5B9A6E1806A6CBF68D9DBE77F60802D +:100A1000E742DF159108D19DF2AFB84F8DD16F7CC1 +:100A20002F2C80CC61D047FA789D30CF0FC02EB8E4 +:100A30007A19F7CFD6E558A32EC0E3BAEFF93B22D7 +:100A4000E113FCFCED3DCD0B22581F8FA720BCFF0E +:100A50008F93FB59EE659283C79F7AED3CFECAE502 +:100A60008145EC0BC4E126E48145EC071C2AB982E0 +:100A7000E44123F3D7E2393976CC42E790D61DF82A +:100A800035EBEFDECBEA667E9E2582F7274848737A +:100A9000BB45D5F71F847DA28AFED788FB158D2C18 +:100AA00068BFB62CD1FF869A53DDA3C9DE4F37DD70 +:100AB000CB6C53387E5A9BCDEF6954A7E8765057DC +:100AC0000CF7CD410677A11FE22EF6C7B2CB68FD29 +:100AD000F978C5C70278A9467D5616F3E1BDC07501 +:100AE000287FFAA1B763425E2C6AE0F734D7017C15 +:100AF00039BC0FA9F86E4CB89CF5BB0F302645A742 +:100B0000D3FFBFE03B3F45F727FE73E0CB52B81C55 +:100B10005602611BD265327F780351D5285F02727D +:100B200068624A16BDBF49F36B5743BE15902A95BC +:100B3000E10BD10EF0549AEB1BDA95A5949FD9AE38 +:100B40005DB7537CF3F9FB7601E02F63DCB112F85B +:100B5000C8309F841C58C5F9D3C7CF7527F3EF4021 +:100B600072AD559B6BD78AF15D4599EC6ACBC83263 +:100B70007BA161BE97A5F0B85F6B21B7BB23B973AA +:100B8000ED85C56796B715C9A6F3A87AFABF9D0A81 +:100B9000957F898776890F7A389ECA5800F1AD56BD +:100BA000CDED447C7756727C0F359FBA21E65337E2 +:100BB000C47C46A4F0F96868F4670D3D1F1D9E03D0 +:100BC000C9691D8E2F3983CB119FBABD39905E46FE +:100BD0001D8BFD3DE10CDE8EF5AFF9E9E559A80767 +:100BE00086A5897DF6DC4CC23B943FE4C94A9487D4 +:100BF000AB13FB7CB8BFBDF2D2A5E5485F6F8A732B +:100C0000C09E0C7E2F5B9F576F0AF7737B53B8BC57 +:100C1000580B7C131D97D807F4B44AB4EEBE9172FA +:100C200074673EEAC522FABE3AF468EDE8323C7FCA +:100C30005C88962EFB460DDBD08FB58973C7EBAB76 +:100C40009D3718E35D0D5E0E6F4F5AD52BC8077E9A +:100C5000572FED73B200705D367F6F12F97FB217B8 +:100C60002C3E3C778FFBAD14AFF1DBB9FD2FEE17B7 +:100C7000B110FB21F78B1E579805EF25875D5CDED1 +:100C8000B93749E407EBFB9ACF79E76E47F8AAFB3F +:100C900043747FE5408593EC98AFDBF87DC913D7AB +:100CA0004CA7F8E06B72FD76BCAFD1F7B68DE1FDD5 +:100CB000DA13975E528B76CD896BAEBE18CB4F4858 +:100CC000AC56E28F0C79F0DEA667B4F6D83E845BB2 +:100CD0009B83F6C554DFFBC24E0B78E44AA8FF376E +:100CE000CBEF52009E7F729DBA0FC5DA352C46E7D6 +:100CF00023F4FB116B5343FB705ECAD59714A17CA0 +:100D0000596FF5E6A1DDB8BEDD568AE7D4D2BE0044 +:100D10008703E9F1F2147EEEA60F781EF28BEF9AAC +:100D2000F79071DF727116E003F0606F6C0BE4C333 +:100D30004076CD4F4FAD7846733A189E1A3A88F8F0 +:100D4000A8B6971CF6A2FE6FE0F718F47B0D57DFEC +:100D5000C0F36F8AFDFE643F35D92F3DAACB451FF6 +:100D6000BFFFADB8781C937995A477CF72C91FD314 +:100D7000F164A4077CB7CC480F78C5284E0F01BF9B +:100D8000D0FF717A904E9F73F6F4B019C784F55E68 +:100D9000319DEFBB86ABFDAF12BFBCA612BFE8F71B +:100DA0009092E97E75A8C92E179FC91F3A3FAC2DB6 +:100DB0005BE1D55C48FF2B96D07D91139286EF24A2 +:100DC00078A72ECAC2EF97D759090F3A5FE8FCB04F +:100DD000C013E78BC7918F43AEDE599276265FA092 +:100DE0007F69A4FF25C827F2997CB290F9AFC4F3BC +:100DF000970B15164E4D4FD0FBC24AFE2ECFC2DECA +:100E0000167A87696193C44E9AF403E4ED26B879A3 +:100E1000E3EFBE5ACE1EBE6B2F92DAF1BCCD5AB5AF +:100E20008FDE290BA771BE6B75487BF17DF576F7D8 +:100E3000876D687FACCDD6E81DCDE47306ED6353B6 +:100E400088AED75E3182CE3BDCD7ACB110C0F74F55 +:100E50000AE3EF95CC7713BDFF3DC03D84F7AAC0F0 +:100E60008EC072E0639F2B0BE9D4CF7C507E85A5AA +:100E7000A7E110F2C71F53E8FCF8D7CF8526E37B24 +:100E8000CDEB2B6EA27B545FDF191AE52D36AE2316 +:100E90003A9CDFB7EE1D2ED39B419AB87FCDC4F7A5 +:100EA000D008FE3D4AE956C0FF49B4533DF9BA1F88 +:100EB00025DAF552BBB59E1E07CD37DBEAE5EFA379 +:100EC00006CACB213FEF9C4C86E7E2B65AF9FB1CE1 +:100ED000C9F0BCD2C5F9679EA553C3737765AEE16F +:100EE00017E0B93C67FE8ECE722F860C865F70913C +:100EF00003EBF17DEAB6EFA794A333B8BDB9FBFCD1 +:100F00000F0C71B7514D5D2C84F7318A8364C7B4DF +:100F10007D6F91ED28072782DDC3F8F716837D5694 +:100F2000E5E2F2BF4DD83B6D2D415FBA617E6DC2E7 +:100F30002F6D3BE0207B3D65F635BB1CF9C6797310 +:100F40007DD926DE2D1955DC27FD04EBB774016F22 +:100F500043FDD8AFC99F069D2D2F35E81FADA9DBF6 +:100F6000EC57C014534B71BC4EBA17EC1C63F7A27C +:100F7000BC5B5854F32F4A3F748B7F270DF4A7CFE7 +:100F80005F8F73ACD4EF5D67B557213E9C754C42C3 +:100F9000B9BEC2C5FD8A02246018EFCBA29A41E314 +:100FA0000478FF1A2C3DBA7F1D1EC7EF5F631EEF4A +:100FB00049618AF7AF31C5FBD7588EF7AF318FF74C +:100FC000AF318FF7AF318FF7AF318FF7AF318FF789 +:100FD000AF317DAE394429DEC3C672BC778D79BC92 +:100FE000778DF97936FEEE182B0A39CB112E130ABC +:100FF00025A423E75A6B00DF69382AF03773CDFC4C +:10100000F5C7306E145028C694B245497B83E74932 +:101010004FA7F8F8BE7FBBEF4986BF33A05EE0A6BE +:10102000F8CB3DEFB9284D99FF144379B553D52C32 +:10103000192530BF75575C601F8FFCCC5AD3FD90CB +:10104000775DBFDA0E2430A5EC8B9B9E84FC53AEFB +:1010500045ED1823BB27ABF6350DF2BF752D69C7DB +:10106000A31EA36754B9F97B8E4BDA0F43FA63BC16 +:101070000CA8DF0F8079074252FC3E80BD10CCFAED +:10108000C03E10C5E04FB896B6DFABE17E5C5718A6 +:101090002FB6A9E1BA76DCFB81F64AB697FABF60B3 +:1010A000A29428CFEAB8AA7DFE7863FF4BDA03D07A +:1010B000DFABEFCAD4FFFD503F8CFD17782FC5275B +:1010C000E2FADE93491FBF69D55691DFB916E413E2 +:1010D000CCF7B2A085E4CBE81AB68319E2EFDE22A2 +:1010E0001E8FBFD4CDF9324DBC3F258324C6384472 +:1010F000EAECA788885203E6F7FB9CC54AD2FBBFFF +:10110000E6F7912F75733D74AC80D13BE57DE3ED3F +:1011100051B42B96223DE3392E17B7F32E0B3EA880 +:10112000E13BE5A38BECA5A80C8EBA34BD5D0CE7C2 +:10113000A7B74BAE87FDCA8672BD1DFBEEAF0ACACC +:10114000A1B6F58CDE4173164435F4278CFDCA65D3 +:1011500003F76BA8C72C838FCFA441FAD1F9CA69D2 +:101160000DB8919EFB2672BCCC9FB75EE75319F772 +:10117000019D4EB3BD6AF7546F73031EB6B939BDF6 +:101180003B9D5DDD05D8FE3C85F66DD9DEBA239822 +:10119000FFBBFB6592B3D90AE019FACBEEF096A03B +:1011A0001CF954C8D78CCCA573E91DC44D0AC3F7EC +:1011B000F433C57B10994CF2C734A4F7CE59E81725 +:1011C00086551E7F2CABBCED9232F83E75D657C4C7 +:1011D0007F539F9725B48B3EF5F079944C7637A0DA +:1011E000DD7BC9E4915390AFEE4E7A9F424F6BDDA9 +:1011F000DCCFDF25EEE748DB8E3790BD59EE92500D +:10120000DF7DFD05D74BFF26E639CECAD70F9E06F8 +:10121000D9952D3E85DEF59073786A551BEA910EBF +:10122000AC5BEDF41E96F5FBA976D42BADDFDAC4EA +:10123000FD9F1EB237AD8E9017DFB72AD820533CE2 +:10124000A0D5EB8CE253DCA9EED26E0DF5E42CC5F3 +:101250003F06D6937A9E42749FE6BE228AFBB8BFB1 +:1012600038E0A0FAAADB1E4579BFABE6CB600D944F +:10127000EF9A01F204EAEFEA981F243EF2CADE3147 +:10128000A4E7FCBF473EDBD5E4F5237DA5E2FE0DD8 +:10129000CCE3CD85D37D757C7F80DE85A3A72365D8 +:1012A00043BC9D058AF09EFA346F752D9E7F55D301 +:1012B000AAED2887D266D5D8793BF33B9B911ABE1D +:1012C0009F8EE5D7E23A23EC30BE63AEB36E5ADAB6 +:1012D0004609E311EA4FF8B748FA34ADCE85E39AF0 +:1012E000DF9FCB77D963F43B135EBE2FA615717BCE +:1012F000355FDCEB80EF14C7CC8998F919490DED07 +:10130000DB5161F33B9E0C230BB0BE11621EAA5849 +:10131000FFF48FCDED4788B8E688A4F7EC66B9F501 +:10132000F88B194EC9EBCFC9DCE5457B3E27ACD025 +:101330006492D79593C9F7F5F2BD4EBEBE4CBEAED2 +:10134000E4754CF39EAC42BD97BC8EE9ACA705E9B1 +:101350007064A3F97BF27CA7D5EC0AA2FD3CAD48F2 +:1013600021984C675DAD1877D7F1EE2C30F3EFA7DD +:101370002EBEDF067CDC867C3CBA43060590E87F07 +:101380004CA793850DE38DDB946ECA8F8F0E37D5F6 +:101390003F676F81A97C62D70453F9E4FDA5A67C61 +:1013A000496C9AA9FE94EE6A53BEBCE76253FDA94C +:1013B000C7E79AF2E7F62E34D59FFE71BDA9FCBCB3 +:1013C000BE9B4CE53FFA7685295FC57E6EAAAFFBD2 +:1013D00055CCE7EF0964E27DACCC12945B3ABC7E5D +:1013E000EA36EF1727FB51C9FB849E140EEFA1FCD0 +:1013F000B4564167D9F30B58C8F03D73F60453DE79 +:10140000B7A894854C7ACCECB7B57D3F6F01FFDD72 +:10141000277E9F3A927505BDA7B162BC95CEC59354 +:10142000AB87EF4EBAD3489EAD78690CBD43765F6B +:101430005A603DE21FDF730967E0BE8B95F499D3D4 +:101440006525BFDBE9FA25B7FF0AED0CB7749D45AA +:1014500051DA878934779C5F0876F72F9AC3942AEC +:1014600045C130EA152593D1BB2FDEA23ECA7B676A +:10147000F0FC72B746EBF4CE80FA8675A85EE8C73A +:10148000B0CED7F03D56F2D76DA4AF74BF3FD9CFE1 +:101490000F79BDBBF7B184BF0F7E349D1BEF6B4B43 +:1014A000A17605E8A8950EECD7CF603D164CCF6726 +:1014B0007D94EE620D0568BFBF610D5BF0B7716E84 +:1014C000DCF5EA0D388F73CB9CF41E0EC601DC866A +:1014D00038C089346F1EEAEBFBADC1F5C770DC3B49 +:1014E00055867A73F19C4BED280F168F57FC7CCBF9 +:1014F000121C788C076C4EF7733D2FF488C21C8544 +:1015000050EFF2BB0B4BF17BB6D240FA367B9157D2 +:1015100042FDF8BDA0B78CCC32D20B199D8A5FD3A7 +:1015200010345A35D6CBEC60FE18D49B5B00FA120F +:10153000F5FB7DFCFE7B41D1D8C308A711CB62929D +:101540000DEDA68046E7410ADEBDB01BEFE7AF55C3 +:10155000613EA84FB72A824EACE4E7ADD8AC909F6D +:10156000B7E225D55188F9354A090A120FEECB02A8 +:101570005D78ABB83E2AD83A368AF6C03D92771BE2 +:10158000F9556D363FFA550F083AD88A740176D36B +:1015900089ECF655F8A4C478D70E19CFD59F937966 +:1015A0006015A613734FC8189E995C28B5E2FB001E +:1015B00025C5F9163C9F3CA5ACAA15D3F219759622 +:1015C0004C48A7D64878ED85FDC55D4070B86AE9FE +:1015D0009CE368E754795DF43E4CC1B48F17A03C9E +:1015E0001EFA3D9E4DF4FB1F6CA9F93D9EAA0C17F7 +:1015F000ED737A91CEF32925BBD33B3F258A740E38 +:1016000076B684FBF1E12AEEA7E5066212EA4368AA +:1016100027619CDD1B7348E8478D08F44840F36C54 +:10162000C44A46E7CEF202BD12EED7E42E33D3F918 +:10163000F0D4D0F76E5847DECA0ED3770FEE1B02F8 +:101640007C2332973FCEF4901BE9C739A920BD55C2 +:10165000E371C239C509BA7943D823BFF5C8E23D61 +:10166000272EBF753B56B757DBBE7F302A035DEF91 +:10167000EEE3F79EC38DE23DD8BE9885E2533F9DD1 +:1016800043F49827E2618BBEEC6AC3771B2EB7F553 +:101690001D4A4586B999DB5B3B1D66FF78BE87CB4B +:1016A000ABCB44AAAE058D3FD9F0FB2DF807FD3F2B +:1016B000D1C4ED75F54FAE8EB4541856CC77D26FB9 +:1016C000BCD5B8AF9D1FF31EA4F4A8480F432ADA77 +:1016D00023E271AAAC9F38F88E48E611ACB7837943 +:1016E0008F780DA95AE0BD18CF75B1DFC9842F9648 +:1016F000CBE85CF38E48FA4E3C4FC1C02FC1FBC40F +:10170000797766521EEAAFA5B8DDFF7232F43BB4BA +:101710004625E0E8673F71148BEB7399DE0F0EF3FB +:10172000BC9D75B4201D4DDE6FD0F70CF59A393F86 +:10173000A5DB9C2FEF31E7A71E37E75FF270BB14E4 +:10174000BC9163853A1CE0FF46C1FF1A817134B138 +:101750008F3BAA91DB1167DA3D66FF86093B6889FA +:1017600040CDB9BD66BB6389B07F9624D913275C91 +:10177000DE2BEA200DDC1BA2733AA1468B5F823977 +:10178000FC79EBD763B81DD4978571AEE14834304E +:10179000DFC577C6E39BE17186F8E6DDFED71A0E5A +:1017A00041FEADE3368AA1CDB21CED6E46BD74B9E3 +:1017B000AA11DF4D5DB63D05E3D76FDBE8B795DED7 +:1017C000D2B46164C776AB8497D5E2FC9FFE7EB24B +:1017D0001EAF5B2EE8EF461D5EB82146719F580A8A +:1017E000DAE793F733569C640FF2F2800BCB4B622F +:1017F000C9E501575576FC4928100512C1BB5CD8D4 +:101800009F986F027D5276CCFC6EE9B005E6BCBFB6 +:101810005B253B75120BA6A27C46D71BFB9924E0E7 +:10182000EC4FBA4F3C49ECB74F4AFA9ECDF8FE6CEC +:1018300076992B1ACD3F731F7D9DD620D1FEED22C8 +:10184000F048A0EA6A8F7807B1981523DE67E1EFC8 +:101850008D209CDFB0507CEFF213E3DEAA43BE7E06 +:1018600095EFDBADCED736A05EF2BECC7F67CC9BCA +:10187000C24A4A5C89FDF65F9EF633DCCFD6E3A40C +:101880008F373386F2BDABD9CE50BE3FD9ECA5FC25 +:10189000BE661FE59F69D628DDDF5C44E973CD7E17 +:1018A0002AFF4D7325E57FDB1CA07CACB996F29E28 +:1018B000B4AA873C00EC77A11EC66D9D25FBECB851 +:1018C0008F71F935162FD259321FDA6E9B97752515 +:1018D00088B69FDEFDDCAC2C80C75B2B2D145778BF +:1018E000E89EE766B5149AE3B5C6B875225E0BFCB0 +:1018F0007B0EC56B43765029DF88FDA478DCF606A5 +:101900001ECF1EBA1F1EE7C6B8AFDA5F3F222EBE3B +:10191000BC83C779975776D0BDFBE565DC7FE93896 +:101920006E7E77D90AFD627EF9BEDBF8EF5FAA3DD5 +:101930000DE44796BB841F7907F995AD5BEC6C55B8 +:101940007EC29FD4FDC864BBDEE09F9BF40246705C +:1019500090BE9C7689EB3F16F76388DE7EE4E1F566 +:1019600026785F3D885B5BFB319E04DF8B7D5F5497 +:10197000F37813CF4FD2D20EA51BCAFD45253333C2 +:101980000CF922FB89052D187F5A7715C5A30ADDAE +:10199000A507330CF1A86338208F3705508EFFBFA1 +:1019A0008E477D2CE228FF90F56C3AC613C28F2932 +:1019B0000CCF0FBF90F5EC70F467517F613C0E7156 +:1019C000CDF505E3F7218BF8EFD6C5F58B26D1BE13 +:1019D0008F41BF1CA1FD07A15FF2D2C2B213CAA3FF +:1019E000BB98BFA51FFA36E8190B9DABD19866AD21 +:1019F000C0EF8CFC4EBD1CACB0187FC79EEB492AD3 +:101A00001F8D7A40A677DD0DFD105E8BA2063C335C +:101A1000F4D3CCFA66629739FF5FA5CF74FA5AAF58 +:101A2000F4D079B0F5DFF54FB78B5375791E9FB7BA +:101A30007C7A6A021E749EB300535E0EDC7300D77C +:101A4000198AA8A67197349AF38B569AF30B979933 +:101A5000F386F184DEFC81F970E00DA3BEFE40BC8C +:101A60005BA1EBEBA52CFF02B4537EC2FCF46EEC41 +:101A7000B51DE67736DE409D4A7150FE3B6EF5E2BD +:101A800077DB58CD31DADFCD6FD2C84F98AFC3279F +:101A9000CCF5B81D2010FF9D15C3F8F917C92B22EE +:101AA0007C5D267B20F95DFFFAA4DF85D392E212EC +:101AB000768DFF6E5E5E53721C354CF8C4F1F0F704 +:101AC0000CCE9CCF0F1B57EFEF24E811849BFEFE3A +:101AD0007C9CBE955E09F72FEAF19D53845F130B42 +:101AE000EC207BF147744EEE4AFDDDA330233DAE82 +:101AF000091E6915F04A8677FDA2D76B11DEF565E0 +:101B000032C51D596301F134D16101BDE76EC5F2E3 +:101B1000BC7512CB9058FCDD942B451FE9697E7A89 +:101B2000EFFD64849F1F3CB9685E36FA073ABE0138 +:101B30001E27393CF83B24F98DE677477EC2B85D15 +:101B4000C0C4EF76FF2449FFEBF8AF6706FB02BE87 +:101B50008FC24770B250AFF0DF5F5E8EFB88A85F28 +:101B6000183F1AD7F1C1E0FAC533D3DF81F73AFB4A +:101B7000D2640DFDC5C852A5768739AE673D8D414B +:101B800033FC777682DFFE2CB31A8C1FBC8EE719EC +:101B9000A1FDEB3FCBD8814F50BCB960A61DE9E356 +:101BA000B534FF44B98413867D06E41DFEC718E4EE +:101BB0006DAB7B2EAC1D99C83BD77E43F9D7D3B50F +:101BC000AD98FF752A0BD7CCC07E797EB5BDF7C224 +:101BD000C3E78971406EFFF117A756877313FC8E18 +:101BE0004F07707A31F39F47BC5F9852C536E04F7C +:101BF000C0807FBAA15C4AB44BC776D220EDE6B074 +:101C00000D4A3FED5C7A3BD031ED8638A01EE7935C +:101C1000C57C8CE32B680778436EF43FEE99A5787A +:101C2000D10FFA8FCE237BA875D7B10DF83E6C7219 +:101C30003B98768B3E7FB9FFF947B1DC38BE3AC896 +:101C4000FCFFB3E131547F5651FE83E707D557655A +:101C50009FC57A617EF8141FD3426E79B0FEC067CB +:101C600058D5FF7A3B93FA4BA3F9F942EB079DDF76 +:101C700000FDC17A3718FBFBBFBD68D36800800048 +:101C8000000000001F8B080000000000000BE57D35 +:101C90000B7854D5B5F03E73CE3C92CC2427993CBA +:101CA000264F4E42A241034E428241239E40A05104 +:101CB000790C15246A90E1A5111122DA765AF166A1 +:101CC000300F02C23578F5D6279D2078B17FEB1F03 +:101CD0002DB7E55AA441D1A2461A5B8BE8D51AED7F +:101CE0004B7AB92545FDA1AD7EDEB5D6DE2733E7BB +:101CF000249304EDBD5FFFEF868F6F679FB3CFDE48 +:101D00006BADBDD6DA6BAFB5F64ED24296EA9019FE +:101D100063BEE076A992B17F9CADA85B0BA1EE6299 +:101D2000AC3793B17CF895153196329D3105DEB311 +:101D3000C94A648F04CF15E676543056C094F0003B +:101D4000B4753316FE1C9EB33B783D9185239FDB13 +:101D50001853970F3C689BC8D8B15235D50F8DEEFC +:101D60003D34FDB5CA7478BF45F22740F3447B97F4 +:101D7000E42F63AC7A5557AD039E3F7C07EB611AA5 +:101D80009691041D9E3F3C1049D0E0BBEAA65D5BE6 +:101D900018BCAF6EF3300DC699CEBA5A55789E7AFC +:101DA00099128840997299A233802F35F592C7E530 +:101DB0004284D7C1B07D9B5AF33883F66D0E7521EE +:101DC000D6C35F676C0FBCCF5FA52EAC83F6F9213D +:101DD000BBDFA6213EA2BE51F68711AEAF0D4A5A17 +:101DE00019223F282D9C0C75490AF440BD4D57A877 +:101DF000DFC4BBD82E09E9C498A64C632C1B7FB363 +:101E000061BBAE4D33914EAB611C28B2F57DDF90C6 +:101E10009219FF9926E889F45698E680FA4382BE23 +:101E20001358FF21673AD28F7FC758BFB4D00345FC +:101E30001B3B5C9C8974E63FD948DF52FEFBE7F010 +:101E40003F5FB5859D53A03BA7BA03E162DF501801 +:101E5000CE0F13F342EDE4E1F5FCBBFA5359D9D8A8 +:101E6000EDC6AA035C8A2B6D1CED0696CF65C948AA +:101E70006FE537B1F0AF605037DA013DA70FC4D43A +:101E800079E146BA4D204A43F9CE152718E05B5D4B +:101E9000D6360BE19F60F99EB12EC6AAA2FCC17492 +:101EA0004553E17B497CCF3A028C013F3A99BFD33D +:101EB00031111F36AABFBB90DEDB3E877227364446 +:101EC0003EC967C4E7D6EFA5D0D6008ECF66887E20 +:101ED0001299CB0572E074420974901CCC958D72F6 +:101EE00001BC60C3F948B64590DF36494CC1E7D123 +:101EF000F106188EE77425B5FDC60BF2A1FA5D0850 +:101F0000EF663B6BE8417E06C2F6E3FC28011585CF +:101F1000AB15DE97233ECC6F63C00FB7AB1CE7CD8C +:101F20001EFF925A84F7353BF14DAB0FDAC177C9EA +:101F300049DA5296CA588BBAB0DE054CF7F399F0DD +:101F4000F212C6EEE9BAAA339C07E39ECD65C1A999 +:101F50004033FCB91CEA4A33C3F19D670B4CCF9F59 +:101F60006F612C787EB43ED35D5487F0EC528118BB +:101F7000198CCD62FE36FC6E964B66C19879759EC3 +:101F8000CD6641EF48FDE7999E3FDFE26241E77889 +:101F9000FA4F6241576CFF13E3F47F9EA57F75C42F +:101FA000FEA3FD7A4DFDB62B8CF448B82189E6DFFF +:101FB000F8CE289F5567FE8B0AFC75CCC19A501F3E +:101FC000309FBF5F07FA6FCE4B2FDFAAF17E907F65 +:101FD000E6A4A7766F85EFFF4DB5111E7573272A0E +:101FE000A81F589E3238C4AF20F77304FFDA80234D +:101FF000907FEBD2ED16FEF72B010FC26D7D1E23F5 +:1020000047327215A371ACF0DA3C95FD08CF86A576 +:102010004ECD5938FCBD51BED3C266149730F6661A +:1020200042F352E667ECB8BAD2D55E0D75D44139A9 +:102030008CFD41FD87FA30E0FB8EC4F9B33DFDF91C +:1020400092E5EEF8FD352A4CA9AE18E5BDA3B7041C +:10205000F57EA38D057B88AF8393BFEA89790F084E +:1020600056935E89903C1BCF97364B338A63F8ECCE +:102070001D1BCC0387A76A79D9E8F0D4A48DF2DEC2 +:10208000D95B45F0C8AC391E3C351563C3F32ED27D +:10209000A70CE1F979C968F02C55387E71DF3BFA5D +:1020A000893E4B913E65C3E159CA387DC784C7C696 +:1020B000F914E0A91A6DBE109E9A51E66BA9B39F60 +:1020C000E8B314E913079E9AF1CC570B30D7F9A85F +:1020D000E79A83A83F13CBF7B92682BC2D5E2AABC3 +:1020E000921623CFB75D9DB10478BA3969FFEC0C25 +:1020F000E0DB37EF90497F31B67F762D2CC13B2452 +:10210000AECFAA766CEB44BEFC68EE061FC9D7A71B +:10211000F03DE8EBEBB129F47FBDC2E5F1BA3C57E5 +:1021200064530CFFEF04BDA6835E8880FEC1721766 +:10213000E8091DE0DADDE2A3FA132D1A957B5B4A6C +:10214000A9FC2EC08DEFBFD7524D75A39FB2264973 +:1021500047FB63F25A49EF1E61BED7A44A24973B5E +:10216000B2D56B57A19EAE4DF4EF413DD17429D34A +:102170005DA25D1102DBF37C22BCDF7E0D2BDF0A4A +:10218000B50BF672B8D3EB3223B284743ADCDF02BB +:1021900075E762BB26411D6439C0F994B96B01DF54 +:1021A000E536A17B408FA8D06E203C7B37EA9FD5D7 +:1021B000A9769A8FE579471AD00E598EEB30AC5F2D +:1021C0004E308F50CFB13512E9B9609BFD8358FD79 +:1021D000721DAEB3D03E23A0989FB36D7FF226133D +:1021E0009DC99E59E232545EF9CB55D05F7AB35DFA +:1021F0008B705544EB5F469D23D20BFD2F7EFFA7CE +:10220000AA0DC72B57C8FEDA91A066E37A0672C5FD +:102210004269040FE9814606E319FC5288E399EB11 +:102220008CDD4DF830B9312588FA1EF960FA70BAA4 +:1022300087DED9D4763886EF96A57AD271DD059BF4 +:10224000A10CF5E527ACECDE3A7C99974EC69BF5E0 +:10225000FB332DE1B6C340BAEC548E8CB12E5BDB60 +:1022600019F034A3FEAD42BE1A9CF19B92287C0566 +:10227000CA8084EBCC84103C8F8187A5EB8CC5D8B9 +:1022800075F1F0D8299DCC66A3C86D01CC873C853B +:10229000ECF0DFE13C613768875BF16F41FC9362F2 +:1022A000F1AFF959311B495EB41D75282F4764FF02 +:1022B000262D4A1F831EFFD372333995D3957EA6F0 +:1022C000097A81BCC877FB35E2DF4C1BF15341FA38 +:1022D000CC13CA14FEFE0313BFC4D4016FF9F91363 +:1022E0009206F6FC775A8ED03C19E3C1FC48ED65A6 +:1022F000D8EF8084FB94825E6807FA4D0B315B1B3C +:10230000D457613F38AF16FDA66D3C629AD73309AA +:10231000C953580AF4E366A5B85FF2B1443FEE47EB +:10232000422EFEFC1B89C9BBB03C93501041F9FA08 +:10233000861C0CE27EE08CADC75508EDF6E504FF87 +:102340003515FA4F4A3D1C40F0DB332F29453E6AD4 +:102350000CDD19A803BB4CF5B2658111F8C15847D3 +:102360007B05DDDEB1F7E6A7023E1FE6CCEC4D1D96 +:10237000C12E680CFD03F53743E873EBFB37453F8F +:102380008F88F575C9ADCF9C7802F049D4CA2A90E0 +:10239000C7124BFBE74E05D6E8FCD9C40A34F77FD9 +:1023A00026DA03C29568AF6CC80A1E8D1DD7A5A991 +:1023B0004A90F455CF747C3FE3AF654FFF0CFAEBC6 +:1023C000BCCAADCAC0671F55CA9536DB7038A09F1E +:1023D00037911EAEB35B89CF8D7E0E260C3C827684 +:1023E0000A63575F711CEC9483A903B912D4DF4BC5 +:1023F000ADB8221DF8F560C6402EBEAF97D896C383 +:102400005807DEC5F5E2FC34B6250CDFCFB8F2E4A0 +:10241000E3F7A27D7E9EC38FD3BA4532CBF7956991 +:1024200032E173659A44F36DD0A16FEDE87438958D +:10243000CADBC7D0E1D4487468CCD507F13900B9FC +:10244000602A7CD2D9C202AB00463DAB27612A4C40 +:102450007CB6D6F3E4BD0CB7E1915A5B21F5731657 +:10246000DBBBCE76FE494E8EF6F37A8EFE67A44F26 +:10247000DFDA9FCF9D0A7025F4C97E09E8E92A6654 +:10248000E1A464FAEE734E3FFE9D9EA52AB6C2E813 +:102490003C5CE7E3F275A397EBB93461FFB43ABA59 +:1024A0007C0BA1548BFFF97615BEEB28EC6A1889DA +:1024B000EF98D746DF8398EAF85D9BBACBB522A6A2 +:1024C000DD0441BFA66C3D390D4A87C4D7ADADD5FB +:1024D0009C6EC97DDE0ADA9715B3CAAF825C5EE2F4 +:1024E000E5ED01EECC3480C731BD8B9C0B09C51CDA +:1024F000DFAD65F731F40724F8EEE765F1000B0274 +:10250000FF26B01E17CE77C97D295BDAAA110F7F8F +:1025100029D6E7781FDFA2805EED46DB04EC581D6C +:10252000EAE11AD063B0FEA5A19D9FE3A0FD991535 +:10253000AFF3BC9C9FF52CBD04E1184627E7C0E330 +:10254000F7C2F75B2639FC61807F86ADAB6105F28F +:10255000D3956E5ADFE179432446AE96083A2C496A +:10256000B3D3F75BFEECA2F7563A8F97CF6AD286C9 +:10257000C95B4D5AD5887C76193E1FC6672971F90B +:102580006C76DAC87C3667243A58EB8A8F85514ED0 +:1025900095B31DFDBC74BD8FFD005B8519F4AFD4F0 +:1025A0006FA37EE5B389D44E3EBBAD1FEB8A1A64A0 +:1025B000384E8614BC06E1657B2505D747322F349B +:1025C000D4A73ACDF36F53C7394E71C758E3AC1C4B +:1025D0006D9C8BD2F83833AE7407719D9A21EC70E4 +:1025E00083BEB25721BCDF48E3FBBB78F271B197E1 +:1025F000BF8F271F05DE21F9D840FC3E867C2C10BA +:102600007C09F3F4ADD1E563379589A55C3E12856D +:102610007C147859B8DE87F07279D892F6E816F40F +:102620000718F2D2E87DCA242F8BA18EF2120FBFB9 +:102630006A811FAA16A4CF6B957218EDBE8FD8E4DD +:102640005D68B72657ABCA0A78DE9566C0ADDF4B2A +:102650007467030CF9B69B0D1E72A21C564B2437EF +:102660009E708FEE427C591743FFD783426E76A24D +:102670007D8BF6F3798CE495295D0CE96195E38413 +:10268000E25E5A2F87EC0C41AF9BBC81EFE0B8DDD6 +:102690006C6012DA39C67C58F1D92DC6D372F4DDDC +:1026A000D8DECADF63AD1B3F15EBC64F453F697FE0 +:1026B00075358F24E733D63D7BE28951FA392CBE3C +:1026C000FFB1A09BA1DF130DFD5E3AA4DF7F8C70EC +:1026D000BAD66EE5FA3D97EB7790FB0323CABD1798 +:1026E000E45E1A51EE0FC791FB1747A2C3DF40CE3D +:1026F0007F81E3C593BFEFA5F1F1C6A277AA97D377 +:102700003BD5FBE5E87D5AD0FB842847A1F709A219 +:10271000D3707AFFE11CE97D3A0EBD3F4A1B7D3D37 +:10272000FFF348F3EDC27179BF9FC5F6AB4F80F759 +:1027300012F2B52AEC68ED36B49B1F01BB0BF7878C +:10274000B0BE49DEFF9EF94DF18E32BF336CDC1E08 +:10275000BB396D0DD9637F83F1F2471BEF6DA1CFBC +:10276000C75AF7FD828F802EC5DE8CE17AB21B4CF2 +:102770004AE41B3D2B78A197EBB12B502FEDFC5673 +:102780009A8471933CBD5742BBBB448CF7589A4620 +:10279000FD19DFED547A2505DB37AB525832F5577A +:1027A000355A7F563800BE6A6C7F93579F8EE5EE90 +:1027B000348BFD26EC88EEB4AE26D4DB73849E9E6B +:1027C00023F4A151FF205BAFF5F2F5A40E4BB0C38B +:1027D000EFB01571BDCDED75AEA70D7C6C81081BFA +:1027E000C07505B673B82E46F5FDD23D86BE5FEDC9 +:1027F000C6F68AB0E3F47908DF6CAFCAED15D15F95 +:102800003C381B853DD928E6C1A8039CD70838AFC2 +:102810001D0D4E2B9DC60B6F7B14DE95DEAAF8FDB9 +:1028200001E7101EC6BC611FB83FEE6BE3F2BAA011 +:102830006F22D96BEB87ECD8C03AEC4F4F520F7B2D +:102840002988A02662BF8F08FFF1236BEFA3B8573A +:10285000F746B51CEDBA9C26BECE696B0BBA71DF8C +:10286000F84D315F563E1DFADED133696A19D1E564 +:102870002EA4CBE535DC6E4801BD81A3A1FCE3FEAF +:1028800032CD19F6E1BEB6530AFB5620FF5F017642 +:102890002A36702F1AD1FF3164DF0BFF86812F7328 +:1028A000578ED17E13B55793C2CD817369EF0C93C8 +:1028B0007D11A5A3B79CC8E51A3CECAD449F432A03 +:1028C000F9C51E137C0BF3F420C9BB3B9DFC260607 +:1028D0005D87F7CFE7AB36D02C219D134A6128786E +:1028E0009A1008A32F84D9B42E3680F65131F00700 +:1028F000FA35DD6F507F5138A64E35C3513E15E194 +:1029000088F6DF61C0F35DE29B71C263B48B4F1741 +:10291000DECEF027C4F31FECCB091E403A8431BE53 +:1029200083F3FA2B4FA495006EBE283019CB5EF2CC +:102930009B5097F073B9CB4DFA937DAA9C8C8D4335 +:1029400080D664B9E4BF1D8A4F499F279D131CAFF1 +:102950008D06C778FD17C785DCC4F82F8E7BAB4684 +:10296000682FFC17C96C202CA31F4865643FE290B8 +:10297000B9155C7ED13EFCB5E0979438F6DEAF85A4 +:102980007C19FCBDA47D262B42BFA28B853D69BC72 +:102990004CA920F9FAD04BEDF83AAB5F95AAA01FED +:1029A000D6C0C7C0CFE8F71381C710BC0EBE7F7872 +:1029B000C7CE1A9E7673FC2A62E1C9A9FD24164F80 +:1029C000033F2BBC475A42813A3BC6B582547A43F7 +:1029D000B300070E674205CD63D85E81E1E5FE1BBB +:1029E000360008774941960E70DF7ADE897FF4035E +:1029F0007DFA5D5337A11F76FD5CF2218F9B3FBEB0 +:102A0000285F58F9E18C4D7D2708E3B6CE2E6F483C +:102A1000470D159E7A651FD81EADAFF98FBBA19EDD +:102A20007BFFD42B7D2017ADAFFB1B3260C9989F75 +:102A3000AE6EDD06FAA375A1447A98857F90588B17 +:102A4000EBC615BC5E923EF74AB41F5AAF95C89EBE +:102A5000B800BEA7FAA178FEDA76BE1F4019047A44 +:102A6000B7D64AA3FA752F4AE7EB5EEBBCD1DBED94 +:102A700036DA2D951A46F2A719ED3667F07621DC85 +:102A8000AAE037676DA4875BF50F5E95A07EA886E8 +:102A9000C7E9D8E15AF20F5F9E2026A6AD96E6E977 +:102AA000A8981390B71A9CD7172E73D27AD1756550 +:102AB0006204BF3BF469DA36D4FF5D7A11499F1393 +:102AC000F8C15DC14BE4673BC8B92CEA82AF67A58A +:102AD000939D2355A6533C5C55505EE3F1DBCB251B +:102AE0006F16A03D057C7515E72BA90BEDB07ED7C1 +:102AF000C46D7E1877FD7ED9EFD4E2F3CB70BC4F66 +:102B0000BB717DB6E2F7B36A3941720FA703E07D6E +:102B10001D8E7B306FB00FE7E668ADCD76378CF752 +:102B2000C274E7A4015A07038DE9B8DEFE82AF7BC9 +:102B3000E3C06315B63F773CFCC78388C7A70EBECA +:102B40008E0A38E7C7992FD9F3B11BE143BC70DD7A +:102B5000013C36201E72FE401EEA0F03FEF1EAC958 +:102B6000BBD287F979EF4A1FC14E30F408CC7338D5 +:102B70009DDB4D1FAF67683773BB299EFEDA9E6EE3 +:102B8000B63BC6A1BFB6C78E3F5EFD15330F0F7CA7 +:102B9000117E829926BADB05D9A1AAA9509F81BFCF +:102BA0006B98E7C1069C13A37C2F9D65BD9E64CEE8 +:102BB000FF98AFD11A0CFABC72FCFEF7E5049E40F8 +:102BC000B8ECE90372F01CE6E7E9E1F3F3F468F32B +:102BD000335B3ED99A027AF2748D44F8EA67012594 +:102BE000D2BBB09589C167866B1BED8F52AA610E6F +:102BF00063E20EA9BA8B2931713A6FBD6AAA6704E4 +:102C00007CA6F6590D9AE97D76B0D4F43EB7C96F2B +:102C1000AAE737579BDA4F08E9A67A61B8DED47E77 +:102C20006267C0542FE96A30B53FFFC1A0E9FDA437 +:102C30004893E9FD857B9B4DF5C93D2153FB8BF600 +:102C4000874DEFCB7B3B4DEFA71EE932D5ABFA1F8B +:102C500034B5BFF878C4F47EFAC05ED3FB4B3FECCA +:102C600031D52F1BDC6F6A3F830DE5614994F70670 +:102C700096A462CC93CDF49EE250A7813131BF2E51 +:102C8000502E91BF18D8ABBF18F4C3D5BC09BB5A9E +:102C9000E447B1B976CAEB08C33F5C7703B1791E4C +:102CA00085D8AFAA60DE99EEB79BF2A86688BCA86B +:102CB00019967CA85A5694A2C1B8338EC82C02F536 +:102CC000B963F0D570BCA431F062FE5EC4EB973CF2 +:102CD0006F8E85F57ECC578B87970EFF10AF05F86A +:102CE00012BE9B7F96517C78189E029FF9D59282E6 +:102CF00072370C5FC6FD01567CAD71CF820C11F7A7 +:102D0000F4333FC6FF66CB6E82F7F41BA057587CA6 +:102D10003AD4865DB4AED6EA5204E966C43F87E190 +:102D2000EB63513E01BC1234B31C26959AE5D0E307 +:102D3000F78DCE4761362ABDC7A2AF06FFB8BD36B4 +:102D4000A8207D67D448ECE1C2F8F45DA098F38A2E +:102D5000C64BD72B32443C5DD0F51356B3602AD016 +:102D60004F5F90AAA07FD5AAE70CFAC13E69414601 +:102D700046FC75A731E39CEDE6C68C2F6037C7AEE5 +:102D8000FF195F60DD8175E1661C972941ED5CF6F6 +:102D90003777640CDBDFDC110BBF158FA1FD4D0D08 +:102DA000F78F1BEB182B96487E3AA6B35DE8C70B4E +:102DB000678CBECF096758F739A795D87D8EEECCC2 +:102DC0004A44BD0076423BC263EC7B3EAAF41E46F9 +:102DD00097E09DC23F18C55FEF44BA8D17EF7F1A89 +:102DE0008EF73F8D86F7C14DDC8F71F035D9BF0B63 +:102DF000467D315DEECD007CEF6393291FC688C709 +:102E0000D40719975365C75EDCFC01FC8F61BFF5E1 +:102E10005AAD74B31B9FDF46653C7EFBEEB9F3DB16 +:102E200077BF24BF3D93F105ECCD2FBEDF6A3E1E78 +:102E300084B2B59DEF87366FE1F9699B37F1FA2FC0 +:102E4000055FBC20E8B02393F3516D7235D9B7ED1F +:102E50009287F464FBFB7C9FD16197228CFB995F86 +:102E6000C1F93F9C3D2D05EDD68FFA7EE10EC6ECF3 +:102E70007BDE11F81F13F8BFFBB521FC7F4EF87FF6 +:102E80005DE0DFB0727B9509FF3C95F435EA1939B6 +:102E90008AB743EDA1BC8F39B29BF06B2B6611CA88 +:102EA0009961FADCD931FEDEB63CAE9F93503F43C8 +:102EB000DD25F29D40AB521E5327FC233D2DF29B96 +:102EC000ECBE98FC228671649E4F93C462F29E0A07 +:102ED000A3ED132CF94856BD78D2D08B0E96C5F5CC +:102EE000E2C6CE0B09AFA02F765F65D58B46FDF00D +:102EF000C0C4AC8111E4C82853AA5DADC531FA3A0B +:102F000055574D756FBDAF3536DF2E23A099DE675F +:102F100035949ADE6707FDA67A6E53B5A97D7EB318 +:102F20006EAA4F08D59BDA178603A6FAC4CE0653BD +:102F3000FB92AEA0E9FDF90F3699DE4F8A349BEA89 +:102F400017EE0D99DA4FEE099BDE3F85BF901FA06B +:102F5000E82A1DE8F414E6F7C1BE3FE79F275C8529 +:102F6000FED98EF797F8301EDA9E718D2B961FAD25 +:102F7000E5E10CCEB7F1DE1BF27BB02510A82B618A +:102F8000ACB7A5C124CFF542AF1D6E69A2F72FB52E +:102F900034D3F38A4C2E4F4ABAC8CBDF6F7BDF990C +:102FA0008CFCDB1C46FECC90821599A847779BE3EE +:102FB000146819A1BFF0F2B3305E0CBEB5ECDA4074 +:102FC0005D0C3D66B9969BDECF566F36BDAF077A76 +:102FD0005C027AFB2BBEDB4CCFAFD0BE69FA6E53DE +:102FE000DE8A07518E36FB1C947BB699713A1A74AF +:102FF000DDAC703A1B74DDBC7F05E5570ED19F7DBB +:10300000E52A3C9F61D0FFCACC3A41FFAFF8707F00 +:103010007B3815E83B0A1F8F455F2B5D8F88785DF5 +:10302000BDC31C87DF28F49551825E5A8AF47DADBA +:103030004FFE3848D88EEECFB08E6F1D17F4555323 +:1030400026F4FB9F256FDE781F1BAEAF43993CAE85 +:10305000566F830D16D83DF5F6AE7AF27B8B7DA9BF +:1030600022719AB767CCF163DCFFEB823F18FB1645 +:10307000BDFF9A312771E8A48022E98DD14352E146 +:10308000E206D4C3F5190EF2DFD58B7C01EB776B2A +:103090003279DCE4CBF2D317E623C11F061F19FCFB +:1030A000114FBF2BAC99CEC5286E078F0346E37A2C +:1030B0000F92BC7C0FE465DA7079B1AE8FD6FE4317 +:1030C0008CE7F333378FF75143B4FF8F78C96E8A9B +:1030D00047F7CD2DAAAEA0BDAF6A29742E43E47583 +:1030E00083C1EB8BCD7BFEEF6A67D48D7C436BFB9A +:1030F00010FE8AFE279F9BF04232F34348C152CC18 +:103100009B3822E4C1EFD39F43FAF97D819F101DC4 +:103110005DC152A41BD40F515D1DAABF807CCE7C23 +:1031200050C7B881AA8E2B3E01DFBD42DF2943FD87 +:10313000F451DDCDFB81FA511A277DA8DE4FF53C15 +:10314000DE7EBCE3C4F80F39DEFD32E52D7FACE84E +:10315000296940976B422BC90EBB367433959D2D60 +:103160006AED6F808E6FB704DADAA0BCE6DAA92ABE +:10317000E6C35CBB7A259546FFD7A3FCC0F78E4219 +:103180002580F11FB9D016D84DF2CBE35232983BCF +:103190009CAE6D54BF0E08BD11ECE5EB9B16B6B5A9 +:1031A000C5C8810BCF1D4DC4FD9FF297D8FD946E0D +:1031B000D3FF3333262E34169EC3F1039D04FCFA4D +:1031C000B1BB381226FE9DA98E145732F08CD7BFA2 +:1031D00081E7F071399E06BDAC7CB7A5B842C575D4 +:1031E0005429017B2B99FAE1F0795C429E78BBEB84 +:1031F000A0FF67903F15BF86FC799DD04B467CF4BD +:103200003A20D1C6B4E878BA2D909655359C8EE315 +:10321000A5533A8CD18FF3A474511CEF7EB7510F94 +:10322000533E54A098C7F51234FEDE80232B18615C +:1032300018074CAA642A3EB2613BDC1F24F5EBB6AA +:1032400072C62EFDF66357F926C1FBE2A0CFE6A7B2 +:10325000FAAB4A06C6ABA18E39DEE1C75E3D5C83A0 +:10326000FB28F502CC3775B53DF4EA91CB28FF4930 +:10327000D8250FBD8A7AAFDBA8638005F46777E2B3 +:10328000505D77C15EAABB68A81EC6FA4E910F7149 +:10329000E9B71F7AB58DFBB1A7217DFADA6C61DA47 +:1032A000DF304F84CE1BFE8DE38BDD65CF1C29C242 +:1032B000FD824FF19768681F33D3772BB21CD4EE91 +:1032C000255FB01EE1F16C1C2477C63D65691ED4F4 +:1032D000CFD1798858E681D33D501A11F1D508CD68 +:1032E000CB04DFC7E15A186F420D57E31A53B76298 +:1032F0005D6BB3A9BDF4208DE6C956DA2C3930FFD9 +:10330000A68CA9B8CEB68A787752298FE3AB4EBE89 +:103310009FBB3E8BAF736BB26451F2F535C5C80FDE +:10332000ADB751FB145146F16F13ED15937E69CC87 +:103330000DDE98151BEF66BD734B018EEEB6B434EF +:103340008CFBD6B6D9EE403BE83B22BF07E6697658 +:10335000167CD7E7F72606F9BCDD4A75EBBC09BC3D +:10336000C69AB778F365ECA3E2BDBFE65A99CEC121 +:10337000DA5CC10716C3B8B7EEF796635EF5B1061F +:10338000B9B21FEAEB9ECBA2FC827641AFF5B6C183 +:103390004C5C6F3B1FDD14C0D2B96F793857C3F551 +:1033A0005633C1B1FE402DE5CFDC9D945C83F36DB7 +:1033B00085E3D8A73F4DC77998FB6727E917744085 +:1033C000A1FF6A190917A1F506FAAB6E1076D09322 +:1033D000627EDE10F6D60DC6FE8C0D9D17953E87DB +:1033E000ADE6A2C0F27948BF150D32C33C8865D165 +:1033F000F7DC0F16E27E2B17FCC3FD5C90A5CE41D7 +:10340000F15C1E36FBB35633FF1C3C3FB4B2D3F223 +:103410005CECE7565BFC624B1AA2F6D0472CAADFA5 +:103420001669DC8E58E44F8A60DECEE280D98E7A4F +:10343000F333795900F03F86DF02DCC71ACFDF850E +:10344000EDACF4F8388BEFB3DF1076E7107D18B5EC +:10345000652B0292038F3E5AE961C57F886E163A4A +:103460002C57CAE76468C3E960C51F2846F45D0DA0 +:10347000F4C53CA378F49823CFB563BC78E54289C2 +:10348000EC3B2B7DAC7430F6E3063E3F37F064FE38 +:10349000634930DEAFB7D919DA5DACF7728A8F2D88 +:1034A00010ED62F0A17DB70AFFB81F537BD18B707E +:1034B0000231F17CE5D561BB69BFBE5AECD757B08C +:1034C000400AFA9101CF0FE2CCB369DF6E85DB8A47 +:1034D000D73CB15E58F7F74CE92D433BE64496F0F4 +:1034E0002B4F31FB3F5965C6887AD7BACF37F86A78 +:1034F0005968A1C99E965870A8AE823DB1C1276B8C +:10350000783EB8BFC1FE009A110B5D83FC1CA93840 +:103510005FB490B934B70BF9C346E77E16E8095497 +:1035200037FA3BDD25D5A35C6E80EE429417A1D31C +:10353000BE63196F0265F810D26F83CF41E3009F1D +:103540007D1CCB67F1E890E0137E8E296CCAB9E050 +:10355000DF91C548FE552FEBC578C8A0E48AEC92F0 +:10356000A27E3974653A405516F80A85BF5137C7AF +:10357000F7609F80FA731C7EBA02DF08F14823DFF0 +:10358000C1E0CF1B5CEE5E99F3DDC921FE30E53B67 +:103590000419FAE13A72D6F891DE1D89DCEF66ACC7 +:1035A0009360CF5E80E3742472FF9BA1E713D11E6A +:1035B0009431DF08ECC118BA0D5BA70FAFDADB0D51 +:1035C000FC1D742B6C2BB52A25F882AA01DFA01DE7 +:1035D000FB5916B29F8EED27E801AD5286705DA2B1 +:1035E00062B9C2C7F3365630BEFF6761681F1397D2 +:1035F00008E234E2734CAE8EE91FDB935DD619D33B +:103600007F11F54F7972C1ECC4084E8A75FC61EBED +:1036100097653C6B7F1D22CFAFC3E1EFD7D16FFD24 +:103620008A5CBE89D0E5FB95793E9B69DD59E1F264 +:10363000EA4ACC39EE0FB2DD0DB1EBB7511ADF1902 +:10364000F48CDA69D3FB62EDB47BEC957D47F263D1 +:10365000EC3456D9877E8E2F6AA7DDEEABECC373B0 +:103660006167DE75D2BA70BA9ED3C9C8C751C0AC03 +:103670004849A37D59184B572897F031F273BC9AEB +:103680005FC279BBD3A7F1FDAFC6E3D25EC54FF7EA +:1036900061DC679C2FC71F9887FBD2D46ED4D34EB2 +:1036A000176B4B48C3EF38DEC67843FD96FA25B555 +:1036B0002CBEBF7BB3EF9CE3FA9B4792A33E5BF328 +:1036C0007B77A1DDF88ACC302EB1D4F74D7A6EDD50 +:1036D00087EDF0F1F5EE2E29B8C357857AEC174B3C +:1036E000BF81FE937D4EF22BDFFAF513FF58A52123 +:1036F0007D60BEA7D2FEEC01F407CB2536B2CF3BEE +:10370000F3B9DF47DE24D17E628BE6A8DF877648F7 +:1037100066ED4F102E56AFD9909F4F27727E3E9682 +:103720005947CFCFBCBBD987E771127D8994072950 +:103730006F2ABC97EE637859A67B123A1219ADD75F +:103740001D0E5E3EEDE376E0D382AE4F8AB2D31E0D +:103750002C6D2EC37C6A9CDC281D5C4A98EE1B7085 +:103760009D55E8B92CEE07E9480C967E2D867E46DD +:10377000BFAEB320C45347FADE41CF112FFA3E8DBE +:10378000C363B47BD6C7F3529FF571BBCD75368941 +:10379000C6EB4803B8DCB1FD24F3E742CEAC72526D +:1037A000E29B7510E97F2C53FF898FF4EA801DF5A9 +:1037B000E80DBE23C7F15CF0D87A90C7233C9F4A3E +:1037C000BD13D02EAF95237717E27D27EABC4AF4CC +:1037D000AFD4DA290FA6BF34DD8371A5D715D58301 +:1037E000FBF27E31FF81D932EDAFE1276311CECB01 +:1037F000EC95D3B8BEE3F157633D7ABDEC99FE99E1 +:1038000078CE236CA7FDC83257388270C5D83F22C6 +:103810002ECDEF5DA1EF00CE6575B29E903C829DEE +:1038200028EE4F31EC4F50138731EEFE2B517DAF18 +:10383000EEA3C508FE00531DB3A4587B94DF3BB232 +:103840005AB45B1632DB4F56FB6A45A5FF25AF869F +:10385000F4E809103D262B2417E3B53B4152884F6D +:10386000EEA9FB810BEF9D7949E8054FDD2F74D45C +:103870001360272DC67B7316D4C96A2FB4DE16B227 +:1038800031D4A3DB2BEDB4BFD85E3AF0F2E5288F3C +:10389000958A46FBF2D2FE45B3E87D958A76533F82 +:1038A0000E914DED797CC8ED8E94E0FA5EF54BD724 +:1038B000CA187ED95EF9C1245CE7760A3E0235E873 +:1038C0009E3D2D4A3FA48F464A94EFE30F7F2B91F4 +:1038D000F4D37BDB64118F61743F89C7C7E571B690 +:1038E00088D7AC7C40A2FCB49555C76AF19E9B95E5 +:1038F000ED12C9E5B28DF2FBE8275F1632DB6DC130 +:1039000066B0E734A2B3D99E13F61E74EE40FE1DD6 +:10391000AFBD67B55F0AB385FD56C12A62ED9778E2 +:10392000FB2BC37E51985E9A9D111D7F85C2E3AD2E +:103930004CBF9AE83B5B3EF9F2E580DFE9CAA22280 +:10394000A4C7C3999CFFB787DE76E1FE77FBA73259 +:10395000C9F94E07183698E79F5CF338DE4B70E8DC +:103960005B1764FD1ADE5F9AED10E79DB46FD7A078 +:103970001CBC62273E8A07972B24B36290FB84907D +:1039800044A5312F9E50025362F48D479CCFCAA8A4 +:103990001C948A62F4CB15D97C3D48DDC8F7D51953 +:1039A000954CCFC6FDA256C4EF375234F297BAF207 +:1039B000B50A9457A37D86C4F3F91DFB6BF1462429 +:1039C0003601E0C0F1348003D7B9C25012D58B4222 +:1039D0005E2A278652A92C0EE5D2FB92D0442ACF2C +:1039E0000B15D2F3F3431752BD343495CA49A17273 +:1039F0002A2F085D4AE585B0CE61BBB2502D959364 +:103A00004357D1F329A1ABA9BC28B4904A7FE87AE7 +:103A10007A5F1E5A49654568393D9F1ABA85EA950D +:103A2000A1DBA95E15BA8DCA69A13BA9BC38D44AED +:103A300065756813B59B1EBA87EA9784FE89CA4BE1 +:103A4000433BA8AC093D42EF0D7BE3A890ABF9A93D +:103A50002B549E57E3F7E3FE60671C3DDC99CDF5E0 +:103A6000F8199FDE9C5D156D278BF310D6766DD906 +:103A7000E6F3B53657AF6B22EDEF2756E0FE7E2713 +:103A8000E8816C989F758545BB709FDC22E6C76511 +:103A90006FD673A5E87E3EB58E9F8359B77F39F9FF +:103AA000D559B5775CFEA1F5D91AE747254CF7390A +:103AB000EC6C6614574D28EE97B09FEE325B3DEAF2 +:103AC000F57BCA4ED3FD55F3AAF44AF43368E19E60 +:103AD0002345A4AF6655229CFBB3EDC28FA4DF8BB8 +:103AE000F233A132E3CAABE1FD84361B6D7735A614 +:103AF000D6625DAB63A4DF0CFF4B77A2793DECC9C6 +:103B000036ECBD81FBB1FDCE9CE20ABE8EF0733374 +:103B1000F29D45B4BFDCE9E895F0FC7D18363E7BAC +:103B20000CDD8FED3B563C81765451A7FF79178E03 +:103B30001FF64F45787B84DC157669331300A08926 +:103B40000FEACF632A674924383311EAE7EF0D3FC4 +:103B50008FE5A49EC8CC24282FDCDFFB3CAA8FC9AC +:103B6000BD0333DD50BFE8087B01C95ADEAFCDF29B +:103B7000407DEA71FD05746F570D046725E33C39FC +:103B800022ADC900CFCE5F31FF26A8579FEC9261CE +:103B90001B119D7F276B7E3A665E5C5A978EF4CE32 +:103BA000BB43253FCE4E652021B56CF8FC7423DE67 +:103BB000886788DF8390A70FD23CE455B28A30CD66 +:103BC000837A6529CD03E79777047FC03CF422FF11 +:103BD0007527AAB5F87E70365377C1FBF9936DA4AB +:103BE000AF1DED45B4AE187C07F49DB4D0133B0F68 +:103BF00092719ECA64A7C6A3EF3B7F27F4BD259BA5 +:103C0000CB433CFA22EF71FFEAE872FC9F51393E48 +:103C1000112BC7D67669395CFF5BE9DC6D634760C1 +:103C2000ED89390F0673084D3D39B673A2AB33E702 +:103C3000EF83AEBF117A221E5DC938CD8E9EBF8D37 +:103C4000A76FB03FC47B243DC7C88F59487A2E2F39 +:103C500087F35F6727F75F1A7ACEB9AFB617FD987B +:103C6000869EFB702CFD25F48C43F839A27EDBC9BF +:103C7000B4FE958AF9DB90A59F9743F131B3FF7DA0 +:103C80009B4DADC5F90BCFE0F959F3AB5FD7659A02 +:103C90001FAD825F83C7489E7626974570FE0AC196 +:103CA0005E5060DEE1D75E2C93CA541B9E8F36F2C5 +:103CB000B698BADC172B67C67A1E9543831FD26865 +:103CC0003F887C8AED6F147046FB9178BECE3773C7 +:103CD000E81E32E3BB6E771E7D67B48FC7B76D06F3 +:103CE000DFB63D43EB46520DB70F52DAD2888F5301 +:103CF000EA8268D9C4F06FD081FC1BCC91CF897F58 +:103D000097E5F0F8C2FF34FF56E19E1ED7A11AF5E1 +:103D100010E6D74D80754743B9AC015AA3BFDFE722 +:103D200020FDA7313E7F5A0DCF53057AF5A23F34CF +:103D30006CF3507C4E760ED621FECC99AAE2FE673B +:103D40004356705DCE2872A02669E5742FDFC397B5 +:103D5000CF7367E3B90B3511EB1BA1BE0DFD0D69E8 +:103D6000034CD4B7BBB3BFB87FA22567C66BE89F2F +:103D7000F8205BBF0BF9764356A005E1D2CF572957 +:103D80003FD3E0E3B1D67F431EA3F2A3961BF28399 +:103D9000F79B81FEDB82FD1AFDC5B367EA72B8BEF0 +:103DA0007C38672C7B268DE409E49CCB8F119FEC3B +:103DB0001A5DCE0D783B734697F72D57BC1DC6D6BE +:103DC000865FD525FC27069C093E7EFE38612EA322 +:103DD0007D8947F85783C2BFEA2A768DE15F8D98C7 +:103DE000F2090DBFAA713F8295CE3FC831E76DA29F +:103DF0003EA238EA50DC9BEFA76E176376DDED4FED +:103E0000C1F333E1A3DC8F619C77988BBF039E9253 +:103E10005F223F52D73F70B99B97C7227703DC736D +:103E2000FF22311DE0E8FB8B4CA5D5AF3A0FBE4316 +:103E3000BBA14F72455CD0FE50B99361FCADCF631E +:103E4000A37D5DDFFB12C9415F7912E5FF1D2EBF27 +:103E500098F27BAC797F46B924B87CC4BC482B7DF2 +:103E6000962C7DD18DF3F2883AD35548FB521E87AC +:103E700034F4B1D1EE3DB1CEBDE40BBE85FCE659C4 +:103E800035D8865798B5A93C0E69F05FB67BDFCB75 +:103E9000781F63F65A6E57E6B0C826D53D9CAF1B17 +:103EA0007383BFC67E1E89C6F9FACE83F13B3511F6 +:103EB000E75B9F5353041D3C3414E70B1E23F9F1B9 +:103EC000F694231F3EE2FFC193F7C2FBB94ED8A779 +:103ED000A21E9EFA6E3ADE17D558F56206D2639E90 +:103EE000057EA334FC67D6FDE8473943F104F2A709 +:103EF0007F547935ED7FE3F9D30DBF9EB12F45BFD8 +:103F00009D3A821EB7D2DB18BF51E2FB4F66E7F73E +:103F1000BFF561D3E9A427ECB928CF6D3C4F4677B4 +:103F20004A9427F35AE5548A3730BF57C4317BF39C +:103F300062E398063CF0BC64A4F866639C3CA5BCB4 +:103F40005CBECE34DAB9BF52BAEDC5461CB7B1DC9F +:103F500029F1F3899C4F97F1581A4B12ED97F937D5 +:103F6000539EBA355E9194CBF3B1FAECBD79AAF0C9 +:103F700067FA47E0CF7874396EEFA2B8D8F1D5323E +:103F8000C37DF96BC18BB346BB7FED6DE48F12C669 +:103F9000FE90CB88AF86E64D4B1F71FE8F637E99F6 +:103FA0007D783C68E8FDF204F2733758F235660B11 +:103FB000BC57899239C3A5E8E7ED5CF1808B4DC60B +:103FC0003C8DD35561A0FB163658B50BF5C3460F93 +:103FD000F90D1A967F52B569720C1DAB391D97BD4C +:103FE000B045457E6D286CCB08C78C63A5E72A8158 +:103FF0005782E067305FEA893FACFE8FE2459C2F35 +:104000005E48F0F7C2F8AE5F4EACC075DCF07FE002 +:10401000385C4F737FED1D22FE80BA2696BF1B428F +:10402000EB4C7A23E1ACC422B175A58BFC9D0967EA +:10403000157A6E95A30B72CD7264D03BDEFC19F439 +:10404000B63E37E87D7CF99652F4C775268E6C270C +:104050007D5BB433EAD6F8B81117B67EF78D5C6E87 +:10406000BF7E149C4EFCD5E008978C477E0DFA1C51 +:10407000FB74B38AF2E212717723EEEF294DA33875 +:10408000FFB10699E21289256A37E6BE34E7F27578 +:10409000D758F78CF861BC78A0C712574C28857A9E +:1040A0000C9DADEB9E318FF1E288D679DA6199A74C +:1040B000A1F8611CB931E4A511F9B16AEC7C88253D +:1040C000E23E49EBF39B87E8FED0E26930D4ED5540 +:1040D0003615F9703BFC0FA3DC54DA29AFE9AD4F7C +:1040E0009D0CED3C4F95ED71F4731F5FFED6A25908 +:1040F000A817AAEC1497E805B95F0B72BF45C8FF73 +:10410000905F759B1C299170FF2099E2BA89C52E9A +:10411000537D5E959DD6E7EDF79747703FD3C07806 +:10412000DC6E4BD557537AE1F7B78A1DD49F6B8B62 +:10413000447125D7679B0338DFBDCBBFDD40FED47C +:1041400012472AEA47831F8CB8A14BDC0BFD42C9FA +:10415000B46BF0FE82F7B6D919E5D54BD1B8B206EB +:10416000F6DFCAC2CA4CE4BB01CC73A5F8BCF0F3BD +:1041700032A11F845FD6F0875BFDB3F1FCB2E3F59B +:10418000C71AFC62E58B3772478E2BC79BE718BFB7 +:10419000ECBF8FA897B44526FD62E823432FBC2DC2 +:1041A000F07FABB86329C68BDE0A3A05FDFEF9B590 +:1041B000964ACAE7A3F3D8AECFFE6536DD5F7AB381 +:1041C00034A23FB648F015C3F87D6994CED706A354 +:1041D000F9B428CED73799F369ADEB427C3D35BAB7 +:1041E0001EFA4E2EB78F8C7503D78734375F1F6C3E +:1041F0009E28DF7FD975A26179BB3F3C99CABDD8A3 +:104200008F6B6222DDB7649577AB9E37C6B7C29DD0 +:10421000705666116FAC7C6A7CBD19D2F30E7A3F82 +:1042200074AEE50389CEB59CCED47D7980AF234BA7 +:10423000CFCE83F68F66EA3979317AB2D5CEF3657F +:10424000651B0B3E4DF674C094675B9BC7F9A0BD20 +:1042500096B73B9431CDF75B285BDF2FF7D9D10FB1 +:104260009FC7E376873DA39F13B857F0CF3DA88F34 +:104270004AA276FC76319F80BE8EFE91767BC01777 +:10428000EBBFD3F25269FCE4E9CFF4A39FB455B578 +:10429000D1FDC7ADAA42FED436B752BF9BBEE3786C +:1042A000B77BF43D61610F2DC67B49057C8ADB9CA1 +:1042B0006F5A8B39D61951BCACF0D6E6F17520296E +:1042C0004BD7915E3FCAD46B917E2125EC447A870F +:1042D0005C23EF53BE22E89525FA67CC4D71411A55 +:1042E000573EF77349FB72825FC571CFD8C20CF796 +:1042F000D9AD9E69E774CFE9D23CC97ABE7A69DE4E +:1043000008FC1573FEFD4E8C7BD66AECE308022D8B +:10431000CEED1979A160F7AE427A2C691F39DFB270 +:104320009B69A3FAADDCA21FD86FDF9257C5F300DB +:10433000F3F87EBB0DF53BF3F37E92C7E807E84444 +:1043400071DD71DCB77227F63FFCBC577000FB1FB4 +:104350002F1D3B86D3B163343A9E79F7FC148C470A +:104360001AF7C558DB19717CA3DE996A1EBFA382B8 +:10437000D777887153449C7D8FE02F97E53E13D704 +:104380005C7E2F8F910F61F4B327CFC3F7F93933D8 +:10439000F720BC1D85FC7E8E8E54F33D1DC1BCDA1A +:1043A0003D48A7EF88FEF708FEED2EE27105EB3DD4 +:1043B00080378BF637E7CDA412246D12F28943962D +:1043C00047A4E377853C19E7238DF3692BB7CBA688 +:1043D000F369C6BABAF23946EB3EC643519EE3E5ED +:1043E000BD054BD597D095F3092B7360BED7975D6C +:1043F0006F919E4969C3D7DBE7F386D65BFF39AE81 +:10440000B72FE7658CB0DE327F69AC9E35D6DB0115 +:104410004B1CC72807041F6C13FB70D49FA8AFF177 +:104420007E30D2DB0ADFA7DE97CCFD98C87F782FDD +:10443000C8409E39FFC5C8B731F26C8CBC1B23CF76 +:1044400066E85E1C4B9ECD8063A03D0BE66B701250 +:10445000A373A6598DEAA12CCC4FA8D318FAA33A7E +:104460000A597235BE2FB7F9D16F9FBA48EDB043E4 +:104470003D55637853209EC70D7BA05F477E21E1A9 +:10448000B92D7CF5A12C6897A2A9737CD02EA541EB +:10449000A3FBC00C3F735FDBDD74BF9081FF59430A +:1044A0000E34EE5F75697CDF5DCBF2C96E8FB61B93 +:1044B000BAF7EA0CA73BF73FE375A8B48FF727924A +:1044C000DD3A1F23FD748F4B0FE5C96939B33EC335 +:1044D000F686FCE07D6B4FC7F865AD79458EFCD163 +:1044E000F38A121BB93C5AE751CB17EB43969E94C3 +:1044F0008F72F3E9E79FCB31E775121BF9DF0F4AA3 +:1045000048E77A3541E37165A64AE4EF7169C12055 +:10451000C293E0AB56515FB63ADC9D123A6A57D966 +:1045200018E6CFCE12FDE80D4CFA5D29FF133A5C78 +:104530006F2AEC77063FCB02291877A64011ACB959 +:104540006D4900FF2CF72B7F96D0AF57DC5C8B7E3C +:10455000C11797F13EEE8BE3FF36F2ABA2F9643B55 +:104560008F9AF3C91E3A6ACE277BE8E897C927BB22 +:104570002CFFA1A3FF9DF964867E3A2E078FDF09E9 +:10458000F45D0C4A05F76D8BA1C746F25BFA886EA5 +:104590008B049DC37F013ABBA2743E6EE7F7A52C46 +:1045A0003EF032D1D13E9393DAFEAD94482BD9251B +:1045B00011EAFF1A57D76C8C839F720C4EC1714F52 +:1045C0003DF7663EDA8BEFDEF591079310DE53067A +:1045D0003DF8FCC38DBFF020BDDEDD2893BD7383A5 +:1045E000D80F2C6BF96C1AC6436E10FCF46FF9FAF5 +:1045F000E2FC18BB8E8532689DBD3922D396C7D0A8 +:1046000063B7EC4D12CCC6EBB7F6784D75637DBD44 +:10461000D5C9FDD2B77CEF902317E0BF796F2AEDA3 +:10462000973F14719A0FF7E577A35EBE3FDF26C66A +:104630000FDC989FC1E142FBE4BD034ED64B7AA943 +:10464000DFCEF8FE79AE94C9F32BF1C70AD74B073A +:1046500093A8DFD50FF0F560B9C6FFDE41F0C0CDFD +:10466000A4F7AD70AF7EB7E7A51C806BF5167E4F43 +:1046700008B6DF08F3130C717F97152FEBBAB0B2B1 +:10468000E73607CF0F2E9B837AEC934E89F498750B +:104690009DB8E9C03DD4DF2AE6EFAC01B8567759A2 +:1046A000DF5FF17B64EE9B2CE7A0ADEBC7D67CB15E +:1046B0008F9FC62EFE1CF44EABBB2865B473B71F8C +:1046C000B670A1FC438B8BCA932D2A958BF339DFEF +:1046D000DEB2FFD04BB924D6FDD370DD9DF7F22CAE +:1046E000D7752CEAB750BAAFEE7D4443BE147E575F +:1046F000B15F6914F4B733EEA76847BF05BC97559F +:10470000ABBFFEF54598371076F3FBA70CFF4523AA +:10471000D223260FBA710CFFC593F962DDBC18F0E5 +:10472000E67F4FE2671A1B7BDD8C877FBCEF6E8DC7 +:10473000733FBF211F8B85BE5EB57B6107863E5AE6 +:104740009FFB7D01DDA725F2EA64411759C435645A +:1047500066C9A30BB337580CFFDE8497404F1CCEBD +:10476000A706BF3037FFDEC55C9BE8BC81C19F0751 +:10477000B613FD0CBEC1134536D439ACD767AB1E9A +:10478000FB3C02F09FA9FE47FB4001EA899B2CF706 +:1047900090FC511A795FF3E3FC22EE1FD5F439B88F +:1047A0004EAD66810E95E8C0FF1ED8874AD74B777D +:1047B000A27CEF9618CAD5AD3FFAFE0F512FADF986 +:1047C000BF0F24A35E3AA17465E2786BF7B427E3C8 +:1047D000F9AD0F9570327E7F22C2F59375BCEC0265 +:1047E000C9C84F774BA037D7E1AFC800ABC2F35170 +:1047F0002FFEBF3D76FA3B7AEBF73A7BF1DCDCBA71 +:104800007D9C8E507F9FD73713BDD6EF37CBDD9A77 +:104810007F792053E3E75A7305FD725135AFDB6DA5 +:1048200027BFEABA3764BCC68FAD6783849FF57B28 +:1048300084E32CCCDBFA1E79B92365F87BB0641CC9 +:104840002857EB85FDB87E1F9FAFF5167BB1298EEB +:104850007FC65520E45DF03DD087EE5B08035CFC2D +:10486000CF6370FDDCFAA453C7F8D189B7B3BAD1CE +:104870007F7272F7ABC95259540E8CFBF04EF64C56 +:104880001C555FFC51C8CB90FE17EB8CB61F00C4C3 +:10489000B3040778B9D6DE9B7C29D0676DB7DD1FDE +:1048A00086C76BBF2FEBB875636F39C91F77CBF71E +:1048B0005F3C7609C073CBD3F6F4B91C1D37EA6DA3 +:1048C00063DED623BF5744E769CD0F5E74E0DF098E +:1048D000C1E7981F6FCCD72D4F1F72A0BFDD4AD7FD +:1048E000593D871C5CEE2CF3D6F3FE1C5C975B9F56 +:1048F0003CE340BE387150625985C3BF6FDAF36A3A +:1049000032B633E66D681E87CD5FEFFC672BA91DBD +:10491000E5758E358F1FE21F1CAC227E7FEA591889 +:10492000BFE96DA71FF16F7AEAF664C4E3F74A3373 +:10493000E7FBC7DA33713D6EB28733552AF9F3A628 +:104940009D5F237EBCE9F5AF65F2BF17A867A33C66 +:10495000039ED988DFEA4717137E37B220F163D36D +:1049600063FC1CDA270AAB7F7A8479DD21E4E6F761 +:10497000BB9C64ECFF1E8378A88F7FCECFBB3276C2 +:104980001BD921C6B978D2D050FFC4C5E7E9C60209 +:1049900023FF8BEBB7F5A2D5FADD9B49BFFD215F65 +:1049A000CF42F9073A98F49CFCFAEC2CA117296F36 +:1049B00098BE0395310B9F63FB7EBB9E30C5F49D73 +:1049C000F063F1F1EF10E303DC89D24550660EE5A8 +:1049D00037F4231CEB24FE0DF20FE6C7F61670BB6E +:1049E0007E48FE776FE1F324E4FFE337B85E5917A2 +:1049F00059584F7AA1DFDE9B85ED22871649A4170F +:104A00009CD173FFB172BDDB2EE4DAFC1EE052A430 +:104A1000587A1E94683FB07E1FD7DB37DE0FED63F8 +:104A2000E438CA2F8EE8F3C2A85C1AF1819B2CF1FE +:104A300019A3B4EA857B0ACCEBE1507CE1D18C511F +:104A4000FDF9865DB6D61E79E26194DFB79C64F706 +:104A5000ACFDBE9DF2C5FFE37B2F1CBB0EF8FD3FF6 +:104A60007A0CB935EB5BABDC363DB3988D24B7FFE0 +:104A7000911E6023CA2D3C1F516ED3F93D327F3306 +:104A80007D2BE6219E9CDE1447DFFED0A26FC1CEB7 +:104A900048B914AA7FF8EE2D13506F5AE96BD0D5A0 +:104AA000AA3717146823EA4DF87983C5D0D3A0A399 +:104AB000C1AF6BFECFAD34CE101F1BFC6AAC63439D +:104AC000FC6AC5DB4C4FEBFB6FE21F6ACA88CEBFA6 +:104AD000FD6ED847637EDC73329D073BA50D26E350 +:104AE000F981F604EE3738A58A7A2AAF0F66383A8C +:104AF000507F18CF0713F839915381C1E4D498FD42 +:104B0000DCFB07E464F49B0F44F8FEDBCA87A09942 +:104B100069FC01B13F9F2DBB0B42B8FFEA9A588157 +:104B20009180D36D76512FE17F8743E4A39C12E7F8 +:104B3000C04E89735FBF65816397923DA52BD940B5 +:104B4000CF951C55D6F4726B32DAE32B0FDC42F7AB +:104B5000B4ADDA66A6C38DEEDD64AF7FC23652799E +:104B6000E3FDE6F38D6B847E6F7AD4F2FCC055C40E +:104B7000476B2C7C14147E482B1F7D6EC867392B25 +:104B8000E7FB649E57B241E8B5D972D98206A0FF0F +:104B9000A92332C58B4E1F905907E2FD3D7EDF13DE +:104BA0000BF33C8475C0CFB1FECB93C867E70FA76A +:104BB000EBD0FB7F7D77DA9DD064ED0FFF7DCA23BC +:104BC000509EFCE15BE7FD18EB3F7AB3E0DFD9F0E4 +:104BD000F6B30EFEF906D45FA70E3AE9BCE9A98345 +:104BE0003F2DB813EBCF3AFD08E7A9BBF9FE387C9F +:104BF000D043EBFAA97C6E0FB63E7766CA00E96334 +:104C00007EAEFB82093C1E72FAC05F7F85F7EA9E8A +:104C10003E0058A13E14FBB1F5CF26D0FEFAD47366 +:104C200067A6C5FEBD902F8BCF3A11773CE5610D8D +:104C300098C7732A95FBAFD6FF783AE5F9DFBAEF4C +:104C40009003CF5BCCFAC9675350EF9C7A86DB1395 +:104C500060EFEE44D3BB6A42E7BD76A0F31FC5DF29 +:104C6000DD3C3AE1C8028CBB0CA70BA7C329A0030B +:104C7000E2057469427D198F1E73FF6EE9F1A71B6F +:104C800070FCB5072EA673DE51BA483A7FEEA17CC0 +:104C900024C09F3F3F78660AEEBBC7C277CD049E13 +:104CA00057F8BF05DFCEBF5B7C39BFAB133482CF73 +:104CB000CAF7C3F9FA475FA7FA531E3FC13B4E79C3 +:104CC000DFFBBF8CBF5FFAFF76BE5F16F3ED51715D +:104CD0005F78EAB9CF0AD839E0FDDBBFDB791E1D6A +:104CE000EF213BC7E67755027C6FB3C8E25A89AC27 +:104CF0000FB23B5ADD3CBFBD7F5121FDDD2C26F6B6 +:104D000015F325BE3EAB1ADF4FB4321BE5DDCC4FA9 +:104D1000BF91EC89F9FA76711ECE46F0F4A7573FA1 +:104D2000B175847DD4025D26FBEDE826181FE8747A +:104D3000D463535BA1DFFF02FAF6AB5000800000A2 +:104D40001F8B080000000000000BB57D097C54D5C6 +:104D5000D5F87DF3E6CD4CF6C906892430938D0451 +:104D6000020C214080A813364321306187049CB097 +:104D700004C440026EF89536036189166B80D0D268 +:104D800096FA1F90525ABB04C54A2BE244A80DD68E +:104D900025566C6D554C9522224A14975169F9CECF +:104DA00039F7DECC7B9320F0B7DFF083CBDDCF3D4E +:104DB000F76CF7DCE54D73ABFFB4C63236CB7BDF67 +:104DC00047EA6008DD93DF63104E4D6A9BAB40FA03 +:104DD000B4222B0BD818FD2EC3DFF9CCC202B922A6 +:104DE000EE646CCE5C63FE6CB637D95C08E1728D04 +:104DF000F915682FAC7C673F3B63C3A11EABDB6436 +:104E00008FC6541F63C98C692697AD10CAFF83F9FA +:104E1000679540D8C058690BE437449B184B62AC87 +:104E20007DA673AFAA503336D68B312BFF3FBBD153 +:104E3000A150FD06662A6DC9C714939BCA2715EDBC +:104E4000BF9F9769C7F25379711857F51406E39A13 +:104E5000EA7E80C66BF56E69A790997D1D1C4EE5B4 +:104E600032D55BC3D808C6EE12637B713DC007E341 +:104E70007A31C6646F705092C33C02EB6197802711 +:104E8000B71A403C5ADDAA3B22D6D01E8DBB0B9FE1 +:104E900002DFD78BD7F0F9B91A9E131D76C24B38B3 +:104EA0009E4361A5FDCC40182CF3B2CB518C8F02F0 +:104EB000F1847DC2F826A85009DA7F699FE2475C39 +:104EC000BF54B478EB508CFF4A7161FEA7C5C398FC +:104ED0000DC6FDA2C60E2B7150C7ED76D847607B7C +:104EE000BCBE52F4A72F148033AEC814820BFEC68A +:104EF000BB230DE34A2C4D30C4933D3718CAF79EAF +:104F00009B61C84FF50E30E4F7595E6088A7D78DD6 +:104F10003694EFB776AC21EEF47DCB503EB371BA48 +:104F2000219EDD34DF50BEFFAE4586FC3CFF0A43C8 +:104F3000FEC0036B0CF1412DFF63283FE4F00643F4 +:104F4000FED0C0FD86FC616DDB0DF1E1ED3F3694D6 +:104F50001FF9DA5E43FEA88E5F1AF2C79C7DD4105B +:104F6000BFB1F30F86F237079F31C44BD89F0DE5D1 +:104F7000C7D95E31C427D85F3794BF25E51D43FEEE +:104F800024C7FB867C39FF93732F1AD2814B990F6C +:104F9000E861054F6265AEAF0CED98990790CF8040 +:104FA0006AEB28B4B1260A23590B85D1C0B6185E26 +:104FB0001AE4FDA103E4057BC8B71989EBC5519F2D +:104FC000F7F50269BE543C23CE4B74ED6648B7D367 +:104FD000F0BF0E086DD13E15F9CFC67C11058CC50A +:104FE000065516180674185428B407A3582011E85B +:104FF00030184161423091D21383F1142605FB50E1 +:105000007A723095C25EC14C0A7B079D14A60407D4 +:1050100052981ACCA3F086E030AAD7273894C2B4AD +:10502000E0184A4F0F8EA2B06F701CA5F70B965078 +:10503000E8084EA6D0199C446146700695CB0C96A4 +:10504000539815ACA0F4ECE03C0A73828B29EC1F5A +:10505000ACA23037783B8579C1DB281C10BC83EAD1 +:105060000D0CAEA6303FF86D4A1F14BC97C2C1C1EB +:10507000060A8704D753E80A7E8FCA0D0DDE476102 +:10508000417007A50F0B6EA3B030F8134A1F1EFC2A +:10509000118523820F533832B887C2A2E023148EC1 +:1050A0000AFE82C2D1C1C7A8DE98E0410A8B834FB5 +:1050B00052FA8DC1DF537853F018A5DF1C6CA5D0D0 +:1050C0001DFC33A597044F503836F80AA58F0BBE48 +:1050D0004CE1F8E0EB943E21F8770A2706DFA1F0D7 +:1050E00096E03F292C0DBE4FE1A4E07B147E2B7887 +:1050F00091EA4D0E7E44E194E057945E16FC82C224 +:10510000CBF8BB1968A3583BDF258F33F0DF2EF9AE +:1051100067BA0C218B4E804185CA8787526E6E8B91 +:105120008A25B938751D978B3F8CFAF038C9C9515B +:105130005607D749BB881E2B05DD6FC27F52196BFE +:105140001DF56E5A07E8A7CD25EFBC7107E827DFEC +:105150006A2BFB192F1226772F457744F30C3BA4BB +:105160002F1074FD52D1B164600AB6B9A0A3C60372 +:10517000ED3CE0ECA8C4D0EC54489F7E25F4A0C9D7 +:1051800069A278C2602EFF2B5767C779512F265D21 +:10519000DBF84A1C5C3FCBF29BB2793B2CBAB3AF35 +:1051A00067D0B5B773ADE53E8F881DCC407EACB5FA +:1051B000F1F09EC8D8BD187E1ED1D78F7AFA8CC365 +:1051C0009BE204787C6319E1DD772AC6DF4078AE84 +:1051D0001B42F05C7B3BCEFF523B039CC9576F8761 +:1051E00099DDE63298BF0A317F6F689EB95550BE8F +:1051F00023DDE4DA004915BE6553508F4F502B79FB +:105200007A9AD945B6845A49726D11B6A9C39FB529 +:10521000467BBB43275F2B406E96809EAFB813EC56 +:1052200089C1DDF33BDC8CECA62D358ADF87E5D226 +:105230004C54AE8299DFEE907218D2D7031DE2383B +:105240005E5F0FF4EC0CF5E7ADB9E53D1CAF976D73 +:1052500025BBC38BF574F6C5DA37D66F3CAEEB6F62 +:10526000B2332609F9898D64232FAB21BAAE107DA4 +:105270006DA9515D0180E7E249D585F163C916A6A4 +:1052800040BC63A595FA658DC9C427AF27FF2EDD05 +:1052900001F4FA79BD6FE3718DB12A90DB6EE0EB1A +:1052A000632BEF4941BED8B2E9A0C662108FAB199B +:1052B00086217AF213DD76A4338B6310E277B599F9 +:1052C000E83E97A591BD28E64133395A02305ED6B3 +:1052D000D7E6FA19C45513F3A29D29DB7941F08F63 +:1052E0000CDF32713CFA3628FE9F019C5B2C75B9AD +:1052F00009F9A4C0986984985F13B6CBDB69B370D1 +:10530000BA78679B73EF06C560074622DE2A98D1FC +:105310002EBCD7192FECB116CD03E3794761735B2F +:1053200004FF2B927E32899E2CE5905F916423FBD3 +:10533000B214FA37038B553495DF8EF304702E9731 +:10534000F55480CBABF07ADE7551EE3C98BFEF3A66 +:10535000B97CA8F0693E3D9D680A8797C1FCFF8C27 +:10536000E8D85783F18AADD68CFB9D3A38300FE4EC +:10537000E629D1CE3B8AC04B3AE3F5CCBC1DEBD637 +:10538000783FDADD15496682534B772FF44423FDCD +:1053900079084E66EEBC0BE97D719A9DDD0FF8B77A +:1053A0006E5CED46B956B175FD6AE487AE719999A8 +:1053B000D902FABB8AD927A6207C5B15979097A1C2 +:1053C000F101DEBD5B151ADF3E21074F6F5238DD5C +:1053D0003FA0F8D15ED8925E3717FB6766CF6B7F30 +:1053E000D3F5DB45E7D82FD279D313F72864B73349 +:1053F00037AE23BCD83FC071ABCAEA10AFE178F337 +:10540000C27C217E5F12F838FD9D181A7FF77E5D01 +:1054100096F24121B825BD54AC8B71470C0E8D7BA3 +:105420009302F201F1F98095C65981F00C0EE1E189 +:10543000EFCE04EA674BFAC4BE8B7A8007699BE91A +:10544000E8259CCE349398E7BE8CE858D2BDA49B47 +:105450003641EF327C578C8B613B525EA8982EF41C +:1054600001C81FA4D75BF4F9D0EE2D69AB19F21D6A +:10547000F1CD68C68EEFB9E8F1417C8953E8154754 +:105480005D2ECA49D93FFCDCC447389FD07E45B465 +:105490008DE6F3A4E83F1C2FE17AE4892E3899D7F2 +:1054A0008274C1389D3EE17450BA77AB95E850CE16 +:1054B000EFDBC85FB44E74F7A579B10BBC09FA6E87 +:1054C0001674D48CF58763FF40FF28E7B75989CE5F +:1054D000E57C84AFEFA4DC3F85EB56687F2326E9AB +:1054E000E4F76702CE632A5B8BF9E1E388CE3051A3 +:1054F0007E2BE647F794CFEBBB057DB24B903E8207 +:10550000D6C934DF5D7A2283CF9F8C4F8C3179FCF2 +:10551000507EF20F818E7BE8775C266F77F2832DC9 +:105520009FFC05E9638E85E4E2CEF55C0E85DAE545 +:10553000789926CA337B02C9EBABE9F7536BD508E0 +:10554000D4674DC1738FFC16DA8FF05848FE47B010 +:105550008E477E0BF3CA6632EAEF58DC058AC74EE7 +:10556000C9285021DEE4CE501601BCEF897E65BB10 +:105570003B8A4CA5FE682C3F2D7509E43797CF5622 +:1055800096E8E04C36C7B971BCADD669A9CB45FEEB +:1055900072C83F3AFDCC40D42BC7E6D8D769008704 +:1055A0006D0AB3E3942738981BDBB339580496C7C8 +:1055B0007E97EBF0943085E7B7CE9898BA14EA3529 +:1055C0004DD9300AEB35975B22B200DE1DA5BE2215 +:1055D00055479790EFC375F996F14059308E88B4CE +:1055E0008275281A23CCF56D4EC46F3173653B105C +:1055F000BE7E8A570777AAC0AB3B8BF7B7C5C1FD04 +:105600001F32FFF64C4E1F7B322D848F6754FB25D3 +:10561000ECDF37CD6447BEB84F71A422FFDCA4BADB +:105620000A31FC3093CB0BABAD5F31CA1BA90735F8 +:10563000214335DBD6765C276921FEB55D16721CE9 +:10564000F951137CD42CE57C2A971BBAF292EE49CF +:105650005F68E32D1928F7676474F123E90D6A0781 +:10566000E0D166329277DB647BB3A4DEF028A8D762 +:10567000A4DCD766829E80723B041F31E649453E1A +:1056800095785826E861479A679E87F4B05DC1FC1B +:10569000ED8A5D49007C2D14F9F1C827245FEC0ADE +:1056A000D965A29CD4CF8D37323FEAE7C62E79C0A8 +:1056B000E1B58871839E6258DE32C544F2C352CC94 +:1056C000F59765BC8FF4C57D424F6B293A7CB0D00D +:1056D00038BE9DE1243876CEB2D078B7A5DAFDDCAD +:1056E0007FE54915F832A17EB5E21204F0B32DDD55 +:1056F0003E8FEB8B3A86F8D82EED003323FC101A40 +:1057000075F3A26559B89FC9DD41F2562BF2911E7F +:10571000D166FE8EE4DCF6901DE1B6E0B884BEB43E +:10572000945A48BEAE17F36419FF3BD233E1E390BD +:10573000FAA46BFEC2E6BD9BDC0F8B3F586E49C5D9 +:10574000FE76C2BC90FDB231E578562F32D9843D49 +:10575000DCB46B4921CA5913437B38C6534DF6F06C +:105760004EC5D79685F236DBC4502EC06F6B979F1F +:105770008DC7A3D988101DAF5FFD6E5906EAFB7275 +:10578000931DCBC414AECEC1F9D1D22692FDFA3D01 +:10579000B00BD14E1E949941E37DB06C7B29968F5E +:1057A0001E6A2239D4EC793B06F9F069A107479FBC +:1057B0006D1F1707F98953EC05C8D7327DD4E980EE +:1057C0008AE909A53C7D4C59132CB631EE23FC3FE8 +:1057D00058F2D7B29100776CBE99FC633B9540A319 +:1057E0008AE3B891D13A2F6E7CC03E0EEAC7A7F18A +:1057F0007EDDE303A523317EA7CA14281FFD415295 +:1058000009CA8D314A3C870BFFB98186E8435F4A5C +:105810008326E2BECAF2E56944DFA45F5B33166FFC +:1058200043FD1ACF9A2A91CE5896D58E7C8A78B6A7 +:1058300025D0BCB1B9102E00BA447BE6D98C0CA29D +:10584000CB18330B98408F99A22A5370FC6589DEE0 +:105850003AA4BF5224B902CAB7255279C1CF6AA56A +:105860008BFB5B8C7E51C99731CF28A958BFA98487 +:10587000D35D74A1C5E0EF89CC37C66D59C6B89623 +:10588000668CF7CB34EACB9D824F657F1D42CFC932 +:10589000F0698BE34E1CFFD39131CCA7609CF3B928 +:1058A000EF4333C92DC65CC5337472649290A3B2C2 +:1058B000FD536BDF7900F55393C761D2CB73A97F9A +:1058C00092843C09D77331A27F89BF6EFA50E06F92 +:1058D00073FD5AF64E7628DD22DA1B7ED2DB10935A +:1058E00084E37790DE93F99F8A7AAE1CF7A7197A42 +:1058F00079762C4F710ED2B7CFF542428AD7EDC6DA +:105900007CFBF4ABACBB3710BCD24E09CF1F9DC99A +:10591000C7E3BE8A9D9194797D76C6EC4C8EC7AB69 +:10592000D91949A25CC575DA19E3D48E8B4EA4FF50 +:105930007E26E2B72D69DB59950E8E45427F16A073 +:105940006CE7F41CE7ED69BE4418BEBEED9F196D0F +:105950005CDF5EA5BE5CBF9EC4FED0EE758D3121BE +:10596000DF24083FCF1B93B6DBD0AEBCE83291D327 +:105970003C1A191AE5D2BD2AADD701FD111EDDFA78 +:10598000D61654993B11E806D7C310FE22C341E353 +:10599000B0399A18C26149E172E84AF6A59CAF2B6A +:1059A000D997AAC84FCAE4F829B57AF9FAC55E6052 +:1059B000A02725CCBE94F89772F2C9F36F7F6F08C9 +:1059C0008C23792697931D08A7AE7CF24C5731C9DA +:1059D000914B80451D3E264EE2F4130E97B43BAD2D +:1059E0001946B8C2CBC58AF995F0CBF663854C99B8 +:1059F000380ADAEFA19EA43759EF5470F4274847CC +:105A0000B1491CAED899756D14CF6224D7B5226EFA +:105A10009F8DEBB7C61699CFE96C4534D29595DAD0 +:105A200091F47593DA331F5C167846FB4D25FB8D98 +:105A3000D9910FC04EBB847622D8692908F726A1D8 +:105A4000EFBE14E57BB0D72C647F75B7D7B85DC2C5 +:105A5000AE60A7392CB4AE6F14E36E14EB7FD05355 +:105A6000424E1AED36690749FBADCB4E13F610FED8 +:105A7000B41121BBC952CAC82E9176D6965160671F +:105A8000A1DF446111A4D7CB4C7C1D6F76933D1DE3 +:105A90005BDCCB85EB71D9AEA588DB7FFF6D7BE44A +:105AA0003E05EC2E98E30704DFC4336E2FC32F1599 +:105AB000F94CBF6ED0AF2B50FEA1DD952860689DDC +:105AC00053C71C906E9DD2C4DCA8FFD15EC775C3BE +:105AD000A51D819B713D30657A168EF728F203A4CF +:105AE000474C312958DEEEB6177BF343FD1DFD32DE +:105AF00032B55A471F47C79E19B604EA37665BECB2 +:105B00008A43372F5F44929D3C2E3327D5A12BFF2C +:105B10002F41EF3B667AC97FD2E8EC45EB2599FF30 +:105B2000B1909F0F96CF263BEC99A87A920F6447CD +:105B3000A1FCDDC8FD3DE1F4F98AA86715F8682EDF +:105B40003345D8685D3496D645AF644610DD349948 +:105B5000E314ECD7EAE6E36F9DE19887F64B551125 +:105B6000B9C5717D635906F97FC98CA4F662EDD27F +:105B70001EE772EEC1925E7BEED7F91BDF14F4D8FC +:105B8000A474A6E03CEDD4A4FDEA3A81EB9C9DC947 +:105B9000590548270FDEF883B98B505F7E7710E9EF +:105BA0004B59AFD2E97D2313FD756367EF5A02E9C4 +:105BB0006A464E5F1CF70342FEBE69676694B76F84 +:105BC00082B05DAF60FB9EF62C08B59B3EBB6B912F +:105BD00083EA9FCE4C36D45F88F42CEB0F747ADEC8 +:105BE000C5FCED936693BDB463A62315E1B0382CD4 +:105BF000C22CF5A5607CFB0456703F0B8DEB88989A +:105C0000A78F33793B0F966F4E41B88E663AC478B2 +:105C10003D820EF93A65BB7373CA228033793C9793 +:105C200037C9420FC37AD38DF3F6E0AC1CDA07C74D +:105C3000F9443FD011315F4785FCDAE1FE38652930 +:105C400043FA7110BDCB7E24FDC7A33685300EE725 +:105C50005747DF3B98FC398E74221DA6DB8722BE96 +:105C60006B85FC899F29D6C1D6389ABFE6091EBF2D +:105C7000EAE47CB294E0FB8CF0D23AC743F49E2C69 +:105C8000F823A294CF379B69F1673BF57C32369BB2 +:105C9000F804F8C04B7C92A1207D4B78134A3B1E40 +:105CA000437F406B7F8B1DD17393CAC773ADF6C022 +:105CB0005BC46960B26479FA66717FFC605A07AEB2 +:105CC0004B247D56696ACDAE03382B3704280CAFC0 +:105CD0005F0AB6763BF7DFF5423A6775A3497FDF87 +:105CE0002164CAC5ADC3E3D0FEF7C6F2728AD93BC0 +:105CF00012E3A5FF593CD282E3FD470C4379BA2059 +:105D000093DD3A1DD26F55383C0B1A2695E27A6B1B +:105D100044169FB797EA6182FB33F672BD8DB98155 +:105D2000395FA9B753FCD5FA148AFFADDE41E1DF34 +:105D3000EB73293C6DE17A764122BBD5C3D7B71608 +:105D40009427C5599CCE8AB3E4FAFBCE14D0240024 +:105D5000CF2BC34D769C827ED327C05AA443E376D3 +:105D6000F434B78ABAA64BBECE9D19457BB6325ED7 +:105D7000E51963C867B9C342715A1F7339B2A831B4 +:105D80007E2FAEFBE74D4934949FDDD8C7109F911D +:105D9000C589B9BC34D3903EBF72A0215E1504C53D +:105DA000310CC9B088F60FEE14F60163451CFF767E +:105DB0005EF693BA91BDEF81FE3F795EA3FCF07968 +:105DC000386DE174E7FBABCAF51AA4E3BC7CFA5A60 +:105DD0003A43784BFFA3D2FE03FB25F7EB2DDEA55C +:105DE000301F0AF94EDF42AC77E71EAB0BCB2DD943 +:105DF000A5322FC283461AF477EEE5ECBDF7D3BC8B +:105E0000FA1EC2729D506E2F649DD5980F49737112 +:105E100087684729E883F83F1BCFDCF16042BD1754 +:105E2000F146CE3D00E707654DD526A463F5F9643C +:105E300013D4FFE05195211FDDB6FAD51176C0EBE2 +:105E40008A675BFE5A04ED9D6E52991DFA7BFF80B6 +:105E5000750FF71BB87BA31E0E8DD33F18E9F2C652 +:105E6000BE9EFFC9027E3957ED1F4CE73CD6251375 +:105E70007D77C7078C1FF509D225B4E7BD3BC686E1 +:105E8000FBF68B3557AFA144477C5DE06385A9AC39 +:105E900008CA6FD54AFDE45F714FC5719E6E4A34E2 +:105EA000F1F3348F125D2D323B2CFAFE166D5549FD +:105EB0000FC064707FF736D50BB632FC9A78BB8D75 +:105EC0008A97F5EE3E8F77E0FE13B47F477A24F988 +:105ED000CD17621F3DAC5F3E04DEF15A43F1154F12 +:105EE000A964CFB142C783C5B81FBB6FDC7094579C +:105EF000CCCBDBFF2441D2CD46EAFF6337632938A0 +:105F0000FFFB62FCB83E3C6F7AF49419E661A8D9B5 +:105F1000BB0FE5C3F2A9BE871460890B47DEF9FE0B +:105F2000182877EED79A8BBB5FDCFB11BF382EE4C5 +:105F3000B34566A1C7D6F2FD2A66F6EFFF31DA391E +:105F4000FFE85DA0DF5708C993F5DCFE97E5010C7B +:105F5000531106815E0AE0D1EB6013EDF9E8AF6FF3 +:105F600011E774FC54DE814002FEEC351002DEDEE7 +:105F7000191E733F1B02F315B65FF58EE0E7235938 +:105F80005C0F4AB9F76F115F2CFDFE47C5FE8E8F7F +:105F90009D443FCC72C6F1532BF6F796D7F1FDC85E +:105FA00017B2B89FA4B6EE9677A57D87F3733BD062 +:105FB00021CE7FB53DFECE7688D71C8870F9A17EB4 +:105FC0005436E76B68CB8E78BF4D54792EF70E0BA5 +:105FD000F6BBE271852562BF7EED34DA6336C028F8 +:105FE000CA8F73C0B64509D89E42EDD734297E3C8E +:105FF000C7B48C7506D06FB2F2578A2BC09BA2F340 +:106000005E4B45BB2BCC0FD079AD15B90AED67B20D +:1060100003D0AE4E2EAD6CE1FD487952CBCCA7F546 +:106020007EFAA5C28E5ECABAEC437EDEAB89EFA7CC +:10603000D8986D3DB6E3898A21B85634F17DD110E8 +:10604000FC2ABB0C38ADF6FA9F9D4A78505C7ED690 +:106050001D8E65CC333E1EC701F9014777B8C2C714 +:1060600075AD7056BB5A895EC2E1D5CD83433F0FF3 +:10607000CB58FB66A4AB6A1FA783EA23806768FF3F +:106080005F751AB3C4113DB4678DE84E0F00FF541D +:10609000948FCB9A55167086E843D2C56D07FD16CE +:1060A000B45BDE674DB1D1C04735BB0ECE1E05F5E2 +:1060B00097ED7ED982FABC3221906D026323C9B775 +:1060C000797BE98D217ABDCD6FC4C3ED078CF1FFDB +:1060D000169E98389F47F5003F4BF7A9B47ED1959F +:1060E00033ECDB2CF731DA9F5E7E5275A1AF63395A +:1060F000E8B7C482EB8757E2EFFF1AEE70FFC4984F +:106100006CB1FFEE622EF44F7CCAF2E3E660A6B0FB +:1061100077AEE49FE83AAF10A66FDFD0C0BE8079BB +:10612000FCC4EC8EA3FDEE6E727B646FD43F525EB6 +:10613000570BFD29DB5F8A7A13E267763D168B7673 +:10614000E1BF9A1FEB85E132D44BF921BD74F7E230 +:10615000403AEAF1BB9F88702189B2298157EF85C7 +:10616000F8070755D6933C7D2BDD3B2F1BE5A9D0C7 +:10617000AF2BD53D7DEDA84F857CBD9A5DF84DC711 +:10618000B908C7392CD4EE6231CEB71BF9F8DED985 +:10619000CAC7BBA4DB38C1AEC0713E6C75A1683FF5 +:1061A0001B1120FD7F16C6D9A0B31FA4BD20C7F7C1 +:1061B000296B7A2800F92BD7FCED9419E8E1B69CFD +:1061C000F6C1C88F95DBAC641FDCF6788C9F41FC70 +:1061D0009C52D29BD611C703B188BF158F72FC8524 +:1061E000E0E8B2177CD9C93A7BE11AF1B64A9CD7EC +:1061F0005B75E44FAFA1FDAAB8A12AC0BBCA161DAA +:10620000207A3F6C3C5FA5385006E07AD365B3E155 +:10621000FCA431073F1F137EEED4EC3E0373518D77 +:10622000F500FECFB23F5AB886F8A03307F56D6D82 +:106230006440EB8D76D641C5B517F9EDCE92D812F4 +:1062400086EB7F7E6EF0A16C6EEF2A6E375B5B4053 +:10625000E7FE5824F4BB47C843C561679588CFDD86 +:10626000D07F4C08EEF0743C1F6C433D196DEA7111 +:106270005DDC2EFA59A99AC8EEAEB170FBFB82F034 +:10628000B7FC46E4FF269BDBE187B2F97EF70558B1 +:106290002EE3BC5F9860F5E3BAB3DDC2CF4BBEAC72 +:1062A000B9777D07E6CD93E37D0CE7C3638A5E8013 +:1062B000FCBE216AB086F273637C753F0C17B27620 +:1062C0000DE7756A51B9C30C7838D5CBE652B99F42 +:1062D000C6C3E47902079EC38C6EC4764F21EE607C +:1062E0005C15E2FCED29E81FCF2D9F4AB5F81BA0F5 +:1062F0009EEF292BD9135B22F9F948961467467E45 +:10630000982FE4D482F1B0A2079AA918BFC58321BF +:10631000B4E76380AF4A5BE7A6A1D0CF7A13D7D7A3 +:10632000EB13183FF7B4B16338E26F08DB68C77945 +:1063300084D11FBA9CF875F4646667249DC0B86A5E +:10634000F01CD568C609AD88F06B88D75878FE99DF +:10635000ECF7A73717431CD71E480F9354FF5E274F +:106360009EFB34D17C4E837691DE1832CD88D07975 +:10637000EFE9F0B718C639DDCC7CA6040A1BF1A8FA +:10638000DFAC22168883F1054E3005E1219F3FC026 +:106390003727600AF407BC4D33075A117FAFA96C49 +:1063A00013DAA5D399535B03F351B3E1DAE065390E +:1063B0009F4D6F4E83B8899F5FEFBC57F1E33A6101 +:1063C000A1991D57019EDA04878FD25773BA86F4BC +:1063D000C6D8022CAF105D558090407AC6F9253A98 +:1063E000C5C22342F304E56D9190FE1F5C54A3BF28 +:1063F0005CC0BBCB6BEA857E8195627DB8D0C6362A +:10640000C6607DB32B16F711870298FA79AAB5C832 +:1064100075648B653AF0E7EDC0DF4EC04B640EB794 +:106420001F6F97FCFD2B237FE7E708FE42FB12CF8F +:10643000EB88F04AFC9197C3F9232F87F347728EBC +:106440005CA7B6905D7DBB902B57EA6FA5950508BC +:106450005F4F5969DE65BFD344D83F87DBAD120E6D +:1064600049E7D5ACCE8272A25A9C5F33C164A2FECA +:106470005CDEF4B00591B07CB7F1DC1C18561694C4 +:10648000532BF685A7EBCEBFA9063946E747154B38 +:10649000E712844FB929C2857C51616921BF82828C +:1064A000F22D3724DFC2EB694D7C5DA96DE576994D +:1064B000F4CF59C1EE44395F95E64A41B960658E23 +:1064C000898A9375D9EFD5820EAC686FC07C55A3CD +:1064D0007D86FBC1689F21FE76717BD42CECEDC5D7 +:1064E0004D463BA5AA5167AFF2C0A63F1F60457B52 +:1064F00045676F48FF7383E64AB11BFDCB64B73431 +:10650000287C1CBE64E1474EE2F966619F4AFE1F8B +:1065100093A3F1F590D02BD398272EA093B79EF19B +:106520008CDD5480FE09C58FF430CD5DD2C6C3F535 +:1065300001BA3F0176599F047EDEBB98CAF17B11F8 +:106540009E52C51745F72BB473FA71BD84FF19D558 +:10655000DD5EAACA89E9713F871527F6A80FC3ED4A +:1065600025DF58964BFE2394CF99D42CD9156BBABE +:10657000CEF146E7A2BCAE54225DB87E90E74ADF7A +:1065800010E1C7607F23BD54BE1943EBDEF0F3A6D4 +:10659000174A627C260817C4DD3D15E7B332D66280 +:1065A000C6509E437D43849F9B3AA8FF5B59C7FB1F +:1065B000B86F744B527B0CA25F9EFBDD5C326C1794 +:1065C000D8846C6BCEC419B674DAD713FBCA935F48 +:1065D000C1FDC299B8BF47F12933DCD8EF1F3B1783 +:1065E000DA40753DBC7FCA0C33E0EDC2CECE8730B9 +:1065F000FEE4FED933CC80970B0F74F68DA0F80221 +:106600009EBF5EB4E75B3003FD7D177EC4E3DB20F5 +:106610001FF7A52BC772D155395A21FDD3847A793A +:1066200078C8EF56697A86876359C05478F5727FC7 +:10663000CCF134A1FDA7C69CA67DFB1772DD4DA849 +:106640003FBF9FE5DD9D03E18A72C5678175323BDF +:10665000E9CF117A9DD6EB5B843F5ECE675336F768 +:106660006BCAF0D7FD79BB126FD0DEFE6FD2DE9819 +:10667000B0F6A49DB354C80168FFD16FD2BE942B6D +:10668000B23D5B6E37F88F7E93F67D61ED49FB5727 +:106690008E6310F22CD09D690033C023D33729813B +:1066A000E439E87F3BA1D23EEFA6E43366DC8F6598 +:1066B0001EBE0F7A4704E7937F0A3DB3E93BAE382D +:1066C0005C07F85E5069FF76D37A7E5EFAFD5F8FD5 +:1066D0001C812426EDD4F75BFF6E71C0385689FD0E +:1066E000D05AB11FBAEA50AB6522B45F0BE1389DB6 +:1066F0007FA4A6EB1C5087797A4C088E7FE698849D +:106700001C5AFFB5FBE117BAF4141FF76031BE9FA6 +:106710000F749F45FCCA71CBF406CD784E41868537 +:10672000FDF9389FCD6186F686287CFE2A23B9BE06 +:106730005C3C22C6E618123A1750BDDB49FB1C8FA1 +:10674000678DFD2C478767592FE4A7EEECD94F7D65 +:1067500084FBA9657F2E01676542FB9D600CB0C27A +:106760009F37EC40B930F987522E8088B0E13EABBC +:106770008CFF78C6F862EE2FC578EF9FEFD8E183E3 +:106780007EDA22F9BA69C1C8419128973A9C51260C +:106790003BC88F3E595585FD8763FA8D1331BDC4C3 +:1067A0001A9353C5F77D88FEFA6479ECFD937979E5 +:1067B000F467792D9C4EBCCFA92E1F8CD33B38CAD1 +:1067C0008B7EC436131B8F7A5CE22FB63F9FAFC21D +:1067D000FE1C7FB27FD92F6376F24B9DDE904AFB81 +:1067E00016995925C3FA2787FACDCCF23A102ED93B +:1067F0002F0C7330A65FA9FFF0F94BEFCFED966138 +:10680000FD39BD7B8A81FE74FA74FAF828437CE670 +:106810009444E6D6FBC367F631C4E756661ACACF7E +:106820005F32D0905F666D2FD4DB0F72DEAE75BD28 +:106830003611F83E0EF0D2DECA061D423E74C6D0B6 +:10684000BEEBED8D93C8BF1E17ACA0B0A669126D4C +:106850006EAE0CCEA0F8AA6014C5DB22DB27A23EE8 +:106860006FFB5D3CAD4F5F5203393FC176AC31C425 +:10687000CF657D166C40FDD316E9CBBF03E02CFB42 +:10688000ED2DA538DFAB0E29E4072E53599B9280DE +:10689000FC1941ED95A97F295C0DE993C771BD569F +:1068A000863A17F21B845FF34A7C5321F846EBE0EB +:1068B000704F0896537B32BFAA3FB7FB645C4BDE38 +:1068C0006726FB578C47EB5028FC56702085B58710 +:1068D000CACDB8CFF45CEEC349A83FA07C34E97DB3 +:1068E000299724DFD48D8C63D157C6B355C89F0A2E +:1068F000713FA136CF7D0FD2D7D4751D661BEE2B0D +:10690000445BECB88E9C5A3434A55AD74E43EB3CCA +:1069100086F2CB9AC42CA87F2B20D4CB2BEF15CE9C +:10692000197D47D09F9457528E33F70F685F7CA133 +:10693000F05748FA5821CA77AD5F15AE877D8FF3BF +:10694000FD8EC63C6F13F2477B099BFB28C98FF66F +:10695000BEB83EF86FC10FF36B53683DD641F77177 +:10696000A71639E8BCE3CEAE71703ABDDA38368886 +:10697000F22F89732D2FDD7C73BB1BF705BF3D6C98 +:1069800018CA4566EFBC84745A7B744C26FAA77FFC +:10699000D6DF22CE6331B247E57AA1F66814EDF76F +:1069A000D41EB5EE4553B536B63307E5EDBF067ACE +:1069B0007F867878E9E92F4E7D1BCABBA363E8FC8C +:1069C0005DEDD188E318BF49A5E3996077B8F7E397 +:1069D000FC5E09CE6BE5C7703AF33672FEF30A3EF1 +:1069E000AC1274BB48F0619519F422C07DEBF32A18 +:1069F00043F9B4689D32E810FA291C31748E58F2BC +:106A0000A1E4370DE97218D227A7CB9A60BCE06FDA +:106A1000A76897F34119AE5BA19DB281F1B48E5F77 +:106A2000154CA472925F259F1ECFF3BE8AF8296B86 +:106A300000FEC673F41B520B915FAE4E275F98F1B8 +:106A40001E8E56AC6848275608C7E9F8DB133A9FF4 +:106A50003BB117EEDF6C749AF4FBE6FFE86FD4CF1E +:106A600057A3933F89F28BA203D968476A75112E09 +:106A70003CDF5B99EC2039B6E63E88000AD6689E7A +:106A800071A857D7FC48217F23EA5BB4B747BC56AF +:106A9000477E6BD9FFBCE060E6003CCD086651F84C +:106AA0007896F72CE2A12A385BE071708FFB949FF7 +:106AB000D46D213FDF277EAB8B919FC6E84F1CEE44 +:106AC00076D1BEA5F6BCC6F638D00FE855913FCEBC +:106AD000A633FB0E85FB13D1BF28FD8172FF51FA4F +:106AE00005AD4926C37EE9A7E6A6BE68FF77F30F8A +:106AF0009670BD767E9F467AADA6F52F234CB8EFF3 +:106B0000E274939FF0C6BE5E532EE06BC574FF6FB8 +:106B10003488DFFEC063B1E8BF97F86C3107B2710B +:106B2000FDD20278447F65CB5695CEDDC32FAA5C9B +:106B30007FCF4DD8152718B747249DAF0866127E22 +:106B4000A4BE91F2FB89FA145AE44A397E353D24F9 +:106B5000E97BA599EBB19540F7386FE17C14D23F02 +:106B600043895F18F00BF24748FF70FE08E91F41A8 +:106B7000FF71FD68BD112ECFA57E1AF38BCC437F2C +:106B80008076563CB2C083F374F3409007808F9AAE +:106B900047391F84F3BBD4D7121F123FCF89F8A007 +:106BA0003C7771EE35E98908B273ADBE7246721654 +:106BB00042BD9CD5C2EC5A995E927B7D7A6248AE0A +:106BC000713D21E16CB770FB4AC2FF67C6ED0FD97A +:106BD0004F63DEF4B9B9C95C6F60FF0B72B99EFEFA +:106BE0006F8DEB4AFA6341AEC9E03FB8DAF8BE15E3 +:106BF000363E390E39AEE7C578AF55BFACC9ED5951 +:106C0000BF40B9334F42BD0B4FE5D9518EA94AE77A +:106C1000193AF7F2548403F1F0D2D31154DE6D8B9C +:106C2000237FFDB8A7DFBDF81307AE2366AC413C58 +:106C3000BA8F58CD4C67EF49B8249C2F08B8410F44 +:106C4000DD93AB1B8F4CFFA67A49F24538DF86F304 +:106C50006B387F4EFE1ED88938CE27143A5710B2B3 +:106C60000B19E9A9B68C74DA4F93FCADB313F9B9DB +:106C7000A05C85CE0575B7BFFE56E880FA170B639A +:106C800086A27FE498DAB263B412E2E3B18F7CF5B6 +:106C9000D83F58777D9790E7FD25E253F2AFE4D3D4 +:106CA000ABD3E5EF35D257350AD9355608F5FACAD0 +:106CB0007B057EFBED75F2DB4F053DBE84F0A13D0B +:106CC0001667217BEC6A74D78A7497FC5FA5BB5664 +:106CD000A423497757B2BF9FCDE5EB5FA0BB677395 +:106CE000BF81FDF335F34B7A52D2DFE43F73BA61D3 +:106CF000997CBD027444F0B759D2494E5708393DCA +:106D0000F932BF97E915EB7F49C71FE479CF219C82 +:106D100072FE717D82EB8E6BB56B2B92EAE8DC9A8A +:106D20001742BD5C92F742C3E7FF42EEF5D9296FE7 +:106D3000E65E9F3D7BF90AF2E66BECD9C8BCE157F1 +:106D4000B767999BDB2DA1F9B0CE40BAB91830D303 +:106D500051A72BCDA7BA8BE3BB0B6F01B3B40B12BA +:106D6000D12E003A89CAFB06745236AEE5131B9841 +:106D7000AC7979DB66A2BF71369E95213FC4F66679 +:106D8000B719E50D93FB2DE4A7203EA2F88E93E3FF +:106D9000018EC93B58683F06F22714C775F9357054 +:106DA0000924CBE7E6359DDC4A70F3F349CCDB617F +:106DB000E6FB93225E08F1185DBC282CBE9B978FE2 +:106DC000357730FDB91DA43BA580D389E13D00D6C0 +:106DD0003911CF834C3DA4D8D13F31BFF88205FD96 +:106DE0003265E33A9EED03E32DCEFBF1CC6860D52E +:106DF000F9281701DE29797B9B7D6651BF17F9B110 +:106E0000E8676D51DC786EBCA648F1E315B3703CC1 +:106E10004EC933AEAFF06736D667780EEC7AEA2308 +:106E2000DF52FD0CAA1FB05E47FF738AF9B9D1F09B +:106E300072F3F304DF88FB25D43EE06E460BF71FA8 +:106E400084975F24DA6D379956E221D61579BF6BA6 +:106E500046BFD504C6E9A326EFF1993E4E87CC1D67 +:106E600036DEAF83D79367B427F0E730D60F7C1DAB +:106E7000BE6677AB2FE863B9915EE2CC9EE3170163 +:106E80008EB824C58EF6F82A4FC4565C77948D933D +:106E9000F41D98E92E86F14530831F2E44DFAD3373 +:106EA00091BE5731997FAC19F594C7C40CF7C4262D +:106EB0001C51BAEAE702FD906B0CEA6FCE7BA61973 +:106EC000FDF1301F944F71F3D7D07B4B58BC388CF9 +:106ED0003F047D137FA2BC06FC64F72037F6887957 +:106EE000FB40DCDF6A1FCBEDCAF60C1EB6E671FD77 +:106EF000F20B81C783226C8FD4E1212D34CF8828F7 +:106F00005CFFE8C64D789A9724C6EDEB9839250BBF +:106F1000EA27B0410AD0C993BF78A37923D189C7A2 +:106F20008CFB2066DFA9E6E741AECC137869FDC58E +:106F30005B277D24D741EAC1BCAF240280793FA4FE +:106F4000F8E81C1ACE7B0FE37AA03BDDF8C2EABB5F +:106F5000B5AFA9BFA37B7D77587DA6255D4F7D3159 +:106F60002F53C2E6AD346CDEC687C52B65DC6F904F +:106F70005F52AE2D3ABC6D532F3AFFA7D0DB5E2097 +:106F80009F2DCA50C6FE9A776E66F428A44F87D606 +:106F90000764FC3FF2CE9FB401ED96A3FC227AFD7C +:106FA000A0D90DF33003F99BE21FCEC4FDA5D9454E +:106FB000759B52A07C47DE85661B149DBF719B8626 +:106FC00077F04FE77DD46C86F99A57F8DB67B13DCF +:106FD000B372F1E414E56BE8B3296C1CBBC3E2BEE9 +:106FE000B0F2CD5791E71BC3EAAF0BCBDF1A16DF28 +:106FF00015166F34D6AF5AC2F743AB8AF87B1057D9 +:10700000E393CFF2A45DD85288FB6DFFC9633B3791 +:10701000419DC90D82CE7FC966E9E954EED356245D +:10702000311FEA03ED0AF2E9E36EF25CC09B1BAE8E +:10703000BF64BE2705D34F09FE60BE6767A19C39B8 +:10704000D6258738BFB5AA1CAE885F3EFBEA46DD71 +:107050003A71BBD89790F75F705FE5600FF27FE5FC +:1070600040BE5E3CF6157F17C0D7CF42FEAC6371C1 +:10707000FC7EC196FBE6D0FD0259BEB59F652DBFD3 +:107080007F509FB254A71F8EF5EB7509F7898EF5D7 +:10709000E6F7F98F7D7BD825BCBFE0AB555DD98C79 +:1070A000EE75BE8FEF47BC1E1C6DD7DFEBD46AF8C0 +:1070B00079652DA92566A90EBE63B5C38A1DBAF1EF +:1070C0007C2AFCEEAFA7DD6D477DDDDAEFCEF61250 +:1070D00084B7B799E0B57E516957F2F1FE21BFEF51 +:1070E000553080E35B8BF980EE933624E185394C93 +:1070F000E7726E53DA6C1BB6D390C4DF31D06216E0 +:10710000D82DBAF1B893CC1C2E27F3E8EDF1FD038E +:10711000387D6C1A10BAFF5FC5E1A0FB63B77E55DE +:10712000F95A3BF4A3F51DE1C0730DE70664F27B49 +:1071300010267B31FA87E4BB00725CF34C62DD18E9 +:10714000F63E8E15F7F98DEF21D2BB005DEF87C4B7 +:107150005ABADE7B31E9DE3F0C7F0F63E60027BFC2 +:10716000B7C760B5C7F7C7E95E195D0E52E97E186B +:10717000C97FB4AB353C2716F6AE0DAC4AC663BA30 +:10718000A6001E104FE96CD574A253FE4E4ED500DA +:10719000A54B5F77BD93630ABD3B23DFE9B8B5B765 +:1071A00065F06198FF8E688BCBC142E9B2FF0AD1CE +:1071B0008F7CE7C55AA3F5789F7FF500F94E8FEBDA +:1071C000B5BF25A1FF22CA44E7CD19BF97DF8507C8 +:1071D000F1AE4B475F50F1D1340EEA6F933807633D +:1071E0008DE6F7F3657AC78631746F6693F4CFAF97 +:1071F00094EFF0F07BFBF25D928A248B3B0FC70586 +:10720000F59D8375EB923078710EBBE633B3FBBC12 +:107210005CED9E9CF42B48FA50F18CC470A4FB5E8C +:10722000EB88AF7ADB88EEB7A49FA1F73AB4EF8E74 +:1072300071E1BAA58B4F7BA714E3FD9FD6DAC47525 +:107240009D3A3E79BD66867D713EDEF7895E8EF49D +:107250007DD35769EB4AA0FE5B969B0D7C79F4BB0E +:10726000EF5F7C2209C318BA0777F4CBD10EF4CBB9 +:10727000AAA60E9213ECCB48A2F771717353F4F7E0 +:10728000E17E2AE861A0D3FD930110AABD800FA280 +:1072900043F24CEB55E8457ED9124D3715D916B15E +:1072A000DFDBA018EF1F9F13FC7B4EB4776E807856 +:1072B000EFC6ECA0F7CFE4BDCED67EE6B57A3BF5BF +:1072C0000FA2FC1F44FDD67E77BF56A5C357ABF572 +:1072D000E9174620BE7ACD74D17D26947BE8D7AFDE +:1072E0008F72E1385B7BDB68FE5B7B5BFC78CEA753 +:1072F000B556E5E769E26CA42FE4BD2BED8B4A920D +:107300008BE706380CFB3BADBD9308EFCFA875AFFC +:1073100071B960A3F5F3EB358997505E695A9C1DEE +:10732000E7E92D53E770E4BF730312B83C51802D99 +:1073300074FEB0F921B940F750BF462E58C4BB4285 +:107340005EF14EC5D7CA83BF0A7920DF0DFAFF95DB +:1073500007F8D34674E7F72E7E16F5255F77D5FF3D +:107360003FE293F9617CF20C4E2EE27F0B7F2F4CB3 +:107370004B3E1CA3DF47FC4AD0496B541CD767B572 +:107380008997902EAC1BAB7A3187BE9CCAE5A74D7E +:10739000DE4BBD99E8B72A7AB6467E02A0C75940AF +:1073A0008F5F0E3053B986786E5F6BA6CE41389EE4 +:1073B0004AA7F732F2C1DBE21E65E8FE63BC82E752 +:1073C0005025FC52BFC9F9FFAC2BCEDFD990E74B5B +:1073D000E53B71D666952E7856A4B9E91D5AF9AEEB +:1073E000873C8FF6B6E26947F9E84BE7F7F0E5B975 +:1073F000B42D4913EDC8EF5B9AF8FBB14CBCEBB16F +:1074000058D4ABC6773BA0BDA90333683CDEB3F6C6 +:1074100089B10EC4DFD917F0FEB5F55E95DED379DC +:10742000FA3F2A9D93B8F113FE1E8777A3D3F06E1F +:1074300082F7BC7922EAD72A66A77B0F6FC5AE2DEB +:107440005D0FE51A92BBE00B780BE99C1AC1372659 +:10745000FD6419BEC331666732F9491AEE8A89C5DF +:1074600045D32956D78EF0FAB6AAC4470D1A1B8FFA +:10747000FE169F124FF2E7CDB4EDF4DEC69B59D64F +:1074800078B4EFAACDEC38BEA7316420D7D315E28B +:107490001C23E2C556107A7F03E892DD50107A5F14 +:1074A000A1CD049C5340FE1DA2DFE103B9FCA8C698 +:1074B000F737D08FA01E198EFBD9D65DC6F37B0D92 +:1074C0003F525294218C2D690E4B177EBC2A9F315E +:1074D000BD62AB313E57C079BDEF20940E8C4E3A61 +:1074E00083E7B6AFF31D84B9C81F3807AE703FE01D +:1074F0003D767A0721CD4CFB735BEC9C7FB6AC5597 +:10750000E99E56787B1DF58CEE41A689F6241D4B2D +:10751000BA95EF1FE03B5F687786DE0549577CA48C +:10752000575B12719F7B9918FFD3166EA7CAF7415C +:10753000E43B06CB06AAD4FE93E70BE8BD82A3C1C9 +:107540008262FDFDEA636AC72323493E733A07332B +:10755000BDF4B11EF060177C2CE194F6B1E4B71DC8 +:10756000026E39FFE1F5370EE4F2A223ECFD10EFD5 +:1075700055DE0F71E58C5D3770B8EE1D8F63F398A3 +:1075800093EEBF0E233FDC464167DE243691DE0DCD +:1075900049F1A4E8FD9A27728CFB263BBAE4C2F5B8 +:1075A000AD0F4EEC37AE0FB689F177C125DE6950CD +:1075B000C5FE69259EFB01BADF23E647BE2B5219A3 +:1075C00019C8C6F3D7F27D91522BBBB53C9ADF3375 +:1075D0005AA3C3DB1EB1AE98FC202F07EB270AB1DC +:1075E0009D3DD1A1FCCAB1BC9E8CCB714AF84EE442 +:1075F00088F7EAC4FD9970F8C747FDFB313C6F542A +:10760000DD64B55B01EED3E8B741F9F01497FB8078 +:107610000317BE3379FAD5612EF4CB7F0CE3457E98 +:107620003EBEAD7F1CAED796B6A90CCF85AE6CE33F +:10763000EF81A3A7B64C772FEFB666C587F7DBAA15 +:10764000DFE0FC507D48F5E313AFF21E16E453BDB6 +:10765000DBFCDADB7ABEA6AB85507E598BE2C773C2 +:10766000B5CB7619F3E5FDA4952D61E9E25E576D82 +:10767000D83B9F6FE17F52BBCB01A030A283E706CE +:107680001AEF1D5DAB3C3033F7CB03C91E08BB5767 +:1076900029F16D0E24CFC1F5D38944BA4F0F7C690F +:1076A0002BD29D0793FEF6F3F5C009FD19FBB07EC2 +:1076B0003985B2FE05A5D5D207FDE5FF6274BE7E11 +:1076C000F4A183DF1BE3C0F275A4F43F3C5F48EBF9 +:1076D000BC0F81AFB811B041D8277E0A6F3CD4AA45 +:1076E000F681D88787DF89A2F341DDFDE534DF1716 +:1076F000CF9BFD3DEDF377DD6BFD7724E54B3C9EA5 +:10770000BB97CB2F49F763447BAD8F241E198DF4B3 +:10771000131567C775EB32B1EF7FEE804AED9CB56C +:10772000C5ED9F02ED9CDD3DA3173EEEB454EBB4D6 +:10773000E00555D753E5B1B85FF12F2817203BCCB2 +:10774000AFA2FE1B5DCAC89F3F3A60660E276EBDA2 +:1077500079A6225D8C3ACCEFF3BD8F7E7BEE4F2075 +:10776000BFFDD2DFABC46712AE71451C2E89CFFCC2 +:107770007C2E2FDEDDFD18B5F3DE3ECD8EF07CB81D +:107780004F237A5B01F4895743CE1EE0FB7A2B8EA0 +:1077900028FE08C87F0FEF3F62FE49D56503FCAFA6 +:1077A0005CADB9E9DE6118BD8F3BC0FD252B5AF8F1 +:1077B000BBCA92CE57B8FD13C98E17746E833F783B +:1077C0009E3C9EB56CC67B90B71FF866F41D4ED7E5 +:1077D00059F9315CBF15B082EBB947771EF412D26C +:1077E0009F4C4F68195AD2875AF519CE8B375818C3 +:1077F0009D0BF799225D2827AEF6DEF03DAAFD8F9E +:10780000685FECCC77523B9F9B1C1AAE0F662475C9 +:107810008C27D3799CC98DF7C8588395E44E387C62 +:107820006E316F2FE3DC425899CFE59ABC3F254378 +:10783000D054E9C887E551099FE213D065F9D9B35F +:1078400071FFA57C4CC25D996019CDCA1F381BCF52 +:107850007B970F4B783C03E2737E95C7F387240C2C +:10786000D75CF87C6CFEECF1907F67BE7B72BEAE9D +:107870001FD92EA44FC5F49BD2BDE518D65AA21B22 +:10788000D17EB9A074AEC207B764F9971576EA49FC +:107890002514EFD0585F17CAFF2EF87B0E1FCA774A +:1078A000CFCF1FDE3D7D113EA5037859E4E3F74BB2 +:1078B000E0E7B1F50ABD17BF48DE37690C7B1FDC76 +:1078C000C5EF45C97B44F23E505EE89ED3EEEBB96E +:1078D000E77441DCCF0ABF7FA61CE1F7B41A7CAC89 +:1078E0002382E6C1783F646514D0C5100C811EA0C8 +:1078F000DC9AC7DF8C7540E7B7295C9E306F11AD0D +:1079000063EEB4F3F130EF689253F27DB677EB5942 +:107910005D16D2E7D4400EF2FD83AA773DE2E9BCC2 +:10792000F3895854D7EFEE7EE5373E989F1AE1FF72 +:107930006097547A9FA3CD9947EF1C9C3FB8250DC3 +:10794000CF4BDF27E8E8BC53BC9778E958DF6F439B +:10795000B9D28C49C3EFA7D1BABF974F3676983CBE +:10796000DF378BE09C140DF21BC67BB383EB5B58B7 +:10797000CFF962F8BA8EE1BD270D42B520247F31E0 +:107980003F96EEF02F4E11EB45BAEFD6F5CEBF98ED +:107990008F6EF304AC85EFD7996C4C43B99DC776D5 +:1079A000DB919FE57CBD2BF8EC5D1BE72FF99D8BF0 +:1079B000354FF17BDE6B14AEB7D7BCAAD239A39595 +:1079C0006D5A8FFAF90316A0FBCFCB772F263925F6 +:1079D000E5135EBF46FA996A375F9B5CDA3DEE9A23 +:1079E000E4D213522E0D6543AF53CF1EED695E26D0 +:1079F000A8950E7CAF674D726E81F8960AD1CD3294 +:107A0000712E5FCED39A9F66D2FD57B6FC20D1D996 +:107A100032013BDBCDEFC96C76AA748FBFEC701FCF +:107A2000E680A4DB0E2B745E6ECAE1448AC706535F +:107A3000295EF6F3DE63F97B027C7ECB7EDE9FE27D +:107A4000EFEDFF73A1781789DF9F11742CE7E5E351 +:107A5000B97C5ECCBEBC1F16A39DDBA631BF83CA1A +:107A6000D37D258F00C723EE277958F87D6A471C00 +:107A7000B6E3017B8BDEB376733F8043DC4BB2A66B +:107A8000989843371FB3DAF87BEA118E48E6D0E1C5 +:107A9000FF55714FA941C86BE673B7E3BA77AEA043 +:107AA00087A8DC0443F9B9D1FC3DCB18D70D86F685 +:107AB0009997AFC3BAE804D392F87D276C7FD65C60 +:107AC000E3BDAC2D115C1F68C51F91BCF7083AD20D +:107AD0008A8DEB398F78EFD21376CFBC9BDD364899 +:107AE000D86B792C4FFF4EBB0EEF44FF1F83BE4671 +:107AF0003305AC871FE2FB1AB305DE37C9FB4BF831 +:107B00006E339673C7D07B7592DEDA517F0DE1DF5D +:107B10007DD18F1BBFFBA2C70F7EF7451FC7EFBEEE +:107B2000E8CBE3775FF4F9F8DD177D3E7EF7451F7C +:107B3000C7EFBEE8CBE3775FF471FCEE8BBE3C7E13 +:107B4000F7451FC7EFBEE8CBE3775FF4F9F8DD1721 +:107B50007D3E7EF7451FC7EFBEE8CBE3775FF4F9C4 +:107B6000F8DD177D3E7EF7451FC7EFBEE8CBE37714 +:107B70005FF4F9F8DD177D3E7EF7451FC7EFBEE8DD +:107B8000CBE3775FF471FCEE8BBE3C7EF7451FC7FD +:107B9000EFBEE8CBE3775FF4F9F8DD177D3E7EEFCB +:107BA000451FDF24EC15FCCE8BBE5E3BDB988D7A47 +:107BB00027DEE12D1F341CDF1B3D6F467A7F6D01F0 +:107BC0007F17E4E3B61976E2FFEBF443CC0BA3E3B3 +:107BD0004F59F44253C695EB4BFABC09FB1A8E740D +:107BE0003E85DEF5FEB845213A0FD7CFD22E8B0366 +:107BF000F56AD6F51BEFB631B36EDC89A576433C4A +:107C0000D9936228DF7BAEC3909FEACD35E4F75964 +:107C1000EE32C4D3EB8A0CE5FBAD751BE24E5FA9D7 +:107C2000A17C66A3C710CF6E9A6B28DF7F97D79091 +:107C30009FE75F6EC81F78A0CE101FD4B2D6507ECB +:107C4000C8619F217F68A0D1903FACADC9101FDEF5 +:107C5000BECB507EE46B7E43FEA88E0386FC31676C +:107C60005B0CF11B3B0F1BCADF1C0C18E225EC84DC +:107C7000A1FC38DBCB86F804FBDF0DE56F49F9A7E3 +:107C8000217F92E33D437ECDFB2EBA57CC9E54E834 +:107C90005E8BB4CB26E77E6428A72581DD8EFBF9B9 +:107CA0002CD285E77FAF64AF4B7BAECCF585A1DFEF +:107CB0007B546E67070671FFE6E7266EEF35F83CEA +:107CC000E4FF4EC0052DF0491CDEFB4EE0E736F820 +:107CD0007DF6243A7F43AAD381E748C0EE814882EB +:107CE000C9E9C4F54454C81E4DBBAC7B97E26AF6A3 +:107CF000E88BE80B4AA6EF2B1D43BE5CD1727022C5 +:107D0000AE576E63BECD08C704353F0EBF57F36252 +:107D100044CF7EA94936C0A3AEBF13114D69055F9C +:107D2000C3BF936CE7A97C57BBE2DD0D05C6A7F77F +:107D3000DF7C1FD65166E0D3A67AE03358086FAFD8 +:107D4000B753BCB93E85E23FA87750B8AB3E97C267 +:107D50001FD7BB287F777D11C51FAA7753DC5F5FD4 +:107D60004AE1DE7A0FA5EFAB9F4BF1FDF55E0A0FFE +:107D7000D42FA7F097F57594FFABFAB514FF4DBD5E +:107D80008FC296FA464A7FB4BE89E287EA7751FCF1 +:107D900077F57E0A0FD71FA0F00FF52D947FA4FE74 +:107DA00030C58FD607281EA86FA3F833F5ED143F12 +:107DB0005EFF1AC59FADEFA0B0ADFE2C85CFD57785 +:107DC00052FEF3F5418A9F17FEC72F0789FD4D35F7 +:107DD0009ADEFDF38CED4FEFFEC9744F8EF7CB4169 +:107DE000C9A1F724E4BB11E1EB87F0793827DAD792 +:107DF000C6F27721B41B72F6E2B9CAD0BB0E8EBDB3 +:107E0000781F441BCCFBE97A2742D8DFCB041DCA7C +:107E10007723A4DF7F99A0FBE1488FB9448FCF5F20 +:107E2000CFFA48AE93BF9FE54D1E0CE18A74938F45 +:107E3000FC04D1FCDEEAE359DE144CAF8EAEB37025 +:107E400073D545E96556EE27EA3CA1BAF63AAEDCB1 +:107E50005FAD387F7CC5FCA3EFA5A1FE29FD8F4A4D +:107E6000FB592F6A3173D11F326030B783070C364C +:107E700019C2926C4FDE6008DFCDAE3BF31367E8AA +:107E80009EEC345C52035F973307BDDB3183B9FF4F +:107E9000889F7E9805861FC6E7301F857DB2BC058A +:107EA000389E79B070C0B877B495DEAB2CB372BE93 +:107EB000088763B4988FD1834D867061B66734C2EA +:107EC000713ADBBDFF0E28D22CDE3D99CA3A1F4223 +:107ED000383E7BEAA3334A6608BFD20FB1B944ECFF +:107EE0002FAE56E4BBAFE1F7D729BFF22EEE8F09D4 +:107EF000BFBF2EEF9F7F5CA7915CC47BEEE8A7F825 +:107F0000B8EEAE91B85FBD00D66FB8BF2DE5642561 +:107F1000BEBF5180F7E56DBCDD37A2E8DE51B8FC8D +:107F200094FB2495605FE27A709378DFE245CF4757 +:107F30001ABDCB9FC4FF5E18D587DE1D047AA92029 +:107F40007A19A5F27BCE76A0974178BF99D385EFB9 +:107F5000397EFFD86CF7B871FFA67A77FC50DA3F0C +:107F600003FA41BFD7C3028F923E568973EF922E18 +:107F700080EE96217E3FFCFDC85CA48FDAA3A36847 +:107F80003FBAC124EE378BF619BAB4A13F352E9F04 +:107F9000DE492B43A302E972540C9DD7C577970F96 +:107FA000F620471F10F3FA620A7F6FAF41F0A7CCAB +:107FB000DF2CE86DB3A0C3B2674ED07B49ABDA3497 +:107FC00017FA9D596147BEFE9DE82E7A5EFBF0DDF3 +:107FD000593A7AAF3DFC4FEEE7671DF9D36338B8E5 +:107FE00038DFF29D61D98F86FE10543649E6F35D85 +:107FF000EB8B0CC413A37C4997AA25C6BB275A3F19 +:108000000E8E47E08BAD922F705D30D5EA889B03D2 +:10801000A077000A717DE3FD7F767A8F631173513B +:10802000B88479285C06E4827CE0F16DB3E03CAF73 +:10803000602D94BEAA68715F8CD7B2CEF129D0DED4 +:10804000ACC6F57F4C015066346D9B900A704FF7BB +:1080500057FD11C3F27DCA199F83F8EAA7480F1D87 +:108060004ADDA61BA0BFF9BF2AD9D407D2A70AFFB1 +:1080700006D0A15B45BD9AE5EAF0C1FC9DDE9647BE +:10808000FEE587C53C2CCC763F8CF52B3730A2170C +:1080900079DEBA8BAF8A6E7FAB0F9E853177D23B8C +:1080A00091B547AD09B8AE5CC1B81E0FF977B8FEFF +:1080B000967C83EFDDD1FB91BFE6EF1B9C53600202 +:1080C0000A7A78F741D8A1921FC2BF33F6B949F8AE +:1080D000EBFA7A530A3243FAFA9CC93F223693F4F8 +:1080E000F951C4BF36D6BB7528AE977FA3B81A0026 +:1080F0009673F1FEBE75D106FD40EF2F49FFDFF705 +:1081000035EE8F0BB77FE538C2E1B45A980FF735DB +:10811000BBEC9EA267BF507A84D79B3242A5FDB1CB +:108120000E9443DA588FA32738368AFEDBFEAD1A49 +:10813000BE2B158E4FC5CEFBB992DFD41AC9E19282 +:108140007AEBCA78E4F3F5FE602E5F247C2040725F +:10815000EDD0BFD91C49EF7FBE1CC1FD6FD2AF2649 +:10816000D7C9F79ABDE7904E5E8EE07EB936E7BB81 +:1081700059A47F2F35A4F1738001C33B4453255F7D +:10818000156906BE62617E2D56DCB3DFD163B39301 +:10819000FC9BCE5CA45FF2D81B127F063FE4FF027B +:1081A0009D1539C8D07700000000000000000000D5 +:1081B0001F8B080000000000000B8BE16060F8518D +:1081C0008FC0D3D1F8E8F82F9A7C1E0B7EF584700F +:1081D00026507F0A10C70371141087027100107BAC +:1081E00003B11B1017B301ED00E24C204E01E27801 +:1081F000208E02E250200E60439863C5CEC0E0C4DA +:108200008EDFAE0D6C9862BFB910EC404ECAFC32E6 +:108210008A873E96E0636090E247F097F1A3CA4BED +:10822000F221D8938529B36B09503F0062526D0E3D +:1082300080030000000000001F8B08000000000009 +:10824000000BDD7D0B7854D5B5F03E8F79666672F4 +:10825000924CC2E47DF240428D38848751633D40A8 +:10826000A0B1E5D60151D19FDA0151038244C496F1 +:10827000FFD6DB1CC88380D1060B1611ED8088D891 +:108280004A6FA4F8F85BF50E8F5AB4B68D162B5AC8 +:108290006DA36D2DBE906AB9D8D65EFFB5D6DE2728 +:1082A00099736686A4B6F7FFBEFF42ED669FB3CF13 +:1082B000DE7BBDD75E7BED3D1E7912CBBF90B14F0B +:1082C000F00F94450A63AC70B8BCEF7F2BF3FBEB67 +:1082D000E1DFCC80878C55FAE09F3A63076F7BFA29 +:1082E0008FE32633B6A3B35AF640BD9449D47E7BC0 +:1082F0004FC30B2D61786EB2287EB5F6B6A29241BF +:10830000F87E7B9551A205F00993B19F2A2FEF8744 +:108310003193F7CB787D47E7DC5C06ED2AFBBAFFAB +:10832000A88486E76595634D9925BDD40FFB84E14C +:1083300077EA9F06EB44BD8A319A6A21FE5F336378 +:1083400053E1BD687BE8B51FD37C77F6C8CCA3A703 +:10835000CF63479F7DDED63C707EC6D4E1F9FDBD7C +:10836000F321F8603E13599FCC10A7A6F17C04FAC4 +:108370009B2CFA63EA8B522CC8D88676BDBFD6C533 +:1083800058473BEBAF1DCBD8BA762F95BDED1A3DC4 +:10839000EF6A8F507D839AF0221ED500B4AB1B1E6E +:1083A000D75BE6B5D58351F82E655E8CCD273C2B87 +:1083B000025E7738627B9F53A7DBEA2B83D3BD082D +:1083C000FFBA76A0FC381CDF4BE5444D7EDD3381DF +:1083D000B16E57341203644F0E5C3B9B41DD1D8A26 +:1083E0001DF500FE3A836E7D2DC03D5E9BF5163E69 +:1083F0007FB678967710F138A0BE3108FDD7C1DF7F +:108400004FAAA19D7A340FE198C8F8F3617C311628 +:1084100006FC34F17F025CF03E05AEA63AD9F400CA +:108420005F8C777CD714702F94613C578541F36241 +:10843000AB52BE83F19AB4CBAE97E03B76C2FEDC82 +:10844000A24FB25D638687B1DDED75546E82BA0EC0 +:10845000F0EEFE1BF07F0ADF0605FF0FD151E27D33 +:108460006D44FE9FC2D8832E04005EFF8825EEE790 +:10847000EF8A17437DF3A5450D1B749CF7C0B41814 +:10848000F0C16629F60EE2CBBCC2ADDF0FF3DFA46C +:108490001A73F0BBCDF3F265534AC743789E6C8ED6 +:1084A00081F9374189F887FAEBE3A06C9A0F70C322 +:1084B000F3F047454C2F00BA4D99FBA104FD6C5ACF +:1084C000E0D619F43B3106F482F77521F34AEC7FCC +:1084D000D3144E9FC993816E88C718D009CA67B755 +:1084E000CFF2A19C5A7432E02FE26713D2A93E9DCD +:1084F0004ED3986BB8CED2E99186FF0580FF09D99B +:10850000F1EF2C37B627D86F81DF6F6F8F10DF75D3 +:10851000B4EB54F6207DA0EC25CCA6CBE37A99B53C +:1085200022BDD6FB59EB5EA45BB421633BAB646C0C +:108530000DD1ED76A4DB79342D83353296DB3C54B6 +:108540004FFA6B617C7C5F22DE9741FFD2D07B9338 +:1085500001DC6AF3D07B3307DADFEEE3EF5F33EF62 +:1085600036CCA6E1FA7B6C936196A5BFEF701986B5 +:108570009AC7D80FCD2F19F53E5BFF06F69F3A3FFD +:108580006F86FE3A7C627CA98FEA3D523CC26A400B +:108590004E2533C234C60EC077CD11EC97D777E5A0 +:1085A0002F340F150F8FF30A5B689A80AF852C76F6 +:1085B00008F131A511B0568DE346E703F1D9B3F8C0 +:1085C0003DF4AB36F1719E3537181D2978799175D8 +:1085D000996693A01FEA19C1B74AAFDB5426A01DC4 +:1085E000F84F4305FE53C630CD832FA2F98C9D0B67 +:1085F00042153618F29D450F4553DF4C95F721BEC5 +:1086000010EDB3D391B783F9BF4AF30FB02B70FECF +:1086100087F0153C9F7E5EE3CF9B40E9BA075C5133 +:108620001CDFDDCCE5345777275074438867182268 +:10863000F4B1C2CE03967902851CFAC96D2C61890A +:10864000D4F9A8F108EA6BAB5F18EFED547C41FD5B +:10865000DDD38DEF12E33BC77335431DDEE7466084 +:108660003E55E9E376F862F363409FE9A1C68B19B2 +:10867000F53356F654119E5BB09FB3256E7F15EC13 +:108680002F7F78FE56BFAACEFB5503F67EADFE00C7 +:108690002F0CFB733BDA2B38CF86F47E9DFD300622 +:1086A0007839EB74F49F65A8D0AF5203F4D753E840 +:1086B000AF03FD03A3A0FF7F53BF1FAA8C8CF1AAB9 +:1086C0002A7702F52EF59F9F0EAF059F13EE553FBB +:1086D000BD3A029601E9C9104F163D4FE27785C3B6 +:1086E000E33BE939DA71ADEFD3C7ED88207F39C7B5 +:1086F00075CE378D7F472947851F8D67C624106D3E +:10870000D40F88CF9B02242FB7C558C203CF6E3B2E +:108710003C93FCA3CDF2C061E46BF30517BB1F864D +:10872000DE8C7A17ED48EB64FAAE2C772032B73E38 +:10873000BBDEDD0CFE8509FAFC3689919FB91BEA88 +:1087400009A817F6AAE618A0EFEEC474DF4218E7EE +:108750003617233B0CCF5F473B58B7BD993FF7F126 +:10876000E745A2FD833B45FB20EFAF48B41F7F3FA9 +:108770006F5F344F66660A3E9CF30ABB07E2B10C9A +:10878000F3ED94649AEF23688F4080B7A13D823265 +:10879000EC3716225E82D3DDFA0EC0CBA639BB8A37 +:1087A00017C13807E6CC92DE80F21E2197BB853DCB +:1087B0001B1A27614888BF475CE6DA20E8D7D51244 +:1087C00033DA40CF878F26AF400F749DF404F3C097 +:1087D00077E5315E6FBCFD20FBF114AC33D2D7F7E7 +:1087E000AD394AFA778A97BDDC04E34F01F9ED8091 +:1087F0005753D498D28676AF359CD1EE6D7DD13B60 +:108800003F01F04D69ED1EB884982761E3B3A94795 +:10881000805F52ECFA23C2EE6E1376B815F961CA86 +:10882000B03C06F19F40F720CA6388E45172213EB4 +:108830007EC548CF6D5D725907F279F8088B2A55CD +:10884000E9F309C6EC723945B5C3F3CF826321332E +:10885000EE95A664EF2FDD8EC47761FB2942FF857C +:108860006371251E381DDCBBEEBA16E1BE84C39DC4 +:10887000AD7F27BC77087CC278FB328DF7DF850F90 +:10888000B04F2FA3DCFEA3FD861DFD8E16BF8CF519 +:10889000093E4AAAB1606ABD8DF1BA99EE17A6EAFF +:1088A000FF30AC0F2760E927FC2B61C0AB6DBDC367 +:1088B000BF5310BF29F3F156B0B8F0E7499FA9653F +:1088C000D1FB36401B6FB597EA9D85D1FBF09BB776 +:1088D00024379FCF6CA6E23AD2273E79438EBF253C +:1088E000A5E875553359BC1EBFAFCBC59205C2195B +:1088F000F56B777B2C5F4D91FF6E1713EB6A8ECF74 +:10890000EE62962840FC7E7C75646E307B3F4E3C68 +:108910007694478FC651FF16BBA3F7C3D32EC6E18B +:1089200075C2A7C86E6AAF46B8DD04381439037C37 +:108930002EE8570239ED089EC1E10967B6171D02FE +:108940001E273F74587065F9CE39FF6CEF3BCB8D15 +:10895000C8425C1F05395C161D2DB85C0817CCB3E6 +:1089600052E6747205B81CBAC29C1E005FA55C98E2 +:108970000E1F6331867671083E816755F3125E865D +:10898000E8EABD2C5F2D189E67BDAC51E91A9A47E5 +:1089900094FA513446DF6972BC1EF1097C39407C7F +:1089A0001930681EEE08BC3F1B4B63BE0974EDDC3A +:1089B0007F2EABC7EF0251B60C4A7720CE6643BB81 +:1089C000CEBF89384B78B28D5FC7C9B20DBF4EBCE0 +:1089D000150BFB3C24AFE56C7E26FEDEBAC46DE3CE +:1089E000EF997256FE9E2967E0EFAD4B04BE166705 +:1089F00096EF62EF25367C31D463453424FDB9957A +:108A0000F1796E0A1C3B1AD719AB6A6107D005F2DF +:108A1000C9270EA3FF33CE179F87F82B6E1948AADC +:108A20003AEABF2443FDB74ED8FD994AC0F7068CF9 +:108A3000DF6754E7A27DFD5759CAC83F7780FF80A2 +:108A40007C89F10A15D626A75E1B47F3CEC6671DA3 +:108A5000EDDE3C6C37546F515B12D07F47A07A63D8 +:108A6000334CBE2B5CDB403A2722713C21BE617E39 +:108A7000CB64BEDEBFE3A2AF58FCB60CE76FF19F3C +:108A8000C567558669609C4307BCC840DABC4E1672 +:108A90004D0A9CA829F80937F1B806E0E166C283BF +:108AA000CEA6231E82CD49E6D287F1D067C8F4D185 +:108AB000CA9967EC403A5AF37E4CF009ABCFE7FC19 +:108AC000A946699D924DEEBE0978AAC7B51BEBA3D6 +:108AD000F853F16C9640BEEDC5E780BF73E45817BC +:108AE000CD6371424278EE922C7D15A1B85AA798B9 +:108AF000F737BFE8E77C55AE6D47FBDE67CDC300B7 +:108B00007C15D9F8AA8FF48DC08BC557C5B34DA677 +:108B1000007CDDEEF826E43BCFE47E8DFC5A296133 +:108B2000B8255A9F727E36D9008E5B2CB1E13F305A +:108B30006E419DBE03F5C0FD821EE17A95E223FEE3 +:108B4000572FA2B806D429FE51DCD87D23C68782D0 +:108B50007A628D0CE395C64CD38DA23CB890E25757 +:108B6000258BA31B67407DB53B7E3FCE235006FE81 +:108B7000198052BAAC8FE0DFE83219C641BC4D090A +:108B800003D76148F78529EB8B47116E9C3FB84BA3 +:108B900089FA61FA6E5238BF7CA369BAEFBA00B69F +:108BA000F3D33CABD82AC1176D4909F8C28B7CA11D +:108BB00013FD1F413C05627DFB89D5F4019C06F243 +:108BC000FD183E0FAD18BFDB78919BEC32E0E50855 +:108BD000E23957E6E3C07F3AE2C92BF339B4CB2E32 +:108BE0001ACF076DD00FD3EA5842077C95EA6D0C77 +:108BF000F19C8B78090DE32B17F101A527923089A1 +:108C00005FC32C6AA03C061A246C1F34FAF6BB75AD +:108C1000C2D3B388A792A6A4817C6AF17D87DAF6D5 +:108C20009B7F03BA741C56A2A63ECC8F4E3E5403C3 +:108C30002077367B6DD9FF285F4766F92EDD8F30B0 +:108C4000C85F5003DCAE597602F8F7359C9FAA71D5 +:108C5000FE1DAD3D75AF56F4DFA11E53358AF759A1 +:108C600073ECD61699C86F279117715DDC373149BF +:108C700041DC0823FB841391E1BD5B33121B884761 +:108C800013242796BFE2AD955932C5EF7395F96D60 +:108C90007163361FB4208C77B378E65EEDA679A8B1 +:108CA000602758FD309CF086FAC1213EA9C1FAD751 +:108CB000681CEB3B35C0923EA0DFFADA06D29F4338 +:108CC000F8C6EFA00D2E47789CD5FE5D76BC38C661 +:108CD0009B679FE7A8BF0BA8FA9BD637D5A7FB4E8B +:108CE000656F5A7802E4851181D67AA390F4E0E3A7 +:108CF00012D8D38EB26E139FAEC3FF03BA76334E33 +:108D000077A6CB36BDA394F1F8E71B28F4D84F849F +:108D1000FB251E765992E425323A3F2547D8594F14 +:108D2000599F0DAFAF4AF133952968DF39FFF756E8 +:108D3000B1BED47D8B213FAF7E1E7DDF3BB15B5F3B +:108D4000583FCC5FBD0E3CC24A82FB8362BDC8EA7D +:108D5000B9BD7547DAB83F21F873A8FF28DFA770BF +:108D60007B930CF542A06F3F536C7C1967F38288AC +:108D70000FBE4F712B949F58FC3905F595DFC697B0 +:108D800016DF59E38E2C7FC27EBCEA21F90B0FCB94 +:108D9000DFBF28A9F643D82F169BC7E9D4E223F8F2 +:108DA000EF17FB11E9FD733C9C82BE07085F713F22 +:108DB000CAC1AE4D8BFC08EFAE2D737353E9E02CA6 +:108DC000EF023B968485D876F003B0BCBB5DA3D29E +:108DD0007A7FB788EB6F1376CD7AFE84C2ED57A702 +:108DE000C2FD8B5DDE989FF6AD0E5EF1F9F18092CB +:108DF000DA234A1479AB74637FDEE9C62F5B66978A +:108E000077A62C38ED7C57BFFA7CDEA194F6372B81 +:108E1000C1F09B39F08F73D8392807237D7FAA7D55 +:108E200020EF90EB1FC7CB36A45F09E0A163EF1AD8 +:108E300013F19EBC90F444B590A7E21E4676A4764A +:108E400015D8116CFBF127FCFDD07E9E11580875DA +:108E50005A1A407D57CFA20DA837CB5F54980C7A91 +:108E600067ACB0B76C13DF2FF0C25FD407143A873A +:108E70007E6B16B34412DAD5F4A9B6FD8562D64BE3 +:108E8000FB81E52C65FFA00AF9EE22DA672A76EC71 +:108E90003F948173D9D8F08FD36117D2E1CCFFF71B +:108EA00074B85BEDF76929DF974A2C86FC5ABAFC47 +:108EB00077D2A2147EFDA1E053B63AC07E9BA25F9A +:108EC000B749FD79687CB62F93C99F65ACFF99338C +:108ED00068DD34F8D90D50DBB2F02BEF3F89FE6D21 +:108EE000E1B1CFA2FF7558C9E1FAB185D9F4A73530 +:108EF0000EF86F879514FF767BE75CD283777F7CD3 +:108F0000D37E17D06DEC2A165D4BF46747705F4C2B +:108F100017F4D705BD9B3771FA56F7B204C6999975 +:108F200069A77FF5625372633FAB5914BFAD6965A2 +:108F3000E4DFD52E60182963E5ABEDFB80B59BEC33 +:108F4000FC3146F82F631CFCA1031F14001FD4F64C +:108F5000C537E0F8C54714EE2338C61FABF75F44AA +:108F6000E301BF24483FA6F4A3207F45D7223D9CC0 +:108F70007C3906F97242FAB8FF28DF9D74F0DD49AA +:108F8000D674E56E404CD9BAA617CEA0563139D565 +:108F9000BFB7F84E65C65F15E487D8E8FC9D51B7AA +:108FA000639F237D6DEDA74F5BE9F5637C7D9B9B04 +:108FB0003D3B0ED7E9BF5418DA9B6D2BFD25A9EB7D +:108FC000AD84D0FB0911A72D5639BF8EC14517942A +:108FD000A52AF7DBB785586BAA1E1E1E7FADB0FF12 +:108FE000DC3F1CF711383805A975B7A3AEB2E4A46D +:108FF000D47A48D4391C9D857CBD7E9F28AD71BA3A +:10900000826D8CE7272C96C96F13FAEC60DE2C2F4B +:10901000EE4F75061A72B91F169753F7D13B03D559 +:1090200063580A5D3BC5FE64367C7689FDC92EB166 +:109030003F799FCB88E461FF79B328DE715F509B55 +:1090400088F23855E576482963A41C2F50F3D6AE34 +:10905000AD85F51633CE510BF977385F459B5AB283 +:1090600050A7764622037F55AB7E4EBF7AF52F83FD +:1090700029FA013C058DF84BF0370B8CCE0FAA5026 +:10908000E39FC7F1CDE92C89FBCCE60496E8407953 +:109090006E8BD9E276D0EE62D1CEC4F5CD50BB381E +:1090A0005FFFA5B49B27DA19B676B1B47657A853FB +:1090B000A81DB38D6BA48D7B95353F96DA5F34ADDB +:1090C000BFAB457FE4D70FB5D3D3FA6BB5E6676B7B +:1090D000A7A5B55B2EDA31DBB8CC3EEED0FB33DC96 +:1090E000890ED233315AEF74155EE6A5754A62BE19 +:1090F0008DFF9C743850C8F9F150E1AC16E4979B91 +:109100009E71318C37EF2FB4F3A9D5BEA39DF52CFA +:109110004B8D6F0476D038199E6B999FAFF5A2DE08 +:10912000CAF05C13CF292FA55BE48764E39F6EC16F +:10913000F7DD82EFD3ECA6D00B1D75DC5E39DFCBFB +:109140002EAE27981AA3B886B78EF5D7A7E8E1FF09 +:10915000DFE0FD50E8BD8EBA86BEE9B0C4DBA75E95 +:10916000B9D60BFCD2A94FD7B0FE12BB726D73D526 +:10917000FF5C785F5097D8E0FD215BF23F1ADE1369 +:10918000EA6A1BBCDF66AB4F0B6F97887B39FBFD30 +:10919000ABCAE34CEB5D31D2FF5D85774670DE5D97 +:1091A000E5DC4EE47535AE5D03F5B358FCBF50BF4A +:1091B000AD2FB4D64F3AD9A991BE53C6AB3194BFA7 +:1091C0004EDD2E87770A7B6495DFC2A00FC657AAB3 +:1091D000541EC42C7427C60A78E6823E7B44E5F10F +:1091E000720BBE5F38EA7F74D4E11F7F41FF4943B1 +:1091F000F86B32D8272B2F284FD86F2C53D6D99DF8 +:10920000C1848CF1B983B75DC6F3CD841DD7044EFC +:109210000FCE2CA2FCA68D46663B8EE11B6CEF1692 +:10922000F5AEC0DC9E2A8CB3FED445F57BC15FC78A +:10923000FDDE2E911F66F94356FFFB6FE3FD1F2CE9 +:109240002CF2D5C2771F809F89CD46E293A75C5C44 +:10925000EFF541FF986F763BF09D0E1F6E857A1CEF +:10926000CA9D50C7F2BBB03EC0F2C9F608955DED8D +:109270003A95FF01F389C37789F628D57BDB1BA9D3 +:10928000DC82EB8B71C3EB8B124326FFE0FFB4B3A0 +:109290005E74BD76B57BA9BCA35DEB5589DF235415 +:1092A000DFD3AE53BDA7BD8ECA8EF6283D7FACBDC1 +:1092B00091CA19D2DC8B5CE48F25D6B801CEB26F8F +:1092C000D436E07AA2D65079DC533564DFE4E1E7A6 +:1092D000169C33A4E95FC4EFCE6CE6F360DEFE03B8 +:1092E000FECCED2EC17617348BFE02033372C31908 +:1092F000DBCD77E17E4CA3CCDB6931F21F32B4FBCE +:1093000012B6BBB051F4173E71304B7F8BB09DDE6F +:1093100024FA8B30D99BB9DD75D82ED0A47238CA07 +:1093200092146FC9D06E19C251911F5F48F988AC71 +:109330005F427CE5356BF9D8AEA2207E237F1E9B71 +:109340008ECF5D61FEBC12DB13FF26A77BA1DF5031 +:10935000A3788EEDE9F960073ECF6D12FDB879FF75 +:109360000FCC6424879AA1EDF062DC5CD4F39AF50B +:10937000ED58AFF0F0F1C615C59804F2A98599240F +:10938000D5635C38C6E4B330CEAB4932D42BDD7C38 +:10939000FC07CE1B6412C8A5D608ED506F405D8651 +:1093A0007A5E23B4837AA587CF67DC8527A8DD267C +:1093B0009117E1BB90ED477CE41ABA84A2D12BF25D +:1093C00007F29A78FFE7197D8A0AFAEF4C37332EB5 +:1093D00005B9DA7423D73F9BBA7E3E1DF3D6CE3053 +:1093E00018E5371CE82A9BB106FCDD8A12BE5F7BBC +:1093F000C7456F1663DCACA294B5613DFFF3C7C6E9 +:1094000063BD12DF4379C7E7FF528CF1F84A7C5FF6 +:10941000CF5330357069F3BFF0F1F88519E42E4D64 +:109420005F3F3783E2EB95AB656664B03B565918F6 +:10943000B3E7D34C681E988EF0FCD9C5E1E915F06E +:109440007CAFEB57048F57E4050EBA7C1C9E0A3E96 +:10945000DF8EA080A792CF57090978C4FE744748D1 +:10946000C053C9E10D0878945C0ECF87AA3146CB72 +:10947000B05E72CE3F18B5CFF73EDC3F80EFEE9B7B +:1094800079ADB118E6EBDECDE7F739F76DB4BEE89C +:109490009AC35429174A1F8F8B85BDAC07C745FC5B +:1094A000E0BEDBB785BEB2E85211719B0513B2E393 +:1094B000D5A25745C4FB3AB6B3E85519F19B051937 +:1094C000F2BB87E01074AC8C045E4FEDDF095F3AAD +:1094D0003D4C034D4BBEFB84BC19E03BCBCAE3348F +:1094E0003F9E3E4D4DA7CFC6891CDE8D02DE800516 +:1094F0002FE0371FE6FD9805AFA05BC5ABEED3CEDE +:10950000DBA267C5AB006F68989E95AFFA4F8B27BB +:109510008BCE95AF065E4FEDFF2917B7B323D1B5BC +:1095200043C061EDBF07D411E0D0460987E6804310 +:109530001B251CDAA783A30FE1381B4A91BF15082E +:10954000001C0DA781637094700C3AE0181C251C58 +:10955000839F0E8E6E214756FC3F2CE861F5E39405 +:10956000A36FFE8B5DBF157CD1AEDFBEF945AE0F9C +:10957000BE6D8D2FE4A3E062AE0F86E436C8FDC653 +:10958000B0C05BB6F1D695DBC7F354D8C75B579133 +:10959000793C4F251FEF9F154F2872C5E7B9F93A5F +:1095A0003CA9A4AE9BDB0CDBBA19DA5DE116F10431 +:1095B00025751D1E376CEB70687795E8CFB0B58BBD +:1095C000A5B5BB5AF4C76CE31A69E3B65AF39353D3 +:1095D000FB8BA6F5B75CB4A37DD3E178425A7F2B11 +:1095E000C5B886AD9D96D6EEABD6FC6CE332C39182 +:1095F0001F75E3A8F6F18A5BDDB6786441CC6DDBBC +:109600007F0C4CB6D7BD2CA55E353C9ED55FAE9584 +:109610000713EFD3E9FC4A307114F314EFEA9E35D7 +:10962000230CCF37E4713D7B97FBE20EDA47C04A4B +:1096300011E957F2A74F4D9409AED0592AE5197B8D +:10964000994C79C7815A772281E33585C53E1DF74C +:10965000AF823ACF9B084EE6FB604E3EB2DA83E61D +:10966000A0784A367E53EBF83EB15AD733C04B9EB2 +:109670001FC026A7E52BEC42FC7B588C611EBD95D4 +:10968000AF608D33125F8FBA1D637598BFFC55E6CE +:109690008FE2BE719E9B499827BFBA8CC7D3C72A59 +:1096A000F1C7701EEEE6B62F77425D9AB57A1CAE12 +:1096B0003322AC4DC2F8BE3686E77FB1ABBD51CC8C +:1096C000BFD56634D1BAAEA3D0BE7E7CC7CDE5FF90 +:1096D000276E854A2D87CB3DF39AC57352F0C53C62 +:1096E0007CDD0AEF6F447A86EF5A74B005E8A9E58D +:1096F00072F96751681FCCD01E63B06067DFEAFE65 +:109700005A079E23D084FE64912CEDC57B275E8E84 +:10971000BB79BE825623BE2FCB32BF719CA5FE24DF +:10972000C66371E0AA94FCC071BEF8AF511EAD7C57 +:109730002225E0CC27AACF7D2365FC37DD922DCFF3 +:10974000AA13D64FA97941AAF76779B42FEAD14471 +:109750001CAA2DD23D19F751BC51F4C3DF758BE71C +:1097600001B398E458833238DCBE6FC6D7251CFF9E +:109770000B72EC8F6EDA878EABA9F31DEA371CB53E +:10978000F54B87D5E0F996296D777556A15D585D43 +:10979000857CE8C2F3783548EF0514FF509BBDB4D3 +:1097A0001E66F3EDF95CAAD666E52731CF94F4FC8A +:1097B000A416C5903CC487651AED3732FB7ADBCA24 +:1097C000BB59D4684D54BFFC57C09F4B0EBB18CD3E +:1097D000EF63689D92E7F0C66F79FEC812B11FB3C0 +:1097E00098C542F8F23D26B720DEDF632F8426A518 +:1097F000C86FB987E725B21E7E9EC884BF684FAE8A +:10980000E9B39F2FBA6E8BBD7E2D9B5B847273ED87 +:109810002617EDD72C71ECBF043D3CBE701D6BEBE1 +:10982000A67887B0C38B34A61680695AFED83D53FC +:10983000D1DED57A783CE36D5C7FA7ECBF2D0D249B +:10984000DC06BCFFEDBE49979DCFF0FB447709EAEB +:10985000EB3C4672E6E4DBAB7BECF31B69FECEF936 +:109860005AFB1CD9E6A1EE9632C6F71B3C922D4F4F +:10987000F6942F3481811FB0DACBCBAFFA433BB0E3 +:109880003CE5AB48203DE6223FA5C6A17F1D1471F3 +:10989000E8B6B3911F46FAFE32C18FD9BE5F1FEE04 +:1098A0008B215F5AF9165E6F1BE97B498D91FCADE8 +:1098B0008F8CF0BE0CDE2BA9EFC170EBD43FF1ED25 +:1098C000FA5AE7F7F6F7C08F9F7C329551EC855135 +:1098D0001C89E713F5B4F3FDD60E57EC625C1C76D9 +:1098E000BCA830CC3BECC86BA3BC3CB39CE9B87FB4 +:1098F000E5A98DE5E2FE82E7881296AB0453873135 +:109900003FB76527E6997DC9E312F21F253BEC09B5 +:10991000988681F11D579CF671DC5FE7FED3B44059 +:109920003C8EDF2991F92EDCEFFCF14357CFC7FACB +:10993000D2C82C1549D62AFA79EF3B0F4F6530BFB4 +:10994000EE3D4196A4F849C28DF1A9A5FB148A43C6 +:109950005CFFEF411A7FE9DEEB76CD867EA4C72E51 +:10996000D0DFA4384007D171E9A397FCDC14F0786C +:10997000010F1D6B44BE89198D5C029F2EF7B02F1D +:10998000E33ADD82DFE21BAFDE47F94A4B77E7516E +:109990007EE310BFA9D01EFD3C28339DDBE8F5F027 +:1099A000F8E3BB419E7F26EDDE7F15CDAFFF72173A +:1099B000C22595B5B1DFC3786B3C2EAB1DD975F3CD +:1099C00041293116DEBFFBE07677F55938EE76F7A0 +:1099D00022F263D6101EAC797A776F3451CEBCB5C3 +:1099E0005A359278C6BFEF09613C6FC56E258979FB +:1099F0007D50D2F9539FEED85F65464002BADF40F2 +:109A00002A0ACA7DCB490FDDD07F2BE50DAC78DC6F +:109A10002E7F80D76812E67DFD4B4A7436D6BFFF95 +:109A2000404887F9BC3D707F08F10FE32C7403DFD9 +:109A3000BB34FB7E2FF6FF517E7A7F8C9D70239F77 +:109A4000ADE85FCFC7DBF72F7FC07DEF150E397F05 +:109A50001BFF519CBEDFFB7D8F23CF6077C1A8FC2D +:109A600087EBF79CBCD78471DFDDFBCEBD985FBC74 +:109A7000ECBF3EBCF76B188F7DCAA7A19E5AF19D23 +:109A8000DFDFFBAF80CFF71EF7C8C81FC79F7C6022 +:109A9000D756A81F7F795C8304F5E7843D3DFEF02F +:109AA0009F8B74E867D59333C720FCAB1E9961DBAD +:109AB000D74CB3D3C04F094FEA7C12D48FFEB88481 +:109AC0009BE18C3D214A075D0EEE53980FE6F7DED1 +:109AD000510FE501AC8067AB1B904ECB294F00EBDB +:109AE000B7007E6F78681DEDABA7E3D92C9523589E +:109AF000264B3115F5867D975C7CC1642C5D9437CF +:109B0000B0829D207DEFFC6EC511A0E7D9D9E97721 +:109B1000927DECC62497150FADE7E3F603FD42E90D +:109B2000F47B0FFF716E3AFDDEF1D8F3754EB2652E +:109B3000DFDE8A2FF71564CCA3B2F6EB973F72E90C +:109B400069F3028E3BE4361B9E5B457EDAE31EE33F +:109B5000AF68E7DFDDFBDD5D5BC348674F7436D27E +:109B60007DCFC90A3CB472CC75E22A94C7134F7AF0 +:109B7000343CAFB4F4C997C8BE1C7FE479B74EEB50 +:109B80000F1690C02F39CE86FE0CA09F7283C42B77 +:109B90002B7606939ED030BD6E48CC69D143F49CA1 +:109BA000FCE81B129CFF6F48EC9F2765A0DF246F29 +:109BB00035B7578942C2CBF29DBF728B73F643749F +:109BC000951A919EAFCFC2E7D9E869C1AF21FCE7F2 +:109BD000A4D0752797DB6CF2797CBB87D6C94E3A47 +:109BE0001F177EE18A84F45226BA0FE521FC9D7985 +:109BF0001C13BC8E3C2E01F748723D323C7F1FBEC9 +:109C0000CA51F8A7A4E36D4DB19BF6B595909BE4BE +:109C1000B1DBA5BF64227F3CE3623B748C434E659D +:109C20007A863C72F48FF594FD313510A3FD7635BC +:109C3000AC3560FE82F35C884B93999E321FED0237 +:109C40003996C8605FE86437C07FA7C8CBFB4693EE +:109C50004CE7E7B5DB8A282F429BFED1E11A8ACB7D +:109C60008727F271385D5426FC67911733923F7451 +:109C70006739DB86E5E66228CF1EF66F2EF6C6AFA3 +:109C8000F59EC63FBA5312CFF3F8F97ED5CBBCFE92 +:109C9000063CCF7FE2700D3E9F23937F08CF7BFC75 +:109CA000F929EDCF15F7011886AE4DE579B1DC6FD6 +:109CB000814745E8CF8B3F9F899AE8FFB8C19F4114 +:109CC000FFC58B792C50FA593F956B84FC04402CCE +:109CD000B19ECB06B5B1D45992E20085A2DF426FA6 +:109CE00080AF07E6A9EFA69EB7F7B16D14A7C1F440 +:109CF000F04F6CE7354C5A9F8FF43D0E55DA80B526 +:109D000032967ABEC3BA1FA478082E8D219CA5E294 +:109D1000ED18F4B600AE925892CA72364865254ED8 +:109D200045C194EAF81AC6F33924C4B38FBD4AEB8F +:109D300011D994A54FCE74CC3385AE1E6FC8CC0913 +:109D40000DD38F89F5B45BACA79D74F704F8BD22E1 +:109D5000B0AEDE8174FEAA62BC1C87714FC9F1C12E +:109D60007F83F69BC43A6153D0BE7EDEE3E57EB6C8 +:109D7000556ECA1374BD54D0558D49A9EB5C9A2A0F +:109D8000AC4FFB7B9635D3FA54E570399F5BE3A962 +:109D9000B87F05C8F44DE6F93FB09E1D9452CE59E8 +:109DA000FC8797FB5DE37CB1C771DEC5B549A205B1 +:109DB000AE630733C891556E10E7607ADAE3543E1C +:109DC0008B3208DFFBB4014CABC375F221EF141AE0 +:109DD0002F81FCA30AFAFDFDFD6B8C9F07EBA37599 +:109DE000E53972FC67D8AFAF8EF5A19EF5D5F23C90 +:109DF00060C52DE28B2E3B7E8F7AB91F629556BED1 +:109E0000B0B7BAA76E07E0A56F5A44C87B8CE201D1 +:109E10002F0B3A005E69BDBD59127137C92BE48C16 +:109E2000E95AD1B09C295E8316A92E00144B0FF27B +:109E300091827C96A03207E507E4E92F42BE826C4E +:109E40007078511BA673F9DBD1FF5701414A3E954B +:109E5000492C2D3EC1E7AE7CBE9F1C82F24FDE7CBA +:109E6000AE97B0DE80EBECD8FB888F481D8FDBC04F +:109E7000041594972231BF224BDEE6DBE56D881F87 +:109E8000F3EC79CA7F1678FA8B97AF5F717CD43781 +:109E9000D9E57BC43893EA9B921E67428CF2F37239 +:109EA000DD1477D0CE667F94E9869C5B9B9F8B50B8 +:109EB0001CE661AC7774F634539C6812E7EF80AF10 +:109EC00097F85B3B47C4711AED719C121F9F773E58 +:109ED000062A90FF9A78DCA4C6C7F5B8AAB551BC8B +:109EE00024DF27F2040C1E4F19AA37F3F643F57A44 +:109EF000FEFE53C4456A7C99E322B5BED3C54584B2 +:109F00005F5B39A4EFEC71D84A91F73A5309909E00 +:109F1000F0B7F1BCD78AA84AE7BC2AA36BE93C9208 +:109F20005FF057D9129630F97B5ADF58DF57DC6261 +:109F30008FCB0617DBE3B825222FBACC11AF2D113A +:109F400079D125CE38AEF05F308D3BD3FAC2E9BF70 +:109F5000CCF27DBA3CF4E7256336E14F1FDD399E34 +:109F600091E20ED9EC71C7B48947C3C07F45E7EDD4 +:109F7000696E017814B51F8FB8B02D417E4E64FF15 +:109F8000A56E8A1F6F655E9E77ECD00B1F2DE1E7F3 +:109F9000E9EE0DB3047FA8D17D4F39165D35630D11 +:109FA000FAC3965E94E24FFF19FD5A37D25B41FB2C +:109FB0009C207EB3EC71889DA0D2B72CCAF0CA80D9 +:109FC00003ABA7E7E1FA3587F566944B8B3F3E5824 +:109FD000C5F9436567E6623DB24AA5B856713C963D +:109FE0009BC47998C640A4888E1ED19F3C0363D73A +:109FF000C3742A68F1B2D4F3548531CD56AF12E759 +:10A00000BAC6CC8FD8BE639DDCCFC563637C1F27E7 +:10A0100046F8882C039C55A5E7DB47445CAF787174 +:10A0200092F479699B7D7D1C11F9D011C7774EBEE2 +:10A03000DA68F115B809C8578087687232E5CDD063 +:10A04000F97975D043782901BC201E3E609CFEE55D +:10A050000BB99C38F161F11DFC8FD6F515D04F92EC +:10A06000E139363B9E7CBA1D4F3975763C05A376A7 +:10A07000FC5878CB6DD46DED2CBC59F75965C353A2 +:10A08000596BFF1A84E7D3E2E951079E4A03C00FD8 +:10A090000CF93C2949C0175BC579A87B05BF230192 +:10A0A000BD297E98851727DF17B7021FE3798A300D +:10A0B000D3F1C80BAB0F523C3A22F029ADB6F83CB5 +:10A0C000B31FEAE4779501BFA37FE78DD161911CAF +:10A0D000F4DF88DF7FCB52FD3717FA6B13B0E47AD9 +:10A0E0004B0542E27973EBFC1EE8E35FA23E660F8C +:10A0F000498E73E96D742EDDE9072A2AD3653AEBA0 +:10A100009824FD3B4EB4473F9BA5C03B0EEDEB04AE +:10A11000B4631C4F5280C3C7B681BD4DD9C754C567 +:10A120007ECF68E1669A8803A2DDCD4997EF4AE1C8 +:10A130009F56F670BF53BF459FCE87338E20FF5A80 +:10A14000E764B29D8BA93193740EB5BAD7CE3F1593 +:10A15000ABECE721CA84BE2F13F680294FD07D6275 +:10A16000276F01F7BA0A9FDBCFC794EB1AE5179563 +:10A17000EF66B0E000BEBA859F93AB58C5A28B5383 +:10A18000C6298D87A28B53EE8171F2A7DF6F8F5B9B +:10A19000DD34671EE9AB6FDFD2909FC94EEC6A8F4A +:10A1A0004417BBF0BC8B97CAE096C401CC17D3B759 +:10A1B000713CE8F399AC0786F9F69E7698CF58BCC7 +:10A1C0003F45A3F6F7DD7878E2033AD2295EE2074D +:10A1D0003E39C38C4FA323B6664CA67D11D528C546 +:10A1E000E7D63D14E35697D1FCCF585D41A5D3EE99 +:10A1F00094FEEDB1E76785913E72145692ACF2235E +:10A200008F817E16C56E00DEAA4E5DC6F33613FC46 +:10A21000DCDF7CD717ABF317E2789A4CF781B47286 +:10A22000FB960D6FCEF1ACF366772FDB4BE3766ACE +:10A23000B08EC5D7E23CE00ED1C774BF6C3B8F6ACD +:10A24000F5D3DD639DF7D3655CE757F755AD453A28 +:10A250003ACFFBC98CC747FF179EF7037A1FF5C596 +:10A26000A7115EB49473A7D5C3E7FD4A97D7FA1137 +:10A270007F3BBCA6EC877995DECCF9627C02E04A94 +:10A28000E533F8AF1140AEEE1C9CE6D787E17CD7F2 +:10A29000179F8DFD977903D1C50529F811E7C72CC4 +:10A2A0003FA9EE16C6CF01F531DAF7ADEC31D76232 +:10A2B000686296D0FF3B84FE07F998BD3045BFEF3A +:10A2C000881BF998B764E9634BFF825A14764B9761 +:10A2D000D11F187F8B5D2EAA859EAD75E8D96AA126 +:10A2E0009FAB1DCF9D741C9FD032D2D582D3290F36 +:10A2F000CB2C7918C38A318FF5246B1A33531FE6A0 +:10A3000013EB5C9AD35F72C6F7ACFE2726EDE35BD6 +:10A31000FD8CE44F49AA49711D57846978DE694B69 +:10A32000A1B00F8EF8C3903FD3827757201B7913CB +:10A33000A86723B3E3746E23D2C2A23ACE7F31DF83 +:10A340001F5FEFE6DFC95E93F219BD65031720FFBB +:10A35000F6FA0334EE1B72AC17F9A06036DFCF2992 +:10A360001076E1747AD55486F5AAEE8F6F46F9B26D +:10A37000F46B5592C9EE94F886A5DF2D7DEED4DFFF +:10A38000394E3D3CCA3C148F1A4F2ED2D3F103D321 +:10A39000D753CF59AD2B17F6A38CDBCFBB97A9E2D0 +:10A3A0005EBE2B661AB5B02ABAF4E148A146D3497D +:10A3B0006A8D50BF48A2F72FF85776E17AE8D63970 +:10A3C000BCFE927F19AF5F21D17AE977E23D542834 +:10A3D0000FD965E54914569B282FEB749C099465A9 +:10A3E000A73F57D8D1CEF37EAD76986C49E79A84D3 +:10A3F0007EF138F244D4807D1F455DC6EF97B4F4FA +:10A400008EBA8CE7477497ED3DBA68329D7FA7D529 +:10A410009FDBDB46F72178FA6EA473404EFDE3150F +:10A42000FAE74A71DE18F4CFF3C8178A663FF76E71 +:10A43000E99FEFE04208DE8F9BDC46C98E1EBD4DD2 +:10A44000D6A1FFA3A8640A87E34E963E3F2ADA7B93 +:10A45000D5188B427B574B1B43BBE199CDE3289E1C +:10A46000167E8EB060B64EE77B5C3A233E75F2F105 +:10A470001BC8B753906F8D37707EBFF75B71C4A850 +:10A48000C4E388FC3E22DD1FFB03F26555841DE01A +:10A49000A1F0D1F123FD992AE27B5508BFC14E17E7 +:10A4A000DF73FA1769FCAC854725FFB7BB8DBC99F4 +:10A4B000B82FF8335714E3B8D9D657967DB5ECB119 +:10A4C00065672D3B6DADBFEA73AAB2ECFBF63F8327 +:10A4D00076EC54839C9F9AFFDCBB98B5F0FB423826 +:10A4E0003F7BC41AFA54F922BF1B507E660ECF433D +:10A4F000B1CEC95AFCE9CF72EEC9E26BABBDC5D78C +:10A50000CE76A3E6E7BA45245727B771BA8CEBBBE2 +:10A5100091FC10271F5BFDCAE9FC7C660EFAA1596D +:10A52000ECE9D7FC463DBEBFBD21DA1ACB30CFB235 +:10A53000008F7FDCBD6C930FF9FC2EC4578AFCFBA7 +:10A540007384FC8F5F49F89A83F882F60F6CB3E34B +:10A550002B3202BEACF6FF30BEE2025F518EAF6C12 +:10A56000F70C9C065F73724EE37F6C88EDE8A9C61A +:10A570003CB7B81C1D0BF06C8AC9C90BA17E57AB48 +:10A58000FC10FAAF1B62D37D63A1BE2B7AE00909F0 +:10A59000DEB704829C7FB4E4616C67D6CA3AC5FD1D +:10A5A000B4BE169CE7AEB2068671AE21BFB38C9FD7 +:10A5B000675957B6C87F750A1E766D391049D5A7F9 +:10A5C000BB1CF70158654140B2ED676C5DCCE306FA +:10A5D000C57196C03C81E6C55C2E7C617E3FA2CFF2 +:10A5E000E0F571017E4EFED0C4EE69186F5B5FC668 +:10A5F000B7ED2C7F678BC3DFB1E20EFE5A7E1FD012 +:10A600009638987268E7BA80FB6339629D00EF293B +:10A610004EE4AFB7AF0B14E1D778B6399E0B3FC805 +:10A62000E5F077ACF6CA08EBD0BCE6418A8FF5E4DA +:10A6300088F5E8185689FECDD6984C7014031CA8EE +:10A64000A37AAFE9A37B0D8B3F560C2EFF7D912B98 +:10A65000CF1AF6731239FC3C6AAF886B4693DA0C5A +:10A66000BC9A25B791C7BD2DFCDE9BC3FDED5E9165 +:10A67000973D7920362378BA76220EDB38D83723F7 +:10A6800094A1DD5542DE7A5DFC1C67EF5877620DC0 +:10A69000C0D92B713D69FED465DDE34274DD758D53 +:10A6A000B61DF967EFE1EA5BE92A8CB84EFB5A7BED +:10A6B000F5B85C1DC8AE37170B3E39A3256AF07D8F +:10A6C0004DABBFE443FC5E98646401E60904B8DD69 +:10A6D000D9EB07FD40788A97A4C64783C3F325F8D2 +:10A6E0001F3DBA2807F33522657A3EDAB1FCB2364F +:10A6F00086E729ACF1F69689F154FDD6B310BE6B0E +:10A7000092C10D29F05BE33DEACFAC8F7203B20D2D +:10A71000DF3F38B6C3369EA7C53E9E67318C87F3B0 +:10A72000F6F6AD993039FB783FC8325E9E359EA073 +:10A73000DB531FBD9183F1FB481D8C87FC8FE30524 +:10A74000D2C72BFEE80E2998229F3704B8DFF99470 +:10A750008547355E3237450FBD96C3BF7F20B6C3F0 +:10A760007B35F4BB7E6CB70FF9789794F09E8176B9 +:10A770006CA24CF796F66EFB2089FEEF0306F76F8E +:10A78000F21ACD6918C7A808E40BBD3B9DBE93D44F +:10A79000BE3574DFEC1646F756ADC378422E4BF744 +:10A7A000AB857F08FCBF1FE5BE6236A37CB9C896A7 +:10A7B000B667C7A39E582D933FC76079AF4E1D8ED5 +:10A7C000D76C7189FEC47E9CE55F140B3FFD347E1F +:10A7D000469459FB6D54E7FB73563C8735184CAAD9 +:10A7E00019DEFFB0E296D6BE87B5DF91CB92D35289 +:10A7F000F7E56AF05C5C0DC629126B10B82A43A716 +:10A800007BC9CED8129F8E7C9DBF8A517C41D1DA04 +:10A81000F83E4ACD3D794371CEF319C36B63913E47 +:10A82000FB72ACBCC97809AED30EE458E7FF787D63 +:10A83000C05157E3DC0EA98BB99E630B24E73D752D +:10A8400025019EFF45F05AF1FC6BC5389B6277F8F5 +:10A8500050AF6FF71BE5D82E9AC3E701EB8BEA40A8 +:10A8600021DD7766E0BD154A275F872A01267F1A1A +:10A87000FA46A01DE9FDD5BC1F27DDB2D1D7A2A3A2 +:10A8800045D7BF979EB8C45614DA3714FEA4795A38 +:10A890003FB24C3D21D1FA8A4589AEB52C46742D84 +:10A8A000F16A32D2B3BA595FE343BAC27206D77DB6 +:10A8B000E560B7303FCEC3067DB8BF9C8DAE6A9DC4 +:10A8C000A093B8679EC5D3E87471263A0DDB73B9BF +:10A8D0005FD247B6E35BEAEEF0A15F00769CFC0234 +:10A8E000B355A6F3A6A3B0E7B4BE2A087C9FD657FB +:10A8F000BD79E21C3FE87FBC773F91A313BF349D35 +:10A90000E0E70C2DBBD1EB4A46A2F5D83E391FD764 +:10A910003DE63D5C4F3C1073EA8984F76A287F93DB +:10A9200093C7F3746B673D331EE55A3569FD608D3F +:10A93000FF664E6E37ADEF0249CA47EC9DB392EE0B +:10A9400031B2F44A5A3B479CF3FD275F2AC73CAF1C +:10A95000D7AEF93088793CBF514F04717EC76EF98C +:10A960004510F30F5FBB4569C17C8AAB449CEECBBD +:10A97000ED7F9B8A71AB6EA13F5F0F185F47BE678B +:10A98000AB79FEC9928482C16BCE6FF0DFF5BB73E9 +:10A9900050290CD597F717D8EAD63C967BF87EDE7F +:10A9A000F50FED7797021E96ECCEA3F8D53195CB37 +:10A9B000C1B17DE5DB313EFFA4D0EFAF0762B72325 +:10A9C000FD713E4897DF3CE111798E032E6E1F8D9D +:10A9D000D9B8BF1217FCE29CD7D34FE550BFD76C54 +:10A9E00056C8AF5A08B85D0D2A39DE7A3DC5819C3C +:10A9F000F3BEE6B5FEA74B605ED7AC97E8FE396CB8 +:10AA00007F0BAC1BE3ABD7515CD409D742D39E2755 +:10AA10007375FF8D6E6272A57ED6188C9FF648A462 +:10AA2000079CF9BDD73DC1F30A1733FDD6A6AA0C82 +:10AA3000F9BEAD5FA0FCBFEB1C7157A75FB5372017 +:10AA4000E24553D9393C5E54FF8D7A7DE4FDB56310 +:10AA5000E0DF6392EBDBED5E2ADF6DD7A8FC7A4086 +:10AA6000E779818FEF7F9A74873A3015F96DEFE1BE +:10AA7000DFE65C09AF5646B85FFFD9ED1F763C0AAA +:10AA8000AF27B1586E92F49641FA6581A0C385CC88 +:10AA9000AB07EAF03E591E3F9CF411D453E0FBA0F3 +:10AAA0004FA2F5DD4A9054CCDF5B80F89880FD73AF +:10AAB0007F7E01FE0ECA69E07E3EE0BCDFE61F83BA +:10AAC0003BDB77CB157E6EC1F9DC928BAF0B3EED95 +:10AAD00078F25BB3906F8E6F94A298E2BC74F7EB40 +:10AAE00094D77ACDE31E4DE141C823A8D72C3E650B +:10AAF000ACCD8DF2EDE4478B2F86F8EE89DB082F85 +:10AB0000163F801C4544DE56446ECCC07F23E49142 +:10AB10001F770D56A0DC3BF9EA789675CBEF033C26 +:10AB20009F61B16ECCC278CD352CD6CDEFB9315EF8 +:10AB3000FCEF80C7E2A3061E03C37C4FA319E47792 +:10AB4000EFC77C5DB4765FCD37D19F9EF8139572C9 +:10AB5000B41B1E299D847E5FC38F02645C1B9EE92B +:10AB6000FC22CAFB85DBC53D4DC29E7E16FFA9A710 +:10AB7000E3EBB33F6E52CE1B05DE9CF8FAECC7AA9E +:10AB8000239FAEEF69CC9B6DD829919FD6F09CF3A3 +:10AB9000BDC9F5DF637B1E453DBCF4577784306F3C +:10ABA000FB2DB5AF08E9B167675708F3288FA96691 +:10ABB00008F1FB5682EB63273DE24149C497EC79EB +:10ABC000B1ACC724B8FFF37E978679262B767B78C5 +:10ABD0009EE5A1A54407A8F3FCCA7D99F362973EC0 +:10ABE000B0B948E7796FF6FCD89D2EDA0FBD01D6D3 +:10ABF00067384CB6FCC0A17CC3FED3E74FAE10EB68 +:10AC0000C815873E9F31BFD9CA4375CAFBC541BB32 +:10AC1000BC037E68DD68C2BCF835D2DC2E753CE82A +:10AC200031F1DCFD5BAF8CD98EFBE1EFEEFC490826 +:10AC3000CFA90FED638A7CBF77FB6B4E7BAFEF71C3 +:10AC4000A127AC7AB6BCD93D60B770FF64D9CB1EE2 +:10AC5000F277963D2FE7D4635C63BB8BE6F5E8D1D2 +:10AC600003456741FDFA875DE1D91C1CCA8FB5E831 +:10AC70003694BF2CE8B4F4FB3FA23CDAA13C664119 +:10AC8000AFEB1FDEEF467E71E27546FF7E37BFAF4A +:10AC9000C241B7FED767E17AA7E3C1536ED4436FD1 +:10ACA0003D25B13155E9DFB7DEFF139EAF2EE896A3 +:10ACB0003D3F3DF9C51F4CA6761AAED346A2E3D957 +:10ACC000C84B5388DFBFF70318BFF5150FE5C9B7A9 +:10ACD0007EEF26E2FB3FA86DC4F7CBEEE92A42FFE8 +:10ACE000A3D565166954F2E7ADF7DE4CFC78DDF3C9 +:10ACF000371789FB4B8BB97E308B11BE6BB65D4A23 +:10AD0000F05DCBE2C48FADF72874EFC84995B53C30 +:10AD10009C81AE2F09B9F9C30E0F2E52D81F307E79 +:10AD20008B7EDC0B8AF89D257BFE0D5926A89F148F +:10AD3000F1B13D41D9CA83F2A23E59215AADD8B9E9 +:10AD40008ECE01BE5DCECFD3031E4C813709E356B4 +:10AD5000CAF333C770FA301DFD78FA0E54EA0C7C42 +:10AD60008EED075C866F82ED3B912FCCC75F25C6C9 +:10AD70008779FB71DFE00F45FC9E33E6C8ABBE610F +:10AD8000DF92D99847ED0E713887E47FA7C8531634 +:10AD9000F2FFA7235CAF60DE35D16DC0951C63CB9D +:10ADA000B7F6D8E2EBC379C42E21D7F6F7302FCA15 +:10ADB000871EC2E75312F9C52BF671BD7FED268FB2 +:10ADC0002D3EB862DF45222F3E250FA96A582EADD1 +:10ADD000FCA0EB841E70D2D1A9175E083AF28BB6A4 +:10ADE000158E2ABEBDCC95A0FC76905BF2F396ED55 +:10ADF00071513EF13B0F1DFCE595C0E7EFF45BF2AE +:10AE00006AD7B343F20AF846FCB5EE9DC232C9EBED +:10AE10003B78EF6E267985E719E535C0489FFDD36D +:10AE2000F4ACC0FF30BEEDF2795D163DFB71D07918 +:10AE30000EA13E17CFAFBDFD9DEB2B29BFCD815F8E +:10AE40004BAF3AF5E59D413DCB790EEE0759F8B48D +:10AE5000F068F1E9D2EF2EA77186F8D7E253CB7EE6 +:10AE6000653917E0C4A7F37D12F551617A9E8539E3 +:10AE70009DD5E1EF9D74B8591DC6594CD91F45FEAB +:10AE80001D299F6C45A84AE8836812F9FEAB071993 +:10AE9000DDDF82FE0BEE1F9D7A9AD1EFB5B9C2BA03 +:10AEA000926A67A233E48CE756278478BCEEC1101F +:10AEB0009FE7E5219DDF37A8C4441E693FED23D1FC +:10AEC0009E09CE332F4472E612EB75EB9C5A344741 +:10AED000FE5007DF6946A8FC732AD0293A49BEA96B +:10AEE00006EA736FAFFB9C0AF48E9E2F7FBF1AEAAF +:10AEF000F36E1FCFDF9F2D4F7201ABEE363FF3B9DC +:10AF000066A8ABB2C41AA07FB584DF2F772BC8B573 +:10AF100017F8BD33C48C3CE0BB1C0F337D0DC3F36D +:10AF2000CB71433D9FE0D631EED191E7A5FCD04EE9 +:10AF300017FF6EB4FD59FD34A8FA0C84CF530B30C3 +:10AF4000560D8FD3A072B8EB036ECADFEACCE3E3F1 +:10AF500075C2781DD48E11FE465B5AF75C28399C69 +:10AF60001E4AAEDCF630945785B89EFF72C8DAC729 +:10AF7000E3F18CF79F1CB383C75F4F54D0EF3628A3 +:10AF80001FFCFA6BF0FCC49772687FEC153FE793E7 +:10AF900057FC9C3F2ECFED757D069E37782B6E4279 +:10AFA000667B457AE8662C2FCC8D2F0D713B42F7DE +:10AFB000B65F7995C2FB0DB40531FF5B32B8FF2C4B +:10AFC000011117005E3A0CA6BB6B5074EC79B98A7C +:10AFD000D2702249E3076DE3B332B04F205F979FF1 +:10AFE000CBE50BD6C864AF5E6AE4756B7EF313D510 +:10AFF0001D833ACDE76B389F899E4439AEE3AEF4AA +:10B0000024C6727EB3E7AD1EC7FECFC612BE9FC078 +:10B01000F522DED33B59C8F1E4C7B9BF6FE523AED3 +:10B02000788FFBEBD6EF015AF981382D848F291FD9 +:10B0300017D17ED07332F9E90D87EC7917E78B3C95 +:10B04000A4739FE3F1BB731DFAEBFCC7BF407AED1D +:10B05000FC11D6C77786843E2B61257F4FFEE9CF52 +:10B0600025E39E10D19FFFBECC6C9519A9BFE3B814 +:10B070005204A83E78AE3A17E3CC4521BE8F60E576 +:10B0800077BB7585F25CF639F4A2C5CF671DD1AEEA +:10B09000C6F99F75847D99E353F4AB717C0EE57519 +:10B0A0001EE3799D1307EBBE45BFFF76D8C512FAA4 +:10B0B000703EE30747783EE3D4C3FC5CE3A3B81ECD +:10B0C000C7B85BC47E5EC6A7FB999E82979CBA7C7C +:10B0D0005BBDD3C7E96BE5454EE2AFE85E92D47E37 +:10B0E0002669FCF73A731BAB6DDFB3E7ECF98C0D07 +:10B0F0008CDFA7157D95FF2EC1D42376FA2A429FB7 +:10B100009E27FCC868D2243DD9F8AABDDD798116F6 +:10B11000DA5F3A6F84FDA55F84C4FAC0A2733A3E39 +:10B120006DF9A113D9846FE1150B69F83C66C7A7C7 +:10B13000C50F805705F56C9E61C76B418B1DAF85B0 +:10B14000313B5EC7CCB7E3AF386EC75B69EB676C6A +:10B15000EFCBDB1A6CF5CAD5E7D9DA5781C14AAD16 +:10B16000D7F47CDED67E6CDF5C5B7DDC962B6DEDF0 +:10B17000C72716D9DE9FB97BE9A8F8E0ACFE95B6E3 +:10B1800076161F9CFDF8BFDAFAB3F8C03A87DFC025 +:10B19000B85F1315F9B423F1C139611339FF53F3C3 +:10B1A0004138D7C107A394F73385DDC5BC68F4EFF8 +:10B1B0002CFBFFBE2BD083FE6D1EF008EAE36CFE75 +:10B1C00040DE133FA678BE33BFE194ACD3BEC726A2 +:10B1D0002546E7364A818432F051A7CCFDF8DB657D +:10B1E000F9CBA9FB5B1372B91E9990CBEDD0DD6052 +:10B1F0002FD13E96E63093ECA6CC867F4714F01E06 +:10B2000012F76630B6755D7313DAC3C13A3D0F5558 +:10B210000ED42F48B74B608F26E1FA03F4FE79B9BC +:10B22000A0DFAE9441EFC390976BE64C09602CF51C +:10B230003213CF9B807DA473DC792C2CADACC72559 +:10B24000D390FDD13F01A638B8F44C3AD7F341EB87 +:10B2500078BA0FF103806180EF1FF2DF3DD6A3942F +:10B2600087708558BF7CB0B886DABD7C15481FF062 +:10B27000D7CF70CAE06FBCECE67818292ED7BAFD9C +:10B280009B41CCCF79B98EE73958CF17087C2DC8B0 +:10B29000E5F90D2B16E798FCFCA88BF6BF71BD8570 +:10B2A000BF87784382CB33D6310EB55EBBC37E0FEA +:10B2B000C0E13613E39D2B9E98437967D63AE1F2BD +:10B2C0009778FCEFF2BFDAEF1BB93E979F4FBF3E76 +:10B2D00097E7A15C0605DE977419D0230FCB1F37C3 +:10B2E000CD42F980E74909EA171F06570DF03E27BE +:10B2F0005EE54224FE82455F7C04A6FE955C3EFE30 +:10B300003C1673E17C7E79D5F220B61BEACFEA07C2 +:10B310002687FED24B79A6AB08F4D6890B24B2FB64 +:10B32000309E179FC716947661E8D61AEF972CFEC9 +:10B33000DE8B201F735994FAB5FA67B87F93A21772 +:10B34000572EC94916407F2B5FF6D0FED3FB6B4EBC +:10B350007CEF2B30AFDF2CFDF32378FE80C507CBCD +:10B36000D1FE5DB145613AD0FDE680D19E8BFE4BAA +:10B37000E3E8CE97CFF88E8FE461E566EE0FAC7C04 +:10B38000701C9D0B5F191CE29731A9FCB244F0CBF5 +:10B39000CAFB6BE81CB9F5FB1CCEFEBBDAF93D1706 +:10B3A0001DE27796BBC23C5F5865F1CD38BF4EAD0C +:10B3B00081EE112F2BE0BF4BC4CA46F97B3030BE63 +:10B3C00089FE13E3F3F8A9E0D3F94F144C12FEDB26 +:10B3D00076ECFF95A7F694A33E7B76FC0363695D4C +:10B3E000347974F8B0F4CAC3C29F62C24E4505DC1A +:10B3F00060A7681DF23EF347D1EE67D3370F0B3FCE +:10B40000ECAB8A41FEFF293926CEA1C1F25121EDD4 +:10B41000F093F3D11FDF2F533C3284CAC8D21BE014 +:10B420000B863069DFFA3D60582F9D29F4CA0FBFA3 +:10B43000F1D6E73A797CD7EEDF89F894E5CFC5E01D +:10B440002FEAF7F385BF316E8B3DDE796E52A6F59C +:10B45000E9901FE7F4DF306E340AFFED67B99FD63D +:10B460007F8B1F453AF5D7717DDC9FF4F3731F6026 +:10B47000BAF83D5976BFCED9CFAF855EF91DFAD463 +:10B48000B82ED3B87DC801FD18E4E7F74CA581EAD2 +:10B4900094220A6E9F51C8EB666E03170FFCCE2DE7 +:10B4A0001DAFF3823E3EF68DE3EB7AF03EC75A8E37 +:10B4B00067ACE3EF6F825011DFAFB4F4E4A1CFF0DB +:10B4C000FB65C5BD3893451CDC39BFC9208FDC380E +:10B4D0000B7916DF279FFE0BDD77B1275FFF39D28F +:10B4E000FFC4330A9DC3F6A983EEBC0C703E8A7A72 +:10B4F00017E4E76C8DDB1BEFE312DD1BE2D5F93AB5 +:10B50000D6A76913298E1E673918777FEFE11A5A7B +:10B51000D7BE26F0F37F01A7F53147008000000079 +:10B520001F8B080000000000000B95590D50545768 +:10B53000963EEFA77FA0A17974236A74490B08A2F5 +:10B54000C0B4808A24D974D45187106D759238356F +:10B55000994DABA5380874C6CCBAA98A3569D0C94B +:10B56000B831B5C56E52B3ECACB3F57093A94C02CB +:10B5700099768448520DD5225130EA803119CDCECA +:10B58000A488D932D98CD01D67FCD9A9D43AE79CBC +:10B59000FB5EBA6970924DCABADCF7EE3DF79CEFDC +:10B5A0007CE7E7BE2ECAF4CBDA128026A5234F2B08 +:10B5B00000F88DE453690E1055FD9900752AF8C204 +:10B5C0001900E1687ED6561CCB5438A0BA003ECC98 +:10B5D00092006600DCA6FFEE0708B65702B8019A93 +:10B5E000DBDD3C96F4E27B7C148C2A3C4EF4EE735B +:10B5F000054A13EBBFDC37337EE3BF72F0B85F5907 +:10B60000BD2FE35016A9AC87721CF16F0B9EF3EAB5 +:10B61000AD452C6FAE360F60099FAFD273005DDE73 +:10B62000888B823678228C72276E29BCCE945BD6AA +:10B63000FB80A239014AA36D0380F2D322364F0862 +:10B6400045A4BD0420F13C4D075431D8BF06A42ABF +:10B6500080583678257CDF951EFF10701EEFB37979 +:10B660000EE3FB34AD0D5C28BFCB0A8FFB712C01C0 +:10B67000F0FD3A23F1DC3C2F2DF2AF00F8DC5E0840 +:10B680003E9DDEAB6D705F46E2FDEFB33219AFFB5E +:10B6900034603BBAD2A37206EA119F0F7098F54A44 +:10B6A000E8097CAEA967891E92E8FCF895A7735853 +:10B6B0002FEDB087F4107A42A4D8F332EDD77C6C2A +:10B6C000479AE6F1D2FA54BD82E5A04316C03FB5D1 +:10B6D000E29E1AC20F7C508DCFD31373FB023C271E +:10B6E0001FFFBA8BA6850756DD9B3C8710AD37F749 +:10B6F0006F6A2B3AB07F2E80AA4248A90070E0986A +:10B70000E9223B3D6CA78AF26654081CBC8893C3AF +:10B710002EDE7FB9DE8E6AD13C43ACF366855CB524 +:10B72000689FF794ECDD8722E08BDB004B914F7430 +:10B7300032CE7F2845AFDC8F2EBE1E1D28F7A04ECF +:10B740008DA7DECAB3E2B84B8EFCB40CDFF7DA0289 +:10B75000DFD3F0DC63BF93C189387CF6CB34BD0EF8 +:10B760007159F06647AE2F63AABC9F5C6CFD973998 +:10B77000E4F737250F220E314B3C8FF46C8E7C6240 +:10B78000F5E1B8A6F723EB188EB7B4403DC5437575 +:10B790006FCB4AC27139B4EDD3705C244380E3624D +:10B7A00016CA4339D72E141D6E41DC211EB89B7872 +:10B7B000F9CFDAE4F8883C83EF8A01FA9FB1F39875 +:10B7C0001A07E61882813980327B2C826FAD3038BF +:10B7D0008770EF39FE9D020FCA8DE9EA5AE2D7A2BF +:10B7E000F7ED8FFB92F8775093995707E95C1CE7C8 +:10B7F00064077E4478EC3A7ED9EA44FB82FF1DCE92 +:10B800000399E33B346D7CAB9EAC643E4F89EF946F +:10B81000F80AAA712BE110FC14F95ECAFEDF9F85BD +:10B82000FE7CEDFDDE855B32587FC8425C7A2ED906 +:10B83000748A3B9C6FA6386D79EF46F918BEBFD16C +:10B84000B7EB6EC273B766E173301E56A453DC1DAE +:10B85000C178F024E2B694E2165529A578A8A27919 +:10B8600009CBEBB28ED4729CF6C840718AF1C0F15C +:10B8700081F1A0511E29D5303E787F31C77DD78810 +:10B88000ECA379289AAECFE7F98A4D34EF1A59A57F +:10B8900071DCCB087D05C56F7480E58401E6936B90 +:10B8A00025F0874B93E3D8C9FAFEDEC0279E25E238 +:10B8B000D9A12893E2C4A9C8665C89F93E89DFDF73 +:10B8C0006C7BF4C08B7329DA2A65E2E36E4DF011CC +:10B8D0000238CF0578D2CE7B60F7DB35EB3BD1BEAB +:10B8E000DD67157EBFD4F7C44A8C29A85EDB76825B +:10B8F000C61A7F78A585F46B57C0837E5982A30F43 +:10B90000F3ECBD9B474E5844382F22FF760F7C6BDB +:10B91000914A3CBF64833454A1FBCFF10F5F45FBD8 +:10B92000F6F423AE30957FA82EF3ED4EFC8C4963E0 +:10B93000CE02D4F99C56BF564DC378592EEC7C47A5 +:10B94000DB7E20848AF9B37DE788770DAEC039E2CB +:10B95000596CF4CFB994CB7B2E5C7606D0DFDD56E4 +:10B96000DF228D47D819CE982A3F427CC07D55945E +:10B97000D78DF85251DFF1767707C5D778B7E2CB8C +:10B9800045CCE306DF21E41B9985B86D17B0C1CE25 +:10B990006EE5231BD68F1D3E80BDC8C7ED830D7598 +:10B9A000544F76BC68B93CB640ACB94DEBF0DF53B0 +:10B9B000E8EF220201E53787255DA7F855F6CA347E +:10B9C000BF1E91C02DD13AF5F298E193DBC89346A2 +:10B9D00078FE7305E5057B2D89E7F8AF71B0F613A6 +:10B9E0003AA791D62F48AC7FEA77A3D98349E7C617 +:10B9F000B5CC9C2B0EFCA3000A6E2BCC0B6F94785D +:10BA0000FC9EE23D4C354F85211BEAF59A2CF0C196 +:10BA10003CC97175F39991EC4184E6A72EDFC759B3 +:10BA200068F7C7C43B8A9B1522FFC4BB249DE3E093 +:10BA300015CCEB38AFF9D4D301F3189F0BB3960AAA +:10BA40007B894735AA585F1399C77154ED036F146A +:10BA5000EDDD7141F1EA840BE1E5A4F22AECC37259 +:10BA60000BB7F3495E9B42B8341C425C70DFAE57A3 +:10BA700026DB1F3470696C1F3D391BE74DE194F7DD +:10BA8000063EC1147C7E4D7F2C9F8AD38C6C03A70D +:10BA90003CC8239C40792C8BF8034308C6ECA9BC16 +:10BAA00031F1A170235CFE40F906D79F37E4E37FB4 +:10BAB000195B90271F1B382CCE16FC69F609FF373F +:10BAC000EA8AAEA33EDB0CBEC0F3822F76FC9FEC6D +:10BAD0004784AD6C7FB7043F93A6DAB7B3D3B2C542 +:10BAE0008A3E6930700078C24AF1B7F3D064DE351F +:10BAF000183834A4E0D01C9026E981F19BB105FDF3 +:10BB0000B6CDE0F59DF50A3F42FE6CE8B4C073CCBB +:10BB1000DF2F58CFEBDDC24FA97A9AFA99FAFE7F50 +:10BB2000F54CF553ADE9A785B070929FD6BABF9694 +:10BB30009FB0E273DEDB6D177EB936B8300B4A1367 +:10BB4000BC48DDBFBA5DF4936BDA457FD93D3270F6 +:10BB5000E01EB4BFA24FD1EA707F6C6485A38CF263 +:10BB6000DD19D54B226291CA8321B4EFE850E1265A +:10BB70000FCAAD1895393E2ACF56E869684FC5D926 +:10BB80000A47412693C2ED2FE37D5C5F63670ADFBE +:10BB90002D253943ABAA08D69633150EEA078EA297 +:10BBA00065C42BE9EC9FCED1B995C3EA521BBE7F89 +:10BBB0007696C271B5E6DFB6FCC28672B7662B6CAC +:10BBC000DFC991DDDF267F349D91357A3E7146E6EF +:10BBD000758D3F577419E76B8E5838FE8218FF1227 +:10BBE000EB6BE1F3837DF3DDDB32123CD86AF0B618 +:10BBF00022DBF3421DF57DB31DDC2FAFF91B0BD704 +:10BC0000C5AB7739FE93FA9D225FC76A0DF5BCFA82 +:10BC1000D6939CC7625D12CC42C127679D783D8454 +:10BC2000F65D7D63D44ACDF5CAEE512BD5E1AD6604 +:10BC3000BC1F103C3179551F95B758BF81F9762448 +:10BC40001DA2280FD4362BF9A569D49C8F59A97E43 +:10BC5000FB8D3EA9F9A58F78DE407D3FF1F12549A6 +:10BC6000F7E09F27FA8E311F9B3B2598398FDE77AF +:10BC7000ACA675BB20FC2CD581D43CF27D839FF50E +:10BC8000ED29CF0D3E7EFF2BF87888F88857066C9B +:10BC9000084A888F371EF0674571DD8DD1744729BA +:10BCA000EA716358615EFC155E72FD3B43FD1A3A12 +:10BCB000F65A54F6110EE6BA8933D7ACD44FAE8E8D +:10BCC0007CCEF8D5458EAF225C1E824023D9F95038 +:10BCD000C4A145D1EEBA3191576A2336AE2B0F413C +:10BCE000783FD91BEBB7F1F3D05B12F721665EAA60 +:10BCF00037FC5B6FF8A31E13AF1B535DE390A8677F +:10BD00007068B27F1E5C30199F5A10F9A3362CF26E +:10BD100047CC1256C90FB13209DA28BF10AE283706 +:10BD200036DBC1FE097589F31B3B27CB69269C9D39 +:10BD3000B47E72DD7B3D7B06E7CB6BAAA817D72EBE +:10BD4000285521CF9DFB8454BFFC26C52F7571E07B +:10BD5000BA574B7507E50C455B4B213F8153AA5FF2 +:10BD6000863C0559D3DD1FCDF19CD15F9BF3F518BF +:10BD700038D4B78535E187E191191D54EF1A962B18 +:10BD800021EA1FAA5D22FF37FEDFA6F51508DD5563 +:10BD900079604F27BEFFC3967011F90FEF139F9084 +:10BDA000C9A7E66E7B7E31EEFFACCBE2A5FC02BEFE +:10BDB0008E22CA973F99F5425D05C56DA7C54BF721 +:10BDC00087896A2544F93488FD34F0739B4EFD4A17 +:10BDD000B0F78FE23E417CC1D11F91BE497CC1FECC +:10BDE000FC8FD978FE062CF93988C3865EEC0350A7 +:10BDF000FC86559F5B297F629F7E3D7B9A3E7DB886 +:10BE0000B080EFE1C3AA67A62BE3CE7D7AF32DD1F4 +:10BE1000179ACF9B315E09D7E688C4F7D3445F38C1 +:10BE200053A2BE30D6776CD0C5F9227B31A5F3F989 +:10BE3000063EDD0369A2BFE891F47CE2ABB49FE368 +:10BE4000A3D922FCD78C798B78006FA29396619E40 +:10BE50003CFFEA7E9233F1AAE4B57138F92E509F87 +:10BE6000BB43500126B6862F537F7DA3CBCEFD6703 +:10BE70003DFAE729E4F90EA3BED17C2FF63F2DD081 +:10BE8000CAF7A056D8CFE30EFCF7B71553F3C24458 +:10BE9000EF3E2BF1C2EC57F839F2A8C9E07B6A7E7D +:10BEA0006932F8DD94C2EF54BE56BB8CBA66F0B569 +:10BEB000E57CFA41FE4E30AC6836EAA307FEF73F58 +:10BEC000EE225CB0AF665C8CBE04F162FFC7463305 +:10BED00074C2F533839757E9DE8780B4542B8C9373 +:10BEE000BC5C8C8BFA8FE593BF637D37F302989728 +:10BEF0005FEB3FB690F8820631FEBB5EC175497AB2 +:10BF000035851D9404BE9CA35EA27EBCAF30DEA826 +:10BF100057913527A1578F3AE6F44E134F9234C00C +:10BF20007E94A5C149FD7EF04DC5AF27C519DAF352 +:10BF300038E5BB5A830FA0C673A94EAE73799877C4 +:10BF40002D11E177B94F8C78FE23E2FB8985CF9FD5 +:10BF5000F27E45A891DEDF98E7008A47B815AAA3CC +:10BF6000F99E7C059EC3F99EF30DC590743E48E290 +:10BF70003E1CB4C473F9BE392AB37EC1D16BB985F6 +:10BF8000A41774ACA27AF7A091374EE63B7612BFA5 +:10BF90004374EE4C002BD987FBDF33EA7170B9D8BC +:10BFA000DF6AF0ABFB7CADA38CFCD53763B1822696 +:10BFB0006D36FAC206977FBB6B49E2DE72A7BE33CD +:10BFC000E9DE24E4A39D1457472FDAF43A89EEB949 +:10BFD00037DFFF2ED93B8CFD08CA6FE9B385B2C8A5 +:10BFE0005F1FA4E9D40F4020F00D8AEF3DFDF5C599 +:10BFF0005417416A657F3CDFBB3DF6EFB8AFE9926D +:10C0000083323B34F5BD97CBF5B767C90BD4CF600E +:10C01000FFF220F533472316EE672ACE5631DF8E26 +:10C020009EA97217D0850BBC0E92DB34ACFA098F37 +:10C03000A6E1AA77EAA80F39BB82FB19E96C959BA8 +:10C04000F25125DD6FA99F192EE4B969CF5E97C023 +:10C050002B763C8DBF3348902FF8028593F8D2D8C9 +:10C06000FD36D7FDC65EC597CC1B735F9B4B65390C +:10C070002F125F10CF96B0E4633E1C116363EFD1C3 +:10C080005CB2639725CCFE6DE9B488F75D62440924 +:10C09000BC2F846D22F9F31D7A847EA8B5EA730162 +:10C0A000553C6DF4F9A72F05EEA67C78FA81403156 +:10C0B0008D396EF11D24F15D6505EB0DD246F6FB61 +:10C0C00078B7E8B352FDE832F639DDF0B87F9AF779 +:10C0D000B25B667B6AADE2FB0FF567B331BF9D33A0 +:10C0E000EAF73ACC63F4DDF19C112FEF82DF82771F +:10C0F0003D1CC57D33BC40E4CD4D98375B70FDA63B +:10C10000872CDC5F40B5E8BFFDF83FE5AFE2767510 +:10C1100052DE7AF8CB7B85C7427EDDB476725E7BD9 +:10C12000D8E88F1EFE8AFE28EA32EA701114897E52 +:10C130003DC341DF19AF0F593485FB11BD90E2FBC0 +:10C140004EFDD149CC671ECC674398CF68C43A7581 +:10C15000DA354D9D4ADD6FD6A99692DFF2F79FD36F +:10C16000C72FBD9ECDF9330DF289905FA03688634D +:10C170009366E89AB2BF0536B2FF5AE1DB93F867DF +:10C18000FA719CFAF2D2A97EBCEC12FE6AA6FB1BE5 +:10C19000FAE11F17B4F969BC2C0B3EDAED7BB1E173 +:10C1A000C3788C6C008AF39612D19F8D7F53D2296D +:10C1B000CFA39E79B6A43C3F3E5BF4597B1E91F819 +:10C1C000BBECF192DF725D6F8A8E58290F15756F87 +:10C1D000F931C52912EE02DD6BD619756FBD5DD43C +:10C1E000B975E63DCEB4D7E04D0BB842221FE7F05B +:10C1F00048EBA90EAE33EADEFAEAC9FE2E8691D5E7 +:10C2000073508F477D12F74F1B7C9669F9B271F31B +:10C21000E2B7E99AF575F932DBED57DDF4DD66E456 +:10C22000DA23F45DB5D9E0B9B7D8D33B46DF67DF91 +:10C23000D116EF23BC1CCE720D799B69C4C3CFF01D +:10C24000D6E7A6FCE7C8D3A9BEC6F4CB3BE87BA3E0 +:10C250000B7B107A6FC693772654FE2023D94F228A +:10C260004ECC75ED2E8DE7A72DFA5CCA0750EA9EDD +:10C27000F61E989A775B4A4E95931F4E1F1F2EB756 +:10C2800026F9EBEAEE4031D78DBE13B99E8C643EA1 +:10C29000C9069F541E2569A3510F27F3EB2AF18B82 +:10C2A000FC7BE4C4BAEF122FBA37E5489EA47AD9D2 +:10C2B000F3AE737E92DCF188C2EBF17E54F47066CB +:10C2C000B29E3F663DC7C3421E3A3DC4F7A2371631 +:10C2D0002F7D4EC01F92695EB8F5177C8F877DBC9D +:10C2E000DEE4699A25E49B83F6D87AB163CC4FD813 +:10C2F0001DB602CB09F5DBF497B9EF07EED7621F45 +:10C3000069DCEF02CC05E2E11B06CF361AFE5A8645 +:10C310004D2EF1713984158A8765A0C26334573177 +:10C320009071BC177485F2EB32357A5C2AE7E7210D +:10C330001579781F8CF1F3FBE9D310EE7B003C2AD2 +:10C34000CD5742681F15AA7BC2D10729BD4473D5BA +:10C35000EC2BC8374A31D3F92D818B0A574CFEE1BB +:10C36000626C62F8BBB7A9F75249E8BDCC0776CA40 +:10C370009F4F1B71ED75083BE3E3C0DFBD4CBDEE85 +:10C380005161AD82FADFA7823D1DD71F1994395E36 +:10C39000FBC73C3AE537AFDBD8F73FB86F1EB72491 +:10C3A000F05845C2CE1ADC47DFDB96A97823667CBD +:10C3B000A2D3DADBEC16BF47A1A4BF23792B233627 +:10C3C000EE5F647B48A17EF4876EE137FA5DC48935 +:10C3D000726ADA24B848BF731408FB4CF9359882A6 +:10C3E000B22A68BDB08B3E195F7489DF4B9CFC3B61 +:10C3F000D72A8DF091A2B9F26DC7D7C731960BAC91 +:10C40000B7735B7CE2E9AAC4EF46DEC8A98B12C60B +:10C41000A7E4F3713DF2DA33A2D427A3D7AF26F70E +:10C42000CF07DC5B9FA53C207934C60702E0A1FC66 +:10C430003E130E69543F645A87587E90EE2CA7DF56 +:10C4400095C85D9FA2BF1E3578F641BAC803AFE814 +:10C450001B3DC4EBCD39762FE15F61CFAB24FEDE0F +:10C460009F1560F91F489DF35998AA2FF167267808 +:10C47000ED005F35E17D334DC8C76E81F9FA945DFB +:10C48000CCFF21DD79984607A66B3BEA7710E3C025 +:10C490004EDF49D3C4B914A3C4E790F17D34F461ED +:10C4A000A64E9FE06FCA7E262546974746F9B0778D +:10C4B000A587BE2F3F9B6DF752DCD9C83E47C23ED1 +:10C4C000F37CD3CED4F3C9EE7B4DBBE5C4F9A6FD16 +:10C4D00053CF0F59160A1C9EA4F588C3510387BF7A +:10C4E000E743419F4F3898F6A363F8772BCDC0D52B +:10C4F000C44123BF511DF1A1DF4CBF23AE07D305BB +:10C500000EA6FD784DB3B31C0FFAAF6CAA7D7F0168 +:10C510003164B4F9001E00000000000000000000BB +:10C520001F8B080000000000000BEBE66760F8516D +:10C530008FC03BB950F9E8D88713959FC88D5F3DF0 +:10C54000212CC3806037713030943243B021143FC6 +:10C550006462603803C533982178150B420F133B92 +:10C56000030317100B01B1143B7EBBF85831C56AA9 +:10C57000E51818149410FC7C4906866D402C204563 +:10C5800099BF46F1D0C09DC6A8FC133AA8FC377AE3 +:10C590000C0C622608FE491DD2CC6F03EA6D0762BF +:10C5A00000454552DC680300000000000000000068 +:10C5B0001F8B080000000000000BC57D0B7854D5D0 +:10C5C000B5F03E67CE9C39F3CC4998C024847012F4 +:10C5D00012081A74080183453B3C545AA91DD1DA4C +:10C5E00068BD380424411182454D5B7AE7901713EA +:10C5F0001230D6A0881407048B55DAE8456B6FF12A +:10C600007610B4D8EBED4D7B6DABB7EA0D681151E8 +:10C6100069EC43ECFDB5FE6BADBDCFCC992101FAC1 +:10C62000F8BF3F7E9F9B7DF66BEDB5D75EAFBDF645 +:10C630001E973C8D053FCBD8A7F807E932993156B4 +:10C64000984919538C410D53667E3A212BCF3E7584 +:10C650009C4BFEE349D97953F4FB75C64633768784 +:10C660002883BF08E6E7898C058F95B2B0CA52557A +:10C67000997EE6319E3764897D2AE1D7EC726B9C06 +:10C6800053EEC0052C8FB1168DA77779023B313D53 +:10C69000E52E4DB2005493621558CF9C03FFAE8532 +:10C6A000F40D7FB28DFA6BBE303A8531F8777DBFDD +:10C6B0006F1878582B63D3194BC4FBEF7DCB99F9D6 +:10C6C000AE95984C0E42711D0BEF3620F53105E703 +:10C6D00095C03E31CF064D0794ABC1F0B40D909F8D +:10C6E0000670633F3572741AA68886A81F9B1BF4D8 +:10C6F000FD405967A801E0FA7DAD1A76C1A7DBCBF2 +:10C700001E61AC9CB14D337F158A5533E651924C76 +:10C7100007F83C152C827032F64DC66630F6278D30 +:10C720008F67C13587C9848F0CFCD9F8FA2FC6D71B +:10C730007BE338E3EE59009FF91F8EF06E2A1DA8A7 +:10C7400067411C6FB4BC01E6B03E9E4A555432D6D8 +:10C750001167BD0AA4EB9D835B9660FD179D34DFD6 +:10C76000B6B8D6AB003E0ECC9C983708F05D84E39B +:10C770004ECF8CDBE6F7D427AB09BF31C4F75DE1C0 +:10C78000FEF3379431E62A3DCC102FA78E3CF119E9 +:10C790005CBE8B7071A0DD2628C3F1CD7C96DC4D8C +:10C7A000EBC2C70BD4E9351B089FAB69BE161DB998 +:10C7B000EB603DAC79613E38C8108479FE6B19C2DC +:10C7C000E3ACE88D3048A5D2E3A684E3032EC7404E +:10C7D0003DC79F1D340E2BB2C689F88AA05F2F1368 +:10C7E000EB36F0391A47D579DE1B8E2D6017C0BFA6 +:10C7F000AB018F30B60EFF7D0A7D69153C6F8DAFA2 +:10C80000B09E0F1C01C4B60DDF3027E5B5CFBD8348 +:10C81000ED1566AB0FDF1D9F4C8B225E36D5DDEE2E +:10C82000598770386ECC8BC1BA3AEAE4232EE8C738 +:10C83000110BF4CE1B95C1A7EFB5D9A943B6F9AE3C +:10C8400065FEE0312F21F022DA07A27D2EFD5AE9A4 +:10C85000A9782475C849F393EDFB71A4FA6D71C6EC +:10C86000529332F9F6B24808A6CE7ACC2B23CA4CA2 +:10C87000C83B2321290CF51EBE22321FF28E49A986 +:10C880005018C6EFC9874E8B19BB9FDD9A3201FF46 +:10C890008EB664280CE90667CEF7B951FADEE18658 +:10C8A0007D577DFAF8BF620EA2D30DD2603D73644E +:10C8B000F8864BAC934B7FE1CF12E0699314FE688E +:10C8C00010F7735180E812CA134A01A5F3D51AACC8 +:10C8D000AC29B89E9AD54E61ED4A0DA5F3D4029CC1 +:10C8E00057724B03D25D918FF6417BBE9A0A407F0F +:10C8F0001BCBD41D0E2903CF6126119DB63B399F5A +:10C90000D8E8CCE617CF6039C0BB8F39793D3F9F5F +:10C9100017D3DB4257FB87E907F1743163FBD96218 +:10C92000D3F4E177CE073641B184F094A99C3E233D +:10C930006668A13FABDCCCB797EBEB420BA7201BA3 +:10C9400084FE013F5A08FE3D21AB3E872305E58862 +:10C950008722A415A0D3FC65875348EF3ACBC24F7A +:10C960008D1C3B8CF3E8C85BD4DFC0327C2A978FE8 +:10C970008F4437B9FCDB65D8F2F8BF902D5F8EFF8E +:10C980002FD1898E598EDC3067D3784E66FDDD91CC +:10C99000357EFB256CC801EBD43353355A613F39E2 +:10C9A000C36A0AE901FF8670FFE23FF07B5DE78022 +:10C9B00004FB4FF5054C6F00FB837D0A7967280760 +:10C9C000AEB3EC9F969CFDF75ECEFEFB135B41FC85 +:10C9D0009AF5CEA7FD151070AAB5AA89E3A9AC6790 +:10C9E00000D3F43EFCCCC23C9019C067D423C437BA +:10C9F0004249661F3F81FB0F885896A27FC6756C1F +:10CA0000CBDB4EE58A6A929C60E7A95CEEB0C1D0B0 +:10CA1000D55332EDFE4BF0E12D585468C327EB653A +:10CA20005CEE844328EF3AE22DEC4DE0EB9EE79676 +:10CA300033630ACAA9E64804E844419A9A897451C2 +:10CA4000CB538591BC5446EB3B512E380D6DB181D3 +:10CA5000F833F4AB31656C1DF5EBAC3AEF6689BE8B +:10CA600077121F54582C22417DA58211DE153D4AB4 +:10CA7000F0037D154A0887964D77693AD383C89BA2 +:10CA8000316F44A70C435FD67C44BD11E9F0B47903 +:10CA90002755EC2F93EF653C6FE6E0C9243AB3E0ED +:10CAA000D2229D442F5AC463E2BCB479CAB1413B3F +:10CAB000DD88766DF84F80A7239FD17AB78FE3FC8E +:10CAC00001E7750DCCABA3F0F2D012C06F9DC4F599 +:10CAD00000B62077FE518207F05387F851F418E131 +:10CAE000CBC24B7BFEC43CD40398AF80D62577BE27 +:10CAF000ED20AF159B7E62F12998378DD756C092F5 +:10CB0000A370BD3E9E5685FC64A47E72F1D7362E7E +:10CB1000FC4A8CF8AB4AFCB143CC93FE60099460AC +:10CB2000F86194EBD7E0BCA0BE12E2F3B7E087F95E +:10CB30005C23150E375F3EAF36BF9857707878DAB2 +:10CB4000705E959979A4BF3B055F1BA15DEE3C46E5 +:10CB50002A6F1F17092D467EEAE7F3439E6F9F9FBA +:10CB600053E7F35B25E6E7F4A94407CE607A7EAB92 +:10CB7000869F1F5FCFF4FC7C418253D135C28F3535 +:10CB8000BEA2BD90524665E05C2BE97C9C341C61E2 +:10CB9000EAC7A173BCC6A4D85A1CCF11EC247EE20C +:10CBA000F04518F6AF22DE2FC434526F22BD1C9818 +:10CBB000C9AAB19D2FCC56E0FEF6C5D802A8D7FE73 +:10CBC0008943E0AD366BFFDC2565EB6F163C2B052A +:10CBD0003FC8C5DBEFC609FCE7D0C1EF9EBD82E8C8 +:10CBE0007CB3C0572E5EACF680B7CD388F5C3AFF71 +:10CBF000DDB39338BE9E291C767FAFD40E66E18BE1 +:10CC000009BD2020FAF70A7837F9B45763F0CF71DD +:10CC1000C1D46C64B7DD92FEA20965170663BB70D0 +:10CC2000DCA6A03E07BF07EA988CE375097ABACC68 +:10CC3000D1E33E0AF06C8995E73540FA5349CAC200 +:10CC40008B956E05FE8CFBAD23AE517AEA750EF71F +:10CC5000487406FA14D1713ADFA4CC47FDB8CDB7B9 +:10CC6000F39ECB017F1DC18A1A127F2189E34BE21B +:10CC7000A8DD2F49629E1C3F80B7FDC81F2CFADB40 +:10CC8000BAFC3A4AC745CC08DA07258017199776C7 +:10CC90000D0B937C67C8BB33F809CC934DD7058443 +:10CCA00087E7B19F2623351B6565D952D6EA303216 +:10CCB00078D81293695D6FBF79E24E4799CDEE91B6 +:10CCC000B97DC1AA059F56409EF847DE779B004F6D +:10CCD000D524C4FB25A4E3B1752C89FBA707BFA30A +:10CCE0005D21457F89EB3176C5908AF33869E92B60 +:10CCF0002C447A78BB20B14D177B089EF6429DF4F8 +:10CD0000B223825E594452ECFCDA465F4786A3AFF9 +:10CD1000B17526A993BF5162BFC572572DCB47B9D4 +:10CD20009D2F25532AF4DB25EC40007F00C7CF4B15 +:10CD3000DB739CCEFD15C64EA4F30F055DE4453AAA +:10CD400057CB309F404431516FCF1B5CBC0091EDFD +:10CD500046BD9F7F3F82F81E3B2BC564E8A7B462A7 +:10CD6000C8443CFBE729A4E7FF8B12FB10E1F094D9 +:10CD70000C92FE50DA62D27E7EC06992BDA7CDEAE7 +:10CD80008D44699DEF648B6DFA814BAC03D88A9119 +:10CD90006475669D37715D99DD33EFA8D6588DF5C2 +:10CDA0003C04E738B646D047730AED214DD007D092 +:10CDB000812A43B95167BE80532D317419E104FAB9 +:10CDC0001FC3E1E82DC2760F2C57B93D67B297110A +:10CDD000DF1E59E0C580FF905E653EEE7F4A4E82C1 +:10CDE000AB1B6904C60955B0A4011D7B049E2CBC75 +:10CDF00078049E5C6C88C9A8A755F4AFC32E5CA1CB +:10CE0000F06103E917ECEA8841F82946F8FC2CC5E3 +:10CE1000707DB4603282F4DAA634FFCF37613DDA38 +:10CE20000E3BC2A691A1C75C3A547CB0EFB2E47548 +:10CE3000B61E3452BBD3F5888882F5E7695EE2FFFF +:10CE40000719E73340BF5310BE79FA0744BFCC3708 +:10CE5000EA9CFA73B4388CB7908F293AE98B2EA1EB +:10CE60002FB695805E88F691C64CDCC78E1296343C +:10CE7000D15EEC95227C5F84D9B540C7AA2167E9D1 +:10CE8000AF4AD093658F3A5A54DE7F3D70BD2CFF78 +:10CE90004B92F695C3CA023D907E07B06F601C5F4F +:10CEA0006E62165C3F469AE0FEA06F64D9DF09A36C +:10CEB000860DA72F5B762E6E0FB47373DB8D8C9768 +:10CEC0009CF1AECD86FB9CDBF914E398D5A6FC4C17 +:10CED000ED1476CC66A72C45E29B9E599F4E277B8E +:10CEE00046CA83F508017F05FAEAC42258D7F562DD +:10CEF000DD992167F11D4748A67D5E839B07E9A563 +:10CF0000A480EAAB5A24458388FCD9E842F535333E +:10CF1000CEFA85DC0FB15ED23F855CAB96A2DF9086 +:10CF2000A15E57D1FC941D2F6D2A6B22FA30AEA55D +:10CF30007A5D9577A6D08E5447EB5391DF5874D61F +:10CF400095834FCBBFD5164F923D00FA03F11F4B8F +:10CF5000BE587ABBA567A4E9D6E0FBA6AD82DB315B +:10CF60000EAD97F895BBF79E08D22D7C137E254118 +:10CF7000AF6097205D7443CAFD78491A7744BA358B +:10CF8000CE6D5F0EF33D0FEDC2A6971C0CF9F49227 +:10CF9000D03B7D15D3186B6829DA8C6963CBD43EFE +:10CFA00005D2A33D130276797D347133E58F6DABE5 +:10CFB000A4F4E8B6AFDE84FBE2F81697413AE1C785 +:10CFC0009F7EEA003A6E10EB7DE00117C98363DFB4 +:10CFD00096922E18A73121995EB4EFF28D52E4D7C4 +:10CFE000C7BA1A4BD930FA40C36B20B8F2B0BCAC08 +:10CFF000940DB37F1A13EB57A31DD59874462236B0 +:10D00000BCA4F5F1FCE649B8793BE2555BD11F6958 +:10D01000E9ABCF23DD4D27BB97FB07B530F905669C +:10D02000BFF1B9D020E41F946387904FB51FB92298 +:10D0300084E31ECCBF9CF4DEDB5F7785D1A77297BB +:10D04000DA3C49B7C17357408D11BFF7F565ADC3E1 +:10D050008F65E7B07AA2B99B552941E42B9EF03A3F +:10D06000C0C73C5F3885F8F9FDA044FD5BF4953BF3 +:10D070005F67CB345A8F741EF455A39AF813CDC34F +:10D0800051C553ABFC3728CF60BC3764EE1FFAA103 +:10D090001C7B03F703F2B39602DC2FB57D5C3FF4F3 +:10D0A000E9C7CECFEC6F0BCE75977038BB254FB864 +:10D0B0001570D73DC5B293FAB9FDA9F433B48F5AB0 +:10D0C00095814814E09857DD9F427AB6E6D135C283 +:10D0D0003CBAE3AC8FDB29FD1AFA7B5A35DEBE2D54 +:10D0E000AED1F7EEEA7D5A03E45B75FEBD3BFCA4CE +:10D0F00086FA65AB61E5F7F17C44E47DA2DCB4F22D +:10D10000BCBC23AE537FADECE7FCBBFE24EF97FD28 +:10D1100042E4C538ECE5F94887DD41D10F7B85F263 +:10D12000E8F0413E60F1FFEEA018D737303FE21340 +:10D13000C46D2F0F3D99531EC929CF6EBF3E1E12DD +:10D140007830B3EB950838D3FD3029BB7C5F6EB9DE +:10D150009C556E64B7DF14FFE85EC2ABC1DB6DAAFD +:10D1600004B90EA9BB6506D113D04599C346A75E85 +:10D17000A48B69C87FD87CE4930E93695FAF81E587 +:10D18000AE63EDE5B01F2F70703DBBC5A2BB12288A +:10D1900082724705532E2DC8F403BC54A3EF554C9F +:10D1A000CBFAAEE7FA0586A73FF3014E7F0AEE13EE +:10D1B00009F58608936CF43512BF83FDDE8776C6C9 +:10D1C000FAF820CDDBC9B2F78595461C422FCE195F +:10D1D0001FE6CBBE5E40F3E3FEEFD7DCE43F740412 +:10D1E000619E057CBE97D6D8E613827916F0F96663 +:10D1F0007D2FC99E675AFEE4EC8B152874705F86FC +:10D20000166AB49F7D5C9E58FCA8FDC845215CAFA2 +:10D2100083FE19E45FB0F8D048F3EF8A1FEFC3F341 +:10D2200088EEF820A51EB1DFDBC2351AF6D7E10380 +:10D23000F98274A34450F630A5A2B911F9B7E335C9 +:10D240003729075A35E7474A05082483ECE948920D +:10D25000E45B2F6BB4F169B7C53F3F8E13FD6EF0F1 +:10D26000F12DE16E39D95731EA74B83CA1F748BEC7 +:10D27000DC1560B1E1D6E36A872AF854F476A44756 +:10D28000B5A5FA8CFCC9BC07E8A3D6CE47F97AFD50 +:10D290001ED6CB85EBE5335DC3EA5D2DEFDE8BF467 +:10D2A000DD8B7D4D473CCF0CE13948DB91BB1AB19A +:10D2B0007DDBEB1C0FE78A6F67CB58929720EF2935 +:10D2C0004DAF7F304CF875E861D21BA1EF70A5C15E +:10D2D000F58446CEB7D9DA1A6C5FCADBC74A362363 +:10D2E000DE46C2CF3F3BB83FEC877264B3A3F00C7D +:10D2F00078D9CB5EF1A07C79CDA5E3BE39F8FA45AB +:10D3000034FEED47F8BE013C11DE7E0F7843796CA8 +:10D31000D14766FF689B916EDAE243443F5E81AF7E +:10D32000F47CAA73E613E27C1FF6C745442F5679B6 +:10D330008897F7C43FEAABA0FDA86FC6D45B1DA3D6 +:10D34000F9FB4AC2C487D2F54BA03E247E03FA0BF8 +:10D35000D23EBB0867952E3778B9B7DA648D3EF4B4 +:10D36000C3029C36B90F72FB4748375A899EF5DDD8 +:10D3700013E2781D095F878E4CCA1B1C06DF1979E2 +:10D38000C5F9E786B841FC3A21E4D786B2583DCAD0 +:10D39000898D28B7605E770B79D32EF8FAEFD11913 +:10D3A00080EBA470BB2FC1AC3F9D6990EF627CBF46 +:10D3B000F4A0CD0FF3532B94E4CE32B4DF068938BA +:10D3C00012C29F9C986524DBE07B8F5BD48B30AAD4 +:10D3D00067C927C5CDFB49E8DC0F91081A4964D11C +:10D3E0003DF931B287132CA1DD0E78EE291379C5F2 +:10D3F000A4BC4F8D911CD49CA64E790FCFE7F6AB01 +:10D40000E5B7EA28377C05A2BE94E0F5CBB3DBF79D +:10D41000A8BCFF2EA5978FE7E1F9DCFEBAF46F9167 +:10D420001CEA2910F3D1F97CBAD816DEAE3CBB9FBA +:10D4300091D6C56DC03AD8D63950AB65E52DBD59EA +:10D440009F05EB62E3C34E3D9455EFE0EB93C60CB2 +:10D45000DAC6393438E18CF4704CD0413AEF8E2D75 +:10D4600062F98C7D5E71CE699F057967AC5482FC50 +:10D47000C3DF9ADC3A7F1C63CB5ADEA1FDD3887CE4 +:10D480006214EAD77FE0F99EAFAA068CD3B8452292 +:10D49000FEDA887C00CA9799AC04E5ED4CC563C9F7 +:10D4A000592E8776B992BB014FCB7C5C0E2D0B6653 +:10D4B000CBDB653A97B7CB42D9F27659C239AC1C6F +:10D4C0005AD6F26E169F5ED6B384E05926F8FA3229 +:10D4D000C1C761D14AEB413F3E1F1710E039BAFB8B +:10D4E000FE52D4FBDF917A177D1DFDC1CB3D74BE8A +:10D4F000928B27EBBCE341CB5E1472A2E12C766ADF +:10D5000003CA09B2F7C13E98F2D78F779EC2C76BA4 +:10D51000C479103DF796D6FB33E31F0DF2F14B9023 +:10D5200008687FF696DAFD720DC887A7FDED78AA28 +:10D53000C07EA723BE188F1B39C7F6E9728167DB4F +:10D5400079CC6484EF6FA5A3950AF76BA5E9A8C908 +:10D5500043FACCDF4B47697FCF5FB9AE0FCABAC081 +:10D560003BCC6B8A6D9D72D627AD1788755AA11872 +:10D5700059F694B54EB9787AA7C923A37FFF9DC306 +:10D5800097917F68ABDABB08F95413E2CF86B76393 +:10D5900020E7DA2BEDEBF2D517EA801F2DDF955F40 +:10D5A00020D9C65FBEEB9ECB8B01A665DBF26B502C +:10D5B000556BDA25F0BCC5BDB9DD860FC07705EA2D +:10D5C0008D7D02DED3F05D21F05D9DAD3F2EABE29F +:10D5D000FAE3B2F0B9E17BB9A01B9867FBB7689E8C +:10D5E0000FBF837CF48F897B27E339AE85AF25A1FC +:10D5F00022A283A3428F3F0672CB3EDF37B74C0B8C +:10D60000A09FF4A802E53ECC4FE7794DE4B741393D +:10D61000DAF73EDEFECD6DD3299FBBAEB9EBB22467 +:10D620002D6F39BCE69CF0F124C511B9C26D50F5DF +:10D630002F8E58BF82F665E0E226C4CF5D472503F2 +:10D64000F5B5AD81593F330C6C37BC9CCE5BA11C4A +:10D65000B5E3C35F979DF784B3F31A83BC2D8EC4E3 +:10D66000760EC27C33ECE7E549413F8CBD379A1F0B +:10D67000E3A29C720EE62F41BFEBECABEA16935E81 +:10D68000E9930D57D9C8F48D8498962B04B7D69B8F +:10D69000963B0E3CBF283FE3B9477B7CF03EBB5C2A +:10D6A00051403FC7B80F45EC0FA5E5D87D48BF876F +:10D6B000A09F23C4D75A2DFFAC389F4D66AD83A3DE +:10D6C000E502B2E3AC7987D2E764FD59E7101BDCD1 +:10D6D000C9575044E7079A5B3F5744F127FC5C2148 +:10D6E000D6973EDF437DB26BF6BCDD1B86993F9D2E +:10D6F0003CA0DE953A407E73174B31F42BF9415F25 +:10D700004B615BC0E900D91BBD1AEA8FFEDA66F2F5 +:10D710008F9D42BAA1F58892DFD32F70D7555B90C9 +:10D720008FF54E8DCB6EC72AAAB2EAB1C1DEF913CE +:10D73000002EFD3285FCB12C1614E7F0BD673C6766 +:10D7400051AA789C81529518E0293F5F50412FC71C +:10D7500090801A39A638C9279F7D5E923E7717E3DD +:10D760008C4C0782CECEB1DEB7E2498A97833FD296 +:10D77000CBEF024AC6F881BEF89E7BDFAA4496D85A +:10D780002C619C8A323F9C42DABC438E859C80EFA0 +:10D79000514897B5181F2691DF4DBAAA6512EA2D98 +:10D7A00005638CA97834BA5265A9681DE4BDC61317 +:10D7B00040222CAA4E9AEB83F52C4023A098B1F27C +:10D7C0008E9A368CA729186F7C80F14937A8E1B969 +:10D7D000412C9F60AC4616DD234D9D8BF14A969DF2 +:10D7E0009F00FA443837C68FDF87704D7672FBF999 +:10D7F0007C275F474D11E73040A76F01DDF99501A8 +:10D80000CAFB5B4EDE477ECA1060D1E6A7B830186F +:10D810000B239E9BA2FC7CD1E1B3CE177BEB316E38 +:10D82000C33A67BE0C0A709EBFAF3276DAF7DF22CA +:10D8300067F679637B9C9F33A6F78F76D50308C77D +:10D840008642D64FE7D02ED68C74DD1D0F6F45F87B +:10D8500001273C0E51C03357CC07D67F2EC2A52AD4 +:10D86000D1D43725B437B83FB75D31F32E45B80E64 +:10D87000F33840953553FC10FEE17912F9BDA18BC8 +:10D880007AA7D0FBF5883E1BEAAF0F154C25FAAC02 +:10D89000AADB9AE607E5D85F2481EB7275C79E394B +:10D8A0004EC07B3BD2F8C58C5DE37CBC15E3BEEA81 +:10D8B0009DBAD8DFCD1AEE6F5788B1E33514AF9516 +:10D8C000721550375B2A468BF81DE8CF15948F38B8 +:10D8D0002F38FBF9AA5A127DC0AE0FFB0D93EC3026 +:10D8E0004D11F63CC87FDC673D16DD1F3F4871884F +:10D8F000F9119DE6B1CEC9CFD3DAE387B3E23C2B71 +:10D90000A5D82D4E3A6FE5FE7D67ECA57B11FF1E75 +:10D91000766D5E0ACFB55EBBE230C61DED880F1195 +:10D920001DB1DE0524EF3DBAB5BF72E2D612FC7C14 +:10D93000C525E2055D55CA878336BD3D37CEE86B08 +:10D94000CEE1E3FCD496090FBC65D3AFE4508CE183 +:10D950003EB1E28BDA907E6D74A4B64CA4FA9D7150 +:10D96000E301A49334BCC28EF1087A61BD57123F23 +:10D970002A163059F33BF87AA3D903EBBE0DAA233C +:10D98000BD6E6BE27699671C30E8B2CC7E72E930EE +:10D990003F5B7C43EEFCFA043D3E1CD7EF47383634 +:10D9A000230C940FDD8FF0788019FC2BD2C19605E3 +:10D9B000048785C75D6077A7F09CEA6507F96F2645 +:10D9C00014A5C86E7785053E73C661DBCEB20E0224 +:10D9D000CE735D87EFE23A9C7FFA3AB016F89BC1AE +:10D9E00043BFE8EF63289D9191B7161EAC75B1F265 +:10D9F000609FE50D9E819E77C78DFB71DF77C6AB7B +:10DA000028DDDDB75043FAAFEC6349E4EB95411EE6 +:10DA100027FAC89685AD1AE0A5A38F45508F9BB80D +:10DA200085974F14E59DA1065EBE8597AB215EAE3E +:10DA30000A7A5613CD87CB284E590E23CCAE125EF0 +:10DA4000EE12ED437DF29CC9D02EA447177E0EFD49 +:10DA5000154DDC5FC150848C26E94C7FC57AB3A993 +:10DA6000717F4704FD23A57D87D64D3632F5B60B71 +:10DA70007C94E8B16F7D0EF547E16729D9B273DD7B +:10DA8000E76CFD6D13FD39F558A2CCE61FB1CAB79E +:10DA90008A720DCBB19F18EFC72ADF22C671879417 +:10DAA00075B331D5617ED84F38BB5EAFE8C7679597 +:10DAB000D7F171CA4B0EA566DBC6DB24EA950B7F56 +:10DAC000617B3C4CFBC7A95D49FBC9AA67F1954442 +:10DAD0003CF2C05BCECC3EDB19AFA3B443C41528E7 +:10DAE000E2BCBE2CA1CF213FB72AE2297252DC074B +:10DAF00021E08B15A8AB007C6E5817F4DFE13E45A2 +:10DB0000FF9AAB6204BA679007BA2D853FAEAF2586 +:10DB10002594EF963FC0A2BB43472E1A96FE980964 +:10DB200074678FCF6CA9CACE3787EF4FEB83986F9E +:10DB3000AACB2E8F45B2CB23F3B3F375D1EC7CB8CF +:10DB40003E2B6FC1B155F8791F8C1B7DF3089FDC0C +:10DB5000FFFB60A11942BB2751C8F5B9BBE38CFCA0 +:10DB60006F5DC2AFB711FD72E4AFD2E8FB16F4CF20 +:10DB700091DF3844A9ABE5FCBE79E8278D0FDE8B39 +:10DB8000FD4E5685BF7C16CBD28B405E4E56515E05 +:10DB9000AE88628C05B3F4A407DDFA0DE8C7C96F3F +:10DBA0008A31D9E64FB944E572DB65D97D0A9350D5 +:10DBB000EF7125B87CC9D4932DBB95CBA512D8099C +:10DBC00036FA01F12AA13D324BCDA77ABEB0D1AAD7 +:10DBD000A13E384F273B0DEA84B0BECFA2DF309381 +:10DBE000882F48914B54F44B14027C907757244D66 +:10DBF00099E2B20C6AE7AFE5F711424B793E6F56F6 +:10DC00003FC3731B17E8D3880FA70EF8B2F1BBA26E +:10DC1000989E957F309FCFDB2BEC7055D8F7FFE6B1 +:10DC200098B300F1B452E572BDCDBFAC08E1794EB6 +:10DC3000897C11E15989821CE959E8151BE62FE01E +:10DC4000727D018F8363379E86F77AECCF55C2CF02 +:10DC50009D3D55FCDCC0EA9F29B122D41B1E946275 +:10DC60008BB01EAB0A6976FD2B188D66D5B7E079AF +:10DC7000448D2CB6C3F3801A5962871B08B708D7A6 +:10DC8000B7E0CA1B89CF2A167CF5C3C7AFD9E2FF1C +:10DC900056AA85A79F93C31FEDBBF552EC762CD7F0 +:10DCA0005F73517F7A44C43989F8CC8251D1D05402 +:10DCB0001B1D6D16FBBFC39989AF23FBCDC132710C +:10DCC0004868E7611EF078B7CACF41010BA6F7425A +:10DCD000D4934101477EF6551E1F3E2606840BF95C +:10DCE000ADAB55D2339D4DA397D07D048DA5281E95 +:10DCF000BAB973B514C8E87D1A72C609B85EFD9446 +:10DD0000FAD800A5013644A9CE74D2DB7FB778F0EB +:10DD10004E44FA795A6C13E27585161B8F2159EF20 +:10DD20008F8B7D0761ED1378DEAF447A71FEB6FA12 +:10DD30007D984FD777F2FAA0A66DC67EF258E43EE2 +:10DD40005AD711E2C26DF199EFF96CEBCE2AE4DCFF +:10DD500038F61DB47FD10E73D8D6C5778E760ED423 +:10DD6000F4CD3853FF068FD7C8ED5FB4BFC71B5043 +:10DD7000511FBBDF1B7801F17F749D8BFC016FC8C5 +:10DD80003C4EC31AEFC03A5729F2E1C1AE49140F15 +:10DD900070B0CB15C0769D2D1302767FED60624288 +:10DDA000DE70F102E972D41780BF3D27F8CB8B2AD1 +:10DDB000876FB1A2AB686F2F36CBEEB7EBC78B4D39 +:10DDC000EEEF01C2BD1CE17BA363B6D36E075BF629 +:10DDD0006F6EBB8C5F6A701CBF1720F025E2E51ADE +:10DDE000EA2C84195FFE0DA07AF96127B763855E7E +:10DDF00064E1F3E89B3CFE6BB988075BCAA2012C87 +:10DE00007C9FC9E4A7799FFD2230CD86A7DFAA2297 +:10DE10009E34E124FF8709FFA1BCB8B9D779D42E7D +:10DE2000FF1AB764E797B185A3910F2FEB73822494 +:10DE3000443F93CD9F02F3FDA5D8FF8DACB913ED00 +:10DE40003A6BDF35E84C19057AE86D3FF8F60CE4DB +:10DE5000C7EF09BC9E007BCC7065E0BAC597543112 +:10DE60006EFECD7DD3AEFB0CC3F6C9CEE25ABAC767 +:10DE700034AC3F7749221BBEB3C19F0BAFE51F19DE +:10DE8000090E650F5FD7DC71FF57B5E248CD73BA55 +:10DE90002F578E426FFAC8F7E5CED67EA2CB6067C9 +:10DEA000BA6F77B6F6E7FD9DED2F380BFC89A01908 +:10DEB000453E96DEC75A24C2F92BE7E389D059CAFA +:10DEC0004BA0DC7186F28A33B7C77822BC8F13C1AE +:10DED0004F646FA7C6225C07E3FCDEC77E67F48B46 +:10DEE000685FEDFFA58361DCF2FE7C7608AF649885 +:10DEF0009264A09D1ED1AFCEC3F8AEC8CB8EA05CFD +:10DF0000263615D6FF60FE2EDCC7D35D4EE18F1E90 +:10DF10007060BF913FEAF350DFDCEF4C8DCD47FDE1 +:10DF2000E29F590CE97CF61F534B103F970CD53BF1 +:10DF3000913FFDE4F1835FC17E6E19BA5CC17CC480 +:10DF4000C5E37DDEFFEE133318F4B37FAF9FA54822 +:10DF5000BF49AA685FDFB2CF41FAECADDFF7939C0F +:10DF6000B9E5C9DB1E5E00E34B3FF0133CB39E6C8A +:10DF70007CC445F0B5113CB73C7D4DDEDD625E1AD8 +:10DF8000E063FF3A21E7CCD458BC27719B8BDD843A +:10DF90007A8685078B7EE7FA662B78EFE9963DF95E +:10DFA00014279DA67B05EA57637426BB69E130FA06 +:10DFB000ECCD2EBE6FDFFB80C7AF4A7B0E2CA2F9E3 +:10DFC000F57F99E62B819AF65B18EF06812FA8471B +:10DFD000F3301F95929550FEDEA3129F57FF941DBC +:10DFE000EE321C7F87DA407C8F9FCB58F0CEDD333A +:10DFF000BB1DF7FD5C3DBF1C977CEEF7F712FF5E83 +:10E00000B5C791423B0B52B2B7E6F91CD9F78E580F +:10E01000C427011DAC249609E9BEDB882FAEECEFC6 +:10E0200026BB74D533D9FC00F01C4E01FCB7FEDAD8 +:10E03000115E80F97FF94EC000784E0CEC0EE07A4C +:10E04000C0388B55D8079FFD48C96A87FD7F54703B +:10E050007A7F8C0DD1BD9855FD5D7CBC7D5F781BB2 +:10E06000F58355397CE704FEA3E874BB78A32BF74E +:10E070001ED44B33C818DE336A58399BBEFF24F8D0 +:10E08000D0AD7BFFB4DD84F1DF7BF2DDED786F6135 +:10E09000C55FFEB0FD1B68D7FD9B5B47FEB9EABBC1 +:10E0A000BFDDFE75C0EBFBCFB864A49793CF7EE7CE +:10E0B00091AD903FF9EAA41A09F2DF7171BE76F2D0 +:10E0C000893F8FC67B4C6B9EBD6C0CE261CD537358 +:10E0D000C79C495E9E04FA4ABAECF22E49EB693CB1 +:10E0E00023F18BA2FB459AB33E07F71D2C45F8DEC2 +:10E0F0007F85C74FAC826F2D781ED57F1BDD13C582 +:10E10000FC5AC0F3CAC7D7D3BDA1D3F16D8E9543D6 +:10E110007CBF6388FBCA7DD77CF1925A4C9D6164B9 +:10E120000FABD810C9A1DC76AB5E8675BD70E47507 +:10E13000FC13FB5845BCAF7ABC8B8FDB0FEB183858 +:10E140007D1DDFC77FCC3C7D1D5F386D1D573C4476 +:10E15000B6F6BEE1E399AD75BCEDA92F9DF1DEDC0D +:10E16000C99C7D3C129E9B447CEBBDAEC8AF5CB8A5 +:10E170005F9FF49A215A67577201949DECF84329E6 +:10E1800003FA38EE1C5A84FB71E85997BE13BE2F70 +:10E190007EF6D72AF2B5934FFD5C35E8BC80F924B2 +:10E1A000D00B4FB2F4DF00DA072B79502D5BB5CBE3 +:10E1B0009F42BFC6CAB54DB45E2B9357CF3702F40A +:10E1C0009DFC1D2B937C1FAC4C1EB8561A66FD029D +:10E1D0005A01D77F9285420FCDACA75487EB78E4E4 +:10E1E00072A4BB91D6D19AB78EF3BEC8B69EA69341 +:10E1F000F6ED48FBF3E40E9782F1C8ABC4FDC555BC +:10E200006BE7D3FA5A76C4AAA4F4EBE1D63B7D9E21 +:10E21000F257DE6FD4B411FC5D62DE67DBD7679F17 +:10E22000D75F87B753421FC8C5DFBA0E17F1E7376C +:10E23000A6BA283EEA88D3B8FF2ED89F432F3AD9F2 +:10E240004E68B2A8E66DA731CCB9C9FFE4E84F37F4 +:10E25000B5489D63A0DD4D26972FB9E74EB1B50EA9 +:10E2600066D8F0B3D235F406C6EDB11FBB19C5D1DF +:10E27000FD9B9BECAE55DBDD140F7CF0A9538FA00A +:10E280009C39F9908B71F9C7E31D1B75DEC7DB4F15 +:10E290009DDAFE7FA0FC6D6C6C60FDBB8E7D0DE990 +:10E2A000FD4189FC0DBF7B32EF0206FBFD56A88BBA +:10E2B000E7A88D3FFEC65548AF98C7F3D4466F6CAC +:10E2C00011CAFFC607C7481847B3CA33F817E44B4B +:10E2D000EFFE6B1EAE007BFFA9533370BDDE7DFAEF +:10E2E0000717203F04BDD2B09F232EB7BFDF60D3F6 +:10E2F000FB6FEDDF3880F47F2B96F3FAD2A762EF45 +:10E30000A0FE8EE3A3BE72EB337911F70559F5A891 +:10E310009F55AEA13BC3E49C308B65B20552C5B896 +:10E32000CEB7EEC91EFF0B1A97CBABD4A165BC7E4E +:10E330006F31A787016A7783266595E7B6B7EAD775 +:10E340006BE539FDF0F62BF15C64187ABF59F47B6C +:10E35000EB9E4F260D770E7DFA38FCFB1D12237FB6 +:10E360000A7BC24DF12A2BD4D4C4826AFA1E45FD21 +:10E37000C5CA178B71318F7AD68FC4FE5CE1E1F983 +:10E38000A7459CFE8A00E4115E6DF07B4837B7FD1F +:10E39000C04DF1EAB7FD18F428C0EB6D4FFF84E2E1 +:10E3A000C76FFBF15DB4EEB7B952B4DE434FB81896 +:10E3B000C615BDF7C48B54FE9E33558AE3DEB6DF27 +:10E3C0007DC47EAFD04A6FEB7709A3357B3E6D7875 +:10E3D000EE457E327EEEE510E77478E28CF323FFA3 +:10E3E00035E65F1B477E8491F4EDEF686584CFF4DA +:10E3F0003B1B42BFEEC0731474A86A26D36DE7CFEF +:10E400000AE3F1A3FF9B4377AA33A6A39DAA223E6A +:10E41000012F4E85FB7F9DA1E054A4E7CED0C2081A +:10E42000CEBFA75A9F8AFB73B7A01F17F44FFAF30A +:10E43000A13E3A2FD64A94DFDBF9867B691EC96379 +:10E440005661FB5ECEFD67E847F555C377DB7AABD7 +:10E4500041803B0B5FD9E7F63F4ADF4F331DB89F42 +:10E46000AF7733EB8FECDB57AD735CA59D97E75B24 +:10E47000C5EDBC5CECFF550D7C7F1F5C9C4778B400 +:10E48000F070FDFEF503E88FB97E7F11F969AEF7F4 +:10E490004DFA2DE2F547C85B314E289FC74B5DB85A +:10E4A0003F7ACD1720FF4F4D95C4AFAAFBA3574E1F +:10E4B00081FC8D4D13C8BFF7138DEB455FD9219BB0 +:10E4C0004EE8FF9088C733BF26D17ADE84AE0B6852 +:10E4D000B898192A37CA9384CF25ACDFCFF3FD85CE +:10E4E00018076F6BEFF061FBD5129D13DEF0CB9731 +:10E4F0002F431CFEF7CB473B30BDE925A67A61DCF4 +:10E50000C5FB8C4EEEB611FDED87FEE44C7F69FC39 +:10E51000291AE123831F8DF065E1074692A93C8308 +:10E520005F8A07B7F07BBDFF951B102F6D6EA0C3F0 +:10E530000B313FF110E647926F163CB9F8FD2316F8 +:10E54000813CFBB916F9AD06E5CF6891631AF9B3C2 +:10E55000864A9572F2579DC0FC4A476CFCE809E474 +:10E56000DF9A5488F43630BC7E9B198FEFB35799ED +:10E57000F9EC20F1CF1E3E1F711E65C1FD2AE3FCA0 +:10E58000FD0F5805FA7B3500F300B85E557C098411 +:10E59000F306D6EF44FABE910D50BA880D511A63B6 +:10E5A000BA8A69033EB83081FC279402BCCC4DF096 +:10E5B0000F921EFEE1E29FBF21E17ABE746EF7D298 +:10E5C0004E4B358D69A333F75E1A063F88237C0DC9 +:10E5D000403E280F7179701FBF2509FAEAE2F4D591 +:10E5E000F0DA3B9FD8EB3166E923FCBC24DD9FC603 +:10E5F000DF45B0D5CB9237544F1AAE1FC867C5A5BB +:10E60000E4E60D95FBA7B2BF3768FC1D88DCFEA6CB +:10E61000B8CBD2F132E668DC07D61FEFE7B102CE05 +:10E62000B79728B01560BDA6BA8DECF82085259C5B +:10E6300035997A0D41A694407E49105812D43FFA7C +:10E6400078CDCFCE3346C67F43CFA72E6318B9C34C +:10E6500022CC08CEE0F7DBC87FF042D87491BF34FB +:10E660004A7CEFAFF5DB16B030A54116A5D48AC3BE +:10E6700008B15E4A8B593FA5256C80D2523644A919 +:10E68000C17499FB29F83E2A6761CA57B028A57B57 +:10E69000CBF8BD86A392278CF2E96CFE9965EE72E9 +:10E6A000EB1D86859FC778A9FF724CE5EFFC70F9DA +:10E6B000918B1F87F6F003EDB6F3EEB64735B2E760 +:10E6C000F7AE33280ECEFABECCCDF9DE3237F7A343 +:10E6D000EF5DC7DF2F38FAA816DE09BDBFE9676A0C +:10E6E0003EC0F1E6C65F97635C9855CF5AB78F8EF0 +:10E6F000FCE03C8CE3BDC81D6974D33E48111D5A33 +:10E70000F4B044F3F173811EE77B7679E2724757E8 +:10E7100061FDC3DFF3903E7AFB3D12E9A3CC906824 +:10E72000FF2C15EBF75841FF098C233237B90CDC6D +:10E73000274B7B5C47D0CE60BD9745ECFDC5DD5CCB +:10E740004F61BDF7D339F6D2B3C4212E05018B74C6 +:10E7500099DB0F63E3F2D1AE239F49D63EE77E5C9F +:10E76000EBDD2BEBBB26EE8F0379119F2FBC6E4F99 +:10E7700029FA3F470BFB6CB3C057E11B3C9E7FB3AC +:10E78000F0679F10FDF4BA1DD4AF556FB3580FA0BA +:10E79000E35CFFFC66E453EAB5F5E2F09C9FAF6DE5 +:10E7A000567BEB117F273A5403EF674DD9F3E55BB6 +:10E7B000915EEE95C21FA0BE6DEE00BCE17E6DBF06 +:10E7C000F32A8A633B6F4F08BFDFB20BEC71AC9F3B +:10E7D0007445906FEE13FBB9EABAA6567EDED5BB40 +:10E7E0001DE31D27ED52C3743505E3B7480E99E4C8 +:10E7F000376148C7F06DB9C6E13BBE6BEE19FDED60 +:10E80000288E4C5B1C1CEE3C338BFF14E4E48B73B2 +:10E81000EA9767958F05D88A805F8CF5B1941FD2EF +:10E82000BDADE66C94F75DC0E0D1CE1D870211D678 +:10E8300077ACC24C7CB7088F573C0518EF0BDD1442 +:10E8400050397388F23C481F96FBE7E3A21F76F32A +:10E85000B81D5D197AB1BD0CF779426AF6D9E79F08 +:10E860000CF0C3443EFF32317FE88761BF27DA6B8B +:10E8700074C44F5265B7233CC71F75D17B3BD5C9C4 +:10E88000538B10FF53F65CB11CD3B983AB7F320EB0 +:10E89000D6E11D83D1FB6541D61B28453A4A3A187B +:10E8A000D25175154B3AA1DE5E0414EB25D524AD8B +:10E8B0002F64DD05949A7E4CA3D1CF637F307E0414 +:10E8C000E9B9BA2A558EFB63CA6BCBDFC7EFEF8A73 +:10E8D000757D8C993AF29DE3BBBEFA3FDF84FE263C +:10E8E00077B01A84FB94B3793CEA89CBF748443F6C +:10E8F000AE7646F72D67EF92E89E55F0710FEDCB9F +:10E9000060094B7D16F24D3D2AC5AF34ED9128BF0D +:10E910003CE1A1FCBC5DF9C5782EB3636A7308EDD8 +:10E92000D1EB3C06E171FD279122E43715513525E5 +:10E93000D37C4C17CEB3EBE70EE22F887FAD86D6A3 +:10E940008505207DB8B2FA969B19DE57ABDBDA4E0F +:10E95000F6F120DDCBB4E8689373B01EE3A54E75E5 +:10E96000A997619CDA2614A8173336CD53D5817147 +:10E970006C279E02DE0F7AC209EB3CB02A19B0BFA9 +:10E98000F7C33C52D63DD813E23D2D56910C70F999 +:10E99000970CE0784DAFFDBA1CF7D9893DD3CAD1A9 +:10E9A0002E3CE54CAA388FD97BF2659CE7F224BF58 +:10E9B000977A2A5F9F837ECC5BA2E43960C13DF7E2 +:10E9C000A8481F697C6C4C90DDF145C407ACC3F1CD +:10E9D0004F92A5848F3D2EC2C7BDEA808CFCC37CBC +:10E9E0009A911D71E20BFF7D7417EE27BCAF0AF6FA +:10E9F000C0244FBE38C74D96E23CEE457BC8978198 +:10EA0000BB49E7E7E2951EEE8F353C5CCF2F15F34F +:10EA100084B173F948A907F988164DB5439556EFA7 +:10EA200055740E37C923E2B1B524C5C10FD3AED298 +:10EA3000837EF90537A4DA8D4C3BC057A95DFE4CA7 +:10EA4000F8EEFA17BE69FC23F1954D3FD6FCA728D6 +:10EA50002C85EF96315FB81CEF8FCEF570FE6F9569 +:10EA600033162EFF920DAEB9023FF77A4479156F37 +:10EA7000972917ED03E25E78456E39C7EBA9D7EF0A +:10EA8000A27BCE65BB78BC65537ABF4C7D6717EC23 +:10EA9000A3E03E8DFC9CC1E43DE4EF3F956FAAE806 +:10EAA000EF5E9E9C2D617E5E54CF9A67EEFC509E79 +:10EAB00022BDDD67E9FDF5B524474A34D6AED50C55 +:10EAC000C757B95F9DD507495FB5F8DB88FAAAA893 +:10EAD0007756BD36048ACB0CAEAFE29FABDD548BCC +:10EAE0000CB237A9FD85C1E832A407A3429F83DF9A +:10EAF0002F732CA0F8182B9E23B7DFCD71B0E880C0 +:10EB00009EEF8D6BF8D612EB8AEB94DF140F519ABF +:10EB10008C1BF43D2ED601D04DF272839093D63BE0 +:10EB200023778A75B052ABBEA5DF29551ABD37A130 +:10EB30005475925F46A9E0EF85D9DE578A23DC60E1 +:10EB4000100C1FD70B7A1BD2F37A29D686FBA46C44 +:10EB500001EFAFAC9DC7213C24E8EB64CE7B76DDB2 +:10EB600062BF757B443C82D07759889F9FBB4AF82F +:10EB70003B25569E29B1D233C52703FE07251BFE30 +:10EB800033788FDD87F037F5E6CF4177AABB82C7B0 +:10EB9000CB5AF81F695D2DBCE3033038BFE002D6C5 +:10EBA0008BF3B2D6A52B1EA3F24DF1264A93F16644 +:10EBB0004AD74BD18771BC60F4CCF3DF23D661AF69 +:10EBC00048CF759E1DEEE8F73DC27E22FC87CE3110 +:10EBD000DEE01CEB1DC5B8EACA8C7EFD16C6533BB1 +:10EBE00047D6B3CD39919A17F9F927DD53B8438E3B +:10EBF0001D42F84E7DEB163A2F50125353E8760320 +:10EC00007DF779A48F863CE3439447CC5C7FD94B56 +:10EC100050D0E0329EC67C7DFFB2CBE6C302358C7D +:10EC200031EEC4B86AA7F75692570DE3B9BC2AEA89 +:10EC3000BEAF03E37B7B3D919F7948AF77E6E33B33 +:10EC40001C96DE39F2BCB2DFE1A845E701E11B28E2 +:10EC5000DA462F4027BF199E4E7CA44FFC7101233A +:10EC6000B93ED2389BD274A1510AFBE1B708E7A89C +:10EC70003AFEBEC6A80567A68713820EDE13E927F3 +:10EC80009E743C12D1835B1EFE7EEB1F457D6BBFE5 +:10EC9000033F4BD8F99EC507F31CDC6F78E0D2AD7B +:10ECA000377C1648C1B56B6239FA8D1F1DD75B8C56 +:10ECB000715A69FEE16C0EE1396775C9878BF0FD09 +:10ECC000BDEA0A96ACA434555E16F8FBF11EF34477 +:10ECD0005DDEE919BEF10FE82FDF4BE7D0D09FFFD3 +:10ECE000EFEF0FF045F200F55355E859F8941D0B7E +:10ECF00087CFFB47F4FFFFABFD28163343B0DEA3FD +:10ED0000449C98AB671D433904747A31AE87BB6F5E +:10ED1000878974EF65432F286519FA54C7F3F87F84 +:10ED2000ABDF855ECEAF177AA5F4BD2003E4C24405 +:10ED3000FA07CFF7407E12FE03F6FF24711FA88A60 +:10ED4000F5921D7F1EEBA7B49A0D507A011BA234D9 +:10ED5000CC7407C533B0B043C47FCDC07485167B77 +:10ED6000084DBDF3B4D817114E8CFF427F53AB77DB +:10ED7000E5C5B89FAEF50A3D2CC78E66E23CE46C53 +:10ED800076751E8BD413FD8CF44E281BF9DE53646C +:10ED9000987B4F7FC3BD945B715E23DE4BB9D0F887 +:10EDA00040467EC97E42FCB26092F104E6FDF73E29 +:10EDB0007319DE3329C0DBDEC50055F7BF3F8FFA7C +:10EDC000BC737E84FA65ED6CD877CBACD43986C73A +:10EDD00021B6E75FA7533CA2C6CFFD14E1BFB2EA5C +:10EDE0006D40A76BE1E9EFF5FCA3C7C9EDBF468E07 +:10EDF000F6703EC1F58CA4373B8ED21ABF2DC8FAEF +:10EE00001D208F1CF9FC7DC25C783ABC8BFA8132E4 +:10EE1000D2F3B0C6B3DE8BF81BE23193482FA7C7FD +:10EE2000637238613FEDA272D19FA267C763E6E2C9 +:10EE3000E77B623F7DC51B7914E76B8B63DCEB9D41 +:10EE40003E6C1CE3F7F03BD0EDF7397E86A7DB0381 +:10EE50002F3DF9B38BF1FE443ED7AFDBD1A0C7F312 +:10EE6000C01D0EBA37FEAE1EF14EC1FB0E7796F3F3 +:10EE7000F7CD841FC8BA8FAA9CB7AB770EDEC30943 +:10EE800093B466EB07CA3DA87FEF4C38E85DC1EE4E +:10EE9000E7593F9E17BB84DF66766014AD4FF79449 +:10EEA000634538DFF51F3928CEEEB9291F16A19E1C +:10EEB000F5D08BFDF4FEF787535415E38D8EF9B929 +:10EEC0001FA77B875A4F71828CC3B7617394EECBB7 +:10EED00059F9C6E0C2DDB87F5EF72B54FFDB6B1635 +:10EEE0007E79522DDE8B4586417877F0733D2B3548 +:10EEF000B3F2B9F80E88F3B4DCEFFD01CECF3AEAF5 +:10EF00001492F74B6B658A875FBA0DB00FF58D359C +:10EF100032C521196B7E311FCB8DDA398A04701A04 +:10EF2000A1214981EF27BDDC5E1ABF660ED9310DE4 +:10EF3000BD12D5CF1DE7A497C7D38E5F3B20FA91B2 +:10EF400029E6743CF48376DDD9DA1FF3F2F72C3628 +:10EF50008AFBA920AF3BE722DEBE9D2F992C53EF01 +:10EF60002F823FEF84FE793C5594EE2B7D3B9D6FC5 +:10EF7000263B72FBE4EBE6A0DF62FB664EEFBE6D64 +:10EF80003FD72E86BC2FC9B16B9883D7239C1D2DEC +:10EF90002AC1B9416AA67380EE29EA95B83E460FA8 +:10EFA000AC834429C1BB61F287D27248271C62FD41 +:10EFB000F7A0BE88170F01DE093DA04FF971BE61B1 +:10EFC00019FD1DE345FDDCF9DD14C8F64B8E17FB7A +:10EFD000B03221F37558CBDB753BFB43A36DFB6966 +:10EFE000470E3DE5F6FB9F627DB63B613E00B75A9A +:10EFF000AD327CE7430E45E7B8919EFAE4F0153058 +:10F000004E77D701BAB7D53D9573DD0D5F5B1642DC +:10F0100039D63D9D1523DCC7055D9A097E4E963B8A +:10F02000CEED7E0EFF893E99F6C9D175C78A903E16 +:10F03000B6FB8DD260359673388EFA7D04E789BEB3 +:10F040009AFE16E8EF846FC568C9B0F7C3E9A44219 +:10F05000EE2DC67B8997F68CE96C2F813CEEE38B15 +:10F06000F17C777C27F2FBE38F3BC4BB34036E5CFF +:10F07000CFE792A3A685719FAF55291EF82169F5A8 +:10F0800055B85FCC7532C53B1D8F597EB930F9E557 +:10F09000927DAD01E4130FD72AE4DF0AE5355CEA7F +:10F0A00003F877F78CF2E0F7AE7659C2EF151B6BD9 +:10F0B0007E5A05FD544C2FA07AF4A61FDE2B15EBCB +:10F0C000B3FEA37FD942E733B51ADB2D65E4A6F57D +:10F0D000EE7D800D15215F0B245C641FFA7B5FF9C8 +:10F0E00006CA4B7FC245E7CA50CFD754C0D3D19888 +:10F0F000F6C9A919581EBAEFAB78CEE31D9053CBD1 +:10F1000020EF2D918F2C813410E6F787FCE2BCC8EC +:10F110005F673B87A1FFF3F73D2DF8FC551E6AF7AB +:10F12000AEB57E3D2AAD1F13EF853CD43529897CD1 +:10F13000A75D4E6EA17B94178BDF5D50C2C578AE84 +:10F14000F86EFA5C91E7DB855F1ADF5BC0BCF7F015 +:10F15000D0429C8FB7E7D88D98427FC5182FEB4DD2 +:10F16000FCEA1B04BF38AFF2D666C3F9B340A4C9AA +:10F1700067D3270216BEFA647AEF73EF3A0EDFDB2D +:10F18000B7F1F73E027855B4C0368F66C6E7C1F8CE +:10F190007DCAB1887BFE56662DEE1F6BFEEFF53BF8 +:10F1A000A8FE834BF93B27DD4FB1C7F17CD02FCEB2 +:10F1B000C7D2F2E14B300E94FBAB3B57D33AE5E0BC +:10F1C000B5D3974F74F9EEE31302C8E7AD7BF2D6DF +:10F1D000F825387E7926FF20E3F03C71A8E04A7CD0 +:10F1E0000A73DB8A727A2F5091797C28FDC13A0527 +:10F1F000B11D9E1BE95A6432C0F3793FE75F4F08A7 +:10F200003C270FEBCFA1BC39F0D31B3CA8175DED19 +:10F210000FD13EDB6D9607ACCB2A78AEA68BF18E74 +:10F220001A4680E257D630DAE7FA362982F799C6CD +:10F2300085845CE991F87B3062FD97CCD369FD5100 +:10F24000F0CB33D0BBCE48C9D67BD6ADC67583A133 +:10F250005BEBA09FA3212380FEC7B75B648A935812 +:10F26000C20C99947185C9A8EF2D59ABA30F866D77 +:10F270000F0DADC37DF7B6C9748C1342C0B0DF80EB +:10F28000802F20FA05FA09E0B95679CF286A67E19C +:10F29000037DBA88C79B4D46713047F5F02684F34D +:10F2A000AD6D12C3F73ADF2AE170EFBE83919FFB89 +:10F2B000E684B91A3B6F0C0DBE88FCBCB15A35F818 +:10F2C000FC8C4D08D7B84401F51FE87BFA2EF47783 +:10F2D000DF5C0D692033DFA502AEA56B4C82EBCD60 +:10F2E000128EA7DDEBA0FF32BC8799ECAD42BCAD1E +:10F2F00085F9D0E21A3FC5718C96D106E12DCAE995 +:10F300000496C2FC14FAC99F9F4D377911352BBE64 +:10F3100089D5F1BC82BF1C80E30AB8ACF9570A78E2 +:10F320002A81DFE3BA559A7C7E378BF35619DBC10D +:10F330007C2A5BF83C96F6658FD753B56B00D7DF18 +:10F34000BB4635248E5703F9954FE0D557CDF1EAEA +:10F350005B23C60DDBDA43F99B2F3213FDE25281AA +:10F36000C6F13055A5B82B50BE172DC77DF72D1708 +:10F3700043FEF0D6273C7EF7A1A9EA9ED661CE8D4A +:10F38000BD87B91E38B63967FE0A6817367A00BEDF +:10F3900017D1E8F7248C771BA17FBF29D3BD86A2A4 +:10F3A0009C7364AC970FC4E95F3B7A0EEECF805933 +:10F3B0003047BD20A36F4DB78F8F47332FF17BFAB6 +:10F3C000DEC3D102E29387B72E94210D1CEABD065D +:10F3D000F385B9FD1F6EA6F8A02F0626D0FEF363B5 +:10F3E000B400D60F1FFB26A69DC2CFE0C519707EC4 +:10F3F0007D0853BF8F99DE1ACA9B520DCE4B61F325 +:10F40000E0FBDED9CD747EEABF9011DF2779C0EB37 +:10F41000A530DD7481F87E3856A0536AE83CD529C2 +:10F42000EDCCF9DD9C8DA2FE0FFDF2B0EF73FAEB8F +:10F43000FEE2B2D341BB7F80CE95CC2E17C9A53654 +:10F44000A7B11D7F8FA3ED291F7A82D9A3F9BDC56E +:10F45000F85E52BDD0FFACF158C9B5A4D762C88FD1 +:10F46000C4EF8DD33A9FE7AFDA81F43E253220AF67 +:10F4700026FEC5E31FBF7D88EBC31D6CC05D8DF20A +:10F480002324D3B9D4DB424FEEACBA93E24A9315AE +:10F490003E7ABBF6523F3FA7786EB2EAC17DF5F0E7 +:10F4A0008172D2D3934A6F33C2DB0FF5709F3FFC5A +:10F4B000C3D8781DF5EEE78DC7911E77BE18CB7ABD +:10F4C000473357DF05B4CA420F96304E2D173FDE43 +:10F4D000C2A312BE7B33BE2569A25E1E6819A4DFDB +:10F4E000B131F087822E4239396062DE2BEEE71AA5 +:10F4F000B5FCBB512D527C8F600CC65FA5B89D5BDF +:10F50000C2FDE31DC19D05A82FF4EC51688D6B77FA +:10F510005CA37D01F9559F6CA0FCD997B4F414A0AD +:10F5200076DA84499AFF5B61798E1FDA3DF432A363 +:10F53000F7AB1FEA9B330AE5CA487CBFD73799DB94 +:10F54000E506E75B41C1A72D3990D49907E3E8BCF4 +:10F550002D4C473BC32BF858E53689E41A6106E485 +:10F5600044BEE003F92D9CBF807EDC8AEBD3B84615 +:10F57000177C18E407F173467173F9DB38BF06F99D +:10F58000B181E40AF27F8965E44782CB8FF182EF93 +:10F5900037F6083E29F899259798C2F97379B5E0AE +:10F5A0009B82FFE60978F41E0E4F1ECA0748F50439 +:10F5B000E7C764908ECEC8A5BCBE7EE27BDFF6199D +:10F5C000FCBDAE6ACEC78A7EAEB4D6199975017DF0 +:10F5D000E58CBF73D1B16DC716E4374BAB5452EB1A +:10F5E0002AB7AD9E8F71714B5A0CD22296B40C493A +:10F5F000780FF5657FB65E6EE975E3ABB93E7E5C6C +:10F6000089A8A8371F0FC754B227055E3A0B1B1EE7 +:10F61000C179FE46E8B3ACB989EEA5107F07163371 +:10F62000BE8FCDC175BBA34B6E45FDB2D2EC271585 +:10F63000C682B3CF1FE0E7747D43EB709F80FEAFBF +:10F64000E3B84662E1FC49641FCACC3070FC5464E4 +:10F65000128DCFF47546A67D8FDF2BECAD249DFB7C +:10F66000EF4E801D538676137F6F657C580E231FE7 +:10F6700090D71A9DB81F3A25632BC6859B5354E239 +:10F68000EFA0F7D3BE4F16A93B919E5810F43DC092 +:10F69000E7381FE717640F803E5EEEFBE1E5E89F69 +:10F6A000B6E6A78A75AA0CC1FCAA33F31B9F33BF29 +:10F6B000425F80C7ABAF8DB6D2FCFACE6D7E95A20D +:10F6C000BC32F8A45732ECFD9857915D9974E878F4 +:10F6D000CE6C249E8B103D423BC3389D0EF608FC39 +:10F6E00014E29E2C1C4E8F3E731CD463E23D3AF311 +:10F6F00002EBF7AE72E49FF0F37873E4CCB381B21F +:10F70000B47FCDB4DD377E4CE1FBF5B16A96447C25 +:10F710005BBF7384D72A31DEC9FBB86C8E81FE7C57 +:10F720008F73FDD8DBAF98936C71A9DEF05FB2E206 +:10F730009C46A1023C9C3D29ECC8CA3EBEBEE343A8 +:10F74000CB1EB1FF1E53879FDBD91D7EEE5F1CDFF2 +:10F7500017233B70BBF5EE60504E72FB91E7C17E04 +:10F760004C5E817A75D78EDE3936FB711CEECFC2C6 +:10F77000D3ED487C62B41A50904C1E23FBDA047B14 +:10F7800014EF0325CDD6E25B900ECC682DEAC90DAF +:10F79000D58FBCD280A9C9E175B308F1752B7D5D09 +:10F7A000D8D716BF67E27BEE3A5B71AFE103EDA3FA +:10F7B000AE0A22BF0E529CEBAC0F946014F2ED3AED +:10F7C000CF3B02FC9CD031C87FC7C19152C93EB328 +:10F7D000FC5F8ED7F8BD13DBEFED3802B88EEF6516 +:10F7E000FBCDD2BF1BB2394A767BA5F09FF4A7644C +:10F7F000F21B2483D1423BBECF0F70FF8EB35AA5BC +:10F80000FB85DD53B37FB76B5C80BFEB3756C0A77A +:10F81000A4387C1B50BE825C5426F347329C03FC08 +:10F82000BBB38FF1F7544686BB388078FB38DB5F7B +:10F8300068C10D707AB0DEDB7E3DCBAFE5D9CCE997 +:10F84000C59774501CC7FABE28C9B36E27F76F3529 +:10F8500006855F61DBD573DC901F877E05E8BAE320 +:10F860008E54965FA1D3692C423F76F7744EEFC950 +:10F870004299E83D979F20DEC8FF02E3A1BFA9831C +:10F8800025A364CF432FC89F7626383E2BD7B07C64 +:10F890003B3E2F0A70FD689CC0672E3D1842DFD9A1 +:10F8A0003EE5BA0DB85DB623FCB576BF08E78F0D0F +:10F8B000610EBF45C7DD5D471E4079D13D590D73CF +:10F8C0007F7F7F3DCEAB739D4A72D2C23FED38BB86 +:10F8D0007FBC84EB134A42D015FE7E53D9B0EBF2C5 +:10F8E00005A2A78F86A7A7E784BF7FDFC02FDCB163 +:10F8F000EA91F5514BEF3C4DAFF4F379F815509C7C +:10F900006A327AA6252F3BA5DEFFBE14F5C5DDAA17 +:10F91000C1FD03495A57C7441FCDEF31A5DF5343FB +:10F92000CCCAE4EF62093A7C4BE879CA3D17919C56 +:10F9300077AEE1FCC9B94D3A1B1DDE7A263AF4F8E0 +:10F9400038FFF27F54C622A348CFE7FCB68EDBFD1A +:10F95000FE24CFFBD7F23823FF4715542FD73FD3D0 +:10F96000EDE674E6DFA4D2EF3DE05F967F46F865F2 +:10F970002C3FCC69FE991CFF4BDA2F93E3AFF9BB08 +:10F98000FD32C2AF0678273FCC43338D30DA4119C0 +:10F990007FCBFF737FCCD6C0DFE08F6139FE965CF2 +:10F9A000FF4AAEBFC6F2AFE09FDD6F938BAF228CF4 +:10F9B000A375A0BFE560E033D0FEE80A99E2F1DB71 +:10F9C000851F30EE9B7BB9390BE82BC57F1F46198D +:10F9D0005238FF1BE4769FB5CF14E63C62E7E7C3DD +:10F9E000D0E17E9AF7087CFC5571FEB8779DD85718 +:10F9F00022FEF8B1C79FD4307EF3DF853D9696D7BF +:10FA000028A76D72D987723A700E725AECC35C7E69 +:10FA100095ABB76EAC63FCF770C4BC0362DE796271 +:10FA2000DE0131DF8DE29DC6C0AC6CFBFBC26772AC +:10FA3000EC711117B4518B04AFC6FD354BA6F8D449 +:10FA40008B5EC9AE37BFECF9E0350062DE4C59DCA5 +:10FA5000E312ED7CACF05A5CDF3A85FC869F399E60 +:10FA6000DD2E03BFA8AF73B83EFBD159EA05B97FBD +:10FA70002D17FEB99A6B78F84391C22F0533F05FCA +:10FA800011CAAE57BFF8F9C22F0F077F091B5D5F80 +:10FA90009B81FFCA2AD799E13238FC5FAC3B4BBD52 +:10FAA0008AE1E1BF66FE08F0570DCCC77B3A5FAE36 +:10FAB0003F4BBF625DBFD274E67A37B5E48E630E0A +:10FAC0007B0F616F6BB409E3CEA63AFE105AE83B98 +:10FAD000BD9FBB2559DCCB19A2DF6FB0CAABF3B811 +:10FAE0005DF4665C6711DBEF996EEC997A39EA3D5B +:10FAF00079BDB33B315DDA338A45868133F0D10479 +:10FB00001699661F2FC9F9FDCC41528A031F4DA4D7 +:10FB1000F237E31AF58FE3A33D777AFFDE11FA2F70 +:10FB20003A4BFF25546E3FEFC67872EBBCDB91B7C2 +:10FB3000FF04CAF78E1295CEA5AD38F6DC7DE92C10 +:10FB400051799C79705E247DDF09F4B1F9795CCF3D +:10FB50007062FC38BEDBBEC741FB35B75E9B6CC52F +:10FB600021C64276FC46F3385FD1920AFF1D2A2552 +:10FB70009615DFDA24F0DF26855FC1A723CD71FC5F +:10FB8000772BD75F92AD3FAE1070DC98E710FA325A +:10FB9000FFFD3CA7EF8557D08E765AF10141252B0A +:10FBA0003E60051AE6543F45F7892CBC8C54BFEDE6 +:10FBB00012467CBEAD9025D7959D7BFFD13C83E05E +:10FBC0009BF2B0CA9D1A63557A1FC09A6F9BCCFBFB +:10FBD000356FE7765689C6E37C40FF89D0BD294959 +:10FBE0004B5AE72E781F6EAC80737D25DB255F486E +:10FBF000F12C875C747FA43984B69459ACD2FD8013 +:10FC00008A108FA3ECBC8799E550AFB3C367BA5095 +:10FC10009FF39727D14EEEFC848FDBF94F06F999BD +:10FC2000592462044767EE8B60BB026C3755D45B86 +:10FC3000ACD3BBEB456CC08D72CBEAFFB47B02FA50 +:10FC4000B9FD5E5179974271147F649E30D25F5B3B +:10FC50007EB30B43FE77093BACC5E721FFB4D50E5D +:10FC60007FA7D2FE5E6FFB08E7EE2B0BB81DF16895 +:10FC70007E33BD47BF575A5D6FBFE721E773BA3A7E +:10FC800029E88FD546351EAFD4FE0B8C9FEAD4658C +:10FC900003FD449D7AAB86F74B3A13B28E38D919DF +:10FCA0005AA8DD82EBD123EBF81EDCCE50EB2F30CF +:10FCB000EEDB84FAB89E87F406BA77D89E90A7D177 +:10FCC0005B812CB260AAE58FC2F63D32D7EFAA580D +:10FCD000B212FD7F3DE5C54B00BE897A0DF9110ECC +:10FCE00075DD29239E41FEB13112CAF59489EBA43A +:10FCF000383EA69F39EAAD95AFC66B343B855E7C36 +:10FD0000B9A3BA18E1DB9454648C9B3FB0E3D8618B +:10FD100027FA1B6B653ABBCF17BF93F68BBC326ECD +:10FD20005789DF93DED8C3ED50CF4C95CEFBF479E5 +:10FD3000D9EF3DF86665BF1BBC73476731F2134FBF +:10FD4000CEFDF003332716A3DF6EE7F5E1625D9C7D +:10FD5000F7A46664DE833CBCF13A8A775672DE1DF6 +:10FD6000AEAC1AE0EF98D4FAE89EF87FC0FEC5FD6D +:10FD7000B2478EC86857996FF07B82BB9CA6CBBEFA +:10FD80006EBF1BC5F7F986380BA37FB2AA4C8ED283 +:10FD900079B1D017419FA6F86F6B7D73D3F2AE791E +:10FDA000677C0754D10EA6DAA79D4E5F9EAA011963 +:10FDB000DF4F99B04F9FEA2DC3F36EE39941C4FB27 +:10FDC000ECD2A9683A59F4F6C2CC63F4BBE3B7EFBE +:10FDD000F591BF37EF35AE5FEB222E66D381EBE9AD +:10FDE000F772F5966018DF3FCB334687F1BD6E673B +:10FDF00015FFFD5E4F8B1AC6F7412FFF7E75D6FBB0 +:10FE0000FBB9E9DD713DCCDFA5D3C2F84EDDDD8263 +:10FE10001ECEFFFE02FADD49AB9E4397B2EE992952 +:10FE20002DDDBDF67B50BE7C8E3F903B59BF33FD30 +:10FE300023D1CEEAF7FF027BB2FE4700800000002C +:10FE40001F8B080000000000000BED7D0B7894D59F +:10FE500099F0F966BEB9662699994C92C97D12123D +:10FE60000898C024863420AD93102040D421200669 +:10FE7000A43811C4408004AA15B776192040C08068 +:10FE8000412302157792888BF5B2C1F58280FD4738 +:10FE9000401B2FED46516A5DEA0ED45244C478A946 +:10FEA000DADD56FFF77DCFF932DF4C12A0DBFF7FA2 +:10FEB0009EFFF99F8D4FFB71EEE7BCE7BD9FF79C5E +:10FEC000F9EE3BF8BB96B1EFC4F7B04D626C3C6302 +:10FED000ACB4E7BD4A27635DDBF4B6AD6EC62A8AD3 +:10FEE000F2D2969532B6AD556F334071F79693AD19 +:10FEF0000BA03CF09696E5637ADBC8B42596483FA4 +:10FF00005D12ABEB51A5956FAEE87F7F6A608FE421 +:10FF10008186ECB9E96FBA206D0AEC61980E3CC39A +:10FF2000D3508D4DC4F40BD3BD8590D6C1BFD3182B +:10FF3000CB6EFFC7E9014CDB03F33536C612373F02 +:10FF4000B6E5782AA4F303EF4B909E9BC84255E593 +:10FF500090CEE1F57FF040426B00E6B1BF88A72765 +:10FF60003F7098DA77E17A60FE719D7A9C04EBEA43 +:10FF70006C7130A8776FD19C343794EF2BEE7731CA +:10FF8000E8EF5BDBDA5E23F41FA7CC87D5577BA1B4 +:10FF9000DE3E89F737DAE6AFC6FE003E0F2D40F8A9 +:10FFA000F4E93C089F6DBD37CE6790FE12E0C56056 +:10FFB0002E5D9961976F08786C5DEBF2B401005B80 +:10FFC000F0AB8BE4C715B83C4F1A696AEC3BF89F5D +:10FFD000CE169DEE92C234BFBB617C19E6B75D17A9 +:10FFE000DE85F05BDA5E5E2D4F80B435EC4278CC76 +:10FFF0006BF7F0F2243E5F1628A0F96F4FE5E90A8F +:020000022000DC +:100000005B5E35C227761E5D3A779AA7F00AE62135 +:10001000EAFD77D7311C1CAE74FCFF8FDBCFF7589D +:100020002EDF3E24E869D87E72AEAC9FBF171FFF5B +:10003000A7FDFFDDF677DB72699F2F8F0FF07F4002 +:10004000EB091AE647FEDBE679C6585F18E9E74C8C +:10005000A286FAD18A7A8CF5309F15F8D983CF1B06 +:10006000FD50BFFB9E3EA357CB586BB0C53103F884 +:10007000D7F60E8D477233565054F27A2EA45BDABF +:1000800080EB42BAE52FBFEFCD05FED952AEB1AD40 +:1000900087F436DB3394DED8CAEB773B35D541188D +:1000A00077A3B3C4BC48C5F7BACB211FC7693BE3EC +:1000B0005AA29AD77694179066F730E6857EB66690 +:1000C000E4766DCD8994FF2A51A2F96EDFF24CF5EA +:1000D00068944B3658078C737CC2D4DE6B719E36A5 +:1000E0008DDB00F58FDBCEB48EC079D6683C062858 +:1000F0001F29D2236A640F24D9285C32B48FB7B188 +:100100006008F97247C95123946FAA06EE0915E2F7 +:10011000CB7B5623DFB6DB2C4C8B3CDE02C2A80C1B +:10012000F2058C5F2EBCB5F75A68DFED82F1A07C3A +:1001300013F36CC5FE036D1AB6CF4D55ACC56534CF +:1001400004FD4DFD17582CCA857216C4F9C9A7A61F +:100150007FC4C632F660620EADC719AEAF61F13032 +:100160008FD6921923A0515BB9CCB4D04FA24F3E89 +:100170001356EDABBD1AD20591B445C7BCD8AFE557 +:10018000FBFA6000BA8A67AAFA384E4C5A81A3A5D6 +:10019000D0E8C953F5639B648B4ACBCCFB6F3FC55A +:1001A000F6C699BB3FBC1AE6F50A7B942530F68467 +:1001B000CCE1D6ED84F160DD2D3A8F7926CAFFF1CE +:1001C0001A1BAEFBE3B5BEDD2DA808B43FC4583200 +:1001D00063CB706CC85FBEBF6F861DD6B7BD54437E +:1001E000ED37B7CBC15112E907940E6CD404499690 +:1001F00042FF0E58CF466B4610F7FDC0537A825B24 +:10020000C06A0CE643DAA46D37B2118CE5693CF79D +:100210005540BAF7E9317B1AA0FD6ABB99F6F98916 +:10022000A7CDD45F4B92BE539B83FA82A700E5E330 +:10023000A2FB8BB79840D61DD048427E03DC403FDE +:10024000E841B94FE9BFBC569507E30EE81BDAADAC +:10025000A86FF4C822CD1C5B2B207DA052499B6760 +:100260007827617F8CCB53F8D3C05A0FE895F6C737 +:10027000A73750B934536B67EC7147CA164B6A64A1 +:10028000BC713BE6BF1680BE7B8CEC5E5A7F1BB315 +:10029000E1FA356D81B8B19036B46AAE9E06DD18CC +:1002A000429AC41A84F7164D198EB1D136A68A8D9A +:1002B00083F484BE924280CBBEE72C2C00F9FBACC9 +:1002C000963AA4A7AEFDDAEAC7E07BBEB5A47929C9 +:1002D000949FB72C4F463A7C42F6D4211C9FB02CF9 +:1002E00049C67D0B246AB97EC7401FB1223CDBD3CF +:1002F000504FF0D9BB5A5B32202DD6F193C4FDADDF +:10030000A427D97AAE47BADF96A16101A473E76A40 +:10031000A30EF7A9000000702ED67657E76079BECD +:1003200086AD57F1B16D9244FA5F5E926306AE33CB +:100330006FA343622A3C7CC1A121FCEF429D0FF7D1 +:10034000D9C9041EC07C20AD7BB4CC837860B0B129 +:10035000125CB72EA3D9EB1D427F7A55F4C3804CB3 +:100360002D6582A5C13C93CA4FFE04E9AA45EFD989 +:10037000437877A311642174FFF4228941938F6D30 +:100380007C5C79A19BE827B9431FD0427D59C366A5 +:1003900062FD8D19CCB60E594E87FEB4762CF13520 +:1003A0008EFF7E16C47524B76A4E1BA07E52F8B32A +:1003B000B548CF296D9A901EBE49757AE656D16D23 +:1003C000CAA98FFE8AF34861AA7C68FFEB78DF2A0E +:1003D0003BEC832123CCFC853CDF05F38F13F38FAB +:1003E0006BD5040CD0DF53EBF83C37DFCD82387F80 +:1003F0002837AE71F0EAC897F482CFEC7B8E3D8946 +:1004000070D21BDBFA701D0370BD83C355DFB16969 +:1004100015AE435F08F350D1FBFAC464C2870CD613 +:1004200023217D7DCC58758F988F0C4599B827B0C6 +:10043000F40B3D274CB75A109ECD75A8C792AE0E4F +:10044000E327325EAEECC7FD76AE8FC4F69325FA95 +:1004500051D27B45BB03C71D330B01AE8FDC915BD3 +:10046000AC65047FBFD20EFB77623B9897D366F4EE +:100470008E86F97B1279FF07CCCD0D43E9D3E34596 +:10048000F9C6D7584002781C58EF6EAC47F86DD7C4 +:10049000B02EE8EA65E0D308977DA59C1FEFF372C4 +:1004A0003875037F463CE82EF09C20BA5B9EE759E6 +:1004B00027A61180F9DAF11F2082BB3D3E86FA940F +:1004C000DDC9BC26807377868FC343EE63B3809EFD +:1004D00018EC3152AC45D4B7970656217E741BFBFD +:1004E0008C2052808EDCC4E7BB1F64B62E02469877 +:1004F000B71370B109B858CA793B5B071F07FB45B2 +:10050000BE4A5B0F80B2389FBF4BC2F236FE4DF43D +:1005100045EF2BF123C4FB65803712CA8F68BCDC22 +:1005200086F001BE9E26B36A3D742A398C1CBF6FCB +:1005300003B8407D8B37A63F73DF7BC86F37EFD49E +:10054000B32EC0CFCC35D1FDA576245722DEA5C76A +:10055000E0F97B763BED476AEF9E5A0DCC73FB6268 +:10056000A6D1E2B82CE06D70D0FE3C81F27373B27C +:1005700086FA4D733A2AF5F1A8376848BEE916178E +:1005800076A11C56F657E7F4B19242AC67AB1C0952 +:10059000F59E70083C4F063C87F1D27AFBEF447A17 +:1005A0004B6D889E1F53CF4B7BF9B4CE180F0C199F +:1005B000BE31EBF999234730198E1768EB21BD0244 +:1005C00007653EB0315BACEEAD05389FD1B207E5B3 +:1005D000A20160960173D43DA909A4407F86273902 +:1005E0005DEB7AE4C0A878127B5E84BF2EE35B8368 +:1005F0001ADEFB9F2B243BB44BC7F522ADD0E7148A +:1006000038343BF4348F6607D7E72A5FC8986C818B +:10061000B1B6673292878C1D24FAF9B1987B8B268C +:10062000BC2B0EE5CDFB06B25D4B7A03F3DF80B445 +:10063000D5C96CB8FCCD72B3D1AED2C7A08BA0C661 +:1006400075F9AFA21F0CCADF32B500F99A92EE0914 +:10065000E59A31AD0B6914B9E94576A092CB01E377 +:100660002494BBB6AB64E02D1B1DD55B74999790A9 +:10067000B3ECFBD31B405E156728E909D3BD20C747 +:10068000BB8CB6AB6CD07EACC3FE9AF1FBD05FA93D +:10069000280FCC798DE47A8C1C2ED2F68D3102D1C4 +:1006A000ED6CCFDE52958974E636E33E5E76DDB2C0 +:1006B000DB8CF4DC1572F0F1EEB74F378DBFFC78B0 +:1006C00000AF1EE44B5D5B4E12DFB706F5DEE010B7 +:1006D0007CEC1AA447E8EF9938EF78C7F8CBE3C36E +:1006E00035021FFE6CE77A729196350FE57F99E52A +:1006F000E0FCB1A85BDF8CFA79E50B16A2FB7D5B11 +:10070000E63E8A745F396AC19E385843D76F6FD20C +:10071000217FBCC12153FDAE17FDA36CC497DD69D9 +:10072000081FB46F69FDCF2D2066170B1F1DAEABE0 +:100730007070FE348749E81FEEF9479D340F86FE3E +:10074000A5A7D6033F2F1C3C5FBF83AFA7652D2015 +:100750000C29EF61B257F2EC5E2F8E1BEFF405F01F +:10076000AB037BC03B843D257F93CEBC899174A7AE +:10077000CDCB5821E66751FEB75ADFAD08DF3DCF3C +:10078000975F0FEC9AEDD1B00684EF8404EF62CC52 +:10079000FFB2B5B400F978ECBC946FCBDA5008F531 +:1007A000DE81B46E68BFD743091CEE1ABB8DAF5F04 +:1007B000F614E03A62F1AFA49411DC649955215F1C +:1007C000F85BF1597BDC7C1AF9B016F507FC9EDA70 +:1007D000FC19CA7DB0AB64E40746C1AF4A34FEF5EC +:1007E000B83EFD415F280ED25A8B97F051A1538538 +:1007F000AE563BAC5B2ED96FC3A07EB75DAADF03BC +:100800001A5B230AB95B99C5343553D56F28A6DF27 +:10081000E641FDEE72245DA25FA19F6F7498B7045C +:1008200032506F023D65087C3A6FE7FC32964FEB21 +:10083000904F9770FE9C12CFF935CEC7807C7AEC32 +:10084000F07CFA0B540CA03F39C4F9BA8CEBC12FE1 +:10085000AE03DAEB6D3E92E730FF0308179621C92D +:1008600028C79575A139827800FB58171C62BEE332 +:10087000EC7A41CF317C0AA7A4923FAE04FF1184E9 +:100880008FC1C9E761C8E8137A25D7F3FF5E3D7BC6 +:100890009EE02BDD26F756F40B2795696C0116D1E7 +:1008A0009B9F5AD7574D727C9BC6837ACD807E2CF6 +:1008B000F467451F97919FA39C6AD374A17EBDBD29 +:1008C000553313E785FA3693B83E6682796CEB2888 +:1008D000213D6CFB7299ECF2417AB513F46DE8CFCF +:1008E00056AEF19A50FFF64797837EFD01C2BBBB1F +:1008F000707548827EEE2DE7F67DACFE1BAB37C5EA +:10090000EA49B17A50ACDE93DE1C5DFEB7EB1D5CAC +:100910006FB852FD03FF86D23B480F2239F9A75624 +:10092000E40B643740FA9F1C7F6A457AE8DA323775 +:100930000DF1619FCE47FEC067847FE959F1CDB6C6 +:10094000F1FD55CA9F177EA883C3941F12E547C4C3 +:1009500037B6FC17A25D6898F64745BBE3C3B47F82 +:1009600055B4EB1DA6FC7551FEE630FDFF5AB4EB05 +:100970001BA6FDDBA2DD3BC3B43F29DABD37A89C33 +:10098000F3F7F745F9A998FE3F10F5C3223FD7E6E4 +:10099000E6F27398F306C58EC1BDD4287E236D841C +:1009A000EE7E26F815FEB59445EC03859EE3AB5824 +:1009B00010E948B13B14FBE0453B1FD7562EEC072E +:1009C00016625C6EC3FA0A87874F161A7449745E02 +:1009D000427A06E2CD6D2ABE949BA8E3E5C51C0EC3 +:1009E00091758DD428EBD240FD31C25F972BFC8CE2 +:1009F000FBED91FE16A9FA8B17FE08655EC3E19523 +:100A000059CC4BA937DCFEA7613D557FC3ED736E12 +:100A10004C7FC3E16B7C4C7FC3D1853EA6BFE1F028 +:100A20003739A6BFA745798FF87E2BF4F9CBE14D76 +:100A30002CFE7529E763B607B7E0798EEE9B1CE6BE +:100A4000BD1A5B70FEFF92C34DE3EB641FB3517997 +:100A50001E957F81FA08E46BF5ED9E4289E399DAF1 +:100A60000EB5B56A087F9CCC43FE0105AF1C0C1681 +:100A7000A48DE0D5B0727CB0DEB1237108FDE072C8 +:100A8000FEB2AE52EEEF0C4C32929DE794992B11D0 +:100A9000915D5BE3413FF21768C5245DDE6F7A39F3 +:100AA0003FE9E5FCA3FB13ADCEB35731F47F78905B +:100AB0004F4FFD97C2FBAB615EABDFD292DD95D7A6 +:100AC000EEA573BFBBC2925B6DB70EE8A3C663A170 +:100AD0001680FBBD6B611C5D445FBC6F2D8C03FBFE +:100AE000D826076AC9FFD4E19090AE4F2572FFD691 +:100AF000CBCEDAEA1CF47B7BB85FBBAB779F11FDF2 +:100B0000085F966A68AB5A3B6A67A05FBC3B287B6C +:100B1000701B13343DC61139E8FFE7FA119E27A870 +:100B2000F5D491B6E64AACB7CF5369447DB8E52F0A +:100B3000938DC88736DBCE18D1CED826FCF4DBCB1C +:100B4000DF36A2FFBEDB03F99648FEB6D2A1FDF761 +:100B5000B1EB3D69137E3EF40741BBAB8EBD669B96 +:100B60000CF3CC6F75149B18C71FF47F7C2BEAC95C +:100B70006BB49E0F81462CA83F00FEE483BE8EF826 +:100B80002CAFD1F37C067053ED9746E023A0604074 +:100B900022E6678B946B07EFA7523F765F157D7C4B +:100BA00000FE4199ADCB89C07D3BC21DAA6DEFD53A +:100BB00011DFFD12F090E5F0F315FF10FA92026FCD +:100BC000ADA0E358B8EFD705E87CF068E78F5D612A +:100BD00084FB8BFE6CDB10F053BE7B13DC420E04F7 +:100BE0004C684701DC4C9A7290F3924474FF9F0F5B +:100BF000B4939CD7B9B9FEA7E895BAA04C701CD0A5 +:100C00004F4F19884E754E3FC379CBA09FE217E82E +:100C100052E7C4FED7B021F553C53F6EE8D841E78F +:100C2000C5B29BD3B9EE38D7F3147D59C6F190FE07 +:100C300099DF2BE5201F3070BF6A641C078D63911C +:100C4000A2F8C2803E2FFCEE791DF7F7E238C3F21E +:100C500095C17647867308FBE0EFF5D3FF0DF649A3 +:100C6000E190E30BBBC4D9F1406B6012ED9FF01F24 +:100C7000792D12B43733E56F15F96BEE14B86B1696 +:100C8000E74253B4FCFC28E14989FC95A6804CFB63 +:100C9000680EAC5F85FEB404AC0CF8D9B84FA273F3 +:100CA000192827F82BED4D057A1652E1794ED0C060 +:100CB000422AFEB894B5D17A1A41CF0CA9E86A2924 +:100CC0009E53C563B9AA3DEA9FDA0509B88FF1883A +:100CD0000F1306E3E99A5315A1E3AAF1AE770A7E52 +:100CE000F93DF63DD27745FBE1F0FCEBB5DED07186 +:100CF00020B11CC93B07E1A9E4B3725824ECCF969C +:100D0000FCAF46FB87A01305AE8BD64C66BF07FE33 +:100D1000FABCDE5621A3BC784422FB6E5195FB60E1 +:100D200018BA981894C80E5874F71B0FE0F9D684B7 +:100D30000F3D7A3C1F5DD9C7EDEE14EDAAE29FC2CC +:100D4000F7C1A3EC169F48AF423BCAE275E3F942F4 +:100D5000BDD8EF0BBAE6621BFAD37E68F1A23D550F +:100D60003FC7FB5B09E055BFA0D08870ABEF31797E +:100D7000E96B64B219EC4AF617583DB4BF4DEC76F6 +:100D8000BDCC8C989FA267B209BE2F74CCD2BB8118 +:100D9000CE52CCCC88E9B2F5303EC2B9DC47F3ABD9 +:100DA0003FF2CF7FC2FE6E97432F4B44DF41E207F5 +:100DB000F5475EFB33FA896FF3822103F5AEDAAFB4 +:100DC0001748C9E15FD4139D1E77303A5D1C8A4EE7 +:100DD0005FDD1B9DEE478514C639FC572DC3739FFD +:100DE000FEC7E3E81CA211F4CF1F38F834D0765EBA +:100DF000F64451E75680C3F3DFFEE83F7E0AE9FE82 +:100E00005F69C90E7C7E0CE898083F399885F33BF2 +:100E1000BFE7F1477643F9F99FA7A067871D3DF724 +:100E2000CCC830E45F5CEBDB5D05FC7272E3912CB7 +:100E3000E487170FFEEB2388D71F3F6D60789EF77E +:100E4000B1F0CBBCFCFEA1B37B70BCA7E38A911FC1 +:100E50007FFCD40B23113ECB9E7829ABDE82FD3E76 +:100E60005146E99F3F3E16BFE71FFFE791F5E48C2F +:100E70000F66A19C51FA697CD2743A11E0B604CF96 +:100E8000391307E3D3DFDA6FA338B7687C72735F77 +:100E900022EC53E37E6B00BFCBF6DFFB19FF4A6FFA +:100EA000F1EF3A2A5F06102907F82DB968B1201131 +:100EB00037EE3744C17DD4AEE87D386BE57AC2E8C1 +:100EC0006074FE1218F71918B7E0E2821939D0EFF2 +:100ED00059E11F5CA267FE0350BF09F2F1FCF5A2C5 +:100EE000388F895DE73127D74B9B0E468F7F481E91 +:100EF000BAFE6B4E2EA70BF0E449C517D20C43FB8C +:100F00001BFF4DD4FFF9CF07EA6BB9DD0B64948C5E +:100F10007C87D3D361E5FC9FB13BD2814E1A113956 +:100F20007223F9C89F988A3F7D618CEFB201DCFE85 +:100F3000C1C9F5E5AF759C5ECFAF0D3DF021F08FD7 +:100F4000B36BBDDE2A55FCC4925DAB5E4D05BC594A +:100F50007E20A9048757F2973F7E2C1EFD1D637AE1 +:100F600074C437CFEF3FB6F336C4CF1E1D433E0ED9 +:100F7000E5C9587EA1E795F89B217FC9C3F6123CCD +:100F80009F57DADFBE6B8AB74AC5EFFE56FA53F8B1 +:100F9000C2721B87C30BE57D53D381CE1A77491EDE +:100FA000ACD6D873E3ECEB90061FD67AF2A1BC4C1A +:100FB000663E6D09AEE3B957D320BFE9A5F165B828 +:100FC0001EE8620EE66FD5F86616215F7A44E7D90F +:100FD000C7F37B358067470BEED79F41799AC4FDF5 +:100FE000905BE75A1A508F83FE8E6BA05DFCA39234 +:100FF00057A4DFC3FAE72A7BE251BFFF486769C500 +:1010000073A28FACCD27701E81A778BF2CC4E7BD1B +:10101000549CF3371CD1915C6ADAB721BE02FD07FC +:10102000DF6A2519F9C03E89F8C0EDBBA2F1AB011A +:10103000FA76C1B8E73BADD4FFF9A46016EA3FE702 +:10104000ADC12C076F4FFCAF61FF2FFF8CFC6E69A9 +:1010500030BA7D2C3E8C12EB82BF02355EC5D64382 +:101060004E249745CA97AF0139A0A2FFE51FB6EB02 +:10107000D1BE5A5AA3BFE4788097CC4DF030913D51 +:10108000D2388655B94BA8583242FFE7F15F602F3E +:1010900035D6B26A259FE222C439E817A77EB95D2A +:1010A0000BF89D869B873EDD7F8923BFDCC79FE8C9 +:1010B000496E9C3F070A04AC7BA56BF6EE2AD5FC73 +:1010C0002E1C3C168FF3BBE00EC53BD05E167AF5A6 +:1010D000051B4F379EDB4A7EC7753DC7E291AF3691 +:1010E000F624D2B9DCA1A7248706E07CE1DC637199 +:1010F0006C083A5D76CE5189E7D7B17C4891ABA7B1 +:10110000F19F20EF6B92BCD39210CE2D89248F5388 +:10111000129B8B9B87E84F697743929BBEF5425F9A +:1011200048D1AEA6FA4D29BE5AECC755D9E7D5022B +:101130001C5D3398670354F9BDD6F363DB089493C1 +:101140007E3DD9972D4934CEED0CF605F217C92C0A +:1011500024037E2E42793B96D204BF45FBA5E006D0 +:1011600018C3DA66605E153D2EE930449D0BB087EA +:1011700055E500FFA5284FE3295E2584FEB6658F5F +:1011800046D76F64211A77F993DF19D4FD32D62E32 +:10119000F0CDAB47FDF84F023E4D29DEC62498B294 +:1011A000546BA479FDE829AEB739C5796CFF830982 +:1011B000741EDB28E4F86D8697699D4D77D77B1701 +:1011C000833EF2E99A45DEC589E2FC18E97E97C4C0 +:1011D000F1AB8A8532619EF3857ED378440A15414E +:1011E000FA36583FEA11139F9402D6719036B240F6 +:1011F0003CE2DB3B7C7F968B7561BD84128463800F +:10120000C6DB28F66529EBA3F5811CDB900CE3AD6A +:101210003C07BC0152BD2F972520FE7CC13C0948EC +:1012200097A097309363F03EC7C2B7E1E11878AB5F +:10123000E1998B708CDE9F95CF025C87C0B7070564 +:10124000DFFF00EC0F5C4704AFD611DC1F5C277199 +:10125000791198350FF9F5CE796565788E741FFA96 +:10126000E3D34447E5C80F9972BE1832C238E6ABE3 +:1012700007D2545EB69EA7BB93DE9AB10BECA79D36 +:101280003A7F2AFA4776CE02BD97EB2D26D45BF63D +:10129000BAFCFB715F17697DAFE291E58715DE91BE +:1012A000849F6B389C1F2A691EDD7C09BD3405C6EE +:1012B0008E7388F9A11E5564213C48C53941BE355D +:1012C0008BE75BC79A83EB213F450386DE10F05620 +:1012D000BE293298C50EFA322B7E3154EA12F5152A +:1012E0007D31059526D43BC7341F40FC4A595858D8 +:1012F000B2212732CF9D12D023EACD3F9588CFC7A8 +:101300001D39104A877A2BAADD1AF2C3DF74AA00AE +:10131000E340DE4DE27A4382D093774BAC05ED6F2C +:1013200017E0B95482E91DA9AB21BFF45989F4EA49 +:1013300015CF5668575868FD5CAF8E6BEED4E0F859 +:10134000B714D0F8B02FB7D442FEFB022F532D1C98 +:101350005F5DEB0339D84FC251DFAA57086E660FA5 +:10136000C609203C69DD46D68AFAB28BAD93B0DE61 +:10137000A6248E179BEA591DEA45001E39C1C1BF3C +:10138000EF619C83CC5A741C6EB299E7B7E0380FBA +:10139000C6F3792569B4B7CC42FDBF84A71DF748D1 +:1013A000DE2E22C61D7C1F0DAC1AD789F9B82E98E7 +:1013B00086F7804505DFC9CDC5388F9411FCFB66E3 +:1013C000D818D0025DBEE954F4E09085919EE3D335 +:1013D000A03CB843C8FD4F75DE94AB519EBCA5A39D +:1013E000384267564CFDBC025E5FC8DB2F3D93134D +:1013F00090497C69F126D8E17B50C7ED85D87D37CF +:10140000260BFDEE9B741654C991A6BAAFC85E6850 +:10141000FA262B2AFFC25A58C928953C6C383A152F +:10142000EBAD607D9B902E56F468595045BF074D3B +:101430007CDCAF7F67207EF5A32D23BA505F8FA59C +:10144000D7A66FB42C00B4778D5643F59BEA40CEF7 +:10145000A1FED2AAEDC4739FA66FF4BC3C9BF7D744 +:10146000F44D220BA0AF5476C7D71661BBCF36DD43 +:1014700086FBFF9244713C4DDF24F372E68E47FDFC +:10148000BBE91B89D267642E0F9B0E7E2DD627F3F6 +:10149000FCA026900FFB5003F214F9EC198CF443D6 +:1014A0003C3FA815E761E1F8AB217DE6E008E27F6B +:1014B00017D602231D45F5480FBE680B937C4DC31C +:1014C00073754CBB795A592796237C2ED6297C23D9 +:1014D00024E3FEECF1BC2CA33F6DB9E7E5A94C85F4 +:1014E000271178C6B1800A9EC91BFA421AE011552D +:1014F000C939F7169A60EB8E2AFC6AC4BD18779832 +:10150000ACD544F1AF38E53C987136FBA0462BF8DA +:101510005FDEBD5593D4695E3FD23E7F6615F0BB5A +:10152000D242DEFEFAE4916FAC4759AAC835B93F02 +:10153000CB6755A58D31690BA48B54695B4CB933CE +:10154000A6DC1593CEE0F5172684C76BC1969C9751 +:101550003C6626DE5358981EBE13EF85B46D289C5A +:101560005905E945A59C1FAD3C2279B87B9AC36F0C +:10157000A58791BE6AF184F5789E1057EA795503E4 +:10158000F5961F946C12D087A5E74008F9CB726CD2 +:10159000E756B5EBE17AEEF29ED3D46ED8FE0B346B +:1015A00044DF5B0BCE50BD156B3ED1A3DED6FA9760 +:1015B000753EE4FB251ACEA764E6F7A603BEAF3C52 +:1015C000388BFC5B0A1FBD98EA3D86F309BC2451A9 +:1015D0007CEC00DD61BF96085D28F5FFBDE8C8BB67 +:1015E000187F1077C767EB64A8FFBB157F1C8FE3DC +:1015F000FD3B5699807C39381AC75DD070EB68CCBA +:10160000FFE18AFC97710A1FE8C27B3116EFA1E463 +:101610004A82DF07D67026C673EE4EAEE1E9A4F02B +:101620005E84677CCA7533F15EC80799E14C0DA4EE +:101630001F49DECCCBF3C37B31FD6E72232F2F0A03 +:1016400067626C78315B4EF0DF67E37CF0DF63E468 +:10165000F0F664AE6F3F95EFDD928CFEACE55C0E6C +:10166000EE059BCB08FC71E19EF053FB60FD0BFF88 +:10167000218EC7A95E983DC3C7E1E343FD3B85A327 +:10168000BC4A1ECAE45750E4A1B20FD6AC3E37C9DB +:101690008B18793525C99B909214F9BEE7862FD413 +:1016A0004F48710BFF5A73B11BFA5DB0C0E2D9CA43 +:1016B000E97B3CE2DF7D26BE9E3811676111FBF1BC +:1016C000A8E0938F26737B7569D214EA0FF4FC00AF +:1016D000C6870766E9490FEB98E54D353BF19BACB2 +:1016E0000944F93B7464E7741433E2831D2BF22937 +:1016F0009E7040BF7F80DB090AFCE6231F52F1DDAC +:101700008EA59353915F75E4785391AF287C92C96D +:101710003D49B38A227C11D39C1F4A3CCDA0DC1AE0 +:10172000E9E7661DF321FFBBB993F3BB817C09F2A6 +:101730000B23EDAF34BFC3CEE7A3C8C3940D3D74F4 +:101740000E93F2508E83F40614ACA87FED18D58565 +:1017500070DEEBAA25B875CC7ACC746B61047F7F00 +:1017600097EFFD7532E4CF1771490ABEE01FFAE921 +:10177000163D90D289710809291CFE1F6A40BF02DC +:10178000BDF46E97B2AF8CF02121859F572D60E19B +:101790003B911EFE677FFE8FED8F06E9E8BFBB3FE2 +:1017A0002BD6FCF1CAF8A3A0C39D524897C2F923D7 +:1017B000F727407E2DC0E968923F2945E5F75DF89F +:1017C0009315A914C722E61377D70BD5374172E1D9 +:1017D000B2F303FC85B907EBDB1FBC6F6CC37896D3 +:1017E0000FF43D24073E00FB721DF24BE1FFFB406E +:1017F000ACBBEC1F1ADF443B7B590A3F8746BB9EBC +:10180000A9F1698BE7373F1D12AFB4DC9E7B494BD2 +:101810007A7C477170F7122CBFB1D01380714C02E3 +:101820007F00BF48CF613FE1F67D47FE198267C761 +:10183000047EC4DA91C3CB3BE68D24FF3DE05580A6 +:10184000F8E13C33F5CB847DFB699D2B88FB077861 +:10185000C6C75DAA217E39509E974BF7262278D7BE +:101860001F3F4B852F9F0A7FDEA7A80725A8F2857B +:10187000FF00E47D7CADF5CAF315BC4BDEA0E03D76 +:10188000C7B30FEF4F213F30A8232311EF6F4AE179 +:10189000FE3985DFDEEDF2D722BE0CE8CD8AFD7E73 +:1018A0005F26E1E7662BC7E3874DACD55882EDDDB7 +:1018B00051E7670F839D81F205ECEC3AECE716687F +:1018C0007E10D2B7A4F87F11C671D72878EBD32346 +:1018D0009EDD26EC7B764FB41D8AF1360369EDE080 +:1018E000F4122FF76F0FF21FB06F0DD1EDB83E134A +:1018F00057D8AF43FC7EC8C4ED36457EEDC2F33900 +:1019000058DFAEBBE382488F4ABD2F2E98351807AB +:101910007AA7585FEF9B5727A0DF5BB1B763EDEF66 +:1019200095B8045C378C8D7EE326B39BFC73D76837 +:10193000F9BD84FE174D021FBCF538DE9940A63B69 +:101940000A5F9E93089FB03DAEAB298FB1490EF25E +:101950005310FE9DDDA2ED3210FE742E45BDA57F15 +:10196000A999DFD161FEA5587EA62E8D617F4DE637 +:101970007016EAAD67E4F0428CAB0A1C3430A493D5 +:10198000268420F61BF8EB5AF45F29FA36FA95D52F +:10199000F6FE45F85F434944AF56F4FB8BA88FAB86 +:1019A000F31145C0DE59CE9BB2E5E25EC34ACDE9F4 +:1019B00091AB557A38515132F9D399FA7E09C26BFD +:1019C00052097D8F6B693FC2653E151E0FD4D39CB3 +:1019D000A1FE86B39B57EEFA23DDDF58F96C341E67 +:1019E0002C8FE08BF49D84E3ABF047654F937E8EA4 +:1019F000F45FC582F9E89F12E9B8EABE20DA494DE2 +:101A0000C29F9374343C15E9C85ADAC3D0BE6E3A0B +:101A1000C7E965E291CE63687FDBABFBE82A4693BA +:101A2000F0572AF8A5CC73C2911D5AB42F8E7EC2EE +:101A3000F1AAF24CFD3CE4C787CDA995E867DAEB43 +:101A4000F2BF8CF432E0B7603DB4EF8B1E926CC8ED +:101A5000370E3B98D7467072E7219C2A1DFC3CA3A9 +:101A6000C23CBAF00FF03D7A26A75007FD9F4CE12B +:101A7000F1C0A036F5229FBE384CBCEB3B424E5421 +:101A80007E60F2A37E55693611DFBBEFFE5184679D +:101A9000CAF88B77E63870FC7752B8FEB5D7E57B8D +:101AA0002785F4374F19D2EF3121EF2BF5EE3CC4E7 +:101AB000BBC3E6944AA4E7E9CA3958A022CF09FB80 +:101AC0005FE9E2B09F6E3484AC743ED63E1AF9D121 +:101AD000ACC566AEFFB11AC2936A814FDB72F83EA5 +:101AE0006C9BCEFD8627A41E27CA338DB1FD0ECC7C +:101AF0009F9167F5E0FEBC25D933D15FC996EAEC2A +:101B0000678D145AC586C29388FC91D95905DFB5F3 +:101B1000780F0AF8BB83BEE477816F00D33BCD2CEE +:101B200080F4B3D36C203D04CB79FC82FB61946BD1 +:101B3000354603DDBBB7A2FF8AB7F7A25FA5C6F89B +:101B4000CBF770DDE88F43FE08E55EA55F5ECE7AD9 +:101B5000904E9847776120EE05F8DD6E13F7DF4170 +:101B6000BB00F24F681710ED427CDC0C3B9ED32A81 +:101B7000EBDBA0EB2926FA5E61F1207D3F5C1130A2 +:101B80006439912F9B8AD14FFBA8551F72C03CE24C +:101B90005D4A7C9A9BECB933021FF2E2F5213C9F2F +:101BA00056F04F6FAA88772545E0B1C104FB8372D8 +:101BB000F636B307E522CE43CC270A4E11B870FFA4 +:101BC000790D0D15810BE06D95AD440D1F4B08CFC0 +:101BD000B363E1321C3C9475E07C1DF183E1B24BB0 +:101BE00073A091F8F745B387FBC962E08459A92433 +:101BF0008FC6B8D06E64FE1F60E14A23F3A25F690E +:101C0000896115F9571B84FF9AA1D30EF48E8BE8D6 +:101C10004404785EFCB9447201CF47D47C12CF3BB8 +:101C2000D4E9E58A9F767F8C3F55C8B715E8E7C5AC +:101C30006F4F743BE0E424079B0EC6FAAF07F853DE +:101C40008C1F8BD3C59E9D39A4EF8511D81330739B +:101C50003DED33FAC7B8BCF7A6A23F66E7D2DC1267 +:101C6000F497C4C95C4FBCAD7D14C5F5A2FC47BD5B +:101C700041F1AB29F4BCD7557923E2C1B5A9953E12 +:101C8000FC927366883882587D4EA9877EB54B9D3D +:101C900037AC46FE07FA8DDFE5A674F56BF9292807 +:101CA00057574BEE142E574746A5CF6AFD74DEA05A +:101CB000F8C597A2BF5F1B81EB12E14F5FA2F8CF7F +:101CC000619FDC31FBA44E2F53ED935BBD4F552C30 +:101CD000648DD92775BB95B04FD80EF7499DCF3A83 +:101CE000F8BA6F117242C15BFB3D9D5AA6F23724D0 +:101CF00094787336A2DC7E4D47FED13F08BC847DCC +:101D000028433DB029A5723EE2A719ED9642D4DFE3 +:101D10005903EE37FA636BD16FB59679311E0DF624 +:101D2000B5AC760839B9F590A901F1648BA0772597 +:101D3000DFEBE2F1A0E447473D638B41E8ADEE2CD9 +:101D4000ECA72C57D10FDD744EBE589C13AF9C6B83 +:101D5000F1637F67849FFF4117E7FF0FA203797C40 +:101D600024ADAC4F8987403FB1DACFF9339772EE9B +:101D7000C7FDB34CF6A7927DA10B9A6E237DCBA72E +:101D8000477DEBF30B1C2F7A7B17913EF3799D99DE +:101D9000E17D977D024F168BF3A9CF995BE85F2316 +:101DA000491F53D2037A56A756E859CDFFF1538005 +:101DB000F7B937133D88FF037AD6477A452F0FA02E +:101DC0001E75AE6734D7DBB59257223D4CC087F104 +:101DD00078C6734732496F3F8BF10F00CA73B27FE9 +:101DE00037D255A0879FB39E53F4A865E7C7A23C9E +:101DF0003FC7381F0E1C31505C0B9303A43F9D1D41 +:101E0000D0D783E9B355FB7748BCC3B25C1F1A89AE +:101E1000FAFA39A15F2969E5DC1ED378FFEBB0E05F +:101E2000DFCBCD3CFD23A3FF9748A7CFEBB9DDB4B3 +:101E30003C1EF22D43C183F38373AD291E945B08CE +:101E40000F89FCB5562A1FD0333B153D53127AAB90 +:101E500024E0D15F80E780E7CE2593DEFAA94F4FDB +:101E6000F1FDE7843F5781C3FA8F1E4BC77D393799 +:101E7000A03FF2F5EF14F3EED0B9B3AE46FD09F58D +:101E8000363C8F6EE5F16E4DC1DF2F403DAEA9E1CE +:101E90002F0B293F26DEE15329BC7D24F1777EDF1D +:101EA0007FA58D9729EB56E0D924F450E6EC4F1E20 +:101EB0004A9F6CFA68938FE2C3188FA39D2858EA53 +:101EC000A07A31E393FD54C6F5683A0F8C89AF6070 +:101ED000EAB47670FAAF0374109DFF1DEA45E37112 +:101EE0001ED1FD7DA80BC44F247CD510BF58D15105 +:101EF000BF04F16BA3D3AF4F85FA87EEDF5CC672E8 +:101F000023783AF1E30CB2CF583B3F8FFD50E75DA9 +:101F1000887468AF0AE96F55C1273395F387450682 +:101F2000A19F033F55F313A5BCAC72E8F38A8C5410 +:101F30004EF756118FC5D86C03CAFD43F84FB7BA98 +:101F40001ED72F3353DDD45FF639EE0F9E78AEFFE8 +:101F500065BC73B9BCA798E222B2EF0911FD7FA856 +:101F60006321F4137DB89BE3232E0BFB5D52CEFB64 +:101F70005DA205BB5215A7B54CECDB1203D8A1C07E +:101F80006F5FD85FA1B542BFCB1E963C26A83F51DC +:101F9000F063B44FB2513E88789E06D6B7290CFD47 +:101FA0002F6963C6728AE30A6AD309CE1403CBE2AF +:101FB000CB8314CFA5C007E44A4B3CB45BE60DD2FB +:101FC00079456C9C0453C73DE07EE0F9BC4A8F59CB +:101FD000D1BE85CEFB07F4809ED8F3FB6F0DD17880 +:101FE000138892938A7C9C8A704C8AC88DE1E42580 +:101FF000E839D352F9FE71FA3D20113C57B0667EA4 +:102000005E2FE455AC5E7256CBE5EB12C30EFA2E92 +:1020100048CDA1F196B1B0387FE67ACAE5F67D8168 +:10202000C01F65BF979F63A1EF43FF3F14F357EABB +:102030002DBF8785568CE55FB40700CE5C8E1BB93B +:102040001CC7AFF90AE479AC1C8F95DBB1F23A45B5 +:10205000CFE5B3821FEA7341D45B26DE13D4E23EA0 +:10206000BFBA36F8C087F98C7D6D8A1F8BF15F6B24 +:102070008CFC7B9739BE0BBF5F9BB282C8AF020856 +:102080006794071F58C94EF95AE3D9F5167CA76E15 +:10209000E6F8B3610BE77B1BD67139BA3395F38150 +:1020A0009F8AEF53824E8EE2783ABC6FB39FC69DF3 +:1020B0006A2C9691BE67DA3ECBC23B595AD073E286 +:1020C00080BF026F277AD71EB452DCC2D4F4EF87E8 +:1020D000709F8F59F56EADF03759605FA6B1C89FFC +:1020E0000DD253F11F30E434CBC83F207F9D2AF638 +:1020F0007DB9D1FF4F7885E5139DFF9F31447F8CDB +:10210000D1BF03F1670A73B7A0BD3E79EC349A875B +:10211000CCBCF7637E02F33E904A7C2CC376366ECD +:1021200030DE2AEB50E6ABAC036512EA9FDA2306F9 +:10213000BABF1E3B4FAD58D78617AD74BE7E2CF587 +:10214000579B10AF62E7AFC027761D30EFFD38AF69 +:10215000AF52DF5A88F8FB63734E0BD687793F9EE8 +:102160009A44F3FEF9A5E62D333FC503C9466B80BB +:10217000EE0746E2A19FC5F6ECC9E8786825EE3A7D +:10218000122FCCBFC73E61B968DFB3563CDB453880 +:10219000F2FA532C86D3486F1BACAC00E1708C99DB +:1021A0003DEB01BE4775EC20D239744776B224EA84 +:1021B0001F639C7E03A7ACE497948C3CCE0A3467E3 +:1021C00037C6B51E3319BCC4EFDDEEA8B864C55FD1 +:1021D00077EC77E9A4D71C3519287E11EB237F3DD6 +:1021E0002A1983B95204AF9953156F9C3B18CF51EC +:1021F000453D5712C1F71430D710BE9F227F188F6C +:10220000EF0984E8DE49A638AFCDB46868FF98B01E +:1022100007272BF08A99E764A385E2CE9925DAEEA9 +:1022200063ED0F79D5703B8AF04C88C0558163EC23 +:10223000BC07C16117C0BF4C057F23B41B4BF10520 +:102240002CDD3144FB18BB313DC5FF05EEFBD73A11 +:10225000AE47F6CF32921C7654F74BE8EF56FCD4DB +:10226000CA3A8F89613571933230EED49226ECEE02 +:10227000987929EB895D672C1C94F95E6E9DC79552 +:10228000FE62D76B1BA67DCC3A9FD6FBE2D3D01F54 +:10229000CFC245B88FBB504F569D7BC6F2C13704A5 +:1022A000FD5D293F64AC791CCA8DA937D47FE9A4B0 +:1022B000F703DFBCEE4D90E953A7D5DF81E9F53F89 +:1022C000EBBCCE02F268EA6489CEC1F3D39EDF8E06 +:1022D000F70AA6DE547F4712944FCC9873BD13CBF8 +:1022E0006F96C4FB789DD7E3FDC9A9B748A4BCBDD0 +:1022F0009D01F50BD14EF6EBF01C7F2E103CEE0B42 +:1023000074E155FBBDC6A5F1F38371699CDF7AD2F8 +:10231000DC9426D0A0CFAF8EC771817DA2ABA57310 +:1023200070BF0EE77DE2FBA0758DC37EFD99ED2A9F +:102330003DEAE475861F7A2DBC9EFAFC68729A14F9 +:1023400065B7C7EA4F95022F94734D6C7F6391BABE +:102350009CFBEF26E3FCA01F8B9BCB519CD79C22C0 +:10236000FE55EBB527E755BC8257C76EF400BF6337 +:10237000B89FFEE9B89FC7523FB1927E28878B7005 +:102380001D4887871C741E1D403D3E60E7E73A5399 +:10239000AA3D8FDE05DF933A7A6B821D8B3774B6C8 +:1023A000C012EE12F3EC55F813FCB529FC1AFADD55 +:1023B00011B73D6335C06D468681EEDDCCB0703817 +:1023C000BE912F29F44FEFE5287CBB86F5C9885FC5 +:1023D000D30A4711DFBE9EF553DAC76C3AFCD632FA +:1023E0000F7D3FAD0897917DAFC8A5CC01B9B4383A +:1023F0006D3CFA0783D4EED5B85F905CF9EDC0FC74 +:1024000042441703FC26869F0ECB6F707AC991F366 +:102410006E85DF498B05BFDD1420FE96C0FC77205A +:102420005C23FCAE4F22BBB9DC63E47113D174357D +:10243000704E355A22FEBD232E9EECAB99055217E5 +:10244000CABFC3BA9EE3C4DFA71BDC8477D014EFF6 +:102450008F127CA1936905523DC2E921146ED04FC1 +:102460006F318F539CE64E59847436AD1AE0181FB5 +:1024700059FFB4C59BFB902F4E2B786B3EB6BB8E9D +:102480008565ECE706BCA20CF39DC53C5330246C7B +:102490008ECF4EEF90D4164AF49ECF3B6B7B495EB5 +:1024A0008F3BE2DE80F9333D39C5183FED098534B5 +:1024B000F81EC98C023BC5635FFD264F5F576EA7B0 +:1024C0007645CF86D763FA06AF9DEA8F3B62AB2095 +:1024D0007FEE1CBB07CBED0B644E57797CFDB1F84A +:1024E00050FD6E4B0D82EDD1B49184E7137C129BAD +:1024F0000AED27CC911EC32399F5712B27D179645E +:10250000E0712DF2D79BC43EDA17F0F8909B16CC01 +:10251000D2E1BD37C0971FE3FA50FE237EC4E2CD5F +:10252000F3E23E7BE07A85BEF979DE6CDFA8E05607 +:1025300031AF396A39850716C911FE7A5212EDEBAF +:10254000F9FB35AFFF160C50E007936B72AA10CE63 +:10255000C440609DEFFCD04DFD4D2EB86906EECB1A +:1025600064DFE63E2AB7C4F0DF0F55F77520FD366D +:10257000EE1FF4E79A2391FF89A9EFF368317E8E6D +:10258000DF337755737CC47BF4EAFB42683FA8EBEA +:10259000839EF3CB34D247406B04781788F835C05C +:1025A0003E5AC73C9F14C47B5F2F2C96981EF7D7CA +:1025B000CF82C61C229D10C6995F13F4CD423C8287 +:1025C000B457ABB2B7660BFAD0A5ED6F7140BBDE66 +:1025D000098CE8FEB0145840F0F9ADC5BD4F25F7A1 +:1025E0007F2EE2E0AE72316336C95B2980FE86AB96 +:1025F0005E48E3E78F2E7E2F65CC6A0EB719351241 +:1026000043BD86B599E93D3918F7BBEF94F7C26031 +:102610007F67D7707FC48C7B4A83E89A78BE4489F1 +:10262000BF0BE890D9D7F9FC2C04FDCF74310F9E75 +:10263000D36A0A25D2776A9991F4CDD7E7E46E740C +:10264000E23CDFD37BF2093CBE2949503E678E8DC8 +:10265000FC43CC799D2666DFEBB8BFC69F497A9EC6 +:10266000D19F897EBACA6FE258E8EAC8BE550A7996 +:10267000839A85ACE2239980473E845F0C1F4247D2 +:102680000CC23375201D60589E8EFFC4751BC30499 +:102690006FABA2C7083B2B59D4BF266C5F44FBE34A +:1026A000E3749E52F7CBF7F06B4DCFE5F63654C38B +:1026B000F33409F105EA9DFC8495217F3839CC7B00 +:1026C000BFA9E9CAFD0CAEE7D4FA250FBA0A2BAAB6 +:1026D000D7C96857DEE49748FE7D6D0F1C4FE27C3A +:1026E00083AD8779CCACDEA1433BA96A717D269E80 +:1026F000839EB4FA32D1FE2C4D77537F79730C212F +:102700000D8E9FEAA7FC93E2DECBD7BFBBEB16A4EE +:10271000975AB73D07ED950AF7AA6CC48B998BEDD4 +:1027200039C8DF46A573F95C57CDC79DE99F45E3DE +:10273000DCB8B89EF6B9AAAE3303E7A58CF3BA3D70 +:10274000780AFD7627E6195033657935625C53F4D3 +:1027500078730B613C28AF28E4E3DD58C3C71B2F17 +:10276000C6ABAD83F1004E378A75CDABE994697D78 +:1027700005AB687DBF496ACE447FE1DB380EB4CB40 +:10278000AB36D0F9495EDDE63E1CEFE85A2FFB3D43 +:10279000FA6763E410BA77AC25C3CB9F6BD0AF84E4 +:1027A000F1B160FF621CEC76BDA7550B745C591546 +:1027B00014FEE368B93210AF7C2148F26F8ED1531A +:1027C000E5E4724CD39A1C911F8A5C7848EA79B38D +:1027D00004F1DECAFD950FCD4E20FEF7F66889FCA8 +:1027E0007C877582BF15733EADC89D69D52067E0B3 +:1027F000BB637602F1B7B9A512D1D15C0BAF7F6292 +:1028000002C8799447355C9EC7CA1FFC53F3FB8806 +:102810001CE2766515F3911C9FCE0273AE83F2DE47 +:10282000773E273B77A536B409CBC18EFB40C24526 +:102830001BB9BCFAF158A918E9B4A4B7FF28CA9D7E +:102840009A427ECF0724D5319267A5500EE9C21E69 +:102850003EBFEB6BECC42762E518C889A674C09B29 +:102860007766FF4725E6BF7A2D9783630FF27E7D5B +:10287000555C9E011F6D4E1F3F783FDF11743FB0C6 +:102880009FB1F41DB3BF03FA848FD323DBD44CFA7A +:10289000830BDFF323FBB34FC2F966DCC1C8AF3A49 +:1028A0009C3EA1ECFB1B117D2CDABEBA427D479900 +:1028B0000F712285EFF0EE6C68676788F66568BF78 +:1028C000E3BC0B153DA859D1837672B8F079BB7083 +:1028D000DEB05F1BCA3DCBECDAE1E7FD648A774FDF +:1028E0007A12DD97F5209FFEFC1D2DC98F99DE2DF4 +:1028F00055C81F6A5860A34DC59F46813D23ABE470 +:10290000DCE8A0116CF348FAAAFDB6A874518F2B2D +:10291000AAFEB883EEA8F2621092EAF2AB7B3D51B8 +:10292000E9F17DE551F5BFF79E372A3D215C1D5544 +:10293000FF9A73BEA8F418E6D7E0A2BFDF5F17D5F1 +:10294000EE731690F1DDD431FB402E1138BC7D05BD +:10295000C9741F9EFEAEFDC61FD54F91B8175CC14E +:102960009646F5C39EE5EF2434C37FB88F6362DEDD +:10297000451829DEADAD7B34FA3D8591787F381E50 +:10298000BFD1F563EF01FF5BBAB8075CCA4A518F4C +:1029900018B44F40BEB8DF37EE67C1A084EBA2BACF +:1029A0006CCC6EFE2E63ECBA947BC24CFBA68CF50D +:1029B000FE04F21B9F1C31B8A2F7D5E48EDED7B817 +:1029C00082E87DB57AA2F735A13C7A5FEDDEE87D3D +:1029D0004DAC8EDED7245FF4BEA6D445EF6BAA3F84 +:1029E0007A5FD31BA2F735B3397A3FB3D744EF5799 +:1029F0004EA021AA7C446B73345E8AFDCC6F5F13BA +:102A0000D54ED9CF00FC77A9FDBC714E850EFD0DCA +:102A1000B37DBAA87733AE745FCD19B0AF71917D35 +:102A2000BDD2FBDDC0FF6C1949113D07FFA2EDBF10 +:102A3000B17BEF807DAD46FBCF8D9901B26726FB60 +:102A40000DC40F8EA55E77DC2170412D07A6787628 +:102A5000C8F4CEA8D0EFD05D40F68E9FDB33338430 +:102A60009D186B1FCE66FD59F288C1F2E1C7E61CC6 +:102A70009DD0FF0B70BED5F8428116EDC35FD338F1 +:102A8000EF0CCC3F34C83EC4F39C2BE59703FCFB12 +:102A9000FA66E2DB97E5DFEECC081F24261B203E1A +:102AA0003879CD641FDE6BFF5AC7E362FBAF33900A +:102AB0007F7EF2DD15947F58E27A58E0575C5EAF76 +:102AC000FBDDF732F15E77658D4142793DD9281102 +:102AD000DD559ED3903D586929CE3497A23D62D0F2 +:102AE0006051A54522FFE5F3DF6ABD01F4FF27F140 +:102AF000F3BB1322AEF6843D87E8F55DABC16F846E +:102B0000F54D16F72D8EC6D83927AC3C7EF2C40A97 +:102B1000FE9EEE891CC2217662955BC441BE4DEBE0 +:102B2000EEBF93B9451C24F9150E591C3CCE313B20 +:102B30004CF186FD139477547B42A83F1DEAC8E10F +:102B4000E78F209CE9FC71C7C0792B8D77A82D9366 +:102B5000EC8129E21D8C433248649C979BBF137023 +:102B600048C4479E147290CE1F105EED26714FC46C +:102B7000BD0EFDAB87EE7173BD3E462E1E6201F2A7 +:102B80005B04EAF422AE3590773FD6AF1BC3EBB3BC +:102B9000687F00D42F7D1BEB3798A9FE097BA0F03E +:102BA0001984C3AC028A2355F0E3C475D332914E25 +:102BB000ABC0EEC37957CDE1EF6A54D976C8982FF0 +:102BC000D57139DA912FB563FE5E97FF1F33408EC2 +:102BD000A68D92A8DEF4FC7D26A4CB13C3FA5B7EFF +:102BE000F0BB3B86F0B7BC6DE57AD8B1D4A2166EC7 +:102BF0004F44D39BE22750F4AD6AD64EDF992C4464 +:102C0000DFC17E02A033ED507456AC63DC0FF320BD +:102C1000D2D90CE63F12E640257F14F08B9DB81EFA +:102C200065FDEFD87B8EC5C3BE5599242EF710FFE6 +:102C300055FACA70F4A6C06DBAED7416AEFBA8E9D9 +:102C4000EB2C35BFBA90E4DF97A13A479AEE089A89 +:102C50006C97D093DF18169EBF388578502BE059BB +:102C60006B71535CEF0913B77F62E138794E05F75A +:102C70005F097D770AC875AEBF06097E35C3F0AD22 +:102C80004BF8B37E81EB9809F0E3FEAC1FE8705E71 +:102C900000C7FF959134985FBD2BD671A57A672C3C +:102CA0001E0FF0B139D17EADE1FDF743C3B3779884 +:102CB000F30AC9CDFB9D2ADE4379DDC6ED05A85890 +:102CC00093AA8AEB7BBD95D339E005F1A16A211F58 +:102CD000010C240F3DF01FCEFF4FCCE2376A50CFDE +:102CE0008F967B95E2DD932AA6D273900F8A775256 +:102CF0002A63F29575C7CA45E51C63B8F57F96212E +:102D0000F421371BF51D94834C247DA8EF5D2D9D88 +:102D100003BC9274D3E21DB08E51FF3486EC8A5707 +:102D2000926FBEE32D4C3F3292EC9257536F7F145B +:102D3000CB47FE8C972B72F5BF32B87FB84A23DDA4 +:102D400086FEC382D2DFCECF81791F37B11F62DA10 +:102D5000C51A3A66C138AEC2DC920DD04F959E516D +:102D6000BD99E3565CAD3EC78FC36853A0B799E2E7 +:102D70003E40263E215C425F19FD3699AEA06CC3F1 +:102D8000B83E718F325D662D06F8EA5DED161BC206 +:102D9000CFCCFB7DB3F83725D86F552E4F5FE58933 +:102DA0003B3D02E72349349FAB0AA410BEEB5DE52F +:102DB000E0E535258FA761FC6B55A552FFBA8FB0B2 +:102DC0007E9578EF36DEEBD78D467F88F01BFD468B +:102DD000E6F8919F69A4F9BEB0A04287EFA8CCF5B0 +:102DE000713FDEF5E5EB24948373FDDE52F5BDC43F +:102DF000BC4C1DD59F53CEEBCDF1D5EB16ABD63FDA +:102E0000D7DB4FEFC4CEAD3B2D237F783786CE671F +:102E1000E13F3448E70B7F7827FA79AAB89E32471A +:102E2000D0F9DB48E72A7EE9C37FA07C5DC0F9DCEE +:102E3000AC6A4EE7735933D1671D6BA7EF7CD6435D +:102E4000DF05AC8FD3F7E901FACE463B5C45DF13D3 +:102E50003361FE37322FD5EB8B1BABE3F11AD17404 +:102E60003D1C1F043EE0CD1C3F3C1DBE3EAC5EF64B +:102E7000F4C3C8D7E6297A59DD8E57482FABE67AD6 +:102E8000D920BE563482CE0D869313C3F1B5E1F539 +:102E9000B14E59E863F371FE8A9F5E25276ECE1C02 +:102EA000C2AE3E31047F53EB67C3EA6535829F5D56 +:102EB0004E2F1B461FBBC4B9EF8F32FF8673DFD87E +:102EC00073E5A549DEFF72ABEE5534BD6734BAC772 +:102ED00061DAC7722D782FAEC2990BE54DC27F180B +:102EE000D7C7BC9D90BF57B99F90EBA67E5D7A1E59 +:102EF000F782EF02165B30AEA38FEECBF427815E34 +:102F0000E58EC463ECB5423BB4EB73397F19686F4F +:102F1000642D6655FBCA9B397FFE6A9B9EF8F3576A +:102F20007689FC415FCDB3905E7766BB9EE2084731 +:102F3000E8393D3B95FB466C13BF7F9E99C3CF0795 +:102F4000A5A32E746E05D856FA2AF1A767C47DC4CE +:102F5000AFEC9EF9D4EFB66409FB5DDC967F3D8E45 +:102F6000BBB82D23876F2AAFBF3D93CFF38CDBFB1C +:102F7000592FAE6B9685EE8131E62F467FAB415BD4 +:102F80003AC3A845B9724F7F2FB45F9169B1215EF2 +:102F900057659F3A89EF037FF4AC8EDE5A5DBA6FB6 +:102FA0007642089BC95E97AF68B05DB334182D4771 +:102FB0001AF747A757F444A79B62E448ACFC782E65 +:102FC00053D8556EE641F970A57655B6E43DC2F189 +:102FD0003F48F134CBC4FE1B0CCDE73A61FD86FBC4 +:102FE0000A4AD6119EF138A9E407724A505FBE53CF +:102FF000F0FBAD99BEE3D8DE905D3816F5CACAEC99 +:103000001ABA4FF2D56E13FDBECE57266E1F7CF551 +:103010001297AF1D59BCBC638FC12D11FD7B6BC6D0 +:1030200097611C14C7E7A65D5C9EC29F91BF5BE7DA +:1030300035E27E76E8BDFA546CF78FFC5E56C3AE7F +:10304000DB6B901F2E677D74AF252ECBCDEF8D6B84 +:103050009FD41BE19F392DDED1EB60BE8D3E33FD49 +:103060003E8EFC57D98778B419BB9C8071FB5E5BA0 +:103070000594AF38C8CF8FC299DCEFDCFA66F47DD7 +:1030800034FDB3B302489ED7FEB58ADE67BB7DCD63 +:1030900061BA4FE1D4F72756A0BDB04D43787FFB0E +:1030A000DD2F52BE545BDD87BF2F74769B857EEF8C +:1030B000E7D86E03ADFFEC4B5CFF38BB97C3E3F67C +:1030C0000C4BD0280D5E7F8B1412F14D7DF1B81F93 +:1030D0007FDC7B573CEEE31F95F8455B733CD1BB2F +:1030E000BB395E7DBFAFFB61ADF89DA4D5BF9E002F +:1030F000EBEAA89D5F8AEBBED65E6AC6771895722A +:10310000251E4376943F867CE8DABF6A893EF077D5 +:103110003430BEB7EABE1A8A77EDF699ED385F779C +:103120005B17DD438775D1BE756F33D2BA7258CF46 +:10313000268AEF6A9B4AFBD5D0D640FB3162B6990E +:10314000F492EE2356FAB5BE6E5BB919DB7733B94C +:103150007A287F7F30939F83576473FF4EF73BFC41 +:103160005DCCA9DA4933500EAFD8A6A1B8DBE3B5E0 +:10317000EF9F2C7046E84BAA2D4F0BF37807162AC9 +:10318000C3F7C105FE88F92C7D544BEF185E8ECE37 +:103190000CD993687EB1F4D61DF0D07BFDB174D705 +:1031A000DB5662467F7F2CFDDDDA964BEF00B15691 +:1031B000AEA78DCC92B8DE7BE57458949534980E0A +:1031C00059466D54BCBB42774A5AE1F7CAF9BDD1A2 +:1031D000C3BCFB2CF4EE04DD6FA8CDE2E7F7B559D4 +:1031E000FC5D70F9CFABF7FF0AE0F49B4CFFA42C19 +:1031F0008C8B63DE62C43777BFAD12D5158B88DF49 +:103200006479FC3EE34E9D4F43F828FBFFF5579051 +:10321000AF6B6BB81AE9FF06D1DFD64CFF14EC6731 +:10322000F13DFECF5E66887763880F2CFE668E06C2 +:10323000E31F2C1DCABD7B5FA5C949BFC74178A943 +:10324000F0F17C986FE7107109CD593C4E3CDFE9F5 +:10325000A37E6665DB947710E7E1F9CA23CB34F4EB +:103260003B008A5EA7FCDE568E9BD1BB8BC6720EDE +:103270008F9C724D605A3C8D43F996727E4F3FAEE3 +:1032800034C4B0DF7C2C073C59EDD2BA917E733C3C +:10329000ECB4BA1EB43F8DE5F905FCDD4A0D33BA36 +:1032A0002D46F47B6A081F723A785AC183CFDB251A +:1032B000A2D3D540A96B4AF83D0992A7A55C9EAE62 +:1032C00076E9DDEAF7A3AE4DAD6844F8817A95E77B +:1032D0002C13EFF8308C7BE1FC47F2F07844B6A970 +:1032E000FF154D4E649E8B8DC1C918571A0BB7C57B +:1032F000627EAB707E802A133D902E187E7ED7674B +:10330000B9A3E22095F9E9575A64A4E781FB6877ED +:1033100068E81C549FE6B208FE4C7163E98CDF97A5 +:10332000DAEBDA4F76931297E334C377DCE0B81C1C +:1033300060B332E2A55EC3AAF0BE8C12A7E334C329 +:1033400017C6BB4BEB23A5E86B4D3BD941F70BBE32 +:103350009E027611EA737B963E5F6C8371939A2C82 +:10336000C5A89FEB4DDE0738DD44DF278A858BDE5D +:1033700054B18BEA893838855F246F6051F7636FE9 +:103380000D4B3C4EA9758A77801FE4E2EF3CB41BDD +:10339000715EC7B284BE610C53FCE0CE89CC867EE0 +:1033A0001A17F3ECD28E88EC6393D847E98824EEA1 +:1033B00097812053F129E577CFE244DCB832EEADB6 +:1033C0008572C830C4F8F8A79EB7523F6E775F0E7B +:1033D000CE6BB8760F9BF8FD2DB6C9E3C67A537352 +:1033E000FC87110EE91BEADD42CEE420DC8EA672DA +:1033F000FFCB51933B03DF9955EE8D0D773F2CD6D4 +:103400000E5829FC884E3D8C477A13BFD7B07218EE +:103410003FE2B0F7A3376AC8FF06F22615EDDF26B4 +:103420009F5E437EC6239FE991EF361D3CAD47A7C3 +:10343000BE5BF8091578670BB874ACAB4C4522BA83 +:1034400028851FF9098EB7D4427EBAC1F7F06D66A0 +:103450008C938ADCC3B79931EE3C721F1ACA611C87 +:10346000E91E7E0FA713FD78E8F7BB87D1FC3B85EB +:10347000DF2F8807E3F0ED64DC9F18A866E29E0565 +:103480002339DB6929080A3B87EEA726977318764C +:103490000EDCBFE0E32A783A902FF043984803F718 +:1034A000A7AD85BE1C0B48D635992FFFDA3CFE6FC1 +:1034B00078DF25D0D87EC9F75D02CFF8F07D1723DD +:1034C0004A6D518EEA89057FB74DFCFE0EF29BCD09 +:1034D000D648B90C7A99B14549077C53F2001E923F +:1034E00092BEF73E8C47BBCFC4A2C653CF4F8EE9E6 +:1034F0005FE7A6F83231DFC3D7637F0F9628E9D4A0 +:10350000FBF03D9BFB74D1FD11AA8BF69850C6F3DE +:1035100075DED8DE362922DF40DEA5658F8FC8B97B +:10352000CDEFD7B48F7323FDCD26A6ABFB660EC9B6 +:10353000039D93DBF7180B9209FF6B72E776F13866 +:10354000666EA71B53DDA4FFE66573395CA2E172CA +:1035500049E7AC08A19EA8639EAE5FE5905C2CC0D5 +:10356000F192B36B5E457D25221765B26FF241BEC5 +:10357000A2FE6BEC10F1EB62BF0D82765187E5F590 +:10358000E6EEC373E30DD9FE926C95DCCFEF70EBE2 +:10359000B1BF6EE51ECBD25C8DA492A3D3B2B93E6F +:1035A0009B5FA0BC4B534BF257B6578D47F9ABD43A +:1035B000CBB5E56970FDB919422E82BC45BD38B75F +:1035C000C34F211EB9B27F1EAE3BB76E891EF5F701 +:1035D00069D95A5A6F696BD084FA2F6BD0307C67E7 +:1035E000729C90573ADB62D2137575460B22EF1E20 +:1035F000DF6326EC3FBFA0AB157FEF93D9647A97CA +:1036000032BF83EB19F2DDF3836A3FCB569B4CBF8D +:10361000035AA6F5AF22B99338D18B7A48A66346F0 +:10362000B507E8305D7BA0F847167C0F62E8F7C36A +:103630009F77737BB345F2056E407A2C660CE95593 +:1036400029CF16EF002DCCE6F7C6DC015B25F2ABE7 +:10365000495FFA082E0BB3656AFF0B391C87FA5FC6 +:103660003EF3AEBA15D7E9B3B889AE197F1FC2B918 +:10367000D64DE7064667F8DE7158EED188381E4E03 +:10368000F7175F4CA1FB2FE7B3FD8DB86F65DAF03C +:103690000337E07AEE95057FE0FC296BB685EE43B3 +:1036A0006E71861F409FE45E1DB7B7DB3CEBBD78B3 +:1036B0001EF10BFCBD2DC453D82617B4B758A42057 +:1036C000DAABA540A7C81F994B22B96CF1F49FC093 +:1036D000FE67B84F78B0FE64E5BE738C5E4148A5C6 +:1036E0009C73315C5F80E13D65C09696EF1223FAD2 +:1036F000C614E6A5B808450FD989D7D5A1E94E8DDE +:1037000091ECF2B8422FDD6FB9A5409A44F373F6FD +:10371000313C6FC96D97880FE716D4D2FD94DBDA80 +:10372000393DDD2AF090C91EFA3DA87BB3E3445C25 +:103730006F0B7D49AEE17ADAF4746E92DB9AA3578F +:10374000BF3BA9BC7F746B3B7F474D2FEEF7E596DF +:103750008A7854762F95EF1474A9D8F391F7A9F8C5 +:10376000B80A9D3589783016239715B9FA69C3E7E9 +:10377000F1C80F6E3DA20DA1DE773979BC0750CD9F +:1037800084F876444B7A73A49FFF8C47FB6BB87E1A +:103790009ECAE6F87A74DE57F4FEE69E23DDF47ED8 +:1037A000E0CE592099493E78E8FDCE6FB5BE67B2AC +:1037B000693D9EED23619C3DDBB5A4FF0EBCBF5768 +:1037C000CCE5D22D79B5F4EE9DA3744C09CECB2572 +:1037D0003323C65FBD2AE012FBFE9E02DF81F7F7AE +:1037E000AA393C1DD55EF1FE5EFF14A4DBFEE9FCA8 +:1037F0003ED270EFF0BD21F0E4FF9977F880CEF172 +:103800001DBE53D976E51D43FE0E9F27FAFE72ECCE +:10381000FB7B5B851EB4870577E1BDFA4081DE86C0 +:1038200070AD2978F592FAD085A4D97FC0FDF9F45E +:1038300093B38F6C64F8DEE4AC79742FB388EB1F1C +:103840002C70C0339BFC74D17A53E49EE908BA3FD4 +:10385000FA998023F99C5287BF5FFAC5A95FDA9075 +:103860006807EE55DAF5CAFB2F748FD47220559C89 +:103870007BB2107FCF839F6B2AEF6633D947FCC59D +:1038800072209FDF47D54AC48F95FB97009E7A6CC4 +:1038900067792985FCB44D9AF0D3A83AFC6F0D8D59 +:1038A0002E5B0080000000001F8B0800000000005D +:1038B000000BE57D0B7C94C5B5F87CFB7DFB4A765F +:1038C000934D08210F487613120209611324803C9E +:1038D000FC4800A3225DC007F8DC4080900741D07F +:1038E000DED862B3185E2AD65063458ABA28205AB9 +:1038F000A08B8D4821D2051469D51AAFDAA2ADDCB0 +:1039000044ACF20824C4AA78AFD5FF3967E6CBEE01 +:10391000B721057BEFFDFFEFFF77E32D73E7F1CDD7 +:103920009C39E7CC9973CE9C99B519992790C79883 +:103930006DB3C19715CBD877F87715E42528B73143 +:10394000C694A063A69DB1738C95623BA6A849B3AB +:103950008687DAAD94D86C2CAF3605B3E3F342DF3B +:1039600069F914335BA2E5E320BFDF08ED311FC521 +:10397000F3CB2CDE7ECE518CED31B10AEA2706CA9C +:10398000A17E9C6C602C81B1AE02C5FF8C84E332B9 +:103990001FE66D0F0FF23F08F971E98CD73F2051F8 +:1039A000BD34D3A262FED302E51933E44FE418829A +:1039B000A67CEC47BAD383F36041C78C30B86D6204 +:1039C000DEF3367CF677961F9AFF3C8FA95DCEEF2B +:1039D0003D7FEDBB7985E5D3580CA495CBA763AAB1 +:1039E0009547A6F3D69A19B330FAFB0EFE97EF84EB +:1039F0007FFA33F6A5759289C98CFDF067334C2C9C +:103A000093B1056C09A515AC9152F8B318921873CF +:103A1000AE55687ECEED92DFE9C262D5621883A909 +:103A2000C380E5552B19DB08F374FA98938D8662F1 +:103A3000C92031A877AE84FC0000FB01C59704EDD6 +:103A4000361F8BF64BD06E4D82D3C400A56B56C289 +:103A50003F5730E65B27F9B378BF491E989F6FA5A3 +:103A600041C57EA63B6582730134C714C0F6133C82 +:103A7000225D69641C9F62BC15CC10C4D420F17413 +:103A80008D4329F5DB7AE343EB6FA571896512D28B +:103A90006D90C1F10C74FAA5499D8DF3F9323E9BEE +:103AA000F9009E95F6256B4B793D7B8621BE82A55C +:103AB000545F60603E89E33319E0CFF8C0BA19F96A +:103AC00060B213E633AA37BEE737EAF30B37E8F301 +:103AD0008BFCFAFC3CE6FD55124CBD6ABBBE7CB2C9 +:103AE000D341FDCF656EA2CF4AA3F35F5D5720DFC0 +:103AF000290CE15F3190E3CD3088A71971936723DA +:103B00007E599C896511BC1CFE8C827809E15D1987 +:103B1000C7F9FF3F0B6F249C8B9DD91CBF717C5D47 +:103B2000AC847521F0A5223CF376989F7D10F03B84 +:103B3000CFEE8CC1799C91BA7264E48387EDCEADEF +:103B4000D40EE69908F374F03ED7389D34EF139203 +:103B50007B5B10BE333CB2F3816CECE721B91046BD +:103B60006625B36CB4DEF69DB6F971BD5500EE92D4 +:103B7000E321EF7EEF08D647CE0FFE9C4A11E211FB +:103B8000FE80647313986A8575C6C2DB65E0BFC0AA +:103B90002739220F7DAE4AF03CEEEC8F397FAE0222 +:103BA000E32F381DE5C6793C6638B1FB75A4C36EBA +:103BB000AB1BE9B07879D73606DFDF92E07D0AE506 +:103BC00049C7BD1F4E959CA1F977BE3284F8E58A9E +:103BD00095E650FFF8CFBAB03C8EBF16263116D20C +:103BE000267D79C5A688EFD8B7E67038196B247C96 +:103BF000FDDCE41DEA00FA6EF41415213C3F373673 +:103C000096E27A7F32C91BC0797C32C573C4C0D7B3 +:103C10005DB607E4D1816FE6652A8047DF318B7B93 +:103C20002B941F50DAA2512ED6A673FC2759982F39 +:103C30002A9E9763BFA6FBF9FA8B5C5FFB9D12B5CA +:103C40007FD3A9DE988EF8FA06A0027CCB885BE8C9 +:103C5000CA627B5195611CD62239B2885F58FB42FB +:103C6000905FB61617C9D5DA24E6467C2DB619DA68 +:103C700047437996CDA0A6221F3B0D7EE4E3C54DB8 +:103C8000CCB710E86531AAC15417B5F38D867CA175 +:103C9000C1497CA7C1B178EF0CE6B5111C33D20144 +:103CA0009EE8048F613EF46FAC3010AE8C8A770EC4 +:103CB000D2C338DB44EBFD0AE0033FC9673FC19F35 +:103CC000D5E42DE3F5169B4C78F218503E3136D0F2 +:103CD000F1697408DFC79CEA9788CFBF624132C0A0 +:103CE0003F40FD10F35F744419A4118CB539395C61 +:103CF00047DF9B15DB06FD7FC13CB10EC0EBD183D6 +:103D000037C5B6E585F29FCADE1F3A603D2C643E9A +:103D100092CB8B989F52D6D48FF86081C2820AE0F2 +:103D20007FC10DEA07523E5F97C18875199EAF6645 +:103D3000AD5C8EC3FA0C86F14FB5123C28015E6B68 +:103D40002C2C188D6940FFDD62D645DFD5EEFDCE07 +:103D50001CD4AD1BCE5703E4A5054B104FAA3A382F +:103D600001E86AE34DD886743E4FC9CD82765C4F38 +:103D7000ABBB5E23FEBACC76A79C8D890699F64F25 +:103D8000DA17D6BE22F9CD503E55B6A916C8D73C93 +:103D90006CA0F50D1D4E1B5584FB14E7A75AE7D404 +:103DA00053B8FF25C07245FEB1EC91FDF7BBA8BD2D +:103DB0003B08F99A57EC6E6C5AE1AC9886FBEB2203 +:103DC000BFF1E3B6B07955B2DD5351D47CC1DE34D6 +:103DD000E13AA9DAAEAFAF09E8F3B54CF9B84DC393 +:103DE000278C53F79749C157C3D663AACB9EF06976 +:103DF0002EC1E6FA0EF12FDF16EBBDC83AD1D2AFD5 +:103E0000EAD5E0AB46C6D22535C3C5E58B09D763F5 +:103E1000A5C254D40B22DBDF3388AFAFC3B6CFFBD0 +:103E200079C3EA8BF36003867C51F1C5D7A5DB2506 +:103E300011DEA35B81CFA19D45F1B1B8B0EFFBFAD4 +:103E40006EACCB40DF1D36F1FA47ECD12AE231C926 +:103E5000C4D65A0A43ED920C6CA505F8B321DD33A4 +:103E60000EE761713A4D08DFB3461F33A05CE9CF1E +:103E7000DC5B61764F1A99CF0AED526503D1355557 +:103E8000B63CD300A025A673F82EC52FD1795D4688 +:103E9000C467AABC9BF810B6671F83FE4C0690AFA0 +:103EA000D82FAC4D2BC0B5C9CA7C080FD43309D26A +:103EB0009DFD793F265CFE85F83D0B4A901EC4317E +:103EC000019F37BB3C335DA388BFF2699D0B381659 +:103ED0000B3EEB8163AF14B4C784F8361AE680FB5F +:103EE000016B34931E43AC42F9643FEE67C7310F58 +:103EF000EBF7DE24CF9D445F85D7CF7B64D033B80A +:103F00000FB0BA7E2437D6D801BF7904B70EAFDA26 +:103F1000BADB2471FC1615B7D27ED7751F63A86F64 +:103F20006AEDD2055DAB059DB5F23F0979BCCBA525 +:103F3000D6E0F81D1F582C0CF4CB2BAEE0EB65B18E +:103F4000C7E697508E821C40B8162F67A4A72DCEC7 +:103F500031507F7F1AE4FD17C4CB9A0F6D3E39169E +:103F6000E5EAE6B519284713BC23513C656239C818 +:103F7000B90707797F8CFD972FF79E3F88626BE624 +:103F8000B07CA47FD17725AB4B39BC0ED4A31250A3 +:103F90000F0FE3BB4D82BFB4F48908F8D313043E7E +:103FA0000332E137DAD9AA4A086733572A8A647597 +:103FB0008E846DAAE2D95627964F2A780DF3016BAD +:103FC0004116E48BFE3CCD817A5E4741BC1BE13D4E +:103FD0009DEE5D8F70A6C96D8B50CED9AF08A6FD42 +:103FE00002FA4BF7D8DCB2B337FF697C3700F8151B +:103FF000F135E0568B1FF955E3879F1B99D792192E +:10400000E2CBFB5DBC3C5DEC27E9CB3D6CBE2D9467 +:10401000B725703A41B901F1F3A673CAFD88DFFBF9 +:104020005D0A7DB73449767E022CE1B2807692D16A +:104030007B3DBA6065D972500E19D87788021FE4AB +:10404000C3F496EE4689ECA3A5A048D51586E0D129 +:10405000BE5F9A64A2FEA32F2884D70C8789E86FDD +:104060005F2BF00CF4473C8FEF6A2D8985F90E6EBB +:104070000A8E47BC5871AC641CA5EDA111509ED0AE +:104080004F19FF20943F555778C892807A7EEB04F1 +:10409000C4AFB3D1516C4536FFBBE2C179D21FD456 +:1040A00097373948EF61CA921CB4638E093AFF69A9 +:1040B000901A447A14BF6FA4F1BF7C98EB714D69DC +:1040C000D5E971F0DD890F802FA5BEE5A78F1DB260 +:1040D000A0BE9FB12EC3C4F2701E12E1970D06065A +:1040E00001789587FFE2E3F0BD370841E976D968AA +:1040F0005CFC0EED88792B9D26449FAB8919106ED0 +:10410000FBBA990641FC6409EAB3D6DE6070423E10 +:10411000AB91F71B39FE29175F5FBFFD462E457D2A +:10412000DA009D0DC27DC719BF59E6F622F14D4D4B +:1041300066C266D4173F167C6E6C9CA45A9DBDF572 +:10414000969AE632D25B22E58F267734BEFB2DF4B9 +:104150008BF3FA2DB3907EADF11FD845846FDFDF6E +:104160000D247FC03CA57D24F3916F92BD448FFB4D +:10417000095E4DCF518CCED54928C356B44DF4417C +:10418000E9BC757186C579D88F7B29F5F3B08D515F +:104190003FEB320EE5E03A59EB609213FB5B988EF1 +:1041A000EB90FDD9CC905F94876D0694E7CA7A15A1 +:1041B0004B991297584CF9C7200FED5F751909EE0E +:1041C0007DC88FA3D05EEF9248BF616A01EE77BBD6 +:1041D0005C5E63467F2E4F715C561745FA9E5DE12B +:1041E0007AB3BDEEC39D2B20FF94B0CF8B1FC99B2C +:1041F00049FCF28022A19EF065DC3BD4EECB514C11 +:10420000427D2E2EC3A0C36B18BFA432A06BC62B59 +:10421000B207D7A362E47CAF3C90B019BF9BD2DF5A +:104220009B9001F04D58192495F580E393474B9DE1 +:10423000BDE9D1D77E909EC1E7C7541FB5AFD5E485 +:10424000488B4472C46D60DE00D733ADB80E9E4B10 +:1042500063D4CF57D6987C94CB75169EFE4B54CC26 +:1042600033987E654DF3A37EE32BE670FA8EDB492F +:10427000FE30B66404E22D210ADA83FC7DF32CE8DB +:104280009BB19887F630CE0801477A29C827900B52 +:104290004B705CC0DBD88C382ADF1FCF5407EE9BF5 +:1042A000566F21E2BDAEAD2009F9677F4C6231EA5D +:1042B0008730C934DC073F167E92483C9AAC93465F +:1042C000E3776F0A3B12C777011CF175251E942F07 +:1042D000A08FD1BAEB9A61F23F037889BF7712952C +:1042E000EF97FC4F2CC079DC6873A3BC6E9AA126B3 +:1042F0004725609A68403EDEF3EDB27FBB0FBF7B7F +:10430000CBE8C6FD429A599A8CF6618AC76440B9D7 +:104310005052C1F923A54526399152CAF112EF65D1 +:104320007E0BE4E5A4594F94C3380CE49905ECC81E +:104330006281FF263BF73734CD07C687763F939CD3 +:104340004F94237F2F1270B8783F4D354E3FF201C6 +:10435000FA7D90BFBBEE629ADF87EA3B6F7308BFBE +:104360004F1B437BA96B2CDFD77AEA6767FB1FA43F +:10437000EF25EE179A63A1F9A3A4E6F529545FDCB3 +:1043800026B5239E3B15B15E07C37A85F24E3FF7F3 +:10439000FF30CB14B52D4C6FEF6482FE77F3763D82 +:1043A000E3550CA3FE3632F75A59C67681A001DBDD +:1043B00095329A1753BA62C2FD469DE83F037A359B +:1043C000C5A9C9E8174B6CB8B8DE979CC1FD198F19 +:1043D000F657EFCE08E3678DFFF7170E28463BA48C +:1043E000AF75F02EE3FBC50B199EFBF0FBC91677EA +:1043F000F963507458F8E9D8346ED730C5EBC579F5 +:10440000BC9F925380F38884439357FBC577B9A927 +:10441000CC82F63DAC611FEEFBC3F60CA37D659D1F +:1044200080175906FD07C3C49E983B60733CEEF3AA +:10443000BDC7F50C9F39BCEFF13664A88FD2BC45DF +:10444000FBBEF61F242BE995A6C05D388FAE1A9BE4 +:104450001BE9FD1E56C177CFDE640ECA4867A36D07 +:104460002DAECF63D1771C4155F4798B7733F63F6E +:10447000FBE66B56635E3AD4CFB914E8D059D656F2 +:1044800084F00EB378B7627DB5C59B9E08533B3B65 +:10449000C83B2416E5A5A79FD8873DC33D17859F38 +:1044A000C35322F1F17799BCBBB09FC3529BDD8D02 +:1044B000F688D246DF315B7FEAE7B858DF078DEA3E +:1044C000F8F300FFC1F5E9050D004F49CC07B7D659 +:1044D000E2BEFDF88002D28B045E0E8B79CD377878 +:1044E0001283B20EDEFD04AFA32C3D19F8F5AC51DA +:1044F000C06B13F02AEE81FF085E9269B80EEE934E +:10450000387F339E7FD91747FC6D36346CA6F5543F +:104510006671E37ADC14054B04F49BB7053C6057E5 +:1045200030D48FA19CF4E7ADCC3D0CD774AA99AFE1 +:1045300093D43592BFC115F29F95334F1AAA90C7F5 +:1045400032BCEFA21CFBB7E86F47E1D6EC29B1D330 +:10455000B86D1F44F1FD7B3C87FF52F4070E34A079 +:104560009F63A6F05BCD3C6B223B69BED09B66622D +:104570000AF0CD62AA11C7BF91798DB8FFDDCC7C5E +:1045800094CE617E4A6F6541AABF9DB551FE9DE8FC +:10459000FC417580FF198F0FC9427F5518BE4F210E +:1045A000DCC01F772670FEF86C00F90BFA5F16BFAF +:1045B000CE10FC01EBF33CF603EB73704146D83AA6 +:1045C00099DC5FD0ADAD2116F03723D155F02064D2 +:1045D000AFFA86D365EA270EC2CF4109245161881C +:1045E0003F4050D892010F570B12B676F3FDE96A9F +:1045F000B58AFCD547D515090900E714D946746971 +:1046000075CB64E76F3B0FFB1DB47B7D05A7D7EB34 +:104610006325DAE7AE4D5A3F195D894CB6D97D3036 +:10462000EE17AACC70DCE91BB8DD5F3AD018B2C730 +:10463000E17FD70ED6E7A7A972BB99F6B38082FCBB +:10464000372D4F6FCF4F67EBCEA39F7DFA25ECFA46 +:10465000C44C61D70F63C3C8CF76F976FDA04CAECA +:104660006FE9EC7A86DE4790533FB07279DA3AFE12 +:10467000F0B84E98F7E72D2EC2E673395CAFF464BC +:104680007AB2328114E78C6D0B90EE1FD7038687C8 +:1046900030F649BD85A9C0DB9FD63B287FB23E8955 +:1046A000D2D3F54E4A3BEA73A8FE5CBD9BF2CB32F7 +:1046B000D5E108C71A2BA78736FE32CDCF6AE57A37 +:1046C000C332EB3DC7CA008E6583B89FAC22D03899 +:1046D00015DD5D957B0347308572196C18B66C3D0E +:1046E000584600F7FC57BDAB519D59F866DB741472 +:1046F0002BA3DEFF2411F1527341625E583A494305 +:10470000D4F138EE67F563089E53F52AC173A6BE4F +:1047100094D29F667A2661BDDAD2BE3A09FABB7E90 +:1047200047BB920AE9145522BD79A2CAFC7EA0C7F4 +:104730000623DF2736245BDCB88E270D9FF9E4DDE6 +:104740000CE5B4F73AFCFEC6F87953FA41F9F431B6 +:10475000650AB6BB19F814F31A1F5F7AFD727CD490 +:1047600008DE387B40223C9D3D10477879B75926BA +:1047700078BA8F4591FED0DDBCBF8AF21D516E30F4 +:10478000CA7AB59FF552E600B423CE00BD18CC7BA3 +:10479000E94BB903D03E79798714403BBA68575C3E +:1047A0001AF2EF99F8C0F11FD1398389FCC7C0A76D +:1047B0009F6E44B93730C98DEBED9C90CFA0C145B9 +:1047C000E33EBED8A4E98FDE5CCC9F89E2FB378E46 +:1047D000E3047CAE1170EC4F4BA1FD3947520C68DD +:1047E00007EE7FF17695EB757CBC3D1B79FFDB76A0 +:1047F0003ED1BD8FC6F513BF3DBFEBC98C1F43EE45 +:10480000F9DD0F44DDCA68DF6563406EED5F1FAD03 +:1048100022BCFB8DEEE37528A79FB4913FE7B99FBB +:10482000DEFBF15E4C1FAE29BC17D2D599F1D44FF7 +:10483000F9CFE64C4D8676DBF6B0025C2EB94083AC +:104840005480236FC3F943C9305EBE3FAE2405CA0E +:10485000DDDB0B0EA740FE972F4B41F4C317063646 +:104860003F2321EB7DF36C0AEA9FEB329D3A3D3EFC +:104870007750E95199E6A1DFE7F39ACE17637F3BC2 +:1048800053024BE3503E4A81D32B802E6B06FDB181 +:1048900090EC29E14779A965D6BB7C5EBE64D44F14 +:1048A0007D6526F277E3F48D903FDB9C49FAC41EC8 +:1048B000838FF61BDF5C8B1BED9FB31EDF13C85786 +:1048C00035D01EF5D49A025FCC9568D77D34D80DCB +:1048D0001CC4063D757529E26771F3635353A0DD6F +:1048E000D9F1DC8F5DF1D2E753C9AE06EB13ED9938 +:1048F000B3CD0D89B7C0770FE5158FC27DD52307DE +:10490000681C56CBC7795CEC63AC2D9FCE418835D3 +:10491000A1DD43508CE5F12D71075359885EB52D0B +:104920002B5CA8875EE1B5B8D14FBDC1E54B46BF52 +:1049300098B62FC2FEB60BD747B249F4EB98457A2A +:10494000FDE5EE6B9ABF4CEBEF7113F7DF697EB5B7 +:104950004D26BE0F6F0539827CA6EDC330EE81CCAB +:10496000FE617E3910DA050067EAE3666EBF5CE639 +:10497000F89ADE542BEC9C62B19FCEEED7F04A1B26 +:10498000CCF71D8BF7F738BFF94CE5FE6EC5ED444B +:1049900039BBD7A2BE9149FA53571ACE01F6CBB70D +:1049A000119EC532E8539961FA94E5F2F6CB1316DD +:1049B000F57DFCFE72DB47CAD7655F185801CAD582 +:1049C000C7CC7E94170DC2DE6B10F65D83BDC88226 +:1049D000F281BD6AA83E02FBE704DE434FBFCBEC89 +:1049E00085243F1A18BB28DE0EC0FAF7829C09C244 +:1049F000BEE01D828D5A1BD07FA3C2FFD9817F26C6 +:104A00005E0003306CDF8BFC1EE8F537C4D724163C +:104A1000AD6BA7B238F2E3325BFC3F35EFF1826E4B +:104A20001AFCE3857D3ABEFB5834CAC7655F149211 +:104A30009CEC6B5EAF8879FD16E705A93FC7631E46 +:104A40000CE34CF89B43C1753D519199376C9F869F +:104A500079D8B15EFD264A378F1EBEBFCC79DC23E4 +:104A6000311FFAADD97913F9515A849FA065511EAF +:104A7000F95BF6A07D8B76D64C13E9AB2DF6256459 +:104A8000B7B6BCD59FE4C17ECD0F5326F37AABF801 +:104A9000BEBF83ECCB1433AF67B7F6F44FFB4BCB01 +:104AA0009C14EA7FBF14CCFD15F63FC3D2879D2C22 +:104AB000933DD9B5C24CF66553C192378663FD8AE2 +:104AC0005C1A5FB3835364FFDA0C943FF532EFC78F +:104AD0007EE8563C7F6B3A6F426722D8BDDC0E04FD +:104AE0007B979FA72B3E3BC6278C4B673D79B493A2 +:104AF00042F10B500F78FC40D0EB98C2EDC96368CF +:104B0000B78E08F9F78FF5C469F0EFBDD3A315E4AC +:104B1000F7C8F21EFE13E59A5DFAA191EBA14D7163 +:104B20008DFDF17CCC33D87BF560E0CF39F3B75AFB +:104B3000BD61FE936F65CF35587EA27CEBF3E82F05 +:104B400065E5DC5EFB50E0D3F735B797C79BDAAE7F +:104B5000BB09F030FEDF0D92CFD99BDE3D711EF711 +:104B600019B8BDAE003DA1FDD36FF6A37DB227CE2F +:104B7000C36E12F5C01F581F18CAFD01B2A4A23D92 +:104B8000DAF59299FC05A5788E85FAC172C366F4B0 +:104B90005304EB3D4F4CCE82F6C21FE86BB113DDE0 +:104BA0009F1678BB53C8B5A7C539B12F6014767E60 +:104BB00030B516C76919EA467F6B9009BEDA1B2D1E +:104BC000EA9DB1986FF8DD48867652A726572411E2 +:104BD000DF22E25F9E16F8FD1EF130F7E03AEA337D +:104BE0001EA6074FB00F40FEE9BA7EDCEF0178E267 +:104BF0007E137B4F3DCEE7E96A97C0D3E607B2F15B +:104C0000FB578C42DFE97A6B347EBF97E359F36739 +:104C1000019EB237201EF6DA49CFD0F0A4F9B76072 +:104C20003EF97B110FCD66AAEF89BBB9CFF00CDA44 +:104C3000135E13F7771D77B4D9C3CFB98E7B3EB51A +:104C4000A3BCF94B9D1C34FD83B899DB443CCE6D6D +:104C5000220EE7B6E51FDF8672FAB68A6FEEA0F283 +:104C60006A7D5CC14B83D527900F7BF073CAA0F996 +:104C70008D787CC2C9815ABC105FB7A7A2047EB8E8 +:104C8000BF665FB38BF399E6377AC2CABF67FE6827 +:104C90005C8F15A07C27C3FEBA4FE174DCE7D7C751 +:104CA00049AD4AF0FE12C7DF27FC3B4CF1737D5142 +:104CB00081FD13F05699E50D60BDA657687EC90EBB +:104CC00063EB11038EB3FCF2F6B5AAA896C512AC3D +:104CD000B3D32D5BF7600A78267AB317B99CEB70D3 +:104CE000046310DF555034311ECF5761CDC5F33CFE +:104CF000EA9191F122F8A724F27ADCBFAB02B26A02 +:104D00008DC1BC29D40EE969E07CC47671FF4025D1 +:104D10000B24AE90C99EB28C01BC9CDBFBEB1894BB +:104D20000B95369B6539EA3911F11B95CD6B5A33DA +:104D3000F37B97F78627421EEC96051D833128F7F3 +:104D4000427231487EB5B0B8AE18A493D172DD136B +:104D5000E8E7EC1074EA88A053470F7D823ABF5C05 +:104D600047E0441AEEB3E734FBDBCDCF15AB7EC58D +:104D7000CF0957097958D52F5084F84D91F5E76838 +:104D80005A5A6561CAF8B0F3C3AA1C6641FC6BFEAF +:104D9000B32A0F53AE8C0FABF7330BE6F718609DB9 +:104DA000DB885E8AA01BF503ED896E95166699086F +:104DB000F94AEC0F53833F0DE9A5C1D50B8E08BC12 +:104DC000FE7D30F7CFAD12FBA8CF6E12F2CB9D84E3 +:104DD000781BB2C1A46B7FCE6EBA53057886FAF504 +:104DE000E55AFFD62C6E1FE784D3D3D5375E6245D4 +:104DF000FB175EE8692FF3781950AF35FE73727BAD +:104E0000C788F07D60D2FC5077A7823E56853C90E3 +:104E100011C2D39E026F6A3CA4E70C5C3EEE89830C +:104E20007C1EEA977C7C2DDF83F7087EBEFF83051E +:104E3000A9180F323E8BE325521F5C612F1A80F5B3 +:104E40002D62BCD3F5C1473F3186E6F369BDAA9612 +:104E50006785F20B361458907F166E2AB0CC0DF38E +:104E60004B346C3F1C83781C6633901FE4F4F6913E +:104E7000140776DA6660D112D68FB4607D87EDD0E4 +:104E80001F9C50BE60535C21DA25DAF70B374C517A +:104E9000CBC3F09FBB5D4F8FE1017D7EC45E7D7E05 +:104EA0002A06F98CFAFEDF1504F5F99147F579D653 +:104EB000A58F2B7A798C67D6F5788EB349766351B6 +:104EC00085CDE033C37A576C7C1DB31D329D2755C9 +:104ED0003878FCD0C93D6B8A50BFAEFAA8FC08DA1E +:104EE000530BDFE3F8898C77AB3876E46BB4A3819E +:104EF000EE12C5476D9368BF898C83D3FC3BBDE53B +:104F0000C90ACD2F9D13CE6791FC7046C4FB54D7C0 +:104F1000BDF128CA0F0DFF6303EB4DB85F2D9AA6B4 +:104F20009F7F95A2B0E51795A73EAE87DB5427E299 +:104F3000A76C0CAF6B6FB8F95AE4ABF69B4B4FA163 +:104F40001FE0CABA1276622454AC7B672AE2A7EC4F +:104F50002189A19C29FBF5905729AE54D8530BC544 +:104F6000B995638C736F1BB49BEFE77E9FB911F10A +:104F70006BE5EB22E088885B5BB8F7E0D7386E64BE +:104F8000FC9A16E754B9E53BB33EAE8DDBEB57B662 +:104F90006C9671FEF305BC9A7EC07C1319CEEF4A65 +:104FA000FE09FB04FF198BF157DE7559A3427AC243 +:104FB000954DFCFB1AC6E3ABB4B8A70566D0DF413C +:104FC0008E1DB59B883F3EDF104B7EC8CFB11FCCF6 +:104FD0006F92484FAFE9C7F335CF727F648DD89F8A +:104FE0006B9EE3FEE405A0DFC41672BE51C3E0AFC2 +:104FF00016F3423E092F678DDCEED5E2B0303E4B12 +:105000000D3BBFAF86791D8BE77159E1DF85C76521 +:10501000859787F9BDC90ED7FC024F1BFDCF6F03E3 +:1050200038E59F44B951DF050D3A0AF913E411B789 +:105030005B6670F976A9F3B7A6023EFFA6455964F0 +:1050400097A4A0CCC47DF8512B7D5F0EEAB415CF98 +:10505000092AA3081F4661777C884326A33BDA40D0 +:10506000FA4FD31C13F9CD9A5C5CDF697ACC457694 +:105070004ACF39DB7AB3EE9CED969EF86A35DB4277 +:10508000F55677B83E794B7FA7A6778BFDD7DF1F04 +:10509000F711CDFEB845C455DF22E2A935FCDCD2BC +:1050A000134FEDEF1FBEFF5EAA5CB34B9E4CF21E8A +:1050B00043FED2EA9BE2FC568C87641597774EB488 +:1050C00055C00FF321FDEF1389C7619647791EBCC8 +:1050D0000AF1F8F38C0CC4E349B15F1515ABD98E16 +:1050E000B0F96BF466AA9A8DF6E927EBAD858807CF +:1050F0002D7EEB7801DF6FA2AFE07126E7B19FFE56 +:10510000981A746952148F8FFA640A3F6FB05FE186 +:1051100031A1FE043622C521959B3CBF9F10060F8E +:105120008C6B41FCFD87E84FC327D05F453DA5FC54 +:105130006766A23F53BC9998BFED588E1BE1FA44B5 +:10514000EC7F1A3F30C6EDE45BDEEE5FF820F1E560 +:105150000AED7CEF127C29737D6C9191F804F89232 +:10516000ECA4A639D9C497713DF6AEE0CF47ECBCAC +:105170009F29C5C9E877C0B3A07FC7F6537ACE7719 +:10518000851E077CA3D3EB38FD23F9AA871F22F8DD +:10519000EA72F9E732F82A33BB7FDF7C05DF8FF252 +:1051A000D8FBE6AB9A9777EEF1E1F9C2AF1E8B61BF +:1051B000D0EE94D298E846BB6DEBAA1815D2938A2C +:1051C0002F06FB3BE5974B2F16C732375B12FE1BB2 +:1051D000D526859DF39E7EE1A1E91457B1D5E8401F +:1051E000D157BBDD1C34939F7311C55342BE9DE75D +:1051F000D7D0394AEDDE88F8CAE71E4B7452DCACD2 +:105200002F15E36D404FA6F88BC55B8C149FB9F842 +:105210003DD98D6C50CBBA56237C91DF231C17806F +:105220004F6B03729929B6773D7004EDBBB5CD0F76 +:105230009D47BF706DF3359FE1FE1519A75921CE2B +:10524000BB22CF7566648B739DD16C34EA83801F5B +:105250007710F910E0CAE2E427BE6D78FEB95DFB75 +:1052600000DE531F0E2840D74DC7963762A4BCD02E +:10527000398F76FED511C88CF55E04BF5A7A4E9CE4 +:105280000784E8C7E5B5732F003880615C34A5D585 +:10529000C660CC3818AF7AB391E464F5CE67B76DC9 +:1052A00044BEFEC0ECC6B8B6AA9DAFFDF14AB40F2D +:1052B000761B13A6F1E9D8A4C410DD6A9DDC1FABF0 +:1052C000D1A9F2D7AF999CC37939EA0D1ABDAA7654 +:1052D0001F34B1E1BDF15A1238686AB35D846E8142 +:1052E000F6A9E4877CFE2B13AEC753072436C0D53E +:1052F000FBFB8AAD6FC4603B8D6E3D74EC45BFE037 +:10530000F47D57503B07CA834BD1B1209B11BE6A35 +:105310005EB6338C0FABF8D0EC9F86F4FDE932E239 +:10532000FBCF94259CEF9F5C95887A6D85D197E89B +:10533000A09497573C758FE0473599DF63F125E3DB +:10534000BCE66FBA91E6B58079890F2B9EE4F141F6 +:105350005F801DB7FB22F4FC40AC97CF9E0162C278 +:10536000FC3E13F1C7BE7F95FDFC1EC35DA49FDC10 +:1053700023E64A117990FF42E8ABBBB20D9ABFD445 +:10538000126E8FD76E59D38A74393D481D807E2F97 +:1053900098BF4FE04BC2783FF99D2903385DF83D37 +:1053A00006FA0EF486122CC7F6AD46BACF10F61DDB +:1053B000E14D1BFF6E313EC01D857E81CF12B9FDD0 +:1053C000027FAD08C762897FB37879C53427E0DFF3 +:1053D0003284EF433DEB7ECB037C9D8B75FFB7F7AB +:1053E000B83C59EC9F514AF2A0D5181C80EDFC073F +:1053F0006F90481E44C6970B3ED86214EB595F0F5E +:10540000702952383E0F707BBF569CD32E680A8B92 +:1054100067477C2D2F157C620A95BB42EB513BA759 +:105420005D28D67F241D23E5C1BB11F240FB9E6D94 +:10543000BAF8396268FDFB889ED5A07F3870DD7EA2 +:1054400060A67DA97ABD4C719027D61D4E1C0B7CA1 +:105450007E26A0AD57BD9CED59AFCB799C7AC58B0C +:105460005B25E4D3C8F57AA6C22F5D74BD42F94529 +:10547000D76B05FBAF95B3820E21BCEBD7E7C23EDD +:10548000E4ECB71178FD82E5C58EC34A47593AF975 +:10549000E523F0ABE135525E3E9EEDE4F7C122E438 +:1054A00025C3909B307C6A78D4F895312F8DD3C377 +:1054B000C71ABF6AFB570FBF46CE5B8FCFC8FA83B0 +:1054C000421E797EC3E357AB5B24714FC17704EF73 +:1054D000ADD4E2F90BB56E3C929A109EF747E40307 +:1054E00011EDD588BC27A2BD3722BF44D7BE7AEFC5 +:1054F00061138F630DEADA99EBAE233BAAB71EE185 +:10550000E7EBBCF9BCC987FC31B08BE2698DF7339E +:105510009F9DFCB5DC0FD6E9EC8A417D659595EB46 +:10552000899D0E918FE3F9AEFEA6D5280FB5F22E18 +:105530002BF72B777ABA62E2C2FC12ED2D720CDEE9 +:105540005768F3737F586F781A88CE6DC25F3645FF +:10555000B6A5D55D81F1CD9974EFAB7BA551E4B3D0 +:105560000A91DE9A1ED919C5FD289D51DC8FF2578C +:10557000E6F9E338A4874F55302E651E271DABF89A +:105580005D430CDAFFF35A785C4AF93A3D5D17D86F +:10559000B6D03DC52FD8724A1734E9E34A2AC53A36 +:1055A000A8D81451DE721DAD8BCA8875E115FEFDB9 +:1055B000C875513604D605065614B002E18FA2F321 +:1055C000B3A5424E4F91F37E301BF0DF79546666EF +:1055D000C877B7C86C35CE7B8744E78878B102D7E7 +:1055E0009B661F6AF8EBC07533A46F3DA4E3A58FDB +:1055F0008AF09CBF7ACF9FF37F0169C79E0FB2F7F5 +:1056000063FEE53FA5FD99F56E5F72E0EB3B501E32 +:10561000771E3033E4EFCE03AFA7FD18F3FBCCE4E5 +:105620000FE8BCDFCCCF2D0ED8C9CFD23988EBFD27 +:105630000DAF7C95DF46FBCB4AA2CFBA21FCFE65BD +:1056400077CB7F1CC77383EE169815CAF703D1B4C6 +:105650007E6AF759C94EEC7CE5ABA2F0F89AFFECF4 +:105660007CB4B8894E3B9BFD22F26D1CF7CBD7EE84 +:105670001FFB2CC609D4341F34CD83FA92DFFE3DC4 +:105680001FE568E78B5C2F3A676C7B0A7DB18F0F53 +:10569000F9CDA3C6B1E89784CE521873E77C3DCB11 +:1056A000977731BC703C74021E705E80970A94FF3D +:1056B0007DE163D7FF587C9CBF83CBB3D10CE30A59 +:1056C000427891545E6EA7785B983F2F3FF0553E2D +:1056D000CA9B4BCDF74D9CEFA8FF3DF33DFD3F9698 +:1056E000BE9CDF970E71F278D108BEEFCDD72FFFA9 +:1056F00090F2BBEC6E82F732D77B54CEFF2E7AE766 +:10570000FC8F9DEFA5E8FD3B416FBB03FDA09DAF66 +:10571000FC3D8D7D8F795FFDFFE9BC35BDBD5876C1 +:105720001F2D80F66FB0C07B6E17691FA477348879 +:10573000F383D7935CCFF07BC0DC4E2A1176D2D2B4 +:105740001C6E073630039DF79558AA48EF2C19F8C0 +:10575000F0791EA76620785EB74CD8F6207DAFB7EB +:105760000B270F9483784E7178058C0FED0EDB0DAF +:105770008E065EDE8EE553DD5CEF9F3AF03A8A7767 +:105780002DB1BC351BFDC6936D7ABBE9BA08FBE7AA +:105790001AA7BEBE94BD98807EB9D23C23030B826B +:1057A0004DC5F661F6E1CC1CFEBEC035AC71A5C39B +:1057B000F64FE185EC5845E0E5E908BCF4C683C046 +:1057C00023E37A4E24DE14DB83AD9432B063F9BC5C +:1057D000C8FED5EC580D7F917863C22E5668C8106C +:1057E0007E9581FC5C39AC3F9A770F3E05BEBF2F9A +:1057F0005E23E973293CDFD3079E072A050AAEA77B +:1058000009423F9FACC4F1FCC056D943F8F3D377AB +:10581000257F732BA89F4FB2C5291497E51C1487C9 +:105820007615AA8EDFA53296AA309F19CF011C6D7E +:10583000AFE2BA2B7BD4EC447C0F54C47D5885FB7B +:10584000C761B5FAA20AA9BD6A8AC7760B19DEDC60 +:105850002A4B656E89B767B1F114B6C8648CDF83D3 +:1058600014BF2BC3BB29D8EE2185EE59D31FE07B93 +:1058700030A619D4AF6A88E7DFC714D2F73E03FF1A +:105880005EC5FBEB46E6489300D8F412C70F8FA124 +:105890005DB1CA4AE70CD38AB9FDA0AD7BEB507E5F +:1058A0002EAAA54F0EE5EB5736B89350CF9DBE728A +:1058B00028D9277294A7E6253CDFDB154DE77265F2 +:1058C000AB6FBF7E14C2B7AB9F1BD9E5F4F4DD14F8 +:1058D0002F3F77E59C7BDE8772EF762B951F1AEAC8 +:1058E0007D2707F767C979C74B5030F7C6C3268CA9 +:1058F0003F9E1ED87D0EFD7CD36F88A6F8CDE92C87 +:10590000F0078CF36437F0F8A9F65D7613E2E2FA5B +:10591000C07905EDADEBC74B28D658BBD5917617AE +:10592000C05326CE7F3F12FC2F4731EF8B36846B5E +:10593000507606945F8FF7F12E62EFC40C15ED8B55 +:10594000A54D78BE952EEEE568EDB11FEC3741E030 +:10595000E3640EF71F69F9F412DEBE7CADB93D13A6 +:10596000ED99B5C6E0104897E71677E03CA765B01B +:10597000A9184FD375AF4CEF99B45BD911F2A7AF0B +:105980007739D1AEF33211C7B1CE45FEABF6496ED1 +:1059900013BE6FD2BEDEE5C0FB20E5364EF7728F38 +:1059A00085E8DE3E2910C4F387AE2724A2DF710705 +:1059B000AF3F6ECB21BF47BA7C70309D5B14F07354 +:1059C0008BEB8779D95080A3ACB1EC4D5CE7EC1B35 +:1059D000987711C6E932625E3906D609F2B3E28ED3 +:1059E000C1FDE65BD963C4F6CCE2FE29C6076DFCB7 +:1059F000A9CCD03F982EF3B8D372C10FD3300E1577 +:105A0000F8EC2963DB22ECE7D51C27E1635ABCA341 +:105A1000C8C6F98BE1F8ED464736CEAF7D95D58007 +:105A2000E778D3EEE7FC06FC6F51E0FB0714168520 +:105A3000E7F9ED39BCDFDB56289ECD901F68618AFF +:105A40003D1EE95D40F6F4BE5CEFC91CA83F791F1E +:105A5000BB12EDCC79EBD6D3B989462FA6B44EEE66 +:105A600007E39CDCEA2AC4781E8DBEFB728B070D0F +:105A70000DA7D30D12D107E66341F897E7CECDC449 +:105A80007A283F88F49B561C1CBC340FEDBF6AA6D5 +:105A9000E27E9AC4DCB82F77338EE7EEB50AE1597F +:105AA0005BEFDABAD6D633C04DEB575B8F91EB780C +:105AB0005B3DBFFBB8BDDE42E90BF50EA66431B617 +:105AC000A33E89F2BBEA9D9406EA73A8FCC57A3727 +:105AD000E59BEBC7507E4FBD4AF9BDF5A594EEABF3 +:105AE000F750F91D803E8C1381F149DE687206E1A2 +:105AF000331486E480463FE3DA490694D31AFDC0A6 +:105B0000DEA57731BA9993DEC5E84B2FF8EF821FF7 +:105B1000E4982FB6308457CC5BC3E424E6EDF1A1C2 +:105B2000F961C8E1F8F83039A7F0F707501E2616DA +:105B300086E68F2EC20B8521BAE0771323E8867C98 +:105B4000A8E105BE0F261686E3A5E3E1D148F70AD2 +:105B5000839BFC1FAC6DE7CB94B7D1F96E9A89EDAE +:105B6000A5F7467E6263E83F453969C6FB441512D6 +:105B700053C2FC0DB72FB132256CFFBAB32E4E972E +:105B80004FF8C9B1D7D09D7657A2F79EA100C7F1B3 +:105B90007BCFFEF539E8FFE9FB3E1DEE257EECD814 +:105BA000FA388EBB3CCA4DFE08681B7F05F963E8D6 +:105BB0005C0DFFF0DEE55CB1AFCFF545B7A35FED5F +:105BC0002993E38FCFA13F77B5EC40393A7725DFB2 +:105BD000973F443A02DEFF22E8982EFC37ACF17181 +:105BE0008A532BD3FCE76BA7A83DFE19405EE3D098 +:105BF0000C7ECF5EF8798EFF28F5A71857F8F42AA7 +:105C0000D921C27A544B516F38B47123FBFB3899B8 +:105C100091FF04B47F5607F4F8F83E5310EF227F4B +:105C20002C59E83D04C999C06E8372EFDAD78F61B1 +:105C30003F52DD518A67F05A6C74BF8FF98C1DE1B9 +:105C4000FD497547A81D6B1B1887FE1DDA9FAFC263 +:105C50007359D584F7C9513620FFCCCD3944EF486C +:105C6000B146C981E73AE5A2BC5CBBC7AEB8936E4A +:105C7000003DF5B9A132C9B5D77314FE1ECF502629 +:105C8000CE0F1A69FFD5FC5AE5EB247A67A0BCB1A8 +:105C9000C0B4206C9F992BCAE7E1BB0E61E52F0FC2 +:105CA000E5EF6CA5AC2D988DEB3045BCFB90925385 +:105CB00048EF47A5D8A62AA80F68ED770F55041C12 +:105CC0007CFC246412C83F98C3F5C1B9B69BB6707A +:105CD0007DD069427FAB36DEDC9CC2D518873C772D +:105CE0001DBEC6007AA191BFA3D6602FDD4AF1CEBA +:105CF00011FD568B7D0FE667C273D39318C94EE72B +:105D0000C7DCCF57B9EB97741E57F96733EDE795AA +:105D100023F8BECBF2FC45B3F8F98ECEBF3EF9971F +:105D20001FC5D0F948B34CFE5F48B9DF57F313BB2A +:105D300079BC62A47FF7D55D7F8EB9A85FBD999FBE +:105D4000135ECAAFAEDD73ABFD0DF70B6B78AC9590 +:105D50002ED0B954ED2BAB122F768F0CCF75900F40 +:105D600023FDEB97EB878FF4339E1B2AFC8C11E706 +:105D70001A7DC957CDFFAEE52BEAF2333F1989F7FB +:105D8000D9BC5F23C92BEB8A32314E6971DD444A9D +:105D900023EFB755D4E552FBCABA91543F69283F67 +:105DA0004702059CEE496AFECD6E7F562CFB0770BC +:105DB000D46E0060E1FB6EC5198BE777DAFDE5CEA6 +:105DC0001D32D9139D3B863F83EB7351CBA3260332 +:105DD000FAEF86713DEA6CC4B9C1E21D27E87CAFD9 +:105DE00086B5129D807ECC127E8E84F187FDFA8668 +:105DF000AFEA97F625C8C78B0292BA15F7274B80F2 +:105E0000FC21DD3B6E37FAC2E89A3E4CD1DD57D219 +:105E1000E04F18E6A4F96BE5082FC253650E9CFB12 +:105E20001057C4AFA2E9FD12A0EF1FF0DCF7CCA61B +:105E30009114EFBD28B07B318F5F8B76A09FE57406 +:105E400044BC65EE30BE6E7287713DF08C38373BD6 +:105E5000B34B26798CF0E27A3E2DE9EFF117083842 +:105E60000B04BE8E0879A2B55F14584FFAE1B9E66B +:105E7000EBB270FD77EE7D376630948F13DF7536A9 +:105E800047D3FB7A9DCDBF98BA1FF8FB6C605202D6 +:105E9000AE43ADFFD261FCBD87B32DFC7C90F97998 +:105EA000DC530DE27964389CFDE8DD05ED3B2DEE19 +:105EB000EB4CF3AF630C79213AD65A7C6BF1893DF8 +:105EC000EDBD0C8BD1EB43FF8271EFA420EA34B41B +:105ED000CEA1FFB5393E0FCA71AD9DC9A2D266AB46 +:105EE000BD07C6B47B7EE27E0AEC67F65500C7D2DA +:105EF000E151E45FBF6384F3E65B511EBF61247A26 +:105F00002C1DCA82E8CFF8BCCEBE19E9BCD4E5A6E8 +:105F100073D93B460A7993D4360AE343AAD74A4C4D +:105F2000C578BAEDD3F8FD172103DA5DEEB7D7A037 +:105F30001EFA16D7BBABFD32F38E2439928DF71FB4 +:105F4000D8986036C69FA4009FA880A25A41C7E394 +:105F5000261EF7599DC1E3F1D345BC4A753C8FDF3E +:105F6000EFD0E2FB6706B3314EA6FAC5648A93E927 +:105F7000D0E2F5A11CE1AC2EE471FB1A7EAB2B0F35 +:105F800065233F57CF753BB1BEDDE53847F1482F5C +:105F9000D9E93D21C3CB7611DF66A5387A147CA8F8 +:105FA000E7276C4BA67B710DC3B8DDB131F40EA7AA +:105FB0000BDFE1DCB8DC1683FB768278DF6291A927 +:105FC00091E0D4DA69796D5E98C77975087E5E14C0 +:105FD00025F202FE45318D0477BB91F17B15CFF39D +:105FE0007B2EA7935BF750FCEAF343E91DC6769737 +:105FF0007FC15EAAB7D23B888B7C12C9F5CA17CC89 +:10600000419CD7A9E7B91FBEB2BE8EDEC9AC84657C +:106010008FF7D9202DC57B69A78C8D6938EEA9FE35 +:1060200090DA50FF01FD6904DEDFD89046EB7B8BF0 +:106030005942B95D09AC85FA5F376BBC63232F47C2 +:10604000CB9D556E31D3FD002F94E3BD4A067A11E6 +:10605000F28D866FA8D7C53BB6BBF4EF2D3C3B8CC9 +:10606000CBC56705DD9F1BE6E0F13CD1819F67D082 +:10607000FCF83A01FA88FB00819C5F2460FC47969B +:1060800084F2A132606D47FDA3728791DE19D5F8C5 +:10609000641108323C4F5EC4B89E29FD647B369E75 +:1060A0004B27BC602D34933DC4E1A8FCD18F395EF1 +:1060B0005EB68BFBA1F446113BB52D95E2CEA761F0 +:1060C000AC19F1C770C2FF1479533EAD872DD106CC +:1060D000ECA772CD6803C597C8DC0E83549528FEE3 +:1060E000DE4272B45AC8D19A35E362C7E1BA7A5B2C +:1060F00066A8E754CEAA7813C7FD5C81F57411F940 +:106100001F89B76E2177AA619DE0BDE21A717FAA4F +:106110006A1B7F5FB26A35F733B217F87BA2CBAC4C +:10612000C1181C6FD956D98D74AA3205B2FBC33879 +:106130001F097909EDBDF45E96E86F9935B000FB53 +:106140005BB6D34AF2FCA36109345E47E0D144D484 +:106150007B7BB7E77087DA3D1B131EF7A3B5EB997E +:106160004F80FB973E67AD3FFC337CF2B71D5682F4 +:106170000BE849F7D222E77BC608F000FC67765AA5 +:10618000E97DC2CF400EFAF0DE749CFA08C545BC2A +:1061900023D3BB3C0817EE470BFDFAEF6BFAB9634C +:1061A00031CEB2E6ED1205BFFF58C863A0C30F0899 +:1061B0004F6F1BE93E6A24DE5F13ED7AD6DDCE68B1 +:1061C000E2BB33299C0FCEEC1A42FB4A7B9CB8778A +:1061D0006C0CA4615CF4999D430AF8BB3449A48F0C +:1061E000563A38DDCFC405D21C61F51ADFE145A669 +:1061F00024E40FFC2613F504AE975559D651FC0B39 +:10620000C6491715521A345F24CE19F892ECF7D10B +:10621000B942AFC0F112459C3EC9AD8009E5B25705 +:10622000E891D53B22E3A479FD805C498BC37126BC +:1062300068F1D91817EE93288EA66AE55D8B904F0A +:10624000AB96ACBF15F95C83BF4A61A5280FDA2570 +:1062500099E068B7B23B67A23C0C1F2783A78EC4A6 +:10626000D03C5D62BCAC5C27C15D8D3B1EF453BD70 +:10627000525A47FDBB343F029F8FF61DA0C184FBDD +:1062800044FB2451DFC77C35F822E7ABD1776C2E75 +:1062900097DFED2EE723E3F9BE44FE9BEE6F46C683 +:1062A000C6FF037B1B2DD99E386558EB53319603EF +:1062B000FA89CEE5FECC2A800FE1CCDEA48F53CF45 +:1062C000D9A2CF0FDBA1CFE735EBF3F92DFABCFB59 +:1062D000D5887A1C7714B7FFF1BE3BDAFF98A2FD90 +:1062E000EF3473FB1FF368FF638AF63F96A3FD8FBD +:1062F00079B4FF318FF63FE6357CA31F00F3E80742 +:10630000C0FA1FE57279BC0FDF7B95691FA373F696 +:1063100071B281AF8B39265DBCF2BE8A81DAFD375E +:1063200095DFEFB289FB5DFC1E56583C29BFCF2597 +:106330008B776A23EE732D30B4AE4E76F5BEC7B5BB +:106340002AC1BB307714E733EC675F863F7729EDCE +:10635000EF561BFA0BDB567DB61ACDA35B12BCD5EC +:10636000D8AED3D8B58DDF870E927C695BE17CFB1C +:106370002A4D0F81FECB00ABC8BFAC229EF4A64BCA +:10638000BE477BC97768F5FCA1E9714F1BBB9251F1 +:106390004E9E78DEB20EE13C6115F79B665B22E211 +:1063A0001CB89DB4F46189DECD7E30379E9F9B1E64 +:1063B00005ACFC03BE9C776124E9D73DF975928159 +:1063C000EE077855DA7F343D2C4D023D0CE51ECCAE +:1063D0001FF7E7211B0C3AF887FAA3747C96BB3DA4 +:1063E0003EE2BE4A8AAEFD88BD1911F75586E9EF37 +:1063F00043DCB0E220EECBB3D68DD4B52BF78C8B3B +:10640000C09B8053E8A3E5420F5C769F85F868D96E +:10641000FB32E92F155809F2B002FB023A566C1113 +:10642000F1D675FA7DB642613E7CD76B9ED87F9ED1 +:10643000C2EF92E9DE8B1A07DF9F2D68DC86EFAC96 +:106440002EFADDBB450EBCC7274D1A80CE89D5D9A3 +:10645000DE66E49B34A34AF1BED5BBB3E2F0BDB522 +:106460008EA3AF511C2719A363B1DE1185F4DCDCC8 +:10647000C8F57AF493C9F1217A6F6EEC1735D81606 +:106480009A57581C0BE9C19F631C0BB2DD24C967E6 +:106490001A11827FA9D82FB475F689D0FBD94ADEAC +:1064A000CFDDA2BEBAF0F5A7E281741D86435FAED0 +:1064B000C17DA920901D44FD6CE3E6C45B001F8FE5 +:1064C0009ABD6FE13C96BE551283F1765FEC30D2F7 +:1064D000FBAF7F6D7AF6298C8F5ED3F8AC09FD0097 +:1064E000958ADF44F1A0CF6F36617CF4D5DB37535A +:1064F000F982ED6564272E644BC84E3CA9BDBF21CF +:10650000D64945B1B4C9017017E671395A11C5F5BC +:10651000DD29F2F8D71260BCCFB74B141F7C83671C +:10652000C694FEA89F04E2E8FDA4CF84DC8DE4FBC2 +:10653000EE3765EECFBD81D3B9AF779D665D701143 +:106540009FDF702197ECA71B8343B9BD9AA7B7576C +:106550002B4CCEB751AEB3DF039FB3303F82DB4845 +:106560007A710DC82BBC2FE9192FEBF8B07672B4F5 +:106570008E4F67B330FE87A16FC2A097B0FC0DD3DA +:106580003275ED6FBE213782AF0B43F5240FAED4C9 +:10659000DDBBACC112BAAF52DCAB9CDFDFBC56F73F +:1065A0007D0D9BA9BBE7B7688BC4ED94E6383A7FB5 +:1065B000AC10EFDBCDF6F2F2C57B79399BCD74EBF5 +:1065C0002BBDC4FD27BEEF19C91ED3CE2166E3FF44 +:1065D0009FD91BEF8C45F5BC2F80EF45A0DF40F71E +:1065E000AE8038C744B849CF15FEA49A1CEE4FAA16 +:1065F000F1B59AF03D0EC0BBD20FE3381B25A207C0 +:10660000B4B7F42BE4F9E514A7AD8F23C3FE301E15 +:1066100073F151B90CD749643DF01DD777F7F1F804 +:10662000D8C5E80FA2FB6B11719DE81F42FF16FA57 +:1066300087C2E877779E93FBD1B6EF3E9202F89837 +:10664000E5E17C5A1D98612CCBEBCD57C0DFF47E81 +:10665000F50206FC05E32E8075EC77F63D7F5417B6 +:10666000D1FED0F0B058E57C98827C98DF9BFF6A21 +:106670007C4B4CF4BECA26893DEAE2ED112F29C8B5 +:10668000971178213C46E043C3530FDE22EA23F101 +:10669000B2C0CB884F16EC95FC784EABE12F723E22 +:1066A0007DE12F92CE0B59AB09EFAF2C6C96DCF845 +:1066B0004EBD76CEC3C644F893DECC247FD2628F23 +:1066C000C08FC6171ECEF7332F70FFC84DF83EEBB4 +:1066D000C8109FDC304DBF3E6FBC9048F5DF976F10 +:1066E000401320BFECF7E5176D3E9A7C46FF21F181 +:1066F0008988B38E5C3791FEC79FE409FFE3283693 +:106700004A17572DE46A5FFEC79EFB8CDE8BEF278E +:1067100065BFE3FB892657BD629FF0AE3226B2F01B +:106720007D482B17FEB8A5F7E5D0BB23692BFA519E +:10673000BB32AB83EE0794ADE0F1DA65D0CE19A69B +:1067400057AC5E999986FBC3C70F0C79CA87EF6275 +:10675000DE9B903806E87D629531C1E20CB5FB788E +:10676000D594348C2B39B1DE3C9BDEFFFD8985E16D +:106770007B1B357B06F0F7E4645B22C6739E7DB11C +:106780001FBD8BB42D8FEB99D5AB5E8AC1EB08553D +:10679000ABF8BE9C930D661D9D4F6FDE46071A8EAB +:1067A000CDF9B82F3423CEF1FC11FB2AA4FD89F6D4 +:1067B000FB9356C74DD8EFC9E78D6E3CAF857A1570 +:1067C000CF95EE96829F5E45EFDC4889E8C7E97871 +:1067D0005FA67B9E8BE483F9D86F75FDDE34BCEA3F +:1067E0005E5108FB28D0F93DB3B719C7AD5AF56C17 +:1067F0001A1D52ADDD4CBF0F10E6FFFD0DD6D7A020 +:10680000FF17F2DE1559B1FC5DD98BFB7F35BCCC8F +:1068100010E7DBDBC4BE8E7A3BA6A8B763FC0FEAA9 +:10682000ED9847BD1D53D4DBB1BC76835EBF7B5E64 +:106830009CCF6A7EE074F97C01EAC1BE6296B384A3 +:10684000F6615B0EDAA3CBA42837EA91CB24BECE47 +:10685000977D64E7BF43D17A0DDF7F053F44BEBB20 +:106860003AA10B74B030BEBDEA828585DF7F9EC43D +:10687000E274F9124BB2AEFD14874B577F75D250BC +:106880005DFD35CE025DFEBA9CB1BAF6D7BB27E9F5 +:10689000F23F18738DAEFD0C75862E3FAB748EAE35 +:1068A000FD8D9E325DFDCDB317E9EAE778EFD2E5C5 +:1068B0006FADB857D7FEF6252B74F5DA3BB42D68CB +:1068C0006F99F19D210BA5DABBB45F19C002827DDF +:1068D000737C89B8676DE6FBD1B2B7B26CE1FE108C +:1068E0007938D77FE6E4ABDFE6F5E7EF4721FF0E27 +:1068F00012EF43C50DE7744D65A0CD91BDDB9A8CB9 +:10690000FC14D92EB27E7CF4A1CFF1A751EA866F98 +:10691000BA490139327EF4A19199900F0EFF98E7A0 +:10692000C71DFA7506E48FEECCBA99F2230E7D8E60 +:10693000F5D3F23FBB490139367E1623D5E4BD9D20 +:106940006B6FC2B89AF15765AC7373FF08C593902B +:10695000A3A228EC5E8CC516C4F3796D5E8817BCC3 +:10696000878F78C13408FC8CE921E0674C5F057E95 +:106970002E07397604F819D3A3608762F9EFC10EA8 +:10698000C5F44DB04331FD03D89F98B682FD89E927 +:10699000BFD6CFA6F4BD7A2F7DF7C7FA0A4A8FD5A6 +:1069A0002FA1F20FEBEB28FD4BBD8FCA73870B3F76 +:1069B000C65E6347F8BBB1DA79A6767ED9B084B5F6 +:1069C00045A33C6853E23EB584CE25FBB6FB15F6E5 +:1069D00069987E16CBD4A2E1E42FD1FF0EC68F3288 +:1069E000BCE386835C78DF352B0B1F86BFE9C29240 +:1069F000D7F018F77DF17E4164BF71821FDCF9AAE0 +:106A00008ADF4DB0F07BDD132CFCDEF604A5B581EA +:106A1000CE07BF664E8C373928EE69373CA0D03D93 +:106A20006DE902A3FCC40446F986AFDBE89EF704D7 +:106A3000873B09F7292DAFDD07A6BFB038A5C917D9 +:106A40005A4B50DF98683339514EF4C451301E27E9 +:106A5000A19DE76F32F273FE83F64F4BD09F06F095 +:106A6000301C4F8B07D8F2350B1AF2437115132CDB +:106A70006D14AFA5C5394817DA64D49BB4782A0DD4 +:106A80002EBB02DF1586E2A434B80740DE54C8DF0F +:106A9000BD960BB17D3019E3C9262E31D13B833D24 +:106AA000715B66E6437FEB00113F00ED09EEC9170D +:106AB000BC142F3251C48B0C32C106CADBD1B9B21F +:106AC0001DED35FCBE5FDB619C4FEA7FC018D0EE48 +:106AD0004989C73968F122D83E9AB70FCA61EB736A +:106AE000F0BF03DCC0FF83E2030518DF3368B18D1C +:106AF000DE6364AA4AF89D25E42A738ABCD8AF599C +:106B00004231E58B45FDB90CEF0AA4BBC7ECF82870 +:106B10009AD673E620D44B66083DFE1FF0CBEAFF01 +:106B20001A7E5139FD0732F29FF5C5371A5F68F4B6 +:106B30008EE4238DEE61F13544778D7F22F9AC2F01 +:106B40007ED2F8688285BF0738B1DAE2BEDFF5BFD2 +:106B5000877FEEEC625363A1C90B99DE38942F65F1 +:106B6000179C47303F8F4DA2DF67D1EA7F8DF5A399 +:106B70007AD77BFFD6658C0DE3B309620FFBB08F2C +:106B8000F65A3BEDFD10ADFFAFFB18FF0DA127BC82 +:106B900021F6BD6553383F950ED57EDF4AB51514F5 +:106BA00085C5B3E62D24FB80D9B87EED84FFC88F60 +:106BB00026F4DEAB2E283ABDFB5AA18F97322EAFBA +:106BC0004B23CEF3AFCDBB9AF4F26B23F4F2483DE6 +:106BD000FBCC7071CFCEC55CDFF39DDA6EC453A4DD +:106BE0001E87F171C8F7994E99DEFDD1DEA5D5DE7D +:106BF0003B9E2CD6F3647CEF18E09FC2BC0A6E2A41 +:106C000057331FA5D7303FA5D7B120E909D7C3C651 +:106C100083F91F604814E40F474FBF0DEF38968C7F +:106C20002C194CEF9F84DE6B34E68FA2F71AFFCD50 +:106C300011F65EE3A1C94E3A7F3D64E1F7AC715DA8 +:106C40001AE343F3F91DECBB83615F3C0CFB32A6F6 +:106C5000AFC1BE3C18E6F73AECCB98BF366705C328 +:106C6000EFA63AF57151DAF7D7394AC020EB1B5F2E +:106C7000D7E5FF6620E2F38DB8219371BE6FC48D16 +:106C80009E8C7479236E8081A76613A67D7DAFAD3F +:106C900083EBF2F83DDFEB1C5369BCFF0BF81C9152 +:106CA000DFBF373EE3E8D15E8C677837262903CF14 +:106CB0001DB95CAD89E67275E94B6FE5CB503EB10D +:106CC0006E1CC17955DD584AAB2D1C4F9FD5331F23 +:106CD000E2F7144E011DD011FE3AA6141BC2E3B513 +:106CE0000BCD5E15E1A836B4C45C09F59F6D7A77CB +:106CF00017DA5360574CA172D9B9CE8D7AE41B3C98 +:106D0000DE967D73386DA6BD375FB22DB37476A362 +:106D1000C697D5160D9F3EFEBB45996A1CE76BFED4 +:106D20005EAC160F34D0CCDFAFD0DE2F45BD8EEE7B +:106D30008946E84F45515CAE0D3473B9ADD16F93C0 +:106D400089E7F17DF12294838FF0F74F760C506F35 +:106D5000C179801D42EF03760FB4D37E7348C4B56A +:106D60004D0CE6C6E27E508AFE1300F9F528FEEED1 +:106D7000F52111C7E6C9F1CE47BE7FDD796820DA7B +:106D80006357317E4E738D4D76079D975ECF91F29E +:106D9000A0265FD8DDF92C5F77BF50D007E0A4387C +:106DA000A6EEF7648A2B9CC8B21F47FF4EC9512339 +:106DB000469C87E24D93B89C9B7294C74D85ECF33B +:106DC0002E19E5E06B0E896D0478CD4906E60C932B +:106DD0006B5667147386C1139D13AFCBDBDD29BAE5 +:106DE000F6B1633274F571EA305D7DBFD2425DBEAB +:106DF000BFE74A5DFB01B38B75F964EFB5BAF6A93D +:106E0000153375F9414B6ED1B54FAF9BABAB77F9ED +:106E10002A75F5DA3B5DCCA7B6E62472798D7F99A9 +:106E20006B97EADA95DA16D0BDD2ACC61FE9FA63E1 +:106E30004EEE8FF1C17FC85F5FE0056648A724E989 +:106E4000FD34B2B0BB4A1C935E4552A58A78AF129E +:106E500087DE5F936A2BA57B07A99788FFDAF57D0C +:106E6000F9C03BECE27C50CDE8FC37920F5E433931 +:106E700095C9CF55C2E78BE72AE178C17395F03CFD +:106E80009EAB84B7C77395F07A3C5709AF1F79540E +:106E90004FFF51AD7AFA8F3E567C59F41ADBA6E7C4 +:106EA0000B8D5EE34ECEBC28BD66C37F482F586273 +:106EB000749F7E32E029C8FAA65B885E9C7EFF2C18 +:106EC000DDFE1A41B72FD8BA51F84E7F671997DF08 +:106ED0007DEDE79D16F50CCAA16F51568E0AF93962 +:106EE000B4F8DABE7E67468BA78DFCBD99AF0C6DFA +:106EF00076DC4F8E1B1AE9777B0A13BD5FA39CBA21 +:106F0000336F8984E7E549CCB37B810BEF87751D2F +:106F1000FF317E77AF9DCB6F3089510EB6DD6BA709 +:106F2000F8210DCE3B5279FC946184B05BDD3C8E40 +:106F3000CA3882FBC3EC6E07C5DB97E5311107CB7E +:106F4000D2EE181E3A27EC5ECEF57A93D51B3502A9 +:106F5000EF1989DF35D3E2C6D9A57FBF2616BFEB6F +:106F600079E77191F69E69D03A04FADFD814AF7FC1 +:106F7000F7B586F5BCFB8AF98DCBB3B5F7A778BD1D +:106F8000F63B31CC6FC573FA211B984EBFD828DE73 +:106F9000C9DD28DE311DEAB7E8E2AE43F1547E2BAD +:106FA000C685E56E77E8EA87079274FD8DD8EBD445 +:106FB000D517047374F5238FBA75F936116735AA9E +:106FC000758CEE3BB45BD08E187D4CD595A7572DB4 +:106FD0009D8EFBFF20A1CF8F6D2BD5F597DE196518 +:106FE000C0F8E6692332885EE34E7A74F5B4F7039D +:106FF0001EEFF89744C293664785D955644F991898 +:10700000FF1D32D35A85F64F2D3E3EF2BE42CFBD14 +:10701000224BE81E53F87D02CDAEE9B957A0801E81 +:1070200092198A9FEFE13BF1EEADF62EEB53F7A6F6 +:10703000E8F87296E0BFF2A17CDD6CB5F03893867B +:10704000FB6C0C7FDF88296DC9489F5B46707D63B0 +:1070500065963A7B04B5E7715B4FDB4F2EC2F57046 +:10706000C7083ECE6D06C39D33F2F87BBC2F86D990 +:10707000B5F3C5F7530A38FFDF11CBE1613FE6EF07 +:107080005F69F34832B195F4AE9BD23614F9F9F644 +:10709000758187F12AE36DA64623FFFD2CBF917E03 +:1070A000D7A218F4C002F48F16FFDC36167F974D76 +:1070B00021BF56F5AFF6DEEC1B1CBA47940EC5484F +:1070C0008769885F48FFE8E6F1DF6B716EFDC3D624 +:1070D00097B093BB1987ABBBCE44725FA363189D77 +:1070E000C8CEFDEFBA8FC1C43E3598B3560F5E7A55 +:1070F000EC718117ED3E8FF32EA3E7191BDD0B2AF0 +:1071000045FB56C3F72937A76BB39827B643B9A2F7 +:10711000B5C37B27EDB650BBFF57F74F7AF07B899D +:10712000FB7A7DDDCF8B5C4FF417E6AFE8EB5E9E1C +:10713000B6BE7AD60F6B9BC3E347387EFD830D74D2 +:10714000DEAFFD4EA586871323B85FE6A7829F6159 +:107150009FB51524F2FB64F83745FEA60CF967BE0F +:107160009DFB3FBC629F9DA87A7E8EE737739B8C08 +:107170006C33949739B9DD8B299EFB95F9F4FB2587 +:10718000ECE3A4272F649E583CEFBF8AB957E379FC +:10719000CDBCB5FA76F319EF67A18DFF3ECCFCC8E4 +:1071A000F769B473AF4BD8D1EF8D10FBEE08368280 +:1071B000F42511A75061D1E6A5D797BAFDFC5C0F65 +:1071C000EFFFC89C4E14B7A6EDC74E3C770A3B0FA5 +:1071D000017C46E1EFE9F9562AF49E57247FF5E059 +:1071E000B38F388A0EF11E48CFB997A8EFF07DDE35 +:1071F0004EF5CD567A97E36C416B3EDA11DAB9570A +:10720000E4395AF7720BC3F8BCEE663BC51FE07950 +:10721000532CD0FDB46177E21857081E6F9BAC3B2E +:1072200087894C73B2BDDFA01CF41A199D6F35EC31 +:1072300090DD2BA0FF076C87E81DAE7449FD760436 +:10724000F98DF576DC34D817917FFF0F308202A5D7 +:10725000008000001F8B080000000000000BDD5ABA +:107260007D7853559A7FEF4D729BB4499B86B6B497 +:1072700094B6494B4B0B01F2511CBE66E6829465F5 +:1072800076914D51A18552121A18BE8AA5E263C6A5 +:10729000C5694A8B1684D9B216AC8E4ADA15D45D0C +:1072A000D4567144AD6B8602323338A2AEBB3C83F8 +:1072B0004F4D6116515609F5D915F67164DFF79CEB +:1072C0007B9BA4B6F3F1CFFEB1E5292FE7DC73DE9B +:1072D000F37EBFBF7B2EB76EE1CF0F012ACB0480B8 +:1072E0004C00A8D28B9005E0D5E3BFAD00151A2362 +:1072F0004039C0D03C2194844B86821A800CA48BE8 +:107300008510D8000AB4202759003E02CF34284205 +:107310003E10CE207AA409F727013CD7A467F49F3A +:107320009ACC0093018E3665B3F18B4D56467B9A0D +:107330004AD9FC9D379C006E80BB6ECC051887E750 +:10734000B7CD66E39282A0988CE7C12AC17118C9B3 +:107350008A676057326E8D34AF98E945D1F21D5C73 +:10736000EE922468E8C1F12D451F95FECC21B2E7CD +:10737000FFEC0046557D1A9B511F94BF11B7B3F126 +:107380003E21148C1B7FD5AE8C2BF8F8DE5D7C1C67 +:10739000D119DB8434AEDFA462AE1F51D26F928E5E +:1073A000EB4763D28F28E947F32F3739D8F858D302 +:1073B0002C36FE4593CCC6C79B1633FA469387CD31 +:1073C000AF054FBE134DFCFD28C042F201FEDCC2EA +:1073D000DF1FDED0C3C2D2D8783EA4278C6FD7E798 +:1073E00024ACAF30DB129EFF557659C2F31F599D76 +:1073F00009E3BF299D9DB0FE0EC7FC8431CCFA5134 +:107400006C5C887FC99509E33BA12AC60FED74B770 +:10741000C797C07F45D5C6447EDE6D09FB57412026 +:10742000617F514373C2FA350101FCF16390258AF3 +:10743000B3BACE712C4ECE177A5639D0BF9FA47CEA +:107440007B9FAE90FCDCB791E2B4B13ED9C1FDDCCC +:10745000BE98FB5D04EEE76835F3F30E898F2B1CB5 +:10746000E3CDA3C44F1FFA7921FAE55FD0CF44C31F +:10747000E867A227D0CF444FA29F17A2FF4EA39F39 +:10748000899E413FD3FCAFD1CF44CFA29F89FE1646 +:10749000FD4CF41CFA99E8074D558CFE6B9397ED63 +:1074A000FBB7A60D8C9E6F6A60F3BF6B0A30FA7152 +:1074B0005390CD0FA01C7E5D4CAEC99D187F71F618 +:1074C0002D0B611CC6D967EA73E684F1B49EEC8487 +:1074D000F5338E5B139E3BC3A509CFDD671C09E323 +:1074E00099E76625ACFFDE793961DC35C3CAF26BFA +:1074F000766471C2BEB9573C09E369EDC1539F512F +:107500007C3DF9E549A22569BE97052C0D4F3AFE51 +:10751000BA4A9B83E3149F2B1D7355D7FCB7550BB9 +:10752000B104786FB8593D980E5191FCEDC5B5E4A2 +:10753000376F1842DD98ABD36EE6B0E7CF979A79F4 +:10754000FDA21FF4BBF31874ED11689ECBA5EE7776 +:10755000805943545D1F1B8FBE6EE4F9EA3A561FF3 +:10756000E3E400883ACD74EE0EA36B0FC6D311513D +:1075700058E3C1783AB213D62CB3A33F8ECAA20106 +:107580009F571D333B35565ADFE0AA3401BCAFD4B8 +:1075900027757D8916CEE85C313D9EFD9EAD9BF83A +:1075A0001D57EA5C4CCF88162B2ED5093984FBE693 +:1075B00045CFDD9E86EBBDC1F93389FF1209D67830 +:1075C000ECEC9C3995B86E6A5090BBE3E2FB04F199 +:1075D0009B49EB7B4F507D7DF6D052BE2F99EF7BC0 +:1075E000F6502A3B7F69ABD0ADC1F3E71D05B90B5F +:1075F000F7FF86E49D49FA8435749EAF959FA7F204 +:10760000F53D992F59719D0F1A1EC82E271B094051 +:10761000751BF53A497AA9F653D79760CAE8B07F47 +:107620006C2551D1956DA5410FD9D925F275925E82 +:1076300006C07CDE7ABC12A8DE7FBF3CBD2283F888 +:10764000F681A398E2A8FCFD04BD99D96E637C592C +:10765000FF9A1C14C229A8CAD260F34E32DB1DC1A6 +:107660006DA73269FD33E0B05959EB811FB862F262 +:107670004D917B456C7F608773A24120BF43FFB86B +:10768000B838C20A7017F9DDE9D001F9A5526BD6F6 +:1076900051DD00AF2C029EDB38DC37EDEF3D8CE78F +:1076A0007C7546436D0E7F94E766FEBCF1C11B837B +:1076B0000F533D7AD5E0A03104F4ECB9CFCC75F08E +:1076C000760AACAE7DD5AA030DD9F9D5A410E09405 +:1076D000AF5303568CC72FC4B3592B705F7D51280D +:1076E0005F447B6D9AD035DD827DA3B4C4FB070770 +:1076F000FAE76AB07F6915F2196C7D258BECF655B7 +:10770000EBAB12884C0EA313CFF12BF6F1EFD8B0F0 +:107710008494F44DF3A48591FF45AC33F264927FD9 +:107720005E5A84F46AD75D8CA04E55F887EAB4EFB0 +:10773000DD715980F3756D7C5ECDEBCDB0F7BA0687 +:10774000EDBCB155E793662005EDC5885A1FD04EB4 +:107750009B772CFE94CED94CF371753EF0F1FCF082 +:10776000C9B83A92E134655C4E014A40C72DD4074E +:10777000343569DE51EAB24ABF6E92C327B12E1684 +:107780000872AE732671094994179B1097F4B0F8EC +:10779000078667EE35707D7DEFF6DFCDF04B43B1A8 +:1077A00048F845C53D35CD1CD7402F848A051ADFE2 +:1077B000CEF2B5E655D921E0BEF7143CB3EC462E27 +:1077C000F3CB870A7EB9FBC654561F96440C6C7ED9 +:1077D000F98D1C4657DC2863F3CB8CBC4E445E8786 +:1077E000D04E1BE1A7248EA7FA80E1A791F1EA040D +:1077F0007305C5FF1459E81F47F14A7808F9551178 +:107800003E1A47F1EFDB9549F11FC2F8B77E37FE0C +:1078100057D4D82A488FB2C50250DEAAF1EF0DFE28 +:1078200092C5ED528C5B9ABF23D8ACCBA27D478129 +:10783000E9E745B7137E52E37C645ED4A6707C050D +:10784000C6C84CAA27AAFD6B49C839F81B7CA94AAF +:10785000467BD7223682093CE001FD6CB2F3E7BEDD +:10786000DE97AA5A2761CFC29569C82F570BC1244A +:10787000171F1BF858962C7C6C423A510F41BD855E +:10788000A53ECC439A87F3A285AD0303DF07594891 +:10789000259C4F468A2100375C6C1FA429FB48FEBB +:1078A0003C3CC7C0F7C95ABE2F4CFBFC65BC8E3EA2 +:1078B000AD8B6C04747D8D28B2FA5BA1F9B8623C83 +:1078C000C383E92E9EB73C7E2E2A796B742FF0BBC2 +:1078D00030CE1A77178F873F129775E837CAD3DAF9 +:1078E000B4C87D02F6B39F3A415E88D0B71A147BC4 +:1078F000A11C8071BF52193FE73C77BECDCEECCCC6 +:10790000C60F38DFA80AE2B8CDB8D343F2C5EAA162 +:1079100047A6B448B1CBE0B57F578FD57B7BF64DFA +:10792000B6123FBEBE466AD7D13C068C8EF2A2CEBE +:10793000CEFB0568795C5EDCFDDA8BD42755B92F68 +:10794000EAA08AF919A28354BF0E2ECB76EE51EA33 +:107950002AC5D5139B26B2BEFA73A7D2B7302FAC77 +:1079600093390E264A38D89AC471308D09071325E9 +:107970001C4CF38483694C3898C68483694C3898CE +:1079800028E1609A3F6FF51CE0F9DCAEF7609F8458 +:10799000D2E8E387F1FCDA2609481E7F19D7EFD039 +:1079A000A66499F438F480C4EA23682365B4BE461B +:1079B0003A774A6F8BD9E142E01F74BCFE858BADEC +:1079C000C8676583C141F5DBE8F674D3392976874A +:1079D0004475C66B0F0956B4EB0433CF8782A2A857 +:1079E000F33EA47E17E7B3A490F7C7020D9C048C66 +:1079F0002B4F96FCBC3393F8788F125DDBE73C9DF0 +:107A00006BA57E952E917F6AC763DEB03A14CD5F79 +:107A1000668AD9F96D27AF3B7ECC6DA2D7C8EE6CD4 +:107A20005DA8AD10E5ABCE3033BB63DCB6D2FBD581 +:107A3000DB8ABD299EC5B8B896402B935FA48014FD +:107A40006A4196589D64C9C5F2053496989D246A8A +:107A5000409678FB984F93DDA226C94AF8C5672C5B +:107A6000594471EF6B172C540F2A344B4E33FCBC26 +:107A7000DF5648F8F9BA33F1FD709DD2E71A0F14BA +:107A80004939B46E37A2381C2FB158199FE83EC14E +:107A9000DC6DA5BCC275AE98DEFECED92C2FFC21C4 +:107AA000A4EEB1F367D5FEFEBCD729EEC2B244F214 +:107AB000FACD581EEC71F9D52EB0381E391EA49798 +:107AC000278A7B84ED64A7D5DB6DD25A238DCFE85E +:107AD0001AEDA48735017FE0BA30AD43BF727BEC6D +:107AE00047B96DFC3C571CFFB5C43FEE7C350EAE6C +:107AF0003A4D0C0FF9CC5629C746D4CCE4FC8E1D68 +:107B000014FBD785433A07C9A3C57371BCD21CD2F5 +:107B1000D1396B5B9D12D513EF5E7E8EB72D5D9ACA +:107B200046384A6B96F2705C93CCF30FE56378D3DA +:107B30008F76B118E91CC497C6EFDAC7A7C8EB6FF8 +:107B40004F97D625CCEFD7517C572BF57E6DEB7C2C +:107B500049A4FD5AAE6F8E8BFBD9ABD8F33FB61953 +:107B6000F600D6F4EA8E778A058ACB861CA7807A3F +:107B7000A6B8783CE68CC88B6A733BD367D89E075F +:107B8000507F64B9CEEC61FC311E829437FE0ECE7C +:107B9000DFDFE193EC48D76BBDD24476BE89F11BA1 +:107BA0003EB7F397CAB906079D0B666F3EC5C3E59E +:107BB000032BF2991E1D8FE9C86E26877511E14DC2 +:107BC0008C0316976A3CD4BA79FEA9FA4F756939C5 +:107BD0007E75711CABE693DA8FD4BCF2EFF5818C25 +:107BE000E7D665637F1C25AFD47C52F3AB1A22D550 +:107BF000D4B79F963CE16C2196F7D80F1B5E1EA56B +:107C00004FF815FBAD54FC807661F5447D7E97E21C +:107C1000871AB26BDC7EE2477C65F5F98270F1363B +:107C20007B6CBD7A6E8D85EF23BF507CC8CA79B45A +:107C3000BE91AD1713F2B96E18B71EDD9545FDAFB5 +:107C4000577050FF6BDCD79F773FE5F70B297483A4 +:107C50000257B71CDE9A43CD551B627E50E55A870A +:107C6000F884F27ABDD2F7FCE1D1F3FB4499B792E4 +:107C7000FAE7B01D1E7DA184EA24EA1FA63AF1F1BD +:107C80000B6F7E34C71AEB57AA3E6BDBBA585D5CAC +:107C9000BD37DDA5E175B18DEAA25FD1BBAE95FB25 +:107CA0000BD05F84DF54BFFA5A05D61FEA02B785AE +:107CB00008F70CE301C59F23FDA8FA57F5A36A7FD7 +:107CC000EC430071B85995BF5E39BF41C983954AED +:107CD000DCADDC309FD5C5B56D3E37B5DF6A65BE1E +:107CE000DA9F383F6C7FB36A7FFB4314C7433DDCA8 +:107CF000FE437B75FCBEEDA889E1C5AB8DAFFD767B +:107D000039AEFBFC60573EF5F578FB134E5CAFE0F7 +:107D1000C51FA3FD092F8E62FF66575CFDFBF12195 +:107D2000C5FE853D5FBE41F5655B92A31BCFADC32C +:107D3000DF59689FAB471FD5E5E2FCAA75423AC9F7 +:107D4000DBEEB2713D7BBA7485F41ED0E034432A79 +:107D5000CD5B593E8D8C67A432C4D997FA81608976 +:107D6000E115753DD5A35E9463FB36432ACC20BE56 +:107D7000E91633BE2F1C57F254AD2FAADC97B6F983 +:107D80007E46EF13970C3CBEB7E0FE97F1F9A5F9DC +:107D90008EFC467B0CCF41464F2FF9BFF61E3B7B36 +:107DA0002FC7F3CF08A8D74B2EFEFE3B69522444C1 +:107DB000F2ABB852C2FAA447DA2D72FD0B359CFE25 +:107DC0003CB9A7ACE18FE0BD495B22D7491E15CF76 +:107DD000AA38F623252E54BCAAE2CFB1EA8E04CFEE +:107DE000B415A2BC5206385AACB13855F98CAC3F28 +:107DF000AA9EB9293DCF539CE4DE33C54538404A9D +:107E00008636D2E3374A7C8ED4F3928DDB732CB95D +:107E1000557987ED80C138CB12935F950731AC2C33 +:107E2000122EFBBB690C175E6A76E4939DC6D2EFF7 +:107E300092CDCBF2349A030EEAB363D5D56ABF1064 +:107E400024BEBA8089DD3FA879E257DE1D314FD2CA +:107E50002228FF507B511AD5FF4B02F615D26B9B9F +:107E6000416471A1E8F797DE435F7759585CE01BE6 +:107E70009B89F05A4DB292FF61DE7F0702454C4F5D +:107E8000755EEDBF03E688C91257777FDFA0F42F38 +:107E9000E443F9038122388C470DB45F32892C4EBC +:107EA000B97CEABEED3ACE1F2AF5A1C336C22D95A4 +:107EB000920FE757073ED40948BF51E2B5A0A84743 +:107EC0001E4FF6ABD49B294F3352651B9D97619192 +:107ED0006DF1FD3FC55325517FBC640B4FA27BA9BB +:107EE000A8D3C0EC3DE0A95A9483F135D0994E3720 +:107EF00040B05D700C04E87D725712BB5F5F224298 +:107F00009BC0E2232CE552FF6E16583D50E7EF98D8 +:107F1000E24D71931C9ADEFFFE1DF1DD95E2207C9F +:107F200003DFE0B9581FA71053CC99BD748745767D +:107F30001C712F32F21EA440B2B27B92E8AF34D053 +:107F4000CDEBDFBFD378DDAF7490648DF97D83E234 +:107F5000F7755D77B2FB077FA786D5B975741F8269 +:107F6000F4097A8825EFA18EDBB3282EFCFB2B0EBB +:107F700006B17FE40BE0A1FAF27B6DA492EAC09512 +:107F8000AEF19666C24FF52D2580CFFD5D0FE7134C +:107F9000BDD265A8A2FABCD05CB9301DCF5FFF642A +:107FA0003ABBA7BBB085DF0B6C7ABF98C5A1DBCD10 +:107FB000F369CBB7FD4F9BB1DFAFC33933F2FDAFF0 +:107FC0009E9450101F6D693A9EAFC19C7934C93B95 +:107FD000DD8DEB368B7DCB6753BD16424772D87A69 +:107FE000EBA8F7CC2ABD4CEF53188FF53F3DCFF8E7 +:107FF0007C219E5D5A8DFBB7D4BF924A7C361FF818 +:10800000F036B3C8EE79E610FFCF85AE23662ACCF2 +:108010009D5DD3A95F1608F23C37BBA74ABC071980 +:1080200079CE52278FA7F96EEEA72516CFF2EA7206 +:10803000E607E6CFB1E4DB709CDF4BA9E3D5A134C2 +:1080400009ECEC1E5432DBD9FD2CC3A1573410A02F +:108050007355FCA1CEDFE5E6E75E496BCFA7B8DD3F +:1080600078E4B17CBA2FFCCCC4C7354756FC9AEAF9 +:1080700094F799248E87B52039705F5D90E359D8C5 +:108080006061F784C378C89DC2F86DEC7427F43B37 +:10809000BA20A1F9CFB4B0B887BDAF5D77124EBAA0 +:1080A000A00DAFA338B8807832C8FCC9EBD885766C +:1080B000CD229A0F6E1780F0C385F6574C938C3102 +:1080C000BC652AEF09533DAA3F86F88387228BCBF4 +:1080D000AD66B51E1917519E236E3253DC36BE7E37 +:1080E0006A11F0318030B63D37297869787CAC97D9 +:1080F000E5ED96A31C2F6CE9E93D3D2183DE2715B4 +:10810000BCA0E0907A05876C3DC6ED527F6C50AA0A +:108110008BC7F9A596877211B135BF72BEEA002EE2 +:10812000F591DFE600F4F6BE5DDD8C3DA017DB3691 +:10813000CB4F6D94E1B83DA51FB0F7D5FA56855FDA +:10814000E9070F15327D2BC7C5E39D9D6E1DDBA78B +:10815000EE477BB07D5F1B52A753BD0BE839BD3F97 +:1081600039B59BE8D7867CD6772483773FC5657081 +:1081700001B07B87E08089BDAF7E2D7A7AD7B37B53 +:10818000302B9343BD7F186927C930FF20D59D3E12 +:10819000A51F85EB93DB0827C85B8D5AA22DF546FA +:1081A000861BE46D1F18E83DBFEFCB645148A55016 +:1081B00089F68BC8DF95E50DD1FEF18059AAA1BEE5 +:1081C000131608AF5F7BEB5337C97F2D2F3A00663C +:1081D000FAEEF07E357D7778CEADD8C71E71531E8E +:1081E000659EE075FD291DB4519F04AD0796E17CA5 +:1081F00058F95E18BC29B2BADD2784FF91F87B924A +:108200008C6D36946740A917E142CF4B74FE398BD1 +:10821000A6D845E72ADF11F394F7216942B691EC1D +:10822000D4A2D851906508E039A270AA8EE2E891F4 +:10823000A81EE83D3C6FC262D6DF5A14BB0AD60CBA +:10824000EA3970C22E0693508E4740CFBE6B4AA2C9 +:1082500041A67542DF3B3705A4B99AEBFD69F83CAE +:10826000F77EC1D18222D70E5D7EEA3DA0BA197297 +:10827000921DB665794F927C03438B07BDE8EF47AB +:10828000CC3D7A879DC7B61EE37C01FF27F4FDE451 +:1082900066AA05EDBB209A3C48F6BD16BDFCC26B34 +:1082A000E544F5EC1E71419F269C349D3655C8C3AC +:1082B000F7BF858CC8FADB627CA0FD31A0FCB94712 +:1082C000E90B2ABFB1F65FCBB66A99BFA2FAB048F4 +:1082D000E719C510BD972DE8EB3F4FFA2DD01BC312 +:1082E00074FF0C7ADD7F0EDF2FD3B9E7F2D22F4F68 +:1082F000652D096E21D8C86AE17EFC415AE27BE116 +:108300007537C799D795FAA4FA01AC32C4F72FD5BF +:10831000EE6AFEABF20F19257EAFBB81DFD30FF5FE +:10832000212E19A5EEAAF443C22588372C93E4EB3D +:108330006477351E46FA7FA49F557FC203E74EA59A +:10834000D9981FA7FD3D30FF7D43F93570F3E86EE6 +:108350000C3B98A09107BDB6FF7FFE53EB8C3719FD +:10836000E98CB1EB8D3719E9F451EB4DF2641BAB9D +:108370004785E599AC3E9CA2FAA0D6853FA30E4D59 +:10838000A67D73A939136E3189FCFB1FE15D3CA703 +:10839000259017A2F78CB905D6662D3D7F10383E83 +:1083A00052EE5B5B0253F9738DC0F7FF4413EAE6AC +:1083B0007E0AB2E7C1F121C2978487093FB7D03E58 +:1083C0005C170CA6840EE37C4B480C16A7B1E70C97 +:1083D00027532E33FDB6007B3E7C4E83959D93D56F +:1083E000C2F747EF93D839DEB4C6A56417EF355E00 +:1083F0001F9794A72B7D203293F0EE233B4D4071C5 +:10840000A8FA9B5DE55B63FED628FE9E60E7FE9EB4 +:108410006014C349E4B70D0BE578BFB510A644BEA0 +:108420006F222ED7937C9512AB8F1D95720E7D6FA8 +:10843000ECA8CC12092FFDE2DB7B3F7990E47B575F +:10844000C770668793CBDBF15611C3530362E8F123 +:10845000F5B47FB9D141F8F9A0E07D9EE248937D63 +:10846000E7E37EEC9B4F88ED7AF25B87492CE92CA1 +:1084700027BE7AF63DADC3C6EDD0B1D1CEF80CFB28 +:108480006B9F89DB5BB1D3B50D1666EFB9050ACEDC +:10849000D74653C90EE81FE5BD3F9A1AFFBDE39AC0 +:1084A0008227AE297E189E079C8FDBFFA7E61FCD93 +:1084B000F43696CF8C3DEF489773081F8DB4F38147 +:1084C00066675B09F9DF249A099F8FE59F9415D2AF +:1084D000D387E3FC42E14CFAA6B4CC6571A0FAE97B +:1084E000A0DAAF30EEC81F23FD0613791CA8EFEB0E +:1084F00005C1C1C7D9C7148894511FC47C2AA5F7E8 +:10850000BB01AA573362712A60990C5862F9A9C657 +:10851000A75AB7C6CA532180F52C75B43CED61F952 +:1085200038110F4E2962F9DA49F6D2888EEC24967A +:10853000A7E772489E3F235F9FA27D194ABDC81DD1 +:10854000EFEDE2635E1F2668426574CE80081B94DF +:10855000EF8502D9FF13C5AE6BB02E8DC3756F9634 +:10856000F3FE003B46D427C50FB5CAFA4FBEC0BCC8 +:108570009A11F3E31AE53DA77647D220D5B9DA1D63 +:108580003A9E2F810A79041F56A7553E60BD9E4929 +:108590007AA9FBD66CFC9F4CC2C963EE8F4C4CA7EA +:1085A000EFA6AC4EA2DE2F4A9EB748CF01B8C4FE5C +:1085B0005FD6D93F68D8F78541F48F358D687EC87E +:1085C0008A7C4E97F37E97ABF79E2A67756041C20F +:1085D000FBD959E7A7C5F45D04BEE99F48F29CC8E2 +:1085E000F49CA175BB270DB1EF250339511DF11F77 +:1085F000A8FE3C8FE45B137887D5F3356A3DFF1303 +:10860000F61A6927D57E31BD8732090FFF5FD9ED94 +:108610007F018C91E6F310270000000000000000AD +:1086200000000040000000000000000000000040CA +:108630000000000000000000000000280000000012 +:10864000000000000000001000000000000000001A +:1086500000000040000000000000000000000010CA +:108660000000000000000000000000080000000002 +:1086700000000000000000000000000000000000FA +:1086800000000000000000000000000000000000EA +:1086900000000000000000000000000000000000DA +:1086A00000000000000000000000000000000000CA +:1086B00000000000000000000000000000000000BA +:1086C00000000000000000000000000000000000AA +:1086D000000000000000000000000000000000009A +:1086E000000000000000000000000000000000008A +:1086F000000000000000000000000000000000007A +:108700000000000000000000000000000000000069 +:108710000000000000000000000000000000000059 +:108720000000000000000000000000000000000049 +:108730000000000000000000000000000000000039 +:108740000000000000000000000000000000000029 +:108750000000000000000000000000000000000019 +:108760000000000000000000000000000000000009 +:1087700000000000000000000000000000000000F9 +:108780000000000000000000000090000010000049 +:108790000000000800009008001000000000000227 +:1087A0000000900000100000000000108000000099 +:1087B0000000000000000000800000000000000039 +:1087C0000000000080000000000000000000000029 +:1087D000800000000000000000000000000093B8CE +:1087E0000001000400000001000093C00000000030 +:1087F00000000002000093C8000000000000000814 +:10880000000093CC0000000000000002000093D0A4 +:108810000000000000000008000097200040000059 +:1088200000000040000093E00080000000000048CD +:10883000000094E00040000000000008000094F0F8 +:1088400000400000000000180000A0000028000008 +:10885000000000280000C0C0000800000000000167 +:108860000000C0C100080000000000010000C0C2FC +:1088700000080000000000010000200800100000B7 +:1088800000000010000020000000000000000008B0 +:108890008000000000000000000000000000000058 +:1088A00000000000000000000000000000000000C8 +:1088B00000000000000000000000000000000000B8 +:1088C00000000000000000000000000000000000A8 +:1088D0000000000000000000000000000000000098 +:1088E0000000000000000000000000000000000088 +:1088F0000000000000000000000000000000000078 +:108900000000000000000000000000000000000067 +:108910000000000000000000000000000000000057 +:108920000000000000000000000000000000000047 +:108930000000000000000000000000000000000037 +:108940000000000000000000000000000000000027 +:108950008000000000000000000000008000000017 +:108960000000000000000000800000000000000087 +:108970000000000080000000000000000000000077 +:1089800080000000000000000000000080000000E7 +:108990000000000000000000800000000000000057 +:1089A0000000000080000000000000000000000047 +:1089B00080000000000000000000000080000000B7 +:1089C0000000000000000000800000000000000027 +:1089D0000000000080000000000000000000000017 +:1089E0000000000000000000000000000000000087 +:1089F0000000000000000000000000000000000077 +:108A00000000000000000000000000000000000066 +:108A100000000000000000000000000080000000D6 +:108A200000000000000000008000000000000000C6 +:108A300000000000800000000000000000000000B6 +:108A400000000000000000000000000080000000A6 +:108A50000000000000000000800000000000000096 +:108A60000000000080000000000000000000000086 +:108A700000000000000000000000000000000000F6 +:108A800000000000000000000000000000000000E6 +:108A900000000000000000000000000000000000D6 +:108AA00000000000000000000000000000000000C6 +:108AB0000000000000000000800000000000000036 +:108AC00000000000000000000000000000000000A6 +:108AD00000001EC800000000000000080000200880 +:108AE0000010000000000010000020000000000046 +:108AF000000000080000A080000800000000000145 +:108B00000000A08100080000000000010000A08219 +:108B10000008000000000001000090700038000014 +:108B20000000003800001ED8000000000000000215 +:108B300000001EDA000000000000000280000000BB +:108B400000000000000000008000000000000000A5 +:108B50000000000080000000000000000000000095 +:108B60008000000000000000000000008000000005 +:108B70000000000000000000800000000000000075 +:108B80000000000080000000000000000000000065 +:108B900080000000000000000000000080000000D5 +:108BA00000000000000000000000000000000000C5 +:108BB00000000000000000000000000000000000B5 +:108BC00000000000000000000000000000000000A5 +:108BD0000000000000000000000000000000000095 +:108BE0000000000080000000000000000000000005 +:108BF00080000000000000000000000000000000F5 +:108C000000000000000000008000000000000000E4 +:108C100000000000800000000000000000000000D4 +:108C20008000000000000000000000008000000044 +:108C300000000000000000008000000000000000B4 +:108C400000000000800000000000000000000000A4 +:108C50000000C00000400000000000400000C8000C +:108C600000400000000000400000C82E004000004E +:108C7000000000010000C8000040000200000001E8 +:108C80000000C80100400002000000000000800059 +:108C900000400000000000408000000000000000D4 +:108CA00000000000000080000008004000000004F8 +:108CB0000000800400080040000000040000B00034 +:108CC00000280000000000280000B1400010000053 +:108CD000000000100000B14A001000000000000178 +:108CE0000000880000800000000000800000880074 +:108CF000000800800000000200008C00004000001E +:108D000000000040000020080010000000000010DB +:108D100000002000000000000000000800001250C9 +:108D200000080000000000010000125100080000CF +:108D300000000001000012520008000000000001C5 +:108D400000008E00001000040000000400001290DB +:108D500000300018000000100000129800300018C9 +:108D60000000000280000000000000000000000081 +:108D700080000000000000000000000080000000F3 +:108D80000000000000000000800000000000000063 +:108D90000000000080000000000000000000000053 +:108DA00080000000000000000000000080000000C3 +:108DB00000000000000000000000000000000000B3 +:108DC00000000000000000000000000000000000A3 +:108DD0000000000000000000000000000000000093 +:108DE0000000000000000000800000000000000003 +:108DF00000000000800000000000000000000000F3 +:108E000000000000000000000000000080000000E2 +:108E100000000000000000008000000000000000D2 +:108E200000000000800000000000000000000000C2 +:108E30008000000000000000000000008000000032 +:108E40000000000000000000000083080080000017 +:108E50000000008000000001000000000000000091 +:108E6000000020080010000000000010000020009A +:108E7000000000000000000800008500000800005D +:108E80000000000100008501000800000000000152 +:108E900000008502000800000000000100006000E2 +:108EA00000380000000000388000000000000000D2 +:108EB00000000000000084540008000000000002D0 +:108EC00000008456000800000000000200008464D6 +:108ED00000100000000000048000000000000000FE +:108EE0000000000080000000000000000000000002 +:108EF00080000000000000000000000000000000F2 +:108F00000000000000000000000000000000000061 +:108F10000000000000000000000000000000000051 +:108F200000000000000000000000000080000000C1 +:108F300000000000000000008000000000000000B1 +:108F40000000000000000000000000000000000021 +:108F50008000000000000000000000008000000011 +:108F60000000000000000000800000000000000081 +:108F70000000000080000000000000000000000071 +:108F80008000000000000000000000000000300031 +:108F90000040000000000008000030080040000011 +:108FA000000000200000320000200000000000202F +:108FB000000037A80000000000000008800000004A +:108FC00000000000000000000000A0000000000001 +:108FD0000000200000003EC1000000000000000171 +:108FE00000003EE0000000000000000200001E0043 +:108FF00000E0000800000008800000000000000001 +:109000000000000000004000000800000000000117 +:109010000000400100080000000000010000404086 +:109020000008000400000002000040600008000486 +:1090300000000004800000000000000000000000AC +:109040000000400000080000000000040000400490 +:109050000008000000000004000040400000000084 +:109060000000000800004048000000000000000868 +:1090700000008000000000000000001000005040D0 +:10908000000100040000000100005000000000008A +:109090000000002000005008001000000000000444 +:1090A0000000500C0010000000000001000052C73A +:1090B0000000000000000001000052C60000000097 +:1090C000000000010000300000400020000000040B +:1090D00000003004004000200000000400003008C0 +:1090E00000400020000000020000300A0040002084 +:1090F000000000020000300C0040002000000001D1 +:109100000000300D00400020000000010000300E83 +:10911000004000200000000100003010004000204E +:109120000000000400003014004000200000000493 +:109130000000301800400020000000040000301C37 +:1091400000400020000000040000500001000080EA +:109150000008000400005004010000800008000422 +:109160000000000A0000000000000000000050683D +:109170000100008000000001000050690100008033 +:10918000000000010000506C01000080000000029F +:109190000000506E010000800000000200005070CE +:1091A00001000080000000040000507401000080F5 +:1091B0000000000400005066010000800000000272 +:1091C00000005064010000800000000100005060B9 +:1091D00001000080000000020000506201000080D9 +:1091E0000000000200005050010000800000000458 +:1091F000000050540100008000000004000050589E +:1092000001000080000000040000505C01000080AC +:10921000000000040000507C0100008000000001FC +:109220000000507D01000080000000010000401897 +:10923000001000000000000400004090001000003A +:10924000000000040000409800100000000000042E +:109250000000411000000000000000020000411268 +:1092600000000000000000020000411400000000A7 +:109270000000000200004116000000000000000293 +:109280000000604000080000000000020000604292 +:109290000008000000000002000060440008000018 +:1092A000000000020000604600080000000000020C +:1092B000000060800008000000000008000060005E +:1092C000000800000000000200006002000800002A +:1092D000000000010000600400080000000000021F +:1092E000000060C0000800000000000800006100ED +:1092F00000080000000000040000610400080000F5 +:1093000000000001000061400008000000000002B1 +:1093100000006144000800000000000200006180BD +:1093200000080000000000040000700000080000B9 +:1093300000000002000070020008000000000001B0 +:1093400000007004000800000000000200007040EF +:109350000008000000000002000070440008000047 +:10936000000000020000704600080000000000023B +:109370000000766000080000000000080000708017 +:1093800000080000000000020000708400080000D7 +:1093900000000002000076A00008000000000008A5 +:1093A0000000804000080000000000010000804133 +:1093B00000080000000000010000804200080000DA +:1093C00000000001000080430008000000000001D0 +:1093D0000000800000080000000000020000800281 +:1093E00000080000000000010000800400080000E8 +:1093F00000000002000080C0000800000000000221 +:10940000000080C20008000000000002000080C4CC +:10941000000800000000000200008080000800003A +:109420000000000100008081000800000000000131 +:10943000000080820008000000000001000080831E +:109440000008000000000001000080840008000007 +:1094500000000001000080850008000000000001FD +:10946000000080860008000000000001000060008D +:109470000008000000000002000060020008000078 +:10948000000000010000600400080000000000026D +:109490000000604200C000180000000200006040B0 +:1094A00000C00018000000020000604C00C000185E +:1094B000000000080000604400C000180000000820 +:1094C0000000605700C00018000000010000605458 +:1094D00000C00018000000020000605600C0001824 +:1094E00000000001000066400008000000000008C5 +:1094F000000066800008000000000008000066C050 +:1095000000080000000000088000000000000000CB +:1095100000000000800000000000000000000000CB +:10952000800000000000000000000000800000003B +:1095300000000000000000008000000000000000AB +:10954000000000008000000000000000000000009B +:10955000800000000000000000000000800000000B +:10956000000000000000000080000000000000007B +:10957000000000008000000000000000000000006B +:1095800080000000000000000000000080000000DB +:10959000000000000000000080000000000000004B +:1095A000000000008000000000000000000000003B +:1095B00080000000000000000000000080000000AB +:1095C000000000000000000080000000000000001B +:1095D000000000008000000000000000000000000B +:1095E000800000000000000000000000800000007B +:1095F00000000000000000008000000000000000EB +:1096000000000000800000000000000000000000DA +:10961000800000000000000000000000800000004A +:1096200000000000000000008000000000000000BA +:1096300000000000800000000000000000000000AA +:10964000800000000000000000000000800000001A +:10965000000000000000000080000000000000008A +:10966000000000008000000000000000000000007A +:1096700080000000000000000000000080000000EA +:10968000000000000000000080000000000000005A +:10969000000000008000000000000000000000004A +:1096A00080000000000000000000000080000000BA +:1096B000000000000000000080000000000000002A +:1096C000000000008000000000000000000000001A +:1096D000800000000000000000000000800000008A +:1096E00000000000000000008000000000000000FA +:1096F00000000000800000000000000000000000EA +:109700008000000000000000000000008000000059 +:1097100000000000000000008000000000000000C9 +:1097200000000000800000000000000000000000B9 +:109730008000000000000000000000008000000029 +:109740000000000000000000800000000000000099 +:109750000000000080000000000000000000000089 +:1097600080000000000000000000000080000000F9 +:109770000000000000000000800000000000000069 +:109780000000000080000000000000000000000059 +:1097900080000000000000000000000080000000C9 +:1097A0000000000000000000800000000000000039 +:1097B0000000000080000000000000000000000029 +:1097C0000000000000000000000000008000000019 +:1097D0000000000000000000000000000000000089 +:0897E000070233000000000045 +:00000001FF --- linux-lowlatency-3.5.0.orig/firmware/bnx2x/bnx2x-e2-7.2.51.0.fw.ihex +++ linux-lowlatency-3.5.0/firmware/bnx2x/bnx2x-e2-7.2.51.0.fw.ihex @@ -0,0 +1,18459 @@ +:100000000000356000000068000005D8000035D011 +:100010000000549800003BB00000008C000090509D +:100020000000E164000090E0000000C000017248A0 +:1000300000012D7400017310000000740002A088FC +:10004000000059E00002A100000000AC0002FAE844 +:10005000000173F80002FB98000011B800046F98CB +:100060000000000400048158021100B800000001E3 +:10007000020600DC000000010306100001FF000082 +:100080000A00000100000008020617FC003FE00122 +:100090000A00000100000010030617FC020101FF26 +:1000A0000A0000010000000803060200000304002B +:1000B0000A00000100000010030602000003040310 +:1000C000020600DC00000000040601C80000000277 +:1000D000040601D8000000020A0000020000000827 +:1000E000030601C000020406030601D00002040852 +:1000F0000A00000200000010030601C00002040A0A +:10010000030601D00002040C0406022800000002CD +:1001100004060238000000020A0000020000000885 +:10012000030602200002040E03060230000204103F +:100130000A00000200000010030602200002041260 +:100140000306023000020414020D004400000032D5 +:10015000030D004C00040416040D005C00000004B4 +:10016000030D008C0004041A030D00A00005041EFA +:10017000020D00B800000002030D00C000040423BB +:10018000020D015C00000001030D01640002042760 +:10019000020D020400000001030D020C00030429FB +:1001A000030D02200002042C040D02800000001246 +:1001B000030D03000018042E040D400000000A0087 +:1001C0000A00000100000008040D03600000000C9C +:1001D000030D0004000F0446020D01140000000D81 +:1001E000020D01180000002D020D01140000001D79 +:1001F000020D01180000003D020D01140000004D29 +:10020000020D01180000006D020D01140000005DD8 +:10021000020D01180000007D0310100000030455BA +:1002200002101050000000010710110000100458C7 +:100230000810114000000008071011600010046849 +:10024000081011A000000018071018000200047820 +:1002500004104C00000001000210700400000001B6 +:100260000A00000100000008031040D400020678D4 +:1002700002104028000000100210404400003FFF20 +:100280000210405800280000021040840084924A66 +:100290000210405800000000021041380000000128 +:1002A0000210413800000001021041380000000136 +:1002B0000210413800000001021041380000000126 +:1002C0000210413800000001021041380000000116 +:1002D0000210413800000001030C20080003067AD8 +:1002E000030C201C0004067D030C2038000406814A +:1002F000040C20480000001D020C20BC000000017E +:10030000040C20C00000003F030C21BC0003068544 +:10031000040C21C80000001C030C223800040688CD +:10032000010C224800000000010C224C00000000DB +:10033000010C225000000000010C225400000000BB +:10034000010C225800000000010C225C000000009B +:10035000010C226000000000010C2264000000007B +:10036000010C226800000000010C226C000000005B +:10037000010C227000000000010C2274000000003B +:10038000010C227800000000010C227C000000001B +:10039000030C22D80004068C0A00000100000009AA +:1003A000020C2000000003E80A0000010000000A1F +:1003B000020C2000000000030A0000010000000CF5 +:1003C000020C2000000000010A00000100001001E2 +:1003D000020C2000000005DC0A00000100001002F1 +:1003E000020C2000000000040A00000100001004BC +:1003F000020C2000000000010A00000100002001A2 +:10040000020C2000000005DC0A00000100002002B0 +:10041000020C2000000000040A000001000020047B +:10042000020C200000000001052004000071000003 +:100430000620078000100690042200000000400003 +:1004400004232400000016000A0000010000000838 +:10045000022000BC00000032032211700008069246 +:10046000032211A80090069A0422C0000000000692 +:100470000322C0180004072A0422C0280000000C30 +:100480000322C0580004072E0422C0680000000C9C +:100490000322C098000407320422C0A80000000C08 +:1004A0000322C0D8000407360422C0E80000000C74 +:1004B0000322C1180004073A0422C1280000000CDE +:1004C0000322C1580004073E0422C1680000000C4A +:1004D0000322C198000407420422C1A80000000CB6 +:1004E0000322C1D8000407460422C1E80000000C22 +:1004F0000322C2180004074A0422C2280000000C8C +:100500000322C2580004074E0422C2680000000CF7 +:100510000322C298000407520422C2A80000000C63 +:100520000322C2D8000407560422C2E80000000CCF +:100530000322C3180004075A0422C3280000000C39 +:100540000322C3580004075E0422C3680000000CA5 +:100550000322C398000407620422C3A80000000C11 +:100560000322C3D8000407660422C3E80000000C7D +:100570000322C4180004076A0422C4280000000CE7 +:100580000322C4580004076E0422C4680000000C53 +:100590000322C498000407720422C4A80000000CBF +:1005A0000322C4D8000407760422C4E80000000C2B +:1005B0000322C5180004077A0422C5280000000C95 +:1005C0000322C5580004077E0422C5680000000C01 +:1005D0000322C598000407820422C5A80000000C6D +:1005E0000322C5D8000407860422C5E80000000CD9 +:1005F0000322C6180004078A0422C6280000000C43 +:100600000322C6580004078E0422C6680000000CAE +:100610000322C698000407920422C6A80000000C1A +:100620000322C6D8000407960422C6E80000000C86 +:100630000322C7180004079A0422C7280000000CF0 +:100640000322C7580004079E0422C7680000000C5C +:100650000322C798000407A20422C7A80000000CC8 +:100660000322C7D8000407A60422C7E80000000C34 +:100670000322C818000407AA0422C8280000000C9E +:100680000322C858000407AE0422C8680000000C0A +:100690000322C898000407B20422C8A80000000C76 +:1006A0000322C8D8000407B60422C8E80000000CE2 +:1006B0000322C918000407BA0422C9280000000C4C +:1006C0000322C958000407BE0422C9680000000CB8 +:1006D0000322C998000407C20422C9A80000000C24 +:1006E0000322C9D8000407C60422C9E80000000C90 +:1006F0000322CA18000407CA0422CA280000000CFA +:100700000322CA58000407CE0422CA680000000C65 +:100710000322CA98000407D20422CAA80000000CD1 +:100720000322CAD8000407D60422CAE80000000C3D +:100730000322CB18000407DA0422CB280000000CA7 +:100740000322CB58000407DE0422CB680000000C13 +:100750000322CB98000407E20422CBA80000000C7F +:100760000322CBD8000407E60422CBE80000000CEB +:100770000322CC18000407EA0422CC280000000C55 +:100780000322CC58000407EE0422CC680000000CC1 +:100790000322CC98000407F20422CCA80000000C2D +:1007A0000322CCD8000407F60422CCE80000000C99 +:1007B0000322CD18000407FA0422CD280000000C03 +:1007C0000322CD58000407FE0422CD680000000C6F +:1007D0000322CD98000408020422CDA80000000CDA +:1007E0000322CDD8000408060422CDE80000000C46 +:1007F0000322CE180004080A0422CE280000000CB0 +:100800000322CE580004080E0422CE680000000C1B +:100810000322CE98000408120422CEA80000000C87 +:100820000322CED8000408160422CEE80000000CF3 +:100830000322CF180004081A0422CF280000000C5D +:100840000322CF580004081E0422CF680000000CC9 +:100850000322CF98000408220422CFA80000000C35 +:100860000322CFD8000408260422CFE80000000CA1 +:100870000322D0180004082A0422D0280000000C0B +:100880000322D0580004082E0422D0680000000C77 +:100890000322D098000408320422D0A80000000CE3 +:1008A0000322D0D8000408360422D0E80000000C4F +:1008B0000322D1180004083A0422D1280000000CB9 +:1008C0000322D1580004083E0422D1680000000C25 +:1008D0000322D198000408420422D1A80000000C91 +:1008E0000322D1D8000408460422D1E80000000CFD +:1008F0000322D2180004084A0422D2280000000C67 +:100900000322D2580004084E0422D2680000000CD2 +:100910000322D298000408520422D2A80000000C3E +:100920000322D2D8000408560422D2E80000000CAA +:100930000322D3180004085A0422D3280000000C14 +:100940000322D3580004085E0422D3680000000C80 +:100950000322D398000408620422D3A80000000CEC +:100960000322D3D8000408660422D3E80000000C58 +:100970000322D4180004086A0422D4280000000CC2 +:100980000322D4580004086E0422D4680000000C2E +:100990000322D498000408720422D4A80000000C9A +:1009A0000322D4D8000408760422D4E80000000C06 +:1009B0000322D5180004087A0422D5280000000C70 +:1009C0000322D5580004087E0422D5680000000CDC +:1009D0000322D598000408820422D5A80000000C48 +:1009E0000322D5D8000408860422D5E80000000CB4 +:1009F0000322D6180004088A0422D6280000000C1E +:100A00000322D6580004088E0422D6680000000C89 +:100A10000322D698000408920422D6A80000000CF5 +:100A20000322D6D8000408960422D6E80000000C61 +:100A30000322D7180004089A0422D7280000000CCB +:100A40000322D7580004089E0422D7680000000C37 +:100A50000322D798000408A20422D7A80000000CA3 +:100A60000322D7D8000408A60422D7E80000000C0F +:100A70000322D818000408AA0422D8280000000C79 +:100A80000322D858000408AE0422D8680000000CE5 +:100A90000322D898000408B20422D8A80000000C51 +:100AA0000322D8D8000408B60422D8E80000000CBD +:100AB0000322D918000408BA0422D9280000000C27 +:100AC0000322D958000408BE0422D9680000000C93 +:100AD0000322D998000408C20422D9A80000000CFF +:100AE0000322D9D8000408C60422D9E80000000C6B +:100AF0000322DA18000408CA0422DA280000000CD5 +:100B00000322DA58000408CE0422DA680000000C40 +:100B10000322DA98000408D20422DAA80000000CAC +:100B20000322DAD8000408D60422DAE80000000C18 +:100B30000322DB18000408DA0422DB280000000C82 +:100B40000322DB58000408DE0422DB680000000CEE +:100B50000322DB98000408E20422DBA80000000C5A +:100B60000322DBD8000408E60422DBE80000000CC6 +:100B70000322DC18000408EA0422DC280000000C30 +:100B80000322DC58000408EE0422DC680000000C9C +:100B90000322DC98000408F20422DCA80000000C08 +:100BA0000322DCD8000408F60422DCE80000000C74 +:100BB0000322DD18000408FA0422DD280000000CDE +:100BC0000322DD58000408FE0422DD680000000C4A +:100BD0000322DD98000409020422DDA80000000CB5 +:100BE0000322DDD8000409060422DDE80000000C21 +:100BF0000322DE180004090A0422DE280000000C8B +:100C00000322DE580004090E0422DE680000000CF6 +:100C10000322DE98000409120422DEA80000000C62 +:100C20000322DED8000409160422DEE80000000CCE +:100C30000322DF180004091A0422DF280000000C38 +:100C40000322DF580004091E0422DF680000000CA4 +:100C50000322DF98000409220422DFA80000000C10 +:100C60000322DFD8000409260422DFE80000000C7C +:100C70000322E0180004092A0422E0280000000CE6 +:100C80000322E0580004092E0422E0680000000C52 +:100C90000322E098000409320422E0A80000000CBE +:100CA0000322E0D8000409360422E0E80000000C2A +:100CB0000322E1180004093A0422E1280000000C94 +:100CC0000322E1580004093E0422E1680000000C00 +:100CD0000322E198000409420422E1A80000000C6C +:100CE0000322E1D8000409460422E1E800000006DE +:100CF0000422F640000000200223800000000010C3 +:100D00000223804000000012022380800000003097 +:100D1000022380C00000000E02238BC000000001EF +:100D20000A000002000000080223838000086470AB +:100D3000022383C0000002260A000002000000090E +:100D4000022383000008647002238340000002260F +:100D50000A0000020000000A022383000000055F71 +:100D600002238340000000010A0000020000000C82 +:100D7000022383000000015702238340000000008B +:100D80000A0000020000100002238380000C96A8D5 +:100D9000022383C0000003390A0000020000100192 +:100DA00002238300000C96A802238340000003392D +:100DB0000A00000200001002022383000000080E57 +:100DC00002238340000000020A0000020000100419 +:100DD000022383000000020302238340000000007E +:100DE0000A0000020000200002238380000CF8505B +:100DF000022383C0000003520A0000020000200109 +:100E000002238300000CF8500223834000000352A9 +:100E10000A00000200002002022383000000084DA7 +:100E200002238340000000020A00000200002004A8 +:100E3000022383000000021302238340000000000D +:100E40000524000031B2000005248000282A0C6D22 +:100E50000624D46063DA094A0A0000010000000198 +:100E600002231480000000010A00000100000002BB +:100E700002231480000000010A00000100000004A9 +:100E80000223148000000000012000000000000088 +:100E90000120000400000000012000080000000004 +:100EA0000120000C000000000120001000000000E4 +:100EB000012000140000000003200020001A094C4B +:100EC000032000A4000209660220022400000000A2 +:100ED00002200234000000000220024C000000004A +:100EE000022002E40000FFFF0820200000000800AC +:100EF0000A0000010000001008204000000002006D +:100F00000422110800000002042234000000000244 +:100F10000422590000000006042260400000003056 +:100F20000422F3000000001004221110000000024F +:100F300004223408000000020422591800000006B0 +:100F400004226100000000300422F3400000001081 +:100F500004221118000000020422341000000002D4 +:100F60000422593000000006042261C00000003055 +:100F70000422F3800000001004221120000000026F +:100F80000422341800000002042259480000000620 +:100F900004226280000000300422F3C00000001030 +:100FA0000422112800000002042234200000000264 +:100FB0000422596000000006042263400000003053 +:100FC0000422F4000000001004221130000000028E +:100FD0000422342800000002042259780000000690 +:100FE00004226400000000300422F44000000010DD +:100FF00004221138000000020422343000000002F4 +:101000000422599000000006042264C00000003051 +:101010000422F480000000100422114000000002AD +:101020000422343800000002042259A800000006FF +:1010300004226580000000300422F4C0000000108B +:1010400004102400000000E00310201C00020968C6 +:10105000021020C000000002031020040002096AF0 +:1010600002170008000000020217002C0000000315 +:1010700002170038007C1004031700440006096CB6 +:10108000021700700000000C0317007800020972BC +:10109000021701C4081000000217034400000001F9 +:1010A0000317040000080974031704300008097CC2 +:1010B00003170480000409840A00000100000008EE +:1010C0000217003C000000040A00000100000010AC +:1010D0000217003C00000008021700040000000F87 +:1010E000021701EC00000002021701F400000002E8 +:1010F000021701EC00000002021701F400000002D8 +:10110000021701EC00000002021701F400000002C7 +:10111000021701EC00000002021701F400000002B7 +:10112000021701EC00000002021701F400000002A7 +:10113000021701EC00000002021701F40000000297 +:10114000021701EC00000002021701F40000000287 +:10115000021701EC00000002021701F40000000277 +:101160000A000001000000080213007800000032AD +:101170000213003C000061A80413010800000003F2 +:1011800002130104000000000213013400000000FB +:101190000413010800000003021301040000000012 +:1011A00002130134000000000413010800000003D2 +:1011B00002130104000000000213013400000000CB +:1011C00004130108000000030213010400000000E2 +:1011D00002130134000000000413010800000003A2 +:1011E000021301040000000002130134000000009B +:1011F00004130108000000030213010400000000B2 +:101200000213013400000000041301080000000371 +:10121000021301040000000002130134000000006A +:101220000413010800000003021301040000000081 +:1012300002130134000000000A00000100000088D1 +:101240000200A5F8000000000A00000100000108EB +:101250000200A5F8000000010A0000010000009053 +:101260000200AA84000000000A0000010000011032 +:101270000200AA84000000010A00000100000090A2 +:101280000200AA88000000000A000001000001100E +:101290000200AA88000000010200A2700000000005 +:1012A0000200A274000000000200A2700000000012 +:1012B0000200A274000000000200A2700000000002 +:1012C0000200A274000000000200A27000000000F2 +:1012D0000200A2740000000002016204000000008D +:1012E000030100B400020988030100CC0002098A4E +:1012F000020100DC00000001030101000002098C72 +:101300000201007C0030000002010084000000287F +:101310000201008C00000000020101300000000406 +:10132000020102440000003F0201025C00000001D3 +:1013300002010328000000000201055400000030F3 +:10134000020160580000FFFF020160600000000021 +:101350000201607000000007020160B000000000A0 +:10136000020160C000000001020160C8000000002E +:101370000201620800000000040180540000000324 +:1013800002018078000000000201812400000000BA +:101390000A00000100000080020180380000000601 +:1013A0000A0000010000020002018038000000076E +:1013B0000A0000010000040002018038000000065D +:1013C0000A00000100000800020180380000000E41 +:1013D000020100C400000001020100F80000000149 +:1013E000020100F000000001020100800030000056 +:1013F00002010088000000280201009000000000A7 +:101400000201013400000004020102480000003F14 +:10141000020102DC000000010201032C00000000B8 +:1014200002010564000000300201605C0000FFFF63 +:101430000201606400000000020160740000000707 +:10144000020160B400000000020160C4000000015D +:10145000020160CC000000000201620C00000000EC +:10146000040181A800000004020181D000000000F6 +:101470000A000001000000800201818C00000006CB +:101480000A000001000002000201818C0000000738 +:101490000A000001000004000201818C0000000627 +:1014A0000A000001000008000201818C0000000E0B +:1014B000020100C800000001020100FC0000000160 +:1014C000020100F4000000010401013800000011D5 +:1014D0000401017C0000001104010138000000112A +:1014E0000401017C0000001104010138000000111A +:1014F0000401017C0000001104010138000000110A +:101500000401017C000000110215C0900000892632 +:101510000215C09C0000000402140000000000013D +:101520000215C024000000000315C0EC0002098E63 +:101530000315C100000209900A000001000020000C +:101540000315C1F400080992031400300002099A3F +:101550000214004000000001090000020000100811 +:10156000031400040003099C021400440000FFFF60 +:101570000A00000400002000031400380002099F44 +:1015800002140044000FFFFF0315C160000709A10A +:101590000315C198000209A8090000010000100805 +:1015A00004140004000000030A00000100002000F1 +:1015B0000415C160000000070214000000000000D4 +:1015C000020090C40000E000020090CC0000F30094 +:1015D000030090D4000209AA020090E0000073000A +:1015E000030090E8000209AC020090F400007300D0 +:1015F000030090FC000209AE0200910800005300B5 +:10160000020091100000000403009128000709B0B7 +:101610000300916C000609B70400918400000006E5 +:101620000300919C000509BD0300942C000309C22E +:101630000300942C000309C50300942C000309C87F +:101640000300942C000309CB0300942C000309CE63 +:101650000300942C000309D10300942C000309D447 +:101660000300942C000309D703040004001209DAD4 +:1016700002040054000000430204005C0000000665 +:10168000020400700000000403040078000409EC68 +:1016900004040088000000050304009C000309F016 +:1016A000040400A800000004030400B8001109F3BA +:1016B00001040124000000000104012800000000D2 +:1016C0000104012C000000000104013000000000B2 +:1016D000020401340000000F030401D000020A04D8 +:1016E0000204022C000000040304025800040A064D +:1016F0000312049400210A0A021203880000006405 +:1017000002120390000000080312039C00030A2B3E +:10171000031203BC00030A2E021203D000000000D3 +:101720000212036C00000001031201BC003C0A31EC +:10173000031202B000020A6D0312032400020A6FB2 +:10174000021205B400000001031205F800030A713B +:101750000212066C00000001021201B0000000013C +:10176000021207D800000000021207D80000000093 +:10177000021207D800000000021207D80000000083 +:10178000021207D800000000021207D80000000073 +:10179000021207D800000000021207D80000000063 +:1017A000021030D8000000010710380000050A744C +:1017B0000710392000050A7907103B0000050A7E52 +:1017C00007103C0000050A830316803000080A88D1 +:1017D00002168054000000020416807C0000000500 +:1017E0000316809000020A900316809C00020A9261 +:1017F000021680AC00000054041680B800000005FA +:10180000031680CC00080A94021680F0000000073E +:101810000316810000060A9C0316812800030AA211 +:101820000316814000060AA50316816800030AAB6F +:10183000031681A800030AAE031681E800030AB16B +:10184000031681F800030AB40316820800070AB7DA +:101850000316823400020ABE0416827800000004D7 +:101860000316828800060AC0021688102020010193 +:10187000021688202020010102168838202001014C +:1018800002168848202001010316E6BC00020AC6A1 +:101890000A000014000000080316806000070AC850 +:1018A000041680A400000002041680B000000002AC +:1018B000031680F400030ACF0316811800040AD22D +:1018C0000316813400030AD60316815800040AD98E +:1018D00003168174000D0ADD031681B4000D0AEAB7 +:1018E000021681F4000001FC0216820400000003CD +:1018F0000316823C000B0AF70416826800000004FD +:101900000216880C010101010316881400030B0262 +:101910000316882400050B050316883C00030B0AF8 +:101920000316E6C400020B0D0316E6E800050B0FD4 +:101930000216E794000000010A00001C00001000DD +:101940000316806000070B14041680A40000000238 +:10195000041680B000000002031680F400030B1B85 +:101960000316811800040B1E0316813400030B229A +:101970000316815800040B2502168178000000012F +:10198000021681840000000102168190000000010F +:10199000021681A400000004021681B800000001B4 +:1019A000021681C400000001021681D0000000016F +:1019B000021681E400000004021681F4000001FC1C +:1019C00002168204000000030316823C00020B2969 +:1019D00002168248009200920216825001240124CD +:1019E0000316825800040B2B0416826800000004C2 +:1019F0000216880C010101010316881400030B2F45 +:101A00000316882400050B320316883C00030B37AD +:101A10000316E6E800020B3A0216E6F8000002049C +:101A20000A00000E00001020021681740000000061 +:101A30000316817C00020B3C0316818800020B3EDA +:101A40000316819400040B40021681B400000000CC +:101A5000031681BC00020B44031681C800020B462A +:101A6000031681D400040B48021682440E490E4925 +:101A70000216824C00920092021682540124012424 +:101A80000316E6C400020B4C0316E6F000020B4EF0 +:101A90000216E794000000010A00000E000010404A +:101AA00002168174000000010316817C00020B50B5 +:101AB0000316818800020B520316819400040B5414 +:101AC000021681B400000001031681BC00020B580D +:101AD000031681C800020B5A031681D400040B5C64 +:101AE00002168244000000000216824C0FFF0FFF16 +:101AF00002168254000000000316E6C400020B60C8 +:101B00000316E6F000020B620216E79400000000E4 +:101B10000A000007000020000316806000070B6425 +:101B2000031680A400020B6B031680B000020B6D3D +:101B3000021681F4000001C0021682040000003F7A +:101B40000216823C0000007F0316E7BC00080B6F02 +:101B50000A00000F00004020031680F400030B77FA +:101B60000316811800040B7A0316813400030B7EE0 +:101B70000316815800040B8103168174000D0B8538 +:101B8000031681B4000D0B920316824000060B9FD2 +:101B900004168258000000060316827000020BA58E +:101BA0000216880C010101010316881400030BA71B +:101BB0000316882400050BAA0316883C00030BAF0C +:101BC0000316E6C400020BB20216E79400000001FF +:101BD0000A00000D00004040031680F400030BB41F +:101BE0000316811800040BB70316813400030BBBE6 +:101BF0000316815800040BBE03168174000D0BC23E +:101C0000031681B4000D0BCF03168240000E0BDCCF +:101C10000216880C010101010316881400030BEA67 +:101C20000316882400050BED0316883C00030BF215 +:101C30000316E6C400020BF50216E794000000004C +:101C40000A00000D00008000031680F400030BF76B +:101C50000316811800040BFA0316813400030BFEEF +:101C60000316815800040C0103168174000D0C0545 +:101C7000031681B4000D0C1203168240000E0C1FD7 +:101C80000216880C010101200316881400030C2D94 +:101C90000316882400050C300316883C00030C351D +:101CA0000316E6C400020C380216E7940000000197 +:101CB000021680EC000000FF0304040800140C3A34 +:101CC000020404CC000000010305004400020C4E95 +:101CD0000305005000080C500305009000070C5845 +:101CE000030500B000020C5F030500C000020C6198 +:101CF000030500D400020C6302050114000000017A +:101D00000305011C00020C6502050204000000012D +:101D10000305020C00020C670205021C00000020F3 +:101D2000040502400000000A0405400000000D0008 +:101D30000A000002000000080305022000020C69EE +:101D40000305028000200C6B0A0000020000001056 +:101D50000305022000020C8B03050280001D0C8D80 +:101D60000305000400100CAA020500E00000000EAC +:101D7000020500E40000002E020500E00000001E45 +:101D8000020500E40000003E020500E00000004EF5 +:101D9000020500E40000006E020500E00000005EA5 +:101DA000020500E40000007E04164024000000024A +:101DB0000316403000030CBA021640440000002015 +:101DC000021640700000001C0216420800000001CC +:101DD000021642100000000102164220000000011D +:101DE00002164228000000010216423000000001E5 +:101DF0000216423800000001021642600000000294 +:101E00000A000001000000090216401C0003D090E7 +:101E10000A0000010000000A0216401C00000271C6 +:101E20000A0000010000000C0216401C0000009C8B +:101E30000A000001000010010216401C0005B8D87D +:101E40000A000001000010020216401C000003A955 +:101E50000A000001000010040216401C000000EA05 +:101E60000A000001000020010216401C0005B8D83D +:101E70000A000001000020020216401C000003A915 +:101E80000A000001000020040216401C000000EAC5 +:101E90000216400000000001021640D800000001B8 +:101EA0000316400800030CBD02164240000000006B +:101EB00002164248000000000816427000000002AE +:101EC00002164250000000000216425800000000B6 +:101ED00008164280000000020304200800040CC021 +:101EE0000304201C00040CC402042038000000205D +:101EF0000404203C0000001F020420B80000000180 +:101F0000040420BC0000005F0304223800040CC855 +:101F100001042248000000000104224C00000000DF +:101F200001042250000000000104225400000000BF +:101F300001042258000000000104225C000000009F +:101F4000010422600000000001042264000000007F +:101F500001042268000000000104226C000000005F +:101F6000010422700000000001042274000000003F +:101F700001042278000000000104227C000000001F +:101F8000030422C000040CCC0A0000010000000978 +:101F900002042000000003E80A0000010000000A1B +:101FA00002042000000000030A0000010000000CF1 +:101FB00002042000000000010A00000100001001DE +:101FC00002042000000005DC0A00000100001002ED +:101FD00002042000000000040A00000100001004B8 +:101FE00002042000000000010A000001000020019E +:101FF00002042000000005DC0A00000100002002AD +:1020000002042000000000040A0000010000200477 +:10201000020420000000000105180400008A0000EE +:10202000061807B800090CD0041A00000000400090 +:10203000041B2400000016000A0000020000000833 +:10204000021800BC00000032021B945C0000003249 +:10205000031A16C800020CD2031A17D000900CD431 +:10206000031A404000040D64041A405000000006AA +:10207000031A406800020D68031A52C000020D6A7C +:10208000031A800003F90D6C041A8FE400000007A6 +:10209000031B3D9000141165021B800000000034FA +:1020A000021B804000000018021B80800000000C12 +:1020B000021B80C000000020021B8BC0000000013A +:1020C0000A00000200000008021B83800008647000 +:1020D000021B83C0000002260A0000020000000963 +:1020E000021B830000086470021B8340000002266C +:1020F0000A0000020000000A021B83000000055FC6 +:10210000021B8340000000010A0000020000000CD6 +:10211000021B830000000157021B834000000000E7 +:102120000A00000200001000021B8380000C96A829 +:10213000021B83C0000003390A00000200001001E6 +:10214000021B8300000C96A8021B83400000033989 +:102150000A00000200001002021B83000000080EAB +:10216000021B8340000000020A000002000010046D +:10217000021B830000000203021B834000000000DA +:102180000A00000200002000021B8380000CF850AF +:10219000021B83C0000003520A000002000020015D +:1021A000021B8300000CF850021B83400000035206 +:1021B0000A00000200002002021B83000000084DFC +:1021C000021B8340000000020A00000200002004FD +:1021D000021B830000000213021B8340000000006A +:1021E000021B944000000001041B94480000000200 +:1021F000051C0000321E0000051C8000333F0C88C7 +:10220000051D0000361A1958051D800037CC26DF41 +:10221000051E00000E1B34D2061E21E03BC41179BE +:102220000A00000100000001021B148000000001F0 +:102230000A00000100000002021B148000000001DF +:102240000A00000100000004021B148000000000CE +:102250000118000000000000011800040000000048 +:1022600001180008000000000118000C0000000028 +:102270000118001000000000011800140000000008 +:1022800003180020001A117B031800A40002119506 +:1022900002180224000000000218023400000000AE +:1022A0000218024C00000000021802E4000000FFC7 +:1022B00008181000000004000A00000100000010CF +:1022C0000818200000000600031A1A2000041197C5 +:1022D000041A300000000012041A309000000012AE +:1022E000041AD4C800000002041AD4D80000002048 +:1022F000041AD5D800000002041B440000000006A8 +:10230000031A1A300004119B041A3048000000120E +:10231000041A30D800000012041AD4D000000002C1 +:10232000041AD55800000020041AD5E0000000026D +:10233000041B441800000006031A40000002119F0D +:10234000041A500000000002041A5080000000121D +:10235000031A6140000211A1041AA000000000024B +:10236000041B443000000002031A4008000211A3BD +:10237000041A501000000002041A50C80000001295 +:10238000031A6148000211A5041AA0080000000207 +:10239000041B443800000002031A4010000211A779 +:1023A000041A502000000002041A5110000000120C +:1023B000031A6150000211A9041AA01000000002C3 +:1023C000041B444000000002031A4018000211AB35 +:1023D000041A503000000002041A51580000001284 +:1023E000031A6158000211AD041AA018000000027F +:1023F000041B444800000002031A4020000211AFF1 +:10240000041A504000000002041A51A000000012FB +:10241000031A6160000211B1041AA020000000023A +:10242000041B445000000002031A4028000211B3AC +:10243000041A505000000002041A51E80000001273 +:10244000031A6168000211B5041AA02800000002F6 +:10245000041B445800000002031A4030000211B768 +:10246000041A506000000002041A523000000012EA +:10247000031A6170000211B9041AA03000000002B2 +:10248000041B446000000002031A4038000211BB24 +:10249000041A507000000002041A52780000001262 +:1024A000031A6178000211BD041AA038000000026E +:1024B000041B446800000002020E004C00000032C1 +:1024C000030E0054000811BF030E0094000711C74B +:1024D000030E00B4000211CE020E00C40000000082 +:1024E000020E00CC00000006030E00D8000211D03E +:1024F000020E014400000001030E014C000211D243 +:10250000020E020400000001030E020C000211D4AE +:10251000030E021C000411D6030E0280001B11DA08 +:10252000040E030000000012040E2000000008004A +:102530000A00000100000008040E02EC0000000583 +:10254000030E0004001111F5020E01100000000F2F +:10255000020E01140000002F020E01100000001FE7 +:10256000020E01140000003F020E01100000004F97 +:10257000020E01140000006F020E01100000005F47 +:10258000020E01140000007F020C10000000002861 +:10259000030C400800041206030C401C0004120A3D +:1025A000030C40380006120E040C40500000001FBF +:1025B000020C40CC00000001040C40D00000003AA6 +:1025C000030C41B800061214040C41D00000001A9C +:1025D000030C42380004121A010C424800000000AB +:1025E000010C424C00000000010C425000000000B1 +:1025F000010C425400000000010C42580000000091 +:10260000010C425C00000000010C42600000000070 +:10261000010C426400000000010C42680000000050 +:10262000010C426C00000000010C42700000000030 +:10263000010C427400000000010C42780000000010 +:10264000010C427C00000000010C428000000000F0 +:10265000030C42D80004121E0A0000010000000909 +:10266000020C4000000003E80A0000010000000A1C +:10267000020C4000000000030A0000010000000CF2 +:10268000020C4000000000010A00000100001001DF +:10269000020C4000000005DC0A00000100001002EE +:1026A000020C4000000000040A00000100001004B9 +:1026B000020C4000000000010A000001000020019F +:1026C000020C4000000005DC0A00000100002002AE +:1026D000020C4000000000040A0000010000200479 +:1026E000020C4000000000010530040000C00000A2 +:1026F000063007E800031222043200000000400008 +:1027000004332400000016000A0000010000000845 +:10271000023000BC0000003203322C700090122402 +:10272000033234C0000812B40432408000000010AC +:10273000033240C0000212BC03337400000412BE16 +:10274000023380000000001A023380400000004E77 +:102750000233808000000010023380C0000000209F +:1027600002338BC0000000010A00000200000008D4 +:102770000233838000086470023383C000000226A5 +:102780000A000002000000090233830000086470A0 +:1027900002338340000002260A0000020000000A03 +:1027A000023383000000055F023383400000000114 +:1027B0000A0000020000000C0233830000000157F1 +:1027C00002338340000000000A00000200001000F5 +:1027D00002338380000C96A8023383C000000339C3 +:1027E0000A0000020000100102338300000C96A8CA +:1027F00002338340000003390A0000020000100287 +:10280000023383000000080E023383400000000200 +:102810000A000002000010040233830000000203DB +:1028200002338340000000000A0000020000200084 +:1028300002338380000CF850023383C0000003523F +:102840000A0000020000200102338300000CF8504F +:1028500002338340000003520A00000200002002FD +:10286000023383000000084D023383400000000261 +:102870000A0000020000200402338300000002135B +:1028800002338340000000000534000035140000CE +:1028900005348000352E0D450535000038931A911A +:1028A00005358000377D28B60536000034DC3696C5 +:1028B000053680001E3E43CD0636C630273A12C28A +:1028C0000A00000100000001023314800000000132 +:1028D0000A00000100000002023314800000000121 +:1028E0000A00000100000004023314800000000010 +:1028F0000130000000000000013000040000000072 +:1029000001300008000000000130000C0000000051 +:102910000130001000000000013000140000000031 +:1029200003300020001A12C4033000A4000212DE9B +:1029300002300224000000000230023400000000D7 +:102940000230024C00000000023002E40000FFFFF1 +:1029500008302000000008000A00000100000010FC +:10296000083040000000020004322C400000000249 +:1029700003322C50000412E0043293C00000000225 +:1029800004329400000000100432C0000000002057 +:102990000432C100000000200432C2000000002008 +:1029A0000432C300000000200432C40000000020F4 +:1029B0000432C500000000200432C60000000020E0 +:1029C0000432C700000000200432C80000000020CC +:1029D0000432C900000000200432CA0000000020B8 +:1029E0000432CB00000000200432CC0000000020A4 +:1029F0000432CD00000000200432CE000000002090 +:102A00000432CF00000000200432DB80000000020E +:102A100004322C480000000203322C60000412E44F +:102A2000043293C8000000020432944000000010F9 +:102A30000432C080000000200432C1800000002069 +:102A40000432C280000000200432C3800000002055 +:102A50000432C480000000200432C5800000002041 +:102A60000432C680000000200432C780000000202D +:102A70000432C880000000200432C9800000002019 +:102A80000432CA80000000200432CB800000002005 +:102A90000432CC80000000200432CD8000000020F1 +:102AA0000432CE80000000200432CF8000000020DD +:102AB0000432DB8800000002043210100000000223 +:102AC00004322C000000000204321020000000023A +:102AD00004322C0800000002043210300000000212 +:102AE00004322C10000000020432104000000002EA +:102AF00004322C18000000020432105000000002C2 +:102B000004322C2000000002043210600000000299 +:102B100004322C2800000002043210700000000271 +:102B200004322C3000000002043210800000000249 +:102B300004322C380000000202020058000000326B +:102B400003020060000812E8030200A0000B12F06C +:102B5000020200D000000007030200DC000312FBA9 +:102B6000030200F0000212FE020200FC0000000C52 +:102B700002020120000000000202013400000002F5 +:102B8000020201B0000000010202020C000000017C +:102B900003020214000213000202040400000001F8 +:102BA0000302040C000213020302041C00041304B9 +:102BB0000302048000201308040205000000001234 +:102BC0000402800000002000030200040014132807 +:102BD00002020108000000C8020201180000000201 +:102BE000020201C400000000020201CC000000004B +:102BF000020201D400000002020201DC0000000217 +:102C0000020201E4000000FF020201EC000000FFEC +:102C10000202010C000000C80202011C00000002B8 +:102C2000020201C800000000020201D00000000002 +:102C3000020201D800000002020201E000000002CE +:102C4000020201E8000000FF020201F0000000FFA4 +:102C500002020108000000C8020201180000000280 +:102C6000020201C400000000020201CC00000000CA +:102C7000020201D400000002020201DC0000000296 +:102C8000020201E4000000FF020201EC000000FF6C +:102C90000202010C000000C80202011C0000000238 +:102CA000020201C800000000020201D00000000082 +:102CB000020201D800000002020201E0000000024E +:102CC000020201E8000000FF020201F0000000FF24 +:102CD00002020108000000C8020201180000000200 +:102CE000020201C400000000020201CC000000004A +:102CF000020201D400000002020201DC0000000216 +:102D0000020201E4000000FF020201EC000000FFEB +:102D10000202010C000000C80202011C00000002B7 +:102D2000020201C800000000020201D00000000001 +:102D3000020201D800000002020201E000000002CD +:102D4000020201E8000000FF020201F0000000FFA3 +:102D500002020108000000C802020118000000027F +:102D6000020201C400000000020201CC00000000C9 +:102D7000020201D400000002020201DC0000000295 +:102D8000020201E4000000FF020201EC000000FF6B +:102D90000202010C000000C80202011C0000000237 +:102DA000020201C800000000020201D00000000081 +:102DB000020201D800000002020201E0000000024D +:102DC000020201E8000000FF020201F0000000FF23 +:102DD0000216100000000028031660080003133CD0 +:102DE0000316601C0004133F0316603800121343DF +:102DF000041660800000000E021660B8000000019A +:102E0000041660BC00000008021660DC000000012F +:102E1000041660E000000004021660F000000001EB +:102E2000041660F400000031031661B80002135567 +:102E3000041661C000000007031661DC000613578A +:102E4000041661F400000011031662380004135DDB +:102E500001166248000000000116624C00000000EC +:102E600001166250000000000116625400000000CC +:102E700001166258000000000116625C00000000AC +:102E8000011662600000000001166264000000008C +:102E900001166268000000000116626C000000006C +:102EA000011662700000000001166274000000004C +:102EB00001166278000000000116627C000000002C +:102EC000011662D400000000031662D800041361EA +:102ED0000A0000010000000902166000000003E87B +:102EE0000A0000010000000A021660000000000352 +:102EF0000A0000010000000C021660000000000142 +:102F00000A0000010000100102166000000005DC4C +:102F10000A00000100001002021660000000000418 +:102F20000A00000100001004021660000000000109 +:102F30000A0000010000200102166000000005DC0C +:102F40000A000001000020020216600000000004D8 +:102F50000A000001000020040216600000000001C9 +:102F60000528040000AA0000062807C8000713650A +:102F7000042A000000004000042B2400000016007A +:102F80000A00000200000008022800BC0000003215 +:102F9000022B945C00000032032A30000002136709 +:102FA000032A400000101369032A840800081379DB +:102FB000032A934800041381032A966800081385A6 +:102FC000032A98B80002138D032A99500090138F9A +:102FD000032B4D900014141F022B800000000000F2 +:102FE000022B804000000018022B80800000000CA3 +:102FF000022B80C000000066022B8BC00000000185 +:103000000A00000300000008022A9CA80000000239 +:10301000022B838000086470022B83C0000002260C +:103020000A00000200000009022B830000086470FF +:10303000022B8340000002260A0000020000000A62 +:10304000022B83000000055F022B8340000000017B +:103050000A0000020000000C022B83000000015750 +:10306000022B8340000000000A0000030000002043 +:10307000022A9CAC00000000032AC4E000041433C0 +:10308000032AC500000214370A00000200000040B5 +:10309000022A9CAC00000001032AC4E0000A143993 +:1030A0000A00000300001000022A9CA80000000390 +:1030B000022B8380000C96A8022B83C000000339EA +:1030C0000A00000200001001022B8300000C96A8E9 +:1030D000022B8340000003390A00000200001002A6 +:1030E000022B83000000080E022B83400000000228 +:1030F0000A00000200001004022B830000000203FB +:10310000022B8340000000000A00000300002000A2 +:10311000022A9CA800000004022B8380000CF850B7 +:10312000022B83C0000003520A00000200002001AD +:10313000022B8300000CF850022B83400000035246 +:103140000A00000200002002022B83000000084D4C +:10315000022B8340000000020A000002000020044D +:10316000022B830000000213022B834000000000AA +:103170000A00000100004000022A9CB0000000008C +:103180000A00000100008000022A9CB0000000013B +:10319000022B944000000001042B94480000000220 +:1031A000052C000035190000052C800038440D471F +:1031B000052D000039B61B58052D80003CCD29C6D1 +:1031C000052E00003AA338FA052E800031A647A349 +:1031D000052F000023C2540D062F4E8016301443D5 +:1031E0000A00000100000001022B14800000000111 +:1031F0000A00000100000002022B14800000000100 +:103200000A00000100000004022B148000000000EE +:103210000128000000000000012800040000000058 +:1032200001280008000000000128000C0000000038 +:103230000128001000000000012800140000000018 +:1032400003280020001A1445032800A40002145F7C +:1032500002280224000000000228023400000000BE +:103260000228024C00000000022802E40000FFFFD8 +:1032700008282000000008000A00000100000010DB +:103280000828400000000200042A5000000000024C +:10329000042A501000000002042A502000000002FE +:1032A000042A503000000002042A93580000002035 +:1032B000042A94580000000E032A9490000214611E +:1032C000042A94D80000000E032A9510000214630B +:1032D000042A95580000000E032A959000021465F8 +:1032E000042A95D80000000E032A961000021467E5 +:1032F000032A968800021469042ABC980000000280 +:10330000042A500800000002042A5018000000029D +:10331000042A502800000002042A5038000000024D +:10332000042A93D800000020042A94980000000E7C +:10333000032A94D00002146B042A95180000000E92 +:10334000032A95500002146D042A95980000000E7F +:10335000032A95D00002146F042A96180000000E6C +:10336000032A965000021471032A969000021473E7 +:10337000042ABCA000000002042A50480000000EED +:10338000032A969800101475042A98D000000002B1 +:10339000042A991000000002042AC48000000002E0 +:1033A000042A50800000000E032A96D800101485CD +:1033B000042A98D800000002042A9918000000028C +:1033C000042AC48800000002042A50B80000000E3D +:1033D000032A971800101495042A98E000000002B0 +:1033E000042A992000000002042AC4900000000270 +:1033F000042A50F00000000E032A9758001014A56C +:10340000042A98E800000002042A9928000000021B +:10341000042AC49800000002042A51280000000E6B +:10342000032A9798001014B5042A98F000000002AF +:10343000042A993000000002042AC4A000000002FF +:10344000042A51600000000E032A97D8001014C50A +:10345000042A98F800000002042A993800000002AB +:10346000042AC4A800000002042A51980000000E9B +:10347000032A9818001014D5042A990000000002AD +:10348000042A994000000002042AC4B0000000028F +:10349000042A51D00000000E032A9858001014E5A9 +:1034A000042A990800000002042A9948000000023A +:1034B000042AC4B8000000020400A0000000000CB0 +:1034C0000400A050000000020300A0EC000814F566 +:1034D0000300A19C000414FD0200A45C00000C0089 +:1034E0000400A6A8000000020200A6D00000000010 +:1034F0000200A61C000000030300A07000051501D7 +:103500000400A084000000050200A0980FE0000065 +:103510000400A09C000000070300A0B8000D1506E1 +:103520000400A22C000000040200A688000000FC99 +:103530000400A68C000000070200A6F400000000B2 +:103540000300A10C000615130400A12400000005CF +:103550000200A1380FE000000400A13C00000007B9 +:103560000300A158000D15190400A23C000000043E +:103570000200A6B0000000FC0400A6B40000000792 +:103580000200A6F8000000000200A03000000000C9 +:103590000200A034000000000200A038000000007B +:1035A0000200A03C000000000200A040000000005B +:1035B0000200A044000000000200A048000000003B +:1035C0000200A04C0000000000000000000000000D +:1035D00000000001000000000000000000000000EA +:1035E00000000000000000000000000000000000DB +:1035F0000000000000000000000000000001000CBE +:10360000000C00140014001C00000000000000006A +:1036100000000000000000000000000000000000AA +:103620000000000000000000001C002E0000000050 +:1036300000000000002E002F002F0030003000316D +:1036400000310032003200330033003400340035E2 +:10365000003500360036003D00000000000000008C +:10366000000000000000000000000000000000005A +:10367000000000000000000000000000000000004A +:10368000003D00460000000000000000004600472A +:1036900000470048004800490049004A004A004BE2 +:1036A000004B004C004C004D004D004E004E007889 +:1036B000000000000000000000000000000000000A +:1036C00000000000000000000000000000000000FA +:1036D0000000000000000000007801D3000000009E +:1036E0000000000001D301D801D801DD01DD01E2B5 +:1036F00001E201E701E701EC01EC01F101F101F662 +:1037000001F601FB000000000000000000000000C6 +:1037100000000000000000000000000000000000A9 +:103720000000000000000000000000000000000099 +:1037300001FB01FF0000000000000000000000008D +:103740000000000000000000000000000000000079 +:1037500000000000000000000000000001FF020F58 +:103760000000000000000000020F0211021102130D +:103770000213021502150217021702190219021B81 +:10378000021B021D021D021F0000000000000000BD +:103790000000000000000000000000000000000029 +:1037A0000000000000000000000000000000000019 +:1037B00000000000021F02220000000000000000C4 +:1037C00002220225022502280228022B022B022EA9 +:1037D000022E023102310234023402370237023A39 +:1037E000023A023E023E02420242024602460247BC +:1037F00002470248024802490249024A024A024B71 +:10380000024B024C024C024D024D024E024E02533C +:10381000025302700270028C028C028D028D028EA5 +:10382000028E028F028F0290029002910291029208 +:103830000292029302930294029402AB00000000F1 +:103840000000000000000000000000000000000078 +:103850000000000000000000000000000000000068 +:103860000000000002AB02B80000000000000000F1 +:1038700002B802B902B902BA02BA02BB02BB02BC68 +:1038800002BC02BD02BD02BE02BE02BF02BF02C038 +:1038900002C002D100000000000000000000000093 +:1038A0000000000000000000000000000000000018 +:1038B00000000000000000000000000002D102DF54 +:1038C000000000000000000002DF02E002E002E170 +:1038D00002E102E202E202E302E302E402E402E5C0 +:1038E00002E502E602E602E702E702EC0000000061 +:1038F00000000000000000000000000000000000C8 +:1039000000000000000000000000000000000000B7 +:103910000000000002EC038A00000000000000002C +:103920000000000000000000000000000000000097 +:103930000000000000000000000000000000000087 +:10394000038A038C0000000000000000000000005B +:103950000000000000000000000000000000000067 +:10396000000000000000000000000000038C03A025 +:10397000000000000000000003A003A103A103A2B7 +:1039800003A203A303A303A403A403A503A503A6FF +:1039900003A603A703A703A803A803C803C803CB70 +:1039A00003CB03CE00000000000000000000000078 +:1039B0000000000000000000000000000000000007 +:1039C0000000000003CE03F600000000000000002D +:1039D00000000000000000000000000000000000E7 +:1039E00000000000000000000000000000000000D7 +:1039F00003F6044C044C04530453045A045A046060 +:103A0000046004660466046C046C04720472047836 +:103A10000478047E047E04840484048A048A049C5A +:103A20000000000000000000049C049D049D049E12 +:103A3000049E049F049F04A004A004A104A104A266 +:103A400004A204A304A304A404A404A50000000089 +:103A50000000000000000000000000000000000066 +:103A60000000000000000000000000000000000056 +:103A70000000000004A504D00000000000000000C9 +:103A80000000000000000000000000000000000036 +:103A90000000000000000000000000000000000026 +:103AA00004D00520052005350535054A054A054C95 +:103AB000054C054E054E055005500552055205545E +:103AC00005540556055605580558055A055A056DFD +:103AD0000000000000000000056D05750575057DFE +:103AE000057D05850585058D058D05950595059D46 +:103AF000059D05A505A505AD05AD05AE00000000B9 +:103B000000000000000000000000000000000000B5 +:103B100000000000000000000000000000000000A5 +:103B20000000000005AE05DF0000000000000000FE +:103B30000000000000000000000000000000000085 +:103B40000000000000000000000000000000000075 +:103B500005DF0644064406530653066206620667FE +:103B60000667066C066C0671067106760676067B9D +:103B7000067B0680068006850685068A068A0692EA +:103B80000692069B069B06A406A406A506A506A605 +:103B900006A606A706A706A806A806A906A906AAB5 +:103BA00006AA06AB06AB06AC000000000000000051 +:103BB00000002000000040000000600000008000C5 +:103BC0000000A0000000C0000000E00000010000B4 +:103BD00000012000000140000001600000018000A1 +:103BE0000001A0000001C0000001E0000002000090 +:103BF000000220000002400000026000000280007D +:103C00000002A0000002C0000002E000000300006B +:103C10000003200000034000000360000003800058 +:103C20000003A0000003C0000003E0000004000047 +:103C30000004200000044000000460000004800034 +:103C40000004A0000004C0000004E0000005000023 +:103C50000005200000054000000560000005800010 +:103C60000005A0000005C0000005E00000060000FF +:103C700000062000000640000006600000068000EC +:103C80000006A0000006C0000006E00000070000DB +:103C900000072000000740000007600000078000C8 +:103CA0000007A0000007C0000007E00000080000B7 +:103CB00000082000000840000008600000088000A4 +:103CC0000008A0000008C0000008E0000009000093 +:103CD0000009200000094000000960000009800080 +:103CE0000009A0000009C0000009E000000A00006F +:103CF000000A2000000A4000000A6000000A80005C +:103D0000000AA000000AC000000AE000000B00004A +:103D1000000B2000000B4000000B6000000B800037 +:103D2000000BA000000BC000000BE000000C000026 +:103D3000000C2000000C4000000C6000000C800013 +:103D4000000CA000000CC000000CE000000D000002 +:103D5000000D2000000D4000000D6000000D8000EF +:103D6000000DA000000DC000000DE000000E0000DE +:103D7000000E2000000E4000000E6000000E8000CB +:103D8000000EA000000EC000000EE000000F0000BA +:103D9000000F2000000F4000000F6000000F8000A7 +:103DA000000FA000000FC000000FE0000010000096 +:103DB0000010200000104000001060000010800083 +:103DC0000010A0000010C0000010E0000011000072 +:103DD000001120000011400000116000001180005F +:103DE0000011A0000011C0000011E000001200004E +:103DF000001220000012400000126000001280003B +:103E00000012A0000012C0000012E0000013000029 +:103E10000013200000134000001360000013800016 +:103E20000013A0000013C0000013E0000014000005 +:103E300000142000001440000014600000148000F2 +:103E40000014A0000014C0000014E00000150000E1 +:103E500000152000001540000015600000158000CE +:103E60000015A0000015C0000015E00000160000BD +:103E700000162000001640000016600000168000AA +:103E80000016A0000016C0000016E0000017000099 +:103E90000017200000174000001760000017800086 +:103EA0000017A0000017C0000017E0000018000075 +:103EB0000018200000184000001860000018800062 +:103EC0000018A0000018C0000018E0000019000051 +:103ED000001920000019400000196000001980003E +:103EE0000019A0000019C0000019E000001A00002D +:103EF000001A2000001A4000001A6000001A80001A +:103F0000001AA000001AC000001AE000001B000008 +:103F1000001B2000001B4000001B6000001B8000F5 +:103F2000001BA000001BC000001BE000001C0000E4 +:103F3000001C2000001C4000001C6000001C8000D1 +:103F4000001CA000001CC000001CE000001D0000C0 +:103F5000001D2000001D4000001D6000001D8000AD +:103F6000001DA000001DC000001DE000001E00009C +:103F7000001E2000001E4000001E6000001E800089 +:103F8000001EA000001EC000001EE000001F000078 +:103F9000001F2000001F4000001F6000001F800065 +:103FA000001FA000001FC000001FE0000020000054 +:103FB0000020200000204000002060000020800041 +:103FC0000020A0000020C0000020E0000021000030 +:103FD000002120000021400000216000002180001D +:103FE0000021A0000021C0000021E000002200000C +:103FF00000222000002240000022600000228000F9 +:104000000022A0000022C0000022E00000230000E7 +:1040100000232000002340000023600000238000D4 +:104020000023A0000023C0000023E00000240000C3 +:1040300000242000002440000024600000248000B0 +:104040000024A0000024C0000024E000002500009F +:10405000002520000025400000256000002580008C +:104060000025A0000025C0000025E000002600007B +:104070000026200000264000002660000026800068 +:104080000026A0000026C0000026E0000027000057 +:104090000027200000274000002760000027800044 +:1040A0000027A0000027C0000027E0000028000033 +:1040B0000028200000284000002860000028800020 +:1040C0000028A0000028C0000028E000002900000F +:1040D00000292000002940000029600000298000FC +:1040E0000029A0000029C0000029E000002A0000EB +:1040F000002A2000002A4000002A6000002A8000D8 +:10410000002AA000002AC000002AE000002B0000C6 +:10411000002B2000002B4000002B6000002B8000B3 +:10412000002BA000002BC000002BE000002C0000A2 +:10413000002C2000002C4000002C6000002C80008F +:10414000002CA000002CC000002CE000002D00007E +:10415000002D2000002D4000002D6000002D80006B +:10416000002DA000002DC000002DE000002E00005A +:10417000002E2000002E4000002E6000002E800047 +:10418000002EA000002EC000002EE000002F000036 +:10419000002F2000002F4000002F6000002F800023 +:1041A000002FA000002FC000002FE0000030000012 +:1041B00000302000003040000030600000308000FF +:1041C0000030A0000030C0000030E00000310000EE +:1041D00000312000003140000031600000318000DB +:1041E0000031A0000031C0000031E00000320000CA +:1041F00000322000003240000032600000328000B7 +:104200000032A0000032C0000032E00000330000A5 +:104210000033200000334000003360000033800092 +:104220000033A0000033C0000033E0000034000081 +:10423000003420000034400000346000003480006E +:104240000034A0000034C0000034E000003500005D +:10425000003520000035400000356000003580004A +:104260000035A0000035C0000035E0000036000039 +:104270000036200000364000003660000036800026 +:104280000036A0000036C0000036E0000037000015 +:104290000037200000374000003760000037800002 +:1042A0000037A0000037C0000037E00000380000F1 +:1042B00000382000003840000038600000388000DE +:1042C0000038A0000038C0000038E00000390000CD +:1042D00000392000003940000039600000398000BA +:1042E0000039A0000039C0000039E000003A0000A9 +:1042F000003A2000003A4000003A6000003A800096 +:10430000003AA000003AC000003AE000003B000084 +:10431000003B2000003B4000003B6000003B800071 +:10432000003BA000003BC000003BE000003C000060 +:10433000003C2000003C4000003C6000003C80004D +:10434000003CA000003CC000003CE000003D00003C +:10435000003D2000003D4000003D6000003D800029 +:10436000003DA000003DC000003DE000003E000018 +:10437000003E2000003E4000003E6000003E800005 +:10438000003EA000003EC000003EE000003F0000F4 +:10439000003F2000003F4000003F6000003F8000E1 +:1043A000003FA000003FC000003FE00000400000D0 +:1043B00000402000004040000040600000408000BD +:1043C0000040A0000040C0000040E00000410000AC +:1043D0000041200000414000004160000041800099 +:1043E0000041A0000041C0000041E0000042000088 +:1043F0000042200000424000004260000042800075 +:104400000042A0000042C0000042E0000043000063 +:104410000043200000434000004360000043800050 +:104420000043A0000043C0000043E000004400003F +:10443000004420000044400000446000004480002C +:104440000044A0000044C0000044E000004500001B +:104450000045200000454000004560000045800008 +:104460000045A0000045C0000045E00000460000F7 +:1044700000462000004640000046600000468000E4 +:104480000046A0000046C0000046E00000470000D3 +:1044900000472000004740000047600000478000C0 +:1044A0000047A0000047C0000047E00000480000AF +:1044B000004820000048400000486000004880009C +:1044C0000048A0000048C0000048E000004900008B +:1044D0000049200000494000004960000049800078 +:1044E0000049A0000049C0000049E000004A000067 +:1044F000004A2000004A4000004A6000004A800054 +:10450000004AA000004AC000004AE000004B000042 +:10451000004B2000004B4000004B6000004B80002F +:10452000004BA000004BC000004BE000004C00001E +:10453000004C2000004C4000004C6000004C80000B +:10454000004CA000004CC000004CE000004D0000FA +:10455000004D2000004D4000004D6000004D8000E7 +:10456000004DA000004DC000004DE000004E0000D6 +:10457000004E2000004E4000004E6000004E8000C3 +:10458000004EA000004EC000004EE000004F0000B2 +:10459000004F2000004F4000004F6000004F80009F +:1045A000004FA000004FC000004FE000005000008E +:1045B000005020000050400000506000005080007B +:1045C0000050A0000050C0000050E000005100006A +:1045D0000051200000514000005160000051800057 +:1045E0000051A0000051C0000051E0000052000046 +:1045F0000052200000524000005260000052800033 +:104600000052A0000052C0000052E0000053000021 +:10461000005320000053400000536000005380000E +:104620000053A0000053C0000053E00000540000FD +:1046300000542000005440000054600000548000EA +:104640000054A0000054C0000054E00000550000D9 +:1046500000552000005540000055600000558000C6 +:104660000055A0000055C0000055E00000560000B5 +:1046700000562000005640000056600000568000A2 +:104680000056A0000056C0000056E0000057000091 +:10469000005720000057400000576000005780007E +:1046A0000057A0000057C0000057E000005800006D +:1046B000005820000058400000586000005880005A +:1046C0000058A0000058C0000058E0000059000049 +:1046D0000059200000594000005960000059800036 +:1046E0000059A0000059C0000059E000005A000025 +:1046F000005A2000005A4000005A6000005A800012 +:10470000005AA000005AC000005AE000005B000000 +:10471000005B2000005B4000005B6000005B8000ED +:10472000005BA000005BC000005BE000005C0000DC +:10473000005C2000005C4000005C6000005C8000C9 +:10474000005CA000005CC000005CE000005D0000B8 +:10475000005D2000005D4000005D6000005D8000A5 +:10476000005DA000005DC000005DE000005E000094 +:10477000005E2000005E4000005E6000005E800081 +:10478000005EA000005EC000005EE000005F000070 +:10479000005F2000005F4000005F6000005F80005D +:1047A000005FA000005FC000005FE000006000004C +:1047B0000060200000604000006060000060800039 +:1047C0000060A0000060C0000060E0000061000028 +:1047D0000061200000614000006160000061800015 +:1047E0000061A0000061C0000061E0000062000004 +:1047F00000622000006240000062600000628000F1 +:104800000062A0000062C0000062E00000630000DF +:1048100000632000006340000063600000638000CC +:104820000063A0000063C0000063E00000640000BB +:1048300000642000006440000064600000648000A8 +:104840000064A0000064C0000064E0000065000097 +:104850000065200000654000006560000065800084 +:104860000065A0000065C0000065E0000066000073 +:104870000066200000664000006660000066800060 +:104880000066A0000066C0000066E000006700004F +:10489000006720000067400000676000006780003C +:1048A0000067A0000067C0000067E000006800002B +:1048B0000068200000684000006860000068800018 +:1048C0000068A0000068C0000068E0000069000007 +:1048D00000692000006940000069600000698000F4 +:1048E0000069A0000069C0000069E000006A0000E3 +:1048F000006A2000006A4000006A6000006A8000D0 +:10490000006AA000006AC000006AE000006B0000BE +:10491000006B2000006B4000006B6000006B8000AB +:10492000006BA000006BC000006BE000006C00009A +:10493000006C2000006C4000006C6000006C800087 +:10494000006CA000006CC000006CE000006D000076 +:10495000006D2000006D4000006D6000006D800063 +:10496000006DA000006DC000006DE000006E000052 +:10497000006E2000006E4000006E6000006E80003F +:10498000006EA000006EC000006EE000006F00002E +:10499000006F2000006F4000006F6000006F80001B +:1049A000006FA000006FC000006FE000007000000A +:1049B00000702000007040000070600000708000F7 +:1049C0000070A0000070C0000070E00000710000E6 +:1049D00000712000007140000071600000718000D3 +:1049E0000071A0000071C0000071E00000720000C2 +:1049F00000722000007240000072600000728000AF +:104A00000072A0000072C0000072E000007300009D +:104A1000007320000073400000736000007380008A +:104A20000073A0000073C0000073E0000074000079 +:104A30000074200000744000007460000074800066 +:104A40000074A0000074C0000074E0000075000055 +:104A50000075200000754000007560000075800042 +:104A60000075A0000075C0000075E0000076000031 +:104A7000007620000076400000766000007680001E +:104A80000076A0000076C0000076E000007700000D +:104A900000772000007740000077600000778000FA +:104AA0000077A0000077C0000077E00000780000E9 +:104AB00000782000007840000078600000788000D6 +:104AC0000078A0000078C0000078E00000790000C5 +:104AD00000792000007940000079600000798000B2 +:104AE0000079A0000079C0000079E000007A0000A1 +:104AF000007A2000007A4000007A6000007A80008E +:104B0000007AA000007AC000007AE000007B00007C +:104B1000007B2000007B4000007B6000007B800069 +:104B2000007BA000007BC000007BE000007C000058 +:104B3000007C2000007C4000007C6000007C800045 +:104B4000007CA000007CC000007CE000007D000034 +:104B5000007D2000007D4000007D6000007D800021 +:104B6000007DA000007DC000007DE000007E000010 +:104B7000007E2000007E4000007E6000007E8000FD +:104B8000007EA000007EC000007EE000007F0000EC +:104B9000007F2000007F4000007F6000007F8000D9 +:104BA000007FA000007FC000007FE000007FE001E8 +:104BB00000000000000001FF0000020000000000F3 +:104BC000000003FF00000400000000AA000000FA3B +:104BD0000000000A000000320000014A000001EA63 +:104BE0000000000F00000037000000AA000000FADB +:104BF0000000000A000000320000014A000001EA43 +:104C00000000000F0000003700000001000000025B +:104C1000000000000000000802150020021500201E +:104C20000810000000000036000000000000000432 +:104C3000000000040000000000000000000000016F +:104C4000000000040000000200000002000000015B +:104C500000000002000000200000004000000040B2 +:104C6000000000030000001800002000000040C009 +:104C700000006180000082400000A3000000C3C06B +:104C80000000E4800001054000012600000146C04C +:104C900000016780000188400001A9000001C9C02F +:104CA0000001EA8000020B4000022C0000024CC010 +:104CB00000026D8000028E400002AF000002CFC0F3 +:104CC0000002F0800000114000000001000000011F +:104CD00000000001000000010000000100000001D0 +:104CE00000000001000000010000000100000001C0 +:104CF00000000001000000010000000100000001B0 +:104D0000000000010003D0000000003D0000000191 +:104D1000000D0000000700D000028140000B8168F8 +:104D20000002022000010240000F02500001034077 +:104D3000000C0000000800C000028140000B8168E8 +:104D4000000202200001024000070250000202C0DF +:104D5000001000000008010000028180000B81A803 +:104D60000002026000018280000E82980008038029 +:104D7000000F0000000100F000028100000901287E +:104D8000000201B8000101D8000E01E8000002C8CD +:104D9000FFFFFFF301AFFFFF000000000000000075 +:104DA0000000000000000000000000000000000003 +:104DB000FFFFFFF100EFFFFF000000000000000018 +:104DC00000000000000000000001000000000000E2 +:104DD000FFFFFFF6005FFFFF000000000000000083 +:104DE00000000000000000000002000000000000C1 +:104DF000FFFFF4061CBFFFFF0000000500000000DD +:104E0000000000140000000000040000000000008A +:104E1000FFFFFFF2004FFFFF000000000000000056 +:104E2000000000000000000000080000000000007A +:104E3000FFFFFFFA002FFFFF00000000000000004E +:104E40000000000000000000001000000000000052 +:104E5000FFFFFFF701EFFFFF000000000000000070 +:104E60000000000000000000002000000000000022 +:104E7000FFFFFFF5002FFFFF000000000000000013 +:104E800000000000000000000040000000000000E2 +:104E9000FFFFFFF3018FFFFF000000000000000094 +:104EA0000000000000000000000000000000000002 +:104EB000FFFFFFF1010FFFFF0000000000000000F6 +:104EC00000000000000000000001000000000000E1 +:104ED000FFFFFFF6005FFFFF000000000000000082 +:104EE00000000000000000000002000000000000C0 +:104EF000FFFFF4061CBFFFFF0000000500000000DC +:104F00000000001400000000000400000000000089 +:104F1000FFFFFFF2004FFFFF000000000000000055 +:104F20000000000000000000000800000000000079 +:104F3000FFFFFFFA002FFFFF00000000000000004D +:104F40000000000000000000001000000000000051 +:104F5000FFFFFFF700EFFFFF000000000000000070 +:104F60000000000000000000002000000000000021 +:104F7000FFFFFFF5004FFFFF0000000000000000F2 +:104F800000000000000000000040000000000000E1 +:104F9000FFFFFFFF00CFFFFF000000000000000048 +:104FA000000000CC00000000000000000000000035 +:104FB000FFFFFFFF00CFFFFF000000000000000028 +:104FC000000000CC00000000000100000000000014 +:104FD000FFFFFFFF00CFFFFF000000000000000008 +:104FE000000000CC000000000002000000000000F3 +:104FF000FFFFFFFF00CFFFFF0000000000000000E8 +:10500000000000CC000000000004000000000000D0 +:10501000FFFFFFFF00CFFFFF0000000000000000C7 +:10502000000000CC000000000008000000000000AC +:10503000FFFFFFFF00CFFFFF0000000000000000A7 +:10504000000000CC00000000001000000000000084 +:10505000FFFFFFFF00CFFFFF000000000000000087 +:10506000000000CC00000000002000000000000054 +:10507000FFFFFFFF00CFFFFF000000000000000067 +:10508000000000CC00000000004000000000000014 +:10509000FFFFFFF3020FFFFF000000000000000011 +:1050A0000000000000000000000000000000000000 +:1050B000FFFFFFF1010FFFFF0000000000000000F4 +:1050C00000000000000000000001000000000000DF +:1050D000FFFFFFF6005FFFFF000000000000000080 +:1050E00000000000000000000002000000000000BE +:1050F000FFFFF4061CBFFFFF0000000500000000DA +:105100000000001400000000000400000000000087 +:10511000FFFFFFF2004FFFFF000000000000000053 +:105120000000000000000000000800000000000077 +:10513000FFFFFF8A042FFFFF0000000000000000B7 +:10514000000000000000000000100000000000004F +:10515000FFFFFF9705CFFFFF0000000000000000E9 +:10516000000000000000000000200000000000001F +:10517000FFFFFFF5010FFFFF00000000000000002F +:1051800000000000000000000040000000000000DF +:10519000FFFFFFF301EFFFFF000000000000000031 +:1051A00000000000000000000000000000000000FF +:1051B000FFFFFFF1002FFFFF0000000000000000D4 +:1051C00000000000000000000001000000000000DE +:1051D000FFFFFFF6005FFFFF00000000000000007F +:1051E00000000000000000000002000000000000BD +:1051F000FFFFFF061CBFFFFF0000000000000000D3 +:105200000000001400000000000400000000000086 +:10521000FFFFFFF2004FFFFF000000000000000052 +:105220000000000000000000000800000000000076 +:10523000FFFFFFFA002FFFFF00000000000000004A +:10524000000000000000000000100000000000004E +:10525000FFFFFFF701CFFFFF00000000000000008C +:10526000000000000000000000200000000000001E +:10527000FFFFFFFF00CFFFFF000000000000000065 +:10528000000000CC00000000004000000000000012 +:10529000FFFFFFFF00CFFFFF000000000000000045 +:1052A000000000CC00000000000000000000000032 +:1052B000FFFFFFFF00CFFFFF000000000000000025 +:1052C000000000CC00000000000100000000000011 +:1052D000FFFFFFFF00CFFFFF000000000000000005 +:1052E000000000CC000000000002000000000000F0 +:1052F000FFFFFFFF00CFFFFF0000000000000000E5 +:10530000000000CC000000000004000000000000CD +:10531000FFFFFFFF00CFFFFF0000000000000000C4 +:10532000000000CC000000000008000000000000A9 +:10533000FFFFFFFF00CFFFFF0000000000000000A4 +:10534000000000CC00000000001000000000000081 +:10535000FFFFFFFF00CFFFFF000000000000000084 +:10536000000000CC00000000002000000000000051 +:10537000FFFFFFFF00CFFFFF000000000000000064 +:10538000000000CC00000000004000000000000011 +:10539000FFFFFFFF00CFFFFF000000000000000044 +:1053A000000000CC00000000000000000000000031 +:1053B000FFFFFFFF00CFFFFF000000000000000024 +:1053C000000000CC00000000000100000000000010 +:1053D000FFFFFFFF00CFFFFF000000000000000004 +:1053E000000000CC000000000002000000000000EF +:1053F000FFFFFFFF00CFFFFF0000000000000000E4 +:10540000000000CC000000000004000000000000CC +:10541000FFFFFFFF00CFFFFF0000000000000000C3 +:10542000000000CC000000000008000000000000A8 +:10543000FFFFFFFF00CFFFFF0000000000000000A3 +:10544000000000CC00000000001000000000000080 +:10545000FFFFFFFF00CFFFFF000000000000000083 +:10546000000000CC00000000002000000000000050 +:10547000FFFFFFFF00CFFFFF000000000000000063 +:10548000000000CC00000000004000000000000010 +:10549000FFFFFFFF00CFFFFF000000000000000043 +:1054A000000000CC00000000000000000000000030 +:1054B000FFFFFFFF00CFFFFF000000000000000023 +:1054C000000000CC0000000000010000000000000F +:1054D000FFFFFFFF00CFFFFF000000000000000003 +:1054E000000000CC000000000002000000000000EE +:1054F000FFFFFFFF00CFFFFF0000000000000000E3 +:10550000000000CC000000000004000000000000CB +:10551000FFFFFFFF00CFFFFF0000000000000000C2 +:10552000000000CC000000000008000000000000A7 +:10553000FFFFFFFF00CFFFFF0000000000000000A2 +:10554000000000CC0000000000100000000000007F +:10555000FFFFFFFF00CFFFFF000000000000000082 +:10556000000000CC0000000000200000000000004F +:10557000FFFFFFFF00CFFFFF000000000000000062 +:10558000000000CC0000000000400000000000000F +:105590000000003200000032000002110000020092 +:1055A000000002040000FFFF0000FFFF0000FFFFFB +:1055B0000000FFFF00000000000000370000002195 +:1055C00000000020000000010000000100000001B8 +:1055D00007FFFFFF0000007F07FFFFFF0000003F05 +:1055E0000000FFFF0000FFFF0000FFFF0000FFFFC3 +:1055F00000007FF800007FF800000000000028ADE8 +:10560000000029180000291900000005000000070B +:1056100000000000000000000000FF00000000008B +:105620000000FF00000000000000FF00000000007C +:105630000000FF00000000000000FF00000000006C +:105640000000FF00000000000000FF00000000005C +:105650000000FF00000000000000FF00000000004C +:105660000000FF00000000000000FF00000000003C +:105670000000FF00000000000000FF00000000002C +:105680000000FF00000000000000FF00000000001C +:105690000000FF00000000000000FF00000000000C +:1056A0000000FF00000000000000FF0000000000FC +:1056B0000000FF00000000000000FF0000000000EC +:1056C0000000FF00000000000000FF0000000000DC +:1056D0000000FF00000000000000FF0000000000CC +:1056E0000000FF00000000000000FF0000000000BC +:1056F0000000FF00000000000000FF0000000000AC +:105700000000FF00000000000000FF00000000009B +:105710000000FF00000000000000FF00000000008B +:105720000000FF00000000000000FF00000000007B +:105730000000FF00000000000000FF00000000006B +:105740000000FF00000000000000FF00000000005B +:105750000000FF00000000000000FF00000000004B +:105760000000FF00000000000000FF00000000003B +:105770000000FF00000000000000FF00000000002B +:105780000000FF00000000000000FF00000000001B +:105790000000FF00000000000000FF00000000000B +:1057A0000000FF00000000000000FF0000000000FB +:1057B0000000FF00000000000000FF0000000000EB +:1057C0000000FF00000000000000FF0000000000DB +:1057D0000000FF00000000000000FF0000000000CB +:1057E0000000FF00000000000000FF0000000000BB +:1057F0000000FF00000000000000FF0000000000AB +:105800000000FF00000000000000FF00000000009A +:105810000000FF00000000000000FF00000000008A +:105820000000FF00000000000000FF00000000007A +:105830000000FF00000000000000FF00000000006A +:105840000000FF00000000000000FF00000000005A +:105850000000FF00000000000000FF1C0FFFFFFF22 +:105860000000FF1C0FFFFFFF0000FF1C0FFFFFFFEA +:105870000000FF1C0FFFFFFF0000FF1C0FFFFFFFDA +:105880000000FF1C0FFFFFFF0000FF1C0FFFFFFFCA +:105890000000FF1C0FFFFFFF0000FF1C0FFFFFFFBA +:1058A0000000FF1C0FFFFFFF0000FF1C0FFFFFFFAA +:1058B0000000FF1C0FFFFFFF0000FF1C0FFFFFFF9A +:1058C0000000FF1C0FFFFFFF0000FF1C0FFFFFFF8A +:1058D0000000FF1C0FFFFFFF0000FF1C0FFFFFFF7A +:1058E0000000FF1C0FFFFFFF0000FF1C0FFFFFFF6A +:1058F0000000FF1C0FFFFFFF0000FF1C0FFFFFFF5A +:105900000000FF1C0FFFFFFF0000FF1C0FFFFFFF49 +:105910000000FF1C0FFFFFFF0000FF1C0FFFFFFF39 +:105920000000FF1C0FFFFFFF0000FF1C0FFFFFFF29 +:105930000000FF1C0FFFFFFF0000FF1C0FFFFFFF19 +:105940000000FF1C0FFFFFFF0000FF1C0FFFFFFF09 +:105950000000FF1C0FFFFFFF0000FF1C0FFFFFFFF9 +:105960000000FF1C0FFFFFFF0000FF1C0FFFFFFFE9 +:105970000000FF1C0FFFFFFF0000FF1C0FFFFFFFD9 +:105980000000FF1C0FFFFFFF0000FF1C0FFFFFFFC9 +:105990000000FF1C0FFFFFFF0000FF1C0FFFFFFFB9 +:1059A0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA9 +:1059B0000000FF1C0FFFFFFF0000FF1C0FFFFFFF99 +:1059C0000000FF1C0FFFFFFF0000FF1C0FFFFFFF89 +:1059D0000000FF1C0FFFFFFF0000FF1C0FFFFFFF79 +:1059E0000000FF1C0FFFFFFF0000FF1C0FFFFFFF69 +:1059F0000000FF1C0FFFFFFF0000FF1C0FFFFFFF59 +:105A00000000FF1C0FFFFFFF0000FF1C0FFFFFFF48 +:105A10000000FF1C0FFFFFFF0000FF1C0FFFFFFF38 +:105A20000000FF1C0FFFFFFF0000FF1C0FFFFFFF28 +:105A30000000FF1C0FFFFFFF0000FF1C0FFFFFFF18 +:105A40000000FF1C0FFFFFFF0000FF1C0FFFFFFF08 +:105A50000000FF1C0FFFFFFF0000FF1C0FFFFFFFF8 +:105A60000000FF1C0FFFFFFF0000FF1C0FFFFFFFE8 +:105A70000000FF1C0FFFFFFF0000FF1C0FFFFFFFD8 +:105A80000000FF1C0FFFFFFF0000FF1C0FFFFFFFC8 +:105A90000000FF1C0FFFFFFF0000FF1C0FFFFFFFB8 +:105AA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA8 +:105AB0000000FF1C0FFFFFFF0000FF1C0FFFFFFF98 +:105AC0000000FF1C0FFFFFFF0000FF1C0FFFFFFF88 +:105AD0000000FF1C0FFFFFFF0000FF1C0FFFFFFF78 +:105AE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF68 +:105AF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF58 +:105B00000000FF1C0FFFFFFF0000FF1C0FFFFFFF47 +:105B10000000FF1C0FFFFFFF0000FF1C0FFFFFFF37 +:105B20000000FF1C0FFFFFFF0000FF1C0FFFFFFF27 +:105B30000000FF1C0FFFFFFF0000FF1C0FFFFFFF17 +:105B40000000FF1C0FFFFFFF0000FF1C0FFFFFFF07 +:105B50000000FF1C0FFFFFFF0000FF1C0FFFFFFFF7 +:105B60000000FF1C0FFFFFFF0000FF1C0FFFFFFFE7 +:105B70000000FF1C0FFFFFFF0000FF1C0FFFFFFFD7 +:105B80000000FF1C0FFFFFFF0000FF1C0FFFFFFFC7 +:105B90000000FF1C0FFFFFFF0000FF1C0FFFFFFFB7 +:105BA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA7 +:105BB0000000FF1C0FFFFFFF0000FF1C0FFFFFFF97 +:105BC0000000FF1C0FFFFFFF0000FF1C0FFFFFFF87 +:105BD0000000FF1C0FFFFFFF0000FF1C0FFFFFFF77 +:105BE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF67 +:105BF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF57 +:105C00000000FF1C0FFFFFFF0000FF1C0FFFFFFF46 +:105C10000000FF1C0FFFFFFF0000FF1C0FFFFFFF36 +:105C20000000FF1C0FFFFFFF0000FF1C0FFFFFFF26 +:105C30000000FF1C0FFFFFFF0000FF1C0FFFFFFF16 +:105C40000000FF1C0FFFFFFF0000FF1C0FFFFFFF06 +:105C50000000FF1C0FFFFFFF0000FF1C0FFFFFFFF6 +:105C60000000FF1C0FFFFFFF0000FF1C0FFFFFFFE6 +:105C70000000FF1C0FFFFFFF0000FF1C0FFFFFFFD6 +:105C80000000FF1C0FFFFFFF0000FF1C0FFFFFFFC6 +:105C90000000FF1C0FFFFFFF0000FF1C0FFFFFFFB6 +:105CA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA6 +:105CB0000000FF1C0FFFFFFF0000FF1C0FFFFFFF96 +:105CC0000000FF1C0FFFFFFF0000FF1C0FFFFFFF86 +:105CD0000000FF1C0FFFFFFF0000FF1C0FFFFFFF76 +:105CE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF66 +:105CF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF56 +:105D00000000FF1C0FFFFFFF0000FF1C0FFFFFFF45 +:105D10000000FF1C0FFFFFFF0000FF1C0FFFFFFF35 +:105D20000000FF1C0FFFFFFF0000FF1C0FFFFFFF25 +:105D30000000FF1C0FFFFFFF0000FF1C0FFFFFFF15 +:105D40000000FF1C0FFFFFFF0000FF1C0FFFFFFF05 +:105D50000000FF1C0FFFFFFF0000FF1C0FFFFFFFF5 +:105D60000000FF1C0FFFFFFF0000FF1C0FFFFFFFE5 +:105D70000000FF1C0FFFFFFF0000FF1C0FFFFFFFD5 +:105D80000000FF1C0FFFFFFF0000FF1C0FFFFFFFC5 +:105D90000000FF1C0FFFFFFF0000FF1C0FFFFFFFB5 +:105DA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA5 +:105DB0000000FF1C0FFFFFFF0000FF1C0FFFFFFF95 +:105DC0000000FF1C0FFFFFFF0000FF1C0FFFFFFF85 +:105DD0000000FF1C0FFFFFFF0000FF1C0FFFFFFF75 +:105DE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF65 +:105DF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF55 +:105E00000000FF1C0FFFFFFF0000FF1C0FFFFFFF44 +:105E10000000FF1C0FFFFFFF0000FF1C0FFFFFFF34 +:105E20000000FF1C0FFFFFFF0000FF1C0FFFFFFF24 +:105E30000000FF1C0FFFFFFF0000FF1C0FFFFFFF14 +:105E40000000FF1C0FFFFFFF0000FF1C0FFFFFFF04 +:105E50000000FF1C0FFFFFFF0000FF1C0FFFFFFFF4 +:105E60000000FF1C0FFFFFFF0000FF1C0FFFFFFFE4 +:105E70000000FF1C0FFFFFFF0000FF1C0FFFFFFFD4 +:105E80000000FF1C0FFFFFFF0000FF1C0FFFFFFFC4 +:105E90000000FF1C0FFFFFFF0000FF1C0FFFFFFFB4 +:105EA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA4 +:105EB0000000FF1C0FFFFFFF0000FF1C0FFFFFFF94 +:105EC0000000FF1C0FFFFFFF0000FF1C0FFFFFFF84 +:105ED0000000FF1C0FFFFFFF0000FF1C0FFFFFFF74 +:105EE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF64 +:105EF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF54 +:105F00000000FF1C0FFFFFFF0000FF1C0FFFFFFF43 +:105F10000000FF1C0FFFFFFF0000FF1C0FFFFFFF33 +:105F20000000FF1C0FFFFFFF0000FF1C0FFFFFFF23 +:105F30000000FF1C0FFFFFFF0000FF1C0FFFFFFF13 +:105F40000000FF1C0FFFFFFF0000FF1C0FFFFFFF03 +:105F50000000FF1C0FFFFFFF0000FF1C0FFFFFFFF3 +:105F60000000FF1C0FFFFFFF0000FF1C0FFFFFFFE3 +:105F70000000FF1C0FFFFFFF0000FF1C0FFFFFFFD3 +:105F80000000FF1C0FFFFFFF0000FF1C0FFFFFFFC3 +:105F90000000FF1C0FFFFFFF0000FF1C0FFFFFFFB3 +:105FA0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA3 +:105FB0000000FF1C0FFFFFFF0000FF1C0FFFFFFF93 +:105FC0000000FF1C0FFFFFFF0000FF1C0FFFFFFF83 +:105FD0000000FF1C0FFFFFFF0000FF1C0FFFFFFF73 +:105FE0000000FF1C0FFFFFFF0000FF1C0FFFFFFF63 +:105FF0000000FF1C0FFFFFFF0000FF1C0FFFFFFF53 +:106000000000FF1C0FFFFFFF0000FF1C0FFFFFFF42 +:106010000000FF1C0FFFFFFF0000FF1C0FFFFFFF32 +:106020000000FF1C0FFFFFFF0000FF1C0FFFFFFF22 +:106030000000FF1C0FFFFFFF0000FF1C0FFFFFFF12 +:106040000000FF1C0FFFFFFF0000FF1C0FFFFFFF02 +:106050000000FF1C0FFFFFFF0000FF1C0FFFFFFFF2 +:106060000000FF1C0FFFFFFF0000FF1C0FFFFFFFE2 +:106070000000FF1C0FFFFFFF0000FF1C0FFFFFFFD2 +:106080000000FF1C0FFFFFFF0000FF1C0FFFFFFFC2 +:106090000000FF1C0FFFFFFF0000FF1C0FFFFFFFB2 +:1060A0000000FF1C0FFFFFFF0000FF1C0FFFFFFFA2 +:1060B0000000FF1C0FFFFFFF0000FF1C0FFFFFFF92 +:1060C0000000FF1C0FFFFFFF0000FF1C0FFFFFFF82 +:1060D0000000FF1C0FFFFFFF0000097800003500E3 +:1060E00000000001000000020000000300000000AA +:1060F000000000040000000100000000000000019A +:106100000000000400000000000000010000000387 +:10611000000000000000000100000004000000007A +:10612000000000010000000300000000000000016A +:106130000000000400000000000000040000000354 +:10614000000000000000000000007FFF000003FFCF +:10615000000000000000000100000001000000013C +:10616000000000000000000200000090000000900D +:106170000080009008100000000009FF0000076C7C +:106180000000008A00000080000000810000008004 +:106190000000008A000000800000008100000080F4 +:1061A0000000008A000000800000008100000080E4 +:1061B0000000008A000000800000008100000080D4 +:1061C0000000008A000000800000008100000080C4 +:1061D00000000001000000010000000100000001BB +:1061E00000000001000000010000000100000001AB +:1061F000000000010000000000000000000000019D +:106200000000000200000000000000060000000383 +:106210000000000400000005000000010000000173 +:10622000000000010000000100000001000000016A +:10623000000000010000000100000001000000015A +:10624000000000010000000100000001000000014A +:1062500000000001000000010000000300006000D9 +:106260000000000300006000000000030000400088 +:106270000000030000000300000003000000030012 +:106280000000030000000300000003000003F0080A +:1062900000000000000000000000000000000001FD +:1062A00000000001000000010000000100000001EA +:1062B00000000001000000010000000100000001DA +:1062C00000000001000000010000000100000001CA +:1062D00000000001000000010000000100000001BA +:1062E00000000001000000010000000100000001AA +:1062F000000000010000000100000001000000019A +:106300000000000100000001000000010000000189 +:106310000000000100000001000000FF000000FF7D +:10632000000000FF000000FF0000007F000000FFF1 +:10633000000000FF000000FF0000003E0000000021 +:106340000000003F0000003F0000003F0000003F51 +:106350000000003F0000003F0000003F0000000F71 +:106360000000000012170000221700003217000082 +:106370001215000022150000321500000210000066 +:10638000001000001010000020100000301000006D +:1063900040100000000000000000000000000000AD +:1063A000001000001214000022140000321400003B +:1063B0004214000000000000000000000000000087 +:1063C0000000890600008926000000360000003623 +:1063D0000810000008100000FFFFFFFFFFFFFFFF95 +:1063E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:1063F000FFFFFFFFFFFFFFFFF000C000FFFFFFFFF9 +:10640000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10641000FFFFFFFFFFFFFFFFF800C000FFFFFFFFD0 +:10642000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10643000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10644000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10645000FFFFFFFFFFFFFFFF00003C1000000008F0 +:106460000000000800000002000000040000000519 +:1064700000000004000000400000180800000803AD +:1064800000000803000000400000000300000803B3 +:1064900000000803000008030001000300000803D7 +:1064A00000000803000000030000000300000003D8 +:1064B00000000003000000030000000300000003D0 +:1064C00000000003000000030000000300000003C0 +:1064D00000000003000000030000000300000003B0 +:1064E000000024030000002F000000090000001934 +:1064F0000000018400000183000003060000001971 +:10650000000000060000030600000306000003066A +:1065100000000C86000003060000030600000006D1 +:106520000000000600000006000000060000000653 +:106530000000000600000006000000060000000643 +:106540000000000600000006000000060000000633 +:106550000000000600000006000003060000001313 +:106560000000000600001004000010040010644049 +:10657000001064400000004000000019000000010D +:10658000000000000000000000000000000000000B +:1065900000002000000000000000000000000000DB +:1065A00000000000040020000000000000000000C7 +:1065B000000000000000000041002000000000007A +:1065C00000000000000000000000000000002000AB +:1065D0000000007C0000003D0000003F0000009C27 +:1065E0000000000C000000050000000A000000058B +:1065F00000000053000025E3000000540000005498 +:10660000000000040000000400000004000000047A +:10661000000000040000000400000004000000046A +:106620000000000000000001000000020000000067 +:106630000000000100000002000000090000000B43 +:106640000000000A0000000000000001000000023D +:10665000000000000000000100000002000000092E +:106660000000000B0000000A000000090000000B01 +:106670000000000A000000090000000B0000000AF2 +:1066800000000000000008000000020000000400FC +:1066900000000000000000001FFF1FFF1FFF1FFF82 +:1066A0001FFF1FFF1FFF1FFF000025E400008000E9 +:1066B000200020002000200080008000800080005A +:1066C00040004000400040000000000000000002C8 +:1066D00000000178000001780000000000000000C8 +:1066E0000000017800000000000000000000000031 +:1066F0000000000100000002000000000000000097 +:106700000000000000000004000000000000000184 +:106710000000000200000000000000000000000077 +:106720000000000400000000000000010000000262 +:106730000000000000000001000000020000000056 +:106740000000000100000002000000000000000046 +:106750000000000000000004000000000000000134 +:106760000000000200000000000000010000000224 +:106770000000000000000001000000020000000016 +:1067800000000000000000000000000400000013F2 +:106790000E490E490E490E49009200920092009255 +:1067A0000124012401240124000000000000000055 +:1067B0001000100010001000200101200101100144 +:1067C000010101012001012001011001200101202E +:1067D000010110010101010120010120010110014D +:1067E0000101010100000004000000060200410454 +:1067F00002004104020041040200410400000204BE +:10680000000002CE000002CE0000000000000000E8 +:10681000000002CC000000000000000000000000AA +:106820000000000100000002000000000000000065 +:106830000000000000000004000000000000000153 +:106840000000000200000000000000000000000046 +:1068500000000004000000130E490E490000000073 +:1068600000000000100010001000100020010120A6 +:1068700001011001010101012001012001011001AC +:10688000200101200101100101010101200101206D +:106890000101100101010101020041040200410453 +:1068A00000000002000000000000000200000000E4 +:1068B00000000002000000000000000000000000D6 +:1068C00000000002000000000000000200000000C4 +:1068D00000000002000000000000000000000000B6 +:1068E0000000000400000006020041040200410410 +:1068F0000000000100000001000000010000000194 +:106900000000000100000001000000010000000183 +:106910000000000100000001000000010000000173 +:106920000000000100000001000000010000000163 +:106930000000000100000003025555550255555551 +:10694000000002CE000002CE000002CE000002CE07 +:10695000000002CE000002CE000002CC0000005475 +:10696000000000540000005400000054000000002B +:10697000000000010000000200000000000000060E +:1069800000000003000000040000000500000000FB +:1069900000000001000000020000000000000000F4 +:1069A00000000000000000060000000000000001E0 +:1069B00000000002000000000000000000000000D5 +:1069C00000000006000000000000000100000002BE +:1069D00000000000000000010000000200000000B4 +:1069E00000000001000000020000000000000000A4 +:1069F0000000000000000006000000000000000190 +:106A00000000000200000000000000010000000281 +:106A10000000000000000001000000020000000073 +:106A20000000000000000000000000060E490E49B2 +:106A30000E490E4900920092009200920124012416 +:106A4000012401241000100010001000200101207A +:106A500001011001010101012001012001011001CA +:106A6000200101200101100101010101200101208B +:106A700001011001010101010000000400000006F5 +:106A80000000000000000001000000020000000003 +:106A900000000000000000000000000600000000F0 +:106AA00000000001000000020000000000000000E3 +:106AB00000000000000000060000000300000004C9 +:106AC00000000005000000030000000400000005B5 +:106AD00000000003000000040000000500000003A7 +:106AE0000000000300000003000000060000000397 +:106AF0000000000400000005000000030000000486 +:106B00000000000500000003000000040000000574 +:106B10000000000300000003000000030000000666 +:106B20000E490E4900000000009200920000000093 +:106B30000124012400000000000000000E490E495D +:106B400000000000009200920000000001240124D7 +:106B500010001000100010002001012001011001A0 +:106B6000010101012001012001011001200101208A +:106B700001011001010101012001012001011001A9 +:106B800001010101000000010000000300000004F9 +:106B900000000003000000040000000500000003E6 +:106BA00000000006000000050000000400000003D3 +:106BB00000000004000000050000000300000006C3 +:106BC00000000005000000040000000300000004B5 +:106BD00000000000000000010000000200000000B2 +:106BE000000000010000000200000005000000039A +:106BF0000000000600000005000000040000000383 +:106C0000000000040000000000000001000000027D +:106C1000000000000000000100000002000000056C +:106C200000000003000000060000000500480048C6 +:106C30000048004800900090009000900120012042 +:106C400001200120040204020402040200050005E0 +:106C500000050005120012001200120008000800D2 +:106C6000080008000120012001011020010101207D +:106C7000012001200101102001200120010110202C +:106C8000010101200120012001011020010101204A +:106C900000000004000000060000012300000123A2 +:106CA0000000012300000123000001230000012354 +:106CB0000000012300000123000001230000012344 +:106CC0000000012300000123000001230000012334 +:106CD0000000012300000123000001230000012324 +:106CE000000001230000012300000020000000320A +:106CF000000000070000000700000000000000087E +:106D00000000000100000000000000000000000082 +:106D100002150020021500200000003008100000BD +:106D200000000036000000300000003100000004C8 +:106D30000000000500000000000000040000000149 +:106D400000000006000000010000000200000040FA +:106D5000000000400000001C0000002000010000B6 +:106D60000002070000030E000004150000051C00CF +:106D70000006230000072A0000083100000938003F +:106D8000000A3F00000B4600000C4D00000D5400AF +:106D9000000E5B00000F620000106900001170001F +:106DA0000012770000137E000014850000158C008F +:106DB0000016930000179A000018A1000019A800FF +:106DC000001AAF00001BB600001CBD00001DC4006F +:106DD000001ECB00001FD2000000D9000000001EE2 +:106DE0000000001D000100000002078000030F00EA +:106DF0000004168000051E000006258000072D00F7 +:106E00000008348000093C00000A4380000B4B005E +:106E1000000C5280000D5A00000E6180000F6900C6 +:106E2000001070800011780000127F80001387002E +:106E300000148E800015960000169D800017A50096 +:106E40000018AC800019B400001ABB80001BC300FE +:106E5000001CCA800000D2000000000100000001F8 +:106E6000000000010000000100000001000000011E +:106E7000000000010000000100000001000000010E +:106E800000000001000000010000000100000001FE +:106E90000000000100000001000000280000002C9C +:106EA00000000030000000010000000100000001AF +:106EB000000002110000020000000204000002199C +:106EC0000000FFFF0000FFFF0000FFFF0000FFFFCA +:106ED00007FFFFFF0000007F07FFFFFF0000003FEC +:106EE0000000FFFF0000FFFF0000FFFF0000FFFFAA +:106EF00000007FF800007FF80000000000000001A3 +:106F00000000FF00000000000000FF000000000083 +:106F10000000FF00000000000000FF000000000073 +:106F20000000FF00000000000000FF000000000063 +:106F30000000FF00000000000000FF000000000053 +:106F40000000FF00000000000000FF000000000043 +:106F50000000FF00000000000000FF000000000033 +:106F60000000FF00000000000000FF000000000023 +:106F70000000FF00000000000000FF000000000013 +:106F80000000FF00000000000000FF000000000003 +:106F90000000FF00000000000000FF0000000000F3 +:106FA0000000FF00000000000000FF0000000000E3 +:106FB0000000FF00000000000000FF0000000000D3 +:106FC0000000FF00000000000000FF0000000000C3 +:106FD0000000FF00000000000000FF0000000000B3 +:106FE0000000FF00000000000000FF0000000000A3 +:106FF0000000FF00000000000000FF000000000093 +:107000000000FF00000000000000FF000000000082 +:107010000000FF00000000000000FF000000000072 +:107020000000FF00000000000000FF000000000062 +:107030000000FF00000000000000FF000000000052 +:107040000000FF00000000000000FF000000000042 +:107050000000FF00000000000000FF000000000032 +:107060000000FF00000000000000FF000000000022 +:107070000000FF00000000000000FF000000000012 +:107080000000FF00000000000000FF000000000002 +:107090000000FF00000000000000FF0000000000F2 +:1070A0000000FF00000000000000FF0000000000E2 +:1070B0000000FF00000000000000FF0000000000D2 +:1070C0000000FF00000000000000FF0000000000C2 +:1070D0000000FF00000000000000FF0000000000B2 +:1070E0000000FF00000000000000FF0000000000A2 +:1070F0000000FF00000000000000FF000000000092 +:107100000000FF00000000000000FF000000000081 +:107110000000FF00000000000000FF000000000071 +:107120000000FF00000000000000FF000000000061 +:107130000000FF00000000000000FF000000000051 +:10714000002010010000000001009000000001007C +:10715000000000010000000000000000140AFF0011 +:10716000000090020000000000000000000000008D +:10717000000090040000000000000000000000007B +:107180000000900600000000000000000000000069 +:107190000000900800000000000000000000000057 +:1071A0000000900A00000000000000000000000045 +:1071B0000000900C00000000000000000000000033 +:1071C0000000900E00000000000000000000000021 +:1071D000000090100000000000000000000000000F +:1071E00000009012000000000000000000000000FD +:1071F00000009014000000000000000000000000EB +:1072000000009016000000000000000000000000D8 +:1072100000009018000000000000000000000000C6 +:107220000000901A000000000000000000000000B4 +:107230000000901C000000000000000000000000A2 +:107240000000901E00000000000000000000000090 +:10725000000090200000000000000000000000007E +:10726000000090220000000000000000000000006C +:10727000000090240000000000000000000000005A +:107280000000902600000000000000000000000048 +:107290000000902800000000000000000000000036 +:1072A0000000902A00000000000000000000000024 +:1072B0000000902C00000000000000000000000012 +:1072C0000000902E00000000000000000000000000 +:1072D00000009030000000000000000000000000EE +:1072E00000009032000000000000000000000000DC +:1072F00000009034000000000000000000000000CA +:1073000000009036000000000000000000000000B7 +:1073100000009038000000000000000000000000A5 +:107320000000903A00000000000000000000000093 +:107330000000903C00000000000000000000000081 +:107340000000903E0000000000000000000000006F +:10735000000090400000000000000000000000005D +:10736000000090420000000000000000000000004B +:107370000000904400000000000000000000000039 +:107380000000904600000000000000000000000027 +:107390000000904800000000000000000000000015 +:1073A0000000904A00000000000000000000000003 +:1073B0000000904C000000000000000000000000F1 +:1073C0000000904E000000000000000000000000DF +:1073D00000009050000000000000000000000000CD +:1073E00000009052000000000000000000000000BB +:1073F00000009054000000000000000000000000A9 +:107400000000905600000000000000000000000096 +:107410000000905800000000000000000000000084 +:107420000000905A00000000000000000000000072 +:107430000000905C00000000000000000000000060 +:107440000000905E0000000000000000000000004E +:10745000000090600000000000000000000000003C +:10746000000090620000000000000000000000002A +:107470000000906400000000000000000000000018 +:107480000000906600000000000000000000000006 +:1074900000009068000000000000000000000000F4 +:1074A0000000906A000000000000000000000000E2 +:1074B0000000906C000000000000000000000000D0 +:1074C0000000906E000000000000000000000000BE +:1074D00000009070000000000000000000000000AC +:1074E000000090720000000000000000000000009A +:1074F0000000907400000000000000000000000088 +:107500000000907600000000000000000000000075 +:107510000000907800000000000000000000000063 +:107520000000907A00000000000000000000000051 +:107530000000907C0000000000000000000000003F +:107540000000907E0000000000000000000000002D +:10755000000090800000000000000000000000001B +:107560000000908200000000000000000000000009 +:1075700000009084000000000000000000000000F7 +:1075800000009086000000000000000000000000E5 +:1075900000009088000000000000000000000000D3 +:1075A0000000908A000000000000000000000000C1 +:1075B0000000908C000000000000000000000000AF +:1075C0000000908E0000000000000000000000009D +:1075D000000090900000000000000000000000008B +:1075E0000000909200000000000000000000000079 +:1075F0000000909400000000000000000000000067 +:107600000000909600000000000000000000000054 +:107610000000909800000000000000000000000042 +:107620000000909A00000000000000000000000030 +:107630000000909C0000000000000000000000001E +:107640000000909E0000000000000000000000000C +:10765000000090A0000000000000000000000000FA +:10766000000090A2000000000000000000000000E8 +:10767000000090A4000000000000000000000000D6 +:10768000000090A6000000000000000000000000C4 +:10769000000090A8000000000000000000000000B2 +:1076A000000090AA000000000000000000000000A0 +:1076B000000090AC0000000000000000000000008E +:1076C000000090AE0000000000000000000000007C +:1076D000000090B00000000000000000000000006A +:1076E000000090B200000000000000000000000058 +:1076F000000090B400000000000000000000000046 +:10770000000090B600000000000000000000000033 +:10771000000090B800000000000000000000000021 +:10772000000090BA0000000000000000000000000F +:10773000000090BC000000000000000000000000FD +:10774000000090BE000000000000000000000000EB +:10775000000090C0000000000000000000000000D9 +:10776000000090C2000000000000000000000000C7 +:10777000000090C4000000000000000000000000B5 +:10778000000090C6000000000000000000000000A3 +:10779000000090C800000000000000000000000091 +:1077A000000090CA0000000000000000000000007F +:1077B000000090CC0000000000000000000000006D +:1077C000000090CE0000000000000000000000005B +:1077D000000090D000000000000000000000000049 +:1077E000000090D200000000000000000000000037 +:1077F000000090D400000000000000000000000025 +:10780000000090D600000000000000000000000012 +:10781000000090D800000000000000000000000000 +:10782000000090DA000000000000000000000000EE +:10783000000090DC000000000000000000000000DC +:10784000000090DE000000000000000000000000CA +:10785000000090E0000000000000000000000000B8 +:10786000000090E2000000000000000000000000A6 +:10787000000090E400000000000000000000000094 +:10788000000090E600000000000000000000000082 +:10789000000090E800000000000000000000000070 +:1078A000000090EA0000000000000000000000005E +:1078B000000090EC0000000000000000000000004C +:1078C000000090EE0000000000000000000000003A +:1078D000000090F000000000000000000000000028 +:1078E000000090F200000000000000000000000016 +:1078F000000090F400000000000000000000000004 +:10790000000090F6000000000000000000000000F1 +:10791000000090F8000000000000000000000000DF +:10792000000090FA000000000000000000000000CD +:10793000000090FC000000000000000000000000BB +:10794000000090FE000000000000000000000000A9 +:107950000000910000000000000000000000000096 +:107960000000910200000000000000000000000084 +:107970000000910400000000000000000000000072 +:107980000000910600000000000000000000000060 +:10799000000091080000000000000000000000004E +:1079A0000000910A0000000000000000000000003C +:1079B0000000910C0000000000000000000000002A +:1079C0000000910E00000000000000000000000018 +:1079D0000000911000000000000000000000000006 +:1079E00000009112000000000000000000000000F4 +:1079F00000009114000000000000000000000000E2 +:107A000000009116000000000000000000000000CF +:107A100000009118000000000000000000000000BD +:107A20000000911A000000000000000000000000AB +:107A30000000911C00000000000000000000000099 +:107A40000000911E00000000000000000000000087 +:107A50000000912000000000000000000000000075 +:107A60000000912200000000000000000000000063 +:107A70000000912400000000000000000000000051 +:107A8000000091260000000000000000000000003F +:107A9000000091280000000000000000000000002D +:107AA0000000912A0000000000000000000000001B +:107AB0000000912C00000000000000000000000009 +:107AC0000000912E000000000000000000000000F7 +:107AD00000009130000000000000000000000000E5 +:107AE00000009132000000000000000000000000D3 +:107AF00000009134000000000000000000000000C1 +:107B000000009136000000000000000000000000AE +:107B1000000091380000000000000000000000009C +:107B20000000913A0000000000000000000000008A +:107B30000000913C00000000000000000000000078 +:107B40000000913E00000000000000000000000066 +:107B50000000914000000000000000000000000054 +:107B60000000914200000000000000000000000042 +:107B70000000914400000000000000000000000030 +:107B8000000091460000000000000000000000001E +:107B9000000091480000000000000000000000000C +:107BA0000000914A000000000000000000000000FA +:107BB0000000914C000000000000000000000000E8 +:107BC0000000914E000000000000000000000000D6 +:107BD00000009150000000000000000000000000C4 +:107BE00000009152000000000000000000000000B2 +:107BF00000009154000000000000000000000000A0 +:107C0000000091560000000000000000000000008D +:107C1000000091580000000000000000000000007B +:107C20000000915A00000000000000000000000069 +:107C30000000915C00000000000000000000000057 +:107C40000000915E00000000000000000000000045 +:107C50000000916000000000000000000000000033 +:107C60000000916200000000000000000000000021 +:107C7000000091640000000000000000000000000F +:107C800000009166000000000000000000000000FD +:107C900000009168000000000000000000000000EB +:107CA0000000916A000000000000000000000000D9 +:107CB0000000916C000000000000000000000000C7 +:107CC0000000916E000000000000000000000000B5 +:107CD00000009170000000000000000000000000A3 +:107CE0000000917200000000000000000000000091 +:107CF000000091740000000000000000000000007F +:107D0000000091760000000000000000000000006C +:107D1000000091780000000000000000000000005A +:107D20000000917A00000000000000000000000048 +:107D30000000917C00000000000000000000000036 +:107D40000000917E00000000000000000000000024 +:107D50000000918000000000000000000000000012 +:107D60000000918200000000000000000000000000 +:107D700000009184000000000000000000000000EE +:107D800000009186000000000000000000000000DC +:107D900000009188000000000000000000000000CA +:107DA0000000918A000000000000000000000000B8 +:107DB0000000918C000000000000000000000000A6 +:107DC0000000918E00000000000000000000000094 +:107DD0000000919000000000000000000000000082 +:107DE0000000919200000000000000000000000070 +:107DF000000091940000000000000000000000005E +:107E0000000091960000000000000000000000004B +:107E10000000919800000000000000000000000039 +:107E20000000919A00000000000000000000000027 +:107E30000000919C00000000000000000000000015 +:107E40000000919E00000000000000000000000003 +:107E5000000091A0000000000000000000000000F1 +:107E6000000091A2000000000000000000000000DF +:107E7000000091A4000000000000000000000000CD +:107E8000000091A6000000000000000000000000BB +:107E9000000091A8000000000000000000000000A9 +:107EA000000091AA00000000000000000000000097 +:107EB000000091AC00000000000000000000000085 +:107EC000000091AE00000000000000000000000073 +:107ED000000091B000000000000000000000000061 +:107EE000000091B20000000000000000000000004F +:107EF000000091B40000000000000000000000003D +:107F0000000091B60000000000000000000000002A +:107F1000000091B800000000000000000000000018 +:107F2000000091BA00000000000000000000000006 +:107F3000000091BC000000000000000000000000F4 +:107F4000000091BE000000000000000000000000E2 +:107F5000000091C0000000000000000000000000D0 +:107F6000000091C2000000000000000000000000BE +:107F7000000091C4000000000000000000000000AC +:107F8000000091C60000000000000000000000009A +:107F9000000091C800000000000000000000000088 +:107FA000000091CA00000000000000000000000076 +:107FB000000091CC00000000000000000000000064 +:107FC000000091CE00000000000000000000000052 +:107FD000000091D000000000000000000000000040 +:107FE000000091D20000000000000000000000002E +:107FF000000091D40000000000000000000000001C +:10800000000091D600000000000000000000000009 +:10801000000091D8000000000000000000000000F7 +:10802000000091DA000000000000000000000000E5 +:10803000000091DC000000000000000000000000D3 +:10804000000091DE000000000000000000000000C1 +:10805000000091E0000000000000000000000000AF +:10806000000091E20000000000000000000000009D +:10807000000091E40000000000000000000000008B +:10808000000091E600000000000000000000000079 +:10809000000091E800000000000000000000000067 +:1080A000000091EA00000000000000000000000055 +:1080B000000091EC00000000000000000000000043 +:1080C000000091EE00000000000000000000000031 +:1080D000000091F00000000000000000000000001F +:1080E000000091F20000000000000000000000000D +:1080F000000091F4000000000000000000000000FB +:10810000000091F6000000000000000000000000E8 +:10811000000091F8000000000000000000000000D6 +:10812000000091FA000000000000000000000000C4 +:10813000000091FC000000000000000000000000B2 +:10814000000091FEFFFFFFFFFFFFFFFFFFFFFFFFAC +:10815000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10816000FFFFFFFF0000FFFF00000000FFFFFFFF19 +:10817000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10818000FFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFD +:10819000000000000000039A00003500000000010C +:1081A00000000002000000030000000000000004C6 +:1081B00000000001000000000000000100000004B9 +:1081C00000000000000000010000000300000000AB +:1081D0000000000100000004000000000000000199 +:1081E0000000000300000000000000010000000487 +:1081F0000000000000000004000000030000000078 +:108200000000000000007FFF000003FFFFFFFFFFF2 +:10821000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10822000FFFFFFFFFFFFFFFFFFFFFFFF0000000357 +:1082300000BEBC200000000000000005000000039C +:1082400000BEBC200000000000000005000000038C +:1082500000BEBC200000000000000005000000037C +:1082600000BEBC200000000000000005000000036C +:1082700000BEBC200000000000000005000000035C +:1082800000BEBC200000000000000005000000034C +:1082900000BEBC200000000000000005000000033C +:1082A00000BEBC2000000000000000050000000D22 +:1082B0000000000C00000000000000100000000F93 +:1082C0000000000000000000000000000215002077 +:1082D00002150020000000300810000000000036E9 +:1082E000000000300000003100000003000000002A +:1082F0000000000100000003000000010000000277 +:1083000000000040000000400000000400000020C9 +:108310000000000F0000001B00008000000103C0EF +:108320000001878000020B4000028F00000312C092 +:108330000003968000041A4000049E00000521C03E +:108340000005A580000629400006AD00000730C0EA +:108350000007B480000838400008BC0000093FC096 +:108360000009C380000A4740000ACB00000B4EC042 +:10837000000BD280000C5640000CDA00000D5DC0EE +:108380000000618000000001000000010000000109 +:1083900000000001000000010000000100000001D9 +:1083A00000000001000000010000000100000001C9 +:1083B00000000001000000010000000100000001B9 +:1083C00000000001000000010000050E000004FD97 +:1083D000000005010000051E0000FFFF0000FFFF78 +:1083E0000000FFFF0000FFFF000000460000000C3F +:1083F00000000000000000000000001C000000F46D +:10840000000000010000000000000000000000006B +:10841000000000010000000107FFFFFF0000007FD7 +:1084200007FFFFFF0000003F0000FFFF0000FFFF0D +:108430000000FFFF0000FFFF00007FF800007FF852 +:108440000000FF00000000000000FF00000000002E +:108450000000FF00000000000000FF00000000001E +:108460000000FF00000000000000FF00000000000E +:108470000000FF00000000000000FF0000000000FE +:108480000000FF00000000000000FF0000000000EE +:108490000000FF00000000000000FF0000000000DE +:1084A0000000FF00000000000000FF0000000000CE +:1084B0000000FF00000000000000FF0000000000BE +:1084C0000000FF00000000000000FF0000000000AE +:1084D0000000FF00000000000000FF00000000009E +:1084E0000000FF00000000000000FF00000000008E +:1084F0000000FF00000000000000FF00000000007E +:108500000000FF00000000000000FF00000000006D +:108510000000FF00000000000000FF00000000005D +:108520000000FF00000000000000FF00000000004D +:108530000000FF00000000000000FF00000000003D +:108540000000FF00000000000000FF00000000002D +:108550000000FF00000000000000FF00000000001D +:108560000000FF00000000000000FF00000000000D +:108570000000FF00000000000000FF0000000000FD +:108580000000FF00000000000000FF0000000000ED +:108590000000FF00000000000000FF0000000000DD +:1085A0000000FF00000000000000FF0000000000CD +:1085B0000000FF00000000000000FF0000000000BD +:1085C0000000FF00000000000000FF0000000000AD +:1085D0000000FF00000000000000FF00000000009D +:1085E0000000FF00000000000000FF00000000008D +:1085F0000000FF00000000000000FF00000000007D +:108600000000FF00000000000000FF00000000006C +:108610000000FF00000000000000FF00000000005C +:108620000000FF00000000000000FF00000000004C +:108630000000FF00000000000000FF00000000003C +:108640000000FF00000000000000FF00000000002C +:108650000000FF00000000000000FF00000000001C +:108660000000FF00000000000000FF00000000000C +:108670000000FF00000000000000FF0000000000FC +:10868000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10869000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:1086A00000001900000000000000000100000000B0 +:1086B0000000000000000000000001C400003500C0 +:1086C00000000001000000020000000300000000A4 +:1086D0000000000400000001000000000000000194 +:1086E0000000000400000000000000010000000382 +:1086F0000000000000000001000000040000000075 +:108700000000000100000003000000000000000164 +:10871000000000040000000000000004000000034E +:10872000000000000000000000007FFF000003FFC9 +:10873000000000000393870000000000000000001C +:10874000000000000393870000000000000000000C +:108750000000000F00000007000000000000000EF5 +:108760000000000E000000000000000000000000FB +:108770000315002003150020010000300810000040 +:108780000000003600000030000000310000000250 +:1087900000000005000000020000000200000000D0 +:1087A00000000005000000030000000100000004BC +:1087B0000000000100000002000000400000004036 +:1087C0000000000400000020000000020000002063 +:1087D00000001000000020800000310000004180F7 +:1087E00000005200000062800000730000008380DF +:1087F000000094000000A4800000B5000000C580C7 +:108800000000D6000000E6800000F70000010780AD +:108810000001180000012880000139000001498092 +:1088200000015A0000016A8000017B0000018B807A +:1088300000019C000001AC800001BD000001CD8062 +:108840000001DE000001EE800001FF0000000F804B +:108850000000000100000001000000010000000114 +:108860000000000100000001000000010000000104 +:1088700000000001000000010000000100000001F4 +:1088800000000001000000010000000100000001E4 +:1088900000000001000000010000000100000001D4 +:1088A0000000121400001200000012040000FFFF7C +:1088B0000000FFFF0000FFFF0000FFFF000000209E +:1088C000000000380000000000000000000000234D +:1088D0000000002400000025000000260000002702 +:1088E000000000390000003A0000002B0000002CBE +:1088F00000000000000000EC000000000000002963 +:108900000000002A0000000100000001000000013A +:108910000000000100000000000000000000000056 +:108920000000000107FFFFFF0000007F07FFFFFFBF +:108930000000003F0000FFFF0000FFFF0000FFFFFE +:108940000000FFFF00007FF800007FF8000000003B +:1089500000000001CCCC0201CCCCCCCCCCCC0201B0 +:10896000CCCCCCCCCCCC0201CCCCCCCCCCCC020171 +:10897000CCCCCCCCCCCC0201CCCCCCCCCCCC020161 +:10898000CCCCCCCCCCCC0201CCCCCCCCCCCC020151 +:10899000CCCCCCCCFFFFFFFFFFFFFFFFFFFFFFFFB3 +:1089A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1089B000FFFFFFFF0000000000010001003302077D +:1089C000CCCCCCC910000000000028AD0000291854 +:1089D0000000291900000000000000000000000550 +:1089E000000000067058103C000000000000FF006E +:1089F000000000000000FF00000000000000FF0079 +:108A0000000000000000FF00000000000000FF0068 +:108A1000000000000000FF00000000000000FF0058 +:108A2000000000000000FF00000000000000FF0048 +:108A3000000000000000FF00000000000000FF0038 +:108A4000000000000000FF00000000000000FF0028 +:108A5000000000000000FF00000000000000FF0018 +:108A6000000000000000FF00000000000000FF0008 +:108A7000000000000000FF00000000000000FF00F8 +:108A8000000000000000FF00000000000000FF00E8 +:108A9000000000000000FF00000000000000FF00D8 +:108AA000000000000000FF00000000000000FF00C8 +:108AB000000000000000FF00000000000000FF00B8 +:108AC000000000000000FF00000000000000FF00A8 +:108AD000000000000000FF00000000000000FF0098 +:108AE000000000000000FF00000000000000FF0088 +:108AF000000000000000FF00000000000000FF0078 +:108B0000000000000000FF00000000000000FF0067 +:108B1000000000000000FF00000000000000FF0057 +:108B2000000000000000FF00000000000000FF0047 +:108B3000000000000000FF00000000000000FF0037 +:108B4000000000000000FF00000000000000FF0027 +:108B5000000000000000FF00000000000000FF0017 +:108B6000000000000000FF00000000000000FF0007 +:108B7000000000000000FF00000000000000FF00F7 +:108B8000000000000000FF00000000000000FF00E7 +:108B9000000000000000FF00000000000000FF00D7 +:108BA000000000000000FF00000000000000FF00C7 +:108BB000000000000000FF00000000000000FF00B7 +:108BC000000000000000FF00000000000000FF00A7 +:108BD000000000000000FF00000000000000FF0097 +:108BE000000000000000FF00000000000000FF0087 +:108BF000000000000000FF00000000000000FF0077 +:108C0000000000000000FF00000000000000FF0066 +:108C1000000000000000FF00000000000000FF0056 +:108C2000000000000000FF0000000000FFFFFFFF49 +:108C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:108C4000FFFFFFFFFFFFFFFFFFFFFFFF0000FFFF32 +:108C500000000000FFFFFFFFFFFFFFFFFFFFFFFF20 +:108C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:108C7000FFFFFFFF0000FFFF0000000003231303BE +:108C80001303231303030323A0B090430200020045 +:108C9000060406040323130313032313030303230C +:108CA000A0B09043131313131313131313131313BD +:108CB000A0B0904303010200000000000000054B3B +:108CC0000000350000000001000000020000000369 +:108CD000000000000000000400000001000000008F +:108CE000000000010000000400000000000000017E +:108CF000000000030000000000000001000000046C +:108D0000000000000000000100000003000000005F +:108D1000000000010000000400000000000000044A +:108D200000000003000000000000000000007FFFC2 +:108D3000000003FF002625A000000000002625A05B +:108D400000000000002625A000000000002625A04D +:108D500000000000000E0000011600D6002625A02D +:108D600000000000002625A000000000002625A02D +:108D700000000000002625A0000000000072000096 +:108D8000012300F30000FFFF000000000000FFFFD0 +:108D9000000000000000FFFF000000000000FFFFD7 +:108DA000000000000000FFFF000000000000FFFFC7 +:108DB0000000000000000000000000000000FFFFB5 +:108DC000000000000000FFFF000000000000FFFFA7 +:108DD000000000000000FFFF000000000000FFFF97 +:108DE000000000000000FFFF000000000000FFFF87 +:108DF0000000000000000000000000000000FFFF75 +:108E0000000000000000FFFF000000000000FFFF66 +:108E1000000000000000FFFF000000000000FFFF56 +:108E2000000000000000FFFF000000000000FFFF46 +:108E30000000000000000000000000000000FFFF34 +:108E4000000000000000FFFF000000000000FFFF26 +:108E5000000000000000FFFF000000000000FFFF16 +:108E6000000000000000FFFF000000000000FFFF06 +:108E70000000000000000000000000000000FFFFF4 +:108E8000000000000000FFFF000000000000FFFFE6 +:108E9000000000000000FFFF000000000000FFFFD6 +:108EA000000000000000FFFF000000000000FFFFC6 +:108EB0000000000000000000000000000000FFFFB4 +:108EC000000000000000FFFF000000000000FFFFA6 +:108ED000000000000000FFFF000000000000FFFF96 +:108EE000000000000000FFFF000000000000FFFF86 +:108EF0000000000000000000000000000000FFFF74 +:108F0000000000000000FFFF000000000000FFFF65 +:108F1000000000000000FFFF000000000000FFFF55 +:108F2000000000000000FFFF000000000000FFFF45 +:108F30000000000000000000000000000000FFFF33 +:108F4000000000000000FFFF000000000000FFFF25 +:108F5000000000000000FFFF000000000000FFFF15 +:108F6000000000000000FFFF000000000000FFFF05 +:108F70000000000000000000000000000000FFFFF3 +:108F8000000000005554000055555555000055553A +:108F9000F00000005554000055555555000055553A +:108FA000F00000000000000000010000000050146C +:108FB00000000000FFF55FFF0000FFFFF00003E08E +:108FC000000000000000A0000000040000000000FD +:108FD0000000000000000000000010000000000081 +:108FE0000000000000000000000040000000000041 +:108FF000000000000000000000010000FF5C000015 +:10900000FFF55FFF0000FFFFF00003E0000000003D +:109010000000A000000008000000000000000000A8 +:109020000000000000002000000000000000000020 +:1090300000000000000080000000000000000000B0 +:10904000000000000002000000000000000000001E +:109050001F8B080000000000000BFB51CFC0F00385 +:10906000094F1745E59B72A3F2D1F1091EFCF2846A +:10907000300B0365FA0F7130309C02E27B1C68EE06 +:109080006682D06940F12476060623207D9615215C +:109090001F0FB5574C1B21364F8381E1962A84CD93 +:1090A000A74699BB46F1D0C0EEE6A87C4F53087D99 +:1090B000D40C427BA0C97B41E5FF1A42D59B6337A4 +:1090C000F79F2171F68BD8A1F267DBE257DFED0441 +:1090D000A10190B60D18B8030000000000000000C8 +:1090E0001F8B080000000000000BD57D0D7854D5C3 +:1090F00099F0B977EECCDC99DC99DCC0244C608027 +:10910000999048D088130C1815EB4D8818BB743B08 +:1091100022DA68A91D2D6254D491D24A5B752E249F +:109120008410038C7F08F83720BAD48A0D2DB6EE50 +:1091300057DD9DA0CBEA6EBFDD48D5456BB7235602 +:1091400056FDD44DD95AECB758BFF77DCFBD33F794 +:109150004E66F2E3B6BBCF171F9FCBB9F7FCBCE757 +:109160003DEF79FFCF19B778263B6526639FE1DF96 +:10917000F98CED7430C6E6E79FE1C4F71EC93631BD +:10918000F6B12EB13E78EAAD89BFCA06E0B9DEADD0 +:1091900076C1F3FEB23BE8FB5A4956DD5168C31273 +:1091A00067C54E676C4392B1CC6C2A9F816517638B +:1091B000DA80921FC77C4E66228DC358483D56C642 +:1091C000E8EF3318DBCDCA988EE3AA2CDD17819720 +:1091D0006FC65B5815630E5E059E4BB49FC2F8C107 +:1091E000456CD87D76BE3F87EA6219D9E8872A2E7A +:1091F0002F8F1719D77CAE7DF3AAF40B96FAB5CC56 +:109200001738761AFC436212C2C11CFD8C211C2146 +:10921000967608A5FB39918CA75FA8437C7DB53C69 +:10922000E62B5DCFC44B5F52661937635D49959E4F +:10923000DE10D3D200A717F0F4A30678D6EB346E75 +:109240006FA866779980D0C51983F97A5E99B5BB06 +:109250000FCA5F6002E1AD3774B7AC8D323F560B79 +:10926000F8A837E657C310ABD40F83F93C065D94DA +:10927000C1B8BBA17D59C3C8F110FFE6784B3EE7EA +:10928000786E7609E1C33987B12105F10AE3C0534D +:109290000CEB7A16E6C9C27CBDA430AF3F16FE5C6B +:1092A00001D1B6BE65F55E5B595226D9D7BF80AEF7 +:1092B00018CEBF121E41562FC1FC9CCC1BC5F9AD68 +:1092C00012E2D7E0FBF0B35FD5BA013FC73536DC19 +:1092D00007656720CE907ECC761755AE203C498A34 +:1092E00098760BF4247C1E47FA003A750744DD3D5E +:1092F000B7085E42B0034CB86A46810BD61FE99CA2 +:109300003E014E5A3E91A87F6F14F6018CE76359D7 +:10931000DA04E50C16641663152C2CF04D111510AB +:109320006F8C2D54917E039E3F75BFCBA95F41BBCF +:109330008B7D5636817E25E877D69FA1DF31E0F51B +:10934000B007A95F5C9DCF26E7FBDD04FB8E19FB10 +:109350000E9F6EA849FBBB81F3998DC920BD67D2D2 +:10936000D39A08E3295157B80FF85A99926111A876 +:10937000F7EF2DF230D00E438E86742EE2FACD42F6 +:109380003A646F89B0EE65513BFF914396FD300A18 +:109390003D6EA83C654ABC61947D050C2922E7DB43 +:1093A00095AAF7E77E7601FF8A38F36549A9C9D304 +:1093B000F528F373AC893346741F63280F72ED45AB +:1093C000161F8079772957CB387F76F2B3CF1C0BE5 +:1093D0002C7C5E893517C3CBAF5884F8915976AA97 +:1093E0003DB7087E78065768590B3CBFC67FE03E04 +:1093F0000EAED2B2E358875E67ACE32A946FF3599E +:10940000F431A0BBBBCAAE646F35A09CBB32837481 +:10941000D253591571A33C62EBB9DC9215262FC8C3 +:10942000D3E960E56541E46B1BAA2F0B229FDBE0CB +:109430008C0563507EB1F227DA55D8FE6439433982 +:10944000D913AC29C779F59C9C352551647E658C70 +:10945000F30B2FC217E1F4C6EAF3F0F6044519E165 +:1094600039DEC0F9CE5D657FA339A0EC0A4B09EC6B +:10947000DFA5C0B8307E7BD38086F371C595B85B1D +:109480001DD98F390EFC099F21DFC73AE6BE136C48 +:10949000DF8BC231B21CD76A90AFAA2CDA57A4BEB8 +:1094A00053F6EB657391EFE6DEAB386EEDCF4F2FE1 +:1094B00047BAC0FA6119871634DC5779FA4FDBD600 +:1094C0009BA962BEDF9AFCFA494CEF159A700BCB50 +:1094D00009DCB78578ED71B14EA43726691D88BFC8 +:1094E0006E61D23CD46B4AD1BB14ECFDAD03E005F8 +:1094F000DC6590BEDCC1C5BA0BDB8162339958458F +:10950000FF9030979EBF75E077557ADF4A7F7305ED +:10951000D027109967B1B370FE5D0A5FF752E3A1DF +:109520007EC06697FEEE7445E33192478923420080 +:10953000E73B97E09742878E44008EF3052EA7A560 +:10954000804B47B8992A7D90B5E06986A49D2FE0AD +:109550007EF0F27E0AFB3F436A5D2440FBA34C6B26 +:10956000138AE8654C8141CF2E0D5F9E7F6B7EA1F3 +:109570008AD32FFF4B674480D31157345C176F3465 +:10958000CA50CE1E6A06CC36C3E77AE928C2A9C102 +:109590007F7C3DA36C0FD29126C7FA8026FD0BE19C +:1095A000BB05AFCEA6792C03EDD5AB95447933D26C +:1095B000136F6FD2A9A3A0FCF5C275483EC3DEAEFF +:1095C000B3E88D25F4D3B71DADD714C7C3A471E19B +:1095D000017504ACC794442FAE17489B619CCF0320 +:1095E000C63ADF6FC8A3BB0C79B4D9903FDDC93050 +:1095F0007DBF33594FE5ADC92895EF4936D3734741 +:1096000052A3E743C9767ADE978C513D5775B78CE4 +:10961000FACA03D5033B04D4C7F5ACF67368F280ED +:109620006FE07546FAF99BDACF6188078087B3A9A6 +:1096300020EF84D7341DEB570C5C2E0208FB26FF6D +:10964000BDFE423594EB065E17A0FCFCBA7FC874E1 +:1096500063FDD379FD5DC27B9A0EF4FB808775D0E4 +:109660003E0A2D1B030F9C4F3E8D7880E70395D05B +:109670004E197FBBE7B01DE0F181C8C4C6F348298D +:109680008DCF57687905E6EF9139FCFF22FC3BCD81 +:109690009758D5398C6585DFEA349FD38DFE413EDE +:1096A0005D6A914FBF109C1CEEC689C1FDAA315F57 +:1096B000796196C6FA0B213E80FBAEBC6108745FEF +:1096C0002087250319628F21208AEAB1E968AA1050 +:1096D000E6FBCAA8EF5A116535F0EA7FA3D0999F3F +:1096E0007F3F63ADC690BFFC0D2E1EBCBF6F59AB54 +:1096F000CCF557D84830AF43C67BD39E905E72906E +:10970000DEF302BEAF1C59DFB403CC7A25E154C7A7 +:10971000D06FC7394F26817E00FADB7EA6DAE6FBE2 +:1097200030536DF3F4287CBF8E773D485183FE6E35 +:109730002FE877754179DA93226B86AD1D5A6591D2 +:109740002FF07F70B9D7569ED436C956F6374DB52F +:10975000E9414ED5AE17290DA7DAEAAB0BE7D9CA16 +:109760008125E7D8EA4F5DD16AFB3E63CD176DDFF7 +:10977000AB962D1D5DEF1A27BEEF29987F6F4179BB +:10978000BCFD4C36F89CF9BEEA8A0571D2E79634E6 +:1097900071FE27C52EAA837FBE775FDDBC3E56AC27 +:1097A0009F75B44EB31DDA6491E407E7DFA22E90F3 +:1097B0007EBD4D885D7C01FA1FCE03BD8CA1DE6F9E +:1097C000E7EFCC5A768C2CCF12053EAF257C3EE7D6 +:1097D0009F3C5F463AF3FAC418D9DDCEB43AA921CA +:1097E0003F9F2A432F35E13FFFE43F3B70BF74A901 +:1097F00061B287B75DF1C5E0D5CA48F8CDFEEF5438 +:10980000C4F634B62F90BF774A03B2751CB3FE5826 +:10981000F8AD0B271E41BFCBF8FD303186F2F6D6EE +:109820002F8B642FF517F81D7AD1EF00E51E9037C6 +:10983000DC4FA31E41FDF1C4392C8CF5FD81AC86B3 +:10984000F2E32BE2452DF5009F3FA8058350DEFF94 +:10985000B7B3D6B54D4755374BF8BBA77969391B18 +:10986000C51FE08B8A36FBA7D05EF784EDF6BA3BC6 +:109870003875547BE91DDCC780673FD895D1067CDD +:10988000723EE028FF20B8D2A2575D283AB8DDE149 +:10989000B838817ACE1681F377F37B5AE47EA797A6 +:1098A000418DC6E7F927B78A7C7DB97DA9F85A753D +:1098B000D42F40114DD4A923D7517166885EFEA7DD +:1098C000F1D055910DA2BE9B46E5F30BC07714D0A5 +:1098D000FBE09FD2E4E5FA37E07D17D8038E28EA53 +:1098E000DDCA5BF8DE897A2AE8851E31BE5E9C4FB0 +:1098F000FE0D01F729D859F4FC9F9E8FC3D1389CE7 +:1099000041BDEF5C5774371BB96E3FC675ABC4F5EC +:1099100035D7EDCB64BF9BEBD6A7F075835D537451 +:10992000DD3A45CEDFFAA434EDC3F34F968BD4BEB7 +:109930005924F9D6AFCCDB340BDBBFE260A01EB2FA +:109940007E2943F5FEBBF1500897CF07704199BDC2 +:10995000CAE1F23987D4FF09B84AD2DBA48EB1E854 +:109960006D48AC1C496FEB0DB9EC288B75E03ECD12 +:10997000CFBB6637CE1BE9506CC0F5E676CD66836B +:10998000AF6E9686FE5BD725C7AFE5D495C8273A5C +:109990001517F1C91B1CFAA138F28932813D06F373 +:1099A000461F31F2F36BEE7346910E3B5F75343B0D +:1099B000C2C02F1C1E9BFD6A3E3B25205150053A1C +:1099C000C18E447CB1B4733867E7D48CF44F7F22E6 +:1099D0001AFE69C38E397EEFA5E519561A0FEF27D7 +:1099E0005F54A5BABC7FBAF0FB0D0E962039270F45 +:1099F000B8685EB7A53C7D8D38BF53DA52B06E9320 +:109A00001D7C9F9976DF0D7B5F52250B9E3AEF758B +:109A1000BEE52E02770E5F663B103FEE4923DB97D3 +:109A20006A07F86B43789C4DDCEF7EBD231E740003 +:109A30001CDEBDB76440D3023A1A203DD7EC3F0F7D +:109A40003FEC6D037E36B708BCAAF816FA67C782EA +:109A5000772C797CFCDE0D3DE8CF7ACF199D81FE15 +:109A60009DCEFED934DED5861E64E2FD9AFB3654C7 +:109A7000158B3FE4F0EEE85F8C707FCCF47A4723DF +:109A8000954FE984F7B112F432167D2C74FC37D16E +:109A900007CC17E9E32B267DF45612DD4F983ECC18 +:109AA0007613A40FA087AF3AE0A949B1CB2E07B82F +:109AB0007C0D2CDA17CED387D9EF08BA30D6E9F36C +:109AC000C239165DC86B1DE1DF9CC95844D2488E6F +:109AD000F6AAEB755A5FB455D02F916A243F22083D +:109AE0005AF22FC25F06F9A9AC6AC4E7BD60B4A2FE +:109AF000DD55D6648F73B80BF857B043CB98FDE2B1 +:109B0000BCE5B52E1A173D2838AEA4B08C07E76324 +:109B1000F8A9912C518F76B35FB6CFE2ED085FA51F +:109B2000E62331EEC7467712EAD76EF6D572ABDF81 +:109B300076E4FCEDE30497C5468DE314D6678A14FA +:109B40003E66C17BE976123B66D1EBB7236FAECCA4 +:109B5000E35F0BAF26BF9E8F8951D493BB423FD1A9 +:109B6000F1EB46C6F7650F3E912E82DC7F733D32E6 +:109B70006768A70B0B32118C2F68F230CA2F8792BF +:109B8000E0FC25383E3F8FD7E0FB174BB127914FC4 +:109B9000DD59C952C8CF73F874813D813450BF8CF0 +:109BA000DB07A7AFD4D11FE49CA136E214226017D3 +:109BB0005C7CBAB55F6EB7F626D3EC6D673E0E25BA +:109BC0008763FC69D019ABE7FCAAB781EB6BB23CA9 +:109BD000C0548CE7A5F667307E91A7339D2D3B1DC1 +:109BE000D791CBC53BE149FE5EC3AFEA0C7A6DF27B +:109BF0002F474FF5E3E3875B9261E16D4B5CC08FCC +:109C0000FEB422F2F92587605BAFAEA47EDE6F2C36 +:109C1000ED1C5294E09714786FA177F3FB78C73965 +:109C2000EA102704D7AB0EC1F08B70B86E45BE07A3 +:109C3000709CB863485A0ACF2F655E976AD01F227E +:109C4000F17A27EEE07EE4C3C94FEC7E44A98ABED8 +:109C50007F69C9CBD222CB385F32FC8B8C0D491780 +:109C6000FBACF833EC4665F8F9CF308ED8E4203DF4 +:109C7000B614BE970617A5A5C9F9F2E12607E94370 +:109C800087C10E427E70B82992D68BF8690AFDE72B +:109C90004B838BA99F13B70F49319A874C78C279B0 +:109CA0008601BE2FB5BF2C619C772CB87F5BB0FFBF +:109CB000B6623F284F6ECF30EC57C9BCC4B03F6589 +:109CC0006146D314CEEF104EE5C5C9A4DF815D2DEA +:109CD0002F3D3DDF9FD9BFAF609E9BA3A6DEC7E7A8 +:109CE000B9391A1ED73C7DC63CF3F2DDC0F3427190 +:109CF000543CFF6B524B4B45E4A1F9BCF23C31861E +:109D0000F05CE9CC5616D3430BE1F8FADA96B4646A +:109D1000F5D77C4E387EBD10F00078FCB534ECFBF6 +:109D20005CE3021EEACD3C0AC0DF891AA6B5A3DDBA +:109D30003B89113E81C08FA3FC33E39A92FC97ECE0 +:109D4000B67916FA56E1BB4D4FE6F54D7E9C9383EE +:109D500028C760DD1D811ED2FF1D012FD9098E800D +:109D6000742C5B000FC5E76608C41FBB4CFECCD843 +:109D70000B12FA279BA28F227EAE00066AC8FD2B2B +:109D8000241E5FD0D60528BE40711E371B2059E522 +:109D9000ACAA2FE77A6171BEBD313934C58A4F1341 +:109DA0005F1B9D867FF7E4A22CCA6349ACBF05FD0B +:109DB000F4E3F5F3F74D173A46837F751EFED5069B +:109DC000FCFAD514A702F8619C32354DF1D1BE39A9 +:109DD000A78C0A7F6F09F87BF3F0D723DFEF161B00 +:109DE0002604BF09776E9C3A46F1A34DC6BC0AE72C +:109DF000B3A9CE45FEE3EE39D14791756E31E60742 +:109E0000D3A17587796EC1799AFD492AD7D77B236B +:109E1000DBB4F518B7848A28674BC1E7915F9B6272 +:109E2000DDB70F4ADCFFDB8DAF50DF37E2C8CE3045 +:109E30008F73AD93E20F4A28C7423D644739032927 +:109E40009293DE7A98C71918C767042FA871E9861C +:109E500008E6BB008D62BE4BE5D03E2C433DA65AC2 +:109E6000CA393C54EA41C5A2BF6F88F41C71639C97 +:109E700035C0C2B391DE3297137F7306402E639EC6 +:109E80009394D1907E80FC23E8A774C9031ACA7901 +:109E9000D600E5308C1348B316E8AFF753078F3779 +:109EA000A0F16799FFFD12975B85EB536AFD7E6118 +:109EB000ACCF5233CE54B04E83B82EF3693D062555 +:109EC000926F5A664DD3C87DF38B2FCDE674D75E63 +:109ED0005CCF5D2AFF628A74A6858F1AF91933F167 +:109EE0005F302F97A1FF78EBD5D771FE4E5C5F589E +:109EF000B24742EDC44B1C8EF04BEBA08E1A4EAF16 +:109F0000C3F8C7CCA9F1C356FA9879DB30AD57BF77 +:109F100093FB7B2E70F47B8E42797BBCA61CFDAC40 +:109F20009F4842513C3C9A84B93A310E26D3F3C43F +:109F3000AF668F1A5FDD986469C9A20F6CEC9788D1 +:109F40009F6E0CCD3B8C7C7043A0761EB2312DD819 +:109F5000F84627DA15F561F257BF678C0F787C8FCA +:109F6000E391D3B969873AB5218DF416364471F877 +:109F7000EA008B66C29CCF49163CF99A86D7D50673 +:109F80002814358CF8013CFC07E2415AC15A60A5FF +:109F900046E0617B9CE717ADBEE694DD0E0B5D5E8F +:109FA000E8148D3C26C3FE95A2F5C5F4EDBC7E06F3 +:109FB00024E8247044AC176E06BB1AF6CD4EE3FDC0 +:109FC000D352CCE1847985F5A813C73F6CF8DD0442 +:109FD000264B01E4874DEA2EA4A72DE7788D7DAFAF +:109FE000EEC27DEF739AF97BB97DEF7316D9F7FD59 +:109FF000CEB88AFD7B3B531917E0C1DF3C44EFBB71 +:10A0000044D0A31402F330D2535860F93F18675A72 +:10A0100094FBDBE73B39FED55AA01F44E5BB65AD99 +:10A020002B00AE4D184FC6F8F0F46CAC06F7D9AB68 +:10A030000E86FB6C66D38196362C833E5F1E847E33 +:10A04000560DB72C82FAE5867E3FF33655C4796EFD +:10A050004A72BF78297AF1B852944711AE5DB904BB +:10A06000ED46E1145944BEB1E9461675C3384AEDD0 +:10A07000B137F1BD3F920AA23F7A6A6746BB1AC662 +:10A08000F583F987EB3B554BF1BC1729BD0EF30661 +:10A090003C896814E94965E91619D63394C8509E7D +:10A0A00091AFA38C61FD2E677C3EE24F8972FEE585 +:10A0B000A94DD373877388F4621FE85108CFA39B1F +:10A0C000B7B1AB2C74BED858074F13CF2334E9EE89 +:10A0D000112391E6EEF6E39E6B1BB09E97CB5B7669 +:10A0E000AFA63620BDA6348C13F80C7A057ABC00D6 +:10A0F000C72FBF2DDD8278969A580B7601FB90F220 +:10A1000093763853D508C78ECDAE0E8A6FE8EC35FE +:10A11000B600DA8BF675536AB53DB86E9F4A3C7E41 +:10A12000EAB835937908C60936BBD530E0DFD77673 +:10A1300028F31C9617C931A919CAD9C1CCAFA07C84 +:10A1400008F080F9551B4377EB6EE867663BE688BD +:10A1500022790FB418530923BECA3B79BE16E0EB2F +:10A16000AB4857FE381BC4F5F0AA43BA0495364AEB +:10A17000895FDF0EFD6D7CD111D599659F30D827A1 +:10A18000163B4B0EB111FA91755F8D2537F3F636FC +:10A190009743A6FF0FF6D38D884749E5FB69BC7E40 +:10A1A000A5165811B45FA7AE31F25E0D3E3BCD400F +:10A1B0006D886507C508F113D109CFC8B2F07ADC04 +:10A1C000D6B396A7AB77C1FCBB2B5EABE6F1DB3613 +:10A1D00015ED64419B2C7C76DAF8EDE95CBC799551 +:10A1E0003DDFA25CB3977DCD96F81A437952188F64 +:10A1F00033F80EFE13F11E8E46ADFC69B367683B63 +:10A20000C5E7F5A156CC47D82C0C7560E8D175CFC1 +:10A210003FB4B643FDCDBEA12086A43D771EA6B2B5 +:10A220006F86993F3A2CA39DFB136798D3FB428C12 +:10A23000BD32966A92488FDEAA4DAAC0EF83D97BC1 +:10A24000880E53A05F63BE96593F957530DC87FD3D +:10A25000501F9D0FFD0BA17E83A53F804534BE237B +:10A26000FE4F34F2FE4E80CE3584F42E65687C516C +:10A2700093D924A8B7D5A867F6E3CD0ED3BECAF507 +:10A2800007AA0996BD0B5394E3EAD5E2FA41E443E9 +:10A2900051319D16E83BEE31D03DA47406CB5A3ABD +:10A2A000832E89C15FB93D59CBFE4E45391C149CA4 +:10A2B000AE6663F27BD48FBF61D18FB1DC85FA6665 +:10A2C00058227D13F8F4F3B86FA42689FCA15A53E1 +:10A2D0000B43B96DFAD1CC71C6A4FF71D6037E4D84 +:10A2E000EBD1F3A640F8AA9C11DB85FE16F61AE71F +:10A2F000D77A6B2C82FB5AFFD732B50BE9474A9CC1 +:10A300007589657E66DE7420C6FD2027D0BF62C9D0 +:10A31000B3FDBE23FE2B9C8F50D511C7FD73EB51AF +:10A32000218CB93795CBB8BF642D4C91FC219A98FC +:10A330007ECCDC5748377BA6103CD2E4E555C8DF1D +:10A34000525ACDA87998A03F446B2DFA37F019598D +:10A35000E5FA835CAC9D3BE88AD602034BB587A740 +:10A36000A8A3C4D346E9D763F51FCF76C4FFE09C0A +:10A370003FB2FFC278B947394072C733C138F9F6E6 +:10A38000AB560671BCC014AD11F7DF7D2E9689C1A6 +:10A390009E089469FB71BF5EDE337B9102FB31E066 +:10A3A000D61A4528FFAEC7B5A81FCBA8E08052F348 +:10A3B00060CF1D8E75808700C694CF616C97EBBB14 +:10A3C0005DBA817F94F35B92EAD4DFD4A11D139C24 +:10A3D0008A7E9F4A17975B41540A2A795C17E75D8A +:10A3E000DE0CF5AC79B4924EEF3D616867E13B203D +:10A3F000AFA6B9A0FDD40E36885B8E4D1D267E9C7F +:10A40000D7231BCA8F5AF0D7EEB2EB911817477BB0 +:10A41000EA93EC2CD21BFB9598E6A0F8A19C78ACB3 +:10A4200069E43AB5BB6A085E457EAD8AF4E1809680 +:10A4300087A706F9CEACF22C8C77AB8BE70F14B65E +:10A44000EF4E86A7A248DC94ACA767ABAB82C7B53A +:10A450009AB89E27D50548AF32DB9BEFBB6B973E82 +:10A46000663D7FD0EAE272F556AFBDDE86FA49BBA3 +:10A47000AC7A62AB31DF5BFDDCFF68D673CE0914CA +:10A48000D4138BEAD74E15E0B5F2F9DA7A5B596E40 +:10A490004E513EBF472AEE57FBB9AFE54B2EE8F7CA +:10A4A0005317B7DFB657770611CF26BE4BED876E31 +:10A4B000A013AB9EFEA98BF35349D228EEEF54555F +:10A4C0001B1CA033909C44D98F7A36D0C59538AEEA +:10A4D0004917925A685FD8E9E29E02BAD864D085DB +:10A4E000B99E9B046E5F8FDCB77C3DBB713DA1FEC6 +:10A4F000F74C7C1BEBD757BF5AB5EA6945BECBD7A3 +:10A5000028D6EFF675EDAB5F2F176D6FAC277C2F5C +:10A51000E89FAFA347E4DF0BE1DDEAE2FE4B737C8B +:10A52000EF9C365BFB22DF6DF06D45F82AF3F07986 +:10A53000E72C93AF528AB437E083EFAAFD3BDFEFFD +:10A540007208F066CB97AAB79573F4D2C8F9D166B2 +:10A55000D82602D8F19B9DC31DE85784BFEAA516F3 +:10A560003DEE2FDC7CDC5CBB969544677F2FC51FDE +:10A5700041FEE0EDD033A8270D36AC25BF8159AFA1 +:10A58000C7773DF5BF0D0531EC8B8D2F39D2EB220E +:10A59000797F5021FE9E7739A8DD368FE16F91E0FB +:10A5A0000FF45FD5B05BEE07318A7EE2FDC63AB0AC +:10A5B000BD4F3CF144154FAB4643D8E4836CD9A55D +:10A5C000975E0AEF53F89EF8F210E5DBA91A13E242 +:10A5D0003EA427A6399D3CCE8D7C6FF349B780F20F +:10A5E00059575918E5A58AB20CEDECA86B17EA8308 +:10A5F0004E95693E0BFE7E6CE0D9EC67933044E7E4 +:10A6000030868C7DA4AAAC85FC5C01D0A7C3BCBD00 +:10A61000D3B29F1C97AF7819FD16C7A32E92A30043 +:10A62000B77E2AC94F7E6E882D1B3C82F852EBAB59 +:10A63000C2A4FFF8383ECCF16823A29D54B7E07164 +:10A64000D4CB9E9F7319F945FAE7B333E978853A7D +:10A65000C4305F679B60E65D32AD328074C1EDCC83 +:10A66000AA2B7ADD33B05C33B511F5A10F8CF9E478 +:10A67000F0B77735B3C64BDC1D9F681AF4A335AF2E +:10A6800023FDCDD700767B98CF87CE8D84C2E46F33 +:10A69000CE1AF479BD43CB225DF4C37AA1FFA6FFA5 +:10A6A000725940BF89126203480A9B84049703F3DE +:10A6B00001DF0CF309605D14BE3E580FF822C1653E +:10A6C000F2A53CBFB4E3719B4147FD8D8F93BDD68E +:10A6D000DF9261111FB6E3F3519A8618C26DF6E35B +:10A6E0006D4A61F00AECBE7804C77302C271DD02E4 +:10A6F000972CD136C0BC36187E33AD83CFCB17E252 +:10A70000792F92CAED44D0EB3E7559F898E99FC86D +:10A71000E93FF5225F3F43FFE95B32D596D7D95732 +:10A720003F31FDA7D7A44FE5703BE6A7E861318A2A +:10A73000F9299B9BE6BD1886F1DC174C9A87783285 +:10A74000EB6BDED672B7055F607F456B2DF8EA4391 +:10A750003D6942E3330F8E9F5A227AD0AF628E9FBB +:10A76000D2E6BD545B7CFC99EECAD2E3C3DF072876 +:10A7700047DC861CE9A9FEB65C2C7EBFDA193FD502 +:10A780003A0F7748B3E339AF677AAC719389EA97A8 +:10A79000854F5960317E5E6692C79A7F78AE9BCBBB +:10A7A00085FFF468E7BAE78F9CD744F5CF52E3DE24 +:10A7B000B3C43EEED7F2E37E11C7FD1A220EE5B414 +:10A7C000119FDCD8F4EDD835C8E2A4147B2740FCF7 +:10A7D0002EB1139861B77637FB3B8C43C795043194 +:10A7E00047895523FF738774C2A3242748DF73A7C3 +:10A7F0006EC990FF54E5714C0FE371F14A8C5F46CE +:10A800003819635C73A7A13FB2B0254E5E8370F028 +:10A8100038E6C8752E9EDF03FAF54AA40FBD95C72A +:10A8200099F4C7DDE92E216F1F14EAD953587448F3 +:10A8300043F89A397C7E66B193C7A16FDFE1E67C6D +:10A84000E03E29BE06F1A7C40634649FDE8E4406AE +:10A85000F5F7404C6FF9A700D9FFC38E0A63DF56A6 +:10A860001921061A4F67C778BC268AE7DCFADC1C78 +:10A870000F95CBF416DCDF40960CDB55750C11FF01 +:10A88000EA42395A8E7E139E6F65F247D0A7762131 +:10A890001F585FF6852398CFB461F224E26F7D6E76 +:10A8A0002EC7B465767E037CA6CF4AFF650132A72A +:10A8B0004BE25532FCD3A72D8ADF83ED7E50AD6F7E +:10A8C000273F39D0831BEC0B4F75746BAE0CB6BEB3 +:10A8D000A7AEA9E8B9DD0F5BB5FB717D7E200CBC8E +:10A8E000713DAECF5B02E503FFA0367A1DF249C68B +:10A8F00006BC56B9F0832727CACFB2C4CFB62847C3 +:10A900007BADFC6C4B73497EF6FDD1F8D90F26CC9C +:10A91000CF8CF197C0F801DBF8A5F8D95F233E7220 +:10A920007CA7D9E43B5919F94E213C5B9AFF3CFCCA +:10A93000E71FF37CE01F8BF19F2D7F26FEF3467E01 +:10A94000DC37705C528CAA478E5FD89F499766DCD3 +:10A9500062476BEC6D6CFF1F21A63BCAF15C0C23B8 +:10A96000BFA87EB689CFC4113C47B7255B41FE5BCB +:10A97000D33F38517C8ED75F30517C99FD8E9C67D8 +:10A98000DAA69F98FD77E3BC717E17309ADF4EC63A +:10A99000F7A78A1EF8599847C2F19A75C75CB22585 +:10A9A000AE779722BE84E8D8545BE3213E6DE6C9BA +:10A9B0004B09B6D422E7CA65AE6765DDA09642FBB7 +:10A9C0000A9FF8B2D1AE02DBCD76C42AF0FD7BCE71 +:10A9D00058D5A03092AF760BC05709FF9F8FAFCEEE +:10A9E00034E0DFEC8ECFC471BADAE6796A71FCF636 +:10A9F000ABC92F9283BB93C7DF2A2E902A305ED03B +:10AA0000B5A486F6D7A48B24D28F3605C3BBAD760A +:10AA1000B799A7B0D9ADD5135E3AC7E9271B673DF3 +:10AA2000903B7C5D268924772E90393F77C7E224BE +:10AA300017AA3AB83FEB3A496B962DEBDAFD474738 +:10AA40006731FB5B33F0D0EDD239BF37F227BA2B39 +:10AA500082A40F0B30AED51FBE4E8A5F80F392EBFF +:10AA6000B93F5B0EF3388433C0E3A8EE109703D0F0 +:10AA700096E2A8AE208FA3F64578DCD419E0715495 +:10AA8000B36CF6DB174907150B7C1BE63C4E715483 +:10AA90004F988567433D39B389E2A87218E43FEACD +:10AAA000BF404FB8FF5888C74D3D729C117F0BF2D5 +:10AAB000B8AA331C632D681F631CB508DD9F251BD6 +:10AAC000FE0CB7F63579FE48B9A9BDAB109E83469A +:10AAD0001C615A2CD3C2F1CBE564EE5C3A7B9BA19E +:10AAE000FF3CBF3E894127AECF3C16ED0A93DCBE4A +:10AAF00001F155164F6B18BF63A0B7203E5FA88ABF +:10AB0000DF84E3CACB1378D295B956C43228A4BDEA +:10AB10006DDACD1C1E7E4EFDFEAFAD24FC4E0EC682 +:10AB20007546F1E39456EC5CE686A9ADDFC67693F4 +:10AB3000A5A880FB7C7298DB415D4AABCD3F90C8F5 +:10AB4000CFFB36ACDF3E55BB9DEFDFB4F097A80FCF +:10AB5000E86C18F3204D7C987185402CDD82EB3A2F +:10AB60005D037D01BECF5836BC0EFD26E1E5AA8807 +:10AB7000AA55CD8AA8C8CF6F9BE7F5795C2147DF3E +:10AB800046FCEEEA66A34316FE02DA6FD7051D0CFB +:10AB9000FDCDAB9F7EE810C67F569FED56D18F78D6 +:10ABA000FEC9470E3D07DF1DC6F94ED00C0FFD0A4A +:10ABB000CA2B3ACA18F757C7FC889F0F99D88EF34B +:10ABC000FC901DF69F6999E71ED965E49D3A892F8F +:10ABD000E8F01FEA7BD7A49CB638C5B5DBEDE59558 +:10ABE0006C6915FADB57DEEB64E87FBFAEC03F7AD5 +:10ABF000AFCCCF075CCB123D88E70D86BFE8C69F80 +:10AC00009EEE423DF4BA33D508E2C784E34999EB9E +:10AC10006FEF2761C6EEFCFBEB95B40BEDBAB70FF7 +:10AC20009C79D9B90CFB49F74C45BAA9E0FCAC704A +:10AC30007DBFD16B8773AC7914C26DE60B968243EE +:10AC4000DA2B505CB070DCFF65F0070B7DD3392246 +:10AC50007DBDC4305E707FD91D74CE68ADEE5631B7 +:10AC60001E77C233238D497487912FF1B8EF59FCB9 +:10AC70009C20BFE765BCED5F33F85A61FBCD81A135 +:10AC800018CA1F332FB34C4ED31C0589E7636E0ED1 +:10AC90008EF1BD76F4EF273C5756AD6BA2387302A8 +:10ACA000CF2F8C758E0AEC817FC3FD73AB23752586 +:10ACB000D72F399CA08E2FC6732A6EE6A73C53B7B8 +:10ACC000219F487E0998FF94CA6811E46FF6B8592D +:10ACD00019CA63E8E766C38F51566FFF5E28C7FE47 +:10ACE00060C8D1852C4BF2D72F2B193AD7DD6C3F9A +:10ACF000D762AEE7EA20D85D9347AEB3F91481C3BB +:10AD00002A32C2C7ED27C1289BE31F4F09ED48EF48 +:10AD1000AB818DAF9D67EDD745FD8ED0EF4FC2F76C +:10AD20000586BD4CF88906113FBD49C6EFB771C60F +:10AD3000BE4CE7AA5E7530400DD81F9CAFEBD3B96F +:10AD40005FC55D1B2BC77DE57EC511102306EBC0DB +:10AD5000385175FB1EE4CB651EA7712E94E793B99D +:10AD6000159DF2087B9CF16005C0E9BA83CBF11612 +:10AD7000251EC7768E608713E37D7FFFE4373AB0E8 +:10AD80007C7D70B1842A6295D1CF874FEC5F807C47 +:10AD9000B6679F8F65486F49BB306E77FD01878628 +:10ADA000F1EC1B7EE8A3F1AFFFD1B58F2F41FCFC86 +:10ADB000F4BCF03192075D3CFFE32797FCB36ECC07 +:10ADC0000749B86B9DE1BFD2A3418C57DDE8665FB0 +:10ADD00047FE6DCEDFC41FC851D2CFAFDF5B41F954 +:10ADE00025B9FD29417D68EF86E7D222F2FB1C0FD1 +:10ADF000E7E71FF878BC5DD83B48E74FAE1FF88AFD +:10AE000013E7258412EC1D18EF0C637E508FF416A7 +:10AE1000FDFB42BA0EBE7FF0FD5D2EF4475EBF77AC +:10AE200097EB6ABA6F85EB2F269CF2DEBB74E44B7E +:10AE300072AD5A837EC0453FDCE7477FF70D3FFC8C +:10AE4000B4E79C26CAFF1F5E02FBE0E6BD0E8A1334 +:10AE50007AC262C139197ECEFF26FC27B4BFE1C792 +:10AE6000FFB6F897D0EE7DE0FB1E60A5EF0FBDE3C7 +:10AE7000FA1996D1CEC77E9EB1F3B19BF7BE4DF9BC +:10AE8000F9AAC88643E7A21D6ADF0F85F53F66274A +:10AE90005D28876E1ED844F72DDC7CE0C337909F79 +:10AEA000DC5CC00FDFC77F548F3C1F11F7D8CF4742 +:10AEB000B0BD93C71597BF61DFC70FEB80C70F7E8B +:10AEC000F47F1ED6018FABFEF81F0F7F0FF591BFE9 +:10AED000F1A8C8CF6F7EE29D87BF0BF3FCF019B7D6 +:10AEE0008874F1D1737FF5F84E287FF4FAEC79027B +:10AEF00094BFE3E1FBF8A3FD7FA80A433F6B9EBB31 +:10AF0000600AD2DD9AA7174D19ED9CDD47404769CD +:10AF1000B7159E34BF97EB19019D0F8C3D6B3C0B11 +:10AF2000D6E183FD275CB8CF7E2FB0619457370DF3 +:10AF30007CEA42FA3BA4B161C4CBF307DE3EF45D88 +:10AF4000287F08EBE22EB22E30EF6922DD73939951 +:10AF500086F918371DB8E4CBE735E1D3190DE3BA0C +:10AF6000B061928F23D6F31558CFA6FC7A965CBFBA +:10AF70002737515EE8CD03B07E7347AEDF87F88F89 +:10AF8000B347AEDF768FFD1E878FD9AA47C87639C3 +:10AF900030B9A87E6D9E6BB9F1E94B47BD07ECA3B4 +:10AFA00082FD5A0ACF9D861FE31A8FB6D7331FE959 +:10AFB000E1078FEF0CE03ABBA34B70DDF77D3C035C +:10AFC000FDB7EF3A87AF443C0C3FE75677A3BFE4A9 +:10AFD000B97F2139FCD1D32FBBC2243F985F00BE7B +:10AFE000F911CBFD1DC63C9A9B8C38C28D7BFE733C +:10AFF000F11BD0FE46E802FD63B07E543EA4F1FB97 +:10B00000876E4A5FDC1EA6F32A9534EF9BD27C3F05 +:10B01000DC941E5C86F79114E2FDD71E334F2BBFE4 +:10B02000AE4233AEE75B8B91FE4AADA7397F15E7A1 +:10B030007F167CDF63DFAF23E966D885FCDF5CDF4A +:10B040008F769D70FD12EA677EE652C573A0EC1CF8 +:10B0500076911EB4DFA1E279B9C275C7FBDAAE22E0 +:10B060003FDBFAA2E79F0AE9E18D027A30F131D69F +:10B070007E1E7B1E13C3D33F802143790E05F85AF1 +:10B0800057ED227BCBE177511E4A8F33FC2F789FFF +:10B09000C2F04B4EB61B9A74F91790DD5308673710 +:10B0A000EA7196BC344989D1B92129A0927D5A68A8 +:10B0B000D73B6122616BBC3CA25E44E78CCE131986 +:10B0C000DAF75B17AA9BB0BCF546D1B55EC89F8383 +:10B0D00031DB9FE19D45FD6D5AE81231CEB6E94561 +:10B0E000CE9FB63A07A89FAE3A91E8B810CEE95E77 +:10B0F0002E9F1C6BCBA27BCE2C8D7787114FDC54FF +:10B10000BB3E86FDB923810AB4ABBB06FFFA25CC52 +:10B1100097F42CAC8A208B3CD76BD069ADC2DEB6DD +:10B120009DC30238108FAB44B43D613C3F8D371650 +:10B130007C1EAF60C0E789EE19452FFA53C367E262 +:10B1400031E80D1BE32B34BE8957CCC36D69A23C9B +:10B15000D9616EFF6819BC5F0CEC212A3BB36731E3 +:10B16000CA6784EFEE66F2B79EED8571B57B3586D2 +:10B17000FA92AF9E911FAA2C90C86025C9CBE39983 +:10B1800077C903140F31CF2DC971295A0B7872C7B3 +:10B19000B9DFA7701FB89D5986FE497F9B48FA8F7B +:10B1A000C7F087DDB5508FE17C1E8AD48AEB613E03 +:10B1B000DFF572F9F59033DB7E2DC0D9BBAE3CBC18 +:10B1C0001BFD612F3A19FABFD74C67BBC901ECB818 +:10B1D0008DEE45F8B637628BA7E7E0403CC0F31E22 +:10B1E000317CFF72E403DF16C91E9AF562E420BACF +:10B1F00016224342EB7484CE18AFEECD1671067C56 +:10B20000FF8AD7D8E767B233719FAFEE4F5C887182 +:10B21000BAD5DF5AEFC6E7377BB50B51EEA6F5A5D9 +:10B22000363E5F245EE5C1F9DEB5E6F045B32DFE9E +:10B230005556DB3406DF5867F0CF68A62540E1CDD0 +:10B2400061B4531DA15676079777740F119AD57480 +:10B250007E1DF3AC304ED71FD3663751488FEAC3FB +:10B260003ADE82EBE85506085DCE8071CEAC363012 +:10B27000CE7CC335E45FF832D2D57CD4BB15F2D393 +:10B28000B8713FA07EFEFC7734ECCA0F7484FA17C5 +:10B290006B063AB5D8095F36E8C4A407C69AF4A38A +:10B2A00098272838499F37F15D0A8ECFFB8475D0E7 +:10B2B0008F3AE9DE23FD2820FC71A3BCC5783E6CE3 +:10B2C000BC37EBDFE735F43463BD4129D78FE27932 +:10B2D000C499DCEE9043BC6CF2BB427A08AD0AD054 +:10B2E000BCCCEFB3B7DBCBE5CDF6F2CCB5F6B249CB +:10B2F0004F26FD9874F55FA59F957821D6FCF1AF98 +:10B3000077E1FB8C996F1A32CEDD877AE9BC83999D +:10B3100077BAB332F62CD297A48629BF7970FA296E +:10B32000E574CF6689FCD39EE4DEC662E7495C1211 +:10B33000CB38E6A1BF18BE5BF0928B3344CD387298 +:10B34000AC731794FB8355943758A63E151CC475EF +:10B35000689C771D1BE51CE79F208E7CC43B4A1C24 +:10B36000B77FC2711763FC2587DBAD711718BF5417 +:10B37000DCE55D1C7F8391175438BEA636D0B9DF5B +:10B38000A9099E87F07F0D39349D65D739B98E178D +:10B39000932DFEB799CB87AAFF2E8C76EF6B11E425 +:10B3A00007E5AC9BF27741DA347D368A5C2DCCDF41 +:10B3B000751A793F2DF13DDBF17CD1D44483990797 +:10B3C000C1C7C3B1A1AC9471FE3A9D65FE80572BF5 +:10B3D000CC60C3E4F70FC7D456F483D674440FE2AD +:10B3E00013E099F35FC927CED14B9319471992AD5A +:10B3F000F1F0CD4D7F9E78D474637EFFE9D1A6979E +:10B40000558E5C9FCD7FA6785443592E1ED550563D +:10B41000240EF679EFD3BBFF123FBFFFF74D81EE4D +:10B420009DBDEB123FDD5FEB66DE28EA956E4513AE +:10B43000D02F7DEB54165D0FEBEB5CA65F88F6FC1E +:10B44000F71DF1F371FE2DFFFA12DD4BD95F9798CE +:10B45000897A6CC97C10CC87B5C4BB279A0F32DEC1 +:10B46000F8D644F33C46C987FD6A5991F856613CC9 +:10B47000C9E1EB26392B4F308E1498AC35F27BF4B2 +:10B48000962FFEB9250FF6A63BAB172BD59807CB09 +:10B4900028EF7575D9D77BF01EB9C0346D3FD677CC +:10B4A000F57F6D7100BFCFE2DF972BF05DC1B886ED +:10B4B000A6A3E07F5609F3FCF0B8EB2DBA1FA596C2 +:10B4C000C775C0B6CB0A0BF2F92733A7C66FC5F50F +:10B4D00033F318DD219EC788F98BD951F077279E69 +:10B4E00087AAC33CC6309D8BC2CC0BD41B3C0DFC41 +:10B4F0005CFA8E243F37B539A952BDBB92417A76AA +:10B5000027357A3E2DC536205E3DB5FCFCC276C39C +:10B510000FEE32F4E4C3465E93A0F07D967F72FD99 +:10B52000D88CAFF59D7A45F9D51638EF33F6A55985 +:10B53000EE49D69FFB8225CFD3B582C79DDC4178EB +:10B540006F91EFD5C63D143B6E4F31F49379323B8A +:10B5500018FAB5F619FB6D63B2F33CCC2BDE70CD57 +:10B560004A0DF1B23599A073E52E29C1E93CC41A00 +:10B57000F9793C5D33CEC5F3B232CCCB0BA10CF8DC +:10B5800075A9AC85E7EFF0EF0F24D752BFB97D1F47 +:10B5900082712CFB795AED8080F6AABA30613BAFFC +:10B5A0001E5AB5D6562FF2E2F6765700EF21F0A9D3 +:10B5B000E82FDE14BAFB758C7F1D0F02241847CBD1 +:10B5C000EC78BD1CCA4ABD2B8C3A78DFEDF67B8F38 +:10B5D0007A60BDACF7822AC10CDD1BE10AC5CF44FD +:10B5E000B9D46DE4D1B983F67BEB409E0F1C847116 +:10B5F0005D2FCEA2736CCF1BF837F19CE333C1DE15 +:10B60000F3248B9EA8B004F97395EBDA285E7AA731 +:10B61000A06978BF8F1E91E89E9BB2B9ED941FE799 +:10B620003E45A2734B1BE72CE9409B72CEC28CF6C1 +:10B6300002CE2F5C4B711FA57DDB52F4CF292B9ED0 +:10B6400058867E1EA5F9D9CBE8D976A803DFFF5B23 +:10B6500019B71394B62357F0F7EF2FC7F7D5B9F3FF +:10B660001EBA8CF6526F6DCDA8F75191A4B49D43CC +:10B67000F616DC4B3BA9A03CB5A07E4DC1F7530BA1 +:10B68000BECFB39507AFE17AD5CE5CFEE2BD0CF339 +:10B6900051775CB32D88F47E1CE7857A76D4AE3F73 +:10B6A00049F240A335CFF58037769CEF336E0778AB +:10B6B0005942C3C3D9DEC0B733784E96811D81F796 +:10B6C000A37A03096D6500E5AF9C40FF8F3B94A60C +:10B6D00073A57EE80BF301BD81A88678F306340DCF +:10B6E000F1E80DC4A8AC95C73FC3FEBD8138FF5E2D +:10B6F000CFCFDD898A790F649AFCF54C8227C55D2E +:10B70000DB74A4C71C7FAA1FC19FE2CCCE9FCA9442 +:10B71000A2FC89C7578FD732F27B945AB7BE243325 +:10B72000F88E6CF09D7825F6E7A9E7E73BF2FC2759 +:10B73000D3817C77AE3265B17436F11F3A5FC0D8E1 +:10B74000941E8C07E0B1592C4F53D4C57A8385DF02 +:10B75000D5733DF980371EA67E557E3ED8C4F7E0EE +:10B760009C5328BFDB8B6B8CFBFE3417E92985705B +:10B7700076A39E6CE153527D5F0CFD6F65069F932F +:10B780001AB62D0D03BC67187833EB3955FBFAE771 +:10B79000F0CCDAEC72A000CF831DE2B8F0E755BF21 +:10B7A000DF288DE2D7007C9EAF50FFB26EC3A7A109 +:10B7B000B71E2EC873FE8AC1BFCD27F0AD5EA78D20 +:10B7C0006F5D5DC0B7AE2BE05B1986FE12BD9A0DB2 +:10B7D000203FCD18EB80FE2C241A4F07E73B2E3577 +:10B7E000AEF1FCE3F82CD4537656C62FA5F5A9E5A7 +:10B7F000768B53B5F3B18E52F43A061E8BD0EB55CF +:10B80000C5E8B550BE99F838A070F9623EC792BB42 +:10B81000BD865CCDC98B705618CDEF3CF8DD5389E1 +:10B82000FE1E76DAF9BDF9DC9C1C68E4E70BECF44B +:10B83000D7AD446C74E677E9EC6268FFB0A7783F57 +:10B840005DC67AFA5DA9B8913F4FFA9E1CE4797FF4 +:10B8500066BD0D861C47BD93DFCF1FA7F59B61E03A +:10B86000C5DDCC26A967E4EBDF63E06586B7F87930 +:10B8700097BBCD71BDF671DDB5F671EFCD8D9B3007 +:10B88000C6E574E3C27C1005CFADF1FDEAAE4D69AB +:10B89000587EF83BC7766D0CE0BDF9F56497C1BCE6 +:10B8A0007494471BD69F26AE87E76EA33FED4146B3 +:10B8B000FBC8576F9EA7CC9D53DE8D74E0ACD5C9F5 +:10B8C0004F6DE6499BEBE067BF61B758E6B3D7E839 +:10B8D000CFC42F9ADEE2BC3C5EFCEC5D5BFDA78C26 +:10B8E000FA265EA07E9B3869243F78DAA05B7F93BE +:10B8F0005D2E4C94CE9F35F687D3E0DF4EA3FE211C +:10B90000AFF69C6289EFF7C456C5AE812EB46E4D7A +:10B91000473F952FAE240CFFA39E6DE2F751ECE458 +:10B920007EAA43CAFC7C5EB92B68DCB796F343E978 +:10B93000B6737DDD78AE4FA0737D11F463FE09CF41 +:10B94000F51D4138C63CD7F7FFBF1DF33BA5726418 +:10B95000FF85768CACEC09AE6413B763181B20BA74 +:10B960000F9CA1FD56A4FC9ADEC5782F7860B6B670 +:10B970001FCB5DAEEEC578CE3670A62157F54D8B48 +:10B9800051AE06CE62A42AB936F7917D7356B9E658 +:10B99000F6215DE31EADC47B29C3FCD991A1F3352B +:10B9A0004CE1FBD62C6B5886BAF16ACDCFDB713AED +:10B9B000EDAB7C82CEDD14B6D78DFAA7F9B580AF9A +:10B9C000323FCEE7380731C367C1E7887310AAFD5D +:10B9D0001C68379E83B0C40FBAD589E60DC764A42E +:10B9E000830DCAD2F688C57FB42150D27F15F55990 +:10B9F000F877A19FA07B82FE89DCF84B60FC26DBF8 +:10BA0000F8A5FC579A153F45CE41507E986CC8CD9D +:10BA1000BE393DA5CE41FC85AD9FB056E2BC49DAAA +:10BA200076BFD944F763E1B394DF67B92FE7F759DD +:10BA3000EE2BE2F799E87E2D356EA1DFE7065FCEAB +:10BA4000EF73836F3C7E1F837F96A7588B87F37BB2 +:10BA500082FBEE85AC19E34677B71F35EE614FD117 +:10BA6000FBEA159C7E4BC13558B76054BD44053D7B +:10BA7000B10DF88967ED8F1BDB8AF813D5D6F67AFE +:10BA8000CEDF391CF7CFF60BA897A8925A5D2C1F72 +:10BA9000B1E1D3F5074FC3B8471B97AB15B5AE1649 +:10BAA000F4377EF39F3CBA1CC4F7767F7AE0B6C8C1 +:10BAB00045F8BDC2D02323DB832D784F46EAE71E2D +:10BAC0009DF2FDDA2CFE7C30C5EED6EE3E82F962A8 +:10BAD000C7BBB99E19C9EC38520EE50A1DF44C28B3 +:10BAE000A76F575BF01C96BE81EB99913DB207F9A9 +:10BAF000CEEE023B39D2AB1EC4FCD49A7EAE67A612 +:10BB00006FE7FAEEAC5EBB7E79B7C6EDCBC800EF4F +:10BB1000A770BEFFD57E4BAD4B61BF15BDEAA0D16E +:10BB20002FD9F530CF8377E23C2FE0FB6844FF6DDF +:10BB3000D0FF28EB3E16DC8571E4C2FE7376549B81 +:10BB4000F49613EDA6E6DF255199F1B085EB72EB83 +:10BB50004B7C94AFDFAB35A28DBECDF37ADDF22FF7 +:10BB6000AA307F4CF2FCB20ACFE398F18AEEDCBD3A +:10BB7000559F3932A0A7536EBDC072796574DF132B +:10BB8000F47FCCD85F85F333FD1EDDA097FDA808B8 +:10BB90001E8E1AFCA0DB973B67C8CF03AAFC3CA013 +:10BBA00059EF98CF38AF097068D6DF2D01389296DB +:10BBB00073C5808F6998972E1BF28649BD14EFF3E9 +:10BBC000A01E15C5F7A9CCED5CBE441735635E9584 +:10BBD000F47B6B9E805B66742FB0FB157E2F09F49F +:10BBE00093F1CCA5FB337E8FF29AE089146917D4C8 +:10BBF000E99E08B7C6127A05C2C3BFE7EA87529A20 +:10BC000071AF686251F5C8F6CCE8BFC6E03F8579F0 +:10BC1000140E7F411E85F1BB79A5FCD3665E4DFEF7 +:10BC2000BE3799F03ABD89F383E9EDAF65308ED226 +:10BC30008DE79682583EA2B5217C9A3C80FE8CE925 +:10BC4000ED6FE818E78924FC6191BEBFA9E3FD3CD4 +:10BC5000EA1FCB19FF7D2DC0FC028C4B30BAAC6EB5 +:10BC60007ADBB116FC5DA146B4F3B17E5BF3B5128D +:10BC7000D0E1F4B5211B9FF169F672611CAD8E25F0 +:10BC800044D423EADAD6B4B6F2B8AD5E06FD3DB6CA +:10BC9000F06A6F6D383FEEA9F8AF59793A9C64C0ED +:10BCA000A1B6EC69C5B8FC2902F7BB98FBA7AEF9B1 +:10BCB000E077F0F781EA707FCC2518B3E2823CDDB3 +:10BCC00098F40EF667A37F7EE973E94CE171C4C274 +:10BCD000F3E9E6D38C23A60C3BB33B39407E935E5D +:10BCE000C37FF29CE1CFFD29FA73E1FB13E8FFADBE +:10BCF000C3F86A3D3D1F4C46E9FDCE643395B7A3BA +:10BD0000BF17CA7B93312A3F9EECA0E79E649C9E9E +:10BD1000BB939DF43D9D4C50F9AF936BB99F26A901 +:10BD2000D3FB1F277BA9BC3F99A2F20F93DBA9FC91 +:10BD3000B7C9343D7F96DC6BF897DBE9996A71ED02 +:10BD4000A273C5075C61BC7F605F8546F78EE8A77C +:10BD5000F3BC68F56076AA350FB23FD97B9ED5EE6D +:10BD60001D6CE4FE9A52FCAE309EE9D6E20CFD91C9 +:10BD70004730DF17D679A59FFB1BDD5AEA7236776D +:10BD8000647CF3A975C5EDE76FF9397F68D0B222FD +:10BD9000EEC3AC58C6EF3F1F181225CAD3F0F2B35A +:10BDA000112CA697617E8071CF4A8316D3B01C6F89 +:10BDB0009513A8574BDA65AC0CF701E6DD013CDAC8 +:10BDC000931AC37B5A7CF97B59BEE5A7B8FE80263F +:10BDD00044F2FAACC4F8384FEAE5F13E789EAE1D65 +:10BDE00015518F697D26EB2D868FA7060E7BE9BC4A +:10BDF00032CB78519FDE373096FFD4FE3B5D2F3932 +:10BE0000B46E844315AF22BBBDDB88D3F71B71FA38 +:10BE100027FD9CAFA69C1AE537F5EC17D3987FF366 +:10BE2000D4802860F9A90322FD2ED95307E63D8F5F +:10BE30002CE4B8CA1A711F0CB62C76F860FE4F05B8 +:10BE400058231E553CF80CFFBE2FCAE661B969881D +:10BE5000F7E71BA8A1F64EEBEFCA309CC7D12F2203 +:10BE60009FDBF78CC8F0BB2F6AFF7EF01918BF89E3 +:10BE7000E020BF99396F491A223C3C75E0A8D7AA47 +:10BE8000476927EDED177E602F3F3506DEE6BDE002 +:10BE9000B2C9CBE8B3F6F612500A5F37BF86EB366D +:10BEA00077E8977CDD0E0C155D37989F6DDD9E1A47 +:10BEB000583AAA7C37EF51B6ACDBCF70DD52D3E3F2 +:10BEC000C48F81C487D783BC98ABC6D91EA25396B2 +:10BED000780CEF59D27A6328C75D5A8AFCC52E2D9B +:10BEE0002DE2B3709DCD71DEF1737F538F3640F537 +:10BEF0007A8207E9DE87B96AF17B3F5EF3BB69BFEF +:10BF0000CC95F9F79EE052DB3D11EFF885C2EFEAE0 +:10BF1000B5B6EF467B64A0607FFEC67FCB468C9FA4 +:10BF2000CD0D727DA22778D876EE25D75FEEFB4146 +:10BF3000F53ADB777E9FFADC9039DE61B558FB7706 +:10BF4000FCFCFC474F90FF0E123C55DA7F12AC0709 +:10BF5000C69B4AECABE75B5EA3F5DC3774D48BEB96 +:10BF60007BF09956CDDC07E8AF30E90EF707F2BB5E +:10BF70008FE13DEA3985F45D48CF4F86335E7EEF31 +:10BF80008DFD7725BFF03BFBEF4A3E7580DFFFBCA0 +:10BF90002F3C44F50BE576F39BF6FAA7EDB5F76772 +:10BFA000D299395EE17ACE5C6BAF3F3D51D0BE6035 +:10BFB000FCC2F6D33AEDF5ABE3131B7F529B1DFE9B +:10BFC00039E9E2E397DA27B3B7DBEBD7A58A8FBF6E +:10BFD0000FC72F42CFB37AEDF5237AF1F6A5C63F0E +:10BFE000E73776F817BC52F8BBA0BA713FF1F8F208 +:10BFF0000136C4968FD38F17E6E7AF0D3992FBDD7C +:10C0000004A39F07E6A72F477F7D16753E9067E93B +:10C01000F9C397A31F55C343B0507E687E86BE9B6D +:10C02000BFF751FFEC512A7B741FFD0E51C3C9C3EA +:10C030009995F02C07450FC7F7756ECB609C8AB5B4 +:10C040007B484FF3E9BFD7F1FB21B37CDB36FD51D1 +:10C0500028B782DD877AA06FCDEFF547A1FE37CCF8 +:10C0600072A26A07F6DFAD9763CC9695D7DAF3BC78 +:10C0700002B7BDAC63FEA1E75E91C6F3E82EAABF8E +:10C0800014F5C285689FEC24F8BE29B204DAA1AC8D +:10C09000D66E579AE7D03757A7E83CE40E678AEE8A +:10C0A00093C9C9F9722ED7CC27FCBD80F7BC399A49 +:10C0B0004CFF7194E1BD93A82AF3736A516D05DAC0 +:10C0C00013C6FC1DCDBD43740F60B3977EFFC4D172 +:10C0D000D9730BF24BC7AA6DDF447EEBB8EDF16F5D +:10C0E0005179CD4F6EA572E2D077A8BCF6B5EF615D +:10C0F00019E57F39AC8B433F763BBD37EEA15FCB73 +:10C10000D4F59B282ECDFD568F08D977D11ED6D7D2 +:10C11000B9C258DE72C7F026C4EB34365DC5B8E14B +:10C1200023DAD177C97E6E03951FA6322DE3E1F79E +:10C1300069B6A9BBD07E36F55ACA07023DB722536D +:10C14000DD8AF2A9A2B3268D719C7EC36E9CB66A6D +:10C1500040B8CA97B76F2BA26A0BE2B7A20DEC5397 +:10C160009CBE71DEBA62953A88F16DA589DB950FA8 +:10C170000AAA7827EA753772BB157F8FC52A271F51 +:10C18000E934E04B807507F08432EFBD8B71A55028 +:10C19000BB5A63852F4439A5B0FF0DF827B5870931 +:10C1A0007E13BE5022235C757A1EBE49D130C13742 +:10C1B000A99DC397E31F89B0E0B6C0F79011FF1A9D +:10C1C00001D7AAA304C7F13500158C3D1DE142BB80 +:10C1D0002661876BBA81B75086FF7E702861876BB6 +:10C1E000FA9A211BDE42D10CC1154AD8E10AADC929 +:10C1F000B458E17A5830ECFD6F95C0DB1A03BE6E7F +:10C200000E5FC4802FB216E0B3D8CD1103BE19065D +:10C21000DE66ACB5C317E906CDCE02DF8C6896E0CA +:10C220009BB1D60EDF8CEE6C8B6C816FC4FDEA0582 +:10C23000F00D661DF4BB067D46DCD253F14946C3C2 +:10C24000BD927D542EC61F59AD346C3DC756E8EFE4 +:10C250009EC352742F52E1EFBDF5D5B61A79D4A31F +:10C26000FBBDCD71A44F26B3B42DFF399DBB4F8CC0 +:10C27000EEEDFDA48ABEDF75E1C30789BF45B9FEB7 +:10C28000E851D274FFEBDDD3EDF74FDE7FE11F65A0 +:10C29000B46F37BDECA4D8E2E09CDFCB38EF7E4131 +:10C2A000D6717DFAEB1EA7DFFF9D13CCC8567F52D7 +:10C2B0005FE33C92135B119714BF661AF2BD3B73A8 +:10C2C000F16CA6CB00BF1F71413F6432A5BD13F8CE +:10C2D000E03B2EB30CF5A1EC73E7EBA3BEE06F35AA +:10C2E000BF57507D5F59C1774CF2A3EF01FABE41B1 +:10C2F000847900BFFA7F68C56E7500800000000079 +:10C300001F8B080000000000000BED7D0D7854D558 +:10C3100099F0B977FE9349E6CE304966427E6EC207 +:10C320000402069C40884143BD09C1261875C0001F +:10C3300051A31D214A74D10ECAAA75D14C20812463 +:10C3400006180228BA6A8780DD686D1B5DAC7E5FC7 +:10C35000FBED4E145BF46B35F2635151035A6DBB28 +:10C36000DDDD687597FD96D67DDF73CECDDC7B99DC +:10C3700010DCEA3EDFF77C9BE7D1C37BCFDF7BDEBF +:10C38000F3FE9F73EFD862A67AFB02427E228ECA2A +:10C39000F62021B3A3A6EEBA8584748963762211B0 +:10C3A000629BA03EF30A7328EE24E40BFCBB3459D5 +:10C3B00012D249C87C42D24EFB497C1EB4F3C4C29F +:10C3C000A13280CD71E2294BB64B3B9DA7ABDFD1AB +:10C3D0004E8862236444F9949C0238571208C9229B +:10C3E00044AA8E4547012EAC4ED0D251175708941F +:10C3F000CEFA7854F4224C828A0C654016C2808FA3 +:10C400007943B88D5410E2F2A549BD458478EA44D9 +:10C41000A29412FAF705FCE752AAD79833E11FD588 +:10C42000DEE8293B7F5E8CFF8FD2F9D24E3B487C01 +:10C43000CAD9784B924CEB93F83B69BBAFBFFDCCAC +:10C4400094743CBB7D196DA7AE839078B300F4491A +:10C45000EFC8947AA1EC138746FF16486A11A789A2 +:10C460008B0176E68AF101807B67FED81786F11A88 +:10C47000FC6228AED99FBD6E91EEE35EB7C0F6F3C5 +:10C48000506C8F13FAC505AB4C0A0026B13D487FAE +:10C4900012B2069F8062B3FD48F68730BFD5F14ED9 +:10C4A000F68780370944941AA8DF4DC8582FF0D179 +:10C4B00066FF5DA40CF1A8B18F99828CEEA412DA0C +:10C4C00063598CE385A3584F14FBD013D0FED98257 +:10C4D0003069847DEC11C8D846DA3E4C6EC2F12238 +:10C4E00005328EA704F3F8FE01BE2618272F2FB9B8 +:10C4F0009F8896CC6001EBA79D5D6FCDAB8E9ED2E1 +:10C50000F0458F1BDAC2F8D11A31FE04F0CDEE7A75 +:10C51000C54FE73B9113048A923E0BF01BE0133D9D +:10C5200029D0F5762C05CC01BEBB56DC6B0312CDB1 +:10C5300098C7F8E91811C91733A07D86D23105C70D +:10C54000EB10C9135066D8FF9DD207303F8EF36CB5 +:10C55000F6A7C9C89F2F17B37E2FC3FCB88E3B9692 +:10C56000AF922DD02AE6238E72D88FCD69E141019A +:10C57000D6BBCF3DD860F613B2152B2FC6717E53B4 +:10C58000AF94D1798266A0CFFD1251EAAA114FA8CB +:10C59000CAC5F12EED8E42BD5564F00D9E994BA299 +:10C5A000201FC3276D3504D75544E288F7EE771B6B +:10C5B000FC2837BBFC719F04EDEDA59B478439D067 +:10C5C00047F626E9538CFC13A3FC14DDE894703D78 +:10C5D0005BDA49305002E3DB466402F4DD62269404 +:10C5E0001E5B246B3C0AEBBA5B18F11158CF7A77CB +:10C5F0005B2990842CF014533ECA98517908AA897B +:10C60000CD670D06804F4AED8A23341BE8DF4EA22A +:10C61000A760BC6D58C21A860303F651C4B76AA05E +:10C62000BE18C6DD1D10890DF7C91AEA990670DF1C +:10C630002C910C201C1AB097003E77BE0193C9497B +:10C64000FECDF432FEEDB2249A434E5C05A3F372A4 +:10C65000C013F9416D77EF14A667B65963DD4E2A12 +:10C66000276468004AD7693789C27E99EF1B25CBBA +:10C670003280FBA63039C8ACAEA4FAC355F087B0FF +:10C68000504EC8753B57D4DBF3014EE3FB125D59A6 +:10C69000AFE4015E65664AF7EB76AEEC8E226DAADA +:10C6A000F4F4CCF1307C2CB8EFC02F33DC1C9EA509 +:10C6B000C76F677BB0FC430BEAC72A5AF6B42BB4AA +:10C6C00034EADD2F5BAA749EB03E33D146E9668E14 +:10C6D000BD6842FE9D1318E81592F50F7B04AE6706 +:10C6E00018DEFEA922E5DFDE0D9F9891BF70CFD343 +:10C6F000A74E3CFEEB02890A73B1149B8752D89176 +:10C7000089F0DDC3F51121A3872E857976CD1465D7 +:10C71000C4EBC3F643D27E0BE2CDF8B02F3B8DEADB +:10C72000B7E15251417877C8BAD7068CF78065B423 +:10C730000DF18B5E9126A39C1333284C80BB664978 +:10C740007194C7071C631FEEC4FAF969C12764AC72 +:10C750001FED467EEBAACD0BF6027C9309605C5F71 +:10C760008E93EA81CF9AE6AE2C81E73BAF5CF2F084 +:10C770008DF07C674D5A10C8408E797C943E66CF10 +:10C78000A0142E9B785DA4D43C36AAE18B6E73C8AE +:10C790004AF1DD0038006FEC762E6B2841BD238B0B +:10C7A00041100F7253EC1569BF466FED6E5A761942 +:10C7B000B6B7DD271113B457D2969D9160DE4D4E6A +:10C7C0008F6315D03526C69BFDD85FB491272A50BC +:10C7D000DF5FF6DA4694FF2BCC523AE01D8B1D69E1 +:10C7E000463D17ABB0E26AC9CF3D4C6EB6B50F9669 +:10C7F000B752BE1B2A6F8589375BE37601FA6F1645 +:10C80000EDD128945384D01C33E8A567FABFD560D6 +:10C81000077FE0D7C5413F81F9BDFD993D66F0171F +:10C820003245554F35396A61FD972C7252D8B52380 +:10C83000AB211A80F656CE5F64C4B76C76921E8F19 +:10C84000A2DDC942FF62BF5D0C22FC5ABD230BFD75 +:10C850000F181FE0318071FCCD7C7CBF7B5103EA57 +:10C8600035C4B7B384DA091FEA936D42A814FD9763 +:10C870008BFAA73660FB6D8ED1E3086FF55CCE6056 +:10C88000B78A9FB54181FE19E92A0CFC00FCFCC067 +:10C890004227955F42CED4B75520DFB0FA19EEFBA0 +:10C8A0007A70BE2E41607C763DA17C06EB1843B8C1 +:10C8B000A7647A11F2112191E155006783A9467BA3 +:10C8C0009513B8797835C0B580A05005F46BBBB32B +:10C8D000665F05B5771117C0D9BECA8E15004BB576 +:10C8E000F6312BB04E764B93CE5E91C6269DBFD2CD +:10C8F000BC76B9CE7E1173DC17CAE07822FF2E25F4 +:10C9000071C6DF2107EA6D2F298DA21FD02A841A54 +:10C91000505F8221A1FC8B04C0F6598D24D15B4E5F +:10C92000DBD717011E59D129C15E007B0589F2634F +:10C9300014D6F81CD43B2489B6275702E620DF8B97 +:10C94000A4BCCBD02E2E4958492FEC8F29C36CB5EF +:10C9500040FDC9E6748276FED943A2F546A8FF657C +:10C96000288D98249407FB659BA0FE8A630C8E2972 +:10C97000E26516A8BFEA5DD63E7D8E6F7307D48749 +:10C980005F7710EE2784EC40C4CB19AEE475DFACC2 +:10C99000CA5F42796AA478CE0F50AD8E32FC6F56D2 +:10C9A0004839F27FABBB88F2CF820F15D74278BEF1 +:10C9B000E617967294C779BF005308F35CA94873D1 +:10C9C0004DB08E7E6E6F76F0724AE3A819EDE0F0FE +:10C9D00062EBE656B4273576D91644BE0F533E2295 +:10C9E000E4BD4307615FEC02E3835BDDEF50FBAA2C +:10C9F000C29FF4FF7D2F85F3C02E6AF66573EE5358 +:10CA00003E1C5795A3DD0B183DC93761D44B80EF11 +:10CA10006C6CBFC8968CF813389633F4F030F2552E +:10CA20008955EEE56B46B9EB9B39238E7AAE1F6CC8 +:10CA3000CD08D5CB8A83A0DD2EF36E3641FDFA57A3 +:10CA4000C0C8009E990BBC9721DF7D70D04EE9FBDA +:10CA500040C31E1FF5134A7ED68C7C4EE49166E4DB +:10CA6000C357BB66CF457D96E94950BF12EC3938B4 +:10CA700004A037DAEDB4ECE57A764499AB207E0E6B +:10CA8000E88BFE82140875A05D2E0C281DE88F67C8 +:10CA9000E54514C4C32B47A3E897F75AA41A33F209 +:10CAA0004BB940F5A73D4F24710D1F9B9D693A5826 +:10CAB0009A22723BD2227D7401AC555960FA024A27 +:10CAC000E2F3C0269E436F723FB7F7C42201F5C858 +:10CAD000AFD01F067CBD0A5186CA70A211DF5290EA +:10CAE00087532EE531373CDF89B4A5F27CBA1EE9C5 +:10CAF00060D41FB77E431970C3788B71AFA9FE0B4A +:10CB0000C53F2C41FBABC499FDADA7E596F6665A2F +:10CB10005E7AE6BB7694B76DE097E0B84FB92FA97F +:10CB200047BDB6CD3C6A97901E8DD04FC3079EBAC5 +:10CB30007A1DACAEC35505F368E861CF6BD6C1AAC8 +:10CB4000BF37E2AEEE463CFFDD117AC1CDF53BDAF0 +:10CB500095DBDC6CDD13F19DC5A6D4FF25F59F4860 +:10CB60001C65D8D134778D19FDBB803EFED92C468B +:10CB700025D4AF3F763F57DFED3B9BAFB7B497521D +:10CB8000BFC3E83FDA48E8ADC7909F791CB0CB4FF0 +:10CB9000A8BDEDF55BF7A21F38913FD9C5E96CB28E +:10CBA000931CED7A2D923D474BA7F284A483E71D99 +:10CBB000F2E9DACF1F9175F5171D2FD5D52F180D76 +:10CBC000EAE04B7E53A56BBF704CD1C1979EAED7A8 +:10CBD000B5AF214B75F022FB35BAF68BA51B75F569 +:10CBE000DFF4DDA2AB6F90D7E5A4DAF77B70FD59D7 +:10CBF00049BF17F8B10DFDA0E1407F7D31D53FCE93 +:10CC000020AA0613EE2FB4BBF39796F283F0FC3301 +:10CC10006F5EB949463F38E847BE077D4FFD27FAAA +:10CC200007F539CDD25EB43F5DC2BAE155B84F8247 +:10CC3000E4EE847D3DC8FDE1DEE56087E0B9628217 +:10CC4000800AF836A7B4B2A3D24BEDD29840EDD00B +:10CC50005D35FBBCD40E45AC5567DBA1296D9693C1 +:10CC600036F4B126B1470BDC6C7F7B5F71768A2E80 +:10CC7000987FE6CD3ED4175FD6CE4AC8BFE8E70519 +:10CC8000098D2B9CA1B92C7E0FEAF977327F63784E +:10CC900074A748ED739318473FB067D444E9B5CB08 +:10CCA0009716872091EC6AAACD21E7F0435DA74D46 +:10CCB000341E1F87CD6304E5DC75DA4A9F1BF5C976 +:10CCC000B305213FEAD5DD6EB63F9BAD4AC286FE75 +:10CCD000D337A4BD1D30BFEBF7D56BBC20172EEEAC +:10CCE000EF18F31193E9AB8BDD921AE7537F478D71 +:10CCF00073547E4A966D0B99FE8AD0322710EE103F +:10CD000065CA2C74BEC5052CDEC86EF1EAF6CF5D8F +:10CD1000077E3FFA0165E6015311EAC17B68FFA473 +:10CD20007F2F8BE8DF7B9AF4FDBC8D7A589D87C2FC +:10CD300040F2E3DED471831A0FFCB9718D315E804D +:10CD4000F882D26DCF8EBFA0FA738989448652F8DB +:10CD5000E35778ED14AF25A6E166DCB77B4044B419 +:10CD600071C9662E3F9B78B9A55DCE45FBB0B5BDB8 +:10CD70003417E9F26C41BCDBE3C57C857D04FDEB37 +:10CD80001E37495C8A76F05D07B5EBBDA54234CB12 +:10CD9000951C6F4BA9588FF916D0ECF5184FDC3D58 +:10CDA000C75B4EFDAD3C337B6E1E092DAAD03C9770 +:10CDB000797B3B8B4792CF797BE7686C91661C75DA +:10CDC0009EBBFF640A0F69E2FE9E227980F2FFBBE0 +:10CDD000D7F85741BF655E66E777FB153FF2B33D75 +:10CDE000746E7DFDAA4BD9E2C9FAF27E51F7C17E7D +:10CDF0002AFFBD25D634E1C2FFBC3ED8EE91291EE4 +:10CE0000DD87F4E34D6964FC9A5D668E9B04E4DF84 +:10CE1000A080F6518DB317C39ABE0085EA6DD6F394 +:10CE2000A7C7C0AF8E8044F38869755EBDFF6DE013 +:10CE3000E357B9FE36E61B27CA2F4E26CFAA7EEA55 +:10CE40000D88D4AEF672FDB41BF513E6A302E7D647 +:10CE50004F79A7D375FA29CF9C10703FF34E67A680 +:10CE6000D44FB79AC22F79808ECA1E99C6BF196552 +:10CE700084C6B769B13B49878CF88ECAB8BF839E18 +:10CE8000B406D93FB13EDDC5F1FD75ADE2F88626A9 +:10CE90002FD38BF86AE46C11E733157620BEF3923A +:10CEA000F0ABAEF051C4C7618E51BDEA40BCA17E6B +:10CEB0008B87F11DCC46FDD06831A1F264770F76E7 +:10CEC000E4019EFE5F7408E01293BF3CBAEEE7F9FE +:10CED00098D78C90B9E8EFDF33FA8C80FC6D277D12 +:10CEE0002326DC0F19E26CCD7E5CCBF5D0294F8672 +:10CEF00017FD4E328FCCC37D5D1F96B760247C77C3 +:10CF000024FA732CEF6C0DB9A6C9493CD53C839A21 +:10CF1000FF32EEC34DA85F52EC536F16D32FC67885 +:10CF2000FF532E5746FF0D764EFA283DC96FE7EBAB +:10CF30000FFB4844C0BC9BAFEC2E1A6F121E6FFA59 +:10CF40002AD676545624ED7C8E6F338D3F553B9F09 +:10CF5000136ED2C941B66AE79BCF6DE757B4EAE1D9 +:10CF6000A6163DBCAC69B94E8EC6ED168F5737710B +:10CF70003BD58B72CEFCC638DAC761E7DC9CD17337 +:10CF8000E44DD4FCC438CCE3FDFFE9BD7E8936DE38 +:10CF9000FF76D6FF58A28BF7A3834BCE19EF471F1E +:10CFA0005FD2E64DEA9D929D3FA1FAEBFFBE783F2E +:10CFB00046E947489DF45169326E9A983FCCE42384 +:10CFC000B5BF89D2BB39951D5C9F65627EA9C0FC47 +:10CFD000168C9B51EE206E2EC7B8596D771B8F0FA4 +:10CFE000CF8EA3D5389B04B1BD319E4EF667FAB300 +:10CFF000333F740D8EDF49C4E046E8675EBE82E6CB +:10D000000E95FDA1E828EA2520EC23418C338614F7 +:10D01000A188EAAD6BA668CE3DCC529CA0BE36C6B8 +:10D020004999E85BCC65E554D4213CFF5A02BAEB40 +:10D030000B18FF475C7F6F4B4B507B6FA4C38F2453 +:10D04000B63E6D1E18FD2CD50E1C9B67A27E93313B +:10D050001FFCDCAEE71BF4F9E0171AB4F9E0E77641 +:10D06000BDD083FAD3980F56E755F3E1C6FCEC70B8 +:10D07000D53207C6DDBBAB06EC34CE0ED5BAB0A4B4 +:10D08000F94E18B775E7CAFA681EC6A55739902F2A +:10D090002C4B457A3E371402BF41A38FA23CDE1EC3 +:10D0A000E179EF9DEDF53CBF1C2A477F26BB31415E +:10D0B000CF63DC75CA08FAAB53AA481CFDBF9EF6C5 +:10D0C000665DDE59B5932A3D04EE474E665F8D7668 +:10D0D0007524D14F50CE2D257182EB090EEFA2FBA6 +:10D0E000494A6304F3CEF0CF28657383FD35EE57CC +:10D0F0005FF90A07B6BFB32353413FE0B3A65AFF17 +:10D100006A199EBB995FACB6033E8DB532FF780FAE +:10D11000E60B3DF524EABA10D7C3CE13B39A246ABE +:10D120003F5E5AFA20417A3BC27182FDD39A1401C4 +:10D1300099D15D47A85DEE2D21F13281F62776D495 +:10D140005B25233F40D87BE60FB47D6F49DCE7D4F5 +:10D15000CCDB35F34105C7EBBD2F4690DF1C89873B +:10D16000899C81F3C64818F6DB1D906B707E77BDF5 +:10D17000548CA6BAF78FA69479F1CFF8BEF516C9EC +:10D180001D9867C1F3B118FA75259539E173F80751 +:10D190000EFB0597B46AFC83CC00E3DBC9D663E4DD +:10D1A000D3AF605D542E9E9FF27F1A50AF06399F19 +:10D1B000823EAB35A31E98EDA5F1EB55A8B03C49D6 +:10D1C0007EED6FBF87F2E7B6F6282D3DF56379A8AF +:10D1D0007FB34177A29EC9AC62E7BF3DEDDDB43EAF +:10D1E000A9F7F8B94A8148F9734AB39EFF5CF57A0A +:10D1F000D8111825E837A6559D3B8EE9DD20C42DB2 +:10D20000177EFDF1CAF6850F5279700448D4C4F830 +:10D21000B4390A74ED1DFE3752067476558F91B5F8 +:10D22000003BAA63A4B16C62BE29E0FE4E2FEC174E +:10D23000EEC767A057515E26C2270DF8A553E39F9E +:10D240006596327E99687E239F68F0A1EBF9D3142E +:10D25000173D7FC473FEF00C421E6AB79330F8E3AB +:10D260000FB74B14CEAE0B75E03199C5CCC65999AA +:10D27000C9E89C65D82F5F8BC12F6FD5CF6BDCA71A +:10D280002E7E1EBA57FA5F0DD16AD47761AEEFDAFF +:10D290006869E90A0EA31C916B08CD5F591C520DF9 +:10D2A000F221B94266E73F2AFFF0F3D9F1B8B58021 +:10D2B000C5AD93E9BB998D43123BDF8CA4D49F93FA +:10D2C000C7192CDE0C923D761C6728C0F479320E0B +:10D2D00097048CC3415E3A054FB2FD44FB1A14AC6F +:10D2E000A1216792DF603782982735F2DD666EFFF5 +:10D2F0008DFD9BB81FEFE0F718D4E7E0BF377AB396 +:10D30000B4FE3BBBBFA0FAEFC67C8871DC551E366D +:10D310006E97A4FA8761EADF384E0BC638E11AAF80 +:10D320002E4E30EBE20470D228FD05C142E997771A +:10D33000E219A140FEEAE4542D77717F670BA7A3A1 +:10D34000EAFF3CC861A3FDFEB6571F678CDBCD42E8 +:10D35000CEE7213DDFA871883D4FCF1F1E03BFE4FC +:10D3600018F8CF65D05B6A1C638C5B8C71CD4D88DF +:10D37000D3C518A7DCDDB091E67B8334AFB1B5BD72 +:10D380008AE6396EE1F4359DF92ECD73EC22F61163 +:10D390003C4FEA090D50380AAC89E7949B02FD879F +:10D3A000F0BCE9CEE55619E342A535DEE9A1F16509 +:10D3B000701EC6973BBC56BABFB79A423B905FD22D +:10D3C0004884E0FD81DD19CC1F05FC949B60DE974D +:10D3D00096AF10D0AED8E54802C77304829534AE3C +:10D3E0002321C18AF2DA44E8F96D5620E643BBAC4A +:10D3F000AE2390C5F8BF67F93A6A8F6C849F0734F3 +:10D40000AD234B417E9688248CF0569EBF51FBB9CC +:10D41000B31CBABCD4CB756C5F6C794CEFDAF254A8 +:10D42000BDD743CA66235E51B216E6B5C911D2E82C +:10D430004CEADD8E992BFCA768BE65E53578AEDA3F +:10D44000F3EECCB998C7EDE2F79976975CE647FB27 +:10D45000B2CB4F86DD15CCEED2BC3CE6C9D19733BA +:10D46000E4E5F7A38C674DEECFAE9B4238FE311F4B +:10D47000F353FFD37101D597EB77EFEDE98075F8A2 +:10D48000248827A79D1D4F66B76DD2C53339BE9B33 +:10D490003B567893F18C319EFCAAE3C8CC298C1FB3 +:10D4A0002FE5E7309612EEEF06F4FEEE7B5EE63FE8 +:10D4B0009CE1F66F07EA7FD8F73D5CFFE7D4853B38 +:10D4C000CCF2D97ADD980FF587F5B0F19EC34ED432 +:10D4D000EF25497D3F591EF4BF2ADF19E47499599D +:10D4E0003746F14D172401CF79C7F1CF65F643A533 +:10D4F000D3787CE31653FAD95F179EBD153CBF79EC +:10D500001ADA4110DD83A800DFD902115243EB790A +:10D510009EF3F7AC7E37D6A37C36413DFA1955BC55 +:10D52000FF4F59FD2EB57F88F7AFE2FDCFFC89D6BE +:10D53000F7F27A15AF019ED71DF04AB4B4954608AC +:10D540009E9BF63C79875E8F0CDE61D0234C4F2684 +:10D55000C7B1B3730F753D9F4DB29E1393AC67C3B4 +:10D5600064EBF9E339D7539CC5F4C264E744BBF0DC +:10D570009C08967E8DAA3F97B2FCC5F83951E0EB26 +:10D580003927BA88CB718F7A4E5432495E7882FC43 +:10D59000CC447AEAEDB63B3BF05ECE838A3D8CF715 +:10D5A00009B26FE9BA651F557B2C7F62E4CFAF5B90 +:10D5B0006F55F1F5761F5CE647FBB62C8BF93B3DCA +:10D5C000CBAD6902AC3FC2E1EE43AC3E298F2CDF0C +:10D5D000B088F79F38CFB7A103EF5BD4C27A11FEB2 +:10D5E00056964CDB3FD8B67AC70A68B4B5B27726F0 +:10D5F000FA9DFFEE087564CD4F9E237F55F947B322 +:10D60000C75E87FC65A920340F7FAB29BC1DE749A5 +:10D610008BAD53FCD0CAE21DA2F195439B0725C9EF +:10D620003CE8F9CE7389147A380BCA682D298D38F5 +:10D6300093CFD5739B18DE47055A49781F15FC43D5 +:10D6400007C6B28040CCC1E5C027FB976AF6FF59F8 +:10D65000CEF7FD0B4902E3A21D5D24BE11E4A3DF5A +:10D6600022D5B6023DFBDD62300A38F6CF0418FD44 +:10D670009D726BF009E0A7A2EED29BC81C2C2BD99F +:10D68000B97AA7DE7E0F6471BD1AF09ED7BA864FB5 +:10D69000DAE8FC31981FCF6962EFCEA4F733FBFDC7 +:10D6A000921FEF67EE5848A81F5DA45C76489893D8 +:10D6B0001CB748F9D97161CEE4F88CDF0F3E4F7C7E +:10D6C000C6FD543CBBD2E897787BCCFF6BB07703A8 +:10D6D000ED7B68B9BF3DEEFF35F57B0769196B1F20 +:10D6E000A2A5DABE28AAB787D3BAF57049ECDC7ECA +:10D6F000AC5B496D4F55FF795CEFB5BFC0F1485049 +:10D70000BCE2ED8728BCBF7D84C2B1F6E3B454DB34 +:10D710001BF130CE6BC4DB88E7D97831BA6592183B +:10D72000D5C756CE776E3246F57B7E66F813E45B3E +:10D73000898C1EBA0FEAE2D17E7A3F307EE69B23C7 +:10D7400036D892ED01E03BECB33096C073C1CC5FAC +:10D7500038A2984FCEAC66F73686A39FDA513F6E5B +:10D760008F7AD23039366370834EBF94DAC7689CA3 +:10D7700058B267830EAFBDD52C5FE821EC395D3F11 +:10D78000E6AD7D8C0F1C67E53B6234DFE938EDA523 +:10D79000F94F755D13F1CB70D5C68D28F73BF8793D +:10D7A000D08EAA53F49C72475CA4B7B876E03D19BA +:10D7B000CC3B54117A9E45AA159A4FC7F678AF49CB +:10D7C000A5133903E3551276B4380DF74F22511BD8 +:10D7D000FA795F507C8CF3162D92D7D17B846592B9 +:10D7E0006399469E7704985E93401360BF1D8162E3 +:10D7F0007A1ED5D32935D8A9DF2692F46FC0BE94FE +:10D800009C0A0564BA2F81ECF9C9750FC6D9BECC44 +:10D8100018B41259BBFF7B00D6C6EB9C7E64A144B2 +:10D82000CFC332F1BEBB1BE9CCDAA974CE8C7B44EA +:10D830005CFF9D77C1636C6FC897E0BCA87F8A3896 +:10D84000BD05613EBFBF0E716C7A923EAF98948B5E +:10D85000B2B3908F991F35C0E3CEFDBCFC1E7FFE96 +:10D86000142F7FC89FC739FC342F4B0FB5B8E8FD84 +:10D87000250E0FF276EA7ADC8A48123A794D2309AE +:10D88000CDBA4B621E1D3C634FAEAEFD0583C5BADB +:10D89000FAD2136CBE89F8E7C217F4F31545F5F315 +:10D8A000CD1ED2CF072B62F9F92AFDBC33E3FA79FA +:10D8B000279A2FDAF487E3F45E739595DEC3CFA839 +:10D8C00062F1574615E8517A8758BF3F1AFAAF41BF +:10D8D000FA6F55F327EAFE935050CB9F5B3363FCFE +:10D8E0007E2BDB57620E05F19E6BA93DBE04CF4730 +:10D8F000B6F1F722D471C7E528203A50BE63502212 +:10D90000BFC6AA98DC764DFF9D82CF7BEED7E75944 +:10D91000BFDF4EA87CC4DBEDB454F3AE99E6A15A48 +:10D92000FA7EC6D3A408F35A99F6442DCE4B86004E +:10D93000067ECF7412561FE5B02431B893B51F444C +:10D94000B99B91C4AB341015D1EFBC80244414CEE4 +:10D950009F66DFF000F2B14C241D4C497631DEBFEA +:10D96000BEE101F4EB9F3A63AB9F5F81EB61F6D4BC +:10D970007C5F8C042A347A4DE96772510BDB964246 +:10D980000F01BD7767CF3F3B9FF254158BF3E81F24 +:10D99000E697ABC19F1592B054C5E0BFC966F617B4 +:10D9A000E43BAE95EFA70655F9D6EB4FA3DE34EA7C +:10D9B000CB9F82AF4D34E338145141BDEC20EB9343 +:10D9C000E31451BC9FC6F90E70BC9FE5A58348D4F3 +:10D9D0006FAB38344A63C7F923B1D82C64B75F847E +:10D9E0006AF19CE379DE2E92117A0EFB578C282285 +:10D9F000DAFFFC4CE5C708CF186CD1DBA33D2DFA4C +:10DA0000FC1061B051BF973D2D92A8A61DCA575476 +:10DA100027371E1DACEAFB6DED311A277FBF7D0F46 +:10DA20002DC1CED3387767D69BF49CA8139B2EC00C +:10DA3000739A21AAAFD348D08EE5ACAAD88B784F81 +:10DA4000CD9623537A953E1D11F1BEF9F45888AE58 +:10DA50001BFE04D4077765848FE0BAA43E6B14CF15 +:10DA6000E9252546F3DD5D9E7B87F15EB04721C148 +:10DA700019D0CF63567E83E7512440643CFF77245E +:10DA80007A042BE6851452EEC075E3DAB0BEDB4AA9 +:10DA9000EF3DFB5B8970A3260F2005480DBDFF6A93 +:10DAA0009673B5F7CD07789E731FF0E5322E57C5F4 +:10DAB000B3116F968FDCC1EB8999DD3FD894E11BE0 +:10DAC000A071D3566B0DFAE7921936A882CE5D8EFF +:10DAD0007223D91334BF4E820003DE927388C1656E +:10DAE000BC5E8A33B894D55B02217223CAF7D6CACA +:10DAF000B7717D80A73CA3E8EC7314C93CCAE6A9C2 +:10DB000062F22AD9C7D838D54C5E611E26DF5CDEAA +:10DB100025492FEFE01653F99662A408634595DE78 +:10DB20008F64854D39E88F345A4F9AE620FD659110 +:10DB30009DEBB1FDE9CA08DB68BD617FA6EF21D18D +:10DB400074F009670D3279DB87E74780F7CCFDEC8D +:10DB5000FC681F9E1F015C1A873E1A78C6A38C259D +:10DB60005518C621B2A65EDD977D25C15CDD39134F +:10DB7000A78F5B61F491120E01E923294408E3B9F0 +:10DB80009C392ED23CFE205BAFDB1E63F07E0E3B49 +:10DB9000A30C8E33FAB8A58848F3FC8F3278BA12FA +:10DBA0001631EEDE8779BC14E7C1AF678BDCDE800F +:10DBB0003C68E4E460567876CE7C942F900F9D7D8F +:10DBC0008CEBDA9572FE1CE813E97B2603DDC5AE0B +:10DBD00073BD17F203D0EB6406CA9D9D261F9E04F9 +:10DBE0007D4C664CDC7ED626C2FC20127F1BFDC815 +:10DBF0009E057231EABFCCC45BF43C345391E7A27A +:10DC00009CB4E4B03C58D793FF42ED89CBCCF21AD8 +:10DC1000CE209317979DC1E9651C76B2782AAD9402 +:10DC2000C312ABB7780DF25505F285F90888ABB58C +:10DC3000F2A5DE2398E521376ACF61553C56E6A868 +:10DC4000EFF3307E93FAC428E60DFE212BBC42CFC1 +:10DC50009744447AB5E49094EDADD9E1167D7B7696 +:10DC60008E37BB62B416ED7C7982C878EF710DD720 +:10DC7000471794255E44F9B8F005F67CA67744442E +:10DC8000FDA08E07727812F9FDF6ECF01A36EEE67A +:10DC90004FD8B88CFF671F60FC5F7E90F17FCF028A +:10DCA000C6FFC104E3FF9E058C9F2FFC29E37F156F +:10DCB0009EF302E37F15867128FFABF038DD16C4B2 +:10DCC0007C4E0D7F74953C78FCDCFC2F99287F1FDF +:10DCD00054F99F98287F2738BF3BC718BFFF94D7B8 +:10DCE0004BA30C7E81D5CF564628FFF7F03CF63E7D +:10DCF000B3FC2A95EB6E8F10D5E0B52A87C9C13EDB +:10DD0000C55C9F4A4E2EE4F5F3B2953EA45B779135 +:10DD100095E987572CF174BCB755FC9B04E66FBAA4 +:10DD20000512490796EE2EFE1D85EDC5E6483A44DC +:10DD30000AF669BF67F5B5765ABF25FF2356BFDAE5 +:10DD400049615B41D5DB086F29B106313DB1A5E0E2 +:10DD5000620ADBA6DB29DCB3EDC1B136286D85BFD5 +:10DD60008FE2BE6FE9254196C608EFC13CD0B43CB6 +:10DD7000E710EA3FF027F604C09E4D3307453C47C5 +:10DD80009A168D454D4CBFCA488FE26AB6AFAE3E7B +:10DD9000B2571450EEC99E328D7C7F3787F91577C4 +:10DDA00008F28B782F657C1C62A6F242A4B9D42EAF +:10DDB0006E6E07D747E3B73C99C3DE83B4FBA09FE1 +:10DDC00017DF4365FC67F39158590AFBEB0A8E385D +:10DDD000285EC43E8679F6B3FCC5603F7D4FB2270E +:10DDE0000856DF897A86C53BDB02E037025C035ABE +:10DDF00009E57C5BF0437A6F641BBF4758CAEFB5F7 +:10DE00008CFB31D5E0C764E27D41B7EEBC2D855F68 +:10DE1000F373D4778FF378A1CF107F10326A473E27 +:10DE20007510FB502F948FADFFD48EFAC82188F463 +:10DE30003E474170A406FD824846F8308EE35E708E +:10DE40006A641AEACB7B945A9B4CFD9C23C83746E4 +:10DE50003F272F0EF667CED9FE8EEADFE4C5871482 +:10DE6000CC7F18FD9FBC78770883B2D2F138364E4C +:10DE7000E99F178F299827C983E7DAF5AA654675C0 +:10DE8000228A69AF4C12777C5360EFBEE03C1ECC17 +:10DE9000C402C2790EE60F90C5EC3E62AC425CBA99 +:10DEA00008C0EDC15387EE83F21127D1C9C73F7374 +:10DEB0003D37C6F98648B29F9E6F662A9FE07A81F9 +:10DEC000AE9F223D547AAAFDFA8287EDDA7B1D7D52 +:10DED000F85E268CAB943E336CA5E76A52399EAB54 +:10DEE00011FEFE6D5A1ECBEBFE91CBE1AD26E58F08 +:10DEF00038EE7010E273A8EFE3F1795FC58B945FA1 +:10DF0000FA022CBE98C8AE38389F8CEBA5DBD29AAB +:10DF100031EF0C669CAECF919608A35E77FAD8BA23 +:10DF20003C3E81970CEE6E7AA71EE775568804ED8D +:10DF300091B382BF7F62B8BFFF09EAF52C0D3F564F +:10DF4000801E9E43F57A8E0FCF952366AAD7D5FB08 +:10DF50001924CFAB9303633959BEC2294409F58F05 +:10DF60006E62E7FE66BEBFAE6AF6FECAD400D98B0B +:10DF7000F9CB397C1D2773C233118F8C8A9882E7C5 +:10DF80008F2E85BDC79E599FA8A1EEAC747EF8B8B0 +:10DF9000CDA3340F047CA460A9F28DDF9EB0D3F72B +:10DFA0004AAB457AEFC05DFE21E523BF93D95B758F +:10DFB0009C2A1FE3A3051C2FE2053E9A4DF9E86257 +:10DFC000DF7CCA4797F852F2D180C3C047B7E0BEA2 +:10DFD00019F948217A3EBACC37CE4797F9347CB448 +:10DFE0004361EF51EC087A689CBA4361FAE6CBF2E0 +:10DFF000114804C13C6C5FB0BF06F1D85E9D4BDF99 +:10E000006FB9DEA7BFC700FE40B34F03C33E517FC9 +:10E0100040A5BB315F65A47B77D3F71B281FB67182 +:10E020003E6C4BCD8717FBB87F719EFBE9AC8A290C +:10E03000A82754FDD0921DFEB68FF131BD8FE6E2C8 +:10E0400071FE23C1A106CA6F22A17ADC6262F7FECB +:10E05000C9DD6CBF95802098CF21CF77F3FD867DF9 +:10E06000B81BC71FAE60F9B67E2ECFFD15FD0DD3D0 +:10E07000314FAD884108CAE1F9B3AF4CC77C5B357D +:10E08000CBBF3930DF5884FAB85FF73EB2D3B02F38 +:10E0900068BADAC07439C12FB44119AB7D95BE4757 +:10E0A000F6489BE84E75BFCC59D7BF0CF5A8F3C412 +:10E0B000F32B50FF429CBD0DF1EB0F2698DD52F380 +:10E0C0006C0DA724705F278D5F55B926D52304F505 +:10E0D000A3519F67ACE7FB56913A7FE6E4FBEFAFB5 +:10E0E0002702DA5555AEA756C76B709F54BCFD0288 +:10E0F00009B1F704E31D28CF8E2A89BE3701FE1D22 +:10E10000E543C77C89BE37FA43CE8753D712FA3E20 +:10E11000419B2FFCA44FA357C6EF419E27BF1C9BDA +:10E12000C7F0B6E05D5A1B95D767703CA3BC1A4B8D +:10E1300055EFF705591EF5FBD532D54F6AFDEB9C1F +:10E140003F5AB2959FA09C001FFE1D8EBB23EBD1B2 +:10E1500025685F89798CD27387C0F82EFA03C67759 +:10E160001613893C8BF624706E3DF0F3A41EF8392B +:10E170008EEFE2FAF9404EF87FE33CAEFD223DEF30 +:10E18000735527D8FD4D28511E9DFB53CB59268929 +:10E1900051FDE7BEC9DC335DA67C7314C7916EF9EF +:10E1A000AC1EE16D271E1AC1BCC8F0D34CDFC4EA17 +:10E1B00098BE893D2D2690AF9E0CF23C329148B41A +:10E1C00012F99BFD3D59D79FF85E05BBDF86EF3303 +:10E1D0004EC66FDF3FF350E23EA4E7D31619BF33BC +:10E1E00062E43747EBC1C42C8CCB5F7344D37DC949 +:10E1F0007D56F58C7903D73B4FB3F7D21CDA759275 +:10E20000E4BE9F2F7FA8FEDDC18CD0BF209D157C72 +:10E210003F08E3B73A337D3F03F8E55FF1B931FFDB +:10E22000681C6FAB35140C69CEC55439F8D4171679 +:10E23000FC00FBE5A161E46F67F951EA5F58F87BE8 +:10E240000B67F915A888347C60F78FEB213B8E9320 +:10E25000B1364D8D939C146E8DD23809EC24F93271 +:10E2600072E1A80F8B9817EA9B7B2BCD5B3C2E802D +:10E270007D95B478877CFEF9982F186BC03C4606D4 +:10E2800061F6775C8F6E12D9FBECC0E74B35F1A7D6 +:10E29000E21F978B02C4CFD85E090C53BF74A2F55E +:10E2A0004E4FAE77BA9FEA75F26A3BEA8BF5ECBB4C +:10E2B000135052BF39859F5C86EDF7F17DDA3BEE56 +:10E2C0001FC30454DF109A0798D629BD817AF1AF95 +:10E2D000793DF8C5F3B15FA03B2695023ED3FA42E3 +:10E2E000D4CE815F5CE94FE1171BF9D9BC81C99D90 +:10E2F000918F9DEB53BF37391C3DF516FAE78FD54B +:10E30000137A5FABEB3B6F3A4A11BFA888E906E28C +:10E3100049F450F9F3AC17E378861A5F5F4CEDFCD3 +:10E3200044FBBA0DF316363C9FB0D37C85C33C1A30 +:10E33000A5716615CB7F39EC63511AA756B3FC97CC +:10E34000C349E83D666074562F490CAE63F57D986D +:10E35000F7B069EC4DFD08DD1FA7E249E0BD5F574E +:10E3600095C893CE6CFD191BC493165C27F7F3DD9B +:10E370004A1ABE0494AC0F7A747067E08EFA5A9C05 +:10E38000B7228AEA8898B8FC15E686D720BF758937 +:10E3900044A0CF726334FFE66A23F4BB087DFCFD22 +:10E3A00089C5A66A177EAF8A806E3067C3F83C07BE +:10E3B0007DB79FDF93944768FEC55A4D8280114C0C +:10E3C0001D8EE2FBFCF6369A2A207B805E75169C39 +:10E3D0002F7427CE6797999DE99BE0FD8C0D9C1FBC +:10E3E0008993C93D31874A539DABA872B53E2374CA +:10E3F0003F8E8B78629CB885909471FBC1AC9A8DEE +:10E400008CBF15FA5D95CD4584F277E799ABED6841 +:10E410007736DF68A5797DF7232F35E245DD4701A3 +:10E42000EF46C0FB115E763A13D7A0BECDCC25D106 +:10E43000BA3CFC1E50A41EE1871EFEB8D10B786EBC +:10E44000419AE71272D86FDB8AF7353A394C771E5A +:10E45000FEFD282A707ADFC376C5F9F447BF11F9AB +:10E46000FC3973F8AF717DAE889DE6275DD5410B11 +:10E47000EA9DC3FCBE8B3F423A25CD3DEDCC5C46C8 +:10E480003FBF99E5B5FC765EF2FB3DCFF37D7BD1D6 +:10E49000CFE298D738BDA7AE95FC2CAECD24B89F5F +:10E4A0003BF8FEE44508CB13D4497BF13D095735D1 +:10E4B000F8135E7AFE40FD8721DEBFCD17FA919FEB +:10E4C000FA1123347EC9C4B553BC2501F59EAB5A5D +:10E4D000AAC1EF6E4CE57105C41B3FC6F69981B128 +:10E4E000287E23CB5D9710B4FD62EB806AB0AE1836 +:10E4F0005F675E6488EA6D573D9B17ED30E695FFD8 +:10E500009ECFEFF62B7F87FBABF6FFA32F348CB0AB +:10E510002B9248E0FD50F5F9E3382E38AD8F8FAFE0 +:10E520008FADC7552151BF7CEA5A59C0715FF53391 +:10E530007FE0AF7DCA2BDA71F37CE15FB27147A255 +:10E5400038AE672D8C4F92F56AA9B8426FD0F54569 +:10E5500046149B667ECDBEBE79AE7D35F2AFBAAFB6 +:10E560007985CC8EE54D5344FC4ECDC3DF99BB0F6E +:10E57000DF277BF45E4FC3CD5EF412174EC1FDFA68 +:10E58000839FDD437DD44D1AF03C6AFB2B26FADED7 +:10E59000E2C3F7C5A83ECCAD978AF1BC2A37E1A00B +:10E5A000FA06E0BDF40E093F9FCEC57F9BA8DF466B +:10E5B000F59C27F1F05B2ED493ADD3656C97DB16F9 +:10E5C000176E9C8DE3317C3D41B906F9C6531F9E01 +:10E5D00087FB93962BEBE21B4F9B4CE9ECAC084F6F +:10E5E00043BFF55177E2B7981FDABED82A0F001E55 +:10E5F0002F2DFEC881FCF748875541FC1E59D728AE +:10E6000026A0DC5123523FE871C543F1FEB415202A +:10E610003CFF48F829EC6F938AB578FB39DEC0A13E +:10E620006FB9E83AB3E9F9A7BA8EDCC4C335E80F8D +:10E63000E7B6CACF38008FFEFB181FE406E314FFCD +:10E64000DC3686BF8A776E6BBC468B7726AE4BE393 +:10E650001F6704F5FA79B325ECC33C99519F4CA48C +:10E6600097E665D764E56AF4DD647EC479B7234A2A +:10E67000A6904D8FB0E89F8D148905D0F5739F89C2 +:10E6800060BCB6D8E4A4FB9EB1817DE7A2A83AF0B5 +:10E6900022F51BC24E05E3B70C22BD88EF5B17D6EF +:10E6A0008041A3971564DA7F2AEF5FD46DD59D4B27 +:10E6B0004B6D7A782AE9A37E5221B126CFAB611F38 +:10E6C000A69EF8ED09CC574D259AF6E8E79A5A5CD4 +:10E6D000F47D0143FE4F2DEF397163FCA0C6AE2DD2 +:10E6E000CCE5F7CD2F2217D1FB5BBCFF4474F9D7E3 +:10E6F000F670FC60097E5F5059948B7258CAE8D856 +:10E70000577EB39CEA9C42F39D41A11BE8948F7114 +:10E710002ED8E316CED7847FB7672AA76F2EECB129 +:10E7200019E2C9617725B54313E161BAE76FCBEB15 +:10E7300034F1A8C9C9F45EF23EF307F43EC4C4FB49 +:10E74000ABBFCF6CF1B23C7D4605D3D39D192C4FA6 +:10E75000EF0CB23C7D6706CBBBA797B13CBD0AA7C7 +:10E760009532D75A85F19B46B2A65E9DAF3343D111 +:10E77000BF0FE5BE8CE6E94D3E22CFC07B2D895B05 +:10E78000E8399ED517A6E77826F34814E51A788B62 +:10E79000E6E14DF604F507C0D6D13CBCC939C4E06A +:10E7A000325E2FC5195CCAEA2DBE10BDFFD939C132 +:10E7B00039D595B922A73FDB9FC552A413F978310B +:10E7C0002C6F13EC4F4E4BA813E9502F1109BF9734 +:10E7D000A4FA49E4CCD5F4DEDE550D44C2FB2B2A65 +:10E7E000FCCD7BF15B40F85EA742CFE9331591DEAB +:10E7F000EB8B29CBCEC94F9B419F2466E07D6B3BC1 +:10E8000049D8CEAEB7F1EF30EC287C9C7EEFD3E157 +:10E810001CF3E1F9EBA3B9CCFE0E2F7C90DE037D57 +:10E82000A8F04F3E9ADF5EB8D98779A6EEA27F2185 +:10E83000DA7941169594DF219DCAEC77E0F4169AB7 +:10E840000F8FC9FA7BE1497EE960F6D40EAEA7F3DB +:10E85000EB5BD7F35FD1BAAEE6EB8AD9C7EC781F92 +:10E86000707BF55785EF3682EF2D3C54B82DC1BE35 +:10E870001331BD18F5DE6BB9824E9F0F176DA6F8E8 +:10E8800077973C48F1EE29D94CB4FAC18E78A7F2BB +:10E890005BA7B2F5C7A4FF1ABC3F9A14EF0749AAB9 +:10E8A000F91D13D0FD0995EEBE31FA7DA7AF1BFF10 +:10E8B0003F7DC5F8CFE2F4DF92CBEEB7C76495DFBA +:10E8C000EFA076EEF33089603C3591BCD87CFAFB42 +:10E8D000599EBA341D5C1C08B952DDCF53CBDF20E2 +:10E8E0003D6C93CBD73FF176BFE3742B0E8C5A2F40 +:10E8F00046FC781EB54D61E7B313F56FB344B3A57D +:10E90000738C7F4BDCA4C37B327CF6E6B2F3BA6F28 +:10E91000BFA0EFF71783E986FB684CDF6EAFD6D355 +:10E9200053A5F359FBFF15D173323E9C949ED52C11 +:10E930008FF755D173327CB670FF60327A1AF97254 +:10E94000A2F1FE7FE5CBE7CF938E467EFCBAE9F8D5 +:10E95000FF1A3FBEC6E395FFA6E39F47C78FCE933E +:10E960008EAA9E1CB49236B47F331E5B7FB801EC36 +:10E97000DE91FA79F330BF40CCCAECAB6763FE9509 +:10E98000C5E733F09C26C5BC6979CC9E1DAE5F748B +:10E990001BDACDCF43E9347777540CFEB202E8108E +:10E9A0005D66A2F95D63BFC39C6EBF9DEA56E3C07E +:10E9B0008CF9D07FD931D3DCDE14EDD592D46BD66F +:10E9C000458346CDBE429C7198C8F47E5DF4A8890B +:10E9D000DE07385C3F2F2355DCA4EEEFD1D0D57F86 +:10E9E000DEFE864C5FA9BE990C9FE353CFD70EF293 +:10E9F000FBCE4411705F06EF67F103444F16CC5312 +:10EA00002E3B61A3F7388EE1233FE679429E3CD846 +:10EA10008765F5E5BAFC8E7ADF72D5B619F4BBD3FB +:10EA2000A4E96ADA3E374FEF178DEF8FCA57FC3BE8 +:10EA30008A392D518BF67EDAAA3CF5FDC6483EE2B6 +:10EA400071C0AA5CF00318FFF095B620E67D6C5704 +:10EA5000373E8031E2D16BDC824DC307F3399F55DD +:10EA6000B630BFF6C0F1B045D4ECEB328E0FF4BF38 +:10EA70003E555C5BCEEB578405857DE742C9D7BE2A +:10EA8000A7D0C2C757EB8DFD6BF33269FD512175DD +:10EA90003E78211FBFB9F9DCFD49D3147E4F3D58A4 +:10EAA000904AFFA8F47B7D6AF8B23C68FF2B21F204 +:10EAB0002E7E3734FA988D7F073B321DEFF5A9740F +:10EAC00020E6108D2BAFBA5CF6B0EF062B26DC2FBC +:10EAD000AB49FE1461152F755E0FD4635EFF22856E +:10EAE000443AA07E9518BC41FBBEA266FE15C80F35 +:10EAF00013CD3FBE0EB342BF6777D3ED2A7FE9D770 +:10EB0000359E9FE0ED8FFCDBA2CBB1FD81C3A2B4AB +:10EB1000B168E2F6AA5E9ABE47CF3F77E7B1B8DAAE +:10EB2000CBCFC9009FFC66CD3EAECB63EF8F7F5944 +:10EB3000BE2AC923B49CBE2B629161DC953C2F8D0B +:10EB4000E36BF9A480B7BF15DB67211ED1B45998D8 +:10EB500047F815D3738303F7E6A7D23787517F4071 +:10EB60001C529857AACB375EDD58DEE5ADA07CE39A +:10EB7000C7F4D081C317E7A3FCADE0F74107AD911F +:10EB80007CFCFD810356F9363C473CDF75A8F49EBA +:10EB9000488FA8743E703C64C173A4B226C6B7CB3C +:10EBA0009B86C5DBA0DCCBE5F72436D58CF33A9FFA +:10EBB00067D01ADEE40812B22FEF8A6DDD762AEFF5 +:10EBC000348F78F0D1A5DBE8B940E714AA2796374F +:10EBD0002DA5798EE9F52CCF71C0CAEEF51C5B9896 +:10EBE000C1DEAFB22B35C85F6BBE70D1EF56AB7ACA +:10EBF000EB63AB3C9DE54799BE7ACE1CFE1B9407A8 +:10EC0000556F9DA5A73AAFE6FC284F5F9652AE36EA +:10EC100072BC195F0DC697B9566BF86A14ED9C6605 +:10EC20005FDE6C6771E31143DCD8749CC57507AC7B +:10EC30002C7FF37683E4DEC8E4AEE32E94C32F0A80 +:10EC4000055CC728D7739FC7EFF831BD67CFE9F1DF +:10EC5000F1C0ACE908ABE3AD6CD6EB7175FDCB1B35 +:10EC6000D3F5CF79FF5293F217F4BEDBE536FADD28 +:10EC7000056FFD4A2AFF5F5C4E24AC1FB4863666E2 +:10EC8000E07969D327EBD9FDFE381D6F8D2D723BDE +:10EC9000A327A3FFAA01273D57CDDA34FA97C85717 +:10ECA0009F39432EEDEFC2BCC3F739C9BFCC0E620A +:10ECB0003BB467CBCCB225955DBBBADE94126FAB8B +:10ECC0004DFE48AB678C7C588CDFE242FFE1511B64 +:10ECD0003D8FBD86442DD87E255116127A7162CCA7 +:10ECE000827AE204DF17B5FF0992C8B808F553BD70 +:10ECF00089EAA71391AB5DF8BDC116CB50C65C285D +:10ED00003FE7EB7867BD89C6D1AADD2F0E8CBC5CCE +:10ED1000C9ECF8E768C75BE226EAA7B5AC359DD435 +:10ED2000DAF3EB23FAF5803C1E6EC0F9EE37F1EF13 +:10ED3000D2046F437ABE4FA408EABFC3F5EC7B91BF +:10ED400083A1A9343F774494B756A03F72B3DA9EAB +:10ED50009D4F86D93FC98A96E0D60A789E9E5F4429 +:10ED6000E9B07A97B219F3FD1BD3E7D07EA3BF3287 +:10ED7000CDD5E6F98D6578834967F7A7EFD2FBB962 +:10ED800095688FA89D48E4DFA0918BEB0AD3993D4D +:10ED90006C1252E689AE2D74D2FA237F32B5A5F2F9 +:10EDA000FB2285CCAE2CEF4BDD3F5298C1EA63A924 +:10EDB000ED61A2209D7F5F66281FF7757973EA7168 +:10EDC0003ECECFA4ED4EDCF6F1F5782FFCA8C8E4DA +:10EDD00057AD7F2B9FEDEF4FF299BC1D1958F233C1 +:10EDE0001FEECFED8284BF07B1664A640EF2CF7585 +:10EDF0006B4FD2FCD8817C86F786DC50793ED2FB03 +:10EE000078AD157F97E1400B090A72523F18F1580F +:10EE1000C0C74FDA1DD5EEC51CB8EFF0CF0FF19E7D +:10EE2000163489BA3CB8EFD15BE9F7FA07D224FA75 +:10EE30003D7902FE30340AFF4AEFDF2ECED7CB9960 +:10EE4000713F5BFBF47EDDFBE8DF5624FDDB23D660 +:10EE5000B15F22FF1F01FEEA40FE3A336FB6F67D36 +:10EE60006A95DF8F34CEA37CFA7963BAA8BDAF640C +:10EE70002C27F5771B4D5F693C73A491F9BBEF6FAD +:10EE80009897B12A45BFDBB95C4CE6EFBEBFE1DC29 +:10EE90007EF3FB5C6F7CC0D7A5F211FADBAB34FBD1 +:10EEA0007D77BEDEAF6D6ED5CFBBA2453FAF2A1FCB +:10EEB00047439BD2D04F017B359DBEB7CAED27C1DA +:10EEC0008F779DD30EB3BCB78A0FE80F33DBA72231 +:10EED000FABD678C5F902EDD06BC8CEB3922021FD9 +:10EEE000A09E79DC4CF54C49DF8DA25F3E9BEF760E +:10EEF00019F8ED7CF94E8D97557D6EEC9FE4B33F8C +:10EF0000339EFA9AF86B62FAC7CF2B9E52E5FE3A0F +:10EF1000F390654119D327B7403927DF4EF7654E87 +:10EF2000BE4CCBEBD4EF93904825DE7F3A3290462F +:10EF30007F3722FA7846BC04F6F3E8B2BF9AA3F50D +:10EF40000FDFE0FBBA3CF6CCCB78ADEDA8188F65AF +:10EF5000E13EDE6522E84FBE7BFCD92E84D3DE1075 +:10EF600025D44F2B9A6B689C5C7914EC02C0AFE5FA +:10EF7000B3F87979D38D16ED3A8D7CBBDCC0B71729 +:10EF8000E7ABDFF752E3072261BCA0AEB33556FE14 +:10EF9000333C775BBE76C7029CA7B56FD832139E11 +:10EFA00027F87A8771BD40B716EEA7123BAC17F46D +:10EFB000CE3BA8EB70BDDF11D8EF6898472D5A7D86 +:10EFC0007443E4E3C5A9F438296074F807AE6737E1 +:10EFD000E4863FCAA7716248C0F1D6FC15C36F79B9 +:10EFE000D33A7ACFF33BF8B161A8BF97E3A1AEC3A0 +:10EFF0007A393B375B9536B61EF5FE383D6F67F4C0 +:10F000007CE7F8B2AEAC8A89E9797A02F9988C9EED +:10F010004707AEA5F3479710A944E7E7E6D3F76D96 +:10F02000BFA3E299F47705E477951FDE59F7F1F570 +:10F03000615D3C27B971BDC572C8857CE42C6471E3 +:10F04000CF3F66E8E3CFB7B91E50E5F3C42D420CBD +:10F05000FD6328E35332CF6E37911C5CCBF33B83C7 +:10F0600077D8DA0652C84B88EF0FCCB318E9F97994 +:10F070004C08AABF8BA2F567561F277F372A6BFC67 +:10F08000B389FCB526162F25FDB578C65C98F70226 +:10F090003ECFDBE8AF95E9FCB52EFCEECD59FE5A2C +:10F0A0001BF86B1A7D61F4D78E91D015F8DE73B41E +:10F0B00091CD77D41ABB02C73972FFB4B951AC6F86 +:10F0C000DA49F5EBA202B6EF47B8DE3ED6A4B70B9D +:10F0D0001717E8F5EF59FAF2B8FE3DF989EC8B3ACB +:10F0E000CFF9DA17F0E7F351DF1DDBDB723DFEFEEF +:10F0F00042746F5AB0443E7B7F0A0A4DDCFF49A33D +:10F100007CA7EA1B95EF0E5883FF7800FA1F7B6CF3 +:10F110006A7023D58B8B6A70BCC1338502DEEF1C0D +:10F120005C96DE867EDA20EFBFE6F11903E8270C55 +:10F13000C645668FD61651B882FB7D5EC3F7B5D53E +:10F140007D52EDD1B70A989E68ED3B699161FD371C +:10F15000A8F134FE7971FC1C1A7FBC23727DF1BDCD +:10F160000CFABE30C6655A7ADD62A0BB51BF1BEDFA +:10F17000D45BF1E2F1FC5F495172BED5B1A2815E70 +:10F180000DDCB25E85193FBCB77D1AB58FEA3A0631 +:10F19000E3B5B39F437EBB27FD9CFEF7A4F62CFE90 +:10F1A000D5E67F913EE7B267DF2B283A2F7BF60149 +:10F1B000DEF3C1FD3833EFB52A5CFFBD53E8FA3FFB +:10F1C000E863FCFA10E7D3F7ACA3B3B5F87DC0E56C +:10F1D000F9045FEF0771F5FDFF60A6F6BEEFB6021A +:10F1E000A6C7DFE372F0DE3D7A39D86F9083D63E52 +:10F1F0003DBED747F4F83E53C0ECD57BF76C4A438D +:10F200003D7954E59B9B991F7C34B488EAF1C1A3F6 +:10F21000FA78E999822FE7CF5D2B28D4DE90FB089E +:10F2200079C28DF2276F447F7BF04DD3DE0E8DDFE8 +:10F230007C47A1FEBD98713D5CCAF430FA095ABA08 +:10F240006515C8BAF6D7B519FC145116F1FE73F45A +:10F250004D1395832357FED50D4C4E6C349F3E685D +:10F2600065EB1DDC9841BFCB7ED6BC4136EFB5E6E1 +:10F27000B86EDE5F717E9870DE49FCA3FF8E47F4A6 +:10F28000ED49E17F6D3CE228FC72F6620AD7F7C6D1 +:10F29000B8E408FA27DEA47F72952DF24F07D03F1D +:10F2A00073462A31BF56C6F5FAEABEA5D48F3C2272 +:10F2B00086BA32B0FD6151C278A2F2388B23567300 +:10F2C0003F49C5E73B067F49B53793D94790136A55 +:10F2D000CF3E8F3BE9FB14C796AFB4A4A2D78AD325 +:10F2E000534942F37D5B354F807276B546DF341467 +:10F2F000B073AA06839C2D3F5D40FBABF66A755F39 +:10F300000DCD0F2C8FECF06BD7E12EB4D37E9E4247 +:10F3100059EFD79A995F3B519E4C29D4EB97637C68 +:10F320005FD53CD9727328659E6C4593C9A07798C8 +:10F33000FF85EBD2CACB95063DA38EAFEA99F31DAC +:10F34000FFDE7C76DF44CDC3159785CEF91DA0F195 +:10F3500079783BE33C8D48A7AC89E72BE4FEF94480 +:10F36000F9A328A75B25CF1F1DB9F212CA5F4797E3 +:10F37000BD548DFBF2FE863F1C5B09F05BAD2F5741 +:10F38000A33E8FF27CD2FB78850FF54D98FDFEEF02 +:10F39000CABE1B2D7E2A6F7FA0F1EF91A3D3287FD9 +:10F3A000DECFE5E68835A8B35F46B94BE778CA9C5F +:10F3B0003E840CD173A9C9E8F3B6813E5F56DFA73E +:10F3C000ABF3817EC47D74A9F1184458E78AB3C7B2 +:10F3D000F5909ABFB7926F215F1E302BE9C897EA6C +:10F3E00077F73EE2BF037D33FF1DE85528EB0BE0C6 +:10F3F0007946EA7BDB6F16337A29243A1D7FDF6C6E +:10F4000035C90CE27785BBDCD19B516F8CED75481B +:10F41000F87B1B45DB3A28BC3A6E931CA00A2B8E66 +:10F42000F45562FB348104F15E72E548EDF7F17C3E +:10F43000A2359E2EE3EF795D5EC4CE2BDBBE117D3F +:10F440000FEBDB066C32C6439EBE722BFA85CF0EE5 +:10F45000AECAC4EF131DDCB33A13CFED9EC2A5694B +:10F46000BE37F911FE8B7E6FD215AB83F6B3B20EA9 +:10F47000884E205561DC15B3C3385D1D219F04FA09 +:10F48000EC8DEF7EBC1D7FEF213B5B19B9147FBF74 +:10F4900032FEDBAB102E9FC6C78BFEEE2AA51AE804 +:10F4A000F4883AFED876847F22868B04683F2F6EDC +:10F4B0000DE1EF3A9B85BA7211C69B2F2F8F61FF2A +:10F4C000B67D3D95F7C27C2BE40B42E6227AEEC670 +:10F4D000FB07438BCCB0CE6A8E1FA99010F6A6878F +:10F4E0006411E2B697BE7BF22A33F43FE051D611A5 +:10F4F0008023F193DBF1F759ABC26AFB4B428B02DD +:10F50000C9F186BF7B723BFE3EB1FF9E45E4832975 +:10F51000F87B9A511AE7FEA636B2087FDF75BFBCAA +:10F520003056E620E4A2BE9A74FCCED3D37253C800 +:10F53000564ECFB9CA65287F28AFA4F856B644679F +:10F54000E1FB1AD6E8B5B17A787E7BD9483786D404 +:10F55000B79A98BC665822517C7F2FDD1E8F4E458E +:10F56000FBAC9E13E7C9D3D9EF9870B894E5B1C648 +:10F57000611F83DF78E5D656EA1FD989245E02B081 +:10F580003B5C467F8FDA9F1EA4F1BE3D7CC32F00FB +:10F590007E4390D6E1770780DF683CF1D1E29C01A1 +:10F5A0003CEFF901D71B2F3EBCA6E024ACEF8D87C2 +:10F5B00073F2F13D86031B191F1BF9726D11F323C2 +:10F5C0000FA4A5AEB7C8FA7361D771A23C0DE5CB05 +:10F5D00018FF7BF135DF91FB3AF05CC82E4FBF1E60 +:10F5E000F0FF67CC6BCF4FCA8FDA2FD0E18A229E13 +:10F5F0008DDD33695CA08E6FE2E34F0BF23C3A493C +:10F6000098AF46556412293E5926E15B4BE1797665 +:10F610001A093F0365D61442E14610A567A07EF1A2 +:10F62000B4D07E7AEF37C75FBEA908E779DD8C7E5C +:10F63000B2DA5FCD3FFD07DC437787008000000032 +:10F640001F8B080000000000000BDD7D0B7854D5F7 +:10F65000B5F03E73CE3C924C262761F204C299BCB1 +:10F6600008E4C124840015E124018C157B071009EE +:10F670000A388418038430E28B56BD9910C0C8D56F +:10F68000365A8BB4453B202A6D5103A51515E980E8 +:10F69000807AAFBD8D14955ADA3B2A02E22391ABF2 +:10F6A00095FEA5F55F6BED7332E74C12826DEFFDB1 +:10F6B000FAFFE96737FBECC7597BBDD7DAFBEC39BA +:10F6C0001CDF7B2B73336661F2CD6D93194B15E70D +:10F6D00094DD5CCCE0AF93B10950142B05BE44C659 +:10F6E000F6A4B01B7C4E7CAEFE741AF4DFD33D361C +:10F6F00067A3C0D833A314EAF725FE4D63ACB2BBB1 +:10F70000DAC660FC751E192683EE0A1F9F5AC35481 +:10F7100056C158EFBD71A16D1E78EEF07BF1B93E78 +:10F720002E4D11A87FF3F9312C343EFABC590ADB77 +:10F7300064273E2FA6E7A9ED1C0EBD5D2F196B2394 +:10F74000389ACF27B3E078E3F3107FDE378F9BDA68 +:10F75000FBC3D369413CD87E63DD86EB8A9D770D80 +:10F760002CBC0BC6DF9AA8A6A70CF0FE3E78CF0BE8 +:10F7700083C02FD173CF28C6BA118FF09C1547E1F3 +:10F780001B33454DF795C0FCBBAAD299D3807F4966 +:10F79000C3BF8DAF1BF16B31BC7F3AE20DFA352C44 +:10F7A000646A88E68575C13AEAB38A691D7BFE4FB3 +:10F7B0004DD16C9A6F2DF5DB23B15A5C47A5A45E41 +:10F7C00085FD2ABB53E420F43B1CC3073A1DF7A474 +:10F7D00004AA084FDF17E46D42FFF55EA5BDBF72B6 +:10F7E000B3A086A07FFA42BFB8A4D8C00F0857B113 +:10F7F00071FEEEBB717EE6500A1695205CF773B879 +:10F8000018C085F8F02A0573128DF8E770FF0CF028 +:10F810008625D09FD32DD3C9E9A6E1A73F1F0C1F92 +:10F82000820FB2A9BDB2FBA00DF1DDACC1997E3C47 +:10F83000EC2AD2D6B102CA991E178D7B7694CCE100 +:10F84000ECAA197F19BC7F4FA1C460E5AC720AFC19 +:10F85000DFD770FEC7BAAB2518D7576741A610BED1 +:10F8600019CBA27AD8E188F69FEC79CCB72E0FF1AC +:10F87000A396215EF02FBFAC3F7E0F8CE272F11297 +:10F88000AE3F35BA8E283E5940C7A7514E75BCEBE6 +:10F89000F33CA4C957A746AFBCB6A420E2715647B3 +:10F8A0005C6823E031D7CBE907604A73515E450BB2 +:10F8B000CD932A0A37CC86E769F1CCBF0BCAD46155 +:10F8C0008CEAB3401E7641FB8C5CDF769C67467AFF +:10F8D0006659BB07E7FDB534BB848FE3FA22165E99 +:10F8E0005DCFCCD6F40C6F676E5F33B6A741878DC2 +:10F8F000C95097F97AEA5FAD29C045AECE1095930D +:10F90000C380CF05FF0644FCD2E34A233ED7D7D7B6 +:10F910000808701632360F1E7E09ED0DDDF141111B +:10F9200048B7B4334E713A387EBF84FFCE750AC4EF +:10F9300067ABE10D6BCAFBF3C7EA0C1BBDA7FEDE8C +:10F94000FC24BF113EC9B713D7F92F091A7C1ABE80 +:10F9500063E554AFA7A5298D16D1D0EE8476C04BB0 +:10F96000E208F51905EAEF09AC0EE5907500513291 +:10F97000A370BC3A4A30E9536423A4DB7746A8BF9E +:10F980005052FBF7EFAF0779FFCAEE3902C29B7EF8 +:10F99000173C02BE4AEF8212EA6C4B6228DF83FCFE +:10F9A0001DB6341BF8639EA784CB97C88202E0E59E +:10F9B000E43C002E29DA7E5200FAC0F8601C931F46 +:10F9C00087F51F4EF655C840AFC3A989DE7600B94A +:10F9D00076616F05D2E34D8DCF5213381F1E8E0B0B +:10F9E0006CC171125352884F35FDF4EBEC315C3F22 +:10F9F000D998894FD805313CCDD07E58983D82BFEB +:10FA0000677419BEA78F9FFAE66532CEFBEBBFDEA7 +:10FA100072721AE0DB9AC3E773C3FBE718E4606213 +:10FA20002DD78F2735FE3FA924F0793CBE3D08CF66 +:10FA3000E16426B7C3BA2645FC3BB17E65468257D2 +:10FA4000F444F513F23FD20BF8D38FFC9366E3F541 +:10FA50006FE4F0F5DEEDE1A594C3E74F73F17EB1FD +:10FA6000F459ACB5FF40E4FAECFE13AFFB582E633B +:10FA7000CB4585C62738607D39F8DE00437EDA58ED +:10FA800005EB19609E5EC5C2E955C3D7DBDFAEE862 +:10FA900076CBFB6A1EEA9742C9FB38BCE294E33797 +:10FAA000692741EF35C6FD2E0DF93C76DC296BE761 +:10FAB0004111FA07DF10438FC3FABF2BFB92860375 +:10FAC0009EE3DFC86541186F4B608181D695E5E103 +:10FAD000EBB289D00EF3AD6B054D6267CC753E81FC +:10FAE00085E13DA91E0EAF547892E82F4D02D70054 +:10FAF0008658992F281BE86F952D2C5C189557D7A1 +:10FB000079178D6F3E3F9E85865D4C9F5752FB98BF +:10FB10000C5F12E2EDF313F393D800788985FBDBD9 +:10FB20001A9C7ADD85F019E04962BD045FD2243366 +:10FB30005C83F921951EDD8F114DF6270AA7CDF4C0 +:10FB4000FCDBAD0E1634BEFF0C7F7FF4BDF12C68DC +:10FB500078EF79459DE841396153E4534550C4C17C +:10FB60007391EC0AB75F506E75723B8FFABA1E65DF +:10FB700066329767791C638794AA6938BECFEE69AD +:10FB8000E374BD92743CEADF0930F639CDFE3CA740 +:10FB9000D9DF3E3F10F4DD9C9228DCB76B72AFEBEF +:10FBA0001FDD5F8AE537BDFF294DFFED3A3427039E +:10FBB000F961B7431644D053EBE37C1968177E34E0 +:10FBC0008AF3CB8F34BB57EBA8518DE30F295C5ED2 +:10FBD0005ED1F52853B3111E9087A0D13F88A5CFE1 +:10FBE000D23EFAC499F8294A1F273DFF47F9999553 +:10FBF00053FC6209CADF7D02CB0790274EE77A48A3 +:10FC00001F7787C749E3EEF02470BDADE9ABA5319E +:10FC1000F6FB4EADDF9D5ABFA1FC00A31D12C4A888 +:10FC2000FE6BD1F8C173F6A84D017CFD42F36F1E47 +:10FC3000CA51D7225F6CFD4B4D2802F3F5B6496CD3 +:10FC40009B1BC7A9A14805AE0B08E465AC6AC1744B +:10FC5000A50DEAD6D7AC5E3BAC87ED1DD81E39D7D3 +:10FC6000086A03E0F13B9A5E6876F3F534BBC3B6ED +:10FC70003C8023AB99C333A2EB802019D639A289EB +:10FC8000F7DBECB1EAEB6C9B5181CF556923BC6F7C +:10FC90000B3E47FDE9E1FC98D525905DCB0A00427B +:10FCA000E0599697CFEBF48684A5C5D1F5765866D2 +:10FCB00017A31DE9484B207B9593EBDF86EB6D3E48 +:10FCC000110E23BA269EE896FC30AE2A577D8CE4AE +:10FCD0004B5B9722CA59A89F134E70B83A53CC7CFD +:10FCE000C1D8BF71BBC5B671789DBE328427CDA582 +:10FCF00058369691D8E6A03F9B96A2D98F34E6DF7E +:10FD00008DFCEAF091DF97160FFD920DF68FF92A20 +:10FD10002CF03C945A528EF66F46BCF7A003FDAB14 +:10FD2000724F793BB43EBFC5521B1A802FC31A5F76 +:10FD300003FC2F18E11FCA4FD0FB59E32FCEEF0968 +:10FD40001AFF542D705F877037AFFB45825D40FC12 +:10FD50006F1512C8DE7C9BFAE9F806385EF3107D59 +:10FD6000AA887FB282E02FA3DE8FCF0E31603929BF +:10FD700065523AE27B30389BD7886A83517FAEB3B5 +:10FD800011FEB7DA5893D1FEE8F1C1FB9A7DB92391 +:10FD9000D77702DFDBB2F7011BCEBF6CFB3B36FF30 +:10FDA000007ABF6FFC25E24968E2FE69B3CC647B50 +:10FDB00019E2A181FC8F150EA803FD9A770A64D77A +:10FDC000589D23940F3868EEDA75240BEAC39BD54F +:10FDD0000968DAD38007BA8BA37628AB19F8CA82F0 +:10FDE000F8D915B6207EEE625E7C9B8E3FA068F649 +:10FDF00021E47B888836C23C1F59FDE47F7D9499BD +:10FE0000E00D029FBFBCEB2DE54E78BE0EDAC50CAF +:10FE1000E4EF6D19C8271D636D5EF4C3AB72FD5F1F +:10FE20007A00EE1409FC1B789EEC4EF4B6C1DC8A15 +:10FE30009D95CB17C17BECBA75BDA13F9F781797F5 +:10FE400083B21C97C6AF7E0FAE5B11D95DC8EF9928 +:10FE50003989F4FC8895051D29B05C6D3D777B548C +:10FE6000570EF64721CCC4F58705F47362DF6BE0CB +:10FE70001F77CE57E0E389B55D3605E05AA1E98FDB +:10FE8000AA05DB85F70C74CFCD11A95FD6CEAD8264 +:10FE9000427CBCBD6D869BFA33D463593B79FCB37D +:10FEA00002DA6F34E98D250B717D1DF1DC3F04BD55 +:10FEB0003116E13A6CB9F9A544F41BCB9917E5F278 +:10FEC000EA13E123A47635780FDBFC5BC8CF01FE93 +:10FED00068837A650EB757476CFE06A4C7912C98C5 +:10FEE000AF0CE75F5B187046E53A560E2B732C1C7F +:10FEF000EEBAED82A598FBB53E037C7ABF8772AA65 +:10FF0000BF964378E8263CACAC93783E4083E7E06C +:10FF1000FCC50D08CF4A7766991DF8A3569BF7A13B +:10FF200067B78A9B019E95C54208E3AA959D02D9B1 +:10FF30006DD6F9BA6D9EC1BE6FFAF9EB642FAEDAD9 +:10FF400023D0BC2BF7EC9296A27F75F620F1E94AFC +:10FF5000E0C3B80AA49B42F4FFC81ACE463E8BE524 +:10FF6000D3845AAEF718C464F9C9DCAFC17A68818A +:10FF700083FC7D5DBFDEEDB1E8FA94F4615A5A4925 +:10FF800019C6A9D7E77039D7DF13D58F02D141B78A +:10FF90006B8B73645D9F923E56805D913FF5F9FBDC +:10FFA000DB85A272B40BEB35FF1CE8DC88F88CB55E +:10FFB0000FFAFC9E47E73025D14037C4B781DF6E8A +:10FFC000CBB111FCB7E5481A1CAA827802B7DDBB99 +:10FFD00011E3169BAF58C1324D93E7E4E34A9B010E +:10FFE0004F476CC14205EA4772E2C95E813CDC8E34 +:10FFF000F01C9CFFB4B819F510D00BF5EF433F9BF4 +:020000021000EC +:100000004DF86C469AA11EF237109D5906C46968D6 +:100010007FFC12D9C7E6BA6B29CEEFB36BBB05C222 +:100020007B73D0198A837F5ED5359BF892B9E3BC88 +:100030009AFE22FAEAF275B79ECF0379C738568F37 +:10004000C7E7382261ABD25F2EE7603C0E34BE06B4 +:10005000E371786FE524C745E370DDFEE9E3F53829 +:100060007CC59AFF20BF7179C6AB54EAFCAFC77953 +:100070007AFF4735BADDA3C5638F6BF2B6A2A28BB8 +:10008000F4ED8A9301920B672DD70FCE1366BDA6B0 +:10009000C779E0A8D1B819095D33310E9AF123412F +:1000A00046BE1A4CFFDC24301FAE63DA855FBB8C82 +:1000B000FEF0CF343E3DBD436461D2FB01F2B73F59 +:1000C000DA2204EDA543CF33323C7DF2FB408F0FA3 +:1000D00077247937C2F08F76CEFD26D683DB93BCAA +:1000E000E8478E0C5F4374FEC83DD98B7475B773B7 +:1000F000BC7CD45543FC70365DB1A03FDDD6F5DD48 +:10010000A9EFC27B5FD5E4FDECCFC435B8EEB54FA7 +:100110003E3315F3582B42C2303BCEBFE3477F45F9 +:100120007BD5B47D958CA2D1FED35FDA22D0CF12DD +:10013000DACA9FEF4892B1DF078F3D3015F1D9DE63 +:10014000D54EED671FDB4AF5834F3E437A44E7CB3C +:10015000B33FDBBAFFFF60DDE7F2621EACD9FFD030 +:10016000BF629D5DE3F23E4E6C74C836CF90B7DB44 +:10017000B4EB00C995CE07577571FE647536CA5742 +:10018000E8FCF8DEABF14C48823219FC7E786F83D4 +:1001900096A76AD0F24D0F68F18A92CBCB5E7DDDD7 +:1001A000AD4AD6492BC5C3690B2A880DBB1FAFC00A +:1001B000E765F49C5D189F8D7C7DF63E2BC93388E6 +:1001C00061F66C806FF9FD561FCFAB421DDA3FC45C +:1001D00076A4A783D757603BD69DBCBFBE9EF77E53 +:1001E0001F5737909F16858FF1BCADC5427483F7BA +:1001F000BB26033CEF5994DD68EFF5FEB65CCED725 +:1002000051F8795CA5C3ADF73B7B9FA8C35DCAE1FC +:100210001675B84B39DCA20E7729875BD4E12E35F1 +:10022000C1FD87B8A681E0D6F12921FE00BEF70006 +:100230007FA8C796EAEF69E0799DFB2BA66F473D43 +:10024000DED0C9E99750A86E17E19F722EF7DB97B1 +:100250008BBA1EE1F90DF1FE096FA25F786E739CF7 +:100260008276A931C57F8AF4D00FEC0AE61F5EFAC8 +:10027000FE4DD911033CEFB532D59A6F88231FA8E4 +:10028000CA66B09E53F757655B61BE2F0E4CCE46D3 +:10029000BD7CF27EFB0DEA45D6F18016CFEA719265 +:1002A0002D416964E0221CAD2ACE3F44FCE1F28A74 +:1002B00053A17E25A7630BA87384ABE5BAE4AD9880 +:1002C0002FB73864A602DCD7D4266FC53CD1D45CE6 +:1002D000CE679853CBC0F1B304F2033B6CC11DE46D +:1002E00007C85DD9E8072414876DC3A13E7FE1AE3E +:1002F000A998022A01FD7AAA90E2B7ED5F82BF3B7E +:10030000F7A19B16E17BB6884C1633B15F1B8DCFEE +:10031000063F42247B29C9A7743D2A5ECC2F9268F0 +:100320005EBD5F9FBFAFC957878DFB67E0D7B03811 +:10033000282B6FD5F2F4427D3BF935B785A750BC29 +:100340007166757C73B1513FF2F1597BB8BF94D59A +:10035000D43D13D7F3F5C225E3F1352BD7D4B0F74D +:10036000504FA33CA29F12749AECE27C0DFF69B23D +:100370006F3AAECBA1FA52EF417B64F74964A76FA5 +:10038000F059DBD06E49BDD9F3C8A17ADC641736C9 +:1003900059FD9913D0BFE9D0FC9CED1C6E184FF3AA +:1003A0002935AA1BC7C3FC349F63A12AE1FCE86F6F +:1003B00060BDE7C52B1EDFE831E229D46FFE0A27B6 +:1003C000FA29C13AE243C5E645FD7316BB66121E23 +:1003D0004B8DFB16B1F940B48F284F77E456ADCE64 +:1003E0009D102DF5FC612C9DF668EDBDB9EAEA5C27 +:1003F000A4CF8E6126BF6E307F57F7035A6A353F10 +:10040000E08577C8CEB5F825EEBFF94F92FFF661CB +:10041000ABCADE0379D9F4DC3BA45FE7ECE5746B8F +:10042000D9EBB1627CBC49E07AB4A5FA23F2E3824D +:100430002223BE6FB1756D7023BF6F64C91001B206 +:1004400096A99102D4AF9F3CC7E5E1B0C542799629 +:10045000C3DB8AB6A27F2234713FAE25A06CB353B2 +:100460009E96C78D10273D80F1FBCA2646F98296DD +:100470003DDCDF64C55C3E5AF6BE4EFCA3C749E0D6 +:10048000578D40BF27D96DF7A25F9235BD3B9BCBFF +:1004900023F3E6631C33DDFFC00CE2B7B24AE4B7D6 +:1004A00083F3F76F70E07BA7431C06E3378D549FFF +:1004B000C3F982CF090CF39D9BAC9DD5128CDB3424 +:1004C000439183B80EFF357D7E0EEA17E6BF86E2C4 +:1004D000A316F7222FEAAD8D6D3CCEDA087116C651 +:1004E000519B9E6B233FAC4589F7C641FDAABDC217 +:1004F0006A1A1F7432E48B16C027D6AF0A5D161233 +:100500000DFB63574D8F641F7247E1FEC4DABD18BF +:10051000F1F3C9CFED2C68C863274F0F6CB913C72F +:10052000CBE55ED18BF15AB71FFD6510756F1BD4FB +:100530003BAD3EBB17F359570A21DC7F4BD6FC97E6 +:10054000DC5A4EC71735FBF062AE452B6D9A9C6B9B +:10055000FB0E72B014EDDAC71A1FE09F9206FA9FE5 +:10056000FE01746908931C61FC8A7475DBD5B25B6B +:100570000C7CEAAEE17E85BE0F84FB42B41FB44022 +:10058000227A6701BD51FFE974FBBA7B7439E22915 +:10059000A2C97956A140F90216B411BED2166C97C1 +:1005A0001A8BF93ED240F98693DA3A5287F92AD06B +:1005B0002EA4A6F3FD8554B1CA128779A932C1BB16 +:1005C0004DA17D6ADA77EA4DCDF46E33E053CF9FCB +:1005D0009C494B247AB2D0AF25F4A77A73078E07D3 +:1005E000F471D17DAC38A2FBACCE6029C6A7FA3E2F +:1005F00096BEEE505B7C9D519F9DD5D6191AC3E5E2 +:1006000088C97C9F24CDE21D46791D275FC799B418 +:10061000CB2B091ED64EFD7FA3D9FFD45C1FE5EF7F +:100620007A5313691DA9B9AC1EC7A7B66708ED1E9A +:10063000239E65B2337768F8E9937FF4B73C28FFCF +:10064000DC7F6F01BEC6380EF580C6A7A1C785A89E +:100650003EE8D3739A3EB86A2FA77BCB5EEE5FE984 +:10066000791EA06001CADD194B7639DAF9165B8470 +:10067000E4B0C5A294B7B9A3F23D945E989110A2DC +:10068000BCC48CA282F2764F74DC275685F6953F67 +:1006900099C168FFF9E5E7DE0A19E3449D2EB171BF +:1006A00010EA5FF41B747D9C93EBCBCA43382CE1BA +:1006B0000D9227AA3F5B9EBFB7C03F603E8BEB4FBA +:1006C00087C4F59523941032EE2BE11E6D623995A7 +:1006D000412794096B383E128A597024AEBFE2E874 +:1006E0005328E74C52689D8925DD97A37F5E8C498E +:1006F000CDD4A87F13BFF7664CEB63DE8FEFBB6DE5 +:100700004BA0FD143DFF170BD7A83CC19467D3E362 +:1007100054DC47C2FE57E671BA4FC9E3FC3647EBDB +:100720006FE07B335F3B799C3698DDD1C7FFA3F246 +:1007300092FA7B74FB17C5779B693F0CD735BB7862 +:10074000F07E9D07B8BE413ACF36F0EB528DEFD325 +:10075000F3B8DC3CADE5FD73FC0B92E60C308F5E2C +:100760008FDDDF892D93FE2A12DCB82D89F3244D0D +:10077000ADF5D643BD49C34F6C7F89499F4574BFD2 +:10078000CA83EFFF80E8FBB99F05105FFDF9CDEC50 +:100790005FC4EE23E9FC88EBF0950C0E6747CC3A7A +:1007A0003A72F733CC6B26385CC42FD330B804FAD6 +:1007B000DCAB8CD88AF4C1F96693FFB436663FD9B6 +:1007C0000C4F9C32303C43E1B7C3B2AB09F9F35D47 +:1007D0000DAE9C2D1787FF69EC379AEF7761E9F42E +:1007E0002A6D12C03B6E9F528676BCC3A2546F42E4 +:1007F000BBFD26DF774C9CCA3E1501AFAE499D85F7 +:100800006B3D6897BBEA902FC649114B19DA0F9FD1 +:1008100019EEF4BA781636E41732FD29A6FAF0A6D6 +:100820002C53FF91811C53FBA835634DED9E60B99D +:10083000A99EDBF13553FFFCCE6A537DF4E6AF9BF6 +:10084000FA8F09CD31D58B765C67EA5FD2556F6A36 +:100850005FFAD7DC83DF473D81EB47FDE2502A8D0D +:10086000F2A19707F372883EE3F69AD78FFB84C60E +:10087000F907E3A758FA2FED104DF3E4F8AFE4FCC5 +:100880005CCC285F9470DF980DC857194B59C00E87 +:100890007A352186FF879A2FCADF63F6E2BED2E758 +:1008A0006E81F219FBB169003FF7680C9FCFA84D2C +:1008B000E2F6E8FC9C21FC62CEE773EC7CFF794E0B +:1008C000022FFBDAF3B93C9FD7F4E850FC7A468359 +:1008D000E35D9D5F431EE24F764C24BF75D976A140 +:1008E0002D03EA297E27F96DCBA4302B33BCEF21F1 +:1008F0008DDF3769E337B7CA34DF0F5A33A8DCD24C +:10090000AAD0F3475B0BA90CB57AE9F9B6D64954DE +:100910006E077F0DCB275A6BA9DCD1EAA37E3F6916 +:10092000ADA37267AB9FCB9D7F8CD5A87FD8F99480 +:1009300001F3E5736B07A3CB646B18E9A248818DC3 +:10094000DEC1F1D16FBCB8306920FBAA976B4E2C89 +:10095000091D32F063527EA2FB5402FC63229B48C5 +:10096000F1E810E3BF68F5870EE50FAD17757E61FE +:1009700017C6E7FB06909739F8CEAF31F65F797767 +:100980003D18740E8E9F281FC5F06B07E7D7529451 +:10099000498AFF225946784E6974D6EBF59B934CF1 +:1009A000F1AE5EFE5B3EE7BB463B3F3FD118738E28 +:1009B00062653EB7EBB3F2791EE1FF17FE3CFD48DE +:1009C00022F9CBA7AD81EC54C3FB4F3F9240CF59E6 +:1009D000A1CCD00EB014753AF22F6E01D8C0EFFA48 +:1009E0007EBEBEFF9B27531E23EEABE53B72B66473 +:1009F000523EEA7399A9E80F354A32D9C78C598C0F +:100A0000513EC02FF3FDBAE59ABF24015DD15E7A55 +:100A10002D513D4AE770E2A37C2F0ECE8FCF60525E +:100A2000D6A0076FDA1CAB57BF690B570C2D67B107 +:100A3000E3BEAA9CDD857256F48F97339DCFD9858E +:100A40005B0A06EAD7887296C5D8F8FC271E0C16F2 +:100A500047F9FC26F4AF0C7CFE634D0FFF589387DB +:100A6000D35AFEE1B455B120FF9E7E23775B9B21D4 +:100A70008EDEAAC9C5D0F85D66237AEB7A30464E81 +:100A8000871E1F47FCF1F9662184FE53A3C3154C52 +:100A900028FD2AE32F8EBF7E74DDEBBEA43C8F9B26 +:100AA00005AF47B81A9985F6811B1DCEA00870B115 +:100AB000CDD68F22063EFDF570F5F97C9417952969 +:100AC000721AC911C5F7F0E773A4D111405E0FDEA9 +:100AD0004CF67D22137A91EF85489AD802F36EB9CD +:100AE000C54571D7C44823E1610BE681701F7A3A8E +:100AF000B82269FA9156949B008F67AA1D111CEFCA +:100B0000C03C03C4B21B056F8788FCE6160E1D852A +:100B1000F1E24B8CF058EEF0B6BB2D38C427623FA3 +:100B200081F178B6F2246F9FC2BADBDD306E2AEB1A +:100B3000A5F6CB6A83ED08E7287641267B91FEC4B3 +:100B4000CA2F21A463CE944BC257B03AF0233C6F16 +:100B5000105C2BB176281F4EF8D727518FAF09DADA +:100B6000653BCABBC4DB3FB03A6494C3D1A2FFBDAE +:100B70007CCCD389BEB403E4CF04C6F928BF27BD1B +:100B80008B7E8E0582D32F01AE6A6745DD8DB86CF2 +:100B9000ED39E1DD13EDA7EB87D8FAF7D673FE6EDA +:100BA000BF97FBD3ED6DBCFE178DAFCF69A5ADC070 +:100BB000A2C5596C1DE22F2E83E387280AF8B76B74 +:100BC000F4B33802E120C6AD01A0978CDAA98BF00E +:100BD0007FEFBC4DFEF5D47D219D0B13C23EF66523 +:100BE00042142FB1F3A88577D33C369867A38CF1D4 +:100BF0006EA7EA003E8AAFEB0A5B2F3ECF21DC0FE7 +:100C0000922A387CCB45BFB3809EABEA8D98EF0724 +:100C100004E27C76F00B058F71DCDF4C9F749C7FC7 +:100C200028FA8889D38F639EA53A6457304F124BB8 +:100C3000A733A8F3F1BD7FB271FF7A08BA4DD6E8A9 +:100C400051BDE6CA10EE3B4EBBD0EAC2F7CE5853B8 +:100C500013C2F36CD3D7545159FD08DF47A9B62A04 +:100C6000EE14286BD65C45FDABD6CCA57675CD6C65 +:100C70002AA7ADB99E9E4F5DB320643CC736DD0DFB +:100C8000F318F442B513DE67D0E7330A14C29B2A87 +:100C9000CD363D9F7AA1CE34CE5AEDBB919FA3F5C0 +:100CA000CF443CD8589680791BD1554B78D9909930 +:100CB000E141BCCC2CE0FE851AF1F0FC4531F36E2D +:100CC000243DC1F763809E330A703F64B3F00EEA9F +:100CD000195B4688D1391D29321CD7BF5FD3D7B1E4 +:100CE000F2F72F058246E7115C6ED9C5EDF5AEAB84 +:100CF000937FE7C6132FC127E7BE067A675755F2E1 +:100D0000F56EE09B614F16CF9540CE77BDCE48E99A +:100D10007C5AF0F587D09EEC9A97FCC354E87FFB91 +:100D20008EF7BF6B055AEE5A2450FB17A3A11DE0A6 +:100D3000BB39CFBF08E11EFF9A3A12FD89EB98E458 +:100D4000C5F8716EB1B268A782794C6F04F773E78A +:100D50002DB52B942FBC00705432F618022AF2FAEB +:100D6000B44AD4B3DA9FD6BE1DFF0DFC95BBF9E69D +:100D7000FFBA1BF55EB7E8C5346AE366CF0137CC2E +:100D800097DB5026E3F0BCCDDA7EE5163BED573617 +:100D90006EE67A368F797B71DFA60BF3AF2058476A +:100DA000AD4ABB13E3DC1246E7714735F07343A746 +:100DB0001EB16FC5BCF929840DDB470A1407BFD1EA +:100DC000CAD475F96C50BD3E51AF831C4850BF3C2E +:100DD000A65DD7FB82FF0EF176839EBFDC9F6EAAD5 +:100DE0007B3B588D0DE0CD6960B2A020FF04B85F59 +:100DF000A63A22ED680780366A25DF46D1E627BB92 +:100E00003043AFFB03D26D889F14B0535E74D7425A +:100E1000190ECC71324F15AE47BC82C9184F66D738 +:100E2000860FE27981F16A15E9FB09CCFF5237940C +:100E300093D55D549FE408B5636ACE82F90C986F30 +:100E4000CA05AE6754264BD85ECDBC54224762FB20 +:100E5000F40C81E2D45AD649CFBFCEBAA89CC5BA09 +:100E6000A9FC06EBA5D2C7642B96531D60A740CF03 +:100E7000FDB8C043FC6A71F0EF49CA6BED5B31AF5E +:100E800037EF1AB05F50AF0B33CAE7CFAD55AC8A1E +:100E9000C17F9A23F1FD5758F448F2172565E4B550 +:100EA00006BB7FF491F98B70DF51B198CF7F3FA3E0 +:100EB000E993E73539D92468FA6819A73393FCDF39 +:100EC000BF11EAD7F946933C427B98DA1738A87DE0 +:100ED00093D5D79606F5631F9730DC1738ABE90535 +:100EE0007DFE63B36FCAC47CD0D6F505562CE7F8F7 +:100EF000F5EF39821A9CC191C6FCEFA92500A7968F +:100F00008733E6770E69F09D2D6004EF29580FC9ED +:100F1000BFB67F96F68D64CA2FCD6075129ED3FD45 +:100F20008DA64F42826F3AC1BB9231FC3E4097A7DB +:100F3000269D3FA4A02D0BE5D1EBA1F5E9F05F17AD +:100F4000E2F9E7EB9A661FC0FDA6594D2B19DAB5F9 +:100F5000E879397E6EA26AC174DA17ADDB6C6798E6 +:100F6000EF169AFC7F40795EB0D0AEA0DCD435CCD1 +:100F7000A6F723A1F15C519D7FC93AE4BB050E554C +:100F8000C67310572CBC87E8BC6E21F022F073E2C8 +:100F9000C2F97CFF118C3AEEB302FE697C5A35F837 +:100FA00032307ED4AC03023F871F6298E7DC3A867A +:100FB000D17E428AC468FF2719940EFAA90B1A1E23 +:100FC000389C5981F9259847C1A5FA6D88EFC1FC75 +:100FD000B447EEB9904CFE39FA35A3883E3C1FBDAC +:100FE0004654D04E78B4BCF25B8718C59D1D0BDB10 +:100FF00083E497CE8297C1BAE776961D463CC18BB3 +:10100000487F80E44650CF397C5728081F6E85E220 +:101010007E57A3C4F337658CE789AED5BE8B898D27 +:10102000671C6B6CF4DE464733F7EB60427B667FF0 +:10103000FD11BB0EC17707D3F6A923C3503F14CAD5 +:10104000E26DA82F56BBFAE41FF5AA5A5C42EBF1F9 +:10105000BEC2D733BE5B15F1F9045C37C9F15DDC64 +:101060005EC43D2118FD8C1A39B8D80DEF397AA825 +:10107000618313DE6F757B7F2F57A0FCB300F2876F +:10108000CEAF2F8DEC1C8976EFB799DCBF9A76E155 +:10109000994463DEB86C3497BB72B4E3B0CE32B41B +:1010A000CB607F27A01D87B202ED3894E5CBB81D39 +:1010B0001F8FF61BFA79D16EC3F338CD6E3B34BB6C +:1010C0005D669587A19DAF38A69AEC6FF96BB52642 +:1010D000FBACBFBF7234E773EF219FA9DD9167B608 +:1010E000DFD59AFDFE4D956F91E9FCDF682E8F13D9 +:1010F000476BF9FED782D9746E622A97C7D3BF6255 +:10110000A1B5D074E6579CEE412BD3FC1B33FD50A8 +:101110009F6BF48D7C17E82B6C497FE99B06FDCF14 +:10112000C606C90E0E46B7DAD139F4FE8ACDB345EC +:101130003CAC30FECAF1C3BFC590DF2ECEEF83D1E9 +:10114000F75779AA6FF404B48FF2F5CD18D7F8EDFC +:10115000F49E1962F306CC479D033ADBE5FEF39556 +:10116000237000D7826E160A0951BB0AFDBD185FB5 +:1011700057BC217A83B05E6F036B47B9CDECE0F6C4 +:101180002CD587DF9E44F19D5EE7C0B3997DF54C79 +:10119000BF6CAA0F6FCA30F51F19504CEDA3D614BF +:1011A0009ADA3D41AFA99EDB31C9D43FBF5335D553 +:1011B000476FAE35F51F13F299EA453BEA4CFD59EE +:1011C000503D5A6CB0F7255D7E537F148B6CA4574D +:1011D00086C8D0FF1EB7B7C93CFE04F8B70EF4F2BC +:1011E0000284C70AC6EBD40E7A0258FEA547D0FE89 +:1011F0004CB2CB61187F5D8335EA0F33F4AB98882E +:101200007499EB7792FC7963FCEBD83CC44DAF0446 +:101210008FA0DC96BFE2A773D8DF196DCEFFCD108B +:101220009D44AF73C7442FC624376164E28ED2F564 +:101230001C4E84F43CC042B45F1EB37E3D6FC1C4FB +:10124000FB6C94FF6C12D830E867CF30D3394E3145 +:10125000D339A1D04CE744AF99CE4993CC744E56C4 +:10126000CD749E18115E7A04F723014F6C12F8AB0F +:10127000B566BAEB789E04FF1B08CFB178F5B2FBD8 +:101280003E45B9190A9FCF8E8ECDEB4C21BDFFB9DB +:101290008FC73BF0778DA3D2A0AF4151223E85D7B7 +:1012A000B81D88957F1D7F65BE7476DBC5F480739D +:1012B000E5864C68F776733D30619607B7FBD8F149 +:1012C000251387235DB3D83EFD3B243F9E5F32C884 +:1012D000F76B28DF096BBC9120BE77B39DCE2DFE46 +:1012E000E6F0ED472C50AAC73D64D7128BBB2F47C1 +:1012F0007FE0D868A7763ECC770CC7C56FE1FBA727 +:10130000A72E0F2CC27EC7058B77AD1BF5055F5747 +:10131000E36B7DF1B1D94EC5FAC9C1251BC294EF6B +:10132000E07129F83B34FE723C578F7E4A8C7E294F +:10133000F3C7D8B598FC87B0D0EC47B37A33BEDAA0 +:1013400027F93D426E7FFD3978FE2342CFA7B16079 +:101350003BDAF7CB6ABDBFBB15F174F55BC3D18F28 +:10136000EB970789E2F7FCE854C46F177D3FC0662E +:101370000984DF58BCCE9DF54E1BC6D5F123BA2F8C +:1013800047FF8415EA785659218CDF1DC7FD873742 +:101390001EE17151C5EB0D045F9AA078D16FDA9D03 +:1013A000CCF9E60D814576437DC2311EBFE4367926 +:1013B000BCC886BB3DDE97B0FEC64AC1BB0DEA95F0 +:1013C000C75511CF8FE505A01DDE57BED657930830 +:1013D000E3E7DDCECF6DBCF071239D2F0B7D8BB786 +:1013E000EFAE0AD039FA37EEE6ED134F044517D4C5 +:1013F000C704B5F985CE1A17DAB5F502F777FAD131 +:1014000097C73DD374FA6CF9E2A56F5644E9537F50 +:10141000C67BC405CF1B7A7D3393587F7AE971C6AA +:101420005489C7117A7C319DF9A89CC902545E6A1F +:101430007C71556121DF87625EAAAB5ABC9150ABCB +:10144000563D8D740AB858BEC17FD1CBCE14DF4A49 +:10145000DCDF74D7F86E43FB7F5521F7ABA325F78C +:1014600003D252D4915E683F66D5BE7B73F804A266 +:10147000D772AFC8F39E0109E52D34B26C3CAE675C +:101480005AA18DE0C9BD2F40FEED37C0CDC37834E1 +:10149000FCB0948CE70811C703C5E7D1BC5ACC391E +:1014A000422948E764CB45A508BF58B9B1B0F0213F +:1014B0008CD7913730FF3B7F47F935C111C4A7E482 +:1014C000A70CD5EF98762E69B7857FD7738DCF633C +:1014D00041BDB2BBCCEC07DDA8AD5F2FAF6075C4DA +:1014E00057574C12BCEDC00757482C8CFB067FEBBE +:1014F000BACAD70617237EE66DB3337E9E88651978 +:10150000CF73EB7A661ED3FF7C8791CF1AB5FCD9D7 +:10151000E99200D1FBF4D6D187E6C0F353B385102E +:10152000E6BFAE75804706F45FC0028B9A3D867CAD +:10153000F9E6978F0BAE4BF09B1E1E2B7E59149530 +:101540007B716AD082701EFDBE407E9F0E57AA2E10 +:101550000FD57ED27782A6EFD2EB76091962FFF91A +:1015600063ED01C81543FB91ADAD2EB5363D78ABAB +:1015700051CF1576B5DD8AFD35FF5ECFFBC21FC5A5 +:10158000CB1B67737D96E6086A71133F1F9BD9C416 +:101590009F8F64BD02F65798BC3635173F71F65AD7 +:1015A000B03EC211983D4BC1F36E17B81DB9F7603C +:1015B0008551CFC1F282981F04AD19F801BCD7EA5A +:1015C00098A536C3FB604D01B4F5CB45FF9642E0CC +:1015D0006F7527CFBF248EE0EF4B7087B88E88C918 +:1015E0003FDAD7FC99BE2388CD43DAA5C09358676C +:1015F00041BB8CE7C21F4EF8576A5F2339643B7DBD +:10160000991598887C7FA43045CBD3F23CA4E86040 +:10161000E946BFDE2A3BD28D7E7D595836D5C7BFFD +:101620009261EA3FA15B31B54F3C5E686A9F1CF155 +:101630009AEA979D9964EA7F79AF6AAA4F3B5F6BFC +:10164000EA5FC5669BEA358E05A6FE33E425A6F65D +:101650002B329699DAAF546E36D599DFB718F98BDD +:10166000595CF41D4BBFBC538C7EBEFCA174D518D5 +:1016700067F4E575326C44273BD2C5683F277B157C +:101680002CA709A07FA1CCCDF7BF85F4053D3C82F6 +:10169000E76FD40D78A42A47756C45BE78262831AB +:1016A00084438E6F695A82FECE5A972C4C817A8180 +:1016B0009E3FF0C66150FCCCAC070FA29D7B66AF8D +:1016C000448C11FD2E9CB76F88673C1F33D641F1C7 +:1016D000D3C3092EAA978E95E87CED4DA2AF00E109 +:1016E000396D0914909C0B1182BBDEE2F762395A06 +:1016F000F47F8C70DE98BC391BE3A3D2ABCFC563FB +:10170000DEB5F4458B8076FD997DE5F77E0DE6FB31 +:101710008CB15E84634FB7D3B30ECA71AF50F299E8 +:101720008D9BF5EE8357213EBBAD945FFCD0C6EE9A +:101730006386FB293EBC9D9F8B5AE2107D12CA87AF +:10174000D44DDF1B348FE5F1ED3B83E465EF195594 +:10175000953306DB3307BE4720618CC5F4DD714E3F +:10176000A137FDFA44E3F86FD078BD6E3D9FCCFC05 +:10177000C38CE3151A6F95C0023AB1DD4DEDB0CCC4 +:1017800020AEBF06FE81762929B95042BC54393FAC +:10179000B3D0B94AF422A1BD57E0E75A99C4EF0388 +:1017A0006253A4DE3E3F3807C773FF99F2FCD0AF07 +:1017B000CA61F69FC731733D368F5F3F96DB0B6B77 +:1017C000CC7D30F56363E1E6F7C1E8F751EC91D4E5 +:1017D000847227D297E7F158864ADF677D678ABB14 +:1017E0000CFD2A7D9E1BC670FCEFD1EEAFC1FD4CF7 +:1017F000BC1725761D55C1AA3A8C9F16B2D272DC51 +:10180000C79B3B46308D639A1E5FA4C9CD22F9C8A1 +:101810009FD03EEC19CBFB591C72DA53C01F8B834F +:101820002E86FC73C342E62A817EFE31EEFF54A170 +:101830007CF7919253CF61F9E8983F7E13CA1B2D34 +:101840009120F663DFD6FC26369DF6D185E070B296 +:1018500027976A17DF5696248EC5F38CAE90220325 +:101860009CF163CFD0B9CA596318C175A3453FF73E +:101870001729309E577A5BA94A1C8BE7F9AC2C9C40 +:1018800082747ED1CEEFEB7905420AA8AFDA3F86AB +:10189000F288E1B1FE049C5FFF2E9E1DEAA5FB7F4E +:1018A0006A98427E553FFA6BFC13CB070838F2CF9B +:1018B00050FC508B70C3FBEA5D03D395FE906F1D07 +:1018C000C95BD17FBA5BA3AFFEDEAFCA9FEE5CAE51 +:1018D00057743E1F0A3EC097E95C7482C6BF7AA95E +:1018E000E329F6BBDC84B116AD9F8BCAF0581FE12B +:1018F000B567E4A7055680A15EFF3E6188F576FED8 +:101900009DEBBD543AD48FE5FC531F7F69703DF6C3 +:10191000BF04974B87ABF4D2E07AF6EF844B65BDFA +:101920007F48CE1D1A2EA0A70BE9C9A6F7F27B911E +:10193000522E0DBEDFFD03E04BB934F8FE630CC23E +:1019400017E6F05D0BF10FFA9D037CDF3483E2EBC9 +:10195000A53C0F1F6F53285E8D9F2350DE4E60798C +:10196000567E7FC5DFF69D531FFDD2583819F3D13F +:10197000FBED3C1FEAED2D30E685DFD1F0121EAB0A +:101980009E42FB565FA0E9835A73BF539A7DD4FBF6 +:10199000E9F7F1B013FCBB8FFB2BF2E8BB658B833F +:1019A00069DFBB29DB70DFE8134DBFC77EEFC62AB6 +:1019B00014F2CF3758C03F47BF36A569C75AA8AF02 +:1019C000CE8CA77DC4FA8C7F3F2E603CD001FEBA3E +:1019D000814E3A3C675B5F91F3AC83E36385B8BBB0 +:1019E0003230C0799FF63CBF30D6B05FB462C7AB2F +:1019F000729EC1EF2B61110B054DACD7C2F1AF9DAB +:101A0000BB4AFF6AF8BF4CE6F87F5BF191FED7ED69 +:101A100045CBF33F56309F81761FF76D7A13E3C9AC +:101A20001EB48F9D5468DC5FCBEDB3D7E6FB73A289 +:101A300076FAEFBB3F27EAC7082C386CA0F9257A65 +:101A4000FEB4A0501E1AC42280F140BDF3E274F926 +:101A5000766B780E7E8FB9AE75D25C2CC3AD2A95AD +:101A60009F29558BC7D27969617A3BD901E6C57B3D +:101A700055527DAFCC31FADDE975DDA67AA6FFF8C7 +:101A80001CA3DF3DBC29626AD7CF4F5BDDFCFCF4B1 +:101A9000C8C01953FF0ECBBB2457BD4B58605B1910 +:101AA000E6AB7B4DEDAAEA0C268FC3BCF579D3BC1F +:101AB0001BDB387FE776B0B9A6B84652199EBBCE7D +:101AC000EF74CC35CE337AB36CAA8F096598C615FE +:101AD000ED504CED255D85E679E549A676FD3C7E29 +:101AE00015AB323F9F1436C1AFE315CFEDAFC17BCD +:101AF00026A674501E15F78EA794F73FA7FF99A24C +:101B00002E46FE8FE5F3E03D53B4FD389E2FD0E521 +:101B1000B35D934F9D3F07A3FFFC3C7519CE3B5A25 +:101B2000FF3EBE50F6525C1DCFCF15EAF773C5CA13 +:101B3000CD831A9F7F681BB87D8DE6F75963EE2928 +:101B40008AF229BFA7E8C36A3E7E0C53D38DFBB847 +:101B5000EBB5F94B35FF6CA87B2BADE7134CF75673 +:101B600046DFE3A2E71FE60CFC9E07BFF27BC44101 +:101B7000D663BBE8BD4B8F69F8F83065E0F61FF51A +:101B8000E12BD324D78FA19F3FC1F89E11D46E8D36 +:101B9000B9BFC918BF04298F7DF1F84585E53283A7 +:101BA0005EFCC7C72D8CE0FEAA7EB0CA02B7E37DFB +:101BB0004F43CD7F62AC3A610CE531FE363B1B8F63 +:101BC000363593E67915E55065CD4D3CBE71D1397A +:101BD000451613CFB042379DDF8B7775AFDF8AF69E +:101BE0007EB5CB1BF4421C63E94D453C2E6191F55B +:101BF0001897FFD78B7136C473CF8B2F8FA47307C1 +:101C00007D714B8288FB87970A9F9EEFD1EF53012E +:101C1000BFA90EE57A9C08F117886A92E54206C9C9 +:101C2000A9AC94D3FEBFF65DCBE7ECA31484791C7A +:101C30009EFF04573A0914CAF072BA0A914D49C17D +:101C400092EFD724ED93CE1AF1FB1DC6F111BB6FB5 +:101C5000F359F77FC7E33A7AC69AF76FCEB1854951 +:101C600061459B7432E607AAE9BEC9D2E7A6A7631D +:101C70001969ED90256B749F2676BDFE41F4C6056B +:101C80004D0EB225F502EA25FF20F73A0945BCDFE3 +:101C90003849158A2644E7C3FEB307C813B415595B +:101CA0004C79B4C1F2F07A1E4878E8AD1AD3FEB28E +:101CB0005F6194373AC7F7A3360801CA1F1ACE8F5F +:101CC0006E16F11C9FA57718D7CF21FE5D265E60AA +:101CD00002F5978508ED8F0C757EF08B387EBFD4AA +:101CE000AFF2FCD945DCEF9AC8CF0BF27C9DEDA09A +:101CF0006F7198F20E2EEF36CA7F064DE799F38A80 +:101D0000B83EDB93AFE6215EEC456A3ECE73342EDF +:101D10009BFC3DA58C79D970AA875829DE0F7045A8 +:101D200012E68F3E636A923C00DEF412F336EB0C4F +:101D3000FAE69DE481E952A1D165751197FFBC3C9B +:101D40007502BEFF0CDE7B05FDCFC46BA58BE7CB18 +:101D5000D5BEFE1CEE795A7946CBA79F49E1FDF529 +:101D6000F9F57EF3B571275B1DBE75067F5279D8F4 +:101D70001EC0B8323557FB4E4F65FCBBF9E7783CC7 +:101D8000D1D0F98E0DBF8F5B5254B51AE1C27E746B +:101D9000FF8614B1E1B988AFE7FAAF46BCB5284C6D +:101DA000DD8DE395886D2EE0B747FB9EACC7CAF387 +:101DB000543D71BCD4E15952347B358EEBB93C6251 +:101DC000437EE8AB4F803AEA87221FBDAF67724C73 +:101DD000FD6A5E5718D85DA06BBD433BCF5FC8FD61 +:101DE0003766D1F6FD62EC76ECFD89EA88BF3422D5 +:101DF0007F0EA6BF2C8EEEC33F84E78BB573B7FE74 +:101E0000BD9F1EBE5321FE3985EF5D128A6374BFEC +:101E1000CEDFA9AF7A4676D37A3656F566FFA08232 +:101E2000F22632EE8BB113AF1FC1EFC4EFF716509D +:101E3000FE9D49DDE4A7240A0A5FDF1EF3FA5A8BF0 +:101E4000F4F8436103DD2B1AEBF7D48FD5FC173D73 +:101E50000F37947CEF7BEBA53B8DF2BDFFD5E138CE +:101E6000FF94FDBF1A86E500F27DFC05CFD0F2DDC0 +:101E7000C23A6D7C5F213213E75FEEB5D1FECA3AFC +:101E8000F9DD993FACA0EFD603F83D0BDB6B5EEFBD +:101E900032E3796001E31B6B74DF1DFE6B66DD349A +:101EA000EFCA2EF3F37EE78063FCB7583EF9A32612 +:101EB000970AE3DF79378105C17E4D8E85696D7C98 +:101EC0003F2560C73B9E4366F8F47BD0468BBEAE91 +:101ED00022DAC7EB5CCCED9EC2F939C6BEEBF7A4A3 +:101EE0002D755E43F67069472CDC2A9DBBB9B17332 +:101EF00088F5687C754C83FBC12285CA95F1B35E79 +:101F000041D16615DDB49F07701D227D29F9D230BD +:101F10009FF081C0FD5FBDFFC713BA9F080B74CE51 +:101F2000DA81F6EC6DC5FFEF289F238F474E09003D +:101F30001F73FA689E4FF67EF026EE77B20CB776E6 +:101F40008F5D64D365F0CFA6BDA2CCF313C10D782D +:101F5000EF504F19A76B93C319A6FDAF50AC7C721D +:101F6000B801AEB7F03DB170E9F9F058B9DAAFD9C0 +:101F7000A99652F504AEC79AD345F7F0F5DEC6F739 +:101F800097016FF47DF33A890948B74991DE5B9078 +:101F90008E19198CCE09EAF74B31AFEA403F37531F +:101FA000BBCFE4F772B503EF49484BB6D07D37EBB2 +:101FB000E4FAE4A506BD9A26587C3C0F5A9F8CF79C +:101FC000962CB26BF7F2DEFEE7157C9F4D49C1EF10 +:101FD00027DD097EBA0FA337592478AA167C361E4E +:101FE000EFAFC8BAE02CC77D8697357CEBF34EABDC +:101FF000E91D1F7046F1E1CED5EE7F4B9DB919ED7D +:1020000060A8DD2D0853713FA496EA9F4919C9883D +:10201000D703453CBF816787F93E4748C6B8B82516 +:102020004EFD4E35C2F3BA8837ABB0CF643529B90F +:10203000B8FF3DB9A9ED9DB45FD2FBBA95F296FA0F +:10204000BDF43A5CC38AB9DEFE9FBAE756CF8BB7C0 +:10205000244BCC6DB8875A5F578B765F562CFDF5B5 +:10206000F617FE2A0EC81FDE62ED7E8941E2B2D16C +:10207000C55C6FB6E0EF1018E28816B06F08670B0A +:10208000FE0EC145E2940345FAF864531C7240A366 +:102090006B741E37B5FF445BE74F5EB1D46E1B0017 +:1020A0005E9F06EFD85489CE271685F9FDBE83F5CD +:1020B000D3BFE71F0CAE3DD591C50837E691077A2F +:1020C000DF746DFD07505FA01F941269247990D5CD +:1020D0009F62BEA1E7B9D11EE3EF233CA9E1FB93C8 +:1020E0002BB93DAF94D4C5872BD0ACC8029E43C05A +:1020F0007BC69738A37439A4A82F1619FC489D0EE7 +:102100000F273C4ABFBFB0EEF57CBA3F2616EE75EE +:10211000DAFE961E5F0E75AF730BFE0EC345F12FF0 +:10212000517B747F58750969A887B97D7BF837A5FD +:10213000361BEA1B0BEBC5FB3E678823663E8FF51B +:102140000C91E17EF007A0B7A95D050686F60FB6F3 +:102150000FDB20C07A1B97807D8278B17E5D6CFC9E +:10216000D559FA31EA41DCAF84B2E1847703A5D9CD +:10217000C466FEDD1AEE0BC2B886FBCCFAFC83A364 +:10218000DFA6EF06857A6740A07B3182339F87FA0E +:102190008D7B6DF47D4CE343E6F734C59C374BD320 +:1021A000EC4E6C5CD256AC9DC7AB649568279E6FB5 +:1021B000DDCBEF87D1BE17FC1AD3CFB9774BC67DE5 +:1021C0001D3D1E794FACEE28067C5E8DE7E18B71DC +:1021D000FDB9E9F506BE3B354E309D4F3F0BF29FF2 +:1021E00007E33E6A95A9DC52AC761643FBCE62FF4C +:1021F00043C564777AB33F8675AD5ACBF1D3F33AD2 +:10220000F7E3591DB78376F1E626C4937D38BF37CF +:1022100013CC6CC0F87B01A2788BE822FF8BDF7BAC +:1022200033F9FD86645C87FBA7F37721BED6615343 +:1022300006FA556A19EADB8DB39D749FC8564B9018 +:10224000E6613293EF013C857E32F920FE5C435E0D +:10225000D703D5C3F17124CC5C0AE6D3DAE85C522B +:10226000C7547EDFA7EEBF4C8AF876D1FD5CD73825 +:10227000BD98F7DDE851CB64C3FC0A0B115F7F8288 +:10228000790480FB877B73E95EF273FB4653A97F79 +:102290006782EF629EFE7CFC512B3C377C5FBC72F8 +:1022A000CF560BDEC70EE2D9653C07DD77FFF4DAC7 +:1022B00070DAF568EF7E2CD1792CF72FAFA47B4133 +:1022C0003C9222201EAF1764EE5F69FEDC02CE1244 +:1022D0006CC1BE67BF4779F9CBC00E021EEA9937C1 +:1022E0001BFB591C3C6EBBCE2FD0F710B020FA0E52 +:1022F000EAFA9AAE096497565893D18FFDCAE788D7 +:1023000034B98BED77D61A697CDB9027FD44E82D34 +:10231000E0FE6220447148324B417ABFABEB693D2D +:102320006F9FE7F7A0FCB55894D5740EEA18BFAFBD +:10233000B74790534CF798C89DBF403F72954526CC +:10234000FF831D57CBF0FC5CCFEC62BAD7E4136B74 +:1023500084EE2D6D01BD2740FB9F77DE712D9E5BC6 +:102360006AC9023F07EA054FADBB56023CB6E444DA +:102370001A2D50BFBAE411DE3E36720AEBF39F7A93 +:1023800092D7CB238D489FD54FFD9CF7C70384C0C0 +:1023900058AD4FEDBB16BF573A9BACFB1911BA179E +:1023A000AAE5F9D116E3BD642B4AB8BE3C1BC7FBB6 +:1023B0009DF5F0DF33608511D3EFA3FC4B89FEDD83 +:1023C00020E7FB652FC48571DF581FC732069E3F8B +:1023D000AE84FB49CBB4FB9D40FE7E86FD0E652896 +:1023E00029E4F79E019D43711FFF1D869EE214EDB7 +:1023F000DE9E48764A71FFF72D477BECC4761EE7D8 +:10240000E9EF492BE17462C57CFE962C3919E991FC +:1024100096C2FD672048327D8FCDB66AFE0DA78F2C +:102420005B94CBDA913E72EF78B43B872E8CA0FBA5 +:102430005F0783577F9FA784EB9D65ED1ABE602ED3 +:10244000F4635A9EE7FBCD083FFA3BABB5F5AFD03E +:10245000E05BA6DD9FC94644E85EFBD87B2D865A2B +:10246000E778EDBDFFD3EB64157C1CF07919F2AF72 +:10247000BE0E3D7F7556CBDFB3493A1C0AF1FFB261 +:1024800017BEB999EB392585BEEB650FF2710EFDCC +:10249000BDC0FF9EE8FD7D82FA6B1BCA79DF3D7BE4 +:1024A0005DFC3B9DA89CA9B71AE5CA9DCBD7E91650 +:1024B00055773BC91FC049F2A7F27835865FFAF01D +:1024C0001D2BB7FDE65352CCF32934DF607468F856 +:1024D00047F35BFBC0F8ECD32731F8EB933F8F3623 +:1024E000AE3842E70A63E56FFE6072EBF91BDFA7C7 +:1024F000ED4BAEFC26D00FF3D78A998F57EEF158EB +:10250000EA8BA3FDEF2F3CEA43BDDA971FD8B33522 +:10251000381CFEB96ADFCD74AFD0CA679FFA451088 +:10252000C62F7FE67B2E06FAE603A933CD0BCF9BA1 +:102530001F5FEFC2EFC6CE484117EAC90F42FC5EEB +:10254000D1583DFEBC4E07CDAF6A61643BD8D99FE0 +:10255000FC79C3B700FE3F0AE0EFC8781FE09F3662 +:102560007C0BF0734475F4A27D3E2341DC0FF565CE +:102570004B9C01FCCE6DD55EB33FB4FCC9EFA529E1 +:10258000E43805875BC81F0A0FC7712DDBAD5ECC31 +:10259000F7B41C13BDF01AB68AF56E40F862C7AFE7 +:1025A000EA7A8FFC2D19FCBA1197F56F07CB437CA3 +:1025B000BF6ACFBF7D8ABF1FB46ACF076F639E6FAC +:1025C00055CCF9FCA641FCAA9D25E63CAF8E1F1612 +:1025D0004A253FA6FDC74F3E4D7EE4DBE96574EF1B +:1025E000EEF6FF7009C5786F6F6ED212F2B7D60E95 +:1025F00078EFD427E807D8FBDB7B65AF40391CB602 +:102600008F97CDD6B00BE3EDE6AD566F101E373F7A +:10261000F5D813984762BFE5E7EF9B9FFA6F1BDE83 +:10262000E3D52CA8BD02FF7D02975019A5CF8AA73C +:10263000DEE779964C91CD02FA2CFFD9E7BC3FF842 +:10264000B971D07FC5AE77282FD3EC77061C03D0A5 +:10265000A7A6EB00DD0BDC8F3E5DEFCCA47B837F78 +:10266000FC05E1FF83FD024BF7F41FDFF4F887F46C +:102670003DC74740083919E9252EB1250D44A7F07B +:1026800037D0AF8376CA2B0C45AFFB50165289AFBB +:1026900009FF4D6FDBBDB3F07D4FDFE2C2FB634F3F +:1026A0004B01CEDF8FAC4FC3EF379BACC134994A9F +:1026B000FEBCE9D1DB88EF6E7AFDB634FEFB3A6AE8 +:1026C000A66512AD3313D777E39679B4BE46E627F5 +:1026D000BE6BC2EFC2A1FC5CFB1D96587A96967247 +:1026E0007B616737977E8BFBFF748EF134DE330B93 +:1026F000F5E0517E0F949D6DFB03EAC7CFBB5305F8 +:102700009477F175AB03F173EB8BC95BF13B48B187 +:1027100094EBFF9AD73F9F897274AB47A2EFA660F4 +:10272000FD410D5F02FFEE8F2952253E679407B4ED +:10273000B373B64515741E51C173B586FE84AFD30D +:10274000DBECF1C23828D3781E19FE8EB24AEDDEDA +:102750007466905BA69CC3F52F2AE5F2BE6AC7E9B2 +:10276000993F40F982782509F0F3D9B1F7E8BBCF5A +:10277000A0DB42E7DE5775BF4F75E64D559232A29A +:10278000F858B5D76EBABF6AD5F6F763E4D4DC0E55 +:10279000FE20E16D154B52305E386DEB9DF902BEA7 +:1027A00007DEFBB88C7191DD74DF46942F6CD1E7A6 +:1027B0009EA8BCE971CF4D9A5CC7D22B56CEC79468 +:1027C000C6DC67B425F592EE156AB6869E40FC34E9 +:1027D000833C06491EB97C31D087F8DDEA873B5F30 +:1027E0007AF33A58C7875D56F72C7A9B597F36EDB6 +:1027F00006F984FE22C4A1715EA4C31736F45F33C8 +:102800006A204E05B83F747A7193BBBF5CC2F30176 +:10281000E5D2C9BF9BFBDFD29B370DA237E7969A63 +:10282000F5E6E7AC38095E03F662C528FA1DB6186E +:10283000FCEA7168AC5EEC2D5108CFB17A11FEDE76 +:1028400064063C2EFFE9C7A4E7FE087A8EECD0F6BA +:102850003F915D02B4F6DA816F5B429F527D3DDAB3 +:1028600025AA1FB806F7FFFBAFDB8CCFD8F674CCD8 +:102870006D4E88D2DFBA9605F17B97DE1745CAAB5D +:10288000F5002C1BD0CFDEE909E1EF00ACD7FCF658 +:102890001EB9D7857EF6FA64BDCE6E5882FD82A53C +:1028A00032DEDBD11BA7EDA7F87A5DC9CEE8BDE02B +:1028B000EBF0F796C07F93F0F7960CF9B77589DACD +:1028C000BE4B06EFAF3FAFF8A5E8C2F30D9110FF86 +:1028D0005DC8FE7CDB4E7047186F9F215E781AF34F +:1028E0008CE7827916DC6F3BE7E87D1AF7DFCE498B +:1028F000852941FABE8AFBA1278357A4014CEC7DB0 +:10290000E67BF332A47950B56502FE9772D4B0A687 +:1029100057DB5D98D716132B8EBC00E31B01F19893 +:10292000D78FCD7F2C67BEA4B0A77F9E03EC9F0DF1 +:10293000EDFD4D6087288FBCC5DCBE7CDF87C47F82 +:10294000CB63F8CFAFED5BC7F2DF633AFF95B132EF +:10295000EDFB448ADB7B5E11E9FCF7390723FF02BC +:10296000BF57044A42FC2E12DDCEED14E87787589B +:102970003095DF3B0A728071B3CE9FB1F17BBFF817 +:10298000FEE7BFAFBC13BA34FFE277A53F84F2A3E2 +:102990005FFCB6E005AC3FFB56F6EF58FFFE35FB9B +:1029A000FF44F15CCF7E3B43B87AF6BF9C8DF6B80E +:1029B000E7793BDDB3DFB3D64EFB94C1FD89740FDD +:1029C00058CF48EDFE9917BF288D901E5F47F4F948 +:1029D000CF527E4FF0B97D7FFE039E7338B7CFAEE6 +:1029E000E03A56ED4FA09869D5F371744EBEE7C535 +:1029F0002F2A8DF747FDBDEB69D1CEA1F6003FE24E +:102A0000FE20C4F374FFC5AA17263FD686F1C79EE1 +:102A10000336CCABD7FCF22FA5A8AF7A761FB0A1B6 +:102A20003E83B8ED51FC8EE8B7A5D73D6C053C7FE1 +:102A3000823E20C4D3B78DFBE17CBC1FA43F5E382F +:102A40001E7A000FB82EC04B13FA6183E1A3B7942E +:102A50007F27F5CF878F4F297E68DE3791E1779EFC +:102A600051BCF0F387CDFB12430E01D7FF9C0BF353 +:102A7000423D3960FFBDB8EE2F4A31BF34D4BA931E +:102A8000C6FDB3F2C1575CB7857DA57597FED3AE81 +:102A90009BF3FF9E526EC762E5A03F9F3F7B3BD5F5 +:102AA0009F4EA47B9F2F55FEBFF14FBBFE4BA67BD5 +:102AB00029DEF3FE55E9BE72DC3FAB9C0F45F757AC +:102AC00035BA27CAE8F7F7BCF8976C5AEF25AEFB82 +:102AD000BEFF47D7DDE737893E07FEB4CF7D2CDC4C +:102AE000AD40B95EF347D6E3E572305FC7087EEECE +:102AF0009A69718A96AB66CF69FB10EB59B98AE780 +:102B0000CE82E0673C4E7E0AD461DD1DFE29741F33 +:102B1000A39D71FEFADCED7C02F38492B29AFA3343 +:102B20003F8F63F4BAFC35BB8CF5F6368007EAEDCF +:102B3000A91619BF3F1D0C3FA2FBB53AF41B25A7F0 +:102B4000CD14BF3863E290F83C9B295E896307652A +:102B5000BCCF23CE2BB110C58186F1D0FFE171DA55 +:102B60003DE32CA4FD7EEA9078A2B8B143D6F1A44F +:102B7000D2FAED4ADE6AF49F4E8EE3F1DB7AB69A22 +:102B8000E17DEBC163A27E8F08C727D3FF34BC650C +:102B90008CA77B2698E4A5BA756933E1516210478A +:102BA000F27598E24E3C978BFE9E11AFD584C7001C +:102BB000D5DB27DBE576F3785AE77AA59A219ED70D +:102BC000E39600B62B9677F0F793FEA7F0BA6F1056 +:102BD000BCEA6505EBA5F3636EED9C90DB3102EF7B +:102BE000C2C3BF5E7E6F8ECC309E13AB5917E5ED2E +:102BF0007C52CC77BD7218F35BED37F3EF86592129 +:102C000053F8797BF33993EFBEE8B3225FFB416C55 +:102C1000050884AC575F4BF5AB9D4C1560DEAB9956 +:102C2000CF8AE72150BC1FA7FCAAAFBB01EABFAA0D +:102C3000F86E06E643AC82B28EDAAFD4EE9762DE6F +:102C40000309509FB7363305E11E368B59F1FEB2AA +:102C5000FF0B496DA6150080000000001F8B0800C7 +:102C600000000000000BCD7D0B7C14D5BDF0999DBC +:102C7000D957B24926C9123608389B048812609287 +:102C80006C9205024C1E68D0A0CBB38054378810DC +:102C9000156485DAE65A6FB321240215098F56545C +:102CA000AC0B82725B7A9B2AB4B4A57679C8C55EF8 +:102CB000C58894A2C536A215AD0F22E0A35FF92EF8 +:102CC000F7FFFF9F99ECCE9210E8E3FB7DF1D71E52 +:102CD000CE9C3367CEF9BF1FE79C9D31D5AB8A0AE6 +:102CE000634758D7B1693EC6C2B344753BA3BFE939 +:102CF000874B199BC6FFCD66A67C636232F44B55A9 +:102D00003318EBC7D82C1698512C30764B732014FF +:102D1000703176EBE0AEBCF402C62EE2DF04C632C0 +:102D2000542F63258CCD9002D6FBE1F90CC656B02A +:102D30008C58BB51CEC0C1E1F90C39600DB9B0520D +:102D40002DBF9FCF98A05D2F5E4CBEB4BF513226E1 +:102D500031EC877F1745FCFF30CD6B940DDE75336A +:102D6000766FAD3DB21CE677AFAABE7D2FD427D7D4 +:102D7000DA65E8C12A7D75833A613E13C5F2A71E64 +:102D800080F51EDD69677678FED1E36F0C54E0B9FB +:102D9000EAFBD60D0CE651C8D41619EA0B04F5254A +:102DA00037F4632582BA1DD66F85315936630B37E8 +:102DB000D71DC1EF4CDB2908222C758C6AA1EF8B43 +:102DC0003BA103F4CFDC24446E847F368D83D1A1F4 +:102DD000DF475B84881DEA55B5C1430F42FB06BF40 +:102DE0005DB6AB386F2D353B8BB17B7438BF665504 +:102DF0005FCEC3FE3FB6AACB157C12A1FE777B4403 +:102E0000B65A86E7B5CBBF8FD3B9415508BE99BE38 +:102E1000BAD228FC735AEDEB5210E117D68E1698F1 +:102E2000C60B3E3A3A6EBCA671CFD178C7B34566A1 +:102E3000C7F13635DF9009FD16305560B9B4AED60E +:102E400007A0FFDD303F11DA2733759D0FD6C7C4C9 +:102E500045A538FEBD3BACA73A1D3ADCF1FFC4B92D +:102E600069F83CD3677E5EBFCD5C5F007D928BF0DE +:102E70003BD2A94E036F306EC3C9BAC8C1B87ED366 +:102E80005597FBFDE1F08F32567671586C7CE686E3 +:102E9000498DBE940EBE6C0C460E0E89E1DFC0CF8C +:102EA0001EBF581301FC8DCAD082489F46FF66C4DE +:102EB0005349ACDCB3F78BB7EE45BAF7D9551C468E +:102EC00063E9D5327C6A767D850FC9AAD251781024 +:102ED000EBB785A00EF05BAC5AE93B5F97DF9998A2 +:102EE0000EF53B3CC2212CEB14EF0D19508675BC3E +:102EF000DC995F7108C89AD5AA536C38FF89E285BE +:102F00004AA48BB3B0767B3A7CB7F3E8C0A0EBD28F +:102F1000F554308149F9317854399C4C8A83CF4437 +:102F200039DD54BFD1936DEA3F49F19ADA6FCEBFD4 +:102F3000CED45EAB169ADA7FA3CA34DF23BE2FE766 +:102F40002C83751ED96B93118447102EEE185C8E5E +:102F50008CFEB212E9F8D5EB0256313D36DFD5AA28 +:102F600044EFAF465AEE876CA9D9909EEFEEA63F8C +:102F700046F4BF618A10590EF87EB5E4B143F301FF +:102F80000E1F003D8B2AC2E5E4DC65C80F11AB6A59 +:102F900007D02D64C1431AF4DBC04287501E4DAFE9 +:102FA000707485618A5359202D2A5C4A574DE34E2F +:102FB000D7D2FBA34519F978C16673FB4F4A86BD8A +:102FC00084DFFBC968BB2CC038D391FE8C762F8E72 +:102FD000FBC867622A96E6E78974F99C9AE27E3F0D +:102FE00059A74B208C9F084C8D22DDFC8ECBCBDE6D +:102FF000E494419F8974F81B9DFE8C72A2589086C0 +:10300000726994CDDCCF28DF6C04D0C2387F68743D +:1030100050F976A34CE59F1A3D54BED3A850F96EE3 +:10302000633E95BF017626F9D000F8CE8C8D93597A +:103030001BB05D8E9F62F235ACCBD3AE9308DFCC74 +:1030400023A2BA5589F117BB00FD403F64625D8C35 +:10305000BD37B9E140B0BA98B1D3F87DA487F95B28 +:103060005E92F07D183005DE678BF6BD24B9E3EA89 +:10307000DF78C7DCFE9070C8545FE135D71FA938F0 +:1030800014FF7E6FF3CFAC55ACC114C0EB46418B3F +:10309000F4004F637EAF36A9B30305080F4D999234 +:1030A00082A58FD6775A97E7BDC165B6C842ED3085 +:1030B000EEE44AB52E10A7F73ED3E1FE998E5703F2 +:1030C000CE4CD594C088DEC77B53640D38DEF4BD8A +:1030D0002C431915D74F9FE79B69C18948170C6886 +:1030E00018E5C886D9C3B6ACF6F6BEFE0DB3EB063E +:1030F000E5C0BC2A038502D255E6FC5BAD0CCAE3F1 +:1031000053DEB160392A07E60DE3CDB9A80C9A1257 +:10311000079F7E857CDD47D7B059ED3DC02D556FAB +:103120007FCBC2EAB1FDADD4E0A0D9A6F71DD4DEB5 +:10313000AF50A1F2780A1F6794C42411E4FFE41C85 +:103140000E2F5600F01E1183B7F1DDDEE0D34D6F78 +:10315000F808F4D4EDB54C43F93EE7A236686ADCD2 +:10316000F7730B39BC8EB5C0770B2E1D6F6621C768 +:103170008B01EF4BDB39FE0CBD7D7C328BD851FFD0 +:1031800031B509ED85A9A017510F4F145DC4FFC7D4 +:103190008F89AA9DA404D7E30BF19FB0F4E3A04F5D +:1031A000A3F0FED43A5728AC921E1E84F05E386B12 +:1031B000612D1B097D7439E580FF2EE680BD1195D8 +:1031C0004C722B511E65F6219FC616BA62F209F4A5 +:1031D000E6D1C63DEC5D6B6C9E67F5794E8589F650 +:1031E0000417434EC9209725E0DF493A1CDF15B587 +:1031F0008985008F57AD1C9EA3ACCC196FE74DD2CB +:10320000F136AAC212403E7B6DDC9753913E974E39 +:10321000CAB58830C4D19A7319F30A6278E9E6CF47 +:1032200086E6605E711CBD4EB2CF427C2A4C4B419B +:10323000BA381A287656B862F8DA103897C1E2E43C +:10324000162CE3B2FC74A5F2ED48A785EC8423E3C9 +:103250003F27FDF641BE6C110A41D6A25C83F717E9 +:1032600016A6D3F73FF0BFEB120A506F9F7205A16D +:103270009CCD2256947BB7B1A815E9F1EBAC93EA4B +:10328000773066C3B28E2954DEC9341BB6DFC53A27 +:103290009920A29D0D7F03183B57B8675318C61994 +:1032A00089F840FE606CA525CE3E7E4E87EB1C550E +:1032B0007BA010E19BD17112F561E6782B4339AC0C +:1032C000017D4D4D417D5AE69CD7033E07A8F3BED4 +:1032D00053180FEFDAA00DFB81DE223C2200114FC4 +:1032E000D6F4FCADF172A445C7D3B951DA0A7CFF1C +:1032F0005C21D7EBA332B8BC60ACCB42F66DBE62AA +:10330000591D67073CADF38D511F650BDA90CF1740 +:10331000A8219B0CEF556E2E7476F6C06F03D4E097 +:1033200086C212F33CB9BDC4F5616FF833F4DAD547 +:10333000EA4543FF1D54B508AE4FB2B020C243CAA0 +:1033400098E541F830793AE1FDB9047A4DA49B91B2 +:10335000FE771F294643BCD6A20E017C8CDCA3BCA1 +:103360009D8C764E78B62CBA63FD47D69E7A25CFD3 +:1033700087FD4559807E1B6ACA9C287F37B8C28367 +:10338000113E1F08AAF341B4B3B68B32F7BBBAE6BD +:10339000221D2EACCDCA41BCDC3AAEA44383FAE96F +:1033A0005A6F11DAA37FD6E7F521E37A201C1022A9 +:1033B000DBA1DF07931E1E8CE3BC5AD2BF08BF738C +:1033C000EB243BF1FDE963B9A841D871DFC219CB09 +:1033D000F01DDD3EFB9A2EA74E6F5B46F6D1694F7E +:1033E0002EE916901734EEAB35DC5F7995692FA185 +:1033F000FF3055B7C366CE4DB4BFB89C3C8D72123A +:10340000FA4F0B98DB33379F3E89447EA93CE37625 +:10341000575F72ED78614ACC1F102F95671FBA581D +:103420000DF2CFD4BDEC89601AD8CB355EEBFBE84A +:103430008F3408441F865C9B5AABEE43BB616A4DD8 +:103440005DB103D69D1A29131417FA63CAC4641810 +:103450006F728D508AE319789B5C73BF8D817C9964 +:10346000BCF97E9B9282FC10388D746ADD5EA5B03B +:103470001CF4930A5FC6F746849D84EF5B279FB5D3 +:1034800020FC37EC02FB59457B76580AE2F9E8B696 +:10349000736E56D0135FB4D9D0BFACDCF6D900E45C +:1034A0000B432E8084D914253A74733B8B053C97CB +:1034B00095737ABFBEE45CB892E58788AF5E194C1D +:1034C0007EC840F04380B76FF1EF1B8CF89FBF02BE +:1034D000CC38C0EFC783DE978EC090D12A4788F9D9 +:1034E000797D24B4C392BB9807EAD95F6DEE84F668 +:1034F000E666B0FB0762FB17545F213964EC3FAE10 +:103500008B99FC8D095F394CFE460533FB2F8B3AB6 +:103510004FEDC2F7E5E576396D20FA3B667F668FA1 +:103520002DDAFA0A7CBFEB7B8C6D45FA94BD09FE5F +:10353000CF7509FE4FA1A97E73FE6853FF29AC4BDE +:10354000427A05DA0FAD05B82D62B295E4A0267770 +:1035500085A13E59AD30F5BFD53FC9345EF12B5141 +:103560001BBE9F0AEF8B00BF298E80793D0D5F1037 +:10357000DD8D6DB8407AB430DA6E6A2F3EBCC73448 +:103580009EDA2157A1D95974423D80E597CE5B3C24 +:103590004D301F456021361E58B13350056CC24A6C +:1035A0003F081DC0325C197A0EE11506783543F9E3 +:1035B00058F2779EEE84FE0D007F8C277C4B642DA5 +:1035C000E042B22F2DC17AD43BB2457DBC0EEA1F3A +:1035D0000A81AC3AE0AF6162B0A208E8C1DFD5561B +:1035E00005ECC2C67CD57E00CB5D1DE52BC7F8106F +:1035F0001E8067187791CB4276F34471EF4801E95A +:1036000065677231F2B741571F7D93DD41769C4764 +:10361000F3D441FF16775ED16AE0AB40558A26426B +:10362000FFC53F1BB615F5BFA7A4624A11F08D98E0 +:1036300052EDE07E87D4D5EDFFE760BBB67E38EA79 +:10364000F70A91E44878A295E459922522338AEB4F +:10365000703D65BBD14AF6EE6B455CCF6C78194086 +:103660000413DF90CEEDCBD20E6888E3B34C3FB7A6 +:103670000FEF2ED2ED7020571C674ABF633B570BEC +:10368000384E0A3D2FF5ABFBAC480FB224A39F9BED +:103690007A22208F80F176B9DF0BE33A769DE81825 +:1036A0002728D85FA1FEFD6BB5651528F7F32586A1 +:1036B000FD77C9D5C9D83F75AE6A49C2710E5B2383 +:1036C00043609E4BC7D969DE4B2B1C3F665E1C973F +:1036D000113C6139F712FD8CB129380F26752A5F2C +:1036E00007FEFE33E831C5DE3B1FFF79638913E334 +:1036F000531B34D5A962B949D4E5050BE330A916AB +:103700004426D6AADFAC86EFEC30EAC0CA0CE02D26 +:10371000DB0CF9C298331FFDEBEEFEB3ABC91FE81B +:103720006E0F231F3F2AE8F5F0C4D9385E6AC278CD +:10373000C6F8DF7DBEFACD9505081F5987B3DC2F8B +:1037400000A0BDCB122A45FC9DB68486221D9E1684 +:10375000142A1FBE36B81EE9EFDA0B695184CFF97F +:103760005DF608C2E1DA0BB7F64739077AFFD94DA3 +:10377000486FD55692EFBB6CA12FDE047875F54BE0 +:1037800052B742DDFAF4BD5D8F032A4E3F75E3CD9B +:10379000F8FEA3AF5B3290CEEE92BF207E33EC8674 +:1037A0008562F77A3430B1D9C2D8FC35E4BFD396FC +:1037B000587B9E03F924B63E07D4E775C373DEEC4D +:1037C000F760FDCAFC1DF918EF3BC75CA1D558E6B0 +:1037D000CF9989783CB7118C6CF8FE2E7C13E9D711 +:1037E0009314D98EB07307F2D19F3CD2C1EDCB7642 +:1037F000C0AF060BCA0D77BA46F8F07D2963357461 +:103800003B57DEBF0AD771EE218641477657A78D19 +:1038100029B08E5DF9F39B2BDD487F4A06EA698368 +:103820000E4EE03860DFE797687B90AF62F1D20719 +:10383000AF2E5E2A75D988AF725968357C7789BFFB +:10384000A900F5F4701FA7F325D5C23B76A82F6910 +:10385000384F705DD4708EE41A93822AE2F7E32623 +:10386000CEFF6D5676C7142817FD8F7807FA912082 +:103870003F560A4558EEB72D8DE347D6FE59B71C83 +:103880001C65E9DBBE4B0AD6D277A708F20CB44B15 +:10389000327D3B664B60974D71CA33308EF3A7176C +:1038A00036CC96405E4F1924CFB040FD6FCF77F1F4 +:1038B000F66CF97B169083037739E750DD2BFF0E0A +:1038C000EBEE17F47A8A8157714E94E2C02E0DF117 +:1038D00076B6C6497E5E6FF399D6F02B531CE592FF +:1038E0007651E0F2701697339F4CCA2679C5F28262 +:1038F0005E949F8B2DF252B497CF1671FBCD9D1B1A +:103900005884FDDC22939BE1F9E2A11DB7A7E622D2 +:1039100074D4894FA2FC0DBA54F433A735BC48DFE8 +:103920003D6A5106213F5D5F16FC2BF2CFA7291D92 +:10393000C44F6FD4BE918572758B4FD6ED81AE3C6E +:10394000C4CF6C16247F64B61E6FB58094B8089FF0 +:103950009EEECAB33280FFF459663B6D1A8B92BF5C +:1039600032B53621BE1B1FAF15E9BBB703CD30AB57 +:103970000E8FC519DE21FABC5CC5403747056504CA +:10398000D6ADEE8E2C6EC7EF54487FE43B18EA8F1D +:10399000A4EB4F8C0CF680F7F646D093C04ACF8349 +:1039A000DF8A6523C5DC41DE4A9D3615C6B94F97CF +:1039B0009F13C54522F2CFD93D5E166FAF0D2DE6A0 +:1039C0007A216D0F8FF7B87301EE6E846FF4218446 +:1039D0002F2BE0F05E6C890E443C0C2DE6F2DFC02C +:1039E0002BC0ED05A483831E68077E985005788060 +:1039F000FE13EE7C456D8EC3C3167D5EBB9238BF51 +:103A000077ED7646B67A2F9D677931C773E27C6F82 +:103A1000BDCA79DEDAC73C6F2DE6FCDADB7C0DBE71 +:103A200035E064F02DD3E5D5EC59DEADA487F4FA8A +:103A3000D45A2FF983C63C2FA59F6D4A4FF4D31754 +:103A4000DD0CF719FA81CB0F038EC6FC0C790072DE +:103A5000B4A6DD34BFF42DE6F9A5135FA536FC82CC +:103A6000DE1353247A3E3DDFB305F330A91D6749C9 +:103A7000AE817D763F989AECDEE21CC2436AFB5F22 +:103A80005B33C96EB30A284F521BF6D2FB97ACEFDB +:103A9000AAD7D5B3BC1C078280E41DCA6401EDE03F +:103AA000A0C9EEAB60779BECC22AC7FD0971FE7F0F +:103AB00033F5BFD1D3646A9FA4AC4AB073D799EAF7 +:103AC00093D5C713ECD82DA6F6298E1DA67A796753 +:103AD00007D999471A6BC84F1EFF4117D99B51DD73 +:103AE0009FDEAFFBD307D19F06FE3C84FE34948754 +:103AF0001B557AFEDB463F95AF346A54763406A8F0 +:103B00004CE46B5F47A7EFDB8007BF3B8DFC8D600C +:103B100061F0E7C5809FD1C7BAF2D0C91873A29DE2 +:103B2000ECE0967DA32D368C33BC22469C02EAC97C +:103B3000B23476197D91FA95C8B4383A4FADED6438 +:103B40001ADA2D7ABC6B8AEBBD6AA40BD6200B69FE +:103B5000A007EC92CA7C501F1C94EF0F437D6F317D +:103B6000B713035A13F90333A12BE6396639C0DEC4 +:103B700081F9CEAA1722CD14070C53FB6D005BE42C +:103B8000BFE70F2FA7FA6C178B627FF80B38B2F4E0 +:103B9000BC26E2D93DED25A2CF1053B1FF89ACD6AA +:103BA000071C686B197A3BFC96E5E2F02BD7DB7BB0 +:103BB00081B6909E5B0495E202E17489F20F89FA66 +:103BC0007443318F1FDDD2CCF57C979785B6A23C2C +:103BD00041BD0A709A22033CD05E6D502C080F83C1 +:103BE0000FFD9D5DC4273EC54AF99945ECB31B30D6 +:103BF00094B648CBEF6A867AC97BC166A40BC3CF63 +:103C000031E81DFC8403A928E74E32CAE3248D5F06 +:103C100025A25F31FA7CA419CB0917DA4594FB7D04 +:103C2000F943C6FCF736CE227A79B1314865B4B192 +:103C30005EA7C310D50F363650FD506398CAC38DAA +:103C40002B753A6CA3F6571A3751FD486344A7C742 +:103C50001DF47CB88FC3EF54B1AE2F1D151447640B +:103C6000122F2D8E7022FE593CFE9332787B12C8A3 +:103C7000FF70611C3D00FE515E2FF2E872BA2F3AD0 +:103C8000C858F9800D50F471FB062BF9457F273D8C +:103C90004C7781019A73A91C9BC9148A4B26CA339D +:103CA000B02F54A4FB690CECBEF4AB90DB2CA462E7 +:103CB000A8C1762DD825DEBFC7BE0886703E7D7FA1 +:103CC0008FE3C7923C378C7A71B18575211EACE9C0 +:103CD000C76F1773627EE4257049F02BD70FE7E3B7 +:103CE0005CED3C013E56A483BEE66929D1F27DFD20 +:103CF00062F049CAE0749234C01509037C6CF6483E +:103D00006439AEE5574EBE9FC215188CB6A731DF99 +:103D1000429F9E4751B4421FD90917F65D443BB4F8 +:103D2000C34A71B4FB7EF9E615D9494BE47326FB0F +:103D3000BC5BCF0B16D2F34B2C2CF83C944576E6AB +:103D400010608EFB7D9513F8F7CA3B34E457595247 +:103D5000E3EDA8C47249C367347EAFED183F057C1C +:103D60002CF975893C2F0E2F8D3E3DFF070EE1FB90 +:103D70008E18DCAE94AEC775CD32C989FFEFF4A7BB +:103D8000F61FA676C63A7D88FF396EAE176E0D4EC9 +:103D9000D2ED8B76E2C3B9AC83CADB59179541F4F7 +:103DA000C8A19CC7542AE7B30095E746051F40FC0D +:103DB00048B600C53F8EB0AEF9BF027AFA64FC681F +:103DC000B9825D2A17AF540E1AF2CF9087AD3656DE +:103DD000DF6E8ADFB80B317E63E0E3619FC514CFED +:103DE0004FE4AF33850ACDF7CCEEB11617BC7FE6B2 +:103DF000553122909DA61CFA36D05573918DFC97B3 +:103E0000E2B94A2BE6C150800CC13D022BAD1FC761 +:103E10008F73AEFC6BA497CF61F419E5A9A4E67F7C +:103E20003D2EDED9ACE7197740F953986FDADC4EB6 +:103E30004989E38B1FE87C5431BB9AA1FEBB45D670 +:103E4000FD0407733B91272F9C2B98017C770BDA9D +:103E50000740C7E715ED691FAC2BFC70793AC59593 +:103E600031767A2DF203C81BE4075095769237DF3E +:103E700027B93A93692FE17E84FB5485E4C834C6A0 +:103E8000D79D088FFBCAFF4AFC7B1FF02FC22191F0 +:103E90004FE7EDD9774248FDC7EDCD790E57541C59 +:103EA00079291C615DBF44BA495C9711FF5DCC3A2A +:103EB000C9BF5B33F06800E77F0F6E6681E776D697 +:103EC000AE5D83F266CF168672B54814286ED5357E +:103ED00089FB35897C7A4487F7229DEF5950294622 +:103EE000397D46508A5617F2F9909DFEE275E447F7 +:103EF000BCAFF737E60172A7E5490EE710EE3FFACF +:103F0000D8C9FD91C4EFBCE5E379B7698EF326B952 +:103F1000765FC35F4DF2E8BE021EE72B6A568A71D8 +:103F20009FD9323D6FD75110781BE1714FFBBA9F7B +:103F3000BDA2E077377FF32DFCEE6117D927EC9512 +:103F40007E04A3338239CF3DCDF199AEBFB798F24D +:103F50003F6F4CFE3DC963F4CF7FE5433F17F4A7A5 +:103F60001C9BDF514BC7FB4F7A637218FCE43F7E0A +:103F7000DB8B72D8FBDD0284E76E2BC5AF16E1FC4C +:103F800033D15F0E9CF5F1B824C51F8E4E1A4E7EBC +:103F90009861C79DF9B0E7FCBB313FE33BC6BC3E2F +:103FA0001604331C75FE9DA0EBA737AC1D9FE2776E +:103FB0003EF9D970010386DDCFD33B46A6BB62F83C +:103FC000E9CBFE49B47F2BDCCD549FDE87FD031285 +:103FD000F325EC776229B77F662D6CB38E2579F1D6 +:103FE000F7D93DC67C9B5358C486758D29721685BA +:103FF000E228AF855151290BFD305E175CC70F04D5 +:10400000611D9B97A5AAA207D6C9789EABDC63A3C6 +:10401000F8A31DC783719C2CE2C152B47465623948 +:104020009105251E878E10BCFE4BE86CC6782ED3FA +:10403000540FFAB12DEE4A8A6F7CC05C218C17CFE9 +:1040400048AF19079F65B3174C0A225F4C6F4EA506 +:10405000FC906453A57D680FDCC4F375E037905D78 +:10406000FE3B8DE7110C7819FB2DA5F4F00DE4AFA4 +:10407000CC01945C837907D58A789809F623F6FFFA +:10408000BD14EA57E0C5FCD7C69102A0FA6E319282 +:104090003A02D6F197A33F2C7D155EFB88456D2E25 +:1040A000685F7C10F81EDA975C75BE3A48F585ACFF +:1040B000EDA97D30EE9B594F3CB08FC5E0304B7B76 +:1040C0007AFB9D50AB17DBB32A84587EE94BE7EDB2 +:1040D00059FBDCB1FC455FF98A6162705A4909E617 +:1040E0002DDA6E27B9CA42A3C81E675D83EBA0DF35 +:1040F00058186A359467FA713A0C7FC6087E67AC27 +:104100002AD92FE1CF15B2AF7C5516C227BBA850D4 +:10411000FC75AC9E5734E4AC6FB885DE677F53E81E +:10412000FD715DE6FD16BE5196D0F32EB433A4CBDF +:10413000CADF774AB83CF3655A42F1718A664F1676 +:104140008FF7E975BB2253DC625509E7431FEBFA91 +:104150005441FD80F1631FF59AEE28A5F5117D8E7F +:10416000DDFB512BE635378B400F7E7CD85E85E337 +:1041700094A3BFA0627C37A4717F8D31CC5BB13D2D +:1041800066F98FEAD302ED4E8DB5237FAD163A4422 +:1041900084E778309FB1D4982C6159C9542AAB591F +:1041A00080CA1B5888CA1AD646E54DAC9DCA5AD655 +:1041B000C1FB7B92C3161F864C1D115C9F987B80B0 +:1041C000D33F7B48A6FD2693165A30EEECFB1ADF50 +:1041D0000FD5173C7EA4C3C383F0F0FDFDF0C0F5FE +:1041E000623EF7062014943BFF2C78DCC8C2C4EF73 +:1041F000935884CA9B5954E274A91C6C82F1267F9F +:10420000C0485EB0EBA304077F6750E27A21011E2D +:10421000559C3E12E5D82E9D7E6E85B562D92A84C6 +:10422000683FD3F11285E0E2606D8C7F2F42795FA9 +:10423000A33DF1B92FB9F29C0222FCF0EE3F515C94 +:10424000DB575CB92C17EAAFED7E7F0EC6C57D63E8 +:104250002B5FC881FAEB251FF0FAA8CA622BC0AD0C +:1042600049F8704E35C63FC4FBEB092F993CFEEC74 +:10427000B0AB6A918FD264A126687FD8160A61BB61 +:104280000D00D9941D9BDFE09AE87E2BCA57B752E8 +:104290008CF2AFAE20F0DF25B00E5109D523FF3DE3 +:1042A000293319F171BC44F71BDDDE629CEF8B05ED +:1042B00081E3C8E767521C610C0C1C2FE1EBEFADEA +:1042C00064A5DAB1921E9E5B922FDC7E1FCC6B0937 +:1042D000CA68283F2C09FE01FB2DB1740E2E86679B +:1042E000CB93FF68237C68401F68871AF4510FF452 +:1042F0008074B69FD3035092DC6D27E562BAA6EBBB +:10430000F6053E2E42508E97CE0A1DC0ADAB30FE54 +:10431000691A5FEC5A80F4F069FA1BB63F135D0F1F +:10432000E4F8D6E5C29217FFFA6918DEFBB505E896 +:1043300095DBBB011647CF4B5E744A48CF4BFEC29C +:1043400022C95EA4EFFF68463B7934D037E6DB161E +:10435000EFFAE901B42BF6A27E02D02DF9CDAF0F12 +:10436000601EA0FC6627C561C6BD713217EDD1097C +:10437000273B9B313E76E6D7BFBF86D39D91FFF9A1 +:1043800052F87BF4E744F1A147511E2F6D92981D1E +:10439000BEB75408F1BAD521E37E0FB0A45AE72284 +:1043A000BC3547D76AAAF37D6EF5FABA609C43A381 +:1043B000A1FF27FAFE745033243F15F88FF850BC44 +:1043C0006043FBFFF320E847682F3B91285FBB0E5B +:1043D000E1FE92457B6C32F2F5E276B3FDBBA48F31 +:1043E000FDE2034AF57DB983D8205CD72F71DF1B2E +:1043F0002666F57DE363F4FD55B00E29DEFF36F643 +:1044000085BC2B567A4B010E93251E279C28BA2C6F +:1044100048F74B9FCADD8AF9A0A54F2D536584C785 +:10442000A08222E4F7F747E97E6D54BE1EFBFD44EF +:10443000E0F93316F83D437C2FD4E776F74A81F252 +:104440007862AEC8FCE0878C7AB6FF3D0F125DA49F +:10445000CAB88F62D4B365B376B8C95E09B1723A8F +:10446000B740F6DB4FD2BB7268DC748585816E9BEA +:104470009D5D3928C7C2BF76A8A8B7D8E64CA2D997 +:10448000DCB0BA09F5EAD226B780F9C85B4AB95C54 +:10449000F11EF36F42FC9D05FD8AF8589A32B43F35 +:1044A000EBC18E344A1FCE33CEBEDEF7FACC64B4F5 +:1044B0003F774B8164DCB775F658CE65E3AE255186 +:1044C00000FA65E203BE638F74E03E1FDF2689E0D9 +:1044D00061D0DD2F1BB51EF7272A2C5265C375DD71 +:1044E000057204EA4B5F7EA6D981F555B4F315EC4D +:1044F000879169089F5D2F8B944F2A653B9ACBA1CA +:104500005E02F41901FAF9256B17914FED1E0B535A +:10451000E2E8C4A9243125CE7F4FCECF30D553D485 +:1045200001A6FE69FE1C53BB71AEC2B027D3B5EB2A +:104530004DFDCB5887B818D6E1073E8862BEB2A6BB +:10454000C8D4CECE73BAF7C37F5C3F71FCD9C376B3 +:1045500019F5DF988FCD7CE1EF0C31848B53E71B8D +:10456000E7B1383E80FFD95DEF9FC4E0B6BD8FFD57 +:1045700053DF29D5F74F0D64037BDA3FF55872AA54 +:1045800085C393C79D4A59DE63E5D05E72D8CA22BF +:104590000AF9694CDF2F1441BF2176DE22D28CFD4F +:1045A000C6A25C00B8F70B98E1DD7F9619DED94111 +:1045B00033BCAFA937C37B50C80CEF6B1BCCF0F5F5 +:1045C00086CDF0CC5D39C6D47F485BA5A93E6CD3BF +:1045D0004DA6FED745A69AEAC377CC31F51FD13E4A +:1045E000CFD43E6ACF3D66FC83584738FCB293B1C6 +:1045F00027BC97D2436174A9B9BF78525C8C724FC3 +:104600003FE7507CF8C11EE9210CFF213D24E2BFA9 +:10461000D9F91DC27F679D2B248C217A8806911EB3 +:10462000F4733997D0431F74F01B434EEA7460C88B +:10463000C7DEF8D6C073BBAE77816E5A0A8CF80815 +:10464000AC27E0F2BC84F6B75CE9E8B2FB918E06D9 +:10465000937F12C805BFBE10FD809156945B4A93AC +:10466000D0C5C07F49F4CF0457C37328A73637C3DA +:104670007A06623CCD7CEE655A8DF9DC4B5F79831E +:10468000928EA8A95E788C89A8274BDE539A53E0B6 +:104690007BC527F97EA744BFD0D7C9F319633FEE86 +:1046A000381086F99685B8FEF57719798BD0D3C87E +:1046B000A763419E221E59C71F1883F76D327F1FC3 +:1046C000F8271FEDD00696A422FF7C4BE4FEE89766 +:1046D0009620F991897E65734580EC4AB0BB07A2AC +:1046E0003DF7ECF0E0F9D27E7C32886FF12C233B71 +:1046F0007BBC03FC4FDC83C2DA19DA59671070B453 +:104700006FA1F136CC6B9D419B6600D062F343B73D +:1047100085695F15933B4B31AEC8FF92CB82FF8317 +:10472000E39E1278BCB14E7B77F02E982F082AC2F8 +:1047300067FFB9ED0CED87F38A2694F5EB7B3F8696 +:1047400011C732E25ABB1AA3542617A822D25162CB +:10475000DCA9D3225717A2DE5ACAFDDD8F7052A3FF +:10476000E93BA9244F1CACC31E972FFBBA8E0F8BBD +:10477000A3A305F383B7EB789827A8E487DEEBF9CA +:1047800098E20A7651A0BC9D3DAD602B8F4718F191 +:10479000836BC4ABB17FFA5AEFBD9E0F4D7127B644 +:1047A00033F38AF659C6ADF307DFE0FCC2905F4EE3 +:1047B0004DBAA612E5F5A5DFF994E2595F0FBD6E7B +:1047C000A2EF3B1ADE34D1735DF81D537BA7BBCB40 +:1047D0008A713BC07339E26FF1CF9C8F6E4479913F +:1047E0002490BCA9DB65FDE6B7D995ACF323FAFEAE +:1047F000C9C60EC2A7B1CE3F369EA07A6763279581 +:1048000089EB34FC7DA3B4ED0F915FDF0576E456B0 +:1048100077DF7EFF9B6539E41F7C4B0CFC91C7570B +:10482000A283701FEA97AD4CE0FE5DD7EDC80F7311 +:10483000855415F5636BF6A1B7311EF03B4B1AADED +:104840008FD547DFC6B8F592D5FAD9332DFA14FAC9 +:1048500067675253A9DE3C3C182C43D955A0F7CBCF +:10486000B470FBD41D1D8472EA535803FA0579799C +:10487000813BCB88FFE420D2657D06F897F0FC03EE +:104880004B7824EE33FA41D96BB7A17FF54152F84A +:1048900053B440BEFFF3DFF2BA8DF3E3B33FDF451D +:1048A000FCF73B8B48FE46F89702DFFFE5EAB4E1F0 +:1048B00039869B72834B707CDC2745FBE7E1F9D49A +:1048C00011B1B8E319FD5CC519272FBF59C6EDCB4F +:1048D0006F95F1FD1746D9A6F3EDB365863C7E646E +:1048E00028C697CED6DA19DAA9F07D8DECC417ED7B +:1048F000C46F59197C1F092EECE16CDC67A29C4344 +:10490000BE728B8CF687AC2AF39AE2ABE8F8A5422C +:10491000FBD49FD9C94FEF9EEF31BEFFF293493CC4 +:104920009ECBE633D3FEA65565DCEE5CFCF2A93FD8 +:10493000A2BCBABE2CB806D76BEC035A9CBA8FE265 +:10494000494F9729F43D9827C5F3ED225B81F9A8DB +:10495000C50E1E9FEA2B2EDDDBBA3FB9ABE3FB1879 +:1049600007FB34451982EF1BDF85793C8DF330D688 +:1049700067CC2336CEE5F9C288B31AF537263F3C1B +:10498000548F8FDFD1D3F9BCDD3A1C4E5A59C23E49 +:10499000301D6ECCD807A6D03EB00E1DCFFBCBF895 +:1049A0007A5FB229CB2C1C5F2AFADFEEDC5004E9D7 +:1049B000D48DFE79616CDCAC0C16C43CC8DC90F77D +:1049C0008557A0FD9E6D23E85C80310F63DC8E026D +:1049D0006D6F595CFC1AE88DF0189EE424FA58FCBF +:1049E000E29B7F44F970F773238A510F18EF25C2B9 +:1049F00017E04AFBCE8E5AA2043F80EBCB38EEF391 +:104A0000878FD2FE2E03BE7F2F3CCF0CEA20F97E8B +:104A100066CBBF45707E67B2992CE07EB8BDFF754E +:104A2000421889F4A1E73B7699E33B89FA4666C1CF +:104A3000DBD0CFB4332E2FECC67B0325D37BAF5D09 +:104A4000A3FD89F33B53506FDB253D9EA3EBA112E1 +:104A50005D7F0A276636A33D6FC48BD9F5A0CF7959 +:104A60007C92E6E970F03847B75E175485DA83E246 +:104A7000C1B330AEF806D7E3652C4CFEC868166C9F +:104A800046E3C72EDEAFF273EE7ABC68D521F2DBC7 +:104A90005182A15D3148FFFE0F923FFD6914CA9C0F +:104AA000805A8962396F5660BF955A2234C9A7EB84 +:104AB000BEF0B672F6961AE07B4F2F35D611D6F3BC +:104AC0002D7C3D46086E79F2E0FD189FD8AAC717E5 +:104AD0007292175950840D9B1F5E8EE5758BD40121 +:104AE0000B95D8F8B94BFD7F0942BDA2CD6EC1F838 +:104AF0008D55E3FEB16328D216CA8B9003FDC24CDC +:104B00003FA7FB7303D7873B59EFF87FB2D171BC46 +:104B10003A4E8F0C94A282EC8A7D6F6083EB389EB4 +:104B20001B7536645169ADE67EFBC30373F6A01EA8 +:104B30005976975C88A2C178BFC06F3E2F087FC7A7 +:104B4000E79BE21B8EE3F3E3F2CE0293CDEDF33D60 +:104B5000B176F2C714537FC6F213C65313EA119D00 +:104B600058FC09EF69A6BAB5C6BC8E736E58078BA0 +:104B70009FF772539EF5F1468F094E03A488094EA4 +:104B8000031A061EAFCEC4FD9743094E71F8665A4C +:104B9000967E3E12E094B952FB503F5FC34EC5C5AE +:104BA0004F50D09F32CD17BA67519C8FEC545BACFD +:104BB0005DC3B8796FF8BCD2F2D146B07D86C4EA45 +:104BC000396C0AC9C587832CD404726DDFC0790E95 +:104BD000941B8F366A6FBC8779E98145146F4895BD +:104BE0003A19EE734FF3C37353BC28628297559BF7 +:104BF000DE81F0B0B11A07DAC9D91953892E15A68A +:104C000051BD459E4AE339F4BC60E2FC56C0FCA2AB +:104C100071FBEE257DBF18C3E0F4E8185C710F1A34 +:104C2000392F172E8AE8C7D804A6C7BF38FCAC4670 +:104C30003B6BE2FB41CABF1FBE93CBF390DD83F514 +:104C40004DE166941B5E49AFCFD15A811EE4792EA7 +:104C500085D71FF90CE595333F0E3F2C860F9A1F21 +:104C6000E2CFDDDDFE1AD2ED3F8A9F2B2D5B108F48 +:104C7000D6CBB4DBB47AD44F2DFD865AE2CF238E47 +:104C8000F657AEF1239F60F2E30AECE72BEEC70A7A +:104C9000B3799E88E3278DFF93A5D5DE40749F16D8 +:104CA0004FE7BDD03DC6EBFE5574DF9A00AF0D5601 +:104CB000351BF9784393D0E3B9E44D7E739E3C3FB6 +:104CC000CC282E63DD6C8978058C7587E97C495981 +:104CD0002DDF5FE778BBAD0EDB7FEEB62944777A38 +:104CE0003CA2D4589A7B412DFA1B3FDFCCF3629F44 +:104CF000BB8171000EC2828601C86FD6CDEFD3B9D9 +:104D00003C0C53A3DE1C167485D06E1EBEC3C2A21B +:104D1000717EC7A83D492C1A478F23DA334CF53BE7 +:104D2000575E63EA7F7724D7D4BE70D37053FBBD40 +:104D30003B8A4DF5BBDAC69AFADBD9FDFB4760DC4E +:104D4000448F37A7E3DA7AA00776C246E3805A2277 +:104D5000F93D8CD962E3C23AAFABB599BE634D68F9 +:104D6000EF2BFE91183F39ED37DFFFD07D2F49B58E +:104D7000FB8AEE25197AD04979B0160FB70BB2B37A +:104D8000B85CAAAA09303CFF67E00FCD532E571438 +:104D900001E9FBD7BA7C32E0603DDF5185EFD9BE37 +:104DA000E2F431DE6D8968B46F6011C9D156378C79 +:104DB0000BE365DB021EE4C732A4839188F7591E1A +:104DC0006CCF7073BCDF1D114DF0B12311B9399D4B +:104DD000A01D61F5E408E87F817C0AA5F97B80FFCE +:104DE000491BE1CD38BF9E08DFF1E7CDF0CFF807D2 +:104DF000E1DF7FB4F91CE8D5C2DF166E8BA6C17A5D +:104E0000AC3253304E3371413DED17B27A54825774 +:104E10008D7EAF82D5C3CFB126EA8B2D8D2C1AAFF4 +:104E200097AD2BE44A46F982456107BCD7B212E63A +:104E3000A820EA820EC45B8BA7D241E7D52341CAE2 +:104E4000D7AD003D84F36DCDBEC1817EC017E9169C +:104E500086E7965ABD410FCA85D62D5C2E080B36C3 +:104E6000D5E13C5AD3B3BC76D22751A785F29F61D6 +:104E7000A7C543E070F0322AF1322CF1768DCAA139 +:104E80009BCDFCCBF08833F4CB0C27253CD72CD81A +:104E90007FC468EE87A7D76498DA9DDA0073FF3085 +:104EA0003B5A506A9026D18BA54E8F6F229F4A7A2B +:104EB0007E5272AF0FE373798C5D46BA7132AED712 +:104EC0005898D38B11EF94982DC6F7400F392BCCFF +:104ED000F4E24CA4179D3F8CEF67DB38BE560C61A3 +:104EE00074CF53E27C8405351EE42B2F5BCFF0B9E1 +:104EF000D76F9723944150886F24C0D713F05E8BEF +:104F0000D646F24FD2EF69489C67225D5DF5BCAF93 +:104F100092CEBFD11B9DF7A21713E97CA510F6CC4A +:104F2000433FEF1D81F645AC70BC91F51ED847920A +:104F3000F30F59EF613E4A97232B9C3CFEC05CD394 +:104F4000F573C68CF8DF2ACB7ADE5E11305FB67659 +:104F5000DC179D18BF593FC943F6B761AF1AF77107 +:104F600050084F8CD509C4400719E549EF10DE9968 +:104F700052817E16F4D3301E9B01626B3CF8FD1902 +:104F8000F357DE2FC6C5C3D2F3DA581BCCC779E17D +:104F9000318672CB99270BB86E679E7A59F8451AFD +:104FA000597BF565EC1205EF69E9691FED6807ADFE +:104FB00043A9613DDE0FF3B3D17C9F82DDB007755D +:104FC0003801080EDA8B7AB24B74B8B8B83CF28666 +:104FD000615E71747169FFB0E95E13C30E913D7C2F +:104FE0003EE9D57225E6BD6499FB0B19A027EA605E +:104FF0001E5EFDDE99C4F17E8BEBC1FC5F0DDF0F01 +:1050000097D8DED1CB7ABCB89E1EEE65FBE7AF87A2 +:1050100059683D6EEEC765D468AC0EF12BB531947E +:105020007F4EE6E0F30239129FA77556F7BC9E8DBE +:10503000C67A243DBFABAF47D6D4B4BA1EFA27AE6A +:105040000768F2CAD6E3EA59BF24F6FB57F91FBD39 +:105050007F97FB19ADE837C5D1BFED21FEBE4D0AE4 +:10506000B2AC383A11C68834CFE4317C5F86DD6358 +:10507000F6AB6CE14BFC9E707FC3EF51F0902CDFE0 +:105080003F9552A0E8E7C5DA28DE983450295ACD7A +:1050900062F3B947D492C7E84114F29BF01F5E2C2B +:1050A00013ED71C095E1773293FDDDDD8E7E95A421 +:1050B000CB1329E6C7FE53ECF32B2D113FF1FEEB8A +:1050C00025ED36B55E3F4F57EE29A5FD2609F0E2E6 +:1050D000FB9ED431DCBEBF470CA8089F24168AA2D1 +:1050E000C9B542A88BE6A0DCC5D0B98AFB2983519B +:1050F0003CF7BB02EC5FDC1FBBC22D3751DC00FC70 +:105100004859E570910CB8C0779CBE6F84ABB89FCE +:10511000D995E6C1EDD3BBA286DF89FA57CACF6A1B +:105120008A723F93FC4E032F493ADC9DBEA52CD7D3 +:10513000CDF378F87E72F90EF25B815E79FF6AAD8D +:10514000A39B4F72B0FD87E4C7CA39DC8FB5E7D5A2 +:1051500074C4F39195FD347A00ED5C5D9F4A9E80A6 +:10516000A93DC90DFE19E885A482B8B8048BE1DB1E +:10517000A6D3CBC58B717E2FFA67A02F301EC83CFB +:10518000FF5CFF3711BF869E0540D2FECE5EE5C2B2 +:1051900015FAA91345D772E493B51E0BD9956B3D4B +:1051A000CB3DF3A0FE689EA422FE1EF5CF5B4976A0 +:1051B000B787DB8346FBDA57446A4F4D901B9867ED +:1051C0008FB73730CF1EEF3FAD2D9F7A597D991D98 +:1051D00034BF7F4DBDF9FDC72B830F237D0E0A9988 +:1051E000FDBC6B1BCCF6E0F02A6D25F65BE92DEDDE +:1051F000F17B9F546A8F60FBA37E3E1FE6EF195E32 +:105200001B51FE0D63ECFB8D0E2AFB9AFF26BDFFA2 +:10521000137AFFCD8D32953F68F45069C0FD9C52E2 +:1052200013C4BCC28FF0510FDFB537FCF71BD5712B +:10523000F1E86EBDB8B348B787F87D7097E295CBBB +:10524000B94563023FE472EEF01BDDF40D743AF4ED +:10525000E37B2A7F82F8CBB3901FB572DC29F2037F +:105260001EF52F9F857CFE7939E059E97D7DEBF5B0 +:10527000F5F5058756BD9F51770CB005E97E095DB0 +:10528000FFB6EA72D368DF3786E7911C83A15F41DE +:10529000ACDFC3D84F8C7D6F08FBCAD113DDE37E32 +:1052A0009A78FC5FE9FC8C7E6BA52E871CD7DF7695 +:1052B000711DB7F31407E97710575DD7027C6C793D +:1052C00032DD8B117B1EA4FBA6EC791991F87BAA29 +:1052D00000BE35B8DEC47965489D2B73A17FC6B189 +:1052E000CC42C014FBAF31DC4EC8D0F7811DF42E88 +:1052F000A87CD687EF676C417ECCAC31BF9F3A96D5 +:10530000CBE99543E6EDC77E9FFB2D11E6ED7D9D34 +:10531000B893BC9B4F108EFEA997DD2F95D81F2503 +:1053200071343FBE9E91501F90D03F27A1FDFA845B +:10533000F6A284FA9884FE9509F59B12FA4F4DA8BF +:10534000CF49E83F2FA1FD9E84F6A509F5074DFD45 +:10535000875E9893D6137D25D28DD10FED188C03DF +:10536000DB74FCF5468F8FF92B068C45FACEF1F7EE +:105370002779B333A347FB09FE3AE2E3F815D0BF20 +:10538000A77BC962FD237A9C3F70C21CE79F75C250 +:10539000940FE8E57BB171C2445755B5C1CACD48F9 +:1053A000E76E0BDD37919DA5C7E76AE1431877618A +:1053B000610BCF876BB764037FF2D450EC3EBA9D8C +:1053C000BABD686753D230AE606B8F521C42583002 +:1053D0004BC3FBC75A77834E80AE3788E54D74AE1A +:1053E0000BEF19063BA2A5A38DE20AF9D93605F702 +:1053F000710DF794527CE750D045FB4FD94EEEB774 +:105400001AF19C11ED3693FCCF4FF06B3313FCE097 +:10541000ABF573A78CD5FDDC62E6C3FDB7DD7E6E10 +:105420002FF759197EEEE355ECAAEEBDB2D530B296 +:10543000C36C6E1ED799B8A0815E4D3F2652DD56D3 +:10544000CDDBCFE9F0BF412CD88771A2751E1E2796 +:10545000AAF104294E64E0430741773C685D404D62 +:1054600047B966D3E341808730FA39ADAB381E3097 +:10547000BE4AF9330F8FBB65DB02B4CFA715ECA38F +:10548000E580977C0F8FD3B2880E5F810908FFC437 +:10549000B84222BC7B8B674A09F6426FF06F1AABA9 +:1054A000C7333359F1BF12FE428E83E0DB3A84C327 +:1054B000DFCED6517CE873BC47538DDD37D75AC059 +:1054C000DB8DFDC50812B47F1CB60E0DE3072D025F +:1054D000EB5AAEA25EEBD4F0FDE46C91E1FEE494F5 +:1054E000EA36161FA74CF19BE196A699E9383901D7 +:1054F0008EBDC56BAE148E3F1CDB4B5CF89F0C471A +:10550000236EF3C8D8E02F50CEA5875913E69CFA36 +:10551000CFED62FC9E15BE6F794D3E972B6BF2B9B5 +:105520001E32E2662E9D6E2B669E70C4CBBB165D4E +:10553000DEAE427B0AE48A4D0B505EC19A6F532265 +:10554000A88759348CF6A8A4EF6B1566D6D0FDEA6F +:10555000ABB3791EC288FB31B1363CCFC7F18AF9B3 +:10556000655BFE5C8DFA0D642A9E2B5D935F49712D +:105570003627D03D433F46E5FB1765F8AF273BDEB6 +:1055800099B0EFDB36D0BC3F52EA63BFE3DB09786A +:10559000F99CCD0D4B97F1170CBC58FDDABB63E3BA +:1055A000E2045781978F092F11D66483F95CB3C841 +:1055B0008C97D61A6EFFB7D6CCAB8C20FDD772BBBA +:1055C0002209E1C7F35142BC5E34F012D1EDDC7523 +:1055D00068E7027E9E453B17CAEC5BCE86E7E33860 +:1055E000B87F1CF920FBE8CA0A18A425DC155E81E7 +:1055F000FE1FF867C90380FE6BFE125EE5A3FBADDC +:10560000C85FB37D057804BB3775D3FF09DF8D7E96 +:105610005E1DF70B336EFE98A1DC5A5DE1E8A2FD3A +:1056200055BA7DA8E0CC10BFFE2E6A873ADDBBBC20 +:10563000EAE968C00B65EBFEEC49785F7D866A514C +:105640009D0ADA5FF24DF9306E7A814545FBAB7504 +:10565000B93CB506E3EA05928AF72E5AC36D51A408 +:105660008BCC0B69E0623136776C30B31CE156AB02 +:1056700008B8AF31A38659703FCAADE53C4EB1DEE4 +:10568000AA66237C36F493290F5E55AD6423FDAEE4 +:105690009FB4E0DA9ECEC7C7F0A3097A5CFCAACA21 +:1056A000C4F713C7B5B39086F0BEB19C6935D06E10 +:1056B000057F1EE9D9BD7AE0E0AD00EF96FEB71395 +:1056C000DEAD79A914F7C279D6C5F1DBE472F3BE79 +:1056D00005A59C6894293887FE3CFC42A5AA3F2F6B +:1056E000D0EBF9BC3EB15CE1714B4D7F9EC79FF79B +:1056F000058FABFD4EE2F8B794EBF76530C5C8BB3C +:10570000EE4D29354817E31AC1C988C758DC83E72D +:10571000918C380793E0BD94B83C286E7471E3F522 +:105720007236DA8FC424397B661CFDAF9F3873163E +:10573000D2C3FA84F3B9FDCAB93DFFB772C1B83715 +:10574000DD89FA793D68031CD7C0CFF49B46DE5E45 +:10575000037C59B1A0BE12F723B6BA75FE735B285D +:105760000EB9AE86917FFD79F57211CFD594B12037 +:105770009D0B2B611A95C5183986F257BABDF50BEA +:105780005D3E16E2927369BF11D96923C706EFC562 +:1057900075E7208789C81F6A93E4C57BEAA768FC80 +:1057A0005E0F36DD9A853F7EC1FF12E342CBF4F5F2 +:1057B000DC23069695F723783101DE7FA632F000D0 +:1057C000D6F323EB2AF19ABAC7ABB46F62FDDDB50D +:1057D0004B88BE6C3A7D0104292FBC7E8842E7F7D6 +:1057E000AFDBC6E3AAABF5713FF16BFF8EF3DBAE27 +:1057F000E3AFFEE3361BE6CAFD91505512F42FDDF0 +:10580000113880A56F8F7A00C56551BB5C85BFF3E9 +:10581000F14C65B015BFA7AE14F66118286E1E0FC7 +:10582000E378EFAEBDC344E7885FBACF9BF17C97C6 +:10583000813726053DF83C060F7E9F2993029EA9DD +:1058400071E7FC5BFBF58CEF467D1D9BCB8DFC3837 +:10585000936C5926BADB7C39BA7346340D635DD735 +:105860009F68AF44B935B2A36B3F4EA3E07047A524 +:105870000BEA2FF883CFE0FBF3A2AA0D636AF99D30 +:105880006DFBB19F01A7FCBC360B92EF0B7EED596F +:1058900084C7BAEAF5745FDFE7EFC11CBCBDEB0952 +:1058A000292F310FD746EB18F39E390F07F4A96D56 +:1058B000C5FCA11E1F8292FCDDF5A81F042A2D98AD +:1058C0005FFCBC9AB4265B5F5399DC939DDDAEEB25 +:1058D0008BE7757D613C2F32E21A8C758A59BDC702 +:1058E000270FC6E8F0A04E87043F2546E787E3E987 +:1058F0003CBD5A1550DE1878AD8FACBB61008C975B +:10590000BF4D29C2F8861A95AB1034F5DBD229DEDB +:105910007F54C7DF27FE4007C9FB6A85F23B6FA1B2 +:105920005C8AA3F3672AB537B01DE8EC1896C6F871 +:1059300089E319EB7B5D1F17F0F316F607BE3949B3 +:105940007C136DAB74717A7D1B9F2B4C21BCAD3BDE +:10595000CC648C23ECAA3E1BC5737E9FEFE0726083 +:10596000B8BFB312696A941ADD6F81FA887C85F634 +:10597000A526E6C98B0F9BE365403F1FE1F877E65C +:10598000856D7CBF7E9B8DE8FB0AED07EC996AA6CE +:10599000E72F2E2B47AF70DC41A303FF17E1A08454 +:1059A000DB884FAF783E5769F73C3946738EEB176B +:1059B000BB479BB97C267B36751CC7CFBFEBF6AEC9 +:1059C000D51F90B13FABE67ED1D57E0FDEF78C437D +:1059D000FB4C0BD0B908B0BBAEC1F1D23B8526ABB6 +:1059E000B7077B58D5ED6155F7B33D7C1F0CFCA57F +:1059F000A23F67F81989DF5DA5DB5B8FE871C5B64B +:105A00004685CAF58DF954AE6854A97D6DA39FCA29 +:105A1000EF36D670FB9905C9BE5B53C0E37F8FE0BC +:105A2000A64D8A5FF13CF5507698E26BFD8AB87D11 +:105A30003E71E661B2C71FF1EDA738613F5B1BC540 +:105A4000E3D7801D86FE211B182747F02ABB91A7AC +:105A5000B43BF53C374A046126F7AFBE3B88FB4FA9 +:105A6000B6826F8673E07B47C05F1240D7DB7DF75D +:105A70003053FC3F613C3BABAB7C02C70338215F3A +:105A80000C3D787725CA2363FE97E0C3AFFB4FBA7E +:105A90009F9A517DF9FCB72DA10EEBD6048E07928B +:105AA00067433FFE6D8FF146A9D662E2B37EA57CC7 +:105AB0005F4BA2FF6294691E73FF350595E4A7183A +:105AC000DF5959388FE2B2B82EC4FFCA111CDEC6A6 +:105AD000FBB6DA0479ADC5F139AC738DEFCAE29D3E +:105AE0008FA8BC9F11AFC2F8557CDCD3C8F741BF6B +:105AF000BA169C9FCC28BF6BD8DB2DF86FB02F4017 +:105B00001DB2F87D7456D93CBFBEE693181FEB2B2F +:105B1000EE66CCCBE827491ACD5BD2F3AB43D8096C +:105B200007C6C313E7B15EE7EF35BE79A4B73E07FA +:105B3000F8A25E5C237550BC17E05D139F5F4F8C2D +:105B40007FAED2DF7FCCAFAD473E1EFADECBB47F57 +:105B5000C6E00F433E18F031F281DD74C2F87CA834 +:105B6000EE8DC98BC7D3F9B9AD7093C4B6BBE9FC50 +:105B7000099D47191EB6CB78CE395CC9CFAB846D71 +:105B80000E19EFB57B2C3995F8B4E1640AF1D19781 +:105B90009670B015C6FBF1382FFFBD2841A3FDDF7D +:105BA000C325568DFCB5B2846D5D4EF10AB6C36255 +:105BB000B6837F8CF22919E386D05F047717F5E46A +:105BC00066FD77172ECDA3B29D962C5DBE811CDAA3 +:105BD0003D4E30F284BBC7C5E5098789819F237C90 +:105BE0003EB406B2F6D17B71F708C1773CB7F1FB42 +:105BF00030D87046FB3E9212FCE7C47B2C12EBAF10 +:105C00008FE3FA3FBB7B7F772409E17F6E07DFD705 +:105C1000CDA410EBE91EFA96C6FCE3D571F93383E7 +:105C2000DE3F181B3C82F3B53514E8FBBA4B69DF45 +:105C3000F283A3B5D7681DA3B50E5CDFDFF0201E8D +:105C4000949E3BF8BE86E5C9B7B3F8FCFD9F75FA94 +:105C500088CDAB3D09F9F6473B8BFAE047D5342FA9 +:105C60003BCC9FFC83061FCD03E6770ABF6F6D1800 +:105C7000AFEFA30E913E990DFEFF38CAEF68EF9982 +:105C8000E6F735BE8F6479F22D2CDE9FFBBC17B88A +:105C9000FD70C7E5E7D7D2A898F6791B70FBDB3813 +:105CA00085C72D1BF2689E52C3487D7E4C95CC76ED +:105CB000C2DFC65DC64EF85B9976611CC155EDC466 +:105CC000738DEC4736FAFD3A3BD3F441F87D22D68A +:105CD000004BC7F3EB36E49B5C3ACF40EDC92C4A4E +:105CE000F514D649F53494F8504F1DCFF9211D6FA6 +:105CF0007811317CA8523F033E0E7788CE99B81BAD +:105D0000646139F22D30EC58F88ECB3590DFE35AD0 +:105D1000090E8B1B0773D07C851D87FE2A9012D637 +:105D2000CF4338AB858BC9313E36CE8DD9C212E810 +:105D3000B2BECF957D4B0C075BBCC8BFDA2C9CDF95 +:105D4000303178EDF89218DFD8A4B087FF8E8999AA +:105D50007FC4946D64375C2DDF807D791D8EBF49D3 +:105D6000D00A5FC27965DB7AFC3DB0EAF19C4EDC7B +:105D700037723A6F9DC4FD9CD60A2E174AC7737FAF +:105D8000D63F9EF3FF18BD7FBF715A098E3F653C19 +:105D9000A743FB38AD6C7CBF587DF7586D747C3BD6 +:105DA000FC55639E51F2717A90A6EC65DC2E65DBA2 +:105DB00084383965C825A0A32A7CBF5B9ECA11829E +:105DC00083319EBB8AE315EDAD2971FC1FD0E76BD3 +:105DD000AC07EDB9F87C6977FBCD7A7B8DB97DCACC +:105DE000788B6E0F6A53F0FB9F956953C7933D3CC8 +:105DF00097EEE510C2B9FAB9184E07B4C7241BF3E1 +:105E0000CE8159D8CF39C447FC659489F0FEA4529D +:105E10009B3B9EE783783C36BFE7FC8C0DF3C0715B +:105E2000F71718F91E437F8356A47BDC7B7B3FF674 +:105E30009E41AF232D1301FEDBBD12D99DDB85C032 +:105E40001C8CB385BD9CFFD6E17E3CF85E3AEEC764 +:105E500003FE7E445FD73AE37C566112C5430213CA +:105E6000028B7723DFDC9CA42E872EDBBFD74AFB77 +:105E7000029C5E07D90BAB2A387D2CF3D6BC3C03C1 +:105E8000C6754F99E6C4B2DF8C3B27E1DD5D59B39F +:105E900097ADC23AAE6F3E7CA7FFD79B5FC6E79E29 +:105EA000BA0DCE99F03CFBAEAA348CCFD9585B002A +:105EB000F79BB057F8EFD84DF24A81787DBDA982A3 +:105EC000E3714305A74BDCC775B93853C4CAE95A17 +:105ED000AA0A2D8DBF8F6CED78919F2BAAE4F37EDB +:105EE000A2F1B0BC02E4B3CDF3DFC7AAF9F9433A9B +:105EF00067D42A81AB87F9F3B0430588B26B444D70 +:105F0000C1739DAC99DF73BBB67CBD23FEFB4F6BA9 +:105F1000D9FC3E6DCF113E4E58EAEA8CB3DB7E30A1 +:105F20005ECF33A94C457E95326AD22E377F635EB1 +:105F3000F8D77DAE00F0F144FD59D6E2A3BC7A0853 +:105F4000E3A303A67F41760553F83E9896F44805EF +:105F5000DA73CF79A5D0566AE7FB1F07045AE977B1 +:105F60006ED2EA13F6BBE8E74890B4789095EF7FDD +:105F700049D2BF97A2EF7732EC9AB5EE08C3FB4443 +:105F80003BEF7429740E3CDFBC0F667FF93C07DAE7 +:105F9000BBDBE139D2DDBEF17C5FEF76BFEA44BD09 +:105FA00092941E588D7994A4C939962640E53AFDFD +:105FB00077D9B6075427DEFFF6E4BCD03D88AFD6CC +:105FC000DAA249F8BB36DB363301EF31DCD656B9FD +:105FD0001AEBB689924CBFE7A571FC0DF3F0DF0711 +:105FE00069757438B2E1BD35B59549D7B9B09DEF43 +:105FF000ABDC260B35F1F7410DAC579FE1F68EBABD +:106000000A7F3FC35E5E2462BC2ABFD2A6C7F12EC0 +:1060100038F0FCE373214946FB6B5DF27792F0BDEB +:106020003C801BEDC7D6E3FD425B05BB48F77E57BE +:10603000EFC7F6349F4D417B332D64CE0F38721A73 +:10604000C84F3A8FF908C44742BEC0AEFFFE50E2C7 +:10605000BD09061DAC69641D2BAC979EE3F860BCBE +:106060009E57505921EA8D89E2C9195FC379D75BE0 +:10607000E83E8DE758644D29D4CFD74B44BF4FD667 +:10608000EF7EBD14D6B9F9A197D2716FFF53A1DF8E +:106090004DC1239F199AC856C03A7EB0E2CFEBF0AB +:1060A000F9D30D9FBF8ECF5B8575814A78FF9957D5 +:1060B00045B509EACF008174501C4D23FF27458F59 +:1060C000E7B4DA005F717CEA9FA0EB0FBD6C6D3C1A +:1060D0007C0CED9F48630DAD634D63804AB9A1AA66 +:1060E00003BFBBED70600EFA612C9CC69207C7F22D +:1060F000E02E91DD5481F71F4CD8FCB4C30934B9AC +:106100002F23A9D6A8A35D7FEC6860B21AAB7B876A +:106110004C7BE299B8F6ED82B63A17DA0B58EB1DD4 +:10612000D54EF48B0327E6C377CFCB27C202EEFB15 +:10613000CED8437647CA086EF32615060328F75CC7 +:106140001B2D44F7AE82402CAF4EFF0FFC18AF7FE3 +:106150007D66FE66FA3947834F2B23761A3FB5C614 +:1061600046FEEC3AD7FCC07500C7ED79FC77388065 +:106170009602F1FB815375395A3041DF4FBAD11283 +:10618000B6235D78007EA679E87A29FA1943BD64C2 +:106190001B32AFAD02F9FF7B16FA7DD44439628C15 +:1061A000BB7DE3D21EEF2B36E691F81DA3BDB4C232 +:1061B00088779ABF9B5877E4D46B77F9F8FE40CC88 +:1061C000BBD903F55A4B9C5CB24D7F90E494B15F10 +:1061D000CFF0A3C8E402FA4D6B4826B9690B7C9353 +:1061E000D5423F4F15BFCF830D0C86F11EAB543DFA +:1061F000DF3331C7A3A17F91A7E717D7EE9F6D517A +:10620000008743A490057FF760ED980E86BF9795B1 +:10621000E2EF62F8BB76C3CA3BE8FE759BAF239AF8 +:1062200006E3E46E640ABE57B351B538916F5F114F +:1062300019DDC3C9C274EE7ED846FE7B38A93E1074 +:1062400030399837F6D3EF62197976E033F2FBD321 +:10625000566895181FF16A8E2EBCFF6CD84A2E5FC7 +:1062600072CA199D8331F2C7C374D1336CE317D15D +:106270007A683F047280F6396CD6EDB7EE3CBBF914 +:106280001E95BC04FB2F4D3FBF9096F0FCEE0966B7 +:10629000BD12D17F6F51615A12EA31857538AEE374 +:1062A0007A95F5640F1AE50F1BF9EFB9FC67A38324 +:1062B000CA9D8D32FD4ECCA9460FD5BBAA2A1F9888 +:1062C00080F2F470680ECA77835FDF5D9B361AE94F +:1062D000EA4E31B21CEF29D8FD9BB7AE4D027EFBD2 +:1062E000D1C053532B789DF8F13FA3CF67D4AAB107 +:1062F000FACE63FBA74E8EABFF24EF00E5AFA89E5E +:106300000EFEEE5336BAD76005D4C1E4663FD6E33D +:10631000F1A3D659025B51AF6738E85EEEF33E99C0 +:106320007E6F41CA8079223F5F97B105F979B7CE78 +:106330004752600A8FEF25F22F92A0B13F9CE13EB9 +:106340008645D1AF7C7CBF69A6E752FEB6EAF0B7BE +:106350007AA4BFC4CBF7C713E07F9E95DF5AC97AF2 +:106360009407E4D71BF2404C713B51FFB734AE2485 +:106370003DDFED8FF5B315C6DB05D6D4D0BC9EEE60 +:10638000A59574FB657895B66342BF98DCECCD0E9D +:1063900035E45FCC2E0DBE80EF254B1119E3CFC93C +:1063A0002A598E3DC83D339F03AD53DEEA99361E10 +:1063B000A75BF3C854F283D7B41DA5FDE6DB3716FF +:1063C000AD767139D08EE3AEED0756FFA8ABA73797 +:1063D000A39F415F46DDA0B394A84D89A733A8478A +:1063E000E2E9CCA81B7466D40D3AA33AD2D9384E50 +:1063F00067AFFFC61609E7C5D1D91AA0B382BEE9B7 +:106400002C45E3F2F15F4D67EF4FE8D6F7FF4FE918 +:10641000EC17FAFA80CE98D6AF77F9F18F96FF0B8A +:1064200009361F1D008000001F8B080000000000BF +:10643000000BA5597F7014D51DFFDEEEDEDD26B9F9 +:106440004B9690E091066673E4C70151B618214A55 +:106450000A7B7BD14187B647AA82943F0EA423587A +:10646000ED5C756AC38C724B4230A42049415141A6 +:10647000DD844B8991525A6BC599B69300D3E2B42F +:10648000A37144261D9D4E04C7696D1DD14A6B67DB +:1064900052D3EFF7BDDDDC8F5C428861C837DFF790 +:1064A000E3FBDEFBBCEFCFB7E160FD75233E80BCB4 +:1064B000AABAA218D231FA5995A23F494487B7B86F +:1064C00053FCC746AC40BF09A040B214B10EA906A8 +:1064D000600280AF16C78580FD8CB1DF1B950F175A +:1064E00003B8063E8531A4BD4A345F41F9BD75C28B +:1064F0006A0BE9AD22FEC2F9BDA6D2EDAD404A530A +:106500004A00E467946E13F9D7560900B84EA43ECA +:10651000661CC1F69A06C1A271F24A81CDBB520730 +:1065200016B868925E38770EC062BE34CADD1B238F +:1065300039BD7B3DAA17FB5DC153A7B7E2F8E45C08 +:1065400011BC0A405F0260A006A010540116A05CB6 +:106550006B04B6617FA8DEABA878167F7204069044 +:106560005F18F3C57525B5AF7DBBC03269BDE3D2F9 +:10657000C5113CA78CFFC682D41915A27E1C6F6181 +:10658000BB9C3A7F559DF0BEF706A490D65E41EBCA +:1065900066F24B757F09E1041A686322C0138953C0 +:1065A00070290DEF423CE0C9DA89F7723962D4EB09 +:1065B000A5002AE8F9D1EB717F9D4D4590639C437E +:1065C0009D733B7C28193772DDF77E1D0F89728F12 +:1065D0001A7A23DDF335ECE70EDA4FF25C7C830B9D +:1065E000F102B3080AE6035CDA5F7433AD73AF6897 +:1065F000B5B810CF0EFD56353F0FE0A5F28B4D61BB +:10660000CE5B32E27062E057C56BB4147FFCFCE9EC +:10661000A66FA6F1BFA83C8308D9FC2C809F3FE75A +:1066200001B805E01EE44D097917AC3F89EB2CE970 +:1066300012A23D48A562D9A47D7C5EA7748B15C4C7 +:10664000074047DEBFB0B85B74911C819D538AAE92 +:1066500005C20FE09CB2CBD15F91D3D165001E5B28 +:10666000AFDCF0C0C017A817B20BE2B303D85027B5 +:106670005D1EBFC720F5EFFD54C4FB7607A48FD283 +:10668000F5E00759F7FB39347CDBE0DD5119F5B64D +:1066900088FEC2FD199697E975E16A8FD581BCE83D +:1066A0002FC98B21CE6D89766557550AE7B652CF33 +:1066B000D76369F8BB0BE39BA339EEC3D2B9FD2CBA +:1066C0008EE88FD1BD84AFDDCEDB69DEB5DAF9C2ED +:1066D000E44EA10C5BB7927EE5D857C4C6DD2742D5 +:1066E0009CEE2B1C6CCEBF88F498A45D578CF419DB +:1066F000D2BF9B26CEF3347F6778CBEC345E8A0121 +:10670000F9134FF3DDACFDAE95FAB3B45FD08A0157 +:106710006E9EDC0ED82948BF5702A36E4F7C432ED5 +:10672000FC7684F93EDDF9886F0EBC9648461FD989 +:10673000C7EB91683F51445C253F8078BF44FC0C17 +:10674000F0FECD4CFC6A870E0CAFC9CE215EFD1C5D +:1067500083F639CE649DE3EC0CCFF1E64CF4C66FC2 +:106760009F43AE0618C27380A4317F160EAECFA72A +:10677000F50F1BD13BC80F1F7BC30D3DA822BBD11A +:106780009F5D74E7D293B5C35B6ECCA5277766B4E3 +:106790003F99800B8D6E9223333A478AB98A71BD37 +:1067A000AE84C2F84389C08546B4BB7D0995D12328 +:1067B00089106B3F90D018DD9FA867F49984CEFABA +:1067C0000F07E3F713BEB41EC9997327CA4FF3032B +:1067D000DE809CC11737E23A697804360632FA0B3C +:1067E000EBD48CFE79F150065FB246CBE0EF5A193C +:1067F000FB9270571AEA33E4946DD133C64DD73EFD +:10680000E64BBA14667A032CFED5CC078B70F7865C +:10681000CE0DBB3008784B3C26F93B2897FE39E279 +:10682000C80F327D2AA079A84FFE709A3E9DD1B93B +:10683000BD3D2EF17B4C062485E27CB292E70367D6 +:106840002B9E1A267DD9D7190C52DCF622B6E4AF5E +:10685000BDB3D41E1AF74098C7A5649DA0517CFE15 +:10686000FCBCA861F003097C6C1FDEC0B9F3E9E74A +:106870001C3F8F327C7E579A9F6E7E6F9375360DCC +:106880009F60D857F26141CA3F5F21FFAC4E8ECF67 +:106890007F1231EB6C15E90DAE5735F9388F1BF3CC +:1068A0001DD483DECAA63B16E27ECD80A455A96C1A +:1068B000D9B33EF4FB148368FF7AA5C0F0F5D7AADC +:1068C0003D1DD8B66415F77FF78BD19B08BF7C8838 +:1068D0000F006BE7F8214EAB294E240F0AC0F2A639 +:1068E000867819E9DDB12EA30872D8A7435B138817 +:1068F000430E7B19F7131E88E58AEBF785791CE9AF +:106900003DB894EDF37115E222C6DF5E291E65796C +:106910005639BFC7DE06AD8CFCCFB17D9EF5749FA6 +:10692000AD837B40A5B8AAFAE0529A7E7C375CC161 +:10693000E3AE2FED5EF0FF51DAFF14F9CB34F6CF62 +:10694000F2815B075FB64C1F13FB673FE1CC9740BA +:106950003C639B482F53788345783BF85EABFC6CD7 +:106960007DCBF667F5F67DC1993C6D00D793505FFE +:10697000F3E8FE954C3CBC9D82E9CDA1BFD97AFAE3 +:10698000E3AFA8A7A130B07B44BB4ECCD0AE77DB41 +:1069900076DD4ED4B1EB7EDBAEBBF230FFCA717F49 +:1069A00003B6DD76F9797E56750E421545A9FEE7E8 +:1069B000C25CDF9B572A8C561D34558A33D3F5535E +:1069C000CE385C294479DC64E3DA5DB9F727185CDA +:1069D000BFD1CF977D8038F5865C9667094E1BC581 +:1069E0007ECCFF2A29D71353750B6A50D95A3FF131 +:1069F00012E725E471DDDE7ABB5F7678BBDFC7C7BF +:106A00003BEBBD6C9F37F93F91E191BD9F576DBC4A +:106A1000BEB520FE10D9F560D76D65941F252B7685 +:106A2000AB828F70E2FBFD97FA87AD109C1C274F5D +:106A30007378B8F1C6741C2C362F150F1B597F7B49 +:106A4000C5B29C71DDA1DEE677DFA1719EE67FBC59 +:106A5000D388799657C2FC9FE607A2C2265F0AA791 +:106A6000242D81F5D49B76BEE1E904DDCA817797B8 +:106A7000ED4F3C785FCC3847EF855728AF1620DEC6 +:106A800081B98227BA6F482C4CC92DB4E57AEEF44F +:106A9000BECFF4126226C509AA43FC53E87F61A564 +:106AA0002674E2FE168CAE13C82F551D1C8118A348 +:106AB000DA94E73D98809353F9F5123B6FA5FD8971 +:106AC000B8BFFD12B7919286B8703BCAFF242CB3B1 +:106AD000F3D504F8F94BC676AA6BD3D60383DF6FE0 +:106AE00029C9A94DC949DA724A3B8780E47C61CB48 +:106AF000F1931C9C5F4A726A27CAA9AAE7EB8086B9 +:106B0000FE792EF2525428CE813BC04E6E5FA8A073 +:106B10006CFF58B7929ECA5F8ACCAF35AFFC246633 +:106B2000D6921D68651FA01FEC09C394F971A1E1FD +:106B300072FC499EC1E27C1CC81F5CCD8F4C9187C2 +:106B4000161B3C0F2D31D2FC0BE6A1A5C6CCEA17D3 +:106B5000D598411EFA8AE3B7A7E97F5A3A5BD41663 +:106B6000947F7448D4BC14C7A4A1BBD6217F6CAB5E +:106B7000A0F5102F5BFB9651FFD6126DA79ACA5B4A +:106B80008FEADD4FDE8DFEF7DF0F0A9A89ED5F7B1E +:106B9000F0CCEBEB08AE1FBE9DB70EF9793FBA748F +:106BA000FB7AB63F5314D007FDB579C12FE91CF32A +:106BB0005DBE38663E784F3044F1EA33F29BB88FC1 +:106BC000179AAFBCB55C9DFEBEBB0A0AA5515C5FBF +:106BD0008C8145F9D6A182950394573CEFF7A89490 +:106BE00057805D9FCEA5BF5C1C2FD71C7AF70096FF +:106BF000B70CFAAB4D8A1FADDB809DBB75BB87C55B +:106C000093E74BD1D1E0FC6A299FF1AD0160F5AC6F +:106C1000173A991D3FEFB7DF6F427CDCFCDA212089 +:106C20003F369FF41FDB7DF560513E5144AB2EA0F3 +:106C3000B8CCDF2D0046EEA1FE5920681D2457D2A6 +:106C400055A98E28583B717C6BAD62DE87FCE178DC +:106C5000A126203EC5A0B1F9B04867FE5B84936CC5 +:106C60007D8047151647F32EC15841061E40EF059B +:106C7000C147051B8F1B4ED37AAD7B381E6EF9C4FE +:106C80006B2390850BE1B0A7FA24C5F79E6D3E8675 +:106C9000438FDFA3ABC46FF7B1F3F5548DD7333215 +:106CA000E5670FFB3FEBDEAAB2C91B48FE61173F49 +:106CB0000F1336877072F056A4EDD4BF99E729AD53 +:106CC000586F6CA922BF69B2734892B69EE64B8892 +:106CD0008749B4B9E102D5C1EEE6DB1805A37330EC +:106CE00086ED2EC483FC2AB3A865763EC47E292691 +:106CF000BD8BE551BF427910C7C707438C16C265EB +:106D0000461550188ED978220CF6BB8983A7E84A1D +:106D1000C7D3733AFEC208CA175B24E8C1F3994689 +:106D2000FCD808D116AFD25A42F8EE60FDCD92AC35 +:106D300078717F4F1941E64FD08F2CE772E34B8873 +:106D4000AE32F427B93FE0723719FAA174DEA1130D +:106D5000E25FE04FE71BD3DE0B764B5A1EE5E307FD +:106D6000D6FC544E7F9770E2A2C3CF0EBC719EE258 +:106D7000DD51EA423BBAC1BA6C50AA54635A2D9411 +:106D8000BF5527B9BF5DF45B4E6B4E71FAB221B2AD +:106D90007D1C3778FC73F8C5ED9621E3BC8A24F797 +:106DA000E3CEBCC5E3F3DC6CDCBBF6BC770D8951EC +:106DB0005770ABF12CE274E2775C1FE5DF37B1FC72 +:106DC0009E050CBCC745F427D367FEFE793DBF6224 +:106DD000903D97593D6091DD903289EF9DFE3ED9FF +:106DE0005B4004F21B21F3A4A1D2FA7D9D868CF2B4 +:106DF000171D01A598AE1561247B558FA3E345BDF2 +:106E0000ADD975523090AFD6E5CB3AE9CFAFF9BBEB +:106E100027EAA68BFCB83A2A327B0D1E01CB227BD7 +:106E200037ED7EE07EB51AE22DB46E45BD571950A0 +:106E3000E87D36AD9FE4DBEF653559EDD979EF0597 +:106E4000C3CFF3DEE5B09CBDCB891BA78CDF4EDE44 +:106E50001B324160F96D9F6055D0BBF18B17F3A9D0 +:106E6000BE108F5802C511D85BCC8CF8445F74CA31 +:106E7000BAA9DFC6F1444266F4784261FEE86222B4 +:106E8000C0F8BF2554C67F980831FA514263F48395 +:106E900044BDEDB7B87ECA2EAE4F57AB1BBDAE1882 +:106EA000ABAB60AE04BDE487D53A36CFA9FB5EEC50 +:106EB0000B0AA40FFD0D6659536DAE3A84C7F9BE97 +:106EC000DEA9EBA99F51BD33C53EAAA9DEA1873C2F +:106ED000E8EC1E4039FD7D9B055ADFA9FFFAEDFA6B +:106EE000AFDFAEFF26C81F5C28B0FAAF1DEB9DB424 +:106EF000FABBBF4165FA59F37466FDD7D35DBD6136 +:106F000011F987B744CC51D84FB91BF5BAD5768D56 +:106F1000A9BA4DE9267F5816E1F68275725924AD5B +:106F20004E9EEEB9D4332D9B28DF0172D673277F96 +:106F30003FC88E9BCEF8ABC557E7BEB3FBAFFE6E26 +:106F400060B2EF247DF6BB489FF590BCA936A5073B +:106F50002BEC738FEBCB84FBE7EBB7573CC2F4E52C +:106F6000E16E81BD35F48DBFB33CC2EEADAFBC5216 +:106F700060711EED69732DE1A60F537CD9F38D78F6 +:106F80007E138E5B1FA9607A542DC5F3E95EAA8734 +:106F900044815C4475F36DECBD15608B40FE397B1C +:106FA000FD6AFB3D069E9EFADD656DE4ABD5B3DB65 +:106FB0002290515F573BF5F5D359F5B535BDFAFA37 +:106FC0005EDACFE299EF67F2FB8CB3FB3C66E3EF4E +:106FD000DC23FE8C52DE3FD93B106E6480F8FC72DD +:106FE0007569479A5DDF2F2A197A385D7DDC35494E +:106FF000FDBB2BE2B2E36E398FE38487989A570783 +:10700000DA08E517DEA84763FB30E226E18DB3E23C +:10701000943764E7F794317C8FF2113BEF70438C27 +:10702000E50BB29DFF4D3FCFD0ECF8C6EB0A8006D2 +:1070300096A7435EE6FE1CDA46DFA9D2EE819E0FDC +:10704000A9CE9177C485A634FFFEAA7DDEB684EC76 +:10705000A2F13503DB4045F99E12CDA5E3B8D9F680 +:10706000F72DB70AA709FF0381600FE5AFAB461301 +:10707000F94DD7A7E61F082CCD03964F344D198F35 +:10708000DAECFCD519D77644D0C92ECD351EAB0A23 +:1070900045B549513957BD762AA266E4259E1201AD +:1070A00006D2F415F5632EE122074345B9BEB38C31 +:1070B000E320BF7D9D949607B5E5C5CB347AA773D1 +:1070C000E7D6873F463CFC7C93E88BA3878F39F655 +:1070D00067E3DF617F7F1BFFEE56AEF6F0EF6ECD0C +:1070E0000AF997B723AE0CBF35E17B5B79E6F7B4BD +:1070F000C591E83B111C9F57B1AC68B33AF93BC549 +:10710000C786FE9708DB07CF2304D30563A46782F5 +:1071100036A423CE585B68F40D57CEFAEE0AE9790F +:10712000873891FFBBBDDF0975AD8EFEAD3097DEB0 +:1071300067D98F6F9ADFA1480FDDA4A79781EAEC8A +:10714000A281FF327D2CDAAB0BA48F95B61E3BFAE1 +:10715000986C0832FF907D1FC90683E537C9CECFF2 +:10716000CE8CE1B82B0D8225BAAEAE97C94E5B2FFF +:107170001BB87F9A4C1F5FBFAA3EF2F358F4279EBC +:107180005BD938C7851918CC1AE0EFC0B21ED3E915 +:107190003CB324254C755B7B4568694B9A7F3D7CED +:1071A0008B51DC58CAFA5DE42F67A9DC0E99A7A1C0 +:1071B0003AA5B1B8BB232DCFF035F238D8D5B87485 +:1071C0004AFBDB9D880E917F7E22A10FE5F2D35E04 +:1071D000FB1DA66BC50EA077B6432B7630BFDB3EFA +:1071E000AF3A48F1B1AE31F37BE4E0BC470223385B +:1071F000FEF18ADD01C2BB7D703BBBAF7179F63910 +:10720000D1DFE902F9CD76EEBF0B573C1AD8EC9BE3 +:10721000286FFC1EB3F4E9E67ABD8EF0E8F275EA59 +:10722000B49F2E5404CAB3BA4CD76AF67E632ECDEF +:10723000D0AF40A390655FFC3EFE0F5DA57900E0F6 +:1072400021000000000000001F8B0800000000006B +:10725000000BFB51CFC0F00309DBF1A3F217A3F140 +:107260005B7951F98C687C0D34FE1A2E54BE119A4C +:10727000799168EA49C51BD918187602F14136544C +:10728000715506082D0CA55980B422929AD3CCD8FA +:10729000CD2B5480D02240DA03888B80788238034B +:1072A00043AF2403C31320BD409C32F7A2E3365101 +:1072B000EA9A378A49C3A6AAA8FC0C03068639862F +:1072C0000C0CCF8C207C1D24F97F40B14C03087B33 +:1072D000871603433590AFAC8ADDDC9D40F91AA0D8 +:1072E0003CBF317EFB2F5BA0F203D1F832AEA87C0D +:1072F000663479B56054FE925054FE9B30080D0000 +:10730000264BDBDBE803000000000000000000006B +:107310001F8B080000000000000BED7D7B7C54D526 +:10732000B9E8DAAF99496626D909933060127642F6 +:1073300080A00127902020AD3B21D0A0A823A2A5AA +:107340001670406AA98A0E94D6E041B3F30E016D1F +:10735000F0A0A2200CF141A46A530F28B5F5FC86D9 +:1073600047A95A6E8D965A54B0033EAA1EF1447A2C +:1073700014CFBD58CEF77D6BEFCC9EC904A2B7F7F2 +:1073800078FEB8F1E76FB1F67A7FEFF5AD6FAD71CA +:107390008A13993682B133F8770963FB05C65845DD +:1073A0003C35AA0251560EE9241668844F4F88A135 +:1073B0003496C39847EDD6B10A53232CE8654CF2B6 +:1073C000848C3FF8184B63AC57CAC202A6B35CC6A4 +:1073D0009CF82F8D31590DE9D84FBA0E75CB185343 +:1073E0007CDD2C540A29DBACBE7F016322747966F4 +:1073F00008563618F66F54C50C29715C3F8D3BADAD +:107400009BC958CD658DAB0957C0B83946E2B84322 +:10741000FAC6D52A71DC5C1C17CA87FA8C7A09BEB9 +:10742000CF9A172AC2F50D9B161164C8DF33E559B0 +:107430009A8F17E7E3A6F914DBE75338EFF6AD317F +:1074400018E7334366EDD05FFDB7C2DB312F1B4E2B +:10745000B5C187F30D6F8DE17C1D2EB531C0D8030A +:10746000EE0C86E3D61EF1469C00A875758C45C7C8 +:1074700030D65EE76251004A5B9D4AF9963A3FA5D5 +:107480000048E32750FFD45431D20EF5651FD3BB1B +:107490004B6D69314F0D26105E66B1749AD74D98C9 +:1074A000CFC1A5065CC171B00ECF9C4C561AC76700 +:1074B00072EA0D882C5A42706267E07F77493A8BF6 +:1074C000BAE2F9342D3B21EFF40F4FA8CF581EC17B +:1074D00087F212CCDAA41359D65900E729C33C3DF0 +:1074E00000EBCCD9FE1B6DF398C224AA274995E185 +:1074F000207C6F12D8BC6E5BF95E843894FF89B92A +:1075000028BDE4F4950203B836FA58A4BD10F0EE95 +:107510009D6344013EB0DCF02815529FFC71CC9A6B +:107520006711942B5135BBF49B8783B5BE4B4E5FDF +:10753000E29A332E3EDE36136FE95E3118F1E03CFD +:107540002341A48FC61259C4F57D73F32DEB45B8C2 +:10755000CA431C814EAD3F5EEE41BCE420FE5C940C +:10756000025E88AE2DBCB47B385E804B52E2E53AB9 +:10757000A652BB7639E2CA36E1827CEB453810BEB2 +:107580007A8284E7728083F00DC2A1B16A5E10F046 +:1075900022B300C14351474F688722D13D2D50028D +:1075A000F36BF68E2E92048403E7B7C67A711ED26F +:1075B000B935AFE47527C3F1EF26FEFFAD0F8E1C82 +:1075C0000E6B3D620D8743770DC1A154FC46E1600F +:1075D000CD6B1DCE8BE8345A43F80E88DF2C9DBA54 +:1075E000F579A9F8CAC2C7DD7D70ECE1702CFF9F68 +:1075F0000147771F9D77733A2FFD66E9DC9A575B49 +:107600001FBC0C0E2FED9B8197A55F992B300FE7C8 +:10761000B15475684867374B866311CA7BB7C01E83 +:10762000037D8ABCC786011F7A1A5ED734C6260935 +:1076300069BC9D343F3364E3C3A5601CA813206577 +:10764000EB7A2450C12CA2F4DAF9B2F6C8ABE3F716 +:10765000DBE65324787D349F8BD845389F93B0FE6A +:10766000281B78FD1FD5F596C8A3404FD7F58CDFB2 +:10767000AFF42FBF596261E47BE6EA76D07A5677A1 +:10768000A4B597E1BA465777C07CBE2570FE671E49 +:107690001F122FBBB9EBD312D9369FA51EF1983319 +:1076A000C5BCFBE064B50373C299DDBFFD40ED3698 +:1076B00008A14A01525D0ED6144217AE3C16680767 +:1076C000383ABA2AA3C359BCDFF8BC41669BF366BB +:1076D0001929E6E91BDC3C0782A355EFA4A7A18585 +:1076E00041BB4625F0A206F86ECA11030D2C3EAE32 +:1076F00085770BEE8D9E865C3BBEFBC15D5A3713D2 +:10770000E7FF19334AD0CE84FCE8A5F0FD0EA4971C +:107710008A14F338077DDCF8DF4C1FF502B77FBE13 +:1077200001FA68162AFEE7D187522B69EF821D5EA7 +:107730002877905DD75C3CC7407DF419D0000339B1 +:10774000217594D1FE04E614788C0FC344D4DFC5B0 +:107750003AD927E92CC0B09D531313E492EC4F940F +:107760005BFE791D51AB5F5CB752EBA071713B8141 +:10777000F252F6B0681AAE8739489E21599E19898F +:10778000FB9BB5AE221FB523780DB41E19DBC17863 +:1077900002343C5388EDBE9F191C77B6F5278EE363 +:1077A0009F1BCCC4790CB63EF3C8DAFB36B80FDCAD +:1077B0004E66EF5B7803FADE6BEA090BFEBAB69809 +:1077C000E4B28B8901DCF734FA7F6AE0BEAA8571E6 +:1077D000BE5C63A6AC389BF0B941D0A89DE407FC21 +:1077E0008FC759CD8C627DABFC5CF82E34F9FD0659 +:1077F00031F82794579D39AC431A1FAFA7385888E2 +:10780000F8A7692ED5EB5CF3D3A800F353EE50CB69 +:10781000705F57286BE95779EDFD36D07AB6D645BB +:10782000D83B0AEE3BC3B4CF1BB13AC8508E14D438 +:10783000F60A9877E6C504CC5BE516DDB1264EA7BF +:10784000CD6DA017B1DCA5892AA4451D850DAE0418 +:10785000BA0BB2B930EE08C6F5E35A48CFD00639B4 +:1078600042E33B6B13E9AD8FBE9A06C707B7A3DCB3 +:1078700080714FDDA53BE6C0FC964467398A807E67 +:10788000B2456E579EBA8B2D45B81CAFFB82BD33F7 +:107890002ADE3E47CCA5F64BD6553AA6DBF4FA12C3 +:1078A000C6F793600138AE1A671FAFDE943FBDFB89 +:1078B000CEC0D44EB649C44703CDEF06FFBF8C9768 +:1078C00027C6F3EFB4496457BC03FB40E4A777DA5B +:1078D0000A23468AF6165CE2FD3C4BFD9CBA5377C0 +:1078E000A01D7EBCCE2520BE709D1AC075495BA52B +:1078F00043F79C7BDE126C5748BE98708B98FD9CBA +:10790000BA3326A0FD5810FD50C0FE0A8C58A54E73 +:10791000FDB028D277C18B433A719D979CFEF73416 +:10792000B42FADFEACFE355CE790783E52CBEDA7B0 +:1079300008AED387796D50EBD4709D36BF421F9C43 +:107940008BF9BE7F2038B7D4758F9753E8132B750A +:107950008CE2FB4A8712A27DF0B9E6E1F4437F3660 +:107960007AFCBAF3682DE6706895C3AEAF352EC0C9 +:10797000A10448944C4180DFA922A6D7A03D9ACD0E +:10798000089E209F4EA2FE104DB926BBAE60AB27CD +:10799000C4FB9354284FB02F797D4B9E597076A12C +:1079A0001E407F91AFE5539427922FDD40FB50F2AC +:1079B000C9EFC792E6437AA7400821BF355AF28D36 +:1079C000B1FD32FA7BB4C023089F65A2C39493BA79 +:1079D0005EEF4339C7C2ED01D2A3CB44F487A85C64 +:1079E0008E58FA43C92DC9A4BC27B51CDC52172EEA +:1079F0009547F587DB1685EF23D9E9AB234ED46B8A +:107A000062C9721C67A07E92E546637ED9E110FAD6 +:107A1000A7721C24A72C7B2A793DADB89E1CBE1EE4 +:107A2000B4BB6DEB691573FAAFA7D13BDA5C4F6A53 +:107A3000F9D584EB51FAE3BF09D7E319B85DF2FC3D +:107A40002D3DE32C66865D0FACC917783F49EB5896 +:107A500033CA813299350D0B3C826BED34F194DCE5 +:107A60003FACAB33159E5AF3EFD71B60FD2761FD8A +:107A700012C2D99F1ACE69AE9F96A2BCB2E6D92D8A +:107A8000723F477A1F7CC3D49FB3DA41F3DE20866E +:107A9000BA713C67490BED4B9C791DA47FDCA5B006 +:107AA000AE0B615FC575095B9FCF22A5E8EF82B180 +:107AB00051BFACCFEF790AF3508FA9B6BC358FF523 +:107AC000F9EA308F8DEF9A67E4BE81749296C7B45D +:107AD0003168674457319477CE3C5827A469724F78 +:107AE00054C0B1CA59E1631AAE234AFA13D8A3109D +:107AF000E9C39DD7CD2AA1BFF55F4A1CBE25E5B4D9 +:107B00001EABFF9F8BDC1F948CA7D1B8EE14707A4C +:107B10007A003C3DFDAB443CFDD9A4BF1478FA7318 +:107B20002AFA7BFA5726FD6DF425CCCF4AC7B87EDA +:107B30006CE22791FEB63F7C635188CF87FCC43E40 +:107B4000CEFAB8CDA4F93BF3820F227C24C43FA027 +:107B50007483BF4B43E173BF7F7215CA20679E26B3 +:107B600062FBF7BCA18F445BBFBEA04ADF2D7E9DA8 +:107B700021AD4E3B0EF907E617652E865495849489 +:107B800074B8A30ED6067CB2A9CE45E9A9A3636852 +:107B90005D03CB5F566A97BF2D5D32C9DF167FE765 +:107BA000BD97A29FCA573C01C59EEEDFF6D04D6837 +:107BB000B7F935F26309E6F8004F41CAB1C925D3D8 +:107BC000DE49D37B74B46B24D6A34BD0CE0F764D55 +:107BD000D4848D6C8393B75CAF1F059991E8E75708 +:107BE000090E6EEC4F0A6988C17E707860BE488DC0 +:107BF000572C1ADD29D9F44A48E274C44A39FE9850 +:107C00001CF0A7B26F2DFABA17E0543A0AF3A0C7D6 +:107C1000413F17D4B008F2D583F81DE0F192183C2B +:107C20000FE751501BA3F1B70B5CCE08CC25FBD05E +:107C3000BFA9A9DB90EEEEBD34DDA43B751BCE677A +:107C4000B4240E241F464B29E82E6D896138806FBD +:107C50004E28A1F3B13C47086521B164D744899F00 +:107C6000DBCD7161DAAF217D8D1058FC0FC61D1E72 +:107C7000D0C8CEB842E27E2B9FD65189745538F9D0 +:107C8000F3CA1FC03CDB421E1DE56E76BE965584CE +:107C90007CFA2789219F16CC7DB47E06E675576F46 +:107CA000A61FE11CAB9C01FD79218F7818B2546DA1 +:107CB000C0B396B63A46E70B505148B5BF70390C81 +:107CC0003FDA5723B41B67E3BE4D28FA628F13FADD +:107CD000695BC302D8ACA82DCA16C338C3273B556D +:107CE000947FD985861FFDFAC396F0EFD9BA2B8809 +:107CF000DF5DACA3D285FA5936D8D5B6713C5A6847 +:107D00001903BC1C554257481528C70C825FCE3555 +:107D1000FB093E1B951EA6E239CBB4A88EF3D8F121 +:107D2000440B5B64DBCF5F6FD205C83E3D521AA7A0 +:107D3000BF0D48D40087FBE755A5FDD083F5D209D8 +:107D40006F0A6B32E9D66022C203E95623BA5C8817 +:107D5000F8290C06506231A95CABC22E801F87E265 +:107D60007C362AC6306CB7F109C7BC08C7D7EB6CA4 +:107D700012B41713F1E5D1F447115F3992C2E5FB54 +:107D8000ADD1E8C3F07D28C047033878E71E88BE30 +:107D900080FC32DD159427433EB6277A14E07460E8 +:107DA0009E1B3EC23AC29C9F724B5840C77904F456 +:107DB000FA428D7AD770BE439630B2B7B2E7F71861 +:107DC000A82E016E3FC1790F2F3138FB6951A2BB3C +:107DD0001639FC973BA17ECB8B52C0D06C7CC38004 +:107DE0006F6CF077FA413EA4B067ACFAE7D2B7F116 +:107DF000FD2ED75B96BD00FCD5CAF981F3D760F59F +:107E00003733F47DC500D7CBFB80DA231740D3D9B5 +:107E10007E89911D53AEBCDB67BF917F408EE70129 +:107E2000612756EDDBFF309E2F4C71AA8FA9FDCB49 +:107E30006763DE5A2FE0E91993AFF6EEFAF368D4E0 +:107E40006BAF049C1A9EBF1D147ADEA773CC4A49FF +:107E50007BAC90CFCF3509DB33BE69C699631E700A +:107E600086C2ED155DD2ABA17D4FB910C172273B23 +:107E7000D67431F607FCD60EF3E899B6EF4826E43F +:107E80002F17D8725606FCBC5B329CE3FBC361F62D +:107E90004EE73184E36C5CA70D2F57FCC6B66EF835 +:107EA000FF65244EA0E7BD47875EBE09C7619941C3 +:107EB000D4E3AC7A257B16D2CB27F37DD82BD57FA4 +:107EC0007C9FD13C040DE7F5CAE43FFA705F5AA9E4 +:107ED0000BB48FB9629A1071A6581F7C5734A093C7 +:107EE000D9FAA7B40EF8EB7502BD9E3AC6D7755005 +:107EF00064BDF5B0AE2B77BFD374318CA756713902 +:107F0000D36F3DC9EB989698EFC37B352B9151EE1B +:107F1000B2F400CEFBB01C7A95F8F1C9EF18D3711A +:107F20009F1165BDED647F8518D7C7BCDDAC9C256E +:107F300074BE247B443A378594F8F0641EC87BB441 +:107F4000677C624A38B33C070A251B1D0DE0673683 +:107F5000F53E15011F557E2153FFE901CE875E16C0 +:107F600023E59F8950033AC8629AC037270101F977 +:107F700082B169745EED4BFB47F73B9FFA15F4F550 +:107F8000EC8CFB2BF42BC7885EFFE1FD9E63BE6982 +:107F9000F1737B9FFD9C7C0DD83178E8DF58A752A8 +:107FA000EAC48800F4AB95F2F3C2D63A3F0F0A90C8 +:107FB00077E928FF3C01878672C0ED89B242A8F7B5 +:107FC000EF95AE5E949B963FCBDAF7B94BD8311163 +:107FD000F0EE0E3812FC28AE3CC7A0CE179A7346BE +:107FE0000F3D9B5D85945A68DB370E54EFFF75DAC1 +:107FF00008FABBD066DFC99EA2385D9F657DD2CAF4 +:10800000106344F74166D707B2C8FD658D9EC52E43 +:10801000B2634E9F39234D32F7DB0CE32782935333 +:10802000C165965C986017296ACB7201EC05C5BFE3 +:1080300044B7F3FB65188C81FB65FF2D7A6C1078D3 +:10804000685382F316E17EB48205D0AE59EF5EC864 +:108050008EA19DE85E48FED7969CDC422EBFB8DF1D +:108060008EB93C24C72C3ADD9373AD3F06F59B8750 +:108070005DEB47B9D7AC04FDE8D77931E759DAB7FA +:10808000B69CCE64CE00DAC3456447B79C1E393433 +:108090009C627D6EC6E5453AE37A8376BC36BDD2F6 +:1080A000E2175D389F93A55CEEAC77FFAB8EF128AD +:1080B0000E4D0E63FF0E4F90ECA89AF26E1DD7E3A3 +:1080C0000879424EB57F3FD638F027903F10EB58E5 +:1080D0007C272494A79C47FF7C4847BB505119C973 +:1080E000D5E472C59561B8C7A35DD4F75DC5718B42 +:1080F0000F8E237F33D6D7D00F0D1201F92A4EFFF2 +:1081000091047C33558CF76BF3DBCBCC68C3FD91CA +:10811000132C1BE4DB64B8B638B81F92C9FA3C8450 +:108120005F93903D01FDC603D1BBEC6F237F0CC074 +:108130002E8AF4E5F4CF341CD80EF65F434854ACD5 +:10814000EB11C653FA29ED9B55F9233BFD3D24273E +:108150009ECF347A8ACEBA7F6A06FE6263062E57B5 +:108160001C815090F451F830DA0F321B4FF397F323 +:108170000E1C2E8479FC5CE6F685ECE3F61153E5E3 +:108180008FEDF64B40D47F2EA35D9ACEFB49EEBF18 +:1081900052ACFA05965F21EBDD72450A3E19AC5DE3 +:1081A000C5F40C2197D32FFF8B44F1DC4332F70F3A +:1081B000E98100B9960F809DCA40CF83363E8EF389 +:1081C000D4E13F8ECF007B14E908EC79B46732A686 +:1081D00041B9DD3F5D3E8145A1BDBAD813CE9C8C2F +:1081E000F4C4DB5B742A25E57F8F78B8C08687BA34 +:1081F000DD097E6889F1B8A0E4F57C2654BD9A1AA1 +:108200000E83F36F39CD7D3BE0AB0DF185F167B89F +:108210009E4D269E1F30F5D17A531FDD6DEA9FA635 +:108220003A8DCAD7D69550FE677501CAFF73DD64D3 +:108230004A1FACD3297DB8AE86D2FBEA8254CF3137 +:10824000ACC985F6CAA661DD0F0A68BF1AF7571DCB +:1082500084269BBCDD6F30CCB37B791E8DF9E18C1D +:10826000FD4D5E5765003D6ECAEAFE1EBA889E1A35 +:108270007267C37EB0A7378DEA7E4380FC85CDC68A +:10828000DE2698D2A671BCBE57D95A6560FF69A692 +:10829000DF2F6FEE39E0C0E524EA0C4C37E598FBA0 +:1082A000CF41B61B8BED008E9B0ABFDA78697287CF +:1082B000CED7FB5CD5213FFA91F8FCA72B8FD1FCE0 +:1082C00049544D057B51D9DE40EB1F67F60FFAE9A3 +:1082D0001A9B7EBA4451F8BCCBBEDABC2BCDF5BAA2 +:1082E000A6C568ACE7E4509E02F9CCD21E26026A0D +:1082F0003DB3BBA3241EF306B7EF69C120C09C7831 +:108300007DC792002B824F53F07B45FC7B41AD4EE5 +:10831000FBD9F34100E3F7FBE656B9B8FDAAD3F960 +:10832000E404F33BC869B2A7E497B8DD1E50B87FF8 +:1083300030B93ED633CAE3F5069CA77A0EFB769099 +:10834000EB647290F677F9B29AB0AEF4A47C9A8797 +:10835000F3EB60F1718B898F0FA5C47EDE96D40498 +:10836000B89EF7A4C826036BE7DD62D32FF0BF7F6A +:108370007E7A423EBB3A3B219F513E3CC10E52D4D5 +:1083800044BBC8537A7E427D75DA8484BC6FF6D4D0 +:1083900084FAC39754259417ACBC34A13C77EE9C67 +:1083A000B3DB5D8384F799A4F5FF47127C06DB8F6E +:1083B00033BC9C05A0EA824312EDEF6A598F321458 +:1083C000F7872B05F20F613D15ECA4F97C8A4C5C14 +:1083D000B96706EADF058CAD7066412AF728E8EF39 +:1083E00098BFD299603F5BFDEF890D69580CFDBFC6 +:1083F0001DE6FD434A76FBDB06EC7F217FFD9DEF0A +:10840000DC7D11941F3D240570F94759CFE598375D +:108410000CC93CFFECC947BABAC6F4171C33FD506F +:108420006F9AF1AE4CEEC99F03E56F2A91055C6E21 +:10843000FCB1EA10C8C937D37AF2315FCF8E553517 +:108440004DC5EFEB5ABE635BC7E2B0A0A37F460FFA +:108450006A2DFE72B4F70313DB35B310ED2E35F041 +:1084600008F2CD26C561C631E89B500EF88B8367B4 +:108470003D5F3F52C7E371ADFC4F94D0A3D86E71FE +:1084800038CB8176E5E2B63D0AF2E93E936F991C5E +:10849000A1F51D152C396654E2FEE5CD3F0DE9B47A +:1084A0009F97ED5384043F76F2388BC27B38DE6EA3 +:1084B0001102E4CE7445F217DAE6B957C9E071D774 +:1084C000CBF938C63021218E70B7D9FF3E85FBC964 +:1084D000BEC63AF7A45E2733E516CBC075BE5D7BFA +:1084E00003C1F733A00774A9BC74ECAF0ADADD6CE2 +:1084F0006E4E823C58DC2425D0D3F797BA13F20B8A +:10850000C35767A68AD7E9A36FC319DFBFD9ECCCDD +:108510004A8CF2467FE35CBE6F644971DD3E161201 +:1085200004F83E9419F5383F2B8EDBB263CFABD6FF +:10853000DE807FB146EFB5C3B8FF966932D0553EB5 +:10854000FE8BFB998C986597037DE607988EF11D4D +:10855000F9F1EF64D70C5B2A27F8698604E5047FFC +:1085600087B72631EF4AF247F5C90173BDF732CE1E +:108570001F4C8F6888B775DEA81FED808E8CFF6C4E +:108580009805705D679DF7D5DC6B9DD381EC63AC7E +:10859000FD9AEAC752E907B294511FC70295C8DF96 +:1085A0002E16D8837E175F31F7DF7B0A8033C91E12 +:1085B000EF71615C9F2FC8FDB1E9E8C48679894FEE +:1085C000EA69388FBB838BB3B03CCD08B1B6725C1F +:1085D000A71889147211E842BFEA5C391215D02F2E +:1085E000DB114538EF3DFA6757CC4697567B56C3AB +:1085F000ED36E097B3FAF3F5F24A76838FFA0FB7C8 +:10860000AB1CBD8D3EBEBF42FB550EC8143FB441EE +:10861000080D75A438A7B3C639A7BE1B64BDC2C96F +:108620000EA2B7E62302D15B66416F08E3A0D8EB48 +:10863000DCFF6E54050E87D07F38DE41F7113226FD +:10864000F792FFD679C4AD4AE4070F5F74B597EF90 +:108650002FECFC762A297EE535213401D723E4CEA0 +:108660000BE178B71F17C83F99398DC7A3648CE118 +:10867000F161F32E9ECFDE2FC5739880F13E7C9F73 +:10868000EB90F83E3FFA3D3ACF537ABF4DFE7385EB +:1086900095F1D415A07481839F675C69A6731DFC56 +:1086A000DCE73D6F487740FB91BA5645F727AA545F +:1086B00011F11E3FAF2ACD3C6EE3D3CB1D8972ACC6 +:1086C000B58E9F537D111B49FB2B45837DF185FDA5 +:1086D000E1E9747D7E01C537F8BA2F7CD7C6D70B88 +:1086E0001C5CEFAD5DF5AC1FD7F917313407E7938C +:1086F000A687759C8F5C1C22BCF6D5F3F27A0AE043 +:108700001BFD4F1917CF8E227D349BE7B260AE342C +:1087100029442F8CE4934517402F0B1CB6795BE757 +:108720005BF0F731CA0F079F125B3BEE4657AA7DFD +:10873000E21F95D00FECED1DFE00E165A07B21D678 +:1087400039CFE2C966C74CFB36FAB77F84FE6D5855 +:10875000CA8A5D0F1F40FFF58A29B00F0B607CC9E4 +:10876000D603785E60EDBB80F30F1C85FC92796EBA +:10877000EE0F674192BF27985883F6D7091C11DA8C +:108780009FF04C7AA4BE1087D3E9BCA5DDC1F59D4E +:10879000ECE1E7C932CAAD12539E113C78DC1BF301 +:1087A00070796630573DC9D736EEAF35E03FCCFF24 +:1087B000A023D17FFBC38D89F91BD99C5C942737FB +:1087C0006E505804FAFD91DDFF0EF3F9B189AF1F29 +:1087D000B2700BCA9F56F37C7FD973E31CB81FFBA2 +:1087E000D144B510E330FBE49F49971F013D69CEAA +:1087F000F8F79B7C1187198F437E97C62C2EF74F75 +:10880000EC9C1E45BE7B07E402E13D699DAD4ACF6D +:1088100015E8BF36EE5602DC0EE2729E681C86BA80 +:10882000A9AB52477F36404B1B92D89EE67F435BF5 +:10883000E27ACF058FE4F55BF6EF40EB71740974D3 +:108840008E954C674F98FC15BFEF64DE1F6A9059F8 +:108850006339FAC3EEA2FB45B58653C5F3B9536934 +:1088600005113CAF7BC994DBC00617F1FD43F8420C +:108870004C07DBFE7F61FB8AAFDFFED501C66FF3DD +:108880001941E4D30D022F77BA421C4932DF2FB5CC +:10889000F9CF519E07E5D259CA8BCFDE1EFD9A78DB +:1088A0007EB3083F8E24FAA773B1E3A61DDAA804AD +:1088B000AFA438F73F49CC1090BE54B2278D664123 +:1088C00043FB75D1BAAB32915E171D927C62A1C990 +:1088D000CA58DF5B43E77F471C8A6907C664E4CF59 +:1088E00045930B67623C5AA312F067C1F8D25DDC76 +:1088F000CF5A39B92C44E7309E790ADAD1BF7B725E +:1089000022C54FDEE49929A39CFFAB83EF774FECA0 +:10891000F8E52406F36B7CCACBA2A49F230ED49F58 +:1089200037ED94885E6EFE8597E2E76E7A66D9230E +:10893000B3A11FE1392FCD477AE6878F73FF6823F4 +:10894000BFFFF5ECD5AF18E6BA5C1ADE4B31ED0788 +:1089500023E0477DB4CCC9AEE7F1741C0E7D765B95 +:108960005BD9013FCEAB2B8BE205FAE85686FAD0F5 +:108970007E11A47352D0ADC7C9F9F763AF631ECEA1 +:1089800053E8DAB390D6D7FD5D05D727346539DED5 +:10899000C37377A762D5A375184F08915150FEF1A4 +:1089A00013025F57F7B86D698538FE36C7623AA77C +:1089B000E0F176D67C177795B50C877A8BD765155D +:1089C000E17E7EFA2F9ECA8879102E5FB64C2DA7C5 +:1089D00038EADED9C0CFB7754914677A439B9474DF +:1089E0000EC0FD63B7924480FAFFF2D7996F41BB86 +:1089F0008F402EA781C8FAA8E73DC7AF311FF28488 +:108A0000512EDFB65B49F07FDDD6F50EC539AB22BE +:108A1000EBCDBB1844F0C144FF5872FDCFD86907B5 +:108A2000DA95B775AF213FE56D3B4FBC89FC725BB2 +:108A3000929FEC23FCC7B0FE71E6139D897ECCCFDC +:108A4000D8C14964A7760D4969BF58F1E596FCF88D +:108A500064F7DFB618404F1F3FF36F5B0C80E78B66 +:108A60005FFE6DCB3F21DC5F485391BE6FDBF1DED3 +:108A7000963B508FEC768A48279FBCB0FDF187204B +:108A8000FFC91B6326204B5DEEE476C22785A772E3 +:108A9000D1BE58F9C28CA1488F2B774D1FCACE6228 +:108AA000BF7F027415B1D195657F6BBB0534CE19BC +:108AB000FB8D9926E1831DEC75A0BFF27381F5B69D +:108AC000C3FEF4D6F02907DA530774D68BF0D9B772 +:108AD000F39D037740FE04E0C799023FB0B2F34430 +:108AE0003A278A9E87E745B7EEBCFACA6F9563AA14 +:108AF00004B0FBDB582FE9A37E783D04782D8FE38B +:108B000075403CA2BF19E8EAB6F05FDFC47886641E +:108B10003C9EC07F4CE98FC75BFAE1F196AD0F61D7 +:108B2000E1CE2129F7F9161E97EDBAE6ACFBA44F6A +:108B300092F87720382F35FDA1539CFA6A27F2DF8F +:108B4000333F7FFC211FE2D919988D787FEAB30269 +:108B50003066D8074AEF428443EF0B4EB513DADC98 +:108B6000F4C29F495F7DB20B243CC9759621803CBD +:108B7000FD84F5FDBD86F111B79AF12CCBB4DE99D9 +:108B80006F42BFCBA00B2340F89BF96639E28F9F61 +:108B9000DFDD1AB9AA46A3F8FF1C5AF7AD11CE17AC +:108BA000B746F6CC457F7E32DC779A72C58E576128 +:108BB00032E2F3D84CA4BF81F069AD5FC5F55F0424 +:108BC000E58F26F26D7FBAE975A05EB0F0FBC9B6FD +:108BD000538EDBA17EF4D70E559C0A79A5D78172FE +:108BE000C7F8A5A4E2BDA364BCE37DA34564A73494 +:108BF000A48C1B4AA687A79D897E71EBBE92059720 +:108C000073F1F5B9D7F3D5E0B5C5A9F1FBC2497049 +:108C1000AB9FE124B9FC8742279DBBBFAA680FFC2C +:108C200018E9E32585E1BDD02B8AFE2A6B29FC0CCF +:108C3000AFA0DD63DBEF5C3959681E02EDAED441B5 +:108C4000AF68713AB5CA83D3243A7FB2E6637DCF69 +:108C50009E55BE0EF5EF4933AE6CFFB0E0668A5309 +:108C600014E5B013D6A7987EA5229D913DBC22DFC6 +:108C700049F621DEAB66748F9AFBF7DBACF3654FE8 +:108C800088F4F461737EAC6BC78E1D207F2EC58186 +:108C900081D4F6B18EE66CC47329D7FF42E92F6503 +:108CA000D42F97857E2963BCDE7E338EEBB53A17D1 +:108CB000D97518E98DF1E6736AB651F96F4D3FD059 +:108CC000A5B3216FD3939795FC5246BBE0B2D26D0A +:108CD00079288F5FC638CA147A74AC8BDB7FF56352 +:108CE000BF2BE27A5E5EC5E31D5ECE7F200FF1B73B +:108CF0007FD4F6CD2BE0FB8B25420051F6626D83CD +:108D000007E5F18B5AA23F65CFD8BF0A38EF02FFC3 +:108D10003619E576A7B9FF7CD4F4BB3D6EDE33EFA0 +:108D200032EF99EFA8D3287DB2AE84CA9FAE0B5024 +:108D3000BEBB6E32E59FA9D329BFB3AE86F2CFD6B4 +:108D40000529BFBB6E1EA5BFA95B4ADF33DABB9AFC +:108D5000107EEC7CA11BFD58FF5A17A6F2685D2D12 +:108D6000957FE8E4FEA98236B0E7619F585BCBE3CC +:108D7000B93A95E03CFBB998552FDFC5F5CF1FB246 +:108D800042392EC89FAC995B8172B879D477C721DC +:108D9000BE5ED4468AFC5E17BFC79FE6E898BF0256 +:108DA000CF7B325C140F65F5B73C2794EFB2D15BF3 +:108DB000519B834527223E23D5B988EF1F00BEA1D2 +:108DC000FEA580C75C683F2754A8A17DF15BA1BBCD +:108DD000291BF711E3CCF2D9654A55E9B9F1D86BF3 +:108DE000CAADDF5586F390DF7E27707FDDF7421234 +:108DF0002BB1C981AB6B12F347CC7567CF2AE671F3 +:108E0000ACBED4E77E78DF9225D8359C9F9C18971E +:108E10006CE3A3346D78423D49DDA7BF3BB17F7F52 +:108E2000562A65D470BB5995DF47F9063010CE88B5 +:108E300071B9433B25CB9ED6F0BCD8C3AA017ED7DF +:108E4000DDC2FD230B584C417B1DF7590A7CBFDE68 +:108E500010286E64310B38D0FE5EC28294DEC8C228 +:108E6000943AF3A20A3FF7A856F1BE91A05F2C6195 +:108E70003CCA40F34BBE97D417976FCA01A7790F2E +:108E8000C43FD515B2EFAFE6BB383E6E3253A0A358 +:108E900065483F038D63C90F4B6EBC971D5CE2B202 +:108EA000E1C54A076A9F8C1F6B3E0C834E8761FBAE +:108EB00095BFCB07D4767668240FA72F6E73164024 +:108EC000D1D675DA04142B639942F26CCB91C24E61 +:108ED000EEE7E476F0D65ABEEFDF3AD74DFEF793D1 +:108EE000AB8B5E1DC3CEBD8E6439F8C088F1EB112B +:108EF0006F235E94488EAC1FF1F73D18575610E370 +:108F000072A5C0131E83F67EE5DB1F0E437FDE7B5A +:108F1000D9A16697CDFFB1E5CEF008943BD35D7A39 +:108F20000BE7CB95CE3416A7D7DA75DAFA126D6057 +:108F30007874B69DFD3C3E79DE7DF437003FC4E990 +:108F400083D7DBEB1E41F73D631253512E54B9F327 +:108F5000C9BE0B65321DFD0E0B6AA30AE2FF5A4023 +:108F60000BCA85EFB388C2F7876A2EDA01D37C5C1F +:108F70001F6EC97D7F18D9DB72AC90FB4D0679BF9F +:108F800082B1043DDECA580DD2E5341613F0BC435D +:108F9000747F3C0CF5C333A67CEBD74F6DE2BB016D +:108FA0004E41A5F9E341F663B09E456250E7F3D523 +:108FB000E52C1F9E3F0A13F0FC63864FA0FDE0F5F1 +:108FC000B58514C7BCD1157AC195C3FBA1EF792A29 +:108FD000F1E322CFF9D568BF0E763D4C8789DBDE01 +:108FE0006DB1D6F79E37F422C26FA45A5885CFAC24 +:108FF00038F3789CF70CC943747AD2C7E8DC68A0D0 +:10900000FE2318DF0E8A629FE947540CD681F6E0F2 +:10901000938077FCFE6BA057FCBE05F413A6BF053A +:10902000FD84E90BA09F30FD05E827ACD705FA09C0 +:10903000F39DA09F30FF28E8274C5F12836FE1FC6F +:10904000141F8F4F6D34E3501E37FD51D63CDE3573 +:10905000F160A5EFB938FEB7A3CD85FAE13D4784AD +:10906000E243E58EF3E81E18A4748FA3B7976276E7 +:10907000A67B8ED17D890AE60AA09D326E674CC719 +:10908000BB1B434CFFD4E3DF0ABD857142312993FA +:10909000B16F43BB82DAC398BF47C41864E08FDA6C +:1090A000281D874D54977F7F190C3D6A43E48965DD +:1090B000DC3FC5B0BD66C4A24BA0FF31B008CC7B7D +:1090C000C55814E38BD8E7190CE35F332FF9D8F8B0 +:1090D00011E47FB62A93CA67F88EE94FA1BFFF5DFE +:1090E0005E7FA6FF18F94973967A191D35BEFE41B9 +:1090F000F41128CFFCC4CCB3506526AD2FD6980907 +:10910000DF2BE6AB01BC1FB0F1F22E3792D9BAC00B +:10911000715A4F473883FA7BC8D1330FFDF4BB1621 +:109120007BE87D90DD079B8EAD83F4C1831BD66306 +:10913000370FF9ABDFFA11A4DFC6CD3CC0D15BB16C +:10914000DF3512EA672E17CB24EA6F2FE537857DCE +:10915000743F736219BFA7B67B1ABFB760E1654859 +:109160001AF76FE7A7F5DDAB62D84E31E33994C348 +:1091700033F5E9C817B0BFC0B855590D466723DCB1 +:1091800030FE9DDF53CA4F83767ACD553AE2C7BA97 +:10919000BF6CF9850BD3F839DEC46D1CCFBB3E1014 +:1091A00023E84F7DFE50A71BE5DBF3872648687751 +:1091B0004D0C8874DEF8FC07F7A6211C361F5A31C7 +:1091C00094FCFB2CE2064B846969FCDD9DB128040C +:1091D00073ECED8F8BD87EBCAD3DC6076FC2F642F7 +:1091E000BC7D491A8F5B2FEBD77E05B51F636B8F54 +:1091F000F648DE9F12C70F98EDA760FB0A7BFBC500 +:1092000022A6A3B17D0A793BD99CF74E21B2763CC8 +:10921000D2F93299FCA5454F86DCF6F734BE9BC6E1 +:10922000F922B3EFDCC8A0FE771F2ECA3C9B1F803B +:109230008CEA847B77E949716BD949F9E149F58B6F +:1092400092CACF4F2A9F9090DF77F47E3108EB7857 +:10925000DEC7EDE6E77D0D641F36E78914AFFD2B11 +:1092600081DF63375E92689DF1F584693D7BAF983D +:109270004AF5771DE4ED8B9E8CFC1EE34F77CE16EE +:10928000E9FE77B25EBA30BD88C791FAE6FC1E43AC +:10929000E9B32F9719D2F3733DAF55B9219F354AE2 +:1092A000284379397A5DB801A7E9EC8855616CD615 +:1092B000B4DE6023964F65FC9E46F6ACB9FBD270D7 +:1092C0009FA333A25BC068E32C1B9D6FDF3C615FF3 +:1092D00025E49F33E97AAA148CD23994C47A713F79 +:1092E000FAF8C6150D6321BFDB2C9F786842821DFA +:1092F000B8352D9BDF8BD83C35410F5BE73603E15A +:10930000EFF13A3DE15ED176D46380EFBDA32F2625 +:10931000386DDF58D489F27DFBC63999A207C74959 +:109320003C1F8AF7C3FD14CFE1C0749E8F470F9096 +:10933000DF28F2BCF17B794631E9C984F2D6CD222F +:10934000918455BEDB2A375EA9C6FDD4EE8D32E589 +:109350001F58F34A753D94CB1BE71A63CBA93DC553 +:10936000A9CB7973A208172B6E1DE4C1D6B40A7E6F +:109370004EE42E8F9F13397D3ADD5FD78CB013D723 +:109380007599C6C243C04EA888446494EF537B8D40 +:109390004627C98DD04378EE5A64DE83BCAC80EB9F +:1093A0005F3641E0F10E724F15F67BFB9832929FCB +:1093B0002F7BBBF761FD5D8A407272D2EAD870F4F0 +:1093C000753D7FA8F852BCFB104DE3F1B4971585AD +:1093D000AF47F973EAB8A0D5C37CEA8FDE3E06ED4D +:1093E000AE7D87E730DCC7298764E27FC5179442EA +:1093F0002407E6483FB4E1AD22A0107F3FFFC1E261 +:10940000B5E390DE7D8F4E356379E5213EBCE714F0 +:10941000D9817A3F9AE6E4E74301C530CF51A308EA +:109420000F871AE6EFB69972B15262F4CE1A7B4BEF +:109430008C3C86053521B7FD5EF5B3312EA7271F7D +:10944000F3ADEC81FE9BD4A91391EE1F7FD0217B5D +:10945000A09D3C32F008CAA757FAE4762821FE18EE +:10946000C67D252DC5F9ED08A6FDAC1AC73BDD5B11 +:10947000F90CF4BBD38433A0B3FE66D44BE6397049 +:10948000E6E94CB267FEA598EF2F92E54CE037E98C +:1094900009F42FB625EE8B4630DBBEA830859C390B +:1094A0007241425C15D8FBAF227F9FCC13350ED79B +:1094B000B00BFD10538B1546E34B4FEEC3F3BCCFFF +:1094C000F07E14F0EBD423EE6322C0779B292FB6F5 +:1094D00098F1863BDB3AF7E13DA067E7B919C60989 +:1094E0001E38DC29D1BB52A63F53A90D57A11CAA97 +:1094F000581D6B40B9CA0C3DA332D70AC18034B69F +:1095000088EE67B143DCFFE482FF707EE337DBFC6B +:10951000510CDF81B3F9A50B914512FD55C9FE2809 +:10952000969EE88FBAE70E2940EF77BDCEE3789E8E +:109530009F12DE44F400FB2F09ED97D0C56B6F85B9 +:10954000FCE36C44563BD2BF2BF216D26F56815AC5 +:1095500088FB15CB5F959DCEF7B37B8F3AE91ECA8A +:10956000F61823B95A99176E47BE9CBA5B249B72B2 +:1095700044BA468B9C1A8BBD5C0AFD5C5423A2A99D +:10958000CB2E3A628C457ADF3B75C779A8BF9B3DED +:109590000E3A176F14C24C4539FE06A7CFE6C32218 +:1095A000BDFFB1ABDA45FBA2E78196302EAA399414 +:1095B000DED95088FD67D33C76F9440AA5BD3794BF +:1095C000BE0DEB3D67C5ED9C36C6A25D9EF1887E63 +:1095D0001EFA21766EE3DFF59D8CE2CF5D79FC9E6D +:1095E000204A081E5FA496217F8F31D7B741D0C78C +:1095F000A4439A317239B57FAE501854FB0BD34552 +:10960000F3FEA57E613AA4A518D087F63CE0AE9D96 +:10961000DE2D8CD5231E1689261F24ED0B16B25E77 +:10962000DAB7809D3F15DB2B72D80CB25467227ECF +:109630000AC09EA5F3E4C1DBF921FBFB8C05BE3219 +:1096400011A711B7F78333709D85795A03CAC3C137 +:10965000DAF95BD0BE1F15B7F7955A1EFFF07BB441 +:10966000F3F93DCD20F61BB7D343F444DCCDED1523 +:1096700033E42968877797637E5E7B45B36B0A5E28 +:1096800092030686FCB2F64933309FD128909EB8EB +:1096900011F2461EF48B3E0BA48F1D8CCB2F599DCF +:1096A0005303F33C7F898FEC3F4DEC3E3801E9F6E4 +:1096B0002691EC808CAEE82AE4AB7EFB13933E321D +:1096C0001A3F5D8EFBE165E9DC0E5A66E2CDCAF712 +:1096D00038433721FCD13D82F71215935F151FBF28 +:1096E000C7B40C953EACEFD67433CE4F8E0CE7E783 +:1096F000A4907A715FC8F7775F03EFAB086E26DE40 +:109700006707B25A6EF271BC4B5FE13D00CB9F918F +:10971000BC6FB552E58B0B28C86AA07E14F31D926E +:10972000E6A2E03CBC6FD19A3FBA0CFD6FD6BD9368 +:1097300097C4D0DD34CF3C1E1FDF876711F66390DE +:109740008EC6F75B6C76E42613BE569AD178559890 +:10975000E2EF2DF80A9C3EADFA3DCEC50FA627C418 +:10976000778418EEAF37A7ABD6B934C51D819D47B6 +:10977000E7BF5F17DE0A6C8311CE00F7ED38DEA27B +:109780003CFECE9175AF7FB0F09E5EC0CFD55983C1 +:10979000CC1E2B67FDDE0975BAAE8A22DB26B7BF69 +:1097A0001D65319876D38BC21706B8DD4AF145AFF7 +:1097B00009A1E7D36D7E04B01FAE47FAB7E2881661 +:1097C000997E39D0A30AAEBF6A88564E71EA6CC939 +:1097D0008C8360175521C3D3834E37CC40BBAACAB4 +:1097E000CDF39FB5DFD58271DA5578964476D73FB1 +:1097F000CDC0F3A0AA91BCFC3FCDF2BD2EFD77E910 +:10980000150972246297238A7AAC324B237FC11FD9 +:10981000B8FC0854210A0B6AB5AFE52F78D4942719 +:1098200040578789AE4CBFC1B9F6F9C7D2B97D6A36 +:10983000A5C751EFD8F7F9F7394C79111C3EC7CBC2 +:109840005384D7BEF5B924973B518DE3FB612C4A75 +:10985000FEF94577F07B7163D97BF5782F629B1910 +:10986000B716DF5704D229FE2D899E8A9E5467E2DF +:109870007EFD5194CF80878CBF372E5A23D8E92C98 +:109880004CF10AFFC7C3F5626713BFEF98BD8AD1D9 +:109890003EE6918EEC2CB40FEE4AD73F4FB7C58B06 +:1098A0005C92AE7F918487D000783883F5CE8507AF +:1098B000C59366D8E1DAC76F26FC0F9AF8F8439F84 +:1098C0001CD75DEE0A84BF46FE45E365BECF1A088D +:1098D0009F03F9272DBC5972E18487E32B9E72BD4B +:1098E000DB63C6A9154D6653D5CC78BF23DDBC5EBE +:1098F0004F1A4BE99F2F725B722548EFB212A4D02A +:10990000AE6FE27ADAAA57EC164CE34B13B9BCE619 +:10991000F17141F3BDA99193D934D516EF36C11C2D +:109920003798CECB93C72D73F379674857258C3B77 +:10993000B203C6B5D1FDC4BE710322BFAFA9D3B86F +:10994000856DFC5DAA91AB9988A9D611D4112F3DE4 +:1099500095CE511BD0DEC92931CFD762F568AFC98A +:1099600046A188F659B5D9DF438E00D9F54D82C09E +:10997000F07D62FD60D040BFAF4B7711DD2A1EE362 +:10998000532E9FB95D0E767AB53BC77E1F97DBE9F4 +:1099900016DC336456EDB4BDBBF3963BF1DD046BCE +:1099A0009D413D6B06BA6EC7EF54C9FF333BC0FD06 +:1099B00094E7EB79DB709FE037F1F958977A9D9B3C +:1099C000EFDFE87ED13867CF8ADF433E72B783DEB0 +:1099D000FFDBD1D5397629B4EB60CCF24355E3FEF9 +:1099E000A6F93A16E86478FFBEFE7B37433AFED705 +:1099F0004FB69F0FDFFD3F16C9BFF43337DF674116 +:109A00007BFA6EF99D76743D9385EF0C3CB8E1DEF0 +:109A100059A3D15EE81229FE7A47921F6A895BA298 +:109A2000F6B7BAE3EFFBE03EB3CF0F65CC8C26F977 +:109A3000A174ECCFE687BAD57D163FD40A37B70BB1 +:109A40001E8C301E5FD42546701FB8C3D349F26305 +:109A500087670E1A874CD1B91F674797E987F2F4D9 +:109A6000F981D2BF0BFD2C77737FCE1D28BF2BEC65 +:109A7000ED8F0B9816D8DA931FCAD3E787A2F6ABFF +:109A8000DCDC8FD480ED73CE3E3EF9A1BC89E3D7F8 +:109A90009BE3B79F73FC67B27E6893276BCC71C75B +:109AA000EF8E54215CC79AE7BD63BA42B4B5F34A5E +:109AB0005117EAAFAD8F7584D2C9EF218711CE4F10 +:109AC00098F6D998879750DCE6D6A4F7753799FCB5 +:109AD000B6C3A4FF7D9BCDFDF4E6B93A9D23AF66E6 +:109AE00084EF310FFF87609FCF8825DCDF36E6E10A +:109AF000952F8F3DCB7E7A87DB49FDCA4B446B3F68 +:109B0000BD03F925793F7DB266C95E0C0F1DD7E410 +:109B100020793A6E5D0BC53D8CDB69905CD5BE98B3 +:109B2000084C0FE37E51467656C11717535EF96213 +:109B30000AE5BBC4DE7A848B21727F8FB251A6FB0B +:109B4000EE238C443F8FDF63FA796ABF9A9F670BDD +:109B5000FA796CF7F2B69AE715D9B3CA49CF9DECFA +:109B600028EA946CF2C96FCAE1D1020B62BDADA6BE +:109B7000DCB6CAF7D68F4E47FF4567C79CB3FA07D6 +:109B8000715F80E7C37DFDDDC9FDC0F487FE2F95C1 +:109B9000BFB3B175F5E27BC91F96555D8E7CEBF7BF +:109BA000F038327DB791EC5778D36DF367882E1E6D +:109BB00007E8F7707AB4F40180BE1ADFC18CAF47B2 +:109BC0004CF05BD9E433CDA3631E97CF567E682853 +:109BD00097F444AEC73A4FDCCFF15B5D5F96EA5C29 +:109BE000F15CF87D4AEC152EB0E3B73B357E733D52 +:109BF0007C1FFB0FC76F6D227E733D9C5F4A07C4BD +:109C0000AF231DF928527BF677812DFCF6F537201E +:109C10007EF7665F66C36FAE87C755A6C06FAE2777 +:109C2000A73F7E7B9C41BF07E941E67E264B3F83F1 +:109C30007E6AB2EBA7A73D49FAC9D4FF967E1A1BEC +:109C4000E1EF455AFA690CEA27216E6F6CDB1618B2 +:109C50009ECEFD20247F4A9CECA5B472DA27F6360E +:109C600080BCBABC7C1BE9A75C14512AEAA7581334 +:109C7000E9A7858CFC7F1BB7B52C7F59437FEE0A83 +:109C8000922B9B6FC9A6F1167BB2B81D6A7ECF5B83 +:109C9000C6F5D3839B412F950FAC972EF2F0F3912D +:109CA0004A4F9F5E227FE757D04B959EB3E8A51998 +:109CB0009E41EAA5CD5C5E0EA497AA3D5CBE5FEE18 +:109CC00019402FD8DAA7D24BB33D5CAF5CD3AF7D40 +:109CD000FFF153E9A5B966FB059E64BD963C7EA2E3 +:109CE0005E9A6FCE7BFCA391BDE88F72B09E003F61 +:109CF0007765ED4807EB10CE00C7ADBFEA88B86DB9 +:109D00007AE9692142EF6E19C3B87F21592FDD6AC4 +:109D1000D2E19DA6DCDB67805EC27574CD253C5820 +:109D20007AE9FC2752EBA5F39F90D34BCEA297EE96 +:109D3000F4987EDEB85EBAD393C2CF6BC9AD12532E +:109D40002F95987AA924D23328BD3458B975E2BF2B +:109D5000492F59FB8381E5D657D34B567F5BBBE533 +:109D60009A44B9157A3C516E2D9984FC7AC2230D20 +:109D7000A4979E4A25B74E98F46CED1700F44D76E3 +:109D8000BD7422592FC5F72B67D54B1FF6E9256EF9 +:109D900077947C4DBD3458BBE3C3FF26BDF4A1A925 +:109DA0004706B63BBE9A5EB2FADBBA3111BFE37723 +:109DB000027E85B8DD317E17E097D629997A49234E +:109DC0007FB34BE5F212F0FBA1C78627E7EE90EEDA +:109DD000D6C82F78C2C3FD82143795EC179CC66095 +:109DE0009F8CFEBA17253A2F62728CFC080A4BED45 +:109DF00087B2DEB94B8EA73957DCD755335711BD23 +:109E00006D74E9A73D367F41972B7886EB4DD37F64 +:109E1000D517E76524DC7F6B89DF7F8B24DE7F33FA +:109E20007F8FA780FF1E4F26FAA5C84F9778EFAD0A +:109E3000D17B23DDDB4A71EF2DCB5B71B67B6F01EC +:109E40007A67AE31CBBA5F6BF11FBFDF9B71F1E96F +:109E500018DDFF52274D44FCE47BF9FD277D9EC1B0 +:109E6000ECF70C310EC09BC22E67E6FD510B2F2D77 +:109E7000C3AE1DE8FED7286F827FF1ECF7BF807E6E +:109E800037A21C5F21482ABEF3D628F077AF0C21F9 +:109E90003DF0580AFF16FA5735E0BB99DEA2C4F729 +:109EA000757C417A2FE5F698A0A13E047ABAC8CB1A +:109EB0000F83E454F4B44E0A5D8CF3BC67EA471494 +:109EC0005F7262579A86FCF349F94907C633360A2E +:109ED00051EE17CF37FDE22C6C44F9FC38BD61E040 +:109EE0001EB46B5C359CDFAFCD4B7CC7649A8FFB97 +:109EF000530B1CB13742503ECFCBFA0EA7F272E99A +:109F00007503FA5B24C7C88F753D7A0A46E2BDED3A +:109F10006E4A01BA57E0FCAF33FD5B0DEE8C6F93D8 +:109F2000DFF91F3C2F0B0F276BAA093946956E20CE +:109F30009D801C0B37D23D418E3F0BCEEDF8DE07E6 +:109F4000D069ACEEB0FEEE28BC1F1DD3DF55F09EED +:109F5000FA07941F9E115C82F34E2F093BB1DD225C +:109F6000E30DFD5D1B7FCDCE08DD8CE50BC2C7F494 +:109F70007713EE3D7F9850CF6A6FF9B1E93E9A169C +:109F8000F7AF007E57D8E9EC94623883240F7D0C3C +:109F9000FDD3275D02BFD758C5E83D9CE93E7EFE54 +:109FA0003993856584670DEBA0F4ABCA874B5937AD +:109FB000B59BCD7A28BD82F5520A7A4AE67E1FEB20 +:109FC000BDB05AD1FE5E98E4E2F1A446152B09A378 +:109FD000DFD5F40BE98738BE5C795A273FF762E694 +:109FE000BD7CFECEE53D5EC13AF7BA07E156A4F36B +:109FF000FA2B463908BF0E6644C9CE32E3B369482E +:10A000009BFEBABB8EC76F379971D8DEC961B203A8 +:10A010009DA5618AC34A9FCC10024C2889D07E3FFF +:10A02000BDA4DB8FF1BA6B0788D77DD59C4FFDB8F7 +:10A030006B49EFACF5F2F88FB5A3B8FC6B3DCADF06 +:10A04000FBDB9FFF53572C85DDD0EA5941F7A85B16 +:10A05000F3B21B6E28C777FFC588FD5DD3E4D4D368 +:10A060002151FC716BDE9CB3DEEFF0B4F17A039505 +:10A07000B706589B70218ECFF5DD585785CB2EF74C +:10A080005ACBA03C13DFB1E172B8353FECC7FB34CB +:10A09000C651B78A7C367D42ED5F504EB4327EFEAB +:10A0A000DCEA11E9DDF2CF8E78B7E37A856F7F9134 +:10A0B000209793C7777E21B0E8108A03FD1DD2ED6B +:10A0C0009E719308DE92D64DF791DDA5FC7DE1F4FB +:10A0D000BC30BD93053633C5559F0B1F5BBDA67FB6 +:10A0E00016CC80121BDDAEA90CD1BB996B86318AD0 +:10A0F000EF565431217E7A8D1967ED487A5768BD45 +:10A1000097DB51C7CC7E51574C9E80F47B80E8177B +:10A110007FB98ECEBFB11F287C17E51AD4BFD8A552 +:10A120001FE7F236B13CF9BDA5B1261F3BD97A1124 +:10A13000E3783F33EFF95AFE746D233FF72E69DA67 +:10A1400050854F2703B3EBE8DFD48073F05DF3D184 +:10A1500095AE5E83DFFBA5F6C566FB924713DFB5C0 +:10A160002B5A97982F36EFAB8C66B6EFC03FC5479A +:10A170003E3C82C66431B3BD838772D1BC67B215E1 +:10A180003FA438A74A8E0B903212EF2D25FFAE4E1A +:10A19000726A9DFBE7897A5A06C26D75369D276EF5 +:10A1A0005975E3F0547AD5826373D6241DEDF2A677 +:10A1B0003B412F432A476711FD4832A3FBC2A03819 +:10A1C000CBD0DE905CAA83FC764D90C7E978A20ADA +:10A1D000E5C366B9DAC3F32B79795FFFDE99D47FE3 +:10A1E000E39D01EA5F8A4EE1FD7B400F8CA3DFA770 +:10A1F0003BC0F838F4DEB5EC520F303E0EBD872D73 +:10A200007BA2BF657C1C5EAEF6F0FC4A5E4E1E690A +:10A21000D46B9E885209F0F9E2D877CE6AF7FE0532 +:10A22000ECDE265B5C55CC8CABFACBDCF762E88FBE +:10A23000FF4B5B21FDAED8E2E858FA3D072BFEDB71 +:10A24000D24FCAD40F66209F597A6AA1CCE8DEAA01 +:10A2500005A7852EB505EF715A705AE8893653DE89 +:10A2600084D342B587E74D38597ACE9A4FB27EBB38 +:10A27000AE6D9B827EF273E9B7EBFD334B9B889FFB +:10A28000E4FF8DFA19F51BBE2757DFF78E08C707C5 +:10A290005E7346BA1848DF868CE5097141FADE61C3 +:10A2A0003371BE604305781C96AE733B90A93B0AA0 +:10A2B000299E8BBFAB94C73AD1D5AF587493C7DFF3 +:10A2C000335F64967BCBD547F01EAFE28AF2F75638 +:10A2D000A6F1DFE9988FE5E568779AE59E9E194338 +:10A2E000B1BD87972F30DB4B1EB35C8D34E3BD11BE +:10A2F000EB773EAE33DB2B3E5EEECCE3F5EFCB628D +:10A3000011D88BD23BEEF86EFB7D593D4F95927D77 +:10A31000CBDF6DB7F22826FCBE781EDF30D06CE5AF +:10A320006B815E102EF76599FD0E3B40FAA8ADAE2D +:10A33000A614E176DF227E3E688C13799CF269894F +:10A34000D72B9C90F07ED47D03E9BF0CD33F7E0DCC +:10A350008F9F6CC577560BE37A65203AB6F4CAFD39 +:10A36000E67DA226BC4F44EF7CF2FB43F86E1AA6B2 +:10A370007B7326915EB5FA7DE0FABBE8779D6A0FA4 +:10A38000490CF1596BCAEB75817B6BF077731A3D01 +:10A39000D909F78F1B65BE2FBCBF2EF1BEE3A719ED +:10A3A0007C7FDE7CCDB5F4BEBDECE1EFDB4BD1EFC5 +:10A3B0007D8FF035D7C1D2847F1C9F5BFC6DD1E7C8 +:10A3C0007D7DF20AE8B39CD327FA899AAF9949E7D1 +:10A3D0007A489F63FE07D3676B127DB626D1676B01 +:10A3E000127DB626D1A795EFB337B2C27EFBEF0E32 +:10A3F000B42EE2BF87C84EFF98EE9DF77DFFF2C7EF +:10A4000087314EC4B8C691F27CB82E83EB6BB9D4B9 +:10A410007062685EB23C3A971CAA57424750FF34BC +:10A42000B1EE28D93BAB051AA74509F95720BE3430 +:10A43000E33B1432A8F52AA9F419B47F87B7E7746F +:10A4400067B56BB1DEE1F1CF25F9E52905BE4CB06A +:10A45000AB811F6DF388EB397E2F948038A5BF7CCC +:10A460001C482FDEAF4F70696857CFE6BFA792FB3D +:10A47000AD7257B16DBE7FCFE0E7208DB3B95FF805 +:10A480008169135CC5A529CA83FC771B93C7B93FB3 +:10A4900043A6F25A16247E61C02F6817CAE3AA5455 +:10A4A000E4C3B51AE7C3FF4FEFFF97F49ECFDF9BDE +:10A4B0006AFD52A2B89957EFB9A4D5288DD3C340ED +:10A4C000F2D5A283D919C1F2CC9CF83E6B207B94C3 +:10A4D000E2A7A1BF928CE054ACBFE027D7E4E0B87C +:10A4E0007FF359EFCD717B0CCA6FCBB6951B55F13D +:10A4F000780DF4E3ACBC7C4905F2C7EBD3B85F2C14 +:10A5000063087F7FC19AD7E399DCCFF97826E7D338 +:10A510007690CB9131F1788E0CD8D023DFF5E68B95 +:10A5200091CE42B40BF9FEBA35F464CD4884E3DC35 +:10A53000512ADACBD6FEF69A7C917E0FF3EEAAF47E +:10A54000A5F6F38DCB7C9C7E3FF255DE87EB097838 +:10A550006214AF72A1CA6202FAC3AAF87B60421EFB +:10A560008FC35158C0C5FDF3E67D4216625FE53EDC +:10A57000E1D332A01EE58587BF43ECDD28901FD4D0 +:10A580008A4BB9DF37E707380F657788EE0FEE990A +:10A59000944EE37FDECCEF477FBE4A7D7B17E6BD5E +:10A5A000F8D40663AF89D96FEF847C6F96C83A31CF +:10A5B0007FE9796FEF82FE17DD2FF2F8BCD3430AF3 +:10A5C000B0FDB15C26B6535C11CBC07BDB19237B9D +:10A5D000F7E279426FBD40710D8AFF6FBAF9BB7324 +:10A5E0001922EC1BDEF69CBC0FC97D018B925FC566 +:10A5F000BABFB67848E89F32F13CFAFB9795A0DCE9 +:10A60000BCDBA11620DFDDDDE29C80BF9B54F4297A +:10A6100023BB895DE3E67E965EA07DC82FBCF3EA8E +:10A620008477C416E6707CB86A9B75BCFFE0D202E2 +:10A63000F44452C6484E07EF6587D6E03855AEB2AF +:10A64000FD1887BB205C487127D5EA55D5180FFF48 +:10A65000FDA53CFFBA198795EC8F48F63FFCB3493E +:10A660004732ACBD7602EA61FECE1753E5A4DF099E +:10A670004C7C6FD1A207A6CB1ABE7348FFD6387D9B +:10A68000E053784E16E4EFBEE801F35DCD3EBA101C +:10A69000CE5C3078BAB81EF6D0F4FE5E55E055E2D6 +:10A6A00093D714E29393354B7E8274904CEFADA117 +:10A6B000D52EB1B43F5F587CD05E3E274723BA5FAA +:10A6C00041717AEC98A0E13B28EA45AB55FCEE5C81 +:10A6D000E4A073528B1F2C3E1891CDCF45811F6A89 +:10A6E000917F439ED80C412300303BBD5F8FFC21FE +:10A6F0000ECC1FD7B1C07731CEFE3A991999D971D6 +:10A700003ABF6EB28BCE81AE8BD5F7E0BEF2BAD532 +:10A71000023B9EA0CF20EF4A8093DAF77B82D2E003 +:10A72000E179CFACB28D483711C911160A20AFF4C8 +:10A73000FE16E5BB91C5F9AEC5FB7E33E63B72352F +:10A74000B2F793E3C35A46BB898E3BAE3D8FF8EE1A +:10A750009FEB341602B8BE6DFA098DB95EA26FF494 +:10A76000EB85E89D5EB0FF38FF1E45FE7DDD116084 +:10A770007E28BF56EA09EF43F8BFE5267FF6E7CF0C +:10A78000872EC4DF21B97BD24D74BFF5F355A111DB +:10A790006AA97D1D91E1FC5D85D87091DEF6D2CC71 +:10A7A000771698F93D741EFF1EA1F461C0FB71403D +:10A7B000D9C1AC42EB7CD66C17A3761D193D6964F8 +:10A7C000B7E73A54EEF7D42B2A60FE574FF7313CE7 +:10A7D0000F78D8C1DFDD4986679ECAF9E56AA943CB +:10A7E000C338E8FFFCD9E9EF609CB45A28ACAF80CD +:10A7F000BC689CFECEACB1588FCBFDE62F275650DF +:10A80000FC4CDD8B09FBBC11ABC302DAC543E70787 +:10A81000FDF83E4CF3979288EFFAFD1765344A6EC7 +:10A82000008000001F8B080000000000000BCD7DA1 +:10A830000B7C54D599F8B98F99B9934CC8CD7BF25C +:10A8400020B979498080939048D00877026844D035 +:10A85000011182069904EC9F5A1F91DA76546A26F8 +:10A860002484104083F581A269121FE5DFDDDA54EC +:10A87000DD5D7E5DEB0E0F59DA02468A885DAC0124 +:10A88000DDFEEBAEED46D02D6DE9DFFFF77DE7DEB7 +:10A89000CCDCC94C0075F7BFF1D71EBE7BCE3D8F17 +:10A8A000EF7CEFEF9C3BC1956CF0058DB1AC469F02 +:10A8B000BB6D1A639FE3DF1CC6ECAAC85835631B47 +:10A8C000FF2A350CBAA06CF3B953CBC3F51B05A115 +:10A8D0006110E08D7B9C8CA5C3FB0B573EEF14C22F +:10A8E000F579AACC5806BEC7A85D41E388703BF550 +:10A8F000D3227800CE0ADD2F68498C698D4C5C1319 +:10A90000D1AFB6FEA0FE6119A3BFCF198ED367C326 +:10A91000FED5FB991A4C61CC69EFB3CD03D8B924AD +:10A92000A1A74D65EC96F5023B1DD11EFF466109BE +:10A93000E77F93C8AA180BBE25F5BD00F3DB9F7116 +:10A940009948FD094C70407F99B29E3C0FEA3387CD +:10A95000D25810DEA9860A5CB7391FB31C68853E41 +:10A960001C8C3DDFAAB0E024C65E6C5509DED5EA3A +:10A97000A6F287AD1A957FDB5A46F52FB57A081EE9 +:10A980006CAD21F8E5569DE0575BEB09FEFB561FC9 +:10A99000C1BB5B1BA8FC69AB9FCAD75AD752FDEB62 +:10A9A000AD2D04875A0304DFE4602D88C7B99BE509 +:10A9B000A008F3CDAA750F380AA17CE6D3BEB588EE +:10A9C0007F061BE661EC11DC37C07B967BC9B66362 +:10A9D000D08ECD935929149DEE25FE63D46EB647D3 +:10A9E00082E72FFAD2DE3D5C857898E041FCA42C0A +:10A9F000FEAEB71ACB95F008E861C0A64969158C80 +:10AA00003DA8D6D42B93197BD8C6DA5301DF0FF6B5 +:10AA10002CDC8CF08CAA4FEE7819C6FB76CFD55D76 +:10AA20000AA06C7B46FD510DEADB7AF42E05E65553 +:10AA30005CEB4DC2F9B0A0DEB51F9EDF3004FFCE47 +:10AA4000A16D0932E85FF7C34B5772582961ECD802 +:10AA5000BCFB8479D0AEB3677ED76350FFB4BD45ED +:10AA60009807FB636373BB963AE97D3993F75F3FC1 +:10AA70004D08D767285799F5BC7F184F07D27BEB55 +:10AA8000A448FDAF84F641808F15A98BAA60FD23F1 +:10AA9000EF899E016876DCAE6D403A087633CF0BC5 +:10AAA00030DF1B7D402CB0FEE246D6CF0A0D42823D +:10AAB000FAD45AB5BF1BC64B4931F0CAE40F87819F +:10AAC000BEC4A0C03EC7E70B2581154159CF9F9B4F +:10AAD0007498AC03AC44D26544BD84FD31A2B36329 +:10AAE00045800F1877E46AA56F00FA5B83F45B8AF0 +:10AAF000FBA8D27837FACE6AB8DFC5B54A2513F07D +:10AB0000B946CFE1BD10CECF7C2FBA1DF62B46D46F +:10AB10009BEFB1F36765DCE78DDB18EBC679168D2B +:10AB200068EBCAADFD8A55F1FB8D68C7A4F1C76714 +:10AB3000C238FD987C956CD793AAB19FF9B2670093 +:10AB4000BA5E7AD35D5EE2CF154C94601F9213D843 +:10AB50002A9F2BDCFE484A5D730AE0AD3985CBA7FE +:10AB6000E40475F13C9A077F9FED6A5A80FCFCED86 +:10AB7000A745D60D70BACCF739BD4BAD802D633FDC +:10AB800036E45A42FA9A25F83C6187CC34789EC85C +:10AB900082B6CC2A2C054F8821BDF7CCCF44FAB021 +:10ABA000099E1700AEAAB9F7FA2AE86FE6FCCF12A1 +:10ABB00070BE337F260A12C0FF90CAE9A2E2F2A457 +:10ABC000963E98E7F5974F9CB11AF0992230DFA096 +:10ABD0006BAC1C714105B67F9EB17AAC177A4FB44D +:10ABE000E0FEFF67B54B407EFECF4FFC052ABCFF61 +:10ABF000BA31CF4976BE7EC67A26886EA07F3710DE +:10AC0000F34CA0BF6C5EDA6D2DCDB80EFBB3209770 +:10AC1000A06BFB5F672A3E78BFFD9C83FA676C6878 +:10AC2000825803CF9D7E35059E176D17751CAF5D4D +:10AC30004DE813A07D7252E5410DDE675ED183724F +:10AC400022F96A99E8BEC7B5AC0FF1FFC81E27B557 +:10AC5000B725297D4E809FD7CFA82550FF7CADAC6E +:10AC6000221F3FDFB5D4477CA48A6AA980E3A922CA +:10AC7000EEC7F3BA7BA41B48385908115FB17B5962 +:10AC80001FF2D9F15B7249FEB60BEA885441ECA081 +:10AC9000C95718A20196DC6E0BED7916E5F52C87E5 +:10ACA000FA828A0F3D87916F3B36A81EA4D72BD519 +:10ACB000BD7B7E06F51DBAE22B02F9624BD9BBE7DC +:10ACC0003DAC6F809D83F63D7A9DD2544EFC163488 +:10ACD000F84FF8DC81EDC57ADC1FAC5F8D78E96058 +:10ACE000074A60DC3A83D57BD401A110D7F97546B9 +:10ACF000ECDF917AA5D6E4C279413F26DF42459D3B +:10AD00006B9750984EE0880078CD518BE47C94A3EB +:10AD100039124B86FDC9516C16BED73AAC72C0666B +:10AD2000D0C555BFB33ECF6311308CE334E8241A4D +:10AD30003FD1EBCA499753703E391D323D8C9E6F0F +:10AD40004E7A89DC5F45A09A5C83F81BF07AA17D7E +:10AD500081AE8C689E0BCFF72A36DC86F498BF7ED6 +:10AD6000FCF95EA98B2948175782F0D5347C6FB067 +:10AD70005D75E1FEF3F5261759F9F8C7AA44EB0310 +:10AD80007EBE0EF9B9B84B044510EEBFB42781055D +:10AD900023E4E9A41DA91678725F8EA5FDD45D4554 +:10ADA00096FA6983532CF597EFAEB4C015A12B2DFD +:10ADB000ED671CACB3C0D5430B2CED679E58628188 +:10ADC000670DDF62697FD5EF9A2DF5578FDC61A99A +:10ADD0009F736E9D05F6B2072DED8FDBD95AD4EF28 +:10ADE000CCED19D2919ED5F40A945F26BE6619FA6D +:10ADF000C784992A8F8CE21F64ADC39DCA58447FD3 +:10AE0000131239BE933CF05EC4B84E2DC7025F6B7F +:10AE1000D059FAC222E68F783FB16C0AF347B4CB1F +:10AE20005C5A69A9470BEFB789064C765631F13564 +:10AE3000CAA01740B775642C6B6802BA5B97A478F8 +:10AE40001CB08E8D576B4F3642FDC33FB7B10D8896 +:10AE5000FF146E67DD9BA12F4E81F18BBAEC2C980D +:10AE6000C6D89E59F610CA8B6497BDCF81F2C9F53A +:10AE7000841FFB4D2E5118DA97C9B523CC0F766A83 +:10AE8000476B975E6203BE6D0DEA2520B8E45A5FFA +:10AE900008ED1A399D69228C9752CBF6209CA2733B +:10AEA000B82245A3F15274681FC98F2AF413B1CE9A +:10AEB000A3A248F26F64A383F496ACAABFF93B80C7 +:10AEC000FD804B09F8E5D4A2A9644F12BB6543FB92 +:10AED00005B954DFF48448F5EC7C5A3ED69FCA6429 +:10AEE0006237C8B709C51E92AF23F74B6477ACBA77 +:10AEF000EE5736B4171AD9A08D1583FDCA42120336 +:10AF0000FC5DCD86A99CC3F4047C3E49F4DD8570CC +:10AF10004DDFF6B9C8FBCD69FE07104FDBECFE1F15 +:10AF2000E178DB525D9EA086B356F305A4974E47A9 +:10AF3000657721DA45BE6DC7683C1BC3F16E5B3C8B +:10AF4000EDD17A98CF6D4F891E81DAEB0ACA8BDB7F +:10AF5000BCE91EAEFF0DFD22336709B4BB794B4936 +:10AF6000253E4F977D5E5C47FA52550842BFFB0C69 +:10AF7000FA4B48AF3AA8C1F3841ED983DD2532AD20 +:10AF80000EF195D8C53C21C0D792226DC36A1CDF53 +:10AF900029A803208F73EFD4F67E17ED4EB5C82392 +:10AFA000019CD7D2F2A882F62B738F20BE1EB681E9 +:10AFB000DE45BA791CEC300DE9E6B2BD36A41BAF14 +:10AFC000F28903DAAFFBB98DF4CFBAA7E43EB41B24 +:10AFD00054659FFE21D049D64AAEA78A9EBD8CF407 +:10AFE000548FA0F6929DBFD1E1413B7F27D205D07F +:10AFF000C7B34827A5B81F9D1BD07499ECEA1791D9 +:10B0000014A6A6EFD980E5B4BC5322700EBBBC4495 +:10B01000684F453A292F94D234B46FBDED5856D7B6 +:10B020003649E950CE9C27C899D0EE272945444798 +:10B030002BD62C3E81F68F577569387ED195CA0A7A +:10B0400094CF920AF39B3156EF9BA5346187E0477A +:10B050003E5F23FF96EC480DE438BCE74D7311DDED +:10B060006719740F25F7AB962692DE7DD8D6B2C746 +:10B07000867832FCB5BCC690A097E37BEB85615720 +:10B08000D89FCA6D1CA276B9F7B10AB44FF21B87DC +:10B090008566689777A795EEFF35D5BF0FE929FF3D +:10B0A000BE2ECB73553940F8ED10B93C4A4EF5270A +:10B0B000A15E4CBEA624B51DE54A1A5BB5B83C4C52 +:10B0C000373B0C7F63732AB7574C796EDAB7A61DEE +:10B0D000BBF1AF67FB44A0EB1747FCDD93711D018B +:10B0E0001BED371B0949C9488FDF5A4CF498EF3ED6 +:10B0F0004BE3377E3AB83119EA6F768CEC4B46FD5C +:10B10000F50D6E870D3861DC087F313795CBAFCCFC +:10B11000542E4F6CDDA0D92F87D2CEFC244F996FCF +:10B12000F830F4FF13965FD14D7A7B44580CF2E36C +:10B130001F0DBB6DFA6B6A1D83751486D4BD541E3A +:10B1400032CAFD509673BCE0C613EB148FDDCFFE00 +:10B150008EF45F60BB7EA6FE428D286D45EA82328A +:10B160001CEF8038F802894BA6A33DDCDF913A80C2 +:10B17000FE04037F2501E0FCFBD30986F6DDB8DF82 +:10B18000ECA104867692169075E784B1E315B05170 +:10B19000FD2EA2FFC1821C5658571BD2D1E5BB23FE +:10B1A000F43FCAD990159E71D00A570F59E19927DB +:10B1B000ACF063065EC14B398EF612E101FE4F1B07 +:10B1C000FE44407BFE002094CD02BB968DB45D0B07 +:10B1D000F35F057605DA7D0541AB3FB4EAE4472726 +:10B1E000D904C2A6C50F5A7532F1943801F5A9D514 +:10B1F000BE5875F2AEBBB0FDAAC8F68097532E7547 +:10B20000591394FA63FE47AF43B91C9048AEBDFF93 +:10B21000EC7F9672FB6824C39784F4ADD1BC6FBBFE +:10B220005FF4F5C17E28818DC149305F45F3D8B107 +:10B23000D516CFD1967D00BF73C2816285CD970EA2 +:10B240001D6C45393351D690FFD499777E3F11E07C +:10B250004DEF423DC0EF685A16E9B78336DA9F4D8D +:10B26000028F6B6CB2318A8F5C9F6EA3F1AA0C7C4B +:10B2700079524DFB2D9888F63778F28968BF5FBE0A +:10B280009BB1726BBCC2C5EB7517D65784A2EBF5A8 +:10B2900009DE2BF816E05FF5B05752D3C378877AF2 +:10B2A00082A7EB6CA41B78AEEA987C3A128F590DFA +:10B2B0005678FA49673BEAE1235E85EC57267DBC68 +:10B2C000F767007F06F634CAE3E92793245CE77149 +:10B2D00091F7EF61F07E04FE33D9293104F5997EB0 +:10B2E000574B1FB68FAA0F9C7C6BFA7ECBFC430A90 +:10B2F000FAA14933C01F43B9C65ADAD02E5C9C9AD2 +:10B30000944EF643392B473A982FB93C21C4FFDBC2 +:10B310009207CC5AE63835E99D26E487B72486FCA7 +:10B32000B3A950DB8E7E85FA4B89F49E9AC82A2AEF +:10B33000A09F3FB60E4DDF0FA87FE2730FEB807228 +:10B340005B5DC25ADCEF975A1943F93FD8AA309493 +:10B35000FF2FB7AA04BFDAEA26F8EF5B352A77B7E2 +:10B360009651F9D3560FD5BFD65A43F0EBAD3AC13B +:10B37000A1D67A82FF2DDD7B4F2AECE74968C726EC +:10B3800001EF56BCAA14237D344A18311AC3A737DB +:10B39000DFFB4D6539F0416D72EFB519809777EE9F +:10B3A000938C7847EFB57B4AD09E189E8F74CB74F0 +:10B3B0005953617F0583AFE001FB6D19C1E2E7538B +:10B3C00081FE5530BB40E5BC96CCE9D9C17C2487D1 +:10B3D000D85A8FE29B7631FDF805A39F615BAC7E66 +:10B3E00074DE0F3B31D4D905F8ED62ACA51BED1826 +:10B3F00079A8B31D60A55026F8311C84E879E81AB5 +:10B400005CB7DDE07399B5E8B9E877DA865AC80F1A +:10B41000AD76197EE877C82F6D7F46611B0AC3FEA3 +:10B42000A8E98746FB0311FEBD457F80642479941B +:10B43000A0085C4FB251FF87E8CD96CADB4D51DFC3 +:10B44000DA9B42F1A9AB29FE54EEFEA42ED5138659 +:10B45000A76B29FB5223EA3D651573D322E0322501 +:10B460006505C613DBD4AB289E559254B937CD136E +:10B470008E671DC30179BC4A4779FFFF3B9EF537B4 +:10B48000461CE66F32FE2115E311C11FF138DF1BA8 +:10B4900019FF9043FEADA1F70AD8044F37FAB5451E +:10B4A000413101F9E945467A147D0031521F6902A4 +:10B4B000433D1CA18F7E417EBBA18FF25358822752 +:10B4C000C67E45E82309F70370A1D9AFC0E78CFC1D +:10B4D00055B31EA61C227DC5B83EA5FA62D413A2A0 +:10B4E000EE9C6EE987F6B5AC2F629F19FA7756BDD0 +:10B4F000346DD00AFF57E93D93BEB6C9430ACAADC1 +:10B500006DE763D36D759AA127C3F4297E3E338C12 +:10B510008F7C7C528425AFD7C1D5C175FA3B6C9620 +:10B52000715705AC70E37D56F8963BAD70C478A4B6 +:10B530004F2F190EEAEF44EAF50F415EA27CD38645 +:10B540009B168270676B58E13568CFDCCE3C9DB8A6 +:10B55000FED55D89163FF36DD4B914471528BEAEEC +:10B5600030ED00C66F0A6A26A9283776344F398035 +:10B57000F19AEF7BCB48BF4C4D4B21BA4D110B0FCD +:10B58000BC87ED6E9DCADA31CE13E4FA5F01CCA020 +:10B590003FFBF003928EF23EB88151BFD176C3EDEE +:10B5A0003DD6B84573543CE2D1FA750545F0BEF678 +:10B5B000DD0401EDF3C2AAD3DE62A47F905B18A77D +:10B5C00069AE4AAD433966C2F95545D744C28A3699 +:10B5D000D2F61CB42FD4CBD6A1DF921FD0ECCDAEC7 +:10B5E000B1764D7347749C3748EB437CA6A58E5DBE +:10B5F000D7A5AEC3ECEF34E82BDC17761EE8ED8A56 +:10B6000008FE918705E4CBE600D331BEB57A3DD381 +:10B61000FB61BF24964CFBF2CE63C503E8174237AB +:10B62000644768060FDE62D06BF47E36374A623EAE +:10B63000BCD7EC9618C68758A0886405D139FCB3EE +:10B64000B9EB93D0E728271A25F2BB5253C09E02CC +:10B65000F8F45681F5007CBA71C60137C0B76F6443 +:10B660001E32C7D8503DCA91E62AD0FF340F6E8FE4 +:10B6700028F01FF5877621D0596120C28EC079A0AD +:10B680005D381DE9CE6A5F34A35D389DF0743A12CF +:10B690004FFF86B846FDF421E8AD2A8B1EB3E7C7FD +:10B6A000D66376467A8CDB4DA61E9B30D7D37519B0 +:10B6B0003C1F4911358C2777AC91EBFBADF144FB76 +:10B6C000E7B98CE30CE4D8447C02EBF855C2C834EB +:10B6D000ECEF5776556847DDC5FCDB502EFF464D35 +:10B6E00025BFE6688A679AC8E39D41A51660A7E76B +:10B6F000470C60C7A6D7AEABBF3A0C27747F40F0AB +:10B70000AF52B56711DE9EC682F3F2B07F0E6F5264 +:10B710000E5DB71FEB1318E98757BEF79BCDC13CF1 +:10B720009C079F1F98CC414E37563EFF3FE4CC828A +:10B73000DDE40D6E96806EB60BDAA3D585E1F75287 +:10B74000F13D619CF7160737CB31DE7399EFA1AE5F +:10B75000BB02ED3B8E8F2CA35E34E61339BE8C7298 +:10B7600047F527A13FB47DB3ACA2BEF9B2F3C8BC84 +:10B77000D0BA9B829B6DD2D8F750059BF31763CF4D +:10B78000BF0FEB23C7B78D33FFAF1A1F17EACF6E7A +:10B79000D45FF2FCA0F986CC8B582FCCCF8676A252 +:10B7A000E64F12C7EB0F64E686D8EBED89EACF4986 +:10B7B000F373FBB78D3BBF38FDC17AB747ADD7698F +:10B7C0002F1EDB1FF26728934274348964F065648E +:10B7D00094EF5E99EB137F0FE59976F89984FC3F1F +:10B7E00066FC35DC1E4860C13EB43B59997F5BE482 +:10B7F000FA1FD9338BF2124FAF671E274CE569B998 +:10B8000087E470CD9A1EAF1D9E3FDBC80671E867C6 +:10B810001B879C18A7797678C8A961FD7D4737E317 +:10B82000B8351D49248B67B11E8A93175D2DFB50D7 +:10B830007E275FFDA96F0D8C5394522961FC060D84 +:10B84000278A37A6D63E87E316D97405E55356AD49 +:10B85000ACA21FD4616FF1DA31EE751BD3288F2FA4 +:10B86000AB6221C5D7D8481068E6E946ED518A2376 +:10B8700075C84C20FED01EAD4738904172E969561C +:10B8800048F1C1E07A89DB85AC45589244FFA0BC01 +:10B89000C328FE849E3D73117FB733F2C70A57F663 +:10B8A00008388FC2DF276994E7C5BF2B0C7928D1F0 +:10B8B000BCC9EE796A74FF785C8ADDC7DF87DD2159 +:10B8C000FD34B151ED23BD60E46396334E9BD9F74F +:10B8D000C95FAD9D1305CB8E16CA33B1ABCC3C937B +:10B8E000B53EEBE48336C4BB2AB214DBAC0BF7B72E +:10B8F0007CF8DE3D68CF1C684824DA2D6CB4EAF58C +:10B900008228BD1E1DEFA8D13BE6A25F911515EF61 +:10B9100000F6213A37E9648C9FD7C9FD3807F374E4 +:10B92000111FB046F5B753C3FE632F36443B6AA2DE +:10B93000614745BF5FAB067F8078289219EA471BB5 +:10B94000F32822ACC791D04279496894DA961DB6A3 +:10B9500073053B53B22B41FF8BCC8FFE5C9BC064C5 +:10B9600084C3E30E331C37C040FEE07EBB4486E355 +:10B970006E52CE4EC5B89EC3F997A9181F4D0683C7 +:10B980007808F5AAEC5391E936D9B4BDE89F040FC5 +:10B99000DB284FD8AE7A967B61FCF64319AC0D9A42 +:10B9A0006D4AE2F19676B747A928C7FC86B69201A0 +:10B9B000DFDE9A3E678182FA131379E01FFDAFC77D +:10B9C00066750741BF3ACEE5327F441CD621B730B9 +:10B9D000C49FE35CBEE5F9DE56100593C2709DABD3 +:10B9E000681ECEE7210CFA829D3097793AF0BDB9F6 +:10B9F0008A64C98738CE65337F5AACFEF32CCFF703 +:10BA0000823DED775C4CFF8996FC8AE35C719CFE7D +:10BA10002F8BEA5F8DD97FB8DF344BBF1B6546F1B2 +:10BA2000F4604322D143B41FF3447A5D7B7AC6D8D5 +:10BA30007CD4A63C9E8FA23F80AF494FA173118F4B +:10BA4000A7F338EABC85C532C5DFF2AC79A96B0C27 +:10BA5000BA37CF4BCC4BB745D9CB1E19E37575AE72 +:10BA6000E8E7563BF90AA4A518E772C4A4AA219CEA +:10BA7000CFBA950E0DF3E7F1E2EE275B19E501DE93 +:10BA800071B6AC4479F56AFAE2848DC0A7EFA0AC38 +:10BA9000033BEA40FA9D0B8280AF93028FE76D4C27 +:10BAA000DF5BDA14C3CF33CB4699C93595E3D4DBDA +:10BAB00043A578CEA9D1E013A0B269285747EB611E +:10BAC000813568B3B23ECBBA56B608967CD4498C61 +:10BAD000C3F3F95437958F3F9FDAD471EA1DA16AF9 +:10BAE0009A8FC45AE2CDA7B6F2C2F379CF887B6EA3 +:10BAF0004C3F5A3ADE7C56CA7C7D71EBED43849F05 +:10BB000095A219A7B7CE6725E3F8BDE07C8C3C056C +:10BB1000CCA77ABCFDC2F9D48EB35F2B1D43849FA2 +:10BB200095123F67156B3EB517B35F467C70931D4A +:10BB3000E4A7143F4E68C607673EB2D31A1F0CEE47 +:10BB4000BCD65B82762A33E0AE052158D7D985EB87 +:10BB5000CA88BF0CFFEF561C10E4FDAD32E7C75B8F +:10BB6000F25C7D6D11FCDC0B724D07B9D007F2075A +:10BB7000CB019013FA243CBFE626F845F027753A2E +:10BB8000BF5646E50F61DE58FFB7AD35049BFD9407 +:10BB9000AF15C8AF9C76A7407E6534DEAECDE07EA3 +:10BBA000E4F66C75C51A94DFDE049ED7597B15B890 +:10BBB000D261BF91B14192EFDB96B10AB43BA6ECE2 +:10BBC000E2F34E9F97D9270988A7FD43AD286796D2 +:10BBD000DA348CB76FD298717E05FC56B0E39A4484 +:10BBE00043F68086C178F77070FEF3287FEA326CE6 +:10BBF000863FA71ED88378F0D835D463B79CCC266F +:10BC0000BFEF48B6C430CEED70F4BD81716E1088C0 +:10BC1000BE173C1477B1C4C593CFFFF80D3C47F273 +:10BC20000EE86F8C6B66F8AC71F3EF353E67C3B806 +:10BC3000776393EB5ED18353179848F3B7F7F51505 +:10BC4000E214422ADA87191E998500BEF99483CE40 +:10BC50003D6C7786C88ED82EA8236DE8EF3938FF63 +:10BC60003546F9B5B744C10CB3E4184F921A933175 +:10BC7000F7BC091FCD1A8BFFE8787B6D8635AEFEC9 +:10BC8000192B7F641E56E6A5923117FDBE193FFFA2 +:10BC9000CC90AF9BEC5CDE44B733E773BDD1AEB75D +:10BCA000F59CFEA12D3CBF7C7958407D531080E768 +:10BCB000117893D3870594EFF1E6DF2B7C9CCDC6FA +:10BCC000E1DB7CB6F513693AC5CD7E8BFB413C24A4 +:10BCD0008C5DF7ADB8EEA991EBAE7DB384C5E217EC +:10BCE0009E47B8E5A0E469D3C27831F1F0DFCD37E3 +:10BCF0004EA4DD0C83B423E284D2068F46F657A609 +:10BD0000C8E3AFE9751FC9D379FD690B9D58CFBB57 +:10BD10004A7B3F12B4698C7DBFF5A0FE616978BC97 +:10BD200082C088B011E3421B78BC283FF4113F7FEA +:10BD30001B6062872B7CEE305ABE459FC7955C2DF9 +:10BD4000DF1F06FCB983329DFF0BD6B5FC6098E27D +:10BD5000740E15F3054F263EF4FD61987740565456 +:10BD600007F0C97724BF1FE5E01F45BF5A084B7E87 +:10BD700035DFBF3D03FAEF569F5FDBAFA1DCAE546A +:10BD8000311FDE187830340FEC32352D767CD5D467 +:10BD9000A3CF18783B690B4DC43CC287F975CF64BB +:10BDA00064C4681F7888FA9B6DC8F3E8FA57327844 +:10BDB0007E6EA7A15F97DFF5F2472FC2BC13B5F2E5 +:10BDC0004A01E695581E4ABF09F3216F1657A2B9DA +:10BDD000FF37467BB0EDAB909E3B72FD3F8C1C570E +:10BDE000D154D94FF26A7016D6CFFE4BF94FDEC44C +:10BDF00038D4F52E15FDB8B31E5B955834761ED099 +:10BE0000CF2B880FE55C37D1B9D9CFEBCEE19DC6FA +:10BE1000F9D9EB4F809DF27ACA70AE00F03F3E5EDA +:10BE2000707D3AD0EBEB19C3B9585FDFF687EEFDB2 +:10BE3000C057AFDBB8BE909FF8437710D63B7BC1AD +:10BE4000C7CF3D82BC7A999DCEF56D36EC1A73DC76 +:10BE50004999FCFCD5A44C8E4F130F87EF043CA4EA +:10BE6000C7C7C32FC7E2E19719D563F1B0B2403F0E +:10BE700084CF6192C937019D76B5B2D01A98A39E3E +:10BE80003578DD0CE8225B1BFCDF8F3074D3FBBC04 +:10BE90006221F5730CF1A99CEBFA449A10EEE7705D +:10BEA000BEFE36F673F8CEBD340FE7219EEF65E98E +:10BEB000411DE5AD0EFBFBB487DE3FC9F1687DDFB8 +:10BEC000DC8F3BF2389FD56571F9956AD841DDF674 +:10BED0001EF76228D59227BEA9C27B9D853D0DB174 +:10BEE000E8EF3799FC7C03B81C3ABED7A1BEAC344E +:10BEF00047D0D579832ED74ED4FF1DD79188E7DE62 +:10BF0000A07E4B0DE00FE639E1505A25F95B25ACD8 +:10BF10006A09F06766166F0FF33E4BED67F5A0EC0C +:10BF200062CE123EEF2DEEC718C60B9CE550D2F341 +:10BF300061867CE2647E95625599FFB7BBC38DEB49 +:10BF4000E82B433A28CADABE45063AE8471B05EC17 +:10BF5000D93C80312ED86B873668EFE7D8C9AF8AD5 +:10BF60005E9768CC6349AE2E6656C7C09363F8B936 +:10BF700047E0FDCDD3EC9E203C9A2DF63434235D72 +:10BF80002D70919E87E70D7D11F89A61D0D38C4C6E +:10BF9000AE9737FF4969C07C6C349E2F96DEB23372 +:10BFA000C7D05B76666C7ACBC9CC88416FC971E922 +:10BFB000AD283336BD15C7C243340C3D0731DE24EE +:10BFC000197166F9DC15C11F03AC08ACC5E146B8B0 +:10BFD00026F826E6AB8B6482F55DDEE07E8C43FBC3 +:10BFE0005D2D685F3C26F82B711CBBDA42F943C912 +:10BFF000A5D3FEEEC9F8C2FDEBCDD6FE67C7EADFDA +:10C0000095C9D7317B81CB8FFB36DBB0BF4D7C9E92 +:10C01000CA9469FC1F1BF41E8F1FD2B2C6E7873F6C +:10C02000678EF2C3A2CC8BE087A9597C9F615F6EBB +:10C03000CE1C971F5EA532B19CF34322F28307C743 +:10C0400063C17A37CE97D3FF9ACCEE2D180730F91B +:10C05000A326EB190B7F54008CF5F1D6979EC5FDF6 +:10C06000DA09B83E186761858DCED39F65D306D0B7 +:10C070005E9D50A3CAB8DE6F649AF3D6EFC8A47D64 +:10C080001B6648A7FD6C648F03F9AE969F5BBA21CF +:10C0900038A473B3A8872D86FA6F1AEFF59AF9B30F +:10C0A000CBF8F96826F730C44734DF3A4B06CBFCAF +:10C0B00011F8550CBE9D9BE57B00F1D5CF8627A3DB +:10C0C0007D63EE47F47A5A8DF1B47CBD35167D5F01 +:10C0D000485F3C67E88BE78C7D4DFD8BD2128BAFC0 +:10C0E00067DFFD53E2E778FDF419EF3F69CCC794B1 +:10C0F000EB8928D7113DEE6008F11C21D79FC4F9C8 +:10C100002A77765BF814F87D474C7E4F037E2F8CA0 +:10C11000C9EF7D71F8BD3F163EBE02FE7E2916FFB7 +:10C120006D1AE5BFF1F1FD0703DF7FF892F83E627B +:10C13000E0F90DA39F8BC0F71B84A7B1F83E9019BF +:10C140004B9FC7C7F791CC18FA18F0FD6666460CEE +:10C150007DEE1EA3CF8FC7DA7705C717A8FE5FB0A5 +:10C160001F96170C221EF5D51CEF66BBD64CD5B01A +:10C17000ABB57BD18EDE097618FA8BA0E7DEFF2FF8 +:10C18000DAEF8F63EDF76C91DB65F39E58BE25E81F +:10C19000FA4AC6F913AE3B7A9CBFCBE4EBB890BE2B +:10C1A00077197216F0C0B2AAC7CACB7EE35ECA92F4 +:10C1B0005CBF238BCBB3EB503EF53E902A609C3E98 +:10C1C0004F0F0968778BC678814C8D4AF3BD5E3975 +:10C1D00024C8D8BE4515F01C50447F295919F1FBDD +:10C1E0008B9E07CC2F3D8BE49B9E81EFB56646D995 +:10C1F0006D86FDD09FDAB316E5779121AF8B8CF574 +:10C2000099F0E989FAC42CAE57342CC10EBF0F8FB8 +:10C2100078A3FCE6F62197D7E67A44DF201B46BDDB +:10C2200002EE5C9F45EEAF7CC194FB788F51CC94BD +:10C230004DB93F19E7599865D21BEF2FDE3C6B0CC7 +:10C24000BD5963C86F1386795666717BB01ACB7877 +:10C25000F38CC6D3C5CED76FE87598EF9CAC8CF83D +:10C26000FD99E70DCC7DB3A390007FE37007E757FE +:10C27000DFA162B2D3AE1FD5D7BE05D89F9EA8CA94 +:10C28000E9E48FAA09D8EF4E237EBCF3CE47291FDD +:10C29000D6BF5EAD407B2E672DD777DA9DF9FD784E +:10C2A0007EE066A39F683A1D7DDF3E38794639E11E +:10C2B0006505E2654E2DB70F930FD1697BA617A8D0 +:10C2C000323253AA23E846BFB64B08BA9B91FEAF61 +:10C2D00073F17C967B69CCB887599A710D73BDCC8C +:10C2E0005D7581F66D3CEF98186CF15D4A7B479067 +:10C2F000EC8C301ED32A48EE29CC968E72CF914218 +:10C3000071B1FB0D7A807DBA8FF6090F53CC0AE329 +:10C31000756CFF7CBFBCBE1601F1EC2C83A1E0A9BB +:10C32000D31724FB49D47A883E124A387D30F7313E +:10C33000EA2F3C8F1933ACF3A89881F308F7DF6933 +:10C34000D27927C9838B9C8FD92E3E5E78BB605DE6 +:10C350000BC50B821B6486E7369E4C7C88E2098104 +:10C36000A0437540F947677E1F1A61AFE6FB7770FF +:10C37000BA6D9949E71559CBE558BA98AA233DCD2E +:10C38000F1300FDEB798A3B882E847B3F3F2C79154 +:10C39000798888FC94F079E2171A7F57ACF12F3630 +:10C3A0006EF14AD698B8C52B5931E8DE8C5B4C60EB +:10C3B000C341BCBF02BE1E8FA7A2D38776B347A3DB +:10C3C000759AEDFFC9A097E43876DF3F19E39AF438 +:10C3D000BD7C631D2B227902FA03F9B281A998FF73 +:10C3E00046BD8FFBBBB0E25BF4FC6C80A9783F4F8D +:10C3F000BF3E45C678ACB93E73BD66FF47A3F8B7EC +:10C40000D138777FD2C61A7EE2E2EBAD8C98D75F47 +:10C41000F2BD4723D76DAE377ADE075B03A17936CD +:10C42000CC6FF9A94C0BCC651F60FE50E1FB6D6F22 +:10C4300000CECAC634F3D06DEB600A5B25FF7BD813 +:10C44000EF5D977DF4305E4C195266B4A13D71CF1B +:10C450004278A790CEA74BB85F5F357DB4277D9B10 +:10C46000E2617B6C8A2AA963E9A37D7E45433A4950 +:10C47000AAC285876A003EEC39E102F85C56E142C7 +:10C4800037F047FB5B9E860C786FCA8EFFBB652B2F +:10C49000C28B05E3DC67AFCB0B786BBF8EC3E28E3C +:10C4A0009A8518D7695F21903DE1701772788FD512 +:10C4B000DE0BF3D7469AFFD5D95CAFB57B8538ED57 +:10C4C000B8FC73B98D768BC66FF75DB3DD4A7EFF1E +:10C4D0003F5EBBDB8C7103E8BAA07D7A4E2479DC29 +:10C4E000AEA7066F457C9D17E9FEBA10F8D75F62CC +:10C4F0009EF8486D96D6CDE383596EB23BD44397F0 +:10C50000C3F347EB4411E5D1BEABB3B6CE00B8A739 +:10C510004E14F03E9943F6511E13CFF8B6A13CD20B +:10C52000EE25BAE85C01F45C41F45CE0467ED5F9A6 +:10C5300073FD41FE1C2FCEF9A6C5A733A0A349F871 +:10C54000DECF4BDFF91ADA51BF175C2DA86986944C +:10C55000E2AD1EE8E79EDD12DD678B472FB1D6BB4B +:10C560001CE0376BA47EBC57F0664D1AADBFE77C6C +:10C57000EA0006B35FCF1BA1751EF18AE2068DD6D5 +:10C580005FED8E886FEC9BE5983C4CFACF3713E754 +:10C59000A5FF8AEBBB71E63FE7CBCDDF73C28FF31C +:10C5A0003F6FA7F90BBB3368FE476A8A29DF2B254B +:10C5B0007DEAC2F9C07A9CA85F60BED7E37CA589FA +:10C5C000C379281FCCF95EAC5C5CE6E6F223422E10 +:10C5D0002E8B5C7FB49C403BC0CDEDA34FEFD1E8E8 +:10C5E0007E1ED947F1E4D3D7DC972C9FBEE6FE022E +:10C5F000F209F07E37CEEB8BE29DE94C53C1069DEC +:10C600008D8FA89D4EF21E640C9D8F11CEB5101D0E +:10C61000839E56AF477A5FEFE37025D89820BFDB43 +:10C62000FD7E779A14BFFF57F37DADB82E5BFAB04D +:10C630007429F1F66EF718BDD51D899F683CCD971A +:10C640003E6EC7FB5A676A055AAF7E8ED17D477032 +:10C65000569271BEB3751BDD0391D5E176CCA72D43 +:10C66000D2E416949B7837598EC833A4E80A9323F2 +:10C67000F24869F5AA05CEF0B92DEDB31A344B7D19 +:10C68000B6BFCC529FBBD6638127B6D458DA170405 +:10C69000740B5C18ACB7B42FEEF259E0D29E064B87 +:10C6A000FB493BFC96FAC97D6B2DF55377B558E0F5 +:10C6B0006983014BFBCB77072DF515A12E4BFD8C24 +:10C6C000833D16B87A6887A5FDCC137D96FA59C3C9 +:10C6D000BB2CF557FD6ED0025F3DB2DBD27E361B20 +:10C6E0003D6F25F0F397A2269BF4285AEA79DE29BC +:10C6F000C88E9640FD4DCCFCF3D830DF3ADB2DD10F +:10C700003922B6D046E73782F01FEA575FD4B92600 +:10C71000BDCA7ADE03E861DFB3F0BEB7C6417A7402 +:10C7200076D479292F2B4AC67BA7B30F4A0CF3ADD9 +:10C730008B90AEC4B174C580FE90AE3E33E86AEC17 +:10C74000BA840BAC4B3F8AE7D0CC75DD88EB8271A5 +:10C750006F80758522D6A51BE7B9A19F8EB4C2B1A3 +:10C76000EB9B6D9C6B8E5EE76CCC674E18BBBEE896 +:10C770007CE6676E239F09766DE4FDA833C7F8FD5C +:10C78000A82036447CE802C987330CF809605FA111 +:10C79000DC1254C7AEC3CC6F7A838A07F1E3857E7F +:10C7A000FAB002630E11769053B3F25D629995EF81 +:10C7B000923CEEF1E90636645CFCC6A1130DFE8BDB +:10C7C00045273732A00B58D78D401788FF1BE52F20 +:10C7D00086CF826C2B3E3F63B5C9881BFDC61439DA +:10C7E000D6BD4E135FE0F7946667C4D72F95D997EF +:10C7F000AC5F2AB3BF987EB932FB4BE81790FF734A +:10C80000705C26FBB54BF15B16648FD1CF0BB2C7C2 +:10C81000D1CFA37E0BC6BD713E258BB95D06B61781 +:10C82000B7BF8629BEBD2C7B7CBF655976B4DF724D +:10C830004646BF658FED3BE49FE8B772FF04EC818D +:10C84000C66CEE97717F26C0EDBCB39E8CFD78441C +:10C85000789B11E70BE3415F85F3BFD8F5DF913D8E +:10C8600046FFDD913D8EFE7BBD8DC7275E3FCCEF41 +:10C87000FBBF912E8532001F8FB26974CEC5CCB735 +:10C88000D4FB19C541BCF2F65D8CC733EFC37EEB18 +:10C8900035AFF075173EBF97CA7874D766CCEB12E8 +:10C8A000E8AE2D72DF2E81EE36677F097BF252FDF6 +:10C8B000A84DE84741FFED1B397E82EF25F1BC888A +:10C8C000E14F6DDA6CDCBB6DE37ECF8F0CFADC6977 +:10C8D00094DFC8E1713FEF841AB263370A49242F0D +:10C8E000379E72507F9D36A18FF1F8F400E2637F8E +:10C8F000F615C968AF9E3DB42FDD1F81AF93061EAC +:10C900008E87F1F0436CFFDEB7DEF95A56241E1A0B +:10C9100056D33D8F301EACDFC530D76F5707E95C6B +:10C92000C735928B9FE72E6174CF1F28F986F95780 +:10C93000185770E0FD8EBC2043F998982D3192E392 +:10C940001A3F87D405FF919F2A3D134279F899A198 +:10C95000276D6EEBBD19A7715E2631EA7E8CD3B8C8 +:10C960007FEDBCC07DDDFDA69CB4B32C9C7F47EB66 +:10C970006EF641C4391FD9C887C59397470DBAFCD5 +:10C980004CD00F21DD9C36CE0B46B737DB45E36B31 +:10C99000FFF007DD53D3F11EB648FBC698DF1DE953 +:10C9A000AF996572CDC894C8737729FAB92991DF18 +:10C9B0003148AB675323E10C9F3235B27D56836A11 +:10C9C00081B3FD6E4BFBDCB59AA57E624B99A5BE8B +:10C9D00020E0B1C085C11A4BFBE22EDD0297F6D4F0 +:10C9E0005BDA4FDAE1B3C093FB1A2CEDA7EEF25BF2 +:10C9F000EAA70DAEB5D4BFC486176048283F277597 +:10CA0000D13C50B69DA796BBF11CD5C68C658A3F1C +:10CA100006BECD727F06A7F778F526FFBFDEEA0BCC +:10CA2000CD2BC5FBCF0D1679506FC8C5FDAD6BA9D9 +:10CA3000FE406B0B3D4FC9E1FBA93FEFD5F1FE0175 +:10CA40004C7D04F5BBA8E841DC4F87AE8C483C7FA9 +:10CA500091929381F69E9FF1B8B64E71E839E760E6 +:10CA6000BC88F57AD98AD0BC88F5CE559A2CF5F3D6 +:10CA7000D5AF5BEAEB8130AF045FE85AF7BD96E7CC +:10CA8000D769F75BDE6BCB6BDE81FCB7C96D67C81E +:10CA90007F742E8DEEEDA62EC27B1A9BF03C650EA8 +:10CAA000637FCA4E5E84F1F04DBB9BDD68C798F88A +:10CAB0006ECEA932F07DAD1BFDDFFD2980CF18FAC7 +:10CAC000E362F1198DC78346FEAEDE6ECDCB2FCB70 +:10CAD000E1FAD22C417E5D89785C7858FAD4AFE1D6 +:10CAE000FCC78F6B448F1F3D2EC8B7F9D8DFEF41CD +:10CAF000CE3FCAC6CAF725393CBF512F82E305F69F +:10CB000052BDADA7DE47F2A085F5413BF918BF67DE +:10CB1000B831E31A0FDE93F4E558F59359CA20585B +:10CB20004211724928BCB901E5727D869DE274F517 +:10CB300071BE9B76ADB1EE2F4B275F9C3EAA16E9E6 +:10CB4000AE307D4CCAA95884E76BE2C97BF8DB9F05 +:10CB50008378D1C07FE7723EE4477F1EF37E9C0F4F +:10CB6000D6C5E28368BD1960FCBC3E73D90D3DC8D3 +:10CB7000BF1778E6601ADDD38E47779B5A555586E6 +:10CB80007D3DA36AC9782ED3FC5E0518C0EEC8733C +:10CB9000CDFF55ED4CD83C4F18DD3E80FFC4F885E5 +:10CBA000DB45EBA2AF97D165237F199E8FE833F762 +:10CBB0003B4F7F1CF13427CFF724964CF19791BC63 +:10CBC000C8F33D9583FA431D857752BD1B608CBF2A +:10CBD000E277672E22FF00EF0DE470BBD8ECE77917 +:10CBE000825DBC1F805FA471D247E15D549FC7DBAB +:10CBF0005FEC3811FBC9D73DC4BF47FAA9AC27E3A6 +:10CC00007755970556933DB622F0752ABB5AD51431 +:10CC10003C5FFB7EAB5E8EDFB558B662868AE75E10 +:10CC200056DCBE9A4AB37FBFC12FF64299BE73222B +:10CC3000158ABEE7899E78DE49027387E3B5C3D0C3 +:10CC4000B723F3917E14BCF70A76B27FBDB7BCC39D +:10CC500072CFAA87E13A9D9AFCE7483FABCDA61F69 +:10CC6000203CB82E2EAF33769DC01030EEA7AE928A +:10CC7000BE20D1719D1A2B7F64AE375EFFFE38F265 +:10CC8000C15CAF89B7E873AC9B4BEA7C98179504FD +:10CC900085BE3B859F6B20BE4A520CBEE2ED5741DC +:10CCA000FF2F239DCA1E0DE97495319E64E4415700 +:10CCB00001EAD6A786C76BB3F9FE1DE9610C1E2FEA +:10CCC000124F27500EDBD0CF1974D2BD39A60A916E +:10CCD00072BCC13837050A94F0B9F9A1CB07107FAF +:10CCE0009B9BFF4E11617EB65C6EF76E293F531D14 +:10CCF00004780B1BF9D600DACDEB9318FA5F0D4DD3 +:10CD00009F55477ED777D5BEA7543C1FDC50DA919C +:10CD100081E7115631F9D3483B317A9E0D81BB89A9 +:10CD20001E836D3C2FC08C7D5D15E4F77F4C7875BC +:10CD300017C085E86F71BE5D65D899E6BD1F2929CA +:10CD4000DD8E764953D07AEE7E7597156691F6A9F9 +:10CD500014F6DF8278B901D7B551247ADA895FF009 +:10CD60002DC6F3D0212AB7E139EE8CF07C26AE1720 +:10CD7000683E7EA61ED00BC7CE67CC3C9866C77EA9 +:10CD80002E763EDBF254FE1D1585051361E874C056 +:10CD9000FD10E247E6E7D61E739970902E95FA4A89 +:10CDA000781ED6A9F17A33AF9EE5EF6398B74DAC04 +:10CDB00062743F44C476E8F7250EE9785F7CD1CEF3 +:10CDC0001717B927437D89DF8DF70E003E2C67E0EA +:10CDD000F9028029CEF3E2E1FD79F4DDA929783E5C +:10CDE00058E918387C7022E39F5AA23CD2C061D423 +:10CDF0005BFD268C172F613DFD09A3B0AEB8012E57 +:10CE00001A858308F71AE75616ED1C38DCC1F30FB4 +:10CE1000F5B9D598371649FF7859521FDD27FD8A95 +:10CE2000F3C1FDEE353DF87DCAA0C6BF47BA9931C2 +:10CE30004B7EFDBE5C3BE1FD9D3CFF2DB9D03E69C4 +:10CE4000FD0885A7ECD97212D257781F8608EFE14A +:10CE50007D18E4FB503544FB90543E44FB50A09DAC +:10CE60006145B09E825A1E76D7601DF4DD880E5152 +:10CE70000DE18392549AB758C5F3EB4935828AF68F +:10CE800050B7713EE1862AFEDD05D5C1FDF4BB72C7 +:10CE900039FDAFCFE5E7B7D6E7723B2859DB40E76E +:10CEA00016957A91F2F0C958BA22D7DF61BC271BD8 +:10CEB000729AE36365813F901B110781D52CC4EF03 +:10CEC0008A2985E9A99817F36AF27DE8577EDF3849 +:10CED0008F05FBB41CF172B82A2DC1CFF7AD95E0D8 +:10CEE000E87D33D675A17D8BB75FA65F1CAF7ED979 +:10CEF0000A89EE338B8AFFF19B61BE77ED4EA3EF7B +:10CF0000D11D6F90AA8600BEFB6759741EE44903C9 +:10CF10005FF788239928FFBA9E69F361E978B529FC +:10CF200098AB85BFD760F67BCF6B5E3AEFB42171CB +:10CF3000422DDA4DD1F3387EFE9F5DB80F87F07B2E +:10CF400043E5B4A1148F5C45CCC546BF63769B21F5 +:10CF5000BBFED1909FC70CBBF8B83C4CF1DEE36E32 +:10CF6000F0BF296F6BFDDE6AB34FB0E3A77756853C +:10CF70009FF3B866C0F661E4772D9AE4C5761C0F7E +:10CF8000E48C255E79F3D2C5F47D94D586FF0EF24C +:10CF9000C6527F7B54FC737943D89E3D4BFFDF47DD +:10CFA000F85AAA71BB70A9C7D187E7AC6EF659EDE4 +:10CFB000E077FE2AD177F28EE3BB80EFE38D930614 +:10CFC000B05D343EEC799C3E8F19FEC1287E18B5C9 +:10CFD000654B7DA7081FF83D10C97A4F9AF0712163 +:10CFE0003CF859CA35F85A341E562F05FC148D5D8D +:10CFF000FF71D947F8390EF8C1F847343EAE9116A3 +:10D00000DA30AFBF7AB1C022E327E67CA3F1158DF9 +:10D0100017B03F8F27023E3ED8CAF305478D754BA8 +:10D02000A1FFA075FA302EADD23A4EF3EF43A8C659 +:10D03000F9008DCEC7DC0E48C47BB037A1FEB0F43A +:10D04000EBB3635CBDD938A737468F488D0722E321 +:10D0500036D1DF35899E67F43A1619FA62CCF7D5D6 +:10D06000E4501EDA0B7FC935EE7D4DB7C6B7595572 +:10D07000464CB96BC66BC2FCCEE96A5560B1C51FA0 +:10D0800012987F1456413FAE734B1ADEE37EAB21FC +:10D09000E37114534B149EDF63D242B2A73E5B2F61 +:10D0A000D077619630457329481F22E95BDF3C2722 +:10D0B000C166BF677A3EA1EFFA07FDAC05EFE3ADAD +:10D0C00083EE0395E175AE73DB699C68FB247AFD02 +:10D0D000397946BC6A3A9B7E29EBDE81DF70A1B8C4 +:10D0E0003E3F5733F275C6062AC2715696A773FBA8 +:10D0F0003593E75FA7E7A518F6450BF96917116F98 +:10D100009D9E1723DEEA62C3367CFF36C515A273E7 +:10D110002801DBC7A374603987E2671847EDCCB9F3 +:10D12000C38372AE3361C2740C9677619359E487FE +:10D13000CCC2FE3B13F8F924A6F17B6C09F8BD00C4 +:10D1400009CF8181FD1E81A731FA78FF9A5DFDE943 +:10D15000F8FD3899BE032F3285F483FF7EC1F05766 +:10D16000B5CE3D5564EFD239D55501DB99C8FEFCEB +:10D170004925F4FD1C7F2120A402E7398560C9CB35 +:10D1800046F0103A2BE3FED2E8B841783F22CFE4D4 +:10D19000C76DC6FBBD8A92497E545744FF45B1C650 +:10D1A00003A9354EDC2ABAFFE8FE3A8D73989D76C6 +:10D1B000CF900EF3ECFC8554D1C6F83CD1DF5C99DE +:10D1C000275AF44CB392A6CA11F7EC4F67BB2CF761 +:10D1D0005CCCD27CCFC4EBA85DC6EA8EECAF0DDB95 +:10D1E000652E7BED118B5DC66A8F7C19BBAC23AFBE +:10D1F000F608DEDBFBE37BD7527EE54C0B08AA8A00 +:10D20000F0392919CFC5C13AF38D73524CD6262374 +:10D210009E9540AE655DDBF234E2FB344DA7FBAC7E +:10D220005035882E6D9AECA1DFE978D4FC0E809100 +:10D230005F7934474DE9A6EF1BF1735872832AA03A +:10D240001F69DAFDE6F866FF69651E01BF1F162F2C +:10D250008FF154DE25E7319E8AC557878496F7BF44 +:10D260008BF9859F4BE4F7AC74DF4FCFA3FDEAE762 +:10D270008CF1B64AFEE7B09FA1865FADFC0EC6B941 +:10D280005E7550BCF9AE6F7FF470B5867882FD9FF5 +:10D2900041FEF6E318DF974A45B2CFBB26F2F89C71 +:10D2A000D426905FB859B3D7BF0AE54B39DE21ECDD +:10D2B0004FAB0FBC8FDF3B3E53E6B3215FBD9433D2 +:10D2C0008F9E9F29E3E752CFB8133CA8A7CCF73B2A +:10D2D00013F8F76C3BEDBCDC9BC7CF15EF35E8EAE4 +:10D2E000A746D965F397B594E3797A8136C95CBFCF +:10D2F0002207E9BB10CA39999E4B8240FE626782C1 +:10D30000BFEC5B117833FB55CE81709811EB7D3B00 +:10D310003DC7F5D0FBA9D6EFECFED278FF97C67CCF +:10D32000947389345E672ACCCB15D9CF04FE5C8C0C +:10D330007D8FB82A6FEE9B888F9772F4A13CE21B19 +:10D34000431EBA0F9E10265C8C5CE4F9A521379829 +:10D35000FDB8DFA06F4A413E77979DD9C8E591425D +:10D36000799908BBC4C8FBF3EFD9ACC27F517F23C6 +:10D37000B6AA2ACC4632ED69CF583BE67DFD2CA6F5 +:10D38000ED46BF4B63DA8BC0E607F0DCC36F0CB031 +:10D39000C955720DDAB137D6723B6935DA495C5E30 +:10D3A0005AEC9A68FBC7C5FC2A7E3FE876B7ACA268 +:10D3B0003D116D0775EB3791BDD00DF602DE5F8A2A +:10D3C000B6834C79B33520329467DBAA6C64D76F8F +:10D3D0002B1BFEF91CC44B95AC515CA36C68E95C3B +:10D3E000AAAFA671DEC45767517BD27B414F02E1E1 +:10D3F0006F51F5DBF4BB08A372A1EAF464D43BBD22 +:10D40000C63EE27768E76746E081713BF97677B11F +:10D4100048F692110FD9FF40027D1FFD7D8FAB0FA3 +:10D42000E3B9F38D7CD7EA6D12E5BB56579CF4E265 +:10D43000BDA8D51B05B2AEFD2DBE64F4B356ADBF7D +:10D44000C98EE717D466570B9E055A15B0DA4FD12F +:10D45000FE3A5814849F66C04F2C7B2BDABE8AB6E6 +:10D460001B0A271A764325AB44BBE12D23CF65DA8F +:10D470000F8B8D3C1790877D71841E1BBD2F2FD481 +:10D48000954D04FC37CB3C7FCD6A6F22BCCE973ED6 +:10D49000FEF91CE4FFAAA2225C6F86E1FF6D0BFC83 +:10D4A0005A41FF73DB7989F8ABD7CE487EF6565EDA +:10D4B000F95C1BCC6FCF0353B23E80FAAB26DA8DFA +:10D4C0007B61DA93B5681FFDC246F22C9EDE5302E3 +:10D4D000122B017E7306042ACD7D480A38991CC19F +:10D4E000E749C67A32AA4684A208BEBE6E229F5F72 +:10D4F000CA7AEEC702D1EBD9E89F694503E427CA8F +:10D500001AD905CA448DBE0B6FB67F4CE0F900FBFB +:10D510006EAF8EB1DB0298078EA7C13C50BF1406D8 +:10D5200012092E0AA451591C48A1B224904BF5A50A +:10D5300081622A2F0B14D2F34981A9049705665002 +:10D5400039395041E594C055544E05BD82EDCA03AA +:10D550005E2AA705AEA7E7D30337517979603195E5 +:10D560009EC0AD545F11584D6565A0899ECF087C63 +:10D5700083E0AAC03709AE0EDC4BE5158107A99CF4 +:10D580001968A7B226D046ED6605B6107C65E07B2B +:10D59000545E15D84E656D6027D59BFC7704FF0956 +:10D5A000FAF586949755FEFDE910D93DBD71E45F0B +:10D5B000D7442E3FCFE5E92D13ABC3EDB646B537C3 +:10D5C000DB7518A579AF4F54424A31F9D3C595E8B8 +:10D5D0004FF702FF67C3FEDC5D5834807677ABB14E +:10D5E0003F8A8D7FCFD0F49F53E6F17B4277EF6E79 +:10D5F000E2F9869AB48B8AC7DC3391BFDF2B07C967 +:10D600003EE86D61F4FD6567C99080FDF4BB65FA85 +:10D610005D157BF6A77B308FBFA85AAF4279A8056E +:10D62000FD14C7B9519F4BF0EE8936236EA33F829C +:10D630007C535095B100CF49147488E84E63DCC523 +:10D640008BB0368FA921168E77F42758F5D0E04499 +:10D65000D1888F0C3F86ED7BA79754F2EF12F17BB8 +:10D66000455B1F2822BFAED71E12F07B6F41702C86 +:10D670005E888853F67636BF88F67C519767AF820E +:10D68000E3073D33707E8306DF15F668754EE8AF1D +:10D690007887BED709CF4BFBFC7509004FDA15DC44 +:10D6A0008BE5E4C1BEBA4428A7EE0EED45776B5A70 +:10D6B00068B8CE05F0E507D93E446BC5903637090A +:10D6C000E01927F47D68D6560FFBE74EC07DB2F710 +:10D6D000B54F80F9F4FE8679DA00AEF9B8470273E7 +:10D6E0003EBCFF6067FD24625F14AD47477CE7DD09 +:10D6F000A752DCA4571E76A6948FDD9F7E5C37AEC2 +:10D7000033C0BF1391A78FD03EE455B1CA20ED03BB +:10D71000FF0EFD8D3ABF4F7DD2A00FD88710D25F8C +:10D720007F82EAC5FA91F94CC5EF5DDE90CD7F5757 +:10D7300021716311FD3E90497780DFC98B9322F7F9 +:10D740004130EF9B19F6E1F8F83DF93F04BFDF40A7 +:10D750007AAE8E8FDF1B0CFFF3427CFCFB301F7F09 +:10D7600014C9C7D1ED52F3797C291ACFBDB23A85DD +:10D77000F0E56262B082DF8343FB29295FBC24BCF1 +:10D780003AF2FF67E0F543434EC4C32BABE1FEB86A +:10D79000794F399EBCD96AAC3B969C6314372C24D4 +:10D7A000399797CFE9AFAB8BC70B4D39E778D51BCE +:10D7B000C2B8A129E77E7721F965C8992D38855926 +:10D7C0009171D269A4FFCA8CFDEBC8D52FCB47B9A4 +:10D7D000539E6AD0078F9B6E11552FC9993A7ECF01 +:10D7E0001BECC08E34DA1FAD927F269091FDD35B87 +:10D7F0003985E20885602FC895F41B53212C93AA24 +:10D800005411EF919BE7E098DAE48EE433539F875D +:10D81000F9D0A48754CA6F209D62FBAF19F30CF7AF +:10D82000C3F3259DF7E758F234FD9E1C7ACF6C1F99 +:10D830008F6E3B4CBAED384A7A23A996DB07C91D97 +:10D84000A944C7C9F3FC78A338E2BEA7DF8EF1452F +:10D850007FBE7449F4BB2A9FC7F3FFBBE9B71A3FE9 +:10D86000A4538D717F957E27A800F48E06F5FDE008 +:10D87000B3A754A15EB3933DAD31BE7F5A2DEBC328 +:10D88000DFB7017CD1EFE305C524CA4301BDCEA7B4 +:10D89000FDB7A7A8B8FF1DB9FEBBF3C7E10335511B +:10D8A000ABC0CD6CED9D73A32B1BEF5FAA0908AF36 +:10D8B00007782BFAFBA9C3CC801FC1FA2F1A1F6867 +:10D8C000CD9FFD26C6074E4FD4BF9B9FC1F3005886 +:10D8D000EA93543AEF6AD2F185F4BFC98F61FE51E1 +:10D8E0002B4CFEC1EFBF81FCDB1CC917F1EC997911 +:10D8F000F95C5E3E9D7F217B26D52B733EE7FC6362 +:10D90000E6757BC6E77373BE5DF9E3F3FBE6EB7E7A +:10D910001DC4D6661C53898A5738DD9D43E87F3A7B +:10D9200017B2538EE96837F338A6DF88632A254A91 +:10D93000541C53207BDE8C5F46E79DCD38A6F91D35 +:10D9400089683CBF926F3D078BF288F2CFC67A7A26 +:10D950003630FEFBA54724CA539FD5C58F50BF9FC5 +:10D96000AD024420031AF74616E22B44AC2A43F9D1 +:10D97000833F3D8A7E2D7BC8A3E0774117FE596027 +:10D980003ACCE3D09F252A65E6A338E622CF9E3C19 +:10D99000067A6E4FC53FE7615EECD02980611EFBC1 +:10D9A0002B66D2B9A68587F7E5A15D1B3DEFE5FEA5 +:10D9B000A698E747A3D7BF7CE5DB2E941F3BD53A5B +:10D9C00005CF85C5CBEBFD4BFE685EEF6DA4A7A42C +:10D9D00035231DF8432D1DAA48793D335F95ADBD14 +:10D9E000ECC4FC5CF69DDC6ECC617DF47B22D174D2 +:10D9F000BBB2C0FF3ED2FBCE70DEECD065E9117940 +:10DA0000B37B726AEBA083A746F366FEA338AE9E93 +:10DA100036588174B6B3EA15FA9EC1423BF8A7881E +:10DA2000E719EFA663DEBCB1FA8D0C9C8F19A78EA7 +:10DA30005EBF198F8AF637FF237F343E4F71EAB3FA +:10DA40009E9B9343245B62C7A9CD3899E96F621C02 +:10DA50004C8D21A7A3F16D8EDF2870FF92D9F87746 +:10DA6000F90F1BF80639201420BF76F07344BA432F +:10DA7000A07344673D6F94505CA42AB65F301A17B8 +:10DA800067A1D258F9C2C638E732B20AB89E6EB45E +:10DA9000F1F89F70EF1B6B705E8D154E01FD639961 +:10DAA0008DD8F03CB8A380EB9B559ECD747E353A63 +:10DAB000EEEF28E0FEE6427BA84435E2829E18FCA9 +:10DAC000140F1F276C3D8B70DC13B74B0CFDED85DD +:10DAD0004D33B3C68B27FF1AE90208F5DF0B188D0B +:10DAE0003BBA5F78B92F067ECC731CD17995D1FAF9 +:10DAF0002627C58FCDF31CE6F3B9C6BA6F37F0C43D +:10DB00001C3D65B83E3CDF817C79B1E73AA2CB553C +:10DB1000B0FDBB2B2F7CBEE3F6028DE77DA2CE8548 +:10DB20001CC1784869D82EBA61D4FEB0C6433E13F2 +:10DB3000EAAE2B888C83942FE179E57D4E3108F392 +:10DB400075BE553A80BF5F36629C076C2895E91E0A +:10DB50004BC3DB9207E5BB330E1F99E74E4C38F100 +:10DB60009CC0FA22E474A23C48F1C6C473323D8FD3 +:10DB7000E6B7D2026B5EC8DC9F78F832F727FAB9B5 +:10DB8000B93FE1764F95611E7F7302D78BD1ED9F30 +:10DB90002AB0C6B3A3F3D3665E36FABDFB8D71CE51 +:10DBA000FA6765A1FC6DB0074B2F86DF4D3C1D3F2A +:10DBB000FFA48AFD3AFFC4BF3B69E6DD6FA84AA512 +:10DBC0003CFBF10689F20149D3D47E3CCBB4AE8054 +:10DBD000EB1D530F46E7EF56B1E01ED283C6FEDCC5 +:10DBE000807AB02C9CCF4BACE2703C3D68CEEF62AB +:10DBF000F378DF2BB0CAC7D13C5E1C7E33F96C25AD +:10DC0000F267F585CF232CB7F373CBD1CFBF318A21 +:10DC1000F7A76EC66F0C7FB35AA4DFB5DD06FF43CE +:10DC2000FA0D56F1EF51BF7BDE41BF9793542D3E65 +:10DC300087BF6774A2E9DDA573519E54DB282F309E +:10DC40001A4FDD2AF5E1EFE02EAAB691DDBBEDB16A +:10DC50000AC2E710C8933B6DD86E037D0F34A198BC +:10DC6000B5486004BD5BC6EF7539811F705CE75F26 +:10DC700097531ED9D9E46AC1DF4F3C62C8A150D383 +:10DC80000FE87BDCAB27BB5230AEBA58172C79DAE1 +:10DC90001B6B9C96FCB1491776E6C9C4EF6D39B78A +:10DCA000D9286F3D776AEDB23A8CCF6EB531BAAFF5 +:10DCB0002084F3BB1A7D3FDC88F31AF6C4309E0F34 +:10DCC0002EC5F8EC07746FCBFC9DDBAF3A3E6BD2F0 +:10DCD00059345D1C8FE263532E99F4114F2E45C4C5 +:10DCE00069DF437D372A9F4A96D23873A7BEC64E56 +:10DCF000BBC272C9940FBF36D6FB6ED9D667F7C2C6 +:10DD00007ADFF5F35B08EF9EFFC11BB8FFCEAF0BC8 +:10DD10006C03ED93C3178BFF279A721CF3E66561C2 +:10DD2000BCAEF087CF21231BDFBAD67A0E395A8FCB +:10DD3000C49753E3CB9FFE026E47C53F376823B9B4 +:10DD4000BC65A874007FD7EAFF01E04B890500801D +:10DD5000000000001F8B080000000000000BE57DA4 +:10DD600009785445B670DDBEB797EC372B0924E12E +:10DD700076201020090D040810B54320C691A59106 +:10DD8000DD44E8B00B0182328A234A871040C48FF9 +:10DD900008A88C32FE0D233E9E0E4E44461905EC1B +:10DDA00088F260C625282EA30C46164541892CDA38 +:10DDB0006EC33BE754DDE4DE4E223833EFFBDEFF7B +:10DDC000BDF87D16756B3DA7CE56A74E55CFEB2CF3 +:10DDD0003196C8D8FDD9E7FBFBA220654DBFDE9A7E +:10DDE000C0986F6914DBA63136A9FC52FFAA1CC685 +:10DDF0002EE3DF758C4DDDFF5B5583FCA4CC1589CC +:10DE0000BE482C7FC885ED20DDEE83EF61DDC32B9E +:10DE1000FDD9508F29171B1D8CFE2E3B5BDACF13CB +:10DE2000E3450465E6EF67FCAEF1EF4A1D5323B10D +:10DE3000DC46E5BEA1D0411EA4C7257F3534FD6B6D +:10DE4000477707AD3F631F77742763BAB8A33B05D5 +:10DE500053BD9F6A2B9B5407E3CB16E67D361B47C9 +:10DE6000F724DF14D552EED6F8F83585BC5E7DE296 +:10DE700080E45390567FD227D90AE30ED614C6A069 +:10DE8000BF57A306C43466B7B40B4DD72DAB0C0CEB +:10DE9000CB047C2DF3521A035DD741FB0796CD09C5 +:10DEA0000CB332A642FE59C8D7583DC9B1867E3A56 +:10DEB0006BB1D47FF4A09D0D1980E76AD5A24A1AF0 +:10DEC000A64A09E26D45A452F204B5E370D744B9FD +:10DED000B7F99C08879B8D8FC2F60ACD5F8954BE27 +:10DEE0006FC62F96421FD8AF0E57E87CDD9A85DAB1 +:10DEF0009DECE8BE4E83745D47B71BD3258ACF8E59 +:10DF0000F85EE280F9B7D1AE58E02B49F4CF58A4BF +:10DF1000FA692F31AE8CEB53F9FF1A717D962BAC59 +:10DF20001AD24722EEFD8F46806B09746B875451DD +:10DF3000A11C5287E250651763BBD2BD6370BDEE72 +:10DF4000945DA7BD0457656F0FD04DD992BB03C335 +:10DF500060BDD57836D513D97A1E65B09E88DF327C +:10DF60009C0FB43F6A0DA4215E4FA60F2D43385A73 +:10DF7000D55F722FF5B7A293F78154282FD4D845D7 +:10DF80003F0EA778351C6F35FE7B10967BA663FB92 +:10DF90008935161F837916B228BF84F3D2E2184B55 +:10DFA000616C0BD37AB02EADFB0788092F6FE23F6F +:10DFB000A1DEF134F75C840BFAABC0FEDCDDD515D5 +:10DFC00032F6931F4FE3445FA11FA0F3ACCAC82BE6 +:10DFD000E39345727CDA6C0E758D4AF8BC1BC7035F +:10DFE0003C0E44B87E293E578AF535E073A5919FD3 +:10DFF00042F1F9EDDF3BB8114FE75DCCC5FAB4CF84 +:10E000001F8E25F1AA62E0EFD5B1E679ACECCBF337 +:10E01000EBC5F85A2AA7CF27C5FA3A9614B1138050 +:10E020003ABB83F9C2FA427E0473237FACB7B1399D +:10E03000463A7D528BA2FA8FA70F7D12E7BDD229F7 +:10E040004D22B86279DA2CB7B4422AF78BFE9F448E +:10E050007A86F1B664C03CA0BF58C1BF7AFD39587A +:10E060003F11D3A14F72FC6A3D10AF36596E139F1A +:10E070004F0BFE7A2095F75B2C4712FF4E7F40F640 +:10E08000DB25E2DF51C307303685BA82EF7B1BAD5B +:10E09000E9589E22331FF0055B623D8EFCACC27FC7 +:10E0A0009733189B092058807ECAB33D3101282E32 +:10E0B000F7F1729DDF41AED902B00ED3BC91954805 +:10E0C00007D3579BCB671EBDCB87E3BF3988A952C7 +:10E0D0000AF6A71C6FCC6A91C74B8E1ECE7D35AB5E +:10E0E000A5FE7E2D2AE1D308F8472E73215F1F5E1F +:10E0F000B69B9D0019748915C48C85CF6318970F42 +:10E100003079DB18833EF8765943EEAB584F1AFA54 +:10E1100017C4EF3485E391316F9651EE76EFC4D793 +:10E12000B9319CE33B147F9F887559CB5809B6479A +:10E13000798AF23B4E669524C7A15FA4BBF51D3BCF +:10E140006E592319E870922AE1E27D82F887F6F190 +:10E15000826E141093317148479D5405F3C0529854 +:10E160008FD7DCCC02EDE0539D0A788B575C920B85 +:10E17000FA6FB435D674007C35F560AEAD305C878F +:10E1800032B5BE03D40B1FA6315943BA62D1F95838 +:10E19000DEC7E2DA0AF9D871EA4A2BE4633516875A +:10E1A000CBDBE81BEB467CAF9DC45419F822CCC9ED +:10E1B000E5FCD4A55F330B7C4F2C00503494276AC8 +:10E1C0007132F2F724E6DA06EDDE58B19C6518F0FC +:10E1D000F1BDC0438C06F40E7870688CD6B190A562 +:10E1E0006D9125633D0EEF8A4EEEEF3492CB6AB807 +:10E1F000278AE898215E5876B87F1BD41FCD1A1560 +:10E20000943B8C35302CD7D28B2E233DEB7CB4D273 +:10E21000C2E6703D59E9E3F85563D750272AE15724 +:10E2200001FCAE2178387DEBF8D5E7119FE59254DB +:10E23000681F5EC6F933745D339C7CDD7B74724766 +:10E240003B918F7EBC7C59063E70083E082F73CDF3 +:10E2500009007C612CDA25C178619ACADC90670ECE +:10E26000C99F2921FC95C44761F9AE7819E735C3E8 +:10E27000C29424C68A447BF724267D0A742C231D6D +:10E28000933C55D8A73A5DE347B7EB553FF43BFCC9 +:10E29000F668D71AE0338BC3EB45B88625833E0278 +:10E2A0003E08EB5A5988F4F0DA54DEC77AC0475D6D +:10E2B0001BFCFD402AC7779CEC4DB6A8D8BBBFE13C +:10E2C000D5025ACF9E12F41B697BB4E1601ACA7959 +:10E2D000F8EB88FF7BB4C11D89E57A9E0518CC6BED +:10E2E0004B7873DEED4826F9A3E77D987F1C8661A5 +:10E2F00083A1D0F968C38A48A4F3EB399D578260A3 +:10E30000E863A06F5C1FC04BFA24C6AA52106C9041 +:10E310004F512DF4DE326F8DF3453B74AFCB2B9014 +:10E3200027560DFAFB40664DB8DEE3D98A7B705C58 +:10E33000D5C1D4FBA17FDFF78067470B9ECFED9D52 +:10E34000F8DA63507FE5A26817EA75EB504E77D68E +:10E35000DFC4F8AB49AFFB695C8965115D8D9B2417 +:10E36000B9D6D0F2342DC0FCE43D11EA1A27F6F3F9 +:10E370007E1ADA8D7FBFE7421483F97FAC3445E122 +:10E38000BC4E2F7D270AF1F7F7A532D9455324AEAD +:10E39000AFA72EFB69C034C84F73723ED9E7744FE4 +:10E3A000761AF43F5B9248FAF8563FCCD420DFE669 +:10E3B0006D8F1044C7F3F3EBE24D795D0FCFB7B328 +:10E3C0004A5CFF797FA8B7758279DEBA3DB60FC285 +:10E3D0007C1A0408E2FBF4AEB42D688FFD56F0C33E +:10E3E0003EA767AEB33F9F9717DA7DBCC7CE022426 +:10E3F000AF1AAC2C92CB7D09E8DDCB876A35AF0331 +:10E40000FB3AD9503ECC9458939DF88E1D40BC9E4B +:10E410004A9619D26BE8BC67FE5DB5E13ACE2C6432 +:10E420004DBE3E384F69E59D795C0FE03A84C215D8 +:10E43000AA37A6D72DB231A43139BB18E5DBA5D553 +:10E4400012C9B750FD01F2E0C04BD0EF0CA15F66DE +:10E45000D69ACBCF1FBCFDC06368BFEEB6915D37C7 +:10E460001BF58BC1DE0FD52FEB9C42BF0C60032F39 +:10E47000833CAA8ECC88F1FE8C7D7D7A19D4B5338D +:10E48000F6C53207A56797A9944E766A84F779BBDB +:10E49000EB0F74227A6A18807A79E4A122C7CD90B2 +:10E4A000BD2D59D64E227F6C191B784C437A05FD41 +:10E4B000E9447E0958913FAC205122615E358004C9 +:10E4C0009CA7AC42DE08576DFD6B2FE1FE07E0DE36 +:10E4D00006708DEC9F69477AAD66EC22CA1F7D7E7F +:10E4E000B725DB689CB2907D4E28DCCFE8700F0426 +:10E4F000B865D4A7D96F69AC7DB8757DDA1EFCED1F +:10E50000B59B0F7AB22DFB5DE793C9825E673C3104 +:10E510006665479840F5DECFD21B2389EA89AEE5D0 +:10E52000CD921FF9514E4E22FA72203DA620FE14C4 +:10E530009F804FBA2C119BBCC70CF43C7B4F04D17D +:10E5400041722799D9F3F10BA74FD90D7204E9391C +:10E5500092B777304715DA35DE3DF7F0FA2FD95408 +:10E560007B32F15DB285D240B2259FE8F5A4895E89 +:10E57000579BF34087A6FC57D6C6749417407F2755 +:10E580008DEBF095D4F63E28E0CC207CCCD0DCC5D9 +:10E59000A8B76632CF4A95F8B496BE9F566A0FDC8C +:10E5A0008D7CFE84C47C80A7F92FEC781EE5D3DC3B +:10E5B0003F3E148DF2E973A53609C7ABD85613ED6B +:10E5C0004639A5F8A2B1FDE77E2EA742C74BCF90F2 +:10E5D000847C75474BA0B716E03F91006634ADFCD4 +:10E5E0000D8CF30DE019F97CC1AEEF287FC0ED680A +:10E5F00062C9D86F6331CEE3D6F2C8CA2A285FB8A1 +:10E60000DBCC7F73FFE3A124347D017F9D04FE3AC0 +:10E6100061BB054F585D68172E3822BB709885ACDA +:10E6200089E00B6DBFB0EE848DE4BB8535A50E6926 +:10E630005D0E968E0DF96A215BFBB59C0BE9AECFA2 +:10E640003F649886D89173845C0EA5FBA80C33DDDB +:10E65000037E5CA8E77D30AF4CACE4E772BAFA3FCA +:10E66000ED6E1B7CFFFCC30E5BECD0DFD927FE1ADE +:10E670002D65B7F00163CB695DCED675F95979F197 +:10E6800095E097663D20F48FB61B26D801B27B78C3 +:10E690005A610D440F01B82BB6585D48FB153B6419 +:10E6A0007724DA4B7FB393BD51B1E302D16F85E498 +:10E6B0006E92FA1038D128BFF5759BB7E35431CA72 +:10E6C000E77960B78F00969CFBDC255E1FE83D0C68 +:10E6D000E5F1B39F14DF8D79901F8E36D6ADA8AECD +:10E6E000DED618D9C6BAD57D52CCD00FF19FDFD275 +:10E6F000BA7CBE4F621D9CADDBCFD976C686FC7A54 +:10E700001616488DC57594CB6D316DAD5F60D48B99 +:10E710007954AEAED1AEBC8E5FA2CEEE4FF4FECC3D +:10E720008B30FE9C0FEDAE1138DE33B74733A0833C +:10E73000CF944A4EF7BFAB4942BD3CC7EA4B522982 +:10E74000E5DFE73CFE6BA2C7D9877F9DC4C89E74F6 +:10E75000A758481EF85210BE999BC7137CB39897D0 +:10E76000E871CEEF640FDAB7971456F26C1BEBBA70 +:10E7700041F08D9D2DCAFD0DEA29E8690DC0F39980 +:10E780008D919DE17B5B26FBD6CEB61E93E0FBA56B +:10E79000864489E4D761AB03F1B3786F2CD1D3EC15 +:10E7A0000C6EB7151DBE548CFCB5D8A954DA558231 +:10E7B000DF2CD760759501F81DFE32B0DFF3B65B34 +:10E7C000A0FE45F8FEA8CB549FF0F5D9567BB8D4EF +:10E7D0001BD2246E47C3DFDB281717F0BE5AF89907 +:10E7E00069E711FE5732B81C5EB8FDB3E24791EFFE +:10E7F000A64556C6007E2E1E3961EB887C9160616D +:10E800009938AF86539467AE442D26B9051F0B7710 +:10E81000835D61E4DF274E85F0AFB91CF437E16D0D +:10E8200021EC24D62420DE9A8A519FFB60DC6D30D7 +:10E83000CEAC8D50DFC0AF2D74616BF9EE6CE13F53 +:10E840002697C5A07D335BF07BE87A85F2FF03C88D +:10E85000FFBD5AF85F6FCF3673BE6F4FEFE9765842 +:10E8600085D5FF24E2A9E26F7617CAE18A1D9CCF05 +:10E87000C0A06CCA04BA3FF387FDEFDD0CF09CA981 +:10E88000B3268CA051CDF275CE4EE053B447C18E65 +:10E890000A23F9FA2DD959C945A0D760FE67123C61 +:10E8A0000CE9BA157FC2F736F9338191FCFAB7C982 +:10E8B000D55DF77F2D47B7CF8FB3DB91ABBB43F06F +:10E8C0000AF6440C0CC3BE786A5E67948FA1F8D533 +:10E8D000F11A2A1FC765686DCA47F87B8F19F0388F +:10E8E000F7E92F49DE7D03F24E5651BF005DA3FECE +:10E8F000867D02EAFB05FEAF295F837A8BF2F5E3A2 +:10E90000A4DCB6E036E333B4FC6EDC07F56F597F68 +:10E91000EB72E68B827E9BF6CAFEAD30B5735A531E +:10E92000741CC05713C6FD07E754918FD5F36C6A6A +:10E9300039CCF39C2F57F561BB3046FE9F739EA6E2 +:10E94000E858F46F0AFF4EB5E342AF93FD801CC355 +:10E950007EE875D2B04FAA8E12F59379FD66BFC4DA +:10E960001E395A43FF809FFB2542E9962C43F46BE6 +:10E9700008BFC570F9C767D07F77DED7D582FEBAEA +:10E98000F32B2EF1BC9215C7D0CFC3AA08CE93BEED +:10E99000EB93604EEC14F3BC3784EC2AB72D05F0F2 +:10E9A0003E9DA384CD39541D8D76BA1C957700ED1C +:10E9B000D1598070B4B367AC0DB103847D3B6BA3B8 +:10E9C000B5857EE8FF7EF20FCD16F6FB9CCDE6F214 +:10E9D000B97BCE10DDCD0DA13B2FCE25A535DDD9E0 +:10E9E000BB08BAEBC3FA20DD0D97232D48E7E70EED +:10E9F00072FFD6F91556B612E1FD83E467D0CFF960 +:10EA00003D32C9E9F3BB799EF912899E75FAD7F1B7 +:10EA10007716E9B27BFB7AFDEC9FFE3EE06EA852D2 +:10EA2000F1FC47B98F417AF6F9BF757B09F32FBC2A +:10EA30009FFE116B5DBF68DF7753685EFBEC0CE7F0 +:10EA4000756EDF7FA5A33E3EF7A2DD85F47C6EB92F +:10EA50009DF6CDBE7D51A4EFCFA5713BB17AEFB746 +:10EA6000B98D24C757D0FAF4ED62A3F4FC9E1F8E33 +:10EA7000A15FE2FC1EBB86702CDC1741F6F2C217C8 +:10EA8000C3FC0CDBEFFD96F67DFF2E7816D8B85F41 +:10EA9000F61CD0E34EA4EB58EEF75AF8D2A0DF579D +:10EAA000C1F8F377D5DBA64379D1CB3FE5A29C3AF9 +:10EAB000B7B3DE86720CECE0C791BEAEE9B2F641A8 +:10EAC0002BE0F92BB40D3B023377797D0C9ED3B448 +:10EAD000C60BC7C339C003C205789983F66B7BF8B0 +:10EAE00018F7BF161F5F4FC1F12BF60C64E8CF6912 +:10EAF000C18BE4E6DFA3FCB09741F8F9F77DDFE6D0 +:10EB0000E2BEFC4AF0DE86F026FEDF81B7F67F2DFE +:10EB1000BC9CDE93BB707D154AF7ADE9FA853B28B6 +:10EB2000FF4C948BE67B95FC5EF77F8CBEDFFC5F31 +:10EB30000BEF95D6FB9058EF28D54EFEC39FD2D948 +:10EB40002F80FBCBFF4FE9BCD92EB2B81C7930BF68 +:10EB50000F997F7CA144D607D91DD5A08EB1BF8661 +:10EB600071CEAD32DF83D07E6414FE1BBAECD89533 +:10EB7000EF3FAAD9F161E5B87F027B621BF9B18F43 +:10EB80002B4700EE066F01D90976C6E9EA5282E307 +:10EB900049DC4F8D768FB53E8C76B797EF5730BFF7 +:10EBA0000BEDDBC17615F36F56C17CA0FE9B5116B1 +:10EBB000B55A6B1F3FA3120E4E92C0DE1D9D6FDE35 +:10EBC000A7DC1CB2DF9838C95C3E816D4D54A0FFB4 +:10EBD0000973ACCC2FA15FDA5C3FD84525BC4C64EF +:10EBE0009535DC8F73453CD1FEB02155DB2AF3F31C +:10EBF000677607C0335EEB7A1BFA618A9BF1741B60 +:10EC0000D312C85F41FB4CC62CB45E0D09F94FAE60 +:10EC100031E2974F05E0FB46C94BC0FD1E23FFCDF7 +:10EC200028F74F944F2E72909D6C67B07FE4F336B7 +:10EC3000ED37EDD435A4063C0F25BC7AACBB10AF44 +:10EC400083EC6AB5CBD49EE0AE76F7736891FFF3A0 +:10EC5000F84DEBDA367EF5349B354D413B339A4522 +:10EC6000BB707F1EED48654A023527FF219E6892E2 +:10EC70003F7028AB237F60BE72B6198E0C2A0FA09E +:10EC80009FAB7A11B4477A4C651A3FC72EA338035D +:10EC90008979D9E588167BF3AD7CB0379D9412BF96 +:10ECA000BEF504B72F2F153CB7B20FD01FFABE7DAB +:10ECB00003D0AE157FBEC6326C27338B0BF7C1CCA9 +:10ECC000EDD6D401D82FE78B987C8B691F1CEB0EF7 +:10ECD00037E127BE24CE944FF47434D5EF3029C3E6 +:10ECE000549EE2ED692AEF34A7AF299F5639D854D4 +:10ECF000BFF392A1A6BCD3F72B53FD2EAB6F32E529 +:10ED0000336B6F36D5EFBE699AA9BC877FAEA9BCBD +:10ED1000D7F6DB4CF99CBADF98EAF7DEBDDC54DEAF +:10ED200027B0C654DEEFE07A53BE7FC3A3A6FA0332 +:10ED30003FD86A2A1FD4F894A97CC8E99DA6FC355F +:10ED40004D2F9AEA5F177CC5942F647F35D52F72BB +:10ED5000BC63CA0F573F32D5BF3EF94488DF43F545 +:10ED6000DD0E74A154F2F3BE1BB433A6FAB0532BDC +:10ED700043BAB10A7AB831EB82A97CA4EB07537F7E +:10ED800036900F787EEA40FF30A4E1AC8ED248D6B0 +:10ED900040E9E0BEDEA7BBE2BEF571DF4A24AA3738 +:10EDA000077D9B8E7AE3AD82DBE9DCEB52323F0FCD +:10EDB00056589382743DDA11E9C37DBFCEB7D14175 +:10EDC0009905603F1A1394285583112C00FBD2D863 +:10EDD0006018A571C178FA1E1F8CA53421D889BE90 +:10EDE000270653284D0A76A1B443D0496972B0175B +:10EDF000A529C11E94760CF6A3769D827D284D0D23 +:10EE00000EA1EF69C14194A6078BE87BE76021A5BD +:10EE10005AF0464A9DC11B28CD088EA57A5D8263B3 +:10EE200028ED1A2CA5EF99C1C994760B4EA7B47B97 +:10EE3000B09CD2ACE03C4A7B046FA5B467F0766A24 +:10EE4000D72BB888D2ECE0DDF43D277817A5B9C1FF +:10EE50006A4A7B07AB287505EFA77A7D82F751DAFE +:10EE600037B881BEF70B3E48695EF031FADE3FF8F5 +:10EE70005B4A07047F4FE9C0E0164AF3834F533AD9 +:10EE800028F89F940E0E3E47ED86049FA5B420F807 +:10EE9000127DBF26F8674AAF0DEEA7EFD705EB2925 +:10EEA0007507FF4ADF0B8387281D1A7C87BE17056D +:10EEB0000F533A2CF8117D1F1EFC1BA5C5C11394DE +:10EEC0005E1FFC84D292E0194A6F087E4EE9AF8241 +:10EED00017A8DD8DC1AF291D11FC81BE8F0C7E47A7 +:10EEE00069B31FA1C01A22179BE59FE532EEBB2331 +:10EEF000E3DAF4BB35B717F2F8C188C719FA3F4611 +:10EF0000554AB42F7F24E2AB57494E0EB26B98AFEF +:10EF1000C1AA297C1C3589B15BF01F1A63F583EC0B +:10EF2000643FBC790F6FB7B2F0C4D1DB51FF2DB293 +:10EF3000338C530895BFFAB86FE5EF4F44BB6B6550 +:10EF4000DFC60AF4C33CE06C2CC3B44326D7A3D17C +:10EF500099DC8F9B98C9CF9F46F7E5FAA46C5126A0 +:10EF6000F9F359C2D5C1355EE821BDFE073D54EE27 +:10EF70002F8A6C4A277D7195FD5C6DBD2BC5617D27 +:10EF80001B96EEC7C3FEEFBB7A7B65B6117FF54FCC +:10EF9000F49397D9FFDFD2CF353FD70F53DCB6912B +:10EFA000A0FF4AC5BA1FB57A26A1DFAC31CDE25A1F +:10EFB0000E9F6A129FB72E81BC3D85FB9B60DDC909 +:10EFC000EFD9784476A1AD322DC4FF6BAF30FB95FD +:10EFD0004A415E16027D942E963FB1E7B62E6F74BD +:10EFE00033A2B35515929FC735D6BDE684FEBD6EDC +:10EFF0004713EAFFD29073E4AA452FA419E330BD6A +:10F00000159F1D4538BDE23CC37B85B8A62999668E +:10F010007F29804CF07C04F0E0B9C8FEC43B0E0EA2 +:10F0200040F8DE9019EC048029EAD2085FABB91FE2 +:10F0300055F79F96837C7603FF7E94F87C1AFA033B +:10F04000F7CFBF3319EDF35535CF5AF15CB0316DC1 +:10F05000116351463AF2137D36A6311BC6CB96FAA0 +:10F06000162948EF560BDB4C7EEC74E6DF06F3B551 +:10F07000442CD5505FC8221E4F6FDF28F8454F3F04 +:10F08000B670BCF91648648FAEB25566C5F1FEA8DD +:10F09000DD413C1701384E3CE8DCBA1CCA4B14E693 +:10F0A00050FA9AECC670F2E72B30A6D1EE6466BB3C +:10F0B000F27E74AE737AA678A11312F78BE21FFA70 +:10F0C000D7A91DC6132995EE2A186F0653B54755C3 +:10F0D000033DD48E9987EBF3B188A3C13F8CF72908 +:10F0E00045BA01FC972E8D70F780F25A211F803EA1 +:10F0F0007C467FA655E270B0F912E10720AEC0BC95 +:10F100007DAD3D638DD3300FAC0772F26B215F4E46 +:10F1100048023F55A21DCCAF10E90AE787F12969E3 +:10F12000BCFCE403927F2B2F67C9909F7EA423C56C +:10F13000594CEDB07218233A64E8E364DE158B0293 +:10F1400058EE85C5D1705FA430C506F82C17F15B69 +:10F150006CAD44F15B26F8603E276B9E7D0DCB1BAA +:10F16000252D43857E9F17F36B4CE37035E2F858ED +:10F1700057F17CF03EE4A7FB6219C6C5E8F82B5DA9 +:10F180005BB588115DD759EF423A391BA5E13EAD19 +:10F19000548C3F55E6F129A17843BE43FC1E1778F5 +:10F1A0003D794F54F378681FC3F853306E91292E80 +:10F1B0008ADFD3E7ADD3418D5419C0F9F824A6FDF9 +:10F1C00009F71B621E358977309CC7892FA334F459 +:10F1D000FF9FCD8CE3745D7527ED874E966B92DCB7 +:10F1E000C7240F4CF342866306BA09A537AB45AC7A +:10F1F000B7E0079D0F74FAF928939FDFE9E9F7025A +:10F200003EC60CE771327E17FA40D0EDF5C672E8C3 +:10F21000F7FAD4450CF9EF63115FF57EE64F37A19D +:10F220005FF4D79942AF689559C8F7FAF8F0E72626 +:10F230003E11746B8F74B87B003E3E13E3D74820B9 +:10F240003791DE1EB0131D84EA91BF34CF93796DE0 +:10F25000BABCB5E0778DBE97AEB5BBC3A0BFD2DA5E +:10F2600017EEC4F392E3225E01864DA7F55105DE49 +:10F27000045D3D29FA7B52B4AF812C9E7BFA1EB40B +:10F28000F37350411FA1F8D5E5FE31DCFF42FF0FBB +:10F29000E32783FC0EEBC6FBDD2FB3256DC54B7456 +:10F2A000EEC6E54F3D96B771FED1B91BA76FB71EED +:10F2B0001FFA237C1F40FB6D668C77EE28FAD1F392 +:10F2C000C551160FFA696E7CA4EDB89549DDF9BCFD +:10F2D0006E5C5777F16DA48F893617DE4778A88A60 +:10F2E00099E27A3B8AF16788FA6C525C9BE78BA1C2 +:10F2F000FAFDD812390CE56E6DF08BA7FF08FD877B +:10F30000796C743A13C61A9FFE23F2DD3846E3ED9A +:10F310008F3947F9E811197D314EAAD69D2161FC3C +:10F32000D9658137BDDF0DF996123CCFDE1F333A28 +:10F330006506946F1C33419A619867A21243F1915C +:10F34000F5F6D1297344F91C28DF77D3A7BD489F70 +:10F350004C5497623CA963045371C9E35AE23FC31A +:10F36000B03E8E3BC780A7B811BCBC7E6C71CA4C46 +:10F3700068573B62F9206CB7718C2DAC2BCC77436E +:10F38000892F5F36D02594FB709FBF6A185016C036 +:10F390001196DA772986B48529CB0EA2FE6505CCB5 +:10F3A00085A4556FEF2C19FD5EBD055EDD5DF97816 +:10F3B000AB34F339D8BDDDF9BAEEEACEFD89AFC87A +:10F3C000EA8F38BE6FB44545BEB84FD252907FAE7B +:10F3D000955D79984A5971FC5CDFD1B900F961A358 +:10F3E00004FA308F8E8784BCF7F8503FDB34A512C7 +:10F3F000E5B2B5858F1DE43711FA8B8E8A334CE563 +:10F4000044EFB3BAE9FA8BEB0DEB305B86F0D790A3 +:10F41000DEA076308F07258FDB6A9077F02F92FF82 +:10F420008940C818FF08F2591A63D0E7D6719E794F +:10F43000280F37083E8279A618E3A0EF16F4B02112 +:10F44000D53319ED5FA6A81296AF9754290EF0B5E3 +:10F450004894EB71E6C0E012D919A29EAEBF575F87 +:10F46000C3FCA8BF5737CB033E6F9B809729DE4074 +:10F47000D73C8C8FE67A4D1FDF56E021BD6B1BE633 +:10F480005B84E97D1287C757C8D8B63E780EAE9820 +:10F49000E4F243E36DA40F1F4C51FDE82F5CD72D20 +:10F4A00056C82B4F8AC09B05F5AD1DB72088AF34D9 +:10F4B0007532D71F950CF1B25EB70B14467822B4A3 +:10F4C0001AD6C5EEF6B8A7915F8869F120CBACF9E2 +:10F4D0003ED227D671CFDF897EAAF52D7685DB86D1 +:10F4E000F0495C3EDA4A6C24671F12F8B20D7B9E2D +:10F4F000E463E8FC75BDA2AF67281DB492FF21F953 +:10F5000075636C2938DE43B03E64CFAC483ED0759D +:10F51000009970C22EAEDD3403F0B0D169C1080885 +:10F52000B67AC4DB0CF9ECBE6499CB66B0009AFDE8 +:10F53000772897A400BFA724E8B86AD16723F17E93 +:10F54000CFAA311695EAB006773C94DFBFD9C6D072 +:10F55000CE5562C705D0EE0ECFB7ABA8578BBA67B2 +:10F5600010DDAE1BB9BE04DB45F6B110556EF41CC0 +:10F570008F427E7C59E8C3C1A71B8A62A03C7E846F +:10F58000DA17F95BFF3EE86440C6EF7125FCFB909B +:10F5900091B5E89C83BC8FF4DEBAC2F7460E44FFF7 +:10F5A0005CB6E212F35D2DE37CAF61B4BF8B19163C +:10F5B000508BA07D6C2A1FD73D2C503210F38B65E9 +:10F5C0002641FDC82F130A517E0C9162F9BCF07FD1 +:10F5D000226E197D6ED55691F7CD1A3BA740C4A176 +:10F5E000839E7DB7DB820DA86763D15F9247F55597 +:10F5F000A247766438E5BD8013D04787AC0D644FD1 +:10F600001C025EA882C647BB713BC31251968CF0A8 +:10F610008F8CF72958DF56C4D856EC5C3E4AF5ADBE +:10F62000FDB40CA3FD7154E883667B84BDADA5A237 +:10F630003FDB6DD3500ED4169AF5879E46E6D94C23 +:10F640007E9FF06C73DED1D59CB7A69AF3FDBBF319 +:10F6500071753DFA5048FCE137DDB8FDA2A72FDBFC +:10F66000B4C538FF97C3A35006419EF3BFEF2B45A7 +:10F67000C84157C158837C99D2DD66EAFFD89213FE +:10F680000FA0DEAAF56816A39CD7F55242C87D16D6 +:10F690003DD5841E1E19EFAD6CEB1E4BA290F7D525 +:10F6A000CB96B013992DDF65D15FFF23DE6A8CCB3B +:10F6B000B0A66AA40FF5F208D16E794F7744F744EB +:10F6C000839CDBDF4372E618FB1771F4915E37C64B +:10F6D00091B149375D613FCEE38F74FB25B47CB4B3 +:10F6E000E8CF7D05FBA3A7A877B5F6C75CB19E5709 +:10F6F000B23F7A0AB8178AFA576B7F14C98D179CE4 +:10F70000686774B610FFAD4A5DCFCA0DF3F8B598BF +:10F71000EFF06ECC147FD55EBFA1FBDE6BBA47B6AF +:10F72000197FD55E7B7D9FFB8518CFE97ACC81F66A +:10F73000E57A978521DF1CBDE11515F3175C0A39C1 +:10F74000CF8F3177585BF7D91C4199B9E3814F715D +:10F75000BF0CE9DE6E1ABFCFA5D5321CDF96CCE513 +:10F76000517BF6A6BE4EEDD99B29A2BC67774678A1 +:10F770002CB17B27915E9AD4D7444709DDCCEBAD01 +:10F78000E35D97972F9D3D7E7F6FC07FE2382E2FE0 +:10F79000BF11F36CA6D371AE029CEF753FF60EC39A +:10F7A000FD44F10D9C5E42E7A3DB9F1D05DEF4F9ED +:10F7B00084D6EB2AEC247DDED7FD78CE81FABF78A3 +:10F7C0009085E2205BE34132C1792C38F822D24B9C +:10F7D0007402D737D1E32A0F52BE2B23796ECDE7BF +:10F7E000F65951E7DB1CE1D99C9EE64622FDD8A9DB +:10F7F000BD4E47D7B613271E97C5E787F69B4CF635 +:10F800001BC8698DECB41FD14EF4F5F090DE8FCAA1 +:10F81000E278DD28713BCDE754289ED0A07F6D466D +:10F820003F437B76DA63DD43EC34CD26F6F7DC6EBE +:10F83000890186C6F3A2503B48D7F7609FB9AD094E +:10F84000ADED20ABB083747B6AD520B0A784DFC058 +:10F850003AA0C58E5A2579C91E6EB6FF1416867653 +:10F8600055F48838F20B6D1CC3FD01EBC07E922964 +:10F870000ED8EB437D79DFBBE1A4BFFFDDF6C816F0 +:10F88000A4BFC4167B04ECA3144C8DFB06E3BE425C +:10F89000BF47152FC6AE9F58C9F03CD03EA2966117 +:10F8A0005C7A5C577E1FABF6C70D81EB703F30E290 +:10F8B000A6AE88877D161EAF1A36C222617DD5ADF1 +:10F8C0001678397E5390CEF77D1F9E32CB401FFBBA +:10F8D000867EDA6F06B45F9D69A37BCAAB857FC65F +:10F8E000F71DBF5F56D4A55B8A66A81F14FCB961DB +:10F8F0009CD78D7EE1D5CE24BE5FD2D7278BF3CBAC +:10F90000BA3113C8FE7A256219C903B29150CEAE3E +:10F91000E0FEAD50FAFC54F0835DE063E3484B98A1 +:10F9200083F64543695FF469F730EAB75689917009 +:10F930005CBB9BC35F3F569B8CEB5C9ECFAF61C2B1 +:10F94000FEC6361BCA4F750FA7FAD1AA6E8F335267 +:10F950009AEB0A93B6AC31F8B79B845CAF959A9258 +:10F96000713D1EB2EA76ABEB10EE731E4AECDA176D +:10F97000E965DD350F4F427BD77A6F0EE945BDDD76 +:10F98000824CEF39D4871F0F9DB069067C9733BA3C +:10F99000A523DC5B043FFE5D650ACAD5BF8350AD7D +:10F9A00092B07F4F031E415BAFFDE6D7D3346AFFB1 +:10F9B0006D48FB2948BF7AFB6B333DDF778774FDC9 +:10F9C0000D13C84EDA304E4BC179D8341B91249EAA +:10F9D000F4637EFD70D6D7E8677A4BC8236B16EFC9 +:10F9E00067DD9895C938AFC3DD3501AF87F66DFA8D +:10F9F0003E65BD7365F234DC1F0DE3F22651E85B12 +:10FA0000D86F52BCC0BAF1DD28EE00D7731A9E7FC2 +:10FA100009F80F77E7FD6F709F4F9EC9907E34A263 +:10FA20006B7D9CFB709C2E642F501A83EB6BA0EFB8 +:10FA30000D4CFFD3F634211DA6A97D10DFCBC5FCEC +:10FA400063C7897DB03D86D66FE3708F1FCFF59178 +:10FA50004F66D2FCBE21BCD44FF410BD270AFE086D +:10FA60002BE1EBCDC6D9FC994E239F0CCD243E0152 +:10FA70003EF0129F644848DFFA7CE34A1A9F437FB6 +:10FA8000407D779B8AE8B956E6F05CADDE77BF1221 +:10FA9000C6EFC9B96C4490C909AAE549CC1F91FDCC +:10FAA00019306EE12B616E51BED578CEB256EC970F +:10FAB000AA973116E8CE9AED1C8AF5E8C2C897A934 +:10FAC000F78BFD0C0DE967E532070BD85BFAD1DB4C +:10FAD0002BC2BF15DABE08DBE7B5B45FBD4CA5711C +:10FAE00043DBDBDA197F58C8F86B96258BF61C5E72 +:10FAF000DFBB32B773453FF676E6313C641E4AA45D +:10FB0000F9BC3E743E8E76FA290EE9C79E6C3EE73C +:10FB10000FED27AC1DB8AE0F812B4C8BFBD97EC2ED +:10FB2000DBE9872981E49B725AAFAFDE2E42C0A188 +:10FB30009F23E8F522B2CCF1071F93E4067C667997 +:10FB4000EECEE2E73BB9E45758CADF1D28B3D467CD +:10FB5000E2BB0265CB039486D26309ECD91AB85F85 +:10FB60003809E5A6B372700CEA810B6BFBC7E0FEA7 +:10FB7000D11BCDCB25C53B10F325FF983ED086B0D9 +:10FB80007C18C570FD6EE9C2A6DE04DFA74A7C1EA4 +:10FB9000B754DF5082FBF5F5595C5EBFB50CDF4210 +:10FBA000C0FBE40EE606FA7B07E808F3EF023D60CF +:10FBB000FEFD651AA57F5B9645E9491BB7CF6E111F +:10FBC000EF16E07D329CCF2661776CCAD2FDAA8BFE +:10FBD0009331CEA6E41FEFF4C7FBB8096CE4B8E19B +:10FBE000698C358AF73F46BBCDF72C278D33DFA3D1 +:10FBF0002CF70C3195B3AC7E2D79F2B330D247D3CC +:10FC000056C76E45FB77F2887853FD09AB3B99F2F6 +:10FC10007FCCE2F2614C4917D3F79BCB7A99F2E59E +:10FC200041B040F07C5D4BB6F8A0FF8BAF5BE9DEE6 +:10FC3000DDC5CA811DEEE479D2E7A1783FA9DF7B5B +:10FC4000794FF00D7CC775B8F4411AD9E725FF80CC +:10FC50007D3AAECB53DC1F3C7D93C47C681C34F9E9 +:10FC6000285E6EF116BB0BEBCDD824336F3F9C8D15 +:10FC700044F07D713873EB1A5A47DFE358AF09EA55 +:10FC8000E1F98425622DB5FB3C8C6978EF717AA38C +:10FC9000E84FEA4BF1FB4717AD4AC7F1E627413978 +:10FCA000D8475F8EAC9D65413928BF9E88E75B5F72 +:10FCB000EE94295EF1D645EF0E50019F730FD4BD2F +:10FCC000970FFD9EAC95990AE39ED96EDFC2E3D4EF +:10FCD000DC1DD0FFD502AF9FE2F8866678DE457A5C +:10FCE000FE62963F97E28E9626123DB7819759EFB6 +:10FCF000235E2CD1DA3648EF98EE9A8070DDB1CED3 +:10FD00001AEB938CF42EEEB1887E7C2C2F05EF2B12 +:10FD10009C5C6BA57B7BC037A3E83CA336DEC2FDB1 +:10FD2000853B89BEA6299A0DC79FB656267B427F82 +:10FD3000FF40E74BF6A0EC853D16F3AD96BC787F0F +:10FD4000C2894406E3DF9E164EEB7AFBA2811D10AA +:10FD50001EFDFE72A85EF80A78C66BB89731772F41 +:10FD6000BF17C5F2540BC6D38F6A18BE0DE773FEDA +:10FD70006097188CABFAFCC8582BC71B8F67BCB5B3 +:10FD8000BA3E5703BC9F19E9FB5481F43776EF4F15 +:10FD900088B7D329750FE3BD82737B7E9F8EEFF307 +:10FDA00034E27B0E86FDBCB7D90F697ECFE1923479 +:10FDB00054EED1DFF08E83B84FCD14FF938FA23D68 +:10FDC000FD6107B2775AEBB72A8E0FBD3E883C7EA5 +:10FDD000FF2B9024011EBD1AA3FB96A5AC4EC49127 +:10FDE00071FC69B848803FB542A2FB27D32DAE29EC +:10FDF000EFA01DB83C4AC5F5D4FB3F21F83AA50752 +:10FE0000B72B74B937BE079707D3F573A47DDC7E93 +:10FE1000C47BAAE8CF9B4320D2FD371BF2977E4FCD +:10FE200035AB479CD87F34D9EE4CC0FBC4367A4FF3 +:10FE300065167ADF215FB1DDEEF7C3FA4DEFA15110 +:10FE4000FF736D3B1EEE8BD59D9574FFEED65D1254 +:10FE50007B54C2FA5B8A290E97B14A7F1FBC87EA9E +:10FE60002F6E80FC7C4DA90CE0BEC2CFEFAB3A40B8 +:10FE7000A0A05CF131FFCA38E87FA638EF66DBA1AD +:10FE8000DC2077E6D799EFB72EC47BADA6F31CCF65 +:10FE90004ADC77CD40FFB84AEF7A98EFB1D55AE9FE +:10FEA000FC47BF6FEB8988A278C7B91B795C47CB49 +:10FEB0007C6476197036CBEB3F308AE0955C7ED659 +:10FEC0007A3EB371BC841678AE34BFD0F9CC72716F +:10FED0003953512BF9FD6DCC4FC76F4C01D3506E88 +:10FEE000CC7B42227FF4F0844584E7B980E778E850 +:10FEF0007796CF133D310FEF0FB200BEE700E8A6B3 +:10FF0000F2859BF93A0062DFEE9AD4B2DEA7129A2C +:10FF10006C88A753DEC84A1FDE7FA9FC96D6FF0077 +:10FF2000AC33F2FDADCFFA6DA85FCFB0DAE848E0B0 +:10FF30009B8A4D870F20D99EDAF85C12DA8B6571A7 +:10FF4000814C0BC8BD78DFCE8D25D7B4D0E1AD7E16 +:10FF500033FCF3B69BF3A1F8F1310FE9AF56787299 +:10FF6000AC6DC038B056EB27E242D156463B7FE637 +:10FF700013329D131AEA99CEF5E6F89AE89ECF1C43 +:10FF800080B35AC5AF3EA2C79960A5E3FEF997CEEC +:10FF9000B715BDC965446F9760FDE5B6E8ED2AE782 +:10FFA0001BEA9F7AB08788CB70F1F766F01EDB44BE +:10FFB0002C14764BA87C09BD1F78D4AA5A96C3BCD2 +:10FFC0009A0EF3FB61171555E8D34C3F8A94F6E47B +:10FFD000EE2CA11767A21E84F4D34DCF45E37AEB34 +:10FFE000EB3E1BF54B768B7EB9637A200DE9E68EEE +:10FFF00017C25C3E1C7E44E0DDBB20FFE5B3326BE4 +:020000022000DC +:100000004B0E9E747A77A0FCD4F5E47C794BBA8AC7 +:100010007A51C8C52BED0FFE59B8A6215CFD50EFF3 +:1000200073B88EAFE6F09C58CBE19BD10A2E1FDD52 +:100030002BB8E3F77617F67B3A2C407AFB34C055A1 +:100040004DEBCAED864B0EA0A33E640F90BEFF3C65 +:1000500091EBFB66F86E7BFF9802EB7E6BB7865CDC +:10006000BC8756F6A09DF4FBAD7FE2F78ABE900AEE +:100070003B901DFB6A201AF1367727C75BCB7C9A31 +:10008000F5FD3B88B7667D7F95F8C2C318D48B0B0E +:10009000187F6F60C19E0EF4DECEDA425627D37D04 +:1000A000B346925F403A749EC8769BE3ECECCCE595 +:1000B00070E0FAB413778C8601BE7B320BEB031C25 +:1000C000DF647E3DE536C24F5337E2EBF08015DF4B +:1000D000D1687A56A27783E62F2E8C2E64381E8F35 +:1000E0001B3D2FF4D52521E7247725C585FA34A6B5 +:1000F000AEC3F96DE6F1D1EC155647E78E9B393C5E +:10010000B0172778244D65657D799CB903F55BA40C +:10011000A54DFF48979E7C9CF9B285ECE60A1BB77B +:100120009FCF897D8545945B7AF27DB3A3278F7B32 +:100130003807DB51BA0736DCEE47FF03A8A9F938C8 +:10014000BFC39285E2B9FD3DBDF69E506FC5DFECA1 +:10015000990100A1C1AAD534C2BAAE889D45F74D18 +:10016000A7C0175CDF51F98BB663BB631D992AF3F7 +:10017000774C3CCC1067F6A6F5E8F0C5E83782BAB4 +:1001800032EC394AF33F4BC3FA9B310F783816569D +:10019000377C31B6772A0CE3DD7D7BED640F588721 +:1001A00036A6D1BE2D1CF6BE7D302E717F0DD2D568 +:1001B00081E4F82C15EA4F55C25DE2BEC3B0AFA191 +:1001C0009E3287BF63C15634F6C7F5E9CD56A8B84D +:1001D0007E00F5AECBF13F474FE677832AF03D9B9B +:1001E000C18C135A3EE1D594AFB0F1F2414F258C4A +:1001F000DF980A79DC33201DDC20537CD1F8FC2603 +:1002000005DFD34142190D743C31705E71E3BABA17 +:10021000B5BA18C8070E99DF2D1AAD68568433D5C4 +:10022000CD2A65B29FB4E1D8DF07BDF879B4C4B276 +:10023000283FAA84C5113F3A342BC2EF2991FAA274 +:100240009D5DB1FCEAE67BD3539DF97C2DFCBE4855 +:10025000D35D3C1E698A5267C5B8A518A636F960F9 +:100260003D16C6D5D17C9A808FF0BCAD5469A4F1FF +:1002700053E7B0385CAF0A508E084FD3AD3C9ECAEE +:10028000E2E0E5651A94C3FC36792D49E807F2F4FB +:10029000E4F6D97C7D3FA734D6509CDA24FECE54B8 +:1002A0001F989E717D16DA9AF77D1AF6370FCC02E9 +:1002B000AC376FCF0B99F4BE96A45970FC32D1EFD6 +:1002C0003C476400E300D91FCC7C7D6F4FF6B3FC44 +:1002D00070B7687F774FBEAF9C2DF883B13AD2D705 +:1002E000F3F6FCD707B88F6DAFFFF9761620FCED5B +:1002F000B513FC92A5A92BF99318BD7880FD646213 +:100300007E16C8279CFF5D3DF979A64ED7B344DC25 +:10031000A205842FEAD1D9CC671BE46CE39E2EABF7 +:10032000253B65EE13A1F77B0D718FB2496E51BC71 +:10033000B0646B9A81E34BD786B9509E97DAEA682E +:10034000FF2FA13CCB6A9167A1EDACB5DC5EB3AEEB +:1003500095C8FED5FDB276B0DF50BE97A736E5F062 +:10036000F711B4627A2751D8D9B3F854E07B85C924 +:10037000CEB6577EF6213D8AB589DB958AB083A734 +:1003800087BCE352BEDA607752B74D2487AC4B236B +:10039000687F6B0F79DFE563CB181FCA755F46ABCB +:1003A000F307619778188F0BE6DF15616F3ED0D3A6 +:1003B0006ABABFA2F3FF68BC476D90AB9E618C5DCB +:1003C000DB17FD08921FE960B4BBF0204FAB02744D +:1003D000CF4661AC531CB663AC80EADD47F1A8C0E0 +:1003E0008FBE082C775BBF30C2F316FEA38DFBFCDB +:1003F0003B7B9ADF49697E27A120FEAADE49D0DF38 +:100400008D2C4339DCA5254EBBEC10BF97FD6DD874 +:100410003FD28F405E930021E98CDD197EEC352FB1 +:10042000E41B7F8A6152477C57ECB5DF611C715930 +:100430009542EB5C167D07C51907EC0EB2937D4320 +:1004400003BFA3B8639B83EE213D82C0E5211C510D +:10045000BC7F4B238D3B95359EC178DEEB131AA2F2 +:10046000902CF4F8EE9585FD36E1BDE4A33D178CA4 +:1004700077A4D139AD881BB8FD5DF4C38E437F17D7 +:10048000E5178F77F706FE7CAD690A8CCC2E3CB55C +:1004900078BC02F09F7BA8E971CC473C7D2FCF3F11 +:1004A000D0941E46F99AF10AE0F35C95E8CF5733F1 +:1004B0001EFB3BF75B9EFFE4A99AF118775026DEFE +:1004C000252B1B2CD1BB6427851ED6FD6165965755 +:1004D000783A9405D06EB852BDC45E9E9368A7C8A2 +:1004E0005127292E2321C74DF92FB23C67514FB216 +:1004F00023FEA444186FAE8535A0FE1C25F6D9ABAB +:100500002CE6772B4FF6E072474FBFC37E135BF0AC +:1005100006FD7DD3B3FF3FDFDFEA90FE743B66A6A6 +:10052000E07BE8DFD2EB5FE85F97237A7F3765B740 +:100530009A7FF4BFD2FFC190FE747B57872307795F +:1005400015E8EE00CA66C37CF4EF3552207122CA6A +:100550008743329DDBD7242659FE84E3BF1E4FF725 +:10056000FE2E540E8CB140BFBD7B713D50730FF712 +:100570002FD454F178F8333B060E40D25A20CEB334 +:10058000CFD4FFCD86EFDB2C14E7DA0B76D5DB8AF0 +:10059000B3F1FD8E7A5B91C15EAD68F6AB342AF89B +:1005A000FE654DE2A74A398D63117ECBAA9F8D6708 +:1005B000B8A697EEDFE470E60A7886E5BA07F44A53 +:1005C0006C8153FFAEBF771CDA4F552FAECF927AB6 +:1005D0003121EF787FBD25BE5E65E15C1FF63FE20D +:1005E0009AF50EEDAB732D78BE39E0834A1BEAED28 +:1005F000B81E438719C7D3DBB5F88B9BCCFEE23D11 +:10060000DC5FAC8FE312F32B8B6B588CF1D455BDB0 +:100610009E7AC8710DC55B34BF7F88AEB212BBCE67 +:10062000BF81F1C352B91F13F3337ABDF8900FFAAB +:100630003B18DEF0EB7750CFDE17C5B602DFDF32B6 +:10064000302A7D671EC64DC748AC80B1427B54B787 +:100650007298C792ACC22AA237C6C82E5F92E5B97B +:1006600005E7DFE88CB08011C8BC364E0FDEBFC88E +:10067000F49E8C3737C28BFEBC8316368CC5B5E032 +:10068000AD54AC53552F4E5707C57BA5F097BE13FD +:10069000FD83CB3B4B48C7FAB8BEAC429F715C5F51 +:1006A0009667BEC88BFA31F46E517BE387AEDBDC14 +:1006B0005EDC3EF78975F31400FD19F4E44DC322A6 +:1006C0004CF97123E299DBE8971ED7C9949F54D661 +:1006D000C554FFE619BD4CE523ED0D7946BB405FDF +:1006E000B7ABDD7F35D47B1312F3E81CBD09F90BE2 +:1006F000D66BD7184C1FEEA4A23F62DEEA1BC8DF00 +:100700001D132CA5B4A2F6063AB49E1F1C4BF90586 +:10071000C108CABF253714D3BEE80589CE15A09FEE +:100720008BF8AECCC1B8BE0CFB59B0EBD9BC23DC06 +:10073000BEF26442FF23E5B7F3500F8DECAC5AAA2A +:10074000F11DAC6018F5D330F4A33CECA704F71509 +:10075000F0BD62E7A049483F85D5512AD2777BFC9E +:10076000B25DF09DB591CF7778700CF5A7973FD328 +:100770002BC3642F58139F50904F7438AC8D12A523 +:10078000BF0AF6A274E1AE310A9E1BFE25EBF70903 +:10079000A827A07E24A64ECF10CE2F207F5864FB22 +:1007A000F8B50BB9532AEE9D3C97E3DE8F74356A9A +:1007B00069A3E2403C44DA54DC078ECAEF933CCB99 +:1007C000D04F75FD648672CA9EC06C185F550A6969 +:1007D00091A1DCDB4E5CD8214177BA7CD2E534AB09 +:1007E000FD0F8A6B98C2631E9BE9E2F95EE6F89AF8 +:1007F0000689EB59DF9FF8F9C3EB39DEA3C87F0DFB +:10080000856CD24E92170DE9183FF2EF9A3FF44CE7 +:10081000EB3C4AE5FB8368A591E17D984F9AE1E0C6 +:10082000F4792538DE1470BC25E291DEBAEEBA0602 +:10083000DCD7D4DFDDAF1F9EE3C376E847F233EEAB +:100840001BD205EDD0AF7BD944FC1C233B48B7FF3E +:10085000F1FD00F48F2CDC67DF2A41BD85D14DDD31 +:1008600050BE2ECFF57E8D7878EBE5EF8EE13D67BB +:10087000776414C54F2EDC17F62AE6AF9529BC160F +:10088000EC0AF779ACD7DE3CAFC4874ECFBC04D4BA +:10089000B317604AF86ED685CAF7778DC1746304C2 +:1008A0003E29CDBCAB39DF7905FF950BBA9D26F803 +:1008B000AF5CA923FE9A8A01D830AF694BA51CBC56 +:1008C0007F0E8B4171E156A4C77E48979C1E2B82F8 +:1008D000B1828F9DA21F4EF7A17CB920184FF574ED +:1008E000FEB4E77AB5EC44BE7E4B60BC5FA916BA95 +:1008F0007FE35D9E9287FC7165FAF84EC1FB54D68A +:1009000002C98AF46187B4C8C0CF9E96F8EAE2248F +:10091000D4F72B9C1663DC4366F62FA3F3B86C4E1A +:100920001FD322414F921F299AA17FAE2C51233F02 +:10093000EB6DF74978E8C36EB30632D18F73DBA253 +:1009400030F2A7CD3A52B9324A6BBD5E9383B94CAF +:10095000033C8D0D76A534AE87B75F767F5C8F093B +:10096000028FB957753ED8DFCDFD7756BFDDB5C5CF +:1009700089FE3BAF8CFC703A8DA91BC88FC3CB7529 +:10098000FF1DFA05D13FD872FEE76BF6E721FFD8CD +:10099000132CA673CA567EBD42AEBFCE3E61E5EFB4 +:1009A000B1D5BF3DC002E55F38DDE4DF1B9AE11D34 +:1009B0008170CCBDC9FF8C15F2F31E782E7A90D6CB +:1009C00082C73A2590897EADBA4A8E9FBAB532DD8C +:1009D0009780BF8831C6FB89C27E38C4B8BD114A32 +:1009E000D773835D083FBA5ED1E5F50BCB9269B34F +:1009F000AACBED2BE99BF94AC3AEC3809FF91B63D9 +:100A0000541FBD0F77F822BED7870FB7E19520E0BE +:100A10001F922F1752998519F4CB487967DE11D2AE +:100A20003FAAA71AF54CD19002DA0F87C8EB2FB670 +:100A3000BF43EDF10C0EF5D0D0A77F78EE43E8DE92 +:100A40006A0D74C377E97EA544B97CAC357DE87A3C +:100A500058875FC7C75F44FEB61CF78AECABD2036A +:100A60006164AFDA7D6318C951488D72D41A62A7E8 +:100A7000EADFEFFB85FC7167B6793FA0CFB3C1A673 +:100A8000DB4D7CFE7F65DCAED0C7793DE7263FC2FB +:100A9000817A01C7DF96CDF5EFBF0FAEB6F5C3B6CD +:100AA0006CDD0EBF3AFDB05EE043874F874387EBB6 +:100AB0007501EFD5EA8F17B3F93D9950FD01F53E69 +:100AC000C577DECEEDEDA1A2BC92A5A64FC99FB41D +:100AD000374C433CBCF57218D5773B62C8AF5EF427 +:100AE000F26717F07DE361B9635F443CBAF7D8154C +:100AF00066B0E3F479E9F37C43CC1BF4CCCBD98624 +:100B0000F5D2BFFFB37AA778CCB3C40FF0E7197D55 +:100B10002DD8F7F73790DE618F44A8E89709E5D71D +:100B2000503E0DE54BB0FB48AE1E7C3E96CE217488 +:100B3000FE0DE54FA7E723D233C89F28DF2E54DAF6 +:100B400073F05D9A0B1AD7AF23D1FF897CDA2B960D +:100B50007E3766BF5CB761B084EF2472FB70A8B0CB +:100B60000F43F5DAC41CCFD7A89FAE7B3A2D0FF107 +:100B70007B657AFCB395F4518544F68A1D52A33EF9 +:100B8000F2B6C367DF649BF78357A2C393D9CD76D0 +:100B90000AB7B3626C64675D89DE1C396DDB2BFFBD +:100BA00002BD3972125BE8AD3D7B3A2A87F333D040 +:100BB0005B54CEBF64D7BC44F405F2DF83FBA81BB3 +:100BC000FFEA8A413D8888C0B879A0973C7CA7E7B6 +:100BD000E0803417FA6D6EBCCCF723A093683F1207 +:100BE000BA1F281572DA2BF6F1AE5C8F2B87CB83F8 +:100BF0003F20BC855D22FAA0BEBD5A3BB534A19210 +:100C0000E209BD901AE590BDF9F732CCEBDE3FE783 +:100C100097C9D72E39BFCC3E1DDECE7AFF8C7D3AE8 +:100C20003AE72AEC53A7DB3196F46140616B9C579D +:100C3000DEBFC89B387E9BF11550747D1F8FFA1E56 +:100C4000E8C24378FF27E9626451DD4507DA973B44 +:100C50009E9B807EC009186B427E845D0FBBBBA249 +:100C60001C62FAF907F919886F30EFFBD37BC300D8 +:100C70008F376E602DE723503EBC20A6D92F21B1BF +:100C800096FAF377EC7C6F2DCD9BBF0FCEBC8D0A0F +:100C90003F2714F93CC84719F2F921F9CDBC3EEAC7 +:100CA0001FE33BE32DFA89C7B9B7D83F4DC5B168FB +:100CB000B7EE92E8DDE69B0BCED9D0AF32B2A8F109 +:100CC0004027A8E7DBB16742640FF8BE4BA2F9D614 +:100CD000E6BCFAB0AF2B85B6B9316EBF225FF29396 +:100CE000BFBCAEBED8DD065FD6E698F747A421921A +:100CF000C86F457FF63A89E17BDCD80FC6295E4D87 +:100D00007B3CE7A3F619D43E604FB8FAF6130B7894 +:100D1000FC6E68BDC705DDEBF190D43FACC9D83A95 +:100D2000A9CDDF197952F4DB60B1CC477BED999CFA +:100D30000F1E467FF370C6E9A22EE7FD093E4E7FE7 +:100D4000CC1D02EFCFCD77638ED95EC03FCDDC3EA8 +:100D5000F073F87AB415BEC4FACF31D3498CE27976 +:100D6000F502CC23264152D1BE5EE0095B8B3F8267 +:100D700033B248D0353B3EC19D0AF0853193FFAC7C +:100D800099AED9890948D70B985E7EEA61D4471E8F +:100D90000B33DDD31BBE476A6E9FA5D0EFEC50FB33 +:100DA000BFE49C7C18FD6DB01E544E79E567E8BC2D +:100DB0002E245F10C2178CE7892F511EE7F3DF73D3 +:100DC00009C5CF2981DF2FC53D8F86A1DC6E6C1050 +:100DD000BFCBA4E4723D7256D4BB28D206C3EFA8A1 +:100DE000B0D4967566E277560C70139E2627E8708D +:100DF0005B268E00B81AE2588E0474F28F9C7F3CFA +:100E0000BC82E8C4A3E03905143DF23AC893C90294 +:100E10002F30FEFB88170CAD41FE9A9FCFCF97ED88 +:100E2000BB0EB7C95F875BF3870FE5DB7C221C6CC9 +:100E300027D1BD63EC27A30D7CBCDFBABD3BA43D2D +:100E4000B326FC92F6623D4684AC5749C87A0D0B36 +:100E5000C99799F3D10A9757D18808B0B7A6ED7E04 +:100E6000B0262901E389247A4B0DE4B10DDFCB4F85 +:100E700079266262E420A44BCDDA09EAA63D13F597 +:100E8000BE03E4D5189457247FA31F41F93C16F9FB +:100E90009AF23113F1DC67427E654D32D4EFF28C69 +:100EA000FA08C670DFBCE2412B22BDFB33718F28EC +:100EB000D0EFE4BC3F1EC0FE94AA84F747387F867B +:100EC0002E6B43E0D81C92F785D4DF7805F9BD225C +:100ED000A4FDD290F2B521F94D21F9D5E6F6E5331E +:100EE000F8F96A39AC1F22EE4AFC312897AFE75B6C +:100EF000725D1E9E83B9739D8FD4409B1BAB397D61 +:100F00000F7DC639D1489F5621FF4B133CEEB6E802 +:100F1000B37F6E3BF49115AAA778F9751139313872 +:100F2000BF93FD9986FC72324C8BA17BC387C0FEB8 +:100F3000C2857734AC2CC0F2C27CFA1D0B7C877D55 +:100F4000A421EEF2D507ED04DFCC5DFC3C7258C461 +:100F5000EF8A5312E8BCB8C94E71798F14A7E4B573 +:100F6000FCEEC5ACA31C1FB3F648F4536DB7FA43AF +:100F7000DE1197D7CAE4D7D8CCE302676F6AFDBE0B +:100F80003A9E0BE3EF2FACE1F18AADCA31DEB3FA42 +:100F9000CF3615CB43DF5DFF18FFD1C6FBD7B37348 +:100FA000C539AD8857D3E369F5F35A6F3BF1B48681 +:100FB000DF475B90DBDF10572BE2DC981248C4B8A8 +:100FC000C6EA43F1743FE7650B73E41BCE23743B21 +:100FD000F1EC322FBD3FFAD5B23994EAEDCF49F5A5 +:100FE000B64E68E79DE2BF5B3678D7B3F70FD1B056 +:100FF0007E2519A15F9DCD2B403FF457CB9688C32A +:101000007C11072DE26FAFD9552FE3EFE87CB5FBDC +:101010004404F9A7F1B000EDBCB30AD1D185CA6F81 +:10102000F75FA6BC85F6014E16DC7F19C6BB3D2ACC +:1010300086CA6F5FC4DF0DBBFDA7702AD7F1F7C565 +:101040005D8CE2F9F579D63F1DBF6730EE5B226219 +:101050005444DB6CE187FA62BB4CED4F3B629E442B +:10106000BE3EBD796C125EC29F696DB2B9603EAE84 +:10107000BD63E877564E41BD00F991FD32DA4383F6 +:101080004B18D9A383C11ED59CB845F48C42BA181D +:10109000B41BEA41FE4C80FF9E2613F6E6CC3FCB04 +:1010A000747FF3B3CDCF51BDCF9F488CC5F1BE7ACD +:1010B000E2DD24F46BCD656A3D9EFFBE26F8E33485 +:1010C000C835EC7F2ED06D18D4FB7C3BE7DBB940F4 +:1010D0009774C72484CE8BB657115DCD4D9619D227 +:1010E000F55C377F676A2EFE5E8086E8E674E880EE +:1010F000FF300E2156D0E93CA0538CAB9DB7BD6D9F +:101100003AADD8CDE934948E43E936945EF7E68A59 +:10111000F8CABEACEF2F89AF0C7DE736AEAE4F21DB +:10112000FDCE52B3BCF024A39C3886FF24BBA3FBA6 +:1011300024B433F637DB215CDFD6CB5C3EBD91DBDC +:10114000FD8315063FD07A718EA8DF43C473D06744 +:10115000DBB0FF725DFCFC72FF0FFC7D165F671B4E +:10116000F9A1F7C7F07B5EABEE9B48F7BCF4FAF54C +:101170009D6D4BF83DB065C9330D726F7FE7A41FBD +:10118000F13C777F07FEAECAFEBBFBFD88F7C87C4B +:101190000BF9EFD01C5B72E20CBEE3F35170B06A46 +:1011A000BC476FADE0F1FED684BAA89986F9ED5F31 +:1011B000D88FF84987E792382FFB28F50E15E9B24A +:1011C000BEF3E2067C77CAD741A1F9DABF2B53F10F +:1011D000F76C8AC4BDDB6F047D59A3BEA4FBFBD5AD +:1011E00009F80325F89DC35B933AC141BF0393C03F +:1011F000DF93B146DDA2DA0CF0B813143E2F27F3CB +:1012000018F7DDB7F6E67651496F5BF33DDE723EC7 +:101210000FBAC73BF587B20F1A601C6BFA000D833B +:10122000AD76F4EE22DE15530B307E437F9F45876B +:101230006BB285C315FA5E19FE4E20D26DB593BF11 +:10124000CF62786FC8F43E4B7BEF8B75E8EDE4EF2F +:10125000BFE02F4D76E1DF9BDFF392E9DE2ED97DF3 +:1012600076BC079CC0DF63C1782A7B82C31D164D04 +:10127000EF1C0DB3C6D13B611E94A3D634B6E02655 +:1012800092BB75F4FB5E5D7BEBE7E7BC5FFDDDA524 +:10129000C6E52F0D2FC4794B4C8B7719DED3EA604E +:1012A0001B85FB583DAF8F5F2AC6992AF3FBC8F810 +:1012B0008383F86E45ABF7AD98EB03BC7F62F745CF +:1012C0005870BF96D75B6ADE2718DFD76A4CAF0C21 +:1012D00060BD460BD3761ADE13AB11F168F648FEFB +:1012E0002E4AE3F2BBE97E597539A377B56AF473E8 +:1012F000B5F9E25E83782F457F6FAC34C146EFA924 +:1013000095427B67AEC1FFF00BDFE1BAD2FD64DD31 +:101310005FA8D3C501B0D9E85DA8CE494B899F3AF3 +:101320003888DE57A57D4AEF2559EF1DE242FF447C +:10133000337F76482EC0FB97F50BE3973619F8E319 +:10134000A38AB1EAF46CBC6F1949EF765FFB43EAFC +:10135000525CA78F6DD799F871DFBD672EBC908066 +:101360006914DD43DEF7FD600DE342644B23C907DA +:10137000F67D38D17951CCA464E37D64AFA0876B4E +:1013800033DD537AC37CE524A0FFC81639664DCA05 +:10139000F3229FAC8AA49BE16C9588CBA896CCEFF6 +:1013A0003CECE8CDF9768758DF1DBDC5BB618A46A8 +:1013B000EF4FEAF7EAEB3B2B4B8CFBD37BC4F8F700 +:1013C00008FEACEF7CC707E5067CD5DB5F7E6300DB +:1013D000E22B699C8BEE93A2BC4BC0DF138C702177 +:1013E0009CF51DB83EAEEF60A3DF25AE5F28F3FB92 +:1013F000D7310EB217F57BAFD6EFCA481EEEE8AD77 +:1014000099CEA9EB3B2410DE5F912B3FE0F2C04167 +:10141000EF957D5411FF23CA29AB3546C575FAD81F +:10142000D2D41FF96F476F1EA75823B93466F073E3 +:10143000DFDC220F36A19ED4E5811DEF31E49AE86E +:10144000C97635EF0C6E4239407CCADF6BFB67E52D +:1014500000FE590DEFAB1DB4D50D47B89A80CF777C +:10146000229F87B4D7F9FA7F9A4F6E0EE193577097 +:101470007111FFABF8FB84D6C4DD5146FFD93E4164 +:1014800027F511315C8F2D8CFF11E9C2BEA23C897A +:1014900069C67AB2783F4B7F17E03AA2DFF2C809FB +:1014A00056F207023D8E077ADCDB9BFF8E79752CA6 +:1014B000DF575B2D4D3908CF824CEF2BBDE1FB711F +:1014C000718FBDE5FE79AC84F1DFFAFC75BDA6AF86 +:1014D000FF37225FB5E8BF783C6805BF4F745CAA50 +:1014E0007B8DDEA11B64277FBFFE8E921E0F6ABD1F +:1014F000673EC583AEC27793603D5625CC2A8E47A2 +:10150000FDBDD9C6F8EFE1F07794A68BFAA740BCF1 +:10151000E1FBA1AA8BC75B784FABC5D11AE2EBF414 +:101520001BF8DE85FD2E99DE2F7BF91FFC7798AF27 +:10153000B9C8DF3DF2AE709ADEA3F19E55E8F7C65A +:10154000CA994ABFD3F471F492922A94AB42361FDF +:10155000973C012FCE3B91BF7F34242D6F12BE7F6D +:1015600038A42A95F8E9186B1889EF1FF9365A89BB +:101570005FAAAD955CAF3F104F797742C31BF86E01 +:101580009A1BDF47827CA9A382CE2D58B62AE1EFB1 +:101590004B35097E2F55BCF47B508042B53A85DE31 +:1015A00039A238E943E580CB3E2DEFD61CB400C705 +:1015B000F425BF2DD1FD37A23D9379BFA5F8CE917B +:1015C000E1F727ED9BCCF1B3D5BF9592F1F7C86653 +:1015D0006C0CF92EFCF3A1BFAB58BA96E7FF1BB910 +:1015E0007D016C00800000001F8B080000000000DF +:1015F000000BD57D7B7C54D5B5F03EE7CC2BC924C0 +:101600004C1EE000014F420801031E9210020970B7 +:1016100012120C10EC101003061810155BAC53C41A +:1016200092B6B4993C09946AA480D4A21DF071A921 +:10163000173020B6B47ABD03418A8A187C552BDA5C +:1016400001BDD87A691BA194DCEF7A2FDF5A6BEFCA +:101650009399334C02B6FDFEF8E20F77F6D9EFB559 +:10166000D77BAFBDC3186357E0DF604D666C02FCEB +:10167000A2D40EF03AE11BFE4CBB3AAD3B7D6ADCD6 +:10168000D11C463FD82E5E73A69D4B805F26B28943 +:1016900057946BB7BF5CDF35EEA815C783BA031943 +:1016A000CBD0BEE792D218BB986E611B25487D6BEC +:1016B0001D5201E6613E19384A28D133F6EA7E42CE +:1016C000F58CE976C63EBA99F723318B7E0EE6F5A6 +:1016D00037E8E3CA08C63A1556D791CBD85989D509 +:1016E000EC87F9FCBB4D5DC3609C7F8F1F26F925FD +:1016F000ECB723756E226339B8EE8158CE56627D01 +:10170000C6B4927930DEBFCB907762B9427079F17E +:101710007C5E09AEEBE59EBC92E5B9E179742AA145 +:101720007F9D08F3F50F90D9D3D0BA89B1CAE7638A +:10173000ACFF9D71BC1F639E9B719E082FCC3B1814 +:10174000FBB198F79C54B6D4937B75FB0A4DA2F677 +:10175000A1FA3AF6C9C8F0772F8001E739E11D6F89 +:101760005322ACCF9AAEE6296AB8BC714CD9140D9D +:10177000DAE9580FD7D7B99065C0FAD8BA7CD8043F +:10178000EC97EFBB378DCDD0A11FE6F6B8AB13C3F6 +:10179000ED07DF249BE66DCC93318F1BF7E563FCEF +:1017A0007532FE6F540DB6EF548C3C0C09EB3A8C3D +:1017B000F921D8CFA8F79B73C3EB7D44AC5F67DDFD +:1017C0009D57007ECC29079E866FB5322B6779E145 +:1017D000F1978BF9CD48943D01685F1B1F1CB91A26 +:1017E000D2D98F321FAEA7D2CE96CE85716B53F869 +:1017F000F7703B0EAFD90FF37AB39B788AFDEC7488 +:1018000086CB6BCB783B236FACD398DFE09B5C9CA3 +:101810002ED6A53236E9EAF9FBCB588E0FFA6BB219 +:10182000F97E16423C68B4B0A7D3F0BBEF5F429894 +:1018300036DA5D4D903E9AF0032AAFB3385C76C03D +:10184000FDB58AEB15188CBDA76510FE5D9655ABEE +:1018500004BFCE4B0B95237A2AD3655D4E4384B2E9 +:10186000079ECEB81A1FBE27F036793CC7FFED1A87 +:101870009FA795F9181B114E19730DF3C07ECE4D1D +:1018800048B9A44295B68EB21A0BECFBDCE2940781 +:1018900047C03C1ED166D658605D73F3535EC88462 +:1018A000FC8F3B6EE1E537A74CB042BE419A5553E1 +:1018B0000EF9FD9ADE8A78648C63F40BDF37E0F76B +:1018C000D20CEF8F34FADE7D7710E6FD172949DB65 +:1018D00088F3CFEA1E877862B43B25B18F5F94C24C +:1018E000F990950DD772316FAC2376FAB1A66FD30C +:1018F000627CC70DB908705D5E240536029C648762 +:101900006AAB83BC47B3698A46E51EC720C6BE865C +:10191000BF015D2C777C598E7C00C0A3D9DD90B6C9 +:1019200059CF870C7E96C9D868D6ECC2FD05E8EE83 +:10193000B892DA371F8361D939A31DE2B8BF7B099A +:10194000AEBB89C1BA119F77B89805C79159F7C640 +:1019500064C02B007E2DE0B5F4D26FFE4B1A87AD2C +:101960006A5DE76E427CF3CA5730F5BEFF0BC48F49 +:10197000350DC007A15D86F77794BF04F8B211D684 +:10198000B1FA858F925498D4BD881CB01FE76F0DB3 +:10199000660761BDC7337E331CF9D267F54CCB02B5 +:1019A000BEF081CDFB32C2C998E7673B9A922643CD +:1019B0007F7FDAA76855D0749502748074FEA512F3 +:1019C0009C9686ED47EF42B89DDFBF3E7D19ECC384 +:1019D000318157E733580DF18B2F3B877F0FEA5545 +:1019E00066CE9CB011B227EB0F99F8CFAD82FF0005 +:1019F000706D7323F8F425A9EC04CE63B945943FC8 +:101A0000751BCD7BA6D3A733844F8D9AB21EF0AE43 +:101A1000324BA2F1EC160F7D7723CE119DB5733CAE +:101A2000531FA0EFADF732D7C6F17C3F5961783F25 +:101A300075ED4A3996DF0AFB8970921DDD16CC7B65 +:101A40002A818692713F77B8503E19FB59A1AC7B31 +:101A500008E1BA1AE06C8775AD967C3C6F75B8FCEE +:101A60002EECB4ABB516BEDFAF3BBA37525E4F9A21 +:101A700003E3AD14E3C1461F9B04F5FFE45618953C +:101A800007AC67430E2C52097F98F2A50DF1E09246 +:101A9000D7E953A0FC569785CA0D7909F4716C12E9 +:101AA00094AF3A64A37DBDAFC36A2ABF9F417D0353 +:101AB000AF32AE96B73D5A2297B7E3D978C43B63AD +:101AC0003F0CB9DBD77E187217F6E54AE4BE5428FE +:101AD0004E19E961F5E32376D933309DA75A101EDC +:101AE0000373F250FE1AFBC36A8E3084FB3D62AE74 +:101AF0006C472AEDE79C4343990ABFDE7B48622A84 +:101B00008894AA43A9944FEA194C790010EDE39CFC +:101B10007FB9C79D574022DD87EDFEF8CC876BBEAD +:101B20000BE356FD10A6EEA27938701E17742980BB +:101B3000F30050B7201C5767587C08E74713C63D91 +:101B40005A02ED9B5EB5323B2181C52FE0265D2117 +:101B500079AE0EA07D3F0EFB827A836EF5F37D7128 +:101B600034E0BED8DD325323E06CF12F6CC1FEAC03 +:101B7000B0CF01D88738359EA911707E9779ADC452 +:101B80003FFDFA5B59B0EE1AB1FF093929A67A4C2C +:101B9000D9F48A17E914F001F94DA236C4340E7451 +:101BA000F3A9093F58C882EBF49448EC3198F76DDB +:101BB00035501ED1DFFAB8246B10FA0B2D73FA24BE +:101BC00090A3D6922F481E584B783F463D4FFAB906 +:101BD000D32C89E0F0697FF832753CE00BF01720D8 +:101BE00084D1882F00670DFBBFF08EA2D969499E72 +:101BF000ED063D20DFB13095E0BCE0B8950560BD55 +:101C00001718DB8BE517FC7697BF208C472C0BDA77 +:101C1000E13AEC9C3F0D2832C3375937C333B5D274 +:101C20000CB7811E339C6EA8C934950FF68E319582 +:101C30000F5D9967CA0FF34D36D5BFB1AECC94CFC7 +:101C4000F0CF32D51FD1566DCA8F6C5F64AA3F6A40 +:101C5000FB7253F9E8C0D74DE537ED5E6DCA8FEDE5 +:101C6000F8AEA9FECD871A4DE5E3831B4DE5F9C714 +:101C7000379BF213BA1E33D59FF8FE2E53F9A4D02A +:101C8000B3A6F2E23F1C30E5A774FFDA547F5ACFC7 +:101C90001153BE94BD6EAA3FDDF1B6295FE1FAD0C3 +:101CA00054FF16F727A6F299EA7F9ACA67E75C34D1 +:101CB000E5E768FF6DAADFC59A47A23C1A9AE57D61 +:101CC000683CF00B39E13CE1F9FB8B25960A087C76 +:101CD000E1F83C9717E5C957B42FB68D17FC4EE0D5 +:101CE000EF25E65C22675EDBBEF88ED00F2A942AD1 +:101CF00086F6C4850E89F0FD2FD6755C4F6BB23029 +:101D0000652A4CC7C9E5F43781312B205FAC692EB9 +:101D1000867AD77D41D681F2634011D044C47C924B +:101D20007507B344C021B5D265CA0FF4B84DF56F3D +:101D3000A8514DE583BD39A6F2A12B35537E98AF4E +:101D4000C854FFC63ADD94CFF0579AEA8F68F398EB +:101D5000F223DB6B4CF5476DF79ACA4707569ACAD0 +:101D60006FDAED33E5C776D499EADF7CC86F2A1FB6 +:101D70001F6C3395E71F6F37E527746D37D59FF8D4 +:101D80007EC0543E29B4DB545EFC870E537E4AF776 +:101D90002153FD693D4153BE94BD6AAA3FDD71CA1E +:101DA00094AF707D60AA7F8BFB8CA97CA6FA475309 +:101DB000F9AAFF043D1DF59126BBEBE902C4F32F00 +:101DC0004CE597E38607BF07DFA5D5499A54847889 +:101DD000FF5FA6FE1E4D48CA41FCA9034BD82EA1A9 +:101DE0005ECFF5EEFF1D9F4972EFB2CC4271906F4E +:101DF000F27B00D9B055377343FD14F805F5198906 +:101E0000FD95219D24E9AC03F544D05F48DF718145 +:101E10003E83F2C4C0EB14392303ED8C84B07E9A68 +:101E20007E25FFFAF55327E89E480F93F3BC521E18 +:101E3000A45FEFD83F63287CBA97F95B51285728F5 +:101E4000B90342409F27E362DB9F331D00B788F14F +:101E50005E8D6B4FCFEB878E673ACE53FDDE7EAD46 +:101E6000BC5F09161B69A73D0476BC05E8B5BD1E1D +:101E7000E80AF498CDF52ECA6FA977537E5BBD4A68 +:101E8000E9F6FA1C4A1FABD7A87C477D11E59FA84D +:101E9000D7291FA8AFA47457BD87BE3F555F43F92C +:101EA00067EABD94EEAE5F49E9B3F53E2ADF0376FB +:101EB00034E6F7D5FB29EDA86FA3EF07EADB297F0E +:101EC000B07E3BE57F511FA0F450FD6E4A7F5DDF81 +:101ED00041E52F81DE85F997EB83940FD61FA7FC90 +:101EE00091FA2ECA1FAD7F9FF2C7EA43941EAFFF3F +:101EF00003A5AFD57753F989FA1ECA9F177E86A22C +:101F00003CA167294EDA7F4FD9A85D8A14FE1E18BE +:101F1000E329C27D6B4C48BA0FCBAB99AC29685F03 +:101F200044D911D1FBF0B9E8DF5AC65801EA3B4366 +:101F3000B27735C17E37C812E15D438ABAAB097EFC +:101F40009D2EC6591FCFFC71798436A467DF83BFED +:101F5000A9A04EA5D51F433BE06E1FD83764BA0138 +:101F60001EE6101E9EF84A7612F3D3389FE778AA31 +:101F7000713DCC19782F03E6F5759975A1DD943282 +:101F8000DA7B5B1ED0CDDD4E9F8DD43AA665A39D36 +:101F900039C71E1C783B9477BFAA68BBD4BEC7BBA9 +:101FA000BF7D2630E57ECA5FFE633ACA9FCAFF55F1 +:101FB000BC089793D6C41AF42BDC23D67F4F9E6CB3 +:101FC0004A1F1DEDB91BE7F9D948DFB99F02DC6A4A +:101FD000BF357200CAB1AFA1890D743D97A956A44F +:101FE000EB794C7F2503F539D41B217F3BF3535A02 +:101FF00097E3BD1FDB2F044301F3DEC9F6E108B40C +:1020000039764E0FD1F3589BC7FD106BF364537AAA +:1020100060B4672DC2E5D391FA330F40953F8C56DB +:10202000E9FBADACFB099CC7DFFEED8B73D28830BA +:102030007C0DBF04C32D02B8D51E57C83E06FD8FC8 +:1020400051FE41D0B3A19FD6D207B83C6CE07E8B45 +:10205000B5F11F576079E85EC0296010177CAF3C6E +:102060008E7A5E2D9453BB6FF1FC05B04B913F5DB2 +:102070008E83FA909796C3BFC1B1F861C83990FCBE +:102080007841EAF7F218C690EFBD3F9AFB3D6AD15E +:102090004984FDAE930288872C2D68C5FEFE32C1AF +:1020A00045F53ECFF16E273C61816DF9F0FD24E2EC +:1020B00009E2BD2B908D7E85F532C70BFF6B8AF64A +:1020C0003480C4E2F2E8E84FBC7B47F278F4832125 +:1020D000FEA01D1412FB69E0C737DB208DE067808E +:1020E000774FE1387FFED5C41CC48FFB5F9EA4E20E +:1020F0003E3761FF69E1FE19BAAC603C6540EE4EC7 +:10210000F457CE41A502F1725262605706F9BBEA5C +:10211000F6C7E09FAF8A7D3DE9B65606A85F4E97A9 +:1021200046F91131BF23020FE71C7975D85AE8F739 +:102130009BC7AD9A1DC72D08E57A1263E073DD9346 +:10214000855911EBB8FFD019EEC7438F1FB43F3943 +:1021500048A5795A1DCE60EAB8F0382CCD72BED7AA +:102160009EC844F8309A9F818F8A2DD1BBD31939EC +:102170007F8E87400FC7110F911EFCB0DE5BEDEA2A +:1021800080DBA1FF10802E08A9F7672E1BE2E37207 +:10219000A651BA827928BD87F96D88FF1EFF2336C4 +:1021A00006E37D9D75D0F76F16DD391CF3F7B3EEAE +:1021B0007237F4775B5BC32BE89699D7FE48C5600E +:1021C00058777560D92B98CE7D4A3AE757899E3E5D +:1021D000C0F14392AF65088CB7684F69CB50F87E69 +:1021E000ABC2F18B4D64EC69F4136469213FECDB05 +:1021F000A78F8CCE43BF85B18E9080EF81D17A08B6 +:10220000FBA96D64842FDDFF66A7FDEBA5ABA26F74 +:10221000FC7EA88CECAB7B09E2E3FD2FDB53C8AE60 +:10222000645C5FFCBA90DF98477DD18AF29BF2BE76 +:102230009F217D7CC3CFEDA9B5F1FF4BED4392AC5F +:1022400049C3019FADDC4FF8B9D5E16AD2904E0386 +:10225000C371DE001DD6944CF443FB56773A91E8E7 +:10226000F3B22CFC78C3BDEEBC116179FDB91C281A +:102270004C1A41F2FC4B5CC73137D8ED386E9A43AB +:1022800053B03C39309CD37FAF7C605712C27EC1C3 +:1022900087500F4E0BEBC16BE38733B4FB4312EB5C +:1022A000968A49EFA1754965AC03E95A2AFAB6172F +:1022B000E7B52381B99449B1E8DCEB2E5470BE9A9E +:1022C00083E69BEE213F021BE4D0364A57CF03F052 +:1022D000B306ED7BBBF0971DFF9F5482AB1FC67FFB +:1022E0003A393CBE5ACA3A18F021C9F56DD2D376B4 +:1022F000809EA6A443BB78DF6E9C8FEC662EF417FD +:10230000F9CB84FFD5C6E17A351CB9FE95939F4180 +:10231000FBDB844BE5FED11C17DABD96789AE761AA +:10232000BB7754FE04F4BF0D793CD22E3E9E710360 +:10233000E56FB571BEC7BE6C4A47FEE364AA1FF7DE +:10234000F7565DD236127F0835A37D3D171081FC0C +:10235000434556139DB128FF15A011F923ABD17F3A +:1023600045FE267614FD99F3D09F29A1D973DA8012 +:102370001BF9AFF68C065B0BF7D5028608F0912CA3 +:1023800056E4C079343BAB0760BE31E156E68DC1FF +:102390007F5A41BF0ADA23F216AFC3D58FFE66F823 +:1023A0006D6CDB935810F88BA5279B05FF81F15BC3 +:1023B000A2C68F4EAD568FEB7AE6630D19F3C9A214 +:1023C000F461C147611FC9DFB56C7EF0FD64F2AFF7 +:1023D0003652FD650EA75F015460CD663FAF2127E1 +:1023E0008D340B7B00B8EF7ECA16E0F80A183A0865 +:1023F000EC2FB14F373E35E38FCA38CC5BD8D908C4 +:102400007F0BEA37678DFD55788AFB1B87A98269A8 +:102410006FB98E7EAABED677BDE906D097CF5AC3D4 +:10242000F9DD81CD8B107F2E3D05EC15FAFF796922 +:10243000C32C2BD2C14E993D1D633C540782A6F993 +:10244000C6B3A0493F4B89CA0F89AA9F19553E269A +:10245000AA3C2F2A3F39AA7E59547E5654FDEAA839 +:10246000FCA2A8FACBA3CABF1E55BE3A2AFFDDA81C +:10247000FA8D51E51BA3CA379BF277E6678AF38E84 +:10248000C7A2DAED8A6AE7273C0AD307986A4E4C5E +:102490001CA47F3D775E26BCEA78E9C8987F85FC5E +:1024A000BE75928678B5EFFCD98D37A1FFB0C342D7 +:1024B000A7155ECFA72D21DE2D0B0D427D9291D366 +:1024C000F4B60EC719C4BFE760FF918E9E17F4F4EF +:1024D0004BB09782A318FB15D84B98BE04F6127E1A +:1024E000DF0BF612E673FF0474D90F5D692FC9E1A3 +:1024F00075C1BF8213F1E175C1BFA2D329A6F2C98C +:102500009F0E31954FE9CE34E5C71D1C63CAEF49D4 +:1025100034C363A93FDF549EADFF4F3CEA35ACAEF8 +:1025200038FC3D13E19447FC241A5F6E8BC49788F6 +:1025300073B1F7012EFAA870FE83EF2835C8178E05 +:102540007CB496FD02E863DFC1949D28079E5B91F1 +:10255000D09C3200E47C3ED783F6BD742001C7F9DD +:1025600020A96336EEC3CD609035C2BE94BEC4824E +:10257000B86FDA2146F2E342BE4A78A01DEA9255CE +:1025800098EFD8835D43504FFC20C9C7507EBC787C +:10259000480E3442BD2377FDF287D8CF5EE8075559 +:1025A000C30F52A05F286FFA938C1C89D10C813F16 +:1025B0008C452507D6033A6F0D3F8FE91A82E7D184 +:1025C000617885E2115ED9CCA197437F1D2BF9F983 +:1025D000D6BEE0AE57C6417F17754737D3107E8908 +:1025E00024E73A567179B12F58C6E1E6D77F8B7E42 +:1025F000EB3B052E9D11F069D87F8CF8C5BEC33624 +:1026000015FDEC0837FF28B4471DCC6F47B8E5DB54 +:1026100056A11C1EACB0A735B4575DF41D1DD8B62D +:10262000423A5F4016801334FCEFF2959BF1BB45B4 +:10263000F8DBD961DC97A57EAB3F14B1CFAC0EF2CD +:1026400026FE6B0997D3BE46E4715E16C6D7B54524 +:10265000DAC5CFEBFDCC5118410F0717D8720BA884 +:10266000FA17788EB7225866CB45BB40775F1800C3 +:10267000F9CB67E652F9BB65EE2F1AB470B94B7609 +:1026800051794BF3BCFB0A71DF8061D851EE6EE2E9 +:102690007E7847AF9F3EC2AF0EF37BD1D2D1F20D11 +:1026A000A8DF516477617F7334B33FBEC3FB76BC50 +:1026B0000E70BF03DB45AC636F50AE0CC03EDEB6A0 +:1026C000D2ECE75FB1C5DC7E4201B70F2A0B389E22 +:1026D00055F983E52EE86F0EEB6A46B938DB125CDC +:1026E00084F018771E2001FD8ECB39D39880EBCF74 +:1026F00095B491D04482EFB8AF5AAEB4F316E82A3D +:102700003EC741E73A7B5F92096FA2E9FEF5836716 +:10271000E3114F3A0206BE7511BEED3B7880E8F436 +:1027200045A4BF7EF8C609814FEF5BFC89FDC9ED6A +:10273000855E85F923F1C0380FD212983F021EB38F +:1027400073524DF986FD365ACFC15F313A0FDA63C5 +:102750000DC9F7C17A0F4CB2BB1A8953F273B97C19 +:1027600081DF7636BE69953887D9E80ADBB90783F9 +:102770009C7E0F32753AC24B03FDD20FEDF30E86ED +:1027800064D4D35CCB9D3EF4F1E69DB099F8925DA4 +:1027900033E735660BF321847F54DEF06BE336625A +:1027A0009C40341CA2FDDADF2A4834C5CDEC8D3ABA +:1027B000C71B6B9CE37515507F7BBEAF2AD5CEB08F +:1027C0007F3B2CCF1B089E7BEB1D12B6CF0BFE511F +:1027D00056C7221F0EC9888FE358A83101E9E220AD +:1027E000D3303EC5E84FAAB11F213E703C93CE7F47 +:1027F000214D90A1FF03C72F745E417DE25026F961 +:102800009F8CFE59571A9DF719E31A72E8C0F16AB6 +:102810009AEF738764B26B9FB374C7A7C4D0FF8C61 +:102820007DEF4BEE44F77F757B3FF1EB26FC15EA1D +:10283000CD2BF03E563001E17484A5C2FCE7147C38 +:102840008BF4CE5EB839ABA9DEEC7133653CB7DAF8 +:102850003A3C6527AE07F453F909C8A76A90877612 +:10286000697EEE074B2B1ABE93FC0F426F9C3DC650 +:10287000CC87F7A5BF156F45B8F813A9FEEC2473F4 +:10288000F9EC71BF5A81DFFF75BE43C57EA5710BA0 +:1028900007A3DF739B80D39B0757C78762C0E506FA +:1028A000AB2FB93FFAB92164213D37B5279DF4EF2D +:1028B000D979FDCB737B8F42F58DFCFAB8901BFD67 +:1028C0004C76F74F3FFC34F27B7A4A1CC22B5BFFFD +:1028D000BE03E5EFBE74AEBFF7D5AFB10E23FF6800 +:1028E000AF7CB5FB91CE36ED4E27F9BABE369EE4ED +:1028F000EBBB055CBE6E02B8E17CEDDE8420C267F6 +:10290000533A2339B5576B24FEF3685297EC81F2A2 +:1029100052C057844F08F91FB41B971E6488C74ED6 +:10292000CD33DE4BF5B89CDD942EE4ECE26F8FC620 +:10293000739DBD6E9063B86FC1E071F4230E04B94E +:102940008E7658ABC4685EFE9F3B29AEC890BB0331 +:10295000D146077ADB74908F9FCDEE93D14FB0377D +:102960009DF3C9D9BF582EB7231FD1E400C6E74451 +:10297000EFB3EAEAE2FA8A3385E86833C2655418AD +:102980007E15CA9E5D68F7EE630E1FC6F9A8CCE7F8 +:1029900088F4DB18F5B7A1FE06E98FAB0EA4D0FAD8 +:1029A000B4D5AF8E44FCAA751277AB5072FF887E07 +:1029B000894DB5F12E5CDFB69ACD2991E766578F28 +:1029C000EB946518773DE821C82F53826A29E255B8 +:1029D0002AD31A30DD2EEAFF448CFB53D41B613F0F +:1029E0001F177A23C0232E1BC7F758482F7DA24EEE +:1029F0009615E8EF9983724089614718FD05447F79 +:102A00004F88FE9E12FDAD3FB4B9D48670F4325AA1 +:102A1000CF60BFD6887E2C759D5AE6A0F555C9714A +:102A200008A76646E7724F087DD668BFEF60590376 +:102A3000C6675C02C591013F4FABF3C6C5A13F42DB +:102A400002BD07F8F5D35B78F9A0380B9DBB3FBDFD +:102A50006D16E51F75F2BCC19F9E12F34AABD335CC +:102A60003C2F7F42F49FDDB578402C7F9A91768889 +:102A7000F5ED15F37ACEEA953F42F9F15B25E0EFEB +:102A8000C78E33F8DCF8A099BF8D3B186FE677024C +:102A90007FAEC5EF5AC2FCAE6802F49B3BAB4B76EF +:102AA0008C80E6BA4F4715A997DFA5717E67C4737E +:102AB00034A9A0EF66605A46F87D292B6527E2B35A +:102AC00011CFF04366FC349AF8F27A01B726B16E62 +:102AD00087DFA7A31EA230AF1FF168402F5FD41C71 +:102AE000480F4D599C1F35264C65B1CE75DB447F90 +:102AF000367F1BF9093658DAFBF53BC46DE7FC4E0F +:102B0000E9194EFCAE6CAAC38174BCC1C9F5800D35 +:102B10006A9E1FFD461B548B0F314B61117A28AD05 +:102B20008FA99641E2A82DD3544E725A9ADA437E69 +:102B3000ACB644C13784BC4D70DE5DC5C86FA031F2 +:102B40009CA7A2F2F80ACCE3780EAF93FB73722D28 +:102B5000A6780E47967CC69E847AA359EFB3A55BF0 +:102B60004CFA9D728D388D072624C68CA36569B1F9 +:102B7000F1A4370EC3F063F4512F1A9FC6388AC8E8 +:102B8000AE59AF320DFDA24A7A1EF1E55D053C5A01 +:102B90006E571B97E79B04DE45F7D324E8C2C82B8A +:102BA00006FE6979541F20B33107FA7BE8DD54F241 +:102BB000BB1E2E50C85FBEBE289BE28BD617DC49D9 +:102BC000F278973B73178FEFE5FAC52EF772F93459 +:102BD000CE239DF3DD683FC5AEB6469DFC1C6E99C5 +:102BE000E46B6B7AA32396BC7A58CCEF7181BFCF8C +:102BF0000AFBB84DADEE37EEC05897514F0136A8DD +:102C0000C5E8DFE234D375F6F1FEF94840E0BF5184 +:102C10004FB53019FB55453CAE512FC36FEEF797BA +:102C200013B8FC5C96AFBF306160045ED6D9B6A124 +:102C30001C574ACBE527D2701F65D26FDF50573340 +:102C4000011F82DF7AB79C8C7663932A133F6FD77C +:102C5000D73822F58668F8BA86C93C6ED77F6EC829 +:102C6000E12C9C9FDF81FED75655A678AA2637A770 +:102C7000F326A0FB58F41BDD5F5BBAD1DF9945D882 +:102C8000DF91823B595BC47C2125BF88738212404F +:102C90003C5059D0938FF6CC3B0AC551F78DC7FDF8 +:102CA000FBAF3E9B60F86BFAF7635D8BFF5F6B9C3D +:102CB0005D6DB284F3BF847123C9B83D9CFE86C3A9 +:102CC000AFEB22E2975D25517AAE900FC3D798E51E +:102CD000C14DBB534CF686D1DFB5E8395A4FCD62B2 +:102CE0003987D04FBDB783913F7ADF41D96FA5793E +:102CF0003A082F9EC3A631FADD1BE59FDD07FDF5DF +:102D0000C7A7C76D77127FDE67658724D0F7980E57 +:102D1000AAD120C64917C6BD5CE44D2A84F9E5F660 +:102D20008C237E2E1D3A4671AF00774EC71A3F079F +:102D300064251EC2DBA63990473876CCA3F2D607AD +:102D4000998BF296C010C4FB3D828E8C79EEC90837 +:102D50002E42BD71DF8B1FCB91F1F83716723B7A93 +:102D6000AC23490FC4A05F5594DB2DCC1F8F675E49 +:102D70002FA510DF7233970DF1E19AFEE29A600DF4 +:102D8000C50FCB328FF38D5AF75E4C07E3FA3D63E4 +:102D90000B319E5CE3EBDEE4F1F8513FF38242C677 +:102DA0008AA1CE41BEBFB9CC43EB5DA6F1F5BFA968 +:102DB0005553DE09F0B08FC7F9D48A7859E6B20FBF +:102DC000C67E78FCACF71BA0150D8D354F8E5FBD10 +:102DD0007015707C5393D954D427DD3692A32C47B9 +:102DE000ABA17EFB58C716B18ED2499E19B88F92FF +:102DF00093AFE3614067ECD79F64A3B8F49A7C6F0C +:102E00005521D11BD3515F7C78814AF624CBF548FC +:102E1000E8CF629EEBC3E3EBAE97A3F70BFFA6A44C +:102E2000216C19943FBC3A89E26722D6B194F6C36B +:102E3000B9D14372DE63C09FFBF996396DA4FF5F81 +:102E40006BFFC3FA8F87EB3F924EF2CC9F2C133C63 +:102E50005A5CB26E217FAE83F85A63C212D28B36AF +:102E60008B795CCD5F24719FC2CC5FAC91FC8BE40D +:102E7000E4FF5B3FFCFAC20CC137A3FCF1AAC78D8B +:102E8000E72ABF069D91F451ABC78DF22BBBEB3EF9 +:102E900086FAF025676CFF9291B61A7255D809AD83 +:102EA000717A4DACF8A2B603B69591F4FABCA0D3F2 +:102EB000E70BF9B9336C2DC5AD36833C43BED6E480 +:102EC0005ACE249277404FFD8C8F71BF917C16E3D0 +:102ED0007C4D7CF62BC623EE2E34EB692D12CC0BE9 +:102EE000E9E15D85FB57F007F235DB06EEE4E7C567 +:102EF0006C5502E0E7EF057E1AFD1AFA5BAB58DF6E +:102F00009062FD00D259AB80F30F26785EC0FC9E24 +:102F1000FD85843FAC92E3EB43128FCBEF8B3E14E5 +:102F20001BF352DC7E25B707B259A5636E0C3967D7 +:102F3000E8FD617F33C7E71657354FD3B81E648C61 +:102F40007BAD7D6D1276564BDA6A162917AF775F27 +:102F50000CBE15BD3F1667945CEC633E57C14162E1 +:102F600086DDF47BA4FBDCB22E79782CBBC939DF7B +:102F700064376D2BE176D336B18F9BEB5C3BD1DFB1 +:102F8000BA19E438C92D9F8BDB51027EC358878460 +:102F90004AF010D64EA901979D424EFD50E89FCDB4 +:102FA0006877DAF1FC4EA7F467F59594FEA8DE4B3E +:102FB000E993F52B397DB8F34AD1AFF13818581899 +:102FC000DF951A9C5486F01C08FC3F0EC61DB443C6 +:102FD0003B4CE7EA75F1846F6DF53E6A37703E9FB2 +:102FE000EF13DEB82769ED136D048721C55E3691B6 +:102FF000DF930959010F971A38CA3C8350DEEDB1AF +:1030000006FC8DD87F951CC0754AA29F149D05D0E3 +:103010008FDCB0FFDBE47779F85D85F436578961A2 +:103020001771FFAB5BF4B63960E091370E99EAB6E1 +:103030002A0EAFAD958CF860E7A62374EEB0AD8A8A +:10304000DB5D036A1A0FAFC075B81586FEF801354F +:1030500099A5E8FF709539BA29EFB599F023A9C071 +:103060009C4F89F2BFBAD8A62F906FBB98CD743E03 +:10307000F455E93B6B62B41DE6243DF55209F78334 +:1030800084E945A3752EC4382FC0AB856AB3359348 +:10309000E4119FBF41DF5B4B36572CC7F6BAC3879D +:1030A0007E0C9B3E87FB232B39DF6C92B499B86E64 +:1030B000FF427E7F10EC4AD2DF7E2CECB31342EF4E +:1030C000D956B59CFD0EFB992F13FE85CF19BB89F0 +:1030D0005EF7DCB63C4E8A5827FADD23E185FE76A2 +:1030E000131D6D4A319DB73D5CD9BF5FF147F56651 +:1030F000FFDF8F2C5DFDDAF17F9E9849F897B8DDF0 +:1031000046FA9FA36710E98BDBAAF8387BAC5EB266 +:10311000F7004F028D486F55174CF6DC8D3966FE6F +:10312000F07049FFF69BE16730EA392C7E166B7E22 +:1031300071EA57B3DF8C7E8D7A46BF0E717FA6AFE2 +:103140007E1F9CC8ED37C57D71D4A731E27497E529 +:103150007B574F8CF0BB28EE273EFC14E0C3BEBC6F +:10316000427ECADEF80161EFC53B2AC96FFD63816B +:10317000377BE61C792C0BF1E81D1E741088E37177 +:103180007EF125DC3F6A9DA6492867A3FB6339B21F +:1031900069DFB79670FFE16FDCD55208FD85F3BBA0 +:1031A00089393E61E90E12FF71CA1A58E8F05D2DA7 +:1031B000C5B8B2DFD45C20FD74AB5396918E4FD46A +:1031C000A410BFDF56C2FD8EAD25D51C9F57C97414 +:1031D0002E1527F41C5A27EE734D661C9EA30D6B0B +:1031E000187037F6BF7D22BF17BB19EDEA087CDEE9 +:1031F000EC36F29CCE764E74113C1F9E9FB7612434 +:103200008CF7D335165A83CCD438B40F5A2BF939EE +:103210009BE3CB697183203D56951977CE89ED44A8 +:10322000FFF31B83766C877C09E6FD7A55751CAE2F +:10323000776BCD5BC9D8BF8D2512FFDF5AC5CFE9AB +:10324000F7DC565D89FEE4CD3EEE0FDD5CB53A88D5 +:103250007CF9D24A4679BCC6545A807A1AA37B625A +:1032600056D7B7D9F402CEBFEC45D09F7A1F6B4535 +:103270007DB892F7674D37E3C79E29B07F88FF6E10 +:103280000BE905DBAA387FBC34DFA622BFB4E18E90 +:1032900061B98BD17EFFB4E6886304CD87DBF39DF3 +:1032A000CE943207C27D05F79F26B499FBB7CDD9DE +:1032B000E51F29E430F7C0B2A43983307E9C980C16 +:1032C0008BAF39A0DF85FC7608E7BFC679DB8F07B7 +:1032D000733F5BB4FD6B67CBFC599C8FD17A2D5546 +:1032E0002007C6E1B13EE7BB061EC7E79ACFCD3245 +:1032F000569AF3B628BE6D89E2D7BD7AA5DBD2AF68 +:103300005E69F8299B85FEB1DEAA2E247C673EC249 +:10331000CF66C5359EEC4BA0D3C1D09F7D783AE9EE +:10332000637F9E68E8937A11E2E136E0CB787FC94B +:10333000B6B0DAD05B7CAE7EF41647BA6C5A8FD545 +:1033400015A54FBAFC2CAD1087E570B630CB39B45B +:1033500023DA3026D9243FD438C4731B7398F06E17 +:10336000F3FC0B84FF0F5771BA64CEB498FACEB059 +:103370003AF33C0CFD69A8CF3C9FC12B53A2FCCE75 +:10338000B1FB8BD69F1E11F795C7FA2D0CE9E6D13C +:10339000848F8F207C9E7F81C70D5CEB7EF3E117CD +:1033A000383EEDFD88C7DFED7D83E7F77C94407EF6 +:1033B00088A6C4AE45B85FCF5AB5A1E3217DFE8D86 +:1033C00067862C8375DF50C4F7E7791117113DBF6D +:1033D000A14592D097BD438BB85E735E89D06B6A6E +:1033E00064CF208A3FACD1EE88B4132F177933A86D +:1033F0007E94BD289DE076AD4D99C7D03E1F0BF65B +:10340000F9AE64C2238AEB1BBB52DC3B7578083FE4 +:10341000C656A9E4B7B00BBB7DF81AE66A00FDF109 +:10342000D97CEF58EADFB25AC773E6DCEF0EA07B17 +:103430007180A563506E38193F3F58F60E8FC3B6A2 +:10344000750D6B45BBA1C388138CB2378DF5EE1398 +:10345000FAE47E81E7FB32BAC8EF71E075B3DFA30F +:10346000ACC8ECF7805632DA6DFB7EFD5AFCB21820 +:10347000F642E5A465654511F227B7435396915F7F +:1034800032447204DF3020FF4B89E68E7C7FA1E35B +:1034900044FF7AC2CD87CC7C28EF68D4B9476F1C33 +:1034A000A847C2FB0A06BEBD9EEC33C5A15F0BBF99 +:1034B00096166518F7BF09AFD6DE19B74BD85B94DF +:1034C000BFBCCDBA0BE96948B167A9C013875C18C6 +:1034D000C693DEB81B51BF66DB48A3BD53467C9242 +:1034E000387EDCDD8B6FFADD08AFA935DE7BB1BF3E +:1034F000DC316F8CC1F385D9E35E1D1219EF68D8FA +:1035000015D170E92AE2FAC0AC3B0207AD3C7EA1BE +:10351000F604C88959B707FE6A85FD3F51545CDB44 +:103520000C7439CB2ED37B099D4577EFF03BC9DE78 +:10353000A3FC6345F36BFDA85717E86B71FCEC42E5 +:10354000BD8EAFAB9CEE6118F0EC9BAECDF730B604 +:10355000C3D8E6736EAF23D27FD8E4E2FEC35667CA +:10356000FFFBFD55E34A17147A1F298A11571A5E8B +:10357000473BC5075FEF3A9ECDD77F82FD7589F542 +:103580004C1F37530E14E0BCB99FF95AF3577A8A8F +:103590004DE7E58A45BC9351BE76EDDA42116F30B6 +:1035A000225CBE5BECA3D23395DAFDA3F0FB47E3CC +:1035B00062A7157A5F443C888E8BFD7BE169E0450C +:1035C000CF04FD68D184BF1FBF8CFD003EDDC5FB6D +:1035D00061AB9442139FDEF616D15B3ADDCF37DA4A +:1035E00085EFAF84DFD36822F9F303E207757EBB72 +:1035F0000BCF79938A79FC7A2EC663BB882E4FE372 +:10360000386B95E018DCAFCB72F0774D11FAC358E8 +:10361000A6A1A7889D2DFAEE0E7CDF42B185348CE1 +:10362000B83C7BC8B7A372084E1FF834106FD22D78 +:10363000A18E4EB4E3526D74DFA37926F7B73497A9 +:10364000727EF19F821FFC49A47F11F8F061A1FEF8 +:1036500039EEC3455C37A47717EAE723F30513F483 +:103660003F47E6012E17055F6A93CCF26B5B670656 +:10367000E1F55F79796CF8B03AE1DF35F834E37958 +:103680007BBAF0AB1BF1D2200826A750CA2AF280E1 +:10369000A5E57425A23CB23F38AF5FBCFC7DBDF907 +:1036A0009CCFE8CFBB4E31E9178E1CB3BEB17590ED +:1036B000410F7E1E1FAEDF4BE7BE6DEEFEE34B36C5 +:1036C000F4315EBC2540F6567C8FC544A7D169E92C +:1036D000B75E48C4F8910F7D13FA1DE7A37A4757E8 +:1036E000F9485A1FA5C677EF3AA9AB3C621D4BAC0F +:1036F000A181E8E73CED7F2131169C96AC89EB2A4D +:103700008F906B4DAB1E20B9F9F11AEE27F9303DC1 +:103710003407DF05FAF09442719F1F26723CFAF0DD +:103720003E3BBDBB71479DF48C92618637C65916EE +:103730004D52687FA7AFDA6F45FBE48EBA53568CC3 +:1037400083993A4925782C5E73C6EA85FD5BB2EE13 +:103750000B2BDA6377B898D15FA02103DB9DA276AB +:103760008BEBF653BB3B208FF517FB251BBF17D404 +:10377000DEBB8F91F1760ADE17A27763BC6427DA8D +:1037800011CF287E3D200ED3F97E24B0A07857A615 +:103790008BF567373F1F7C95E2641910CD2731FC0C +:1037A000E80D0BE2095FBBBECFEFA18199625D839B +:1037B000E720457657E4BB1B7709BAB02FF6DC4B00 +:1037C000E724A57615FD5477E997ADA83F1DF33A98 +:1037D0007D180FC2B658CFF2F84D078D93E137BF71 +:1037E000BBB18C45E43390DECCEF6CD884BF70C5A0 +:1037F00024E1FFC96379486F6A2DA3F7A7ECA5F30D +:10380000B83EEE8EAD3FD762DC556A184EC6F7D390 +:10381000BE3BE3D11FD1AECB14C7705165E447DA8C +:103820006AF3531C436B86C5D788EB15711946BCE8 +:103830002E635A2B9E6378453C63F11F64A69BE27E +:10384000AEE3991EB17FD37A524CF95236D4547FED +:10385000BA6384A9BCC27593A9FC1677BE293F53ED +:103860002D36D57700410B78F1380B26519C053564 +:10387000914DE5DCEF26E26975F80FF723456736D1 +:103880003C8F5E24DEDB30F6BF3583DB9BDEA8F8A1 +:103890008854E6F7E3FA17023E0461FD0BA3E267E2 +:1038A0001DC2EEBC2AEE42ECE3E393A2FC787DEC71 +:1038B0005B98DF70BCEC9B7FF178F46CF54714CF1C +:1038C00005FBF55E16D4BD45ECD62DF35756A15F2A +:1038D000D4D693CC7494BF2F4D7C2E1BCACBB11081 +:1038E000D66FB378898FD97AD2A8DCCF3CA3336165 +:1038F0004AB6130AC5ABD91C9BBA703D361615CF14 +:10390000A2F278169BD14FB89CD60B7605C505CC94 +:1039100004FCD301FF2A7B244A6DF3859F36DD88A2 +:103920006BE674512EE07C4FC50809DB576699E3BE +:10393000906D08D771348E693FE2055C8F47C335BF +:10394000E7FAE09A28EF5C8176CBA65AA532F29C82 +:10395000479B2C51F9DB932471FE14BD0FAE24BE9E +:103960000F33496E9DF1F42FB766F58C203A34F28F +:10397000AF5902CEFEF4A75942FFDC9A641E2F9B7A +:10398000552657C0D24EFA25F2C39E291A417ADD38 +:10399000C53A7E6FC388BB3F29E2EECF143D5F710D +:1039A00017E4FF0AF84AFE96A8787923FE1E171836 +:1039B0008CB8D7111D7F6FC4DB7FF01D85E2FEFD43 +:1039C000F74A74AE78AD787B16196F8F7CF62BC7EB +:1039D000DBFB891E4FCE97E81C608C32B715E331B4 +:1039E0006E53D817789F2EFA3EC18AA2E9AD781F90 +:1039F000D788B7BFAB287F460BFABF86A4D29B19E6 +:103A0000B7CDAFA2F6C054283EFFF299B91585058F +:103A1000148FBFBA81F3776A7F17532F6C8C117F95 +:103A2000DFD2FCA4750CCA07E01776B297CCF1F888 +:103A30005D96A06304949FDA216B0DEAD5F1F8A797 +:103A4000BC231263C5E39FAA54AE2B1E3F6FB22462 +:103A5000E2F0FD73709FABBC0A0B48E178FC683C58 +:103A6000FA7BE3DCCF4CE27E4D2BD81D035230CEE7 +:103A70001FE41CFA094A24BC0BC996E524CF40D6A2 +:103A8000D51BE70FDF719FE6379BE3FC4F5672BFF4 +:103A9000C2B22285CA4FE54A744E60CCEF1D984EE3 +:103AA00017CA2F0B237DE694DE3407EBBD0DF3C65A +:103AB0007A6F57E6F7AB3719F1FEFFE87A0DFA7E19 +:103AC0000F952258675BB514D82521BDCDB162FE94 +:103AD0007550C9519F2D1D3FFF8F7930BF38E08F42 +:103AE00018373AEDCBAFD1F9CA6CC6DEDAC8E52596 +:103AF000F15F8FC0C7B8DC526A3F8B39CEC8A4FFD4 +:103B0000EA2D13A0FD3C87B41FEBB789F9CFF23241 +:103B10007A67AA3A8B055480579CA3CA8A71DD8EB6 +:103B20002956867EDB3816C57F1D9CFF92FF3CD34D +:103B3000544EF8E4995F647DB020420FD1395EC9DC +:103B4000F01FA73BCDBA15FA9F2DFC8C4ED6518E97 +:103B500071B171E5127B0CD635CF63C6BB1BBFFCC0 +:103B600019F96567093D686EA5194FE3188F07714C +:103B70007F0D749249341F139F765A797CA52107D3 +:103B800037E43C5289726636583B789D79B62AC72D +:103B90008C8B699DCCFD6EAFCF65F16C00A4D676A1 +:103BA000773BD47B73E48C523CBF726E9519D26123 +:103BB000DB64F19E542ECBFD2A72D5BEB8AB01E377 +:103BC0007D77304708CFBFDE7F90EFFF22BF14A87C +:103BD00044BD75A544F96175FCFDAF1BD730DB28EA +:103BE000A12FDC02E30E5BD95581F8B96815D70324 +:103BF0006BD7D8549DF822D71397E3AF2AEA156301 +:103C000066DC03ED7E3718F006F1A48DBFAF66C801 +:103C1000BFDA35E6F7D696ACFC8CE4A4374A1F5CD5 +:103C200022F48B25517A631BFE02EBFDB901875EFE +:103C30003D31C0F5C47BE7F54B473BEAB9DFFAF706 +:103C400051EFE82D35CEA3D53CF1CE64BB15DFE1B5 +:103C5000DCBAE0B1C4E5CE487836D03EDD5EE3FDA7 +:103C6000F5E48111F4B822D946EF2BA929D7758F35 +:103C7000E27AEB85E562BB83DF475B29E3558D374D +:103C800055EEAFDE50C2E3392FE5F038BE707DB09F +:103C9000429CD4CD5B48A773C5FE58240EBFB785A0 +:103CA000BDB735B37FBBD0387FAB50CE6F427EB04F +:103CB000E11D85EED5B56D67AAFDE670BDB7B3C74A +:103CC000585567F8BCB43A387A981AC33E3991FD12 +:103CD0007F2C2A8CF7B5E0CF2D583ECB12488F8C25 +:103CE000F37C53F4FBDA94272D283F368C994BFC58 +:103CF0007856895DC5F3F71B73CE34A37D959E93EB +:103D0000FCCA03309F39A09FE3BB9A7ED6D5908A28 +:103D1000F534A06BDCA505CF36A37E7F12F47BA41F +:103D20009B592C4A7F0E005F29C4EF8CF4E7887200 +:103D300011EF13B0A0BE33ABE83371DE1EB060FCF0 +:103D4000CBAD1887AC215D87D25CE4A7E2FC2307EA +:103D5000FE8BF41B1BE9AD51FCA1AAC0CC6F6645DC +:103D6000C9C71BBF7C6E13C6D99F043AC57BEFAF92 +:103D700061BC36C2A1E84927C2C331FACE467CC72E +:103D80008F953A422361DDAFA9598B911E5F2BBA03 +:103D9000C785EF979ECC584EE51B4A1DE76498E710 +:103DA0005B23B387A911F07DED276CAA17E13BFADD +:103DB0005FD2EF86F565E75CAEF7C2FADEB272FF5E +:103DC000CADBD91B876544D4FFD1E4D281C5A817CB +:103DD000621002E0EB185B2033565CAE81AF3547D2 +:103DE0007E4EF1EE2BDE51027152DF787546E0C94E +:103DF00047C2AFBEA23979861EB35F4E6F35D93C3C +:103E0000AEE6AEAD136C91FEF4C9C5B2C9DEFB647B +:103E10001DABA47A8727D9B223FCE6F9C5DCAEBF77 +:103E2000734D32BDCF113D4E59B159FFBDAB41B3BA +:103E30006950EFCEE04C1BDAF12BEA62CF2FBA5D6E +:103E4000CD1831CFC3336D196323EBF179AE68EB35 +:103E50006B9D3C9E45CFAAB6E17E3A187FB7748B26 +:103E6000A472FECDF4E00D68776F59C6E391C47873 +:103E70000E5597B7E0F95A9A1C407F46586FE7FEF7 +:103E800050BBE6A5735476A2FFB85E433EB780FEF2 +:103E90008BA93DB881E49C0D86C77DB4A579685C8B +:103EA000478F8DEC1B6BCF204A8F2CF8BA8C71C5D5 +:103EB000AD69C2DF9BD6FFBDC56D621C8C5BC2F7CE +:103EC000A38DF136D5BB297F4F7132C16190C54BAF +:103ED000E30F72BB480FB33B387FBEC1E29392E958 +:103EE0007C85390746F8ED6EA831DBE718C7146901 +:103EF0003FDBD2524CE5438A395CF1BDC8C8EF358F +:103F0000633CEF491961F85628CE468CC36ECBE26C +:103F1000E7EB6D59CB658A03D138BF75F965929B84 +:103F200073757E3FD8E0AF733DDDF3F17CF63581EC +:103F3000E75BF3FA974B069F35F28E9C063D169E83 +:103F4000FC50E0515C2E2F9F8BCFE1A584CB371521 +:103F5000737B6EAE05FAC823FE46FEF4D951E72204 +:103F60005B453F463AA4D8BBB598FB4383AE18E700 +:103F700079A5E3FF4AF7121D1AF717415AB106F562 +:103F800028E087C867005A1588870ED4B3802FB9F8 +:103F9000B3B87F659E6AF1A95A0CFF85D0EBFAF49D +:103FA0005F08FDD278A7C3C9BACBD1BE71A03F06C6 +:103FB000ED11F11EA7A1E779CACD7C75307480F6AA +:103FC0006035FA2FA07E7595B9BC2FFFC5C162B3CD +:103FD0007D9DCDDEF0203DB6690ABD8FBE35F388EC +:103FE000339FF69FC725187C11EC87A025E5EAFDD5 +:103FF000BCF1CB9F919FEE4456D0827CA74A05FD31 +:104000002F067D9C00BDCF057ADF096B30FD11289E +:104010004FD36E9F0596303B31FE37CE6584EF015E +:10402000139F7B53EB749DC90D8FDF175E1978FCCE +:10403000CCF6667ACF056C010DAFB926083C3DBAC7 +:104040005DDD817A21F3BBA5A4A98C5D28E6FEF491 +:104050006C36C589FAD4D6A4EBC3DBAF4DD27F87CB +:1040600072A24FBD8AB533A14F39509FFA54F04D1B +:10407000A31EE8539F1647E85371592ED2A73A7FE3 +:10408000C286A33E7C24D15E130B6E9DBE7CE744AA +:10409000B4CF98EB6CD2F0887925E5A7CBE83FDE6A +:1040A0006E217F07C3CBE8B0DECE9FE7A4E37A8E14 +:1040B000243F99A9C6D0EB8E4ED62FE23CD614EB06 +:1040C0007FC5F5C41BF317ED1758D8516B4A2C3830 +:1040D000F3F66F4C12EF73E7F27D31D26BEDCF0F39 +:1040E00025AF1FE35BC0F6A7738FE87A89251C5EB6 +:1040F000EF657A577A629F9BEE1E10716E6ACC67ED +:1041000008C6BAE3BC441A1E8F115FF33FA8907F24 +:10411000C3FEA042F70D2FAD53E85E90FDFBF903FF +:10412000E418F0FE44E88D6784DC56C5BC66E728D9 +:10413000263E8A766824FFFD5A51AA297F27D3E9B3 +:10414000FDA9B0BCEA4AE47EA638E2A7BFCFE5EFFE +:10415000C07CB48EDBC509379FB6C67AD7C6483F48 +:10416000FA3ED75F123AFFCB8A721FD257DCD0CF0C +:10417000E24DCB0AE3001EF9253C0E69494F02F9D6 +:10418000FF8C76C5252AF7EBD79DA1FE97F4245125 +:10419000794253B715E5FFD2E007E4C75FD2134772 +:1041A000F26E71FB7ECD81FACD3AC985F2D6280F29 +:1041B000B77752BD159B94A87377E671469CBF19DB +:1041C000F267797382A95E4DB6E7BD2311F2C790FD +:1041D00027034AF4192518379313207FA87DB48844 +:1041E0004FE983FEAFFBFC28CB7C7E74357EF277F3 +:1041F000782AF1173EAF660FC07526EA27F40ED372 +:10420000952B78AE68F80180CE9BD14F770B63BEBB +:10421000C75CE4DF0CBFD7236AA8D05F05FE026B42 +:10422000BB459FDBAC21FD7A9DEA2D68BFA75BE90A +:10423000BD9E2B5798E50A1ACC69BDEDDF8C3CBFBB +:104240005019F7239C7470B9BB4A5749DF5F05F2D8 +:104250002600E3DEC7BA5AD10E9F2FEB5BC90FF6DB +:104260001EE83F6AD82E6F98FBDBF4C8FBE0F70628 +:10427000CCFB75CF7673BCE6BCCA5453FE1BBB8720 +:104280009AEA57B84698CA6F71DF642A9FA9E69BDD +:10429000F273F56253FD3216E5F760DCBF5F86BF4F +:1042A000669ACA494E3D5E924C7078C7DA356368AB +:1042B0001AF233290FDF4D31CE316612A0F97EF8A4 +:1042C00060FD330CB929FCCDC6B90000DE721B9429 +:1042D0009789B8B21951F2B0ACE0338A332BEF3082 +:1042E000FB41CA849FBA2CCABED95122EC72213F2D +:1042F000F795306EEF0A3BF49F35AFFB0E6694A343 +:10430000FD570EF21DCF9FAF777ED7EB2F29752D6E +:10431000233BA6335D21BDAFD3556A494638BB2543 +:10432000F2861E499F579582FE68E6E8C6B8E257B6 +:10433000B31EB070BD5C4FAA88F08B3904FD1EA976 +:10434000E77F2FA553E8BDD96CB43332AEE7C87010 +:104350003FD9C1C7878D6FC62096A389E3D363E990 +:10436000D19D71F9A45F1F3F3CC9827C67BAC56FBC +:10437000413E55993582ECE55B1CDC3F395DE57EBD +:104380009CF3625C5857F9F8B4303CA7771C9E81C7 +:10439000FDCC7067940F857574BE20B154D89755C5 +:1043A00041AD16DBAF4AB7AB01C243F6CAB7B09D09 +:1043B000F1DEBECECFF93CF01FEE93E43E65437EC6 +:1043C0007D0CDAA37D12FD9E7E999BDBCF9551FE7D +:1043D0009D88FD317DFF340A7F54E62738BDA28ACF +:1043E000F33F3536BF3B22F8DD9F855CFA8388FBBF +:1043F0003F27EE9BBF85EF3241FAB97897E968BD58 +:1044000046E9B1FA224A8F8B7B015D782F60541800 +:104410000F8CFE1F92422D37A07C7E50D222F9C80D +:104420006947FE260FE4EF99922CE46B57C50D30D7 +:10443000C5A414250FCF95FAC2B3EA12AF3C05FA12 +:104440002F7748747FB9DC9561E92FBEFAEF4D8F65 +:10445000D69BDF2BBBAADC16BA0FE3008F4AA574EC +:104460007EDEF9E0885D0D1176FB3D53B83DD179D4 +:104470009BE1BF0E92FFFAF49A4E9EFAF2FB8D0B6F +:104480007704E699E46D74DA268BBFFBE3E0F78BE3 +:104490001C6B4799E0365E8CDFDB5F7001F5B7B8C7 +:1044A0006D3EC9D93153CC7EC076BD91F4878B5E09 +:1044B000E6C3F7C4FB9C97E827127F904EFE2CE8DA +:1044C00013F107D373C22E45FCC114F10753C41F67 +:1044D0004C117F3045FC413B16F187FE2E527D0D7D +:1044E000A5177D9FE4F0F79AB81CF5B2F00FCAC18A +:1044F0005AFC05E6BD6ACDA9D61B60DD4BDBE7D1D2 +:10450000BAFA9AF7D21F7CC78D7AC67A493AB60CA6 +:10451000D6F9D1DC781FBE87E48D7C078F9F579931 +:10452000DEC5AB8D7A070FDF79EBD5C7C43B6F7A59 +:1045300044FD8F0EBFCAF59E3A65DBA711F359E221 +:10454000033DC789DF6DA6EF7F6F7A3A0A3FAF97C9 +:104550003F2F5E9361C1F88E72BCE704EB7FBEC44F +:10456000BB6A0AD05F9953217A2A733C624138F5BD +:10457000698FA07248F7E543D66AB473167C9E181B +:1045800019CF19F6F3AA5C7E89792DA9137EDEEB8B +:104590009CA7F15E4EFD14A729AEE17ADF9F68D794 +:1045A00097D33DD18BF8DE349DE799E3673B170C39 +:1045B000F1231E6CF02569E8E7945C0B88FF3B1241 +:1045C000B9DCB15978DCAC2B1D706612C6C72DE280 +:1045D000E7FE1AF3A27FC9F0A7F7C62F79981FE369 +:1045E0009736B8651DED42E3DEB22DB080F092D56E +:1045F00069A6F7546C51F17BE173F6A9517170BA59 +:10460000FC55E2E0AED73FDE2CEEE3F5BE3FA9FE5F +:104610007DEF4F12EA237C7324FE5E8D38079CE504 +:10462000CE56C9BE12FA8B21D767E5482D28FF4F19 +:104630008DB7A90A8FA768C17889D7F0DC43A3BFDB +:10464000B344FDF90733B2AF6C395C0E1AFA3C5231 +:104650002CEAABB38C772D7473BC063D8689F1A828 +:10466000BAE58C7DDCD57EE2E8788CE87801037FC2 +:104670004F4E893A2FBA4E7FC1F5D633E26A2EB932 +:1046800019F91F53742FF97D16093D3C95B5B7B83C +:1046900022E80AE36822F5608CA389D483318E2650 +:1046A000328F713491F5318E26B21CE36822CB3102 +:1046B0008EC6AC771747DD7F88AD67F715DF61AC35 +:1046C000335B7D83F6734B1ABF0FB2B5BA9AFC4BBE +:1046D0001731DE80CE43D97BA87723D9215DFA59E3 +:1046E00097DE822034F45B11477283186790881735 +:1046F0004913F12246BC8A71CE69F778B420F433AD +:1047000038BE6A30FAC7B658F5C148575B24C97439 +:10471000FF743033FBD56E889E7F01C71BE3FC2DF1 +:104720002E2AFEC45E6331E191350A8FAC53659346 +:10473000DF00E040E76C5B57733D1431850D223F8D +:10474000097FEF655980F6BF16F6DF1FF1F71316E4 +:10475000E17A811F2C14EB35BEC787E76BC1F9D70F +:10476000A60774E1DFF0DB0BF1755046FE4126052C +:1047700018EA5FCB982BE331E877FA54EEA732DAE8 +:104780005B98BBE18AE1FB30E6A398FA17FBA951DD +:10479000FCAAB799FBF35A8AB4E3A8527ABF2F69EF +:1047A0007E1AB5E65856C479A6C422FC920ABD37D3 +:1047B0004C7116F1421F5ED666A6C3A57E733E5E9F +:1047C000C40145D36BBCD07FE305BC2D3018CE6F40 +:1047D000D95426E00DF45418866B78FD4CC5F54786 +:1047E000AC7B27ADEBFFF375F7C625C47B9E18089D +:1047F000E37C22D9597341785D4B041EBC91187A31 +:1048000005FFBEDC39FC5B1378CF65EBED4F205D17 +:104810007EB2C1CEF8BD2975C97720BF748B9DE2E9 +:10482000BA16A3DF6304636BA66650FF724209D514 +:104830005FF2834486FCEA3FB67E3616E5F97B29B3 +:10484000DE2588779F247BE8BDF0A5DFBB49C6380D +:104850009CF7E2BBE85DF3733273E1BD94F76ADE67 +:10486000B6A2DFECB4C6B448FD72C9BA88781FF8A6 +:1048700077642AD75B6B647E1E54B34821FE71BAFD +:104880007D94787787E337F9EB605DFF2DEA2FF5AC +:10489000DE4BEFEFA36253D68F7E00F3FDA6278693 +:1048A000DEFD1BD1CF7BE9A1C5A90447E66AA4546C +:1048B0007B02DFB3F7039CE81D7DF1BEA76DE89096 +:1048C0009DFCBD657538DEE7B77D6F848CF9474583 +:1048D0003F1FABBC9EDF1D2FE4A2376741225FA7BD +:1048E00064DE178AF7382731F500E0C792F6DF5209 +:1048F0003CC80B0037B2935CA196C390FF0F501ECB +:10490000912F2C71FF8EE0FA401EEC30942FAD33C6 +:10491000C3EF93A9294407FFB1A53391F42D17F3F1 +:10492000DA8C7309A087A59B7EB916EF0D2D15783B +:10493000EE107158D1785B0BFB85F113AE78D63E43 +:1049400000C689F7BE5B5185F932A97BC024C4EB50 +:10495000AE0AC4EB25824FD7AE319F133439CF5600 +:10496000603CC80AF433E03BA639E677A5E06793DC +:1049700025C2AF178DEF4BD8970417E89EEE25029E +:104980009E98DACBD3B8BFF8B4B76520233CE4F0E7 +:104990003EF7031E97031AC1F0487DEB87BDFC98D4 +:1049A000A9D608F82FA9E96C9940FAA1A3BBCCCDF0 +:1049B000E1BF1CC67D01D61D0BBED1706872BE451D +:1049C0007058817F47CD75351C9C2C98B800E1E468 +:1049D000B5124FBE161C96CCFF1BCDE724BE675FF9 +:1049E000140B2E22BEE32A7830C2BBB3C3427352EB +:1049F000D3E8EFC7BA76413F1F6F993E03F3A71183 +:104A000013C8DFEFB1A11CC29FDE7B0DC8272DDDCF +:104A1000D6C16918D7E6223E69E08D01A7A55BCE15 +:104A2000B4D4E17EFC2551C578A1A5EEC9F7209F3D +:104A3000EAC5A7283821FFC17551FB11148F623ACE +:104A4000A78AC6B73D5399D02BBD44C74BCBC57D74 +:104A5000000BEC638CBFA34BFB3D04F6F5E53B97E5 +:104A6000FAD3B19D9FDBDB0BE2E3F07E6AD309FE54 +:104A700077E2B2F0240FE0D0AA331FEAEDC67B50F4 +:104A8000463F9680D99EBDFA5E0D7F4FCBB837D397 +:104A9000DB2EC8ED736BDBDC9876BA45E17FB7B5EA +:104AA000E5F042963916E735D97196F46DAE5F5A46 +:104AB000EC5A5B06EEC79BFC7C99A539D927C67ECC +:104AC000C27E58524BDC682F36C599DFCD18338D26 +:104AD0009F1BDC2C52CB003ECED57A26D7E315F4B3 +:104AE000BFE7477E0FF0EFB02ED48B14F4BBD3BBDF +:104AF0007566FDE2EA7A162A57F01CA0DF7A495C57 +:104B00002F33FCCDE57AC17E80FFC672BB0BF1FF6F +:104B1000541C7B04E3E1FCEF8A758B7BDE8B059EE6 +:104B20001879431EBB2AF483B87F67CBEDA9789E22 +:104B3000BD98713D98C6CFC07AF1A6FC629662BA64 +:104B4000B77DF7B46CA1EF0C317D6FD75386E1BC14 +:104B50002EE5D85215351CD71DFA163FA7DD680D76 +:104B6000B614E13C4B1DDDF89EF4D1D13686F796A4 +:104B70003DA5773DC9E3FEF9397B3CE2D5788C8BC6 +:104B80000F30A48FB3BDEFFCB2A4D241A477102D97 +:104B900078F581AD287F8D77236C81F9FC9D403FAE +:104BA000B3CD477C17F1E5DE66B31F703AC03748D6 +:104BB000FCC3E9C3F358A07B53796D941F303E2AA0 +:104BC0006FEC03EAE9252957EF9B9137E613B64FBF +:104BD000F2C83F65D85DD1F875DDFE29277F6726CD +:104BE000DA3FD532CD7C8E19ED9FFAC1B47F8E7F2E +:104BF0004A6933FB858CFB939D0B66C901B4E7D3EF +:104C00003277D923FC768F4DE3F2FBD722BEE22523 +:104C1000E1C77A59F8B182E8C71A857E2F4DF8B3FB +:104C20008A287F0CFD58E4CFE27E2C239E63DAFFB6 +:104C3000CC37BD2F79DF24EF63D322FC72D69E6C74 +:104C40009ADF4306BC84FD0AF621E1E3452D43BC0F +:104C500067CCFD60B37BCF291995CFCA11EF5619E8 +:104C6000EF1DE38FF16E02D797C85FE610F435BBF6 +:104C7000A48AFE1EC46CCD7CBE149F63CE3BB22CB6 +:104C800051E74FFDFBBD062873E97D2505FD5EF963 +:104C9000C8F7EE6518A7A6B8355ABFF1FE5F2F7E9C +:104CA000A0FF0A0FD4FFC976F5AA69FAD169008777 +:104CB000DD533CC730654E3FC5113427CF5848EF10 +:104CC0003D48E2EF8F45DFA7F69C2378EE18C17CC4 +:104CD000A9E8DF72BAFCA8BF28AA85F4F6BEEE17D1 +:104CE00019F78A6088804C70D169BCF07D617E8F35 +:104CF000F1BADF4D157F279D75C6911CB3811CC38A +:104D0000BD34FC61B6348F4EF7A19CE2DD4A8BA620 +:104D100055C7908F063E28D33C9F211C94E07CA26F +:104D20008B4B53F43F60BE17FF7BEF9BF61F7FD486 +:104D300022F07C9AD5CBF0DCC46ADC37052B2872D4 +:104D40007CBBCEE9A7B2D8F337C4735B4F168D0B8B +:104D5000FBC1F481E1FDE86B9CEB4DFF2FEA7D98F0 +:104D600031008000000000001F8B080000000000E0 +:104D7000000BE57D0B7C54D599F8B9F3BC994CC276 +:104D800004021D5E7A030182069C00224FB9492667 +:104D90002F42600218C112BC4988207FDD1D5DAC26 +:104DA00068ED720321265169B0C1D7B6BB93001AD2 +:104DB000B46EE38396BF75BBC3434B95D42016698D +:104DC000313622584B5D1B452B6DEDFAFFBEEF9C33 +:104DD0009BB9773201EC63F7BFBF1D7F7A3DF79C2B +:104DE0007B1EDFF9DEDF774E181BE37B2F99D1EFB7 +:104DF0000B3BFCC73B94B1D9F0FFF85B30F0C9988E +:104E0000CED87078D4FFF0873F9CC998135FC177E4 +:104E1000CEF3D732751863C573B51415EA5DE73361 +:104E2000993A1DEA023A0BA530D6313F3404DF33FC +:104E30002F2FB33F77DC4B6C573C373456BD1AE607 +:104E4000E1D79996CDD83689ADE884E7C18A85B691 +:104E5000483A630F85C6B5BB33F0B97488CDCB58DB +:104E6000B62AD177F1FD39CFCF65D1E9A6B283A9B2 +:104E7000D80F3BF4E1871F8E606C2B0E698BD567D2 +:104E8000AB36EA07E181DFBDE90ADFCA028CCD5209 +:104E9000C76BE923A19C0AED47E13433232A8CFB3D +:104EA0004D68CEE61018542603582551CF2645D616 +:104EB000C138C9FDF5391AB6DF26EA57AB399A0E63 +:104EC000654D0E1C5666309692C902CDD44DB7BAC8 +:104ED00015CA4EBF9D35FBA038C371BA5716701E58 +:104EE000C758128372962867E07F4D65DCC7E5EFEF +:104EF000BDC552715FADED022AE3705553D269DF33 +:104F0000AE61D7607BE3FDA8B95A19ED2FECD00450 +:104F100080CB8DFC53B6C2161AC1C6C7DAED80BA73 +:104F20006E2F0EAB25315A9F6A6B85F9B2A5B6C8B4 +:104F30006EB11FF87EB0FDDDBA49615177ACEC72FD +:104F400068CCE7E5F8161D16DB67A3BE5AECABF19B +:104F5000DC6663EB3A13F47F70415E35E20BE0E907 +:104F60001A7C1A785A9F56B892C1FC1E926C013B6B +:104F7000E00DCB837FE1297959A499E0E763B50877 +:104F8000EF706A80E0CD7C7A2DD4BB1407C1DF8D31 +:104F9000F86847B847E899CCA20CE1015DF74AE30D +:104FA000F9B6737A58E57BEF4AE89769EC0B84AF62 +:104FB00037FD92F0BC69D346F6EE04281E4C8AE217 +:104FC000BCE455C9912498970BF104F04DCED4550B +:104FD000C41BE69F41E5C1FBAB630CD6FDE97C75C4 +:104FE0000BAE7FB41ADA4AFB19D058680A7E7F6983 +:104FF000F3B9D4766F6C62EC5D641E071F650AAC72 +:105000003F295447F334E6CDFCCBE9F988D83796ED +:1050100099CEDE35E1F146814F8FA9DE74841B9B6A +:10502000C6A6213E6E547DB40E631E973CEFD6F0AB +:105030000ADC6766B3059A67D0B628BE11B81FF0C0 +:105040005318FB6C9642EDA4312FFF5E02FA907C60 +:105050000D21A413E3FBF87E65FC10C61D324F7DC5 +:105060001AE118CF7FDE6E1CDFEE96F0B96C880D6A +:10507000DEBF3808FFA944FE33CC5446FE83FB59FB +:10508000FFE4934F02FFEDC1298C8BD5BF28F84F69 +:1050900025F21FF82EF9AA5B6CBF80F1566FB0475E +:1050A000EC30C48EAF2D4B485F6F7F03E607FD9E4B +:1050B000827D41FA4A3EF86BE744D89723AA9DFACD +:1050C0005BDD9856A822DF4366734178723C7A43D1 +:1050D000EC4FF2966E6700BEAB8C4E76E13E57DF2A +:1050E0000FFD782FBD1F837F9E506FD5D2A1FD9BF2 +:1050F0009EF07F00C9019EFC9D560CE511D7AA3F8A +:1051000047F8FE02C783F6DF54D59388BFA7C4F8DB +:105110001B55B507EB8D32F0A953824F05BD330700 +:10512000F22947BE1426FEEE858D8529BE39CAD7E1 +:1051300086746ECCEB77B84FD07FFD2F12F3913E83 +:10514000A3FE055E8FFD48E9D88FD26EEDC746ED10 +:105150001C6E3E9E23993F8DFACF043E18CF3753E5 +:10516000B5A86447BA543FC3F57966ABE7711DC96A +:105170003732FA2EF9072CFCAC77E07CA45C3E9F1A +:10518000E4652C9C68BEC9B97C1E072AD6DB1A09C7 +:105190002FED118E97D387B004FD194FD7F9649284 +:1051A000F7FDE57E3E9C4AEF416E69385E3CBF2DBF +:1051B000CBE5EB99279E2DEAB421DA05C69123CBE6 +:1051C000488F18ACBED1D60FE74014F9DF9D93A6E7 +:1051D000352BB1FAAC5C2B5DC9D10AEAAFB271399B +:1051E000CD735C6E8A857FB4A89B19EEFB398D85E3 +:1051F000ED39179897E8E7608527095813EBE9B66A +:1052000007DCC8A6D8D914E497F1ED5FD8E463FAB7 +:1052100024A0CF4D7EA643C31F811CC367745316C1 +:10522000BD3FB02940E5439B6651F9E54D2A950FF6 +:105230006F2AA667CFC673C796C0389F28480D034C +:10524000FB2FCA55ACEB3C3F95E9B03EC5ABA4A2E1 +:105250007C7137E55F50AEBE0874CFE7258B79F9D6 +:10526000E87940CCF710CE97E6C5E7FB9FB3B4D200 +:105270005CC09B6BCF47ED12C0CBA330D59E06E33D +:105280003AF61F43B5EFD6D9EAA25CA2B35E05E1B8 +:10529000719F0D041FB4D357274776C39614D8BD0A +:1052A00007509EF66CE47CB06723E78395025F07A6 +:1052B000ECB3E04B46B969C24D361B7C7F451EEB13 +:1052C000B50344262A7DB96C2A630FCCD12A71DC40 +:1052D00089301FF7547AAF229F7EFC11477104F08A +:1052E000ECED47BABF9384FC5DF74BA9D7423D9BD9 +:1052F000925A0EF0D92AE860477362FE183F8F2554 +:10530000B3D57538CE2F37ED23F96BD4033FE1FCCD +:1053100099B5B0A5D0EF8E8AC7E46A28DF1E8787CB +:10532000D7AFD06ECF35AD3329D3E7423DF5D4A307 +:10533000EC323604E0D1E45E1149308F53E1F1A93B +:10534000D7A4939E712AF532D3BC9AC75F86F07BAF +:105350000BD789FDEC91A3089F9E91AC8D01DFE9ED +:10536000B96BE738C51B5B27F0119DF64749BF882D +:105370005EC0E59B41CFF4834F52E7645BF8D99E52 +:105380005CAB7EC57049D06EDB4FC74F6B66B1EF2B +:10539000166565B4374BB1F6A401819C2D65A6DF77 +:1053A0004CD497E097C18B0AD493E8277DA9F3D01A +:1053B00041E8C713F2849B61DF4B034E76CAD0539A +:1053C000E15F4F96B52C673A2C655034996AD277D5 +:1053D00019BB81A972AC3CC47E746C00F9D846FB41 +:1053E00043A701917BF6FFDA8972CBB5B18AEC084D +:1053F000D74617BD37E3C329D8FF4373D427713F7E +:1054000037CC559F42B87E364BFD2EC1776377254A +:10541000AE7B0B4BAC5774CDD6F6E277ACD5A7DE9E +:1054200089F5B7831E4914EE635508E7F1A04706D6 +:10543000482FFD41AE492F8DE98BAA8DF4C54BDC79 +:10544000C74B6D67E86140E73FCEA5FDEF0CD4C1C7 +:105450003B0FD6C33EECF933F52CA3DFA5C56D0C8D +:10546000F93EC84961EF400399E4607F5986FA0527 +:10547000AEEE6C1BF0E1CBF246B439E683FC186F5C +:10548000B44F69437D6441815DD853729B9AC9D8FA +:105490007197A9BF598CBDD6E710F58EAA7550EF4C +:1054A00051DF09FA009E1FEC97DA5047B3AFB48979 +:1054B000FA2F7A55683A2753ED4886A59DDFFF7B82 +:1054C000A5290DC7573B5260FCDF4CF6571D1E89BE +:1054D000E5BED1C7A0FC8D03D756C94938DFDC3003 +:1054E000F6B7F3C0A82A19D6DF358E8FFFADBCB151 +:1054F00055FA3C8453E843C283506700F70DC60B4E +:10550000217DCE01F3D842DFB97682E7F95C27C16D +:105510006981336A47BC5990C1541DE6919BC98289 +:1055200036C097D7E61D1C8678F802DA21C3A9FF9A +:105530003F50FF2BA0FF2903BFFB2C57A17EE3BFE9 +:1055400087EFA43CDCBFE5FC3B980FD999B8EE3A55 +:1055500007D53BF3B0DF30AF5FECC86999E0C379A2 +:10556000FE2EE2CD88B53F97FBB9569749ED93A93A +:10557000BF4EDEFEE270B67E6FE84B47C0C4C46724 +:105580006B9ABE2204CF5BF338BF8A7F82A6350CAC +:10559000E179DCD5E75D02EBBC92FD36129C4CF361 +:1055A0001843F3D8C7E16DE0475ADE7F683A5F974A +:1055B00042F5EBF83C07C3D73FF769E0E7A8BC0F1B +:1055C000349DC3792AC171159F8F811F97E5FD26F0 +:1055D000A28F41FCF9C8AE223FB7337D37E0D5A298 +:1055E000E97F1A6DD687B6E5717DBE6B9CBE0EE174 +:1055F0009194D947FBAB2A0A33EB274FE571B98960 +:105600003CC53653F04B85CB65947B302F8BFEF732 +:105610008480E3F744FFC75DBC7F4059D93E8DE3EA +:1056200009CAAD62516F7CD74F4F6C25D1DB829C8C +:1056300077833EC08BC579B3DBE40CF33ECF78C7EC +:10564000BCCFD7E55D5525F024947709F470731E1F +:10565000A787D5794EB1FEBE65A83F34FEA783B5B6 +:1056600013F3E4780EEB0B34C3FE33478B6A433DF0 +:10567000C491467E10A39F05599D1528FF4DF4A2A5 +:10568000E599E8E5CBF65B99A758F413A37FE8F713 +:10569000FF24A2A7D507AEC810F4F4F734EEF37CCC +:1056A000DD83E1EF6074709FD887F8A7D18F419FA9 +:1056B00037E74D6AF34A09E1BE89E6A7F1F12FC643 +:1056C000B7989FDBFDA0276CA579C7E1D55285F778 +:1056D000CFF4656DB8CF06DEE71EB8BE0DFD5230C3 +:1056E000DE03E6F56E44F89BEC1D039F0D38EE14C7 +:1056F000EB99932719FBB483BE5FC3E19900AF0513 +:105700009E0D3AFE7768BD82EE1630309C87C6E863 +:10571000EB62EBAFC77D1E6EB2076516453BCEE56B +:10572000F771FD450DED31F34763FCEF1D50AAC441 +:10573000F84F9BF9CC9C3C1FF59794C91C82FF3E07 +:1057400043DF0B3E952BE003EF9FA7F7828F7E5937 +:10575000FABA64391C2D27FBA581B184FA80CB0EDF +:105760002B23BFD134AA073B87F4B7A3FE4CF29B8F +:1057700066028747BA69561482C7D1AC3CA50ECAE7 +:105780009FACBA721A495F61BF7F1FF42315F4E51D +:105790007D6057E013ED2055D841AAB083546107CE +:1057A000A9C20E52851DA40A3B481576103E3D3312 +:1057B000249D5D85F35F4EF37745F8533E3F93ECB0 +:1057C0001DBBB30E6D412667B53085FC0C870FD924 +:1057D00047A0DEC27F5D57FA9CA837942B1116862E +:1057E000E74F73B5D366FC0E89764BB37CCEE9FCEC +:1057F0007F5FF498FC99A3E62AC2CFC5FDD086DF6F +:10580000C0285F54FF8225DA014E49AA9DFC87EE2D +:10581000DC6FE94900D74F55D6CB2DBB161DED13D4 +:10582000F91E46FEC3A44774BD99F47D164EF5A338 +:10583000BDF208D5F7CCE3F57226185626FD767F23 +:1058400005EC0BB46FCCF644709F1A973F29233CAC +:105850009A37D4D8BAD1AE556C11D4AB778CCB2350 +:10586000FBFE287E689AF7CFC57EA15E8B76DE9818 +:1058700070C499C83E6F3AF0E8ADED304E4873FB06 +:1058800050576F54B717A0FD7BF2163BB56FCA6B2C +:10589000D3D1C9D93359DB8B7A47A323C2D00FE4C4 +:1058A000B9E56001FA7F7A9CDAD543E1797C73F43B +:1058B000D6103CE7AD282BCE30D969F1E32DCDE7EA +:1058C0007CE1C4FEA40770FD8D92DC4B4F67A41DE4 +:1058D000E1D333D915A883717A728F8DC5FE1BEF82 +:1058E00058BBF76708875C7700D97AE31E7905F61D +:1058F000DB98F1B8FF2653FF1557BAC228779AAE46 +:10590000B8A900F139541C7025013F0EA9CFA4A4F9 +:10591000C3F7C76F993E0CCD84E6C9AEB135B8AEBA +:10592000AFFDA06B26CA8315F69949C887B2BA9D08 +:1059300048CF976745F45E78565FAB4DC947FFDBAC +:10594000BAB60284AF67CDF6AD684F5EFEF9F71ABE +:1059500069DF98DC8B7640F7E476B12F3B65C4476E +:105960007972F5E671A8FFE7CABDC8C79B955DF2DD +:1059700044783F31CB56B576EA4078343FCAAED54D +:1059800086E0BC603D53B0DDEF3669D0AE3BC3B5B9 +:105990002211FC8AF3B97E5091FFC4B80DB0AEE677 +:1059A0003DB20FE1D22C451EA986B2BE3225B09B76 +:1059B0000DFCAE5DC0FD86704B815BA1FD217EB309 +:1059C00034FFBE361DF5EDA17CFF2A1C4C760E8DF2 +:1059D0007DF7C09CDCB27C93DE3060DCC9375D8D26 +:1059E0007882BC03FB6B3FD84E7C7BC9ECD075F949 +:1059F00030CFC647228F205D805ECFD04E1FCCCEE9 +:105A0000EE017BD97755ECFDFDF95C8E34DFE126A4 +:105A100038F4848FA524B497BF766CACD95EEED9E8 +:105A20002393DFA7B93299EC65961DF1E37EB83A6E +:105A3000FC3EF4278D56736FC279FD0FC0BF6FFC1B +:105A400037E31FC9A7E2FC7F69437D5B6551678827 +:105A5000FC20AFA46809FC19D7AFD0BE65C693552A +:105A6000E134F283F4083F88B18FF1DFF53CD2FDD9 +:105A700040D205F6D5E02397B0AF6D38FE4DF98CD6 +:105A8000F3E7E0B04BB28FB7D9D419CFA03FEB6E9C +:105A9000B70FE9C623EC5A7725CB73E078C161EDE7 +:105AA0003A8CF7A2A01F5F81BDDC817C3ECBC68D06 +:105AB000FFCFA13F90371A76698F95CBB13C3E3628 +:105AC0009EC680BFCBA29C81F51E4B59634389FFC4 +:105AD000C7EA4759CA6F3B7BBF7327D2F75E39B01D +:105AE0005BA1E9EB281F5C7B67ED44DA33C6399D87 +:105AF000EF12F2494DCD9D294C2CF8ED70A95B7247 +:105B0000D12F2CB1BECD68F26F2CDA920BEB7B5902 +:105B100095FB18C8A3196F384EF5C717E1DF00EBE6 +:105B2000B5E17AEA2A3C5B10CE4773E53E37C8B54B +:105B30007CD969693735F82B8A3306187C6F8A332C +:105B40004E65F77F649F8A4FEBFB37F345DC51F8D6 +:105B50006907E3070AEB4E299F8278BD6C8804E54C +:105B6000B3F956FBC578FE2BFAF140BE75825E8212 +:105B7000FEBC67412FC1F2F3A09760F90F021FDE50 +:105B800016719B4377AD2D20B89531C98D7641169E +:105B90008FA71D10FD8F001E854003316EE3F87E38 +:105BA000D63308BE7F946FB21FA6EEE37E3F9C37CC +:105BB0007E87F3BE90FFF162F3665997A6FFB5A802 +:105BC0001F1FFC02F131688FD8332E345EA318AF4B +:105BD000859ECF6E7A448C17B1F863F706EDC44703 +:105BE00083C39EF26778CDE36D26B8343BADF1AF49 +:105BF000A359D376A27E02CF2176783F32E84AB805 +:105C00004F9EF3768BFFFF897CAE7F79409FC078F3 +:105C100083E7BC8BEA9F11F652AC7F1EDFC7FE6D97 +:105C2000DE983EFAE7F66FC02DD51E2D1BC6ED752A +:105C3000DFEE198248A03C25D347FA5C37E37C406D +:105C4000663E17D2C1FC60067DA7317D02E8D4CC48 +:105C50007E5BBE3707DA9F7CDE9123C1504FA76879 +:105C60007E949F07468E18DB8BFAD8FFD52EF75D02 +:105C700060FF01C3FC363F8DEAB7CDA2723A2FEB2D +:105C8000362CC7B73FFAFCF3C3510F7E7A2FE78358 +:105C9000FA485B644282FDBE27C8F583297B77C939 +:105CA000888FCDBA44ED6F084B1105FE7755FD3353 +:105CB000247756AEB05328FFE42D7B7F56817C2598 +:105CC000680F4CA0F2730F20BDBFF5BC0397C9BE8F +:105CD0007A6B4DF10C287F756435861DD9CAE008B2 +:105CE000C15F349273278B3557730ED81FDECE9F5A +:105CF0005540B901FA6D47FEC43A495EBC157C2E89 +:105D000005E7BD32C8F9E7D34E6B5CDF78FE2C980F +:105D1000385E701CF12181DCA8BE36EFC620B4FFCE +:105D2000AAD49982FAF69D8772AA1DB3113EEF6735 +:105D300061F9DAB519EDC11C1A8FD67F74AF2382D1 +:105D4000A0389AE2ABDC80EBDBEB0A0046B303B78A +:105D50003DE14779DB8CFB7581F8D5C5F6EBAB05EA +:105D600092EE063EB8AFEEE80DF7015FF963B0BE04 +:105D7000DA3119E0C3BA6FB80FF86DDEA1B9D5E812 +:105D800067DC867920A310DE8DD5E857A2E015CC1C +:105D9000FBD0F3A7C3E6F86F3C9D0F96EFE02BB85E +:105DA000B4F89B2B527EC1F85B03F69FE0FBD7C58E +:105DB000BE7D91AF3E80F0BE7A81BA2D887EA671FD +:105DC000917588EF4C5D761139CBF94679D4D7803F +:105DD0006C5F7BB17B9439CFA61FBF05DD4FD99B8C +:105DE0005E568A72F7960943ED263D5612EB6C100B +:105DF000F860D0EB8D1B32287E018C57C678433972 +:105E00002229C0315FE0D3718FF634B66BBEC2A5D4 +:105E1000B6A35CCDFA1DF17F091DF300F772F9738B +:105E200027FA85E41C16708F44B9EBD085BCB27D8F +:105E3000018D4E06D3A89F06FFA91484EF0A113FD7 +:105E40005931CA4678F5767852BB886FE8EE9942A8 +:105E50007F80AACFC4F81EED66278EC7828003B369 +:105E6000A99DE21C21F4036857EE3FB53503EB41D1 +:105E70000EE7013E95873F73A21EBFD7C35A10AEEF +:105E80009EA053EF35D98595DAA7058B605C5F9EA0 +:105E9000D43704FADBE2FDB8602BB45FE5B7338C8E +:105EA0009FADBEC779DA2C9FBDAC3705E9DBA339BE +:105EB00019EA49AB3658EBE177BFC3D057A0DEB340 +:105EC0007CC4D60CE8FFA7A02748B328EE6269EF90 +:105ED00011721DE665799F1FF459F8CE13F9EA3166 +:105EE000812F6F20BE6C0B72B97AD4CFE176348BE0 +:105EF000452409F902E7D347D7A595CD8079260136 +:105F0000FF40F6E15953A7336F22787DECAC467E13 +:105F10002DB396BC91088FE1045F5F05634330DFCA +:105F2000C40C2FC083D5FE8F0B16A5C7E0E5657D99 +:105F3000042F8FC8AB8A87D7166FBB8A7940AB66B0 +:105F4000B97D76DFC5E135103E63683FA1FB3EF7C2 +:105F5000AC8170EA16706AD0B60E47FD602FAE9F16 +:105F600094348DD6E10138213F658EE858E49F27AF +:105F7000055D10F18E24BE3A1CE39C03E98CCBC571 +:105F800011D786EC05C3C98E8B3A86C6F8CBE0F4F0 +:105F9000C9F94B9ECA685FF27CF64804F6E5902B7F +:105FA000E0C0F91C4A95588B74713E06FB9D5670F3 +:105FB000F5E07CA1358EBFF7FB512E717E1335D0F5 +:105FC00093603E4D635804F5DDA7326D44FFE7341E +:105FD00029C2280EBDAA11FD3167008C6E4E8F8D2F +:105FE000C80F2A04AB68BE5A7A7B28B457245B805A +:105FF000818EB7EABC4443374C29A77E5819C8F4B0 +:10600000D118670FA562F9EC180743BE22FBCF4DEC +:106010003A0DEDF4BC1097BB5F63BE2DC012BECA33 +:10602000224ED4EF57B2700A9A06C98E0DB7623964 +:1060300049FEC7BDD5B0A5F7D6ADDD5B054FF79ED0 +:10604000E9A4075E6FEF7B6321D0E79C9FFC6E0D98 +:106050003A5A526D7A7126C0F337454CDF20635EA1 +:1060600051DFF220D4FFB030D25E0FF58DC1532442 +:10607000C7B24A7F54EBCE89E50BAA2F55D620BC78 +:106080000DF89F08DDD981F67625C639619E86FD1B +:10609000417E3260A095593C6E50B941A27536FCE4 +:1060A0009CB57B250E138CD70EC3FF8775FE6B2125 +:1060B000E7AFC3E6D56EE9E5FA50F8723FEFCF6E71 +:1060C000D8379C1C25F4670E3B111F8FE5F15D1A34 +:1060D00017FA1BAAB7A9A457695EA508E56531B4EC +:1060E000277B8739BEC0B967F132FC5EFB2281DCB9 +:1060F000FB5B3D1F04BDFB94F302F5AEEE5BD19F4D +:10610000FD60C9C4913E98FF902B270E45C5C781FD +:10611000DC07E0D7DB319EFCA4CF0978355F67E46C +:106120004102DEC0F35E29943A0BF124C3C6D09E2F +:106130006CEC7857C5B85083C2FA18E0CD92F96775 +:10614000C8AF9756C5C29867F1596106D1852FC36C +:10615000D694A1A09CF92BE5D1C87A60A9894FD823 +:106160008B6C167FF160DF1BFEE2F8F70F0BF96B0B +:10617000E8E50D8A8DFC92F0A4F57CF2168B70395F +:10618000D84B7EF0FEFEE0CD3DD318BBE67C36D387 +:10619000A70FF4F71AEDFEDAFEE50737ADA0F753C7 +:1061A000CE57119DFFEBA67554EEDC14A6E7B39B0A +:1061B00036D2F3F94D3AB59F753723FA68BCC31D43 +:1061C000D98CFED6A4E8BB76D2B35D0AE6B920022C +:1061D00020FDF7DC3A89EC8306499B3204F566C959 +:1061E000C376039D36A4F476623E833E328BFC6F09 +:1061F000CC11F10F41FDB82E8BA19FE6B88B5D96B7 +:106200008AFE253062D0DF7AE623DD8F65CD06C4B5 +:106210000EFC68DF583EBE638EB71DC7DF921ABE04 +:106220009A01DD1F28FE749703F86873DDC3D10F50 +:10623000619C5F953C598BF1831EA9732CF287BB3F +:106240008BE7EFC2B8C7AAD3D16CCCA7CB7CF5A3A0 +:1062500035C980575D189B32F29167C5E2224CEF39 +:10626000DDB96E0CAC6F875B94DFAEC1F89FC313D2 +:10627000F693DF5AF7D71E06BAAFB85CBB03CB451F +:1062800025BF26BDBAE22BBC3FE5B5AB88DFDC9B62 +:1062900014F60327654F96FEAC16EBEFCDE1FDFF3C +:1062A000B0F867B5586FAF6221C4A389CA7C9F0B51 +:1062B000F9B61FEC04F4574F5CFA30C65FCEB5AEAA +:1062C0001D81F233B7C46EF8D37DCCF0CFC35CCF61 +:1062D0008CEDDB8AFCBE37C3116E87716E10F6DD64 +:1062E0004AC1B799D0B71A45FB1B19E86D9C9F3876 +:1062F000506FBBBE54C497259DF2F680CB2B8F0503 +:1063000068140DE5B74B7C879C6D23FABF3F48515D +:10631000303F43F63B2CFA16CE11E7E512FCD415BC +:106320001B87FC19F6DB428D98FF74547532F41309 +:10633000317DC5CB9933513EF06F2566EACF8EFA99 +:10634000C5B30598D75D80FA1AEC57F92DCED3E680 +:10635000F1BC8CC7EB0A54ABDEE012F9DC2BD75949 +:10636000DBBB843EE61279DE0E1814E7E570055EAD +:106370004A47FE3B42E2F8C80E47307E62F0F1AE7B +:106380002DCF50FCE4D3C20C03FE0AC64D5689FA49 +:106390005C87E4AA82FA5942DF9DF37E640BE2AB8C +:1063A0004BDF3EDBAC977F522873BEA2B79D403FC8 +:1063B000A70B2400E691D5BFA076625CEEF9A25F40 +:1063C000EC44FC5CE012F8A89FDBA9CE03F88445FE +:1063D0007E88FED14E8C7F75E519F8F9610DD6F7F0 +:1063E000E787E8EFEF443FECE0F920EFD5AC7360CE +:1063F0007CCDC81F39B513F1D95E09E62C8CFFDBC3 +:10640000127D57D26CB17F440FE935B8EE63C25F9D +:10641000FD4251FA4EC4D760F16DC1E1B05FCB438C +:106420005514D7CB2EF45AFC54C7F3222B50AF6926 +:10643000C43C6DCA774EA23CD88F8A389E2DCBEBD8 +:10644000AE0D650FB4D38C7AE3A9293A437BA3122E +:10645000A86D1C8C37CFC6F5987973FC6D752497A1 +:10646000355B773AE60B0DA57CD58FC57795FE7F1A +:106470003A89F94AB0BD8ACB84BF3D8E680DF2A53A +:1064800033784203E87EA81A1D2FA3BDDF27AB1186 +:10649000C247F66626EC7BB5C0C7614C2944FD7740 +:1064A00025E05F14E053EBFFE793A437C4F0DAF67E +:1064B000C535313C5719DB8FF834F77D2B5DCCEFB8 +:1064C000B396179CB7967399D56EC997ADE5029FA1 +:1064D000B55CE4B7964B146B9935727A00E9407A53 +:1064E0007DFC79077A63D0291B4827B9396B48AFFF +:1064F0004F02BD1EFD98AEB87311675ACF911F6D44 +:10650000BB9F517E75923F3419FD20B547EC0CE3DB +:106510005E3A3684F2EAFB25E2FFABE57985C119E4 +:10652000941FDEED463D49664AFFF8E378DC0DE551 +:106530000B6C8BCB8976EA3C27B73798D5BE8CE7B6 +:106540002730D071E41F8BC47EDD78FF8F83C82F86 +:10655000FCA3ED0CED0916E070B0C13F1C0E7D2FC1 +:106560003D82710455A63CBA5A2D1A427CAA02FDFE +:1065700018FD3D37DE1FCF5F22AA0BFDE68D127B93 +:106580000CFAAFAEB7D65FFEF9DFAB78EE613DC077 +:10659000A939019C9A3ACA49DEBB6082B6343C1FD5 +:1065A000F160F138D49F030EF21F31AFE637EB1DD7 +:1065B0006F1671BDE140C593AB495F67B6801BDBC9 +:1065C000B7727D1A791AE567C4E5D3491DD753FD23 +:1065D000B72F075A467FFCC6D147D1A52FA1A19757 +:1065E0004EF6BA867683DB11A2B23BC4743D87F2C5 +:1065F000F076150EC7F69751FB2D1BC3C4B7EB857C +:10660000FF1704800BFDCA55FE974FA4C1D84F1544 +:1066100072BDA84AF6EA763C0750EFFCC06C3F0E0C +:10662000C8CF13F68891DF119FEFFD9CE8EF9E2203 +:10663000C9C81F37F8966AC98BD32B6B82A42F72F7 +:1066400039FBC3972B894F36CC67824F36EFDC0F6F +:10665000FD3E7CE0F76F2C433DA1550A607CF6E1DE +:1066600087A442848B4761BE62D88FAF5CD947F55F +:106670000D058E00C2AD61E48834CC173DD72129C9 +:106680007628177594DF8CF0A9D5DD0AB78BD4D4A2 +:106690008211866A80BF881DE5DF4C610F837EFC16 +:1066A0007AD0895BA01DC4F8C05955EE433C181A36 +:1066B0000D7763FCC0A33A0211867C24DC3207F11B +:1066C00040C5846078DF9A918B764E5DC57ADA8F0B +:1066D00066B0A7BE829BF93EF7FF87E09F2F84BC80 +:1066E00025FBA1D81A6F7065817C9B8A29A3D67877 +:1066F0008149BE59DEF7168A7C6F717EA907E308CF +:106700004EF4839DE2FAA8C2C2C300AF2A193FE744 +:10671000A5C2BEF13CDE66B93A9BEB9BBAD0377599 +:10672000F75F9ED7DD21F46359E17180EB57A8E74D +:106730000AAFC6F78CF060E609E642BDDE57C8F343 +:1067400047E6BCAF51DE64853B713EFFDD051C8F23 +:106750002E59DF7758F5FDAD623E950CF07AEAC010 +:106760007C79B9C81A8769F07FB97CF97EFDFEE2B1 +:10677000F60421DB032FBD4A7E8225F36BFD6857AB +:10678000D5CEF3328C573CFCD04784BFEB838E4090 +:10679000B182F87ED733A390BEB35C0CE3A2CD9355 +:1067A0001B683FCFF9990FF972DA48CE8735B037B9 +:1067B0006CDCCE273B76A6C0E6229DF7577BC2460F +:1067C00079FC063E135B31F28F25C4674678BA5ECA +:1067D00065E4EF1806F87E7006CF478EC216AD6FDF +:1067E000AD537743FD50B05F15D41B851D5C2BC6A0 +:1067F000F130655F2FD40F7B2B351055F8BB793303 +:10680000637A626DEB47244F5AAE6409E33233DF9B +:10681000B2DACF405796329E3B339787D873B97D13 +:1068200032D916A943FB04ED4EDA778DE2BF0D593C +:10683000A048CC40FBD44E76183CA9FD1961979D29 +:1068400069FD075ADF39C51146BDB3717F12D9A959 +:106850002EA067E42B2E7F88F884A7C3AD2427E2FF +:10686000136F2DE5F9D5186BB421FDDE10CBBF6693 +:1068700048F74F6EB91BF5F59120A7A0FF2AE18FCD +:10688000F8BEB0B7ABB2F8BE55F9F9BE5561FEF52A +:10689000B0C4FC81F891903FF17C62A6BA86FC40BE +:1068A000BE6A6F78C8AC44FCC25A3ED30AF6378C35 +:1068B000DB82FC00F07A6D91F5DCE360F1C733AD6B +:1068C0001C7EE77CFE363BF5933FA40AE11CB259DF +:1068D000FC588E96E596F3337F7DBEC2F98721077B +:1068E0003CFD72C04A371E47F89951B89F8A8BD534 +:1068F000294827BA1FFDA4DA117B00F597229DFBDA +:106900007F6A4F303A1734500E00BF277E0EFCDEF0 +:10691000220780EF235E019E60DE24C8011FE2CDC6 +:106920007AE0FB5C0EE83AC64DD60BFEBFC3A5D39A +:106930003E9F01FEFF6006E145FE5DE84F137811C2 +:10694000BFDF03E440C7AFBE941C688BDBCF770684 +:10695000910355FF4572E0E3C2A1B45F280730EF11 +:10696000D6D8BFD1AAB6AFC89A87A8A29D64E421A1 +:106970001AF6D1AF8A926B44BEF98B4568BF66F3B5 +:10698000FCC1AC4226F229B528F6933A7AE314F416 +:1069900087B3EFF2BCC3C3621CA83F84DFF5D7778F +:1069A000F0EF8DFA8179A9DD9594975A2AF251E397 +:1069B0009EE30A7D963C6D98D76B4596BC466E77F4 +:1069C000BD54945623F2B28FD1BC453E64CC6EF3D5 +:1069D00091DD67D86D5D453E6ACFBC91CB503F6E6F +:1069E000A84B213F496BA142E39E75B6F85B605E00 +:1069F000AF4D28CC453CF6EEB031D4DB8D3CA35FE7 +:106A000016A5EC1479D9EFD07C8AF97886DD78B4B4 +:106A100028B546E46F9EA1F90445DEB6B0337BF09D +:106A20007B0EE75F53BDCAD763D8A5EF16796B30ED +:106A30002FAA7DB6FA01F65F25EC2F83CEDFA91FC2 +:106A40009624CEA35BFCB2B2C2E5BAE667748EB7F9 +:106A5000725572645C02FEDFB888F39166899FD735 +:106A60008CAF7F604EDE1F71DC6579D1F178D4A3E5 +:106A7000F263D927F29A6BE8DC8E9DE735CFDBCC49 +:106A8000EDC57957D8DAF0CCF941B16F83D98B4392 +:106A9000D5EE32FCFE06E06F28F72E661FE6E67C98 +:106AA00042724CEB90886FFC6FB117CFB4D690BD9B +:106AB000B81DE34009EC20ADA37C0FDA3D867D587C +:106AC000AB31E2AF550AA338BBBC068686EFAB37C5 +:106AD0004A1195F6AD97FC5935207F51AEF5DB870D +:106AE0007176E345ED431620BB13E45437F6E31506 +:106AF000F6A54BD89703EDC7FD17B41F6FBCFF6613 +:106B0000B2F77C73C02EF60FB417E3ED43AF3344F6 +:106B1000F9C2BD3000DA5BF170B9FCF3215CAF085B +:106B20007079D1EB0FB9D07F53ABD8E85C40BC7D16 +:106B3000F87E4832E2DB3CBE3247A6FB03E88778AA +:106B40003ED743F1DD1655C47B0219EDA807B60AFE +:106B5000FF3BFEFE9C73670BF1DC199DF38F903DAC +:106B6000F2D73F7FB6DD8F79B235E2FC59D3FE3DD7 +:106B7000743EBE262B407640CD20E7CF5A91CF639E +:106B80007C7024E70B67A6549DC0B895CED273ECF9 +:106B9000A6FCB8BB847FF34C06B76B1BD2347F8E48 +:106BA000898F6C15F50D4EC3EE653ADA856F8E0A46 +:106BB000EC349FF76B2EE6F93AA355B5A998E0A9F6 +:106BC0008B3C28F53E2C1BF6AD21378CEF5A8A39C9 +:106BD0009F79B05812F22DF46031F2D17471CF80E8 +:106BE000371AB18D30C78DB87F314914BAB6D43158 +:106BF000CA57CCE4F129D6DA69B15FBE5D2C0979B8 +:106C0000A77E1BFBFDA6AA7E079FF36C9B4F4AC481 +:106C1000EF5C0AEAC1CDCEE8BB284741BD09EC4E86 +:106C2000A37353E3118F16C0B7E80F037E391EFD1F +:106C30009679AD57D2F9BB7F0EF1F916B2B003F1D8 +:106C4000A198B5D0F3C47CED29ECFFC094F98E7403 +:106C5000A09B60B0BC1E9FCFCC0F3D4DEB62FCBC37 +:106C6000DE9239A1EF215CD20AEA65DCC781786B3C +:106C70008D7F7C5FE88B6DAABA17FBE99AAD7E1F0A +:106C8000BFEF981FDA47FD0E760E50EC03C8A77FC2 +:106C9000C3F66FDA3A3B53ED74EE7D3FDF27D63211 +:106CA00036C1B977E3BB23C22EEC4A01F96EC28B21 +:106CB0000717F17DFB9A9897BDAAA518F3A0CEE21D +:106CC0008517B08E0FF3B42EECFF6C6635C5A31B91 +:106CD00096C39C72B0FFCE073200745AB6B44FBA56 +:106CE0000AEF2B6142AEDFB20BE93BDECF51FF0B67 +:106CF000A37CA4765DB6D9EFD1558BFBEE70F3F291 +:106D00003F951ED94DF79F28E23E96B75465A9E9F5 +:106D10003CD76F041E1CCC557B705E80076FE3F37D +:106D2000781E8FD325909BA710AEB04FA7A99D7F4B +:106D3000733186D801FE6704FCDF13F07FFF52E059 +:106D40003F989FA74FE0FF73A5FDF8FFB119FF61C2 +:106D50009EE72E32CFCFB01EE6F9FBB879FE01CB0D +:106D600030CF3F8A79FE89F6FB22F35C3F633BF923 +:106D7000DF999EA448D762BA09E037F1A5880BE3F2 +:106D800013851D12C5B39B84FEC4F46B3A70DFD625 +:106D90007B679C41F976CD4FEEDD25A31F9F05282B +:106DA000AE7445E1ABB58DB3503FE9BE05E34AFF94 +:106DB000181A5EE3180B649AC1F775436838E94FF7 +:106DC000CBC60526484067DF7C75DB2E79ACD9CF72 +:106DD000CEF1E058FF783FD9BD0EC65B66C401D83E +:106DE000B776A13EB8CC13F1635C745AC943BB308B +:106DF0008ED465E88B7A6FAD3A26365E67E9A3BB21 +:106E0000F09CDD7A9FB215E31AEB7D52400778695A +:106E1000EF6B7A3ACC6FFC4FB667E27D29CB86F2F6 +:106E2000FE6FEF6E5E43E79FB2B8DE077C644209F7 +:106E3000ECCFF012CE5FD7FB54E770ECC70FFDC06C +:106E4000ABE53EEBBC972BBC3CE1E87D6B1A114EE9 +:106E5000BE5001B51FC3C7BD8E45285E36ADA475B3 +:106E60001DC6E7BA5CEA48F48776BEDA5B1B04F815 +:106E7000DB5376911EE8E990ACE743C5F30A437E05 +:106E8000CDE27A27CC6F76C9707CCFE77730373484 +:106E9000AF84E85ED5BC9CEED512E243ACF32B097F +:106EA000EEE531EC0CA0DFC212A26BBD78D80CCAA3 +:106EB00097F2D5215E443519FDD92BFECEEE43B9AC +:106EC0006C13E3385C4C4339033295E275FBEA8E70 +:106ED000923D306A09C7EFD0623ECFEAC592914C2D +:106EE000BC1AF9C532E817F3E5ED754FA42AD99815 +:106EF0002FC1F31F1BEAD63E82E79D4F4EF6903F0F +:106F0000F2649A92827990677D20BDE85CCCA7EF0D +:106F10001DC678A9C08B1B4A7EF438D2FFEB0ADF6E +:106F2000E7EF76C9BFA2BC3805B0CEA4B7DA6FD3FD +:106F3000F4E80CCC677784759F452FA2781FFE9CE0 +:106F4000A6F6AE8EE94ECC4734F2AA989FB7F7B3B7 +:106F5000DE3ACA3FF031CD65E805367C72BD4B168E +:106F6000FAAB11C75BCA58C2389EA7633CE511F95A +:106F700046D9D910E8DF531C9F4794773FFA4793CF +:106F80007C761F9261D222AB1E05FAADA57D5EC74D +:106F9000419E7FE3E7FA633E484E5C6FBEE60DA379 +:106FA0001E7E8869A4A7E9A08FEE2638F23C2459FA +:106FB000CC2F98B655C7F10E315F1FE9AB8A352F3C +:106FC000893942C134E82F3559CAC13CB0423FF734 +:106FD00007E4FB86937FA3B9C41AEF32CE5B19FA9C +:106FE00071D7E8888AF8A4C192518F30E26076A701 +:106FF000E4C2F27AA4860C36E0FC95719F512DDE36 +:107000006704431E09EC6CC0F6BD998CE0522BF668 +:107010001D2CEEC7314FE252CF91AFEDBAE971CBE3 +:1070200039727DCDE328577A3F77083ABEF1718CEB +:107030002B0E1A37645FBD09CF91BBC4F9E6BD259D +:107040006A87F57CF36F4F9BCF919F28793BD37C68 +:107050008E7CF38FD73D6E3E477E43D9D33799CF91 +:1070600091D794DD72933C321677BFBEEBEF6F423F +:10707000FE05F2FC0744C7173937FBCB127E6EF6CC +:1070800044C9A59D233F50E1F972F115FDCF8BAFA7 +:10709000187115D07B7437EA3DA936BA0784B13030 +:1070A000BF672BEEDEAE47859DFBD422435F1F54A6 +:1070B000CFF905F2BBC1CEBF474B94C1CEBFBF4392 +:1070C000F08C3BAF8BFBC5CFEB6AEF9598FD258726 +:1070D000ADFE1090DBBFE67C568B9AF52778FF81DA +:1070E00078CF6CF6D8FB8E029F584727DD87B29C7D +:1070F00085DEA6383BC85DF4172FF78556A3BF8BF6 +:107100008D994871F7C6B272AA8F60F23A9E2D002F +:10711000798CF97B7F28E1FC94E40CB607FB9AF4A8 +:107120004747C485FA4F53993414CFCDDC2B19F857 +:107130005DF4389D477282BCE5F4AF3AE6C5E4DF02 +:10714000C857BCBB312FE48CD34A3FEB1913F277FD +:1071500018E9614D71F5D7F5D7FB7663BD21EF1FB7 +:1071600058946E91F76316A6EF44FC35F48391AF03 +:1071700030CAFB186CBC49AFD86A1BB363F37BFA07 +:10718000D5E313B87C0EADC6BC16E72BC77763BC3E +:10719000CBDC5EF86B462F34F9BDA4857C9FD8A26A +:1071A0007E3979D94292930AED437CDC1EBE1F8F53 +:1071B000F56C066F7FB1F540FBC9D43EC0E9F12FF5 +:1071C000858F214707F87B4A39FE4F0CAA3371BCE3 +:1071D000D283C7EE082568B76021A797D20591CB67 +:1071E000B0FEECD8C4F9F2471672FC293D68A776C8 +:1071F000BD7589DBD5F6B7DBE247B9DEB89FB7C30B +:10720000FECB4DEDCBC4B8675312FBA3CE2C34ECB0 +:10721000B1D01282D7FD1CBEA0E78670BF4ECC0F46 +:107220002DC3673FDDE670FB0BECA7EB683F1D3A13 +:10723000E9C5679D228F12758EB909F8525CDC375B +:107240009E1FF5F3B5A54CC73CD98EF95A35F66F9C +:10725000C4792FA627972E0811BCCE8875C6DBB53A +:10726000410187A34B25CBFD60788EDE6C9F7E436A +:10727000B433F8FF9DAFCCAD35F3FFBB5F49B9D94F +:10728000CCFF999EBC07F5D932372F6F5E9867E027 +:10729000FB5D04CF7B383C6F437C1F3EF87975B0B3 +:1072A000D3FF11DB970D1237AC17FB0DFDD613DCA6 +:1072B00037187E586E87C4DF0BB16DA1359E01F281 +:1072C00091CEFFA07FD7BCDE6DFDFDAADB70FC0573 +:1072D00039F65022BD76C8529177957D388AF132C1 +:1072E000A26FFE53CDE7FEBB9EAA62744FA0B8D733 +:1072F0008235C27826BBEFDBB1F1BEBD90DBBB2A85 +:10730000B39CFFEEA6F3C70CF8B3F9BB25024FBB45 +:1073100046F37AD0176ACDF69751FF79B9CDB867A1 +:10732000AE63E17093DF208DFBB5E6D9A675A33E71 +:10733000326F9C14A883F92ECCDA4F7ED73CE01430 +:1073400098B7999F9DEB403768C18CAA7A7C9E982C +:10735000AF3D87FD14CD7B2780FAE7BCCDD1F1E8A6 +:10736000BF06FCDFBB50F855701F0CBA2F5DA0F9AB +:10737000CDF4F76F621F1A06A1F74C818F602FFEC4 +:10738000FBC20BFA1FB8DF3975B4ABCD7C2EF0E72A +:107390004BB93E0FF6E5CB0BB91DFC637C827DF942 +:1073A00013ECAF616403DD8B3418DD0CCC1FCBA173 +:1073B000FCB255E952C0C65F917FC7C87B33C6EDAA +:1073C0002D93FC28C78C7CB0A4D71D7B285FF116B9 +:1073D000C31FD0D981F95AB1FCAFA7D759F3BF3A2F +:1073E0003A2E9CFFB57B1DCFFF9ADEEDC4FC97A320 +:1073F0009F76F861FF9689FCE8D30BDFA27CC52756 +:10740000841C89A777E339B3FCC2F4FEC7851C7ED0 +:1074100006BD7FFACADD167A3FFF4AFB3AF3FD1339 +:107420004C8F7410BD1BEB28ADAB15F18ACFCCF49B +:10743000FE5B31AF0BD0FBE744EFE313D3BBADB43E +:107440009FDE6DA59740EFDE52EB39CAC1E8DD5BE8 +:10745000DAEF7FF362BF83D1FBD4722BBD1BF682C0 +:1074600041EFFDF43A9A911F58CBE27A6E3CBD8F02 +:10747000EA5F873AAAD444EFFDFEC24906BD3357FE +:10748000427ADF62E0D3A45AA45B239EF6C4C2FF13 +:10749000ECE0725E9B546AD603A3D6B859D5A0F12E +:1074A00012DF628A97745C5ABCE46C078F0BADFFE5 +:1074B0005F122731F252E3E300F17131D0A72B4A7A +:1074C00013E8D90C139066C6ECF0FFADF9BA863F0D +:1074D00006E0F47501272699EC8E5B676B3AD2A122 +:1074E000118F6F16F178F7641BDDBF7CA9F149E8B5 +:1074F000FF5ED1BF6A33EDC3886BD5A652AE4F1283 +:10750000DDCC79E5F2DD223EFA00D1A3B8FF273EBB +:107510001E3CD01FC7E8FB6FBDDABC46E7F715ED90 +:10752000A0EF853E6FF8DF6695083B4ABC87793D42 +:1075300046ED84FFF4E36246F5869EC38EA88A99E1 +:107540003F1DCCCDFB17E2773AD3A51131BD82DECA +:1075500098F584F1C077B24D7CE70D6B3F3D31FF6C +:10756000F21E1CBFA79819FCF4BB1C4E9DE154D31E +:107570003EC0FBEFD13C855F31817DF22CCE6B9A12 +:1075800058679971FF4EB7D5AF0DF3FF4129F7A7A3 +:10759000AD914C7C52B575BF88F9C1EB339982FB34 +:1075A0009B24FC87ECC4A0F38E9AE7FD4CA980AB2A +:1075B00088779F98AF1EC2FA3A71EF4FE34846E7CB +:1075C0003626B2750CE3EA4D9867039FEC4835CE3A +:1075D000B144F87D12994B291FE8D356B7C238DF62 +:1075E0007B1DF95E19337EDD41B47365CC1B443AD3 +:1075F0009DC1F15C157C44C63C9D19B13C1D999917 +:10760000FC511989E8222EBEBAEB598791474BE706 +:10761000E1999A5A663A77B7C3D5E24738354A7244 +:1076200018EF337057FAE8DC6433CC47C7F86A2A9E +:107630000BE0F8AE37EC813AEC5F7FA69EF279550D +:10764000B9AF18EF31686D73E139EDCB3BAAE8BEF5 +:107650008DF51B15BA67A3AE627D14FD1ABD574B9D +:107660000C8F3CB020BFEF40867F705D2EA6AB78BC +:10767000664A2E769EB2CC5FE7792BA59798B7B273 +:10768000F1ADA3530F99BEFF43A9F5FE5A232F89ED +:10769000D957D17920232F093702F1C8C85FF96C77 +:1076A00053F7D44360B33A847FE5FA159A6391495E +:1076B0009F37F2119B52FA781CBF55A2FC312D9ACC +:1076C00044F962EBFD36F2CBAD6F6D6BC4738BF298 +:1076D0001B7662C3B2836DC6B87252873D8279E968 +:1076E0007B32F5E8B21984A77D3680777E961E9DA1 +:1076F0002EF28530AFE715B14FEE3D7699F0E61EDC +:1077000089F2CE5C591F51DC7BA1E2082B3EDA3BAB +:107710004BBCDBC0CBE61D3CBF60B162BD07C9748A +:10772000AE23613CDCBD327433AEA3417129C8CFB6 +:10773000DD2C34240AED6AB36FD311BF4B01BF5562 +:107740003AD7A2BE8E7CDE84BF0EACF7F4DFAFCF9B +:10775000F1D1D8678FFF764B9E99270E3F4BB3AC84 +:10776000FCDE1D87DFF1FB3B739135DF728F384FF5 +:107770007456972238EFB3BB766D9B837AFC2E1B31 +:10778000CFA38645384C7289D9BD04A74F3BECE4A2 +:10779000AF854D227F5FA5711F29EB746E84E7EAE8 +:1077A000B071EF68A713FDF0372AFCFE7A034FAAE9 +:1077B00040BD41B958C35417CAE15AA6B9789CC80C +:1077C00047F4BA761DCF6FB7E15AE0FB55BB6C6D3D +:1077D000186F3FDB614F453C52E73AD3DE93B9A9BE +:1077E0007DA1737628D9DE33C951238FC4E3E7F92D +:1077F000671E3FCF5BD1145BC426E13D5636C29B6A +:1078000073026F00CDB6E27C2A315F02F7272E4F5C +:1078100002F6AF20988EF912AC1BEB63F9F6DD4E41 +:1078200027D2B9C887B818FE005E1C47BE66E44B75 +:10783000ACDE70E17C7B4DEB2D7818EAAB5499F00F +:10784000D9CB78BEBD2BCB46F1B5D51BAC7CAD7684 +:107850000DF7DB57231EFA12E6DB13DC93346F3887 +:1078600051BE7D7366282EDFBEBDD19C6FDF58CE22 +:107870003CBE21A8C6B5F8B7639C5EF85BE3F3A6EF +:107880001A1659F9CB8A6221C765CD8F72E2D3F9F6 +:107890006AD322AE7FDC874FE3EF057C56C4DB1D45 +:1078A000CF8B90FF68EC42F15DD088AB85B62F425C +:1078B0007993C9CB7F1272EF60AEB6639145DF5604 +:1078C000C95FDA7F2E4DAF5983F691612FDDDD5D03 +:1078D000B30BF58D16B59AF24BCEB10BE721CFEF76 +:1078E0001B15CBB760A8278FB3E4A3E6B22B2DF509 +:1078F000F9F2744BB9C037D7D2BEC89F6F29BB1AF3 +:107900002B28AFD3F0677BC5B9015BF298CB300F62 +:10791000F4B945563BAA1FEF2FF1FC00C06D1FC103 +:1079200059E4D15D3C0EC1E1F662C9076BEA12DE93 +:10793000B3CAF3F8EE28E3FB1FFF8CDD53C944BF45 +:10794000C77699F3F1BE7FE498A1AFBD4AFB29F257 +:10795000F78C78CA8F8E1C35EA5FA379C7DD83BAAE +:10796000B6EBB55D425F3C46DFAF32EEA7BCF0BD83 +:10797000A84BC5FCBAC6717B95ADEBB3E3FE278F70 +:10798000F751DCC268F7B6C06BD0AFDEC6FE8DFB28 +:10799000178D78939197ED6A15FA52D86ACFBEB7D2 +:1079A000A8DF9E7D0FE76FD8D3B84E4BBEC1A27E35 +:1079B0003BF43738CE6076F4C771FB1F8B2B7D9D6F +:1079C000E24EC67D8FBF3FD2F438BFEFB13D1FE519 +:1079D000A6AB7ED37BA10C82D3798293D8FF8F177D +:1079E0003143EFFC23BD8F8B0FC5E39954E632F092 +:1079F000482AC3FD88C53F12C69BDD650EA37F37AD +:107A0000B5EFBF37354AF0EE19C702ED39E8076B1D +:107A100051313EB7C0C9E3E26905CB6FC6B846A392 +:107A200092390D79FE65659265DD23666B43CBD097 +:107A30002F02146E9B86FA4694EE0D8C221F183E80 +:107A4000389E168A7D8F7FC6DF83FAC5917B1E37ED +:107A5000DF83EAECDA3211E33AF1FA6AFD0B9A0DB0 +:107A6000F357F427ED148F6AEE38974F7C04F7F83C +:107A7000027CE41521379AF1DCF1A4D8FB1965E307 +:107A80002CEB2C2D5823D3DFB97176FA30DFB934C3 +:107A9000CB6EE127F1FD2667792CFC64120BD1FD3A +:107AA000FDF76E8A9C3C0D8C7B8B7FB38C7A676371 +:107AB0006BCD61CC5FFAC4EF5250EE3508BFF4C114 +:107AC00091AEE802940B8AF638EAEB494AC4357164 +:107AD0000A9F2FE61D9794F173B349633A1A4691B2 +:107AE000FC619D490AE6AD49DCCFE28F107D444B35 +:107AF00038BFC6F9EAA6F9021E149799ECBA916547 +:107B00007CBF1AD2188D5BAB30D2FBF25BB733D49B +:107B100093717C65CAC0F1F2CB147ECF49B6C4ED37 +:107B20002C7FA783EE65EDBF1FD69AFF5253C6E99F +:107B3000E697FDF4185A49F310F7C3FE324607AB37 +:107B4000E87DDC3DB783C5554DF7DC56970D8FF5C5 +:107B50005325E67781FB5F6FA671FEC6F748FFE409 +:107B600048F71AE1FFBBD30CF743629E207FEFC2B8 +:107B7000F768FF53BD90BF8F0A3A8ACF57B0DFA690 +:107B8000EBEDE807F82045D1B95E6DC99770C9F3F0 +:107B900028FF41C67BDB6625CC9750244BBEC44EE4 +:107BA000CA1F182C5FE2CBE6476CF18E23BF4992C7 +:107BB000B897263E3FE2E2F910F9F7A33E9CE7B3FF +:107BC000FB14C4333C6586F910A03FA27E7F48E4D5 +:107BD00047E8A03725CA87702D6FD0F17BE31E9B45 +:107BE000609A93F48A43B3C6D0F9CEF8FC88461164 +:107BF0005F2E48AFAA4F433FBF372D07CFCFE13DA0 +:107C00004F28F7A1CF7466D23F4F8EE5F92867C49D +:107C1000F974137C5D3C4FD70A5F9056045F878DE3 +:107C2000298FF906C21736DCE736E991F8B3F8C5B3 +:107C30001C3AF9BD5CCCC7FD6271F097FD0AE5A363 +:107C4000A0DE8AF7F9C9BE59B4FFFF90C7EFF7DB92 +:107C5000E2DD4CF89204F8827E2C039FFAF7BFF520 +:107C60000982D7D7F3E53EBCCF2A915FADDF0F97EE +:107C7000C0AF36203FE67FF87E1F12F74C05D36A6F +:107C8000E9EF7EE013F5BE8F859C0A0E12E75D22B8 +:107C9000F2A4E83E669CEFF38CE4D1144F6F18E138 +:107CA0007695FCCE01047FA76F7A7E9A82F160ED13 +:107CB0000F48EFD3FCB9F765E0F88EEE71981F30EE +:107CC000E56689DFDB96C5F381188BA823609EC12A +:107CD00035127B8C61FEBF523F02F9F39ADC2378A8 +:107CE000C78D6DB1F5EF67FD57E7EF6CEC3AB20663 +:107CF000E5EF49718F4513D8F3745E218E6E900EB7 +:107D0000D0AEAE55D2C9AE4B403756BC879F64FA51 +:107D10005ED6D7723E053D2FE5F7AFA923615C071C +:107D20006C527302BA023EC9F03EEBE62349E417F7 +:107D30008AC77B396BBD8A76D2D77F9BA2E07D6EE6 +:107D40005F16EFFFF23CB1694EBC9F2B09F82EF293 +:107D5000C9FF697462DC3335E25AB57C31B45BB675 +:107D6000F8BF378FCCC0C38941B506E7D3FF776C26 +:107D70008CFE384EC27855348F24A60CA5BF1B202C +:107D8000F2718CF96AC67CB76CD7513FAB85711024 +:107D90001D7F9AABDDB678388E17F54E47F91A94E9 +:107DA000025B14D47B15BABFF7E2F7F02DB39C1732 +:107DB0008C7F0E760FDF0782AF6C8AA3F3BFDADF0A +:107DC000DD72707F69FCDFDD7A588CDBDF5FDC39C8 +:107DD000E2ED8BAD7EAD2FFB77B7FE3D2FF428C2D1 +:107DE00093C9AA42F963F3D5C770DF4E2E50FF69DD +:107DF000F1D517C807D4434FACCB8EE981EF2EBE27 +:107E00006B2DF71F4CBB24FF815DD8F7D79CB05971 +:107E1000F4F8D9BD56BD7DEEFB432DE5BFB5DFA11E +:107E20004429B5B49F727E0DCDF3AA7DEB2DED7282 +:107E3000A2B75BCAF605DA4B08AFE987EFB67C7FDD +:107E400075F7664BBB03157386A03E3F985FC3C8AA +:107E50000334E0D4BD98DB416E4798EE5135F2FF14 +:107E600006FA39AC7F07F68DFF4FF8801CFC84F2D0 +:107E700091D076C3FB01775434FB12D10BD8B1BF3C +:107E8000596CB2F70C3BB66D31A3F5039E7E487872 +:107E9000EAE8C7D3DF62F9A3387A7C0CDB5FFDB771 +:107EA000B74FE525E32C74F997DAA75BFCB7F3FB32 +:107EB000CD326DE49FEDCDAC3E8C769261971A7613 +:107EC0006BBC7D5AAB573D8EED0DBBF4A610CF5B5E +:107ED000ADD5DBE87E9CDA01F6A938F783F629C137 +:107EE0007750FB74CC121E7FEBA3FB76451C93B13D +:107EF000ACB568DFEEABE37CA0AC2487E81E68BDC0 +:107F000080CE3F001FA7FB8EBC874F23BE197E216A +:107F1000F865E27924C39FBE2AC4E1D7F0B923757E +:107F20003A94BB1EAEB2BD8EFEEE0E7B9B8DDB4740 +:107F300096FBA8763C798EFCD1787E1EF3FF588B99 +:107F4000356E7D036B7909F5B4ADB322C311FECB59 +:107F5000C47D551EE3BE2AA127AC16E3C7DF5765D3 +:107F6000D8570EE66FFB42E03D339D5B33EA093E96 +:107F700009F46D2FEB257BAB3F1EB791EB0D59D06C +:107F800023EA41F1F1367939BF6FC313A76FC818DF +:107F9000AF4A8DC5EB8CF8B491BF737DF7951D98F2 +:107FA000E7E240614879D6DF7B02F7C394CFF30460 +:107FB000E6F3509CCEC4B74DF93BAA0C7A50E87D4D +:107FC000E37BD8F64CB293B765A03E58F1EC13C5ED +:107FD00093B1ACD1DF0BBDBCDBDB81E74A0CFF5AB0 +:107FE00079F79075C20FA92D41799DCEEDE8D01299 +:107FF00066F8136AE8BDC2EDF9A54B98E14FB88960 +:10800000DE1B7E4DBF2DE1DFA7F0897351F374C6EF +:10801000AE00BDE6D625563E766FECFE27E2432E37 +:10802000C1875C63787E4A7C7F772E910CFBFE8E45 +:1080300025DCBF7EE712937F5DF1F2BF5B847E5645 +:10804000F447F8EA0E1E44BDE21CDECB1E60FDF7CD +:108050000EB9B2F9DF2976C92FAAE2DEA15EBA779E +:108060008875328C77B85FE47F5F2ED467B3D0F524 +:108070008260B2D5AF1DC33B8A87C4C75506BB8F8C +:1080800068B9C05B77766181253E12B2C64772BF80 +:10809000B321BA7906E9B3618C3BB8B31D16FC4A2B +:1080A0006A64641FAC30CEC9DE1FA5F275A0BFE2C2 +:1080B00039595D9C73B851DCFF709D169757C13ECE +:1080C000273AF48F778471FDF1F192F8780F50CA56 +:1080D00045D6C7E382C6F9D11D2EB69DE272936DD7 +:1080E0006C337DDF598FF75A241B74956D8D73D7D0 +:1080F00055BCA0633CE64C2E8F830E55F97EDD0007 +:10810000EBC1FBB792E3E282C3607D7741FD4A5841 +:108110001FDE33124F9721B58AE28EF3417F4F74F1 +:10812000EEB83CF88E9DFC7A4B84DE95CDB2112FD3 +:108130002739F5156477315B00E54CD3AED6628CF8 +:1081400077EBDF760426288C0E483A4CE7640F5410 +:10815000BCE0C078F9B9706A80EE65602D7E8CF75E +:108160004E92C64A184F6C9AD0301AFFD47453C638 +:1081700008BA0F24A4E6E6627B8FDF2E91FF80F120 +:108180007D6C5A9E46F7B11A7A43639DC6B01F5D57 +:108190004A61FC5E7595E655A9BB156CB7C41F26F0 +:1081A000FD6CFD18C6EF69C538E808815F507F5D3A +:1081B000F07907C6317DE31C2C75564CDF48B5F5C8 +:1081C00006900F96B15E3AD7B684F99CF85CCA0265 +:1081D000740F6B050BD373056BA1E70DAC939EABCE +:1081E00058AF93E71B296417DD98C5E39B0C9DF0FE +:1081F00040878B64E644BC68EA384A7FD7A2F922FC +:10820000F9C9F592A8079E84F10C29AB82E72B4FA0 +:10821000679A1DF8A2FA7B2699E3A3C6390BB91C0D +:10822000501BF48F3F09B9CD1E0A34BA8DFC1BA434 +:10823000DF7AC9F2F789BFEC7D54FF0F9B633D3FA6 +:10824000008000001F8B080000000000000BE55BB1 +:108250007D7854D5997FEF9D3B333761126E208432 +:108260000904BD8144620D3881800901B9F9C290C9 +:1082700080CCE48B58814E5430027647A92B76B5DA +:10828000B9211093686D74C16A6BEBC0C21AAC5D02 +:10829000A3A53ED2B5DDE1436C31B4C15674DBB465 +:1082A0008D886879FAB458A052B7BBECFB9E736E08 +:1082B000E6DE2101BBB5FF74D3074FCFBDE79EF3C8 +:1082C0009EF7E3F77E9C333244DB530B01543F04AB +:1082D000BA01609E0E46D40790ECC7361FE002FD3F +:1082E0002D04F8CD3217C01C6A65800900754AB0AC +:1082F00012D2F10315B4B662EC432DEBD7DD0FD0EB +:108300009E0630FFC3C24AC0797FD504E02AA0EFA1 +:1083100074F6DDE0D9FD1366E2674DEA0BAF6AF84B +:10832000A81FA0AA0FD7D99A36B032685B6F425007 +:1083300066EB4D0C4AECBBDD467062105BD8D31780 +:1083400008A600AC5DA6B1F700A7C7531FDF4F66B4 +:10835000EF5FE6EF8F7906EEB4CF67B54BC57C0BC8 +:108360000B0EF866237D90290772F58BC7558AF5A9 +:108370006BAB9A21ECA3F93437E0BE0A83592D2A5E +:10838000EE3708FA965424C1B339BDA52989AD7FCB +:108390000D5B5FC5F567E0F30F9CFCB3DA82A0C705 +:1083A000DA4F4190E8F7717AD709FECCC765F571CD +:1083B000D86E8A4DEBC9A7FDF1F7BB0D632E8D0F6B +:1083C00042D84C0DC4D70DBD8D4326D138BDD750F2 +:1083D00070FBD92444EA830945004753C47B33BB6F +:1083E000A525EBE2EF918E3246B758675E10D8BEF6 +:1083F000E70435460F287C3F9BBF072D24A70E922C +:10840000972F2EAF7AC1A7C436C7FA5EC8E727A751 +:1084100095AA91F87125C9630EA3A38ED1D1C7D7B0 +:10842000BB92E8E07C6AB4CBBD46D037D908DF4CBC +:10843000FC50CAA508D1857A6848284F8F5FDBD1E8 +:108440008D53DEB86CF8FB5534EE2DB92F204D035B +:1084500058B20CACF59AADE7A9F87C52497835933F +:108460000740FE940C80CF01FF6B928319308DB3CF +:1084700093E6EB4883D8425C27C994A26DC8EBF21F +:108480009CA06708F9B1DADCEED191BED559BD1DCB +:1084900093D00E3C79D09784229D4872C57993F38E +:1084A000DBC0F0919DF529E17CB6FE5D6C5F397C07 +:1084B0005FDEC59CAE9CC542AFF3F8F3A2C5828FC8 +:1084C0004B385F8E4C1D59AF5FABE27C3F501A7E3C +:1084D00080F6913A79E30CC047D06BE834CF6B5506 +:1084E0009C1FC3F355587A15DCC4E888F0F96F5423 +:1084F0000A7A7271C8AF7FF4F39D3EE4E3BC1CAE10 +:108500004FAF2CFEED6D6DF8FF0DE4038DDBD6D87B +:10851000AD925D24D2B1BC29FC655ADFEAABBAE664 +:10852000A1FD9ED95ABEAC1859A1D074B32EFE4EEF +:10853000E9A907637CBCFF522B72DC8BFADCAAB280 +:10854000F67BAD1A98D3918E563FEBFFA055676D21 +:10855000AC358F3DDFDF1A60FD83AD45AC7FA8D51C +:1085600060FD1FB656B1F69F6EE0FC5D7855F00ACF +:10857000E2DF7BB9D0447AAC5628E6C454B61FADCE +:108580007904BE6614373F43FC89EF27E6A6716580 +:108590001056482F6E00530184C6C51050D2511F8B +:1085A000DE5E10FE36EDBFA222B4391DF75B73ED1F +:1085B0008C2CE2D30B0B82CF733B43FE21DF97CD94 +:1085C0000BBE40FDB4CACD8C8F8F90AC50AFCC7930 +:1085D0006A7417D9300C31F958EBEEA992843DA199 +:1085E0000C503F6BC0F63717F591DA6CDED533C807 +:1085F0001CF08FE96DDFC103A88F8FD42647BA51D5 +:10860000AE678CFD0AE9453544D9FB9A801B8EE79D +:10861000F1EF2EE0BFE43C675FCD511C7D44443058 +:10862000ACBE8BFEFB5930D4787FACABCD1FC0FD08 +:10863000ACDCE87AFC04CAB373DF1DA0A3BEACF4C3 +:108640000FB8C3ECB9873DB7F6D589723E9E0BB023 +:10865000DD30DE207E1C29367E4A6DEF82E09B8C69 +:108660005F3ECE2F8015DAC96B002430E40B63E245 +:10867000F6B8E0B41C5F1FFF2D3C9F1CA70FFF95B1 +:10868000C27847BF5C9DEC185FA94D73BCD72132FF +:10869000508A72183214E60F6FF05FE318EF6D73B3 +:1086A0002501CABFB792EB53470892612CB66EB84A +:1086B00082F0BAA98ADBFB4FDA6E9036E23CBE6DDF +:1086C000327803B48FB09FECE64109927248CE47EE +:1086D0005C815DF8B8D10B0CBF2C7E9C15F8991409 +:1086E000E2B8A846EBC0987DB15E0EF34FE6B88CB9 +:1086F000020FC4C88FDF3B7D56B71E7F6FCD33ACF2 +:10870000BFB14636DFCA4E6E6F7228259DF80AB398 +:108710006016C9AFC7D8C4F4F04C1822E4B7475B61 +:10872000D79AC7EA7B62A14BD2E971E13E51FE07BD +:108730001AABE528EAE329FFD41D5E895AD9A0F5D2 +:10874000CE0EEA3B487FDF0F5A7ACEF51FBD25DCFF +:108750008F7871DDF97C30673BF1C110F860087CDF +:1087600030043E18021F0C810F86C00743E08321AE +:10877000F0C110F840AD35EFFB419DADEF89D5B3A9 +:10878000FD78A2BC459C9C1E225C0E70DC9CB81837 +:108790002CFFF29910D15BC8F1B35B1A580F6867D0 +:1087A000FB6A9EBC4D59807E926C12FD6F5FCD932B +:1087B0003BCDACB81F4D8C7BAE0FF1B82AB1D56A5A +:1087C0009C71CE42CFC06A1A0F1BFB02B533E27414 +:1087D0009784AC38C928213A7F5FCDF7B11011D703 +:1087E000C07862C9ECFF9E4CF687F41A219B3F2D9E +:1087F0000C713D0693D38FDF97D3F74BA771BAA1C6 +:10880000A66DB5994F7EE7B48BE4F4CBA9003B503D +:108810002F60735F20645BFFCFD55C6FCB42C37C5E +:1088200059CAF825FCF9C282D9036EB483D547CF63 +:10883000F5FAF1FB3A99CF7FA27AB0D7E474D5B1BB +:10884000F1C3F19B585FC431183F883866574B8B92 +:1088500072F9F986901DE4B75686EEDC25E6FF1C1A +:108860009BBF8ACF6FED2F14FAFC6AF1FE56F65EBD +:10887000F8C52365FCFDCDF4FD7CD483C2D0AFD216 +:1088800029DE359374E97A1C061186FB006170E1DC +:10889000F3457E943DCAFA3DB12EC0DE5E03F9E693 +:1088A000F115BEE7423ABF79F47BBDEA1CA28BEB1F +:1088B000C74B47EB562B53E2FAF1E2D1BA5DA41F46 +:1088C00048C717181D222E582FF8593735902B619D +:1088D000FCF9DCD1FFE85551AFEA3C621D737FAF74 +:1088E00081F4D525C315149F3E79F4D55E05E3D3F5 +:1088F00023C3FCFB798B91155F67F7D1FE5EB61F32 +:108900004DDF924EF19226054C9DA6D2DD44D7F65E +:10891000A3032CBEAD1BC7E7BFF7E8402FD1E5D1BD +:108920000CF704165FE1787C55AF59FBC49000F159 +:10893000B15EE7FD3F1E7DA5A5D347E383956C7C23 +:10894000169FBF0190BE00D1F7A3964F421FF26160 +:108950001BE383B02B9427F3D789B8B253D8892B64 +:1089600065A787F47BAD7FE4B8FB996A812B45C38B +:108970007A1E253B78A61A1CF1163EFF177A7EAFA9 +:10898000E0FB1191476CCD76E6277B04AE3E19E201 +:108990007A6FC567F8FDB742EC39FFFE623E733E61 +:1089A000F51DFDF716B2AB1D21118FE5F3EF9F0EFC +:1089B000698EF99EB5FA422F9F4EE8D743CFDB343C +:1089C0003F98C9B0AB90E412147A7AB54E7D8028F6 +:1089D000EB7B200BBAD3B9BED6E277FB055EA0DCF9 +:1089E0000CE22B28F89CF06BA9348EFCD9B01E9BAE +:1089F000BFEFA5B8B5CB8DFAA771792BF3E3FA7267 +:108A00003CF4612FE9CB29B7CD5E558EDB7CB3AE4C +:108A10003B5A709FDD09EF1B86DFC36E7A6FD9C5A5 +:108A2000FF84EE5E6DC7CD93A1BB995D8C36BFE729 +:108A30008D934CDF2C7A7E73F4ACD0DFE82A405C57 +:108A40003872F42CA3CF3EDEE4F1F73B763B7B5546 +:108A5000C8CB9203CAF104E9C129771868DE62F332 +:108A6000646F45A643CE1FD8F5E75D4B8E428F4617 +:108A7000C3F93F097D496C2D7C77AD14FB345FEC65 +:108A80002DF58D8893E7197E0B3F749FC06F7CFE98 +:108A90005F765CFF503C1FD61783D3FD7E82FEE0DD +:108AA0007772ADCD7F5D4E0E385EADB5AD7F44AC17 +:108AB00083F9580A3D1F2D1F5BB15E62F33487D6E0 +:108AC000AFC6887954FE64D7727E24B68F553BF3C7 +:108AD000499BBFCAAC257FE5E5746EAA2E63787EFC +:108AE000397FF525E1AFFCB5C3FE6A5AAD8D7F1322 +:108AF0006AF9BEEACA84BFC5F82D648BC76F1474C7 +:108B00005D1CB7E31FDA596A49F20EF2073D86CCC5 +:108B1000FA6702D93B5CC882C5B57F5D1C5F1DE466 +:108B2000713CDA35CBC33EFDF87DBB3F901F8FDF34 +:108B3000BBF73D0994D7AECCB974FC8EF94C0DC986 +:108B4000C1CA67309E5F52CBE3F9A5D4BE26EC6460 +:108B50001BE65A030C6FA22A607B153C51FD19DC01 +:108B600057D75689C5DBDD399C5FE7F2A528E78337 +:108B700091BA14F912620CC1F87B6554D5F0BB9A16 +:108B80003CF91DEF4CBE7E8C64EF5A3196D6EDCA8F +:108B900086A82BD5465F6A18683F9EAD6D2620BF1C +:108BA000CA752E1FF413518A3FAFEC0D750CE1FB13 +:108BB000B51BF54AA2A7ADF1B387BC28CFCE3912B9 +:108BC0004CC4B1DB3C61B805FBEF157BB54DC8F774 +:108BD000A5856995F7B17A990B5C24870AF7F1218D +:108BE00095E4A4C205D435B50AFB367ED78012EFD2 +:108BF00067130E3DFCA16B26B5CEE71B078FCE3C5D +:108C000068FBEE9E5A675CFEEBD697E1DDDCF83E32 +:108C10003F0702B7110E6B453E7E0BEEE3A3D681F4 +:108C20009907112B5B859E613EDE5A3B423EAEA307 +:108C3000DF20BD7DCF9434B2CFEEAD670E5C20BE99 +:108C4000EBA858D80FC792547ABF76A3144DC2FE32 +:108C50005A7D680BE517C9BA1291D18F272BB0C97D +:108C60004D75905E57B40DDF1F1672D89D13E999AC +:108C70004776FF3317C8C8BF723FB78FD538AF17D5 +:108C8000F7B93A2F7407F5ABF33CBA8EDFA9F97741 +:108C9000F5B871DD9AAD2E3098BCCD581DBEC7A970 +:108CA0004E77E33AEA7C1793F38DBA0C31BB1E9BE7 +:108CB000C61B39A8174B85E9AC02C514FC942F4894 +:108CC0004C57742543E0FE54E2DBE0E65B687F240A +:108CD000B700E3BF3964E97D36C93D99E945C7D599 +:108CE0005C2FA0D07D82E6B3E49ABC7583D98CEF6B +:108CF000B5795E6D2CC6A3C9A09CB0CBAF260FC7BB +:108D0000DBF34492732AB5CA09FB3A89727E91E477 +:108D10003C262EE7DD0ACFE34EFDCCC5E2AC533B4B +:108D2000773E42FC3477CA815CF695D944749E82C2 +:108D30007101E6CF631228C8879B857D58F247BC36 +:108D400070D37EC391D400C30BB9CFDD8CF3ACD408 +:108D50001520BEAE82D36EC29566D03D14C7DE0A22 +:108D60008687FAAB21ECE171AD0644C7ED2D529434 +:108D7000704C56B9DDACD8296F271C3BD5EB4A2582 +:108D80003D324ADC6927F11D7D3252DE67B554F968 +:108D90003969C39DBC5AE18754CC8B2F91D71CAB4A +:108DA0001DCE6B8E911EDF4579CD9C8BF31A8614F8 +:108DB0007F87759157AB059F44FDC0AA7B74EFCDAB +:108DC0005E2293FC5D709AE21A857416E39C034F51 +:108DD000B655C928375D564F933FEC4EF136513D9D +:108DE0001FB442F67ECDF5517FED0871345A005B19 +:108DF00007E3B426E6BFC5F803EEF0225AA73B5BB3 +:108E00009FB519FDE8EFA6A07E60FFC0025DDE847D +:108E1000FD35797F5CA5CF8C7F7FC0CDE3F4BAAB05 +:108E20000259215BBC3CB18EC7E90772F9FC9DFA7F +:108E30002C37CDD395AF49AE34C2AFAF69CDBEF8B4 +:108E4000B878FD2D3CB1CED64FCA89B9B9BC7B9854 +:108E5000FF4BAA4F36094F6F9F1FCEAAA3BA89CAEC +:108E6000F12229C77087F36DE3A85C984A7E8AEBEC +:108E70000F68B878268D33818D13FDD1F597F3BD3A +:108E8000D2E5030387F667713CC3F845263CEBCC7B +:108E900091A326F6BDD9721AC14DAA6C564DA5F8FC +:108EA000BB4C865D3AF98B33D349BE1F25AD627644 +:108EB000A4137095609E91BC8AE1E3D03DA04993D4 +:108EC000B98103EA69A35061B32CF2F410D9BF470A +:108ED000D5DAD16EBF3A26958DDF3898C270EA2375 +:108EE000393283F4F5AEBA6CB6AF317224A55C2288 +:108EF000FEEEF0119F0E57C823D6DDCBEA7C6CFC4A +:108F00009DC54629F1ED9E3A60FB7BC4AA27217ED0 +:108F10007AE6B27A3FB03AB2096FE5205DC7055DE7 +:108F2000F7D4F1F867A9FFEBBFA07D8D33F4455B63 +:108F3000705F9F457C8D229D4794804474BE7E9BCC +:108F4000043DD2E87CADF17F937D8F1A6CE1B17C5A +:108F5000E1BA383E1B00FB08374B3E18C677666FF8 +:108F60000B4E3BFB0BCF3BFBA5E076F4CB5567BF2D +:108F70005273F66FF03BFB8B75671F3A39BE63582F +:108F8000CBFC01D8F1DFC5DB617F837F37B5B84FFC +:108F9000D8BFF7D49F1C8454B62F87DFB0F83E9A11 +:108FA0009C76142FBDA7CEC6E747245E9F3433E5D9 +:108FB00000E9D591C2F14961DB775D753C2FB5EAD7 +:108FC0006C83BACCF47450AF1D0B23CC3F1C179CA0 +:108FD0002F81980D7F54C5CA0B67CF9E8DFBEA0485 +:108FE0008635B675B8FCD5F3D7B3EFAC386D113014 +:108FF000DDC1B829C24CAAEB4D577413AE5FB6FD64 +:10900000B60A8AA36A503FBC0869353DC0ECE086C9 +:10901000F55254C7F7376FE5FD0A558A1A84657E05 +:109020002FC46C7195E59F0F6773FF5CA1651F2CC2 +:10903000C57E92A19E267F9E94E575C4076ADEFBDD +:10904000833093EAF49EF8F36C9A8FFB65959EDB70 +:10905000FCB215578DC69F44BFBDBB4EC467D7C178 +:109060007524FF3359F56363108FD3ACEFAC388DA3 +:10907000F0BC2237EE9F5FAE4BE3FCD3F9BE937D8D +:10908000D20E5736E1E03CDF28E72A2FD7D9E2B8E5 +:10909000725F1A8BE3CECE0FBF42CF3BFC531F262D +:1090A000DC2F93E034C5A5DB1A4F31FCCB73F3F909 +:1090B000078B54864F833B0FA65C47FA1355D8B9EC +:1090C00027FE3D973C377EDE35A9247C88E6EB26DB +:1090D00045C6714D8FBBD977F8C538CA9FBA53A31F +:1090E0001F501D07CC8CB5FD7E318EE5E5A7EEA0A7 +:1090F0003A81D51FA84B3D4579587746B445C2F112 +:109100005B7F66AE4D477FD24D63D15F4D7933FAB9 +:10911000ACC9703CA090FF7F840A48B86E799E6C01 +:10912000127E97FBDA40ECEF2DC2FFAEBC178F9496 +:10913000E2E8B229272A49EF0FEF7DE1A94CF27F3F +:10914000ED2A5596E0F00C2FCFC366403417E92D79 +:10915000FDC66D1EE2874787595EF4539ECE3E736F +:109160002A8E6F42A8D53582B33EA0B8D3F30AC683 +:10917000432C9F0A9B14EF7831BEA5BE2D3EE4F12F +:10918000A4EA8C2713E3479CF018C5A3F542FFEB34 +:10919000EB37C648DF0F857D11AA5F4290E3878CCD +:1091A000FFE3F811896DA23CC250453E7790D18F04 +:1091B000F1328BB7BCF94A027ECCADA07ACE8F25B6 +:1091C0008848C877F5E130C490FE069CDF0850EB74 +:1091D0008C3FCBD7733F988837B7CF0F423DF1D93B +:1091E00057CAF463BA3BB682D915C80193DA9D3BDE +:1091F0001F9E85ADF9D4B07E30FD99FE9E16A53C2C +:10920000817640F1E675629F874311D706A4CBD8DB +:10921000704580E47AF86A2FB7D3DF68D1316CBC2F +:10922000D17637BE2FF1BB24B64F0D01742EC37516 +:10923000F63D318EF288F990C2EA53CB843D78CE68 +:1092400072FF1AF3804471A3155F5E8FEA4DFEEE44 +:1092500082D01709F24C1A3F7788DF5FE8CAB9FB62 +:1092600031AA3B94BA5D010ECB5CBF96CD0BEBF5FA +:10927000132ED62FEF4D61766FA16B055292C6F477 +:109280002D97C675AAEF323DEBCA999A4EE3CA7381 +:1092900078FCF0516DF86AC63F9DE79FE5BE47D95F +:1092A000FD80F6A822EA59BBD6D239FC2312B78337 +:1092B0007FFAE9C13B4C966F8517D13AAFEB48274F +:1092C000EAA377C60696F71C262A719FE7F2BEF33B +:1092D000E500AEB774C9F62D6422373DD7E6467275 +:1092E000A021BD744B9A4EFECBE5C0B77F78794C78 +:1092F0001CBFF0DF1DD1F18EFEED4F4C768CAFAB75 +:109300009AE678BFAEF71AC7FB4A6DB6A37F83BF54 +:10931000C4317EB15EEEE8878C1AC7F86559EF2834 +:10932000E374C6BFA5C49FA4BE772AE97CAB664F91 +:1093300076FA6CA0B8333685E2FBC194D8148A83E0 +:1093400007459C69C59383D9E1B99B6CE74D1BEB3D +:109350005DFCBE88189788876BEAB9FFA99B1A5BEA +:109360001DF4317D37A7CF64F8997ECB88E7B8B775 +:1093700084EB27D8F1739F9BC6D5156EEFC8207E6E +:10938000DF56C0E2D175F88CE2D18A70A882CA3467 +:109390008B82771D1C8FFBBAB1A84D09DBF0AA9C0C +:1093A000E2CE541677AE637A1570097DE076753893 +:1093B000AFEE92FEE48356CCAFA6039C6CF5B3F6F9 +:1093C0008D569DB5A75AF3587BB035C0DA43AD45ED +:1093D000ACFD61ABC1F2EB81D62AD6DF424033E768 +:1093E0006FBFCE1ADCCB24CCB3CA61E0D0B86C8A94 +:1093F000970315BB904FEB11C0C8CFE0FE1F62F67C +:1094000090A538F63FCCA7047B5B36CFF80A8D6F6A +:109410005420E69E7579BB417DFA2AB347C27F3D51 +:109420008EFFFD7B9B9FB0E37F7FA687E73902AF6E +:10943000C664E9ACEE58FA8D3D0CF73DA01FA7734A +:10944000D8FDF53C9F447FC070A709F15F0F100A5B +:109450004562CC5F209E527EEC51EF677DB554890A +:1094600078FD7FBD3F40C4ABDC22E21F868317F945 +:1094700083BF0CFF6B08FF0B2F85FFB72E221CD478 +:10948000A642606CE6887E601FD35B21AF1344E880 +:109490000496E5303ABC161DEA7A93F218558221FB +:1094A000E2831712EA2C820F5EF6C4F19EF301C22A +:1094B000CCCF2AAFF0BA0398C631CA238A85A81444 +:1094C0007F4F39F1C53F19E3C2229257854974D7BE +:1094D00018C8771A7F82D31DE7538CC9B71AF32FA8 +:1094E000926F4D67C4588DFD9222AF467E5DF12B81 +:1094F0000E3E543F1C617C9A27F834EFB74A429DD8 +:10950000C6599F39512FEA3122AE9BEEEE5B49EBF3 +:10951000F50BFFD8BFF3A06FF65FE01FFB4391038D +:10952000FF68F38FFD05DC3FF6C7FDA3B4E192FEB3 +:1095300091F36FD83F8A7ADA8ACBF8C744BFD8A9AB +:10954000DF3D6EA2CD2FD634887A7ABAC9EA2F6B66 +:10955000645E775D932AEE35D5AF5DC3EEF7A1214A +:109560007B33999D2735E0F8FDEAEC83947F2497BF +:10957000AA2CCE54A654BCCA8F8586FD6C4AC3C89B +:10958000719C46CFF7E7E5A4931D5BF1E9E1BD6D62 +:109590004F6416C6EDF87036DA31C38FDB3A480FE8 +:1095A000CA757D16F9CB6D8DD51AC5FB075272674A +:1095B000B9F0FBAF083BB6708EF2FF06477CCCF5E6 +:1095C000FA2B0227E9E2D159E4EB18C1D7418A1FEF +:1095D0006DEB0ECEB84EAD46FDA87EF3B16795ECAF +:1095E0008B7108FD5716F999FEB4001FD7B0ED59DD +:1095F00025E9E2719FFF22F293EA1B99384EA3F905 +:10960000BE3AE23894EB21A6C7221E406FCAEE1381 +:109610002D852176AE5C313F3C97F6B3ECEAC74826 +:10962000ED407DEEC3876FD2E37CB6F99F92861141 +:10963000F0F748497041033B67E0F7672E87B3F8BE +:109640009735C699072CA2EF9BE4E0E33BA83E9C2C +:10965000F787149AF7B2F3F8B93E415398D52941E8 +:109660009603DDC8E78F8AC221468F01BA9641FA78 +:10967000C9E520F90FFD4942BA8FC910A3737433AD +:10968000D5C3CE5112FDD891E2C58D0DEC9C4CF3A3 +:10969000D0FCCDFAA1B725DC7FB3EA637C80CDEEA8 +:1096A000DF0EE30EC309EBBE5050BA700DE703E9BD +:1096B0004BCED07F76925E3D44F565944FFBCCFD5A +:1096C000AC7F06D4D374EED59E7A0AC223C40F9E13 +:1096D000F32EE77D97E1FA3BAF3B8EA50DD1BF3F5F +:1096E0005F70D1FE92780D1ABEDEC0F3F1B185DC59 +:1096F0001EC6A2221EB7FB09E07549869F12D52B14 +:109700009DEFBD45E65DC41FC81AAE37FE84F6372F +:109710009ABFFFB4DB0EAA43BA2FF1DE136E21BB52 +:10972000E8904A591DECA1DCA93BDA6CF2B3F6FFD4 +:109730005003C614A41F4A9F4A75888772665DB29B +:109740001EE1ED0939EE035EF45E86F0487161B406 +:1097500081E3426A51D89846F5049433D507BE3365 +:109760005F677478023C6EF7F87BD83DCCDF89FBED +:10977000431427517B52DC1FB2F4E5AA810758FD40 +:10978000ED9C89FEAB90D5E39E19223DDDE4D5DA50 +:10979000D3A91EF725F67EA3A26ACC5F41E43AAABC +:1097A000373E649D4B41E45AD677879B0817BCB07F +:1097B00072ACFD1CF1A5061EC78ED1FEF517272839 +:1097C0005016F50A4ADB795D294B63FE48F4C778E9 +:1097D00034F31ECA573279BD113484F9B91CFFE93C +:1097E000AF6BC6534D94779AD91E765EE002E5249E +:1097F000F9B74EE225B246F7858100A56B89CCFC0E +:109800003BBB9049F5CB9449CC7F75E4CC62F2D157 +:10981000C150C9CEFE59AB1D0B97882FBB689F184E +:10982000276E463E523B9ECE4F6CE76FDD7915ECBE +:109830009CCF8D8648F6E2BAFA0B6CBD2D39FCFE42 +:10984000D7969C1DAA8CCFCF09B96D5EA25445470F +:1098500058CF7A8F7994CAEE59F92F4DD7A3822E1B +:10986000AB9F56153648DEE3B3A355B4FEF8ABC73D +:1098700049BCAE11F4D37D8837C4FC5B5278FD3A05 +:10988000AD426F53884FB96B66136FD50A4D3AE9F5 +:10989000A3F33D5D7A97EA39B93CDE1CEF0E329CAA +:1098A0001B3FE12AD9B4D5393FB6E6CB1E397F3903 +:1098B000DE208BFDEEACA2EFCD3C197247A8931EC3 +:1098C00013FAD1EE09FC88F16DA90CB4CE96097398 +:1098D000F328EEDF3285E3EFF163EF3CDB964FFADE +:1098E0007A27FC92F4355D61F245F7F26819ED4391 +:1098F0005334FBBD40ABB5F4F4CB427EEEDC174DE8 +:109900007EFE0A01C2A34AD7608CEA885D861AA14E +:10991000BA5DE2F7BE7CE7B9DC184D61797217F4E5 +:1099200069744E9B5A98EC786F7DB7AA213CAED1F2 +:10993000E6BFC7E487591E6DC9D79D7969F926D25C +:10994000FD90849E05F39487D2B89DE1BE3F8816B2 +:10995000923E671474DBD62D6DE47CBFDCFC89FB82 +:109960001A6D1FDF4EA8F7CD107E2171BEBE462EA8 +:10997000C78EBD8F3AE29D8E5C1EEFACB9BEC7713B +:109980002E53DCC8F5A74BDC7BEA42BD7C71043D5D +:109990006A10E3465BF79CD0B3B89E7AB8FE647356 +:1099A000BD39DDF0A1A8C3F5F1B81FC9A278A4AAFA +:1099B00038BC88E4E325BF45E798590117978FC560 +:1099C000570F8B2BFF867CE4F7A41A27AEE3F593A1 +:1099D0003EA07CAC03F59270CA9DF9228BEBCFA11F +:1099E0005E92DF567A868C8F0B995F8E7C8D07A4F2 +:1099F000F0E7B9C2AFEAF4FC7EE3E37496C744C66D +:109A0000FB2F4F971756F3F9453E38DAFE3C591EA7 +:109A1000475DE42FAD23DFDDE8AC23832B6B5339A7 +:109A2000D99F5F8EBA2E716E327CCE3BF9D2757D96 +:109A3000CB4E467B3F267540A67B838F37967D6B4A +:109A40007311F917AE17AF35AE5947F77D2EC69390 +:109A50001E669F9F0047983E9D23DD4AFBBFEB8714 +:109A6000A507E7DEBC82E901F287CB25085117C3C1 +:109A70006F839D2B4BA6CCE33C03FF65882B362CD4 +:109A8000C8C42719EC688FE94122FF27923588F373 +:109A90006EA277D27A9EF766D18D438CC7AFA4842D +:109AA0008E95E8C2F77D8CF3655C7B4CA23AF4EEB0 +:109AB0008BE47669B95BF24ADCCFB75B5589F4BEBB +:109AC000EB811E20DC4A8ADDC1EEDB78F6F400DD96 +:109AD0001F4DA21B441447EF01765FBCDDF7077EE4 +:109AE0004FC33F75875D3F66363AF3A1E7853CDAA1 +:109AF0007DB58CAEE7FDFC7CE979E574F2B8FCD16C +:109B0000F16266233F9708BC225F520E01D9F8210B +:109B1000E1834AF138BE6CCEF78C18878F490E87E7 +:109B200047FABD4AA95C36D0386724FD427991BF17 +:109B3000D9C3E5F069E9D9D6469DEDEBF276FF7D14 +:109B400060F744E81C20108FCB12E7BB5C9C66C515 +:109B50008FC3E7B79B14682F64F1228B1F379A5E7F +:109B6000CD8BADAFE00B4F537F09C68F14A7DEEB53 +:109B7000E2E7B7D6B9AEB55E8ABC4F9D8DFBBBF2AE +:109B8000EDFBD76D46BC7998B278B4D35D6FDDBF7D +:109B90008EEED3792876C479EA677BA394AF5971A6 +:109BA0005DFF8C892CAEB3E679BDE0869523E53761 +:109BB0003F58CEFD53A5CB27B3FA44BE8B9F6FE72A +:109BC000DF2A9B384F4F9E8BDDC78ADFDF42EDC116 +:109BD000F6F53C17E77F16BF37A4156CD08894E9DB +:109BE00010E4E7004BD09FA4016788ED5CFB392BA4 +:109BF0003E463A4F67C4F372E4A731D6F6FBA0EEB7 +:109C00003D07D93AED81EFF8E89ED6EB7907FA25C2 +:109C1000924FC0AB834D3FFA53789C75A0E035E579 +:109C2000A42F7E2FECE9E5BC8EBC44EF5348896B32 +:109C3000F24B75B2076594FC61C372913F88F7D609 +:109C4000B9BDF57EAF78DF39CA796D49538AF31C07 +:109C50003DE1DCFC96FA96251AF2F026C16FCFF0B2 +:109C6000F979B452C3F11D09E7E6D639BC55674C02 +:109C70005CEFFFFBF9B9C5078B8F565DA9C33FCEDB +:109C8000712EEEC9E371CCD9F9E1E6E554FFA57A6E +:109C900009CDE7D7595D5F15F52AFA1DD848389EDA +:109CA000511C6E596EC357FA1D18BB5FB1779FA345 +:109CB0008E74B8C02BE2B9BE2C7B3C67E9D5EB2291 +:109CC0009E7B7D9478EEC762DC302EFA64818B7DBA +:109CD0002BAC3A24BBF76518BA36375E4781262D80 +:109CE00076373DBF3B3540B8D521F21FBF121C6B04 +:109CF000FF1D99D576ECE77E06FCB6F3F1A9B4EE2C +:109D0000CA11C70F7F27E6ED14F8DB1EB8F513E183 +:109D1000EF4745E1C796CFA1BAB2137F93F46447EA +:109D2000FC748CEC6604FE1F295EFC38F1DF071121 +:109D3000969F34E78146712ACCD73AE81CB41DE3DC +:109D40003A565FBE4C1D68411330BBEB4F8B2A74F3 +:109D50002FB43C6F9F42BFDF5C9283F890E2C00754 +:109D6000E6EFA6BDB5771DC5C70F3FB59FE199B911 +:109D7000598A529ED6ACF6AFE0F551799637EBE2B0 +:109D8000750B9BB81C616B90F1877497E16082DC66 +:109D9000A4C07236EF531868B832699FE197689F84 +:109DA000B091E3677B00F4AF31FC8C8CF83B3879E1 +:109DB00039DFCF6878B4A378E9F789EF37D138BABB +:109DC00067E2E6F3D29E5C25C44FDE6FCEE2717F80 +:109DD000227DCDEA0AF61EB3417D62E608FCDDAACB +:109DE0009974BE6BE95DFBC68828468C4CE71A2D3A +:109DF000E0267EA8544BCCA4FB767DACEEB90406DD +:109E0000587B239CDE3A5562F5CF63447752555B0D +:109E10006C12D2B1E6C9733E7EFEC6EB996ABCFEF7 +:109E2000F90B1AA78AFAA7AAF37B5FFB1BD7CA9D77 +:109E3000642FE8B7A8CED04F7E0AFB678A7CCC4F50 +:109E40008DA6A7E497E8F7617D5417C2F6DFC4EF4B +:109E5000CA3AA92E846D81325446F417BC4C35168B +:109E60008C8BFA9CBF3F2C88397F7F985C1CFE90BE +:109E7000E8BBF6E5718EE749FA24C777474A82675F +:109E800096DBEAB57F87F63FAE69C25F65FF194D85 +:109E9000733E3DFBDF96317C0FDD47F99367B621BA +:109EA0006FC57DD45FEB62F1D3E17C11D704BC4C6C +:109EB0005FE8BA29E3BF88A7DCA81E63C7C5E3290A +:109EC000EFF9698EFB5389ADD71D61F590C4E7F2B8 +:109ED000F26CC7EF33BDE7AF62F3FC40D8EBA4925E +:109EE000705113AB7BC373D288BF4B77C69D969DD1 +:109EF000DD596CCC277E5B766FC5A367FA8ED15196 +:109F0000DAE8F9ACBA21BFC2B68F8EA408BBB74A53 +:109F1000BF37A0791F14F73B4119901B53E2F3A6FA +:109F2000128FD8A1DE00D3DF945831BBDFEACA0F0D +:109F30001894C7A41406C07E2EFFA5396541A22F30 +:109F4000451900E24B8AF53BA4A242368F35AEA6F6 +:109F50004976F0C75ACFEAFF5AE44F1E5ADF767FA0 +:109F6000F39DFBC14379473896C47E971FBE3FDB04 +:109F700043F7936EA1BC879D5314B2F15293773F80 +:109F8000C9F5B8398DFD5E03DB54AA471EEF14F7FF +:109F9000E1F1B98B19599B830EABB5F2ACE39DFC93 +:109FA0001CFE79D3E5C8B346E373627EE54D8E0CA3 +:109FB000510A7ACFDB0BD7D3EFE3BC220FFFE2DBF2 +:109FC0004DCF51BE35D908DF47FC7A07E1869D9316 +:109FD0004C02764ED2FCE003336EC175BF2BF4DA2F +:109FE0006F9D8F8C722E628D1BC617BF852FB08A16 +:109FF000F161147C91CCDB196E3F850AE82A8EC78B +:10A00000D77E91679C2B52F9F96713E8F6FA40E77F +:10A01000FEC51C67345B9DE413E0CC8356FE4A38D2 +:10A02000836D47E706FEBB90CBE3CCD3C427354B0B +:10A0300076E08AE273E24C69B11125BBBA04DEEC2A +:10A04000FC34F006FCE90E7D4E6C2D7D463BFFAEE8 +:10A05000B073539A7BB19D23BD2FD1BE208BCBC94A +:10A060003A5783328DD99B64BEC6CED1E2EB87814D +:10A07000FD4EFE13AEFF49C7FD2FDFF77653304686 +:10A0800000000000000000001F8B0800000000001E +:10A09000000B53E66760F8518FC0B57CA87C42F88E +:10A0A0003189EAD1F1432606063E66CACC00E12298 +:10A0B0005E547E283B03830D3703C3263606861C79 +:10A0C00020B606E2EB3C08F979EC103A511021B6C3 +:10A0D000979F72778CE2A18D2F8830305C1245F00B +:10A0E00053C550E52F8A20D8F15294D95500D40F8A +:10A0F00000B833811680030000000000000000005B +:10A100001F8B080000000000000BE57D0F7C54D57C +:10A1100095F07D6FDEBC793399C9BC84499884047D +:10A120005E428060A34E2060B0515E42B4B11F5BBE +:10A13000474437B6B61D902252FF444A2D5BFFE4D8 +:10A1400041FE104290604151FC332020566DA3AB7C +:10A15000AD5BB51DD08FD2FEECB7D4CF75D16237D1 +:10A16000B6AEBADD6AA32D85DDA565CF39F7BECCC5 +:10A170007B2F9310FFF4FBBEDD0F7FEDE5CEBDEF2F +:10A18000DE73CFBF7BCEB9E75E02F26C56399FB16A +:10A1900053F807CA3541C6D89C6CF9F0DF7CEBF365 +:10A1A0002BEB18B376AA893DF0D39E6D7BB75C1874 +:10A1B000636CEFADF22C1FD40FECB949D6A1BEBB36 +:10A1C000AF7257A082B11626315604FD22E64FAB7E +:10A1D000E1776B8BCCF618D03F920A256BA0DFF6A7 +:10A1E000CA280B3356C354EAD7B5B3FBB5008C3F2E +:10A1F000A59F1933E0FBAACC45B21161AC74506144 +:10A200006C4216AEBDED99E36FFA19DBD57E88CAB4 +:10A21000294A4A0EC2776C3BAB45B8A6686D7210EE +:10A22000E663F7421DE69B1236787B8FA8EB095E4A +:10A23000EFE3FD1F6E3F7CFCCD69F01766316D2E9C +:10A24000B4E35FA1DF8CED304F35A33FA7E07F3350 +:10A25000FBFBE52500F7D41E9857CBFE7EC6EEC368 +:10A26000AE7E5398F28741BB0EEB7815FF02EB9B55 +:10A27000B29DAFE38C13B0DED923D76BAFCB5EF7C3 +:10A280007FB5F51D78FD9CCF5E03F3EE66D164804B +:10A29000F860D16B0CF9E35E980D5821907A84F840 +:10A2A00065778F9CE885F94BAF593D6532D41F48DF +:10A2B000ABBA0FDA6768A9D04C5CD776E013286692 +:10A2C00084993900FC31438112E05A23F8E9EFB058 +:10A2D0009C83E8E0A5C1ACD770BE876E61466F0570 +:10A2E000E275F94F67021C552FFBD80C8437F36FCA +:10A2F00012E2D3E61FBBACDCAEB2CC187C55A5A4F1 +:10A300000E041C78AFD2DA0E041C78AF0A1BBC5DB9 +:10A31000E0BD4A4FF0BA07EFF6F8336F01FC86470D +:10A32000E2DD8B6F2F9DC68B7F8399A1E499B08E60 +:10A33000FE4551102AC0C3854D83E191EB463EC4D2 +:10A3400075EFBB75484A86B3EBB6F1F45F77FD9CB9 +:10A350000F1E443E90381FA0DE391D1F940E021FB1 +:10A36000CCFEEFC4071F4D1E50CFFE779007EC8F39 +:10A3700078F0AECF2EB7B41BC7AA008EDE7676ACCF +:10A380000AD6757BBB46654FBB4E655F7B9CCA2D6D +:10A39000A0AE517F6D39C2D2168C9B570DFD1D703A +:10A3A00045EBE13B071C414377D52389B8AB7F617F +:10A3B000B3E1AA07AC108DBFF1104B239D36B73324 +:10A3C000660618DBD4AE51B9EACC031AEE8F7D894C +:10A3D0005FB562BFB93355C387EBB3CCFF1D2F66A2 +:10A3E0006C1E1F8AE5E7F7772C85F6BE121F5B9778 +:10A3F00080F5FCD9F05D05F5DE79017D9D0EED015E +:10A40000A36329D0A1AF514B62FBACC4F2EBD85986 +:10A410008C85D77CA1E04D07BDFBFCAC15F52C531A +:10A4200060F1D0BF36A3EF44B824F6E61109C7AFF8 +:10A430002AAE40B99A2CC9A47737D5CA0B70DEDA98 +:10A440005AD560300F7B53F915D2A11AFE3B55093E +:10A45000F0325EB7E9921F187C270AE3F642FF75D7 +:10A46000308EDE00ED2E3A033A80CE0DE2EF89EA1F +:10A47000830BAAA0FFEF2496D0EB016EE6E80FE372 +:10A48000452633DF55D0BE41AC2BF1827BBC86AA7A +:10A49000CBBF2AC13AD990030E80AB0EE646F87FB7 +:10A4A0003A4F3593889717583A208D84BF4F3972A9 +:10A4B00004F9B716F08EF4F7AEC70BAF773D91C92C +:10A4C000990555809F1E890D211DBCF03754AB4B5B +:10A4D0006484CF0937CCDB6000DCF923E1B6F97A7C +:10A4E00067BBCE4C10E4FDEDD5C427035037B0FE5A +:10A4F000275F2BEE97067605B81F3862EC427A0D7F +:10A50000F38BC4E56795C4F7CD037EDECFFA094B24 +:10A51000EFC136367404F966EFDDC5B3707FAEE87F +:10A520004CFA52B83F489C2F56DD2AFF0FECBFD79C +:10A530009225DC7A137EE643FD9A66C6FB16AC6F65 +:10A54000EFF6C22BB17DEEADC0A7D0DE980FEDD8EF +:10A55000BF51FB80F86EFB9DCF5F0DF5FF057C2A98 +:10A56000013D13278A9901FCB7FFCFFA6A82F76E83 +:10A57000CE1715822F67DDA2BE21031E76FA8D0E3F +:10A58000B42BAC2BF2D89E442EFE8C1D95709E5B96 +:10A59000387F7E0DF9B3284B4F13FE43FCFDE81EB8 +:10A5A00099E6B7F9D54BCFC680FE5BE4CFBDD77037 +:10A5B000382A5F76B4E7E2CFED07697DA3F1E7FCC7 +:10A5C00029AC6339E0670FF2A79E833FB78E4DE752 +:10A5D0006CE99E9729FF93E6AD852F7B011F3FF520 +:10A5E0001FFF57D4C37B57A886938FED75EF550E89 +:10A5F000752CC7FE8D9A692546AEDBBBCE1CEB28B9 +:10A60000453B61049F5AE383BFB73DCD7E3D0DF5C9 +:10A610006E5CE83783CA8DC8BFC0B704F3BC917ABB +:10A62000BA4F662B909FFB426CC513387F595DCEA5 +:10A630007E76C9D85AE2EB2DC8D7A5048EC9802EE4 +:10A640008508DBB954CF84AA607EFF70DD64653075 +:10A65000BE345C878D06F454F5F0F7561EF4DF1215 +:10A66000E4F55FAE8D375A65D9FA89B5D146AB614D +:10A6700064FB26FFA0250371FE76EDAB664DD03559 +:10A68000BE89E33BE1D31A468EB729C8FB87E53C78 +:10A690001A6FA3D41F675341CF490371E4DB1F48EE +:10A6A000CC6CAEC771797DDEC4D7AD17E665E7F92E +:10A6B00085F4BA6581BCCE9192CF4A80FFF9CD4333 +:10A6C000715689F31E6E45A67911BF8779F25BF842 +:10A6D000BC07A4B75887032FAFACFD8365357074F2 +:10A6E000848B05A8387619305909E227DD887E6009 +:10A6F0001E636D12CC2FD7401D9AA6985A5B00EAB4 +:10A70000A5B7286FB9F57A961F728D5758CDBFD768 +:10A71000ECF18C718E27BE1F9D1F783FC0C3EB12DA +:10A72000F0C5FCBAA156C4C3B342FF375D58FFF76A +:10A730000D3044F0B03F01ECC882D5BA84FB6C21E7 +:10A74000EEFBB5F8BDBE7F3EEECF15ACADB780B128 +:10A75000272583BE634A7F3C19C1FDBC94A51D70AB +:10A76000D9E37ED27803F88F11FC828E503F4E746D +:10A770001D653D1AAE0740D5703D758EF528B01E9B +:10A78000DC2F713DB5593C79D7B12968B5A2BC37EA +:10A79000CDADBF98D178D3649251E530B757FC86E0 +:10A7A0008CDF57CB7C1FB1F1A2551FCE20BEF20D1E +:10A7B000D686F3E5D7B9C7B5C7037C338C0F04AB96 +:10A7C0000F931ECF47F80A68FC4C4E7C33C0F799B4 +:10A7D00023C7FBBD8067358061E1F70CBEAFCB7E40 +:10A7E0006F7F678F63AF77C4382F4E90EC717C0E0C +:10A7F000BA7BF124C986CBAEF4E2ED74F0D8DF7DEC +:10A8000054784EB72E2F3CE3950FE3C44C66CECE62 +:10A81000EAE175DB545AC7E64EB08BD02E3D740189 +:10A82000F9936979E810F297F5929FE23869D4CBF1 +:10A83000682F0ABDBC2732145F94C3DFB4F5F2035E +:10A8400060DF5AA0EF37A33D01FD1E857A1A046F21 +:10A85000CA0AC59A0876D0A3038521F407360B3BB4 +:10A86000B4E6F13FACBD1086DE69C6DFF7817C6CD3 +:10A870000EF2DF1F7B525E47BF339DFF1EE1E39D5B +:10A88000F994B2CED9DF9EDFB8456696637FB37F79 +:10A89000AF50D34B300EE585D792B9FDF023B15FB1 +:10A8A000ED11FB5545485F8A78293D5F3576015E9D +:10A8B0007676BD52BA14E179EAA0BC14E6BF53C85B +:10A8C000C303B8DF812E3DF0942AA3FF6DDCC26480 +:10A8D000C4DF8FFC43920EF45C2D33B34D4353EC35 +:10A8E00092CF33D88F3BE473A5007C37DD4A52FD0D +:10A8F000B1DE46E9C75467A48FB7CB9734A27E9EDA +:10A90000AF0D1D6980F5CD07F9E980A6F9CA90AFB2 +:10A910002D3C3A9D1FFB93D69A86F6F94F761FBEC3 +:10A9200014ED4CB0D49CFC629E047E71E0E547B807 +:10A93000CE19B8DE3895CBE4DCFA6CBEC6F5180C3F +:10A94000D1D601F01A16D76326E8311FD44B07DCA5 +:10A950007A0CE074C1FD49C13B0795E89CEC78A0F6 +:10A960001777C8C8CFD6900FE964825EF1158C8442 +:10A97000BF74B76AF9F2A97CC377D6487837E2BAD0 +:10A98000B9DEDD23CF1939DE5F6A3DF3C3306EECEB +:10A99000E38F6B78C61DAF1E58F0CD1532AE73D75E +:10A9A0002D32C9FDFDAAF1D31928EFAFF8281E57A3 +:10A9B000C98682A877BCDF97F7CF74C50DBC65D375 +:10A9C0004DD52194835DB7F0B8D4FDDF3CA334E5C9 +:10A9D000D013BB84BCEF12F27D54E671BED7643F46 +:10A9E000ADEB9742AEEECFE7F6E048F8D7D9FB04DF +:10A9F000953527C214CFC9D6554F9DC739B2F57CBE +:10AA000051E778B09A98A4A0BF51CA121DA0E70AD6 +:10AA10009ADB580AE00A9431CB7736F000CA1CDF83 +:10AA20001FD23515B8ADC2DE47FBEAE1C7B0EE87ED +:10AA300036DD5157E38CC563D93A8CC30C47BBBD97 +:10AA40008E0D15FDF1B0431F754DBB93FCCF90C12A +:10AA5000E3C35AE6EE56F4E3B5DD6A024D44CDB0E9 +:10AA6000580AEC9090926032C661C2AC02E914D2EE +:10AA70004C2663DC45873AC01F0A27793D26DAF564 +:10AA800014EF1FE7F580D1C61A61DE0DC27F7C7E10 +:10AA9000DA72E2830D068FE36F30664565F83DE8B4 +:10AAA000E374D928A534DF1CF4932D0DF901FA4D78 +:10AAB000C438C59B426E0023FF8EFE009E099CC2D7 +:10AAC000FF6361FDAD4F097EF465F1DC8BF1A56993 +:10AAD00018773944651FC687FC88FF7486FCD27CD2 +:10AAE0008E7F30DBB3F120FAFE5036FE43F5C3AE65 +:10AAF0007A9E6E99E80F2A3196F0C1F741336322AE +:10AB00003DD5325E473A06A2593A6E433A4A593A1F +:10AB10006E43BA48593ADA759B8E76DDA6A35DB7C7 +:10AB2000E9B6AD2259E2A2E36597BFEAA6E315575D +:10AB30007CE52F48C76D48C71CFBDAAB0AA7DFF3DB +:10AB40007B80BE18F7689629EEF170F93AAA5B97F8 +:10AB5000C9E93D15D9739CFE06AE07FA9A0FB44CAD +:10AB600083F6DF1FF253FCE07A65028DD3DF504994 +:10AB7000DF7D6D9EBC9739F8B807E35833909E3C53 +:10AB80003E61FFFE7CEDF4E8A003AE4DE8DF417DC1 +:10AB900093B0239AE69ED0B07D733DD713E582DF54 +:10ABA000FA613C8C6FF4B66B54DE0EF5148CBB1559 +:10ABB000EA58EE68D7A97C10F62D2CEF84F60C9499 +:10ABC000F7413B969B4DB9250DE3DDD10E261AF0DA +:10ABD000D973ED1A950FB5EBBFC750C2F6F638D54D +:10ABE000FBDA0DAAFFA0BD9AEADF694F50F9EDF636 +:10ABF0007A2AE7CB8BAEF6117F0F1D9A8A7EFD3540 +:10AC000055B37AA1169D2927511F337DE8F082BAEA +:10AC1000ECEFF63AE7CB4DD7E277DB4CA585FA2986 +:10AC2000C98BA6E5EE7723F62B9AA924115E164B65 +:10AC30005E72412C67BF9B50FEEE6DE6EB02860A0A +:10AC4000CEC83DDECD385ED99902BE78A6E033B9D4 +:10AC5000C7B370BCDDCD02BEB049E73039FA7561CB +:10AC6000BFAA33057C6566E145B9E7EDC57E5AE1CB +:10AC7000D0128A1BB0410B65A968B15E88FDB4098A +:10AC80004337F2DFCDFDF87B7E3DFF3D88FD715CF3 +:10AC900036D088F18C6883F81DFBD3EF897528477F +:10ACA000BA29C651F9F83FBC8CCB7141B3BE4B03F6 +:10ACB000967946D48B161B3BB1AE05F87CE79F3BDB +:10ACC000C82490B3827A5D92A0FE69A8CB502FAAC7 +:10ACD0004F4AA4DF543EFF0FCF1F6212E8B5820631 +:10ACE000E807F567A02E43BDA801FA413D18E0F042 +:10ACF0009CBF8049D82F2DECA54F2FD069DFD09B6A +:10AD00000D09D555AFB0A78A4C3E7EC1427D2DEAD4 +:10AD10009845B0FD2C04394ADFC8C8BE7BA2E37554 +:10AD2000F2FB0BFEC0C848D195C4010BEC3DAD94BD +:10AD3000917CB11033F680DDF8D07DDD71B48FB534 +:10AD400049AC0DE566C6FD3DD5580F96B214EAED47 +:10AD500087EEBF278EE777416CC7B8FA03F75663D3 +:10AD6000FDF72F2E9898CAA10F820618A20EBBA736 +:10AD7000C272DB0D45754909EDE8C9082FAEE746FB +:10AD80000EDFA18E77282E51F40EAFFFD15776C07B +:10AD900002DB489B9C664E78BFF37702DE291C9E3F +:10ADA000B37E20E09D0CF0023CDFF98180770A5FE2 +:10ADB000CF59CF08781573A23E0E78F3AADDF0FEC6 +:10ADC0007FA0D709DFAF76DEBF16E33BDB663245F7 +:10ADD000027B645B90FB3FBF57D216F98D41A3D233 +:10ADE00072F89B3F177A549BCCF944DBA75A13CED9 +:10ADF0001ADD5EB3E9A5EDD3DEC07E36BD82FB422F +:10AE0000D684FCD1BFB3E918DC177EC339FE11DC50 +:10AE1000748B4E4FBFCD6BF97A6C3FCFD0588F3EBD +:10AE20002B3BCE33F63A4A393CDB97B8E521BED40A +:10AE30002D0FDB9772FE7AC69E5FC845FC2ACE674F +:10AE40007D88BF68F6DC03F0678E0B7FCF8E137FA3 +:10AE5000CF7AF0F7EC38F1F7EC47C3DF16B19E2D4F +:10AE600091617E203BEAB4EB79541D13AEE1F53CD1 +:10AE70000AEBC977ACE7D1D09878185ECFA3E13759 +:10AE80009CE38F773DFD6BF97AFAFD7C3D86323687 +:10AE90003FECDBE9E687EA5D6E7ED8B72B373F549F +:10AEA0003FC8F9E17631DFED11C17F6198AF70F4F1 +:10AEB000F9EEFE8A7BBE92E5EEF9EE5E9E7BBE92D7 +:10AEC000ABF97C0FBF71A3FC04DA618D72DA82A149 +:10AED000FBA0CF61DCE71483ECE9FDB507E3781E46 +:10AEE000737B5988E293076AE74E44FBE876731652 +:10AEF000E5CDF489F34B1B3EB0A7FF782D9D636A27 +:10AF00002EBBCB5BF608BBAB47D85DDE76DBEEEA4B +:10AF1000AB96C91EF0B6BFA848220E9A2C41FB1F63 +:10AF2000CF456B72C4576C786C383F2E5C07141B8E +:10AF3000AE03FD4D09C06FE7C2751AE8DD4D352F30 +:10AF40001DC6FA0FAD85EB9A2BFEEFC3F5A872B9BB +:10AF50000BAE87D9E5FF4FC0F5A3CE2FBBE0DA6873 +:10AF60007D795DB3343A5CDBC4B9DF68FCF11A4B20 +:10AF7000FD44013E585F0C7C1BCEF26D39FA64F043 +:10AF80007B46D15D7C1246BB368CF3BBF9AA5BE1F4 +:10AF9000F136BB5CAF18F45DDE1C85F67176999ACC +:10AFA0009E26E05C04FBE963386E5176DC7B3CF363 +:10AFB000D8FE27BAA3A7A6623DB7FF193891C78C60 +:10AFC000D9D07A2248A5779DEB057EFB6A793CB4FF +:10AFD000A77CFA2E3C7FEFBB35417A35AFD998B5C7 +:10AFE000CEC0F1787CB3AB76AF89718E90C85752E2 +:10AFF000745D42390F69BC9E97B982FCD25033AB65 +:10B000000D1AD9790AAAF54693F0D7165FE4C8CB92 +:10B01000582FF00F766F06E75F7F815EEBB4B38346 +:10B020007E8EAFB08FEB95BE4A2B5EE8C06BCFAD86 +:10B030006986766F574537C1A5293C9FCA864BD391 +:10B04000783D8470619C1FE1728C5F60005C35A369 +:10B05000C3E5C5978D07EFF95FD9091F9DF34E3AF8 +:10B060002151592AF05E8278877AFCC4042A279EEF +:10B0700028A0DF8B4F4CA27AD18912AAC74E4CA5CB +:10B08000FA84131554E69FF8149591133305FD6661 +:10B09000539977A296CAD0894F53BBED5F6A27E6D2 +:10B0A00051FDF6799C8EFDE7011D2507DDE6CD25D6 +:10B0B0007A069A596206D025A00C1EA1BC9616B03D +:10B0C00063A52CBE02025F85025F012FBECA6C7CA5 +:10B0D0000DC51739E26476BCDBA6E366A4A383FE44 +:10B0E0004D828EF93EBE8FDC5EC94A0A9D7666A30C +:10B0F0004A7666A085DB99010F1D3F2E5CA3D171B6 +:10B10000529B8C36D8B03E28591172D527A60A5DBD +:10B11000F5A2D6526638F35FA0AD01F6CF09C94A51 +:10B12000F7EFF567B8EA76FC322F31CB359E567DC6 +:10B13000AEA71FE7A742911F10441A96805F6FE3E6 +:10B140001793451C71CE2FFA65575C7458EEF1AF1A +:10B15000686F2719C53BC00F95D601DE8A13AAD1A7 +:10B160008B792CCA05D22EF41F9F0D303C5F975867 +:10B17000B37400FA6F31B524D62D7FE5F0B97CFFAA +:10B180005C4AE964783ECB7C7DAD98EF51FCD70AF0 +:10B19000A33813665C40FDD81ACC7941F86239CFE8 +:10B1A000AF8B99CA329AD057B0A6D8625ECFAE1B89 +:10B1B000EA1C0F6FA2FE0AB02BA2C91CF95BE31EAA +:10B1C0006FA1A3EE38AFF7C23B625C50C7930A3F52 +:10B1D000FCF89BFC9118E9DF73D839A47F47C18341 +:10B1E000974EE3ED5781FA65369E6349544E11FA46 +:10B1F00065B2D0EBE542BF94A17E213D34897E2F1C +:10B2000015FAA504F5CB6CD44315544651BFCC4672 +:10B210003DC3F58B2AF82C827A6602EA9B5AAE4F20 +:10B22000847E6171CE7779A87748FFCCA312F36949 +:10B23000506EEFA8302A7B9DFAE6BCB9A407B2FA9B +:10B2400026B73C6B62BF185D9E8D12A73CDFE1D133 +:10B25000333D9EFDE225A167A262BFD87CDE1FAB15 +:10B26000D1EFBCE3A262D9E788DF755D349DEB9B2B +:10B27000E4D8FA26765A7D63B9F68D1E7B3F8BD7CC +:10B280009DE63C82E369F379DF237E54557EEEA28E +:10B290009F7FED9107512F9CDFFDCEF380B7CBFC54 +:10B2A000A957FD688FCFFF261E4EB01DD7F7C631B8 +:10B2B000CEB1F9BC3BE9DC5B53F9F969CFF97D43C9 +:10B2C000F81DF41FF473B9BD4245B899D686F2DC77 +:10B2D000F31596C67320A3D3ADEF26DF1272E99F54 +:10B2E000B2D585AE7AE9B5A5AEFE980AD3308BF11A +:10B2F0006002F06D7C995BEFE5379CE1EA1FAE736D +:10B30000EB3BFB3C2254E3D17BF1F1C94154C841F2 +:10B31000BE90838890039B7FBD76CE260FFF82C5AB +:10B3200046FCDA2BF8D517D6A5A53523E9D2557BEF +:10B3300093897EC847E7DBB46B1FEA3D0DDFCE542F +:10B34000B91E1FB6736A0F12DFF6CEF4F0EDCCBD56 +:10B35000473E997DF2E3F16DFF9CE5C655C09FFA2B +:10B36000AC6BE3C8773D73BA8DAB38FF9DAD029DE2 +:10B370007A66F5251E24EAB631D4E3367D23827F32 +:10B38000F21B640F9F8472EE83E3E58B8B5583E0A1 +:10B39000B29AB8DD6A9DC51278BE18D2FB4D099AE3 +:10B3A0008C9735B28BBA8F4A9487DA5772208EF118 +:10B3B000A76386AA635CBFAF9CF13CC12FF2FD324C +:10B3C0005E959270BF2B626D672F857A773B70CE4A +:10B3D0000C5857856A62BFBB5E8F3C8874395EC269 +:10B3E000FA51AEDECE4B5DAC3AF661A974450AFB6C +:10B3F0007DE35712E5AB05ABF8B95A1EE23886F388 +:10B40000F3B85DA89AC7EDFA4A781C0EFA51DCCE63 +:10B41000AEDBE3F59564E261871DD3557B90F84080 +:10B420002B033EC0785EE66F18E63B07CADA281E9B +:10B43000A7290319A43FABE1F1374D4B67905F5942 +:10B44000358FB705CBFA29DED627CEC37C61936151 +:10B45000FF708D5E8BFB3AC60FC98EAFD277E23A92 +:10B46000E7AB5CAF7E21645EA392FD5BA6BF952730 +:10B47000E8E5F037AC2646F92056939AEEC07341C2 +:10B4800019B00B78EC963219C4F31742A9AFE1F763 +:10B49000797ADAA4ED22DCCFD09F99CE38FE574DD1 +:10B4A00093D3289777F9CD9B908F3680BF8574DA38 +:10B4B00070C8CF307EB0C1905B28EE6BE4111E5790 +:10B4C0004D2BDCD9EBC0D3D7851C9DF09BB7E13C5D +:10B4D000F0FD5DCCF53D6BC965D7DF2AD6D72FCE01 +:10B4E00095FA1B97A7D7A23F525E3D0BF1A137AD4E +:10B4F000D8BE04EB936BE81E50BF2AE5CCBF06FE16 +:10B50000DF8C7007CA2C3A4F05BF82D6D70F7A9AC4 +:10B51000EE73083E0D8553261A17FE5882E139F165 +:10B520008669D3A3B9E2D776A9AE79B4008FA47C9B +:10B5300061CE47C837B4AE2277FC774311E71B8C46 +:10B540000FEB8EBA3DCE86A27E371F89F3D7D1F995 +:10B55000C8CD379A6672BE12715D5F59C275AEEA88 +:10B5600085FB5B02AFA3F38B90D759FC1C14F8E367 +:10B57000FB88BF61FED0FA497FFC1CF1867E6078B3 +:10B5800080D2CDFCB134C75BB9D05B06E79FF8959C +:10B590008907B91DC2F153BC98D77F8E1BEC1C3AAA +:10B5A000CF6EDA04FDD657C8E9B5C80F15AB8E20AB +:10B5B0005D8F5DA926C4574C015FFF1BE2EFEBCB0B +:10B5C0006F3ADB798E8FE77E1947BCE27805C8BFFA +:10B5D00023EEA7FDB983E49E81DCA31E912AD7CC7C +:10B5E00070DE4F793BAFE9E7B83EA01FD1319C1028 +:10B5F000742CE7E7ECA81F888EE5FCDC1CE9AC3B6B +:10B60000EAC3742CCF7D8E3E3A1D339C8E099B8EEF +:10B610006EFD102A4BBBE8989547B77CFD40C85794 +:10B620009EDFFCCD4791CF7F11DFFF52313F10DF0E +:10B63000E7944F9B7EA11A9EFF0C7F4EFAC00F59D4 +:10B640002F9ADE17E3182FB64673E56B64F70739B8 +:10B650006BA713DF85849F718AEAC6D3637F8FF15E +:10B6600029D4FB9BDA752A8D659F1FB37F9FD8274E +:10B6700002EC0BD42F5C77D844B9D600C726E03350 +:10B6800058A7A77D7C3D2638192C2CD613AE3A6CD2 +:10B69000F5D5D1AF430BE6E1EF7DEFE3BE12AEF39C +:10B6A000F81DBE2BA3A91C7266976B8EFECB841768 +:10B6B0001CFBA81170FB25C7D8519641A7861DCE4B +:10B6C000F4A1BE87F99C797BC37CDDFECE8417F0A4 +:10B6D00028FC50EB987E9806F618E69DD8EB950D61 +:10B6E0008B511CA6BE9F1617AE6299608E75AC4733 +:10B6F000182859E98105999AD3D3B157E075BDA0AF +:10B70000C768FD86C7B5EEEEC88411AE5FD079C7B5 +:10B7100031E07CF4F742A83FA0EED3459E442CC90B +:10B720009C7AD70BA7BDAED1E653C21FAEBF1A1B82 +:10B73000F673859D935B2F1A03F1233E845BE7F735 +:10B74000BC14A5ED81C1189A6D0A5B5B47F58706AD +:10B75000915FAC80BE87F65B68C752D574CC575BEF +:10B760002FF45497C80F5819984AF272575E3EC981 +:10B77000F59AA311CA8B382EF76B1BA1C9175D4828 +:10B780007E85CF57DB86F1B4F927E76B4EFBF5A634 +:10B7900000DFEFD687F979FC7AA54DC3F88DC14C4F +:10B7A0000DF96383CEF31946E59332D98527351613 +:10B7B0001A130FF7610003E0ED1476696730D1EAE0 +:10B7C000CC63EC0D04A97D6580C7E9E79F8CD23975 +:10B7D00072872E937DD713BE43AB007C592FFB1885 +:10B7E0005E0BED512CADF02F005F8C0D3D7F0AE913 +:10B7F00012E6764B20D26465902E126B9B867116F2 +:10B800005DF9ADF3DE80C1DA92C88F9D658ADCEB0D +:10B81000D4E79F30FE86EDE714ABC6F37A85851238 +:10B8200038DF235A6A37E6611AF59F353B018E0FE0 +:10B8300050FE8BD07E48D17E6A7F7751D132E213A1 +:10B840005C17A2184AD2C71F9431D25F81986C0549 +:10B85000729C8BB1329592DCEDF58E0A97D07FD435 +:10B860000472D87882C7C1430946788CB0414AAE89 +:10B870008A2226A762EAB42151B2154B48E44FB0A0 +:10B88000068A77C7829FF4B857D2B892B9859DCA05 +:10B89000FB10E32A83141FFBC4C73D0DBC41762F68 +:10B8A0008D8BD439E5C8EFDB00728F41C00ED8B75D +:10B8B000B00C404FA4E7B11A7E0F6F7D7B9C070947 +:10B8C00095A74CDCBFC3181704BD911706331DFAAA +:10B8D000FDAE511B62711C8FEB2BFB9C21AF9ABDFF +:10B8E00081F7B9F2126EBDA7958D4FAF75154DCF8B +:10B8F00099A731CC3FC0A9158EFD7AB47E7FE9B2FD +:10B9000003F46785E3DC51095766F97A8CF5F9563B +:10B91000A7284E838157E73EA0C8FC3CB523BC5402 +:10B9200023BFE0E4A95368CFF8F81060AF27EB73AA +:10B93000E1A50C0FB31C7EA55FEFBE11EF23F9E369 +:10B94000CB4C673EEF64FC7B11FE7EAD39380E3A7E +:10B95000F4F853E4CF58735802EDBF2D795F626F4E +:10B96000D4E0FEF025B2C7BB8B8A2B0264A788BC4B +:10B97000532D4CF7536D3EDD5F74791CE3235D2539 +:10B9800097C7719FEFF227E3A89F0F157DCF5C82C9 +:10B99000DF9F8CB200F05377BC92FC9AEE93532752 +:10B9A000B6E5585F1EE3FA2284F055707E638E3C44 +:10B9B000C7EEB8AC213C1FD470BDB325EF87A60FEE +:10B9C000EAAAA1B4E1F86A18E685F95BEA064C5CDC +:10B9D0008F9A0AA7F09E89771C7B1EF823613C97FB +:10B9E000EE72DA7227B9DA73C231B29E322BEB9063 +:10B9F0001E2CD19BA3BF5FCBB7F2404EFCD9DF75A5 +:10BA00009CB7EAC533A3FCFC4EA5F887041A01E5F0 +:10BA10002ACBFF69773C5F97B3E33AE2D80AB37A5F +:10BA2000D09E0F627C4F1F89D76E55C4BD14B315CD +:10BA3000F1D72915CEEAAD1BC38E89F790BD190445 +:10BA40003317EF9306E3175A183FEC64AC6D421CB2 +:10BA5000E7E93B8C7C1714766950577EE3E4B3EB3F +:10BA600034B79DD911AE1CD39FC5780A1BC38E5322 +:10BA7000D5448AE7CFB5B5CAB47F9D45F02B65079D +:10BA80008F54C0FCB7697CDF57E2AA85F078F7D9FC +:10BA90003783E66D1AB4AB213E8E77FC63C1A67581 +:10BAA0001AC6D535B343CB15CF088F337ECFCC7CA8 +:10BAB000A998F32FFF93CE20BCBE54D8447D1A4AD8 +:10BAC0002418EEB307EB812BEBA1B9DA7D6F111DC2 +:10BAD000B2DDC84778EE82F7983DF76BFD75B35835 +:10BAE00006BED79786DBA2F5C84FEE7B8D3E4FFD95 +:10BAF0007E2F1DDA9FA67B8936DCF09399CB4F7F92 +:10BB000038D8B43B371E0AC78507FB5E0D53DA04ED +:10BB10005F825DA163DE2AA7F35D623FDA22F6A3AE +:10BB20004D62FFE96C37A81DEF49627D737B82EAA5 +:10BB3000DF6AAFA7F2EE7693CAFBDA5BA8DCD69E8B +:10BB4000A47E6A49A786F6CA8E9281BB25F2DCAD37 +:10BB5000E617E1931D918157F17E09B36EE6757189 +:10BB60000FF160CFD79B2DEC5F3070850C203CF639 +:10BB7000ADE59D789F70C7B48157E99E5A70E50B7B +:10BB80009D00D28E3379FFC19E1EDE5FE469B1B2A3 +:10BB9000C5A7C103D7937F40DA41B9A348C47BC787 +:10BBA000F9DD49A1BF77547CB8F9824ABFC9D79B58 +:10BBB0006E7E19D61BD438FCC51B6E6FC6FC39527D +:10BBC00055E7323665437F27D6617DE2BC3DC92EFD +:10BBD00073EC4F85417E0F6147ED87833B26DECDB9 +:10BBE000D11A0669AE5E2DF53BE4A368CD61865798 +:10BBF000C9C20B0732A41EC7793FE30A7494E764F5 +:10BC0000FBABCB12AC12C7F1FC3E798D497EDB9FBA +:10BC1000349E27B16D7193C6ED5793F2F5FD4191B6 +:10BC20003F010630DA53CA4F7C64F7F882B9FB63F0 +:10BC30003FAB2EDB6F5438F5D3D8B7E35C27539274 +:10BC400014D71A0AB8EFF7BCEEA907C5FB30E3A575 +:10BC5000C77C418F6703BAEBFEE8E39E71273D2A5C +:10BC6000B37A10EDB26B1DFB0BC3F859C8552F6C9E +:10BC70002E74D5F11E9FD30EF2EB6EBB285C73863B +:10BC8000ABBF8EC17E473DB6F05C57FFD2654DAE6F +:10BC9000F6C9AB3FEB6A2F5EBC686CBB6B9CF87E51 +:10BCA000C9B3FE1F7BF033DE71D4353E03CFE52BE5 +:10BCB00014EEF776EB4B291FF518D208F9ABBF96B7 +:10BCC000EC27B09DE9FD286430B4AF55DD247B3E00 +:10BCD00004C28AFC16AC76FB73FEB290AB1E6F35C5 +:10BCE00033F6B89847A1AE51695EDC39705E25CC59 +:10BCF00032413C8C13F639AA5FB42302EC919E4A80 +:10BD0000FE5DC2997FE12D1571BE8DCF24E0BE711D +:10BD1000BAB885779EF8E2E49871216F7F16568C49 +:10BD2000B71C7233FA770A7BCB6147DD84FCECC821 +:10BD3000B3318D5564CF84989CE885757694DD6920 +:10BD4000A13D4A7141908F6E2C919E71BE6FB5607E +:10BD50001212DAE565F21B817C5CE7E5198A15C7EA +:10BD6000C7B7AFE5897D6D6228B92188F42F3D14EE +:10BD700077C6DF5495DBF5AC86CB675FED4D145786 +:10BD8000552BF55A64CF0A25A35D126123E4748311 +:10BD9000782F408DF37B57C12AEE7F6B463F95F697 +:10BDA000F981DD6EF31DABE17CDA9D5844F991AA6F +:10BDB00096613AC6D9FAF7339F8BEF526C31F98707 +:10BDC0009CCF36424976AFB02F03863B7E30CC5FA6 +:10BDD00035E393836F8873CAE3B70D298B00BE8B5D +:10BDE00033FFA65402FF1C0CF238D1F1DBB8FDF989 +:10BDF00062FB0997FDF19360313FAFAB7B5F59E088 +:10BE0000B00F2F663C7F0C33EA2E39D3399FC8B769 +:10BE100052869E3F857E40626CFDFC57F1ABE89CEC +:10BE2000C4AEFF2CE1A378D5CF1446E7763F4B5440 +:10BE3000D03B3723D79576D9DD7F155F4EE31CBF06 +:10BE4000754841FBF1C5764DC2FBAEB84E8CAB5F79 +:10BE50009C785FC17CB6D3C1FD7DA18F87FD2E315B +:10BE6000CEF15B41FFC377FECC1514A7F71B49D376 +:10BE7000E4716F82D37F68C22E5CE7FC935FA638C3 +:10BE80009C3D9E3DBE86EB749C73F7C4785CAE0708 +:10BE9000D719C3BA31AE756AB8CED959F886F11C34 +:10BEA000E3F1ACD1F0DCD19E2A50A68DDEEE2BE280 +:10BEB000F7717CFE849E2BEEE6854309C3784EBF66 +:10BEC000F523C2D129F0D009FAF923CD0B78A82E99 +:10BED000266F8EF4F9F14A66B6003EBB27F3F79160 +:10BEE000E08B0F06B56C3C24A07D8EDDE2C8D756F2 +:10BEF000CBA0DD351EEF6FEB331BCF1AEE0340777F +:10BF00005FAC9BFC295F2C44F7757DB1DCEF23A867 +:10BF10009325CAB7F6893C07862F95A05D539D7877 +:10BF200010F9C408F1F7055B822923C4FD120BCF79 +:10BF30002FC15426FFD0CFFA49D7ABA5D5E4978DB2 +:10BF4000E6DFF4B4EF73E1D3C6578FC84F6727AF6E +:10BF500032683F93AB6F44FF66BC7E524779ED91E8 +:10BF600014C61B8AF8BB8AA3AD635E889FD3C13A0F +:10BF7000E685486E4C8A27D8EB08EA49427E47643A +:10BF8000FA98EBE814EBF0D2BBD35EC738E11EEDB4 +:10BF9000DD969EF2B571BCA76A95AB143FF1AEA3D6 +:10BFA000A782E761769627284F60B1A08F1D178280 +:10BFB000F52D0E39CE8F159DEBFDF5E5DD6C1DF2EF +:10BFC0003DAC17EF998F669768DA775C72BB34C423 +:10BFD000ED9BE0305E79DE45A08EDF03BF30945AE2 +:10BFE0008AF80C54751FC6BABDBF78CF213795F3B8 +:10BFF000F364FB1C7253393F3FB6CF21EDBA0D07F6 +:10C00000D4DDE790735EF944CE21378973F811F9D6 +:10C010008EA1DCF98E76BDC443AF7BCA25E1EFB8B3 +:10C02000E973CF356EFAF408BE73D0A727346724BE +:10C030007DEEB946F0DDB2DC7429D11E71D1250B3D +:10C04000278FF31670D1665BC2478EA40CDC97393C +:10C05000BC552D8903F84448401E3C84E7A05BA3EF +:10C06000A9ED387FB825CD2403EFFDF1F9BBC43D20 +:10C070009E0B7C27B55F417D73436514DF65F851E6 +:10C080004872E1C52E77B603ECD3D00FD7E849A9A3 +:10C09000E3AFCF18332ED3D1AE15288EB86747271C +:10C0A000BF2FD9112E5C847AB02B5645F90F66BC90 +:10C0B000E0F32B304E5D66D0BDC801CFFC80BF01E0 +:10C0C000E46F7FAC5F9C2B70BC5699FD26DE7B9B9A +:10C0D000CAFA4D8C93005A13192E3F74EE6EE32763 +:10C0E00058A5AFC5FBA7F0E910CA01E0E307888FA8 +:10C0F000A9669A2939F0B1B9819F4FAC6AE4F9EB8E +:10C10000361C7A9EC83FA829E472A124E2B9ECD675 +:10C110006CDC1CBA92DEE0F1F509552C8DF2B245CB +:10C12000FC7E7328F9538463C2C2B48478BC5B9CE0 +:10C130004F49C0D931F41FABF979F586E921C15FC8 +:10C140003C7FE6E590EC95FF9773F197DA9CC46B22 +:10C1500086EC3BE1D49110D99F877574AC83555C14 +:10C160005E87F3E52DF612F253899DEBC0B8FC16FD +:10C170001A06D90D7F16F408C7744C7360C6CBDB62 +:10C180001BF19E4D17C6A5508F1655362E403FC148 +:10C19000D486307E102C37F737A11C4A6C680FB458 +:10C1A000C76A14B29787E5BA9D8D79EEEA57791C74 +:10C1B000B624B67C21BEBB27156F6F54011F5D5F8F +:10C1C00067F44E4F618B457ABCA43EA0233D831596 +:10C1D0007A23CA63D7452CB116D57182B707C1AD92 +:10C1E000C2763F6CB70AEEB7CAE146D427FE85890E +:10C1F00004F25901CB98987A134BF2FBEF85AD7995 +:10C200000CFBEF0CA7FE8CF8D48C24E1D11FE3F6D5 +:10C2100074BFBF9F21BF051B2C13E1DBD975395BB0 +:10C22000E2E0FF681ED727FE2A66A66BB27CB8053F +:10C23000991CE0BEBDBE30787518FB85887E556CB4 +:10C24000B1E0DF24CD1F44FE65C49FF979D03EB52F +:10C250002A6D52DC23D68F4F69A07CD27947BF9FCD +:10C2600095A09DDEDFA5D2BB1640BF57D85C901FBE +:10C270009989C7EC38FDB498B91BE9F742C8CFF7E4 +:10C280009FEBADCC7D317C8731A01B8897B6B489FC +:10C2900074CC073A9A98F373F4113619E5A8D4C709 +:10C2A000FC71D4D356E675A84F40BCE0BE6FE8FBE6 +:10C2B000C5F0B46F875BF8B912E0AB2A0FF78BFAC1 +:10C2C0007486E77B717C75286DFF742BFA55877C2B +:10C2D00009CBC8CA8D97DE4A18F4448EBC4E901B19 +:10C2E0007AB767B4EFBCF296F567791CD7B60B4006 +:10C2F000CECE41F8149DCBD978F76BFB5E2CE08253 +:10C30000CE0BD4CC4574DEAF1A2C112444A4C8BE85 +:10C310000EC499FEED0A7E2F96F26F636C571EFADB +:10C32000C14AC2A2FD48DC5355B01DF733437F50CC +:10C33000AEE07971D8BF4BE4EF61580AF7C92E918E +:10C34000AF6735B16A7CAFA6AB24E9CEB392C43EE9 +:10C3500074F2D2F8A50E3FA16B94BCA95FE671F907 +:10C36000ED12F94A1B4BF8FD392869FE6347A534E5 +:10C37000DAA71BCB93AD748EF37A1ED955FB8B785D +:10C380007EE2C6A39107038E7DBADB23BF76DEA2D1 +:10C390005DF7E62B565AD7505C6C63DC7E9F73D1F9 +:10C3A0009879271BC4F8DD22DF6078DE51EE5FF458 +:10C3B00009BD8CE7462817BE7092EC0615EC063ACC +:10C3C0005F46BA219D906E0CCF0D6F22BFC65FC62F +:10C3D00074CA7B2DE374003AEE4254F99504B723F6 +:10C3E000C47D6245B4DB74B3E9DC57E4A65B9F27E8 +:10C3F0003FAEAFC89D67D9374CB7E75D74EBABBDB7 +:10C400009CE2007D785FF95CA4D7235D182FAEB461 +:10C41000BE4A71A1AE9227343CCF5759F2EF2B2B75 +:10C42000908E295AA7170F769E06F0FB36D41F6A06 +:10C430005CEC2BC24E0D8873435BEFAF12FAEA79C6 +:10C44000C11FCF8BFAC69A55769E4B1BE6834FC40D +:10C450006C2A00ADB82AB91655CCDB79A907519ED4 +:10C460008EFFF2E6128A3378F2096232BFCF09D02A +:10C47000B4509EEC3F4C95E97D61A04F21CDEBDEA1 +:10C48000DFD51EFEDE8C4D37A083914BDEBA8A9637 +:10C49000737F16E40DEDC161792B1BA69B45F660F9 +:10C4A00019B7FFBCF266D3F92F4D372564BE80F86B +:10C4B000F1F2E37FD57531F64817CF7FFAE2878A2C +:10C4C000EB8D9EAFD14FF650C9D100E9E958564FD8 +:10C4D000FF16F156B2CCCDB72CB958F821867C089E +:10C4E000D615BBB37267AEB88D1D0F3B1EB1EF05FD +:10C4F000A74228377BB72E0DA1DED9BB7D6CBD735B +:10C50000B7909F9D42EFE03B294EFDB343E8D77BB8 +:10C510003DF7F9AE0873FD3335CCF97AAF960C21AF +:10C52000DDD9F3577C16DF05A97AD9477A67D29609 +:10C530008182B1E6C7F8B92BEFE143E6E7C5C29EB9 +:10C540007B43A7F9DECECBFBB878B917E9574A7819 +:10C55000E8A673A24C94F8B17235B70F4A7A52BD6F +:10C560008CE301334E58F4E477E9BEC9AE3EF08166 +:10C57000280E62E62F013B894C65E0DDBD3D8B64F2 +:10C580007CE7BEBCC4C764F425B7F2734C0DFEE370 +:10C59000E7249946C65D267A6F706ABFFB9CB30498 +:10C5A000CF95C1DE2CF79C67961CFD97A3684F962C +:10C5B00078DE6BFDB8785F8078CFFB3F8FF71DCAC0 +:10C5C00040D0B90F4C925812F973D2756FBAEEA1E0 +:10C5D000B40ABE646BC2ECD78EB8F9BDD24001EA92 +:10C5E000F59DD7F2FBC50C435DA887AA07BF8374EE +:10C5F000DBBEE4A6DF3D87F649D13BE7A35DB72C60 +:10C600009CC7CFF5AE5DE5CA7304FF6359D8E19FBF +:10C61000EDEC5C44E58E935FDBEF87F1A6AD660938 +:10C620007EEF97BD82EF2A1B82CECD5B19D1B93246 +:10C63000EE63946761B9E95CB98CEBB9697D2C8DC7 +:10C640007C33758525611E41D51A9630E1FBF235A4 +:10C65000EE7778ABB68E781FBB09F96462821998C1 +:10C66000975AD5DFB6FF3E87DF30D1FB3EB567FE78 +:10C67000BDDAC04594E704FC81F1BA69469B84E7C2 +:10C68000E755A9705B1A8F7C5ADDF397C032911E73 +:10C690005E7EF4CEF371F96D8B87DF8EB17B3FBF89 +:10C6A0000FF0B1A7EBD19F53AE354BCB4EBFD4E6C5 +:10C6B00037859977219D583226CED7CD8A5CFA7C72 +:10C6C000584F27C719D762978CB92F142E74E77764 +:10C6D000859BDDF95DC16A775D658E7A45769E0D35 +:10C6E0008CF17D20D56638E7EB895847D0EFCCF444 +:10C6F0007DFEC218C0DB838EFFB9585FDA8DFBB1B7 +:10C7000084273CB094DE1A85E2FDC767CA64DF4423 +:10C71000CAD5346E562ADB457E18ABE2E738E82FDF +:10C72000927F13E7FE5838C1FDC011F811FD410D8D +:10C730008D190730EB1A19C6F742A8AF28BFC0A45D +:10C74000B85CC050280E09F2F3B3B0F05F9AEA2843 +:10C750007F83F21D6C3FDE9EE77474186F3FFBFE13 +:10C760005227DE5F82F5174CD62B304F8FE1BB8509 +:10C7700086E33DBFC9FCDE5341B35E4171DAA37964 +:10C78000F4EF8E30A5ED9C4B231817F5DC5F28E005 +:10C79000F717BA83A9B7C38E789554D8E2F207E2A7 +:10C7A000AC8DDB932C49A53E91D5BE80F34FE0F1D3 +:10C7B000CF8E487705EA97CE22F73E3B25C2CF833E +:10C7C0004E867DA487F43C7E6EC434ABC4795E3261 +:10C7D0002722D9ED37225F6C2DBDF9600BE0458F24 +:10C7E000F2FBE22C01FD2339FA4FE07C53BE691BBA +:10C7F000F18D2EDE7161F151FA8B762F9E2B23DCA9 +:10C80000DFD6A78AEFCB46810FFF7109D837ABC5BA +:10C810007CE0F747224514A7CB605C8A2DE5F755ED +:10C82000B271BA9AE8AF1CF3950A7CD875CC33C4C0 +:10C83000F8DC89C1A914975374F05BA323E1F36971 +:10C840009FE37145FD506CF81D407C273932FC2E6A +:10C8500044BC3B86FA5FA338891111E7DB618BBFCB +:10C8600017A14319C9F6EF5F709B847C7A7B283946 +:10C870002D42F1AC5427BD271886F925C7B8B1441D +:10C88000BCBB2E3BEE9C88C1EF31CD69BBBB13E432 +:10C8900072C2E7D610DDFD2007989FAA2F5848796D +:10C8A000C55D227E6DB6F27B65A1329670DE77742F +:10C8B000EC43732239E2846FE7997323245FA3D892 +:10C8C000A322FEB5B49E893FC6F9B82F5D03FB12C3 +:10C8D000CAE1AAA7EE3B88FBC6AA79B04B25F01C9B +:10C8E000ED8183B82FFA449E1560E0E0EB505FD6EF +:10C8F0009AC7B87C27F3113FEF327E7FE55DF65291 +:10C90000FE6C071F2F8E88F8708F9FF6090BFE4371 +:10C91000FC7FA5DFEFDA37AEDEEEAE2F678B8A51F4 +:10C920002E976F050D0578BDC6B3AF340B3C5FCDB8 +:10C93000DABA75473CF3BAEF9FA922DEAE99AD573C +:10C94000F81CF7D4AF8C707FEF37ED78B723FBFB83 +:10C95000CA705AC5F3C35F3F39FBF24F331C27DD62 +:10C960005D5A476F34937C7AF17E558F1BCED3ADE1 +:10C97000C30BB76DB78F0687B24F3273BDABB352DF +:10C98000C851F6FE97B8B7B04E611D75987F7ADB37 +:10C990004378CF618D15D0F17D8AE3C1C969BC743C +:10C9A000BC4EF01DB0D5393C5FA7ED6C2C7B63E924 +:10C9B00024F29D7DCE1FD4DA084649E1FABF377EC6 +:10C9C0009AF63268F78DD15E35F6F798C77B6AAE76 +:10C9D000786F81FC271EFFB2EF8975F893F41E78FB +:10C9E000C73FF8E87E5347411BBD8366953383DE1E +:10C9F0003DAB4A46E99EEECBBE985C215819FDEF4F +:10CA000092168A036E127A8929FCBC3010B64C3C0F +:10CA100077EEF6A7E205185FB88DC7071AC3A91409 +:10CA20007EE78BB7FA316FF7C78F5E45FF9ECACAA4 +:10CA3000F8850AEAEFED119EDFF5EEB71F9FCB00F8 +:10CA4000BEEEC7222C43FE565A457F6BE5933E8AC5 +:10CA50007F7EF5BB119A7FE51357EF5D08E348DF52 +:10CA60003FCF788BE4B283E058F9BD4BFFDE12EB89 +:10CA7000419FB563AD1D8F4EC4717FB92EC0BE8C72 +:10CA80007156EF3D39CDE8A73C9895FB0AE8FC606C +:10CA9000981F14E85F43F798BFBC28C7B9C4B31107 +:10CAA000EEA7FD36A2B6227CD2BEFD5F22F806FEBE +:10CAB000DA8FEB92CADAD83FC37C8F0B3C413FF24E +:10CAC000CBAD87257A4FE7B70FEF54312F61E5BE25 +:10CAD0009DEA52CAC3E7E7E8369CDABE2D16CA893A +:10CAE00056A55762DC76C1771FCBC7FB4B5FFDEEC7 +:10CAF0009FBACF85DFBFEA63430B413FDCB0CFF77E +:10CB000006DE77C0F7BCDC79EE3CFFF37A5241D009 +:10CB1000FF6FDFBEF017F0DD6F400F61AAD96F0E17 +:10CB2000FFB3FA0CD6C1FE443D74C3D36EB9BA61EB +:10CB3000DFAF555C8F2EB3A1B24F633E95DB0EF590 +:10CB4000F63FC64EAA985F7EC3C006F2976E78F293 +:10CB5000DDD7503E6EF0C8E76FF02F2523EDD05F94 +:10CB6000453C7ECFBE09E3B23FBEFAD8B1FB2DC033 +:10CB7000E36F9FF8D7FB2DC0E3B57FFEFDFD376364 +:10CB8000BCED87411DF5CB0DDFFEE7FBBF09EB7C5C +:10CB9000F7E9808C7CF1DE730FEDBD07EAEFBD3A5B +:10CBA000639604F5FF10FBDE7B8FFF5BB101E3AC06 +:10CBB0007EEE8289C877AB9F5A40EF298D36FF7B86 +:10CBC000EDFCFDF42C3C697EEFEF69098D74FE0FDE +:10CBD000034C1C4907D63FA4A29CFD51E2F7DBAEF3 +:10CBE0001FF8938AFC77D064438897E79FFCF5C1D0 +:10CBF0006F42FD5DA04B20075D60DD9364BAFF903E +:10CC00009984F720AE7FF2D28BCFABC3D29FC0E125 +:10CC10006F6043A4AF47D0F365A0675D969EA3D233 +:10CC2000EFD10D74EE7FC300D0EFAC91F47B17FF12 +:10CC3000326F24FD4AF3BDF7F9AE7DE01E6C7C72C5 +:10CC400042CE78BBED475CF7D46563FA2BEF79E40D +:10CC500075343CAF10E7AB6F47CC33F2E7203F3C75 +:10CC6000B2F79E18D23990C0F73EDF7BECD864BC97 +:10CC7000E4FF8E7FE84B8887A1E702FA2EF866E58D +:10CC800073FF48FBC27B4FFD5C35487FB37C09F4E2 +:10CC9000E67B6CF8CF4B781E72BD38CFBA6EF77F4B +:10CCA0005CF81A7C7F1D0C81B9FA403FAA1F34F949 +:10CCB000BD94EBD397B41898FF962EA2755F9FE6AC +:10CCC000F2707D7AFF62CC5FF7E27D49BE7DFE9611 +:10CCD000A52BFEFB3CD73FF9C685C87FA3D1D35E09 +:10CCE000BF8EEB3F07DA77BBE57524DF0CA9A8FF01 +:10CCF0006DFABEB7F3B8FA0BE89F7946D565B05325 +:10CD0000DFF30FA9B42F3FEED3F1DFF9F1D21DFD10 +:10CD1000CA25740EB52EE779AE971FAECCF7C8B30F +:10CD2000C0C7E9E4F9F4EBF870785A986F703FC522 +:10CD300083AFB5252AF96DBE7C95DE59EEF61BFF53 +:10CD40008879B6433FF1B35DF04947FE5C96EBDF6F +:10CD500069433FC5709C5728E124E5552A319DEE73 +:10CD6000E37BF33AFCBAEC796784DF97542D85E1D5 +:10CD7000BD01EFFD48AF9DF10D9FF96AAA82FCA0AD +:10CD8000F5C8D7C7E5B6A707314E1B5D3E782B8C9B +:10CD9000B655D8655B23EEF38C3BF2B95EB3CBADF1 +:10CDA000E8C7E23C97897F6F4A494A4E3F84581052 +:10CDB000FC876DF95FFE0CFA0FD88EFCE2FDDD9E5C +:10CDC0004FD193FC1D8F6AFE2E034BB141949B4EB5 +:10CDD0002134BB055F6F8D26EFCB473FA4AC9F622C +:10CDE000B9E8770CE6D84FED12EF35A3DFD1DD9E21 +:10CDF000A2F2BB284B181710F7EEC1AF7918F1005B +:10CE0000F3A5512EF12C13F5EA871F5FA7BC033B56 +:10CE10001FE5E650EA6F71DC80C1CF9F02653C6E72 +:10CE2000EC137994B6FD6B8FF35C3EB717EDD28EA1 +:10CE30002FABA52BF6ED8CE13B0D718E1796247F61 +:10CE4000ED87A29FFD4EDE368959646F491AA78788 +:10CE5000C90CBD98C7BB713D3ECDA424793FE6897E +:10CE6000D3BB53169541E42FBA379421BB6E30BF24 +:10CE700092C6B5EFE3615E12F27534C124DC5FB691 +:10CE8000461216D17D09D3F7D466DBBBCF13EF6210 +:10CE900055F37A3CA933ECFF5A7EA1B0674DCA1F07 +:10CEA0009E98D275ECF7765EF215A4A3ED67D7B124 +:10CEB00014F147B116A63C1ED6EABEE732CC970560 +:10CEC0006EBCFD93E0C741C11F78D65E5AE8BA2F09 +:10CED000C89CF705EDF84297781FA560B2BE04EF35 +:10CEE000CF8E1A5FA86C3B3B41FCCBE30A767E40B9 +:10CEF00041333F473E5EC4E90BF2F441BE33AE50CE +:10CF0000DCEA892BD8EFAC586FA0FCE967B3F729AE +:10CF10007ECCD67DE6C538F9DB8F63BDA3B3FD3388 +:10CF2000140F98CDE5E4DFF33B3E83716BFD1CE10C +:10CF3000AFD7BBFD752DCAFD24BC38496503F78307 +:10CF40000BA3DC2F56F436F27F99A80319C83F1EB5 +:10CF5000AE370BBFD9AED7F0F68FE1E71646E7E460 +:10CF6000F4732744C7F073F5884CEF908FD4E37DBA +:10CF70003CAF4EFCFB611D61B9045392F43DC5B555 +:10CF8000FCBD92FA43460CDF2D8F09F9E0FB89C204 +:10CF9000845F2FE28DF63CA1F316BD8AF06F07ABDC +:10CFA00015E300DBA4D4DD58B7A420DD2FBF531256 +:10CFB0007AED8BD3855EB382D3D15F8B54529EF9C9 +:10CFC00076F46EB03DC9DFD7DF5CBD9AF4EF766BC7 +:10CFD0002BE105F42FE95B6B5D40EF80726B6A1506 +:10CFE000B55B8AA6E33DE991F7D2D33F990A655F25 +:10CFF0007432C1D7D970C7862698767382E72385A5 +:10D0000066366BCE3C8E5551CEEF763BD3CCE017D7 +:10D010001D7AF7E26884BFBB322F373EEDEFEDF6A5 +:10D02000CD0D0774CC8FE98ABDD080E408CD7CB3E8 +:10D0300007F3913A755EDF20C6338D9DA4D780BE7D +:10D040009F73D23780798A95A8A7CD20F24B71348F +:10D05000B508DBB7B3845601F8B9EB8B73AB299FE6 +:10D060004CAC8B61DCDBA167B749269B4EFA24AC44 +:10D07000633E0EAC87F40BD0B210F5C7303D660EA0 +:10D08000BFEF477A24BF9AB7DF2525D834E7F7A644 +:10D0900069E873B37A0F2F409A73919FC59F3352FB +:10D0A000C4D759FD3740F5303B4CE537A25CFF450E +:10D0B00059BA653A0C72CF8A03A42FF22F633B9DB5 +:10D0C000F95645B69E5AECD653A3E99DAD9AB58163 +:10D0D000E28AD1E4D7113F1DFAAC77BE02F05D2A97 +:10D0E000E4CEC68F867C0BF3152540BE0A701D5713 +:10D0F000AEC57BF6313B3EEB990FD787EB9D24966F +:10D10000679F87237EF17CA364053FE72A638749F5 +:10D11000FF4C6643541A681121BDB4A4A410DC4727 +:10D12000492E654B964E7D2A0BF7D7A2067F9FA00E +:10D13000BA3948F77D358BFEDD18D48D4E3900C0E5 +:10D14000892E5B53EB48AF5E8ADF1551BF167EDE3A +:10D150006E055BCFCC8E6BFB3186A053804932E6E7 +:10D16000F71C1371AD0B30C105FDD5D5FCDFAD9AB1 +:10D1700052A534E17D0F603A13EF076A6CA811E302 +:10D18000D1E58DDA90C55FB4A1EF4BF07BA84FB12C +:10D19000DC71FB50C25DCF9EC3B9E3F9D97338C7C8 +:10D1A000B980B057918FED7B17A7B3579F887EB496 +:10D1B000F3CEC341F369E48FF1DEDB186F5CC91B6A +:10D1C0004FEA68AC3D12033C159DFB6BDA6F7CCADD +:10D1D00000A64DB3FD9775BF8A78BF87C9097A3716 +:10D1E000D563479CB8A690E1BF3F797F5B7E82EE16 +:10D1F000160BF9B2EF4B33DD5C8B74B5E59BCD4A72 +:10D20000925CA9EC4692370DED0D87BCE583DB837C +:10D2100065F05A303040680EAC692AC0B8441EEB45 +:10D22000CB2947365F7C20F842619F8AD27B48AB8E +:10D23000158A3B96A492D10CCE6B992FC5E7526A02 +:10D240003BFD29303167314B9F092D60B739ECE840 +:10D2500022B057DC795E3A9DFFC5053F4E6C8DBB11 +:10D26000BE679DDC9F31E03F9443EF79AE9F5974D8 +:10D270009E37A93EA06774CC1BB0E87CAE0CFC7056 +:10D28000DC4727B5B9E31F71CFF75E7E3A69F31328 +:10D29000883BF213E021817AE183977DF49EB832D6 +:10D2A0001820BC94025E100FFF092B49167C0080E9 +:10D2B000000000001F8B080000000000000BE57C50 +:10D2C0007B7C54D5B5FF3AE7CC2BC92439794D2660 +:10D2D000218493844790A04302C8CB72088829A276 +:10D2E0000E0F2B5AAB038244C8CBF8A2D6CF8F13B4 +:10D2F000022902B7C496B6D4621DB880A8E0674080 +:10D30000C0D41BF80D8F22586C835A2CFE6C8DB53F +:10D310002A2A90318A60EBBDFED65AFB1CE691A406 +:10D32000D0DBDFFDEB17F473B267EFB31F6B7DD774 +:10D3300073AF4937E0CF4880FE73216814E1EF8670 +:10D34000FEBA773400FD4A3F17969ECE3A6C07C06E +:10D35000FF7CE16C80C237155F183F777A016CA5BE +:10D3600062CC37F87F92E6029B2BDA4E2955E3DA3E +:10D37000A93E6FDCF8A2CEA6034FE1BA47C63855E6 +:10D380001803903E468B1B0FCB6D7FE9C4F1A5F8C7 +:10D39000EF9B62DC1F8836F7E3E60AAA434D4EFC9A +:10D3A000BD5F037E1EF39E17D67CA65C4DCFF8F1C1 +:10D3B0004BDEF938EB70ECFA6A6AF68729F88B0ACB +:10D3C000EA370A80E20EDE0E78BE7E20FB14DC9780 +:10D3D00062F3A787353CA3DA798A3E2FA0CFB3F951 +:10D3E00075BFCB039047BF613FE8A0A9D896CCF6A4 +:10D3F000257A65B736DD8BE3FB37A4F9141F0E2BB6 +:10D40000EB6F2CC4B617DBAB541C5B1E0028413AF3 +:10D4100082818B21FD20C8CF1408F3E7A9D0C9ED84 +:10D4200074F081846D1B049BC4227EF00FA771EF02 +:10D43000A81F0E0390E17DF866187D8EF3E470BF9F +:10D44000D1994DE3A1E1495CD7EE9A1E0ED0BA0AFC +:10D450003410CFAA9202956A0EED0F0EE7E3E7496A +:10D46000A51054903E4ED50F501C3B8F784A36DCA9 +:10D470000F8E53368871B6CA86658403DC4A039FD3 +:10D480006383EDCC25FAD3FBC53AEF1FE1F2477A6F +:10D49000CF8E745BC57453C301A4ABC33CFF959E90 +:10D4A000DB091B54E2934CF36745F755B226DCD4F5 +:10D4B00089F30DC17D64F9E873FD24E176B0C98775 +:10D4C000822501B990CEDD4F0127E2AB784DA7440C +:10D4D0007881F5022F2EFC47FB2D59129268F2E25B +:10D4E00035F1382A32E2DBA0B4335ECF235E15DC9F +:10D4F0007F7F7B48223A3C1D7037183EC24D3CDE90 +:10D5000034ADE3C010ECD7745784FA8B0CF0CD8F98 +:10D51000C15FFF409A6F7E05C020E2E9D89EF87C8B +:10D5200088F0497CBD16AE257C3E306336E3F1E9D8 +:10D53000C7366504DC38867E26469FCF2FF5FAE68F +:10D540000F02786AA9CB371FF197BABD414EC1F5DA +:10D550008B43821EC5735A9F74521BDC0D922F8A17 +:10D56000D3E052E0F1BF5CAAF2D3068115848F2D7F +:10D57000DF7F79990BDFF38C0CF2332CEB2DEA284B +:10D580009C6B5D3683BF6C49816F3EF263D89242DB +:10D590007E5AFBB0F8D3FF3FDF9A71030E1DD02AED +:10D5A000FB96E1A7032E3AF55019C09320CE5B827B +:10D5B000FC9887ED5FA848009CF736D5FF135AB753 +:10D5C00078A54F0EE0E7509DC9EBF445B7C4F57E52 +:10D5D00025C19C10D2E5A9075FE77597ABD9231445 +:10D5E000E2A34D4F9E910AB05D95791DC71245FB90 +:10D5F0006BCC7E5B5A67A603BEE770E9B28ACF8127 +:10D60000AD93E4A491AC487C5B78D500CC4E25FC6E +:10D61000C910C67D7C179FC4DF296AE079DA2FA87C +:10D62000C9108EC1BF638983E7EFFFD094643AC706 +:10D630006657A74472D05F82066304E2B226FE3CBE +:10D640005A8D2A132EADFD58E72B74B9F9799B1A20 +:10D650007849CD11F422BE5BF451C2E92C9703D670 +:10D6600043701592B0DF63A89F71DF03DF54581A2F +:10D6700006B486A424E4DB54657A726719CBC7CD5F +:10D6800073479BA2899F6F0EF8583E06E72960906A +:10D690001C9BF8477528E4187499F44CC16331B8A1 +:10D6A000C6FF079AFA7530C4C807D263E03B1FBFB4 +:10D6B0000369D41F2F0789FC2BA8419CC5C855E2DC +:10D6C0007913E5E0A42507B990F70D6EFE3C4CC830 +:10D6D000BD5E8BE2A31015DD98CC28FD2C5C47F1D4 +:10D6E0001164BE5BF38F08C7AF6FCD93284F89F8E5 +:10D6F000926C86CEFACC0BAA4232EB336E9748AFCF +:10D70000C9A8DF082FBAAEA9A3A376400A1CF94A1C +:10D71000423A39AA0C4943FA7BA7070C09C779ABEF +:10D72000C0A761BF3E1F2983EDE4811DD7ADC2B6FE +:10D7300037E03B60C3F99CD91DD729D83E4F60CC58 +:10D74000217DAD9F27B9CB227DA8907CFA99890EC7 +:10D7500068E0A70B5AF9990C2130B0DF0D1DDC5E93 +:10D76000AD06FE8B709306116E978435D921517FDB +:10D7700003F37588CB6D101F13F5774AA2BE75674A +:10D78000B2BC5E8E3E4E5B203C4FEB4907DCB6E6FA +:10D790004F8D8EFF617F6893AEC1FE02A44F1AC900 +:10D7A0002B32701C0DFEB72A1D7F5D7DEB4E6F8EF8 +:10D7B000CADB09ABA8B7577F5BE2FEB1195B561A0B +:10D7C00048C7D53344FB5B4F3C2DDAB7633B1F6042 +:10D7D0001AF5BBC96FB9CA203EADD0C04774BD9021 +:10D7E000D3E8021CF7C38299E9BDE94DEBD9BC141B +:10D7F000171C121DA7D8D44AB67B0572D0907A8E1A +:10D80000B7B9853EB070B47AF8549DF43DB2204269 +:10D810001268E919DB83B6F79C78CE169C97F6E17F +:10D820007035808A4F67EBFD61C64F829E71997A91 +:10D83000E60ED23312EB993119C87F2556CF4054EA +:10D84000CF646600E3BB6CA4CA7E9CD38714473DBB +:10D85000333143137CD1C2B2E68EEAEB89E6789786 +:10D86000CD0F3EFCDC5ED500D4EF9CEED7693F4E79 +:10D87000C2270EC99AAE311DED0381F1A8CFDF0892 +:10D88000DF43DC5465B8F97DC4655506CE7F6386F9 +:10D890006AFA0B3E89F88CE618E8B95AF5DF44FDC0 +:10D8A000255EED206101DF02C2FF10B7D057386E50 +:10D8B00019E92B5B5F7E04FD8C66BF939DD1DEF082 +:10D8C0004E4F0BEF16CE7BE057CDBE22F9FE9143B3 +:10D8D000CFB81E87B6FCCEEEDB84E7352A1B9E262A +:10D8E000FFC2586683667CFE3CE57F3D437ED512D1 +:10D8F000C3A9921DBD905418247D67D94FCBEE5A11 +:10D9000076D4B2C74F641499F469B896E40EA0E3D4 +:10D91000DB649F2E7C4BCE5C05D17DAC9D0F5564A6 +:10D920001F8B20BF92F8B8AA6CDED655F8EA85A105 +:10D93000F3921DF8796B86C274DFBAFECA706C8DE3 +:10D94000536C3E507B199F885FDB83B2E1BCBA17F2 +:10D95000DC96CD631C9CDF20F830A4F5FE83BDD996 +:10D96000476B5EB9277E5B33FE819DFC40D59F20CF +:10D970007CFFA83C50EDEF659FDB3285DD7EEAC180 +:10D980007549A4477F41747247E9B43A60D2697817 +:10D9900023D3690FD109D77B66C395D1C91AF72F55 +:10D9A000D329308FF5F9F909824EE9AD9F85957F2E +:10D9B0008E4E7B880E7DD169957FD3CA62E4831138 +:10D9C000907D83109FEBFC727822B67F512D6F27DC +:10D9D000BF7C95BF326910B6B74E38D82E61FF1B99 +:10D9E00099A9022F6AE4288D3306CADA16923BB54C +:10D9F000B58AF6B9B5B41C886ED67EB696CA5541BE +:10DA0000A4DFAAD279C9F7C4D061EBFA6E6F2C1DDE +:10DA1000B7929F55D6934E8F660A3FEEC9F932FBF7 +:10DA200025490108CA74AE81C0EDBC02083AB19D17 +:10DA3000A78B36EACAA086EDC3D7B54C22BBB76A1E +:10DA40003E9978F2578E1B74CEF5A8479DC2AF67FA +:10DA5000BF25CDB427EB0361EE774E42BF1AF546E2 +:10DA60005AE78CF053D9D138D23D26D16FBF13C8B5 +:10DA70004F3F8F7E3AF9ED791BE2FB9D097E8CAA20 +:10DA8000FBC3E4E7DBC8CFA7F8E9327164C6141F13 +:10DA9000107D3ECDB8E4A70C203F65C5D236787F17 +:10DAA00010AFCFF84295A0877AC1D7257F85708EB9 +:10DAB000B87DD2BF4CD271DCDAB9AD12D98BBCAF14 +:10DAC00015F69B510378EF181E7D2F293399E9BD78 +:10DAD000D62EF8E10BAB93DD14F7B9D511A4AFAD99 +:10DAE000714E932F6B93C4B8911DFEC9A9FF685C5A +:10DAF000AAF0A3C774B64E4EEB65DC27A63CE2BA8B +:10DB0000EC0FAD1DE40836215DD64A427F1AAFD92D +:10DB10004DBC0B3E6F5DA06E247DBFEB68F1EA3219 +:10DB2000C241402BA7F9766901B9D8DDB7FE8CD088 +:10DB30007E901E83AB023A1B8F4BF385B70BFB1114 +:10DB4000F1DE89F4F87BA6F0937625A3FE603A0512 +:10DB5000F267C4D0E94193AE169DF6FE715E8A4C21 +:10DB60007161A99649FBC82C0D825C165D6F57291F +:10DB7000AE47F3D8B4D5C3E97C0BC2A9AB62CE6F74 +:10DB8000ADB737B9777DF5B0451F93DE2F9FDE1413 +:10DB9000B75E7255FC7AC9F3CDF3B95A9BAE1ED964 +:10DBA000F77A2FF7B1DE12EB7C26DFF65FFC4B8AAB +:10DBB0004C7E6619AE87D3A6D07AEE9EEBE55DFC6F +:10DBC000B1941A23C77FCB14767DBF45475B207F76 +:10DBD000668CBE9A6AE2E319FFAEA3F760F7E383AF +:10DBE0005A92280ED92A855C8389EFD7C9B005F7E8 +:10DBF000BD764325901FF18C0E2CBD196E63121952 +:10DC0000E3E73233C5FB1B2AF93DC9D6DA64A33CEE +:10DC10000B0A3AD10591C0F982422B5F90E047E6AA +:10DC20004D578D79383EAB210D15359E6F7DC3ABB9 +:10DC300043B19DB444F6B19F1996C0363A9A977194 +:10DC400081C1F99C21E67C798187396FB1418106D8 +:10DC500005F5442FFE868FFC8D7EF41BB5CB75CE6B +:10DC60003FD8516F935367E52B7AE629C293E83981 +:10DC70008054BA425DBA4CFD83CC7C4D91AE55DAEE +:10DC8000703F83D707D89FCC7C105F2B227F2EC894 +:10DC9000F348B086FDA69492A732443E07F7331EA0 +:10DCA000D725DF85E2E84CD3BF427E90FF302CA120 +:10DCB0003D36A1ADDF3909881FA81D22E45755253F +:10DCC000058C4CEC975DBA3E98E8A5BB2242AF3577 +:10DCD000805444FA4666BFF1FF377DBD31D3CCFF97 +:10DCE00099FADAD2D396DEEE4B4FB33F3A8EF4F583 +:10DCF0005755147F2465E8CF127D7F6AFAD51877CF +:10DD0000BD90398AF00ABA9DF0BD06035089F28BA6 +:10DD10009A4CF327E2DEBB1E714FF4479C422F71F1 +:10DD2000A40B10F7447F2B6F9880F3F576918F4307 +:10DD30007436281C47B54AF7E23C85D6F8CBE01C80 +:10DD400061A629145752FE4F89F5B343DC4EF4AF58 +:10DD50000B6C11899E185E31DE07829FF19EEF5297 +:10DD600065C279F114AD89F20E836DC2DFEF8FFECB +:10DD7000BEC1875181FCFDE480F0FFD7F9FFC27A74 +:10DD8000A02FDC235E193749663C85387E3B93FD26 +:10DD9000681DC8CFB1238EE97C7A6012EB9BE40248 +:10DDA0008CF720D60F92439246FE4F7065F148E102 +:10DDB00037915D5AFBB5C2E31F5F2FFFFB32DCC713 +:10DDC000E3369DC7AF9A2FFB9086E4078527D2F8EC +:10DDD0006A3938A8E88AFC218E3F1FCDFC80E3D148 +:10DDE000B519C22E1A6817B714919DD6F83C1322A4 +:10DDF0001D93D363ECE95A7BC4EBE3F19139A4D7CB +:10DE00008CA784FE7CC69FA83F43AC6FAB28D04351 +:10DE10005CAD1F38F5D850D2773683F586B5FE2D28 +:10DE200099B73E4EEB833BE2253DB076466332E93F +:10DE3000794BDF268E7B3649872C9CEF781FFE9C22 +:10DE400023ABD29685FBEECE80DEF3C153AC7CB023 +:10DE5000DA14970F9E9280370D38FF059956DCF73C +:10DE6000AFE785853EEE3D2FDCB5EFADFE069EFFAC +:10DE70004F0B3E4FC597E05D5B2495E87CFAB137C8 +:10DE800052C9AFFAD3630AFBB9779979D7BB97FE2A +:10DE9000E768CA430ECB12F6ED87597A09D1059689 +:10DEA000E4B090DD1754E812E292FE58BC2D858450 +:10DEB000E352BB369415D7B6F651EB8406B2C78B46 +:10DEC000B71F70F4C373DEB72D83F391A7512E48AB +:10DED000CE4FEFEEBF91EE5BEEC992CD75FD15B45E +:10DEE0002EED87F0F56EBB13C26C873BECC2FFD101 +:10DEF0006F96465314217E12F775647F3F07D9FD54 +:10DF00000512EAE10CFEB8652FAEFB81578155BEC4 +:10DF10009EFB5EF027D5417EC9824910A1BCE4E298 +:10DF2000ED52CB23F8FE3CD2BBBE9EE79A6BD8E302 +:10DF3000F4F03DA1FB1D4C7CA56C6A2EE9EB95121B +:10DF4000EBB37B56C68F43581CF90F9C773ECE4BE4 +:10DF5000FC5DD01ADFDF7DF48196BDD8BFABCDC1AB +:10DF600079F58509FA3D517FCFC932FDECD170AD0D +:10DF7000C80796AD2DD3FA8EF32CBD7D1AE33D0470 +:10DF80000D7CB2D4C5CF334B196C509225E473711C +:10DF9000DB8123AC136D1DA3497E761D7D3FE50E0D +:10DFA000EC6AF48A38EF5B1B3F6FDE8BDD15E04FC8 +:10DFB0000F13EE216C27F99B082ECD8DFB5B61E6DC +:10DFC000852B2E623BF67CAD077EF31F1CB7B91B79 +:10DFD000B6205D1B11F04BCAA3FB6BF48AF8EE4E22 +:10DFE000B07DF18FCEFD489669AFCCFB807FF5DC2C +:10DFF0007DBD578BFE516FFAC0928F922CE16F3628 +:10E00000EFFBF954BA3F3AF784E473E23E166D7BB6 +:10E01000EF2E92EB056D6887C5E5E149F044F18A82 +:10E02000C766BC2D24BF04F119A8FE01E3E208D2A3 +:10E0300085FC80407B7FEEF74E46FCA25C2EACFE5A +:10E04000F46DE144185ED94BCFB0571ED30B0E13BD +:10E05000F09688AF73F6CE4292FF445C9DEB43EF9F +:10E06000ADCE2AE6F3CDD7F4A994A75B00FE1655F2 +:10E07000C8DF5BFF13E739B8FB015009FF476DECC0 +:10E080006F951F13F173F96B8E20E5115EB4779CC9 +:10E09000637B724CC4EFD44F715EF96FDCEC57C0F8 +:10E0A000D706EB93117F578314CF9FCD346EA6F61E +:10E0B0002ED40F9B58DF2A9C9718F1FB52D1BFA496 +:10E0C000A2845262C645B78FECD3C4297FFDEE719E +:10E0D0009EF7C101646F277E952C517EFB7274D62A +:10E0E0008315CA389C579521928EE7290FBE3F7938 +:10E0F0003CFBEDAE466A27F2A122A8D862C793DBAB +:10E1000041ED0ABD3442FA29913F3A3C71E407746B +:10E11000CECD45A4EEE15B5FC7FB81E5C713FC46AE +:10E120004BEFBEB4632FE9FF45FFE7C76980CF8F90 +:10E130006DAD1EE2FF8ECD2BD274B20336238DF867 +:10E14000F97150D88144FE67674BA6BDD3D324E450 +:10E15000771D6F15FF5F19697914F7F325EA57DA10 +:10E160006FDDE1BF71FB08FA21E0A5793BA7FE0056 +:10E17000CF73DF5C774313F6D7B7C59F7FD1333FAB +:10E18000F5689C1F35FA99FCEF47EFD56DB6F3BDE6 +:10E190007ADD9B0AE75DEB21C2784B7CBF3EF4BE83 +:10E1A000837040F42B18DFB31F61E820BD556FDE8C +:10E1B000CFD41FFE84F1569FE00F57F771DFA8649C +:10E1C000C7DF37227DF83EC9C07D511A0382C21EC7 +:10E1D000363FEB345CB88F8FDFCEDDE8C4F9CE6C10 +:10E1E000FE6D9A5416D53700CB584F9C0995A4075D +:10E1F0007AA1AFF53C67EA25AB6DDDD3686D920877 +:10E200002CDAC57307DA4B17EEA3E69493FDC89A90 +:10E2100013DD2C5788FDC8A00C8AE70F7A8663FFB0 +:10E22000E29DF6ECE9E2386964272DBE2D7AF18390 +:10E23000A9DBE97DB48349C4B7DD17D84E5A72B95A +:10E2400078A7944279899AA0DD47F79C89749D1C30 +:10E250003AE0E874F7C2B7D07B53294FD0FCEC0505 +:10E26000E6CBC7FB25C82DEAF97EF5964F1D247F26 +:10E270006790416A06F15199EB48EF8D7FE19B5F12 +:10E280001EC9FD2AC5FF97E3E3FBE4F38C62BCBF24 +:10E29000F032AE5FFDB6D347E7AF7EE101C6FD4782 +:10E2A000B606C67DCD532B3CE4F754DB0D8FCA4F29 +:10E2B000F179F5AF1E623C2E3CF19007C4FD601E63 +:10E2C000E9233C671E9D6FC1865BF97CF74280F1B4 +:10E2D00058FD94E20FE2F3BC0DAA76F6C2D795A6DC +:10E2E000DC38E1FEAB492ECEE34C742FF691035897 +:10E2F0009F19AF2B41D25F4ED8F4678A0BCE77E4DB +:10E3000048A48F94137617D1E7C17D198CA7EF65C8 +:10E310000B7F68F289F3531FA5CF8B6C0D1829D2A0 +:10E32000F90D935ED237ACD740A338A89E7E2BA6BA +:10E3300079BB1DDFC3F15FE0E754F710339EE9F5C9 +:10E34000D1266732DD3B7DE4816A914F83D7290E68 +:10E35000AA1373212EBE6AA1F58E80D64DE77FC920 +:10E360003C4FFDB68FA63E497237CFDD908EF4F953 +:10E37000E2CDF71DF92417B8CF41B4AF8E0FB80D19 +:10E38000BE1C8DF49A458FFA3667DC7D4DFDE60F95 +:10E3900012E437BE1FFD24A65B3DA46BE4177FE4A7 +:10E3A000884C257B62E0BA5B709D7BD739E3F2D065 +:10E3B000F5BB3F7E1B081F18B185637061C99F15AF +:10E3C000CF2E34E5BD47DE2841FE9BB3E3FD0BD8DD +:10E3D000907345F72635F6E056A20FCAA7CF40DC6A +:10E3E000D6EC381F279F9F6E3F74F20E3CC7A721C3 +:10E3F0004B3EE3F56AF5AE0FA6FE92E2893EE4F3EA +:10E4000053377E38BC17B9C4CF7B954BB7B807FFDD +:10E410007FA64F77AFFE4C498BA577BC1C2EEC43F3 +:10E420009FEEC8EEE1AFA5E332F0C9738B07707DB4 +:10E4300043027D2DFD99A817A7656BBDEA4530FD08 +:10E44000AB4B7AEEF9B3537F89E7FE324F01F2A36B +:10E45000EB367FC5F609C91AA1FA97BAE067DC5E08 +:10E4600041F68ADB0766D3FD74CF73C7D333B1FFA0 +:10E470007EE2ED28A6CF5D4467454E13F7DF18DF37 +:10E48000535EA899ECE308DA930AC447A88410F90C +:10E490004752FB2B7C1F9E18B7199550DA80FC69F8 +:10E4A0007644EFDBB664F3FD1BDFB719CB9C6A73D0 +:10E4B00036DFBF71FF129B4BA53C53698E75AFE6EB +:10E4C0000B131F1F3904E5AB04BE387EBE7004DB9E +:10E4D0001AD539694AAC1DF24D961B7ACBC37F68B9 +:10E4E000EA9DB939E27CE93982EECB159117010832 +:10E4F000F1BD6633F19BF69591C6F1BDDDBC87C4D5 +:10E500009939EEF6A5C89FE3D1E1EFD9DF9F6643C5 +:10E510005CF82AE4074AB09DFCD3E5A23D5E7EB1DB +:10E5200018DBEE9FAE986643FEFBAE912BEC789E17 +:10E53000678C966953B0DF26EFAC267D6893416DFA +:10E5400046BA2D4F0B35509BEA0E96E545F705DA96 +:10E550008B01DA474B1EA8AB38DED335CA2B3567A3 +:10E56000B87C1467DBE4497362E759EDD04F737EE2 +:10E57000291BB4269C27C5190A50DB81F3521BB412 +:10E5800092C9D46EE90F7C2F546ED326F33D0E1E34 +:10E590008FE2D44BEB26ACB33C43F712FFD2896E2B +:10E5A0003957FE6C36F3F14A8AE087922E37ECC475 +:10E5B000A72747C417B95404304AE08EEC45D7BEAC +:10E5C000DC4D66DEBF90E8AC289B76101E224D36EF +:10E5D000D8944DFDCFEC20BCBCE570711EF0B6F4B4 +:10E5E00035F6AB70CBE5AEC207086C6F4BDB1FA2F4 +:10E5F000E7C59C40710EE306C234EF1D7729625EC9 +:10E6000077432AD509818E38A6F3997E3D0410C739 +:10E6100084F98388E311247A1BD44BF9AAAC9EFBBE +:10E6200050D2B7F33E6E738A7DCC09163777E23E3F +:10E63000463883FD296EC4F5CB73F05C773883834D +:10E64000085746011C25BABF75F7351BC5F90A588E +:10E650003E58DEB0FF7AE5CC0B345F3DCE4FF7CEAF +:10E66000E7927FA5D07809F5969427F4E95C0F87A7 +:10E6700000C24F05BD99E2CDF166DC0F1DC24FD639 +:10E68000F01FE76394AF3D7C4F795C06F2F3CB0F4C +:10E69000C7D7F78C870D87CA386E71B1DE189BA07B +:10E6A000EFC6B77DCA7A70FC65E2F49B724CFD97A9 +:10E6B0000FF9748E50C27D98CFBC0F4336D862EFED +:10E6C0006B2C3DF86C52E56CA2D3749B18A781AEFD +:10E6D000D3BEBB7D9A4C7CE93E3E0FCAA90D5A239E +:10E6E00060FB956C119F26CAF5EE047D6AE178F80F +:10E6F0009BEA3DE4570D7F13EEA6F35CAFB8998813 +:10E70000DDA721487EC8884E97CC79AAA3F6605031 +:10E7100022FD73F5CF2760FFF26376A078B79BB632 +:10E720004EE3DF34EB66959A66EA3F6FE6D729BE83 +:10E73000A1FEBD618027C9EFF1CAA0C5E8D1242D93 +:10E7400019B4187AA59466C6B5AD3ADC0AF111A4DD +:10E75000FAF2E3DEAF5047070917470CF48E0AA818 +:10E760007EB638FEFDE3F1F5B3A3DF8CE7B33D3BA6 +:10E77000A850DC71AD99EFF18583870CDCEF18337D +:10E780008F3EE69DF8F1E32E93575F9DC06FA4275F +:10E79000DBE16EB4C354DF3602D264D66397A3E7DD +:10E7A0006941CF683C1160BA8E32F3BD197A3C1DC5 +:10E7B000B3AAE2E998E38FA763EE9C78BAE505E295 +:10E7C000E9D4AFFAAAB8FEFE0DE571ED014BC6C55E +:10E7D0008D2F428315DB2E59392D6EFCA0D69971F1 +:10E7E000ED21EBEF881B3F34382FAE7FD8B645F1D3 +:10E7F0007C4BC04D220E86871AE3C72B1394B98435 +:10E800003B9477E2DB356D8FC6CD6FE1C0C07FBD35 +:10E81000E140497E41213E7562DC2A8D433C641B08 +:10E8200024093DF9EF3ECDF57D97C3C1F1041C5895 +:10E83000F27EB93CD5FBA46373B8AE4622FDABA112 +:10E840001F4197145DF60289F4AF3119420A3A501C +:10E850008F24171EA038BBF3FE349F941F53A78349 +:10E860007ABFD947B84A631C2D792795F3291764D5 +:10E870008DEFE1D6297E89F42D4E5924A3BD5E2E5D +:10E880008B38E047B27C77ECBDEA8739C2EFFFD026 +:10E89000B443BF748476921EB0B9849D5C2EF3D9C4 +:10E8A000E847A7FC681AC5617CEFF2E5AA29056470 +:10E8B0000F3B4BB50C4A9D621B6DE9B29417D81EF5 +:10E8C000941B36E07A1008727B04DA07C233DA83CD +:10E8D000CFC91EDD21A37D90A8DED3B85ED2709F84 +:10E8E0002E30D2CAD94EDE4DF7B119902D35965142 +:10E8F000FEFB92FDD1BEA9E849CF438BC6CBE4779E +:10E9000075CF57F8FCDDD5BF387B3E3B46BEF0AC3B +:10E910001DC4609BC675AFA71CDA2DA3897EAF2AE4 +:10E920007CFFF03B1AD78BDF7FB93C62F5C69FA412 +:10E93000521DD9A952519F637DEEF508BDECF588B3 +:10E94000BA9CFAF99F3AEE603A587EE9E71C1FAB91 +:10E95000C5D0908EFE0FA8DDEC97AFD2851F59452C +:10E960009749746F6D6F35DCA447DB6684394F6B54 +:10E97000C61FB7BD25F295B7FD1DE2FCBAA11E3B2F +:10E98000AF3BD423EAA6CA8F0646D1BCB79080B16C +:10E99000BF141845F6DFAF8246EBCC09CC7DE838D2 +:10E9A000B667AC91D87FA67E1A3F13794AFD6F8077 +:10E9B000EF0F7B70FDD11E8DE79B0D7E3BF97D2710 +:10E9C000EFAA4DA5F8F3AD0C313E2281B62966BE03 +:10E9D0005BCCF9DEBA6BF11EF24B693D5A9FF643F0 +:10E9E000EBCF50A198DA272170F60F453DD79D0552 +:10E9F000BA5DF8977E3BF93DF86B380BFB1B4F393E +:10EA0000F93EA5F1BE14A07C4CE33E27E703BB16FC +:10EA10005DD8F133DCE2DDFD3AFB3B4AA2F4B87D80 +:10EA2000BD021AE2253F4B9FE821BF6A4CD615D59F +:10EA3000754E7E6E2CE3A9718BC053E3B34EC65165 +:10EA4000E3B3C0F9C9C6D44B78CA253C356E29C991 +:10EA5000E57A4B9AA297F957208E3427D55F21216A +:10EA60008670BDF96C0FAEB3225BD4B52F5767E645 +:10EA7000139D9E955C7CFF0B0557569F4BB268A07B +:10EA80009EBC8D5528C06B268EE7B46755987E5F77 +:10EA900080D6797BFF8EFEA85AE1D5A1CF0CE23853 +:10EAA0006CE495D101F5D2F3A46734F4C3A090EDE2 +:10EAB0001BFB075D6199E9827AE97992EB4EBB4BCA +:10EAC000253D7A79BDA43333ADF841917D5E1BF9C4 +:10EAD00049ED4A0AD12F8D020D4BCFA09CA429B23B +:10EAE000A9674077615C36CCD443DFF77CFBC6E591 +:10EAF000227F93E8074EDEDE8B1FE8C77FC20FDC64 +:10EB0000A094097F254CDF6B19B23E3E9F3A9EF2DE +:10EB10004F69BDF87F948FBA02FFEFDF3CFF3D3BAA +:10EB2000B08BFC447C864A85BE0A8593D91F283762 +:10EB3000F51784DD1C7725FA8DE82F3E49FCB5FCDE +:10EB4000C5C4F983A61EDAEA1176E67E8AA1B19DD4 +:10EB5000E2D2F9BED683346E1ACB6D5E479D6DC688 +:10EB600049A887D371717BBE78CF219D2B75A1BC3D +:10EB70003EF7B35B56AF4419750D34ED8171CBEAA6 +:10EB800043F87B89F6F9A16F48DF76D838DFDE7D60 +:10EB9000F82AAEFBEDEBDC23512EC9B8878F8C63CE +:10EBA000FFA8EBA890B31D99DAEFC7535C714C0135 +:10EBB000AA474DB2753A327A39D75ED2CB28475F31 +:10EBC0007884BD72B5493AE5B55D9A8883935475EA +:10EBD00004D7AB0780F39C677796705CFCB4498FD1 +:10EBE000B7B3FC07491FD42A1B0BD59228FDADF9FA +:10EBF000CBC94F2FEB95DE473D31FE7928FC3AD744 +:10EC000063765769B232A227DDAD76FDFA0A2E3A55 +:10EC1000A85B9FC5CFA194D7C08FEAC3820EE7DA65 +:10EC20009A337BCB1BD7E7761C247AC0EF9380EE18 +:10EC3000D1EAFFF79F58FE9E9F81D0227E5C1CC6C2 +:10EC4000F3BDE7C930F3021DBC9FABFC9A44F1420F +:10EC5000BD53D8897317151E67CD3BBC6D92A22298 +:10EC6000CECBC2AD0739DE6D776A84B7A4CD20E87C +:10EC7000D79EC47AB57EFF0D220ECD001FD5CDECF8 +:10EC8000488EFC99E68FEC736A74CF92A4B6422644 +:10EC9000DD333884BD1E8A74DBE58E7E6EAD97D47D +:10ECA000FE732E8646DCE8944F4DB2B5C275317CBA +:10ECB0007DDA23EA36E55C81B71DC96199EE7B22D6 +:10ECC000183B6DE27D45F709BCAEB5CFA19C1FDFB7 +:10ECD000E1887C48F726B82F95703314C43EA17D97 +:10ECE00088C6F508AACEE74852355F6C5DBBB5AF64 +:10ECF000FAAB51AFA7A35FB40C2EE91BD23FF5C905 +:10ED0000D1B60B657347B185FB96D55326C4B4497C +:10ED1000618E89BEEFCD7D7CF5F2023A97B09B36CD +:10ED20005B88E52D6D0EA8C6583ABF2EEA4549DE30 +:10ED3000327A95C770AC3CFAD28DCC69D8EF7B455E +:10ED4000F635E394E95F8BEFC1D475D8D91ED6FCB4 +:10ED5000D7ACF432BA97900F3EBC1D9F9FCE0D0DDD +:10ED600026BFEAA3D440712ED2F3A577E6715DDF0A +:10ED7000273BECBEE9A4273B8D1FF7C3F9173D677E +:10ED8000D7287FF4C33F7687BF213EFF5AE238B0D1 +:10ED9000CB2EFAB18D8E24AED3FE9183EE916E68A8 +:10EDA0007BCF41DFABD9971B18968BE71AD3D634AC +:10EDB00099E837165A9B29DF88FA39C072E1053382 +:10EDC0004E1CBCA989E43012183013E5E8F65CE16A +:10EDD000675AF46F37E5783FF95743FAD617061CA0 +:10EDE000E4BCDC1ED32F5C0687FB11BDF71CB8BD4D +:10EDF00044C379BB82B62AC2D5B093AEBBF518DC4A +:10EE0000CDCA15FA6196B9EEBBB9814AA2C7E20331 +:10EE10007F71A4211DEAFF1A2A243BF94FC87F55B0 +:10EE20006EACFCA33F198BF31E729F2077F5B6885A +:10EE300083F3B2A781F5D5F327DB38BE7FFE5135CA +:10EE400083F4079E0FD2B1BD87EE7D8AB8CDF9A2BB +:10EE5000A63F7C7935E57DBFDCB77800D17B74AE09 +:10EE6000F0F3504E2A93491E7702EB4B4B9ECB4852 +:10EE70009E712B65AAC82395919C90FC3A3AA6B145 +:10EE8000FCEE91F99E14E584E506E544A53AA1322D +:10EE900015E586DF1FC2FA6047C7EB57D17803D963 +:10EEA000336804B565C6E98EF0B4A084EF8FB487EB +:10EEB0000FD2FB2371FD262D2ADF2325F0C7DE3379 +:10EEC0003FED49E3FD5AFA77A7698F52A8082B4610 +:10EED0007E62ECBD685FF207FEBCFA0B94A712BD20 +:10EEE0004226BFBDF13585ED4CE36FC6DDB25DB4A2 +:10EEF000D9FE8FD61B2653A9C998AAD643F41CE77E +:10EF00000F4DA6709AEC8D867C18854F1DF5ED840B +:10EF1000391D87EC42AC87517E73F7C16F0FA3F8A0 +:10EF2000ABEB94139270C9DD7F8BFCF9393CD7C3EE +:10EF3000FB918ED0AB7FC4F8EB0BAF5D52671AE547 +:10EF40003FD7E5BE7AA32D09E567AC38D713B9479B +:10EF500057634804D95E7D1DE1A83C2FB08EF0D8E0 +:10EF600075E26F1EFA9AC49E37FF9246FEC26E8704 +:10EF70003E4CE527C66BBDD8BF6526FF479AF536E0 +:10EF8000246F94873EBB3E6B23CB9BDE7133D98DC0 +:10EF90007B25F500DDABECC915795E2BAE5E205C00 +:10EFA00016A8DE3D6B2AF94B6ABE02748F73EF3AE6 +:10EFB0007B5CFC3BD830384EA943C80491FF3566D2 +:10EFC0001D4875821F3404C20ECAABD407DC0D6124 +:10EFD000B567FEBCC6BCCFABB94C1CBD27D7F49FF0 +:10EFE0004AA084FC27E43FE753227F507C9BF063D8 +:10EFF000BB0D8E3A51389F97055DD04F599E9E1993 +:10F00000F5A3EECAD3B7907DDE62E26B47A5D0438D +:10F01000911D5290F1BE0D58DEC69DD636F297BDB9 +:10F020000DFDA4D743E701C6CF389BC1F7A6E3BCCB +:10F030002540DF5F1D836A9AF07E6FBB140CD2F807 +:10F04000A038970DFF913F791EB6B75079C3588805 +:10F05000F0F917D2F9B9EE28E1FCEB4F1CA1B46529 +:10F060006D28E13EA68F7BCE5D00BDDEAF9CB2E891 +:10F07000530885B1FE251CED3D5E88E6930CA6C7BE +:10F08000A776512FFDBA393FFEA451DDEAFBE6F920 +:10F09000CF9BFA122D0DD3E134F9D174AF62D2A116 +:10F0A000669B4987350227D6F789EB21C8E7AF353C +:10F0B000CF9F784E5CFF08C5BF0BD1EF263C566F43 +:10F0C00088C7D922930E8B12E8501790C4BA4145D5 +:10F0D000AC6BFAFBF780F523F6B9C8DC67E2BE1625 +:10F0E000DBC5BDD862C40FDDD3FD4FED33914F6951 +:10F0F0005E934F57C155717CAACABA223E9580963D +:10F100004E71AFE5475B78487C6FAAE947DFB05E98 +:10F11000F893BB3B0EAE24B92FDFA7A864E7BB3A38 +:10F120002A53A84EA0EBB88DB3B35DED15AB0DD44B +:10F13000772F1E1D388BBE57547E426679A878AD56 +:10F140003C9844F1C66BE529255CAFA165D1FAF87E +:10F150001EDBD5AEE303DF28633F7DCA48522F4D47 +:10F16000C7CB53C80F781144DE437AED8BDFD1BA99 +:10F1700015C76CA329EFD982FCA0796FF8C5DCAD67 +:10F18000E44F0CF28A3CC8918EC6D9C4CFDAE3B200 +:10F190004A9F9F3B2EEAB06B9E528232B66FD829AF +:10F1A000EA42EA915F12EFD7CEEBD7EF1B94758F4F +:10F1B0003BCAFF79265ECB33B49F4C273F2F2F8568 +:10F1C000EB5C6FE86F677B77263FE5DFA7E37C8327 +:10F1D000F5A24BF8082205CEBCFC80885F7748E09A +:10F1E000C5058E781F70507C70A6D215A679CEEC1E +:10F1F0003DE1A07BD7C9BB4F88FA07B3FEC7C25316 +:10F2000022FDCF76249BF58AAD0EE253ED09ABDDEE +:10F21000E9203BED37FDA5BACDEF717B11F9FDB4C7 +:10F220009FCD12D7951FDAF712E77DEAB68B3A8A9F +:10F23000456D4F3808AF8B109F1AE9116865FDBC0A +:10F24000B8CDA1F6A65716AE8F6FDF77195CCEB595 +:10F2500070391486122EBF9C24F4F9972792394EE8 +:10F26000FAF298C8E2FF037CB2DD3B6EE6C5BAC392 +:10F27000B2EEB8263AEEDCF16E07D55D4C6DFF8C30 +:10F28000E937BDFDC014A2CB4D10A8A173DED49EFA +:10F29000A2925F3ABD53E89369ED4ECE8BDF04A195 +:10F2A000E564EFBAF6BFD242796FA3D21519A4462E +:10F2B000F5D34293DF000D4C8F33567C8F6DA69FA4 +:10F2C0000F8A28DEE9B277B27C77CD157F9F0036B2 +:10F2D000C4F3EFC6D2787A4D03A15FA66D177AED1D +:10F2E00046E8E4F96F247AE3FA5D79C36E61FF07BB +:10F2F000E351AA8BAED91EFF7E5D821D7CC06B17C9 +:10F30000FAF332717F225FD625F0657A44E8AD6961 +:10F310006F2ABE209EFB68785919E5DB2C3A25F24E +:10F32000E5A8F68FEB8E7E67FAD956FB16D3BF0D94 +:10F33000A9C19F55E0798F817AC2C8E6EDF0F7EB5D +:10F340001EDC9927EEE5F284DF707EE0A1AB35FC90 +:10F35000B5E695970B1DC51C576CF7921F2DB7FF8F +:10F360008CAEBD5F2950209BE28B67938224773F50 +:10F37000F4BEFFA38A915CA7D241F777F5B6D6E930 +:10F38000746F55BFDDEEA378A2BE4D61BD53BFDDE6 +:10F3900029E49EF082FBF1B74BD7135ED04F6FA3E9 +:10F3A000F967D0950DE50BDB24FEFB2B33A67CE63D +:10F3B00020BA1E4FF0D7A7F7EDAFEFF7C6F8EBC7AF +:10F3C0000696A4CFA3A74DCBA5AFFEF4E5AFD75DBE +:10F3D00014FEA2F5791DCA33D1BDAE5D62FF36EAD7 +:10F3E0002FE64AE42F76ED7BC441F16897A47E9620 +:10F3F000820439EB157674F7C1EF3B481F4526416F +:10F40000A498F2AFD272969F3A764AF1B94712F7B2 +:10F4100068BFB653CD0434BD9ECCFAEFDC49717F92 +:10F4200044FE09D53BDC2BA002E7E605189F54EF0C +:10F4300040F8AE859A16FE7EFD3DD0C0F59609FADD +:10F440006071D9C6964CD2D7B08CE3A765B09C9FAB +:10F45000C3F6BFC57A71D8CB0E555639FFE0E0BC74 +:10F460006030E6FDE29EFAA6F632F92FC88BC7316E +:10F470009E6735E70F8E292AE577761FFCEA5754F9 +:10F480003714413FBB98CE6DFA2DBB0F26715CD16E +:10F4900075C21D247A7E62E2F58C99776F1AA330CB +:10F4A0007DE4B1E2396CFF4BC58483AE7D170A035E +:10F4B000C8EFE7F7BF7495CEFC0F323F176F8BAFE5 +:10F4C00013AF0DC5D7815B74AE37E98CFB1AECC85E +:10F4D0008EEE6B8FAD33CDD78B9C49D241E69F2CFE +:10F4E0001D8EF3FFEB7FADF863EB2AF13C77931EA3 +:10F4F000CC34E5076C110FD9534F9EC6B8686A1714 +:10F50000FC96F78927AEFF1D9157B1F3FA3DFA2B10 +:10F510008D1AEAFFB22885EB12E0A2319DDA0F17AF +:10F520002B5CB7F0F0EB8B86C4E6DB4012F172BDCA +:10F530003DC2F56FF52764DE5FFD896ECF4037E988 +:10F54000BD8D53A8CEF746539F1C294EA9265C1BA0 +:10F55000B46E2EE5FB0EF3FB4F7AC53D42FD58F12C +:10F56000FE321347BB5F9F9642F984AE7D39FCBDE6 +:10F570008E7E26DECBF3FCC3F372A2714C5F7E69F4 +:10F580004C1C25EE47F09C244F2FFED1199C2E5188 +:10F590009C7BE1E477E9BCC76CFC3DB7A67D4E835C +:10F5A000BE4752FF7612E7272010B886E2B687F7EB +:10F5B0002F1C22BE64BF8CF9B1A66D4117D503D5AF +:10F5C0009E4AE132E1DA7D7FE03ABFDA3DA37E4236 +:10F5D0007E0FFA393792DFF362BB9DF54FF96B234B +:10F5E000196F2F1E1F9955C2DF53F7A5D0BCB5C7A1 +:10F5F0006C5CF7577B6CE46FA793BFF25A25FB3D19 +:10F60000D26B23B3484F55507C4B7ECFB181DCB6D3 +:10F61000CE33254FF8395D0792380F2141B1C00B29 +:10F620000C8CC34BCDEEDFB03F50837A301637D60B +:10F630007B73F26C3CCF9D8417A47F5348D2190F83 +:10F640003BC5B3A6ED450F9D63B13DC4FC6DDA6EBD +:10F6500017FD3BC413E8EF05E07B864F667EFE9600 +:10F660006513F9EE0816D07DE0AB661CF0EAA9C080 +:10F6700000D283AF4E0A0CA1E77B79F1FAD0804A21 +:10F68000DE37483399EF67770B7F2C918FEFE68950 +:10F69000FC4A5A16C4DD2B5EB23F79021FD31C22EE +:10F6A0003F447E5C9EC7BC7763BBDE3985F4D14C9A +:10F6B0006F964476FD97E6F837CCFB265026A47269 +:10F6C000FD067D2F2A83F2E47E3BD9C75966DDF122 +:10F6D000AC9B6EBD9EDE07B4DB6ECA178C117EBB81 +:10F6E00095F74FCCF35BFB9A5515AFDF6EBD8CFFE2 +:10F6F000F4789E592F3C18060BBFDE9D427AFFFC22 +:10F7000051BB59FF1F1CE81FDEF3FC96FE3842F781 +:10F7100040A8D78EA25EA3E73F9177FA79DEA8CB07 +:10F72000E7F99B86BEC579A2570F9C7A2183F56CB9 +:10F73000121463D7C4AFDFF5F4B6AF2698C9FC5DE9 +:10F7400006B3E3F069F1F92C88BFCF90C8E7174CF6 +:10F75000FED461DC4BFC59551AF4D3D3BAB74C72C2 +:10F760003D66F4C35FEBDB67F0F70E9B865E584E99 +:10F77000FAFDACF93D1DDC5FA133C60E9CCDFB8CC0 +:10F78000FB1FAE848881FD07868AFBB6DA2912DF6B +:10F790000BD48685BDAC9D2DECE5E0DD33ECA4BF3C +:10F7A000BF837EB2EE63357292EA5A6F36EDE4C4DF +:10F7B000AFBB184FB5A69FD8049986D0DBD9FCAC57 +:10F7C000DDFDDE72BE970C4003E5DD6E19138F83FD +:10F7D0002110589183FDB755493EB42830438FEF2F +:10F7E000BFEDCE198CB759E6F7772E87A30FF3FC40 +:10F7F0001DC4BFAE8EEEEF0C47BAD49972E01BA2C7 +:10F80000B5D1FD99EFB7EA88661CBB2DD8BD97DA54 +:10F810005D46B644F7E66F9B74BEDDE33F457A155F +:10F82000EDC85EBA5FAB73B8543AD7BB94541815A1 +:10F83000953B5F2E54DCEF8EE59778DF1A17C813DF +:10F84000F565AFDA8305FCFD8EB22BBB076C1AFAA7 +:10F85000CAD5A4E75E3D70EC6A470CDFCE3406865D +:10F86000B07DD977C8A3B96371259BB8B2F1539223 +:10F87000669A76331E67670867A49F771EBAF9BB3E +:10F88000848FDDB3B2252DC6AEEE79236D50CCBC8E +:10F8900067DBC5F71730BE1A7C6B6AEC3E57F03E4B +:10F8A000CF86C47C2865FCF73BEAF68E182DEA2348 +:10F8B000C1A07A8ABAD2795B45BD59B3F97786344B +:10F8C000EB9E5DEF27EED9E3FE1E5CC8013C8FB1D5 +:10F8D000DFC9F76F5D7695BFA7DB754ADD28BEDF10 +:10F8E000D9A014607B0CA89F51FCA1E55BF993069D +:10F8F00045C7CFC7EAA27E0EF531D7198E9F2EEEEF +:10F90000B7B19FEB0C2734804FC431A27F5C95E8E0 +:10F91000BF0E3A15D2D31329D584723509341BB5DD +:10F920002783D14C866D7C287C23A9A1B0C796F192 +:10F93000A14B946AF6C6BF287D6CF0A185471C8C4C +:10F940004E0FE7D125784C21BB3B1AB46E735F5C38 +:10F95000873346D776D1796EC8177AC59722E42FB8 +:10F960007216388F66ED6FBCAD83CF91AA6999741A +:10F97000AFB1F37023B7F763F4CAF55559E67B1FAF +:10F98000E37B48BF6B6D413EA7A7418C1F0BE15E37 +:10F99000CF392EBF48DCC39BE7EDB287D85E77DD59 +:10F9A00087828CFBD2F3C5F7BFC7B54AF047549A9C +:10F9B000BE12711E9C5FE17B1473FE711062FE41EA +:10F9C000B596F9DB3C7A4F32F93345257A48618F99 +:10F9D000FC4DCA95D3ADCB03BCDFB47B22E77E30B0 +:10F9E000327ADFE46BCFE5FCEB1A498E28745FE3D3 +:10F9F0002A1075C06108915F8EEA3CEEFBA1B3F35B +:10FA000067CECCA77D04C4DF894AACAFDC16DCC46A +:10FA1000F53273ACFA990280D39EE83DBFBD58D44D +:10FA2000D3D8E99E5DE57ACF0AC2EDC59CC0CCFC77 +:10FA3000515CF7398827B3054789BF4F24F09C02F2 +:10FA4000FA18A2F385A442DEAF556FF4487221EF95 +:10FA5000B7731284A4F13DEFF1539CA16AA623D59C +:10FA6000038DEDED5E5FD40BA354695467048F4D95 +:10FA7000D668FE16B35E36B1FEF94292A80FB2EA1E +:10FA80000A1E497E81EB49AD3A023AEF04EBBCF223 +:10FA900095D41518F6AB8AA275AF4887A5261DB870 +:10FAA000FE152DE420418730C7FB29BAF85EAE8AE7 +:10FAB0007CB289B837E2241DA9239F4AA37CA2FA0D +:10FAC0006ED21BCB275B721CDAC6F59148076A5BC6 +:10FAD000E74D3CDFFF0508619EB360540000000065 +:10FAE00000000000000000001F8B08000000000064 +:10FAF000000B0B936260F8518FC04B8450F9E8D82B +:10FB0000510495BF4D18BF7A42989D05C1FECFCFD5 +:10FB1000C0F0861D82D740711C107B42B1000704E3 +:10FB20004B7022F474F031304C00E2197CA8E6A648 +:10FB30003042E83B0C0C0C0D402C07C47390F4B918 +:10FB40003141687E7306861A6B84B88E010343398F +:10FB500010071A52E6AF513C34B0901F2ADFD91D6E +:10FB6000959FE6C9C0B001498D8B3B69E6EBF9333F +:10FB700030E8FBE3966F0A46E527C4A2F2BF06A170 +:10FB8000F2193350F95121101A00B5522727C80332 +:10FB900000000000000000001F8B080000000000B3 +:10FBA000000BCD7D0B7C54D599F8B9731F73E79981 +:10FBB0001B18601242BC8100A906BC40C0A074BDE5 +:10FBC000814069975F77AAAE1B5DABC3A3808A3083 +:10FBD00052B7E4B7D5CE843C0810702816220F1D0A +:10FBE0001ED260D546454B5B6D874259EDFADF4D1D +:10FBF000FBEF43576D035A7C5430BA55EC1697FF10 +:10FC0000F77DE7DECCBD9349C0FEDD47FAAB9773C5 +:10FC1000EF39DFF9CE77BEF3BDCE77CE783DD3583E +:10FC2000E5D58C9DC73F78FEB5CC189B9E7B326690 +:10FC300066590D63973296D81161F4F7FA0CC6AA8B +:10FC400058EE4F1AC9D867F01F1EC64669A99F60B3 +:10FC5000FD16812546198CDD8BEF4BF03F69CF42B5 +:10FC6000687FD931956DD018AB663D1E368EB1C90F +:10FC7000AC8F9E06D3447C4E65063D6B588C9EEF40 +:10FC8000D6F57E0D9F078AE251C46745307E891FF5 +:10FC9000FA393D263E310CEFFB44B384F09C358CA1 +:10FCA000B199B971E43F194B313602FE3BDBA0F14B +:10FCB000A41E664633BCBD4CCBCE161836D5E9BB68 +:10FCC0001A4C3001FE2947E22C1EA4F1B35888B12A +:10FCD0001B947815F62305959438199E5A9F82DF58 +:10FCE000CF14B386EEE0C0FE662031005E6B689EE6 +:10FCF000D95BCD58F33D068BC153CC424F004F0C1E +:10FD00001A2C3E09E04819A217EB62150F41BF9269 +:10FD1000DAFD1386747E04CA84974670AA83594F0D +:10FD20001DF4334E89CFC4B2807841FBE6D0BC6865 +:10FD30001CE02A5196122F07FC0106B66F2E669919 +:10FD4000EA0AC6BC65F0AE06CB3D8F6219EA31CD3A +:10FD500051B6F16D2E36A2C1EA5CB93534E3452FB8 +:10FD6000D49335A64F847A52F6F384B7A4992C0E17 +:10FD70004F594A3101F1D639DEB29AE0E5325E568A +:10FD8000B438ABC3717F2C16A44FA5459F4BBB382D +:10FD9000BE5290654401E9F3FD9FF8A12C4699E11C +:10FDA00023EE324CA48F1C64DAC3F83DC8EB8B1AE7 +:10FDB000DB1B10108F0CA797C6FBBDCCFAAE44B569 +:10FDC0007D9E0AC42BEB09D4D03B03E9598DDF118A +:10FDD0005E847F973437BD903E4E7AC9918BA3578E +:10FDE000738540E364E7A645AF9DE4786F8D1FFF00 +:10FDF000DEC4752310CDE82F08E5CF08FCDF6B606B +:10FE000046911E0E7EFF1A965730E077289F96E3A4 +:10FE1000DFF6737E5F83EFBDECCB45B14943F1BBA9 +:10FE2000C2B2B048FDF0AFF322F5A69DBA8CF7C57B +:10FE3000CB7C3D5C19899B8842FFBA38C9D7C54C39 +:10FE4000AD7B0E4ED14C25BE0EF9DE5E172C18236D +:10FE5000BEA38501EB5EB66580309FCF6319CB6C86 +:10FE6000008073C59B9800E56FC2048E021A8F4410 +:10FE700096A57E751FF6B3A54C621B809E4CBCC92F +:10FE8000C075E4657F5F703C5284A57C45D04F19F6 +:10FE90008C47B5F0C7FE4C9018D5C417591FACC796 +:10FEA0009D2C143915800F57B02BF8F87401E10D13 +:10FEB00093F426A906F9C963EC453631615450DE46 +:10FEC0005634760FF25B5374917A02FA7FD8E24788 +:10FED0006F68B60AC289B544AF2962D583D357FC8F +:10FEE0004864D9E100EF23819E62303E13C7B1CD53 +:10FEF0001BFFFEEF6B38FFEE057A09D1BEF3E76B0F +:10FF0000703DE87B3F27E0D360B301EE8F71BE8187 +:10FF1000AEC5C1F811C44701F98A7452824634064D +:10FF2000708EC0BAEE8567CB111FF12BC89D8C4F28 +:10FF3000188847AD96314DE42FC9885EE3E43B81D4 +:10FF4000CBA5910D065BE41887C466FF18FB05BAC4 +:10FF5000081A7C1F6632B31BBE6F91345FB1A3DEFB +:10FF60002E8B1E5B4C36BFBB001DB6E07780732026 +:10FF7000623E8FF56CBD30C3A11790BFAF609CDFB0 +:10FF8000AF627DE512CCCB4A6FB64D1688BF7F813C +:10FF9000ED3F7CA9E766E477D61B9F887216F8FBD5 +:10FFA000FFE2FB8BE56F5F3F3F976934FF79FC3DD4 +:10FFB00098BC9F14ECF5203F5F1E89473D63619D0F +:10FFC00028E649ACDF4FBF2333A328EF9A0FCE6B4F +:10FFD00040FA363F3EBFC174D0E12D6BFCEF59F3C0 +:10FFE000D85AB294E425C8319297B69C97A41E2E95 +:10FFF0009F0EB1295CBEF7F2F2615EBE3CD8E759B4 +:020000023000CC +:100000000870DBE47814E7A3CD9223930EF5AE0DD0 +:10001000403DB54C9B82C3B9FC191810F24944DB32 +:100020002302FC13D6FCCC54CC3FE1F3A588F91F86 +:1000300088C7915B63E7B0FCE8538A807A817519C1 +:100040000CF908F8B32105F46C13E2D132C738DAA1 +:100050002A804FB0DEB9C52EB9D5F631F47A252CF9 +:10006000E9A6B5A914B4FF822FE615006E5BC93668 +:10007000D28BFDF81E0425CFF519C1CF9FA7E692BC +:1000800019D160D02927EDFEF2E464686914E136E5 +:10009000E7F58B7FBD23DDF606C94D8BAFDE5D082E +:1000A000F252247E2A13A617949763844FC04FC838 +:1000B0001BE7C70D2E2F27A416BD88F3F00153E3CD +:1000C0001B607EDA3E9B5071BD36975DA3A29E5F9A +:1000D0005706659CCFA8A20AA08FDB82B07EF07B7A +:1000E00092B1EC447CBFA8BD82F4933103C1DAFD28 +:1000F000CF89C6495E2AD1F8706F85FBFD6B41D26E +:10010000A75111E8AC2466AB388E56ED1A9539E844 +:10011000AA04E35105DEAF0BF2F5DA26279EAB0009 +:100120003CDBCAD8B4B5D08F574BB069F0FE4874E9 +:1001300036E1D9AAADCEA2BE6E832588E39953C617 +:10014000E5A237B228E30522B44540FE05F17D82E1 +:10015000FA1F30AFD678ECB217F483E2A02FF687FF +:10016000F8F697A5445688E4E4224B6F3755D41F20 +:10017000963EF4E8B1147EFFC09C307503B0548302 +:10018000C0F5E180798AF079A2798175DBE6331ACE +:1001900090FE2C263075C6E0F040D2D33ABD103C1C +:1001A0007B9EFBE73BBEFAC15E8493027D05F4694A +:1001B000FA6CE2DB5896525E6D6D04E54BE2C15E6F +:1001C000942F8AAA35433FDB036192D78DAF848891 +:1001D0008E9B914E5EC63A922A3D3724357AB627D9 +:1001E000A3F4642CCE2640FDB3B33DA43741DF9188 +:1001F0003CEE7F56F2E7CF052E67DA053FE1F5B01A +:1002000055D69941FC900E0EADAF8A6A3DB971C2C8 +:10021000FF4386DFA54F0355C35C659F5EEAAA9F37 +:100220002F5FE782F8217B58329981784A8027CA6C +:1002300099A205D1A50E3C1A0591F015C52F257080 +:100240009E5A04BEFEEDEFC33D5C8E453D2AC1BB08 +:10025000FA5C9148F65804EC085807E1D035A92C0F +:10026000CA4BF027C693AD26BDD36BE309F33541E6 +:1002700088ED40B914967BB561D5FFF3F410C5291C +:100280007D59B42F872B646FB4345D43FCD9CF6F95 +:100290001EAE371AADF913BD86515583F6B6A2EFDF +:1002A000AD403FC8B4EC537D0FF24373D3D43E1C32 +:1002B0007FAA5831505FD8706435487E483E3DF281 +:1002C000E93BCD63F109D27704D2F76A15F5ECA6C4 +:1002D000A0677E86E8D5339FE85DE3F1607FFF6B22 +:1002E000E896378ED3824D379B4FFE86E864F349FC +:1002F0004710F8A486562DF189CEB2F3E9BB01E38D +:10030000AAC88D2B9F5EFF5DE3B3E95E14F2C43291 +:1003100041C4AF2F46F8CD925CF8FD77D3DDC62BF4 +:10032000D88F5796E365FCEFC06B82101FE501BEC6 +:10033000DD6CF1EB66A957C575BE03E53CCA954077 +:100340008CD617D677DABFF6FA82F69778E0792F4F +:10035000B6877AF74A7DAEF6763F211C3F5F0F31B4 +:10036000BE1EA4FFD1F560E3B5C1C25B6719CECF55 +:10037000559EFF9179E9D78B35AC0A7413F87D7ED1 +:1003800003E973AD185F80F4AD7CE1CBAC15DEBF43 +:100390006F7AFA364C77C64F78BBCF8F5862F931F7 +:1003A0001ED28BF0247FF17DF017D19EF5463C29BB +:1003B000EFE402FA19FC3EE658AF83E265F9A3F4D4 +:1003C0004967ACEE2389E0FB0DEE8F86582F433B47 +:1003D000B1083509D877C5E01F727FD41090CE8C54 +:1003E000CD227B2FE2FBB4E1DE447005730B3B1F93 +:1003F000F8047025803BEEBF00EE05F0F5B15D041A +:100400001767E7FCF01CDCF560BF80110D769F4696 +:100410004F2FE37EE907D55CFEAE037B06DF33E9B1 +:1004200029D303FD050D4547BB2B10CC32B443DF68 +:10043000AD53FB5814E1717B0BD91CEDEC40153B1F +:10044000E181790F186EFF5E2D532E8A1F5B474C9A +:1004500018151F621DA0C75BA1E6DA0D56EFBFFAA3 +:1004600089F672859C2B4BC1B139BE1E627CE25D60 +:1004700071C688EF79DCA5BFBD87C5513F36071728 +:10048000A9E4E79D3B7F5E9CC1F85432F4C762B596 +:1004900085E8720C835E0E3B58D6DAEE14C0649584 +:1004A000A34BCC5E073EC7718246E0FB1566EF4565 +:1004B000CC43BB1C6BC0F86E6A3A233B654BE066CD +:1004C00076A21AEDE19BC9FF6E1B31B202FD1AC67E +:1004D000D6F2B8B21A247BDDE6D32323AE8F925F27 +:1004E00052727D14FD8E563916453FEAB9114F9B65 +:1004F0000BB1FDB922E635D07F1A5B84E36A3B3746 +:100500006E54A2C0F8028CCB0B8A7B55707EB39DD3 +:1005100047C4B70D0D4D80F77E35973B5B023F32E8 +:1005200045F4AB752981F095608CE22FF36BBA4DE1 +:100530001C8F120FC6BDDA4038763FF0279C475D0E +:100540008275EC7527B8BE17C46360396E8EE5F10D +:1005500056634381FAB21A4E0526A3DCED7FAF61E4 +:10056000BF952F4C2AE2F13885E92A762D98B8AE4E +:1005700072FC9F71CD37D33C39B80E7F4762A976A4 +:10058000F407BD4C4DE0BACDA76B9BC29693DF2E0E +:10059000990D3CBE3F6C2AFA4383F1BB146D7F0F6B +:1005A000ED53A05D16F9CB1B9D9752B01DD867C3C4 +:1005B000495474F40893E9F99E88DF35E96D27FF03 +:1005C0008D10DDF1BCE6209FF7C1FA6B85F5C526DD +:1005D0000EFE5D568C38F9892CF122FA85129B4C5F +:1005E000F84B65C75FAC003C2688DC5E90223CBEC1 +:1005F000CF34B0131D74FAA16C4E1051AFF9399C71 +:100600007CF82FC8B32F15818ECF7BCCCBC4E905E6 +:10061000D649307251FB1320BEC3C248CEBFFC2F57 +:1006200093F5603C311E34715EFC86C15A00D4F1F2 +:100630005AA06C2D7CAE924E229E26FC8FCFA7C175 +:10064000F6231F996A0CF759C2B3E0BB83AE72CD93 +:100650005486FE84B6289828AA457EE2ED6D3E15A4 +:10066000F3CAF3F2E7217998BD363E8737BC320BE7 +:10067000C5F753F2EC0585E97071FB345EBE2903C2 +:100680006B28417C09DAA60FC7B3D39AE7ED963EF3 +:10069000DA62E9A34D96FE6949EAF47D63B28ACA3B +:1006A000F7260D2A6F4DD6D2F3FEA449CFDDC9F946 +:1006B000F4FC563246F594921615ED959D25DDF71E +:1006C0000B142FF865DD0B007267A8FB2586E5D4B7 +:1006D000BFD6BD00207662C0BB94B195CDCFD7A563 +:1006E000801F771677DFE001141EDDFA83A66325ED +:1006F000501EDFFD9200E587C51F1D69C1FA937882 +:10070000FDF6E657787D9F15FF2ABBEE0274E07276 +:100710007217D20C9E3B47F078EEC5B6DB8FED80AA +:100720008E3B2B3E597F3E296DF2F1FEB1EE9730A4 +:100730007E9FCAF1FF51F3C93A8CC791A8BA92B112 +:100740007F6A7EBD89C633C9820FFAE96F1DFAE957 +:1007500007A2CCFB9FF2C9F07EC6C25B9DD54B7D44 +:100760004D15E3DB918F8AAA7B9807A636B8A03B8C +:100770004BE2B12C42FB8A17E22341D4B9BEB1EA65 +:100780002B4B0C36165E1DF2B8DF97379A0CE5CB73 +:100790004322DF6FFBD675B3556BFF8FE2098FE203 +:1007A0007BE2E738DFE7785E24BBE73BD6FBFCFA69 +:1007B000582F5593AB37289EDA05ECDB8B1C27931B +:1007C00062B44FD9E9E1F8DBED5AF3CABE205FAF5E +:1007D000173B1F6F58FCB7240F0E31BD837EA31F3C +:1007E000F1B05A58DA652B1CFA05FE1FBDC9EF2A75 +:1007F0000FAB1FE62A876B4A5D7690ACB9EDA2601D +:10080000F5A5AEFADAACA9AE7264C195AEFAA54B05 +:1008100066BBBE97DFF505D7F791D75D33B4DD75BD +:1008200091F4FEC73C7AACCAA3C745CF1B93744B67 +:100830003EA778DCB9BF6CD905172A9F9BE82E73B9 +:10084000B85E766311F713B83F700BB3EAE4E36167 +:1008500038EC6C11EBF1B2EE1118D935CCFD3DB787 +:10086000AF62C53DD74AE02BA39DF70D8A8B36A614 +:10087000BC9A179E677DE519067AFD3D295E24D155 +:10088000381357F07591B89CF6AD85C2FBE636DF9C +:1008900035278DADAF3BEC65B16C4A96F64D66F1F0 +:1008A0007D5CD3DAC7F5468D7DB8BE8A66315A972E +:1008B000B266EC43553E465208CF32D91C83FD8FB9 +:1008C0009574827B2434E3C538FA9DB31403DD9517 +:1008D000D5A15F937DBD79E687B4FF10927A18EEBB +:1008E0006B842A055A27B86FF025471CFB32C9E3F1 +:1008F000B6A7F2E8F32CB85BD8EFBD632AEE9D856E +:10090000F6F0FF11095F505F64376D9E3992E20A7D +:10091000EB92B1FB2BC793DD9295E0B94EEEED5C07 +:100920008CF59F97C97EDE9854E9FD9199138AD082 +:100930002EAEC8EB77E3247F03C62BBCE58D718414 +:100940007B764AF76538EE7B2BB20CEDD9B3271FC7 +:10095000BFAA8961BB30B5DB5C2110BDC03ECF3C76 +:1009600044F3CAFB0BD76A5337E8886F82F6B95352 +:10097000BF12330FE1BE782DD0DFB18EEA2749D404 +:100980005EAC6519B2E3C13FC5FD1B31923219B7A8 +:10099000ABD689DC4E21FB5128AF253B630DD8191E +:1009A000683F87A2D67C4558C624016E864B1C76CC +:1009B0008EF8CA41C2FB5F4A442680DE0CFC695AAD +:1009C000F659DCB7AF53630F69D86F8CDD0FE55F65 +:1009D000CFF6F4915D50C5E9AEC1FF506E7A75B7A0 +:1009E000BF283BE785EC1A7739F0F19314E7DA5C1E +:1009F000BBDADF84F4106F2AC2F90FD47A4E601C80 +:100A000022100F67EBA7E5E81D7CC5F7D3630EF84E +:100A1000B74A85ED221BCE6076D1D9A4FAD363C044 +:100A2000D75989DB9B29D9BC13F9F36DD91DEFB4D4 +:100A30009F596BDEFF2C9A5F93A6E7F84B9E988D2B +:100A40001A00BFA398917E5E2B7DE527A88FE566EF +:100A5000238AF1F86639EFFD1CEBBDAF703F3F9381 +:100A6000789C7E93007C2AE6E4066D51207F0889FD +:100A700014FA61A93BC3C64306BE4F505EC6B0F927 +:100A8000BA902AC1CA0D8D2770BF520B1B1B58EE9E +:100A90007BC912FEBDADA2A76131B62F0E127FB782 +:100AA0009528D930D2BF42A17D781B8F2725BEEF74 +:100AB000D366D163B3EC96137BADEF0F4832D1A56B +:100AC0002D64D9175A73D4B94EFBE158F439205D1F +:100AD000BF16ED9727510EE0FA84CF6857A62A1467 +:100AE000BE1ECC54F49A90EB7BAAD8F95D6BA2FDA4 +:100AF0007590D2E7CF035D54E4E771AEFA1C8F2CFA +:100B00007C07BF56451D00746C8F74A4172278CDE6 +:100B100034B97FC5123B807E524D1BF9476572FC8C +:100B2000499C7F498B51BC4CD14D9247B6FC1E5419 +:100B30007FE4C9ED7CFE47BB223B945D61C9F1CAED +:100B4000F40D43EE8BA25FE5DCE76BAB8847D1D7B2 +:100B50005D23D5CD9666F27D60B497EF913E3BBBA9 +:100B6000FE4ADC0F3559B486E7D3AC15701C73B35D +:100B7000286F3F008CD17E675767A3316B5FB76FDB +:100B800086A58A311E68B49927A09D2A70FF50B2AD +:100B9000FC42297F5CD6FA1A0CDFC6BC75FADBBCB6 +:100BA00075CAC4059E568C5BD578C8FF1F0C8EBDD8 +:100BB0004ED9157C1F74B07AEB927C7FEFDF25F362 +:100BC0006D5C9FCD72E2455A27D3F97E0D8CD2C55C +:100BD00097CF5AEBB919D7F1F4DC3C3096B6CA4638 +:100BE00014E7C38BFE2AF0BF82BCE7B023BC326F90 +:100BF000EFF5F3EFF9F8801FFA67C4C31BB6FC5D8D +:100C00009C0CE445C9887EA9C03CDBFBA2205F3C6C +:100C100032E211E57EAA8DC760764BD4CA8B93CAA7 +:100C2000C05F0EB342FE7210E10D81A746DF3F2187 +:100C30009E82CCE59F8DE7A0EBC38E9F358AFAEBB1 +:100C4000C3510FA6289EDEACF3B8B9A8B214F9D5EB +:100C50003ACBA4503FA40593FB3106BB0EF7D9CB8A +:100C6000DCF17329E28E9F8B8D0AC18D3664781C6E +:100C700034C8E3ABD06F96C7B919433928617E52A7 +:100C800018F302A65AF170779EC160794FF653624D +:100C90007C1DE37606EAAD0BD5CF871FBD2E36B49B +:100CA0001CC9CF7B084AFAA921F6C772ED2476CA7F +:100CB000217F3E6FCF8B4577535FD480F69897792D +:100CC0000C8CB33447AF67719DF20D689EDBF189E0 +:100CD0007CA60FA37299ACF37DC028D7BF8A6A6641 +:100CE00009B8F5FD42F36CCB4F31C8FD38584F5170 +:100CF00094B722E3F608B86969E453D58A2B9C912E +:100D0000630B91FFC420DFA7B0E135DB712E9DFBA3 +:100D100047EBC7CFD31792FD95569DEBD8B653DB63 +:100D20009219AEF775CBBF8C1A04CFDEFFC8C7CBC4 +:100D3000E6C7FEFE2AB97C11D534D99DBEF4161340 +:100D4000F912DE5976A3C58FCC437CB0119EDC2E00 +:100D5000CF58F1AAC27C69E37321BAAD115902F5EB +:100D6000D6D96F64946BE0795BF6A03216F86BB756 +:100D7000CCED93B3DFE0F4389DFCC815F7C9C82368 +:100D8000A9FD6D87F728731CF4BBCDB27BA086E26A +:100D9000A6175FBF2CD877F43CDADF5D22AD97C190 +:100DA000F05B1E3D7A4C72D0E9CD2E91F6FFDE94B9 +:100DB00040F044B05C41EB76E0B8322E3B7979F4F8 +:100DC00038C1397B4F4689D13854E135998F13F3B7 +:100DD000B36E3BB447415FE242786FEECF874ED9A6 +:100DE000FB2102D203E0525EAF3F7B90F2BDFC9547 +:100DF000699E8F076A01F1F43D377C2FFA27579FD0 +:100E00007B90F627F3F350FC384E879DB9A192EF03 +:100E1000F76DC071D66059CFA40AD0297F9C7E1C83 +:100E2000E7B41C7EFD74AEF50C197FE848668F4967 +:100E3000F2E0DF8333F9BE6850CE527EC585F008FC +:100E40001900CFE95FFF85786CAAE574D824F5A86E +:100E50007F51BF4087AA91964802FA9D1DCBCCF9DD +:100E600080C7B76E64444F5839EFA3DF6CEF438DF2 +:100E700054BFC8EE9E9A8337A2817FCFC173941D61 +:100E8000F6936AE5614BB5DC9E936AFDA40FA55904 +:100E9000D229F7BE09AFDF6CC93FBB9FB631829D37 +:100EA0001F7C0CF755A532F06705B28FC99F6D19ED +:100EB000C1FDD93FCB4AC17C28B01FFF2CA31CD059 +:100EC000DCF9EA6D2513285E3E58BCB50DFC4F6970 +:100ED000FC407ADA76373B37AD0BE3E4CD9EAA3B94 +:100EE000C96EBBC8B86DDB98859DB40F344221F93B +:100EF000255AF64BFEF8228AE28AB7C33822CA087E +:100F0000CC738BF14919308EC2FABE05C7210F1C74 +:100F1000478BE537609E21EA8166A1FA4ECA03BB82 +:100F2000C838BC986777F5F737A62E4AF65D48B102 +:100F3000E4331F975CC6E310CD213E6FADC57CDE68 +:100F4000A62A83CEDB54C5B54F1EB3F3F95913EE71 +:100F50004F819F200E81AFA45E7FBFE4D89F3515DF +:100F60001E7F92FBE96D103CB192DB67E394B88978 +:100F7000FD8991B61EA4B7AD8FF2CF0DAC0FB14C69 +:100F8000B5903B37B03ED4F32896ED730376D9C6BF +:100F9000637D28EDCAEF6C1DBFAD601E6CEEBC0317 +:100FA000B78F986E9F7748F0B27D6E00F4319E73D4 +:100FB000586FE7CD476A5CF37095921F7FE1E35F5E +:100FC00069E9F57C3ABD3BC8FA7AF759AF6B7D2DDC +:100FD0001B7C9E962905D6D7BBCF4EE47C797844FE +:100FE000413E59A95EEB9A9F1CBEDCAF2EE7BCC305 +:100FF0001E88A8372C84716F621CFF8D82F6798C55 +:10100000475C373EFE355C0FB7C652F350F5943758 +:101010006A1EEC7FBDB53EE78A1DBE9350EE8C8FF5 +:101020002D5A04CF5D8A5010FFBDE09FE03ADF9556 +:1010300054E979F6D58917D8474B1D73CA85D676FA +:1010400089E4F0D8F5524B31F2F9187DAFC8E33797 +:101050000CF5D9A6BC7E815E9B106F9BAFF7AEBF2F +:101060009E9E11336362BEBE08E217F3034A3466E4 +:10107000642D1A480E7AF8AB7AEB2A61CA6FC5D490 +:101080005D83E8B01DE1894B52F3147D201D3AE3E6 +:101090003C8F64F55726EC75FA73A7158F95AF3220 +:1010A000ACDFAF286407DBF3B311E8544D8719BAFE +:1010B000E9DCC068DC1F0EF3FC4D7C7F8312FB363D +:1010C000E2317A8575EEC7CA4F13982A45681F51D9 +:1010D000A37CBD8D93FD165F6914D778C2C2A300AF +:1010E0005F3DA18C18C8576A6D228B5B164B7CF153 +:1010F000A791EF42022BC63842A03A43F5D6DB71E6 +:101100008614FB05F2D12502CBFD41BFA5953AD946 +:101110001B2F5BF3122EEBA37D93CAAE73C212C0DA +:10112000739DB58F1818D3DD837919EC5722C375D9 +:10113000576ABE5E37A786B687FB8AA21817ECAD42 +:101140009B03F0FCA64AF3109CC5D67AF59CBF0B16 +:10115000D3C30AF9215E2541FEFD25654B1760FCCE +:101160005728FFE808C683D7B5328AB7962E4F674F +:10117000517E5E52EBD5106EA0429B8D7266DD1DD6 +:10118000CC6802F87A8A7F2F35D598485B7BBD59A9 +:10119000DA0B9412CC992FEE2B8BDFC1408E5DE5DC +:1011A0008BBF8C74F45526489E79CB52F4BC5FCE2D +:1011B000D0F910FFACB489F6D9DEF55F630B1D7270 +:1011C000EA1D4B8E78AB989909E6F8F0019164130B +:1011D000DB527FD2B72C88F5FCD6FEF85D16FFF205 +:1011E0003C663FF2AF4EFCF9079CA78AC6F471013A +:1011F000CA6255AA0DE90DEB7214C7235D8276FD14 +:10120000FDEB95860C9FB75FE321093CC386FDD8B3 +:10121000F3E62B33F7E3BCED51F8BED9C63BD3D987 +:10122000DD408728D049C77D5F731BC543A373D4B6 +:1012300098540BE5DE2DD957711FB82180CE386B3D +:101240008DAC3651EE96D733361CF1A8EC6E2235B4 +:101250003AD6E28B5AEE9F02BD042FC00FC6FB5256 +:10126000381FFE7A90C750BF554AFCEE1ED45BCFA4 +:1012700089464A77AC9BBC388012490DB0B39CEBD1 +:10128000EC427A15F85C4278F56A80F4D2514BEE64 +:10129000C1FA1AEE053AD66BEFD1FA62C1E1170531 +:1012A0002FFFFD47865184F45E1C5D785F25D8C30F +:1012B0008B1AB7DC5709A096371EDC8AF6F1C98E67 +:1012C000C561A7BF77AAFD1FC2384F6F6464A2D360 +:1012D000A97681E242A7325FBD05CB277779759267 +:1012E00077567ECD526BCA8EECF692DFFFC61E811A +:1012F000F2D996770A294CFD3E5B1C2F477E7BE393 +:10130000FE35E585E2464B5F113CEC72FCBEB0BC9D +:1013100050FEDEF2CE75948FB3BC5D36CD02746E96 +:101320002E4E4C4479D09AECDAF5FAF89C9D321B9B +:1013300017E774CA1AE17E8CCACF03D5FDF6F374A1 +:101340008E28EA8DD7217D5B4E7C8EF26B8E16CF78 +:101350008BA29DB6FA552FADCB354A62A2E6C07777 +:101360004D588967C8EEBACF350FB3BC729E3EE3C5 +:1013700078A51EE2798122F31B4D40AFFAA041FE11 +:10138000CFFBBD02C16FB6FCE4FCF1CA8DDFD9EA28 +:10139000F47F64B013F4EA5CFC5CAC72C7D11BBC94 +:1013A0007E1AE7DF7B457ACEF0C6FF1EF919976DEE +:1013B000E3308C1F3CB295EBDDC2E7379A3ECBF1B0 +:1013C000DC28F80D8C4F6E9C64C953D64DF29749BA +:1013D000DD0CE3C0EB105F186A7D7537E55FD8E37D +:1013E000188C1FD727135BD10E5D2B654C3A0F92DB +:1013F0006CDC8A7A94B1F48B687F6E2CD318EEB3D0 +:1014000034079F50F13CD65A95D7DB183CA4A2FE76 +:10141000EE48A6787B4DE3F97A4196D98BF8695668 +:101420007DDDAAAF1DE265D32A1B4F50FBB5295EB7 +:10143000DE9C6C27381B0D0E772DDBC3EBD5587067 +:10144000D85EAB6CC161FBE723BF6EACB5BF77590B +:1014500065EB7B30331FCF3D6D9C3596F0DA18D4A9 +:10146000E99C66EE7D7DC1F7ADC9348D5F453B14C7 +:10147000E8B93162E169B78B48424178518FA7F0F2 +:101480007B3E1E6FE3635B9D710198FF9D5E073F8E +:101490000670FEA7619C849F83912A0DA602BCEC76 +:1014A00038FD7DF9AA5CBD835E1EDF68B4F9ACCC63 +:1014B00060689780065CBDCEC1EFA26998787E30E7 +:1014C0001ACF7BAFE5FB7785F92D757F2E5F96D61A +:1014D0004524660A910BF3D3866486E8D79A6CA0FC +:1014E000F9F40FB29FF443AFC78A4BB8FB6F04BA4D +:1014F000ABDCCEEE7B680ADAFD069D87B1C707EE4E +:10150000059DB7B3C73D607C11189F43FED8EF5BC4 +:10151000AC7561975F43B983FAB17AAA8AEB56D268 +:10152000BA49FFD6FDF6069ECF87F2A67AA0BC196F +:101530007C1D35DC5729E3FA8BD3B3B96AAA86F24E +:10154000AB3928B12CAE53298687C7C1DF4AF13C9D +:101550000C3444607C4AA549E7A7E43218B88E7E73 +:10156000656219F915AFF8D8F80AB447136C998376 +:101570007E5EC6CFD5A8E792952837BC8D4B495FD4 +:10158000A8D125A42FD68459BC10BDFFD9AB587261 +:1015900027F616F25DA071FF90F226B505E6BFC6EC +:1015A0002917B93E7EFF151FE90D3198F216DACFE3 +:1015B000901A17131FAB3807D3919E33899ECD27FE +:1015C000D62CA3FCF4577D14D7388AFBD93517A63F +:1015D000ABDCB895C625367E9D9EB97946E30EF9FB +:1015E000999F93C473D2E3917E9AC1F7D3CD449F60 +:1015F00058EC84B38DC389DF47F41A8C4E1F78B939 +:101600003F35C36B86D402FCD94F9F47D98B78DE18 +:10161000FB6C8869E8F71C7DF50AC263F509BE3EDC +:10162000EAC11F247AC13C7B8B31EF805525824E65 +:101630007E594E7C02F2939E018B6E3E2346E392CE +:10164000AB63B4EF065C41E3F2D770792E1BEC0A72 +:10165000E493FEEF35F09D21DF25EEC37DF9E664CE +:101660003B3D03D53DC437DEA0C57776FD2087A777 +:101670006A002F42E790DDF0340E2F506D52FB9040 +:1016800001F839D613E8E36948172908FD38E488DA +:1016900012E5741D8C5EC74E4C2CEA2D406FFB7911 +:1016A000AFA58736273B497E6CB0F4D0E60A93CECF +:1016B00049B4597AA6DDD2131D969CBE5DADB0E447 +:1016C000884679B91B99F5A7707EF55747F6D27908 +:1016D000089997A528E827DA8F4891F2F5B12C3DB3 +:1016E0003748FCFB861A3DD30CDFD33E93F48DC004 +:1016F0004CD7F98C7E39A7ED253D932EE6F536B013 +:101700002E7535962BACB294A1B2A69864C7FBE5B2 +:101710008C46653F2F0F06D75FBC5743B8DA30AB16 +:101720009DD0C5DB8D75C3492BBC9F8D5237EFD73C +:101730003F34BEB63E4E0FB3DAB1C3BCDD58379C62 +:10174000C1E6275005F3E1986F6F14E6C365E765BE +:10175000781E9EDEEEAA1732D2AEF2D157278EEA5D +:1017600075F473AC77DC907C710AF9C121B74FF93D +:10177000E2378367C99E6DAFAB6F990565395E2E01 +:1017800040B95C5BDC32FFB360A7362EA475B40CA5 +:10179000E506D9D1B7939C5BD6F15545877E967502 +:1017A0000AE4372D437940FC1A5750DFBC55913875 +:1017B000BB01E03CAAFA5DFA756930AED0BAC8D375 +:1017C000AF4B23F136A180FE59DA2EBBF4ABFD7E80 +:1017D00051E362EAAFBFDC318EF05964C9F345963C +:1017E0001C07C557DE00F3B75FF5111E271FDA5E31 +:1017F0008E7AE92D217DF33F627CF256BFEB3C9D52 +:10180000FDB4E3F351143EE8AF48F1E3787EFF64A2 +:1018100093D8B761CAE07096A2DE983610CE3E9596 +:10182000C35966E1077A378BF0DE5ADF7A90F2BC53 +:10183000A574F90DA087BFA5AAAEB8D62294AFC3F0 +:10184000FFF271EF56F979BFFD96FEB8D8F6F6F7BC +:10185000972CBAE5F6A5339F417BE12FE58B1D63FD +:10186000812F807EAFAADC9FFEB4F8C2968B4BCF4F +:101870002559E3D4DC3C44BD563E9E04784FCAD182 +:10188000DF7BEEF2913738E240C72C3ABD8C01D0B5 +:1018900002F4CF1FFF5BCBFD1E8C97BEF5DC5CDA3C +:1018A00047DEA1A46F4679B21CE9323C478F53A0B2 +:1018B0008F5A1CEB6D69C7578FD7625C6B7FF13015 +:1018C000C1C1CFB7EEDF32AF14C6B97457F1548C33 +:1018D000FB2CDF6FD1AFB3E9BE16975CB0E998FE81 +:1018E00013D2D1E353DDEBAB32DE56C87E5D5A1D19 +:1018F00057C402F6EB6074BCD582B7239CDE7C0033 +:10190000DABDC61EBC612DF2EB73738A7CD5397AC1 +:101910002D8A72BFFA35C6CFB79F023DE31CEFC9CF +:10192000CE71618CB7BC26713BFC64E7785E56AD26 +:10193000F22EF80ECFD7ACF3F127778DA772FE7A8F +:101940001C302F517B5E52F6FD0E6F66301EFF5B22 +:10195000AFD10C55D7A8F1721FFA79E12B97A31ECE +:101960005A7352D0D1CEDA119EF52FBA3EB85E5DD1 +:101970009FD405A77FEA1BC4DEAEF009AE7DEEE67C +:10198000E4FC83AE3C45C9A07D5C2908EF0BD8CFB1 +:1019900017DBCF953ECF27C26B521E5EA52BDC799D +:1019A000FFF9E700FC8623CF9FA19FE6F85E9183B5 +:1019B00043149B91BBE7C5D64FF8F7CE48B2BF2979 +:1019C0008E25F7162FC6785F5D659AF62DDF8F7826 +:1019D00074E73D0603E52CCB4AAEFD3435DBAFDFC3 +:1019E00030BE1119FABC4773B2619B944777C31993 +:1019F0003768BC791BCAA96311EB9C6150DBE33CDF +:101A00007F94C323E32A8B8D07B63AE3F6C5FDFB2B +:101A100029DDAEF8F1065FE645CC83FAFAFAA75A5B +:101A2000E49950B6F2CC9A7C3F6DC17CBB0DF63E7A +:101A30005AFD7DF6FE17433B77FDF4FA870AED83E6 +:101A4000D2C998E948852326F28F97F13CCEB0CED3 +:101A5000E3E47EA0750FF93F69BAF7215CCBE39D03 +:101A6000AD3EBE3E7CEA9B9477BEBED6538C72E9F7 +:101A7000EC18777DBB9E078C50CABBAB91281E68C3 +:101A8000D73FF2EADFB176C4CFE0E733999956C782 +:101A900041BD509D44710B705C79BE86941E328EA0 +:101AA0006ED6D4A51645789E1BED1B323385F724E0 +:101AB000C8BA447918529574C21BA6F8F7377D0549 +:101AC000F655EC7E06E71B8B2F2FB2DE3793FA56C6 +:101AD0008C93557605295EB7FF1581F6A1EF4B561D +:101AE000517E31F8133C2FF64646F6EAF072A3E237 +:101AF0003328477FCDE3E2E03854A0BF30EA958039 +:101B0000C6F575E28A6B434E3EE4F971C3E6F3FD18 +:101B100034F063D2A2E31CEB0D72BC1BE59110AE56 +:101B2000A53C5D5B1E0D5FC0F344868DD2A7E079B6 +:101B3000915501968DD54239A03F8EE72FFE73C394 +:101B40003D7383C037C3BC9CAF7EE07BB215F317F7 +:101B5000875DA2BF87F976376DEC9E1B81F10F1B65 +:101B6000A7DF89A9E71D4D8FCF9D3F33A70F36C152 +:101B7000FAC0F16D4CC6B7E1F88FF8789CE028F216 +:101B8000C108479E33AC93D7619D04A46E2A071AFF +:101B9000976EC3FC91EBC6C78FE3FCD8FB4FAC54E8 +:101BA000F3E0FCAC97D30D8B1CFB9F73454ED7F72E +:101BB000757DAFD7DE8BC0F9D6F83EC4FB3EC1B50C +:101BC000BEDA927C3FEA23B057E91C9F94A2787A50 +:101BD0000A08FB90C69B631CBE05FF81B16B2D9E5E +:101BE000AEABC1FB4A864DC17C2A453DDE89EBD3B5 +:101BF0006E9F3FEF6FF92ADCF149FDF0AE7EB982AE +:101C0000F78548F176A4EF49DF7BF57209DDCF4215 +:101C1000F47D7DFD1F69DDBEE5B3CF79C4285F4C3F +:101C20008E32F6E630927F59EF5402D35969CB3D9C +:101C30000FC61B3C27E4C917DE5793223D9D4EFB80 +:101C40007D5DF98D9CEF231FED7CDD815FA0C6F4E7 +:101C5000E07AAD94B8BD92D258EAAF2228BFB53D24 +:101C60004EB951EBE7F3D9929C4FFC6DBF7F538E79 +:101C70007FECA3FD379E4725C7176CC5F9DC985C40 +:101C80004EFCC0ACFD47DD92DB2ABBAE080FD4B4DE +:101C90002513C427EB93297AEA462A8BFB014CF3E0 +:101CA00018736AB16A47F618ED3F78FABC40375DA1 +:101CB000973E74EA8FFCBCCB90DF9D77D9928471FC +:101CC000527E7407FB690DDECBE2A1B88214E935C0 +:101CD000F93E34DF57A94C6B53AD33AC2E3CFBF3CC +:101CE00031C5A0C757C3F34987D33D0F3C4F341FBD +:101CF0001F9B1EF978E979788D6BDCD789FCFF0191 +:101D0000EB3081F2CCD3C1F9775C8A911C0C35EEB3 +:101D1000EC44FAF93A325995E6C18D0FC886B5629E +:101D200084AE40A27BCEC6351E2078EA2B9F7B0E68 +:101D3000CF37861A1FA0F6F9F8C1C8A96CE7DDE90C +:101D4000B3789EE060F58E2D1949F54E8F37AFF0D0 +:101D5000C3FC5E8589F323709D7776225DF725337A +:101D60009D7CBDF3791EA76BB42E2B2B5906E34E39 +:101D7000475FDD9EBD07CA7B603EF19CABB420404F +:101D8000DFF769FCFC7623D37E86F79020E3D1BE93 +:101D90007C9AE333808F2B011F871DF1D77E6EA7BE +:101DA000EC4FB653BF0B2CBCF627D39CDFC45D644D +:101DB0000F7CA0B3C470B05B1FAA499B3F057A5546 +:101DC000C0FC33475CA972BAE1413D2475F0FBDCED +:101DD000F2FBB1F9C1B637A496740AE1308033A79B +:101DE000C4912F9CD72E7FFEE338FF9731473EF0FA +:101DF00039CA4FFAA0859F07668DF03703EF27B4E5 +:101E0000DAE48DDF9E77BB0C7E7851EF10EBBE2DB0 +:101E1000D949764A4B3243CFB6E85ED5CABBC8A093 +:101E20001E54AAF83A5D57B688F9306E126526A29C +:101E3000E52D4B37915F84FBB1656042B424527845 +:101E40003E98996A1FDE6FE24D9B2AEEDF7AAB3C2B +:101E500006A6A04B5A2FAD1FBBBE54F58B2382BDE7 +:101E60009F3B0BE733361FEB4B567DEF98EB280E6D +:101E70005DC4D43EDC676D8B5E43F0559397E534CB +:101E8000C85D94E335CC409AA71897C3EADD1AE5FC +:101E9000F7875A123D58662B781C2CC5383E97D4CC +:101EA000C37728875B78992DE17130F8AE61FD31F9 +:101EB000EDBC7D510BE083F876D8DF397EA367F166 +:101EC000EFC52DB118F60FEE17C12FD6EE32EBA8E5 +:101ED0005E5AC0FCBCB12DCCC4FDA914D304CC17F0 +:101EE0001ED7C2F77153AC8F61B9D2FADE923C4C67 +:101EF000EB22C5120CDBB526BBA86CEBC936F52866 +:101F0000AD4FC5F7CFB46EEDF5B427D94DF5DAACCA +:101F1000FD7659E3F0032DBD94DF77C8E2FBFCE7C3 +:101F2000F8E969CA4F1C8B1147B409D17FC478996D +:101F3000C9287E80F610FA71A3E13B9D0318C0E723 +:101F40007CBD97C31FF2A7CD5F76BCE7D8892B5C19 +:101F5000FCC674E02F679EFFDDC067CEF3DD7775AA +:101F6000B9CB2BBADDE52587DDE5FAAC1BDEACE7A6 +:101F7000DCDFCB7A5CDF6D3C3A939D5BEBC763FCA7 +:101F800091C7EF3B476825180FDB629D5B6DC378F7 +:101F90003EE5A1A4E9FB462BCEBA29D948E51D1898 +:101FA000BF25FDC3E3AE5AE3BEADF5C3311EBB9CF6 +:101FB000CABB930D04FF658BCE603FBE8C72D09C74 +:101FC0009512F05CB937CA886FE4252611BFD3D7C4 +:101FD000DB807E79F9AC38F338E8F5B69FDB239ADD +:101FE0001D8F9198E0CCF77CDBD2AB367F98637A7B +:101FF000EA705F1DF42FD91FA90ABBAC4FC5F25B75 +:1020000016BC3765F36DFF741C772FC559310F016E +:10201000FDF1D2153AF9F5816AB0E7A1ECABD249EE +:10202000BF856AB202EE6769E06FE038472F77C775 +:1020300087FD95EDAE7267311F4F99155751305E90 +:1020400003ED66A8B3FF84745815E0764B73686996 +:1020500009CA972FF8621F233E675FDD4E76C6AA36 +:1020600000B3F2E699EBDE4EB0F3C48023CF488E86 +:10207000E4E71955179D74F89B3706DCF65CB365E9 +:10208000CF6DC0FC2299CE3FFC0EF54CEA79B160D1 +:102090007CCD7EB626C11E72D82DB2E6393102E45F +:1020A000E1062BFF7A7F244EFA8979B49F07AE822E +:1020B000F14AEC9808769892F664473AEC6B3C3D0E +:1020C000BB7C183D9F13C13E13157E2F8682F6966A +:1020D000837E17CE7BD25C7984B226A5468573F9C0 +:1020E000E0729572627818EFEB62090E1FEA3BF41A +:1020F000CA60F6680E3ED8A130DEEB029C7FFD235D +:10210000F9FEFA443C01837A383D61AF331FFABAD5 +:1021100000F7E7F7755CC80F66D67977959EED787E +:102120001EDE715EA7DDCA53DA5EF49FEC84631E87 +:10213000BF18E07C5ED42B909C0C7EB537E13CA7A9 +:10214000617FFFA235DF28192291DCFDAEFDF72467 +:10215000E4FB7769E584C8FDBB2F060AF877FB65C9 +:10216000E367E4876DF230CCC3DDBFD043F8F92FCD +:102170006D883AE33F35169D2E445725027475CC81 +:10218000B3BD0E1EFCC66DB40EEE5062B7201E4DE0 +:10219000550D75720DEDD3907ECA5F2FAF87CC457C +:1021A00058CF5E277706CD258102EB6AD85F2FC80E +:1021B000B6A03F62E5679A0D0956C81FB6F3DF80E7 +:1021C0000EAB381DF2CF27F4DF2BFD55FAFE8AD770 +:1021D0007DAFB495BF3A6C784F748A63FCDB2DBA3F +:1021E0006CB2F35B991587B1F296E80FE335581E90 +:1021F0008BF79BF03C8961A38CB5747E566489A7EC +:10220000E039AA0354223CF77C45B1CE73C6CCE535 +:1022100030AEFB7F5AC56CBF9DEE51C6F36A548E3B +:10222000994B51CEC6833A7E5751AF8DC37DE96E2F +:102230007A06590F3DC3A07FF1A9815EA6FBBB734F +:10224000F773A6919E2BD4F8257895DBE931F16FD1 +:1022500023CEDB2C7AD7FBCC6FE27747FD6DAEFA4D +:1022600032AFDF279ADBF1FD9F45B333407C59F84D +:102270005CDB60FC72A477B18AF3777F2ACC508E46 +:10228000B72DF15460F9FDBB14DA37D6CA5909E607 +:10229000C9B525142018F9879FC1FB34522BF87952 +:1022A000AEE51FF0EF509BF8E8F1642FE5ADEF2E9F +:1022B00061A609F42A315986519C891D4139A880AB +:1022C000BD8DF49A7AACD79537A52CE1F6B562E6C8 +:1022D000E97FC361FFC3FCED14BA6F4065F5CF81A0 +:1022E000DEB912DE2FE1EB7E09CB27027FE0E5E2CB +:1022F000EE1B307E7036F0E15C3C8FB74BC8527DF0 +:102300007F509887DF77F9B254BF34E8E3E5E22CD9 +:10231000D56FF716CFC378C1EE7BB87CD87DE4A526 +:1023200012B24B56C4873BEF191E9DFDFE1125824C +:10233000EF8DA77D0E79FE83804E741EBDA2BB0E6D +:10234000F5DCE84A63024EC3E8AA0C9B53FDA9C022 +:1023500025FB757419C08557A3F5D4A7061753AA92 +:1023600047BF60E1DB638A9F165CBC677CF4331671 +:10237000BEA0EE3F25B84DE8EF8EEEB4E0EE4A7811 +:102380003E25B802B54B59705BB48270CB1BDD7033 +:10239000A704759227E5D9B768DECB2B8D1978078E +:1023A0007339CCFBE2E0276A4FF35B5E06EDE15543 +:1023B00039CCEF276D8FF358FE82D53FCCE3276DE4 +:1023C0008FF355FE8CD53FCCD7276C4FF352DE6987 +:1023D000B58779B998F6D08EE85E9EB2DA01DDB1A4 +:1023E0005D54E3F6E8917FF87589D3DEB2F7117793 +:1023F0000985CF6DC7825C1FE4FA7D4B9810C27EC1 +:102400007B85A574DE681BC7376D7AE6E1F78FB967 +:10241000DED8DDD42DCCA8463E795E9800F5E606E0 +:10242000452BDE9FA1FA65891E01F3F5C7DC17F382 +:1024300098C4173C8F7EB7F0F3123AAAB9243EBC79 +:10244000C931AE92ECFDD46FC992B4B0149F4183F0 +:10245000CD0BF2F7E34239B8F87D317ED74C362701 +:1024600058006FC07329E9B5363EAE7E7C7B095FAC +:10247000A4DF8490635C80DFD2E040FCF01E65271F +:102480007E4AF65686ED14C08BC3E7F8E07BC44F56 +:10249000017C160707D71F477B45B2D35ACB785C20 +:1024A000A8B5F7AB59CCBB69ED10748C27368F5C9F +:1024B0009DC5FB5EDEA72B68414FDECDF39FBDC1FE +:1024C000BBBFC826E7FAEB9FD7327D97CBCF8A42B6 +:1024D00005C73ECB16FC4F09D9E76B82D307B7CFB0 +:1024E00059FD54AA37170D0BDAE79840FB1C886F8B +:1024F0000ACA07CBF4BD589E2BDE4DF1BCEF6863D2 +:10250000A77A1DF7216F42FB9DFC2F7E3EE0C1A400 +:102510004ECF83BD4FFAF9FD8C1205A93AAD7CD39D +:10252000E5756BB7617EFEA48C7DCF7FC7C8F15087 +:10253000EFE147385DF6268D5D3C6FAD8A9EF7264C +:10254000619C722E4EBC2FCAEBCD155798B8FE1E5B +:10255000B3E2664A995B0F7AD972DACCF1BEB28CDB +:10256000F96B281E6C0CAFC576B3BE807875005E23 +:1025700038AEA896DA361EFD840E7EAFC55CF10536 +:10258000BF330F6208B85927DC87D58486F1EFE5A1 +:102590000BF77A0AE5B50F0507E382369CC782166A +:1025A0009C5B4F7E523829BF034E87067086B27BF4 +:1025B000CBF2E306CB53484F2FC615809EC7F17E62 +:1025C000C1E90497F8A225C61E1741DF3F12610634 +:1025D000DECBE12D094E49B18B878F34C57531575C +:1025E0007C67DB4AE8E73B87F83D20501EB90AE7E5 +:1025F00035C3E7B5BF3D54FFF2D421C74BF36F8F0E +:10260000F73B514EB78B1F6F239D3FF05A71D67D1C +:1026100065BC3DB3E2848AB58E940C8F272A181FBF +:102620009C5C00CE27BC4FE0CDA03B7E087C6DE0DB +:10263000BDC3EFFF52A47C355B8EE7C3B1E386EBED +:102640002D7F799DB5DE9E047F0DD7C77793517A94 +:102650001EB0D65F265945E5B341EE7FED4F1AF423 +:10266000BE39594BEFEB7A9BBCE5308F5DCFF37EE3 +:102670004B58AAB41CD7C16185E1BE4C5771B694C2 +:1026800092A2D55429E6316D44FFD3E1DF6E9CB4AC +:10269000AD14FD9083B2F16FB8CF986A0AEB0FC109 +:1026A000F3C8E3A76EC4FB7C1E3DA8D0DD1F8F6D71 +:1026B000FA75E93770BE9FE2141D1EE27E6913961B +:1026C00071DE27F1793F72E27BA9DB705D0A8CEE47 +:1026D00051DC37E538FD2ECDB1294FEB43C54777A7 +:1026E00006E2C34330BEC023DC6F0C5433FADD82F4 +:1026F0008B877F9CF2223B42DDFA50EB05FAD10B2F +:10270000F573E4043F07D63189F373A08B9F97DB01 +:1027100037E54029F2C5B183C7297FBEA3E482F023 +:10272000AB8782FFB0358E7D074FED6846393C4957 +:10273000C1BB07D8B1470FDC88765007D01FCFC97F +:10274000747CA677C76D500E4CF6B342EB13FA9922 +:102750001972E8A75C3F6FEC68C3F6D6BCC1B22A19 +:10276000C5FB560286427131980717FD3AC677EFCE +:1027700040B915581BD6514F3CF6E8D3A585CE2B52 +:10278000407F9FC3FE2E44B77D081FF906E063FC1F +:10279000F8D853074A916E0F4FBA20DDAE2D04FFD3 +:1027A00011395B8AEBF9913DD6B919A97D6425FAF7 +:1027B000A387CDFDFC9E8538E933599B5D43FE6AB6 +:1027C000889F4B98ACC6480E5E0A0448631C3BEADF +:1027D000DE4F51A406923FFECABCF7AFFC5DCAA90A +:1027E0000FF2DB5DAA82430CFD8D8BF2FB2272FDA2 +:1027F00073FF4E2D73D71FA7C6B268E755211EC6BB +:10280000E078D4BCE09647800773EA81FC7655886F +:1028100007C0AD1E040FE31937BCA81663F83B22AE +:10282000C8104F15A047B535AEC9517E2E7A62A7A4 +:10283000BBFDE6D030A22BD227E0C40BCC822FD335 +:10284000BE2897ABF9702B526E3807425C7FAC7C88 +:10285000EB7ABEBF1663DD180F1F8C2EF9EDA17F3A +:10286000A2E76074B1E5BE6D3F8DB3C655658D4B73 +:10287000CEC45DFB99E3D36EF8838D430AFEFFE976 +:102880008BC7426E7DF1017B86F68D1FBCE7691315 +:10289000E5AC64C5910235FC5C6EE0EE0D8487AD5D +:1028A0002F02D53C4FE068EF6B7E94738FF58E2B33 +:1028B00078EFF7E260FC59A75C605AD4B5EF6DE29F +:1028C000F9964978BF954A71A6402DEF0FDA1DA5FC +:1028D000F567F56BF797B2EB2FB7EA2FEFAFFF7CF9 +:1028E000A1FAC7D03E26FB93CB03B151D985FB2972 +:1028F000A882F05CFD0C6FBCC7899F18E7E774ECF9 +:10290000BC8C0E2B2F03F32FC6E13CD9F917F5FC35 +:10291000DCF9F0B189CB0D8AD7F3FC0B3BEF62F009 +:102920007B6A32FC3E11CCBB0078674F083A9E2789 +:1029300011C28D137BAB7370079BC7FE7CEBDE6906 +:1029400059BABF202B52FEF97AFCE4C8A38371FD6B +:1029500021347DF071B5E6C6B5B0C231AEFCF1D818 +:10296000EDF37F57253F9F243F8F8449FC7C8D4D9D +:102970006FB4B3310ED5AA717D83BFDF877128D1C3 +:10298000920F73C59B54A4C73A4DA23B56577EACD9 +:10299000903D2883FD82F12C31C2EDA5FEF1686ED9 +:1029A000FE97E812388C5772BB6B9D6492DD254B05 +:1029B000093A6F2996F1B816F81B2AFDEE90966F2A +:1029C000B7D5F3FB12ECF6AAE9B2DBECFBAB57CAC6 +:1029D0006BF8B82C78A2B53EF3E1E5AFB7B2F0D012 +:1029E000F699CEE205E3B5EB2C3FA8D9DAC7B0D70C +:1029F0005F0BDA67E3697F89F6FFC428DF5794AC81 +:102A0000F27F84789C3CFFC92A2F8EBFB604C20A8D +:102A1000D2697B207C1C497BB2C94BF37A22CFDF81 +:102A20003F02E61EF26DEFFA8974AEF0E87A6F1895 +:102A3000DBB5DD3D2EECB4AF7ADBC70D795FD5EFAA +:102A4000ACFDE8FA30C7734158273CE21253901F9F +:102A5000E377DFBFCDB9AF11BF9BEF0FC0C4CF434A +:102A6000BEF95D539DECCC43B1F3D6EC727EFB5CBA +:102A7000FE6CDF187EFF231FB77D7E7951AD35E1F7 +:102A80004CFF2BB4676F8D8A147F5EFDD4EEE37824 +:102A9000FE75F54CAF86FEF4D5E71E3CFE6C04CF08 +:102AA00063F17B8D01EE713CFFBAA421C0F8EFFB0E +:102AB000C4C238AFA79987F2494FB35F84A739E8FA +:102AC000725B989F4761ED32E539A6E07F2817BF1A +:102AD00092965D7991CB3ADDE5A5EC9A91787E6787 +:102AE000E97D32CB08981FEBBE1FF9C630DF1F58B7 +:102AF000C6126DC8C7AD965F7EC7F72629B8BF7EE0 +:102B0000EB34AD429C92C363B545F7B781DF74AF38 +:102B100003BF6046C138CB6B87A65D7F15433899EC +:102B2000B652B4CB8B59C17DB4C5ED6E3C2F348EFB +:102B30007CBCED3CC8C1F090BA781E727EBFA9B0D3 +:102B40003BCFF462EF01CD209F111FB8EF01BDD83C +:102B5000F6FB2D3EFD4BDB770DD27E5D2411C37D50 +:102B60000AFBFE29458DD13E8A20F17D9A75D10B55 +:102B70007C2F83EFE210DF2B876E8FE78AF1BE4058 +:102B80001351A2FB5FB93E3B9AE4E7EC9BE5D8DF2B +:102B9000D079AF5F89B45FD65CCC8ED13D9D82A0E9 +:102BA000A39F676A5F2A423E337F29463C15D6526F +:102BB000C2FAA1F9749EFCC9B06CE5C1F78808D7C8 +:102BC000FCA3564FBF67271B51FCBD3FF11B7CBFC9 +:102BD000B4EE8F06E995CF061B64943FFFF4C8342A +:102BE000BABFEBB6E03C09CB3F0A73FBFAF4C38FE4 +:102BF000CF60784FC9A3219625B99051D01EB9ED69 +:102C0000904872E2F6EF8628DFE7B627EED8B700E5 +:102C1000FA17BE17E2BFD7F9C4B2033CFFB699DF7B +:102C20001BF5F4B5FF9AB2C68529DECD4D563C2B77 +:102C30006544511FDEE165B7E03EBA4D079BFFE6F4 +:102C400004EB24BC87E2B6AE62DA47EFE75B09EA41 +:102C500057E3E97276CB3505ECA3D7C23C4EFA4E6A +:102C600048A17B5385AE2337D3F8BAFF8EC62BC05D +:102C70008CFC1EFA7BD11A27D4A371A40E0A99F1F9 +:102C8000F0FD9D83021F57F7A43D9862785BD71E25 +:102C90006511C521791CCDC6774E575D0BAEDB396A +:102CA0005AF158BC0760CE771F25397DFB773F6E00 +:102CB000BB12DEDF2EB2BE0520AF56758994F753E6 +:102CC0001F14F37EE782DFFFBE924422D47FF28D91 +:102CD000792F43BBB7412E626AE2DB3DBF577E8846 +:102CE000E57830817271D561F73A5FD5F59A82E364 +:102CF000C2BC9F321024577FE4CEFBCEAFFF013B16 +:102D0000A7E03EE1AAEEF5943FB5EAD0E97FC3F52E +:102D1000B22A4F5EBC8DFF2819A86FFD45F9F6ED6C +:102D20000B33286FB36B7841FDD79FC767C98FDB23 +:102D30001FFDE001FCDDC0779EF8C30329A0E78AF0 +:102D4000FFFCF707BE8E76D28F7C1ACABD550FFFE7 +:102D5000FE817F84F19E3EECF5209F9C79F6DB0797 +:102D60007640F9CC4B13A70A50AE2CE2F2E8CCE344 +:102D70007F1AA9039CBB9E9D3B0AF9F1AEA7E68C86 +:102D80001A4A0F9E01BECA38F8CAB617F5C3006FBB +:102D900014149FB19E79F3F1CEE36715CC07FE5072 +:102DA000607D28D757767FACE03EC87193F5217DD2 +:102DB0008E1E7AED389E0B3A0DF3E32D303F30EE48 +:102DC000D11EFA1D94EC68BCB761E5A16BFFE6B3B8 +:102DD00035F8940D1DE787F5911E1930AFBF847942 +:102DE000ADC9CDEBA0F3F8C87AB2935675C33C4E8B +:102DF0001E388FA7F11F3307CEE39C22775EE407CE +:102E00006CC5833BF0E3A1C2F730D8F378C7537F9A +:102E10003BA43F74266FFD0E46E7E502C74B2B32FD +:102E2000AF2D9A8EFC104845699EBD9905F0ED4C7A +:102E3000EBBF976392E59B72DFCD4887BE67BD1AF3 +:102E40009E8F5FF8EC6FE8FEB6334FFD5CD149AE64 +:102E5000B3B000F2F40CEBFFFB05C6D5575AB9C965 +:102E6000ABF687B29877B7F2EE8FE6FD5B0DCE1B1F +:102E7000FF5D9A95992FCDD7F11ECBCC081AEFCADA +:102E80000C5F0F2B3347AE433B359FDE1B8AEC7341 +:102E9000D7B9F9C47B8B571E3A310FF96EB079B4AC +:102EA000C7ADE1B8AF80EFA9DFBBD6EB407EE953F9 +:102EB000506EAFB2ECDF337BCE1E5F07F5B33F54ED +:102EC00034CF959827D0A7909DF0B8A8E1BDBCF964 +:102ED000F38DFE2AE655E49F7BB09FF97CD0529497 +:102EE0009F1FC9FD5D9B2E175ACF171ECF27A3D753 +:102EF0005D453AC1CDA75B53AB97E4F16FA778C9A5 +:102F0000CF3921EBDBD740BF7DCFCB6C2F34B979E4 +:102F1000EA1BB25EC0CEFF5D9EBD734BA3D0360AE6 +:102F2000DADD922AB6F28E3379F6ACC874077D5694 +:102F30007AFB7E4B79993FF631DC6F107FE41310FA +:102F40008F550FC8E4F7AEF2F37BFFDED8EDA3F8A0 +:102F5000CCF6279337A33C7BF7012FC5E5963DF0D0 +:102F60003DA2CF523040F0DCFAD1A7D67C88F2FCEB +:102F7000CC8322FE560A5B16E8A675BE6CB196009D +:102F80005DCFDEFDFEF90358FFD64702FCBCF753C8 +:102F9000CB6E467D7F66A757C0FECEFCF83704FF98 +:102FA000CC8F436405FFE1E9EF4D76C607C00ED430 +:102FB0009DF18C5B9DF7C7933E76DF277F7BF7A65D +:102FC0001EE4FBDBF13D6FC77FDF06FF66E07B465B +:102FD00076CAED878B4CF4131DF508DE2A6FDFD718 +:102FE0000CBE8F56EA21DB3E5B8AF37D7B971B8FFD +:102FF0009F15717DBC4AE95BCAEBA74B395FF45062 +:10300000BBDF5872DDFE9EDFDEAEFFABA2B1797092 +:1030100078FB955E7EAF65FEFC9FB4E0DEDEF5F1E9 +:10302000C442E7DF06F6C3DFFF83C0E8DE2AF6B856 +:103030008FEE475FA16427E0BD84F03E86768B5D0E +:103040002EB5FAC532DA573FB4F27456F879F969F9 +:103050002B9F6C4518CA88AFDA7B06E7F78EEFF92D +:10306000E8F7B0EF78FA371FBE0CE57790E630A3AB +:10307000EF8CE8F9F0EBC00FEFEC16F12C00D8194B +:10308000D9F29D28FF1EF7B2BD50E51D395BEEBC9D +:103090001FF18E677C279CF1823BBABD79BF779088 +:1030A000B2CEAD35509EFFFF03A4CE4DAA008000E6 +:1030B000000000001F8B080000000000000BED7DE9 +:1030C00009741CD595E8ABEA5D6AA9ABA556AB5B64 +:1030D00096E4D262213B5E5AB20C7622A0248C91F7 +:1030E000C1402364221143DAB20039114CE361116B +:1030F0000344A5C59BF0D25EB4D8F2D2B631316399 +:103100003B9119F03809996981212661660421C42F +:10311000244064431826038C70C0E6FF4F867FEF7F +:103120007D5552754BB20D99F97366CED7399CC750 +:10313000EB7AF5EADEFBEEFEEE7BEE680975BF3B4F +:103140008531130BEF1EF230C65433DB0FAD99857A +:10315000BFCFFB9912F6D54A785E06ADD52EB507DE +:1031600018EB494E650CFACD6FA6446D026385924B +:103170009BB10C18CFC2B38233185BD952B5E55D51 +:103180000B74ED2A93BC381FFCC9D89ADF1B2A6642 +:10319000EC7F43F78B3CF80FFFAE64CC6A094981A2 +:1031A000E9D00A2CD8EF64CC620EADC983F92D3E6C +:1031B0004F890A6357F9AA1501E058375D2A314152 +:1031C0003F5F12199BC3980DE66705F0C3F1AD0C84 +:1031D000BF6BCF369F19B233FAFB02FE7334FC8209 +:1031E00031784F52D8F0463FFC5068789ECF9873A4 +:1031F0003AF48B47C75B3D00B7A10F23A4F7BEA6E7 +:10320000F5E1C33F1102BEB34887569BB41FDA3ABB +:1032100016B1E0FCCC54FCF146C0A367D917454376 +:1032200080479D79AB4581E7D255D33FDE3879148D +:10323000CFBA67570F0AA9D8FA97B199D03A8B7EBF +:103240008F2D63017B128C7F5E60FD9DD0CEB7FF1A +:10325000B1EFDDD9D0B7B05AA4C771ECA78FCE7348 +:103260001C7F87EFB433567504BF678F58EE85F621 +:1032700027DAF859CF066FBE1EE0BAAD714A29D2DF +:103280006B7A7FF0BA19D05FD258506A8275A892D3 +:1032900004A2DF714B7FC6345C5FF82EE2733B1BE8 +:1032A000B6203D434CB2125D5994C6D5B380D66763 +:1032B00044CFDF3659F676E68D7D7F492CBAF87A11 +:1032C0001872DBF1E8F5B01CECF613C32F00382CB4 +:1032D000D42F2D486686F98E055E4C6663E703FAA7 +:1032E000F60E8D475F4126FA06CC76938ABFDF3112 +:1032F000654FA7304A8F11FAA69CBC95217D538A51 +:103300008E639BF85C6F753812D7E3137C047C5294 +:103310002D290D12F07389A4DC21C1B826FB70AEF3 +:1033200019F8E509576839FE7E8F2934D90BF4F86E +:103330003027744906D265101667DEF9BEA76AF217 +:10334000A18A31C0E78D064B14E16F4BBEA217E591 +:10335000EC64BB4D32015E7FC42130CFADAC9FD653 +:10336000E18DD4EE1CC4BF12044B98870F23B7C560 +:1033700090CE2C35D00972781B1BB280F0B26F034F +:10338000EB62BB94C9D42E630AADD71D2CB68A0953 +:1033900004B78A78E870B3ECC15C9417F6723AE12E +:1033A0007B21B8DF6D89F4A13CEBBFBF20851EC334 +:1033B000F91A40B0AF2885EF4436F519E5461FD716 +:1033C000AEF129B32B97DE94823A605685F352C64C +:1033D0007A357D50769948F3FB62F653C2CCB1F34F +:1033E000B0D07C65443EF371D944E6047DE2D35805 +:1033F000477F2F719CFE7D5FF355EC9DD908AFB2DE +:103400000BE14D842B11DF2735BD528FEF19E4AD51 +:103410003E245B65185FFFB94BC1F7CA2EB3D0B825 +:103420009D12A39631E545D487F52116EE2CC16592 +:10343000EA51104F1DCE44BCEAB7AE16D6215F2B21 +:10344000F6C014E9ABE3F963C94CF4D3E165FD2F91 +:1034500056D82FBDF07B4CB1B08B19577619C72FBA +:10346000006441FCD8AD49D1FD79F8BD76FADE5A49 +:10347000D087C86F89743C6D95678A805F77913774 +:10348000AF0DC683F60821DD4E27C933CDC6DFD385 +:10349000B4DFDBE499A8DFD7D665D1EFFA3C6B0542 +:1034A000AECF7479ED1659E353D837077CD5C0BF3A +:1034B0000D1F4DDFD50C7029EDA932CB853E7E075F +:1034C0009F7BD4D33F80F91ABC2CBF13E8DB6C661A +:1034D000B46E30B2A81AF8F05F5A0EEC40BBD7D0E9 +:1034E000794D1183DF974BFC79F39A6B8AEA0DDFF4 +:1034F000D3E1F8C9667F25EA89669800E73F6D7FCA +:10350000BE17F573BDE317BD46BD7C3A85F3D5B94B +:10351000B7AEF14E2379968EA05CEBCF3FD7F8ABD8 +:1035200001ED1CEAEB4AF6EDEAE9088FB46DFE14F2 +:10353000C44B29EA04B84FB7CEC8473BD0D0B9BA7C +:10354000320BDAD3827CC401F25EFCF891AFE13A2F +:10355000382550E020B7A7F73FC69FCF91F3C400AE +:103560008E63B5489FE2C75F51DC338D7A2742DF17 +:103570006D1FA127FFDD0EAD88EB5ACC02FBA149E0 +:10358000BFE144EE528067A3A6075D6E2E9FE9332C +:10359000455AA72D407F6C3FD0E649769BE8B93E5F +:1035A000CEE516A8CDB6845C6E68152570AA03F02A +:1035B000B1F958A013A6B43085ECF5166BB00EF532 +:1035C000DA87476C32AEF75A61B0F261D4FBBF4A7A +:1035D00062FB010FC7E44111FB1FED34B13658BF48 +:1035E0008A5B1BFD02F49B9EB6056C7908E7C93621 +:1035F0007C5E2C32D904E367B8F308BF22355C89BE +:10360000E6FDC3239BB242005F3AC8D020AEBB792F +:103610002815D779AAFD442AEABD8FFAAF7231E79F +:10362000F9F49EC8545D0ED080B224A6DA8DFDB4A4 +:10363000847E56C2F8FCB8E787DBFA2B10FEAE3466 +:1036400016D80BFA6192735040FC33E19D56D0EBD3 +:103650003E737F05F67D8DB0466E54E631EADBEDB4 +:103660004C6A8575C861F01CD7BD99492A8CDF2743 +:10367000F657A1DC298837D059320F2F6C13509E92 +:103680008FF17900C0F61223FE831AFEEFA70681A0 +:10369000FF3F3C365BC2FEF343EF8471DE0F8ED9F1 +:1036A00064A4AB2337FCB31C0F814FFCB0C13A4874 +:1036B00074FEF0A6245A870F869EAF7C189E7FF476 +:1036C000AC0D8417FC8A5A0E17BB057801FD2B162A +:1036D0006BB3C0F303B0AE689F0EE770BDF1C121BC +:1036E000318AEBFC51FF2F45EC4F753389B971FCE2 +:1036F000A088F036D53289F4A679B00DF9B1696B9E +:103700002943B99DF1E6F20FD18E37B1987512C2F7 +:10371000253B03FB6580333F965B3A1D5785CBE322 +:1037200007471EFC36CEBBE6A8906F82EF543C7D67 +:10373000EFEF1E85FE3DFD79A500296BD2F8F29CC6 +:103740003BCC709EBB55176B83F69E6C4EE7243BBB +:103750008727E96981A11EBAE7505214ED262B4F45 +:10376000237B3CFF9810BB12F1586F8D229D3E28A1 +:1037700061B12B61DCEAB5495115FAABFF14F505CF +:10378000A78FCA5961B13526A622FEAAEB0A5CF7BB +:10379000574C81BD00F724738CE825828385EBBEEE +:1037A0006FF1F43F34C8A37C176D39B6A3630AB137 +:1037B0004D16EAB791DF2DE012003D1FDA74A2CA60 +:1037C00003748E3A60C4D761FDDC9FAC5111FF6772 +:1037D000C0459A05AD6E6F8B63A93719DE6FD3F0C4 +:1037E000D7FB1F38B4718531E20758B754FCDE3976 +:1037F0000B5FAF7B9EB6D37A551C1B48FD06F4EFDA +:103800005E670F201DCFBDF5332BCAD53DFD82C8A5 +:103810005CF0FBB13D0CE5E89C7BD01A7422FD0600 +:10382000ACC857F3FB5FC91D32C8D787EB4FE4E242 +:10383000EF47DD32D1E703A49773944E6BAD83223B +:10384000DA0BF528F01DD277CA6FEA915E51D4D316 +:1038500000D3936E37B7B3E6582EE2B5D6AAE92166 +:103860000D0F59E27CF07DB785F0DCA7E9A33D6E32 +:10387000EEE7823EDAE38656990E0AAF8CF45114D5 +:10388000FD4D4B61953AC4707E89EB497B2C17E95D +:1038900001E3BFCFC7471AF71AF597361EE845FE72 +:1038A000D3083D35FE2BF8B12013FF1DE3FC7777DD +:1038B000BF4074FBAAF44AA45361CD065B2EC0F34B +:1038C00029CCDB09F49971F4802F348E1E6BFCCC6B +:1038D000C462B30D7D8D3E9543AFE4E7A25E3D9C8F +:1038E0004572F1D1A9815C017E7F5FA3D73FBBB94F +:1038F000BD87F5A844B9506F606C3FCAA533908F5F +:10390000FE9B3EDF6B1A3FE9EB00CA207FF10CE320 +:1039100073EE1FAD4DD29E174FF07E2A3C477B546D +:1039200098F89CC373EE2D4ED7BB8B19D1B5B0E67A +:10393000A30528BF9F82FCA29DAC28E6EBD3F434FC +:10394000E7CF26A42FDA5F77CC8AF2A8D321A9FF8C +:1039500014A7F331A033FE2E0DBEBD06F556BF8D64 +:10396000A19EFBE04F2AD1B5F37052691BD0B57907 +:10397000A8A2AD1EE7652C88F645A74FE5D01E1F0F +:10398000BEDF79E4C8345CC7AD9A1DCC36C75A9106 +:103990005EA25D76A3BEAEB7B130FEBE05701A243E +:1039A0007F45217B634BE3F67F4AEF7D271A508FDB +:1039B000B21409EDFCEA63268A83CE1C12A20CF035 +:1039C000F4DC54F6860B7EFFD76C2BE1BDE5D148C5 +:1039D00008F555D2A1E400C2B7FA5146E3D53D42FD +:1039E000743F90726B0BF42F81E731875D41FD9638 +:1039F0000D2A02DEBB3B38B8C002F3786A42B3310D +:103A0000EE430771273C97434E09F56B465044DB64 +:103A1000CFED14FC97C7A2143FD41485AC6900E71E +:103A200072A6DEFE1CCCBFE5FA077C21C07B0AA88B +:103A300043A4C3AAEB6F695B88F03F63227DF8D192 +:103A400033B3DFB0215FC13AA1DE4C8ACD23F893B6 +:103A5000007E87C19FFBE858812B348EDFADB73ADB +:103A60001E841FE8B78CCDC92FA17EF3A571F94C38 +:103A70000A062B14D4FB35D0921F13F691FE328721 +:103A80007DD506FE592D70BDA094C9C786487EA578 +:103A90001294DF2DD7171D3D097D8B2495203DF213 +:103AA000D344CD5F51F211DF680B1B46FDFB871637 +:103AB0003BB5EFB748C31D96513E17EDFD0B90EE99 +:103AC000794D92600259F9AE9975D820FE294B13B1 +:103AD00034B9891F2737062DDAB81A5B1A8EE3FA34 +:103AE00049970B7DDC77C2305F098D3BCEC7713EB5 +:103AF000D1ED4F9E0A7019F21ADF3DE018EE30AC9E +:103B0000DBF2A83BAE3FE2F769EF5F302E057DC8E0 +:103B1000201E70F029300F43FE5FCD94D03548173A +:103B20005B71C48AE6BD71ABBB5204BA5D6D5AE4E9 +:103B30004239B031EE3727CEBB05D611E9B7B6C54D +:103B40004E6D578BC4908ED1161FF537B4C8D40F65 +:103B5000A5713DE015791CD0ADAD5B97D67E53A322 +:103B600083DEEAE371C5ADC05F66E0738CA3010C30 +:103B70007525E68B8021D0EF30D7AE1A3481FF6BEC +:103B8000AEB19EC216F479280DDE334B211622BE4B +:103B90005118B77BC39437AAB3861AF0B9ABD0AE2D +:103BA000E27857F930D9B9DD56AE9F3ED2F22A3AC3 +:103BB0007E4D1A1C4D1AFF30B46B44470FD1DB9673 +:103BC000AD32E473BDCFCC21B22BE7A1FF9000F45E +:103BD000778DA5FF83248791D605487F57B9242286 +:103BE0005C579B9C64A73F890A947F9B687D75FA0C +:103BF000EBEBD158C822A6545C8F10F5A32D8DB4E1 +:103C00000E1B5AC2D4D659831DF8BDC6E8C7E7C5F6 +:103C10007FADC6EF1BF4F5B8583CDDC148DA1CDEB9 +:103C2000C7711E36AC623CE0997B5641FD96279BDE +:103C3000C36C2EF68763A81F1B147B189D5957B9B8 +:103C4000D28A71D47741E19A4015FCCD94D0769C0C +:103C5000C73337B400F3369E6094E0D5E1B830BF87 +:103C60005FDCB8D32D32E53147F29F6D66D65E86B4 +:103C7000F990E22D183FF6247F8FF2A4CDAA4DB221 +:103C800079481F511EF54EB35D423EACB3847E8829 +:103C9000703EB865918AB1F6B9CD5F8F613BDD1397 +:103CA0003C82FCB667E5AA5CE4937A977C16FD3B00 +:103CB000C61E5DF8F25CB41FF251ECDFF3FB250B7E +:103CC000ABD09E64CA0F08D01F4E5BBAD00370D72A +:103CD0004FE6FAD1BC65602DEAC77BD3941F73BA57 +:103CE0005ADCEFD9319F0BB88C83D7287E66F69EBD +:103CF000215EE94CE7761F681D32EA01E0BF9F2193 +:103D00009C3AFF390A13F86F11BB00FF318DBFECED +:103D10001A7F855E4138D3353E4C5F747E397B5DBA +:103D2000E3B3931A9FBDAFD9019DCF5235BD91F832 +:103D3000DDDFE9FCA9E99144FB9C64E2F67960DAF5 +:103D4000F65BD18FB73D5E948F76ECC99C4816C662 +:103D5000FF2E91E711365AC0AEC0FBD3B3CFDE2E93 +:103D6000039F4D9FCBA25352B18DE5E7CDFCF3E904 +:103D70005D91163C9346FA2C4A7AE83F60BECF89A3 +:103D80000FCC514DBFFD79F3BD9FE0BFCCB0F278B1 +:103D900089553289FCC2008FFFF6D5C33BEED1F9BD +:103DA00036A0FDB490DE19E67640A2D697CEF7098C +:103DB00040CF1DB796E27C7CFDA0BF15FBFAFBBE91 +:103DC000746E2767248D3C37A35D1C7DCEED816723 +:103DD00051BC5D74CDB5C7D9C16C3B84E1F05E5276 +:103DE000A11437EECFA5CB83F822D2E14646FED709 +:103DF000B9FC30F9FBAB738A4A54D9908FB686660A +:103E0000A523BF675B5523BFEB7C0E74B5FAE1BDFC +:103E1000F7E03DF44FAC917B4FA21FD5394FCA4319 +:103E2000B97A58C333355647FE566AA1487E5DE7D6 +:103E30009415275DE8AF827F85FE566771FE97F285 +:103E4000AB94F43DE4575D95CEE5293518207F2AE3 +:103E5000B52640FED597F5AB1A2279717ED5F51AB5 +:103E6000DCE0575D9F9E81FEEEBB763FC28BFE2E4F +:103E7000B41B8A2BDF463CCF1482BF887987D8C217 +:103E8000B7D15F741583BF28A0BE6776E42B07E81F +:103E90009764C4F7D180F05019ED3384F74BC85FB5 +:103EA0008C9C8FF44561B2B38EB99118DA87D4F245 +:103EB0005001FA27E0BF7E3BDD10EFBAE6C6FBB942 +:103EC000EF26F0F579EC27F1ED08FE53877A314EB5 +:103ED0008D22E7E4427FDE13BEF3BDBF712A583363 +:103EE00088CB3B2FEFA6716B2D89F4934BE3E92729 +:103EF000D3FECCFDE97A1E4DB93F9DF43A1BE56B2C +:103F0000CA2FD947F999FA5242FFCFB4035FF1FDA6 +:103F10007416527DB05ECBD6950CA03CC012853194 +:103F20007EB2473629683F401E36213E49BD4730A4 +:103F3000C536461EAC93412F1BF8F8403AF7AF0E3A +:103F4000A48FF87D4CF6325644FFC3FBEBBCC4DAB9 +:103F500098B342BE15318E2B3E6EA7FCD1544CA4B3 +:103F6000035C5F633111FD8C196C88FAB31035E87E +:103F700097405889FDD96C38D76AC2FD91D82AE498 +:103F8000C7275CA127907FCE6E1B7C5B80DF1FC89C +:103F90000AFD7808ED03CACB1C0CE10356D4D712F6 +:103FA000B6C04BCBEC4EF21BD93ACB07C6FDC5FFD2 +:103FB00063520EF3F5CB96DE4B36AE8F3A820FEEA0 +:103FC000135898FE17D5E80F3C62D837B50CB9974F +:103FD000611E6C33FA23C08F8507B8FD6D7F53A037 +:103FE0003CC656F447C84F61F4BB7A2B8BB6639E30 +:103FF0003437704A463DF5BA89ED277A05F230BF6D +:1040000096F966B284EF817C5F76B341BEDB41AE48 +:104010006240CCB42A85E4EA5C0AD8E999067D6658 +:1040200009FD1CE922A4CE0DE1771E3C2DC8A8A7EE +:10403000D21705C8AF4E9B257F2C921FF3C1C297A4 +:10404000310979897C04FBED96F7175681DF92865A +:10405000FB0959207F5B3E7C4985F97F952E6B716A +:104060005D44B1207CE0EE215DF53EBA7F48DFF48F +:1040700069CAEBF8DD7735FAAFCAFA8E3F34CEFB6A +:10408000AA363EEDBA45B10E806FA5C67F4A2DFF18 +:104090003D917F2D1E1E0F407CF02EAE93590A528B +:1040A000DFE4E4F8C3EBF41EF0EDFBF87DDB9B36B8 +:1040B0005A675B763CDF26CE7B46E3DBFE74E54346 +:1040C0009CF7DF960E3D807C067CF5713AED2786E5 +:1040D000260B30E4434BE8FB66F87DD8A49CC1F97D +:1040E000815FFE989E3131BF8CC89DDD49FB37CB87 +:1040F00046F8A6D48A799D86CF5D0CFDCE65CCCAE4 +:10410000643BE547699F1DF7A77E5A46E38328175E +:10411000CBDE5CF8E25BC0176F4F323161EEE878BE +:10412000A68D5799B220199E2F5B6423396A787344 +:10413000DE2ADC7794F2CD61011DD8888DC9867D99 +:1041400022C3FBC2178206920E5FDED8F999B16FC7 +:104150001ADB3F2D687CBC5EA0FDA6C4E7CBECA9B2 +:104160006AF2CCB1F3E67BF246E44705F969D0E4A4 +:104170008769F25AE491E9F9C1341E7F3798158AAC +:10418000BF336B2511F3EAFAEFCB3CCA02CCD74B15 +:104190008A54DA0E8AEB9D4395FF384D9E580F2EB8 +:1041A0008B7C6193C78BBF15267B800E820EC78BDD +:1041B00001D56642B90ED23E8815F80B5B3BE68D01 +:1041C0000B70BDFAA975B2416A53213EC556629281 +:1041D000806D1A0B50EB61416ABD2C4CAD8F45A828 +:1041E000CD62FDD466B3416A73D930B5329344E3EE +:1041F0007E7E3EEEE841BF9005A93D9CC7E39BD380 +:10420000AD6686F934887728AE51DB6C52BB87E205 +:104210001C7ADE0C718D0DF8ABD193AFEF2B555F8F +:104220000BCF1FFCA5A9A493E8CCEB3F12E963B226 +:1042300017ECE830E423DB9FB4D74681CE875BE5FB +:10424000DB83067DDFE8E17E7BA387FB0F875B03D3 +:10425000274308D793F6C05E36BA3EA3E3F9B83BCE +:104260003DDC3E14D65CF136A3FC60AA8C7EC644CD +:10427000EB35717EB42417EDC7692D3F7AFA5445AA +:10428000AE00DF7B77FDDF4EC33C29F80D56019C65 +:10429000D17737FD3A9FF443CCCACC5EC3FADE1027 +:1042A000600AD25906FB59ACD9CF49176F3FA77B9B +:1042B00094BFF4001E277E9044FB242B80FF6DA446 +:1042C000A703ABB06EA01EF31BB85F9C6067CEA6C1 +:1042D0002B7F85EFE9F401C6ADFC3DBC7FF0F58294 +:1042E000B83A89351EAE970EE7CBF718F3A3E00D69 +:1042F000D53F06F3BFB3FE125AC70BD1E39D4D9CC9 +:104300001E67D3438F79281E9349BE4EFC605A2600 +:10431000E6B12F04C7B6FF6038501C501FEAF27E8A +:10432000F08A402EE6CD1BD6D9F8BE76E46AC548A1 +:10433000AF86480F6B4EE3F50B96B4B1CF19CB7136 +:10434000A3FED5FD1F5D9ED1D6519E8385ED88EFDE +:1043500027D97BD12CA37EF18DC7F73D9AFFD8A139 +:10436000C541AB96B2A8D19EAEACEFFC17F4831D4D +:1043700032932F413F58DBA7B6C7B65D950ABFDB26 +:104380008B5909C6E20E3BFFFDEBEF47D95203FF05 +:1043900027C95185FC756D3F7C44BEB4BCF4AA9C12 +:1043A000F83A8757353979D96325B9F1B507C24845 +:1043B00027B31460F58671665679DC83CF4D25F4FA +:1043C000DCE219F3FC047FCEE3E8CC2501B6DC691E +:1043D0007CBEF065CF57F05B573BC37609BEB35A3E +:1043E000B65511FF6497C5E5690E68F23E2A3F7C19 +:1043F0005D56B5B000FA3F262D6F06BF53FCB2C61E +:10440000AFA0D387F8D5AAD0B6E75DEA731AF068F3 +:10441000776BFB609FCFF6DD6CA4DF9F669F0CA1DE +:10442000FECBB3D27EE38B290B5CA79D7C9D311E16 +:10443000726408717074B448018C773B5BEC015C6A +:10444000E7194F4799715FA6E37B4186745C9976C3 +:10445000AD82F2613673BE9E798CAFA7D9CEFB9642 +:10446000D8FF7A0EEDAE595BF7917596CEBFCE6B45 +:10447000067E345889F950677E29CFDD28B48F999C +:104480002CC94F617C61CEE0EB6E95FA63328CB340 +:104490002AF66111F448320378F5F5213B0B7818C0 +:1044A000D6638D45F54938FF9F4CE3D6CBBCA9AD0B +:1044B00007EE8FBD6B88AFBF77492835037EB71CE9 +:1044C0005362C9C4BF212519D7C6797179378F2D99 +:1044D000BA261FF74DEF4F22BD0F3AEFDA14787569 +:1044E000A728C7546807D43355D85FBF262980F260 +:1044F000735818AE2A407F619E99F6737439DDF9BE +:1045000075800AE0FF3F5E07C1E9887C7F610A8C05 +:104510008BAAB6418A431B4FD739A1BF09088B76B6 +:1045200063937A3A7215CEA3B0C01458F7CD6C706D +:10453000DB5D06BD752693D73B6CF8CC5485747F44 +:10454000EEA1A334DFBE56DBEB08C7BE9786EA5068 +:104550006F9F7DC86AC57DE157703C7C77D71E2B65 +:10456000D93BFA83EFEC2E09EE27FF5BEB67675729 +:1045700053FF332FAFE7E96BAAFE7511CC93D2C07E +:1045800024BE6F133389738D2DB38BBED17E221D54 +:1045900065ADBE24F1F73D999C6FBDEA7D0E8C9709 +:1045A00056AB6611F7C5E4F030ED4BA69433258A7F +:1045B000F9AFA6150B110FD7927AAB0070B91A9804 +:1045C0006885DF6B32383E725329BD97B20EC68FB5 +:1045D000F39D91716A7821E2E75A22926CCA300FFA +:1045E0007DEF02EF2FCAE0FAA98731A2F36E4BAC40 +:1045F00015EB0A76DF2B09985F719587EDA88F1A66 +:1046000034BEDE04F3C7289E0743006DDF483F46F3 +:10461000FDDDF75B055C9F9D15DC3E386BC26B0BC7 +:10462000A1EFAC12A9BF53DBF7DE792FA3FD7C50BD +:104630005B7ED41FBB1EB25E47FB38E5B00E79D45B +:10464000127D763F6AAD4456F6B2ADF34CF85C1D70 +:1046500066CB412E7778ED04B7AB6C98A1DC78B5CA +:10466000F189F8A5FBF83A38E76F660F217D6A19E2 +:10467000D51B404BE3775986FC5EC37B7FE7E57C27 +:10468000A7F351E27C733278BECC1588F831AEDEE8 +:10469000CC383E6A9995FCE73176C9CBE9E62A1F0A +:1046A000B6A31FB3B25CACC2EFEEB40C525DCEBA8F +:1046B0007B158F0A43C470B4F55D278EE7FBB9EB19 +:1046C00096838B09FDE8BC213FEAE95D735EA7BCD8 +:1046D000C6FA14672DBEBFB2BC34BC0CE32E679380 +:1046E00057908DDFE3FCB0558C64611E7B6FC64B29 +:1046F0009D1DD998F463140FEEC87CA513F3519B4C +:104700008BF575EB77E0BCCF55A5CD0EC07CBB1A01 +:10471000AD549FB239A4E76D247ABE5D38F55211CD +:10472000EAE93A51423DDD5D7EA60AD7755F215F19 +:10473000D72D55A5AF14437FCB220FB968EE75A2D4 +:104740007A0918EC527FFDDE0CC0DF5D259EC2BEEB +:104750007B7E58407EC21C11FA736E4D34A3299C97 +:104760008EEE5B802F0494FB9B2B103FD05261ACEC +:10477000539294A080F56CBB409FE2BEC4368B443C +:10478000E3A3158CEA27DCC1A4D67DF0FCA757D99A +:104790001F6024B712BDBFAFC2CEFD382031D6F99D +:1047A00051AA16E04D796D90F4C19010FA650AF99E +:1047B0001992D008E377FCDE49715DCADC57793D78 +:1047C000737DA8C006CFDD431FB7A00392522EC64B +:1047D0002E9D89F9352E2FEE1A2B8B8B47CC1C8FF3 +:1047E0007D5717D17E9947B3DB40473FDA934EBDE3 +:1047F0002E4CEB8F3E1F54701F66C7BC4B280EDC3F +:1048000079BF5740BBB6EFDE27FC982F4C697CFD83 +:1048100061FAFE9BFFF227DC8749510CF118474FE4 +:10482000A03CC99BC9317126B6772FC271D2D38102 +:10483000DBA87DD3718AEA9F156B5C3CF99E4F79AA +:104840000DD7C7A3E7591FE3FBDC64812FC5788828 +:104850008DE47F70BDEAF1593E56D7F2F1295549F2 +:104860009417D9F00C1B40BBA0081008019F1D39FC +:10487000FEAA8A7EF469B990F2023051C501E86F50 +:10488000AE2CA6F5382C0CAACB909F963A43B8BE16 +:1048900089F8DCC5425457BBDBE7E779D379AFD958 +:1048A000911E9E649EB7C2BDAA18C047253C22EF48 +:1048B0008B5E62718AE3FE3E334F8B9B8624D41B52 +:1048C00093D6E5A7911D9086C9AE77326EF7544511 +:1048D00024BF23516E97798591F816E3EB4C6C81D8 +:1048E000469BC5B050E821FCE56700EECDD726F920 +:1048F0008DF9E0E5DA7BA939C18AE0F4D1F77DDAF8 +:10490000FBBBE67608B8CEB094B29BF2374CE0F928 +:104910005F2650DDAE369EE402E83CC7240D147BD2 +:10492000E85DFA9E5B51EFA575DCCAD711C45AFD4C +:1049300002F0CF6A8AE7437739B7970FB7DB06C52E +:10494000F2D1F5CBD0E8B53E3B48FB7C1B05266F8A +:1049500086793343F1F4778FC9230407509E523F81 +:104960004891499E6AE2F9A8EF8099C5C86F0A91FB +:104970001D189B77E0EB45FC0424BA73872D0EDEEF +:10498000694F9AC9EE6C800F61EA29B9381E1FE998 +:10499000B87A13E25DCF0CBF035C927AF44124E64F +:1049A0003621DEFFEEF53908D9D7BD3CFE4955FE6C +:1049B000DD66C4CF933AB882F8FD522B43BDDD6E5D +:1049C00019ACBD0BFAEDCF38592BC33AA548D60A1E +:1049D00098EF273EAEBFF5F959768D1697F07ABA63 +:1049E000696E59C4FD1858BF5BD1BFB1983C25E82A +:1049F000EFCC50D8ADA80766F87C423BD1AF8DF81C +:104A000062359316A23D53C10FC2F31ECFDDEF7581 +:104A10004C477B7B473EB3011F6EBBEFECB6645C3B +:104A200097933611FD81DBBDBC1E6B63F9E95A7C9F +:104A3000AFDF6E29A575338742F8FD7E9F9D91BE3D +:104A40007C297489348EBD42C8B8FFA29A78CB34D1 +:104A5000BF46B18DE7CF3873CE3019D66F72792C3F +:104A600086E742BCA06FAF81F590CA5905F9130AD9 +:104A70006883CB809EB5432AAEB33C97F7E500B47C +:104A80002024F27DBC65D91E8A0FA62DDC9BC6C6EC +:104A9000854B25BA6E16E5271FA73C08F7FF51D7AF +:104AA000880679D3C7FF7B86B68E5A9D6386C2A2DD +:104AB0007B0DF92F5D5E40AF0EA01D9298246F977D +:104AC000C6CAC9AEB91EB223A9A04CD03EFED97247 +:104AD000A3F1B999A931E4C7FF6E723307BFF1752D +:104AE000FC75D1A24A27F13929D180F7BB8FA9D310 +:104AF00047D711FCBDC0F9EA0D568707DF40F929F9 +:104B0000B8CF4AE6C2198E90BF95F588BC17F392CC +:104B10001BB29F1344987F58D38F599A1FEC7A8405 +:104B2000FB619BCD0111D765B312B2A2DFA9DBD126 +:104B30006D39F54FA0DE3EABF9652CDCF8C5179753 +:104B4000324E2A13FA61AC123BF75F2D56929FA9A1 +:104B5000F64F12E451F88E7953B97F1C18560A3576 +:104B6000FF125FDDA4864FA0DF9F912D12BC9BCD6D +:104B70006CA088BECFA456C3FBFDDEE478F9F70C29 +:104B8000C6C5850F6BF129F9814037B5EBBAEBD07B +:104B9000BFD2E1CCD5E074360F2B2807F75F7D46F6 +:104BA00083231ECEBFCA48E57EA21AA3E78097845E +:104BB000806D2A07383D13C3E99CBF829E3BB39F9B +:104BC0004AC6F946E791795C5105D1671ECE03EFDD +:104BD00071B991709EC4757C01F19C83EF336EBFF7 +:104BE000C6F817E7CF231F4CE3EBA55ECA34FF21BD +:104BF000E1B97950C5BCE641A04C04ED7D023FBE51 +:104C000098199F4FA65C0F02CA0679FD4AEA109DCB +:104C10004B83D50EEC07614F39F42ABBAE0C9F4B8A +:104C2000675CA0D7520F89AA0DFDA2B9F17ABED454 +:104C3000CBB478F41CCDE32CE771903300813BD2E8 +:104C4000A7E1CE274C86B8F349AF95E8F7A497EFD4 +:104C50007FE87EFEC319B2A6BF8779B28A45286E67 +:104C6000395C11AC433B1F1830ABC8BFEBC3697B49 +:104C7000307E6127F9FC672FF7EE41FECDCDE0F1E4 +:104C8000FB9E54BD4E9CEF878EF83373630E235FFB +:104C9000E5F81CC398C7DD78F91315A8F70BC05EBB +:104CA000A01F53D0C8E17730D582FADCC1146A4B1B +:104CB00033ED3AFDF4B895F47E34C0A236C3F92C36 +:104CC000A776EE2F30D0917E03C6E1F33D74CEAFD0 +:104CD000FC63B32708FD88C2FBB332456DFF3DC6B8 +:104CE0006672FF6318FD347DFF7DDF7ABEFFEE9EA6 +:104CF0001F63D3B99D203F2FA3D924E3790D4989A0 +:104D0000C5D09F76879C61F4D79D8120D58548EBDF +:104D1000602AA04741C45D49F5EC0191F84587AF91 +:104D20002B50ED423929581714F8BE5050A831D0F5 +:104D3000C50B8B1103BEF906B4C8378BB242B33230 +:104D400061BDA4F9492C6658F78C662BC161CBE490 +:104D5000EBB85E3D538BDF5B5F6EA57D92804607AF +:104D6000D0AEE937225CF3D3280F3AF714A7837447 +:104D7000B587F6D78399DCEE4C44878D97733A3824 +:104D800063E229AC3B7096AFFA18F38E3A1DDCF360 +:104D900087293F95077114FAE75DF3397E89F2A7F9 +:104DA000B752027ECEF224EA8FE065877817DE776D +:104DB000453EA67D7856C3B8DDD4E804F408661AEB +:104DC000F2653A1DD6CF3553DCB9FD355687F68DE1 +:104DD000A9534B9D5740BF7105F915DDAC90FC8A76 +:104DE000B096B7007C950203BE7910EF2F82E77D65 +:104DF000A0C2313E8A54DC22DC80EB5E01F118AEA9 +:104E00007B4D7816EE77A6945B455C5F1DFF736F54 +:104E1000FD2CB614E954E123FEE86AE2F8EB744A8B +:104E2000C45F5FDFCB75FCCB12D6D53E48F17E4A1E +:104E3000E41505E5611CFCC3991963F12F788DED2C +:104E4000B5BA404FAC9704FCBE3BFC2AF93929F7B0 +:104E500089244F81814FAA902E11F5C15F231DE651 +:104E60009E3ACEF962F18ACB501E723392343E18CC +:104E70005E83792B365BA47D5E9D0FD6CFE17C806F +:104E80007442FED9017E13DAFB11B9D3F9A30CF0F9 +:104E900046155D3348FB9E3A9D46F83F5C7DDE3A01 +:104EA000099D3F2A903EC257A2CFD6F1E8B3EB85C9 +:104EB00028F93DACD5366802A325CD2DA4BC952399 +:104EC000F2CFDBEEC238FB3E2BD5C16F684C7320AE +:104ED000FD36610008F6EE4CCF96CE56B0D5EECF3B +:104EE000F29862C0632FEA4B8AFBD338BD3F2BA4F4 +:104EF000E723F53CDF8CAFE7D1E5E8B0C0D217F18E +:104F00003C039D8BF19EBACF7123B499C2E2A9D321 +:104F1000F1B9CF47F36EBCDC4BFA2363A3F8A4517D +:104F20007F27B619352AC5D163E8BCAE9AF4D1A75C +:104F3000E8E3E54D2C4FE7D13B7F8772E65B92209B +:104F40009F1A3DAF443B8AFF010FAC023F60120E37 +:104F5000007AA656703BB9AFDC1A6DCDC37A22D168 +:104F600081F061EE18E979AEABE43AF4BB0EB772AA +:104F7000BB92E261E6EC52B09B875EB563FEFA7DC0 +:104F8000AF568F95CAEBE6520F9D8EB3833ABC1392 +:104F9000D9419070CAE73AB5BC6C7FEC558AABD763 +:104FA000475FA77CAAAA5AD914A0E7FAB2B6ACEF19 +:104FB000607C5F162C433D186D3D4B7ACC55C6FD89 +:104FC00035B03B26CDFE50FB19E6E3C84956AC3C54 +:104FD000CEE0BF27AE877F827CE9835A9CE52F898C +:104FE0009173E7CCE672D91F13292FB8BE219861BF +:104FF00032E4D71A7D66C2C7AF5A695CB4243EFE5C +:10500000FB968FCBEBE55AFEEFB54C5E7F156D7DC1 +:10501000DD8F78801C93BC33F0F3F1FC73A21C1F6E +:1050200016389FAA254CDB1767911E3D0E80E7DEE0 +:1050300079F52F15405BA2F1A3F3B25B161632038C +:10504000BFD48605AEF7430EF4132694F7DAF3CBFC +:105050007B26F21D90F68AAFAE0FD37CE3D8834B4C +:1050600034FE7CD014AA73929E8778B46C5C79E489 +:105070007458CFE515F4B71BF7057B622B36DD01BD +:10508000ED6523F2786929E15723915CFACAC528B6 +:10509000CAE5187CCBCF6FFF7C1ABE576AFAAD60A9 +:1050A0004922BE0111F12D88943C671F1FDFC07893 +:1050B000F88635BF56F92C44F1927ECE28DB12BA21 +:1050C000D467D087961A85DC3B9D3ECAE7C10A3C6F +:1050D000D761185F8EE33397F0FA958275BC7E45F1 +:1050E0009FFF41D320ED735C909E73383D9D81D02E +:1050F0004294472FEA5D18D715ABBEE92E18B70CBE +:10510000E93A6754CFA5B4703DA7F355464D48180A +:10511000979F1ED1F45A33D76BB99153ADB6F3E8CC +:10512000B5CC047A03FDEA907E29B5E3EBB5614D79 +:105130008E74BD21A11F8D76B24AA4F3341B025C8C +:105140007E5D81417FA38CFE72A48E080A7113CA12 +:1051500041629C04F4BC0BBFA77C0EEB62A033AC95 +:1051600083827AA7CEC7E92A813E307EC799BDC225 +:105170008EE7C4319F42F9B800C7AFDF2C0925067E +:10518000FEBACFC7FD3737EA8971E4EC764D3FE8C8 +:10519000FEFD4ED0737C1F88FBF760AFC81EB16F59 +:1051A000F33CE1583DA1921FADDE66A6E7DDC30DDD +:1051B000EE20B45D43D553D17DFDADB68EEBE768EF +:1051C000F6EA2F2F64AFBE9A5FA0AFA36E9FC6AC66 +:1051D000DF85F5448F510EF4F5FE7D269783D607C3 +:1051E0007E43FA72BBC062587FBF7D8E3880EBB1C0 +:1051F000AB999FE74C6D16975A53C7E60F3CA6C074 +:105200002F897EBB2D64CF3111FA9C373E6F8BF90D +:105210001B3D6FFB373E5EB7FCDE60BD17EFB71876 +:10522000898F26C8E39ED1F2427FAFC1A97C304668 +:10523000BE9F32CA6B460D97D711FB0C346BF38EB1 +:10524000DA67661F8AE077366F10A96EAFFE853386 +:10525000BD42FEC476FA605AE43778EE547DC22A25 +:10526000A39DB0D842F232822FBE1EE3173EADCED0 +:10527000263FB89CE78579FD05F211FA55A9097515 +:1052800032A95A3DC673A77EEDFB1EEA0FACC7805C +:10529000711B4F9DF3613DC6FACB8F523D4687D8B7 +:1052A000FF733CFFAE3E6526FA9EF84112C59D2B6A +:1052B000DC497B6C867DCF0E4F16C1F14B0D8E9E67 +:1052C0001695BD837B715A7E67A7E7B99320B9B065 +:1052D0007E8A1DF37E6A06E77753E6B555977079A7 +:1052E000E0F55CE6980FF3F6073DD3029827553EAC +:1052F000080F24D07B08E5D95B1B4F6F9D8FF4EF1F +:105300004DC4C789F57789EDA6F9D502F253044B50 +:10531000F9301F3E5C23A0FC31F0B7D1FF8980FC3F +:1053200007117EE863FD72E2FECCAC6309FB3598A1 +:10533000ED05782376C57313BE57C3F1BEEC64FC4C +:10534000B8AABC173C37631EE66AB1D4647CCF09A7 +:1053500028A2FCCFE7F4FFC6FBF1EF8DE2A58D9705 +:10536000F8BED1959F5D609C87515D4622FC57D960 +:105370006DE3C3EF5332167B46E1BFC6173FAE76EF +:10538000E90B19DF1C0FFE6C58AAB251F8AF2BB60F +:105390009D1F2E99C37FE3DC0B8C2B1C1FFE9BAB48 +:1053A0002680BF982DC47B89BE597B8179CDFCFBBB +:1053B000DF6A3CFFB86F37277E47D59C37DE1E6E0D +:1053C0008B35629D48896999BF7AFAD8F7BB055138 +:1053D000BBBF212418F3320BFCDC4FDDD502027A6F +:1053E000C9E8EF3DCD4315A89FBD8F0CB7623BB90F +:1053F000398D29E3C0E7FEAC8029E9C6EF45E97B9A +:1054000099576B71E96745F47C578B9DE6C7EFA30D +:105410001D1A3B7FD204F3FB2F307F363D1F53E72D +:105420006A5A44E71A26A1FE1E473EBB5BA21163DF +:105430007D7E62EB3D73F3527DBFCBEE1DBD77C623 +:10544000E47AF60FA84F7B6BBD7968F7AECEE2FA2F +:10545000DA9B0AF10DED7B068A91BEDE24B5F50ECE +:10546000E4CF4A7B602FC86D7BCA5C1FD59B25DCCF +:1054700093D221AA742E46AD666C3F25FDD50AD481 +:10548000572691E72512C75BB3B8BE6B17F9B9274A +:105490006FB36907DE2352BCA746580AFDF7FC1C10 +:1054A0001E7BD4ACE5C1813000F78C7D56ADFFC7C3 +:1054B000758DE0D8AF42BA605F7D7B11D607613849 +:1054C0008576E0916D6FAF433BD0DD1210DE31D0B9 +:1054D000C73BC179CD9FFA393CDEE6833BD0BEEABB +:1054E0007AD8ABE9FBC4F167FDDC3F39A8C1DF75B1 +:1054F000DBAD749F45D424AD00630F7FE1E5A8EFD9 +:10550000BBEB8AF2D05E1DD4CEC5F6DC7E2BE1D794 +:10551000BD9889926BECBC5D8B991D7FD7EB07F52D +:10552000F123EBBD98998DEFC1F82469D6C4EBDF68 +:10553000BD3858A78C8BAFB68F8AE522867B760E56 +:105540005EC102B83F8CF735B4313CBFB0B202D770 +:10555000FF53C51EA07D92AA20F95F89EBD995B2B1 +:105560004AC07D85EE56F3B000EB6FBA75159D8B82 +:1055700032013FB092B1E3D9E75F501E9E44BF00B5 +:105580005BE063BB061FDAC7268FB69F17E4FBB04C +:10559000F037ACEF3F611EABF68156ACCFED004269 +:1055A000A753A8B36E10EB1C339658E3E2125D9E2E +:1055B000BA2DC13742C268BD58D7E5F171E9094D2E +:1055C0007FFCAB5FDBCF6041AAC3B7D4BC7812E7E6 +:1055D000B5E8E71B3CE6B8BAD3766DBF5D5DA1C503 +:1055E000615362AD8877CCC1D22C93E83CAF42FBCB +:1055F0008A827D64FF5ED2FD1AF8EB1AE0F79E7492 +:105600003FCA84B6125C77A50DE9AD8A2C88F9BD36 +:10561000EE4D21BFC343427B9305372D1445F61849 +:10562000EA6DBB5736F9518E81CF4A300E6F6FE667 +:10563000F5D0DD7F6294CFE85E2A531D869F0D3A38 +:10564000D0DF2FACB5521DC298FA4E8DDE17B2FFD7 +:10565000DD02D0318FE8A8C9E1BB8BB00EA2FD728C +:10566000DE7F7EDBA72FA3DC95B3C04984CBE2B4F9 +:1056700092BF3611FD46E8EC043AA74E3CEE04EE2C +:105680007519E48D1817F113E415786F4A8F25BC4E +:1056900094FA8BBD79780F8C2E6FDDB7819CCD424B +:1056A000F9646946B9EABA2DF48685E89C2B401066 +:1056B0007F1EF9E17845B7BDBD08EBEE46EB7AFBFE +:1056C000A755CF18D5AB18AEE07A4CCBE27CB4D25C +:1056D000FB634DBF5A65D4AF89EFE9F3FB6AADE3D5 +:1056E000DE3B8569144B29B412DF3F497C9EA57DC2 +:1056F00027ECE7719F5E777C389FFBB75DAF9BA27D +:105700007BC9CFE4FE6CD762EECF8EB10F09FEAD40 +:1057100077C4BFFDA61FFDDB6EADDEB8FBD45D7E9A +:10572000F46FBBEAC0BFC5B8DA2FC7D9A98BFDFE9D +:1057300008BD34FE5FE9ED74A07DFBAA70E8E30FBD +:10574000A6F5FF01E374F556EEEF3389DBAD8395E3 +:10575000C581F1ECCF85E8EBD3EC535616E73BDD82 +:10576000CED6211F665CBCBCF4E0FFC23BBFB528AF +:105770003764C13C3723DD50EF2E49D3CE8B078AE7 +:1057800049BF2DB9C87B0A4C8F30F4A33F79CD4473 +:10579000799C443D8A7F463DA956865BE9DCB6C8C4 +:1057A000C25BA4B17A3683556EAC427A1507053CCC +:1057B000DFD29E67263D9FA8475759C2363C97D8EF +:1057C000D112DC8674781C6C239E036C76DAA328D5 +:1057D0006F58FB4B7A302569DC7ABBC61C4ECF274D +:1057E000DD21F22F0E0B4BEB8CE71E7E3789DBA3FE +:1057F0005F687E082B0B3AB8DEEF7815CF2777D499 +:105800008A32EA918EDA36FBB50067474894042065 +:1058100065AF54EDF80EE2572B4A53A8DF46E3D5A7 +:105820000651C67CE9F1864A8A9BB685C4D9C83F31 +:1058300016F4BB4C28976200F1553DCE00C6BCDD86 +:10584000B56DFE6500D702539303F9F8F8D2171D22 +:1058500078BFC386F06909DDBDA286EA18DE1B9217 +:105860003DD726C9129EB70BC67E8A71AF620FC69E +:1058700070DF341C8B61295FAF107A89F4CADD2296 +:10588000E3FA5EB9A1C470AFC1C09E5B6278EE68F6 +:10589000476D32B3C13C07B3781D495FF80CC3F3C1 +:1058A0004B49687FE0F7037B56F911CF9E3D66CAEE +:1058B0007B0CDCB6CA8F79DFEE3D563C53C852CB29 +:1058C000CDA78DF77C76D745FD98477096C5FF7EAE +:1058D00062F95101F14962F07B5C9D33AF5FA0F842 +:1058E0005E46BAC43F9FD4A8F27DBE90D38376E2D1 +:1058F00009D0372817074445447BA4BE2D505CF2DD +:10590000B845B519D7F15821D74B9D5A3D7A719EAC +:1059100018C43CF063DA3E7D9293CBB5BEDE896D50 +:10592000FEDAF9E73DC79B61BF799BF11C4D977685 +:10593000FE2CA9785094805ED94F4B25785E363B7B +:10594000CCCF97F65C9E5BE29447F9AF67E0A13756 +:10595000C89F3DE40C3864CC23055BE9FEB7AFF18A +:10596000FBBE5EBCED8159C8D72B165B458CD3CFEF +:10597000BD754E453EE95A9A4DFBA5FA7753B57B66 +:10598000355CCD9E4021C0932A7B0385E0BF263540 +:105990005B03E83F2EF8E1F4CCA1F3E0B1A1450AA6 +:1059A000146AF5F2855346CFE97FED878B5CF506E7 +:1059B0007F6F48D3F37ADFD29C1CE930C411C91938 +:1059C0009CBE30D267BCEFAA7B127F6F4342FD556D +:1059D000E2735616EDAD443B7537D869E8564CED89 +:1059E000203EEB0A5925E4B3BEA5B7AC5D8272F246 +:1059F0008A8972437D77AFF2DF6980AF5718FFFC69 +:105A0000DF17597C3D0FF8D5ED58CFC3D4C541BC45 +:105A1000D7E18043DDCEEF79B83988E7230F8CF8E2 +:105A200011B541F4230EA01E01A6FC7CFBBFDF884C +:105A30007EC401B77A2BD6E96F705C13390E7AF405 +:105A4000C014F53702F47B64169B8FEFE7F1F12D5C +:105A5000F2F7D6D3F819BCDF212F09621EB317F174 +:105A600041B902B9413EEFDDD39186715AE7D4C7FF +:105A7000FD98A7DC5E32E443787E33E9C37FB0E370 +:105A8000BD0842D48FFDBEBE7FBC7E7E16D2A3B0C1 +:105A90006709CADDA085EE57EA3EB19FF6633E0175 +:105AA000FAA07EEDCDE9F707C7A16FA4C517580787 +:105AB000B8ACC3D6107FB8155FE090413E5302F1F9 +:105AC000FD5EA19FBE5FD3F70FD79BC11EF459FAAD +:105AD000B7617FFEA427AE37037C7D29FD7EC4BF5E +:105AE0006CD22EDECFD0E9D77D3DFAF97D7EDECFB8 +:105AF000EEDB743DE29F0847AF45F5633C7F4138DC +:105B0000B4715F158F89E870B1DFFF1FFC7E5DC047 +:105B100079E1F7FB347D38E13C791737CF9FCB8FA4 +:105B2000FFFFFDFFDCF76B26F173A417E607C6EB5A +:105B30002CB5FB5E1E9BBED76ECC0BEC2FE47ED348 +:105B400090E6AFEAF7A96C5FFE049D6FE87B24E462 +:105B5000C07399C57B1EA77C795F71DBE67CF4433B +:105B60001A4426C8E01F7DDE4E75D7DB6A4409EF74 +:105B700057EB6EA87690FFD124E24DD9AC27BC97A5 +:105B8000D76587443A17B423BCC2B1CCA0F7601CD8 +:105B9000D5B1F42C792ACE3EF4E975F58F802784AF +:105BA000F9E1F9F974CFB5FEBCAD80F379DFD2BD70 +:105BB0006B8A285EE2E7168EDF7DE74BE8C7F5814A +:105BC000DF8767998ED73EF512D6C9750745D2C3D0 +:105BD000455A3F33680EC844A530D5FD5A9A006730 +:105BE00098FF6B36752DCE67491719EE070D1457C0 +:105BF0009EC0F97648229DA3C85C22D139AAF45AE6 +:105C0000BE1FDAC1FA07ACE8D7548DECBFC476C228 +:105C1000FC4EF0F73A793DB8ABC4B0CFBCA3B69A0E +:105C2000FCBF1EF0FFD05F5BF0C325029ECFECF3FC +:105C300099189E0F5E58904778F586AAC9DF7B0CAD +:105C4000FC3DCC8BF7343D47F78E7A6AE2FDB4B465 +:105C500045F1FD640BDFBF4B9E67A5F338CE04FF13 +:105C60002CD15F1BF1078AC19F30E41F5D73A5B87B +:105C70007EA29DEA6C39C68CF931FD3ED1C471BB60 +:105C80000AB5FBD898EA47BE6A66E1DF3D8A7989A2 +:105C90004113D1AB43BB0FD8ACDD079CD19C4C79F1 +:105CA000B4C37981E23B71DD52B4736C2D83BD18AE +:105CB0002BA40B01CA4738223696E1C1F3324E7E3F +:105CC0001FA52924631CD32146ECF87CAB280BD8F4 +:105CD0009AB2F3B538F73B910AF4CFFEC1447CB0D9 +:105CE000D5DD1DC6FDEEA9FBCFEF37FAF1FCB5C13E +:105CF0006FDA86E7AFC7C1739A86E7564BFFB55494 +:105D000077B158A43AF4AEFEA7D524DC5F7B5ACC19 +:105D1000437F6643E30ADA4FEE062FFE12F4970440 +:105D2000D54FF197561FDBB5BC88F0E911FAFFF0AB +:105D3000D7C85737D9395F99C36FDC01CF7B6FCA9A +:105D4000A67D992387AD0407D215CF191C1E39876C +:105D500012F5D71AEA7A7B9777FBD1BE1FB0048A77 +:105D600091DF6EDBF9830D0E3FDD13A739F1333779 +:105D7000A3FF744414F47CA982E76DFAF768F95222 +:105D8000B5E2D5F9E6D17D40A66EA2F1FD082F3D22 +:105D9000EFD85C81EF57EAFD7BAA95729C4F9F1F5D +:105DA000EF8E82BE557F1EAA6ECC66ACE4AA583E2A +:105DB000EE335A0B21E4027F6C6B8AFEDC5E8DF3BE +:105DC0004F13376509258C2D9BCCD44500CFC16A74 +:105DD000BB36DFAA8D8A99E0BD0EEF07FCDDE4BF7C +:105DE000DEE8F41BE1FDD33FE1F3C39A7F58B9E34A +:105DF0006F6F6CA37DCBE869F47FE64DD9BDD97E8A +:105E000039CECF9F43BFBACD89F125EFCFDC71E406 +:105E10009FD01F4CEC1F9EC05FFD8BC9FC5C42BF36 +:105E20009D3D4671EC1226E1BA8B4BD4E49918578C +:105E300040FC780D4C951D1369DFB96B2956C3439F +:105E40007BB51218C0FDD70A6B00F5CCF694471C41 +:105E50002FE0FB102C4FC175F688C9788E406DAAD3 +:105E600027BD39E3F9EA2A8C47675C236265FEC8DF +:105E7000F77F33999F0FDB142AED47790179A0F85A +:105E8000F6A03940F591079D5609CF13E8E7C7EE14 +:105E9000CC9EB1C1787EECE7F2EC0DE8EF7516B65A +:105EA00039B01E7713EA5118BF29187A690AEABD7A +:105EB000252266105889E979EA6F9A22B236C3F72B +:105EC000370902C509E9B795D279C5F4EBD3046661 +:105ED000D02B2772B5FA26ED5C6AB7762E1571C005 +:105EE000FCB14DFBFF4E29CCB0BE62E7D999B8F7A3 +:105EF000CFBA801FF0FE15DB027E7E0C82DB01D460 +:105F00009B4EED1E8E9D452FAB88EF0EBCDF3FC034 +:105F10009FA3BE4C013D8A7A774768053DEFC18B50 +:105F200050A0EF0CA5D1391DE9A895E1BEA26DE8FE +:105F30009518D2F90B131B447EB70512CE0D3C3DCC +:105F40004871FB2F1F7249F83CB1BEB9DF2C0DA080 +:105F50009EF72A76A915BF3FDF501F4DE7B0426B71 +:105F6000B2E7687C04F33C398F45DBA9DE43A27AB3 +:105F70008F91F35977B191FC2E9E4BC07432BF8F35 +:105F800007A802F36FBE42BFA791DFDFA39FDF3AEE +:105F9000721CEC2FDADDAA697B317FBBFD99613A77 +:105FA0009FA5E499C302F06D6F800968E760ED6812 +:105FB000DFD4D568A5F35ABEABEC612BE0E352E227 +:105FC000F1354F2E223E2EC05D7C806D72F1D000E7 +:105FD0008AC8885ED1F6F5699F44DBE7C73C40A6D6 +:105FE00099F79F95F93961E3792E513F0FC8EF6119 +:105FF00071609E2D23C4F7FBEFC9D1FEDD1329EAA2 +:10600000C773E123E7B79A789D60A29CDD97A3C58B +:106010009D8CC3E1D2E6DD2C0EC78ACA8CE7B77E21 +:10602000EC379E1FFFAB1C21EEDC17D10FEF05698B +:10603000B22A8E99A374D7EB05268544FA7D52E3E4 +:10604000D10731AFEC5D92C01709FB9F89749C9416 +:10605000705E445E175F777F2489AF7B77253FEFC3 +:1060600092FB48FCFBFE043EFB55B65B879FEAC6ED +:106070005D2133F1F71C13E3F7C93DCCEF934BA43B +:1060800057BDB61E89E7032FBAEEFF0A36EEFD3183 +:106090002EEDFE1857029E3FCACD1B591FD5C0A733 +:1060A000FA3DA19E545661ACF7771D3A1357E708A5 +:1060B000CF07B0EE017889F32B9EEF1AC7FF68D5A2 +:1060C000F8E0C033EB280EEFD5EE05B368E72EF508 +:1060D00071B373F839E8D939DCBFDD7C3C7FEA0B5A +:1060E000004FE5DF3ECBD07FEB7A83DFBFDBF523CC +:1060F000B91DEDF1D9AB594045685E1EA633A50721 +:106100009E995E81BF6785042618F23732FE0B1315 +:10611000BE8B6FFB5E608F23B38EF9FDEE0525C845 +:10612000A7593171C4EEA25819ECB06A2F273DF37C +:106130003533ACF7EE5D951B2D39E7B1ABECD21BD7 +:106140001BCB47EDEA37E404BBCA0A82DCAE0A8FF8 +:10615000E1BEDAD41C6E5713ED9C6E2703D1AC88D8 +:106160003D67D44E423F8876B4DFAECDA76EFD4783 +:10617000651CBB39C33438CD0EEF7747FA36CCBF38 +:106180009CC6578D97472ACFB66AF53A2AD5D15F74 +:10619000888EBD66D58179CADE117A75DD50513899 +:1061A000FAFD65933337B4D2F7E3F9406F176A7A93 +:1061B00060C63E6B18F35E95597692C3BEA5B73C98 +:1061C0008E7C007CB10DEF8FE87DA3CE8271C3354C +:1061D00039FC3E81DE1F85264B9A9F8570621C4FDD +:1061E000703CF32C9DEF4A84735294D7AF26FE7E09 +:1061F000658E43F783B7B596F1FD68DCD738DC16BA +:106200005A3E5E1EA85683B7B3054FF6E17B613A4E +:106210000F9C3E354AE78E32A7F7ABD826178B4C3A +:1062200019276EB47D3629AE6E604B76988CA7ED3B +:10623000B35CFAFD417BF0D61CC06FFBD1B937A02F +:106240005AD82E6A729FC5CFBD337388F28237FB4E +:1062500095DB71DC276BCA8A513F4EE427EBF9FDD1 +:1062600091FE04F77BDD93A5E77979FCA0EF63A0AD +:106270005AD4F6E7291FD5AEF1DDDEC23FAE27FFC7 +:1062800004EC8799C79112D94BAD0E9B548E88753B +:106290006CFD6BF3E1F71F66737F63E41CE23D5610 +:1062A0005EA726F37388BADDD0E1399A2D8EE8AD6A +:1062B000F1ECC04FB365BE6E127F5FB71FBA7D4869 +:1062C000D43B7A3BACC171A1FB7CB6E6E875649C1B +:1062D0000FBC09F7F9F42E8DDF7F1BDDDF5AEDFFD0 +:1062E0001EC615DAFED6F653DFA7FDADDEE517575D +:1062F00047A6CFF75CCE97AB5FB8BC80AFDFE87E38 +:10630000AAFA069E7BED6D9D2974923EE7F50BDBA4 +:106310009727D62F740A58EFBE7D29DF574D9CB7BB +:10632000776962FD021FAF3F87F7CCC6F7607C5CE0 +:10633000FDC2F6A577D6294EBE8EC6FA38BD4E21CF +:1063400043F3A19ED3E4EAE0151186F762F6B9F9AA +:10635000BFAFC182370DDC89F164A556AF50333F22 +:10636000EE5EA30CEDDEA30CFDDEA384E7BD29CF1A +:10637000D6ED61A8EF828D7B90EF9CFCDFDB585956 +:10638000FF80230FDA6343DCFFEF0D955E8A6677AB +:10639000A5672FE5537A4295F63C1CEFE1F991EDA4 +:1063A0008D22C5111D6150C502DE2321B5BE0B74BF +:1063B000985BC0EF9170C7D2FCC67AEB4D57F3FDE6 +:1063C0009BBEE53C1EEC093DB58DC7018B3C828C24 +:1063D000E7A0B95FD57EFFB565AD6C749E44FFDB69 +:1063E000630BD3BF5FD7FD692ADB0BF666534AD434 +:1063F0008EF6DAF64092C8F3081056148CFADDDDFA +:106400009ADFDD1D4A1BC0FBF17A70439E8423ACEA +:10641000221D53147E4F03F8DD036FC17329CBF4A3 +:10642000FFC8EF0E7E8AFA2A9549AD963CF2B3C9B1 +:106430008F66578ED4FDC7F9D1897E33FC0998FF4A +:10644000F16BE7A212FD665D4F8CFAE9D27518A7D1 +:106450006DBE53A4FB4813FD41FA10FAF11B64F220 +:10646000E37B039A9E55393C19186D911FC6FDA414 +:106470004001B78B17EB77CB050EFDFEE9387F7B2C +:10648000B4CE36DEEFD6FDED9C5C31EE3C8BAE47F4 +:106490007B152E3FBD8DDA7916ED5E0C104D7B6FAE +:1064A0001AB55533A0CDD6F480CBC9545729DE3F59 +:1064B000CBF525F8E3CC58CFE542FCCA48AF966E41 +:1064C0009E479FAB9A01E325ED7D09DF4FC33AF06C +:1064D000A489FC71AA8FC26BFF2AE7A1DEB552FF27 +:1064E000E1BF60B238EF3FDF3F4F3C7F9DE89F0741 +:1064F000732FCE3F6F7D2089EA7BB63F14F1DB4AD4 +:10650000503FBE48E704B6B3C84B58EF11CCB58F27 +:106510005B27BBFDDE36BAAFC51512975AD1EF3EE9 +:106520003E78131EA61DC367FF497EBDA7E0CBF9C9 +:10653000F5070F3DF573FC770D23E5229D3B3D7874 +:10654000E88CBD7E1C3BA2B7897EFE7036D3CEB1EF +:1065500048DF3D44F171525C9D3EDA43CC97807C2C +:10656000F0FCC81D3C5EEC5DCAEBF1FD09F5F837A7 +:106570004CB1D3FAE460FDBDC11FDA197E959FAB23 +:106580000831AA77F0455A05FC7711D87D7C3F1772 +:10659000ECAF5063C8A3CDD4EAF1278F9E17EBC8A8 +:1065A0008579FDCFC6D7E5E7609D3D7C273D270176 +:1065B0008F6F5E008FC5F17864FC05E061B0D3BFDA +:1065C00092397F8CC1A3E955E2AB2F8B47F6281E89 +:1065D0003B7361DE8C09F0D0F37ABB77ADDEA09619 +:1065E0007F157C6E29C1FC6A1EF8EF75C02FEF4C39 +:1065F0008447889F87C8B1AB02DAB389F0D0E1CF76 +:106600001A85FF99F3C2AFC74BEADAD4CAE9A3F1FE +:1066100052D3AEB537A8D9782E2F54379EFFFD9EA2 +:10662000E6177A528715CCB3E8FC2D1D120563DC02 +:10663000EAC273EAA963F9D893AA7D97356F5078B7 +:106640007C4ADF5D99D34CF93605EB8067E07D4AE3 +:10665000A197918FBC4B18CDA39F07DA5ACDF318A1 +:106660001791378BDDF93F2B6FF66FB9FF8DF2660F +:106670003BB30BC6CD9BE9708D9C4361FD342F5E0F +:10668000A982F79878D131358DC6176EB4935487A7 +:1066900035A257897F5227FB6EE0E752CE1F47E4B1 +:1066A0004CFEAF8D23AE9BFCE5E288CA2942425DD9 +:1066B000E67FAF38E2BAC9F171C4768C2368DC4D4D +:1066C000ADE47F7FC53862BBA7ED8D18ACD34AA976 +:1066D00034BC07DA8EC6EAE23BD997DFEFE87D01EA +:1066E000186E16E2F704D5636545C73F2F373B8721 +:1066F000EBE3F40CE55B932F22AFB67432CFAB9D86 +:10670000CDD6F22909F99EB47479EA0BE0DF38F6A8 +:106710007404ED0E4D5EF57D253BE6E1444D1F779B +:1067200004B10EDF7D820D38410FDCBDFBE8463B36 +:10673000ACB36B90F3FDDD93336F5001AFA43C5EBF +:10674000A7CACC2AD58F8F73DF866A26FF9EDF3BD0 +:10675000B13DD6B03B259FCE19ABE8F7F6968B7BC3 +:10676000D11FF0E3FD1BE9948F4A4765F0FEBEBFE1 +:10677000FB27AC8319CD67BDF70AEAE98D317E6E40 +:10678000E0F0EE93AFA87800D8DEEFD7EAC86DDA74 +:10679000BD91167E1F07BFAF8369F77524D2D52B35 +:1067A00044D75E8D7A6A39BF5740BF9FA3BB36FE80 +:1067B0007E8EAE1ADE8F4ED6EFE7E0E76DD9B739A1 +:1067C0003EBA9D3C972F09B89FD42BC8C3A8E77742 +:1067D0002E5941FBA89F86AC25A8D7DCDA7D04EEB4 +:1067E00050FC3D0C89E7DCDD35F1E76F73EC12D925 +:1067F0005B77C45D611EC7DE827D8D4E36F8A5BA1B +:106800005DEDB3809DC7F879A94879D3BEBB1FA0C1 +:106810007ADC9E98C8E95BF0F7375A4AC6A16F2325 +:106820005F7F9DBED0AF1AEF5EC62305BC9E7E7B08 +:10683000799B80F73AF81AF8F9714F023FF614D8AD +:10684000685CA5966F915903E5138FD4F2BA822341 +:10685000C7D3C85FD9343F8BEEFFC833471D98D7E5 +:10686000D2C73FA8CD374AE7787F6667233FDFACC2 +:10687000D315E84574F2D5F07C71A29F92A1D17B2B +:10688000BE76FED640C79F4F263FDAE0A79846E97E +:10689000F95FB57F589DCDE5D9620B0D150917F647 +:1068A0005B805E342FBB8AFB7763FD3FEE1FAA152A +:1068B000DC3FD4FD59E95BF17EF96FE578BF5C52AE +:1068C000B87DDF59FBE5FC72B7E60F5E337ADEF97F +:1068D000DCE439E7A1F304F7805EA1D121519F8167 +:1068E000FEA4FB00B75BA25437F594568FF37F01EB +:1068F000296C012C008000001F8B080000000000A4 +:10690000000BED7D7B7C54D5B5F03E67DE9349727C +:1069100012F29A90C09930091348600281461BDB3D +:106920009388345A6EEF40A3421BE9F03440302381 +:106930005A8DBD684E203C020801798488767859CA +:10694000506983ADCA45FB7582CAC5D6D6D8878F34 +:10695000D647A096AAF5D2D85AB5DFB5F65B6BED4F +:106960007D3267260952DBFBDF97DF4F37FBECF701 +:10697000DAEBBDD639F383D6BCE0161B631FE74BB9 +:106980008C4D63ACDB169D17F430F6183E2F66EC89 +:10699000C408ED2745FB93A24C6EFF3F625C6C84FC +:1069A000F1A7C4B8A747187F5A8C3B3342FB8F45E9 +:1069B000FB7323CCFF3331AE6F84F13F17E37E3995 +:1069C000C2F817C5B89787B4B3B93DD0FE6BD1FEF6 +:1069D0006AD2FCAF8BFEFDE2F9DFF3557ADE55DAC1 +:1069E000EE5D5EC9987BBF9D3178D4B5BF3D93C144 +:1069F0003CC799F61EB3403FFCFBE2D0B2C2C37461 +:106A00004F2663591616C1752B8EF45DE39BC4584F +:106A10008F93317639FCA7EFFC9906CF8F66F0FA99 +:106A2000A47DC79FD7CBE2FD93E7FB832AD37E9853 +:106A300047B1B04AEA37B0A922BE4E450F8BD926DE +:106A400061D9572B41B93395CF3B33BA79ABEEC1FE +:106A5000FE9137EECC8267BFB0040FAB34CF533416 +:106A6000CF97958C4D1943D7DBDBAAEC6D077814D3 +:106A700017FA18CB363D5F9C99B2A02C5EDFF5B4B7 +:106A80001CB3A543C9585D0F3CAF58CC62D969F11E +:106A9000F69CA759BE04ED39B10E492D87F10BFBC9 +:106AA000265861BD1BA29342CE699F0E8F8AC57D79 +:106AB0009A94F6E9FDDA6EFBDAD5A9709E6E89C567 +:106AC0001C70CEEE65F63686650B532C1523DF530E +:106AD000F7B56B5C789FE96179811DE096FE74DF04 +:106AE0006C06EBA56B76A60618FDFD9DFE0F75A73F +:106AF000A85B86AB0FB050F9D0E7E9CE343D05E78F +:106B0000353FF7F152CF614CC17FA8F1F10FC15D64 +:106B1000B27CACDFB215CF79AC8DD77F38E696ADBD +:106B20007A35E01FE279D9C8743206E782FB3A521F +:106B30000EF80EFDBA163CE05D62BAAF22D5C6DB98 +:106B40002B383DC4F1BB4436F05B86FE135489DF1D +:106B50007BBE982F233EDF22D37C69AA85D389D8B8 +:106B6000D748FCC52DF665F41B890F20D999E71B82 +:106B7000891FA525F51B892F1425AD3B127FB4274E +:106B8000F51B898FE524ADFB5DD1DE23CA4FC6CA54 +:106B9000026E17E71FC97CA8CBC6EFF9E3FCEC4EE9 +:106BA000CE0782BF9885F4BACD1A3C8CE89007BC1A +:106BB00017F02517FF5DC4EB6C3A634806C8879E43 +:106BC000573369DD689F9CF96FF80C706D4D0E3D71 +:106BD000620CB6F46001DF0F73EA1D16D8CF8E8504 +:106BE000B2B2098EE47DE6C05E09DA1D1FF998365F +:106BF0000AF8C69C93DE30ECEFA763787F8735C236 +:106C0000140FB6FBA93D2B05F8531961AF0BE7C96B +:106C10000E17656E427C56A2DE39A9B80EE75337CF +:106C200015727816D8C2AFA8506A91FE3529701E29 +:106C3000471E0B6E8226DB939A6683258ED7723AA7 +:106C4000FEF6FD1B08BFA1FF1BD4BF4092AC95A66A +:106C5000FE4C636C1CC019E1487CE06FCF6B56A002 +:106C60000F898FAFDDF7F8BFAF29A3F1BF57617D63 +:106C7000AD7184F564415F7A475A2DF43F6EE7E3C6 +:106C80009BEEEFF88A5E00E74BE7FCF7F8D3B5150B +:106C9000CFC0F85DF513A658609CCF1A71E1F9BE1C +:106CA000A8723CB85DF0E9C2168BFA26C0E5C32293 +:106CB000E0AF95481F25153AF4BFAF614E3ADE7339 +:106CC0007678FD7B16E027D9F5BA1436F1F53CB895 +:106CD0009418DCD15550223F2874EA12C239AFB360 +:106CE0004DB2C33CEC56C6EF9DF549F5B0EEACFC99 +:106CF000B0ECA3CB74B398C1972CB8BE9DD6FFACB3 +:106D0000720100E145BE936509B79555122E0D1C21 +:106D10000EE273E5CB65C83F1B33A76C52F97A8846 +:106D20006F063E65372E6C43FC546A9D032955500F +:106D3000FEB4BE97C64B6CA018C66B5A817E8EF609 +:106D400009E725FE18EA45F8ECBB394DDD044C2F68 +:106D50007BAED1CEF96B28C4EB12F61F37B43D7B66 +:106D60006EB57ECE19AFA7F7453B4A70BDBACC6071 +:106D700031EE0F7001CFBF6F9912457C1C7D2854F6 +:106D8000E3867A3FAEFD05B8979B97CE437E6AF4C3 +:106D9000CB9F9B43FD3A9F93EBA280071967A2BD4F +:106DA00076A4B7A61C95CF17F6CE4658B12C5AF745 +:106DB00057784F3057D73C310FD325E2F7565D9ABD +:106DC0000DE53319BCDFF53378BFBCFAA8578379DA +:106DD000BB572E9D17865263FA1A1DD6CD88141DF7 +:106DE00040BA33F0E095228E4F23C9A77FB4DCD59B +:106DF000CAF473C04BB661097CA5B77E95AB1FD6AC +:106E0000EFAD5E757531E2E75C993960DBBBECFA9A +:106E1000B3E3E0BCBB17CAEC009C37E06C748D4751 +:106E20007C7FCEC6F0BEBBEA6B73117FBF55C4E951 +:106E300019E4EA5C4EF7FC9C520AC73F63DD033E4F +:106E40007E8E0ACB57BD2118B74B92E60EA7C7F826 +:106E50008A387FDC96165E86FD0A3FCA6051C45FA1 +:106E6000169190BE56F9A4047DA370CC2F16481538 +:106E700008EE474367803E0BDD1C7F198214F06EDD +:106E80000713F40C3D02B0AFFBD6B9057F58B37DB4 +:106E9000861FD671F3F655BE55DB91BF98DB917F07 +:106EA00024B7E7AED6580BD04DAE95E9B3A64079DE +:106EB000EBF41BAD4037AC212B8E7F4543C7F59ECD +:106EC000FDAF583AC0AFEB0A1675C011BA5EFBAB06 +:106ED0007604E0BDEBA72EDD02F460BB268BF0D973 +:106EE00056C1F163973756978AFD6B5854F7A17EC8 +:106EF000C0E7FFD254AE1F28E1F57D48AFFF2C1E3E +:106F00008CD88EF0C7FBB42A5EC45FE3F90A71DF48 +:106F10004CCB8AD35FD1BF0E3FFFD5FB5D2AF0E992 +:106F20005E89EB33DB65D668C6BB277CBCFD03817D +:106F300057DD12A77F7DB63B7A18E09C21B3B0B92C +:106F4000FF09D1EF7F7C1C0EFEFAF9E9A1F291F75F +:106F500095F39185C5A69AEA0AD370BE53675F2A56 +:106F6000BA0BF5D1D979531C404FDD67BFE395903B +:106F70001F3C5AE793A03D13F0CB0E78F6D01C27A8 +:106F8000E191676CDE57743F81BB17F92AA8CC03E7 +:106F9000C8279DEC3DDD8F725673F6603DBDCF2A4C +:106FA0009523DFD39C03E9A003686A329F651FFF26 +:106FB0001DF8740EFE0BF868FAABD7D748C8174710 +:106FC000B1A07C19EAB505097C34C71AEA4578E412 +:106FD0000459706DC650BE9BDC5FAFB74821A0530B +:106FE000A5FDF21BAD69713CF91CDCC3FF269E18A0 +:106FF000FC6CC476C14F509E71BEAD933EF296B804 +:10700000CF6DED6EE2F3C0AF097F8CF902CE16179B +:107010009EA7B7FA11573F8CBFB77A21D903BB1B84 +:107020006A497E8FB45E36F02D7D94697D7B68DE83 +:1070300011B4A37CFF136A77C6F9434AD1FF845089 +:10704000AF6056501C00CE3B973386F61653349FE4 +:1070500059DFA7FBF720FEA9B4DFED60C7A0FDA2B2 +:10706000CF76460F4BBC3F9E2B3B6790FFE90CE66B +:10707000CD76C7F95F123FD4FCCEB85E0918DD3972 +:10708000A38CE883C67F07F6A90F534F3ED7A0FC19 +:107090002BB23094CBBBD6B9E7462F0297CF7AAF4D +:1070A0007717F17BEAAD5EB34647391491898FEECD +:1070B000827BC17BB837C2EF635B1ADFAF01D70AAF +:1070C0008B454338EDBBCA1E5D03FDF7491692534D +:1070D000BD67BF5427C1F33D35EA0107D0F99ED7FC +:1070E0005C44F7BB97A8072C503F22E46EE8D9C553 +:1070F0007BB15F41D8CE1C26BE9BCCFF0C38647F91 +:1071000041263898F67FF44D1BF22F279563ABFB91 +:10711000255431C6ACCE4AD45FEAFB48FFCBB93523 +:10712000F1F9F79F5B28A17EB0A75539FAA609BFF0 +:10713000F3CCF206FE7B24129118E26F43B806F5F9 +:10714000142FDC77AA1ADF17F51BC61FB13723727D +:1071500035F6DFDD96A61D80F3BFDF30E5FAA5EA40 +:10716000C8F7B1AF951D69E7FA437431ECA7F0D6C3 +:107170009884F6746E835A81EC655F129FDE7533D6 +:107180008B5A4C726A9F9BD3E12E5B785EC8842732 +:10719000F709B9B257F0EBE47986ECC31D5B86C6FC +:1071A000CDC2A2A9DB9D57107F1772FBB54ECD3320 +:1071B000146FF7217D0F8397865E027283E8EDD30B +:1071C000E6E9AD97099FBA6638B91CAFE7FE81F1D1 +:1071D0006C2EF109D08B2ECA17000F98EE88D7CBF2 +:1071E000E786D7B1499FBEAE718F8FA3EFC4845F8E +:1071F0007B5A190B8F477839A9DCD5AA50A986C3C9 +:10720000BD48DAEADC443C298C24E217AB1F1E8F10 +:107210000D7CE9967ABCE8847862FFD14EE765C3BD +:10722000F083CFCA6FF4D4ED97C26F46BAB7B98274 +:107230003E9F5AB25442BE9C13067DBB0CE922E429 +:1072400065A9A85F727D14E424C95B054BA83F20A3 +:10725000F0CB288D79E616290978B0A7354FD0AD47 +:107260004A656E03A7CFECFA0895DB5A03F4DCD825 +:107270004F7A7588E8D4809FED0BFC9EF26E4D84AA +:107280007F4E4322FC95FAC476D013EBD04FB50B5A +:10729000F544E037BB5E7B96F4C63DA0075A60AB71 +:1072A0007BBCAC06F5C62ED01BF5E0D0FB4A47FEF2 +:1072B00044FEA9C475FE55FCF8B3F2EF11DBD30010 +:1072C000BF32500F033A1E06BFFED9758D32598F5B +:1072D000EAD5D690BDB5AB41E670D64E111DEF6B29 +:1072E000E0760DDA1BC3E975863D62D407E5DF0C55 +:1072F0004B025D1A7649CAB86FCD46FE54E8565D1A +:107300000CEA99FAEAD975DE4BB7230CFB7BA4F3A0 +:10731000059C675CD80EF61BE9277B0CFD2402E771 +:1073200028433D43F7E2BA6F1D5833BB1DF4C12E0D +:10733000C1676CE3FE93F3156B5FAD03EDCEAFD980 +:10734000944DC14FE743F7A17C177AD21CD3BEFE00 +:10735000AFA0A7BFE29E818E1420A72E38D7C431DC +:107360002A3D87BA560E75C5C3F4F44CF45B02FF90 +:1073700047FACC62D602D4731FFE937301ACB76098 +:107380000C97034BC5B8AC34AE7F3FF4F0233F9E5F +:107390000074D0A9654E4139930ECD5D306E1CF658 +:1073A00083FEE9383FD4D3717E58E7D3FC61E37E96 +:1073B0006A7597C350F58543DE6754F28BD0390365 +:1073C000E376CD26BE3686F383417F5692BFAC501E +:1073D000EC6F247F19FE59A1FF68637DD623A13F7E +:1073E00002F6A3762BA87F8724DC4785D87F06BAD0 +:1073F00036C6613FEEE71D10FEB887AC2C05FD2CAC +:107400000FE53983E8EA3DFADFA0CFC03C47B33D42 +:10741000A4CF3C24EC19FA43B9B4ACE400FA2DF63D +:10742000D8220BB05FF7821CDF1AA83F64877E6802 +:107430005FDCA0BF6243BFC7DAD112FA3D8E17F2FC +:1074400073809E99D0AE5BF2A9BDAB92D17A7A954A +:10745000D0332D0D35B88E6D6AB8C4EC377F7E34CD +:10746000F7F366D55BCFF59BF859E6ACC4BA874114 +:10747000DDE04B3EF4DB25D65302CEA0DF6C5F543B +:107480002909F51BC6A5669D9F08FF007B04F9DD51 +:10749000CCEF95EDA883FDAD7AC112443BCADFA9BC +:1074A0007D0DF77B7BBFA45AA4A17493EDFCEADEAB +:1074B00076B0C736B5C23AC5A88770BB706B2BAC27 +:1074C00003FC7CB3F0FFDC5B95B7BF0DC66F1FC735 +:1074D000F1BAB7497E16EFAF7BAEACA07FA4FBCC70 +:1074E000A3547FBF4C0EA2DF3660EB79B604FD617A +:1074F0006139A8637BD323D4BE37C0DBF77EBC766B +:1075000023B6EF8DC8CA1AA86F5F7C8AFAEF69921A +:107510001504EBEE8603E4AFD2A356F257ED69589B +:10752000E85A04FBDAD29A17447D6B7713F743EDE0 +:107530009E7B8A5960DCBD7BC341F43BA656466402 +:107540009447867D9B7CDEE3A3F9FEBB30FE02ED13 +:1075500029E5BF94F1FEF6E42912DEDFC4A75C84BE +:10756000377965CA7E176CE4D7A339FDD95A2CC187 +:1075700037014E290DF25907C893BCAC1043BAB07D +:10758000B5D8E9F91BA3397EA630D37D51DC02E0E2 +:10759000689247C9F7698C4BBE57660D06507FBA93 +:1075A000DD32A0235C0C3F63B2DF343D9629915F4E +:1075B0005166038EAAB87F353D6C97FE1DCF61E101 +:1075C000CF7D5645FA0A8E033B18F9DA7D61590AD8 +:1075D00041FD2F5007DC19F4A71A704AF6AB660874 +:1075E000FF6B0DFAF5F082E27ED6EF8DCB46F9EA1D +:1075F000A67663FF869FD5E023DF1FEBDB8AF0BA18 +:10760000DDA2B499CF33923F18F78B747EAFE68C2E +:10761000A01D7F5F53A6B414EA7F097B22A8BC1487 +:107620003AC3D2AC4A6263033AFA470716D3F90C5D +:107630003B7FA85F3844E72DD4EAE8FC39789E0008 +:107640003AC5B83F19CE71661CF29DFAE1CFD15D03 +:10765000BD4652D1DFBC5816F2E0272FD4F8879EE2 +:10766000AFBB5F26FD2CD8DB3EEA2BE40FF7137F80 +:10767000AE7ECF9A1582FAF619BC7E742CD7B38CE5 +:10768000F3DF6E61D224933FD96765C41FF718E713 +:107690006F583559C6FB6AB2CBC019D987AFBDD474 +:1076A0004674B9406148D743CFCB7A97E279C3B3E8 +:1076B000687CB6386FB5B83F38EF793CAF3263F8C5 +:1076C000F36E6B94493F387EF0C56D6DFE91F709FE +:1076D0007F12DE67B6D8E787452109CF7D6F4D6001 +:1076E00000F531D00F298E9AD364277BC867EDA3AC +:1076F00038E3AE30F01CDA7706E129327A9CEFBE2F +:107700007AB9D77CCF79614542B815C2BD5A82712A +:10771000BC33F0D4B8C7CFC7EF51F2678F7CAE9EB1 +:10772000D81A17EAA5F1F8E8F917D0EF6C9CF7D84A +:10773000B75F7E41F78F1C57BED2FFD9E2CA19FE50 +:107740009C7F2AAE5C5D70F1B8F21E8C2B4F865286 +:10775000F0B5E4B87281882B170CC695C3CB285EB0 +:107760005ACBFD8446BFF17EEE57A82E10FE69115C +:107770004F36E2C78BC6E66E6D2B8BEB2B7B973CAF +:107780005064DE8745C4B38C76438E1AED357ECEC9 +:107790007FBF28D6F1D7CF9F87F6F65FF4347553B5 +:1077A000D6C8FAEBC87EC3EBBDE4373C963F85E410 +:1077B00090E137BCF6B10958762D61763C77D782D7 +:1077C000178BF0DE2D055C8F39F3DD09B9A81F2674 +:1077D000C7AF76CFE5F12B631DB7D8A711BF4AE637 +:1077E00053065DE488B895CF1A6E437DA1AB81C77F +:1077F000D1EE0BF3B8D6A7F1D7DCA4F89689BF7EFB +:10780000DD7F9138961B7DA0709E0F4685E6FB11AB +:107810002F996A47B961C09D295AEDEF609D875E37 +:107820001CB7DF1C475929F0F85811BF7F03BEB0C1 +:10783000EEC2CD59FC7C9BD4E1E0BDC17B57D65054 +:1078400078772D03787B701FE188791F069C3F6D48 +:107850003FADFF4BFBC947BD11E0B7D6D5F3E309F8 +:10786000B0EEDAE356D21B8D7D1D9324A2FB75FE8C +:10787000748AA7DE8E4C0AE9F3EB8CF4BBE4FB3E82 +:1078800026E94C463FE30D32D16FEEFEC5AE321510 +:10789000DB9796227E3D82C23E3B8E173EAB4EF674 +:1078A000C83F8A076386CAD97D04D7B926BE561455 +:1078B000C783BDD817CE31AE5821BFE8DA24BFBE8A +:1078C000519E17FA8C6ED30EE27CBF1F4DC281BD54 +:1078D000737403C5B1375BF539C88FF644ADAC0D91 +:1078E000F0B0B7412678ECAEE2FE9DDD67BEF96CE4 +:1078F000B149CFDBD370C0191EC62E35F4B4FE7C5F +:1079000035816F950423B508E2025BF8315C5F6B4B +:1079100089F422BD0CC69DE76A641F249FE7884D49 +:10792000CFC7FC8153FB73BC189FDBFE9FE1B1CA3C +:1079300030E733CA5B453E01C6DD65B47558CC25DA +:107940005791FEB1E261BCDFEBDD747F43EF97DB63 +:1079500017FAB532DD47D7820F4E615C3CFB1BEC5A +:1079600032E40B934E28B5089FBCB93B8EA25FD47E +:107970005A9C78DFC6FAF7CD85FBBE88BD6EC4B3CE +:10798000C75E7A3CFB55E403D90DC3CBB500FACCF6 +:10799000B3FF15E7D3A565B08F8F93F038BB3E4C8E +:1079A000FE1C9F35447EBDFBEA2FED7CF9977EBE21 +:1079B0008FF07C39239C6F300F012C60731E42AF17 +:1079C0003FEB2B220F82155F4A1EC3C8E39DC5986B +:1079D00047B17AF8F19F1DBE39842FD9CD32E18BA2 +:1079E000019FA98837D386C19BA69F935EF79730E6 +:1079F0002A4B23C3CBE83F49C0B920AEFFF8F01CA7 +:107A0000D94F9AE485198E227FE4357FE6568C079C +:107A1000DC6E0969B85F76A593F42FAB1A8A219FB3 +:107A2000843FD2A393CF871AF335D0DF827604B098 +:107A30000E5B5690A1BE06E08C5814826305AE6FB3 +:107A400055D8D30ADAC505DC4F67F1688CF42E2BC4 +:107A50005FDF559CF133D497A1FFE78A2F21DFC563 +:107A6000D8EF67CD234CD65FFE593FC1E563397F20 +:107A700019C94F00E79A33123E61EED42891EF8383 +:107A80006E615E6A69520E4A79FEE760FBD918D4CE +:107A90008BC08043385F65F1901DAEF648E49F735C +:107AA000B51FD202786F618F965E85A9529D5A1DCF +:107AB000D49B6A9C03DC0F1AA5F1CBC57857C09EF6 +:107AC000800F8D871C0974B69C6D790FE3124DCC25 +:107AD000D40FD659FEEADBAF627EDFF2A4E7CCD248 +:107AE000908EF2220DF9F46543EFA1E555D7334F9F +:107AF0009BD65B559C9A753E05FEF139F6398ABBDB +:107B00008AF123DDE387ADCE679E06F9F11D9BD692 +:107B1000827064553C88D351FC41E970F2C680A361 +:107B20007B750F73AAFCFC783F77075815EA7F77BF +:107B300057EE70727FB49E208F92CB0D405B7D8894 +:107B40001756EDA2710B87EA1A689F3AF27C651FFF +:107B5000AF393511B6ECF433CA9B7115AC8F2D805B +:107B6000FBBBE5672EDD9987CF13FDD11BEE8CBCE7 +:107B70009C0EEDCE4ABB8A7E2C67ECE819ECEF62D6 +:107B8000A98A0BE6B9FBCE908C7E1DDD27531CDE47 +:107B9000E5EF6461D02B36A94517DDE7865642A68E +:107BA000C1BAABA093F417871A464F0ECCCBFD2475 +:107BB0004ED4DB4DF850BCA5DD897CFE9F9DDFB81F +:107BC00007A33D791DC791B33114D5DB0A3B5FC7CD +:107BD000B8A2BE361D951FB64DD2097E7A31E3E7B5 +:107BE0003DE4F835B6CF915391D9B1AD859DFA41B9 +:107BF0008047F879978E7CBDECE33F6D3C88EB02C3 +:107C0000BCD08ED87A57843542B9ACCECBD6285466 +:107C1000D7B1BDF1B9521DEB8E24F82F8BCD23F8CF +:107C20002E2BC88CA2DF877D0CFB9D0E75FCF738D0 +:107C3000D80FEE1BDAFF1495F6A3FDBDF593CE9990 +:107C4000F9500725F138FAAF1A63F34E21FD35B626 +:107C500017D1F8A8806B07C2677CFCFC8D7E7D3D48 +:107C6000C2A731BA602A92C1E0F3436D33F3B390F7 +:107C70004E39DCB68A788DDB9F08AF6DEDE7DEC24A +:107C8000F8E29F0E493EDCC7B2D8DB545F16CD2820 +:107C900072F986EEBB31C6E3B88D51DF7E6C37F6E4 +:107CA000B3ECD076FB82D4F83E2F755FC9F799BC50 +:107CB000BF16115F6A773ED5857E31ABEB275D2815 +:107CC00077500620FDB68B7325E3915CC2EDAC7650 +:107CD000E17F84735862708E0E9CD8741FED5887B4 +:107CE00073D84B86CF036B7789F182AFBB1495F8BD +:107CF000BAD16E2F11F63BCCAFE5207D893F98BFFE +:107D00003587A7BB31E21F9D1335AE9712FD326B4D +:107D10000B8B217D863DE4E770E4E931B2E3153950 +:107D2000786515E2BBF5837E133ED99D2C88FDED69 +:107D3000BFB404516EC23C31571AAEC7FBD17E7C32 +:107D4000C38CCB8B302BCA538D45F40ADC0FB43B6C +:107D50004DFDF374F23FC31E23577A878E67627E10 +:107D600074B1239F4DE6C3E34A84BF38890F334F74 +:107D7000D6B07CDCE0C371391561C8171C55F259C7 +:107D80005B1AD2D1FBAD281F1CACBA6D304E43F646 +:107D9000AB9107218B7C6F3EDE89C8024B8D6EE470 +:107DA000701DBDF181B6A22CBAD7014B1ED68F48EB +:107DB00057723F5E0FC64B476F7CB006DB7D913438 +:107DC00055A6F6876B6AA1AE7C92CE6318227F0718 +:107DD000D533C4F7D1C1D3BD3E185F81C88AFD83B6 +:107DE000559477333A929897935F9698B793CCC708 +:107DF00055A6CA38DFE63259BE12D6DB0FFB41FF6B +:107E0000D3A640D1A99A2CA202DDA2C4D71F27D69F +:107E100037F0345FD453CA2B4FE17E30ACCEFB73C6 +:107E2000FA51FDA7EE40FF902AE067D04D07D20D32 +:107E3000D08B0BE906E8C721E46B874BE413E6859A +:107E400013F2B99A043EEFBE82C530EEB2EB51296F +:107E50008A7ACB6E5BDFCC2568B765C841D40776DC +:107E600097421DE547853D887ADECA82C0128CB3F1 +:107E7000AF2C1071B61F6427C4BD1B0C3A29E072E9 +:107E80007724FE6FC0ADF7AC23867EF89D8F72FD20 +:107E900064E76BCBC89EDCED0D7995328CDF6A5EB2 +:107EA000B4EB5786669EA17C1131EFCAD0E997A545 +:107EB000499FBE9F41FCBBC4FD18F5AED6CED2DFB4 +:107EC00001FE76B77651B9AF355AFABB62945B477B +:107ED000A8DED1DA43F5F87891AF09E885F14B6F68 +:107EE00038514E8C6E4CAC27E70F380B12E3D76E2F +:107EF0007F627D70FEB12C21FFA4BBF584D8578C26 +:107F0000CAAED63354EE6BED13FB7C994AA37FF2D5 +:107F10003E92D74DDE77F23E87EE2B116E2EA07388 +:107F2000C45FABC0BFAECA5314E7BBAA24FC700940 +:107F3000EA59AC87DA3B5EBD3D344E85F68FBFD43F +:107F40008771D34DA0EF23FEB12B227A11EA2FCFF8 +:107F5000B974F4B7BB0253880E7BC3079CE877D98A +:107F6000145EE342FBB168CBEA847D049C4748EF92 +:107F700050DB139F77056AC9DECC67FCB9C10F9946 +:107F8000C2F121599E0FF2A98FB2283FEBD3F4BE64 +:107F90005E3FCFA3DA52C0E3DF5BFC3BEA90EF6CBD +:107FA00009CBA44D6F11F2FF7DD0E7501E59D9C007 +:107FB000537F87FA8600F031290E2783FE5304FD94 +:107FC0006F6955980EF29655C7E85CC9EBA65ED965 +:107FD0007933E5E195C59C734CED5B0A4E39C3944A +:107FE000A711A1715B0A8A280EBFA132568774CEF1 +:107FF0006499A5809DE129DCA120FCE15EDE289941 +:10800000163F7757789582E38BB624BE97A3B627A1 +:10801000BDA723E0C7AEE8E3F292717F763EE3FDB1 +:108020000C38BBC23FA7F65B6E632AE625307F7231 +:108030005CBE93F845AA80B7244DE378CE6CECEF94 +:108040002971F8F85CDA9F107F3A8C3CB6A4FCEBFF +:108050002E511AF94E51516E16E5FDA2BDF44C7D1C +:108060003A9E738378DE2D4AE33CA89798ED9BB443 +:10807000CA447B58A9CE4C68F786F313EDE5485106 +:10808000427BE9AB7CBD91F0C7A7CB09E33D658995 +:108090007E8CB12D89EB1972C059909FF07C74636E +:1080A000E2BA23ADA7D7FFF665C403B0EB54B22FF5 +:1080B000023CCFC515007E9A36F47E6C42FF02F872 +:1080C000178D37C19F6571B96F93237545263DA9FB +:1080D000232DD2C8F3433B451E50489D7391F3F7BF +:1080E00016F0FC91CD7E4E3F9B0B569DF1C1D49B6B +:1080F000B770FAD9ECE77960EBC6746BE8BFDB00C8 +:10810000FA39CA0347EC0EA6A23F09F452CC033B4E +:1081100082F960402F8E82080BC37397B5AF17F5B5 +:108120007E762BF3A1FFC3E5ECE7F51651F7E8A740 +:10813000305F17C0C9EB4A27AF1F823AD0C5BD8256 +:10814000FE0CFC1B5DD023D5C0BA85AC5FC2B8E77E +:108150006DE39FB807F139C03A658C371975CA537A +:10816000B89CB13AA8A39FE2E0C78EBA69783EE412 +:108170006F48EF774662C81F06F95BD929CA57BD19 +:10818000A516AEEFB2A1FC08E03E7BFCB438DC0DD6 +:10819000B81DF4F33836FDC17C9E80427E71A39EEB +:1081A000E2873AC073D1781E37013A6F186FA2F395 +:1081B000835B0C3A4FE497C9FC33996FDE863CC968 +:1081C000ACCF95C99A95F4B85BE3FBF6D1BE1B71B1 +:1081D000BD47047DF588FD7F5BD41D2C467CEECE2B +:1081E000E27033E215F00FD903FB1FFB74A40FA755 +:1081F000B9AA448BE0F8A22D0D09F050DB13EBF97E +:108200008CD793F9FA985B65A69BFA9546DD09F53C +:1082100082A6CC84BAC1E737B706293FF4DBAD5557 +:108220009497D6D5AA517D2DE374704F31181072F2 +:108230003CCF249DF5D33946C9FDBD32ECFF47E361 +:1082400055EE9F0BC67A31AE305A8F4A76C6E90199 +:10825000FDF96B8AC377D3791BEC3AC67D5CFE08C7 +:10826000F9B736DCD5579B42F6120BAE6188EF6E3C +:10827000921B0ED51E1D8FFABB95EB79934E4419B8 +:10828000C6CD1C4E5E77C5FE4A7E58478055B84C19 +:1082900074EF2E886A1ACF2FCA33D3DF466147EDB9 +:1082A000B993F1F9FDEA01C44BA0A7579650BD64FC +:1082B0008A4BC573703B6914E6ED43FF7537AC27F5 +:1082C000FA735AD55EA2933A568174E2742ABC3E80 +:1082D00043D43D8CD735A843E154066254AFE6ED54 +:1082E00069059DB1C5504FD3F2C8EFB7EE86DB5E8E +:1082F00041F9EF2C60EA78294ED7061D3BAD3D31A0 +:10830000A2DB324E974E678CCF17E474EBF40CF07F +:10831000F5568B76859DA2FE3AAFD797849F403C59 +:10832000CA2BD0897E0D781BF7B1A538FCA3E1EEEE +:1083300023BF91E929E85268E1F4B4A79045CBD076 +:108340001F7D2BFA5AB0DE770CEBB04DA698EAA34E +:108350009B30C7235E8779986A6A37EE614F61C4A4 +:10836000EB31D9B3061CDC7E0E07576C2FC1C1F070 +:10837000D7B8ADFD3518C737F897DBD9C7EB82BF43 +:10838000B93D315E8FF073BB951E5E6FE2EDF9FE75 +:10839000A85403F8B2E76F9661F35B3AC673BDDD8C +:1083A0005306F86FA2FFBB4AC2BF43F8A9ABAB129A +:1083B0009E7BC3401726FA0938B97DB6B14126FB2A +:1083C0006CA35A943E9CBFCD28EF13FE847B816F33 +:1083D000A31F6867AB92E00F4A2EB3D77646E8BD7D +:1083E00014167A05FD161B8AD522E477997551B6C5 +:1083F000109E6704B81F60DDB58F69A827A6580DC9 +:10840000FAF0D658395D55205EA708BA51344E4768 +:10841000291E9ECF9A5E2DEA223E9856C5EB83F424 +:10842000E4077A22FF5E24819E36087ACACEEC0CDD +:108430009BE3E1C67ED24569E09BAB41D6310FE8B4 +:108440007049382D007075CDB29FE578D747789781 +:10845000813085E7BD25A10C6CDFD3C0FD8F85750C +:10846000FD6D788EE24E3030E11C0501CE67466B23 +:10847000317A7F33A71E0D4FB8822A4DC27D1AEB89 +:10848000B80A18CD5F3A3E5CC0D7E3F16603CF313E +:108490001D09F1BC7827C7F30DC51CCF01ED08CF2E +:1084A000371473BCCD99CBF1DCA867D7733C37EA9E +:1084B000300FE1B9511F844F7124CF63C2B7758566 +:1084C000B7BD7C713C0FD5A23F89ED1478ECD46A1E +:1084D000098F3B0D3C0F73BC9E6BE079A886FAD7E1 +:1084E000F37A965F233CDFF037FE7EC21EAB7E86BA +:1084F000E857CD9474D3BE72035C2EEED1AC75C335 +:10850000D1C3EF85DCBC50A2D520DCD67BED9C0F1F +:108510003C6B8BA6A01F29BFE515B493D717DA8350 +:10852000A8B3AFCFFF16D5ED639C54B78F5ECDDBFC +:10853000C7B8A9BE2EFB36DE3ED643755B0E1FBF05 +:10854000CEC7C7AFCBE1E36D457CFCC6F9EB079620 +:1085500060BF5C0FADBB6E3E8BA600BCDA33AE0BCA +:10856000229C401F38827977B9D608C5C772F58832 +:10857000467000B8121F0C70FEEE6E60FB651FC1E6 +:10858000FB4899895EBF2ACEBF4AD235C9679A8710 +:1085900059891E98670AF7BBB5B2A8DFA477DC102B +:1085A00028A2717605C6C17A8093848F3605F0665D +:1085B0003879EA8F5E4DFB62CE018C3718FA64DCA5 +:1085C0007E5AE524BDCE7FC0897A5EC0D9E2443AA6 +:1085D000D954C0F5BE9AE243DCEEF31F72A21D0728 +:1085E000CFC99EF1E3FB33E4474FD443BC98576CAB +:1085F000CAF718462FF98F4036F29D443B62D3E20A +:108600009E3ABBC93E02FDA4067D8FA3AB629DF8D6 +:108610006EFB61D10FF495754447E5AB3A4BE0B979 +:108620001A19E8C5B80CE82BEB03C3E82BDE4E9013 +:108630002B9386EA2D86FEECEDECD1D08F91ACC762 +:10864000783B3786D0BFE347BB88CE19257AF776CB +:10865000766AE8EFF0C2733CA727D8EFB493FDE544 +:108660001CE07EA2437508EF22F15E9B618F1BF137 +:10867000963C17CF436515224FE1B53DC45FB67AEE +:10868000F877250CB8ED0F70F97F2020FC398A9A15 +:108690008F70AE28D10E22FC008E8702C3E8A51D84 +:1086A000FEC4B87E47DA4023F2452D90417CD89134 +:1086B000A754603CCB783FD8A6703DF57B021F0BDA +:1086C0006CDAF7705EC3AEEE107675476007DD7F3B +:1086D00047C1C5DF0B7124BD57B5E12AFE1E959138 +:1086E000B7E9700F109FFE3F62BDA7C5399F16E71F +:1086F000DC58FF501DD9B350E7F611F73F24DB4596 +:1087000007059F1EC4BF00F0DB49C8B7C3CFE2FE18 +:108710001D61EB59BC774701F035941B5597E67FF7 +:1087200032E8235DD5258CABBB033DC4A75D120B9E +:10873000917FDAAA535CD73183C331BDBA5F47FF5B +:1087400099A342A13CB97E710E63DE9D81F06F0258 +:1087500026FF85A380BF1F6FE0DFA7EDC7638DD61F +:10876000E1AB1D9E62BFACC9844F1AA3EF6DF0F858 +:108770002EF3F37C96740F979BC6F8B7055CDF3138 +:10878000F0270BF0A79CF0E70F027FDE1D1E7F3263 +:108790005D89F8D347F6A4166893EC26FCD15822DD +:1087A000FE7C28D601FCF910E737F0676B257FBF08 +:1087B0006DABFF1CE1CFD6CADA8BE61F0CC19F055B +:1087C0001C7F3AFC3F7726E803A57CBDC3259AAD04 +:1087D000343B0ECF64FF51323C37D68FBE9AF06BDC +:1087E00086C0AF19C3E3D71F0CFCBAC47B725547D0 +:1087F00074E4C38AA0F394703F31815C90FBA53090 +:10880000CFDE243EBCA1E01182B34DEEAC437F1B12 +:10881000BB9CDFA3E63F1E932F42A7FED24138FB4D +:108820004B09CE3BAEC63CCE8E323988F64E470160 +:10883000CFD7EE0870FBDDE0E706DD1AF0D95AC5A8 +:10884000ED4FE31CA94970C7F4C7C64C28418F738C +:1088500040B979D2AFF370BFDD8D8F248C1BEC1F34 +:10886000DC3107F965EAAB8F5F877E8C8ECAD8D57D +:10887000667F17D8BFD5B85F4FF10E054D3483EF33 +:108880007D9A7DC934E1E7AAE6FA5B329F76554DC1 +:10889000E17EE74FF16BA557754A783F863F212F60 +:1088A000A8B4A1BE66EC3F5DD0775A15E7CFAE0203 +:1088B000653FCA1FEFE2A84EF77105A7EF06017FDB +:1088C000973F4A7C25BB347C7DE934337DC738BF74 +:1088D000512E8DDFFC6AAAF1BE3CB439882EBF51FF +:1088E0003A0C5D2697065D76F8799ED7912A75BF7A +:1088F000394FE54EB1CFDCF1DAB2522AC34D08FF51 +:10890000EEEC966B083CD67E8267B7C4F14FDFCFA2 +:10891000F1CF06F6E623282FFC17A7F76F960ECAAD +:108920008B6FE2FC1E3F23FEDB1808DF41F7BC4FD4 +:108930003E8B754F50F05F717FAE7DC3D39BC1D727 +:108940003C57FCA0CE4FF23CBC06E749B9EAD0192F +:10895000F49376BC7ABB3201FAF646658A57ECF599 +:10896000F3EF0FEC8DAE7233CF3FEEA7083837FE32 +:10897000B815E6E98ECA2AF7DB284C9F4E2610C5AB +:1089800011BFD3B88A3D00EDEF23C10025395EDD6C +:10899000C3F0BD9D153F75E918CF72545BCF62BE21 +:1089A000F0A01F5BE09975B5E03F518E9743FDDB6A +:1089B000FCDE2F153F0CBDA1B4247410E1A1A11D54 +:1089C00093CAE57FA9D91F38827CEBB08754F1BEEA +:1089D00038CFB3607D0CF5514F304AFA6A86D05BD0 +:1089E0000CB9172D0DF5E0BCEE403FE3FC89BFB795 +:1089F00034447F40C664C287C7E37CE9711AEFE75D +:108A0000F68F7B869BE430D83F4FD2F34A9DEC1F14 +:108A10007740F8012E91BF3AAAFA18CA63C6FA9EA7 +:108A200045BD771CE3794CE30A62F3101F98EC8C88 +:108A3000205F35E81BCEF12CE2E5B82DC639049F46 +:108A4000FD16CFEF42FC9F6DB223FF1CA797E77185 +:108A50005C727FCDFF8266B9C8F95F8A9FFF25925D +:108A600047ACFF59C42F47934C7E5E2835C287A17F +:108A7000FAF06BB8DE41A1DF1AFE395A80FC413CA6 +:108A8000DEEA5B1D0B21DF1CAB473AB1F4B53319AD +:108A9000CF3576B542EFCD18FEF73B8B436FE17CC7 +:108AA000BEF601CAFB03BDF86DDCCFA7D18775F513 +:108AB00008FCB569787AED6D39457E807BAB998A83 +:108AC00074B8EEE6C73AC6E37E5B64742BB0F45824 +:108AD00007C9FFF42699F22AEE6F2A22B93F12DE67 +:108AE0006F467F8403ED0127F9251CD61E8A8BC2B1 +:108AF00018F263399C31A27BA045F263393C7DBCFE +:108B00005E29DA957EDEBF8AD73B92FC19AEEA2851 +:108B10008F936899317C5FC85326A3F378F0FCEEFD +:108B20005B795CDCD0F331EE90D0EECF4CA8DB0269 +:108B3000C1333E359E1FB1BE6006AA67ACBE389CED +:108B40003F01ED55599F89FE48961FD2D03FE63B25 +:108B50002405310FBAC3C6FD155759AAD3CF515CAE +:108B600098BF5FE79638DF993081FB2B6C2AC81DD0 +:108B7000C4AF76168C1232F0799C304F0CFA750225 +:108B8000BC6614E37AA1125CCFA9EA76BC6F63FEDF +:108B900064F84E9EC0F9B5912FC0ACE1C070711160 +:108BA00083DEDA8A431513B2F93ED1FE73A07C1C32 +:108BB00066DEBB4A6AA64D203D3C78E68B95684F41 +:108BC00033E2A76B3FBED2897AFEBA1A3B05D54F76 +:108BD0004F28BCB6CD4AF11E368BFCBA50A25FD7E7 +:108BE000139D87FEFBA726307D4635C0CD1AAE43C8 +:108BF0007E7BCD84DA6BB3609FEBC5FB1E1B1E5CD6 +:108C0000B08BF2A38DF73F9015C2BFBB5DA2AE2F14 +:108C1000B8F652C63316233C9F670F7F05CFE7692E +:108C20007492DFD1131CB0231D5D10792C198DAC0B +:108C30005D498F9FF3A9099CBE33ACDC5F95E114BD +:108C4000A588FF374DE0FAF6EDA25C2BE09D17EE0C +:108C5000EFE2F6611A43FCDC2AE647BF24C50D2A81 +:108C6000B99ED1AEF0F7E15217703D6389582FDD00 +:108C70001FA5BC43D033164F30E919A9955CCF78B6 +:108C80000A85229DA38FF4CDBC701FC3BC85148DB3 +:108C9000F375B03F56E03933827A0DF24FEFE2C4FC +:108CA00071772F03284E8672705F9DF4DD054F1596 +:108CB000EC438DAF77ABD84F6FA9760BCE678C7F27 +:108CC000B034741B8763A7867E76E3F93E31EFBE2E +:108CD000C17975D2273C017E3EEFE27E86EFC9B6B0 +:108CE0000A385D5DAADD85E733C6FF2C105E83750B +:108CF0004F6394BE5997B6B893E060B41BE5F78B09 +:108D000043EBB1DF8AC6E869F3FAA67BDE7CB17B70 +:108D10004EC667E39EF3C7F23CD4FC712119F9F00B +:108D2000F69BA71CC4BCFAEE55E7EAD07F7E37BBA2 +:108D30006214E95D13ECFCBB51197D1BF13B535BE5 +:108D40009EB5B003B0FAF63B15E28F79D54A11FA19 +:108D5000F7F362E2FDC46A65BF39DF2B4FE47B198C +:108D6000F95DE931EF2BF89E7CFA8C1215FBE58555 +:108D70007509F3BDB6DF29BE03E01F207D34BD3A7F +:108D80004CF95E3F9AA026C4C7D3C3038CF04DE4D0 +:108D90007D756744DF4679B9E532BB7A00D67AEA59 +:108DA000B2D31D68BF76B5D935F403762D6B9031FB +:108DB0005F6AEB3499E2E3FB2ACFBD4C796A331842 +:108DC000E5A965C4DEA67A46582932E7D765887DCD +:108DD000839CA3FCC7BCEA1CA27BE31C79C2EF9B6B +:108DE00037433D8E7EDF6D62FF797EBD0DF79F17A5 +:108DF0000E27E4ABE5CDD0859F98EFFB293C970982 +:108E0000DF93F3D5D6D94279E82F4BE62FEB859F38 +:108E100021F95E2F94D4FC98F8D408F952C9FCEFDC +:108E200052FB2D6AB992FD762A638FD9795E81BE95 +:108E30005BA2BCC7C77756CCC4F32C798BE7AA2DAD +:108E4000BAE3CBF7607ED0656F2A74CE45FB3282E1 +:108E500078FE9BFA2233E9BD15D032F17B72B91648 +:108E6000DF897E9827F7E00BC1B500825DA7D83770 +:108E7000908FE65A6EAEB899FC829AEA01F82F609C +:108E80005C5EE45A326662FE72EE57EDC17618FF00 +:108E9000AE4D398DEF43E9AE3486F9420B7AEE5888 +:108EA00040F32BC0AA404E2D702AB49E535532DB9E +:108EB000F0FD7D3773BAA630367D8D72FA3F609E25 +:108EC0008165A9CA0105ED20E5F4BDB8FFC818C544 +:108ED000128CCB45E3FC4BB4901DE5F9C423F6841A +:108EE0007B29EF49AC4F3E9158AF8825D6A79E49C4 +:108EF000ACAF9CC8E9B785F5D8499E8759E430C81E +:108F0000EBF322BF6AA9C8AF7AE26F1686E71E3874 +:108F10009A123DE0E3DBB3C17E973F544E71D8C750 +:108F20003EB985DED71BF8A92588F4F818F0853EF0 +:108F30008AC745C7E0BEDFE93E7AFF5E687FE7C1CA +:108F4000DC4C44E5536F2D3CFF33D4EFE55486F8F9 +:108F50007EA1B5AF0BE5EB952B9E1C83F2EFC2898A +:108F6000EFDF8F70FBC3771D0CEDAC3FC83C7FBCBF +:108F7000F7D727CF77E3BADF4DA940DBE10FC71E54 +:108F80002F413FC5F2877E3806F9DB3B0F3E349D0B +:108F9000EA0F1E9D84E53B47BF53B280E450740C3A +:108FA000EA9FC63C2B1E769D1D7591EFA0FDA3F395 +:108FB000AE1071C3150F6FE81B057C6FC591541D72 +:108FC000CBE54736BFC74BE9055EB651FB72804C17 +:108FD00015A838E753395F5C71C491702FE3BB1259 +:108FE000EFA9349A585F2AECC6C085866B7C30DFC7 +:108FF00079A1872CB5B3F07198AF199E67C0F30BB8 +:109000002CD1CF6994DA442E379B4F24AE7BD23AD1 +:109010007CFF9913399F0EE01B0C267D3ADF31FC53 +:10902000FB9FB344FF071F1CEC6F11DF11632AE89D +:109030005F2B043D3D31F8FD3F76EB68A0B315880A +:109040001C45F1E72B98E9DCB0DE9F9D6907504F86 +:10905000785FC8B10F6D9C5EDF69D5EEC1B8F5F9D8 +:10906000564D9B61CAFF5ADA75F3692FE04BD3F175 +:10907000EC2966FED774F4A0FC7578FE2EC86DF45A +:10908000DC34CD7B60EBE5D8EFA8A507F7D574F409 +:10909000A91C8C2BBDDBF34C1AF65BBA2F23E17DA8 +:1090A000C71BBBAED26698F4D37F942E1FAFE2FCF1 +:1090B0006B458F2DEA94B0FCD5CCD1C837BA247A51 +:1090C0008F7FBA354CEFCDA6566A361DF8E2173FB2 +:1090D000FED169CC2F6EFEE1B4E9A8D76E92435F52 +:1090E000FD37E43BF75BC85E7AF4970B2D482F37CA +:1090F0009633D9024AD2A9C00EFB3994F7E29E37C3 +:109100005D0792DD83F3B2A765E03F6987244DD404 +:109110005F96F15B615AE7FC188C7F4B4E0B6E82B9 +:1091200075DF468714CE7FCC42FCF58BB1D65FE06D +:109130007A6F3F6CA3F7336EEC4AC49BC6276DE48D +:109140008F683EBC360DE3518F7D629190EF0E1C0F +:1091500096881F18706BC46F58C2FAEFEC4FDD8809 +:10916000B983EF6447C760DEE33BA9D131997CDC6A +:1091700037D07E6E3CF25F7FC538C1B268E23AC933 +:10918000F870489C0FFE0266BC4AEE879CC83A3DC8 +:10919000DEDED402F2C11437697AB3D38E7E8D65D8 +:1091A000B3EC175D0FF092A9041717C165C5849E33 +:1091B00012E4839255A96DF75237C909EBBC83FFBE +:1091C0001AC7EBF8D1BCE588D780B27F7EF5BFB671 +:1091D0005A00BFF32D3DAFDF84FC16E0C1DF0F8FD7 +:1091E000AEFF6E16F127867932C6BE6ECAFB45D732 +:1091F0000C939FF0DD13DF5F8F7CF35D7CEF1BE54D +:109200008F1A4BCB04F89D1472F85D85D78DFE6DD7 +:109210003D4FA561BC6945CFA85AD4C74E1E9332B5 +:109220006580FBBB6F3D90325C5C61F95B99B5F882 +:10923000BDEA647E64C8DFB3F84FC0C79F4CD44E0C +:109240004F44B8B78F227B2C7754A42232CC7CC6F3 +:10925000B84CE73DF722BC17087FC10E5BA482E043 +:1092600078832778D83774DCCF2772FAFEA03CF4D5 +:10927000AB89A8D7D7F6913F20EF1A16C4DC94DF4C +:109280005A82B72900DF252C6C4718B2F66CDAC772 +:109290008D0CEE91E01E9C89F4B37C16FF2EDEA2AD +:1092A000FA4E92C33B6F66414B15D4ADD1F5585F72 +:1092B000049AC03D207F53B7389866A2E7A53BA12A +:1092C0006E3EFF3E533BDCDFF24389ED2B588CD6DC +:1092D0006D7AF8EF0EF33C8379614CA3F77CFF22A3 +:1092E000E0F741B97601CF25E1F785609FB71CE330 +:1092F000F9C059F61EDAE700EC13F582AF097DE7F5 +:109300007796109DB7F98E05DA62A8FFB16591B620 +:109310007814E32E66E41B3D5C0F5A31A3E734F169 +:1093200011A63CF275B0759B9C21AEEFA84CF912CA +:10933000AC7BF9C3B3E9DCAC91295F1E0DF5C6D94E +:1093400004A7CB23A4B1B0AF897B62BFE4F7FA6B6B +:10935000F48DA09EB597CF7F23D309DECB581F9DF8 +:1093600037A52C93BF27DECBE3C57F3E91417E42DC +:10937000E31EFFCC82E948DFA0F73057E6D07B4EF2 +:109380008673E3BE24B89BE15C84F04DBCA79B7E52 +:1093900000F01E064F8DEF78BD8E9E54AF191FDB77 +:1093A00068BFBBDA242E77F4D9F328FF7BDE74E2A2 +:1093B000ABDBF0FD37D377C836A172CCEDDF18A652 +:1093C0007CB8A7B2F877CBAA508FE3F5D2B2ACEB5A +:1093D000BA0A309F3CEC453D79F76C3B8B71FD87B9 +:1093E000F277E74C0E4F2A43FDD5123A8D7E8A372D +:1093F0006BB412C2DB160EE73D5322A59161E4AEB9 +:10940000719E6D1911FA1EC44005530E54105E5121 +:109410003D651C5310BF53C7F07B4A9DE4A6BC3B7F +:10942000637CAE0CAAE930701F6CB7F2F700A16440 +:10943000A999F49D213DF522FD0DBD347742E466E6 +:109440005C3F5756D95AD84F6E4AA4625599A9DD48 +:10945000DA5943EFFF02DEE970BED473B7D0F77F6D +:1094600052A73005BF07BA5B027A46BCBA5322F94D +:1094700095F2E4F118E2EDCA3A95BE179F7DFD160C +:109480001A7FF7145546FF51B88CF3F974A19FEF7A +:1094900095B67BB17DAF579570BECA1F803C83E700 +:1094A0002B7F506359E9A17BE47A7C4A643FDA3F21 +:1094B000B9DF084C590BF8BB045F429F86F7D849C7 +:1094C000DF271DB8592578E6ADD17DB8FFF45302EA +:1094D000CEB3399CB3AF5F4DEF996ECE6799B88F1D +:1094E0003CD62661BFF5D91C7FD62F6073510FB3D0 +:1094F0003285E218057315A9ED32AC476A38DD29CB +:10950000193FF192F7B21DBF2FB52B8DEF2B5BB634 +:109510007C633694BBA6F07AE66A493B40C4BC9DA6 +:10952000EE3BD7C1EAA44CFE1CCF05A8A71DF798B7 +:10953000E07B258777EE385E963ACF78B6C2FAB7E9 +:109540004A2C82F2FBB92C43FF8E7910FFFE68D3C0 +:1095500072A722BF7DC1C6286F644C627B91BF8E0B +:10956000BE47FB7EF04A8A5BBDEFD1D233A03C817F +:10957000FAD5307C7D7B19F79B357F343AE1BB66A9 +:10958000CD733F203BA5F9A33109CFDF053B356AF9 +:109590007ABFABA9F1D44CECB792F5AD477A59D963 +:1095A000636151135D9F70F1753F7CCDC1F3A93BA1 +:1095B000C61D30C75B0C3A6EFEC842F9029FB7C8A1 +:1095C000D4BF79AE9DBEB3D8BCD142EF9F357F6486 +:1095D000E7ED63F97CCD1F8DE279EE56350DBF4383 +:1095E000F679CB7BEB310F70E08712F9119A3FCA05 +:1095F0001179F06A1AEAF5CD1F49543F67E5F2B5D3 +:10960000F9C4F8348C4B3433F608ADF39195B7E3D5 +:109610007B2E88CF272C9467300BE436F269639D4C +:109620000BC1DFA6215CCF097DFC82D24F723ADFED +:10963000C2BF137641E5F577455E2FB6235C2ECC8D +:1096400035F848CC8AE3BB83BD5615EA4DC1DE9997 +:10965000CC840F7138A624E479E6ACED8BC9401FA9 +:10966000CF952DD95D068671F629837FDDB85BAB7A +:1096700086768B9CC0CF522A07F91BB1D55DB245C7 +:10968000F0C3C6DD330ACC75DE3F3E7ED975E80FE8 +:10969000AC2CE3E35F2C5BFEE21AAB49FE5907C634 +:1096A00084524D756752DD03F572535D496ACF4AA6 +:1096B0006ACF4BAA17F0FEF3D3FBA7A1FD7CB6EC53 +:1096C000A6EBAC4077F347F77F5382FA96B591EB60 +:1096D00066407D5125E73B373D2905290C25E0777C +:1096E0005390913EEC09F6DBF17728522A83A7D1FB +:1096F0001FDC74425224A0174F0F8F1337E138D567 +:1097000034AE87EBD14D3D6769DC88F30764A2E393 +:109710004D8173D46F65CB7FDB511FDCF0F1CD2120 +:1097200094030536CE97AC2CAC8D063CBFE9C46CD7 +:109730001EC713FCFF82577B0AF7A3FF5052907E8F +:1097400007E90DE7F5C4E9C1E8FF9BF2277F8571C2 +:10975000C7945BDF6BB342FFD756FE7E1AAEF71B92 +:10976000EC7219F2DF6829AEDBD0B8B0149FDFB01D +:10977000B2B817E3B5AFDBFAEF43BD522D5F4FF040 +:109780007B3DB5BF50023DA4E858E7755618F77AFF +:1097900076FF7D08CF3DC7B6F37A617F21DA4FE3CC +:1097A0008FFD84F72FEEBF0FEBF38F7D8FD7CBFBB1 +:1097B0000BD12F5AA1F710FC0F2B9CDFFD26492E51 +:1097C000E79473FEBEF98B5A4639FA839AB85C9CCB +:1097D000DFDD370FE96CBE0C7204F0F8F0BBBF3D63 +:1097E0007618E070B82585E815CE1B42BD3E97A3DC +:1097F0003CF0FD4EE2D7033EE0DFF4D1BEBE7EF486 +:10980000E3A74C73525C28D9AF0272EC38C9B1F9A6 +:1098100065241F9E9EA875E1FA46E9BF1C4AE8DF51 +:1098200055AE1AF92F1598F7D7D0E009521CD3DAA4 +:109830003F0DF1709B8B9F0BE887EED923EEA5BC03 +:109840009CF3C9F272AECFBE3BF12A9A17EC081D09 +:10985000F30DF5D976D2AB76CED6BC6ED44F67E792 +:10986000C87A823FC546F6D34E94F9D8BEB298BEA8 +:10987000EB9E8FBA03D2EA3DDC0E31CEF335E43BEA +:1098800026BEBB73D9955EE4B33B7D9A17F98BC1B5 +:109890002799B5271BDF8F33F822D6393F94789D5F +:1098A00041BB295EF1751B8FD77F7DBFAC174F364B +:1098B0003D17710A63FCA53EDF99C1F763C8BFDCA1 +:1098C000B53D243F73F7F832F11E5060A2FDB87B1E +:1098D000FB78FA5D833993E7D03DEC9CFD806B61AA +:1098E000591C8F99A65D8FF0FC9AF88E818137F80C +:1098F0008779A28BEEC9A578615739F747BC2983D0 +:10990000DE057AEBA4C9FC7EBB908750C9BF77D433 +:10991000C0FABF8974F1FFEFE75F763F9BF1F9670B +:10992000BD9F952DBFBF343E29E870B714B3E572D3 +:109930003E69C49DA761FEF2BF9585EF2F37D1FD2B +:10994000FCFF58E9A578B8D84FCAED8FD75D0FD581 +:10995000F9CBDF21FE32FF5B29E42748D6C353CA87 +:10996000FA8FDD0DE7CE64A90ADAA3AFDBFBCBF1FA +:109970007B3BAFCBE1838FE3BAF91605781CD81D8A +:10998000E2FCD67E3AE71B978573D0BEF853B985C3 +:10999000E6413F0233E35747F0A53B87C5330BE170 +:1099A000D5C00F2D518C27ECAC88EEC5EF88ECBCF0 +:1099B000B68CDE9776097C027CD3F8F798ECA47F0E +:1099C000EC2C9675C2C7796E8A33ECF4F1F576CE3D +:1099D0000B107E7EDEC2F3580696C9DC9F2BF29EEA +:1099E000FEE8CFA4F8771CEF06D2107E71BC1B48AE +:1099F00033BF57FB47E12FFC6314F0CE14BFFBA32A +:109A0000F04718E32FF5B98177396B8DF5399EBD95 +:109A1000B92357BCEFA39520DEBF21F0C5E0B79373 +:109A200026877F83F832A8278BF32CDA5648F8F97B +:109A300086E0DF1B52393EEF73C5C87E909D6A06F3 +:109A4000FAE5C11EEF47FC5893926647B8FC1EF03A +:109A50007514C88F70AEF02F083B2DA52C4CF6F274 +:109A6000FC080BA29E712388B12FE07763F5443B7D +:109A700015BFF43258B70CADA3FF2CD14FF089239A +:109A8000B1BF2EE26A5C5E754937EFA5EFAF78B9DA +:109A9000FDF486D4FF0CE6952C447B1DB6F6E777E3 +:109AA000DDB204747F4EC4D9CE3C3795E2C886FD42 +:109AB000FD8980D799DEE9E9E80F329EDFC406C848 +:109AC0001F00281BD906E76B4E53D390FE06F1E327 +:109AD0003F5D023F34FADECB39BD90E24E801FBCC1 +:109AE000FD5189F012EE93E639175623F85E24E80B +:109AF000D533515F1AA8611194C3869FE37C8765B3 +:109B00003FFA3974165D46FA54A39BF202CF5963AB +:109B1000EBD1FFA8ABD608FAC39ADD6A1A7E5FE7DD +:109B200082C41EC1BC860BD903761C7F6101F4C9B7 +:109B3000403D7AC0FE32F6FF381D750A8CAF2FA368 +:109B4000FDCD9D40DF4BA41F40CB213F3B7D070156 +:109B5000FDDC66789F63FD69E4DF0405E17006F9CA +:109B6000C975CB9491EDDE9BE4B325AB4CFAFA902A +:109B70007698B37A0A954F5BD09FCAFAA70F17EF72 +:109B8000BF493E47F38CB84ED7EFFF86797D37FD4E +:109B900020C90F92843F4DF1BA84DF3F5B6E6EF7B0 +:109BA00099F85525BF273683458B25F427F37A4A44 +:109BB0005D5F14EDA966E15FCA3ED53F13E92DB59F +:109BC000B2872D443BE72D4E57973FB9FF29B4CBC1 +:109BD00033EAFA0A11ACCDC26F9AAC475DF6E4766F +:109BE0000BDA232D56467913CC994A7C0D98E89BC5 +:109BF000E8AFAC5D3B4925BF72EB917DE8A7AF4D67 +:109C0000297DF5BBF43C5DC5FD2C5304FF9ACBF9CF +:109C1000578BD345745F7BCF78DAE79CC9E1EB279C +:109C2000C17916CBC1E9488F29D69E87FA60BE2537 +:109C3000ED4C6DA33CF09E891877ADB53315FD2131 +:109C4000B5993C1E53E32E2DFB1D94A7CEF9CA6C8B +:109C5000A8A74FB2F23C2F87367FD2B491E3D2CB84 +:109C600027717DADF6755718F5B85AB78BF8F8B669 +:109C70001DE3E9771F603DDAEFE2DD3EFA9DB2E5D4 +:109C800093B89E37677268F9249E9F319DE2E193F5 +:109C9000F877E36AEDAA1FEDB327DC7B66209EFA16 +:109CA000807FD0F7D6F41A7F16E0692DFF4603FCBB +:109CB00075B647A07D362CD00D74B0B7B62F0FE91E +:109CC00064EF747B702DCA59162C44FAFCB2146DE3 +:109CD000E7EF571714E27B2A75331C41DCC7D58E9A +:109CE000CE4AF4C3B265B68CF34E722FB3E1F02CBA +:109CF0002ED7ACECBC4117D079B7BB2F8F7ECFC22B +:109D00008EDF40C063F0FA29586B13F99D787D9679 +:109D100093D74FCDFB751EC2E114D278063E7F4922 +:109D2000C5F62DD0DF02F2EF6E29B29FF2B6802287 +:109D3000318E31CBD947F78D0F1C5E6CEFDC8BED8C +:109D40007685FB8958D0F66EBFC9CF9AEBE6FD65E4 +:109D500058AF8DE6633189E8AB2003BFCF619C6FBC +:109D600091A3A782DE836BE6FEE47D355A776725F3 +:109D7000FE6E079BBD16AEC0EF2E7FF3678897FA85 +:109D8000189F0DECD82727717E38145F35F92CE227 +:109D9000D1F3C52407E3F8CABF0F530BFA1CF21323 +:109DA000C457C4AF166769E542C27B75317EC704EC +:109DB000302B88FAC32DC51C3F6F59A7A8F8DD5D6D +:109DC000C04BC2C75BA4602EFA556AC5F7C96F7154 +:109DD00041FD22FC60E1460B0B9BF4C5CF6F76443E +:109DE000F877D4D5FB5B60FEC517CAA6603CC66891 +:109DF0005F6C4FFCDD21A37C59A97912F172514AA5 +:109E00001FDD17E66A619CF76EA98FEE0BE1A8D300 +:109E10007D001D55125AF8747ADF37F1BE8DFE565B +:109E20002BEF3FCBF92AB5E39C97729F875C5F3E8F +:109E300010213829B36D80F3A9329F5F2EE0F3ED36 +:109E4000ADD54B119FF72E740751CF7CC2DE3391F5 +:109E5000F039E9BE53441CE183F2D0CB782E0C9745 +:109E6000BA88FF86BF409DAC67491E2DBD9DFB474C +:109E7000E37EEB2897E7F83137EF50397C019DB34B +:109E8000286F1E91A2B83EC69F12E5748CE4FF4A6B +:109E9000A05FCC87644792E57E1FADDB0CF214BF58 +:109EA000D7BEB227717CF389E1E3034FA09F794AC3 +:109EB0005C9F89FBFB386CBB77FB484FEE47A59452 +:109EC000F2EED7D038F423723D49F3A21F6BF7B2FC +:109ED00022C287142BD7AF97748E3FD026F426D496 +:109EE000B70CFFA3C19FE64CAEB54D06FEF4D7C933 +:109EF000B56C32F22D74665D4ABE86E887FEC78B6C +:109F0000C57D2E17F18455FF0DFA09E88727459C7A +:109F1000BAEED962FAAEE82A49CD453D2473B2A122 +:109F20009F94243C3F6F0953DC237E7F317E7FE288 +:109F30001E96E33D50FC2CBC9EEEA591DF77D30C22 +:109F4000AEA7B10853BE7C19BF67F3F71CF05E13D0 +:109F5000BEEF00F7A80E738F37E13D06F93D26FEF0 +:109F60006E6B27E963CD80E7481778AF09ED3B3981 +:109F70007C16A07C35D16F46FB7E0BE5650AF8A404 +:109F80004FD17CEBD05FF12CD89170B5BFC326B216 +:109F90008FB4E9A8677F505EEBC6FB71A35D58865E +:109FA000F6116B44BC40FFF61CF40FB6320DBF3FF8 +:109FB0000FF73F7DB8EF0E6C3AE96A447CFAC26451 +:109FC00039216F6960928DE04DF10BD4D33A1C4278 +:109FD0008F53C7E03CD38B0CFD5BA5FC86C522CE1E +:109FE0007FD3759E30CE774EC457AE99CCE5DE3523 +:109FF00093795E965137CE07F3D33CEEA9897EE480 +:10A00000D064236ECBFDDDF8BB8864BFD9A2AE253A +:10A010003ED4B343943766E0CF6EBBFA3CEA0BBB49 +:10A02000D7A4ABA80F1A7874E6CC38D273170B7E7E +:10A03000D03099FF5EE99F984AFA2DE013B51BF5E1 +:10A0400041BDF66D599C97BFD773F2B951942F3A21 +:10A05000A8D7BEED36EC22CA0B3DD953CAED228BF0 +:10A0600044EF010E3C2AE0C5F8FB0B279F2CA4EF20 +:10A070009B9CC73C161BE65184F7625C49EFB1918B +:10A080001DDABDFCC114F21BCBEC11F40F5E90077E +:10A09000C68C91E2715B668DA620DCCFC7EB13BF47 +:10A0A0006ABACF93E23B8C4DF6588939DE6BD48D7A +:10A0B0003C0CACA33C7942E8354D6E5E1F480FDF87 +:10A0C0008578F498F84E63531A3CF70C078F813467 +:10A0D000DCF749A6F4215D7D7E2CF0158E1F849F50 +:10A0E0006857E1F94F3E594EE7FDBC45127602B77D +:10A0F0000306F5FCB7E5FDF44D2636F0D81DA8DFC4 +:10A10000E559E877424E5A07026837EB6FB9559424 +:10A11000B727A33B4EDF8774AA0582299703577B95 +:10A12000E7C189785FC970D92DCEB3D3A68E99EADD +:10A13000899FA379A383DEF76D7EEB5C03BE27D8EE +:10A14000DCF8F17C2A93F25AFE28F56F2DC1FB3C16 +:10A15000E488E7AF14F112F381970A566BC0BBD9BC +:10A16000F9AE1DBFD3E1EC650328D758D640CE70B9 +:10A17000FA7CF3DB9B42968BE41125EF83ECD9E963 +:10A18000241F48983527E5D33073DD32B47E6290C2 +:10A190006E129F9F04DB8F7EFF2469BE376DA199ED +:10A1A0005E6EA7D1FD2DB547A7DE81F1C109E1DEC5 +:10A1B000C9D9E2D0D0DEF80737B7AF01EFD01FC45E +:10A1C0003A793CFD4D9B361FE9366346CCBED0A4A0 +:10A1D000A7BC24F8F52287F1BBBD31BB99FF18ED70 +:10A1E000D36B878F1FBD28F8446A1F9777DF6407FA +:10A1F0002D66BFC28B825FBD3459A579C6BEC5FD31 +:10A20000F3DF647FEEC53CCAA69E0A8AD78E5D1D29 +:10A21000233EF1A62D4C76FB9B921C7904F5D42DA0 +:10A220003CBF66E94312E1E9E3476A2CF8BB98CBEF +:10A23000F74941CC8FBC5CD83D4B41BE703F00CF4D +:10A24000CFC373103C50AE54A03FE0BB168A4BBE48 +:10A25000C5E87D88959DCF523C3DEF161674E421EC +:10A26000BCC3A79D5C9F59B5C11BE7776955513B9E +:10A27000E68919F059AE8569DCF24696C14CBF7F7C +:10A28000929C47C3CCF92E889F4712F115E5506286 +:10A290005EC6278E447CD12F49EE1A72460E668A1E +:10A2A000F7A2B9BCFD7F883924EE008000000000D1 +:10A2B0001F8B080000000000000BED7D0B7854D5CB +:10A2C000D5E83E8F792433939C0909494842CE84CE +:10A2D00004C2FB24841812C093071814EC10100158 +:10A2E000512721206F06F0817FB14C48E42568A8F2 +:10A2F00051A20519B4F8E8DF476811A9601BC243F1 +:10A30000DAAA7F54E0026A0D62A956C4142BDA5B04 +:10A31000AC77ADB5CF99CC4C40F0EFFF7FF7DEEFD7 +:10A32000DED87ADCE7ECC7DAEBB5D75A7BED3D47F0 +:10A33000F6F74DEE7032B654509395418C5D1CACDF +:10A340004B5A126385658CB144C63A770AC1A73D62 +:10A35000F0DFAC752C2B606CA19F69EB152836F5EE +:10A36000606C04BE6F5F8DF5EE62CCFFA4C6D85959 +:10A370002960651263B36D9BE899AC41E3E18CCD34 +:10A38000631D56D607EB775ABD831973B5333D0865 +:10A39000E3DDC39E912642F91BFCBB1EEB8B8CC1F7 +:10A3A000F8299A4ACFCC8FA01EC0B7E0A3D6C3B677 +:10A3B000026CAFEDBE2D05CA2B58AB6B088C23FB8E +:10A3C000AB11AE5E0A53EA52A17DB98FE0495EC679 +:10A3D00094FA3CF86E672C361FE06BB6313597D196 +:10A3E000DF37F0FFB9C1C8327B1ECA76A39C05F3E4 +:10A3F0006C89FCBE78CF37B6F0B2096FF1F2727695 +:10A400006618BE0DD23C43EF57042506F33BBC5201 +:10A410007DF4430B638132FFB60E8033B04A66F59C +:10A42000F0DCECF8C1731D00E7F2804DB1C1F3CB55 +:10A4300098D1CD6E782F88B25F28626CEC1AE81242 +:10A44000E7FBBE2BB883F0EF1F8A78AB5FC7A6B6D9 +:10A45000003EEAEBE009FDDFA20984A7127CC2F806 +:10A460008B107FF06CC37173183BB83297C61F6BAB +:10A47000CF9319CCAB42C90B60BFE3A1C31EF074EC +:10A48000435F323CA57DB6A00DBA603263CE9E8C90 +:10A49000DDC0A7CAC6A68D6A457C1E705955C9C3C2 +:10A4A000DF29F07D2CFE07D4BFC139BB01BF57891E +:10A4B000CCEF06B817D95A57E3FB8BA96FDE81F4AE +:10A4C000BF3776A28C747F36DEE7D500AE32BB96FE +:10A4D000BD8C7AD1659C4FA7A44FC4F7FF90F42A96 +:10A4E000E43BC6D295B30E03CF12FE3B40F333E7F5 +:10A4F00003F427F8CB91DF12117EB54181A7942296 +:10A500006836D61D7EC9985FFD2BB6E02A845FD6DB +:10A51000B6209E1749B27FBDD67D3E26BEA2E7B5C6 +:10A52000C0EEDBE616691E7311DE4F2DBEE7148008 +:10A530004FB4ABB2CF49F39887F0C33CE67FDB3C26 +:10A54000E0EF602FE8574E67C1F502E121D00EF031 +:10A5500058613E084FBAC5770FF62F2B5E86FDC2B5 +:10A5600077E67585B7E7CFCD8EB85C19F987C56AF0 +:10A5700048B76CE507DB909F0E0564B61EFABB2F4B +:10A5800036EE69168F7CD53BC8E218FB0A70D73EC1 +:10A5900008E70FBD225F264A24DF87DF750519E033 +:10A5A00045382011BF1D7ACF115C05FD1D2AE57CC1 +:10A5B00066F2B3F9DC60F0D9A1FD9CFF0EDB399F98 +:10A5C0001EB6A73E1DF074D57BCC90E32F52FA64E3 +:10A5D00033B17B3FE673F34AD02CFDBACA25775AD4 +:10A5E000FD28EF9B6FB7EAD86F89A3FFD35258BFFE +:10A5F0006522F3215CD993EF88AF02BC1CFE941551 +:10A600007A609E3F36E02A913C777B01AE1BBE927A +:10A61000582BA8A8DC73ED8A1BE67F83C27484B72D +:10A62000ACA33ABD37F47B2026391FF9E5C0694F4A +:10A63000BA00FDB5A5F6A367080E7BF24C01DA65FA +:10A640001F99F06E1CD4FF226053D7A31C581A0523 +:10A65000840BA8D0DEA384C8939DD893588731502B +:10A6600059AC4169F5433DB6344E437ABE6ACC4F8E +:10A6700054B93EFD6206A7FBAB022F07AA19C9B762 +:10A68000D666A7F2C1856A50C26F7B18B387F1F115 +:10A6900072E6979760BFBA5DDB817C9B6E63ADA667 +:10A6A0003ECA223E7917DBA7033B23FDDBEC079A6A +:10A6B0003F84F997C5FCA1F943D04F19309404EFBA +:10A6C000339C22D1B7CDC5E99BBD76813316E7C552 +:10A6D000949D38BF2F5D93E205C0D331438F1C6634 +:10A6E000AC12F166E2C59CCFDE32758137ECFD1FFE +:10A6F0000CFCB71BED72D3774AA4BFBC8C3952B1A6 +:10A700003FD578BF5F477ECC4D7F5347FCBEDA7B99 +:10A71000BE1C8BF21C885111BEB14E4F0303BA967A +:10A72000C96A85D7C9EBB98784F3AFEA6408B73241 +:10A73000DA89FAA3CD3993F85938302CDD1B46BF9E +:10A740000357E0DF0F0D7D79E02AFCFBA9C1BF872D +:10A750005326C5FB2ED38FF96C33F001C4CF463995 +:10A760002D71D8887FDB626CD7C4BF070CFEBD6437 +:10A77000EAF1ABF26F1EF16F5B2AE7DFB6D3D5C407 +:10A78000B7875D7745F26F0AF02FE0EDA0CBA7A267 +:10A790007E6C4BB5E94F7326DDB204DA1F145C0CF6 +:10A7A000E9CD643D3D7CFD3D18D36F868E78678A88 +:10A7B0008EFC54AEA9F9EBDDC0BF8E41240707EA39 +:10A7C000FA6549F0BE6F1E87375A3ECC7E98D37229 +:10A7D000AE238C3FCDF787105F3694076F3CD2EFE6 +:10A7E00090C0E9A0B5E5A6D7207D1B37EBC8F7637D +:10A7F0000C791A63B79DC679B044E0F7B0F539FB20 +:10A80000C8EDD4FE4A74B9F238957C9C6690AFC20C +:10A81000B07194CB8F0312E53E3B90E152C6B0DF9E +:10A820001F0FF60DC883797F69F1BFFF00CCBB73A2 +:10A83000A25D7B1ADA2754760A3EE8F77D81F35D44 +:10A840002ED357BD8BF83BDA63FB7A0FE26FBC81E6 +:10A85000BF640FE26F429E18612F5C096FC01F59E1 +:10A86000C2D06F9B4F517A8DF3327873C27CE2FE77 +:10A87000CFC19B16E7FD1EE2ED7DA6F4C69787616A +:10A880004D0D5FCFAE6427BD86EB71CEE5EC25BEE6 +:10A89000AEC1B2791DC269DA4763BF57FDB744D470 +:10A8A0008F812FA7BD0676E2D81BAAEFC6F2C96139 +:10A8B00087A739410F8D2D07BEED0576E1CE7F3E8E +:10A8C0001900BC8DBDB5FAEE24F8FE70C1E3D313B8 +:10A8D000F1FB6DFC3B0BFC65BA0EF31D7B27948BE3 +:10A8E000199BF222D487B2A3C06751E13945E6F241 +:10A8F000085DE8E17AC69F27115DFD795C7F2CC970 +:10A90000E37A8F5083FA70AAC0ED39D967A922B8CB +:10A910007D1684FBED51B04A0EC57E7D198D617A9E +:10A92000F5F804DBEDBA93D79BE8EA7ADF90C7F538 +:10A93000ADA380DBD1D174AC37C677E68A643F63C0 +:10A94000FB5B06877F97E97B83019F53E57636C2E1 +:10A950003579307F7AC3C63B3EADD402EA88DD52FA +:10A9600000FA59457AFAD6233D0FA47EEDC2F51DB3 +:10A970000C96DE388FF72D9A4CEB9A87F95F04FB23 +:10A98000BBA2C8DB0023B1F71FB8EB76B2DBE21C39 +:10A990003AEAC33D06FF6F720CA1F7D398A8215D78 +:10A9A000F16F83B9EE011FBD356EF321ECEFD51CBD +:10A9B0005BC8FE4C29ECB2D70EBC09060FA0FC46C2 +:10A9C000D62273FFC25FB114EDDBCA1805FD9409EE +:10A9D000AC83BE7F8F310B7E9FC8347A7E56DA51AE +:10A9E00088EF4DBBEED30C6ECF817DB703E755C525 +:10A9F0007CFB3A485F36CA8807270B72F8014E5C29 +:10AA00005FA3D7FD72FB16B20BE0AF3D39B5BB1C9F +:10AA100013B8503F99197F0D4AE05EAC6FD809FF1B +:10AA2000907C2FE2B829AC4520A161ED02ADE7771B +:10AA30003395ECC422CDCEF93C52AEF60A9CAF025F +:10AA4000D5C05702D985A4B77F572D3C6DE3F89246 +:10AA50001A0A0D7C42A3ECAF1E907BA2BED6ED0C71 +:10AA6000F1B3C9F1838AA550FFC683766603386EB9 +:10AA700074FA699E6F0BA2B68AE6E33F7877621795 +:10AA80003E8F84D6BB483A5442BD7BB0BE2A73FB8E +:10AA900004EC151C67C22E2B8D7333EB24FA7899C6 +:10AAA00042F83F96C7FDC29EDE89A54980BF34B5F6 +:10AAB0007A5F07B43A1664010BAC87C7D0EE007E0C +:10AAC000BCC10E760FF0F75E8B77D204E22B8BB60B +:10AAD00003F9AF55297722DC83DC791294F38F6870 +:10AAE00007B03CBE809707B5B49739A07CF3485EA9 +:10AAF0001EB2A7B30DCBDE0A5E1EBAAF55C4F24D2F +:10AB0000B99E7C2CA731EF4D8391FF5489FA07BA87 +:10AB1000BBD02E192728BFC475ED642DB797C7E5A4 +:10AB2000F421FBECE8CA4AD24BEE19934B2D38EFD7 +:10AB3000F182B6031E23BCD575581E5129E08ACE7A +:10AB4000DC1541A919CA937DC233C8BF17F27A72C6 +:10AB5000BDE7ABB04C017ABA7D02C95D71609C65FE +:10AB6000D260E2CB7B0D7FE922F243347FEE46597F +:10AB7000433CCC36F508237A4F9BDC2FB8DE908F10 +:10AB8000C93DC93F22BE3C2E289C3F8E4954FFD46C +:10AB900049AD02E91288E57A8DD9B5867BA1FDB170 +:10ABA000C7B218F7878233B0BF14E4735CBF26AF17 +:10ABB0001192E06917580BFA41CC19A5E73FB4464A +:10ABC000D9A1813A94BF647F1C8F13B0B0EF180FE6 +:10ABD000B0C7051CB05E24FBC2DED3BFFF690BAF5C +:10ABE000077E54627E124EE143867E4EAE4750D6BB +:10ABF000C37C5E52AB254674079840BF5C7F6931C9 +:10AC000095A7C19868A7DC985B5AF62728C71D95B9 +:10AC1000884E965E7B24A4E3EF6E91551BC27309A8 +:10AC2000F459A1B1F4009E77E79B76A5DF82CADCD8 +:10AC3000B4BBF60A8D33086F279D2ACA95C25A56AF +:10AC40000950FE895F217B88250A012C0F7CA9D73A +:10AC50007692CF144E9701377B880E37D62EB15897 +:10AC6000909F7C02CBF1209CF1640FDE987D1DD972 +:10AC7000FFD9937FF05E1CFA030191EC26D1379146 +:10AC8000E4AE0AF5203E2BDF24F9DF5DC78212CC4B +:10AC9000F3F793DFA27200689483E3CBC177D18E80 +:10ACA00098C432C98E3B0E7D5AC3FC0966F71D4815 +:10ACB000C479BFD893E40FEC47467CEA67A427CA5F +:10ACC0003A9664A01D796A1AD89180D753A705A631 +:10ACD00040F9F8C65EE40F1EBFFDCFF508CFF1E1E5 +:10ACE000094194EFB2AF1CAC95E21C822C87E9B10C +:10ACF00032B9A5FE1E9CE741BBBA43E9AE17D1C0ED +:10AD00006480EFD45039C0F07B1AFE278C939C9D51 +:10AD1000AC63FB0D4BE2348C7B8084DA34183773E0 +:10AD20001A233CFAF2B3885856E6D4ED89F8B407F2 +:10AD3000EBE1FD646FF57B684F2505440FFA0DA12B +:10AD4000754AF0DD0EC4620BF2B569F20828C7F847 +:10AD50006E471168C81FC9CBA9BEF7B0BCD159391D +:10AD6000AD12CA5FBE77DF9D38CFA9B502AD2FA562 +:10AD7000B59BE49E30CEAD81788674F8D2ED1F93FA +:10AD800000CFCA4A81AD02F8ABD4ED16F4372AE6FB +:10AD9000546774C0F3F97C95E03BEED2331427F688 +:10ADA000AF8BA807811EDE80F25FD8BF1BFA87F247 +:10ADB000F10CE83FF1BFA1FF24037ECF7F53FF16C4 +:10ADC00003FEFE97C74F5536F40F4C539ABDE4412E +:10ADD000E4DBA9A1FE038792E0395D85FE813B2A71 +:10ADE000E754939C564CE5FD47DB3DA1F162F878B2 +:10ADF000D95E5BAB38E45F1967138D7332A73103FB +:10AE0000E5EDE8341BDA36A17EB3A7AE691723E27D +:10AE10002B8D2EEE9FDEECC2F5FAA47726958503E6 +:10AE2000E519E1FEE9D12BF8A77BF2B95D77D4F003 +:10AE30004F8FDBB95E398EFEA9D0556F7FBE115F93 +:10AE400099DA279B655DD99E37D7EB905FD887FB52 +:10AE5000A7473CD7E69FBE65F8A7EDF9A67F2ADC99 +:10AE6000F3EDFEA987EB158FA957EAD2319E7064E6 +:10AE7000DC9A48FF54E5F1952F2DAA88FAFDC40C01 +:10AE800089E2732766D4939EFB020C05967775BF03 +:10AE90003B04B7618797B04029B65796AB0901527A +:10AEA0003A2D7502941F5E0A7E2CF4F799318FDFDC +:10AEB0000BFE3AD2A7794CD901EF9313B9BD950097 +:10AEC0006B503DC691E5C652C44F8AC214ECC765AB +:10AED000F7D789F0DDA5B2FC7A37AD6AD4DE6EE72C +:10AEE00071E70CD64865B0A3A9FE05830F5DCC4F72 +:10AEF000F0386A99D8C0E151902F52E49672ECBFB5 +:10AF0000B7CE18B66772472EBEBF9A7F163DEF3692 +:10AF1000E1F27CB46A189FA7E660F720DF85E43889 +:10AF2000DB93C5F97F3BD967B706868AC8FF71C333 +:10AF300038DFDD9ABB2413D7B5E995828AFAB9EEDA +:10AF4000BDE71E4C447BD223308C3754A85CEEDA2C +:10AF500072EECA40BD7B6CA28DA19D79F46BEF5659 +:10AF60009CE7C911B10CE34BAB86F1F967D7829C22 +:10AF7000601CAD96CB89D683DDEE0DE3AF687843D8 +:10AF8000F4FC4AA0F5A62596FD3B8335AFD7B0CD9E +:10AF9000D352405FB7F4629FA0FE9EF5AB1DA4CFD5 +:10AFA0005B602D413B461BB6FF09F4E75A4436A7C8 +:10AFB00085E67B97A53A4C3F0C37FA6FB132EEDF4E +:10AFC000B1FD4FB40E0AC78BA9174CBC84F4DB83C8 +:10AFD000A8DFA6CCE17A61FAD44D5C2FD47A323A5C +:10AFE0008C27F2D7310FE001DAD719F33EF2B5F72B +:10AFF0003DC423EA0BC487A92FE60D53E83BC28763 +:10B0000071A53299C711C02F24FB319A8EFA30EE08 +:10B01000274D91030F26197A77153C4B67545B70C7 +:10B020005CD0572AE27FBACF437055A9A51C3EEFEA +:10B030002682CF84E7A4AB712BC189FA8BEC0F4E2B +:10B04000972F2D3AF55B65F65BC9FBADACE5FD5678 +:10B050007A27923EBF05F43EE9F5ECEA887E8F5BE5 +:10B0600082E9865E5FB5344CAF47CFEB4B4BE38351 +:10B07000A85F6F09640AE857944E8671D0BE9EEAB5 +:10B08000F620DEA60DE3FA6C5CED7619E1BF71EAFD +:10B09000123E8F1975C46F27DC41D2E7E6B8A7BE10 +:10B0A000F6913ECD9E6ACEA3B101E7310DE781FD59 +:10B0B000D7723EBED1C7E77163F6129AC7ADBE3AEA +:10B0C000EABF42DD4EFDC2732BD939E3381FDF835F +:10B0D000FD03BEDFFABB9EE10D5B3FAE46A7FB0C56 +:10B0E000F8A7C87EC2E78D263E73393EA756723850 +:10B0F000A6CED84EF39A5E59C7F1A996723E524B2E +:10B100006F47788FDFC2F908D6E1B2F075B2CEE0B2 +:10B110009BE3C6BC4DBA4D37E73B87E3B30AF90161 +:10B12000DA5721DDA0DE2D6A681D4BC7717E97D3EB +:10B13000988EEBD849930F4CF934D6B1B6953A3B7B +:10B1400063A1B806C58BCB9D22D9AB65155A436B5D +:10B1500022899A1FEDABEEFE6DA45F6AC67526DBF1 +:10B16000FDFBE3C8EED357BD8F7800BBDCF053C4C2 +:10B17000B53DBBFC5256B124C2BFDE34E93F9CC38F +:10B18000903F9C16DAD7D92C341E247BBCBF4D458A +:10B19000FB76F3A478F27B8EA39F2B74AD73A29DF4 +:10B1A000FB9D65E0DF4A1AF9A50D867DCA0CBFB488 +:10B1B00001F9B402FD5963FF27DC8F65861F3B064A +:10B1C000FCD8F5D7E0C7FE6218F763C783DF9E801F +:10B1D0007EE1A4479CE86F1C96D82F11CFA175F88B +:10B1E0007FBB3FABBA30CEFF3BC67E89F87DABD28A +:10B1F000F0672778C84F8A8E8780FFF9EAB0A42EBF +:10B20000BF93FEB0FE3837F103F86747F0BB937980 +:10B2100023E8D62D0E12ED0F44F34D83A253DCC06C +:10B2200088832423574A087FAB80F88DDEB7B81295 +:10B230009F292CF02FC76764D32FA13F41C17DC147 +:10B2400074A3BDE0BB8BFCA12D254C9170DF7BB5B9 +:10B250009FE0FB87E43B376C38754BF6430AC66BBF +:10B260008025EA8BB4796EE9CAF0160FD13B117FC5 +:10B270006324A7D60AFD5E382A119F8FD79FA84066 +:10B280003D3781355624203FA882D6AA76F151BF9A +:10B29000668033CC6FEE1FB433D9DE551EF8BC1276 +:10B2A000511EDC9212517FE81E35E27B1E38DDE133 +:10B2B000DF871DD122CAC3DB8B22EA5F77428F284A +:10B2C0008FE8A88CA85FF29137A23C80F9449CFCDF +:10B2D000A8CEA911ED2E305FDB5698F780113625E8 +:10B2E00040F15AFDAD5C90C3C106F6AFFFCA17D15D +:10B2F000CFE08E6A11F174D8E7F433F0134BD9DC48 +:10B3000088FED82EF903A4A71FFE417A0E6050369E +:10B31000BFA3FE572D5D65F87FDFA8EFCBDF8D392A +:10B3200074306CBC9C025722D20D685E80F1886E2E +:10B330007462168AAB4C7F9E058302CE87EAB20107 +:10B340004FB020FA07D1F3F972A5FDD04168C2A42D +:10B3500077293EFA05F84B3DA09E2D25929E316A35 +:10B36000243D1DB991F4746991F48C2F8AA4A75BD4 +:10B370008FA4678FCA487A267923E9993C35929E33 +:10B38000A9BE487AA6CD89A467863F928E99CB2321 +:10B39000E9E409CC89F8DE67AD3F921F3BAADBB632 +:10B3A0002662FCDFA6201D731A9747B437E9188080 +:10B3B0007F2E47C7AA39D174DCF05729EEEAF4BCD6 +:10B3C00013E9E9E8A22793667CEBBE9E492FD07370 +:10B3D000B30A92304EBAE876D27F467C06FFC2E3CB +:10B3E000D4C7A76DA6F5E9D5FE3C4E5DCE7419E92C +:10B3F0007B20F5F68A1E2AAF1FB5CED03A5469AE2F +:10B4000043465C0AD36E505E6EEA16B7562D589EC0 +:10B41000C43A7BCB7D307FA17535DAE71753DFFC6B +:10B42000A34079169BCC3C8B0710DEF1AC9DCA87FC +:10B430001D3F97313EEF647E823F5C3FCA85DF410E +:10B440003F8E575ABF939E5633BAF41E29D500E952 +:10B450003DF083C5D3E437707F2F2C2F81FCE4634C +:10B46000A53ED7705C17A7490CD7AD68BA6C29E028 +:10B470007ECAB1FDDCEFB9927FBCA380DBCD57F370 +:10B480008FFFD5FC8363E81F0F05B635E0BABA7F9E +:10B490003C31A337C611C671FFF8E869F01FE0FD23 +:10B4A0005BB7F4A367088E4ABE7F9B7DC415C0B806 +:10B4B000D717736CB4EED6BD771FD9A165AF815D88 +:10B4C00044741348EF947D240629DE2FCFA17570B4 +:10B4D0008C41E703C67E5EF9F2722FE6018C797724 +:10B4E00033AD538AC8E95C9928F8EC981754AE66D6 +:10B4F000E07AE39598FF69B27B02B1982793C2EC9A +:10B50000BF447A7F6921D9619D6E9E0F567E7F2947 +:10B51000F517DA7F58C8E38E65CEED1918672C9FB2 +:10B52000631310B432E7C4F770FF19191E75DDA953 +:10B53000ED9C5EA796A841A4D7EE7FBE4DF074DEC9 +:10B54000C354DC9F3E95C7F9E8942B8BBE97A7BCEC +:10B55000DD5C3B0CFDDC0E8A03074680BFCEF0FBB2 +:10B56000AF5AD11F3FF59840D09E82B1D1CE3EB5A3 +:10B57000A91FB52B91449EBFB6D1C5F3D7640EE782 +:10B58000CB8DA984C7924CB50EFBEB7C80D1FE2DF0 +:10B590009303D93FC4EF530768EB19B6AF2B780B71 +:10B5A000BFCF8DE5DF5960D02FA1FCB23785BE47F4 +:10B5B000DB172FCB4A00E523E08FD3300EFAD6B845 +:10B5C000E71C03A0FEE302D88186BE08DFFF79D91D +:10B5D000B007991C7484FBC1577B7F0AFCA08430A0 +:10B5E0003E3935F7068ADF1FF5C87EB4772B26DB98 +:10B5F00002A80F2B944D32EE47570DF5B1E1C097DD +:10B600004D39DB97A01F0B02497478325B08DA7062 +:10B61000DFD688F787F442945EDBE4F8F916D4535A +:10B62000B7A6DB68DD1B9BF6C021C4E3816A1BF96A +:10B63000CBD17AADCCAE93BE41BB19F7B7C618FBE0 +:10B640004695AC91F4D14DAC959EDDF7E5BE5DBF5E +:10B65000815E4BC179DC1BBB9DDAAF722C1A89FA73 +:10B660001BF473EA708C4B9DD365C47F990A788074 +:10B67000F18EBA0344EF0A9740FC001636F92FE723 +:10B6800005E65F7F19FFA52DE6CBDED85F34FEBA55 +:10B69000F979837CFD8787EDDB8F4B08C628B4BF23 +:10B6A0007A793B6F93E329DA47B8F10AEBC6EF7278 +:10B6B0009EE3EBC6842BE153AB4842F9645E737F93 +:10B6C00093F6E3CC75E36AF8FC967DCE329CC738DE +:10B6D00016A476871DA32D080FE0B37CF87F855D47 +:10B6E000CFBAED7746D8F9DF759FD3C4E7584CE859 +:10B6F000837E4E2A02D7774CBF39B510F98BFF9D58 +:10B700005C1B9031FE58912AD15E0943BB0FE0D2F9 +:10B71000E01F84AB8C79E35BA1DD042DD28E287B06 +:10B72000B73FCDF70D41D48491886F6E87D077D421 +:10B730006B8CCF3F45E2F32F8BFA1E8D8F68FB0396 +:10B74000F77B916ED7BA7EDE33DCB05754D6EF9BD1 +:10B750003EE897EF616730FFD1B05BCAA2F20EA25C +:10B76000ED96B5C379BC2B60D11F403AFFC5881355 +:10B770002A4C9351AF888E91943762D68BEE279ADC +:10B780009EC017AB872775A70B8C45F1BC4349B703 +:10B79000D66E82F9F5DB36201FBF1DEA79DBDD6F3F +:10B7A00062F9A9BEE48F3E329CAF8F7DD3EEFAC919 +:10B7B00026285788C22CCAEF2A3839DD83794A31C6 +:10B7C000BC9F1436A76922E27950567E3DD6B3322B +:10B7D000AA77D3D085C36AC2E4719B01F74DA0CF8D +:10B7E000705E19AC85E2B5B1CB152140F158264BFE +:10B7F000F9F04C09CA0AF46F95991C9B00CF944646 +:10B80000A782F21DCBFB7D2DEF7FE463BF1559BCF2 +:10B810003C50739CEE83F00802C133305768ED0F43 +:10B82000E58A04FE7D7CFE0BBD106F156566FD0983 +:10B830001F63FD0AC32E88D33B0F7C03F39EE2DB1C +:10B84000F482007CF192AFD4D21FF0BD67B89DC7DF +:10B8500087BC7CBFF7E6A23AC15E80F5F48270FB3C +:10B86000E2A5E116C2D3E4225E6FB2B7DA521B360C +:10B87000EF297A27C3B8D194A9A729EF7493E30ECF +:10B88000B2EB2647E99789F81F20EFC76EB981F41C +:10B89000F59BB747EA172FFE8787F4CBC12411F732 +:10B8A0001D795E0470C8218C974C31F4CB54D64876 +:10B8B000EFA7B3167ACE60ED3C7FE27448AF642602 +:10B8C0006645E895D7914F26332FD56B77FC80F4EA +:10B8D0008A13F80EF328CAED4ED2AF97E1AFB786C0 +:10B8E0000FFF563D4AF39C7E853C9157675DD7809C +:10B8F000F398EE6C750E83EFBF775934DC8FEAAEA8 +:10B900004F43EB13D9DFDDD7A776D287D1719EAA3B +:10B91000ABE78D9C1B4E76B7993712A4F9C2BC3E9B +:10B92000C579C1FCAFAA4FC3EDF1CBD9DFDFAE3F84 +:10B93000DA05E4C72BD9DDECEA79C772E135E41DFD +:10B94000D75EC7883FCDE7B981FA4DC56179488E8A +:10B9500082CED51B0B70111A22A23DB63586AD8D55 +:10B9600001393C38B0747E09B45F6CE44DDD5AA2F5 +:10B97000527F8E76A66F87F12C7280F2F82D76C5F5 +:10B980005DE7C6F307ED64DF75263105ED2FF3BCE7 +:10B99000C056170B607FB79670F9BFB584C745A135 +:10B9A0003DEDBF5872A17D1ED0F936BE4E5C5CC71E +:10B9B000F3DA2FBA058A175E9CE6247BE0CC7ADBAB +:10B9C0001C94AF1A2B97DB44438F30B69AFAEB578F +:10B9D000C8E37A0156964A7BFBC2FA147AE22E003B +:10B9E000BCAF71B33BD1CEBFE856EFA07ED7250BDD +:10B9F000D86F6D539F29386EED86640FF374D5CFE1 +:10BA00002C54793B8FFED7E568474F746A4F135922 +:10BA10007C79987F6993B26FB64BB8BEAD68D90395 +:10BA2000DF17663815B4EF2B32DF7DBC08CA1FEF75 +:10BA3000B2D0FECBDC1D93E25BB199ACA75C6E9FEC +:10BA4000686E30725D9BFF7C6479614B647971D460 +:10BA50003A16BD6E8D2D0CAD431AAE431FE23A442B +:10BA6000710CBE0ED5324E4FE0776B787E9AB90ED0 +:10BA7000052C65130A019FF30CBADB6CFE8FB6032D +:10BA8000BE6C0FF5CFAF23F9ECDC8FF2DCF3514F36 +:10BA90003EE677D80AF93A9156E8BD05F9D19639CC +:10BAA0007208AD7799E3893F2E3E114371F48B31D3 +:10BAB000DCEFB9F88A40F196A6DE97563F01FD34D7 +:10BAC00015DB14EE11E8370F07FD30C790A744AB24 +:10BAD0003E17EB9F9D18ABF03822B38B444FDD8EA1 +:10BAE00074AD6DAC5B7D3F7CCF84051EEDC705ACAE +:10BAF0003D0E85684B21E753268DEF5F07FD2F9E96 +:10BB0000144BB2352FD03216D1287F2D7B912FF1D7 +:10BB1000B8069E8711EDBA520AF516EE716326201B +:10BB20005B52C8F705D6BCB6C48B0DD32D9C0FACA9 +:10BB3000BB2606503CAFFFBA82A19D79D7F292474F +:10BB4000D19F4AB476F62845FE582711DFDF75FFEE +:10BB5000087A2F5455B65F8FF0AF73507CFFC01337 +:10BB6000369AFF59983F96CF6EE5F8B82BDD19B499 +:10BB70000BDDE7DF20B41AE76FDAE3906FFEBCF568 +:10BB8000BE38C4EB9F8DFC6EA6F8E348DE557F5CA3 +:10BB900055185F7DB045AA4439F960EDB2374620AB +:10BBA0007EABA617E07A7EBD3B3B4E75767D37FDBA +:10BBB0002B39A1E859D42FD77F2D917CC8B02EEE18 +:10BBC00084EF07D7DF3417E5E4036FAC1BE155D7EB +:10BBD0003E3396F6C5AB2A89AE1FAC8BA179795856 +:10BBE000CB6A8C7F2E5EBB667533D47F03EC38CC7A +:10BBF0000BF9A02A96E26F1FEC7311753F5072E3A8 +:10BC0000B0FD074CAEBC9C1D94572811DE4B337918 +:10BC1000DCEE038CDBA9285F836EC67577E13A8979 +:10BC2000F6590E569D7ABC28B14BBE84AAE59DFB01 +:10BC3000B1FE46F80EF5CF04B438B4EF8F6CF87C43 +:10BC400035CAED99229B827944737F2C9D46FFE98A +:10BC50005F9537FC6B05BD5F63D0295AFE6A36F4E9 +:10BC6000B1E27ACFD6F278E44B201FDF88FF293982 +:10BC7000FC4DB81CB2F42AE257B39E297721FBCFC2 +:10BC8000D0F766FEA85D63FA0E7826DB982E80FE5C +:10BC90003D532853FD338556AA27FF7DE9F3AF03B3 +:10BCA000FC730A7DAFA3DC66323D0FF94DED54CA3B +:10BCB000E219CF93A5F52EDB4A7182C72D5E91F86C +:10BCC00051F6FDEA75D4FB6BE70E43F9EF30FA4B02 +:10BCD0002BF41D47786B57F8FEBA9F21DF15931E92 +:10BCE000A8FD6AB288F9B7CE269EAFEAD4BC65310A +:10BCF000A8F713BDC497A61ECF0178B75FC67F1300 +:10BD0000AFE3F6554EA297FAA92B52A80CE04DC30B +:10BD1000F5EAA979224338AEBF94298A00D7C32017 +:10BD20008A681FD88BAA4489DB1D9D3950F65CFABE +:10BD3000A6C772C083B34834D63D6FDB3750DF19D6 +:10BD400088FF9B00702F4D91543C7FE12C4AE0ED21 +:10BD5000743BB5CBC94D6843FB50698BFF5BFCA8B6 +:10BD600030B8985D75DA317E2D125F789A78D9E413 +:10BD7000830B8D02C9E9524C6DC8A77C62A223AE29 +:10BD8000BBB87E2E4DB1D278667F7F1F5A7A09F1FB +:10BD9000C7743D3BB190F04F7F878BB8FE017F8425 +:10BDA000515C42642D786ECF31A8C3827AC884BBBF +:10BDB000D61E2C8F51BBE3AFD6807309C2092C531A +:10BDC000AC4139F7CA70BE6FAC7B667B134E4781BE +:10BDD000AFE330D93FF12C87F2047D41D4AF5B65EE +:10BDE000979187D8BE0ECB69B912EDBB49F6477F54 +:10BDF000847A702BF3A9946791C8EDFC2F636EDEF3 +:10BE00008EF9E26A1DF0636FA82F2DA13CF1B4FA00 +:10BE10006405F3C7EB2D463E39181618970994E9C7 +:10BE2000DBF17BC06A57EA35CA9725BDB5FC5D17C3 +:10BE3000E9D12F452F194F05D76511DCA98CEFF3F8 +:10BE4000A42BDE9DB3812E5A1FBEEE47E365E0753D +:10BE50005C7E1EC4B9C0532BE7F5D6081AC10B107F +:10BE60008A752310BE2A1A2F4D522F3CEAC6710440 +:10BE7000C3BE927D21BD00E36FB5809D938072DECD +:10BE8000F823CC8BBF52FC7296314E6E9310CC8946 +:10BE9000EB7A3FD280E7ACA28FBA0EFA5F2EEB149A +:10BEA0007765AF5948FE96E56853512F2E137A6B8C +:10BEB00001C213D7DF814D31FCBBA025E3D9C07A85 +:10BEC000E39CD0B218285F66DEE6B366ADC47C6141 +:10BED000FC57F290CD1FA4B8AEFA14EACDDAF38382 +:10BEE000F2316E16E223C3EE8AEEE784523AE93A63 +:10BEF000803BC5A03760F2C4CFA1FD93817815EDDA +:10BF0000E66613CEB9B194C7689E9BAACF49085282 +:10BF10007EB8716ECAD4A73DEBD5C33E5C4F4BEDE6 +:10BF20001AC535D78ED143FA18ED6A7B079D0F7C71 +:10BF3000BC982908DFC6EBDCFCFC29D39AA53E5D42 +:10BF4000F2B3D8901F619F40E74ECB0CF8621AEF16 +:10BF5000EA40F81C751CBE3613BE7BEC067C479E7F +:10BF600040F8ACB18A22B9A90BDD1EA6EF5983BAFD +:10BF70001AF91C1D31E4FB9A41B5D41F83F9C68F11 +:10BF8000BC0CBC2C727E261C8E2780CF241CBFA527 +:10BF9000F159E4EFC1B242FBCA809F141C7F513AB1 +:10BFA000C70F6BF7E03A5F9362E7E743987AB80C04 +:10BFB000FD0011F4DC65F0F378B1FE20F24F5B1E5A +:10BFC0008F33B54D1B908EEBFE78FBAB27303E3D9B +:10BFD000DECE5AC89FD3BE3D1F6091117F4EB43252 +:10BFE0008A67774EB4525C7651288ECCF32B02AF21 +:10BFF0005B28BFA269A29E8AFBD54D137B8A3C4E6B +:10C00000DC47443A75BE2EF178AE4117130F4D79D7 +:10C010004A00E7D924A82D8D1AAEE376A2C3E2B573 +:10C020001692EBF27D13FF1848E474443F79F11E39 +:10C030004F1DF6B76805030D86F8E071E600E3F4DE +:10C040007B3CDE4E790A4DEB789CB9691C23AD74BC +:10C050005EE878EAFBC47F4EDA576FF2E8A9188FE2 +:10C060002D91C43BC9FF92D59E68CF9764B25019F9 +:10C07000EDA91249E06506DFC3D6E71A0BF3A21C4F +:10C08000D46C17033943C3DE0BF07E5057FB6B7D36 +:10C09000DFE46E64F723BCEB3CE4E72C37D6FBCF40 +:10C0A000652DFEDBE4B7F62B89E961F25B2BF3F833 +:10C0B000D223715AE1C4B0769E22BEAF32D3586704 +:10C0C000631A9F7BE7E7305E595DA6677D62177F45 +:10C0D0007F60C8CB99EBB8FDDB13F934ACFFC72DFB +:10C0E0005CAF686DCFA785E769D57C64A5F344355F +:10C0F000F61DEF7C173930FB67CD6A22DAB757EFB0 +:10C10000DFD26A8BEBDE6FE510AEBFF75A39FD6206 +:10C110001AFB7D88705C697E89063E4C3934C7699C +:10C12000B384CEB5655787E9B91A7B0CC95D8D3DDF +:10C13000E743C4DB779573737E57EFFFF2F3DB566B +:10C14000AC7F83FA15FCA1EDA897DA626254DC8714 +:10C15000DB1F73835176917F25C4C6F07DA55807F8 +:10C16000C55905C7E02D8D4867470CD9C989092AEB +:10C170009DB76C8BE99F4DF945B1E3AAB17D59ACF0 +:10C180008DECF8FD31FD3EC4F6D03FE555B5C50C4C +:10C190002EC07A5DED7879F31095F057E170911E1D +:10C1A0002F73707FBD2C4D2D403F60A64DFB23E1CA +:10C1B000A93E5EDD01CF336E3E6F73BEBD8A387F10 +:10C1C0006516F17574A603F87250F77A26DF7A8A3D +:10C1D0008CFDC321BA5A04CFBB8C38866B90D7E351 +:10C1E00004098FD91DF34E2CF22BEE1F1513DA0222 +:10C1F000B84FED405E2C36E80FFF7A4C948C73629A +:10C20000EEAD1523C3CA46FDAEF677DE5E914EF65F +:10C2100073E83BBA6760579B651DEDAC35AEAEEF7A +:10C2200032F8A3F6B5026F1FC8BD7D0C98367F1299 +:10C230008CF1037DB6E0B9B4476258C478E1F0C927 +:10C2400051FDA3CBE954CDFAF26DD8DF63F966B99D +:10C25000E6473AC0F78825B23F6219A33D16CCF1F4 +:10C260009E7FF9D2960DE95DF63DD8FB37211E4D34 +:10C270003B7FCDA9F18D43612C8732898C4ECB5702 +:10C280009319DAD996441ECFC4331119A887D3B3B2 +:10C29000685F15F4189DE7B7A5AAE4FFDF62D02711 +:10C2A000DDC2ED724B62692BFAC916A63EFBBA8756 +:10C2B000FC826945489FCCF187910FBBFC0299E253 +:10C2C0003B39E05F60DCD5DE047A1071922E067394 +:10C2D000A04BD4F1FCFB941D1807DD59E4AB290AEF +:10C2E0008B7BE734E956B47FCF1872D534374B0CCB +:10C2F000DF8FBDCFE09F9C5C6EEFAFCFAD22BF4321 +:10C3000076570C47BFC3AC97A5648B38EFAC74C3AA +:10C310002F003F03E301594D3ECC546559B26F1ACB +:10C32000CE376BEA6C2BC62DEE2BE27E6AC1DA604B +:10C330000CFAFD6C8EC872A0BF3B0D3BDDA2D4F29F +:10C34000B8D854BB13E3494F7A9F8DC1FE73729FD7 +:10C350005E9B8572A1C81AD6CF69E2FE957CFFF478 +:10C3600060783C79BD2257221C85926F09D9A13D86 +:10C370008A75B4EFD2A4373DDBD10EED912FD52BCA +:10C38000B44F19212FE6D352CCE5AA41F006BE578F +:10C3900040F9D22C3CFF3153E37ED8C345DC6F53C8 +:10C3A000034A19AEEF23FFE625BC3C5CC4FDC4DFA5 +:10C3B000C81D0EF4A37398BEA406E7E975AA3C2F26 +:10C3C000AD85D6D7C495AA86F4B727763C3414BF7A +:10C3D0006BA246D73D187185F3BF4E7E1AE30AEA79 +:10C3E00008DF8F906E8552C7A3DFC3F93C24F3FCAE +:10C3F0003699AFCBBD2739C9CEB424B6139ED7A585 +:10C4000030B2BB46AFFBD081E69C3DD1CBD07E7134 +:10C410000099D05E703A053ADF52A06915E49FFAA0 +:10C420009906BE23F8950AD3E1FB8DF637B9DD14E2 +:10C43000E547E580989CB55388BDE11B5C7734EEF9 +:10C440004F8D65DC9F3A726932C59945BB8FE21EFC +:10C4500015536319F25DC8FF5ADD7148C471DB835F +:10C46000F202E29376867E624D9340FABE26B7C60C +:10C470008A83CD6E12888F6A0DBE63B2D61BEDB76C +:10C480005F17390CBFA181C76319C713DB6023FB9A +:10C49000BDA6B194E206269DC0D3E5F59AB81C5A14 +:10C4A00057F1F5ADC688DB0222E9FBC122D31F5943 +:10C4B00065F8C58DFC698C1B1BB2CB23EDD8F51636 +:10C4C0006E77045E91C8EEFD6CCE853894FBD8F390 +:10C4D000B1A2104FEBB01AB14EE572FBB3669F7478 +:10C4E000D9758A3507C90EFE0CEDFEC4887123D6B6 +:10C4F000C5F596CE879F2DA071292FC01CE7492333 +:10C50000AE75B571CE18F36D9B76310EF3819FDC5D +:10C51000F74C0CE2EDF189602993FDA6519CE93EB0 +:10C52000BBF7A322C287F6705FF4471E96284EF031 +:10C53000B8D0AE4B5C2EC86EBD23BB6AC921803714 +:10C54000A160403EC2972233BB047EDC3F8C71E287 +:10C55000DBB8BFF684B02915E9F544AA2AE0798250 +:10C56000824A2E470995BAB410ED2E77C7982CB49D +:10C5700077C7318671E264877F3BCA49F29DB9F97A +:10C5800078FE898D50A9BFD8618DFB292F6389AAB8 +:10C590003C0DB299B22AE0593A08C7E1E71B3A27A5 +:10C5A000327A9F74EB8A3AACF7502F9680E7C952E3 +:10C5B000589D80F556270924F7ABABD9D45F62BCF0 +:10C5C0000ECFFD43BDF4A98A80FEAA6C9C5F60AAD1 +:10C5D000E2FE432A8963433CAC1D8FC5F17924896F +:10C5E000D29D681FC27A42E504D0074F03FCEE11CA +:10C5F0006EE29B641BAB1412F87BE4338C5B603CF3 +:10C6000030B9DC9F87E327F7E1CFF5867FF1240B74 +:10C6100036EF407CE65A899E7B3F3DDC80FAE2B3F0 +:10C620003CAB86F90D3DA71FA17B59CE0B7C9F3FEC +:10C63000DAEFB86F5079DA0818F7B1BA89D36661C2 +:10C640003F83B99DCE023BB549B49F11E997C88697 +:10C65000DD78E11CE7D306C36E3C72A44F3CE64B89 +:10C66000538C1EE6DD7F4402E1FB0253E3D12E39F9 +:10C67000B2BF2F7D37CB9FBFFBAA82F21ECA3B7190 +:10C68000837F2390FE0A601CC9B93395FC09F00B27 +:10C69000E83E9DCE176DF4FDFCCAF6E60A5474B26E +:10C6A0005717A85E8E917F22101D3A5F31F257987E +:10C6B0004EF695F39564CA2F5D2C76FC1C4D0EA7A3 +:10C6C00085DBFD4EF41FE2BBE4CB2970BF82C9AD10 +:10C6D0000AEEF79E37E3BCB29E3229CC6F6830F485 +:10C6E000FE026B6B5FF463CC7666B9978DDBF9580D +:10C6F00046FF61AF819F05B1BCDC19EFBB09F1BDFD +:10C70000DBCAE6503F71F0DE1986873CD9C083F65C +:10C7100030F2B35350DAD1CF043CD0BA6FE6E780A1 +:10C72000BF46EBF7D93C99F2B94BA4BCDDA84F3A10 +:10C730005325E569C550BA38FF756EC263689EA17E +:10C74000F9E75B67219FEAB97E47AF2BE3C17C3FE6 +:10C7500033BF763CDE1F3073DE8A9B595CF7752F42 +:10C76000546FADCD308658C4BD4F72943F63F20D07 +:10C77000E8CB88F8EBB211DC6E0846C571E606D846 +:10C780007EF2BF7F6CC3CB22BAF817738BB9DEA5DC +:10C790007BB2E6BE1BC3EF5788AA7731A694EED7CB +:10C7A000BAF7871329AE3F9BF9E93907DAF1383F29 +:10C7B000DFDF50D7CA8437F57921A8723EB28B7477 +:10C7C000CE5211F1FD7C583E9EC4252700DA0A6D39 +:10C7D00061015625F8AEE229FF6498E73A99FCEA30 +:10C7E000ED271C4101EAAD4954ADC8E76B1A441E60 +:10C7F000E7D820047378BF29B83E041A441DFBD93A +:10C800003C82DB35BF1861A5F9800806091EE309E3 +:10C81000F8E2FEB0315E1D135BF1290AFCB906EDAA +:10C8200096CBC487CCFE1A2C7E3BDA559D1922ED9F +:10C83000935CB4EA53691F2EA12F9DCF6B70F9D77B +:10C8400056F2EF24C317635A2BE97B9EC80D701470 +:10C850006BB4C34EC6D0F9DD8D23B81F114DEF590F +:10C860008D9165BC472CBC8CF78885976732DF2F8C +:10C870005224DC07887CBF7104DFA7AC611AD1A702 +:10C88000C1A2BEE541FE5F273384BF2E9DE34DCCA0 +:10C89000E0CF2C77C5545ACFDD569643F072F8B3EB +:10C8A000F2120484B7C1CDF9ED5F85371ACE9746F1 +:10C8B000F4E5F69E9BCB5BC33A337F8ADB97337FED +:10C8C0006A7B06E54F35F8FF13FC867CB08E9F2F00 +:10C8D0007F728E48FAED830D396437052D9DB96856 +:10C8E000D70436BAE81CF519417B16F36F04A6F697 +:10C8F000447E3966E855F1915185A84F5F8B92933C +:10C900001A4D785302FE2F9FB4A110FB2DEEC134B7 +:10C910001BC0F6B235E8C0AB3CA2E7CFF00602D3AD +:10C920002E019266AE50C7A25E5D08EF7BA01E0985 +:10C93000AF4F7EB6B54BAE806EDF0CF0FE6904C91A +:10C940005F7018C68766FFC5A9E17C1F13CFEC7C1A +:10C9500015E9B53386F20117ADE87C16F30E8E0E9D +:10C96000F09DC3FAE7EE3F355650BBF0F4D92BFDEE +:10C9700088AF0A1AC2E416FFB521528ED9DA047EB6 +:10C980008F5E53E4FB395BA2DAB17FDAC2E134EDAA +:10C99000B2C7ADBEFE68573FE92D2C44781EB734B0 +:10C9A00056A25EA81AEAFBE708C0EB8763BC87457E +:10C9B0002E9F7D519FFCE6523DD901815CA6EC7013 +:10C9C000A35DEEEB83F3FCCD89140DE9BCCDB04F34 +:10C9D0004DFC9B76BB692F46CB63ACE11FA414EBE7 +:10C9E0000FA25D7EFDA5DFEA48EFFA7DFCBCBEDD4F +:10C9F000D9D69A867A19CAB8CC2D523B0EE33E8915 +:10CA0000D2B6F8F3F80CB0A39DA29E16E6A72D6A45 +:10CA1000E2DF5900BE8FEADA2FB5597C01F47FE4DA +:10CA20007D7CDF14C6AB437B0CFD2BD4FB96399485 +:10CA3000D4C12C867F65996A253D509068DC6B6275 +:10CA4000DCCF97D3E40BF9533C1EEA15799E43E4FF +:10CA50007D6DD9C5FA18CC6BF813BE48A57B11FBC8 +:10CA600062D967D8A15FA0BD3094B10EC35F3C729C +:10CA70007412D9035F302FD903438AB93E39B27F8C +:10CA80004A3CDA95E6FBB392EF5EA50FDE97C8EF5E +:10CA9000499CCB82F4ECBA4FD147F72C2E18CFEF3C +:10CAA00033C032E6D32EF45A293E8CF2DC1A25CF5D +:10CAB000E165BCC730FC3E860572FB6AB2E7F0BE9A +:10CAC000BF227EAF6178FD45AC93F411DE6F18D1C3 +:10CAD0008FC15FC9D2D23C3FE2EF3BEE237DD7FA54 +:10CAE0001FAB8D3DD19E31E3B66DC6BEF658C9A9C8 +:10CAF0001BFBB5FC7EC26EFBFA9DABF1BEB5B2620C +:10CB00009BB28AEF1BD17EEEA7BB2C649F3369C317 +:10CB10006A8C5B2D4E93E83C58F47EED3CB6732C4A +:10CB2000AA852FD86B56949F7F355F6241B1716E95 +:10CB300044659EFF64BEC432E433739F365ADEAC54 +:10CB4000855CDE0E383FEF119E9F5A362840719665 +:10CB5000C2B2CBCB699D21A70E238FC62E07587872 +:10CB60003CF84AEDD61573FBE580B5F3440BEA3F7C +:10CB7000E806F75152307A5140F71FBAF1FCF2CE75 +:10CB800022EF43C549186731E328E07FA3DE4FE574 +:10CB9000E7ABED6A4B9E8A72B7C0A991DC3570BFD6 +:10CBA0009FFD1BCFFBB8C188FB84F8248A7F048DCE +:10CBB000DFF789710BEC370D6495CE618B2D3BB19E +:10CBC0002CE0396D909F618378FB2D31ED1C3E3C4C +:10CBD0003B3982EAE5D17A9A4E39E4D40FAE0B693B +:10CBE000F7D935F4A7ACB12D4BF0BB358129D86FFF +:10CBF000A5D98F05DA41FF623AEF27A3CCE7C372CC +:10CC0000462F680720B7147B7F524CFEB23E84F457 +:10CC10008801F722833FC3F83E407A308AEF316EB5 +:10CC200087FA9735DAC88E2256A3722AF9D17FC4C3 +:10CC3000328C3B64A8770F8D63C443663E9241F10A +:10CC400010B6BC07E9A7352EEE7F6D89694D0DA79B +:10CC50004B97FF1F20FA1796B5939DDDF900D05131 +:10CC6000088BE3187C71C8E013F37D9F624E174B6D +:10CC7000897E18F9B2A0A0F529CCEF5A044633E218 +:10CC80006F51CB7DCFBF9E48F3F5533997DBFDCC79 +:10CC9000EB247D3EA7D0D75E4CEB69C76A9C7F66CC +:10CCA000222B44FF667D6E159BE9A478DE51FC0EB5 +:10CCB000EBF4B3D80FC8871FD78F9E992387A0FFA7 +:10CCC00057F84DF9EA4A0EAF82765CA28DC7774DD0 +:10CCD000F83E37F4ACF9EC34E03F075AAED483E3C6 +:10CCE000E9D384B0B89A436D273F6BD12E6ED460E0 +:10CCF0009A08C1FBFD74C2F7A25DA579E8BFB3969F +:10CD0000983CAC5FF88E93D6F373F7F7A27392EA70 +:10CD100008DFC708AFAB80DFF7766EE7B8BCCBE9BA +:10CD2000BB6470FA711EC9126B7954E9E2839E5696 +:10CD3000589FD03E37E23FEF14AB3C7E6DAC539929 +:10CD40002BBC6C96B3ABEC4CE47481F7228E9352FF +:10CD50003CE61DE483778AF9FD5DE67EBDC70E9C47 +:10CD60007599732E1EC6F7E7171BFBF52C10965707 +:10CD700090D57DBFDE84C76C1FDAAFFF4A26BECBDD +:10CD800052787CD5B5D6E0D3158CF87664677B797C +:10CD90003CCC37BBA97524C6FD303D8B5FFAD2F180 +:10CDA000D0508CEFF59047A29C3FB53CBF0DE3837C +:10CDB000F2BAF651887AB55129C3D0B29947457F66 +:10CDC0008918F772F37B75647F2EFA6D5A09E7C3F1 +:10CDD00039857A32E611961DE3E7EF2E6EE4FB13F8 +:10CDE0004DBD1764BAA1DDCC776C944479257F2EB4 +:10CDF000C0DA288F2F0BF36A9C380F1E5F63D9C0EF +:10CE00001018DFD8F84E00D71B79DDD10C04655C13 +:10CE100089D3C8036C4B41BFC9B5411211FE596B90 +:10CE20004123A92457A9989F346B6D6219B69BD5ED +:10CE3000C8EF7D9AD55C2A627C181A521C33A74928 +:10CE400011C3CF9BE946FEE26F2F4994BF24DA79E4 +:10CE50005C7C617AC27689C70D484E176626D2FD82 +:10CE600081C5255C0F5B9A4BF554B5CB2E32FB5B2D +:10CE7000B8AB9AE76D5E41FFFC56E6FAE7B7C0D95A +:10CE8000B83F6AF25F8385E33BF0B548FC9F69AC2D +:10CE90004F671EFE472AF175280E18A4A76C51573C +:10CEA000A7207EEA3A46834661B58D6E71D120ECAB +:10CEB000475B4476E54607433F2073439F36CC5B90 +:10CEC000CC5CAB3041C5FE1666627E4DE0948DEEC3 +:10CED0004392373A088FF2261DB988C9EE9E843FE7 +:10CEE000F9312843FDB4120BE1C75DC2E16F103A7E +:10CEF0008DF3027A1EDAB19612DF8C92E1C6BE077C +:10CF0000E279792CE91B97CCED6FD7F2533FAB83D5 +:10CF1000F253465CA2EDE181553C4F5316287FD079 +:10CF2000FD26D5BB389C096827CE29112F9B070FFA +:10CF3000744F237E7945F2A23CCAC6FEBEBC2E7158 +:10CF40003BB63B38D04779ADA31A5A2514ABDF283E +:10CF50001F3E5AA97EF77520B4BFA70722F20DDA4B +:10CF60002C0AD9CF609BB7BCA87587EFFB065F681A +:10CF700046FE39D02906E5C5DCD7DA8CFE544EF7DB +:10CF80007B15AF749F624A399F5FE77B66DC29207F +:10CF9000E2BD525F8AFC1C9839EE5A431E97CBFCC7 +:10CFA000FE16F61AF7FF3E9755DA57FF7C85A20565 +:10CFB00060CA89B16FBC8B715CB52E5EC5FC1CD696 +:10CFC000A053BE0EB3DA29EFDAEC2F01F79FC3F6B8 +:10CFD0004F130CFB676F02AB50F2BBDE371B74DAEA +:10CFE0001B1A9F913E674E9E6F81F9226F40595ADE +:10CFF0003584E2C61FAF7C7E0BCE5F8A2B5451DE98 +:10D00000E71AE7F0963B0B55CCE33FABF89E2909B6 +:10D01000A3FBDEB894328CB7FC5F942FF36B84FFD4 +:10D0200035231EF0DAA7B1229E474CC07C8B1EDD53 +:10D03000F32D1230DF82EE370B3E311BE1BFC5C846 +:10D0400063E8966FB1ECFD07B0DDEB16CA5316AA84 +:10D050002A53D16EEFE5B58A944F3187CB5DAF7D12 +:10D06000DC2EEF55D94AFBD909817815E558C27CE9 +:10D070008A1E5D7CDDE4CA223E697A5DA2FBC57E24 +:10D0800028A84FD42686E751707C3655AB94CF1B29 +:10D090008A1FCE62661C95BE7FB64031CEEF31B29C +:10D0A0003F3A97447D9FA1F2EFD2693A2FD8398257 +:10D0B000DB0DE6BAF2D9D49E143FEC29FA5EA0F358 +:10D0C00051B2A1FFB245E39EF5CE383CB7B715EF9C +:10D0D0004980E793623086F2FEF17C0ED6731AF532 +:10D0E00064B05F71BC4ABE6F65D2E3B3D0F9BDCE08 +:10D0F000B8F078A3F9BEC9CDF345BAF6EF8F6463F3 +:10D100007E8299A761E62F951920833CC98FA23CA6 +:10D11000E9E09FA3DEB68FD12F77AFAEF99C102543 +:10D1200047138C7EA3F3382A471AF12E238FC3CCE2 +:10D130007730BFA78DE4EB93F99C69D85D269F9962 +:10D14000F5628D7E42F51C97AF171FAA678C6BE3C3 +:10D15000FC62EEEB8F4F88E4EFA4915CAFE546F5FF +:10D160001B5DCF9C47AEF1AC1CC9F5DE464F3BE5DD +:10D17000DD6D14B89FB051807201E713B4FF370A18 +:10D180008DD30CFF40E165FE1DCFAA635EE1136500 +:10D19000ED29B43FD3D36C0F2A389F9EADB89FB111 +:10D1A00031A63D05FDE2AE3CB0EB48CF9587F2C01D +:10D1B000349A5FA08ECF4F6BDB3370193C0F3CA8C5 +:10D1C000A8128F67D3FE9949E75CA61EF417E0FD0D +:10D1D0000F3C0F8C35AB07BD503E20187959517468 +:10D1E00037D789E8FC90F1F6748AD7C25F4B725149 +:10D1F000389F15119FE15F387F953979BE4899D3E3 +:10D20000D64AE741A3C7B94A5E57CFFACBFB8D4B4D +:10D210008C752975903E61645217BCD1EBE1DEFC40 +:10D22000645A0F41A45A12302E6DD8256F633DA069 +:10D23000C3AA91DE292387E37919F5EEC7A0499B9C +:10D2400071BF131B6FC44B64F0C7004FC77AE5E68C +:10D2500085EF0B74F93DDC7ED96BEC73B094965F6F +:10D26000A21D322081DF6B8D29A174AFE32E7E8F4A +:10D2700063ADC1770393B72750BE5BB7F1BC83C3DF +:10D28000F3AEA2C7F18FD4E7D37C8DFA57D2FFA6B5 +:10D290003F66B56AF3EEE17EB51FF7398EE227F4FB +:10D2A0004F6D9D77E079D534294EAB87E709C71DCF +:10D2B000879360FE7D15DFFDD8FFD45BC7ADC6B296 +:10D2C000D0D6435D0AF07D56DD51689EFF477CE174 +:10D2D000B9AC9EFC7C52BF782496B787618F7B07E0 +:10D2E0005FEEDC8809CF4103EF5A9C6F35F6D326F9 +:10D2F00076BA34CAD3E6F7FB3285CFEB7D83AFF63F +:10D300005BB44B9D00FFFE4D9979785EAFCCF1DEAA +:10D310006D8BD18FDB9C4CF7D298782933FC8159E7 +:10D32000A2B767AB1401EFA304AFB33A3355A4DF40 +:10D3300055E0F0DA930C7CAB83C2EF218E86177D2B +:10D3400070D2DF0F18F7A1B2D617B0FC125314BC7D +:10D35000EFCD8641255C07EAF8B9F5FF30F0BBD583 +:10D3600002F5501FD85902FAC929B1BC9F94C7458C +:10D37000BA5FD25BF66B8A073CB3C8A9A13D5ECD0C +:10D38000548AD3CD643AC5CBFE54FA8F573A607EA7 +:10D390003B47FA7E8AF0E3760AB6BFF39D58B2D7D0 +:10D3A000BDE52E3A4FCC4672BC5F8D0F7229398A8B +:10D3B000B1AA0982713E4B3DB6A800CFD131CA87D0 +:10D3C0009E15F2A7D424AC770BBE87F94D617E3A47 +:10D3D0009776A5737A7730E5153C8FF6565DF23D6A +:10D3E000F733FC3D8BCEDE56A9EB7C35E0FF00C267 +:10D3F0007F710C3F67CD5654F7233A37255D13FFF5 +:10D400004E14383E414EFF807C09725A80573B874C +:10D41000E4A62289C32D77D4C7C37C26F6F4E4A101 +:10D420005D73FD25251DE731962902EE478F31CE2C +:10D43000F5B67FA86CE7E77A4DBF438F4B0DFB1D18 +:10D4400084CD9FC731BC8FAE3D4BE2E77FF525F21F +:10D450002E28837562E48DFB7A7D06E5D7C0AEC5C4 +:10D46000F5BB9DF1FCE0F6227E4EE8C6944D151802 +:10D47000567DB58ED1B990578F491AF2EDCDCD8733 +:10D48000E50228BF516AEFE4F79076C8287F37F9A4 +:10D490009CFE70BBB732DDD215FF6378AF5864795C +:10D4A000FCA0C878E1CD5789175E18699CAF1AC0F7 +:10D4B0000660DCF94054BCB0FCEAF1C2BF23DE4395 +:10D4C000E73A70171AE07E76548FA7910FDB471E5C +:10D4D00028F90CED877D1ECCF8626F9471BB79D072 +:10D4E00028AF300A9EE72D1DB3914F3E580903F532 +:10D4F000C378A59DE9E0429F5DA950F9A39529F461 +:10D50000FCCB4A959EE756E6D2F7F32B352A7B47AC +:10D51000E931A39250A5FB9BD19F5856C77F7F64EA +:10D52000996B292F5BEC0A2AD9351987E97EAA3530 +:10D5300041EE37CFDD155C8DD39EBF4FB7626EDAFB +:10D54000B28C04BAFF6A99719FC3EC23FEC3C83E34 +:10D55000E78F7E3065020BF373BF12C86E2E2AD59B +:10D560005370DC3FAF2C22783E5EA9133C9FACACDD +:10D57000A4E7C251DE0CFCAEEF3BBD3A05FA9FF0CA +:10D58000D3D3721A3CC7E8FC1CE0689D05831ECC0F +:10D5900027E7EB47732A8F03960EAEDA7A37433DBF +:10D5A000EEEB87F8B92561E618BCC7E5E6A26A1973 +:10D5B000EBDD7A89D1BD3D265F5F4D3E54D67E1EA0 +:10D5C000D7B74F031C2F6FEF7A9BCA1764C00BCCE1 +:10D5D000F4C22E07F9A1174EC4521ED2A417F9F7B0 +:10D5E000A5753CDEB2D70AEDE96957304F2B799F1C +:10D5F000E7D6BD88C7DF5BE87CD22740374CC8DC64 +:10D60000DB7B7D82CED7D14E7114E8BF9F569FE958 +:10D6100085FAED413BB3F5827A3FBBAF03CB6B0498 +:10D6200027DD13F14982B1FFCAFC0EE4ABF3A1FD83 +:10D630006B3FDD3BB1C86AFA93BE8158FE2496D792 +:10D64000C7F1D47EFC3DB6FBE4672F0D44F8FAF633 +:10D650009455ECF7D99F6DBA80E74C9964F7DB409D +:10D660008E5EF8F9D6ACEF13B70789EF5ED8B92E06 +:10D67000F63686BF67C2F38BCF6C7C290DE7D90FD6 +:10D68000EC50D403331FFE75DAAFA1FD73A043B095 +:10D69000BFBD16EDFC1ED4EF5BEDE4273CB7716116 +:10D6A0003EEAB1DA1F4E1B9B8A7CBE9BD139BBD9A7 +:10D6B000A3F8BA3DBB79E70F713D1FA4310DFB1BE9 +:10D6C000BAE5B4D80BDAE5FD58A8C7E7B09F7A24CD +:10D6D0003A169BD2F26F88E70122D39EA4FB779E75 +:10D6E000E915BECECC1FA546C4030666541EC13C38 +:10D6F000F7414D7F2DEBC5C2ED8658D2D7A6BDF0C0 +:10D70000EFBD4F5CA8A6758FEF9FBCB86FD2DB381A +:10D71000DFBD422015FDB040B555A3752AC8732161 +:10D720003FDDD587EC8EDD6280F26F0335304F2808 +:10D730007FEA0D3C81785908F5D11F5B98D77E1A96 +:10D74000F32116BAB3E85E838F82CBC87EBD4E60EC +:10D750000ACE73D1AEC7C6227D3F1DC93401C69F14 +:10D76000F3E2E7B48F8407E1312EF2E9AEFA9ED3FB +:10D77000A1FD4383CA282FCF2BB5D0786C311F6F02 +:10D78000F1BE9D76BAFF14FE87F972EE7DA507D231 +:10D79000D42EBA891D0F7BD0AF4FF2817D0AF59B45 +:10D7A0003D8154B47FCDF574E748EF8651B40E3E09 +:10D7B0004A792A7F02B868FFEA1AD73FABE8A73C4C +:10D7C0003996C2ED71B3DF0CB195CE6D8234D0BD08 +:10D7D000AA3B14BEAF80233D42E3FAB6A09CA74902 +:10D7E000D564EFA7D9B8BDCE944994AF76ADE36FB9 +:10D7F00076FC93ECADC5621C9DA337ED95A93DEA7F +:10D800005FE9007A5529BEE7717EB38CF59FC99A0E +:10D810008AEB649EA2BF308AEC2D5857455A4F7F41 +:10D8200086E54512D85F7DC2EC2FFBB5ADA7358AE2 +:10D83000FE2B9CCFB5D65799D68CF19490DEFD2265 +:10D840003F42EFD6BBAC2C0FDED737D948BFB083F1 +:10D85000E282C360878FC22EC4AEFE96B9F29331C6 +:10D86000EFAD9EB1CBE2EB3720F73EC06D2BAC0F96 +:10D870003E92FFF67A8CF7EAF03F17F0C9E8AF4422 +:10D88000E6BB4C9E8CF9043ABD89F32A658E887AF2 +:10D890003A73D37E1173265CE37C5B9F895C67DA05 +:10D8A0009E099FEFC80B271C684A011E92F179A5BB +:10D8B000F9BC62CCE7B7381F78BE5AE63D83F08DDD +:10D8C000FA9B42F72A8C9625E60B5BA701FE8F9107 +:10D8D000AEFAA5D808F8437C768DF0DF037E24ED00 +:10D8E0007BFDD54AF1AA7D461C69DFDC41FC3E2464 +:10D8F0008CD7403950C5CF49EE73F9290EB3EFF5F7 +:10D90000242DC028FFCAF8DD281E6FDB17C3E56190 +:10D910005FAAA2606E6E2F1B3BBB0BE55E8A67E8B9 +:10D920007786FA4F52C8FE09DDD7348D8FDF3DEE82 +:10D9300023F1BCB369B1145769CA6B1DF80BFA9E89 +:10D940004BF13C33AED34BC28BDCA1AF7A9E6FDA86 +:10D95000E45AFA87C1D0AEA9CE41EB779327B81627 +:10D96000F3BD9A1EE843ED4AA4B61F61FCA8F3AFCD +:10D9700056C6EF630AB822CFC9045C91E764E03B66 +:10D98000E0F5A441BF13328F9F9C08469E93391146 +:10D99000CA6BE3EDAFF5BD19873965E67BBB1B9319 +:10D9A00068DF7EB42F6734D069DAAC1D31BEB07841 +:10D9B000EA7D766FBFD140FF33B53B5EC07D165622 +:10D9C000CBFD20684FF644E0EF3C2E34D2DA71D321 +:10D9D0001498E7C8FF290A38EF68FA87E25A0F88D7 +:10D9E000C6BD54FCDCD3B6D77AF0BCBF4C4EDF4E7C +:10D9F00097D5BCB78AF207B7B5F437E25A828EFEE4 +:10DA0000AB993F5859C5EDDB0B2BC4ED18876B352F +:10DA1000F209B719FB07817D2E1E17953B6330AEC7 +:10DA2000B540E071AD3B0DFDB68DB5A62DA67A31A2 +:10DA300094BF6AC6D1B6ED1948E3B532359EF8E514 +:10DA40008844717DF3F7453E73599FB185EDB3D49A +:10DA50001BF7CB2C30F206B719785E70ED79849302 +:10DA600011BF57CC230CE18BDFF3B56D790F339FDA +:10DA7000D288039AF77CF1F39DDB02D9F4BB082529 +:10DA80005229C59B3B413FA07F6DE6179C7D4024FA +:10DA90003FE336D6F9785F0FE2ABF3F5EB709E7B90 +:10DAA000F87DA9BE557F8F1950807A9CDFDFD5B1F4 +:10DAB000EA9DDEBEB079213E91AF7C682741F98FA7 +:10DAC0004A872B3CDEFB47EF59BACFEEDDE552AB80 +:10DAD000F55BF20B6734FFF96B36049E5EEB69CCA5 +:10DAE000739AB1E2831918879F31E7D21DF47E4102 +:10DAF000747E5364BED263A3F5FB116F213C7D2C71 +:10DB00001AF1D0C06E9CE7CB8AA2E13A0C78E2729F +:10DB1000FD716C88AFB0FECB1F0D32F86A27BF6F66 +:10DB2000E345C1B8EF8CF3E1CBCDA911F9962FCB2A +:10DB30007CFE2F0723F34DBF19E0DB8072137D7F3E +:10DB4000D9B8EB7D8DA3C97E383F16FDADC52C8EAF +:10DB50007E57E49CA5FD30C679D88A6B5BE7E6C7A3 +:10DB6000EE5B2480DCFD65DF8EDDF804BC13DD8117 +:10DB70003A2477E794D638C4BF4F6CB1925EAA615D +:10DB80007ECC6F9A87377E1790BDE65F33A27BBE4F +:10DB90001BB13CF897F3F13F286FB2C55A9288ED5C +:10DBA00098FAA482EFAD5DF5C92F0D925D05F5974A +:10DBB000225EE7BBF73C5C02EFE7399DF61509DD15 +:10DBC000E9336FD79AF63E43BABFEF0E47947ED83B +:10DBD0002919746C8D433DD8A5275B29AEDCA52798 +:10DBE000E17B987E3B67D0E75C147DCE85E8C2DBA5 +:10DBF0009BF6F783C6EF045A8CDF093CD77286F890 +:10DC0000FCBC192FD3787EC2FC5FF07C83070D7DAE +:10DC100039BF474B21E2BB9714B91F6F3EE7DB5B6F +:10DC200056A3DE527465E99AD4AEF8DB7C6F8B158F +:10DC3000D71BBBCADFEF36E204F35890F294527C54 +:10DC4000FCFD7C2FF87809FC3DF2A5D9CF3C31D8FA +:10DC50001BE964C2D16DDC28BCBE379AFB050F9A64 +:10DC6000FB352EAB11BFD752106FFD9AAD11F5CF1A +:10DC7000BBAC77E2EF6DF50F46BE37FBFF78B460C3 +:10DC8000C46BC2E8E9B9321E3E33EAFFE427A1FAC9 +:10DC900012CFDFC393A006DFA97C5DC63CAFC049AD +:10DCA000033EC6EE4E033B6D3EF24056179E76E7AE +:10DCB000F9D212E0795EE47A72B71BCA83484FF951 +:10DCC000C3CB217C47F1EFAA9385642FEEAE930579 +:10DCD000DCF7CBB89EC7CDF7895AB3792E1ECFC9D2 +:10DCE000D7B90AE97781FFB252A7DF398A9ED7D91F +:10DCF00095BA5E1BF67E76739E9DEE31D99267AF24 +:10DD0000098B07D73FFF4C9B8AF2AEDB3B45E0A572 +:10DD10007A39F8707122BE975A80E3E139CC8EF8D7 +:10DD20003EE76C7B03EBCDDEE2CE0F3F4F7557F342 +:10DD300018BD368C0E039F8FA4CBE096C8F2D03D61 +:10DD400091E57EA843867FF77679AD91E56147221C +:10DD5000CB2F15754A98A7283B45BA6F4576AEB2CA +:10DD6000F2BCC5F8CE1C186FF8B1062BAE537F6617 +:10DD7000EC22FAB11FED5E5388F6F627ACE5F80405 +:10DD8000A0C3EC7D9BACB28A74F58FC57BBA0365EA +:10DD9000F6CE1D5AF77C5DF8B27A21F43BCFF83D00 +:10DDA000A5ABE5EF9AE77CE02F379CBFA2F9E01323 +:10DDB00023EF70C1F29B1E0D3FB73AA26513E545F4 +:10DDC000CC1D1F39DFF9B2CC50BF5D496FC971ED71 +:10DDD00063516F9D7E4860FC7E7765F47228CF6C3E +:10DDE0001219FF1D28E5070F42B9D61B4BFB1BA1DB +:10DDF000DF4DDEB0E430C60FAA25BE1FAE14298564 +:10DE0000788E6B965D207B7E95E30794373407E62A +:10DE10008FFB2666BE64F1BEED12C25913955F5B9F +:10DE2000BB210ABEABE4D5CEFBF137B6C83C5B3EA6 +:10DE30009F59067C5280DF2F516CC46F3EC42A2349 +:10DE4000301FD43BEF7AC0737113B72F8A65EE7F12 +:10DE50002C643CBF73A1DD77AF115F566E80FA472B +:10DE6000C00F43FC7CDE1C4F71CBCFB11F2C6FE188 +:10DE70007149336F7F610FFE7EE1AF048A432F94B7 +:10DE8000AAF9EF6E2FE37969C81F7A18BCC80FE1B1 +:10DE900065D668C6F9F9EF75CFC3DFEB468B1CE892 +:10DEA000A647E43DB75A3F82711605849627DD3CAC +:10DEB0002F34A21FC6CFCF2D66DC8FC7FCD0C8EF92 +:10DEC00041E2B36D161E6F87658BFC8F6DF3A6C79D +:10DED000A2BE02FDC3FD98895C9F5D6D7FB9298F4D +:10DEE000CFBB696E0EF941BD504722FE1EE5FBEB2C +:10DEF000B5E29BE4E7D4F6E278B0187EC8290425A1 +:10DF000015C3D56D14CF6F12F8EFC634795820863B +:10DF1000FA1B60DE076BF835E6B91CBE7F3BFD31AE +:10DF200037EDDF86ECC84DB688FDE4E91B071BF62C +:10DF300051695F3B7D8FD1785E0487777A12DF8FDE +:10DF400036E567BA711E657AD4799CE9A17328C158 +:10DF5000A4F07DE1ABBD37FD94AAA1BE3DD787E516 +:10DF6000FB34B98D7B47E75CDB3ED395BEFFFFE713 +:10DF7000FFDBCFFF052A16D1F10080000000000072 +:10DF80001F8B080000000000000BE57D0B7C54D5C2 +:10DF9000B5F73E7366269364929C841012C03009D4 +:10DFA00049881060C24B10C4212F03040CF80245AD +:10DFB000984080000984406DB42813028888365840 +:10DFC00054EA032708A82D7203A2528BDEE12160D8 +:10DFD000458DCF6BD54B13A90A8232061FD8DAF6CE +:10DFE0005BFFB5CF49E60CC1C7F7DDDEC777E3AF0E +:10DFF000DDACB3DF6BADBDF6DA6BADBD67AB55081D +:10E00000314488E0FA48FFE63421FEAC941EB25059 +:10E010005A1E55BAF6F2444AEF4B4FAF2738DAA3EF +:10E0200008D1558861799E2C4D9677A3BCF0344F6A +:10E030001589A827B4B5B9543EDD93559383726210 +:10E0400046A9538863B9624A13C1D14384C74F6953 +:10E0500022DA198AD4624A4581AF91DB89A476E23B +:10E060008598264A8B542ABAD545ED50BD727BE976 +:10E070001F2E0B19CFC3B6C01318B710AE84BA1435 +:10E080002152F576CB2D8AC74ADFCBEF89F0A39CCE +:10E09000B07A7B039EF66EB67BADC2E3E4F1BC873B +:10E0A000AA29F8BFEA3FDD4AED5EFF5AD7416B5D12 +:10E0B00080EBB89DDF2BC2E7A07ABE4976FF566A97 +:10E0C00067C3244F4A5422D2248B8FDA79E6EFAA11 +:10E0D000C07883F36CFECD046FC8151E8C67C3D463 +:10E0E0002C3FF2E393DFDC58DE4588EEAAC4AFF89C +:10E0F000658C6CA7302F4550FF1BE8DF7F41F9424C +:10E1000097DF47FF1EA95A185FC2EAEF3A2986E057 +:10E110005EA21D9E0C5855242C28BFBF10FFC0DFE7 +:10E12000E5346E9B28C57CAE6FB4F832E342BE2B5B +:10E13000F43DA4FE8FFDBE21DE939240ED4D1EE81E +:10E140002DF20CEDC8DF10EF8FD450AF8226358250 +:10E15000EB0F2D0DA96FA48431E693AA679F7CC6AF +:10E1600047E39CFF2FF7C60A2A77D2DA90E4A67617 +:10E170002BB7AE8AF5507AC2EA8B457B27FD6A3110 +:10E18000F822BC9D553ABF1183C52A49422C6452DE +:10E190000BF1E96FFEBAFA16C2FBD78A08AA1A7DFC +:10E1A000DFFDEDEA5B088F873C8EA04846BB2D451E +:10E1B000BF20785E99B3BACE2DC4A23DB60F5B1CCA +:10E1C00082FFFE41FF9BFFD8BD49AE181E670F4B73 +:10E1D00032D2400FD45BB8C5E60E50BB0BDF52DD28 +:10E1E00060834522B81AE30BAFBFA8E9B81D74D706 +:10E1F0002C22D873E4F9F9C411F6529AF7A2DD770C +:10E200007EA1C6223DF99E1880F6AC1FB664EBE5F0 +:10E2100088DE15343DE0B1F683C8170F6677D45F0A +:10E22000EA8949FC389AFE7189B8E41F2AE3C71DC0 +:10E23000001FD2B83225F9996FEB9F786CC7733401 +:10E240008E93EF75CB8DA0CFA7B7BC1CAB101EBFB4 +:10E2500059EE78F1A00D0557301F9F6EEA1DE7EDCE +:10E2600004BF46FAF9722A1A114A3F3FD773EDA14B +:10E2700001762370AF4C2B6D81D891D45F65A3CD0F +:10E280004D1416954F3EBAED01F0F51F23DC992E83 +:10E29000C067ED16E42B9EA092CBD389558675D02E +:10E2A0006DC1931F153D48E517A4A8A284E836FF69 +:10E2B000A9AF64798F084652F9053B5B8B7E01D884 +:10E2C000EBAC767442B7FCA67DF6166727746B6AD2 +:10E2D0002DC27AAA7FE21BA6CBC91714D12DEDFC63 +:10E2E000FA155B4FD9B10E4F1381B478D0512DB3CD +:10E2F000C77546BFC0C4E78670BE0679F04374BCDC +:10E30000DA23185F55CFC68878EABFE2BD087F09D7 +:10E31000E87BF712E6FB4FACD592EF1F5E95E4A1C8 +:10E32000F157D87C491AA7F27BC5A69FE9FCE849BA +:10E33000B10CE7F9A5605EB31FBA86E73547789957 +:10E340000F2B1E564BFD947E6515C53B3BA1E7B7D1 +:10E35000BAFC8B108B07607D7C452DADA5797C6266 +:10E36000172CA77C6FA8FEAD0AF2371F53E8FB57A6 +:10E37000CD5D95B5344EF5759B037859FA7C7C6379 +:10E3800004C1AF401E138BE5BFFE5511D6D5D23464 +:10E390006B7584C6F3F6E97852FEA170EAB20EC33B +:10E3A00077FA4B47BB6DF61BA9FC97F4FD01B7A9A3 +:10E3B0003CE3E993CD1151CA404A934405E415FD6D +:10E3C000BD21C01FB22DB170D939B98E85AB0DF307 +:10E3D000CF1E23D7FFA2C73F297A00EB6DA6B33A21 +:10E3E0008EF0F3E55BC7EDDDB11E122D2213E36A5B +:10E3F000FE8861E1EEEA8A4BEEC0C7A23D11221011 +:10E40000BA6EB77C14B66ECDF9B40F30DE1689380B +:10E41000D7DA44E02D68873CF051BF5BA99F391BD8 +:10E42000A87CC83A5DB4EC84CE0FF68EEF691DEB84 +:10E430004EA8D3E2BC44AFB9FA3A0FA757F8BA3F97 +:10E440001BB6EE8DFAE221B9DEC3EB77AC731FE3A6 +:10E45000A9D2267C1AD6CF1F2378FFA95C2FD7A379 +:10E4600020399949FC7E7CDD81A41184A7534DB6E7 +:10E47000C412EED52C572B767D74E8762ADF3D59F1 +:10E4800015912C57BFB15BA87C72BE0846D0F84FDF +:10E4900055F815D1BF937549DF3B5D9715E23F569F +:10E4A0009E8A755FA80342F16E5E87732F204F53DB +:10E4B000C7105EFB75E0F52B91133712995A592F4F +:10E4C000EC5FE1F835F01A2E179FF3B818CFE17220 +:10E4D00091FEDE11217814A2E5D0ED84B7AF49CECC +:10E4E000AD75635FF996F72B426B3082F877A1FF29 +:10E4F0000B865761BF6278DFD5CA80CEE66DC667EE +:10E50000787EAB47F0784A7F6763FDA272AFE28FF7 +:10E51000E0B5E43BD46308AF4B0F8B15D170A8472F +:10E520006228EC0F839BC2CA7BC2E0D2B0F2DE301D +:10E53000B8DA54BE72CF01BB607E0898CA45D48E4B +:10E5400017C70777A62FF879BD2CDAFD85DD07FE02 +:10E55000E819B443EED956085F0CF4ABE755D6AFD3 +:10E56000CEB882B1D04B56454A7DF08CA6C3F10699 +:10E570002C6694D138CEF806683ED48B243D8FDAD1 +:10E580003B531A8C8DA7B496C601B8DE7160E39F29 +:10E59000498551235FDEF8E790F1D4C7E8E593653C +:10E5A00079E37BEB5E35D645EDB7F8457193B3B3B0 +:10E5B000F1D7331D5A84CC2F54BFDBD142E368F32B +:10E5C000655822681C6D2BBF92B0353B41B8515E37 +:10E5D000EA977FF65D914463121F89D27746826E77 +:10E5E0003E8F3D85F8689624B1A878A93E569028BC +:10E5F0005663861CFA3DB533871848A5FAE5EBC289 +:10E60000F419511A1748837CB275AC074967965FB5 +:10E6100073693F5D4BEBB9E22173FEFCBDA7781D2A +:10E62000CD0F5B475E8C25E5FC7574BBB18E7245E2 +:10E630002ED651A1EAB460DD9E39A232DFB5ADB469 +:10E6400089D598EF76C52FA89DB6BD523F6EDB23C6 +:10E6500061E1EB2AF5467D3D1BF83B8D75D6E7C29F +:10E66000FAC9E9A7FF7DD82FC057CFBC3FE0414A88 +:10E670004F3FF3C7ACDF037EF6DF52DF17E797CFDC +:10E680007FE1DBE93CAE172204C675E685C3A9D05D +:10E690002BCE3C17E1C6FA3CB32282F574DF0B3176 +:10E6A000FE4CE45F24CF03F5CF7F33A085F7A5951B +:10E6B0004C9F5D63EC9CB6EDFDEB3105F3D81BE19F +:10E6C000C23C16BD10CDEB6DD173917E81FACF7F28 +:10E6D00033CCEBFC8F9BCF42BBF0321F123FEE02DC +:10E6E0005FC7D3B902EBE8F7231EADA3FEAB76EF0D +:10E6F000B3CFA2FCFC7FFDDB00C8DD33BBF6D92124 +:10E70000973FB7B56C027F3D3FE6A8DF4678FE1C19 +:10E710008BAEBB10D7E639CBB0AECEC78BC4C31916 +:10E72000C203E64578A9801E7E217CBCF5DF161F5A +:10E730005F4C97F2EF12A1A685E245F1C8EF317E5A +:10E7400087C2F397DF5FF86600E4D30FCDB70DF310 +:10E75000EDFABF67BE5ADE7FD7F94A7EDF38C6C5FD +:10E76000E30CE7FBF3F9FAD99B18DE11E3E6F1FEBF +:10E77000C8F5EECEFBDFC5DF13FFDBCEF787E8FD84 +:10E78000924EEF180DE79533CFFF2D55FC84795746 +:10E79000FD0FE57343CFCF53DD4772A9FCCBA2E950 +:10E7A0002D771A6B1FAC77D4D3768CF60E27A76D16 +:10E7B00056F91C22CF57F9FAF9EA813C799EAA173B +:10E7C000835636613D903E81738D10830EBE8E7AE6 +:10E7D000DE51AC274408C9575F3962B6C15E56D0D6 +:10E7E00073967509CE575E79FE22F8E04EE8EB97F6 +:10E7F0004668800FD4D178083E1063D1EA3BD98FA8 +:10E80000DBF765C72B53143A471738CDE7AEF161F4 +:10E81000E7A7B12E737EB1D89508FB5D718E4DD000 +:10E82000094414A17CC8B9B2364FE3798D150D2B7C +:10E8300035E78FC2139F770F6B2E1D4F9E809FE091 +:10E840002257460DE67FA81D4F35C295C876173E64 +:10E85000370B61617A1D765CB66D6D287EF12F17DE +:10E86000E637FE20F07088141CE8EBF93D27309C59 +:10E870009CEF60BDDF2AE83C2CE7693A3F5BB96951 +:10E880004A81E74489E73CC6ABF7E04E1AD78111CD +:10E89000115ABD66AACFF3AEEF39D8E172FEF3F19B +:10E8A000FB30F03BF47CFCF6B4E65AB1AE2ED3F567 +:10E8B000FA026BBC847B36ABA5BCDEFC928FBF74C6 +:10E8C0005BA17F8C71C65BBDFC3D381DF62CD5125B +:10E8D000EB867D8238495869DEF5744E85FDF8AFC8 +:10E8E000AAF79D3C9C9F4B3491077CE48926D883F2 +:10E8F00095BD87BFC53989CE1B16E88F7D361E7A38 +:10E9000017701F873300FB8C78C87ABA5D2F4E07CB +:10E91000762F8A87BE8AA3F43F7A1095F747F2FADA +:10E9200070F4B4B3BEDADFE5C97351FF5144DF744C +:10E930009AE798FD911E3D7F33E48A81D7DB757B92 +:10E94000F19DB4FE0330B47D47DF896ED1A0A18A6A +:10E950007604CB8D286A379DBEE585B573D772875F +:10E9600008F4E968C7A8EF44FDDEE7D7CF47FD21EB +:10E970001DF5EB976BDC6F78FD980BF45F10D6FFFD +:10E98000AAE5C97AFF72BEBEB755B6431BEDC45E99 +:10E99000A09DC2B07138732C26FB47F878D40BCCFD +:10E9A000A728AC9DD82151DFDB8EF502E3B9226C9C +:10E9B0005E566782898FC3DBB15D603CC25A9D1C85 +:10E9C0006AF70EAF67D7EB19FC6B94B3277637DB8A +:10E9D0008BB4A631184F19097DF0E74467608CE1CC +:10E9E000BF58417C7C91D5CBFDDAB38506FF44D975 +:10E9F000AF9E1D03B86C2EF1722ED64FB382F23D3E +:10EA0000496747BE5DEC56B8BC26B47ACA2F8B0B5B +:10EA1000C8F2B3A8BD78D92FE44D0652E2EF8B447B +:10EA200013D78F2A608B210407F3777AA61C8F4DAA +:10EA300068A90AE1B157BE76D3BB380FAF8A746FAD +:10EA4000C6B2CA93E7E5F6F9E74BFF8B91F62C7057 +:10EA500071AA5ADCC9C0C3C49517F3795C8D2AAD7D +:10EA60007A1AEB7147B47B2B2565AB6F9C3014E3AE +:10EA7000DBD1C50D947D3A71E730949FB972EACF2E +:10EA8000DEA6EFDEC723F9BBA7C07B653EC98B4F6F +:10EA900015D7F4A7E9C3CC6B0ED893A98B894D3B4E +:10EAA0003F87FD7AE2D5D16E05B0687AF552B47F22 +:10EAB000B5EADE4A70EB8E183B2D5B31A1E90B2BDA +:10EAC000EC0B134629D896456BA496BA98C653A664 +:10EAD0008A6AD0ED867C29AFD528E1DDE5C4B82E61 +:10EAE000CA4AA7EF13F4F37EF83EB44E2FDFABDE35 +:10EAF000ED4AA476834AA4B679484779B48376EF81 +:10EB0000C99776D0393A5E0CB857BEF4CB94AF892A +:10EB100068ED1D8BD416E843A95294371FF32C4996 +:10EB200017451BD1EECDAAD8CCE3A52D01F85F9FE8 +:10EB3000E6821D83A824607F15EBD2785F691DE310 +:10EB4000B6A710DCBA3E4DABA779973B25BF969789 +:10EB50003AFC2BD290DF14801D2FF86B85E9774C9F +:10EB6000D35251FE58726FCD47A2B917161EF263E9 +:10EB70001C6C2779B5C07B5BFED00E7EEEABAFA7D9 +:10EB800012CBBE8C6ACC2F96E43BF8DDEA8E85BEB4 +:10EB9000F47347693DC62D1CEEBB2FA1761EB85BF2 +:10EBA00015B07B1FCF77C9F9AA810C8CC7AA493E43 +:10EBB000DB646B9987F6F2F2259F942468C39C92DC +:10EBC000BF04FC81AD362D0BF36B5D156921992EC9 +:10EBD0004A56487EBBC3DAC4FCECF7B82C3EE2CF01 +:10EBE000197AFD6975D6D2461A474F87B0C62408F0 +:10EBF000716991770EC63FA1A9EE18EC27B37C721C +:10EC00007EB3D6ADB7431FEB556FF8C59A0BBA501C +:10EC10007B27B6A60D5A2B3AE87B6951DE83F9A112 +:10EC200074BAFA8B5CD4179ACB129702FEF714755C +:10EC30004D44EAAAC1BE4A746B447F85EA5E5EBF5A +:10EC40006DB5A403D1F8DA44B3849385E6CBE5F53A +:10EC5000C9B0BD9C64723CC66B5EBF3DF4F567CD28 +:10EC600090F036DA2FAC36211E27F98FF43724C7FF +:10EC7000ADB436B7933C06BC63B98BD3A6E5D9FCDB +:10EC80007DD77237C3BB970F67F899E51E86F72CBF +:10EC90002FE6F4B9E5A5FC7DBA2B50877E921D4284 +:10ECA000BB7D04E44C13CB8DF3E4C0C5D21F6BD005 +:10ECB000D1B6668C057A8641BF4235270EFB759B1F +:10ECC00070C5693917D6DBFE59F3C810921F520977 +:10ECD000DF75233A60E017F8CB10729E490E293F8A +:10ECE000D385C4B7467BC7EDC0B7D56361BEF40A10 +:10ECF00017EADB4529CF3B0A4B2D05F471B17DAAFC +:10ED0000A75754D7493C49FA15C8FE0CBC08BD9D0D +:10ED10004D55C205B929AC2D17C32E5CA89EBEEB7C +:10ED200012FADE56617163DB6F132D4F3ECBB0D309 +:10ED3000EDA3AAA976F1F9E121AC0DB9D454292F9C +:10ED400023206F6F2B4E839E73438522AC21FBDC07 +:10ED50008DD591C21AB27FCCA88D37C1DFE678BFBE +:10ED600004DFDEB8ACF5E17FA3F6A7DFF6E9677351 +:10ED70005D3C8EADF7A3DF65516E3AA9D03868D8F7 +:10ED8000896C6F63BF31FE1C492457F10FCA2FBB3A +:10ED9000B5AF7D4F22ECC30EB742FCBDC9EE2A1AB7 +:10EDA0000E3DD622825B8957DF033D09FF1FE8F441 +:10EDB0008C6CF8A611F6C9569F95FD45624DA127AA +:10EDC000548F8A2D48673C1DBBE5AF8D2DD4CE23D3 +:10EDD0003687063B646B4502DB4521E21DC33AFAE8 +:10EDE0009FE98B6E855E3673A51A8818707E7BC28C +:10EDF0002DF5BD0FA1EFF1BE467A1EF68B80D4F340 +:10EE00003EBC35C9073FC4878B63DD0AF5E35DD39C +:10EE1000CD3797E075B976B70A7BF85EB11A764DB3 +:10EE2000E2653EAF089FCDACF7B5F48C871F85F542 +:10EE3000BECB1177E0677D9FD84AC3BE3B337BBF13 +:10EE400080FC140D8A06BF6539F0970039AE707CDE +:10EE500002C9C5E4AB49BFCC2A5079DE85F9564ECC +:10EE6000EF83A24F69A470B3FDB27C1D95877C69C6 +:10EE7000C8B5CF09D96766EADF67655B3835BE0F6D +:10EE8000457B2467BAAFC99D8275D81DF9394807FB +:10EE90004DC1F8BA3B8BAC4A88DE39B0C0CAE50B2D +:10EEA000D1EF50F4DF95D3B5D9F29C37D379ED1675 +:10EEB000797E71D9C1AF467F33B307AD4E1F8271E2 +:10EEC0008C019644BD8D5814FA754CF15688D211B8 +:10EED00005567D5EB2DD4A7DDF2384D8A1179DA053 +:10EEE00063A98C8B9076EAF93B7ECB7EE6F9EF47FF +:10EEF000F07E3E7FA0DC77458E7FD855D26F69F2D9 +:10EF00002315FCF633F67F7C46E74BF61BEE3E6E90 +:10EF100057F9FC28AA217F17ED565B2362CFF767CC +:10EF20001CDCF17E6CA77EA4DDD2FFFD437EA442F3 +:10EF3000D529CFEFBF937E10038F8B9473EC6F5D59 +:10EF4000F4FCAA246F27FA00FC97B509E7FB937E2F +:10EF5000ACDF29DC4E5E5960F637197EBC0BC95711 +:10EF6000C3DF64C015B5037AC32F31BF76586FF87D +:10EF70002916D68EE6D4C8FF6CF91E713CA47C1508 +:10EF8000E827CF5BF649217AADCF96B7AC00F4B352 +:10EF9000CAFC8ADA7E7ABB83B9BD7FD5F52097D5C6 +:10EFA0001507FE69F367C689EF19E7A28D34992E1C +:10EFB000F063B8E2E0B73EA39FA7CF6C57592F3F4D +:10EFC000B3BDFF66859A9CB7F757760B7D3F58A077 +:10EFD00030FF7C16E6475BB8FD38FBB5AB4433D356 +:10EFE00091E82B1CA17ED58D76EE277C5C0B7E1BD9 +:10EFF000530DFE9ED7A478B662DF7234B19DAF6D1B +:10F00000FB8D365F08BDFD3A7F878FFBDE0297E9F7 +:10F010003BC689712C8868FAFC3DAC947F8946AC6C +:10F0200011E8FE2AE21C4E3D34D80D3D685ED3CE79 +:10F0300085AC3F6C8FD6603FFCD426CF0B463BDBC4 +:10F04000F5FEB61748FDF094EE6F3FB54365F98CB9 +:10F05000F1629D7FAA48FF92516F975E6F5781A41E +:10F060004341815C8F46F9794DEB596FFC7CF7F891 +:10F070004CC885337BDE8CCDA0EF7B75B97066778D +:10F080007431F07166F78345BFC77A6B1A9388F5C0 +:10F0900069B4FF52814DE27FAF8CAF11FE2EBCAE42 +:10F0A000AB80DFC1A1E3ECD2E80B913B2407B8DED3 +:10F0B000A9DD4FC55A723AE8B7C851BD867654D11A +:10F0C000D3E692710636AF0F7633DB9E3101E8E965 +:10F0D000BCFEA9FDDBB3AB4B710E30CAD91D1E3E81 +:10F0E000AF2CDC3349601D187EA39AA76D7E9CE38C +:10F0F000A60F745D7703E4C3CB36C67FCDC522006F +:10F10000BBDCD9DA9846D0B526AD256615E52FE9E2 +:10F110001F85BD564C1FACCB9FE496A18883AA5C8B +:10F12000A308CF60F8F73C2B0EA19DA3F27CDB9ADD +:10F13000E67E0DFB48F015A98757FA55E11DCC7204 +:10F14000256B32EC69C30359582FDD893F3C849A03 +:10F15000330552CF3F661715A053657A202B3E0723 +:10F16000FAAF8CCBAA4C0864C1DF785AA763E5E4F8 +:10F170004016E2C12A77A5703CD869BB8C6BC0777A +:10F18000E8539583A87E08BD2BE7EFCF021F57CE2B +:10F1900074BB90DF9AA67DCE71774FC708E8ED96D5 +:10F1A0006763981E558F45F2F91682107A7FE2B692 +:10F1B0009446D8E1AC8592BF1EC0BAE37DCAFFD2A7 +:10F1C00061E4AF18C5FBB6D14FA245DA19E7D91BE8 +:10F1D00078BC46790336E60718F33BADF3F3BC2859 +:10F1E0001DD6E7312FB681C7DF6A131ED023F8443E +:10F1F00004C7077E9AD2FC35C6FDE913170BCCBBBA +:10F2000035CD3F670FE793FE8FF5E36CB02763BF03 +:10F21000C87704B13FCFFFCD635F633F38F930ADAE +:10F2200043DACF136FDB3E8CD7134DD9428C533C5E +:10F23000F97186DBACC202BDFBA4CD3F0CED9F8C07 +:10F24000D4F89C70B2AB2B8EE197BA707F2795866D +:10F25000548CCBABEF5B27B7FE3A15EBF8E4D6C77F +:10F260008AE0577F24CF510DFD245C7ECDDF424CD8 +:10F270001C22675AD3E4F9C0C8CF2C94EB3053C793 +:10F28000F3C585D2AE5815DD745F3ACF53AE17A2E1 +:10F29000179FB348E3CD7E3011714D990AE4442F96 +:10F2A00075B31DF14DC1318EEACD98F7F67BED9E19 +:10F2B00021DC5D3086D68572DB468E73489C29AA98 +:10F2C0002372E53AF051FED92695D7C1D9A6C1716E +:10F2D00098C77C4BEE9598EFFC5733611303FE8D76 +:10F2E000B8BF6DCF52FD939BBA705C8108F86F7AFE +:10F2F0001F78B1B85CC0734982FFA65A8CEFAE810B +:10F300006233E59F4CD0F198E0123E8EC7F2339EF7 +:10F31000ABBA49FB40D5EDBF1D8675257AA85A6664 +:10F3200027F8BA10DEA069B7C344D29B0AA51CAB6C +:10F33000A475E4A575541521F1B4609BC271280B26 +:10F34000564BBBBAF88DE2CFA4792E890CC48EC47B +:10F350007ADEAABAB19E17D89BB2BAE2DCAEB74346 +:10F36000E5BD9057467B4B229BE6A0BD254F46B29C +:10F370009C2F2B4CD4E3DA7E95043DFBFCF2EE6E21 +:10F380009A33B4DCA3B1A1F16F46B9F6F935913ED9 +:10F3900042FBFA59D17CD3FB54E5CBED913C2EA234 +:10F3A0006F2AF69FF0F99FB2D17868FCA79E8C1463 +:10F3B000909B9F907CF4F52138DEF34B8EB37A5D01 +:10F3C000155BE5BCBDD8A7E6FACDF5ABBAB8E3103E +:10F3D0005753F55ABE15F5E714DA249FDD3E92E93E +:10F3E0002E5EB3894CE57C3A8C2D94F2BC7D3D3E7B +:10F3F00019CD7C78AABB60FC9EDAD187F79BD678C2 +:10F40000BF1D7C15DC27829BE379BCA9D0B74F3D9B +:10F41000D92717FC34BF96F4F2588CB729550BF94D +:10F42000DECE670112ADC310C727D80E66F4BFC089 +:10F43000B1AE197AD002FA3C6C10A78108D29B16A3 +:10F440003C4EF30BD1C34A12E479FFF78572FF17E4 +:10F45000D0D1493F5C80F658AE35D921B78DF55BE8 +:10F46000B9DD5CDFC87F505F8FF4E74A4C92FD4204 +:10F470006F6EB535D993D96E235CBB886F17AC5CC2 +:10F480003C4FD07C1654AFBF01FAD902AB28B6D39B +:10F49000B85A1595C7D11A29664C86BC0CED275D64 +:10F4A000A65A52C73CB7EAE37DA2D065E8C5A2815F +:10F4B000DAA95CA9AC43BB86BC60837D483D4203AE +:10F4C000EB5DAD63F4FC0BCCD7C06FF87C0DFC3E5C +:10F4D0005F28F79FD634D72F47C97D8BED3D6DDF71 +:10F4E0000D8E4BF89EF339D6A3C7688FD6E31F0A5B +:10F4F00005E3ED97BAFC5A40E3C338B31EB29BFA5A +:10F50000CDDE6286FB6E37C339BBCDF080BD66D8D9 +:10F510007DD00CEFD2FB85BDC0D547DA0B90C25E23 +:10F52000E08A90F602C0B0172085BD00DF612F0091 +:10F530000C7B0160D80B001BF886DD0030EC06C8A0 +:10F54000FF878EA7E7847FB055E5FD8DE34A46AA85 +:10F550002B58DE05E3857B732ED3C9033BD473534D +:10F5600092FCF0D78CEC25F4786DA794DF56E97FF8 +:10F570007BEE445F3FF6D790F8EA68D06B8EA579B2 +:10F58000750AD57BCE2AF7CFE7FCE6F8EAE774FDEB +:10F5900097F6E168B627F7F59E2EEC2AF90DED5C9B +:10F5A000DADB3F1871F0ADAB0E67FD8AC6D1A2C49D +:10F5B000089C83DEEAEBFD02E5166EFC623AF4A2DB +:10F5C000455181E9A04F4B9DEBB5CB0D7D85FA2DC3 +:10F5D00023EC828F454502EB55435686C9E17521E0 +:10F5E00030F8798319AE78E87CB91DCA27869EF772 +:10F5F000882D98A2B15E366A13F4881A254683DDF9 +:10F60000ED78A458B10AF2EC25E9FF6A3B6293F168 +:10F610003CEB94CD22445F8C29B298F4EA59E7067A +:10F62000B3BEDD0EAF532C6220FC3516D3782EF618 +:10F630004799F8A7DFE30926B87F537753F9817B11 +:10F64000D24DF9195E4F5157EC9F74AEC47E981B92 +:10F65000E86B2A7F76D91A8EF73D8B0F2407AF5AB5 +:10F6600037D854BFBC74A4A97CAA22ED40E2151B74 +:10F67000CFB75CD70B97DCBA6635EF3F8D0AC7135F +:10F68000B86AD714013EED90F6A24D6800E765AB6D +:10F69000CFCE71B589F2FB2C7D9F39A934A7AA443E +:10F6A000DF797D1BEE1B45F5ABD4C6548DE0273CBE +:10F6B000DE21452CDF5A26A1BDA53B6D097C3FC14B +:10F6C0001AB87B1AB553B9B38BA87309793825FEDC +:10F6D0004EB549FB58E370C1FB796383D4EB1B1B28 +:10F6E000BA4465C87333D32143F8921213D94ED468 +:10F6F0000C7A16AA39AC079F3DA2428DA7F117E7F5 +:10F7000039A07FBF6E63BE37D64FE5A0C39B12887A +:10F71000447FD6F5FDD396FD5FDF8EFD25B7292BFF +:10F72000807DE381C6A4EB89EE5A9C771CC65DF30D +:10F730004A7E2CE249BFDA6EE3A8B68F363CBA099E +:10F74000F1FEB7373C6A875D71BED56FE7F8E627F3 +:10F750001AED88F7BFE2F146FE3EE7F1323EFFCDFB +:10F7600015D57CFE3B6193FAB4C1E785EABAAC4497 +:10F77000A65B4A3CF8F0374572BD574449BDF6AA2E +:10F78000923136D8BFE66F8FCF55093FAE29530A65 +:10F79000C1076D4DF1B9B003CFD2CBB71D55795F1D +:10F7A0006CBB5A95F167A2B47F68DC99915E752EA7 +:10F7B0008DF9F5EA73FDF85C744DE06279FECC09D1 +:10F7C000B2BE4678643B55DBD1B3F6ABD01EE23611 +:10F7D000114F676F2E627EB188EAADF1184733F39F +:10F7E000DB9234E247A2CF9257DE94F01811140452 +:10F7F000978E524DFCB6A820DAC48F534408FFD32D +:10F8000090AE45F056087C75496F53F9EBAEEE1794 +:10F81000B6BE0775E4F3FABED4A4A7C1916A86C741 +:10F8200099CA5789C91DF938B76E9176F7AADDF1E3 +:10F83000EC27AFB048BFC814AFFCBE704FBCEE3F62 +:10F8400027C2E8F5E254799EF79AF673E927AFC22A +:10F85000BF5CB0CB37B37D2898A2B29E5A95DDC26B +:10F86000FE8F64FA047B76958F60F4EB1141F8C14A +:10F87000AAAC12AF4EB796BE22A5830F16EE36C7BE +:10F88000332E3C22F16DC41187E7935C5FDD1DE3ED +:10F890002E5172A1AF2FD8DE6A875DE96A6FCF6AF9 +:10F8A000DC2399BBD16C4FAA6C6AE5715EB32789E2 +:10F8B000ED9D0B61F709A1C7A922E91737FC2C536D +:10F8C00090D19BF5FAFDD0EFCE1E917A7DDBD1472A +:10F8D00015838F44EEF9F8A85A76C20EFF3BC70D88 +:10F8E000D0FCBBBBDF5E8D739F3653DACBC2F9060B +:10F8F000F8B186E0A73BF828247F8E90F89A43DB86 +:10F90000AA3FF7A7E3692EFE41F973F7287EC49555 +:10F9100086E3658EB785F136C7EBACF66BE7CF674C +:10F92000E1B277398E7C07D157197E3EDEE68A66D2 +:10F930009EDF5C92DB8178E607BB83CF558A1BFB99 +:10F94000B26B788BDD362474DDBDC9EBACCD4DAB2D +:10F9500018F32915625902F7E7E832A8631D4F3EF4 +:10F9600027ED1AD79EB3727A7589797D5D732E89DA +:10F97000BFFF74BE6961FBEA42D80163CFC7C742CB +:10F98000D80563CF9FA7E17F32E42BEC80656CA79D +:10F990005B61F22B1B69B81DF1AB22FD3EC05031FB +:10F9A000D4741F409793E1F5C3EF0314AA25163BC7 +:10F9B000CDABEC259D0F9739783F6FF3D9581E7A60 +:10F9C0005715F27EE77D49C235B766770BB5FF79EB +:10F9D00075BB9901A7D67549427E59A4C6F756CA88 +:10F9E000EAD452EC3F6554CE15526EF5CADEA990AA +:10F9F000F31FDED167938FF0F6E1CD8949C3A99F4C +:10FA0000E3AB6C890E5747B90F5715A622AEE9F83C +:10FA1000FA8829B063F5BACD2154F0F533DD1A39EF +:10FA2000964075264D21F8B35D5D7231FD9E5748B5 +:10FA3000B95EB9EAE9585C9359B0EACD611AA904F4 +:10FA4000E33DDE1E57B07FB9719B86825AE300C842 +:10FA5000F97E5730EE44D9AA55A97C9EA636555E4C +:10FA60007F3E8E1F5B1A29F7E913912200BDEBC47C +:10FA7000CE483FCE41C251C7E54F7795F710BDD86C +:10FA8000F3B0CF6D89E1F3EC69CB3E7D5FF4656146 +:10FA90005F9F14E7ED87FE1758F65E8B717DAAF81D +:10FAA000B725AB1D76DC2AD87129F5D665F23DACB9 +:10FAB00016D86F3343F0DC6E7F3FCF7E3BE48A4E37 +:10FAC000ECB746FE6BF9F2BCB24DDFAFA16F2385F8 +:10FAD000BE8D3835E8DB80A16F2385BE8DEF8B3678 +:10FAE0009AF5B33EBA1FD6B0E7F652BFC885DEEA34 +:10FAF000CB13D9D54EC947BFC63EF692B4D72D51C8 +:10FB0000AA1F811F68499D55E09CE9CBAB7E0CB0D4 +:10FB10006F4584564FE9FDD1B73D027F52ADD5A167 +:10FB200045B066507D09E871599074AA10FEBEFC7C +:10FB30009C439487ACA331A4A485C2F98E1453F9D5 +:10FB4000422DCD947F45F2C5A6FCB1AE5C133C3E80 +:10FB50007B84A9FC04F718137CE5F0B1A6F2933C72 +:10FB6000934CF055C5534DE5AF292D33E55F37650F +:10FB70009E297FAA77B109BEA1E26653F91BABEBC0 +:10FB80004CF9DF58E80442FCB317E725A2CF0B3845 +:10FB90002F45000FAEA3D342CEFFA3F22DD59DC5B6 +:10FBA000312CD7D7C35BC59E9BC127A4EEA5816F1F +:10FBB000618B85FE71F7152EFDFC2CBFF7B4CAEFE3 +:10FBC00004A794F63FBFFC85CA8D8ADE7FD6452CFC +:10FBD000F5E5E1F76659498E8DBA64FFE0DE040F62 +:10FBE0002F4E2DB7921C1A3572FF53E9047B8ECC31 +:10FBF0002AE7FC81FBCF22FFC89174095F255815C5 +:10FC000019577C78968FF86AD4E5E9EBDCD2CEC13F +:10FC100071244E92AFB0C72E74380388A730E60720 +:10FC2000BC94674ABC200D105F23DD4F7C8DF4200F +:10FC3000F17539C9BB43C4D7488FD03912DFFF40B3 +:10FC4000E748A447E91C89F4553A3F226DA6F323FF +:10FC5000D237964FE1F4ADE55EAEF7CEF20A4EDF55 +:10FC60005D5ECDDFDF5B5ECBE907CB7DFCFDB12BBD +:10FC7000743BC61EDBE9F67D01E7AD6A4D60DFAE81 +:10FC8000D7F729B1578F57DB2F9A187F2DD6F88FCA +:10FC90001D1D7EC80B9FDFADE2E310BDECAFAAE7F0 +:10FCA000A92B986E3D3596FFFAF7AB4679F780CED3 +:10FCB0006FA75D953958C53E57FD221D47C5DB1618 +:10FCC00069CF0D6FF7EE2BE4B9EC8962CFF368EFE3 +:10FCD00032C731BEA7ED4A21ED7524E017D81FAE1B +:10FCE000DC42FF233A5E666DAE673FE1B7C285B87E +:10FCF000937D3187B87C7DA4D060AF54CE49FFFBA3 +:10FD000068B78C8FA8FFB699E30E4663EC947F9991 +:10FD100026CF27F5B36987CB45BE8C4B18AD517FF5 +:10FD200052EF31C52F159C6BCEE77CA7DD057FDD3B +:10FD3000E80CBD3CE218E2B97F1E5FFD62D9FF9678 +:10FD40006F9B398E8CEF0661BC0E196F35DA2BE391 +:10FD5000A39473D5DC3FC1C6F8B8FC68D489C7F852 +:10FD6000BCACB7D65F2CE3B3687C8BB97EB21C7F8A +:10FD700037AB2C6F77CBF8001A5F19D78758A5FCE3 +:10FD800018AB6C9F5854F3C978AD5CD8E1EC954E34 +:10FD900037F68DD139CD297A7B1C2F62948F73135E +:10FDA0008CF886BFC8FE8100DCCF48574A595F34C3 +:10FDB000D6E943639AD3D0DE433F73707B3DD49D35 +:10FDC000B990BF568F47405FBA6A82CAE7B523A38E +:10FDD000BC7F013DAD89161E6FBD2786ED1BAF3F71 +:10FDE000EFBAC88DFD48D7D3BF871FFEF17FC70F7D +:10FDF000CFB4D33782F12DE3CF405F133FB8DBF9A7 +:10FE000081F3EB0B891F3AE197F3F9213055C7379E +:10FE1000B7373AA3833FB0EFEE8B7987ED35F5FD29 +:10FE200065FF5BBEADE6F16203053EDBF9A15AD288 +:10FE30005739D7C11F11B9FF73F86188B589DF4100 +:10FE400088A874B831EF1FE28F194151144745D685 +:10FE50005CE6BD1B742D3BE73A0478961883134A81 +:10FE60007BFE7AE40F3D3FDFFB65D006D8F8BE4746 +:10FE70006FC7C8B726BE118D7DC068C728F78EDE54 +:10FE80005E47B9410EE8C94B0A9B1E823E500CFDED +:10FE900000F313121E47FA00C76B084F6C6E5247EF +:10FEA000DCB450471DAC817EA5DF6F134EA95FBB4C +:10FEB000E83FC8D9CBCF594DFAF638B1CE0A3CF25B +:10FEC0007DCA14C42F9BFDF1E3723E617D7C5C987A +:10FED0003E1EAE5F9715EBFA759A48837C3DA0FBFA +:10FEE000D50D3D3BFF027E7543CF26FDACA23844C5 +:10FEF0003F33E241B795691619D7E2B60C22B8D064 +:10FF0000E3AA01FC6A9EDC47B2A144D3F7821485C0 +:10FF1000D73375F3D64282A1AE023FC5A281F582E6 +:10FF200071A289D312D1CCE94411E4B454B8F7B624 +:10FF3000D07C0E7E356CC860AC1B4B6035DFDF2A91 +:10FF40006BE1F8CB6D71DE5B31AEAF635E3F86F87F +:10FF50004F11F4F601FDF617C8F1D55C23ED47FB10 +:10FF60001D9DBF0BF012EDAF1999C087E0F445DA83 +:10FF70007F3368BE8769FF053C2EBB4EA05E91CBE8 +:10FF80001CDF64D41FAFE50B6B970BEF77E307FC27 +:10FF9000AE27F0FB727C9F02D0E9E5F84B0A605F68 +:10FFA0007F39BE9B45A61176A417AA6FAC87F1399D +:10FFB000B7B33F62BC56C4FDB5E3B5AB19AF45C09E +:10FFC000AB1BF8F559B1198F157E4EC78B00E37343 +:10FFD000026DD480AF44C82CC107A2274E5B445D9C +:10FFE000E40FCECFC0F74A4730D56E61BC3E5E0C01 +:10FFF000BBADEAFD13EC779F5DE4ED037BC7DDFA53 +:020000024000BC +:100000003963BFE3CD67A0F7B6A11B4A3356363339 +:10001000BCD426F9BEEAD90979B84F50F3B6EAC77D +:10002000F9E6248648FC3BBA76248FFFF2DA119C6D +:100030007EB25CF880EF4A87C4E367BE7D0354EA72 +:10004000A729D6BB0774ADB4EC8DBD94C6F7C943E0 +:100050006FEEC0F9CAE0DB4AD5B5CE8DF5F6B28CAD +:100060009F15DF1D48855DFA427C4CFC1BC07CDA85 +:10007000F9D7E9ED0EBBB7D872158FCBE0D74A4759 +:1000800091899EC6F9B2F1320FCB094D0416633D3A +:100090002E1432DE70A1E3E83CDDBFABE1DE78B8C0 +:1000A000DE342C2AC072D68EB8BE111DF4EC1111AC +:1000B00098C7FA68B48C7F16DEC17D214F2E1DE0F3 +:1000C00079BB98E33373B61BF8855D7074A01FFB92 +:1000D000858B8FA87C6FE170D480ED90332D846F79 +:1000E00085F4CD2BFA553BD3894E37E5795B505FCC +:1000F000A8DFA9E8F768A622BAB03D7BB093CFD3BA +:100100003F109F132E374E14EBF13D03C400FD1E2C +:100110002CC727B5BDA5729CE0FDD1B11CDF50AF47 +:100120009F97468BACFB47517EFE111B22CA397E3E +:100130008FED19C9D23F6AC893CB45E94AF87D0AC9 +:100140003C8E60003A56B245B842E45EA42B4AB8F1 +:1001500042C6119D9D608263DCDD4DE5E386A79B71 +:10016000F2E33D7D4DF95D8A0799E0AEA5979ACA05 +:10017000779B92678253BCE34CE57B544C36C117A6 +:10018000555F6F2ADFAB76A6293FCD37DF94FFA2FC +:100190007E6F59F83C6F640F83DC937FBDD7D49892 +:1001A000CA5181835EC24B0F12F85847990DB79818 +:1001B000DA152E69AFF1D17FE0AFC264B3FD468D91 +:1001C0007A41017D5ACA9CD5E08B7C6DCC416C4351 +:1001D000F99AD98ED3C379E203C8A31E3F10DF95E5 +:1001E0003D56DF377E2CFDBD7D3BA77FA5607F6D33 +:1001F00087DD46D2BF88E80F79057F49E83CE12FCB +:1002000009C50BFC25A130FC25A1E5E12F09CD870F +:100210007F24347FF01133FD87369BE97FC9BB799A +:10022000617408F2FA795153C4039DD06D448B99DF +:100230003F84BA8EE966ECEB234F4CEE946E53E8A4 +:10024000BFFF0CBACD08A3DB5762DDD0DC74EC9B9A +:10025000528E5FC89EB650F3CC1E4BF2E366C8794F +:100260009253DF44FE9DE3605DA4DF8854217E1E2F +:10027000F5778E9F35E48E2FAF9AED1F3EBB43ABD3 +:1002800077333F30BD6B3F88E1B8C46F2C2D31D838 +:10029000578E591A14A4CFE57897A0FD1939D50ABD +:1002A000FCDBC9A274E71CECE717058FE11D23DF17 +:1002B000CD31529ED3111876E5969B63381EC8182F +:1002C000E7F41E321E6AD958DD5FEE967151CBC736 +:1002D0004A7D3FC6ADF17B0C6539428F6F15A9D3BE +:1002E00029FF63CDBB722CDB09476DBC0B76414205 +:1002F00062C410260CCBD55E2FD17A031EAD1E4BE7 +:100300002BBE1FB5715CD5924CB717F1B74B945407 +:1003100037EC3FAA1E4726EE8964BFD912C5DD0D12 +:10032000F1396AACB4D3231E23FE7BFCD733D798B4 +:10033000E33146DE19512DC7E9DA544BED977F9E24 +:10034000638AEF2FD7EF5186B7F3AE36E601E0713F +:10035000A46AD1FDBC168E57125679EE78C0A5B1AD +:100360005D63642F798E0D922EB399E3BD03917D69 +:1003700090BF21DD8D7E461AF729AA84AC0FD18269 +:10038000FC6549AC57F4D9284C7ACF03FAFB69BE17 +:10039000A576FD9EA03FB22FEC2842ECC23B32175F +:1003A000FB1DA638EF90F8AD48D83DFA3DAE99F266 +:1003B000FB37259BDA1FB8C765CACF0D649BF207D0 +:1003C0001F719BE0165B706716F5EB7B581588F77D +:1003D0001EDA3CDC54FF92773D2678444BB1A9FEEF +:1003E000BF8D95F1DEC215FC6207CD637A7D2F8E3D +:1003F0002F1A79A2D454AE8755DE8F484D96E799CF +:100400009F7A3F82F2F93C64C936E7C767CBF6E8CA +:100410003CE4C1FA30E2F43344CB548EB7D0E3F37A +:10042000A747886AE97F977EFC4D377737AD8B7F8A +:100430001F2BED63C7F538E7AD0E199722ACEE77A9 +:100440001137B74971A5833E46F98FF4F533EB7246 +:10045000CF71AC8BE3F9327EE2919813F3B02EA703 +:100460000F94FD4DB358664CCAE1FB8A7C8FD7A828 +:100470001F1C2BF5A557C62B7ABF72DCD3E3E4F81B +:10048000C42FE43B72C2EAE373E4A628118F73C160 +:100490008DEB9AEEEA4345A7D91B6C6C2C127E1BA0 +:1004A000F4F5923CD24B895FFB1CB8F55127E16310 +:1004B00053AD95ED68DFBCF4F7725F06F4D6A03C4F +:1004C000FF56D3DC72714EA03517E20F291B2FE3C4 +:1004D000D713C609DD1F107EBF2550C7FB109D979F +:1004E000616FB948BF7F1145F4F3F13B1D82FD03F5 +:1004F000B606C17C6FDC1BF967DD0731E864DC17E9 +:10050000722DB6956E76E2DE92285642E6B574BC40 +:10051000946B978D93E5510EF2A2503DCAF794DA91 +:1005200012358B9C9F2B0E72C8281F2E2FFE59F35D +:10053000E86195F7F6521DD22E107E0FD0C84FA954 +:10054000967C6EDCE3736A861DE1A0BC07E3253D63 +:10055000B8937B7F3DF47B30F1D99DDFFB6BBFEF20 +:1005600013B65EFC19168E17B83DC67CFFAF6A9CA9 +:10057000C44FF238DDCEE9A3F3F930794F0D7F8512 +:10058000EA7765687F768CB4D3CDBED97108FBFA63 +:10059000EC1455F8686D8FF668FCCED44C5A028D79 +:1005A000B0F344A632DC324604951EC4873EF37E87 +:1005B0003D177A9FC2FA2EFBD76721548DF877D664 +:1005C0009AB072CE8F795F9F1DFECE93E187FB813B +:1005D000F3FD8DE3743D7DA01828FD67CE15F04B2B +:1005E0007EE5A7F3575AC87AD0ED996DFEA724BCD3 +:1005F0004CB07D285C0F306017FC62217E18C26B06 +:100600005436E4FF4A2BBF8317CE67065E897E2BE4 +:1006100056F1F945DAF18CB88CD388CBA07AA77D56 +:10062000675B19DE1DC9EFD47C96DB3C00FAB11183 +:100630002F62F8E332BCC21787761E8FE476DA9613 +:1006400011A361DC8F47F3BB052DBEA73ABDE7E0E0 +:100650006D31FBF3CE3B977BBCABC6111F786D822F +:10066000FD6EF5DB55771D8DE30EE77E7EB7EE2739 +:10067000F8ADEE1C17621729B18A6235A123DFF0AD +:100680005B91DEACFB23F5F7837C6725FE970AB60A +:10069000BF5D490A22E4CDDB82A421EC9A82B48EAC +:1006A000DE3FDDDF75D5B95CE90F3E3792E7EF5DE0 +:1006B0003382E1AC5E3E0BE2B7C50D0AFB21AEDB37 +:1006C000225645B9108775DD50E0EF099D6E59FA45 +:1006D0003E138EAFEEE3E5FE72C97843BE3A799DD4 +:1006E000D7D429ACF7D74017007C97C27ABE019FB8 +:1006F0006DD0E142092F59A518F7B8F85EFC4C21DE +:10070000EFC56FD3ED2F982752CC137681EDBA7DCC +:1007100006F3448A79E23BE41360C827C0904F8017 +:10072000219F90423EE1FB47F1F976E015FEB88249 +:1007300090F5067F5C41C8FA813F2E14863F2EB4A7 +:100740003CFC71A1F9F0C785E6C31F170AC31F1748 +:100750005A1EFEB850580C1FDB01C3BFE2996482D9 +:10076000AFA2734241C87A873F2EB47DF8E34CEDC7 +:1007700079179BEADF206A4DF57B57D799CACFA836 +:10078000554CFE3A124BBC0FCFDAD885F965E7A875 +:10079000D24FB03EFE14FDF79FD9D2597EB09DA333 +:1007A000A62ACA2DE9DD502CE96F1192DE41B66709 +:1007B0009F5D669770A18C4B0EE723F8B9705503C7 +:1007C0007E2EA4F07321859F0B29FC5C0599D2CF66 +:1007D00085147E2E7C879F0B29FC5C48E1E7420A4A +:1007E0003F1752F8B990C2CF857AF07321859F0BDD +:1007F000DFE1E7420A3F17BE1FA3719487C839E8BB +:10080000B919A6F327F1A1E9FCA99960E8ADA1E522 +:10081000A1B786E6436F0DCD87DE1A0A434F0D2D33 +:100820000F3D3514EE3BCEC5EB0CFA6A683DE8A5EA +:10083000A170FF06DF8BB0AD4D78E8F38348B3E2DB +:10084000CA76E11E64F6F886D9F0576645970D8A98 +:1008500027996FABBB7776018902AF1EAF38400492 +:100860002D902F5E1C3287F07D448E13EDFF6D0AB4 +:10087000E7F7C9D7E37DF04774CFDD2D58DF34FCAF +:10088000E7467DB7D054A446F90EB8F372E1FD1BDC +:10089000E538862A641CC48FB990F3B9CB9C837069 +:1008A0002EDB6691F1AADB56C8F8E67EDB3D964862 +:1008B000CA9FB25BE3B838520C07412E4FD3F51FE5 +:1008C000A33CB59887F13F36C3A5DBA9E57C260C90 +:1008D0004FDBCCEFBD8C977A701FFDBE23C909BEDC +:1008E00057382AD89C1F47E5BCBE3143D17E895D6D +:1008F000D7A745F5A5386FF6F3299ECD21FC3D51CC +:100900006FC7EBDBB91F72F6B14726CA7A51B2DE68 +:10091000638FC472BF13572A1C47366ABBF0E01EB0 +:10092000F875BA5CEDB73DA0A2BFB295B2BF76BD77 +:10093000F6A1543BDE3D31F05426AA6F413CB81875 +:10094000A208C8F12CAB97F5D66ED3340BF4A31FD5 +:100950007B2FE9B221F185883B147B05BFB33B6156 +:10096000C8EBA6F9329A482FCAC23F5CF8BED882BB +:100970007B2E1309015D889F26108CF978BDA23A61 +:100980008DB69C6BA794319EB3A709057127174FAD +:100990006BB42452BD7EDE7D16F4DBBFA1855363AC +:1009A0001EEE51F12AE0129B5688F197142A2C373B +:1009B00068BF67BD05F77DD7A69D1FCF9921DC577E +:1009C00062BFAE59651338BFD6DC7AAE15716B3590 +:1009D0004F9BF508EF4685E558E5E2B78759D23BCE +:1009E000E2763E4DF36F8B27BC7C9ABE3376B822FD +:1009F000F580F188435F29F588B2552FF2FD89B360 +:100A00002B9FB6E31C64F86FCA753C881C0FC77B2C +:100A100095A548FB9C50F7727CD8575E27C7D57DBB +:100A20004872C5D387E525973BBBC72EE3421AA47E +:100A3000BE67D87FCA5E91F145E17AE0BC95B632D7 +:100A4000FB404AC3F4C0053FA0FF3D3C5EB7F7B88A +:100A5000851BFADF8761FE9D993FECDFD9323E446A +:100A60008F7189C0352CCFAB332DA043D92BAA8CE5 +:100A7000876E72713CB4A1D74CABCBE775289E96BC +:100A80007C34AD4E969BF63B8F1FF7235FD3F597D3 +:100A9000C9E77A303DDED4F5956B107F4AF42869BA +:100AA00089D4E3D85238BDEE9C8C479DEC94F2A0DB +:100AB000E579E15FC1FA5284B4231E147A7CAB99C4 +:100AC0003F2759FD165C08748FAA5BD195E009D0C9 +:100AD0007FA8BD29D087BA80DF17BF88B859B1A5D4 +:100AE000737E9F6C0D5C8DF627BB6DCC87DFC7EFE7 +:100AF0004A7C88DC22CC2561FEDB855BAE4771D069 +:100B000046E7B7E9D1FA79DD29ED53EDF62B1A0B5B +:100B1000CEB5C2777636F4CCE9086AE8CED3F120B8 +:100B20007E2F2647E69F7CF9ECEC9519FFF5EF0642 +:100B3000D0100249833AEC03C6B9187601C8D71B16 +:100B4000972ADCFEAC35998DF29C91D3AD95BE6FA2 +:100B5000989077B20471D3776476FBBE7BB6B38886 +:100B60004E5897D3E35A7E86FBEFB612E12920D583 +:100B700076AAD0F1841B3A3497EB7578E0D12E1F1A +:100B8000AFC961FC32AC1CFDDB6CC4D9DCEEAC2916 +:100B9000C5B83AE45DA907C7A0E81C0FFBEFC2C7C0 +:100BA0006FD8210696B8F87BB83D62568EDC078474 +:100BB0006EEFFAF08E677784DA5B3E34E2B84590E8 +:100BC000CF31F74D4ECE5DEBEAD85F1E98DF93F73D +:100BD000CBF4124B7BDCDA7FC43D91F0FB211997FB +:100BE00096F62CE17DBA81FDD1223BF8EBADD4FF26 +:100BF000F4E576D3BB268FCC8F62FFFE23B7D8F9FE +:100C0000DC649C93A7D99B5F74A475E0E1FDDA7B5B +:100C10006C52EE0532E1BFBBBE3AD28DF5BF6142E8 +:100C2000E9C5A067748E9BDF25F1E6F815BC87D077 +:100C30005D93E7A25EBD83B93FA3F4A4DE4E49BA3B +:100C4000DCF77AA9E22042BDDFCDF1B8517FC304C1 +:100C5000EF608C77E6DEDC433D5C1C576D077DA6BC +:100C600077D3EFB98A606AE87B458525725F3D33AB +:100C700041EECF67F4FB9B425F07536B350576CEA1 +:100C80001E42DAD752B235057686C212A907D8C5F8 +:100C90005B929F93A57DE122DD7EE0CC90F6847689 +:100CA000FB41F68753B11F75E0453BC4F76B62EC1F +:100CB000FC8E4D9933ABA81BC1650D4A82E2E277E9 +:100CC0006BF83C57BEA1F766C48BDCA48F93F89FEA +:100CD000E3BB6BEE5034EC572509AEEB706F20F898 +:100CE000928DEF8BCE5CBA2F93D78B90EF2285AF8E +:100CF00087F28D23783D94FB29EDE4FD6023BD61EF +:100D0000FD818B7E077E0B78385EB75CF3D843EFAE +:100D10004DCD6A504CEF3118F09C1269279B268EFE +:100D2000D8308E69192E05FEC79B74BADDB834CD54 +:100D30003E13763FD8DF07311D251ED62B1AECC394 +:100D4000E8675048BB331BE4FD6D0336E85E5D1277 +:100D5000C3ED95692E3BEE1595691A8F8FE66F638B +:100D60003B48869C7F4982DBEE44FBF3A87D42E151 +:100D7000F55AA010F9D7E7B8445D3CDED5C8657BCD +:100D8000BE779DECC7BB26DEDE1FFBB455B35F44C8 +:100D9000F0B428B9DE687CAC3796133E129CF25E44 +:100DA0001EF69070BC94E9E32D6F88B7CF367D5F57 +:100DB0006F033F4FD5CFF933574E4AC53B24E5BEAD +:100DC000FE0968BFDC2AE7ED2F91FB9E57C7E7D4E9 +:100DD0000D873311A732B53A2537F43D8BF53AFF2D +:100DE000F94BA43C32F032556BB0A19D76BCDE2BA2 +:100DF000E73D5B0B64B2DDC921E7DDCE0F1BF47765 +:100E0000373694D973403F6B69EAFD546E8EEF9587 +:100E10009E8837F103CFD4FED48DFBF47144BA31F0 +:100E20000EA179F93EE7C7F75E97CAF3DA70BF0DF6 +:100E3000788C71BB8AA03F123FF0BE69F08571CFFC +:100E4000DCE8775789BC77BF4B975FC6BE10552B40 +:100E5000D74DF9BAD7199E45EB0AFB61FB7B5EBA09 +:100E60003DFC42EB6CAA6EA7DB642F0D242B1DEB1F +:100E70009EF6C1EA5D9DEC1327753C5EAFD3659A83 +:100E800045CA1323FF8FFABA9B966EBEDF8CF6D04D +:100E9000EE61233F2F908977B48CF246BFD3126462 +:100EA0003DD007FC7258EF0FE56BB8BCC5B077F0CA +:100EB0007AAFB94BDA6F6AEE7A7415F6FD9A9D0A2D +:100EC000EB9DA76A9E7DF55A4A3FBDAF717AE83D1A +:100ED000D2D9A47F603DCFD1F7B9F240E7EBDA5326 +:100EE000E07DA724C46E5BFEAB27B320174FED78DF +:100EF00099E5C507444B95F07AC3938FDA20A78C08 +:100F0000F1CF5CD3B8263D11FB59FC20E831ED7ED2 +:100F10008A6C179F074EEAF39DB552D24B10BDF075 +:100F20003E7ED9CA3281FBDAB392DD6EECDB869D60 +:100F300035C52DEDE11DEF057979FFDB9429E364DB +:100F40000DBA4D4B6F30ADBBF0F9B4E9FD7EA5F3A2 +:100F5000FFF53A9F5D5FB15EBEE7B2A6EC51F43B90 +:100F6000D55847E5E6EFEDF6B27536692F5B97B9D0 +:100F70003A99F54F89EF056AD3809F53B953955B32 +:100F800017A6F0FD567F2AF6EDD9BAFD6B8EAEFF9F +:100F9000CD257C776607247C5B270CED80E73E221D +:100FA000F13D2DBD89DF690B2E8EE0FBA8A7B60FA2 +:100FB00066BBED0D8AA8C6B9666A53A30DEFBC4F98 +:100FC000AD884FC036DA75429AF93E6075AE063B81 +:100FD0006ED709FABCC3F8B603AF72BD6FB2493B16 +:100FE000763B9C2061A3DE54E1E986F52E7C3D052D +:100FF000F6F58E7EE213B401428C996031EDB7466E +:10100000FEF1C5657723AEE878A4E4EB4A6A0FFEEB +:101010009BE363DCA9E06B437F138901E6AFE9BD85 +:10102000E87C8C7D34DAEBC2387A44BB12B02F0CEA +:101030009FA0DB73335C7DF13DD642FA2FFC55B4A3 +:101040008D0C1F047E132272D085F7A907A39A2E58 +:10105000AEFE1EFD2FA3B2E50B8C136202ED20C580 +:10106000BB68D375FCC10F9034A8430F0D9743E1C3 +:10107000FBBB512F9C9FD766CF64FEB265C87564D9 +:10108000CC9FE6EB97713872BE345E8E137D304193 +:10109000C257EBF33F9EE6C9833F3A38C2A1E1BD98 +:1010A00083CD16570DC7E7D256073D5B647BF6DB51 +:1010B000A177FD2247E3F70A323CAC574FEFA1F18D +:1010C000BD8AE375520F3F3E55C6FBFCD8F91D4F54 +:1010D00093EB399822B4CDB93F2C67A7962BFC8EA1 +:1010E00086AD3666B3691D35E8F7621A06F37D8F63 +:1010F000369C2531AEC5911C87763CCDB06F7862A9 +:10110000B1EF1DF3F58F87BFF0A7DA9F6F9E20F731 +:101110008B69511DF7EB31BE63B5BD591F36BE1B40 +:10112000FBF331AD252621440ED3FE1083F5256A4D +:101130007BF3FB28C71A8EC758986FE5F88CF24BE3 +:101140006DB25D31C9C17EC61B974EB2E3BED18D73 +:10115000B56FDAF0BB402B2748F9D3AB7793A71BC9 +:10116000F03789E8862AB19E34F49398E0490BD58C +:101170000BA24BA7D8B14F1E4F0B64C0EE14CC95F9 +:10118000BFF775AC744A11BF3FB8319EDF835AAACE +:10119000B88FC14F2F5645F079AFB2695F069F0BEC +:1011A000938505F2E1785AD3D7EF814F5645BBA11D +:1011B000EFD1F6B106FEBC570BBCBF9AD095DF2F1E +:1011C0009478097BAF50D3F5DB5E760FDF630ABE00 +:1011D000247F07C2F0A3D434AA267BC8EC97A41FAF +:1011E000A5E6D629497847B2E65E0EAA417CBEE95B +:1011F000BE54B9EEBF990DFB47C8BEB37A437E1209 +:10120000EE2D95AF2FBC0FF75853F5DFC3FAB3B5EA +:101210006512F8E34463B7843AE85355F559B8B713 +:1012200054DE783BDF5F3AD118C9F7970AB4490515 +:10123000F8FD9F390FC97BA9EF57CA73FFFCD7335D +:1012400099EF9ED3D74DE5DF0F6C823F67769A7E8C +:10125000AFA8295AFE5ECBF23DA9085DD0E2BC4F93 +:10126000430EE33ED10897BC4F94C2E55D9DDA8FF3 +:101270008DF4E3E5F21E49D56DEF723B9F598E4E1A +:101280009C4AF52BAB9E8A453B0BEE7D73986661BD +:10129000FBCE3EB4DF7E5F6AA3BC2FF569987F6703 +:1012A000FE85FD3B872784D845C2C7F18EEEFF3E01 +:1012B0000AFA41CF4B28BD76AAA41FD3FF42E3AF61 +:1012C000D8A398FC6A37FAE3F87D266F40D8F15E20 +:1012D0008E5713ACB79E50452DFB9574FDC4F8FE98 +:1012E000271DBF27E21A52C14FF3B6DD9F0A3BE12B +:1012F000C918097BB71C9E8DDF17F26EB0E04682DD +:10130000F05A05DF4F9EE5D3DF7D7326987EA7E771 +:10131000E48468F91E53D87D29E35DD893FABB00B5 +:10132000B82F053DEA7D6B6036F8E47DD2377D4C01 +:101330006F29CFDE6F508B647C88C2EF7ABCDFF000 +:10134000544C86B473B03C14BF9771353143E43BC1 +:101350009F55BB496F11D26E007EACF99DADA88739 +:10136000D4AB387ABAD21AB077C607F3757DAA1D06 +:10137000DEBD93D76FE5F6F5F2FD95DDF2FD95CA7A +:10138000A69D87F81EEC9EB2C17C37452FBF70B773 +:10139000C443A468B15F1542EFB2EC84D53D487EEA +:1013A000474DEC39E75E9A5219E87429ED7525D658 +:1013B000B9751948357DFF0EB27EBD36FB0D3EBFB7 +:1013C00056AD94ED5565BFB13A9DE735A98B08A19F +:1013D0007FF444F9EE89519FE6CDF5DAE3A756583C +:1013E00045FD10BE4FC6F7CB6A7D11FC2EC103F33D +:1013F0006EE2FB675D23E43B841F6BDE1E13F9BCCA +:101400002FEF99513A106927714B53609734E29648 +:10141000EA6DD28EE15B1F29F3F5B825E37760FE14 +:1014200013E3967231FE40D51FFAF17854D2274863 +:1014300055F32C1CF5EE219A67A0DE892052F1505D +:10144000F5FE5388C7F1D4C5B930EF87858C1FBB33 +:101450005C8F1B7B2EC73B0AED24239E80ED36015B +:1014600005F438F3FC27838157C49381EF6D75BD74 +:10147000E6C2EF513051A75B4ECB60E0ABEBFEF61E +:10148000775579BFB725BB12B04F0774BFA5EF5B87 +:101490000BE369AF127894DBD7D49F210EACD9321D +:1014A0006010F6C55B26CAF5B771546909D3C3A5A8 +:1014B00066A2DD33B60FD2D09E0F6F32F6A07DBA92 +:1014C000FBF08DA0DF987A529446096151BAF27B05 +:1014D00090770A4B107EF88BF4FC3F137DF1FB48AC +:1014E000A3ECF27DC851FB4513C7ADE7CC74357052 +:1014F00079C1EF0B8A5A2D8038395113EB869ED172 +:1015000043FDE200FCE33D7EAEB821FBA7B77DFCC6 +:10151000F06B027157FE5C9C43BECDF196617C89F5 +:10152000B11FF7FF25F1E39D5A93C3CDFBBC7C4768 +:10153000334FFE53ECBDF9DBD8AE880F0C6659FF74 +:1015400085DA3B83F734DD7807B3DF41BC5F34CA0B +:10155000227F7F50380A3DA67B61FA7B98463B91FB +:101560000D7DDAEBB31E94E33A88F7E5F8DE98FBDD +:10157000FCFA67DC2E8E4B3F133C170BF995B7F73F +:1015800000BF739E67BC73EE087BEFB2D9FCCE79C7 +:1015900092FE3EEEE838F3F9F5CE89522FBE73A2E3 +:1015A000D403AC2E37E319F1D4A09F4B108C71EA11 +:1015B000F734DA9C76695FAE8860FB58DBDEDEFCD0 +:1015C0003ED585D6C39BD08B48DFF9FC32CF9DC07A +:1015D000EF19DB286ECF47745647735C08D359B1B7 +:1015E0005882D097896E4C57E3BEDCE5DF493ADE7E +:1015F000581DEB065E896EFD7F29985EF7A3BD63DB +:10160000DF6EBF63A0C0EF697A5ABD69FFFFD0EB00 +:101610009BC8D86DC053473C29C1893F259EB4342F +:10162000AA4F1ACBC1BD13BB42D509BE88DF6FEDEF +:1016300086D7D2D4FF5172F00D8CBF3D7E33C6A247 +:10164000BFD323E337EB11BF19DF59FCA6F0E11C30 +:10165000525FDB5FBEF3A3A6D581CF82B70AD63730 +:10166000F80FF4ABEDC1F9C7F0640BD10BE287E5DD +:10167000922F5A8FDB743BFA26F27DD85D88BFE843 +:10168000299A53B85CFB3B3F6E07ECB049EDEF4F36 +:101690008BAF610F9EFE486FF67B4536447CBD03E1 +:1016A000FDF80672BCE497BA3CBC73458C50E23A34 +:1016B000F88C5D1B34AEEE3951ADF8BD86EE4E0BA5 +:1016C000BFC7252A0A4CEFE4F6BB52F03AFDE1DF32 +:1016D000A15DC2BF5F1B7CC5C6E7F30DB9725E1B7F +:1016E0009EEFCD7AE5318BFFD77350FF5A27C71194 +:1016F000DFA7789FC0BC54FDF7691FB03438C027FE +:101700001B622C5978B77CC32407DB13F0FBB4C0F1 +:10171000FB867939DC4E3B5DEE8AD1E36A65FE9942 +:101720008A04F97E52FBEFD50663CDBF571B8C0DA3 +:10173000F5F79CD1F5A63361EF299D69C7B3ACFFDE +:1017400043DF5372BCDDAF1CDA916FFC6E6D64C376 +:10175000B3D9EFCAF5EA021DEFADCB5DC3F1B031ED +:10176000166DAB389F0EF75EB36DDF66CA8FCE770E +:10177000B0DC11BEC67DA06BB4EAE6F50E7C6D054B +:10178000FEEAE4F9269C4E2D7A3CB7E8D93234744F +:101790007CEDEFA7FB5A7FCD7674D17231F643E32F +:1017A0005EFD31DB07CCC7BEDE725FFC46978F2E35 +:1017B0004504C18417E9EF22470668DF1B01B99091 +:1017C000EAFB39C12D7817B9FB8F910B520FE8490D +:1017D00055A27BB37CF0005FC63BD5C6FDEEF3E5BA +:1017E000836B6AA87CB8E702F2E19EFF7CF9702D5A +:1017F000C6BFA5BFF7862BBB321939EEBE7BBDDC59 +:10180000BF0CF801BBDCBF8C7A7FD2DFEBCC16417A +:101810001BCE3133482E7721F9BCF44A792E17CBF1 +:10182000C2E4B3CE1FD375FE886CF8E6DFB1AE67B5 +:10183000D4C9DF059DBE2C82DFB79EBECC26D76DF6 +:101840006DD8FBD6FABE64D417A5AD2FFE1CF5C724 +:10185000C8FD64C6BCBF74C53E71C1FA61EF57BB19 +:10186000634B6FC27CFF24BAA4E2E3D1BFA9ECEFC3 +:10187000C9B0266CC27C6BEA322C18D7D1DC6E0C56 +:101880004FB76727808F6FBB52CA9FFBE33CB732CD +:10189000BEBE3BD013FAE0849C521FE03B32DAD844 +:1018A0006F752C37C8F7DE8E4DFDF4228C6B46ED3C +:1018B00061DEBF6618FBD70FE3A72BDF0F9DD7D6DE +:1018C0008E27E5BF004FE3B288A399AF3C0EE8290D +:1018D0009953463B30AE95CEC9DFABB7B42E77F304 +:1018E000EFABAC881EC0E70FF851E4EFDCF8657C85 +:1018F000C9B961224047C099E786884097FF977E23 +:1019000086F3EFB05CB89FD1DCFECC73A3B8BFFC0C +:10191000BE63F7EF4E44BB16B653FD50FBAB976763 +:1019200073FBE7FD6E49FB39DE277FD7B77DFC5E91 +:1019300007FC1F995326F2EF51AC2A17FCDE718A7F +:10194000C75B9C86F5F496CAF13417EAEF1EFD7763 +:10195000691A96BBB8DFD7F4F5946075ED011F26C0 +:101960009408B74F748C27E15C12CFABCBB9444ECF +:10197000530AA4FD6045F474DC4DE9B0635C69D1A1 +:10198000DFADB074FCDE0ACBAB90DF8D6138C104F3 +:10199000DB84FC7D166CE5F2F795D2C3CAF70D6BBC +:1019A0006F5018ECD7E3BB2E0DAB976782538AE5D7 +:1019B000B835CC93F0A41568B9BE103CB5FFFEAFA6 +:1019C000DE9E762E8BE91A7F2E8353830EF85B976B +:1019D000847BA83C547120E60A7EA7FD65455477B8 +:1019E000A1345E8F43B3BA8DDF75255C0FE357BB1F +:1019F000F89EB8D5E95F89FC9554FE1EADC3CE258F +:101A00004493B58CBE4F288E64BB6BC7BD618DD728 +:101A1000F964E1E6F46A51CAE9FF01B4422CCD0051 +:101A2000800000001F8B080000000000000BED7D0F +:101A30000B5C15D7B9EF9A99BD676F600BC3335B29 +:101A4000833A20444CB7B8356A4D9A36C34383D1A4 +:101A50009C6E11151FC806096A9AF612FB08E692D9 +:101A60003A08020A4989624A723C716B34CDEB181C +:101A70006A1F31393929A035369AD693DB26F1D43D +:101A8000EA16238D3D27B734D65B7B6BDBFB7DDF0E +:101A90009A813DC343343D3DAF4B7FE9B8E6B11E6B +:101AA000DFFAD6F7FDBFC75A7B29AB72B2498CFD6E +:101AB000BA363C9B498C3D1B1774066631F6803B59 +:101AC000B83B4164ECA3F1C16F29709F791218BB38 +:101AD0009DB13FE3DF5D83AF8CE98C250FBE2F09FD +:101AE000F0682CA33F3D85B17BF01F9378D9339BE1 +:101AF000B105FC9FD8FED7F03EB49F1C488E68DF2E +:101B000069B4CF1C6AD8CDABF9F3244B99FD99FA8F +:101B10009744FD1B747F50F9EA646B99F73BB37AE5 +:101B2000B726CE646C4BAAE8DF0677A3920AE39847 +:101B30006FF8F1D66D62AC7372C43819D33A3C5861 +:101B40005FABC6A09EBAB109E9DB60EC990B3FE739 +:101B50002E1C83F76B199B8557917546B4DFE08186 +:101B6000763CD7D18EC3CFFCD02F8707EAC932EAA3 +:101B700081FF328B56C705C65C7F3D66BF07D577B0 +:101B80006455DC22A86F41401C725EEDE3602C7A44 +:101B9000E07B2877A5168A3AD0A1DE2B865C697097 +:101BA0004D2D177598A22D1E31C4A0BCC55BE8460B +:101BB000FA6E013A074718FF36A3DF2D9BDCACD342 +:101BC000C5D8639B142A37F858C8150BFD9F9AEFA8 +:101BD0000EC3F7F51E3E5FCDBE7C37D233261EFA0C +:101BE0007D07636B4E66AFABCD1882EE6AE0F338CB +:101BF0004F0D3F95980EFD6950E0FD71C80ED9EB71 +:101C0000BA1CD8AF830C9F5F66AC4F8AE7E369824A +:101C1000FE377AF878ECFD8CC9B2D26F8C3F7AA08F +:101C20003DF82F6E4E82A5DC68F49739FCDEA1E604 +:101C30008DB1D090FC62A7B3C9BF426C1463D0BF12 +:101C4000979F04BAE09A63C1EE2F4079CA1C97B2FD +:101C50004D616CAE54C31418CFCB3F958CE75AEC52 +:101C600074588F7E63FDBD9CE1AFC0F14EF9B6ACF8 +:101C7000EAF0FCE59798F4052833AFC4E2BC8CDDAC +:101C8000C25A7E2301BDB38CF56CF673DA4BEC9C23 +:101C90002B1BAE9DB2657C731597A53C85453C4FCB +:101CA000C3FAAC6526AD1A910FAA4F47FDF0480460 +:101CB0007D9F0C8C49EAFD14FCE3D3ECD348876785 +:101CC000371D62E79D03F5DC827C8DF40DCDA4FE0B +:101CD000E67DBD532C84F2EF36B97F78C41949678D +:101CE000BE2E9FDDE416F07B5FE746519DCAD8E427 +:101CF000F62A51837A26B3AAEE28A0236B67FEFD4D +:101D0000EA407D7250EC467A7FAB237DEFB634BC5F +:101D100076478BF0FE4B1D1F1FFE33DCBFBC2B7DB7 +:101D20002FC93E73DD87922CF2F379E46B17BECF97 +:101D3000F9FFF95D624108FAF7BCA3353A6108B9C9 +:101D400063F28359BE759F68A1AFBDFEE1E4F36302 +:101D5000F84F786F6320D085729EE91D22F25F3FB5 +:101D6000BDE6145AEA391A10E8BBA2F58CAE732509 +:101D70004FAE9884EBCD58D79E91E564BD31CE0629 +:101D800063FDBEF1F9E03FA17CF72669BA03969C9A +:101D9000ECED63387EA66BEF64813E88C1FE019D49 +:101DA000F36446EBAF2E998536433B39B1AF7606E7 +:101DB000B15DE0479732C0EF759906BF4BABE8F9CC +:101DC00065E077099E3BF562D689CF839E2AE47F42 +:101DD000E673F4A0DC57E07F7F4EC77E6F574692D4 +:101DE000BB510CDE37F90DDA8F0B4694E13FA7EDBE +:101DF000B99D3F3FB2F1A7C9970CE440E4FA31AF77 +:101E0000265F460718E79761DEB3CF671E4CDC49B3 +:101E100092237D63703C99C56F7802C0BF677D8B4C +:101E200049AFDC23B021F9E2EC268DE663734CACBC +:101E30008CFD2A75F43915B88E2F0F3A1741FBA582 +:101E400057E6B1CEDB408A5CC9679D8920AFC67476 +:101E500008381FC761AC7BE3B17D28037D17800084 +:101E6000D9369DB19B994EE5588D29FAED586EA54E +:101E7000F79575BCBCC0CDBFF716415D6351EF77D8 +:101E8000E45039A850F9727930795132F2F177A8DB +:101E90009E67BECEEB5DE013A87FA88F705CC3D1B8 +:101EA000E3ACA127C2069F9D4DEB581580EFCE35C0 +:101EB000FEC0511EC19F998B383F2F70C76AB8DE94 +:101EC00058D6AC6BAC1B63FD6625D37CA43A3814A2 +:101ED0001A6E3ECCF7AE356F758CCB515887336890 +:101EE000DCECA0651DDABFFBD2FADCD9382F8FC736 +:101EF000BC9183F40902DD5D409F6FC6C41E453A64 +:101F00009EAD75A9B81ECF3EF20AD1353B0F580ED3 +:101F10009E33B7DBED984DF5D2BAEAAA754DA88687 +:101F2000EF8FFFA3EC0732B1E38F34D2FB0772616E +:101F300061C447F2138B45FEE97A6DC5E60BF0BC30 +:101F4000F81189D67BB8E6FC0B2FE23A0B4AA43A8B +:101F5000B2F5C7A93FD930CF75D0DEF1431DBC7FA4 +:101F60006B183201FB894FA2751C7ECE43EB74C700 +:101F7000A62C9A9FB45A297A0EF427D1A11E0AC31F +:101F8000FB8901E607CAB0C42BD9C4770C155F0AD8 +:101F90006A3BF883F59A74C547F7814F96231D3E37 +:101FA00075B3FFD6DB0107DED2CE883FF2626F2722 +:101FB000FD15AC115494BB3935DF7678A1DE523D66 +:101FC0008EB9F0EA9B9E21CCC4B2A03201AFE748A3 +:101FD0007E2F38042A10C695EF5B44F8246C8CD30E +:101FE000EB0F8BF8DC0BB2A30EE8129EC2CBC7C777 +:101FF000C30C229D62AD740AD7E4756F4822BC10F1 +:1020000040A56ACAC9B08FEB5B7526E7F7B305C078 +:10201000D7F0BD57EB34F81FE806E526E45BE45F34 +:10202000DF77E8FEE5755037D0B349FD380171A977 +:102030004F70F7490AAFD781FDD04D3DAE326C6786 +:102040006F951442BCD966AC03B3BEE3358B739C69 +:10205000D8AF0057F573A51686F51D2F627E974AF7 +:10206000FC28202E280932FFB6085CD361ABE73587 +:10207000C45D2E6C778786ED5D2E86FA70FE3EEC91 +:102080008C4632D8F9F535DBF71DC6F7D96A9F13B0 +:10209000BF77C0B262A9F03CAD61732C945F145855 +:1020A000078EAFB4A696CAEFCD00FE85F23F7CC482 +:1020B0009FBF308BA958CE9642CE68D4C77551EADF +:1020C0007E185193FB70FB07C017EEA8E3ED1F804D +:1020D0009CFACCFF7EEE87DF83F1DCFA98C0904358 +:1020E0009B9C1DFF7200DED79F8F26FDBDECD7277E +:1020F0002EDF049F7F2AFDD0AD7BE17A605102ADD7 +:10210000EFEA4357D3CBE1F97BA2B6F928BE0F0D16 +:10211000ED077A1EC83EFC559CF7CB55B03887C0FA +:102120007DE6B5C9D0736679458648B8684528B458 +:102130002505BE1FBF392D4D9CC3E7CF397360FE07 +:10214000A6C57678E6E078DE9518F64F65DFEDC235 +:10215000F6B2963005F9643839F79A21E79A0C3CC3 +:102160007C6E9397CA99476A7A62890F1DA4F7BE5D +:10217000F5D1FD1FA3CE7FF67F57EE7D0CEAFF4C15 +:1021800046F0A92F4139AAE9C1833F86728FD1EF6A +:10219000B36F875E443A95EF8EA6757887DA3AE397 +:1021A0007DB83EBFF96FD3DBF15ADBA879D501F9D1 +:1021B0009AE1F9D31894C76B9A240BEE2DD3632CB4 +:1021C000B8247BB27D9D70F971E9A7209DD491E57B +:1021D000B9E6C2FE2974FDCDA2740BFEE9D9FA500E +:1021E00026AEFBF0A693ED473271DEC22FBC087419 +:1021F000D5DF95FCFBB15D26C6E2FACF66DE8E3AEE +:102200005C87BA4476D98A92983D84CB1C9DB316DC +:102210004DC5EF952751EFFE0BD61F61E764E9FF2F +:10222000A4098877E1D56002CE4B7DC248F6559669 +:102230002E743AB3F1DAA5C14859290BEA73715EDD +:102240002B9CC44772A16AE079D6E0857E9CDE3C77 +:10225000217D1BCA49BD6B2AEAA7D27EFBB1631759 +:102260003D17157A9ED5B4E7871BA0FCF797B3D32B +:1022700045C0E17F32F4D77B62DF161C9FBE395622 +:10228000DD8F38DDA18B38BEF744A50BF96695AB21 +:10229000EF87374179D5976FA6F9C4FEE3785749A0 +:1022A0009D9719AD1F81ED077ECE05B52D43F954DD +:1022B000E5983D28F75845EBACC2A9D85F81FABB39 +:1022C000CAC5AA0817065B67A13D38B55C7315C27D +:1022D000FD0336F9776CC34A929FC76B385F876BF3 +:1022E000BE736206CE73854472C2F41F1CBFBA630C +:1022F0006A12F4EBE70F38B10BECD4840E07E20E50 +:1023000073BECF017FE135AC3F7301FB1F10DC557D +:10231000B8EE4DFC2BF9D21EC3F552BAD0E9BF5B23 +:1023200045B95E355E817E8C37E8DB6EE855A67276 +:10233000BBAACEE9F7A29D7B2DFC60C7A9F5517A17 +:102340007160087CD8706BD4BA50847ECE37E89424 +:102350005F28F2F99516322109ED49E697809E4EE5 +:10236000C56A17DAEB7379AD76E2F5DA41771402D4 +:10237000CE44D06CE04CA0A91F71AFFE33BE0EE07E +:10238000EF6AF46C9C26AEFF65504F64F4676C6096 +:10239000C80F26EE4C2DE4767EAA53CBC3F94D052B +:1023A0003300C7931608CCC3725EEC9384D3A1FEAE +:1023B00062E2D3E00C0BCE59608CDFB413DEF87C04 +:1023C000E05EFC8EE56B0CE7213AA0707C14E47CA7 +:1023D000605EAF03272D2BC4EFC3DF16711E87C3CA +:1023E0004945EB73571652FBC1D5788D6361EE6F8B +:1023F000D2A01F5307F4F2F62C91F8747B5661F7C4 +:1024000007A86F53B95F224F56A3869A77933F4C24 +:102410007DB6CDD0672D2877A1BC3D75643B68ABF8 +:10242000CDFF12E55004E4FB78B792E3C0F59BC101 +:10243000F87C3902FAEFA07C549BF12CEA73959D4D +:10244000EC93A0BF2D77DE7F0B967F5528119DA3BF +:10245000F3ADF65F5E6E612EE2B4C7C1BE477C335A +:10246000E62E260CC9BFB67EC80E00201EE4432B04 +:102470009F3EEEE77EA93715B067A1DE783FB7B380 +:1024800094FC2A100270EDDCD889784AC912FD60EC +:1024900089B16F68A1932856153F1334A083E25089 +:1024A00008F7B9FC62A816E8EACAAFD2D09E665710 +:1024B000A1DDD9C8878CF8F0CD82BD05288F1ECF4D +:1024C0007288287F64C3DF41FD43FBD29F303F0306 +:1024D000E5FA1CD10F629E9D28C875A74179BB57AC +:1024E00024FCB2BD60C3B156F85EAE8DAB443AED8C +:1024F00035E8D398E5609D249F3AC91FD488EB1036 +:10250000DB7784A8FC6221E7C796FCBD4D19F0DD9E +:10251000635E07AD0F9185DCC827F559DC1E8FBAC5 +:10252000BABBD305ED6DD3CA65F4131DCDEA76F7BA +:10253000FAF07BDE4E4B7E0FD5775C4B880AC3FDED +:10254000C70BCA15E483017CA846E1732773137E89 +:102550007C5C134388B3B6E7E776A663BD8CF501D0 +:10256000F286FA73B549A8B735771F223567B09858 +:10257000B5A0BF299FBF9F37A1A700E9204D1169D2 +:102580008EF2A6146948FF16E01BC4F1F29D567E38 +:102590008855A22DF3E94EB2FA9FA41C91FBB7BC5B +:1025A000CCE0FBA09E0EEDB5E6B8FB3693BC65B162 +:1025B000D323ECF168FF415611E10FB2FBA55C6C2F +:1025C0000F9B3493F77F5B847DBE3D9E119E7614F6 +:1025D000F49E46BDE830FC48D13EABBFC89D612D9E +:1025E000CBE81F8AB0AF1D367FD175CB736715C995 +:1025F000731204289F25653AEA49A8B83313F16895 +:1026000042EA1EA4F3AF0C3988343D3463A0BEEE19 +:10261000F2E0AF509ED9E5B95D7E4707B47F21B99E +:10262000374A7FF968DFD373AB7687711D6C76B05C +:10263000BA9968F77DFD5B683755EB2E05ED9BDF9A +:10264000454D08217D07F0961A8B7CD883821FDECA +:10265000BF747A4C48277BA16ADA50745B5D3D6990 +:1026600057FE6D03E5332551C5A121E487B426D774 +:10267000B518FA13CAE0EBE3E96A4701BED716E0E2 +:10268000D7C4C55C0FD8AF21B5AF0BFD62E5BA105A +:1026900072A4D1759E3684BC1CBB58307152C839A7 +:1026A0009B4404FDA53A836317CF42BD25125FB951 +:1026B000806F71BE9C4CEB4479C7DC9E2C37BC5FAD +:1026C00069BCFFCD98A7EF9D8D7627E8419413A7AD +:1026D0002AD6C868F77E7C358EEC8AC763B25793DA +:1026E000BDC8408E24F16FB414C261F45769F05F25 +:1026F000B4C16FE4BB411CF9A440FE28B3BECBD5E6 +:10270000710AAFEF4F5BC2541FABBA09D74F96C0E7 +:10271000B03F6B8DF513F4707F4918BEDD3C7DA092 +:102720007E939F75D64AFDADFCA9E4DF06EF57BA4C +:102730005F277F891B78C305FF55EA8DF4BD378F6E +:102740002932C539640E4E8DF517519FF067A0C729 +:10275000E50A0945293ABC18DAD144171C87A39524 +:10276000EA49057B5D429CA4313509FA6998928358 +:10277000FA75AA82FB632E6B863FE17545AF463939 +:10278000B021D6BFCD3F14BF46F46392A56CF8AB21 +:10279000ADE552DD65594FA7AE1EFE484239A2BBDA +:1027A000D43A687FADEE3A27648FD80ED523AA813C +:1027B00011E501DB15E18F4E1F789FB57E5373A79E +:1027C0000CCC93BD3DFB77E3CBB5B5C8FF97CB03EE +:1027D000F72F26BF4D672DF93BD07E9E8E6A3C9029 +:1027E0007B02CA65A087913FCBDC1E1DE51D08A0BA +:1027F0007FEDF717A647AC33434E9D37E4D49934A9 +:10280000B63A00EBE2831D7172A4DFEA61635D04F6 +:102810000DBFD5998763E4B288E71BD6E43C8CFDF5 +:10282000590DD531905BA5D556BBACA2C56A97B101 +:10283000706A3CE2469C92483903F888F4D4991AAD +:10284000EE07812BD7131EAE27AE258780FD776359 +:10285000D9E17053DC21CF6DEDC75CC5DA8FBBBD0C +:102860008996F27CF566CBFB0BB226599E67B47253 +:10287000BD7219E419E2A1DF891CCFCAAC8A709E2F +:102880009BB5D2B5DBC039470CBAC2E4FE4449C29D +:10289000F5ECA942BB0A7A41EF8D417C28214E8498 +:1028A000250065C9BDF84907C8C178A60A78BF0EDA +:1028B000C10DFA6DEE65A15A68EFAC9397F5452C02 +:1028C00084F653320BD27B37A1FF5342A81AA22BB6 +:1028D0008C82EA1BCFC2549E880A53C225A8D275A7 +:1028E00012D3447CFEA5F595DF41B996C942A7F104 +:1028F0007E6ECC47E38330AFB92BD5EF3AD163A3DB +:10290000FF62FD8939505EA6FED609F4DCDD787AD7 +:10291000FD1158FFB92E1EDFFAD9E27F7D5E87F7E1 +:10292000A72DD25EC37ACE2C66C427D7F20B0FB781 +:102930004ECE6DF21B7EE16C19FB51E65064C487EC +:102940006716ABC41F655766931FAEFCCA4CF20BEB +:10295000DF783B73687E866FE773547FF9953BA9F8 +:10296000BD2B01ED5DE4EF338B396E7BCB194A55FE +:10297000489FB3B09462D11367F0BD61F504EB2BAF +:10298000C1F92B03B9BF0DE55895D280F6759D5F4F +:10299000267966978765EED4CE87E8BD58BF6BCEA3 +:1029A000E075FC0729F02BA43B7B9DA9A67D81F651 +:1029B000DF59C3EF67D2C15C57E67D3B3DAEB54EF4 +:1029C000184BB0C9D17116FC752D7ADBD7C351C332 +:1029D0006F74CCB05FDEDAA45AEC021676C4F7BA94 +:1029E00007E4C3F0F8C4C17A23FA3578FCE74BC892 +:1029F000FF58ED52507E9C89E2F6E3F5F6EFD79F43 +:102A00009F975244F23655217BB79F0E5C6EF5CBF3 +:102A100005AF40F37D37D31D9C295A1D917E1B7B4A +:102A20003B1F7BF67C80FE4F2679AA5C770C3F4EDD +:102A3000532E98E5BA28CDEBC7B8B373E8F114ADBF +:102A40009FE72B22BB797EF77793461F2F6B40FFC2 +:102A500078A47D66FA851C0E1ADF51EF4D7B23FDAD +:102A6000B4F6EB5141FD0A9A5E0545EA0B0ED0EF34 +:102A7000B998607107D221F37EB4BF72F38875D81C +:102A8000BCA25B5ED03D6427E7633FE13EF7F3689D +:102A90004C437BD4A1287B51BE029E9D8B742F2C6E +:102AA000E272A5A850BB1BDF37CB630BB5F991CF02 +:102AB000DF08680B229FC35F9B68C571854523AC07 +:102AC000CF3F48DAE221E779943879FB2675C707CA +:102AD0006028663CE7E1F1C3D39C1FF45C96551572 +:102AE000314F8913FCE7D408BF6B627AD5343FC9F4 +:102AF000B1AA4F2F8EE017336F22A1406328A77E23 +:102B00003786B54A11F860B933F84011C5DFE704DC +:102B1000B1BD877A0415F93E71A19F3063421EF75B +:102B20003FD521DF0F31EF5F2EE276E4D8226D43EF +:102B3000D1AC8171242C58D8590FF56D01C9837E11 +:102B40006CADB88A0DE57F742605A91DA06B0DF646 +:102B5000C3A104A82C79787FFBED8CFE2BE8C81468 +:102B6000D4935CBEB1401AC503B61878658BB29D8C +:102B70006D04BA34A58A2101C671FA731DC5384F98 +:102B80005B04D1BF19D789A6A9492903F2719AAC70 +:102B900074961B78703FF05D6E6C935606E566CDBB +:102BA000EDC7382D53650B7EC21A10179BED377A8F +:102BB00032A8FD26681FDB6BF6383A63A0BD66E6D7 +:102BC000263F46B6A7E318DAA5D91E871F7D41A781 +:102BD00037BC38A5DC83F6AC4C38CD5EFFA1228E25 +:102BE0009332F50F0F1EC7718505CAE7294EEE21F6 +:102BF000FFF0A5D32E8A834885A0B7685D55511E86 +:102C00004AA367666CA4FCDCBE89FB239B0C7FA4F3 +:102C100074AF3F84EB22B180F7FB2177F0259CAFA6 +:102C2000C40211063420A7A3D468A645C8F1E6293A +:102C30008A8CCCDF3CE618C5C51E8D628A0076679B +:102C4000D9CCEF13AE6EB90FEA461C0E7AA87326E4 +:102C5000F9BB78BCDAA667EC78ED94B1BEEEEAFB7E +:102C6000F5C1E34903E394524C3F071F57A67EE8A2 +:102C700018FA4BB6781C0CED8A6BD1E1F486FF791B +:102C80004C83E74F3D26F1B6464F8F1F23FFFD7B58 +:102C9000D18321B81B45DC15ACA220AE4349F6AB6D +:102CA0003322E6FB43836FBE5EA49DA77538CAFA44 +:102CB000DE1ACF74F427366F8C21BBB0197D0AE879 +:102CC0007FDD3886FCFEF6EF2E15717BF817955ADE +:102CD0001FB6E358AA1A725291717D97551F7F1F34 +:102CE000E30ECDC943CB8BDF1BDF3FBD56BB82F468 +:102CF000169732EAC7A97742A9180F782620ABE8C1 +:102D0000A79AF6E8C712DADB8D0BF93A6EECD870A9 +:102D10002C0DFB95EA203FDA4B1D3D84475C517E2C +:102D2000B2EBDA6A834F2C475C3B5EA23899EBDE4C +:102D3000C27963717E54C12F42F99996EDF3C62191 +:102D40009FF98519129485A509863C3959807EAB77 +:102D5000B75333C86EED9A992E603ED6FA02467686 +:102D6000CAFA7D02C52516A6CE7816E32E6752BB99 +:102D7000A53878FFB719C1D98CEA9178FE5DF00AC1 +:102D8000E5CDEC9EC9F5C1FB35DBE7A11D78A98532 +:102D9000A414BBB325B06C1C94EF2C9015BCD1953A +:102DA000944E71CF9D463ED3CE7D8FB38DF0FCD136 +:102DB00016EEC7755C919806F851BA22D0D5E13865 +:102DC0009987ED26AACCAFABE8A6B7F269C9C28E47 +:102DD000230EEC7FC9E453D8DFE67B658AA73FBAB0 +:102DE000101404D2E1B730436903F2CBF4A73FAA31 +:102DF00076BC8F7EC7C61A99A17DB043F0BF85EB24 +:102E00004D8F1715A4E3E9CF717E7866AA4CFCC1FB +:102E10001CE105388EE6DFA72BB85EEF111F3C3AA8 +:102E200016CAF71C14FCF550DE3D755EE73A1C57D8 +:102E30008EDB4FB6BB32487E92FC36DB37E5F7EED1 +:102E40009FF2F8EFEEA2271CD81ED4D527C0BCAE47 +:102E50006F3B773F8EA7A04656912E669ECD17CC2E +:102E6000EF59C7D1B5F0FE17BD1243FCEB6879B737 +:102E7000E1D3F0BE92EBEE93BC83DBFF6C9FC8F412 +:102E800008BADD75259AE911EB3B87255ACA79EE18 +:102E90009B2DEFCF5526599EDFEDFD94E5F97CF58E +:102EA000364BB924EB3396327BC949793C0053A8A1 +:102EB0003FB5AF45939EDFF97702F1C11719CFF304 +:102EC000A1F761BCEB420FCEBB0FC65769E40555B5 +:102ED00076382D793C3BEEFD9A8C72667BD0437A36 +:102EE00076ADEDFBCA25D63C1E5732F79BEEF4CAF1 +:102EF000C467EF953C54827ED886711E86F19EA6EB +:102F0000D2E017972463BE637E16FA5F762A01C566 +:102F1000CFED146FC66C63C9908B511E908B283710 +:102F20004A5CC427BB37B21057AE3017293C251175 +:102F3000E7E962EA07B5B7423BCFE0BC2AD8EF67C2 +:102F4000BB6E453FA6C0FA7826864CFC8C2A11FB46 +:102F500039E1B917BA5E48A279AC7291BF36E04642 +:102F60005C9EB25054904FC655CB16B98C6DA811CB +:102F70007C2DA5AEA96D46BD0E748903BB6747CBFA +:102F80000C7D09D7EBE49F66C5FC7B68D28DF3E02E +:102F9000CAEC6842FF74549283D84A6A7359D69730 +:102FA000391E1A3F8D2F703407FA93A0930F9CE8B7 +:102FB000A147D063F723FFE749D14AD776A26B4BED +:102FC000EE3ACC074950759DF2270DBAA2998EF7BB +:102FD000A30C3A98F568E941CAA70011D047FE5EF4 +:102FE000E3F96C834E0D42F07DD463FA129EDF67E5 +:102FF000A78BA388E931405447B16C198FA45BDFDC +:103000003BB024DE82AFD04D40EB2DB23F12DEB795 +:10301000F64F0E3E17C0FE3D03721DE7E5C0631F6D +:103020007761BCA5B940ECE703DD5CEFC2E0FA0EC6 +:10303000FB388EAE57B99FDDFE1CE8BC15E7C5E92D +:1030400075A8289FEDCFDD8E808EFE9A54D0B3896F +:1030500030CFBEB11FACA0F8F02332CB84F69CAACF +:10306000759CBBC7F0FC9E1DF3B91FB304E443E499 +:10307000FACC5EF804D19BAD03BD0EFAF3DD253C1E +:10308000AE9E2E77DE87DFA56F8862180FDA09E320 +:10309000C5F98D7E308AC7E399FFC91828A78B63CD +:1030A00018DAE53B9CEAD85658373F99DFBB19E35D +:1030B0000ED163258688A5FA50D56EC4874C7093CF +:1030C000BD86783018A127B3E5BEB1E817D85DF208 +:1030D000C75328D7F457DDA4EF0030A463BC731A9C +:1030E000EA7F8C07A5BEE32E237C54ED46BD5B3CF6 +:1030F000FE1D37E6955C6A9188CEC3E97D3B0E7A6A +:1031000074A14AFE3FC24102E1A05F2F19052E546F +:1031100099B61CBF33FD1065EE13445758508A8B87 +:10312000FCB2569C6DC73F42E0FBE41FDEB5D6C043 +:103130004B6FF8DD2E9CEF1BC4454A50139712FFCE +:103140005A71C870FECB41F6D928DB19354EFB9277 +:10315000D388DFF178DDF238B7510E50D95C67764D +:103160003BA6DED083F549563B669ADC497E6596E0 +:1031700020AB88CB72633F24FC03F695E222BF7636 +:10318000E7D457F0F9FDD133501EB915B02F70DCDC +:10319000D7B25FB2D22DF6CB96AC1EC2E3DBC2C271 +:1031A0000C7CE5C06B0F4F8CF4E30E57AF9D0E4DBA +:1031B0004E764898C6D8E2A5691C1FDAF841508FB0 +:1031C000FE1EEBC9D49B38FFA6CD20FF8F1DCF6F0D +:1031D0004B9D31A25DB36DE1201C7FF7D251E0F829 +:1031E0007A03C7D71B387E1BE278A0635916E7CB5A +:1031F0001BC5F15F413C3BA25DA3F371A9DC8ED9F5 +:1032000086768C8A743846F3D7B42E9ADB7B7F3966 +:103210007AACFFF7A487B9AFE55AEB255DECDCEF9C +:1032200041FEFD6717E5F5389051E0BB89577FE017 +:1032300046B9F787653C7F6A9BAF302A87F4A6269C +:10324000603E5AF4D4836EF40BEDF48914BFDBE9CD +:10325000EB7E07EDED665F6EB2A00EB4D3EC3B588B +:103260008071D29D45B94E29E2FE4E072B18CAFF48 +:10327000C58AB93DD55B1A7C7C295C9B33B81D0F90 +:10328000ECCAF31C54AE47D2EFD128CF77D55BC13F +:1032900089CA08FE4BB3BFCD494C75C5617FCA933F +:1032A00051EEAF9810DCB904FBB588F96B55BC063C +:1032B000C416A0430CACFB02B40BBA6EFF08ED843D +:1032C000E4800C7346F5C4CE82F59B67ACA3B6F1DF +:1032D00085D48F4B3E46FEC9A553C384975D45B246 +:1032E0002AA21F31D59F7F1F94938CBCF3181626FA +:1032F000C3F897C8379307F067E36FB8FE4DDA75E8 +:10330000AEEED350DF5AC0492AE2240FC7ABC5F056 +:103310003F9CDF9850D761F48FAC033CAA417DEB12 +:103320007659F1E8E76CF8F34E8C9767E3D59A6F1E +:10333000FEEA5223EF67369B8DF2F757B8FF01156F +:103340005DEB37037F84F1DD872FC2FDFB0DFFA10D +:103350009D9EFAFADC4EE4EB33D5B78D986FF4D628 +:10336000A6392C1FC0CCEB305EBCBEF5773963317B +:103370008EDE56CBEDD33760DDE0FDCE4D0A5DBB72 +:103380003779E97A6493CAF233D18F9B45D7639B2F +:10339000FC74BFB27A01C338F3FAEAF92C1F40D9A2 +:1033A0007DD58BA93C79B968D8B17D12E29F369F53 +:1033B00018223B76516E5426D23749F4234B5FCB0B +:1033C0008E7DB37D4B3E2E33D7D4DC28E4EBF50164 +:1033D0005143BE5659A71487F582DD89F2E14CE0CE +:1033E0009D3C2CFF560D221484F6B91FEEAEABA502 +:1033F000CBD0CE4DF6C9649FAD2FEA781FEB4FF2CC +:10340000013F4007EE0C74BC5F0EE53BBDB25F456B +:10341000B9137C5FC2F96F03FBF029C4F142EB3CA6 +:10342000B4E7F43481219FBF1FD89B812AEF525605 +:1034300094C68537D87F50FED11591EAB7D37B9CCF +:1034400061B7A6A0DD0A7419E708509E500AE0A5EE +:1034500048795352D491EF54D15F178842FB62E709 +:10346000BE459467B2D3B7348AF64109814026D964 +:103470009B1D5EDC7F66E66D35977C3A80F46C1BA5 +:10348000431282B54DD1C6A27DD43C96E77DDEBC09 +:103490008CE3D8E6A9DFF7A21D2B278A8244EB86AE +:1034A000EB3DD31E896A9D4C7AAFCDF01BB61575E6 +:1034B000937E7D0AE8847A900516450DE5AF1CE7FA +:1034C00033F4DFBAA1ED5AB3FE9D5E1FD9F74F1951 +:1034D0007A7538FE1CAEBEBFB49DBA7617B7A31F6F +:1034E00000B980F688DD6EB5DBD5763B16EC6CB2A4 +:1034F000434D3BFBDA76ED3F37A01C69CE71F7B93F +:10350000C82E0DCAE3D206DBB76B7DBDA7D1E8B3E9 +:10351000DBB56B8D3C1BBB3DAB2DB3ED4B01E646E4 +:10352000BA27F157D8A98ABCDA3DC8AFE877A63CDC +:1035300020AD16F570F2D538EA77F2BEBCDA2EC3AC +:10354000AE44BBF054C5E2DA2EA0CBC7869F3AA9A1 +:10355000C86A2F34088CFBC38C78E9CF1FC8CBC94D +:10356000C175076A99DE7FBDF78F98B79264B38BF8 +:10357000ECF90D6C5F843D99CEF3852CF62BFE990A +:10358000B88CA7483135C5B00B91B7BC4F69686F8F +:103590002A22EBC3389EDBDD7212E5EA88F5F07D66 +:1035A000AA84BB4CFBD25DF1B71AFA6FF07EA1176B +:1035B000DFE3DF03A93A31EF8265F071C0A3A3D83E +:1035C000CF3F2D13FAED422565A05EB757D6A2B2C4 +:1035D00007BEEF1FB791AF41EF0903CF1D46FD9323 +:1035E000DBADFD9D16DBD7D38C9397CDF307631C22 +:1035F00056793F75396FFF4E43BEE29FC3CC7710BB +:10360000315FB8AA6129CA2BA00BE6D34FD965B5A3 +:10361000DBFBF1E832AECFB376C976BB9EECEF248C +:10362000833E83E791B747A454F1FFFCDDE8B7C8B8 +:10363000447B1CE31AE981CD584E36CA763F863961 +:103640008F138CA999F4D28ACD2FCC8CF46B048B78 +:10365000319F7E628011EE9BD466ED5F4AEAA55AE7 +:10366000A28FE1C76810C202C6237581557D0FDAAB +:103670009B5063A5674AB1F31CEE2B4D41FF45C437 +:10368000FD1796C50F8E9F0C618FCBC10FC97E6E43 +:10369000F3C9DC9E2F34FC45EB98C59E277E02FAC9 +:1036A0001C2E3AF83E3EDF1A90296E14EDECE3F63C +:1036B0007F9148F95A83F863907D6F2F77104E4BB6 +:1036C000417B9F0D7E3ECE11ACC5FC8D017BFFBBC7 +:1036D000DCEE047B3E138698B2CE4ABF920CD92210 +:1036E00007B3034FF0F70DFB3E6139B74FECF67DA2 +:1036F000B36FAF82F82C5BEEF02AA477FE91F4A6AC +:10370000DD1EEFCF27C620EC28F66165EAC5811CD7 +:103710008E0F68BEA7C97A328E97FD98C7F19CF1CB +:1037200061B21B9CE704D267CDBE1EDA6FE0FCC518 +:103730004D7E248FE92FB0E37EE7BD2AF71319767B +:10374000BC1DEF831D707159F260DCEF5CE48FC526 +:10375000FCF30C5655FC89ECF9541EFFF84BD9F3D9 +:10376000ED465CA1D1C0CB8DA91C2F572D53FAE398 +:1037700081A89FCD7808E004EA6FDD7C45403CCE0F +:103780001C309FE88FD930361EF57BCB521E7788D0 +:1037900015B5ADE8EF06D911DE8F7C1ED87B01FD93 +:1037A0008A4B97C863D18FD3162814316F3529758A +:1037B000FBF3A827DB97BAE9BB9D8B54C20B31A062 +:1037C000CF87C2E58371383C231C2E86380E67B440 +:1037D0008E927C1C679F7A274C71854637DF8F65F8 +:1037E000E2F1C6D4BD47F2B85D4FFBA59276EDA9D4 +:1037F000C7F7D6CE618A1A8FF85B2061B5CEC34277 +:103800001AE2CBF11F1FC3F845F33EC12F403F9A88 +:103810003B0AC506C2976208F1D3FBA985EF615E3A +:10382000EB25C08348B56F247DFC36EAE5C654BE5F +:10383000AFA179CC490D714F731AF36F467E130017 +:103840001FA23C1D2B933C1E8CE73401F9252560FB +:103850008B3F043A1C88E71A158DF05C9BEF6BE4F4 +:10386000E768130227D390691CDA58DC97C16C38DB +:103870006C6D583BF5551C1FC89B10435CF64A3BCA +:10388000D2B5CDEB6184CB5237CB38DEA760DCF10B +:1038900002C623B87DD3B84856295E35B5322B12FF +:1038A000FF8F4BBD317C06F8E7DD2CD3BFABE2BC0C +:1038B000562E64D9A3A8B788E31337FC8FE39E87FD +:1038C000BD98475D9265C533522ACF1FB6DB4B9238 +:1038D000611F4936FBA8A4F8BF08CEF1FFE7C03945 +:1038E00099CB0533DFE3DF16E72CE53827D986735C +:1038F000EE3270CE239F10E7EC2FFEB7C539495842 +:1039000056F8BC5F27CEF1226E9958C428CE3A08EB +:10391000E7D40CC23939888BAE89736CF3F26671C7 +:103920007CFF3C8E0AE71459714EE3703827B5F0DE +:10393000D450386767EA8DE29CC08FD2FE8A38E7A0 +:103940006F86C1393B8B0A03B8DEA217891417CFE3 +:10395000960362138E6B3CF75F148F2F5C8E76DFBD +:10396000A5436ED2173B4B4A14D4973A3030D9E76F +:103970008CE395EC9E789AD76932DFC7C8CEB82819 +:103980001E65E294B640F7D45710C7AC1FE7C77660 +:103990004CDC92E0089C447F65C242D2FC43E116B5 +:1039A000B67C44DCD2F1C9708BEF2F8B5B98AA51A7 +:1039B0001C689511076A33F26D776E7587EA815E30 +:1039C0003F59D29B8BFE38331E345C7D378A3BDFF8 +:1039D0005D663DEFC6ECD7A3C58AB12E386E3A536B +:1039E000A4652DBF8E3C115898F3EE9F49F288FCD8 +:1039F000BE95FBAAE56828BB73DC1DB8BE2BF73D5E +:103A00002C63FC49D9E06628B72BF7D550D9FB9039 +:103A10005BA5723F7FDFB215D787CA2A64CC37AD6A +:103A20005CE73CE784755CB9CB6AAF342D63D4EEB8 +:103A300094903CE4FDBF767FF617F37657A5ABE98B +:103A40002824ED71BBB65701EDC4E17C577929EE0E +:103A500037BEB7BB2C629E4DDCDF18E0B8DF19AF74 +:103A600037621CD02938AA70DF69F1F80D1417BC31 +:103A7000C4DC55189F8675487140586FB4FEECF34E +:103A80006FAE2B331ED8164827FCEF9CAFF078732F +:103A9000BF5D1050508E26B650F236AEA72F2C1FA9 +:103AA000457CEF3FDABAB2F381391FA3FDBE4BE785 +:103AB000FB00B53E8EBFE14AEB32E70A237CAEA0A5 +:103AC0003B11CAF3E0B99A86386E1CC53D3A93059E +:103AD000761394E74927A42A68AA6B8E4B7171BCB0 +:103AE000F537D323FCF05D270097C2F3CF092E3AB8 +:103AF0007F288FBD29E13ED6A3A0CF18E65D1B7EAF +:103B000074F3FC96B9DE6BF9CDAD78F008FE03C610 +:103B1000195A6EE0C2196CE60DFACDBF85F33FF17C +:103B2000EA0F683EBB0AF8790E694EE91E3F8CF732 +:103B3000E00951C57C29B8F27D02552EB2230E9EB4 +:103B4000E87EC707EF1F3C362385E65C4924B9733E +:103B500050559B7DF85E934CF2FEBBBB161F5F0E6B +:103B6000D7EF87BE1CB302AE87F6ED58805773FFC0 +:103B700073E5934EB2A3BED3243F83F6566FFBA4E6 +:103B800018CAF734ECB8D546DCC7CC6FFB8181CBC3 +:103B900012971AF2AB3A99EF8FCE0A9D463D74E622 +:103BA000EB828AFABB54E9730AB4DFE083074EC3A1 +:103BB000FA2F75F7CDC53C13F7E6F3BEA3F07E29C7 +:103BC00062903B187BFBD42F5FC2FD06FF50A91DFE +:103BD000433AFC6C39E7A3CFAED5DE423D63967F16 +:103BE000BC563B11597E60ADF6E3C832FCB547596F +:103BF000F3F67FB67CA4FD5D371A9736C67B2DFEA3 +:103C0000DE2B74FE1DC6CFF4532E86F1E1B306BF42 +:103C100098EFED5D9966397F00FEE2301EB5624295 +:103C20006B2CC6112E082C5C0BD735FBD62CB90398 +:103C3000E6EBC2A38BC80EAED4B9BD7BA1EBF6BF39 +:103C4000C77CBAFB00DF2326BA58BB781ED9BB2D30 +:103C5000406578BEF451BE7E2ADB8410C619EE6E34 +:103C6000E7766AF08A99D7618D5BD9E34FE77FC326 +:103C7000F7E7066DF1A7037240C67843788FC0B6A8 +:103C8000C3A779FA9B8771FFD651588791EBCA8CED +:103C90004FDD683C2A66C5278E4725AC8079B8542D +:103CA0007D9B970D110F37AF83E251E35B69BF1422 +:103CB0009EA38672FDA2F3C6E252F757E7513CCAB3 +:103CC0008C4F3DBFD2CC4B743F8D7AE53C186F28AA +:103CD000C7C382FEF61CE493B7258AEFDC73A86A9B +:103CE0001EDA7566FF82C54E7D32D0A7C2B0FB0FCB +:103CF000BCF6023F9766CA140DD76B85232823EEC6 +:103D00005A63E42596B47FBB7E2CCCE797CBCB6778 +:103D1000E1F8D7B44B16391DD4A7D33EB03AA1353C +:103D20003F01F5D81681E4C43D62AD2301EABD67C9 +:103D30009BE0AF578D4504CF7FA44B7B703DB3957F +:103D4000DC5F73A9FAF051ACDF1E9FE8E79BEF0937 +:103D5000067F9DA4BC3FE41BB4572AB36E67F911DC +:103D6000FD3820571DC5FD8EBDB7BB14DC1FFC857B +:103D7000F687E448F93C1F946E7EA43D648B670C83 +:103D8000CECB2BA3737B06C72DACEF2D5D61B5E3C6 +:103D9000A7C5AA0D98E7CAD2391DE6D7973D7D1C65 +:103DA000D753C56D9F9F0DE5D92BB99F16ECEF3802 +:103DB000C417AB5C9DB3DE433CFD0D17D98DE70501 +:103DC000EB7E8DCD2BB97C9CBFD2B01B354F10FD47 +:103DD0002BE5069D2EEE9BD48079A5E6BED172C35D +:103DE0004EF19AE3AC8A97D1FFB306DE7E6A3A5C65 +:103DF0000D3B7FCD60FB50437B97EA25BBDD6AF727 +:103E0000971B76BA59FF2A7801BF9BF68657C67969 +:103E10005ABF50EAC4F86699DD0E0F435F52A87D81 +:103E20005A5F66BB60476B917636B53B69A07EB33F +:103E30005F83ED6CAE47D63BACE72BBC6CD0E90F93 +:103E40002B3F997DFDF88A91ED6B1A47FA90F4DBD0 +:103E5000D7BF8FD5F8437BB9CC9827186803C65DC8 +:103E6000619C554F0D1147F8D473D671DE75755AA4 +:103E700003DACB6BF07C3878BFACC9DA5F3938A78E +:103E800001F30A2E18EBC1DE9F3CB715DFE27987FC +:103E900091E5BBBDD6F27CD535C8FFE236E72D6D86 +:103EA00070FD079E385F8EF37EB1C5452031E4E09A +:103EB000FBA72FB44BC63E6E6E5FD3BC0E619F9FB7 +:103EC0002FF9EC1994F326EE3DBC6FF163B743B9BB +:103ED000A7C6A9F2739F06C50DF8B961B90A8BCCC4 +:103EE00093349FFB1EF99EC57EB63F2F01FA45C64F +:103EF0003377A2BE043E39ED54C94F707AABACA003 +:103F00003D7CA14D8AB69C235273DB35F433F7FB1D +:103F10004F935B5753FBA2E847BFB31D3F9BF95C30 +:103F2000E78D7CAE5546FBEC75457B18DF37F62BED +:103F3000875B16937D1EDE27EDC58FAB0FD5EC7E1C +:103F4000111E17EF3F4CF94397D645939D3E90378E +:103F500014E0E716B5DD161BB96FCB1E3F080FCE78 +:103F60001BEA5B318ABCA15ECC1B8275D98B79437D +:103F7000D82F336F487FE593E50DD5248E2A6F68DF +:103F800020CF8E9FE3339067E78F8DCCB3AB30E8C3 +:103F90006CE6D9F51A71FFDE96C31F613CE08336EB +:103FA000972AA4A1FFF9978FA21EB97842223BCD90 +:103FB000AE77508FE03AEDFDB640FEF28AB6571A62 +:103FC000304F4F192731CA376F750D996F67B67F1C +:103FD000519F447EE70F0CBFF3B5F4D8BAD08347A6 +:103FE000711D98F9DF156D5C6F29E59E2A69CEE099 +:103FF000F64A50EF45CCD7F5EAB56BE933FF4AEB0B +:10400000793DD7D267AB56F0F3C94C7DC6F23D156A +:10401000A3D14FC832A41FDAE31BD06F380AFD9436 +:10402000CF668F5E3F551AFAE92B2B18B72BAEB728 +:104030005FADF132F6AB1CFB05F2A41CFB953D58BD +:104040003F99FD32F582BD5F6BB05F11E3A9C07E81 +:104050000903FD32F308CF9B79848F49461E612BFB +:104060005FD7FBF87964615B1EE145CC2354512E88 +:10407000DC46FB35FF02F260C3CA51F80DFEBDE518 +:10408000C175E31F3D5E768C6E1E09FF8C761E8324 +:1040900036FEAA130284C3F5DA310CE5FF05C0EC45 +:1040A00028072E3EE822BF200C3817E5FCDE9D22B3 +:1040B000437AFC6C05DF9FF493FDAEE8B067F4E350 +:1040C000DFB25C7B6625EAAD1F05272A43ECBFFA09 +:1040D000108D738B7F90DB81AF2ED75EC0EF464D86 +:1040E000E7BFB8FF8DEF0FAE6CE2FB5D2BD76536F7 +:1040F000E0FE0D947331DEC1FE38766DBC65C357AA +:1041000056FC75D7D58984B7D620DE1A229E61C7A2 +:104110005BFFD1F115CDCC0878EAF03EE91EA46F23 +:104120004F9BC486DE673172D9F417F56AFC5C5B7D +:104130003B3EB3E3A7D34E1E8F3F0D784B87F7F777 +:104140003A037F83F86D6FADE80744843890E6BB8F +:10415000F455F71EF4BFF91E71527076E7CFD7FE03 +:10416000BDEE18ECEF1BC57CFFB7C6D7FFD5E67FC9 +:10417000B47268E01C47E3FC0EF6E1E37743BD75DB +:1041800033799CF1ACA7BB90CE7F0930F253F55444 +:104190006F277C50FBDAAFB64E9E89E70E3BE87C7A +:1041A00025F3771ECC73B75CEC1CD573B99EFBEB83 +:1041B000EDEDD7C7FA05CC7348ECBCDDAD8E81EBD5 +:1041C0004C3F9D03E72A129582343C0F38B015BF4F +:1041D00077AAA25A00F51F567BDE46DC3971A6C8C5 +:1041E0004C7FD8F4887C03B3DEC66499CEADF26D03 +:1041F0009CE9C67CF33A4F420276ED801CF0A29F08 +:10420000A8CEE33FA622DD0B449E87AE0472CA927D +:10421000F03CB9DB28EE3F61A318C0EF9FEEC888E1 +:104220009522E47F4F75BE5B85FBF505FCDCABEDAD +:1042300005B9EE35509ED8C9087FBA0BB8DF3BEA06 +:10424000889A83F9222EE06B0DEA3BAC707F665BA7 +:1042500006F7E3B9524F32CC577232BE6F6F4C60E3 +:104260007BE74328E7EF702918B71D53245BCE0185 +:1042700071AAD673D1126CE7334519FEB828DBFD5D +:104280004756197E931BF7C7D5AFC27CEC09AD53D7 +:10429000D12F9A5220D3EF2448C5AC1BE721B9494E +:1042A0000ADD0D844DCEE2E37FD48877B62D9A3EA9 +:1042B00016EBDD3EFF09DA8FBBBD580CD1BEDFA681 +:1042C000C53968276C85F1E17ADC9139F2EF5E60DF +:1042D000DE0C9EFB52561EFCE6AA087DFBD43A9EDD +:1042E000C774A9E23BAC13E4D8A9EE0E1DF7F9F7A9 +:1042F000FC318EE924973AB43549B41448AF8E2B7B +:10430000FABE761FD98B3C8EDED3349970758C2D16 +:10431000FE1BC3B49FCC867E9D913B74F4EF9D1130 +:10432000D9C95AA82FC6C0333183F10CF346E4E152 +:10433000F4FCF199A880CF103CE6B97930F531331F +:10434000E573383F76BC1363E0697B3F2CDF4F4257 +:10435000FFCF21EDFB33A91D355119E847BFFF27DA +:10436000C8FB61BE6F3EB7FB7FECCFCD714CA9D0CF +:10437000BA56CDC273CF38EE547D4A03EE333DDBDF +:104380009F8FC9F506E525A4E3D52A47CFD4243667 +:10439000609E420FD017DBDAB1F592D3FCDD0C162C +:1043A000E12788CC73C0DF7D091A430DBEF4F19676 +:1043B000C8BC85A737F1F33688AC11F914136BD854 +:1043C00051DCCF3A0EDAE1FB5D01EAA7D0B94AF43D +:1043D0003C586F95FF31D533BAF13C2A587E5513BE +:1043E00061DE27D5D89F3B74D730F4779BF4123821 +:1043F000BD22F7A5BE59AEFD12F97187535B8E71D0 +:10440000E81D8B644557713F6E25EDB39C542CD24B +:10441000CFD54C5236D0B9922C5564992A7D4E7620 +:104420006CB3D1C613C5DD643737AB2969186FFC8F +:10443000C62AEEAFB59F6316A3F2BCA97EB9ED1BE9 +:104440003A2FCB3CA7B16DD12D848B9BC13EC67A50 +:10445000875B5F66BDF6FA1696071C25D08F7AE556 +:10446000209D1F324DD68EDD85FED31491F6CD757D +:1044700027F17305B6168B7B30DED098B181F655E7 +:104480008D29E17EC12DC5A2E13FE0E75E3616F041 +:10449000E7CBCAB5D8127C1E30ED283FED5300BBE8 +:1044A0002809DB33FD3078FE04D2CD3C7FA2BEFE6E +:1044B00020E9C146B4D5A7E3FE8FAFF0FD1FA0579A +:1044C00090AE8D1D49D1193E3A5F87E47226F3DE26 +:1044D0009385F2BC297E3AEAAFFEFDE1E315EAEFEF +:1044E000BD259CCE037A4FA7FE3515F450FCF17222 +:1044F0004056B9FEE7FA25C198AF84C0D774F42BB3 +:104500001CC5FDCFDE083DD6AFEF160D79FE5C7DF4 +:104510006C2BFDCE4E54138FEF4C545808F55B5E58 +:104520008D4672A914E3A17EE4EF1CFABD8A49B05E +:104530000EEE867269AB3F07E937A9AD43273F4CC2 +:104540000197EF669E5C8CAF95CE79895A68D50F3E +:104550002E663D27D37E6EA65662D50B2AB025E582 +:1045600033285C1EE3DFD508FD601F8F792EBCA9C0 +:104570004FCCFB23E8917B717E9F7076D23C02B5D5 +:1045800015E9336CF07EC6E2E1E2DD37760ED568E0 +:10459000F7CDCD951E3823230E64B2E2A22BA3796A +:1045A0003AF300233F6BE398B08EFEFD8B9F65FED0 +:1045B000BDD0CF907E90ECF2B4E98A28D1F9FC46C8 +:1045C000F91155C4DF092A0D868FCD55077EFFC22C +:1045D000C39493ADB7935F3D8BCEF915A3FDB88E11 +:1045E000E0363D4FFD0AA3F8EBB6C05E652EB2F88B +:1045F000EA34E2CFBDBAE31E5CDEE6B97203E77AC5 +:1046000072BFC545873F6E28FBD4BC96D9CEF33C1C +:1046100037FC799EB5B82E59562BD9D7A0F7148CF4 +:1046200073F50AE17118FF7DE1CCAC97DD9FC5738E +:104630003EDBCEF05F1098FEF231B8A665E646CDBF +:1046400085EBDD478E1EC84FA3F33FF939537AE956 +:10465000CB5A063E17A92C9E8DFE1F8847CF2D0FE3 +:104660007C03F900D63D9D9396560B38CBC7E3D417 +:1046700091BF77B31A03D8C9F8BED686FD1AC57B99 +:104680004F62BD5FBD6F2AC9BD0BE817443F73C5BC +:10469000DBB41FE9C23E17DF8F64C8C952633DE730 +:1046A0007C71492CE617F7229E17F0FD2FFE782922 +:1046B0007C7F1670B5A0921F93F28B2FC04C215EA9 +:1046C0009F26F3DF6B60D14CD94FFB85F9EF99A0A2 +:1046D000C144F9D2557D731F467F8CE6E6E7C8D505 +:1046E000449C6B19E1C734DBBFD0CEFD98678DFECB +:1046F000F6FA03E4DFEE65E97E3D69F0FA38BDE1E4 +:10470000660DF1D4531B62FDF43B08FF70752EFA61 +:104710003BAAA13D89F2633EA4BCB18BA75D7CFF9F +:10472000EBFE35B178DE89B99FDDDE1F3B1FD8FD7A +:1047300057BD0BD52EDBBEF6B74A46E1BF4AC5389A +:10474000FDD411E2F336BFD4B62C7E6EACBD3FC9AA +:10475000C6FC3207CFF396443E0F1B97064F215FEE +:10476000D4097E8583038DCE6B36EBB1F349CE6AD7 +:104770001E6FDAB8543B83DF8DE2BDF32511F98F4C +:10478000E67C997EEF8B86DFFBA2C2F7BB9D6DE7CF +:10479000FC05FCD24DFEBA43FC7734ECFC72D1C967 +:1047A000F945AF80B66F46FEE9DB82F3C97247C7B1 +:1047B0002F613C272B825F32419022BE097B44DA75 +:1047C000EF5E5C6B8D5FD8F9A7B4FD260DF9534100 +:1047D000FEF10E6EAFD753DF887E67930FA4E93CDE +:1047E0000F51FA85CB0F9212F34C881F245B7E94F5 +:1047F00074AF5FC1FC8788FCA8B8D5FF067C22AAED +:104800009D84972EC37A46FA9AE7B69AF429DDE793 +:10481000A2F37C1551F44BA908B5B9BE2973F3DF97 +:10482000D1B08F57549506D4B797D14E40FA07F8B8 +:1048300079BD03F5BD42FA48A934F4913D5FCB3E02 +:104840005FF6FEBFAE308C979B712756E5273E1D65 +:10485000EEDCD5034298FCD0FADBFCDCFEE1E43A66 +:10486000FEDE05E62B1C78ED0EDAB77B411742CE53 +:104870006918577B2639329F0E7FD7223F423F9BD4 +:10488000BF67F1D51295DAC3DFABD869FC5E056866 +:10489000143CF72A7775F27F7D3A272ED54A574781 +:1048A000D893200F484FFDF4175C4F69ABB435AB7C +:1048B000C9A97083F946463BD7ABAF1D367D5D3F36 +:1048C000BCBE7E08FB9779E401DAF77EB98DC7D9C3 +:1048D00074275F4FF6F7CDF30B9F5B13D423C7BD4F +:1048E000349EFF7E62D8D9298C84CB6E36CE371E9B +:1048F0006BFCAED785B644867EABA50F723DF449FE +:10490000719A53E176D881D75628C121E8F365B072 +:10491000FF5747E45D3993FC9437B2614DE0491C81 +:104920004F5D6C3495BFB6467BEA7AE6CDAC6FCB73 +:10493000A6A657F1BCC8BA4DAD74C5942104FD724A +:1049400012DC8F905F0E0F3CB7F817879EF7B2729C +:10495000ED45ECC75BE383949764EE67BFD89EB8E0 +:1049600007F1E4C57D970AEF80F296B6C478CCE3F0 +:104970002E2DE576D3858E42F2EF0DEC6BDFA0A0F5 +:104980007F4909065F891CBFEBC92F2BF43B0A9FA7 +:10499000903F418F76633F410F7A71D22401A4F595 +:1049A000A4E1F5E3DAD27EFDF826F66714EF9D5810 +:1049B0001DB15FD2AE47FBE3C7A61EDD373A3DDA35 +:1049C0003B588F12EEFAABE9D17D37E91B47D0A3F4 +:1049D00017AFA1472FEE1BB51EBDB27A14F903D74E +:1049E000AB474D3C3D1CDE029CEE2C9D85E76D32B5 +:1049F000FABDA46C8F3B84E7B00F87C3EF2FEDC7E0 +:104A0000E1D1A523E0F588F7E2F0BDFFEC783D5356 +:104A10005F178B7AF242BB24229F16EFB4F28DE926 +:104A2000CFE8EDE3ED9C8776F421DAB988E7FCC4A2 +:104A30005D1B7FDBF970887D1E9FC57913F6BDF97C +:104A40007B3C17F5FFE3AD9171406F547002FA653E +:104A50007A9D439FB3595939AF02E9F9EA6AD508FB +:104A60003258E52DE0A57506BF9373D6B473015F88 +:104A70007CA1F4BF018E32AF026BBB77367C976CA2 +:104A8000E6FB40C7705FE5C40F3C7C1FA5F7FF0A3B +:104A90006964CFBA693F62F2A1ABB4AF127411E599 +:104AA0008DF6EFAB34FCBAC935567F6C32EB13D2BE +:104AB000D2703F5B2007F759810E3D89E70CFFFC60 +:104AC00081C55DF8FBC6BFC5DFDFF00F3E4F71D07B +:104AD000BECAC8FD6F86DF14FDEC3494887D94A6B1 +:104AE0003F19FA4DFB37FBF751DAF64F261BFE7BD9 +:104AF0007B7F2DF546ECAB9C68B4935CF1074E0FC1 +:104B0000635F65B2DD9F5FD39F5F41FB2AFFC99062 +:104B10009BC4812903F5261BFB2A078DDBF0F7D305 +:104B20007BC2C0F36BEEAB7C8CEFAB9C64DB57F9C4 +:104B3000BF0C7DDE53FAC9F23ECD3CBEC1799F9CCD +:104B40008F0E959AFBD20342807E2FFDAFBB3F694B +:104B5000B87D32767ECF99F25B3AA7D699CAE379CF +:104B60004E635F7A94CAF7C144A1BC86E713022C56 +:104B7000A40AB8EFA5A513FD7E5BD7A12F0FFFF800 +:104B8000BE971483CF0EC8ADC7D055D9B8C8C17071 +:104B90003F76ED6BF777E1BEA72D63F97953ACD87B +:104BA000FABBC5E6FEB371D51179650CCFC3E6FB40 +:104BB000A3936C79F96EE31C18B72D0F4D36E2B54F +:104BC000FF0FEE1E2AAA0080000000001F8B0800C5 +:104BD00000000000000BBD7C0D7854D599F0B9772A +:104BE000EEDC99814C72F3434862C01B9260A84985 +:104BF000989004C102DE408480D80E3F6A7041263E +:104C0000937F75FD067FE37EB1B92101124C24C06C +:104C100024A2B2268071B57579B23EDAADD66D07A1 +:104C2000B054A9DAE8B2B574F92010405B759F540E +:104C3000C5C6ADADDFFBBEE7DEE4CE2401D66E1BFC +:104C40009FC7E39973CE7BCE79CFFBFFBE57D1E7E9 +:104C50004EB83099313687157C6D63EC770D3F6225 +:104C60008399D0EF78DCFBA7B98C55C27F32F8FD71 +:104C70004EC6B4BE28C6BEC6BF1B465BBD76B1CB12 +:104C80003705E6242530361FC03C91BF7B9DCA58AE +:104C9000C13FAEF9776CE7EEBB2FFE761581F4309D +:104CA00056C8D8BCDEDD6B783F94E9753376AC31FD +:104CB0002FC50B700F34B252846F1360287914FE25 +:104CC000276502ADABAAD4127D8538FF4CB2379B65 +:104CD000B1A7717EF6D8F3BC6FCC5FC9B452560051 +:104CE000B0A244A5378DB1A6548985603E93548106 +:104CF000415BA2E66D9E0CE32E16C36C09781E552F +:104D0000888376DB5AC6B643AF25E3BE5F3BA12D51 +:104D100059ABF7E741BBAF2C8DE036671E91E261DE +:104D2000DD9B6DCCC3E01E8E5B74498473A733EFAB +:104D3000EDB41F133DBDD0DEF163E7C0E419D0D55B +:104D4000343521913181B6606CA90F7E047C09C194 +:104D50000B2283FDF602EE6D70DF5CA5AF08FBB998 +:104D600025AAD0041B4EB20F1DFA1AE0747AC51E94 +:104D70003D0DDB5D45085FAE658A18CB58767286BF +:104D80009FF66B752A99307ED01EAAC4FEAE4D2EBA +:104D900086F377B9BDCB3301DEEE599267334C1BF6 +:104DA0002E8BA5F3E7AE94432C7A2CDECC36571E1F +:104DB0004A56E03EDD1BFE74A21AD6EBAF383D48E2 +:104DC0000E8C0DCC5895034D2044E7687232653B3C +:104DD00080BC0A6E28CFC16129F6829348858D0771 +:104DE000D76CE101D8852C02C890DE3EAB58F24B5F +:104DF0002033F6FE860FDC22C07D3256221AE8648C +:104E00009E64402A0B0A3E6A6183642FEC7FE4E1D2 +:104E10002FA60DC0F90EC6AAEB906E4EE70C3C51C2 +:104E20000DEBCE77B23C27BEC7B4E252C4E3E91221 +:104E3000168B70CA7C22DD3BB384693DE3D0AF1F83 +:104E4000E9650AD14532D2E31605FE1BD61FC862BA +:104E50003D8D80C703F50742D741BF5B730EC18B01 +:104E6000B32EC17B0AEFAFB7CBAC971E75C85509FF +:104E7000E372BDC8B6C3FE4FB657E99530DE7B1E60 +:104E80003603589382557A15D1170B3892E0F729DB +:104E9000BE500DF4B7A7650474183F5151AEFF0220 +:104EA000FA9F7E057408FDCEFAD52E064BB7CFBA11 +:104EB00035C50FED7981F3C5EECE2AAD16E0EE2EA5 +:104EC0007206F01C7296CC34A78147FAB7F70EA28F +:104ED0008FA01CB71DCEDDEBF685AEC173086AFF4F +:104EE000660549CF17BA0BEF55375BD90E7D995937 +:104EF000D6A7E1BF65C62CEFF2B68FF391D4BE3AC8 +:104F000006CF23D999867891DA19D163241E1F6BB5 +:104F1000008E768CF663E601FCACD1F39DB77B5333 +:104F2000F0DC7D03550109E444AFDDFB24F69F1A54 +:104F3000581D28BE9E584347F8BD6DAC07CF2F754E +:104F40009AFB6A8A32CEBB5D6E3F957916233E008E +:104F50001EFB5BC23BDF2E97229D5D0E9E895F800C +:104F60002B0ADF00AE392F126EE4BABFD5FC89EEF2 +:104F7000D967F01FFD01A34FC27606EFAA894475D9 +:104F8000F437A9A68AE85511D990631EF27D8F1EC9 +:104F9000423E4B9302BDC8474991F4CEE1D17A1B02 +:104FA000078772D6842F57FC20745D01FF7D75D270 +:104FB00028BD03A8D0D7C8B706FFC0D0D1AF61FEC7 +:104FC000DD86DEC03F2571146E70551543FE061157 +:104FD000A4C68FC737282FCCF969A3E392B1CF3588 +:104FE0007BC2F1313B7AE8ECA3280FBA044F2F10B3 +:104FF0007DA5047AD5A2C75C7E7E0ED93F8A37098B +:10500000E057E37FC04FEF8B81ADB7225E004FBD0D +:10501000C03FB3F63AC2F062C2F9B3415F597BC3F5 +:10502000F1B60DEF8EEB67B19E5EE2FB1EDD9D409B +:10503000E70FA03CC7FE64E84F656CD376D043BB56 +:105040008440E3B7500F087C3FF3DD62D8C85F525D +:1050500006BC4394F9AE2ACB1061FE8E1B72F76D2D +:1050600017F0F74839C3EF133BB25C39F4AD024295 +:10507000E3D076CFE8BBD07C8037F5B949C28C84C9 +:1050800051BA70652887BE0FFD68CD19B0E17C4923 +:10509000D0153CFF55D9B45FFA8277D862E86F0427 +:1050A00078381EBB3EFCFE4ADD9F4253613CC9C6B8 +:1050B000025389CE42FA2D888F2227DD2F460B7F9F +:1050C000AFA8087ABE16F528E98B8017F5D5B64C3F +:1050D0006E2F30EB3D6DF8BCDC3E79DAAE97A05C0C +:1050E0007B3A2D4E001C8EBCCF3D6522C1793A968D +:1050F000F335D28D6EC19339EF569F7D840E9C801F +:10510000B738136DDE3486FBB71FB7F5E0BDDB574C +:105110001EFDC486FABF465605583F5BEE600F235E +:105120009D7D47EC413D7538F656B105CF516FDB9B +:10513000EF80F1D247065FFC05CCFF6C200DB53740 +:105140003BF8EAB71AABA0FF87A22C0FEA21562240 +:10515000B390796FCEAF9A73EEE8FEBBD7CE60F80E +:10516000CEBB607FDCAFB3EE70CEBFA2BD52338941 +:10517000E045CAD7B81AF98C903B16EE3683EFDCBF +:10518000C302D3F2C1BE5AC5583F1293E48D46A262 +:105190007AC8E92B2D033C75167897CF87FDDC6D17 +:1051A0009CD9DDC312CDCFD44B5C681794AE9A1353 +:1051B000C3C6B10747F61FB6D17CB39FE45769DF7A +:1051C000386526D98371C3328D3F304522FE08AE43 +:1051D00093E95E41B7D75B04FB061FB179F613F183 +:1051E00072FEE95A3E93F03E6247F838BC27D73D3D +:1051F0009B8CF01CD36B927DD05EF0299C9F41CE9E +:10520000A310917D4E5A7F601ED77363F530D0A2F4 +:1052100029C7D0AE7B4C247BA4DB030674DA583A52 +:105220003B527F96F4F276B00A1CCAD8F1C8FED37E +:10523000F6903E00FB3F2DB040873296BE3700FF10 +:10524000E9967E8BA43B51DE039D3296025729BB23 +:1052500036D098C1D80D431BC516C443BD8DEED1C1 +:10526000BC4E34EC6B8F13DFADF491356FAA70AE8A +:10527000CFD68A042BF25DEB7E54DFFD03E89EBCA3 +:10528000F7EF96CF47BBEF311B8971930E4CBCC231 +:10529000FB3FCEDFBF9F84CC5FEBDD337D4E11DF64 +:1052A000E5748D48F7F975FD810C942B9F65B93431 +:1052B00034DEABF7EE9470FC6E942B2002EC696741 +:1052C000EE44BC97041D2A19F7BAF65E16F0C75DC6 +:1052D000785975745FF33E7152DF52E4C744103C55 +:1052E0003AC81977A91886F75335FC9D3F7B49E8E2 +:1052F00041788DAFFE662BD99D20971C1E94FF3EF2 +:1053000039258DE4CE51B4771DD73B1494970B8784 +:10531000C430F976C3F0A430B8452C3EACBFC47994 +:1053200055D8FC1B95F4B0F16549D7868D2F57F3FE +:10533000C3FA8959DF0ED7C32FD8CF0E405F837FC2 +:10534000909FFF9E49D437E9B9AA0FC62DF0134BA1 +:105350000332EAF50DBE2892DFD511F3134BFB247F +:105360001FBCF37F94815F7A2DFC781DBB0EE9761C +:1053700096C1472B3D7922F2D54F3A04E2A38A52D7 +:10538000D6031E1D6BB6FB0E25A15FD226B09D6C09 +:10539000ACBFB792A98FCD467BA0C5A6A0DEBD72DB +:1053A000FF6F6809D8084CD31BC90F5CD0F1EE1110 +:1053B000ECCF32FC387F4B51E91C80B32803E8570F +:1053C000C5F36DF2DAA19FAE0A22D2F3BE3246E7F0 +:1053D000EE1F9EB13546A56B4A12D0C922834E6E90 +:1053E000669F4B3170EFEF7CAEC9A853AB2A7D1797 +:1053F00091DECB3F578E621F884F467C58FC5EE2A1 +:10540000C3F7CFB8FB74BC9FEA7912F5F57AD1CD1A +:10541000B6A35C01758174D4D4EAEC6906BCFCD2F5 +:105420007DE1B00F7E9F946C63484797F3FB961A1B +:10543000726C22FF6F564FB8BCF8B38F717DC87C79 +:105440004BEF2C203B2580FE45D53375F224E83BFD +:105450008B9C7DE8F7543DF30FF224D4E3F73A191F +:10546000EAF1AA67EAA99FF49053A5FE889C9AD90D +:105470008A74A0B20A19F9BBAAC67EC60EFE6A15C6 +:10548000DA39E3ED1BC5E30E13FB9B3ACD7B4AD023 +:105490005DE4472A4038E87733D6F1241A2101DE4B +:1054A0006F0A707F165E8AFA53EF672ACA81ABD003 +:1054B000F281BEAB84F56F4EC67E4840BA73435F3F +:1054C000A73E0BD9E2B81F2C9172EC21FCE1EF1939 +:1054D000C6EFB9A01133D6DE1183F799E89CE52019 +:1054E0002F42F196BEC2EDC2C53F7EEB9FD13FFC7D +:1054F000C5A6ABE638D451F8BF78E5B55401C64F20 +:10550000E6FE3C075BF39E66DC608BC2E3065B94C1 +:105510001729AED05C02E6231070735F90FA7A0D03 +:105520005332E1BEEB65D58FFDF5DB9D0ACD4F1003 +:10553000C9AE98B4C9B58F62316CB3617F78F7207A +:105540009DCD30E8CC3CC716BB96D40174F3CBD8C4 +:105550000B629985CECCF31C7AF576D213ADAAD81E +:10556000837647AB7A6979ED44B9196F7D3FBE8F79 +:10557000331BE065E3B84CE3997A8B13FDF5D2B4A5 +:1055800039E4A74C0C2F5C9F8CC04BDD4CFAC469EE +:10559000E893DBA7FB3A6FC1B841AFE041163BFD92 +:1055A000C86DB9C877A77B7FBF85B947D7FFFBF721 +:1055B000764EC77599A16137EEFFDB47F2E93EE70A +:1055C0000F7F69572DF3364A43760FFC7EEB233B62 +:1055D000650DE62F7BE6F7F601E87F00FE92760D7B +:1055E0009EA383E8DB3CCFC6BD9B96229CDA9EC679 +:1055F000ADD866B2D268AF7BEC7D8ADAA744239C33 +:10560000336D99D138EF6C30FF92F83C63EC37D0B2 +:10561000D0F2CA3960E4992C29DA4A87832D1C4ECE +:1056200053CB1A827B36D5FB9D798087B3EFDAF0B6 +:10563000E547E69D75737BF66CAB2374038CFB9B8F +:1056400085676DF09E83005F07FF6FA7DF46F75801 +:10565000D29226637CC6DF1C2BABB08F5F4F5E9A65 +:10566000C4E7F7B9807E9F30F46F595BACAC01BCE6 +:10567000B2963C926F7E85997029EE723938651D1D +:10568000B184D7B29622D947F4DF41702BC03ED403 +:105690002DFA299365B9C6C5E3AAE34EBC6FBBB723 +:1056A000C085F7DF5DE21775B4870B44B2B326C23D +:1056B000E736039F138D07550EAF69E50C17C2DF60 +:1056C0009DAA2E4FC7385C043E771BF8DC7DB34C97 +:1056D000F78E2F61CF22BF217C1DE0BF62E273A550 +:1056E00047403CC497F433A4AF9F22FE80AFDC0553 +:1056F0001EC107FDF8D400433CC41BF803383D8DA0 +:1057000002AEEB67B8CE5DE211705D3CF471BE5B3A +:10571000D569BE892F67AA1866EF31E0B37989DCB5 +:10572000CC45FD2431E902EAEF16E4496194AF73F8 +:10573000E5BE24256A947E1FDDF06FBFF68F172F1C +:1057400034E6DB5980F1381E9FDF6CEFA3FE29B9E8 +:1057500023C70D783F9528327CF76DF6018A8BC2FE +:105760002AC576151B133F35E3C3D3FCDEDFF851A2 +:10577000FEBFA68450EEB07BA33D680F896AE81394 +:10578000D4E717536515ED73D6F1B8867E939D5F08 +:1057900091D953B91F32220F12C2FD1151F5929CBB +:1057A000665E81A1BF73A5EBBE69FCF34AF51720C5 +:1057B00082F0B23189EBA90CE6233D1F9DC594C64A +:1057C000F9D8EFA3B86C6205C858C0CF80A089751E +:1057D00088C78763148C9F304913F7E0FA795329FF +:1057E000FE67BE43AA7EB3F82358B7F863B72A8092 +:1057F0009ECEADCF5B8AF1E15CA0C17E6ECF937C83 +:1058000099487F9D6D48DA5B9C89F2256B6FB1DD0D +:10581000A2BF7441166643DB762807F9FB72FA6D66 +:10582000D0D06F83AF2C984E7AED31AED7CCF96FD4 +:10583000DCFBED68A4E7C1B6FC776E80F39EB8DBB5 +:10584000E6415AF0B3A1B3183CC8297F6C53339C8E +:10585000FF365120FB68E660D7263D15E325CA7464 +:10586000941BBAC8548CCB67E9FB6EAC83F69F2FB0 +:1058700046AB221A72924E763FCC3B8478CD29E714 +:105880007E790E1C105B95BDFE008E676D72537C99 +:10589000EE4C6DE3E644A4B7976455BC1EFDEC9E48 +:1058A0001B11CFEC8B6815E30783B5828CC191F592 +:1058B0003B1EFAA40EEF630F15C66663DC874DA787 +:1058C0007977B828EEB31EE644039CB2A899FB5141 +:1058D000EF2E6ECE9B7E96E45823BDCB7A9B274954 +:1058E000C6F9DB6C0CE33483ED53DFC1F527EEB171 +:1058F000F37097AFA37015F0F382721EBF5E0FE6D0 +:1059000011CDAF76F3B88E317E62BA222BD9A3EFD8 +:105910006D6BCEDB8A72A93C3B304DB1D80D3D1288 +:10592000D80DB0BE3D83DB0DED19DC6E908A80276B +:10593000002FD2BFBC44F4C596834C85FE49BB7A88 +:105940003B8E9F6C95C96E682FE076434FC0116106 +:1059500037F4EF413B7B7F63B8DDD06EEFE07643F9 +:10596000E685C57E5C171419F75FF9790E825D81B3 +:10597000E76B766B4918E7DFC238DF17957B4BCBB7 +:1059800051FE2832E531AEF773BF8025C4111F994F +:10599000EDE5F8A915E54CC1C47246C8B8F032DA95 +:1059A0003B7B6DE0A7807D2A1B722717D81EEFD3A3 +:1059B0002A38094F45E5BEBBCB61FFD60DFF588A9B +:1059C000F71823FF8CBC58AAD44776A408FC89FC9E +:1059D000CA021EA7959FCC73F9422E19E535D3DD77 +:1059E0006CD0120733C73FAB48FFEE5C381F7346DD +:1059F00065A17C8A37CE7BE2ABFC46E4A3CFBF8AAD +:105A0000614D40874E94B7361CE7F63AC613787C52 +:105A100041A5B84DFC71EEB7C7BFB695E207A7EE3A +:105A2000631EE47F733E33E6EB2CA00F24D03E814F +:105A300027C9AE0BCF139C5CE4690CA17D992605A8 +:105A4000367BC2D60BA42F8CF8289D53180B3FC76A +:105A5000B0FB61A888EB974BC72F1C6A441C388B9E +:105A6000CBE90466FE59E26836D42F9A80FAE1D475 +:105A700062A7A711CFE29D40DE1B7AC28493A044A7 +:105A8000C87B6F643C8CBF47362A08805F5ECFEDD1 +:105A900016E7BAC2A5481F175A0515E5D9E927AF79 +:105AA00093312EBAB885FBAB55BAD0E3A07801FB91 +:105AB00015C60BFEDE78BFAA0FFBB7623CCE9F6413 +:105AC00003970EE07D0CF628F4EFA9777B349872EB +:105AD0008685E8707A9B40F1BCB22D8547EF82F154 +:105AE0008DD73B14F4A39B0CFE3856CEF39403A53C +:105AF000F67B4AF137DBC9A5B8AE3C9FCDC0B8C52F +:105B0000C87D5EE27E3BE877BACF463DDC4FBFA75B +:105B100025BC5F8E7EBAE5DDDE2C0FF7CF8F973385 +:105B2000DAD7848FF78A8FFBCBF761519C9F73A4E0 +:105B30007E71BCBC8DF90E8DAF4E22FC7616328E76 +:105B40005FD6AF61DC3E7E9EC3D0775A7421E07B86 +:105B5000BAF1BE07654F23C6573A8B9C43981F9BEB +:105B6000BEF6570CE9F8A82F2AC080DF591D3F4721 +:105B700029FC83E7AED91B7ECEF888B8853BA26F9F +:105B8000CA8BFF32F13497CD257AACCB8F417D683B +:105B9000CA85C8FBBC06F61FEAD19F3438A90D356B +:105BA00028D41E6E48A2F6F50695A1BE3DDA9045B2 +:105BB000ED1B0D1EFAFD58C33C6AABEA6E62C5F9D7 +:105BC000A3785119A7CF332D02F1FBA9E6C13BB150 +:105BD000FF593D8F5B35BEFA0F479371FC09C1E356 +:105BE000A0653C8EE533F0E46F761C7D088EFA0EDE +:105BF000F875C2BCBF7DBCE9268C3759ED53A6525F +:105C0000FCA80CDE89DED5A02733FE5456673BE3A3 +:105C100000BE2D8B788F9A3DF6D13EDE2B62DCE400 +:105C20009F8C0AA31EC2A06B93FE2EA74F52A2B850 +:105C30003D1399EF79BEB7CBBF1DF077E189E43C06 +:105C40008C0F2DA830F33A0119FD92EA1EC6E31B12 +:105C5000FFCBF191917349E3D76D2CA9E0764364B2 +:105C60003C67D4DEFC667927D37E89CC3B8DC2E5C8 +:105C7000ED89E91D37CF457BF52D9B077E61B6D2B7 +:105C8000BEB7B13FA5DFE659C646DFE314E00CE935 +:105C9000558A057D0B470EB2FE246E00790FA11EBA +:105CA000DB7D8BCCC8CE673ECADF1FB9F98B645E43 +:105CB0001F3040F501DD399E131530EFC37621AC5E +:105CC0003EA01BEB03008F0F54707BAF1CEB03E077 +:105CD000FDEC53D6DE5604FB7507A7C6E27B9D7725 +:105CE000FB9257458DCE7388CCD767C4155703FEFA +:105CF0008F4D53935741FF1E63DCC4C32E17F7EF3C +:105D000030AE48FAC598DF65E6DFDA1DDC4E93D485 +:105D10004609FA83B1591E8C3B3E58A11A7852A904 +:105D2000DEA1B3FDB6644AAE19F5091FBABD4ECC6B +:105D3000179F6FB729888FC17A91E09DABE3F981F6 +:105D4000CECE0F0E611E75B088D72B48187E47A5A2 +:105D50007627CFF70DB6FF93D008E34F9F8F62A849 +:105D60003706A7F414A19C7C5A50A91EE15CE9B344 +:105D70004518A73EA74A0146F509071A512F99F57C +:105D80000960A93562FCB95C7306D0DF4AA98BA40F +:105D90001FCD85F1FC142FAF87687FF85901F336CA +:105DA000ED02EBC7F3A4BC76E14F2C174DF4703B2A +:105DB00020D2AEF8B0DD41763CD3BDF78624CA933D +:105DC000931E3BDF261879F235E4974C94CF3F0DB4 +:105DD000723464F1D37DF5E1F43A0A7FC58BA10CEE +:105DE000FE3BE693530C7AA717481CD517296B2F57 +:105DF000D03DCC3C6437E001F5850E78EA1D170FE5 +:105E00001678E0E7A6544CD65C967B9B79E8970D14 +:105E10003EFCE1C8BBF33C36ED0BF26C7ABDA8B991 +:105E2000A2B133407464E615595D78FE1AFF306FF5 +:105E30009D82F405F8FB4905CFABFDB482FB312907 +:105E4000A5B201A747403A1A837FC34EA3F30AA322 +:105E5000E3661E7B5685F7E715006FF64F9E1330FD +:105E6000DE3292477ED8CC23F33CF0D506FE8E4D31 +:105E70001B68C4BCF2A0C0029BF3F0F7F0FD065D06 +:105E8000038D6827750B6C53238C77BB389DEAAD67 +:105E9000DCBE31EF47F351AE2381A4635ED74B796B +:105EA000B45315E974BF74B80FC903496D5600DEC9 +:105EB000B656612ED25D59942063387763C2AACD5D +:105EC000B1D05F96CAF306C7A6E94ECC277737DA7A +:105ED000A82EAADB3DF0F2FB788F46B7A7978DA5D9 +:105EE000A3FF32E4F52EA30E07095CC47B0AE62368 +:105EF000339F08783B67F62A799DD5D5F59A9C8C17 +:105F0000F1C486D97978BCFF06BB1FDFA1DBC5E1F0 +:105F100044EEF3D5D87D9EC1F7384F14016083BF9E +:105F20005F5886BF570A269DE8CC920F8E2B195AD0 +:105F300088F7132A0D7F48DA9787EFDC1DCBE169DC +:105F4000E2D0C255167F43A834F49093CFEB127C75 +:105F500027FE8078E814080F652DE1FCB23128E8AF +:105F60009373D17E0BFF3D3D182EE7DD9582A1DFB7 +:105F7000C2ED76C9949B8CBFB3BF396DFF7661B417 +:105F80007F759DBA1FF93ACF587F6C1AFF7D703923 +:105F9000EBD94CF4C2E97EACDC50492EA4B40873B2 +:105FA00070FD74133FD2EFC97FF5835F8376C2D350 +:105FB00093A72F45B5EEB09C4337F905ED355F4902 +:105FC00034CAE799C6FE0777A5531CEF48C97E1768 +:105FD000EA930DF7A709BEA8B178B99CBF32BD3EC0 +:105FE0005C2EC4D584E757F3B1C0B290DF4BB7DC69 +:105FF0006B37D60DC07BEC4E13A99E6F37D609E0E8 +:10600000B98DBCFFE3C7973CB3DDC817A3DFE2300F +:1060100064D6ED1576BAFFE3055DEC61E407F0E7C1 +:10602000793D4088EA03D85C59E5F5005FD8304FE8 +:10603000B03B68DB87F6B249178E02F07B504EA466 +:1060400082BF13E67FF2FCBFC3A0C7562FCFFF6FFE +:10605000C3FC3FEAE5958B5DE3C5E12782B7A692D5 +:10606000EBCBE64E1B0BF1BC30E13BB896C3C9D479 +:106070003FA4FA840F07040FF273E9BEC1EFFF00DB +:10608000F6FBEC24CF2E8CE6937DB4EEE4BD37B561 +:1060900066168CE691CDFDED18FFB7C49D1E72FA11 +:1060A000CA2A01DFC1042FE513EC18FF47E7F40A01 +:1060B000EDBC43858F135EBB6EE1F98CAEC2DBC8CD +:1060C000AF3F304DA4BCED81F99BFAD17EF8628AD6 +:1060D000E4D1E1DCAE8E0F1EC5BC637A819DEE017A +:1060E0007FC5CCE2AFAE6C0BD962B0B3921971032D +:1060F000DD21CEA356A6F81418B8D8AEF4087A3C21 +:10610000FA2BA935147737ED23C72DEF2DA1F5CB49 +:10611000F97AF7B04EF2D7C5B424A36E92EA2A27D3 +:106120002B12E9CDCEB5FED6D930DFBE6A8E82F60F +:10613000CDDB852EAA3F01BB27D66779BFFF34F898 +:10614000282807A88EB6BB53C64C18737CEF8B1358 +:10615000A8FFD9EA49B45F6FE783493E4B9C2EBB49 +:106160004AA675BD1B38BF9E12594D5FD8B883E84B +:106170003DBB8AF3D9CDB506FFB7F13C6E7A9DAF32 +:1061800091D38144F5767A9BD883F5ADC1B56B5731 +:10619000AD8179C1821B2541A5BAC4E588E7DEB58A +:1061A00022A1B2D7FB5631D6695CF40809489FE6B4 +:1061B000B983D3974AC83FA7E4819C02B85F5E5574 +:1061C00066989F9A08F653C8C2CF090E6D133D4ECC +:1061D000035351AF15D7F37E3A1893F8DEE96B8B72 +:1061E000A99F0872CF85FE7E69878EF95E67862F2C +:1061F0001FF1792456A6B8527A29A78F2002C67BB0 +:1062000078A348AFA5079776605D6EFA711BC33C13 +:1062100046B3DD73186FD09C83B604DC23F6F87A9E +:106220005E67091E24F1F7C05DD8BFF9CB1401E504 +:10623000E5CF2B79DED9A58AA3F108940118CF8781 +:10624000F73ED43EF7373588974207F9730B342F62 +:10625000F51794CA8060A0D7F9EFDA10DE17171986 +:10626000EBB8449E63223A0C96C2402ED6E7F6AFB6 +:10627000C5F7D087458A672E18EA273A8C2F51E751 +:10628000201E824BBD2971F08EEBAB381D75269C0C +:106290006B8A413C14009DE23D3B6FA5FAE460A28D +:1062A0005488F31FB845D405D4CBEDB7F6A23CD142 +:1062B0002B259E87C63A66A4BF5B245E7F93E04988 +:1062C000B1EAB1039D4B67A1BC003A368C97C32F4E +:1062D000A2BDB8E88F93781D6F2D23F974C0E5F93E +:1062E0000DD6DDEA853CFEFA7ABBCCA200AE9C5C02 +:1062F00071C0417EF0EDA1B7709F76FE6E29F55F0B +:1063000034233DBD23B021F47B3191CBE3E15CDE4E +:1063100098F18455863C3C280F3593DF60C413BA4E +:10632000DAE27E86F9F3AE24904620B1BE5B1C1EF5 +:106330003F403B0CFDD874C38F5D382485F9A72CF2 +:10634000CAB319EF7DF3E2795417971EE1AFA64463 +:10635000F4FF5869F8AD469CE11BD4F18B5585A339 +:10636000F182EE0207D53775D57FDACAEB5E45D2EA +:1063700093BD41FF9B59C867D0B7CAD9C8F61DC3A2 +:10638000FEEE0DAEA67887AA0C34A3FCEAAD63241A +:1063900007BB829FBE8EFDEE1A5E47BFCDEE4D411C +:1063A0003B3E61CF6416CA47F8F796A268F07A457B +:1063B000DD01FAC3AB95095639F36E03AF3B3DD00F +:1063C000C6E14F740E135E773D9F17F4CE715BE10B +:1063D00098ED7103DEC83CAC87C81E2BEF22E19A12 +:1063E000FD472BD3B9BCF4FA097E57C18D2E357BFE +:1063F00054AF2C58D9DF8439B54505A0B5C4B17A5E +:106400006544EEEC30E44E1BEF5F0D7C8BF479B508 +:1064100077752CD243E65A494153D919ECD05C1612 +:10642000B9D3E5F63D8175E7DDABA2884FBAEC5AEA +:106430002DD5A9AD4A1150FE1D897D90FCDEAB53D0 +:10644000130584775315D7BF009FCBABA0D8E312B9 +:10645000D0AFE2754817415EE17BA767FB928B0CDA +:10646000FD81EF1489B789E4D002AD9FE418C91DFE +:10647000807B685D159DCF944BBDEB64CE9F857688 +:10648000DAE7C0FC3377E139BEF87212E99985ACDE +:10649000BF698278DF25E5922907FEB3F2F08B7A97 +:1064A000C628FE1F98727D8A0AF00EB887D679B387 +:1064B000C7E2FF4AF5FF4AC6E33C91DFA9DC6DE085 +:1064C000F36DBF7617F2D183558CC739DEEB70229E +:1064D0001DB566AC76225DCCCEDCE544BA68EDDB5A +:1064E000553203E561AA4474F542DFA736CCBF38C4 +:1064F00032E7F420ECAA4ADF835596788223F35ED4 +:1065000005F3B62B59878E7E1356E0F626509D92E2 +:1065100013FD445786467548DB32791DD25355A288 +:1065200061477750FEA4D5B09F337D4E0DF1DC9AC4 +:106530009AB40FED8115E2BE8C9D30DE6E9CFFD7C4 +:106540001997AECF8832EADA2619765594D4C1F07D +:106550009D9EAA5269BF4919E1756D1B32FA8A45A1 +:10656000186A75733F6485CCE5CB8AADB1FB9A2D73 +:106570007667A7B1FF73E5DE20E26F45221830731E +:10658000102E33FD9D00FA5DBCFA13CC49BBEF29F8 +:106590009CA765707A7524F17A4A3BD34268877D5F +:1065A00055AEEDADA2F7E2791E204CD69B37F63EF4 +:1065B000078C7D37966BFB11DE0BB85F21E6973AAF +:1065C000885F7299E86942BE8CC80F8DC9E7BCA686 +:1065D0006898FF36F3D04D8181971F45FDFD0DF37F +:1065E000C2DFADD05EA2F3FBBD3FC4B639F6878CE7 +:1065F000EA1CAE305F7C6C9A9684746EDA89CD8624 +:10660000DF79B0482BB5D2FF31E3FEC70C3D2D95A5 +:10661000DA898F0EBEBA42194FAEDEE7F7BD596573 +:10662000B19F24C543F51BEF1A78BBDCFABD7EDFB2 +:10663000BB56BA96148DFCAA15327F270170D594EB +:106640003CCA8F6FB240DB3AC06315D217E2E3B9A0 +:1066500077A390DE57C83D191D16F97A397CA8D961 +:10666000BCBEA7491129CE762A4A5C4B72AE99D797 +:106670005B46F2B3D962BCDB2ADF30DE6DB5173181 +:10668000DE6DED63BCDB3A1FE3DDD6718C775BC753 +:106690009F2BF75D447C60DCDBFA3BC6BDADEBCAEB +:1066A000FCDE3FE0BC65D32AA7201D9C28D786B11D +:1066B000FF0DF4FCD7B8AE6A9197E863CB144E1780 +:1066C000B7AE3B4FFED59684843CAB5ECFACE6F4D0 +:1066D00001EFE6ACB6BC9B3D81BF9B9AAD39D310B0 +:1066E000AFA5DCBF3915B5FA92F263815107B0103E +:1066F000E407B68B8627537BC3B08B5A6D389EDA7E +:10670000A2E1586A170F5F45ED92E1646A8B87D367 +:1067100049EFDE389C46EDD2E16BA95D363C8BDA61 +:1067200092E17C9AB77C388FDA15C3DFA6F6A6E132 +:10673000F9D4BEEDF7AAD540A7554F3C108578FC9B +:106740006E857706DEAB8505C85F027ECBA8A6F80E +:10675000411FC378DBCC6A4ED70F966B33711D7B1C +:10676000CDF8AE50043A2AC03A145F36CD8FCC1F14 +:106770002B47BF44BFF7A2DFE7A1754EA753B2D6A0 +:10678000932430E29B35E55A1EADFF2BD78F1C4C6E +:106790001BDA807AE0BC210F324BBFE75AED86FB53 +:1067A0005673BE3F38D3B46F87DC684F9F5ECFBF50 +:1067B000FF61C1F871E1DB22EA39DE33EABA6C929B +:1067C00087F4816D58A6F132BFCF8BF75B21078E1E +:1067D000AF42B93FC3E66956B105F91E47727A5513 +:1067E0003597FB6B084F7685F222A723F2F380E7FB +:1067F000DB693C02CF58FFF39045EE02BEEF207CF0 +:1068000022C213E93B10FADB58CFEB68BF299E1F69 +:106810002C37E26A063E26C24B24DE4DB902F7FB56 +:106820003F78FE90A450DEA6497D59C3D89D6B48A1 +:10683000D76288BF7DF7E3B91DC3DE500CED5E362D +:10684000053FA4003E7F00D77D033EAFAF263EEF5D +:1068500027FDDFEEEE4FF2606BE7FC7E6C5A7FA9FE +:10686000D7B2AEA3DA46E76DA9E676C39B519B5F2C +:10687000C790D2828C7E1BB65F95FB5A10DEA2D4E5 +:10688000A125782549014F281BF5493FE91394FBC1 +:10689000D74473B9EF1F87FFEFF3FB3BAA23F4063E +:1068A000CE03BDBBF32FA17FE0CB2768FD15F2819E +:1068B000E53DF6E3BA37541B7D9FD30C7A80BE17B3 +:1068C000F57B9FC173BEA1969B72B6B7FA9BC9D9DF +:1068D0001748CE2CF2703D9CC6ED2FBB22EA53091F +:1068E0004FB72B65E3EAC7B297AD7842395B963D67 +:1068F000AEDCF9F178FC60913B3F25BC4C2C774233 +:10690000B4FE2FE50703EFFF5339740A7F9A3F2A3D +:1069100087FE5FB511779D480ED5C58FAB9F6DA8DB +:10692000472C7ED8583924D138BCF769C487264D06 +:10693000285F2E8C27C7C7912FBFFBABCA17E39EDA +:1069400013DD37129F0EB681EA5764E5B157CEE5E5 +:106950008F378FD7AD6008F66B8A07A62A142730C9 +:10696000F635E164BE5EDF8D753E177589EAB4F4D5 +:10697000C5817FC2BEBED9A1A0FDFBF8E4EF75E3DF +:106980007743759253E111D8C075B8EF6EC36F8627 +:10699000FE6CEADB19E55DF15CAB2C75B7F135DC1B +:1069A0008E88C773C65FFE5C87FD5A420DE0235E8A +:1069B000F6B199B0FFCE59BC2E4D8D52D655A09F41 +:1069C00093E4243B2E7ED9AD4CC7F789E17142C6D2 +:1069D0007ADE4883F1ADB344FE5D9EE453F11C5B67 +:1069E000319F40F9BEDECF31DEAC321FADDB56CC7D +:1069F000BFF7694ABDB4DDD2D210FE9DAB2D93F531 +:106A00003872ADFD60097E77D801FE08A2A3A3D835 +:106A1000AF20DDBA32E1DED7E3BE07EEE779CC2165 +:106A2000AAFB9217AEBE64DD7A73C47E52022B427B +:106A30007984B15F9457B69CC4FDD6EF098B6BB9CE +:106A40001E7FD4A82B9614AF86F1B46DD3AAF2F1B1 +:106A5000999D8AC62EC07ECE042F1B84765BB2938E +:106A6000F20937DA16781703BE76AA71B1FCFB0279 +:106A70001ED7EA34E87A512DD707ED0D1DAF9CB330 +:106A8000E37BB7500B5CAA635D559491078E777AD0 +:106A90008400C66F56C2B8C58E8D2E8075163B76A3 +:106AA000AB7B84BFE93B313B6B71A21FFC5801A358 +:106AB000F7DC31EF53FA5D650354DFBF63DEA5DF1A +:106AC000C5FCFE785783330C5F23E3D30792B00EE7 +:106AD000FFB1C2813DE5808F9854A7A704F6D9BDC8 +:106AE000D0CBDAA0BF63BE687C57E7A1BC687CB19D +:106AF0007806E34D3BE6C339B2C79EC371F84BAA93 +:106B0000C38E918618C28D51DFA37AEA2EE31CCB87 +:106B10000A020CF39031C76D548714834558D04F47 +:106B20002CE0F1EDC6E45F85ECB8EF06FAC6966D91 +:106B3000B573FD1CB5E0C249CC8B4F29381A5E876E +:106B4000B496E74DCC3AA4A9A572985F80F574215C +:106B50004B1C308A59EAD4F05EB6F5978C8FD59DE0 +:106B600074FDEC75CB7B35D784C7112FB7FE0F0DA5 +:106B7000CE9FBD0EF4B0F332EFD4D6308FF0B3B366 +:106B800041A376474309C5079F45BD6AA91B9E6976 +:106B9000C457B63ED2CF5643EB0E3DCC6600BF7C09 +:106BA000BF86EB87671B9C8275BE630F1310FF20A7 +:106BB0003D05ACA3607B18C577B7677D7A04E329F0 +:106BC000178B67ECB759F8C48463F69F37DE6D7B8B +:106BD000168FFB3D5F2C96205F3C2F754C8ABBC403 +:106BE0007DBEF54C78DEC0FCDDE48F117E11988609 +:106BF00049DADDB15C2EB6875AA98E56399EBEDFC2 +:106C00006539D7CB359C7FE35120A361A885E7CBBD +:106C100076E4C115675F9EBF4C783B17B2E9588791 +:106C2000BCE3469E378C59A424AFB6BC63BE212F6B +:106C300076C67279D1368D25AFCE1E3BDE61E48FEC +:106C40003B5CACF4C571F0915FCBBF536833F2D6B7 +:106C5000E6FB8D8E3B094E7EAD21FF558DBEE78E46 +:106C6000D79C434D542FFAB17EAE80EA2AE87BECE4 +:106C7000C8FB39D88DCC45791D46F1E8C8FB46B133 +:106C8000B67ECA2FC2DF5773B10E8F91F28E622784 +:106C9000F57309A3DF79471584F3CDFF942F3E30B8 +:106CA000F9C2C55C9C2F568A5BE0DC170BC41E92B0 +:106CB000C9CC278EF79D89C91FECBA4BCBFB1D0DA4 +:106CC000E1F52A916D4CF4908FE531F6E70FEBEF8B +:106CD0006F5E4078267DE6F8EDB6FBF13BC01FDB2A +:106CE000B5FF467DE964DCBF285B20EB36FCDEBAED +:106CF000D9FEF148DE01E82866122BF38EF38E6F81 +:106D0000D9178BB5E4F7C23D72C6BEE3C8390CBAD9 +:106D100088A473A0DB109B83EFACF278F665E814CF +:106D2000F0C730FF71D1CB087FFA614118B19BA841 +:106D30001E1B8E32D708FD09282B75AAF3887C9775 +:106D400064A3FE83BECB033B621A1BA0FED598054D +:106D5000B561CA42A5361DBF9F48C7EF817CD4BF2D +:106D6000062BD9F0BB52D643EDB52C44E339182F8E +:106D7000E44146FADE777688C715F3984A89E57CC0 +:106D8000A6D918959EF8A87F1DD3A99DCF7CAF9C4E +:106D90008373EE585895877A3AA7D6A8FB1CA1971B +:106DA0002B93A38B30E981769DCAF31E5B931F9CC6 +:106DB000288E767DAD353E9CCAE33113BDDB328330 +:106DC000FF1EB57BBC683F3CEA9628CEFE68DAF829 +:106DD000F528D7D770BD2FDB7D545F6533EC986500 +:106DE000B5535F0213913545F9283EDA9424537D5B +:106DF00082695FDDF4DB98971AB3FFF7ECD23FDAD4 +:106E0000B45B6A0BC719BFC2B8DFB3F89FF3D1BE3A +:106E1000D7EE407C99DF733A35A6E8F3B1DF41DF66 +:106E20007346D5409F7FDFD948DFD5F89807C7C1A3 +:106E3000DEAF25BE603CDEDB047489FF5F0CB3EF80 +:106E4000F319FD3D715764AFB395817594E731FC3B +:106E5000B8F5B5BEFBE97E1A5325AB1FB71EFCB8CB +:106E60005CBAFF03B8BF62F2B5334AB7458FE56B32 +:106E7000A64E8B457A1BE19F2BC4CFEF509F825FBC +:106E80007BF07B2119E5C2DDA137E9FB83BB9FFBCA +:106E900017FABE6EA3E12FDF65D015AB2FA4BEECB1 +:106EA000130FE33D3EEA4BA7BA9D8FFA6C64E77C73 +:106EB000D49CB61F2FF1D10B9F71FD0BE3FC7B908F +:106EC00046F3FF63417524E6F7656CA5A6CD27BFA1 +:106ED00096FFFF3F4C7DFCD10B6BB83EEEB319FA29 +:106EE00098D7AF3CDF778D8A745BF9F512F67F7126 +:106EF000DD12A707EBEF2A1FFF24C76FA1E348FDB0 +:106F00002CAACAD67F253D22533D9089C73178519E +:106F1000C6D4BD507D8D79DEF35DD752DD4B33D8BD +:106F200077B64BE4CFA53E077D3FF0B19DFD488885 +:106F300019076EC47B47BEE7FA5AEFCBF8EE42DF83 +:106F4000CF890EC6BC6FFD942BFB6EEC0AE7B5181B +:106F50007C0207A53AC3D8D07CB2736D9A47C3EFC1 +:106F600034638B3B9835AE93E65DFC069E2F5652FC +:106F700004940FB1AA411FEA9CB0FD8ED486D7C5F8 +:106F80009AFB99FDFF0F5E7DE7E5804E0000000053 +:106F900000000000000000000000004000000000B1 +:106FA00000000000000000400000000000000000A1 +:106FB0000000002800000000000000000000001099 +:106FC0000000000000000000000000400000000081 +:106FD00000000000000000100000000000000000A1 +:106FE0000000000800000000000000000000000099 +:106FF00000000000000000000000003D0000000054 +:10700000000000000000003C000000000000000044 +:107010000000000000000000000000000000000868 +:107020000000000000000000000000000000000060 +:10703000000000000000000C000000000000000044 +:107040000000000E0000000000000000000000042E +:107050000000000000000000000000180000000018 +:10706000000000000000001C000000000000000004 +:107070000000001C000000000000000000000013E1 +:1070800000000000000000000000003E00000000C2 +:1070900000000000000000010000000000000000EF +:1070A00000000002000000000000000000000001DD +:1070B00000000000000000000000001000000000C0 +:1070C0000000000000000050000000000000000070 +:1070D00000000000000000000000000000000003AD +:1070E0000000000000000000000000AB00000000F5 +:1070F0000000000000000008000000000000000088 +:107100000000C00000100000000000080000C008DF +:1071100000100000000000020000C000001000008D +:107120000000001000009C080004000000000004A3 +:107130000000C08000100000000000040000C088B3 +:1071400000100000000000020000C08000100000DD +:10715000000000100000933800010004000000014E +:10716000000093400000000000000002000093486F +:1071700000000000000000080000934C0000000028 +:107180000000000200009350000000000000000812 +:107190000000969800400000000000400000935856 +:1071A00000800000000000480000945800400000EB +:1071B0000000000800009468004000000000001873 +:1071C0000006301000280000000000280000995040 +:1071D00000080000000000010000995100080000B4 +:1071E00000000001000099520008000000000001AA +:1071F0000000200800100000000000100000200027 +:10720000000000000000000800009BB80000000023 +:107210000000000800000001000000000000000065 +:107220000000000200000000000000000000000359 +:10723000000000000000000000000004000000004A +:107240000000000000000005000000000000000039 +:107250000000000600000000000000000000000721 +:107260000000000000000000000000080000000016 +:107270000000000000000009000000000000000005 +:107280000000000A00000000000000000000000BE9 +:1072900000000000000000000000000C00000000E2 +:1072A00000000000000000010000000000000000DD +:1072B00000000009000000000000000000000002C3 +:1072C00000000000000000000000C4C0000000003A +:1072D000000000200000C4E60000000000000001E3 +:1072E000000060000020000000000020000073008B +:1072F000000800000000000800009BF000000000F3 +:107300000000000100009B90000000000000000849 +:1073100000009B93000000000000000100009B9112 +:10732000000000000000000100009B96000000002B +:107330000000000100009B9700000000000000001A +:10734000800000000000000000000000800000003D +:10735000000000000000000000000000000000002D +:10736000000000000000000000000000000000001D +:10737000000000000000000000000000000000000D +:1073800000000000000000000000000000000000FD +:1073900000000000000600000000000000000020C7 +:1073A00000009B98000000000000000100009BD836 +:1073B0000000000000000008000000530000000072 +:1073C0000000000000009BE0000000000000000240 +:1073D00000009BE4000000000000000100009BE5AD +:1073E0000000000000000001000000090000000093 +:1073F000000000000000000100000000000000008C +:107400000000004400000000000000000000000137 +:10741000000000000000000000000050000000001C +:1074200000000000000000890000000000000000D3 +:107430000000995300080000000000010000000057 +:107440000000000000000000000016C8000000005E +:1074500000000008000020080010000000000010DC +:10746000000020000000000000000008000017D00D +:107470000008000000000001000017D10008000013 +:1074800000000001000017D2000800000000000109 +:10749000000620780038000000000038000016E0E8 +:1074A0000000000000000002000016E200000000E2 +:1074B000000000020000A0400000000000000020CA +:1074C0008000000000000000000000000000E0005C +:1074D00000200000000000200000F3000008000071 +:1074E00000000008000016F800000000000000D8AE +:1074F0000000173F00000000000000010000171707 +:1075000000000000000000018000000000000000FA +:1075100000000000800000000000000000000000EB +:10752000000000000000000000000000000000005B +:10753000000000000000000000000000000000004B +:10754000000000000000000000000000000000003B +:10755000000000000000000000000000000017789C +:107560000000000000000001000017B8000000004B +:1075700000000008000000510000000000000000B2 +:10758000000017A00000000000000004000017A485 +:107590000000000000000004000017A80000000028 +:1075A00000000004000017AC00000000000000080C +:1075B000000017980000000000000008000017C835 +:1075C0000000000000000002000600000040000073 +:1075D000000000400000C00000400000000000402B +:1075E0000000C02E00400000000000010000C000AC +:1075F00000400002000000010000C0010040000245 +:10760000000000000000E200002000000000002058 +:107610000000E204000200080020000280000000D8 +:1076200000000000000000000000E2000008002050 +:10763000000000040000F500002800000000002801 +:107640000000F64000100000000000100000F64AA4 +:1076500000100000000000010000F6C00020000043 +:10766000000000200000F6C0000200200000000220 +:107670000000F3000040000000000040000020086F +:1076800000100000000000100000200000000000BA +:1076900000000008000011A8000800000000000120 +:1076A000000011A90008000000000001000011AA5C +:1076B000000800000000000100004000002000045D +:1076C00000000010000059000030001800000010F9 +:1076D00000005908003000180000000200005700A8 +:1076E0000008000000000001000057010008000031 +:1076F000000000010000115800000000000000011F +:10770000000011600000000000000010000011AC3B +:1077100000080000000000040000400000200000FD +:1077200000000020000053000010000000000010C6 +:107730000000000000000000000000000000000049 +:107740000000000000000000000000000000000039 +:107750000000000000000000000000000000000029 +:10776000000014700000000000000001000014B0D0 +:1077700000000000000000080000005000000000B1 +:107780000000000000001478000000000000000469 +:107790000000147C000000000000000400001480C1 +:1077A000000000000000000400001484000000003D +:1077B0000000000400001488000000000000000821 +:1077C00000002AF00080000000000080000000019E +:1077D0000000000000000000000020080010000071 +:1077E0000000001000002000000000000000000861 +:1077F00000002C70000800000000000100002C7147 +:10780000000800000000000100002C7200080000C9 +:10781000000000010000415800380000000000385E +:1078200080000000000000000000000000002C4468 +:10783000000800000000000200002C4600080000C4 +:107840000000000200002C540010000000000004A2 +:1078500000002EB0000000000000002000006000CA +:10786000002000000000002000007300000800005D +:107870000000000800000000000000000000000000 +:1078800000000000000000000000000000000000F8 +:1078900000000000000000000000000000000000E8 +:1078A0000000000000002F58000000000000000150 +:1078B00000002F98000000000000000800000050A9 +:1078C000000000000000000000002F800000000009 +:1078D0000000000400002F840000000000000004ED +:1078E00000002F88000000000000000400002F8C22 +:1078F000000000000000000800002FA800000000A9 +:1079000000000002800000000000000000000000F5 +:107910008000000000000000000000008000000067 +:1079200000000000000000000000312800000000FE +:107930000000000800062A20260000400000000881 +:107940000000A0000000000000002000000040C176 +:107950000000000000000001000040F000000000F6 +:107960000000000280000000000000000000000095 +:10797000000060000020000000000008000040003F +:1079800000080000000000010000400100080000A5 +:107990000000000100004040000800040000000258 +:1079A0000000406000080004000000040000408067 +:1079B0000008000000000004000040000008000073 +:1079C0000000000400004004000800000000000463 +:1079D0000000404000000000000000080000404897 +:1079E000000000000000000800008000000000000F +:1079F00000000010000050400001000400000001E1 +:107A000000005000000000000000002000005008AE +:107A100000100000000000040000500C00100000E6 +:107A200000000001000052C700000000000000013B +:107A3000000052C6000000000000000100003000FD +:107A4000004000200000000400003004004000203E +:107A50000000000400003008004000200000000288 +:107A60000000300A00400020000000020000300C3E +:107A700000400020000000010000300D0040002008 +:107A8000000000010000300E004000200000000156 +:107A900000003010004000200000000400003014FE +:107AA00000400020000000040000301800400020CA +:107AB000000000040000301C004000200000000412 +:107AC0000000C00001000080000800040000C004A5 +:107AD00001000080000800040000000A000000000F +:107AE000000000000000C0680100008000000001EC +:107AF0000000C06901000080000000010000C06CAF +:107B000001000080000000020000C06E0100008043 +:107B1000000000020000C0700100008000000004AE +:107B20000000C07401000080000000040000C06676 +:107B300001000080000000020000C064010000801D +:107B4000000000010000C060010000800000000291 +:107B50000000C06201000080000000020000C05070 +:107B600001000080000000040000C05401000080FB +:107B7000000000040000C058010000800000000464 +:107B80000000C05C01000080000000040000C07C18 +:107B900001000080000000010000C07D01000080A5 +:107BA0000000000100001018001000000000000498 +:107BB0000000109000100000000000040000109869 +:107BC0000010000000000004000011100000000080 +:107BD000000000020000111200000000000000027E +:107BE0000000111400000000000000020000111647 +:107BF00000000000000000020000604000080000DB +:107C000000000002000060420008000000000002C6 +:107C10000000604400080000000000020000604610 +:107C20000008000000000002000060800008000062 +:107C300000000008000060000008000000000002D2 +:107C40000000600200080000000000010000600465 +:107C50000008000000000002000060C000080000F2 +:107C6000000000080000610000080000000000049F +:107C700000006104000800000000000100006140F5 +:107C8000000800000000000200006144000800003D +:107C900000000002000061800008000000000004F5 +:107CA0000000300000080000000000020000300268 +:107CB000000800000000000100003004000800007F +:107CC0000000000200003040000800000000000238 +:107CD00000003044000800000000000200003046B0 +:107CE00000080000000000020000366000080000EC +:107CF00000000008000030800008000000000002C2 +:107D0000000030840008000000000002000036A0DF +:107D1000000800000000000800008040000800008B +:107D20000000000100008041000800000000000188 +:107D300000008042000800000000000100008043B5 +:107D400000080000000000010000800000080000A2 +:107D50000000000200008002000800000000000196 +:107D6000000080040008000000000002000080C045 +:107D70000008000000000002000080C200080000AF +:107D800000000002000080C40008000000000002A3 +:107D900000008080000800000000000100008081D9 +:107DA00000080000000000010000808200080000C0 +:107DB00000000001000080830008000000000001B6 +:107DC00000008084000800000000000100008085A1 +:107DD000000800000000000100008086000800008C +:107DE0000000000100006000000800000000000228 +:107DF00000006002000800000000000100006004B4 +:107E000000080000000000020000604200C00018EE +:107E1000000000020000604000C0001800000002E6 +:107E20000000604C00C00018000000080000604422 +:107E300000C00018000000080000605700C00018D3 +:107E4000000000010000605400C0001800000002A3 +:107E50000000605600C000180000000100006640ED +:107E60000008000000000008000066800008000014 +:107E700000000008000066C00008000000000008C4 +:107E80000000DA8200180000000000020000DBA001 +:107E900000000000000000000000E0000000000002 +:107EA000000000040000D1000000000000000004F9 +:107EB0000000D10400000000000000040000D10810 +:107EC00000000000000000040000D10C00000000D1 +:107ED000000000040000D1100000000000000004B9 +:107EE0000000D11400000000000000040000D118C0 +:107EF00000000000000000040000D10000000000AD +:107F0000000000200000928000000000000000043B +:107F10000000928000000000000000280000805057 +:107F200000A80000000000010000805400A800002C +:107F30000000000100008000000000000000005070 +:107F400000008050000000000000001000009600BB +:107F50000000000000000004000094000000000089 +:107F60000000000400009404000000000000000471 +:107F70000000940800000000000000040000940CC1 +:107F80000000000000000004000094100000000049 +:107F90000000000400009414000000000000000431 +:107FA000000094180000000000000004000094008D +:107FB00000000000000000400000942000000000CD +:107FC00000000004000094240000000000000004F1 +:107FD0000000942800000000000000040000941C31 +:107FE00000000000000000040000943000000000C9 +:107FF000000000040000942C0000000000000004B9 +:10800000000094340000000000000004000092848E +:10801000000000000000000400009280000000004A +:108020000000000400009290000000000000000426 +:10803000000092A40000000000000004000094383A +:1080400000000000000000040000943C000000005C +:10805000000000040000B9880000000000000000DB +:108060000000D00000000000000000040000B1008B +:1080700000000000000000040000B1040000000047 +:10808000000000040000B10800000000000000042F +:108090000000B10000000000000000100000BCB0B3 +:1080A00000000000000000040000BCB4000000005C +:1080B000000000040000BCB0000000000000004808 +:1080C0000000D85800000000000000040000D85054 +:1080D00000000000000000040000D8540000000070 +:1080E000000000040000D85C000000000000000454 +:1080F0000000D85000000000000000100000D84030 +:1081000000000000000000040000D844000000004F +:10811000000000040000D84000000000000000083B +:108120000000D4C800000000000000080000D4D8FF +:1081300000000000000000800000001000000000AF +:10814000000000000000D4D800000000000000087B +:1081500000000000000000000702330000000000E3 +:00000001FF --- linux-lowlatency-3.5.0.orig/fs/Kconfig +++ linux-lowlatency-3.5.0/fs/Kconfig @@ -67,6 +67,7 @@ source "fs/autofs4/Kconfig" source "fs/fuse/Kconfig" +source "fs/overlayfs/Kconfig" config CUSE tristate "Character device in Userspace support" --- linux-lowlatency-3.5.0.orig/fs/Makefile +++ linux-lowlatency-3.5.0/fs/Makefile @@ -106,6 +106,7 @@ obj-$(CONFIG_AUTOFS4_FS) += autofs4/ obj-$(CONFIG_ADFS_FS) += adfs/ obj-$(CONFIG_FUSE_FS) += fuse/ +obj-$(CONFIG_OVERLAYFS_FS) += overlayfs/ obj-$(CONFIG_UDF_FS) += udf/ obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/ obj-$(CONFIG_OMFS_FS) += omfs/ --- linux-lowlatency-3.5.0.orig/fs/binfmt_elf.c +++ linux-lowlatency-3.5.0/fs/binfmt_elf.c @@ -1696,30 +1696,19 @@ return 0; info->psinfo = kmalloc(sizeof(*info->psinfo), GFP_KERNEL); if (!info->psinfo) - goto notes_free; + return 0; info->prstatus = kmalloc(sizeof(*info->prstatus), GFP_KERNEL); if (!info->prstatus) - goto psinfo_free; + return 0; info->fpu = kmalloc(sizeof(*info->fpu), GFP_KERNEL); if (!info->fpu) - goto prstatus_free; + return 0; #ifdef ELF_CORE_COPY_XFPREGS info->xfpu = kmalloc(sizeof(*info->xfpu), GFP_KERNEL); if (!info->xfpu) - goto fpu_free; + return 0; #endif return 1; -#ifdef ELF_CORE_COPY_XFPREGS - fpu_free: - kfree(info->fpu); -#endif - prstatus_free: - kfree(info->prstatus); - psinfo_free: - kfree(info->psinfo); - notes_free: - kfree(info->notes); - return 0; } static int fill_note_info(struct elfhdr *elf, int phdrs, --- linux-lowlatency-3.5.0.orig/fs/binfmt_em86.c +++ linux-lowlatency-3.5.0/fs/binfmt_em86.c @@ -42,7 +42,6 @@ return -ENOEXEC; } - bprm->recursion_depth++; /* Well, the bang-shell is implicit... */ allow_write_access(bprm->file); fput(bprm->file); bprm->file = NULL; --- linux-lowlatency-3.5.0.orig/fs/binfmt_misc.c +++ linux-lowlatency-3.5.0/fs/binfmt_misc.c @@ -117,10 +117,6 @@ if (!enabled) goto _ret; - retval = -ENOEXEC; - if (bprm->recursion_depth > BINPRM_MAX_RECURSION) - goto _ret; - /* to keep locking time low, we copy the interpreter string */ read_lock(&entries_lock); fmt = check_file(bprm); @@ -176,7 +172,10 @@ goto _error; bprm->argc ++; - bprm->interp = iname; /* for binfmt_script */ + /* Update interp in case binfmt_script needs it. */ + retval = bprm_change_interp(iname, bprm); + if (retval < 0) + goto _error; interp_file = open_exec (iname); retval = PTR_ERR (interp_file); @@ -197,9 +196,7 @@ if (retval < 0) goto _error; - bprm->recursion_depth++; - - retval = search_binary_handler (bprm, regs); + retval = search_binary_handler(bprm, regs); if (retval < 0) goto _error; --- linux-lowlatency-3.5.0.orig/fs/binfmt_script.c +++ linux-lowlatency-3.5.0/fs/binfmt_script.c @@ -22,15 +22,13 @@ char interp[BINPRM_BUF_SIZE]; int retval; - if ((bprm->buf[0] != '#') || (bprm->buf[1] != '!') || - (bprm->recursion_depth > BINPRM_MAX_RECURSION)) + if ((bprm->buf[0] != '#') || (bprm->buf[1] != '!')) return -ENOEXEC; /* * This section does the #! interpretation. * Sorta complicated, but hopefully it will work. -TYT */ - bprm->recursion_depth++; allow_write_access(bprm->file); fput(bprm->file); bprm->file = NULL; @@ -82,7 +80,9 @@ retval = copy_strings_kernel(1, &i_name, bprm); if (retval) return retval; bprm->argc++; - bprm->interp = interp; + retval = bprm_change_interp(interp, bprm); + if (retval < 0) + return retval; /* * OK, now restart the process with the interpreter's dentry. --- linux-lowlatency-3.5.0.orig/fs/buffer.c +++ linux-lowlatency-3.5.0/fs/buffer.c @@ -914,7 +914,7 @@ /* * Initialise the state of a blockdev page's buffers. */ -static void +static sector_t init_page_buffers(struct page *page, struct block_device *bdev, sector_t block, int size) { @@ -936,33 +936,41 @@ block++; bh = bh->b_this_page; } while (bh != head); + + /* + * Caller needs to validate requested block against end of device. + */ + return end_block; } /* * Create the page-cache page that contains the requested block. * - * This is user purely for blockdev mappings. + * This is used purely for blockdev mappings. */ -static struct page * +static int grow_dev_page(struct block_device *bdev, sector_t block, - pgoff_t index, int size) + pgoff_t index, int size, int sizebits) { struct inode *inode = bdev->bd_inode; struct page *page; struct buffer_head *bh; + sector_t end_block; + int ret = 0; /* Will call free_more_memory() */ page = find_or_create_page(inode->i_mapping, index, (mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS)|__GFP_MOVABLE); if (!page) - return NULL; + return ret; BUG_ON(!PageLocked(page)); if (page_has_buffers(page)) { bh = page_buffers(page); if (bh->b_size == size) { - init_page_buffers(page, bdev, block, size); - return page; + end_block = init_page_buffers(page, bdev, + index << sizebits, size); + goto done; } if (!try_to_free_buffers(page)) goto failed; @@ -982,14 +990,14 @@ */ spin_lock(&inode->i_mapping->private_lock); link_dev_buffers(page, bh); - init_page_buffers(page, bdev, block, size); + end_block = init_page_buffers(page, bdev, index << sizebits, size); spin_unlock(&inode->i_mapping->private_lock); - return page; - +done: + ret = (block < end_block) ? 1 : -ENXIO; failed: unlock_page(page); page_cache_release(page); - return NULL; + return ret; } /* @@ -999,7 +1007,6 @@ static int grow_buffers(struct block_device *bdev, sector_t block, int size) { - struct page *page; pgoff_t index; int sizebits; @@ -1023,22 +1030,14 @@ bdevname(bdev, b)); return -EIO; } - block = index << sizebits; + /* Create a page with the proper size buffers.. */ - page = grow_dev_page(bdev, block, index, size); - if (!page) - return 0; - unlock_page(page); - page_cache_release(page); - return 1; + return grow_dev_page(bdev, block, index, size, sizebits); } static struct buffer_head * __getblk_slow(struct block_device *bdev, sector_t block, int size) { - int ret; - struct buffer_head *bh; - /* Size must be multiple of hard sectorsize */ if (unlikely(size & (bdev_logical_block_size(bdev)-1) || (size < 512 || size > PAGE_SIZE))) { @@ -1051,21 +1050,20 @@ return NULL; } -retry: - bh = __find_get_block(bdev, block, size); - if (bh) - return bh; + for (;;) { + struct buffer_head *bh; + int ret; - ret = grow_buffers(bdev, block, size); - if (ret == 0) { - free_more_memory(); - goto retry; - } else if (ret > 0) { bh = __find_get_block(bdev, block, size); if (bh) return bh; + + ret = grow_buffers(bdev, block, size); + if (ret < 0) + return NULL; + if (ret == 0) + free_more_memory(); } - return NULL; } /* @@ -1321,10 +1319,6 @@ * which corresponds to the passed block_device, block and size. The * returned buffer has its reference count incremented. * - * __getblk() cannot fail - it just keeps trying. If you pass it an - * illegal block number, __getblk() will happily return a buffer_head - * which represents the non-existent block. Very weird. - * * __getblk() will lock up the machine if grow_dev_page's try_to_free_buffers() * attempt is failing. FIXME, perhaps? */ --- linux-lowlatency-3.5.0.orig/fs/compat.c +++ linux-lowlatency-3.5.0/fs/compat.c @@ -1155,11 +1155,14 @@ struct file *file; int fput_needed; ssize_t ret; + loff_t pos; file = fget_light(fd, &fput_needed); if (!file) return -EBADF; - ret = compat_readv(file, vec, vlen, &file->f_pos); + pos = file->f_pos; + ret = compat_readv(file, vec, vlen, &pos); + file->f_pos = pos; fput_light(file, fput_needed); return ret; } @@ -1221,11 +1224,14 @@ struct file *file; int fput_needed; ssize_t ret; + loff_t pos; file = fget_light(fd, &fput_needed); if (!file) return -EBADF; - ret = compat_writev(file, vec, vlen, &file->f_pos); + pos = file->f_pos; + ret = compat_writev(file, vec, vlen, &pos); + file->f_pos = pos; fput_light(file, fput_needed); return ret; } --- linux-lowlatency-3.5.0.orig/fs/compat_ioctl.c +++ linux-lowlatency-3.5.0/fs/compat_ioctl.c @@ -210,6 +210,8 @@ err = get_user(palp, &up->palette); err |= get_user(length, &up->length); + if (err) + return -EFAULT; up_native = compat_alloc_user_space(sizeof(struct video_spu_palette)); err = put_user(compat_ptr(palp), &up_native->palette); --- linux-lowlatency-3.5.0.orig/fs/dcache.c +++ linux-lowlatency-3.5.0/fs/dcache.c @@ -389,7 +389,7 @@ * Inform try_to_ascend() that we are no longer attached to the * dentry tree */ - dentry->d_flags |= DCACHE_DISCONNECTED; + dentry->d_flags |= DCACHE_DENTRY_KILLED; if (parent) spin_unlock(&parent->d_lock); dentry_iput(dentry); @@ -1046,7 +1046,7 @@ * or deletion */ if (new != old->d_parent || - (old->d_flags & DCACHE_DISCONNECTED) || + (old->d_flags & DCACHE_DENTRY_KILLED) || (!locked && read_seqretry(&rename_lock, seq))) { spin_unlock(&new->d_lock); new = NULL; @@ -1132,6 +1132,8 @@ return 1; rename_retry: + if (locked) + goto again; locked = 1; write_seqlock(&rename_lock); goto again; @@ -1234,6 +1236,8 @@ rename_retry: if (found) return found; + if (locked) + goto again; locked = 1; write_seqlock(&rename_lock); goto again; @@ -3031,6 +3035,8 @@ return; rename_retry: + if (locked) + goto again; locked = 1; write_seqlock(&rename_lock); goto again; --- linux-lowlatency-3.5.0.orig/fs/exec.c +++ linux-lowlatency-3.5.0/fs/exec.c @@ -56,6 +56,8 @@ #include #include +#include + #include #include #include @@ -781,6 +783,8 @@ fsnotify_open(file); + trace_open_exec(name); + err = deny_write_access(file); if (err) goto exit; @@ -1020,7 +1024,7 @@ unsigned long set, i; j++; - i = j * __NFDBITS; + i = j * BITS_PER_LONG; fdt = files_fdtable(files); if (i >= fdt->max_fds) break; @@ -1110,7 +1114,8 @@ bprm->mm = NULL; /* We're using it now */ set_fs(USER_DS); - current->flags &= ~(PF_RANDOMIZE | PF_FORKNOEXEC | PF_KTHREAD); + current->flags &= + ~(PF_RANDOMIZE | PF_FORKNOEXEC | PF_KTHREAD | PF_NOFREEZE); flush_thread(); current->personality &= ~bprm->per_clear; @@ -1201,9 +1206,24 @@ mutex_unlock(¤t->signal->cred_guard_mutex); abort_creds(bprm->cred); } + /* If a binfmt changed the interp, free it. */ + if (bprm->interp != bprm->filename) + kfree(bprm->interp); kfree(bprm); } +int bprm_change_interp(char *interp, struct linux_binprm *bprm) +{ + /* If a binfmt changed the interp, free it first. */ + if (bprm->interp != bprm->filename) + kfree(bprm->interp); + bprm->interp = kstrdup(interp, GFP_KERNEL); + if (!bprm->interp) + return -ENOMEM; + return 0; +} +EXPORT_SYMBOL(bprm_change_interp); + /* * install the new credentials for this executable */ @@ -1382,6 +1402,10 @@ struct linux_binfmt *fmt; pid_t old_pid, old_vpid; + /* This allows 4 levels of binfmt rewrites before failing hard. */ + if (depth > 5) + return -ELOOP; + retval = security_bprm_check(bprm); if (retval) return retval; @@ -1406,12 +1430,8 @@ if (!try_module_get(fmt->module)) continue; read_unlock(&binfmt_lock); + bprm->recursion_depth = depth + 1; retval = fn(bprm, regs); - /* - * Restore the depth counter to its starting value - * in this call, so we don't have to rely on every - * load_binary function to restore it on return. - */ bprm->recursion_depth = depth; if (retval >= 0) { if (depth == 0) { --- linux-lowlatency-3.5.0.orig/fs/file_table.c +++ linux-lowlatency-3.5.0/fs/file_table.c @@ -35,6 +35,7 @@ }; DEFINE_LGLOCK(files_lglock); +EXPORT_SYMBOL(files_lglock); /* SLAB cache for file structures */ static struct kmem_cache *filp_cachep __read_mostly; @@ -441,6 +442,8 @@ } } +EXPORT_SYMBOL(file_sb_list_del); + #ifdef CONFIG_SMP /* --- linux-lowlatency-3.5.0.orig/fs/fs-writeback.c +++ linux-lowlatency-3.5.0/fs/fs-writeback.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "internal.h" /* @@ -68,6 +69,7 @@ { return test_bit(BDI_writeback_running, &bdi->state); } +EXPORT_SYMBOL(writeback_in_progress); static inline struct backing_dev_info *inode_to_bdi(struct inode *inode) { @@ -232,6 +234,8 @@ static void inode_sync_complete(struct inode *inode) { inode->i_state &= ~I_SYNC; + /* If inode is clean an unused, put it into LRU now... */ + inode_add_lru(inode); /* Waiters must see I_SYNC cleared before being woken up */ smp_mb(); wake_up_bit(&inode->i_state, __I_SYNC); @@ -1171,6 +1175,8 @@ if ((inode->i_state & flags) == flags) return; + trace_dirty_inode(inode, current); + if (unlikely(block_dump)) block_dump___mark_inode_dirty(inode); --- linux-lowlatency-3.5.0.orig/fs/inode.c +++ linux-lowlatency-3.5.0/fs/inode.c @@ -56,6 +56,7 @@ static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock); __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock); +EXPORT_SYMBOL(inode_sb_list_lock); /* * Empty aops. Can be used for the cases where the user does not @@ -408,6 +409,19 @@ spin_unlock(&inode->i_sb->s_inode_lru_lock); } +/* + * Add inode to LRU if needed (inode is unused and clean). + * + * Needs inode->i_lock held. + */ +void inode_add_lru(struct inode *inode) +{ + if (!(inode->i_state & (I_DIRTY | I_SYNC | I_FREEING | I_WILL_FREE)) && + !atomic_read(&inode->i_count) && inode->i_sb->s_flags & MS_ACTIVE) + inode_lru_list_add(inode); +} + + static void inode_lru_list_del(struct inode *inode) { spin_lock(&inode->i_sb->s_inode_lru_lock); @@ -1390,8 +1404,7 @@ if (!drop && (sb->s_flags & MS_ACTIVE)) { inode->i_state |= I_REFERENCED; - if (!(inode->i_state & (I_DIRTY|I_SYNC))) - inode_lru_list_add(inode); + inode_add_lru(inode); spin_unlock(&inode->i_lock); return; } @@ -1491,7 +1504,7 @@ * This does the actual work of updating an inodes time or version. Must have * had called mnt_want_write() before calling this. */ -static int update_time(struct inode *inode, struct timespec *time, int flags) +int update_time(struct inode *inode, struct timespec *time, int flags) { if (inode->i_op->update_time) return inode->i_op->update_time(inode, time, flags); @@ -1507,6 +1520,7 @@ mark_inode_dirty_sync(inode); return 0; } +EXPORT_SYMBOL(update_time); /** * touch_atime - update the access time @@ -1883,3 +1897,7 @@ wake_up_bit(&inode->i_state, __I_DIO_WAKEUP); } EXPORT_SYMBOL(inode_dio_done); + +#define CREATE_TRACE_POINTS +#include + --- linux-lowlatency-3.5.0.orig/fs/internal.h +++ linux-lowlatency-3.5.0/fs/internal.h @@ -106,6 +106,7 @@ * inode.c */ extern spinlock_t inode_sb_list_lock; +extern void inode_add_lru(struct inode *inode); /* * fs-writeback.c --- linux-lowlatency-3.5.0.orig/fs/locks.c +++ linux-lowlatency-3.5.0/fs/locks.c @@ -308,7 +308,7 @@ return 0; } -static int assign_type(struct file_lock *fl, int type) +static int assign_type(struct file_lock *fl, long type) { switch (type) { case F_RDLCK: @@ -445,7 +445,7 @@ /* * Initialize a lease, use the default lock manager operations */ -static int lease_init(struct file *filp, int type, struct file_lock *fl) +static int lease_init(struct file *filp, long type, struct file_lock *fl) { if (assign_type(fl, type) != 0) return -EINVAL; @@ -463,7 +463,7 @@ } /* Allocate a file_lock initialised to this type of lease */ -static struct file_lock *lease_alloc(struct file *filp, int type) +static struct file_lock *lease_alloc(struct file *filp, long type) { struct file_lock *fl = locks_alloc_lock(); int error = -ENOMEM; --- linux-lowlatency-3.5.0.orig/fs/namei.c +++ linux-lowlatency-3.5.0/fs/namei.c @@ -315,6 +315,36 @@ } /** + * inode_only_permission - check access rights to a given inode only + * @inode: inode to check permissions on + * @mask: right to check for (%MAY_READ, %MAY_WRITE, %MAY_EXEC, ...) + * + * Uses to check read/write/execute permissions on an inode directly, we do + * not check filesystem permissions. + */ +int inode_only_permission(struct inode *inode, int mask) +{ + int retval; + + /* + * Nobody gets write access to an immutable file. + */ + if (unlikely(mask & MAY_WRITE) && IS_IMMUTABLE(inode)) + return -EACCES; + + retval = do_inode_permission(inode, mask); + if (retval) + return retval; + + retval = devcgroup_inode_permission(inode, mask); + if (retval) + return retval; + + return security_inode_permission(inode, mask); +} +EXPORT_SYMBOL(inode_only_permission); + +/** * inode_permission - check for access rights to a given inode * @inode: inode to check permission on * @mask: right to check for (%MAY_READ, %MAY_WRITE, %MAY_EXEC, ...) @@ -328,8 +358,6 @@ */ int inode_permission(struct inode *inode, int mask) { - int retval; - if (unlikely(mask & MAY_WRITE)) { umode_t mode = inode->i_mode; @@ -339,23 +367,9 @@ if (IS_RDONLY(inode) && (S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode))) return -EROFS; - - /* - * Nobody gets write access to an immutable file. - */ - if (IS_IMMUTABLE(inode)) - return -EACCES; } - retval = do_inode_permission(inode, mask); - if (retval) - return retval; - - retval = devcgroup_inode_permission(inode, mask); - if (retval) - return retval; - - return security_inode_permission(inode, mask); + return inode_only_permission(inode, mask); } /** @@ -1864,10 +1878,11 @@ * needs parent already locked. Doesn't follow mounts. * SMP-safe. */ -static struct dentry *lookup_hash(struct nameidata *nd) +struct dentry *lookup_hash(struct nameidata *nd) { return __lookup_hash(&nd->last, nd->path.dentry, nd); } +EXPORT_SYMBOL(lookup_hash); /** * lookup_one_len - filesystem helper to lookup single pathname component --- linux-lowlatency-3.5.0.orig/fs/namespace.c +++ linux-lowlatency-3.5.0/fs/namespace.c @@ -50,6 +50,7 @@ * tree or hash is modified or when a vfsmount structure is modified. */ DEFINE_BRLOCK(vfsmount_lock); +EXPORT_SYMBOL(vfsmount_lock); static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry) { @@ -1327,6 +1328,24 @@ release_mounts(&umount_list); } +struct vfsmount *clone_private_mount(struct path *path) +{ + struct mount *old_mnt = real_mount(path->mnt); + struct mount *new_mnt; + + if (IS_MNT_UNBINDABLE(old_mnt)) + return ERR_PTR(-EINVAL); + + down_read(&namespace_sem); + new_mnt = clone_mnt(old_mnt, path->dentry, CL_PRIVATE); + up_read(&namespace_sem); + if (!new_mnt) + return ERR_PTR(-ENOMEM); + + return &new_mnt->mnt; +} +EXPORT_SYMBOL_GPL(clone_private_mount); + int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, struct vfsmount *root) { @@ -1341,6 +1360,7 @@ } return 0; } +EXPORT_SYMBOL(iterate_mounts); static void cleanup_group_ids(struct mount *mnt, struct mount *end) { --- linux-lowlatency-3.5.0.orig/fs/open.c +++ linux-lowlatency-3.5.0/fs/open.c @@ -33,6 +33,9 @@ #include "internal.h" +#define CREATE_TRACE_POINTS +#include + int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, struct file *filp) { @@ -60,6 +63,7 @@ mutex_unlock(&dentry->d_inode->i_mutex); return ret; } +EXPORT_SYMBOL(do_truncate); static long do_sys_truncate(const char __user *pathname, loff_t length) { @@ -667,24 +671,24 @@ return 0; } -static struct file *do_dentry_open(struct dentry *dentry, struct vfsmount *mnt, - struct file *f, - int (*open)(struct inode *, struct file *), - const struct cred *cred) +static struct file *do_dentry_open(struct path *path, struct file *f, + int (*open)(struct inode *, struct file *), + const struct cred *cred) { static const struct file_operations empty_fops = {}; struct inode *inode; int error; + path_get(path); f->f_mode = OPEN_FMODE(f->f_flags) | FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE; if (unlikely(f->f_flags & O_PATH)) f->f_mode = FMODE_PATH; - inode = dentry->d_inode; + inode = path->dentry->d_inode; if (f->f_mode & FMODE_WRITE) { - error = __get_file_write_access(inode, mnt); + error = __get_file_write_access(inode, path->mnt); if (error) goto cleanup_file; if (!special_file(inode->i_mode)) @@ -692,8 +696,7 @@ } f->f_mapping = inode->i_mapping; - f->f_path.dentry = dentry; - f->f_path.mnt = mnt; + f->f_path = *path; f->f_pos = 0; file_sb_list_add(f, inode->i_sb); @@ -740,24 +743,22 @@ * here, so just reset the state. */ file_reset_write(f); - mnt_drop_write(mnt); + mnt_drop_write(path->mnt); } } file_sb_list_del(f); f->f_path.dentry = NULL; f->f_path.mnt = NULL; cleanup_file: - dput(dentry); - mntput(mnt); + path_put(path); return ERR_PTR(error); } -static struct file *__dentry_open(struct dentry *dentry, struct vfsmount *mnt, - struct file *f, +static struct file *__dentry_open(struct path *path, struct file *f, int (*open)(struct inode *, struct file *), const struct cred *cred) { - struct file *res = do_dentry_open(dentry, mnt, f, open, cred); + struct file *res = do_dentry_open(path, f, open, cred); if (!IS_ERR(res)) { int error = open_check_o_direct(f); if (error) { @@ -792,14 +793,14 @@ struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, int (*open)(struct inode *, struct file *)) { + struct path path = { .dentry = dentry, .mnt = nd->path.mnt }; const struct cred *cred = current_cred(); if (IS_ERR(nd->intent.open.file)) goto out; if (IS_ERR(dentry)) goto out_err; - nd->intent.open.file = __dentry_open(dget(dentry), mntget(nd->path.mnt), - nd->intent.open.file, + nd->intent.open.file = __dentry_open(&path, nd->intent.open.file, open, cred); out: return nd->intent.open.file; @@ -831,9 +832,7 @@ } else { struct file *res; - path_get(&nd->path); - res = do_dentry_open(nd->path.dentry, nd->path.mnt, - filp, NULL, cred); + res = vfs_open(&nd->path, filp, cred); if (!IS_ERR(res)) { int error; @@ -860,27 +859,48 @@ struct file *dentry_open(struct dentry *dentry, struct vfsmount *mnt, int flags, const struct cred *cred) { - int error; struct file *f; + struct file *ret; + struct path path = { .dentry = dentry, .mnt = mnt }; validate_creds(cred); /* We must always pass in a valid mount pointer. */ BUG_ON(!mnt); - error = -ENFILE; + ret = ERR_PTR(-ENFILE); f = get_empty_filp(); - if (f == NULL) { - dput(dentry); - mntput(mnt); - return ERR_PTR(error); + if (f != NULL) { + f->f_flags = flags; + ret = vfs_open(&path, f, cred); } + path_put(&path); - f->f_flags = flags; - return __dentry_open(dentry, mnt, f, NULL, cred); + return ret; } EXPORT_SYMBOL(dentry_open); +/** + * vfs_open - open the file at the given path + * @path: path to open + * @filp: newly allocated file with f_flag initialized + * @cred: credentials to use + * + * Open the file. If successful, the returned file will have acquired + * an additional reference for path. + */ +struct file *vfs_open(struct path *path, struct file *filp, + const struct cred *cred) +{ + struct inode *inode = path->dentry->d_inode; + + if (inode->i_op->open) + return inode->i_op->open(path->dentry, filp, cred); + else + return __dentry_open(path, filp, NULL, cred); +} +EXPORT_SYMBOL(vfs_open); + static void __put_unused_fd(struct files_struct *files, unsigned int fd) { struct fdtable *fdt = files_fdtable(files); @@ -930,9 +950,10 @@ int lookup_flags = 0; int acc_mode; - if (!(flags & O_CREAT)) - mode = 0; - op->mode = mode; + if (flags & O_CREAT) + op->mode = (mode & S_IALLUGO) | S_IFREG; + else + op->mode = 0; /* Must never be set by userspace */ flags &= ~FMODE_NONOTIFY; @@ -1035,6 +1056,7 @@ } else { fsnotify_open(f); fd_install(fd, f); + trace_do_sys_open(tmp, flags, mode); } } putname(tmp); --- linux-lowlatency-3.5.0.orig/fs/select.c +++ linux-lowlatency-3.5.0/fs/select.c @@ -345,8 +345,8 @@ struct fdtable *fdt; /* handle last in-complete long-word first */ - set = ~(~0UL << (n & (__NFDBITS-1))); - n /= __NFDBITS; + set = ~(~0UL << (n & (BITS_PER_LONG-1))); + n /= BITS_PER_LONG; fdt = files_fdtable(current->files); open_fds = fdt->open_fds + n; max = 0; @@ -373,7 +373,7 @@ max++; set >>= 1; } while (set); - max += n * __NFDBITS; + max += n * BITS_PER_LONG; } return max; @@ -435,11 +435,11 @@ in = *inp++; out = *outp++; ex = *exp++; all_bits = in | out | ex; if (all_bits == 0) { - i += __NFDBITS; + i += BITS_PER_LONG; continue; } - for (j = 0; j < __NFDBITS; ++j, ++i, bit <<= 1) { + for (j = 0; j < BITS_PER_LONG; ++j, ++i, bit <<= 1) { int fput_needed; if (i >= n) break; --- linux-lowlatency-3.5.0.orig/fs/splice.c +++ linux-lowlatency-3.5.0/fs/splice.c @@ -1090,8 +1090,8 @@ /* * Attempt to initiate a splice from pipe to file. */ -static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, - loff_t *ppos, size_t len, unsigned int flags) +long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags) { ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); @@ -1114,13 +1114,14 @@ return splice_write(pipe, out, ppos, len, flags); } +EXPORT_SYMBOL(do_splice_from); /* * Attempt to initiate a splice from a file to a pipe. */ -static long do_splice_to(struct file *in, loff_t *ppos, - struct pipe_inode_info *pipe, size_t len, - unsigned int flags) +long do_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags) { ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); @@ -1140,6 +1141,7 @@ return splice_read(in, ppos, pipe, len, flags); } +EXPORT_SYMBOL(do_splice_to); /** * splice_direct_to_actor - splices data directly between two non-pipes @@ -1305,6 +1307,7 @@ return ret; } +EXPORT_SYMBOL(do_splice_direct); static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe, struct pipe_inode_info *opipe, --- linux-lowlatency-3.5.0.orig/fs/stat.c +++ linux-lowlatency-3.5.0/fs/stat.c @@ -58,7 +58,7 @@ int vfs_fstat(unsigned int fd, struct kstat *stat) { int fput_needed; - struct file *f = fget_light(fd, &fput_needed); + struct file *f = fget_raw_light(fd, &fput_needed); int error = -EBADF; if (f) { --- linux-lowlatency-3.5.0.orig/fs/9p/vfs_dentry.c +++ linux-lowlatency-3.5.0/fs/9p/vfs_dentry.c @@ -106,7 +106,7 @@ struct inode *inode; struct v9fs_inode *v9inode; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; inode = dentry->d_inode; --- linux-lowlatency-3.5.0.orig/fs/afs/dir.c +++ linux-lowlatency-3.5.0/fs/afs/dir.c @@ -607,7 +607,7 @@ void *dir_version; int ret; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; vnode = AFS_FS_I(dentry->d_inode); --- linux-lowlatency-3.5.0.orig/fs/autofs4/root.c +++ linux-lowlatency-3.5.0/fs/autofs4/root.c @@ -392,10 +392,12 @@ ino->flags |= AUTOFS_INF_PENDING; spin_unlock(&sbi->fs_lock); status = autofs4_mount_wait(dentry); - if (status) - return ERR_PTR(status); spin_lock(&sbi->fs_lock); ino->flags &= ~AUTOFS_INF_PENDING; + if (status) { + spin_unlock(&sbi->fs_lock); + return ERR_PTR(status); + } } done: if (!(ino->flags & AUTOFS_INF_EXPIRING)) { --- linux-lowlatency-3.5.0.orig/fs/btrfs/async-thread.c +++ linux-lowlatency-3.5.0/fs/btrfs/async-thread.c @@ -206,10 +206,17 @@ work->ordered_func(work); - /* now take the lock again and call the freeing code */ + /* now take the lock again and drop our item from the list */ spin_lock(&workers->order_lock); list_del(&work->order_list); + spin_unlock(&workers->order_lock); + + /* + * we don't want to call the ordered free functions + * with the lock held though + */ work->ordered_free(work); + spin_lock(&workers->order_lock); } spin_unlock(&workers->order_lock); --- linux-lowlatency-3.5.0.orig/fs/btrfs/extent_io.c +++ linux-lowlatency-3.5.0/fs/btrfs/extent_io.c @@ -2329,23 +2329,10 @@ if (uptodate && tree->ops && tree->ops->readpage_end_io_hook) { ret = tree->ops->readpage_end_io_hook(page, start, end, state, mirror); - if (ret) { - /* no IO indicated but software detected errors - * in the block, either checksum errors or - * issues with the contents */ - struct btrfs_root *root = - BTRFS_I(page->mapping->host)->root; - struct btrfs_device *device; - + if (ret) uptodate = 0; - device = btrfs_find_device_for_logical( - root, start, mirror); - if (device) - btrfs_dev_stat_inc_and_print(device, - BTRFS_DEV_STAT_CORRUPTION_ERRS); - } else { + else clean_io_failure(start, page); - } } if (!uptodate && tree->ops && tree->ops->readpage_io_failed_hook) { --- linux-lowlatency-3.5.0.orig/fs/btrfs/volumes.c +++ linux-lowlatency-3.5.0/fs/btrfs/volumes.c @@ -4602,28 +4602,6 @@ return ret; } -struct btrfs_device *btrfs_find_device_for_logical(struct btrfs_root *root, - u64 logical, int mirror_num) -{ - struct btrfs_mapping_tree *map_tree = &root->fs_info->mapping_tree; - int ret; - u64 map_length = 0; - struct btrfs_bio *bbio = NULL; - struct btrfs_device *device; - - BUG_ON(mirror_num == 0); - ret = btrfs_map_block(map_tree, WRITE, logical, &map_length, &bbio, - mirror_num); - if (ret) { - BUG_ON(bbio != NULL); - return NULL; - } - BUG_ON(mirror_num != bbio->mirror_num); - device = bbio->stripes[mirror_num - 1].dev; - kfree(bbio); - return device; -} - int btrfs_read_chunk_tree(struct btrfs_root *root) { struct btrfs_path *path; --- linux-lowlatency-3.5.0.orig/fs/btrfs/volumes.h +++ linux-lowlatency-3.5.0/fs/btrfs/volumes.h @@ -288,8 +288,6 @@ int btrfs_chunk_readonly(struct btrfs_root *root, u64 chunk_offset); int find_free_dev_extent(struct btrfs_device *device, u64 num_bytes, u64 *start, u64 *max_avail); -struct btrfs_device *btrfs_find_device_for_logical(struct btrfs_root *root, - u64 logical, int mirror_num); void btrfs_dev_stat_print_on_error(struct btrfs_device *device); void btrfs_dev_stat_inc_and_print(struct btrfs_device *dev, int index); int btrfs_get_dev_stats(struct btrfs_root *root, --- linux-lowlatency-3.5.0.orig/fs/ceph/addr.c +++ linux-lowlatency-3.5.0/fs/ceph/addr.c @@ -205,7 +205,7 @@ dout("readpage inode %p file %p page %p index %lu\n", inode, filp, page, page->index); err = ceph_osdc_readpages(osdc, ceph_vino(inode), &ci->i_layout, - page->index << PAGE_CACHE_SHIFT, &len, + (u64) page_offset(page), &len, ci->i_truncate_seq, ci->i_truncate_size, &page, 1, 0); if (err == -ENOENT) @@ -286,7 +286,7 @@ int nr_pages = 0; int ret; - off = page->index << PAGE_CACHE_SHIFT; + off = (u64) page_offset(page); /* count pages */ next_index = page->index; @@ -426,7 +426,7 @@ struct ceph_inode_info *ci; struct ceph_fs_client *fsc; struct ceph_osd_client *osdc; - loff_t page_off = page->index << PAGE_CACHE_SHIFT; + loff_t page_off = page_offset(page); int len = PAGE_CACHE_SIZE; loff_t i_size; int err = 0; @@ -817,8 +817,7 @@ /* ok */ if (locked_pages == 0) { /* prepare async write request */ - offset = (unsigned long long)page->index - << PAGE_CACHE_SHIFT; + offset = (u64) page_offset(page); len = wsize; req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout, @@ -1180,7 +1179,7 @@ struct inode *inode = vma->vm_file->f_dentry->d_inode; struct page *page = vmf->page; struct ceph_mds_client *mdsc = ceph_inode_to_client(inode)->mdsc; - loff_t off = page->index << PAGE_CACHE_SHIFT; + loff_t off = page_offset(page); loff_t size, len; int ret; --- linux-lowlatency-3.5.0.orig/fs/ceph/debugfs.c +++ linux-lowlatency-3.5.0/fs/ceph/debugfs.c @@ -201,6 +201,7 @@ int err = -ENOMEM; dout("ceph_fs_debugfs_init\n"); + BUG_ON(!fsc->client->debugfs_dir); fsc->debugfs_congestion_kb = debugfs_create_file("writeback_congestion_kb", 0600, --- linux-lowlatency-3.5.0.orig/fs/ceph/export.c +++ linux-lowlatency-3.5.0/fs/ceph/export.c @@ -90,6 +90,8 @@ *max_len = handle_length; type = 255; } + if (dentry) + dput(dentry); return type; } @@ -99,7 +101,7 @@ * FIXME: we should try harder by querying the mds for the ino. */ static struct dentry *__fh_to_dentry(struct super_block *sb, - struct ceph_nfs_fh *fh) + struct ceph_nfs_fh *fh, int fh_len) { struct ceph_mds_client *mdsc = ceph_sb_to_client(sb)->mdsc; struct inode *inode; @@ -107,6 +109,9 @@ struct ceph_vino vino; int err; + if (fh_len < sizeof(*fh) / 4) + return ERR_PTR(-ESTALE); + dout("__fh_to_dentry %llx\n", fh->ino); vino.ino = fh->ino; vino.snap = CEPH_NOSNAP; @@ -150,7 +155,7 @@ * convert connectable fh to dentry */ static struct dentry *__cfh_to_dentry(struct super_block *sb, - struct ceph_nfs_confh *cfh) + struct ceph_nfs_confh *cfh, int fh_len) { struct ceph_mds_client *mdsc = ceph_sb_to_client(sb)->mdsc; struct inode *inode; @@ -158,6 +163,9 @@ struct ceph_vino vino; int err; + if (fh_len < sizeof(*cfh) / 4) + return ERR_PTR(-ESTALE); + dout("__cfh_to_dentry %llx (%llx/%x)\n", cfh->ino, cfh->parent_ino, cfh->parent_name_hash); @@ -207,9 +215,11 @@ int fh_len, int fh_type) { if (fh_type == 1) - return __fh_to_dentry(sb, (struct ceph_nfs_fh *)fid->raw); + return __fh_to_dentry(sb, (struct ceph_nfs_fh *)fid->raw, + fh_len); else - return __cfh_to_dentry(sb, (struct ceph_nfs_confh *)fid->raw); + return __cfh_to_dentry(sb, (struct ceph_nfs_confh *)fid->raw, + fh_len); } /* @@ -230,6 +240,8 @@ if (fh_type == 1) return ERR_PTR(-ESTALE); + if (fh_len < sizeof(*cfh) / 4) + return ERR_PTR(-ESTALE); pr_debug("fh_to_parent %llx/%d\n", cfh->parent_ino, cfh->parent_name_hash); --- linux-lowlatency-3.5.0.orig/fs/ceph/mds_client.c +++ linux-lowlatency-3.5.0/fs/ceph/mds_client.c @@ -394,11 +394,7 @@ s->s_seq = 0; mutex_init(&s->s_mutex); - ceph_con_init(mdsc->fsc->client->msgr, &s->s_con); - s->s_con.private = s; - s->s_con.ops = &mds_con_ops; - s->s_con.peer_name.type = CEPH_ENTITY_TYPE_MDS; - s->s_con.peer_name.num = cpu_to_le64(mds); + ceph_con_init(&s->s_con, s, &mds_con_ops, &mdsc->fsc->client->msgr); spin_lock_init(&s->s_gen_ttl_lock); s->s_cap_gen = 0; @@ -440,7 +436,8 @@ mdsc->sessions[mds] = s; atomic_inc(&s->s_ref); /* one ref to sessions[], one to caller */ - ceph_con_open(&s->s_con, ceph_mdsmap_get_addr(mdsc->mdsmap, mds)); + ceph_con_open(&s->s_con, CEPH_ENTITY_TYPE_MDS, mds, + ceph_mdsmap_get_addr(mdsc->mdsmap, mds)); return s; @@ -2532,6 +2529,7 @@ session->s_seq = 0; ceph_con_open(&session->s_con, + CEPH_ENTITY_TYPE_MDS, mds, ceph_mdsmap_get_addr(mdsc->mdsmap, mds)); /* replay unsafe requests */ @@ -2636,7 +2634,8 @@ ceph_mdsmap_is_laggy(newmap, i) ? " (laggy)" : "", session_state_name(s->s_state)); - if (memcmp(ceph_mdsmap_get_addr(oldmap, i), + if (i >= newmap->m_max_mds || + memcmp(ceph_mdsmap_get_addr(oldmap, i), ceph_mdsmap_get_addr(newmap, i), sizeof(struct ceph_entity_addr))) { if (s->s_state == CEPH_MDS_SESSION_OPENING) { --- linux-lowlatency-3.5.0.orig/fs/cifs/cifs_unicode.c +++ linux-lowlatency-3.5.0/fs/cifs/cifs_unicode.c @@ -203,6 +203,27 @@ int i; wchar_t wchar_to; /* needed to quiet sparse */ + /* special case for utf8 to handle no plane0 chars */ + if (!strcmp(codepage->charset, "utf8")) { + /* + * convert utf8 -> utf16, we assume we have enough space + * as caller should have assumed conversion does not overflow + * in destination len is length in wchar_t units (16bits) + */ + i = utf8s_to_utf16s(from, len, UTF16_LITTLE_ENDIAN, + (wchar_t *) to, len); + + /* if success terminate and exit */ + if (i >= 0) + goto success; + /* + * if fails fall back to UCS encoding as this + * function should not return negative values + * currently can fail only if source contains + * invalid encoded characters + */ + } + for (i = 0; len && *from; i++, from += charlen, len -= charlen) { charlen = codepage->char2uni(from, len, &wchar_to); if (charlen < 1) { @@ -215,6 +236,7 @@ put_unaligned_le16(wchar_to, &to[i]); } +success: put_unaligned_le16(0, &to[i]); return i; } @@ -328,6 +350,6 @@ } ctoUTF16_out: - return i; + return j; } --- linux-lowlatency-3.5.0.orig/fs/cifs/cifsacl.c +++ linux-lowlatency-3.5.0/fs/cifs/cifsacl.c @@ -225,6 +225,13 @@ } static void +cifs_copy_sid(struct cifs_sid *dst, const struct cifs_sid *src) +{ + memcpy(dst, src, sizeof(*dst)); + dst->num_subauth = min_t(u8, src->num_subauth, NUM_SUBAUTHS); +} + +static void id_rb_insert(struct rb_root *root, struct cifs_sid *sidptr, struct cifs_sid_id **psidid, char *typestr) { @@ -248,7 +255,7 @@ } } - memcpy(&(*psidid)->sid, sidptr, sizeof(struct cifs_sid)); + cifs_copy_sid(&(*psidid)->sid, sidptr); (*psidid)->time = jiffies - (SID_MAP_RETRY + 1); (*psidid)->refcount = 0; @@ -354,7 +361,7 @@ * any fields of the node after a reference is put . */ if (test_bit(SID_ID_MAPPED, &psidid->state)) { - memcpy(ssid, &psidid->sid, sizeof(struct cifs_sid)); + cifs_copy_sid(ssid, &psidid->sid); psidid->time = jiffies; /* update ts for accessing */ goto id_sid_out; } @@ -370,14 +377,14 @@ if (IS_ERR(sidkey)) { rc = -EINVAL; cFYI(1, "%s: Can't map and id to a SID", __func__); + } else if (sidkey->datalen < sizeof(struct cifs_sid)) { + rc = -EIO; + cFYI(1, "%s: Downcall contained malformed key " + "(datalen=%hu)", __func__, sidkey->datalen); } else { lsid = (struct cifs_sid *)sidkey->payload.data; - memcpy(&psidid->sid, lsid, - sidkey->datalen < sizeof(struct cifs_sid) ? - sidkey->datalen : sizeof(struct cifs_sid)); - memcpy(ssid, &psidid->sid, - sidkey->datalen < sizeof(struct cifs_sid) ? - sidkey->datalen : sizeof(struct cifs_sid)); + cifs_copy_sid(&psidid->sid, lsid); + cifs_copy_sid(ssid, &psidid->sid); set_bit(SID_ID_MAPPED, &psidid->state); key_put(sidkey); kfree(psidid->sidstr); @@ -396,7 +403,7 @@ return rc; } if (test_bit(SID_ID_MAPPED, &psidid->state)) - memcpy(ssid, &psidid->sid, sizeof(struct cifs_sid)); + cifs_copy_sid(ssid, &psidid->sid); else rc = -EINVAL; } @@ -675,8 +682,6 @@ static void copy_sec_desc(const struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd, __u32 sidsoffset) { - int i; - struct cifs_sid *owner_sid_ptr, *group_sid_ptr; struct cifs_sid *nowner_sid_ptr, *ngroup_sid_ptr; @@ -692,26 +697,14 @@ owner_sid_ptr = (struct cifs_sid *)((char *)pntsd + le32_to_cpu(pntsd->osidoffset)); nowner_sid_ptr = (struct cifs_sid *)((char *)pnntsd + sidsoffset); - - nowner_sid_ptr->revision = owner_sid_ptr->revision; - nowner_sid_ptr->num_subauth = owner_sid_ptr->num_subauth; - for (i = 0; i < 6; i++) - nowner_sid_ptr->authority[i] = owner_sid_ptr->authority[i]; - for (i = 0; i < 5; i++) - nowner_sid_ptr->sub_auth[i] = owner_sid_ptr->sub_auth[i]; + cifs_copy_sid(nowner_sid_ptr, owner_sid_ptr); /* copy group sid */ group_sid_ptr = (struct cifs_sid *)((char *)pntsd + le32_to_cpu(pntsd->gsidoffset)); ngroup_sid_ptr = (struct cifs_sid *)((char *)pnntsd + sidsoffset + sizeof(struct cifs_sid)); - - ngroup_sid_ptr->revision = group_sid_ptr->revision; - ngroup_sid_ptr->num_subauth = group_sid_ptr->num_subauth; - for (i = 0; i < 6; i++) - ngroup_sid_ptr->authority[i] = group_sid_ptr->authority[i]; - for (i = 0; i < 5; i++) - ngroup_sid_ptr->sub_auth[i] = group_sid_ptr->sub_auth[i]; + cifs_copy_sid(ngroup_sid_ptr, group_sid_ptr); return; } @@ -1120,8 +1113,7 @@ kfree(nowner_sid_ptr); return rc; } - memcpy(owner_sid_ptr, nowner_sid_ptr, - sizeof(struct cifs_sid)); + cifs_copy_sid(owner_sid_ptr, nowner_sid_ptr); kfree(nowner_sid_ptr); *aclflag = CIFS_ACL_OWNER; } @@ -1139,8 +1131,7 @@ kfree(ngroup_sid_ptr); return rc; } - memcpy(group_sid_ptr, ngroup_sid_ptr, - sizeof(struct cifs_sid)); + cifs_copy_sid(group_sid_ptr, ngroup_sid_ptr); kfree(ngroup_sid_ptr); *aclflag = CIFS_ACL_GROUP; } --- linux-lowlatency-3.5.0.orig/fs/cifs/cifsglob.h +++ linux-lowlatency-3.5.0/fs/cifs/cifsglob.h @@ -657,13 +657,13 @@ * Take a reference on the file private data. Must be called with * cifs_file_list_lock held. */ -static inline -struct cifsFileInfo *cifsFileInfo_get(struct cifsFileInfo *cifs_file) +static inline void +cifsFileInfo_get_locked(struct cifsFileInfo *cifs_file) { ++cifs_file->count; - return cifs_file; } +struct cifsFileInfo *cifsFileInfo_get(struct cifsFileInfo *cifs_file); void cifsFileInfo_put(struct cifsFileInfo *cifs_file); /* --- linux-lowlatency-3.5.0.orig/fs/cifs/connect.c +++ linux-lowlatency-3.5.0/fs/cifs/connect.c @@ -70,6 +70,7 @@ /* Mount options that take no arguments */ Opt_user_xattr, Opt_nouser_xattr, Opt_forceuid, Opt_noforceuid, + Opt_forcegid, Opt_noforcegid, Opt_noblocksend, Opt_noautotune, Opt_hard, Opt_soft, Opt_perm, Opt_noperm, Opt_mapchars, Opt_nomapchars, Opt_sfu, @@ -121,6 +122,8 @@ { Opt_nouser_xattr, "nouser_xattr" }, { Opt_forceuid, "forceuid" }, { Opt_noforceuid, "noforceuid" }, + { Opt_forcegid, "forcegid" }, + { Opt_noforcegid, "noforcegid" }, { Opt_noblocksend, "noblocksend" }, { Opt_noautotune, "noautotune" }, { Opt_hard, "hard" }, @@ -238,8 +241,8 @@ enum { Opt_sec_krb5, Opt_sec_krb5i, Opt_sec_krb5p, Opt_sec_ntlmsspi, Opt_sec_ntlmssp, - Opt_ntlm, Opt_sec_ntlmi, Opt_sec_ntlmv2i, - Opt_sec_nontlm, Opt_sec_lanman, + Opt_ntlm, Opt_sec_ntlmi, Opt_sec_ntlmv2, + Opt_sec_ntlmv2i, Opt_sec_lanman, Opt_sec_none, Opt_sec_err @@ -253,8 +256,9 @@ { Opt_sec_ntlmssp, "ntlmssp" }, { Opt_ntlm, "ntlm" }, { Opt_sec_ntlmi, "ntlmi" }, + { Opt_sec_ntlmv2, "nontlm" }, + { Opt_sec_ntlmv2, "ntlmv2" }, { Opt_sec_ntlmv2i, "ntlmv2i" }, - { Opt_sec_nontlm, "nontlm" }, { Opt_sec_lanman, "lanman" }, { Opt_sec_none, "none" }, @@ -1167,7 +1171,7 @@ case Opt_sec_ntlmi: vol->secFlg |= CIFSSEC_MAY_NTLM | CIFSSEC_MUST_SIGN; break; - case Opt_sec_nontlm: + case Opt_sec_ntlmv2: vol->secFlg |= CIFSSEC_MAY_NTLMV2; break; case Opt_sec_ntlmv2i: @@ -1344,6 +1348,12 @@ case Opt_noforceuid: override_uid = 0; break; + case Opt_forcegid: + override_gid = 1; + break; + case Opt_noforcegid: + override_gid = 0; + break; case Opt_noblocksend: vol->noblocksnd = 1; break; --- linux-lowlatency-3.5.0.orig/fs/cifs/file.c +++ linux-lowlatency-3.5.0/fs/cifs/file.c @@ -284,6 +284,15 @@ static void cifs_del_lock_waiters(struct cifsLockInfo *lock); +struct cifsFileInfo * +cifsFileInfo_get(struct cifsFileInfo *cifs_file) +{ + spin_lock(&cifs_file_list_lock); + cifsFileInfo_get_locked(cifs_file); + spin_unlock(&cifs_file_list_lock); + return cifs_file; +} + /* * Release a reference on the file private data. This may involve closing * the filehandle out on the server. Must be called without holding @@ -1563,7 +1572,7 @@ if (!open_file->invalidHandle) { /* found a good file */ /* lock it so it will not be closed on us */ - cifsFileInfo_get(open_file); + cifsFileInfo_get_locked(open_file); spin_unlock(&cifs_file_list_lock); return open_file; } /* else might as well continue, and look for @@ -1615,7 +1624,7 @@ if (OPEN_FMODE(open_file->f_flags) & FMODE_WRITE) { if (!open_file->invalidHandle) { /* found a good writable file */ - cifsFileInfo_get(open_file); + cifsFileInfo_get_locked(open_file); spin_unlock(&cifs_file_list_lock); return open_file; } else { @@ -1632,7 +1641,7 @@ if (inv_file) { any_available = false; - cifsFileInfo_get(inv_file); + cifsFileInfo_get_locked(inv_file); } spin_unlock(&cifs_file_list_lock); @@ -3082,8 +3091,6 @@ break; } - spin_lock(&cifs_file_list_lock); - spin_unlock(&cifs_file_list_lock); rdata->cfile = cifsFileInfo_get(open_file); rdata->mapping = mapping; rdata->offset = offset; --- linux-lowlatency-3.5.0.orig/fs/coda/dir.c +++ linux-lowlatency-3.5.0/fs/coda/dir.c @@ -541,7 +541,7 @@ struct inode *inode; struct coda_inode_info *cii; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; inode = de->d_inode; --- linux-lowlatency-3.5.0.orig/fs/ecryptfs/ecryptfs_kernel.h +++ linux-lowlatency-3.5.0/fs/ecryptfs/ecryptfs_kernel.h @@ -568,6 +568,8 @@ struct inode *ecryptfs_get_inode(struct inode *lower_inode, struct super_block *sb); void ecryptfs_i_size_init(const char *page_virt, struct inode *inode); +int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry, + struct inode *ecryptfs_inode); int ecryptfs_decode_and_decrypt_filename(char **decrypted_name, size_t *decrypted_name_size, struct dentry *ecryptfs_dentry, --- linux-lowlatency-3.5.0.orig/fs/ecryptfs/file.c +++ linux-lowlatency-3.5.0/fs/ecryptfs/file.c @@ -138,29 +138,50 @@ return rc; } -static void ecryptfs_vma_close(struct vm_area_struct *vma) -{ - filemap_write_and_wait(vma->vm_file->f_mapping); -} - -static const struct vm_operations_struct ecryptfs_file_vm_ops = { - .close = ecryptfs_vma_close, - .fault = filemap_fault, -}; +struct kmem_cache *ecryptfs_file_info_cache; -static int ecryptfs_file_mmap(struct file *file, struct vm_area_struct *vma) +static int read_or_initialize_metadata(struct dentry *dentry) { + struct inode *inode = dentry->d_inode; + struct ecryptfs_mount_crypt_stat *mount_crypt_stat; + struct ecryptfs_crypt_stat *crypt_stat; int rc; - rc = generic_file_mmap(file, vma); + crypt_stat = &ecryptfs_inode_to_private(inode)->crypt_stat; + mount_crypt_stat = &ecryptfs_superblock_to_private( + inode->i_sb)->mount_crypt_stat; + mutex_lock(&crypt_stat->cs_mutex); + + if (crypt_stat->flags & ECRYPTFS_POLICY_APPLIED && + crypt_stat->flags & ECRYPTFS_KEY_VALID) { + rc = 0; + goto out; + } + + rc = ecryptfs_read_metadata(dentry); if (!rc) - vma->vm_ops = &ecryptfs_file_vm_ops; + goto out; + + if (mount_crypt_stat->flags & ECRYPTFS_PLAINTEXT_PASSTHROUGH_ENABLED) { + crypt_stat->flags &= ~(ECRYPTFS_I_SIZE_INITIALIZED + | ECRYPTFS_ENCRYPTED); + rc = 0; + goto out; + } + + if (!(mount_crypt_stat->flags & ECRYPTFS_XATTR_METADATA_ENABLED) && + !i_size_read(ecryptfs_inode_to_lower(inode))) { + rc = ecryptfs_initialize_file(dentry, inode); + if (!rc) + goto out; + } + rc = -EIO; +out: + mutex_unlock(&crypt_stat->cs_mutex); return rc; } -struct kmem_cache *ecryptfs_file_info_cache; - /** * ecryptfs_open * @inode: inode speciying file to open @@ -236,32 +257,9 @@ rc = 0; goto out; } - mutex_lock(&crypt_stat->cs_mutex); - if (!(crypt_stat->flags & ECRYPTFS_POLICY_APPLIED) - || !(crypt_stat->flags & ECRYPTFS_KEY_VALID)) { - rc = ecryptfs_read_metadata(ecryptfs_dentry); - if (rc) { - ecryptfs_printk(KERN_DEBUG, - "Valid headers not found\n"); - if (!(mount_crypt_stat->flags - & ECRYPTFS_PLAINTEXT_PASSTHROUGH_ENABLED)) { - rc = -EIO; - printk(KERN_WARNING "Either the lower file " - "is not in a valid eCryptfs format, " - "or the key could not be retrieved. " - "Plaintext passthrough mode is not " - "enabled; returning -EIO\n"); - mutex_unlock(&crypt_stat->cs_mutex); - goto out_put; - } - rc = 0; - crypt_stat->flags &= ~(ECRYPTFS_I_SIZE_INITIALIZED - | ECRYPTFS_ENCRYPTED); - mutex_unlock(&crypt_stat->cs_mutex); - goto out; - } - } - mutex_unlock(&crypt_stat->cs_mutex); + rc = read_or_initialize_metadata(ecryptfs_dentry); + if (rc) + goto out_put; ecryptfs_printk(KERN_DEBUG, "inode w/ addr = [0x%p], i_ino = " "[0x%.16lx] size: [0x%.16llx]\n", inode, inode->i_ino, (unsigned long long)i_size_read(inode)); @@ -277,8 +275,14 @@ static int ecryptfs_flush(struct file *file, fl_owner_t td) { - return file->f_mode & FMODE_WRITE - ? filemap_write_and_wait(file->f_mapping) : 0; + struct file *lower_file = ecryptfs_file_to_lower(file); + + if (lower_file->f_op && lower_file->f_op->flush) { + filemap_write_and_wait(file->f_mapping); + return lower_file->f_op->flush(lower_file, td); + } + + return 0; } static int ecryptfs_release(struct inode *inode, struct file *file) @@ -292,15 +296,7 @@ static int ecryptfs_fsync(struct file *file, loff_t start, loff_t end, int datasync) { - int rc = 0; - - rc = generic_file_fsync(file, start, end, datasync); - if (rc) - goto out; - rc = vfs_fsync_range(ecryptfs_file_to_lower(file), start, end, - datasync); -out: - return rc; + return vfs_fsync(ecryptfs_file_to_lower(file), datasync); } static int ecryptfs_fasync(int fd, struct file *file, int flag) @@ -369,7 +365,7 @@ #ifdef CONFIG_COMPAT .compat_ioctl = ecryptfs_compat_ioctl, #endif - .mmap = ecryptfs_file_mmap, + .mmap = generic_file_mmap, .open = ecryptfs_open, .flush = ecryptfs_flush, .release = ecryptfs_release, --- linux-lowlatency-3.5.0.orig/fs/ecryptfs/inode.c +++ linux-lowlatency-3.5.0/fs/ecryptfs/inode.c @@ -143,6 +143,31 @@ return 0; } +static int ecryptfs_do_unlink(struct inode *dir, struct dentry *dentry, + struct inode *inode) +{ + struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry); + struct inode *lower_dir_inode = ecryptfs_inode_to_lower(dir); + struct dentry *lower_dir_dentry; + int rc; + + dget(lower_dentry); + lower_dir_dentry = lock_parent(lower_dentry); + rc = vfs_unlink(lower_dir_inode, lower_dentry); + if (rc) { + printk(KERN_ERR "Error in vfs_unlink; rc = [%d]\n", rc); + goto out_unlock; + } + fsstack_copy_attr_times(dir, lower_dir_inode); + set_nlink(inode, ecryptfs_inode_to_lower(inode)->i_nlink); + inode->i_ctime = dir->i_ctime; + d_drop(dentry); +out_unlock: + unlock_dir(lower_dir_dentry); + dput(lower_dentry); + return rc; +} + /** * ecryptfs_do_create * @directory_inode: inode of the new file's dentry's parent in ecryptfs @@ -182,8 +207,10 @@ } inode = __ecryptfs_get_inode(lower_dentry->d_inode, directory_inode->i_sb); - if (IS_ERR(inode)) + if (IS_ERR(inode)) { + vfs_unlink(lower_dir_dentry->d_inode, lower_dentry); goto out_lock; + } fsstack_copy_attr_times(directory_inode, lower_dir_dentry->d_inode); fsstack_copy_inode_size(directory_inode, lower_dir_dentry->d_inode); out_lock: @@ -200,8 +227,8 @@ * * Returns zero on success */ -static int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry, - struct inode *ecryptfs_inode) +int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry, + struct inode *ecryptfs_inode) { struct ecryptfs_crypt_stat *crypt_stat = &ecryptfs_inode_to_private(ecryptfs_inode)->crypt_stat; @@ -265,7 +292,9 @@ * that this on disk file is prepared to be an ecryptfs file */ rc = ecryptfs_initialize_file(ecryptfs_dentry, ecryptfs_inode); if (rc) { - drop_nlink(ecryptfs_inode); + ecryptfs_do_unlink(directory_inode, ecryptfs_dentry, + ecryptfs_inode); + make_bad_inode(ecryptfs_inode); unlock_new_inode(ecryptfs_inode); iput(ecryptfs_inode); goto out; @@ -477,27 +506,7 @@ static int ecryptfs_unlink(struct inode *dir, struct dentry *dentry) { - int rc = 0; - struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry); - struct inode *lower_dir_inode = ecryptfs_inode_to_lower(dir); - struct dentry *lower_dir_dentry; - - dget(lower_dentry); - lower_dir_dentry = lock_parent(lower_dentry); - rc = vfs_unlink(lower_dir_inode, lower_dentry); - if (rc) { - printk(KERN_ERR "Error in vfs_unlink; rc = [%d]\n", rc); - goto out_unlock; - } - fsstack_copy_attr_times(dir, lower_dir_inode); - set_nlink(dentry->d_inode, - ecryptfs_inode_to_lower(dentry->d_inode)->i_nlink); - dentry->d_inode->i_ctime = dir->i_ctime; - d_drop(dentry); -out_unlock: - unlock_dir(lower_dir_dentry); - dput(lower_dentry); - return rc; + return ecryptfs_do_unlink(dir, dentry, dentry->d_inode); } static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry, @@ -621,6 +630,7 @@ struct dentry *lower_old_dir_dentry; struct dentry *lower_new_dir_dentry; struct dentry *trap = NULL; + struct inode *target_inode; lower_old_dentry = ecryptfs_dentry_to_lower(old_dentry); lower_new_dentry = ecryptfs_dentry_to_lower(new_dentry); @@ -628,6 +638,7 @@ dget(lower_new_dentry); lower_old_dir_dentry = dget_parent(lower_old_dentry); lower_new_dir_dentry = dget_parent(lower_new_dentry); + target_inode = new_dentry->d_inode; trap = lock_rename(lower_old_dir_dentry, lower_new_dir_dentry); /* source should not be ancestor of target */ if (trap == lower_old_dentry) { @@ -643,6 +654,9 @@ lower_new_dir_dentry->d_inode, lower_new_dentry); if (rc) goto out_lock; + if (target_inode) + fsstack_copy_attr_all(target_inode, + ecryptfs_inode_to_lower(target_inode)); fsstack_copy_attr_all(new_dir, lower_new_dir_dentry->d_inode); if (new_dir != old_dir) fsstack_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode); @@ -972,12 +986,6 @@ goto out; } - if (S_ISREG(inode->i_mode)) { - rc = filemap_write_and_wait(inode->i_mapping); - if (rc) - goto out; - fsstack_copy_attr_all(inode, lower_inode); - } memcpy(&lower_ia, ia, sizeof(lower_ia)); if (ia->ia_valid & ATTR_FILE) lower_ia.ia_file = ecryptfs_file_to_lower(ia->ia_file); --- linux-lowlatency-3.5.0.orig/fs/ecryptfs/main.c +++ linux-lowlatency-3.5.0/fs/ecryptfs/main.c @@ -162,6 +162,7 @@ inode_info = ecryptfs_inode_to_private(inode); if (atomic_dec_and_mutex_lock(&inode_info->lower_file_count, &inode_info->lower_file_mutex)) { + filemap_write_and_wait(inode->i_mapping); fput(inode_info->lower_file); inode_info->lower_file = NULL; mutex_unlock(&inode_info->lower_file_mutex); @@ -279,6 +280,7 @@ char *fnek_src; char *cipher_key_bytes_src; char *fn_cipher_key_bytes_src; + u8 cipher_code; *check_ruid = 0; @@ -420,6 +422,18 @@ && !fn_cipher_key_bytes_set) mount_crypt_stat->global_default_fn_cipher_key_bytes = mount_crypt_stat->global_default_cipher_key_size; + + cipher_code = ecryptfs_code_for_cipher_string( + mount_crypt_stat->global_default_cipher_name, + mount_crypt_stat->global_default_cipher_key_size); + if (!cipher_code) { + ecryptfs_printk(KERN_ERR, + "eCryptfs doesn't support cipher: %s", + mount_crypt_stat->global_default_cipher_name); + rc = -EINVAL; + goto out; + } + mutex_lock(&key_tfm_list_mutex); if (!ecryptfs_tfm_exists(mount_crypt_stat->global_default_cipher_name, NULL)) { @@ -505,7 +519,6 @@ goto out; } - s->s_flags = flags; rc = bdi_setup_and_register(&sbi->bdi, "ecryptfs", BDI_CAP_MAP_COPY); if (rc) goto out1; @@ -541,9 +554,25 @@ } ecryptfs_set_superblock_lower(s, path.dentry->d_sb); + + /** + * Set the POSIX ACL flag based on whether they're enabled in the lower + * mount. Force a read-only eCryptfs mount if the lower mount is ro. + * Allow a ro eCryptfs mount even when the lower mount is rw. + */ + s->s_flags = flags & ~MS_POSIXACL; + s->s_flags |= path.dentry->d_sb->s_flags & (MS_RDONLY | MS_POSIXACL); + s->s_maxbytes = path.dentry->d_sb->s_maxbytes; s->s_blocksize = path.dentry->d_sb->s_blocksize; s->s_magic = ECRYPTFS_SUPER_MAGIC; + s->s_stack_depth = path.dentry->d_sb->s_stack_depth + 1; + + rc = -EINVAL; + if (s->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) { + printk(KERN_ERR "eCryptfs: maximum fs stacking depth exceeded\n"); + goto out_free; + } inode = ecryptfs_get_inode(path.dentry->d_inode, s); rc = PTR_ERR(inode); --- linux-lowlatency-3.5.0.orig/fs/ecryptfs/mmap.c +++ linux-lowlatency-3.5.0/fs/ecryptfs/mmap.c @@ -66,18 +66,6 @@ { int rc; - /* - * Refuse to write the page out if we are called from reclaim context - * since our writepage() path may potentially allocate memory when - * calling into the lower fs vfs_write() which may in turn invoke - * us again. - */ - if (current->flags & PF_MEMALLOC) { - redirty_page_for_writepage(wbc, page); - rc = 0; - goto out; - } - rc = ecryptfs_encrypt_page(page); if (rc) { ecryptfs_printk(KERN_WARNING, "Error encrypting " @@ -498,7 +486,6 @@ struct ecryptfs_crypt_stat *crypt_stat = &ecryptfs_inode_to_private(ecryptfs_inode)->crypt_stat; int rc; - int need_unlock_page = 1; ecryptfs_printk(KERN_DEBUG, "Calling fill_zeros_to_end_of_page" "(page w/ index = [0x%.16lx], to = [%d])\n", index, to); @@ -519,26 +506,26 @@ "zeros in page with index = [0x%.16lx]\n", index); goto out; } - set_page_dirty(page); - unlock_page(page); - need_unlock_page = 0; + rc = ecryptfs_encrypt_page(page); + if (rc) { + ecryptfs_printk(KERN_WARNING, "Error encrypting page (upper " + "index [0x%.16lx])\n", index); + goto out; + } if (pos + copied > i_size_read(ecryptfs_inode)) { i_size_write(ecryptfs_inode, pos + copied); ecryptfs_printk(KERN_DEBUG, "Expanded file size to " "[0x%.16llx]\n", (unsigned long long)i_size_read(ecryptfs_inode)); - balance_dirty_pages_ratelimited(mapping); - rc = ecryptfs_write_inode_size_to_metadata(ecryptfs_inode); - if (rc) { - printk(KERN_ERR "Error writing inode size to metadata; " - "rc = [%d]\n", rc); - goto out; - } } - rc = copied; + rc = ecryptfs_write_inode_size_to_metadata(ecryptfs_inode); + if (rc) + printk(KERN_ERR "Error writing inode size to metadata; " + "rc = [%d]\n", rc); + else + rc = copied; out: - if (need_unlock_page) - unlock_page(page); + unlock_page(page); page_cache_release(page); return rc; } --- linux-lowlatency-3.5.0.orig/fs/exofs/ore.c +++ linux-lowlatency-3.5.0/fs/exofs/ore.c @@ -837,11 +837,11 @@ bio->bi_rw |= REQ_WRITE; } - osd_req_write(or, _ios_obj(ios, dev), per_dev->offset, - bio, per_dev->length); + osd_req_write(or, _ios_obj(ios, cur_comp), + per_dev->offset, bio, per_dev->length); ORE_DBGMSG("write(0x%llx) offset=0x%llx " "length=0x%llx dev=%d\n", - _LLU(_ios_obj(ios, dev)->id), + _LLU(_ios_obj(ios, cur_comp)->id), _LLU(per_dev->offset), _LLU(per_dev->length), dev); } else if (ios->kern_buff) { @@ -853,20 +853,20 @@ (ios->si.unit_off + ios->length > ios->layout->stripe_unit)); - ret = osd_req_write_kern(or, _ios_obj(ios, per_dev->dev), + ret = osd_req_write_kern(or, _ios_obj(ios, cur_comp), per_dev->offset, ios->kern_buff, ios->length); if (unlikely(ret)) goto out; ORE_DBGMSG2("write_kern(0x%llx) offset=0x%llx " "length=0x%llx dev=%d\n", - _LLU(_ios_obj(ios, dev)->id), + _LLU(_ios_obj(ios, cur_comp)->id), _LLU(per_dev->offset), _LLU(ios->length), per_dev->dev); } else { - osd_req_set_attributes(or, _ios_obj(ios, dev)); + osd_req_set_attributes(or, _ios_obj(ios, cur_comp)); ORE_DBGMSG2("obj(0x%llx) set_attributes=%d dev=%d\n", - _LLU(_ios_obj(ios, dev)->id), + _LLU(_ios_obj(ios, cur_comp)->id), ios->out_attr_len, dev); } --- linux-lowlatency-3.5.0.orig/fs/ext3/inode.c +++ linux-lowlatency-3.5.0/fs/ext3/inode.c @@ -3072,6 +3072,8 @@ struct ext3_inode_info *ei = EXT3_I(inode); struct buffer_head *bh = iloc->bh; int err = 0, rc, block; + int need_datasync = 0; + __le32 disksize; uid_t i_uid; gid_t i_gid; @@ -3113,7 +3115,11 @@ raw_inode->i_gid_high = 0; } raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); - raw_inode->i_size = cpu_to_le32(ei->i_disksize); + disksize = cpu_to_le32(ei->i_disksize); + if (disksize != raw_inode->i_size) { + need_datasync = 1; + raw_inode->i_size = disksize; + } raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec); raw_inode->i_ctime = cpu_to_le32(inode->i_ctime.tv_sec); raw_inode->i_mtime = cpu_to_le32(inode->i_mtime.tv_sec); @@ -3129,8 +3135,11 @@ if (!S_ISREG(inode->i_mode)) { raw_inode->i_dir_acl = cpu_to_le32(ei->i_dir_acl); } else { - raw_inode->i_size_high = - cpu_to_le32(ei->i_disksize >> 32); + disksize = cpu_to_le32(ei->i_disksize >> 32); + if (disksize != raw_inode->i_size_high) { + raw_inode->i_size_high = disksize; + need_datasync = 1; + } if (ei->i_disksize > 0x7fffffffULL) { struct super_block *sb = inode->i_sb; if (!EXT3_HAS_RO_COMPAT_FEATURE(sb, @@ -3183,6 +3192,8 @@ ext3_clear_inode_state(inode, EXT3_STATE_NEW); atomic_set(&ei->i_sync_tid, handle->h_transaction->t_tid); + if (need_datasync) + atomic_set(&ei->i_datasync_tid, handle->h_transaction->t_tid); out_brelse: brelse (bh); ext3_std_error(inode->i_sb, err); --- linux-lowlatency-3.5.0.orig/fs/ext4/balloc.c +++ linux-lowlatency-3.5.0/fs/ext4/balloc.c @@ -174,8 +174,7 @@ ext4_free_inodes_set(sb, gdp, 0); ext4_itable_unused_set(sb, gdp, 0); memset(bh->b_data, 0xff, sb->s_blocksize); - ext4_block_bitmap_csum_set(sb, block_group, gdp, bh, - EXT4_BLOCKS_PER_GROUP(sb) / 8); + ext4_block_bitmap_csum_set(sb, block_group, gdp, bh); return; } memset(bh->b_data, 0, sb->s_blocksize); @@ -212,8 +211,7 @@ */ ext4_mark_bitmap_end(num_clusters_in_group(sb, block_group), sb->s_blocksize * 8, bh->b_data); - ext4_block_bitmap_csum_set(sb, block_group, gdp, bh, - EXT4_BLOCKS_PER_GROUP(sb) / 8); + ext4_block_bitmap_csum_set(sb, block_group, gdp, bh); ext4_group_desc_csum_set(sb, block_group, gdp); } @@ -280,14 +278,18 @@ return desc; } -static int ext4_valid_block_bitmap(struct super_block *sb, - struct ext4_group_desc *desc, - unsigned int block_group, - struct buffer_head *bh) +/* + * Return the block number which was discovered to be invalid, or 0 if + * the block bitmap is valid. + */ +static ext4_fsblk_t ext4_valid_block_bitmap(struct super_block *sb, + struct ext4_group_desc *desc, + unsigned int block_group, + struct buffer_head *bh) { ext4_grpblk_t offset; ext4_grpblk_t next_zero_bit; - ext4_fsblk_t bitmap_blk; + ext4_fsblk_t blk; ext4_fsblk_t group_first_block; if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_FLEX_BG)) { @@ -297,37 +299,33 @@ * or it has to also read the block group where the bitmaps * are located to verify they are set. */ - return 1; + return 0; } group_first_block = ext4_group_first_block_no(sb, block_group); /* check whether block bitmap block number is set */ - bitmap_blk = ext4_block_bitmap(sb, desc); - offset = bitmap_blk - group_first_block; + blk = ext4_block_bitmap(sb, desc); + offset = blk - group_first_block; if (!ext4_test_bit(offset, bh->b_data)) /* bad block bitmap */ - goto err_out; + return blk; /* check whether the inode bitmap block number is set */ - bitmap_blk = ext4_inode_bitmap(sb, desc); - offset = bitmap_blk - group_first_block; + blk = ext4_inode_bitmap(sb, desc); + offset = blk - group_first_block; if (!ext4_test_bit(offset, bh->b_data)) /* bad block bitmap */ - goto err_out; + return blk; /* check whether the inode table block number is set */ - bitmap_blk = ext4_inode_table(sb, desc); - offset = bitmap_blk - group_first_block; + blk = ext4_inode_table(sb, desc); + offset = blk - group_first_block; next_zero_bit = ext4_find_next_zero_bit(bh->b_data, offset + EXT4_SB(sb)->s_itb_per_group, offset); - if (next_zero_bit >= offset + EXT4_SB(sb)->s_itb_per_group) - /* good bitmap for inode tables */ - return 1; - -err_out: - ext4_error(sb, "Invalid block bitmap - block_group = %d, block = %llu", - block_group, bitmap_blk); + if (next_zero_bit < offset + EXT4_SB(sb)->s_itb_per_group) + /* bad bitmap for inode tables */ + return blk; return 0; } @@ -336,14 +334,26 @@ unsigned int block_group, struct buffer_head *bh) { + ext4_fsblk_t blk; + if (buffer_verified(bh)) return; ext4_lock_group(sb, block_group); - if (ext4_valid_block_bitmap(sb, desc, block_group, bh) && - ext4_block_bitmap_csum_verify(sb, block_group, desc, bh, - EXT4_BLOCKS_PER_GROUP(sb) / 8)) - set_buffer_verified(bh); + blk = ext4_valid_block_bitmap(sb, desc, block_group, bh); + if (unlikely(blk != 0)) { + ext4_unlock_group(sb, block_group); + ext4_error(sb, "bg %u: block %llu: invalid block bitmap", + block_group, blk); + return; + } + if (unlikely(!ext4_block_bitmap_csum_verify(sb, block_group, + desc, bh))) { + ext4_unlock_group(sb, block_group); + ext4_error(sb, "bg %u: bad block bitmap checksum", block_group); + return; + } + set_buffer_verified(bh); ext4_unlock_group(sb, block_group); } @@ -609,7 +619,8 @@ if (bitmap_bh == NULL) continue; - x = ext4_count_free(bitmap_bh, sb->s_blocksize); + x = ext4_count_free(bitmap_bh->b_data, + EXT4_BLOCKS_PER_GROUP(sb) / 8); printk(KERN_DEBUG "group %u: stored = %d, counted = %u\n", i, ext4_free_group_clusters(sb, gdp), x); bitmap_count += x; --- linux-lowlatency-3.5.0.orig/fs/ext4/bitmap.c +++ linux-lowlatency-3.5.0/fs/ext4/bitmap.c @@ -11,24 +11,18 @@ #include #include "ext4.h" -#ifdef EXT4FS_DEBUG - static const int nibblemap[] = {4, 3, 3, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1, 0}; -unsigned int ext4_count_free(struct buffer_head *map, unsigned int numchars) +unsigned int ext4_count_free(char *bitmap, unsigned int numchars) { unsigned int i, sum = 0; - if (!map) - return 0; for (i = 0; i < numchars; i++) - sum += nibblemap[map->b_data[i] & 0xf] + - nibblemap[(map->b_data[i] >> 4) & 0xf]; + sum += nibblemap[bitmap[i] & 0xf] + + nibblemap[(bitmap[i] >> 4) & 0xf]; return sum; } -#endif /* EXT4FS_DEBUG */ - int ext4_inode_bitmap_csum_verify(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, struct buffer_head *bh, int sz) @@ -71,11 +65,12 @@ int ext4_block_bitmap_csum_verify(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, - struct buffer_head *bh, int sz) + struct buffer_head *bh) { __u32 hi; __u32 provided, calculated; struct ext4_sb_info *sbi = EXT4_SB(sb); + int sz = EXT4_CLUSTERS_PER_GROUP(sb) / 8; if (!EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_METADATA_CSUM)) @@ -92,14 +87,14 @@ if (provided == calculated) return 1; - ext4_error(sb, "Bad block bitmap checksum: block_group = %u", group); return 0; } void ext4_block_bitmap_csum_set(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, - struct buffer_head *bh, int sz) + struct buffer_head *bh) { + int sz = EXT4_CLUSTERS_PER_GROUP(sb) / 8; __u32 csum; struct ext4_sb_info *sbi = EXT4_SB(sb); --- linux-lowlatency-3.5.0.orig/fs/ext4/ext4.h +++ linux-lowlatency-3.5.0/fs/ext4/ext4.h @@ -1161,8 +1161,7 @@ unsigned long s_desc_per_block; /* Number of group descriptors per block */ ext4_group_t s_groups_count; /* Number of groups in the fs */ ext4_group_t s_blockfile_groups;/* Groups acceptable for non-extent files */ - unsigned long s_overhead_last; /* Last calculated overhead */ - unsigned long s_blocks_last; /* Last seen block count */ + unsigned long s_overhead; /* # of fs overhead clusters */ unsigned int s_cluster_ratio; /* Number of blocks per cluster */ unsigned int s_cluster_bits; /* log2 of s_cluster_ratio */ loff_t s_bitmap_maxbytes; /* max bytes for bitmap files */ @@ -1852,7 +1851,7 @@ # define NORET_AND noreturn, /* bitmap.c */ -extern unsigned int ext4_count_free(struct buffer_head *, unsigned); +extern unsigned int ext4_count_free(char *bitmap, unsigned numchars); void ext4_inode_bitmap_csum_set(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, struct buffer_head *bh, int sz); @@ -1861,10 +1860,10 @@ struct buffer_head *bh, int sz); void ext4_block_bitmap_csum_set(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, - struct buffer_head *bh, int sz); + struct buffer_head *bh); int ext4_block_bitmap_csum_verify(struct super_block *sb, ext4_group_t group, struct ext4_group_desc *gdp, - struct buffer_head *bh, int sz); + struct buffer_head *bh); /* balloc.c */ extern void ext4_validate_block_bitmap(struct super_block *sb, @@ -2037,10 +2036,10 @@ extern int ext4_resize_fs(struct super_block *sb, ext4_fsblk_t n_blocks_count); /* super.c */ +extern int ext4_calculate_overhead(struct super_block *sb); extern int ext4_superblock_csum_verify(struct super_block *sb, struct ext4_super_block *es); -extern void ext4_superblock_csum_set(struct super_block *sb, - struct ext4_super_block *es); +extern void ext4_superblock_csum_set(struct super_block *sb); extern void *ext4_kvmalloc(size_t size, gfp_t flags); extern void *ext4_kvzalloc(size_t size, gfp_t flags); extern void ext4_kvfree(void *ptr); @@ -2323,9 +2322,7 @@ static inline void ext4_mark_super_dirty(struct super_block *sb) { - struct ext4_super_block *es = EXT4_SB(sb)->s_es; - - ext4_superblock_csum_set(sb, es); + ext4_superblock_csum_set(sb); if (EXT4_SB(sb)->s_journal == NULL) sb->s_dirt =1; } --- linux-lowlatency-3.5.0.orig/fs/ext4/ext4_jbd2.c +++ linux-lowlatency-3.5.0/fs/ext4/ext4_jbd2.c @@ -145,15 +145,13 @@ int err = 0; if (ext4_handle_valid(handle)) { - ext4_superblock_csum_set(sb, - (struct ext4_super_block *)bh->b_data); + ext4_superblock_csum_set(sb); err = jbd2_journal_dirty_metadata(handle, bh); if (err) ext4_journal_abort_handle(where, line, __func__, bh, handle, err); } else if (now) { - ext4_superblock_csum_set(sb, - (struct ext4_super_block *)bh->b_data); + ext4_superblock_csum_set(sb); mark_buffer_dirty(bh); } else sb->s_dirt = 1; --- linux-lowlatency-3.5.0.orig/fs/ext4/extents.c +++ linux-lowlatency-3.5.0/fs/ext4/extents.c @@ -52,6 +52,9 @@ #define EXT4_EXT_MARK_UNINIT1 0x2 /* mark first half uninitialized */ #define EXT4_EXT_MARK_UNINIT2 0x4 /* mark second half uninitialized */ +#define EXT4_EXT_DATA_VALID1 0x8 /* first half contains valid data */ +#define EXT4_EXT_DATA_VALID2 0x10 /* second half contains valid data */ + static __le32 ext4_extent_block_csum(struct inode *inode, struct ext4_extent_header *eh) { @@ -2570,10 +2573,10 @@ { struct super_block *sb = inode->i_sb; int depth = ext_depth(inode); - struct ext4_ext_path *path; + struct ext4_ext_path *path = NULL; ext4_fsblk_t partial_cluster = 0; handle_t *handle; - int i, err; + int i = 0, err; ext_debug("truncate since %u to %u\n", start, end); @@ -2606,8 +2609,12 @@ } depth = ext_depth(inode); ex = path[depth].p_ext; - if (!ex) + if (!ex) { + ext4_ext_drop_refs(path); + kfree(path); + path = NULL; goto cont; + } ee_block = le32_to_cpu(ex->ee_block); @@ -2637,8 +2644,6 @@ if (err < 0) goto out; } - ext4_ext_drop_refs(path); - kfree(path); } cont: @@ -2647,19 +2652,28 @@ * after i_size and walking into the tree depth-wise. */ depth = ext_depth(inode); - path = kzalloc(sizeof(struct ext4_ext_path) * (depth + 1), GFP_NOFS); - if (path == NULL) { - ext4_journal_stop(handle); - return -ENOMEM; - } - path[0].p_depth = depth; - path[0].p_hdr = ext_inode_hdr(inode); + if (path) { + int k = i = depth; + while (--k > 0) + path[k].p_block = + le16_to_cpu(path[k].p_hdr->eh_entries)+1; + } else { + path = kzalloc(sizeof(struct ext4_ext_path) * (depth + 1), + GFP_NOFS); + if (path == NULL) { + ext4_journal_stop(handle); + return -ENOMEM; + } + path[0].p_depth = depth; + path[0].p_hdr = ext_inode_hdr(inode); + i = 0; - if (ext4_ext_check(inode, path[0].p_hdr, depth)) { - err = -EIO; - goto out; + if (ext4_ext_check(inode, path[0].p_hdr, depth)) { + err = -EIO; + goto out; + } } - i = err = 0; + err = 0; while (i >= 0 && err == 0) { if (i == depth) { @@ -2773,8 +2787,10 @@ out: ext4_ext_drop_refs(path); kfree(path); - if (err == -EAGAIN) + if (err == -EAGAIN) { + path = NULL; goto again; + } ext4_journal_stop(handle); return err; @@ -2883,6 +2899,9 @@ unsigned int ee_len, depth; int err = 0; + BUG_ON((split_flag & (EXT4_EXT_DATA_VALID1 | EXT4_EXT_DATA_VALID2)) == + (EXT4_EXT_DATA_VALID1 | EXT4_EXT_DATA_VALID2)); + ext_debug("ext4_split_extents_at: inode %lu, logical" "block %llu\n", inode->i_ino, (unsigned long long)split); @@ -2941,7 +2960,14 @@ err = ext4_ext_insert_extent(handle, inode, path, &newex, flags); if (err == -ENOSPC && (EXT4_EXT_MAY_ZEROOUT & split_flag)) { - err = ext4_ext_zeroout(inode, &orig_ex); + if (split_flag & (EXT4_EXT_DATA_VALID1|EXT4_EXT_DATA_VALID2)) { + if (split_flag & EXT4_EXT_DATA_VALID1) + err = ext4_ext_zeroout(inode, ex2); + else + err = ext4_ext_zeroout(inode, ex); + } else + err = ext4_ext_zeroout(inode, &orig_ex); + if (err) goto fix_extent_len; /* update the extent length and mark as initialized */ @@ -2994,12 +3020,13 @@ uninitialized = ext4_ext_is_uninitialized(ex); if (map->m_lblk + map->m_len < ee_block + ee_len) { - split_flag1 = split_flag & EXT4_EXT_MAY_ZEROOUT ? - EXT4_EXT_MAY_ZEROOUT : 0; + split_flag1 = split_flag & EXT4_EXT_MAY_ZEROOUT; flags1 = flags | EXT4_GET_BLOCKS_PRE_IO; if (uninitialized) split_flag1 |= EXT4_EXT_MARK_UNINIT1 | EXT4_EXT_MARK_UNINIT2; + if (split_flag & EXT4_EXT_DATA_VALID2) + split_flag1 |= EXT4_EXT_DATA_VALID1; err = ext4_split_extent_at(handle, inode, path, map->m_lblk + map->m_len, split_flag1, flags1); if (err) @@ -3012,8 +3039,8 @@ return PTR_ERR(path); if (map->m_lblk >= ee_block) { - split_flag1 = split_flag & EXT4_EXT_MAY_ZEROOUT ? - EXT4_EXT_MAY_ZEROOUT : 0; + split_flag1 = split_flag & (EXT4_EXT_MAY_ZEROOUT | + EXT4_EXT_DATA_VALID2); if (uninitialized) split_flag1 |= EXT4_EXT_MARK_UNINIT1; if (split_flag & EXT4_EXT_MARK_UNINIT2) @@ -3291,26 +3318,47 @@ split_flag |= ee_block + ee_len <= eof_block ? EXT4_EXT_MAY_ZEROOUT : 0; split_flag |= EXT4_EXT_MARK_UNINIT2; - + if (flags & EXT4_GET_BLOCKS_CONVERT) + split_flag |= EXT4_EXT_DATA_VALID2; flags |= EXT4_GET_BLOCKS_PRE_IO; return ext4_split_extent(handle, inode, path, map, split_flag, flags); } static int ext4_convert_unwritten_extents_endio(handle_t *handle, - struct inode *inode, - struct ext4_ext_path *path) + struct inode *inode, + struct ext4_map_blocks *map, + struct ext4_ext_path *path) { struct ext4_extent *ex; + ext4_lblk_t ee_block; + unsigned int ee_len; int depth; int err = 0; depth = ext_depth(inode); ex = path[depth].p_ext; + ee_block = le32_to_cpu(ex->ee_block); + ee_len = ext4_ext_get_actual_len(ex); ext_debug("ext4_convert_unwritten_extents_endio: inode %lu, logical" "block %llu, max_blocks %u\n", inode->i_ino, - (unsigned long long)le32_to_cpu(ex->ee_block), - ext4_ext_get_actual_len(ex)); + (unsigned long long)ee_block, ee_len); + + /* If extent is larger than requested then split is required */ + if (ee_block != map->m_lblk || ee_len > map->m_len) { + err = ext4_split_unwritten_extents(handle, inode, map, path, + EXT4_GET_BLOCKS_CONVERT); + if (err < 0) + goto out; + ext4_ext_drop_refs(path); + path = ext4_ext_find_extent(inode, map->m_lblk, path); + if (IS_ERR(path)) { + err = PTR_ERR(path); + goto out; + } + depth = ext_depth(inode); + ex = path[depth].p_ext; + } err = ext4_ext_get_access(handle, inode, path + depth); if (err) @@ -3618,7 +3666,7 @@ } /* IO end_io complete, convert the filled extent to written */ if ((flags & EXT4_GET_BLOCKS_CONVERT)) { - ret = ext4_convert_unwritten_extents_endio(handle, inode, + ret = ext4_convert_unwritten_extents_endio(handle, inode, map, path); if (ret >= 0) { ext4_update_inode_fsync_trans(handle, inode, 1); --- linux-lowlatency-3.5.0.orig/fs/ext4/ialloc.c +++ linux-lowlatency-3.5.0/fs/ext4/ialloc.c @@ -717,6 +717,10 @@ "inode=%lu", ino + 1); continue; } + BUFFER_TRACE(inode_bitmap_bh, "get_write_access"); + err = ext4_journal_get_write_access(handle, inode_bitmap_bh); + if (err) + goto fail; ext4_lock_group(sb, group); ret2 = ext4_test_and_set_bit(ino, inode_bitmap_bh->b_data); ext4_unlock_group(sb, group); @@ -730,6 +734,11 @@ goto out; got: + BUFFER_TRACE(inode_bitmap_bh, "call ext4_handle_dirty_metadata"); + err = ext4_handle_dirty_metadata(handle, NULL, inode_bitmap_bh); + if (err) + goto fail; + /* We may have to initialize the block bitmap if it isn't already */ if (ext4_has_group_desc_csum(sb) && gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { @@ -754,9 +763,7 @@ ext4_free_group_clusters_set(sb, gdp, ext4_free_clusters_after_init(sb, group, gdp)); ext4_block_bitmap_csum_set(sb, group, gdp, - block_bitmap_bh, - EXT4_BLOCKS_PER_GROUP(sb) / - 8); + block_bitmap_bh); ext4_group_desc_csum_set(sb, group, gdp); } ext4_unlock_group(sb, group); @@ -765,11 +772,6 @@ goto fail; } - BUFFER_TRACE(inode_bitmap_bh, "get_write_access"); - err = ext4_journal_get_write_access(handle, inode_bitmap_bh); - if (err) - goto fail; - BUFFER_TRACE(group_desc_bh, "get_write_access"); err = ext4_journal_get_write_access(handle, group_desc_bh); if (err) @@ -817,11 +819,6 @@ } ext4_unlock_group(sb, group); - BUFFER_TRACE(inode_bitmap_bh, "call ext4_handle_dirty_metadata"); - err = ext4_handle_dirty_metadata(handle, NULL, inode_bitmap_bh); - if (err) - goto fail; - BUFFER_TRACE(group_desc_bh, "call ext4_handle_dirty_metadata"); err = ext4_handle_dirty_metadata(handle, NULL, group_desc_bh); if (err) @@ -1054,7 +1051,8 @@ if (!bitmap_bh) continue; - x = ext4_count_free(bitmap_bh, EXT4_INODES_PER_GROUP(sb) / 8); + x = ext4_count_free(bitmap_bh->b_data, + EXT4_INODES_PER_GROUP(sb) / 8); printk(KERN_DEBUG "group %lu: stored = %d, counted = %lu\n", (unsigned long) i, ext4_free_inodes_count(sb, gdp), x); bitmap_count += x; --- linux-lowlatency-3.5.0.orig/fs/ext4/inode.c +++ linux-lowlatency-3.5.0/fs/ext4/inode.c @@ -346,6 +346,15 @@ used = ei->i_reserved_data_blocks; } + if (unlikely(ei->i_allocated_meta_blocks > ei->i_reserved_meta_blocks)) { + ext4_msg(inode->i_sb, KERN_NOTICE, "%s: ino %lu, allocated %d " + "with only %d reserved metadata blocks\n", __func__, + inode->i_ino, ei->i_allocated_meta_blocks, + ei->i_reserved_meta_blocks); + WARN_ON(1); + ei->i_allocated_meta_blocks = ei->i_reserved_meta_blocks; + } + /* Update per-inode reservations */ ei->i_reserved_data_blocks -= used; ei->i_reserved_meta_blocks -= ei->i_allocated_meta_blocks; @@ -1171,6 +1180,17 @@ struct ext4_inode_info *ei = EXT4_I(inode); unsigned int md_needed; int ret; + ext4_lblk_t save_last_lblock; + int save_len; + + /* + * We will charge metadata quota at writeout time; this saves + * us from metadata over-estimation, though we may go over by + * a small amount in the end. Here we just reserve for data. + */ + ret = dquot_reserve_block(inode, EXT4_C2B(sbi, 1)); + if (ret) + return ret; /* * recalculate the amount of metadata blocks to reserve @@ -1179,32 +1199,31 @@ */ repeat: spin_lock(&ei->i_block_reservation_lock); + /* + * ext4_calc_metadata_amount() has side effects, which we have + * to be prepared undo if we fail to claim space. + */ + save_len = ei->i_da_metadata_calc_len; + save_last_lblock = ei->i_da_metadata_calc_last_lblock; md_needed = EXT4_NUM_B2C(sbi, ext4_calc_metadata_amount(inode, lblock)); trace_ext4_da_reserve_space(inode, md_needed); - spin_unlock(&ei->i_block_reservation_lock); /* - * We will charge metadata quota at writeout time; this saves - * us from metadata over-estimation, though we may go over by - * a small amount in the end. Here we just reserve for data. - */ - ret = dquot_reserve_block(inode, EXT4_C2B(sbi, 1)); - if (ret) - return ret; - /* * We do still charge estimated metadata to the sb though; * we cannot afford to run out of free blocks. */ if (ext4_claim_free_clusters(sbi, md_needed + 1, 0)) { - dquot_release_reservation_block(inode, EXT4_C2B(sbi, 1)); + ei->i_da_metadata_calc_len = save_len; + ei->i_da_metadata_calc_last_lblock = save_last_lblock; + spin_unlock(&ei->i_block_reservation_lock); if (ext4_should_retry_alloc(inode->i_sb, &retries)) { yield(); goto repeat; } + dquot_release_reservation_block(inode, EXT4_C2B(sbi, 1)); return -ENOSPC; } - spin_lock(&ei->i_block_reservation_lock); ei->i_reserved_data_blocks++; ei->i_reserved_meta_blocks += md_needed; spin_unlock(&ei->i_block_reservation_lock); @@ -2434,6 +2453,16 @@ free_blocks = EXT4_C2B(sbi, percpu_counter_read_positive(&sbi->s_freeclusters_counter)); dirty_blocks = percpu_counter_read_positive(&sbi->s_dirtyclusters_counter); + /* + * Start pushing delalloc when 1/2 of free blocks are dirty. + */ + if (dirty_blocks && (free_blocks < 2 * dirty_blocks) && + !writeback_in_progress(sb->s_bdi) && + down_read_trylock(&sb->s_umount)) { + writeback_inodes_sb(sb, WB_REASON_FS_FREE_SPACE); + up_read(&sb->s_umount); + } + if (2 * free_blocks < 3 * dirty_blocks || free_blocks < (dirty_blocks + EXT4_FREECLUSTERS_WATERMARK)) { /* @@ -2442,13 +2471,6 @@ */ return 1; } - /* - * Even if we don't switch but are nearing capacity, - * start pushing delalloc when 1/2 of free blocks are dirty. - */ - if (free_blocks < 2 * dirty_blocks) - writeback_inodes_sb_if_idle(sb, WB_REASON_FS_FREE_SPACE); - return 0; } @@ -3966,6 +3988,7 @@ struct ext4_inode_info *ei = EXT4_I(inode); struct buffer_head *bh = iloc->bh; int err = 0, rc, block; + int need_datasync = 0; uid_t i_uid; gid_t i_gid; @@ -4016,7 +4039,10 @@ raw_inode->i_file_acl_high = cpu_to_le16(ei->i_file_acl >> 32); raw_inode->i_file_acl_lo = cpu_to_le32(ei->i_file_acl); - ext4_isize_set(raw_inode, ei->i_disksize); + if (ei->i_disksize != ext4_isize(raw_inode)) { + ext4_isize_set(raw_inode, ei->i_disksize); + need_datasync = 1; + } if (ei->i_disksize > 0x7fffffffULL) { struct super_block *sb = inode->i_sb; if (!EXT4_HAS_RO_COMPAT_FEATURE(sb, @@ -4069,7 +4095,7 @@ err = rc; ext4_clear_inode_state(inode, EXT4_STATE_NEW); - ext4_update_inode_fsync_trans(handle, inode, 0); + ext4_update_inode_fsync_trans(handle, inode, need_datasync); out_brelse: brelse(bh); ext4_std_error(inode->i_sb, err); --- linux-lowlatency-3.5.0.orig/fs/ext4/mballoc.c +++ linux-lowlatency-3.5.0/fs/ext4/mballoc.c @@ -2798,8 +2798,7 @@ } len = ext4_free_group_clusters(sb, gdp) - ac->ac_b_ex.fe_len; ext4_free_group_clusters_set(sb, gdp, len); - ext4_block_bitmap_csum_set(sb, ac->ac_b_ex.fe_group, gdp, bitmap_bh, - EXT4_BLOCKS_PER_GROUP(sb) / 8); + ext4_block_bitmap_csum_set(sb, ac->ac_b_ex.fe_group, gdp, bitmap_bh); ext4_group_desc_csum_set(sb, ac->ac_b_ex.fe_group, gdp); ext4_unlock_group(sb, ac->ac_b_ex.fe_group); @@ -4659,8 +4658,7 @@ ret = ext4_free_group_clusters(sb, gdp) + count_clusters; ext4_free_group_clusters_set(sb, gdp, ret); - ext4_block_bitmap_csum_set(sb, block_group, gdp, bitmap_bh, - EXT4_BLOCKS_PER_GROUP(sb) / 8); + ext4_block_bitmap_csum_set(sb, block_group, gdp, bitmap_bh); ext4_group_desc_csum_set(sb, block_group, gdp); ext4_unlock_group(sb, block_group); percpu_counter_add(&sbi->s_freeclusters_counter, count_clusters); @@ -4805,8 +4803,7 @@ mb_free_blocks(NULL, &e4b, bit, count); blk_free_count = blocks_freed + ext4_free_group_clusters(sb, desc); ext4_free_group_clusters_set(sb, desc, blk_free_count); - ext4_block_bitmap_csum_set(sb, block_group, desc, bitmap_bh, - EXT4_BLOCKS_PER_GROUP(sb) / 8); + ext4_block_bitmap_csum_set(sb, block_group, desc, bitmap_bh); ext4_group_desc_csum_set(sb, block_group, desc); ext4_unlock_group(sb, block_group); percpu_counter_add(&sbi->s_freeclusters_counter, @@ -4986,8 +4983,9 @@ end = start + (range->len >> sb->s_blocksize_bits) - 1; minlen = range->minlen >> sb->s_blocksize_bits; - if (unlikely(minlen > EXT4_CLUSTERS_PER_GROUP(sb)) || - unlikely(start >= max_blks)) + if (minlen > EXT4_CLUSTERS_PER_GROUP(sb) || + start >= max_blks || + range->len < sb->s_blocksize) return -EINVAL; if (end >= max_blks) end = max_blks - 1; --- linux-lowlatency-3.5.0.orig/fs/ext4/move_extent.c +++ linux-lowlatency-3.5.0/fs/ext4/move_extent.c @@ -141,55 +141,21 @@ } /** - * mext_check_null_inode - NULL check for two inodes - * - * If inode1 or inode2 is NULL, return -EIO. Otherwise, return 0. - */ -static int -mext_check_null_inode(struct inode *inode1, struct inode *inode2, - const char *function, unsigned int line) -{ - int ret = 0; - - if (inode1 == NULL) { - __ext4_error(inode2->i_sb, function, line, - "Both inodes should not be NULL: " - "inode1 NULL inode2 %lu", inode2->i_ino); - ret = -EIO; - } else if (inode2 == NULL) { - __ext4_error(inode1->i_sb, function, line, - "Both inodes should not be NULL: " - "inode1 %lu inode2 NULL", inode1->i_ino); - ret = -EIO; - } - return ret; -} - -/** * double_down_write_data_sem - Acquire two inodes' write lock of i_data_sem * - * @orig_inode: original inode structure - * @donor_inode: donor inode structure - * Acquire write lock of i_data_sem of the two inodes (orig and donor) by - * i_ino order. + * Acquire write lock of i_data_sem of the two inodes */ static void -double_down_write_data_sem(struct inode *orig_inode, struct inode *donor_inode) +double_down_write_data_sem(struct inode *first, struct inode *second) { - struct inode *first = orig_inode, *second = donor_inode; + if (first < second) { + down_write(&EXT4_I(first)->i_data_sem); + down_write_nested(&EXT4_I(second)->i_data_sem, SINGLE_DEPTH_NESTING); + } else { + down_write(&EXT4_I(second)->i_data_sem); + down_write_nested(&EXT4_I(first)->i_data_sem, SINGLE_DEPTH_NESTING); - /* - * Use the inode number to provide the stable locking order instead - * of its address, because the C language doesn't guarantee you can - * compare pointers that don't come from the same array. - */ - if (donor_inode->i_ino < orig_inode->i_ino) { - first = donor_inode; - second = orig_inode; } - - down_write(&EXT4_I(first)->i_data_sem); - down_write_nested(&EXT4_I(second)->i_data_sem, SINGLE_DEPTH_NESTING); } /** @@ -969,14 +935,6 @@ return -EINVAL; } - /* Files should be in the same ext4 FS */ - if (orig_inode->i_sb != donor_inode->i_sb) { - ext4_debug("ext4 move extent: The argument files " - "should be in same FS [ino:orig %lu, donor %lu]\n", - orig_inode->i_ino, donor_inode->i_ino); - return -EINVAL; - } - /* Ext4 move extent supports only extent based file */ if (!(ext4_test_inode_flag(orig_inode, EXT4_INODE_EXTENTS))) { ext4_debug("ext4 move extent: orig file is not extents " @@ -1072,35 +1030,19 @@ * @inode1: the inode structure * @inode2: the inode structure * - * Lock two inodes' i_mutex by i_ino order. - * If inode1 or inode2 is NULL, return -EIO. Otherwise, return 0. + * Lock two inodes' i_mutex */ -static int +static void mext_inode_double_lock(struct inode *inode1, struct inode *inode2) { - int ret = 0; - - BUG_ON(inode1 == NULL && inode2 == NULL); - - ret = mext_check_null_inode(inode1, inode2, __func__, __LINE__); - if (ret < 0) - goto out; - - if (inode1 == inode2) { - mutex_lock(&inode1->i_mutex); - goto out; - } - - if (inode1->i_ino < inode2->i_ino) { + BUG_ON(inode1 == inode2); + if (inode1 < inode2) { mutex_lock_nested(&inode1->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&inode2->i_mutex, I_MUTEX_CHILD); } else { mutex_lock_nested(&inode2->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&inode1->i_mutex, I_MUTEX_CHILD); } - -out: - return ret; } /** @@ -1109,28 +1051,13 @@ * @inode1: the inode that is released first * @inode2: the inode that is released second * - * If inode1 or inode2 is NULL, return -EIO. Otherwise, return 0. */ -static int +static void mext_inode_double_unlock(struct inode *inode1, struct inode *inode2) { - int ret = 0; - - BUG_ON(inode1 == NULL && inode2 == NULL); - - ret = mext_check_null_inode(inode1, inode2, __func__, __LINE__); - if (ret < 0) - goto out; - - if (inode1) - mutex_unlock(&inode1->i_mutex); - - if (inode2 && inode2 != inode1) - mutex_unlock(&inode2->i_mutex); - -out: - return ret; + mutex_unlock(&inode1->i_mutex); + mutex_unlock(&inode2->i_mutex); } /** @@ -1187,16 +1114,23 @@ ext4_lblk_t block_end, seq_start, add_blocks, file_end, seq_blocks = 0; ext4_lblk_t rest_blocks; pgoff_t orig_page_offset = 0, seq_end_page; - int ret1, ret2, depth, last_extent = 0; + int ret, depth, last_extent = 0; int blocks_per_page = PAGE_CACHE_SIZE >> orig_inode->i_blkbits; int data_offset_in_page; int block_len_in_page; int uninit; - /* orig and donor should be different file */ - if (orig_inode->i_ino == donor_inode->i_ino) { + if (orig_inode->i_sb != donor_inode->i_sb) { + ext4_debug("ext4 move extent: The argument files " + "should be in same FS [ino:orig %lu, donor %lu]\n", + orig_inode->i_ino, donor_inode->i_ino); + return -EINVAL; + } + + /* orig and donor should be different inodes */ + if (orig_inode == donor_inode) { ext4_debug("ext4 move extent: The argument files should not " - "be same file [ino:orig %lu, donor %lu]\n", + "be same inode [ino:orig %lu, donor %lu]\n", orig_inode->i_ino, donor_inode->i_ino); return -EINVAL; } @@ -1208,18 +1142,21 @@ orig_inode->i_ino, donor_inode->i_ino); return -EINVAL; } - + /* TODO: This is non obvious task to swap blocks for inodes with full + jornaling enabled */ + if (ext4_should_journal_data(orig_inode) || + ext4_should_journal_data(donor_inode)) { + return -EINVAL; + } /* Protect orig and donor inodes against a truncate */ - ret1 = mext_inode_double_lock(orig_inode, donor_inode); - if (ret1 < 0) - return ret1; + mext_inode_double_lock(orig_inode, donor_inode); /* Protect extent tree against block allocations via delalloc */ double_down_write_data_sem(orig_inode, donor_inode); /* Check the filesystem environment whether move_extent can be done */ - ret1 = mext_check_arguments(orig_inode, donor_inode, orig_start, + ret = mext_check_arguments(orig_inode, donor_inode, orig_start, donor_start, &len); - if (ret1) + if (ret) goto out; file_end = (i_size_read(orig_inode) - 1) >> orig_inode->i_blkbits; @@ -1227,13 +1164,13 @@ if (file_end < block_end) len -= block_end - file_end; - ret1 = get_ext_path(orig_inode, block_start, &orig_path); - if (ret1) + ret = get_ext_path(orig_inode, block_start, &orig_path); + if (ret) goto out; /* Get path structure to check the hole */ - ret1 = get_ext_path(orig_inode, block_start, &holecheck_path); - if (ret1) + ret = get_ext_path(orig_inode, block_start, &holecheck_path); + if (ret) goto out; depth = ext_depth(orig_inode); @@ -1252,13 +1189,13 @@ last_extent = mext_next_extent(orig_inode, holecheck_path, &ext_cur); if (last_extent < 0) { - ret1 = last_extent; + ret = last_extent; goto out; } last_extent = mext_next_extent(orig_inode, orig_path, &ext_dummy); if (last_extent < 0) { - ret1 = last_extent; + ret = last_extent; goto out; } seq_start = le32_to_cpu(ext_cur->ee_block); @@ -1272,7 +1209,7 @@ if (le32_to_cpu(ext_cur->ee_block) > block_end) { ext4_debug("ext4 move extent: The specified range of file " "may be the hole\n"); - ret1 = -EINVAL; + ret = -EINVAL; goto out; } @@ -1292,7 +1229,7 @@ last_extent = mext_next_extent(orig_inode, holecheck_path, &ext_cur); if (last_extent < 0) { - ret1 = last_extent; + ret = last_extent; break; } add_blocks = ext4_ext_get_actual_len(ext_cur); @@ -1349,18 +1286,18 @@ orig_page_offset, data_offset_in_page, block_len_in_page, uninit, - &ret1); + &ret); /* Count how many blocks we have exchanged */ *moved_len += block_len_in_page; - if (ret1 < 0) + if (ret < 0) break; if (*moved_len > len) { EXT4_ERROR_INODE(orig_inode, "We replaced blocks too much! " "sum of replaced: %llu requested: %llu", *moved_len, len); - ret1 = -EIO; + ret = -EIO; break; } @@ -1374,22 +1311,22 @@ } double_down_write_data_sem(orig_inode, donor_inode); - if (ret1 < 0) + if (ret < 0) break; /* Decrease buffer counter */ if (holecheck_path) ext4_ext_drop_refs(holecheck_path); - ret1 = get_ext_path(orig_inode, seq_start, &holecheck_path); - if (ret1) + ret = get_ext_path(orig_inode, seq_start, &holecheck_path); + if (ret) break; depth = holecheck_path->p_depth; /* Decrease buffer counter */ if (orig_path) ext4_ext_drop_refs(orig_path); - ret1 = get_ext_path(orig_inode, seq_start, &orig_path); - if (ret1) + ret = get_ext_path(orig_inode, seq_start, &orig_path); + if (ret) break; ext_cur = holecheck_path[depth].p_ext; @@ -1412,12 +1349,7 @@ kfree(holecheck_path); } double_up_write_data_sem(orig_inode, donor_inode); - ret2 = mext_inode_double_unlock(orig_inode, donor_inode); + mext_inode_double_unlock(orig_inode, donor_inode); - if (ret1) - return ret1; - else if (ret2) - return ret2; - - return 0; + return ret; } --- linux-lowlatency-3.5.0.orig/fs/ext4/namei.c +++ linux-lowlatency-3.5.0/fs/ext4/namei.c @@ -2149,9 +2149,7 @@ err = PTR_ERR(inode); if (!IS_ERR(inode)) { init_special_inode(inode, inode->i_mode, rdev); -#ifdef CONFIG_EXT4_FS_XATTR inode->i_op = &ext4_special_inode_operations; -#endif err = ext4_add_nondir(handle, dentry, inode); } ext4_journal_stop(handle); @@ -2918,8 +2916,15 @@ PARENT_INO(dir_bh->b_data, new_dir->i_sb->s_blocksize) = cpu_to_le32(new_dir->i_ino); BUFFER_TRACE(dir_bh, "call ext4_handle_dirty_metadata"); - retval = ext4_handle_dirty_dirent_node(handle, old_inode, - dir_bh); + if (is_dx(old_inode)) { + retval = ext4_handle_dirty_dx_node(handle, + old_inode, + dir_bh); + } else { + retval = ext4_handle_dirty_dirent_node(handle, + old_inode, + dir_bh); + } if (retval) { ext4_std_error(old_dir->i_sb, retval); goto end_rename; --- linux-lowlatency-3.5.0.orig/fs/ext4/resize.c +++ linux-lowlatency-3.5.0/fs/ext4/resize.c @@ -200,8 +200,11 @@ * be a partial of a flex group. * * @sb: super block of fs to which the groups belongs + * + * Returns 0 on a successful allocation of the metadata blocks in the + * block group. */ -static void ext4_alloc_group_tables(struct super_block *sb, +static int ext4_alloc_group_tables(struct super_block *sb, struct ext4_new_flex_group_data *flex_gd, int flexbg_size) { @@ -226,6 +229,8 @@ (last_group & ~(flexbg_size - 1)))); next_group: group = group_data[0].group; + if (src_group >= group_data[0].group + flex_gd->count) + return -ENOSPC; start_blk = ext4_group_first_block_no(sb, src_group); last_blk = start_blk + group_data[src_group - group].blocks_count; @@ -235,7 +240,6 @@ start_blk += overhead; - BUG_ON(src_group >= group_data[0].group + flex_gd->count); /* We collect contiguous blocks as much as possible. */ src_group++; for (; src_group <= last_group; src_group++) @@ -300,6 +304,7 @@ group_data[i].free_blocks_count); } } + return 0; } static struct buffer_head *bclean(handle_t *handle, struct super_block *sb, @@ -451,6 +456,9 @@ gdblocks = ext4_bg_num_gdb(sb, group); start = ext4_group_first_block_no(sb, group); + if (!ext4_bg_has_super(sb, group)) + goto handle_itb; + /* Copy all of the GDT blocks into the backup in this group */ for (j = 0, block = start + 1; j < gdblocks; j++, block++) { struct buffer_head *gdb; @@ -493,6 +501,7 @@ goto out; } +handle_itb: /* Initialize group tables of the grop @group */ if (!(bg_flags[i] & EXT4_BG_INODE_ZEROED)) goto handle_bb; @@ -970,8 +979,6 @@ goto exit_err; } - ext4_superblock_csum_set(sb, (struct ext4_super_block *)data); - while ((group = ext4_list_backups(sb, &three, &five, &seven)) < last) { struct buffer_head *bh; @@ -1112,8 +1119,7 @@ bh = ext4_get_bitmap(sb, group_data->block_bitmap); if (!bh) return -EIO; - ext4_block_bitmap_csum_set(sb, group, gdp, bh, - EXT4_BLOCKS_PER_GROUP(sb) / 8); + ext4_block_bitmap_csum_set(sb, group, gdp, bh); brelse(bh); return 0; @@ -1197,7 +1203,7 @@ struct ext4_new_group_data *group_data = flex_gd->groups; struct ext4_sb_info *sbi = EXT4_SB(sb); struct ext4_super_block *es = sbi->s_es; - int i; + int i, ret; BUG_ON(flex_gd->count == 0 || group_data == NULL); /* @@ -1272,6 +1278,11 @@ &sbi->s_flex_groups[flex_group].free_inodes); } + /* + * Update the fs overhead information + */ + ext4_calculate_overhead(sb); + if (test_opt(sb, DEBUG)) printk(KERN_DEBUG "EXT4-fs: added group %u:" "%llu blocks(%llu free %llu reserved)\n", flex_gd->count, @@ -1344,13 +1355,15 @@ err = err2; if (!err) { - int i; + int gdb_num = group / EXT4_DESC_PER_BLOCK(sb); + int gdb_num_end = ((group + flex_gd->count - 1) / + EXT4_DESC_PER_BLOCK(sb)); + update_backups(sb, sbi->s_sbh->b_blocknr, (char *)es, sizeof(struct ext4_super_block)); - for (i = 0; i < flex_gd->count; i++, group++) { + for (; gdb_num <= gdb_num_end; gdb_num++) { struct buffer_head *gdb_bh; - int gdb_num; - gdb_num = group / EXT4_BLOCKS_PER_GROUP(sb); + gdb_bh = sbi->s_group_desc[gdb_num]; update_backups(sb, gdb_bh->b_blocknr, gdb_bh->b_data, gdb_bh->b_size); @@ -1724,7 +1737,8 @@ */ while (ext4_setup_next_flex_gd(sb, flex_gd, n_blocks_count, flexbg_size)) { - ext4_alloc_group_tables(sb, flex_gd, flexbg_size); + if (ext4_alloc_group_tables(sb, flex_gd, flexbg_size) != 0) + break; err = ext4_flex_group_add(sb, resize_inode, flex_gd); if (unlikely(err)) break; --- linux-lowlatency-3.5.0.orig/fs/ext4/super.c +++ linux-lowlatency-3.5.0/fs/ext4/super.c @@ -144,9 +144,10 @@ return es->s_checksum == ext4_superblock_csum(sb, es); } -void ext4_superblock_csum_set(struct super_block *sb, - struct ext4_super_block *es) +void ext4_superblock_csum_set(struct super_block *sb) { + struct ext4_super_block *es = EXT4_SB(sb)->s_es; + if (!EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_METADATA_CSUM)) return; @@ -976,6 +977,7 @@ ei->i_reserved_meta_blocks = 0; ei->i_allocated_meta_blocks = 0; ei->i_da_metadata_calc_len = 0; + ei->i_da_metadata_calc_last_lblock = 0; spin_lock_init(&(ei->i_block_reservation_lock)); #ifdef CONFIG_QUOTA ei->i_reserved_quota = 0; @@ -1747,7 +1749,7 @@ static const char *token2str(int token) { - static const struct match_token *t; + const struct match_token *t; for (t = tokens; t->token != Opt_err; t++) if (t->token == token && !strchr(t->pattern, '=')) @@ -3085,6 +3087,118 @@ return ret; } +/* + * Note: calculating the overhead so we can be compatible with + * historical BSD practice is quite difficult in the face of + * clusters/bigalloc. This is because multiple metadata blocks from + * different block group can end up in the same allocation cluster. + * Calculating the exact overhead in the face of clustered allocation + * requires either O(all block bitmaps) in memory or O(number of block + * groups**2) in time. We will still calculate the superblock for + * older file systems --- and if we come across with a bigalloc file + * system with zero in s_overhead_clusters the estimate will be close to + * correct especially for very large cluster sizes --- but for newer + * file systems, it's better to calculate this figure once at mkfs + * time, and store it in the superblock. If the superblock value is + * present (even for non-bigalloc file systems), we will use it. + */ +static int count_overhead(struct super_block *sb, ext4_group_t grp, + char *buf) +{ + struct ext4_sb_info *sbi = EXT4_SB(sb); + struct ext4_group_desc *gdp; + ext4_fsblk_t first_block, last_block, b; + ext4_group_t i, ngroups = ext4_get_groups_count(sb); + int s, j, count = 0; + + if (!EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_BIGALLOC)) + return (ext4_bg_has_super(sb, grp) + ext4_bg_num_gdb(sb, grp) + + sbi->s_itb_per_group + 2); + + first_block = le32_to_cpu(sbi->s_es->s_first_data_block) + + (grp * EXT4_BLOCKS_PER_GROUP(sb)); + last_block = first_block + EXT4_BLOCKS_PER_GROUP(sb) - 1; + for (i = 0; i < ngroups; i++) { + gdp = ext4_get_group_desc(sb, i, NULL); + b = ext4_block_bitmap(sb, gdp); + if (b >= first_block && b <= last_block) { + ext4_set_bit(EXT4_B2C(sbi, b - first_block), buf); + count++; + } + b = ext4_inode_bitmap(sb, gdp); + if (b >= first_block && b <= last_block) { + ext4_set_bit(EXT4_B2C(sbi, b - first_block), buf); + count++; + } + b = ext4_inode_table(sb, gdp); + if (b >= first_block && b + sbi->s_itb_per_group <= last_block) + for (j = 0; j < sbi->s_itb_per_group; j++, b++) { + int c = EXT4_B2C(sbi, b - first_block); + ext4_set_bit(c, buf); + count++; + } + if (i != grp) + continue; + s = 0; + if (ext4_bg_has_super(sb, grp)) { + ext4_set_bit(s++, buf); + count++; + } + for (j = ext4_bg_num_gdb(sb, grp); j > 0; j--) { + ext4_set_bit(EXT4_B2C(sbi, s++), buf); + count++; + } + } + if (!count) + return 0; + return EXT4_CLUSTERS_PER_GROUP(sb) - + ext4_count_free(buf, EXT4_CLUSTERS_PER_GROUP(sb) / 8); +} + +/* + * Compute the overhead and stash it in sbi->s_overhead + */ +int ext4_calculate_overhead(struct super_block *sb) +{ + struct ext4_sb_info *sbi = EXT4_SB(sb); + struct ext4_super_block *es = sbi->s_es; + ext4_group_t i, ngroups = ext4_get_groups_count(sb); + ext4_fsblk_t overhead = 0; + char *buf = (char *) get_zeroed_page(GFP_KERNEL); + + memset(buf, 0, PAGE_SIZE); + if (!buf) + return -ENOMEM; + + /* + * Compute the overhead (FS structures). This is constant + * for a given filesystem unless the number of block groups + * changes so we cache the previous value until it does. + */ + + /* + * All of the blocks before first_data_block are overhead + */ + overhead = EXT4_B2C(sbi, le32_to_cpu(es->s_first_data_block)); + + /* + * Add the overhead found in each block group + */ + for (i = 0; i < ngroups; i++) { + int blks; + + blks = count_overhead(sb, i, buf); + overhead += blks; + if (blks) + memset(buf, 0, PAGE_SIZE); + cond_resched(); + } + sbi->s_overhead = overhead; + smp_wmb(); + free_page((unsigned long) buf); + return 0; +} + static int ext4_fill_super(struct super_block *sb, void *data, int silent) { char *orig_data = kstrdup(data, GFP_KERNEL); @@ -3735,6 +3849,18 @@ no_journal: /* + * Get the # of file system overhead blocks from the + * superblock if present. + */ + if (es->s_overhead_clusters) + sbi->s_overhead = le32_to_cpu(es->s_overhead_clusters); + else { + ret = ext4_calculate_overhead(sb); + if (ret) + goto failed_mount_wq; + } + + /* * The maximum number of concurrent works can be high and * concurrency isn't really necessary. Limit it to 1. */ @@ -4205,7 +4331,7 @@ &EXT4_SB(sb)->s_freeinodes_counter)); sb->s_dirt = 0; BUFFER_TRACE(sbh, "marking dirty"); - ext4_superblock_csum_set(sb, es); + ext4_superblock_csum_set(sb); mark_buffer_dirty(sbh); if (sync) { error = sync_dirty_buffer(sbh); @@ -4286,6 +4412,7 @@ ext4_commit_super(sb, 1); jbd2_journal_clear_err(journal); + jbd2_journal_update_sb_errno(journal); } } @@ -4600,67 +4727,21 @@ return err; } -/* - * Note: calculating the overhead so we can be compatible with - * historical BSD practice is quite difficult in the face of - * clusters/bigalloc. This is because multiple metadata blocks from - * different block group can end up in the same allocation cluster. - * Calculating the exact overhead in the face of clustered allocation - * requires either O(all block bitmaps) in memory or O(number of block - * groups**2) in time. We will still calculate the superblock for - * older file systems --- and if we come across with a bigalloc file - * system with zero in s_overhead_clusters the estimate will be close to - * correct especially for very large cluster sizes --- but for newer - * file systems, it's better to calculate this figure once at mkfs - * time, and store it in the superblock. If the superblock value is - * present (even for non-bigalloc file systems), we will use it. - */ static int ext4_statfs(struct dentry *dentry, struct kstatfs *buf) { struct super_block *sb = dentry->d_sb; struct ext4_sb_info *sbi = EXT4_SB(sb); struct ext4_super_block *es = sbi->s_es; - struct ext4_group_desc *gdp; + ext4_fsblk_t overhead = 0; u64 fsid; s64 bfree; - if (test_opt(sb, MINIX_DF)) { - sbi->s_overhead_last = 0; - } else if (es->s_overhead_clusters) { - sbi->s_overhead_last = le32_to_cpu(es->s_overhead_clusters); - } else if (sbi->s_blocks_last != ext4_blocks_count(es)) { - ext4_group_t i, ngroups = ext4_get_groups_count(sb); - ext4_fsblk_t overhead = 0; - - /* - * Compute the overhead (FS structures). This is constant - * for a given filesystem unless the number of block groups - * changes so we cache the previous value until it does. - */ - - /* - * All of the blocks before first_data_block are - * overhead - */ - overhead = EXT4_B2C(sbi, le32_to_cpu(es->s_first_data_block)); - - /* - * Add the overhead found in each block group - */ - for (i = 0; i < ngroups; i++) { - gdp = ext4_get_group_desc(sb, i, NULL); - overhead += ext4_num_overhead_clusters(sb, i, gdp); - cond_resched(); - } - sbi->s_overhead_last = overhead; - smp_wmb(); - sbi->s_blocks_last = ext4_blocks_count(es); - } + if (!test_opt(sb, MINIX_DF)) + overhead = sbi->s_overhead; buf->f_type = EXT4_SUPER_MAGIC; buf->f_bsize = sb->s_blocksize; - buf->f_blocks = (ext4_blocks_count(es) - - EXT4_C2B(sbi, sbi->s_overhead_last)); + buf->f_blocks = ext4_blocks_count(es) - EXT4_C2B(sbi, sbi->s_overhead); bfree = percpu_counter_sum_positive(&sbi->s_freeclusters_counter) - percpu_counter_sum_positive(&sbi->s_dirtyclusters_counter); /* prevent underflow in case that few free space is available */ --- linux-lowlatency-3.5.0.orig/fs/ext4/xattr.c +++ linux-lowlatency-3.5.0/fs/ext4/xattr.c @@ -127,19 +127,16 @@ struct ext4_xattr_header *hdr) { struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); - struct ext4_inode_info *ei = EXT4_I(inode); __u32 csum, old; old = hdr->h_checksum; hdr->h_checksum = 0; - if (le32_to_cpu(hdr->h_refcount) != 1) { - block_nr = cpu_to_le64(block_nr); - csum = ext4_chksum(sbi, sbi->s_csum_seed, (__u8 *)&block_nr, - sizeof(block_nr)); - } else - csum = ei->i_csum_seed; + block_nr = cpu_to_le64(block_nr); + csum = ext4_chksum(sbi, sbi->s_csum_seed, (__u8 *)&block_nr, + sizeof(block_nr)); csum = ext4_chksum(sbi, csum, (__u8 *)hdr, EXT4_BLOCK_SIZE(inode->i_sb)); + hdr->h_checksum = old; return cpu_to_le32(csum); } --- linux-lowlatency-3.5.0.orig/fs/fuse/dev.c +++ linux-lowlatency-3.5.0/fs/fuse/dev.c @@ -1576,6 +1576,7 @@ req->pages[req->num_pages] = page; req->num_pages++; + offset = 0; num -= this_num; total_len += this_num; index++; --- linux-lowlatency-3.5.0.orig/fs/fuse/file.c +++ linux-lowlatency-3.5.0/fs/fuse/file.c @@ -1700,7 +1700,7 @@ size_t n; u32 max = FUSE_MAX_PAGES_PER_REQ << PAGE_SHIFT; - for (n = 0; n < count; n++) { + for (n = 0; n < count; n++, iov++) { if (iov->iov_len > (size_t) max) return -ENOMEM; max -= iov->iov_len; --- linux-lowlatency-3.5.0.orig/fs/gfs2/export.c +++ linux-lowlatency-3.5.0/fs/gfs2/export.c @@ -161,6 +161,8 @@ case GFS2_SMALL_FH_SIZE: case GFS2_LARGE_FH_SIZE: case GFS2_OLD_FH_SIZE: + if (fh_len < GFS2_SMALL_FH_SIZE) + return NULL; this.no_formal_ino = ((u64)be32_to_cpu(fh[0])) << 32; this.no_formal_ino |= be32_to_cpu(fh[1]); this.no_addr = ((u64)be32_to_cpu(fh[2])) << 32; @@ -180,6 +182,8 @@ switch (fh_type) { case GFS2_LARGE_FH_SIZE: case GFS2_OLD_FH_SIZE: + if (fh_len < GFS2_LARGE_FH_SIZE) + return NULL; parent.no_formal_ino = ((u64)be32_to_cpu(fh[4])) << 32; parent.no_formal_ino |= be32_to_cpu(fh[5]); parent.no_addr = ((u64)be32_to_cpu(fh[6])) << 32; --- linux-lowlatency-3.5.0.orig/fs/gfs2/file.c +++ linux-lowlatency-3.5.0/fs/gfs2/file.c @@ -492,15 +492,13 @@ struct gfs2_holder i_gh; int error; - gfs2_holder_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh); - error = gfs2_glock_nq(&i_gh); - if (error == 0) { - file_accessed(file); - gfs2_glock_dq(&i_gh); - } - gfs2_holder_uninit(&i_gh); + error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, + &i_gh); if (error) return error; + /* grab lock to update inode */ + gfs2_glock_dq_uninit(&i_gh); + file_accessed(file); } vma->vm_ops = &gfs2_vm_ops; vma->vm_flags |= VM_CAN_NONLINEAR; --- linux-lowlatency-3.5.0.orig/fs/gfs2/lops.c +++ linux-lowlatency-3.5.0/fs/gfs2/lops.c @@ -393,12 +393,10 @@ struct gfs2_meta_header *mh; struct gfs2_trans *tr; - lock_buffer(bd->bd_bh); - gfs2_log_lock(sdp); tr = current->journal_info; tr->tr_touched = 1; if (!list_empty(&bd->bd_list)) - goto out; + return; set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags); set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags); gfs2_meta_check(sdp, bd->bd_bh); @@ -409,9 +407,6 @@ sdp->sd_log_num_buf++; list_add(&bd->bd_list, &sdp->sd_log_le_buf); tr->tr_num_buf_new++; -out: - gfs2_log_unlock(sdp); - unlock_buffer(bd->bd_bh); } static void gfs2_check_magic(struct buffer_head *bh) @@ -772,12 +767,10 @@ struct address_space *mapping = bd->bd_bh->b_page->mapping; struct gfs2_inode *ip = GFS2_I(mapping->host); - lock_buffer(bd->bd_bh); - gfs2_log_lock(sdp); if (tr) tr->tr_touched = 1; if (!list_empty(&bd->bd_list)) - goto out; + return; set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags); set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags); if (gfs2_is_jdata(ip)) { @@ -788,9 +781,6 @@ } else { list_add_tail(&bd->bd_list, &sdp->sd_log_le_ordered); } -out: - gfs2_log_unlock(sdp); - unlock_buffer(bd->bd_bh); } /** --- linux-lowlatency-3.5.0.orig/fs/gfs2/super.c +++ linux-lowlatency-3.5.0/fs/gfs2/super.c @@ -800,7 +800,8 @@ return; } need_unlock = 1; - } + } else if (WARN_ON_ONCE(ip->i_gl->gl_state != LM_ST_EXCLUSIVE)) + return; if (current->journal_info == NULL) { ret = gfs2_trans_begin(sdp, RES_DINODE, 0); --- linux-lowlatency-3.5.0.orig/fs/gfs2/trans.c +++ linux-lowlatency-3.5.0/fs/gfs2/trans.c @@ -151,14 +151,22 @@ struct gfs2_sbd *sdp = gl->gl_sbd; struct gfs2_bufdata *bd; + lock_buffer(bh); + gfs2_log_lock(sdp); bd = bh->b_private; if (bd) gfs2_assert(sdp, bd->bd_gl == gl); else { + gfs2_log_unlock(sdp); + unlock_buffer(bh); gfs2_attach_bufdata(gl, bh, meta); bd = bh->b_private; + lock_buffer(bh); + gfs2_log_lock(sdp); } lops_add(sdp, bd); + gfs2_log_unlock(sdp); + unlock_buffer(bh); } void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd) --- linux-lowlatency-3.5.0.orig/fs/hfs/sysdep.c +++ linux-lowlatency-3.5.0/fs/hfs/sysdep.c @@ -18,7 +18,7 @@ struct inode *inode; int diff; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; inode = dentry->d_inode; --- linux-lowlatency-3.5.0.orig/fs/isofs/export.c +++ linux-lowlatency-3.5.0/fs/isofs/export.c @@ -174,7 +174,7 @@ { struct isofs_fid *ifid = (struct isofs_fid *)fid; - if (fh_type != 2) + if (fh_len < 2 || fh_type != 2) return NULL; return isofs_export_iget(sb, --- linux-lowlatency-3.5.0.orig/fs/jbd/commit.c +++ linux-lowlatency-3.5.0/fs/jbd/commit.c @@ -86,7 +86,12 @@ static void release_data_buffer(struct buffer_head *bh) { if (buffer_freed(bh)) { + WARN_ON_ONCE(buffer_dirty(bh)); clear_buffer_freed(bh); + clear_buffer_mapped(bh); + clear_buffer_new(bh); + clear_buffer_req(bh); + bh->b_bdev = NULL; release_buffer_page(bh); } else put_bh(bh); @@ -866,17 +871,35 @@ * there's no point in keeping a checkpoint record for * it. */ - /* A buffer which has been freed while still being - * journaled by a previous transaction may end up still - * being dirty here, but we want to avoid writing back - * that buffer in the future after the "add to orphan" - * operation been committed, That's not only a performance - * gain, it also stops aliasing problems if the buffer is - * left behind for writeback and gets reallocated for another - * use in a different page. */ - if (buffer_freed(bh) && !jh->b_next_transaction) { - clear_buffer_freed(bh); - clear_buffer_jbddirty(bh); + /* + * A buffer which has been freed while still being journaled by + * a previous transaction. + */ + if (buffer_freed(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 throughout in that since the + * buffer may be still accessible when blocksize < + * pagesize and it is attached to the last partial + * page. + */ + jh->b_modified = 0; + if (!jh->b_next_transaction) { + clear_buffer_freed(bh); + clear_buffer_jbddirty(bh); + clear_buffer_mapped(bh); + clear_buffer_new(bh); + clear_buffer_req(bh); + bh->b_bdev = NULL; + } } if (buffer_jbddirty(bh)) { --- linux-lowlatency-3.5.0.orig/fs/jbd/journal.c +++ linux-lowlatency-3.5.0/fs/jbd/journal.c @@ -1113,6 +1113,11 @@ BUG_ON(!mutex_is_locked(&journal->j_checkpoint_mutex)); spin_lock(&journal->j_state_lock); + /* Is it already empty? */ + if (sb->s_start == 0) { + spin_unlock(&journal->j_state_lock); + return; + } jbd_debug(1, "JBD: Marking journal as empty (seq %d)\n", journal->j_tail_sequence); --- linux-lowlatency-3.5.0.orig/fs/jbd/transaction.c +++ linux-lowlatency-3.5.0/fs/jbd/transaction.c @@ -1843,15 +1843,16 @@ * We're outside-transaction here. Either or both of j_running_transaction * and j_committing_transaction may be NULL. */ -static int journal_unmap_buffer(journal_t *journal, struct buffer_head *bh) +static int journal_unmap_buffer(journal_t *journal, struct buffer_head *bh, + int partial_page) { transaction_t *transaction; struct journal_head *jh; int may_free = 1; - int ret; BUFFER_TRACE(bh, "entry"); +retry: /* * It is safe to proceed here without the j_list_lock because the * buffers cannot be stolen by try_to_free_buffers as long as we are @@ -1879,10 +1880,18 @@ * clear the buffer dirty bit at latest at the moment when the * transaction marking the buffer as freed in the filesystem * structures is committed because from that moment on the - * buffer can be reallocated and used by a different page. + * block can be reallocated and used by a different page. * Since the block hasn't been freed yet but the inode has * already been added to orphan list, it is safe for us to add * the buffer to BJ_Forget list of the newest transaction. + * + * Also we have to clear buffer_mapped flag of a truncated buffer + * because the buffer_head may be attached to the page straddling + * i_size (can happen only when blocksize < pagesize) and thus the + * buffer_head can be reused when the file is extended again. So we end + * up keeping around invalidated buffers attached to transactions' + * BJ_Forget list just to stop checkpointing code from cleaning up + * the transaction this buffer was modified in. */ transaction = jh->b_transaction; if (transaction == NULL) { @@ -1909,13 +1918,9 @@ * committed, the buffer won't be needed any * longer. */ JBUFFER_TRACE(jh, "checkpointed: add to BJ_Forget"); - ret = __dispose_buffer(jh, + may_free = __dispose_buffer(jh, journal->j_running_transaction); - journal_put_journal_head(jh); - spin_unlock(&journal->j_list_lock); - jbd_unlock_bh_state(bh); - spin_unlock(&journal->j_state_lock); - return ret; + goto zap_buffer; } else { /* There is no currently-running transaction. So the * orphan record which we wrote for this file must have @@ -1923,13 +1928,9 @@ * the committing transaction, if it exists. */ if (journal->j_committing_transaction) { JBUFFER_TRACE(jh, "give to committing trans"); - ret = __dispose_buffer(jh, + may_free = __dispose_buffer(jh, journal->j_committing_transaction); - journal_put_journal_head(jh); - spin_unlock(&journal->j_list_lock); - jbd_unlock_bh_state(bh); - spin_unlock(&journal->j_state_lock); - return ret; + goto zap_buffer; } else { /* The orphan record's transaction has * committed. We can cleanse this buffer */ @@ -1950,10 +1951,26 @@ } /* * The buffer is committing, we simply cannot touch - * it. So 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. + * it. If the page is straddling i_size we have to wait + * for commit and try again. + */ + if (partial_page) { + tid_t tid = journal->j_committing_transaction->t_tid; + + journal_put_journal_head(jh); + spin_unlock(&journal->j_list_lock); + jbd_unlock_bh_state(bh); + spin_unlock(&journal->j_state_lock); + unlock_buffer(bh); + log_wait_commit(journal, tid); + lock_buffer(bh); + goto retry; + } + /* + * 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. */ set_buffer_freed(bh); if (journal->j_running_transaction && buffer_jbddirty(bh)) @@ -1976,6 +1993,14 @@ } zap_buffer: + /* + * This is tricky. Although the buffer is truncated, it may be reused + * if blocksize < pagesize and it is attached to the page straddling + * EOF. Since the buffer might have been added to BJ_Forget list of the + * running transaction, journal_get_write_access() won't clear + * b_modified and credit accounting gets confused. So clear b_modified + * here. */ + jh->b_modified = 0; journal_put_journal_head(jh); zap_buffer_no_jh: spin_unlock(&journal->j_list_lock); @@ -2024,7 +2049,8 @@ if (offset <= curr_off) { /* This block is wholly outside the truncation point */ lock_buffer(bh); - may_free &= journal_unmap_buffer(journal, bh); + may_free &= journal_unmap_buffer(journal, bh, + offset > 0); unlock_buffer(bh); } curr_off = next_off; --- linux-lowlatency-3.5.0.orig/fs/jbd2/journal.c +++ linux-lowlatency-3.5.0/fs/jbd2/journal.c @@ -1354,6 +1354,11 @@ BUG_ON(!mutex_is_locked(&journal->j_checkpoint_mutex)); read_lock(&journal->j_state_lock); + /* Is it already empty? */ + if (sb->s_start == 0) { + read_unlock(&journal->j_state_lock); + return; + } jbd_debug(1, "JBD2: Marking journal as empty (seq %d)\n", journal->j_tail_sequence); @@ -1377,7 +1382,7 @@ * Update a journal's errno. Write updated superblock to disk waiting for IO * to complete. */ -static void jbd2_journal_update_sb_errno(journal_t *journal) +void jbd2_journal_update_sb_errno(journal_t *journal) { journal_superblock_t *sb = journal->j_superblock; @@ -1390,6 +1395,7 @@ jbd2_write_superblock(journal, WRITE_SYNC); } +EXPORT_SYMBOL(jbd2_journal_update_sb_errno); /* * Read the superblock for a given journal, performing initial --- linux-lowlatency-3.5.0.orig/fs/jffs2/file.c +++ linux-lowlatency-3.5.0/fs/jffs2/file.c @@ -138,33 +138,39 @@ struct page *pg; struct inode *inode = mapping->host; struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); + struct jffs2_raw_inode ri; + uint32_t alloc_len = 0; pgoff_t index = pos >> PAGE_CACHE_SHIFT; uint32_t pageofs = index << PAGE_CACHE_SHIFT; int ret = 0; + jffs2_dbg(1, "%s()\n", __func__); + + if (pageofs > inode->i_size) { + ret = jffs2_reserve_space(c, sizeof(ri), &alloc_len, + ALLOC_NORMAL, JFFS2_SUMMARY_INODE_SIZE); + if (ret) + return ret; + } + + mutex_lock(&f->sem); pg = grab_cache_page_write_begin(mapping, index, flags); - if (!pg) + if (!pg) { + if (alloc_len) + jffs2_complete_reservation(c); + mutex_unlock(&f->sem); return -ENOMEM; + } *pagep = pg; - jffs2_dbg(1, "%s()\n", __func__); - - if (pageofs > inode->i_size) { + if (alloc_len) { /* Make new hole frag from old EOF to new page */ - struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); - struct jffs2_raw_inode ri; struct jffs2_full_dnode *fn; - uint32_t alloc_len; jffs2_dbg(1, "Writing new hole frag 0x%x-0x%x between current EOF and new page\n", (unsigned int)inode->i_size, pageofs); - ret = jffs2_reserve_space(c, sizeof(ri), &alloc_len, - ALLOC_NORMAL, JFFS2_SUMMARY_INODE_SIZE); - if (ret) - goto out_page; - - mutex_lock(&f->sem); memset(&ri, 0, sizeof(ri)); ri.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK); @@ -191,7 +197,6 @@ if (IS_ERR(fn)) { ret = PTR_ERR(fn); jffs2_complete_reservation(c); - mutex_unlock(&f->sem); goto out_page; } ret = jffs2_add_full_dnode_to_inode(c, f, fn); @@ -206,12 +211,10 @@ jffs2_mark_node_obsolete(c, fn->raw); jffs2_free_full_dnode(fn); jffs2_complete_reservation(c); - mutex_unlock(&f->sem); goto out_page; } jffs2_complete_reservation(c); inode->i_size = pageofs; - mutex_unlock(&f->sem); } /* @@ -220,18 +223,18 @@ * case of a short-copy. */ if (!PageUptodate(pg)) { - mutex_lock(&f->sem); ret = jffs2_do_readpage_nolock(inode, pg); - mutex_unlock(&f->sem); if (ret) goto out_page; } + mutex_unlock(&f->sem); jffs2_dbg(1, "end write_begin(). pg->flags %lx\n", pg->flags); return ret; out_page: unlock_page(pg); page_cache_release(pg); + mutex_unlock(&f->sem); return ret; } --- linux-lowlatency-3.5.0.orig/fs/jffs2/super.c +++ linux-lowlatency-3.5.0/fs/jffs2/super.c @@ -100,6 +100,10 @@ { struct jffs2_sb_info *c = JFFS2_SB_INFO(sb); +#ifdef CONFIG_JFFS2_FS_WRITEBUFFER + cancel_delayed_work_sync(&c->wbuf_dwork); +#endif + mutex_lock(&c->alloc_sem); jffs2_flush_wbuf_pad(c); mutex_unlock(&c->alloc_sem); --- linux-lowlatency-3.5.0.orig/fs/jffs2/wbuf.c +++ linux-lowlatency-3.5.0/fs/jffs2/wbuf.c @@ -1044,10 +1044,10 @@ ops.datbuf = NULL; ret = mtd_read_oob(c->mtd, jeb->offset, &ops); - if (ret || ops.oobretlen != ops.ooblen) { + if ((ret && !mtd_is_bitflip(ret)) || ops.oobretlen != ops.ooblen) { pr_err("cannot read OOB for EB at %08x, requested %zd bytes, read %zd bytes, error %d\n", jeb->offset, ops.ooblen, ops.oobretlen, ret); - if (!ret) + if (!ret || mtd_is_bitflip(ret)) ret = -EIO; return ret; } @@ -1086,10 +1086,10 @@ ops.datbuf = NULL; ret = mtd_read_oob(c->mtd, jeb->offset, &ops); - if (ret || ops.oobretlen != ops.ooblen) { + if ((ret && !mtd_is_bitflip(ret)) || ops.oobretlen != ops.ooblen) { pr_err("cannot read OOB for EB at %08x, requested %zd bytes, read %zd bytes, error %d\n", jeb->offset, ops.ooblen, ops.oobretlen, ret); - if (!ret) + if (!ret || mtd_is_bitflip(ret)) ret = -EIO; return ret; } --- linux-lowlatency-3.5.0.orig/fs/lockd/clntxdr.c +++ linux-lowlatency-3.5.0/fs/lockd/clntxdr.c @@ -223,7 +223,7 @@ { __be32 *p; - BUG_ON(be32_to_cpu(stat) > NLM_LCK_DENIED_GRACE_PERIOD); + WARN_ON_ONCE(be32_to_cpu(stat) > NLM_LCK_DENIED_GRACE_PERIOD); p = xdr_reserve_space(xdr, 4); *p = stat; } --- linux-lowlatency-3.5.0.orig/fs/lockd/mon.c +++ linux-lowlatency-3.5.0/fs/lockd/mon.c @@ -40,6 +40,7 @@ u32 proc; char *mon_name; + char *nodename; }; struct nsm_res { @@ -94,6 +95,7 @@ .vers = 3, .proc = NLMPROC_NSM_NOTIFY, .mon_name = nsm->sm_mon_name, + .nodename = utsname()->nodename, }; struct rpc_message msg = { .rpc_argp = &args, @@ -430,7 +432,7 @@ { __be32 *p; - encode_nsm_string(xdr, utsname()->nodename); + encode_nsm_string(xdr, argp->nodename); p = xdr_reserve_space(xdr, 4 + 4 + 4); *p++ = cpu_to_be32(argp->prog); *p++ = cpu_to_be32(argp->vers); --- linux-lowlatency-3.5.0.orig/fs/lockd/svcproc.c +++ linux-lowlatency-3.5.0/fs/lockd/svcproc.c @@ -67,7 +67,8 @@ /* Obtain file pointer. Not used by FREE_ALL call. */ if (filp != NULL) { - if ((error = nlm_lookup_file(rqstp, &file, &lock->fh)) != 0) + error = cast_status(nlm_lookup_file(rqstp, &file, &lock->fh)); + if (error != 0) goto no_locks; *filp = file; --- linux-lowlatency-3.5.0.orig/fs/ncpfs/dir.c +++ linux-lowlatency-3.5.0/fs/ncpfs/dir.c @@ -302,7 +302,7 @@ if (dentry == dentry->d_sb->s_root) return 1; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; parent = dget_parent(dentry); --- linux-lowlatency-3.5.0.orig/fs/nfs/dir.c +++ linux-lowlatency-3.5.0/fs/nfs/dir.c @@ -1123,7 +1123,7 @@ struct nfs_fattr *fattr = NULL; int error; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; parent = dget_parent(dentry); @@ -1526,7 +1526,7 @@ struct inode *dir; int openflags, ret = 0; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; inode = dentry->d_inode; --- linux-lowlatency-3.5.0.orig/fs/nfs/dns_resolve.c +++ linux-lowlatency-3.5.0/fs/nfs/dns_resolve.c @@ -214,7 +214,7 @@ { char buf1[NFS_DNS_HOSTNAME_MAXLEN+1]; struct nfs_dns_ent key, *item; - unsigned long ttl; + unsigned int ttl; ssize_t len; int ret = -EINVAL; @@ -237,7 +237,8 @@ key.namelen = len; memset(&key.h, 0, sizeof(key.h)); - ttl = get_expiry(&buf); + if (get_uint(&buf, &ttl) < 0) + goto out; if (ttl == 0) goto out; key.h.expiry_time = ttl + seconds_since_boot(); --- linux-lowlatency-3.5.0.orig/fs/nfs/file.c +++ linux-lowlatency-3.5.0/fs/nfs/file.c @@ -459,8 +459,11 @@ dfprintk(PAGECACHE, "NFS: release_page(%p)\n", page); - /* Only do I/O if gfp is a superset of GFP_KERNEL */ - if (mapping && (gfp & GFP_KERNEL) == GFP_KERNEL) { + /* Only do I/O if gfp is a superset of GFP_KERNEL, and we're not + * doing this memory reclaim for a fs-related allocation. + */ + if (mapping && (gfp & GFP_KERNEL) == GFP_KERNEL && + !(current->flags & PF_FSTRANS)) { int how = FLUSH_SYNC; /* Don't let kswapd deadlock waiting for OOM RPC calls */ --- linux-lowlatency-3.5.0.orig/fs/nfs/idmap.c +++ linux-lowlatency-3.5.0/fs/nfs/idmap.c @@ -63,6 +63,12 @@ struct mutex idmap_mutex; }; +struct idmap_legacy_upcalldata { + struct rpc_pipe_msg pipe_msg; + struct idmap_msg idmap_msg; + struct idmap *idmap; +}; + /** * nfs_fattr_init_names - initialise the nfs_fattr owner_name/group_name fields * @fattr: fully initialised struct nfs_fattr @@ -205,12 +211,18 @@ if (ret < 0) goto failed_put_key; + ret = register_key_type(&key_type_id_resolver_legacy); + if (ret < 0) + goto failed_reg_legacy; + set_bit(KEY_FLAG_ROOT_CAN_CLEAR, &keyring->flags); cred->thread_keyring = keyring; cred->jit_keyring = KEY_REQKEY_DEFL_THREAD_KEYRING; id_resolver_cache = cred; return 0; +failed_reg_legacy: + unregister_key_type(&key_type_id_resolver); failed_put_key: key_put(keyring); failed_put_cred: @@ -222,6 +234,7 @@ { key_revoke(id_resolver_cache->thread_keyring); unregister_key_type(&key_type_id_resolver); + unregister_key_type(&key_type_id_resolver_legacy); put_cred(id_resolver_cache); } @@ -319,6 +332,7 @@ ret = nfs_idmap_request_key(&key_type_id_resolver_legacy, name, namelen, type, data, data_size, idmap); + idmap->idmap_key_cons = NULL; mutex_unlock(&idmap->idmap_mutex); } return ret; @@ -376,16 +390,18 @@ static int nfs_idmap_legacy_upcall(struct key_construction *, const char *, void *); static ssize_t idmap_pipe_downcall(struct file *, const char __user *, size_t); +static void idmap_release_pipe(struct inode *); static void idmap_pipe_destroy_msg(struct rpc_pipe_msg *); static const struct rpc_pipe_ops idmap_upcall_ops = { .upcall = rpc_pipe_generic_upcall, .downcall = idmap_pipe_downcall, + .release_pipe = idmap_release_pipe, .destroy_msg = idmap_pipe_destroy_msg, }; static struct key_type key_type_id_resolver_legacy = { - .name = "id_resolver", + .name = "id_legacy", .instantiate = user_instantiate, .match = user_match, .revoke = user_revoke, @@ -612,7 +628,8 @@ nfs_idmap_quit_keyring(); } -static int nfs_idmap_prepare_message(char *desc, struct idmap_msg *im, +static int nfs_idmap_prepare_message(char *desc, struct idmap *idmap, + struct idmap_msg *im, struct rpc_pipe_msg *msg) { substring_t substr; @@ -655,6 +672,7 @@ const char *op, void *aux) { + struct idmap_legacy_upcalldata *data; struct rpc_pipe_msg *msg; struct idmap_msg *im; struct idmap *idmap = (struct idmap *)aux; @@ -662,33 +680,33 @@ int ret = -ENOMEM; /* msg and im are freed in idmap_pipe_destroy_msg */ - msg = kmalloc(sizeof(*msg), GFP_KERNEL); - if (!msg) - goto out0; - - im = kmalloc(sizeof(*im), GFP_KERNEL); - if (!im) + data = kmalloc(sizeof(*data), GFP_KERNEL); + if (!data) goto out1; - ret = nfs_idmap_prepare_message(key->description, im, msg); + msg = &data->pipe_msg; + im = &data->idmap_msg; + data->idmap = idmap; + + ret = nfs_idmap_prepare_message(key->description, idmap, im, msg); if (ret < 0) goto out2; + BUG_ON(idmap->idmap_key_cons != NULL); idmap->idmap_key_cons = cons; ret = rpc_queue_upcall(idmap->idmap_pipe, msg); if (ret < 0) - goto out2; + goto out3; return ret; +out3: + idmap->idmap_key_cons = NULL; out2: - kfree(im); + kfree(data); out1: - kfree(msg); -out0: - key_revoke(cons->key); - key_revoke(cons->authkey); + complete_request_key(cons, ret); return ret; } @@ -722,11 +740,18 @@ { struct rpc_inode *rpci = RPC_I(filp->f_path.dentry->d_inode); struct idmap *idmap = (struct idmap *)rpci->private; - struct key_construction *cons = idmap->idmap_key_cons; + struct key_construction *cons; struct idmap_msg im; size_t namelen_in; int ret; + /* If instantiation is successful, anyone waiting for key construction + * will have been woken up and someone else may now have used + * idmap_key_cons - so after this point we may no longer touch it. + */ + cons = ACCESS_ONCE(idmap->idmap_key_cons); + idmap->idmap_key_cons = NULL; + if (mlen != sizeof(im)) { ret = -ENOSPC; goto out; @@ -738,9 +763,8 @@ } if (!(im.im_status & IDMAP_STATUS_SUCCESS)) { - ret = mlen; - complete_request_key(idmap->idmap_key_cons, -ENOKEY); - goto out_incomplete; + ret = -ENOKEY; + goto out; } namelen_in = strnlen(im.im_name, IDMAP_NAMESZ); @@ -756,17 +780,33 @@ } out: - complete_request_key(idmap->idmap_key_cons, ret); -out_incomplete: + complete_request_key(cons, ret); return ret; } static void idmap_pipe_destroy_msg(struct rpc_pipe_msg *msg) { + struct idmap_legacy_upcalldata *data = container_of(msg, + struct idmap_legacy_upcalldata, + pipe_msg); + struct idmap *idmap = data->idmap; + struct key_construction *cons; + if (msg->errno) { + cons = ACCESS_ONCE(idmap->idmap_key_cons); + idmap->idmap_key_cons = NULL; + complete_request_key(cons, msg->errno); + } /* Free memory allocated in nfs_idmap_legacy_upcall() */ - kfree(msg->data); - kfree(msg); + kfree(data); +} + +static void +idmap_release_pipe(struct inode *inode) +{ + struct rpc_inode *rpci = RPC_I(inode); + struct idmap *idmap = (struct idmap *)rpci->private; + idmap->idmap_key_cons = NULL; } int nfs_map_name_to_uid(const struct nfs_server *server, const char *name, size_t namelen, __u32 *uid) --- linux-lowlatency-3.5.0.orig/fs/nfs/inode.c +++ linux-lowlatency-3.5.0/fs/nfs/inode.c @@ -152,7 +152,7 @@ nfsi->attrtimeo = NFS_MINATTRTIMEO(inode); nfsi->attrtimeo_timestamp = jiffies; - memset(NFS_COOKIEVERF(inode), 0, sizeof(NFS_COOKIEVERF(inode))); + memset(NFS_I(inode)->cookieverf, 0, sizeof(NFS_I(inode)->cookieverf)); if (S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode)) nfsi->cache_validity |= NFS_INO_INVALID_ATTR|NFS_INO_INVALID_DATA|NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL|NFS_INO_REVAL_PAGECACHE; else --- linux-lowlatency-3.5.0.orig/fs/nfs/internal.h +++ linux-lowlatency-3.5.0/fs/nfs/internal.h @@ -273,8 +273,9 @@ extern void nfs_sb_deactive(struct super_block *sb); /* namespace.c */ +#define NFS_PATH_CANONICAL 1 extern char *nfs_path(char **p, struct dentry *dentry, - char *buffer, ssize_t buflen); + char *buffer, ssize_t buflen, unsigned flags); extern struct vfsmount *nfs_d_automount(struct path *path); struct vfsmount *nfs_submount(struct nfs_server *, struct dentry *, struct nfs_fh *, struct nfs_fattr *); @@ -400,7 +401,7 @@ char *buffer, ssize_t buflen) { char *dummy; - return nfs_path(&dummy, dentry, buffer, buflen); + return nfs_path(&dummy, dentry, buffer, buflen, NFS_PATH_CANONICAL); } /* --- linux-lowlatency-3.5.0.orig/fs/nfs/mount_clnt.c +++ linux-lowlatency-3.5.0/fs/nfs/mount_clnt.c @@ -181,7 +181,7 @@ else msg.rpc_proc = &mnt_clnt->cl_procinfo[MOUNTPROC_MNT]; - status = rpc_call_sync(mnt_clnt, &msg, 0); + status = rpc_call_sync(mnt_clnt, &msg, RPC_TASK_SOFT|RPC_TASK_TIMEOUT); rpc_shutdown_client(mnt_clnt); if (status < 0) --- linux-lowlatency-3.5.0.orig/fs/nfs/namespace.c +++ linux-lowlatency-3.5.0/fs/nfs/namespace.c @@ -32,6 +32,7 @@ * @dentry - pointer to dentry * @buffer - result buffer * @buflen - length of buffer + * @flags - options (see below) * * Helper function for constructing the server pathname * by arbitrary hashed dentry. @@ -39,8 +40,14 @@ * This is mainly for use in figuring out the path on the * server side when automounting on top of an existing partition * and in generating /proc/mounts and friends. + * + * Supported flags: + * NFS_PATH_CANONICAL: ensure there is exactly one slash after + * the original device (export) name + * (if unset, the original name is returned verbatim) */ -char *nfs_path(char **p, struct dentry *dentry, char *buffer, ssize_t buflen) +char *nfs_path(char **p, struct dentry *dentry, char *buffer, ssize_t buflen, + unsigned flags) { char *end; int namelen; @@ -73,7 +80,7 @@ rcu_read_unlock(); goto rename_retry; } - if (*end != '/') { + if ((flags & NFS_PATH_CANONICAL) && *end != '/') { if (--buflen < 0) { spin_unlock(&dentry->d_lock); rcu_read_unlock(); @@ -90,9 +97,11 @@ return end; } namelen = strlen(base); - /* Strip off excess slashes in base string */ - while (namelen > 0 && base[namelen - 1] == '/') - namelen--; + if (flags & NFS_PATH_CANONICAL) { + /* Strip off excess slashes in base string */ + while (namelen > 0 && base[namelen - 1] == '/') + namelen--; + } buflen -= namelen; if (buflen < 0) { spin_unlock(&dentry->d_lock); --- linux-lowlatency-3.5.0.orig/fs/nfs/nfs3proc.c +++ linux-lowlatency-3.5.0/fs/nfs/nfs3proc.c @@ -69,7 +69,7 @@ nfs_fattr_init(info->fattr); status = rpc_call_sync(client, &msg, 0); dprintk("%s: reply fsinfo: %d\n", __func__, status); - if (!(info->fattr->valid & NFS_ATTR_FATTR)) { + if (status == 0 && !(info->fattr->valid & NFS_ATTR_FATTR)) { msg.rpc_proc = &nfs3_procedures[NFS3PROC_GETATTR]; msg.rpc_resp = info->fattr; status = rpc_call_sync(client, &msg, 0); @@ -643,7 +643,7 @@ u64 cookie, struct page **pages, unsigned int count, int plus) { struct inode *dir = dentry->d_inode; - __be32 *verf = NFS_COOKIEVERF(dir); + __be32 *verf = NFS_I(dir)->cookieverf; struct nfs3_readdirargs arg = { .fh = NFS_FH(dir), .cookie = cookie, --- linux-lowlatency-3.5.0.orig/fs/nfs/nfs4namespace.c +++ linux-lowlatency-3.5.0/fs/nfs/nfs4namespace.c @@ -81,7 +81,8 @@ static char *nfs4_path(struct dentry *dentry, char *buffer, ssize_t buflen) { char *limit; - char *path = nfs_path(&limit, dentry, buffer, buflen); + char *path = nfs_path(&limit, dentry, buffer, buflen, + NFS_PATH_CANONICAL); if (!IS_ERR(path)) { char *path_component = nfs_path_component(path, limit); if (path_component) --- linux-lowlatency-3.5.0.orig/fs/nfs/nfs4proc.c +++ linux-lowlatency-3.5.0/fs/nfs/nfs4proc.c @@ -329,8 +329,7 @@ dprintk("%s ERROR: %d Reset session\n", __func__, errorcode); nfs4_schedule_session_recovery(clp->cl_session, errorcode); - exception->retry = 1; - break; + goto wait_on_recovery; #endif /* defined(CONFIG_NFS_V4_1) */ case -NFS4ERR_FILE_OPEN: if (exception->timeout > HZ) { @@ -1497,9 +1496,11 @@ data->timestamp = jiffies; if (nfs4_setup_sequence(data->o_arg.server, &data->o_arg.seq_args, - &data->o_res.seq_res, task)) - return; - rpc_call_start(task); + &data->o_res.seq_res, + task) != 0) + nfs_release_seqid(data->o_arg.seqid); + else + rpc_call_start(task); return; unlock_no_action: rcu_read_unlock(); @@ -2139,9 +2140,10 @@ if (nfs4_setup_sequence(NFS_SERVER(calldata->inode), &calldata->arg.seq_args, &calldata->res.seq_res, - task)) - goto out; - rpc_call_start(task); + task) != 0) + nfs_release_seqid(calldata->arg.seqid); + else + rpc_call_start(task); out: dprintk("%s: done!\n", __func__); } @@ -3189,11 +3191,11 @@ dentry->d_parent->d_name.name, dentry->d_name.name, (unsigned long long)cookie); - nfs4_setup_readdir(cookie, NFS_COOKIEVERF(dir), dentry, &args); + nfs4_setup_readdir(cookie, NFS_I(dir)->cookieverf, dentry, &args); res.pgbase = args.pgbase; status = nfs4_call_sync(NFS_SERVER(dir)->client, NFS_SERVER(dir), &msg, &args.seq_args, &res.seq_res, 0); if (status >= 0) { - memcpy(NFS_COOKIEVERF(dir), res.verifier.data, NFS4_VERIFIER_SIZE); + memcpy(NFS_I(dir)->cookieverf, res.verifier.data, NFS4_VERIFIER_SIZE); status += args.pgbase; } @@ -4340,6 +4342,7 @@ if (nfs4_async_handle_error(task, calldata->server, NULL) == -EAGAIN) rpc_restart_call_prepare(task); } + nfs_release_seqid(calldata->arg.seqid); } static void nfs4_locku_prepare(struct rpc_task *task, void *data) @@ -4356,9 +4359,11 @@ calldata->timestamp = jiffies; if (nfs4_setup_sequence(calldata->server, &calldata->arg.seq_args, - &calldata->res.seq_res, task)) - return; - rpc_call_start(task); + &calldata->res.seq_res, + task) != 0) + nfs_release_seqid(calldata->arg.seqid); + else + rpc_call_start(task); } static const struct rpc_call_ops nfs4_locku_ops = { @@ -4503,7 +4508,7 @@ /* Do we need to do an open_to_lock_owner? */ if (!(data->arg.lock_seqid->sequence->flags & NFS_SEQID_CONFIRMED)) { if (nfs_wait_on_sequence(data->arg.open_seqid, task) != 0) - return; + goto out_release_lock_seqid; data->arg.open_stateid = &state->stateid; data->arg.new_lock_owner = 1; data->res.open_seqid = data->arg.open_seqid; @@ -4512,10 +4517,15 @@ data->timestamp = jiffies; if (nfs4_setup_sequence(data->server, &data->arg.seq_args, - &data->res.seq_res, task)) + &data->res.seq_res, + task) == 0) { + rpc_call_start(task); return; - rpc_call_start(task); - dprintk("%s: done!, ret = %d\n", __func__, data->rpc_status); + } + nfs_release_seqid(data->arg.open_seqid); +out_release_lock_seqid: + nfs_release_seqid(data->arg.lock_seqid); + dprintk("%s: done!, ret = %d\n", __func__, task->tk_status); } static void nfs4_recover_lock_prepare(struct rpc_task *task, void *calldata) @@ -6164,11 +6174,58 @@ dprintk("<-- %s\n", __func__); } +static size_t max_response_pages(struct nfs_server *server) +{ + u32 max_resp_sz = server->nfs_client->cl_session->fc_attrs.max_resp_sz; + return nfs_page_array_len(0, max_resp_sz); +} + +static void nfs4_free_pages(struct page **pages, size_t size) +{ + int i; + + if (!pages) + return; + + for (i = 0; i < size; i++) { + if (!pages[i]) + break; + __free_page(pages[i]); + } + kfree(pages); +} + +static struct page **nfs4_alloc_pages(size_t size, gfp_t gfp_flags) +{ + struct page **pages; + int i; + + pages = kcalloc(size, sizeof(struct page *), gfp_flags); + if (!pages) { + dprintk("%s: can't alloc array of %zu pages\n", __func__, size); + return NULL; + } + + for (i = 0; i < size; i++) { + pages[i] = alloc_page(gfp_flags); + if (!pages[i]) { + dprintk("%s: failed to allocate page\n", __func__); + nfs4_free_pages(pages, size); + return NULL; + } + } + + return pages; +} + static void nfs4_layoutget_release(void *calldata) { struct nfs4_layoutget *lgp = calldata; + struct nfs_server *server = NFS_SERVER(lgp->args.inode); + size_t max_pages = max_response_pages(server); dprintk("--> %s\n", __func__); + nfs4_free_pages(lgp->args.layout.pages, max_pages); put_nfs_open_context(lgp->args.ctx); kfree(calldata); dprintk("<-- %s\n", __func__); @@ -6180,9 +6237,10 @@ .rpc_release = nfs4_layoutget_release, }; -int nfs4_proc_layoutget(struct nfs4_layoutget *lgp) +int nfs4_proc_layoutget(struct nfs4_layoutget *lgp, gfp_t gfp_flags) { struct nfs_server *server = NFS_SERVER(lgp->args.inode); + size_t max_pages = max_response_pages(server); struct rpc_task *task; struct rpc_message msg = { .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_LAYOUTGET], @@ -6200,6 +6258,13 @@ dprintk("--> %s\n", __func__); + lgp->args.layout.pages = nfs4_alloc_pages(max_pages, gfp_flags); + if (!lgp->args.layout.pages) { + nfs4_layoutget_release(lgp); + return -ENOMEM; + } + lgp->args.layout.pglen = max_pages * PAGE_SIZE; + lgp->res.layoutp = &lgp->args.layout; lgp->res.seq_res.sr_slot = NULL; nfs41_init_sequence(&lgp->args.seq_args, &lgp->res.seq_res, 0); @@ -6245,12 +6310,8 @@ return; } spin_lock(&lo->plh_inode->i_lock); - if (task->tk_status == 0) { - if (lrp->res.lrs_present) { - pnfs_set_layout_stateid(lo, &lrp->res.stateid, true); - } else - BUG_ON(!list_empty(&lo->plh_segs)); - } + if (task->tk_status == 0 && lrp->res.lrs_present) + pnfs_set_layout_stateid(lo, &lrp->res.stateid, true); lo->plh_block_lgets--; spin_unlock(&lo->plh_inode->i_lock); dprintk("<-- %s\n", __func__); --- linux-lowlatency-3.5.0.orig/fs/nfs/nfs4xdr.c +++ linux-lowlatency-3.5.0/fs/nfs/nfs4xdr.c @@ -6262,7 +6262,8 @@ status = decode_open(xdr, res); if (status) goto out; - if (decode_getfh(xdr, &res->fh) != 0) + status = decode_getfh(xdr, &res->fh); + if (status) goto out; decode_getfattr(xdr, res->f_attr, res->server); out: --- linux-lowlatency-3.5.0.orig/fs/nfs/pnfs.c +++ linux-lowlatency-3.5.0/fs/nfs/pnfs.c @@ -583,9 +583,6 @@ struct nfs_server *server = NFS_SERVER(ino); struct nfs4_layoutget *lgp; struct pnfs_layout_segment *lseg = NULL; - struct page **pages = NULL; - int i; - u32 max_resp_sz, max_pages; dprintk("--> %s\n", __func__); @@ -594,20 +591,6 @@ if (lgp == NULL) return NULL; - /* allocate pages for xdr post processing */ - max_resp_sz = server->nfs_client->cl_session->fc_attrs.max_resp_sz; - max_pages = nfs_page_array_len(0, max_resp_sz); - - pages = kcalloc(max_pages, sizeof(struct page *), gfp_flags); - if (!pages) - goto out_err_free; - - for (i = 0; i < max_pages; i++) { - pages[i] = alloc_page(gfp_flags); - if (!pages[i]) - goto out_err_free; - } - lgp->args.minlength = PAGE_CACHE_SIZE; if (lgp->args.minlength > range->length) lgp->args.minlength = range->length; @@ -616,39 +599,19 @@ lgp->args.type = server->pnfs_curr_ld->id; lgp->args.inode = ino; lgp->args.ctx = get_nfs_open_context(ctx); - lgp->args.layout.pages = pages; - lgp->args.layout.pglen = max_pages * PAGE_SIZE; lgp->lsegpp = &lseg; lgp->gfp_flags = gfp_flags; /* Synchronously retrieve layout information from server and * store in lseg. */ - nfs4_proc_layoutget(lgp); + nfs4_proc_layoutget(lgp, gfp_flags); if (!lseg) { /* remember that LAYOUTGET failed and suspend trying */ set_bit(lo_fail_bit(range->iomode), &lo->plh_flags); } - /* free xdr pages */ - for (i = 0; i < max_pages; i++) - __free_page(pages[i]); - kfree(pages); - return lseg; - -out_err_free: - /* free any allocated xdr pages, lgp as it's not used */ - if (pages) { - for (i = 0; i < max_pages; i++) { - if (!pages[i]) - break; - __free_page(pages[i]); - } - kfree(pages); - } - kfree(lgp); - return NULL; } /* Initiates a LAYOUTRETURN(FILE) */ --- linux-lowlatency-3.5.0.orig/fs/nfs/pnfs.h +++ linux-lowlatency-3.5.0/fs/nfs/pnfs.h @@ -171,7 +171,7 @@ struct pnfs_devicelist *devlist); extern int nfs4_proc_getdeviceinfo(struct nfs_server *server, struct pnfs_device *dev); -extern int nfs4_proc_layoutget(struct nfs4_layoutget *lgp); +extern int nfs4_proc_layoutget(struct nfs4_layoutget *lgp, gfp_t gfp_flags); extern int nfs4_proc_layoutreturn(struct nfs4_layoutreturn *lrp); /* pnfs.c */ --- linux-lowlatency-3.5.0.orig/fs/nfs/super.c +++ linux-lowlatency-3.5.0/fs/nfs/super.c @@ -822,7 +822,7 @@ int err = 0; if (!page) return -ENOMEM; - devname = nfs_path(&dummy, root, page, PAGE_SIZE); + devname = nfs_path(&dummy, root, page, PAGE_SIZE, 0); if (IS_ERR(devname)) err = PTR_ERR(devname); else @@ -1918,6 +1918,7 @@ memcpy(sap, &data->addr, sizeof(data->addr)); args->nfs_server.addrlen = sizeof(data->addr); + args->nfs_server.port = ntohs(data->addr.sin_port); if (!nfs_verify_server_address(sap)) goto out_no_address; @@ -2651,6 +2652,7 @@ return -EFAULT; if (!nfs_verify_server_address(sap)) goto out_no_address; + args->nfs_server.port = ntohs(((struct sockaddr_in *)sap)->sin_port); if (data->auth_flavourlen) { if (data->auth_flavourlen > 1) @@ -2961,4 +2963,6 @@ return res; } +MODULE_ALIAS("nfs4"); + #endif /* CONFIG_NFS_V4 */ --- linux-lowlatency-3.5.0.orig/fs/nfs/write.c +++ linux-lowlatency-3.5.0/fs/nfs/write.c @@ -1806,19 +1806,19 @@ nfs_wdata_mempool = mempool_create_slab_pool(MIN_POOL_WRITE, nfs_wdata_cachep); if (nfs_wdata_mempool == NULL) - return -ENOMEM; + goto out_destroy_write_cache; nfs_cdata_cachep = kmem_cache_create("nfs_commit_data", sizeof(struct nfs_commit_data), 0, SLAB_HWCACHE_ALIGN, NULL); if (nfs_cdata_cachep == NULL) - return -ENOMEM; + goto out_destroy_write_mempool; nfs_commit_mempool = mempool_create_slab_pool(MIN_POOL_COMMIT, nfs_wdata_cachep); if (nfs_commit_mempool == NULL) - return -ENOMEM; + goto out_destroy_commit_cache; /* * NFS congestion size, scale with available memory. @@ -1841,11 +1841,20 @@ nfs_congestion_kb = 256*1024; return 0; + +out_destroy_commit_cache: + kmem_cache_destroy(nfs_cdata_cachep); +out_destroy_write_mempool: + mempool_destroy(nfs_wdata_mempool); +out_destroy_write_cache: + kmem_cache_destroy(nfs_wdata_cachep); + return -ENOMEM; } void nfs_destroy_writepagecache(void) { mempool_destroy(nfs_commit_mempool); + kmem_cache_destroy(nfs_cdata_cachep); mempool_destroy(nfs_wdata_mempool); kmem_cache_destroy(nfs_wdata_cachep); } --- linux-lowlatency-3.5.0.orig/fs/nfs/blocklayout/blocklayout.c +++ linux-lowlatency-3.5.0/fs/nfs/blocklayout/blocklayout.c @@ -162,25 +162,39 @@ return bio; } -static struct bio *bl_add_page_to_bio(struct bio *bio, int npg, int rw, +static struct bio *do_add_page_to_bio(struct bio *bio, int npg, int rw, sector_t isect, struct page *page, struct pnfs_block_extent *be, void (*end_io)(struct bio *, int err), - struct parallel_io *par) + struct parallel_io *par, + unsigned int offset, int len) { + isect = isect + (offset >> SECTOR_SHIFT); + dprintk("%s: npg %d rw %d isect %llu offset %u len %d\n", __func__, + npg, rw, (unsigned long long)isect, offset, len); retry: if (!bio) { bio = bl_alloc_init_bio(npg, isect, be, end_io, par); if (!bio) return ERR_PTR(-ENOMEM); } - if (bio_add_page(bio, page, PAGE_CACHE_SIZE, 0) < PAGE_CACHE_SIZE) { + if (bio_add_page(bio, page, len, offset) < len) { bio = bl_submit_bio(rw, bio); goto retry; } return bio; } +static struct bio *bl_add_page_to_bio(struct bio *bio, int npg, int rw, + sector_t isect, struct page *page, + struct pnfs_block_extent *be, + void (*end_io)(struct bio *, int err), + struct parallel_io *par) +{ + return do_add_page_to_bio(bio, npg, rw, isect, page, be, + end_io, par, 0, PAGE_CACHE_SIZE); +} + /* This is basically copied from mpage_end_io_read */ static void bl_end_io_read(struct bio *bio, int err) { @@ -238,8 +252,11 @@ sector_t isect, extent_length = 0; struct parallel_io *par; loff_t f_offset = rdata->args.offset; + size_t bytes_left = rdata->args.count; + unsigned int pg_offset, pg_len; struct page **pages = rdata->args.pages; int pg_index = rdata->args.pgbase >> PAGE_CACHE_SHIFT; + const bool is_dio = (header->dreq != NULL); dprintk("%s enter nr_pages %u offset %lld count %u\n", __func__, rdata->pages.npages, f_offset, (unsigned int)rdata->args.count); @@ -273,36 +290,53 @@ extent_length = min(extent_length, cow_length); } } + + if (is_dio) { + pg_offset = f_offset & ~PAGE_CACHE_MASK; + if (pg_offset + bytes_left > PAGE_CACHE_SIZE) + pg_len = PAGE_CACHE_SIZE - pg_offset; + else + pg_len = bytes_left; + + f_offset += pg_len; + bytes_left -= pg_len; + isect += (pg_offset >> SECTOR_SHIFT); + } else { + pg_offset = 0; + pg_len = PAGE_CACHE_SIZE; + } + hole = is_hole(be, isect); if (hole && !cow_read) { bio = bl_submit_bio(READ, bio); /* Fill hole w/ zeroes w/o accessing device */ dprintk("%s Zeroing page for hole\n", __func__); - zero_user_segment(pages[i], 0, PAGE_CACHE_SIZE); + zero_user_segment(pages[i], pg_offset, pg_len); print_page(pages[i]); SetPageUptodate(pages[i]); } else { struct pnfs_block_extent *be_read; be_read = (hole && cow_read) ? cow_read : be; - bio = bl_add_page_to_bio(bio, rdata->pages.npages - i, + bio = do_add_page_to_bio(bio, rdata->pages.npages - i, READ, isect, pages[i], be_read, - bl_end_io_read, par); + bl_end_io_read, par, + pg_offset, pg_len); if (IS_ERR(bio)) { header->pnfs_error = PTR_ERR(bio); bio = NULL; goto out; } } - isect += PAGE_CACHE_SECTORS; + isect += (pg_len >> SECTOR_SHIFT); extent_length -= PAGE_CACHE_SECTORS; } if ((isect << SECTOR_SHIFT) >= header->inode->i_size) { rdata->res.eof = 1; - rdata->res.count = header->inode->i_size - f_offset; + rdata->res.count = header->inode->i_size - rdata->args.offset; } else { - rdata->res.count = (isect << SECTOR_SHIFT) - f_offset; + rdata->res.count = (isect << SECTOR_SHIFT) - rdata->args.offset; } out: bl_put_extent(be); @@ -450,6 +484,106 @@ return; } +static void +bl_read_single_end_io(struct bio *bio, int error) +{ + struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1; + struct page *page = bvec->bv_page; + + /* Only one page in bvec */ + unlock_page(page); +} + +static int +bl_do_readpage_sync(struct page *page, struct pnfs_block_extent *be, + unsigned int offset, unsigned int len) +{ + struct bio *bio; + struct page *shadow_page; + sector_t isect; + char *kaddr, *kshadow_addr; + int ret = 0; + + dprintk("%s: offset %u len %u\n", __func__, offset, len); + + shadow_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM); + if (shadow_page == NULL) + return -ENOMEM; + + bio = bio_alloc(GFP_NOIO, 1); + if (bio == NULL) + return -ENOMEM; + + isect = (page->index << PAGE_CACHE_SECTOR_SHIFT) + + (offset / SECTOR_SIZE); + + bio->bi_sector = isect - be->be_f_offset + be->be_v_offset; + bio->bi_bdev = be->be_mdev; + bio->bi_end_io = bl_read_single_end_io; + + lock_page(shadow_page); + if (bio_add_page(bio, shadow_page, + SECTOR_SIZE, round_down(offset, SECTOR_SIZE)) == 0) { + unlock_page(shadow_page); + bio_put(bio); + return -EIO; + } + + submit_bio(READ, bio); + wait_on_page_locked(shadow_page); + if (unlikely(!test_bit(BIO_UPTODATE, &bio->bi_flags))) { + ret = -EIO; + } else { + kaddr = kmap_atomic(page); + kshadow_addr = kmap_atomic(shadow_page); + memcpy(kaddr + offset, kshadow_addr + offset, len); + kunmap_atomic(kshadow_addr); + kunmap_atomic(kaddr); + } + __free_page(shadow_page); + bio_put(bio); + + return ret; +} + +static int +bl_read_partial_page_sync(struct page *page, struct pnfs_block_extent *be, + unsigned int dirty_offset, unsigned int dirty_len, + bool full_page) +{ + int ret = 0; + unsigned int start, end; + + if (full_page) { + start = 0; + end = PAGE_CACHE_SIZE; + } else { + start = round_down(dirty_offset, SECTOR_SIZE); + end = round_up(dirty_offset + dirty_len, SECTOR_SIZE); + } + + dprintk("%s: offset %u len %d\n", __func__, dirty_offset, dirty_len); + if (!be) { + zero_user_segments(page, start, dirty_offset, + dirty_offset + dirty_len, end); + if (start == 0 && end == PAGE_CACHE_SIZE && + trylock_page(page)) { + SetPageUptodate(page); + unlock_page(page); + } + return ret; + } + + if (start != dirty_offset) + ret = bl_do_readpage_sync(page, be, start, dirty_offset - start); + + if (!ret && (dirty_offset + dirty_len < end)) + ret = bl_do_readpage_sync(page, be, dirty_offset + dirty_len, + end - dirty_offset - dirty_len); + + return ret; +} + /* Given an unmapped page, zero it or read in page for COW, page is locked * by caller. */ @@ -483,7 +617,6 @@ SetPageUptodate(page); cleanup: - bl_put_extent(cow_read); if (bh) free_buffer_head(bh); if (ret) { @@ -552,9 +685,10 @@ struct bio *bio = NULL; struct pnfs_block_extent *be = NULL, *cow_read = NULL; sector_t isect, last_isect = 0, extent_length = 0; - struct parallel_io *par; + struct parallel_io *par = NULL; loff_t offset = wdata->args.offset; size_t count = wdata->args.count; + unsigned int pg_offset, pg_len, saved_len; struct page **pages = wdata->args.pages; struct page *page; pgoff_t index; @@ -563,6 +697,13 @@ NFS_SERVER(header->inode)->pnfs_blksize >> PAGE_CACHE_SHIFT; dprintk("%s enter, %Zu@%lld\n", __func__, count, offset); + + if (header->dreq != NULL && + (!IS_ALIGNED(offset, NFS_SERVER(header->inode)->pnfs_blksize) || + !IS_ALIGNED(count, NFS_SERVER(header->inode)->pnfs_blksize))) { + dprintk("pnfsblock nonblock aligned DIO writes. Resend MDS\n"); + goto out_mds; + } /* At this point, wdata->pages is a (sequential) list of nfs_pages. * We want to write each, and if there is an error set pnfs_error * to have it redone using nfs. @@ -659,10 +800,11 @@ if (!extent_length) { /* We've used up the previous extent */ bl_put_extent(be); + bl_put_extent(cow_read); bio = bl_submit_bio(WRITE, bio); /* Get the next one */ be = bl_find_get_extent(BLK_LSEG2EXT(header->lseg), - isect, NULL); + isect, &cow_read); if (!be || !is_writable(be, isect)) { header->pnfs_error = -EINVAL; goto out; @@ -679,7 +821,26 @@ extent_length = be->be_length - (isect - be->be_f_offset); } - if (be->be_state == PNFS_BLOCK_INVALID_DATA) { + + dprintk("%s offset %lld count %Zu\n", __func__, offset, count); + pg_offset = offset & ~PAGE_CACHE_MASK; + if (pg_offset + count > PAGE_CACHE_SIZE) + pg_len = PAGE_CACHE_SIZE - pg_offset; + else + pg_len = count; + + saved_len = pg_len; + if (be->be_state == PNFS_BLOCK_INVALID_DATA && + !bl_is_sector_init(be->be_inval, isect)) { + ret = bl_read_partial_page_sync(pages[i], cow_read, + pg_offset, pg_len, true); + if (ret) { + dprintk("%s bl_read_partial_page_sync fail %d\n", + __func__, ret); + header->pnfs_error = ret; + goto out; + } + ret = bl_mark_sectors_init(be->be_inval, isect, PAGE_CACHE_SECTORS); if (unlikely(ret)) { @@ -688,15 +849,35 @@ header->pnfs_error = ret; goto out; } + + /* Expand to full page write */ + pg_offset = 0; + pg_len = PAGE_CACHE_SIZE; + } else if ((pg_offset & (SECTOR_SIZE - 1)) || + (pg_len & (SECTOR_SIZE - 1))){ + /* ahh, nasty case. We have to do sync full sector + * read-modify-write cycles. + */ + unsigned int saved_offset = pg_offset; + ret = bl_read_partial_page_sync(pages[i], be, pg_offset, + pg_len, false); + pg_offset = round_down(pg_offset, SECTOR_SIZE); + pg_len = round_up(saved_offset + pg_len, SECTOR_SIZE) + - pg_offset; } - bio = bl_add_page_to_bio(bio, wdata->pages.npages - i, WRITE, + + + bio = do_add_page_to_bio(bio, wdata->pages.npages - i, WRITE, isect, pages[i], be, - bl_end_io_write, par); + bl_end_io_write, par, + pg_offset, pg_len); if (IS_ERR(bio)) { header->pnfs_error = PTR_ERR(bio); bio = NULL; goto out; } + offset += saved_len; + count -= saved_len; isect += PAGE_CACHE_SECTORS; last_isect = isect; extent_length -= PAGE_CACHE_SECTORS; @@ -714,17 +895,16 @@ } write_done: - wdata->res.count = (last_isect << SECTOR_SHIFT) - (offset); - if (count < wdata->res.count) { - wdata->res.count = count; - } + wdata->res.count = wdata->args.count; out: bl_put_extent(be); + bl_put_extent(cow_read); bl_submit_bio(WRITE, bio); put_parallel(par); return PNFS_ATTEMPTED; out_mds: bl_put_extent(be); + bl_put_extent(cow_read); kfree(par); return PNFS_NOT_ATTEMPTED; } @@ -996,15 +1176,64 @@ return 0; } +static bool +is_aligned_req(struct nfs_page *req, unsigned int alignment) +{ + return IS_ALIGNED(req->wb_offset, alignment) && + IS_ALIGNED(req->wb_bytes, alignment); +} + +static void +bl_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) +{ + if (pgio->pg_dreq != NULL && + !is_aligned_req(req, SECTOR_SIZE)) + nfs_pageio_reset_read_mds(pgio); + else + pnfs_generic_pg_init_read(pgio, req); +} + +static bool +bl_pg_test_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, + struct nfs_page *req) +{ + if (pgio->pg_dreq != NULL && + !is_aligned_req(req, SECTOR_SIZE)) + return false; + + return pnfs_generic_pg_test(pgio, prev, req); +} + +void +bl_pg_init_write(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) +{ + if (pgio->pg_dreq != NULL && + !is_aligned_req(req, PAGE_CACHE_SIZE)) + nfs_pageio_reset_write_mds(pgio); + else + pnfs_generic_pg_init_write(pgio, req); +} + +static bool +bl_pg_test_write(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, + struct nfs_page *req) +{ + if (pgio->pg_dreq != NULL && + !is_aligned_req(req, PAGE_CACHE_SIZE)) + return false; + + return pnfs_generic_pg_test(pgio, prev, req); +} + static const struct nfs_pageio_ops bl_pg_read_ops = { - .pg_init = pnfs_generic_pg_init_read, - .pg_test = pnfs_generic_pg_test, + .pg_init = bl_pg_init_read, + .pg_test = bl_pg_test_read, .pg_doio = pnfs_generic_pg_readpages, }; static const struct nfs_pageio_ops bl_pg_write_ops = { - .pg_init = pnfs_generic_pg_init_write, - .pg_test = pnfs_generic_pg_test, + .pg_init = bl_pg_init_write, + .pg_test = bl_pg_test_write, .pg_doio = pnfs_generic_pg_writepages, }; --- linux-lowlatency-3.5.0.orig/fs/nfs/blocklayout/blocklayout.h +++ linux-lowlatency-3.5.0/fs/nfs/blocklayout/blocklayout.h @@ -41,6 +41,7 @@ #define PAGE_CACHE_SECTORS (PAGE_CACHE_SIZE >> SECTOR_SHIFT) #define PAGE_CACHE_SECTOR_SHIFT (PAGE_CACHE_SHIFT - SECTOR_SHIFT) +#define SECTOR_SIZE (1 << SECTOR_SHIFT) struct block_mount_id { spinlock_t bm_lock; /* protects list */ --- linux-lowlatency-3.5.0.orig/fs/nfsd/nfs4callback.c +++ linux-lowlatency-3.5.0/fs/nfsd/nfs4callback.c @@ -651,12 +651,12 @@ if (clp->cl_minorversion == 0) { if (!clp->cl_cred.cr_principal && - (clp->cl_flavor >= RPC_AUTH_GSS_KRB5)) + (clp->cl_cred.cr_flavor >= RPC_AUTH_GSS_KRB5)) return -EINVAL; args.client_name = clp->cl_cred.cr_principal; args.prognumber = conn->cb_prog, args.protocol = XPRT_TRANSPORT_TCP; - args.authflavor = clp->cl_flavor; + args.authflavor = clp->cl_cred.cr_flavor; clp->cl_cb_ident = conn->cb_ident; } else { if (!conn->cb_xprt) --- linux-lowlatency-3.5.0.orig/fs/nfsd/nfs4idmap.c +++ linux-lowlatency-3.5.0/fs/nfsd/nfs4idmap.c @@ -598,7 +598,7 @@ /* Just to make sure it's null-terminated: */ memcpy(buf, name, namelen); buf[namelen] = '\0'; - ret = kstrtouint(name, 10, id); + ret = kstrtouint(buf, 10, id); return ret == 0; } --- linux-lowlatency-3.5.0.orig/fs/nfsd/nfs4state.c +++ linux-lowlatency-3.5.0/fs/nfsd/nfs4state.c @@ -1215,10 +1215,26 @@ return true; } -static int +/* + * RFC 3530 language requires clid_inuse be returned when the + * "principal" associated with a requests differs from that previously + * used. We use uid, gid's, and gss principal string as our best + * approximation. We also don't want to allow non-gss use of a client + * established using gss: in theory cr_principal should catch that + * change, but in practice cr_principal can be null even in the gss case + * since gssd doesn't always pass down a principal string. + */ +static bool is_gss_cred(struct svc_cred *cr) +{ + /* Is cr_flavor one of the gss "pseudoflavors"?: */ + return (cr->cr_flavor > RPC_AUTH_MAXFLAVOR); +} + + +static bool same_creds(struct svc_cred *cr1, struct svc_cred *cr2) { - if ((cr1->cr_flavor != cr2->cr_flavor) + if ((is_gss_cred(cr1) != is_gss_cred(cr2)) || (cr1->cr_uid != cr2->cr_uid) || (cr1->cr_gid != cr2->cr_gid) || !groups_equal(cr1->cr_group_info, cr2->cr_group_info)) @@ -1227,7 +1243,7 @@ return true; if (!cr1->cr_principal || !cr2->cr_principal) return false; - return 0 == strcmp(cr1->cr_principal, cr1->cr_principal); + return 0 == strcmp(cr1->cr_principal, cr2->cr_principal); } static void gen_clid(struct nfs4_client *clp) @@ -3748,6 +3764,7 @@ memcpy(&close->cl_stateid, &stp->st_stid.sc_stateid, sizeof(stateid_t)); nfsd4_close_open_stateid(stp); + release_last_closed_stateid(oo); oo->oo_last_closed_stid = stp; /* place unused nfs4_stateowners on so_close_lru list to be --- linux-lowlatency-3.5.0.orig/fs/nfsd/nfs4xdr.c +++ linux-lowlatency-3.5.0/fs/nfsd/nfs4xdr.c @@ -2259,7 +2259,7 @@ if (bmval0 & FATTR4_WORD0_CASE_INSENSITIVE) { if ((buflen -= 4) < 0) goto out_resource; - WRITE32(1); + WRITE32(0); } if (bmval0 & FATTR4_WORD0_CASE_PRESERVING) { if ((buflen -= 4) < 0) --- linux-lowlatency-3.5.0.orig/fs/nfsd/nfsctl.c +++ linux-lowlatency-3.5.0/fs/nfsd/nfsctl.c @@ -673,9 +673,7 @@ err = svc_addsock(nfsd_serv, fd, buf, SIMPLE_TRANSACTION_LIMIT); if (err < 0) { - if (nfsd_serv->sv_nrthreads == 1) - svc_shutdown_net(nfsd_serv, net); - svc_destroy(nfsd_serv); + nfsd_destroy(net); return err; } @@ -744,9 +742,7 @@ svc_xprt_put(xprt); } out_err: - if (nfsd_serv->sv_nrthreads == 1) - svc_shutdown_net(nfsd_serv, net); - svc_destroy(nfsd_serv); + nfsd_destroy(net); return err; } --- linux-lowlatency-3.5.0.orig/fs/nfsd/nfsd.h +++ linux-lowlatency-3.5.0/fs/nfsd/nfsd.h @@ -73,6 +73,17 @@ int nfsd_get_nrthreads(int n, int *); int nfsd_set_nrthreads(int n, int *); +static inline void nfsd_destroy(struct net *net) +{ + int destroy = (nfsd_serv->sv_nrthreads == 1); + + if (destroy) + svc_shutdown_net(nfsd_serv, net); + svc_destroy(nfsd_serv); + if (destroy) + nfsd_serv = NULL; +} + #if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL) #ifdef CONFIG_NFSD_V2_ACL extern struct svc_version nfsd_acl_version2; --- linux-lowlatency-3.5.0.orig/fs/nfsd/nfssvc.c +++ linux-lowlatency-3.5.0/fs/nfsd/nfssvc.c @@ -254,8 +254,6 @@ static void nfsd_last_thread(struct svc_serv *serv, struct net *net) { - /* When last nfsd thread exits we need to do some clean-up */ - nfsd_serv = NULL; nfsd_shutdown(); svc_rpcb_cleanup(serv, net); @@ -332,6 +330,7 @@ int nfsd_create_serv(void) { int error; + struct net *net = current->nsproxy->net_ns; WARN_ON(!mutex_is_locked(&nfsd_mutex)); if (nfsd_serv) { @@ -346,7 +345,7 @@ if (nfsd_serv == NULL) return -ENOMEM; - error = svc_bind(nfsd_serv, current->nsproxy->net_ns); + error = svc_bind(nfsd_serv, net); if (error < 0) { svc_destroy(nfsd_serv); return error; @@ -427,11 +426,7 @@ if (err) break; } - - if (nfsd_serv->sv_nrthreads == 1) - svc_shutdown_net(nfsd_serv, net); - svc_destroy(nfsd_serv); - + nfsd_destroy(net); return err; } @@ -478,9 +473,7 @@ if (error < 0 && !nfsd_up_before) nfsd_shutdown(); out_destroy: - if (nfsd_serv->sv_nrthreads == 1) - svc_shutdown_net(nfsd_serv, net); - svc_destroy(nfsd_serv); /* Release server */ + nfsd_destroy(net); /* Release server */ out: mutex_unlock(&nfsd_mutex); return error; @@ -563,12 +556,13 @@ nfsdstats.th_cnt --; out: - if (rqstp->rq_server->sv_nrthreads == 1) - svc_shutdown_net(rqstp->rq_server, &init_net); + rqstp->rq_server = NULL; /* Release the thread */ svc_exit_thread(rqstp); + nfsd_destroy(&init_net); + /* Release module */ mutex_unlock(&nfsd_mutex); module_put_and_exit(0); @@ -682,9 +676,7 @@ mutex_lock(&nfsd_mutex); /* this function really, really should have been called svc_put() */ - if (nfsd_serv->sv_nrthreads == 1) - svc_shutdown_net(nfsd_serv, net); - svc_destroy(nfsd_serv); + nfsd_destroy(net); mutex_unlock(&nfsd_mutex); return ret; } --- linux-lowlatency-3.5.0.orig/fs/nfsd/state.h +++ linux-lowlatency-3.5.0/fs/nfsd/state.h @@ -231,7 +231,6 @@ nfs4_verifier cl_verifier; /* generated by client */ time_t cl_time; /* time of last lease renewal */ struct sockaddr_storage cl_addr; /* client ipaddress */ - u32 cl_flavor; /* setclientid pseudoflavor */ struct svc_cred cl_cred; /* setclientid principal */ clientid_t cl_clientid; /* generated by server */ nfs4_verifier cl_confirm; /* generated by server */ --- linux-lowlatency-3.5.0.orig/fs/nilfs2/ioctl.c +++ linux-lowlatency-3.5.0/fs/nilfs2/ioctl.c @@ -182,7 +182,7 @@ if (copy_from_user(&cpmode, argp, sizeof(cpmode))) goto out; - down_read(&inode->i_sb->s_umount); + mutex_lock(&nilfs->ns_snapshot_mount_mutex); nilfs_transaction_begin(inode->i_sb, &ti, 0); ret = nilfs_cpfile_change_cpmode( @@ -192,7 +192,7 @@ else nilfs_transaction_commit(inode->i_sb); /* never fails */ - up_read(&inode->i_sb->s_umount); + mutex_unlock(&nilfs->ns_snapshot_mount_mutex); out: mnt_drop_write_file(filp); return ret; --- linux-lowlatency-3.5.0.orig/fs/nilfs2/super.c +++ linux-lowlatency-3.5.0/fs/nilfs2/super.c @@ -948,6 +948,8 @@ struct nilfs_root *root; int ret; + mutex_lock(&nilfs->ns_snapshot_mount_mutex); + down_read(&nilfs->ns_segctor_sem); ret = nilfs_cpfile_is_snapshot(nilfs->ns_cpfile, cno); up_read(&nilfs->ns_segctor_sem); @@ -972,6 +974,7 @@ ret = nilfs_get_root_dentry(s, root, root_dentry); nilfs_put_root(root); out: + mutex_unlock(&nilfs->ns_snapshot_mount_mutex); return ret; } --- linux-lowlatency-3.5.0.orig/fs/nilfs2/the_nilfs.c +++ linux-lowlatency-3.5.0/fs/nilfs2/the_nilfs.c @@ -76,6 +76,7 @@ nilfs->ns_bdev = bdev; atomic_set(&nilfs->ns_ndirtyblks, 0); init_rwsem(&nilfs->ns_sem); + mutex_init(&nilfs->ns_snapshot_mount_mutex); INIT_LIST_HEAD(&nilfs->ns_dirty_files); INIT_LIST_HEAD(&nilfs->ns_gc_inodes); spin_lock_init(&nilfs->ns_inode_lock); --- linux-lowlatency-3.5.0.orig/fs/nilfs2/the_nilfs.h +++ linux-lowlatency-3.5.0/fs/nilfs2/the_nilfs.h @@ -47,6 +47,7 @@ * @ns_flags: flags * @ns_bdev: block device * @ns_sem: semaphore for shared states + * @ns_snapshot_mount_mutex: mutex to protect snapshot mounts * @ns_sbh: buffer heads of on-disk super blocks * @ns_sbp: pointers to super block data * @ns_sbwtime: previous write time of super block @@ -99,6 +100,7 @@ struct block_device *ns_bdev; struct rw_semaphore ns_sem; + struct mutex ns_snapshot_mount_mutex; /* * used for --- linux-lowlatency-3.5.0.orig/fs/notify/group.c +++ linux-lowlatency-3.5.0/fs/notify/group.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include "fsnotify.h" @@ -33,9 +34,6 @@ */ void fsnotify_final_destroy_group(struct fsnotify_group *group) { - /* clear the notification queue of all events */ - fsnotify_flush_notify(group); - if (group->ops->free_group_priv) group->ops->free_group_priv(group); @@ -43,12 +41,10 @@ } /* - * Trying to get rid of a group. We need to first get rid of any outstanding - * allocations and then free the group. Remember that fsnotify_clear_marks_by_group - * could miss marks that are being freed by inode and those marks could still - * hold a reference to this group (via group->num_marks) If we get into that - * situtation, the fsnotify_final_destroy_group will get called when that final - * mark is freed. + * Trying to get rid of a group. Remove all marks, flush all events and release + * the group reference. + * Note that another thread calling fsnotify_clear_marks_by_group() may still + * hold a ref to the group. */ static void fsnotify_destroy_group(struct fsnotify_group *group) { @@ -57,9 +53,18 @@ synchronize_srcu(&fsnotify_mark_srcu); - /* past the point of no return, matches the initial value of 1 */ - if (atomic_dec_and_test(&group->num_marks)) - fsnotify_final_destroy_group(group); + /* clear the notification queue of all events */ + fsnotify_flush_notify(group); + + fsnotify_put_group(group); +} + +/* + * Get reference to a group. + */ +void fsnotify_get_group(struct fsnotify_group *group) +{ + atomic_inc(&group->refcnt); } /* @@ -68,8 +73,9 @@ void fsnotify_put_group(struct fsnotify_group *group) { if (atomic_dec_and_test(&group->refcnt)) - fsnotify_destroy_group(group); + fsnotify_final_destroy_group(group); } +EXPORT_SYMBOL(fsnotify_put_group); /* * Create a new fsnotify_group and hold a reference for the group returned. @@ -84,21 +90,18 @@ /* set to 0 when there a no external references to this group */ atomic_set(&group->refcnt, 1); - /* - * hits 0 when there are no external references AND no marks for - * this group - */ - atomic_set(&group->num_marks, 1); + atomic_set(&group->num_marks, 0); mutex_init(&group->notification_mutex); INIT_LIST_HEAD(&group->notification_list); init_waitqueue_head(&group->notification_waitq); group->max_events = UINT_MAX; - spin_lock_init(&group->mark_lock); + mutex_init(&group->mark_mutex); INIT_LIST_HEAD(&group->marks_list); group->ops = ops; return group; } +EXPORT_SYMBOL(fsnotify_alloc_group); --- linux-lowlatency-3.5.0.orig/fs/notify/inode_mark.c +++ linux-lowlatency-3.5.0/fs/notify/inode_mark.c @@ -63,8 +63,8 @@ { struct inode *inode = mark->i.inode; + BUG_ON(!mutex_is_locked(&mark->group->mark_mutex)); assert_spin_locked(&mark->lock); - assert_spin_locked(&mark->group->mark_lock); spin_lock(&inode->i_lock); @@ -99,8 +99,16 @@ spin_unlock(&inode->i_lock); list_for_each_entry_safe(mark, lmark, &free_list, i.free_i_list) { - fsnotify_destroy_mark(mark); + struct fsnotify_group *group; + + spin_lock(&mark->lock); + fsnotify_get_group(mark->group); + group = mark->group; + spin_unlock(&mark->lock); + + fsnotify_destroy_mark(mark, group); fsnotify_put_mark(mark); + fsnotify_put_group(group); } } @@ -191,8 +199,8 @@ mark->flags |= FSNOTIFY_MARK_FLAG_INODE; + BUG_ON(!mutex_is_locked(&group->mark_mutex)); assert_spin_locked(&mark->lock); - assert_spin_locked(&group->mark_lock); spin_lock(&inode->i_lock); --- linux-lowlatency-3.5.0.orig/fs/notify/mark.c +++ linux-lowlatency-3.5.0/fs/notify/mark.c @@ -109,23 +109,27 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) { - if (atomic_dec_and_test(&mark->refcnt)) + if (atomic_dec_and_test(&mark->refcnt)) { + if (mark->group) + fsnotify_put_group(mark->group); mark->free_mark(mark); + } } +EXPORT_SYMBOL(fsnotify_put_mark); /* * Any time a mark is getting freed we end up here. * The caller had better be holding a reference to this mark so we don't actually * do the final put under the mark->lock */ -void fsnotify_destroy_mark(struct fsnotify_mark *mark) +void fsnotify_destroy_mark_locked(struct fsnotify_mark *mark, + struct fsnotify_group *group) { - struct fsnotify_group *group; struct inode *inode = NULL; - spin_lock(&mark->lock); + BUG_ON(!mutex_is_locked(&group->mark_mutex)); - group = mark->group; + spin_lock(&mark->lock); /* something else already called this function on this mark */ if (!(mark->flags & FSNOTIFY_MARK_FLAG_ALIVE)) { @@ -135,8 +139,6 @@ mark->flags &= ~FSNOTIFY_MARK_FLAG_ALIVE; - spin_lock(&group->mark_lock); - if (mark->flags & FSNOTIFY_MARK_FLAG_INODE) { inode = mark->i.inode; fsnotify_destroy_inode_mark(mark); @@ -147,13 +149,22 @@ list_del_init(&mark->g_list); - spin_unlock(&group->mark_lock); spin_unlock(&mark->lock); + if (inode && (mark->flags & FSNOTIFY_MARK_FLAG_OBJECT_PINNED)) + iput(inode); + /* release lock temporarily */ + mutex_unlock(&group->mark_mutex); + spin_lock(&destroy_lock); list_add(&mark->destroy_list, &destroy_list); spin_unlock(&destroy_lock); wake_up(&destroy_waitq); + /* + * We don't necessarily have a ref on mark from caller so the above destroy + * may have actually freed it, unless this group provides a 'freeing_mark' + * function which must be holding a reference. + */ /* * Some groups like to know that marks are being freed. This is a @@ -175,22 +186,19 @@ * is just a lazy update (and could be a perf win...) */ - if (inode && (mark->flags & FSNOTIFY_MARK_FLAG_OBJECT_PINNED)) - iput(inode); + atomic_dec(&group->num_marks); - /* - * We don't necessarily have a ref on mark from caller so the above iput - * may have already destroyed it. Don't touch from now on. - */ + mutex_lock_nested(&group->mark_mutex, SINGLE_DEPTH_NESTING); +} - /* - * it's possible that this group tried to destroy itself, but this - * this mark was simultaneously being freed by inode. If that's the - * case, we finish freeing the group here. - */ - if (unlikely(atomic_dec_and_test(&group->num_marks))) - fsnotify_final_destroy_group(group); +void fsnotify_destroy_mark(struct fsnotify_mark *mark, + struct fsnotify_group *group) +{ + mutex_lock_nested(&group->mark_mutex, SINGLE_DEPTH_NESTING); + fsnotify_destroy_mark_locked(mark, group); + mutex_unlock(&group->mark_mutex); } +EXPORT_SYMBOL(fsnotify_destroy_mark); void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask) { @@ -214,26 +222,26 @@ * These marks may be used for the fsnotify backend to determine which * event types should be delivered to which group. */ -int fsnotify_add_mark(struct fsnotify_mark *mark, - struct fsnotify_group *group, struct inode *inode, - struct vfsmount *mnt, int allow_dups) +int fsnotify_add_mark_locked(struct fsnotify_mark *mark, + struct fsnotify_group *group, struct inode *inode, + struct vfsmount *mnt, int allow_dups) { int ret = 0; BUG_ON(inode && mnt); BUG_ON(!inode && !mnt); + BUG_ON(!mutex_is_locked(&group->mark_mutex)); /* * LOCKING ORDER!!!! + * group->mark_mutex * mark->lock - * group->mark_lock * inode->i_lock */ spin_lock(&mark->lock); - spin_lock(&group->mark_lock); - mark->flags |= FSNOTIFY_MARK_FLAG_ALIVE; + fsnotify_get_group(group); mark->group = group; list_add(&mark->g_list, &group->marks_list); atomic_inc(&group->num_marks); @@ -251,11 +259,8 @@ BUG(); } - spin_unlock(&group->mark_lock); - /* this will pin the object if appropriate */ fsnotify_set_mark_mask_locked(mark, mark->mask); - spin_unlock(&mark->lock); if (inode) @@ -265,10 +270,10 @@ err: mark->flags &= ~FSNOTIFY_MARK_FLAG_ALIVE; list_del_init(&mark->g_list); + fsnotify_put_group(group); mark->group = NULL; atomic_dec(&group->num_marks); - spin_unlock(&group->mark_lock); spin_unlock(&mark->lock); spin_lock(&destroy_lock); @@ -278,6 +283,17 @@ return ret; } +EXPORT_SYMBOL(fsnotify_add_mark); + +int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group, + struct inode *inode, struct vfsmount *mnt, int allow_dups) +{ + int ret; + mutex_lock(&group->mark_mutex); + ret = fsnotify_add_mark_locked(mark, group, inode, mnt, allow_dups); + mutex_unlock(&group->mark_mutex); + return ret; +} /* * clear any marks in a group in which mark->flags & flags is true @@ -286,22 +302,16 @@ unsigned int flags) { struct fsnotify_mark *lmark, *mark; - LIST_HEAD(free_list); - spin_lock(&group->mark_lock); + mutex_lock_nested(&group->mark_mutex, SINGLE_DEPTH_NESTING); list_for_each_entry_safe(mark, lmark, &group->marks_list, g_list) { if (mark->flags & flags) { - list_add(&mark->free_g_list, &free_list); - list_del_init(&mark->g_list); fsnotify_get_mark(mark); + fsnotify_destroy_mark_locked(mark, group); + fsnotify_put_mark(mark); } } - spin_unlock(&group->mark_lock); - - list_for_each_entry_safe(mark, lmark, &free_list, free_g_list) { - fsnotify_destroy_mark(mark); - fsnotify_put_mark(mark); - } + mutex_unlock(&group->mark_mutex); } /* @@ -317,6 +327,8 @@ assert_spin_locked(&old->lock); new->i.inode = old->i.inode; new->m.mnt = old->m.mnt; + if (old->group) + fsnotify_get_group(old->group); new->group = old->group; new->mask = old->mask; new->free_mark = old->free_mark; @@ -333,6 +345,7 @@ atomic_set(&mark->refcnt, 1); mark->free_mark = free_mark; } +EXPORT_SYMBOL(fsnotify_init_mark); static int fsnotify_mark_destroy(void *ignored) { --- linux-lowlatency-3.5.0.orig/fs/notify/vfsmount_mark.c +++ linux-lowlatency-3.5.0/fs/notify/vfsmount_mark.c @@ -46,8 +46,16 @@ spin_unlock(&mnt->mnt_root->d_lock); list_for_each_entry_safe(mark, lmark, &free_list, m.free_m_list) { - fsnotify_destroy_mark(mark); + struct fsnotify_group *group; + + spin_lock(&mark->lock); + fsnotify_get_group(mark->group); + group = mark->group; + spin_unlock(&mark->lock); + + fsnotify_destroy_mark(mark, group); fsnotify_put_mark(mark); + fsnotify_put_group(group); } } @@ -88,8 +96,8 @@ { struct vfsmount *mnt = mark->m.mnt; + BUG_ON(!mutex_is_locked(&mark->group->mark_mutex)); assert_spin_locked(&mark->lock); - assert_spin_locked(&mark->group->mark_lock); spin_lock(&mnt->mnt_root->d_lock); @@ -151,8 +159,8 @@ mark->flags |= FSNOTIFY_MARK_FLAG_VFSMOUNT; + BUG_ON(!mutex_is_locked(&group->mark_mutex)); assert_spin_locked(&mark->lock); - assert_spin_locked(&group->mark_lock); spin_lock(&mnt->mnt_root->d_lock); --- linux-lowlatency-3.5.0.orig/fs/notify/dnotify/dnotify.c +++ linux-lowlatency-3.5.0/fs/notify/dnotify/dnotify.c @@ -201,7 +201,7 @@ /* nothing else could have found us thanks to the dnotify_mark_mutex */ if (dn_mark->dn == NULL) - fsnotify_destroy_mark(fsn_mark); + fsnotify_destroy_mark(fsn_mark, dnotify_group); mutex_unlock(&dnotify_mark_mutex); @@ -385,7 +385,7 @@ spin_unlock(&fsn_mark->lock); if (destroy) - fsnotify_destroy_mark(fsn_mark); + fsnotify_destroy_mark(fsn_mark, dnotify_group); mutex_unlock(&dnotify_mark_mutex); fsnotify_put_mark(fsn_mark); --- linux-lowlatency-3.5.0.orig/fs/notify/fanotify/fanotify.c +++ linux-lowlatency-3.5.0/fs/notify/fanotify/fanotify.c @@ -21,6 +21,7 @@ if ((old->path.mnt == new->path.mnt) && (old->path.dentry == new->path.dentry)) return true; + break; case (FSNOTIFY_EVENT_NONE): return true; default: --- linux-lowlatency-3.5.0.orig/fs/notify/fanotify/fanotify_user.c +++ linux-lowlatency-3.5.0/fs/notify/fanotify/fanotify_user.c @@ -515,7 +515,8 @@ static __u32 fanotify_mark_remove_from_mask(struct fsnotify_mark *fsn_mark, __u32 mask, - unsigned int flags) + unsigned int flags, + int *destroy) { __u32 oldmask; @@ -529,8 +530,7 @@ } spin_unlock(&fsn_mark->lock); - if (!(oldmask & ~mask)) - fsnotify_destroy_mark(fsn_mark); + *destroy = !(oldmask & ~mask); return mask & oldmask; } @@ -541,12 +541,17 @@ { struct fsnotify_mark *fsn_mark = NULL; __u32 removed; + int destroy_mark; fsn_mark = fsnotify_find_vfsmount_mark(group, mnt); if (!fsn_mark) return -ENOENT; - removed = fanotify_mark_remove_from_mask(fsn_mark, mask, flags); + removed = fanotify_mark_remove_from_mask(fsn_mark, mask, flags, + &destroy_mark); + if (destroy_mark) + fsnotify_destroy_mark(fsn_mark, group); + fsnotify_put_mark(fsn_mark); if (removed & real_mount(mnt)->mnt_fsnotify_mask) fsnotify_recalc_vfsmount_mask(mnt); @@ -560,12 +565,16 @@ { struct fsnotify_mark *fsn_mark = NULL; __u32 removed; + int destroy_mark; fsn_mark = fsnotify_find_inode_mark(group, inode); if (!fsn_mark) return -ENOENT; - removed = fanotify_mark_remove_from_mask(fsn_mark, mask, flags); + removed = fanotify_mark_remove_from_mask(fsn_mark, mask, flags, + &destroy_mark); + if (destroy_mark) + fsnotify_destroy_mark(fsn_mark, group); /* matches the fsnotify_find_inode_mark() */ fsnotify_put_mark(fsn_mark); if (removed & inode->i_fsnotify_mask) --- linux-lowlatency-3.5.0.orig/fs/notify/inotify/inotify_fsnotify.c +++ linux-lowlatency-3.5.0/fs/notify/inotify/inotify_fsnotify.c @@ -118,6 +118,7 @@ fsn_event_priv = &event_priv->fsnotify_event_priv_data; + fsnotify_get_group(group); fsn_event_priv->group = group; event_priv->wd = wd; @@ -131,7 +132,7 @@ } if (inode_mark->mask & IN_ONESHOT) - fsnotify_destroy_mark(inode_mark); + fsnotify_destroy_mark(inode_mark, group); return ret; } @@ -210,6 +211,7 @@ event_priv = container_of(fsn_event_priv, struct inotify_event_private_data, fsnotify_event_priv_data); + fsnotify_put_group(fsn_event_priv->group); kmem_cache_free(event_priv_cachep, event_priv); } --- linux-lowlatency-3.5.0.orig/fs/notify/inotify/inotify_user.c +++ linux-lowlatency-3.5.0/fs/notify/inotify/inotify_user.c @@ -533,6 +533,7 @@ fsn_event_priv = &event_priv->fsnotify_event_priv_data; + fsnotify_get_group(group); fsn_event_priv->group = group; event_priv->wd = i_mark->wd; @@ -817,7 +818,7 @@ ret = 0; - fsnotify_destroy_mark(&i_mark->fsn_mark); + fsnotify_destroy_mark(&i_mark->fsn_mark, group); /* match ref taken by inotify_idr_find */ fsnotify_put_mark(&i_mark->fsn_mark); --- linux-lowlatency-3.5.0.orig/fs/overlayfs/Kconfig +++ linux-lowlatency-3.5.0/fs/overlayfs/Kconfig @@ -0,0 +1,4 @@ +config OVERLAYFS_FS + tristate "Overlay filesystem support" + help + Add support for overlay filesystem. --- linux-lowlatency-3.5.0.orig/fs/overlayfs/Makefile +++ linux-lowlatency-3.5.0/fs/overlayfs/Makefile @@ -0,0 +1,7 @@ +# +# Makefile for the overlay filesystem. +# + +obj-$(CONFIG_OVERLAYFS_FS) += overlayfs.o + +overlayfs-objs := super.o inode.o dir.o readdir.o copy_up.o --- linux-lowlatency-3.5.0.orig/fs/overlayfs/copy_up.c +++ linux-lowlatency-3.5.0/fs/overlayfs/copy_up.c @@ -0,0 +1,385 @@ +/* + * + * Copyright (C) 2011 Novell Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "overlayfs.h" + +#define OVL_COPY_UP_CHUNK_SIZE (1 << 20) + +static int ovl_copy_up_xattr(struct dentry *old, struct dentry *new) +{ + ssize_t list_size, size; + char *buf, *name, *value; + int error; + + if (!old->d_inode->i_op->getxattr || + !new->d_inode->i_op->getxattr) + return 0; + + list_size = vfs_listxattr(old, NULL, 0); + if (list_size <= 0) { + if (list_size == -EOPNOTSUPP) + return 0; + return list_size; + } + + buf = kzalloc(list_size, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + error = -ENOMEM; + value = kmalloc(XATTR_SIZE_MAX, GFP_KERNEL); + if (!value) + goto out; + + list_size = vfs_listxattr(old, buf, list_size); + if (list_size <= 0) { + error = list_size; + goto out_free_value; + } + + for (name = buf; name < (buf + list_size); name += strlen(name) + 1) { + size = vfs_getxattr(old, name, value, XATTR_SIZE_MAX); + if (size <= 0) { + error = size; + goto out_free_value; + } + error = vfs_setxattr(new, name, value, size, 0); + if (error) + goto out_free_value; + } + +out_free_value: + kfree(value); +out: + kfree(buf); + return error; +} + +static int ovl_copy_up_data(struct path *old, struct path *new, loff_t len) +{ + struct file *old_file; + struct file *new_file; + int error = 0; + + if (len == 0) + return 0; + + old_file = ovl_path_open(old, O_RDONLY); + if (IS_ERR(old_file)) + return PTR_ERR(old_file); + + new_file = ovl_path_open(new, O_WRONLY); + if (IS_ERR(new_file)) { + error = PTR_ERR(new_file); + goto out_fput; + } + + /* FIXME: copy up sparse files efficiently */ + while (len) { + loff_t offset = new_file->f_pos; + size_t this_len = OVL_COPY_UP_CHUNK_SIZE; + long bytes; + + if (len < this_len) + this_len = len; + + if (signal_pending_state(TASK_KILLABLE, current)) { + error = -EINTR; + break; + } + + bytes = do_splice_direct(old_file, &offset, new_file, this_len, + SPLICE_F_MOVE); + if (bytes <= 0) { + error = bytes; + break; + } + + len -= bytes; + } + + fput(new_file); +out_fput: + fput(old_file); + return error; +} + +static char *ovl_read_symlink(struct dentry *realdentry) +{ + int res; + char *buf; + struct inode *inode = realdentry->d_inode; + mm_segment_t old_fs; + + res = -EINVAL; + if (!inode->i_op->readlink) + goto err; + + res = -ENOMEM; + buf = (char *) __get_free_page(GFP_KERNEL); + if (!buf) + goto err; + + old_fs = get_fs(); + set_fs(get_ds()); + /* The cast to a user pointer is valid due to the set_fs() */ + res = inode->i_op->readlink(realdentry, + (char __user *)buf, PAGE_SIZE - 1); + set_fs(old_fs); + if (res < 0) { + free_page((unsigned long) buf); + goto err; + } + buf[res] = '\0'; + + return buf; + +err: + return ERR_PTR(res); +} + +static int ovl_set_timestamps(struct dentry *upperdentry, struct kstat *stat) +{ + struct iattr attr = { + .ia_valid = + ATTR_ATIME | ATTR_MTIME | ATTR_ATIME_SET | ATTR_MTIME_SET, + .ia_atime = stat->atime, + .ia_mtime = stat->mtime, + }; + + return notify_change(upperdentry, &attr); +} + +static int ovl_set_mode(struct dentry *upperdentry, umode_t mode) +{ + struct iattr attr = { + .ia_valid = ATTR_MODE, + .ia_mode = mode, + }; + + return notify_change(upperdentry, &attr); +} + +static int ovl_copy_up_locked(struct dentry *upperdir, struct dentry *dentry, + struct path *lowerpath, struct kstat *stat, + const char *link) +{ + int err; + struct path newpath; + umode_t mode = stat->mode; + + /* Can't properly set mode on creation because of the umask */ + stat->mode &= S_IFMT; + + ovl_path_upper(dentry, &newpath); + WARN_ON(newpath.dentry); + newpath.dentry = ovl_upper_create(upperdir, dentry, stat, link); + if (IS_ERR(newpath.dentry)) + return PTR_ERR(newpath.dentry); + + if (S_ISREG(stat->mode)) { + err = ovl_copy_up_data(lowerpath, &newpath, stat->size); + if (err) + goto err_remove; + } + + err = ovl_copy_up_xattr(lowerpath->dentry, newpath.dentry); + if (err) + goto err_remove; + + mutex_lock(&newpath.dentry->d_inode->i_mutex); + if (!S_ISLNK(stat->mode)) + err = ovl_set_mode(newpath.dentry, mode); + if (!err) + err = ovl_set_timestamps(newpath.dentry, stat); + mutex_unlock(&newpath.dentry->d_inode->i_mutex); + if (err) + goto err_remove; + + ovl_dentry_update(dentry, newpath.dentry); + + /* + * Easiest way to get rid of the lower dentry reference is to + * drop this dentry. This is neither needed nor possible for + * directories. + */ + if (!S_ISDIR(stat->mode)) + d_drop(dentry); + + return 0; + +err_remove: + if (S_ISDIR(stat->mode)) + vfs_rmdir(upperdir->d_inode, newpath.dentry); + else + vfs_unlink(upperdir->d_inode, newpath.dentry); + + dput(newpath.dentry); + + return err; +} + +/* + * Copy up a single dentry + * + * Directory renames only allowed on "pure upper" (already created on + * upper filesystem, never copied up). Directories which are on lower or + * are merged may not be renamed. For these -EXDEV is returned and + * userspace has to deal with it. This means, when copying up a + * directory we can rely on it and ancestors being stable. + * + * Non-directory renames start with copy up of source if necessary. The + * actual rename will only proceed once the copy up was successful. Copy + * up uses upper parent i_mutex for exclusion. Since rename can change + * d_parent it is possible that the copy up will lock the old parent. At + * that point the file will have already been copied up anyway. + */ +static int ovl_copy_up_one(struct dentry *parent, struct dentry *dentry, + struct path *lowerpath, struct kstat *stat) +{ + int err; + struct kstat pstat; + struct path parentpath; + struct dentry *upperdir; + const struct cred *old_cred; + struct cred *override_cred; + char *link = NULL; + + ovl_path_upper(parent, &parentpath); + upperdir = parentpath.dentry; + + err = vfs_getattr(parentpath.mnt, parentpath.dentry, &pstat); + if (err) + return err; + + if (S_ISLNK(stat->mode)) { + link = ovl_read_symlink(lowerpath->dentry); + if (IS_ERR(link)) + return PTR_ERR(link); + } + + err = -ENOMEM; + override_cred = prepare_creds(); + if (!override_cred) + goto out_free_link; + + override_cred->fsuid = stat->uid; + override_cred->fsgid = stat->gid; + /* + * CAP_SYS_ADMIN for copying up extended attributes + * CAP_DAC_OVERRIDE for create + * CAP_FOWNER for chmod, timestamp update + * CAP_FSETID for chmod + * CAP_MKNOD for mknod + */ + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + cap_raise(override_cred->cap_effective, CAP_DAC_OVERRIDE); + cap_raise(override_cred->cap_effective, CAP_FOWNER); + cap_raise(override_cred->cap_effective, CAP_FSETID); + cap_raise(override_cred->cap_effective, CAP_MKNOD); + old_cred = override_creds(override_cred); + + mutex_lock_nested(&upperdir->d_inode->i_mutex, I_MUTEX_PARENT); + if (ovl_path_type(dentry) != OVL_PATH_LOWER) { + err = 0; + } else { + err = ovl_copy_up_locked(upperdir, dentry, lowerpath, + stat, link); + if (!err) { + /* Restore timestamps on parent (best effort) */ + ovl_set_timestamps(upperdir, &pstat); + } + } + + mutex_unlock(&upperdir->d_inode->i_mutex); + + revert_creds(old_cred); + put_cred(override_cred); + +out_free_link: + if (link) + free_page((unsigned long) link); + + return err; +} + +int ovl_copy_up(struct dentry *dentry) +{ + int err; + + err = 0; + while (!err) { + struct dentry *next; + struct dentry *parent; + struct path lowerpath; + struct kstat stat; + enum ovl_path_type type = ovl_path_type(dentry); + + if (type != OVL_PATH_LOWER) + break; + + next = dget(dentry); + /* find the topmost dentry not yet copied up */ + for (;;) { + parent = dget_parent(next); + + type = ovl_path_type(parent); + if (type != OVL_PATH_LOWER) + break; + + dput(next); + next = parent; + } + + ovl_path_lower(next, &lowerpath); + err = vfs_getattr(lowerpath.mnt, lowerpath.dentry, &stat); + if (!err) + err = ovl_copy_up_one(parent, next, &lowerpath, &stat); + + dput(parent); + dput(next); + } + + return err; +} + +/* Optimize by not copying up the file first and truncating later */ +int ovl_copy_up_truncate(struct dentry *dentry, loff_t size) +{ + int err; + struct kstat stat; + struct path lowerpath; + struct dentry *parent = dget_parent(dentry); + + err = ovl_copy_up(parent); + if (err) + goto out_dput_parent; + + ovl_path_lower(dentry, &lowerpath); + err = vfs_getattr(lowerpath.mnt, lowerpath.dentry, &stat); + if (err) + goto out_dput_parent; + + if (size < stat.size) + stat.size = size; + + err = ovl_copy_up_one(parent, dentry, &lowerpath, &stat); + +out_dput_parent: + dput(parent); + return err; +} --- linux-lowlatency-3.5.0.orig/fs/overlayfs/dir.c +++ linux-lowlatency-3.5.0/fs/overlayfs/dir.c @@ -0,0 +1,604 @@ +/* + * + * Copyright (C) 2011 Novell Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include "overlayfs.h" + +static const char *ovl_whiteout_symlink = "(overlay-whiteout)"; + +static int ovl_whiteout(struct dentry *upperdir, struct dentry *dentry) +{ + int err; + struct dentry *newdentry; + const struct cred *old_cred; + struct cred *override_cred; + + /* FIXME: recheck lower dentry to see if whiteout is really needed */ + + err = -ENOMEM; + override_cred = prepare_creds(); + if (!override_cred) + goto out; + + /* + * CAP_SYS_ADMIN for setxattr + * CAP_DAC_OVERRIDE for symlink creation + * CAP_FOWNER for unlink in sticky directory + */ + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + cap_raise(override_cred->cap_effective, CAP_DAC_OVERRIDE); + cap_raise(override_cred->cap_effective, CAP_FOWNER); + override_cred->fsuid = 0; + override_cred->fsgid = 0; + old_cred = override_creds(override_cred); + + newdentry = lookup_one_len(dentry->d_name.name, upperdir, + dentry->d_name.len); + err = PTR_ERR(newdentry); + if (IS_ERR(newdentry)) + goto out_put_cred; + + /* Just been removed within the same locked region */ + WARN_ON(newdentry->d_inode); + + err = vfs_symlink(upperdir->d_inode, newdentry, ovl_whiteout_symlink); + if (err) + goto out_dput; + + ovl_dentry_version_inc(dentry->d_parent); + + err = vfs_setxattr(newdentry, ovl_whiteout_xattr, "y", 1, 0); + if (err) + vfs_unlink(upperdir->d_inode, newdentry); + +out_dput: + dput(newdentry); +out_put_cred: + revert_creds(old_cred); + put_cred(override_cred); +out: + if (err) { + /* + * There's no way to recover from failure to whiteout. + * What should we do? Log a big fat error and... ? + */ + printk(KERN_ERR "overlayfs: ERROR - failed to whiteout '%s'\n", + dentry->d_name.name); + } + + return err; +} + +static struct dentry *ovl_lookup_create(struct dentry *upperdir, + struct dentry *template) +{ + int err; + struct dentry *newdentry; + struct qstr *name = &template->d_name; + + newdentry = lookup_one_len(name->name, upperdir, name->len); + if (IS_ERR(newdentry)) + return newdentry; + + if (newdentry->d_inode) { + const struct cred *old_cred; + struct cred *override_cred; + + /* No need to check whiteout if lower parent is non-existent */ + err = -EEXIST; + if (!ovl_dentry_lower(template->d_parent)) + goto out_dput; + + if (!S_ISLNK(newdentry->d_inode->i_mode)) + goto out_dput; + + err = -ENOMEM; + override_cred = prepare_creds(); + if (!override_cred) + goto out_dput; + + /* + * CAP_SYS_ADMIN for getxattr + * CAP_FOWNER for unlink in sticky directory + */ + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + cap_raise(override_cred->cap_effective, CAP_FOWNER); + old_cred = override_creds(override_cred); + + err = -EEXIST; + if (ovl_is_whiteout(newdentry)) + err = vfs_unlink(upperdir->d_inode, newdentry); + + revert_creds(old_cred); + put_cred(override_cred); + if (err) + goto out_dput; + + dput(newdentry); + newdentry = lookup_one_len(name->name, upperdir, name->len); + if (IS_ERR(newdentry)) { + ovl_whiteout(upperdir, template); + return newdentry; + } + + /* + * Whiteout just been successfully removed, parent + * i_mutex is still held, there's no way the lookup + * could return positive. + */ + WARN_ON(newdentry->d_inode); + } + + return newdentry; + +out_dput: + dput(newdentry); + return ERR_PTR(err); +} + +struct dentry *ovl_upper_create(struct dentry *upperdir, struct dentry *dentry, + struct kstat *stat, const char *link) +{ + int err; + struct dentry *newdentry; + struct inode *dir = upperdir->d_inode; + + newdentry = ovl_lookup_create(upperdir, dentry); + if (IS_ERR(newdentry)) + goto out; + + switch (stat->mode & S_IFMT) { + case S_IFREG: + err = vfs_create(dir, newdentry, stat->mode, NULL); + break; + + case S_IFDIR: + err = vfs_mkdir(dir, newdentry, stat->mode); + break; + + case S_IFCHR: + case S_IFBLK: + case S_IFIFO: + case S_IFSOCK: + err = vfs_mknod(dir, newdentry, stat->mode, stat->rdev); + break; + + case S_IFLNK: + err = vfs_symlink(dir, newdentry, link); + break; + + default: + err = -EPERM; + } + if (err) { + if (ovl_dentry_is_opaque(dentry)) + ovl_whiteout(upperdir, dentry); + dput(newdentry); + newdentry = ERR_PTR(err); + } else if (WARN_ON(!newdentry->d_inode)) { + /* + * Not quite sure if non-instantiated dentry is legal or not. + * VFS doesn't seem to care so check and warn here. + */ + dput(newdentry); + newdentry = ERR_PTR(-ENOENT); + } + +out: + return newdentry; + +} + +static int ovl_set_opaque(struct dentry *upperdentry) +{ + int err; + const struct cred *old_cred; + struct cred *override_cred; + + override_cred = prepare_creds(); + if (!override_cred) + return -ENOMEM; + + /* CAP_SYS_ADMIN for setxattr of "trusted" namespace */ + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + old_cred = override_creds(override_cred); + err = vfs_setxattr(upperdentry, ovl_opaque_xattr, "y", 1, 0); + revert_creds(old_cred); + put_cred(override_cred); + + return err; +} + +static int ovl_remove_opaque(struct dentry *upperdentry) +{ + int err; + const struct cred *old_cred; + struct cred *override_cred; + + override_cred = prepare_creds(); + if (!override_cred) + return -ENOMEM; + + /* CAP_SYS_ADMIN for removexattr of "trusted" namespace */ + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + old_cred = override_creds(override_cred); + err = vfs_removexattr(upperdentry, ovl_opaque_xattr); + revert_creds(old_cred); + put_cred(override_cred); + + return err; +} + +static int ovl_dir_getattr(struct vfsmount *mnt, struct dentry *dentry, + struct kstat *stat) +{ + int err; + enum ovl_path_type type; + struct path realpath; + + type = ovl_path_real(dentry, &realpath); + err = vfs_getattr(realpath.mnt, realpath.dentry, stat); + if (err) + return err; + + stat->dev = dentry->d_sb->s_dev; + stat->ino = dentry->d_inode->i_ino; + + /* + * It's probably not worth it to count subdirs to get the + * correct link count. nlink=1 seems to pacify 'find' and + * other utilities. + */ + if (type == OVL_PATH_MERGE) + stat->nlink = 1; + + return 0; +} + +static int ovl_create_object(struct dentry *dentry, int mode, dev_t rdev, + const char *link) +{ + int err; + struct dentry *newdentry; + struct dentry *upperdir; + struct inode *inode; + struct kstat stat = { + .mode = mode, + .rdev = rdev, + }; + + err = -ENOMEM; + inode = ovl_new_inode(dentry->d_sb, mode, dentry->d_fsdata); + if (!inode) + goto out; + + err = ovl_copy_up(dentry->d_parent); + if (err) + goto out_iput; + + upperdir = ovl_dentry_upper(dentry->d_parent); + mutex_lock_nested(&upperdir->d_inode->i_mutex, I_MUTEX_PARENT); + + newdentry = ovl_upper_create(upperdir, dentry, &stat, link); + err = PTR_ERR(newdentry); + if (IS_ERR(newdentry)) + goto out_unlock; + + ovl_dentry_version_inc(dentry->d_parent); + if (ovl_dentry_is_opaque(dentry) && S_ISDIR(mode)) { + err = ovl_set_opaque(newdentry); + if (err) { + vfs_rmdir(upperdir->d_inode, newdentry); + ovl_whiteout(upperdir, dentry); + goto out_dput; + } + } + ovl_dentry_update(dentry, newdentry); + ovl_copyattr(newdentry->d_inode, inode); + d_instantiate(dentry, inode); + inode = NULL; + newdentry = NULL; + err = 0; + +out_dput: + dput(newdentry); +out_unlock: + mutex_unlock(&upperdir->d_inode->i_mutex); +out_iput: + iput(inode); +out: + return err; +} + +static int ovl_create(struct inode *dir, struct dentry *dentry, umode_t mode, + struct nameidata *nd) +{ + return ovl_create_object(dentry, (mode & 07777) | S_IFREG, 0, NULL); +} + +static int ovl_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) +{ + return ovl_create_object(dentry, (mode & 07777) | S_IFDIR, 0, NULL); +} + +static int ovl_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, + dev_t rdev) +{ + return ovl_create_object(dentry, mode, rdev, NULL); +} + +static int ovl_symlink(struct inode *dir, struct dentry *dentry, + const char *link) +{ + return ovl_create_object(dentry, S_IFLNK, 0, link); +} + +static int ovl_do_remove(struct dentry *dentry, bool is_dir) +{ + int err; + enum ovl_path_type type; + struct path realpath; + struct dentry *upperdir; + + err = ovl_copy_up(dentry->d_parent); + if (err) + return err; + + upperdir = ovl_dentry_upper(dentry->d_parent); + mutex_lock_nested(&upperdir->d_inode->i_mutex, I_MUTEX_PARENT); + type = ovl_path_real(dentry, &realpath); + if (type != OVL_PATH_LOWER) { + err = -ESTALE; + if (realpath.dentry->d_parent != upperdir) + goto out_d_drop; + + /* FIXME: create whiteout up front and rename to target */ + + if (is_dir) + err = vfs_rmdir(upperdir->d_inode, realpath.dentry); + else + err = vfs_unlink(upperdir->d_inode, realpath.dentry); + if (err) + goto out_d_drop; + + ovl_dentry_version_inc(dentry->d_parent); + } + + if (type != OVL_PATH_UPPER || ovl_dentry_is_opaque(dentry)) + err = ovl_whiteout(upperdir, dentry); + + /* + * Keeping this dentry hashed would mean having to release + * upperpath/lowerpath, which could only be done if we are the + * sole user of this dentry. Too tricky... Just unhash for + * now. + */ +out_d_drop: + d_drop(dentry); + mutex_unlock(&upperdir->d_inode->i_mutex); + + return err; +} + +static int ovl_unlink(struct inode *dir, struct dentry *dentry) +{ + return ovl_do_remove(dentry, false); +} + + +static int ovl_rmdir(struct inode *dir, struct dentry *dentry) +{ + int err; + enum ovl_path_type type; + + type = ovl_path_type(dentry); + if (type != OVL_PATH_UPPER) { + err = ovl_check_empty_and_clear(dentry, type); + if (err) + return err; + } + + return ovl_do_remove(dentry, true); +} + +static int ovl_link(struct dentry *old, struct inode *newdir, + struct dentry *new) +{ + int err; + struct dentry *olddentry; + struct dentry *newdentry; + struct dentry *upperdir; + struct inode *newinode; + + err = ovl_copy_up(old); + if (err) + goto out; + + err = ovl_copy_up(new->d_parent); + if (err) + goto out; + + upperdir = ovl_dentry_upper(new->d_parent); + mutex_lock_nested(&upperdir->d_inode->i_mutex, I_MUTEX_PARENT); + newdentry = ovl_lookup_create(upperdir, new); + err = PTR_ERR(newdentry); + if (IS_ERR(newdentry)) + goto out_unlock; + + olddentry = ovl_dentry_upper(old); + err = vfs_link(olddentry, upperdir->d_inode, newdentry); + if (!err) { + if (WARN_ON(!newdentry->d_inode)) { + dput(newdentry); + err = -ENOENT; + goto out_unlock; + } + newinode = ovl_new_inode(old->d_sb, newdentry->d_inode->i_mode, + new->d_fsdata); + if (!newinode) + goto link_fail; + ovl_copyattr(upperdir->d_inode, newinode); + + ovl_dentry_version_inc(new->d_parent); + ovl_dentry_update(new, newdentry); + + d_instantiate(new, newinode); + } else { +link_fail: + if (ovl_dentry_is_opaque(new)) + ovl_whiteout(upperdir, new); + dput(newdentry); + } +out_unlock: + mutex_unlock(&upperdir->d_inode->i_mutex); +out: + return err; + +} + +static int ovl_rename(struct inode *olddir, struct dentry *old, + struct inode *newdir, struct dentry *new) +{ + int err; + enum ovl_path_type old_type; + enum ovl_path_type new_type; + struct dentry *old_upperdir; + struct dentry *new_upperdir; + struct dentry *olddentry; + struct dentry *newdentry; + struct dentry *trap; + bool old_opaque; + bool new_opaque; + bool new_create = false; + bool is_dir = S_ISDIR(old->d_inode->i_mode); + + /* Don't copy up directory trees */ + old_type = ovl_path_type(old); + if (old_type != OVL_PATH_UPPER && is_dir) + return -EXDEV; + + if (new->d_inode) { + new_type = ovl_path_type(new); + + if (new_type == OVL_PATH_LOWER && old_type == OVL_PATH_LOWER) { + if (ovl_dentry_lower(old)->d_inode == + ovl_dentry_lower(new)->d_inode) + return 0; + } + if (new_type != OVL_PATH_LOWER && old_type != OVL_PATH_LOWER) { + if (ovl_dentry_upper(old)->d_inode == + ovl_dentry_upper(new)->d_inode) + return 0; + } + + if (new_type != OVL_PATH_UPPER && + S_ISDIR(new->d_inode->i_mode)) { + err = ovl_check_empty_and_clear(new, new_type); + if (err) + return err; + } + } else { + new_type = OVL_PATH_UPPER; + } + + err = ovl_copy_up(old); + if (err) + return err; + + err = ovl_copy_up(new->d_parent); + if (err) + return err; + + old_upperdir = ovl_dentry_upper(old->d_parent); + new_upperdir = ovl_dentry_upper(new->d_parent); + + trap = lock_rename(new_upperdir, old_upperdir); + + olddentry = ovl_dentry_upper(old); + newdentry = ovl_dentry_upper(new); + if (newdentry) { + dget(newdentry); + } else { + new_create = true; + newdentry = ovl_lookup_create(new_upperdir, new); + err = PTR_ERR(newdentry); + if (IS_ERR(newdentry)) + goto out_unlock; + } + + err = -ESTALE; + if (olddentry->d_parent != old_upperdir) + goto out_dput; + if (newdentry->d_parent != new_upperdir) + goto out_dput; + if (olddentry == trap) + goto out_dput; + if (newdentry == trap) + goto out_dput; + + old_opaque = ovl_dentry_is_opaque(old); + new_opaque = ovl_dentry_is_opaque(new) || new_type != OVL_PATH_UPPER; + + if (is_dir && !old_opaque && new_opaque) { + err = ovl_set_opaque(olddentry); + if (err) + goto out_dput; + } + + err = vfs_rename(old_upperdir->d_inode, olddentry, + new_upperdir->d_inode, newdentry); + + if (err) { + if (new_create && ovl_dentry_is_opaque(new)) + ovl_whiteout(new_upperdir, new); + if (is_dir && !old_opaque && new_opaque) + ovl_remove_opaque(olddentry); + goto out_dput; + } + + if (old_type != OVL_PATH_UPPER || old_opaque) + err = ovl_whiteout(old_upperdir, old); + if (is_dir && old_opaque && !new_opaque) + ovl_remove_opaque(olddentry); + + if (old_opaque != new_opaque) + ovl_dentry_set_opaque(old, new_opaque); + + ovl_dentry_version_inc(old->d_parent); + ovl_dentry_version_inc(new->d_parent); + +out_dput: + dput(newdentry); +out_unlock: + unlock_rename(new_upperdir, old_upperdir); + return err; +} + +const struct inode_operations ovl_dir_inode_operations = { + .lookup = ovl_lookup, + .mkdir = ovl_mkdir, + .symlink = ovl_symlink, + .unlink = ovl_unlink, + .rmdir = ovl_rmdir, + .rename = ovl_rename, + .link = ovl_link, + .setattr = ovl_setattr, + .create = ovl_create, + .mknod = ovl_mknod, + .permission = ovl_permission, + .getattr = ovl_dir_getattr, + .setxattr = ovl_setxattr, + .getxattr = ovl_getxattr, + .listxattr = ovl_listxattr, + .removexattr = ovl_removexattr, +}; --- linux-lowlatency-3.5.0.orig/fs/overlayfs/inode.c +++ linux-lowlatency-3.5.0/fs/overlayfs/inode.c @@ -0,0 +1,375 @@ +/* + * + * Copyright (C) 2011 Novell Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +#include +#include +#include +#include "overlayfs.h" + +int ovl_setattr(struct dentry *dentry, struct iattr *attr) +{ + struct dentry *upperdentry; + int err; + + if ((attr->ia_valid & ATTR_SIZE) && !ovl_dentry_upper(dentry)) + err = ovl_copy_up_truncate(dentry, attr->ia_size); + else + err = ovl_copy_up(dentry); + if (err) + return err; + + upperdentry = ovl_dentry_upper(dentry); + + if (attr->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID)) + attr->ia_valid &= ~ATTR_MODE; + + mutex_lock(&upperdentry->d_inode->i_mutex); + err = notify_change(upperdentry, attr); + mutex_unlock(&upperdentry->d_inode->i_mutex); + + return err; +} + +static int ovl_getattr(struct vfsmount *mnt, struct dentry *dentry, + struct kstat *stat) +{ + struct path realpath; + + ovl_path_real(dentry, &realpath); + return vfs_getattr(realpath.mnt, realpath.dentry, stat); +} + +int ovl_permission(struct inode *inode, int mask) +{ + struct ovl_entry *oe; + struct dentry *alias = NULL; + struct inode *realinode; + struct dentry *realdentry; + bool is_upper; + int err; + + if (S_ISDIR(inode->i_mode)) { + oe = inode->i_private; + } else if (mask & MAY_NOT_BLOCK) { + return -ECHILD; + } else { + /* + * For non-directories find an alias and get the info + * from there. + */ + spin_lock(&inode->i_lock); + if (WARN_ON(list_empty(&inode->i_dentry))) { + spin_unlock(&inode->i_lock); + return -ENOENT; + } + alias = list_entry(inode->i_dentry.next, + struct dentry, d_alias); + dget(alias); + spin_unlock(&inode->i_lock); + oe = alias->d_fsdata; + } + + realdentry = ovl_entry_real(oe, &is_upper); + + /* Careful in RCU walk mode */ + realinode = ACCESS_ONCE(realdentry->d_inode); + if (!realinode) { + WARN_ON(!(mask & MAY_NOT_BLOCK)); + err = -ENOENT; + goto out_dput; + } + + if (mask & MAY_WRITE) { + umode_t mode = realinode->i_mode; + + /* + * Writes will always be redirected to upper layer, so + * ignore lower layer being read-only. + * + * If the overlay itself is read-only then proceed + * with the permission check, don't return EROFS. + * This will only happen if this is the lower layer of + * another overlayfs. + * + * If upper fs becomes read-only after the overlay was + * constructed return EROFS to prevent modification of + * upper layer. + */ + err = -EROFS; + if (is_upper && !IS_RDONLY(inode) && IS_RDONLY(realinode) && + (S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode))) + goto out_dput; + } + + err = inode_only_permission(realinode, mask); +out_dput: + dput(alias); + return err; +} + + +struct ovl_link_data { + struct dentry *realdentry; + void *cookie; +}; + +static void *ovl_follow_link(struct dentry *dentry, struct nameidata *nd) +{ + void *ret; + struct dentry *realdentry; + struct inode *realinode; + + realdentry = ovl_dentry_real(dentry); + realinode = realdentry->d_inode; + + if (WARN_ON(!realinode->i_op->follow_link)) + return ERR_PTR(-EPERM); + + ret = realinode->i_op->follow_link(realdentry, nd); + if (IS_ERR(ret)) + return ret; + + if (realinode->i_op->put_link) { + struct ovl_link_data *data; + + data = kmalloc(sizeof(struct ovl_link_data), GFP_KERNEL); + if (!data) { + realinode->i_op->put_link(realdentry, nd, ret); + return ERR_PTR(-ENOMEM); + } + data->realdentry = realdentry; + data->cookie = ret; + + return data; + } else { + return NULL; + } +} + +static void ovl_put_link(struct dentry *dentry, struct nameidata *nd, void *c) +{ + struct inode *realinode; + struct ovl_link_data *data = c; + + if (!data) + return; + + realinode = data->realdentry->d_inode; + realinode->i_op->put_link(data->realdentry, nd, data->cookie); + kfree(data); +} + +static int ovl_readlink(struct dentry *dentry, char __user *buf, int bufsiz) +{ + struct path realpath; + struct inode *realinode; + + ovl_path_real(dentry, &realpath); + realinode = realpath.dentry->d_inode; + + if (!realinode->i_op->readlink) + return -EINVAL; + + touch_atime(&realpath); + + return realinode->i_op->readlink(realpath.dentry, buf, bufsiz); +} + + +static bool ovl_is_private_xattr(const char *name) +{ + return strncmp(name, "trusted.overlay.", 14) == 0; +} + +int ovl_setxattr(struct dentry *dentry, const char *name, + const void *value, size_t size, int flags) +{ + int err; + struct dentry *upperdentry; + + if (ovl_is_private_xattr(name)) + return -EPERM; + + err = ovl_copy_up(dentry); + if (err) + return err; + + upperdentry = ovl_dentry_upper(dentry); + return vfs_setxattr(upperdentry, name, value, size, flags); +} + +ssize_t ovl_getxattr(struct dentry *dentry, const char *name, + void *value, size_t size) +{ + if (ovl_path_type(dentry->d_parent) == OVL_PATH_MERGE && + ovl_is_private_xattr(name)) + return -ENODATA; + + return vfs_getxattr(ovl_dentry_real(dentry), name, value, size); +} + +ssize_t ovl_listxattr(struct dentry *dentry, char *list, size_t size) +{ + ssize_t res; + int off; + + res = vfs_listxattr(ovl_dentry_real(dentry), list, size); + if (res <= 0 || size == 0) + return res; + + if (ovl_path_type(dentry->d_parent) != OVL_PATH_MERGE) + return res; + + /* filter out private xattrs */ + for (off = 0; off < res;) { + char *s = list + off; + size_t slen = strlen(s) + 1; + + BUG_ON(off + slen > res); + + if (ovl_is_private_xattr(s)) { + res -= slen; + memmove(s, s + slen, res - off); + } else { + off += slen; + } + } + + return res; +} + +int ovl_removexattr(struct dentry *dentry, const char *name) +{ + int err; + struct path realpath; + enum ovl_path_type type; + + if (ovl_path_type(dentry->d_parent) == OVL_PATH_MERGE && + ovl_is_private_xattr(name)) + return -ENODATA; + + type = ovl_path_real(dentry, &realpath); + if (type == OVL_PATH_LOWER) { + err = vfs_getxattr(realpath.dentry, name, NULL, 0); + if (err < 0) + return err; + + err = ovl_copy_up(dentry); + if (err) + return err; + + ovl_path_upper(dentry, &realpath); + } + + return vfs_removexattr(realpath.dentry, name); +} + +static bool ovl_open_need_copy_up(int flags, enum ovl_path_type type, + struct dentry *realdentry) +{ + if (type != OVL_PATH_LOWER) + return false; + + if (special_file(realdentry->d_inode->i_mode)) + return false; + + if (!(OPEN_FMODE(flags) & FMODE_WRITE) && !(flags & O_TRUNC)) + return false; + + return true; +} + +static struct file *ovl_open(struct dentry *dentry, struct file *file, + const struct cred *cred) +{ + int err; + struct path realpath; + enum ovl_path_type type; + + type = ovl_path_real(dentry, &realpath); + if (ovl_open_need_copy_up(file->f_flags, type, realpath.dentry)) { + if (file->f_flags & O_TRUNC) + err = ovl_copy_up_truncate(dentry, 0); + else + err = ovl_copy_up(dentry); + if (err) + return ERR_PTR(err); + + ovl_path_upper(dentry, &realpath); + } + + return vfs_open(&realpath, file, cred); +} + +static const struct inode_operations ovl_file_inode_operations = { + .setattr = ovl_setattr, + .permission = ovl_permission, + .getattr = ovl_getattr, + .setxattr = ovl_setxattr, + .getxattr = ovl_getxattr, + .listxattr = ovl_listxattr, + .removexattr = ovl_removexattr, + .open = ovl_open, +}; + +static const struct inode_operations ovl_symlink_inode_operations = { + .setattr = ovl_setattr, + .follow_link = ovl_follow_link, + .put_link = ovl_put_link, + .readlink = ovl_readlink, + .getattr = ovl_getattr, + .setxattr = ovl_setxattr, + .getxattr = ovl_getxattr, + .listxattr = ovl_listxattr, + .removexattr = ovl_removexattr, +}; + +struct inode *ovl_new_inode(struct super_block *sb, umode_t mode, + struct ovl_entry *oe) +{ + struct inode *inode; + + inode = new_inode(sb); + if (!inode) + return NULL; + + mode &= S_IFMT; + + inode->i_ino = get_next_ino(); + inode->i_mode = mode; + inode->i_flags |= S_NOATIME | S_NOCMTIME; + + switch (mode) { + case S_IFDIR: + inode->i_private = oe; + inode->i_op = &ovl_dir_inode_operations; + inode->i_fop = &ovl_dir_operations; + break; + + case S_IFLNK: + inode->i_op = &ovl_symlink_inode_operations; + break; + + case S_IFREG: + case S_IFSOCK: + case S_IFBLK: + case S_IFCHR: + case S_IFIFO: + inode->i_op = &ovl_file_inode_operations; + break; + + default: + WARN(1, "illegal file type: %i\n", mode); + iput(inode); + inode = NULL; + } + + return inode; + +} --- linux-lowlatency-3.5.0.orig/fs/overlayfs/overlayfs.h +++ linux-lowlatency-3.5.0/fs/overlayfs/overlayfs.h @@ -0,0 +1,70 @@ +/* + * + * Copyright (C) 2011 Novell Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +struct ovl_entry; + +enum ovl_path_type { + OVL_PATH_UPPER, + OVL_PATH_MERGE, + OVL_PATH_LOWER, +}; + +extern const char *ovl_opaque_xattr; +extern const char *ovl_whiteout_xattr; +extern const struct dentry_operations ovl_dentry_operations; + +enum ovl_path_type ovl_path_type(struct dentry *dentry); +u64 ovl_dentry_version_get(struct dentry *dentry); +void ovl_dentry_version_inc(struct dentry *dentry); +void ovl_path_upper(struct dentry *dentry, struct path *path); +void ovl_path_lower(struct dentry *dentry, struct path *path); +enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path); +struct dentry *ovl_dentry_upper(struct dentry *dentry); +struct dentry *ovl_dentry_lower(struct dentry *dentry); +struct dentry *ovl_dentry_real(struct dentry *dentry); +struct dentry *ovl_entry_real(struct ovl_entry *oe, bool *is_upper); +bool ovl_dentry_is_opaque(struct dentry *dentry); +void ovl_dentry_set_opaque(struct dentry *dentry, bool opaque); +bool ovl_is_whiteout(struct dentry *dentry); +void ovl_dentry_update(struct dentry *dentry, struct dentry *upperdentry); +struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry, + struct nameidata *nd); +struct file *ovl_path_open(struct path *path, int flags); + +struct dentry *ovl_upper_create(struct dentry *upperdir, struct dentry *dentry, + struct kstat *stat, const char *link); + +/* readdir.c */ +extern const struct file_operations ovl_dir_operations; +int ovl_check_empty_and_clear(struct dentry *dentry, enum ovl_path_type type); + +/* inode.c */ +int ovl_setattr(struct dentry *dentry, struct iattr *attr); +int ovl_permission(struct inode *inode, int mask); +int ovl_setxattr(struct dentry *dentry, const char *name, + const void *value, size_t size, int flags); +ssize_t ovl_getxattr(struct dentry *dentry, const char *name, + void *value, size_t size); +ssize_t ovl_listxattr(struct dentry *dentry, char *list, size_t size); +int ovl_removexattr(struct dentry *dentry, const char *name); + +struct inode *ovl_new_inode(struct super_block *sb, umode_t mode, + struct ovl_entry *oe); +static inline void ovl_copyattr(struct inode *from, struct inode *to) +{ + to->i_uid = from->i_uid; + to->i_gid = from->i_gid; +} + +/* dir.c */ +extern const struct inode_operations ovl_dir_inode_operations; + +/* copy_up.c */ +int ovl_copy_up(struct dentry *dentry); +int ovl_copy_up_truncate(struct dentry *dentry, loff_t size); --- linux-lowlatency-3.5.0.orig/fs/overlayfs/readdir.c +++ linux-lowlatency-3.5.0/fs/overlayfs/readdir.c @@ -0,0 +1,566 @@ +/* + * + * Copyright (C) 2011 Novell Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "overlayfs.h" + +struct ovl_cache_entry { + const char *name; + unsigned int len; + unsigned int type; + u64 ino; + bool is_whiteout; + struct list_head l_node; + struct rb_node node; +}; + +struct ovl_readdir_data { + struct rb_root *root; + struct list_head *list; + struct list_head *middle; + struct dentry *dir; + int count; + int err; +}; + +struct ovl_dir_file { + bool is_real; + bool is_cached; + struct list_head cursor; + u64 cache_version; + struct list_head cache; + struct file *realfile; +}; + +static struct ovl_cache_entry *ovl_cache_entry_from_node(struct rb_node *n) +{ + return container_of(n, struct ovl_cache_entry, node); +} + +static struct ovl_cache_entry *ovl_cache_entry_find(struct rb_root *root, + const char *name, int len) +{ + struct rb_node *node = root->rb_node; + int cmp; + + while (node) { + struct ovl_cache_entry *p = ovl_cache_entry_from_node(node); + + cmp = strncmp(name, p->name, len); + if (cmp > 0) + node = p->node.rb_right; + else if (cmp < 0 || len < p->len) + node = p->node.rb_left; + else + return p; + } + + return NULL; +} + +static struct ovl_cache_entry *ovl_cache_entry_new(const char *name, int len, + u64 ino, unsigned int d_type) +{ + struct ovl_cache_entry *p; + + p = kmalloc(sizeof(*p) + len + 1, GFP_KERNEL); + if (p) { + char *name_copy = (char *) (p + 1); + memcpy(name_copy, name, len); + name_copy[len] = '\0'; + p->name = name_copy; + p->len = len; + p->type = d_type; + p->ino = ino; + p->is_whiteout = false; + } + + return p; +} + +static int ovl_cache_entry_add_rb(struct ovl_readdir_data *rdd, + const char *name, int len, u64 ino, + unsigned int d_type) +{ + struct rb_node **newp = &rdd->root->rb_node; + struct rb_node *parent = NULL; + struct ovl_cache_entry *p; + + while (*newp) { + int cmp; + struct ovl_cache_entry *tmp; + + parent = *newp; + tmp = ovl_cache_entry_from_node(*newp); + cmp = strncmp(name, tmp->name, len); + if (cmp > 0) + newp = &tmp->node.rb_right; + else if (cmp < 0 || len < tmp->len) + newp = &tmp->node.rb_left; + else + return 0; + } + + p = ovl_cache_entry_new(name, len, ino, d_type); + if (p == NULL) + return -ENOMEM; + + list_add_tail(&p->l_node, rdd->list); + rb_link_node(&p->node, parent, newp); + rb_insert_color(&p->node, rdd->root); + + return 0; +} + +static int ovl_fill_lower(void *buf, const char *name, int namelen, + loff_t offset, u64 ino, unsigned int d_type) +{ + struct ovl_readdir_data *rdd = buf; + struct ovl_cache_entry *p; + + rdd->count++; + p = ovl_cache_entry_find(rdd->root, name, namelen); + if (p) { + list_move_tail(&p->l_node, rdd->middle); + } else { + p = ovl_cache_entry_new(name, namelen, ino, d_type); + if (p == NULL) + rdd->err = -ENOMEM; + else + list_add_tail(&p->l_node, rdd->middle); + } + + return rdd->err; +} + +static void ovl_cache_free(struct list_head *list) +{ + struct ovl_cache_entry *p; + struct ovl_cache_entry *n; + + list_for_each_entry_safe(p, n, list, l_node) + kfree(p); + + INIT_LIST_HEAD(list); +} + +static int ovl_fill_upper(void *buf, const char *name, int namelen, + loff_t offset, u64 ino, unsigned int d_type) +{ + struct ovl_readdir_data *rdd = buf; + + rdd->count++; + return ovl_cache_entry_add_rb(rdd, name, namelen, ino, d_type); +} + +static inline int ovl_dir_read(struct path *realpath, + struct ovl_readdir_data *rdd, filldir_t filler) +{ + struct file *realfile; + int err; + + realfile = ovl_path_open(realpath, O_RDONLY | O_DIRECTORY); + if (IS_ERR(realfile)) + return PTR_ERR(realfile); + + do { + rdd->count = 0; + rdd->err = 0; + err = vfs_readdir(realfile, filler, rdd); + if (err >= 0) + err = rdd->err; + } while (!err && rdd->count); + fput(realfile); + + return 0; +} + +static void ovl_dir_reset(struct file *file) +{ + struct ovl_dir_file *od = file->private_data; + enum ovl_path_type type = ovl_path_type(file->f_path.dentry); + + if (ovl_dentry_version_get(file->f_path.dentry) != od->cache_version) { + list_del_init(&od->cursor); + ovl_cache_free(&od->cache); + od->is_cached = false; + } + WARN_ON(!od->is_real && type != OVL_PATH_MERGE); + if (od->is_real && type == OVL_PATH_MERGE) { + fput(od->realfile); + od->realfile = NULL; + od->is_real = false; + } +} + +static int ovl_dir_mark_whiteouts(struct ovl_readdir_data *rdd) +{ + struct ovl_cache_entry *p; + struct dentry *dentry; + const struct cred *old_cred; + struct cred *override_cred; + + override_cred = prepare_creds(); + if (!override_cred) { + ovl_cache_free(rdd->list); + return -ENOMEM; + } + + /* + * CAP_SYS_ADMIN for getxattr + * CAP_DAC_OVERRIDE for lookup + */ + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + cap_raise(override_cred->cap_effective, CAP_DAC_OVERRIDE); + old_cred = override_creds(override_cred); + + mutex_lock(&rdd->dir->d_inode->i_mutex); + list_for_each_entry(p, rdd->list, l_node) { + if (p->type != DT_LNK) + continue; + + dentry = lookup_one_len(p->name, rdd->dir, p->len); + if (IS_ERR(dentry)) + continue; + + p->is_whiteout = ovl_is_whiteout(dentry); + dput(dentry); + } + mutex_unlock(&rdd->dir->d_inode->i_mutex); + + revert_creds(old_cred); + put_cred(override_cred); + + return 0; +} + +static inline int ovl_dir_read_merged(struct path *upperpath, + struct path *lowerpath, + struct ovl_readdir_data *rdd) +{ + int err; + struct rb_root root = RB_ROOT; + struct list_head middle; + + rdd->root = &root; + if (upperpath->dentry) { + rdd->dir = upperpath->dentry; + err = ovl_dir_read(upperpath, rdd, ovl_fill_upper); + if (err) + goto out; + + err = ovl_dir_mark_whiteouts(rdd); + if (err) + goto out; + } + /* + * Insert lowerpath entries before upperpath ones, this allows + * offsets to be reasonably constant + */ + list_add(&middle, rdd->list); + rdd->middle = &middle; + err = ovl_dir_read(lowerpath, rdd, ovl_fill_lower); + list_del(&middle); +out: + rdd->root = NULL; + + return err; +} + +static void ovl_seek_cursor(struct ovl_dir_file *od, loff_t pos) +{ + struct list_head *l; + loff_t off; + + l = od->cache.next; + for (off = 0; off < pos; off++) { + if (l == &od->cache) + break; + l = l->next; + } + list_move_tail(&od->cursor, l); +} + +static int ovl_readdir(struct file *file, void *buf, filldir_t filler) +{ + struct ovl_dir_file *od = file->private_data; + int res; + + if (!file->f_pos) + ovl_dir_reset(file); + + if (od->is_real) { + res = vfs_readdir(od->realfile, filler, buf); + file->f_pos = od->realfile->f_pos; + + return res; + } + + if (!od->is_cached) { + struct path lowerpath; + struct path upperpath; + struct ovl_readdir_data rdd = { .list = &od->cache }; + + ovl_path_lower(file->f_path.dentry, &lowerpath); + ovl_path_upper(file->f_path.dentry, &upperpath); + + res = ovl_dir_read_merged(&upperpath, &lowerpath, &rdd); + if (res) { + ovl_cache_free(rdd.list); + return res; + } + + od->cache_version = ovl_dentry_version_get(file->f_path.dentry); + od->is_cached = true; + + ovl_seek_cursor(od, file->f_pos); + } + + while (od->cursor.next != &od->cache) { + int over; + loff_t off; + struct ovl_cache_entry *p; + + p = list_entry(od->cursor.next, struct ovl_cache_entry, l_node); + off = file->f_pos; + if (!p->is_whiteout) { + over = filler(buf, p->name, p->len, off, p->ino, + p->type); + if (over) + break; + } + file->f_pos++; + list_move(&od->cursor, &p->l_node); + } + + return 0; +} + +static loff_t ovl_dir_llseek(struct file *file, loff_t offset, int origin) +{ + loff_t res; + struct ovl_dir_file *od = file->private_data; + + mutex_lock(&file->f_dentry->d_inode->i_mutex); + if (!file->f_pos) + ovl_dir_reset(file); + + if (od->is_real) { + res = vfs_llseek(od->realfile, offset, origin); + file->f_pos = od->realfile->f_pos; + } else { + res = -EINVAL; + + switch (origin) { + case SEEK_CUR: + offset += file->f_pos; + break; + case SEEK_SET: + break; + default: + goto out_unlock; + } + if (offset < 0) + goto out_unlock; + + if (offset != file->f_pos) { + file->f_pos = offset; + if (od->is_cached) + ovl_seek_cursor(od, offset); + } + res = offset; + } +out_unlock: + mutex_unlock(&file->f_dentry->d_inode->i_mutex); + + return res; +} + +static int ovl_dir_fsync(struct file *file, loff_t start, loff_t end, + int datasync) +{ + struct ovl_dir_file *od = file->private_data; + + /* May need to reopen directory if it got copied up */ + if (!od->realfile) { + struct path upperpath; + + ovl_path_upper(file->f_path.dentry, &upperpath); + od->realfile = ovl_path_open(&upperpath, O_RDONLY); + if (IS_ERR(od->realfile)) + return PTR_ERR(od->realfile); + } + + return vfs_fsync_range(od->realfile, start, end, datasync); +} + +static int ovl_dir_release(struct inode *inode, struct file *file) +{ + struct ovl_dir_file *od = file->private_data; + + list_del(&od->cursor); + ovl_cache_free(&od->cache); + if (od->realfile) + fput(od->realfile); + kfree(od); + + return 0; +} + +static int ovl_dir_open(struct inode *inode, struct file *file) +{ + struct path realpath; + struct file *realfile; + struct ovl_dir_file *od; + enum ovl_path_type type; + + od = kzalloc(sizeof(struct ovl_dir_file), GFP_KERNEL); + if (!od) + return -ENOMEM; + + type = ovl_path_real(file->f_path.dentry, &realpath); + realfile = ovl_path_open(&realpath, file->f_flags); + if (IS_ERR(realfile)) { + kfree(od); + return PTR_ERR(realfile); + } + INIT_LIST_HEAD(&od->cache); + INIT_LIST_HEAD(&od->cursor); + od->is_cached = false; + od->realfile = realfile; + od->is_real = (type != OVL_PATH_MERGE); + file->private_data = od; + + return 0; +} + +const struct file_operations ovl_dir_operations = { + .read = generic_read_dir, + .open = ovl_dir_open, + .readdir = ovl_readdir, + .llseek = ovl_dir_llseek, + .fsync = ovl_dir_fsync, + .release = ovl_dir_release, +}; + +static int ovl_check_empty_dir(struct dentry *dentry, struct list_head *list) +{ + int err; + struct path lowerpath; + struct path upperpath; + struct ovl_cache_entry *p; + struct ovl_readdir_data rdd = { .list = list }; + + ovl_path_upper(dentry, &upperpath); + ovl_path_lower(dentry, &lowerpath); + + err = ovl_dir_read_merged(&upperpath, &lowerpath, &rdd); + if (err) + return err; + + err = 0; + + list_for_each_entry(p, list, l_node) { + if (p->is_whiteout) + continue; + + if (p->name[0] == '.') { + if (p->len == 1) + continue; + if (p->len == 2 && p->name[1] == '.') + continue; + } + err = -ENOTEMPTY; + break; + } + + return err; +} + +static int ovl_remove_whiteouts(struct dentry *dir, struct list_head *list) +{ + struct path upperpath; + struct dentry *upperdir; + struct ovl_cache_entry *p; + const struct cred *old_cred; + struct cred *override_cred; + int err; + + ovl_path_upper(dir, &upperpath); + upperdir = upperpath.dentry; + + override_cred = prepare_creds(); + if (!override_cred) + return -ENOMEM; + + /* + * CAP_DAC_OVERRIDE for lookup and unlink + * CAP_SYS_ADMIN for setxattr of "trusted" namespace + * CAP_FOWNER for unlink in sticky directory + */ + cap_raise(override_cred->cap_effective, CAP_DAC_OVERRIDE); + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + cap_raise(override_cred->cap_effective, CAP_FOWNER); + old_cred = override_creds(override_cred); + + err = vfs_setxattr(upperdir, ovl_opaque_xattr, "y", 1, 0); + if (err) + goto out_revert_creds; + + mutex_lock_nested(&upperdir->d_inode->i_mutex, I_MUTEX_PARENT); + list_for_each_entry(p, list, l_node) { + struct dentry *dentry; + int ret; + + if (!p->is_whiteout) + continue; + + dentry = lookup_one_len(p->name, upperdir, p->len); + if (IS_ERR(dentry)) { + printk(KERN_WARNING + "overlayfs: failed to lookup whiteout %.*s: %li\n", + p->len, p->name, PTR_ERR(dentry)); + continue; + } + ret = vfs_unlink(upperdir->d_inode, dentry); + dput(dentry); + if (ret) + printk(KERN_WARNING + "overlayfs: failed to unlink whiteout %.*s: %i\n", + p->len, p->name, ret); + } + mutex_unlock(&upperdir->d_inode->i_mutex); + +out_revert_creds: + revert_creds(old_cred); + put_cred(override_cred); + + return err; +} + +int ovl_check_empty_and_clear(struct dentry *dentry, enum ovl_path_type type) +{ + int err; + LIST_HEAD(list); + + err = ovl_check_empty_dir(dentry, &list); + if (!err && type == OVL_PATH_MERGE) + err = ovl_remove_whiteouts(dentry, &list); + + ovl_cache_free(&list); + + return err; +} --- linux-lowlatency-3.5.0.orig/fs/overlayfs/super.c +++ linux-lowlatency-3.5.0/fs/overlayfs/super.c @@ -0,0 +1,665 @@ +/* + * + * Copyright (C) 2011 Novell Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "overlayfs.h" + +MODULE_AUTHOR("Miklos Szeredi "); +MODULE_DESCRIPTION("Overlay filesystem"); +MODULE_LICENSE("GPL"); + +struct ovl_config { + char *lowerdir; + char *upperdir; +}; + +/* private information held for overlayfs's superblock */ +struct ovl_fs { + struct vfsmount *upper_mnt; + struct vfsmount *lower_mnt; + /* pathnames of lower and upper dirs, for show_options */ + struct ovl_config config; +}; + +/* private information held for every overlayfs dentry */ +struct ovl_entry { + /* + * Keep "double reference" on upper dentries, so that + * d_delete() doesn't think it's OK to reset d_inode to NULL. + */ + struct dentry *__upperdentry; + struct dentry *lowerdentry; + union { + struct { + u64 version; + bool opaque; + }; + struct rcu_head rcu; + }; +}; + +const char *ovl_whiteout_xattr = "trusted.overlay.whiteout"; +const char *ovl_opaque_xattr = "trusted.overlay.opaque"; + + +enum ovl_path_type ovl_path_type(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + + if (oe->__upperdentry) { + if (oe->lowerdentry && S_ISDIR(dentry->d_inode->i_mode)) + return OVL_PATH_MERGE; + else + return OVL_PATH_UPPER; + } else { + return OVL_PATH_LOWER; + } +} + +static struct dentry *ovl_upperdentry_dereference(struct ovl_entry *oe) +{ + struct dentry *upperdentry = ACCESS_ONCE(oe->__upperdentry); + smp_read_barrier_depends(); + return upperdentry; +} + +void ovl_path_upper(struct dentry *dentry, struct path *path) +{ + struct ovl_fs *ofs = dentry->d_sb->s_fs_info; + struct ovl_entry *oe = dentry->d_fsdata; + + path->mnt = ofs->upper_mnt; + path->dentry = ovl_upperdentry_dereference(oe); +} + +void ovl_path_lower(struct dentry *dentry, struct path *path) +{ + struct ovl_fs *ofs = dentry->d_sb->s_fs_info; + struct ovl_entry *oe = dentry->d_fsdata; + + path->mnt = ofs->lower_mnt; + path->dentry = oe->lowerdentry; +} + +enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path) +{ + + enum ovl_path_type type = ovl_path_type(dentry); + + if (type == OVL_PATH_LOWER) + ovl_path_lower(dentry, path); + else + ovl_path_upper(dentry, path); + + return type; +} + +struct dentry *ovl_dentry_upper(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + + return ovl_upperdentry_dereference(oe); +} + +struct dentry *ovl_dentry_lower(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + + return oe->lowerdentry; +} + +struct dentry *ovl_dentry_real(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + struct dentry *realdentry; + + realdentry = ovl_upperdentry_dereference(oe); + if (!realdentry) + realdentry = oe->lowerdentry; + + return realdentry; +} + +struct dentry *ovl_entry_real(struct ovl_entry *oe, bool *is_upper) +{ + struct dentry *realdentry; + + realdentry = ovl_upperdentry_dereference(oe); + if (realdentry) { + *is_upper = true; + } else { + realdentry = oe->lowerdentry; + *is_upper = false; + } + return realdentry; +} + +bool ovl_dentry_is_opaque(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + return oe->opaque; +} + +void ovl_dentry_set_opaque(struct dentry *dentry, bool opaque) +{ + struct ovl_entry *oe = dentry->d_fsdata; + oe->opaque = opaque; +} + +void ovl_dentry_update(struct dentry *dentry, struct dentry *upperdentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + + WARN_ON(!mutex_is_locked(&upperdentry->d_parent->d_inode->i_mutex)); + WARN_ON(oe->__upperdentry); + BUG_ON(!upperdentry->d_inode); + smp_wmb(); + oe->__upperdentry = dget(upperdentry); +} + +void ovl_dentry_version_inc(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + + WARN_ON(!mutex_is_locked(&dentry->d_inode->i_mutex)); + oe->version++; +} + +u64 ovl_dentry_version_get(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + + WARN_ON(!mutex_is_locked(&dentry->d_inode->i_mutex)); + return oe->version; +} + +bool ovl_is_whiteout(struct dentry *dentry) +{ + int res; + char val; + + if (!dentry) + return false; + if (!dentry->d_inode) + return false; + if (!S_ISLNK(dentry->d_inode->i_mode)) + return false; + + res = vfs_getxattr(dentry, ovl_whiteout_xattr, &val, 1); + if (res == 1 && val == 'y') + return true; + + return false; +} + +static bool ovl_is_opaquedir(struct dentry *dentry) +{ + int res; + char val; + + if (!S_ISDIR(dentry->d_inode->i_mode)) + return false; + + res = vfs_getxattr(dentry, ovl_opaque_xattr, &val, 1); + if (res == 1 && val == 'y') + return true; + + return false; +} + +static void ovl_entry_free(struct rcu_head *head) +{ + struct ovl_entry *oe = container_of(head, struct ovl_entry, rcu); + kfree(oe); +} + +static void ovl_dentry_release(struct dentry *dentry) +{ + struct ovl_entry *oe = dentry->d_fsdata; + + if (oe) { + dput(oe->__upperdentry); + dput(oe->__upperdentry); + dput(oe->lowerdentry); + call_rcu(&oe->rcu, ovl_entry_free); + } +} + +const struct dentry_operations ovl_dentry_operations = { + .d_release = ovl_dentry_release, +}; + +static struct ovl_entry *ovl_alloc_entry(void) +{ + return kzalloc(sizeof(struct ovl_entry), GFP_KERNEL); +} + +static inline struct dentry *ovl_lookup_real(struct dentry *dir, + struct qstr *name) +{ + struct dentry *dentry; + + mutex_lock(&dir->d_inode->i_mutex); + dentry = lookup_one_len(name->name, dir, name->len); + mutex_unlock(&dir->d_inode->i_mutex); + + if (IS_ERR(dentry)) { + if (PTR_ERR(dentry) == -ENOENT) + dentry = NULL; + } else if (!dentry->d_inode) { + dput(dentry); + dentry = NULL; + } + return dentry; +} + +static int ovl_do_lookup(struct dentry *dentry) +{ + struct ovl_entry *oe; + struct dentry *upperdir; + struct dentry *lowerdir; + struct dentry *upperdentry = NULL; + struct dentry *lowerdentry = NULL; + struct inode *inode = NULL; + int err; + + err = -ENOMEM; + oe = ovl_alloc_entry(); + if (!oe) + goto out; + + upperdir = ovl_dentry_upper(dentry->d_parent); + lowerdir = ovl_dentry_lower(dentry->d_parent); + + if (upperdir) { + upperdentry = ovl_lookup_real(upperdir, &dentry->d_name); + err = PTR_ERR(upperdentry); + if (IS_ERR(upperdentry)) + goto out_put_dir; + + if (lowerdir && upperdentry && + (S_ISLNK(upperdentry->d_inode->i_mode) || + S_ISDIR(upperdentry->d_inode->i_mode))) { + const struct cred *old_cred; + struct cred *override_cred; + + err = -ENOMEM; + override_cred = prepare_creds(); + if (!override_cred) + goto out_dput_upper; + + /* CAP_SYS_ADMIN needed for getxattr */ + cap_raise(override_cred->cap_effective, CAP_SYS_ADMIN); + old_cred = override_creds(override_cred); + + if (ovl_is_opaquedir(upperdentry)) { + oe->opaque = true; + } else if (ovl_is_whiteout(upperdentry)) { + dput(upperdentry); + upperdentry = NULL; + oe->opaque = true; + } + revert_creds(old_cred); + put_cred(override_cred); + } + } + if (lowerdir && !oe->opaque) { + lowerdentry = ovl_lookup_real(lowerdir, &dentry->d_name); + err = PTR_ERR(lowerdentry); + if (IS_ERR(lowerdentry)) + goto out_dput_upper; + } + + if (lowerdentry && upperdentry && + (!S_ISDIR(upperdentry->d_inode->i_mode) || + !S_ISDIR(lowerdentry->d_inode->i_mode))) { + dput(lowerdentry); + lowerdentry = NULL; + oe->opaque = true; + } + + if (lowerdentry || upperdentry) { + struct dentry *realdentry; + + realdentry = upperdentry ? upperdentry : lowerdentry; + err = -ENOMEM; + inode = ovl_new_inode(dentry->d_sb, realdentry->d_inode->i_mode, + oe); + if (!inode) + goto out_dput; + ovl_copyattr(realdentry->d_inode, inode); + } + + if (upperdentry) + oe->__upperdentry = dget(upperdentry); + + if (lowerdentry) + oe->lowerdentry = lowerdentry; + + dentry->d_fsdata = oe; + dentry->d_op = &ovl_dentry_operations; + d_add(dentry, inode); + + return 0; + +out_dput: + dput(lowerdentry); +out_dput_upper: + dput(upperdentry); +out_put_dir: + kfree(oe); +out: + return err; +} + +struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry, + struct nameidata *nd) +{ + int err = ovl_do_lookup(dentry); + + if (err) + return ERR_PTR(err); + + return NULL; +} + +struct file *ovl_path_open(struct path *path, int flags) +{ + path_get(path); + return dentry_open(path->dentry, path->mnt, flags, current_cred()); +} + +static void ovl_put_super(struct super_block *sb) +{ + struct ovl_fs *ufs = sb->s_fs_info; + + if (!(sb->s_flags & MS_RDONLY)) + mnt_drop_write(ufs->upper_mnt); + + mntput(ufs->upper_mnt); + mntput(ufs->lower_mnt); + + kfree(ufs->config.lowerdir); + kfree(ufs->config.upperdir); + kfree(ufs); +} + +static int ovl_remount_fs(struct super_block *sb, int *flagsp, char *data) +{ + int flags = *flagsp; + struct ovl_fs *ufs = sb->s_fs_info; + + /* When remounting rw or ro, we need to adjust the write access to the + * upper fs. + */ + if (((flags ^ sb->s_flags) & MS_RDONLY) == 0) + /* No change to readonly status */ + return 0; + + if (flags & MS_RDONLY) { + mnt_drop_write(ufs->upper_mnt); + return 0; + } else + return mnt_want_write(ufs->upper_mnt); +} + +/** + * ovl_statfs + * @sb: The overlayfs super block + * @buf: The struct kstatfs to fill in with stats + * + * Get the filesystem statistics. As writes always target the upper layer + * filesystem pass the statfs to the same filesystem. + */ +static int ovl_statfs(struct dentry *dentry, struct kstatfs *buf) +{ + struct dentry *root_dentry = dentry->d_sb->s_root; + struct path path; + ovl_path_upper(root_dentry, &path); + + if (!path.dentry->d_sb->s_op->statfs) + return -ENOSYS; + return path.dentry->d_sb->s_op->statfs(path.dentry, buf); +} + +/** + * ovl_show_options + * + * Prints the mount options for a given superblock. + * Returns zero; does not fail. + */ +static int ovl_show_options(struct seq_file *m, struct dentry *dentry) +{ + struct super_block *sb = dentry->d_sb; + struct ovl_fs *ufs = sb->s_fs_info; + + seq_printf(m, ",lowerdir=%s", ufs->config.lowerdir); + seq_printf(m, ",upperdir=%s", ufs->config.upperdir); + return 0; +} + +static const struct super_operations ovl_super_operations = { + .put_super = ovl_put_super, + .remount_fs = ovl_remount_fs, + .statfs = ovl_statfs, + .show_options = ovl_show_options, +}; + +enum { + Opt_lowerdir, + Opt_upperdir, + Opt_err, +}; + +static const match_table_t ovl_tokens = { + {Opt_lowerdir, "lowerdir=%s"}, + {Opt_upperdir, "upperdir=%s"}, + {Opt_err, NULL} +}; + +static int ovl_parse_opt(char *opt, struct ovl_config *config) +{ + char *p; + + config->upperdir = NULL; + config->lowerdir = NULL; + + while ((p = strsep(&opt, ",")) != NULL) { + int token; + substring_t args[MAX_OPT_ARGS]; + + if (!*p) + continue; + + token = match_token(p, ovl_tokens, args); + switch (token) { + case Opt_upperdir: + kfree(config->upperdir); + config->upperdir = match_strdup(&args[0]); + if (!config->upperdir) + return -ENOMEM; + break; + + case Opt_lowerdir: + kfree(config->lowerdir); + config->lowerdir = match_strdup(&args[0]); + if (!config->lowerdir) + return -ENOMEM; + break; + + default: + return -EINVAL; + } + } + return 0; +} + +static int ovl_fill_super(struct super_block *sb, void *data, int silent) +{ + struct path lowerpath; + struct path upperpath; + struct inode *root_inode; + struct dentry *root_dentry; + struct ovl_entry *oe; + struct ovl_fs *ufs; + int err; + + err = -ENOMEM; + ufs = kmalloc(sizeof(struct ovl_fs), GFP_KERNEL); + if (!ufs) + goto out; + + err = ovl_parse_opt((char *) data, &ufs->config); + if (err) + goto out_free_ufs; + + err = -EINVAL; + if (!ufs->config.upperdir || !ufs->config.lowerdir) { + printk(KERN_ERR "overlayfs: missing upperdir or lowerdir\n"); + goto out_free_config; + } + + oe = ovl_alloc_entry(); + if (oe == NULL) + goto out_free_config; + + err = kern_path(ufs->config.upperdir, LOOKUP_FOLLOW, &upperpath); + if (err) + goto out_free_oe; + + err = kern_path(ufs->config.lowerdir, LOOKUP_FOLLOW, &lowerpath); + if (err) + goto out_put_upperpath; + + err = -ENOTDIR; + if (!S_ISDIR(upperpath.dentry->d_inode->i_mode) || + !S_ISDIR(lowerpath.dentry->d_inode->i_mode)) + goto out_put_lowerpath; + + sb->s_stack_depth = max(upperpath.mnt->mnt_sb->s_stack_depth, + lowerpath.mnt->mnt_sb->s_stack_depth) + 1; + + err = -EINVAL; + if (sb->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) { + printk(KERN_ERR "overlayfs: maximum fs stacking depth exceeded\n"); + goto out_put_lowerpath; + } + + + ufs->upper_mnt = clone_private_mount(&upperpath); + err = PTR_ERR(ufs->upper_mnt); + if (IS_ERR(ufs->upper_mnt)) { + printk(KERN_ERR "overlayfs: failed to clone upperpath\n"); + goto out_put_lowerpath; + } + + ufs->lower_mnt = clone_private_mount(&lowerpath); + err = PTR_ERR(ufs->lower_mnt); + if (IS_ERR(ufs->lower_mnt)) { + printk(KERN_ERR "overlayfs: failed to clone lowerpath\n"); + goto out_put_upper_mnt; + } + + /* + * Make lower_mnt R/O. That way fchmod/fchown on lower file + * will fail instead of modifying lower fs. + */ + ufs->lower_mnt->mnt_flags |= MNT_READONLY; + + /* If the upper fs is r/o, we mark overlayfs r/o too */ + if (ufs->upper_mnt->mnt_sb->s_flags & MS_RDONLY) + sb->s_flags |= MS_RDONLY; + + if (!(sb->s_flags & MS_RDONLY)) { + err = mnt_want_write(ufs->upper_mnt); + if (err) + goto out_put_lower_mnt; + } + + err = -ENOMEM; + root_inode = ovl_new_inode(sb, S_IFDIR, oe); + if (!root_inode) + goto out_drop_write; + + root_dentry = d_make_root(root_inode); + if (!root_dentry) + goto out_drop_write; + + mntput(upperpath.mnt); + mntput(lowerpath.mnt); + + oe->__upperdentry = dget(upperpath.dentry); + oe->lowerdentry = lowerpath.dentry; + + root_dentry->d_fsdata = oe; + root_dentry->d_op = &ovl_dentry_operations; + + sb->s_op = &ovl_super_operations; + sb->s_root = root_dentry; + sb->s_fs_info = ufs; + + return 0; + +out_drop_write: + if (!(sb->s_flags & MS_RDONLY)) + mnt_drop_write(ufs->upper_mnt); +out_put_lower_mnt: + mntput(ufs->lower_mnt); +out_put_upper_mnt: + mntput(ufs->upper_mnt); +out_put_lowerpath: + path_put(&lowerpath); +out_put_upperpath: + path_put(&upperpath); +out_free_oe: + kfree(oe); +out_free_config: + kfree(ufs->config.lowerdir); + kfree(ufs->config.upperdir); +out_free_ufs: + kfree(ufs); +out: + return err; +} + +static struct dentry *ovl_mount(struct file_system_type *fs_type, int flags, + const char *dev_name, void *raw_data) +{ + return mount_nodev(fs_type, flags, raw_data, ovl_fill_super); +} + +static struct file_system_type ovl_fs_type = { + .owner = THIS_MODULE, + .name = "overlayfs", + .mount = ovl_mount, + .kill_sb = kill_anon_super, +}; + +static int __init ovl_init(void) +{ + return register_filesystem(&ovl_fs_type); +} + +static void __exit ovl_exit(void) +{ + unregister_filesystem(&ovl_fs_type); +} + +module_init(ovl_init); +module_exit(ovl_exit); --- linux-lowlatency-3.5.0.orig/fs/proc/Makefile +++ linux-lowlatency-3.5.0/fs/proc/Makefile @@ -28,3 +28,4 @@ proc-$(CONFIG_PROC_DEVICETREE) += proc_devtree.o proc-$(CONFIG_PRINTK) += kmsg.o proc-$(CONFIG_PROC_PAGE_MONITOR) += page.o +proc-y += version_signature.o --- linux-lowlatency-3.5.0.orig/fs/proc/page.c +++ linux-lowlatency-3.5.0/fs/proc/page.c @@ -115,7 +115,13 @@ u |= 1 << KPF_COMPOUND_TAIL; if (PageHuge(page)) u |= 1 << KPF_HUGE; - else if (PageTransCompound(page)) + /* + * PageTransCompound can be true for non-huge compound pages (slab + * pages or pages allocated by drivers with __GFP_COMP) because it + * just checks PG_head/PG_tail, so we need to check PageLRU to make + * sure a given page is a thp, not a non-huge compound page. + */ + else if (PageTransCompound(page) && PageLRU(compound_trans_head(page))) u |= 1 << KPF_THP; /* --- linux-lowlatency-3.5.0.orig/fs/proc/proc_sysctl.c +++ linux-lowlatency-3.5.0/fs/proc/proc_sysctl.c @@ -462,9 +462,6 @@ err = ERR_PTR(-ENOMEM); inode = proc_sys_make_inode(dir->i_sb, h ? h : head, p); - if (h) - sysctl_head_finish(h); - if (!inode) goto out; @@ -473,6 +470,8 @@ d_add(dentry, inode); out: + if (h) + sysctl_head_finish(h); sysctl_head_finish(head); return err; } @@ -796,7 +795,7 @@ static int proc_sys_revalidate(struct dentry *dentry, struct nameidata *nd) { - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; return !PROC_I(dentry->d_inode)->sysctl->unregistering; } --- linux-lowlatency-3.5.0.orig/fs/proc/stat.c +++ linux-lowlatency-3.5.0/fs/proc/stat.c @@ -45,10 +45,13 @@ static u64 get_idle_time(int cpu) { - u64 idle, idle_time = get_cpu_idle_time_us(cpu, NULL); + u64 idle, idle_time = -1ULL; + + if (cpu_online(cpu)) + idle_time = get_cpu_idle_time_us(cpu, NULL); if (idle_time == -1ULL) - /* !NO_HZ so we can rely on cpustat.idle */ + /* !NO_HZ or cpu offline so we can rely on cpustat.idle */ idle = kcpustat_cpu(cpu).cpustat[CPUTIME_IDLE]; else idle = usecs_to_cputime64(idle_time); @@ -58,10 +61,13 @@ static u64 get_iowait_time(int cpu) { - u64 iowait, iowait_time = get_cpu_iowait_time_us(cpu, NULL); + u64 iowait, iowait_time = -1ULL; + + if (cpu_online(cpu)) + iowait_time = get_cpu_iowait_time_us(cpu, NULL); if (iowait_time == -1ULL) - /* !NO_HZ so we can rely on cpustat.iowait */ + /* !NO_HZ or cpu offline so we can rely on cpustat.iowait */ iowait = kcpustat_cpu(cpu).cpustat[CPUTIME_IOWAIT]; else iowait = usecs_to_cputime64(iowait_time); --- linux-lowlatency-3.5.0.orig/fs/proc/version_signature.c +++ linux-lowlatency-3.5.0/fs/proc/version_signature.c @@ -0,0 +1,31 @@ +#include +#include +#include +#include +#include +#include + +static int version_signature_proc_show(struct seq_file *m, void *v) +{ + seq_printf(m, "%s\n", CONFIG_VERSION_SIGNATURE); + return 0; +} + +static int version_signature_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, version_signature_proc_show, NULL); +} + +static const struct file_operations version_signature_proc_fops = { + .open = version_signature_proc_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + +static int __init proc_version_signature_init(void) +{ + proc_create("version_signature", 0, NULL, &version_signature_proc_fops); + return 0; +} +module_init(proc_version_signature_init); --- linux-lowlatency-3.5.0.orig/fs/reiserfs/inode.c +++ linux-lowlatency-3.5.0/fs/reiserfs/inode.c @@ -1573,8 +1573,10 @@ reiserfs_warning(sb, "reiserfs-13077", "nfsd/reiserfs, fhtype=%d, len=%d - odd", fh_type, fh_len); - fh_type = 5; + fh_type = fh_len; } + if (fh_len < 2) + return NULL; return reiserfs_get_dentry(sb, fid->raw[0], fid->raw[1], (fh_type == 3 || fh_type >= 5) ? fid->raw[2] : 0); @@ -1583,6 +1585,8 @@ struct dentry *reiserfs_fh_to_parent(struct super_block *sb, struct fid *fid, int fh_len, int fh_type) { + if (fh_type > fh_len) + fh_type = fh_len; if (fh_type < 4) return NULL; @@ -1778,8 +1782,9 @@ BUG_ON(!th->t_trans_id); - dquot_initialize(inode); + reiserfs_write_unlock(inode->i_sb); err = dquot_alloc_inode(inode); + reiserfs_write_lock(inode->i_sb); if (err) goto out_end_trans; if (!dir->i_nlink) { @@ -1975,8 +1980,10 @@ out_end_trans: journal_end(th, th->t_super, th->t_blocks_allocated); + reiserfs_write_unlock(inode->i_sb); /* Drop can be outside and it needs more credits so it's better to have it outside */ dquot_drop(inode); + reiserfs_write_lock(inode->i_sb); inode->i_flags |= S_NOQUOTA; make_bad_inode(inode); @@ -3099,10 +3106,9 @@ /* must be turned off for recursive notify_change calls */ ia_valid = attr->ia_valid &= ~(ATTR_KILL_SUID|ATTR_KILL_SGID); - depth = reiserfs_write_lock_once(inode->i_sb); if (is_quota_modification(inode, attr)) dquot_initialize(inode); - + depth = reiserfs_write_lock_once(inode->i_sb); if (attr->ia_valid & ATTR_SIZE) { /* version 2 items will be caught by the s_maxbytes check ** done for us in vmtruncate @@ -3166,7 +3172,9 @@ error = journal_begin(&th, inode->i_sb, jbegin_count); if (error) goto out; + reiserfs_write_unlock_once(inode->i_sb, depth); error = dquot_transfer(inode, attr); + depth = reiserfs_write_lock_once(inode->i_sb); if (error) { journal_end(&th, inode->i_sb, jbegin_count); goto out; --- linux-lowlatency-3.5.0.orig/fs/reiserfs/stree.c +++ linux-lowlatency-3.5.0/fs/reiserfs/stree.c @@ -1968,7 +1968,9 @@ key2type(&(key->on_disk_key))); #endif + reiserfs_write_unlock(inode->i_sb); retval = dquot_alloc_space_nodirty(inode, pasted_size); + reiserfs_write_lock(inode->i_sb); if (retval) { pathrelse(search_path); return retval; @@ -2061,9 +2063,11 @@ "reiserquota insert_item(): allocating %u id=%u type=%c", quota_bytes, inode->i_uid, head2type(ih)); #endif + reiserfs_write_unlock(inode->i_sb); /* We can't dirty inode here. It would be immediately written but * appropriate stat item isn't inserted yet... */ retval = dquot_alloc_space_nodirty(inode, quota_bytes); + reiserfs_write_lock(inode->i_sb); if (retval) { pathrelse(path); return retval; --- linux-lowlatency-3.5.0.orig/fs/reiserfs/super.c +++ linux-lowlatency-3.5.0/fs/reiserfs/super.c @@ -293,7 +293,9 @@ retval = remove_save_link_only(s, &save_link_key, 0); continue; } + reiserfs_write_unlock(s); dquot_initialize(inode); + reiserfs_write_lock(s); if (truncate && S_ISDIR(inode->i_mode)) { /* We got a truncate request for a dir which is impossible. @@ -1325,7 +1327,7 @@ kfree(qf_names[i]); #endif err = -EINVAL; - goto out_err; + goto out_unlock; } #ifdef CONFIG_QUOTA handle_quota_files(s, qf_names, &qfmt); @@ -1369,7 +1371,7 @@ if (blocks) { err = reiserfs_resize(s, blocks); if (err != 0) - goto out_err; + goto out_unlock; } if (*mount_flags & MS_RDONLY) { @@ -1379,9 +1381,15 @@ /* it is read-only already */ goto out_ok; + /* + * Drop write lock. Quota will retake it when needed and lock + * ordering requires calling dquot_suspend() without it. + */ + reiserfs_write_unlock(s); err = dquot_suspend(s, -1); if (err < 0) goto out_err; + reiserfs_write_lock(s); /* try to remount file system with read-only permissions */ if (sb_umount_state(rs) == REISERFS_VALID_FS @@ -1391,7 +1399,7 @@ err = journal_begin(&th, s, 10); if (err) - goto out_err; + goto out_unlock; /* Mounting a rw partition read-only. */ reiserfs_prepare_for_journal(s, SB_BUFFER_WITH_SB(s), 1); @@ -1406,7 +1414,7 @@ if (reiserfs_is_journal_aborted(journal)) { err = journal->j_errno; - goto out_err; + goto out_unlock; } handle_data_mode(s, mount_options); @@ -1415,7 +1423,7 @@ s->s_flags &= ~MS_RDONLY; /* now it is safe to call journal_begin */ err = journal_begin(&th, s, 10); if (err) - goto out_err; + goto out_unlock; /* Mount a partition which is read-only, read-write */ reiserfs_prepare_for_journal(s, SB_BUFFER_WITH_SB(s), 1); @@ -1432,10 +1440,16 @@ SB_JOURNAL(s)->j_must_wait = 1; err = journal_end(&th, s, 10); if (err) - goto out_err; + goto out_unlock; if (!(*mount_flags & MS_RDONLY)) { + /* + * Drop write lock. Quota will retake it when needed and lock + * ordering requires calling dquot_resume() without it. + */ + reiserfs_write_unlock(s); dquot_resume(s, -1); + reiserfs_write_lock(s); finish_unfinished(s); reiserfs_xattr_init(s, *mount_flags); } @@ -1445,9 +1459,10 @@ reiserfs_write_unlock(s); return 0; +out_unlock: + reiserfs_write_unlock(s); out_err: kfree(new_opts); - reiserfs_write_unlock(s); return err; } @@ -2085,13 +2100,15 @@ REISERFS_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); if (ret) goto out; + reiserfs_write_unlock(dquot->dq_sb); ret = dquot_commit(dquot); + reiserfs_write_lock(dquot->dq_sb); err = journal_end(&th, dquot->dq_sb, REISERFS_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); if (!ret && err) ret = err; - out: +out: reiserfs_write_unlock(dquot->dq_sb); return ret; } @@ -2107,13 +2124,15 @@ REISERFS_QUOTA_INIT_BLOCKS(dquot->dq_sb)); if (ret) goto out; + reiserfs_write_unlock(dquot->dq_sb); ret = dquot_acquire(dquot); + reiserfs_write_lock(dquot->dq_sb); err = journal_end(&th, dquot->dq_sb, REISERFS_QUOTA_INIT_BLOCKS(dquot->dq_sb)); if (!ret && err) ret = err; - out: +out: reiserfs_write_unlock(dquot->dq_sb); return ret; } @@ -2127,19 +2146,21 @@ ret = journal_begin(&th, dquot->dq_sb, REISERFS_QUOTA_DEL_BLOCKS(dquot->dq_sb)); + reiserfs_write_unlock(dquot->dq_sb); if (ret) { /* Release dquot anyway to avoid endless cycle in dqput() */ dquot_release(dquot); goto out; } ret = dquot_release(dquot); + reiserfs_write_lock(dquot->dq_sb); err = journal_end(&th, dquot->dq_sb, REISERFS_QUOTA_DEL_BLOCKS(dquot->dq_sb)); if (!ret && err) ret = err; - out: reiserfs_write_unlock(dquot->dq_sb); +out: return ret; } @@ -2164,11 +2185,13 @@ ret = journal_begin(&th, sb, 2); if (ret) goto out; + reiserfs_write_unlock(sb); ret = dquot_commit_info(sb, type); + reiserfs_write_lock(sb); err = journal_end(&th, sb, 2); if (!ret && err) ret = err; - out: +out: reiserfs_write_unlock(sb); return ret; } @@ -2193,8 +2216,11 @@ struct reiserfs_transaction_handle th; int opt = type == USRQUOTA ? REISERFS_USRQUOTA : REISERFS_GRPQUOTA; - if (!(REISERFS_SB(sb)->s_mount_opt & (1 << opt))) - return -EINVAL; + reiserfs_write_lock(sb); + if (!(REISERFS_SB(sb)->s_mount_opt & (1 << opt))) { + err = -EINVAL; + goto out; + } /* Quotafile not on the same filesystem? */ if (path->dentry->d_sb != sb) { @@ -2236,8 +2262,10 @@ if (err) goto out; } - err = dquot_quota_on(sb, type, format_id, path); + reiserfs_write_unlock(sb); + return dquot_quota_on(sb, type, format_id, path); out: + reiserfs_write_unlock(sb); return err; } @@ -2310,7 +2338,9 @@ tocopy = sb->s_blocksize - offset < towrite ? sb->s_blocksize - offset : towrite; tmp_bh.b_state = 0; + reiserfs_write_lock(sb); err = reiserfs_get_block(inode, blk, &tmp_bh, GET_BLOCK_CREATE); + reiserfs_write_unlock(sb); if (err) goto out; if (offset || tocopy != sb->s_blocksize) @@ -2326,10 +2356,12 @@ flush_dcache_page(bh->b_page); set_buffer_uptodate(bh); unlock_buffer(bh); + reiserfs_write_lock(sb); reiserfs_prepare_for_journal(sb, bh, 1); journal_mark_dirty(current->journal_info, sb, bh); if (!journal_quota) reiserfs_add_ordered_list(inode, bh); + reiserfs_write_unlock(sb); brelse(bh); offset = 0; towrite -= tocopy; --- linux-lowlatency-3.5.0.orig/fs/sysfs/dir.c +++ linux-lowlatency-3.5.0/fs/sysfs/dir.c @@ -308,7 +308,7 @@ struct sysfs_dirent *sd; int is_dir; - if (nd->flags & LOOKUP_RCU) + if (nd && nd->flags & LOOKUP_RCU) return -ECHILD; sd = dentry->d_fsdata; @@ -478,20 +478,18 @@ /** * sysfs_pathname - return full path to sysfs dirent * @sd: sysfs_dirent whose path we want - * @path: caller allocated buffer + * @path: caller allocated buffer of size PATH_MAX * * Gives the name "/" to the sysfs_root entry; any path returned * is relative to wherever sysfs is mounted. - * - * XXX: does no error checking on @path size */ static char *sysfs_pathname(struct sysfs_dirent *sd, char *path) { if (sd->s_parent) { sysfs_pathname(sd->s_parent, path); - strcat(path, "/"); + strlcat(path, "/", PATH_MAX); } - strcat(path, sd->s_name); + strlcat(path, sd->s_name, PATH_MAX); return path; } @@ -524,9 +522,11 @@ char *path = kzalloc(PATH_MAX, GFP_KERNEL); WARN(1, KERN_WARNING "sysfs: cannot create duplicate filename '%s'\n", - (path == NULL) ? sd->s_name : - strcat(strcat(sysfs_pathname(acxt->parent_sd, path), "/"), - sd->s_name)); + (path == NULL) ? sd->s_name + : (sysfs_pathname(acxt->parent_sd, path), + strlcat(path, "/", PATH_MAX), + strlcat(path, sd->s_name, PATH_MAX), + path)); kfree(path); } --- linux-lowlatency-3.5.0.orig/fs/ubifs/debug.h +++ linux-lowlatency-3.5.0/fs/ubifs/debug.h @@ -162,7 +162,7 @@ #define ubifs_dbg_msg(type, fmt, ...) \ pr_debug("UBIFS DBG " type ": " fmt "\n", ##__VA_ARGS__) -#define DBG_KEY_BUF_LEN 32 +#define DBG_KEY_BUF_LEN 48 #define ubifs_dbg_msg_key(type, key, fmt, ...) do { \ char __tmp_key_buf[DBG_KEY_BUF_LEN]; \ pr_debug("UBIFS DBG " type ": " fmt "%s\n", ##__VA_ARGS__, \ --- linux-lowlatency-3.5.0.orig/fs/ubifs/find.c +++ linux-lowlatency-3.5.0/fs/ubifs/find.c @@ -681,8 +681,16 @@ if (!lprops) { lprops = ubifs_fast_find_freeable(c); if (!lprops) { - ubifs_assert(c->freeable_cnt == 0); - if (c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) { + /* + * The first condition means the following: go scan the + * LPT if there are uncategorized lprops, which means + * there may be freeable LEBs there (UBIFS does not + * store the information about freeable LEBs in the + * master node). + */ + if (c->in_a_category_cnt != c->main_lebs || + c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) { + ubifs_assert(c->freeable_cnt == 0); lprops = scan_for_leb_for_idx(c); if (IS_ERR(lprops)) { err = PTR_ERR(lprops); --- linux-lowlatency-3.5.0.orig/fs/ubifs/lprops.c +++ linux-lowlatency-3.5.0/fs/ubifs/lprops.c @@ -300,8 +300,11 @@ default: ubifs_assert(0); } + lprops->flags &= ~LPROPS_CAT_MASK; lprops->flags |= cat; + c->in_a_category_cnt += 1; + ubifs_assert(c->in_a_category_cnt <= c->main_lebs); } /** @@ -334,6 +337,9 @@ default: ubifs_assert(0); } + + c->in_a_category_cnt -= 1; + ubifs_assert(c->in_a_category_cnt >= 0); } /** --- linux-lowlatency-3.5.0.orig/fs/ubifs/lpt.c +++ linux-lowlatency-3.5.0/fs/ubifs/lpt.c @@ -1749,7 +1749,10 @@ return 0; out_err: - ubifs_lpt_free(c, 0); + if (wr) + ubifs_lpt_free(c, 1); + if (rd) + ubifs_lpt_free(c, 0); return err; } --- linux-lowlatency-3.5.0.orig/fs/ubifs/ubifs.h +++ linux-lowlatency-3.5.0/fs/ubifs/ubifs.h @@ -1184,6 +1184,8 @@ * @freeable_list: list of freeable non-index LEBs (free + dirty == @leb_size) * @frdi_idx_list: list of freeable index LEBs (free + dirty == @leb_size) * @freeable_cnt: number of freeable LEBs in @freeable_list + * @in_a_category_cnt: count of lprops which are in a certain category, which + * basically meants that they were loaded from the flash * * @ltab_lnum: LEB number of LPT's own lprops table * @ltab_offs: offset of LPT's own lprops table @@ -1413,6 +1415,7 @@ struct list_head freeable_list; struct list_head frdi_idx_list; int freeable_cnt; + int in_a_category_cnt; int ltab_lnum; int ltab_offs; --- linux-lowlatency-3.5.0.orig/fs/udf/file.c +++ linux-lowlatency-3.5.0/fs/udf/file.c @@ -39,20 +39,24 @@ #include "udf_i.h" #include "udf_sb.h" -static int udf_adinicb_readpage(struct file *file, struct page *page) +static void __udf_adinicb_readpage(struct page *page) { struct inode *inode = page->mapping->host; char *kaddr; struct udf_inode_info *iinfo = UDF_I(inode); - BUG_ON(!PageLocked(page)); - kaddr = kmap(page); - memset(kaddr, 0, PAGE_CACHE_SIZE); memcpy(kaddr, iinfo->i_ext.i_data + iinfo->i_lenEAttr, inode->i_size); + memset(kaddr + inode->i_size, 0, PAGE_CACHE_SIZE - inode->i_size); flush_dcache_page(page); SetPageUptodate(page); kunmap(page); +} + +static int udf_adinicb_readpage(struct file *file, struct page *page) +{ + BUG_ON(!PageLocked(page)); + __udf_adinicb_readpage(page); unlock_page(page); return 0; @@ -77,6 +81,25 @@ return 0; } +static int udf_adinicb_write_begin(struct file *file, + struct address_space *mapping, loff_t pos, + unsigned len, unsigned flags, struct page **pagep, + void **fsdata) +{ + struct page *page; + + if (WARN_ON_ONCE(pos >= PAGE_CACHE_SIZE)) + return -EIO; + page = grab_cache_page_write_begin(mapping, 0, flags); + if (!page) + return -ENOMEM; + *pagep = page; + + if (!PageUptodate(page) && len != PAGE_CACHE_SIZE) + __udf_adinicb_readpage(page); + return 0; +} + static int udf_adinicb_write_end(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned copied, @@ -98,8 +121,8 @@ const struct address_space_operations udf_adinicb_aops = { .readpage = udf_adinicb_readpage, .writepage = udf_adinicb_writepage, - .write_begin = simple_write_begin, - .write_end = udf_adinicb_write_end, + .write_begin = udf_adinicb_write_begin, + .write_end = udf_adinicb_write_end, }; static ssize_t udf_file_aio_write(struct kiocb *iocb, const struct iovec *iov, --- linux-lowlatency-3.5.0.orig/fs/udf/super.c +++ linux-lowlatency-3.5.0/fs/udf/super.c @@ -1283,10 +1283,11 @@ BUG_ON(ident != TAG_IDENT_LVD); lvd = (struct logicalVolDesc *)bh->b_data; table_len = le32_to_cpu(lvd->mapTableLength); - if (sizeof(*lvd) + table_len > sb->s_blocksize) { + if (table_len > sb->s_blocksize - sizeof(*lvd)) { udf_err(sb, "error loading logical volume descriptor: " "Partition table too long (%u > %lu)\n", table_len, sb->s_blocksize - sizeof(*lvd)); + ret = 1; goto out_bh; } @@ -1331,8 +1332,10 @@ UDF_ID_SPARABLE, strlen(UDF_ID_SPARABLE))) { if (udf_load_sparable_map(sb, map, - (struct sparablePartitionMap *)gpm) < 0) + (struct sparablePartitionMap *)gpm) < 0) { + ret = 1; goto out_bh; + } } else if (!strncmp(upm2->partIdent.ident, UDF_ID_METADATA, strlen(UDF_ID_METADATA))) { --- linux-lowlatency-3.5.0.orig/fs/xfs/xfs_buf.c +++ linux-lowlatency-3.5.0/fs/xfs/xfs_buf.c @@ -1135,9 +1135,14 @@ { xfs_buf_t *bp = (xfs_buf_t *)bio->bi_private; - xfs_buf_ioerror(bp, -error); + /* + * don't overwrite existing errors - otherwise we can lose errors on + * buffers that require multiple bios to complete. + */ + if (!bp->b_error) + xfs_buf_ioerror(bp, -error); - if (!error && xfs_buf_is_vmapped(bp) && (bp->b_flags & XBF_READ)) + if (!bp->b_error && xfs_buf_is_vmapped(bp) && (bp->b_flags & XBF_READ)) invalidate_kernel_vmap_range(bp->b_addr, xfs_buf_vmap_len(bp)); _xfs_buf_ioend(bp, 1); @@ -1213,6 +1218,11 @@ if (size) goto next_chunk; } else { + /* + * This is guaranteed not to be the last io reference count + * because the caller (xfs_buf_iorequest) holds a count itself. + */ + atomic_dec(&bp->b_io_remaining); xfs_buf_ioerror(bp, EIO); bio_put(bio); } --- linux-lowlatency-3.5.0.orig/fs/xfs/xfs_buf_item.c +++ linux-lowlatency-3.5.0/fs/xfs/xfs_buf_item.c @@ -459,7 +459,25 @@ } xfs_buf_relse(bp); } else if (freed && remove) { + /* + * There are currently two references to the buffer - the active + * LRU reference and the buf log item. What we are about to do + * here - simulate a failed IO completion - requires 3 + * references. + * + * The LRU reference is removed by the xfs_buf_stale() call. The + * buf item reference is removed by the xfs_buf_iodone() + * callback that is run by xfs_buf_do_callbacks() during ioend + * processing (via the bp->b_iodone callback), and then finally + * the ioend processing will drop the IO reference if the buffer + * is marked XBF_ASYNC. + * + * Hence we need to take an additional reference here so that IO + * completion processing doesn't free the buffer prematurely. + */ xfs_buf_lock(bp); + xfs_buf_hold(bp); + bp->b_flags |= XBF_ASYNC; xfs_buf_ioerror(bp, EIO); XFS_BUF_UNDONE(bp); xfs_buf_stale(bp); --- linux-lowlatency-3.5.0.orig/fs/xfs/xfs_export.c +++ linux-lowlatency-3.5.0/fs/xfs/xfs_export.c @@ -189,6 +189,9 @@ struct xfs_fid64 *fid64 = (struct xfs_fid64 *)fid; struct inode *inode = NULL; + if (fh_len < xfs_fileid_length(fileid_type)) + return NULL; + switch (fileid_type) { case FILEID_INO32_GEN_PARENT: inode = xfs_nfs_get_inode(sb, fid->i32.parent_ino, --- linux-lowlatency-3.5.0.orig/fs/xfs/xfs_log_recover.c +++ linux-lowlatency-3.5.0/fs/xfs/xfs_log_recover.c @@ -3533,7 +3533,7 @@ * - order is important. */ error = xlog_bread_offset(log, 0, - bblks - split_bblks, hbp, + bblks - split_bblks, dbp, offset + BBTOB(split_bblks)); if (error) goto bread_err2; --- linux-lowlatency-3.5.0.orig/include/Kbuild +++ linux-lowlatency-3.5.0/include/Kbuild @@ -9,4 +9,3 @@ header-y += video/ header-y += drm/ header-y += xen/ -header-y += scsi/ --- linux-lowlatency-3.5.0.orig/include/asm-generic/mutex-xchg.h +++ linux-lowlatency-3.5.0/include/asm-generic/mutex-xchg.h @@ -26,7 +26,13 @@ __mutex_fastpath_lock(atomic_t *count, void (*fail_fn)(atomic_t *)) { if (unlikely(atomic_xchg(count, 0) != 1)) - fail_fn(count); + /* + * We failed to acquire the lock, so mark it contended + * to ensure that any waiting tasks are woken up by the + * unlock slow path. + */ + if (likely(atomic_xchg(count, -1) != 1)) + fail_fn(count); } /** @@ -43,7 +49,8 @@ __mutex_fastpath_lock_retval(atomic_t *count, int (*fail_fn)(atomic_t *)) { if (unlikely(atomic_xchg(count, 0) != 1)) - return fail_fn(count); + if (likely(atomic_xchg(count, -1) != 1)) + return fail_fn(count); return 0; } --- linux-lowlatency-3.5.0.orig/include/asm-generic/vmlinux.lds.h +++ linux-lowlatency-3.5.0/include/asm-generic/vmlinux.lds.h @@ -626,6 +626,7 @@ *(.initcallearly.init) \ INIT_CALLS_LEVEL(0) \ INIT_CALLS_LEVEL(1) \ + INIT_CALLS_LEVEL(earlyrootfs) \ INIT_CALLS_LEVEL(2) \ INIT_CALLS_LEVEL(3) \ INIT_CALLS_LEVEL(4) \ --- linux-lowlatency-3.5.0.orig/include/drm/drmP.h +++ linux-lowlatency-3.5.0/include/drm/drmP.h @@ -87,6 +87,7 @@ #include "drm_os_linux.h" #include "drm_hashtab.h" #include "drm_mm.h" +#include "drm_mm_hsw.h" #define DRM_UT_CORE 0x01 #define DRM_UT_DRIVER 0x02 @@ -1378,6 +1379,7 @@ /* Cache management (drm_cache.c) */ void drm_clflush_pages(struct page *pages[], unsigned long num_pages); +void drm_clflush_sg(struct sg_table *st); void drm_clflush_virt_range(char *addr, unsigned long length); /* Locking IOCTL support (drm_lock.h) */ --- linux-lowlatency-3.5.0.orig/include/drm/drm_crtc.h +++ linux-lowlatency-3.5.0/include/drm/drm_crtc.h @@ -216,8 +216,6 @@ u32 color_formats; u8 cea_rev; - - char *raw_edid; /* if any */ }; struct drm_framebuffer_funcs { @@ -865,6 +863,7 @@ extern char *drm_get_tv_select_name(int val); extern void drm_fb_release(struct drm_file *file_priv); extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_mode_group *group); +extern bool drm_probe_ddc(struct i2c_adapter *adapter); extern struct edid *drm_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter); extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid); --- linux-lowlatency-3.5.0.orig/include/drm/drm_crtc_helper.h +++ linux-lowlatency-3.5.0/include/drm/drm_crtc_helper.h @@ -137,6 +137,8 @@ extern void drm_helper_connector_dpms(struct drm_connector *connector, int mode); +extern void drm_helper_move_panel_connectors_to_head(struct drm_device *); + extern int drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb, struct drm_mode_fb_cmd2 *mode_cmd); --- linux-lowlatency-3.5.0.orig/include/drm/drm_dp_helper.h +++ linux-lowlatency-3.5.0/include/drm/drm_dp_helper.h @@ -25,6 +25,7 @@ #include #include +#include /* From the VESA DisplayPort spec */ @@ -92,6 +93,13 @@ # define DP_PSR_SETUP_TIME_0 (6 << 1) # define DP_PSR_SETUP_TIME_MASK (7 << 1) # define DP_PSR_SETUP_TIME_SHIFT 1 +# define DP_DOWNSTREAM_PORT_0 0x80 +# define DP_DS_PORT_TYPE_MASK (7 << 0) +# define DP_DS_PORT_TYPE_VGA 1 +# define DP_DS_PORT_TYPE_NON_EDID 4 +# define DP_DS_PORT_HPD (1 << 3) +# define DP_SINK_COUNT 0x200 +# define DP_GET_SINK_COUNT(x) ((((x) & 0x80) >> 1) | ((x) & 0x3f)) /* link configuration */ #define DP_LINK_BW_SET 0x100 @@ -257,4 +265,33 @@ int i2c_dp_aux_add_bus(struct i2c_adapter *adapter); +#define DP_LINK_STATUS_SIZE 6 +bool drm_dp_channel_eq_ok(u8 link_status[DP_LINK_STATUS_SIZE], + int lane_count); +bool drm_dp_clock_recovery_ok(u8 link_status[DP_LINK_STATUS_SIZE], + int lane_count); +u8 drm_dp_get_adjust_request_voltage(u8 link_status[DP_LINK_STATUS_SIZE], + int lane); +u8 drm_dp_get_adjust_request_pre_emphasis(u8 link_status[DP_LINK_STATUS_SIZE], + int lane); + +#define DP_RECEIVER_CAP_SIZE 0xf +void drm_dp_link_train_clock_recovery_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]); +void drm_dp_link_train_channel_eq_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]); + +u8 drm_dp_link_rate_to_bw_code(int link_rate); +int drm_dp_bw_code_to_link_rate(u8 link_bw); + +static inline int +drm_dp_max_link_rate(u8 dpcd[DP_RECEIVER_CAP_SIZE]) +{ + return drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); +} + +static inline u8 +drm_dp_max_lane_count(u8 dpcd[DP_RECEIVER_CAP_SIZE]) +{ + return dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; +} + #endif /* _DRM_DP_HELPER_H_ */ --- linux-lowlatency-3.5.0.orig/include/drm/drm_mode.h +++ linux-lowlatency-3.5.0/include/drm/drm_mode.h @@ -359,8 +359,9 @@ struct drm_mode_modeinfo mode; }; -#define DRM_MODE_CURSOR_BO (1<<0) -#define DRM_MODE_CURSOR_MOVE (1<<1) +#define DRM_MODE_CURSOR_BO 0x01 +#define DRM_MODE_CURSOR_MOVE 0x02 +#define DRM_MODE_CURSOR_FLAGS 0x03 /* * depending on the value in flags different members are used. --- linux-lowlatency-3.5.0.orig/include/drm/drm_pciids.h +++ linux-lowlatency-3.5.0/include/drm/drm_pciids.h @@ -205,17 +205,24 @@ {0x1002, 0x6788, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x678A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6790, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6791, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6792, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6798, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6799, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x679A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x679B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x679E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x679F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6801, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6802, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6806, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6808, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6809, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6810, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6811, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6816, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6817, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6818, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6819, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ --- linux-lowlatency-3.5.0.orig/include/drm/i915_drm.h +++ linux-lowlatency-3.5.0/include/drm/i915_drm.h @@ -200,6 +200,12 @@ #define DRM_I915_GEM_EXECBUFFER2 0x29 #define DRM_I915_GET_SPRITE_COLORKEY 0x2a #define DRM_I915_SET_SPRITE_COLORKEY 0x2b +#define DRM_I915_GEM_WAIT 0x2c +#define DRM_I915_GEM_CONTEXT_CREATE 0x2d +#define DRM_I915_GEM_CONTEXT_DESTROY 0x2e +#define DRM_I915_GEM_SET_CACHING 0x2f +#define DRM_I915_GEM_GET_CACHING 0x30 +#define DRM_I915_REG_READ 0x31 #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) @@ -224,6 +230,8 @@ #define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin) #define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin) #define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy) +#define DRM_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_SET_CACHING, struct drm_i915_gem_caching) +#define DRM_IOCTL_I915_GEM_GET_CACHING DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_GET_CACHING, struct drm_i915_gem_caching) #define DRM_IOCTL_I915_GEM_THROTTLE DRM_IO ( DRM_COMMAND_BASE + DRM_I915_GEM_THROTTLE) #define DRM_IOCTL_I915_GEM_ENTERVT DRM_IO(DRM_COMMAND_BASE + DRM_I915_GEM_ENTERVT) #define DRM_IOCTL_I915_GEM_LEAVEVT DRM_IO(DRM_COMMAND_BASE + DRM_I915_GEM_LEAVEVT) @@ -243,6 +251,10 @@ #define DRM_IOCTL_I915_OVERLAY_ATTRS DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_OVERLAY_ATTRS, struct drm_intel_overlay_attrs) #define DRM_IOCTL_I915_SET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) #define DRM_IOCTL_I915_GET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) +#define DRM_IOCTL_I915_GEM_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_WAIT, struct drm_i915_gem_wait) +#define DRM_IOCTL_I915_GEM_CONTEXT_CREATE DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_CREATE, struct drm_i915_gem_context_create) +#define DRM_IOCTL_I915_GEM_CONTEXT_DESTROY DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_DESTROY, struct drm_i915_gem_context_destroy) +#define DRM_IOCTL_I915_REG_READ DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_REG_READ, struct drm_i915_reg_read) /* Allow drivers to submit batchbuffers directly to hardware, relying * on the security mechanisms provided by hardware. @@ -298,6 +310,10 @@ #define I915_PARAM_HAS_GEN7_SOL_RESET 16 #define I915_PARAM_HAS_LLC 17 #define I915_PARAM_HAS_ALIASING_PPGTT 18 +#define I915_PARAM_HAS_WAIT_TIMEOUT 19 +#define I915_PARAM_HAS_SEMAPHORES 20 +#define I915_PARAM_HAS_PRIME_VMAP_FLUSH 21 +#define I915_PARAM_HAS_SECURE_BATCHES 23 typedef struct drm_i915_getparam { int param; @@ -663,6 +679,17 @@ /** Resets the SO write offset registers for transform feedback on gen7. */ #define I915_EXEC_GEN7_SOL_RESET (1<<8) +/** Request a privileged ("secure") batch buffer. Note only available for + * DRM_ROOT_ONLY | DRM_MASTER processes. + */ +#define I915_EXEC_SECURE (1<<9) + +#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) +#define i915_execbuffer2_set_context_id(eb2, context) \ + (eb2).rsvd1 = context & I915_EXEC_CONTEXT_ID_MASK +#define i915_execbuffer2_get_context_id(eb2) \ + ((eb2).rsvd1 & I915_EXEC_CONTEXT_ID_MASK) + struct drm_i915_gem_pin { /** Handle of the buffer to be pinned. */ __u32 handle; @@ -689,6 +716,17 @@ __u32 busy; }; +#define I915_CACHING_NONE 0 +#define I915_CACHING_CACHED 1 + +struct drm_i915_gem_caching { + /** Handle of the buffer to set/get the cacheing level of */ + __u32 handle; + + /** Cacheing level to apply or return value */ + __u32 caching; +}; + #define I915_TILING_NONE 0 #define I915_TILING_X 1 #define I915_TILING_Y 2 @@ -885,5 +923,28 @@ __u32 max_value; __u32 flags; }; +struct drm_i915_gem_wait { + /** Handle of BO we shall wait on */ + __u32 bo_handle; + __u32 flags; + /** Number of nanoseconds to wait, Returns time remaining. */ + __u64 timeout_ns; +}; + +struct drm_i915_gem_context_create { + /* output: id of new context*/ + __u32 ctx_id; + __u32 pad; +}; + +struct drm_i915_gem_context_destroy { + __u32 ctx_id; + __u32 pad; +}; + +struct drm_i915_reg_read { + __u64 offset; + __u64 val; /* Return value */ +}; #endif /* _I915_DRM_H_ */ --- linux-lowlatency-3.5.0.orig/include/drm/intel-gtt.h +++ linux-lowlatency-3.5.0/include/drm/intel-gtt.h @@ -3,7 +3,7 @@ #ifndef _DRM_INTEL_GTT_H #define _DRM_INTEL_GTT_H -const struct intel_gtt { +struct intel_gtt { /* Size of memory reserved for graphics by the BIOS */ unsigned int stolen_size; /* Total number of gtt entries. */ @@ -17,10 +17,19 @@ unsigned int do_idle_maps : 1; /* Share the scratch page dma with ppgtts. */ dma_addr_t scratch_page_dma; + struct page *scratch_page; /* for ppgtt PDE access */ u32 __iomem *gtt; + /* needed for ioremap in drm/i915 */ + phys_addr_t gma_bus_addr; } *intel_gtt_get(void); +int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev, + struct agp_bridge_data *bridge); +void intel_gmch_remove(void); + +bool intel_enable_gtt(void); + void intel_gtt_chipset_flush(void); void intel_gtt_unmap_memory(struct scatterlist *sg_list, int num_sg); void intel_gtt_clear_range(unsigned int first_entry, unsigned int num_entries); @@ -30,6 +39,9 @@ unsigned int sg_len, unsigned int pg_start, unsigned int flags); +void intel_gtt_insert_sg_entries_hsw(struct sg_table *st, + unsigned int pg_start, + unsigned int flags); void intel_gtt_insert_pages(unsigned int first_entry, unsigned int num_entries, struct page **pages, unsigned int flags); --- linux-lowlatency-3.5.0.orig/include/drm/drm_mm_hsw.h +++ linux-lowlatency-3.5.0/include/drm/drm_mm_hsw.h @@ -0,0 +1,251 @@ +/************************************************************************** + * + * Copyright 2006-2008 Tungsten Graphics, Inc., Cedar Park, TX. USA. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + * USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * + **************************************************************************/ +/* + * Authors: + * Thomas Hellstrom + */ + +#ifndef _DRM_MM_HSW_H_ +#define _DRM_MM_HSW_H_ + +/* + * Generic range manager structs + */ +#include +#ifdef CONFIG_DEBUG_FS +#include +#endif + +struct drm_mm_node_hsw { + struct list_head node_list; + struct list_head hole_stack; + unsigned hole_follows : 1; + unsigned scanned_block : 1; + unsigned scanned_prev_free : 1; + unsigned scanned_next_free : 1; + unsigned scanned_preceeds_hole : 1; + unsigned allocated : 1; + unsigned long color; + unsigned long start; + unsigned long size; + struct drm_mm_hsw *mm; +}; + +struct drm_mm_hsw { + /* List of all memory nodes that immediately precede a free hole. */ + struct list_head hole_stack; + /* head_node.node_list is the list of all memory nodes, ordered + * according to the (increasing) start address of the memory node. */ + struct drm_mm_node_hsw head_node; + struct list_head unused_nodes; + int num_unused; + spinlock_t unused_lock; + unsigned int scan_check_range : 1; + unsigned scan_alignment; + unsigned long scan_color; + unsigned long scan_size; + unsigned long scan_hit_start; + unsigned scan_hit_size; + unsigned scanned_blocks; + unsigned long scan_start; + unsigned long scan_end; + struct drm_mm_node_hsw *prev_scanned_node; + + void (*color_adjust)(struct drm_mm_node_hsw *node, unsigned long color, + unsigned long *start, unsigned long *end); +}; + +static inline bool drm_mm_node_allocated_hsw(struct drm_mm_node_hsw *node) +{ + return node->allocated; +} + +static inline bool drm_mm_initialized_hsw(struct drm_mm_hsw *mm) +{ + return mm->hole_stack.next; +} +#define drm_mm_hsw_for_each_node(entry, mm) list_for_each_entry(entry, \ + &(mm)->head_node.node_list, \ + node_list) +#define drm_mm_hsw_for_each_scanned_node_reverse(entry, n, mm) \ + for (entry = (mm)->prev_scanned_node, \ + next = entry ? list_entry(entry->node_list.next, \ + struct drm_mm_node_hsw, node_list) : NULL; \ + entry != NULL; entry = next, \ + next = entry ? list_entry(entry->node_list.next, \ + struct drm_mm_node_hsw, node_list) : NULL) \ +/* + * Basic range manager support (drm_mm.c) + */ +extern struct drm_mm_node_hsw *drm_mm_get_block_generic_hsw(struct drm_mm_node_hsw *node, + unsigned long size, + unsigned alignment, + unsigned long color, + int atomic); +extern struct drm_mm_node_hsw *drm_mm_get_block_range_generic_hsw( + struct drm_mm_node_hsw *node, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end, + int atomic); +static inline struct drm_mm_node_hsw *drm_mm_get_block_hsw(struct drm_mm_node_hsw *parent, + unsigned long size, + unsigned alignment) +{ + return drm_mm_get_block_generic_hsw(parent, size, alignment, 0, 0); +} +static inline struct drm_mm_node_hsw *drm_mm_get_block_atomic_hsw(struct drm_mm_node_hsw *parent, + unsigned long size, + unsigned alignment) +{ + return drm_mm_get_block_generic_hsw(parent, size, alignment, 0, 1); +} +static inline struct drm_mm_node_hsw *drm_mm_get_block_range_hsw( + struct drm_mm_node_hsw *parent, + unsigned long size, + unsigned alignment, + unsigned long start, + unsigned long end) +{ + return drm_mm_get_block_range_generic_hsw(parent, size, alignment, 0, + start, end, 0); +} +static inline struct drm_mm_node_hsw *drm_mm_get_color_block_range_hsw( + struct drm_mm_node_hsw *parent, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end) +{ + return drm_mm_get_block_range_generic_hsw(parent, size, alignment, color, + start, end, 0); +} +static inline struct drm_mm_node_hsw *drm_mm_get_block_atomic_range_hsw( + struct drm_mm_node_hsw *parent, + unsigned long size, + unsigned alignment, + unsigned long start, + unsigned long end) +{ + return drm_mm_get_block_range_generic_hsw(parent, size, alignment, 0, + start, end, 1); +} +extern int drm_mm_insert_node_hsw(struct drm_mm_hsw *mm, struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment); +extern int drm_mm_insert_node_in_range_hsw(struct drm_mm_hsw *mm, + struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment, + unsigned long start, unsigned long end); +extern void drm_mm_put_block_hsw(struct drm_mm_node_hsw *cur); +extern void drm_mm_remove_node_hsw(struct drm_mm_node_hsw *node); +extern void drm_mm_replace_node_hsw(struct drm_mm_node_hsw *old, struct drm_mm_node_hsw *new); +extern struct drm_mm_node_hsw *drm_mm_search_free_generic_hsw(const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + bool best_match); +extern struct drm_mm_node_hsw *drm_mm_search_free_in_range_generic_hsw( + const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end, + bool best_match); +static inline struct drm_mm_node_hsw *drm_mm_search_free_hsw(const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + bool best_match) +{ + return drm_mm_search_free_generic_hsw(mm,size, alignment, 0, best_match); +} +static inline struct drm_mm_node_hsw *drm_mm_search_free_in_range_hsw( + const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long start, + unsigned long end, + bool best_match) +{ + return drm_mm_search_free_in_range_generic_hsw(mm, size, alignment, 0, + start, end, best_match); +} +static inline struct drm_mm_node_hsw *drm_mm_search_free_color_hsw(const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + bool best_match) +{ + return drm_mm_search_free_generic_hsw(mm,size, alignment, color, best_match); +} +static inline struct drm_mm_node_hsw *drm_mm_search_free_in_range_color_hsw( + const struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end, + bool best_match) +{ + return drm_mm_search_free_in_range_generic_hsw(mm, size, alignment, color, + start, end, best_match); +} +extern int drm_mm_init_hsw(struct drm_mm_hsw *mm, + unsigned long start, + unsigned long size); +extern void drm_mm_takedown_hsw(struct drm_mm_hsw *mm); +extern int drm_mm_clean_hsw(struct drm_mm_hsw *mm); +extern int drm_mm_pre_get_hsw(struct drm_mm_hsw *mm); + +static inline struct drm_mm_hsw *drm_get_mm_hsw(struct drm_mm_node_hsw *block) +{ + return block->mm; +} + +void drm_mm_init_scan_hsw(struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color); +void drm_mm_init_scan_with_range_hsw(struct drm_mm_hsw *mm, + unsigned long size, + unsigned alignment, + unsigned long color, + unsigned long start, + unsigned long end); +int drm_mm_scan_add_block_hsw(struct drm_mm_node_hsw *node); +int drm_mm_scan_remove_block_hsw(struct drm_mm_node_hsw *node); + +extern void drm_mm_debug_table_hsw(struct drm_mm_hsw *mm, const char *prefix); +#ifdef CONFIG_DEBUG_FS +int drm_mm_dump_table_hsw(struct seq_file *m, struct drm_mm_hsw *mm); +#endif + +#endif --- linux-lowlatency-3.5.0.orig/include/drm/i915_drm_hsw.h +++ linux-lowlatency-3.5.0/include/drm/i915_drm_hsw.h @@ -0,0 +1,35 @@ +/* + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +#ifndef _I915_DRM_HSW_H_ +#define _I915_DRM_HSW_H_ + +/* For use by IPS driver */ +extern unsigned long i915_hsw_read_mch_val(void); +extern bool i915_hsw_gpu_raise(void); +extern bool i915_hsw_gpu_lower(void); +extern bool i915_hsw_gpu_busy(void); +extern bool i915_hsw_gpu_turbo_disable(void); +#endif /* _I915_DRM_HSW_H_ */ --- linux-lowlatency-3.5.0.orig/include/linux/binfmts.h +++ linux-lowlatency-3.5.0/include/linux/binfmts.h @@ -68,8 +68,6 @@ #define BINPRM_FLAGS_EXECFD_BIT 1 #define BINPRM_FLAGS_EXECFD (1 << BINPRM_FLAGS_EXECFD_BIT) -#define BINPRM_MAX_RECURSION 4 - /* Function parameter for binfmt->coredump */ struct coredump_params { long signr; @@ -128,6 +126,7 @@ unsigned long stack_top, int executable_stack); extern int bprm_mm_init(struct linux_binprm *bprm); +extern int bprm_change_interp(char *interp, struct linux_binprm *bprm); extern int copy_strings_kernel(int argc, const char *const *argv, struct linux_binprm *bprm); extern int prepare_bprm_creds(struct linux_binprm *bprm); --- linux-lowlatency-3.5.0.orig/include/linux/clk-provider.h +++ linux-lowlatency-3.5.0/include/linux/clk-provider.h @@ -171,6 +171,8 @@ const char *parent_name, unsigned long flags, unsigned long fixed_rate); +void of_fixed_clk_setup(struct device_node *np); + /** * struct clk_gate - gating clock * @@ -334,5 +336,19 @@ void __clk_reparent(struct clk *clk, struct clk *new_parent); unsigned long __clk_round_rate(struct clk *clk, unsigned long rate); +struct of_device_id; + +typedef void (*of_clk_init_cb_t)(struct device_node *); + +int of_clk_add_provider(struct device_node *np, + struct clk *(*clk_src_get)(struct of_phandle_args *args, + void *data), + void *data); +void of_clk_del_provider(struct device_node *np); +struct clk *of_clk_src_simple_get(struct of_phandle_args *clkspec, + void *data); +const char *of_clk_get_parent_name(struct device_node *np, int index); +void of_clk_init(const struct of_device_id *matches); + #endif /* CONFIG_COMMON_CLK */ #endif /* CLK_PROVIDER_H */ --- linux-lowlatency-3.5.0.orig/include/linux/clk.h +++ linux-lowlatency-3.5.0/include/linux/clk.h @@ -310,4 +310,23 @@ int clk_add_alias(const char *alias, const char *alias_dev_name, char *id, struct device *dev); +struct device_node; +struct of_phandle_args; + +#ifdef CONFIG_OF +struct clk *of_clk_get(struct device_node *np, int index); +struct clk *of_clk_get_by_name(struct device_node *np, const char *name); +struct clk *of_clk_get_from_provider(struct of_phandle_args *clkspec); +#else +static inline struct clk *of_clk_get(struct device_node *np, int index) +{ + return NULL; +} +static inline struct clk *of_clk_get_by_name(struct device_node *np, + const char *name) +{ + return NULL; +} +#endif + #endif --- linux-lowlatency-3.5.0.orig/include/linux/cpu.h +++ linux-lowlatency-3.5.0/include/linux/cpu.h @@ -73,8 +73,9 @@ /* migration should happen before other stuff but after perf */ CPU_PRI_PERF = 20, CPU_PRI_MIGRATION = 10, - /* prepare workqueues for other notifiers */ - CPU_PRI_WORKQUEUE = 5, + /* bring up workqueues before normal notifiers and down after */ + CPU_PRI_WORKQUEUE_UP = 5, + CPU_PRI_WORKQUEUE_DOWN = -5, }; #define CPU_ONLINE 0x0002 /* CPU (unsigned)v is up */ --- linux-lowlatency-3.5.0.orig/include/linux/dcache.h +++ linux-lowlatency-3.5.0/include/linux/dcache.h @@ -206,6 +206,8 @@ #define DCACHE_MANAGED_DENTRY \ (DCACHE_MOUNTED|DCACHE_NEED_AUTOMOUNT|DCACHE_MANAGE_TRANSIT) +#define DCACHE_DENTRY_KILLED 0x100000 + extern seqlock_t rename_lock; static inline int dname_external(struct dentry *dentry) --- linux-lowlatency-3.5.0.orig/include/linux/dma-attrs.h +++ linux-lowlatency-3.5.0/include/linux/dma-attrs.h @@ -15,6 +15,8 @@ DMA_ATTR_WEAK_ORDERING, DMA_ATTR_WRITE_COMBINE, DMA_ATTR_NON_CONSISTENT, + DMA_ATTR_NO_KERNEL_MAPPING, + DMA_ATTR_SKIP_CPU_SYNC, DMA_ATTR_MAX, }; --- linux-lowlatency-3.5.0.orig/include/linux/dynamic_debug.h +++ linux-lowlatency-3.5.0/include/linux/dynamic_debug.h @@ -45,7 +45,7 @@ int __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...); extern int ddebug_dyndbg_module_param_cb(char *param, char *val, - const char *modname); + const char *modname, int all); struct device; @@ -106,7 +106,7 @@ } static inline int ddebug_dyndbg_module_param_cb(char *param, char *val, - const char *modname) + const char *modname, int all) { if (strstr(param, "dyndbg")) { /* avoid pr_warn(), which wants pr_fmt() fully defined */ @@ -114,7 +114,11 @@ "CONFIG_DYNAMIC_DEBUG builds\n"); return 0; /* allow and ignore */ } - return -EINVAL; + + if (!all) + return -EINVAL; + + return 0; } #define dynamic_pr_debug(fmt, ...) \ --- linux-lowlatency-3.5.0.orig/include/linux/efi.h +++ linux-lowlatency-3.5.0/include/linux/efi.h @@ -29,7 +29,12 @@ #define EFI_UNSUPPORTED ( 3 | (1UL << (BITS_PER_LONG-1))) #define EFI_BAD_BUFFER_SIZE ( 4 | (1UL << (BITS_PER_LONG-1))) #define EFI_BUFFER_TOO_SMALL ( 5 | (1UL << (BITS_PER_LONG-1))) +#define EFI_NOT_READY ( 6 | (1UL << (BITS_PER_LONG-1))) +#define EFI_DEVICE_ERROR ( 7 | (1UL << (BITS_PER_LONG-1))) +#define EFI_WRITE_PROTECTED ( 8 | (1UL << (BITS_PER_LONG-1))) +#define EFI_OUT_OF_RESOURCES ( 9 | (1UL << (BITS_PER_LONG-1))) #define EFI_NOT_FOUND (14 | (1UL << (BITS_PER_LONG-1))) +#define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1))) typedef unsigned long efi_status_t; typedef u8 efi_bool_t; @@ -496,6 +501,11 @@ extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg); extern void efi_gettimeofday (struct timespec *ts); extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if possible */ +#ifdef CONFIG_X86 +extern void efi_free_boot_services(void); +#else +static inline void efi_free_boot_services(void) {} +#endif extern u64 efi_get_iobase (void); extern u32 efi_mem_type (unsigned long phys_addr); extern u64 efi_mem_attributes (unsigned long phys_addr); @@ -649,6 +659,7 @@ spinlock_t lock; struct list_head list; struct kset *kset; + struct kobject *kobject; struct bin_attribute *new_var, *del_var; const struct efivar_operations *ops; struct efivar_entry *walk_entry; --- linux-lowlatency-3.5.0.orig/include/linux/fs.h +++ linux-lowlatency-3.5.0/include/linux/fs.h @@ -499,6 +499,12 @@ */ #include +/* + * Maximum number of layers of fs stack. Needs to be limited to + * prevent kernel stack overflow + */ +#define FILESYSTEM_MAX_STACK_DEPTH 2 + /** * enum positive_aop_returns - aop return codes with specific semantics * @@ -1542,6 +1548,11 @@ /* Being remounted read-only */ int s_readonly_remount; + + /* + * Indicates how deep in a filesystem stack this SB is + */ + int s_stack_depth; }; /* superblock cache pruning functions */ @@ -1693,6 +1704,8 @@ int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); int (*update_time)(struct inode *, struct timespec *, int); + struct file *(*open) (struct dentry *, struct file *, + const struct cred *); } ____cacheline_aligned; struct seq_file; @@ -2057,6 +2070,7 @@ extern struct file *filp_open(const char *, int, umode_t); extern struct file *file_open_root(struct dentry *, struct vfsmount *, const char *, int); +extern struct file *vfs_open(struct path *, struct file *, const struct cred *); extern struct file * dentry_open(struct dentry *, struct vfsmount *, int, const struct cred *); extern int filp_close(struct file *, fl_owner_t id); @@ -2249,6 +2263,7 @@ #endif extern int notify_change(struct dentry *, struct iattr *); extern int inode_permission(struct inode *, int); +extern int inode_only_permission(struct inode *, int); extern int generic_permission(struct inode *, int); static inline bool execute_ok(struct inode *inode) @@ -2591,6 +2606,7 @@ extern int inode_newsize_ok(const struct inode *, loff_t offset); extern void setattr_copy(struct inode *inode, const struct iattr *attr); +extern int update_time(struct inode *, struct timespec *, int); extern int file_update_time(struct file *file); extern int generic_show_options(struct seq_file *m, struct dentry *root); --- linux-lowlatency-3.5.0.orig/include/linux/fsnotify_backend.h +++ linux-lowlatency-3.5.0/include/linux/fsnotify_backend.h @@ -88,9 +88,10 @@ * if the group is interested in this event. * handle_event - main call for a group to handle an fs event * free_group_priv - called when a group refcnt hits 0 to clean up the private union - * freeing-mark - this means that a mark has been flagged to die when everything - * finishes using it. The function is supplied with what must be a - * valid group and inode to use to clean up. + * freeing_mark - called when a mark is being destroyed for some reason. The group + * MUST be holding a reference on each mark and that reference must be + * dropped in this function. inotify uses this function to send + * userspace messages that marks have been removed. */ struct fsnotify_ops { bool (*should_send_event)(struct fsnotify_group *group, struct inode *inode, @@ -141,7 +142,7 @@ unsigned int priority; /* stores all fastpath marks assoc with this group so they can be cleaned on unregister */ - spinlock_t mark_lock; /* protect marks_list */ + struct mutex mark_mutex; /* protect marks_list */ atomic_t num_marks; /* 1 for each mark and 1 for not being * past the point of no return when freeing * a group */ @@ -287,7 +288,6 @@ struct fsnotify_inode_mark i; struct fsnotify_vfsmount_mark m; }; - struct list_head free_g_list; /* tmp list used when freeing this mark */ __u32 ignored_mask; /* events types to ignore */ #define FSNOTIFY_MARK_FLAG_INODE 0x01 #define FSNOTIFY_MARK_FLAG_VFSMOUNT 0x02 @@ -360,8 +360,10 @@ /* called from fsnotify listeners, such as fanotify or dnotify */ -/* get a reference to an existing or create a new group */ +/* create a new group */ extern struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops); +/* get reference to a group */ +extern void fsnotify_get_group(struct fsnotify_group *group); /* drop reference on a group from fsnotify_alloc_group */ extern void fsnotify_put_group(struct fsnotify_group *group); @@ -405,8 +407,13 @@ /* attach the mark to both the group and the inode */ extern int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group, struct inode *inode, struct vfsmount *mnt, int allow_dups); -/* given a mark, flag it to be freed when all references are dropped */ -extern void fsnotify_destroy_mark(struct fsnotify_mark *mark); +extern int fsnotify_add_mark_locked(struct fsnotify_mark *mark, struct fsnotify_group *group, + struct inode *inode, struct vfsmount *mnt, int allow_dups); +/* given a group and a mark, flag mark to be freed when all references are dropped */ +extern void fsnotify_destroy_mark(struct fsnotify_mark *mark, + struct fsnotify_group *group); +extern void fsnotify_destroy_mark_locked(struct fsnotify_mark *mark, + struct fsnotify_group *group); /* run all the marks in a group, and clear all of the vfsmount marks */ extern void fsnotify_clear_vfsmount_marks_by_group(struct fsnotify_group *group); /* run all the marks in a group, and clear all of the inode marks */ --- linux-lowlatency-3.5.0.orig/include/linux/if_vlan.h +++ linux-lowlatency-3.5.0/include/linux/if_vlan.h @@ -82,6 +82,8 @@ } #define vlan_tx_tag_present(__skb) ((__skb)->vlan_tci & VLAN_TAG_PRESENT) +#define vlan_tx_nonzero_tag_present(__skb) \ + (vlan_tx_tag_present(__skb) && ((__skb)->vlan_tci & VLAN_VID_MASK)) #define vlan_tx_tag_get(__skb) ((__skb)->vlan_tci & ~VLAN_TAG_PRESENT) #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) @@ -91,7 +93,7 @@ extern struct net_device *vlan_dev_real_dev(const struct net_device *dev); extern u16 vlan_dev_vlan_id(const struct net_device *dev); -extern bool vlan_do_receive(struct sk_buff **skb, bool last_handler); +extern bool vlan_do_receive(struct sk_buff **skb); extern struct sk_buff *vlan_untag(struct sk_buff *skb); extern int vlan_vid_add(struct net_device *dev, unsigned short vid); @@ -120,10 +122,8 @@ return 0; } -static inline bool vlan_do_receive(struct sk_buff **skb, bool last_handler) +static inline bool vlan_do_receive(struct sk_buff **skb) { - if (((*skb)->vlan_tci & VLAN_VID_MASK) && last_handler) - (*skb)->pkt_type = PACKET_OTHERHOST; return false; } --- linux-lowlatency-3.5.0.orig/include/linux/init.h +++ linux-lowlatency-3.5.0/include/linux/init.h @@ -196,6 +196,7 @@ #define core_initcall(fn) __define_initcall("1",fn,1) #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) +#define earlyrootfs_initcall(fn) __define_initcall("earlyrootfs",fn,rootfs) #define postcore_initcall(fn) __define_initcall("2",fn,2) #define postcore_initcall_sync(fn) __define_initcall("2s",fn,2s) #define arch_initcall(fn) __define_initcall("3",fn,3) --- linux-lowlatency-3.5.0.orig/include/linux/init_task.h +++ linux-lowlatency-3.5.0/include/linux/init_task.h @@ -123,8 +123,17 @@ extern struct cred init_cred; +extern struct task_group root_task_group; + +#ifdef CONFIG_CGROUP_SCHED +# define INIT_CGROUP_SCHED(tsk) \ + .sched_task_group = &root_task_group, +#else +# define INIT_CGROUP_SCHED(tsk) +#endif + #ifdef CONFIG_PERF_EVENTS -# define INIT_PERF_EVENTS(tsk) \ +# define INIT_PERF_EVENTS(tsk) \ .perf_event_mutex = \ __MUTEX_INITIALIZER(tsk.perf_event_mutex), \ .perf_event_list = LIST_HEAD_INIT(tsk.perf_event_list), @@ -161,6 +170,7 @@ }, \ .tasks = LIST_HEAD_INIT(tsk.tasks), \ INIT_PUSHABLE_TASKS(tsk) \ + INIT_CGROUP_SCHED(tsk) \ .ptraced = LIST_HEAD_INIT(tsk.ptraced), \ .ptrace_entry = LIST_HEAD_INIT(tsk.ptrace_entry), \ .real_parent = &tsk, \ --- linux-lowlatency-3.5.0.orig/include/linux/irqdesc.h +++ linux-lowlatency-3.5.0/include/linux/irqdesc.h @@ -39,7 +39,6 @@ */ struct irq_desc { struct irq_data irq_data; - struct timer_rand_state *timer_rand_state; unsigned int __percpu *kstat_irqs; irq_flow_handler_t handle_irq; #ifdef CONFIG_IRQ_PREFLOW_FASTEOI --- linux-lowlatency-3.5.0.orig/include/linux/jbd2.h +++ linux-lowlatency-3.5.0/include/linux/jbd2.h @@ -1125,6 +1125,7 @@ extern int jbd2_journal_recover (journal_t *journal); extern int jbd2_journal_wipe (journal_t *, int); extern int jbd2_journal_skip_recovery (journal_t *); +extern void jbd2_journal_update_sb_errno(journal_t *); extern void jbd2_journal_update_sb_log_tail (journal_t *, tid_t, unsigned long, int); extern void __jbd2_journal_abort_hard (journal_t *); --- linux-lowlatency-3.5.0.orig/include/linux/kd.h +++ linux-lowlatency-3.5.0/include/linux/kd.h @@ -45,6 +45,7 @@ #define KD_GRAPHICS 0x01 #define KD_TEXT0 0x02 /* obsolete */ #define KD_TEXT1 0x03 /* obsolete */ +#define KD_TRANSPARENT 0x04 #define KDGETMODE 0x4B3B /* get current mode */ #define KDMAPDISP 0x4B3C /* map display into address space */ --- linux-lowlatency-3.5.0.orig/include/linux/kmod.h +++ linux-lowlatency-3.5.0/include/linux/kmod.h @@ -71,6 +71,8 @@ int (*init)(struct subprocess_info *info, struct cred *new), void (*cleanup)(struct subprocess_info *), void *data); +void populate_rootfs_wait(void); + static inline int call_usermodehelper(char *path, char **argv, char **envp, int wait) { --- linux-lowlatency-3.5.0.orig/include/linux/kobject.h +++ linux-lowlatency-3.5.0/include/linux/kobject.h @@ -224,7 +224,7 @@ static inline __printf(2, 3) int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...) -{ return 0; } +{ return -ENOMEM; } static inline int kobject_action_type(const char *buf, size_t count, enum kobject_action *type) --- linux-lowlatency-3.5.0.orig/include/linux/kthread.h +++ linux-lowlatency-3.5.0/include/linux/kthread.h @@ -49,8 +49,6 @@ * can be queued and flushed using queue/flush_kthread_work() * respectively. Queued kthread_works are processed by a kthread * running kthread_worker_fn(). - * - * A kthread_work can't be freed while it is executing. */ struct kthread_work; typedef void (*kthread_work_func_t)(struct kthread_work *work); @@ -59,15 +57,14 @@ spinlock_t lock; struct list_head work_list; struct task_struct *task; + struct kthread_work *current_work; }; struct kthread_work { struct list_head node; kthread_work_func_t func; wait_queue_head_t done; - atomic_t flushing; - int queue_seq; - int done_seq; + struct kthread_worker *worker; }; #define KTHREAD_WORKER_INIT(worker) { \ @@ -79,7 +76,6 @@ .node = LIST_HEAD_INIT((work).node), \ .func = (fn), \ .done = __WAIT_QUEUE_HEAD_INITIALIZER((work).done), \ - .flushing = ATOMIC_INIT(0), \ } #define DEFINE_KTHREAD_WORKER(worker) \ --- linux-lowlatency-3.5.0.orig/include/linux/ktime.h +++ linux-lowlatency-3.5.0/include/linux/ktime.h @@ -58,13 +58,6 @@ typedef union ktime ktime_t; /* Kill this */ -#define KTIME_MAX ((s64)~((u64)1 << 63)) -#if (BITS_PER_LONG == 64) -# define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) -#else -# define KTIME_SEC_MAX LONG_MAX -#endif - /* * ktime_t definitions when using the 64-bit scalar representation: */ --- linux-lowlatency-3.5.0.orig/include/linux/mISDNhw.h +++ linux-lowlatency-3.5.0/include/linux/mISDNhw.h @@ -183,7 +183,7 @@ unsigned short); extern int mISDN_freedchannel(struct dchannel *); extern void mISDN_clear_bchannel(struct bchannel *); -extern int mISDN_freebchannel(struct bchannel *); +extern void mISDN_freebchannel(struct bchannel *); extern int mISDN_ctrl_bchannel(struct bchannel *, struct mISDN_ctrl_req *); extern void queue_ch_frame(struct mISDNchannel *, u_int, int, struct sk_buff *); --- linux-lowlatency-3.5.0.orig/include/linux/memblock.h +++ linux-lowlatency-3.5.0/include/linux/memblock.h @@ -57,6 +57,7 @@ int memblock_remove(phys_addr_t base, phys_addr_t size); int memblock_free(phys_addr_t base, phys_addr_t size); int memblock_reserve(phys_addr_t base, phys_addr_t size); +void memblock_trim_memory(phys_addr_t align); #ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP void __next_mem_pfn_range(int *idx, int nid, unsigned long *out_start_pfn, --- linux-lowlatency-3.5.0.orig/include/linux/memory.h +++ linux-lowlatency-3.5.0/include/linux/memory.h @@ -19,7 +19,7 @@ #include #include -#define MIN_MEMORY_BLOCK_SIZE (1 << SECTION_SIZE_BITS) +#define MIN_MEMORY_BLOCK_SIZE (1UL << SECTION_SIZE_BITS) struct memory_block { unsigned long start_section_nr; --- linux-lowlatency-3.5.0.orig/include/linux/mempolicy.h +++ linux-lowlatency-3.5.0/include/linux/mempolicy.h @@ -137,16 +137,6 @@ __mpol_put(pol); } -extern struct mempolicy *__mpol_cond_copy(struct mempolicy *tompol, - struct mempolicy *frompol); -static inline struct mempolicy *mpol_cond_copy(struct mempolicy *tompol, - struct mempolicy *frompol) -{ - if (!frompol) - return frompol; - return __mpol_cond_copy(tompol, frompol); -} - extern struct mempolicy *__mpol_dup(struct mempolicy *pol); static inline struct mempolicy *mpol_dup(struct mempolicy *pol) { @@ -188,7 +178,7 @@ struct shared_policy { struct rb_root root; - spinlock_t lock; + struct mutex mutex; }; void mpol_shared_policy_init(struct shared_policy *sp, struct mempolicy *mpol); @@ -270,12 +260,6 @@ { } -static inline struct mempolicy *mpol_cond_copy(struct mempolicy *to, - struct mempolicy *from) -{ - return from; -} - static inline void mpol_get(struct mempolicy *pol) { } --- linux-lowlatency-3.5.0.orig/include/linux/mm.h +++ linux-lowlatency-3.5.0/include/linux/mm.h @@ -1591,6 +1591,7 @@ enum mf_flags { MF_COUNT_INCREASED = 1 << 0, MF_ACTION_REQUIRED = 1 << 1, + MF_MUST_KILL = 1 << 2, }; extern int memory_failure(unsigned long pfn, int trapno, int flags); extern void memory_failure_queue(unsigned long pfn, int trapno, int flags); --- linux-lowlatency-3.5.0.orig/include/linux/mmzone.h +++ linux-lowlatency-3.5.0/include/linux/mmzone.h @@ -732,7 +732,7 @@ unsigned long size, enum memmap_context context); -extern void lruvec_init(struct lruvec *lruvec, struct zone *zone); +extern void lruvec_init(struct lruvec *lruvec); static inline struct zone *lruvec_zone(struct lruvec *lruvec) { --- linux-lowlatency-3.5.0.orig/include/linux/moduleparam.h +++ linux-lowlatency-3.5.0/include/linux/moduleparam.h @@ -320,8 +320,8 @@ unsigned num, s16 level_min, s16 level_max, - int (*unknown)(char *param, char *val, - const char *doing)); + int (*handle_arg)(char *param, char *val, + const char *doing, int known)); /* Called by module remove. */ #ifdef CONFIG_SYSFS --- linux-lowlatency-3.5.0.orig/include/linux/mount.h +++ linux-lowlatency-3.5.0/include/linux/mount.h @@ -66,6 +66,9 @@ extern void mnt_unpin(struct vfsmount *mnt); extern int __mnt_is_readonly(struct vfsmount *mnt); +struct path; +extern struct vfsmount *clone_private_mount(struct path *path); + struct file_system_type; extern struct vfsmount *vfs_kern_mount(struct file_system_type *type, int flags, const char *name, --- linux-lowlatency-3.5.0.orig/include/linux/namei.h +++ linux-lowlatency-3.5.0/include/linux/namei.h @@ -85,6 +85,7 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, int (*open)(struct inode *, struct file *)); +extern struct dentry *lookup_hash(struct nameidata *nd); extern struct dentry *lookup_one_len(const char *, struct dentry *, int); extern int follow_down_one(struct path *); --- linux-lowlatency-3.5.0.orig/include/linux/net.h +++ linux-lowlatency-3.5.0/include/linux/net.h @@ -72,6 +72,7 @@ #define SOCK_NOSPACE 2 #define SOCK_PASSCRED 3 #define SOCK_PASSSEC 4 +#define SOCK_EXTERNALLY_ALLOCATED 5 #ifndef ARCH_HAS_SOCKET_TYPES /** --- linux-lowlatency-3.5.0.orig/include/linux/netdevice.h +++ linux-lowlatency-3.5.0/include/linux/netdevice.h @@ -1301,6 +1301,8 @@ /* for setting kernel sock attribute on TCP connection setup */ #define GSO_MAX_SIZE 65536 unsigned int gso_max_size; +#define GSO_MAX_SEGS 65535 + u16 gso_max_segs; #ifdef CONFIG_DCB /* Data Center Bridging netlink ops */ @@ -1518,6 +1520,8 @@ struct sk_buff **(*gro_receive)(struct sk_buff **head, struct sk_buff *skb); int (*gro_complete)(struct sk_buff *skb); + bool (*id_match)(struct packet_type *ptype, + struct sock *sk); void *af_packet_priv; struct list_head list; }; --- linux-lowlatency-3.5.0.orig/include/linux/netlink.h +++ linux-lowlatency-3.5.0/include/linux/netlink.h @@ -153,6 +153,7 @@ #include #include +#include struct net; @@ -226,6 +227,8 @@ struct netlink_callback *cb); int (*done)(struct netlink_callback *cb); void *data; + /* the module that dump function belong to */ + struct module *module; u16 family; u16 min_dump_alloc; unsigned int prev_seq, seq; @@ -251,14 +254,24 @@ struct netlink_dump_control { int (*dump)(struct sk_buff *skb, struct netlink_callback *); - int (*done)(struct netlink_callback*); + int (*done)(struct netlink_callback *); void *data; + struct module *module; u16 min_dump_alloc; }; -extern int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, - const struct nlmsghdr *nlh, - struct netlink_dump_control *control); +extern int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, + const struct nlmsghdr *nlh, + struct netlink_dump_control *control); +static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, + const struct nlmsghdr *nlh, + struct netlink_dump_control *control) +{ + if (!control->module) + control->module = THIS_MODULE; + + return __netlink_dump_start(ssk, skb, nlh, control); +} #define NL_NONROOT_RECV 0x1 --- linux-lowlatency-3.5.0.orig/include/linux/nfs_fs.h +++ linux-lowlatency-3.5.0/include/linux/nfs_fs.h @@ -265,11 +265,6 @@ return NFS_SERVER(inode)->nfs_client->rpc_ops; } -static inline __be32 *NFS_COOKIEVERF(const struct inode *inode) -{ - return NFS_I(inode)->cookieverf; -} - static inline unsigned NFS_MINATTRTIMEO(const struct inode *inode) { struct nfs_server *nfss = NFS_SERVER(inode); --- linux-lowlatency-3.5.0.orig/include/linux/page-flags.h +++ linux-lowlatency-3.5.0/include/linux/page-flags.h @@ -108,6 +108,7 @@ #ifdef CONFIG_TRANSPARENT_HUGEPAGE PG_compound_lock, #endif + PG_readaheadunused, /* user oriented readahead as yet unused*/ __NR_PAGEFLAGS, /* Filesystems */ @@ -231,6 +232,8 @@ PAGEFLAG(Reclaim, reclaim) TESTCLEARFLAG(Reclaim, reclaim) PAGEFLAG(Readahead, reclaim) /* Reminder to do async read-ahead */ +PAGEFLAG(ReadaheadUnused, readaheadunused) + #ifdef CONFIG_HIGHMEM /* * Must use a macro here due to header dependency issues. page_zone() is not --- linux-lowlatency-3.5.0.orig/include/linux/pci_ids.h +++ linux-lowlatency-3.5.0/include/linux/pci_ids.h @@ -752,6 +752,7 @@ #define PCI_DEVICE_ID_HP_CISSD 0x3238 #define PCI_DEVICE_ID_HP_CISSE 0x323a #define PCI_DEVICE_ID_HP_CISSF 0x323b +#define PCI_DEVICE_ID_HP_CISSH 0x323c #define PCI_DEVICE_ID_HP_ZX2_IOC 0x4031 #define PCI_VENDOR_ID_PCTECH 0x1042 @@ -1846,7 +1847,6 @@ #define PCI_DEVICE_ID_SIIG_8S_20x_650 0x2081 #define PCI_DEVICE_ID_SIIG_8S_20x_850 0x2082 #define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050 -#define PCI_SUBDEVICE_ID_SIIG_DUAL_SERIAL 0x2530 #define PCI_VENDOR_ID_RADISYS 0x1331 @@ -2148,7 +2148,7 @@ #define PCI_DEVICE_ID_TIGON3_5704S 0x16a8 #define PCI_DEVICE_ID_NX2_57800_VF 0x16a9 #define PCI_DEVICE_ID_NX2_5706S 0x16aa -#define PCI_DEVICE_ID_NX2_57840_MF 0x16ab +#define PCI_DEVICE_ID_NX2_57840_MF 0x16a4 #define PCI_DEVICE_ID_NX2_5708S 0x16ac #define PCI_DEVICE_ID_NX2_57840_VF 0x16ad #define PCI_DEVICE_ID_NX2_57810_MF 0x16ae --- linux-lowlatency-3.5.0.orig/include/linux/perf_event.h +++ linux-lowlatency-3.5.0/include/linux/perf_event.h @@ -274,6 +274,8 @@ __u64 branch_sample_type; /* enum branch_sample_type */ }; +#define perf_flags(attr) (*(&(attr)->read_format + 1)) + /* * Ioctls that can be done on a perf event fd: */ @@ -925,7 +927,7 @@ struct hw_perf_event hw; struct perf_event_context *ctx; - struct file *filp; + atomic_long_t refcount; /* * These accumulate total time (in nanoseconds) that children --- linux-lowlatency-3.5.0.orig/include/linux/posix_types.h +++ linux-lowlatency-3.5.0/include/linux/posix_types.h @@ -15,26 +15,14 @@ */ /* - * Those macros may have been defined in . But we always - * use the ones here. + * This macro may have been defined in . But we always + * use the one here. */ -#undef __NFDBITS -#define __NFDBITS (8 * sizeof(unsigned long)) - #undef __FD_SETSIZE #define __FD_SETSIZE 1024 -#undef __FDSET_LONGS -#define __FDSET_LONGS (__FD_SETSIZE/__NFDBITS) - -#undef __FDELT -#define __FDELT(d) ((d) / __NFDBITS) - -#undef __FDMASK -#define __FDMASK(d) (1UL << ((d) % __NFDBITS)) - typedef struct { - unsigned long fds_bits [__FDSET_LONGS]; + unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))]; } __kernel_fd_set; /* Type of a signal handler. */ --- linux-lowlatency-3.5.0.orig/include/linux/ptp_clock_kernel.h +++ linux-lowlatency-3.5.0/include/linux/ptp_clock_kernel.h @@ -50,7 +50,8 @@ * clock operations * * @adjfreq: Adjusts the frequency of the hardware clock. - * parameter delta: Desired period change in parts per billion. + * parameter delta: Desired frequency offset from nominal frequency + * in parts per billion * * @adjtime: Shifts the time of the hardware clock. * parameter delta: Desired change in nanoseconds. --- linux-lowlatency-3.5.0.orig/include/linux/random.h +++ linux-lowlatency-3.5.0/include/linux/random.h @@ -48,13 +48,13 @@ #ifdef __KERNEL__ -extern void rand_initialize_irq(int irq); - +extern void add_device_randomness(const void *, unsigned int); extern void add_input_randomness(unsigned int type, unsigned int code, unsigned int value); -extern void add_interrupt_randomness(int irq); +extern void add_interrupt_randomness(int irq, int irq_flags); extern void get_random_bytes(void *buf, int nbytes); +extern void get_random_bytes_arch(void *buf, int nbytes); void generate_random_uuid(unsigned char uuid_out[16]); #ifndef MODULE --- linux-lowlatency-3.5.0.orig/include/linux/sched.h +++ linux-lowlatency-3.5.0/include/linux/sched.h @@ -1244,6 +1244,9 @@ const struct sched_class *sched_class; struct sched_entity se; struct sched_rt_entity rt; +#ifdef CONFIG_CGROUP_SCHED + struct task_group *sched_task_group; +#endif #ifdef CONFIG_PREEMPT_NOTIFIERS /* list of struct preempt_notifier: */ @@ -2723,7 +2726,7 @@ extern long sched_group_rt_period(struct task_group *tg); extern int sched_rt_can_attach(struct task_group *tg, struct task_struct *tsk); #endif -#endif +#endif /* CONFIG_CGROUP_SCHED */ extern int task_can_switch_user(struct user_struct *up, struct task_struct *tsk); --- linux-lowlatency-3.5.0.orig/include/linux/screen_info.h +++ linux-lowlatency-3.5.0/include/linux/screen_info.h @@ -67,6 +67,7 @@ #define VIDEO_TYPE_EFI 0x70 /* EFI graphic mode */ #define VIDEO_FLAGS_NOCURSOR (1 << 0) /* The video mode has no cursor set */ +#define VIDEO_FLAGS_HANDOFF (1 << 1) /* Video buffer is alredy painted */ #ifdef __KERNEL__ extern struct screen_info screen_info; --- linux-lowlatency-3.5.0.orig/include/linux/security.h +++ linux-lowlatency-3.5.0/include/linux/security.h @@ -118,6 +118,7 @@ extern unsigned long mmap_min_addr; extern unsigned long dac_mmap_min_addr; #else +#define mmap_min_addr 0UL #define dac_mmap_min_addr 0UL #endif @@ -1242,8 +1243,6 @@ * Check that the @parent process has sufficient permission to trace the * current process before allowing the current process to present itself * to the @parent process for tracing. - * The parent process will still have to undergo the ptrace_access_check - * checks before it is allowed to trace this one. * @parent contains the task_struct structure for debugger process. * Return 0 if permission is granted. * @capget: @@ -3023,5 +3022,53 @@ { } #endif /* CONFIG_SECURITY */ +#ifdef CONFIG_SECURITY_YAMA +extern int yama_ptrace_access_check(struct task_struct *child, + unsigned int mode); +extern int yama_ptrace_traceme(struct task_struct *parent); +extern int yama_path_link(struct dentry *old_dentry, struct path *new_dir, + struct dentry *new_dentry); +extern int yama_inode_follow_link(struct dentry *dentry, + struct nameidata *nameidata); +extern void yama_task_free(struct task_struct *task); +extern int yama_task_prctl(int option, unsigned long arg2, unsigned long arg3, + unsigned long arg4, unsigned long arg5); +#else +static inline int yama_ptrace_access_check(struct task_struct *child, + unsigned int mode) +{ + return 0; +} + +static inline int yama_ptrace_traceme(struct task_struct *parent) +{ + return 0; +} + +static inline int yama_path_link(struct dentry *old_dentry, + struct path *new_dir, + struct dentry *new_dentry) +{ + return 0; +} + +static inline int yama_inode_follow_link(struct dentry *dentry, + struct nameidata *nameidata) +{ + return 0; +} + +static inline void yama_task_free(struct task_struct *task) +{ +} + +static inline int yama_task_prctl(int option, unsigned long arg2, + unsigned long arg3, unsigned long arg4, + unsigned long arg5) +{ + return -ENOSYS; +} +#endif /* CONFIG_SECURITY_YAMA */ + #endif /* ! __LINUX_SECURITY_H */ --- linux-lowlatency-3.5.0.orig/include/linux/skbuff.h +++ linux-lowlatency-3.5.0/include/linux/skbuff.h @@ -579,9 +579,6 @@ return __alloc_skb(size, priority, 1, NUMA_NO_NODE); } -extern void skb_recycle(struct sk_buff *skb); -extern bool skb_recycle_check(struct sk_buff *skb, int skb_size); - extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); extern int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask); extern struct sk_buff *skb_clone(struct sk_buff *skb, @@ -2550,27 +2547,6 @@ bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off); -static inline bool skb_is_recycleable(const struct sk_buff *skb, int skb_size) -{ - if (irqs_disabled()) - return false; - - if (skb_shinfo(skb)->tx_flags & SKBTX_DEV_ZEROCOPY) - return false; - - if (skb_is_nonlinear(skb) || skb->fclone != SKB_FCLONE_UNAVAILABLE) - return false; - - skb_size = SKB_DATA_ALIGN(skb_size + NET_SKB_PAD); - if (skb_end_offset(skb) < skb_size) - return false; - - if (skb_shared(skb) || skb_cloned(skb)) - return false; - - return true; -} - /** * skb_head_is_locked - Determine if the skb->head is locked down * @skb: skb to check --- linux-lowlatency-3.5.0.orig/include/linux/splice.h +++ linux-lowlatency-3.5.0/include/linux/splice.h @@ -91,4 +91,10 @@ extern void spd_release_page(struct splice_pipe_desc *, unsigned int); extern const struct pipe_buf_operations page_cache_pipe_buf_ops; + +extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags); +extern long do_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags); #endif --- linux-lowlatency-3.5.0.orig/include/linux/time.h +++ linux-lowlatency-3.5.0/include/linux/time.h @@ -107,11 +107,36 @@ return ts_delta; } +#define KTIME_MAX ((s64)~((u64)1 << 63)) +#if (BITS_PER_LONG == 64) +# define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) +#else +# define KTIME_SEC_MAX LONG_MAX +#endif + /* * Returns true if the timespec is norm, false if denorm: */ -#define timespec_valid(ts) \ - (((ts)->tv_sec >= 0) && (((unsigned long) (ts)->tv_nsec) < NSEC_PER_SEC)) +static inline bool timespec_valid(const struct timespec *ts) +{ + /* Dates before 1970 are bogus */ + if (ts->tv_sec < 0) + return false; + /* Can't have more nanoseconds then a second */ + if ((unsigned long)ts->tv_nsec >= NSEC_PER_SEC) + return false; + return true; +} + +static inline bool timespec_valid_strict(const struct timespec *ts) +{ + if (!timespec_valid(ts)) + return false; + /* Disallow values that could overflow ktime_t */ + if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX) + return false; + return true; +} extern void read_persistent_clock(struct timespec *ts); extern void read_boot_clock(struct timespec *ts); @@ -257,14 +282,6 @@ #endif /* __KERNEL__ */ -#define NFDBITS __NFDBITS - -#define FD_SETSIZE __FD_SETSIZE -#define FD_SET(fd,fdsetp) __FD_SET(fd,fdsetp) -#define FD_CLR(fd,fdsetp) __FD_CLR(fd,fdsetp) -#define FD_ISSET(fd,fdsetp) __FD_ISSET(fd,fdsetp) -#define FD_ZERO(fdsetp) __FD_ZERO(fdsetp) - /* * Names of the interval timers, and structure * defining a timer setting: --- linux-lowlatency-3.5.0.orig/include/linux/usb.h +++ linux-lowlatency-3.5.0/include/linux/usb.h @@ -556,7 +556,6 @@ struct usb3_lpm_parameters u1_params; struct usb3_lpm_parameters u2_params; unsigned lpm_disable_count; - unsigned hub_initiated_lpm_disable_count; }; #define to_usb_device(d) container_of(d, struct usb_device, dev) @@ -629,6 +628,9 @@ extern int usb_unlocked_disable_lpm(struct usb_device *udev); extern void usb_unlocked_enable_lpm(struct usb_device *udev); +extern int usb_disable_ltm(struct usb_device *udev); +extern void usb_enable_ltm(struct usb_device *udev); + /*-------------------------------------------------------------------------*/ /* for drivers using iso endpoints */ @@ -829,6 +831,27 @@ .bInterfaceSubClass = (sc), \ .bInterfaceProtocol = (pr) +/** + * USB_VENDOR_AND_INTERFACE_INFO - describe a specific usb vendor with a class of usb interfaces + * @vend: the 16 bit USB Vendor ID + * @cl: bInterfaceClass value + * @sc: bInterfaceSubClass value + * @pr: bInterfaceProtocol value + * + * This macro is used to create a struct usb_device_id that matches a + * specific vendor with a specific class of interfaces. + * + * This is especially useful when explicitly matching devices that have + * vendor specific bDeviceClass values, but standards-compliant interfaces. + */ +#define USB_VENDOR_AND_INTERFACE_INFO(vend, cl, sc, pr) \ + .match_flags = USB_DEVICE_ID_MATCH_INT_INFO \ + | USB_DEVICE_ID_MATCH_VENDOR, \ + .idVendor = (vend), \ + .bInterfaceClass = (cl), \ + .bInterfaceSubClass = (sc), \ + .bInterfaceProtocol = (pr) + /* ----------------------------------------------------------------------- */ /* Stuff for dynamic usb ids */ --- linux-lowlatency-3.5.0.orig/include/linux/vt_kern.h +++ linux-lowlatency-3.5.0/include/linux/vt_kern.h @@ -129,7 +129,7 @@ void vt_event_post(unsigned int event, unsigned int old, unsigned int new); int vt_waitactive(int n); void change_console(struct vc_data *new_vc); -void reset_vc(struct vc_data *vc); +void reset_vc(struct vc_data *vc, int mode); extern int unbind_con_driver(const struct consw *csw, int first, int last, int deflt); int vty_init(const struct file_operations *console_fops); --- linux-lowlatency-3.5.0.orig/include/linux/xfrm.h +++ linux-lowlatency-3.5.0/include/linux/xfrm.h @@ -84,6 +84,8 @@ __u32 bitmap; }; +#define XFRMA_REPLAY_ESN_MAX 4096 + struct xfrm_replay_state_esn { unsigned int bmp_len; __u32 oseq; --- linux-lowlatency-3.5.0.orig/include/linux/ceph/libceph.h +++ linux-lowlatency-3.5.0/include/linux/ceph/libceph.h @@ -132,7 +132,7 @@ u32 supported_features; u32 required_features; - struct ceph_messenger *msgr; /* messenger instance */ + struct ceph_messenger msgr; /* messenger instance */ struct ceph_mon_client monc; struct ceph_osd_client osdc; --- linux-lowlatency-3.5.0.orig/include/linux/ceph/messenger.h +++ linux-lowlatency-3.5.0/include/linux/ceph/messenger.h @@ -31,9 +31,6 @@ int (*verify_authorizer_reply) (struct ceph_connection *con, int len); int (*invalidate_authorizer)(struct ceph_connection *con); - /* protocol version mismatch */ - void (*bad_proto) (struct ceph_connection *con); - /* there was some error on the socket (disconnect, whatever) */ void (*fault) (struct ceph_connection *con); @@ -53,6 +50,7 @@ struct ceph_entity_inst inst; /* my name+address */ struct ceph_entity_addr my_enc_addr; + atomic_t stopping; bool nocrc; /* @@ -80,7 +78,10 @@ unsigned nr_pages; /* size of page array */ unsigned page_alignment; /* io offset in first page */ struct ceph_pagelist *pagelist; /* instead of pages */ + + struct ceph_connection *con; struct list_head list_head; + struct kref kref; struct bio *bio; /* instead of pages/pagelist */ struct bio *bio_iter; /* bio iterator */ @@ -106,23 +107,6 @@ #define MAX_DELAY_INTERVAL (5 * 60 * HZ) /* - * ceph_connection state bit flags - */ -#define LOSSYTX 0 /* we can close channel or drop messages on errors */ -#define CONNECTING 1 -#define NEGOTIATING 2 -#define KEEPALIVE_PENDING 3 -#define WRITE_PENDING 4 /* we have data ready to send */ -#define STANDBY 8 /* no outgoing messages, socket closed. we keep - * the ceph_connection around to maintain shared - * state with the peer. */ -#define CLOSED 10 /* we've closed the connection */ -#define SOCK_CLOSED 11 /* socket state changed to closed */ -#define OPENING 13 /* open connection w/ (possibly new) peer */ -#define DEAD 14 /* dead, about to kfree */ -#define BACKOFF 15 - -/* * A single connection with another host. * * We maintain a queue of outgoing messages, and some session state to @@ -131,18 +115,22 @@ */ struct ceph_connection { void *private; - atomic_t nref; const struct ceph_connection_operations *ops; struct ceph_messenger *msgr; + + atomic_t sock_state; struct socket *sock; - unsigned long state; /* connection state (see flags above) */ + struct ceph_entity_addr peer_addr; /* peer address */ + struct ceph_entity_addr peer_addr_for_me; + + unsigned long flags; + unsigned long state; const char *error_msg; /* error message, if any */ - struct ceph_entity_addr peer_addr; /* peer address */ struct ceph_entity_name peer_name; /* peer name */ - struct ceph_entity_addr peer_addr_for_me; + unsigned peer_features; u32 connect_seq; /* identify the most recent connection attempt for this connection, client */ @@ -207,24 +195,26 @@ extern void ceph_msgr_exit(void); extern void ceph_msgr_flush(void); -extern struct ceph_messenger *ceph_messenger_create( - struct ceph_entity_addr *myaddr, - u32 features, u32 required); -extern void ceph_messenger_destroy(struct ceph_messenger *); - -extern void ceph_con_init(struct ceph_messenger *msgr, - struct ceph_connection *con); +extern void ceph_messenger_init(struct ceph_messenger *msgr, + struct ceph_entity_addr *myaddr, + u32 supported_features, + u32 required_features, + bool nocrc); + +extern void ceph_con_init(struct ceph_connection *con, void *private, + const struct ceph_connection_operations *ops, + struct ceph_messenger *msgr); extern void ceph_con_open(struct ceph_connection *con, + __u8 entity_type, __u64 entity_num, struct ceph_entity_addr *addr); extern bool ceph_con_opened(struct ceph_connection *con); extern void ceph_con_close(struct ceph_connection *con); extern void ceph_con_send(struct ceph_connection *con, struct ceph_msg *msg); -extern void ceph_con_revoke(struct ceph_connection *con, struct ceph_msg *msg); -extern void ceph_con_revoke_message(struct ceph_connection *con, - struct ceph_msg *msg); + +extern void ceph_msg_revoke(struct ceph_msg *msg); +extern void ceph_msg_revoke_incoming(struct ceph_msg *msg); + extern void ceph_con_keepalive(struct ceph_connection *con); -extern struct ceph_connection *ceph_con_get(struct ceph_connection *con); -extern void ceph_con_put(struct ceph_connection *con); extern struct ceph_msg *ceph_msg_new(int type, int front_len, gfp_t flags, bool can_fail); --- linux-lowlatency-3.5.0.orig/include/linux/ceph/mon_client.h +++ linux-lowlatency-3.5.0/include/linux/ceph/mon_client.h @@ -70,7 +70,7 @@ bool hunting; int cur_mon; /* last monitor i contacted */ unsigned long sub_sent, sub_renew_after; - struct ceph_connection *con; + struct ceph_connection con; bool have_fsid; /* pending generic requests */ --- linux-lowlatency-3.5.0.orig/include/linux/ceph/msgpool.h +++ linux-lowlatency-3.5.0/include/linux/ceph/msgpool.h @@ -11,10 +11,11 @@ struct ceph_msgpool { const char *name; mempool_t *pool; + int type; /* preallocated message type */ int front_len; /* preallocated payload size */ }; -extern int ceph_msgpool_init(struct ceph_msgpool *pool, +extern int ceph_msgpool_init(struct ceph_msgpool *pool, int type, int front_len, int size, bool blocking, const char *name); extern void ceph_msgpool_destroy(struct ceph_msgpool *pool); --- linux-lowlatency-3.5.0.orig/include/linux/ceph/osd_client.h +++ linux-lowlatency-3.5.0/include/linux/ceph/osd_client.h @@ -207,7 +207,7 @@ extern void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg); -extern void ceph_calc_raw_layout(struct ceph_osd_client *osdc, +extern int ceph_calc_raw_layout(struct ceph_osd_client *osdc, struct ceph_file_layout *layout, u64 snapid, u64 off, u64 *plen, u64 *bno, --- linux-lowlatency-3.5.0.orig/include/linux/ceph/osdmap.h +++ linux-lowlatency-3.5.0/include/linux/ceph/osdmap.h @@ -109,9 +109,9 @@ extern void ceph_osdmap_destroy(struct ceph_osdmap *map); /* calculate mapping of a file extent to an object */ -extern void ceph_calc_file_object_mapping(struct ceph_file_layout *layout, - u64 off, u64 *plen, - u64 *bno, u64 *oxoff, u64 *oxlen); +extern int ceph_calc_file_object_mapping(struct ceph_file_layout *layout, + u64 off, u64 *plen, + u64 *bno, u64 *oxoff, u64 *oxlen); /* calculate mapping of object to a placement group */ extern int ceph_calc_object_layout(struct ceph_object_layout *ol, --- linux-lowlatency-3.5.0.orig/include/linux/input/eeti_ts.h +++ linux-lowlatency-3.5.0/include/linux/input/eeti_ts.h @@ -2,6 +2,7 @@ #define LINUX_INPUT_EETI_TS_H struct eeti_ts_platform_data { + int irq_gpio; unsigned int irq_active_high; }; --- linux-lowlatency-3.5.0.orig/include/linux/mfd/ezx-pcap.h +++ linux-lowlatency-3.5.0/include/linux/mfd/ezx-pcap.h @@ -16,6 +16,7 @@ struct pcap_platform_data { unsigned int irq_base; unsigned int config; + int gpio; void (*init) (void *); /* board specific init */ int num_subdevs; struct pcap_subdev *subdevs; --- linux-lowlatency-3.5.0.orig/include/linux/mmc/card.h +++ linux-lowlatency-3.5.0/include/linux/mmc/card.h @@ -238,6 +238,7 @@ #define MMC_QUIRK_BLK_NO_CMD23 (1<<7) /* Avoid CMD23 for regular multiblock */ #define MMC_QUIRK_BROKEN_BYTE_MODE_512 (1<<8) /* Avoid sending 512 bytes in */ #define MMC_QUIRK_LONG_READ_TIME (1<<9) /* Data read time > CSD says */ +#define MMC_QUIRK_SEC_ERASE_TRIM_BROKEN (1<<10) /* Skip secure for erase/trim */ /* byte mode */ unsigned int poweroff_notify_state; /* eMMC4.5 notify feature */ #define MMC_NO_POWER_NOTIFICATION 0 --- linux-lowlatency-3.5.0.orig/include/linux/mtd/nand.h +++ linux-lowlatency-3.5.0/include/linux/mtd/nand.h @@ -212,9 +212,6 @@ #define NAND_SUBPAGE_READ(chip) ((chip->ecc.mode == NAND_ECC_SOFT) \ && (chip->page_shift > 9)) -/* Mask to zero out the chip options, which come from the id table */ -#define NAND_CHIPOPTIONS_MSK 0x0000ffff - /* Non chip related options */ /* This option skips the bbt scan during initialization. */ #define NAND_SKIP_BBTSCAN 0x00010000 --- linux-lowlatency-3.5.0.orig/include/linux/sunrpc/xprt.h +++ linux-lowlatency-3.5.0/include/linux/sunrpc/xprt.h @@ -114,6 +114,7 @@ void (*set_buffer_size)(struct rpc_xprt *xprt, size_t sndsize, size_t rcvsize); int (*reserve_xprt)(struct rpc_xprt *xprt, struct rpc_task *task); void (*release_xprt)(struct rpc_xprt *xprt, struct rpc_task *task); + void (*alloc_slot)(struct rpc_xprt *xprt, struct rpc_task *task); void (*rpcbind)(struct rpc_task *task); void (*set_port)(struct rpc_xprt *xprt, unsigned short port); void (*connect)(struct rpc_task *task); @@ -279,6 +280,8 @@ void xprt_reserve(struct rpc_task *task); int xprt_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task); int xprt_reserve_xprt_cong(struct rpc_xprt *xprt, struct rpc_task *task); +void xprt_alloc_slot(struct rpc_xprt *xprt, struct rpc_task *task); +void xprt_lock_and_alloc_slot(struct rpc_xprt *xprt, struct rpc_task *task); int xprt_prepare_transmit(struct rpc_task *task); void xprt_transmit(struct rpc_task *task); void xprt_end_transmit(struct rpc_task *task); --- linux-lowlatency-3.5.0.orig/include/net/cfg80211.h +++ linux-lowlatency-3.5.0/include/net/cfg80211.h @@ -94,6 +94,7 @@ * is not permitted. * @IEEE80211_CHAN_NO_HT40MINUS: extension channel below this channel * is not permitted. + * @IEEE80211_CHAN_NO_OFDM: OFDM is not allowed on this channel. */ enum ieee80211_channel_flags { IEEE80211_CHAN_DISABLED = 1<<0, @@ -102,6 +103,7 @@ IEEE80211_CHAN_RADAR = 1<<3, IEEE80211_CHAN_NO_HT40PLUS = 1<<4, IEEE80211_CHAN_NO_HT40MINUS = 1<<5, + IEEE80211_CHAN_NO_OFDM = 1<<6, }; #define IEEE80211_CHAN_NO_HT40 \ @@ -1130,6 +1132,7 @@ const u8 *ie; size_t ie_len; u16 reason_code; + bool local_state_change; }; /** @@ -2507,6 +2510,15 @@ unsigned int __attribute_const__ ieee80211_hdrlen(__le16 fc); /** + * ieee80211_get_mesh_hdrlen - get mesh extension header length + * @meshhdr: the mesh extension header, only the flags field + * (first byte) will be accessed + * Returns the length of the extension header, which is always at + * least 6 bytes and at most 18 if address 5 and 6 are present. + */ +unsigned int ieee80211_get_mesh_hdrlen(struct ieee80211s_hdr *meshhdr); + +/** * DOC: Data path helpers * * In addition to generic utilities, cfg80211 also offers --- linux-lowlatency-3.5.0.orig/include/net/scm.h +++ linux-lowlatency-3.5.0/include/net/scm.h @@ -71,9 +71,11 @@ } static __inline__ int scm_send(struct socket *sock, struct msghdr *msg, - struct scm_cookie *scm) + struct scm_cookie *scm, bool forcecreds) { memset(scm, 0, sizeof(*scm)); + if (forcecreds) + scm_set_cred(scm, task_tgid(current), current_cred()); unix_get_peersec_dgram(sock, scm); if (msg->msg_controllen <= 0) return 0; --- linux-lowlatency-3.5.0.orig/include/net/sock.h +++ linux-lowlatency-3.5.0/include/net/sock.h @@ -217,6 +217,7 @@ * @sk_route_nocaps: forbidden route capabilities (e.g NETIF_F_GSO_MASK) * @sk_gso_type: GSO type (e.g. %SKB_GSO_TCPV4) * @sk_gso_max_size: Maximum GSO segment size to build + * @sk_gso_max_segs: Maximum number of GSO segments * @sk_lingertime: %SO_LINGER l_linger setting * @sk_backlog: always used with the per-socket spinlock held * @sk_callback_lock: used with the callbacks in the end of this struct @@ -336,6 +337,7 @@ netdev_features_t sk_route_nocaps; int sk_gso_type; unsigned int sk_gso_max_size; + u16 sk_gso_max_segs; int sk_rcvlowat; unsigned long sk_lingertime; struct sk_buff_head sk_error_queue; --- linux-lowlatency-3.5.0.orig/include/net/xfrm.h +++ linux-lowlatency-3.5.0/include/net/xfrm.h @@ -269,6 +269,9 @@ int (*check)(struct xfrm_state *x, struct sk_buff *skb, __be32 net_seq); + int (*recheck)(struct xfrm_state *x, + struct sk_buff *skb, + __be32 net_seq); void (*notify)(struct xfrm_state *x, int event); int (*overflow)(struct xfrm_state *x, struct sk_buff *skb); }; --- linux-lowlatency-3.5.0.orig/include/net/codel.h +++ linux-lowlatency-3.5.0/include/net/codel.h @@ -305,6 +305,8 @@ } } } else if (drop) { + u32 delta; + if (params->ecn && INET_ECN_set_ce(skb)) { stats->ecn_mark++; } else { @@ -320,9 +322,11 @@ * assume that the drop rate that controlled the queue on the * last cycle is a good starting point to control it now. */ - if (codel_time_before(now - vars->drop_next, + delta = vars->count - vars->lastcount; + if (delta > 1 && + codel_time_before(now - vars->drop_next, 16 * params->interval)) { - vars->count = (vars->count - vars->lastcount) | 1; + vars->count = delta; /* we dont care if rec_inv_sqrt approximation * is not very precise : * Next Newton steps will correct it quadratically. --- linux-lowlatency-3.5.0.orig/include/net/bluetooth/hci_core.h +++ linux-lowlatency-3.5.0/include/net/bluetooth/hci_core.h @@ -282,6 +282,7 @@ int (*send)(struct sk_buff *skb); void (*notify)(struct hci_dev *hdev, unsigned int evt); int (*ioctl)(struct hci_dev *hdev, unsigned int cmd, unsigned long arg); + void (*load_firmware)(struct hci_dev *hdev); }; struct hci_conn { --- linux-lowlatency-3.5.0.orig/include/net/bluetooth/smp.h +++ linux-lowlatency-3.5.0/include/net/bluetooth/smp.h @@ -136,7 +136,7 @@ }; /* SMP Commands */ -int smp_conn_security(struct l2cap_conn *conn, __u8 sec_level); +int smp_conn_security(struct hci_conn *hcon, __u8 sec_level); int smp_sig_channel(struct l2cap_conn *conn, struct sk_buff *skb); int smp_distribute_keys(struct l2cap_conn *conn, __u8 force); int smp_user_confirm_reply(struct hci_conn *conn, u16 mgmt_op, __le32 passkey); --- linux-lowlatency-3.5.0.orig/include/net/netfilter/nf_conntrack_ecache.h +++ linux-lowlatency-3.5.0/include/net/netfilter/nf_conntrack_ecache.h @@ -18,6 +18,7 @@ u16 ctmask; /* bitmask of ct events to be delivered */ u16 expmask; /* bitmask of expect events to be delivered */ u32 pid; /* netlink pid of destroyer */ + struct timer_list timeout; }; static inline struct nf_conntrack_ecache * --- linux-lowlatency-3.5.0.orig/include/rdma/rdma_netlink.h +++ linux-lowlatency-3.5.0/include/rdma/rdma_netlink.h @@ -39,6 +39,7 @@ struct ibnl_client_cbs { int (*dump)(struct sk_buff *skb, struct netlink_callback *nlcb); + struct module *module; }; int ibnl_init(void); --- linux-lowlatency-3.5.0.orig/include/sound/core.h +++ linux-lowlatency-3.5.0/include/sound/core.h @@ -132,6 +132,7 @@ int shutdown; /* this card is going down */ int free_on_last_close; /* free in context of file_release */ wait_queue_head_t shutdown_sleep; + atomic_t refcount; /* refcount for disconnection */ struct device *dev; /* device assigned to this card */ struct device *card_dev; /* cardX object for sysfs */ @@ -189,6 +190,7 @@ const struct file_operations *f_ops; /* file operations */ void *private_data; /* private data for f_ops->open */ struct device *dev; /* device for sysfs */ + struct snd_card *card_ptr; /* assigned card instance */ }; /* return a device pointer linked to each sound device as a parent */ @@ -295,6 +297,7 @@ int snd_component_add(struct snd_card *card, const char *component); int snd_card_file_add(struct snd_card *card, struct file *file); int snd_card_file_remove(struct snd_card *card, struct file *file); +void snd_card_unref(struct snd_card *card); #define snd_card_set_dev(card, devptr) ((card)->dev = (devptr)) --- linux-lowlatency-3.5.0.orig/include/target/target_core_base.h +++ linux-lowlatency-3.5.0/include/target/target_core_base.h @@ -220,6 +220,7 @@ TCM_CHECK_CONDITION_UNIT_ATTENTION = 0x0e, TCM_CHECK_CONDITION_NOT_READY = 0x0f, TCM_RESERVATION_CONFLICT = 0x10, + TCM_ADDRESS_OUT_OF_RANGE = 0x11, }; enum target_sc_flags_table { --- linux-lowlatency-3.5.0.orig/include/trace/events/fs.h +++ linux-lowlatency-3.5.0/include/trace/events/fs.h @@ -0,0 +1,53 @@ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM fs + +#if !defined(_TRACE_FS_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_FS_H + +#include +#include + +TRACE_EVENT(do_sys_open, + + TP_PROTO(char *filename, int flags, int mode), + + TP_ARGS(filename, flags, mode), + + TP_STRUCT__entry( + __string( filename, filename ) + __field( int, flags ) + __field( int, mode ) + ), + + TP_fast_assign( + __assign_str(filename, filename); + __entry->flags = flags; + __entry->mode = mode; + ), + + TP_printk("\"%s\" %x %o", + __get_str(filename), __entry->flags, __entry->mode) +); + +TRACE_EVENT(open_exec, + + TP_PROTO(char *filename), + + TP_ARGS(filename), + + TP_STRUCT__entry( + __string( filename, filename ) + ), + + TP_fast_assign( + __assign_str(filename, filename); + ), + + TP_printk("\"%s\"", + __get_str(filename)) +); + +#endif /* _TRACE_FS_H */ + +/* This part must be outside protection */ +#include --- linux-lowlatency-3.5.0.orig/include/trace/events/kmem.h +++ linux-lowlatency-3.5.0/include/trace/events/kmem.h @@ -214,7 +214,7 @@ TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s", __entry->page, - page_to_pfn(__entry->page), + __entry->page ? page_to_pfn(__entry->page) : 0, __entry->order, __entry->migratetype, show_gfp_flags(__entry->gfp_flags)) @@ -240,7 +240,7 @@ TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d", __entry->page, - page_to_pfn(__entry->page), + __entry->page ? page_to_pfn(__entry->page) : 0, __entry->order, __entry->migratetype, __entry->order == 0) --- linux-lowlatency-3.5.0.orig/include/trace/events/vfs.h +++ linux-lowlatency-3.5.0/include/trace/events/vfs.h @@ -0,0 +1,55 @@ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM vfs + +#include + +#if !defined(_TRACE_VFS_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_VFS_H + +/* + * Tracepoint for dirtying an inode: + */ +TRACE_EVENT(dirty_inode, + + TP_PROTO(struct inode *inode, struct task_struct *task), + + TP_ARGS(inode, task), + + TP_STRUCT__entry( + __array( char, comm, TASK_COMM_LEN ) + __field( pid_t, pid ) + __array( char, dev, 16 ) + __array( char, file, 32 ) + ), + + TP_fast_assign( + if (inode->i_ino || strcmp(inode->i_sb->s_id, "bdev")) { + struct dentry *dentry; + const char *name = "?"; + + dentry = d_find_alias(inode); + if (dentry) { + spin_lock(&dentry->d_lock); + name = (const char *) dentry->d_name.name; + } + + memcpy(__entry->comm, task->comm, TASK_COMM_LEN); + __entry->pid = task->pid; + strlcpy(__entry->file, name, 32); + strlcpy(__entry->dev, inode->i_sb->s_id, 16); + + if (dentry) { + spin_unlock(&dentry->d_lock); + dput(dentry); + } + } + ), + + TP_printk("task=%i (%s) file=%s dev=%s", + __entry->pid, __entry->comm, __entry->file, __entry->dev) +); + +#endif /* _TRACE_VFS_H */ + +/* This part must be outside protection */ +#include --- linux-lowlatency-3.5.0.orig/include/trace/events/xen.h +++ linux-lowlatency-3.5.0/include/trace/events/xen.h @@ -377,6 +377,14 @@ DEFINE_XEN_MMU_PGD_EVENT(xen_mmu_pgd_pin); DEFINE_XEN_MMU_PGD_EVENT(xen_mmu_pgd_unpin); +TRACE_EVENT(xen_mmu_flush_tlb_all, + TP_PROTO(int x), + TP_ARGS(x), + TP_STRUCT__entry(__array(char, x, 0)), + TP_fast_assign((void)x), + TP_printk("%s", "") + ); + TRACE_EVENT(xen_mmu_flush_tlb, TP_PROTO(int x), TP_ARGS(x), --- linux-lowlatency-3.5.0.orig/include/trace/events/random.h +++ linux-lowlatency-3.5.0/include/trace/events/random.h @@ -0,0 +1,134 @@ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM random + +#if !defined(_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_RANDOM_H + +#include +#include + +DECLARE_EVENT_CLASS(random__mix_pool_bytes, + TP_PROTO(const char *pool_name, int bytes, unsigned long IP), + + TP_ARGS(pool_name, bytes, IP), + + TP_STRUCT__entry( + __field( const char *, pool_name ) + __field( int, bytes ) + __field(unsigned long, IP ) + ), + + TP_fast_assign( + __entry->pool_name = pool_name; + __entry->bytes = bytes; + __entry->IP = IP; + ), + + TP_printk("%s pool: bytes %d caller %pF", + __entry->pool_name, __entry->bytes, (void *)__entry->IP) +); + +DEFINE_EVENT(random__mix_pool_bytes, mix_pool_bytes, + TP_PROTO(const char *pool_name, int bytes, unsigned long IP), + + TP_ARGS(pool_name, bytes, IP) +); + +DEFINE_EVENT(random__mix_pool_bytes, mix_pool_bytes_nolock, + TP_PROTO(const char *pool_name, int bytes, unsigned long IP), + + TP_ARGS(pool_name, bytes, IP) +); + +TRACE_EVENT(credit_entropy_bits, + TP_PROTO(const char *pool_name, int bits, int entropy_count, + int entropy_total, unsigned long IP), + + TP_ARGS(pool_name, bits, entropy_count, entropy_total, IP), + + TP_STRUCT__entry( + __field( const char *, pool_name ) + __field( int, bits ) + __field( int, entropy_count ) + __field( int, entropy_total ) + __field(unsigned long, IP ) + ), + + TP_fast_assign( + __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 %pF", __entry->pool_name, __entry->bits, + __entry->entropy_count, __entry->entropy_total, + (void *)__entry->IP) +); + +TRACE_EVENT(get_random_bytes, + TP_PROTO(int nbytes, unsigned long IP), + + TP_ARGS(nbytes, IP), + + TP_STRUCT__entry( + __field( int, nbytes ) + __field(unsigned long, IP ) + ), + + TP_fast_assign( + __entry->nbytes = nbytes; + __entry->IP = IP; + ), + + TP_printk("nbytes %d caller %pF", __entry->nbytes, (void *)__entry->IP) +); + +DECLARE_EVENT_CLASS(random__extract_entropy, + TP_PROTO(const char *pool_name, int nbytes, int entropy_count, + unsigned long IP), + + TP_ARGS(pool_name, nbytes, entropy_count, IP), + + TP_STRUCT__entry( + __field( const char *, pool_name ) + __field( int, nbytes ) + __field( int, entropy_count ) + __field(unsigned long, IP ) + ), + + TP_fast_assign( + __entry->pool_name = pool_name; + __entry->nbytes = nbytes; + __entry->entropy_count = entropy_count; + __entry->IP = IP; + ), + + TP_printk("%s pool: nbytes %d entropy_count %d caller %pF", + __entry->pool_name, __entry->nbytes, __entry->entropy_count, + (void *)__entry->IP) +); + + +DEFINE_EVENT(random__extract_entropy, extract_entropy, + TP_PROTO(const char *pool_name, int nbytes, int entropy_count, + unsigned long IP), + + TP_ARGS(pool_name, nbytes, entropy_count, IP) +); + +DEFINE_EVENT(random__extract_entropy, extract_entropy_user, + TP_PROTO(const char *pool_name, int nbytes, int entropy_count, + unsigned long IP), + + TP_ARGS(pool_name, nbytes, entropy_count, IP) +); + + + +#endif /* _TRACE_RANDOM_H */ + +/* This part must be outside protection */ +#include --- linux-lowlatency-3.5.0.orig/include/xen/grant_table.h +++ linux-lowlatency-3.5.0/include/xen/grant_table.h @@ -187,6 +187,7 @@ struct gnttab_map_grant_ref *kmap_ops, struct page **pages, unsigned int count); int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops, - struct page **pages, unsigned int count, bool clear_pte); + struct gnttab_map_grant_ref *kunmap_ops, + struct page **pages, unsigned int count); #endif /* __ASM_GNTTAB_H__ */ --- linux-lowlatency-3.5.0.orig/init/Kconfig +++ linux-lowlatency-3.5.0/init/Kconfig @@ -79,6 +79,13 @@ Maximum of each of the number of arguments and environment variables passed to init from the kernel command line. +config INIT_PASS_ALL_PARAMS + bool "Pass all (known and unknown) kernel parameters to init" + default n + help + Pass all kernel command line parameters to init, this includes + those consumed by kernel modules. This is useful for upstart + based systems. If in doubt say N. config CROSS_COMPILE string "Cross-compiler tool prefix" @@ -214,6 +221,15 @@ but you may wish to use a different default here to make a minimal system more usable with less configuration. +config VERSION_SIGNATURE + string "Arbitrary version signature" + help + This string will be created in a file, /proc/version_signature. It + is useful in determining arbitrary data about your kernel. For instance, + if you have several kernels of the same version, but need to keep track + of a revision of the same kernel, but not affect it's ability to load + compatible modules, this is the easiest way to do that. + config SWAP bool "Support for paging of anonymous memory (swap)" depends on MMU && BLOCK --- linux-lowlatency-3.5.0.orig/init/initramfs.c +++ linux-lowlatency-3.5.0/init/initramfs.c @@ -18,6 +18,8 @@ #include #include #include +#include +#include static __initdata char *message; static void __init error(char *x) @@ -579,7 +581,15 @@ } #endif -static int __init populate_rootfs(void) +LIST_HEAD(populate_rootfs_domain); + +void populate_rootfs_wait(void) +{ + async_synchronize_full_domain(&populate_rootfs_domain); +} +EXPORT_SYMBOL(populate_rootfs_wait); + +static void __init async_populate_rootfs(void *data, async_cookie_t cookie) { char *err = unpack_to_rootfs(__initramfs_start, __initramfs_size); if (err) @@ -592,7 +602,7 @@ initrd_end - initrd_start); if (!err) { free_initrd(); - return 0; + return; } else { clean_rootfs(); unpack_to_rootfs(__initramfs_start, __initramfs_size); @@ -616,6 +626,27 @@ free_initrd(); #endif } + return; +} + +static int __initdata rootfs_populated; + +static int __init populate_rootfs_early(void) +{ + if (num_online_cpus() > 1) { + rootfs_populated = 1; + async_schedule_domain(async_populate_rootfs, NULL, + &populate_rootfs_domain); + } + return 0; +} +static int __init populate_rootfs(void) +{ + if (!rootfs_populated) + async_schedule_domain(async_populate_rootfs, NULL, + &populate_rootfs_domain); return 0; } + +earlyrootfs_initcall(populate_rootfs_early); rootfs_initcall(populate_rootfs); --- linux-lowlatency-3.5.0.orig/init/main.c +++ linux-lowlatency-3.5.0/init/main.c @@ -112,6 +112,11 @@ */ #define MAX_INIT_ARGS CONFIG_INIT_ENV_ARG_LIMIT #define MAX_INIT_ENVS CONFIG_INIT_ENV_ARG_LIMIT +#ifdef CONFIG_INIT_PASS_ALL_PARAMS +#define INIT_PASS_FUNCTION pass_all_bootoptions +#else +#define INIT_PASS_FUNCTION pass_unknown_bootoptions +#endif extern void time_init(void); /* Default late time init is NULL. archs can override this later. */ @@ -199,7 +204,7 @@ static int __init quiet_kernel(char *str) { - console_loglevel = 4; + console_loglevel = 2; return 0; } @@ -226,7 +231,7 @@ early_param("loglevel", loglevel); /* Change NUL term back to "=", to make "param" the whole string. */ -static int __init repair_env_string(char *param, char *val, const char *unused) +static int __init repair_env_string(char *param, char *val, const char *unused, int known) { if (val) { /* param=val or param="val"? */ @@ -243,19 +248,20 @@ } /* - * Unknown boot options get handed to init, unless they look like - * unused parameters (modprobe will find them in /proc/cmdline). + * Select boot options to hand to init. If all is set hand off them all + * otherwise only hand off unused ones which do not apply to modules + * (modprobe will find them in /proc/cmdline). */ -static int __init unknown_bootoption(char *param, char *val, const char *unused) +static int __init pass_bootoption(char *param, char *val, const char *unused, int all) { - repair_env_string(param, val, unused); + repair_env_string(param, val, unused, all); /* Handle obsolete-style parameters */ - if (obsolete_checksetup(param)) + if (obsolete_checksetup(param) && !all) return 0; /* Unused module parameter. */ - if (strchr(param, '.') && (!val || strchr(param, '.') < val)) + if (!all && strchr(param, '.') && (!val || strchr(param, '.') < val)) return 0; if (panic_later) @@ -286,6 +292,16 @@ } return 0; } +static int __init pass_unknown_bootoptions(char *param, char *val, const char *unused, int known) +{ + if (known) + return 0; + return pass_bootoption(param, val, unused, 0); +} +static int __init pass_all_bootoptions(char *param, char *val, const char *unused, int known) +{ + return pass_bootoption(param, val, unused, 1); +} static int __init init_setup(char *str) { @@ -385,10 +401,13 @@ } /* Check for early params. */ -static int __init do_early_param(char *param, char *val, const char *unused) +static int __init do_early_param(char *param, char *val, const char *unused, int known) { const struct obs_kernel_param *p; + if (known) + return 0; + for (p = __setup_start; p < __setup_end; p++) { if ((p->early && parameq(param, p->str)) || (strcmp(param, "console") == 0 && @@ -508,7 +527,7 @@ parse_early_param(); parse_args("Booting kernel", static_command_line, __start___param, __stop___param - __start___param, - -1, -1, &unknown_bootoption); + -1, -1, &INIT_PASS_FUNCTION); jump_label_init(); @@ -630,6 +649,9 @@ acpi_early_init(); /* before LAPIC and SMP init */ sfi_init_late(); + if (efi_enabled) + efi_free_boot_services(); + ftrace_init(); /* Do the rest non-__init'ed, we're now alive */ @@ -871,6 +893,12 @@ (void) sys_dup(0); (void) sys_dup(0); /* + * We need to ensure that the filesystem is ready by this point, wait for + * async_populate_rootfs to complete. + */ + populate_rootfs_wait(); + + /* * check if there is an early userspace init. If yes, let it do all * the work */ --- linux-lowlatency-3.5.0.orig/init/noinitramfs.c +++ linux-lowlatency-3.5.0/init/noinitramfs.c @@ -22,6 +22,8 @@ #include #include +LIST_HEAD(populate_rootfs_domain); + /* * Create a simple rootfs that is similar to the default initramfs */ --- linux-lowlatency-3.5.0.orig/init/version.c +++ linux-lowlatency-3.5.0/init/version.c @@ -40,7 +40,11 @@ /* FIXED STRINGS! Don't touch! */ const char linux_banner[] = "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" - LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; + LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION +#ifdef CONFIG_VERSION_SIGNATURE + " (" CONFIG_VERSION_SIGNATURE ")" +#endif + "\n"; const char linux_proc_banner[] = "%s version %s" --- linux-lowlatency-3.5.0.orig/kernel/async.c +++ linux-lowlatency-3.5.0/kernel/async.c @@ -86,6 +86,13 @@ { struct async_entry *entry; + if (!running) { /* just check the entry count */ + if (atomic_read(&entry_count)) + return 0; /* smaller than any cookie */ + else + return next_cookie; + } + if (!list_empty(running)) { entry = list_first_entry(running, struct async_entry, list); @@ -236,9 +243,7 @@ */ void async_synchronize_full(void) { - do { - async_synchronize_cookie(next_cookie); - } while (!list_empty(&async_running) || !list_empty(&async_pending)); + async_synchronize_cookie_domain(next_cookie, NULL); } EXPORT_SYMBOL_GPL(async_synchronize_full); @@ -258,7 +263,7 @@ /** * async_synchronize_cookie_domain - synchronize asynchronous function calls within a certain domain with cookie checkpointing * @cookie: async_cookie_t to use as checkpoint - * @running: running list to synchronize on + * @running: running list to synchronize on, NULL indicates all lists * * This function waits until all asynchronous function calls for the * synchronization domain specified by the running list @list submitted --- linux-lowlatency-3.5.0.orig/kernel/audit_tree.c +++ linux-lowlatency-3.5.0/kernel/audit_tree.c @@ -249,8 +249,7 @@ list_del_rcu(&chunk->hash); spin_unlock(&hash_lock); spin_unlock(&entry->lock); - fsnotify_destroy_mark(entry); - fsnotify_put_mark(entry); + fsnotify_destroy_mark(entry, audit_tree_group); goto out; } @@ -259,7 +258,7 @@ fsnotify_duplicate_mark(&new->mark, entry); if (fsnotify_add_mark(&new->mark, new->mark.group, new->mark.i.inode, NULL, 1)) { - free_chunk(new); + fsnotify_put_mark(&new->mark); goto Fallback; } @@ -292,8 +291,8 @@ owner->root = new; spin_unlock(&hash_lock); spin_unlock(&entry->lock); - fsnotify_destroy_mark(entry); - fsnotify_put_mark(entry); + fsnotify_destroy_mark(entry, audit_tree_group); + fsnotify_put_mark(&new->mark); /* drop initial reference */ goto out; Fallback: @@ -322,7 +321,7 @@ entry = &chunk->mark; if (fsnotify_add_mark(entry, audit_tree_group, inode, NULL, 0)) { - free_chunk(chunk); + fsnotify_put_mark(entry); return -ENOSPC; } @@ -332,7 +331,7 @@ spin_unlock(&hash_lock); chunk->dead = 1; spin_unlock(&entry->lock); - fsnotify_destroy_mark(entry); + fsnotify_destroy_mark(entry, audit_tree_group); fsnotify_put_mark(entry); return 0; } @@ -396,7 +395,7 @@ fsnotify_duplicate_mark(chunk_entry, old_entry); if (fsnotify_add_mark(chunk_entry, chunk_entry->group, chunk_entry->i.inode, NULL, 1)) { spin_unlock(&old_entry->lock); - free_chunk(chunk); + fsnotify_put_mark(chunk_entry); fsnotify_put_mark(old_entry); return -ENOSPC; } @@ -412,7 +411,7 @@ spin_unlock(&chunk_entry->lock); spin_unlock(&old_entry->lock); - fsnotify_destroy_mark(chunk_entry); + fsnotify_destroy_mark(chunk_entry, audit_tree_group); fsnotify_put_mark(chunk_entry); fsnotify_put_mark(old_entry); @@ -443,9 +442,9 @@ spin_unlock(&hash_lock); spin_unlock(&chunk_entry->lock); spin_unlock(&old_entry->lock); - fsnotify_destroy_mark(old_entry); + fsnotify_destroy_mark(old_entry, audit_tree_group); + fsnotify_put_mark(chunk_entry); /* drop initial reference */ fsnotify_put_mark(old_entry); /* pair to fsnotify_find mark_entry */ - fsnotify_put_mark(old_entry); /* and kill it */ return 0; } --- linux-lowlatency-3.5.0.orig/kernel/audit_watch.c +++ linux-lowlatency-3.5.0/kernel/audit_watch.c @@ -349,7 +349,7 @@ } mutex_unlock(&audit_filter_mutex); - fsnotify_destroy_mark(&parent->mark); + fsnotify_destroy_mark(&parent->mark, audit_watch_group); } /* Get path information necessary for adding watches. */ @@ -475,7 +475,7 @@ if (list_empty(&parent->watches)) { audit_get_parent(parent); - fsnotify_destroy_mark(&parent->mark); + fsnotify_destroy_mark(&parent->mark, audit_watch_group); audit_put_parent(parent); } } --- linux-lowlatency-3.5.0.orig/kernel/cgroup.c +++ linux-lowlatency-3.5.0/kernel/cgroup.c @@ -954,7 +954,7 @@ dget(d); d_delete(d); - simple_unlink(d->d_inode, d); + simple_unlink(cgrp->dentry->d_inode, d); list_del_init(&cfe->node); dput(d); @@ -1927,9 +1927,8 @@ * trading it for newcg is protected by cgroup_mutex, we're safe to drop * it here; it will be freed under RCU. */ - put_css_set(oldcg); - set_bit(CGRP_RELEASABLE, &oldcgrp->flags); + put_css_set(oldcg); } /** @@ -4740,31 +4739,20 @@ * * A pointer to the shared css_set was automatically copied in * fork.c by dup_task_struct(). However, we ignore that copy, since - * it was not made under the protection of RCU, cgroup_mutex or - * threadgroup_change_begin(), so it might no longer be a valid - * cgroup pointer. cgroup_attach_task() might have already changed - * current->cgroups, allowing the previously referenced cgroup - * group to be removed and freed. - * - * Outside the pointer validity we also need to process the css_set - * inheritance between threadgoup_change_begin() and - * threadgoup_change_end(), this way there is no leak in any process - * wide migration performed by cgroup_attach_proc() that could otherwise - * miss a thread because it is too early or too late in the fork stage. + * it was not made under the protection of RCU or cgroup_mutex, so + * might no longer be a valid cgroup pointer. cgroup_attach_task() might + * have already changed current->cgroups, allowing the previously + * referenced cgroup group to be removed and freed. * * At the point that cgroup_fork() is called, 'current' is the parent * task, and the passed argument 'child' points to the child task. */ void cgroup_fork(struct task_struct *child) { - /* - * We don't need to task_lock() current because current->cgroups - * can't be changed concurrently here. The parent obviously hasn't - * exited and called cgroup_exit(), and we are synchronized against - * cgroup migration through threadgroup_change_begin(). - */ + task_lock(current); child->cgroups = current->cgroups; get_css_set(child->cgroups); + task_unlock(current); INIT_LIST_HEAD(&child->cg_list); } @@ -4817,19 +4805,10 @@ */ if (use_task_css_set_links) { write_lock(&css_set_lock); - if (list_empty(&child->cg_list)) { - /* - * It's safe to use child->cgroups without task_lock() - * here because we are protected through - * threadgroup_change_begin() against concurrent - * css_set change in cgroup_task_migrate(). Also - * the task can't exit at that point until - * wake_up_new_task() is called, so we are protected - * against cgroup_exit() setting child->cgroup to - * init_css_set. - */ + task_lock(child); + if (list_empty(&child->cg_list)) list_add(&child->cg_list, &child->cgroups->tasks); - } + task_unlock(child); write_unlock(&css_set_lock); } } --- linux-lowlatency-3.5.0.orig/kernel/cpuset.c +++ linux-lowlatency-3.5.0/kernel/cpuset.c @@ -2054,6 +2054,9 @@ * (of no affect) on systems that are actively using CPU hotplug * but making no active use of cpusets. * + * The only exception to this is suspend/resume, where we don't + * modify cpusets at all. + * * This routine ensures that top_cpuset.cpus_allowed tracks * cpu_active_mask on each CPU hotplug (cpuhp) event. * --- linux-lowlatency-3.5.0.orig/kernel/exit.c +++ linux-lowlatency-3.5.0/kernel/exit.c @@ -483,7 +483,7 @@ rcu_read_unlock(); for (;;) { unsigned long set; - i = j * __NFDBITS; + i = j * BITS_PER_LONG; if (i >= fdt->max_fds) break; set = fdt->open_fds[j++]; --- linux-lowlatency-3.5.0.orig/kernel/fork.c +++ linux-lowlatency-3.5.0/kernel/fork.c @@ -459,8 +459,8 @@ if (retval) goto out; - if (file && uprobe_mmap(tmp)) - goto out; + if (file) + uprobe_mmap(tmp); } /* a new mm has just been created */ arch_dup_mmap(oldmm, mm); --- linux-lowlatency-3.5.0.orig/kernel/futex.c +++ linux-lowlatency-3.5.0/kernel/futex.c @@ -716,7 +716,7 @@ struct futex_pi_state **ps, struct task_struct *task, int set_waiters) { - int lock_taken, ret, ownerdied = 0; + int lock_taken, ret, force_take = 0; u32 uval, newval, curval, vpid = task_pid_vnr(task); retry: @@ -755,17 +755,15 @@ newval = curval | FUTEX_WAITERS; /* - * There are two cases, where a futex might have no owner (the - * owner TID is 0): OWNER_DIED. We take over the futex in this - * case. We also do an unconditional take over, when the owner - * of the futex died. - * - * This is safe as we are protected by the hash bucket lock ! + * Should we force take the futex? See below. */ - if (unlikely(ownerdied || !(curval & FUTEX_TID_MASK))) { - /* Keep the OWNER_DIED bit */ + if (unlikely(force_take)) { + /* + * Keep the OWNER_DIED and the WAITERS bit and set the + * new TID value. + */ newval = (curval & ~FUTEX_TID_MASK) | vpid; - ownerdied = 0; + force_take = 0; lock_taken = 1; } @@ -775,7 +773,7 @@ goto retry; /* - * We took the lock due to owner died take over. + * We took the lock due to forced take over. */ if (unlikely(lock_taken)) return 1; @@ -790,20 +788,25 @@ switch (ret) { case -ESRCH: /* - * No owner found for this futex. Check if the - * OWNER_DIED bit is set to figure out whether - * this is a robust futex or not. + * We failed to find an owner for this + * futex. So we have no pi_state to block + * on. This can happen in two cases: + * + * 1) The owner died + * 2) A stale FUTEX_WAITERS bit + * + * Re-read the futex value. */ if (get_futex_value_locked(&curval, uaddr)) return -EFAULT; /* - * We simply start over in case of a robust - * futex. The code above will take the futex - * and return happy. + * If the owner died or we have a stale + * WAITERS bit the owner TID in the user space + * futex is 0. */ - if (curval & FUTEX_OWNER_DIED) { - ownerdied = 1; + if (!(curval & FUTEX_TID_MASK)) { + force_take = 1; goto retry; } default: @@ -840,6 +843,9 @@ { struct task_struct *p = q->task; + if (WARN(q->pi_state || q->rt_waiter, "refusing to wake PI futex\n")) + return; + /* * We set q->lock_ptr = NULL _before_ we wake up the task. If * a non-futex wake up happens on another CPU then the task @@ -1075,6 +1081,10 @@ plist_for_each_entry_safe(this, next, head, list) { if (match_futex (&this->key, &key1)) { + if (this->pi_state || this->rt_waiter) { + ret = -EINVAL; + goto out_unlock; + } wake_futex(this); if (++ret >= nr_wake) break; @@ -1087,6 +1097,10 @@ op_ret = 0; plist_for_each_entry_safe(this, next, head, list) { if (match_futex (&this->key, &key2)) { + if (this->pi_state || this->rt_waiter) { + ret = -EINVAL; + goto out_unlock; + } wake_futex(this); if (++op_ret >= nr_wake2) break; @@ -1095,6 +1109,7 @@ ret += op_ret; } +out_unlock: double_unlock_hb(hb1, hb2); out_put_keys: put_futex_key(&key2); @@ -1384,9 +1399,13 @@ /* * FUTEX_WAIT_REQEUE_PI and FUTEX_CMP_REQUEUE_PI should always * be paired with each other and no other futex ops. + * + * We should never be requeueing a futex_q with a pi_state, + * which is awaiting a futex_unlock_pi(). */ if ((requeue_pi && !this->rt_waiter) || - (!requeue_pi && this->rt_waiter)) { + (!requeue_pi && this->rt_waiter) || + this->pi_state) { ret = -EINVAL; break; } @@ -2231,11 +2250,11 @@ * @uaddr2: the pi futex we will take prior to returning to user-space * * The caller will wait on uaddr and will be requeued by futex_requeue() to - * uaddr2 which must be PI aware. Normal wakeup will wake on uaddr2 and - * complete the acquisition of the rt_mutex prior to returning to userspace. - * This ensures the rt_mutex maintains an owner when it has waiters; without - * one, the pi logic wouldn't know which task to boost/deboost, if there was a - * need to. + * uaddr2 which must be PI aware and unique from uaddr. Normal wakeup will wake + * on uaddr2 and complete the acquisition of the rt_mutex prior to returning to + * userspace. This ensures the rt_mutex maintains an owner when it has waiters; + * without one, the pi logic would not know which task to boost/deboost, if + * there was a need to. * * We call schedule in futex_wait_queue_me() when we enqueue and return there * via the following: @@ -2272,6 +2291,9 @@ struct futex_q q = futex_q_init; int res, ret; + if (uaddr == uaddr2) + return -EINVAL; + if (!bitset) return -EINVAL; @@ -2343,7 +2365,7 @@ * signal. futex_unlock_pi() will not destroy the lock_ptr nor * the pi_state. */ - WARN_ON(!&q.pi_state); + WARN_ON(!q.pi_state); pi_mutex = &q.pi_state->pi_mutex; ret = rt_mutex_finish_proxy_lock(pi_mutex, to, &rt_waiter, 1); debug_rt_mutex_free_waiter(&rt_waiter); @@ -2370,7 +2392,7 @@ * fault, unlock the rt_mutex and return the fault to userspace. */ if (ret == -EFAULT) { - if (rt_mutex_owner(pi_mutex) == current) + if (pi_mutex && rt_mutex_owner(pi_mutex) == current) rt_mutex_unlock(pi_mutex); } else if (ret == -EINTR) { /* --- linux-lowlatency-3.5.0.orig/kernel/kexec.c +++ linux-lowlatency-3.5.0/kernel/kexec.c @@ -947,6 +947,11 @@ if (!capable(CAP_SYS_BOOT)) return -EPERM; + /* Processes in containers must not be allowed to load a new + * kernel, even if they have CAP_SYS_BOOT */ + if (task_active_pid_ns(current) != &init_pid_ns) + return -EPERM; + /* * Verify we have a legal set of flags * This leaves us room for future extensions. --- linux-lowlatency-3.5.0.orig/kernel/kmod.c +++ linux-lowlatency-3.5.0/kernel/kmod.c @@ -585,6 +585,8 @@ struct subprocess_info *info; gfp_t gfp_mask = (wait == UMH_NO_WAIT) ? GFP_ATOMIC : GFP_KERNEL; + populate_rootfs_wait(); + info = call_usermodehelper_setup(path, argv, envp, gfp_mask); if (info == NULL) --- linux-lowlatency-3.5.0.orig/kernel/kthread.c +++ linux-lowlatency-3.5.0/kernel/kthread.c @@ -360,16 +360,12 @@ struct kthread_work, node); list_del_init(&work->node); } + worker->current_work = work; spin_unlock_irq(&worker->lock); if (work) { __set_current_state(TASK_RUNNING); work->func(work); - smp_wmb(); /* wmb worker-b0 paired with flush-b1 */ - work->done_seq = work->queue_seq; - smp_mb(); /* mb worker-b1 paired with flush-b0 */ - if (atomic_read(&work->flushing)) - wake_up_all(&work->done); } else if (!freezing(current)) schedule(); @@ -378,6 +374,19 @@ } EXPORT_SYMBOL_GPL(kthread_worker_fn); +/* insert @work before @pos in @worker */ +static void insert_kthread_work(struct kthread_worker *worker, + struct kthread_work *work, + struct list_head *pos) +{ + lockdep_assert_held(&worker->lock); + + list_add_tail(&work->node, pos); + work->worker = worker; + if (likely(worker->task)) + wake_up_process(worker->task); +} + /** * queue_kthread_work - queue a kthread_work * @worker: target kthread_worker @@ -395,10 +404,7 @@ spin_lock_irqsave(&worker->lock, flags); if (list_empty(&work->node)) { - list_add_tail(&work->node, &worker->work_list); - work->queue_seq++; - if (likely(worker->task)) - wake_up_process(worker->task); + insert_kthread_work(worker, work, &worker->work_list); ret = true; } spin_unlock_irqrestore(&worker->lock, flags); @@ -406,6 +412,18 @@ } EXPORT_SYMBOL_GPL(queue_kthread_work); +struct kthread_flush_work { + struct kthread_work work; + struct completion done; +}; + +static void kthread_flush_work_fn(struct kthread_work *work) +{ + struct kthread_flush_work *fwork = + container_of(work, struct kthread_flush_work, work); + complete(&fwork->done); +} + /** * flush_kthread_work - flush a kthread_work * @work: work to flush @@ -414,39 +432,37 @@ */ void flush_kthread_work(struct kthread_work *work) { - int seq = work->queue_seq; + struct kthread_flush_work fwork = { + KTHREAD_WORK_INIT(fwork.work, kthread_flush_work_fn), + COMPLETION_INITIALIZER_ONSTACK(fwork.done), + }; + struct kthread_worker *worker; + bool noop = false; - atomic_inc(&work->flushing); +retry: + worker = work->worker; + if (!worker) + return; + + spin_lock_irq(&worker->lock); + if (work->worker != worker) { + spin_unlock_irq(&worker->lock); + goto retry; + } - /* - * mb flush-b0 paired with worker-b1, to make sure either - * worker sees the above increment or we see done_seq update. - */ - smp_mb__after_atomic_inc(); - - /* A - B <= 0 tests whether B is in front of A regardless of overflow */ - wait_event(work->done, seq - work->done_seq <= 0); - atomic_dec(&work->flushing); - - /* - * rmb flush-b1 paired with worker-b0, to make sure our caller - * sees every change made by work->func(). - */ - smp_mb__after_atomic_dec(); -} -EXPORT_SYMBOL_GPL(flush_kthread_work); + if (!list_empty(&work->node)) + insert_kthread_work(worker, &fwork.work, work->node.next); + else if (worker->current_work == work) + insert_kthread_work(worker, &fwork.work, worker->work_list.next); + else + noop = true; -struct kthread_flush_work { - struct kthread_work work; - struct completion done; -}; + spin_unlock_irq(&worker->lock); -static void kthread_flush_work_fn(struct kthread_work *work) -{ - struct kthread_flush_work *fwork = - container_of(work, struct kthread_flush_work, work); - complete(&fwork->done); + if (!noop) + wait_for_completion(&fwork.done); } +EXPORT_SYMBOL_GPL(flush_kthread_work); /** * flush_kthread_worker - flush all current works on a kthread_worker --- linux-lowlatency-3.5.0.orig/kernel/module.c +++ linux-lowlatency-3.5.0/kernel/module.c @@ -2273,12 +2273,17 @@ src = (void *)info->hdr + symsect->sh_offset; nsrc = symsect->sh_size / sizeof(*src); + /* strtab always starts with a nul, so offset 0 is the empty string. */ + strtab_size = 1; + /* Compute total space required for the core symbols' strtab. */ - for (ndst = i = strtab_size = 1; i < nsrc; ++i, ++src) - if (is_core_symbol(src, info->sechdrs, info->hdr->e_shnum)) { - strtab_size += strlen(&info->strtab[src->st_name]) + 1; + for (ndst = i = 0; i < nsrc; i++) { + if (i == 0 || + is_core_symbol(src+i, info->sechdrs, info->hdr->e_shnum)) { + strtab_size += strlen(&info->strtab[src[i].st_name])+1; ndst++; } + } /* Append room for core symbols at end of core part. */ info->symoffs = ALIGN(mod->core_size, symsect->sh_addralign ?: 1); @@ -2312,15 +2317,15 @@ mod->core_symtab = dst = mod->module_core + info->symoffs; mod->core_strtab = s = mod->module_core + info->stroffs; src = mod->symtab; - *dst = *src; *s++ = 0; - for (ndst = i = 1; i < mod->num_symtab; ++i, ++src) { - if (!is_core_symbol(src, info->sechdrs, info->hdr->e_shnum)) - continue; - - dst[ndst] = *src; - dst[ndst++].st_name = s - mod->core_strtab; - s += strlcpy(s, &mod->strtab[src->st_name], KSYM_NAME_LEN) + 1; + for (ndst = i = 0; i < mod->num_symtab; i++) { + if (i == 0 || + is_core_symbol(src+i, info->sechdrs, info->hdr->e_shnum)) { + dst[ndst] = src[i]; + dst[ndst++].st_name = s - mod->core_strtab; + s += strlcpy(s, &mod->strtab[src[i].st_name], + KSYM_NAME_LEN) + 1; + } } mod->core_num_syms = ndst; } @@ -2730,6 +2735,10 @@ if (strcmp(mod->name, "driverloader") == 0) add_taint_module(mod, TAINT_PROPRIETARY_MODULE); + /* lve claims to be GPL but upstream won't provide source */ + if (strcmp(mod->name, "lve") == 0) + add_taint_module(mod, TAINT_PROPRIETARY_MODULE); + #ifdef CONFIG_MODVERSIONS if ((mod->num_syms && !mod->crcs) || (mod->num_gpl_syms && !mod->gpl_crcs) --- linux-lowlatency-3.5.0.orig/kernel/params.c +++ linux-lowlatency-3.5.0/kernel/params.c @@ -90,8 +90,8 @@ unsigned num_params, s16 min_level, s16 max_level, - int (*handle_unknown)(char *param, char *val, - const char *doing)) + int (*handle_arg)(char *param, char *val, + const char *doing, int known)) { unsigned int i; int err; @@ -106,6 +106,14 @@ if (!val && params[i].ops->set != param_set_bool && params[i].ops->set != param_set_bint) return -EINVAL; + if (handle_arg) { + int ret; + pr_debug("Valid argument: calling %p\n", + handle_arg); + ret = handle_arg(param, val, doing, 1); + if (ret) + return ret; + } pr_debug("handling %s with %p\n", param, params[i].ops->set); mutex_lock(¶m_lock); @@ -115,9 +123,9 @@ } } - if (handle_unknown) { + if (handle_arg) { pr_debug("doing %s: %s='%s'\n", doing, param, val); - return handle_unknown(param, val, doing); + return handle_arg(param, val, doing, 0); } pr_debug("Unknown argument '%s'\n", param); @@ -183,7 +191,7 @@ unsigned num, s16 min_level, s16 max_level, - int (*unknown)(char *param, char *val, const char *doing)) + int (*handle_arg)(char *param, char *val, const char *doing, int arg)) { char *param, *val; @@ -200,7 +208,7 @@ args = next_arg(args, ¶m, &val); irq_was_disabled = irqs_disabled(); ret = parse_one(param, val, doing, params, num, - min_level, max_level, unknown); + min_level, max_level, handle_arg); if (irq_was_disabled && !irqs_disabled()) pr_warn("%s: option '%s' enabled irq's!\n", doing, param); --- linux-lowlatency-3.5.0.orig/kernel/printk.c +++ linux-lowlatency-3.5.0/kernel/printk.c @@ -235,7 +235,8 @@ static u64 clear_seq; static u32 clear_idx; -#define LOG_LINE_MAX 1024 +#define PREFIX_MAX 32 +#define LOG_LINE_MAX 1024 - PREFIX_MAX /* record buffer */ #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) @@ -876,7 +877,7 @@ if (buf) { if (print_prefix(msg, syslog, NULL) + - text_len + 1>= size - len) + text_len + 1 >= size - len) break; if (prefix) @@ -907,7 +908,7 @@ struct log *msg; int len = 0; - text = kmalloc(LOG_LINE_MAX, GFP_KERNEL); + text = kmalloc(LOG_LINE_MAX + PREFIX_MAX, GFP_KERNEL); if (!text) return -ENOMEM; @@ -930,7 +931,8 @@ skip = syslog_partial; msg = log_from_idx(syslog_idx); - n = msg_print_text(msg, syslog_prev, true, text, LOG_LINE_MAX); + n = msg_print_text(msg, syslog_prev, true, text, + LOG_LINE_MAX + PREFIX_MAX); if (n - syslog_partial <= size) { /* message fits into buffer, move forward */ syslog_idx = log_next(syslog_idx); @@ -969,7 +971,7 @@ char *text; int len = 0; - text = kmalloc(LOG_LINE_MAX, GFP_KERNEL); + text = kmalloc(LOG_LINE_MAX + PREFIX_MAX, GFP_KERNEL); if (!text) return -ENOMEM; @@ -997,6 +999,7 @@ struct log *msg = log_from_idx(idx); len += msg_print_text(msg, prev, true, NULL, 0); + prev = msg->flags; idx = log_next(idx); seq++; } @@ -1009,6 +1012,7 @@ struct log *msg = log_from_idx(idx); len -= msg_print_text(msg, prev, true, NULL, 0); + prev = msg->flags; idx = log_next(idx); seq++; } @@ -1022,7 +1026,8 @@ struct log *msg = log_from_idx(idx); int textlen; - textlen = msg_print_text(msg, prev, true, text, LOG_LINE_MAX); + textlen = msg_print_text(msg, prev, true, text, + LOG_LINE_MAX + PREFIX_MAX); if (textlen < 0) { len = textlen; break; @@ -1352,15 +1357,15 @@ bool flushed:1; /* buffer sealed and committed */ } cont; -static void cont_flush(void) +static void cont_flush(enum log_flags flags) { if (cont.flushed) return; if (cont.len == 0) return; - log_store(cont.facility, cont.level, LOG_NOCONS, cont.ts_nsec, - NULL, 0, cont.buf, cont.len); + log_store(cont.facility, cont.level, LOG_NOCONS | flags, + cont.ts_nsec, NULL, 0, cont.buf, cont.len); cont.flushed = true; } @@ -1371,7 +1376,8 @@ return false; if (cont.len + len > sizeof(cont.buf)) { - cont_flush(); + /* the line gets too long, split it up in separate records */ + cont_flush(LOG_CONT); return false; } @@ -1507,7 +1513,7 @@ * or another task also prints continuation lines. */ if (cont.len && (lflags & LOG_PREFIX || cont.owner != current)) - cont_flush(); + cont_flush(0); /* buffer line if possible, otherwise store it right away */ if (!cont_add(facility, level, text, text_len)) @@ -1525,7 +1531,7 @@ if (cont.len && cont.owner == current) { if (!(lflags & LOG_PREFIX)) stored = cont_add(facility, level, text, text_len); - cont_flush(); + cont_flush(0); } if (!stored) @@ -1618,7 +1624,8 @@ #else -#define LOG_LINE_MAX 0 +#define LOG_LINE_MAX 0 +#define PREFIX_MAX 0 static struct cont { size_t len; size_t cons; @@ -1923,7 +1930,7 @@ */ void console_unlock(void) { - static char text[LOG_LINE_MAX]; + static char text[LOG_LINE_MAX + PREFIX_MAX]; static u64 seen_seq; unsigned long flags; bool wake_klogd = false; --- linux-lowlatency-3.5.0.orig/kernel/rcutree.c +++ linux-lowlatency-3.5.0/kernel/rcutree.c @@ -304,7 +304,9 @@ static int cpu_needs_another_gp(struct rcu_state *rsp, struct rcu_data *rdp) { - return *rdp->nxttail[RCU_DONE_TAIL] && !rcu_gp_in_progress(rsp); + return *rdp->nxttail[RCU_DONE_TAIL + + ACCESS_ONCE(rsp->completed) != rdp->completed] && + !rcu_gp_in_progress(rsp); } /* --- linux-lowlatency-3.5.0.orig/kernel/seccomp.c +++ linux-lowlatency-3.5.0/kernel/seccomp.c @@ -443,7 +443,7 @@ #ifdef SECCOMP_DEBUG dump_stack(); #endif - audit_seccomp(this_syscall, exit_sig, ret); + __audit_seccomp(this_syscall, exit_sig, ret); do_exit(exit_sig); #ifdef CONFIG_SECCOMP_FILTER skip: --- linux-lowlatency-3.5.0.orig/kernel/sys.c +++ linux-lowlatency-3.5.0/kernel/sys.c @@ -368,6 +368,7 @@ void kernel_restart(char *cmd) { kernel_restart_prepare(cmd); + disable_nonboot_cpus(); if (!cmd) printk(KERN_EMERG "Restarting system.\n"); else @@ -1264,15 +1265,16 @@ * Work around broken programs that cannot handle "Linux 3.0". * Instead we map 3.x to 2.6.40+x, so e.g. 3.0 would be 2.6.40 */ -static int override_release(char __user *release, int len) +static int override_release(char __user *release, size_t len) { int ret = 0; - char buf[65]; if (current->personality & UNAME26) { - char *rest = UTS_RELEASE; + const char *rest = UTS_RELEASE; + char buf[65] = { 0 }; int ndots = 0; unsigned v; + size_t copy; while (*rest) { if (*rest == '.' && ++ndots >= 3) @@ -1282,8 +1284,9 @@ rest++; } v = ((LINUX_VERSION_CODE >> 8) & 0xff) + 40; - snprintf(buf, len, "2.6.%u%s", v, rest); - ret = copy_to_user(release, buf, len); + copy = clamp_t(size_t, len, 1, sizeof(buf)); + copy = scnprintf(buf, copy, "2.6.%u%s", v, rest); + ret = copy_to_user(release, buf, copy + 1); } return ret; } --- linux-lowlatency-3.5.0.orig/kernel/timer.c +++ linux-lowlatency-3.5.0/kernel/timer.c @@ -63,6 +63,7 @@ #define TVR_SIZE (1 << TVR_BITS) #define TVN_MASK (TVN_SIZE - 1) #define TVR_MASK (TVR_SIZE - 1) +#define MAX_TVAL ((unsigned long)((1ULL << (TVR_BITS + 4*TVN_BITS)) - 1)) struct tvec { struct list_head vec[TVN_SIZE]; @@ -356,11 +357,12 @@ vec = base->tv1.vec + (base->timer_jiffies & TVR_MASK); } else { int i; - /* If the timeout is larger than 0xffffffff on 64-bit - * architectures then we use the maximum timeout: + /* If the timeout is larger than MAX_TVAL (on 64-bit + * architectures or with CONFIG_BASE_SMALL=1) then we + * use the maximum timeout. */ - if (idx > 0xffffffffUL) { - idx = 0xffffffffUL; + if (idx > MAX_TVAL) { + idx = MAX_TVAL; expires = idx + base->timer_jiffies; } i = (expires >> (TVR_BITS + 3 * TVN_BITS)) & TVN_MASK; --- linux-lowlatency-3.5.0.orig/kernel/watchdog.c +++ linux-lowlatency-3.5.0/kernel/watchdog.c @@ -113,7 +113,7 @@ return cpu_clock(this_cpu) >> 30LL; /* 2^30 ~= 10^9 */ } -static unsigned long get_sample_period(void) +static u64 get_sample_period(void) { /* * convert watchdog_thresh from seconds to ns @@ -122,7 +122,7 @@ * and hard thresholds) to increment before the * hardlockup detector generates a warning */ - return get_softlockup_thresh() * (NSEC_PER_SEC / 5); + return get_softlockup_thresh() * ((u64)NSEC_PER_SEC / 5); } /* Commands for resetting the watchdog */ --- linux-lowlatency-3.5.0.orig/kernel/workqueue.c +++ linux-lowlatency-3.5.0/kernel/workqueue.c @@ -1869,7 +1869,9 @@ spin_unlock_irq(&gcwq->lock); + smp_wmb(); /* paired with test_and_set_bit(PENDING) */ work_clear_pending(work); + lock_map_acquire_read(&cwq->wq->lockdep_map); lock_map_acquire(&lockdep_map); trace_workqueue_execute_start(work); @@ -2043,8 +2045,10 @@ repeat: set_current_state(TASK_INTERRUPTIBLE); - if (kthread_should_stop()) + if (kthread_should_stop()) { + __set_current_state(TASK_RUNNING); return 0; + } /* * See whether any cpu is asking for help. Unbounded @@ -3441,14 +3445,17 @@ for_each_busy_worker(worker, i, pos, gcwq) { struct work_struct *rebind_work = &worker->rebind_work; + unsigned long worker_flags = worker->flags; /* * Rebind_work may race with future cpu hotplug * operations. Use a separate flag to mark that - * rebinding is scheduled. + * rebinding is scheduled. The morphing should + * be atomic. */ - worker->flags |= WORKER_REBIND; - worker->flags &= ~WORKER_ROGUE; + worker_flags |= WORKER_REBIND; + worker_flags &= ~WORKER_ROGUE; + ACCESS_ONCE(worker->flags) = worker_flags; /* queue rebind_work, wq doesn't matter, use the default one */ if (test_and_set_bit(WORK_STRUCT_PENDING_BIT, @@ -3590,21 +3597,55 @@ return notifier_from_errno(0); } +/* + * Workqueues should be brought up before normal priority CPU notifiers. + * This will be registered high priority CPU notifier. + */ +static int __devinit workqueue_cpu_up_callback(struct notifier_block *nfb, + unsigned long action, + void *hcpu) +{ + switch (action & ~CPU_TASKS_FROZEN) { + case CPU_UP_PREPARE: + case CPU_UP_CANCELED: + case CPU_DOWN_FAILED: + case CPU_ONLINE: + return workqueue_cpu_callback(nfb, action, hcpu); + } + return NOTIFY_OK; +} + +/* + * Workqueues should be brought down after normal priority CPU notifiers. + * This will be registered as low priority CPU notifier. + */ +static int __devinit workqueue_cpu_down_callback(struct notifier_block *nfb, + unsigned long action, + void *hcpu) +{ + switch (action & ~CPU_TASKS_FROZEN) { + case CPU_DOWN_PREPARE: + case CPU_DYING: + case CPU_POST_DEAD: + return workqueue_cpu_callback(nfb, action, hcpu); + } + return NOTIFY_OK; +} + #ifdef CONFIG_SMP struct work_for_cpu { - struct completion completion; + struct work_struct work; long (*fn)(void *); void *arg; long ret; }; -static int do_work_for_cpu(void *_wfc) +static void work_for_cpu_fn(struct work_struct *work) { - struct work_for_cpu *wfc = _wfc; + struct work_for_cpu *wfc = container_of(work, struct work_for_cpu, work); + wfc->ret = wfc->fn(wfc->arg); - complete(&wfc->completion); - return 0; } /** @@ -3619,19 +3660,11 @@ */ long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg) { - struct task_struct *sub_thread; - struct work_for_cpu wfc = { - .completion = COMPLETION_INITIALIZER_ONSTACK(wfc.completion), - .fn = fn, - .arg = arg, - }; + struct work_for_cpu wfc = { .fn = fn, .arg = arg }; - sub_thread = kthread_create(do_work_for_cpu, &wfc, "work_for_cpu"); - if (IS_ERR(sub_thread)) - return PTR_ERR(sub_thread); - kthread_bind(sub_thread, cpu); - wake_up_process(sub_thread); - wait_for_completion(&wfc.completion); + INIT_WORK_ONSTACK(&wfc.work, work_for_cpu_fn); + schedule_work_on(cpu, &wfc.work); + flush_work(&wfc.work); return wfc.ret; } EXPORT_SYMBOL_GPL(work_on_cpu); @@ -3783,7 +3816,8 @@ unsigned int cpu; int i; - cpu_notifier(workqueue_cpu_callback, CPU_PRI_WORKQUEUE); + cpu_notifier(workqueue_cpu_up_callback, CPU_PRI_WORKQUEUE_UP); + cpu_notifier(workqueue_cpu_down_callback, CPU_PRI_WORKQUEUE_DOWN); /* initialize gcwqs */ for_each_gcwq_cpu(cpu) { --- linux-lowlatency-3.5.0.orig/kernel/debug/kdb/kdb_io.c +++ linux-lowlatency-3.5.0/kernel/debug/kdb/kdb_io.c @@ -552,6 +552,7 @@ { int diag; int linecount; + int colcount; int logging, saved_loglevel = 0; int saved_trap_printk; int got_printf_lock = 0; @@ -584,6 +585,10 @@ if (diag || linecount <= 1) linecount = 24; + diag = kdbgetintenv("COLUMNS", &colcount); + if (diag || colcount <= 1) + colcount = 80; + diag = kdbgetintenv("LOGGING", &logging); if (diag) logging = 0; @@ -690,7 +695,7 @@ gdbstub_msg_write(kdb_buffer, retlen); } else { if (dbg_io_ops && !dbg_io_ops->is_console) { - len = strlen(kdb_buffer); + len = retlen; cp = kdb_buffer; while (len--) { dbg_io_ops->write_char(*cp); @@ -709,11 +714,29 @@ printk(KERN_INFO "%s", kdb_buffer); } - if (KDB_STATE(PAGER) && strchr(kdb_buffer, '\n')) - kdb_nextline++; + if (KDB_STATE(PAGER)) { + /* + * Check printed string to decide how to bump the + * kdb_nextline to control when the more prompt should + * show up. + */ + int got = 0; + len = retlen; + while (len--) { + if (kdb_buffer[len] == '\n') { + kdb_nextline++; + got = 0; + } else if (kdb_buffer[len] == '\r') { + got = 0; + } else { + got++; + } + } + kdb_nextline += got / (colcount + 1); + } /* check for having reached the LINES number of printed lines */ - if (kdb_nextline == linecount) { + if (kdb_nextline >= linecount) { char buf1[16] = ""; #if defined(CONFIG_SMP) char buf2[32]; @@ -776,7 +799,7 @@ kdb_grepping_flag = 0; kdb_printf("\n"); } else if (buf1[0] == ' ') { - kdb_printf("\n"); + kdb_printf("\r"); suspend_grep = 1; /* for this recursion */ } else if (buf1[0] == '\n') { kdb_nextline = linecount - 1; --- linux-lowlatency-3.5.0.orig/kernel/events/core.c +++ linux-lowlatency-3.5.0/kernel/events/core.c @@ -2933,12 +2933,12 @@ /* * Called when the last reference to the file is gone. */ -static int perf_release(struct inode *inode, struct file *file) +static void put_event(struct perf_event *event) { - struct perf_event *event = file->private_data; struct task_struct *owner; - file->private_data = NULL; + if (!atomic_long_dec_and_test(&event->refcount)) + return; rcu_read_lock(); owner = ACCESS_ONCE(event->owner); @@ -2973,7 +2973,13 @@ put_task_struct(owner); } - return perf_event_release_kernel(event); + perf_event_release_kernel(event); +} + +static int perf_release(struct inode *inode, struct file *file) +{ + put_event(file->private_data); + return 0; } u64 perf_event_read_value(struct perf_event *event, u64 *enabled, u64 *running) @@ -3225,7 +3231,7 @@ static const struct file_operations perf_fops; -static struct perf_event *perf_fget_light(int fd, int *fput_needed) +static struct file *perf_fget_light(int fd, int *fput_needed) { struct file *file; @@ -3239,7 +3245,7 @@ return ERR_PTR(-EBADF); } - return file->private_data; + return file; } static int perf_event_set_output(struct perf_event *event, @@ -3271,19 +3277,21 @@ case PERF_EVENT_IOC_SET_OUTPUT: { + struct file *output_file = NULL; struct perf_event *output_event = NULL; int fput_needed = 0; int ret; if (arg != -1) { - output_event = perf_fget_light(arg, &fput_needed); - if (IS_ERR(output_event)) - return PTR_ERR(output_event); + output_file = perf_fget_light(arg, &fput_needed); + if (IS_ERR(output_file)) + return PTR_ERR(output_file); + output_event = output_file->private_data; } ret = perf_event_set_output(event, output_event); if (output_event) - fput_light(output_event->filp, fput_needed); + fput_light(output_file, fput_needed); return ret; } @@ -5922,6 +5930,7 @@ mutex_init(&event->mmap_mutex); + atomic_long_set(&event->refcount, 1); event->cpu = cpu; event->attr = *attr; event->group_leader = group_leader; @@ -6232,12 +6241,12 @@ return event_fd; if (group_fd != -1) { - group_leader = perf_fget_light(group_fd, &fput_needed); - if (IS_ERR(group_leader)) { - err = PTR_ERR(group_leader); + group_file = perf_fget_light(group_fd, &fput_needed); + if (IS_ERR(group_file)) { + err = PTR_ERR(group_file); goto err_fd; } - group_file = group_leader->filp; + group_leader = group_file->private_data; if (flags & PERF_FLAG_FD_OUTPUT) output_event = group_leader; if (flags & PERF_FLAG_FD_NO_GROUP) @@ -6372,7 +6381,6 @@ put_ctx(gctx); } - event->filp = event_file; WARN_ON_ONCE(ctx->parent_ctx); mutex_lock(&ctx->mutex); @@ -6462,7 +6470,6 @@ goto err_free; } - event->filp = NULL; WARN_ON_ONCE(ctx->parent_ctx); mutex_lock(&ctx->mutex); perf_install_in_context(ctx, event, cpu); @@ -6511,7 +6518,7 @@ * Release the parent event, if this was the last * reference to it. */ - fput(parent_event->filp); + put_event(parent_event); } static void @@ -6587,9 +6594,8 @@ * * __perf_event_exit_task() * sync_child_event() - * fput(parent_event->filp) - * perf_release() - * mutex_lock(&ctx->mutex) + * put_event() + * mutex_lock(&ctx->mutex) * * But since its the parent context it won't be the same instance. */ @@ -6657,7 +6663,7 @@ list_del_init(&event->child_list); mutex_unlock(&parent->child_mutex); - fput(parent->filp); + put_event(parent); perf_group_detach(event); list_del_event(event, ctx); @@ -6737,6 +6743,12 @@ NULL, NULL); if (IS_ERR(child_event)) return child_event; + + if (!atomic_long_inc_not_zero(&parent_event->refcount)) { + free_event(child_event); + return NULL; + } + get_ctx(child_ctx); /* @@ -6778,14 +6790,6 @@ raw_spin_unlock_irqrestore(&child_ctx->lock, flags); /* - * Get a reference to the parent filp - we will fput it - * when the child event exits. This is safe to do because - * we are in the parent and we know that the filp still - * exists and has a nonzero count: - */ - atomic_long_inc(&parent_event->filp->f_count); - - /* * Link this into the parent event's child list */ WARN_ON_ONCE(parent_event->ctx->parent_ctx); --- linux-lowlatency-3.5.0.orig/kernel/irq/handle.c +++ linux-lowlatency-3.5.0/kernel/irq/handle.c @@ -133,7 +133,7 @@ handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action) { irqreturn_t retval = IRQ_NONE; - unsigned int random = 0, irq = desc->irq_data.irq; + unsigned int flags = 0, irq = desc->irq_data.irq; do { irqreturn_t res; @@ -161,7 +161,7 @@ /* Fall through to add to randomness */ case IRQ_HANDLED: - random |= action->flags; + flags |= action->flags; break; default: @@ -172,8 +172,7 @@ action = action->next; } while (action); - if (random & IRQF_SAMPLE_RANDOM) - add_interrupt_randomness(irq); + add_interrupt_randomness(irq, flags); if (!noirqdebug) note_interrupt(irq, desc, retval); --- linux-lowlatency-3.5.0.orig/kernel/irq/manage.c +++ linux-lowlatency-3.5.0/kernel/irq/manage.c @@ -21,14 +21,20 @@ #include "internals.h" #ifdef CONFIG_IRQ_FORCED_THREADING -__read_mostly bool force_irqthreads; +__read_mostly bool force_irqthreads = true; static int __init setup_forced_irqthreads(char *arg) { force_irqthreads = true; return 0; } +static int __init setup_no_irqthreads(char *arg) +{ + force_irqthreads = false; + return 0; +} early_param("threadirqs", setup_forced_irqthreads); +early_param("nothreadirqs", setup_no_irqthreads); #endif /** @@ -893,22 +899,6 @@ return -ENOSYS; if (!try_module_get(desc->owner)) return -ENODEV; - /* - * Some drivers like serial.c use request_irq() heavily, - * so we have to be careful not to interfere with a - * running system. - */ - if (new->flags & IRQF_SAMPLE_RANDOM) { - /* - * This function might sleep, we want to call it first, - * outside of the atomic block. - * Yes, this might clear the entropy pool if the wrong - * driver is attempted to be loaded, without actually - * installing a new handler, but is this really a problem, - * only the sysadmin is able to do this. - */ - rand_initialize_irq(irq); - } /* * Check whether the interrupt nests into another interrupt @@ -1354,7 +1344,6 @@ * Flags: * * IRQF_SHARED Interrupt is shared - * IRQF_SAMPLE_RANDOM The interrupt can be used for entropy * IRQF_TRIGGER_* Specify active edge(s) or level * */ --- linux-lowlatency-3.5.0.orig/kernel/power/hibernate.c +++ linux-lowlatency-3.5.0/kernel/power/hibernate.c @@ -353,6 +353,7 @@ } suspend_console(); + ftrace_stop(); pm_restrict_gfp_mask(); error = dpm_suspend(PMSG_FREEZE); @@ -378,6 +379,7 @@ if (error || !in_suspend) pm_restore_gfp_mask(); + ftrace_start(); resume_console(); dpm_complete(msg); @@ -480,6 +482,7 @@ pm_prepare_console(); suspend_console(); + ftrace_stop(); pm_restrict_gfp_mask(); error = dpm_suspend_start(PMSG_QUIESCE); if (!error) { @@ -487,6 +490,7 @@ dpm_resume_end(PMSG_RECOVER); } pm_restore_gfp_mask(); + ftrace_start(); resume_console(); pm_restore_console(); return error; @@ -513,6 +517,7 @@ entering_platform_hibernation = true; suspend_console(); + ftrace_stop(); error = dpm_suspend_start(PMSG_HIBERNATE); if (error) { if (hibernation_ops->recover) @@ -556,6 +561,7 @@ Resume_devices: entering_platform_hibernation = false; dpm_resume_end(PMSG_RESTORE); + ftrace_start(); resume_console(); Close: --- linux-lowlatency-3.5.0.orig/kernel/power/suspend.c +++ linux-lowlatency-3.5.0/kernel/power/suspend.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include "power.h" @@ -212,6 +213,7 @@ goto Close; } suspend_console(); + ftrace_stop(); suspend_test_start(); error = dpm_suspend_start(PMSG_SUSPEND); if (error) { @@ -231,6 +233,7 @@ suspend_test_start(); dpm_resume_end(PMSG_RESUME); suspend_test_finish("resume devices"); + ftrace_start(); resume_console(); Close: if (suspend_ops->end) --- linux-lowlatency-3.5.0.orig/kernel/power/wakelock.c +++ linux-lowlatency-3.5.0/kernel/power/wakelock.c @@ -9,6 +9,7 @@ * manipulate wakelocks on Android. */ +#include #include #include #include @@ -188,6 +189,9 @@ size_t len; int ret = 0; + if (!capable(CAP_BLOCK_SUSPEND)) + return -EPERM; + while (*str && !isspace(*str)) str++; @@ -231,6 +235,9 @@ size_t len; int ret = 0; + if (!capable(CAP_BLOCK_SUSPEND)) + return -EPERM; + len = strlen(buf); if (!len) return -EINVAL; --- linux-lowlatency-3.5.0.orig/kernel/sched/auto_group.c +++ linux-lowlatency-3.5.0/kernel/sched/auto_group.c @@ -143,15 +143,11 @@ p->signal->autogroup = autogroup_kref_get(ag); - if (!ACCESS_ONCE(sysctl_sched_autogroup_enabled)) - goto out; - t = p; do { sched_move_task(t); } while_each_thread(p, t); -out: unlock_task_sighand(p, &flags); autogroup_kref_put(prev); } --- linux-lowlatency-3.5.0.orig/kernel/sched/auto_group.h +++ linux-lowlatency-3.5.0/kernel/sched/auto_group.h @@ -4,11 +4,6 @@ #include struct autogroup { - /* - * reference doesn't mean how many thread attach to this - * autogroup now. It just stands for the number of task - * could use this autogroup. - */ struct kref kref; struct task_group *tg; struct rw_semaphore lock; --- linux-lowlatency-3.5.0.orig/kernel/sched/core.c +++ linux-lowlatency-3.5.0/kernel/sched/core.c @@ -1096,7 +1096,7 @@ * a task's CPU. ->pi_lock for waking tasks, rq->lock for runnable tasks. * * sched_move_task() holds both and thus holding either pins the cgroup, - * see set_task_rq(). + * see task_group(). * * Furthermore, all task_rq users should acquire both locks, see * task_rq_lock(). @@ -3142,6 +3142,20 @@ # define nsecs_to_cputime(__nsecs) nsecs_to_jiffies(__nsecs) #endif +static cputime_t scale_utime(cputime_t utime, cputime_t rtime, cputime_t total) +{ + u64 temp = (__force u64) rtime; + + temp *= (__force u64) utime; + + if (sizeof(cputime_t) == 4) + temp = div_u64(temp, (__force u32) total); + else + temp = div64_u64(temp, (__force u64) total); + + return (__force cputime_t) temp; +} + void task_times(struct task_struct *p, cputime_t *ut, cputime_t *st) { cputime_t rtime, utime = p->utime, total = utime + p->stime; @@ -3151,13 +3165,9 @@ */ rtime = nsecs_to_cputime(p->se.sum_exec_runtime); - if (total) { - u64 temp = (__force u64) rtime; - - temp *= (__force u64) utime; - do_div(temp, (__force u32) total); - utime = (__force cputime_t) temp; - } else + if (total) + utime = scale_utime(utime, rtime, total); + else utime = rtime; /* @@ -3184,13 +3194,9 @@ total = cputime.utime + cputime.stime; rtime = nsecs_to_cputime(cputime.sum_exec_runtime); - if (total) { - u64 temp = (__force u64) rtime; - - temp *= (__force u64) cputime.utime; - do_div(temp, (__force u32) total); - utime = (__force cputime_t) temp; - } else + if (total) + utime = scale_utime(cputime.utime, rtime, total); + else utime = rtime; sig->prev_utime = max(sig->prev_utime, utime); @@ -7097,34 +7103,66 @@ mutex_unlock(&sched_domains_mutex); } +static int num_cpus_frozen; /* used to mark begin/end of suspend/resume */ + /* * Update cpusets according to cpu_active mask. If cpusets are * disabled, cpuset_update_active_cpus() becomes a simple wrapper * around partition_sched_domains(). + * + * If we come here as part of a suspend/resume, don't touch cpusets because we + * want to restore it back to its original state upon resume anyway. */ static int cpuset_cpu_active(struct notifier_block *nfb, unsigned long action, void *hcpu) { - switch (action & ~CPU_TASKS_FROZEN) { + switch (action) { + case CPU_ONLINE_FROZEN: + case CPU_DOWN_FAILED_FROZEN: + + /* + * num_cpus_frozen tracks how many CPUs are involved in suspend + * resume sequence. As long as this is not the last online + * operation in the resume sequence, just build a single sched + * domain, ignoring cpusets. + */ + num_cpus_frozen--; + if (likely(num_cpus_frozen)) { + partition_sched_domains(1, NULL, NULL); + break; + } + + /* + * This is the last CPU online operation. So fall through and + * restore the original sched domains by considering the + * cpuset configurations. + */ + case CPU_ONLINE: case CPU_DOWN_FAILED: cpuset_update_active_cpus(); - return NOTIFY_OK; + break; default: return NOTIFY_DONE; } + return NOTIFY_OK; } static int cpuset_cpu_inactive(struct notifier_block *nfb, unsigned long action, void *hcpu) { - switch (action & ~CPU_TASKS_FROZEN) { + switch (action) { case CPU_DOWN_PREPARE: cpuset_update_active_cpus(); - return NOTIFY_OK; + break; + case CPU_DOWN_PREPARE_FROZEN: + num_cpus_frozen++; + partition_sched_domains(1, NULL, NULL); + break; default: return NOTIFY_DONE; } + return NOTIFY_OK; } void __init sched_init_smp(void) @@ -7179,6 +7217,7 @@ #ifdef CONFIG_CGROUP_SCHED struct task_group root_task_group; +LIST_HEAD(task_groups); #endif DECLARE_PER_CPU(cpumask_var_t, load_balance_tmpmask); @@ -7589,6 +7628,7 @@ */ void sched_move_task(struct task_struct *tsk) { + struct task_group *tg; int on_rq, running; unsigned long flags; struct rq *rq; @@ -7603,6 +7643,12 @@ if (unlikely(running)) tsk->sched_class->put_prev_task(rq, tsk); + tg = container_of(task_subsys_state_check(tsk, cpu_cgroup_subsys_id, + lockdep_is_held(&tsk->sighand->siglock)), + struct task_group, css); + tg = autogroup_task_group(tsk, tg); + tsk->sched_task_group = tg; + #ifdef CONFIG_FAIR_GROUP_SCHED if (tsk->sched_class->task_move_group) tsk->sched_class->task_move_group(tsk, on_rq); --- linux-lowlatency-3.5.0.orig/kernel/sched/sched.h +++ linux-lowlatency-3.5.0/kernel/sched/sched.h @@ -80,7 +80,7 @@ struct cfs_rq; struct rt_rq; -static LIST_HEAD(task_groups); +extern struct list_head task_groups; struct cfs_bandwidth { #ifdef CONFIG_CFS_BANDWIDTH @@ -538,22 +538,19 @@ /* * Return the group to which this tasks belongs. * - * We use task_subsys_state_check() and extend the RCU verification with - * pi->lock and rq->lock because cpu_cgroup_attach() holds those locks for each - * task it moves into the cgroup. Therefore by holding either of those locks, - * we pin the task to the current cgroup. + * We cannot use task_subsys_state() and friends because the cgroup + * subsystem changes that value before the cgroup_subsys::attach() method + * is called, therefore we cannot pin it and might observe the wrong value. + * + * The same is true for autogroup's p->signal->autogroup->tg, the autogroup + * core changes this before calling sched_move_task(). + * + * Instead we use a 'copy' which is updated from sched_move_task() while + * holding both task_struct::pi_lock and rq::lock. */ static inline struct task_group *task_group(struct task_struct *p) { - struct task_group *tg; - struct cgroup_subsys_state *css; - - css = task_subsys_state_check(p, cpu_cgroup_subsys_id, - lockdep_is_held(&p->pi_lock) || - lockdep_is_held(&task_rq(p)->lock)); - tg = container_of(css, struct task_group, css); - - return autogroup_task_group(p, tg); + return p->sched_task_group; } /* Change a task's cfs_rq and parent entity if it moves across CPUs/groups */ --- linux-lowlatency-3.5.0.orig/kernel/sched/stop_task.c +++ linux-lowlatency-3.5.0/kernel/sched/stop_task.c @@ -27,8 +27,10 @@ { struct task_struct *stop = rq->stop; - if (stop && stop->on_rq) + if (stop && stop->on_rq) { + stop->se.exec_start = rq->clock_task; return stop; + } return NULL; } @@ -52,6 +54,21 @@ static void put_prev_task_stop(struct rq *rq, struct task_struct *prev) { + struct task_struct *curr = rq->curr; + u64 delta_exec; + + delta_exec = rq->clock_task - curr->se.exec_start; + if (unlikely((s64)delta_exec < 0)) + delta_exec = 0; + + schedstat_set(curr->se.statistics.exec_max, + max(curr->se.statistics.exec_max, delta_exec)); + + curr->se.sum_exec_runtime += delta_exec; + account_group_exec_runtime(curr, delta_exec); + + curr->se.exec_start = rq->clock_task; + cpuacct_charge(curr, delta_exec); } static void task_tick_stop(struct rq *rq, struct task_struct *curr, int queued) @@ -60,6 +77,9 @@ static void set_curr_task_stop(struct rq *rq) { + struct task_struct *stop = rq->stop; + + stop->se.exec_start = rq->clock_task; } static void switched_to_stop(struct rq *rq, struct task_struct *p) --- linux-lowlatency-3.5.0.orig/kernel/time/timekeeping.c +++ linux-lowlatency-3.5.0/kernel/time/timekeeping.c @@ -384,7 +384,7 @@ struct timespec ts_delta; unsigned long flags; - if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC) + if (!timespec_valid_strict(tv)) return -EINVAL; write_seqlock_irqsave(&timekeeper.lock, flags); @@ -418,6 +418,8 @@ int timekeeping_inject_offset(struct timespec *ts) { unsigned long flags; + struct timespec tmp; + int ret = 0; if ((unsigned long)ts->tv_nsec >= NSEC_PER_SEC) return -EINVAL; @@ -426,10 +428,17 @@ timekeeping_forward_now(); + tmp = timespec_add(timekeeper.xtime, *ts); + if (!timespec_valid_strict(&tmp)) { + ret = -EINVAL; + goto error; + } + timekeeper.xtime = timespec_add(timekeeper.xtime, *ts); timekeeper.wall_to_monotonic = timespec_sub(timekeeper.wall_to_monotonic, *ts); +error: /* even if we error out, we forwarded the time, so call update */ timekeeping_update(true); write_sequnlock_irqrestore(&timekeeper.lock, flags); @@ -437,7 +446,7 @@ /* signal hrtimers about time change */ clock_was_set(); - return 0; + return ret; } EXPORT_SYMBOL(timekeeping_inject_offset); @@ -597,7 +606,20 @@ struct timespec now, boot; read_persistent_clock(&now); + if (!timespec_valid_strict(&now)) { + pr_warn("WARNING: Persistent clock returned invalid value!\n" + " Check your CMOS/BIOS settings.\n"); + now.tv_sec = 0; + now.tv_nsec = 0; + } + read_boot_clock(&boot); + if (!timespec_valid_strict(&boot)) { + pr_warn("WARNING: Boot clock returned invalid value!\n" + " Check your CMOS/BIOS settings.\n"); + boot.tv_sec = 0; + boot.tv_nsec = 0; + } seqlock_init(&timekeeper.lock); @@ -643,7 +665,7 @@ */ static void __timekeeping_inject_sleeptime(struct timespec *delta) { - if (!timespec_valid(delta)) { + if (!timespec_valid_strict(delta)) { printk(KERN_WARNING "__timekeeping_inject_sleeptime: Invalid " "sleep delta value!\n"); return; @@ -990,7 +1012,7 @@ } /* Accumulate raw time */ - raw_nsecs = timekeeper.raw_interval << shift; + raw_nsecs = (u64)timekeeper.raw_interval << shift; raw_nsecs += timekeeper.raw_time.tv_nsec; if (raw_nsecs >= NSEC_PER_SEC) { u64 raw_secs = raw_nsecs; @@ -1033,6 +1055,10 @@ #else offset = (clock->read(clock) - clock->cycle_last) & clock->mask; #endif + /* Check if there's really nothing to do */ + if (offset < timekeeper.cycle_interval) + goto out; + timekeeper.xtime_nsec = (s64)timekeeper.xtime.tv_nsec << timekeeper.shift; --- linux-lowlatency-3.5.0.orig/kernel/trace/ring_buffer.c +++ linux-lowlatency-3.5.0/kernel/trace/ring_buffer.c @@ -1567,6 +1567,10 @@ put_online_cpus(); } else { + /* Make sure this CPU has been intitialized */ + if (!cpumask_test_cpu(cpu_id, buffer->cpumask)) + goto out; + cpu_buffer = buffer->buffers[cpu_id]; if (nr_pages == cpu_buffer->nr_pages) --- linux-lowlatency-3.5.0.orig/lib/digsig.c +++ linux-lowlatency-3.5.0/lib/digsig.c @@ -163,9 +163,11 @@ memcpy(out1 + head, p, l); err = pkcs_1_v1_5_decode_emsa(out1, len, mblen, out2, &len); + if (err) + goto err; - if (!err && len == hlen) - err = memcmp(out2, h, hlen); + if (len != hlen || memcmp(out2, h, hlen)) + err = -EINVAL; err: mpi_free(in); --- linux-lowlatency-3.5.0.orig/lib/dynamic_debug.c +++ linux-lowlatency-3.5.0/lib/dynamic_debug.c @@ -900,7 +900,7 @@ * passes them to load_module(). This callback gets unknown params, * processes dyndbg params, rejects others. */ -int ddebug_dyndbg_module_param_cb(char *param, char *val, const char *module) +int ddebug_dyndbg_module_param_cb(char *param, char *val, const char *module, int all) { vpr_info("module: %s %s=\"%s\"\n", module, param, val); return ddebug_dyndbg_param_cb(param, val, module, -ENOENT); --- linux-lowlatency-3.5.0.orig/lib/gcd.c +++ linux-lowlatency-3.5.0/lib/gcd.c @@ -9,6 +9,9 @@ if (a < b) swap(a, b); + + if (!b) + return a; while ((r = a % b) != 0) { a = b; b = r; --- linux-lowlatency-3.5.0.orig/lib/genalloc.c +++ linux-lowlatency-3.5.0/lib/genalloc.c @@ -176,7 +176,7 @@ struct gen_pool_chunk *chunk; int nbits = size >> pool->min_alloc_order; int nbytes = sizeof(struct gen_pool_chunk) + - (nbits + BITS_PER_BYTE - 1) / BITS_PER_BYTE; + BITS_TO_LONGS(nbits) * sizeof(long); chunk = kmalloc_node(nbytes, GFP_KERNEL | __GFP_ZERO, nid); if (unlikely(chunk == NULL)) --- linux-lowlatency-3.5.0.orig/lib/vsprintf.c +++ linux-lowlatency-3.5.0/lib/vsprintf.c @@ -1030,7 +1030,8 @@ * %pK cannot be used in IRQ context because its test * for CAP_SYSLOG would be meaningless. */ - if (in_irq() || in_serving_softirq() || in_nmi()) { + if (kptr_restrict && (in_irq() || in_serving_softirq() || + in_nmi())) { if (spec.field_width == -1) spec.field_width = default_width; return string(buf, end, "pK-error", spec); --- linux-lowlatency-3.5.0.orig/mm/filemap.c +++ linux-lowlatency-3.5.0/mm/filemap.c @@ -1304,6 +1304,9 @@ if (size > count) size = count; + if (PageReadaheadUnused(page)) + ClearPageReadaheadUnused(page); + /* * Faults on the destination of a read are common, so do it before * taking the kmap. --- linux-lowlatency-3.5.0.orig/mm/hugetlb.c +++ linux-lowlatency-3.5.0/mm/hugetlb.c @@ -2393,6 +2393,22 @@ { mutex_lock(&vma->vm_file->f_mapping->i_mmap_mutex); __unmap_hugepage_range(vma, start, end, ref_page); + /* + * Clear this flag so that x86's huge_pmd_share page_table_shareable + * test will fail on a vma being torn down, and not grab a page table + * on its way out. We're lucky that the flag has such an appropriate + * name, and can in fact be safely cleared here. We could clear it + * before the __unmap_hugepage_range above, but all that's necessary + * is to clear it before releasing the i_mmap_mutex below. + * + * This works because in the contexts this is called, the VMA is + * going to be destroyed. It is not vunerable to madvise(DONTNEED) + * because madvise is not supported on hugetlbfs. The same applies + * for direct IO. unmap_hugepage_range() is only being called just + * before free_pgtables() so clearing VM_MAYSHARE will not cause + * surprises later. + */ + vma->vm_flags &= ~VM_MAYSHARE; mutex_unlock(&vma->vm_file->f_mapping->i_mmap_mutex); } @@ -2416,7 +2432,8 @@ * from page cache lookup which is in HPAGE_SIZE units. */ address = address & huge_page_mask(h); - pgoff = vma_hugecache_offset(h, vma, address); + pgoff = ((address - vma->vm_start) >> PAGE_SHIFT) + + vma->vm_pgoff; mapping = vma->vm_file->f_dentry->d_inode->i_mapping; /* @@ -2959,9 +2976,14 @@ } } spin_unlock(&mm->page_table_lock); - mutex_unlock(&vma->vm_file->f_mapping->i_mmap_mutex); - + /* + * Must flush TLB before releasing i_mmap_mutex: x86's huge_pmd_unshare + * may have cleared our pud entry and done put_page on the page table: + * once we release i_mmap_mutex, another task can do the final put_page + * and that page table be reused and filled with junk. + */ flush_tlb_range(vma, start, end); + mutex_unlock(&vma->vm_file->f_mapping->i_mmap_mutex); } int hugetlb_reserve_pages(struct inode *inode, --- linux-lowlatency-3.5.0.orig/mm/internal.h +++ linux-lowlatency-3.5.0/mm/internal.h @@ -347,3 +347,5 @@ extern unsigned long vm_mmap_pgoff(struct file *, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long); + +extern void set_pageblock_order(void); --- linux-lowlatency-3.5.0.orig/mm/memblock.c +++ linux-lowlatency-3.5.0/mm/memblock.c @@ -928,6 +928,30 @@ return memblock_overlaps_region(&memblock.reserved, base, size) >= 0; } +void __init_memblock memblock_trim_memory(phys_addr_t align) +{ + int i; + phys_addr_t start, end, orig_start, orig_end; + struct memblock_type *mem = &memblock.memory; + + for (i = 0; i < mem->cnt; i++) { + orig_start = mem->regions[i].base; + orig_end = mem->regions[i].base + mem->regions[i].size; + start = round_up(orig_start, align); + end = round_down(orig_end, align); + + if (start == orig_start && end == orig_end) + continue; + + if (start < end) { + mem->regions[i].base = start; + mem->regions[i].size = end - start; + } else { + memblock_remove_region(mem, i); + i--; + } + } +} void __init_memblock memblock_set_current_limit(phys_addr_t limit) { --- linux-lowlatency-3.5.0.orig/mm/memcontrol.c +++ linux-lowlatency-3.5.0/mm/memcontrol.c @@ -1060,12 +1060,24 @@ struct mem_cgroup *memcg) { struct mem_cgroup_per_zone *mz; + struct lruvec *lruvec; - if (mem_cgroup_disabled()) - return &zone->lruvec; + if (mem_cgroup_disabled()) { + lruvec = &zone->lruvec; + goto out; + } mz = mem_cgroup_zoneinfo(memcg, zone_to_nid(zone), zone_idx(zone)); - return &mz->lruvec; + lruvec = &mz->lruvec; +out: + /* + * Since a node can be onlined after the mem_cgroup was created, + * we have to be prepared to initialize lruvec->zone here; + * and if offlined then reonlined, we need to reinitialize it. + */ + if (unlikely(lruvec->zone != zone)) + lruvec->zone = zone; + return lruvec; } /* @@ -1092,9 +1104,12 @@ struct mem_cgroup_per_zone *mz; struct mem_cgroup *memcg; struct page_cgroup *pc; + struct lruvec *lruvec; - if (mem_cgroup_disabled()) - return &zone->lruvec; + if (mem_cgroup_disabled()) { + lruvec = &zone->lruvec; + goto out; + } pc = lookup_page_cgroup(page); memcg = pc->mem_cgroup; @@ -1112,7 +1127,16 @@ pc->mem_cgroup = memcg = root_mem_cgroup; mz = page_cgroup_zoneinfo(memcg, page); - return &mz->lruvec; + lruvec = &mz->lruvec; +out: + /* + * Since a node can be onlined after the mem_cgroup was created, + * we have to be prepared to initialize lruvec->zone here; + * and if offlined then reonlined, we need to reinitialize it. + */ + if (unlikely(lruvec->zone != zone)) + lruvec->zone = zone; + return lruvec; } /** @@ -1457,17 +1481,26 @@ u64 mem_cgroup_get_limit(struct mem_cgroup *memcg) { u64 limit; - u64 memsw; limit = res_counter_read_u64(&memcg->res, RES_LIMIT); - limit += total_swap_pages << PAGE_SHIFT; - memsw = res_counter_read_u64(&memcg->memsw, RES_LIMIT); /* - * If memsw is finite and limits the amount of swap space available - * to this memcg, return that limit. + * Do not consider swap space if we cannot swap due to swappiness */ - return min(limit, memsw); + if (mem_cgroup_swappiness(memcg)) { + u64 memsw; + + limit += total_swap_pages << PAGE_SHIFT; + memsw = res_counter_read_u64(&memcg->memsw, RES_LIMIT); + + /* + * If memsw is finite and limits the amount of swap space + * available to this memcg, return that limit. + */ + limit = min(limit, memsw); + } + + return limit; } static unsigned long mem_cgroup_reclaim(struct mem_cgroup *memcg, @@ -3617,7 +3650,7 @@ static int mem_cgroup_force_empty_list(struct mem_cgroup *memcg, int node, int zid, enum lru_list lru) { - struct mem_cgroup_per_zone *mz; + struct lruvec *lruvec; unsigned long flags, loop; struct list_head *list; struct page *busy; @@ -3625,10 +3658,10 @@ int ret = 0; zone = &NODE_DATA(node)->node_zones[zid]; - mz = mem_cgroup_zoneinfo(memcg, node, zid); - list = &mz->lruvec.lists[lru]; + lruvec = mem_cgroup_zone_lruvec(zone, memcg); + list = &lruvec->lists[lru]; - loop = mz->lru_size[lru]; + loop = mem_cgroup_get_lru_size(lruvec, lru); /* give some margin against EBUSY etc...*/ loop += 256; busy = NULL; @@ -4674,7 +4707,7 @@ for (zone = 0; zone < MAX_NR_ZONES; zone++) { mz = &pn->zoneinfo[zone]; - lruvec_init(&mz->lruvec, &NODE_DATA(node)->node_zones[zone]); + lruvec_init(&mz->lruvec); mz->usage_in_excess = 0; mz->on_tree = false; mz->memcg = memcg; --- linux-lowlatency-3.5.0.orig/mm/memory-failure.c +++ linux-lowlatency-3.5.0/mm/memory-failure.c @@ -345,14 +345,14 @@ * Also when FAIL is set do a force kill because something went * wrong earlier. */ -static void kill_procs(struct list_head *to_kill, int doit, int trapno, +static void kill_procs(struct list_head *to_kill, int forcekill, int trapno, int fail, struct page *page, unsigned long pfn, int flags) { struct to_kill *tk, *next; list_for_each_entry_safe (tk, next, to_kill, nd) { - if (doit) { + if (forcekill) { /* * In case something went wrong with munmapping * make sure the process doesn't catch the @@ -858,7 +858,7 @@ struct address_space *mapping; LIST_HEAD(tokill); int ret; - int kill = 1; + int kill = 1, forcekill; struct page *hpage = compound_head(p); struct page *ppage; @@ -888,7 +888,7 @@ * be called inside page lock (it's recommended but not enforced). */ mapping = page_mapping(hpage); - if (!PageDirty(hpage) && mapping && + if (!(flags & MF_MUST_KILL) && !PageDirty(hpage) && mapping && mapping_cap_writeback_dirty(mapping)) { if (page_mkclean(hpage)) { SetPageDirty(hpage); @@ -965,12 +965,14 @@ * Now that the dirty bit has been propagated to the * struct page and all unmaps done we can decide if * killing is needed or not. Only kill when the page - * was dirty, otherwise the tokill list is merely + * was dirty or the process is not restartable, + * otherwise the tokill list is merely * freed. When there was a problem unmapping earlier * use a more force-full uncatchable kill to prevent * any accesses to the poisoned memory. */ - kill_procs(&tokill, !!PageDirty(ppage), trapno, + forcekill = PageDirty(ppage) || (flags & MF_MUST_KILL); + kill_procs(&tokill, forcekill, trapno, ret != SWAP_SUCCESS, p, pfn, flags); return ret; @@ -1431,8 +1433,8 @@ /* Keep page count to indicate a given hugepage is isolated. */ list_add(&hpage->lru, &pagelist); - ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0, - true); + ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, false, + MIGRATE_SYNC); if (ret) { struct page *page1, *page2; list_for_each_entry_safe(page1, page2, &pagelist, lru) @@ -1479,9 +1481,17 @@ { int ret; unsigned long pfn = page_to_pfn(page); + struct page *hpage = compound_trans_head(page); if (PageHuge(page)) return soft_offline_huge_page(page, flags); + if (PageTransHuge(hpage)) { + if (PageAnon(hpage) && unlikely(split_huge_page(hpage))) { + pr_info("soft offline: %#lx: failed to split THP\n", + pfn); + return -EBUSY; + } + } ret = get_any_page(page, pfn, flags); if (ret < 0) @@ -1561,7 +1571,7 @@ page_is_file_cache(page)); list_add(&page->lru, &pagelist); ret = migrate_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, - 0, MIGRATE_SYNC); + false, MIGRATE_SYNC); if (ret) { putback_lru_pages(&pagelist); pr_info("soft offline: %#lx: migration failed %d, type %lx\n", --- linux-lowlatency-3.5.0.orig/mm/memory.c +++ linux-lowlatency-3.5.0/mm/memory.c @@ -3239,10 +3239,15 @@ else VM_BUG_ON(!PageLocked(vmf.page)); + page = vmf.page; + + /* Mark the page as used on fault. */ + if (PageReadaheadUnused(page)) + ClearPageReadaheadUnused(page); + /* * Should we do an early C-O-W break? */ - page = vmf.page; if (flags & FAULT_FLAG_WRITE) { if (!(vma->vm_flags & VM_SHARED)) { page = cow_page; --- linux-lowlatency-3.5.0.orig/mm/memory_hotplug.c +++ linux-lowlatency-3.5.0/mm/memory_hotplug.c @@ -126,9 +126,6 @@ struct mem_section *ms; struct page *page, *memmap; - if (!pfn_valid(start_pfn)) - return; - section_nr = pfn_to_section_nr(start_pfn); ms = __nr_to_section(section_nr); @@ -187,9 +184,16 @@ end_pfn = pfn + pgdat->node_spanned_pages; /* register_section info */ - for (; pfn < end_pfn; pfn += PAGES_PER_SECTION) - register_page_bootmem_info_section(pfn); - + for (; pfn < end_pfn; pfn += PAGES_PER_SECTION) { + /* + * Some platforms can assign the same pfn to multiple nodes - on + * node0 as well as nodeN. To avoid registering a pfn against + * multiple nodes we check that this pfn does not already + * reside in some other node. + */ + if (pfn_valid(pfn) && (pfn_to_nid(pfn) == node)) + register_page_bootmem_info_section(pfn); + } } #endif /* !CONFIG_SPARSEMEM_VMEMMAP */ @@ -512,19 +516,20 @@ zone->present_pages += onlined_pages; zone->zone_pgdat->node_present_pages += onlined_pages; - if (need_zonelists_rebuild) - build_all_zonelists(zone); - else - zone_pcp_update(zone); + if (onlined_pages) { + node_set_state(zone_to_nid(zone), N_HIGH_MEMORY); + if (need_zonelists_rebuild) + build_all_zonelists(zone); + else + zone_pcp_update(zone); + } mutex_unlock(&zonelists_mutex); init_per_zone_wmark_min(); - if (onlined_pages) { + if (onlined_pages) kswapd_run(zone_to_nid(zone)); - node_set_state(zone_to_nid(zone), N_HIGH_MEMORY); - } vm_total_pages = nr_free_pagecache_pages(); --- linux-lowlatency-3.5.0.orig/mm/mempolicy.c +++ linux-lowlatency-3.5.0/mm/mempolicy.c @@ -607,6 +607,42 @@ return first; } +/* + * Apply policy to a single VMA + * This must be called with the mmap_sem held for writing. + */ +static int vma_replace_policy(struct vm_area_struct *vma, + struct mempolicy *pol) +{ + int err; + struct mempolicy *old; + struct mempolicy *new; + + pr_debug("vma %lx-%lx/%lx vm_ops %p vm_file %p set_policy %p\n", + vma->vm_start, vma->vm_end, vma->vm_pgoff, + vma->vm_ops, vma->vm_file, + vma->vm_ops ? vma->vm_ops->set_policy : NULL); + + new = mpol_dup(pol); + if (IS_ERR(new)) + return PTR_ERR(new); + + if (vma->vm_ops && vma->vm_ops->set_policy) { + err = vma->vm_ops->set_policy(vma, new); + if (err) + goto err_out; + } + + old = vma->vm_policy; + vma->vm_policy = new; /* protected by mmap_sem */ + mpol_put(old); + + return 0; + err_out: + mpol_put(new); + return err; +} + /* Step 2: apply policy to a range and do splits. */ static int mbind_range(struct mm_struct *mm, unsigned long start, unsigned long end, struct mempolicy *new_pol) @@ -655,23 +691,9 @@ if (err) goto out; } - - /* - * Apply policy to a single VMA. The reference counting of - * policy for vma_policy linkages has already been handled by - * vma_merge and split_vma as necessary. If this is a shared - * policy then ->set_policy will increment the reference count - * for an sp node. - */ - pr_debug("vma %lx-%lx/%lx vm_ops %p vm_file %p set_policy %p\n", - vma->vm_start, vma->vm_end, vma->vm_pgoff, - vma->vm_ops, vma->vm_file, - vma->vm_ops ? vma->vm_ops->set_policy : NULL); - if (vma->vm_ops && vma->vm_ops->set_policy) { - err = vma->vm_ops->set_policy(vma, new_pol); - if (err) - goto out; - } + err = vma_replace_policy(vma, new_pol); + if (err) + goto out; } out: @@ -1530,8 +1552,18 @@ addr); if (vpol) pol = vpol; - } else if (vma->vm_policy) + } else if (vma->vm_policy) { pol = vma->vm_policy; + + /* + * shmem_alloc_page() passes MPOL_F_SHARED policy with + * a pseudo vma whose vma->vm_ops=NULL. Take a reference + * count on these policies which will be dropped by + * mpol_cond_put() later + */ + if (mpol_needs_cond_ref(pol)) + mpol_get(pol); + } } if (!pol) pol = &default_policy; @@ -1997,28 +2029,6 @@ return new; } -/* - * If *frompol needs [has] an extra ref, copy *frompol to *tompol , - * eliminate the * MPOL_F_* flags that require conditional ref and - * [NOTE!!!] drop the extra ref. Not safe to reference *frompol directly - * after return. Use the returned value. - * - * Allows use of a mempolicy for, e.g., multiple allocations with a single - * policy lookup, even if the policy needs/has extra ref on lookup. - * shmem_readahead needs this. - */ -struct mempolicy *__mpol_cond_copy(struct mempolicy *tompol, - struct mempolicy *frompol) -{ - if (!mpol_needs_cond_ref(frompol)) - return frompol; - - *tompol = *frompol; - tompol->flags &= ~MPOL_F_SHARED; /* copy doesn't need unref */ - __mpol_put(frompol); - return tompol; -} - /* Slow path of a mempolicy comparison */ bool __mpol_equal(struct mempolicy *a, struct mempolicy *b) { @@ -2055,7 +2065,7 @@ */ /* lookup first element intersecting start-end */ -/* Caller holds sp->lock */ +/* Caller holds sp->mutex */ static struct sp_node * sp_lookup(struct shared_policy *sp, unsigned long start, unsigned long end) { @@ -2119,36 +2129,50 @@ if (!sp->root.rb_node) return NULL; - spin_lock(&sp->lock); + mutex_lock(&sp->mutex); sn = sp_lookup(sp, idx, idx+1); if (sn) { mpol_get(sn->policy); pol = sn->policy; } - spin_unlock(&sp->lock); + mutex_unlock(&sp->mutex); return pol; } +static void sp_free(struct sp_node *n) +{ + mpol_put(n->policy); + kmem_cache_free(sn_cache, n); +} + static void sp_delete(struct shared_policy *sp, struct sp_node *n) { pr_debug("deleting %lx-l%lx\n", n->start, n->end); rb_erase(&n->nd, &sp->root); - mpol_put(n->policy); - kmem_cache_free(sn_cache, n); + sp_free(n); } static struct sp_node *sp_alloc(unsigned long start, unsigned long end, struct mempolicy *pol) { - struct sp_node *n = kmem_cache_alloc(sn_cache, GFP_KERNEL); + struct sp_node *n; + struct mempolicy *newpol; + n = kmem_cache_alloc(sn_cache, GFP_KERNEL); if (!n) return NULL; + + newpol = mpol_dup(pol); + if (IS_ERR(newpol)) { + kmem_cache_free(sn_cache, n); + return NULL; + } + newpol->flags |= MPOL_F_SHARED; + n->start = start; n->end = end; - mpol_get(pol); - pol->flags |= MPOL_F_SHARED; /* for unref */ - n->policy = pol; + n->policy = newpol; + return n; } @@ -2156,10 +2180,10 @@ static int shared_policy_replace(struct shared_policy *sp, unsigned long start, unsigned long end, struct sp_node *new) { - struct sp_node *n, *new2 = NULL; + struct sp_node *n; + int ret = 0; -restart: - spin_lock(&sp->lock); + mutex_lock(&sp->mutex); n = sp_lookup(sp, start, end); /* Take care of old policies in the same range. */ while (n && n->start < end) { @@ -2172,16 +2196,14 @@ } else { /* Old policy spanning whole new range. */ if (n->end > end) { + struct sp_node *new2; + new2 = sp_alloc(end, n->end, n->policy); if (!new2) { - spin_unlock(&sp->lock); - new2 = sp_alloc(end, n->end, n->policy); - if (!new2) - return -ENOMEM; - goto restart; + ret = -ENOMEM; + goto out; } n->end = start; sp_insert(sp, new2); - new2 = NULL; break; } else n->end = start; @@ -2192,12 +2214,9 @@ } if (new) sp_insert(sp, new); - spin_unlock(&sp->lock); - if (new2) { - mpol_put(new2->policy); - kmem_cache_free(sn_cache, new2); - } - return 0; +out: + mutex_unlock(&sp->mutex); + return ret; } /** @@ -2215,7 +2234,7 @@ int ret; sp->root = RB_ROOT; /* empty tree == default mempolicy */ - spin_lock_init(&sp->lock); + mutex_init(&sp->mutex); if (mpol) { struct vm_area_struct pvma; @@ -2269,7 +2288,7 @@ } err = shared_policy_replace(info, vma->vm_pgoff, vma->vm_pgoff+sz, new); if (err && new) - kmem_cache_free(sn_cache, new); + sp_free(new); return err; } @@ -2281,16 +2300,14 @@ if (!p->root.rb_node) return; - spin_lock(&p->lock); + mutex_lock(&p->mutex); next = rb_first(&p->root); while (next) { n = rb_entry(next, struct sp_node, nd); next = rb_next(&n->nd); - rb_erase(&n->nd, &p->root); - mpol_put(n->policy); - kmem_cache_free(sn_cache, n); + sp_delete(p, n); } - spin_unlock(&p->lock); + mutex_unlock(&p->mutex); } /* assumes fs == KERNEL_DS */ @@ -2556,7 +2573,7 @@ break; default: - BUG(); + return -EINVAL; } l = strlen(policy_modes[mode]); --- linux-lowlatency-3.5.0.orig/mm/mincore.c +++ linux-lowlatency-3.5.0/mm/mincore.c @@ -80,6 +80,8 @@ #endif if (page) { present = PageUptodate(page); + if (present) + present |= (PageReadaheadUnused(page) << 7); page_cache_release(page); } --- linux-lowlatency-3.5.0.orig/mm/mmap.c +++ linux-lowlatency-3.5.0/mm/mmap.c @@ -1355,9 +1355,8 @@ } else if ((flags & MAP_POPULATE) && !(flags & MAP_NONBLOCK)) make_pages_present(addr, addr + len); - if (file && uprobe_mmap(vma)) - /* matching probes but cannot insert */ - goto unmap_and_free_vma; + if (file) + uprobe_mmap(vma); return addr; --- linux-lowlatency-3.5.0.orig/mm/mmu_notifier.c +++ linux-lowlatency-3.5.0/mm/mmu_notifier.c @@ -33,6 +33,24 @@ void __mmu_notifier_release(struct mm_struct *mm) { struct mmu_notifier *mn; + struct hlist_node *n; + + /* + * RCU here will block mmu_notifier_unregister until + * ->release returns. + */ + rcu_read_lock(); + hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) + /* + * if ->release runs before mmu_notifier_unregister it + * must be handled as it's the only way for the driver + * to flush all existing sptes and stop the driver + * from establishing any more sptes before all the + * pages in the mm are freed. + */ + if (mn->ops->release) + mn->ops->release(mn, mm); + rcu_read_unlock(); spin_lock(&mm->mmu_notifier_mm->lock); while (unlikely(!hlist_empty(&mm->mmu_notifier_mm->list))) { @@ -46,23 +64,6 @@ * mmu_notifier_unregister to return. */ hlist_del_init_rcu(&mn->hlist); - /* - * RCU here will block mmu_notifier_unregister until - * ->release returns. - */ - rcu_read_lock(); - spin_unlock(&mm->mmu_notifier_mm->lock); - /* - * if ->release runs before mmu_notifier_unregister it - * must be handled as it's the only way for the driver - * to flush all existing sptes and stop the driver - * from establishing any more sptes before all the - * pages in the mm are freed. - */ - if (mn->ops->release) - mn->ops->release(mn, mm); - rcu_read_unlock(); - spin_lock(&mm->mmu_notifier_mm->lock); } spin_unlock(&mm->mmu_notifier_mm->lock); @@ -284,16 +285,13 @@ { BUG_ON(atomic_read(&mm->mm_count) <= 0); - spin_lock(&mm->mmu_notifier_mm->lock); if (!hlist_unhashed(&mn->hlist)) { - hlist_del_rcu(&mn->hlist); - /* * RCU here will force exit_mmap to wait ->release to finish * before freeing the pages. */ rcu_read_lock(); - spin_unlock(&mm->mmu_notifier_mm->lock); + /* * exit_mmap will block in mmu_notifier_release to * guarantee ->release is called before freeing the @@ -302,8 +300,11 @@ if (mn->ops->release) mn->ops->release(mn, mm); rcu_read_unlock(); - } else + + spin_lock(&mm->mmu_notifier_mm->lock); + hlist_del_rcu(&mn->hlist); spin_unlock(&mm->mmu_notifier_mm->lock); + } /* * Wait any running method to finish, of course including --- linux-lowlatency-3.5.0.orig/mm/mmzone.c +++ linux-lowlatency-3.5.0/mm/mmzone.c @@ -87,7 +87,7 @@ } #endif /* CONFIG_ARCH_HAS_HOLES_MEMORYMODEL */ -void lruvec_init(struct lruvec *lruvec, struct zone *zone) +void lruvec_init(struct lruvec *lruvec) { enum lru_list lru; @@ -95,8 +95,4 @@ for_each_lru(lru) INIT_LIST_HEAD(&lruvec->lists[lru]); - -#ifdef CONFIG_CGROUP_MEM_RES_CTLR - lruvec->zone = zone; -#endif } --- linux-lowlatency-3.5.0.orig/mm/page_alloc.c +++ linux-lowlatency-3.5.0/mm/page_alloc.c @@ -580,7 +580,7 @@ combined_idx = buddy_idx & page_idx; higher_page = page + (combined_idx - page_idx); buddy_idx = __find_buddy_index(combined_idx, order + 1); - higher_buddy = page + (buddy_idx - combined_idx); + higher_buddy = higher_page + (buddy_idx - combined_idx); if (page_is_buddy(higher_page, higher_buddy, order + 1)) { list_add_tail(&page->lru, &zone->free_area[order].free_list[migratetype]); @@ -4301,7 +4301,7 @@ #ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE /* Initialise the number of pages represented by NR_PAGEBLOCK_BITS */ -static inline void __init set_pageblock_order(void) +void __init set_pageblock_order(void) { unsigned int order; @@ -4329,7 +4329,7 @@ * include/linux/pageblock-flags.h for the values of pageblock_order based on * the kernel config */ -static inline void set_pageblock_order(void) +void __init set_pageblock_order(void) { } @@ -4407,7 +4407,7 @@ zone->zone_pgdat = pgdat; zone_pcp_init(zone); - lruvec_init(&zone->lruvec, zone); + lruvec_init(&zone->lruvec); zap_zone_vm_stats(zone); zone->flags = 0; if (!size) @@ -5975,6 +5975,7 @@ #ifdef CONFIG_TRANSPARENT_HUGEPAGE {1UL << PG_compound_lock, "compound_lock" }, #endif + {1UL << PG_readaheadunused, "readaheadunused"}, }; static void dump_page_flags(unsigned long flags) --- linux-lowlatency-3.5.0.orig/mm/readahead.c +++ linux-lowlatency-3.5.0/mm/readahead.c @@ -189,6 +189,7 @@ list_add(&page->lru, &page_pool); if (page_idx == nr_to_read - lookahead_size) SetPageReadahead(page); + SetPageReadaheadUnused(page); ret++; } --- linux-lowlatency-3.5.0.orig/mm/rmap.c +++ linux-lowlatency-3.5.0/mm/rmap.c @@ -56,6 +56,7 @@ #include #include #include +#include #include @@ -971,11 +972,8 @@ if (page_mapped(page)) { struct address_space *mapping = page_mapping(page); - if (mapping) { + if (mapping) ret = page_mkclean_file(mapping, page); - if (page_test_and_clear_dirty(page_to_pfn(page), 1)) - ret = 1; - } } return ret; @@ -1161,6 +1159,7 @@ */ void page_remove_rmap(struct page *page) { + struct address_space *mapping = page_mapping(page); bool anon = PageAnon(page); bool locked; unsigned long flags; @@ -1183,8 +1182,19 @@ * this if the page is anon, so about to be freed; but perhaps * not if it's in swapcache - there might be another pte slot * containing the swap entry, but page not yet written to swap. + * + * And we can skip it on file pages, so long as the filesystem + * participates in dirty tracking; but need to catch shm and tmpfs + * and ramfs pages which have been modified since creation by read + * fault. + * + * Note that mapping must be decided above, before decrementing + * mapcount (which luckily provides a barrier): once page is unmapped, + * it could be truncated and page->mapping reset to NULL at any moment. + * Note also that we are relying on page_mapping(page) to set mapping + * to &swapper_space when PageSwapCache(page). */ - if ((!anon || PageSwapCache(page)) && + if (mapping && !mapping_cap_account_dirty(mapping) && page_test_and_clear_dirty(page_to_pfn(page), 1)) set_page_dirty(page); /* --- linux-lowlatency-3.5.0.orig/mm/shmem.c +++ linux-lowlatency-3.5.0/mm/shmem.c @@ -654,7 +654,7 @@ kfree(xattr->name); kfree(xattr); } - BUG_ON(inode->i_blocks); + WARN_ON(inode->i_blocks); shmem_free_inode(inode->i_sb); clear_inode(inode); } @@ -921,24 +921,28 @@ static struct page *shmem_swapin(swp_entry_t swap, gfp_t gfp, struct shmem_inode_info *info, pgoff_t index) { - struct mempolicy mpol, *spol; struct vm_area_struct pvma; - - spol = mpol_cond_copy(&mpol, - mpol_shared_policy_lookup(&info->policy, index)); + struct page *page; /* Create a pseudo vma that just contains the policy */ pvma.vm_start = 0; pvma.vm_pgoff = index; pvma.vm_ops = NULL; - pvma.vm_policy = spol; - return swapin_readahead(swap, gfp, &pvma, 0); + pvma.vm_policy = mpol_shared_policy_lookup(&info->policy, index); + + page = swapin_readahead(swap, gfp, &pvma, 0); + + /* Drop reference taken by mpol_shared_policy_lookup() */ + mpol_cond_put(pvma.vm_policy); + + return page; } static struct page *shmem_alloc_page(gfp_t gfp, struct shmem_inode_info *info, pgoff_t index) { struct vm_area_struct pvma; + struct page *page; /* Create a pseudo vma that just contains the policy */ pvma.vm_start = 0; @@ -946,10 +950,12 @@ pvma.vm_ops = NULL; pvma.vm_policy = mpol_shared_policy_lookup(&info->policy, index); - /* - * alloc_page_vma() will drop the shared policy reference - */ - return alloc_page_vma(gfp, &pvma, 0); + page = alloc_page_vma(gfp, &pvma, 0); + + /* Drop reference taken by mpol_shared_policy_lookup() */ + mpol_cond_put(pvma.vm_policy); + + return page; } #else /* !CONFIG_NUMA */ #ifdef CONFIG_TMPFS @@ -1154,8 +1160,20 @@ if (!error) { error = shmem_add_to_page_cache(page, mapping, index, gfp, swp_to_radix_entry(swap)); - /* We already confirmed swap, and make no allocation */ - VM_BUG_ON(error); + /* + * We already confirmed swap under page lock, and make + * no memory allocation here, so usually no possibility + * of error; but free_swap_and_cache() only trylocks a + * page, so it is just possible that the entry has been + * truncated or holepunched since swap was confirmed. + * shmem_undo_range() will have done some of the + * unaccounting, now delete_from_swap_cache() will do + * the rest (including mem_cgroup_uncharge_swapcache). + * Reset swap.val? No, leave it so "failed" goes back to + * "repeat": reading a hole and writing should succeed. + */ + if (error) + delete_from_swap_cache(page); } if (error) goto failed; @@ -2364,12 +2382,14 @@ { struct inode *inode; struct dentry *dentry = NULL; - u64 inum = fid->raw[2]; - inum = (inum << 32) | fid->raw[1]; + u64 inum; if (fh_len < 3) return NULL; + inum = fid->raw[2]; + inum = (inum << 32) | fid->raw[1]; + inode = ilookup5(sb, (unsigned long)(inum + fid->raw[0]), shmem_match, fid->raw); if (inode) { --- linux-lowlatency-3.5.0.orig/mm/slab.c +++ linux-lowlatency-3.5.0/mm/slab.c @@ -1685,9 +1685,6 @@ g_cpucache_up = LATE; - /* Annotate slab for lockdep -- annotate the malloc caches */ - init_lock_keys(); - /* 6) resize the head arrays to their final sizes */ mutex_lock(&cache_chain_mutex); list_for_each_entry(cachep, &cache_chain, next) @@ -1695,6 +1692,9 @@ BUG(); mutex_unlock(&cache_chain_mutex); + /* Annotate slab for lockdep -- annotate the malloc caches */ + init_lock_keys(); + /* Done! */ g_cpucache_up = FULL; --- linux-lowlatency-3.5.0.orig/mm/sparse.c +++ linux-lowlatency-3.5.0/mm/sparse.c @@ -493,6 +493,9 @@ struct page **map_map; #endif + /* Setup pageblock_order for HUGETLB_PAGE_SIZE_VARIABLE */ + set_pageblock_order(); + /* * map is using big page (aka 2M in x86 64 bit) * usemap is less one page (aka 24 bytes) @@ -626,7 +629,7 @@ { return; /* XXX: Not implemented yet */ } -static void free_map_bootmem(struct page *page, unsigned long nr_pages) +static void free_map_bootmem(struct page *memmap, unsigned long nr_pages) { } #else @@ -667,10 +670,11 @@ get_order(sizeof(struct page) * nr_pages)); } -static void free_map_bootmem(struct page *page, unsigned long nr_pages) +static void free_map_bootmem(struct page *memmap, unsigned long nr_pages) { unsigned long maps_section_nr, removing_section_nr, i; unsigned long magic; + struct page *page = virt_to_page(memmap); for (i = 0; i < nr_pages; i++, page++) { magic = (unsigned long) page->lru.next; @@ -719,13 +723,10 @@ */ if (memmap) { - struct page *memmap_page; - memmap_page = virt_to_page(memmap); - nr_pages = PAGE_ALIGN(PAGES_PER_SECTION * sizeof(struct page)) >> PAGE_SHIFT; - free_map_bootmem(memmap_page, nr_pages); + free_map_bootmem(memmap, nr_pages); } } --- linux-lowlatency-3.5.0.orig/mm/truncate.c +++ linux-lowlatency-3.5.0/mm/truncate.c @@ -394,11 +394,12 @@ if (page_has_private(page) && !try_to_release_page(page, GFP_KERNEL)) return 0; + clear_page_mlock(page); + spin_lock_irq(&mapping->tree_lock); if (PageDirty(page)) goto failed; - clear_page_mlock(page); BUG_ON(page_has_private(page)); __delete_from_page_cache(page); spin_unlock_irq(&mapping->tree_lock); --- linux-lowlatency-3.5.0.orig/mm/vmscan.c +++ linux-lowlatency-3.5.0/mm/vmscan.c @@ -720,9 +720,41 @@ (PageSwapCache(page) && (sc->gfp_mask & __GFP_IO)); if (PageWriteback(page)) { - nr_writeback++; - unlock_page(page); - goto keep; + /* + * memcg doesn't have any dirty pages throttling so we + * could easily OOM just because too many pages are in + * writeback and there is nothing else to reclaim. + * + * Check __GFP_IO, certainly because a loop driver + * thread might enter reclaim, and deadlock if it waits + * on a page for which it is needed to do the write + * (loop masks off __GFP_IO|__GFP_FS for this reason); + * but more thought would probably show more reasons. + * + * Don't require __GFP_FS, since we're not going into + * the FS, just waiting on its writeback completion. + * Worryingly, ext4 gfs2 and xfs allocate pages with + * grab_cache_page_write_begin(,,AOP_FLAG_NOFS), so + * testing may_enter_fs here is liable to OOM on them. + */ + if (global_reclaim(sc) || + !PageReclaim(page) || !(sc->gfp_mask & __GFP_IO)) { + /* + * This is slightly racy - end_page_writeback() + * might have just cleared PageReclaim, then + * setting PageReclaim here end up interpreted + * as PageReadahead - but that does not matter + * enough to care. What we do want is for this + * page to have PageReclaim set next time memcg + * reclaim reaches the tests above, so it will + * then wait_on_page_writeback() to avoid OOM; + * and it's also appropriate in global reclaim. + */ + SetPageReclaim(page); + nr_writeback++; + goto keep_locked; + } + wait_on_page_writeback(page); } references = page_check_references(page, sc); @@ -2245,6 +2277,19 @@ } while (memcg); } +static bool zone_balanced(struct zone *zone, int order, + unsigned long balance_gap, int classzone_idx) +{ + if (!zone_watermark_ok_safe(zone, order, high_wmark_pages(zone) + + balance_gap, classzone_idx, 0)) + return false; + + if (COMPACTION_BUILD && order && !compaction_suitable(zone, order)) + return false; + + return true; +} + /* * pgdat_balanced is used when checking if a node is balanced for high-order * allocations. Only zones that meet watermarks and are in a zone allowed @@ -2304,8 +2349,7 @@ continue; } - if (!zone_watermark_ok_safe(zone, order, high_wmark_pages(zone), - i, 0)) + if (!zone_balanced(zone, order, 0, i)) all_zones_ok = false; else balanced += zone->present_pages; @@ -2414,8 +2458,7 @@ break; } - if (!zone_watermark_ok_safe(zone, order, - high_wmark_pages(zone), 0, 0)) { + if (!zone_balanced(zone, order, 0, 0)) { end_zone = i; break; } else { @@ -2491,9 +2534,8 @@ testorder = 0; if ((buffer_heads_over_limit && is_highmem_idx(i)) || - !zone_watermark_ok_safe(zone, testorder, - high_wmark_pages(zone) + balance_gap, - end_zone, 0)) { + !zone_balanced(zone, testorder, + balance_gap, end_zone)) { shrink_zone(zone, &sc); reclaim_state->reclaimed_slab = 0; @@ -2520,8 +2562,7 @@ continue; } - if (!zone_watermark_ok_safe(zone, testorder, - high_wmark_pages(zone), end_zone, 0)) { + if (!zone_balanced(zone, testorder, 0, end_zone)) { all_zones_ok = 0; /* * We are still under min water mark. This @@ -2803,6 +2844,8 @@ &balanced_classzone_idx); } } + + current->reclaim_state = NULL; return 0; } --- linux-lowlatency-3.5.0.orig/net/compat.c +++ linux-lowlatency-3.5.0/net/compat.c @@ -221,6 +221,8 @@ { struct compat_cmsghdr __user *cm = (struct compat_cmsghdr __user *) kmsg->msg_control; struct compat_cmsghdr cmhdr; + struct compat_timeval ctv; + struct compat_timespec cts[3]; int cmlen; if (cm == NULL || kmsg->msg_controllen < sizeof(*cm)) { @@ -229,8 +231,6 @@ } if (!COMPAT_USE_64BIT_TIME) { - struct compat_timeval ctv; - struct compat_timespec cts[3]; if (level == SOL_SOCKET && type == SCM_TIMESTAMP) { struct timeval *tv = (struct timeval *)data; ctv.tv_sec = tv->tv_sec; --- linux-lowlatency-3.5.0.orig/net/socket.c +++ linux-lowlatency-3.5.0/net/socket.c @@ -522,6 +522,9 @@ if (rcu_dereference_protected(sock->wq, 1)->fasync_list) printk(KERN_ERR "sock_release: fasync list not empty!\n"); + if (test_bit(SOCK_EXTERNALLY_ALLOCATED, &sock->flags)) + return; + this_cpu_sub(sockets_in_use, 1); if (!sock->file) { iput(SOCK_INODE(sock)); @@ -2602,7 +2605,7 @@ err = sock_do_ioctl(net, sock, cmd, (unsigned long)&ktv); set_fs(old_fs); if (!err) - err = compat_put_timeval(up, &ktv); + err = compat_put_timeval(&ktv, up); return err; } @@ -2618,7 +2621,7 @@ err = sock_do_ioctl(net, sock, cmd, (unsigned long)&kts); set_fs(old_fs); if (!err) - err = compat_put_timespec(up, &kts); + err = compat_put_timespec(&kts, up); return err; } @@ -2655,6 +2658,7 @@ if (copy_from_user(&ifc32, uifc32, sizeof(struct compat_ifconf))) return -EFAULT; + memset(&ifc, 0, sizeof(ifc)); if (ifc32.ifcbuf == 0) { ifc32.ifc_len = 0; ifc.ifc_len = 0; --- linux-lowlatency-3.5.0.orig/net/8021q/vlan_core.c +++ linux-lowlatency-3.5.0/net/8021q/vlan_core.c @@ -5,7 +5,7 @@ #include #include "vlan.h" -bool vlan_do_receive(struct sk_buff **skbp, bool last_handler) +bool vlan_do_receive(struct sk_buff **skbp) { struct sk_buff *skb = *skbp; u16 vlan_id = skb->vlan_tci & VLAN_VID_MASK; @@ -13,14 +13,8 @@ struct vlan_pcpu_stats *rx_stats; vlan_dev = vlan_find_dev(skb->dev, vlan_id); - if (!vlan_dev) { - /* Only the last call to vlan_do_receive() should change - * pkt_type to PACKET_OTHERHOST - */ - if (vlan_id && last_handler) - skb->pkt_type = PACKET_OTHERHOST; + if (!vlan_dev) return false; - } skb = *skbp = skb_share_check(skb, GFP_ATOMIC); if (unlikely(!skb)) @@ -105,7 +99,6 @@ return NULL; memmove(skb->data - ETH_HLEN, skb->data - VLAN_ETH_HLEN, 2 * ETH_ALEN); skb->mac_header += VLAN_HLEN; - skb_reset_mac_len(skb); return skb; } @@ -139,6 +132,8 @@ skb_reset_network_header(skb); skb_reset_transport_header(skb); + skb_reset_mac_len(skb); + return skb; err_free: --- linux-lowlatency-3.5.0.orig/net/atm/common.c +++ linux-lowlatency-3.5.0/net/atm/common.c @@ -812,6 +812,7 @@ if (!vcc->dev || !test_bit(ATM_VF_ADDR, &vcc->flags)) return -ENOTCONN; + memset(&pvc, 0, sizeof(pvc)); pvc.sap_family = AF_ATMPVC; pvc.sap_addr.itf = vcc->dev->number; pvc.sap_addr.vpi = vcc->vpi; --- linux-lowlatency-3.5.0.orig/net/atm/pvc.c +++ linux-lowlatency-3.5.0/net/atm/pvc.c @@ -95,6 +95,7 @@ return -ENOTCONN; *sockaddr_len = sizeof(struct sockaddr_atmpvc); addr = (struct sockaddr_atmpvc *)sockaddr; + memset(addr, 0, sizeof(*addr)); addr->sap_family = AF_ATMPVC; addr->sap_addr.itf = vcc->dev->number; addr->sap_addr.vpi = vcc->vpi; --- linux-lowlatency-3.5.0.orig/net/batman-adv/bitarray.h +++ linux-lowlatency-3.5.0/net/batman-adv/bitarray.h @@ -22,8 +22,9 @@ #ifndef _NET_BATMAN_ADV_BITARRAY_H_ #define _NET_BATMAN_ADV_BITARRAY_H_ -/* returns true if the corresponding bit in the given seq_bits indicates true - * and curr_seqno is within range of last_seqno */ +/* Returns 1 if the corresponding bit in the given seq_bits indicates true + * and curr_seqno is within range of last_seqno. Otherwise returns 0. + */ static inline int bat_test_bit(const unsigned long *seq_bits, uint32_t last_seqno, uint32_t curr_seqno) { @@ -33,7 +34,7 @@ if (diff < 0 || diff >= TQ_LOCAL_WINDOW_SIZE) return 0; else - return test_bit(diff, seq_bits); + return test_bit(diff, seq_bits) != 0; } /* turn corresponding bit on, so we can remember that we got the packet */ --- linux-lowlatency-3.5.0.orig/net/batman-adv/routing.c +++ linux-lowlatency-3.5.0/net/batman-adv/routing.c @@ -1081,8 +1081,14 @@ spin_unlock_bh(&orig_node->bcast_seqno_lock); + /* keep skb linear for crc calculation */ + if (skb_linearize(skb) < 0) + goto out; + + bcast_packet = (struct bcast_packet *)skb->data; + /* check whether this has been sent by another originator before */ - if (bla_check_bcast_duplist(bat_priv, bcast_packet, hdr_size)) + if (bla_check_bcast_duplist(bat_priv, bcast_packet, skb->len)) goto out; /* rebroadcast packet */ --- linux-lowlatency-3.5.0.orig/net/batman-adv/bridge_loop_avoidance.c +++ linux-lowlatency-3.5.0/net/batman-adv/bridge_loop_avoidance.c @@ -1172,8 +1172,8 @@ /** * @bat_priv: the bat priv with all the soft interface information - * @bcast_packet: originator mac address - * @hdr_size: maximum length of the frame + * @bcast_packet: encapsulated broadcast frame plus batman header + * @bcast_packet_len: length of encapsulated broadcast frame plus batman header * * check if it is on our broadcast list. Another gateway might * have sent the same packet because it is connected to the same backbone, @@ -1188,14 +1188,14 @@ int bla_check_bcast_duplist(struct bat_priv *bat_priv, struct bcast_packet *bcast_packet, - int hdr_size) + int bcast_packet_len) { int i, length, curr; uint8_t *content; uint16_t crc; struct bcast_duplist_entry *entry; - length = hdr_size - sizeof(*bcast_packet); + length = bcast_packet_len - sizeof(*bcast_packet); content = (uint8_t *)bcast_packet; content += sizeof(*bcast_packet); --- linux-lowlatency-3.5.0.orig/net/bluetooth/hci_conn.c +++ linux-lowlatency-3.5.0/net/bluetooth/hci_conn.c @@ -42,6 +42,7 @@ #include #include +#include static void hci_le_connect(struct hci_conn *conn) { @@ -627,6 +628,9 @@ { BT_DBG("conn %p", conn); + if (conn->type == LE_LINK) + return smp_conn_security(conn, sec_level); + /* For sdp we don't need the link key. */ if (sec_level == BT_SECURITY_SDP) return 1; --- linux-lowlatency-3.5.0.orig/net/bluetooth/hci_core.c +++ linux-lowlatency-3.5.0/net/bluetooth/hci_core.c @@ -744,6 +744,8 @@ done: hci_req_unlock(hdev); hci_dev_put(hdev); + if (!ret && hdev->load_firmware) + hdev->load_firmware(hdev); return ret; } @@ -753,6 +755,8 @@ cancel_work_sync(&hdev->le_scan); + cancel_delayed_work(&hdev->power_off); + hci_req_cancel(hdev, ENODEV); hci_req_lock(hdev); --- linux-lowlatency-3.5.0.orig/net/bluetooth/hci_event.c +++ linux-lowlatency-3.5.0/net/bluetooth/hci_event.c @@ -1375,6 +1375,9 @@ return false; e = hci_inquiry_cache_lookup_resolve(hdev, BDADDR_ANY, NAME_NEEDED); + if (!e) + return false; + if (hci_resolve_name(hdev, e) == 0) { e->name_state = NAME_PENDING; return true; @@ -1403,12 +1406,20 @@ return; e = hci_inquiry_cache_lookup_resolve(hdev, bdaddr, NAME_PENDING); - if (e) { + /* If the device was not found in a list of found devices names of which + * are pending. there is no need to continue resolving a next name as it + * will be done upon receiving another Remote Name Request Complete + * Event */ + if (!e) + return; + + list_del(&e->list); + if (name) { e->name_state = NAME_KNOWN; - list_del(&e->list); - if (name) - mgmt_remote_name(hdev, bdaddr, ACL_LINK, 0x00, - e->data.rssi, name, name_len); + mgmt_remote_name(hdev, bdaddr, ACL_LINK, 0x00, + e->data.rssi, name, name_len); + } else { + e->name_state = NAME_NOT_KNOWN; } if (hci_resolve_next_name(hdev)) @@ -1772,7 +1783,12 @@ if (conn->type == ACL_LINK) { conn->state = BT_CONFIG; hci_conn_hold(conn); - conn->disc_timeout = HCI_DISCONN_TIMEOUT; + + if (!conn->out && !hci_conn_ssp_enabled(conn) && + !hci_find_link_key(hdev, &ev->bdaddr)) + conn->disc_timeout = HCI_PAIRING_TIMEOUT; + else + conn->disc_timeout = HCI_DISCONN_TIMEOUT; } else conn->state = BT_CONNECTED; --- linux-lowlatency-3.5.0.orig/net/bluetooth/hci_sock.c +++ linux-lowlatency-3.5.0/net/bluetooth/hci_sock.c @@ -706,6 +706,7 @@ *addr_len = sizeof(*haddr); haddr->hci_family = AF_BLUETOOTH; haddr->hci_dev = hdev->id; + haddr->hci_channel= 0; release_sock(sk); return 0; @@ -1016,6 +1017,7 @@ { struct hci_filter *f = &hci_pi(sk)->filter; + memset(&uf, 0, sizeof(uf)); uf.type_mask = f->type_mask; uf.opcode = f->opcode; uf.event_mask[0] = *((u32 *) f->event_mask + 0); --- linux-lowlatency-3.5.0.orig/net/bluetooth/l2cap_core.c +++ linux-lowlatency-3.5.0/net/bluetooth/l2cap_core.c @@ -1163,6 +1163,7 @@ sk = chan->sk; hci_conn_hold(conn->hcon); + conn->hcon->disc_timeout = HCI_DISCONN_TIMEOUT; bacpy(&bt_sk(sk)->src, conn->src); bacpy(&bt_sk(sk)->dst, conn->dst); @@ -1183,14 +1184,15 @@ static void l2cap_conn_ready(struct l2cap_conn *conn) { struct l2cap_chan *chan; + struct hci_conn *hcon = conn->hcon; BT_DBG("conn %p", conn); - if (!conn->hcon->out && conn->hcon->type == LE_LINK) + if (!hcon->out && hcon->type == LE_LINK) l2cap_le_conn_ready(conn); - if (conn->hcon->out && conn->hcon->type == LE_LINK) - smp_conn_security(conn, conn->hcon->pending_sec_level); + if (hcon->out && hcon->type == LE_LINK) + smp_conn_security(hcon, hcon->pending_sec_level); mutex_lock(&conn->chan_lock); @@ -1198,8 +1200,8 @@ l2cap_chan_lock(chan); - if (conn->hcon->type == LE_LINK) { - if (smp_conn_security(conn, chan->sec_level)) + if (hcon->type == LE_LINK) { + if (smp_conn_security(hcon, chan->sec_level)) l2cap_chan_ready(chan); } else if (chan->chan_type != L2CAP_CHAN_CONN_ORIENTED) { --- linux-lowlatency-3.5.0.orig/net/bluetooth/l2cap_sock.c +++ linux-lowlatency-3.5.0/net/bluetooth/l2cap_sock.c @@ -246,6 +246,7 @@ BT_DBG("sock %p, sk %p", sock, sk); + memset(la, 0, sizeof(struct sockaddr_l2)); addr->sa_family = AF_BLUETOOTH; *len = sizeof(struct sockaddr_l2); @@ -595,7 +596,7 @@ break; } - if (smp_conn_security(conn, sec.level)) + if (smp_conn_security(conn->hcon, sec.level)) break; sk->sk_state = BT_CONFIG; chan->state = BT_CONFIG; --- linux-lowlatency-3.5.0.orig/net/bluetooth/mgmt.c +++ linux-lowlatency-3.5.0/net/bluetooth/mgmt.c @@ -323,7 +323,7 @@ struct hci_dev *d; size_t rp_len; u16 count; - int i, err; + int err; BT_DBG("sock %p", sk); @@ -341,17 +341,18 @@ return -ENOMEM; } - rp->num_controllers = cpu_to_le16(count); - - i = 0; + count = 0; list_for_each_entry(d, &hci_dev_list, list) { if (test_bit(HCI_SETUP, &d->dev_flags)) continue; - rp->index[i++] = cpu_to_le16(d->id); + rp->index[count++] = cpu_to_le16(d->id); BT_DBG("Added hci%u", d->id); } + rp->num_controllers = cpu_to_le16(count); + rp_len = sizeof(*rp) + (2 * count); + read_unlock(&hci_dev_list_lock); err = cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_INDEX_LIST, 0, rp, @@ -2879,6 +2880,22 @@ if (scan) hci_send_cmd(hdev, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan); + if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) { + u8 ssp = 1; + + hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, 1, &ssp); + } + + if (test_bit(HCI_LE_ENABLED, &hdev->dev_flags)) { + struct hci_cp_write_le_host_supported cp; + + cp.le = 1; + cp.simul = !!(hdev->features[6] & LMP_SIMUL_LE_BR); + + hci_send_cmd(hdev, HCI_OP_WRITE_LE_HOST_SUPPORTED, + sizeof(cp), &cp); + } + update_class(hdev); update_name(hdev, hdev->dev_name); update_eir(hdev); --- linux-lowlatency-3.5.0.orig/net/bluetooth/smp.c +++ linux-lowlatency-3.5.0/net/bluetooth/smp.c @@ -31,6 +31,8 @@ #define SMP_TIMEOUT msecs_to_jiffies(30000) +#define AUTH_REQ_MASK 0x07 + static inline void swap128(u8 src[16], u8 dst[16]) { int i; @@ -229,7 +231,7 @@ req->max_key_size = SMP_MAX_ENC_KEY_SIZE; req->init_key_dist = 0; req->resp_key_dist = dist_keys; - req->auth_req = authreq; + req->auth_req = (authreq & AUTH_REQ_MASK); return; } @@ -238,7 +240,7 @@ rsp->max_key_size = SMP_MAX_ENC_KEY_SIZE; rsp->init_key_dist = 0; rsp->resp_key_dist = req->resp_key_dist & dist_keys; - rsp->auth_req = authreq; + rsp->auth_req = (authreq & AUTH_REQ_MASK); } static u8 check_enc_key_size(struct l2cap_conn *conn, __u8 max_key_size) @@ -266,10 +268,10 @@ mgmt_auth_failed(conn->hcon->hdev, conn->dst, hcon->type, hcon->dst_type, reason); - if (test_and_clear_bit(HCI_CONN_LE_SMP_PEND, &conn->hcon->flags)) { - cancel_delayed_work_sync(&conn->security_timer); + cancel_delayed_work_sync(&conn->security_timer); + + if (test_and_clear_bit(HCI_CONN_LE_SMP_PEND, &conn->hcon->flags)) smp_chan_destroy(conn); - } } #define JUST_WORKS 0x00 @@ -756,9 +758,9 @@ return 0; } -int smp_conn_security(struct l2cap_conn *conn, __u8 sec_level) +int smp_conn_security(struct hci_conn *hcon, __u8 sec_level) { - struct hci_conn *hcon = conn->hcon; + struct l2cap_conn *conn = hcon->l2cap_data; struct smp_chan *smp = conn->smp_chan; __u8 authreq; --- linux-lowlatency-3.5.0.orig/net/bluetooth/rfcomm/sock.c +++ linux-lowlatency-3.5.0/net/bluetooth/rfcomm/sock.c @@ -547,6 +547,7 @@ BT_DBG("sock %p, sk %p", sock, sk); + memset(sa, 0, sizeof(*sa)); sa->rc_family = AF_BLUETOOTH; sa->rc_channel = rfcomm_pi(sk)->channel; if (peer) @@ -841,6 +842,7 @@ } sec.level = rfcomm_pi(sk)->sec_level; + sec.key_size = 0; len = min_t(unsigned int, len, sizeof(sec)); if (copy_to_user(optval, (char *) &sec, len)) --- linux-lowlatency-3.5.0.orig/net/bluetooth/rfcomm/tty.c +++ linux-lowlatency-3.5.0/net/bluetooth/rfcomm/tty.c @@ -461,7 +461,7 @@ size = sizeof(*dl) + dev_num * sizeof(*di); - dl = kmalloc(size, GFP_KERNEL); + dl = kzalloc(size, GFP_KERNEL); if (!dl) return -ENOMEM; --- linux-lowlatency-3.5.0.orig/net/bridge/br_netfilter.c +++ linux-lowlatency-3.5.0/net/bridge/br_netfilter.c @@ -256,6 +256,9 @@ struct net_device *dev = skb->dev; u32 len; + if (!pskb_may_pull(skb, sizeof(struct iphdr))) + goto inhdr_error; + iph = ip_hdr(skb); opt = &(IPCB(skb)->opt); --- linux-lowlatency-3.5.0.orig/net/can/bcm.c +++ linux-lowlatency-3.5.0/net/can/bcm.c @@ -1084,6 +1084,9 @@ op->sk = sk; op->ifindex = ifindex; + /* ifindex for timeout events w/o previous frame reception */ + op->rx_ifindex = ifindex; + /* initialize uninitialized (kzalloc) structure */ hrtimer_init(&op->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); op->timer.function = bcm_rx_timeout_handler; --- linux-lowlatency-3.5.0.orig/net/ceph/ceph_common.c +++ linux-lowlatency-3.5.0/net/ceph/ceph_common.c @@ -83,7 +83,6 @@ return -1; } } else { - pr_info("client%lld fsid %pU\n", ceph_client_id(client), fsid); memcpy(&client->fsid, fsid, sizeof(*fsid)); } return 0; @@ -468,19 +467,15 @@ /* msgr */ if (ceph_test_opt(client, MYIP)) myaddr = &client->options->my_addr; - client->msgr = ceph_messenger_create(myaddr, - client->supported_features, - client->required_features); - if (IS_ERR(client->msgr)) { - err = PTR_ERR(client->msgr); - goto fail; - } - client->msgr->nocrc = ceph_test_opt(client, NOCRC); + ceph_messenger_init(&client->msgr, myaddr, + client->supported_features, + client->required_features, + ceph_test_opt(client, NOCRC)); /* subsystems */ err = ceph_monc_init(&client->monc, client); if (err < 0) - goto fail_msgr; + goto fail; err = ceph_osdc_init(&client->osdc, client); if (err < 0) goto fail_monc; @@ -489,8 +484,6 @@ fail_monc: ceph_monc_stop(&client->monc); -fail_msgr: - ceph_messenger_destroy(client->msgr); fail: kfree(client); return ERR_PTR(err); @@ -501,6 +494,8 @@ { dout("destroy_client %p\n", client); + atomic_set(&client->msgr.stopping, 1); + /* unmount */ ceph_osdc_stop(&client->osdc); @@ -508,8 +503,6 @@ ceph_debugfs_client_cleanup(client); - ceph_messenger_destroy(client->msgr); - ceph_destroy_options(client->options); kfree(client); --- linux-lowlatency-3.5.0.orig/net/ceph/crypto.c +++ linux-lowlatency-3.5.0/net/ceph/crypto.c @@ -466,6 +466,7 @@ struct ceph_crypto_key *ckey = key->payload.data; ceph_crypto_key_destroy(ckey); + kfree(ckey); } struct key_type key_type_ceph = { --- linux-lowlatency-3.5.0.orig/net/ceph/crypto.h +++ linux-lowlatency-3.5.0/net/ceph/crypto.h @@ -16,7 +16,8 @@ static inline void ceph_crypto_key_destroy(struct ceph_crypto_key *key) { - kfree(key->key); + if (key) + kfree(key->key); } extern int ceph_crypto_key_clone(struct ceph_crypto_key *dst, --- linux-lowlatency-3.5.0.orig/net/ceph/debugfs.c +++ linux-lowlatency-3.5.0/net/ceph/debugfs.c @@ -189,6 +189,9 @@ snprintf(name, sizeof(name), "%pU.client%lld", &client->fsid, client->monc.auth->global_id); + dout("ceph_debugfs_client_init %p %s\n", client, name); + + BUG_ON(client->debugfs_dir); client->debugfs_dir = debugfs_create_dir(name, ceph_debugfs_dir); if (!client->debugfs_dir) goto out; @@ -234,6 +237,7 @@ void ceph_debugfs_client_cleanup(struct ceph_client *client) { + dout("ceph_debugfs_client_cleanup %p\n", client); debugfs_remove(client->debugfs_osdmap); debugfs_remove(client->debugfs_monmap); debugfs_remove(client->osdc.debugfs_file); --- linux-lowlatency-3.5.0.orig/net/ceph/messenger.c +++ linux-lowlatency-3.5.0/net/ceph/messenger.c @@ -29,6 +29,74 @@ * the sender. */ +/* + * We track the state of the socket on a given connection using + * values defined below. The transition to a new socket state is + * handled by a function which verifies we aren't coming from an + * unexpected state. + * + * -------- + * | NEW* | transient initial state + * -------- + * | con_sock_state_init() + * v + * ---------- + * | CLOSED | initialized, but no socket (and no + * ---------- TCP connection) + * ^ \ + * | \ con_sock_state_connecting() + * | ---------------------- + * | \ + * + con_sock_state_closed() \ + * |+--------------------------- \ + * | \ \ \ + * | ----------- \ \ + * | | CLOSING | socket event; \ \ + * | ----------- await close \ \ + * | ^ \ | + * | | \ | + * | + con_sock_state_closing() \ | + * | / \ | | + * | / --------------- | | + * | / \ v v + * | / -------------- + * | / -----------------| CONNECTING | socket created, TCP + * | | / -------------- connect initiated + * | | | con_sock_state_connected() + * | | v + * ------------- + * | CONNECTED | TCP connection established + * ------------- + * + * State values for ceph_connection->sock_state; NEW is assumed to be 0. + */ + +#define CON_SOCK_STATE_NEW 0 /* -> CLOSED */ +#define CON_SOCK_STATE_CLOSED 1 /* -> CONNECTING */ +#define CON_SOCK_STATE_CONNECTING 2 /* -> CONNECTED or -> CLOSING */ +#define CON_SOCK_STATE_CONNECTED 3 /* -> CLOSING or -> CLOSED */ +#define CON_SOCK_STATE_CLOSING 4 /* -> CLOSED */ + +/* + * connection states + */ +#define CON_STATE_CLOSED 1 /* -> PREOPEN */ +#define CON_STATE_PREOPEN 2 /* -> CONNECTING, CLOSED */ +#define CON_STATE_CONNECTING 3 /* -> NEGOTIATING, CLOSED */ +#define CON_STATE_NEGOTIATING 4 /* -> OPEN, CLOSED */ +#define CON_STATE_OPEN 5 /* -> STANDBY, CLOSED */ +#define CON_STATE_STANDBY 6 /* -> PREOPEN, CLOSED */ + +/* + * ceph_connection flag bits + */ +#define CON_FLAG_LOSSYTX 0 /* we can close channel or drop + * messages on errors */ +#define CON_FLAG_KEEPALIVE_PENDING 1 /* we need to send a keepalive */ +#define CON_FLAG_WRITE_PENDING 2 /* we have data ready to send */ +#define CON_FLAG_SOCK_CLOSED 3 /* socket state changed to closed */ +#define CON_FLAG_BACKOFF 4 /* need to retry queuing delayed work */ + /* static tag bytes (protocol control messages) */ static char tag_msg = CEPH_MSGR_TAG_MSG; static char tag_ack = CEPH_MSGR_TAG_ACK; @@ -147,72 +215,130 @@ } EXPORT_SYMBOL(ceph_msgr_flush); +/* Connection socket state transition functions */ + +static void con_sock_state_init(struct ceph_connection *con) +{ + int old_state; + + old_state = atomic_xchg(&con->sock_state, CON_SOCK_STATE_CLOSED); + if (WARN_ON(old_state != CON_SOCK_STATE_NEW)) + printk("%s: unexpected old state %d\n", __func__, old_state); + dout("%s con %p sock %d -> %d\n", __func__, con, old_state, + CON_SOCK_STATE_CLOSED); +} + +static void con_sock_state_connecting(struct ceph_connection *con) +{ + int old_state; + + old_state = atomic_xchg(&con->sock_state, CON_SOCK_STATE_CONNECTING); + if (WARN_ON(old_state != CON_SOCK_STATE_CLOSED)) + printk("%s: unexpected old state %d\n", __func__, old_state); + dout("%s con %p sock %d -> %d\n", __func__, con, old_state, + CON_SOCK_STATE_CONNECTING); +} + +static void con_sock_state_connected(struct ceph_connection *con) +{ + int old_state; + + old_state = atomic_xchg(&con->sock_state, CON_SOCK_STATE_CONNECTED); + if (WARN_ON(old_state != CON_SOCK_STATE_CONNECTING)) + printk("%s: unexpected old state %d\n", __func__, old_state); + dout("%s con %p sock %d -> %d\n", __func__, con, old_state, + CON_SOCK_STATE_CONNECTED); +} + +static void con_sock_state_closing(struct ceph_connection *con) +{ + int old_state; + + old_state = atomic_xchg(&con->sock_state, CON_SOCK_STATE_CLOSING); + if (WARN_ON(old_state != CON_SOCK_STATE_CONNECTING && + old_state != CON_SOCK_STATE_CONNECTED && + old_state != CON_SOCK_STATE_CLOSING)) + printk("%s: unexpected old state %d\n", __func__, old_state); + dout("%s con %p sock %d -> %d\n", __func__, con, old_state, + CON_SOCK_STATE_CLOSING); +} + +static void con_sock_state_closed(struct ceph_connection *con) +{ + int old_state; + + old_state = atomic_xchg(&con->sock_state, CON_SOCK_STATE_CLOSED); + if (WARN_ON(old_state != CON_SOCK_STATE_CONNECTED && + old_state != CON_SOCK_STATE_CLOSING && + old_state != CON_SOCK_STATE_CONNECTING && + old_state != CON_SOCK_STATE_CLOSED)) + printk("%s: unexpected old state %d\n", __func__, old_state); + dout("%s con %p sock %d -> %d\n", __func__, con, old_state, + CON_SOCK_STATE_CLOSED); +} /* * socket callback functions */ /* data available on socket, or listen socket received a connect */ -static void ceph_data_ready(struct sock *sk, int count_unused) +static void ceph_sock_data_ready(struct sock *sk, int count_unused) { struct ceph_connection *con = sk->sk_user_data; + if (atomic_read(&con->msgr->stopping)) { + return; + } if (sk->sk_state != TCP_CLOSE_WAIT) { - dout("ceph_data_ready on %p state = %lu, queueing work\n", + dout("%s on %p state = %lu, queueing work\n", __func__, con, con->state); queue_con(con); } } /* socket has buffer space for writing */ -static void ceph_write_space(struct sock *sk) +static void ceph_sock_write_space(struct sock *sk) { struct ceph_connection *con = sk->sk_user_data; /* only queue to workqueue if there is data we want to write, * and there is sufficient space in the socket buffer to accept - * more data. clear SOCK_NOSPACE so that ceph_write_space() + * more data. clear SOCK_NOSPACE so that ceph_sock_write_space() * doesn't get called again until try_write() fills the socket * buffer. See net/ipv4/tcp_input.c:tcp_check_space() * and net/core/stream.c:sk_stream_write_space(). */ - if (test_bit(WRITE_PENDING, &con->state)) { + if (test_bit(CON_FLAG_WRITE_PENDING, &con->flags)) { if (sk_stream_wspace(sk) >= sk_stream_min_wspace(sk)) { - dout("ceph_write_space %p queueing write work\n", con); + dout("%s %p queueing write work\n", __func__, con); clear_bit(SOCK_NOSPACE, &sk->sk_socket->flags); queue_con(con); } } else { - dout("ceph_write_space %p nothing to write\n", con); + dout("%s %p nothing to write\n", __func__, con); } } /* socket's state has changed */ -static void ceph_state_change(struct sock *sk) +static void ceph_sock_state_change(struct sock *sk) { struct ceph_connection *con = sk->sk_user_data; - dout("ceph_state_change %p state = %lu sk_state = %u\n", + dout("%s %p state = %lu sk_state = %u\n", __func__, con, con->state, sk->sk_state); - if (test_bit(CLOSED, &con->state)) - return; - switch (sk->sk_state) { case TCP_CLOSE: - dout("ceph_state_change TCP_CLOSE\n"); + dout("%s TCP_CLOSE\n", __func__); case TCP_CLOSE_WAIT: - dout("ceph_state_change TCP_CLOSE_WAIT\n"); - if (test_and_set_bit(SOCK_CLOSED, &con->state) == 0) { - if (test_bit(CONNECTING, &con->state)) - con->error_msg = "connection failed"; - else - con->error_msg = "socket closed"; - queue_con(con); - } + dout("%s TCP_CLOSE_WAIT\n", __func__); + con_sock_state_closing(con); + set_bit(CON_FLAG_SOCK_CLOSED, &con->flags); + queue_con(con); break; case TCP_ESTABLISHED: - dout("ceph_state_change TCP_ESTABLISHED\n"); + dout("%s TCP_ESTABLISHED\n", __func__); + con_sock_state_connected(con); queue_con(con); break; default: /* Everything else is uninteresting */ @@ -228,9 +354,9 @@ { struct sock *sk = sock->sk; sk->sk_user_data = con; - sk->sk_data_ready = ceph_data_ready; - sk->sk_write_space = ceph_write_space; - sk->sk_state_change = ceph_state_change; + sk->sk_data_ready = ceph_sock_data_ready; + sk->sk_write_space = ceph_sock_write_space; + sk->sk_state_change = ceph_sock_state_change; } @@ -262,6 +388,7 @@ dout("connect %s\n", ceph_pr_addr(&con->peer_addr.in_addr)); + con_sock_state_connecting(con); ret = sock->ops->connect(sock, (struct sockaddr *)paddr, sizeof(*paddr), O_NONBLOCK); if (ret == -EINPROGRESS) { @@ -277,7 +404,6 @@ return ret; } con->sock = sock; - return 0; } @@ -333,16 +459,24 @@ */ static int con_close_socket(struct ceph_connection *con) { - int rc; + int rc = 0; dout("con_close_socket on %p sock %p\n", con, con->sock); - if (!con->sock) - return 0; - set_bit(SOCK_CLOSED, &con->state); - rc = con->sock->ops->shutdown(con->sock, SHUT_RDWR); - sock_release(con->sock); - con->sock = NULL; - clear_bit(SOCK_CLOSED, &con->state); + if (con->sock) { + rc = con->sock->ops->shutdown(con->sock, SHUT_RDWR); + sock_release(con->sock); + con->sock = NULL; + } + + /* + * Forcibly clear the SOCK_CLOSED flag. It gets set + * independent of the connection mutex, and we could have + * received a socket close event before we had the chance to + * shut the socket down. + */ + clear_bit(CON_FLAG_SOCK_CLOSED, &con->flags); + + con_sock_state_closed(con); return rc; } @@ -353,6 +487,10 @@ static void ceph_msg_remove(struct ceph_msg *msg) { list_del_init(&msg->list_head); + BUG_ON(msg->con == NULL); + msg->con->ops->put(msg->con); + msg->con = NULL; + ceph_msg_put(msg); } static void ceph_msg_remove_list(struct list_head *head) @@ -372,8 +510,11 @@ ceph_msg_remove_list(&con->out_sent); if (con->in_msg) { + BUG_ON(con->in_msg->con != con); + con->in_msg->con = NULL; ceph_msg_put(con->in_msg); con->in_msg = NULL; + con->ops->put(con); } con->connect_seq = 0; @@ -391,32 +532,44 @@ */ void ceph_con_close(struct ceph_connection *con) { + mutex_lock(&con->mutex); dout("con_close %p peer %s\n", con, ceph_pr_addr(&con->peer_addr.in_addr)); - set_bit(CLOSED, &con->state); /* in case there's queued work */ - clear_bit(STANDBY, &con->state); /* avoid connect_seq bump */ - clear_bit(LOSSYTX, &con->state); /* so we retry next connect */ - clear_bit(KEEPALIVE_PENDING, &con->state); - clear_bit(WRITE_PENDING, &con->state); - mutex_lock(&con->mutex); + con->state = CON_STATE_CLOSED; + + clear_bit(CON_FLAG_LOSSYTX, &con->flags); /* so we retry next connect */ + clear_bit(CON_FLAG_KEEPALIVE_PENDING, &con->flags); + clear_bit(CON_FLAG_WRITE_PENDING, &con->flags); + clear_bit(CON_FLAG_KEEPALIVE_PENDING, &con->flags); + clear_bit(CON_FLAG_BACKOFF, &con->flags); + reset_connection(con); con->peer_global_seq = 0; cancel_delayed_work(&con->work); + con_close_socket(con); mutex_unlock(&con->mutex); - queue_con(con); } EXPORT_SYMBOL(ceph_con_close); /* * Reopen a closed connection, with a new peer address. */ -void ceph_con_open(struct ceph_connection *con, struct ceph_entity_addr *addr) +void ceph_con_open(struct ceph_connection *con, + __u8 entity_type, __u64 entity_num, + struct ceph_entity_addr *addr) { + mutex_lock(&con->mutex); dout("con_open %p %s\n", con, ceph_pr_addr(&addr->in_addr)); - set_bit(OPENING, &con->state); - clear_bit(CLOSED, &con->state); + + BUG_ON(con->state != CON_STATE_CLOSED); + con->state = CON_STATE_PREOPEN; + + con->peer_name.type = (__u8) entity_type; + con->peer_name.num = cpu_to_le64(entity_num); + memcpy(&con->peer_addr, addr, sizeof(*addr)); con->delay = 0; /* reset backoff memory */ + mutex_unlock(&con->mutex); queue_con(con); } EXPORT_SYMBOL(ceph_con_open); @@ -430,42 +583,26 @@ } /* - * generic get/put - */ -struct ceph_connection *ceph_con_get(struct ceph_connection *con) -{ - int nref = __atomic_add_unless(&con->nref, 1, 0); - - dout("con_get %p nref = %d -> %d\n", con, nref, nref + 1); - - return nref ? con : NULL; -} - -void ceph_con_put(struct ceph_connection *con) -{ - int nref = atomic_dec_return(&con->nref); - - BUG_ON(nref < 0); - if (nref == 0) { - BUG_ON(con->sock); - kfree(con); - } - dout("con_put %p nref = %d -> %d\n", con, nref + 1, nref); -} - -/* * initialize a new connection. */ -void ceph_con_init(struct ceph_messenger *msgr, struct ceph_connection *con) +void ceph_con_init(struct ceph_connection *con, void *private, + const struct ceph_connection_operations *ops, + struct ceph_messenger *msgr) { dout("con_init %p\n", con); memset(con, 0, sizeof(*con)); - atomic_set(&con->nref, 1); + con->private = private; + con->ops = ops; con->msgr = msgr; + + con_sock_state_init(con); + mutex_init(&con->mutex); INIT_LIST_HEAD(&con->out_queue); INIT_LIST_HEAD(&con->out_sent); INIT_DELAYED_WORK(&con->work, con_work); + + con->state = CON_STATE_CLOSED; } EXPORT_SYMBOL(ceph_con_init); @@ -486,14 +623,14 @@ return ret; } -static void ceph_con_out_kvec_reset(struct ceph_connection *con) +static void con_out_kvec_reset(struct ceph_connection *con) { con->out_kvec_left = 0; con->out_kvec_bytes = 0; con->out_kvec_cur = &con->out_kvec[0]; } -static void ceph_con_out_kvec_add(struct ceph_connection *con, +static void con_out_kvec_add(struct ceph_connection *con, size_t size, void *data) { int index; @@ -507,6 +644,53 @@ con->out_kvec_bytes += size; } +#ifdef CONFIG_BLOCK +static void init_bio_iter(struct bio *bio, struct bio **iter, int *seg) +{ + if (!bio) { + *iter = NULL; + *seg = 0; + return; + } + *iter = bio; + *seg = bio->bi_idx; +} + +static void iter_bio_next(struct bio **bio_iter, int *seg) +{ + if (*bio_iter == NULL) + return; + + BUG_ON(*seg >= (*bio_iter)->bi_vcnt); + + (*seg)++; + if (*seg == (*bio_iter)->bi_vcnt) + init_bio_iter((*bio_iter)->bi_next, bio_iter, seg); +} +#endif + +static void prepare_write_message_data(struct ceph_connection *con) +{ + struct ceph_msg *msg = con->out_msg; + + BUG_ON(!msg); + BUG_ON(!msg->hdr.data_len); + + /* initialize page iterator */ + con->out_msg_pos.page = 0; + if (msg->pages) + con->out_msg_pos.page_pos = msg->page_alignment; + else + con->out_msg_pos.page_pos = 0; +#ifdef CONFIG_BLOCK + if (msg->bio) + init_bio_iter(msg->bio, &msg->bio_iter, &msg->bio_seg); +#endif + con->out_msg_pos.data_pos = 0; + con->out_msg_pos.did_page_crc = false; + con->out_more = 1; /* data + footer will follow */ +} + /* * Prepare footer for currently outgoing message, and finish things * off. Assumes out_kvec* are already valid.. we just add on to the end. @@ -516,6 +700,8 @@ struct ceph_msg *m = con->out_msg; int v = con->out_kvec_left; + m->footer.flags |= CEPH_MSG_FOOTER_COMPLETE; + dout("prepare_write_message_footer %p\n", con); con->out_kvec_is_msg = true; con->out_kvec[v].iov_base = &m->footer; @@ -534,7 +720,7 @@ struct ceph_msg *m; u32 crc; - ceph_con_out_kvec_reset(con); + con_out_kvec_reset(con); con->out_kvec_is_msg = true; con->out_msg_done = false; @@ -542,14 +728,16 @@ * TCP packet that's a good thing. */ if (con->in_seq > con->in_seq_acked) { con->in_seq_acked = con->in_seq; - ceph_con_out_kvec_add(con, sizeof (tag_ack), &tag_ack); + con_out_kvec_add(con, sizeof (tag_ack), &tag_ack); con->out_temp_ack = cpu_to_le64(con->in_seq_acked); - ceph_con_out_kvec_add(con, sizeof (con->out_temp_ack), + con_out_kvec_add(con, sizeof (con->out_temp_ack), &con->out_temp_ack); } + BUG_ON(list_empty(&con->out_queue)); m = list_first_entry(&con->out_queue, struct ceph_msg, list_head); con->out_msg = m; + BUG_ON(m->con != con); /* put message on sent list */ ceph_msg_get(m); @@ -563,10 +751,6 @@ m->hdr.seq = cpu_to_le64(++con->out_seq); m->needs_out_seq = false; } -#ifdef CONFIG_BLOCK - else - m->bio_iter = NULL; -#endif dout("prepare_write_message %p seq %lld type %d len %d+%d+%d %d pgs\n", m, con->out_seq, le16_to_cpu(m->hdr.type), @@ -576,18 +760,18 @@ BUG_ON(le32_to_cpu(m->hdr.front_len) != m->front.iov_len); /* tag + hdr + front + middle */ - ceph_con_out_kvec_add(con, sizeof (tag_msg), &tag_msg); - ceph_con_out_kvec_add(con, sizeof (m->hdr), &m->hdr); - ceph_con_out_kvec_add(con, m->front.iov_len, m->front.iov_base); + con_out_kvec_add(con, sizeof (tag_msg), &tag_msg); + con_out_kvec_add(con, sizeof (m->hdr), &m->hdr); + con_out_kvec_add(con, m->front.iov_len, m->front.iov_base); if (m->middle) - ceph_con_out_kvec_add(con, m->middle->vec.iov_len, + con_out_kvec_add(con, m->middle->vec.iov_len, m->middle->vec.iov_base); /* fill in crc (except data pages), footer */ crc = crc32c(0, &m->hdr, offsetof(struct ceph_msg_header, crc)); con->out_msg->hdr.crc = cpu_to_le32(crc); - con->out_msg->footer.flags = CEPH_MSG_FOOTER_COMPLETE; + con->out_msg->footer.flags = 0; crc = crc32c(0, m->front.iov_base, m->front.iov_len); con->out_msg->footer.front_crc = cpu_to_le32(crc); @@ -597,28 +781,19 @@ con->out_msg->footer.middle_crc = cpu_to_le32(crc); } else con->out_msg->footer.middle_crc = 0; - con->out_msg->footer.data_crc = 0; - dout("prepare_write_message front_crc %u data_crc %u\n", + dout("%s front_crc %u middle_crc %u\n", __func__, le32_to_cpu(con->out_msg->footer.front_crc), le32_to_cpu(con->out_msg->footer.middle_crc)); /* is there a data payload? */ - if (le32_to_cpu(m->hdr.data_len) > 0) { - /* initialize page iterator */ - con->out_msg_pos.page = 0; - if (m->pages) - con->out_msg_pos.page_pos = m->page_alignment; - else - con->out_msg_pos.page_pos = 0; - con->out_msg_pos.data_pos = 0; - con->out_msg_pos.did_page_crc = false; - con->out_more = 1; /* data + footer will follow */ - } else { + con->out_msg->footer.data_crc = 0; + if (m->hdr.data_len) + prepare_write_message_data(con); + else /* no, queue up footer too and be done */ prepare_write_message_footer(con); - } - set_bit(WRITE_PENDING, &con->state); + set_bit(CON_FLAG_WRITE_PENDING, &con->flags); } /* @@ -630,16 +805,16 @@ con->in_seq_acked, con->in_seq); con->in_seq_acked = con->in_seq; - ceph_con_out_kvec_reset(con); + con_out_kvec_reset(con); - ceph_con_out_kvec_add(con, sizeof (tag_ack), &tag_ack); + con_out_kvec_add(con, sizeof (tag_ack), &tag_ack); con->out_temp_ack = cpu_to_le64(con->in_seq_acked); - ceph_con_out_kvec_add(con, sizeof (con->out_temp_ack), + con_out_kvec_add(con, sizeof (con->out_temp_ack), &con->out_temp_ack); con->out_more = 1; /* more will follow.. eventually.. */ - set_bit(WRITE_PENDING, &con->state); + set_bit(CON_FLAG_WRITE_PENDING, &con->flags); } /* @@ -648,9 +823,9 @@ static void prepare_write_keepalive(struct ceph_connection *con) { dout("prepare_write_keepalive %p\n", con); - ceph_con_out_kvec_reset(con); - ceph_con_out_kvec_add(con, sizeof (tag_keepalive), &tag_keepalive); - set_bit(WRITE_PENDING, &con->state); + con_out_kvec_reset(con); + con_out_kvec_add(con, sizeof (tag_keepalive), &tag_keepalive); + set_bit(CON_FLAG_WRITE_PENDING, &con->flags); } /* @@ -665,27 +840,21 @@ if (!con->ops->get_authorizer) { con->out_connect.authorizer_protocol = CEPH_AUTH_UNKNOWN; con->out_connect.authorizer_len = 0; - return NULL; } /* Can't hold the mutex while getting authorizer */ - mutex_unlock(&con->mutex); - auth = con->ops->get_authorizer(con, auth_proto, con->auth_retry); - mutex_lock(&con->mutex); if (IS_ERR(auth)) return auth; - if (test_bit(CLOSED, &con->state) || test_bit(OPENING, &con->state)) + if (con->state != CON_STATE_NEGOTIATING) return ERR_PTR(-EAGAIN); con->auth_reply_buf = auth->authorizer_reply_buf; con->auth_reply_buf_len = auth->authorizer_reply_buf_len; - - return auth; } @@ -694,12 +863,12 @@ */ static void prepare_write_banner(struct ceph_connection *con) { - ceph_con_out_kvec_add(con, strlen(CEPH_BANNER), CEPH_BANNER); - ceph_con_out_kvec_add(con, sizeof (con->msgr->my_enc_addr), + con_out_kvec_add(con, strlen(CEPH_BANNER), CEPH_BANNER); + con_out_kvec_add(con, sizeof (con->msgr->my_enc_addr), &con->msgr->my_enc_addr); con->out_more = 0; - set_bit(WRITE_PENDING, &con->state); + set_bit(CON_FLAG_WRITE_PENDING, &con->flags); } static int prepare_write_connect(struct ceph_connection *con) @@ -742,14 +911,14 @@ con->out_connect.authorizer_len = auth ? cpu_to_le32(auth->authorizer_buf_len) : 0; - ceph_con_out_kvec_add(con, sizeof (con->out_connect), + con_out_kvec_add(con, sizeof (con->out_connect), &con->out_connect); if (auth && auth->authorizer_buf_len) - ceph_con_out_kvec_add(con, auth->authorizer_buf_len, + con_out_kvec_add(con, auth->authorizer_buf_len, auth->authorizer_buf); con->out_more = 0; - set_bit(WRITE_PENDING, &con->state); + set_bit(CON_FLAG_WRITE_PENDING, &con->flags); return 0; } @@ -797,30 +966,34 @@ return ret; /* done! */ } -#ifdef CONFIG_BLOCK -static void init_bio_iter(struct bio *bio, struct bio **iter, int *seg) +static void out_msg_pos_next(struct ceph_connection *con, struct page *page, + size_t len, size_t sent, bool in_trail) { - if (!bio) { - *iter = NULL; - *seg = 0; - return; - } - *iter = bio; - *seg = bio->bi_idx; -} + struct ceph_msg *msg = con->out_msg; -static void iter_bio_next(struct bio **bio_iter, int *seg) -{ - if (*bio_iter == NULL) - return; + BUG_ON(!msg); + BUG_ON(!sent); - BUG_ON(*seg >= (*bio_iter)->bi_vcnt); + con->out_msg_pos.data_pos += sent; + con->out_msg_pos.page_pos += sent; + if (sent < len) + return; - (*seg)++; - if (*seg == (*bio_iter)->bi_vcnt) - init_bio_iter((*bio_iter)->bi_next, bio_iter, seg); -} + BUG_ON(sent != len); + con->out_msg_pos.page_pos = 0; + con->out_msg_pos.page++; + con->out_msg_pos.did_page_crc = false; + if (in_trail) + list_move_tail(&page->lru, + &msg->trail->head); + else if (msg->pagelist) + list_move_tail(&page->lru, + &msg->pagelist->head); +#ifdef CONFIG_BLOCK + else if (msg->bio) + iter_bio_next(&msg->bio_iter, &msg->bio_seg); #endif +} /* * Write as much message data payload as we can. If we finish, queue @@ -837,41 +1010,36 @@ bool do_datacrc = !con->msgr->nocrc; int ret; int total_max_write; - int in_trail = 0; - size_t trail_len = (msg->trail ? msg->trail->length : 0); + bool in_trail = false; + const size_t trail_len = (msg->trail ? msg->trail->length : 0); + const size_t trail_off = data_len - trail_len; dout("write_partial_msg_pages %p msg %p page %d/%d offset %d\n", - con, con->out_msg, con->out_msg_pos.page, con->out_msg->nr_pages, + con, msg, con->out_msg_pos.page, msg->nr_pages, con->out_msg_pos.page_pos); -#ifdef CONFIG_BLOCK - if (msg->bio && !msg->bio_iter) - init_bio_iter(msg->bio, &msg->bio_iter, &msg->bio_seg); -#endif - + /* + * Iterate through each page that contains data to be + * written, and send as much as possible for each. + * + * If we are calculating the data crc (the default), we will + * need to map the page. If we have no pages, they have + * been revoked, so use the zero page. + */ while (data_len > con->out_msg_pos.data_pos) { struct page *page = NULL; int max_write = PAGE_SIZE; int bio_offset = 0; - total_max_write = data_len - trail_len - - con->out_msg_pos.data_pos; - - /* - * if we are calculating the data crc (the default), we need - * to map the page. if our pages[] has been revoked, use the - * zero page. - */ - - /* have we reached the trail part of the data? */ - if (con->out_msg_pos.data_pos >= data_len - trail_len) { - in_trail = 1; + in_trail = in_trail || con->out_msg_pos.data_pos >= trail_off; + if (!in_trail) + total_max_write = trail_off - con->out_msg_pos.data_pos; + if (in_trail) { total_max_write = data_len - con->out_msg_pos.data_pos; page = list_first_entry(&msg->trail->head, struct page, lru); - max_write = PAGE_SIZE; } else if (msg->pages) { page = msg->pages[con->out_msg_pos.page]; } else if (msg->pagelist) { @@ -894,52 +1062,32 @@ if (do_datacrc && !con->out_msg_pos.did_page_crc) { void *base; - u32 crc; - u32 tmpcrc = le32_to_cpu(con->out_msg->footer.data_crc); + u32 crc = le32_to_cpu(msg->footer.data_crc); char *kaddr; kaddr = kmap(page); BUG_ON(kaddr == NULL); base = kaddr + con->out_msg_pos.page_pos + bio_offset; - crc = crc32c(tmpcrc, base, len); - con->out_msg->footer.data_crc = cpu_to_le32(crc); + crc = crc32c(crc, base, len); + kunmap(page); + msg->footer.data_crc = cpu_to_le32(crc); con->out_msg_pos.did_page_crc = true; } ret = ceph_tcp_sendpage(con->sock, page, con->out_msg_pos.page_pos + bio_offset, len, 1); - - if (do_datacrc) - kunmap(page); - if (ret <= 0) goto out; - con->out_msg_pos.data_pos += ret; - con->out_msg_pos.page_pos += ret; - if (ret == len) { - con->out_msg_pos.page_pos = 0; - con->out_msg_pos.page++; - con->out_msg_pos.did_page_crc = false; - if (in_trail) - list_move_tail(&page->lru, - &msg->trail->head); - else if (msg->pagelist) - list_move_tail(&page->lru, - &msg->pagelist->head); -#ifdef CONFIG_BLOCK - else if (msg->bio) - iter_bio_next(&msg->bio_iter, &msg->bio_seg); -#endif - } + out_msg_pos_next(con, page, len, (size_t) ret, in_trail); } dout("write_partial_msg_pages %p msg %p done\n", con, msg); /* prepare and queue up footer, too */ if (!do_datacrc) - con->out_msg->footer.flags |= CEPH_MSG_FOOTER_NOCRC; - ceph_con_out_kvec_reset(con); + msg->footer.flags |= CEPH_MSG_FOOTER_NOCRC; + con_out_kvec_reset(con); prepare_write_message_footer(con); ret = 1; out: @@ -1351,20 +1499,14 @@ ceph_pr_addr(&con->msgr->inst.addr.in_addr)); } - set_bit(NEGOTIATING, &con->state); - prepare_read_connect(con); return 0; } static void fail_protocol(struct ceph_connection *con) { reset_connection(con); - set_bit(CLOSED, &con->state); /* in case there's queued work */ - - mutex_unlock(&con->mutex); - if (con->ops->bad_proto) - con->ops->bad_proto(con); - mutex_lock(&con->mutex); + BUG_ON(con->state != CON_STATE_NEGOTIATING); + con->state = CON_STATE_CLOSED; } static int process_connect(struct ceph_connection *con) @@ -1407,7 +1549,7 @@ return -1; } con->auth_retry = 1; - ceph_con_out_kvec_reset(con); + con_out_kvec_reset(con); ret = prepare_write_connect(con); if (ret < 0) return ret; @@ -1428,7 +1570,7 @@ ENTITY_NAME(con->peer_name), ceph_pr_addr(&con->peer_addr.in_addr)); reset_connection(con); - ceph_con_out_kvec_reset(con); + con_out_kvec_reset(con); ret = prepare_write_connect(con); if (ret < 0) return ret; @@ -1440,8 +1582,7 @@ if (con->ops->peer_reset) con->ops->peer_reset(con); mutex_lock(&con->mutex); - if (test_bit(CLOSED, &con->state) || - test_bit(OPENING, &con->state)) + if (con->state != CON_STATE_NEGOTIATING) return -EAGAIN; break; @@ -1454,7 +1595,7 @@ le32_to_cpu(con->out_connect.connect_seq), le32_to_cpu(con->in_reply.connect_seq)); con->connect_seq = le32_to_cpu(con->in_reply.connect_seq); - ceph_con_out_kvec_reset(con); + con_out_kvec_reset(con); ret = prepare_write_connect(con); if (ret < 0) return ret; @@ -1471,7 +1612,7 @@ le32_to_cpu(con->in_reply.global_seq)); get_global_seq(con->msgr, le32_to_cpu(con->in_reply.global_seq)); - ceph_con_out_kvec_reset(con); + con_out_kvec_reset(con); ret = prepare_write_connect(con); if (ret < 0) return ret; @@ -1489,7 +1630,10 @@ fail_protocol(con); return -1; } - clear_bit(CONNECTING, &con->state); + + BUG_ON(con->state != CON_STATE_NEGOTIATING); + con->state = CON_STATE_OPEN; + con->peer_global_seq = le32_to_cpu(con->in_reply.global_seq); con->connect_seq++; con->peer_features = server_feat; @@ -1501,7 +1645,9 @@ le32_to_cpu(con->in_reply.connect_seq)); if (con->in_reply.flags & CEPH_MSG_CONNECT_LOSSY) - set_bit(LOSSYTX, &con->state); + set_bit(CON_FLAG_LOSSYTX, &con->flags); + + con->delay = 0; /* reset backoff memory */ prepare_read_tag(con); break; @@ -1587,10 +1733,7 @@ return 1; } -static struct ceph_msg *ceph_alloc_msg(struct ceph_connection *con, - struct ceph_msg_header *hdr, - int *skip); - +static int ceph_con_in_msg_alloc(struct ceph_connection *con, int *skip); static int read_partial_message_pages(struct ceph_connection *con, struct page **pages, @@ -1633,9 +1776,6 @@ void *p; int ret, left; - if (IS_ERR(bv)) - return PTR_ERR(bv); - left = min((int)(data_len - con->in_msg_pos.data_pos), (int)(bv->bv_len - con->in_msg_pos.page_pos)); @@ -1672,7 +1812,6 @@ int ret; unsigned int front_len, middle_len, data_len; bool do_datacrc = !con->msgr->nocrc; - int skip; u64 seq; u32 crc; @@ -1723,10 +1862,13 @@ /* allocate message? */ if (!con->in_msg) { + int skip = 0; + dout("got hdr type %d front %d data %d\n", con->in_hdr.type, con->in_hdr.front_len, con->in_hdr.data_len); - skip = 0; - con->in_msg = ceph_alloc_msg(con, &con->in_hdr, &skip); + ret = ceph_con_in_msg_alloc(con, &skip); + if (ret < 0) + return ret; if (skip) { /* skip this message */ dout("alloc_msg said skip message\n"); @@ -1737,11 +1879,9 @@ con->in_seq++; return 0; } - if (!con->in_msg) { - con->error_msg = - "error allocating memory for incoming message"; - return -ENOMEM; - } + + BUG_ON(!con->in_msg); + BUG_ON(con->in_msg->con != con); m = con->in_msg; m->front.iov_len = 0; /* haven't read it yet */ if (m->middle) @@ -1753,6 +1893,11 @@ else con->in_msg_pos.page_pos = 0; con->in_msg_pos.data_pos = 0; + +#ifdef CONFIG_BLOCK + if (m->bio) + init_bio_iter(m->bio, &m->bio_iter, &m->bio_seg); +#endif } /* front */ @@ -1769,10 +1914,6 @@ if (ret <= 0) return ret; } -#ifdef CONFIG_BLOCK - if (m->bio && !m->bio_iter) - init_bio_iter(m->bio, &m->bio_iter, &m->bio_seg); -#endif /* (page) data */ while (con->in_msg_pos.data_pos < data_len) { @@ -1783,7 +1924,7 @@ return ret; #ifdef CONFIG_BLOCK } else if (m->bio) { - + BUG_ON(!m->bio_iter); ret = read_partial_message_bio(con, &m->bio_iter, &m->bio_seg, data_len, do_datacrc); @@ -1837,8 +1978,11 @@ { struct ceph_msg *msg; + BUG_ON(con->in_msg->con != con); + con->in_msg->con = NULL; msg = con->in_msg; con->in_msg = NULL; + con->ops->put(con); /* if first message, set peer_name */ if (con->peer_name.type == 0) @@ -1858,7 +2002,6 @@ con->ops->dispatch(con, msg); mutex_lock(&con->mutex); - prepare_read_tag(con); } @@ -1870,22 +2013,19 @@ { int ret = 1; - dout("try_write start %p state %lu nref %d\n", con, con->state, - atomic_read(&con->nref)); + dout("try_write start %p state %lu\n", con, con->state); more: dout("try_write out_kvec_bytes %d\n", con->out_kvec_bytes); /* open the socket first? */ - if (con->sock == NULL) { - ceph_con_out_kvec_reset(con); + if (con->state == CON_STATE_PREOPEN) { + BUG_ON(con->sock); + con->state = CON_STATE_CONNECTING; + + con_out_kvec_reset(con); prepare_write_banner(con); - ret = prepare_write_connect(con); - if (ret < 0) - goto out; prepare_read_banner(con); - set_bit(CONNECTING, &con->state); - clear_bit(NEGOTIATING, &con->state); BUG_ON(con->in_msg); con->in_tag = CEPH_MSGR_TAG_READY; @@ -1932,7 +2072,7 @@ } do_next: - if (!test_bit(CONNECTING, &con->state)) { + if (con->state == CON_STATE_OPEN) { /* is anything else pending? */ if (!list_empty(&con->out_queue)) { prepare_write_message(con); @@ -1942,14 +2082,15 @@ prepare_write_ack(con); goto more; } - if (test_and_clear_bit(KEEPALIVE_PENDING, &con->state)) { + if (test_and_clear_bit(CON_FLAG_KEEPALIVE_PENDING, + &con->flags)) { prepare_write_keepalive(con); goto more; } } /* Nothing to do! */ - clear_bit(WRITE_PENDING, &con->state); + clear_bit(CON_FLAG_WRITE_PENDING, &con->flags); dout("try_write nothing else to write.\n"); ret = 0; out: @@ -1966,38 +2107,46 @@ { int ret = -1; - if (!con->sock) - return 0; - - if (test_bit(STANDBY, &con->state)) +more: + dout("try_read start on %p state %lu\n", con, con->state); + if (con->state != CON_STATE_CONNECTING && + con->state != CON_STATE_NEGOTIATING && + con->state != CON_STATE_OPEN) return 0; - dout("try_read start on %p\n", con); + BUG_ON(!con->sock); -more: dout("try_read tag %d in_base_pos %d\n", (int)con->in_tag, con->in_base_pos); - /* - * process_connect and process_message drop and re-take - * con->mutex. make sure we handle a racing close or reopen. - */ - if (test_bit(CLOSED, &con->state) || - test_bit(OPENING, &con->state)) { - ret = -EAGAIN; + if (con->state == CON_STATE_CONNECTING) { + dout("try_read connecting\n"); + ret = read_partial_banner(con); + if (ret <= 0) + goto out; + ret = process_banner(con); + if (ret < 0) + goto out; + + BUG_ON(con->state != CON_STATE_CONNECTING); + con->state = CON_STATE_NEGOTIATING; + + /* + * Received banner is good, exchange connection info. + * Do not reset out_kvec, as sending our banner raced + * with receiving peer banner after connect completed. + */ + ret = prepare_write_connect(con); + if (ret < 0) + goto out; + prepare_read_connect(con); + + /* Send connection info before awaiting response */ goto out; } - if (test_bit(CONNECTING, &con->state)) { - if (!test_bit(NEGOTIATING, &con->state)) { - dout("try_read connecting\n"); - ret = read_partial_banner(con); - if (ret <= 0) - goto out; - ret = process_banner(con); - if (ret < 0) - goto out; - } + if (con->state == CON_STATE_NEGOTIATING) { + dout("try_read negotiating\n"); ret = read_partial_connect(con); if (ret <= 0) goto out; @@ -2007,6 +2156,8 @@ goto more; } + BUG_ON(con->state != CON_STATE_OPEN); + if (con->in_base_pos < 0) { /* * skipping + discarding content. @@ -2040,7 +2191,8 @@ prepare_read_ack(con); break; case CEPH_MSGR_TAG_CLOSE: - set_bit(CLOSED, &con->state); /* fixme */ + con_close_socket(con); + con->state = CON_STATE_CLOSED; goto out; default: goto bad_tag; @@ -2063,6 +2215,8 @@ if (con->in_tag == CEPH_MSGR_TAG_READY) goto more; process_message(con); + if (con->state == CON_STATE_OPEN) + prepare_read_tag(con); goto more; } if (con->in_tag == CEPH_MSGR_TAG_ACK) { @@ -2091,12 +2245,6 @@ */ static void queue_con(struct ceph_connection *con) { - if (test_bit(DEAD, &con->state)) { - dout("queue_con %p ignoring: DEAD\n", - con); - return; - } - if (!con->ops->get(con)) { dout("queue_con %p ref count 0\n", con); return; @@ -2121,7 +2269,26 @@ mutex_lock(&con->mutex); restart: - if (test_and_clear_bit(BACKOFF, &con->state)) { + if (test_and_clear_bit(CON_FLAG_SOCK_CLOSED, &con->flags)) { + switch (con->state) { + case CON_STATE_CONNECTING: + con->error_msg = "connection failed"; + break; + case CON_STATE_NEGOTIATING: + con->error_msg = "negotiation failed"; + break; + case CON_STATE_OPEN: + con->error_msg = "socket closed"; + break; + default: + dout("unrecognized con state %d\n", (int)con->state); + con->error_msg = "unrecognized con state"; + BUG(); + } + goto fault; + } + + if (test_and_clear_bit(CON_FLAG_BACKOFF, &con->flags)) { dout("con_work %p backing off\n", con); if (queue_delayed_work(ceph_msgr_wq, &con->work, round_jiffies_relative(con->delay))) { @@ -2129,41 +2296,42 @@ mutex_unlock(&con->mutex); return; } else { - con->ops->put(con); dout("con_work %p FAILED to back off %lu\n", con, con->delay); + set_bit(CON_FLAG_BACKOFF, &con->flags); } + goto done; } - if (test_bit(STANDBY, &con->state)) { + if (con->state == CON_STATE_STANDBY) { dout("con_work %p STANDBY\n", con); goto done; } - if (test_bit(CLOSED, &con->state)) { /* e.g. if we are replaced */ - dout("con_work CLOSED\n"); - con_close_socket(con); + if (con->state == CON_STATE_CLOSED) { + dout("con_work %p CLOSED\n", con); + BUG_ON(con->sock); goto done; } - if (test_and_clear_bit(OPENING, &con->state)) { - /* reopen w/ new peer */ + if (con->state == CON_STATE_PREOPEN) { dout("con_work OPENING\n"); - con_close_socket(con); + BUG_ON(con->sock); } - if (test_and_clear_bit(SOCK_CLOSED, &con->state)) - goto fault; - ret = try_read(con); if (ret == -EAGAIN) goto restart; - if (ret < 0) + if (ret < 0) { + con->error_msg = "socket error on read"; goto fault; + } ret = try_write(con); if (ret == -EAGAIN) goto restart; - if (ret < 0) + if (ret < 0) { + con->error_msg = "socket error on write"; goto fault; + } done: mutex_unlock(&con->mutex); @@ -2172,7 +2340,6 @@ return; fault: - mutex_unlock(&con->mutex); ceph_fault(con); /* error/fault path */ goto done_unlocked; } @@ -2183,26 +2350,31 @@ * exponential backoff */ static void ceph_fault(struct ceph_connection *con) + __releases(con->mutex) { pr_err("%s%lld %s %s\n", ENTITY_NAME(con->peer_name), ceph_pr_addr(&con->peer_addr.in_addr), con->error_msg); dout("fault %p state %lu to peer %s\n", con, con->state, ceph_pr_addr(&con->peer_addr.in_addr)); - if (test_bit(LOSSYTX, &con->state)) { - dout("fault on LOSSYTX channel\n"); - goto out; - } - - mutex_lock(&con->mutex); - if (test_bit(CLOSED, &con->state)) - goto out_unlock; + BUG_ON(con->state != CON_STATE_CONNECTING && + con->state != CON_STATE_NEGOTIATING && + con->state != CON_STATE_OPEN); con_close_socket(con); + if (test_bit(CON_FLAG_LOSSYTX, &con->flags)) { + dout("fault on LOSSYTX channel, marking CLOSED\n"); + con->state = CON_STATE_CLOSED; + goto out_unlock; + } + if (con->in_msg) { + BUG_ON(con->in_msg->con != con); + con->in_msg->con = NULL; ceph_msg_put(con->in_msg); con->in_msg = NULL; + con->ops->put(con); } /* Requeue anything that hasn't been acked */ @@ -2211,12 +2383,13 @@ /* If there are no messages queued or keepalive pending, place * the connection in a STANDBY state */ if (list_empty(&con->out_queue) && - !test_bit(KEEPALIVE_PENDING, &con->state)) { + !test_bit(CON_FLAG_KEEPALIVE_PENDING, &con->flags)) { dout("fault %p setting STANDBY clearing WRITE_PENDING\n", con); - clear_bit(WRITE_PENDING, &con->state); - set_bit(STANDBY, &con->state); + clear_bit(CON_FLAG_WRITE_PENDING, &con->flags); + con->state = CON_STATE_STANDBY; } else { /* retry after a delay. */ + con->state = CON_STATE_PREOPEN; if (con->delay == 0) con->delay = BASE_DELAY_INTERVAL; else if (con->delay < MAX_DELAY_INTERVAL) @@ -2237,13 +2410,12 @@ * that when con_work restarts we schedule the * delay then. */ - set_bit(BACKOFF, &con->state); + set_bit(CON_FLAG_BACKOFF, &con->flags); } } out_unlock: mutex_unlock(&con->mutex); -out: /* * in case we faulted due to authentication, invalidate our * current tickets so that we can get new ones. @@ -2260,18 +2432,14 @@ /* - * create a new messenger instance + * initialize a new messenger instance */ -struct ceph_messenger *ceph_messenger_create(struct ceph_entity_addr *myaddr, - u32 supported_features, - u32 required_features) +void ceph_messenger_init(struct ceph_messenger *msgr, + struct ceph_entity_addr *myaddr, + u32 supported_features, + u32 required_features, + bool nocrc) { - struct ceph_messenger *msgr; - - msgr = kzalloc(sizeof(*msgr), GFP_KERNEL); - if (msgr == NULL) - return ERR_PTR(-ENOMEM); - msgr->supported_features = supported_features; msgr->required_features = required_features; @@ -2284,30 +2452,23 @@ msgr->inst.addr.type = 0; get_random_bytes(&msgr->inst.addr.nonce, sizeof(msgr->inst.addr.nonce)); encode_my_addr(msgr); + msgr->nocrc = nocrc; - dout("messenger_create %p\n", msgr); - return msgr; -} -EXPORT_SYMBOL(ceph_messenger_create); + atomic_set(&msgr->stopping, 0); -void ceph_messenger_destroy(struct ceph_messenger *msgr) -{ - dout("destroy %p\n", msgr); - kfree(msgr); - dout("destroyed messenger %p\n", msgr); + dout("%s %p\n", __func__, msgr); } -EXPORT_SYMBOL(ceph_messenger_destroy); +EXPORT_SYMBOL(ceph_messenger_init); static void clear_standby(struct ceph_connection *con) { /* come back from STANDBY? */ - if (test_and_clear_bit(STANDBY, &con->state)) { - mutex_lock(&con->mutex); + if (con->state == CON_STATE_STANDBY) { dout("clear_standby %p and ++connect_seq\n", con); + con->state = CON_STATE_PREOPEN; con->connect_seq++; - WARN_ON(test_bit(WRITE_PENDING, &con->state)); - WARN_ON(test_bit(KEEPALIVE_PENDING, &con->state)); - mutex_unlock(&con->mutex); + WARN_ON(test_bit(CON_FLAG_WRITE_PENDING, &con->flags)); + WARN_ON(test_bit(CON_FLAG_KEEPALIVE_PENDING, &con->flags)); } } @@ -2316,21 +2477,24 @@ */ void ceph_con_send(struct ceph_connection *con, struct ceph_msg *msg) { - if (test_bit(CLOSED, &con->state)) { - dout("con_send %p closed, dropping %p\n", con, msg); - ceph_msg_put(msg); - return; - } - /* set src+dst */ msg->hdr.src = con->msgr->inst.name; - BUG_ON(msg->front.iov_len != le32_to_cpu(msg->hdr.front_len)); - msg->needs_out_seq = true; - /* queue */ mutex_lock(&con->mutex); + + if (con->state == CON_STATE_CLOSED) { + dout("con_send %p closed, dropping %p\n", con, msg); + ceph_msg_put(msg); + mutex_unlock(&con->mutex); + return; + } + + BUG_ON(msg->con != NULL); + msg->con = con->ops->get(con); + BUG_ON(msg->con == NULL); + BUG_ON(!list_empty(&msg->list_head)); list_add_tail(&msg->list_head, &con->out_queue); dout("----- %p to %s%lld %d=%s len %d+%d+%d -----\n", msg, @@ -2339,12 +2503,13 @@ le32_to_cpu(msg->hdr.front_len), le32_to_cpu(msg->hdr.middle_len), le32_to_cpu(msg->hdr.data_len)); + + clear_standby(con); mutex_unlock(&con->mutex); /* if there wasn't anything waiting to send before, queue * new work */ - clear_standby(con); - if (test_and_set_bit(WRITE_PENDING, &con->state) == 0) + if (test_and_set_bit(CON_FLAG_WRITE_PENDING, &con->flags) == 0) queue_con(con); } EXPORT_SYMBOL(ceph_con_send); @@ -2352,24 +2517,34 @@ /* * Revoke a message that was previously queued for send */ -void ceph_con_revoke(struct ceph_connection *con, struct ceph_msg *msg) +void ceph_msg_revoke(struct ceph_msg *msg) { + struct ceph_connection *con = msg->con; + + if (!con) + return; /* Message not in our possession */ + mutex_lock(&con->mutex); if (!list_empty(&msg->list_head)) { - dout("con_revoke %p msg %p - was on queue\n", con, msg); + dout("%s %p msg %p - was on queue\n", __func__, con, msg); list_del_init(&msg->list_head); - ceph_msg_put(msg); + BUG_ON(msg->con == NULL); + msg->con->ops->put(msg->con); + msg->con = NULL; msg->hdr.seq = 0; + + ceph_msg_put(msg); } if (con->out_msg == msg) { - dout("con_revoke %p msg %p - was sending\n", con, msg); + dout("%s %p msg %p - was sending\n", __func__, con, msg); con->out_msg = NULL; if (con->out_kvec_is_msg) { con->out_skip = con->out_kvec_bytes; con->out_kvec_is_msg = false; } - ceph_msg_put(msg); msg->hdr.seq = 0; + + ceph_msg_put(msg); } mutex_unlock(&con->mutex); } @@ -2377,17 +2552,27 @@ /* * Revoke a message that we may be reading data into */ -void ceph_con_revoke_message(struct ceph_connection *con, struct ceph_msg *msg) +void ceph_msg_revoke_incoming(struct ceph_msg *msg) { + struct ceph_connection *con; + + BUG_ON(msg == NULL); + if (!msg->con) { + dout("%s msg %p null con\n", __func__, msg); + + return; /* Message not in our possession */ + } + + con = msg->con; mutex_lock(&con->mutex); - if (con->in_msg && con->in_msg == msg) { + if (con->in_msg == msg) { unsigned int front_len = le32_to_cpu(con->in_hdr.front_len); unsigned int middle_len = le32_to_cpu(con->in_hdr.middle_len); unsigned int data_len = le32_to_cpu(con->in_hdr.data_len); /* skip rest of message */ - dout("con_revoke_pages %p msg %p revoked\n", con, msg); - con->in_base_pos = con->in_base_pos - + dout("%s %p msg %p revoked\n", __func__, con, msg); + con->in_base_pos = con->in_base_pos - sizeof(struct ceph_msg_header) - front_len - middle_len - @@ -2398,8 +2583,8 @@ con->in_tag = CEPH_MSGR_TAG_READY; con->in_seq++; } else { - dout("con_revoke_pages %p msg %p pages %p no-op\n", - con, con->in_msg, msg); + dout("%s %p in_msg %p msg %p no-op\n", + __func__, con, con->in_msg, msg); } mutex_unlock(&con->mutex); } @@ -2410,9 +2595,11 @@ void ceph_con_keepalive(struct ceph_connection *con) { dout("con_keepalive %p\n", con); + mutex_lock(&con->mutex); clear_standby(con); - if (test_and_set_bit(KEEPALIVE_PENDING, &con->state) == 0 && - test_and_set_bit(WRITE_PENDING, &con->state) == 0) + mutex_unlock(&con->mutex); + if (test_and_set_bit(CON_FLAG_KEEPALIVE_PENDING, &con->flags) == 0 && + test_and_set_bit(CON_FLAG_WRITE_PENDING, &con->flags) == 0) queue_con(con); } EXPORT_SYMBOL(ceph_con_keepalive); @@ -2431,6 +2618,8 @@ if (m == NULL) goto out; kref_init(&m->kref); + + m->con = NULL; INIT_LIST_HEAD(&m->list_head); m->hdr.tid = 0; @@ -2526,46 +2715,78 @@ } /* - * Generic message allocator, for incoming messages. + * Allocate a message for receiving an incoming message on a + * connection, and save the result in con->in_msg. Uses the + * connection's private alloc_msg op if available. + * + * Returns 0 on success, or a negative error code. + * + * On success, if we set *skip = 1: + * - the next message should be skipped and ignored. + * - con->in_msg == NULL + * or if we set *skip = 0: + * - con->in_msg is non-null. + * On error (ENOMEM, EAGAIN, ...), + * - con->in_msg == NULL */ -static struct ceph_msg *ceph_alloc_msg(struct ceph_connection *con, - struct ceph_msg_header *hdr, - int *skip) +static int ceph_con_in_msg_alloc(struct ceph_connection *con, int *skip) { + struct ceph_msg_header *hdr = &con->in_hdr; int type = le16_to_cpu(hdr->type); int front_len = le32_to_cpu(hdr->front_len); int middle_len = le32_to_cpu(hdr->middle_len); - struct ceph_msg *msg = NULL; - int ret; + int ret = 0; + + BUG_ON(con->in_msg != NULL); if (con->ops->alloc_msg) { + struct ceph_msg *msg; + mutex_unlock(&con->mutex); msg = con->ops->alloc_msg(con, hdr, skip); mutex_lock(&con->mutex); - if (!msg || *skip) - return NULL; + if (con->state != CON_STATE_OPEN) { + if (msg) + ceph_msg_put(msg); + return -EAGAIN; + } + con->in_msg = msg; + if (con->in_msg) { + con->in_msg->con = con->ops->get(con); + BUG_ON(con->in_msg->con == NULL); + } + if (*skip) { + con->in_msg = NULL; + return 0; + } + if (!con->in_msg) { + con->error_msg = + "error allocating memory for incoming message"; + return -ENOMEM; + } } - if (!msg) { - *skip = 0; - msg = ceph_msg_new(type, front_len, GFP_NOFS, false); - if (!msg) { + if (!con->in_msg) { + con->in_msg = ceph_msg_new(type, front_len, GFP_NOFS, false); + if (!con->in_msg) { pr_err("unable to allocate msg type %d len %d\n", type, front_len); - return NULL; + return -ENOMEM; } - msg->page_alignment = le16_to_cpu(hdr->data_off); + con->in_msg->con = con->ops->get(con); + BUG_ON(con->in_msg->con == NULL); + con->in_msg->page_alignment = le16_to_cpu(hdr->data_off); } - memcpy(&msg->hdr, &con->in_hdr, sizeof(con->in_hdr)); + memcpy(&con->in_msg->hdr, &con->in_hdr, sizeof(con->in_hdr)); - if (middle_len && !msg->middle) { - ret = ceph_alloc_middle(con, msg); + if (middle_len && !con->in_msg->middle) { + ret = ceph_alloc_middle(con, con->in_msg); if (ret < 0) { - ceph_msg_put(msg); - return NULL; + ceph_msg_put(con->in_msg); + con->in_msg = NULL; } } - return msg; + return ret; } --- linux-lowlatency-3.5.0.orig/net/ceph/mon_client.c +++ linux-lowlatency-3.5.0/net/ceph/mon_client.c @@ -106,9 +106,9 @@ monc->pending_auth = 1; monc->m_auth->front.iov_len = len; monc->m_auth->hdr.front_len = cpu_to_le32(len); - ceph_con_revoke(monc->con, monc->m_auth); + ceph_msg_revoke(monc->m_auth); ceph_msg_get(monc->m_auth); /* keep our ref */ - ceph_con_send(monc->con, monc->m_auth); + ceph_con_send(&monc->con, monc->m_auth); } /* @@ -117,8 +117,11 @@ static void __close_session(struct ceph_mon_client *monc) { dout("__close_session closing mon%d\n", monc->cur_mon); - ceph_con_revoke(monc->con, monc->m_auth); - ceph_con_close(monc->con); + ceph_msg_revoke(monc->m_auth); + ceph_msg_revoke_incoming(monc->m_auth_reply); + ceph_msg_revoke(monc->m_subscribe); + ceph_msg_revoke_incoming(monc->m_subscribe_ack); + ceph_con_close(&monc->con); monc->cur_mon = -1; monc->pending_auth = 0; ceph_auth_reset(monc->auth); @@ -142,9 +145,8 @@ monc->want_next_osdmap = !!monc->want_next_osdmap; dout("open_session mon%d opening\n", monc->cur_mon); - monc->con->peer_name.type = CEPH_ENTITY_TYPE_MON; - monc->con->peer_name.num = cpu_to_le64(monc->cur_mon); - ceph_con_open(monc->con, + ceph_con_open(&monc->con, + CEPH_ENTITY_TYPE_MON, monc->cur_mon, &monc->monmap->mon_inst[monc->cur_mon].addr); /* initiatiate authentication handshake */ @@ -226,8 +228,8 @@ msg->front.iov_len = p - msg->front.iov_base; msg->hdr.front_len = cpu_to_le32(msg->front.iov_len); - ceph_con_revoke(monc->con, msg); - ceph_con_send(monc->con, ceph_msg_get(msg)); + ceph_msg_revoke(msg); + ceph_con_send(&monc->con, ceph_msg_get(msg)); monc->sub_sent = jiffies | 1; /* never 0 */ } @@ -247,7 +249,7 @@ if (monc->hunting) { pr_info("mon%d %s session established\n", monc->cur_mon, - ceph_pr_addr(&monc->con->peer_addr.in_addr)); + ceph_pr_addr(&monc->con.peer_addr.in_addr)); monc->hunting = false; } dout("handle_subscribe_ack after %d seconds\n", seconds); @@ -309,6 +311,17 @@ EXPORT_SYMBOL(ceph_monc_open_session); /* + * We require the fsid and global_id in order to initialize our + * debugfs dir. + */ +static bool have_debugfs_info(struct ceph_mon_client *monc) +{ + dout("have_debugfs_info fsid %d globalid %lld\n", + (int)monc->client->have_fsid, monc->auth->global_id); + return monc->client->have_fsid && monc->auth->global_id > 0; +} + +/* * The monitor responds with mount ack indicate mount success. The * included client ticket allows the client to talk to MDSs and OSDs. */ @@ -318,9 +331,12 @@ struct ceph_client *client = monc->client; struct ceph_monmap *monmap = NULL, *old = monc->monmap; void *p, *end; + int had_debugfs_info, init_debugfs = 0; mutex_lock(&monc->mutex); + had_debugfs_info = have_debugfs_info(monc); + dout("handle_monmap\n"); p = msg->front.iov_base; end = p + msg->front.iov_len; @@ -342,12 +358,22 @@ if (!client->have_fsid) { client->have_fsid = true; + if (!had_debugfs_info && have_debugfs_info(monc)) { + pr_info("client%lld fsid %pU\n", + ceph_client_id(monc->client), + &monc->client->fsid); + init_debugfs = 1; + } mutex_unlock(&monc->mutex); - /* - * do debugfs initialization without mutex to avoid - * creating a locking dependency - */ - ceph_debugfs_client_init(client); + + if (init_debugfs) { + /* + * do debugfs initialization without mutex to avoid + * creating a locking dependency + */ + ceph_debugfs_client_init(monc->client); + } + goto out_unlocked; } out: @@ -439,6 +465,7 @@ m = NULL; } else { dout("get_generic_reply %lld got %p\n", tid, req->reply); + *skip = 0; m = ceph_msg_get(req->reply); /* * we don't need to track the connection reading into @@ -461,7 +488,7 @@ req->request->hdr.tid = cpu_to_le64(req->tid); __insert_generic_request(monc, req); monc->num_generic_requests++; - ceph_con_send(monc->con, ceph_msg_get(req->request)); + ceph_con_send(&monc->con, ceph_msg_get(req->request)); mutex_unlock(&monc->mutex); err = wait_for_completion_interruptible(&req->completion); @@ -684,8 +711,9 @@ for (p = rb_first(&monc->generic_request_tree); p; p = rb_next(p)) { req = rb_entry(p, struct ceph_mon_generic_request, node); - ceph_con_revoke(monc->con, req->request); - ceph_con_send(monc->con, ceph_msg_get(req->request)); + ceph_msg_revoke(req->request); + ceph_msg_revoke_incoming(req->reply); + ceph_con_send(&monc->con, ceph_msg_get(req->request)); } } @@ -705,7 +733,7 @@ __close_session(monc); __open_session(monc); /* continue hunting */ } else { - ceph_con_keepalive(monc->con); + ceph_con_keepalive(&monc->con); __validate_auth(monc); @@ -760,19 +788,12 @@ goto out; /* connection */ - monc->con = kmalloc(sizeof(*monc->con), GFP_KERNEL); - if (!monc->con) - goto out_monmap; - ceph_con_init(monc->client->msgr, monc->con); - monc->con->private = monc; - monc->con->ops = &mon_con_ops; - /* authentication */ monc->auth = ceph_auth_init(cl->options->name, cl->options->key); if (IS_ERR(monc->auth)) { err = PTR_ERR(monc->auth); - goto out_con; + goto out_monmap; } monc->auth->want_keys = CEPH_ENTITY_TYPE_AUTH | CEPH_ENTITY_TYPE_MON | @@ -801,6 +822,9 @@ if (!monc->m_auth) goto out_auth_reply; + ceph_con_init(&monc->con, monc, &mon_con_ops, + &monc->client->msgr); + monc->cur_mon = -1; monc->hunting = true; monc->sub_renew_after = jiffies; @@ -824,8 +848,6 @@ ceph_msg_put(monc->m_subscribe_ack); out_auth: ceph_auth_destroy(monc->auth); -out_con: - monc->con->ops->put(monc->con); out_monmap: kfree(monc->monmap); out: @@ -841,10 +863,6 @@ mutex_lock(&monc->mutex); __close_session(monc); - monc->con->private = NULL; - monc->con->ops->put(monc->con); - monc->con = NULL; - mutex_unlock(&monc->mutex); /* @@ -871,8 +889,10 @@ { int ret; int was_auth = 0; + int had_debugfs_info, init_debugfs = 0; mutex_lock(&monc->mutex); + had_debugfs_info = have_debugfs_info(monc); if (monc->auth->ops) was_auth = monc->auth->ops->is_authenticated(monc->auth); monc->pending_auth = 0; @@ -888,14 +908,29 @@ } else if (!was_auth && monc->auth->ops->is_authenticated(monc->auth)) { dout("authenticated, starting session\n"); - monc->client->msgr->inst.name.type = CEPH_ENTITY_TYPE_CLIENT; - monc->client->msgr->inst.name.num = + monc->client->msgr.inst.name.type = CEPH_ENTITY_TYPE_CLIENT; + monc->client->msgr.inst.name.num = cpu_to_le64(monc->auth->global_id); __send_subscribe(monc); __resend_generic_request(monc); } + + if (!had_debugfs_info && have_debugfs_info(monc)) { + pr_info("client%lld fsid %pU\n", + ceph_client_id(monc->client), + &monc->client->fsid); + init_debugfs = 1; + } mutex_unlock(&monc->mutex); + + if (init_debugfs) { + /* + * do debugfs initialization without mutex to avoid + * creating a locking dependency + */ + ceph_debugfs_client_init(monc->client); + } } static int __validate_auth(struct ceph_mon_client *monc) @@ -1000,6 +1035,8 @@ case CEPH_MSG_MDS_MAP: case CEPH_MSG_OSD_MAP: m = ceph_msg_new(type, front_len, GFP_NOFS, false); + if (!m) + return NULL; /* ENOMEM--return skip == 0 */ break; } @@ -1029,7 +1066,7 @@ if (!monc->hunting) pr_info("mon%d %s session lost, " "hunting for new mon\n", monc->cur_mon, - ceph_pr_addr(&monc->con->peer_addr.in_addr)); + ceph_pr_addr(&monc->con.peer_addr.in_addr)); __close_session(monc); if (!monc->hunting) { @@ -1044,9 +1081,23 @@ mutex_unlock(&monc->mutex); } +/* + * We can ignore refcounting on the connection struct, as all references + * will come from the messenger workqueue, which is drained prior to + * mon_client destruction. + */ +static struct ceph_connection *con_get(struct ceph_connection *con) +{ + return con; +} + +static void con_put(struct ceph_connection *con) +{ +} + static const struct ceph_connection_operations mon_con_ops = { - .get = ceph_con_get, - .put = ceph_con_put, + .get = con_get, + .put = con_put, .dispatch = dispatch, .fault = mon_fault, .alloc_msg = mon_alloc_msg, --- linux-lowlatency-3.5.0.orig/net/ceph/msgpool.c +++ linux-lowlatency-3.5.0/net/ceph/msgpool.c @@ -12,7 +12,7 @@ struct ceph_msgpool *pool = arg; struct ceph_msg *msg; - msg = ceph_msg_new(0, pool->front_len, gfp_mask, true); + msg = ceph_msg_new(pool->type, pool->front_len, gfp_mask, true); if (!msg) { dout("msgpool_alloc %s failed\n", pool->name); } else { @@ -32,10 +32,11 @@ ceph_msg_put(msg); } -int ceph_msgpool_init(struct ceph_msgpool *pool, +int ceph_msgpool_init(struct ceph_msgpool *pool, int type, int front_len, int size, bool blocking, const char *name) { dout("msgpool %s init\n", name); + pool->type = type; pool->front_len = front_len; pool->pool = mempool_create(size, msgpool_alloc, msgpool_free, pool); if (!pool->pool) @@ -61,7 +62,7 @@ WARN_ON(1); /* try to alloc a fresh message */ - return ceph_msg_new(0, front_len, GFP_NOFS, false); + return ceph_msg_new(pool->type, front_len, GFP_NOFS, false); } msg = mempool_alloc(pool->pool, GFP_NOFS); --- linux-lowlatency-3.5.0.orig/net/ceph/osd_client.c +++ linux-lowlatency-3.5.0/net/ceph/osd_client.c @@ -52,7 +52,7 @@ op == CEPH_OSD_OP_WRITE); } -void ceph_calc_raw_layout(struct ceph_osd_client *osdc, +int ceph_calc_raw_layout(struct ceph_osd_client *osdc, struct ceph_file_layout *layout, u64 snapid, u64 off, u64 *plen, u64 *bno, @@ -62,12 +62,15 @@ struct ceph_osd_request_head *reqhead = req->r_request->front.iov_base; u64 orig_len = *plen; u64 objoff, objlen; /* extent in object */ + int r; reqhead->snapid = cpu_to_le64(snapid); /* object extent? */ - ceph_calc_file_object_mapping(layout, off, plen, bno, - &objoff, &objlen); + r = ceph_calc_file_object_mapping(layout, off, plen, bno, + &objoff, &objlen); + if (r < 0) + return r; if (*plen < orig_len) dout(" skipping last %llu, final file extent %llu~%llu\n", orig_len - *plen, off, *plen); @@ -83,7 +86,7 @@ dout("calc_layout bno=%llx %llu~%llu (%d pages)\n", *bno, objoff, objlen, req->r_num_pages); - + return 0; } EXPORT_SYMBOL(ceph_calc_raw_layout); @@ -112,20 +115,25 @@ * * fill osd op in request message. */ -static void calc_layout(struct ceph_osd_client *osdc, - struct ceph_vino vino, - struct ceph_file_layout *layout, - u64 off, u64 *plen, - struct ceph_osd_request *req, - struct ceph_osd_req_op *op) +static int calc_layout(struct ceph_osd_client *osdc, + struct ceph_vino vino, + struct ceph_file_layout *layout, + u64 off, u64 *plen, + struct ceph_osd_request *req, + struct ceph_osd_req_op *op) { u64 bno; + int r; - ceph_calc_raw_layout(osdc, layout, vino.snap, off, - plen, &bno, req, op); + r = ceph_calc_raw_layout(osdc, layout, vino.snap, off, + plen, &bno, req, op); + if (r < 0) + return r; snprintf(req->r_oid, sizeof(req->r_oid), "%llx.%08llx", vino.ino, bno); req->r_oid_len = strlen(req->r_oid); + + return r; } /* @@ -140,10 +148,9 @@ if (req->r_request) ceph_msg_put(req->r_request); if (req->r_con_filling_msg) { - dout("release_request revoking pages %p from con %p\n", + dout("%s revoking pages %p from con %p\n", __func__, req->r_pages, req->r_con_filling_msg); - ceph_con_revoke_message(req->r_con_filling_msg, - req->r_reply); + ceph_msg_revoke_incoming(req->r_reply); req->r_con_filling_msg->ops->put(req->r_con_filling_msg); } if (req->r_reply) @@ -243,6 +250,7 @@ } ceph_pagelist_init(req->r_trail); } + /* create request message; allow space for oid */ msg_size += MAX_OBJ_NAME_SIZE; if (snapc) @@ -256,7 +264,6 @@ return NULL; } - msg->hdr.type = cpu_to_le16(CEPH_MSG_OSD_OP); memset(msg->front.iov_base, 0, msg->front.iov_len); req->r_request = msg; @@ -624,7 +631,7 @@ /* * Track open sessions with osds. */ -static struct ceph_osd *create_osd(struct ceph_osd_client *osdc) +static struct ceph_osd *create_osd(struct ceph_osd_client *osdc, int onum) { struct ceph_osd *osd; @@ -634,15 +641,13 @@ atomic_set(&osd->o_ref, 1); osd->o_osdc = osdc; + osd->o_osd = onum; INIT_LIST_HEAD(&osd->o_requests); INIT_LIST_HEAD(&osd->o_linger_requests); INIT_LIST_HEAD(&osd->o_osd_lru); osd->o_incarnation = 1; - ceph_con_init(osdc->client->msgr, &osd->o_con); - osd->o_con.private = osd; - osd->o_con.ops = &osd_con_ops; - osd->o_con.peer_name.type = CEPH_ENTITY_TYPE_OSD; + ceph_con_init(&osd->o_con, osd, &osd_con_ops, &osdc->client->msgr); INIT_LIST_HEAD(&osd->o_keepalive_item); return osd; @@ -752,7 +757,8 @@ ret = -EAGAIN; } else { ceph_con_close(&osd->o_con); - ceph_con_open(&osd->o_con, &osdc->osdmap->osd_addr[osd->o_osd]); + ceph_con_open(&osd->o_con, CEPH_ENTITY_TYPE_OSD, osd->o_osd, + &osdc->osdmap->osd_addr[osd->o_osd]); osd->o_incarnation++; } return ret; @@ -853,7 +859,7 @@ if (req->r_osd) { /* make sure the original request isn't in flight. */ - ceph_con_revoke(&req->r_osd->o_con, req->r_request); + ceph_msg_revoke(req->r_request); list_del_init(&req->r_osd_item); if (list_empty(&req->r_osd->o_requests) && @@ -880,7 +886,7 @@ static void __cancel_request(struct ceph_osd_request *req) { if (req->r_sent && req->r_osd) { - ceph_con_revoke(&req->r_osd->o_con, req->r_request); + ceph_msg_revoke(req->r_request); req->r_sent = 0; } } @@ -890,7 +896,9 @@ { dout("__register_linger_request %p\n", req); list_add_tail(&req->r_linger_item, &osdc->req_linger); - list_add_tail(&req->r_linger_osd, &req->r_osd->o_linger_requests); + if (req->r_osd) + list_add_tail(&req->r_linger_osd, + &req->r_osd->o_linger_requests); } static void __unregister_linger_request(struct ceph_osd_client *osdc, @@ -998,18 +1006,18 @@ req->r_osd = __lookup_osd(osdc, o); if (!req->r_osd && o >= 0) { err = -ENOMEM; - req->r_osd = create_osd(osdc); + req->r_osd = create_osd(osdc, o); if (!req->r_osd) { list_move(&req->r_req_lru_item, &osdc->req_notarget); goto out; } dout("map_request osd %p is osd%d\n", req->r_osd, o); - req->r_osd->o_osd = o; - req->r_osd->o_con.peer_name.num = cpu_to_le64(o); __insert_osd(osdc, req->r_osd); - ceph_con_open(&req->r_osd->o_con, &osdc->osdmap->osd_addr[o]); + ceph_con_open(&req->r_osd->o_con, + CEPH_ENTITY_TYPE_OSD, o, + &osdc->osdmap->osd_addr[o]); } if (req->r_osd) { @@ -1304,8 +1312,9 @@ dout("kick_requests %s\n", force_resend ? " (force resend)" : ""); mutex_lock(&osdc->request_mutex); - for (p = rb_first(&osdc->requests); p; p = rb_next(p)) { + for (p = rb_first(&osdc->requests); p; ) { req = rb_entry(p, struct ceph_osd_request, r_node); + p = rb_next(p); err = __map_request(osdc, req, force_resend); if (err < 0) continue; /* error */ @@ -1313,10 +1322,23 @@ dout("%p tid %llu maps to no osd\n", req, req->r_tid); needmap++; /* request a newer map */ } else if (err > 0) { - dout("%p tid %llu requeued on osd%d\n", req, req->r_tid, - req->r_osd ? req->r_osd->o_osd : -1); - if (!req->r_linger) + if (!req->r_linger) { + dout("%p tid %llu requeued on osd%d\n", req, + req->r_tid, + req->r_osd ? req->r_osd->o_osd : -1); req->r_flags |= CEPH_OSD_FLAG_RETRY; + } + } + if (req->r_linger && list_empty(&req->r_linger_item)) { + /* + * register as a linger so that we will + * re-submit below and get a new tid + */ + dout("%p tid %llu restart on osd%d\n", + req, req->r_tid, + req->r_osd ? req->r_osd->o_osd : -1); + __register_linger_request(osdc, req); + __unregister_request(osdc, req); } } @@ -1391,7 +1413,7 @@ epoch, maplen); newmap = osdmap_apply_incremental(&p, next, osdc->osdmap, - osdc->client->msgr); + &osdc->client->msgr); if (IS_ERR(newmap)) { err = PTR_ERR(newmap); goto bad; @@ -1839,11 +1861,12 @@ if (!osdc->req_mempool) goto out; - err = ceph_msgpool_init(&osdc->msgpool_op, OSD_OP_FRONT_LEN, 10, true, + err = ceph_msgpool_init(&osdc->msgpool_op, CEPH_MSG_OSD_OP, + OSD_OP_FRONT_LEN, 10, true, "osd_op"); if (err < 0) goto out_mempool; - err = ceph_msgpool_init(&osdc->msgpool_op_reply, + err = ceph_msgpool_init(&osdc->msgpool_op_reply, CEPH_MSG_OSD_OPREPLY, OSD_OPREPLY_FRONT_LEN, 10, true, "osd_op_reply"); if (err < 0) @@ -2025,9 +2048,9 @@ } if (req->r_con_filling_msg) { - dout("get_reply revoking msg %p from old con %p\n", + dout("%s revoking msg %p from old con %p\n", __func__, req->r_reply, req->r_con_filling_msg); - ceph_con_revoke_message(req->r_con_filling_msg, req->r_reply); + ceph_msg_revoke_incoming(req->r_reply); req->r_con_filling_msg->ops->put(req->r_con_filling_msg); req->r_con_filling_msg = NULL; } @@ -2080,6 +2103,7 @@ int type = le16_to_cpu(hdr->type); int front = le32_to_cpu(hdr->front_len); + *skip = 0; switch (type) { case CEPH_MSG_OSD_MAP: case CEPH_MSG_WATCH_NOTIFY: --- linux-lowlatency-3.5.0.orig/net/ceph/osdmap.c +++ linux-lowlatency-3.5.0/net/ceph/osdmap.c @@ -488,15 +488,16 @@ ceph_decode_32_safe(p, end, pool, bad); ceph_decode_32_safe(p, end, len, bad); dout(" pool %d len %d\n", pool, len); + ceph_decode_need(p, end, len, bad); pi = __lookup_pg_pool(&map->pg_pools, pool); if (pi) { + char *name = kstrndup(*p, len, GFP_NOFS); + + if (!name) + return -ENOMEM; kfree(pi->name); - pi->name = kmalloc(len + 1, GFP_NOFS); - if (pi->name) { - memcpy(pi->name, *p, len); - pi->name[len] = '\0'; - dout(" name is %s\n", pi->name); - } + pi->name = name; + dout(" name is %s\n", pi->name); } *p += len; } @@ -666,6 +667,9 @@ ceph_decode_need(p, end, sizeof(u32) + sizeof(u64), bad); ceph_decode_copy(p, &pgid, sizeof(pgid)); n = ceph_decode_32(p); + err = -EINVAL; + if (n > (UINT_MAX - sizeof(*pg)) / sizeof(u32)) + goto bad; ceph_decode_need(p, end, n * sizeof(u32), bad); err = -ENOMEM; pg = kmalloc(sizeof(*pg) + n*sizeof(u32), GFP_NOFS); @@ -889,6 +893,10 @@ (void) __remove_pg_mapping(&map->pg_temp, pgid); /* insert */ + if (pglen > (UINT_MAX - sizeof(*pg)) / sizeof(u32)) { + err = -EINVAL; + goto bad; + } pg = kmalloc(sizeof(*pg) + sizeof(u32)*pglen, GFP_NOFS); if (!pg) { err = -ENOMEM; @@ -937,7 +945,7 @@ * for now, we write only a single su, until we can * pass a stride back to the caller. */ -void ceph_calc_file_object_mapping(struct ceph_file_layout *layout, +int ceph_calc_file_object_mapping(struct ceph_file_layout *layout, u64 off, u64 *plen, u64 *ono, u64 *oxoff, u64 *oxlen) @@ -951,11 +959,17 @@ dout("mapping %llu~%llu osize %u fl_su %u\n", off, *plen, osize, su); + if (su == 0 || sc == 0) + goto invalid; su_per_object = osize / su; + if (su_per_object == 0) + goto invalid; dout("osize %u / su %u = su_per_object %u\n", osize, su, su_per_object); - BUG_ON((su & ~PAGE_MASK) != 0); + if ((su & ~PAGE_MASK) != 0) + goto invalid; + /* bl = *off / su; */ t = off; do_div(t, su); @@ -983,6 +997,14 @@ *plen = *oxlen; dout(" obj extent %llu~%llu\n", *oxoff, *oxlen); + return 0; + +invalid: + dout(" invalid layout\n"); + *ono = 0; + *oxoff = 0; + *oxlen = 0; + return -EINVAL; } EXPORT_SYMBOL(ceph_calc_file_object_mapping); --- linux-lowlatency-3.5.0.orig/net/core/dev.c +++ linux-lowlatency-3.5.0/net/core/dev.c @@ -1055,6 +1055,8 @@ */ int dev_set_alias(struct net_device *dev, const char *alias, size_t len) { + char *new_ifalias; + ASSERT_RTNL(); if (len >= IFALIASZ) @@ -1068,9 +1070,10 @@ return 0; } - dev->ifalias = krealloc(dev->ifalias, len + 1, GFP_KERNEL); - if (!dev->ifalias) + new_ifalias = krealloc(dev->ifalias, len + 1, GFP_KERNEL); + if (!new_ifalias) return -ENOMEM; + dev->ifalias = new_ifalias; strlcpy(dev->ifalias, alias, len+1); return len; @@ -1172,6 +1175,7 @@ net_dmaengine_get(); dev_set_rx_mode(dev); dev_activate(dev); + add_device_randomness(dev->dev_addr, dev->addr_len); } return ret; @@ -1636,6 +1640,19 @@ return pt_prev->func(skb, skb->dev, pt_prev, orig_dev); } +static inline bool skb_loop_sk(struct packet_type *ptype, struct sk_buff *skb) +{ + if (!ptype->af_packet_priv || !skb->sk) + return false; + + if (ptype->id_match) + return ptype->id_match(ptype, skb->sk); + else if ((struct sock *)ptype->af_packet_priv == skb->sk) + return true; + + return false; +} + /* * Support routine. Sends outgoing frames to any network * taps currently in use. @@ -1653,8 +1670,7 @@ * they originated from - MvS (miquels@drinkel.ow.org) */ if ((ptype->dev == dev || !ptype->dev) && - (ptype->af_packet_priv == NULL || - (struct sock *)ptype->af_packet_priv != skb->sk)) { + (!skb_loop_sk(ptype, skb))) { if (pt_prev) { deliver_skb(skb2, pt_prev, skb->dev); pt_prev = ptype; @@ -2103,7 +2119,8 @@ static netdev_features_t harmonize_features(struct sk_buff *skb, __be16 protocol, netdev_features_t features) { - if (!can_checksum_protocol(features, protocol)) { + if (skb->ip_summed != CHECKSUM_NONE && + !can_checksum_protocol(features, protocol)) { features &= ~NETIF_F_ALL_CSUM; features &= ~NETIF_F_SG; } else if (illegal_highdma(skb->dev, skb)) { @@ -2118,6 +2135,9 @@ __be16 protocol = skb->protocol; netdev_features_t features = skb->dev->features; + if (skb_shinfo(skb)->gso_segs > skb->dev->gso_max_segs) + features &= ~NETIF_F_GSO_MASK; + if (protocol == htons(ETH_P_8021Q)) { struct vlan_ethhdr *veh = (struct vlan_ethhdr *)skb->data; protocol = veh->h_vlan_encapsulated_proto; @@ -2596,15 +2616,16 @@ if (!skb_flow_dissect(skb, &keys)) return; - if (keys.ports) { - if ((__force u16)keys.port16[1] < (__force u16)keys.port16[0]) - swap(keys.port16[0], keys.port16[1]); + if (keys.ports) skb->l4_rxhash = 1; - } /* get a consistent hash (same value on both flow directions) */ - if ((__force u32)keys.dst < (__force u32)keys.src) + if (((__force u32)keys.dst < (__force u32)keys.src) || + (((__force u32)keys.dst == (__force u32)keys.src) && + ((__force u16)keys.port16[1] < (__force u16)keys.port16[0]))) { swap(keys.dst, keys.src); + swap(keys.port16[0], keys.port16[1]); + } hash = jhash_3words((__force u32)keys.dst, (__force u32)keys.src, @@ -2740,8 +2761,10 @@ if (unlikely(tcpu != next_cpu) && (tcpu == RPS_NO_CPU || !cpu_online(tcpu) || ((int)(per_cpu(softnet_data, tcpu).input_queue_head - - rflow->last_qtail)) >= 0)) + rflow->last_qtail)) >= 0)) { + tcpu = next_cpu; rflow = set_rps_cpu(dev, skb, rflow, next_cpu); + } if (tcpu != RPS_NO_CPU && cpu_online(tcpu)) { *rflowp = rflow; @@ -3185,18 +3208,18 @@ ncls: #endif - rx_handler = rcu_dereference(skb->dev->rx_handler); if (vlan_tx_tag_present(skb)) { if (pt_prev) { ret = deliver_skb(skb, pt_prev, orig_dev); pt_prev = NULL; } - if (vlan_do_receive(&skb, !rx_handler)) + if (vlan_do_receive(&skb)) goto another_round; else if (unlikely(!skb)) goto out; } + rx_handler = rcu_dereference(skb->dev->rx_handler); if (rx_handler) { if (pt_prev) { ret = deliver_skb(skb, pt_prev, orig_dev); @@ -3216,6 +3239,9 @@ } } + if (vlan_tx_nonzero_tag_present(skb)) + skb->pkt_type = PACKET_OTHERHOST; + /* deliver only exact match when indicated */ null_or_dev = deliver_exact ? skb->dev : NULL; @@ -4767,6 +4793,7 @@ err = ops->ndo_set_mac_address(dev, sa); if (!err) call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); + add_device_randomness(dev->dev_addr, dev->addr_len); return err; } EXPORT_SYMBOL(dev_set_mac_address); @@ -5545,6 +5572,7 @@ dev_init_scheduler(dev); dev_hold(dev); list_netdevice(dev); + add_device_randomness(dev->dev_addr, dev->addr_len); /* Notify protocols, that a new device appeared. */ ret = call_netdevice_notifiers(NETDEV_REGISTER, dev); @@ -5908,6 +5936,7 @@ dev_net_set(dev, &init_net); dev->gso_max_size = GSO_MAX_SIZE; + dev->gso_max_segs = GSO_MAX_SEGS; INIT_LIST_HEAD(&dev->napi_list); INIT_LIST_HEAD(&dev->unreg_list); --- linux-lowlatency-3.5.0.orig/net/core/dev_addr_lists.c +++ linux-lowlatency-3.5.0/net/core/dev_addr_lists.c @@ -317,7 +317,8 @@ */ ha = list_first_entry(&dev->dev_addrs.list, struct netdev_hw_addr, list); - if (ha->addr == dev->dev_addr && ha->refcount == 1) + if (!memcmp(ha->addr, addr, dev->addr_len) && + ha->type == addr_type && ha->refcount == 1) return -ENOENT; err = __hw_addr_del(&dev->dev_addrs, addr, dev->addr_len, --- linux-lowlatency-3.5.0.orig/net/core/neighbour.c +++ linux-lowlatency-3.5.0/net/core/neighbour.c @@ -1286,8 +1286,6 @@ if (!dst) goto discard; - __skb_pull(skb, skb_network_offset(skb)); - if (!neigh_event_send(neigh, skb)) { int err; struct net_device *dev = neigh->dev; @@ -1297,6 +1295,7 @@ neigh_hh_init(neigh, dst); do { + __skb_pull(skb, skb_network_offset(skb)); seq = read_seqbegin(&neigh->ha_lock); err = dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha, NULL, skb->len); @@ -1327,9 +1326,8 @@ unsigned int seq; int err; - __skb_pull(skb, skb_network_offset(skb)); - do { + __skb_pull(skb, skb_network_offset(skb)); seq = read_seqbegin(&neigh->ha_lock); err = dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha, NULL, skb->len); --- linux-lowlatency-3.5.0.orig/net/core/pktgen.c +++ linux-lowlatency-3.5.0/net/core/pktgen.c @@ -2927,7 +2927,7 @@ sizeof(struct ipv6hdr) - sizeof(struct udphdr) - pkt_dev->pkt_overhead; - if (datalen < sizeof(struct pktgen_hdr)) { + if (datalen < 0 || datalen < sizeof(struct pktgen_hdr)) { datalen = sizeof(struct pktgen_hdr); net_info_ratelimited("increased datalen to %d\n", datalen); } --- linux-lowlatency-3.5.0.orig/net/core/rtnetlink.c +++ linux-lowlatency-3.5.0/net/core/rtnetlink.c @@ -674,6 +674,12 @@ } } +static unsigned int rtnl_dev_get_flags(const struct net_device *dev) +{ + return (dev->flags & ~(IFF_PROMISC | IFF_ALLMULTI)) | + (dev->gflags & (IFF_PROMISC | IFF_ALLMULTI)); +} + static unsigned int rtnl_dev_combine_flags(const struct net_device *dev, const struct ifinfomsg *ifm) { @@ -682,7 +688,7 @@ /* bugwards compatibility: ifi_change == 0 is treated as ~0 */ if (ifm->ifi_change) flags = (flags & ifm->ifi_change) | - (dev->flags & ~ifm->ifi_change); + (rtnl_dev_get_flags(dev) & ~ifm->ifi_change); return flags; } @@ -1378,6 +1384,7 @@ goto errout; send_addr_notify = 1; modified = 1; + add_device_randomness(dev->dev_addr, dev->addr_len); } if (tb[IFLA_MTU]) { --- linux-lowlatency-3.5.0.orig/net/core/skbuff.c +++ linux-lowlatency-3.5.0/net/core/skbuff.c @@ -572,53 +572,6 @@ } EXPORT_SYMBOL(consume_skb); -/** - * skb_recycle - clean up an skb for reuse - * @skb: buffer - * - * Recycles the skb to be reused as a receive buffer. This - * function does any necessary reference count dropping, and - * cleans up the skbuff as if it just came from __alloc_skb(). - */ -void skb_recycle(struct sk_buff *skb) -{ - struct skb_shared_info *shinfo; - - skb_release_head_state(skb); - - shinfo = skb_shinfo(skb); - memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); - atomic_set(&shinfo->dataref, 1); - - memset(skb, 0, offsetof(struct sk_buff, tail)); - skb->data = skb->head + NET_SKB_PAD; - skb_reset_tail_pointer(skb); -} -EXPORT_SYMBOL(skb_recycle); - -/** - * skb_recycle_check - check if skb can be reused for receive - * @skb: buffer - * @skb_size: minimum receive buffer size - * - * Checks that the skb passed in is not shared or cloned, and - * that it is linear and its head portion at least as large as - * skb_size so that it can be recycled as a receive buffer. - * If these conditions are met, this function does any necessary - * reference count dropping and cleans up the skbuff as if it - * just came from __alloc_skb(). - */ -bool skb_recycle_check(struct sk_buff *skb, int skb_size) -{ - if (!skb_is_recycleable(skb, skb_size)) - return false; - - skb_recycle(skb); - - return true; -} -EXPORT_SYMBOL(skb_recycle_check); - static void __copy_skb_header(struct sk_buff *new, const struct sk_buff *old) { new->tstamp = old->tstamp; @@ -3350,10 +3303,12 @@ void kfree_skb_partial(struct sk_buff *skb, bool head_stolen) { - if (head_stolen) + if (head_stolen) { + skb_release_head_state(skb); kmem_cache_free(skbuff_head_cache, skb); - else + } else { __kfree_skb(skb); + } } EXPORT_SYMBOL(kfree_skb_partial); --- linux-lowlatency-3.5.0.orig/net/core/sock.c +++ linux-lowlatency-3.5.0/net/core/sock.c @@ -636,7 +636,8 @@ case SO_KEEPALIVE: #ifdef CONFIG_INET - if (sk->sk_protocol == IPPROTO_TCP) + if (sk->sk_protocol == IPPROTO_TCP && + sk->sk_type == SOCK_STREAM) tcp_set_keepalive(sk, valbool); #endif sock_valbool_flag(sk, SOCK_KEEPOPEN, valbool); @@ -1403,6 +1404,7 @@ } else { sk->sk_route_caps |= NETIF_F_SG | NETIF_F_HW_CSUM; sk->sk_gso_max_size = dst->dev->gso_max_size; + sk->sk_gso_max_segs = dst->dev->gso_max_segs; } } } --- linux-lowlatency-3.5.0.orig/net/dccp/ccid.h +++ linux-lowlatency-3.5.0/net/dccp/ccid.h @@ -246,7 +246,7 @@ u32 __user *optval, int __user *optlen) { int rc = -ENOPROTOOPT; - if (ccid->ccid_ops->ccid_hc_rx_getsockopt != NULL) + if (ccid != NULL && ccid->ccid_ops->ccid_hc_rx_getsockopt != NULL) rc = ccid->ccid_ops->ccid_hc_rx_getsockopt(sk, optname, len, optval, optlen); return rc; @@ -257,7 +257,7 @@ u32 __user *optval, int __user *optlen) { int rc = -ENOPROTOOPT; - if (ccid->ccid_ops->ccid_hc_tx_getsockopt != NULL) + if (ccid != NULL && ccid->ccid_ops->ccid_hc_tx_getsockopt != NULL) rc = ccid->ccid_ops->ccid_hc_tx_getsockopt(sk, optname, len, optval, optlen); return rc; --- linux-lowlatency-3.5.0.orig/net/dccp/ccids/ccid3.c +++ linux-lowlatency-3.5.0/net/dccp/ccids/ccid3.c @@ -531,6 +531,7 @@ case DCCP_SOCKOPT_CCID_TX_INFO: if (len < sizeof(tfrc)) return -EINVAL; + memset(&tfrc, 0, sizeof(tfrc)); tfrc.tfrctx_x = hc->tx_x; tfrc.tfrctx_x_recv = hc->tx_x_recv; tfrc.tfrctx_x_calc = hc->tx_x_calc; --- linux-lowlatency-3.5.0.orig/net/ipv4/fib_frontend.c +++ linux-lowlatency-3.5.0/net/ipv4/fib_frontend.c @@ -998,6 +998,14 @@ fib_disable_ip(dev, 2, -1); return NOTIFY_DONE; } + if (event == NETDEV_UNREGISTER_BATCH) { + /* The batch unregister is only called on the first + * device in the list of devices being unregistered. + * Therefore we should not pass dev_net(dev) in here. + */ + rt_cache_flush_batch(NULL); + return NOTIFY_DONE; + } if (!in_dev) return NOTIFY_DONE; @@ -1020,13 +1028,6 @@ case NETDEV_CHANGE: rt_cache_flush(dev_net(dev), 0); break; - case NETDEV_UNREGISTER_BATCH: - /* The batch unregister is only called on the first - * device in the list of devices being unregistered. - * Therefore we should not pass dev_net(dev) in here. - */ - rt_cache_flush_batch(NULL); - break; } return NOTIFY_DONE; } --- linux-lowlatency-3.5.0.orig/net/ipv4/inet_diag.c +++ linux-lowlatency-3.5.0/net/ipv4/inet_diag.c @@ -875,13 +875,16 @@ struct inet_diag_req_v2 *r, struct nlattr *bc) { const struct inet_diag_handler *handler; + int err = 0; handler = inet_diag_lock_handler(r->sdiag_protocol); if (!IS_ERR(handler)) handler->dump(skb, cb, r, bc); + else + err = PTR_ERR(handler); inet_diag_unlock_handler(handler); - return skb->len; + return err ? : skb->len; } static int inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb) --- linux-lowlatency-3.5.0.orig/net/ipv4/ip_sockglue.c +++ linux-lowlatency-3.5.0/net/ipv4/ip_sockglue.c @@ -456,19 +456,28 @@ struct inet_sock *inet = inet_sk(sk); int val = 0, err; - if (((1<= sizeof(int)) { if (get_user(val, (int __user *) optval)) return -EFAULT; --- linux-lowlatency-3.5.0.orig/net/ipv4/ipmr.c +++ linux-lowlatency-3.5.0/net/ipv4/ipmr.c @@ -124,6 +124,8 @@ static struct kmem_cache *mrt_cachep __read_mostly; static struct mr_table *ipmr_new_table(struct net *net, u32 id); +static void ipmr_free_table(struct mr_table *mrt); + static int ip_mr_forward(struct net *net, struct mr_table *mrt, struct sk_buff *skb, struct mfc_cache *cache, int local); @@ -131,6 +133,7 @@ struct sk_buff *pkt, vifi_t vifi, int assert); static int __ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, struct mfc_cache *c, struct rtmsg *rtm); +static void mroute_clean_tables(struct mr_table *mrt); static void ipmr_expire_process(unsigned long arg); #ifdef CONFIG_IP_MROUTE_MULTIPLE_TABLES @@ -271,7 +274,7 @@ list_for_each_entry_safe(mrt, next, &net->ipv4.mr_tables, list) { list_del(&mrt->list); - kfree(mrt); + ipmr_free_table(mrt); } fib_rules_unregister(net->ipv4.mr_rules_ops); } @@ -299,7 +302,7 @@ static void __net_exit ipmr_rules_exit(struct net *net) { - kfree(net->ipv4.mrt); + ipmr_free_table(net->ipv4.mrt); } #endif @@ -336,6 +339,13 @@ return mrt; } +static void ipmr_free_table(struct mr_table *mrt) +{ + del_timer_sync(&mrt->ipmr_expire_timer); + mroute_clean_tables(mrt); + kfree(mrt); +} + /* Service routines creating virtual interfaces: DVMRP tunnels and PIMREG */ static void ipmr_del_tunnel(struct net_device *dev, struct vifctl *v) --- linux-lowlatency-3.5.0.orig/net/ipv4/raw.c +++ linux-lowlatency-3.5.0/net/ipv4/raw.c @@ -131,18 +131,20 @@ * 0 - deliver * 1 - block */ -static __inline__ int icmp_filter(struct sock *sk, struct sk_buff *skb) +static int icmp_filter(const struct sock *sk, const struct sk_buff *skb) { - int type; + struct icmphdr _hdr; + const struct icmphdr *hdr; - if (!pskb_may_pull(skb, sizeof(struct icmphdr))) + hdr = skb_header_pointer(skb, skb_transport_offset(skb), + sizeof(_hdr), &_hdr); + if (!hdr) return 1; - type = icmp_hdr(skb)->type; - if (type < 32) { + if (hdr->type < 32) { __u32 data = raw_sk(sk)->filter.data; - return ((1 << type) & data) != 0; + return ((1U << hdr->type) & data) != 0; } /* Do not block unknown ICMP types */ --- linux-lowlatency-3.5.0.orig/net/ipv4/tcp.c +++ linux-lowlatency-3.5.0/net/ipv4/tcp.c @@ -546,14 +546,12 @@ !tp->urg_data || before(tp->urg_seq, tp->copied_seq) || !before(tp->urg_seq, tp->rcv_nxt)) { - struct sk_buff *skb; answ = tp->rcv_nxt - tp->copied_seq; - /* Subtract 1, if FIN is in queue. */ - skb = skb_peek_tail(&sk->sk_receive_queue); - if (answ && skb) - answ -= tcp_hdr(skb)->fin; + /* Subtract 1, if FIN was received */ + if (answ && sock_flag(sk, SOCK_DONE)) + answ--; } else answ = tp->urg_seq - tp->copied_seq; release_sock(sk); @@ -805,7 +803,9 @@ old_size_goal + mss_now > xmit_size_goal)) { xmit_size_goal = old_size_goal; } else { - tp->xmit_size_goal_segs = xmit_size_goal / mss_now; + tp->xmit_size_goal_segs = + min_t(u16, xmit_size_goal / mss_now, + sk->sk_gso_max_segs); xmit_size_goal = tp->xmit_size_goal_segs * mss_now; } } @@ -1180,7 +1180,7 @@ wait_for_sndbuf: set_bit(SOCK_NOSPACE, &sk->sk_socket->flags); wait_for_memory: - if (copied && likely(!tp->repair)) + if (copied) tcp_push(sk, flags & ~MSG_MORE, mss_now, TCP_NAGLE_PUSH); if ((err = sk_stream_wait_memory(sk, &timeo)) != 0) @@ -1191,7 +1191,7 @@ } out: - if (copied && likely(!tp->repair)) + if (copied) tcp_push(sk, flags, mss_now, tp->nonagle); release_sock(sk); return copied; @@ -1704,8 +1704,14 @@ } #ifdef CONFIG_NET_DMA - if (tp->ucopy.dma_chan) - dma_async_memcpy_issue_pending(tp->ucopy.dma_chan); + if (tp->ucopy.dma_chan) { + if (tp->rcv_wnd == 0 && + !skb_queue_empty(&sk->sk_async_wait_queue)) { + tcp_service_net_dma(sk, true); + tcp_cleanup_rbuf(sk, copied); + } else + dma_async_memcpy_issue_pending(tp->ucopy.dma_chan); + } #endif if (copied >= target) { /* Do not sleep, just process backlog. */ @@ -2625,7 +2631,10 @@ /* Cap the max timeout in ms TCP will retry/retrans * before giving up and aborting (ETIMEDOUT) a connection. */ - icsk->icsk_user_timeout = msecs_to_jiffies(val); + if (val < 0) + err = -EINVAL; + else + icsk->icsk_user_timeout = msecs_to_jiffies(val); break; default: err = -ENOPROTOOPT; --- linux-lowlatency-3.5.0.orig/net/ipv4/tcp_cong.c +++ linux-lowlatency-3.5.0/net/ipv4/tcp_cong.c @@ -291,7 +291,8 @@ left = tp->snd_cwnd - in_flight; if (sk_can_gso(sk) && left * sysctl_tcp_tso_win_divisor < tp->snd_cwnd && - left * tp->mss_cache < sk->sk_gso_max_size) + left * tp->mss_cache < sk->sk_gso_max_size && + left < sk->sk_gso_max_segs) return true; return left <= tcp_max_tso_deferred_mss(tp); } --- linux-lowlatency-3.5.0.orig/net/ipv4/tcp_illinois.c +++ linux-lowlatency-3.5.0/net/ipv4/tcp_illinois.c @@ -313,11 +313,13 @@ .tcpv_rttcnt = ca->cnt_rtt, .tcpv_minrtt = ca->base_rtt, }; - u64 t = ca->sum_rtt; - do_div(t, ca->cnt_rtt); - info.tcpv_rtt = t; + if (info.tcpv_rttcnt > 0) { + u64 t = ca->sum_rtt; + do_div(t, info.tcpv_rttcnt); + info.tcpv_rtt = t; + } nla_put(skb, INET_DIAG_VEGASINFO, sizeof(info), &info); } } --- linux-lowlatency-3.5.0.orig/net/ipv4/tcp_input.c +++ linux-lowlatency-3.5.0/net/ipv4/tcp_input.c @@ -3107,13 +3107,14 @@ * tcp_xmit_retransmit_queue(). */ static void tcp_fastretrans_alert(struct sock *sk, int pkts_acked, - int newly_acked_sacked, bool is_dupack, + int prior_sacked, bool is_dupack, int flag) { struct inet_connection_sock *icsk = inet_csk(sk); struct tcp_sock *tp = tcp_sk(sk); int do_lost = is_dupack || ((flag & FLAG_DATA_SACKED) && (tcp_fackets_out(tp) > tp->reordering)); + int newly_acked_sacked = 0; int fast_rexmit = 0; if (WARN_ON(!tp->packets_out && tp->sacked_out)) @@ -3173,6 +3174,7 @@ tcp_add_reno_sack(sk); } else do_lost = tcp_try_undo_partial(sk, pkts_acked); + newly_acked_sacked = pkts_acked + tp->sacked_out - prior_sacked; break; case TCP_CA_Loss: if (flag & FLAG_DATA_ACKED) @@ -3194,6 +3196,7 @@ if (is_dupack) tcp_add_reno_sack(sk); } + newly_acked_sacked = pkts_acked + tp->sacked_out - prior_sacked; if (icsk->icsk_ca_state <= TCP_CA_Disorder) tcp_try_undo_dsack(sk); @@ -3771,7 +3774,6 @@ int prior_packets; int prior_sacked = tp->sacked_out; int pkts_acked = 0; - int newly_acked_sacked = 0; bool frto_cwnd = false; /* If the ack is older than previous acks @@ -3847,8 +3849,6 @@ flag |= tcp_clean_rtx_queue(sk, prior_fackets, prior_snd_una); pkts_acked = prior_packets - tp->packets_out; - newly_acked_sacked = (prior_packets - prior_sacked) - - (tp->packets_out - tp->sacked_out); if (tp->frto_counter) frto_cwnd = tcp_process_frto(sk, flag); @@ -3862,7 +3862,7 @@ tcp_may_raise_cwnd(sk, flag)) tcp_cong_avoid(sk, ack, prior_in_flight); is_dupack = !(flag & (FLAG_SND_UNA_ADVANCED | FLAG_NOT_DUP)); - tcp_fastretrans_alert(sk, pkts_acked, newly_acked_sacked, + tcp_fastretrans_alert(sk, pkts_acked, prior_sacked, is_dupack, flag); } else { if ((flag & FLAG_DATA_ACKED) && !frto_cwnd) @@ -3877,7 +3877,7 @@ no_queue: /* If data was DSACKed, see if we can undo a cwnd reduction. */ if (flag & FLAG_DSACKING_ACK) - tcp_fastretrans_alert(sk, pkts_acked, newly_acked_sacked, + tcp_fastretrans_alert(sk, pkts_acked, prior_sacked, is_dupack, flag); /* If this ack opens up a zero window, clear backoff. It was * being used to time the probes, and is probably far higher than @@ -3897,8 +3897,7 @@ */ if (TCP_SKB_CB(skb)->sacked) { flag |= tcp_sacktag_write_queue(sk, skb, prior_snd_una); - newly_acked_sacked = tp->sacked_out - prior_sacked; - tcp_fastretrans_alert(sk, pkts_acked, newly_acked_sacked, + tcp_fastretrans_alert(sk, pkts_acked, prior_sacked, is_dupack, flag); } @@ -4714,6 +4713,9 @@ struct tcphdr *th; bool fragstolen; + if (size == 0) + return 0; + if (tcp_try_rmem_schedule(sk, size + sizeof(*th))) goto err; @@ -4819,7 +4821,7 @@ if (eaten > 0) kfree_skb_partial(skb, fragstolen); - else if (!sock_flag(sk, SOCK_DEAD)) + if (!sock_flag(sk, SOCK_DEAD)) sk->sk_data_ready(sk, 0); return; } @@ -5602,7 +5604,9 @@ if (tp->copied_seq == tp->rcv_nxt && len - tcp_header_len <= tp->ucopy.len) { #ifdef CONFIG_NET_DMA - if (tcp_dma_try_early_copy(sk, skb, tcp_header_len)) { + if (tp->ucopy.task == current && + sock_owned_by_user(sk) && + tcp_dma_try_early_copy(sk, skb, tcp_header_len)) { copied_early = 1; eaten = 1; } @@ -5679,8 +5683,7 @@ #endif if (eaten) kfree_skb_partial(skb, fragstolen); - else - sk->sk_data_ready(sk, 0); + sk->sk_data_ready(sk, 0); return 0; } } --- linux-lowlatency-3.5.0.orig/net/ipv4/tcp_ipv4.c +++ linux-lowlatency-3.5.0/net/ipv4/tcp_ipv4.c @@ -691,10 +691,11 @@ arg.csumoffset = offsetof(struct tcphdr, check) / 2; arg.flags = (sk && inet_sk(sk)->transparent) ? IP_REPLY_ARG_NOSRCCHECK : 0; /* When socket is gone, all binding information is lost. - * routing might fail in this case. using iif for oif to - * make sure we can deliver it + * routing might fail in this case. No choice here, if we choose to force + * input interface, we will misroute in case of asymmetric route. */ - arg.bound_dev_if = sk ? sk->sk_bound_dev_if : inet_iif(skb); + if (sk) + arg.bound_dev_if = sk->sk_bound_dev_if; net = dev_net(skb_dst(skb)->dev); arg.tos = ip_hdr(skb)->tos; --- linux-lowlatency-3.5.0.orig/net/ipv4/tcp_output.c +++ linux-lowlatency-3.5.0/net/ipv4/tcp_output.c @@ -1334,21 +1334,21 @@ * when we would be allowed to send the split-due-to-Nagle skb fully. */ static unsigned int tcp_mss_split_point(const struct sock *sk, const struct sk_buff *skb, - unsigned int mss_now, unsigned int cwnd) + unsigned int mss_now, unsigned int max_segs) { const struct tcp_sock *tp = tcp_sk(sk); - u32 needed, window, cwnd_len; + u32 needed, window, max_len; window = tcp_wnd_end(tp) - TCP_SKB_CB(skb)->seq; - cwnd_len = mss_now * cwnd; + max_len = mss_now * max_segs; - if (likely(cwnd_len <= window && skb != tcp_write_queue_tail(sk))) - return cwnd_len; + if (likely(max_len <= window && skb != tcp_write_queue_tail(sk))) + return max_len; needed = min(skb->len, window); - if (cwnd_len <= needed) - return cwnd_len; + if (max_len <= needed) + return max_len; return needed - needed % mss_now; } @@ -1577,7 +1577,8 @@ limit = min(send_win, cong_win); /* If a full-sized TSO skb can be sent, do it. */ - if (limit >= sk->sk_gso_max_size) + if (limit >= min_t(unsigned int, sk->sk_gso_max_size, + sk->sk_gso_max_segs * tp->mss_cache)) goto send_now; /* Middle in queue won't get any more data, full sendable already? */ @@ -1783,6 +1784,9 @@ tso_segs = tcp_init_tso_segs(sk, skb, mss_now); BUG_ON(!tso_segs); + if (unlikely(tp->repair) && tp->repair_queue == TCP_SEND_QUEUE) + goto repair; /* Skip network transmission */ + cwnd_quota = tcp_cwnd_test(tp, skb); if (!cwnd_quota) break; @@ -1803,7 +1807,9 @@ limit = mss_now; if (tso_segs > 1 && !tcp_urg_mode(tp)) limit = tcp_mss_split_point(sk, skb, mss_now, - cwnd_quota); + min_t(unsigned int, + cwnd_quota, + sk->sk_gso_max_segs)); if (skb->len > limit && unlikely(tso_fragment(sk, skb, limit, mss_now, gfp))) @@ -1814,6 +1820,7 @@ if (unlikely(tcp_transmit_skb(sk, skb, 1, gfp))) break; +repair: /* Advance the send_head. This one is sent out. * This call will increment packets_out. */ --- linux-lowlatency-3.5.0.orig/net/ipv4/netfilter/nf_nat_sip.c +++ linux-lowlatency-3.5.0/net/ipv4/netfilter/nf_nat_sip.c @@ -148,7 +148,7 @@ if (ct_sip_parse_header_uri(ct, *dptr, NULL, *datalen, hdr, NULL, &matchoff, &matchlen, &addr, &port) > 0) { - unsigned int matchend, poff, plen, buflen, n; + unsigned int olen, matchend, poff, plen, buflen, n; char buffer[sizeof("nnn.nnn.nnn.nnn:nnnnn")]; /* We're only interested in headers related to this @@ -163,11 +163,12 @@ goto next; } + olen = *datalen; if (!map_addr(skb, dataoff, dptr, datalen, matchoff, matchlen, &addr, port)) return NF_DROP; - matchend = matchoff + matchlen; + matchend = matchoff + matchlen + *datalen - olen; /* The maddr= parameter (RFC 2361) specifies where to send * the reply. */ @@ -501,7 +502,10 @@ ret = nf_ct_expect_related(rtcp_exp); if (ret == 0) break; - else if (ret != -EBUSY) { + else if (ret == -EBUSY) { + nf_ct_unexpect_related(rtp_exp); + continue; + } else if (ret < 0) { nf_ct_unexpect_related(rtp_exp); port = 0; break; --- linux-lowlatency-3.5.0.orig/net/ipv4/netfilter/nf_nat_standalone.c +++ linux-lowlatency-3.5.0/net/ipv4/netfilter/nf_nat_standalone.c @@ -194,7 +194,8 @@ if ((ct->tuplehash[dir].tuple.src.u3.ip != ct->tuplehash[!dir].tuple.dst.u3.ip) || - (ct->tuplehash[dir].tuple.src.u.all != + (ct->tuplehash[dir].tuple.dst.protonum != IPPROTO_ICMP && + ct->tuplehash[dir].tuple.src.u.all != ct->tuplehash[!dir].tuple.dst.u.all) ) return ip_xfrm_me_harder(skb) == 0 ? ret : NF_DROP; @@ -230,7 +231,8 @@ ret = NF_DROP; } #ifdef CONFIG_XFRM - else if (ct->tuplehash[dir].tuple.dst.u.all != + else if (ct->tuplehash[dir].tuple.dst.protonum != IPPROTO_ICMP && + ct->tuplehash[dir].tuple.dst.u.all != ct->tuplehash[!dir].tuple.src.u.all) if (ip_xfrm_me_harder(skb)) ret = NF_DROP; --- linux-lowlatency-3.5.0.orig/net/ipv6/addrconf.c +++ linux-lowlatency-3.5.0/net/ipv6/addrconf.c @@ -493,8 +493,7 @@ struct net_device *dev; struct inet6_dev *idev; - rcu_read_lock(); - for_each_netdev_rcu(net, dev) { + for_each_netdev(net, dev) { idev = __in6_dev_get(dev); if (idev) { int changed = (!idev->cnf.forwarding) ^ (!newf); @@ -503,7 +502,6 @@ dev_forward_change(idev); } } - rcu_read_unlock(); } static int addrconf_fixup_forwarding(struct ctl_table *table, int *p, int newf) @@ -795,10 +793,16 @@ struct in6_addr prefix; struct rt6_info *rt; struct net *net = dev_net(ifp->idev->dev); + struct flowi6 fl6 = {}; + ipv6_addr_prefix(&prefix, &ifp->addr, ifp->prefix_len); - rt = rt6_lookup(net, &prefix, NULL, ifp->idev->dev->ifindex, 1); + fl6.flowi6_oif = ifp->idev->dev->ifindex; + fl6.daddr = prefix; + rt = (struct rt6_info *)ip6_route_lookup(net, &fl6, + RT6_LOOKUP_F_IFACE); - if (rt && addrconf_is_prefix_route(rt)) { + if (rt != net->ipv6.ip6_null_entry && + addrconf_is_prefix_route(rt)) { if (onlink == 0) { ip6_del_rt(rt); rt = NULL; @@ -3089,14 +3093,15 @@ struct hlist_node *n; hlist_for_each_entry_rcu_bh(ifa, n, &inet6_addr_lst[state->bucket], addr_lst) { + if (!net_eq(dev_net(ifa->idev->dev), net)) + continue; /* sync with offset */ if (p < state->offset) { p++; continue; } state->offset++; - if (net_eq(dev_net(ifa->idev->dev), net)) - return ifa; + return ifa; } /* prepare for next bucket */ @@ -3114,18 +3119,20 @@ struct hlist_node *n = &ifa->addr_lst; hlist_for_each_entry_continue_rcu_bh(ifa, n, addr_lst) { + if (!net_eq(dev_net(ifa->idev->dev), net)) + continue; state->offset++; - if (net_eq(dev_net(ifa->idev->dev), net)) - return ifa; + return ifa; } while (++state->bucket < IN6_ADDR_HSIZE) { state->offset = 0; hlist_for_each_entry_rcu_bh(ifa, n, &inet6_addr_lst[state->bucket], addr_lst) { + if (!net_eq(dev_net(ifa->idev->dev), net)) + continue; state->offset++; - if (net_eq(dev_net(ifa->idev->dev), net)) - return ifa; + return ifa; } } @@ -4360,6 +4367,84 @@ return ret; } +#ifdef CONFIG_IPV6_PRIVACY +static void dev_tempaddr_change(struct inet6_dev *idev) +{ + if (!idev || !idev->dev) + return; + + if (!idev->cnf.disable_ipv6) { + /* If ipv6 is enabled, try to bring down and back up the + * interface to get new temporary addresses created + */ + addrconf_notify(NULL, NETDEV_DOWN, idev->dev); + addrconf_notify(NULL, NETDEV_UP, idev->dev); + } +} + +static void addrconf_tempaddr_change(struct net *net, __s32 newf) +{ + struct net_device *dev; + struct inet6_dev *idev; + + rcu_read_lock(); + for_each_netdev_rcu(net, dev) { + idev = __in6_dev_get(dev); + if (idev) { + int changed = (!idev->cnf.use_tempaddr) ^ (!newf); + idev->cnf.use_tempaddr = newf; + if (changed) + dev_tempaddr_change(idev); + } + } + rcu_read_unlock(); +} + +static int addrconf_use_tempaddr(struct ctl_table *table, int *p, int old) +{ + struct net *net; + + net = (struct net *)table->extra2; + + if (p == &net->ipv6.devconf_dflt->use_tempaddr) + return 0; + + if (!rtnl_trylock()) { + /* Restore the original values before restarting */ + *p = old; + return restart_syscall(); + } + + if (p == &net->ipv6.devconf_all->use_tempaddr) { + __s32 newf = net->ipv6.devconf_all->use_tempaddr; + net->ipv6.devconf_dflt->use_tempaddr = newf; + addrconf_tempaddr_change(net, newf); + } else if ((!*p) ^ (!old)) + dev_tempaddr_change((struct inet6_dev *)table->extra1); + + rtnl_unlock(); + return 0; +} + +static +int addrconf_sysctl_tempaddr(ctl_table *ctl, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) +{ + int *valp = ctl->data; + int val = *valp; + loff_t pos = *ppos; + int ret; + + ret = proc_dointvec(ctl, write, buffer, lenp, ppos); + + if (write) + ret = addrconf_use_tempaddr(ctl, valp, val); + if (ret) + *ppos = pos; + return ret; +} +#endif + static struct addrconf_sysctl_table { struct ctl_table_header *sysctl_header; @@ -4450,7 +4535,7 @@ .data = &ipv6_devconf.use_tempaddr, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = addrconf_sysctl_tempaddr, }, { .procname = "temp_valid_lft", --- linux-lowlatency-3.5.0.orig/net/ipv6/ip6_fib.c +++ linux-lowlatency-3.5.0/net/ipv6/ip6_fib.c @@ -818,6 +818,10 @@ offsetof(struct rt6_info, rt6i_src), allow_create, replace_required); + if (IS_ERR(sn)) { + err = PTR_ERR(sn); + sn = NULL; + } if (!sn) { /* If it is failed, discard just allocated root, and then (in st_failure) stale node --- linux-lowlatency-3.5.0.orig/net/ipv6/ipv6_sockglue.c +++ linux-lowlatency-3.5.0/net/ipv6/ipv6_sockglue.c @@ -827,6 +827,7 @@ if (val < 0 || val > 255) goto e_inval; np->min_hopcount = val; + retv = 0; break; case IPV6_DONTFRAG: np->dontfrag = valbool; --- linux-lowlatency-3.5.0.orig/net/ipv6/mip6.c +++ linux-lowlatency-3.5.0/net/ipv6/mip6.c @@ -86,28 +86,30 @@ static int mip6_mh_filter(struct sock *sk, struct sk_buff *skb) { - struct ip6_mh *mh; + struct ip6_mh _hdr; + const struct ip6_mh *mh; - if (!pskb_may_pull(skb, (skb_transport_offset(skb)) + 8) || - !pskb_may_pull(skb, (skb_transport_offset(skb) + - ((skb_transport_header(skb)[1] + 1) << 3)))) + mh = skb_header_pointer(skb, skb_transport_offset(skb), + sizeof(_hdr), &_hdr); + if (!mh) return -1; - mh = (struct ip6_mh *)skb_transport_header(skb); + if (((mh->ip6mh_hdrlen + 1) << 3) > skb->len) + return -1; if (mh->ip6mh_hdrlen < mip6_mh_len(mh->ip6mh_type)) { LIMIT_NETDEBUG(KERN_DEBUG "mip6: MH message too short: %d vs >=%d\n", mh->ip6mh_hdrlen, mip6_mh_len(mh->ip6mh_type)); - mip6_param_prob(skb, 0, ((&mh->ip6mh_hdrlen) - - skb_network_header(skb))); + mip6_param_prob(skb, 0, offsetof(struct ip6_mh, ip6mh_hdrlen) + + skb_network_header_len(skb)); return -1; } if (mh->ip6mh_proto != IPPROTO_NONE) { LIMIT_NETDEBUG(KERN_DEBUG "mip6: MH invalid payload proto = %d\n", mh->ip6mh_proto); - mip6_param_prob(skb, 0, ((&mh->ip6mh_proto) - - skb_network_header(skb))); + mip6_param_prob(skb, 0, offsetof(struct ip6_mh, ip6mh_proto) + + skb_network_header_len(skb)); return -1; } --- linux-lowlatency-3.5.0.orig/net/ipv6/ndisc.c +++ linux-lowlatency-3.5.0/net/ipv6/ndisc.c @@ -580,7 +580,7 @@ { struct inet6_dev *idev; struct inet6_ifaddr *ifa; - struct in6_addr mcaddr; + struct in6_addr mcaddr = IN6ADDR_LINKLOCAL_ALLNODES_INIT; idev = in6_dev_get(dev); if (!idev) @@ -588,7 +588,6 @@ read_lock_bh(&idev->lock); list_for_each_entry(ifa, &idev->addr_list, if_list) { - addrconf_addr_solict_mult(&ifa->addr, &mcaddr); ndisc_send_na(dev, NULL, &mcaddr, &ifa->addr, /*router=*/ !!idev->cnf.forwarding, /*solicited=*/ false, /*override=*/ true, --- linux-lowlatency-3.5.0.orig/net/ipv6/raw.c +++ linux-lowlatency-3.5.0/net/ipv6/raw.c @@ -107,21 +107,20 @@ * 0 - deliver * 1 - block */ -static __inline__ int icmpv6_filter(struct sock *sk, struct sk_buff *skb) +static int icmpv6_filter(const struct sock *sk, const struct sk_buff *skb) { - struct icmp6hdr *icmph; - struct raw6_sock *rp = raw6_sk(sk); - - if (pskb_may_pull(skb, sizeof(struct icmp6hdr))) { - __u32 *data = &rp->filter.data[0]; - int bit_nr; + struct icmp6hdr *_hdr; + const struct icmp6hdr *hdr; - icmph = (struct icmp6hdr *) skb->data; - bit_nr = icmph->icmp6_type; + hdr = skb_header_pointer(skb, skb_transport_offset(skb), + sizeof(_hdr), &_hdr); + if (hdr) { + const __u32 *data = &raw6_sk(sk)->filter.data[0]; + unsigned int type = hdr->icmp6_type; - return (data[bit_nr >> 5] & (1 << (bit_nr & 31))) != 0; + return (data[type >> 5] & (1U << (type & 31))) != 0; } - return 0; + return 1; } #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) --- linux-lowlatency-3.5.0.orig/net/ipv6/route.c +++ linux-lowlatency-3.5.0/net/ipv6/route.c @@ -205,7 +205,7 @@ }; static const u32 ip6_template_metrics[RTAX_MAX] = { - [RTAX_HOPLIMIT - 1] = 255, + [RTAX_HOPLIMIT - 1] = 0, }; static struct rt6_info ip6_null_entry_template = { @@ -1135,7 +1135,7 @@ rt->rt6i_dst.addr = fl6->daddr; rt->rt6i_dst.plen = 128; rt->rt6i_idev = idev; - dst_metric_set(&rt->dst, RTAX_HOPLIMIT, 255); + dst_metric_set(&rt->dst, RTAX_HOPLIMIT, 0); spin_lock_bh(&icmp6_dst_lock); rt->dst.next = icmp6_dst_gc_list; @@ -1485,17 +1485,18 @@ struct fib6_table *table; struct net *net = dev_net(rt->dst.dev); - if (rt == net->ipv6.ip6_null_entry) - return -ENOENT; + if (rt == net->ipv6.ip6_null_entry) { + err = -ENOENT; + goto out; + } table = rt->rt6i_table; write_lock_bh(&table->tb6_lock); - err = fib6_del(rt, info); - dst_release(&rt->dst); - write_unlock_bh(&table->tb6_lock); +out: + dst_release(&rt->dst); return err; } --- linux-lowlatency-3.5.0.orig/net/ipv6/tcp_ipv6.c +++ linux-lowlatency-3.5.0/net/ipv6/tcp_ipv6.c @@ -896,7 +896,8 @@ __tcp_v6_send_check(buff, &fl6.saddr, &fl6.daddr); fl6.flowi6_proto = IPPROTO_TCP; - fl6.flowi6_oif = inet6_iif(skb); + if (ipv6_addr_type(&fl6.daddr) & IPV6_ADDR_LINKLOCAL) + fl6.flowi6_oif = inet6_iif(skb); fl6.fl6_dport = t1->dest; fl6.fl6_sport = t1->source; security_skb_classify_flow(skb, flowi6_to_flowi(&fl6)); --- linux-lowlatency-3.5.0.orig/net/l2tp/l2tp_core.c +++ linux-lowlatency-3.5.0/net/l2tp/l2tp_core.c @@ -1346,11 +1346,10 @@ /* Remove from tunnel list */ spin_lock_bh(&pn->l2tp_tunnel_list_lock); list_del_rcu(&tunnel->list); + kfree_rcu(tunnel, rcu); spin_unlock_bh(&pn->l2tp_tunnel_list_lock); - synchronize_rcu(); atomic_dec(&l2tp_tunnel_count); - kfree(tunnel); } /* Create a socket for the tunnel, if one isn't set up by --- linux-lowlatency-3.5.0.orig/net/l2tp/l2tp_core.h +++ linux-lowlatency-3.5.0/net/l2tp/l2tp_core.h @@ -163,6 +163,7 @@ struct l2tp_tunnel { int magic; /* Should be L2TP_TUNNEL_MAGIC */ + struct rcu_head rcu; rwlock_t hlist_lock; /* protect session_hlist */ struct hlist_head session_hlist[L2TP_HASH_SIZE]; /* hashed list of sessions, --- linux-lowlatency-3.5.0.orig/net/l2tp/l2tp_eth.c +++ linux-lowlatency-3.5.0/net/l2tp/l2tp_eth.c @@ -148,7 +148,7 @@ print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, skb->data, length); } - if (!pskb_may_pull(skb, sizeof(ETH_HLEN))) + if (!pskb_may_pull(skb, ETH_HLEN)) goto error; secpath_reset(skb); @@ -285,6 +285,7 @@ out_del_dev: free_netdev(dev); + spriv->dev = NULL; out_del_session: l2tp_session_delete(session); out: --- linux-lowlatency-3.5.0.orig/net/l2tp/l2tp_ip6.c +++ linux-lowlatency-3.5.0/net/l2tp/l2tp_ip6.c @@ -410,6 +410,7 @@ lsa->l2tp_family = AF_INET6; lsa->l2tp_flowinfo = 0; lsa->l2tp_scope_id = 0; + lsa->l2tp_unused = 0; if (peer) { if (!lsk->peer_conn_id) return -ENOTCONN; --- linux-lowlatency-3.5.0.orig/net/llc/af_llc.c +++ linux-lowlatency-3.5.0/net/llc/af_llc.c @@ -969,14 +969,13 @@ struct sockaddr_llc sllc; struct sock *sk = sock->sk; struct llc_sock *llc = llc_sk(sk); - int rc = 0; + int rc = -EBADF; memset(&sllc, 0, sizeof(sllc)); lock_sock(sk); if (sock_flag(sk, SOCK_ZAPPED)) goto out; *uaddrlen = sizeof(sllc); - memset(uaddr, 0, *uaddrlen); if (peer) { rc = -ENOTCONN; if (sk->sk_state != TCP_ESTABLISHED) --- linux-lowlatency-3.5.0.orig/net/mac80211/ibss.c +++ linux-lowlatency-3.5.0/net/mac80211/ibss.c @@ -1111,7 +1111,7 @@ sdata->u.ibss.state = IEEE80211_IBSS_MLME_SEARCH; sdata->u.ibss.ibss_join_req = jiffies; - memcpy(sdata->u.ibss.ssid, params->ssid, IEEE80211_MAX_SSID_LEN); + memcpy(sdata->u.ibss.ssid, params->ssid, params->ssid_len); sdata->u.ibss.ssid_len = params->ssid_len; mutex_unlock(&sdata->u.ibss.mtx); @@ -1154,10 +1154,6 @@ mutex_lock(&sdata->u.ibss.mtx); - sdata->u.ibss.state = IEEE80211_IBSS_MLME_SEARCH; - memset(sdata->u.ibss.bssid, 0, ETH_ALEN); - sdata->u.ibss.ssid_len = 0; - active_ibss = ieee80211_sta_active_ibss(sdata); if (!active_ibss && !is_zero_ether_addr(ifibss->bssid)) { @@ -1178,6 +1174,10 @@ } } + ifibss->state = IEEE80211_IBSS_MLME_SEARCH; + memset(ifibss->bssid, 0, ETH_ALEN); + ifibss->ssid_len = 0; + sta_info_flush(sdata->local, sdata); spin_lock_bh(&ifibss->incomplete_lock); --- linux-lowlatency-3.5.0.orig/net/mac80211/ieee80211_i.h +++ linux-lowlatency-3.5.0/net/mac80211/ieee80211_i.h @@ -1319,6 +1319,8 @@ struct net_device *dev); netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, struct net_device *dev); +void ieee80211_purge_tx_queue(struct ieee80211_hw *hw, + struct sk_buff_head *skbs); /* HT */ void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata, --- linux-lowlatency-3.5.0.orig/net/mac80211/iface.c +++ linux-lowlatency-3.5.0/net/mac80211/iface.c @@ -711,7 +711,7 @@ struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); if (info->control.vif == &sdata->vif) { __skb_unlink(skb, &local->pending[i]); - dev_kfree_skb_irq(skb); + ieee80211_free_txskb(&local->hw, skb); } } } --- linux-lowlatency-3.5.0.orig/net/mac80211/mesh.c +++ linux-lowlatency-3.5.0/net/mac80211/mesh.c @@ -621,6 +621,7 @@ del_timer_sync(&sdata->u.mesh.housekeeping_timer); del_timer_sync(&sdata->u.mesh.mesh_path_root_timer); + del_timer_sync(&sdata->u.mesh.mesh_path_timer); /* * If the timer fired while we waited for it, it will have * requeued the work. Now the work will be running again --- linux-lowlatency-3.5.0.orig/net/mac80211/mlme.c +++ linux-lowlatency-3.5.0/net/mac80211/mlme.c @@ -1805,7 +1805,8 @@ if (status_code != WLAN_STATUS_SUCCESS) { printk(KERN_DEBUG "%s: %pM denied authentication (status %d)\n", sdata->name, mgmt->sa, status_code); - goto out; + ieee80211_destroy_auth_data(sdata, false); + return RX_MGMT_CFG80211_RX_AUTH; } switch (ifmgd->auth_data->algorithm) { @@ -1827,7 +1828,6 @@ } printk(KERN_DEBUG "%s: authenticated\n", sdata->name); - out: ifmgd->auth_data->done = true; ifmgd->auth_data->timeout = jiffies + IEEE80211_AUTH_WAIT_ASSOC; run_again(ifmgd, ifmgd->auth_data->timeout); @@ -3270,6 +3270,8 @@ goto out_unlock; err_clear: + memset(ifmgd->bssid, 0, ETH_ALEN); + ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID); ifmgd->auth_data = NULL; err_free: kfree(auth_data); @@ -3449,6 +3451,8 @@ err = 0; goto out; err_clear: + memset(ifmgd->bssid, 0, ETH_ALEN); + ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID); ifmgd->assoc_data = NULL; err_free: kfree(assoc_data); @@ -3463,6 +3467,7 @@ { struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; u8 frame_buf[DEAUTH_DISASSOC_LEN]; + bool tx = !req->local_state_change; mutex_lock(&ifmgd->mtx); @@ -3479,11 +3484,11 @@ if (ifmgd->associated && ether_addr_equal(ifmgd->associated->bssid, req->bssid)) ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH, - req->reason_code, true, frame_buf); + req->reason_code, tx, frame_buf); else ieee80211_send_deauth_disassoc(sdata, req->bssid, IEEE80211_STYPE_DEAUTH, - req->reason_code, true, + req->reason_code, tx, frame_buf); mutex_unlock(&ifmgd->mtx); --- linux-lowlatency-3.5.0.orig/net/mac80211/rx.c +++ linux-lowlatency-3.5.0/net/mac80211/rx.c @@ -514,6 +514,11 @@ if (ieee80211_is_action(hdr->frame_control)) { u8 category; + + /* make sure category field is present */ + if (rx->skb->len < IEEE80211_MIN_ACTION_SIZE) + return RX_DROP_MONITOR; + mgmt = (struct ieee80211_mgmt *)hdr; category = mgmt->u.action.category; if (category != WLAN_CATEGORY_MESH_ACTION && @@ -869,14 +874,16 @@ */ if (rx->sta && rx->sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_is_data_present(hdr->frame_control)) { - u16 ethertype; - u8 *payload; + unsigned int hdrlen; + __be16 ethertype; - payload = rx->skb->data + - ieee80211_hdrlen(hdr->frame_control); - ethertype = (payload[6] << 8) | payload[7]; - if (cpu_to_be16(ethertype) == - rx->sdata->control_port_protocol) + hdrlen = ieee80211_hdrlen(hdr->frame_control); + + if (rx->skb->len < hdrlen + 8) + return RX_DROP_MONITOR; + + skb_copy_bits(rx->skb, hdrlen + 6, ðertype, 2); + if (ethertype == rx->sdata->control_port_protocol) return RX_CONTINUE; } @@ -1465,11 +1472,14 @@ hdr = (struct ieee80211_hdr *)rx->skb->data; fc = hdr->frame_control; + + if (ieee80211_is_ctl(fc)) + return RX_CONTINUE; + sc = le16_to_cpu(hdr->seq_ctrl); frag = sc & IEEE80211_SCTL_FRAG; if (likely((!ieee80211_has_morefrags(fc) && frag == 0) || - (rx->skb)->len < 24 || is_multicast_ether_addr(hdr->addr1))) { /* not fragmented */ goto out; @@ -1892,6 +1902,20 @@ hdr = (struct ieee80211_hdr *) skb->data; hdrlen = ieee80211_hdrlen(hdr->frame_control); + + /* make sure fixed part of mesh header is there, also checks skb len */ + if (!pskb_may_pull(rx->skb, hdrlen + 6)) + return RX_DROP_MONITOR; + + mesh_hdr = (struct ieee80211s_hdr *) (skb->data + hdrlen); + + /* make sure full mesh header is there, also checks skb len */ + if (!pskb_may_pull(rx->skb, + hdrlen + ieee80211_get_mesh_hdrlen(mesh_hdr))) + return RX_DROP_MONITOR; + + /* reload pointers */ + hdr = (struct ieee80211_hdr *) skb->data; mesh_hdr = (struct ieee80211s_hdr *) (skb->data + hdrlen); /* frame is in RMC, don't forward */ @@ -1900,7 +1924,8 @@ mesh_rmc_check(hdr->addr3, mesh_hdr, rx->sdata)) return RX_DROP_MONITOR; - if (!ieee80211_is_data(hdr->frame_control)) + if (!ieee80211_is_data(hdr->frame_control) || + !(status->rx_flags & IEEE80211_RX_RA_MATCH)) return RX_CONTINUE; if (!mesh_hdr->ttl) @@ -1914,9 +1939,12 @@ if (is_multicast_ether_addr(hdr->addr1)) { mpp_addr = hdr->addr3; proxied_addr = mesh_hdr->eaddr1; - } else { + } else if (mesh_hdr->flags & MESH_FLAGS_AE_A5_A6) { + /* has_a4 already checked in ieee80211_rx_mesh_check */ mpp_addr = hdr->addr4; proxied_addr = mesh_hdr->eaddr2; + } else { + return RX_DROP_MONITOR; } rcu_read_lock(); @@ -1944,9 +1972,6 @@ } skb_set_queue_mapping(skb, q); - if (!(status->rx_flags & IEEE80211_RX_RA_MATCH)) - goto out; - if (!--mesh_hdr->ttl) { IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, dropped_frames_ttl); return RX_DROP_MONITOR; @@ -2357,6 +2382,10 @@ } break; case WLAN_CATEGORY_SELF_PROTECTED: + if (len < (IEEE80211_MIN_ACTION_SIZE + + sizeof(mgmt->u.action.u.self_prot.action_code))) + break; + switch (mgmt->u.action.u.self_prot.action_code) { case WLAN_SP_MESH_PEERING_OPEN: case WLAN_SP_MESH_PEERING_CLOSE: @@ -2375,6 +2404,10 @@ } break; case WLAN_CATEGORY_MESH_ACTION: + if (len < (IEEE80211_MIN_ACTION_SIZE + + sizeof(mgmt->u.action.u.mesh_action.action_code))) + break; + if (!ieee80211_vif_is_mesh(&sdata->vif)) break; if (mesh_action_is_path_sel(mgmt) && @@ -2921,10 +2954,15 @@ test_bit(SCAN_SW_SCANNING, &local->scanning))) status->rx_flags |= IEEE80211_RX_IN_SCAN; - if (ieee80211_is_mgmt(fc)) - err = skb_linearize(skb); - else + if (ieee80211_is_mgmt(fc)) { + /* drop frame if too short for header */ + if (skb->len < ieee80211_hdrlen(fc)) + err = -ENOBUFS; + else + err = skb_linearize(skb); + } else { err = !pskb_may_pull(skb, ieee80211_hdrlen(fc)); + } if (err) { dev_kfree_skb(skb); --- linux-lowlatency-3.5.0.orig/net/mac80211/sta_info.c +++ linux-lowlatency-3.5.0/net/mac80211/sta_info.c @@ -591,7 +591,7 @@ */ if (!skb) break; - dev_kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); } /* @@ -622,7 +622,7 @@ printk(KERN_DEBUG "Buffered frame expired (STA %pM)\n", sta->sta.addr); #endif - dev_kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); } /* @@ -738,8 +738,8 @@ for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { local->total_ps_buffered -= skb_queue_len(&sta->ps_tx_buf[ac]); - __skb_queue_purge(&sta->ps_tx_buf[ac]); - __skb_queue_purge(&sta->tx_filtered[ac]); + ieee80211_purge_tx_queue(&local->hw, &sta->ps_tx_buf[ac]); + ieee80211_purge_tx_queue(&local->hw, &sta->tx_filtered[ac]); } #ifdef CONFIG_MAC80211_MESH @@ -774,7 +774,7 @@ tid_tx = rcu_dereference_raw(sta->ampdu_mlme.tid_tx[i]); if (!tid_tx) continue; - __skb_queue_purge(&tid_tx->pending); + ieee80211_purge_tx_queue(&local->hw, &tid_tx->pending); kfree(tid_tx); } @@ -959,6 +959,7 @@ struct ieee80211_local *local = sdata->local; struct sk_buff_head pending; int filtered = 0, buffered = 0, ac; + unsigned long flags; clear_sta_flag(sta, WLAN_STA_SP); @@ -974,12 +975,16 @@ for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { int count = skb_queue_len(&pending), tmp; + spin_lock_irqsave(&sta->tx_filtered[ac].lock, flags); skb_queue_splice_tail_init(&sta->tx_filtered[ac], &pending); + spin_unlock_irqrestore(&sta->tx_filtered[ac].lock, flags); tmp = skb_queue_len(&pending); filtered += tmp - count; count = tmp; + spin_lock_irqsave(&sta->ps_tx_buf[ac].lock, flags); skb_queue_splice_tail_init(&sta->ps_tx_buf[ac], &pending); + spin_unlock_irqrestore(&sta->ps_tx_buf[ac].lock, flags); tmp = skb_queue_len(&pending); buffered += tmp - count; } --- linux-lowlatency-3.5.0.orig/net/mac80211/status.c +++ linux-lowlatency-3.5.0/net/mac80211/status.c @@ -34,7 +34,7 @@ skb_queue_len(&local->skb_queue_unreliable); while (tmp > IEEE80211_IRQSAFE_QUEUE_LIMIT && (skb = skb_dequeue(&local->skb_queue_unreliable))) { - dev_kfree_skb_irq(skb); + ieee80211_free_txskb(hw, skb); tmp--; I802_DEBUG_INC(local->tx_status_drop); } @@ -162,7 +162,7 @@ skb_queue_len(&sta->tx_filtered[ac]), !!test_sta_flag(sta, WLAN_STA_PS_STA), jiffies); #endif - dev_kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); } static void ieee80211_check_pending_bar(struct sta_info *sta, u8 *addr, u8 tid) @@ -666,3 +666,12 @@ dev_kfree_skb_any(skb); } EXPORT_SYMBOL(ieee80211_free_txskb); + +void ieee80211_purge_tx_queue(struct ieee80211_hw *hw, + struct sk_buff_head *skbs) +{ + struct sk_buff *skb; + + while ((skb = __skb_dequeue(skbs))) + ieee80211_free_txskb(hw, skb); +} --- linux-lowlatency-3.5.0.orig/net/mac80211/tx.c +++ linux-lowlatency-3.5.0/net/mac80211/tx.c @@ -358,7 +358,7 @@ total += skb_queue_len(&sta->ps_tx_buf[ac]); if (skb) { purged++; - dev_kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); break; } } @@ -478,7 +478,7 @@ net_dbg_ratelimited("%s: STA %pM TX buffer for AC %d full - dropping oldest frame\n", tx->sdata->name, sta->sta.addr, ac); #endif - dev_kfree_skb(old); + ieee80211_free_txskb(&local->hw, old); } else tx->local->total_ps_buffered++; @@ -1112,7 +1112,7 @@ spin_unlock(&tx->sta->lock); if (purge_skb) - dev_kfree_skb(purge_skb); + ieee80211_free_txskb(&tx->local->hw, purge_skb); } /* reset session timer */ @@ -1223,7 +1223,7 @@ #ifdef CONFIG_MAC80211_VERBOSE_DEBUG if (WARN_ON_ONCE(q >= local->hw.queues)) { __skb_unlink(skb, skbs); - dev_kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); continue; } #endif @@ -1368,9 +1368,9 @@ if (unlikely(res == TX_DROP)) { I802_DEBUG_INC(tx->local->tx_handlers_drop); if (tx->skb) - dev_kfree_skb(tx->skb); + ieee80211_free_txskb(&tx->local->hw, tx->skb); else - __skb_queue_purge(&tx->skbs); + ieee80211_purge_tx_queue(&tx->local->hw, &tx->skbs); return -1; } else if (unlikely(res == TX_QUEUED)) { I802_DEBUG_INC(tx->local->tx_handlers_queued); @@ -1405,7 +1405,7 @@ res_prepare = ieee80211_tx_prepare(sdata, &tx, skb); if (unlikely(res_prepare == TX_DROP)) { - dev_kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); goto out; } else if (unlikely(res_prepare == TX_QUEUED)) { goto out; @@ -1478,7 +1478,7 @@ headroom = max_t(int, 0, headroom); if (ieee80211_skb_resize(sdata, skb, headroom, may_encrypt)) { - dev_kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); rcu_read_unlock(); return; } @@ -2075,8 +2075,10 @@ head_need += IEEE80211_ENCRYPT_HEADROOM; head_need += local->tx_headroom; head_need = max_t(int, 0, head_need); - if (ieee80211_skb_resize(sdata, skb, head_need, true)) - goto fail; + if (ieee80211_skb_resize(sdata, skb, head_need, true)) { + ieee80211_free_txskb(&local->hw, skb); + return NETDEV_TX_OK; + } } if (encaps_data) { @@ -2145,10 +2147,13 @@ */ void ieee80211_clear_tx_pending(struct ieee80211_local *local) { + struct sk_buff *skb; int i; - for (i = 0; i < local->hw.queues; i++) - skb_queue_purge(&local->pending[i]); + for (i = 0; i < local->hw.queues; i++) { + while ((skb = skb_dequeue(&local->pending[i])) != NULL) + ieee80211_free_txskb(&local->hw, skb); + } } /* @@ -2211,7 +2216,7 @@ struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); if (WARN_ON(!info->control.vif)) { - kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); continue; } @@ -2733,7 +2738,7 @@ void ieee80211_tx_skb_tid(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb, int tid) { - int ac = ieee802_1d_to_ac[tid]; + int ac = ieee802_1d_to_ac[tid & 7]; skb_set_mac_header(skb, 0); skb_set_network_header(skb, 0); --- linux-lowlatency-3.5.0.orig/net/mac80211/util.c +++ linux-lowlatency-3.5.0/net/mac80211/util.c @@ -268,6 +268,10 @@ void ieee80211_propagate_queue_wake(struct ieee80211_local *local, int queue) { struct ieee80211_sub_if_data *sdata; + int n_acs = IEEE80211_NUM_ACS; + + if (local->hw.queues < IEEE80211_NUM_ACS) + n_acs = 1; list_for_each_entry_rcu(sdata, &local->interfaces, list) { int ac; @@ -279,7 +283,7 @@ local->queue_stop_reasons[sdata->vif.cab_queue] != 0) continue; - for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { + for (ac = 0; ac < n_acs; ac++) { int ac_queue = sdata->vif.hw_queue[ac]; if (ac_queue == queue || @@ -341,6 +345,7 @@ { struct ieee80211_local *local = hw_to_local(hw); struct ieee80211_sub_if_data *sdata; + int n_acs = IEEE80211_NUM_ACS; trace_stop_queue(local, queue, reason); @@ -352,11 +357,14 @@ __set_bit(reason, &local->queue_stop_reasons[queue]); + if (local->hw.queues < IEEE80211_NUM_ACS) + n_acs = 1; + rcu_read_lock(); list_for_each_entry_rcu(sdata, &local->interfaces, list) { int ac; - for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { + for (ac = 0; ac < n_acs; ac++) { if (sdata->vif.hw_queue[ac] == queue || sdata->vif.cab_queue == queue) netif_stop_subqueue(sdata->dev, ac); @@ -392,7 +400,7 @@ int queue = info->hw_queue; if (WARN_ON(!info->control.vif)) { - kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); return; } @@ -417,7 +425,7 @@ struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); if (WARN_ON(!info->control.vif)) { - kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); continue; } @@ -620,13 +628,39 @@ break; } - if (id != WLAN_EID_VENDOR_SPECIFIC && - id != WLAN_EID_QUIET && - test_bit(id, seen_elems)) { - elems->parse_error = true; - left -= elen; - pos += elen; - continue; + switch (id) { + case WLAN_EID_SSID: + case WLAN_EID_SUPP_RATES: + case WLAN_EID_FH_PARAMS: + case WLAN_EID_DS_PARAMS: + case WLAN_EID_CF_PARAMS: + case WLAN_EID_TIM: + case WLAN_EID_IBSS_PARAMS: + case WLAN_EID_CHALLENGE: + case WLAN_EID_RSN: + case WLAN_EID_ERP_INFO: + case WLAN_EID_EXT_SUPP_RATES: + case WLAN_EID_HT_CAPABILITY: + case WLAN_EID_HT_OPERATION: + case WLAN_EID_MESH_ID: + case WLAN_EID_MESH_CONFIG: + case WLAN_EID_PEER_MGMT: + case WLAN_EID_PREQ: + case WLAN_EID_PREP: + case WLAN_EID_PERR: + case WLAN_EID_RANN: + case WLAN_EID_CHANNEL_SWITCH: + case WLAN_EID_EXT_CHANSWITCH_ANN: + case WLAN_EID_COUNTRY: + case WLAN_EID_PWR_CONSTRAINT: + case WLAN_EID_TIMEOUT_INTERVAL: + if (test_bit(id, seen_elems)) { + elems->parse_error = true; + left -= elen; + pos += elen; + continue; + } + break; } if (calc_crc && id < 64 && (filter & (1ULL << id))) @@ -1366,6 +1400,8 @@ list_for_each_entry(sdata, &local->interfaces, list) { if (sdata->vif.type != NL80211_IFTYPE_STATION) continue; + if (!sdata->u.mgd.associated) + continue; ieee80211_send_nullfunc(local, sdata, 0); } --- linux-lowlatency-3.5.0.orig/net/mac80211/wpa.c +++ linux-lowlatency-3.5.0/net/mac80211/wpa.c @@ -106,7 +106,8 @@ if (status->flag & RX_FLAG_MMIC_ERROR) goto mic_fail; - if (!(status->flag & RX_FLAG_IV_STRIPPED) && rx->key) + if (!(status->flag & RX_FLAG_IV_STRIPPED) && rx->key && + rx->key->conf.cipher == WLAN_CIPHER_SUITE_TKIP) goto update_iv; return RX_CONTINUE; --- linux-lowlatency-3.5.0.orig/net/netfilter/nf_conntrack_core.c +++ linux-lowlatency-3.5.0/net/netfilter/nf_conntrack_core.c @@ -249,12 +249,15 @@ { struct nf_conn *ct = (void *)ul_conntrack; struct net *net = nf_ct_net(ct); + struct nf_conntrack_ecache *ecache = nf_ct_ecache_find(ct); + + BUG_ON(ecache == NULL); if (nf_conntrack_event(IPCT_DESTROY, ct) < 0) { /* bad luck, let's retry again */ - ct->timeout.expires = jiffies + + ecache->timeout.expires = jiffies + (random32() % net->ct.sysctl_events_retry_timeout); - add_timer(&ct->timeout); + add_timer(&ecache->timeout); return; } /* we've got the event delivered, now it's dying */ @@ -268,6 +271,9 @@ void nf_ct_insert_dying_list(struct nf_conn *ct) { struct net *net = nf_ct_net(ct); + struct nf_conntrack_ecache *ecache = nf_ct_ecache_find(ct); + + BUG_ON(ecache == NULL); /* add this conntrack to the dying list */ spin_lock_bh(&nf_conntrack_lock); @@ -275,10 +281,10 @@ &net->ct.dying); spin_unlock_bh(&nf_conntrack_lock); /* set a new timer to retry event delivery */ - setup_timer(&ct->timeout, death_by_event, (unsigned long)ct); - ct->timeout.expires = jiffies + + setup_timer(&ecache->timeout, death_by_event, (unsigned long)ct); + ecache->timeout.expires = jiffies + (random32() % net->ct.sysctl_events_retry_timeout); - add_timer(&ct->timeout); + add_timer(&ecache->timeout); } EXPORT_SYMBOL_GPL(nf_ct_insert_dying_list); --- linux-lowlatency-3.5.0.orig/net/netfilter/nf_conntrack_expect.c +++ linux-lowlatency-3.5.0/net/netfilter/nf_conntrack_expect.c @@ -361,23 +361,6 @@ } } -static inline int refresh_timer(struct nf_conntrack_expect *i) -{ - struct nf_conn_help *master_help = nfct_help(i->master); - const struct nf_conntrack_expect_policy *p; - - if (!del_timer(&i->timeout)) - return 0; - - p = &rcu_dereference_protected( - master_help->helper, - lockdep_is_held(&nf_conntrack_lock) - )->expect_policy[i->class]; - i->timeout.expires = jiffies + p->timeout * HZ; - add_timer(&i->timeout); - return 1; -} - static inline int __nf_ct_expect_check(struct nf_conntrack_expect *expect) { const struct nf_conntrack_expect_policy *p; @@ -386,7 +369,7 @@ struct nf_conn_help *master_help = nfct_help(master); struct nf_conntrack_helper *helper; struct net *net = nf_ct_exp_net(expect); - struct hlist_node *n; + struct hlist_node *n, *next; unsigned int h; int ret = 1; @@ -395,12 +378,12 @@ goto out; } h = nf_ct_expect_dst_hash(&expect->tuple); - hlist_for_each_entry(i, n, &net->ct.expect_hash[h], hnode) { + hlist_for_each_entry_safe(i, n, next, &net->ct.expect_hash[h], hnode) { if (expect_matches(i, expect)) { - /* Refresh timer: if it's dying, ignore.. */ - if (refresh_timer(i)) { - ret = 0; - goto out; + if (del_timer(&i->timeout)) { + nf_ct_unlink_expect(i); + nf_ct_expect_put(i); + break; } } else if (expect_clash(i, expect)) { ret = -EBUSY; --- linux-lowlatency-3.5.0.orig/net/netfilter/nf_conntrack_proto_tcp.c +++ linux-lowlatency-3.5.0/net/netfilter/nf_conntrack_proto_tcp.c @@ -158,21 +158,18 @@ * sCL -> sSS */ /* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sS2 */ -/*synack*/ { sIV, sIV, sIG, sIG, sIG, sIG, sIG, sIG, sIG, sSR }, +/*synack*/ { sIV, sIV, sSR, sIV, sIV, sIV, sIV, sIV, sIV, sSR }, /* * sNO -> sIV Too late and no reason to do anything * sSS -> sIV Client can't send SYN and then SYN/ACK * sS2 -> sSR SYN/ACK sent to SYN2 in simultaneous open - * sSR -> sIG - * sES -> sIG Error: SYNs in window outside the SYN_SENT state - * are errors. Receiver will reply with RST - * and close the connection. - * Or we are not in sync and hold a dead connection. - * sFW -> sIG - * sCW -> sIG - * sLA -> sIG - * sTW -> sIG - * sCL -> sIG + * sSR -> sSR Late retransmitted SYN/ACK in simultaneous open + * sES -> sIV Invalid SYN/ACK packets sent by the client + * sFW -> sIV + * sCW -> sIV + * sLA -> sIV + * sTW -> sIV + * sCL -> sIV */ /* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sS2 */ /*fin*/ { sIV, sIV, sFW, sFW, sLA, sLA, sLA, sTW, sCL, sIV }, @@ -627,15 +624,9 @@ ack = sack = receiver->td_end; } - if (seq == end - && (!tcph->rst - || (seq == 0 && state->state == TCP_CONNTRACK_SYN_SENT))) + if (tcph->rst && seq == 0 && state->state == TCP_CONNTRACK_SYN_SENT) /* - * Packets contains no data: we assume it is valid - * and check the ack value only. - * However RST segments are always validated by their - * SEQ number, except when seq == 0 (reset sent answering - * SYN. + * RST sent answering SYN. */ seq = end = sender->td_end; --- linux-lowlatency-3.5.0.orig/net/netfilter/nfnetlink_log.c +++ linux-lowlatency-3.5.0/net/netfilter/nfnetlink_log.c @@ -476,7 +476,7 @@ } if (indev && skb_mac_header_was_set(skb)) { - if (nla_put_be32(inst->skb, NFULA_HWTYPE, htons(skb->dev->type)) || + if (nla_put_be16(inst->skb, NFULA_HWTYPE, htons(skb->dev->type)) || nla_put_be16(inst->skb, NFULA_HWLEN, htons(skb->dev->hard_header_len)) || nla_put(inst->skb, NFULA_HWHEADER, skb->dev->hard_header_len, --- linux-lowlatency-3.5.0.orig/net/netfilter/xt_limit.c +++ linux-lowlatency-3.5.0/net/netfilter/xt_limit.c @@ -117,11 +117,11 @@ /* For SMP, we only want to use one set of state. */ r->master = priv; + /* User avg in seconds * XT_LIMIT_SCALE: convert to jiffies * + 128. */ + priv->prev = jiffies; + priv->credit = user2credits(r->avg * r->burst); /* Credits full. */ if (r->cost == 0) { - /* User avg in seconds * XT_LIMIT_SCALE: convert to jiffies * - 128. */ - priv->prev = jiffies; - priv->credit = user2credits(r->avg * r->burst); /* Credits full. */ r->credit_cap = priv->credit; /* Credits full. */ r->cost = user2credits(r->avg); } --- linux-lowlatency-3.5.0.orig/net/netfilter/ipvs/ip_vs_ctl.c +++ linux-lowlatency-3.5.0/net/netfilter/ipvs/ip_vs_ctl.c @@ -2759,6 +2759,7 @@ { struct ip_vs_timeout_user t; + memset(&t, 0, sizeof(t)); __ip_vs_get_timeouts(net, &t); if (copy_to_user(user, &t, sizeof(t)) != 0) ret = -EFAULT; --- linux-lowlatency-3.5.0.orig/net/netlink/af_netlink.c +++ linux-lowlatency-3.5.0/net/netlink/af_netlink.c @@ -136,6 +136,8 @@ static DEFINE_RWLOCK(nl_table_lock); static atomic_t nl_table_users = ATOMIC_INIT(0); +#define nl_deref_protected(X) rcu_dereference_protected(X, lockdep_is_held(&nl_table_lock)); + static ATOMIC_NOTIFIER_HEAD(netlink_chain); static inline u32 netlink_group_mask(u32 group) @@ -167,6 +169,8 @@ if (nlk->cb) { if (nlk->cb->done) nlk->cb->done(nlk->cb); + + module_put(nlk->cb->module); netlink_destroy_callback(nlk->cb); } @@ -341,6 +345,11 @@ struct hlist_node *node; unsigned long mask; unsigned int i; + struct listeners *listeners; + + listeners = nl_deref_protected(tbl->listeners); + if (!listeners) + return; for (i = 0; i < NLGRPLONGS(tbl->groups); i++) { mask = 0; @@ -348,7 +357,7 @@ if (i < NLGRPLONGS(nlk_sk(sk)->ngroups)) mask |= nlk_sk(sk)->groups[i]; } - tbl->listeners->masks[i] = mask; + listeners->masks[i] = mask; } /* this function is only called with the netlink table "grabbed", which * makes sure updates are visible before bind or setsockopt return. */ @@ -529,7 +538,11 @@ if (netlink_is_kernel(sk)) { BUG_ON(nl_table[sk->sk_protocol].registered == 0); if (--nl_table[sk->sk_protocol].registered == 0) { - kfree(nl_table[sk->sk_protocol].listeners); + struct listeners *old; + + old = nl_deref_protected(nl_table[sk->sk_protocol].listeners); + RCU_INIT_POINTER(nl_table[sk->sk_protocol].listeners, NULL); + kfree_rcu(old, rcu); nl_table[sk->sk_protocol].module = NULL; nl_table[sk->sk_protocol].registered = 0; } @@ -962,7 +975,7 @@ rcu_read_lock(); listeners = rcu_dereference(nl_table[sk->sk_protocol].listeners); - if (group - 1 < nl_table[sk->sk_protocol].groups) + if (listeners && group - 1 < nl_table[sk->sk_protocol].groups) res = test_bit(group - 1, listeners->masks); rcu_read_unlock(); @@ -1344,7 +1357,7 @@ if (NULL == siocb->scm) siocb->scm = &scm; - err = scm_send(sock, msg, siocb->scm); + err = scm_send(sock, msg, siocb->scm, true); if (err < 0) return err; @@ -1355,7 +1368,8 @@ dst_pid = addr->nl_pid; dst_group = ffs(addr->nl_groups); err = -EPERM; - if (dst_group && !netlink_capable(sock, NL_NONROOT_SEND)) + if ((dst_group || dst_pid) && + !netlink_capable(sock, NL_NONROOT_SEND)) goto out; } else { dst_pid = nlk->dst_pid; @@ -1594,7 +1608,7 @@ new = kzalloc(sizeof(*new) + NLGRPSZ(groups), GFP_ATOMIC); if (!new) return -ENOMEM; - old = rcu_dereference_protected(tbl->listeners, 1); + old = nl_deref_protected(tbl->listeners); memcpy(new->masks, old->masks, NLGRPSZ(tbl->groups)); rcu_assign_pointer(tbl->listeners, new); @@ -1736,6 +1750,7 @@ nlk->cb = NULL; mutex_unlock(nlk->cb_mutex); + module_put(cb->module); netlink_consume_callback(cb); return 0; @@ -1745,9 +1760,9 @@ return err; } -int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, - const struct nlmsghdr *nlh, - struct netlink_dump_control *control) +int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, + const struct nlmsghdr *nlh, + struct netlink_dump_control *control) { struct netlink_callback *cb; struct sock *sk; @@ -1762,6 +1777,7 @@ cb->done = control->done; cb->nlh = nlh; cb->data = control->data; + cb->module = control->module; cb->min_dump_alloc = control->min_dump_alloc; atomic_inc(&skb->users); cb->skb = skb; @@ -1772,19 +1788,28 @@ return -ECONNREFUSED; } nlk = nlk_sk(sk); - /* A dump is in progress... */ + mutex_lock(nlk->cb_mutex); + /* A dump is in progress... */ if (nlk->cb) { mutex_unlock(nlk->cb_mutex); netlink_destroy_callback(cb); - sock_put(sk); - return -EBUSY; + ret = -EBUSY; + goto out; } + /* add reference of module which cb->dump belongs to */ + if (!try_module_get(cb->module)) { + mutex_unlock(nlk->cb_mutex); + netlink_destroy_callback(cb); + ret = -EPROTONOSUPPORT; + goto out; + } + nlk->cb = cb; mutex_unlock(nlk->cb_mutex); ret = netlink_dump(sk); - +out: sock_put(sk); if (ret) @@ -1795,7 +1820,7 @@ */ return -EINTR; } -EXPORT_SYMBOL(netlink_dump_start); +EXPORT_SYMBOL(__netlink_dump_start); void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err) { @@ -2124,6 +2149,7 @@ rcu_assign_pointer(nl_table[NETLINK_USERSOCK].listeners, listeners); nl_table[NETLINK_USERSOCK].module = THIS_MODULE; nl_table[NETLINK_USERSOCK].registered = 1; + nl_table[NETLINK_USERSOCK].nl_nonroot = NL_NONROOT_SEND; netlink_table_ungrab(); } --- linux-lowlatency-3.5.0.orig/net/netrom/af_netrom.c +++ linux-lowlatency-3.5.0/net/netrom/af_netrom.c @@ -1169,7 +1169,12 @@ msg->msg_flags |= MSG_TRUNC; } - skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); + er = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); + if (er < 0) { + skb_free_datagram(sk, skb); + release_sock(sk); + return er; + } if (sax != NULL) { sax->sax25_family = AF_NETROM; --- linux-lowlatency-3.5.0.orig/net/nfc/llcp/llcp.c +++ linux-lowlatency-3.5.0/net/nfc/llcp/llcp.c @@ -990,7 +990,7 @@ local->remote_lto = LLCP_DEFAULT_LTO; local->remote_rw = LLCP_DEFAULT_RW; - list_add(&llcp_devices, &local->list); + list_add(&local->list, &llcp_devices); return 0; --- linux-lowlatency-3.5.0.orig/net/openvswitch/vport-internal_dev.c +++ linux-lowlatency-3.5.0/net/openvswitch/vport-internal_dev.c @@ -24,6 +24,9 @@ #include #include +#include +#include + #include "datapath.h" #include "vport-internal_dev.h" #include "vport-netdev.h" @@ -209,6 +212,11 @@ int len; len = skb->len; + + skb_dst_drop(skb); + nf_reset(skb); + secpath_reset(skb); + skb->dev = netdev; skb->pkt_type = PACKET_HOST; skb->protocol = eth_type_trans(skb, netdev); --- linux-lowlatency-3.5.0.orig/net/packet/af_packet.c +++ linux-lowlatency-3.5.0/net/packet/af_packet.c @@ -1280,6 +1280,14 @@ spin_unlock(&f->lock); } +bool match_fanout_group(struct packet_type *ptype, struct sock * sk) +{ + if (ptype->af_packet_priv == (void*)((struct packet_sock *)sk)->fanout) + return true; + + return false; +} + static int fanout_add(struct sock *sk, u16 id, u16 type_flags) { struct packet_sock *po = pkt_sk(sk); @@ -1332,6 +1340,7 @@ match->prot_hook.dev = po->prot_hook.dev; match->prot_hook.func = packet_rcv_fanout; match->prot_hook.af_packet_priv = match; + match->prot_hook.id_match = match_fanout_group; dev_add_pack(&match->prot_hook); list_add(&match->list, &fanout_list); } @@ -1943,7 +1952,6 @@ if (likely(po->tx_ring.pg_vec)) { ph = skb_shinfo(skb)->destructor_arg; - BUG_ON(__packet_get_status(po, ph) != TP_STATUS_SENDING); BUG_ON(atomic_read(&po->tx_ring.pending) == 0); atomic_dec(&po->tx_ring.pending); __packet_set_status(po, ph, TP_STATUS_AVAILABLE); --- linux-lowlatency-3.5.0.orig/net/rds/ib_send.c +++ linux-lowlatency-3.5.0/net/rds/ib_send.c @@ -544,7 +544,7 @@ int flow_controlled = 0; int nr_sig = 0; - BUG_ON(off % RDS_FRAG_SIZE); + BUG_ON(!conn->c_loopback && off % RDS_FRAG_SIZE); BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header)); /* Do not send cong updates to IB loopback */ --- linux-lowlatency-3.5.0.orig/net/rds/recv.c +++ linux-lowlatency-3.5.0/net/rds/recv.c @@ -410,6 +410,8 @@ rdsdebug("size %zu flags 0x%x timeo %ld\n", size, msg_flags, timeo); + msg->msg_namelen = 0; + if (msg_flags & MSG_OOB) goto out; @@ -485,6 +487,7 @@ sin->sin_port = inc->i_hdr.h_sport; sin->sin_addr.s_addr = inc->i_saddr; memset(sin->sin_zero, 0, sizeof(sin->sin_zero)); + msg->msg_namelen = sizeof(*sin); } break; } --- linux-lowlatency-3.5.0.orig/net/rds/send.c +++ linux-lowlatency-3.5.0/net/rds/send.c @@ -1122,7 +1122,7 @@ rds_stats_inc(s_send_pong); if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags)) - rds_send_xmit(conn); + queue_delayed_work(rds_wq, &conn->c_send_w, 0); rds_message_put(rm); return 0; --- linux-lowlatency-3.5.0.orig/net/sched/act_gact.c +++ linux-lowlatency-3.5.0/net/sched/act_gact.c @@ -67,6 +67,9 @@ struct tcf_common *pc; int ret = 0; int err; +#ifdef CONFIG_GACT_PROB + struct tc_gact_p *p_parm = NULL; +#endif if (nla == NULL) return -EINVAL; @@ -82,6 +85,12 @@ #ifndef CONFIG_GACT_PROB if (tb[TCA_GACT_PROB] != NULL) return -EOPNOTSUPP; +#else + if (tb[TCA_GACT_PROB]) { + p_parm = nla_data(tb[TCA_GACT_PROB]); + if (p_parm->ptype >= MAX_RAND) + return -EINVAL; + } #endif pc = tcf_hash_check(parm->index, a, bind, &gact_hash_info); @@ -103,8 +112,7 @@ spin_lock_bh(&gact->tcf_lock); gact->tcf_action = parm->action; #ifdef CONFIG_GACT_PROB - if (tb[TCA_GACT_PROB] != NULL) { - struct tc_gact_p *p_parm = nla_data(tb[TCA_GACT_PROB]); + if (p_parm) { gact->tcfg_paction = p_parm->paction; gact->tcfg_pval = p_parm->pval; gact->tcfg_ptype = p_parm->ptype; @@ -133,7 +141,7 @@ spin_lock(&gact->tcf_lock); #ifdef CONFIG_GACT_PROB - if (gact->tcfg_ptype && gact_rand[gact->tcfg_ptype] != NULL) + if (gact->tcfg_ptype) action = gact_rand[gact->tcfg_ptype](gact); else action = gact->tcf_action; --- linux-lowlatency-3.5.0.orig/net/sched/sch_cbq.c +++ linux-lowlatency-3.5.0/net/sched/sch_cbq.c @@ -250,10 +250,11 @@ else if ((cl = defmap[res.classid & TC_PRIO_MAX]) == NULL) cl = defmap[TC_PRIO_BESTEFFORT]; - if (cl == NULL || cl->level >= head->level) + if (cl == NULL) goto fallback; } - + if (cl->level >= head->level) + goto fallback; #ifdef CONFIG_NET_CLS_ACT switch (result) { case TC_ACT_QUEUED: --- linux-lowlatency-3.5.0.orig/net/sched/sch_qfq.c +++ linux-lowlatency-3.5.0/net/sched/sch_qfq.c @@ -831,7 +831,10 @@ if (mask) { struct qfq_group *next = qfq_ffs(q, mask); if (qfq_gt(roundedF, next->F)) { - cl->S = next->F; + if (qfq_gt(limit, next->F)) + cl->S = next->F; + else /* preserve timestamp correctness */ + cl->S = limit; return; } } --- linux-lowlatency-3.5.0.orig/net/sctp/output.c +++ linux-lowlatency-3.5.0/net/sctp/output.c @@ -339,6 +339,25 @@ return retval; } +static void sctp_packet_release_owner(struct sk_buff *skb) +{ + sk_free(skb->sk); +} + +static void sctp_packet_set_owner_w(struct sk_buff *skb, struct sock *sk) +{ + skb_orphan(skb); + skb->sk = sk; + skb->destructor = sctp_packet_release_owner; + + /* + * The data chunks have already been accounted for in sctp_sendmsg(), + * therefore only reserve a single byte to keep socket around until + * the packet has been transmitted. + */ + atomic_inc(&sk->sk_wmem_alloc); +} + /* All packets are sent to the network through this function from * sctp_outq_tail(). * @@ -380,7 +399,7 @@ /* Set the owning socket so that we know where to get the * destination IP address. */ - skb_set_owner_w(nskb, sk); + sctp_packet_set_owner_w(nskb, sk); if (!sctp_transport_dst_check(tp)) { sctp_transport_route(tp, NULL, sctp_sk(sk)); --- linux-lowlatency-3.5.0.orig/net/sctp/sm_sideeffect.c +++ linux-lowlatency-3.5.0/net/sctp/sm_sideeffect.c @@ -1609,8 +1609,9 @@ asoc->outqueue.outstanding_bytes; sackh.num_gap_ack_blocks = 0; sackh.num_dup_tsns = 0; + chunk->subh.sack_hdr = &sackh; sctp_add_cmd_sf(commands, SCTP_CMD_PROCESS_SACK, - SCTP_SACKH(&sackh)); + SCTP_CHUNK(chunk)); break; case SCTP_CMD_DISCARD_PACKET: --- linux-lowlatency-3.5.0.orig/net/sunrpc/cache.c +++ linux-lowlatency-3.5.0/net/sunrpc/cache.c @@ -1406,11 +1406,11 @@ size_t count, loff_t *ppos, struct cache_detail *cd) { - char tbuf[20]; + char tbuf[22]; unsigned long p = *ppos; size_t len; - sprintf(tbuf, "%lu\n", convert_to_wallclock(cd->flush_time)); + snprintf(tbuf, sizeof(tbuf), "%lu\n", convert_to_wallclock(cd->flush_time)); len = strlen(tbuf); if (p >= len) return 0; --- linux-lowlatency-3.5.0.orig/net/sunrpc/clnt.c +++ linux-lowlatency-3.5.0/net/sunrpc/clnt.c @@ -1844,12 +1844,13 @@ return; } if (RPC_IS_SOFT(task)) { - if (clnt->cl_chatty) + if (clnt->cl_chatty) { rcu_read_lock(); printk(KERN_NOTICE "%s: server %s not responding, timed out\n", clnt->cl_protname, rcu_dereference(clnt->cl_xprt)->servername); rcu_read_unlock(); + } if (task->tk_flags & RPC_TASK_TIMEOUT) rpc_exit(task, -ETIMEDOUT); else --- linux-lowlatency-3.5.0.orig/net/sunrpc/rpcb_clnt.c +++ linux-lowlatency-3.5.0/net/sunrpc/rpcb_clnt.c @@ -251,7 +251,7 @@ if (IS_ERR(clnt)) { dprintk("RPC: failed to create AF_LOCAL rpcbind " "client (errno %ld).\n", PTR_ERR(clnt)); - result = -PTR_ERR(clnt); + result = PTR_ERR(clnt); goto out; } @@ -298,7 +298,7 @@ if (IS_ERR(clnt)) { dprintk("RPC: failed to create local rpcbind " "client (errno %ld).\n", PTR_ERR(clnt)); - result = -PTR_ERR(clnt); + result = PTR_ERR(clnt); goto out; } --- linux-lowlatency-3.5.0.orig/net/sunrpc/sched.c +++ linux-lowlatency-3.5.0/net/sunrpc/sched.c @@ -790,7 +790,9 @@ static void rpc_async_schedule(struct work_struct *work) { + current->flags |= PF_FSTRANS; __rpc_execute(container_of(work, struct rpc_task, u.tk_work)); + current->flags &= ~PF_FSTRANS; } /** --- linux-lowlatency-3.5.0.orig/net/sunrpc/svc_xprt.c +++ linux-lowlatency-3.5.0/net/sunrpc/svc_xprt.c @@ -316,7 +316,6 @@ */ void svc_xprt_enqueue(struct svc_xprt *xprt) { - struct svc_serv *serv = xprt->xpt_server; struct svc_pool *pool; struct svc_rqst *rqstp; int cpu; @@ -362,8 +361,6 @@ rqstp, rqstp->rq_xprt); rqstp->rq_xprt = xprt; svc_xprt_get(xprt); - rqstp->rq_reserved = serv->sv_max_mesg; - atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved); pool->sp_stats.threads_woken++; wake_up(&rqstp->rq_wait); } else { @@ -640,8 +637,6 @@ if (xprt) { rqstp->rq_xprt = xprt; svc_xprt_get(xprt); - rqstp->rq_reserved = serv->sv_max_mesg; - atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved); /* As there is a shortage of threads and this request * had to be queued, don't allow the thread to wait so @@ -738,6 +733,8 @@ else len = xprt->xpt_ops->xpo_recvfrom(rqstp); dprintk("svc: got len=%d\n", len); + rqstp->rq_reserved = serv->sv_max_mesg; + atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved); } svc_xprt_received(xprt); @@ -794,7 +791,8 @@ /* Grab mutex to serialize outgoing data. */ mutex_lock(&xprt->xpt_mutex); - if (test_bit(XPT_DEAD, &xprt->xpt_flags)) + if (test_bit(XPT_DEAD, &xprt->xpt_flags) + || test_bit(XPT_CLOSE, &xprt->xpt_flags)) len = -ENOTCONN; else len = xprt->xpt_ops->xpo_sendto(rqstp); --- linux-lowlatency-3.5.0.orig/net/sunrpc/svcsock.c +++ linux-lowlatency-3.5.0/net/sunrpc/svcsock.c @@ -1129,9 +1129,9 @@ if (len >= 0) svsk->sk_tcplen += len; if (len != want) { + svc_tcp_save_pages(svsk, rqstp); if (len < 0 && len != -EAGAIN) goto err_other; - svc_tcp_save_pages(svsk, rqstp); dprintk("svc: incomplete TCP record (%d of %d)\n", svsk->sk_tcplen, svsk->sk_reclen); goto err_noclose; --- linux-lowlatency-3.5.0.orig/net/sunrpc/xprt.c +++ linux-lowlatency-3.5.0/net/sunrpc/xprt.c @@ -969,11 +969,11 @@ return false; } -static void xprt_alloc_slot(struct rpc_task *task) +void xprt_alloc_slot(struct rpc_xprt *xprt, struct rpc_task *task) { - struct rpc_xprt *xprt = task->tk_xprt; struct rpc_rqst *req; + spin_lock(&xprt->reserve_lock); if (!list_empty(&xprt->free)) { req = list_entry(xprt->free.next, struct rpc_rqst, rq_list); list_del(&req->rq_list); @@ -994,12 +994,29 @@ default: task->tk_status = -EAGAIN; } + spin_unlock(&xprt->reserve_lock); return; out_init_req: task->tk_status = 0; task->tk_rqstp = req; xprt_request_init(task, xprt); + spin_unlock(&xprt->reserve_lock); +} +EXPORT_SYMBOL_GPL(xprt_alloc_slot); + +void xprt_lock_and_alloc_slot(struct rpc_xprt *xprt, struct rpc_task *task) +{ + /* Note: grabbing the xprt_lock_write() ensures that we throttle + * new slot allocation if the transport is congested (i.e. when + * reconnecting a stream transport or when out of socket write + * buffer space). + */ + if (xprt_lock_write(xprt, task)) { + xprt_alloc_slot(xprt, task); + xprt_release_write(xprt, task); + } } +EXPORT_SYMBOL_GPL(xprt_lock_and_alloc_slot); static void xprt_free_slot(struct rpc_xprt *xprt, struct rpc_rqst *req) { @@ -1083,20 +1100,9 @@ if (task->tk_rqstp != NULL) return; - /* Note: grabbing the xprt_lock_write() here is not strictly needed, - * but ensures that we throttle new slot allocation if the transport - * is congested (e.g. if reconnecting or if we're out of socket - * write buffer space). - */ task->tk_timeout = 0; task->tk_status = -EAGAIN; - if (!xprt_lock_write(xprt, task)) - return; - - spin_lock(&xprt->reserve_lock); - xprt_alloc_slot(task); - spin_unlock(&xprt->reserve_lock); - xprt_release_write(xprt, task); + xprt->ops->alloc_slot(xprt, task); } static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) --- linux-lowlatency-3.5.0.orig/net/sunrpc/xprtsock.c +++ linux-lowlatency-3.5.0/net/sunrpc/xprtsock.c @@ -254,7 +254,6 @@ void (*old_data_ready)(struct sock *, int); void (*old_state_change)(struct sock *); void (*old_write_space)(struct sock *); - void (*old_error_report)(struct sock *); }; /* @@ -737,10 +736,10 @@ dprintk("RPC: sendmsg returned unrecognized error %d\n", -status); case -ECONNRESET: - case -EPIPE: xs_tcp_shutdown(xprt); case -ECONNREFUSED: case -ENOTCONN: + case -EPIPE: clear_bit(SOCK_ASYNC_NOSPACE, &transport->sock->flags); } @@ -781,7 +780,6 @@ transport->old_data_ready = sk->sk_data_ready; transport->old_state_change = sk->sk_state_change; transport->old_write_space = sk->sk_write_space; - transport->old_error_report = sk->sk_error_report; } static void xs_restore_old_callbacks(struct sock_xprt *transport, struct sock *sk) @@ -789,7 +787,6 @@ sk->sk_data_ready = transport->old_data_ready; sk->sk_state_change = transport->old_state_change; sk->sk_write_space = transport->old_write_space; - sk->sk_error_report = transport->old_error_report; } static void xs_reset_transport(struct sock_xprt *transport) @@ -1028,6 +1025,16 @@ read_unlock_bh(&sk->sk_callback_lock); } +/* + * Helper function to force a TCP close if the server is sending + * junk and/or it has put us in CLOSE_WAIT + */ +static void xs_tcp_force_close(struct rpc_xprt *xprt) +{ + set_bit(XPRT_CONNECTION_CLOSE, &xprt->state); + xprt_force_disconnect(xprt); +} + static inline void xs_tcp_read_fraghdr(struct rpc_xprt *xprt, struct xdr_skb_reader *desc) { struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt); @@ -1054,7 +1061,7 @@ /* Sanity check of the record length */ if (unlikely(transport->tcp_reclen < 8)) { dprintk("RPC: invalid TCP record fragment length\n"); - xprt_force_disconnect(xprt); + xs_tcp_force_close(xprt); return; } dprintk("RPC: reading TCP record fragment of length %d\n", @@ -1135,7 +1142,7 @@ break; default: dprintk("RPC: invalid request message type\n"); - xprt_force_disconnect(&transport->xprt); + xs_tcp_force_close(&transport->xprt); } xs_tcp_check_fraghdr(transport); } @@ -1455,12 +1462,19 @@ xprt_clear_connecting(xprt); } -static void xs_sock_mark_closed(struct rpc_xprt *xprt) +static void xs_sock_reset_connection_flags(struct rpc_xprt *xprt) { smp_mb__before_clear_bit(); + clear_bit(XPRT_CONNECTION_ABORT, &xprt->state); + clear_bit(XPRT_CONNECTION_CLOSE, &xprt->state); clear_bit(XPRT_CLOSE_WAIT, &xprt->state); clear_bit(XPRT_CLOSING, &xprt->state); smp_mb__after_clear_bit(); +} + +static void xs_sock_mark_closed(struct rpc_xprt *xprt) +{ + xs_sock_reset_connection_flags(xprt); /* Mark transport as closed and wake up all pending tasks */ xprt_disconnect_done(xprt); } @@ -1515,8 +1529,9 @@ break; case TCP_CLOSE_WAIT: /* The server initiated a shutdown of the socket */ - xprt_force_disconnect(xprt); xprt->connect_cookie++; + clear_bit(XPRT_CONNECTED, &xprt->state); + xs_tcp_force_close(xprt); case TCP_CLOSING: /* * If the server closed down the connection, make sure that @@ -1540,25 +1555,6 @@ read_unlock_bh(&sk->sk_callback_lock); } -/** - * xs_error_report - callback mainly for catching socket errors - * @sk: socket - */ -static void xs_error_report(struct sock *sk) -{ - struct rpc_xprt *xprt; - - read_lock_bh(&sk->sk_callback_lock); - if (!(xprt = xprt_from_sock(sk))) - goto out; - dprintk("RPC: %s client %p...\n" - "RPC: error %d\n", - __func__, xprt, sk->sk_err); - xprt_wake_pending_tasks(xprt, -EAGAIN); -out: - read_unlock_bh(&sk->sk_callback_lock); -} - static void xs_write_space(struct sock *sk) { struct socket *sock; @@ -1858,7 +1854,6 @@ sk->sk_user_data = xprt; sk->sk_data_ready = xs_local_data_ready; sk->sk_write_space = xs_udp_write_space; - sk->sk_error_report = xs_error_report; sk->sk_allocation = GFP_ATOMIC; xprt_clear_connected(xprt); @@ -1895,6 +1890,8 @@ if (xprt->shutdown) goto out; + current->flags |= PF_FSTRANS; + clear_bit(XPRT_CONNECTION_ABORT, &xprt->state); status = __sock_create(xprt->xprt_net, AF_LOCAL, SOCK_STREAM, 0, &sock, 1); @@ -1928,6 +1925,7 @@ out: xprt_clear_connecting(xprt); xprt_wake_pending_tasks(xprt, status); + current->flags &= ~PF_FSTRANS; } static void xs_udp_finish_connecting(struct rpc_xprt *xprt, struct socket *sock) @@ -1944,7 +1942,6 @@ sk->sk_user_data = xprt; sk->sk_data_ready = xs_udp_data_ready; sk->sk_write_space = xs_udp_write_space; - sk->sk_error_report = xs_error_report; sk->sk_no_check = UDP_CSUM_NORCV; sk->sk_allocation = GFP_ATOMIC; @@ -1970,6 +1967,8 @@ if (xprt->shutdown) goto out; + current->flags |= PF_FSTRANS; + /* Start by resetting any existing state */ xs_reset_transport(transport); sock = xs_create_sock(xprt, transport, @@ -1988,6 +1987,7 @@ out: xprt_clear_connecting(xprt); xprt_wake_pending_tasks(xprt, status); + current->flags &= ~PF_FSTRANS; } /* @@ -2009,10 +2009,8 @@ any.sa_family = AF_UNSPEC; result = kernel_connect(transport->sock, &any, sizeof(any), 0); if (!result) - xs_sock_mark_closed(&transport->xprt); - else - dprintk("RPC: AF_UNSPEC connect return code %d\n", - result); + xs_sock_reset_connection_flags(&transport->xprt); + dprintk("RPC: AF_UNSPEC connect return code %d\n", result); } static void xs_tcp_reuse_connection(struct sock_xprt *transport) @@ -2057,7 +2055,6 @@ sk->sk_data_ready = xs_tcp_data_ready; sk->sk_state_change = xs_tcp_state_change; sk->sk_write_space = xs_tcp_write_space; - sk->sk_error_report = xs_error_report; sk->sk_allocation = GFP_ATOMIC; /* socket options */ @@ -2113,6 +2110,8 @@ if (xprt->shutdown) goto out; + current->flags |= PF_FSTRANS; + if (!sock) { clear_bit(XPRT_CONNECTION_ABORT, &xprt->state); sock = xs_create_sock(xprt, transport, @@ -2151,8 +2150,7 @@ /* We're probably in TIME_WAIT. Get rid of existing socket, * and retry */ - set_bit(XPRT_CONNECTION_CLOSE, &xprt->state); - xprt_force_disconnect(xprt); + xs_tcp_force_close(xprt); break; case -ECONNREFUSED: case -ECONNRESET: @@ -2162,6 +2160,7 @@ case -EINPROGRESS: case -EALREADY: xprt_clear_connecting(xprt); + current->flags &= ~PF_FSTRANS; return; case -EINVAL: /* Happens, for instance, if the user specified a link @@ -2174,6 +2173,7 @@ out: xprt_clear_connecting(xprt); xprt_wake_pending_tasks(xprt, status); + current->flags &= ~PF_FSTRANS; } /** @@ -2423,6 +2423,7 @@ static struct rpc_xprt_ops xs_local_ops = { .reserve_xprt = xprt_reserve_xprt, .release_xprt = xs_tcp_release_xprt, + .alloc_slot = xprt_alloc_slot, .rpcbind = xs_local_rpcbind, .set_port = xs_local_set_port, .connect = xs_connect, @@ -2439,6 +2440,7 @@ .set_buffer_size = xs_udp_set_buffer_size, .reserve_xprt = xprt_reserve_xprt_cong, .release_xprt = xprt_release_xprt_cong, + .alloc_slot = xprt_alloc_slot, .rpcbind = rpcb_getport_async, .set_port = xs_set_port, .connect = xs_connect, @@ -2456,6 +2458,7 @@ static struct rpc_xprt_ops xs_tcp_ops = { .reserve_xprt = xprt_reserve_xprt, .release_xprt = xs_tcp_release_xprt, + .alloc_slot = xprt_lock_and_alloc_slot, .rpcbind = rpcb_getport_async, .set_port = xs_set_port, .connect = xs_connect, @@ -2475,6 +2478,7 @@ static struct rpc_xprt_ops bc_tcp_ops = { .reserve_xprt = xprt_reserve_xprt, .release_xprt = xprt_release_xprt, + .alloc_slot = xprt_alloc_slot, .rpcbind = xs_local_rpcbind, .buf_alloc = bc_malloc, .buf_free = bc_free, --- linux-lowlatency-3.5.0.orig/net/sunrpc/xprtrdma/transport.c +++ linux-lowlatency-3.5.0/net/sunrpc/xprtrdma/transport.c @@ -200,6 +200,7 @@ int rc = 0; if (!xprt->shutdown) { + current->flags |= PF_FSTRANS; xprt_clear_connected(xprt); dprintk("RPC: %s: %sconnect\n", __func__, @@ -212,10 +213,10 @@ out: xprt_wake_pending_tasks(xprt, rc); - out_clear: dprintk("RPC: %s: exit\n", __func__); xprt_clear_connecting(xprt); + current->flags &= ~PF_FSTRANS; } /* @@ -712,6 +713,7 @@ static struct rpc_xprt_ops xprt_rdma_procs = { .reserve_xprt = xprt_rdma_reserve_xprt, .release_xprt = xprt_release_xprt_cong, /* sunrpc/xprt.c */ + .alloc_slot = xprt_alloc_slot, .release_request = xprt_release_rqst_cong, /* ditto */ .set_retrans_timeout = xprt_set_retrans_timeout_def, /* ditto */ .rpcbind = rpcb_getport_async, /* sunrpc/rpcb_clnt.c */ --- linux-lowlatency-3.5.0.orig/net/unix/af_unix.c +++ linux-lowlatency-3.5.0/net/unix/af_unix.c @@ -1448,7 +1448,7 @@ if (NULL == siocb->scm) siocb->scm = &tmp_scm; wait_for_unix_gc(); - err = scm_send(sock, msg, siocb->scm); + err = scm_send(sock, msg, siocb->scm, false); if (err < 0) return err; @@ -1617,7 +1617,7 @@ if (NULL == siocb->scm) siocb->scm = &tmp_scm; wait_for_unix_gc(); - err = scm_send(sock, msg, siocb->scm); + err = scm_send(sock, msg, siocb->scm, false); if (err < 0) return err; --- linux-lowlatency-3.5.0.orig/net/wanrouter/wanmain.c +++ linux-lowlatency-3.5.0/net/wanrouter/wanmain.c @@ -602,36 +602,31 @@ * successfully, add it to the interface list. */ - if (dev->name == NULL) { - err = -EINVAL; - } else { - - #ifdef WANDEBUG - printk(KERN_INFO "%s: registering interface %s...\n", - wanrouter_modname, dev->name); - #endif - - err = register_netdev(dev); - if (!err) { - struct net_device *slave = NULL; - unsigned long smp_flags=0; - - lock_adapter_irq(&wandev->lock, &smp_flags); - - if (wandev->dev == NULL) { - wandev->dev = dev; - } else { - for (slave=wandev->dev; - DEV_TO_SLAVE(slave); - slave = DEV_TO_SLAVE(slave)) - DEV_TO_SLAVE(slave) = dev; - } - ++wandev->ndev; - - unlock_adapter_irq(&wandev->lock, &smp_flags); - err = 0; /* done !!! */ - goto out; +#ifdef WANDEBUG + printk(KERN_INFO "%s: registering interface %s...\n", + wanrouter_modname, dev->name); +#endif + + err = register_netdev(dev); + if (!err) { + struct net_device *slave = NULL; + unsigned long smp_flags=0; + + lock_adapter_irq(&wandev->lock, &smp_flags); + + if (wandev->dev == NULL) { + wandev->dev = dev; + } else { + for (slave=wandev->dev; + DEV_TO_SLAVE(slave); + slave = DEV_TO_SLAVE(slave)) + DEV_TO_SLAVE(slave) = dev; } + ++wandev->ndev; + + unlock_adapter_irq(&wandev->lock, &smp_flags); + err = 0; /* done !!! */ + goto out; } if (wandev->del_if) wandev->del_if(wandev, dev); --- linux-lowlatency-3.5.0.orig/net/wireless/core.c +++ linux-lowlatency-3.5.0/net/wireless/core.c @@ -548,8 +548,7 @@ for (i = 0; i < sband->n_channels; i++) { sband->channels[i].orig_flags = sband->channels[i].flags; - sband->channels[i].orig_mag = - sband->channels[i].max_antenna_gain; + sband->channels[i].orig_mag = INT_MAX; sband->channels[i].orig_mpwr = sband->channels[i].max_power; sband->channels[i].band = band; @@ -974,6 +973,11 @@ */ synchronize_rcu(); INIT_LIST_HEAD(&wdev->list); + /* + * Ensure that all events have been processed and + * freed. + */ + cfg80211_process_wdev_events(wdev); break; case NETDEV_PRE_UP: if (!(wdev->wiphy->interface_modes & BIT(wdev->iftype))) --- linux-lowlatency-3.5.0.orig/net/wireless/core.h +++ linux-lowlatency-3.5.0/net/wireless/core.h @@ -426,6 +426,7 @@ struct net_device *dev, enum nl80211_iftype ntype, u32 *flags, struct vif_params *params); void cfg80211_process_rdev_events(struct cfg80211_registered_device *rdev); +void cfg80211_process_wdev_events(struct wireless_dev *wdev); int cfg80211_can_change_interface(struct cfg80211_registered_device *rdev, struct wireless_dev *wdev, --- linux-lowlatency-3.5.0.orig/net/wireless/mlme.c +++ linux-lowlatency-3.5.0/net/wireless/mlme.c @@ -441,20 +441,14 @@ .reason_code = reason, .ie = ie, .ie_len = ie_len, + .local_state_change = local_state_change, }; ASSERT_WDEV_LOCK(wdev); - if (local_state_change) { - if (wdev->current_bss && - ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(&wdev->current_bss->pub); - wdev->current_bss = NULL; - } - + if (local_state_change && (!wdev->current_bss || + !ether_addr_equal(wdev->current_bss->pub.bssid, bssid))) return 0; - } return rdev->ops->deauth(&rdev->wiphy, dev, &req); } --- linux-lowlatency-3.5.0.orig/net/wireless/reg.c +++ linux-lowlatency-3.5.0/net/wireless/reg.c @@ -134,9 +134,8 @@ .reg_rules = { /* IEEE 802.11b/g, channels 1..11 */ REG_RULE(2412-10, 2462+10, 40, 6, 20, 0), - /* IEEE 802.11b/g, channels 12..13. No HT40 - * channel fits here. */ - REG_RULE(2467-10, 2472+10, 20, 6, 20, + /* IEEE 802.11b/g, channels 12..13. */ + REG_RULE(2467-10, 2472+10, 40, 6, 20, NL80211_RRF_PASSIVE_SCAN | NL80211_RRF_NO_IBSS), /* IEEE 802.11 channel 14 - Only JP enables @@ -340,6 +339,9 @@ struct reg_regdb_search_request *request; const struct ieee80211_regdomain *curdom, *regdom; int i, r; + bool set_reg = false; + + mutex_lock(&cfg80211_mutex); mutex_lock(®_regdb_search_mutex); while (!list_empty(®_regdb_search_list)) { @@ -355,9 +357,7 @@ r = reg_copy_regd(®dom, curdom); if (r) break; - mutex_lock(&cfg80211_mutex); - set_regdom(regdom); - mutex_unlock(&cfg80211_mutex); + set_reg = true; break; } } @@ -365,6 +365,11 @@ kfree(request); } mutex_unlock(®_regdb_search_mutex); + + if (set_reg) + set_regdom(regdom); + + mutex_unlock(&cfg80211_mutex); } static DECLARE_WORK(reg_regdb_work, reg_regdb_search); @@ -670,6 +675,8 @@ channel_flags |= IEEE80211_CHAN_NO_IBSS; if (rd_flags & NL80211_RRF_DFS) channel_flags |= IEEE80211_CHAN_RADAR; + if (rd_flags & NL80211_RRF_NO_OFDM) + channel_flags |= IEEE80211_CHAN_NO_OFDM; return channel_flags; } @@ -891,7 +898,21 @@ chan->max_antenna_gain = min(chan->orig_mag, (int) MBI_TO_DBI(power_rule->max_antenna_gain)); chan->max_reg_power = (int) MBM_TO_DBM(power_rule->max_eirp); - chan->max_power = min(chan->max_power, chan->max_reg_power); + if (chan->orig_mpwr) { + /* + * Devices that have their own custom regulatory domain + * but also use WIPHY_FLAG_STRICT_REGULATORY will follow the + * passed country IE power settings. + */ + if (initiator == NL80211_REGDOM_SET_BY_COUNTRY_IE && + wiphy->flags & WIPHY_FLAG_CUSTOM_REGULATORY && + wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY) + chan->max_power = chan->max_reg_power; + else + chan->max_power = min(chan->orig_mpwr, + chan->max_reg_power); + } else + chan->max_power = chan->max_reg_power; } static void handle_band(struct wiphy *wiphy, --- linux-lowlatency-3.5.0.orig/net/wireless/util.c +++ linux-lowlatency-3.5.0/net/wireless/util.c @@ -290,23 +290,21 @@ } EXPORT_SYMBOL(ieee80211_get_hdrlen_from_skb); -static int ieee80211_get_mesh_hdrlen(struct ieee80211s_hdr *meshhdr) +unsigned int ieee80211_get_mesh_hdrlen(struct ieee80211s_hdr *meshhdr) { int ae = meshhdr->flags & MESH_FLAGS_AE; - /* 7.1.3.5a.2 */ + /* 802.11-2012, 8.2.4.7.3 */ switch (ae) { + default: case 0: return 6; case MESH_FLAGS_AE_A4: return 12; case MESH_FLAGS_AE_A5_A6: return 18; - case (MESH_FLAGS_AE_A4 | MESH_FLAGS_AE_A5_A6): - return 24; - default: - return 6; } } +EXPORT_SYMBOL(ieee80211_get_mesh_hdrlen); int ieee80211_data_to_8023(struct sk_buff *skb, const u8 *addr, enum nl80211_iftype iftype) @@ -354,6 +352,8 @@ /* make sure meshdr->flags is on the linear part */ if (!pskb_may_pull(skb, hdrlen + 1)) return -1; + if (meshdr->flags & MESH_FLAGS_AE_A4) + return -1; if (meshdr->flags & MESH_FLAGS_AE_A5_A6) { skb_copy_bits(skb, hdrlen + offsetof(struct ieee80211s_hdr, eaddr1), @@ -378,6 +378,8 @@ /* make sure meshdr->flags is on the linear part */ if (!pskb_may_pull(skb, hdrlen + 1)) return -1; + if (meshdr->flags & MESH_FLAGS_AE_A5_A6) + return -1; if (meshdr->flags & MESH_FLAGS_AE_A4) skb_copy_bits(skb, hdrlen + offsetof(struct ieee80211s_hdr, eaddr1), @@ -716,7 +718,7 @@ wdev->connect_keys = NULL; } -static void cfg80211_process_wdev_events(struct wireless_dev *wdev) +void cfg80211_process_wdev_events(struct wireless_dev *wdev) { struct cfg80211_event *ev; unsigned long flags; --- linux-lowlatency-3.5.0.orig/net/xfrm/xfrm_input.c +++ linux-lowlatency-3.5.0/net/xfrm/xfrm_input.c @@ -212,7 +212,7 @@ /* only the first xfrm gets the encap type */ encap_type = 0; - if (async && x->repl->check(x, skb, seq)) { + if (async && x->repl->recheck(x, skb, seq)) { XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATESEQERROR); goto drop_unlock; } --- linux-lowlatency-3.5.0.orig/net/xfrm/xfrm_policy.c +++ linux-lowlatency-3.5.0/net/xfrm/xfrm_policy.c @@ -1763,7 +1763,7 @@ if (!afinfo) { dst_release(dst_orig); - ret = ERR_PTR(-EINVAL); + return ERR_PTR(-EINVAL); } else { ret = afinfo->blackhole_route(net, dst_orig); } --- linux-lowlatency-3.5.0.orig/net/xfrm/xfrm_replay.c +++ linux-lowlatency-3.5.0/net/xfrm/xfrm_replay.c @@ -420,6 +420,18 @@ return -EINVAL; } +static int xfrm_replay_recheck_esn(struct xfrm_state *x, + struct sk_buff *skb, __be32 net_seq) +{ + if (unlikely(XFRM_SKB_CB(skb)->seq.input.hi != + htonl(xfrm_replay_seqhi(x, net_seq)))) { + x->stats.replay_window++; + return -EINVAL; + } + + return xfrm_replay_check_esn(x, skb, net_seq); +} + static void xfrm_replay_advance_esn(struct xfrm_state *x, __be32 net_seq) { unsigned int bitnr, nr, i; @@ -479,6 +491,7 @@ static struct xfrm_replay xfrm_replay_legacy = { .advance = xfrm_replay_advance, .check = xfrm_replay_check, + .recheck = xfrm_replay_check, .notify = xfrm_replay_notify, .overflow = xfrm_replay_overflow, }; @@ -486,6 +499,7 @@ static struct xfrm_replay xfrm_replay_bmp = { .advance = xfrm_replay_advance_bmp, .check = xfrm_replay_check_bmp, + .recheck = xfrm_replay_check_bmp, .notify = xfrm_replay_notify_bmp, .overflow = xfrm_replay_overflow_bmp, }; @@ -493,6 +507,7 @@ static struct xfrm_replay xfrm_replay_esn = { .advance = xfrm_replay_advance_esn, .check = xfrm_replay_check_esn, + .recheck = xfrm_replay_recheck_esn, .notify = xfrm_replay_notify_bmp, .overflow = xfrm_replay_overflow_esn, }; --- linux-lowlatency-3.5.0.orig/net/xfrm/xfrm_user.c +++ linux-lowlatency-3.5.0/net/xfrm/xfrm_user.c @@ -123,9 +123,21 @@ struct nlattr **attrs) { struct nlattr *rt = attrs[XFRMA_REPLAY_ESN_VAL]; + struct xfrm_replay_state_esn *rs; - if ((p->flags & XFRM_STATE_ESN) && !rt) - return -EINVAL; + if (p->flags & XFRM_STATE_ESN) { + if (!rt) + return -EINVAL; + + rs = nla_data(rt); + + if (rs->bmp_len > XFRMA_REPLAY_ESN_MAX / sizeof(rs->bmp[0]) / 8) + return -EINVAL; + + if (nla_len(rt) < xfrm_replay_state_esn_len(rs) && + nla_len(rt) != sizeof(*rs)) + return -EINVAL; + } if (!rt) return 0; @@ -370,14 +382,15 @@ struct nlattr *rp) { struct xfrm_replay_state_esn *up; + int ulen; if (!replay_esn || !rp) return 0; up = nla_data(rp); + ulen = xfrm_replay_state_esn_len(up); - if (xfrm_replay_state_esn_len(replay_esn) != - xfrm_replay_state_esn_len(up)) + if (nla_len(rp) < ulen || xfrm_replay_state_esn_len(replay_esn) != ulen) return -EINVAL; return 0; @@ -388,22 +401,28 @@ struct nlattr *rta) { struct xfrm_replay_state_esn *p, *pp, *up; + int klen, ulen; if (!rta) return 0; up = nla_data(rta); + klen = xfrm_replay_state_esn_len(up); + ulen = nla_len(rta) >= klen ? klen : sizeof(*up); - p = kmemdup(up, xfrm_replay_state_esn_len(up), GFP_KERNEL); + p = kzalloc(klen, GFP_KERNEL); if (!p) return -ENOMEM; - pp = kmemdup(up, xfrm_replay_state_esn_len(up), GFP_KERNEL); + pp = kzalloc(klen, GFP_KERNEL); if (!pp) { kfree(p); return -ENOMEM; } + memcpy(p, up, ulen); + memcpy(pp, up, ulen); + *replay_esn = p; *preplay_esn = pp; @@ -442,10 +461,11 @@ * somehow made shareable and move it to xfrm_state.c - JHS * */ -static void xfrm_update_ae_params(struct xfrm_state *x, struct nlattr **attrs) +static void xfrm_update_ae_params(struct xfrm_state *x, struct nlattr **attrs, + int update_esn) { struct nlattr *rp = attrs[XFRMA_REPLAY_VAL]; - struct nlattr *re = attrs[XFRMA_REPLAY_ESN_VAL]; + struct nlattr *re = update_esn ? attrs[XFRMA_REPLAY_ESN_VAL] : NULL; struct nlattr *lt = attrs[XFRMA_LTIME_VAL]; struct nlattr *et = attrs[XFRMA_ETIMER_THRESH]; struct nlattr *rt = attrs[XFRMA_REPLAY_THRESH]; @@ -555,7 +575,7 @@ goto error; /* override default values from above */ - xfrm_update_ae_params(x, attrs); + xfrm_update_ae_params(x, attrs, 0); return x; @@ -689,6 +709,7 @@ static void copy_to_user_state(struct xfrm_state *x, struct xfrm_usersa_info *p) { + memset(p, 0, sizeof(*p)); memcpy(&p->id, &x->id, sizeof(p->id)); memcpy(&p->sel, &x->sel, sizeof(p->sel)); memcpy(&p->lft, &x->lft, sizeof(p->lft)); @@ -742,7 +763,7 @@ return -EMSGSIZE; algo = nla_data(nla); - strcpy(algo->alg_name, auth->alg_name); + strncpy(algo->alg_name, auth->alg_name, sizeof(algo->alg_name)); memcpy(algo->alg_key, auth->alg_key, (auth->alg_key_len + 7) / 8); algo->alg_key_len = auth->alg_key_len; @@ -872,6 +893,7 @@ { struct xfrm_dump_info info; struct sk_buff *skb; + int err; skb = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); if (!skb) @@ -882,9 +904,10 @@ info.nlmsg_seq = seq; info.nlmsg_flags = 0; - if (dump_one_state(x, 0, &info)) { + err = dump_one_state(x, 0, &info); + if (err) { kfree_skb(skb); - return NULL; + return ERR_PTR(err); } return skb; @@ -1309,6 +1332,7 @@ static void copy_to_user_policy(struct xfrm_policy *xp, struct xfrm_userpolicy_info *p, int dir) { + memset(p, 0, sizeof(*p)); memcpy(&p->sel, &xp->selector, sizeof(p->sel)); memcpy(&p->lft, &xp->lft, sizeof(p->lft)); memcpy(&p->curlft, &xp->curlft, sizeof(p->curlft)); @@ -1413,6 +1437,7 @@ struct xfrm_user_tmpl *up = &vec[i]; struct xfrm_tmpl *kp = &xp->xfrm_vec[i]; + memset(up, 0, sizeof(*up)); memcpy(&up->id, &kp->id, sizeof(up->id)); up->family = kp->encap_family; memcpy(&up->saddr, &kp->saddr, sizeof(up->saddr)); @@ -1541,6 +1566,7 @@ { struct xfrm_dump_info info; struct sk_buff *skb; + int err; skb = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); if (!skb) @@ -1551,9 +1577,10 @@ info.nlmsg_seq = seq; info.nlmsg_flags = 0; - if (dump_one_policy(xp, dir, 0, &info) < 0) { + err = dump_one_policy(xp, dir, 0, &info); + if (err) { kfree_skb(skb); - return NULL; + return ERR_PTR(err); } return skb; @@ -1812,7 +1839,7 @@ goto out; spin_lock_bh(&x->lock); - xfrm_update_ae_params(x, attrs); + xfrm_update_ae_params(x, attrs, 1); spin_unlock_bh(&x->lock); c.event = nlh->nlmsg_type; --- linux-lowlatency-3.5.0.orig/scripts/Kbuild.include +++ linux-lowlatency-3.5.0/scripts/Kbuild.include @@ -98,24 +98,24 @@ # Usage: cflags-y += $(call as-option,-Wa$(comma)-isa=foo,) as-option = $(call try-run,\ - $(CC) $(KBUILD_CFLAGS) $(1) -c -xassembler /dev/null -o "$$TMP",$(1),$(2)) + $(CC) $(KBUILD_CFLAGS) $(1) -c -x assembler /dev/null -o "$$TMP",$(1),$(2)) # as-instr # Usage: cflags-y += $(call as-instr,instr,option1,option2) as-instr = $(call try-run,\ - printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3)) + printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3)) # cc-option # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) cc-option = $(call try-run,\ - $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -xc /dev/null -o "$$TMP",$(1),$(2)) + $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) # cc-option-yn # Usage: flag := $(call cc-option-yn,-march=winchip-c6) cc-option-yn = $(call try-run,\ - $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -xc /dev/null -o "$$TMP",y,n) + $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) # cc-option-align # Prefix align with either -falign or -malign @@ -125,7 +125,7 @@ # cc-disable-warning # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) cc-disable-warning = $(call try-run,\ - $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -xc /dev/null -o "$$TMP",-Wno-$(strip $(1))) + $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) # cc-version # Usage gcc-ver := $(call cc-version) @@ -143,7 +143,7 @@ # cc-ldoption # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both) cc-ldoption = $(call try-run,\ - $(CC) $(1) -nostdlib -xc /dev/null -o "$$TMP",$(1),$(2)) + $(CC) $(1) -nostdlib -x c /dev/null -o "$$TMP",$(1),$(2)) # ld-option # Usage: LDFLAGS += $(call ld-option, -X) @@ -209,7 +209,7 @@ # >$< substitution to preserve $ when reloading .cmd file # note: when using inline perl scripts [perl -e '...$$t=1;...'] # in $(cmd_xxx) double $$ your perl vars -make-cmd = $(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))) +make-cmd = $(subst \\,\\\\,$(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1)))))) # Find any prerequisites that is newer than target or that does not exist. # PHONY targets skipped in both cases. --- linux-lowlatency-3.5.0.orig/scripts/Makefile.headersinst +++ linux-lowlatency-3.5.0/scripts/Makefile.headersinst @@ -55,9 +55,9 @@ quiet_cmd_install = INSTALL $(printdir) ($(words $(all-files))\ file$(if $(word 2, $(all-files)),s)) cmd_install = \ - $(PERL) $< $(srctree)/$(obj) $(install) $(SRCARCH) $(header-y); \ - $(PERL) $< $(objtree)/$(obj) $(install) $(SRCARCH) $(objhdr-y); \ - $(PERL) $< $(objtree)/$(gen) $(install) $(SRCARCH) $(genhdr-y); \ + $(PERL) $< $(srctree)/$(obj) $(install) $(SRCARCH) $(printdir) $(header-y); \ + $(PERL) $< $(objtree)/$(obj) $(install) $(SRCARCH) $(printdir) $(objhdr-y); \ + $(PERL) $< $(objtree)/$(gen) $(install) $(SRCARCH) $(printdir) $(genhdr-y); \ for F in $(wrapper-files); do \ echo "\#include " > $(install)/$$F; \ done; \ --- linux-lowlatency-3.5.0.orig/scripts/gcc-version.sh +++ linux-lowlatency-3.5.0/scripts/gcc-version.sh @@ -22,10 +22,10 @@ exit 1 fi -MAJOR=$(echo __GNUC__ | $compiler -E -xc - | tail -n 1) -MINOR=$(echo __GNUC_MINOR__ | $compiler -E -xc - | tail -n 1) +MAJOR=$(echo __GNUC__ | $compiler -E -x c - | tail -n 1) +MINOR=$(echo __GNUC_MINOR__ | $compiler -E -x c - | tail -n 1) if [ "x$with_patchlevel" != "x" ] ; then - PATCHLEVEL=$(echo __GNUC_PATCHLEVEL__ | $compiler -E -xc - | tail -n 1) + PATCHLEVEL=$(echo __GNUC_PATCHLEVEL__ | $compiler -E -x c - | tail -n 1) printf "%02d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL else printf "%02d%02d\\n" $MAJOR $MINOR --- linux-lowlatency-3.5.0.orig/scripts/gcc-x86_32-has-stack-protector.sh +++ linux-lowlatency-3.5.0/scripts/gcc-x86_32-has-stack-protector.sh @@ -1,6 +1,6 @@ #!/bin/sh -echo "int foo(void) { char X[200]; return 3; }" | $* -S -xc -c -O0 -fstack-protector - -o - 2> /dev/null | grep -q "%gs" +echo "int foo(void) { char X[200]; return 3; }" | $* -S -x c -c -O0 -fstack-protector - -o - 2> /dev/null | grep -q "%gs" if [ "$?" -eq "0" ] ; then echo y else --- linux-lowlatency-3.5.0.orig/scripts/gcc-x86_64-has-stack-protector.sh +++ linux-lowlatency-3.5.0/scripts/gcc-x86_64-has-stack-protector.sh @@ -1,6 +1,6 @@ #!/bin/sh -echo "int foo(void) { char X[200]; return 3; }" | $* -S -xc -c -O0 -mcmodel=kernel -fstack-protector - -o - 2> /dev/null | grep -q "%gs" +echo "int foo(void) { char X[200]; return 3; }" | $* -S -x c -c -O0 -mcmodel=kernel -fstack-protector - -o - 2> /dev/null | grep -q "%gs" if [ "$?" -eq "0" ] ; then echo y else --- linux-lowlatency-3.5.0.orig/scripts/headers_install.pl +++ linux-lowlatency-3.5.0/scripts/headers_install.pl @@ -18,7 +18,9 @@ use strict; -my ($readdir, $installdir, $arch, @files) = @ARGV; +my ($readdir, $installdir, $arch, $printdir, @files) = @ARGV; + +$printdir =~ s@^include/@@; my $unifdef = "scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__"; @@ -30,6 +32,10 @@ open(my $out, '>', $tmpfile) or die "$tmpfile: $!\n"; while (my $line = <$in>) { + # Any #include which uses "" and does not have a path needs + # rewriting so that the resultant user space headers are + # safe against the use of -I-. + $line =~ s/^(\s*#\s*include\s+)"([^\/]*?)"/$1<$printdir\/$2>/; $line =~ s/([\s(])__user\s/$1/g; $line =~ s/([\s(])__force\s/$1/g; $line =~ s/([\s(])__iomem\s/$1/g; --- linux-lowlatency-3.5.0.orig/scripts/fw-to-ihex.sh +++ linux-lowlatency-3.5.0/scripts/fw-to-ihex.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +F=$1 +if [ "$F" = "" ] +then + echo You must supply a firmware file. + exit 1 +fi + +echo "unsigned char d[] = {" > $F.c +hexdump -v -e '"\t" 8/1 "0x%02x, " "\n"' $F >> $F.c +echo "};" >> $F.c + +gcc -c $F.c +objcopy -Oihex $F.o $F.ihex + --- linux-lowlatency-3.5.0.orig/scripts/kconfig/check.sh +++ linux-lowlatency-3.5.0/scripts/kconfig/check.sh @@ -1,6 +1,6 @@ #!/bin/sh # Needed for systems without gettext -$* -xc -o /dev/null - > /dev/null 2>&1 << EOF +$* -x c -o /dev/null - > /dev/null 2>&1 << EOF #include int main() { --- linux-lowlatency-3.5.0.orig/scripts/kconfig/lkc.h +++ linux-lowlatency-3.5.0/scripts/kconfig/lkc.h @@ -90,7 +90,9 @@ /* confdata.c and expr.c */ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out) { - assert(len != 0); + //assert(len != 0); + if (len == 0) + return; if (fwrite(str, len, count, out) != count) fprintf(stderr, "Error in writing or end of file.\n"); --- linux-lowlatency-3.5.0.orig/scripts/kconfig/streamline_config.pl +++ linux-lowlatency-3.5.0/scripts/kconfig/streamline_config.pl @@ -463,6 +463,8 @@ if (defined($configs{$1})) { if ($localyesconfig) { $setconfigs{$1} = 'y'; + print "$1=y\n"; + next; } else { $setconfigs{$1} = $2; } --- linux-lowlatency-3.5.0.orig/scripts/kconfig/lxdialog/check-lxdialog.sh +++ linux-lowlatency-3.5.0/scripts/kconfig/lxdialog/check-lxdialog.sh @@ -38,7 +38,7 @@ # Check if we can link to ncurses check() { - $cc -xc - -o $tmp 2>/dev/null <<'EOF' + $cc -x c - -o $tmp 2>/dev/null <<'EOF' #include CURSES_LOC main() {} EOF --- linux-lowlatency-3.5.0.orig/scripts/package/buildtar +++ linux-lowlatency-3.5.0/scripts/package/buildtar @@ -109,7 +109,7 @@ if tar --owner=root --group=root --help >/dev/null 2>&1; then opts="--owner=root --group=root" fi - tar cf - . $opts | ${compress} > "${tarball}${file_ext}" + tar cf - boot/* lib/* $opts | ${compress} > "${tarball}${file_ext}" ) echo "Tarball successfully created in ${tarball}${file_ext}" --- linux-lowlatency-3.5.0.orig/security/commoncap.c +++ linux-lowlatency-3.5.0/security/commoncap.c @@ -979,9 +979,11 @@ } return ret; } +EXPORT_SYMBOL(cap_mmap_addr); int cap_mmap_file(struct file *file, unsigned long reqprot, unsigned long prot, unsigned long flags) { return 0; } +EXPORT_SYMBOL(cap_mmap_file); --- linux-lowlatency-3.5.0.orig/security/device_cgroup.c +++ linux-lowlatency-3.5.0/security/device_cgroup.c @@ -7,12 +7,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #define ACC_MKNOD 1 #define ACC_READ 2 @@ -493,6 +495,7 @@ return -EPERM; } +EXPORT_SYMBOL(__devcgroup_inode_permission); int devcgroup_inode_mknod(int mode, dev_t dev) { --- linux-lowlatency-3.5.0.orig/security/security.c +++ linux-lowlatency-3.5.0/security/security.c @@ -136,11 +136,19 @@ int security_ptrace_access_check(struct task_struct *child, unsigned int mode) { + int rc; + rc = yama_ptrace_access_check(child, mode); + if (rc) + return rc; return security_ops->ptrace_access_check(child, mode); } int security_ptrace_traceme(struct task_struct *parent) { + int rc; + rc = yama_ptrace_traceme(parent); + if (rc) + return rc; return security_ops->ptrace_traceme(parent); } @@ -384,6 +392,7 @@ return 0; return security_ops->path_rmdir(dir, dentry); } +EXPORT_SYMBOL(security_path_rmdir); int security_path_unlink(struct path *dir, struct dentry *dentry) { @@ -400,14 +409,20 @@ return 0; return security_ops->path_symlink(dir, dentry, old_name); } +EXPORT_SYMBOL(security_path_symlink); int security_path_link(struct dentry *old_dentry, struct path *new_dir, struct dentry *new_dentry) { + int rc; if (unlikely(IS_PRIVATE(old_dentry->d_inode))) return 0; + rc = yama_path_link(old_dentry, new_dir, new_dentry); + if (rc) + return rc; return security_ops->path_link(old_dentry, new_dir, new_dentry); } +EXPORT_SYMBOL(security_path_link); int security_path_rename(struct path *old_dir, struct dentry *old_dentry, struct path *new_dir, struct dentry *new_dentry) @@ -426,6 +441,7 @@ return 0; return security_ops->path_truncate(path); } +EXPORT_SYMBOL(security_path_truncate); int security_path_chmod(struct path *path, umode_t mode) { @@ -433,6 +449,7 @@ return 0; return security_ops->path_chmod(path, mode); } +EXPORT_SYMBOL(security_path_chmod); int security_path_chown(struct path *path, uid_t uid, gid_t gid) { @@ -440,6 +457,7 @@ return 0; return security_ops->path_chown(path, uid, gid); } +EXPORT_SYMBOL(security_path_chown); int security_path_chroot(struct path *path) { @@ -516,11 +534,16 @@ return 0; return security_ops->inode_readlink(dentry); } +EXPORT_SYMBOL(security_inode_readlink); int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) { + int rc; if (unlikely(IS_PRIVATE(dentry->d_inode))) return 0; + rc = yama_inode_follow_link(dentry, nd); + if (rc) + return rc; return security_ops->inode_follow_link(dentry, nd); } @@ -530,6 +553,7 @@ return 0; return security_ops->inode_permission(inode, mask); } +EXPORT_SYMBOL(security_inode_permission); int security_inode_setattr(struct dentry *dentry, struct iattr *attr) { @@ -645,6 +669,7 @@ return fsnotify_perm(file, mask); } +EXPORT_SYMBOL(security_file_permission); int security_file_alloc(struct file *file) { @@ -705,6 +730,7 @@ return ret; return ima_file_mmap(file, prot); } +EXPORT_SYMBOL(security_mmap_file); int security_mmap_addr(unsigned long addr) { @@ -761,6 +787,7 @@ void security_task_free(struct task_struct *task) { + yama_task_free(task); security_ops->task_free(task); } @@ -876,6 +903,10 @@ int security_task_prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5) { + int rc; + rc = yama_task_prctl(option, arg2, arg3, arg4, arg5); + if (rc != -ENOSYS) + return rc; return security_ops->task_prctl(option, arg2, arg3, arg4, arg5); } --- linux-lowlatency-3.5.0.orig/security/apparmor/Makefile +++ linux-lowlatency-3.5.0/security/apparmor/Makefile @@ -4,10 +4,9 @@ apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \ path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \ - resource.o sid.o file.o - -clean-files := capability_names.h rlim_names.h + resource.o sid.o file.o mount.o net.o +clean-files := capability_names.h rlim_names.h net_names.h # Build a lower case string table of capability names # Transforms lines from @@ -20,6 +19,38 @@ -e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/[\2] = "\L\1",/p';\ echo "};" >> $@ +# Build a lower case string table of address family names +# Transform lines from +# define AF_LOCAL 1 /* POSIX name for AF_UNIX */ +# #define AF_INET 2 /* Internet IP Protocol */ +# to +# [1] = "local", +# [2] = "inet", +# +# and build the securityfs entries for the mapping. +# Transforms lines from +# #define AF_INET 2 /* Internet IP Protocol */ +# to +# #define AA_FS_AF_MASK "local inet" +quiet_cmd_make-af = GEN $@ +cmd_make-af = echo "static const char *address_family_names[] = {" > $@ ;\ + sed $< >>$@ -r -n -e "/AF_MAX/d" -e "/AF_LOCAL/d" -e \ + 's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+)(.*)/[\2] = "\L\1",/p';\ + echo "};" >> $@ ;\ + echo -n '\#define AA_FS_AF_MASK "' >> $@ ;\ + sed -r -n 's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+)(.*)/\L\1/p'\ + $< | tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@ + +# Build a lower case string table of sock type names +# Transform lines from +# SOCK_STREAM = 1, +# to +# [1] = "stream", +quiet_cmd_make-sock = GEN $@ +cmd_make-sock = echo "static const char *sock_type_names[] = {" >> $@ ;\ + sed $^ >>$@ -r -n \ + -e 's/^\tSOCK_([A-Z0-9_]+)[\t]+=[ \t]+([0-9]+)(.*)/[\2] = "\L\1",/p';\ + echo "};" >> $@ # Build a lower case string table of rlimit names. # Transforms lines from @@ -56,6 +87,7 @@ tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@ $(obj)/capability.o : $(obj)/capability_names.h +$(obj)/net.o : $(obj)/net_names.h $(obj)/resource.o : $(obj)/rlim_names.h $(obj)/capability_names.h : $(srctree)/include/linux/capability.h \ $(src)/Makefile @@ -63,3 +95,8 @@ $(obj)/rlim_names.h : $(srctree)/include/asm-generic/resource.h \ $(src)/Makefile $(call cmd,make-rlim) +$(obj)/net_names.h : $(srctree)/include/linux/socket.h \ + $(srctree)/include/linux/net.h \ + $(src)/Makefile + $(call cmd,make-af) + $(call cmd,make-sock) --- linux-lowlatency-3.5.0.orig/security/apparmor/apparmorfs.c +++ linux-lowlatency-3.5.0/security/apparmor/apparmorfs.c @@ -182,6 +182,232 @@ .release = single_release, }; +/** + * __next_namespace - find the next namespace to list + * @root: root namespace to stop search at (NOT NULL) + * @ns: current ns position (NOT NULL) + * + * Find the next namespace from @ns under @root and handle all locking needed + * while switching current namespace. + * + * Returns: next namespace or NULL if at last namespace under @root + * NOTE: will not unlock root->lock + */ +static struct aa_namespace *__next_namespace(struct aa_namespace *root, + struct aa_namespace *ns) +{ + struct aa_namespace *parent; + + /* is next namespace a child */ + if (!list_empty(&ns->sub_ns)) { + struct aa_namespace *next; + next = list_first_entry(&ns->sub_ns, typeof(*ns), base.list); + read_lock(&next->lock); + return next; + } + + /* check if the next ns is a sibling, parent, gp, .. */ + parent = ns->parent; + while (parent) { + read_unlock(&ns->lock); + list_for_each_entry_continue(ns, &parent->sub_ns, base.list) { + read_lock(&ns->lock); + return ns; + } + if (parent == root) + return NULL; + ns = parent; + parent = parent->parent; + } + + return NULL; +} + +/** + * __first_profile - find the first profile in a namespace + * @root: namespace that is root of profiles being displayed (NOT NULL) + * @ns: namespace to start in (NOT NULL) + * + * Returns: unrefcounted profile or NULL if no profile + */ +static struct aa_profile *__first_profile(struct aa_namespace *root, + struct aa_namespace *ns) +{ + for ( ; ns; ns = __next_namespace(root, ns)) { + if (!list_empty(&ns->base.profiles)) + return list_first_entry(&ns->base.profiles, + struct aa_profile, base.list); + } + return NULL; +} + +/** + * __next_profile - step to the next profile in a profile tree + * @profile: current profile in tree (NOT NULL) + * + * Perform a depth first taversal on the profile tree in a namespace + * + * Returns: next profile or NULL if done + * Requires: profile->ns.lock to be held + */ +static struct aa_profile *__next_profile(struct aa_profile *p) +{ + struct aa_profile *parent; + struct aa_namespace *ns = p->ns; + + /* is next profile a child */ + if (!list_empty(&p->base.profiles)) + return list_first_entry(&p->base.profiles, typeof(*p), + base.list); + + /* is next profile a sibling, parent sibling, gp, subling, .. */ + parent = p->parent; + while (parent) { + list_for_each_entry_continue(p, &parent->base.profiles, + base.list) + return p; + p = parent; + parent = parent->parent; + } + + /* is next another profile in the namespace */ + list_for_each_entry_continue(p, &ns->base.profiles, base.list) + return p; + + return NULL; +} + +/** + * next_profile - step to the next profile in where ever it may be + * @root: root namespace (NOT NULL) + * @profile: current profile (NOT NULL) + * + * Returns: next profile or NULL if there isn't one + */ +static struct aa_profile *next_profile(struct aa_namespace *root, + struct aa_profile *profile) +{ + struct aa_profile *next = __next_profile(profile); + if (next) + return next; + + /* finished all profiles in namespace move to next namespace */ + return __first_profile(root, __next_namespace(root, profile->ns)); +} + +/** + * p_start - start a depth first traversal of profile tree + * @f: seq_file to fill + * @pos: current position + * + * Returns: first profile under current namespace or NULL if none found + * + * acquires first ns->lock + */ +static void *p_start(struct seq_file *f, loff_t *pos) + __acquires(root->lock) +{ + struct aa_profile *profile = NULL; + struct aa_namespace *root = aa_current_profile()->ns; + loff_t l = *pos; + f->private = aa_get_namespace(root); + + + /* find the first profile */ + read_lock(&root->lock); + profile = __first_profile(root, root); + + /* skip to position */ + for (; profile && l > 0; l--) + profile = next_profile(root, profile); + + return profile; +} + +/** + * p_next - read the next profile entry + * @f: seq_file to fill + * @p: profile previously returned + * @pos: current position + * + * Returns: next profile after @p or NULL if none + * + * may acquire/release locks in namespace tree as necessary + */ +static void *p_next(struct seq_file *f, void *p, loff_t *pos) +{ + struct aa_profile *profile = p; + struct aa_namespace *root = f->private; + (*pos)++; + + return next_profile(root, profile); +} + +/** + * p_stop - stop depth first traversal + * @f: seq_file we are filling + * @p: the last profile writen + * + * Release all locking done by p_start/p_next on namespace tree + */ +static void p_stop(struct seq_file *f, void *p) + __releases(root->lock) +{ + struct aa_profile *profile = p; + struct aa_namespace *root = f->private, *ns; + + if (profile) { + for (ns = profile->ns; ns && ns != root; ns = ns->parent) + read_unlock(&ns->lock); + } + read_unlock(&root->lock); + aa_put_namespace(root); +} + +/** + * seq_show_profile - show a profile entry + * @f: seq_file to file + * @p: current position (profile) (NOT NULL) + * + * Returns: error on failure + */ +static int seq_show_profile(struct seq_file *f, void *p) +{ + struct aa_profile *profile = (struct aa_profile *)p; + struct aa_namespace *root = f->private; + + if (profile->ns != root) + seq_printf(f, ":%s://", aa_ns_name(root, profile->ns)); + seq_printf(f, "%s (%s)\n", profile->base.hname, + COMPLAIN_MODE(profile) ? "complain" : "enforce"); + + return 0; +} + +static const struct seq_operations aa_fs_profiles_op = { + .start = p_start, + .next = p_next, + .stop = p_stop, + .show = seq_show_profile, +}; + +static int profiles_open(struct inode *inode, struct file *file) +{ + return seq_open(file, &aa_fs_profiles_op); +} + +static int profiles_release(struct inode *inode, struct file *file) +{ + return seq_release(inode, file); +} + +const struct file_operations aa_fs_profiles_fops = { + .open = profiles_open, + .read = seq_read, + .llseek = seq_lseek, + .release = profiles_release, +}; + /** Base file system setup **/ static struct aa_fs_entry aa_fs_entry_file[] = { @@ -198,9 +424,23 @@ { } }; +static struct aa_fs_entry aa_fs_entry_mount[] = { + AA_FS_FILE_STRING("mask", "mount umount"), + { } +}; + +static struct aa_fs_entry aa_fs_entry_namespaces[] = { + AA_FS_FILE_BOOLEAN("profile", 1), + AA_FS_FILE_BOOLEAN("pivot_root", 1), + { } +}; + static struct aa_fs_entry aa_fs_entry_features[] = { AA_FS_DIR("domain", aa_fs_entry_domain), AA_FS_DIR("file", aa_fs_entry_file), + AA_FS_DIR("network", aa_fs_entry_network), + AA_FS_DIR("mount", aa_fs_entry_mount), + AA_FS_DIR("namespaces", aa_fs_entry_namespaces), AA_FS_FILE_U64("capability", VFS_CAP_FLAGS_MASK), AA_FS_DIR("rlimit", aa_fs_entry_rlimit), { } @@ -210,6 +450,7 @@ AA_FS_FILE_FOPS(".load", 0640, &aa_fs_profile_load), AA_FS_FILE_FOPS(".replace", 0640, &aa_fs_profile_replace), AA_FS_FILE_FOPS(".remove", 0640, &aa_fs_profile_remove), + AA_FS_FILE_FOPS("profiles", 0640, &aa_fs_profiles_fops), AA_FS_DIR("features", aa_fs_entry_features), { } }; --- linux-lowlatency-3.5.0.orig/security/apparmor/audit.c +++ linux-lowlatency-3.5.0/security/apparmor/audit.c @@ -44,6 +44,10 @@ "file_mmap", "file_mprotect", + "pivotroot", + "mount", + "umount", + "create", "post_create", "bind", --- linux-lowlatency-3.5.0.orig/security/apparmor/domain.c +++ linux-lowlatency-3.5.0/security/apparmor/domain.c @@ -242,7 +242,7 @@ * * Returns: refcounted profile, or NULL on failure (MAYBE NULL) */ -static struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex) +struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex) { struct aa_profile *new_profile = NULL; struct aa_namespace *ns = profile->ns; @@ -360,6 +360,10 @@ if (bprm->cred_prepared) return 0; + /* XXX: no_new_privs is not usable with AppArmor yet */ + if (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS) + return -EPERM; + cxt = bprm->cred->security; BUG_ON(!cxt); --- linux-lowlatency-3.5.0.orig/security/apparmor/lsm.c +++ linux-lowlatency-3.5.0/security/apparmor/lsm.c @@ -32,9 +32,11 @@ #include "include/context.h" #include "include/file.h" #include "include/ipc.h" +#include "include/net.h" #include "include/path.h" #include "include/policy.h" #include "include/procattr.h" +#include "include/mount.h" /* Flag indicating whether initialization completed */ int apparmor_initialized __initdata; @@ -503,6 +505,60 @@ !(vma->vm_flags & VM_SHARED) ? MAP_PRIVATE : 0); } +static int apparmor_sb_mount(char *dev_name, struct path *path, char *type, + unsigned long flags, void *data) +{ + struct aa_profile *profile; + int error = 0; + + /* Discard magic */ + if ((flags & MS_MGC_MSK) == MS_MGC_VAL) + flags &= ~MS_MGC_MSK; + + flags &= ~AA_MS_IGNORE_MASK; + + profile = __aa_current_profile(); + if (!unconfined(profile)) { + if (flags & MS_REMOUNT) + error = aa_remount(profile, path, flags, data); + else if (flags & MS_BIND) + error = aa_bind_mount(profile, path, dev_name, flags); + else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | + MS_UNBINDABLE)) + error = aa_mount_change_type(profile, path, flags); + else if (flags & MS_MOVE) + error = aa_move_mount(profile, path, dev_name); + else + error = aa_new_mount(profile, dev_name, path, type, + flags, data); + } + return error; +} + +static int apparmor_sb_umount(struct vfsmount *mnt, int flags) +{ + struct aa_profile *profile; + int error = 0; + + profile = __aa_current_profile(); + if (!unconfined(profile)) + error = aa_umount(profile, mnt, flags); + + return error; +} + +static int apparmor_sb_pivotroot(struct path *old_path, struct path *new_path) +{ + struct aa_profile *profile; + int error = 0; + + profile = __aa_current_profile(); + if (!unconfined(profile)) + error = aa_pivotroot(profile, old_path, new_path); + + return error; +} + static int apparmor_getprocattr(struct task_struct *task, char *name, char **value) { @@ -614,6 +670,104 @@ return error; } +static int apparmor_socket_create(int family, int type, int protocol, int kern) +{ + struct aa_profile *profile; + int error = 0; + + if (kern) + return 0; + + profile = __aa_current_profile(); + if (!unconfined(profile)) + error = aa_net_perm(OP_CREATE, profile, family, type, protocol, + NULL); + return error; +} + +static int apparmor_socket_bind(struct socket *sock, + struct sockaddr *address, int addrlen) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_BIND, sk); +} + +static int apparmor_socket_connect(struct socket *sock, + struct sockaddr *address, int addrlen) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_CONNECT, sk); +} + +static int apparmor_socket_listen(struct socket *sock, int backlog) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_LISTEN, sk); +} + +static int apparmor_socket_accept(struct socket *sock, struct socket *newsock) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_ACCEPT, sk); +} + +static int apparmor_socket_sendmsg(struct socket *sock, + struct msghdr *msg, int size) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_SENDMSG, sk); +} + +static int apparmor_socket_recvmsg(struct socket *sock, + struct msghdr *msg, int size, int flags) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_RECVMSG, sk); +} + +static int apparmor_socket_getsockname(struct socket *sock) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_GETSOCKNAME, sk); +} + +static int apparmor_socket_getpeername(struct socket *sock) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_GETPEERNAME, sk); +} + +static int apparmor_socket_getsockopt(struct socket *sock, int level, + int optname) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_GETSOCKOPT, sk); +} + +static int apparmor_socket_setsockopt(struct socket *sock, int level, + int optname) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_SETSOCKOPT, sk); +} + +static int apparmor_socket_shutdown(struct socket *sock, int how) +{ + struct sock *sk = sock->sk; + + return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk); +} + static struct security_operations apparmor_ops = { .name = "apparmor", @@ -622,6 +776,10 @@ .capget = apparmor_capget, .capable = apparmor_capable, + .sb_mount = apparmor_sb_mount, + .sb_umount = apparmor_sb_umount, + .sb_pivotroot = apparmor_sb_pivotroot, + .path_link = apparmor_path_link, .path_unlink = apparmor_path_unlink, .path_symlink = apparmor_path_symlink, @@ -646,6 +804,19 @@ .getprocattr = apparmor_getprocattr, .setprocattr = apparmor_setprocattr, + .socket_create = apparmor_socket_create, + .socket_bind = apparmor_socket_bind, + .socket_connect = apparmor_socket_connect, + .socket_listen = apparmor_socket_listen, + .socket_accept = apparmor_socket_accept, + .socket_sendmsg = apparmor_socket_sendmsg, + .socket_recvmsg = apparmor_socket_recvmsg, + .socket_getsockname = apparmor_socket_getsockname, + .socket_getpeername = apparmor_socket_getpeername, + .socket_getsockopt = apparmor_socket_getsockopt, + .socket_setsockopt = apparmor_socket_setsockopt, + .socket_shutdown = apparmor_socket_shutdown, + .cred_alloc_blank = apparmor_cred_alloc_blank, .cred_free = apparmor_cred_free, .cred_prepare = apparmor_cred_prepare, --- linux-lowlatency-3.5.0.orig/security/apparmor/mount.c +++ linux-lowlatency-3.5.0/security/apparmor/mount.c @@ -0,0 +1,620 @@ +/* + * AppArmor security module + * + * This file contains AppArmor mediation of files + * + * Copyright (C) 1998-2008 Novell/SUSE + * Copyright 2009-2012 Canonical Ltd. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2 of the + * License. + */ + +#include +#include +#include + +#include "include/apparmor.h" +#include "include/audit.h" +#include "include/context.h" +#include "include/domain.h" +#include "include/file.h" +#include "include/match.h" +#include "include/mount.h" +#include "include/path.h" +#include "include/policy.h" + + +static void audit_mnt_flags(struct audit_buffer *ab, unsigned long flags) +{ + if (flags & MS_RDONLY) + audit_log_format(ab, "ro"); + else + audit_log_format(ab, "rw"); + if (flags & MS_NOSUID) + audit_log_format(ab, ", nosuid"); + if (flags & MS_NODEV) + audit_log_format(ab, ", nodev"); + if (flags & MS_NOEXEC) + audit_log_format(ab, ", noexec"); + if (flags & MS_SYNCHRONOUS) + audit_log_format(ab, ", sync"); + if (flags & MS_REMOUNT) + audit_log_format(ab, ", remount"); + if (flags & MS_MANDLOCK) + audit_log_format(ab, ", mand"); + if (flags & MS_DIRSYNC) + audit_log_format(ab, ", dirsync"); + if (flags & MS_NOATIME) + audit_log_format(ab, ", noatime"); + if (flags & MS_NODIRATIME) + audit_log_format(ab, ", nodiratime"); + if (flags & MS_BIND) + audit_log_format(ab, flags & MS_REC ? ", rbind" : ", bind"); + if (flags & MS_MOVE) + audit_log_format(ab, ", move"); + if (flags & MS_SILENT) + audit_log_format(ab, ", silent"); + if (flags & MS_POSIXACL) + audit_log_format(ab, ", acl"); + if (flags & MS_UNBINDABLE) + audit_log_format(ab, flags & MS_REC ? ", runbindable" : + ", unbindable"); + if (flags & MS_PRIVATE) + audit_log_format(ab, flags & MS_REC ? ", rprivate" : + ", private"); + if (flags & MS_SLAVE) + audit_log_format(ab, flags & MS_REC ? ", rslave" : + ", slave"); + if (flags & MS_SHARED) + audit_log_format(ab, flags & MS_REC ? ", rshared" : + ", shared"); + if (flags & MS_RELATIME) + audit_log_format(ab, ", relatime"); + if (flags & MS_I_VERSION) + audit_log_format(ab, ", iversion"); + if (flags & MS_STRICTATIME) + audit_log_format(ab, ", strictatime"); + if (flags & MS_NOUSER) + audit_log_format(ab, ", nouser"); +} + +/** + * audit_cb - call back for mount specific audit fields + * @ab: audit_buffer (NOT NULL) + * @va: audit struct to audit values of (NOT NULL) + */ +static void audit_cb(struct audit_buffer *ab, void *va) +{ + struct common_audit_data *sa = va; + + if (sa->aad->mnt.type) { + audit_log_format(ab, " fstype="); + audit_log_untrustedstring(ab, sa->aad->mnt.type); + } + if (sa->aad->mnt.src_name) { + audit_log_format(ab, " srcname="); + audit_log_untrustedstring(ab, sa->aad->mnt.src_name); + } + if (sa->aad->mnt.trans) { + audit_log_format(ab, " trans="); + audit_log_untrustedstring(ab, sa->aad->mnt.trans); + } + if (sa->aad->mnt.flags || sa->aad->op == OP_MOUNT) { + audit_log_format(ab, " flags=\""); + audit_mnt_flags(ab, sa->aad->mnt.flags); + audit_log_format(ab, "\""); + } + if (sa->aad->mnt.data) { + audit_log_format(ab, " options="); + audit_log_untrustedstring(ab, sa->aad->mnt.data); + } +} + +/** + * audit_mount - handle the auditing of mount operations + * @profile: the profile being enforced (NOT NULL) + * @gfp: allocation flags + * @op: operation being mediated (NOT NULL) + * @name: name of object being mediated (MAYBE NULL) + * @src_name: src_name of object being mediated (MAYBE_NULL) + * @type: type of filesystem (MAYBE_NULL) + * @trans: name of trans (MAYBE NULL) + * @flags: filesystem idependent mount flags + * @data: filesystem mount flags + * @request: permissions requested + * @perms: the permissions computed for the request (NOT NULL) + * @info: extra information message (MAYBE NULL) + * @error: 0 if operation allowed else failure error code + * + * Returns: %0 or error on failure + */ +static int audit_mount(struct aa_profile *profile, gfp_t gfp, int op, + const char *name, const char *src_name, + const char *type, const char *trans, + unsigned long flags, const void *data, u32 request, + struct file_perms *perms, const char *info, int error) +{ + int audit_type = AUDIT_APPARMOR_AUTO; + struct common_audit_data sa; + struct apparmor_audit_data aad = { }; + + if (likely(!error)) { + u32 mask = perms->audit; + + if (unlikely(AUDIT_MODE(profile) == AUDIT_ALL)) + mask = 0xffff; + + /* mask off perms that are not being force audited */ + request &= mask; + + if (likely(!request)) + return 0; + audit_type = AUDIT_APPARMOR_AUDIT; + } else { + /* only report permissions that were denied */ + request = request & ~perms->allow; + + if (request & perms->kill) + audit_type = AUDIT_APPARMOR_KILL; + + /* quiet known rejects, assumes quiet and kill do not overlap */ + if ((request & perms->quiet) && + AUDIT_MODE(profile) != AUDIT_NOQUIET && + AUDIT_MODE(profile) != AUDIT_ALL) + request &= ~perms->quiet; + + if (!request) + return COMPLAIN_MODE(profile) ? + complain_error(error) : error; + } + + sa.type = LSM_AUDIT_DATA_NONE; + sa.aad = &aad; + sa.aad->op = op; + sa.aad->name = name; + sa.aad->mnt.src_name = src_name; + sa.aad->mnt.type = type; + sa.aad->mnt.trans = trans; + sa.aad->mnt.flags = flags; + if (data && (perms->audit & AA_AUDIT_DATA)) + sa.aad->mnt.data = data; + sa.aad->info = info; + sa.aad->error = error; + + return aa_audit(audit_type, profile, gfp, &sa, audit_cb); +} + +/** + * match_mnt_flags - Do an ordered match on mount flags + * @dfa: dfa to match against + * @state: state to start in + * @flags: mount flags to match against + * + * Mount flags are encoded as an ordered match. This is done instead of + * checking against a simple bitmask, to allow for logical operations + * on the flags. + * + * Returns: next state after flags match + */ +static unsigned int match_mnt_flags(struct aa_dfa *dfa, unsigned int state, + unsigned long flags) +{ + unsigned int i; + + for (i = 0; i <= 31 ; ++i) { + if ((1 << i) & flags) + state = aa_dfa_next(dfa, state, i + 1); + } + + return state; +} + +/** + * compute_mnt_perms - compute mount permission associated with @state + * @dfa: dfa to match against (NOT NULL) + * @state: state match finished in + * + * Returns: mount permissions + */ +static struct file_perms compute_mnt_perms(struct aa_dfa *dfa, + unsigned int state) +{ + struct file_perms perms; + + perms.kill = 0; + perms.allow = dfa_user_allow(dfa, state); + perms.audit = dfa_user_audit(dfa, state); + perms.quiet = dfa_user_quiet(dfa, state); + perms.xindex = dfa_user_xindex(dfa, state); + + return perms; +} + +static const char const *mnt_info_table[] = { + "match succeeded", + "failed mntpnt match", + "failed srcname match", + "failed type match", + "failed flags match", + "failed data match" +}; + +/* + * Returns 0 on success else element that match failed in, this is the + * index into the mnt_info_table above + */ +static int do_match_mnt(struct aa_dfa *dfa, unsigned int start, + const char *mntpnt, const char *devname, + const char *type, unsigned long flags, + void *data, bool binary, struct file_perms *perms) +{ + unsigned int state; + + state = aa_dfa_match(dfa, start, mntpnt); + state = aa_dfa_null_transition(dfa, state); + if (!state) + return 1; + + if (devname) + state = aa_dfa_match(dfa, state, devname); + state = aa_dfa_null_transition(dfa, state); + if (!state) + return 2; + + if (type) + state = aa_dfa_match(dfa, state, type); + state = aa_dfa_null_transition(dfa, state); + if (!state) + return 3; + + state = match_mnt_flags(dfa, state, flags); + if (!state) + return 4; + *perms = compute_mnt_perms(dfa, state); + if (perms->allow & AA_MAY_MOUNT) + return 0; + + /* only match data if not binary and the DFA flags data is expected */ + if (data && !binary && (perms->allow & AA_CONT_MATCH)) { + state = aa_dfa_null_transition(dfa, state); + if (!state) + return 4; + + state = aa_dfa_match(dfa, state, data); + if (!state) + return 5; + *perms = compute_mnt_perms(dfa, state); + if (perms->allow & AA_MAY_MOUNT) + return 0; + } + + /* failed at end of flags match */ + return 4; +} + +/** + * match_mnt - handle path matching for mount + * @profile: the confining profile + * @mntpnt: string for the mntpnt (NOT NULL) + * @devname: string for the devname/src_name (MAYBE NULL) + * @type: string for the dev type (MAYBE NULL) + * @flags: mount flags to match + * @data: fs mount data (MAYBE NULL) + * @binary: whether @data is binary + * @perms: Returns: permission found by the match + * @info: Returns: infomation string about the match for logging + * + * Returns: 0 on success else error + */ +static int match_mnt(struct aa_profile *profile, const char *mntpnt, + const char *devname, const char *type, + unsigned long flags, void *data, bool binary, + struct file_perms *perms, const char **info) +{ + int pos; + + if (!profile->policy.dfa) + return -EACCES; + + pos = do_match_mnt(profile->policy.dfa, + profile->policy.start[AA_CLASS_MOUNT], + mntpnt, devname, type, flags, data, binary, perms); + if (pos) { + *info = mnt_info_table[pos]; + return -EACCES; + } + + return 0; +} + +static int path_flags(struct aa_profile *profile, struct path *path) +{ + return profile->path_flags | + S_ISDIR(path->dentry->d_inode->i_mode) ? PATH_IS_DIR : 0; +} + +int aa_remount(struct aa_profile *profile, struct path *path, + unsigned long flags, void *data) +{ + struct file_perms perms = { }; + const char *name, *info = NULL; + char *buffer = NULL; + int binary, error; + + binary = path->dentry->d_sb->s_type->fs_flags & FS_BINARY_MOUNTDATA; + + error = aa_path_name(path, path_flags(profile, path), &buffer, &name, + &info); + if (error) + goto audit; + + error = match_mnt(profile, name, NULL, NULL, flags, data, binary, + &perms, &info); + +audit: + error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, NULL, NULL, + NULL, flags, data, AA_MAY_MOUNT, &perms, info, + error); + kfree(buffer); + + return error; +} + +int aa_bind_mount(struct aa_profile *profile, struct path *path, + const char *dev_name, unsigned long flags) +{ + struct file_perms perms = { }; + char *buffer = NULL, *old_buffer = NULL; + const char *name, *old_name = NULL, *info = NULL; + struct path old_path; + int error; + + if (!dev_name || !*dev_name) + return -EINVAL; + + flags &= MS_REC | MS_BIND; + + error = aa_path_name(path, path_flags(profile, path), &buffer, &name, + &info); + if (error) + goto audit; + + error = kern_path(dev_name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &old_path); + if (error) + goto audit; + + error = aa_path_name(&old_path, path_flags(profile, &old_path), + &old_buffer, &old_name, &info); + path_put(&old_path); + if (error) + goto audit; + + error = match_mnt(profile, name, old_name, NULL, flags, NULL, 0, + &perms, &info); + +audit: + error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, old_name, + NULL, NULL, flags, NULL, AA_MAY_MOUNT, &perms, + info, error); + kfree(buffer); + kfree(old_buffer); + + return error; +} + +int aa_mount_change_type(struct aa_profile *profile, struct path *path, + unsigned long flags) +{ + struct file_perms perms = { }; + char *buffer = NULL; + const char *name, *info = NULL; + int error; + + /* These are the flags allowed by do_change_type() */ + flags &= (MS_REC | MS_SILENT | MS_SHARED | MS_PRIVATE | MS_SLAVE | + MS_UNBINDABLE); + + error = aa_path_name(path, path_flags(profile, path), &buffer, &name, + &info); + if (error) + goto audit; + + error = match_mnt(profile, name, NULL, NULL, flags, NULL, 0, &perms, + &info); + +audit: + error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, NULL, NULL, + NULL, flags, NULL, AA_MAY_MOUNT, &perms, info, + error); + kfree(buffer); + + return error; +} + +int aa_move_mount(struct aa_profile *profile, struct path *path, + const char *orig_name) +{ + struct file_perms perms = { }; + char *buffer = NULL, *old_buffer = NULL; + const char *name, *old_name = NULL, *info = NULL; + struct path old_path; + int error; + + if (!orig_name || !*orig_name) + return -EINVAL; + + error = aa_path_name(path, path_flags(profile, path), &buffer, &name, + &info); + if (error) + goto audit; + + error = kern_path(orig_name, LOOKUP_FOLLOW, &old_path); + if (error) + goto audit; + + error = aa_path_name(&old_path, path_flags(profile, &old_path), + &old_buffer, &old_name, &info); + path_put(&old_path); + if (error) + goto audit; + + error = match_mnt(profile, name, old_name, NULL, MS_MOVE, NULL, 0, + &perms, &info); + +audit: + error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, old_name, + NULL, NULL, MS_MOVE, NULL, AA_MAY_MOUNT, &perms, + info, error); + kfree(buffer); + kfree(old_buffer); + + return error; +} + +int aa_new_mount(struct aa_profile *profile, const char *orig_dev_name, + struct path *path, const char *type, unsigned long flags, + void *data) +{ + struct file_perms perms = { }; + char *buffer = NULL, *dev_buffer = NULL; + const char *name = NULL, *dev_name = NULL, *info = NULL; + int binary = 1; + int error; + + dev_name = orig_dev_name; + if (type) { + int requires_dev; + struct file_system_type *fstype = get_fs_type(type); + if (!fstype) + return -ENODEV; + + binary = fstype->fs_flags & FS_BINARY_MOUNTDATA; + requires_dev = fstype->fs_flags & FS_REQUIRES_DEV; + put_filesystem(fstype); + + if (requires_dev) { + struct path dev_path; + + if (!dev_name || !*dev_name) { + error = -ENOENT; + goto out; + } + + error = kern_path(dev_name, LOOKUP_FOLLOW, &dev_path); + if (error) + goto audit; + + error = aa_path_name(&dev_path, + path_flags(profile, &dev_path), + &dev_buffer, &dev_name, &info); + path_put(&dev_path); + if (error) + goto audit; + } + } + + error = aa_path_name(path, path_flags(profile, path), &buffer, &name, + &info); + if (error) + goto audit; + + error = match_mnt(profile, name, dev_name, type, flags, data, binary, + &perms, &info); + +audit: + error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, dev_name, + type, NULL, flags, data, AA_MAY_MOUNT, &perms, info, + error); + kfree(buffer); + kfree(dev_buffer); + +out: + return error; + +} + +int aa_umount(struct aa_profile *profile, struct vfsmount *mnt, int flags) +{ + struct file_perms perms = { }; + char *buffer = NULL; + const char *name, *info = NULL; + int error; + + struct path path = { mnt, mnt->mnt_root }; + error = aa_path_name(&path, path_flags(profile, &path), &buffer, &name, + &info); + if (error) + goto audit; + + if (!error && profile->policy.dfa) { + unsigned int state; + state = aa_dfa_match(profile->policy.dfa, + profile->policy.start[AA_CLASS_MOUNT], + name); + perms = compute_mnt_perms(profile->policy.dfa, state); + } + + if (AA_MAY_UMOUNT & ~perms.allow) + error = -EACCES; + +audit: + error = audit_mount(profile, GFP_KERNEL, OP_UMOUNT, name, NULL, NULL, + NULL, 0, NULL, AA_MAY_UMOUNT, &perms, info, error); + kfree(buffer); + + return error; +} + +int aa_pivotroot(struct aa_profile *profile, struct path *old_path, + struct path *new_path) +{ + struct file_perms perms = { }; + struct aa_profile *target = NULL; + char *old_buffer = NULL, *new_buffer = NULL; + const char *old_name, *new_name = NULL, *info = NULL; + int error; + + error = aa_path_name(old_path, path_flags(profile, old_path), + &old_buffer, &old_name, &info); + if (error) + goto audit; + + error = aa_path_name(new_path, path_flags(profile, new_path), + &new_buffer, &new_name, &info); + if (error) + goto audit; + + if (profile->policy.dfa) { + unsigned int state; + state = aa_dfa_match(profile->policy.dfa, + profile->policy.start[AA_CLASS_MOUNT], + new_name); + state = aa_dfa_null_transition(profile->policy.dfa, state); + state = aa_dfa_match(profile->policy.dfa, state, old_name); + perms = compute_mnt_perms(profile->policy.dfa, state); + } + + if (AA_MAY_PIVOTROOT & perms.allow) { + if ((perms.xindex & AA_X_TYPE_MASK) == AA_X_TABLE) { + target = x_table_lookup(profile, perms.xindex); + if (!target) + error = -ENOENT; + else + error = aa_replace_current_profile(target); + } + } else + error = -EACCES; + +audit: + error = audit_mount(profile, GFP_KERNEL, OP_PIVOTROOT, new_name, + old_name, NULL, target ? target->base.name : NULL, + 0, NULL, AA_MAY_PIVOTROOT, &perms, info, error); + aa_put_profile(target); + kfree(old_buffer); + kfree(new_buffer); + + return error; +} --- linux-lowlatency-3.5.0.orig/security/apparmor/policy.c +++ linux-lowlatency-3.5.0/security/apparmor/policy.c @@ -724,6 +724,8 @@ */ static void free_profile(struct aa_profile *profile) { + struct aa_profile *p; + AA_DEBUG("%s(%p)\n", __func__, profile); if (!profile) @@ -745,13 +747,34 @@ aa_free_file_rules(&profile->file); aa_free_cap_rules(&profile->caps); + aa_free_net_rules(&profile->net); aa_free_rlimit_rules(&profile->rlimits); aa_free_sid(profile->sid); aa_put_dfa(profile->xmatch); aa_put_dfa(profile->policy.dfa); - aa_put_profile(profile->replacedby); + /* put the profile reference, but not via put_profile/kref_put + * replacedby can form a long chain that can result in cascading + * frees that blows the stack lp#1056078. The long chain creation + * should be addressed in profile replacement. + * This just addresses recursion of free_profile causing the + * stack to blow. + */ + for (p = profile->replacedby; p; ) { + if (atomic_dec_and_test(&p->base.count.refcount)) { + /* no more refs on p, grab its replacedby */ + struct aa_profile *next = p->replacedby; + /* break the chain */ + p->replacedby = NULL; + /* now free p, chain is broken */ + free_profile(p); + + /* follow up with next profile in the chain */ + p = next; + } else + break; + } kzfree(profile); } --- linux-lowlatency-3.5.0.orig/security/apparmor/policy_unpack.c +++ linux-lowlatency-3.5.0/security/apparmor/policy_unpack.c @@ -193,6 +193,19 @@ return 0; } +static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name) +{ + if (unpack_nameX(e, AA_U16, name)) { + if (!inbounds(e, sizeof(u16))) + return 0; + if (data) + *data = le16_to_cpu(get_unaligned((u16 *) e->pos)); + e->pos += sizeof(u16); + return 1; + } + return 0; +} + static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name) { if (unpack_nameX(e, AA_U32, name)) { @@ -471,6 +484,7 @@ { struct aa_profile *profile = NULL; const char *name = NULL; + size_t size = 0; int i, error = -EPROTO; kernel_cap_t tmpcap; u32 tmp; @@ -564,6 +578,38 @@ if (!unpack_rlimits(e, profile)) goto fail; + size = unpack_array(e, "net_allowed_af"); + if (size) { + + for (i = 0; i < size; i++) { + /* discard extraneous rules that this kernel will + * never request + */ + if (i >= AF_MAX) { + u16 tmp; + if (!unpack_u16(e, &tmp, NULL) || + !unpack_u16(e, &tmp, NULL) || + !unpack_u16(e, &tmp, NULL)) + goto fail; + continue; + } + if (!unpack_u16(e, &profile->net.allow[i], NULL)) + goto fail; + if (!unpack_u16(e, &profile->net.audit[i], NULL)) + goto fail; + if (!unpack_u16(e, &profile->net.quiet[i], NULL)) + goto fail; + } + if (!unpack_nameX(e, AA_ARRAYEND, NULL)) + goto fail; + } + /* + * allow unix domain and netlink sockets they are handled + * by IPC + */ + profile->net.allow[AF_UNIX] = 0xffff; + profile->net.allow[AF_NETLINK] = 0xffff; + if (unpack_nameX(e, AA_STRUCT, "policydb")) { /* generic policy dfa - optional and may be NULL */ profile->policy.dfa = unpack_dfa(e); --- linux-lowlatency-3.5.0.orig/security/apparmor/net.c +++ linux-lowlatency-3.5.0/security/apparmor/net.c @@ -0,0 +1,162 @@ +/* + * AppArmor security module + * + * This file contains AppArmor network mediation + * + * Copyright (C) 1998-2008 Novell/SUSE + * Copyright 2009-2012 Canonical Ltd. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2 of the + * License. + */ + +#include "include/apparmor.h" +#include "include/audit.h" +#include "include/context.h" +#include "include/net.h" +#include "include/policy.h" + +#include "net_names.h" + +struct aa_fs_entry aa_fs_entry_network[] = { + AA_FS_FILE_STRING("af_mask", AA_FS_AF_MASK), + { } +}; + +/* audit callback for net specific fields */ +static void audit_cb(struct audit_buffer *ab, void *va) +{ + struct common_audit_data *sa = va; + + audit_log_format(ab, " family="); + if (address_family_names[sa->u.net->family]) { + audit_log_string(ab, address_family_names[sa->u.net->family]); + } else { + audit_log_format(ab, "\"unknown(%d)\"", sa->u.net->family); + } + audit_log_format(ab, " sock_type="); + if (sock_type_names[sa->aad->net.type]) { + audit_log_string(ab, sock_type_names[sa->aad->net.type]); + } else { + audit_log_format(ab, "\"unknown(%d)\"", sa->aad->net.type); + } + audit_log_format(ab, " protocol=%d", sa->aad->net.protocol); +} + +/** + * audit_net - audit network access + * @profile: profile being enforced (NOT NULL) + * @op: operation being checked + * @family: network family + * @type: network type + * @protocol: network protocol + * @sk: socket auditing is being applied to + * @error: error code for failure else 0 + * + * Returns: %0 or sa->error else other errorcode on failure + */ +static int audit_net(struct aa_profile *profile, int op, u16 family, int type, + int protocol, struct sock *sk, int error) +{ + int audit_type = AUDIT_APPARMOR_AUTO; + struct common_audit_data sa; + struct apparmor_audit_data aad = { }; + struct lsm_network_audit net = { }; + if (sk) { + sa.type = LSM_AUDIT_DATA_NET; + } else { + sa.type = LSM_AUDIT_DATA_NONE; + } + /* todo fill in socket addr info */ + sa.aad = &aad; + sa.u.net = &net; + sa.aad->op = op, + sa.u.net->family = family; + sa.u.net->sk = sk; + sa.aad->net.type = type; + sa.aad->net.protocol = protocol; + sa.aad->error = error; + + if (likely(!sa.aad->error)) { + u16 audit_mask = profile->net.audit[sa.u.net->family]; + if (likely((AUDIT_MODE(profile) != AUDIT_ALL) && + !(1 << sa.aad->net.type & audit_mask))) + return 0; + audit_type = AUDIT_APPARMOR_AUDIT; + } else { + u16 quiet_mask = profile->net.quiet[sa.u.net->family]; + u16 kill_mask = 0; + u16 denied = (1 << sa.aad->net.type) & ~quiet_mask; + + if (denied & kill_mask) + audit_type = AUDIT_APPARMOR_KILL; + + if ((denied & quiet_mask) && + AUDIT_MODE(profile) != AUDIT_NOQUIET && + AUDIT_MODE(profile) != AUDIT_ALL) + return COMPLAIN_MODE(profile) ? 0 : sa.aad->error; + } + + return aa_audit(audit_type, profile, GFP_KERNEL, &sa, audit_cb); +} + +/** + * aa_net_perm - very course network access check + * @op: operation being checked + * @profile: profile being enforced (NOT NULL) + * @family: network family + * @type: network type + * @protocol: network protocol + * + * Returns: %0 else error if permission denied + */ +int aa_net_perm(int op, struct aa_profile *profile, u16 family, int type, + int protocol, struct sock *sk) +{ + u16 family_mask; + int error; + + if ((family < 0) || (family >= AF_MAX)) + return -EINVAL; + + if ((type < 0) || (type >= SOCK_MAX)) + return -EINVAL; + + /* unix domain and netlink sockets are handled by ipc */ + if (family == AF_UNIX || family == AF_NETLINK) + return 0; + + family_mask = profile->net.allow[family]; + + error = (family_mask & (1 << type)) ? 0 : -EACCES; + + return audit_net(profile, op, family, type, protocol, sk, error); +} + +/** + * aa_revalidate_sk - Revalidate access to a sock + * @op: operation being checked + * @sk: sock being revalidated (NOT NULL) + * + * Returns: %0 else error if permission denied + */ +int aa_revalidate_sk(int op, struct sock *sk) +{ + struct aa_profile *profile; + int error = 0; + + /* aa_revalidate_sk should not be called from interrupt context + * don't mediate these calls as they are not task related + */ + if (in_interrupt()) + return 0; + + profile = __aa_current_profile(); + if (!unconfined(profile)) + error = aa_net_perm(op, profile, sk->sk_family, sk->sk_type, + sk->sk_protocol, sk); + + return error; +} --- linux-lowlatency-3.5.0.orig/security/apparmor/include/apparmor.h +++ linux-lowlatency-3.5.0/security/apparmor/include/apparmor.h @@ -29,8 +29,9 @@ #define AA_CLASS_NET 4 #define AA_CLASS_RLIMITS 5 #define AA_CLASS_DOMAIN 6 +#define AA_CLASS_MOUNT 7 -#define AA_CLASS_LAST AA_CLASS_DOMAIN +#define AA_CLASS_LAST AA_CLASS_MOUNT /* Control parameters settable through module/boot flags */ extern enum audit_mode aa_g_audit; --- linux-lowlatency-3.5.0.orig/security/apparmor/include/audit.h +++ linux-lowlatency-3.5.0/security/apparmor/include/audit.h @@ -73,6 +73,10 @@ OP_FMMAP, OP_FMPROT, + OP_PIVOTROOT, + OP_MOUNT, + OP_UMOUNT, + OP_CREATE, OP_POST_CREATE, OP_BIND, @@ -122,11 +126,22 @@ unsigned long max; } rlim; struct { + const char *src_name; + const char *type; + const char *trans; + const char *data; + unsigned long flags; + } mnt; + struct { const char *target; u32 request; u32 denied; uid_t ouid; } fs; + struct { + int type, protocol; + struct sock *sk; + } net; }; }; --- linux-lowlatency-3.5.0.orig/security/apparmor/include/domain.h +++ linux-lowlatency-3.5.0/security/apparmor/include/domain.h @@ -23,6 +23,8 @@ char **table; }; +struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex); + int apparmor_bprm_set_creds(struct linux_binprm *bprm); int apparmor_bprm_secureexec(struct linux_binprm *bprm); void apparmor_bprm_committing_creds(struct linux_binprm *bprm); --- linux-lowlatency-3.5.0.orig/security/apparmor/include/mount.h +++ linux-lowlatency-3.5.0/security/apparmor/include/mount.h @@ -0,0 +1,54 @@ +/* + * AppArmor security module + * + * This file contains AppArmor file mediation function definitions. + * + * Copyright 2012 Canonical Ltd. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2 of the + * License. + */ + +#ifndef __AA_MOUNT_H +#define __AA_MOUNT_H + +#include +#include + +#include "domain.h" +#include "policy.h" + +/* mount perms */ +#define AA_MAY_PIVOTROOT 0x01 +#define AA_MAY_MOUNT 0x02 +#define AA_MAY_UMOUNT 0x04 +#define AA_AUDIT_DATA 0x40 +#define AA_CONT_MATCH 0x40 + +#define AA_MS_IGNORE_MASK (MS_KERNMOUNT | MS_NOSEC | MS_ACTIVE | MS_BORN) + +int aa_remount(struct aa_profile *profile, struct path *path, + unsigned long flags, void *data); + +int aa_bind_mount(struct aa_profile *profile, struct path *path, + const char *old_name, unsigned long flags); + + +int aa_mount_change_type(struct aa_profile *profile, struct path *path, + unsigned long flags); + +int aa_move_mount(struct aa_profile *profile, struct path *path, + const char *old_name); + +int aa_new_mount(struct aa_profile *profile, const char *dev_name, + struct path *path, const char *type, unsigned long flags, + void *data); + +int aa_umount(struct aa_profile *profile, struct vfsmount *mnt, int flags); + +int aa_pivotroot(struct aa_profile *profile, struct path *old_path, + struct path *new_path); + +#endif /* __AA_MOUNT_H */ --- linux-lowlatency-3.5.0.orig/security/apparmor/include/policy.h +++ linux-lowlatency-3.5.0/security/apparmor/include/policy.h @@ -27,6 +27,7 @@ #include "capability.h" #include "domain.h" #include "file.h" +#include "net.h" #include "resource.h" extern const char *const profile_mode_names[]; @@ -157,6 +158,7 @@ * @policy: general match rules governing policy * @file: The set of rules governing basic file access and domain transitions * @caps: capabilities for the profile + * @net: network controls for the profile * @rlimits: rlimits for the profile * * The AppArmor profile contains the basic confinement data. Each profile @@ -194,6 +196,7 @@ struct aa_policydb policy; struct aa_file_rules file; struct aa_caps caps; + struct aa_net net; struct aa_rlimit rlimits; }; --- linux-lowlatency-3.5.0.orig/security/apparmor/include/net.h +++ linux-lowlatency-3.5.0/security/apparmor/include/net.h @@ -0,0 +1,44 @@ +/* + * AppArmor security module + * + * This file contains AppArmor network mediation definitions. + * + * Copyright (C) 1998-2008 Novell/SUSE + * Copyright 2009-2012 Canonical Ltd. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2 of the + * License. + */ + +#ifndef __AA_NET_H +#define __AA_NET_H + +#include + +#include "apparmorfs.h" + +/* struct aa_net - network confinement data + * @allowed: basic network families permissions + * @audit_network: which network permissions to force audit + * @quiet_network: which network permissions to quiet rejects + */ +struct aa_net { + u16 allow[AF_MAX]; + u16 audit[AF_MAX]; + u16 quiet[AF_MAX]; +}; + +extern struct aa_fs_entry aa_fs_entry_network[]; + +extern int aa_net_perm(int op, struct aa_profile *profile, u16 family, + int type, int protocol, struct sock *sk); +extern int aa_revalidate_sk(int op, struct sock *sk); + +static inline void aa_free_net_rules(struct aa_net *new) +{ + /* NOP */ +} + +#endif /* __AA_NET_H */ --- linux-lowlatency-3.5.0.orig/security/selinux/hooks.c +++ linux-lowlatency-3.5.0/security/selinux/hooks.c @@ -2129,7 +2129,7 @@ int fd; j++; - i = j * __NFDBITS; + i = j * BITS_PER_LONG; fdt = files_fdtable(files); if (i >= fdt->max_fds) break; @@ -2792,11 +2792,16 @@ /* We strip a nul only if it is at the end, otherwise the * context contains a nul and we should audit that */ - str = value; - if (str[size - 1] == '\0') - audit_size = size - 1; - else - audit_size = size; + if (value) { + str = value; + if (str[size - 1] == '\0') + audit_size = size - 1; + else + audit_size = size; + } else { + str = ""; + audit_size = 0; + } ab = audit_log_start(current->audit_context, GFP_ATOMIC, AUDIT_SELINUX_ERR); audit_log_format(ab, "op=setxattr invalid_context="); audit_log_n_untrustedstring(ab, value, audit_size); --- linux-lowlatency-3.5.0.orig/security/selinux/netnode.c +++ linux-lowlatency-3.5.0/security/selinux/netnode.c @@ -174,7 +174,8 @@ if (sel_netnode_hash[idx].size == SEL_NETNODE_HASH_BKT_LIMIT) { struct sel_netnode *tail; tail = list_entry( - rcu_dereference(sel_netnode_hash[idx].list.prev), + rcu_dereference_protected(sel_netnode_hash[idx].list.prev, + lockdep_is_held(&sel_netnode_lock)), struct sel_netnode, list); list_del_rcu(&tail->list); kfree_rcu(tail, rcu); --- linux-lowlatency-3.5.0.orig/security/smack/smackfs.c +++ linux-lowlatency-3.5.0/security/smack/smackfs.c @@ -325,11 +325,11 @@ int datalen; int rc = -1; - /* - * This is probably inefficient, but safe. - */ + /* This is inefficient */ datalen = strlen(data); - subject = kzalloc(datalen, GFP_KERNEL); + + /* Our first element can be 64 + \0 with no spaces */ + subject = kzalloc(datalen + 1, GFP_KERNEL); if (subject == NULL) return -1; object = kzalloc(datalen, GFP_KERNEL); --- linux-lowlatency-3.5.0.orig/security/yama/Kconfig +++ linux-lowlatency-3.5.0/security/yama/Kconfig @@ -7,7 +7,8 @@ help This selects Yama, which extends DAC support with additional system-wide security settings beyond regular Linux discretionary - access controls. Currently available is ptrace scope restriction. - Further information can be found in Documentation/security/Yama.txt. + access controls. Currently available are symlink, hardlink, and + ptrace scope restrictions. Further information can be found in + Documentation/security/Yama.txt. If you are unsure how to answer this question, answer N. --- linux-lowlatency-3.5.0.orig/security/yama/yama_lsm.c +++ linux-lowlatency-3.5.0/security/yama/yama_lsm.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -24,6 +25,8 @@ #define YAMA_SCOPE_NO_ATTACH 3 static int ptrace_scope = YAMA_SCOPE_RELATIONAL; +static int protected_sticky_symlinks = 1; +static int protected_nonaccess_hardlinks = 1; /* describe a ptrace relationship for potential exception */ struct ptrace_relation { @@ -100,7 +103,7 @@ * yama_task_free - check for task_pid to remove from exception list * @task: task being removed */ -static void yama_task_free(struct task_struct *task) +void yama_task_free(struct task_struct *task) { yama_ptracer_del(task, task); } @@ -116,7 +119,7 @@ * Return 0 on success, -ve on error. -ENOSYS is returned when Yama * does not handle the given option. */ -static int yama_task_prctl(int option, unsigned long arg2, unsigned long arg3, +int yama_task_prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5) { int rc; @@ -143,7 +146,7 @@ if (arg2 == 0) { yama_ptracer_del(NULL, myself); rc = 0; - } else if (arg2 == PR_SET_PTRACER_ANY) { + } else if (arg2 == PR_SET_PTRACER_ANY || (int)arg2 == -1) { rc = yama_ptracer_add(NULL, myself); } else { struct task_struct *tracer; @@ -243,7 +246,7 @@ * * Returns 0 if following the ptrace is allowed, -ve on error. */ -static int yama_ptrace_access_check(struct task_struct *child, +int yama_ptrace_access_check(struct task_struct *child, unsigned int mode) { int rc; @@ -279,24 +282,163 @@ } if (rc) { - char name[sizeof(current->comm)]; printk_ratelimited(KERN_NOTICE "ptrace of pid %d was attempted by: %s (pid %d)\n", - child->pid, + child->pid, current->comm, current->pid); + } + + return rc; +} + +/** + * yama_ptrace_traceme - validate PTRACE_TRACEME calls + * @parent: task that will become the ptracer of the current task + * + * Returns 0 if following the ptrace is allowed, -ve on error. + */ +int yama_ptrace_traceme(struct task_struct *parent) +{ + int rc; + + /* If standard caps disallows it, so does Yama. We should + * only tighten restrictions further. + */ + rc = cap_ptrace_traceme(parent); + if (rc) + return rc; + + /* Only disallow PTRACE_TRACEME on more aggressive settings. */ + switch (ptrace_scope) { + case YAMA_SCOPE_CAPABILITY: + if (!ns_capable(task_user_ns(parent), CAP_SYS_PTRACE)) + rc = -EPERM; + break; + case YAMA_SCOPE_NO_ATTACH: + rc = -EPERM; + break; + } + + if (rc) { + printk_ratelimited(KERN_NOTICE + "ptraceme of pid %d was attempted by: %s (pid %d)\n", + current->pid, parent->comm, parent->pid); + } + + return rc; +} + +/** + * yama_inode_follow_link - check for symlinks in sticky world-writeable dirs + * @dentry: The inode/dentry of the symlink + * @nameidata: The path data of the symlink + * + * In the case of the protected_sticky_symlinks sysctl being enabled, + * CAP_DAC_OVERRIDE needs to be specifically ignored if the symlink is + * in a sticky world-writable directory. This is to protect privileged + * processes from failing races against path names that may change out + * from under them by way of other users creating malicious symlinks. + * It will permit symlinks to only be followed when outside a sticky + * world-writable directory, or when the uid of the symlink and follower + * match, or when the directory owner matches the symlink's owner. + * + * Returns 0 if following the symlink is allowed, -ve on error. + */ +int yama_inode_follow_link(struct dentry *dentry, + struct nameidata *nameidata) +{ + int rc = 0; + const struct inode *parent; + const struct inode *inode; + const struct cred *cred; + + if (!protected_sticky_symlinks) + return 0; + + /* if inode isn't a symlink, don't try to evaluate blocking it */ + inode = dentry->d_inode; + if (!S_ISLNK(inode->i_mode)) + return 0; + + /* owner and follower match? */ + cred = current_cred(); + if (cred->fsuid == inode->i_uid) + return 0; + + /* check parent directory mode and owner */ + spin_lock(&dentry->d_lock); + parent = dentry->d_parent->d_inode; + if ((parent->i_mode & (S_ISVTX|S_IWOTH)) == (S_ISVTX|S_IWOTH) && + parent->i_uid != inode->i_uid) { + rc = -EACCES; + } + spin_unlock(&dentry->d_lock); + + if (rc) { + char name[sizeof(current->comm)]; + printk_ratelimited(KERN_NOTICE "non-matching-uid symlink " + "following attempted in sticky world-writable " + "directory by %s (fsuid %d != %d)\n", get_task_comm(name, current), - current->pid); + cred->fsuid, inode->i_uid); } return rc; } -static struct security_operations yama_ops = { - .name = "yama", +static int yama_generic_permission(struct inode *inode, int mask) +{ + int retval; - .ptrace_access_check = yama_ptrace_access_check, - .task_prctl = yama_task_prctl, - .task_free = yama_task_free, -}; + if (inode->i_op->permission) + retval = inode->i_op->permission(inode, mask); + else + retval = generic_permission(inode, mask); + return retval; +} + +/** + * yama_path_link - verify that hardlinking is allowed + * @old_dentry: the source inode/dentry to hardlink from + * @new_dir: target directory + * @new_dentry: the target inode/dentry to hardlink to + * + * Block hardlink when all of: + * - fsuid does not match inode + * - not CAP_FOWNER + * - and at least one of: + * - inode is not a regular file + * - inode is setuid + * - inode is setgid and group-exec + * - access failure for read and write + * + * Returns 0 if successful, -ve on error. + */ +int yama_path_link(struct dentry *old_dentry, struct path *new_dir, + struct dentry *new_dentry) +{ + int rc = 0; + struct inode *inode = old_dentry->d_inode; + const int mode = inode->i_mode; + const struct cred *cred = current_cred(); + + if (!protected_nonaccess_hardlinks) + return 0; + + if (cred->fsuid != inode->i_uid && + (!S_ISREG(mode) || (mode & S_ISUID) || + ((mode & (S_ISGID | S_IXGRP)) == (S_ISGID | S_IXGRP)) || + (yama_generic_permission(inode, MAY_READ | MAY_WRITE))) && + !capable(CAP_FOWNER)) { + char name[sizeof(current->comm)]; + printk_ratelimited(KERN_NOTICE "non-accessible hardlink" + " creation was attempted by: %s (fsuid %d)\n", + get_task_comm(name, current), + cred->fsuid); + rc = -EPERM; + } + + return rc; +} #ifdef CONFIG_SYSCTL static int yama_dointvec_minmax(struct ctl_table *table, int write, @@ -319,6 +461,7 @@ } static int zero; +static int one = 1; static int max_scope = YAMA_SCOPE_NO_ATTACH; struct ctl_path yama_sysctl_path[] = { @@ -329,6 +472,24 @@ static struct ctl_table yama_sysctl_table[] = { { + .procname = "protected_sticky_symlinks", + .data = &protected_sticky_symlinks, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = &zero, + .extra2 = &one, + }, + { + .procname = "protected_nonaccess_hardlinks", + .data = &protected_nonaccess_hardlinks, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = &zero, + .extra2 = &one, + }, + { .procname = "ptrace_scope", .data = &ptrace_scope, .maxlen = sizeof(int), @@ -343,14 +504,8 @@ static __init int yama_init(void) { - if (!security_module_enable(&yama_ops)) - return 0; - printk(KERN_INFO "Yama: becoming mindful.\n"); - if (register_security(&yama_ops)) - panic("Yama: kernel registration failed.\n"); - #ifdef CONFIG_SYSCTL if (!register_sysctl_paths(yama_sysctl_path, yama_sysctl_table)) panic("Yama: sysctl registration failed.\n"); --- linux-lowlatency-3.5.0.orig/sound/aoa/codecs/onyx.c +++ linux-lowlatency-3.5.0/sound/aoa/codecs/onyx.c @@ -997,45 +997,10 @@ onyx->codec.soundbus_dev->detach_codec(onyx->codec.soundbus_dev, onyx); } -static int onyx_create(struct i2c_adapter *adapter, - struct device_node *node, - int addr) -{ - struct i2c_board_info info; - struct i2c_client *client; - - memset(&info, 0, sizeof(struct i2c_board_info)); - strlcpy(info.type, "aoa_codec_onyx", I2C_NAME_SIZE); - info.addr = addr; - info.platform_data = node; - client = i2c_new_device(adapter, &info); - if (!client) - return -ENODEV; - - /* - * We know the driver is already loaded, so the device should be - * already bound. If not it means binding failed, which suggests - * the device doesn't really exist and should be deleted. - * Ideally this would be replaced by better checks _before_ - * instantiating the device. - */ - if (!client->driver) { - i2c_unregister_device(client); - return -ENODEV; - } - - /* - * Let i2c-core delete that device on driver removal. - * This is safe because i2c-core holds the core_lock mutex for us. - */ - list_add_tail(&client->detected, &client->driver->clients); - return 0; -} - static int onyx_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id) { - struct device_node *node = client->dev.platform_data; + struct device_node *node = client->dev.of_node; struct onyx *onyx; u8 dummy; @@ -1071,40 +1036,6 @@ return -ENODEV; } -static int onyx_i2c_attach(struct i2c_adapter *adapter) -{ - struct device_node *busnode, *dev = NULL; - struct pmac_i2c_bus *bus; - - bus = pmac_i2c_adapter_to_bus(adapter); - if (bus == NULL) - return -ENODEV; - busnode = pmac_i2c_get_bus_node(bus); - - while ((dev = of_get_next_child(busnode, dev)) != NULL) { - if (of_device_is_compatible(dev, "pcm3052")) { - const u32 *addr; - printk(KERN_DEBUG PFX "found pcm3052\n"); - addr = of_get_property(dev, "reg", NULL); - if (!addr) - return -ENODEV; - return onyx_create(adapter, dev, (*addr)>>1); - } - } - - /* if that didn't work, try desperate mode for older - * machines that have stuff missing from the device tree */ - - if (!of_device_is_compatible(busnode, "k2-i2c")) - return -ENODEV; - - printk(KERN_DEBUG PFX "found k2-i2c, checking if onyx chip is on it\n"); - /* probe both possible addresses for the onyx chip */ - if (onyx_create(adapter, NULL, 0x46) == 0) - return 0; - return onyx_create(adapter, NULL, 0x47); -} - static int onyx_i2c_remove(struct i2c_client *client) { struct onyx *onyx = i2c_get_clientdata(client); @@ -1117,16 +1048,16 @@ } static const struct i2c_device_id onyx_i2c_id[] = { - { "aoa_codec_onyx", 0 }, + { "MAC,pcm3052", 0 }, { } }; +MODULE_DEVICE_TABLE(i2c,onyx_i2c_id); static struct i2c_driver onyx_driver = { .driver = { .name = "aoa_codec_onyx", .owner = THIS_MODULE, }, - .attach_adapter = onyx_i2c_attach, .probe = onyx_i2c_probe, .remove = onyx_i2c_remove, .id_table = onyx_i2c_id, --- linux-lowlatency-3.5.0.orig/sound/aoa/codecs/tas.c +++ linux-lowlatency-3.5.0/sound/aoa/codecs/tas.c @@ -883,43 +883,10 @@ } -static int tas_create(struct i2c_adapter *adapter, - struct device_node *node, - int addr) -{ - struct i2c_board_info info; - struct i2c_client *client; - - memset(&info, 0, sizeof(struct i2c_board_info)); - strlcpy(info.type, "aoa_codec_tas", I2C_NAME_SIZE); - info.addr = addr; - info.platform_data = node; - - client = i2c_new_device(adapter, &info); - if (!client) - return -ENODEV; - /* - * We know the driver is already loaded, so the device should be - * already bound. If not it means binding failed, and then there - * is no point in keeping the device instantiated. - */ - if (!client->driver) { - i2c_unregister_device(client); - return -ENODEV; - } - - /* - * Let i2c-core delete that device on driver removal. - * This is safe because i2c-core holds the core_lock mutex for us. - */ - list_add_tail(&client->detected, &client->driver->clients); - return 0; -} - static int tas_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id) { - struct device_node *node = client->dev.platform_data; + struct device_node *node = client->dev.of_node; struct tas *tas; tas = kzalloc(sizeof(struct tas), GFP_KERNEL); @@ -953,47 +920,6 @@ return -EINVAL; } -static int tas_i2c_attach(struct i2c_adapter *adapter) -{ - struct device_node *busnode, *dev = NULL; - struct pmac_i2c_bus *bus; - - bus = pmac_i2c_adapter_to_bus(adapter); - if (bus == NULL) - return -ENODEV; - busnode = pmac_i2c_get_bus_node(bus); - - while ((dev = of_get_next_child(busnode, dev)) != NULL) { - if (of_device_is_compatible(dev, "tas3004")) { - const u32 *addr; - printk(KERN_DEBUG PFX "found tas3004\n"); - addr = of_get_property(dev, "reg", NULL); - if (!addr) - continue; - return tas_create(adapter, dev, ((*addr) >> 1) & 0x7f); - } - /* older machines have no 'codec' node with a 'compatible' - * property that says 'tas3004', they just have a 'deq' - * node without any such property... */ - if (strcmp(dev->name, "deq") == 0) { - const u32 *_addr; - u32 addr; - printk(KERN_DEBUG PFX "found 'deq' node\n"); - _addr = of_get_property(dev, "i2c-address", NULL); - if (!_addr) - continue; - addr = ((*_addr) >> 1) & 0x7f; - /* now, if the address doesn't match any of the two - * that a tas3004 can have, we cannot handle this. - * I doubt it ever happens but hey. */ - if (addr != 0x34 && addr != 0x35) - continue; - return tas_create(adapter, dev, addr); - } - } - return -ENODEV; -} - static int tas_i2c_remove(struct i2c_client *client) { struct tas *tas = i2c_get_clientdata(client); @@ -1011,16 +937,16 @@ } static const struct i2c_device_id tas_i2c_id[] = { - { "aoa_codec_tas", 0 }, + { "MAC,tas3004", 0 }, { } }; +MODULE_DEVICE_TABLE(i2c,tas_i2c_id); static struct i2c_driver tas_driver = { .driver = { .name = "aoa_codec_tas", .owner = THIS_MODULE, }, - .attach_adapter = tas_i2c_attach, .probe = tas_i2c_probe, .remove = tas_i2c_remove, .id_table = tas_i2c_id, --- linux-lowlatency-3.5.0.orig/sound/core/compress_offload.c +++ linux-lowlatency-3.5.0/sound/core/compress_offload.c @@ -102,12 +102,15 @@ if (dirn != compr->direction) { pr_err("this device doesn't support this direction\n"); + snd_card_unref(compr->card); return -EINVAL; } data = kzalloc(sizeof(*data), GFP_KERNEL); - if (!data) + if (!data) { + snd_card_unref(compr->card); return -ENOMEM; + } data->stream.ops = compr->ops; data->stream.direction = dirn; data->stream.private_data = compr->private_data; @@ -115,6 +118,7 @@ runtime = kzalloc(sizeof(*runtime), GFP_KERNEL); if (!runtime) { kfree(data); + snd_card_unref(compr->card); return -ENOMEM; } runtime->state = SNDRV_PCM_STATE_OPEN; @@ -128,7 +132,8 @@ kfree(runtime); kfree(data); } - return ret; + snd_card_unref(compr->card); + return 0; } static int snd_compr_free(struct inode *inode, struct file *f) --- linux-lowlatency-3.5.0.orig/sound/core/control.c +++ linux-lowlatency-3.5.0/sound/core/control.c @@ -86,6 +86,7 @@ write_lock_irqsave(&card->ctl_files_rwlock, flags); list_add_tail(&ctl->list, &card->ctl_files); write_unlock_irqrestore(&card->ctl_files_rwlock, flags); + snd_card_unref(card); return 0; __error: @@ -93,6 +94,8 @@ __error2: snd_card_file_remove(card, file); __error1: + if (card) + snd_card_unref(card); return err; } @@ -1433,6 +1436,8 @@ spin_unlock_irq(&ctl->read_lock); schedule(); remove_wait_queue(&ctl->change_sleep, &wait); + if (ctl->card->shutdown) + return -ENODEV; if (signal_pending(current)) return -ERESTARTSYS; spin_lock_irq(&ctl->read_lock); --- linux-lowlatency-3.5.0.orig/sound/core/hwdep.c +++ linux-lowlatency-3.5.0/sound/core/hwdep.c @@ -100,8 +100,10 @@ if (hw == NULL) return -ENODEV; - if (!try_module_get(hw->card->module)) + if (!try_module_get(hw->card->module)) { + snd_card_unref(hw->card); return -EFAULT; + } init_waitqueue_entry(&wait, current); add_wait_queue(&hw->open_wait, &wait); @@ -129,6 +131,10 @@ mutex_unlock(&hw->open_mutex); schedule(); mutex_lock(&hw->open_mutex); + if (hw->card->shutdown) { + err = -ENODEV; + break; + } if (signal_pending(current)) { err = -ERESTARTSYS; break; @@ -148,6 +154,7 @@ mutex_unlock(&hw->open_mutex); if (err < 0) module_put(hw->card->module); + snd_card_unref(hw->card); return err; } @@ -459,12 +466,15 @@ mutex_unlock(®ister_mutex); return -EINVAL; } + mutex_lock(&hwdep->open_mutex); + wake_up(&hwdep->open_wait); #ifdef CONFIG_SND_OSSEMUL if (hwdep->ossreg) snd_unregister_oss_device(hwdep->oss_type, hwdep->card, hwdep->device); #endif snd_unregister_device(SNDRV_DEVICE_TYPE_HWDEP, hwdep->card, hwdep->device); list_del_init(&hwdep->list); + mutex_unlock(&hwdep->open_mutex); mutex_unlock(®ister_mutex); return 0; } --- linux-lowlatency-3.5.0.orig/sound/core/init.c +++ linux-lowlatency-3.5.0/sound/core/init.c @@ -213,6 +213,7 @@ spin_lock_init(&card->files_lock); INIT_LIST_HEAD(&card->files_list); init_waitqueue_head(&card->shutdown_sleep); + atomic_set(&card->refcount, 0); #ifdef CONFIG_PM mutex_init(&card->power_lock); init_waitqueue_head(&card->power_sleep); @@ -446,21 +447,36 @@ return 0; } +/** + * snd_card_unref - release the reference counter + * @card: the card instance + * + * Decrements the reference counter. When it reaches to zero, wake up + * the sleeper and call the destructor if needed. + */ +void snd_card_unref(struct snd_card *card) +{ + if (atomic_dec_and_test(&card->refcount)) { + wake_up(&card->shutdown_sleep); + if (card->free_on_last_close) + snd_card_do_free(card); + } +} +EXPORT_SYMBOL(snd_card_unref); + int snd_card_free_when_closed(struct snd_card *card) { - int free_now = 0; - int ret = snd_card_disconnect(card); - if (ret) - return ret; + int ret; - spin_lock(&card->files_lock); - if (list_empty(&card->files_list)) - free_now = 1; - else - card->free_on_last_close = 1; - spin_unlock(&card->files_lock); + atomic_inc(&card->refcount); + ret = snd_card_disconnect(card); + if (ret) { + atomic_dec(&card->refcount); + return ret; + } - if (free_now) + card->free_on_last_close = 1; + if (atomic_dec_and_test(&card->refcount)) snd_card_do_free(card); return 0; } @@ -474,7 +490,7 @@ return ret; /* wait, until all devices are ready for the free operation */ - wait_event(card->shutdown_sleep, list_empty(&card->files_list)); + wait_event(card->shutdown_sleep, !atomic_read(&card->refcount)); snd_card_do_free(card); return 0; } @@ -886,6 +902,7 @@ return -ENODEV; } list_add(&mfile->list, &card->files_list); + atomic_inc(&card->refcount); spin_unlock(&card->files_lock); return 0; } @@ -908,7 +925,6 @@ int snd_card_file_remove(struct snd_card *card, struct file *file) { struct snd_monitor_file *mfile, *found = NULL; - int last_close = 0; spin_lock(&card->files_lock); list_for_each_entry(mfile, &card->files_list, list) { @@ -923,19 +939,13 @@ break; } } - if (list_empty(&card->files_list)) - last_close = 1; spin_unlock(&card->files_lock); - if (last_close) { - wake_up(&card->shutdown_sleep); - if (card->free_on_last_close) - snd_card_do_free(card); - } if (!found) { snd_printk(KERN_ERR "ALSA card file remove problem (%p)\n", file); return -ENOENT; } kfree(found); + snd_card_unref(card); return 0; } --- linux-lowlatency-3.5.0.orig/sound/core/pcm.c +++ linux-lowlatency-3.5.0/sound/core/pcm.c @@ -1086,11 +1086,19 @@ if (list_empty(&pcm->list)) goto unlock; + mutex_lock(&pcm->open_mutex); + wake_up(&pcm->open_wait); list_del_init(&pcm->list); for (cidx = 0; cidx < 2; cidx++) - for (substream = pcm->streams[cidx].substream; substream; substream = substream->next) - if (substream->runtime) + for (substream = pcm->streams[cidx].substream; substream; substream = substream->next) { + snd_pcm_stream_lock_irq(substream); + if (substream->runtime) { substream->runtime->status->state = SNDRV_PCM_STATE_DISCONNECTED; + wake_up(&substream->runtime->sleep); + wake_up(&substream->runtime->tsleep); + } + snd_pcm_stream_unlock_irq(substream); + } list_for_each_entry(notify, &snd_pcm_notify_list, list) { notify->n_disconnect(pcm); } @@ -1106,6 +1114,7 @@ } snd_unregister_device(devtype, pcm->card, pcm->device); } + mutex_unlock(&pcm->open_mutex); unlock: mutex_unlock(®ister_mutex); return 0; --- linux-lowlatency-3.5.0.orig/sound/core/pcm_native.c +++ linux-lowlatency-3.5.0/sound/core/pcm_native.c @@ -369,6 +369,14 @@ return usecs; } +static void snd_pcm_set_state(struct snd_pcm_substream *substream, int state) +{ + snd_pcm_stream_lock_irq(substream); + if (substream->runtime->status->state != SNDRV_PCM_STATE_DISCONNECTED) + substream->runtime->status->state = state; + snd_pcm_stream_unlock_irq(substream); +} + static int snd_pcm_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) { @@ -452,7 +460,7 @@ runtime->boundary *= 2; snd_pcm_timer_resolution_change(substream); - runtime->status->state = SNDRV_PCM_STATE_SETUP; + snd_pcm_set_state(substream, SNDRV_PCM_STATE_SETUP); if (pm_qos_request_active(&substream->latency_pm_qos_req)) pm_qos_remove_request(&substream->latency_pm_qos_req); @@ -464,7 +472,7 @@ /* hardware might be unusable from this time, so we force application to retry to set the correct hardware parameter settings */ - runtime->status->state = SNDRV_PCM_STATE_OPEN; + snd_pcm_set_state(substream, SNDRV_PCM_STATE_OPEN); if (substream->ops->hw_free != NULL) substream->ops->hw_free(substream); return err; @@ -512,7 +520,7 @@ return -EBADFD; if (substream->ops->hw_free) result = substream->ops->hw_free(substream); - runtime->status->state = SNDRV_PCM_STATE_OPEN; + snd_pcm_set_state(substream, SNDRV_PCM_STATE_OPEN); pm_qos_remove_request(&substream->latency_pm_qos_req); return result; } @@ -1320,7 +1328,7 @@ { struct snd_pcm_runtime *runtime = substream->runtime; runtime->control->appl_ptr = runtime->status->hw_ptr; - runtime->status->state = SNDRV_PCM_STATE_PREPARED; + snd_pcm_set_state(substream, SNDRV_PCM_STATE_PREPARED); } static struct action_ops snd_pcm_action_prepare = { @@ -1510,6 +1518,10 @@ down_read(&snd_pcm_link_rwsem); snd_pcm_stream_lock_irq(substream); remove_wait_queue(&to_check->sleep, &wait); + if (card->shutdown) { + result = -ENODEV; + break; + } if (tout == 0) { if (substream->runtime->status->state == SNDRV_PCM_STATE_SUSPENDED) result = -ESTRPIPE; @@ -1633,6 +1645,7 @@ write_unlock_irq(&snd_pcm_link_rwlock); up_write(&snd_pcm_link_rwsem); _nolock: + snd_card_unref(substream1->pcm->card); fput(file); if (res < 0) kfree(group); @@ -2107,7 +2120,10 @@ return err; pcm = snd_lookup_minor_data(iminor(inode), SNDRV_DEVICE_TYPE_PCM_PLAYBACK); - return snd_pcm_open(file, pcm, SNDRV_PCM_STREAM_PLAYBACK); + err = snd_pcm_open(file, pcm, SNDRV_PCM_STREAM_PLAYBACK); + if (pcm) + snd_card_unref(pcm->card); + return err; } static int snd_pcm_capture_open(struct inode *inode, struct file *file) @@ -2118,7 +2134,10 @@ return err; pcm = snd_lookup_minor_data(iminor(inode), SNDRV_DEVICE_TYPE_PCM_CAPTURE); - return snd_pcm_open(file, pcm, SNDRV_PCM_STREAM_CAPTURE); + err = snd_pcm_open(file, pcm, SNDRV_PCM_STREAM_CAPTURE); + if (pcm) + snd_card_unref(pcm->card); + return err; } static int snd_pcm_open(struct file *file, struct snd_pcm *pcm, int stream) @@ -2155,6 +2174,10 @@ mutex_unlock(&pcm->open_mutex); schedule(); mutex_lock(&pcm->open_mutex); + if (pcm->card->shutdown) { + err = -ENODEV; + break; + } if (signal_pending(current)) { err = -ERESTARTSYS; break; --- linux-lowlatency-3.5.0.orig/sound/core/rawmidi.c +++ linux-lowlatency-3.5.0/sound/core/rawmidi.c @@ -379,8 +379,10 @@ if (rmidi == NULL) return -ENODEV; - if (!try_module_get(rmidi->card->module)) + if (!try_module_get(rmidi->card->module)) { + snd_card_unref(rmidi->card); return -ENXIO; + } mutex_lock(&rmidi->open_mutex); card = rmidi->card; @@ -422,6 +424,10 @@ mutex_unlock(&rmidi->open_mutex); schedule(); mutex_lock(&rmidi->open_mutex); + if (rmidi->card->shutdown) { + err = -ENODEV; + break; + } if (signal_pending(current)) { err = -ERESTARTSYS; break; @@ -440,6 +446,7 @@ #endif file->private_data = rawmidi_file; mutex_unlock(&rmidi->open_mutex); + snd_card_unref(rmidi->card); return 0; __error: @@ -447,6 +454,7 @@ __error_card: mutex_unlock(&rmidi->open_mutex); module_put(rmidi->card->module); + snd_card_unref(rmidi->card); return err; } @@ -991,6 +999,8 @@ spin_unlock_irq(&runtime->lock); schedule(); remove_wait_queue(&runtime->sleep, &wait); + if (rfile->rmidi->card->shutdown) + return -ENODEV; if (signal_pending(current)) return result > 0 ? result : -ERESTARTSYS; if (!runtime->avail) @@ -1234,6 +1244,8 @@ spin_unlock_irq(&runtime->lock); timeout = schedule_timeout(30 * HZ); remove_wait_queue(&runtime->sleep, &wait); + if (rfile->rmidi->card->shutdown) + return -ENODEV; if (signal_pending(current)) return result > 0 ? result : -ERESTARTSYS; if (!runtime->avail && !timeout) @@ -1609,9 +1621,20 @@ static int snd_rawmidi_dev_disconnect(struct snd_device *device) { struct snd_rawmidi *rmidi = device->device_data; + int dir; mutex_lock(®ister_mutex); + mutex_lock(&rmidi->open_mutex); + wake_up(&rmidi->open_wait); list_del_init(&rmidi->list); + for (dir = 0; dir < 2; dir++) { + struct snd_rawmidi_substream *s; + list_for_each_entry(s, &rmidi->streams[dir].substreams, list) { + if (s->runtime) + wake_up(&s->runtime->sleep); + } + } + #ifdef CONFIG_SND_OSSEMUL if (rmidi->ossreg) { if ((int)rmidi->device == midi_map[rmidi->card->number]) { @@ -1626,6 +1649,7 @@ } #endif /* CONFIG_SND_OSSEMUL */ snd_unregister_device(SNDRV_DEVICE_TYPE_RAWMIDI, rmidi->card, rmidi->device); + mutex_unlock(&rmidi->open_mutex); mutex_unlock(®ister_mutex); return 0; } --- linux-lowlatency-3.5.0.orig/sound/core/sound.c +++ linux-lowlatency-3.5.0/sound/core/sound.c @@ -99,6 +99,10 @@ * * Checks that a minor device with the specified type is registered, and returns * its user data pointer. + * + * This function increments the reference counter of the card instance + * if an associated instance with the given minor number and type is found. + * The caller must call snd_card_unref() appropriately later. */ void *snd_lookup_minor_data(unsigned int minor, int type) { @@ -109,9 +113,11 @@ return NULL; mutex_lock(&sound_mutex); mreg = snd_minors[minor]; - if (mreg && mreg->type == type) + if (mreg && mreg->type == type) { private_data = mreg->private_data; - else + if (private_data && mreg->card_ptr) + atomic_inc(&mreg->card_ptr->refcount); + } else private_data = NULL; mutex_unlock(&sound_mutex); return private_data; @@ -276,6 +282,7 @@ preg->device = dev; preg->f_ops = f_ops; preg->private_data = private_data; + preg->card_ptr = card; mutex_lock(&sound_mutex); #ifdef CONFIG_SND_DYNAMIC_MINORS minor = snd_find_free_minor(type); --- linux-lowlatency-3.5.0.orig/sound/core/sound_oss.c +++ linux-lowlatency-3.5.0/sound/core/sound_oss.c @@ -40,6 +40,9 @@ static struct snd_minor *snd_oss_minors[SNDRV_OSS_MINORS]; static DEFINE_MUTEX(sound_oss_mutex); +/* NOTE: This function increments the refcount of the associated card like + * snd_lookup_minor_data(); the caller must call snd_card_unref() appropriately + */ void *snd_lookup_oss_minor_data(unsigned int minor, int type) { struct snd_minor *mreg; @@ -49,9 +52,11 @@ return NULL; mutex_lock(&sound_oss_mutex); mreg = snd_oss_minors[minor]; - if (mreg && mreg->type == type) + if (mreg && mreg->type == type) { private_data = mreg->private_data; - else + if (private_data && mreg->card_ptr) + atomic_inc(&mreg->card_ptr->refcount); + } else private_data = NULL; mutex_unlock(&sound_oss_mutex); return private_data; @@ -123,6 +128,7 @@ preg->device = dev; preg->f_ops = f_ops; preg->private_data = private_data; + preg->card_ptr = card; mutex_lock(&sound_oss_mutex); snd_oss_minors[minor] = preg; minor_unit = SNDRV_MINOR_OSS_DEVICE(minor); --- linux-lowlatency-3.5.0.orig/sound/core/oss/mixer_oss.c +++ linux-lowlatency-3.5.0/sound/core/oss/mixer_oss.c @@ -52,14 +52,19 @@ SNDRV_OSS_DEVICE_TYPE_MIXER); if (card == NULL) return -ENODEV; - if (card->mixer_oss == NULL) + if (card->mixer_oss == NULL) { + snd_card_unref(card); return -ENODEV; + } err = snd_card_file_add(card, file); - if (err < 0) + if (err < 0) { + snd_card_unref(card); return err; + } fmixer = kzalloc(sizeof(*fmixer), GFP_KERNEL); if (fmixer == NULL) { snd_card_file_remove(card, file); + snd_card_unref(card); return -ENOMEM; } fmixer->card = card; @@ -68,8 +73,10 @@ if (!try_module_get(card->module)) { kfree(fmixer); snd_card_file_remove(card, file); + snd_card_unref(card); return -EFAULT; } + snd_card_unref(card); return 0; } --- linux-lowlatency-3.5.0.orig/sound/core/oss/pcm_oss.c +++ linux-lowlatency-3.5.0/sound/core/oss/pcm_oss.c @@ -2441,6 +2441,10 @@ mutex_unlock(&pcm->open_mutex); schedule(); mutex_lock(&pcm->open_mutex); + if (pcm->card->shutdown) { + err = -ENODEV; + break; + } if (signal_pending(current)) { err = -ERESTARTSYS; break; @@ -2450,6 +2454,7 @@ mutex_unlock(&pcm->open_mutex); if (err < 0) goto __error; + snd_card_unref(pcm->card); return err; __error: @@ -2457,6 +2462,8 @@ __error2: snd_card_file_remove(pcm->card, file); __error1: + if (pcm) + snd_card_unref(pcm->card); return err; } --- linux-lowlatency-3.5.0.orig/sound/drivers/aloop.c +++ linux-lowlatency-3.5.0/sound/drivers/aloop.c @@ -120,6 +120,7 @@ unsigned int last_drift; unsigned long last_jiffies; struct timer_list timer; + spinlock_t timer_lock; }; static struct platform_device *devices[SNDRV_CARDS]; @@ -170,6 +171,7 @@ unsigned long tick; unsigned int rate_shift = get_rate_shift(dpcm); + spin_lock(&dpcm->timer_lock); if (rate_shift != dpcm->pcm_rate_shift) { dpcm->pcm_rate_shift = rate_shift; dpcm->period_size_frac = frac_pos(dpcm, dpcm->pcm_period_size); @@ -182,12 +184,15 @@ tick = (tick + dpcm->pcm_bps - 1) / dpcm->pcm_bps; dpcm->timer.expires = jiffies + tick; add_timer(&dpcm->timer); + spin_unlock(&dpcm->timer_lock); } static inline void loopback_timer_stop(struct loopback_pcm *dpcm) { + spin_lock(&dpcm->timer_lock); del_timer(&dpcm->timer); dpcm->timer.expires = 0; + spin_unlock(&dpcm->timer_lock); } #define CABLE_VALID_PLAYBACK (1 << SNDRV_PCM_STREAM_PLAYBACK) @@ -667,6 +672,7 @@ dpcm->substream = substream; setup_timer(&dpcm->timer, loopback_timer_function, (unsigned long)dpcm); + spin_lock_init(&dpcm->timer_lock); cable = loopback->cables[substream->number][dev]; if (!cable) { --- linux-lowlatency-3.5.0.orig/sound/drivers/mpu401/mpu401_uart.c +++ linux-lowlatency-3.5.0/sound/drivers/mpu401/mpu401_uart.c @@ -554,6 +554,7 @@ spin_lock_init(&mpu->output_lock); spin_lock_init(&mpu->timer_lock); mpu->hardware = hardware; + mpu->irq = -1; if (! (info_flags & MPU401_INFO_INTEGRATED)) { int res_size = hardware == MPU401_HW_PC98II ? 4 : 2; mpu->res = request_region(port, res_size, "MPU401 UART"); --- linux-lowlatency-3.5.0.orig/sound/pci/hda/hda_codec.c +++ linux-lowlatency-3.5.0/sound/pci/hda/hda_codec.c @@ -2325,6 +2325,7 @@ } if (codec->patch_ops.free) codec->patch_ops.free(codec); + memset(&codec->patch_ops, 0, sizeof(codec->patch_ops)); snd_hda_jack_tbl_clear(codec); codec->proc_widget_hook = NULL; codec->spec = NULL; @@ -2340,7 +2341,6 @@ codec->num_pcms = 0; codec->pcm_info = NULL; codec->preset = NULL; - memset(&codec->patch_ops, 0, sizeof(codec->patch_ops)); codec->slave_dig_outs = NULL; codec->spdif_status_reset = 0; module_put(codec->owner); @@ -3542,7 +3542,7 @@ /* * call suspend and power-down; used both from PM and power-save */ -static void hda_call_codec_suspend(struct hda_codec *codec) +static void hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) { if (codec->patch_ops.suspend) codec->patch_ops.suspend(codec, PMSG_SUSPEND); @@ -3551,7 +3551,9 @@ codec->afg ? codec->afg : codec->mfg, AC_PWRST_D3); #ifdef CONFIG_SND_HDA_POWER_SAVE - cancel_delayed_work(&codec->power_work); + /* Cancel delayed work if we aren't currently running from it. */ + if (!in_wq) + cancel_delayed_work_sync(&codec->power_work); spin_lock(&codec->power_lock); snd_hda_update_power_acct(codec); trace_hda_power_down(codec); @@ -4372,7 +4374,7 @@ } spin_unlock(&codec->power_lock); - hda_call_codec_suspend(codec); + hda_call_codec_suspend(codec, true); if (bus->ops.pm_notify) bus->ops.pm_notify(bus); } @@ -4418,6 +4420,15 @@ cancel_delayed_work_sync(&codec->power_work); spin_lock(&codec->power_lock); + /* If the power down delayed work was cancelled above before starting, + * then there is no need to go through power up here. + */ + if (codec->power_on) { + if (codec->power_transition < 0) + codec->power_transition = 0; + spin_unlock(&codec->power_lock); + return; + } trace_hda_power_up(codec); snd_hda_update_power_acct(codec); codec->power_on = 1; @@ -5029,7 +5040,7 @@ list_for_each_entry(codec, &bus->codec_list, list) { if (hda_codec_is_power_on(codec)) - hda_call_codec_suspend(codec); + hda_call_codec_suspend(codec, false); } return 0; } --- linux-lowlatency-3.5.0.orig/sound/pci/hda/hda_intel.c +++ linux-lowlatency-3.5.0/sound/pci/hda/hda_intel.c @@ -151,6 +151,8 @@ "{Intel, CPT}," "{Intel, PPT}," "{Intel, LPT}," + "{Intel, LPT_LP}," + "{Intel, HPT}," "{Intel, PBG}," "{Intel, SCH}," "{ATI, SB450}," @@ -485,6 +487,7 @@ /* VGA-switcheroo setup */ unsigned int use_vga_switcheroo:1; + unsigned int vga_switcheroo_registered:1; unsigned int init_failed:1; /* delayed init failed */ unsigned int disabled:1; /* disabled by VGA-switcher */ @@ -2523,7 +2526,9 @@ if (disabled) { azx_suspend(pci, PMSG_FREEZE); chip->disabled = true; - snd_hda_lock_devices(chip->bus); + if (snd_hda_lock_devices(chip->bus)) + snd_printk(KERN_WARNING SFX + "Cannot lock devices!\n"); } else { snd_hda_unlock_devices(chip->bus); chip->disabled = false; @@ -2566,14 +2571,20 @@ static int __devinit register_vga_switcheroo(struct azx *chip) { + int err; + if (!chip->use_vga_switcheroo) return 0; /* FIXME: currently only handling DIS controller * is there any machine with two switchable HDMI audio controllers? */ - return vga_switcheroo_register_audio_client(chip->pci, &azx_vs_ops, + err = vga_switcheroo_register_audio_client(chip->pci, &azx_vs_ops, VGA_SWITCHEROO_DIS, chip->bus != NULL); + if (err < 0) + return err; + chip->vga_switcheroo_registered = 1; + return 0; } #else #define init_vga_switcheroo(chip) /* NOP */ @@ -2593,7 +2604,8 @@ if (use_vga_switcheroo(chip)) { if (chip->disabled && chip->bus) snd_hda_unlock_devices(chip->bus); - vga_switcheroo_unregister_client(chip->pci); + if (chip->vga_switcheroo_registered) + vga_switcheroo_unregister_client(chip->pci); } if (chip->initialized) { @@ -2935,14 +2947,6 @@ } ok: - err = register_vga_switcheroo(chip); - if (err < 0) { - snd_printk(KERN_ERR SFX - "Error registering VGA-switcheroo client\n"); - azx_free(chip); - return err; - } - err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); if (err < 0) { snd_printk(KERN_ERR SFX "Error creating device [card]!\n"); @@ -3169,6 +3173,13 @@ pci_set_drvdata(pci, card); + err = register_vga_switcheroo(chip); + if (err < 0) { + snd_printk(KERN_ERR SFX + "Error registering VGA-switcheroo client\n"); + goto out_free; + } + dev++; return 0; @@ -3256,6 +3267,21 @@ { PCI_DEVICE(0x8086, 0x8c20), .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_BUFSIZE}, + /* Lynx Point-LP */ + { PCI_DEVICE(0x8086, 0x9c20), + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | + AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_LPIB }, + /* Lynx Point-LP */ + { PCI_DEVICE(0x8086, 0x9c21), + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | + AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_LPIB }, + /* Haswell */ + { PCI_DEVICE(0x8086, 0x0c0c), + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | + AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_LPIB }, + { PCI_DEVICE(0x8086, 0x0d0c), + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | + AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_LPIB }, /* SCH */ { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | --- linux-lowlatency-3.5.0.orig/sound/pci/hda/hda_jack.c +++ linux-lowlatency-3.5.0/sound/pci/hda/hda_jack.c @@ -127,10 +127,15 @@ static void jack_detect_update(struct hda_codec *codec, struct hda_jack_tbl *jack) { - if (jack->jack_dirty || !jack->jack_detect) { + if (!jack->jack_dirty) + return; + + if (jack->phantom_jack) + jack->pin_sense = AC_PINSENSE_PRESENCE; + else jack->pin_sense = read_pin_sense(codec, jack->nid); - jack->jack_dirty = 0; - } + + jack->jack_dirty = 0; } /** @@ -264,8 +269,8 @@ * This assigns a jack-detection kctl to the given pin. The kcontrol * will have the given name and index. */ -int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid, - const char *name, int idx) +static int __snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid, + const char *name, int idx, bool phantom_jack) { struct hda_jack_tbl *jack; struct snd_kcontrol *kctl; @@ -283,19 +288,30 @@ if (err < 0) return err; jack->kctl = kctl; + jack->phantom_jack = !!phantom_jack; + state = snd_hda_jack_detect(codec, nid); snd_kctl_jack_report(codec->bus->card, kctl, state); #ifdef CONFIG_SND_HDA_INPUT_JACK - jack->type = get_input_jack_type(codec, nid); - err = snd_jack_new(codec->bus->card, name, jack->type, &jack->jack); - if (err < 0) - return err; - jack->jack->private_data = jack; - jack->jack->private_free = hda_free_jack_priv; - snd_jack_report(jack->jack, state ? jack->type : 0); + if (!phantom_jack) { + jack->type = get_input_jack_type(codec, nid); + err = snd_jack_new(codec->bus->card, name, jack->type, + &jack->jack); + if (err < 0) + return err; + jack->jack->private_data = jack; + jack->jack->private_free = hda_free_jack_priv; + snd_jack_report(jack->jack, state ? jack->type : 0); + } #endif return 0; } + +int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid, + const char *name, int idx) +{ + return __snd_hda_jack_add_kctl(codec, nid, name, idx, false); +} EXPORT_SYMBOL_HDA(snd_hda_jack_add_kctl); static int add_jack_kctl(struct hda_codec *codec, hda_nid_t nid, @@ -305,25 +321,32 @@ unsigned int def_conf, conn; char name[44]; int idx, err; + bool phantom_jack; if (!nid) return 0; - if (!is_jack_detectable(codec, nid)) - return 0; def_conf = snd_hda_codec_get_pincfg(codec, nid); conn = get_defcfg_connect(def_conf); - if (conn != AC_JACK_PORT_COMPLEX) + if (conn == AC_JACK_PORT_NONE) return 0; + phantom_jack = (conn != AC_JACK_PORT_COMPLEX) || + !is_jack_detectable(codec, nid); snd_hda_get_pin_label(codec, nid, cfg, name, sizeof(name), &idx); + if (phantom_jack) + /* Example final name: "Internal Mic Phantom Jack" */ + strncat(name, " Phantom", sizeof(name) - strlen(name) - 1); if (!strcmp(name, lastname) && idx == *lastidx) idx++; - strncpy(lastname, name, 44); + strncpy(lastname, name, sizeof(name)); *lastidx = idx; - err = snd_hda_jack_add_kctl(codec, nid, name, idx); + err = __snd_hda_jack_add_kctl(codec, nid, name, idx, phantom_jack); if (err < 0) return err; - return snd_hda_jack_detect_enable(codec, nid, 0); + + if (!phantom_jack) + return snd_hda_jack_detect_enable(codec, nid, 0); + return 0; } /** --- linux-lowlatency-3.5.0.orig/sound/pci/hda/hda_jack.h +++ linux-lowlatency-3.5.0/sound/pci/hda/hda_jack.h @@ -23,6 +23,7 @@ unsigned int pin_sense; /* cached pin-sense value */ unsigned int jack_detect:1; /* capable of jack-detection? */ unsigned int jack_dirty:1; /* needs to update? */ + unsigned int phantom_jack:1; /* a fixed, always present port? */ struct snd_kcontrol *kctl; /* assigned kctl for jack-detection */ #ifdef CONFIG_SND_HDA_INPUT_JACK int type; --- linux-lowlatency-3.5.0.orig/sound/pci/hda/hda_proc.c +++ linux-lowlatency-3.5.0/sound/pci/hda/hda_proc.c @@ -412,7 +412,7 @@ if (digi1 & AC_DIG1_EMPHASIS) snd_iprintf(buffer, " Preemphasis"); if (digi1 & AC_DIG1_COPYRIGHT) - snd_iprintf(buffer, " Copyright"); + snd_iprintf(buffer, " Non-Copyright"); if (digi1 & AC_DIG1_NONAUDIO) snd_iprintf(buffer, " Non-Audio"); if (digi1 & AC_DIG1_PROFESSIONAL) --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_analog.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_analog.c @@ -545,6 +545,7 @@ if (spec->multiout.dig_out_nid) { info++; codec->num_pcms++; + codec->spdif_status_reset = 1; info->name = "AD198x Digital"; info->pcm_type = HDA_PCM_TYPE_SPDIF; info->stream[SNDRV_PCM_STREAM_PLAYBACK] = ad198x_pcm_digital_playback; --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_ca0132.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_ca0132.c @@ -275,6 +275,10 @@ int type = dir ? HDA_INPUT : HDA_OUTPUT; struct snd_kcontrol_new knew = HDA_CODEC_MUTE_MONO(namestr, nid, chan, 0, type); + if ((query_amp_caps(codec, nid, type) & AC_AMPCAP_MUTE) == 0) { + snd_printdd("Skipping '%s %s Switch' (no mute on node 0x%x)\n", pfx, dirstr[dir], nid); + return 0; + } sprintf(namestr, "%s %s Switch", pfx, dirstr[dir]); return snd_hda_ctl_add(codec, nid, snd_ctl_new1(&knew, codec)); } @@ -286,6 +290,10 @@ int type = dir ? HDA_INPUT : HDA_OUTPUT; struct snd_kcontrol_new knew = HDA_CODEC_VOLUME_MONO(namestr, nid, chan, 0, type); + if ((query_amp_caps(codec, nid, type) & AC_AMPCAP_NUM_STEPS) == 0) { + snd_printdd("Skipping '%s %s Volume' (no amp on node 0x%x)\n", pfx, dirstr[dir], nid); + return 0; + } sprintf(namestr, "%s %s Volume", pfx, dirstr[dir]); return snd_hda_ctl_add(codec, nid, snd_ctl_new1(&knew, codec)); } --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_cirrus.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_cirrus.c @@ -96,8 +96,8 @@ #define CS420X_VENDOR_NID 0x11 #define CS_DIG_OUT1_PIN_NID 0x10 #define CS_DIG_OUT2_PIN_NID 0x15 -#define CS_DMIC1_PIN_NID 0x12 -#define CS_DMIC2_PIN_NID 0x0e +#define CS_DMIC1_PIN_NID 0x0e +#define CS_DMIC2_PIN_NID 0x12 /* coef indices */ #define IDX_SPDIF_STAT 0x0000 @@ -461,6 +461,7 @@ memcpy(cfg->speaker_pins, cfg->line_out_pins, sizeof(cfg->speaker_pins)); cfg->line_outs = 0; + memset(cfg->line_out_pins, 0, sizeof(cfg->line_out_pins)); } return 0; @@ -1074,14 +1075,18 @@ cs_automic(codec); coef = 0x000a; /* ADC1/2 - Digital and Analog Soft Ramp */ + cs_vendor_coef_set(codec, IDX_ADC_CFG, coef); + + coef = cs_vendor_coef_get(codec, IDX_BEEP_CFG); if (is_active_pin(codec, CS_DMIC2_PIN_NID)) - coef |= 0x0500; /* DMIC2 2 chan on, GPIO1 off */ + coef |= 1 << 4; /* DMIC2 2 chan on, GPIO1 off */ if (is_active_pin(codec, CS_DMIC1_PIN_NID)) - coef |= 0x1800; /* DMIC1 2 chan on, GPIO0 off + coef |= 1 << 3; /* DMIC1 2 chan on, GPIO0 off * No effect if SPDIF_OUT2 is * selected in IDX_SPDIF_CTL. */ - cs_vendor_coef_set(codec, IDX_ADC_CFG, coef); + + cs_vendor_coef_set(codec, IDX_BEEP_CFG, coef); } else { if (spec->mic_detect) cs_automic(codec); @@ -1102,7 +1107,7 @@ | 0x0400 /* Disable Coefficient Auto increment */ )}, /* Beep */ - {0x11, AC_VERB_SET_COEF_INDEX, IDX_DAC_CFG}, + {0x11, AC_VERB_SET_COEF_INDEX, IDX_BEEP_CFG}, {0x11, AC_VERB_SET_PROC_COEF, 0x0007}, /* Enable Beep thru DAC1/2/3 */ {} /* terminator */ @@ -1417,7 +1422,7 @@ return 0; error: - kfree(codec->spec); + cs_free(codec); codec->spec = NULL; return err; } @@ -1974,7 +1979,7 @@ return 0; error: - kfree(codec->spec); + cs_free(codec); codec->spec = NULL; return err; } @@ -1999,7 +2004,7 @@ return 0; error: - kfree(codec->spec); + cs_free(codec); codec->spec = NULL; return err; } --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_conexant.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_conexant.c @@ -2972,7 +2972,6 @@ SND_PCI_QUIRK(0x1028, 0x02d8, "Dell Vostro", CXT5066_DELL_VOSTRO), SND_PCI_QUIRK(0x1028, 0x02f5, "Dell Vostro 320", CXT5066_IDEAPAD), SND_PCI_QUIRK(0x1028, 0x0401, "Dell Vostro 1014", CXT5066_DELL_VOSTRO), - SND_PCI_QUIRK(0x1028, 0x0402, "Dell Vostro", CXT5066_DELL_VOSTRO), SND_PCI_QUIRK(0x1028, 0x0408, "Dell Inspiron One 19T", CXT5066_IDEAPAD), SND_PCI_QUIRK(0x1028, 0x050f, "Dell Inspiron", CXT5066_IDEAPAD), SND_PCI_QUIRK(0x1028, 0x0510, "Dell Vostro", CXT5066_IDEAPAD), @@ -3546,8 +3545,9 @@ hda_nid_t pin, hda_nid_t *srcp, bool do_select, int depth) { + struct conexant_spec *spec = codec->spec; hda_nid_t conn[HDA_MAX_NUM_INPUTS]; - int i, nums; + int startidx, i, nums; switch (get_wcaps_type(get_wcaps(codec, mux))) { case AC_WID_AUD_IN: @@ -3571,14 +3571,25 @@ depth++; if (depth == 2) return -1; + + /* Try to rotate around connections to avoid one boost controlling + another input path as well */ + startidx = 0; + for (i = 0; i < spec->private_imux.num_items; i++) + if (spec->imux_info[i].pin == pin) { + startidx = i; + break; + } + for (i = 0; i < nums; i++) { - int ret = __select_input_connection(codec, conn[i], pin, srcp, + int j = (i + startidx) % nums; + int ret = __select_input_connection(codec, conn[j], pin, srcp, do_select, depth); if (ret >= 0) { if (do_select) snd_hda_codec_write(codec, mux, 0, - AC_VERB_SET_CONNECT_SEL, i); - return i; + AC_VERB_SET_CONNECT_SEL, j); + return j; } } return -1; @@ -4268,7 +4279,7 @@ if (get_wcaps(codec, mux) & AC_WCAP_OUT_AMP) { spec->imux_info[idx].boost = mux; - return cx_auto_add_volume(codec, label, " Boost", 0, + return cx_auto_add_volume(codec, label, " Boost", cidx, mux, HDA_OUTPUT); } return 0; @@ -4468,6 +4479,7 @@ 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, 0x3975, "Lenovo U300s", CXT_FIXUP_STEREO_DMIC), + SND_PCI_QUIRK(0x17aa, 0x3977, "Lenovo IdeaPad U310", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x17aa, 0x397b, "Lenovo S205", CXT_FIXUP_STEREO_DMIC), {} }; --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_hdmi.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_hdmi.c @@ -876,7 +876,6 @@ struct hdmi_spec_per_pin *per_pin; struct hdmi_eld *eld; struct hdmi_spec_per_cvt *per_cvt = NULL; - int pinctl; /* Validate hinfo */ pin_idx = hinfo_to_pin_index(spec, hinfo); @@ -912,11 +911,6 @@ snd_hda_codec_write(codec, per_pin->pin_nid, 0, AC_VERB_SET_CONNECT_SEL, mux_idx); - pinctl = snd_hda_codec_read(codec, per_pin->pin_nid, 0, - AC_VERB_GET_PIN_WIDGET_CONTROL, 0); - snd_hda_codec_write(codec, per_pin->pin_nid, 0, - AC_VERB_SET_PIN_WIDGET_CONTROL, - pinctl | PIN_OUT); snd_hda_spdif_ctls_assign(codec, pin_idx, per_cvt->cvt_nid); /* Initially set the converter's capabilities */ @@ -1153,11 +1147,17 @@ struct hdmi_spec *spec = codec->spec; int pin_idx = hinfo_to_pin_index(spec, hinfo); hda_nid_t pin_nid = spec->pins[pin_idx].pin_nid; + int pinctl; hdmi_set_channel_count(codec, cvt_nid, substream->runtime->channels); hdmi_setup_audio_infoframe(codec, pin_idx, substream); + pinctl = snd_hda_codec_read(codec, pin_nid, 0, + AC_VERB_GET_PIN_WIDGET_CONTROL, 0); + snd_hda_codec_write(codec, pin_nid, 0, + AC_VERB_SET_PIN_WIDGET_CONTROL, pinctl | PIN_OUT); + return hdmi_setup_stream(codec, cvt_nid, pin_nid, stream_tag, format); } @@ -1323,6 +1323,30 @@ .unsol_event = hdmi_unsol_event, }; +static void intel_haswell_fixup_connect_list(struct hda_codec *codec) +{ + unsigned int vendor_param; + hda_nid_t list[3] = {0x2, 0x3, 0x4}; + + vendor_param = snd_hda_codec_read(codec, 0x08, 0, 0xf81, 0); + if (vendor_param == -1 || vendor_param & 0x02) + return; + + /* enable DP1.2 mode */ + vendor_param |= 0x02; + snd_hda_codec_read(codec, 0x08, 0, 0x781, vendor_param); + + vendor_param = snd_hda_codec_read(codec, 0x08, 0, 0xf81, 0); + if (vendor_param == -1 || !(vendor_param & 0x02)) + return; + + /* override 3 pins connection list */ + snd_hda_override_conn_list(codec, 0x05, 3, list); + snd_hda_override_conn_list(codec, 0x06, 3, list); + snd_hda_override_conn_list(codec, 0x07, 3, list); +} + + static int patch_generic_hdmi(struct hda_codec *codec) { struct hdmi_spec *spec; @@ -1332,6 +1356,10 @@ return -ENOMEM; codec->spec = spec; + + if (codec->vendor_id == 0x80862807) + intel_haswell_fixup_connect_list(codec); + if (hdmi_parse_codec(codec) < 0) { codec->spec = NULL; kfree(spec); @@ -1911,6 +1939,7 @@ { .id = 0x80862804, .name = "IbexPeak HDMI", .patch = patch_generic_hdmi }, { .id = 0x80862805, .name = "CougarPoint HDMI", .patch = patch_generic_hdmi }, { .id = 0x80862806, .name = "PantherPoint HDMI", .patch = patch_generic_hdmi }, +{ .id = 0x80862807, .name = "Haswell HDMI", .patch = patch_generic_hdmi }, { .id = 0x80862880, .name = "CedarTrail HDMI", .patch = patch_generic_hdmi }, { .id = 0x808629fb, .name = "Crestline HDMI", .patch = patch_generic_hdmi }, {} /* terminator */ @@ -1958,6 +1987,7 @@ MODULE_ALIAS("snd-hda-codec-id:80862804"); MODULE_ALIAS("snd-hda-codec-id:80862805"); MODULE_ALIAS("snd-hda-codec-id:80862806"); +MODULE_ALIAS("snd-hda-codec-id:80862807"); MODULE_ALIAS("snd-hda-codec-id:80862880"); MODULE_ALIAS("snd-hda-codec-id:808629fb"); --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_realtek.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_realtek.c @@ -170,10 +170,10 @@ hda_nid_t imux_pins[HDA_MAX_NUM_INPUTS]; unsigned int dyn_adc_idx[HDA_MAX_NUM_INPUTS]; int int_mic_idx, ext_mic_idx, dock_mic_idx; /* for auto-mic */ + hda_nid_t inv_dmic_pin; /* hooks */ void (*init_hook)(struct hda_codec *codec); - void (*unsol_event)(struct hda_codec *codec, unsigned int res); #ifdef CONFIG_SND_HDA_POWER_SAVE void (*power_hook)(struct hda_codec *codec); #endif @@ -201,6 +201,9 @@ unsigned int vol_in_capsrc:1; /* use capsrc volume (ADC has no vol) */ unsigned int parse_flags; /* passed to snd_hda_parse_pin_defcfg() */ unsigned int shared_mic_hp:1; /* HP/Mic-in sharing */ + unsigned int no_primary_hp:1; /* Don't prefer HP pins to speaker pins */ + unsigned int inv_dmic_fixup:1; /* has inverted digital-mic workaround */ + unsigned int inv_dmic_muted:1; /* R-ch of inv d-mic is muted? */ /* auto-mute control */ int automute_mode; @@ -298,6 +301,39 @@ } static void call_update_outputs(struct hda_codec *codec); +static void alc_inv_dmic_sync(struct hda_codec *codec, bool force); + +/* for shared I/O, change the pin-control accordingly */ +static void update_shared_mic_hp(struct hda_codec *codec, bool set_as_mic) +{ + struct alc_spec *spec = codec->spec; + unsigned int val; + hda_nid_t pin = spec->autocfg.inputs[1].pin; + /* NOTE: this assumes that there are only two inputs, the + * first is the real internal mic and the second is HP/mic jack. + */ + + val = snd_hda_get_default_vref(codec, pin); + + /* This pin does not have vref caps - let's enable vref on pin 0x18 + instead, as suggested by Realtek */ + if (val == AC_PINCTL_VREF_HIZ) { + const hda_nid_t vref_pin = 0x18; + /* Sanity check pin 0x18 */ + if (get_wcaps_type(get_wcaps(codec, vref_pin)) == AC_WID_PIN && + get_defcfg_connect(snd_hda_codec_get_pincfg(codec, vref_pin)) == AC_JACK_PORT_NONE) { + unsigned int vref_val = snd_hda_get_default_vref(codec, vref_pin); + if (vref_val != AC_PINCTL_VREF_HIZ) + snd_hda_set_pin_ctl(codec, vref_pin, PIN_IN | (set_as_mic ? vref_val : 0)); + } + } + + val = set_as_mic ? val | PIN_IN : PIN_HP; + snd_hda_set_pin_ctl(codec, pin, val); + + spec->automute_speaker = !set_as_mic; + call_update_outputs(codec); +} /* select the given imux item; either unmute exclusively or select the route */ static int alc_mux_select(struct hda_codec *codec, unsigned int adc_idx, @@ -325,21 +361,8 @@ return 0; spec->cur_mux[adc_idx] = idx; - /* for shared I/O, change the pin-control accordingly */ - if (spec->shared_mic_hp) { - unsigned int val; - hda_nid_t pin = spec->autocfg.inputs[1].pin; - /* NOTE: this assumes that there are only two inputs, the - * first is the real internal mic and the second is HP jack. - */ - if (spec->cur_mux[adc_idx]) - val = snd_hda_get_default_vref(codec, pin) | PIN_IN; - else - val = PIN_HP; - snd_hda_set_pin_ctl(codec, pin, val); - spec->automute_speaker = !spec->cur_mux[adc_idx]; - call_update_outputs(codec); - } + if (spec->shared_mic_hp) + update_shared_mic_hp(codec, spec->cur_mux[adc_idx]); if (spec->dyn_adc_switch) { alc_dyn_adc_pcm_resetup(codec, idx); @@ -368,6 +391,7 @@ AC_VERB_SET_CONNECT_SEL, imux->items[idx].index); } + alc_inv_dmic_sync(codec, true); return 1; } @@ -587,6 +611,8 @@ { struct alc_spec *spec = codec->spec; + if (spec->autocfg.line_out_type == AUTO_PIN_SPEAKER_OUT) + return; /* check LO jack only when it's different from HP */ if (spec->autocfg.line_out_pins[0] == spec->autocfg.hp_pins[0]) return; @@ -664,7 +690,7 @@ } /* unsolicited event for HP jack sensing */ -static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res) +static void alc_unsol_event(struct hda_codec *codec, unsigned int res) { int action; @@ -1000,11 +1026,9 @@ spec->automute_lo = spec->automute_lo_possible; spec->automute_speaker = spec->automute_speaker_possible; - if (spec->automute_speaker_possible || spec->automute_lo_possible) { + if (spec->automute_speaker_possible || spec->automute_lo_possible) /* create a control for automute mode */ alc_add_automute_mode_enum(codec); - spec->unsol_event = alc_sku_unsol_event; - } } /* return the position of NID in the list, or -1 if not found */ @@ -1167,7 +1191,6 @@ snd_printdd("realtek: Enable auto-mic switch on NID 0x%x/0x%x/0x%x\n", ext, fixed, dock); - spec->unsol_event = alc_sku_unsol_event; } /* check the availabilities of auto-mute and auto-mic switches */ @@ -1556,14 +1579,14 @@ static int alc_cap_getput_caller(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol, - getput_call_t func, bool check_adc_switch) + getput_call_t func, bool is_put) { struct hda_codec *codec = snd_kcontrol_chip(kcontrol); struct alc_spec *spec = codec->spec; int i, err = 0; mutex_lock(&codec->control_mutex); - if (check_adc_switch && spec->dyn_adc_switch) { + if (is_put && spec->dyn_adc_switch) { for (i = 0; i < spec->num_adc_nids; i++) { kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[i], @@ -1584,6 +1607,8 @@ 3, 0, HDA_INPUT); err = func(kcontrol, ucontrol); } + if (err >= 0 && is_put) + alc_inv_dmic_sync(codec, false); error: mutex_unlock(&codec->control_mutex); return err; @@ -1676,6 +1701,108 @@ DEFINE_CAPMIX_NOSRC(3); /* + * Inverted digital-mic handling + * + * First off, it's a bit tricky. The "Inverted Internal Mic Capture Switch" + * gives the additional mute only to the right channel of the digital mic + * capture stream. This is a workaround for avoiding the almost silence + * by summing the stereo stream from some (known to be ForteMedia) + * digital mic unit. + * + * The logic is to call alc_inv_dmic_sync() after each action (possibly) + * modifying ADC amp. When the mute flag is set, it mutes the R-channel + * without caching so that the cache can still keep the original value. + * The cached value is then restored when the flag is set off or any other + * than d-mic is used as the current input source. + */ +static void alc_inv_dmic_sync(struct hda_codec *codec, bool force) +{ + struct alc_spec *spec = codec->spec; + int i; + + if (!spec->inv_dmic_fixup) + return; + if (!spec->inv_dmic_muted && !force) + return; + for (i = 0; i < spec->num_adc_nids; i++) { + int src = spec->dyn_adc_switch ? 0 : i; + bool dmic_fixup = false; + hda_nid_t nid; + int parm, dir, v; + + if (spec->inv_dmic_muted && + spec->imux_pins[spec->cur_mux[src]] == spec->inv_dmic_pin) + dmic_fixup = true; + if (!dmic_fixup && !force) + continue; + if (spec->vol_in_capsrc) { + nid = spec->capsrc_nids[i]; + parm = AC_AMP_SET_RIGHT | AC_AMP_SET_OUTPUT; + dir = HDA_OUTPUT; + } else { + nid = spec->adc_nids[i]; + parm = AC_AMP_SET_RIGHT | AC_AMP_SET_INPUT; + dir = HDA_INPUT; + } + /* we care only right channel */ + v = snd_hda_codec_amp_read(codec, nid, 1, dir, 0); + if (v & 0x80) /* if already muted, we don't need to touch */ + continue; + if (dmic_fixup) /* add mute for d-mic */ + v |= 0x80; + snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, + parm | v); + } +} + +static int alc_inv_dmic_sw_get(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct hda_codec *codec = snd_kcontrol_chip(kcontrol); + struct alc_spec *spec = codec->spec; + + ucontrol->value.integer.value[0] = !spec->inv_dmic_muted; + return 0; +} + +static int alc_inv_dmic_sw_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct hda_codec *codec = snd_kcontrol_chip(kcontrol); + struct alc_spec *spec = codec->spec; + unsigned int val = !ucontrol->value.integer.value[0]; + + if (val == spec->inv_dmic_muted) + return 0; + spec->inv_dmic_muted = val; + alc_inv_dmic_sync(codec, true); + return 0; +} + +static const struct snd_kcontrol_new alc_inv_dmic_sw = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .info = snd_ctl_boolean_mono_info, + .get = alc_inv_dmic_sw_get, + .put = alc_inv_dmic_sw_put, +}; + +static int alc_add_inv_dmic_mixer(struct hda_codec *codec, hda_nid_t nid) +{ + struct alc_spec *spec = codec->spec; + struct snd_kcontrol_new *knew = alc_kcontrol_new(spec); + if (!knew) + return -ENOMEM; + *knew = alc_inv_dmic_sw; + knew->name = kstrdup("Inverted Internal Mic Capture Switch", GFP_KERNEL); + if (!knew->name) + return -ENOMEM; + spec->inv_dmic_fixup = 1; + spec->inv_dmic_muted = 0; + spec->inv_dmic_pin = nid; + return 0; +} + +/* * virtual master controls */ @@ -1865,13 +1992,31 @@ return 0; } -static int alc_build_controls(struct hda_codec *codec) +static int alc_build_jacks(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; + + if (spec->shared_mic_hp) { + int err; + int nid = spec->autocfg.inputs[1].pin; + err = snd_hda_jack_add_kctl(codec, nid, "Headphone Mic", 0); + if (err < 0) + return err; + err = snd_hda_jack_detect_enable(codec, nid, 0); + if (err < 0) + return err; + } + + return snd_hda_jack_add_kctls(codec, &spec->autocfg); +} + +static int alc_build_controls(struct hda_codec *codec) +{ int err = __alc_build_controls(codec); if (err < 0) return err; - err = snd_hda_jack_add_kctls(codec, &spec->autocfg); + + err = alc_build_jacks(codec); if (err < 0) return err; alc_apply_fixup(codec, ALC_FIXUP_ACT_BUILD); @@ -1908,14 +2053,6 @@ return 0; } -static void alc_unsol_event(struct hda_codec *codec, unsigned int res) -{ - struct alc_spec *spec = codec->spec; - - if (spec->unsol_event) - spec->unsol_event(codec, res); -} - #ifdef CONFIG_SND_HDA_POWER_SAVE static int alc_check_power_status(struct hda_codec *codec, hda_nid_t nid) { @@ -2317,6 +2454,7 @@ codec->patch_ops.init(codec); snd_hda_codec_resume_amp(codec); snd_hda_codec_resume_cache(codec); + alc_inv_dmic_sync(codec, true); hda_call_check_power_status(codec, 0x01); return 0; } @@ -2483,8 +2621,10 @@ return "PCM"; break; } - if (snd_BUG_ON(ch >= ARRAY_SIZE(channel_name))) + if (ch >= ARRAY_SIZE(channel_name)) { + snd_BUG(); return "PCM"; + } return channel_name[ch]; } @@ -4116,14 +4256,12 @@ */ static void alc_auto_init_std(struct hda_codec *codec) { - struct alc_spec *spec = codec->spec; alc_auto_init_multi_out(codec); alc_auto_init_extra_out(codec); alc_auto_init_analog_input(codec); alc_auto_init_input_src(codec); alc_auto_init_digital(codec); - if (spec->unsol_event) - alc_inithook(codec); + alc_inithook(codec); } /* @@ -4182,7 +4320,8 @@ return 0; /* can't find valid BIOS pin config */ } - if (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT && + if (!spec->no_primary_hp && + cfg->line_out_type == AUTO_PIN_SPEAKER_OUT && cfg->line_outs <= cfg->hp_outs) { /* use HP as primary out */ cfg->speaker_outs = cfg->line_outs; @@ -4724,7 +4863,6 @@ spec->automute_speaker = 1; spec->autocfg.hp_pins[0] = 0x0f; /* copy it for automute */ snd_hda_jack_detect_enable(codec, 0x0f, ALC_HP_EVENT); - spec->unsol_event = alc_sku_unsol_event; snd_hda_gen_add_verbs(&spec->gen, alc_gpio1_init_verbs); } } @@ -4909,6 +5047,7 @@ ALC889_FIXUP_DAC_ROUTE, ALC889_FIXUP_MBP_VREF, ALC889_FIXUP_IMAC91_VREF, + ALC882_FIXUP_NO_PRIMARY_HP, }; static void alc889_fixup_coef(struct hda_codec *codec, @@ -5030,6 +5169,17 @@ spec->keep_vref_in_automute = 1; } +/* Don't take HP output as primary + * strangely, the speaker output doesn't work on VAIO Z through DAC 0x05 + */ +static void alc882_fixup_no_primary_hp(struct hda_codec *codec, + const struct alc_fixup *fix, int action) +{ + struct alc_spec *spec = codec->spec; + if (action == ALC_FIXUP_ACT_PRE_PROBE) + spec->no_primary_hp = 1; +} + static const struct alc_fixup alc882_fixups[] = { [ALC882_FIXUP_ABIT_AW9D_MAX] = { .type = ALC_FIXUP_PINS, @@ -5212,6 +5362,10 @@ .chained = true, .chain_id = ALC882_FIXUP_GPIO1, }, + [ALC882_FIXUP_NO_PRIMARY_HP] = { + .type = ALC_FIXUP_FUNC, + .v.func = alc882_fixup_no_primary_hp, + }, }; static const struct snd_pci_quirk alc882_fixup_tbl[] = { @@ -5246,6 +5400,7 @@ SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_FIXUP_ASUS_W2JC), SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601), SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT), + SND_PCI_QUIRK(0x104d, 0x905a, "Sony Vaio Z", ALC882_FIXUP_NO_PRIMARY_HP), /* All Apple entries are in codec SSIDs */ SND_PCI_QUIRK(0x106b, 0x00a0, "MacBookPro 3,1", ALC889_FIXUP_MBP_VREF), @@ -5266,6 +5421,7 @@ SND_PCI_QUIRK(0x106b, 0x4000, "MacbookPro 5,1", ALC889_FIXUP_IMAC91_VREF), SND_PCI_QUIRK(0x106b, 0x4100, "Macmini 3,1", ALC889_FIXUP_IMAC91_VREF), SND_PCI_QUIRK(0x106b, 0x4200, "Mac Pro 5,1", ALC885_FIXUP_MACPRO_GPIO), + SND_PCI_QUIRK(0x106b, 0x4300, "iMac 9,1", ALC889_FIXUP_IMAC91_VREF), SND_PCI_QUIRK(0x106b, 0x4600, "MacbookPro 5,2", ALC889_FIXUP_IMAC91_VREF), SND_PCI_QUIRK(0x106b, 0x4900, "iMac 9,1 Aluminum", ALC889_FIXUP_IMAC91_VREF), SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC889_FIXUP_IMAC91_VREF), @@ -5286,6 +5442,7 @@ {.id = ALC882_FIXUP_ACER_ASPIRE_4930G, .name = "acer-aspire-4930g"}, {.id = ALC882_FIXUP_ACER_ASPIRE_8930G, .name = "acer-aspire-8930g"}, {.id = ALC883_FIXUP_ACER_EAPD, .name = "acer-aspire"}, + {.id = ALC882_FIXUP_NO_PRIMARY_HP, .name = "no-primary-hp"}, {} }; @@ -5522,6 +5679,33 @@ { } }; +enum { + ALC268_FIXUP_HP_EAPD, +}; + +static const struct alc_fixup alc268_fixups[] = { + [ALC268_FIXUP_HP_EAPD] = { + .type = ALC_FIXUP_VERBS, + .v.verbs = (const struct hda_verb[]) { + {0x15, AC_VERB_SET_EAPD_BTLENABLE, 0}, + {} + } + }, +}; + +static const struct alc_model_fixup alc268_fixup_models[] = { + {.id = ALC268_FIXUP_HP_EAPD, .name = "hp-eapd"}, + {} +}; + +static const struct snd_pci_quirk alc268_fixup_tbl[] = { + /* below is codec SSID since multiple Toshiba laptops have the + * same PCI SSID 1179:ff00 + */ + SND_PCI_QUIRK(0x1179, 0xff06, "Toshiba P200", ALC268_FIXUP_HP_EAPD), + {} +}; + /* * BIOS auto configuration */ @@ -5553,6 +5737,9 @@ spec = codec->spec; + alc_pick_fixup(codec, alc268_fixup_models, alc268_fixup_tbl, alc268_fixups); + alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE); + /* automatic parse from the BIOS config */ err = alc268_parse_auto_config(codec); if (err < 0) @@ -5582,6 +5769,8 @@ codec->patch_ops = alc_patch_ops; spec->shutup = alc_eapd_shutup; + alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE); + return 0; error: @@ -5649,7 +5838,7 @@ return alc_parse_auto_config(codec, alc269_ignore, ssids); } -static void alc269_toggle_power_output(struct hda_codec *codec, int power_up) +static void alc269vb_toggle_power_output(struct hda_codec *codec, int power_up) { int val = alc_read_coef_idx(codec, 0x04); if (power_up) @@ -5666,10 +5855,10 @@ if (spec->codec_variant != ALC269_TYPE_ALC269VB) return; - if ((alc_get_coef0(codec) & 0x00ff) == 0x017) - alc269_toggle_power_output(codec, 0); - if ((alc_get_coef0(codec) & 0x00ff) == 0x018) { - alc269_toggle_power_output(codec, 0); + if (spec->codec_variant == ALC269_TYPE_ALC269VB) + alc269vb_toggle_power_output(codec, 0); + if (spec->codec_variant == ALC269_TYPE_ALC269VB && + (alc_get_coef0(codec) & 0x00ff) == 0x018) { msleep(150); } } @@ -5679,24 +5868,22 @@ { struct alc_spec *spec = codec->spec; - if (spec->codec_variant == ALC269_TYPE_ALC269VB || + if (spec->codec_variant == ALC269_TYPE_ALC269VB) + alc269vb_toggle_power_output(codec, 0); + if (spec->codec_variant == ALC269_TYPE_ALC269VB && (alc_get_coef0(codec) & 0x00ff) == 0x018) { - alc269_toggle_power_output(codec, 0); msleep(150); } codec->patch_ops.init(codec); - if (spec->codec_variant == ALC269_TYPE_ALC269VB || + if (spec->codec_variant == ALC269_TYPE_ALC269VB) + alc269vb_toggle_power_output(codec, 1); + if (spec->codec_variant == ALC269_TYPE_ALC269VB && (alc_get_coef0(codec) & 0x00ff) == 0x017) { - alc269_toggle_power_output(codec, 1); msleep(200); } - if (spec->codec_variant == ALC269_TYPE_ALC269VB || - (alc_get_coef0(codec) & 0x00ff) == 0x018) - alc269_toggle_power_output(codec, 1); - snd_hda_codec_resume_amp(codec); snd_hda_codec_resume_cache(codec); hda_call_check_power_status(codec, 0x01); @@ -5704,6 +5891,15 @@ } #endif /* CONFIG_PM */ +static void alc269_fixup_pincfg_no_hp_to_lineout(struct hda_codec *codec, + const struct alc_fixup *fix, int action) +{ + struct alc_spec *spec = codec->spec; + + if (action == ALC_FIXUP_ACT_PRE_PROBE) + spec->parse_flags = HDA_PINCFG_NO_HP_FIXUP; +} + static void alc269_fixup_hweq(struct hda_codec *codec, const struct alc_fixup *fix, int action) { @@ -5810,6 +6006,14 @@ } } +static void alc269_fixup_inv_dmic(struct hda_codec *codec, + const struct alc_fixup *fix, int action) +{ + if (action == ALC_FIXUP_ACT_PROBE) + alc_add_inv_dmic_mixer(codec, 0x12); +} + + enum { ALC269_FIXUP_SONY_VAIO, ALC275_FIXUP_SONY_VAIO_GPIO2, @@ -5828,6 +6032,9 @@ ALC269VB_FIXUP_AMIC, ALC269VB_FIXUP_DMIC, ALC269_FIXUP_MIC2_MUTE_LED, + ALC269_FIXUP_LENOVO_DOCK, + ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT, + ALC269_FIXUP_INV_DMIC, }; static const struct alc_fixup alc269_fixups[] = { @@ -5889,6 +6096,8 @@ [ALC269_FIXUP_PCM_44K] = { .type = ALC_FIXUP_FUNC, .v.func = alc269_fixup_pcm_44k, + .chained = true, + .chain_id = ALC269_FIXUP_QUANTA_MUTE }, [ALC269_FIXUP_STEREO_DMIC] = { .type = ALC_FIXUP_FUNC, @@ -5952,12 +6161,33 @@ .type = ALC_FIXUP_FUNC, .v.func = alc269_fixup_mic2_mute, }, + [ALC269_FIXUP_LENOVO_DOCK] = { + .type = ALC_FIXUP_PINS, + .v.pins = (const struct alc_pincfg[]) { + { 0x19, 0x23a11040 }, /* dock mic */ + { 0x1b, 0x2121103f }, /* dock headphone */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT + }, + [ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT] = { + .type = ALC_FIXUP_FUNC, + .v.func = alc269_fixup_pincfg_no_hp_to_lineout, + }, + [ALC269_FIXUP_INV_DMIC] = { + .type = ALC_FIXUP_FUNC, + .v.func = alc269_fixup_inv_dmic, + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { + SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC), + SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC), SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_MIC2_MUTE_LED), SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_DMIC), SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), + SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC), SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x1043, 0x834a, "ASUS S101", ALC269_FIXUP_STEREO_DMIC), @@ -5975,8 +6205,12 @@ SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE), - SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_QUANTA_MUTE), - SND_PCI_QUIRK(0x17aa, 0x3bf8, "Lenovo Ideapd", ALC269_FIXUP_PCM_44K), + SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK), + SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK), + SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK), + SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK), + SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK), + SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K), SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), #if 0 @@ -6033,6 +6267,7 @@ static const struct alc_model_fixup alc269_fixup_models[] = { {.id = ALC269_FIXUP_AMIC, .name = "laptop-amic"}, {.id = ALC269_FIXUP_DMIC, .name = "laptop-dmic"}, + {.id = ALC269_FIXUP_LENOVO_DOCK, .name = "lenovo-dock"}, {} }; @@ -6094,6 +6329,12 @@ spec = codec->spec; + alc_pick_fixup(codec, alc269_fixup_models, + alc269_fixup_tbl, alc269_fixups); + alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE); + + alc_auto_parse_customize_define(codec); + if (codec->vendor_id == 0x10ec0269) { spec->codec_variant = ALC269_TYPE_ALC269VA; switch (alc_get_coef0(codec) & 0x00f0) { @@ -6121,12 +6362,6 @@ alc269_fill_coef(codec); } - alc_pick_fixup(codec, alc269_fixup_models, - alc269_fixup_tbl, alc269_fixups); - alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE); - - alc_auto_parse_customize_define(codec); - /* automatic parse from the BIOS config */ err = alc269_parse_auto_config(codec); if (err < 0) @@ -6426,6 +6661,8 @@ "hda_codec: failed to override amp caps for NID 0x2\n"); } +#define alc662_fixup_inv_dmic alc269_fixup_inv_dmic + enum { ALC662_FIXUP_ASPIRE, ALC662_FIXUP_IDEAPAD, @@ -6443,6 +6680,7 @@ ALC662_FIXUP_ASUS_MODE8, ALC662_FIXUP_NO_JACK_DETECT, ALC662_FIXUP_ZOTAC_Z68, + ALC662_FIXUP_INV_DMIC, }; static const struct alc_fixup alc662_fixups[] = { @@ -6599,12 +6837,17 @@ { } } }, + [ALC662_FIXUP_INV_DMIC] = { + .type = ALC_FIXUP_FUNC, + .v.func = alc662_fixup_inv_dmic, + }, }; static const struct snd_pci_quirk alc662_fixup_tbl[] = { SND_PCI_QUIRK(0x1019, 0x9087, "ECS", ALC662_FIXUP_ASUS_MODE2), SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), SND_PCI_QUIRK(0x1025, 0x031c, "Gateway NV79", ALC662_FIXUP_SKU_IGNORE), + SND_PCI_QUIRK(0x1025, 0x0349, "eMachines eM250", ALC662_FIXUP_INV_DMIC), SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT), @@ -6831,6 +7074,10 @@ { .id = 0x10ec0275, .name = "ALC275", .patch = patch_alc269 }, { .id = 0x10ec0276, .name = "ALC276", .patch = patch_alc269 }, { .id = 0x10ec0280, .name = "ALC280", .patch = patch_alc269 }, + { .id = 0x10ec0282, .name = "ALC282", .patch = patch_alc269 }, + { .id = 0x10ec0283, .name = "ALC283", .patch = patch_alc269 }, + { .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 }, + { .id = 0x10ec0292, .name = "ALC292", .patch = patch_alc269 }, { .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660", .patch = patch_alc861 }, { .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd }, @@ -6844,6 +7091,7 @@ .patch = patch_alc662 }, { .id = 0x10ec0663, .name = "ALC663", .patch = patch_alc662 }, { .id = 0x10ec0665, .name = "ALC665", .patch = patch_alc662 }, + { .id = 0x10ec0668, .name = "ALC668", .patch = patch_alc662 }, { .id = 0x10ec0670, .name = "ALC670", .patch = patch_alc662 }, { .id = 0x10ec0680, .name = "ALC680", .patch = patch_alc680 }, { .id = 0x10ec0880, .name = "ALC880", .patch = patch_alc880 }, @@ -6861,6 +7109,7 @@ { .id = 0x10ec0889, .name = "ALC889", .patch = patch_alc882 }, { .id = 0x10ec0892, .name = "ALC892", .patch = patch_alc662 }, { .id = 0x10ec0899, .name = "ALC898", .patch = patch_alc882 }, + { .id = 0x10ec0900, .name = "ALC1150", .patch = patch_alc882 }, {} /* terminator */ }; --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_sigmatel.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_sigmatel.c @@ -101,6 +101,8 @@ STAC_92HD83XXX_HP_cNB11_INTQUAD, STAC_HP_DV7_4000, STAC_HP_ZEPHYR, + STAC_92HD83XXX_HP_LED, + STAC_92HD83XXX_HP_INV_LED, STAC_92HD83XXX_MODELS }; @@ -1073,7 +1075,7 @@ static const char * const slave_pfxs[] = { "Front", "Surround", "Center", "LFE", "Side", - "Headphone", "Speaker", "IEC958", + "Headphone", "Speaker", "IEC958", "PCM", NULL }; @@ -1675,6 +1677,8 @@ [STAC_92HD83XXX_HP_cNB11_INTQUAD] = "hp_cNB11_intquad", [STAC_HP_DV7_4000] = "hp-dv7-4000", [STAC_HP_ZEPHYR] = "hp-zephyr", + [STAC_92HD83XXX_HP_LED] = "hp-led", + [STAC_92HD83XXX_HP_INV_LED] = "hp-inv-led", }; static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { @@ -1729,6 +1733,8 @@ "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3561, "HP", STAC_HP_ZEPHYR), + SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3660, + "HP Mini", STAC_92HD83XXX_HP_LED), {} /* terminator */ }; @@ -3220,9 +3226,12 @@ idx = i; break; case AUTO_PIN_SPEAKER_OUT: - name = "Speaker"; - idx = i; - break; + if (num_outs <= 1) { + name = "Speaker"; + idx = i; + break; + } + /* Fall through in case of multi speaker outs */ default: name = chname[i]; idx = 0; @@ -4266,7 +4275,8 @@ unsigned int gpio; int i; - snd_hda_sequence_write(codec, spec->init); + if (spec->init) + snd_hda_sequence_write(codec, spec->init); /* power down adcs initially */ if (spec->powerdown_adcs) @@ -4414,7 +4424,12 @@ snd_hda_jack_report_sync(codec); /* sync mute LED */ - snd_hda_sync_vmaster_hook(&spec->vmaster_mute); + if (spec->gpio_led) { + if (spec->vmaster_mute.hook) + snd_hda_sync_vmaster_hook(&spec->vmaster_mute); + else /* the very first init call doesn't have vmaster yet */ + stac92xx_update_led_status(codec, false); + } /* sync the power-map */ if (spec->num_pwrs) @@ -4531,6 +4546,9 @@ struct auto_pin_cfg *cfg = &spec->autocfg; int i; + if (cfg->speaker_outs == 0) + return; + for (i = 0; i < cfg->line_outs; i++) { if (presence) break; @@ -5507,6 +5525,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) { struct sigmatel_spec *spec; + int default_polarity = -1; /* no default cfg */ int err; spec = kzalloc(sizeof(*spec), GFP_KERNEL); @@ -5555,9 +5574,15 @@ case STAC_HP_ZEPHYR: spec->init = stac92hd83xxx_hp_zephyr_init; break; + case STAC_92HD83XXX_HP_LED: + default_polarity = 0; + break; + case STAC_92HD83XXX_HP_INV_LED: + default_polarity = 1; + break; } - if (find_mute_led_cfg(codec, -1/*no default cfg*/)) + if (find_mute_led_cfg(codec, default_polarity)) snd_printd("mute LED gpio %d polarity %d\n", spec->gpio_led, spec->gpio_led_polarity); @@ -5730,7 +5755,6 @@ /* fallthru */ case 0x111d76b4: /* 6 Port without Analog Mixer */ case 0x111d76b5: - spec->init = stac92hd71bxx_core_init; codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; spec->num_dmics = stac92xx_connected_ports(codec, stac92hd71bxx_dmic_nids, @@ -5755,7 +5779,6 @@ spec->stream_delay = 40; /* 40 milliseconds */ /* disable VSW */ - spec->init = stac92hd71bxx_core_init; unmute_init++; snd_hda_codec_set_pincfg(codec, 0x0f, 0x40f000f0); snd_hda_codec_set_pincfg(codec, 0x19, 0x40f000f3); @@ -5770,7 +5793,6 @@ /* fallthru */ default: - spec->init = stac92hd71bxx_core_init; codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; spec->num_dmics = stac92xx_connected_ports(codec, stac92hd71bxx_dmic_nids, @@ -5778,6 +5800,9 @@ break; } + if (get_wcaps_type(get_wcaps(codec, 0x28)) == AC_WID_VOL_KNB) + spec->init = stac92hd71bxx_core_init; + if (get_wcaps(codec, 0xa) & AC_WCAP_IN_AMP) snd_hda_sequence_write_cache(codec, unmute_init); --- linux-lowlatency-3.5.0.orig/sound/pci/hda/patch_via.c +++ linux-lowlatency-3.5.0/sound/pci/hda/patch_via.c @@ -118,6 +118,8 @@ }; struct via_spec { + struct hda_gen_spec gen; + /* codec parameterization */ const struct snd_kcontrol_new *mixers[6]; unsigned int num_mixers; @@ -246,6 +248,7 @@ /* VT1708BCE & VT1708S are almost same */ if (spec->codec_type == VT1708BCE) spec->codec_type = VT1708S; + snd_hda_gen_init(&spec->gen); return spec; } @@ -1628,6 +1631,7 @@ vt1708_stop_hp_work(spec); kfree(spec->bind_cap_vol); kfree(spec->bind_cap_sw); + snd_hda_gen_free(&spec->gen); kfree(spec); } @@ -1672,7 +1676,8 @@ struct via_spec *spec = codec->spec; if (!spec->hp_independent_mode && spec->autocfg.hp_pins[0] && - (spec->codec_type != VT1708 || spec->vt1708_jack_detect)) + (spec->codec_type != VT1708 || spec->vt1708_jack_detect) && + is_jack_detectable(codec, spec->autocfg.hp_pins[0])) present = snd_hda_jack_detect(codec, spec->autocfg.hp_pins[0]); if (spec->smart51_enabled) @@ -1752,6 +1757,14 @@ { struct via_spec *spec = codec->spec; vt1708_stop_hp_work(spec); + + if (spec->codec_type == VT1802) { + /* Fix pop noise on headphones */ + int i; + for (i = 0; i < spec->autocfg.hp_outs; i++) + snd_hda_set_pin_ctl(codec, spec->autocfg.hp_pins[i], 0); + } + return 0; } #endif @@ -1862,11 +1875,11 @@ { struct via_spec *spec = codec->spec; const struct auto_pin_cfg *cfg = &spec->autocfg; - int i, dac_num; + int i; hda_nid_t nid; + spec->multiout.num_dacs = 0; spec->multiout.dac_nids = spec->private_dac_nids; - dac_num = 0; for (i = 0; i < cfg->line_outs; i++) { hda_nid_t dac = 0; nid = cfg->line_out_pins[i]; @@ -1877,16 +1890,13 @@ if (!i && parse_output_path(codec, nid, dac, 1, &spec->out_mix_path)) dac = spec->out_mix_path.path[0]; - if (dac) { - spec->private_dac_nids[i] = dac; - dac_num++; - } + if (dac) + spec->private_dac_nids[spec->multiout.num_dacs++] = dac; } if (!spec->out_path[0].depth && spec->out_mix_path.depth) { spec->out_path[0] = spec->out_mix_path; spec->out_mix_path.depth = 0; } - spec->multiout.num_dacs = dac_num; return 0; } @@ -3226,7 +3236,7 @@ { struct via_spec *spec = codec->spec; int imux_is_smixer; - unsigned int parm; + unsigned int parm, parm2; /* MUX6 (1eh) = stereo mixer */ imux_is_smixer = snd_hda_codec_read(codec, 0x1e, 0, AC_VERB_GET_CONNECT_SEL, 0x00) == 5; @@ -3249,7 +3259,7 @@ parm = AC_PWRST_D3; set_pin_power_state(codec, 0x27, &parm); update_power_state(codec, 0x1a, parm); - update_power_state(codec, 0xb, parm); + parm2 = parm; /* for pin 0x0b */ /* PW2 (26h), AOW2 (ah) */ parm = AC_PWRST_D3; @@ -3264,6 +3274,9 @@ if (!spec->hp_independent_mode) /* check for redirected HP */ set_pin_power_state(codec, 0x28, &parm); update_power_state(codec, 0x8, parm); + if (!spec->hp_independent_mode && parm2 != AC_PWRST_D3) + parm = parm2; + update_power_state(codec, 0xb, parm); /* MW9 (21h), Mw2 (1ah), AOW0 (8h) */ update_power_state(codec, 0x21, imux_is_smixer ? AC_PWRST_D0 : parm); @@ -3658,6 +3671,44 @@ update_power_state(codec, 0x21, AC_PWRST_D3); } +/* + * pin fix-up + */ +enum { + VIA_FIXUP_INTMIC_BOOST, +}; + +static void via_fixup_intmic_boost(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action == HDA_FIXUP_ACT_PRE_PROBE) + override_mic_boost(codec, 0x30, 0, 2, 40); +} + +static const struct hda_fixup via_fixups[] = { + [VIA_FIXUP_INTMIC_BOOST] = { + .type = HDA_FIXUP_FUNC, + .v.func = via_fixup_intmic_boost, + }, +}; + +static const struct snd_pci_quirk vt2002p_fixups[] = { + SND_PCI_QUIRK(0x1043, 0x8532, "Asus X202E", VIA_FIXUP_INTMIC_BOOST), + {} +}; + +/* NIDs 0x24 and 0x33 on VT1802 have connections to non-existing NID 0x3e + * Replace this with mixer NID 0x1c + */ +static void fix_vt1802_connections(struct hda_codec *codec) +{ + static hda_nid_t conn_24[] = { 0x14, 0x1c }; + static hda_nid_t conn_33[] = { 0x1c }; + + snd_hda_override_conn_list(codec, 0x24, ARRAY_SIZE(conn_24), conn_24); + snd_hda_override_conn_list(codec, 0x33, ARRAY_SIZE(conn_33), conn_33); +} + /* patch for vt2002P */ static int patch_vt2002P(struct hda_codec *codec) { @@ -3672,8 +3723,13 @@ spec->aa_mix_nid = 0x21; override_mic_boost(codec, 0x2b, 0, 3, 40); override_mic_boost(codec, 0x29, 0, 3, 40); + if (spec->codec_type == VT1802) + fix_vt1802_connections(codec); add_secret_dac_path(codec); + snd_hda_pick_fixup(codec, NULL, vt2002p_fixups, via_fixups); + snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); + /* automatic parse from the BIOS config */ err = via_parse_auto_config(codec); if (err < 0) { --- linux-lowlatency-3.5.0.orig/sound/pci/ice1712/prodigy_hifi.c +++ linux-lowlatency-3.5.0/sound/pci/ice1712/prodigy_hifi.c @@ -297,6 +297,7 @@ } static const DECLARE_TLV_DB_SCALE(db_scale_wm_dac, -12700, 100, 1); +static const DECLARE_TLV_DB_LINEAR(ak4396_db_scale, TLV_DB_GAIN_MUTE, 0); static struct snd_kcontrol_new prodigy_hd2_controls[] __devinitdata = { { @@ -307,7 +308,7 @@ .info = ak4396_dac_vol_info, .get = ak4396_dac_vol_get, .put = ak4396_dac_vol_put, - .tlv = { .p = db_scale_wm_dac }, + .tlv = { .p = ak4396_db_scale }, }, }; --- linux-lowlatency-3.5.0.orig/sound/soc/Makefile +++ linux-lowlatency-3.5.0/sound/soc/Makefile @@ -1,8 +1,9 @@ snd-soc-core-objs := soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o snd-soc-core-objs += soc-pcm.o soc-io.o -snd-soc-dmaengine-pcm-objs := soc-dmaengine-pcm.o -obj-$(CONFIG_SND_SOC_DMAENGINE_PCM) += snd-soc-dmaengine-pcm.o +ifneq ($(CONFIG_SND_SOC_DMAENGINE_PCM),) +snd-soc-core-objs += soc-dmaengine-pcm.o +endif obj-$(CONFIG_SND_SOC) += snd-soc-core.o obj-$(CONFIG_SND_SOC) += codecs/ --- linux-lowlatency-3.5.0.orig/sound/soc/soc-core.c +++ linux-lowlatency-3.5.0/sound/soc/soc-core.c @@ -2692,8 +2692,9 @@ val = (ucontrol->value.integer.value[0] + min) & mask; val = val << shift; - if (snd_soc_update_bits_locked(codec, reg, val_mask, val)) - return err; + err = snd_soc_update_bits_locked(codec, reg, val_mask, val); + if (err < 0) + return err; if (snd_soc_volsw_is_stereo(mc)) { val_mask = mask << rshift; --- linux-lowlatency-3.5.0.orig/sound/soc/soc-dapm.c +++ linux-lowlatency-3.5.0/sound/soc/soc-dapm.c @@ -1570,7 +1570,15 @@ } list_for_each_entry(w, &card->widgets, list) { - list_del_init(&w->dirty); + switch (w->id) { + case snd_soc_dapm_pre: + case snd_soc_dapm_post: + /* These widgets always need to be powered */ + break; + default: + list_del_init(&w->dirty); + break; + } if (w->power) { d = w->dapm; @@ -3538,10 +3546,13 @@ static void soc_dapm_shutdown_codec(struct snd_soc_dapm_context *dapm) { + struct snd_soc_card *card = dapm->card; struct snd_soc_dapm_widget *w; LIST_HEAD(down_list); int powerdown = 0; + mutex_lock(&card->dapm_mutex); + list_for_each_entry(w, &dapm->card->widgets, list) { if (w->dapm != dapm) continue; @@ -3564,6 +3575,8 @@ snd_soc_dapm_set_bias_level(dapm, SND_SOC_BIAS_STANDBY); } + + mutex_unlock(&card->dapm_mutex); } /* @@ -3573,7 +3586,7 @@ { struct snd_soc_codec *codec; - list_for_each_entry(codec, &card->codec_dev_list, list) { + list_for_each_entry(codec, &card->codec_dev_list, card_list) { soc_dapm_shutdown_codec(&codec->dapm); if (codec->dapm.bias_level == SND_SOC_BIAS_STANDBY) snd_soc_dapm_set_bias_level(&codec->dapm, --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/wm2000.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/wm2000.c @@ -675,7 +675,7 @@ #endif static const struct regmap_config wm2000_regmap = { - .reg_bits = 8, + .reg_bits = 16, .val_bits = 8, }; --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/wm2200.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/wm2200.c @@ -1028,7 +1028,7 @@ WM2200_DAC_DIGITAL_VOLUME_2R, WM2200_OUT2L_VOL_SHIFT, 0x9f, 0, digital_tlv), SOC_DOUBLE("OUT2 Switch", WM2200_PDM_1, WM2200_SPK1L_MUTE_SHIFT, - WM2200_SPK1R_MUTE_SHIFT, 1, 0), + WM2200_SPK1R_MUTE_SHIFT, 1, 1), }; WM2200_MIXER_ENUMS(OUT1L, WM2200_OUT1LMIX_INPUT_1_SOURCE); @@ -2091,6 +2091,7 @@ switch (wm2200->rev) { case 0: + case 1: ret = regmap_register_patch(wm2200->regmap, wm2200_reva_patch, ARRAY_SIZE(wm2200_reva_patch)); if (ret != 0) { --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/wm8962.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/wm8962.c @@ -2501,6 +2501,9 @@ /* VMID 2*250k */ snd_soc_update_bits(codec, WM8962_PWR_MGMT_1, WM8962_VMID_SEL_MASK, 0x100); + + if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) + msleep(100); break; case SND_SOC_BIAS_OFF: @@ -3722,6 +3725,9 @@ } regcache_cache_only(wm8962->regmap, false); + + wm8962_reset(wm8962); + regcache_sync(wm8962->regmap); regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP, --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/wm8978.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/wm8978.c @@ -782,7 +782,7 @@ wm8978->mclk_idx = -1; f_sel = wm8978->f_mclk; } else { - if (!wm8978->f_pllout) { + if (!wm8978->f_opclk) { /* We only enter here, if OPCLK is not used */ int ret = wm8978_configure_pll(codec); if (ret < 0) --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/wm8994.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/wm8994.c @@ -2649,7 +2649,7 @@ return -EINVAL; } - bclk_rate = params_rate(params) * 2; + bclk_rate = params_rate(params) * 4; switch (params_format(params)) { case SNDRV_PCM_FORMAT_S16_LE: bclk_rate *= 16; --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/wm9712.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/wm9712.c @@ -146,7 +146,7 @@ SOC_SINGLE("Bass Volume", AC97_MASTER_TONE, 8, 15, 1), SOC_SINGLE("Treble Volume", AC97_MASTER_TONE, 0, 15, 1), -SOC_SINGLE("Capture ADC Switch", AC97_REC_GAIN, 15, 1, 1), +SOC_SINGLE("Capture Switch", AC97_REC_GAIN, 15, 1, 1), SOC_ENUM("Capture Volume Steps", wm9712_enum[6]), SOC_DOUBLE("Capture Volume", AC97_REC_GAIN, 8, 0, 63, 1), SOC_SINGLE("Capture ZC Switch", AC97_REC_GAIN, 7, 1, 0), @@ -272,7 +272,7 @@ /* Mic select */ static const struct snd_kcontrol_new wm9712_mic_src_controls = -SOC_DAPM_ENUM("Route", wm9712_enum[7]); +SOC_DAPM_ENUM("Mic Source Select", wm9712_enum[7]); /* diff select */ static const struct snd_kcontrol_new wm9712_diff_sel_controls = @@ -291,7 +291,9 @@ &wm9712_capture_selectl_controls), SND_SOC_DAPM_MUX("Right Capture Select", SND_SOC_NOPM, 0, 0, &wm9712_capture_selectr_controls), -SND_SOC_DAPM_MUX("Mic Select Source", SND_SOC_NOPM, 0, 0, +SND_SOC_DAPM_MUX("Left Mic Select Source", SND_SOC_NOPM, 0, 0, + &wm9712_mic_src_controls), +SND_SOC_DAPM_MUX("Right Mic Select Source", SND_SOC_NOPM, 0, 0, &wm9712_mic_src_controls), SND_SOC_DAPM_MUX("Differential Source", SND_SOC_NOPM, 0, 0, &wm9712_diff_sel_controls), @@ -319,6 +321,7 @@ SND_SOC_DAPM_PGA("Line PGA", AC97_INT_PAGING, 2, 1, NULL, 0), SND_SOC_DAPM_PGA("Phone PGA", AC97_INT_PAGING, 1, 1, NULL, 0), SND_SOC_DAPM_PGA("Mic PGA", AC97_INT_PAGING, 0, 1, NULL, 0), +SND_SOC_DAPM_PGA("Differential Mic", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MICBIAS("Mic Bias", AC97_INT_PAGING, 10, 1), SND_SOC_DAPM_OUTPUT("MONOOUT"), SND_SOC_DAPM_OUTPUT("HPOUTL"), @@ -379,6 +382,18 @@ {"Mic PGA", NULL, "MIC1"}, {"Mic PGA", NULL, "MIC2"}, + /* microphones */ + {"Differential Mic", NULL, "MIC1"}, + {"Differential Mic", NULL, "MIC2"}, + {"Left Mic Select Source", "Mic 1", "MIC1"}, + {"Left Mic Select Source", "Mic 2", "MIC2"}, + {"Left Mic Select Source", "Stereo", "MIC1"}, + {"Left Mic Select Source", "Differential", "Differential Mic"}, + {"Right Mic Select Source", "Mic 1", "MIC1"}, + {"Right Mic Select Source", "Mic 2", "MIC2"}, + {"Right Mic Select Source", "Stereo", "MIC2"}, + {"Right Mic Select Source", "Differential", "Differential Mic"}, + /* left capture selector */ {"Left Capture Select", "Mic", "MIC1"}, {"Left Capture Select", "Speaker Mixer", "Speaker Mixer"}, --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/wm_hubs.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/wm_hubs.c @@ -634,6 +634,11 @@ snd_soc_update_bits(codec, WM8993_CLASS_W_0, WM8993_CP_DYN_V | WM8993_CP_DYN_FREQ, enable); + + snd_soc_write(codec, WM8993_LEFT_OUTPUT_VOLUME, + snd_soc_read(codec, WM8993_LEFT_OUTPUT_VOLUME)); + snd_soc_write(codec, WM8993_RIGHT_OUTPUT_VOLUME, + snd_soc_read(codec, WM8993_RIGHT_OUTPUT_VOLUME)); } EXPORT_SYMBOL_GPL(wm_hubs_update_class_w); --- linux-lowlatency-3.5.0.orig/sound/soc/codecs/cs42l52.c +++ linux-lowlatency-3.5.0/sound/soc/codecs/cs42l52.c @@ -775,7 +775,6 @@ { struct snd_soc_codec *codec = codec_dai->codec; struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); - int ret = 0; u8 iface = 0; switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { @@ -824,7 +823,7 @@ case SND_SOC_DAIFMT_NB_IF: break; default: - ret = -EINVAL; + return -EINVAL; } cs42l52->config.format = iface; snd_soc_write(codec, CS42L52_IFACE_CTL1, cs42l52->config.format); --- linux-lowlatency-3.5.0.orig/sound/soc/omap/mcbsp.c +++ linux-lowlatency-3.5.0/sound/soc/omap/mcbsp.c @@ -745,7 +745,7 @@ { const char *signal, *src; - if (mcbsp->pdata->mux_signal) + if (!mcbsp->pdata->mux_signal) return -EINVAL; switch (mux) { --- linux-lowlatency-3.5.0.orig/sound/soc/samsung/dma.c +++ linux-lowlatency-3.5.0/sound/soc/samsung/dma.c @@ -34,9 +34,7 @@ .info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP | - SNDRV_PCM_INFO_MMAP_VALID | - SNDRV_PCM_INFO_PAUSE | - SNDRV_PCM_INFO_RESUME, + SNDRV_PCM_INFO_MMAP_VALID, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE | SNDRV_PCM_FMTBIT_U8 | @@ -246,15 +244,11 @@ switch (cmd) { case SNDRV_PCM_TRIGGER_START: - case SNDRV_PCM_TRIGGER_RESUME: - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: prtd->state |= ST_RUNNING; prtd->params->ops->trigger(prtd->params->ch); break; case SNDRV_PCM_TRIGGER_STOP: - case SNDRV_PCM_TRIGGER_SUSPEND: - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: prtd->state &= ~ST_RUNNING; prtd->params->ops->stop(prtd->params->ch); break; --- linux-lowlatency-3.5.0.orig/sound/soc/sh/fsi.c +++ linux-lowlatency-3.5.0/sound/soc/sh/fsi.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -223,7 +224,7 @@ */ struct dma_chan *chan; struct sh_dmae_slave slave; /* see fsi_handler_init() */ - struct tasklet_struct tasklet; + struct work_struct work; dma_addr_t dma; }; @@ -1085,9 +1086,9 @@ snd_pcm_period_elapsed(io->substream); } -static void fsi_dma_do_tasklet(unsigned long data) +static void fsi_dma_do_work(struct work_struct *work) { - struct fsi_stream *io = (struct fsi_stream *)data; + struct fsi_stream *io = container_of(work, struct fsi_stream, work); struct fsi_priv *fsi = fsi_stream_to_priv(io); struct dma_chan *chan; struct snd_soc_dai *dai; @@ -1140,7 +1141,7 @@ * FIXME * * In DMAEngine case, codec and FSI cannot be started simultaneously - * since FSI is using tasklet. + * since FSI is using the scheduler work queue. * Therefore, in capture case, probably FSI FIFO will have got * overflow error in this point. * in that case, DMA cannot start transfer until error was cleared. @@ -1164,7 +1165,7 @@ static int fsi_dma_transfer(struct fsi_priv *fsi, struct fsi_stream *io) { - tasklet_schedule(&io->tasklet); + schedule_work(&io->work); return 0; } @@ -1195,14 +1196,14 @@ if (!io->chan) return -EIO; - tasklet_init(&io->tasklet, fsi_dma_do_tasklet, (unsigned long)io); + INIT_WORK(&io->work, fsi_dma_do_work); return 0; } static int fsi_dma_remove(struct fsi_priv *fsi, struct fsi_stream *io) { - tasklet_kill(&io->tasklet); + cancel_work_sync(&io->work); fsi_stream_stop(fsi, io); --- linux-lowlatency-3.5.0.orig/sound/soc/tegra/tegra_alc5632.c +++ linux-lowlatency-3.5.0/sound/soc/tegra/tegra_alc5632.c @@ -92,7 +92,6 @@ .name = "Headset detection", .report = SND_JACK_HEADSET, .debounce_time = 150, - .invert = 1, }; static const struct snd_soc_dapm_widget tegra_alc5632_dapm_widgets[] = { --- linux-lowlatency-3.5.0.orig/sound/usb/card.c +++ linux-lowlatency-3.5.0/sound/usb/card.c @@ -339,7 +339,7 @@ } mutex_init(&chip->mutex); - mutex_init(&chip->shutdown_mutex); + init_rwsem(&chip->shutdown_rwsem); chip->index = idx; chip->dev = dev; chip->card = card; @@ -553,15 +553,17 @@ struct snd_usb_audio *chip) { struct snd_card *card; - struct list_head *p; + struct list_head *p, *n; if (chip == (void *)-1L) return; card = chip->card; - mutex_lock(®ister_mutex); - mutex_lock(&chip->shutdown_mutex); + down_write(&chip->shutdown_rwsem); chip->shutdown = 1; + up_write(&chip->shutdown_rwsem); + + mutex_lock(®ister_mutex); chip->num_interfaces--; if (chip->num_interfaces <= 0) { snd_card_disconnect(card); @@ -570,7 +572,7 @@ snd_usb_stream_disconnect(p); } /* release the endpoint resources */ - list_for_each(p, &chip->ep_list) { + list_for_each_safe(p, n, &chip->ep_list) { snd_usb_endpoint_free(p); } /* release the midi resources */ @@ -582,11 +584,9 @@ snd_usb_mixer_disconnect(p); } usb_chip[chip->index] = NULL; - mutex_unlock(&chip->shutdown_mutex); mutex_unlock(®ister_mutex); snd_card_free_when_closed(card); } else { - mutex_unlock(&chip->shutdown_mutex); mutex_unlock(®ister_mutex); } } @@ -618,16 +618,20 @@ { int err = -ENODEV; + down_read(&chip->shutdown_rwsem); if (!chip->shutdown && !chip->probing) err = usb_autopm_get_interface(chip->pm_intf); + up_read(&chip->shutdown_rwsem); return err; } void snd_usb_autosuspend(struct snd_usb_audio *chip) { + down_read(&chip->shutdown_rwsem); if (!chip->shutdown && !chip->probing) usb_autopm_put_interface(chip->pm_intf); + up_read(&chip->shutdown_rwsem); } static int usb_audio_suspend(struct usb_interface *intf, pm_message_t message) --- linux-lowlatency-3.5.0.orig/sound/usb/card.h +++ linux-lowlatency-3.5.0/sound/usb/card.h @@ -123,6 +123,7 @@ struct snd_usb_endpoint *data_endpoint; struct snd_usb_endpoint *sync_endpoint; unsigned long flags; + unsigned int speed; /* USB_SPEED_XXX */ u64 formats; /* format bitmasks (all or'ed) */ unsigned int num_formats; /* number of supported audio formats (list) */ --- linux-lowlatency-3.5.0.orig/sound/usb/clock.c +++ linux-lowlatency-3.5.0/sound/usb/clock.c @@ -111,7 +111,8 @@ return 0; /* If a clock source can't tell us whether it's valid, we assume it is */ - if (!uac2_control_is_readable(cs_desc->bmControls, UAC2_CS_CONTROL_CLOCK_VALID)) + if (!uac2_control_is_readable(cs_desc->bmControls, + UAC2_CS_CONTROL_CLOCK_VALID - 1)) return 1; err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_CUR, --- linux-lowlatency-3.5.0.orig/sound/usb/endpoint.c +++ linux-lowlatency-3.5.0/sound/usb/endpoint.c @@ -141,7 +141,7 @@ * * For implicit feedback, next_packet_size() is unused. */ -static int next_packet_size(struct snd_usb_endpoint *ep) +int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep) { unsigned long flags; int ret; @@ -177,15 +177,6 @@ ep->retire_data_urb(ep->data_subs, urb); } -static void prepare_outbound_urb_sizes(struct snd_usb_endpoint *ep, - struct snd_urb_ctx *ctx) -{ - int i; - - for (i = 0; i < ctx->packets; ++i) - ctx->packet_size[i] = next_packet_size(ep); -} - /* * Prepare a PLAYBACK urb for submission to the bus. */ @@ -206,7 +197,13 @@ /* no data provider, so send silence */ unsigned int offs = 0; for (i = 0; i < ctx->packets; ++i) { - int counts = ctx->packet_size[i]; + int counts; + + if (ctx->packet_size[i]) + counts = ctx->packet_size[i]; + else + counts = snd_usb_endpoint_next_packet_size(ep); + urb->iso_frame_desc[i].offset = offs * ep->stride; urb->iso_frame_desc[i].length = counts * ep->stride; offs += counts; @@ -370,7 +367,6 @@ goto exit_clear; } - prepare_outbound_urb_sizes(ep, ctx); prepare_outbound_urb(ep, ctx); } else { retire_inbound_urb(ep, ctx); @@ -799,7 +795,9 @@ /** * snd_usb_endpoint_start: start an snd_usb_endpoint * - * @ep: the endpoint to start + * @ep: the endpoint to start + * @can_sleep: flag indicating whether the operation is executed in + * non-atomic context * * A call to this function will increment the use count of the endpoint. * In case it is not already running, the URBs for this endpoint will be @@ -809,7 +807,7 @@ * * Returns an error if the URB submission failed, 0 in all other cases. */ -int snd_usb_endpoint_start(struct snd_usb_endpoint *ep) +int snd_usb_endpoint_start(struct snd_usb_endpoint *ep, int can_sleep) { int err; unsigned int i; @@ -822,8 +820,9 @@ return 0; /* just to be sure */ - deactivate_urbs(ep, 0, 1); - wait_clear_urbs(ep); + deactivate_urbs(ep, 0, can_sleep); + if (can_sleep) + wait_clear_urbs(ep); ep->active_mask = 0; ep->unlink_mask = 0; @@ -854,7 +853,6 @@ goto __error; if (usb_pipeout(ep->pipe)) { - prepare_outbound_urb_sizes(ep, urb->context); prepare_outbound_urb(ep, urb->context); } else { prepare_inbound_urb(ep, urb->context); --- linux-lowlatency-3.5.0.orig/sound/usb/endpoint.h +++ linux-lowlatency-3.5.0/sound/usb/endpoint.h @@ -13,7 +13,7 @@ struct audioformat *fmt, struct snd_usb_endpoint *sync_ep); -int snd_usb_endpoint_start(struct snd_usb_endpoint *ep); +int snd_usb_endpoint_start(struct snd_usb_endpoint *ep, int can_sleep); void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep, int force, int can_sleep, int wait); int snd_usb_endpoint_activate(struct snd_usb_endpoint *ep); @@ -21,6 +21,7 @@ void snd_usb_endpoint_free(struct list_head *head); int snd_usb_endpoint_implict_feedback_sink(struct snd_usb_endpoint *ep); +int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep); void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep, struct snd_usb_endpoint *sender, --- linux-lowlatency-3.5.0.orig/sound/usb/midi.c +++ linux-lowlatency-3.5.0/sound/usb/midi.c @@ -148,6 +148,7 @@ struct snd_usb_midi_out_endpoint* ep; struct snd_rawmidi_substream *substream; int active; + bool autopm_reference; uint8_t cable; /* cable number << 4 */ uint8_t state; #define STATE_UNKNOWN 0 @@ -1076,7 +1077,8 @@ return -ENXIO; } err = usb_autopm_get_interface(umidi->iface); - if (err < 0) + port->autopm_reference = err >= 0; + if (err < 0 && err != -EACCES) return -EIO; substream->runtime->private_data = port; port->state = STATE_UNKNOWN; @@ -1087,9 +1089,11 @@ static int snd_usbmidi_output_close(struct snd_rawmidi_substream *substream) { struct snd_usb_midi* umidi = substream->rmidi->private_data; + struct usbmidi_out_port *port = substream->runtime->private_data; substream_open(substream, 0); - usb_autopm_put_interface(umidi->iface); + if (port->autopm_reference) + usb_autopm_put_interface(umidi->iface); return 0; } --- linux-lowlatency-3.5.0.orig/sound/usb/mixer.c +++ linux-lowlatency-3.5.0/sound/usb/mixer.c @@ -287,25 +287,32 @@ unsigned char buf[2]; int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1; int timeout = 10; - int err; + int idx = 0, err; err = snd_usb_autoresume(cval->mixer->chip); if (err < 0) return -EIO; + down_read(&chip->shutdown_rwsem); while (timeout-- > 0) { + if (chip->shutdown) + break; + idx = snd_usb_ctrl_intf(chip) | (cval->id << 8); if (snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), request, USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN, - validx, snd_usb_ctrl_intf(chip) | (cval->id << 8), - buf, val_len) >= val_len) { + validx, idx, buf, val_len) >= val_len) { *value_ret = convert_signed_value(cval, snd_usb_combine_bytes(buf, val_len)); - snd_usb_autosuspend(cval->mixer->chip); - return 0; + err = 0; + goto out; } } - snd_usb_autosuspend(cval->mixer->chip); snd_printdd(KERN_ERR "cannot get ctl value: req = %#x, wValue = %#x, wIndex = %#x, type = %d\n", - request, validx, snd_usb_ctrl_intf(chip) | (cval->id << 8), cval->val_type); - return -EINVAL; + request, validx, idx, cval->val_type); + err = -EINVAL; + + out: + up_read(&chip->shutdown_rwsem); + snd_usb_autosuspend(cval->mixer->chip); + return err; } static int get_ctl_value_v2(struct usb_mixer_elem_info *cval, int request, int validx, int *value_ret) @@ -313,7 +320,7 @@ struct snd_usb_audio *chip = cval->mixer->chip; unsigned char buf[2 + 3*sizeof(__u16)]; /* enough space for one range */ unsigned char *val; - int ret, size; + int idx = 0, ret, size; __u8 bRequest; if (request == UAC_GET_CUR) { @@ -330,16 +337,22 @@ if (ret) goto error; - ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), bRequest, + down_read(&chip->shutdown_rwsem); + if (chip->shutdown) + ret = -ENODEV; + else { + idx = snd_usb_ctrl_intf(chip) | (cval->id << 8); + ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), bRequest, USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN, - validx, snd_usb_ctrl_intf(chip) | (cval->id << 8), - buf, size); + validx, idx, buf, size); + } + up_read(&chip->shutdown_rwsem); snd_usb_autosuspend(chip); if (ret < 0) { error: snd_printk(KERN_ERR "cannot get ctl value: req = %#x, wValue = %#x, wIndex = %#x, type = %d\n", - request, validx, snd_usb_ctrl_intf(chip) | (cval->id << 8), cval->val_type); + request, validx, idx, cval->val_type); return ret; } @@ -417,7 +430,7 @@ { struct snd_usb_audio *chip = cval->mixer->chip; unsigned char buf[2]; - int val_len, err, timeout = 10; + int idx = 0, val_len, err, timeout = 10; if (cval->mixer->protocol == UAC_VERSION_1) { val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1; @@ -440,19 +453,27 @@ err = snd_usb_autoresume(chip); if (err < 0) return -EIO; - while (timeout-- > 0) + down_read(&chip->shutdown_rwsem); + while (timeout-- > 0) { + if (chip->shutdown) + break; + idx = snd_usb_ctrl_intf(chip) | (cval->id << 8); if (snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0), request, USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_OUT, - validx, snd_usb_ctrl_intf(chip) | (cval->id << 8), - buf, val_len) >= 0) { - snd_usb_autosuspend(chip); - return 0; + validx, idx, buf, val_len) >= 0) { + err = 0; + goto out; } - snd_usb_autosuspend(chip); + } snd_printdd(KERN_ERR "cannot set ctl value: req = %#x, wValue = %#x, wIndex = %#x, type = %d, data = %#x/%#x\n", - request, validx, snd_usb_ctrl_intf(chip) | (cval->id << 8), cval->val_type, buf[0], buf[1]); - return -EINVAL; + request, validx, idx, cval->val_type, buf[0], buf[1]); + err = -EINVAL; + + out: + up_read(&chip->shutdown_rwsem); + snd_usb_autosuspend(chip); + return err; } static int set_cur_ctl_value(struct usb_mixer_elem_info *cval, int validx, int value) @@ -1267,6 +1288,13 @@ /* disable non-functional volume control */ master_bits &= ~UAC_CONTROL_BIT(UAC_FU_VOLUME); break; + case USB_ID(0x1130, 0xf211): + snd_printk(KERN_INFO + "usbmixer: volume control quirk for Tenx TP6911 Audio Headset\n"); + /* disable non-functional volume control */ + channels = 0; + break; + } if (channels > 0) first_ch_bits = snd_usb_combine_bytes(bmaControls + csize, csize); --- linux-lowlatency-3.5.0.orig/sound/usb/mixer_quirks.c +++ linux-lowlatency-3.5.0/sound/usb/mixer_quirks.c @@ -257,6 +257,11 @@ if (value > 1) return -EINVAL; changed = value != mixer->audigy2nx_leds[index]; + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) { + err = -ENODEV; + goto out; + } if (mixer->chip->usb_id == USB_ID(0x041e, 0x3042)) err = snd_usb_ctl_msg(mixer->chip->dev, usb_sndctrlpipe(mixer->chip->dev, 0), 0x24, @@ -273,6 +278,8 @@ usb_sndctrlpipe(mixer->chip->dev, 0), 0x24, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER, value, index + 2, NULL, 0); + out: + up_read(&mixer->chip->shutdown_rwsem); if (err < 0) return err; mixer->audigy2nx_leds[index] = value; @@ -366,11 +373,16 @@ for (i = 0; jacks[i].name; ++i) { snd_iprintf(buffer, "%s: ", jacks[i].name); - err = snd_usb_ctl_msg(mixer->chip->dev, + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) + err = 0; + else + err = snd_usb_ctl_msg(mixer->chip->dev, usb_rcvctrlpipe(mixer->chip->dev, 0), UAC_GET_MEM, USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0, jacks[i].unitid << 8, buf, 3); + up_read(&mixer->chip->shutdown_rwsem); if (err == 3 && (buf[0] == 3 || buf[0] == 6)) snd_iprintf(buffer, "%02x %02x\n", buf[1], buf[2]); else @@ -400,10 +412,15 @@ else new_status = old_status & ~0x02; changed = new_status != old_status; - err = snd_usb_ctl_msg(mixer->chip->dev, + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) + err = -ENODEV; + else + err = snd_usb_ctl_msg(mixer->chip->dev, usb_sndctrlpipe(mixer->chip->dev, 0), 0x08, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER, 50, 0, &new_status, 1); + up_read(&mixer->chip->shutdown_rwsem); if (err < 0) return err; mixer->xonar_u1_status = new_status; @@ -442,11 +459,17 @@ u8 bRequest = (kcontrol->private_value >> 16) & 0xff; u16 wIndex = kcontrol->private_value & 0xffff; u8 tmp; + int ret; - int ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), bRequest, + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) + ret = -ENODEV; + else + ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), bRequest, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN, 0, cpu_to_le16(wIndex), &tmp, sizeof(tmp), 1000); + up_read(&mixer->chip->shutdown_rwsem); if (ret < 0) { snd_printk(KERN_ERR @@ -467,11 +490,17 @@ u8 bRequest = (kcontrol->private_value >> 16) & 0xff; u16 wIndex = kcontrol->private_value & 0xffff; u16 wValue = ucontrol->value.integer.value[0]; + int ret; - int ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), bRequest, + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) + ret = -ENODEV; + else + ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), bRequest, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT, cpu_to_le16(wValue), cpu_to_le16(wIndex), NULL, 0, 1000); + up_read(&mixer->chip->shutdown_rwsem); if (ret < 0) { snd_printk(KERN_ERR @@ -630,11 +659,16 @@ return -EINVAL; - err = snd_usb_ctl_msg(chip->dev, + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) + err = -ENODEV; + else + err = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), UAC_GET_CUR, USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN, validx << 8, snd_usb_ctrl_intf(chip) | (id << 8), value, val_len); + up_read(&mixer->chip->shutdown_rwsem); if (err < 0) return err; @@ -677,11 +711,16 @@ if (!pval->is_cached) { /* Read current value */ - err = snd_usb_ctl_msg(chip->dev, + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) + err = -ENODEV; + else + err = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), UAC_GET_CUR, USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN, validx << 8, snd_usb_ctrl_intf(chip) | (id << 8), value, val_len); + up_read(&mixer->chip->shutdown_rwsem); if (err < 0) return err; @@ -693,11 +732,16 @@ if (cur_val != new_val) { value[0] = new_val; value[1] = 0; - err = snd_usb_ctl_msg(chip->dev, + down_read(&mixer->chip->shutdown_rwsem); + if (mixer->chip->shutdown) + err = -ENODEV; + else + err = snd_usb_ctl_msg(chip->dev, usb_sndctrlpipe(chip->dev, 0), UAC_SET_CUR, USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_OUT, validx << 8, snd_usb_ctrl_intf(chip) | (id << 8), value, val_len); + up_read(&mixer->chip->shutdown_rwsem); if (err < 0) return err; --- linux-lowlatency-3.5.0.orig/sound/usb/pcm.c +++ linux-lowlatency-3.5.0/sound/usb/pcm.c @@ -71,6 +71,8 @@ unsigned int hwptr_done; subs = (struct snd_usb_substream *)substream->runtime->private_data; + if (subs->stream->chip->shutdown) + return SNDRV_PCM_POS_XRUN; spin_lock(&subs->lock); hwptr_done = subs->hwptr_done; substream->runtime->delay = snd_usb_pcm_delay(subs, @@ -212,7 +214,7 @@ } } -static int start_endpoints(struct snd_usb_substream *subs) +static int start_endpoints(struct snd_usb_substream *subs, int can_sleep) { int err; @@ -225,7 +227,7 @@ snd_printdd(KERN_DEBUG "Starting data EP @%p\n", ep); ep->data_subs = subs; - err = snd_usb_endpoint_start(ep); + err = snd_usb_endpoint_start(ep, can_sleep); if (err < 0) { clear_bit(SUBSTREAM_FLAG_DATA_EP_STARTED, &subs->flags); return err; @@ -236,10 +238,25 @@ !test_and_set_bit(SUBSTREAM_FLAG_SYNC_EP_STARTED, &subs->flags)) { struct snd_usb_endpoint *ep = subs->sync_endpoint; + if (subs->data_endpoint->iface != subs->sync_endpoint->iface || + subs->data_endpoint->alt_idx != subs->sync_endpoint->alt_idx) { + err = usb_set_interface(subs->dev, + subs->sync_endpoint->iface, + subs->sync_endpoint->alt_idx); + if (err < 0) { + snd_printk(KERN_ERR + "%d:%d:%d: cannot set interface (%d)\n", + subs->dev->devnum, + subs->sync_endpoint->iface, + subs->sync_endpoint->alt_idx, err); + return -EIO; + } + } + snd_printdd(KERN_DEBUG "Starting sync EP @%p\n", ep); ep->sync_slave = subs->data_endpoint; - err = snd_usb_endpoint_start(ep); + err = snd_usb_endpoint_start(ep, can_sleep); if (err < 0) { clear_bit(SUBSTREAM_FLAG_SYNC_EP_STARTED, &subs->flags); return err; @@ -456,8 +473,14 @@ changed = subs->cur_audiofmt != fmt || subs->period_bytes != params_period_bytes(hw_params) || subs->cur_rate != rate; + + down_read(&subs->stream->chip->shutdown_rwsem); + if (subs->stream->chip->shutdown) { + ret = -ENODEV; + goto unlock; + } if ((ret = set_format(subs, fmt)) < 0) - return ret; + goto unlock; if (subs->cur_rate != rate) { struct usb_host_interface *alts; @@ -466,12 +489,11 @@ alts = &iface->altsetting[fmt->altset_idx]; ret = snd_usb_init_sample_rate(subs->stream->chip, fmt->iface, alts, fmt, rate); if (ret < 0) - return ret; + goto unlock; subs->cur_rate = rate; } if (changed) { - mutex_lock(&subs->stream->chip->shutdown_mutex); /* format changed */ stop_endpoints(subs, 0, 0, 0); ret = snd_usb_endpoint_set_params(subs->data_endpoint, hw_params, fmt, @@ -482,8 +504,6 @@ if (subs->sync_endpoint) ret = snd_usb_endpoint_set_params(subs->sync_endpoint, hw_params, fmt, NULL); -unlock: - mutex_unlock(&subs->stream->chip->shutdown_mutex); } if (ret == 0) { @@ -491,6 +511,8 @@ subs->altset_idx = fmt->altset_idx; } +unlock: + up_read(&subs->stream->chip->shutdown_rwsem); return ret; } @@ -506,10 +528,12 @@ subs->cur_audiofmt = NULL; subs->cur_rate = 0; subs->period_bytes = 0; - mutex_lock(&subs->stream->chip->shutdown_mutex); - stop_endpoints(subs, 0, 1, 1); - deactivate_endpoints(subs); - mutex_unlock(&subs->stream->chip->shutdown_mutex); + down_read(&subs->stream->chip->shutdown_rwsem); + if (!subs->stream->chip->shutdown) { + stop_endpoints(subs, 0, 1, 1); + deactivate_endpoints(subs); + } + up_read(&subs->stream->chip->shutdown_rwsem); return snd_pcm_lib_free_vmalloc_buffer(substream); } @@ -522,14 +546,22 @@ { struct snd_pcm_runtime *runtime = substream->runtime; struct snd_usb_substream *subs = runtime->private_data; + int ret = 0; if (! subs->cur_audiofmt) { snd_printk(KERN_ERR "usbaudio: no format is specified!\n"); return -ENXIO; } - if (snd_BUG_ON(!subs->data_endpoint)) - return -EIO; + down_read(&subs->stream->chip->shutdown_rwsem); + if (subs->stream->chip->shutdown) { + ret = -ENODEV; + goto unlock; + } + if (snd_BUG_ON(!subs->data_endpoint)) { + ret = -EIO; + goto unlock; + } /* some unit conversions in runtime */ subs->data_endpoint->maxframesize = @@ -547,9 +579,11 @@ /* for playback, submit the URBs now; otherwise, the first hwptr_done * updates for all URBs would happen at the same time when starting */ if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) - return start_endpoints(subs); + ret = start_endpoints(subs, 1); - return 0; + unlock: + up_read(&subs->stream->chip->shutdown_rwsem); + return ret; } static struct snd_pcm_hardware snd_usb_hardware = @@ -602,7 +636,7 @@ return 0; } /* check whether the period time is >= the data packet interval */ - if (snd_usb_get_speed(subs->dev) != USB_SPEED_FULL) { + if (subs->speed != USB_SPEED_FULL) { ptime = 125 * (1 << fp->datainterval); if (ptime > pt->max || (ptime == pt->max && pt->openmax)) { hwc_debug(" > check: ptime %u > max %u\n", ptime, pt->max); @@ -880,7 +914,7 @@ return err; param_period_time_if_needed = SNDRV_PCM_HW_PARAM_PERIOD_TIME; - if (snd_usb_get_speed(subs->dev) == USB_SPEED_FULL) + if (subs->speed == USB_SPEED_FULL) /* full speed devices have fixed data packet interval */ ptmin = 1000; if (ptmin == 1000) @@ -1029,6 +1063,7 @@ struct urb *urb) { struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; + struct snd_usb_endpoint *ep = subs->data_endpoint; struct snd_urb_ctx *ctx = urb->context; unsigned int counts, frames, bytes; int i, stride, period_elapsed = 0; @@ -1040,7 +1075,11 @@ urb->number_of_packets = 0; spin_lock_irqsave(&subs->lock, flags); for (i = 0; i < ctx->packets; i++) { - counts = ctx->packet_size[i]; + if (ctx->packet_size[i]) + counts = ctx->packet_size[i]; + else + counts = snd_usb_endpoint_next_packet_size(ep); + /* set up descriptor */ urb->iso_frame_desc[i].offset = frames * stride; urb->iso_frame_desc[i].length = counts * stride; @@ -1091,7 +1130,16 @@ subs->hwptr_done += bytes; if (subs->hwptr_done >= runtime->buffer_size * stride) subs->hwptr_done -= runtime->buffer_size * stride; + + /* update delay with exact number of samples queued */ + runtime->delay = subs->last_delay; runtime->delay += frames; + subs->last_delay = runtime->delay; + + /* realign last_frame_number */ + subs->last_frame_number = usb_get_current_frame_number(subs->dev); + subs->last_frame_number &= 0xFF; /* keep 8 LSBs */ + spin_unlock_irqrestore(&subs->lock, flags); urb->transfer_buffer_length = bytes; if (period_elapsed) @@ -1109,12 +1157,32 @@ struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; int stride = runtime->frame_bits >> 3; int processed = urb->transfer_buffer_length / stride; + int est_delay; + + /* ignore the delay accounting when procssed=0 is given, i.e. + * silent payloads are procssed before handling the actual data + */ + if (!processed) + return; spin_lock_irqsave(&subs->lock, flags); - if (processed > runtime->delay) - runtime->delay = 0; + est_delay = snd_usb_pcm_delay(subs, runtime->rate); + /* update delay with exact number of samples played */ + if (processed > subs->last_delay) + subs->last_delay = 0; else - runtime->delay -= processed; + subs->last_delay -= processed; + runtime->delay = subs->last_delay; + + /* + * Report when delay estimate is off by more than 2ms. + * The error should be lower than 2ms since the estimate relies + * on two reads of a counter updated every ms. + */ + if (abs(est_delay - subs->last_delay) * 1000 > runtime->rate * 2) + snd_printk(KERN_DEBUG "delay: estimated %d, actual %d\n", + est_delay, subs->last_delay); + spin_unlock_irqrestore(&subs->lock, flags); } @@ -1172,7 +1240,7 @@ switch (cmd) { case SNDRV_PCM_TRIGGER_START: - err = start_endpoints(subs); + err = start_endpoints(subs, 0); if (err < 0) return err; --- linux-lowlatency-3.5.0.orig/sound/usb/proc.c +++ linux-lowlatency-3.5.0/sound/usb/proc.c @@ -108,7 +108,7 @@ } snd_iprintf(buffer, "\n"); } - if (snd_usb_get_speed(subs->dev) != USB_SPEED_FULL) + if (subs->speed != USB_SPEED_FULL) snd_iprintf(buffer, " Data packet interval: %d us\n", 125 * (1 << fp->datainterval)); // snd_iprintf(buffer, " Max Packet Size = %d\n", fp->maxpacksize); @@ -124,7 +124,7 @@ return; snd_iprintf(buffer, " Packet Size = %d\n", ep->curpacksize); snd_iprintf(buffer, " Momentary freq = %u Hz (%#x.%04x)\n", - snd_usb_get_speed(subs->dev) == USB_SPEED_FULL + subs->speed == USB_SPEED_FULL ? get_full_speed_hz(ep->freqm) : get_high_speed_hz(ep->freqm), ep->freqm >> 16, ep->freqm & 0xffff); --- linux-lowlatency-3.5.0.orig/sound/usb/quirks-table.h +++ linux-lowlatency-3.5.0/sound/usb/quirks-table.h @@ -2781,6 +2781,59 @@ } }, +/* Microsoft XboxLive Headset/Xbox Communicator */ +{ + USB_DEVICE(0x045e, 0x0283), + .bInterfaceClass = USB_CLASS_PER_INTERFACE, + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { + .vendor_name = "Microsoft", + .product_name = "XboxLive Headset/Xbox Communicator", + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_COMPOSITE, + .data = &(const struct snd_usb_audio_quirk[]) { + { + /* playback */ + .ifnum = 0, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S16_LE, + .channels = 1, + .iface = 0, + .altsetting = 0, + .altset_idx = 0, + .attributes = 0, + .endpoint = 0x04, + .ep_attr = 0x05, + .rates = SNDRV_PCM_RATE_CONTINUOUS, + .rate_min = 22050, + .rate_max = 22050 + } + }, + { + /* capture */ + .ifnum = 1, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S16_LE, + .channels = 1, + .iface = 1, + .altsetting = 0, + .altset_idx = 0, + .attributes = 0, + .endpoint = 0x85, + .ep_attr = 0x05, + .rates = SNDRV_PCM_RATE_CONTINUOUS, + .rate_min = 16000, + .rate_max = 16000 + } + }, + { + .ifnum = -1 + } + } + } +}, + { /* * Some USB MIDI devices don't have an audio control interface, --- linux-lowlatency-3.5.0.orig/sound/usb/stream.c +++ linux-lowlatency-3.5.0/sound/usb/stream.c @@ -90,6 +90,7 @@ subs->direction = stream; subs->dev = as->chip->dev; subs->txfr_quirk = as->chip->txfr_quirk; + subs->speed = snd_usb_get_speed(subs->dev); snd_usb_set_pcm_ops(as->pcm, stream); --- linux-lowlatency-3.5.0.orig/sound/usb/usbaudio.h +++ linux-lowlatency-3.5.0/sound/usb/usbaudio.h @@ -37,7 +37,7 @@ struct usb_interface *pm_intf; u32 usb_id; struct mutex mutex; - struct mutex shutdown_mutex; + struct rw_semaphore shutdown_rwsem; unsigned int shutdown:1; unsigned int probing:1; unsigned int autosuspended:1; --- linux-lowlatency-3.5.0.orig/tools/hv/Makefile +++ linux-lowlatency-3.5.0/tools/hv/Makefile @@ -0,0 +1,7 @@ +hv_kvp_daemon: hv_kvp_daemon.c + +clean: + rm -f hv_kvp_daemon + +install: + install hv_kvp_daemon /usr/sbin/ --- linux-lowlatency-3.5.0.orig/tools/hv/hv_kvp_daemon.8 +++ linux-lowlatency-3.5.0/tools/hv/hv_kvp_daemon.8 @@ -0,0 +1,26 @@ +.\" This page Copyright (C) 2012 Andy Whitcroft +.\" Distributed under the GPL v2 or later. +.TH HV_KVP_DAEMON 8 +.SH NAME +hv_kvp_daemon \- Hyper-V Key Value Pair daemon +.SH SYNOPSIS +.ft B +.B hv_kvp_daemon +.br +.SH DESCRIPTION +\fBhv_kvp_daemon\fP +is the userspace component of the Hyper-V key value pair functionality, +communicating via a netlink socket with the kernel HV-KVP driver. +This pairing allows the Hyper-V host to pass configuration information +(such as IP addresses) to the guest and allows the host to obtain guest +version information. + +.SH FILES +.ta +.nf +/var/opt/hyperv/.kvp_pool_* +.fi + +.SH AUTHORS +.nf +Written by K. Y. Srinivasan --- linux-lowlatency-3.5.0.orig/tools/hv/hv_kvp_daemon.c +++ linux-lowlatency-3.5.0/tools/hv/hv_kvp_daemon.c @@ -106,7 +106,7 @@ if (fcntl(kvp_file_info[pool].fd, F_SETLKW, &fl) == -1) { syslog(LOG_ERR, "Failed to acquire the lock pool: %d", pool); - exit(-1); + exit(EXIT_FAILURE); } } @@ -118,7 +118,7 @@ if (fcntl(kvp_file_info[pool].fd, F_SETLK, &fl) == -1) { perror("fcntl"); syslog(LOG_ERR, "Failed to release the lock pool: %d", pool); - exit(-1); + exit(EXIT_FAILURE); } } @@ -137,14 +137,19 @@ if (!filep) { kvp_release_lock(pool); syslog(LOG_ERR, "Failed to open file, pool: %d", pool); - exit(-1); + exit(EXIT_FAILURE); } bytes_written = fwrite(kvp_file_info[pool].records, sizeof(struct kvp_record), kvp_file_info[pool].num_records, filep); - fflush(filep); + if (ferror(filep) || fclose(filep)) { + kvp_release_lock(pool); + syslog(LOG_ERR, "Failed to write file, pool: %d", pool); + exit(EXIT_FAILURE); + } + kvp_release_lock(pool); } @@ -163,14 +168,19 @@ if (!filep) { kvp_release_lock(pool); syslog(LOG_ERR, "Failed to open file, pool: %d", pool); - exit(-1); + exit(EXIT_FAILURE); } - while (!feof(filep)) { + for (;;) { readp = &record[records_read]; records_read += fread(readp, sizeof(struct kvp_record), ENTRIES_PER_BLOCK * num_blocks, filep); + if (ferror(filep)) { + syslog(LOG_ERR, "Failed to read file, pool: %d", pool); + exit(EXIT_FAILURE); + } + if (!feof(filep)) { /* * We have more data to read. @@ -180,7 +190,7 @@ if (record == NULL) { syslog(LOG_ERR, "malloc failed"); - exit(-1); + exit(EXIT_FAILURE); } continue; } @@ -191,6 +201,7 @@ kvp_file_info[pool].records = record; kvp_file_info[pool].num_records = records_read; + fclose(filep); kvp_release_lock(pool); } static int kvp_file_init(void) @@ -208,7 +219,7 @@ if (access("/var/opt/hyperv", F_OK)) { if (mkdir("/var/opt/hyperv", S_IRUSR | S_IWUSR | S_IROTH)) { syslog(LOG_ERR, " Failed to create /var/opt/hyperv"); - exit(-1); + exit(EXIT_FAILURE); } } @@ -232,12 +243,18 @@ fclose(filep); return 1; } - while (!feof(filep)) { + for (;;) { readp = &record[records_read]; records_read += fread(readp, sizeof(struct kvp_record), ENTRIES_PER_BLOCK, filep); + if (ferror(filep)) { + syslog(LOG_ERR, "Failed to read file, pool: %d", + i); + exit(EXIT_FAILURE); + } + if (!feof(filep)) { /* * We have more data to read. @@ -657,13 +674,13 @@ if (kvp_file_init()) { syslog(LOG_ERR, "Failed to initialize the pools"); - exit(-1); + exit(EXIT_FAILURE); } fd = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_CONNECTOR); if (fd < 0) { syslog(LOG_ERR, "netlink socket creation failed; error:%d", fd); - exit(-1); + exit(EXIT_FAILURE); } addr.nl_family = AF_NETLINK; addr.nl_pad = 0; @@ -675,7 +692,7 @@ if (error < 0) { syslog(LOG_ERR, "bind failed; error:%d", error); close(fd); - exit(-1); + exit(EXIT_FAILURE); } sock_opt = addr.nl_groups; setsockopt(fd, 270, 1, &sock_opt, sizeof(sock_opt)); @@ -695,7 +712,7 @@ if (len < 0) { syslog(LOG_ERR, "netlink_send failed; error:%d", len); close(fd); - exit(-1); + exit(EXIT_FAILURE); } pfd.fd = fd; @@ -710,13 +727,19 @@ len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0, addr_p, &addr_l); - if (len < 0 || addr.nl_pid) { + if (len < 0) { syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s", addr.nl_pid, errno, strerror(errno)); close(fd); return -1; } + if (addr.nl_pid) { + syslog(LOG_WARNING, "Received packet from untrusted pid:%u", + addr.nl_pid); + continue; + } + incoming_msg = (struct nlmsghdr *)kvp_recv_buffer; incoming_cn_msg = (struct cn_msg *)NLMSG_DATA(incoming_msg); hv_msg = (struct hv_kvp_msg *)incoming_cn_msg->data; @@ -863,7 +886,7 @@ len = netlink_send(fd, incoming_cn_msg); if (len < 0) { syslog(LOG_ERR, "net_link send failed; error:%d", len); - exit(-1); + exit(EXIT_FAILURE); } } --- linux-lowlatency-3.5.0.orig/tools/lguest/lguest.c +++ linux-lowlatency-3.5.0/tools/lguest/lguest.c @@ -1299,6 +1299,7 @@ dev->feature_len = 0; dev->num_vq = 0; dev->running = false; + dev->next = NULL; /* * Append to device list. Prepending to a single-linked list is --- linux-lowlatency-3.5.0.orig/tools/perf/Makefile +++ linux-lowlatency-3.5.0/tools/perf/Makefile @@ -62,7 +62,7 @@ ARCH := x86 IS_X86_64 := 0 ifeq (, $(findstring m32,$(EXTRA_CFLAGS))) - IS_X86_64 := $(shell echo __x86_64__ | ${CC} -E -xc - | tail -n 1) + IS_X86_64 := $(shell echo __x86_64__ | ${CC} -E -x c - | tail -n 1) endif ifeq (${IS_X86_64}, 1) RAW_ARCH := x86_64 --- linux-lowlatency-3.5.0.orig/tools/power/cpupower/Makefile +++ linux-lowlatency-3.5.0/tools/power/cpupower/Makefile @@ -111,7 +111,7 @@ export CROSS CC AR STRIP RANLIB CFLAGS LDFLAGS LIB_OBJS # check if compiler option is supported -cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;} +cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;} # use '-Os' optimization if available, else use -O2 OPTIMIZATION := $(call cc-supports,-Os,-O2) --- linux-lowlatency-3.5.0.orig/ubuntu/Kconfig +++ linux-lowlatency-3.5.0/ubuntu/Kconfig @@ -0,0 +1,29 @@ +menu "Ubuntu Supplied Third-Party Device Drivers" + +# +# NOTE: to allow drivers to be added and removed without causing merge +# collisions you should add new entries in the middle of the six lines +# of ## at the bottom of the list. Always add three lines of ## above +# your new entry and maintain the six lines below. +# + +## +## +## +source "ubuntu/dm-raid4-5/Kconfig" +## +## +## +source "ubuntu/aufs/Kconfig" +## +## +## +source "ubuntu/i915/Kconfig" +## +## +## +## +## +## + +endmenu --- linux-lowlatency-3.5.0.orig/ubuntu/Makefile +++ linux-lowlatency-3.5.0/ubuntu/Makefile @@ -0,0 +1,32 @@ +# +# Makefile for the Linux kernel ubuntu supplied third-party device drivers. +# + +# +# NOTE: to allow drivers to be added and removed without causing merge +# collisions you should add new entries in the middle of the six lines +# of ## at the bottom of the list. Always add three lines of ## above +# your new entry and maintain the six lines below. +# + +## +## +## +obj-$(CONFIG_DM_RAID45) += dm-raid4-5/ +## +## +## +obj-$(CONFIG_AUFS_FS) += aufs/ +## +## +## +obj-$(CONFIG_DRM_I915_HSW) += i915/ +## +## +## +## +## +## + +# This is a stupid trick to get kbuild to create ubuntu/built-in.o +obj- += foo.o --- linux-lowlatency-3.5.0.orig/ubuntu/aufs-update +++ linux-lowlatency-3.5.0/ubuntu/aufs-update @@ -0,0 +1,51 @@ +#!/bin/bash +# +# NOTE: See aufs/BOM.UPDATING for instructions on how to use this updater. +# + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " 1>&2 + exit 1 +fi +aufs="$1" + +# Get the current tip name +{ + read x url + read x o_log_sha1 + read x o_tip_sha1 +} +#include +#include "aufs.h" + +/* + * free a single branch + */ +static void au_br_do_free(struct au_branch *br) +{ + int i; + struct au_wbr *wbr; + struct au_dykey **key; + + au_hnotify_fin_br(br); + + if (br->br_xino.xi_file) + fput(br->br_xino.xi_file); + mutex_destroy(&br->br_xino.xi_nondir_mtx); + + AuDebugOn(atomic_read(&br->br_count)); + + wbr = br->br_wbr; + if (wbr) { + for (i = 0; i < AuBrWh_Last; i++) + dput(wbr->wbr_wh[i]); + AuDebugOn(atomic_read(&wbr->wbr_wh_running)); + AuRwDestroy(&wbr->wbr_wh_rwsem); + } + + key = br->br_dykey; + for (i = 0; i < AuBrDynOp; i++, key++) + if (*key) + au_dy_put(*key); + else + break; + + mntput(br->br_mnt); + kfree(wbr); + kfree(br); +} + +/* + * frees all branches + */ +void au_br_free(struct au_sbinfo *sbinfo) +{ + aufs_bindex_t bmax; + struct au_branch **br; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + bmax = sbinfo->si_bend + 1; + br = sbinfo->si_branch; + while (bmax--) + au_br_do_free(*br++); +} + +/* + * find the index of a branch which is specified by @br_id. + */ +int au_br_index(struct super_block *sb, aufs_bindex_t br_id) +{ + aufs_bindex_t bindex, bend; + + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) + if (au_sbr_id(sb, bindex) == br_id) + return bindex; + return -1; +} + +/* ---------------------------------------------------------------------- */ + +/* + * add a branch + */ + +static int test_overlap(struct super_block *sb, struct dentry *h_adding, + struct dentry *h_root) +{ + if (unlikely(h_adding == h_root + || au_test_loopback_overlap(sb, h_adding))) + return 1; + if (h_adding->d_sb != h_root->d_sb) + return 0; + return au_test_subdir(h_adding, h_root) + || au_test_subdir(h_root, h_adding); +} + +/* + * returns a newly allocated branch. @new_nbranch is a number of branches + * after adding a branch. + */ +static struct au_branch *au_br_alloc(struct super_block *sb, int new_nbranch, + int perm) +{ + struct au_branch *add_branch; + struct dentry *root; + int err; + + err = -ENOMEM; + root = sb->s_root; + add_branch = kmalloc(sizeof(*add_branch), GFP_NOFS); + if (unlikely(!add_branch)) + goto out; + + err = au_hnotify_init_br(add_branch, perm); + if (unlikely(err)) + goto out_br; + + add_branch->br_wbr = NULL; + if (au_br_writable(perm)) { + /* may be freed separately at changing the branch permission */ + add_branch->br_wbr = kmalloc(sizeof(*add_branch->br_wbr), + GFP_NOFS); + if (unlikely(!add_branch->br_wbr)) + goto out_hnotify; + } + + err = au_sbr_realloc(au_sbi(sb), new_nbranch); + if (!err) + err = au_di_realloc(au_di(root), new_nbranch); + if (!err) + err = au_ii_realloc(au_ii(root->d_inode), new_nbranch); + if (!err) + return add_branch; /* success */ + + kfree(add_branch->br_wbr); + +out_hnotify: + au_hnotify_fin_br(add_branch); +out_br: + kfree(add_branch); +out: + return ERR_PTR(err); +} + +/* + * test if the branch permission is legal or not. + */ +static int test_br(struct inode *inode, int brperm, char *path) +{ + int err; + + err = (au_br_writable(brperm) && IS_RDONLY(inode)); + if (!err) + goto out; + + err = -EINVAL; + pr_err("write permission for readonly mount or inode, %s\n", path); + +out: + return err; +} + +/* + * returns: + * 0: success, the caller will add it + * plus: success, it is already unified, the caller should ignore it + * minus: error + */ +static int test_add(struct super_block *sb, struct au_opt_add *add, int remount) +{ + int err; + aufs_bindex_t bend, bindex; + struct dentry *root; + struct inode *inode, *h_inode; + + root = sb->s_root; + bend = au_sbend(sb); + if (unlikely(bend >= 0 + && au_find_dbindex(root, add->path.dentry) >= 0)) { + err = 1; + if (!remount) { + err = -EINVAL; + pr_err("%s duplicated\n", add->pathname); + } + goto out; + } + + err = -ENOSPC; /* -E2BIG; */ + if (unlikely(AUFS_BRANCH_MAX <= add->bindex + || AUFS_BRANCH_MAX - 1 <= bend)) { + pr_err("number of branches exceeded %s\n", add->pathname); + goto out; + } + + err = -EDOM; + if (unlikely(add->bindex < 0 || bend + 1 < add->bindex)) { + pr_err("bad index %d\n", add->bindex); + goto out; + } + + inode = add->path.dentry->d_inode; + err = -ENOENT; + if (unlikely(!inode->i_nlink)) { + pr_err("no existence %s\n", add->pathname); + goto out; + } + + err = -EINVAL; + if (unlikely(inode->i_sb == sb)) { + pr_err("%s must be outside\n", add->pathname); + goto out; + } + + if (unlikely(au_test_fs_unsuppoted(inode->i_sb))) { + pr_err("unsupported filesystem, %s (%s)\n", + add->pathname, au_sbtype(inode->i_sb)); + goto out; + } + + err = test_br(add->path.dentry->d_inode, add->perm, add->pathname); + if (unlikely(err)) + goto out; + + if (bend < 0) + return 0; /* success */ + + err = -EINVAL; + for (bindex = 0; bindex <= bend; bindex++) + if (unlikely(test_overlap(sb, add->path.dentry, + au_h_dptr(root, bindex)))) { + pr_err("%s is overlapped\n", add->pathname); + goto out; + } + + err = 0; + if (au_opt_test(au_mntflags(sb), WARN_PERM)) { + h_inode = au_h_dptr(root, 0)->d_inode; + if ((h_inode->i_mode & S_IALLUGO) != (inode->i_mode & S_IALLUGO) + || !uid_eq(h_inode->i_uid, inode->i_uid) + || !gid_eq(h_inode->i_gid, inode->i_gid)) + pr_warn("uid/gid/perm %s %u/%u/0%o, %u/%u/0%o\n", + add->pathname, + i_uid_read(inode), i_gid_read(inode), + (inode->i_mode & S_IALLUGO), + i_uid_read(h_inode), i_gid_read(h_inode), + (h_inode->i_mode & S_IALLUGO)); + } + +out: + return err; +} + +/* + * initialize or clean the whiteouts for an adding branch + */ +static int au_br_init_wh(struct super_block *sb, struct au_branch *br, + int new_perm, struct dentry *h_root) +{ + int err, old_perm; + aufs_bindex_t bindex; + struct mutex *h_mtx; + struct au_wbr *wbr; + struct au_hinode *hdir; + + wbr = br->br_wbr; + old_perm = br->br_perm; + br->br_perm = new_perm; + hdir = NULL; + h_mtx = NULL; + bindex = au_br_index(sb, br->br_id); + if (0 <= bindex) { + hdir = au_hi(sb->s_root->d_inode, bindex); + au_hn_imtx_lock_nested(hdir, AuLsc_I_PARENT); + } else { + h_mtx = &h_root->d_inode->i_mutex; + mutex_lock_nested(h_mtx, AuLsc_I_PARENT); + } + if (!wbr) + err = au_wh_init(h_root, br, sb); + else { + wbr_wh_write_lock(wbr); + err = au_wh_init(h_root, br, sb); + wbr_wh_write_unlock(wbr); + } + if (hdir) + au_hn_imtx_unlock(hdir); + else + mutex_unlock(h_mtx); + br->br_perm = old_perm; + + if (!err && wbr && !au_br_writable(new_perm)) { + kfree(wbr); + br->br_wbr = NULL; + } + + return err; +} + +static int au_wbr_init(struct au_branch *br, struct super_block *sb, + int perm, struct path *path) +{ + int err; + struct kstatfs kst; + struct au_wbr *wbr; + struct dentry *h_dentry; + + wbr = br->br_wbr; + au_rw_init(&wbr->wbr_wh_rwsem); + memset(wbr->wbr_wh, 0, sizeof(wbr->wbr_wh)); + atomic_set(&wbr->wbr_wh_running, 0); + wbr->wbr_bytes = 0; + + /* + * a limit for rmdir/rename a dir + * cf. AUFS_MAX_NAMELEN in include/linux/aufs_type.h + */ + err = vfs_statfs(path, &kst); + if (unlikely(err)) + goto out; + err = -EINVAL; + h_dentry = path->dentry; + if (kst.f_namelen >= NAME_MAX) + err = au_br_init_wh(sb, br, perm, h_dentry); + else + pr_err("%.*s(%s), unsupported namelen %ld\n", + AuDLNPair(h_dentry), au_sbtype(h_dentry->d_sb), + kst.f_namelen); + +out: + return err; +} + +/* intialize a new branch */ +static int au_br_init(struct au_branch *br, struct super_block *sb, + struct au_opt_add *add) +{ + int err; + + err = 0; + memset(&br->br_xino, 0, sizeof(br->br_xino)); + mutex_init(&br->br_xino.xi_nondir_mtx); + br->br_perm = add->perm; + br->br_mnt = add->path.mnt; /* set first, mntget() later */ + spin_lock_init(&br->br_dykey_lock); + memset(br->br_dykey, 0, sizeof(br->br_dykey)); + atomic_set(&br->br_count, 0); + br->br_xino_upper = AUFS_XINO_TRUNC_INIT; + atomic_set(&br->br_xino_running, 0); + br->br_id = au_new_br_id(sb); + AuDebugOn(br->br_id < 0); + + if (au_br_writable(add->perm)) { + err = au_wbr_init(br, sb, add->perm, &add->path); + if (unlikely(err)) + goto out_err; + } + + if (au_opt_test(au_mntflags(sb), XINO)) { + err = au_xino_br(sb, br, add->path.dentry->d_inode->i_ino, + au_sbr(sb, 0)->br_xino.xi_file, /*do_test*/1); + if (unlikely(err)) { + AuDebugOn(br->br_xino.xi_file); + goto out_err; + } + } + + sysaufs_br_init(br); + mntget(add->path.mnt); + goto out; /* success */ + +out_err: + br->br_mnt = NULL; +out: + return err; +} + +static void au_br_do_add_brp(struct au_sbinfo *sbinfo, aufs_bindex_t bindex, + struct au_branch *br, aufs_bindex_t bend, + aufs_bindex_t amount) +{ + struct au_branch **brp; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + brp = sbinfo->si_branch + bindex; + memmove(brp + 1, brp, sizeof(*brp) * amount); + *brp = br; + sbinfo->si_bend++; + if (unlikely(bend < 0)) + sbinfo->si_bend = 0; +} + +static void au_br_do_add_hdp(struct au_dinfo *dinfo, aufs_bindex_t bindex, + aufs_bindex_t bend, aufs_bindex_t amount) +{ + struct au_hdentry *hdp; + + AuRwMustWriteLock(&dinfo->di_rwsem); + + hdp = dinfo->di_hdentry + bindex; + memmove(hdp + 1, hdp, sizeof(*hdp) * amount); + au_h_dentry_init(hdp); + dinfo->di_bend++; + if (unlikely(bend < 0)) + dinfo->di_bstart = 0; +} + +static void au_br_do_add_hip(struct au_iinfo *iinfo, aufs_bindex_t bindex, + aufs_bindex_t bend, aufs_bindex_t amount) +{ + struct au_hinode *hip; + + AuRwMustWriteLock(&iinfo->ii_rwsem); + + hip = iinfo->ii_hinode + bindex; + memmove(hip + 1, hip, sizeof(*hip) * amount); + hip->hi_inode = NULL; + au_hn_init(hip); + iinfo->ii_bend++; + if (unlikely(bend < 0)) + iinfo->ii_bstart = 0; +} + +static void au_br_do_add(struct super_block *sb, struct dentry *h_dentry, + struct au_branch *br, aufs_bindex_t bindex) +{ + struct dentry *root; + struct inode *root_inode; + aufs_bindex_t bend, amount; + + root = sb->s_root; + root_inode = root->d_inode; + bend = au_sbend(sb); + amount = bend + 1 - bindex; + au_sbilist_lock(); + au_br_do_add_brp(au_sbi(sb), bindex, br, bend, amount); + au_br_do_add_hdp(au_di(root), bindex, bend, amount); + au_br_do_add_hip(au_ii(root_inode), bindex, bend, amount); + au_set_h_dptr(root, bindex, dget(h_dentry)); + au_set_h_iptr(root_inode, bindex, au_igrab(h_dentry->d_inode), + /*flags*/0); + au_sbilist_unlock(); +} + +int au_br_add(struct super_block *sb, struct au_opt_add *add, int remount) +{ + int err; + aufs_bindex_t bend, add_bindex; + struct dentry *root, *h_dentry; + struct inode *root_inode; + struct au_branch *add_branch; + + root = sb->s_root; + root_inode = root->d_inode; + IMustLock(root_inode); + err = test_add(sb, add, remount); + if (unlikely(err < 0)) + goto out; + if (err) { + err = 0; + goto out; /* success */ + } + + bend = au_sbend(sb); + add_branch = au_br_alloc(sb, bend + 2, add->perm); + err = PTR_ERR(add_branch); + if (IS_ERR(add_branch)) + goto out; + + err = au_br_init(add_branch, sb, add); + if (unlikely(err)) { + au_br_do_free(add_branch); + goto out; + } + + add_bindex = add->bindex; + h_dentry = add->path.dentry; + if (!remount) + au_br_do_add(sb, h_dentry, add_branch, add_bindex); + else { + sysaufs_brs_del(sb, add_bindex); + au_br_do_add(sb, h_dentry, add_branch, add_bindex); + sysaufs_brs_add(sb, add_bindex); + } + + if (!add_bindex) { + au_cpup_attr_all(root_inode, /*force*/1); + sb->s_maxbytes = h_dentry->d_sb->s_maxbytes; + } else + au_add_nlink(root_inode, h_dentry->d_inode); + + /* + * this test/set prevents aufs from handling unnecesary notify events + * of xino files, in case of re-adding a writable branch which was + * once detached from aufs. + */ + if (au_xino_brid(sb) < 0 + && au_br_writable(add_branch->br_perm) + && !au_test_fs_bad_xino(h_dentry->d_sb) + && add_branch->br_xino.xi_file + && add_branch->br_xino.xi_file->f_dentry->d_parent == h_dentry) + au_xino_brid_set(sb, add_branch->br_id); + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * delete a branch + */ + +/* to show the line number, do not make it inlined function */ +#define AuVerbose(do_info, fmt, ...) do { \ + if (do_info) \ + pr_info(fmt, ##__VA_ARGS__); \ +} while (0) + +static int au_test_ibusy(struct inode *inode, aufs_bindex_t bstart, + aufs_bindex_t bend) +{ + return (inode && !S_ISDIR(inode->i_mode)) || bstart == bend; +} + +static int au_test_dbusy(struct dentry *dentry, aufs_bindex_t bstart, + aufs_bindex_t bend) +{ + return au_test_ibusy(dentry->d_inode, bstart, bend); +} + +/* + * test if the branch is deletable or not. + */ +static int test_dentry_busy(struct dentry *root, aufs_bindex_t bindex, + unsigned int sigen, const unsigned int verbose) +{ + int err, i, j, ndentry; + aufs_bindex_t bstart, bend; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry *d; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, root, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + for (i = 0; !err && i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + ndentry = dpage->ndentry; + for (j = 0; !err && j < ndentry; j++) { + d = dpage->dentries[j]; + AuDebugOn(!d->d_count); + if (!au_digen_test(d, sigen)) { + di_read_lock_child(d, AuLock_IR); + if (unlikely(au_dbrange_test(d))) { + di_read_unlock(d, AuLock_IR); + continue; + } + } else { + di_write_lock_child(d); + if (unlikely(au_dbrange_test(d))) { + di_write_unlock(d); + continue; + } + err = au_reval_dpath(d, sigen); + if (!err) + di_downgrade_lock(d, AuLock_IR); + else { + di_write_unlock(d); + break; + } + } + + /* AuDbgDentry(d); */ + bstart = au_dbstart(d); + bend = au_dbend(d); + if (bstart <= bindex + && bindex <= bend + && au_h_dptr(d, bindex) + && au_test_dbusy(d, bstart, bend)) { + err = -EBUSY; + AuVerbose(verbose, "busy %.*s\n", AuDLNPair(d)); + AuDbgDentry(d); + } + di_read_unlock(d, AuLock_IR); + } + } + +out_dpages: + au_dpages_free(&dpages); +out: + return err; +} + +static int test_inode_busy(struct super_block *sb, aufs_bindex_t bindex, + unsigned int sigen, const unsigned int verbose) +{ + int err; + unsigned long long max, ull; + struct inode *i, **array; + aufs_bindex_t bstart, bend; + + array = au_iarray_alloc(sb, &max); + err = PTR_ERR(array); + if (IS_ERR(array)) + goto out; + + err = 0; + AuDbg("b%d\n", bindex); + for (ull = 0; !err && ull < max; ull++) { + i = array[ull]; + if (i->i_ino == AUFS_ROOT_INO) + continue; + + /* AuDbgInode(i); */ + if (au_iigen(i) == sigen) + ii_read_lock_child(i); + else { + ii_write_lock_child(i); + err = au_refresh_hinode_self(i); + au_iigen_dec(i); + if (!err) + ii_downgrade_lock(i); + else { + ii_write_unlock(i); + break; + } + } + + bstart = au_ibstart(i); + bend = au_ibend(i); + if (bstart <= bindex + && bindex <= bend + && au_h_iptr(i, bindex) + && au_test_ibusy(i, bstart, bend)) { + err = -EBUSY; + AuVerbose(verbose, "busy i%lu\n", i->i_ino); + AuDbgInode(i); + } + ii_read_unlock(i); + } + au_iarray_free(array, max); + +out: + return err; +} + +static int test_children_busy(struct dentry *root, aufs_bindex_t bindex, + const unsigned int verbose) +{ + int err; + unsigned int sigen; + + sigen = au_sigen(root->d_sb); + DiMustNoWaiters(root); + IiMustNoWaiters(root->d_inode); + di_write_unlock(root); + err = test_dentry_busy(root, bindex, sigen, verbose); + if (!err) + err = test_inode_busy(root->d_sb, bindex, sigen, verbose); + di_write_lock_child(root); /* aufs_write_lock() calls ..._child() */ + + return err; +} + +static void au_br_do_del_brp(struct au_sbinfo *sbinfo, + const aufs_bindex_t bindex, + const aufs_bindex_t bend) +{ + struct au_branch **brp, **p; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + brp = sbinfo->si_branch + bindex; + if (bindex < bend) + memmove(brp, brp + 1, sizeof(*brp) * (bend - bindex)); + sbinfo->si_branch[0 + bend] = NULL; + sbinfo->si_bend--; + + p = krealloc(sbinfo->si_branch, sizeof(*p) * bend, AuGFP_SBILIST); + if (p) + sbinfo->si_branch = p; + /* harmless error */ +} + +static void au_br_do_del_hdp(struct au_dinfo *dinfo, const aufs_bindex_t bindex, + const aufs_bindex_t bend) +{ + struct au_hdentry *hdp, *p; + + AuRwMustWriteLock(&dinfo->di_rwsem); + + hdp = dinfo->di_hdentry; + if (bindex < bend) + memmove(hdp + bindex, hdp + bindex + 1, + sizeof(*hdp) * (bend - bindex)); + hdp[0 + bend].hd_dentry = NULL; + dinfo->di_bend--; + + p = krealloc(hdp, sizeof(*p) * bend, AuGFP_SBILIST); + if (p) + dinfo->di_hdentry = p; + /* harmless error */ +} + +static void au_br_do_del_hip(struct au_iinfo *iinfo, const aufs_bindex_t bindex, + const aufs_bindex_t bend) +{ + struct au_hinode *hip, *p; + + AuRwMustWriteLock(&iinfo->ii_rwsem); + + hip = iinfo->ii_hinode + bindex; + if (bindex < bend) + memmove(hip, hip + 1, sizeof(*hip) * (bend - bindex)); + iinfo->ii_hinode[0 + bend].hi_inode = NULL; + au_hn_init(iinfo->ii_hinode + bend); + iinfo->ii_bend--; + + p = krealloc(iinfo->ii_hinode, sizeof(*p) * bend, AuGFP_SBILIST); + if (p) + iinfo->ii_hinode = p; + /* harmless error */ +} + +static void au_br_do_del(struct super_block *sb, aufs_bindex_t bindex, + struct au_branch *br) +{ + aufs_bindex_t bend; + struct au_sbinfo *sbinfo; + struct dentry *root, *h_root; + struct inode *inode, *h_inode; + struct au_hinode *hinode; + + SiMustWriteLock(sb); + + root = sb->s_root; + inode = root->d_inode; + sbinfo = au_sbi(sb); + bend = sbinfo->si_bend; + + h_root = au_h_dptr(root, bindex); + hinode = au_hi(inode, bindex); + h_inode = au_igrab(hinode->hi_inode); + au_hiput(hinode); + + au_sbilist_lock(); + au_br_do_del_brp(sbinfo, bindex, bend); + au_br_do_del_hdp(au_di(root), bindex, bend); + au_br_do_del_hip(au_ii(inode), bindex, bend); + au_sbilist_unlock(); + + dput(h_root); + iput(h_inode); + au_br_do_free(br); +} + +int au_br_del(struct super_block *sb, struct au_opt_del *del, int remount) +{ + int err, rerr, i; + unsigned int mnt_flags; + aufs_bindex_t bindex, bend, br_id; + unsigned char do_wh, verbose; + struct au_branch *br; + struct au_wbr *wbr; + + err = 0; + bindex = au_find_dbindex(sb->s_root, del->h_path.dentry); + if (bindex < 0) { + if (remount) + goto out; /* success */ + err = -ENOENT; + pr_err("%s no such branch\n", del->pathname); + goto out; + } + AuDbg("bindex b%d\n", bindex); + + err = -EBUSY; + mnt_flags = au_mntflags(sb); + verbose = !!au_opt_test(mnt_flags, VERBOSE); + bend = au_sbend(sb); + if (unlikely(!bend)) { + AuVerbose(verbose, "no more branches left\n"); + goto out; + } + br = au_sbr(sb, bindex); + i = atomic_read(&br->br_count); + if (unlikely(i)) { + AuVerbose(verbose, "%d file(s) opened\n", i); + goto out; + } + + wbr = br->br_wbr; + do_wh = wbr && (wbr->wbr_whbase || wbr->wbr_plink || wbr->wbr_orph); + if (do_wh) { + /* instead of WbrWhMustWriteLock(wbr) */ + SiMustWriteLock(sb); + for (i = 0; i < AuBrWh_Last; i++) { + dput(wbr->wbr_wh[i]); + wbr->wbr_wh[i] = NULL; + } + } + + err = test_children_busy(sb->s_root, bindex, verbose); + if (unlikely(err)) { + if (do_wh) + goto out_wh; + goto out; + } + + err = 0; + br_id = br->br_id; + if (!remount) + au_br_do_del(sb, bindex, br); + else { + sysaufs_brs_del(sb, bindex); + au_br_do_del(sb, bindex, br); + sysaufs_brs_add(sb, bindex); + } + + if (!bindex) { + au_cpup_attr_all(sb->s_root->d_inode, /*force*/1); + sb->s_maxbytes = au_sbr_sb(sb, 0)->s_maxbytes; + } else + au_sub_nlink(sb->s_root->d_inode, del->h_path.dentry->d_inode); + if (au_opt_test(mnt_flags, PLINK)) + au_plink_half_refresh(sb, br_id); + + if (au_xino_brid(sb) == br_id) + au_xino_brid_set(sb, -1); + goto out; /* success */ + +out_wh: + /* revert */ + rerr = au_br_init_wh(sb, br, br->br_perm, del->h_path.dentry); + if (rerr) + pr_warn("failed re-creating base whiteout, %s. (%d)\n", + del->pathname, rerr); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_ibusy(struct super_block *sb, struct aufs_ibusy __user *arg) +{ + int err; + aufs_bindex_t bstart, bend; + struct aufs_ibusy ibusy; + struct inode *inode, *h_inode; + + err = -EPERM; + if (unlikely(!capable(CAP_SYS_ADMIN))) + goto out; + + err = copy_from_user(&ibusy, arg, sizeof(ibusy)); + if (!err) + err = !access_ok(VERIFY_WRITE, &arg->h_ino, sizeof(arg->h_ino)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + + err = -EINVAL; + si_read_lock(sb, AuLock_FLUSH); + if (unlikely(ibusy.bindex < 0 || ibusy.bindex > au_sbend(sb))) + goto out_unlock; + + err = 0; + ibusy.h_ino = 0; /* invalid */ + inode = ilookup(sb, ibusy.ino); + if (!inode + || inode->i_ino == AUFS_ROOT_INO + || is_bad_inode(inode)) + goto out_unlock; + + ii_read_lock_child(inode); + bstart = au_ibstart(inode); + bend = au_ibend(inode); + if (bstart <= ibusy.bindex && ibusy.bindex <= bend) { + h_inode = au_h_iptr(inode, ibusy.bindex); + if (h_inode && au_test_ibusy(inode, bstart, bend)) + ibusy.h_ino = h_inode->i_ino; + } + ii_read_unlock(inode); + iput(inode); + +out_unlock: + si_read_unlock(sb); + if (!err) { + err = __put_user(ibusy.h_ino, &arg->h_ino); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + } + } +out: + return err; +} + +long au_ibusy_ioctl(struct file *file, unsigned long arg) +{ + return au_ibusy(file->f_dentry->d_sb, (void __user *)arg); +} + +#ifdef CONFIG_COMPAT +long au_ibusy_compat_ioctl(struct file *file, unsigned long arg) +{ + return au_ibusy(file->f_dentry->d_sb, compat_ptr(arg)); +} +#endif + +/* ---------------------------------------------------------------------- */ + +/* + * change a branch permission + */ + +static void au_warn_ima(void) +{ +#ifdef CONFIG_IMA + /* since it doesn't support mark_files_ro() */ + AuWarn1("RW -> RO makes IMA to produce wrong message\n"); +#endif +} + +static int do_need_sigen_inc(int a, int b) +{ + return au_br_whable(a) && !au_br_whable(b); +} + +static int need_sigen_inc(int old, int new) +{ + return do_need_sigen_inc(old, new) + || do_need_sigen_inc(new, old); +} + +static unsigned long long au_farray_cb(void *a, + unsigned long long max __maybe_unused, + void *arg) +{ + unsigned long long n; + struct file **p, *f; + struct super_block *sb = arg; + + n = 0; + p = a; + lg_global_lock(&files_lglock); + do_file_list_for_each_entry(sb, f) { + if (au_fi(f) + && file_count(f) + && !special_file(f->f_dentry->d_inode->i_mode)) { + get_file(f); + *p++ = f; + n++; + AuDebugOn(n > max); + } + } while_file_list_for_each_entry; + lg_global_unlock(&files_lglock); + + return n; +} + +static struct file **au_farray_alloc(struct super_block *sb, + unsigned long long *max) +{ + *max = atomic_long_read(&au_sbi(sb)->si_nfiles); + return au_array_alloc(max, au_farray_cb, sb); +} + +static void au_farray_free(struct file **a, unsigned long long max) +{ + unsigned long long ull; + + for (ull = 0; ull < max; ull++) + if (a[ull]) + fput(a[ull]); + au_array_free(a); +} + +static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) +{ + int err, do_warn; + unsigned int mnt_flags; + unsigned long long ull, max; + aufs_bindex_t br_id; + unsigned char verbose; + struct file *file, *hf, **array; + struct inode *inode; + struct au_hfile *hfile; + + mnt_flags = au_mntflags(sb); + verbose = !!au_opt_test(mnt_flags, VERBOSE); + + array = au_farray_alloc(sb, &max); + err = PTR_ERR(array); + if (IS_ERR(array)) + goto out; + + do_warn = 0; + br_id = au_sbr_id(sb, bindex); + for (ull = 0; ull < max; ull++) { + file = array[ull]; + + /* AuDbg("%.*s\n", AuDLNPair(file->f_dentry)); */ + fi_read_lock(file); + if (unlikely(au_test_mmapped(file))) { + err = -EBUSY; + AuVerbose(verbose, "mmapped %.*s\n", + AuDLNPair(file->f_dentry)); + AuDbgFile(file); + FiMustNoWaiters(file); + fi_read_unlock(file); + goto out_array; + } + + inode = file->f_dentry->d_inode; + hfile = &au_fi(file)->fi_htop; + hf = hfile->hf_file; + if (!S_ISREG(inode->i_mode) + || !(file->f_mode & FMODE_WRITE) + || hfile->hf_br->br_id != br_id + || !(hf->f_mode & FMODE_WRITE)) + array[ull] = NULL; + else { + do_warn = 1; + get_file(file); + } + + FiMustNoWaiters(file); + fi_read_unlock(file); + fput(file); + } + + err = 0; + if (do_warn) + au_warn_ima(); + + for (ull = 0; ull < max; ull++) { + file = array[ull]; + if (!file) + continue; + + /* todo: already flushed? */ + /* cf. fs/super.c:mark_files_ro() */ + /* fi_read_lock(file); */ + hfile = &au_fi(file)->fi_htop; + hf = hfile->hf_file; + /* fi_read_unlock(file); */ + spin_lock(&hf->f_lock); + hf->f_mode &= ~FMODE_WRITE; + spin_unlock(&hf->f_lock); + if (!file_check_writeable(hf)) { + file_release_write(hf); + mnt_drop_write(hf->f_vfsmnt); + } + } + +out_array: + au_farray_free(array, max); +out: + AuTraceErr(err); + return err; +} + +int au_br_mod(struct super_block *sb, struct au_opt_mod *mod, int remount, + int *do_refresh) +{ + int err, rerr; + aufs_bindex_t bindex; + struct path path; + struct dentry *root; + struct au_branch *br; + + root = sb->s_root; + bindex = au_find_dbindex(root, mod->h_root); + if (bindex < 0) { + if (remount) + return 0; /* success */ + err = -ENOENT; + pr_err("%s no such branch\n", mod->path); + goto out; + } + AuDbg("bindex b%d\n", bindex); + + err = test_br(mod->h_root->d_inode, mod->perm, mod->path); + if (unlikely(err)) + goto out; + + br = au_sbr(sb, bindex); + if (br->br_perm == mod->perm) + return 0; /* success */ + + if (au_br_writable(br->br_perm)) { + /* remove whiteout base */ + err = au_br_init_wh(sb, br, mod->perm, mod->h_root); + if (unlikely(err)) + goto out; + + if (!au_br_writable(mod->perm)) { + /* rw --> ro, file might be mmapped */ + DiMustNoWaiters(root); + IiMustNoWaiters(root->d_inode); + di_write_unlock(root); + err = au_br_mod_files_ro(sb, bindex); + /* aufs_write_lock() calls ..._child() */ + di_write_lock_child(root); + + if (unlikely(err)) { + rerr = -ENOMEM; + br->br_wbr = kmalloc(sizeof(*br->br_wbr), + GFP_NOFS); + if (br->br_wbr) { + path.mnt = br->br_mnt; + path.dentry = mod->h_root; + rerr = au_wbr_init(br, sb, br->br_perm, + &path); + } + if (unlikely(rerr)) { + AuIOErr("nested error %d (%d)\n", + rerr, err); + br->br_perm = mod->perm; + } + } + } + } else if (au_br_writable(mod->perm)) { + /* ro --> rw */ + err = -ENOMEM; + br->br_wbr = kmalloc(sizeof(*br->br_wbr), GFP_NOFS); + if (br->br_wbr) { + path.mnt = br->br_mnt; + path.dentry = mod->h_root; + err = au_wbr_init(br, sb, mod->perm, &path); + if (unlikely(err)) { + kfree(br->br_wbr); + br->br_wbr = NULL; + } + } + } + + if (!err) { + *do_refresh |= need_sigen_inc(br->br_perm, mod->perm); + br->br_perm = mod->perm; + } + +out: + AuTraceErr(err); + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/branch.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/branch.h @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * branch filesystems and xino for them + */ + +#ifndef __AUFS_BRANCH_H__ +#define __AUFS_BRANCH_H__ + +#ifdef __KERNEL__ + +#include +#include "dynop.h" +#include "rwsem.h" +#include "super.h" + +/* ---------------------------------------------------------------------- */ + +/* a xino file */ +struct au_xino_file { + struct file *xi_file; + struct mutex xi_nondir_mtx; + + /* todo: make xino files an array to support huge inode number */ + +#ifdef CONFIG_DEBUG_FS + struct dentry *xi_dbgaufs; +#endif +}; + +/* members for writable branch only */ +enum {AuBrWh_BASE, AuBrWh_PLINK, AuBrWh_ORPH, AuBrWh_Last}; +struct au_wbr { + struct au_rwsem wbr_wh_rwsem; + struct dentry *wbr_wh[AuBrWh_Last]; + atomic_t wbr_wh_running; +#define wbr_whbase wbr_wh[AuBrWh_BASE] /* whiteout base */ +#define wbr_plink wbr_wh[AuBrWh_PLINK] /* pseudo-link dir */ +#define wbr_orph wbr_wh[AuBrWh_ORPH] /* dir for orphans */ + + /* mfs mode */ + unsigned long long wbr_bytes; +}; + +/* ext2 has 3 types of operations at least, ext3 has 4 */ +#define AuBrDynOp (AuDyLast * 4) + +/* protected by superblock rwsem */ +struct au_branch { + struct au_xino_file br_xino; + + aufs_bindex_t br_id; + + int br_perm; + struct vfsmount *br_mnt; + spinlock_t br_dykey_lock; + struct au_dykey *br_dykey[AuBrDynOp]; + atomic_t br_count; + + struct au_wbr *br_wbr; + + /* xino truncation */ + blkcnt_t br_xino_upper; /* watermark in blocks */ + atomic_t br_xino_running; + +#ifdef CONFIG_AUFS_HFSNOTIFY + struct fsnotify_group *br_hfsn_group; + struct fsnotify_ops br_hfsn_ops; +#endif + +#ifdef CONFIG_SYSFS + /* an entry under sysfs per mount-point */ + char br_name[8]; + struct attribute br_attr; +#endif +}; + +/* ---------------------------------------------------------------------- */ + +/* branch permissions and attributes */ +#define AuBrPerm_RW 1 /* writable, hardlinkable wh */ +#define AuBrPerm_RO (1 << 1) /* readonly */ +#define AuBrPerm_RR (1 << 2) /* natively readonly */ +#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR) + +#define AuBrRAttr_WH (1 << 3) /* whiteout-able */ + +#define AuBrWAttr_NoLinkWH (1 << 4) /* un-hardlinkable whiteouts */ + +static inline int au_br_writable(int brperm) +{ + return brperm & AuBrPerm_RW; +} + +static inline int au_br_whable(int brperm) +{ + return brperm & (AuBrPerm_RW | AuBrRAttr_WH); +} + +static inline int au_br_wh_linkable(int brperm) +{ + return !(brperm & AuBrWAttr_NoLinkWH); +} + +static inline int au_br_rdonly(struct au_branch *br) +{ + return ((br->br_mnt->mnt_sb->s_flags & MS_RDONLY) + || !au_br_writable(br->br_perm)) + ? -EROFS : 0; +} + +static inline int au_br_hnotifyable(int brperm __maybe_unused) +{ +#ifdef CONFIG_AUFS_HNOTIFY + return !(brperm & AuBrPerm_RR); +#else + return 0; +#endif +} + +/* ---------------------------------------------------------------------- */ + +/* branch.c */ +struct au_sbinfo; +void au_br_free(struct au_sbinfo *sinfo); +int au_br_index(struct super_block *sb, aufs_bindex_t br_id); +struct au_opt_add; +int au_br_add(struct super_block *sb, struct au_opt_add *add, int remount); +struct au_opt_del; +int au_br_del(struct super_block *sb, struct au_opt_del *del, int remount); +long au_ibusy_ioctl(struct file *file, unsigned long arg); +#ifdef CONFIG_COMPAT +long au_ibusy_compat_ioctl(struct file *file, unsigned long arg); +#endif +struct au_opt_mod; +int au_br_mod(struct super_block *sb, struct au_opt_mod *mod, int remount, + int *do_refresh); + +/* xino.c */ +static const loff_t au_loff_max = LLONG_MAX; + +int au_xib_trunc(struct super_block *sb); +ssize_t xino_fread(au_readf_t func, struct file *file, void *buf, size_t size, + loff_t *pos); +ssize_t xino_fwrite(au_writef_t func, struct file *file, void *buf, size_t size, + loff_t *pos); +struct file *au_xino_create2(struct file *base_file, struct file *copy_src); +struct file *au_xino_create(struct super_block *sb, char *fname, int silent); +ino_t au_xino_new_ino(struct super_block *sb); +void au_xino_delete_inode(struct inode *inode, const int unlinked); +int au_xino_write(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t ino); +int au_xino_read(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t *ino); +int au_xino_br(struct super_block *sb, struct au_branch *br, ino_t hino, + struct file *base_file, int do_test); +int au_xino_trunc(struct super_block *sb, aufs_bindex_t bindex); + +struct au_opt_xino; +int au_xino_set(struct super_block *sb, struct au_opt_xino *xino, int remount); +void au_xino_clr(struct super_block *sb); +struct file *au_xino_def(struct super_block *sb); +int au_xino_path(struct seq_file *seq, struct file *file); + +/* ---------------------------------------------------------------------- */ + +/* Superblock to branch */ +static inline +aufs_bindex_t au_sbr_id(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_sbr(sb, bindex)->br_id; +} + +static inline +struct vfsmount *au_sbr_mnt(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_sbr(sb, bindex)->br_mnt; +} + +static inline +struct super_block *au_sbr_sb(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_sbr_mnt(sb, bindex)->mnt_sb; +} + +static inline void au_sbr_put(struct super_block *sb, aufs_bindex_t bindex) +{ + atomic_dec(&au_sbr(sb, bindex)->br_count); +} + +static inline int au_sbr_perm(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_sbr(sb, bindex)->br_perm; +} + +static inline int au_sbr_whable(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_br_whable(au_sbr_perm(sb, bindex)); +} + +/* ---------------------------------------------------------------------- */ + +/* + * wbr_wh_read_lock, wbr_wh_write_lock + * wbr_wh_read_unlock, wbr_wh_write_unlock, wbr_wh_downgrade_lock + */ +AuSimpleRwsemFuncs(wbr_wh, struct au_wbr *wbr, &wbr->wbr_wh_rwsem); + +#define WbrWhMustNoWaiters(wbr) AuRwMustNoWaiters(&wbr->wbr_wh_rwsem) +#define WbrWhMustAnyLock(wbr) AuRwMustAnyLock(&wbr->wbr_wh_rwsem) +#define WbrWhMustWriteLock(wbr) AuRwMustWriteLock(&wbr->wbr_wh_rwsem) + +#endif /* __KERNEL__ */ +#endif /* __AUFS_BRANCH_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/conf.mk +++ linux-lowlatency-3.5.0/ubuntu/aufs/conf.mk @@ -0,0 +1,38 @@ + +AuConfStr = CONFIG_AUFS_FS=${CONFIG_AUFS_FS} + +define AuConf +ifdef ${1} +AuConfStr += ${1}=${${1}} +endif +endef + +AuConfAll = BRANCH_MAX_127 BRANCH_MAX_511 BRANCH_MAX_1023 BRANCH_MAX_32767 \ + SBILIST \ + HNOTIFY HFSNOTIFY \ + EXPORT INO_T_64 \ + RDU \ + PROC_MAP \ + SP_IATTR \ + SHWH \ + BR_RAMFS \ + BR_FUSE POLL \ + BR_HFSPLUS \ + BDEV_LOOP \ + DEBUG MAGIC_SYSRQ +$(foreach i, ${AuConfAll}, \ + $(eval $(call AuConf,CONFIG_AUFS_${i}))) + +AuConfName = ${obj}/conf.str +${AuConfName}.tmp: FORCE + @echo ${AuConfStr} | tr ' ' '\n' | sed -e 's/^/"/' -e 's/$$/\\n"/' > $@ +${AuConfName}: ${AuConfName}.tmp + @diff -q $< $@ > /dev/null 2>&1 || { \ + echo ' GEN ' $@; \ + cp -p $< $@; \ + } +FORCE: +clean-files += ${AuConfName} ${AuConfName}.tmp +${obj}/sysfs.o: ${AuConfName} + +-include ${srctree}/${src}/conf_priv.mk --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/cpup.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/cpup.c @@ -0,0 +1,1084 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * copy-up functions, see wbr_policy.c for copy-down + */ + +#include +#include +#include "aufs.h" + +void au_cpup_attr_flags(struct inode *dst, struct inode *src) +{ + const unsigned int mask = S_DEAD | S_SWAPFILE | S_PRIVATE + | S_NOATIME | S_NOCMTIME; + + dst->i_flags |= src->i_flags & ~mask; + if (au_test_fs_notime(dst->i_sb)) + dst->i_flags |= S_NOATIME | S_NOCMTIME; +} + +void au_cpup_attr_timesizes(struct inode *inode) +{ + struct inode *h_inode; + + h_inode = au_h_iptr(inode, au_ibstart(inode)); + fsstack_copy_attr_times(inode, h_inode); + fsstack_copy_inode_size(inode, h_inode); +} + +void au_cpup_attr_nlink(struct inode *inode, int force) +{ + struct inode *h_inode; + struct super_block *sb; + aufs_bindex_t bindex, bend; + + sb = inode->i_sb; + bindex = au_ibstart(inode); + h_inode = au_h_iptr(inode, bindex); + if (!force + && !S_ISDIR(h_inode->i_mode) + && au_opt_test(au_mntflags(sb), PLINK) + && au_plink_test(inode)) + return; + + /* + * 0 can happen in revalidating. + * h_inode->i_mutex is not held, but it is harmless since once i_nlink + * reaches 0, it will never become positive. + */ + set_nlink(inode, h_inode->i_nlink); + + /* + * fewer nlink makes find(1) noisy, but larger nlink doesn't. + * it may includes whplink directory. + */ + if (S_ISDIR(h_inode->i_mode)) { + bend = au_ibend(inode); + for (bindex++; bindex <= bend; bindex++) { + h_inode = au_h_iptr(inode, bindex); + if (h_inode) + au_add_nlink(inode, h_inode); + } + } +} + +void au_cpup_attr_changeable(struct inode *inode) +{ + struct inode *h_inode; + + h_inode = au_h_iptr(inode, au_ibstart(inode)); + inode->i_mode = h_inode->i_mode; + inode->i_uid = h_inode->i_uid; + inode->i_gid = h_inode->i_gid; + au_cpup_attr_timesizes(inode); + au_cpup_attr_flags(inode, h_inode); +} + +void au_cpup_igen(struct inode *inode, struct inode *h_inode) +{ + struct au_iinfo *iinfo = au_ii(inode); + + IiMustWriteLock(inode); + + iinfo->ii_higen = h_inode->i_generation; + iinfo->ii_hsb1 = h_inode->i_sb; +} + +void au_cpup_attr_all(struct inode *inode, int force) +{ + struct inode *h_inode; + + h_inode = au_h_iptr(inode, au_ibstart(inode)); + au_cpup_attr_changeable(inode); + if (inode->i_nlink > 0) + au_cpup_attr_nlink(inode, force); + inode->i_rdev = h_inode->i_rdev; + inode->i_blkbits = h_inode->i_blkbits; + au_cpup_igen(inode, h_inode); +} + +/* ---------------------------------------------------------------------- */ + +/* Note: dt_dentry and dt_h_dentry are not dget/dput-ed */ + +/* keep the timestamps of the parent dir when cpup */ +void au_dtime_store(struct au_dtime *dt, struct dentry *dentry, + struct path *h_path) +{ + struct inode *h_inode; + + dt->dt_dentry = dentry; + dt->dt_h_path = *h_path; + h_inode = h_path->dentry->d_inode; + dt->dt_atime = h_inode->i_atime; + dt->dt_mtime = h_inode->i_mtime; + /* smp_mb(); */ +} + +void au_dtime_revert(struct au_dtime *dt) +{ + struct iattr attr; + int err; + + attr.ia_atime = dt->dt_atime; + attr.ia_mtime = dt->dt_mtime; + attr.ia_valid = ATTR_FORCE | ATTR_MTIME | ATTR_MTIME_SET + | ATTR_ATIME | ATTR_ATIME_SET; + + err = vfsub_notify_change(&dt->dt_h_path, &attr); + if (unlikely(err)) + pr_warn("restoring timestamps failed(%d). ignored\n", err); +} + +/* ---------------------------------------------------------------------- */ + +static noinline_for_stack +int cpup_iattr(struct dentry *dst, aufs_bindex_t bindex, struct dentry *h_src) +{ + int err, sbits; + struct iattr ia; + struct path h_path; + struct inode *h_isrc, *h_idst; + + h_path.dentry = au_h_dptr(dst, bindex); + h_idst = h_path.dentry->d_inode; + h_path.mnt = au_sbr_mnt(dst->d_sb, bindex); + h_isrc = h_src->d_inode; + ia.ia_valid = ATTR_FORCE | ATTR_UID | ATTR_GID + | ATTR_ATIME | ATTR_MTIME + | ATTR_ATIME_SET | ATTR_MTIME_SET; + ia.ia_uid = h_isrc->i_uid; + ia.ia_gid = h_isrc->i_gid; + ia.ia_atime = h_isrc->i_atime; + ia.ia_mtime = h_isrc->i_mtime; + if (h_idst->i_mode != h_isrc->i_mode + && !S_ISLNK(h_idst->i_mode)) { + ia.ia_valid |= ATTR_MODE; + ia.ia_mode = h_isrc->i_mode; + } + sbits = !!(h_isrc->i_mode & (S_ISUID | S_ISGID)); + au_cpup_attr_flags(h_idst, h_isrc); + err = vfsub_notify_change(&h_path, &ia); + + /* is this nfs only? */ + if (!err && sbits && au_test_nfs(h_path.dentry->d_sb)) { + ia.ia_valid = ATTR_FORCE | ATTR_MODE; + ia.ia_mode = h_isrc->i_mode; + err = vfsub_notify_change(&h_path, &ia); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_copy_file(struct file *dst, struct file *src, loff_t len, + char *buf, unsigned long blksize) +{ + int err; + size_t sz, rbytes, wbytes; + unsigned char all_zero; + char *p, *zp; + struct mutex *h_mtx; + /* reduce stack usage */ + struct iattr *ia; + + zp = page_address(ZERO_PAGE(0)); + if (unlikely(!zp)) + return -ENOMEM; /* possible? */ + + err = 0; + all_zero = 0; + while (len) { + AuDbg("len %lld\n", len); + sz = blksize; + if (len < blksize) + sz = len; + + rbytes = 0; + /* todo: signal_pending? */ + while (!rbytes || err == -EAGAIN || err == -EINTR) { + rbytes = vfsub_read_k(src, buf, sz, &src->f_pos); + err = rbytes; + } + if (unlikely(err < 0)) + break; + + all_zero = 0; + if (len >= rbytes && rbytes == blksize) + all_zero = !memcmp(buf, zp, rbytes); + if (!all_zero) { + wbytes = rbytes; + p = buf; + while (wbytes) { + size_t b; + + b = vfsub_write_k(dst, p, wbytes, &dst->f_pos); + err = b; + /* todo: signal_pending? */ + if (unlikely(err == -EAGAIN || err == -EINTR)) + continue; + if (unlikely(err < 0)) + break; + wbytes -= b; + p += b; + } + } else { + loff_t res; + + AuLabel(hole); + res = vfsub_llseek(dst, rbytes, SEEK_CUR); + err = res; + if (unlikely(res < 0)) + break; + } + len -= rbytes; + err = 0; + } + + /* the last block may be a hole */ + if (!err && all_zero) { + AuLabel(last hole); + + err = 1; + if (au_test_nfs(dst->f_dentry->d_sb)) { + /* nfs requires this step to make last hole */ + /* is this only nfs? */ + do { + /* todo: signal_pending? */ + err = vfsub_write_k(dst, "\0", 1, &dst->f_pos); + } while (err == -EAGAIN || err == -EINTR); + if (err == 1) + dst->f_pos--; + } + + if (err == 1) { + ia = (void *)buf; + ia->ia_size = dst->f_pos; + ia->ia_valid = ATTR_SIZE | ATTR_FILE; + ia->ia_file = dst; + h_mtx = &dst->f_dentry->d_inode->i_mutex; + mutex_lock_nested(h_mtx, AuLsc_I_CHILD2); + err = vfsub_notify_change(&dst->f_path, ia); + mutex_unlock(h_mtx); + } + } + + return err; +} + +int au_copy_file(struct file *dst, struct file *src, loff_t len) +{ + int err; + unsigned long blksize; + unsigned char do_kfree; + char *buf; + + err = -ENOMEM; + blksize = dst->f_dentry->d_sb->s_blocksize; + if (!blksize || PAGE_SIZE < blksize) + blksize = PAGE_SIZE; + AuDbg("blksize %lu\n", blksize); + do_kfree = (blksize != PAGE_SIZE && blksize >= sizeof(struct iattr *)); + if (do_kfree) + buf = kmalloc(blksize, GFP_NOFS); + else + buf = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!buf)) + goto out; + + if (len > (1 << 22)) + AuDbg("copying a large file %lld\n", (long long)len); + + src->f_pos = 0; + dst->f_pos = 0; + err = au_do_copy_file(dst, src, len, buf, blksize); + if (do_kfree) + kfree(buf); + else + free_page((unsigned long)buf); + +out: + return err; +} + +/* + * to support a sparse file which is opened with O_APPEND, + * we need to close the file. + */ +static int au_cp_regular(struct dentry *dentry, aufs_bindex_t bdst, + aufs_bindex_t bsrc, loff_t len) +{ + int err, i; + enum { SRC, DST }; + struct { + aufs_bindex_t bindex; + unsigned int flags; + struct dentry *dentry; + struct file *file; + void *label, *label_file; + } *f, file[] = { + { + .bindex = bsrc, + .flags = O_RDONLY | O_NOATIME | O_LARGEFILE, + .file = NULL, + .label = &&out, + .label_file = &&out_src + }, + { + .bindex = bdst, + .flags = O_WRONLY | O_NOATIME | O_LARGEFILE, + .file = NULL, + .label = &&out_src, + .label_file = &&out_dst + } + }; + struct super_block *sb; + + /* bsrc branch can be ro/rw. */ + sb = dentry->d_sb; + f = file; + for (i = 0; i < 2; i++, f++) { + f->dentry = au_h_dptr(dentry, f->bindex); + f->file = au_h_open(dentry, f->bindex, f->flags, /*file*/NULL); + err = PTR_ERR(f->file); + if (IS_ERR(f->file)) + goto *f->label; + err = -EINVAL; + if (unlikely(!f->file->f_op)) + goto *f->label_file; + } + + /* try stopping to update while we copyup */ + IMustLock(file[SRC].dentry->d_inode); + err = au_copy_file(file[DST].file, file[SRC].file, len); + +out_dst: + fput(file[DST].file); + au_sbr_put(sb, file[DST].bindex); +out_src: + fput(file[SRC].file); + au_sbr_put(sb, file[SRC].bindex); +out: + return err; +} + +static int au_do_cpup_regular(struct dentry *dentry, aufs_bindex_t bdst, + aufs_bindex_t bsrc, loff_t len, + struct inode *h_dir, struct path *h_path) +{ + int err, rerr; + loff_t l; + + err = 0; + l = i_size_read(au_h_iptr(dentry->d_inode, bsrc)); + if (len == -1 || l < len) + len = l; + if (len) + err = au_cp_regular(dentry, bdst, bsrc, len); + if (!err) + goto out; /* success */ + + rerr = vfsub_unlink(h_dir, h_path, /*force*/0); + if (rerr) { + AuIOErr("failed unlinking cpup-ed %.*s(%d, %d)\n", + AuDLNPair(h_path->dentry), err, rerr); + err = -EIO; + } + +out: + return err; +} + +static int au_do_cpup_symlink(struct path *h_path, struct dentry *h_src, + struct inode *h_dir) +{ + int err, symlen; + mm_segment_t old_fs; + union { + char *k; + char __user *u; + } sym; + + err = -ENOSYS; + if (unlikely(!h_src->d_inode->i_op->readlink)) + goto out; + + err = -ENOMEM; + sym.k = __getname_gfp(GFP_NOFS); + if (unlikely(!sym.k)) + goto out; + + /* unnecessary to support mmap_sem since symlink is not mmap-able */ + old_fs = get_fs(); + set_fs(KERNEL_DS); + symlen = h_src->d_inode->i_op->readlink(h_src, sym.u, PATH_MAX); + err = symlen; + set_fs(old_fs); + + if (symlen > 0) { + sym.k[symlen] = 0; + err = vfsub_symlink(h_dir, h_path, sym.k); + } + __putname(sym.k); + +out: + return err; +} + +/* return with the lower dst inode is locked */ +static noinline_for_stack +int cpup_entry(struct dentry *dentry, aufs_bindex_t bdst, + aufs_bindex_t bsrc, loff_t len, unsigned int flags, + struct dentry *dst_parent) +{ + int err; + umode_t mode; + unsigned int mnt_flags; + unsigned char isdir; + const unsigned char do_dt = !!au_ftest_cpup(flags, DTIME); + struct au_dtime dt; + struct path h_path; + struct dentry *h_src, *h_dst, *h_parent; + struct inode *h_inode, *h_dir; + struct super_block *sb; + + /* bsrc branch can be ro/rw. */ + h_src = au_h_dptr(dentry, bsrc); + h_inode = h_src->d_inode; + AuDebugOn(h_inode != au_h_iptr(dentry->d_inode, bsrc)); + + /* try stopping to be referenced while we are creating */ + h_dst = au_h_dptr(dentry, bdst); + h_parent = h_dst->d_parent; /* dir inode is locked */ + h_dir = h_parent->d_inode; + IMustLock(h_dir); + AuDebugOn(h_parent != h_dst->d_parent); + + sb = dentry->d_sb; + h_path.mnt = au_sbr_mnt(sb, bdst); + if (do_dt) { + h_path.dentry = h_parent; + au_dtime_store(&dt, dst_parent, &h_path); + } + h_path.dentry = h_dst; + + isdir = 0; + mode = h_inode->i_mode; + switch (mode & S_IFMT) { + case S_IFREG: + /* try stopping to update while we are referencing */ + IMustLock(h_inode); + err = vfsub_create(h_dir, &h_path, mode | S_IWUSR); + if (!err) + err = au_do_cpup_regular + (dentry, bdst, bsrc, len, + au_h_iptr(dst_parent->d_inode, bdst), &h_path); + break; + case S_IFDIR: + isdir = 1; + err = vfsub_mkdir(h_dir, &h_path, mode); + if (!err) { + /* + * strange behaviour from the users view, + * particularry setattr case + */ + if (au_ibstart(dst_parent->d_inode) == bdst) + au_cpup_attr_nlink(dst_parent->d_inode, + /*force*/1); + au_cpup_attr_nlink(dentry->d_inode, /*force*/1); + } + break; + case S_IFLNK: + err = au_do_cpup_symlink(&h_path, h_src, h_dir); + break; + case S_IFCHR: + case S_IFBLK: + AuDebugOn(!capable(CAP_MKNOD)); + /*FALLTHROUGH*/ + case S_IFIFO: + case S_IFSOCK: + err = vfsub_mknod(h_dir, &h_path, mode, h_inode->i_rdev); + break; + default: + AuIOErr("Unknown inode type 0%o\n", mode); + err = -EIO; + } + + mnt_flags = au_mntflags(sb); + if (!au_opt_test(mnt_flags, UDBA_NONE) + && !isdir + && au_opt_test(mnt_flags, XINO) + && h_inode->i_nlink == 1 + /* todo: unnecessary? */ + /* && dentry->d_inode->i_nlink == 1 */ + && bdst < bsrc + && !au_ftest_cpup(flags, KEEPLINO)) + au_xino_write(sb, bsrc, h_inode->i_ino, /*ino*/0); + /* ignore this error */ + + if (do_dt) + au_dtime_revert(&dt); + return err; +} + +/* + * copyup the @dentry from @bsrc to @bdst. + * the caller must set the both of lower dentries. + * @len is for truncating when it is -1 copyup the entire file. + * in link/rename cases, @dst_parent may be different from the real one. + */ +static int au_cpup_single(struct dentry *dentry, aufs_bindex_t bdst, + aufs_bindex_t bsrc, loff_t len, unsigned int flags, + struct dentry *dst_parent) +{ + int err, rerr; + aufs_bindex_t old_ibstart; + unsigned char isdir, plink; + struct au_dtime dt; + struct path h_path; + struct dentry *h_src, *h_dst, *h_parent; + struct inode *dst_inode, *h_dir, *inode; + struct super_block *sb; + + AuDebugOn(bsrc <= bdst); + + sb = dentry->d_sb; + h_path.mnt = au_sbr_mnt(sb, bdst); + h_dst = au_h_dptr(dentry, bdst); + h_parent = h_dst->d_parent; /* dir inode is locked */ + h_dir = h_parent->d_inode; + IMustLock(h_dir); + + h_src = au_h_dptr(dentry, bsrc); + inode = dentry->d_inode; + + if (!dst_parent) + dst_parent = dget_parent(dentry); + else + dget(dst_parent); + + plink = !!au_opt_test(au_mntflags(sb), PLINK); + dst_inode = au_h_iptr(inode, bdst); + if (dst_inode) { + if (unlikely(!plink)) { + err = -EIO; + AuIOErr("hi%lu(i%lu) exists on b%d " + "but plink is disabled\n", + dst_inode->i_ino, inode->i_ino, bdst); + goto out; + } + + if (dst_inode->i_nlink) { + const int do_dt = au_ftest_cpup(flags, DTIME); + + h_src = au_plink_lkup(inode, bdst); + err = PTR_ERR(h_src); + if (IS_ERR(h_src)) + goto out; + if (unlikely(!h_src->d_inode)) { + err = -EIO; + AuIOErr("i%lu exists on a upper branch " + "but not pseudo-linked\n", + inode->i_ino); + dput(h_src); + goto out; + } + + if (do_dt) { + h_path.dentry = h_parent; + au_dtime_store(&dt, dst_parent, &h_path); + } + h_path.dentry = h_dst; + err = vfsub_link(h_src, h_dir, &h_path); + if (do_dt) + au_dtime_revert(&dt); + dput(h_src); + goto out; + } else + /* todo: cpup_wh_file? */ + /* udba work */ + au_update_ibrange(inode, /*do_put_zero*/1); + } + + old_ibstart = au_ibstart(inode); + err = cpup_entry(dentry, bdst, bsrc, len, flags, dst_parent); + if (unlikely(err)) + goto out; + dst_inode = h_dst->d_inode; + mutex_lock_nested(&dst_inode->i_mutex, AuLsc_I_CHILD2); + + err = cpup_iattr(dentry, bdst, h_src); + isdir = S_ISDIR(dst_inode->i_mode); + if (!err) { + if (bdst < old_ibstart) { + if (S_ISREG(inode->i_mode)) { + err = au_dy_iaop(inode, bdst, dst_inode); + if (unlikely(err)) + goto out_rev; + } + au_set_ibstart(inode, bdst); + } + au_set_h_iptr(inode, bdst, au_igrab(dst_inode), + au_hi_flags(inode, isdir)); + mutex_unlock(&dst_inode->i_mutex); + if (!isdir + && h_src->d_inode->i_nlink > 1 + && plink) + au_plink_append(inode, bdst, h_dst); + goto out; /* success */ + } + + /* revert */ +out_rev: + h_path.dentry = h_parent; + mutex_unlock(&dst_inode->i_mutex); + au_dtime_store(&dt, dst_parent, &h_path); + h_path.dentry = h_dst; + if (!isdir) + rerr = vfsub_unlink(h_dir, &h_path, /*force*/0); + else + rerr = vfsub_rmdir(h_dir, &h_path); + au_dtime_revert(&dt); + if (rerr) { + AuIOErr("failed removing broken entry(%d, %d)\n", err, rerr); + err = -EIO; + } + +out: + dput(dst_parent); + return err; +} + +struct au_cpup_single_args { + int *errp; + struct dentry *dentry; + aufs_bindex_t bdst, bsrc; + loff_t len; + unsigned int flags; + struct dentry *dst_parent; +}; + +static void au_call_cpup_single(void *args) +{ + struct au_cpup_single_args *a = args; + *a->errp = au_cpup_single(a->dentry, a->bdst, a->bsrc, a->len, + a->flags, a->dst_parent); +} + +/* + * prevent SIGXFSZ in copy-up. + * testing CAP_MKNOD is for generic fs, + * but CAP_FSETID is for xfs only, currently. + */ +static int au_cpup_sio_test(struct super_block *sb, umode_t mode) +{ + int do_sio; + + do_sio = 0; + if (!au_wkq_test() + && (!au_sbi(sb)->si_plink_maint_pid + || au_plink_maint(sb, AuLock_NOPLM))) { + switch (mode & S_IFMT) { + case S_IFREG: + /* no condition about RLIMIT_FSIZE and the file size */ + do_sio = 1; + break; + case S_IFCHR: + case S_IFBLK: + do_sio = !capable(CAP_MKNOD); + break; + } + if (!do_sio) + do_sio = ((mode & (S_ISUID | S_ISGID)) + && !capable(CAP_FSETID)); + } + + return do_sio; +} + +int au_sio_cpup_single(struct dentry *dentry, aufs_bindex_t bdst, + aufs_bindex_t bsrc, loff_t len, unsigned int flags, + struct dentry *dst_parent) +{ + int err, wkq_err; + struct dentry *h_dentry; + + h_dentry = au_h_dptr(dentry, bsrc); + if (!au_cpup_sio_test(dentry->d_sb, h_dentry->d_inode->i_mode)) + err = au_cpup_single(dentry, bdst, bsrc, len, flags, + dst_parent); + else { + struct au_cpup_single_args args = { + .errp = &err, + .dentry = dentry, + .bdst = bdst, + .bsrc = bsrc, + .len = len, + .flags = flags, + .dst_parent = dst_parent + }; + wkq_err = au_wkq_wait(au_call_cpup_single, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} + +/* + * copyup the @dentry from the first active lower branch to @bdst, + * using au_cpup_single(). + */ +static int au_cpup_simple(struct dentry *dentry, aufs_bindex_t bdst, loff_t len, + unsigned int flags) +{ + int err; + aufs_bindex_t bsrc, bend; + + bend = au_dbend(dentry); + for (bsrc = bdst + 1; bsrc <= bend; bsrc++) + if (au_h_dptr(dentry, bsrc)) + break; + + err = au_lkup_neg(dentry, bdst); + if (!err) { + err = au_cpup_single(dentry, bdst, bsrc, len, flags, NULL); + if (!err) + return 0; /* success */ + + /* revert */ + au_set_h_dptr(dentry, bdst, NULL); + au_set_dbstart(dentry, bsrc); + } + + return err; +} + +struct au_cpup_simple_args { + int *errp; + struct dentry *dentry; + aufs_bindex_t bdst; + loff_t len; + unsigned int flags; +}; + +static void au_call_cpup_simple(void *args) +{ + struct au_cpup_simple_args *a = args; + *a->errp = au_cpup_simple(a->dentry, a->bdst, a->len, a->flags); +} + +int au_sio_cpup_simple(struct dentry *dentry, aufs_bindex_t bdst, loff_t len, + unsigned int flags) +{ + int err, wkq_err; + struct dentry *parent; + struct inode *h_dir; + + parent = dget_parent(dentry); + h_dir = au_h_iptr(parent->d_inode, bdst); + if (!au_test_h_perm_sio(h_dir, MAY_EXEC | MAY_WRITE) + && !au_cpup_sio_test(dentry->d_sb, dentry->d_inode->i_mode)) + err = au_cpup_simple(dentry, bdst, len, flags); + else { + struct au_cpup_simple_args args = { + .errp = &err, + .dentry = dentry, + .bdst = bdst, + .len = len, + .flags = flags + }; + wkq_err = au_wkq_wait(au_call_cpup_simple, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + dput(parent); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * copyup the deleted file for writing. + */ +static int au_do_cpup_wh(struct dentry *dentry, aufs_bindex_t bdst, + struct dentry *wh_dentry, struct file *file, + loff_t len) +{ + int err; + aufs_bindex_t bstart; + struct au_dinfo *dinfo; + struct dentry *h_d_dst, *h_d_start; + struct au_hdentry *hdp; + + dinfo = au_di(dentry); + AuRwMustWriteLock(&dinfo->di_rwsem); + + bstart = dinfo->di_bstart; + hdp = dinfo->di_hdentry; + h_d_dst = hdp[0 + bdst].hd_dentry; + dinfo->di_bstart = bdst; + hdp[0 + bdst].hd_dentry = wh_dentry; + if (file) { + h_d_start = hdp[0 + bstart].hd_dentry; + hdp[0 + bstart].hd_dentry = au_hf_top(file)->f_dentry; + } + err = au_cpup_single(dentry, bdst, bstart, len, !AuCpup_DTIME, + /*h_parent*/NULL); + if (file) { + if (!err) + err = au_reopen_nondir(file); + hdp[0 + bstart].hd_dentry = h_d_start; + } + hdp[0 + bdst].hd_dentry = h_d_dst; + dinfo->di_bstart = bstart; + + return err; +} + +static int au_cpup_wh(struct dentry *dentry, aufs_bindex_t bdst, loff_t len, + struct file *file) +{ + int err; + struct au_dtime dt; + struct dentry *parent, *h_parent, *wh_dentry; + struct au_branch *br; + struct path h_path; + + br = au_sbr(dentry->d_sb, bdst); + parent = dget_parent(dentry); + h_parent = au_h_dptr(parent, bdst); + wh_dentry = au_whtmp_lkup(h_parent, br, &dentry->d_name); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out; + + h_path.dentry = h_parent; + h_path.mnt = br->br_mnt; + au_dtime_store(&dt, parent, &h_path); + err = au_do_cpup_wh(dentry, bdst, wh_dentry, file, len); + if (unlikely(err)) + goto out_wh; + + dget(wh_dentry); + h_path.dentry = wh_dentry; + if (!S_ISDIR(wh_dentry->d_inode->i_mode)) + err = vfsub_unlink(h_parent->d_inode, &h_path, /*force*/0); + else + err = vfsub_rmdir(h_parent->d_inode, &h_path); + if (unlikely(err)) { + AuIOErr("failed remove copied-up tmp file %.*s(%d)\n", + AuDLNPair(wh_dentry), err); + err = -EIO; + } + au_dtime_revert(&dt); + au_set_hi_wh(dentry->d_inode, bdst, wh_dentry); + +out_wh: + dput(wh_dentry); +out: + dput(parent); + return err; +} + +struct au_cpup_wh_args { + int *errp; + struct dentry *dentry; + aufs_bindex_t bdst; + loff_t len; + struct file *file; +}; + +static void au_call_cpup_wh(void *args) +{ + struct au_cpup_wh_args *a = args; + *a->errp = au_cpup_wh(a->dentry, a->bdst, a->len, a->file); +} + +int au_sio_cpup_wh(struct dentry *dentry, aufs_bindex_t bdst, loff_t len, + struct file *file) +{ + int err, wkq_err; + struct dentry *parent, *h_orph, *h_parent, *h_dentry; + struct inode *dir, *h_dir, *h_tmpdir, *h_inode; + struct au_wbr *wbr; + + parent = dget_parent(dentry); + dir = parent->d_inode; + h_orph = NULL; + h_parent = NULL; + h_dir = au_igrab(au_h_iptr(dir, bdst)); + h_tmpdir = h_dir; + if (!h_dir->i_nlink) { + wbr = au_sbr(dentry->d_sb, bdst)->br_wbr; + h_orph = wbr->wbr_orph; + + h_parent = dget(au_h_dptr(parent, bdst)); + au_set_h_dptr(parent, bdst, dget(h_orph)); + h_tmpdir = h_orph->d_inode; + au_set_h_iptr(dir, bdst, au_igrab(h_tmpdir), /*flags*/0); + + /* this temporary unlock is safe */ + if (file) + h_dentry = au_hf_top(file)->f_dentry; + else + h_dentry = au_h_dptr(dentry, au_dbstart(dentry)); + h_inode = h_dentry->d_inode; + IMustLock(h_inode); + mutex_unlock(&h_inode->i_mutex); + mutex_lock_nested(&h_tmpdir->i_mutex, AuLsc_I_PARENT3); + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + /* todo: au_h_open_pre()? */ + } + + if (!au_test_h_perm_sio(h_tmpdir, MAY_EXEC | MAY_WRITE) + && !au_cpup_sio_test(dentry->d_sb, dentry->d_inode->i_mode)) + err = au_cpup_wh(dentry, bdst, len, file); + else { + struct au_cpup_wh_args args = { + .errp = &err, + .dentry = dentry, + .bdst = bdst, + .len = len, + .file = file + }; + wkq_err = au_wkq_wait(au_call_cpup_wh, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + if (h_orph) { + mutex_unlock(&h_tmpdir->i_mutex); + /* todo: au_h_open_post()? */ + au_set_h_iptr(dir, bdst, au_igrab(h_dir), /*flags*/0); + au_set_h_dptr(parent, bdst, h_parent); + } + iput(h_dir); + dput(parent); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * generic routine for both of copy-up and copy-down. + */ +/* cf. revalidate function in file.c */ +int au_cp_dirs(struct dentry *dentry, aufs_bindex_t bdst, + int (*cp)(struct dentry *dentry, aufs_bindex_t bdst, + struct dentry *h_parent, void *arg), + void *arg) +{ + int err; + struct au_pin pin; + struct dentry *d, *parent, *h_parent, *real_parent; + + err = 0; + parent = dget_parent(dentry); + if (IS_ROOT(parent)) + goto out; + + au_pin_init(&pin, dentry, bdst, AuLsc_DI_PARENT2, AuLsc_I_PARENT2, + au_opt_udba(dentry->d_sb), AuPin_MNT_WRITE); + + /* do not use au_dpage */ + real_parent = parent; + while (1) { + dput(parent); + parent = dget_parent(dentry); + h_parent = au_h_dptr(parent, bdst); + if (h_parent) + goto out; /* success */ + + /* find top dir which is necessary to cpup */ + do { + d = parent; + dput(parent); + parent = dget_parent(d); + di_read_lock_parent3(parent, !AuLock_IR); + h_parent = au_h_dptr(parent, bdst); + di_read_unlock(parent, !AuLock_IR); + } while (!h_parent); + + if (d != real_parent) + di_write_lock_child3(d); + + /* somebody else might create while we were sleeping */ + if (!au_h_dptr(d, bdst) || !au_h_dptr(d, bdst)->d_inode) { + if (au_h_dptr(d, bdst)) + au_update_dbstart(d); + + au_pin_set_dentry(&pin, d); + err = au_do_pin(&pin); + if (!err) { + err = cp(d, bdst, h_parent, arg); + au_unpin(&pin); + } + } + + if (d != real_parent) + di_write_unlock(d); + if (unlikely(err)) + break; + } + +out: + dput(parent); + return err; +} + +static int au_cpup_dir(struct dentry *dentry, aufs_bindex_t bdst, + struct dentry *h_parent __maybe_unused , + void *arg __maybe_unused) +{ + return au_sio_cpup_simple(dentry, bdst, -1, AuCpup_DTIME); +} + +int au_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst) +{ + return au_cp_dirs(dentry, bdst, au_cpup_dir, NULL); +} + +int au_test_and_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst) +{ + int err; + struct dentry *parent; + struct inode *dir; + + parent = dget_parent(dentry); + dir = parent->d_inode; + err = 0; + if (au_h_iptr(dir, bdst)) + goto out; + + di_read_unlock(parent, AuLock_IR); + di_write_lock_parent(parent); + /* someone else might change our inode while we were sleeping */ + if (!au_h_iptr(dir, bdst)) + err = au_cpup_dirs(dentry, bdst); + di_downgrade_lock(parent, AuLock_IR); + +out: + dput(parent); + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/cpup.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/cpup.h @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * copy-up/down functions + */ + +#ifndef __AUFS_CPUP_H__ +#define __AUFS_CPUP_H__ + +#ifdef __KERNEL__ + +#include + +struct inode; +struct file; + +void au_cpup_attr_flags(struct inode *dst, struct inode *src); +void au_cpup_attr_timesizes(struct inode *inode); +void au_cpup_attr_nlink(struct inode *inode, int force); +void au_cpup_attr_changeable(struct inode *inode); +void au_cpup_igen(struct inode *inode, struct inode *h_inode); +void au_cpup_attr_all(struct inode *inode, int force); + +/* ---------------------------------------------------------------------- */ + +/* cpup flags */ +#define AuCpup_DTIME 1 /* do dtime_store/revert */ +#define AuCpup_KEEPLINO (1 << 1) /* do not clear the lower xino, + for link(2) */ +#define au_ftest_cpup(flags, name) ((flags) & AuCpup_##name) +#define au_fset_cpup(flags, name) \ + do { (flags) |= AuCpup_##name; } while (0) +#define au_fclr_cpup(flags, name) \ + do { (flags) &= ~AuCpup_##name; } while (0) + +int au_copy_file(struct file *dst, struct file *src, loff_t len); +int au_sio_cpup_single(struct dentry *dentry, aufs_bindex_t bdst, + aufs_bindex_t bsrc, loff_t len, unsigned int flags, + struct dentry *dst_parent); +int au_sio_cpup_simple(struct dentry *dentry, aufs_bindex_t bdst, loff_t len, + unsigned int flags); +int au_sio_cpup_wh(struct dentry *dentry, aufs_bindex_t bdst, loff_t len, + struct file *file); + +int au_cp_dirs(struct dentry *dentry, aufs_bindex_t bdst, + int (*cp)(struct dentry *dentry, aufs_bindex_t bdst, + struct dentry *h_parent, void *arg), + void *arg); +int au_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst); +int au_test_and_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst); + +/* ---------------------------------------------------------------------- */ + +/* keep timestamps when copyup */ +struct au_dtime { + struct dentry *dt_dentry; + struct path dt_h_path; + struct timespec dt_atime, dt_mtime; +}; +void au_dtime_store(struct au_dtime *dt, struct dentry *dentry, + struct path *h_path); +void au_dtime_revert(struct au_dtime *dt); + +#endif /* __KERNEL__ */ +#endif /* __AUFS_CPUP_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dbgaufs.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/dbgaufs.c @@ -0,0 +1,334 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * debugfs interface + */ + +#include +#include "aufs.h" + +#ifndef CONFIG_SYSFS +#error DEBUG_FS depends upon SYSFS +#endif + +static struct dentry *dbgaufs; +static const mode_t dbgaufs_mode = S_IRUSR | S_IRGRP | S_IROTH; + +/* 20 is max digits length of ulong 64 */ +struct dbgaufs_arg { + int n; + char a[20 * 4]; +}; + +/* + * common function for all XINO files + */ +static int dbgaufs_xi_release(struct inode *inode __maybe_unused, + struct file *file) +{ + kfree(file->private_data); + return 0; +} + +static int dbgaufs_xi_open(struct file *xf, struct file *file, int do_fcnt) +{ + int err; + struct kstat st; + struct dbgaufs_arg *p; + + err = -ENOMEM; + p = kmalloc(sizeof(*p), GFP_NOFS); + if (unlikely(!p)) + goto out; + + err = 0; + p->n = 0; + file->private_data = p; + if (!xf) + goto out; + + err = vfs_getattr(xf->f_vfsmnt, xf->f_dentry, &st); + if (!err) { + if (do_fcnt) + p->n = snprintf + (p->a, sizeof(p->a), "%ld, %llux%lu %lld\n", + (long)file_count(xf), st.blocks, st.blksize, + (long long)st.size); + else + p->n = snprintf(p->a, sizeof(p->a), "%llux%lu %lld\n", + st.blocks, st.blksize, + (long long)st.size); + AuDebugOn(p->n >= sizeof(p->a)); + } else { + p->n = snprintf(p->a, sizeof(p->a), "err %d\n", err); + err = 0; + } + +out: + return err; + +} + +static ssize_t dbgaufs_xi_read(struct file *file, char __user *buf, + size_t count, loff_t *ppos) +{ + struct dbgaufs_arg *p; + + p = file->private_data; + return simple_read_from_buffer(buf, count, ppos, p->a, p->n); +} + +/* ---------------------------------------------------------------------- */ + +static int dbgaufs_xib_open(struct inode *inode, struct file *file) +{ + int err; + struct au_sbinfo *sbinfo; + struct super_block *sb; + + sbinfo = inode->i_private; + sb = sbinfo->si_sb; + si_noflush_read_lock(sb); + err = dbgaufs_xi_open(sbinfo->si_xib, file, /*do_fcnt*/0); + si_read_unlock(sb); + return err; +} + +static const struct file_operations dbgaufs_xib_fop = { + .owner = THIS_MODULE, + .open = dbgaufs_xib_open, + .release = dbgaufs_xi_release, + .read = dbgaufs_xi_read +}; + +/* ---------------------------------------------------------------------- */ + +#define DbgaufsXi_PREFIX "xi" + +static int dbgaufs_xino_open(struct inode *inode, struct file *file) +{ + int err; + long l; + struct au_sbinfo *sbinfo; + struct super_block *sb; + struct file *xf; + struct qstr *name; + + err = -ENOENT; + xf = NULL; + name = &file->f_dentry->d_name; + if (unlikely(name->len < sizeof(DbgaufsXi_PREFIX) + || memcmp(name->name, DbgaufsXi_PREFIX, + sizeof(DbgaufsXi_PREFIX) - 1))) + goto out; + err = kstrtol(name->name + sizeof(DbgaufsXi_PREFIX) - 1, 10, &l); + if (unlikely(err)) + goto out; + + sbinfo = inode->i_private; + sb = sbinfo->si_sb; + si_noflush_read_lock(sb); + if (l <= au_sbend(sb)) { + xf = au_sbr(sb, (aufs_bindex_t)l)->br_xino.xi_file; + err = dbgaufs_xi_open(xf, file, /*do_fcnt*/1); + } else + err = -ENOENT; + si_read_unlock(sb); + +out: + return err; +} + +static const struct file_operations dbgaufs_xino_fop = { + .owner = THIS_MODULE, + .open = dbgaufs_xino_open, + .release = dbgaufs_xi_release, + .read = dbgaufs_xi_read +}; + +void dbgaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex) +{ + aufs_bindex_t bend; + struct au_branch *br; + struct au_xino_file *xi; + + if (!au_sbi(sb)->si_dbgaufs) + return; + + bend = au_sbend(sb); + for (; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + xi = &br->br_xino; + if (xi->xi_dbgaufs) { + debugfs_remove(xi->xi_dbgaufs); + xi->xi_dbgaufs = NULL; + } + } +} + +void dbgaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex) +{ + struct au_sbinfo *sbinfo; + struct dentry *parent; + struct au_branch *br; + struct au_xino_file *xi; + aufs_bindex_t bend; + char name[sizeof(DbgaufsXi_PREFIX) + 5]; /* "xi" bindex NULL */ + + sbinfo = au_sbi(sb); + parent = sbinfo->si_dbgaufs; + if (!parent) + return; + + bend = au_sbend(sb); + for (; bindex <= bend; bindex++) { + snprintf(name, sizeof(name), DbgaufsXi_PREFIX "%d", bindex); + br = au_sbr(sb, bindex); + xi = &br->br_xino; + AuDebugOn(xi->xi_dbgaufs); + xi->xi_dbgaufs = debugfs_create_file(name, dbgaufs_mode, parent, + sbinfo, &dbgaufs_xino_fop); + /* ignore an error */ + if (unlikely(!xi->xi_dbgaufs)) + AuWarn1("failed %s under debugfs\n", name); + } +} + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_EXPORT +static int dbgaufs_xigen_open(struct inode *inode, struct file *file) +{ + int err; + struct au_sbinfo *sbinfo; + struct super_block *sb; + + sbinfo = inode->i_private; + sb = sbinfo->si_sb; + si_noflush_read_lock(sb); + err = dbgaufs_xi_open(sbinfo->si_xigen, file, /*do_fcnt*/0); + si_read_unlock(sb); + return err; +} + +static const struct file_operations dbgaufs_xigen_fop = { + .owner = THIS_MODULE, + .open = dbgaufs_xigen_open, + .release = dbgaufs_xi_release, + .read = dbgaufs_xi_read +}; + +static int dbgaufs_xigen_init(struct au_sbinfo *sbinfo) +{ + int err; + + /* + * This function is a dynamic '__init' fucntion actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ + + err = -EIO; + sbinfo->si_dbgaufs_xigen = debugfs_create_file + ("xigen", dbgaufs_mode, sbinfo->si_dbgaufs, sbinfo, + &dbgaufs_xigen_fop); + if (sbinfo->si_dbgaufs_xigen) + err = 0; + + return err; +} +#else +static int dbgaufs_xigen_init(struct au_sbinfo *sbinfo) +{ + return 0; +} +#endif /* CONFIG_AUFS_EXPORT */ + +/* ---------------------------------------------------------------------- */ + +void dbgaufs_si_fin(struct au_sbinfo *sbinfo) +{ + /* + * This function is a dynamic '__init' fucntion actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ + + debugfs_remove_recursive(sbinfo->si_dbgaufs); + sbinfo->si_dbgaufs = NULL; + kobject_put(&sbinfo->si_kobj); +} + +int dbgaufs_si_init(struct au_sbinfo *sbinfo) +{ + int err; + char name[SysaufsSiNameLen]; + + /* + * This function is a dynamic '__init' fucntion actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ + + err = -ENOENT; + if (!dbgaufs) { + AuErr1("/debug/aufs is uninitialized\n"); + goto out; + } + + err = -EIO; + sysaufs_name(sbinfo, name); + sbinfo->si_dbgaufs = debugfs_create_dir(name, dbgaufs); + if (unlikely(!sbinfo->si_dbgaufs)) + goto out; + kobject_get(&sbinfo->si_kobj); + + sbinfo->si_dbgaufs_xib = debugfs_create_file + ("xib", dbgaufs_mode, sbinfo->si_dbgaufs, sbinfo, + &dbgaufs_xib_fop); + if (unlikely(!sbinfo->si_dbgaufs_xib)) + goto out_dir; + + err = dbgaufs_xigen_init(sbinfo); + if (!err) + goto out; /* success */ + +out_dir: + dbgaufs_si_fin(sbinfo); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +void dbgaufs_fin(void) +{ + debugfs_remove(dbgaufs); +} + +int __init dbgaufs_init(void) +{ + int err; + + err = -EIO; + dbgaufs = debugfs_create_dir(AUFS_NAME, NULL); + if (dbgaufs) + err = 0; + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dbgaufs.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/dbgaufs.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * debugfs interface + */ + +#ifndef __DBGAUFS_H__ +#define __DBGAUFS_H__ + +#ifdef __KERNEL__ + +struct super_block; +struct au_sbinfo; + +#ifdef CONFIG_DEBUG_FS +/* dbgaufs.c */ +void dbgaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex); +void dbgaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex); +void dbgaufs_si_fin(struct au_sbinfo *sbinfo); +int dbgaufs_si_init(struct au_sbinfo *sbinfo); +void dbgaufs_fin(void); +int __init dbgaufs_init(void); +#else +AuStubVoid(dbgaufs_brs_del, struct super_block *sb, aufs_bindex_t bindex) +AuStubVoid(dbgaufs_brs_add, struct super_block *sb, aufs_bindex_t bindex) +AuStubVoid(dbgaufs_si_fin, struct au_sbinfo *sbinfo) +AuStubInt0(dbgaufs_si_init, struct au_sbinfo *sbinfo) +AuStubVoid(dbgaufs_fin, void) +AuStubInt0(__init dbgaufs_init, void) +#endif /* CONFIG_DEBUG_FS */ + +#endif /* __KERNEL__ */ +#endif /* __DBGAUFS_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dcsub.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/dcsub.c @@ -0,0 +1,243 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * sub-routines for dentry cache + */ + +#include "aufs.h" + +static void au_dpage_free(struct au_dpage *dpage) +{ + int i; + struct dentry **p; + + p = dpage->dentries; + for (i = 0; i < dpage->ndentry; i++) + dput(*p++); + free_page((unsigned long)dpage->dentries); +} + +int au_dpages_init(struct au_dcsub_pages *dpages, gfp_t gfp) +{ + int err; + void *p; + + err = -ENOMEM; + dpages->dpages = kmalloc(sizeof(*dpages->dpages), gfp); + if (unlikely(!dpages->dpages)) + goto out; + + p = (void *)__get_free_page(gfp); + if (unlikely(!p)) + goto out_dpages; + + dpages->dpages[0].ndentry = 0; + dpages->dpages[0].dentries = p; + dpages->ndpage = 1; + return 0; /* success */ + +out_dpages: + kfree(dpages->dpages); +out: + return err; +} + +void au_dpages_free(struct au_dcsub_pages *dpages) +{ + int i; + struct au_dpage *p; + + p = dpages->dpages; + for (i = 0; i < dpages->ndpage; i++) + au_dpage_free(p++); + kfree(dpages->dpages); +} + +static int au_dpages_append(struct au_dcsub_pages *dpages, + struct dentry *dentry, gfp_t gfp) +{ + int err, sz; + struct au_dpage *dpage; + void *p; + + dpage = dpages->dpages + dpages->ndpage - 1; + sz = PAGE_SIZE / sizeof(dentry); + if (unlikely(dpage->ndentry >= sz)) { + AuLabel(new dpage); + err = -ENOMEM; + sz = dpages->ndpage * sizeof(*dpages->dpages); + p = au_kzrealloc(dpages->dpages, sz, + sz + sizeof(*dpages->dpages), gfp); + if (unlikely(!p)) + goto out; + + dpages->dpages = p; + dpage = dpages->dpages + dpages->ndpage; + p = (void *)__get_free_page(gfp); + if (unlikely(!p)) + goto out; + + dpage->ndentry = 0; + dpage->dentries = p; + dpages->ndpage++; + } + + AuDebugOn(!dentry->d_count); + dpage->dentries[dpage->ndentry++] = dget_dlock(dentry); + return 0; /* success */ + +out: + return err; +} + +int au_dcsub_pages(struct au_dcsub_pages *dpages, struct dentry *root, + au_dpages_test test, void *arg) +{ + int err; + struct dentry *this_parent; + struct list_head *next; + struct super_block *sb = root->d_sb; + + err = 0; + write_seqlock(&rename_lock); + this_parent = root; + spin_lock(&this_parent->d_lock); +repeat: + next = this_parent->d_subdirs.next; +resume: + if (this_parent->d_sb == sb + && !IS_ROOT(this_parent) + && au_di(this_parent) + && this_parent->d_count + && (!test || test(this_parent, arg))) { + err = au_dpages_append(dpages, this_parent, GFP_ATOMIC); + if (unlikely(err)) + goto out; + } + + while (next != &this_parent->d_subdirs) { + struct list_head *tmp = next; + struct dentry *dentry = list_entry(tmp, struct dentry, + d_u.d_child); + + next = tmp->next; + spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED); + if (dentry->d_count) { + if (!list_empty(&dentry->d_subdirs)) { + spin_unlock(&this_parent->d_lock); + spin_release(&dentry->d_lock.dep_map, 1, + _RET_IP_); + this_parent = dentry; + spin_acquire(&this_parent->d_lock.dep_map, 0, 1, + _RET_IP_); + goto repeat; + } + if (dentry->d_sb == sb + && au_di(dentry) + && (!test || test(dentry, arg))) + err = au_dpages_append(dpages, dentry, + GFP_ATOMIC); + } + spin_unlock(&dentry->d_lock); + if (unlikely(err)) + goto out; + } + + if (this_parent != root) { + struct dentry *tmp; + struct dentry *child; + + tmp = this_parent->d_parent; + rcu_read_lock(); + spin_unlock(&this_parent->d_lock); + child = this_parent; + this_parent = tmp; + spin_lock(&this_parent->d_lock); + rcu_read_unlock(); + next = child->d_u.d_child.next; + goto resume; + } + +out: + spin_unlock(&this_parent->d_lock); + write_sequnlock(&rename_lock); + return err; +} + +int au_dcsub_pages_rev(struct au_dcsub_pages *dpages, struct dentry *dentry, + int do_include, au_dpages_test test, void *arg) +{ + int err; + + err = 0; + write_seqlock(&rename_lock); + spin_lock(&dentry->d_lock); + if (do_include + && dentry->d_count + && (!test || test(dentry, arg))) + err = au_dpages_append(dpages, dentry, GFP_ATOMIC); + spin_unlock(&dentry->d_lock); + if (unlikely(err)) + goto out; + + /* + * vfsmount_lock is unnecessary since this is a traverse in a single + * mount + */ + while (!IS_ROOT(dentry)) { + dentry = dentry->d_parent; /* rename_lock is locked */ + spin_lock(&dentry->d_lock); + if (dentry->d_count + && (!test || test(dentry, arg))) + err = au_dpages_append(dpages, dentry, GFP_ATOMIC); + spin_unlock(&dentry->d_lock); + if (unlikely(err)) + break; + } + +out: + write_sequnlock(&rename_lock); + return err; +} + +static inline int au_dcsub_dpages_aufs(struct dentry *dentry, void *arg) +{ + return au_di(dentry) && dentry->d_sb == arg; +} + +int au_dcsub_pages_rev_aufs(struct au_dcsub_pages *dpages, + struct dentry *dentry, int do_include) +{ + return au_dcsub_pages_rev(dpages, dentry, do_include, + au_dcsub_dpages_aufs, dentry->d_sb); +} + +int au_test_subdir(struct dentry *d1, struct dentry *d2) +{ + struct path path[2] = { + { + .dentry = d1 + }, + { + .dentry = d2 + } + }; + + return path_is_under(path + 0, path + 1); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dcsub.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/dcsub.h @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * sub-routines for dentry cache + */ + +#ifndef __AUFS_DCSUB_H__ +#define __AUFS_DCSUB_H__ + +#ifdef __KERNEL__ + +#include +#include + +struct dentry; + +struct au_dpage { + int ndentry; + struct dentry **dentries; +}; + +struct au_dcsub_pages { + int ndpage; + struct au_dpage *dpages; +}; + +/* ---------------------------------------------------------------------- */ + +/* dcsub.c */ +int au_dpages_init(struct au_dcsub_pages *dpages, gfp_t gfp); +void au_dpages_free(struct au_dcsub_pages *dpages); +typedef int (*au_dpages_test)(struct dentry *dentry, void *arg); +int au_dcsub_pages(struct au_dcsub_pages *dpages, struct dentry *root, + au_dpages_test test, void *arg); +int au_dcsub_pages_rev(struct au_dcsub_pages *dpages, struct dentry *dentry, + int do_include, au_dpages_test test, void *arg); +int au_dcsub_pages_rev_aufs(struct au_dcsub_pages *dpages, + struct dentry *dentry, int do_include); +int au_test_subdir(struct dentry *d1, struct dentry *d2); + +/* ---------------------------------------------------------------------- */ + +static inline int au_d_hashed_positive(struct dentry *d) +{ + int err; + struct inode *inode = d->d_inode; + err = 0; + if (unlikely(d_unhashed(d) || !inode || !inode->i_nlink)) + err = -ENOENT; + return err; +} + +static inline int au_d_alive(struct dentry *d) +{ + int err; + struct inode *inode; + err = 0; + if (!IS_ROOT(d)) + err = au_d_hashed_positive(d); + else { + inode = d->d_inode; + if (unlikely(d_unlinked(d) || !inode || !inode->i_nlink)) + err = -ENOENT; + } + return err; +} + +static inline int au_alive_dir(struct dentry *d) +{ + int err; + err = au_d_alive(d); + if (unlikely(err || IS_DEADDIR(d->d_inode))) + err = -ENOENT; + return err; +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DCSUB_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/debug.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/debug.c @@ -0,0 +1,489 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * debug print functions + */ + +#include +#include "aufs.h" + +int aufs_debug; +MODULE_PARM_DESC(debug, "debug print"); +module_param_named(debug, aufs_debug, int, S_IRUGO | S_IWUSR | S_IWGRP); + +char *au_plevel = KERN_DEBUG; +#define dpri(fmt, ...) do { \ + if ((au_plevel \ + && strcmp(au_plevel, KERN_DEBUG)) \ + || au_debug_test()) \ + printk("%s" fmt, au_plevel, ##__VA_ARGS__); \ +} while (0) + +/* ---------------------------------------------------------------------- */ + +void au_dpri_whlist(struct au_nhash *whlist) +{ + unsigned long ul, n; + struct hlist_head *head; + struct au_vdir_wh *tpos; + struct hlist_node *pos; + + n = whlist->nh_num; + head = whlist->nh_head; + for (ul = 0; ul < n; ul++) { + hlist_for_each_entry(tpos, pos, head, wh_hash) + dpri("b%d, %.*s, %d\n", + tpos->wh_bindex, + tpos->wh_str.len, tpos->wh_str.name, + tpos->wh_str.len); + head++; + } +} + +void au_dpri_vdir(struct au_vdir *vdir) +{ + unsigned long ul; + union au_vdir_deblk_p p; + unsigned char *o; + + if (!vdir || IS_ERR(vdir)) { + dpri("err %ld\n", PTR_ERR(vdir)); + return; + } + + dpri("deblk %u, nblk %lu, deblk %p, last{%lu, %p}, ver %lu\n", + vdir->vd_deblk_sz, vdir->vd_nblk, vdir->vd_deblk, + vdir->vd_last.ul, vdir->vd_last.p.deblk, vdir->vd_version); + for (ul = 0; ul < vdir->vd_nblk; ul++) { + p.deblk = vdir->vd_deblk[ul]; + o = p.deblk; + dpri("[%lu]: %p\n", ul, o); + } +} + +static int do_pri_inode(aufs_bindex_t bindex, struct inode *inode, int hn, + struct dentry *wh) +{ + char *n = NULL; + int l = 0; + + if (!inode || IS_ERR(inode)) { + dpri("i%d: err %ld\n", bindex, PTR_ERR(inode)); + return -1; + } + + /* the type of i_blocks depends upon CONFIG_LSF */ + BUILD_BUG_ON(sizeof(inode->i_blocks) != sizeof(unsigned long) + && sizeof(inode->i_blocks) != sizeof(u64)); + if (wh) { + n = (void *)wh->d_name.name; + l = wh->d_name.len; + } + + dpri("i%d: %p, i%lu, %s, cnt %d, nl %u, 0%o, sz %llu, blk %llu," + " hn %d, ct %lld, np %lu, st 0x%lx, f 0x%x, v %llu, g %x%s%.*s\n", + bindex, inode, + inode->i_ino, inode->i_sb ? au_sbtype(inode->i_sb) : "??", + atomic_read(&inode->i_count), inode->i_nlink, inode->i_mode, + i_size_read(inode), (unsigned long long)inode->i_blocks, + hn, (long long)timespec_to_ns(&inode->i_ctime) & 0x0ffff, + inode->i_mapping ? inode->i_mapping->nrpages : 0, + inode->i_state, inode->i_flags, inode->i_version, + inode->i_generation, + l ? ", wh " : "", l, n); + return 0; +} + +void au_dpri_inode(struct inode *inode) +{ + struct au_iinfo *iinfo; + aufs_bindex_t bindex; + int err, hn; + + err = do_pri_inode(-1, inode, -1, NULL); + if (err || !au_test_aufs(inode->i_sb)) + return; + + iinfo = au_ii(inode); + if (!iinfo) + return; + dpri("i-1: bstart %d, bend %d, gen %d\n", + iinfo->ii_bstart, iinfo->ii_bend, au_iigen(inode)); + if (iinfo->ii_bstart < 0) + return; + hn = 0; + for (bindex = iinfo->ii_bstart; bindex <= iinfo->ii_bend; bindex++) { + hn = !!au_hn(iinfo->ii_hinode + bindex); + do_pri_inode(bindex, iinfo->ii_hinode[0 + bindex].hi_inode, hn, + iinfo->ii_hinode[0 + bindex].hi_whdentry); + } +} + +void au_dpri_dalias(struct inode *inode) +{ + struct dentry *d; + + spin_lock(&inode->i_lock); + list_for_each_entry(d, &inode->i_dentry, d_alias) + au_dpri_dentry(d); + spin_unlock(&inode->i_lock); +} + +static int do_pri_dentry(aufs_bindex_t bindex, struct dentry *dentry) +{ + struct dentry *wh = NULL; + int hn; + + if (!dentry || IS_ERR(dentry)) { + dpri("d%d: err %ld\n", bindex, PTR_ERR(dentry)); + return -1; + } + /* do not call dget_parent() here */ + /* note: access d_xxx without d_lock */ + dpri("d%d: %.*s?/%.*s, %s, cnt %d, flags 0x%x\n", + bindex, + AuDLNPair(dentry->d_parent), AuDLNPair(dentry), + dentry->d_sb ? au_sbtype(dentry->d_sb) : "??", + dentry->d_count, dentry->d_flags); + hn = -1; + if (bindex >= 0 && dentry->d_inode && au_test_aufs(dentry->d_sb)) { + struct au_iinfo *iinfo = au_ii(dentry->d_inode); + if (iinfo) { + hn = !!au_hn(iinfo->ii_hinode + bindex); + wh = iinfo->ii_hinode[0 + bindex].hi_whdentry; + } + } + do_pri_inode(bindex, dentry->d_inode, hn, wh); + return 0; +} + +void au_dpri_dentry(struct dentry *dentry) +{ + struct au_dinfo *dinfo; + aufs_bindex_t bindex; + int err; + struct au_hdentry *hdp; + + err = do_pri_dentry(-1, dentry); + if (err || !au_test_aufs(dentry->d_sb)) + return; + + dinfo = au_di(dentry); + if (!dinfo) + return; + dpri("d-1: bstart %d, bend %d, bwh %d, bdiropq %d, gen %d\n", + dinfo->di_bstart, dinfo->di_bend, + dinfo->di_bwh, dinfo->di_bdiropq, au_digen(dentry)); + if (dinfo->di_bstart < 0) + return; + hdp = dinfo->di_hdentry; + for (bindex = dinfo->di_bstart; bindex <= dinfo->di_bend; bindex++) + do_pri_dentry(bindex, hdp[0 + bindex].hd_dentry); +} + +static int do_pri_file(aufs_bindex_t bindex, struct file *file) +{ + char a[32]; + + if (!file || IS_ERR(file)) { + dpri("f%d: err %ld\n", bindex, PTR_ERR(file)); + return -1; + } + a[0] = 0; + if (bindex < 0 + && file->f_dentry + && au_test_aufs(file->f_dentry->d_sb) + && au_fi(file)) + snprintf(a, sizeof(a), ", gen %d, mmapped %d", + au_figen(file), atomic_read(&au_fi(file)->fi_mmapped)); + dpri("f%d: mode 0x%x, flags 0%o, cnt %ld, v %llu, pos %llu%s\n", + bindex, file->f_mode, file->f_flags, (long)file_count(file), + file->f_version, file->f_pos, a); + if (file->f_dentry) + do_pri_dentry(bindex, file->f_dentry); + return 0; +} + +void au_dpri_file(struct file *file) +{ + struct au_finfo *finfo; + struct au_fidir *fidir; + struct au_hfile *hfile; + aufs_bindex_t bindex; + int err; + + err = do_pri_file(-1, file); + if (err || !file->f_dentry || !au_test_aufs(file->f_dentry->d_sb)) + return; + + finfo = au_fi(file); + if (!finfo) + return; + if (finfo->fi_btop < 0) + return; + fidir = finfo->fi_hdir; + if (!fidir) + do_pri_file(finfo->fi_btop, finfo->fi_htop.hf_file); + else + for (bindex = finfo->fi_btop; + bindex >= 0 && bindex <= fidir->fd_bbot; + bindex++) { + hfile = fidir->fd_hfile + bindex; + do_pri_file(bindex, hfile ? hfile->hf_file : NULL); + } +} + +static int do_pri_br(aufs_bindex_t bindex, struct au_branch *br) +{ + struct vfsmount *mnt; + struct super_block *sb; + + if (!br || IS_ERR(br)) + goto out; + mnt = br->br_mnt; + if (!mnt || IS_ERR(mnt)) + goto out; + sb = mnt->mnt_sb; + if (!sb || IS_ERR(sb)) + goto out; + + dpri("s%d: {perm 0x%x, id %d, cnt %d, wbr %p}, " + "%s, dev 0x%02x%02x, flags 0x%lx, cnt %d, active %d, " + "xino %d\n", + bindex, br->br_perm, br->br_id, atomic_read(&br->br_count), + br->br_wbr, au_sbtype(sb), MAJOR(sb->s_dev), MINOR(sb->s_dev), + sb->s_flags, sb->s_count, + atomic_read(&sb->s_active), !!br->br_xino.xi_file); + return 0; + +out: + dpri("s%d: err %ld\n", bindex, PTR_ERR(br)); + return -1; +} + +void au_dpri_sb(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + aufs_bindex_t bindex; + int err; + /* to reuduce stack size */ + struct { + struct vfsmount mnt; + struct au_branch fake; + } *a; + + /* this function can be called from magic sysrq */ + a = kzalloc(sizeof(*a), GFP_ATOMIC); + if (unlikely(!a)) { + dpri("no memory\n"); + return; + } + + a->mnt.mnt_sb = sb; + a->fake.br_perm = 0; + a->fake.br_mnt = &a->mnt; + a->fake.br_xino.xi_file = NULL; + atomic_set(&a->fake.br_count, 0); + smp_mb(); /* atomic_set */ + err = do_pri_br(-1, &a->fake); + kfree(a); + dpri("dev 0x%x\n", sb->s_dev); + if (err || !au_test_aufs(sb)) + return; + + sbinfo = au_sbi(sb); + if (!sbinfo) + return; + dpri("nw %d, gen %u, kobj %d\n", + atomic_read(&sbinfo->si_nowait.nw_len), sbinfo->si_generation, + atomic_read(&sbinfo->si_kobj.kref.refcount)); + for (bindex = 0; bindex <= sbinfo->si_bend; bindex++) + do_pri_br(bindex, sbinfo->si_branch[0 + bindex]); +} + +/* ---------------------------------------------------------------------- */ + +void au_dbg_sleep_jiffy(int jiffy) +{ + while (jiffy) + jiffy = schedule_timeout_uninterruptible(jiffy); +} + +void au_dbg_iattr(struct iattr *ia) +{ +#define AuBit(name) if (ia->ia_valid & ATTR_ ## name) \ + dpri(#name "\n") + AuBit(MODE); + AuBit(UID); + AuBit(GID); + AuBit(SIZE); + AuBit(ATIME); + AuBit(MTIME); + AuBit(CTIME); + AuBit(ATIME_SET); + AuBit(MTIME_SET); + AuBit(FORCE); + AuBit(ATTR_FLAG); + AuBit(KILL_SUID); + AuBit(KILL_SGID); + AuBit(FILE); + AuBit(KILL_PRIV); + AuBit(OPEN); + AuBit(TIMES_SET); +#undef AuBit + dpri("ia_file %p\n", ia->ia_file); +} + +/* ---------------------------------------------------------------------- */ + +void __au_dbg_verify_dinode(struct dentry *dentry, const char *func, int line) +{ + struct inode *h_inode, *inode = dentry->d_inode; + struct dentry *h_dentry; + aufs_bindex_t bindex, bend, bi; + + if (!inode /* || au_di(dentry)->di_lsc == AuLsc_DI_TMP */) + return; + + bend = au_dbend(dentry); + bi = au_ibend(inode); + if (bi < bend) + bend = bi; + bindex = au_dbstart(dentry); + bi = au_ibstart(inode); + if (bi > bindex) + bindex = bi; + + for (; bindex <= bend; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + h_inode = au_h_iptr(inode, bindex); + if (unlikely(h_inode != h_dentry->d_inode)) { + int old = au_debug_test(); + if (!old) + au_debug(1); + AuDbg("b%d, %s:%d\n", bindex, func, line); + AuDbgDentry(dentry); + AuDbgInode(inode); + if (!old) + au_debug(0); + BUG(); + } + } +} + +void au_dbg_verify_dir_parent(struct dentry *dentry, unsigned int sigen) +{ + struct dentry *parent; + + parent = dget_parent(dentry); + AuDebugOn(!S_ISDIR(dentry->d_inode->i_mode)); + AuDebugOn(IS_ROOT(dentry)); + AuDebugOn(au_digen_test(parent, sigen)); + dput(parent); +} + +void au_dbg_verify_nondir_parent(struct dentry *dentry, unsigned int sigen) +{ + struct dentry *parent; + struct inode *inode; + + parent = dget_parent(dentry); + inode = dentry->d_inode; + AuDebugOn(inode && S_ISDIR(dentry->d_inode->i_mode)); + AuDebugOn(au_digen_test(parent, sigen)); + dput(parent); +} + +void au_dbg_verify_gen(struct dentry *parent, unsigned int sigen) +{ + int err, i, j; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries; + + err = au_dpages_init(&dpages, GFP_NOFS); + AuDebugOn(err); + err = au_dcsub_pages_rev_aufs(&dpages, parent, /*do_include*/1); + AuDebugOn(err); + for (i = dpages.ndpage - 1; !err && i >= 0; i--) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + for (j = dpage->ndentry - 1; !err && j >= 0; j--) + AuDebugOn(au_digen_test(dentries[j], sigen)); + } + au_dpages_free(&dpages); +} + +void au_dbg_verify_kthread(void) +{ + if (au_wkq_test()) { + au_dbg_blocked(); + /* + * It may be recursive, but udba=notify between two aufs mounts, + * where a single ro branch is shared, is not a problem. + */ + /* WARN_ON(1); */ + } +} + +/* ---------------------------------------------------------------------- */ + +void au_debug_sbinfo_init(struct au_sbinfo *sbinfo __maybe_unused) +{ +#ifdef AuForceNoPlink + au_opt_clr(sbinfo->si_mntflags, PLINK); +#endif +#ifdef AuForceNoXino + au_opt_clr(sbinfo->si_mntflags, XINO); +#endif +#ifdef AuForceNoRefrof + au_opt_clr(sbinfo->si_mntflags, REFROF); +#endif +#ifdef AuForceHnotify + au_opt_set_udba(sbinfo->si_mntflags, UDBA_HNOTIFY); +#endif +#ifdef AuForceRd0 + sbinfo->si_rdblk = 0; + sbinfo->si_rdhash = 0; +#endif +} + +int __init au_debug_init(void) +{ + aufs_bindex_t bindex; + struct au_vdir_destr destr; + + bindex = -1; + AuDebugOn(bindex >= 0); + + destr.len = -1; + AuDebugOn(destr.len < NAME_MAX); + +#ifdef CONFIG_4KSTACKS + pr_warn("CONFIG_4KSTACKS is defined.\n"); +#endif + +#ifdef AuForceNoBrs + sysaufs_brs = 0; +#endif + + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/debug.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/debug.h @@ -0,0 +1,242 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * debug print functions + */ + +#ifndef __AUFS_DEBUG_H__ +#define __AUFS_DEBUG_H__ + +#ifdef __KERNEL__ + +#include +#include +#include + +#ifdef CONFIG_AUFS_DEBUG +#define AuDebugOn(a) BUG_ON(a) + +/* module parameter */ +extern int aufs_debug; +static inline void au_debug(int n) +{ + aufs_debug = n; + smp_mb(); +} + +static inline int au_debug_test(void) +{ + return aufs_debug; +} +#else +#define AuDebugOn(a) do {} while (0) +AuStubVoid(au_debug, int n) +AuStubInt0(au_debug_test, void) +#endif /* CONFIG_AUFS_DEBUG */ + +/* ---------------------------------------------------------------------- */ + +/* debug print */ + +#define AuDbg(fmt, ...) do { \ + if (au_debug_test()) \ + pr_debug("DEBUG: " fmt, ##__VA_ARGS__); \ +} while (0) +#define AuLabel(l) AuDbg(#l "\n") +#define AuIOErr(fmt, ...) pr_err("I/O Error, " fmt, ##__VA_ARGS__) +#define AuWarn1(fmt, ...) do { \ + static unsigned char _c; \ + if (!_c++) \ + pr_warn(fmt, ##__VA_ARGS__); \ +} while (0) + +#define AuErr1(fmt, ...) do { \ + static unsigned char _c; \ + if (!_c++) \ + pr_err(fmt, ##__VA_ARGS__); \ +} while (0) + +#define AuIOErr1(fmt, ...) do { \ + static unsigned char _c; \ + if (!_c++) \ + AuIOErr(fmt, ##__VA_ARGS__); \ +} while (0) + +#define AuUnsupportMsg "This operation is not supported." \ + " Please report this application to aufs-users ML." +#define AuUnsupport(fmt, ...) do { \ + pr_err(AuUnsupportMsg "\n" fmt, ##__VA_ARGS__); \ + dump_stack(); \ +} while (0) + +#define AuTraceErr(e) do { \ + if (unlikely((e) < 0)) \ + AuDbg("err %d\n", (int)(e)); \ +} while (0) + +#define AuTraceErrPtr(p) do { \ + if (IS_ERR(p)) \ + AuDbg("err %ld\n", PTR_ERR(p)); \ +} while (0) + +/* dirty macros for debug print, use with "%.*s" and caution */ +#define AuLNPair(qstr) (qstr)->len, (qstr)->name +#define AuDLNPair(d) AuLNPair(&(d)->d_name) + +/* ---------------------------------------------------------------------- */ + +struct au_sbinfo; +struct au_finfo; +struct dentry; +#ifdef CONFIG_AUFS_DEBUG +extern char *au_plevel; +struct au_nhash; +void au_dpri_whlist(struct au_nhash *whlist); +struct au_vdir; +void au_dpri_vdir(struct au_vdir *vdir); +struct inode; +void au_dpri_inode(struct inode *inode); +void au_dpri_dalias(struct inode *inode); +void au_dpri_dentry(struct dentry *dentry); +struct file; +void au_dpri_file(struct file *filp); +struct super_block; +void au_dpri_sb(struct super_block *sb); + +void au_dbg_sleep_jiffy(int jiffy); +struct iattr; +void au_dbg_iattr(struct iattr *ia); + +#define au_dbg_verify_dinode(d) __au_dbg_verify_dinode(d, __func__, __LINE__) +void __au_dbg_verify_dinode(struct dentry *dentry, const char *func, int line); +void au_dbg_verify_dir_parent(struct dentry *dentry, unsigned int sigen); +void au_dbg_verify_nondir_parent(struct dentry *dentry, unsigned int sigen); +void au_dbg_verify_gen(struct dentry *parent, unsigned int sigen); +void au_dbg_verify_kthread(void); + +int __init au_debug_init(void); +void au_debug_sbinfo_init(struct au_sbinfo *sbinfo); +#define AuDbgWhlist(w) do { \ + AuDbg(#w "\n"); \ + au_dpri_whlist(w); \ +} while (0) + +#define AuDbgVdir(v) do { \ + AuDbg(#v "\n"); \ + au_dpri_vdir(v); \ +} while (0) + +#define AuDbgInode(i) do { \ + AuDbg(#i "\n"); \ + au_dpri_inode(i); \ +} while (0) + +#define AuDbgDAlias(i) do { \ + AuDbg(#i "\n"); \ + au_dpri_dalias(i); \ +} while (0) + +#define AuDbgDentry(d) do { \ + AuDbg(#d "\n"); \ + au_dpri_dentry(d); \ +} while (0) + +#define AuDbgFile(f) do { \ + AuDbg(#f "\n"); \ + au_dpri_file(f); \ +} while (0) + +#define AuDbgSb(sb) do { \ + AuDbg(#sb "\n"); \ + au_dpri_sb(sb); \ +} while (0) + +#define AuDbgSleep(sec) do { \ + AuDbg("sleep %d sec\n", sec); \ + ssleep(sec); \ +} while (0) + +#define AuDbgSleepJiffy(jiffy) do { \ + AuDbg("sleep %d jiffies\n", jiffy); \ + au_dbg_sleep_jiffy(jiffy); \ +} while (0) + +#define AuDbgIAttr(ia) do { \ + AuDbg("ia_valid 0x%x\n", (ia)->ia_valid); \ + au_dbg_iattr(ia); \ +} while (0) + +#define AuDbgSym(addr) do { \ + char sym[KSYM_SYMBOL_LEN]; \ + sprint_symbol(sym, (unsigned long)addr); \ + AuDbg("%s\n", sym); \ +} while (0) + +#define AuInfoSym(addr) do { \ + char sym[KSYM_SYMBOL_LEN]; \ + sprint_symbol(sym, (unsigned long)addr); \ + AuInfo("%s\n", sym); \ +} while (0) +#else +AuStubVoid(au_dbg_verify_dinode, struct dentry *dentry) +AuStubVoid(au_dbg_verify_dir_parent, struct dentry *dentry, unsigned int sigen) +AuStubVoid(au_dbg_verify_nondir_parent, struct dentry *dentry, + unsigned int sigen) +AuStubVoid(au_dbg_verify_gen, struct dentry *parent, unsigned int sigen) +AuStubVoid(au_dbg_verify_kthread, void) +AuStubInt0(__init au_debug_init, void) +AuStubVoid(au_debug_sbinfo_init, struct au_sbinfo *sbinfo) + +#define AuDbgWhlist(w) do {} while (0) +#define AuDbgVdir(v) do {} while (0) +#define AuDbgInode(i) do {} while (0) +#define AuDbgDAlias(i) do {} while (0) +#define AuDbgDentry(d) do {} while (0) +#define AuDbgFile(f) do {} while (0) +#define AuDbgSb(sb) do {} while (0) +#define AuDbgSleep(sec) do {} while (0) +#define AuDbgSleepJiffy(jiffy) do {} while (0) +#define AuDbgIAttr(ia) do {} while (0) +#define AuDbgSym(addr) do {} while (0) +#define AuInfoSym(addr) do {} while (0) +#endif /* CONFIG_AUFS_DEBUG */ + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_MAGIC_SYSRQ +int __init au_sysrq_init(void); +void au_sysrq_fin(void); + +#ifdef CONFIG_HW_CONSOLE +#define au_dbg_blocked() do { \ + WARN_ON(1); \ + handle_sysrq('w'); \ +} while (0) +#else +AuStubVoid(au_dbg_blocked, void) +#endif + +#else +AuStubInt0(__init au_sysrq_init, void) +AuStubVoid(au_sysrq_fin, void) +AuStubVoid(au_dbg_blocked, void) +#endif /* CONFIG_AUFS_MAGIC_SYSRQ */ + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DEBUG_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dentry.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/dentry.c @@ -0,0 +1,1140 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * lookup and dentry operations + */ + +#include +#include "aufs.h" + +static void au_h_nd(struct nameidata *h_nd, struct nameidata *nd) +{ + if (nd) { + *h_nd = *nd; + + /* + * gave up supporting LOOKUP_CREATE/OPEN for lower fs, + * due to whiteout and branch permission. + */ + h_nd->flags &= ~(/*LOOKUP_PARENT |*/ LOOKUP_OPEN | LOOKUP_CREATE + | LOOKUP_FOLLOW | LOOKUP_EXCL); + /* unnecessary? */ + h_nd->intent.open.file = NULL; + } else + memset(h_nd, 0, sizeof(*h_nd)); +} + +struct au_lkup_one_args { + struct dentry **errp; + struct qstr *name; + struct dentry *h_parent; + struct au_branch *br; + struct nameidata *nd; +}; + +struct dentry *au_lkup_one(struct qstr *name, struct dentry *h_parent, + struct au_branch *br, struct nameidata *nd) +{ + struct dentry *h_dentry; + int err; + struct nameidata h_nd; + + if (au_test_fs_null_nd(h_parent->d_sb)) + return vfsub_lookup_one_len(name->name, h_parent, name->len); + + au_h_nd(&h_nd, nd); + h_nd.path.dentry = h_parent; + h_nd.path.mnt = br->br_mnt; + + err = vfsub_name_hash(name->name, &h_nd.last, name->len); + h_dentry = ERR_PTR(err); + if (!err) { + path_get(&h_nd.path); + h_dentry = vfsub_lookup_hash(&h_nd); + path_put(&h_nd.path); + } + + AuTraceErrPtr(h_dentry); + return h_dentry; +} + +static void au_call_lkup_one(void *args) +{ + struct au_lkup_one_args *a = args; + *a->errp = au_lkup_one(a->name, a->h_parent, a->br, a->nd); +} + +#define AuLkup_ALLOW_NEG 1 +#define au_ftest_lkup(flags, name) ((flags) & AuLkup_##name) +#define au_fset_lkup(flags, name) \ + do { (flags) |= AuLkup_##name; } while (0) +#define au_fclr_lkup(flags, name) \ + do { (flags) &= ~AuLkup_##name; } while (0) + +struct au_do_lookup_args { + unsigned int flags; + mode_t type; + struct nameidata *nd; +}; + +/* + * returns positive/negative dentry, NULL or an error. + * NULL means whiteout-ed or not-found. + */ +static struct dentry* +au_do_lookup(struct dentry *h_parent, struct dentry *dentry, + aufs_bindex_t bindex, struct qstr *wh_name, + struct au_do_lookup_args *args) +{ + struct dentry *h_dentry; + struct inode *h_inode, *inode; + struct au_branch *br; + int wh_found, opq; + unsigned char wh_able; + const unsigned char allow_neg = !!au_ftest_lkup(args->flags, ALLOW_NEG); + + wh_found = 0; + br = au_sbr(dentry->d_sb, bindex); + wh_able = !!au_br_whable(br->br_perm); + if (wh_able) + wh_found = au_wh_test(h_parent, wh_name, br, /*try_sio*/0); + h_dentry = ERR_PTR(wh_found); + if (!wh_found) + goto real_lookup; + if (unlikely(wh_found < 0)) + goto out; + + /* We found a whiteout */ + /* au_set_dbend(dentry, bindex); */ + au_set_dbwh(dentry, bindex); + if (!allow_neg) + return NULL; /* success */ + +real_lookup: + h_dentry = au_lkup_one(&dentry->d_name, h_parent, br, args->nd); + if (IS_ERR(h_dentry)) + goto out; + + h_inode = h_dentry->d_inode; + if (!h_inode) { + if (!allow_neg) + goto out_neg; + } else if (wh_found + || (args->type && args->type != (h_inode->i_mode & S_IFMT))) + goto out_neg; + + if (au_dbend(dentry) <= bindex) + au_set_dbend(dentry, bindex); + if (au_dbstart(dentry) < 0 || bindex < au_dbstart(dentry)) + au_set_dbstart(dentry, bindex); + au_set_h_dptr(dentry, bindex, h_dentry); + + inode = dentry->d_inode; + if (!h_inode || !S_ISDIR(h_inode->i_mode) || !wh_able + || (inode && !S_ISDIR(inode->i_mode))) + goto out; /* success */ + + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + opq = au_diropq_test(h_dentry, br); + mutex_unlock(&h_inode->i_mutex); + if (opq > 0) + au_set_dbdiropq(dentry, bindex); + else if (unlikely(opq < 0)) { + au_set_h_dptr(dentry, bindex, NULL); + h_dentry = ERR_PTR(opq); + } + goto out; + +out_neg: + dput(h_dentry); + h_dentry = NULL; +out: + return h_dentry; +} + +static int au_test_shwh(struct super_block *sb, const struct qstr *name) +{ + if (unlikely(!au_opt_test(au_mntflags(sb), SHWH) + && !strncmp(name->name, AUFS_WH_PFX, AUFS_WH_PFX_LEN))) + return -EPERM; + return 0; +} + +/* + * returns the number of lower positive dentries, + * otherwise an error. + * can be called at unlinking with @type is zero. + */ +int au_lkup_dentry(struct dentry *dentry, aufs_bindex_t bstart, mode_t type, + struct nameidata *nd) +{ + int npositive, err; + aufs_bindex_t bindex, btail, bdiropq; + unsigned char isdir; + struct qstr whname; + struct au_do_lookup_args args = { + .flags = 0, + .type = type, + .nd = nd + }; + const struct qstr *name = &dentry->d_name; + struct dentry *parent; + struct inode *inode; + + err = au_test_shwh(dentry->d_sb, name); + if (unlikely(err)) + goto out; + + err = au_wh_name_alloc(&whname, name); + if (unlikely(err)) + goto out; + + inode = dentry->d_inode; + isdir = !!(inode && S_ISDIR(inode->i_mode)); + if (!type) + au_fset_lkup(args.flags, ALLOW_NEG); + + npositive = 0; + parent = dget_parent(dentry); + btail = au_dbtaildir(parent); + for (bindex = bstart; bindex <= btail; bindex++) { + struct dentry *h_parent, *h_dentry; + struct inode *h_inode, *h_dir; + + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry) { + if (h_dentry->d_inode) + npositive++; + if (type != S_IFDIR) + break; + continue; + } + h_parent = au_h_dptr(parent, bindex); + if (!h_parent) + continue; + h_dir = h_parent->d_inode; + if (!h_dir || !S_ISDIR(h_dir->i_mode)) + continue; + + mutex_lock_nested(&h_dir->i_mutex, AuLsc_I_PARENT); + h_dentry = au_do_lookup(h_parent, dentry, bindex, &whname, + &args); + mutex_unlock(&h_dir->i_mutex); + err = PTR_ERR(h_dentry); + if (IS_ERR(h_dentry)) + goto out_parent; + au_fclr_lkup(args.flags, ALLOW_NEG); + + if (au_dbwh(dentry) >= 0) + break; + if (!h_dentry) + continue; + h_inode = h_dentry->d_inode; + if (!h_inode) + continue; + npositive++; + if (!args.type) + args.type = h_inode->i_mode & S_IFMT; + if (args.type != S_IFDIR) + break; + else if (isdir) { + /* the type of lower may be different */ + bdiropq = au_dbdiropq(dentry); + if (bdiropq >= 0 && bdiropq <= bindex) + break; + } + } + + if (npositive) { + AuLabel(positive); + au_update_dbstart(dentry); + } + err = npositive; + if (unlikely(!au_opt_test(au_mntflags(dentry->d_sb), UDBA_NONE) + && au_dbstart(dentry) < 0)) { + err = -EIO; + AuIOErr("both of real entry and whiteout found, %.*s, err %d\n", + AuDLNPair(dentry), err); + } + +out_parent: + dput(parent); + kfree(whname.name); +out: + return err; +} + +struct dentry *au_sio_lkup_one(struct qstr *name, struct dentry *parent, + struct au_branch *br) +{ + struct dentry *dentry; + int wkq_err; + + if (!au_test_h_perm_sio(parent->d_inode, MAY_EXEC)) + dentry = au_lkup_one(name, parent, br, /*nd*/NULL); + else { + struct au_lkup_one_args args = { + .errp = &dentry, + .name = name, + .h_parent = parent, + .br = br, + .nd = NULL + }; + + wkq_err = au_wkq_wait(au_call_lkup_one, &args); + if (unlikely(wkq_err)) + dentry = ERR_PTR(wkq_err); + } + + return dentry; +} + +/* + * lookup @dentry on @bindex which should be negative. + */ +int au_lkup_neg(struct dentry *dentry, aufs_bindex_t bindex) +{ + int err; + struct dentry *parent, *h_parent, *h_dentry; + + parent = dget_parent(dentry); + h_parent = au_h_dptr(parent, bindex); + h_dentry = au_sio_lkup_one(&dentry->d_name, h_parent, + au_sbr(dentry->d_sb, bindex)); + err = PTR_ERR(h_dentry); + if (IS_ERR(h_dentry)) + goto out; + if (unlikely(h_dentry->d_inode)) { + err = -EIO; + AuIOErr("%.*s should be negative on b%d.\n", + AuDLNPair(h_dentry), bindex); + dput(h_dentry); + goto out; + } + + err = 0; + if (bindex < au_dbstart(dentry)) + au_set_dbstart(dentry, bindex); + if (au_dbend(dentry) < bindex) + au_set_dbend(dentry, bindex); + au_set_h_dptr(dentry, bindex, h_dentry); + +out: + dput(parent); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* subset of struct inode */ +struct au_iattr { + unsigned long i_ino; + /* unsigned int i_nlink; */ + kuid_t i_uid; + kgid_t i_gid; + u64 i_version; +/* + loff_t i_size; + blkcnt_t i_blocks; +*/ + umode_t i_mode; +}; + +static void au_iattr_save(struct au_iattr *ia, struct inode *h_inode) +{ + ia->i_ino = h_inode->i_ino; + /* ia->i_nlink = h_inode->i_nlink; */ + ia->i_uid = h_inode->i_uid; + ia->i_gid = h_inode->i_gid; + ia->i_version = h_inode->i_version; +/* + ia->i_size = h_inode->i_size; + ia->i_blocks = h_inode->i_blocks; +*/ + ia->i_mode = (h_inode->i_mode & S_IFMT); +} + +static int au_iattr_test(struct au_iattr *ia, struct inode *h_inode) +{ + return ia->i_ino != h_inode->i_ino + /* || ia->i_nlink != h_inode->i_nlink */ + || !uid_eq(ia->i_uid, h_inode->i_uid) + || !gid_eq(ia->i_gid, h_inode->i_gid) + || ia->i_version != h_inode->i_version +/* + || ia->i_size != h_inode->i_size + || ia->i_blocks != h_inode->i_blocks +*/ + || ia->i_mode != (h_inode->i_mode & S_IFMT); +} + +static int au_h_verify_dentry(struct dentry *h_dentry, struct dentry *h_parent, + struct au_branch *br) +{ + int err; + struct au_iattr ia; + struct inode *h_inode; + struct dentry *h_d; + struct super_block *h_sb; + + err = 0; + memset(&ia, -1, sizeof(ia)); + h_sb = h_dentry->d_sb; + h_inode = h_dentry->d_inode; + if (h_inode) + au_iattr_save(&ia, h_inode); + else if (au_test_nfs(h_sb) || au_test_fuse(h_sb)) + /* nfs d_revalidate may return 0 for negative dentry */ + /* fuse d_revalidate always return 0 for negative dentry */ + goto out; + + /* main purpose is namei.c:cached_lookup() and d_revalidate */ + h_d = au_lkup_one(&h_dentry->d_name, h_parent, br, /*nd*/NULL); + err = PTR_ERR(h_d); + if (IS_ERR(h_d)) + goto out; + + err = 0; + if (unlikely(h_d != h_dentry + || h_d->d_inode != h_inode + || (h_inode && au_iattr_test(&ia, h_inode)))) + err = au_busy_or_stale(); + dput(h_d); + +out: + AuTraceErr(err); + return err; +} + +int au_h_verify(struct dentry *h_dentry, unsigned int udba, struct inode *h_dir, + struct dentry *h_parent, struct au_branch *br) +{ + int err; + + err = 0; + if (udba == AuOpt_UDBA_REVAL + && !au_test_fs_remote(h_dentry->d_sb)) { + IMustLock(h_dir); + err = (h_dentry->d_parent->d_inode != h_dir); + } else if (udba != AuOpt_UDBA_NONE) + err = au_h_verify_dentry(h_dentry, h_parent, br); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_refresh_hdentry(struct dentry *dentry, struct dentry *parent) +{ + int err; + aufs_bindex_t new_bindex, bindex, bend, bwh, bdiropq; + struct au_hdentry tmp, *p, *q; + struct au_dinfo *dinfo; + struct super_block *sb; + + DiMustWriteLock(dentry); + + sb = dentry->d_sb; + dinfo = au_di(dentry); + bend = dinfo->di_bend; + bwh = dinfo->di_bwh; + bdiropq = dinfo->di_bdiropq; + p = dinfo->di_hdentry + dinfo->di_bstart; + for (bindex = dinfo->di_bstart; bindex <= bend; bindex++, p++) { + if (!p->hd_dentry) + continue; + + new_bindex = au_br_index(sb, p->hd_id); + if (new_bindex == bindex) + continue; + + if (dinfo->di_bwh == bindex) + bwh = new_bindex; + if (dinfo->di_bdiropq == bindex) + bdiropq = new_bindex; + if (new_bindex < 0) { + au_hdput(p); + p->hd_dentry = NULL; + continue; + } + + /* swap two lower dentries, and loop again */ + q = dinfo->di_hdentry + new_bindex; + tmp = *q; + *q = *p; + *p = tmp; + if (tmp.hd_dentry) { + bindex--; + p--; + } + } + + dinfo->di_bwh = -1; + if (bwh >= 0 && bwh <= au_sbend(sb) && au_sbr_whable(sb, bwh)) + dinfo->di_bwh = bwh; + + dinfo->di_bdiropq = -1; + if (bdiropq >= 0 + && bdiropq <= au_sbend(sb) + && au_sbr_whable(sb, bdiropq)) + dinfo->di_bdiropq = bdiropq; + + err = -EIO; + dinfo->di_bstart = -1; + dinfo->di_bend = -1; + bend = au_dbend(parent); + p = dinfo->di_hdentry; + for (bindex = 0; bindex <= bend; bindex++, p++) + if (p->hd_dentry) { + dinfo->di_bstart = bindex; + break; + } + + if (dinfo->di_bstart >= 0) { + p = dinfo->di_hdentry + bend; + for (bindex = bend; bindex >= 0; bindex--, p--) + if (p->hd_dentry) { + dinfo->di_bend = bindex; + err = 0; + break; + } + } + + return err; +} + +static void au_do_hide(struct dentry *dentry) +{ + struct inode *inode; + + inode = dentry->d_inode; + if (inode) { + if (!S_ISDIR(inode->i_mode)) { + if (inode->i_nlink && !d_unhashed(dentry)) + drop_nlink(inode); + } else { + clear_nlink(inode); + /* stop next lookup */ + inode->i_flags |= S_DEAD; + } + smp_mb(); /* necessary? */ + } + d_drop(dentry); +} + +static int au_hide_children(struct dentry *parent) +{ + int err, i, j, ndentry; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry *dentry; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, parent, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + /* in reverse order */ + for (i = dpages.ndpage - 1; i >= 0; i--) { + dpage = dpages.dpages + i; + ndentry = dpage->ndentry; + for (j = ndentry - 1; j >= 0; j--) { + dentry = dpage->dentries[j]; + if (dentry != parent) + au_do_hide(dentry); + } + } + +out_dpages: + au_dpages_free(&dpages); +out: + return err; +} + +static void au_hide(struct dentry *dentry) +{ + int err; + struct inode *inode; + + AuDbgDentry(dentry); + inode = dentry->d_inode; + if (inode && S_ISDIR(inode->i_mode)) { + /* shrink_dcache_parent(dentry); */ + err = au_hide_children(dentry); + if (unlikely(err)) + AuIOErr("%.*s, failed hiding children, ignored %d\n", + AuDLNPair(dentry), err); + } + au_do_hide(dentry); +} + +/* + * By adding a dirty branch, a cached dentry may be affected in various ways. + * + * a dirty branch is added + * - on the top of layers + * - in the middle of layers + * - to the bottom of layers + * + * on the added branch there exists + * - a whiteout + * - a diropq + * - a same named entry + * + exist + * * negative --> positive + * * positive --> positive + * - type is unchanged + * - type is changed + * + doesn't exist + * * negative --> negative + * * positive --> negative (rejected by au_br_del() for non-dir case) + * - none + */ +static int au_refresh_by_dinfo(struct dentry *dentry, struct au_dinfo *dinfo, + struct au_dinfo *tmp) +{ + int err; + aufs_bindex_t bindex, bend; + struct { + struct dentry *dentry; + struct inode *inode; + mode_t mode; + } orig_h, tmp_h; + struct au_hdentry *hd; + struct inode *inode, *h_inode; + struct dentry *h_dentry; + + err = 0; + AuDebugOn(dinfo->di_bstart < 0); + orig_h.dentry = dinfo->di_hdentry[dinfo->di_bstart].hd_dentry; + orig_h.inode = orig_h.dentry->d_inode; + orig_h.mode = 0; + if (orig_h.inode) + orig_h.mode = orig_h.inode->i_mode & S_IFMT; + memset(&tmp_h, 0, sizeof(tmp_h)); + if (tmp->di_bstart >= 0) { + tmp_h.dentry = tmp->di_hdentry[tmp->di_bstart].hd_dentry; + tmp_h.inode = tmp_h.dentry->d_inode; + if (tmp_h.inode) + tmp_h.mode = tmp_h.inode->i_mode & S_IFMT; + } + + inode = dentry->d_inode; + if (!orig_h.inode) { + AuDbg("nagative originally\n"); + if (inode) { + au_hide(dentry); + goto out; + } + AuDebugOn(inode); + AuDebugOn(dinfo->di_bstart != dinfo->di_bend); + AuDebugOn(dinfo->di_bdiropq != -1); + + if (!tmp_h.inode) { + AuDbg("negative --> negative\n"); + /* should have only one negative lower */ + if (tmp->di_bstart >= 0 + && tmp->di_bstart < dinfo->di_bstart) { + AuDebugOn(tmp->di_bstart != tmp->di_bend); + AuDebugOn(dinfo->di_bstart != dinfo->di_bend); + au_set_h_dptr(dentry, dinfo->di_bstart, NULL); + au_di_cp(dinfo, tmp); + hd = tmp->di_hdentry + tmp->di_bstart; + au_set_h_dptr(dentry, tmp->di_bstart, + dget(hd->hd_dentry)); + } + au_dbg_verify_dinode(dentry); + } else { + AuDbg("negative --> positive\n"); + /* + * similar to the behaviour of creating with bypassing + * aufs. + * unhash it in order to force an error in the + * succeeding create operation. + * we should not set S_DEAD here. + */ + d_drop(dentry); + /* au_di_swap(tmp, dinfo); */ + au_dbg_verify_dinode(dentry); + } + } else { + AuDbg("positive originally\n"); + /* inode may be NULL */ + AuDebugOn(inode && (inode->i_mode & S_IFMT) != orig_h.mode); + if (!tmp_h.inode) { + AuDbg("positive --> negative\n"); + /* or bypassing aufs */ + au_hide(dentry); + if (tmp->di_bwh >= 0 && tmp->di_bwh <= dinfo->di_bstart) + dinfo->di_bwh = tmp->di_bwh; + if (inode) + err = au_refresh_hinode_self(inode); + au_dbg_verify_dinode(dentry); + } else if (orig_h.mode == tmp_h.mode) { + AuDbg("positive --> positive, same type\n"); + if (!S_ISDIR(orig_h.mode) + && dinfo->di_bstart > tmp->di_bstart) { + /* + * similar to the behaviour of removing and + * creating. + */ + au_hide(dentry); + if (inode) + err = au_refresh_hinode_self(inode); + au_dbg_verify_dinode(dentry); + } else { + /* fill empty slots */ + if (dinfo->di_bstart > tmp->di_bstart) + dinfo->di_bstart = tmp->di_bstart; + if (dinfo->di_bend < tmp->di_bend) + dinfo->di_bend = tmp->di_bend; + dinfo->di_bwh = tmp->di_bwh; + dinfo->di_bdiropq = tmp->di_bdiropq; + hd = tmp->di_hdentry; + bend = dinfo->di_bend; + for (bindex = tmp->di_bstart; bindex <= bend; + bindex++) { + if (au_h_dptr(dentry, bindex)) + continue; + h_dentry = hd[bindex].hd_dentry; + if (!h_dentry) + continue; + h_inode = h_dentry->d_inode; + AuDebugOn(!h_inode); + AuDebugOn(orig_h.mode + != (h_inode->i_mode + & S_IFMT)); + au_set_h_dptr(dentry, bindex, + dget(h_dentry)); + } + err = au_refresh_hinode(inode, dentry); + au_dbg_verify_dinode(dentry); + } + } else { + AuDbg("positive --> positive, different type\n"); + /* similar to the behaviour of removing and creating */ + au_hide(dentry); + if (inode) + err = au_refresh_hinode_self(inode); + au_dbg_verify_dinode(dentry); + } + } + +out: + return err; +} + +int au_refresh_dentry(struct dentry *dentry, struct dentry *parent) +{ + int err, ebrange; + unsigned int sigen; + struct au_dinfo *dinfo, *tmp; + struct super_block *sb; + struct inode *inode; + + DiMustWriteLock(dentry); + AuDebugOn(IS_ROOT(dentry)); + AuDebugOn(!parent->d_inode); + + sb = dentry->d_sb; + inode = dentry->d_inode; + sigen = au_sigen(sb); + err = au_digen_test(parent, sigen); + if (unlikely(err)) + goto out; + + dinfo = au_di(dentry); + err = au_di_realloc(dinfo, au_sbend(sb) + 1); + if (unlikely(err)) + goto out; + ebrange = au_dbrange_test(dentry); + if (!ebrange) + ebrange = au_do_refresh_hdentry(dentry, parent); + + if (d_unhashed(dentry) || ebrange) { + AuDebugOn(au_dbstart(dentry) < 0 && au_dbend(dentry) >= 0); + if (inode) + err = au_refresh_hinode_self(inode); + au_dbg_verify_dinode(dentry); + if (!err) + goto out_dgen; /* success */ + goto out; + } + + /* temporary dinfo */ + AuDbgDentry(dentry); + err = -ENOMEM; + tmp = au_di_alloc(sb, AuLsc_DI_TMP); + if (unlikely(!tmp)) + goto out; + au_di_swap(tmp, dinfo); + /* returns the number of positive dentries */ + /* + * if current working dir is removed, it returns an error. + * but the dentry is legal. + */ + err = au_lkup_dentry(dentry, /*bstart*/0, /*type*/0, /*nd*/NULL); + AuDbgDentry(dentry); + au_di_swap(tmp, dinfo); + if (err == -ENOENT) + err = 0; + if (err >= 0) { + /* compare/refresh by dinfo */ + AuDbgDentry(dentry); + err = au_refresh_by_dinfo(dentry, dinfo, tmp); + au_dbg_verify_dinode(dentry); + AuTraceErr(err); + } + au_rw_write_unlock(&tmp->di_rwsem); + au_di_free(tmp); + if (unlikely(err)) + goto out; + +out_dgen: + au_update_digen(dentry); +out: + if (unlikely(err && !(dentry->d_flags & DCACHE_NFSFS_RENAMED))) { + AuIOErr("failed refreshing %.*s, %d\n", + AuDLNPair(dentry), err); + AuDbgDentry(dentry); + } + AuTraceErr(err); + return err; +} + +static noinline_for_stack +int au_do_h_d_reval(struct dentry *h_dentry, struct nameidata *nd, + struct dentry *dentry, aufs_bindex_t bindex) +{ + int err, valid; + int (*reval)(struct dentry *, struct nameidata *); + + err = 0; + if (!(h_dentry->d_flags & DCACHE_OP_REVALIDATE)) + goto out; + reval = h_dentry->d_op->d_revalidate; + + AuDbg("b%d\n", bindex); + if (au_test_fs_null_nd(h_dentry->d_sb)) + /* it may return tri-state */ + valid = reval(h_dentry, NULL); + else { + struct nameidata h_nd; + int locked; + struct dentry *parent; + + au_h_nd(&h_nd, nd); + parent = nd->path.dentry; + locked = (nd && nd->path.dentry != dentry); + if (locked) + di_read_lock_parent(parent, AuLock_IR); + BUG_ON(bindex > au_dbend(parent)); + h_nd.path.dentry = au_h_dptr(parent, bindex); + BUG_ON(!h_nd.path.dentry); + h_nd.path.mnt = au_sbr(parent->d_sb, bindex)->br_mnt; + path_get(&h_nd.path); + valid = reval(h_dentry, &h_nd); + path_put(&h_nd.path); + if (locked) + di_read_unlock(parent, AuLock_IR); + } + + if (unlikely(valid < 0)) + err = valid; + else if (!valid) + err = -EINVAL; + +out: + AuTraceErr(err); + return err; +} + +/* todo: remove this */ +static int h_d_revalidate(struct dentry *dentry, struct inode *inode, + struct nameidata *nd, int do_udba) +{ + int err; + umode_t mode, h_mode; + aufs_bindex_t bindex, btail, bstart, ibs, ibe; + unsigned char plus, unhashed, is_root, h_plus; + struct inode *h_inode, *h_cached_inode; + struct dentry *h_dentry; + struct qstr *name, *h_name; + + err = 0; + plus = 0; + mode = 0; + ibs = -1; + ibe = -1; + unhashed = !!d_unhashed(dentry); + is_root = !!IS_ROOT(dentry); + name = &dentry->d_name; + + /* + * Theoretically, REVAL test should be unnecessary in case of + * {FS,I}NOTIFY. + * But {fs,i}notify doesn't fire some necessary events, + * IN_ATTRIB for atime/nlink/pageio + * IN_DELETE for NFS dentry + * Let's do REVAL test too. + */ + if (do_udba && inode) { + mode = (inode->i_mode & S_IFMT); + plus = (inode->i_nlink > 0); + ibs = au_ibstart(inode); + ibe = au_ibend(inode); + } + + bstart = au_dbstart(dentry); + btail = bstart; + if (inode && S_ISDIR(inode->i_mode)) + btail = au_dbtaildir(dentry); + for (bindex = bstart; bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + + AuDbg("b%d, %.*s\n", bindex, AuDLNPair(h_dentry)); + spin_lock(&h_dentry->d_lock); + h_name = &h_dentry->d_name; + if (unlikely(do_udba + && !is_root + && (unhashed != !!d_unhashed(h_dentry) + || name->len != h_name->len + || memcmp(name->name, h_name->name, name->len)) + )) { + AuDbg("unhash 0x%x 0x%x, %.*s %.*s\n", + unhashed, d_unhashed(h_dentry), + AuDLNPair(dentry), AuDLNPair(h_dentry)); + spin_unlock(&h_dentry->d_lock); + goto err; + } + spin_unlock(&h_dentry->d_lock); + + err = au_do_h_d_reval(h_dentry, nd, dentry, bindex); + if (unlikely(err)) + /* do not goto err, to keep the errno */ + break; + + /* todo: plink too? */ + if (!do_udba) + continue; + + /* UDBA tests */ + h_inode = h_dentry->d_inode; + if (unlikely(!!inode != !!h_inode)) + goto err; + + h_plus = plus; + h_mode = mode; + h_cached_inode = h_inode; + if (h_inode) { + h_mode = (h_inode->i_mode & S_IFMT); + h_plus = (h_inode->i_nlink > 0); + } + if (inode && ibs <= bindex && bindex <= ibe) + h_cached_inode = au_h_iptr(inode, bindex); + + if (unlikely(plus != h_plus + || mode != h_mode + || h_cached_inode != h_inode)) + goto err; + continue; + + err: + err = -EINVAL; + break; + } + + return err; +} + +/* todo: consolidate with do_refresh() and au_reval_for_attr() */ +static int simple_reval_dpath(struct dentry *dentry, unsigned int sigen) +{ + int err; + struct dentry *parent; + + if (!au_digen_test(dentry, sigen)) + return 0; + + parent = dget_parent(dentry); + di_read_lock_parent(parent, AuLock_IR); + AuDebugOn(au_digen_test(parent, sigen)); + au_dbg_verify_gen(parent, sigen); + err = au_refresh_dentry(dentry, parent); + di_read_unlock(parent, AuLock_IR); + dput(parent); + AuTraceErr(err); + return err; +} + +int au_reval_dpath(struct dentry *dentry, unsigned int sigen) +{ + int err; + struct dentry *d, *parent; + struct inode *inode; + + if (!au_ftest_si(au_sbi(dentry->d_sb), FAILED_REFRESH_DIR)) + return simple_reval_dpath(dentry, sigen); + + /* slow loop, keep it simple and stupid */ + /* cf: au_cpup_dirs() */ + err = 0; + parent = NULL; + while (au_digen_test(dentry, sigen)) { + d = dentry; + while (1) { + dput(parent); + parent = dget_parent(d); + if (!au_digen_test(parent, sigen)) + break; + d = parent; + } + + inode = d->d_inode; + if (d != dentry) + di_write_lock_child2(d); + + /* someone might update our dentry while we were sleeping */ + if (au_digen_test(d, sigen)) { + /* + * todo: consolidate with simple_reval_dpath(), + * do_refresh() and au_reval_for_attr(). + */ + di_read_lock_parent(parent, AuLock_IR); + err = au_refresh_dentry(d, parent); + di_read_unlock(parent, AuLock_IR); + } + + if (d != dentry) + di_write_unlock(d); + dput(parent); + if (unlikely(err)) + break; + } + + return err; +} + +/* + * if valid returns 1, otherwise 0. + */ +static int aufs_d_revalidate(struct dentry *dentry, struct nameidata *nd) +{ + int valid, err; + unsigned int sigen; + unsigned char do_udba; + struct super_block *sb; + struct inode *inode; + + /* todo: support rcu-walk? */ + if (nd && (nd->flags & LOOKUP_RCU)) + return -ECHILD; + + valid = 0; + if (unlikely(!au_di(dentry))) + goto out; + + inode = dentry->d_inode; + if (inode && is_bad_inode(inode)) + goto out; + + valid = 1; + sb = dentry->d_sb; + /* + * todo: very ugly + * i_mutex of parent dir may be held, + * but we should not return 'invalid' due to busy. + */ + err = aufs_read_lock(dentry, AuLock_FLUSH | AuLock_DW | AuLock_NOPLM); + if (unlikely(err)) { + valid = err; + AuTraceErr(err); + goto out; + } + if (unlikely(au_dbrange_test(dentry))) { + err = -EINVAL; + AuTraceErr(err); + goto out_dgrade; + } + + sigen = au_sigen(sb); + if (au_digen_test(dentry, sigen)) { + AuDebugOn(IS_ROOT(dentry)); + err = au_reval_dpath(dentry, sigen); + if (unlikely(err)) { + AuTraceErr(err); + goto out_dgrade; + } + } + di_downgrade_lock(dentry, AuLock_IR); + + err = -EINVAL; + if (inode && (IS_DEADDIR(inode) || !inode->i_nlink)) + goto out_inval; + + do_udba = !au_opt_test(au_mntflags(sb), UDBA_NONE); + if (do_udba && inode) { + aufs_bindex_t bstart = au_ibstart(inode); + struct inode *h_inode; + + if (bstart >= 0) { + h_inode = au_h_iptr(inode, bstart); + if (h_inode && au_test_higen(inode, h_inode)) + goto out_inval; + } + } + + err = h_d_revalidate(dentry, inode, nd, do_udba); + if (unlikely(!err && do_udba && au_dbstart(dentry) < 0)) { + err = -EIO; + AuDbg("both of real entry and whiteout found, %.*s, err %d\n", + AuDLNPair(dentry), err); + } + goto out_inval; + +out_dgrade: + di_downgrade_lock(dentry, AuLock_IR); +out_inval: + aufs_read_unlock(dentry, AuLock_IR); + AuTraceErr(err); + valid = !err; +out: + if (!valid) { + AuDbg("%.*s invalid, %d\n", AuDLNPair(dentry), valid); + d_drop(dentry); + } + return valid; +} + +static void aufs_d_release(struct dentry *dentry) +{ + if (au_di(dentry)) { + au_di_fin(dentry); + au_hn_di_reinit(dentry); + } +} + +const struct dentry_operations aufs_dop = { + .d_revalidate = aufs_d_revalidate, + .d_release = aufs_d_release +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dentry.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/dentry.h @@ -0,0 +1,237 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * lookup and dentry operations + */ + +#ifndef __AUFS_DENTRY_H__ +#define __AUFS_DENTRY_H__ + +#ifdef __KERNEL__ + +#include +#include "rwsem.h" + +struct au_hdentry { + struct dentry *hd_dentry; + aufs_bindex_t hd_id; +}; + +struct au_dinfo { + atomic_t di_generation; + + struct au_rwsem di_rwsem; + aufs_bindex_t di_bstart, di_bend, di_bwh, di_bdiropq; + struct au_hdentry *di_hdentry; +} ____cacheline_aligned_in_smp; + +/* ---------------------------------------------------------------------- */ + +/* dentry.c */ +extern const struct dentry_operations aufs_dop; +struct au_branch; +struct dentry *au_lkup_one(struct qstr *name, struct dentry *h_parent, + struct au_branch *br, struct nameidata *nd); +struct dentry *au_sio_lkup_one(struct qstr *name, struct dentry *parent, + struct au_branch *br); +int au_h_verify(struct dentry *h_dentry, unsigned int udba, struct inode *h_dir, + struct dentry *h_parent, struct au_branch *br); + +int au_lkup_dentry(struct dentry *dentry, aufs_bindex_t bstart, mode_t type, + struct nameidata *nd); +int au_lkup_neg(struct dentry *dentry, aufs_bindex_t bindex); +int au_refresh_dentry(struct dentry *dentry, struct dentry *parent); +int au_reval_dpath(struct dentry *dentry, unsigned int sigen); + +/* dinfo.c */ +void au_di_init_once(void *_di); +struct au_dinfo *au_di_alloc(struct super_block *sb, unsigned int lsc); +void au_di_free(struct au_dinfo *dinfo); +void au_di_swap(struct au_dinfo *a, struct au_dinfo *b); +void au_di_cp(struct au_dinfo *dst, struct au_dinfo *src); +int au_di_init(struct dentry *dentry); +void au_di_fin(struct dentry *dentry); +int au_di_realloc(struct au_dinfo *dinfo, int nbr); + +void di_read_lock(struct dentry *d, int flags, unsigned int lsc); +void di_read_unlock(struct dentry *d, int flags); +void di_downgrade_lock(struct dentry *d, int flags); +void di_write_lock(struct dentry *d, unsigned int lsc); +void di_write_unlock(struct dentry *d); +void di_write_lock2_child(struct dentry *d1, struct dentry *d2, int isdir); +void di_write_lock2_parent(struct dentry *d1, struct dentry *d2, int isdir); +void di_write_unlock2(struct dentry *d1, struct dentry *d2); + +struct dentry *au_h_dptr(struct dentry *dentry, aufs_bindex_t bindex); +struct dentry *au_h_d_alias(struct dentry *dentry, aufs_bindex_t bindex); +aufs_bindex_t au_dbtail(struct dentry *dentry); +aufs_bindex_t au_dbtaildir(struct dentry *dentry); + +void au_set_h_dptr(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_dentry); +int au_digen_test(struct dentry *dentry, unsigned int sigen); +int au_dbrange_test(struct dentry *dentry); +void au_update_digen(struct dentry *dentry); +void au_update_dbrange(struct dentry *dentry, int do_put_zero); +void au_update_dbstart(struct dentry *dentry); +void au_update_dbend(struct dentry *dentry); +int au_find_dbindex(struct dentry *dentry, struct dentry *h_dentry); + +/* ---------------------------------------------------------------------- */ + +static inline struct au_dinfo *au_di(struct dentry *dentry) +{ + return dentry->d_fsdata; +} + +/* ---------------------------------------------------------------------- */ + +/* lock subclass for dinfo */ +enum { + AuLsc_DI_CHILD, /* child first */ + AuLsc_DI_CHILD2, /* rename(2), link(2), and cpup at hnotify */ + AuLsc_DI_CHILD3, /* copyup dirs */ + AuLsc_DI_PARENT, + AuLsc_DI_PARENT2, + AuLsc_DI_PARENT3, + AuLsc_DI_TMP /* temp for replacing dinfo */ +}; + +/* + * di_read_lock_child, di_write_lock_child, + * di_read_lock_child2, di_write_lock_child2, + * di_read_lock_child3, di_write_lock_child3, + * di_read_lock_parent, di_write_lock_parent, + * di_read_lock_parent2, di_write_lock_parent2, + * di_read_lock_parent3, di_write_lock_parent3, + */ +#define AuReadLockFunc(name, lsc) \ +static inline void di_read_lock_##name(struct dentry *d, int flags) \ +{ di_read_lock(d, flags, AuLsc_DI_##lsc); } + +#define AuWriteLockFunc(name, lsc) \ +static inline void di_write_lock_##name(struct dentry *d) \ +{ di_write_lock(d, AuLsc_DI_##lsc); } + +#define AuRWLockFuncs(name, lsc) \ + AuReadLockFunc(name, lsc) \ + AuWriteLockFunc(name, lsc) + +AuRWLockFuncs(child, CHILD); +AuRWLockFuncs(child2, CHILD2); +AuRWLockFuncs(child3, CHILD3); +AuRWLockFuncs(parent, PARENT); +AuRWLockFuncs(parent2, PARENT2); +AuRWLockFuncs(parent3, PARENT3); + +#undef AuReadLockFunc +#undef AuWriteLockFunc +#undef AuRWLockFuncs + +#define DiMustNoWaiters(d) AuRwMustNoWaiters(&au_di(d)->di_rwsem) +#define DiMustAnyLock(d) AuRwMustAnyLock(&au_di(d)->di_rwsem) +#define DiMustWriteLock(d) AuRwMustWriteLock(&au_di(d)->di_rwsem) + +/* ---------------------------------------------------------------------- */ + +/* todo: memory barrier? */ +static inline unsigned int au_digen(struct dentry *d) +{ + return atomic_read(&au_di(d)->di_generation); +} + +static inline void au_h_dentry_init(struct au_hdentry *hdentry) +{ + hdentry->hd_dentry = NULL; +} + +static inline void au_hdput(struct au_hdentry *hd) +{ + if (hd) + dput(hd->hd_dentry); +} + +static inline aufs_bindex_t au_dbstart(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_bstart; +} + +static inline aufs_bindex_t au_dbend(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_bend; +} + +static inline aufs_bindex_t au_dbwh(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_bwh; +} + +static inline aufs_bindex_t au_dbdiropq(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_bdiropq; +} + +/* todo: hard/soft set? */ +static inline void au_set_dbstart(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + au_di(dentry)->di_bstart = bindex; +} + +static inline void au_set_dbend(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + au_di(dentry)->di_bend = bindex; +} + +static inline void au_set_dbwh(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + /* dbwh can be outside of bstart - bend range */ + au_di(dentry)->di_bwh = bindex; +} + +static inline void au_set_dbdiropq(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + au_di(dentry)->di_bdiropq = bindex; +} + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_HNOTIFY +static inline void au_digen_dec(struct dentry *d) +{ + atomic_dec(&au_di(d)->di_generation); +} + +static inline void au_hn_di_reinit(struct dentry *dentry) +{ + dentry->d_fsdata = NULL; +} +#else +AuStubVoid(au_hn_di_reinit, struct dentry *dentry __maybe_unused) +#endif /* CONFIG_AUFS_HNOTIFY */ + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DENTRY_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dinfo.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/dinfo.c @@ -0,0 +1,543 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * dentry private data + */ + +#include "aufs.h" + +void au_di_init_once(void *_dinfo) +{ + struct au_dinfo *dinfo = _dinfo; + static struct lock_class_key aufs_di; + + au_rw_init(&dinfo->di_rwsem); + au_rw_class(&dinfo->di_rwsem, &aufs_di); +} + +struct au_dinfo *au_di_alloc(struct super_block *sb, unsigned int lsc) +{ + struct au_dinfo *dinfo; + int nbr, i; + + dinfo = au_cache_alloc_dinfo(); + if (unlikely(!dinfo)) + goto out; + + nbr = au_sbend(sb) + 1; + if (nbr <= 0) + nbr = 1; + dinfo->di_hdentry = kcalloc(nbr, sizeof(*dinfo->di_hdentry), GFP_NOFS); + if (dinfo->di_hdentry) { + au_rw_write_lock_nested(&dinfo->di_rwsem, lsc); + dinfo->di_bstart = -1; + dinfo->di_bend = -1; + dinfo->di_bwh = -1; + dinfo->di_bdiropq = -1; + for (i = 0; i < nbr; i++) + dinfo->di_hdentry[i].hd_id = -1; + goto out; + } + + au_cache_free_dinfo(dinfo); + dinfo = NULL; + +out: + return dinfo; +} + +void au_di_free(struct au_dinfo *dinfo) +{ + struct au_hdentry *p; + aufs_bindex_t bend, bindex; + + /* dentry may not be revalidated */ + bindex = dinfo->di_bstart; + if (bindex >= 0) { + bend = dinfo->di_bend; + p = dinfo->di_hdentry + bindex; + while (bindex++ <= bend) + au_hdput(p++); + } + kfree(dinfo->di_hdentry); + au_cache_free_dinfo(dinfo); +} + +void au_di_swap(struct au_dinfo *a, struct au_dinfo *b) +{ + struct au_hdentry *p; + aufs_bindex_t bi; + + AuRwMustWriteLock(&a->di_rwsem); + AuRwMustWriteLock(&b->di_rwsem); + +#define DiSwap(v, name) \ + do { \ + v = a->di_##name; \ + a->di_##name = b->di_##name; \ + b->di_##name = v; \ + } while (0) + + DiSwap(p, hdentry); + DiSwap(bi, bstart); + DiSwap(bi, bend); + DiSwap(bi, bwh); + DiSwap(bi, bdiropq); + /* smp_mb(); */ + +#undef DiSwap +} + +void au_di_cp(struct au_dinfo *dst, struct au_dinfo *src) +{ + AuRwMustWriteLock(&dst->di_rwsem); + AuRwMustWriteLock(&src->di_rwsem); + + dst->di_bstart = src->di_bstart; + dst->di_bend = src->di_bend; + dst->di_bwh = src->di_bwh; + dst->di_bdiropq = src->di_bdiropq; + /* smp_mb(); */ +} + +int au_di_init(struct dentry *dentry) +{ + int err; + struct super_block *sb; + struct au_dinfo *dinfo; + + err = 0; + sb = dentry->d_sb; + dinfo = au_di_alloc(sb, AuLsc_DI_CHILD); + if (dinfo) { + atomic_set(&dinfo->di_generation, au_sigen(sb)); + /* smp_mb(); */ /* atomic_set */ + dentry->d_fsdata = dinfo; + } else + err = -ENOMEM; + + return err; +} + +void au_di_fin(struct dentry *dentry) +{ + struct au_dinfo *dinfo; + + dinfo = au_di(dentry); + AuRwDestroy(&dinfo->di_rwsem); + au_di_free(dinfo); +} + +int au_di_realloc(struct au_dinfo *dinfo, int nbr) +{ + int err, sz; + struct au_hdentry *hdp; + + AuRwMustWriteLock(&dinfo->di_rwsem); + + err = -ENOMEM; + sz = sizeof(*hdp) * (dinfo->di_bend + 1); + if (!sz) + sz = sizeof(*hdp); + hdp = au_kzrealloc(dinfo->di_hdentry, sz, sizeof(*hdp) * nbr, GFP_NOFS); + if (hdp) { + dinfo->di_hdentry = hdp; + err = 0; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void do_ii_write_lock(struct inode *inode, unsigned int lsc) +{ + switch (lsc) { + case AuLsc_DI_CHILD: + ii_write_lock_child(inode); + break; + case AuLsc_DI_CHILD2: + ii_write_lock_child2(inode); + break; + case AuLsc_DI_CHILD3: + ii_write_lock_child3(inode); + break; + case AuLsc_DI_PARENT: + ii_write_lock_parent(inode); + break; + case AuLsc_DI_PARENT2: + ii_write_lock_parent2(inode); + break; + case AuLsc_DI_PARENT3: + ii_write_lock_parent3(inode); + break; + default: + BUG(); + } +} + +static void do_ii_read_lock(struct inode *inode, unsigned int lsc) +{ + switch (lsc) { + case AuLsc_DI_CHILD: + ii_read_lock_child(inode); + break; + case AuLsc_DI_CHILD2: + ii_read_lock_child2(inode); + break; + case AuLsc_DI_CHILD3: + ii_read_lock_child3(inode); + break; + case AuLsc_DI_PARENT: + ii_read_lock_parent(inode); + break; + case AuLsc_DI_PARENT2: + ii_read_lock_parent2(inode); + break; + case AuLsc_DI_PARENT3: + ii_read_lock_parent3(inode); + break; + default: + BUG(); + } +} + +void di_read_lock(struct dentry *d, int flags, unsigned int lsc) +{ + au_rw_read_lock_nested(&au_di(d)->di_rwsem, lsc); + if (d->d_inode) { + if (au_ftest_lock(flags, IW)) + do_ii_write_lock(d->d_inode, lsc); + else if (au_ftest_lock(flags, IR)) + do_ii_read_lock(d->d_inode, lsc); + } +} + +void di_read_unlock(struct dentry *d, int flags) +{ + if (d->d_inode) { + if (au_ftest_lock(flags, IW)) { + au_dbg_verify_dinode(d); + ii_write_unlock(d->d_inode); + } else if (au_ftest_lock(flags, IR)) { + au_dbg_verify_dinode(d); + ii_read_unlock(d->d_inode); + } + } + au_rw_read_unlock(&au_di(d)->di_rwsem); +} + +void di_downgrade_lock(struct dentry *d, int flags) +{ + if (d->d_inode && au_ftest_lock(flags, IR)) + ii_downgrade_lock(d->d_inode); + au_rw_dgrade_lock(&au_di(d)->di_rwsem); +} + +void di_write_lock(struct dentry *d, unsigned int lsc) +{ + au_rw_write_lock_nested(&au_di(d)->di_rwsem, lsc); + if (d->d_inode) + do_ii_write_lock(d->d_inode, lsc); +} + +void di_write_unlock(struct dentry *d) +{ + au_dbg_verify_dinode(d); + if (d->d_inode) + ii_write_unlock(d->d_inode); + au_rw_write_unlock(&au_di(d)->di_rwsem); +} + +void di_write_lock2_child(struct dentry *d1, struct dentry *d2, int isdir) +{ + AuDebugOn(d1 == d2 + || d1->d_inode == d2->d_inode + || d1->d_sb != d2->d_sb); + + if (isdir && au_test_subdir(d1, d2)) { + di_write_lock_child(d1); + di_write_lock_child2(d2); + } else { + /* there should be no races */ + di_write_lock_child(d2); + di_write_lock_child2(d1); + } +} + +void di_write_lock2_parent(struct dentry *d1, struct dentry *d2, int isdir) +{ + AuDebugOn(d1 == d2 + || d1->d_inode == d2->d_inode + || d1->d_sb != d2->d_sb); + + if (isdir && au_test_subdir(d1, d2)) { + di_write_lock_parent(d1); + di_write_lock_parent2(d2); + } else { + /* there should be no races */ + di_write_lock_parent(d2); + di_write_lock_parent2(d1); + } +} + +void di_write_unlock2(struct dentry *d1, struct dentry *d2) +{ + di_write_unlock(d1); + if (d1->d_inode == d2->d_inode) + au_rw_write_unlock(&au_di(d2)->di_rwsem); + else + di_write_unlock(d2); +} + +/* ---------------------------------------------------------------------- */ + +struct dentry *au_h_dptr(struct dentry *dentry, aufs_bindex_t bindex) +{ + struct dentry *d; + + DiMustAnyLock(dentry); + + if (au_dbstart(dentry) < 0 || bindex < au_dbstart(dentry)) + return NULL; + AuDebugOn(bindex < 0); + d = au_di(dentry)->di_hdentry[0 + bindex].hd_dentry; + AuDebugOn(d && d->d_count <= 0); + return d; +} + +/* + * extended version of au_h_dptr(). + * returns a hashed and positive h_dentry in bindex, NULL, or error. + */ +struct dentry *au_h_d_alias(struct dentry *dentry, aufs_bindex_t bindex) +{ + struct dentry *h_dentry; + struct inode *inode, *h_inode; + + inode = dentry->d_inode; + AuDebugOn(!inode); + + h_dentry = NULL; + if (au_dbstart(dentry) <= bindex + && bindex <= au_dbend(dentry)) + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && !au_d_hashed_positive(h_dentry)) { + dget(h_dentry); + goto out; /* success */ + } + + AuDebugOn(bindex < au_ibstart(inode)); + AuDebugOn(au_ibend(inode) < bindex); + h_inode = au_h_iptr(inode, bindex); + h_dentry = d_find_alias(h_inode); + if (h_dentry) { + if (!IS_ERR(h_dentry)) { + if (!au_d_hashed_positive(h_dentry)) + goto out; /* success */ + dput(h_dentry); + } else + goto out; + } + + if (au_opt_test(au_mntflags(dentry->d_sb), PLINK)) { + h_dentry = au_plink_lkup(inode, bindex); + AuDebugOn(!h_dentry); + if (!IS_ERR(h_dentry)) { + if (!au_d_hashed_positive(h_dentry)) + goto out; /* success */ + dput(h_dentry); + h_dentry = NULL; + } + } + +out: + AuDbgDentry(h_dentry); + return h_dentry; +} + +aufs_bindex_t au_dbtail(struct dentry *dentry) +{ + aufs_bindex_t bend, bwh; + + bend = au_dbend(dentry); + if (0 <= bend) { + bwh = au_dbwh(dentry); + if (!bwh) + return bwh; + if (0 < bwh && bwh < bend) + return bwh - 1; + } + return bend; +} + +aufs_bindex_t au_dbtaildir(struct dentry *dentry) +{ + aufs_bindex_t bend, bopq; + + bend = au_dbtail(dentry); + if (0 <= bend) { + bopq = au_dbdiropq(dentry); + if (0 <= bopq && bopq < bend) + bend = bopq; + } + return bend; +} + +/* ---------------------------------------------------------------------- */ + +void au_set_h_dptr(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_dentry) +{ + struct au_hdentry *hd = au_di(dentry)->di_hdentry + bindex; + struct au_branch *br; + + DiMustWriteLock(dentry); + + au_hdput(hd); + hd->hd_dentry = h_dentry; + if (h_dentry) { + br = au_sbr(dentry->d_sb, bindex); + hd->hd_id = br->br_id; + } +} + +int au_dbrange_test(struct dentry *dentry) +{ + int err; + aufs_bindex_t bstart, bend; + + err = 0; + bstart = au_dbstart(dentry); + bend = au_dbend(dentry); + if (bstart >= 0) + AuDebugOn(bend < 0 && bstart > bend); + else { + err = -EIO; + AuDebugOn(bend >= 0); + } + + return err; +} + +int au_digen_test(struct dentry *dentry, unsigned int sigen) +{ + int err; + + err = 0; + if (unlikely(au_digen(dentry) != sigen + || au_iigen_test(dentry->d_inode, sigen))) + err = -EIO; + + return err; +} + +void au_update_digen(struct dentry *dentry) +{ + atomic_set(&au_di(dentry)->di_generation, au_sigen(dentry->d_sb)); + /* smp_mb(); */ /* atomic_set */ +} + +void au_update_dbrange(struct dentry *dentry, int do_put_zero) +{ + struct au_dinfo *dinfo; + struct dentry *h_d; + struct au_hdentry *hdp; + + DiMustWriteLock(dentry); + + dinfo = au_di(dentry); + if (!dinfo || dinfo->di_bstart < 0) + return; + + hdp = dinfo->di_hdentry; + if (do_put_zero) { + aufs_bindex_t bindex, bend; + + bend = dinfo->di_bend; + for (bindex = dinfo->di_bstart; bindex <= bend; bindex++) { + h_d = hdp[0 + bindex].hd_dentry; + if (h_d && !h_d->d_inode) + au_set_h_dptr(dentry, bindex, NULL); + } + } + + dinfo->di_bstart = -1; + while (++dinfo->di_bstart <= dinfo->di_bend) + if (hdp[0 + dinfo->di_bstart].hd_dentry) + break; + if (dinfo->di_bstart > dinfo->di_bend) { + dinfo->di_bstart = -1; + dinfo->di_bend = -1; + return; + } + + dinfo->di_bend++; + while (0 <= --dinfo->di_bend) + if (hdp[0 + dinfo->di_bend].hd_dentry) + break; + AuDebugOn(dinfo->di_bstart > dinfo->di_bend || dinfo->di_bend < 0); +} + +void au_update_dbstart(struct dentry *dentry) +{ + aufs_bindex_t bindex, bend; + struct dentry *h_dentry; + + bend = au_dbend(dentry); + for (bindex = au_dbstart(dentry); bindex <= bend; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + if (h_dentry->d_inode) { + au_set_dbstart(dentry, bindex); + return; + } + au_set_h_dptr(dentry, bindex, NULL); + } +} + +void au_update_dbend(struct dentry *dentry) +{ + aufs_bindex_t bindex, bstart; + struct dentry *h_dentry; + + bstart = au_dbstart(dentry); + for (bindex = au_dbend(dentry); bindex >= bstart; bindex--) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + if (h_dentry->d_inode) { + au_set_dbend(dentry, bindex); + return; + } + au_set_h_dptr(dentry, bindex, NULL); + } +} + +int au_find_dbindex(struct dentry *dentry, struct dentry *h_dentry) +{ + aufs_bindex_t bindex, bend; + + bend = au_dbend(dentry); + for (bindex = au_dbstart(dentry); bindex <= bend; bindex++) + if (au_h_dptr(dentry, bindex) == h_dentry) + return bindex; + return -1; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dir.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/dir.c @@ -0,0 +1,636 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * directory operations + */ + +#include +#include "aufs.h" + +void au_add_nlink(struct inode *dir, struct inode *h_dir) +{ + unsigned int nlink; + + AuDebugOn(!S_ISDIR(dir->i_mode) || !S_ISDIR(h_dir->i_mode)); + + nlink = dir->i_nlink; + nlink += h_dir->i_nlink - 2; + if (h_dir->i_nlink < 2) + nlink += 2; + /* 0 can happen in revaliding */ + set_nlink(dir, nlink); +} + +void au_sub_nlink(struct inode *dir, struct inode *h_dir) +{ + unsigned int nlink; + + AuDebugOn(!S_ISDIR(dir->i_mode) || !S_ISDIR(h_dir->i_mode)); + + nlink = dir->i_nlink; + nlink -= h_dir->i_nlink - 2; + if (h_dir->i_nlink < 2) + nlink -= 2; + /* nlink == 0 means the branch-fs is broken */ + set_nlink(dir, nlink); +} + +loff_t au_dir_size(struct file *file, struct dentry *dentry) +{ + loff_t sz; + aufs_bindex_t bindex, bend; + struct file *h_file; + struct dentry *h_dentry; + + sz = 0; + if (file) { + AuDebugOn(!file->f_dentry); + AuDebugOn(!file->f_dentry->d_inode); + AuDebugOn(!S_ISDIR(file->f_dentry->d_inode->i_mode)); + + bend = au_fbend_dir(file); + for (bindex = au_fbstart(file); + bindex <= bend && sz < KMALLOC_MAX_SIZE; + bindex++) { + h_file = au_hf_dir(file, bindex); + if (h_file + && h_file->f_dentry + && h_file->f_dentry->d_inode) + sz += i_size_read(h_file->f_dentry->d_inode); + } + } else { + AuDebugOn(!dentry); + AuDebugOn(!dentry->d_inode); + AuDebugOn(!S_ISDIR(dentry->d_inode->i_mode)); + + bend = au_dbtaildir(dentry); + for (bindex = au_dbstart(dentry); + bindex <= bend && sz < KMALLOC_MAX_SIZE; + bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && h_dentry->d_inode) + sz += i_size_read(h_dentry->d_inode); + } + } + if (sz < KMALLOC_MAX_SIZE) + sz = roundup_pow_of_two(sz); + if (sz > KMALLOC_MAX_SIZE) + sz = KMALLOC_MAX_SIZE; + else if (sz < NAME_MAX) { + BUILD_BUG_ON(AUFS_RDBLK_DEF < NAME_MAX); + sz = AUFS_RDBLK_DEF; + } + return sz; +} + +/* ---------------------------------------------------------------------- */ + +static int reopen_dir(struct file *file) +{ + int err; + unsigned int flags; + aufs_bindex_t bindex, btail, bstart; + struct dentry *dentry, *h_dentry; + struct file *h_file; + + /* open all lower dirs */ + dentry = file->f_dentry; + bstart = au_dbstart(dentry); + for (bindex = au_fbstart(file); bindex < bstart; bindex++) + au_set_h_fptr(file, bindex, NULL); + au_set_fbstart(file, bstart); + + btail = au_dbtaildir(dentry); + for (bindex = au_fbend_dir(file); btail < bindex; bindex--) + au_set_h_fptr(file, bindex, NULL); + au_set_fbend_dir(file, btail); + + flags = vfsub_file_flags(file); + for (bindex = bstart; bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + h_file = au_hf_dir(file, bindex); + if (h_file) + continue; + + h_file = au_h_open(dentry, bindex, flags, file); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; /* close all? */ + au_set_h_fptr(file, bindex, h_file); + } + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + err = 0; + +out: + return err; +} + +static int do_open_dir(struct file *file, int flags) +{ + int err; + aufs_bindex_t bindex, btail; + struct dentry *dentry, *h_dentry; + struct file *h_file; + + FiMustWriteLock(file); + + dentry = file->f_dentry; + err = au_alive_dir(dentry); + if (unlikely(err)) + goto out; + + file->f_version = dentry->d_inode->i_version; + bindex = au_dbstart(dentry); + au_set_fbstart(file, bindex); + btail = au_dbtaildir(dentry); + au_set_fbend_dir(file, btail); + for (; !err && bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + + h_file = au_h_open(dentry, bindex, flags, file); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + break; + } + au_set_h_fptr(file, bindex, h_file); + } + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + if (!err) + return 0; /* success */ + + /* close all */ + for (bindex = au_fbstart(file); bindex <= btail; bindex++) + au_set_h_fptr(file, bindex, NULL); + au_set_fbstart(file, -1); + au_set_fbend_dir(file, -1); + +out: + return err; +} + +static int aufs_open_dir(struct inode *inode __maybe_unused, + struct file *file) +{ + int err; + struct super_block *sb; + struct au_fidir *fidir; + + err = -ENOMEM; + sb = file->f_dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + fidir = au_fidir_alloc(sb); + if (fidir) { + err = au_do_open(file, do_open_dir, fidir); + if (unlikely(err)) + kfree(fidir); + } + si_read_unlock(sb); + return err; +} + +static int aufs_release_dir(struct inode *inode __maybe_unused, + struct file *file) +{ + struct au_vdir *vdir_cache; + struct au_finfo *finfo; + struct au_fidir *fidir; + aufs_bindex_t bindex, bend; + + finfo = au_fi(file); + fidir = finfo->fi_hdir; + if (fidir) { + /* remove me from sb->s_files */ + file_sb_list_del(file); + + vdir_cache = fidir->fd_vdir_cache; /* lock-free */ + if (vdir_cache) + au_vdir_free(vdir_cache); + + bindex = finfo->fi_btop; + if (bindex >= 0) { + /* + * calls fput() instead of filp_close(), + * since no dnotify or lock for the lower file. + */ + bend = fidir->fd_bbot; + for (; bindex <= bend; bindex++) + au_set_h_fptr(file, bindex, NULL); + } + kfree(fidir); + finfo->fi_hdir = NULL; + } + au_finfo_fin(file); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_flush_dir(struct file *file, fl_owner_t id) +{ + int err; + aufs_bindex_t bindex, bend; + struct file *h_file; + + err = 0; + bend = au_fbend_dir(file); + for (bindex = au_fbstart(file); !err && bindex <= bend; bindex++) { + h_file = au_hf_dir(file, bindex); + if (h_file) + err = vfsub_flush(h_file, id); + } + return err; +} + +static int aufs_flush_dir(struct file *file, fl_owner_t id) +{ + return au_do_flush(file, id, au_do_flush_dir); +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_fsync_dir_no_file(struct dentry *dentry, int datasync) +{ + int err; + aufs_bindex_t bend, bindex; + struct inode *inode; + struct super_block *sb; + + err = 0; + sb = dentry->d_sb; + inode = dentry->d_inode; + IMustLock(inode); + bend = au_dbend(dentry); + for (bindex = au_dbstart(dentry); !err && bindex <= bend; bindex++) { + struct path h_path; + + if (au_test_ro(sb, bindex, inode)) + continue; + h_path.dentry = au_h_dptr(dentry, bindex); + if (!h_path.dentry) + continue; + + h_path.mnt = au_sbr_mnt(sb, bindex); + err = vfsub_fsync(NULL, &h_path, datasync); + } + + return err; +} + +static int au_do_fsync_dir(struct file *file, int datasync) +{ + int err; + aufs_bindex_t bend, bindex; + struct file *h_file; + struct super_block *sb; + struct inode *inode; + + err = au_reval_and_lock_fdi(file, reopen_dir, /*wlock*/1); + if (unlikely(err)) + goto out; + + sb = file->f_dentry->d_sb; + inode = file->f_dentry->d_inode; + bend = au_fbend_dir(file); + for (bindex = au_fbstart(file); !err && bindex <= bend; bindex++) { + h_file = au_hf_dir(file, bindex); + if (!h_file || au_test_ro(sb, bindex, inode)) + continue; + + err = vfsub_fsync(h_file, &h_file->f_path, datasync); + } + +out: + return err; +} + +/* + * @file may be NULL + */ +static int aufs_fsync_dir(struct file *file, loff_t start, loff_t end, + int datasync) +{ + int err; + struct dentry *dentry; + struct super_block *sb; + struct mutex *mtx; + + err = 0; + dentry = file->f_dentry; + mtx = &dentry->d_inode->i_mutex; + mutex_lock(mtx); + sb = dentry->d_sb; + si_noflush_read_lock(sb); + if (file) + err = au_do_fsync_dir(file, datasync); + else { + di_write_lock_child(dentry); + err = au_do_fsync_dir_no_file(dentry, datasync); + } + au_cpup_attr_timesizes(dentry->d_inode); + di_write_unlock(dentry); + if (file) + fi_write_unlock(file); + + si_read_unlock(sb); + mutex_unlock(mtx); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_readdir(struct file *file, void *dirent, filldir_t filldir) +{ + int err; + struct dentry *dentry; + struct inode *inode, *h_inode; + struct super_block *sb; + + dentry = file->f_dentry; + inode = dentry->d_inode; + IMustLock(inode); + + sb = dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + err = au_reval_and_lock_fdi(file, reopen_dir, /*wlock*/1); + if (unlikely(err)) + goto out; + err = au_alive_dir(dentry); + if (!err) + err = au_vdir_init(file); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) + goto out_unlock; + + h_inode = au_h_iptr(inode, au_ibstart(inode)); + if (!au_test_nfsd()) { + err = au_vdir_fill_de(file, dirent, filldir); + fsstack_copy_attr_atime(inode, h_inode); + } else { + /* + * nfsd filldir may call lookup_one_len(), vfs_getattr(), + * encode_fh() and others. + */ + atomic_inc(&h_inode->i_count); + di_read_unlock(dentry, AuLock_IR); + si_read_unlock(sb); + err = au_vdir_fill_de(file, dirent, filldir); + fsstack_copy_attr_atime(inode, h_inode); + fi_write_unlock(file); + iput(h_inode); + + AuTraceErr(err); + return err; + } + +out_unlock: + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); +out: + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +#define AuTestEmpty_WHONLY 1 +#define AuTestEmpty_CALLED (1 << 1) +#define AuTestEmpty_SHWH (1 << 2) +#define au_ftest_testempty(flags, name) ((flags) & AuTestEmpty_##name) +#define au_fset_testempty(flags, name) \ + do { (flags) |= AuTestEmpty_##name; } while (0) +#define au_fclr_testempty(flags, name) \ + do { (flags) &= ~AuTestEmpty_##name; } while (0) + +#ifndef CONFIG_AUFS_SHWH +#undef AuTestEmpty_SHWH +#define AuTestEmpty_SHWH 0 +#endif + +struct test_empty_arg { + struct au_nhash *whlist; + unsigned int flags; + int err; + aufs_bindex_t bindex; +}; + +static int test_empty_cb(void *__arg, const char *__name, int namelen, + loff_t offset __maybe_unused, u64 ino, + unsigned int d_type) +{ + struct test_empty_arg *arg = __arg; + char *name = (void *)__name; + + arg->err = 0; + au_fset_testempty(arg->flags, CALLED); + /* smp_mb(); */ + if (name[0] == '.' + && (namelen == 1 || (name[1] == '.' && namelen == 2))) + goto out; /* success */ + + if (namelen <= AUFS_WH_PFX_LEN + || memcmp(name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) { + if (au_ftest_testempty(arg->flags, WHONLY) + && !au_nhash_test_known_wh(arg->whlist, name, namelen)) + arg->err = -ENOTEMPTY; + goto out; + } + + name += AUFS_WH_PFX_LEN; + namelen -= AUFS_WH_PFX_LEN; + if (!au_nhash_test_known_wh(arg->whlist, name, namelen)) + arg->err = au_nhash_append_wh + (arg->whlist, name, namelen, ino, d_type, arg->bindex, + au_ftest_testempty(arg->flags, SHWH)); + +out: + /* smp_mb(); */ + AuTraceErr(arg->err); + return arg->err; +} + +static int do_test_empty(struct dentry *dentry, struct test_empty_arg *arg) +{ + int err; + struct file *h_file; + + h_file = au_h_open(dentry, arg->bindex, + O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_LARGEFILE, + /*file*/NULL); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + err = 0; + if (!au_opt_test(au_mntflags(dentry->d_sb), UDBA_NONE) + && !h_file->f_dentry->d_inode->i_nlink) + goto out_put; + + do { + arg->err = 0; + au_fclr_testempty(arg->flags, CALLED); + /* smp_mb(); */ + err = vfsub_readdir(h_file, test_empty_cb, arg); + if (err >= 0) + err = arg->err; + } while (!err && au_ftest_testempty(arg->flags, CALLED)); + +out_put: + fput(h_file); + au_sbr_put(dentry->d_sb, arg->bindex); +out: + return err; +} + +struct do_test_empty_args { + int *errp; + struct dentry *dentry; + struct test_empty_arg *arg; +}; + +static void call_do_test_empty(void *args) +{ + struct do_test_empty_args *a = args; + *a->errp = do_test_empty(a->dentry, a->arg); +} + +static int sio_test_empty(struct dentry *dentry, struct test_empty_arg *arg) +{ + int err, wkq_err; + struct dentry *h_dentry; + struct inode *h_inode; + + h_dentry = au_h_dptr(dentry, arg->bindex); + h_inode = h_dentry->d_inode; + /* todo: i_mode changes anytime? */ + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + err = au_test_h_perm_sio(h_inode, MAY_EXEC | MAY_READ); + mutex_unlock(&h_inode->i_mutex); + if (!err) + err = do_test_empty(dentry, arg); + else { + struct do_test_empty_args args = { + .errp = &err, + .dentry = dentry, + .arg = arg + }; + unsigned int flags = arg->flags; + + wkq_err = au_wkq_wait(call_do_test_empty, &args); + if (unlikely(wkq_err)) + err = wkq_err; + arg->flags = flags; + } + + return err; +} + +int au_test_empty_lower(struct dentry *dentry) +{ + int err; + unsigned int rdhash; + aufs_bindex_t bindex, bstart, btail; + struct au_nhash whlist; + struct test_empty_arg arg; + + SiMustAnyLock(dentry->d_sb); + + rdhash = au_sbi(dentry->d_sb)->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(/*file*/NULL, dentry)); + err = au_nhash_alloc(&whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + + arg.flags = 0; + arg.whlist = &whlist; + bstart = au_dbstart(dentry); + if (au_opt_test(au_mntflags(dentry->d_sb), SHWH)) + au_fset_testempty(arg.flags, SHWH); + arg.bindex = bstart; + err = do_test_empty(dentry, &arg); + if (unlikely(err)) + goto out_whlist; + + au_fset_testempty(arg.flags, WHONLY); + btail = au_dbtaildir(dentry); + for (bindex = bstart + 1; !err && bindex <= btail; bindex++) { + struct dentry *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && h_dentry->d_inode) { + arg.bindex = bindex; + err = do_test_empty(dentry, &arg); + } + } + +out_whlist: + au_nhash_wh_free(&whlist); +out: + return err; +} + +int au_test_empty(struct dentry *dentry, struct au_nhash *whlist) +{ + int err; + struct test_empty_arg arg; + aufs_bindex_t bindex, btail; + + err = 0; + arg.whlist = whlist; + arg.flags = AuTestEmpty_WHONLY; + if (au_opt_test(au_mntflags(dentry->d_sb), SHWH)) + au_fset_testempty(arg.flags, SHWH); + btail = au_dbtaildir(dentry); + for (bindex = au_dbstart(dentry); !err && bindex <= btail; bindex++) { + struct dentry *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && h_dentry->d_inode) { + arg.bindex = bindex; + err = sio_test_empty(dentry, &arg); + } + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +const struct file_operations aufs_dir_fop = { + .owner = THIS_MODULE, + .llseek = default_llseek, + .read = generic_read_dir, + .readdir = aufs_readdir, + .unlocked_ioctl = aufs_ioctl_dir, +#ifdef CONFIG_COMPAT + .compat_ioctl = aufs_compat_ioctl_dir, +#endif + .open = aufs_open_dir, + .release = aufs_release_dir, + .flush = aufs_flush_dir, + .fsync = aufs_fsync_dir +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dir.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/dir.h @@ -0,0 +1,137 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * directory operations + */ + +#ifndef __AUFS_DIR_H__ +#define __AUFS_DIR_H__ + +#ifdef __KERNEL__ + +#include + +/* ---------------------------------------------------------------------- */ + +/* need to be faster and smaller */ + +struct au_nhash { + unsigned int nh_num; + struct hlist_head *nh_head; +}; + +struct au_vdir_destr { + unsigned char len; + unsigned char name[0]; +} __packed; + +struct au_vdir_dehstr { + struct hlist_node hash; + struct au_vdir_destr *str; +} ____cacheline_aligned_in_smp; + +struct au_vdir_de { + ino_t de_ino; + unsigned char de_type; + /* caution: packed */ + struct au_vdir_destr de_str; +} __packed; + +struct au_vdir_wh { + struct hlist_node wh_hash; +#ifdef CONFIG_AUFS_SHWH + ino_t wh_ino; + aufs_bindex_t wh_bindex; + unsigned char wh_type; +#else + aufs_bindex_t wh_bindex; +#endif + /* caution: packed */ + struct au_vdir_destr wh_str; +} __packed; + +union au_vdir_deblk_p { + unsigned char *deblk; + struct au_vdir_de *de; +}; + +struct au_vdir { + unsigned char **vd_deblk; + unsigned long vd_nblk; + struct { + unsigned long ul; + union au_vdir_deblk_p p; + } vd_last; + + unsigned long vd_version; + unsigned int vd_deblk_sz; + unsigned long vd_jiffy; +} ____cacheline_aligned_in_smp; + +/* ---------------------------------------------------------------------- */ + +/* dir.c */ +extern const struct file_operations aufs_dir_fop; +void au_add_nlink(struct inode *dir, struct inode *h_dir); +void au_sub_nlink(struct inode *dir, struct inode *h_dir); +loff_t au_dir_size(struct file *file, struct dentry *dentry); +int au_test_empty_lower(struct dentry *dentry); +int au_test_empty(struct dentry *dentry, struct au_nhash *whlist); + +/* vdir.c */ +unsigned int au_rdhash_est(loff_t sz); +int au_nhash_alloc(struct au_nhash *nhash, unsigned int num_hash, gfp_t gfp); +void au_nhash_wh_free(struct au_nhash *whlist); +int au_nhash_test_longer_wh(struct au_nhash *whlist, aufs_bindex_t btgt, + int limit); +int au_nhash_test_known_wh(struct au_nhash *whlist, char *name, int nlen); +int au_nhash_append_wh(struct au_nhash *whlist, char *name, int nlen, ino_t ino, + unsigned int d_type, aufs_bindex_t bindex, + unsigned char shwh); +void au_vdir_free(struct au_vdir *vdir); +int au_vdir_init(struct file *file); +int au_vdir_fill_de(struct file *file, void *dirent, filldir_t filldir); + +/* ioctl.c */ +long aufs_ioctl_dir(struct file *file, unsigned int cmd, unsigned long arg); + +#ifdef CONFIG_AUFS_RDU +/* rdu.c */ +long au_rdu_ioctl(struct file *file, unsigned int cmd, unsigned long arg); +#ifdef CONFIG_COMPAT +long au_rdu_compat_ioctl(struct file *file, unsigned int cmd, + unsigned long arg); +#endif +#else +static inline long au_rdu_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + return -EINVAL; +} +#ifdef CONFIG_COMPAT +static inline long au_rdu_compat_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + return -EINVAL; +} +#endif +#endif + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DIR_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dynop.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/dynop.c @@ -0,0 +1,377 @@ +/* + * Copyright (C) 2010-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * dynamically customizable operations for regular files + */ + +#include "aufs.h" + +#define DyPrSym(key) AuDbgSym(key->dk_op.dy_hop) + +/* + * How large will these lists be? + * Usually just a few elements, 20-30 at most for each, I guess. + */ +static struct au_splhead dynop[AuDyLast]; + +static struct au_dykey *dy_gfind_get(struct au_splhead *spl, const void *h_op) +{ + struct au_dykey *key, *tmp; + struct list_head *head; + + key = NULL; + head = &spl->head; + rcu_read_lock(); + list_for_each_entry_rcu(tmp, head, dk_list) + if (tmp->dk_op.dy_hop == h_op) { + key = tmp; + kref_get(&key->dk_kref); + break; + } + rcu_read_unlock(); + + return key; +} + +static struct au_dykey *dy_bradd(struct au_branch *br, struct au_dykey *key) +{ + struct au_dykey **k, *found; + const void *h_op = key->dk_op.dy_hop; + int i; + + found = NULL; + k = br->br_dykey; + for (i = 0; i < AuBrDynOp; i++) + if (k[i]) { + if (k[i]->dk_op.dy_hop == h_op) { + found = k[i]; + break; + } + } else + break; + if (!found) { + spin_lock(&br->br_dykey_lock); + for (; i < AuBrDynOp; i++) + if (k[i]) { + if (k[i]->dk_op.dy_hop == h_op) { + found = k[i]; + break; + } + } else { + k[i] = key; + break; + } + spin_unlock(&br->br_dykey_lock); + BUG_ON(i == AuBrDynOp); /* expand the array */ + } + + return found; +} + +/* kref_get() if @key is already added */ +static struct au_dykey *dy_gadd(struct au_splhead *spl, struct au_dykey *key) +{ + struct au_dykey *tmp, *found; + struct list_head *head; + const void *h_op = key->dk_op.dy_hop; + + found = NULL; + head = &spl->head; + spin_lock(&spl->spin); + list_for_each_entry(tmp, head, dk_list) + if (tmp->dk_op.dy_hop == h_op) { + kref_get(&tmp->dk_kref); + found = tmp; + break; + } + if (!found) + list_add_rcu(&key->dk_list, head); + spin_unlock(&spl->spin); + + if (!found) + DyPrSym(key); + return found; +} + +static void dy_free_rcu(struct rcu_head *rcu) +{ + struct au_dykey *key; + + key = container_of(rcu, struct au_dykey, dk_rcu); + DyPrSym(key); + kfree(key); +} + +static void dy_free(struct kref *kref) +{ + struct au_dykey *key; + struct au_splhead *spl; + + key = container_of(kref, struct au_dykey, dk_kref); + spl = dynop + key->dk_op.dy_type; + au_spl_del_rcu(&key->dk_list, spl); + call_rcu(&key->dk_rcu, dy_free_rcu); +} + +void au_dy_put(struct au_dykey *key) +{ + kref_put(&key->dk_kref, dy_free); +} + +/* ---------------------------------------------------------------------- */ + +#define DyDbgSize(cnt, op) AuDebugOn(cnt != sizeof(op)/sizeof(void *)) + +#ifdef CONFIG_AUFS_DEBUG +#define DyDbgDeclare(cnt) unsigned int cnt = 0 +#define DyDbgInc(cnt) do { cnt++; } while (0) +#else +#define DyDbgDeclare(cnt) do {} while (0) +#define DyDbgInc(cnt) do {} while (0) +#endif + +#define DySet(func, dst, src, h_op, h_sb) do { \ + DyDbgInc(cnt); \ + if (h_op->func) { \ + if (src.func) \ + dst.func = src.func; \ + else \ + AuDbg("%s %s\n", au_sbtype(h_sb), #func); \ + } \ +} while (0) + +#define DySetForce(func, dst, src) do { \ + AuDebugOn(!src.func); \ + DyDbgInc(cnt); \ + dst.func = src.func; \ +} while (0) + +#define DySetAop(func) \ + DySet(func, dyaop->da_op, aufs_aop, h_aop, h_sb) +#define DySetAopForce(func) \ + DySetForce(func, dyaop->da_op, aufs_aop) + +static void dy_aop(struct au_dykey *key, const void *h_op, + struct super_block *h_sb __maybe_unused) +{ + struct au_dyaop *dyaop = (void *)key; + const struct address_space_operations *h_aop = h_op; + DyDbgDeclare(cnt); + + AuDbg("%s\n", au_sbtype(h_sb)); + + DySetAop(writepage); + DySetAopForce(readpage); /* force */ + DySetAop(writepages); + DySetAop(set_page_dirty); + DySetAop(readpages); + DySetAop(write_begin); + DySetAop(write_end); + DySetAop(bmap); + DySetAop(invalidatepage); + DySetAop(releasepage); + DySetAop(freepage); + /* these two will be changed according to an aufs mount option */ + DySetAop(direct_IO); + DySetAop(get_xip_mem); + DySetAop(migratepage); + DySetAop(launder_page); + DySetAop(is_partially_uptodate); + DySetAop(error_remove_page); + + DyDbgSize(cnt, *h_aop); + dyaop->da_get_xip_mem = h_aop->get_xip_mem; +} + +/* ---------------------------------------------------------------------- */ + +static void dy_bug(struct kref *kref) +{ + BUG(); +} + +static struct au_dykey *dy_get(struct au_dynop *op, struct au_branch *br) +{ + struct au_dykey *key, *old; + struct au_splhead *spl; + struct op { + unsigned int sz; + void (*set)(struct au_dykey *key, const void *h_op, + struct super_block *h_sb __maybe_unused); + }; + static const struct op a[] = { + [AuDy_AOP] = { + .sz = sizeof(struct au_dyaop), + .set = dy_aop + } + }; + const struct op *p; + + spl = dynop + op->dy_type; + key = dy_gfind_get(spl, op->dy_hop); + if (key) + goto out_add; /* success */ + + p = a + op->dy_type; + key = kzalloc(p->sz, GFP_NOFS); + if (unlikely(!key)) { + key = ERR_PTR(-ENOMEM); + goto out; + } + + key->dk_op.dy_hop = op->dy_hop; + kref_init(&key->dk_kref); + p->set(key, op->dy_hop, br->br_mnt->mnt_sb); + old = dy_gadd(spl, key); + if (old) { + kfree(key); + key = old; + } + +out_add: + old = dy_bradd(br, key); + if (old) + /* its ref-count should never be zero here */ + kref_put(&key->dk_kref, dy_bug); +out: + return key; +} + +/* ---------------------------------------------------------------------- */ +/* + * Aufs prohibits O_DIRECT by defaut even if the branch supports it. + * This behaviour is neccessary to return an error from open(O_DIRECT) instead + * of the succeeding I/O. The dio mount option enables O_DIRECT and makes + * open(O_DIRECT) always succeed, but the succeeding I/O may return an error. + * See the aufs manual in detail. + * + * To keep this behaviour, aufs has to set NULL to ->get_xip_mem too, and the + * performance of fadvise() and madvise() may be affected. + */ +static void dy_adx(struct au_dyaop *dyaop, int do_dx) +{ + if (!do_dx) { + dyaop->da_op.direct_IO = NULL; + dyaop->da_op.get_xip_mem = NULL; + } else { + dyaop->da_op.direct_IO = aufs_aop.direct_IO; + dyaop->da_op.get_xip_mem = aufs_aop.get_xip_mem; + if (!dyaop->da_get_xip_mem) + dyaop->da_op.get_xip_mem = NULL; + } +} + +static struct au_dyaop *dy_aget(struct au_branch *br, + const struct address_space_operations *h_aop, + int do_dx) +{ + struct au_dyaop *dyaop; + struct au_dynop op; + + op.dy_type = AuDy_AOP; + op.dy_haop = h_aop; + dyaop = (void *)dy_get(&op, br); + if (IS_ERR(dyaop)) + goto out; + dy_adx(dyaop, do_dx); + +out: + return dyaop; +} + +int au_dy_iaop(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode) +{ + int err, do_dx; + struct super_block *sb; + struct au_branch *br; + struct au_dyaop *dyaop; + + AuDebugOn(!S_ISREG(h_inode->i_mode)); + IiMustWriteLock(inode); + + sb = inode->i_sb; + br = au_sbr(sb, bindex); + do_dx = !!au_opt_test(au_mntflags(sb), DIO); + dyaop = dy_aget(br, h_inode->i_mapping->a_ops, do_dx); + err = PTR_ERR(dyaop); + if (IS_ERR(dyaop)) + /* unnecessary to call dy_fput() */ + goto out; + + err = 0; + inode->i_mapping->a_ops = &dyaop->da_op; + +out: + return err; +} + +/* + * Is it safe to replace a_ops during the inode/file is in operation? + * Yes, I hope so. + */ +int au_dy_irefresh(struct inode *inode) +{ + int err; + aufs_bindex_t bstart; + struct inode *h_inode; + + err = 0; + if (S_ISREG(inode->i_mode)) { + bstart = au_ibstart(inode); + h_inode = au_h_iptr(inode, bstart); + err = au_dy_iaop(inode, bstart, h_inode); + } + return err; +} + +void au_dy_arefresh(int do_dx) +{ + struct au_splhead *spl; + struct list_head *head; + struct au_dykey *key; + + spl = dynop + AuDy_AOP; + head = &spl->head; + spin_lock(&spl->spin); + list_for_each_entry(key, head, dk_list) + dy_adx((void *)key, do_dx); + spin_unlock(&spl->spin); +} + +/* ---------------------------------------------------------------------- */ + +void __init au_dy_init(void) +{ + int i; + + /* make sure that 'struct au_dykey *' can be any type */ + BUILD_BUG_ON(offsetof(struct au_dyaop, da_key)); + + for (i = 0; i < AuDyLast; i++) + au_spl_init(dynop + i); +} + +void au_dy_fin(void) +{ + int i; + + for (i = 0; i < AuDyLast; i++) + WARN_ON(!list_empty(&dynop[i].head)); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/dynop.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/dynop.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2010-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * dynamically customizable operations (for regular files only) + */ + +#ifndef __AUFS_DYNOP_H__ +#define __AUFS_DYNOP_H__ + +#ifdef __KERNEL__ + +#include "inode.h" + +enum {AuDy_AOP, AuDyLast}; + +struct au_dynop { + int dy_type; + union { + const void *dy_hop; + const struct address_space_operations *dy_haop; + }; +}; + +struct au_dykey { + union { + struct list_head dk_list; + struct rcu_head dk_rcu; + }; + struct au_dynop dk_op; + + /* + * during I am in the branch local array, kref is gotten. when the + * branch is removed, kref is put. + */ + struct kref dk_kref; +}; + +/* stop unioning since their sizes are very different from each other */ +struct au_dyaop { + struct au_dykey da_key; + struct address_space_operations da_op; /* not const */ + int (*da_get_xip_mem)(struct address_space *, pgoff_t, int, + void **, unsigned long *); +}; + +/* ---------------------------------------------------------------------- */ + +/* dynop.c */ +struct au_branch; +void au_dy_put(struct au_dykey *key); +int au_dy_iaop(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode); +int au_dy_irefresh(struct inode *inode); +void au_dy_arefresh(int do_dio); + +void __init au_dy_init(void); +void au_dy_fin(void); + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DYNOP_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/export.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/export.c @@ -0,0 +1,810 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * export via nfs + */ + +#include +#include +#include +#include +#include +#include +#include "../fs/mount.h" +#include "aufs.h" + +union conv { +#ifdef CONFIG_AUFS_INO_T_64 + __u32 a[2]; +#else + __u32 a[1]; +#endif + ino_t ino; +}; + +static ino_t decode_ino(__u32 *a) +{ + union conv u; + + BUILD_BUG_ON(sizeof(u.ino) != sizeof(u.a)); + u.a[0] = a[0]; +#ifdef CONFIG_AUFS_INO_T_64 + u.a[1] = a[1]; +#endif + return u.ino; +} + +static void encode_ino(__u32 *a, ino_t ino) +{ + union conv u; + + u.ino = ino; + a[0] = u.a[0]; +#ifdef CONFIG_AUFS_INO_T_64 + a[1] = u.a[1]; +#endif +} + +/* NFS file handle */ +enum { + Fh_br_id, + Fh_sigen, +#ifdef CONFIG_AUFS_INO_T_64 + /* support 64bit inode number */ + Fh_ino1, + Fh_ino2, + Fh_dir_ino1, + Fh_dir_ino2, +#else + Fh_ino1, + Fh_dir_ino1, +#endif + Fh_igen, + Fh_h_type, + Fh_tail, + + Fh_ino = Fh_ino1, + Fh_dir_ino = Fh_dir_ino1 +}; + +static int au_test_anon(struct dentry *dentry) +{ + /* note: read d_flags without d_lock */ + return !!(dentry->d_flags & DCACHE_DISCONNECTED); +} + +/* ---------------------------------------------------------------------- */ +/* inode generation external table */ + +void au_xigen_inc(struct inode *inode) +{ + loff_t pos; + ssize_t sz; + __u32 igen; + struct super_block *sb; + struct au_sbinfo *sbinfo; + + sb = inode->i_sb; + AuDebugOn(!au_opt_test(au_mntflags(sb), XINO)); + + sbinfo = au_sbi(sb); + pos = inode->i_ino; + pos *= sizeof(igen); + igen = inode->i_generation + 1; + sz = xino_fwrite(sbinfo->si_xwrite, sbinfo->si_xigen, &igen, + sizeof(igen), &pos); + if (sz == sizeof(igen)) + return; /* success */ + + if (unlikely(sz >= 0)) + AuIOErr("xigen error (%zd)\n", sz); +} + +int au_xigen_new(struct inode *inode) +{ + int err; + loff_t pos; + ssize_t sz; + struct super_block *sb; + struct au_sbinfo *sbinfo; + struct file *file; + + err = 0; + /* todo: dirty, at mount time */ + if (inode->i_ino == AUFS_ROOT_INO) + goto out; + sb = inode->i_sb; + SiMustAnyLock(sb); + if (unlikely(!au_opt_test(au_mntflags(sb), XINO))) + goto out; + + err = -EFBIG; + pos = inode->i_ino; + if (unlikely(au_loff_max / sizeof(inode->i_generation) - 1 < pos)) { + AuIOErr1("too large i%lld\n", pos); + goto out; + } + pos *= sizeof(inode->i_generation); + + err = 0; + sbinfo = au_sbi(sb); + file = sbinfo->si_xigen; + BUG_ON(!file); + + if (i_size_read(file->f_dentry->d_inode) + < pos + sizeof(inode->i_generation)) { + inode->i_generation = atomic_inc_return(&sbinfo->si_xigen_next); + sz = xino_fwrite(sbinfo->si_xwrite, file, &inode->i_generation, + sizeof(inode->i_generation), &pos); + } else + sz = xino_fread(sbinfo->si_xread, file, &inode->i_generation, + sizeof(inode->i_generation), &pos); + if (sz == sizeof(inode->i_generation)) + goto out; /* success */ + + err = sz; + if (unlikely(sz >= 0)) { + err = -EIO; + AuIOErr("xigen error (%zd)\n", sz); + } + +out: + return err; +} + +int au_xigen_set(struct super_block *sb, struct file *base) +{ + int err; + struct au_sbinfo *sbinfo; + struct file *file; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + file = au_xino_create2(base, sbinfo->si_xigen); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + err = 0; + if (sbinfo->si_xigen) + fput(sbinfo->si_xigen); + sbinfo->si_xigen = file; + +out: + return err; +} + +void au_xigen_clr(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + if (sbinfo->si_xigen) { + fput(sbinfo->si_xigen); + sbinfo->si_xigen = NULL; + } +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *decode_by_ino(struct super_block *sb, ino_t ino, + ino_t dir_ino) +{ + struct dentry *dentry, *d; + struct inode *inode; + unsigned int sigen; + + dentry = NULL; + inode = ilookup(sb, ino); + if (!inode) + goto out; + + dentry = ERR_PTR(-ESTALE); + sigen = au_sigen(sb); + if (unlikely(is_bad_inode(inode) + || IS_DEADDIR(inode) + || sigen != au_iigen(inode))) + goto out_iput; + + dentry = NULL; + if (!dir_ino || S_ISDIR(inode->i_mode)) + dentry = d_find_alias(inode); + else { + spin_lock(&inode->i_lock); + list_for_each_entry(d, &inode->i_dentry, d_alias) { + spin_lock(&d->d_lock); + if (!au_test_anon(d) + && d->d_parent->d_inode->i_ino == dir_ino) { + dentry = dget_dlock(d); + spin_unlock(&d->d_lock); + break; + } + spin_unlock(&d->d_lock); + } + spin_unlock(&inode->i_lock); + } + if (unlikely(dentry && au_digen_test(dentry, sigen))) { + /* need to refresh */ + dput(dentry); + dentry = NULL; + } + +out_iput: + iput(inode); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* ---------------------------------------------------------------------- */ + +/* todo: dirty? */ +/* if exportfs_decode_fh() passed vfsmount*, we could be happy */ + +struct au_compare_mnt_args { + /* input */ + struct super_block *sb; + + /* output */ + struct vfsmount *mnt; +}; + +static int au_compare_mnt(struct vfsmount *mnt, void *arg) +{ + struct au_compare_mnt_args *a = arg; + + if (mnt->mnt_sb != a->sb) + return 0; + a->mnt = mntget(mnt); + return 1; +} + +static struct vfsmount *au_mnt_get(struct super_block *sb) +{ + int err; + struct path root; + struct au_compare_mnt_args args = { + .sb = sb + }; + + get_fs_root(current->fs, &root); + br_read_lock(&vfsmount_lock); + err = iterate_mounts(au_compare_mnt, &args, root.mnt); + br_read_unlock(&vfsmount_lock); + path_put(&root); + AuDebugOn(!err); + AuDebugOn(!args.mnt); + return args.mnt; +} + +struct au_nfsd_si_lock { + unsigned int sigen; + aufs_bindex_t bindex, br_id; + unsigned char force_lock; +}; + +static int si_nfsd_read_lock(struct super_block *sb, + struct au_nfsd_si_lock *nsi_lock) +{ + int err; + aufs_bindex_t bindex; + + si_read_lock(sb, AuLock_FLUSH); + + /* branch id may be wrapped around */ + err = 0; + bindex = au_br_index(sb, nsi_lock->br_id); + if (bindex >= 0 && nsi_lock->sigen + AUFS_BRANCH_MAX > au_sigen(sb)) + goto out; /* success */ + + err = -ESTALE; + bindex = -1; + if (!nsi_lock->force_lock) + si_read_unlock(sb); + +out: + nsi_lock->bindex = bindex; + return err; +} + +struct find_name_by_ino { + int called, found; + ino_t ino; + char *name; + int namelen; +}; + +static int +find_name_by_ino(void *arg, const char *name, int namelen, loff_t offset, + u64 ino, unsigned int d_type) +{ + struct find_name_by_ino *a = arg; + + a->called++; + if (a->ino != ino) + return 0; + + memcpy(a->name, name, namelen); + a->namelen = namelen; + a->found = 1; + return 1; +} + +static struct dentry *au_lkup_by_ino(struct path *path, ino_t ino, + struct au_nfsd_si_lock *nsi_lock) +{ + struct dentry *dentry, *parent; + struct file *file; + struct inode *dir; + struct find_name_by_ino arg; + int err; + + parent = path->dentry; + if (nsi_lock) + si_read_unlock(parent->d_sb); + file = vfsub_dentry_open(path, au_dir_roflags); + dentry = (void *)file; + if (IS_ERR(file)) + goto out; + + dentry = ERR_PTR(-ENOMEM); + arg.name = __getname_gfp(GFP_NOFS); + if (unlikely(!arg.name)) + goto out_file; + arg.ino = ino; + arg.found = 0; + do { + arg.called = 0; + /* smp_mb(); */ + err = vfsub_readdir(file, find_name_by_ino, &arg); + } while (!err && !arg.found && arg.called); + dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_name; + dentry = ERR_PTR(-ENOENT); + if (!arg.found) + goto out_name; + + /* do not call au_lkup_one() */ + dir = parent->d_inode; + mutex_lock(&dir->i_mutex); + dentry = vfsub_lookup_one_len(arg.name, parent, arg.namelen); + mutex_unlock(&dir->i_mutex); + AuTraceErrPtr(dentry); + if (IS_ERR(dentry)) + goto out_name; + AuDebugOn(au_test_anon(dentry)); + if (unlikely(!dentry->d_inode)) { + dput(dentry); + dentry = ERR_PTR(-ENOENT); + } + +out_name: + __putname(arg.name); +out_file: + fput(file); +out: + if (unlikely(nsi_lock + && si_nfsd_read_lock(parent->d_sb, nsi_lock) < 0)) + if (!IS_ERR(dentry)) { + dput(dentry); + dentry = ERR_PTR(-ESTALE); + } + AuTraceErrPtr(dentry); + return dentry; +} + +static struct dentry *decode_by_dir_ino(struct super_block *sb, ino_t ino, + ino_t dir_ino, + struct au_nfsd_si_lock *nsi_lock) +{ + struct dentry *dentry; + struct path path; + + if (dir_ino != AUFS_ROOT_INO) { + path.dentry = decode_by_ino(sb, dir_ino, 0); + dentry = path.dentry; + if (!path.dentry || IS_ERR(path.dentry)) + goto out; + AuDebugOn(au_test_anon(path.dentry)); + } else + path.dentry = dget(sb->s_root); + + path.mnt = au_mnt_get(sb); + dentry = au_lkup_by_ino(&path, ino, nsi_lock); + path_put(&path); + +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* ---------------------------------------------------------------------- */ + +static int h_acceptable(void *expv, struct dentry *dentry) +{ + return 1; +} + +static char *au_build_path(struct dentry *h_parent, struct path *h_rootpath, + char *buf, int len, struct super_block *sb) +{ + char *p; + int n; + struct path path; + + p = d_path(h_rootpath, buf, len); + if (IS_ERR(p)) + goto out; + n = strlen(p); + + path.mnt = h_rootpath->mnt; + path.dentry = h_parent; + p = d_path(&path, buf, len); + if (IS_ERR(p)) + goto out; + if (n != 1) + p += n; + + path.mnt = au_mnt_get(sb); + path.dentry = sb->s_root; + p = d_path(&path, buf, len - strlen(p)); + mntput(path.mnt); + if (IS_ERR(p)) + goto out; + if (n != 1) + p[strlen(p)] = '/'; + +out: + AuTraceErrPtr(p); + return p; +} + +static +struct dentry *decode_by_path(struct super_block *sb, ino_t ino, __u32 *fh, + int fh_len, struct au_nfsd_si_lock *nsi_lock) +{ + struct dentry *dentry, *h_parent, *root; + struct super_block *h_sb; + char *pathname, *p; + struct vfsmount *h_mnt; + struct au_branch *br; + int err; + struct path path; + + br = au_sbr(sb, nsi_lock->bindex); + h_mnt = br->br_mnt; + h_sb = h_mnt->mnt_sb; + /* todo: call lower fh_to_dentry()? fh_to_parent()? */ + h_parent = exportfs_decode_fh(h_mnt, (void *)(fh + Fh_tail), + fh_len - Fh_tail, fh[Fh_h_type], + h_acceptable, /*context*/NULL); + dentry = h_parent; + if (unlikely(!h_parent || IS_ERR(h_parent))) { + AuWarn1("%s decode_fh failed, %ld\n", + au_sbtype(h_sb), PTR_ERR(h_parent)); + goto out; + } + dentry = NULL; + if (unlikely(au_test_anon(h_parent))) { + AuWarn1("%s decode_fh returned a disconnected dentry\n", + au_sbtype(h_sb)); + goto out_h_parent; + } + + dentry = ERR_PTR(-ENOMEM); + pathname = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!pathname)) + goto out_h_parent; + + root = sb->s_root; + path.mnt = h_mnt; + di_read_lock_parent(root, !AuLock_IR); + path.dentry = au_h_dptr(root, nsi_lock->bindex); + di_read_unlock(root, !AuLock_IR); + p = au_build_path(h_parent, &path, pathname, PAGE_SIZE, sb); + dentry = (void *)p; + if (IS_ERR(p)) + goto out_pathname; + + si_read_unlock(sb); + err = vfsub_kern_path(p, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path); + dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_relock; + + dentry = ERR_PTR(-ENOENT); + AuDebugOn(au_test_anon(path.dentry)); + if (unlikely(!path.dentry->d_inode)) + goto out_path; + + if (ino != path.dentry->d_inode->i_ino) + dentry = au_lkup_by_ino(&path, ino, /*nsi_lock*/NULL); + else + dentry = dget(path.dentry); + +out_path: + path_put(&path); +out_relock: + if (unlikely(si_nfsd_read_lock(sb, nsi_lock) < 0)) + if (!IS_ERR(dentry)) { + dput(dentry); + dentry = ERR_PTR(-ESTALE); + } +out_pathname: + free_page((unsigned long)pathname); +out_h_parent: + dput(h_parent); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry * +aufs_fh_to_dentry(struct super_block *sb, struct fid *fid, int fh_len, + int fh_type) +{ + struct dentry *dentry; + __u32 *fh = fid->raw; + struct au_branch *br; + ino_t ino, dir_ino; + struct au_nfsd_si_lock nsi_lock = { + .force_lock = 0 + }; + + dentry = ERR_PTR(-ESTALE); + /* it should never happen, but the file handle is unreliable */ + if (unlikely(fh_len < Fh_tail)) + goto out; + nsi_lock.sigen = fh[Fh_sigen]; + nsi_lock.br_id = fh[Fh_br_id]; + + /* branch id may be wrapped around */ + br = NULL; + if (unlikely(si_nfsd_read_lock(sb, &nsi_lock))) + goto out; + nsi_lock.force_lock = 1; + + /* is this inode still cached? */ + ino = decode_ino(fh + Fh_ino); + /* it should never happen */ + if (unlikely(ino == AUFS_ROOT_INO)) + goto out; + + dir_ino = decode_ino(fh + Fh_dir_ino); + dentry = decode_by_ino(sb, ino, dir_ino); + if (IS_ERR(dentry)) + goto out_unlock; + if (dentry) + goto accept; + + /* is the parent dir cached? */ + br = au_sbr(sb, nsi_lock.bindex); + atomic_inc(&br->br_count); + dentry = decode_by_dir_ino(sb, ino, dir_ino, &nsi_lock); + if (IS_ERR(dentry)) + goto out_unlock; + if (dentry) + goto accept; + + /* lookup path */ + dentry = decode_by_path(sb, ino, fh, fh_len, &nsi_lock); + if (IS_ERR(dentry)) + goto out_unlock; + if (unlikely(!dentry)) + /* todo?: make it ESTALE */ + goto out_unlock; + +accept: + if (!au_digen_test(dentry, au_sigen(sb)) + && dentry->d_inode->i_generation == fh[Fh_igen]) + goto out_unlock; /* success */ + + dput(dentry); + dentry = ERR_PTR(-ESTALE); +out_unlock: + if (br) + atomic_dec(&br->br_count); + si_read_unlock(sb); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +#if 0 /* reserved for future use */ +/* support subtreecheck option */ +static struct dentry *aufs_fh_to_parent(struct super_block *sb, struct fid *fid, + int fh_len, int fh_type) +{ + struct dentry *parent; + __u32 *fh = fid->raw; + ino_t dir_ino; + + dir_ino = decode_ino(fh + Fh_dir_ino); + parent = decode_by_ino(sb, dir_ino, 0); + if (IS_ERR(parent)) + goto out; + if (!parent) + parent = decode_by_path(sb, au_br_index(sb, fh[Fh_br_id]), + dir_ino, fh, fh_len); + +out: + AuTraceErrPtr(parent); + return parent; +} +#endif + +/* ---------------------------------------------------------------------- */ + +static int aufs_encode_fh(struct inode *inode, __u32 *fh, int *max_len, + struct inode *dir) +{ + int err; + aufs_bindex_t bindex; + struct super_block *sb, *h_sb; + struct dentry *dentry, *parent, *h_parent; + struct inode *h_dir; + struct au_branch *br; + + err = -ENOSPC; + if (unlikely(*max_len <= Fh_tail)) { + AuWarn1("NFSv2 client (max_len %d)?\n", *max_len); + goto out; + } + + err = FILEID_ROOT; + if (inode->i_ino == AUFS_ROOT_INO) { + AuDebugOn(inode->i_ino != AUFS_ROOT_INO); + goto out; + } + + h_parent = NULL; + sb = inode->i_sb; + err = si_read_lock(sb, AuLock_FLUSH); + if (unlikely(err)) + goto out; + +#ifdef CONFIG_AUFS_DEBUG + if (unlikely(!au_opt_test(au_mntflags(sb), XINO))) + AuWarn1("NFS-exporting requires xino\n"); +#endif + err = -EIO; + parent = NULL; + ii_read_lock_child(inode); + bindex = au_ibstart(inode); + if (!dir) { + dentry = d_find_alias(inode); + if (unlikely(!dentry)) + goto out_unlock; + AuDebugOn(au_test_anon(dentry)); + parent = dget_parent(dentry); + dput(dentry); + if (unlikely(!parent)) + goto out_unlock; + dir = parent->d_inode; + } + + ii_read_lock_parent(dir); + h_dir = au_h_iptr(dir, bindex); + ii_read_unlock(dir); + if (unlikely(!h_dir)) + goto out_parent; + h_parent = d_find_alias(h_dir); + if (unlikely(!h_parent)) + goto out_hparent; + + err = -EPERM; + br = au_sbr(sb, bindex); + h_sb = br->br_mnt->mnt_sb; + if (unlikely(!h_sb->s_export_op)) { + AuErr1("%s branch is not exportable\n", au_sbtype(h_sb)); + goto out_hparent; + } + + fh[Fh_br_id] = br->br_id; + fh[Fh_sigen] = au_sigen(sb); + encode_ino(fh + Fh_ino, inode->i_ino); + encode_ino(fh + Fh_dir_ino, dir->i_ino); + fh[Fh_igen] = inode->i_generation; + + *max_len -= Fh_tail; + fh[Fh_h_type] = exportfs_encode_fh(h_parent, (void *)(fh + Fh_tail), + max_len, + /*connectable or subtreecheck*/0); + err = fh[Fh_h_type]; + *max_len += Fh_tail; + /* todo: macros? */ + if (err != 255) + err = 99; + else + AuWarn1("%s encode_fh failed\n", au_sbtype(h_sb)); + +out_hparent: + dput(h_parent); +out_parent: + dput(parent); +out_unlock: + ii_read_unlock(inode); + si_read_unlock(sb); +out: + if (unlikely(err < 0)) + err = 255; + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_commit_metadata(struct inode *inode) +{ + int err; + aufs_bindex_t bindex; + struct super_block *sb; + struct inode *h_inode; + int (*f)(struct inode *inode); + + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + ii_write_lock_child(inode); + bindex = au_ibstart(inode); + AuDebugOn(bindex < 0); + h_inode = au_h_iptr(inode, bindex); + + f = h_inode->i_sb->s_export_op->commit_metadata; + if (f) + err = f(h_inode); + else { + struct writeback_control wbc = { + .sync_mode = WB_SYNC_ALL, + .nr_to_write = 0 /* metadata only */ + }; + + err = sync_inode(h_inode, &wbc); + } + + au_cpup_attr_timesizes(inode); + ii_write_unlock(inode); + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct export_operations aufs_export_op = { + .fh_to_dentry = aufs_fh_to_dentry, + /* .fh_to_parent = aufs_fh_to_parent, */ + .encode_fh = aufs_encode_fh, + .commit_metadata = aufs_commit_metadata +}; + +void au_export_init(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + __u32 u; + + sb->s_export_op = &aufs_export_op; + sbinfo = au_sbi(sb); + sbinfo->si_xigen = NULL; + get_random_bytes(&u, sizeof(u)); + BUILD_BUG_ON(sizeof(u) != sizeof(int)); + atomic_set(&sbinfo->si_xigen_next, u); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/f_op.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/f_op.c @@ -0,0 +1,727 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * file and vm operations + */ + +#include +#include +#include +#include "aufs.h" + +int au_do_open_nondir(struct file *file, int flags) +{ + int err; + aufs_bindex_t bindex; + struct file *h_file; + struct dentry *dentry; + struct au_finfo *finfo; + + FiMustWriteLock(file); + + dentry = file->f_dentry; + err = au_d_alive(dentry); + if (unlikely(err)) + goto out; + + finfo = au_fi(file); + memset(&finfo->fi_htop, 0, sizeof(finfo->fi_htop)); + atomic_set(&finfo->fi_mmapped, 0); + bindex = au_dbstart(dentry); + h_file = au_h_open(dentry, bindex, flags, file); + if (IS_ERR(h_file)) + err = PTR_ERR(h_file); + else { + au_set_fbstart(file, bindex); + au_set_h_fptr(file, bindex, h_file); + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + } + +out: + return err; +} + +static int aufs_open_nondir(struct inode *inode __maybe_unused, + struct file *file) +{ + int err; + struct super_block *sb; + + AuDbg("%.*s, f_flags 0x%x, f_mode 0x%x\n", + AuDLNPair(file->f_dentry), vfsub_file_flags(file), + file->f_mode); + + sb = file->f_dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + err = au_do_open(file, au_do_open_nondir, /*fidir*/NULL); + si_read_unlock(sb); + return err; +} + +int aufs_release_nondir(struct inode *inode __maybe_unused, struct file *file) +{ + struct au_finfo *finfo; + aufs_bindex_t bindex; + + finfo = au_fi(file); + bindex = finfo->fi_btop; + if (bindex >= 0) { + /* remove me from sb->s_files */ + file_sb_list_del(file); + au_set_h_fptr(file, bindex, NULL); + } + + au_finfo_fin(file); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_flush_nondir(struct file *file, fl_owner_t id) +{ + int err; + struct file *h_file; + + err = 0; + h_file = au_hf_top(file); + if (h_file) + err = vfsub_flush(h_file, id); + return err; +} + +static int aufs_flush_nondir(struct file *file, fl_owner_t id) +{ + return au_do_flush(file, id, au_do_flush_nondir); +} + +/* ---------------------------------------------------------------------- */ +/* + * read and write functions acquire [fdi]_rwsem once, but release before + * mmap_sem. This is because to stop a race condition between mmap(2). + * Releasing these aufs-rwsem should be safe, no branch-mamagement (by keeping + * si_rwsem), no harmful copy-up should happen. Actually copy-up may happen in + * read functions after [fdi]_rwsem are released, but it should be harmless. + */ + +static ssize_t aufs_read(struct file *file, char __user *buf, size_t count, + loff_t *ppos) +{ + ssize_t err; + struct dentry *dentry; + struct file *h_file; + struct super_block *sb; + + dentry = file->f_dentry; + sb = dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/0); + if (unlikely(err)) + goto out; + + h_file = au_hf_top(file); + get_file(h_file); + di_read_unlock(dentry, AuLock_IR); + fi_read_unlock(file); + + /* filedata may be obsoleted by concurrent copyup, but no problem */ + err = vfsub_read_u(h_file, buf, count, ppos); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + /* update without lock, I don't think it a problem */ + fsstack_copy_attr_atime(dentry->d_inode, h_file->f_dentry->d_inode); + fput(h_file); + +out: + si_read_unlock(sb); + return err; +} + +/* + * todo: very ugly + * it locks both of i_mutex and si_rwsem for read in safe. + * if the plink maintenance mode continues forever (that is the problem), + * may loop forever. + */ +static void au_mtx_and_read_lock(struct inode *inode) +{ + int err; + struct super_block *sb = inode->i_sb; + + while (1) { + mutex_lock(&inode->i_mutex); + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (!err) + break; + mutex_unlock(&inode->i_mutex); + si_read_lock(sb, AuLock_NOPLMW); + si_read_unlock(sb); + } +} + +static ssize_t aufs_write(struct file *file, const char __user *ubuf, + size_t count, loff_t *ppos) +{ + ssize_t err; + struct au_pin pin; + struct dentry *dentry; + struct super_block *sb; + struct inode *inode; + struct file *h_file; + char __user *buf = (char __user *)ubuf; + + dentry = file->f_dentry; + sb = dentry->d_sb; + inode = dentry->d_inode; + au_mtx_and_read_lock(inode); + + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1); + if (unlikely(err)) + goto out; + + err = au_ready_to_write(file, -1, &pin); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) { + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + goto out; + } + + h_file = au_hf_top(file); + get_file(h_file); + au_unpin(&pin); + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + + err = vfsub_write_u(h_file, buf, count, ppos); + ii_write_lock_child(inode); + au_cpup_attr_timesizes(inode); + inode->i_mode = h_file->f_dentry->d_inode->i_mode; + ii_write_unlock(inode); + fput(h_file); + +out: + si_read_unlock(sb); + mutex_unlock(&inode->i_mutex); + return err; +} + +static ssize_t au_do_aio(struct file *h_file, int rw, struct kiocb *kio, + const struct iovec *iov, unsigned long nv, loff_t pos) +{ + ssize_t err; + struct file *file; + ssize_t (*func)(struct kiocb *, const struct iovec *, unsigned long, + loff_t); + + err = security_file_permission(h_file, rw); + if (unlikely(err)) + goto out; + + err = -ENOSYS; + func = NULL; + if (rw == MAY_READ) + func = h_file->f_op->aio_read; + else if (rw == MAY_WRITE) + func = h_file->f_op->aio_write; + if (func) { + file = kio->ki_filp; + kio->ki_filp = h_file; + lockdep_off(); + err = func(kio, iov, nv, pos); + lockdep_on(); + kio->ki_filp = file; + } else + /* currently there is no such fs */ + WARN_ON_ONCE(1); + +out: + return err; +} + +static ssize_t aufs_aio_read(struct kiocb *kio, const struct iovec *iov, + unsigned long nv, loff_t pos) +{ + ssize_t err; + struct file *file, *h_file; + struct dentry *dentry; + struct super_block *sb; + + file = kio->ki_filp; + dentry = file->f_dentry; + sb = dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/0); + if (unlikely(err)) + goto out; + + h_file = au_hf_top(file); + get_file(h_file); + di_read_unlock(dentry, AuLock_IR); + fi_read_unlock(file); + + err = au_do_aio(h_file, MAY_READ, kio, iov, nv, pos); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + /* update without lock, I don't think it a problem */ + fsstack_copy_attr_atime(dentry->d_inode, h_file->f_dentry->d_inode); + fput(h_file); + +out: + si_read_unlock(sb); + return err; +} + +static ssize_t aufs_aio_write(struct kiocb *kio, const struct iovec *iov, + unsigned long nv, loff_t pos) +{ + ssize_t err; + struct au_pin pin; + struct dentry *dentry; + struct inode *inode; + struct file *file, *h_file; + struct super_block *sb; + + file = kio->ki_filp; + dentry = file->f_dentry; + sb = dentry->d_sb; + inode = dentry->d_inode; + au_mtx_and_read_lock(inode); + + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1); + if (unlikely(err)) + goto out; + + err = au_ready_to_write(file, -1, &pin); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) { + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + goto out; + } + + h_file = au_hf_top(file); + get_file(h_file); + au_unpin(&pin); + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + + err = au_do_aio(h_file, MAY_WRITE, kio, iov, nv, pos); + ii_write_lock_child(inode); + au_cpup_attr_timesizes(inode); + inode->i_mode = h_file->f_dentry->d_inode->i_mode; + ii_write_unlock(inode); + fput(h_file); + +out: + si_read_unlock(sb); + mutex_unlock(&inode->i_mutex); + return err; +} + +static ssize_t aufs_splice_read(struct file *file, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags) +{ + ssize_t err; + struct file *h_file; + struct dentry *dentry; + struct super_block *sb; + + dentry = file->f_dentry; + sb = dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/0); + if (unlikely(err)) + goto out; + + err = -EINVAL; + h_file = au_hf_top(file); + get_file(h_file); + if (au_test_loopback_kthread()) { + au_warn_loopback(h_file->f_dentry->d_sb); + if (file->f_mapping != h_file->f_mapping) { + file->f_mapping = h_file->f_mapping; + smp_mb(); /* unnecessary? */ + } + } + di_read_unlock(dentry, AuLock_IR); + fi_read_unlock(file); + + err = vfsub_splice_to(h_file, ppos, pipe, len, flags); + /* todo: necessasry? */ + /* file->f_ra = h_file->f_ra; */ + /* update without lock, I don't think it a problem */ + fsstack_copy_attr_atime(dentry->d_inode, h_file->f_dentry->d_inode); + fput(h_file); + +out: + si_read_unlock(sb); + return err; +} + +static ssize_t +aufs_splice_write(struct pipe_inode_info *pipe, struct file *file, loff_t *ppos, + size_t len, unsigned int flags) +{ + ssize_t err; + struct au_pin pin; + struct dentry *dentry; + struct inode *inode; + struct file *h_file; + struct super_block *sb; + + dentry = file->f_dentry; + sb = dentry->d_sb; + inode = dentry->d_inode; + au_mtx_and_read_lock(inode); + + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1); + if (unlikely(err)) + goto out; + + err = au_ready_to_write(file, -1, &pin); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) { + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + goto out; + } + + h_file = au_hf_top(file); + get_file(h_file); + au_unpin(&pin); + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + + err = vfsub_splice_from(pipe, h_file, ppos, len, flags); + ii_write_lock_child(inode); + au_cpup_attr_timesizes(inode); + inode->i_mode = h_file->f_dentry->d_inode->i_mode; + ii_write_unlock(inode); + fput(h_file); + +out: + si_read_unlock(sb); + mutex_unlock(&inode->i_mutex); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * The locking order around current->mmap_sem. + * - in most and regular cases + * file I/O syscall -- aufs_read() or something + * -- si_rwsem for read -- mmap_sem + * (Note that [fdi]i_rwsem are released before mmap_sem). + * - in mmap case + * mmap(2) -- mmap_sem -- aufs_mmap() -- si_rwsem for read -- [fdi]i_rwsem + * This AB-BA order is definitly bad, but is not a problem since "si_rwsem for + * read" allows muliple processes to acquire it and [fdi]i_rwsem are not held in + * file I/O. Aufs needs to stop lockdep in aufs_mmap() though. + * It means that when aufs acquires si_rwsem for write, the process should never + * acquire mmap_sem. + * + * Actually aufs_readdir() holds [fdi]i_rwsem before mmap_sem, but this is not a + * problem either since any directory is not able to be mmap-ed. + * The similar scenario is applied to aufs_readlink() too. + */ + +/* cf. linux/include/linux/mman.h: calc_vm_prot_bits() */ +#define AuConv_VM_PROT(f, b) _calc_vm_trans(f, VM_##b, PROT_##b) + +static unsigned long au_arch_prot_conv(unsigned long flags) +{ + /* currently ppc64 only */ +#ifdef CONFIG_PPC64 + /* cf. linux/arch/powerpc/include/asm/mman.h */ + AuDebugOn(arch_calc_vm_prot_bits(-1) != VM_SAO); + return AuConv_VM_PROT(flags, SAO); +#else + AuDebugOn(arch_calc_vm_prot_bits(-1)); + return 0; +#endif +} + +static unsigned long au_prot_conv(unsigned long flags) +{ + return AuConv_VM_PROT(flags, READ) + | AuConv_VM_PROT(flags, WRITE) + | AuConv_VM_PROT(flags, EXEC) + | au_arch_prot_conv(flags); +} + +/* cf. linux/include/linux/mman.h: calc_vm_flag_bits() */ +#define AuConv_VM_MAP(f, b) _calc_vm_trans(f, VM_##b, MAP_##b) + +static unsigned long au_flag_conv(unsigned long flags) +{ + return AuConv_VM_MAP(flags, GROWSDOWN) + | AuConv_VM_MAP(flags, DENYWRITE) + | AuConv_VM_MAP(flags, EXECUTABLE) + | AuConv_VM_MAP(flags, LOCKED); +} + +static int aufs_mmap(struct file *file, struct vm_area_struct *vma) +{ + int err; + aufs_bindex_t bstart; + const unsigned char wlock + = (file->f_mode & FMODE_WRITE) && (vma->vm_flags & VM_SHARED); + struct dentry *dentry; + struct super_block *sb; + struct file *h_file; + struct au_branch *br; + struct au_pin pin; + + AuDbgVmRegion(file, vma); + + dentry = file->f_dentry; + sb = dentry->d_sb; + lockdep_off(); + si_read_lock(sb, AuLock_NOPLMW); + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1); + if (unlikely(err)) + goto out; + + if (wlock) { + err = au_ready_to_write(file, -1, &pin); + di_write_unlock(dentry); + if (unlikely(err)) { + fi_write_unlock(file); + goto out; + } + au_unpin(&pin); + } else + di_write_unlock(dentry); + + bstart = au_fbstart(file); + br = au_sbr(sb, bstart); + h_file = au_hf_top(file); + get_file(h_file); + au_set_mmapped(file); + fi_write_unlock(file); + lockdep_on(); + + au_vm_file_reset(vma, h_file); + err = security_mmap_file(h_file, au_prot_conv(vma->vm_flags), + au_flag_conv(vma->vm_flags)); + if (!err) + err = h_file->f_op->mmap(h_file, vma); + if (unlikely(err)) + goto out_reset; + + au_vm_prfile_set(vma, file); + /* update without lock, I don't think it a problem */ + fsstack_copy_attr_atime(file->f_dentry->d_inode, + h_file->f_dentry->d_inode); + goto out_fput; /* success */ + +out_reset: + au_unset_mmapped(file); + au_vm_file_reset(vma, file); +out_fput: + fput(h_file); + lockdep_off(); +out: + si_read_unlock(sb); + lockdep_on(); + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_fsync_nondir(struct file *file, loff_t start, loff_t end, + int datasync) +{ + int err; + struct au_pin pin; + struct dentry *dentry; + struct inode *inode; + struct file *h_file; + struct super_block *sb; + + dentry = file->f_dentry; + inode = dentry->d_inode; + sb = dentry->d_sb; + mutex_lock(&inode->i_mutex); + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out; + + err = 0; /* -EBADF; */ /* posix? */ + if (unlikely(!(file->f_mode & FMODE_WRITE))) + goto out_si; + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1); + if (unlikely(err)) + goto out_si; + + err = au_ready_to_write(file, -1, &pin); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) + goto out_unlock; + au_unpin(&pin); + + err = -EINVAL; + h_file = au_hf_top(file); + err = vfsub_fsync(h_file, &h_file->f_path, datasync); + au_cpup_attr_timesizes(inode); + +out_unlock: + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); +out_si: + si_read_unlock(sb); +out: + mutex_unlock(&inode->i_mutex); + return err; +} + +/* no one supports this operation, currently */ +#if 0 +static int aufs_aio_fsync_nondir(struct kiocb *kio, int datasync) +{ + int err; + struct au_pin pin; + struct dentry *dentry; + struct inode *inode; + struct file *file, *h_file; + + file = kio->ki_filp; + dentry = file->f_dentry; + inode = dentry->d_inode; + au_mtx_and_read_lock(inode); + + err = 0; /* -EBADF; */ /* posix? */ + if (unlikely(!(file->f_mode & FMODE_WRITE))) + goto out; + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1); + if (unlikely(err)) + goto out; + + err = au_ready_to_write(file, -1, &pin); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) + goto out_unlock; + au_unpin(&pin); + + err = -ENOSYS; + h_file = au_hf_top(file); + if (h_file->f_op && h_file->f_op->aio_fsync) { + struct dentry *h_d; + struct mutex *h_mtx; + + h_d = h_file->f_dentry; + h_mtx = &h_d->d_inode->i_mutex; + if (!is_sync_kiocb(kio)) { + get_file(h_file); + fput(file); + } + kio->ki_filp = h_file; + err = h_file->f_op->aio_fsync(kio, datasync); + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + if (!err) + vfsub_update_h_iattr(&h_file->f_path, /*did*/NULL); + /*ignore*/ + au_cpup_attr_timesizes(inode); + mutex_unlock(h_mtx); + } + +out_unlock: + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); +out: + si_read_unlock(inode->sb); + mutex_unlock(&inode->i_mutex); + return err; +} +#endif + +static int aufs_fasync(int fd, struct file *file, int flag) +{ + int err; + struct file *h_file; + struct dentry *dentry; + struct super_block *sb; + + dentry = file->f_dentry; + sb = dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/0); + if (unlikely(err)) + goto out; + + h_file = au_hf_top(file); + if (h_file->f_op && h_file->f_op->fasync) + err = h_file->f_op->fasync(fd, h_file, flag); + + di_read_unlock(dentry, AuLock_IR); + fi_read_unlock(file); + +out: + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* no one supports this operation, currently */ +#if 0 +static ssize_t aufs_sendpage(struct file *file, struct page *page, int offset, + size_t len, loff_t *pos , int more) +{ +} +#endif + +/* ---------------------------------------------------------------------- */ + +const struct file_operations aufs_file_fop = { + .owner = THIS_MODULE, + + .llseek = default_llseek, + + .read = aufs_read, + .write = aufs_write, + .aio_read = aufs_aio_read, + .aio_write = aufs_aio_write, +#ifdef CONFIG_AUFS_POLL + .poll = aufs_poll, +#endif + .unlocked_ioctl = aufs_ioctl_nondir, +#ifdef CONFIG_COMPAT + .compat_ioctl = aufs_ioctl_nondir, /* same */ +#endif + .mmap = aufs_mmap, + .open = aufs_open_nondir, + .flush = aufs_flush_nondir, + .release = aufs_release_nondir, + .fsync = aufs_fsync_nondir, + /* .aio_fsync = aufs_aio_fsync_nondir, */ + .fasync = aufs_fasync, + /* .sendpage = aufs_sendpage, */ + .splice_write = aufs_splice_write, + .splice_read = aufs_splice_read, +#if 0 + .aio_splice_write = aufs_aio_splice_write, + .aio_splice_read = aufs_aio_splice_read +#endif +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/f_op_sp.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/f_op_sp.c @@ -0,0 +1,295 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * file operations for special files. + * while they exist in aufs virtually, + * their file I/O is handled out of aufs. + */ + +#include "aufs.h" + +static ssize_t aufs_aio_read_sp(struct kiocb *kio, const struct iovec *iov, + unsigned long nv, loff_t pos) +{ + ssize_t err; + aufs_bindex_t bstart; + unsigned char wbr; + struct file *file, *h_file; + struct super_block *sb; + + file = kio->ki_filp; + sb = file->f_dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + fi_read_lock(file); + bstart = au_fbstart(file); + h_file = au_hf_top(file); + fi_read_unlock(file); + wbr = !!au_br_writable(au_sbr(sb, bstart)->br_perm); + si_read_unlock(sb); + + /* do not change the file in kio */ + AuDebugOn(!h_file->f_op || !h_file->f_op->aio_read); + err = h_file->f_op->aio_read(kio, iov, nv, pos); + if (err > 0 && wbr) + file_accessed(h_file); + + return err; +} + +static ssize_t aufs_aio_write_sp(struct kiocb *kio, const struct iovec *iov, + unsigned long nv, loff_t pos) +{ + ssize_t err; + aufs_bindex_t bstart; + unsigned char wbr; + struct super_block *sb; + struct file *file, *h_file; + + file = kio->ki_filp; + sb = file->f_dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + fi_read_lock(file); + bstart = au_fbstart(file); + h_file = au_hf_top(file); + fi_read_unlock(file); + wbr = !!au_br_writable(au_sbr(sb, bstart)->br_perm); + si_read_unlock(sb); + + /* do not change the file in kio */ + AuDebugOn(!h_file->f_op || !h_file->f_op->aio_write); + err = h_file->f_op->aio_write(kio, iov, nv, pos); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_release_sp(struct inode *inode, struct file *file) +{ + int err; + struct file *h_file; + + fi_read_lock(file); + h_file = au_hf_top(file); + fi_read_unlock(file); + /* close this fifo in aufs */ + err = h_file->f_op->release(inode, file); /* ignore */ + aufs_release_nondir(inode, file); /* ignore */ + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* currently, support only FIFO */ +enum { + AuSp_FIFO, AuSp_FIFO_R, AuSp_FIFO_W, AuSp_FIFO_RW, + /* AuSp_SOCK, AuSp_CHR, AuSp_BLK, */ + AuSp_Last +}; +static int aufs_open_sp(struct inode *inode, struct file *file); +static struct au_sp_fop { + int done; + struct file_operations fop; /* not 'const' */ + spinlock_t spin; +} au_sp_fop[AuSp_Last] = { + [AuSp_FIFO] = { + .fop = { + .owner = THIS_MODULE, + .open = aufs_open_sp + } + } +}; + +static void au_init_fop_sp(struct file *file) +{ + struct au_sp_fop *p; + int i; + struct file *h_file; + + p = au_sp_fop; + if (unlikely(!p->done)) { + /* initialize first time only */ + static DEFINE_SPINLOCK(spin); + + spin_lock(&spin); + if (!p->done) { + BUILD_BUG_ON(sizeof(au_sp_fop)/sizeof(*au_sp_fop) + != AuSp_Last); + for (i = 0; i < AuSp_Last; i++) + spin_lock_init(&p[i].spin); + p->done = 1; + } + spin_unlock(&spin); + } + + switch (file->f_mode & (FMODE_READ | FMODE_WRITE)) { + case FMODE_READ: + i = AuSp_FIFO_R; + break; + case FMODE_WRITE: + i = AuSp_FIFO_W; + break; + case FMODE_READ | FMODE_WRITE: + i = AuSp_FIFO_RW; + break; + default: + BUG(); + } + + p += i; + if (unlikely(!p->done)) { + /* initialize first time only */ + h_file = au_hf_top(file); + spin_lock(&p->spin); + if (!p->done) { + p->fop = *h_file->f_op; + p->fop.owner = THIS_MODULE; + if (p->fop.aio_read) + p->fop.aio_read = aufs_aio_read_sp; + if (p->fop.aio_write) + p->fop.aio_write = aufs_aio_write_sp; + p->fop.release = aufs_release_sp; + p->done = 1; + } + spin_unlock(&p->spin); + } + file->f_op = &p->fop; +} + +static int au_cpup_sp(struct dentry *dentry) +{ + int err; + aufs_bindex_t bcpup; + struct au_pin pin; + struct au_wr_dir_args wr_dir_args = { + .force_btgt = -1, + .flags = 0 + }; + + AuDbg("%.*s\n", AuDLNPair(dentry)); + + di_read_unlock(dentry, AuLock_IR); + di_write_lock_child(dentry); + err = au_wr_dir(dentry, /*src_dentry*/NULL, &wr_dir_args); + if (unlikely(err < 0)) + goto out; + bcpup = err; + err = 0; + if (bcpup == au_dbstart(dentry)) + goto out; /* success */ + + err = au_pin(&pin, dentry, bcpup, au_opt_udba(dentry->d_sb), + AuPin_MNT_WRITE); + if (!err) { + err = au_sio_cpup_simple(dentry, bcpup, -1, AuCpup_DTIME); + au_unpin(&pin); + } + +out: + di_downgrade_lock(dentry, AuLock_IR); + return err; +} + +static int au_do_open_sp(struct file *file, int flags) +{ + int err; + struct dentry *dentry; + struct super_block *sb; + struct file *h_file; + struct inode *h_inode; + + dentry = file->f_dentry; + AuDbg("%.*s\n", AuDLNPair(dentry)); + + /* + * try copying-up. + * operate on the ro branch is not an error. + */ + au_cpup_sp(dentry); /* ignore */ + + /* prepare h_file */ + err = au_do_open_nondir(file, vfsub_file_flags(file)); + if (unlikely(err)) + goto out; + + sb = dentry->d_sb; + h_file = au_hf_top(file); + h_inode = h_file->f_dentry->d_inode; + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + si_read_unlock(sb); + /* open this fifo in aufs */ + err = h_inode->i_fop->open(file->f_dentry->d_inode, file); + si_noflush_read_lock(sb); + fi_write_lock(file); + di_read_lock_child(dentry, AuLock_IR); + if (!err) + au_init_fop_sp(file); + +out: + return err; +} + +static int aufs_open_sp(struct inode *inode, struct file *file) +{ + int err; + struct super_block *sb; + + sb = file->f_dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + err = au_do_open(file, au_do_open_sp, /*fidir*/NULL); + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_init_special_fop(struct inode *inode, umode_t mode, dev_t rdev) +{ + init_special_inode(inode, mode, rdev); + + switch (mode & S_IFMT) { + case S_IFIFO: + inode->i_fop = &au_sp_fop[AuSp_FIFO].fop; + /*FALLTHROUGH*/ + case S_IFCHR: + case S_IFBLK: + case S_IFSOCK: + break; + default: + AuDebugOn(1); + } +} + +int au_special_file(umode_t mode) +{ + int ret; + + ret = 0; + switch (mode & S_IFMT) { + case S_IFIFO: +#if 0 + case S_IFCHR: + case S_IFBLK: + case S_IFSOCK: +#endif + ret = 1; + } + + return ret; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/file.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/file.c @@ -0,0 +1,676 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * handling file/dir, and address_space operation + */ + +#ifdef CONFIG_AUFS_DEBUG +#include +#endif +#include +#include "aufs.h" + +/* drop flags for writing */ +unsigned int au_file_roflags(unsigned int flags) +{ + flags &= ~(O_WRONLY | O_RDWR | O_APPEND | O_CREAT | O_TRUNC); + flags |= O_RDONLY | O_NOATIME; + return flags; +} + +/* common functions to regular file and dir */ +struct file *au_h_open(struct dentry *dentry, aufs_bindex_t bindex, int flags, + struct file *file) +{ + struct file *h_file; + struct dentry *h_dentry; + struct inode *h_inode; + struct super_block *sb; + struct au_branch *br; + struct path h_path; + int err, exec_flag; + + /* a race condition can happen between open and unlink/rmdir */ + h_file = ERR_PTR(-ENOENT); + h_dentry = au_h_dptr(dentry, bindex); + if (au_test_nfsd() && !h_dentry) + goto out; + h_inode = h_dentry->d_inode; + if (au_test_nfsd() && !h_inode) + goto out; + spin_lock(&h_dentry->d_lock); + err = (!d_unhashed(dentry) && d_unlinked(h_dentry)) + || !h_inode + /* || !dentry->d_inode->i_nlink */ + ; + spin_unlock(&h_dentry->d_lock); + if (unlikely(err)) + goto out; + + sb = dentry->d_sb; + br = au_sbr(sb, bindex); + h_file = ERR_PTR(-EACCES); + exec_flag = flags & __FMODE_EXEC; + if (exec_flag && (br->br_mnt->mnt_flags & MNT_NOEXEC)) + goto out; + + /* drop flags for writing */ + if (au_test_ro(sb, bindex, dentry->d_inode)) + flags = au_file_roflags(flags); + flags &= ~O_CREAT; + atomic_inc(&br->br_count); + h_path.dentry = h_dentry; + h_path.mnt = br->br_mnt; + if (!au_special_file(h_inode->i_mode)) + h_file = vfsub_dentry_open(&h_path, flags); + else { + /* this block depends upon the configuration */ + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); + si_read_unlock(sb); + h_file = vfsub_dentry_open(&h_path, flags); + si_noflush_read_lock(sb); + fi_write_lock(file); + di_read_lock_child(dentry, AuLock_IR); + } + if (IS_ERR(h_file)) + goto out_br; + + if (exec_flag) { + err = deny_write_access(h_file); + if (unlikely(err)) { + fput(h_file); + h_file = ERR_PTR(err); + goto out_br; + } + } + fsnotify_open(h_file); + goto out; /* success */ + +out_br: + atomic_dec(&br->br_count); +out: + return h_file; +} + +int au_do_open(struct file *file, int (*open)(struct file *file, int flags), + struct au_fidir *fidir) +{ + int err; + struct dentry *dentry; + + err = au_finfo_init(file, fidir); + if (unlikely(err)) + goto out; + + dentry = file->f_dentry; + di_read_lock_child(dentry, AuLock_IR); + err = open(file, vfsub_file_flags(file)); + di_read_unlock(dentry, AuLock_IR); + + fi_write_unlock(file); + if (unlikely(err)) { + au_fi(file)->fi_hdir = NULL; + au_finfo_fin(file); + } + +out: + return err; +} + +int au_reopen_nondir(struct file *file) +{ + int err; + aufs_bindex_t bstart; + struct dentry *dentry; + struct file *h_file, *h_file_tmp; + + dentry = file->f_dentry; + AuDebugOn(au_special_file(dentry->d_inode->i_mode)); + bstart = au_dbstart(dentry); + h_file_tmp = NULL; + if (au_fbstart(file) == bstart) { + h_file = au_hf_top(file); + if (file->f_mode == h_file->f_mode) + return 0; /* success */ + h_file_tmp = h_file; + get_file(h_file_tmp); + au_set_h_fptr(file, bstart, NULL); + } + AuDebugOn(au_fi(file)->fi_hdir); + AuDebugOn(au_fbstart(file) < bstart); + + h_file = au_h_open(dentry, bstart, vfsub_file_flags(file) & ~O_TRUNC, + file); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; /* todo: close all? */ + + err = 0; + au_set_fbstart(file, bstart); + au_set_h_fptr(file, bstart, h_file); + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + +out: + if (h_file_tmp) + fput(h_file_tmp); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_reopen_wh(struct file *file, aufs_bindex_t btgt, + struct dentry *hi_wh) +{ + int err; + aufs_bindex_t bstart; + struct au_dinfo *dinfo; + struct dentry *h_dentry; + struct au_hdentry *hdp; + + dinfo = au_di(file->f_dentry); + AuRwMustWriteLock(&dinfo->di_rwsem); + + bstart = dinfo->di_bstart; + dinfo->di_bstart = btgt; + hdp = dinfo->di_hdentry; + h_dentry = hdp[0 + btgt].hd_dentry; + hdp[0 + btgt].hd_dentry = hi_wh; + err = au_reopen_nondir(file); + hdp[0 + btgt].hd_dentry = h_dentry; + dinfo->di_bstart = bstart; + + return err; +} + +static int au_ready_to_write_wh(struct file *file, loff_t len, + aufs_bindex_t bcpup) +{ + int err; + struct inode *inode, *h_inode; + struct dentry *dentry, *h_dentry, *hi_wh; + + dentry = file->f_dentry; + au_update_dbstart(dentry); + inode = dentry->d_inode; + h_inode = NULL; + if (au_dbstart(dentry) <= bcpup && au_dbend(dentry) >= bcpup) { + h_dentry = au_h_dptr(dentry, bcpup); + if (h_dentry) + h_inode = h_dentry->d_inode; + } + hi_wh = au_hi_wh(inode, bcpup); + if (!hi_wh && !h_inode) + err = au_sio_cpup_wh(dentry, bcpup, len, file); + else + /* already copied-up after unlink */ + err = au_reopen_wh(file, bcpup, hi_wh); + + if (!err + && inode->i_nlink > 1 + && au_opt_test(au_mntflags(dentry->d_sb), PLINK)) + au_plink_append(inode, bcpup, au_h_dptr(dentry, bcpup)); + + return err; +} + +/* + * prepare the @file for writing. + */ +int au_ready_to_write(struct file *file, loff_t len, struct au_pin *pin) +{ + int err; + aufs_bindex_t bstart, bcpup, dbstart; + struct dentry *dentry, *parent, *h_dentry; + struct inode *h_inode, *inode; + struct super_block *sb; + struct file *h_file; + + dentry = file->f_dentry; + sb = dentry->d_sb; + inode = dentry->d_inode; + AuDebugOn(au_special_file(inode->i_mode)); + bstart = au_fbstart(file); + err = au_test_ro(sb, bstart, inode); + if (!err && (au_hf_top(file)->f_mode & FMODE_WRITE)) { + err = au_pin(pin, dentry, bstart, AuOpt_UDBA_NONE, /*flags*/0); + goto out; + } + + /* need to cpup or reopen */ + parent = dget_parent(dentry); + di_write_lock_parent(parent); + err = AuWbrCopyup(au_sbi(sb), dentry); + bcpup = err; + if (unlikely(err < 0)) + goto out_dgrade; + err = 0; + + if (!d_unhashed(dentry) && !au_h_dptr(parent, bcpup)) { + err = au_cpup_dirs(dentry, bcpup); + if (unlikely(err)) + goto out_dgrade; + } + + err = au_pin(pin, dentry, bcpup, AuOpt_UDBA_NONE, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out_dgrade; + + h_dentry = au_hf_top(file)->f_dentry; + h_inode = h_dentry->d_inode; + dbstart = au_dbstart(dentry); + if (dbstart <= bcpup) { + h_dentry = au_h_dptr(dentry, bcpup); + AuDebugOn(!h_dentry); + h_inode = h_dentry->d_inode; + AuDebugOn(!h_inode); + bstart = bcpup; + } + + if (dbstart <= bcpup /* just reopen */ + || !d_unhashed(dentry) /* copyup and reopen */ + ) { + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + h_file = au_h_open_pre(dentry, bstart); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + h_file = NULL; + } else { + di_downgrade_lock(parent, AuLock_IR); + if (dbstart > bcpup) + err = au_sio_cpup_simple(dentry, bcpup, len, + AuCpup_DTIME); + if (!err) + err = au_reopen_nondir(file); + } + mutex_unlock(&h_inode->i_mutex); + au_h_open_post(dentry, bstart, h_file); + } else { /* copyup as wh and reopen */ + /* + * since writable hfsplus branch is not supported, + * h_open_pre/post() are unnecessary. + */ + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + err = au_ready_to_write_wh(file, len, bcpup); + di_downgrade_lock(parent, AuLock_IR); + mutex_unlock(&h_inode->i_mutex); + } + + if (!err) { + au_pin_set_parent_lflag(pin, /*lflag*/0); + goto out_dput; /* success */ + } + au_unpin(pin); + goto out_unlock; + +out_dgrade: + di_downgrade_lock(parent, AuLock_IR); +out_unlock: + di_read_unlock(parent, AuLock_IR); +out_dput: + dput(parent); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_do_flush(struct file *file, fl_owner_t id, + int (*flush)(struct file *file, fl_owner_t id)) +{ + int err; + struct dentry *dentry; + struct super_block *sb; + struct inode *inode; + + dentry = file->f_dentry; + sb = dentry->d_sb; + inode = dentry->d_inode; + si_noflush_read_lock(sb); + fi_read_lock(file); + ii_read_lock_child(inode); + + err = flush(file, id); + au_cpup_attr_timesizes(inode); + + ii_read_unlock(inode); + fi_read_unlock(file); + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_file_refresh_by_inode(struct file *file, int *need_reopen) +{ + int err; + aufs_bindex_t bstart; + struct au_pin pin; + struct au_finfo *finfo; + struct dentry *dentry, *parent, *hi_wh; + struct inode *inode; + struct super_block *sb; + + FiMustWriteLock(file); + + err = 0; + finfo = au_fi(file); + dentry = file->f_dentry; + sb = dentry->d_sb; + inode = dentry->d_inode; + bstart = au_ibstart(inode); + if (bstart == finfo->fi_btop || IS_ROOT(dentry)) + goto out; + + parent = dget_parent(dentry); + if (au_test_ro(sb, bstart, inode)) { + di_read_lock_parent(parent, !AuLock_IR); + err = AuWbrCopyup(au_sbi(sb), dentry); + bstart = err; + di_read_unlock(parent, !AuLock_IR); + if (unlikely(err < 0)) + goto out_parent; + err = 0; + } + + di_read_lock_parent(parent, AuLock_IR); + hi_wh = au_hi_wh(inode, bstart); + if (!S_ISDIR(inode->i_mode) + && au_opt_test(au_mntflags(sb), PLINK) + && au_plink_test(inode) + && !d_unhashed(dentry)) { + err = au_test_and_cpup_dirs(dentry, bstart); + if (unlikely(err)) + goto out_unlock; + + /* always superio. */ + err = au_pin(&pin, dentry, bstart, AuOpt_UDBA_NONE, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (!err) + err = au_sio_cpup_simple(dentry, bstart, -1, + AuCpup_DTIME); + au_unpin(&pin); + } else if (hi_wh) { + /* already copied-up after unlink */ + err = au_reopen_wh(file, bstart, hi_wh); + *need_reopen = 0; + } + +out_unlock: + di_read_unlock(parent, AuLock_IR); +out_parent: + dput(parent); +out: + return err; +} + +static void au_do_refresh_dir(struct file *file) +{ + aufs_bindex_t bindex, bend, new_bindex, brid; + struct au_hfile *p, tmp, *q; + struct au_finfo *finfo; + struct super_block *sb; + struct au_fidir *fidir; + + FiMustWriteLock(file); + + sb = file->f_dentry->d_sb; + finfo = au_fi(file); + fidir = finfo->fi_hdir; + AuDebugOn(!fidir); + p = fidir->fd_hfile + finfo->fi_btop; + brid = p->hf_br->br_id; + bend = fidir->fd_bbot; + for (bindex = finfo->fi_btop; bindex <= bend; bindex++, p++) { + if (!p->hf_file) + continue; + + new_bindex = au_br_index(sb, p->hf_br->br_id); + if (new_bindex == bindex) + continue; + if (new_bindex < 0) { + au_set_h_fptr(file, bindex, NULL); + continue; + } + + /* swap two lower inode, and loop again */ + q = fidir->fd_hfile + new_bindex; + tmp = *q; + *q = *p; + *p = tmp; + if (tmp.hf_file) { + bindex--; + p--; + } + } + + p = fidir->fd_hfile; + if (!au_test_mmapped(file) && !d_unlinked(file->f_dentry)) { + bend = au_sbend(sb); + for (finfo->fi_btop = 0; finfo->fi_btop <= bend; + finfo->fi_btop++, p++) + if (p->hf_file) { + if (p->hf_file->f_dentry + && p->hf_file->f_dentry->d_inode) + break; + else + au_hfput(p, file); + } + } else { + bend = au_br_index(sb, brid); + for (finfo->fi_btop = 0; finfo->fi_btop < bend; + finfo->fi_btop++, p++) + if (p->hf_file) + au_hfput(p, file); + bend = au_sbend(sb); + } + + p = fidir->fd_hfile + bend; + for (fidir->fd_bbot = bend; fidir->fd_bbot >= finfo->fi_btop; + fidir->fd_bbot--, p--) + if (p->hf_file) { + if (p->hf_file->f_dentry + && p->hf_file->f_dentry->d_inode) + break; + else + au_hfput(p, file); + } + AuDebugOn(fidir->fd_bbot < finfo->fi_btop); +} + +/* + * after branch manipulating, refresh the file. + */ +static int refresh_file(struct file *file, int (*reopen)(struct file *file)) +{ + int err, need_reopen; + aufs_bindex_t bend, bindex; + struct dentry *dentry; + struct au_finfo *finfo; + struct au_hfile *hfile; + + dentry = file->f_dentry; + finfo = au_fi(file); + if (!finfo->fi_hdir) { + hfile = &finfo->fi_htop; + AuDebugOn(!hfile->hf_file); + bindex = au_br_index(dentry->d_sb, hfile->hf_br->br_id); + AuDebugOn(bindex < 0); + if (bindex != finfo->fi_btop) + au_set_fbstart(file, bindex); + } else { + err = au_fidir_realloc(finfo, au_sbend(dentry->d_sb) + 1); + if (unlikely(err)) + goto out; + au_do_refresh_dir(file); + } + + err = 0; + need_reopen = 1; + if (!au_test_mmapped(file)) + err = au_file_refresh_by_inode(file, &need_reopen); + if (!err && need_reopen && !d_unlinked(dentry)) + err = reopen(file); + if (!err) { + au_update_figen(file); + goto out; /* success */ + } + + /* error, close all lower files */ + if (finfo->fi_hdir) { + bend = au_fbend_dir(file); + for (bindex = au_fbstart(file); bindex <= bend; bindex++) + au_set_h_fptr(file, bindex, NULL); + } + +out: + return err; +} + +/* common function to regular file and dir */ +int au_reval_and_lock_fdi(struct file *file, int (*reopen)(struct file *file), + int wlock) +{ + int err; + unsigned int sigen, figen; + aufs_bindex_t bstart; + unsigned char pseudo_link; + struct dentry *dentry; + struct inode *inode; + + err = 0; + dentry = file->f_dentry; + inode = dentry->d_inode; + AuDebugOn(au_special_file(inode->i_mode)); + sigen = au_sigen(dentry->d_sb); + fi_write_lock(file); + figen = au_figen(file); + di_write_lock_child(dentry); + bstart = au_dbstart(dentry); + pseudo_link = (bstart != au_ibstart(inode)); + if (sigen == figen && !pseudo_link && au_fbstart(file) == bstart) { + if (!wlock) { + di_downgrade_lock(dentry, AuLock_IR); + fi_downgrade_lock(file); + } + goto out; /* success */ + } + + AuDbg("sigen %d, figen %d\n", sigen, figen); + if (au_digen_test(dentry, sigen)) { + err = au_reval_dpath(dentry, sigen); + AuDebugOn(!err && au_digen_test(dentry, sigen)); + } + + if (!err) + err = refresh_file(file, reopen); + if (!err) { + if (!wlock) { + di_downgrade_lock(dentry, AuLock_IR); + fi_downgrade_lock(file); + } + } else { + di_write_unlock(dentry); + fi_write_unlock(file); + } + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* cf. aufs_nopage() */ +/* for madvise(2) */ +static int aufs_readpage(struct file *file __maybe_unused, struct page *page) +{ + unlock_page(page); + return 0; +} + +/* it will never be called, but necessary to support O_DIRECT */ +static ssize_t aufs_direct_IO(int rw, struct kiocb *iocb, + const struct iovec *iov, loff_t offset, + unsigned long nr_segs) +{ BUG(); return 0; } + +/* + * it will never be called, but madvise and fadvise behaves differently + * when get_xip_mem is defined + */ +static int aufs_get_xip_mem(struct address_space *mapping, pgoff_t pgoff, + int create, void **kmem, unsigned long *pfn) +{ BUG(); return 0; } + +/* they will never be called. */ +#ifdef CONFIG_AUFS_DEBUG +static int aufs_write_begin(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, unsigned flags, + struct page **pagep, void **fsdata) +{ AuUnsupport(); return 0; } +static int aufs_write_end(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, unsigned copied, + struct page *page, void *fsdata) +{ AuUnsupport(); return 0; } +static int aufs_writepage(struct page *page, struct writeback_control *wbc) +{ AuUnsupport(); return 0; } + +static int aufs_set_page_dirty(struct page *page) +{ AuUnsupport(); return 0; } +static void aufs_invalidatepage(struct page *page, unsigned long offset) +{ AuUnsupport(); } +static int aufs_releasepage(struct page *page, gfp_t gfp) +{ AuUnsupport(); return 0; } +static int aufs_migratepage(struct address_space *mapping, struct page *newpage, + struct page *page, enum migrate_mode mode) +{ AuUnsupport(); return 0; } +static int aufs_launder_page(struct page *page) +{ AuUnsupport(); return 0; } +static int aufs_is_partially_uptodate(struct page *page, + read_descriptor_t *desc, + unsigned long from) +{ AuUnsupport(); return 0; } +static int aufs_error_remove_page(struct address_space *mapping, + struct page *page) +{ AuUnsupport(); return 0; } +#endif /* CONFIG_AUFS_DEBUG */ + +const struct address_space_operations aufs_aop = { + .readpage = aufs_readpage, + .direct_IO = aufs_direct_IO, + .get_xip_mem = aufs_get_xip_mem, +#ifdef CONFIG_AUFS_DEBUG + .writepage = aufs_writepage, + /* no writepages, because of writepage */ + .set_page_dirty = aufs_set_page_dirty, + /* no readpages, because of readpage */ + .write_begin = aufs_write_begin, + .write_end = aufs_write_end, + /* no bmap, no block device */ + .invalidatepage = aufs_invalidatepage, + .releasepage = aufs_releasepage, + .migratepage = aufs_migratepage, + .launder_page = aufs_launder_page, + .is_partially_uptodate = aufs_is_partially_uptodate, + .error_remove_page = aufs_error_remove_page +#endif /* CONFIG_AUFS_DEBUG */ +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/file.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/file.h @@ -0,0 +1,298 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * file operations + */ + +#ifndef __AUFS_FILE_H__ +#define __AUFS_FILE_H__ + +#ifdef __KERNEL__ + +#include +#include +#include +#include "rwsem.h" + +struct au_branch; +struct au_hfile { + struct file *hf_file; + struct au_branch *hf_br; +}; + +struct au_vdir; +struct au_fidir { + aufs_bindex_t fd_bbot; + aufs_bindex_t fd_nent; + struct au_vdir *fd_vdir_cache; + struct au_hfile fd_hfile[]; +}; + +static inline int au_fidir_sz(int nent) +{ + AuDebugOn(nent < 0); + return sizeof(struct au_fidir) + sizeof(struct au_hfile) * nent; +} + +struct au_finfo { + atomic_t fi_generation; + + struct au_rwsem fi_rwsem; + aufs_bindex_t fi_btop; + + /* do not union them */ + struct { /* for non-dir */ + struct au_hfile fi_htop; + atomic_t fi_mmapped; + }; + struct au_fidir *fi_hdir; /* for dir only */ +} ____cacheline_aligned_in_smp; + +/* ---------------------------------------------------------------------- */ + +/* file.c */ +extern const struct address_space_operations aufs_aop; +unsigned int au_file_roflags(unsigned int flags); +struct file *au_h_open(struct dentry *dentry, aufs_bindex_t bindex, int flags, + struct file *file); +int au_do_open(struct file *file, int (*open)(struct file *file, int flags), + struct au_fidir *fidir); +int au_reopen_nondir(struct file *file); +struct au_pin; +int au_ready_to_write(struct file *file, loff_t len, struct au_pin *pin); +int au_reval_and_lock_fdi(struct file *file, int (*reopen)(struct file *file), + int wlock); +int au_do_flush(struct file *file, fl_owner_t id, + int (*flush)(struct file *file, fl_owner_t id)); + +/* poll.c */ +#ifdef CONFIG_AUFS_POLL +unsigned int aufs_poll(struct file *file, poll_table *wait); +#endif + +#ifdef CONFIG_AUFS_BR_HFSPLUS +/* hfsplus.c */ +struct file *au_h_open_pre(struct dentry *dentry, aufs_bindex_t bindex); +void au_h_open_post(struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file); +#else +static inline +struct file *au_h_open_pre(struct dentry *dentry, aufs_bindex_t bindex) +{ + return NULL; +} + +AuStubVoid(au_h_open_post, struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file); +#endif + +/* f_op.c */ +extern const struct file_operations aufs_file_fop; +int au_do_open_nondir(struct file *file, int flags); +int aufs_release_nondir(struct inode *inode __maybe_unused, struct file *file); + +#ifdef CONFIG_AUFS_SP_IATTR +/* f_op_sp.c */ +int au_special_file(umode_t mode); +void au_init_special_fop(struct inode *inode, umode_t mode, dev_t rdev); +#else +AuStubInt0(au_special_file, umode_t mode) +static inline void au_init_special_fop(struct inode *inode, umode_t mode, + dev_t rdev) +{ + init_special_inode(inode, mode, rdev); +} +#endif + +/* finfo.c */ +void au_hfput(struct au_hfile *hf, struct file *file); +void au_set_h_fptr(struct file *file, aufs_bindex_t bindex, + struct file *h_file); + +void au_update_figen(struct file *file); +struct au_fidir *au_fidir_alloc(struct super_block *sb); +int au_fidir_realloc(struct au_finfo *finfo, int nbr); + +void au_fi_init_once(void *_fi); +void au_finfo_fin(struct file *file); +int au_finfo_init(struct file *file, struct au_fidir *fidir); + +/* ioctl.c */ +long aufs_ioctl_nondir(struct file *file, unsigned int cmd, unsigned long arg); +#ifdef CONFIG_COMPAT +long aufs_compat_ioctl_dir(struct file *file, unsigned int cmd, + unsigned long arg); +#endif + +/* ---------------------------------------------------------------------- */ + +static inline struct au_finfo *au_fi(struct file *file) +{ + return file->private_data; +} + +/* ---------------------------------------------------------------------- */ + +/* + * fi_read_lock, fi_write_lock, + * fi_read_unlock, fi_write_unlock, fi_downgrade_lock + */ +AuSimpleRwsemFuncs(fi, struct file *f, &au_fi(f)->fi_rwsem); + +#define FiMustNoWaiters(f) AuRwMustNoWaiters(&au_fi(f)->fi_rwsem) +#define FiMustAnyLock(f) AuRwMustAnyLock(&au_fi(f)->fi_rwsem) +#define FiMustWriteLock(f) AuRwMustWriteLock(&au_fi(f)->fi_rwsem) + +/* ---------------------------------------------------------------------- */ + +/* todo: hard/soft set? */ +static inline aufs_bindex_t au_fbstart(struct file *file) +{ + FiMustAnyLock(file); + return au_fi(file)->fi_btop; +} + +static inline aufs_bindex_t au_fbend_dir(struct file *file) +{ + FiMustAnyLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + return au_fi(file)->fi_hdir->fd_bbot; +} + +static inline struct au_vdir *au_fvdir_cache(struct file *file) +{ + FiMustAnyLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + return au_fi(file)->fi_hdir->fd_vdir_cache; +} + +static inline void au_set_fbstart(struct file *file, aufs_bindex_t bindex) +{ + FiMustWriteLock(file); + au_fi(file)->fi_btop = bindex; +} + +static inline void au_set_fbend_dir(struct file *file, aufs_bindex_t bindex) +{ + FiMustWriteLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + au_fi(file)->fi_hdir->fd_bbot = bindex; +} + +static inline void au_set_fvdir_cache(struct file *file, + struct au_vdir *vdir_cache) +{ + FiMustWriteLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + au_fi(file)->fi_hdir->fd_vdir_cache = vdir_cache; +} + +static inline struct file *au_hf_top(struct file *file) +{ + FiMustAnyLock(file); + AuDebugOn(au_fi(file)->fi_hdir); + return au_fi(file)->fi_htop.hf_file; +} + +static inline struct file *au_hf_dir(struct file *file, aufs_bindex_t bindex) +{ + FiMustAnyLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + return au_fi(file)->fi_hdir->fd_hfile[0 + bindex].hf_file; +} + +/* todo: memory barrier? */ +static inline unsigned int au_figen(struct file *f) +{ + return atomic_read(&au_fi(f)->fi_generation); +} + +static inline void au_set_mmapped(struct file *f) +{ + if (atomic_inc_return(&au_fi(f)->fi_mmapped)) + return; + pr_warn("fi_mmapped wrapped around\n"); + while (!atomic_inc_return(&au_fi(f)->fi_mmapped)) + ; +} + +static inline void au_unset_mmapped(struct file *f) +{ + atomic_dec(&au_fi(f)->fi_mmapped); +} + +static inline int au_test_mmapped(struct file *f) +{ + return atomic_read(&au_fi(f)->fi_mmapped); +} + +/* customize vma->vm_file */ + +static inline void au_do_vm_file_reset(struct vm_area_struct *vma, + struct file *file) +{ + struct file *f; + + f = vma->vm_file; + get_file(file); + vma->vm_file = file; + fput(f); +} + +#ifdef CONFIG_MMU +#define AuDbgVmRegion(file, vma) do {} while (0) + +static inline void au_vm_file_reset(struct vm_area_struct *vma, + struct file *file) +{ + au_do_vm_file_reset(vma, file); +} +#else +#define AuDbgVmRegion(file, vma) \ + AuDebugOn((vma)->vm_region && (vma)->vm_region->vm_file != (file)) + +static inline void au_vm_file_reset(struct vm_area_struct *vma, + struct file *file) +{ + struct file *f; + + au_do_vm_file_reset(vma, file); + f = vma->vm_region->vm_file; + get_file(file); + vma->vm_region->vm_file = file; + fput(f); +} +#endif /* CONFIG_MMU */ + +/* handle vma->vm_prfile */ +static inline void au_vm_prfile_set(struct vm_area_struct *vma, + struct file *file) +{ +#ifdef CONFIG_AUFS_PROC_MAP + get_file(file); + vma->vm_prfile = file; +#ifndef CONFIG_MMU + get_file(file); + vma->vm_region->vm_prfile = file; +#endif +#endif +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_FILE_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/finfo.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/finfo.c @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * file private data + */ + +#include "aufs.h" + +void au_hfput(struct au_hfile *hf, struct file *file) +{ + /* todo: direct access f_flags */ + if (vfsub_file_flags(file) & __FMODE_EXEC) + allow_write_access(hf->hf_file); + fput(hf->hf_file); + hf->hf_file = NULL; + atomic_dec(&hf->hf_br->br_count); + hf->hf_br = NULL; +} + +void au_set_h_fptr(struct file *file, aufs_bindex_t bindex, struct file *val) +{ + struct au_finfo *finfo = au_fi(file); + struct au_hfile *hf; + struct au_fidir *fidir; + + fidir = finfo->fi_hdir; + if (!fidir) { + AuDebugOn(finfo->fi_btop != bindex); + hf = &finfo->fi_htop; + } else + hf = fidir->fd_hfile + bindex; + + if (hf && hf->hf_file) + au_hfput(hf, file); + if (val) { + FiMustWriteLock(file); + hf->hf_file = val; + hf->hf_br = au_sbr(file->f_dentry->d_sb, bindex); + } +} + +void au_update_figen(struct file *file) +{ + atomic_set(&au_fi(file)->fi_generation, au_digen(file->f_dentry)); + /* smp_mb(); */ /* atomic_set */ +} + +/* ---------------------------------------------------------------------- */ + +struct au_fidir *au_fidir_alloc(struct super_block *sb) +{ + struct au_fidir *fidir; + int nbr; + + nbr = au_sbend(sb) + 1; + if (nbr < 2) + nbr = 2; /* initial allocate for 2 branches */ + fidir = kzalloc(au_fidir_sz(nbr), GFP_NOFS); + if (fidir) { + fidir->fd_bbot = -1; + fidir->fd_nent = nbr; + fidir->fd_vdir_cache = NULL; + } + + return fidir; +} + +int au_fidir_realloc(struct au_finfo *finfo, int nbr) +{ + int err; + struct au_fidir *fidir, *p; + + AuRwMustWriteLock(&finfo->fi_rwsem); + fidir = finfo->fi_hdir; + AuDebugOn(!fidir); + + err = -ENOMEM; + p = au_kzrealloc(fidir, au_fidir_sz(fidir->fd_nent), au_fidir_sz(nbr), + GFP_NOFS); + if (p) { + p->fd_nent = nbr; + finfo->fi_hdir = p; + err = 0; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_finfo_fin(struct file *file) +{ + struct au_finfo *finfo; + + au_nfiles_dec(file->f_dentry->d_sb); + + finfo = au_fi(file); + AuDebugOn(finfo->fi_hdir); + AuRwDestroy(&finfo->fi_rwsem); + au_cache_free_finfo(finfo); +} + +void au_fi_init_once(void *_finfo) +{ + struct au_finfo *finfo = _finfo; + static struct lock_class_key aufs_fi; + + au_rw_init(&finfo->fi_rwsem); + au_rw_class(&finfo->fi_rwsem, &aufs_fi); +} + +int au_finfo_init(struct file *file, struct au_fidir *fidir) +{ + int err, lc_idx; + struct au_finfo *finfo; + struct dentry *dentry; + + err = -ENOMEM; + dentry = file->f_dentry; + finfo = au_cache_alloc_finfo(); + if (unlikely(!finfo)) + goto out; + + err = 0; + au_nfiles_inc(dentry->d_sb); + lc_idx = AuLcNonDir_FIINFO; + if (fidir) + lc_idx = AuLcDir_FIINFO; + au_rw_class(&finfo->fi_rwsem, au_lc_key + lc_idx); + au_rw_write_lock(&finfo->fi_rwsem); + finfo->fi_btop = -1; + finfo->fi_hdir = fidir; + atomic_set(&finfo->fi_generation, au_digen(dentry)); + /* smp_mb(); */ /* atomic_set */ + + file->private_data = finfo; + +out: + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/fstype.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/fstype.h @@ -0,0 +1,496 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * judging filesystem type + */ + +#ifndef __AUFS_FSTYPE_H__ +#define __AUFS_FSTYPE_H__ + +#ifdef __KERNEL__ + +#include +#include +#include + +static inline int au_test_aufs(struct super_block *sb) +{ + return sb->s_magic == AUFS_SUPER_MAGIC; +} + +static inline const char *au_sbtype(struct super_block *sb) +{ + return sb->s_type->name; +} + +static inline int au_test_iso9660(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_ROMFS_FS) || defined(CONFIG_ROMFS_FS_MODULE) + return sb->s_magic == ROMFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_romfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_ISO9660_FS) || defined(CONFIG_ISO9660_FS_MODULE) + return sb->s_magic == ISOFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_cramfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_CRAMFS) || defined(CONFIG_CRAMFS_MODULE) + return sb->s_magic == CRAMFS_MAGIC; +#endif + return 0; +} + +static inline int au_test_nfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_NFS_FS) || defined(CONFIG_NFS_FS_MODULE) + return sb->s_magic == NFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_fuse(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_FUSE_FS) || defined(CONFIG_FUSE_FS_MODULE) + return sb->s_magic == FUSE_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_xfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_XFS_FS) || defined(CONFIG_XFS_FS_MODULE) + return sb->s_magic == XFS_SB_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_tmpfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_TMPFS + return sb->s_magic == TMPFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_ecryptfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_ECRYPT_FS) || defined(CONFIG_ECRYPT_FS_MODULE) + return !strcmp(au_sbtype(sb), "ecryptfs"); +#else + return 0; +#endif +} + +static inline int au_test_smbfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_SMB_FS) || defined(CONFIG_SMB_FS_MODULE) + return sb->s_magic == SMB_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_ocfs2(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_OCFS2_FS) || defined(CONFIG_OCFS2_FS_MODULE) + return sb->s_magic == OCFS2_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_ocfs2_dlmfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_OCFS2_FS_O2CB) || defined(CONFIG_OCFS2_FS_O2CB_MODULE) + return sb->s_magic == DLMFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_coda(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_CODA_FS) || defined(CONFIG_CODA_FS_MODULE) + return sb->s_magic == CODA_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_v9fs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_9P_FS) || defined(CONFIG_9P_FS_MODULE) + return sb->s_magic == V9FS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_ext4(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_EXT4DEV_FS) || defined(CONFIG_EXT4DEV_FS_MODULE) + return sb->s_magic == EXT4_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_sysv(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_SYSV_FS) || defined(CONFIG_SYSV_FS_MODULE) + return !strcmp(au_sbtype(sb), "sysv"); +#else + return 0; +#endif +} + +static inline int au_test_ramfs(struct super_block *sb) +{ + return sb->s_magic == RAMFS_MAGIC; +} + +static inline int au_test_ubifs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_UBIFS_FS) || defined(CONFIG_UBIFS_FS_MODULE) + return sb->s_magic == UBIFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_procfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_PROC_FS + return sb->s_magic == PROC_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_sysfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_SYSFS + return sb->s_magic == SYSFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_configfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_CONFIGFS_FS) || defined(CONFIG_CONFIGFS_FS_MODULE) + return sb->s_magic == CONFIGFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_minix(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_MINIX_FS) || defined(CONFIG_MINIX_FS_MODULE) + return sb->s_magic == MINIX3_SUPER_MAGIC + || sb->s_magic == MINIX2_SUPER_MAGIC + || sb->s_magic == MINIX2_SUPER_MAGIC2 + || sb->s_magic == MINIX_SUPER_MAGIC + || sb->s_magic == MINIX_SUPER_MAGIC2; +#else + return 0; +#endif +} + +static inline int au_test_cifs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_CIFS_FS) || defined(CONFIGCIFS_FS_MODULE) + return sb->s_magic == CIFS_MAGIC_NUMBER; +#else + return 0; +#endif +} + +static inline int au_test_fat(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_FAT_FS) || defined(CONFIG_FAT_FS_MODULE) + return sb->s_magic == MSDOS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_msdos(struct super_block *sb) +{ + return au_test_fat(sb); +} + +static inline int au_test_vfat(struct super_block *sb) +{ + return au_test_fat(sb); +} + +static inline int au_test_securityfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_SECURITYFS + return sb->s_magic == SECURITYFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_squashfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_SQUASHFS) || defined(CONFIG_SQUASHFS_MODULE) + return sb->s_magic == SQUASHFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_btrfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_BTRFS_FS) || defined(CONFIG_BTRFS_FS_MODULE) + return sb->s_magic == BTRFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_xenfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_XENFS) || defined(CONFIG_XENFS_MODULE) + return sb->s_magic == XENFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_debugfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_DEBUG_FS + return sb->s_magic == DEBUGFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_nilfs(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_NILFS) || defined(CONFIG_NILFS_MODULE) + return sb->s_magic == NILFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_hfsplus(struct super_block *sb __maybe_unused) +{ +#if defined(CONFIG_HFSPLUS_FS) || defined(CONFIG_HFSPLUS_FS_MODULE) + return sb->s_magic == HFSPLUS_SUPER_MAGIC; +#else + return 0; +#endif +} + +/* ---------------------------------------------------------------------- */ +/* + * they can't be an aufs branch. + */ +static inline int au_test_fs_unsuppoted(struct super_block *sb) +{ + return +#ifndef CONFIG_AUFS_BR_RAMFS + au_test_ramfs(sb) || +#endif + au_test_procfs(sb) + || au_test_sysfs(sb) + || au_test_configfs(sb) + || au_test_debugfs(sb) + || au_test_securityfs(sb) + || au_test_xenfs(sb) + || au_test_ecryptfs(sb) + /* || !strcmp(au_sbtype(sb), "unionfs") */ + || au_test_aufs(sb); /* will be supported in next version */ +} + +/* + * If the filesystem supports NFS-export, then it has to support NULL as + * a nameidata parameter for ->create(), ->lookup() and ->d_revalidate(). + * We can apply this principle when we handle a lower filesystem. + */ +static inline int au_test_fs_null_nd(struct super_block *sb) +{ + return !!sb->s_export_op; +} + +static inline int au_test_fs_remote(struct super_block *sb) +{ + return !au_test_tmpfs(sb) +#ifdef CONFIG_AUFS_BR_RAMFS + && !au_test_ramfs(sb) +#endif + && !(sb->s_type->fs_flags & FS_REQUIRES_DEV); +} + +/* ---------------------------------------------------------------------- */ + +/* + * Note: these functions (below) are created after reading ->getattr() in all + * filesystems under linux/fs. it means we have to do so in every update... + */ + +/* + * some filesystems require getattr to refresh the inode attributes before + * referencing. + * in most cases, we can rely on the inode attribute in NFS (or every remote fs) + * and leave the work for d_revalidate() + */ +static inline int au_test_fs_refresh_iattr(struct super_block *sb) +{ + return au_test_nfs(sb) + || au_test_fuse(sb) + /* || au_test_smbfs(sb) */ /* untested */ + /* || au_test_ocfs2(sb) */ /* untested */ + /* || au_test_btrfs(sb) */ /* untested */ + /* || au_test_coda(sb) */ /* untested */ + /* || au_test_v9fs(sb) */ /* untested */ + ; +} + +/* + * filesystems which don't maintain i_size or i_blocks. + */ +static inline int au_test_fs_bad_iattr_size(struct super_block *sb) +{ + return au_test_xfs(sb) + || au_test_btrfs(sb) + || au_test_ubifs(sb) + || au_test_hfsplus(sb) /* maintained, but incorrect */ + /* || au_test_ext4(sb) */ /* untested */ + /* || au_test_ocfs2(sb) */ /* untested */ + /* || au_test_ocfs2_dlmfs(sb) */ /* untested */ + /* || au_test_sysv(sb) */ /* untested */ + /* || au_test_minix(sb) */ /* untested */ + ; +} + +/* + * filesystems which don't store the correct value in some of their inode + * attributes. + */ +static inline int au_test_fs_bad_iattr(struct super_block *sb) +{ + return au_test_fs_bad_iattr_size(sb) + /* || au_test_cifs(sb) */ /* untested */ + || au_test_fat(sb) + || au_test_msdos(sb) + || au_test_vfat(sb); +} + +/* they don't check i_nlink in link(2) */ +static inline int au_test_fs_no_limit_nlink(struct super_block *sb) +{ + return au_test_tmpfs(sb) +#ifdef CONFIG_AUFS_BR_RAMFS + || au_test_ramfs(sb) +#endif + || au_test_ubifs(sb) + || au_test_btrfs(sb) + || au_test_hfsplus(sb); +} + +/* + * filesystems which sets S_NOATIME and S_NOCMTIME. + */ +static inline int au_test_fs_notime(struct super_block *sb) +{ + return au_test_nfs(sb) + || au_test_fuse(sb) + || au_test_ubifs(sb) + /* || au_test_cifs(sb) */ /* untested */ + ; +} + +/* + * filesystems which requires replacing i_mapping. + */ +static inline int au_test_fs_bad_mapping(struct super_block *sb) +{ + return au_test_fuse(sb) + || au_test_ubifs(sb); +} + +/* temporary support for i#1 in cramfs */ +static inline int au_test_fs_unique_ino(struct inode *inode) +{ + if (au_test_cramfs(inode->i_sb)) + return inode->i_ino != 1; + return 1; +} + +/* ---------------------------------------------------------------------- */ + +/* + * the filesystem where the xino files placed must support i/o after unlink and + * maintain i_size and i_blocks. + */ +static inline int au_test_fs_bad_xino(struct super_block *sb) +{ + return au_test_fs_remote(sb) + || au_test_fs_bad_iattr_size(sb) +#ifdef CONFIG_AUFS_BR_RAMFS + || !(au_test_ramfs(sb) || au_test_fs_null_nd(sb)) +#else + || !au_test_fs_null_nd(sb) /* to keep xino code simple */ +#endif + /* don't want unnecessary work for xino */ + || au_test_aufs(sb) + || au_test_ecryptfs(sb) + || au_test_nilfs(sb); +} + +static inline int au_test_fs_trunc_xino(struct super_block *sb) +{ + return au_test_tmpfs(sb) + || au_test_ramfs(sb); +} + +/* + * test if the @sb is real-readonly. + */ +static inline int au_test_fs_rr(struct super_block *sb) +{ + return au_test_squashfs(sb) + || au_test_iso9660(sb) + || au_test_cramfs(sb) + || au_test_romfs(sb); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_FSTYPE_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/hfsnotify.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/hfsnotify.c @@ -0,0 +1,257 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * fsnotify for the lower directories + */ + +#include "aufs.h" + +/* FS_IN_IGNORED is unnecessary */ +static const __u32 AuHfsnMask = (FS_MOVED_TO | FS_MOVED_FROM | FS_DELETE + | FS_CREATE | FS_EVENT_ON_CHILD); +static DECLARE_WAIT_QUEUE_HEAD(au_hfsn_wq); +static __cacheline_aligned_in_smp atomic64_t au_hfsn_ifree = ATOMIC64_INIT(0); + +static void au_hfsn_free_mark(struct fsnotify_mark *mark) +{ + struct au_hnotify *hn = container_of(mark, struct au_hnotify, + hn_mark); + AuDbg("here\n"); + au_cache_free_hnotify(hn); + smp_mb__before_atomic_dec(); + atomic64_dec(&au_hfsn_ifree); + wake_up(&au_hfsn_wq); +} + +static int au_hfsn_alloc(struct au_hinode *hinode) +{ + struct au_hnotify *hn; + struct super_block *sb; + struct au_branch *br; + struct fsnotify_mark *mark; + aufs_bindex_t bindex; + + hn = hinode->hi_notify; + sb = hn->hn_aufs_inode->i_sb; + bindex = au_br_index(sb, hinode->hi_id); + br = au_sbr(sb, bindex); + mark = &hn->hn_mark; + fsnotify_init_mark(mark, au_hfsn_free_mark); + mark->mask = AuHfsnMask; + /* + * by udba rename or rmdir, aufs assign a new inode to the known + * h_inode, so specify 1 to allow dups. + */ + return fsnotify_add_mark(mark, br->br_hfsn_group, hinode->hi_inode, + /*mnt*/NULL, /*allow_dups*/1); +} + +static int au_hfsn_free(struct au_hinode *hinode, struct au_hnotify *hn) +{ + struct fsnotify_mark *mark; + unsigned long long ull; + + ull = atomic64_inc_return(&au_hfsn_ifree); + BUG_ON(!ull); + + mark = &hn->hn_mark; + fsnotify_destroy_mark(mark); + fsnotify_put_mark(mark); + + /* free hn by myself */ + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static void au_hfsn_ctl(struct au_hinode *hinode, int do_set) +{ + struct fsnotify_mark *mark; + + mark = &hinode->hi_notify->hn_mark; + spin_lock(&mark->lock); + if (do_set) { + AuDebugOn(mark->mask & AuHfsnMask); + mark->mask |= AuHfsnMask; + } else { + AuDebugOn(!(mark->mask & AuHfsnMask)); + mark->mask &= ~AuHfsnMask; + } + spin_unlock(&mark->lock); + /* fsnotify_recalc_inode_mask(hinode->hi_inode); */ +} + +/* ---------------------------------------------------------------------- */ + +/* #define AuDbgHnotify */ +#ifdef AuDbgHnotify +static char *au_hfsn_name(u32 mask) +{ +#ifdef CONFIG_AUFS_DEBUG +#define test_ret(flag) if (mask & flag) \ + return #flag; + test_ret(FS_ACCESS); + test_ret(FS_MODIFY); + test_ret(FS_ATTRIB); + test_ret(FS_CLOSE_WRITE); + test_ret(FS_CLOSE_NOWRITE); + test_ret(FS_OPEN); + test_ret(FS_MOVED_FROM); + test_ret(FS_MOVED_TO); + test_ret(FS_CREATE); + test_ret(FS_DELETE); + test_ret(FS_DELETE_SELF); + test_ret(FS_MOVE_SELF); + test_ret(FS_UNMOUNT); + test_ret(FS_Q_OVERFLOW); + test_ret(FS_IN_IGNORED); + test_ret(FS_IN_ISDIR); + test_ret(FS_IN_ONESHOT); + test_ret(FS_EVENT_ON_CHILD); + return ""; +#undef test_ret +#else + return "??"; +#endif +} +#endif + +/* ---------------------------------------------------------------------- */ + +static int au_hfsn_handle_event(struct fsnotify_group *group, + struct fsnotify_mark *inode_mark, + struct fsnotify_mark *vfsmount_mark, + struct fsnotify_event *event) +{ + int err; + struct au_hnotify *hnotify; + struct inode *h_dir, *h_inode; + __u32 mask; + struct qstr h_child_qstr = QSTR_INIT(event->file_name, event->name_len); + + AuDebugOn(event->data_type != FSNOTIFY_EVENT_INODE); + + err = 0; + /* if FS_UNMOUNT happens, there must be another bug */ + mask = event->mask; + AuDebugOn(mask & FS_UNMOUNT); + if (mask & (FS_IN_IGNORED | FS_UNMOUNT)) + goto out; + + h_dir = event->to_tell; + h_inode = event->inode; +#ifdef AuDbgHnotify + au_debug(1); + if (1 || h_child_qstr.len != sizeof(AUFS_XINO_FNAME) - 1 + || strncmp(h_child_qstr.name, AUFS_XINO_FNAME, h_child_qstr.len)) { + AuDbg("i%lu, mask 0x%x %s, hcname %.*s, hi%lu\n", + h_dir->i_ino, mask, au_hfsn_name(mask), + AuLNPair(&h_child_qstr), h_inode ? h_inode->i_ino : 0); + /* WARN_ON(1); */ + } + au_debug(0); +#endif + + AuDebugOn(!inode_mark); + hnotify = container_of(inode_mark, struct au_hnotify, hn_mark); + err = au_hnotify(h_dir, hnotify, mask, &h_child_qstr, h_inode); + +out: + return err; +} + +/* isn't it waste to ask every registered 'group'? */ +/* copied from linux/fs/notify/inotify/inotify_fsnotiry.c */ +/* it should be exported to modules */ +static bool au_hfsn_should_send_event(struct fsnotify_group *group, + struct inode *h_inode, + struct fsnotify_mark *inode_mark, + struct fsnotify_mark *vfsmount_mark, + __u32 mask, void *data, int data_type) +{ + mask = (mask & ~FS_EVENT_ON_CHILD); + return inode_mark->mask & mask; +} + +static struct fsnotify_ops au_hfsn_ops = { + .should_send_event = au_hfsn_should_send_event, + .handle_event = au_hfsn_handle_event +}; + +/* ---------------------------------------------------------------------- */ + +static void au_hfsn_fin_br(struct au_branch *br) +{ + if (br->br_hfsn_group) + fsnotify_put_group(br->br_hfsn_group); +} + +static int au_hfsn_init_br(struct au_branch *br, int perm) +{ + br->br_hfsn_group = NULL; + br->br_hfsn_ops = au_hfsn_ops; + return 0; +} + +static int au_hfsn_reset_br(unsigned int udba, struct au_branch *br, int perm) +{ + int err; + + err = 0; + if (udba != AuOpt_UDBA_HNOTIFY + || !au_br_hnotifyable(perm)) { + au_hfsn_fin_br(br); + br->br_hfsn_group = NULL; + goto out; + } + + if (br->br_hfsn_group) + goto out; + + br->br_hfsn_group = fsnotify_alloc_group(&br->br_hfsn_ops); + if (IS_ERR(br->br_hfsn_group)) { + err = PTR_ERR(br->br_hfsn_group); + pr_err("fsnotify_alloc_group() failed, %d\n", err); + br->br_hfsn_group = NULL; + } + +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void au_hfsn_fin(void) +{ + AuDbg("au_hfsn_ifree %lld\n", (long long)atomic64_read(&au_hfsn_ifree)); + wait_event(au_hfsn_wq, !atomic64_read(&au_hfsn_ifree)); +} + +const struct au_hnotify_op au_hnotify_op = { + .ctl = au_hfsn_ctl, + .alloc = au_hfsn_alloc, + .free = au_hfsn_free, + + .fin = au_hfsn_fin, + + .reset_br = au_hfsn_reset_br, + .fin_br = au_hfsn_fin_br, + .init_br = au_hfsn_init_br +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/hfsplus.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/hfsplus.c @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2010-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * special support for filesystems which aqucires an inode mutex + * at final closing a file, eg, hfsplus. + * + * This trick is very simple and stupid, just to open the file before really + * neceeary open to tell hfsplus that this is not the final closing. + * The caller should call au_h_open_pre() after acquiring the inode mutex, + * and au_h_open_post() after releasing it. + */ + +#include "aufs.h" + +struct file *au_h_open_pre(struct dentry *dentry, aufs_bindex_t bindex) +{ + struct file *h_file; + struct dentry *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + AuDebugOn(!h_dentry); + AuDebugOn(!h_dentry->d_inode); + IMustLock(h_dentry->d_inode); + + h_file = NULL; + if (au_test_hfsplus(h_dentry->d_sb) + && S_ISREG(h_dentry->d_inode->i_mode)) + h_file = au_h_open(dentry, bindex, + O_RDONLY | O_NOATIME | O_LARGEFILE, + /*file*/NULL); + return h_file; +} + +void au_h_open_post(struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file) +{ + if (h_file) { + fput(h_file); + au_sbr_put(dentry->d_sb, bindex); + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/hnotify.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/hnotify.c @@ -0,0 +1,712 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * abstraction to notify the direct changes on lower directories + */ + +#include "aufs.h" + +int au_hn_alloc(struct au_hinode *hinode, struct inode *inode) +{ + int err; + struct au_hnotify *hn; + + err = -ENOMEM; + hn = au_cache_alloc_hnotify(); + if (hn) { + hn->hn_aufs_inode = inode; + hinode->hi_notify = hn; + err = au_hnotify_op.alloc(hinode); + AuTraceErr(err); + if (unlikely(err)) { + hinode->hi_notify = NULL; + au_cache_free_hnotify(hn); + /* + * The upper dir was removed by udba, but the same named + * dir left. In this case, aufs assignes a new inode + * number and set the monitor again. + * For the lower dir, the old monitnor is still left. + */ + if (err == -EEXIST) + err = 0; + } + } + + AuTraceErr(err); + return err; +} + +void au_hn_free(struct au_hinode *hinode) +{ + struct au_hnotify *hn; + + hn = hinode->hi_notify; + if (hn) { + hinode->hi_notify = NULL; + if (au_hnotify_op.free(hinode, hn)) + au_cache_free_hnotify(hn); + } +} + +/* ---------------------------------------------------------------------- */ + +void au_hn_ctl(struct au_hinode *hinode, int do_set) +{ + if (hinode->hi_notify) + au_hnotify_op.ctl(hinode, do_set); +} + +void au_hn_reset(struct inode *inode, unsigned int flags) +{ + aufs_bindex_t bindex, bend; + struct inode *hi; + struct dentry *iwhdentry; + + bend = au_ibend(inode); + for (bindex = au_ibstart(inode); bindex <= bend; bindex++) { + hi = au_h_iptr(inode, bindex); + if (!hi) + continue; + + /* mutex_lock_nested(&hi->i_mutex, AuLsc_I_CHILD); */ + iwhdentry = au_hi_wh(inode, bindex); + if (iwhdentry) + dget(iwhdentry); + au_igrab(hi); + au_set_h_iptr(inode, bindex, NULL, 0); + au_set_h_iptr(inode, bindex, au_igrab(hi), + flags & ~AuHi_XINO); + iput(hi); + dput(iwhdentry); + /* mutex_unlock(&hi->i_mutex); */ + } +} + +/* ---------------------------------------------------------------------- */ + +static int hn_xino(struct inode *inode, struct inode *h_inode) +{ + int err; + aufs_bindex_t bindex, bend, bfound, bstart; + struct inode *h_i; + + err = 0; + if (unlikely(inode->i_ino == AUFS_ROOT_INO)) { + pr_warn("branch root dir was changed\n"); + goto out; + } + + bfound = -1; + bend = au_ibend(inode); + bstart = au_ibstart(inode); +#if 0 /* reserved for future use */ + if (bindex == bend) { + /* keep this ino in rename case */ + goto out; + } +#endif + for (bindex = bstart; bindex <= bend; bindex++) + if (au_h_iptr(inode, bindex) == h_inode) { + bfound = bindex; + break; + } + if (bfound < 0) + goto out; + + for (bindex = bstart; bindex <= bend; bindex++) { + h_i = au_h_iptr(inode, bindex); + if (!h_i) + continue; + + err = au_xino_write(inode->i_sb, bindex, h_i->i_ino, /*ino*/0); + /* ignore this error */ + /* bad action? */ + } + + /* children inode number will be broken */ + +out: + AuTraceErr(err); + return err; +} + +static int hn_gen_tree(struct dentry *dentry) +{ + int err, i, j, ndentry; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, dentry, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) { + struct dentry *d; + + d = dentries[j]; + if (IS_ROOT(d)) + continue; + + au_digen_dec(d); + if (d->d_inode) + /* todo: reset children xino? + cached children only? */ + au_iigen_dec(d->d_inode); + } + } + +out_dpages: + au_dpages_free(&dpages); + +#if 0 + /* discard children */ + dentry_unhash(dentry); + dput(dentry); +#endif +out: + return err; +} + +/* + * return 0 if processed. + */ +static int hn_gen_by_inode(char *name, unsigned int nlen, struct inode *inode, + const unsigned int isdir) +{ + int err; + struct dentry *d; + struct qstr *dname; + + err = 1; + if (unlikely(inode->i_ino == AUFS_ROOT_INO)) { + pr_warn("branch root dir was changed\n"); + err = 0; + goto out; + } + + if (!isdir) { + AuDebugOn(!name); + au_iigen_dec(inode); + spin_lock(&inode->i_lock); + list_for_each_entry(d, &inode->i_dentry, d_alias) { + spin_lock(&d->d_lock); + dname = &d->d_name; + if (dname->len != nlen + && memcmp(dname->name, name, nlen)) { + spin_unlock(&d->d_lock); + continue; + } + err = 0; + au_digen_dec(d); + spin_unlock(&d->d_lock); + break; + } + spin_unlock(&inode->i_lock); + } else { + au_fset_si(au_sbi(inode->i_sb), FAILED_REFRESH_DIR); + d = d_find_alias(inode); + if (!d) { + au_iigen_dec(inode); + goto out; + } + + spin_lock(&d->d_lock); + dname = &d->d_name; + if (dname->len == nlen && !memcmp(dname->name, name, nlen)) { + spin_unlock(&d->d_lock); + err = hn_gen_tree(d); + spin_lock(&d->d_lock); + } + spin_unlock(&d->d_lock); + dput(d); + } + +out: + AuTraceErr(err); + return err; +} + +static int hn_gen_by_name(struct dentry *dentry, const unsigned int isdir) +{ + int err; + struct inode *inode; + + inode = dentry->d_inode; + if (IS_ROOT(dentry) + /* || (inode && inode->i_ino == AUFS_ROOT_INO) */ + ) { + pr_warn("branch root dir was changed\n"); + return 0; + } + + err = 0; + if (!isdir) { + au_digen_dec(dentry); + if (inode) + au_iigen_dec(inode); + } else { + au_fset_si(au_sbi(dentry->d_sb), FAILED_REFRESH_DIR); + if (inode) + err = hn_gen_tree(dentry); + } + + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* hnotify job flags */ +#define AuHnJob_XINO0 1 +#define AuHnJob_GEN (1 << 1) +#define AuHnJob_DIRENT (1 << 2) +#define AuHnJob_ISDIR (1 << 3) +#define AuHnJob_TRYXINO0 (1 << 4) +#define AuHnJob_MNTPNT (1 << 5) +#define au_ftest_hnjob(flags, name) ((flags) & AuHnJob_##name) +#define au_fset_hnjob(flags, name) \ + do { (flags) |= AuHnJob_##name; } while (0) +#define au_fclr_hnjob(flags, name) \ + do { (flags) &= ~AuHnJob_##name; } while (0) + +enum { + AuHn_CHILD, + AuHn_PARENT, + AuHnLast +}; + +struct au_hnotify_args { + struct inode *h_dir, *dir, *h_child_inode; + u32 mask; + unsigned int flags[AuHnLast]; + unsigned int h_child_nlen; + char h_child_name[]; +}; + +struct hn_job_args { + unsigned int flags; + struct inode *inode, *h_inode, *dir, *h_dir; + struct dentry *dentry; + char *h_name; + int h_nlen; +}; + +static int hn_job(struct hn_job_args *a) +{ + const unsigned int isdir = au_ftest_hnjob(a->flags, ISDIR); + + /* reset xino */ + if (au_ftest_hnjob(a->flags, XINO0) && a->inode) + hn_xino(a->inode, a->h_inode); /* ignore this error */ + + if (au_ftest_hnjob(a->flags, TRYXINO0) + && a->inode + && a->h_inode) { + mutex_lock_nested(&a->h_inode->i_mutex, AuLsc_I_CHILD); + if (!a->h_inode->i_nlink) + hn_xino(a->inode, a->h_inode); /* ignore this error */ + mutex_unlock(&a->h_inode->i_mutex); + } + + /* make the generation obsolete */ + if (au_ftest_hnjob(a->flags, GEN)) { + int err = -1; + if (a->inode) + err = hn_gen_by_inode(a->h_name, a->h_nlen, a->inode, + isdir); + if (err && a->dentry) + hn_gen_by_name(a->dentry, isdir); + /* ignore this error */ + } + + /* make dir entries obsolete */ + if (au_ftest_hnjob(a->flags, DIRENT) && a->inode) { + struct au_vdir *vdir; + + vdir = au_ivdir(a->inode); + if (vdir) + vdir->vd_jiffy = 0; + /* IMustLock(a->inode); */ + /* a->inode->i_version++; */ + } + + /* can do nothing but warn */ + if (au_ftest_hnjob(a->flags, MNTPNT) + && a->dentry + && d_mountpoint(a->dentry)) + pr_warn("mount-point %.*s is removed or renamed\n", + AuDLNPair(a->dentry)); + + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *lookup_wlock_by_name(char *name, unsigned int nlen, + struct inode *dir) +{ + struct dentry *dentry, *d, *parent; + struct qstr *dname; + + parent = d_find_alias(dir); + if (!parent) + return NULL; + + dentry = NULL; + spin_lock(&parent->d_lock); + list_for_each_entry(d, &parent->d_subdirs, d_u.d_child) { + /* AuDbg("%.*s\n", AuDLNPair(d)); */ + spin_lock_nested(&d->d_lock, DENTRY_D_LOCK_NESTED); + dname = &d->d_name; + if (dname->len != nlen || memcmp(dname->name, name, nlen)) + goto cont_unlock; + if (au_di(d)) + au_digen_dec(d); + else + goto cont_unlock; + if (d->d_count) { + dentry = dget_dlock(d); + spin_unlock(&d->d_lock); + break; + } + + cont_unlock: + spin_unlock(&d->d_lock); + } + spin_unlock(&parent->d_lock); + dput(parent); + + if (dentry) + di_write_lock_child(dentry); + + return dentry; +} + +static struct inode *lookup_wlock_by_ino(struct super_block *sb, + aufs_bindex_t bindex, ino_t h_ino) +{ + struct inode *inode; + ino_t ino; + int err; + + inode = NULL; + err = au_xino_read(sb, bindex, h_ino, &ino); + if (!err && ino) + inode = ilookup(sb, ino); + if (!inode) + goto out; + + if (unlikely(inode->i_ino == AUFS_ROOT_INO)) { + pr_warn("wrong root branch\n"); + iput(inode); + inode = NULL; + goto out; + } + + ii_write_lock_child(inode); + +out: + return inode; +} + +static void au_hn_bh(void *_args) +{ + struct au_hnotify_args *a = _args; + struct super_block *sb; + aufs_bindex_t bindex, bend, bfound; + unsigned char xino, try_iput; + int err; + struct inode *inode; + ino_t h_ino; + struct hn_job_args args; + struct dentry *dentry; + struct au_sbinfo *sbinfo; + + AuDebugOn(!_args); + AuDebugOn(!a->h_dir); + AuDebugOn(!a->dir); + AuDebugOn(!a->mask); + AuDbg("mask 0x%x, i%lu, hi%lu, hci%lu\n", + a->mask, a->dir->i_ino, a->h_dir->i_ino, + a->h_child_inode ? a->h_child_inode->i_ino : 0); + + inode = NULL; + dentry = NULL; + /* + * do not lock a->dir->i_mutex here + * because of d_revalidate() may cause a deadlock. + */ + sb = a->dir->i_sb; + AuDebugOn(!sb); + sbinfo = au_sbi(sb); + AuDebugOn(!sbinfo); + si_write_lock(sb, AuLock_NOPLMW); + + ii_read_lock_parent(a->dir); + bfound = -1; + bend = au_ibend(a->dir); + for (bindex = au_ibstart(a->dir); bindex <= bend; bindex++) + if (au_h_iptr(a->dir, bindex) == a->h_dir) { + bfound = bindex; + break; + } + ii_read_unlock(a->dir); + if (unlikely(bfound < 0)) + goto out; + + xino = !!au_opt_test(au_mntflags(sb), XINO); + h_ino = 0; + if (a->h_child_inode) + h_ino = a->h_child_inode->i_ino; + + if (a->h_child_nlen + && (au_ftest_hnjob(a->flags[AuHn_CHILD], GEN) + || au_ftest_hnjob(a->flags[AuHn_CHILD], MNTPNT))) + dentry = lookup_wlock_by_name(a->h_child_name, a->h_child_nlen, + a->dir); + try_iput = 0; + if (dentry) + inode = dentry->d_inode; + if (xino && !inode && h_ino + && (au_ftest_hnjob(a->flags[AuHn_CHILD], XINO0) + || au_ftest_hnjob(a->flags[AuHn_CHILD], TRYXINO0) + || au_ftest_hnjob(a->flags[AuHn_CHILD], GEN))) { + inode = lookup_wlock_by_ino(sb, bfound, h_ino); + try_iput = 1; + } + + args.flags = a->flags[AuHn_CHILD]; + args.dentry = dentry; + args.inode = inode; + args.h_inode = a->h_child_inode; + args.dir = a->dir; + args.h_dir = a->h_dir; + args.h_name = a->h_child_name; + args.h_nlen = a->h_child_nlen; + err = hn_job(&args); + if (dentry) { + if (au_di(dentry)) + di_write_unlock(dentry); + dput(dentry); + } + if (inode && try_iput) { + ii_write_unlock(inode); + iput(inode); + } + + ii_write_lock_parent(a->dir); + args.flags = a->flags[AuHn_PARENT]; + args.dentry = NULL; + args.inode = a->dir; + args.h_inode = a->h_dir; + args.dir = NULL; + args.h_dir = NULL; + args.h_name = NULL; + args.h_nlen = 0; + err = hn_job(&args); + ii_write_unlock(a->dir); + +out: + iput(a->h_child_inode); + iput(a->h_dir); + iput(a->dir); + si_write_unlock(sb); + au_nwt_done(&sbinfo->si_nowait); + kfree(a); +} + +/* ---------------------------------------------------------------------- */ + +int au_hnotify(struct inode *h_dir, struct au_hnotify *hnotify, u32 mask, + struct qstr *h_child_qstr, struct inode *h_child_inode) +{ + int err, len; + unsigned int flags[AuHnLast], f; + unsigned char isdir, isroot, wh; + struct inode *dir; + struct au_hnotify_args *args; + char *p, *h_child_name; + + err = 0; + AuDebugOn(!hnotify || !hnotify->hn_aufs_inode); + dir = igrab(hnotify->hn_aufs_inode); + if (!dir) + goto out; + + isroot = (dir->i_ino == AUFS_ROOT_INO); + wh = 0; + h_child_name = (void *)h_child_qstr->name; + len = h_child_qstr->len; + if (h_child_name) { + if (len > AUFS_WH_PFX_LEN + && !memcmp(h_child_name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) { + h_child_name += AUFS_WH_PFX_LEN; + len -= AUFS_WH_PFX_LEN; + wh = 1; + } + } + + isdir = 0; + if (h_child_inode) + isdir = !!S_ISDIR(h_child_inode->i_mode); + flags[AuHn_PARENT] = AuHnJob_ISDIR; + flags[AuHn_CHILD] = 0; + if (isdir) + flags[AuHn_CHILD] = AuHnJob_ISDIR; + au_fset_hnjob(flags[AuHn_PARENT], DIRENT); + au_fset_hnjob(flags[AuHn_CHILD], GEN); + switch (mask & FS_EVENTS_POSS_ON_CHILD) { + case FS_MOVED_FROM: + case FS_MOVED_TO: + au_fset_hnjob(flags[AuHn_CHILD], XINO0); + au_fset_hnjob(flags[AuHn_CHILD], MNTPNT); + /*FALLTHROUGH*/ + case FS_CREATE: + AuDebugOn(!h_child_name || !h_child_inode); + break; + + case FS_DELETE: + /* + * aufs never be able to get this child inode. + * revalidation should be in d_revalidate() + * by checking i_nlink, i_generation or d_unhashed(). + */ + AuDebugOn(!h_child_name); + au_fset_hnjob(flags[AuHn_CHILD], TRYXINO0); + au_fset_hnjob(flags[AuHn_CHILD], MNTPNT); + break; + + default: + AuDebugOn(1); + } + + if (wh) + h_child_inode = NULL; + + err = -ENOMEM; + /* iput() and kfree() will be called in au_hnotify() */ + args = kmalloc(sizeof(*args) + len + 1, GFP_NOFS); + if (unlikely(!args)) { + AuErr1("no memory\n"); + iput(dir); + goto out; + } + args->flags[AuHn_PARENT] = flags[AuHn_PARENT]; + args->flags[AuHn_CHILD] = flags[AuHn_CHILD]; + args->mask = mask; + args->dir = dir; + args->h_dir = igrab(h_dir); + if (h_child_inode) + h_child_inode = igrab(h_child_inode); /* can be NULL */ + args->h_child_inode = h_child_inode; + args->h_child_nlen = len; + if (len) { + p = (void *)args; + p += sizeof(*args); + memcpy(p, h_child_name, len); + p[len] = 0; + } + + f = 0; + if (!dir->i_nlink) + f = AuWkq_NEST; + err = au_wkq_nowait(au_hn_bh, args, dir->i_sb, f); + if (unlikely(err)) { + pr_err("wkq %d\n", err); + iput(args->h_child_inode); + iput(args->h_dir); + iput(args->dir); + kfree(args); + } + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_hnotify_reset_br(unsigned int udba, struct au_branch *br, int perm) +{ + int err; + + AuDebugOn(!(udba & AuOptMask_UDBA)); + + err = 0; + if (au_hnotify_op.reset_br) + err = au_hnotify_op.reset_br(udba, br, perm); + + return err; +} + +int au_hnotify_init_br(struct au_branch *br, int perm) +{ + int err; + + err = 0; + if (au_hnotify_op.init_br) + err = au_hnotify_op.init_br(br, perm); + + return err; +} + +void au_hnotify_fin_br(struct au_branch *br) +{ + if (au_hnotify_op.fin_br) + au_hnotify_op.fin_br(br); +} + +static void au_hn_destroy_cache(void) +{ + kmem_cache_destroy(au_cachep[AuCache_HNOTIFY]); + au_cachep[AuCache_HNOTIFY] = NULL; +} + +int __init au_hnotify_init(void) +{ + int err; + + err = -ENOMEM; + au_cachep[AuCache_HNOTIFY] = AuCache(au_hnotify); + if (au_cachep[AuCache_HNOTIFY]) { + err = 0; + if (au_hnotify_op.init) + err = au_hnotify_op.init(); + if (unlikely(err)) + au_hn_destroy_cache(); + } + AuTraceErr(err); + return err; +} + +void au_hnotify_fin(void) +{ + if (au_hnotify_op.fin) + au_hnotify_op.fin(); + /* cf. au_cache_fin() */ + if (au_cachep[AuCache_HNOTIFY]) + au_hn_destroy_cache(); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/i_op.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/i_op.c @@ -0,0 +1,1009 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * inode operations (except add/del/rename) + */ + +#include +#include +#include +#include +#include +#include "aufs.h" + +static int h_permission(struct inode *h_inode, int mask, + struct vfsmount *h_mnt, int brperm) +{ + int err; + const unsigned char write_mask = !!(mask & (MAY_WRITE | MAY_APPEND)); + + err = -EACCES; + if ((write_mask && IS_IMMUTABLE(h_inode)) + || ((mask & MAY_EXEC) + && S_ISREG(h_inode->i_mode) + && ((h_mnt->mnt_flags & MNT_NOEXEC) + || !(h_inode->i_mode & S_IXUGO)))) + goto out; + + /* + * - skip the lower fs test in the case of write to ro branch. + * - nfs dir permission write check is optimized, but a policy for + * link/rename requires a real check. + */ + if ((write_mask && !au_br_writable(brperm)) + || (au_test_nfs(h_inode->i_sb) && S_ISDIR(h_inode->i_mode) + && write_mask && !(mask & MAY_READ)) + || !h_inode->i_op->permission) { + /* AuLabel(generic_permission); */ + err = generic_permission(h_inode, mask); + } else { + /* AuLabel(h_inode->permission); */ + err = h_inode->i_op->permission(h_inode, mask); + AuTraceErr(err); + } + + if (!err) + err = devcgroup_inode_permission(h_inode, mask); + if (!err) + err = security_inode_permission(h_inode, mask); + +#if 0 + if (!err) { + /* todo: do we need to call ima_path_check()? */ + struct path h_path = { + .dentry = + .mnt = h_mnt + }; + err = ima_path_check(&h_path, + mask & (MAY_READ | MAY_WRITE | MAY_EXEC), + IMA_COUNT_LEAVE); + } +#endif + +out: + return err; +} + +static int aufs_permission(struct inode *inode, int mask) +{ + int err; + aufs_bindex_t bindex, bend; + const unsigned char isdir = !!S_ISDIR(inode->i_mode), + write_mask = !!(mask & (MAY_WRITE | MAY_APPEND)); + struct inode *h_inode; + struct super_block *sb; + struct au_branch *br; + + /* todo: support rcu-walk? */ + if (mask & MAY_NOT_BLOCK) + return -ECHILD; + + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH); + ii_read_lock_child(inode); +#if 0 + err = au_iigen_test(inode, au_sigen(sb)); + if (unlikely(err)) + goto out; +#endif + + if (!isdir || write_mask) { + err = au_busy_or_stale(); + h_inode = au_h_iptr(inode, au_ibstart(inode)); + if (unlikely(!h_inode + || (h_inode->i_mode & S_IFMT) + != (inode->i_mode & S_IFMT))) + goto out; + + err = 0; + bindex = au_ibstart(inode); + br = au_sbr(sb, bindex); + err = h_permission(h_inode, mask, br->br_mnt, br->br_perm); + if (write_mask + && !err + && !special_file(h_inode->i_mode)) { + /* test whether the upper writable branch exists */ + err = -EROFS; + for (; bindex >= 0; bindex--) + if (!au_br_rdonly(au_sbr(sb, bindex))) { + err = 0; + break; + } + } + goto out; + } + + /* non-write to dir */ + err = 0; + bend = au_ibend(inode); + for (bindex = au_ibstart(inode); !err && bindex <= bend; bindex++) { + h_inode = au_h_iptr(inode, bindex); + if (h_inode) { + err = au_busy_or_stale(); + if (unlikely(!S_ISDIR(h_inode->i_mode))) + break; + + br = au_sbr(sb, bindex); + err = h_permission(h_inode, mask, br->br_mnt, + br->br_perm); + } + } + +out: + ii_read_unlock(inode); + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *aufs_lookup(struct inode *dir, struct dentry *dentry, + struct nameidata *nd) +{ + struct dentry *ret, *parent; + struct inode *inode; + struct super_block *sb; + int err, npositive, lc_idx; + + IMustLock(dir); + + sb = dir->i_sb; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + ret = ERR_PTR(err); + if (unlikely(err)) + goto out; + + ret = ERR_PTR(-ENAMETOOLONG); + if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN)) + goto out_si; + err = au_di_init(dentry); + ret = ERR_PTR(err); + if (unlikely(err)) + goto out_si; + + inode = NULL; + npositive = 0; /* suppress a warning */ + parent = dentry->d_parent; /* dir inode is locked */ + di_read_lock_parent(parent, AuLock_IR); + err = au_alive_dir(parent); + if (!err) + err = au_digen_test(parent, au_sigen(sb)); + if (!err) { + npositive = au_lkup_dentry(dentry, au_dbstart(parent), + /*type*/0, nd); + err = npositive; + } + di_read_unlock(parent, AuLock_IR); + ret = ERR_PTR(err); + if (unlikely(err < 0)) + goto out_unlock; + + if (npositive) { + inode = au_new_inode(dentry, /*must_new*/0); + ret = (void *)inode; + } + if (IS_ERR(inode)) { + inode = NULL; + goto out_unlock; + } + + ret = d_splice_alias(inode, dentry); + if (unlikely(IS_ERR(ret) && inode)) { + ii_write_unlock(inode); + iput(inode); + inode = NULL; + } + +out_unlock: + di_write_unlock(dentry); + if (inode) { + lc_idx = AuLcNonDir_DIINFO; + if (S_ISLNK(inode->i_mode)) + lc_idx = AuLcSymlink_DIINFO; + else if (S_ISDIR(inode->i_mode)) + lc_idx = AuLcDir_DIINFO; + au_rw_class(&au_di(dentry)->di_rwsem, au_lc_key + lc_idx); + } +out_si: + si_read_unlock(sb); +out: + return ret; +} + +/* ---------------------------------------------------------------------- */ + +static int au_wr_dir_cpup(struct dentry *dentry, struct dentry *parent, + const unsigned char add_entry, aufs_bindex_t bcpup, + aufs_bindex_t bstart) +{ + int err; + struct dentry *h_parent; + struct inode *h_dir; + + if (add_entry) + IMustLock(parent->d_inode); + else + di_write_lock_parent(parent); + + err = 0; + if (!au_h_dptr(parent, bcpup)) { + if (bstart < bcpup) + err = au_cpdown_dirs(dentry, bcpup); + else + err = au_cpup_dirs(dentry, bcpup); + } + if (!err && add_entry) { + h_parent = au_h_dptr(parent, bcpup); + h_dir = h_parent->d_inode; + mutex_lock_nested(&h_dir->i_mutex, AuLsc_I_PARENT); + err = au_lkup_neg(dentry, bcpup); + /* todo: no unlock here */ + mutex_unlock(&h_dir->i_mutex); + + AuDbg("bcpup %d\n", bcpup); + if (!err) { + if (!dentry->d_inode) + au_set_h_dptr(dentry, bstart, NULL); + au_update_dbrange(dentry, /*do_put_zero*/0); + } + } + + if (!add_entry) + di_write_unlock(parent); + if (!err) + err = bcpup; /* success */ + + AuTraceErr(err); + return err; +} + +/* + * decide the branch and the parent dir where we will create a new entry. + * returns new bindex or an error. + * copyup the parent dir if needed. + */ +int au_wr_dir(struct dentry *dentry, struct dentry *src_dentry, + struct au_wr_dir_args *args) +{ + int err; + aufs_bindex_t bcpup, bstart, src_bstart; + const unsigned char add_entry = !!au_ftest_wrdir(args->flags, + ADD_ENTRY); + struct super_block *sb; + struct dentry *parent; + struct au_sbinfo *sbinfo; + + sb = dentry->d_sb; + sbinfo = au_sbi(sb); + parent = dget_parent(dentry); + bstart = au_dbstart(dentry); + bcpup = bstart; + if (args->force_btgt < 0) { + if (src_dentry) { + src_bstart = au_dbstart(src_dentry); + if (src_bstart < bstart) + bcpup = src_bstart; + } else if (add_entry) { + err = AuWbrCreate(sbinfo, dentry, + au_ftest_wrdir(args->flags, ISDIR)); + bcpup = err; + } + + if (bcpup < 0 || au_test_ro(sb, bcpup, dentry->d_inode)) { + if (add_entry) + err = AuWbrCopyup(sbinfo, dentry); + else { + if (!IS_ROOT(dentry)) { + di_read_lock_parent(parent, !AuLock_IR); + err = AuWbrCopyup(sbinfo, dentry); + di_read_unlock(parent, !AuLock_IR); + } else + err = AuWbrCopyup(sbinfo, dentry); + } + bcpup = err; + if (unlikely(err < 0)) + goto out; + } + } else { + bcpup = args->force_btgt; + AuDebugOn(au_test_ro(sb, bcpup, dentry->d_inode)); + } + + AuDbg("bstart %d, bcpup %d\n", bstart, bcpup); + err = bcpup; + if (bcpup == bstart) + goto out; /* success */ + + /* copyup the new parent into the branch we process */ + err = au_wr_dir_cpup(dentry, parent, add_entry, bcpup, bstart); + if (err >= 0) { + if (!dentry->d_inode) { + au_set_h_dptr(dentry, bstart, NULL); + au_set_dbstart(dentry, bcpup); + au_set_dbend(dentry, bcpup); + } + AuDebugOn(add_entry && !au_h_dptr(dentry, bcpup)); + } + +out: + dput(parent); + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct dentry *au_pinned_h_parent(struct au_pin *pin) +{ + if (pin && pin->parent) + return au_h_dptr(pin->parent, pin->bindex); + return NULL; +} + +void au_unpin(struct au_pin *p) +{ + if (p->h_mnt && au_ftest_pin(p->flags, MNT_WRITE)) + mnt_drop_write(p->h_mnt); + if (!p->hdir) + return; + + au_hn_imtx_unlock(p->hdir); + if (!au_ftest_pin(p->flags, DI_LOCKED)) + di_read_unlock(p->parent, AuLock_IR); + iput(p->hdir->hi_inode); + dput(p->parent); + p->parent = NULL; + p->hdir = NULL; + p->h_mnt = NULL; +} + +int au_do_pin(struct au_pin *p) +{ + int err; + struct super_block *sb; + struct dentry *h_dentry, *h_parent; + struct au_branch *br; + struct inode *h_dir; + + err = 0; + sb = p->dentry->d_sb; + br = au_sbr(sb, p->bindex); + if (IS_ROOT(p->dentry)) { + if (au_ftest_pin(p->flags, MNT_WRITE)) { + p->h_mnt = br->br_mnt; + err = mnt_want_write(p->h_mnt); + if (unlikely(err)) { + au_fclr_pin(p->flags, MNT_WRITE); + goto out_err; + } + } + goto out; + } + + h_dentry = NULL; + if (p->bindex <= au_dbend(p->dentry)) + h_dentry = au_h_dptr(p->dentry, p->bindex); + + p->parent = dget_parent(p->dentry); + if (!au_ftest_pin(p->flags, DI_LOCKED)) + di_read_lock(p->parent, AuLock_IR, p->lsc_di); + + h_dir = NULL; + h_parent = au_h_dptr(p->parent, p->bindex); + p->hdir = au_hi(p->parent->d_inode, p->bindex); + if (p->hdir) + h_dir = p->hdir->hi_inode; + + /* + * udba case, or + * if DI_LOCKED is not set, then p->parent may be different + * and h_parent can be NULL. + */ + if (unlikely(!p->hdir || !h_dir || !h_parent)) { + err = -EBUSY; + if (!au_ftest_pin(p->flags, DI_LOCKED)) + di_read_unlock(p->parent, AuLock_IR); + dput(p->parent); + p->parent = NULL; + goto out_err; + } + + au_igrab(h_dir); + au_hn_imtx_lock_nested(p->hdir, p->lsc_hi); + + if (unlikely(p->hdir->hi_inode != h_parent->d_inode)) { + err = -EBUSY; + goto out_unpin; + } + if (h_dentry) { + err = au_h_verify(h_dentry, p->udba, h_dir, h_parent, br); + if (unlikely(err)) { + au_fclr_pin(p->flags, MNT_WRITE); + goto out_unpin; + } + } + + if (au_ftest_pin(p->flags, MNT_WRITE)) { + p->h_mnt = br->br_mnt; + err = mnt_want_write(p->h_mnt); + if (unlikely(err)) { + au_fclr_pin(p->flags, MNT_WRITE); + goto out_unpin; + } + } + goto out; /* success */ + +out_unpin: + au_unpin(p); +out_err: + pr_err("err %d\n", err); + err = au_busy_or_stale(); +out: + return err; +} + +void au_pin_init(struct au_pin *p, struct dentry *dentry, + aufs_bindex_t bindex, int lsc_di, int lsc_hi, + unsigned int udba, unsigned char flags) +{ + p->dentry = dentry; + p->udba = udba; + p->lsc_di = lsc_di; + p->lsc_hi = lsc_hi; + p->flags = flags; + p->bindex = bindex; + + p->parent = NULL; + p->hdir = NULL; + p->h_mnt = NULL; +} + +int au_pin(struct au_pin *pin, struct dentry *dentry, aufs_bindex_t bindex, + unsigned int udba, unsigned char flags) +{ + au_pin_init(pin, dentry, bindex, AuLsc_DI_PARENT, AuLsc_I_PARENT2, + udba, flags); + return au_do_pin(pin); +} + +/* ---------------------------------------------------------------------- */ + +/* + * ->setattr() and ->getattr() are called in various cases. + * chmod, stat: dentry is revalidated. + * fchmod, fstat: file and dentry are not revalidated, additionally they may be + * unhashed. + * for ->setattr(), ia->ia_file is passed from ftruncate only. + */ +/* todo: consolidate with do_refresh() and simple_reval_dpath() */ +static int au_reval_for_attr(struct dentry *dentry, unsigned int sigen) +{ + int err; + struct inode *inode; + struct dentry *parent; + + err = 0; + inode = dentry->d_inode; + if (au_digen_test(dentry, sigen)) { + parent = dget_parent(dentry); + di_read_lock_parent(parent, AuLock_IR); + err = au_refresh_dentry(dentry, parent); + di_read_unlock(parent, AuLock_IR); + dput(parent); + } + + AuTraceErr(err); + return err; +} + +#define AuIcpup_DID_CPUP 1 +#define au_ftest_icpup(flags, name) ((flags) & AuIcpup_##name) +#define au_fset_icpup(flags, name) \ + do { (flags) |= AuIcpup_##name; } while (0) +#define au_fclr_icpup(flags, name) \ + do { (flags) &= ~AuIcpup_##name; } while (0) + +struct au_icpup_args { + unsigned char flags; + unsigned char pin_flags; + aufs_bindex_t btgt; + unsigned int udba; + struct au_pin pin; + struct path h_path; + struct inode *h_inode; +}; + +static int au_pin_and_icpup(struct dentry *dentry, struct iattr *ia, + struct au_icpup_args *a) +{ + int err; + loff_t sz; + aufs_bindex_t bstart, ibstart; + struct dentry *hi_wh, *parent; + struct inode *inode; + struct file *h_file; + struct au_wr_dir_args wr_dir_args = { + .force_btgt = -1, + .flags = 0 + }; + + bstart = au_dbstart(dentry); + inode = dentry->d_inode; + if (S_ISDIR(inode->i_mode)) + au_fset_wrdir(wr_dir_args.flags, ISDIR); + /* plink or hi_wh() case */ + ibstart = au_ibstart(inode); + if (bstart != ibstart && !au_test_ro(inode->i_sb, ibstart, inode)) + wr_dir_args.force_btgt = ibstart; + err = au_wr_dir(dentry, /*src_dentry*/NULL, &wr_dir_args); + if (unlikely(err < 0)) + goto out; + a->btgt = err; + if (err != bstart) + au_fset_icpup(a->flags, DID_CPUP); + + err = 0; + a->pin_flags = AuPin_MNT_WRITE; + parent = NULL; + if (!IS_ROOT(dentry)) { + au_fset_pin(a->pin_flags, DI_LOCKED); + parent = dget_parent(dentry); + di_write_lock_parent(parent); + } + + err = au_pin(&a->pin, dentry, a->btgt, a->udba, a->pin_flags); + if (unlikely(err)) + goto out_parent; + + a->h_path.dentry = au_h_dptr(dentry, bstart); + a->h_inode = a->h_path.dentry->d_inode; + mutex_lock_nested(&a->h_inode->i_mutex, AuLsc_I_CHILD); + sz = -1; + if ((ia->ia_valid & ATTR_SIZE) && ia->ia_size < i_size_read(a->h_inode)) + sz = ia->ia_size; + + h_file = NULL; + hi_wh = NULL; + if (au_ftest_icpup(a->flags, DID_CPUP) && d_unlinked(dentry)) { + hi_wh = au_hi_wh(inode, a->btgt); + if (!hi_wh) { + err = au_sio_cpup_wh(dentry, a->btgt, sz, /*file*/NULL); + if (unlikely(err)) + goto out_unlock; + hi_wh = au_hi_wh(inode, a->btgt); + /* todo: revalidate hi_wh? */ + } + } + + if (parent) { + au_pin_set_parent_lflag(&a->pin, /*lflag*/0); + di_downgrade_lock(parent, AuLock_IR); + dput(parent); + parent = NULL; + } + if (!au_ftest_icpup(a->flags, DID_CPUP)) + goto out; /* success */ + + if (!d_unhashed(dentry)) { + h_file = au_h_open_pre(dentry, bstart); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + h_file = NULL; + } else + err = au_sio_cpup_simple(dentry, a->btgt, sz, + AuCpup_DTIME); + if (!err) + a->h_path.dentry = au_h_dptr(dentry, a->btgt); + } else if (!hi_wh) + a->h_path.dentry = au_h_dptr(dentry, a->btgt); + else + a->h_path.dentry = hi_wh; /* do not dget here */ + +out_unlock: + mutex_unlock(&a->h_inode->i_mutex); + au_h_open_post(dentry, bstart, h_file); + a->h_inode = a->h_path.dentry->d_inode; + if (!err) { + mutex_lock_nested(&a->h_inode->i_mutex, AuLsc_I_CHILD); + goto out; /* success */ + } + + au_unpin(&a->pin); +out_parent: + if (parent) { + di_write_unlock(parent); + dput(parent); + } +out: + return err; +} + +static int aufs_setattr(struct dentry *dentry, struct iattr *ia) +{ + int err; + struct inode *inode; + struct super_block *sb; + struct file *file; + struct au_icpup_args *a; + + inode = dentry->d_inode; + IMustLock(inode); + + err = -ENOMEM; + a = kzalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + if (ia->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID)) + ia->ia_valid &= ~ATTR_MODE; + + file = NULL; + sb = dentry->d_sb; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out_kfree; + + if (ia->ia_valid & ATTR_FILE) { + /* currently ftruncate(2) only */ + AuDebugOn(!S_ISREG(inode->i_mode)); + file = ia->ia_file; + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1); + if (unlikely(err)) + goto out_si; + ia->ia_file = au_hf_top(file); + a->udba = AuOpt_UDBA_NONE; + } else { + /* fchmod() doesn't pass ia_file */ + a->udba = au_opt_udba(sb); + di_write_lock_child(dentry); + /* no d_unlinked(), to set UDBA_NONE for root */ + if (d_unhashed(dentry)) + a->udba = AuOpt_UDBA_NONE; + if (a->udba != AuOpt_UDBA_NONE) { + AuDebugOn(IS_ROOT(dentry)); + err = au_reval_for_attr(dentry, au_sigen(sb)); + if (unlikely(err)) + goto out_dentry; + } + } + + err = au_pin_and_icpup(dentry, ia, a); + if (unlikely(err < 0)) + goto out_dentry; + if (au_ftest_icpup(a->flags, DID_CPUP)) { + ia->ia_file = NULL; + ia->ia_valid &= ~ATTR_FILE; + } + + a->h_path.mnt = au_sbr_mnt(sb, a->btgt); + if ((ia->ia_valid & (ATTR_MODE | ATTR_CTIME)) + == (ATTR_MODE | ATTR_CTIME)) { + err = security_path_chmod(&a->h_path, ia->ia_mode); + if (unlikely(err)) + goto out_unlock; + } else if ((ia->ia_valid & (ATTR_UID | ATTR_GID)) + && (ia->ia_valid & ATTR_CTIME)) { + err = security_path_chown(&a->h_path, vfsub_ia_uid(ia), + vfsub_ia_gid(ia)); + if (unlikely(err)) + goto out_unlock; + } + + if (ia->ia_valid & ATTR_SIZE) { + struct file *f; + + if (ia->ia_size < i_size_read(inode)) + /* unmap only */ + truncate_setsize(inode, ia->ia_size); + + f = NULL; + if (ia->ia_valid & ATTR_FILE) + f = ia->ia_file; + mutex_unlock(&a->h_inode->i_mutex); + err = vfsub_trunc(&a->h_path, ia->ia_size, ia->ia_valid, f); + mutex_lock_nested(&a->h_inode->i_mutex, AuLsc_I_CHILD); + } else + err = vfsub_notify_change(&a->h_path, ia); + if (!err) + au_cpup_attr_changeable(inode); + +out_unlock: + mutex_unlock(&a->h_inode->i_mutex); + au_unpin(&a->pin); + if (unlikely(err)) + au_update_dbstart(dentry); +out_dentry: + di_write_unlock(dentry); + if (file) { + fi_write_unlock(file); + ia->ia_file = file; + ia->ia_valid |= ATTR_FILE; + } +out_si: + si_read_unlock(sb); +out_kfree: + kfree(a); +out: + AuTraceErr(err); + return err; +} + +static void au_refresh_iattr(struct inode *inode, struct kstat *st, + unsigned int nlink) +{ + unsigned int n; + + inode->i_mode = st->mode; + i_uid_write(inode, st->uid); + i_gid_write(inode, st->gid); + inode->i_atime = st->atime; + inode->i_mtime = st->mtime; + inode->i_ctime = st->ctime; + + au_cpup_attr_nlink(inode, /*force*/0); + if (S_ISDIR(inode->i_mode)) { + n = inode->i_nlink; + n -= nlink; + n += st->nlink; + /* 0 can happen */ + set_nlink(inode, n); + } + + spin_lock(&inode->i_lock); + inode->i_blocks = st->blocks; + i_size_write(inode, st->size); + spin_unlock(&inode->i_lock); +} + +static int aufs_getattr(struct vfsmount *mnt __maybe_unused, + struct dentry *dentry, struct kstat *st) +{ + int err; + unsigned int mnt_flags; + aufs_bindex_t bindex; + unsigned char udba_none, positive; + struct super_block *sb, *h_sb; + struct inode *inode; + struct vfsmount *h_mnt; + struct dentry *h_dentry; + + sb = dentry->d_sb; + inode = dentry->d_inode; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out; + mnt_flags = au_mntflags(sb); + udba_none = !!au_opt_test(mnt_flags, UDBA_NONE); + + /* support fstat(2) */ + if (!d_unlinked(dentry) && !udba_none) { + unsigned int sigen = au_sigen(sb); + err = au_digen_test(dentry, sigen); + if (!err) { + di_read_lock_child(dentry, AuLock_IR); + err = au_dbrange_test(dentry); + if (unlikely(err)) + goto out_unlock; + } else { + AuDebugOn(IS_ROOT(dentry)); + di_write_lock_child(dentry); + err = au_dbrange_test(dentry); + if (!err) + err = au_reval_for_attr(dentry, sigen); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) + goto out_unlock; + } + } else + di_read_lock_child(dentry, AuLock_IR); + + bindex = au_ibstart(inode); + h_mnt = au_sbr_mnt(sb, bindex); + h_sb = h_mnt->mnt_sb; + if (!au_test_fs_bad_iattr(h_sb) && udba_none) + goto out_fill; /* success */ + + h_dentry = NULL; + if (au_dbstart(dentry) == bindex) + h_dentry = dget(au_h_dptr(dentry, bindex)); + else if (au_opt_test(mnt_flags, PLINK) && au_plink_test(inode)) { + h_dentry = au_plink_lkup(inode, bindex); + if (IS_ERR(h_dentry)) + goto out_fill; /* pretending success */ + } + /* illegally overlapped or something */ + if (unlikely(!h_dentry)) + goto out_fill; /* pretending success */ + + positive = !!h_dentry->d_inode; + if (positive) + err = vfs_getattr(h_mnt, h_dentry, st); + dput(h_dentry); + if (!err) { + if (positive) + au_refresh_iattr(inode, st, h_dentry->d_inode->i_nlink); + goto out_fill; /* success */ + } + AuTraceErr(err); + goto out_unlock; + +out_fill: + generic_fillattr(inode, st); +out_unlock: + di_read_unlock(dentry, AuLock_IR); + si_read_unlock(sb); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int h_readlink(struct dentry *dentry, int bindex, char __user *buf, + int bufsiz) +{ + int err; + struct super_block *sb; + struct dentry *h_dentry; + + err = -EINVAL; + h_dentry = au_h_dptr(dentry, bindex); + if (unlikely(!h_dentry->d_inode->i_op->readlink)) + goto out; + + err = security_inode_readlink(h_dentry); + if (unlikely(err)) + goto out; + + sb = dentry->d_sb; + if (!au_test_ro(sb, bindex, dentry->d_inode)) { + vfsub_touch_atime(au_sbr_mnt(sb, bindex), h_dentry); + fsstack_copy_attr_atime(dentry->d_inode, h_dentry->d_inode); + } + err = h_dentry->d_inode->i_op->readlink(h_dentry, buf, bufsiz); + +out: + return err; +} + +static int aufs_readlink(struct dentry *dentry, char __user *buf, int bufsiz) +{ + int err; + + err = aufs_read_lock(dentry, AuLock_IR | AuLock_GEN); + if (unlikely(err)) + goto out; + err = au_d_hashed_positive(dentry); + if (!err) + err = h_readlink(dentry, au_dbstart(dentry), buf, bufsiz); + aufs_read_unlock(dentry, AuLock_IR); + +out: + return err; +} + +static void *aufs_follow_link(struct dentry *dentry, struct nameidata *nd) +{ + int err; + mm_segment_t old_fs; + union { + char *k; + char __user *u; + } buf; + + err = -ENOMEM; + buf.k = __getname_gfp(GFP_NOFS); + if (unlikely(!buf.k)) + goto out; + + err = aufs_read_lock(dentry, AuLock_IR | AuLock_GEN); + if (unlikely(err)) + goto out_name; + + err = au_d_hashed_positive(dentry); + if (!err) { + old_fs = get_fs(); + set_fs(KERNEL_DS); + err = h_readlink(dentry, au_dbstart(dentry), buf.u, PATH_MAX); + set_fs(old_fs); + } + aufs_read_unlock(dentry, AuLock_IR); + + if (err >= 0) { + buf.k[err] = 0; + /* will be freed by put_link */ + nd_set_link(nd, buf.k); + return NULL; /* success */ + } + +out_name: + __putname(buf.k); +out: + path_put(&nd->path); + AuTraceErr(err); + return ERR_PTR(err); +} + +static void aufs_put_link(struct dentry *dentry __maybe_unused, + struct nameidata *nd, void *cookie __maybe_unused) +{ + __putname(nd_get_link(nd)); +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_update_time(struct inode *inode, struct timespec *ts, int flags) +{ + int err; + struct super_block *sb; + struct inode *h_inode; + + sb = inode->i_sb; + /* mmap_sem might be acquired already, cf. aufs_mmap() */ + lockdep_off(); + si_read_lock(sb, AuLock_FLUSH); + ii_write_lock_child(inode); + lockdep_on(); + h_inode = au_h_iptr(inode, au_ibstart(inode)); + err = vfsub_update_time(h_inode, ts, flags); + lockdep_off(); + ii_write_unlock(inode); + si_read_unlock(sb); + lockdep_on(); + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct inode_operations aufs_symlink_iop = { + .permission = aufs_permission, + .setattr = aufs_setattr, + .getattr = aufs_getattr, + + .readlink = aufs_readlink, + .follow_link = aufs_follow_link, + .put_link = aufs_put_link, + + /* .update_time = aufs_update_time */ +}; + +struct inode_operations aufs_dir_iop = { + .create = aufs_create, + .lookup = aufs_lookup, + .link = aufs_link, + .unlink = aufs_unlink, + .symlink = aufs_symlink, + .mkdir = aufs_mkdir, + .rmdir = aufs_rmdir, + .mknod = aufs_mknod, + .rename = aufs_rename, + + .permission = aufs_permission, + .setattr = aufs_setattr, + .getattr = aufs_getattr, + + .update_time = aufs_update_time +}; + +struct inode_operations aufs_iop = { + .permission = aufs_permission, + .setattr = aufs_setattr, + .getattr = aufs_getattr, + + .update_time = aufs_update_time +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/i_op_add.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/i_op_add.c @@ -0,0 +1,712 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * inode operations (add entry) + */ + +#include "aufs.h" + +/* + * final procedure of adding a new entry, except link(2). + * remove whiteout, instantiate, copyup the parent dir's times and size + * and update version. + * if it failed, re-create the removed whiteout. + */ +static int epilog(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct dentry *dentry) +{ + int err, rerr; + aufs_bindex_t bwh; + struct path h_path; + struct inode *inode, *h_dir; + struct dentry *wh; + + bwh = -1; + if (wh_dentry) { + h_dir = wh_dentry->d_parent->d_inode; /* dir inode is locked */ + IMustLock(h_dir); + AuDebugOn(au_h_iptr(dir, bindex) != h_dir); + bwh = au_dbwh(dentry); + h_path.dentry = wh_dentry; + h_path.mnt = au_sbr_mnt(dir->i_sb, bindex); + err = au_wh_unlink_dentry(au_h_iptr(dir, bindex), &h_path, + dentry); + if (unlikely(err)) + goto out; + } + + inode = au_new_inode(dentry, /*must_new*/1); + if (!IS_ERR(inode)) { + d_instantiate(dentry, inode); + dir = dentry->d_parent->d_inode; /* dir inode is locked */ + IMustLock(dir); + if (au_ibstart(dir) == au_dbstart(dentry)) + au_cpup_attr_timesizes(dir); + dir->i_version++; + return 0; /* success */ + } + + err = PTR_ERR(inode); + if (!wh_dentry) + goto out; + + /* revert */ + /* dir inode is locked */ + wh = au_wh_create(dentry, bwh, wh_dentry->d_parent); + rerr = PTR_ERR(wh); + if (IS_ERR(wh)) { + AuIOErr("%.*s reverting whiteout failed(%d, %d)\n", + AuDLNPair(dentry), err, rerr); + err = -EIO; + } else + dput(wh); + +out: + return err; +} + +static int au_d_may_add(struct dentry *dentry) +{ + int err; + + err = 0; + if (unlikely(d_unhashed(dentry))) + err = -ENOENT; + if (unlikely(dentry->d_inode)) + err = -EEXIST; + return err; +} + +/* + * simple tests for the adding inode operations. + * following the checks in vfs, plus the parent-child relationship. + */ +int au_may_add(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir) +{ + int err; + umode_t h_mode; + struct dentry *h_dentry; + struct inode *h_inode; + + err = -ENAMETOOLONG; + if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN)) + goto out; + + h_dentry = au_h_dptr(dentry, bindex); + h_inode = h_dentry->d_inode; + if (!dentry->d_inode) { + err = -EEXIST; + if (unlikely(h_inode)) + goto out; + } else { + /* rename(2) case */ + err = -EIO; + if (unlikely(!h_inode || !h_inode->i_nlink)) + goto out; + + h_mode = h_inode->i_mode; + if (!isdir) { + err = -EISDIR; + if (unlikely(S_ISDIR(h_mode))) + goto out; + } else if (unlikely(!S_ISDIR(h_mode))) { + err = -ENOTDIR; + goto out; + } + } + + err = 0; + /* expected parent dir is locked */ + if (unlikely(h_parent != h_dentry->d_parent)) + err = -EIO; + +out: + AuTraceErr(err); + return err; +} + +/* + * initial procedure of adding a new entry. + * prepare writable branch and the parent dir, lock it, + * and lookup whiteout for the new entry. + */ +static struct dentry* +lock_hdir_lkup_wh(struct dentry *dentry, struct au_dtime *dt, + struct dentry *src_dentry, struct au_pin *pin, + struct au_wr_dir_args *wr_dir_args) +{ + struct dentry *wh_dentry, *h_parent; + struct super_block *sb; + struct au_branch *br; + int err; + unsigned int udba; + aufs_bindex_t bcpup; + + AuDbg("%.*s\n", AuDLNPair(dentry)); + + err = au_wr_dir(dentry, src_dentry, wr_dir_args); + bcpup = err; + wh_dentry = ERR_PTR(err); + if (unlikely(err < 0)) + goto out; + + sb = dentry->d_sb; + udba = au_opt_udba(sb); + err = au_pin(pin, dentry, bcpup, udba, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out; + + h_parent = au_pinned_h_parent(pin); + if (udba != AuOpt_UDBA_NONE + && au_dbstart(dentry) == bcpup) + err = au_may_add(dentry, bcpup, h_parent, + au_ftest_wrdir(wr_dir_args->flags, ISDIR)); + else if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN)) + err = -ENAMETOOLONG; + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_unpin; + + br = au_sbr(sb, bcpup); + if (dt) { + struct path tmp = { + .dentry = h_parent, + .mnt = br->br_mnt + }; + au_dtime_store(dt, au_pinned_parent(pin), &tmp); + } + + wh_dentry = NULL; + if (bcpup != au_dbwh(dentry)) + goto out; /* success */ + + wh_dentry = au_wh_lkup(h_parent, &dentry->d_name, br); + +out_unpin: + if (IS_ERR(wh_dentry)) + au_unpin(pin); +out: + return wh_dentry; +} + +/* ---------------------------------------------------------------------- */ + +enum { Mknod, Symlink, Creat }; +struct simple_arg { + int type; + union { + struct { + umode_t mode; + struct nameidata *nd; + } c; + struct { + const char *symname; + } s; + struct { + umode_t mode; + dev_t dev; + } m; + } u; +}; + +static int add_simple(struct inode *dir, struct dentry *dentry, + struct simple_arg *arg) +{ + int err; + aufs_bindex_t bstart; + unsigned char created; + struct au_dtime dt; + struct au_pin pin; + struct path h_path; + struct dentry *wh_dentry, *parent; + struct inode *h_dir; + struct au_wr_dir_args wr_dir_args = { + .force_btgt = -1, + .flags = AuWrDir_ADD_ENTRY + }; + + AuDbg("%.*s\n", AuDLNPair(dentry)); + IMustLock(dir); + + parent = dentry->d_parent; /* dir inode is locked */ + err = aufs_read_lock(dentry, AuLock_DW | AuLock_GEN); + if (unlikely(err)) + goto out; + err = au_d_may_add(dentry); + if (unlikely(err)) + goto out_unlock; + di_write_lock_parent(parent); + wh_dentry = lock_hdir_lkup_wh(dentry, &dt, /*src_dentry*/NULL, &pin, + &wr_dir_args); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + bstart = au_dbstart(dentry); + h_path.dentry = au_h_dptr(dentry, bstart); + h_path.mnt = au_sbr_mnt(dentry->d_sb, bstart); + h_dir = au_pinned_h_dir(&pin); + switch (arg->type) { + case Creat: + err = vfsub_create(h_dir, &h_path, arg->u.c.mode); + break; + case Symlink: + err = vfsub_symlink(h_dir, &h_path, arg->u.s.symname); + break; + case Mknod: + err = vfsub_mknod(h_dir, &h_path, arg->u.m.mode, arg->u.m.dev); + break; + default: + BUG(); + } + created = !err; + if (!err) + err = epilog(dir, bstart, wh_dentry, dentry); + + /* revert */ + if (unlikely(created && err && h_path.dentry->d_inode)) { + int rerr; + rerr = vfsub_unlink(h_dir, &h_path, /*force*/0); + if (rerr) { + AuIOErr("%.*s revert failure(%d, %d)\n", + AuDLNPair(dentry), err, rerr); + err = -EIO; + } + au_dtime_revert(&dt); + } + + au_unpin(&pin); + dput(wh_dentry); + +out_parent: + di_write_unlock(parent); +out_unlock: + if (unlikely(err)) { + au_update_dbstart(dentry); + d_drop(dentry); + } + aufs_read_unlock(dentry, AuLock_DW); +out: + return err; +} + +int aufs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, + dev_t dev) +{ + struct simple_arg arg = { + .type = Mknod, + .u.m = { + .mode = mode, + .dev = dev + } + }; + return add_simple(dir, dentry, &arg); +} + +int aufs_symlink(struct inode *dir, struct dentry *dentry, const char *symname) +{ + struct simple_arg arg = { + .type = Symlink, + .u.s.symname = symname + }; + return add_simple(dir, dentry, &arg); +} + +int aufs_create(struct inode *dir, struct dentry *dentry, umode_t mode, + struct nameidata *nd) +{ + struct simple_arg arg = { + .type = Creat, + .u.c = { + .mode = mode, + .nd = nd + } + }; + return add_simple(dir, dentry, &arg); +} + +/* ---------------------------------------------------------------------- */ + +struct au_link_args { + aufs_bindex_t bdst, bsrc; + struct au_pin pin; + struct path h_path; + struct dentry *src_parent, *parent; +}; + +static int au_cpup_before_link(struct dentry *src_dentry, + struct au_link_args *a) +{ + int err; + struct dentry *h_src_dentry; + struct mutex *h_mtx; + struct file *h_file; + + di_read_lock_parent(a->src_parent, AuLock_IR); + err = au_test_and_cpup_dirs(src_dentry, a->bdst); + if (unlikely(err)) + goto out; + + h_src_dentry = au_h_dptr(src_dentry, a->bsrc); + h_mtx = &h_src_dentry->d_inode->i_mutex; + err = au_pin(&a->pin, src_dentry, a->bdst, + au_opt_udba(src_dentry->d_sb), + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out; + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + h_file = au_h_open_pre(src_dentry, a->bsrc); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + h_file = NULL; + } else + err = au_sio_cpup_simple(src_dentry, a->bdst, -1, + AuCpup_DTIME /* | AuCpup_KEEPLINO */); + mutex_unlock(h_mtx); + au_h_open_post(src_dentry, a->bsrc, h_file); + au_unpin(&a->pin); + +out: + di_read_unlock(a->src_parent, AuLock_IR); + return err; +} + +static int au_cpup_or_link(struct dentry *src_dentry, struct au_link_args *a) +{ + int err; + unsigned char plink; + struct inode *h_inode, *inode; + struct dentry *h_src_dentry; + struct super_block *sb; + struct file *h_file; + + plink = 0; + h_inode = NULL; + sb = src_dentry->d_sb; + inode = src_dentry->d_inode; + if (au_ibstart(inode) <= a->bdst) + h_inode = au_h_iptr(inode, a->bdst); + if (!h_inode || !h_inode->i_nlink) { + /* copyup src_dentry as the name of dentry. */ + au_set_dbstart(src_dentry, a->bdst); + au_set_h_dptr(src_dentry, a->bdst, dget(a->h_path.dentry)); + h_inode = au_h_dptr(src_dentry, a->bsrc)->d_inode; + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + h_file = au_h_open_pre(src_dentry, a->bsrc); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + h_file = NULL; + } else + err = au_sio_cpup_single(src_dentry, a->bdst, a->bsrc, + -1, AuCpup_KEEPLINO, + a->parent); + mutex_unlock(&h_inode->i_mutex); + au_h_open_post(src_dentry, a->bsrc, h_file); + au_set_h_dptr(src_dentry, a->bdst, NULL); + au_set_dbstart(src_dentry, a->bsrc); + } else { + /* the inode of src_dentry already exists on a.bdst branch */ + h_src_dentry = d_find_alias(h_inode); + if (!h_src_dentry && au_plink_test(inode)) { + plink = 1; + h_src_dentry = au_plink_lkup(inode, a->bdst); + err = PTR_ERR(h_src_dentry); + if (IS_ERR(h_src_dentry)) + goto out; + + if (unlikely(!h_src_dentry->d_inode)) { + dput(h_src_dentry); + h_src_dentry = NULL; + } + + } + if (h_src_dentry) { + err = vfsub_link(h_src_dentry, au_pinned_h_dir(&a->pin), + &a->h_path); + dput(h_src_dentry); + } else { + AuIOErr("no dentry found for hi%lu on b%d\n", + h_inode->i_ino, a->bdst); + err = -EIO; + } + } + + if (!err && !plink) + au_plink_append(inode, a->bdst, a->h_path.dentry); + +out: + AuTraceErr(err); + return err; +} + +int aufs_link(struct dentry *src_dentry, struct inode *dir, + struct dentry *dentry) +{ + int err, rerr; + struct au_dtime dt; + struct au_link_args *a; + struct dentry *wh_dentry, *h_src_dentry; + struct inode *inode; + struct super_block *sb; + struct au_wr_dir_args wr_dir_args = { + /* .force_btgt = -1, */ + .flags = AuWrDir_ADD_ENTRY + }; + + IMustLock(dir); + inode = src_dentry->d_inode; + IMustLock(inode); + + err = -ENOMEM; + a = kzalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + a->parent = dentry->d_parent; /* dir inode is locked */ + err = aufs_read_and_write_lock2(dentry, src_dentry, + AuLock_NOPLM | AuLock_GEN); + if (unlikely(err)) + goto out_kfree; + err = au_d_hashed_positive(src_dentry); + if (unlikely(err)) + goto out_unlock; + err = au_d_may_add(dentry); + if (unlikely(err)) + goto out_unlock; + + a->src_parent = dget_parent(src_dentry); + wr_dir_args.force_btgt = au_ibstart(inode); + + di_write_lock_parent(a->parent); + wr_dir_args.force_btgt = au_wbr(dentry, wr_dir_args.force_btgt); + wh_dentry = lock_hdir_lkup_wh(dentry, &dt, src_dentry, &a->pin, + &wr_dir_args); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + err = 0; + sb = dentry->d_sb; + a->bdst = au_dbstart(dentry); + a->h_path.dentry = au_h_dptr(dentry, a->bdst); + a->h_path.mnt = au_sbr_mnt(sb, a->bdst); + a->bsrc = au_ibstart(inode); + h_src_dentry = au_h_d_alias(src_dentry, a->bsrc); + if (!h_src_dentry) { + a->bsrc = au_dbstart(src_dentry); + h_src_dentry = au_h_d_alias(src_dentry, a->bsrc); + AuDebugOn(!h_src_dentry); + } else if (IS_ERR(h_src_dentry)) + goto out_parent; + + if (au_opt_test(au_mntflags(sb), PLINK)) { + if (a->bdst < a->bsrc + /* && h_src_dentry->d_sb != a->h_path.dentry->d_sb */) + err = au_cpup_or_link(src_dentry, a); + else + err = vfsub_link(h_src_dentry, au_pinned_h_dir(&a->pin), + &a->h_path); + dput(h_src_dentry); + } else { + /* + * copyup src_dentry to the branch we process, + * and then link(2) to it. + */ + dput(h_src_dentry); + if (a->bdst < a->bsrc + /* && h_src_dentry->d_sb != a->h_path.dentry->d_sb */) { + au_unpin(&a->pin); + di_write_unlock(a->parent); + err = au_cpup_before_link(src_dentry, a); + di_write_lock_parent(a->parent); + if (!err) + err = au_pin(&a->pin, dentry, a->bdst, + au_opt_udba(sb), + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out_wh; + } + if (!err) { + h_src_dentry = au_h_dptr(src_dentry, a->bdst); + err = -ENOENT; + if (h_src_dentry && h_src_dentry->d_inode) + err = vfsub_link(h_src_dentry, + au_pinned_h_dir(&a->pin), + &a->h_path); + } + } + if (unlikely(err)) + goto out_unpin; + + if (wh_dentry) { + a->h_path.dentry = wh_dentry; + err = au_wh_unlink_dentry(au_pinned_h_dir(&a->pin), &a->h_path, + dentry); + if (unlikely(err)) + goto out_revert; + } + + dir->i_version++; + if (au_ibstart(dir) == au_dbstart(dentry)) + au_cpup_attr_timesizes(dir); + inc_nlink(inode); + inode->i_ctime = dir->i_ctime; + d_instantiate(dentry, au_igrab(inode)); + if (d_unhashed(a->h_path.dentry)) + /* some filesystem calls d_drop() */ + d_drop(dentry); + goto out_unpin; /* success */ + +out_revert: + rerr = vfsub_unlink(au_pinned_h_dir(&a->pin), &a->h_path, /*force*/0); + if (unlikely(rerr)) { + AuIOErr("%.*s reverting failed(%d, %d)\n", + AuDLNPair(dentry), err, rerr); + err = -EIO; + } + au_dtime_revert(&dt); +out_unpin: + au_unpin(&a->pin); +out_wh: + dput(wh_dentry); +out_parent: + di_write_unlock(a->parent); + dput(a->src_parent); +out_unlock: + if (unlikely(err)) { + au_update_dbstart(dentry); + d_drop(dentry); + } + aufs_read_and_write_unlock2(dentry, src_dentry); +out_kfree: + kfree(a); +out: + return err; +} + +int aufs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) +{ + int err, rerr; + aufs_bindex_t bindex; + unsigned char diropq; + struct path h_path; + struct dentry *wh_dentry, *parent, *opq_dentry; + struct mutex *h_mtx; + struct super_block *sb; + struct { + struct au_pin pin; + struct au_dtime dt; + } *a; /* reduce the stack usage */ + struct au_wr_dir_args wr_dir_args = { + .force_btgt = -1, + .flags = AuWrDir_ADD_ENTRY | AuWrDir_ISDIR + }; + + IMustLock(dir); + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + err = aufs_read_lock(dentry, AuLock_DW | AuLock_GEN); + if (unlikely(err)) + goto out_free; + err = au_d_may_add(dentry); + if (unlikely(err)) + goto out_unlock; + + parent = dentry->d_parent; /* dir inode is locked */ + di_write_lock_parent(parent); + wh_dentry = lock_hdir_lkup_wh(dentry, &a->dt, /*src_dentry*/NULL, + &a->pin, &wr_dir_args); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + sb = dentry->d_sb; + bindex = au_dbstart(dentry); + h_path.dentry = au_h_dptr(dentry, bindex); + h_path.mnt = au_sbr_mnt(sb, bindex); + err = vfsub_mkdir(au_pinned_h_dir(&a->pin), &h_path, mode); + if (unlikely(err)) + goto out_unpin; + + /* make the dir opaque */ + diropq = 0; + h_mtx = &h_path.dentry->d_inode->i_mutex; + if (wh_dentry + || au_opt_test(au_mntflags(sb), ALWAYS_DIROPQ)) { + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + opq_dentry = au_diropq_create(dentry, bindex); + mutex_unlock(h_mtx); + err = PTR_ERR(opq_dentry); + if (IS_ERR(opq_dentry)) + goto out_dir; + dput(opq_dentry); + diropq = 1; + } + + err = epilog(dir, bindex, wh_dentry, dentry); + if (!err) { + inc_nlink(dir); + goto out_unpin; /* success */ + } + + /* revert */ + if (diropq) { + AuLabel(revert opq); + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + rerr = au_diropq_remove(dentry, bindex); + mutex_unlock(h_mtx); + if (rerr) { + AuIOErr("%.*s reverting diropq failed(%d, %d)\n", + AuDLNPair(dentry), err, rerr); + err = -EIO; + } + } + +out_dir: + AuLabel(revert dir); + rerr = vfsub_rmdir(au_pinned_h_dir(&a->pin), &h_path); + if (rerr) { + AuIOErr("%.*s reverting dir failed(%d, %d)\n", + AuDLNPair(dentry), err, rerr); + err = -EIO; + } + au_dtime_revert(&a->dt); +out_unpin: + au_unpin(&a->pin); + dput(wh_dentry); +out_parent: + di_write_unlock(parent); +out_unlock: + if (unlikely(err)) { + au_update_dbstart(dentry); + d_drop(dentry); + } + aufs_read_unlock(dentry, AuLock_DW); +out_free: + kfree(a); +out: + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/i_op_del.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/i_op_del.c @@ -0,0 +1,478 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * inode operations (del entry) + */ + +#include "aufs.h" + +/* + * decide if a new whiteout for @dentry is necessary or not. + * when it is necessary, prepare the parent dir for the upper branch whose + * branch index is @bcpup for creation. the actual creation of the whiteout will + * be done by caller. + * return value: + * 0: wh is unnecessary + * plus: wh is necessary + * minus: error + */ +int au_wr_dir_need_wh(struct dentry *dentry, int isdir, aufs_bindex_t *bcpup) +{ + int need_wh, err; + aufs_bindex_t bstart; + struct super_block *sb; + + sb = dentry->d_sb; + bstart = au_dbstart(dentry); + if (*bcpup < 0) { + *bcpup = bstart; + if (au_test_ro(sb, bstart, dentry->d_inode)) { + err = AuWbrCopyup(au_sbi(sb), dentry); + *bcpup = err; + if (unlikely(err < 0)) + goto out; + } + } else + AuDebugOn(bstart < *bcpup + || au_test_ro(sb, *bcpup, dentry->d_inode)); + AuDbg("bcpup %d, bstart %d\n", *bcpup, bstart); + + if (*bcpup != bstart) { + err = au_cpup_dirs(dentry, *bcpup); + if (unlikely(err)) + goto out; + need_wh = 1; + } else { + struct au_dinfo *dinfo, *tmp; + + need_wh = -ENOMEM; + dinfo = au_di(dentry); + tmp = au_di_alloc(sb, AuLsc_DI_TMP); + if (tmp) { + au_di_cp(tmp, dinfo); + au_di_swap(tmp, dinfo); + /* returns the number of positive dentries */ + need_wh = au_lkup_dentry(dentry, bstart + 1, /*type*/0, + /*nd*/NULL); + au_di_swap(tmp, dinfo); + au_rw_write_unlock(&tmp->di_rwsem); + au_di_free(tmp); + } + } + AuDbg("need_wh %d\n", need_wh); + err = need_wh; + +out: + return err; +} + +/* + * simple tests for the del-entry operations. + * following the checks in vfs, plus the parent-child relationship. + */ +int au_may_del(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir) +{ + int err; + umode_t h_mode; + struct dentry *h_dentry, *h_latest; + struct inode *h_inode; + + h_dentry = au_h_dptr(dentry, bindex); + h_inode = h_dentry->d_inode; + if (dentry->d_inode) { + err = -ENOENT; + if (unlikely(!h_inode || !h_inode->i_nlink)) + goto out; + + h_mode = h_inode->i_mode; + if (!isdir) { + err = -EISDIR; + if (unlikely(S_ISDIR(h_mode))) + goto out; + } else if (unlikely(!S_ISDIR(h_mode))) { + err = -ENOTDIR; + goto out; + } + } else { + /* rename(2) case */ + err = -EIO; + if (unlikely(h_inode)) + goto out; + } + + err = -ENOENT; + /* expected parent dir is locked */ + if (unlikely(h_parent != h_dentry->d_parent)) + goto out; + err = 0; + + /* + * rmdir a dir may break the consistency on some filesystem. + * let's try heavy test. + */ + err = -EACCES; + if (unlikely(au_test_h_perm(h_parent->d_inode, MAY_EXEC | MAY_WRITE))) + goto out; + + h_latest = au_sio_lkup_one(&dentry->d_name, h_parent, + au_sbr(dentry->d_sb, bindex)); + err = -EIO; + if (IS_ERR(h_latest)) + goto out; + if (h_latest == h_dentry) + err = 0; + dput(h_latest); + +out: + return err; +} + +/* + * decide the branch where we operate for @dentry. the branch index will be set + * @rbcpup. after diciding it, 'pin' it and store the timestamps of the parent + * dir for reverting. + * when a new whiteout is necessary, create it. + */ +static struct dentry* +lock_hdir_create_wh(struct dentry *dentry, int isdir, aufs_bindex_t *rbcpup, + struct au_dtime *dt, struct au_pin *pin) +{ + struct dentry *wh_dentry; + struct super_block *sb; + struct path h_path; + int err, need_wh; + unsigned int udba; + aufs_bindex_t bcpup; + + need_wh = au_wr_dir_need_wh(dentry, isdir, rbcpup); + wh_dentry = ERR_PTR(need_wh); + if (unlikely(need_wh < 0)) + goto out; + + sb = dentry->d_sb; + udba = au_opt_udba(sb); + bcpup = *rbcpup; + err = au_pin(pin, dentry, bcpup, udba, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out; + + h_path.dentry = au_pinned_h_parent(pin); + if (udba != AuOpt_UDBA_NONE + && au_dbstart(dentry) == bcpup) { + err = au_may_del(dentry, bcpup, h_path.dentry, isdir); + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_unpin; + } + + h_path.mnt = au_sbr_mnt(sb, bcpup); + au_dtime_store(dt, au_pinned_parent(pin), &h_path); + wh_dentry = NULL; + if (!need_wh) + goto out; /* success, no need to create whiteout */ + + wh_dentry = au_wh_create(dentry, bcpup, h_path.dentry); + if (IS_ERR(wh_dentry)) + goto out_unpin; + + /* returns with the parent is locked and wh_dentry is dget-ed */ + goto out; /* success */ + +out_unpin: + au_unpin(pin); +out: + return wh_dentry; +} + +/* + * when removing a dir, rename it to a unique temporary whiteout-ed name first + * in order to be revertible and save time for removing many child whiteouts + * under the dir. + * returns 1 when there are too many child whiteout and caller should remove + * them asynchronously. returns 0 when the number of children is enough small to + * remove now or the branch fs is a remote fs. + * otherwise return an error. + */ +static int renwh_and_rmdir(struct dentry *dentry, aufs_bindex_t bindex, + struct au_nhash *whlist, struct inode *dir) +{ + int rmdir_later, err, dirwh; + struct dentry *h_dentry; + struct super_block *sb; + + sb = dentry->d_sb; + SiMustAnyLock(sb); + h_dentry = au_h_dptr(dentry, bindex); + err = au_whtmp_ren(h_dentry, au_sbr(sb, bindex)); + if (unlikely(err)) + goto out; + + /* stop monitoring */ + au_hn_free(au_hi(dentry->d_inode, bindex)); + + if (!au_test_fs_remote(h_dentry->d_sb)) { + dirwh = au_sbi(sb)->si_dirwh; + rmdir_later = (dirwh <= 1); + if (!rmdir_later) + rmdir_later = au_nhash_test_longer_wh(whlist, bindex, + dirwh); + if (rmdir_later) + return rmdir_later; + } + + err = au_whtmp_rmdir(dir, bindex, h_dentry, whlist); + if (unlikely(err)) { + AuIOErr("rmdir %.*s, b%d failed, %d. ignored\n", + AuDLNPair(h_dentry), bindex, err); + err = 0; + } + +out: + AuTraceErr(err); + return err; +} + +/* + * final procedure for deleting a entry. + * maintain dentry and iattr. + */ +static void epilog(struct inode *dir, struct dentry *dentry, + aufs_bindex_t bindex) +{ + struct inode *inode; + + inode = dentry->d_inode; + d_drop(dentry); + inode->i_ctime = dir->i_ctime; + + if (au_ibstart(dir) == bindex) + au_cpup_attr_timesizes(dir); + dir->i_version++; +} + +/* + * when an error happened, remove the created whiteout and revert everything. + */ +static int do_revert(int err, struct inode *dir, aufs_bindex_t bindex, + aufs_bindex_t bwh, struct dentry *wh_dentry, + struct dentry *dentry, struct au_dtime *dt) +{ + int rerr; + struct path h_path = { + .dentry = wh_dentry, + .mnt = au_sbr_mnt(dir->i_sb, bindex) + }; + + rerr = au_wh_unlink_dentry(au_h_iptr(dir, bindex), &h_path, dentry); + if (!rerr) { + au_set_dbwh(dentry, bwh); + au_dtime_revert(dt); + return 0; + } + + AuIOErr("%.*s reverting whiteout failed(%d, %d)\n", + AuDLNPair(dentry), err, rerr); + return -EIO; +} + +/* ---------------------------------------------------------------------- */ + +int aufs_unlink(struct inode *dir, struct dentry *dentry) +{ + int err; + aufs_bindex_t bwh, bindex, bstart; + struct au_dtime dt; + struct au_pin pin; + struct path h_path; + struct inode *inode, *h_dir; + struct dentry *parent, *wh_dentry; + + IMustLock(dir); + + err = aufs_read_lock(dentry, AuLock_DW | AuLock_GEN); + if (unlikely(err)) + goto out; + err = au_d_hashed_positive(dentry); + if (unlikely(err)) + goto out_unlock; + inode = dentry->d_inode; + IMustLock(inode); + err = -EISDIR; + if (unlikely(S_ISDIR(inode->i_mode))) + goto out_unlock; /* possible? */ + + bstart = au_dbstart(dentry); + bwh = au_dbwh(dentry); + bindex = -1; + parent = dentry->d_parent; /* dir inode is locked */ + di_write_lock_parent(parent); + wh_dentry = lock_hdir_create_wh(dentry, /*isdir*/0, &bindex, &dt, &pin); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + h_path.mnt = au_sbr_mnt(dentry->d_sb, bstart); + h_path.dentry = au_h_dptr(dentry, bstart); + dget(h_path.dentry); + if (bindex == bstart) { + h_dir = au_pinned_h_dir(&pin); + err = vfsub_unlink(h_dir, &h_path, /*force*/0); + } else { + /* dir inode is locked */ + h_dir = wh_dentry->d_parent->d_inode; + IMustLock(h_dir); + err = 0; + } + + if (!err) { + vfsub_drop_nlink(inode); + epilog(dir, dentry, bindex); + + /* update target timestamps */ + if (bindex == bstart) { + vfsub_update_h_iattr(&h_path, /*did*/NULL); /*ignore*/ + inode->i_ctime = h_path.dentry->d_inode->i_ctime; + } else + /* todo: this timestamp may be reverted later */ + inode->i_ctime = h_dir->i_ctime; + goto out_unpin; /* success */ + } + + /* revert */ + if (wh_dentry) { + int rerr; + + rerr = do_revert(err, dir, bindex, bwh, wh_dentry, dentry, &dt); + if (rerr) + err = rerr; + } + +out_unpin: + au_unpin(&pin); + dput(wh_dentry); + dput(h_path.dentry); +out_parent: + di_write_unlock(parent); +out_unlock: + aufs_read_unlock(dentry, AuLock_DW); +out: + return err; +} + +int aufs_rmdir(struct inode *dir, struct dentry *dentry) +{ + int err, rmdir_later; + aufs_bindex_t bwh, bindex, bstart; + struct au_dtime dt; + struct au_pin pin; + struct inode *inode; + struct dentry *parent, *wh_dentry, *h_dentry; + struct au_whtmp_rmdir *args; + + IMustLock(dir); + + err = aufs_read_lock(dentry, AuLock_DW | AuLock_FLUSH | AuLock_GEN); + if (unlikely(err)) + goto out; + err = au_alive_dir(dentry); + if (unlikely(err)) + goto out_unlock; + inode = dentry->d_inode; + IMustLock(inode); + err = -ENOTDIR; + if (unlikely(!S_ISDIR(inode->i_mode))) + goto out_unlock; /* possible? */ + + err = -ENOMEM; + args = au_whtmp_rmdir_alloc(dir->i_sb, GFP_NOFS); + if (unlikely(!args)) + goto out_unlock; + + parent = dentry->d_parent; /* dir inode is locked */ + di_write_lock_parent(parent); + err = au_test_empty(dentry, &args->whlist); + if (unlikely(err)) + goto out_parent; + + bstart = au_dbstart(dentry); + bwh = au_dbwh(dentry); + bindex = -1; + wh_dentry = lock_hdir_create_wh(dentry, /*isdir*/1, &bindex, &dt, &pin); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + h_dentry = au_h_dptr(dentry, bstart); + dget(h_dentry); + rmdir_later = 0; + if (bindex == bstart) { + err = renwh_and_rmdir(dentry, bstart, &args->whlist, dir); + if (err > 0) { + rmdir_later = err; + err = 0; + } + } else { + /* stop monitoring */ + au_hn_free(au_hi(inode, bstart)); + + /* dir inode is locked */ + IMustLock(wh_dentry->d_parent->d_inode); + err = 0; + } + + if (!err) { + vfsub_dead_dir(inode); + au_set_dbdiropq(dentry, -1); + epilog(dir, dentry, bindex); + + if (rmdir_later) { + au_whtmp_kick_rmdir(dir, bstart, h_dentry, args); + args = NULL; + } + + goto out_unpin; /* success */ + } + + /* revert */ + AuLabel(revert); + if (wh_dentry) { + int rerr; + + rerr = do_revert(err, dir, bindex, bwh, wh_dentry, dentry, &dt); + if (rerr) + err = rerr; + } + +out_unpin: + au_unpin(&pin); + dput(wh_dentry); + dput(h_dentry); +out_parent: + di_write_unlock(parent); + if (args) + au_whtmp_rmdir_free(args); +out_unlock: + aufs_read_unlock(dentry, AuLock_DW); +out: + AuTraceErr(err); + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/i_op_ren.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/i_op_ren.c @@ -0,0 +1,1026 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * inode operation (rename entry) + * todo: this is crazy monster + */ + +#include "aufs.h" + +enum { AuSRC, AuDST, AuSrcDst }; +enum { AuPARENT, AuCHILD, AuParentChild }; + +#define AuRen_ISDIR 1 +#define AuRen_ISSAMEDIR (1 << 1) +#define AuRen_WHSRC (1 << 2) +#define AuRen_WHDST (1 << 3) +#define AuRen_MNT_WRITE (1 << 4) +#define AuRen_DT_DSTDIR (1 << 5) +#define AuRen_DIROPQ (1 << 6) +#define AuRen_CPUP (1 << 7) +#define au_ftest_ren(flags, name) ((flags) & AuRen_##name) +#define au_fset_ren(flags, name) \ + do { (flags) |= AuRen_##name; } while (0) +#define au_fclr_ren(flags, name) \ + do { (flags) &= ~AuRen_##name; } while (0) + +struct au_ren_args { + struct { + struct dentry *dentry, *h_dentry, *parent, *h_parent, + *wh_dentry; + struct inode *dir, *inode; + struct au_hinode *hdir; + struct au_dtime dt[AuParentChild]; + aufs_bindex_t bstart; + } sd[AuSrcDst]; + +#define src_dentry sd[AuSRC].dentry +#define src_dir sd[AuSRC].dir +#define src_inode sd[AuSRC].inode +#define src_h_dentry sd[AuSRC].h_dentry +#define src_parent sd[AuSRC].parent +#define src_h_parent sd[AuSRC].h_parent +#define src_wh_dentry sd[AuSRC].wh_dentry +#define src_hdir sd[AuSRC].hdir +#define src_h_dir sd[AuSRC].hdir->hi_inode +#define src_dt sd[AuSRC].dt +#define src_bstart sd[AuSRC].bstart + +#define dst_dentry sd[AuDST].dentry +#define dst_dir sd[AuDST].dir +#define dst_inode sd[AuDST].inode +#define dst_h_dentry sd[AuDST].h_dentry +#define dst_parent sd[AuDST].parent +#define dst_h_parent sd[AuDST].h_parent +#define dst_wh_dentry sd[AuDST].wh_dentry +#define dst_hdir sd[AuDST].hdir +#define dst_h_dir sd[AuDST].hdir->hi_inode +#define dst_dt sd[AuDST].dt +#define dst_bstart sd[AuDST].bstart + + struct dentry *h_trap; + struct au_branch *br; + struct au_hinode *src_hinode; + struct path h_path; + struct au_nhash whlist; + aufs_bindex_t btgt, src_bwh, src_bdiropq; + + unsigned int flags; + + struct au_whtmp_rmdir *thargs; + struct dentry *h_dst; +}; + +/* ---------------------------------------------------------------------- */ + +/* + * functions for reverting. + * when an error happened in a single rename systemcall, we should revert + * everything as if nothing happend. + * we don't need to revert the copied-up/down the parent dir since they are + * harmless. + */ + +#define RevertFailure(fmt, ...) do { \ + AuIOErr("revert failure: " fmt " (%d, %d)\n", \ + ##__VA_ARGS__, err, rerr); \ + err = -EIO; \ +} while (0) + +static void au_ren_rev_diropq(int err, struct au_ren_args *a) +{ + int rerr; + + au_hn_imtx_lock_nested(a->src_hinode, AuLsc_I_CHILD); + rerr = au_diropq_remove(a->src_dentry, a->btgt); + au_hn_imtx_unlock(a->src_hinode); + au_set_dbdiropq(a->src_dentry, a->src_bdiropq); + if (rerr) + RevertFailure("remove diropq %.*s", AuDLNPair(a->src_dentry)); +} + +static void au_ren_rev_rename(int err, struct au_ren_args *a) +{ + int rerr; + + a->h_path.dentry = au_lkup_one(&a->src_dentry->d_name, a->src_h_parent, + a->br, /*nd*/NULL); + rerr = PTR_ERR(a->h_path.dentry); + if (IS_ERR(a->h_path.dentry)) { + RevertFailure("au_lkup_one %.*s", AuDLNPair(a->src_dentry)); + return; + } + + rerr = vfsub_rename(a->dst_h_dir, + au_h_dptr(a->src_dentry, a->btgt), + a->src_h_dir, &a->h_path); + d_drop(a->h_path.dentry); + dput(a->h_path.dentry); + /* au_set_h_dptr(a->src_dentry, a->btgt, NULL); */ + if (rerr) + RevertFailure("rename %.*s", AuDLNPair(a->src_dentry)); +} + +static void au_ren_rev_cpup(int err, struct au_ren_args *a) +{ + int rerr; + + a->h_path.dentry = a->dst_h_dentry; + rerr = vfsub_unlink(a->dst_h_dir, &a->h_path, /*force*/0); + au_set_h_dptr(a->src_dentry, a->btgt, NULL); + au_set_dbstart(a->src_dentry, a->src_bstart); + if (rerr) + RevertFailure("unlink %.*s", AuDLNPair(a->dst_h_dentry)); +} + +static void au_ren_rev_whtmp(int err, struct au_ren_args *a) +{ + int rerr; + + a->h_path.dentry = au_lkup_one(&a->dst_dentry->d_name, a->dst_h_parent, + a->br, /*nd*/NULL); + rerr = PTR_ERR(a->h_path.dentry); + if (IS_ERR(a->h_path.dentry)) { + RevertFailure("lookup %.*s", AuDLNPair(a->dst_dentry)); + return; + } + if (a->h_path.dentry->d_inode) { + d_drop(a->h_path.dentry); + dput(a->h_path.dentry); + return; + } + + rerr = vfsub_rename(a->dst_h_dir, a->h_dst, a->dst_h_dir, &a->h_path); + d_drop(a->h_path.dentry); + dput(a->h_path.dentry); + if (!rerr) + au_set_h_dptr(a->dst_dentry, a->btgt, dget(a->h_dst)); + else + RevertFailure("rename %.*s", AuDLNPair(a->h_dst)); +} + +static void au_ren_rev_whsrc(int err, struct au_ren_args *a) +{ + int rerr; + + a->h_path.dentry = a->src_wh_dentry; + rerr = au_wh_unlink_dentry(a->src_h_dir, &a->h_path, a->src_dentry); + au_set_dbwh(a->src_dentry, a->src_bwh); + if (rerr) + RevertFailure("unlink %.*s", AuDLNPair(a->src_wh_dentry)); +} +#undef RevertFailure + +/* ---------------------------------------------------------------------- */ + +/* + * when we have to copyup the renaming entry, do it with the rename-target name + * in order to minimize the cost (the later actual rename is unnecessary). + * otherwise rename it on the target branch. + */ +static int au_ren_or_cpup(struct au_ren_args *a) +{ + int err; + struct dentry *d; + + d = a->src_dentry; + if (au_dbstart(d) == a->btgt) { + a->h_path.dentry = a->dst_h_dentry; + if (au_ftest_ren(a->flags, DIROPQ) + && au_dbdiropq(d) == a->btgt) + au_fclr_ren(a->flags, DIROPQ); + AuDebugOn(au_dbstart(d) != a->btgt); + err = vfsub_rename(a->src_h_dir, au_h_dptr(d, a->btgt), + a->dst_h_dir, &a->h_path); + } else { + struct mutex *h_mtx = &a->src_h_dentry->d_inode->i_mutex; + struct file *h_file; + + au_fset_ren(a->flags, CPUP); + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + au_set_dbstart(d, a->btgt); + au_set_h_dptr(d, a->btgt, dget(a->dst_h_dentry)); + h_file = au_h_open_pre(d, a->src_bstart); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + h_file = NULL; + } else + err = au_sio_cpup_single(d, a->btgt, a->src_bstart, -1, + !AuCpup_DTIME, a->dst_parent); + mutex_unlock(h_mtx); + au_h_open_post(d, a->src_bstart, h_file); + if (!err) { + d = a->dst_dentry; + au_set_h_dptr(d, a->btgt, NULL); + au_update_dbstart(d); + } else { + au_set_h_dptr(d, a->btgt, NULL); + au_set_dbstart(d, a->src_bstart); + } + } + if (!err && a->h_dst) + /* it will be set to dinfo later */ + dget(a->h_dst); + + return err; +} + +/* cf. aufs_rmdir() */ +static int au_ren_del_whtmp(struct au_ren_args *a) +{ + int err; + struct inode *dir; + + dir = a->dst_dir; + SiMustAnyLock(dir->i_sb); + if (!au_nhash_test_longer_wh(&a->whlist, a->btgt, + au_sbi(dir->i_sb)->si_dirwh) + || au_test_fs_remote(a->h_dst->d_sb)) { + err = au_whtmp_rmdir(dir, a->btgt, a->h_dst, &a->whlist); + if (unlikely(err)) + pr_warn("failed removing whtmp dir %.*s (%d), " + "ignored.\n", AuDLNPair(a->h_dst), err); + } else { + au_nhash_wh_free(&a->thargs->whlist); + a->thargs->whlist = a->whlist; + a->whlist.nh_num = 0; + au_whtmp_kick_rmdir(dir, a->btgt, a->h_dst, a->thargs); + dput(a->h_dst); + a->thargs = NULL; + } + + return 0; +} + +/* make it 'opaque' dir. */ +static int au_ren_diropq(struct au_ren_args *a) +{ + int err; + struct dentry *diropq; + + err = 0; + a->src_bdiropq = au_dbdiropq(a->src_dentry); + a->src_hinode = au_hi(a->src_inode, a->btgt); + au_hn_imtx_lock_nested(a->src_hinode, AuLsc_I_CHILD); + diropq = au_diropq_create(a->src_dentry, a->btgt); + au_hn_imtx_unlock(a->src_hinode); + if (IS_ERR(diropq)) + err = PTR_ERR(diropq); + dput(diropq); + + return err; +} + +static int do_rename(struct au_ren_args *a) +{ + int err; + struct dentry *d, *h_d; + + /* prepare workqueue args for asynchronous rmdir */ + h_d = a->dst_h_dentry; + if (au_ftest_ren(a->flags, ISDIR) && h_d->d_inode) { + err = -ENOMEM; + a->thargs = au_whtmp_rmdir_alloc(a->src_dentry->d_sb, GFP_NOFS); + if (unlikely(!a->thargs)) + goto out; + a->h_dst = dget(h_d); + } + + /* create whiteout for src_dentry */ + if (au_ftest_ren(a->flags, WHSRC)) { + a->src_bwh = au_dbwh(a->src_dentry); + AuDebugOn(a->src_bwh >= 0); + a->src_wh_dentry + = au_wh_create(a->src_dentry, a->btgt, a->src_h_parent); + err = PTR_ERR(a->src_wh_dentry); + if (IS_ERR(a->src_wh_dentry)) + goto out_thargs; + } + + /* lookup whiteout for dentry */ + if (au_ftest_ren(a->flags, WHDST)) { + h_d = au_wh_lkup(a->dst_h_parent, &a->dst_dentry->d_name, + a->br); + err = PTR_ERR(h_d); + if (IS_ERR(h_d)) + goto out_whsrc; + if (!h_d->d_inode) + dput(h_d); + else + a->dst_wh_dentry = h_d; + } + + /* rename dentry to tmpwh */ + if (a->thargs) { + err = au_whtmp_ren(a->dst_h_dentry, a->br); + if (unlikely(err)) + goto out_whdst; + + d = a->dst_dentry; + au_set_h_dptr(d, a->btgt, NULL); + err = au_lkup_neg(d, a->btgt); + if (unlikely(err)) + goto out_whtmp; + a->dst_h_dentry = au_h_dptr(d, a->btgt); + } + + /* cpup src */ + if (a->dst_h_dentry->d_inode && a->src_bstart != a->btgt) { + struct mutex *h_mtx = &a->src_h_dentry->d_inode->i_mutex; + struct file *h_file; + + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + AuDebugOn(au_dbstart(a->src_dentry) != a->src_bstart); + h_file = au_h_open_pre(a->src_dentry, a->src_bstart); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + h_file = NULL; + } else + err = au_sio_cpup_simple(a->src_dentry, a->btgt, -1, + !AuCpup_DTIME); + mutex_unlock(h_mtx); + au_h_open_post(a->src_dentry, a->src_bstart, h_file); + if (unlikely(err)) + goto out_whtmp; + } + + /* rename by vfs_rename or cpup */ + d = a->dst_dentry; + if (au_ftest_ren(a->flags, ISDIR) + && (a->dst_wh_dentry + || au_dbdiropq(d) == a->btgt + /* hide the lower to keep xino */ + || a->btgt < au_dbend(d) + || au_opt_test(au_mntflags(d->d_sb), ALWAYS_DIROPQ))) + au_fset_ren(a->flags, DIROPQ); + err = au_ren_or_cpup(a); + if (unlikely(err)) + /* leave the copied-up one */ + goto out_whtmp; + + /* make dir opaque */ + if (au_ftest_ren(a->flags, DIROPQ)) { + err = au_ren_diropq(a); + if (unlikely(err)) + goto out_rename; + } + + /* update target timestamps */ + AuDebugOn(au_dbstart(a->src_dentry) != a->btgt); + a->h_path.dentry = au_h_dptr(a->src_dentry, a->btgt); + vfsub_update_h_iattr(&a->h_path, /*did*/NULL); /*ignore*/ + a->src_inode->i_ctime = a->h_path.dentry->d_inode->i_ctime; + + /* remove whiteout for dentry */ + if (a->dst_wh_dentry) { + a->h_path.dentry = a->dst_wh_dentry; + err = au_wh_unlink_dentry(a->dst_h_dir, &a->h_path, + a->dst_dentry); + if (unlikely(err)) + goto out_diropq; + } + + /* remove whtmp */ + if (a->thargs) + au_ren_del_whtmp(a); /* ignore this error */ + + err = 0; + goto out_success; + +out_diropq: + if (au_ftest_ren(a->flags, DIROPQ)) + au_ren_rev_diropq(err, a); +out_rename: + if (!au_ftest_ren(a->flags, CPUP)) + au_ren_rev_rename(err, a); + else + au_ren_rev_cpup(err, a); + dput(a->h_dst); +out_whtmp: + if (a->thargs) + au_ren_rev_whtmp(err, a); +out_whdst: + dput(a->dst_wh_dentry); + a->dst_wh_dentry = NULL; +out_whsrc: + if (a->src_wh_dentry) + au_ren_rev_whsrc(err, a); +out_success: + dput(a->src_wh_dentry); + dput(a->dst_wh_dentry); +out_thargs: + if (a->thargs) { + dput(a->h_dst); + au_whtmp_rmdir_free(a->thargs); + a->thargs = NULL; + } +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * test if @dentry dir can be rename destination or not. + * success means, it is a logically empty dir. + */ +static int may_rename_dstdir(struct dentry *dentry, struct au_nhash *whlist) +{ + return au_test_empty(dentry, whlist); +} + +/* + * test if @dentry dir can be rename source or not. + * if it can, return 0 and @children is filled. + * success means, + * - it is a logically empty dir. + * - or, it exists on writable branch and has no children including whiteouts + * on the lower branch. + */ +static int may_rename_srcdir(struct dentry *dentry, aufs_bindex_t btgt) +{ + int err; + unsigned int rdhash; + aufs_bindex_t bstart; + + bstart = au_dbstart(dentry); + if (bstart != btgt) { + struct au_nhash whlist; + + SiMustAnyLock(dentry->d_sb); + rdhash = au_sbi(dentry->d_sb)->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(/*file*/NULL, + dentry)); + err = au_nhash_alloc(&whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_test_empty(dentry, &whlist); + au_nhash_wh_free(&whlist); + goto out; + } + + if (bstart == au_dbtaildir(dentry)) + return 0; /* success */ + + err = au_test_empty_lower(dentry); + +out: + if (err == -ENOTEMPTY) { + AuWarn1("renaming dir who has child(ren) on multiple branches," + " is not supported\n"); + err = -EXDEV; + } + return err; +} + +/* side effect: sets whlist and h_dentry */ +static int au_ren_may_dir(struct au_ren_args *a) +{ + int err; + unsigned int rdhash; + struct dentry *d; + + d = a->dst_dentry; + SiMustAnyLock(d->d_sb); + + err = 0; + if (au_ftest_ren(a->flags, ISDIR) && a->dst_inode) { + rdhash = au_sbi(d->d_sb)->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(/*file*/NULL, d)); + err = au_nhash_alloc(&a->whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + + au_set_dbstart(d, a->dst_bstart); + err = may_rename_dstdir(d, &a->whlist); + au_set_dbstart(d, a->btgt); + } + a->dst_h_dentry = au_h_dptr(d, au_dbstart(d)); + if (unlikely(err)) + goto out; + + d = a->src_dentry; + a->src_h_dentry = au_h_dptr(d, au_dbstart(d)); + if (au_ftest_ren(a->flags, ISDIR)) { + err = may_rename_srcdir(d, a->btgt); + if (unlikely(err)) { + au_nhash_wh_free(&a->whlist); + a->whlist.nh_num = 0; + } + } +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * simple tests for rename. + * following the checks in vfs, plus the parent-child relationship. + */ +static int au_may_ren(struct au_ren_args *a) +{ + int err, isdir; + struct inode *h_inode; + + if (a->src_bstart == a->btgt) { + err = au_may_del(a->src_dentry, a->btgt, a->src_h_parent, + au_ftest_ren(a->flags, ISDIR)); + if (unlikely(err)) + goto out; + err = -EINVAL; + if (unlikely(a->src_h_dentry == a->h_trap)) + goto out; + } + + err = 0; + if (a->dst_bstart != a->btgt) + goto out; + + err = -ENOTEMPTY; + if (unlikely(a->dst_h_dentry == a->h_trap)) + goto out; + + err = -EIO; + h_inode = a->dst_h_dentry->d_inode; + isdir = !!au_ftest_ren(a->flags, ISDIR); + if (!a->dst_dentry->d_inode) { + if (unlikely(h_inode)) + goto out; + err = au_may_add(a->dst_dentry, a->btgt, a->dst_h_parent, + isdir); + } else { + if (unlikely(!h_inode || !h_inode->i_nlink)) + goto out; + err = au_may_del(a->dst_dentry, a->btgt, a->dst_h_parent, + isdir); + if (unlikely(err)) + goto out; + } + +out: + if (unlikely(err == -ENOENT || err == -EEXIST)) + err = -EIO; + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * locking order + * (VFS) + * - src_dir and dir by lock_rename() + * - inode if exitsts + * (aufs) + * - lock all + * + src_dentry and dentry by aufs_read_and_write_lock2() which calls, + * + si_read_lock + * + di_write_lock2_child() + * + di_write_lock_child() + * + ii_write_lock_child() + * + di_write_lock_child2() + * + ii_write_lock_child2() + * + src_parent and parent + * + di_write_lock_parent() + * + ii_write_lock_parent() + * + di_write_lock_parent2() + * + ii_write_lock_parent2() + * + lower src_dir and dir by vfsub_lock_rename() + * + verify the every relationships between child and parent. if any + * of them failed, unlock all and return -EBUSY. + */ +static void au_ren_unlock(struct au_ren_args *a) +{ + struct super_block *sb; + + sb = a->dst_dentry->d_sb; + if (au_ftest_ren(a->flags, MNT_WRITE)) + mnt_drop_write(a->br->br_mnt); + vfsub_unlock_rename(a->src_h_parent, a->src_hdir, + a->dst_h_parent, a->dst_hdir); +} + +static int au_ren_lock(struct au_ren_args *a) +{ + int err; + unsigned int udba; + + err = 0; + a->src_h_parent = au_h_dptr(a->src_parent, a->btgt); + a->src_hdir = au_hi(a->src_dir, a->btgt); + a->dst_h_parent = au_h_dptr(a->dst_parent, a->btgt); + a->dst_hdir = au_hi(a->dst_dir, a->btgt); + a->h_trap = vfsub_lock_rename(a->src_h_parent, a->src_hdir, + a->dst_h_parent, a->dst_hdir); + udba = au_opt_udba(a->src_dentry->d_sb); + if (unlikely(a->src_hdir->hi_inode != a->src_h_parent->d_inode + || a->dst_hdir->hi_inode != a->dst_h_parent->d_inode)) + err = au_busy_or_stale(); + if (!err && au_dbstart(a->src_dentry) == a->btgt) + err = au_h_verify(a->src_h_dentry, udba, + a->src_h_parent->d_inode, a->src_h_parent, + a->br); + if (!err && au_dbstart(a->dst_dentry) == a->btgt) + err = au_h_verify(a->dst_h_dentry, udba, + a->dst_h_parent->d_inode, a->dst_h_parent, + a->br); + if (!err) { + err = mnt_want_write(a->br->br_mnt); + if (unlikely(err)) + goto out_unlock; + au_fset_ren(a->flags, MNT_WRITE); + goto out; /* success */ + } + + err = au_busy_or_stale(); + +out_unlock: + au_ren_unlock(a); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void au_ren_refresh_dir(struct au_ren_args *a) +{ + struct inode *dir; + + dir = a->dst_dir; + dir->i_version++; + if (au_ftest_ren(a->flags, ISDIR)) { + /* is this updating defined in POSIX? */ + au_cpup_attr_timesizes(a->src_inode); + au_cpup_attr_nlink(dir, /*force*/1); + } + + if (au_ibstart(dir) == a->btgt) + au_cpup_attr_timesizes(dir); + + if (au_ftest_ren(a->flags, ISSAMEDIR)) + return; + + dir = a->src_dir; + dir->i_version++; + if (au_ftest_ren(a->flags, ISDIR)) + au_cpup_attr_nlink(dir, /*force*/1); + if (au_ibstart(dir) == a->btgt) + au_cpup_attr_timesizes(dir); +} + +static void au_ren_refresh(struct au_ren_args *a) +{ + aufs_bindex_t bend, bindex; + struct dentry *d, *h_d; + struct inode *i, *h_i; + struct super_block *sb; + + d = a->dst_dentry; + d_drop(d); + if (a->h_dst) + /* already dget-ed by au_ren_or_cpup() */ + au_set_h_dptr(d, a->btgt, a->h_dst); + + i = a->dst_inode; + if (i) { + if (!au_ftest_ren(a->flags, ISDIR)) + vfsub_drop_nlink(i); + else { + vfsub_dead_dir(i); + au_cpup_attr_timesizes(i); + } + au_update_dbrange(d, /*do_put_zero*/1); + } else { + bend = a->btgt; + for (bindex = au_dbstart(d); bindex < bend; bindex++) + au_set_h_dptr(d, bindex, NULL); + bend = au_dbend(d); + for (bindex = a->btgt + 1; bindex <= bend; bindex++) + au_set_h_dptr(d, bindex, NULL); + au_update_dbrange(d, /*do_put_zero*/0); + } + + d = a->src_dentry; + au_set_dbwh(d, -1); + bend = au_dbend(d); + for (bindex = a->btgt + 1; bindex <= bend; bindex++) { + h_d = au_h_dptr(d, bindex); + if (h_d) + au_set_h_dptr(d, bindex, NULL); + } + au_set_dbend(d, a->btgt); + + sb = d->d_sb; + i = a->src_inode; + if (au_opt_test(au_mntflags(sb), PLINK) && au_plink_test(i)) + return; /* success */ + + bend = au_ibend(i); + for (bindex = a->btgt + 1; bindex <= bend; bindex++) { + h_i = au_h_iptr(i, bindex); + if (h_i) { + au_xino_write(sb, bindex, h_i->i_ino, /*ino*/0); + /* ignore this error */ + au_set_h_iptr(i, bindex, NULL, 0); + } + } + au_set_ibend(i, a->btgt); +} + +/* ---------------------------------------------------------------------- */ + +/* mainly for link(2) and rename(2) */ +int au_wbr(struct dentry *dentry, aufs_bindex_t btgt) +{ + aufs_bindex_t bdiropq, bwh; + struct dentry *parent; + struct au_branch *br; + + parent = dentry->d_parent; + IMustLock(parent->d_inode); /* dir is locked */ + + bdiropq = au_dbdiropq(parent); + bwh = au_dbwh(dentry); + br = au_sbr(dentry->d_sb, btgt); + if (au_br_rdonly(br) + || (0 <= bdiropq && bdiropq < btgt) + || (0 <= bwh && bwh < btgt)) + btgt = -1; + + AuDbg("btgt %d\n", btgt); + return btgt; +} + +/* sets src_bstart, dst_bstart and btgt */ +static int au_ren_wbr(struct au_ren_args *a) +{ + int err; + struct au_wr_dir_args wr_dir_args = { + /* .force_btgt = -1, */ + .flags = AuWrDir_ADD_ENTRY + }; + + a->src_bstart = au_dbstart(a->src_dentry); + a->dst_bstart = au_dbstart(a->dst_dentry); + if (au_ftest_ren(a->flags, ISDIR)) + au_fset_wrdir(wr_dir_args.flags, ISDIR); + wr_dir_args.force_btgt = a->src_bstart; + if (a->dst_inode && a->dst_bstart < a->src_bstart) + wr_dir_args.force_btgt = a->dst_bstart; + wr_dir_args.force_btgt = au_wbr(a->dst_dentry, wr_dir_args.force_btgt); + err = au_wr_dir(a->dst_dentry, a->src_dentry, &wr_dir_args); + a->btgt = err; + + return err; +} + +static void au_ren_dt(struct au_ren_args *a) +{ + a->h_path.dentry = a->src_h_parent; + au_dtime_store(a->src_dt + AuPARENT, a->src_parent, &a->h_path); + if (!au_ftest_ren(a->flags, ISSAMEDIR)) { + a->h_path.dentry = a->dst_h_parent; + au_dtime_store(a->dst_dt + AuPARENT, a->dst_parent, &a->h_path); + } + + au_fclr_ren(a->flags, DT_DSTDIR); + if (!au_ftest_ren(a->flags, ISDIR)) + return; + + a->h_path.dentry = a->src_h_dentry; + au_dtime_store(a->src_dt + AuCHILD, a->src_dentry, &a->h_path); + if (a->dst_h_dentry->d_inode) { + au_fset_ren(a->flags, DT_DSTDIR); + a->h_path.dentry = a->dst_h_dentry; + au_dtime_store(a->dst_dt + AuCHILD, a->dst_dentry, &a->h_path); + } +} + +static void au_ren_rev_dt(int err, struct au_ren_args *a) +{ + struct dentry *h_d; + struct mutex *h_mtx; + + au_dtime_revert(a->src_dt + AuPARENT); + if (!au_ftest_ren(a->flags, ISSAMEDIR)) + au_dtime_revert(a->dst_dt + AuPARENT); + + if (au_ftest_ren(a->flags, ISDIR) && err != -EIO) { + h_d = a->src_dt[AuCHILD].dt_h_path.dentry; + h_mtx = &h_d->d_inode->i_mutex; + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + au_dtime_revert(a->src_dt + AuCHILD); + mutex_unlock(h_mtx); + + if (au_ftest_ren(a->flags, DT_DSTDIR)) { + h_d = a->dst_dt[AuCHILD].dt_h_path.dentry; + h_mtx = &h_d->d_inode->i_mutex; + mutex_lock_nested(h_mtx, AuLsc_I_CHILD); + au_dtime_revert(a->dst_dt + AuCHILD); + mutex_unlock(h_mtx); + } + } +} + +/* ---------------------------------------------------------------------- */ + +int aufs_rename(struct inode *_src_dir, struct dentry *_src_dentry, + struct inode *_dst_dir, struct dentry *_dst_dentry) +{ + int err, flags; + /* reduce stack space */ + struct au_ren_args *a; + + AuDbg("%.*s, %.*s\n", AuDLNPair(_src_dentry), AuDLNPair(_dst_dentry)); + IMustLock(_src_dir); + IMustLock(_dst_dir); + + err = -ENOMEM; + BUILD_BUG_ON(sizeof(*a) > PAGE_SIZE); + a = kzalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + a->src_dir = _src_dir; + a->src_dentry = _src_dentry; + a->src_inode = a->src_dentry->d_inode; + a->src_parent = a->src_dentry->d_parent; /* dir inode is locked */ + a->dst_dir = _dst_dir; + a->dst_dentry = _dst_dentry; + a->dst_inode = a->dst_dentry->d_inode; + a->dst_parent = a->dst_dentry->d_parent; /* dir inode is locked */ + if (a->dst_inode) { + IMustLock(a->dst_inode); + au_igrab(a->dst_inode); + } + + err = -ENOTDIR; + flags = AuLock_FLUSH | AuLock_NOPLM | AuLock_GEN; + if (S_ISDIR(a->src_inode->i_mode)) { + au_fset_ren(a->flags, ISDIR); + if (unlikely(a->dst_inode && !S_ISDIR(a->dst_inode->i_mode))) + goto out_free; + err = aufs_read_and_write_lock2(a->dst_dentry, a->src_dentry, + AuLock_DIR | flags); + } else + err = aufs_read_and_write_lock2(a->dst_dentry, a->src_dentry, + flags); + if (unlikely(err)) + goto out_free; + + err = au_d_hashed_positive(a->src_dentry); + if (unlikely(err)) + goto out_unlock; + err = -ENOENT; + if (a->dst_inode) { + /* + * If it is a dir, VFS unhash dst_dentry before this + * function. It means we cannot rely upon d_unhashed(). + */ + if (unlikely(!a->dst_inode->i_nlink)) + goto out_unlock; + if (!S_ISDIR(a->dst_inode->i_mode)) { + err = au_d_hashed_positive(a->dst_dentry); + if (unlikely(err)) + goto out_unlock; + } else if (unlikely(IS_DEADDIR(a->dst_inode))) + goto out_unlock; + } else if (unlikely(d_unhashed(a->dst_dentry))) + goto out_unlock; + + /* + * is it possible? + * yes, it happend (in linux-3.3-rcN) but I don't know why. + * there may exist a problem somewhere else. + */ + err = -EINVAL; + if (unlikely(a->dst_parent->d_inode == a->src_dentry->d_inode)) + goto out_unlock; + + au_fset_ren(a->flags, ISSAMEDIR); /* temporary */ + di_write_lock_parent(a->dst_parent); + + /* which branch we process */ + err = au_ren_wbr(a); + if (unlikely(err < 0)) + goto out_parent; + a->br = au_sbr(a->dst_dentry->d_sb, a->btgt); + a->h_path.mnt = a->br->br_mnt; + + /* are they available to be renamed */ + err = au_ren_may_dir(a); + if (unlikely(err)) + goto out_children; + + /* prepare the writable parent dir on the same branch */ + if (a->dst_bstart == a->btgt) { + au_fset_ren(a->flags, WHDST); + } else { + err = au_cpup_dirs(a->dst_dentry, a->btgt); + if (unlikely(err)) + goto out_children; + } + + if (a->src_dir != a->dst_dir) { + /* + * this temporary unlock is safe, + * because both dir->i_mutex are locked. + */ + di_write_unlock(a->dst_parent); + di_write_lock_parent(a->src_parent); + err = au_wr_dir_need_wh(a->src_dentry, + au_ftest_ren(a->flags, ISDIR), + &a->btgt); + di_write_unlock(a->src_parent); + di_write_lock2_parent(a->src_parent, a->dst_parent, /*isdir*/1); + au_fclr_ren(a->flags, ISSAMEDIR); + } else + err = au_wr_dir_need_wh(a->src_dentry, + au_ftest_ren(a->flags, ISDIR), + &a->btgt); + if (unlikely(err < 0)) + goto out_children; + if (err) + au_fset_ren(a->flags, WHSRC); + + /* lock them all */ + err = au_ren_lock(a); + if (unlikely(err)) + goto out_children; + + if (!au_opt_test(au_mntflags(a->dst_dir->i_sb), UDBA_NONE)) + err = au_may_ren(a); + else if (unlikely(a->dst_dentry->d_name.len > AUFS_MAX_NAMELEN)) + err = -ENAMETOOLONG; + if (unlikely(err)) + goto out_hdir; + + /* store timestamps to be revertible */ + au_ren_dt(a); + + /* here we go */ + err = do_rename(a); + if (unlikely(err)) + goto out_dt; + + /* update dir attributes */ + au_ren_refresh_dir(a); + + /* dput/iput all lower dentries */ + au_ren_refresh(a); + + goto out_hdir; /* success */ + +out_dt: + au_ren_rev_dt(err, a); +out_hdir: + au_ren_unlock(a); +out_children: + au_nhash_wh_free(&a->whlist); + if (err && a->dst_inode && a->dst_bstart != a->btgt) { + AuDbg("bstart %d, btgt %d\n", a->dst_bstart, a->btgt); + au_set_h_dptr(a->dst_dentry, a->btgt, NULL); + au_set_dbstart(a->dst_dentry, a->dst_bstart); + } +out_parent: + if (!err) + d_move(a->src_dentry, a->dst_dentry); + else { + au_update_dbstart(a->dst_dentry); + if (!a->dst_inode) + d_drop(a->dst_dentry); + } + if (au_ftest_ren(a->flags, ISSAMEDIR)) + di_write_unlock(a->dst_parent); + else + di_write_unlock2(a->src_parent, a->dst_parent); +out_unlock: + aufs_read_and_write_unlock2(a->dst_dentry, a->src_dentry); +out_free: + iput(a->dst_inode); + if (a->thargs) + au_whtmp_rmdir_free(a->thargs); + kfree(a); +out: + AuTraceErr(err); + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/iinfo.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/iinfo.c @@ -0,0 +1,264 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * inode private data + */ + +#include "aufs.h" + +struct inode *au_h_iptr(struct inode *inode, aufs_bindex_t bindex) +{ + struct inode *h_inode; + + IiMustAnyLock(inode); + + h_inode = au_ii(inode)->ii_hinode[0 + bindex].hi_inode; + AuDebugOn(h_inode && atomic_read(&h_inode->i_count) <= 0); + return h_inode; +} + +/* todo: hard/soft set? */ +void au_hiput(struct au_hinode *hinode) +{ + au_hn_free(hinode); + dput(hinode->hi_whdentry); + iput(hinode->hi_inode); +} + +unsigned int au_hi_flags(struct inode *inode, int isdir) +{ + unsigned int flags; + const unsigned int mnt_flags = au_mntflags(inode->i_sb); + + flags = 0; + if (au_opt_test(mnt_flags, XINO)) + au_fset_hi(flags, XINO); + if (isdir && au_opt_test(mnt_flags, UDBA_HNOTIFY)) + au_fset_hi(flags, HNOTIFY); + return flags; +} + +void au_set_h_iptr(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode, unsigned int flags) +{ + struct au_hinode *hinode; + struct inode *hi; + struct au_iinfo *iinfo = au_ii(inode); + + IiMustWriteLock(inode); + + hinode = iinfo->ii_hinode + bindex; + hi = hinode->hi_inode; + AuDebugOn(h_inode && atomic_read(&h_inode->i_count) <= 0); + + if (hi) + au_hiput(hinode); + hinode->hi_inode = h_inode; + if (h_inode) { + int err; + struct super_block *sb = inode->i_sb; + struct au_branch *br; + + AuDebugOn(inode->i_mode + && (h_inode->i_mode & S_IFMT) + != (inode->i_mode & S_IFMT)); + if (bindex == iinfo->ii_bstart) + au_cpup_igen(inode, h_inode); + br = au_sbr(sb, bindex); + hinode->hi_id = br->br_id; + if (au_ftest_hi(flags, XINO)) { + err = au_xino_write(sb, bindex, h_inode->i_ino, + inode->i_ino); + if (unlikely(err)) + AuIOErr1("failed au_xino_write() %d\n", err); + } + + if (au_ftest_hi(flags, HNOTIFY) + && au_br_hnotifyable(br->br_perm)) { + err = au_hn_alloc(hinode, inode); + if (unlikely(err)) + AuIOErr1("au_hn_alloc() %d\n", err); + } + } +} + +void au_set_hi_wh(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_wh) +{ + struct au_hinode *hinode; + + IiMustWriteLock(inode); + + hinode = au_ii(inode)->ii_hinode + bindex; + AuDebugOn(hinode->hi_whdentry); + hinode->hi_whdentry = h_wh; +} + +void au_update_iigen(struct inode *inode) +{ + atomic_set(&au_ii(inode)->ii_generation, au_sigen(inode->i_sb)); + /* smp_mb(); */ /* atomic_set */ +} + +/* it may be called at remount time, too */ +void au_update_ibrange(struct inode *inode, int do_put_zero) +{ + struct au_iinfo *iinfo; + aufs_bindex_t bindex, bend; + + iinfo = au_ii(inode); + if (!iinfo) + return; + + IiMustWriteLock(inode); + + if (do_put_zero && iinfo->ii_bstart >= 0) { + for (bindex = iinfo->ii_bstart; bindex <= iinfo->ii_bend; + bindex++) { + struct inode *h_i; + + h_i = iinfo->ii_hinode[0 + bindex].hi_inode; + if (h_i && !h_i->i_nlink) + au_set_h_iptr(inode, bindex, NULL, 0); + } + } + + iinfo->ii_bstart = -1; + iinfo->ii_bend = -1; + bend = au_sbend(inode->i_sb); + for (bindex = 0; bindex <= bend; bindex++) + if (iinfo->ii_hinode[0 + bindex].hi_inode) { + iinfo->ii_bstart = bindex; + break; + } + if (iinfo->ii_bstart >= 0) + for (bindex = bend; bindex >= iinfo->ii_bstart; bindex--) + if (iinfo->ii_hinode[0 + bindex].hi_inode) { + iinfo->ii_bend = bindex; + break; + } + AuDebugOn(iinfo->ii_bstart > iinfo->ii_bend); +} + +/* ---------------------------------------------------------------------- */ + +void au_icntnr_init_once(void *_c) +{ + struct au_icntnr *c = _c; + struct au_iinfo *iinfo = &c->iinfo; + static struct lock_class_key aufs_ii; + + au_rw_init(&iinfo->ii_rwsem); + au_rw_class(&iinfo->ii_rwsem, &aufs_ii); + inode_init_once(&c->vfs_inode); +} + +int au_iinfo_init(struct inode *inode) +{ + struct au_iinfo *iinfo; + struct super_block *sb; + int nbr, i; + + sb = inode->i_sb; + iinfo = &(container_of(inode, struct au_icntnr, vfs_inode)->iinfo); + nbr = au_sbend(sb) + 1; + if (unlikely(nbr <= 0)) + nbr = 1; + iinfo->ii_hinode = kcalloc(nbr, sizeof(*iinfo->ii_hinode), GFP_NOFS); + if (iinfo->ii_hinode) { + au_ninodes_inc(sb); + for (i = 0; i < nbr; i++) + iinfo->ii_hinode[i].hi_id = -1; + + atomic_set(&iinfo->ii_generation, au_sigen(sb)); + /* smp_mb(); */ /* atomic_set */ + iinfo->ii_bstart = -1; + iinfo->ii_bend = -1; + iinfo->ii_vdir = NULL; + return 0; + } + return -ENOMEM; +} + +int au_ii_realloc(struct au_iinfo *iinfo, int nbr) +{ + int err, sz; + struct au_hinode *hip; + + AuRwMustWriteLock(&iinfo->ii_rwsem); + + err = -ENOMEM; + sz = sizeof(*hip) * (iinfo->ii_bend + 1); + if (!sz) + sz = sizeof(*hip); + hip = au_kzrealloc(iinfo->ii_hinode, sz, sizeof(*hip) * nbr, GFP_NOFS); + if (hip) { + iinfo->ii_hinode = hip; + err = 0; + } + + return err; +} + +void au_iinfo_fin(struct inode *inode) +{ + struct au_iinfo *iinfo; + struct au_hinode *hi; + struct super_block *sb; + aufs_bindex_t bindex, bend; + const unsigned char unlinked = !inode->i_nlink; + + iinfo = au_ii(inode); + /* bad_inode case */ + if (!iinfo) + return; + + sb = inode->i_sb; + au_ninodes_dec(sb); + if (si_pid_test(sb)) + au_xino_delete_inode(inode, unlinked); + else { + /* + * it is safe to hide the dependency between sbinfo and + * sb->s_umount. + */ + lockdep_off(); + si_noflush_read_lock(sb); + au_xino_delete_inode(inode, unlinked); + si_read_unlock(sb); + lockdep_on(); + } + + if (iinfo->ii_vdir) + au_vdir_free(iinfo->ii_vdir); + + bindex = iinfo->ii_bstart; + if (bindex >= 0) { + hi = iinfo->ii_hinode + bindex; + bend = iinfo->ii_bend; + while (bindex++ <= bend) { + if (hi->hi_inode) + au_hiput(hi); + hi++; + } + } + kfree(iinfo->ii_hinode); + iinfo->ii_hinode = NULL; + AuRwDestroy(&iinfo->ii_rwsem); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/inode.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/inode.c @@ -0,0 +1,478 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * inode functions + */ + +#include "aufs.h" + +struct inode *au_igrab(struct inode *inode) +{ + if (inode) { + AuDebugOn(!atomic_read(&inode->i_count)); + ihold(inode); + } + return inode; +} + +static void au_refresh_hinode_attr(struct inode *inode, int do_version) +{ + au_cpup_attr_all(inode, /*force*/0); + au_update_iigen(inode); + if (do_version) + inode->i_version++; +} + +static int au_ii_refresh(struct inode *inode, int *update) +{ + int err, e; + umode_t type; + aufs_bindex_t bindex, new_bindex; + struct super_block *sb; + struct au_iinfo *iinfo; + struct au_hinode *p, *q, tmp; + + IiMustWriteLock(inode); + + *update = 0; + sb = inode->i_sb; + type = inode->i_mode & S_IFMT; + iinfo = au_ii(inode); + err = au_ii_realloc(iinfo, au_sbend(sb) + 1); + if (unlikely(err)) + goto out; + + AuDebugOn(iinfo->ii_bstart < 0); + p = iinfo->ii_hinode + iinfo->ii_bstart; + for (bindex = iinfo->ii_bstart; bindex <= iinfo->ii_bend; + bindex++, p++) { + if (!p->hi_inode) + continue; + + AuDebugOn(type != (p->hi_inode->i_mode & S_IFMT)); + new_bindex = au_br_index(sb, p->hi_id); + if (new_bindex == bindex) + continue; + + if (new_bindex < 0) { + *update = 1; + au_hiput(p); + p->hi_inode = NULL; + continue; + } + + if (new_bindex < iinfo->ii_bstart) + iinfo->ii_bstart = new_bindex; + if (iinfo->ii_bend < new_bindex) + iinfo->ii_bend = new_bindex; + /* swap two lower inode, and loop again */ + q = iinfo->ii_hinode + new_bindex; + tmp = *q; + *q = *p; + *p = tmp; + if (tmp.hi_inode) { + bindex--; + p--; + } + } + au_update_ibrange(inode, /*do_put_zero*/0); + e = au_dy_irefresh(inode); + if (unlikely(e && !err)) + err = e; + +out: + AuTraceErr(err); + return err; +} + +int au_refresh_hinode_self(struct inode *inode) +{ + int err, update; + + err = au_ii_refresh(inode, &update); + if (!err) + au_refresh_hinode_attr(inode, update && S_ISDIR(inode->i_mode)); + + AuTraceErr(err); + return err; +} + +int au_refresh_hinode(struct inode *inode, struct dentry *dentry) +{ + int err, e, update; + unsigned int flags; + umode_t mode; + aufs_bindex_t bindex, bend; + unsigned char isdir; + struct au_hinode *p; + struct au_iinfo *iinfo; + + err = au_ii_refresh(inode, &update); + if (unlikely(err)) + goto out; + + update = 0; + iinfo = au_ii(inode); + p = iinfo->ii_hinode + iinfo->ii_bstart; + mode = (inode->i_mode & S_IFMT); + isdir = S_ISDIR(mode); + flags = au_hi_flags(inode, isdir); + bend = au_dbend(dentry); + for (bindex = au_dbstart(dentry); bindex <= bend; bindex++) { + struct inode *h_i; + struct dentry *h_d; + + h_d = au_h_dptr(dentry, bindex); + if (!h_d || !h_d->d_inode) + continue; + + AuDebugOn(mode != (h_d->d_inode->i_mode & S_IFMT)); + if (iinfo->ii_bstart <= bindex && bindex <= iinfo->ii_bend) { + h_i = au_h_iptr(inode, bindex); + if (h_i) { + if (h_i == h_d->d_inode) + continue; + err = -EIO; + break; + } + } + if (bindex < iinfo->ii_bstart) + iinfo->ii_bstart = bindex; + if (iinfo->ii_bend < bindex) + iinfo->ii_bend = bindex; + au_set_h_iptr(inode, bindex, au_igrab(h_d->d_inode), flags); + update = 1; + } + au_update_ibrange(inode, /*do_put_zero*/0); + e = au_dy_irefresh(inode); + if (unlikely(e && !err)) + err = e; + if (!err) + au_refresh_hinode_attr(inode, update && isdir); + +out: + AuTraceErr(err); + return err; +} + +static int set_inode(struct inode *inode, struct dentry *dentry) +{ + int err; + unsigned int flags; + umode_t mode; + aufs_bindex_t bindex, bstart, btail; + unsigned char isdir; + struct dentry *h_dentry; + struct inode *h_inode; + struct au_iinfo *iinfo; + + IiMustWriteLock(inode); + + err = 0; + isdir = 0; + bstart = au_dbstart(dentry); + h_inode = au_h_dptr(dentry, bstart)->d_inode; + mode = h_inode->i_mode; + switch (mode & S_IFMT) { + case S_IFREG: + btail = au_dbtail(dentry); + inode->i_op = &aufs_iop; + inode->i_fop = &aufs_file_fop; + err = au_dy_iaop(inode, bstart, h_inode); + if (unlikely(err)) + goto out; + break; + case S_IFDIR: + isdir = 1; + btail = au_dbtaildir(dentry); + inode->i_op = &aufs_dir_iop; + inode->i_fop = &aufs_dir_fop; + break; + case S_IFLNK: + btail = au_dbtail(dentry); + inode->i_op = &aufs_symlink_iop; + break; + case S_IFBLK: + case S_IFCHR: + case S_IFIFO: + case S_IFSOCK: + btail = au_dbtail(dentry); + inode->i_op = &aufs_iop; + au_init_special_fop(inode, mode, h_inode->i_rdev); + break; + default: + AuIOErr("Unknown file type 0%o\n", mode); + err = -EIO; + goto out; + } + + /* do not set hnotify for whiteouted dirs (SHWH mode) */ + flags = au_hi_flags(inode, isdir); + if (au_opt_test(au_mntflags(dentry->d_sb), SHWH) + && au_ftest_hi(flags, HNOTIFY) + && dentry->d_name.len > AUFS_WH_PFX_LEN + && !memcmp(dentry->d_name.name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) + au_fclr_hi(flags, HNOTIFY); + iinfo = au_ii(inode); + iinfo->ii_bstart = bstart; + iinfo->ii_bend = btail; + for (bindex = bstart; bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry) + au_set_h_iptr(inode, bindex, + au_igrab(h_dentry->d_inode), flags); + } + au_cpup_attr_all(inode, /*force*/1); + +out: + return err; +} + +/* + * successful returns with iinfo write_locked + * minus: errno + * zero: success, matched + * plus: no error, but unmatched + */ +static int reval_inode(struct inode *inode, struct dentry *dentry) +{ + int err; + aufs_bindex_t bindex, bend; + struct inode *h_inode, *h_dinode; + + /* + * before this function, if aufs got any iinfo lock, it must be only + * one, the parent dir. + * it can happen by UDBA and the obsoleted inode number. + */ + err = -EIO; + if (unlikely(inode->i_ino == parent_ino(dentry))) + goto out; + + err = 1; + ii_write_lock_new_child(inode); + h_dinode = au_h_dptr(dentry, au_dbstart(dentry))->d_inode; + bend = au_ibend(inode); + for (bindex = au_ibstart(inode); bindex <= bend; bindex++) { + h_inode = au_h_iptr(inode, bindex); + if (h_inode && h_inode == h_dinode) { + err = 0; + if (au_iigen_test(inode, au_digen(dentry))) + err = au_refresh_hinode(inode, dentry); + break; + } + } + + if (unlikely(err)) + ii_write_unlock(inode); +out: + return err; +} + +int au_ino(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + unsigned int d_type, ino_t *ino) +{ + int err; + struct mutex *mtx; + + /* prevent hardlinked inode number from race condition */ + mtx = NULL; + if (d_type != DT_DIR) { + mtx = &au_sbr(sb, bindex)->br_xino.xi_nondir_mtx; + mutex_lock(mtx); + } + err = au_xino_read(sb, bindex, h_ino, ino); + if (unlikely(err)) + goto out; + + if (!*ino) { + err = -EIO; + *ino = au_xino_new_ino(sb); + if (unlikely(!*ino)) + goto out; + err = au_xino_write(sb, bindex, h_ino, *ino); + if (unlikely(err)) + goto out; + } + +out: + if (mtx) + mutex_unlock(mtx); + return err; +} + +/* successful returns with iinfo write_locked */ +/* todo: return with unlocked? */ +struct inode *au_new_inode(struct dentry *dentry, int must_new) +{ + struct inode *inode, *h_inode; + struct dentry *h_dentry; + struct super_block *sb; + struct mutex *mtx; + ino_t h_ino, ino; + int err, lc_idx; + aufs_bindex_t bstart; + + sb = dentry->d_sb; + bstart = au_dbstart(dentry); + h_dentry = au_h_dptr(dentry, bstart); + h_inode = h_dentry->d_inode; + h_ino = h_inode->i_ino; + + /* + * stop 'race'-ing between hardlinks under different + * parents. + */ + mtx = NULL; + if (!S_ISDIR(h_inode->i_mode)) + mtx = &au_sbr(sb, bstart)->br_xino.xi_nondir_mtx; + +new_ino: + if (mtx) + mutex_lock(mtx); + err = au_xino_read(sb, bstart, h_ino, &ino); + inode = ERR_PTR(err); + if (unlikely(err)) + goto out; + + if (!ino) { + ino = au_xino_new_ino(sb); + if (unlikely(!ino)) { + inode = ERR_PTR(-EIO); + goto out; + } + } + + AuDbg("i%lu\n", (unsigned long)ino); + inode = au_iget_locked(sb, ino); + err = PTR_ERR(inode); + if (IS_ERR(inode)) + goto out; + + AuDbg("%lx, new %d\n", inode->i_state, !!(inode->i_state & I_NEW)); + if (inode->i_state & I_NEW) { + lc_idx = AuLcNonDir_IIINFO; + if (S_ISLNK(h_inode->i_mode)) + lc_idx = AuLcSymlink_IIINFO; + else if (S_ISDIR(h_inode->i_mode)) + lc_idx = AuLcDir_IIINFO; + au_rw_class(&au_ii(inode)->ii_rwsem, au_lc_key + lc_idx); + + ii_write_lock_new_child(inode); + err = set_inode(inode, dentry); + if (!err) { + unlock_new_inode(inode); + goto out; /* success */ + } + + /* + * iget_failed() calls iput(), but we need to call + * ii_write_unlock() after iget_failed(). so dirty hack for + * i_count. + */ + atomic_inc(&inode->i_count); + iget_failed(inode); + ii_write_unlock(inode); + au_xino_write(sb, bstart, h_ino, /*ino*/0); + /* ignore this error */ + goto out_iput; + } else if (!must_new && !IS_DEADDIR(inode) && inode->i_nlink) { + /* + * horrible race condition between lookup, readdir and copyup + * (or something). + */ + if (mtx) + mutex_unlock(mtx); + err = reval_inode(inode, dentry); + if (unlikely(err < 0)) { + mtx = NULL; + goto out_iput; + } + + if (!err) { + mtx = NULL; + goto out; /* success */ + } else if (mtx) + mutex_lock(mtx); + } + + if (unlikely(au_test_fs_unique_ino(h_dentry->d_inode))) + AuWarn1("Warning: Un-notified UDBA or repeatedly renamed dir," + " b%d, %s, %.*s, hi%lu, i%lu.\n", + bstart, au_sbtype(h_dentry->d_sb), AuDLNPair(dentry), + (unsigned long)h_ino, (unsigned long)ino); + ino = 0; + err = au_xino_write(sb, bstart, h_ino, /*ino*/0); + if (!err) { + iput(inode); + if (mtx) + mutex_unlock(mtx); + goto new_ino; + } + +out_iput: + iput(inode); + inode = ERR_PTR(err); +out: + if (mtx) + mutex_unlock(mtx); + return inode; +} + +/* ---------------------------------------------------------------------- */ + +int au_test_ro(struct super_block *sb, aufs_bindex_t bindex, + struct inode *inode) +{ + int err; + + err = au_br_rdonly(au_sbr(sb, bindex)); + + /* pseudo-link after flushed may happen out of bounds */ + if (!err + && inode + && au_ibstart(inode) <= bindex + && bindex <= au_ibend(inode)) { + /* + * permission check is unnecessary since vfsub routine + * will be called later + */ + struct inode *hi = au_h_iptr(inode, bindex); + if (hi) + err = IS_IMMUTABLE(hi) ? -EROFS : 0; + } + + return err; +} + +int au_test_h_perm(struct inode *h_inode, int mask) +{ + if (uid_eq(current_fsuid(), GLOBAL_ROOT_UID)) + return 0; + return inode_permission(h_inode, mask); +} + +int au_test_h_perm_sio(struct inode *h_inode, int mask) +{ + if (au_test_nfs(h_inode->i_sb) + && (mask & MAY_WRITE) + && S_ISDIR(h_inode->i_mode)) + mask |= MAY_READ; /* force permission check */ + return au_test_h_perm(h_inode, mask); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/inode.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/inode.h @@ -0,0 +1,560 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * inode operations + */ + +#ifndef __AUFS_INODE_H__ +#define __AUFS_INODE_H__ + +#ifdef __KERNEL__ + +#include +#include "rwsem.h" + +struct vfsmount; + +struct au_hnotify { +#ifdef CONFIG_AUFS_HNOTIFY +#ifdef CONFIG_AUFS_HFSNOTIFY + /* never use fsnotify_add_vfsmount_mark() */ + struct fsnotify_mark hn_mark; +#endif + struct inode *hn_aufs_inode; /* no get/put */ +#endif +} ____cacheline_aligned_in_smp; + +struct au_hinode { + struct inode *hi_inode; + aufs_bindex_t hi_id; +#ifdef CONFIG_AUFS_HNOTIFY + struct au_hnotify *hi_notify; +#endif + + /* reference to the copied-up whiteout with get/put */ + struct dentry *hi_whdentry; +}; + +struct au_vdir; +struct au_iinfo { + atomic_t ii_generation; + struct super_block *ii_hsb1; /* no get/put */ + + struct au_rwsem ii_rwsem; + aufs_bindex_t ii_bstart, ii_bend; + __u32 ii_higen; + struct au_hinode *ii_hinode; + struct au_vdir *ii_vdir; +}; + +struct au_icntnr { + struct au_iinfo iinfo; + struct inode vfs_inode; +} ____cacheline_aligned_in_smp; + +/* au_pin flags */ +#define AuPin_DI_LOCKED 1 +#define AuPin_MNT_WRITE (1 << 1) +#define au_ftest_pin(flags, name) ((flags) & AuPin_##name) +#define au_fset_pin(flags, name) \ + do { (flags) |= AuPin_##name; } while (0) +#define au_fclr_pin(flags, name) \ + do { (flags) &= ~AuPin_##name; } while (0) + +struct au_pin { + /* input */ + struct dentry *dentry; + unsigned int udba; + unsigned char lsc_di, lsc_hi, flags; + aufs_bindex_t bindex; + + /* output */ + struct dentry *parent; + struct au_hinode *hdir; + struct vfsmount *h_mnt; +}; + +/* ---------------------------------------------------------------------- */ + +static inline struct au_iinfo *au_ii(struct inode *inode) +{ + struct au_iinfo *iinfo; + + iinfo = &(container_of(inode, struct au_icntnr, vfs_inode)->iinfo); + if (iinfo->ii_hinode) + return iinfo; + return NULL; /* debugging bad_inode case */ +} + +/* ---------------------------------------------------------------------- */ + +/* inode.c */ +struct inode *au_igrab(struct inode *inode); +int au_refresh_hinode_self(struct inode *inode); +int au_refresh_hinode(struct inode *inode, struct dentry *dentry); +int au_ino(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + unsigned int d_type, ino_t *ino); +struct inode *au_new_inode(struct dentry *dentry, int must_new); +int au_test_ro(struct super_block *sb, aufs_bindex_t bindex, + struct inode *inode); +int au_test_h_perm(struct inode *h_inode, int mask); +int au_test_h_perm_sio(struct inode *h_inode, int mask); + +static inline int au_wh_ino(struct super_block *sb, aufs_bindex_t bindex, + ino_t h_ino, unsigned int d_type, ino_t *ino) +{ +#ifdef CONFIG_AUFS_SHWH + return au_ino(sb, bindex, h_ino, d_type, ino); +#else + return 0; +#endif +} + +/* i_op.c */ +extern struct inode_operations aufs_iop, aufs_symlink_iop, aufs_dir_iop; + +/* au_wr_dir flags */ +#define AuWrDir_ADD_ENTRY 1 +#define AuWrDir_ISDIR (1 << 1) +#define au_ftest_wrdir(flags, name) ((flags) & AuWrDir_##name) +#define au_fset_wrdir(flags, name) \ + do { (flags) |= AuWrDir_##name; } while (0) +#define au_fclr_wrdir(flags, name) \ + do { (flags) &= ~AuWrDir_##name; } while (0) + +struct au_wr_dir_args { + aufs_bindex_t force_btgt; + unsigned char flags; +}; +int au_wr_dir(struct dentry *dentry, struct dentry *src_dentry, + struct au_wr_dir_args *args); + +struct dentry *au_pinned_h_parent(struct au_pin *pin); +void au_pin_init(struct au_pin *pin, struct dentry *dentry, + aufs_bindex_t bindex, int lsc_di, int lsc_hi, + unsigned int udba, unsigned char flags); +int au_pin(struct au_pin *pin, struct dentry *dentry, aufs_bindex_t bindex, + unsigned int udba, unsigned char flags) __must_check; +int au_do_pin(struct au_pin *pin) __must_check; +void au_unpin(struct au_pin *pin); + +/* i_op_add.c */ +int au_may_add(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir); +int aufs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, + dev_t dev); +int aufs_symlink(struct inode *dir, struct dentry *dentry, const char *symname); +int aufs_create(struct inode *dir, struct dentry *dentry, umode_t mode, + struct nameidata *nd); +int aufs_link(struct dentry *src_dentry, struct inode *dir, + struct dentry *dentry); +int aufs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode); + +/* i_op_del.c */ +int au_wr_dir_need_wh(struct dentry *dentry, int isdir, aufs_bindex_t *bcpup); +int au_may_del(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir); +int aufs_unlink(struct inode *dir, struct dentry *dentry); +int aufs_rmdir(struct inode *dir, struct dentry *dentry); + +/* i_op_ren.c */ +int au_wbr(struct dentry *dentry, aufs_bindex_t btgt); +int aufs_rename(struct inode *src_dir, struct dentry *src_dentry, + struct inode *dir, struct dentry *dentry); + +/* iinfo.c */ +struct inode *au_h_iptr(struct inode *inode, aufs_bindex_t bindex); +void au_hiput(struct au_hinode *hinode); +void au_set_hi_wh(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_wh); +unsigned int au_hi_flags(struct inode *inode, int isdir); + +/* hinode flags */ +#define AuHi_XINO 1 +#define AuHi_HNOTIFY (1 << 1) +#define au_ftest_hi(flags, name) ((flags) & AuHi_##name) +#define au_fset_hi(flags, name) \ + do { (flags) |= AuHi_##name; } while (0) +#define au_fclr_hi(flags, name) \ + do { (flags) &= ~AuHi_##name; } while (0) + +#ifndef CONFIG_AUFS_HNOTIFY +#undef AuHi_HNOTIFY +#define AuHi_HNOTIFY 0 +#endif + +void au_set_h_iptr(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode, unsigned int flags); + +void au_update_iigen(struct inode *inode); +void au_update_ibrange(struct inode *inode, int do_put_zero); + +void au_icntnr_init_once(void *_c); +int au_iinfo_init(struct inode *inode); +void au_iinfo_fin(struct inode *inode); +int au_ii_realloc(struct au_iinfo *iinfo, int nbr); + +#ifdef CONFIG_PROC_FS +/* plink.c */ +int au_plink_maint(struct super_block *sb, int flags); +void au_plink_maint_leave(struct au_sbinfo *sbinfo); +int au_plink_maint_enter(struct super_block *sb); +#ifdef CONFIG_AUFS_DEBUG +void au_plink_list(struct super_block *sb); +#else +AuStubVoid(au_plink_list, struct super_block *sb) +#endif +int au_plink_test(struct inode *inode); +struct dentry *au_plink_lkup(struct inode *inode, aufs_bindex_t bindex); +void au_plink_append(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_dentry); +void au_plink_put(struct super_block *sb, int verbose); +void au_plink_clean(struct super_block *sb, int verbose); +void au_plink_half_refresh(struct super_block *sb, aufs_bindex_t br_id); +#else +AuStubInt0(au_plink_maint, struct super_block *sb, int flags); +AuStubVoid(au_plink_maint_leave, struct au_sbinfo *sbinfo); +AuStubInt0(au_plink_maint_enter, struct super_block *sb); +AuStubVoid(au_plink_list, struct super_block *sb); +AuStubInt0(au_plink_test, struct inode *inode); +AuStub(struct dentry *, au_plink_lkup, return NULL, + struct inode *inode, aufs_bindex_t bindex); +AuStubVoid(au_plink_append, struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_dentry); +AuStubVoid(au_plink_put, struct super_block *sb, int verbose); +AuStubVoid(au_plink_clean, struct super_block *sb, int verbose); +AuStubVoid(au_plink_half_refresh, struct super_block *sb, aufs_bindex_t br_id); +#endif /* CONFIG_PROC_FS */ + +/* ---------------------------------------------------------------------- */ + +/* lock subclass for iinfo */ +enum { + AuLsc_II_CHILD, /* child first */ + AuLsc_II_CHILD2, /* rename(2), link(2), and cpup at hnotify */ + AuLsc_II_CHILD3, /* copyup dirs */ + AuLsc_II_PARENT, /* see AuLsc_I_PARENT in vfsub.h */ + AuLsc_II_PARENT2, + AuLsc_II_PARENT3, /* copyup dirs */ + AuLsc_II_NEW_CHILD +}; + +/* + * ii_read_lock_child, ii_write_lock_child, + * ii_read_lock_child2, ii_write_lock_child2, + * ii_read_lock_child3, ii_write_lock_child3, + * ii_read_lock_parent, ii_write_lock_parent, + * ii_read_lock_parent2, ii_write_lock_parent2, + * ii_read_lock_parent3, ii_write_lock_parent3, + * ii_read_lock_new_child, ii_write_lock_new_child, + */ +#define AuReadLockFunc(name, lsc) \ +static inline void ii_read_lock_##name(struct inode *i) \ +{ \ + au_rw_read_lock_nested(&au_ii(i)->ii_rwsem, AuLsc_II_##lsc); \ +} + +#define AuWriteLockFunc(name, lsc) \ +static inline void ii_write_lock_##name(struct inode *i) \ +{ \ + au_rw_write_lock_nested(&au_ii(i)->ii_rwsem, AuLsc_II_##lsc); \ +} + +#define AuRWLockFuncs(name, lsc) \ + AuReadLockFunc(name, lsc) \ + AuWriteLockFunc(name, lsc) + +AuRWLockFuncs(child, CHILD); +AuRWLockFuncs(child2, CHILD2); +AuRWLockFuncs(child3, CHILD3); +AuRWLockFuncs(parent, PARENT); +AuRWLockFuncs(parent2, PARENT2); +AuRWLockFuncs(parent3, PARENT3); +AuRWLockFuncs(new_child, NEW_CHILD); + +#undef AuReadLockFunc +#undef AuWriteLockFunc +#undef AuRWLockFuncs + +/* + * ii_read_unlock, ii_write_unlock, ii_downgrade_lock + */ +AuSimpleUnlockRwsemFuncs(ii, struct inode *i, &au_ii(i)->ii_rwsem); + +#define IiMustNoWaiters(i) AuRwMustNoWaiters(&au_ii(i)->ii_rwsem) +#define IiMustAnyLock(i) AuRwMustAnyLock(&au_ii(i)->ii_rwsem) +#define IiMustWriteLock(i) AuRwMustWriteLock(&au_ii(i)->ii_rwsem) + +/* ---------------------------------------------------------------------- */ + +static inline void au_icntnr_init(struct au_icntnr *c) +{ +#ifdef CONFIG_AUFS_DEBUG + c->vfs_inode.i_mode = 0; +#endif +} + +static inline unsigned int au_iigen(struct inode *inode) +{ + return atomic_read(&au_ii(inode)->ii_generation); +} + +/* tiny test for inode number */ +/* tmpfs generation is too rough */ +static inline int au_test_higen(struct inode *inode, struct inode *h_inode) +{ + struct au_iinfo *iinfo; + + iinfo = au_ii(inode); + AuRwMustAnyLock(&iinfo->ii_rwsem); + return !(iinfo->ii_hsb1 == h_inode->i_sb + && iinfo->ii_higen == h_inode->i_generation); +} + +static inline void au_iigen_dec(struct inode *inode) +{ + atomic_dec(&au_ii(inode)->ii_generation); +} + +static inline int au_iigen_test(struct inode *inode, unsigned int sigen) +{ + int err; + + err = 0; + if (unlikely(inode && au_iigen(inode) != sigen)) + err = -EIO; + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static inline aufs_bindex_t au_ii_br_id(struct inode *inode, + aufs_bindex_t bindex) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_hinode[0 + bindex].hi_id; +} + +static inline aufs_bindex_t au_ibstart(struct inode *inode) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_bstart; +} + +static inline aufs_bindex_t au_ibend(struct inode *inode) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_bend; +} + +static inline struct au_vdir *au_ivdir(struct inode *inode) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_vdir; +} + +static inline struct dentry *au_hi_wh(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_hinode[0 + bindex].hi_whdentry; +} + +static inline void au_set_ibstart(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustWriteLock(inode); + au_ii(inode)->ii_bstart = bindex; +} + +static inline void au_set_ibend(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustWriteLock(inode); + au_ii(inode)->ii_bend = bindex; +} + +static inline void au_set_ivdir(struct inode *inode, struct au_vdir *vdir) +{ + IiMustWriteLock(inode); + au_ii(inode)->ii_vdir = vdir; +} + +static inline struct au_hinode *au_hi(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_hinode + bindex; +} + +/* ---------------------------------------------------------------------- */ + +static inline struct dentry *au_pinned_parent(struct au_pin *pin) +{ + if (pin) + return pin->parent; + return NULL; +} + +static inline struct inode *au_pinned_h_dir(struct au_pin *pin) +{ + if (pin && pin->hdir) + return pin->hdir->hi_inode; + return NULL; +} + +static inline struct au_hinode *au_pinned_hdir(struct au_pin *pin) +{ + if (pin) + return pin->hdir; + return NULL; +} + +static inline void au_pin_set_dentry(struct au_pin *pin, struct dentry *dentry) +{ + if (pin) + pin->dentry = dentry; +} + +static inline void au_pin_set_parent_lflag(struct au_pin *pin, + unsigned char lflag) +{ + if (pin) { + if (lflag) + au_fset_pin(pin->flags, DI_LOCKED); + else + au_fclr_pin(pin->flags, DI_LOCKED); + } +} + +static inline void au_pin_set_parent(struct au_pin *pin, struct dentry *parent) +{ + if (pin) { + dput(pin->parent); + pin->parent = dget(parent); + } +} + +/* ---------------------------------------------------------------------- */ + +struct au_branch; +#ifdef CONFIG_AUFS_HNOTIFY +struct au_hnotify_op { + void (*ctl)(struct au_hinode *hinode, int do_set); + int (*alloc)(struct au_hinode *hinode); + + /* + * if it returns true, the the caller should free hinode->hi_notify, + * otherwise ->free() frees it. + */ + int (*free)(struct au_hinode *hinode, + struct au_hnotify *hn) __must_check; + + void (*fin)(void); + int (*init)(void); + + int (*reset_br)(unsigned int udba, struct au_branch *br, int perm); + void (*fin_br)(struct au_branch *br); + int (*init_br)(struct au_branch *br, int perm); +}; + +/* hnotify.c */ +int au_hn_alloc(struct au_hinode *hinode, struct inode *inode); +void au_hn_free(struct au_hinode *hinode); +void au_hn_ctl(struct au_hinode *hinode, int do_set); +void au_hn_reset(struct inode *inode, unsigned int flags); +int au_hnotify(struct inode *h_dir, struct au_hnotify *hnotify, u32 mask, + struct qstr *h_child_qstr, struct inode *h_child_inode); +int au_hnotify_reset_br(unsigned int udba, struct au_branch *br, int perm); +int au_hnotify_init_br(struct au_branch *br, int perm); +void au_hnotify_fin_br(struct au_branch *br); +int __init au_hnotify_init(void); +void au_hnotify_fin(void); + +/* hfsnotify.c */ +extern const struct au_hnotify_op au_hnotify_op; + +static inline +void au_hn_init(struct au_hinode *hinode) +{ + hinode->hi_notify = NULL; +} + +static inline struct au_hnotify *au_hn(struct au_hinode *hinode) +{ + return hinode->hi_notify; +} + +#else +static inline +int au_hn_alloc(struct au_hinode *hinode __maybe_unused, + struct inode *inode __maybe_unused) +{ + return -EOPNOTSUPP; +} + +static inline struct au_hnotify *au_hn(struct au_hinode *hinode) +{ + return NULL; +} + +AuStubVoid(au_hn_free, struct au_hinode *hinode __maybe_unused) +AuStubVoid(au_hn_ctl, struct au_hinode *hinode __maybe_unused, + int do_set __maybe_unused) +AuStubVoid(au_hn_reset, struct inode *inode __maybe_unused, + unsigned int flags __maybe_unused) +AuStubInt0(au_hnotify_reset_br, unsigned int udba __maybe_unused, + struct au_branch *br __maybe_unused, + int perm __maybe_unused) +AuStubInt0(au_hnotify_init_br, struct au_branch *br __maybe_unused, + int perm __maybe_unused) +AuStubVoid(au_hnotify_fin_br, struct au_branch *br __maybe_unused) +AuStubInt0(__init au_hnotify_init, void) +AuStubVoid(au_hnotify_fin, void) +AuStubVoid(au_hn_init, struct au_hinode *hinode __maybe_unused) +#endif /* CONFIG_AUFS_HNOTIFY */ + +static inline void au_hn_suspend(struct au_hinode *hdir) +{ + au_hn_ctl(hdir, /*do_set*/0); +} + +static inline void au_hn_resume(struct au_hinode *hdir) +{ + au_hn_ctl(hdir, /*do_set*/1); +} + +static inline void au_hn_imtx_lock(struct au_hinode *hdir) +{ + mutex_lock(&hdir->hi_inode->i_mutex); + au_hn_suspend(hdir); +} + +static inline void au_hn_imtx_lock_nested(struct au_hinode *hdir, + unsigned int sc __maybe_unused) +{ + mutex_lock_nested(&hdir->hi_inode->i_mutex, sc); + au_hn_suspend(hdir); +} + +static inline void au_hn_imtx_unlock(struct au_hinode *hdir) +{ + au_hn_resume(hdir); + mutex_unlock(&hdir->hi_inode->i_mutex); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_INODE_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/ioctl.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/ioctl.c @@ -0,0 +1,196 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * ioctl + * plink-management and readdir in userspace. + * assist the pathconf(3) wrapper library. + */ + +#include "aufs.h" + +static int au_wbr_fd(struct path *path, struct aufs_wbr_fd __user *arg) +{ + int err, fd; + aufs_bindex_t wbi, bindex, bend; + struct file *h_file; + struct super_block *sb; + struct dentry *root; + struct au_branch *br; + struct aufs_wbr_fd wbrfd = { + .oflags = au_dir_roflags, + .brid = -1 + }; + const int valid = O_RDONLY | O_NONBLOCK | O_LARGEFILE | O_DIRECTORY + | O_NOATIME | O_CLOEXEC; + + AuDebugOn(wbrfd.oflags & ~valid); + + if (arg) { + err = copy_from_user(&wbrfd, arg, sizeof(wbrfd)); + if (unlikely(err)) { + err = -EFAULT; + goto out; + } + + err = -EINVAL; + AuDbg("wbrfd{0%o, %d}\n", wbrfd.oflags, wbrfd.brid); + wbrfd.oflags |= au_dir_roflags; + AuDbg("0%o\n", wbrfd.oflags); + if (unlikely(wbrfd.oflags & ~valid)) + goto out; + } + + fd = get_unused_fd(); + err = fd; + if (unlikely(fd < 0)) + goto out; + + h_file = ERR_PTR(-EINVAL); + wbi = 0; + br = NULL; + sb = path->dentry->d_sb; + root = sb->s_root; + aufs_read_lock(root, AuLock_IR); + bend = au_sbend(sb); + if (wbrfd.brid >= 0) { + wbi = au_br_index(sb, wbrfd.brid); + if (unlikely(wbi < 0 || wbi > bend)) + goto out_unlock; + } + + h_file = ERR_PTR(-ENOENT); + br = au_sbr(sb, wbi); + if (!au_br_writable(br->br_perm)) { + if (arg) + goto out_unlock; + + bindex = wbi + 1; + wbi = -1; + for (; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_writable(br->br_perm)) { + wbi = bindex; + br = au_sbr(sb, wbi); + break; + } + } + } + AuDbg("wbi %d\n", wbi); + if (wbi >= 0) + h_file = au_h_open(root, wbi, wbrfd.oflags, NULL); + +out_unlock: + aufs_read_unlock(root, AuLock_IR); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out_fd; + + atomic_dec(&br->br_count); /* cf. au_h_open() */ + fd_install(fd, h_file); + err = fd; + goto out; /* success */ + +out_fd: + put_unused_fd(fd); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +long aufs_ioctl_dir(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err; + + switch (cmd) { + case AUFS_CTL_RDU: + case AUFS_CTL_RDU_INO: + err = au_rdu_ioctl(file, cmd, arg); + break; + + case AUFS_CTL_WBR_FD: + err = au_wbr_fd(&file->f_path, (void __user *)arg); + break; + + case AUFS_CTL_IBUSY: + err = au_ibusy_ioctl(file, arg); + break; + + default: + /* do not call the lower */ + AuDbg("0x%x\n", cmd); + err = -ENOTTY; + } + + AuTraceErr(err); + return err; +} + +long aufs_ioctl_nondir(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err; + + switch (cmd) { + case AUFS_CTL_WBR_FD: + err = au_wbr_fd(&file->f_path, (void __user *)arg); + break; + + default: + /* do not call the lower */ + AuDbg("0x%x\n", cmd); + err = -ENOTTY; + } + + AuTraceErr(err); + return err; +} + +#ifdef CONFIG_COMPAT +long aufs_compat_ioctl_dir(struct file *file, unsigned int cmd, + unsigned long arg) +{ + long err; + + switch (cmd) { + case AUFS_CTL_RDU: + case AUFS_CTL_RDU_INO: + err = au_rdu_compat_ioctl(file, cmd, arg); + break; + + case AUFS_CTL_IBUSY: + err = au_ibusy_compat_ioctl(file, arg); + break; + + default: + err = aufs_ioctl_dir(file, cmd, arg); + } + + AuTraceErr(err); + return err; +} + +#if 0 /* unused yet */ +long aufs_compat_ioctl_nondir(struct file *file, unsigned int cmd, + unsigned long arg) +{ + return aufs_ioctl_nondir(file, cmd, (unsigned long)compat_ptr(arg)); +} +#endif +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/loop.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/loop.c @@ -0,0 +1,133 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * support for loopback block device as a branch + */ + +#include +#include "aufs.h" + +/* + * test if two lower dentries have overlapping branches. + */ +int au_test_loopback_overlap(struct super_block *sb, struct dentry *h_adding) +{ + struct super_block *h_sb; + struct loop_device *l; + + h_sb = h_adding->d_sb; + if (MAJOR(h_sb->s_dev) != LOOP_MAJOR) + return 0; + + l = h_sb->s_bdev->bd_disk->private_data; + h_adding = l->lo_backing_file->f_dentry; + /* + * h_adding can be local NFS. + * in this case aufs cannot detect the loop. + */ + if (unlikely(h_adding->d_sb == sb)) + return 1; + return !!au_test_subdir(h_adding, sb->s_root); +} + +/* true if a kernel thread named 'loop[0-9].*' accesses a file */ +int au_test_loopback_kthread(void) +{ + int ret; + struct task_struct *tsk = current; + + ret = 0; + if (tsk->flags & PF_KTHREAD) { + const char c = tsk->comm[4]; + ret = ('0' <= c && c <= '9' + && !strncmp(tsk->comm, "loop", 4)); + } + + return ret; +} + +/* ---------------------------------------------------------------------- */ + +#define au_warn_loopback_step 16 +static int au_warn_loopback_nelem = au_warn_loopback_step; +static unsigned long *au_warn_loopback_array; + +void au_warn_loopback(struct super_block *h_sb) +{ + int i, new_nelem; + unsigned long *a, magic; + static DEFINE_SPINLOCK(spin); + + magic = h_sb->s_magic; + spin_lock(&spin); + a = au_warn_loopback_array; + for (i = 0; i < au_warn_loopback_nelem && *a; i++) + if (a[i] == magic) { + spin_unlock(&spin); + return; + } + + /* h_sb is new to us, print it */ + if (i < au_warn_loopback_nelem) { + a[i] = magic; + goto pr; + } + + /* expand the array */ + new_nelem = au_warn_loopback_nelem + au_warn_loopback_step; + a = au_kzrealloc(au_warn_loopback_array, + au_warn_loopback_nelem * sizeof(unsigned long), + new_nelem * sizeof(unsigned long), GFP_ATOMIC); + if (a) { + au_warn_loopback_nelem = new_nelem; + au_warn_loopback_array = a; + a[i] = magic; + goto pr; + } + + spin_unlock(&spin); + AuWarn1("realloc failed, ignored\n"); + return; + +pr: + spin_unlock(&spin); + pr_warn("you may want to try another patch for loopback file " + "on %s(0x%lx) branch\n", au_sbtype(h_sb), magic); +} + +int au_loopback_init(void) +{ + int err; + struct super_block *sb __maybe_unused; + + AuDebugOn(sizeof(sb->s_magic) != sizeof(unsigned long)); + + err = 0; + au_warn_loopback_array = kcalloc(au_warn_loopback_step, + sizeof(unsigned long), GFP_NOFS); + if (unlikely(!au_warn_loopback_array)) + err = -ENOMEM; + + return err; +} + +void au_loopback_fin(void) +{ + kfree(au_warn_loopback_array); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/loop.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/loop.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * support for loopback mount as a branch + */ + +#ifndef __AUFS_LOOP_H__ +#define __AUFS_LOOP_H__ + +#ifdef __KERNEL__ + +struct dentry; +struct super_block; + +#ifdef CONFIG_AUFS_BDEV_LOOP +/* loop.c */ +int au_test_loopback_overlap(struct super_block *sb, struct dentry *h_adding); +int au_test_loopback_kthread(void); +void au_warn_loopback(struct super_block *h_sb); + +int au_loopback_init(void); +void au_loopback_fin(void); +#else +AuStubInt0(au_test_loopback_overlap, struct super_block *sb, + struct dentry *h_adding) +AuStubInt0(au_test_loopback_kthread, void) +AuStubVoid(au_warn_loopback, struct super_block *h_sb) + +AuStubInt0(au_loopback_init, void) +AuStubVoid(au_loopback_fin, void) +#endif /* BLK_DEV_LOOP */ + +#endif /* __KERNEL__ */ +#endif /* __AUFS_LOOP_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/magic.mk +++ linux-lowlatency-3.5.0/ubuntu/aufs/magic.mk @@ -0,0 +1,54 @@ + +# defined in ${srctree}/fs/fuse/inode.c +# tristate +ifdef CONFIG_FUSE_FS +ccflags-y += -DFUSE_SUPER_MAGIC=0x65735546 +endif + +# defined in ${srctree}/fs/ocfs2/ocfs2_fs.h +# tristate +ifdef CONFIG_OCFS2_FS +ccflags-y += -DOCFS2_SUPER_MAGIC=0x7461636f +endif + +# defined in ${srctree}/fs/ocfs2/dlm/userdlm.h +# tristate +ifdef CONFIG_OCFS2_FS_O2CB +ccflags-y += -DDLMFS_MAGIC=0x76a9f425 +endif + +# defined in ${srctree}/fs/cifs/cifsfs.c +# tristate +ifdef CONFIG_CIFS_FS +ccflags-y += -DCIFS_MAGIC_NUMBER=0xFF534D42 +endif + +# defined in ${srctree}/fs/xfs/xfs_sb.h +# tristate +ifdef CONFIG_XFS_FS +ccflags-y += -DXFS_SB_MAGIC=0x58465342 +endif + +# defined in ${srctree}/fs/configfs/mount.c +# tristate +ifdef CONFIG_CONFIGFS_FS +ccflags-y += -DCONFIGFS_MAGIC=0x62656570 +endif + +# defined in ${srctree}/fs/9p/v9fs.h +# tristate +ifdef CONFIG_9P_FS +ccflags-y += -DV9FS_MAGIC=0x01021997 +endif + +# defined in ${srctree}/fs/ubifs/ubifs.h +# tristate +ifdef CONFIG_UBIFS_FS +ccflags-y += -DUBIFS_SUPER_MAGIC=0x24051905 +endif + +# defined in ${srctree}/fs/hfsplus/hfsplus_raw.h +# tristate +ifdef CONFIG_HFSPLUS_FS +ccflags-y += -DHFSPLUS_SUPER_MAGIC=0x482b +endif --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/module.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/module.c @@ -0,0 +1,196 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * module global variables and operations + */ + +#include +#include +#include "aufs.h" + +void *au_kzrealloc(void *p, unsigned int nused, unsigned int new_sz, gfp_t gfp) +{ + if (new_sz <= nused) + return p; + + p = krealloc(p, new_sz, gfp); + if (p) + memset(p + nused, 0, new_sz - nused); + return p; +} + +/* ---------------------------------------------------------------------- */ + +/* + * aufs caches + */ +struct kmem_cache *au_cachep[AuCache_Last]; +static int __init au_cache_init(void) +{ + au_cachep[AuCache_DINFO] = AuCacheCtor(au_dinfo, au_di_init_once); + if (au_cachep[AuCache_DINFO]) + /* SLAB_DESTROY_BY_RCU */ + au_cachep[AuCache_ICNTNR] = AuCacheCtor(au_icntnr, + au_icntnr_init_once); + if (au_cachep[AuCache_ICNTNR]) + au_cachep[AuCache_FINFO] = AuCacheCtor(au_finfo, + au_fi_init_once); + if (au_cachep[AuCache_FINFO]) + au_cachep[AuCache_VDIR] = AuCache(au_vdir); + if (au_cachep[AuCache_VDIR]) + au_cachep[AuCache_DEHSTR] = AuCache(au_vdir_dehstr); + if (au_cachep[AuCache_DEHSTR]) + return 0; + + return -ENOMEM; +} + +static void au_cache_fin(void) +{ + int i; + + /* excluding AuCache_HNOTIFY */ + BUILD_BUG_ON(AuCache_HNOTIFY + 1 != AuCache_Last); + for (i = 0; i < AuCache_HNOTIFY; i++) + if (au_cachep[i]) { + kmem_cache_destroy(au_cachep[i]); + au_cachep[i] = NULL; + } +} + +/* ---------------------------------------------------------------------- */ + +int au_dir_roflags; + +#ifdef CONFIG_AUFS_SBILIST +/* + * iterate_supers_type() doesn't protect us from + * remounting (branch management) + */ +struct au_splhead au_sbilist; +#endif + +struct lock_class_key au_lc_key[AuLcKey_Last]; + +/* + * functions for module interface. + */ +MODULE_LICENSE("GPL"); +/* MODULE_LICENSE("GPL v2"); */ +MODULE_AUTHOR("Junjiro R. Okajima "); +MODULE_DESCRIPTION(AUFS_NAME + " -- Advanced multi layered unification filesystem"); +MODULE_VERSION(AUFS_VERSION); + +/* this module parameter has no meaning when SYSFS is disabled */ +int sysaufs_brs = 1; +MODULE_PARM_DESC(brs, "use /fs/aufs/si_*/brN"); +module_param_named(brs, sysaufs_brs, int, S_IRUGO); + +/* ---------------------------------------------------------------------- */ + +static char au_esc_chars[0x20 + 3]; /* 0x01-0x20, backslash, del, and NULL */ + +int au_seq_path(struct seq_file *seq, struct path *path) +{ + return seq_path(seq, path, au_esc_chars); +} + +/* ---------------------------------------------------------------------- */ + +static int __init aufs_init(void) +{ + int err, i; + char *p; + + p = au_esc_chars; + for (i = 1; i <= ' '; i++) + *p++ = i; + *p++ = '\\'; + *p++ = '\x7f'; + *p = 0; + + au_dir_roflags = au_file_roflags(O_DIRECTORY | O_LARGEFILE); + + au_sbilist_init(); + sysaufs_brs_init(); + au_debug_init(); + au_dy_init(); + err = sysaufs_init(); + if (unlikely(err)) + goto out; + err = au_procfs_init(); + if (unlikely(err)) + goto out_sysaufs; + err = au_wkq_init(); + if (unlikely(err)) + goto out_procfs; + err = au_loopback_init(); + if (unlikely(err)) + goto out_wkq; + err = au_hnotify_init(); + if (unlikely(err)) + goto out_loopback; + err = au_sysrq_init(); + if (unlikely(err)) + goto out_hin; + err = au_cache_init(); + if (unlikely(err)) + goto out_sysrq; + err = register_filesystem(&aufs_fs_type); + if (unlikely(err)) + goto out_cache; + /* since we define pr_fmt, call printk directly */ + printk(KERN_INFO AUFS_NAME " " AUFS_VERSION "\n"); + goto out; /* success */ + +out_cache: + au_cache_fin(); +out_sysrq: + au_sysrq_fin(); +out_hin: + au_hnotify_fin(); +out_loopback: + au_loopback_fin(); +out_wkq: + au_wkq_fin(); +out_procfs: + au_procfs_fin(); +out_sysaufs: + sysaufs_fin(); + au_dy_fin(); +out: + return err; +} + +static void __exit aufs_exit(void) +{ + unregister_filesystem(&aufs_fs_type); + au_cache_fin(); + au_sysrq_fin(); + au_hnotify_fin(); + au_loopback_fin(); + au_wkq_fin(); + au_procfs_fin(); + sysaufs_fin(); + au_dy_fin(); +} + +module_init(aufs_init); +module_exit(aufs_exit); --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/module.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/module.h @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * module initialization and module-global + */ + +#ifndef __AUFS_MODULE_H__ +#define __AUFS_MODULE_H__ + +#ifdef __KERNEL__ + +#include + +struct path; +struct seq_file; + +/* module parameters */ +extern int sysaufs_brs; + +/* ---------------------------------------------------------------------- */ + +extern int au_dir_roflags; + +enum { + AuLcNonDir_FIINFO, + AuLcNonDir_DIINFO, + AuLcNonDir_IIINFO, + + AuLcDir_FIINFO, + AuLcDir_DIINFO, + AuLcDir_IIINFO, + + AuLcSymlink_DIINFO, + AuLcSymlink_IIINFO, + + AuLcKey_Last +}; +extern struct lock_class_key au_lc_key[AuLcKey_Last]; + +void *au_kzrealloc(void *p, unsigned int nused, unsigned int new_sz, gfp_t gfp); +int au_seq_path(struct seq_file *seq, struct path *path); + +#ifdef CONFIG_PROC_FS +/* procfs.c */ +int __init au_procfs_init(void); +void au_procfs_fin(void); +#else +AuStubInt0(au_procfs_init, void); +AuStubVoid(au_procfs_fin, void); +#endif + +/* ---------------------------------------------------------------------- */ + +/* kmem cache */ +enum { + AuCache_DINFO, + AuCache_ICNTNR, + AuCache_FINFO, + AuCache_VDIR, + AuCache_DEHSTR, + AuCache_HNOTIFY, /* must be last */ + AuCache_Last +}; + +#define AuCacheFlags (SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD) +#define AuCache(type) KMEM_CACHE(type, AuCacheFlags) +#define AuCacheCtor(type, ctor) \ + kmem_cache_create(#type, sizeof(struct type), \ + __alignof__(struct type), AuCacheFlags, ctor) + +extern struct kmem_cache *au_cachep[]; + +#define AuCacheFuncs(name, index) \ +static inline struct au_##name *au_cache_alloc_##name(void) \ +{ return kmem_cache_alloc(au_cachep[AuCache_##index], GFP_NOFS); } \ +static inline void au_cache_free_##name(struct au_##name *p) \ +{ kmem_cache_free(au_cachep[AuCache_##index], p); } + +AuCacheFuncs(dinfo, DINFO); +AuCacheFuncs(icntnr, ICNTNR); +AuCacheFuncs(finfo, FINFO); +AuCacheFuncs(vdir, VDIR); +AuCacheFuncs(vdir_dehstr, DEHSTR); +#ifdef CONFIG_AUFS_HNOTIFY +AuCacheFuncs(hnotify, HNOTIFY); +#endif + +#endif /* __KERNEL__ */ +#endif /* __AUFS_MODULE_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/opts.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/opts.c @@ -0,0 +1,1677 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * mount options/flags + */ + +#include +#include /* a distribution requires */ +#include +#include "aufs.h" + +/* ---------------------------------------------------------------------- */ + +enum { + Opt_br, + Opt_add, Opt_del, Opt_mod, Opt_reorder, Opt_append, Opt_prepend, + Opt_idel, Opt_imod, Opt_ireorder, + Opt_dirwh, Opt_rdcache, Opt_rdblk, Opt_rdhash, Opt_rendir, + Opt_rdblk_def, Opt_rdhash_def, + Opt_xino, Opt_zxino, Opt_noxino, + Opt_trunc_xino, Opt_trunc_xino_v, Opt_notrunc_xino, + Opt_trunc_xino_path, Opt_itrunc_xino, + Opt_trunc_xib, Opt_notrunc_xib, + Opt_shwh, Opt_noshwh, + Opt_plink, Opt_noplink, Opt_list_plink, + Opt_udba, + Opt_dio, Opt_nodio, + /* Opt_lock, Opt_unlock, */ + Opt_cmd, Opt_cmd_args, + Opt_diropq_a, Opt_diropq_w, + Opt_warn_perm, Opt_nowarn_perm, + Opt_wbr_copyup, Opt_wbr_create, + Opt_refrof, Opt_norefrof, + Opt_verbose, Opt_noverbose, + Opt_sum, Opt_nosum, Opt_wsum, + Opt_tail, Opt_ignore, Opt_ignore_silent, Opt_err +}; + +static match_table_t options = { + {Opt_br, "br=%s"}, + {Opt_br, "br:%s"}, + + {Opt_add, "add=%d:%s"}, + {Opt_add, "add:%d:%s"}, + {Opt_add, "ins=%d:%s"}, + {Opt_add, "ins:%d:%s"}, + {Opt_append, "append=%s"}, + {Opt_append, "append:%s"}, + {Opt_prepend, "prepend=%s"}, + {Opt_prepend, "prepend:%s"}, + + {Opt_del, "del=%s"}, + {Opt_del, "del:%s"}, + /* {Opt_idel, "idel:%d"}, */ + {Opt_mod, "mod=%s"}, + {Opt_mod, "mod:%s"}, + /* {Opt_imod, "imod:%d:%s"}, */ + + {Opt_dirwh, "dirwh=%d"}, + + {Opt_xino, "xino=%s"}, + {Opt_noxino, "noxino"}, + {Opt_trunc_xino, "trunc_xino"}, + {Opt_trunc_xino_v, "trunc_xino_v=%d:%d"}, + {Opt_notrunc_xino, "notrunc_xino"}, + {Opt_trunc_xino_path, "trunc_xino=%s"}, + {Opt_itrunc_xino, "itrunc_xino=%d"}, + /* {Opt_zxino, "zxino=%s"}, */ + {Opt_trunc_xib, "trunc_xib"}, + {Opt_notrunc_xib, "notrunc_xib"}, + +#ifdef CONFIG_PROC_FS + {Opt_plink, "plink"}, +#else + {Opt_ignore_silent, "plink"}, +#endif + + {Opt_noplink, "noplink"}, + +#ifdef CONFIG_AUFS_DEBUG + {Opt_list_plink, "list_plink"}, +#endif + + {Opt_udba, "udba=%s"}, + + {Opt_dio, "dio"}, + {Opt_nodio, "nodio"}, + + {Opt_diropq_a, "diropq=always"}, + {Opt_diropq_a, "diropq=a"}, + {Opt_diropq_w, "diropq=whiteouted"}, + {Opt_diropq_w, "diropq=w"}, + + {Opt_warn_perm, "warn_perm"}, + {Opt_nowarn_perm, "nowarn_perm"}, + + /* keep them temporary */ + {Opt_ignore_silent, "coo=%s"}, + {Opt_ignore_silent, "nodlgt"}, + {Opt_ignore_silent, "nodirperm1"}, + {Opt_ignore_silent, "clean_plink"}, + +#ifdef CONFIG_AUFS_SHWH + {Opt_shwh, "shwh"}, +#endif + {Opt_noshwh, "noshwh"}, + + {Opt_rendir, "rendir=%d"}, + + {Opt_refrof, "refrof"}, + {Opt_norefrof, "norefrof"}, + + {Opt_verbose, "verbose"}, + {Opt_verbose, "v"}, + {Opt_noverbose, "noverbose"}, + {Opt_noverbose, "quiet"}, + {Opt_noverbose, "q"}, + {Opt_noverbose, "silent"}, + + {Opt_sum, "sum"}, + {Opt_nosum, "nosum"}, + {Opt_wsum, "wsum"}, + + {Opt_rdcache, "rdcache=%d"}, + {Opt_rdblk, "rdblk=%d"}, + {Opt_rdblk_def, "rdblk=def"}, + {Opt_rdhash, "rdhash=%d"}, + {Opt_rdhash_def, "rdhash=def"}, + + {Opt_wbr_create, "create=%s"}, + {Opt_wbr_create, "create_policy=%s"}, + {Opt_wbr_copyup, "cpup=%s"}, + {Opt_wbr_copyup, "copyup=%s"}, + {Opt_wbr_copyup, "copyup_policy=%s"}, + + /* internal use for the scripts */ + {Opt_ignore_silent, "si=%s"}, + + {Opt_br, "dirs=%s"}, + {Opt_ignore, "debug=%d"}, + {Opt_ignore, "delete=whiteout"}, + {Opt_ignore, "delete=all"}, + {Opt_ignore, "imap=%s"}, + + /* temporary workaround, due to old mount(8)? */ + {Opt_ignore_silent, "relatime"}, + + {Opt_err, NULL} +}; + +/* ---------------------------------------------------------------------- */ + +static const char *au_parser_pattern(int val, struct match_token *token) +{ + while (token->pattern) { + if (token->token == val) + return token->pattern; + token++; + } + BUG(); + return "??"; +} + +/* ---------------------------------------------------------------------- */ + +static match_table_t brperm = { + {AuBrPerm_RO, AUFS_BRPERM_RO}, + {AuBrPerm_RR, AUFS_BRPERM_RR}, + {AuBrPerm_RW, AUFS_BRPERM_RW}, + {0, NULL} +}; + +static match_table_t brrattr = { + {AuBrRAttr_WH, AUFS_BRRATTR_WH}, + {0, NULL} +}; + +static match_table_t brwattr = { + {AuBrWAttr_NoLinkWH, AUFS_BRWATTR_NLWH}, + {0, NULL} +}; + +#define AuBrStr_LONGEST AUFS_BRPERM_RW "+" AUFS_BRWATTR_NLWH + +static int br_attr_val(char *str, match_table_t table, substring_t args[]) +{ + int attr, v; + char *p; + + attr = 0; + do { + p = strchr(str, '+'); + if (p) + *p = 0; + v = match_token(str, table, args); + if (v) + attr |= v; + else { + if (p) + *p = '+'; + pr_warn("ignored branch attribute %s\n", str); + break; + } + if (p) + str = p + 1; + } while (p); + + return attr; +} + +static int noinline_for_stack br_perm_val(char *perm) +{ + int val; + char *p; + substring_t args[MAX_OPT_ARGS]; + + p = strchr(perm, '+'); + if (p) + *p = 0; + val = match_token(perm, brperm, args); + if (!val) { + if (p) + *p = '+'; + pr_warn("ignored branch permission %s\n", perm); + val = AuBrPerm_RO; + goto out; + } + if (!p) + goto out; + + switch (val) { + case AuBrPerm_RO: + case AuBrPerm_RR: + val |= br_attr_val(p + 1, brrattr, args); + break; + case AuBrPerm_RW: + val |= br_attr_val(p + 1, brwattr, args); + break; + } + +out: + return val; +} + +/* Caller should free the return value */ +char *au_optstr_br_perm(int brperm) +{ + char *p, a[sizeof(AuBrStr_LONGEST)]; + int sz; + +#define SetPerm(str) do { \ + sz = sizeof(str); \ + memcpy(a, str, sz); \ + p = a + sz - 1; \ + } while (0) + +#define AppendAttr(flag, str) do { \ + if (brperm & flag) { \ + sz = sizeof(str); \ + *p++ = '+'; \ + memcpy(p, str, sz); \ + p += sz - 1; \ + } \ + } while (0) + + switch (brperm & AuBrPerm_Mask) { + case AuBrPerm_RO: + SetPerm(AUFS_BRPERM_RO); + break; + case AuBrPerm_RR: + SetPerm(AUFS_BRPERM_RR); + break; + case AuBrPerm_RW: + SetPerm(AUFS_BRPERM_RW); + break; + default: + AuDebugOn(1); + } + + AppendAttr(AuBrRAttr_WH, AUFS_BRRATTR_WH); + AppendAttr(AuBrWAttr_NoLinkWH, AUFS_BRWATTR_NLWH); + + AuDebugOn(strlen(a) >= sizeof(a)); + return kstrdup(a, GFP_NOFS); +#undef SetPerm +#undef AppendAttr +} + +/* ---------------------------------------------------------------------- */ + +static match_table_t udbalevel = { + {AuOpt_UDBA_REVAL, "reval"}, + {AuOpt_UDBA_NONE, "none"}, +#ifdef CONFIG_AUFS_HNOTIFY + {AuOpt_UDBA_HNOTIFY, "notify"}, /* abstraction */ +#ifdef CONFIG_AUFS_HFSNOTIFY + {AuOpt_UDBA_HNOTIFY, "fsnotify"}, +#endif +#endif + {-1, NULL} +}; + +static int noinline_for_stack udba_val(char *str) +{ + substring_t args[MAX_OPT_ARGS]; + + return match_token(str, udbalevel, args); +} + +const char *au_optstr_udba(int udba) +{ + return au_parser_pattern(udba, (void *)udbalevel); +} + +/* ---------------------------------------------------------------------- */ + +static match_table_t au_wbr_create_policy = { + {AuWbrCreate_TDP, "tdp"}, + {AuWbrCreate_TDP, "top-down-parent"}, + {AuWbrCreate_RR, "rr"}, + {AuWbrCreate_RR, "round-robin"}, + {AuWbrCreate_MFS, "mfs"}, + {AuWbrCreate_MFS, "most-free-space"}, + {AuWbrCreate_MFSV, "mfs:%d"}, + {AuWbrCreate_MFSV, "most-free-space:%d"}, + + {AuWbrCreate_MFSRR, "mfsrr:%d"}, + {AuWbrCreate_MFSRRV, "mfsrr:%d:%d"}, + {AuWbrCreate_PMFS, "pmfs"}, + {AuWbrCreate_PMFSV, "pmfs:%d"}, + + {-1, NULL} +}; + +/* + * cf. linux/lib/parser.c and cmdline.c + * gave up calling memparse() since it uses simple_strtoull() instead of + * kstrto...(). + */ +static int noinline_for_stack +au_match_ull(substring_t *s, unsigned long long *result) +{ + int err; + unsigned int len; + char a[32]; + + err = -ERANGE; + len = s->to - s->from; + if (len + 1 <= sizeof(a)) { + memcpy(a, s->from, len); + a[len] = '\0'; + err = kstrtoull(a, 0, result); + } + return err; +} + +static int au_wbr_mfs_wmark(substring_t *arg, char *str, + struct au_opt_wbr_create *create) +{ + int err; + unsigned long long ull; + + err = 0; + if (!au_match_ull(arg, &ull)) + create->mfsrr_watermark = ull; + else { + pr_err("bad integer in %s\n", str); + err = -EINVAL; + } + + return err; +} + +static int au_wbr_mfs_sec(substring_t *arg, char *str, + struct au_opt_wbr_create *create) +{ + int n, err; + + err = 0; + if (!match_int(arg, &n) && 0 <= n && n <= AUFS_MFS_MAX_SEC) + create->mfs_second = n; + else { + pr_err("bad integer in %s\n", str); + err = -EINVAL; + } + + return err; +} + +static int noinline_for_stack +au_wbr_create_val(char *str, struct au_opt_wbr_create *create) +{ + int err, e; + substring_t args[MAX_OPT_ARGS]; + + err = match_token(str, au_wbr_create_policy, args); + create->wbr_create = err; + switch (err) { + case AuWbrCreate_MFSRRV: + e = au_wbr_mfs_wmark(&args[0], str, create); + if (!e) + e = au_wbr_mfs_sec(&args[1], str, create); + if (unlikely(e)) + err = e; + break; + case AuWbrCreate_MFSRR: + e = au_wbr_mfs_wmark(&args[0], str, create); + if (unlikely(e)) { + err = e; + break; + } + /*FALLTHROUGH*/ + case AuWbrCreate_MFS: + case AuWbrCreate_PMFS: + create->mfs_second = AUFS_MFS_DEF_SEC; + break; + case AuWbrCreate_MFSV: + case AuWbrCreate_PMFSV: + e = au_wbr_mfs_sec(&args[0], str, create); + if (unlikely(e)) + err = e; + break; + } + + return err; +} + +const char *au_optstr_wbr_create(int wbr_create) +{ + return au_parser_pattern(wbr_create, (void *)au_wbr_create_policy); +} + +static match_table_t au_wbr_copyup_policy = { + {AuWbrCopyup_TDP, "tdp"}, + {AuWbrCopyup_TDP, "top-down-parent"}, + {AuWbrCopyup_BUP, "bup"}, + {AuWbrCopyup_BUP, "bottom-up-parent"}, + {AuWbrCopyup_BU, "bu"}, + {AuWbrCopyup_BU, "bottom-up"}, + {-1, NULL} +}; + +static int noinline_for_stack au_wbr_copyup_val(char *str) +{ + substring_t args[MAX_OPT_ARGS]; + + return match_token(str, au_wbr_copyup_policy, args); +} + +const char *au_optstr_wbr_copyup(int wbr_copyup) +{ + return au_parser_pattern(wbr_copyup, (void *)au_wbr_copyup_policy); +} + +/* ---------------------------------------------------------------------- */ + +static const int lkup_dirflags = LOOKUP_FOLLOW | LOOKUP_DIRECTORY; + +static void dump_opts(struct au_opts *opts) +{ +#ifdef CONFIG_AUFS_DEBUG + /* reduce stack space */ + union { + struct au_opt_add *add; + struct au_opt_del *del; + struct au_opt_mod *mod; + struct au_opt_xino *xino; + struct au_opt_xino_itrunc *xino_itrunc; + struct au_opt_wbr_create *create; + } u; + struct au_opt *opt; + + opt = opts->opt; + while (opt->type != Opt_tail) { + switch (opt->type) { + case Opt_add: + u.add = &opt->add; + AuDbg("add {b%d, %s, 0x%x, %p}\n", + u.add->bindex, u.add->pathname, u.add->perm, + u.add->path.dentry); + break; + case Opt_del: + case Opt_idel: + u.del = &opt->del; + AuDbg("del {%s, %p}\n", + u.del->pathname, u.del->h_path.dentry); + break; + case Opt_mod: + case Opt_imod: + u.mod = &opt->mod; + AuDbg("mod {%s, 0x%x, %p}\n", + u.mod->path, u.mod->perm, u.mod->h_root); + break; + case Opt_append: + u.add = &opt->add; + AuDbg("append {b%d, %s, 0x%x, %p}\n", + u.add->bindex, u.add->pathname, u.add->perm, + u.add->path.dentry); + break; + case Opt_prepend: + u.add = &opt->add; + AuDbg("prepend {b%d, %s, 0x%x, %p}\n", + u.add->bindex, u.add->pathname, u.add->perm, + u.add->path.dentry); + break; + case Opt_dirwh: + AuDbg("dirwh %d\n", opt->dirwh); + break; + case Opt_rdcache: + AuDbg("rdcache %d\n", opt->rdcache); + break; + case Opt_rdblk: + AuDbg("rdblk %u\n", opt->rdblk); + break; + case Opt_rdblk_def: + AuDbg("rdblk_def\n"); + break; + case Opt_rdhash: + AuDbg("rdhash %u\n", opt->rdhash); + break; + case Opt_rdhash_def: + AuDbg("rdhash_def\n"); + break; + case Opt_xino: + u.xino = &opt->xino; + AuDbg("xino {%s %.*s}\n", + u.xino->path, + AuDLNPair(u.xino->file->f_dentry)); + break; + case Opt_trunc_xino: + AuLabel(trunc_xino); + break; + case Opt_notrunc_xino: + AuLabel(notrunc_xino); + break; + case Opt_trunc_xino_path: + case Opt_itrunc_xino: + u.xino_itrunc = &opt->xino_itrunc; + AuDbg("trunc_xino %d\n", u.xino_itrunc->bindex); + break; + + case Opt_noxino: + AuLabel(noxino); + break; + case Opt_trunc_xib: + AuLabel(trunc_xib); + break; + case Opt_notrunc_xib: + AuLabel(notrunc_xib); + break; + case Opt_shwh: + AuLabel(shwh); + break; + case Opt_noshwh: + AuLabel(noshwh); + break; + case Opt_plink: + AuLabel(plink); + break; + case Opt_noplink: + AuLabel(noplink); + break; + case Opt_list_plink: + AuLabel(list_plink); + break; + case Opt_udba: + AuDbg("udba %d, %s\n", + opt->udba, au_optstr_udba(opt->udba)); + break; + case Opt_dio: + AuLabel(dio); + break; + case Opt_nodio: + AuLabel(nodio); + break; + case Opt_diropq_a: + AuLabel(diropq_a); + break; + case Opt_diropq_w: + AuLabel(diropq_w); + break; + case Opt_warn_perm: + AuLabel(warn_perm); + break; + case Opt_nowarn_perm: + AuLabel(nowarn_perm); + break; + case Opt_refrof: + AuLabel(refrof); + break; + case Opt_norefrof: + AuLabel(norefrof); + break; + case Opt_verbose: + AuLabel(verbose); + break; + case Opt_noverbose: + AuLabel(noverbose); + break; + case Opt_sum: + AuLabel(sum); + break; + case Opt_nosum: + AuLabel(nosum); + break; + case Opt_wsum: + AuLabel(wsum); + break; + case Opt_wbr_create: + u.create = &opt->wbr_create; + AuDbg("create %d, %s\n", u.create->wbr_create, + au_optstr_wbr_create(u.create->wbr_create)); + switch (u.create->wbr_create) { + case AuWbrCreate_MFSV: + case AuWbrCreate_PMFSV: + AuDbg("%d sec\n", u.create->mfs_second); + break; + case AuWbrCreate_MFSRR: + AuDbg("%llu watermark\n", + u.create->mfsrr_watermark); + break; + case AuWbrCreate_MFSRRV: + AuDbg("%llu watermark, %d sec\n", + u.create->mfsrr_watermark, + u.create->mfs_second); + break; + } + break; + case Opt_wbr_copyup: + AuDbg("copyup %d, %s\n", opt->wbr_copyup, + au_optstr_wbr_copyup(opt->wbr_copyup)); + break; + default: + BUG(); + } + opt++; + } +#endif +} + +void au_opts_free(struct au_opts *opts) +{ + struct au_opt *opt; + + opt = opts->opt; + while (opt->type != Opt_tail) { + switch (opt->type) { + case Opt_add: + case Opt_append: + case Opt_prepend: + path_put(&opt->add.path); + break; + case Opt_del: + case Opt_idel: + path_put(&opt->del.h_path); + break; + case Opt_mod: + case Opt_imod: + dput(opt->mod.h_root); + break; + case Opt_xino: + fput(opt->xino.file); + break; + } + opt++; + } +} + +static int opt_add(struct au_opt *opt, char *opt_str, unsigned long sb_flags, + aufs_bindex_t bindex) +{ + int err; + struct au_opt_add *add = &opt->add; + char *p; + + add->bindex = bindex; + add->perm = AuBrPerm_RO; + add->pathname = opt_str; + p = strchr(opt_str, '='); + if (p) { + *p++ = 0; + if (*p) + add->perm = br_perm_val(p); + } + + err = vfsub_kern_path(add->pathname, lkup_dirflags, &add->path); + if (!err) { + if (!p) { + add->perm = AuBrPerm_RO; + if (au_test_fs_rr(add->path.dentry->d_sb)) + add->perm = AuBrPerm_RR; + else if (!bindex && !(sb_flags & MS_RDONLY)) + add->perm = AuBrPerm_RW; + } + opt->type = Opt_add; + goto out; + } + pr_err("lookup failed %s (%d)\n", add->pathname, err); + err = -EINVAL; + +out: + return err; +} + +static int au_opts_parse_del(struct au_opt_del *del, substring_t args[]) +{ + int err; + + del->pathname = args[0].from; + AuDbg("del path %s\n", del->pathname); + + err = vfsub_kern_path(del->pathname, lkup_dirflags, &del->h_path); + if (unlikely(err)) + pr_err("lookup failed %s (%d)\n", del->pathname, err); + + return err; +} + +#if 0 /* reserved for future use */ +static int au_opts_parse_idel(struct super_block *sb, aufs_bindex_t bindex, + struct au_opt_del *del, substring_t args[]) +{ + int err; + struct dentry *root; + + err = -EINVAL; + root = sb->s_root; + aufs_read_lock(root, AuLock_FLUSH); + if (bindex < 0 || au_sbend(sb) < bindex) { + pr_err("out of bounds, %d\n", bindex); + goto out; + } + + err = 0; + del->h_path.dentry = dget(au_h_dptr(root, bindex)); + del->h_path.mnt = mntget(au_sbr_mnt(sb, bindex)); + +out: + aufs_read_unlock(root, !AuLock_IR); + return err; +} +#endif + +static int noinline_for_stack +au_opts_parse_mod(struct au_opt_mod *mod, substring_t args[]) +{ + int err; + struct path path; + char *p; + + err = -EINVAL; + mod->path = args[0].from; + p = strchr(mod->path, '='); + if (unlikely(!p)) { + pr_err("no permssion %s\n", args[0].from); + goto out; + } + + *p++ = 0; + err = vfsub_kern_path(mod->path, lkup_dirflags, &path); + if (unlikely(err)) { + pr_err("lookup failed %s (%d)\n", mod->path, err); + goto out; + } + + mod->perm = br_perm_val(p); + AuDbg("mod path %s, perm 0x%x, %s\n", mod->path, mod->perm, p); + mod->h_root = dget(path.dentry); + path_put(&path); + +out: + return err; +} + +#if 0 /* reserved for future use */ +static int au_opts_parse_imod(struct super_block *sb, aufs_bindex_t bindex, + struct au_opt_mod *mod, substring_t args[]) +{ + int err; + struct dentry *root; + + err = -EINVAL; + root = sb->s_root; + aufs_read_lock(root, AuLock_FLUSH); + if (bindex < 0 || au_sbend(sb) < bindex) { + pr_err("out of bounds, %d\n", bindex); + goto out; + } + + err = 0; + mod->perm = br_perm_val(args[1].from); + AuDbg("mod path %s, perm 0x%x, %s\n", + mod->path, mod->perm, args[1].from); + mod->h_root = dget(au_h_dptr(root, bindex)); + +out: + aufs_read_unlock(root, !AuLock_IR); + return err; +} +#endif + +static int au_opts_parse_xino(struct super_block *sb, struct au_opt_xino *xino, + substring_t args[]) +{ + int err; + struct file *file; + + file = au_xino_create(sb, args[0].from, /*silent*/0); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + + err = -EINVAL; + if (unlikely(file->f_dentry->d_sb == sb)) { + fput(file); + pr_err("%s must be outside\n", args[0].from); + goto out; + } + + err = 0; + xino->file = file; + xino->path = args[0].from; + +out: + return err; +} + +static int noinline_for_stack +au_opts_parse_xino_itrunc_path(struct super_block *sb, + struct au_opt_xino_itrunc *xino_itrunc, + substring_t args[]) +{ + int err; + aufs_bindex_t bend, bindex; + struct path path; + struct dentry *root; + + err = vfsub_kern_path(args[0].from, lkup_dirflags, &path); + if (unlikely(err)) { + pr_err("lookup failed %s (%d)\n", args[0].from, err); + goto out; + } + + xino_itrunc->bindex = -1; + root = sb->s_root; + aufs_read_lock(root, AuLock_FLUSH); + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) { + if (au_h_dptr(root, bindex) == path.dentry) { + xino_itrunc->bindex = bindex; + break; + } + } + aufs_read_unlock(root, !AuLock_IR); + path_put(&path); + + if (unlikely(xino_itrunc->bindex < 0)) { + pr_err("no such branch %s\n", args[0].from); + err = -EINVAL; + } + +out: + return err; +} + +/* called without aufs lock */ +int au_opts_parse(struct super_block *sb, char *str, struct au_opts *opts) +{ + int err, n, token; + aufs_bindex_t bindex; + unsigned char skipped; + struct dentry *root; + struct au_opt *opt, *opt_tail; + char *opt_str; + /* reduce the stack space */ + union { + struct au_opt_xino_itrunc *xino_itrunc; + struct au_opt_wbr_create *create; + } u; + struct { + substring_t args[MAX_OPT_ARGS]; + } *a; + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + root = sb->s_root; + err = 0; + bindex = 0; + opt = opts->opt; + opt_tail = opt + opts->max_opt - 1; + opt->type = Opt_tail; + while (!err && (opt_str = strsep(&str, ",")) && *opt_str) { + err = -EINVAL; + skipped = 0; + token = match_token(opt_str, options, a->args); + switch (token) { + case Opt_br: + err = 0; + while (!err && (opt_str = strsep(&a->args[0].from, ":")) + && *opt_str) { + err = opt_add(opt, opt_str, opts->sb_flags, + bindex++); + if (unlikely(!err && ++opt > opt_tail)) { + err = -E2BIG; + break; + } + opt->type = Opt_tail; + skipped = 1; + } + break; + case Opt_add: + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + bindex = n; + err = opt_add(opt, a->args[1].from, opts->sb_flags, + bindex); + if (!err) + opt->type = token; + break; + case Opt_append: + err = opt_add(opt, a->args[0].from, opts->sb_flags, + /*dummy bindex*/1); + if (!err) + opt->type = token; + break; + case Opt_prepend: + err = opt_add(opt, a->args[0].from, opts->sb_flags, + /*bindex*/0); + if (!err) + opt->type = token; + break; + case Opt_del: + err = au_opts_parse_del(&opt->del, a->args); + if (!err) + opt->type = token; + break; +#if 0 /* reserved for future use */ + case Opt_idel: + del->pathname = "(indexed)"; + if (unlikely(match_int(&args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + err = au_opts_parse_idel(sb, n, &opt->del, a->args); + if (!err) + opt->type = token; + break; +#endif + case Opt_mod: + err = au_opts_parse_mod(&opt->mod, a->args); + if (!err) + opt->type = token; + break; +#ifdef IMOD /* reserved for future use */ + case Opt_imod: + u.mod->path = "(indexed)"; + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + err = au_opts_parse_imod(sb, n, &opt->mod, a->args); + if (!err) + opt->type = token; + break; +#endif + case Opt_xino: + err = au_opts_parse_xino(sb, &opt->xino, a->args); + if (!err) + opt->type = token; + break; + + case Opt_trunc_xino_path: + err = au_opts_parse_xino_itrunc_path + (sb, &opt->xino_itrunc, a->args); + if (!err) + opt->type = token; + break; + + case Opt_itrunc_xino: + u.xino_itrunc = &opt->xino_itrunc; + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + u.xino_itrunc->bindex = n; + aufs_read_lock(root, AuLock_FLUSH); + if (n < 0 || au_sbend(sb) < n) { + pr_err("out of bounds, %d\n", n); + aufs_read_unlock(root, !AuLock_IR); + break; + } + aufs_read_unlock(root, !AuLock_IR); + err = 0; + opt->type = token; + break; + + case Opt_dirwh: + if (unlikely(match_int(&a->args[0], &opt->dirwh))) + break; + err = 0; + opt->type = token; + break; + + case Opt_rdcache: + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + if (unlikely(n > AUFS_RDCACHE_MAX)) { + pr_err("rdcache must be smaller than %d\n", + AUFS_RDCACHE_MAX); + break; + } + opt->rdcache = n; + err = 0; + opt->type = token; + break; + case Opt_rdblk: + if (unlikely(match_int(&a->args[0], &n) + || n < 0 + || n > KMALLOC_MAX_SIZE)) { + pr_err("bad integer in %s\n", opt_str); + break; + } + if (unlikely(n && n < NAME_MAX)) { + pr_err("rdblk must be larger than %d\n", + NAME_MAX); + break; + } + opt->rdblk = n; + err = 0; + opt->type = token; + break; + case Opt_rdhash: + if (unlikely(match_int(&a->args[0], &n) + || n < 0 + || n * sizeof(struct hlist_head) + > KMALLOC_MAX_SIZE)) { + pr_err("bad integer in %s\n", opt_str); + break; + } + opt->rdhash = n; + err = 0; + opt->type = token; + break; + + case Opt_trunc_xino: + case Opt_notrunc_xino: + case Opt_noxino: + case Opt_trunc_xib: + case Opt_notrunc_xib: + case Opt_shwh: + case Opt_noshwh: + case Opt_plink: + case Opt_noplink: + case Opt_list_plink: + case Opt_dio: + case Opt_nodio: + case Opt_diropq_a: + case Opt_diropq_w: + case Opt_warn_perm: + case Opt_nowarn_perm: + case Opt_refrof: + case Opt_norefrof: + case Opt_verbose: + case Opt_noverbose: + case Opt_sum: + case Opt_nosum: + case Opt_wsum: + case Opt_rdblk_def: + case Opt_rdhash_def: + err = 0; + opt->type = token; + break; + + case Opt_udba: + opt->udba = udba_val(a->args[0].from); + if (opt->udba >= 0) { + err = 0; + opt->type = token; + } else + pr_err("wrong value, %s\n", opt_str); + break; + + case Opt_wbr_create: + u.create = &opt->wbr_create; + u.create->wbr_create + = au_wbr_create_val(a->args[0].from, u.create); + if (u.create->wbr_create >= 0) { + err = 0; + opt->type = token; + } else + pr_err("wrong value, %s\n", opt_str); + break; + case Opt_wbr_copyup: + opt->wbr_copyup = au_wbr_copyup_val(a->args[0].from); + if (opt->wbr_copyup >= 0) { + err = 0; + opt->type = token; + } else + pr_err("wrong value, %s\n", opt_str); + break; + + case Opt_ignore: + pr_warn("ignored %s\n", opt_str); + /*FALLTHROUGH*/ + case Opt_ignore_silent: + skipped = 1; + err = 0; + break; + case Opt_err: + pr_err("unknown option %s\n", opt_str); + break; + } + + if (!err && !skipped) { + if (unlikely(++opt > opt_tail)) { + err = -E2BIG; + opt--; + opt->type = Opt_tail; + break; + } + opt->type = Opt_tail; + } + } + + kfree(a); + dump_opts(opts); + if (unlikely(err)) + au_opts_free(opts); + +out: + return err; +} + +static int au_opt_wbr_create(struct super_block *sb, + struct au_opt_wbr_create *create) +{ + int err; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + err = 1; /* handled */ + sbinfo = au_sbi(sb); + if (sbinfo->si_wbr_create_ops->fin) { + err = sbinfo->si_wbr_create_ops->fin(sb); + if (!err) + err = 1; + } + + sbinfo->si_wbr_create = create->wbr_create; + sbinfo->si_wbr_create_ops = au_wbr_create_ops + create->wbr_create; + switch (create->wbr_create) { + case AuWbrCreate_MFSRRV: + case AuWbrCreate_MFSRR: + sbinfo->si_wbr_mfs.mfsrr_watermark = create->mfsrr_watermark; + /*FALLTHROUGH*/ + case AuWbrCreate_MFS: + case AuWbrCreate_MFSV: + case AuWbrCreate_PMFS: + case AuWbrCreate_PMFSV: + sbinfo->si_wbr_mfs.mfs_expire + = msecs_to_jiffies(create->mfs_second * MSEC_PER_SEC); + break; + } + + if (sbinfo->si_wbr_create_ops->init) + sbinfo->si_wbr_create_ops->init(sb); /* ignore */ + + return err; +} + +/* + * returns, + * plus: processed without an error + * zero: unprocessed + */ +static int au_opt_simple(struct super_block *sb, struct au_opt *opt, + struct au_opts *opts) +{ + int err; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + err = 1; /* handled */ + sbinfo = au_sbi(sb); + switch (opt->type) { + case Opt_udba: + sbinfo->si_mntflags &= ~AuOptMask_UDBA; + sbinfo->si_mntflags |= opt->udba; + opts->given_udba |= opt->udba; + break; + + case Opt_plink: + au_opt_set(sbinfo->si_mntflags, PLINK); + break; + case Opt_noplink: + if (au_opt_test(sbinfo->si_mntflags, PLINK)) + au_plink_put(sb, /*verbose*/1); + au_opt_clr(sbinfo->si_mntflags, PLINK); + break; + case Opt_list_plink: + if (au_opt_test(sbinfo->si_mntflags, PLINK)) + au_plink_list(sb); + break; + + case Opt_dio: + au_opt_set(sbinfo->si_mntflags, DIO); + au_fset_opts(opts->flags, REFRESH_DYAOP); + break; + case Opt_nodio: + au_opt_clr(sbinfo->si_mntflags, DIO); + au_fset_opts(opts->flags, REFRESH_DYAOP); + break; + + case Opt_diropq_a: + au_opt_set(sbinfo->si_mntflags, ALWAYS_DIROPQ); + break; + case Opt_diropq_w: + au_opt_clr(sbinfo->si_mntflags, ALWAYS_DIROPQ); + break; + + case Opt_warn_perm: + au_opt_set(sbinfo->si_mntflags, WARN_PERM); + break; + case Opt_nowarn_perm: + au_opt_clr(sbinfo->si_mntflags, WARN_PERM); + break; + + case Opt_refrof: + au_opt_set(sbinfo->si_mntflags, REFROF); + break; + case Opt_norefrof: + au_opt_clr(sbinfo->si_mntflags, REFROF); + break; + + case Opt_verbose: + au_opt_set(sbinfo->si_mntflags, VERBOSE); + break; + case Opt_noverbose: + au_opt_clr(sbinfo->si_mntflags, VERBOSE); + break; + + case Opt_sum: + au_opt_set(sbinfo->si_mntflags, SUM); + break; + case Opt_wsum: + au_opt_clr(sbinfo->si_mntflags, SUM); + au_opt_set(sbinfo->si_mntflags, SUM_W); + case Opt_nosum: + au_opt_clr(sbinfo->si_mntflags, SUM); + au_opt_clr(sbinfo->si_mntflags, SUM_W); + break; + + case Opt_wbr_create: + err = au_opt_wbr_create(sb, &opt->wbr_create); + break; + case Opt_wbr_copyup: + sbinfo->si_wbr_copyup = opt->wbr_copyup; + sbinfo->si_wbr_copyup_ops = au_wbr_copyup_ops + opt->wbr_copyup; + break; + + case Opt_dirwh: + sbinfo->si_dirwh = opt->dirwh; + break; + + case Opt_rdcache: + sbinfo->si_rdcache + = msecs_to_jiffies(opt->rdcache * MSEC_PER_SEC); + break; + case Opt_rdblk: + sbinfo->si_rdblk = opt->rdblk; + break; + case Opt_rdblk_def: + sbinfo->si_rdblk = AUFS_RDBLK_DEF; + break; + case Opt_rdhash: + sbinfo->si_rdhash = opt->rdhash; + break; + case Opt_rdhash_def: + sbinfo->si_rdhash = AUFS_RDHASH_DEF; + break; + + case Opt_shwh: + au_opt_set(sbinfo->si_mntflags, SHWH); + break; + case Opt_noshwh: + au_opt_clr(sbinfo->si_mntflags, SHWH); + break; + + case Opt_trunc_xino: + au_opt_set(sbinfo->si_mntflags, TRUNC_XINO); + break; + case Opt_notrunc_xino: + au_opt_clr(sbinfo->si_mntflags, TRUNC_XINO); + break; + + case Opt_trunc_xino_path: + case Opt_itrunc_xino: + err = au_xino_trunc(sb, opt->xino_itrunc.bindex); + if (!err) + err = 1; + break; + + case Opt_trunc_xib: + au_fset_opts(opts->flags, TRUNC_XIB); + break; + case Opt_notrunc_xib: + au_fclr_opts(opts->flags, TRUNC_XIB); + break; + + default: + err = 0; + break; + } + + return err; +} + +/* + * returns tri-state. + * plus: processed without an error + * zero: unprocessed + * minus: error + */ +static int au_opt_br(struct super_block *sb, struct au_opt *opt, + struct au_opts *opts) +{ + int err, do_refresh; + + err = 0; + switch (opt->type) { + case Opt_append: + opt->add.bindex = au_sbend(sb) + 1; + if (opt->add.bindex < 0) + opt->add.bindex = 0; + goto add; + case Opt_prepend: + opt->add.bindex = 0; + add: + case Opt_add: + err = au_br_add(sb, &opt->add, + au_ftest_opts(opts->flags, REMOUNT)); + if (!err) { + err = 1; + au_fset_opts(opts->flags, REFRESH); + } + break; + + case Opt_del: + case Opt_idel: + err = au_br_del(sb, &opt->del, + au_ftest_opts(opts->flags, REMOUNT)); + if (!err) { + err = 1; + au_fset_opts(opts->flags, TRUNC_XIB); + au_fset_opts(opts->flags, REFRESH); + } + break; + + case Opt_mod: + case Opt_imod: + err = au_br_mod(sb, &opt->mod, + au_ftest_opts(opts->flags, REMOUNT), + &do_refresh); + if (!err) { + err = 1; + if (do_refresh) + au_fset_opts(opts->flags, REFRESH); + } + break; + } + + return err; +} + +static int au_opt_xino(struct super_block *sb, struct au_opt *opt, + struct au_opt_xino **opt_xino, + struct au_opts *opts) +{ + int err; + aufs_bindex_t bend, bindex; + struct dentry *root, *parent, *h_root; + + err = 0; + switch (opt->type) { + case Opt_xino: + err = au_xino_set(sb, &opt->xino, + !!au_ftest_opts(opts->flags, REMOUNT)); + if (unlikely(err)) + break; + + *opt_xino = &opt->xino; + au_xino_brid_set(sb, -1); + + /* safe d_parent access */ + parent = opt->xino.file->f_dentry->d_parent; + root = sb->s_root; + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) { + h_root = au_h_dptr(root, bindex); + if (h_root == parent) { + au_xino_brid_set(sb, au_sbr_id(sb, bindex)); + break; + } + } + break; + + case Opt_noxino: + au_xino_clr(sb); + au_xino_brid_set(sb, -1); + *opt_xino = (void *)-1; + break; + } + + return err; +} + +int au_opts_verify(struct super_block *sb, unsigned long sb_flags, + unsigned int pending) +{ + int err; + aufs_bindex_t bindex, bend; + unsigned char do_plink, skip, do_free; + struct au_branch *br; + struct au_wbr *wbr; + struct dentry *root; + struct inode *dir, *h_dir; + struct au_sbinfo *sbinfo; + struct au_hinode *hdir; + + SiMustAnyLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!(sbinfo->si_mntflags & AuOptMask_UDBA)); + + if (!(sb_flags & MS_RDONLY)) { + if (unlikely(!au_br_writable(au_sbr_perm(sb, 0)))) + pr_warn("first branch should be rw\n"); + if (unlikely(au_opt_test(sbinfo->si_mntflags, SHWH))) + pr_warn("shwh should be used with ro\n"); + } + + if (au_opt_test((sbinfo->si_mntflags | pending), UDBA_HNOTIFY) + && !au_opt_test(sbinfo->si_mntflags, XINO)) + pr_warn("udba=*notify requires xino\n"); + + err = 0; + root = sb->s_root; + dir = root->d_inode; + do_plink = !!au_opt_test(sbinfo->si_mntflags, PLINK); + bend = au_sbend(sb); + for (bindex = 0; !err && bindex <= bend; bindex++) { + skip = 0; + h_dir = au_h_iptr(dir, bindex); + br = au_sbr(sb, bindex); + do_free = 0; + + wbr = br->br_wbr; + if (wbr) + wbr_wh_read_lock(wbr); + + if (!au_br_writable(br->br_perm)) { + do_free = !!wbr; + skip = (!wbr + || (!wbr->wbr_whbase + && !wbr->wbr_plink + && !wbr->wbr_orph)); + } else if (!au_br_wh_linkable(br->br_perm)) { + /* skip = (!br->br_whbase && !br->br_orph); */ + skip = (!wbr || !wbr->wbr_whbase); + if (skip && wbr) { + if (do_plink) + skip = !!wbr->wbr_plink; + else + skip = !wbr->wbr_plink; + } + } else { + /* skip = (br->br_whbase && br->br_ohph); */ + skip = (wbr && wbr->wbr_whbase); + if (skip) { + if (do_plink) + skip = !!wbr->wbr_plink; + else + skip = !wbr->wbr_plink; + } + } + if (wbr) + wbr_wh_read_unlock(wbr); + + if (skip) + continue; + + hdir = au_hi(dir, bindex); + au_hn_imtx_lock_nested(hdir, AuLsc_I_PARENT); + if (wbr) + wbr_wh_write_lock(wbr); + err = au_wh_init(au_h_dptr(root, bindex), br, sb); + if (wbr) + wbr_wh_write_unlock(wbr); + au_hn_imtx_unlock(hdir); + + if (!err && do_free) { + kfree(wbr); + br->br_wbr = NULL; + } + } + + return err; +} + +int au_opts_mount(struct super_block *sb, struct au_opts *opts) +{ + int err; + unsigned int tmp; + aufs_bindex_t bindex, bend; + struct au_opt *opt; + struct au_opt_xino *opt_xino, xino; + struct au_sbinfo *sbinfo; + struct au_branch *br; + + SiMustWriteLock(sb); + + err = 0; + opt_xino = NULL; + opt = opts->opt; + while (err >= 0 && opt->type != Opt_tail) + err = au_opt_simple(sb, opt++, opts); + if (err > 0) + err = 0; + else if (unlikely(err < 0)) + goto out; + + /* disable xino and udba temporary */ + sbinfo = au_sbi(sb); + tmp = sbinfo->si_mntflags; + au_opt_clr(sbinfo->si_mntflags, XINO); + au_opt_set_udba(sbinfo->si_mntflags, UDBA_REVAL); + + opt = opts->opt; + while (err >= 0 && opt->type != Opt_tail) + err = au_opt_br(sb, opt++, opts); + if (err > 0) + err = 0; + else if (unlikely(err < 0)) + goto out; + + bend = au_sbend(sb); + if (unlikely(bend < 0)) { + err = -EINVAL; + pr_err("no branches\n"); + goto out; + } + + if (au_opt_test(tmp, XINO)) + au_opt_set(sbinfo->si_mntflags, XINO); + opt = opts->opt; + while (!err && opt->type != Opt_tail) + err = au_opt_xino(sb, opt++, &opt_xino, opts); + if (unlikely(err)) + goto out; + + err = au_opts_verify(sb, sb->s_flags, tmp); + if (unlikely(err)) + goto out; + + /* restore xino */ + if (au_opt_test(tmp, XINO) && !opt_xino) { + xino.file = au_xino_def(sb); + err = PTR_ERR(xino.file); + if (IS_ERR(xino.file)) + goto out; + + err = au_xino_set(sb, &xino, /*remount*/0); + fput(xino.file); + if (unlikely(err)) + goto out; + } + + /* restore udba */ + tmp &= AuOptMask_UDBA; + sbinfo->si_mntflags &= ~AuOptMask_UDBA; + sbinfo->si_mntflags |= tmp; + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + err = au_hnotify_reset_br(tmp, br, br->br_perm); + if (unlikely(err)) + AuIOErr("hnotify failed on br %d, %d, ignored\n", + bindex, err); + /* go on even if err */ + } + if (au_opt_test(tmp, UDBA_HNOTIFY)) { + struct inode *dir = sb->s_root->d_inode; + au_hn_reset(dir, au_hi_flags(dir, /*isdir*/1) & ~AuHi_XINO); + } + +out: + return err; +} + +int au_opts_remount(struct super_block *sb, struct au_opts *opts) +{ + int err, rerr; + struct inode *dir; + struct au_opt_xino *opt_xino; + struct au_opt *opt; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + dir = sb->s_root->d_inode; + sbinfo = au_sbi(sb); + err = 0; + opt_xino = NULL; + opt = opts->opt; + while (err >= 0 && opt->type != Opt_tail) { + err = au_opt_simple(sb, opt, opts); + if (!err) + err = au_opt_br(sb, opt, opts); + if (!err) + err = au_opt_xino(sb, opt, &opt_xino, opts); + opt++; + } + if (err > 0) + err = 0; + AuTraceErr(err); + /* go on even err */ + + rerr = au_opts_verify(sb, opts->sb_flags, /*pending*/0); + if (unlikely(rerr && !err)) + err = rerr; + + if (au_ftest_opts(opts->flags, TRUNC_XIB)) { + rerr = au_xib_trunc(sb); + if (unlikely(rerr && !err)) + err = rerr; + } + + /* will be handled by the caller */ + if (!au_ftest_opts(opts->flags, REFRESH) + && (opts->given_udba || au_opt_test(sbinfo->si_mntflags, XINO))) + au_fset_opts(opts->flags, REFRESH); + + AuDbg("status 0x%x\n", opts->flags); + return err; +} + +/* ---------------------------------------------------------------------- */ + +unsigned int au_opt_udba(struct super_block *sb) +{ + return au_mntflags(sb) & AuOptMask_UDBA; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/opts.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/opts.h @@ -0,0 +1,209 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * mount options/flags + */ + +#ifndef __AUFS_OPTS_H__ +#define __AUFS_OPTS_H__ + +#ifdef __KERNEL__ + +#include + +struct file; +struct super_block; + +/* ---------------------------------------------------------------------- */ + +/* mount flags */ +#define AuOpt_XINO 1 /* external inode number bitmap + and translation table */ +#define AuOpt_TRUNC_XINO (1 << 1) /* truncate xino files */ +#define AuOpt_UDBA_NONE (1 << 2) /* users direct branch access */ +#define AuOpt_UDBA_REVAL (1 << 3) +#define AuOpt_UDBA_HNOTIFY (1 << 4) +#define AuOpt_SHWH (1 << 5) /* show whiteout */ +#define AuOpt_PLINK (1 << 6) /* pseudo-link */ +#define AuOpt_DIRPERM1 (1 << 7) /* unimplemented */ +#define AuOpt_REFROF (1 << 8) /* unimplemented */ +#define AuOpt_ALWAYS_DIROPQ (1 << 9) /* policy to creating diropq */ +#define AuOpt_SUM (1 << 10) /* summation for statfs(2) */ +#define AuOpt_SUM_W (1 << 11) /* unimplemented */ +#define AuOpt_WARN_PERM (1 << 12) /* warn when add-branch */ +#define AuOpt_VERBOSE (1 << 13) /* busy inode when del-branch */ +#define AuOpt_DIO (1 << 14) /* direct io */ + +#ifndef CONFIG_AUFS_HNOTIFY +#undef AuOpt_UDBA_HNOTIFY +#define AuOpt_UDBA_HNOTIFY 0 +#endif +#ifndef CONFIG_AUFS_SHWH +#undef AuOpt_SHWH +#define AuOpt_SHWH 0 +#endif + +#define AuOpt_Def (AuOpt_XINO \ + | AuOpt_UDBA_REVAL \ + | AuOpt_PLINK \ + /* | AuOpt_DIRPERM1 */ \ + | AuOpt_WARN_PERM) +#define AuOptMask_UDBA (AuOpt_UDBA_NONE \ + | AuOpt_UDBA_REVAL \ + | AuOpt_UDBA_HNOTIFY) + +#define au_opt_test(flags, name) (flags & AuOpt_##name) +#define au_opt_set(flags, name) do { \ + BUILD_BUG_ON(AuOpt_##name & AuOptMask_UDBA); \ + ((flags) |= AuOpt_##name); \ +} while (0) +#define au_opt_set_udba(flags, name) do { \ + (flags) &= ~AuOptMask_UDBA; \ + ((flags) |= AuOpt_##name); \ +} while (0) +#define au_opt_clr(flags, name) do { \ + ((flags) &= ~AuOpt_##name); \ +} while (0) + +static inline unsigned int au_opts_plink(unsigned int mntflags) +{ +#ifdef CONFIG_PROC_FS + return mntflags; +#else + return mntflags & ~AuOpt_PLINK; +#endif +} + +/* ---------------------------------------------------------------------- */ + +/* policies to select one among multiple writable branches */ +enum { + AuWbrCreate_TDP, /* top down parent */ + AuWbrCreate_RR, /* round robin */ + AuWbrCreate_MFS, /* most free space */ + AuWbrCreate_MFSV, /* mfs with seconds */ + AuWbrCreate_MFSRR, /* mfs then rr */ + AuWbrCreate_MFSRRV, /* mfs then rr with seconds */ + AuWbrCreate_PMFS, /* parent and mfs */ + AuWbrCreate_PMFSV, /* parent and mfs with seconds */ + + AuWbrCreate_Def = AuWbrCreate_TDP +}; + +enum { + AuWbrCopyup_TDP, /* top down parent */ + AuWbrCopyup_BUP, /* bottom up parent */ + AuWbrCopyup_BU, /* bottom up */ + + AuWbrCopyup_Def = AuWbrCopyup_TDP +}; + +/* ---------------------------------------------------------------------- */ + +struct au_opt_add { + aufs_bindex_t bindex; + char *pathname; + int perm; + struct path path; +}; + +struct au_opt_del { + char *pathname; + struct path h_path; +}; + +struct au_opt_mod { + char *path; + int perm; + struct dentry *h_root; +}; + +struct au_opt_xino { + char *path; + struct file *file; +}; + +struct au_opt_xino_itrunc { + aufs_bindex_t bindex; +}; + +struct au_opt_wbr_create { + int wbr_create; + int mfs_second; + unsigned long long mfsrr_watermark; +}; + +struct au_opt { + int type; + union { + struct au_opt_xino xino; + struct au_opt_xino_itrunc xino_itrunc; + struct au_opt_add add; + struct au_opt_del del; + struct au_opt_mod mod; + int dirwh; + int rdcache; + unsigned int rdblk; + unsigned int rdhash; + int udba; + struct au_opt_wbr_create wbr_create; + int wbr_copyup; + }; +}; + +/* opts flags */ +#define AuOpts_REMOUNT 1 +#define AuOpts_REFRESH (1 << 1) +#define AuOpts_TRUNC_XIB (1 << 2) +#define AuOpts_REFRESH_DYAOP (1 << 3) +#define au_ftest_opts(flags, name) ((flags) & AuOpts_##name) +#define au_fset_opts(flags, name) \ + do { (flags) |= AuOpts_##name; } while (0) +#define au_fclr_opts(flags, name) \ + do { (flags) &= ~AuOpts_##name; } while (0) + +struct au_opts { + struct au_opt *opt; + int max_opt; + + unsigned int given_udba; + unsigned int flags; + unsigned long sb_flags; +}; + +/* ---------------------------------------------------------------------- */ + +char *au_optstr_br_perm(int brperm); +const char *au_optstr_udba(int udba); +const char *au_optstr_wbr_copyup(int wbr_copyup); +const char *au_optstr_wbr_create(int wbr_create); + +void au_opts_free(struct au_opts *opts); +int au_opts_parse(struct super_block *sb, char *str, struct au_opts *opts); +int au_opts_verify(struct super_block *sb, unsigned long sb_flags, + unsigned int pending); +int au_opts_mount(struct super_block *sb, struct au_opts *opts); +int au_opts_remount(struct super_block *sb, struct au_opts *opts); + +unsigned int au_opt_udba(struct super_block *sb); + +/* ---------------------------------------------------------------------- */ + +#endif /* __KERNEL__ */ +#endif /* __AUFS_OPTS_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/plink.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/plink.c @@ -0,0 +1,511 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * pseudo-link + */ + +#include "aufs.h" + +/* + * the pseudo-link maintenance mode. + * during a user process maintains the pseudo-links, + * prohibit adding a new plink and branch manipulation. + * + * Flags + * NOPLM: + * For entry functions which will handle plink, and i_mutex is already held + * in VFS. + * They cannot wait and should return an error at once. + * Callers has to check the error. + * NOPLMW: + * For entry functions which will handle plink, but i_mutex is not held + * in VFS. + * They can wait the plink maintenance mode to finish. + * + * They behave like F_SETLK and F_SETLKW. + * If the caller never handle plink, then both flags are unnecessary. + */ + +int au_plink_maint(struct super_block *sb, int flags) +{ + int err; + pid_t pid, ppid; + struct au_sbinfo *sbi; + + SiMustAnyLock(sb); + + err = 0; + if (!au_opt_test(au_mntflags(sb), PLINK)) + goto out; + + sbi = au_sbi(sb); + pid = sbi->si_plink_maint_pid; + if (!pid || pid == current->pid) + goto out; + + /* todo: it highly depends upon /sbin/mount.aufs */ + rcu_read_lock(); + ppid = task_pid_vnr(rcu_dereference(current->real_parent)); + rcu_read_unlock(); + if (pid == ppid) + goto out; + + if (au_ftest_lock(flags, NOPLMW)) { + /* if there is no i_mutex lock in VFS, we don't need to wait */ + /* AuDebugOn(!lockdep_depth(current)); */ + while (sbi->si_plink_maint_pid) { + si_read_unlock(sb); + /* gave up wake_up_bit() */ + wait_event(sbi->si_plink_wq, !sbi->si_plink_maint_pid); + + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&sbi->si_nowait); + si_noflush_read_lock(sb); + } + } else if (au_ftest_lock(flags, NOPLM)) { + AuDbg("ppid %d, pid %d\n", ppid, pid); + err = -EAGAIN; + } + +out: + return err; +} + +void au_plink_maint_leave(struct au_sbinfo *sbinfo) +{ + spin_lock(&sbinfo->si_plink_maint_lock); + sbinfo->si_plink_maint_pid = 0; + spin_unlock(&sbinfo->si_plink_maint_lock); + wake_up_all(&sbinfo->si_plink_wq); +} + +int au_plink_maint_enter(struct super_block *sb) +{ + int err; + struct au_sbinfo *sbinfo; + + err = 0; + sbinfo = au_sbi(sb); + /* make sure i am the only one in this fs */ + si_write_lock(sb, AuLock_FLUSH); + if (au_opt_test(au_mntflags(sb), PLINK)) { + spin_lock(&sbinfo->si_plink_maint_lock); + if (!sbinfo->si_plink_maint_pid) + sbinfo->si_plink_maint_pid = current->pid; + else + err = -EBUSY; + spin_unlock(&sbinfo->si_plink_maint_lock); + } + si_write_unlock(sb); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct pseudo_link { + union { + struct list_head list; + struct rcu_head rcu; + }; + struct inode *inode; +}; + +#ifdef CONFIG_AUFS_DEBUG +void au_plink_list(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + struct list_head *plink_list; + struct pseudo_link *plink; + + SiMustAnyLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + plink_list = &sbinfo->si_plink.head; + rcu_read_lock(); + list_for_each_entry_rcu(plink, plink_list, list) + AuDbg("%lu\n", plink->inode->i_ino); + rcu_read_unlock(); +} +#endif + +/* is the inode pseudo-linked? */ +int au_plink_test(struct inode *inode) +{ + int found; + struct au_sbinfo *sbinfo; + struct list_head *plink_list; + struct pseudo_link *plink; + + sbinfo = au_sbi(inode->i_sb); + AuRwMustAnyLock(&sbinfo->si_rwsem); + AuDebugOn(!au_opt_test(au_mntflags(inode->i_sb), PLINK)); + AuDebugOn(au_plink_maint(inode->i_sb, AuLock_NOPLM)); + + found = 0; + plink_list = &sbinfo->si_plink.head; + rcu_read_lock(); + list_for_each_entry_rcu(plink, plink_list, list) + if (plink->inode == inode) { + found = 1; + break; + } + rcu_read_unlock(); + return found; +} + +/* ---------------------------------------------------------------------- */ + +/* + * generate a name for plink. + * the file will be stored under AUFS_WH_PLINKDIR. + */ +/* 20 is max digits length of ulong 64 */ +#define PLINK_NAME_LEN ((20 + 1) * 2) + +static int plink_name(char *name, int len, struct inode *inode, + aufs_bindex_t bindex) +{ + int rlen; + struct inode *h_inode; + + h_inode = au_h_iptr(inode, bindex); + rlen = snprintf(name, len, "%lu.%lu", inode->i_ino, h_inode->i_ino); + return rlen; +} + +struct au_do_plink_lkup_args { + struct dentry **errp; + struct qstr *tgtname; + struct dentry *h_parent; + struct au_branch *br; +}; + +static struct dentry *au_do_plink_lkup(struct qstr *tgtname, + struct dentry *h_parent, + struct au_branch *br) +{ + struct dentry *h_dentry; + struct mutex *h_mtx; + + h_mtx = &h_parent->d_inode->i_mutex; + mutex_lock_nested(h_mtx, AuLsc_I_CHILD2); + h_dentry = au_lkup_one(tgtname, h_parent, br, /*nd*/NULL); + mutex_unlock(h_mtx); + return h_dentry; +} + +static void au_call_do_plink_lkup(void *args) +{ + struct au_do_plink_lkup_args *a = args; + *a->errp = au_do_plink_lkup(a->tgtname, a->h_parent, a->br); +} + +/* lookup the plink-ed @inode under the branch at @bindex */ +struct dentry *au_plink_lkup(struct inode *inode, aufs_bindex_t bindex) +{ + struct dentry *h_dentry, *h_parent; + struct au_branch *br; + struct inode *h_dir; + int wkq_err; + char a[PLINK_NAME_LEN]; + struct qstr tgtname = QSTR_INIT(a, 0); + + AuDebugOn(au_plink_maint(inode->i_sb, AuLock_NOPLM)); + + br = au_sbr(inode->i_sb, bindex); + h_parent = br->br_wbr->wbr_plink; + h_dir = h_parent->d_inode; + tgtname.len = plink_name(a, sizeof(a), inode, bindex); + + if (!uid_eq(current_fsuid(), GLOBAL_ROOT_UID)) { + struct au_do_plink_lkup_args args = { + .errp = &h_dentry, + .tgtname = &tgtname, + .h_parent = h_parent, + .br = br + }; + + wkq_err = au_wkq_wait(au_call_do_plink_lkup, &args); + if (unlikely(wkq_err)) + h_dentry = ERR_PTR(wkq_err); + } else + h_dentry = au_do_plink_lkup(&tgtname, h_parent, br); + + return h_dentry; +} + +/* create a pseudo-link */ +static int do_whplink(struct qstr *tgt, struct dentry *h_parent, + struct dentry *h_dentry, struct au_branch *br) +{ + int err; + struct path h_path = { + .mnt = br->br_mnt + }; + struct inode *h_dir; + + h_dir = h_parent->d_inode; + mutex_lock_nested(&h_dir->i_mutex, AuLsc_I_CHILD2); +again: + h_path.dentry = au_lkup_one(tgt, h_parent, br, /*nd*/NULL); + err = PTR_ERR(h_path.dentry); + if (IS_ERR(h_path.dentry)) + goto out; + + err = 0; + /* wh.plink dir is not monitored */ + /* todo: is it really safe? */ + if (h_path.dentry->d_inode + && h_path.dentry->d_inode != h_dentry->d_inode) { + err = vfsub_unlink(h_dir, &h_path, /*force*/0); + dput(h_path.dentry); + h_path.dentry = NULL; + if (!err) + goto again; + } + if (!err && !h_path.dentry->d_inode) + err = vfsub_link(h_dentry, h_dir, &h_path); + dput(h_path.dentry); + +out: + mutex_unlock(&h_dir->i_mutex); + return err; +} + +struct do_whplink_args { + int *errp; + struct qstr *tgt; + struct dentry *h_parent; + struct dentry *h_dentry; + struct au_branch *br; +}; + +static void call_do_whplink(void *args) +{ + struct do_whplink_args *a = args; + *a->errp = do_whplink(a->tgt, a->h_parent, a->h_dentry, a->br); +} + +static int whplink(struct dentry *h_dentry, struct inode *inode, + aufs_bindex_t bindex, struct au_branch *br) +{ + int err, wkq_err; + struct au_wbr *wbr; + struct dentry *h_parent; + struct inode *h_dir; + char a[PLINK_NAME_LEN]; + struct qstr tgtname = QSTR_INIT(a, 0); + + wbr = au_sbr(inode->i_sb, bindex)->br_wbr; + h_parent = wbr->wbr_plink; + h_dir = h_parent->d_inode; + tgtname.len = plink_name(a, sizeof(a), inode, bindex); + + /* always superio. */ + if (!uid_eq(current_fsuid(), GLOBAL_ROOT_UID)) { + struct do_whplink_args args = { + .errp = &err, + .tgt = &tgtname, + .h_parent = h_parent, + .h_dentry = h_dentry, + .br = br + }; + wkq_err = au_wkq_wait(call_do_whplink, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } else + err = do_whplink(&tgtname, h_parent, h_dentry, br); + + return err; +} + +/* free a single plink */ +static void do_put_plink(struct pseudo_link *plink, int do_del) +{ + if (do_del) + list_del(&plink->list); + iput(plink->inode); + kfree(plink); +} + +static void do_put_plink_rcu(struct rcu_head *rcu) +{ + struct pseudo_link *plink; + + plink = container_of(rcu, struct pseudo_link, rcu); + iput(plink->inode); + kfree(plink); +} + +/* + * create a new pseudo-link for @h_dentry on @bindex. + * the linked inode is held in aufs @inode. + */ +void au_plink_append(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_dentry) +{ + struct super_block *sb; + struct au_sbinfo *sbinfo; + struct list_head *plink_list; + struct pseudo_link *plink, *tmp; + int found, err, cnt; + + sb = inode->i_sb; + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + cnt = 0; + found = 0; + plink_list = &sbinfo->si_plink.head; + rcu_read_lock(); + list_for_each_entry_rcu(plink, plink_list, list) { + cnt++; + if (plink->inode == inode) { + found = 1; + break; + } + } + rcu_read_unlock(); + if (found) + return; + + tmp = kmalloc(sizeof(*plink), GFP_NOFS); + if (tmp) + tmp->inode = au_igrab(inode); + else { + err = -ENOMEM; + goto out; + } + + spin_lock(&sbinfo->si_plink.spin); + list_for_each_entry(plink, plink_list, list) { + if (plink->inode == inode) { + found = 1; + break; + } + } + if (!found) + list_add_rcu(&tmp->list, plink_list); + spin_unlock(&sbinfo->si_plink.spin); + if (!found) { + cnt++; + WARN_ONCE(cnt > AUFS_PLINK_WARN, + "unexpectedly many pseudo links, %d\n", cnt); + err = whplink(h_dentry, inode, bindex, au_sbr(sb, bindex)); + } else { + do_put_plink(tmp, 0); + return; + } + +out: + if (unlikely(err)) { + pr_warn("err %d, damaged pseudo link.\n", err); + if (tmp) { + au_spl_del_rcu(&tmp->list, &sbinfo->si_plink); + call_rcu(&tmp->rcu, do_put_plink_rcu); + } + } +} + +/* free all plinks */ +void au_plink_put(struct super_block *sb, int verbose) +{ + struct au_sbinfo *sbinfo; + struct list_head *plink_list; + struct pseudo_link *plink, *tmp; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + plink_list = &sbinfo->si_plink.head; + /* no spin_lock since sbinfo is write-locked */ + WARN(verbose && !list_empty(plink_list), "pseudo-link is not flushed"); + list_for_each_entry_safe(plink, tmp, plink_list, list) + do_put_plink(plink, 0); + INIT_LIST_HEAD(plink_list); +} + +void au_plink_clean(struct super_block *sb, int verbose) +{ + struct dentry *root; + + root = sb->s_root; + aufs_write_lock(root); + if (au_opt_test(au_mntflags(sb), PLINK)) + au_plink_put(sb, verbose); + aufs_write_unlock(root); +} + +/* free the plinks on a branch specified by @br_id */ +void au_plink_half_refresh(struct super_block *sb, aufs_bindex_t br_id) +{ + struct au_sbinfo *sbinfo; + struct list_head *plink_list; + struct pseudo_link *plink, *tmp; + struct inode *inode; + aufs_bindex_t bstart, bend, bindex; + unsigned char do_put; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + plink_list = &sbinfo->si_plink.head; + /* no spin_lock since sbinfo is write-locked */ + list_for_each_entry_safe(plink, tmp, plink_list, list) { + do_put = 0; + inode = au_igrab(plink->inode); + ii_write_lock_child(inode); + bstart = au_ibstart(inode); + bend = au_ibend(inode); + if (bstart >= 0) { + for (bindex = bstart; bindex <= bend; bindex++) { + if (!au_h_iptr(inode, bindex) + || au_ii_br_id(inode, bindex) != br_id) + continue; + au_set_h_iptr(inode, bindex, NULL, 0); + do_put = 1; + break; + } + } else + do_put_plink(plink, 1); + + if (do_put) { + for (bindex = bstart; bindex <= bend; bindex++) + if (au_h_iptr(inode, bindex)) { + do_put = 0; + break; + } + if (do_put) + do_put_plink(plink, 1); + } + ii_write_unlock(inode); + iput(inode); + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/poll.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/poll.c @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * poll operation + * There is only one filesystem which implements ->poll operation, currently. + */ + +#include "aufs.h" + +unsigned int aufs_poll(struct file *file, poll_table *wait) +{ + unsigned int mask; + int err; + struct file *h_file; + struct dentry *dentry; + struct super_block *sb; + + /* We should pretend an error happened. */ + mask = POLLERR /* | POLLIN | POLLOUT */; + dentry = file->f_dentry; + sb = dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/0); + if (unlikely(err)) + goto out; + + /* it is not an error if h_file has no operation */ + mask = DEFAULT_POLLMASK; + h_file = au_hf_top(file); + if (h_file->f_op && h_file->f_op->poll) + mask = h_file->f_op->poll(h_file, wait); + + di_read_unlock(dentry, AuLock_IR); + fi_read_unlock(file); + +out: + si_read_unlock(sb); + AuTraceErr((int)mask); + return mask; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/procfs.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/procfs.c @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2010-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * procfs interfaces + */ + +#include +#include "aufs.h" + +static int au_procfs_plm_release(struct inode *inode, struct file *file) +{ + struct au_sbinfo *sbinfo; + + sbinfo = file->private_data; + if (sbinfo) { + au_plink_maint_leave(sbinfo); + kobject_put(&sbinfo->si_kobj); + } + + return 0; +} + +static void au_procfs_plm_write_clean(struct file *file) +{ + struct au_sbinfo *sbinfo; + + sbinfo = file->private_data; + if (sbinfo) + au_plink_clean(sbinfo->si_sb, /*verbose*/0); +} + +static int au_procfs_plm_write_si(struct file *file, unsigned long id) +{ + int err; + struct super_block *sb; + struct au_sbinfo *sbinfo; + + err = -EBUSY; + if (unlikely(file->private_data)) + goto out; + + sb = NULL; + /* don't use au_sbilist_lock() here */ + spin_lock(&au_sbilist.spin); + list_for_each_entry(sbinfo, &au_sbilist.head, si_list) + if (id == sysaufs_si_id(sbinfo)) { + kobject_get(&sbinfo->si_kobj); + sb = sbinfo->si_sb; + break; + } + spin_unlock(&au_sbilist.spin); + + err = -EINVAL; + if (unlikely(!sb)) + goto out; + + err = au_plink_maint_enter(sb); + if (!err) + /* keep kobject_get() */ + file->private_data = sbinfo; + else + kobject_put(&sbinfo->si_kobj); +out: + return err; +} + +/* + * Accept a valid "si=xxxx" only. + * Once it is accepted successfully, accept "clean" too. + */ +static ssize_t au_procfs_plm_write(struct file *file, const char __user *ubuf, + size_t count, loff_t *ppos) +{ + ssize_t err; + unsigned long id; + /* last newline is allowed */ + char buf[3 + sizeof(unsigned long) * 2 + 1]; + + err = -EACCES; + if (unlikely(!capable(CAP_SYS_ADMIN))) + goto out; + + err = -EINVAL; + if (unlikely(count > sizeof(buf))) + goto out; + + err = copy_from_user(buf, ubuf, count); + if (unlikely(err)) { + err = -EFAULT; + goto out; + } + buf[count] = 0; + + err = -EINVAL; + if (!strcmp("clean", buf)) { + au_procfs_plm_write_clean(file); + goto out_success; + } else if (unlikely(strncmp("si=", buf, 3))) + goto out; + + err = kstrtoul(buf + 3, 16, &id); + if (unlikely(err)) + goto out; + + err = au_procfs_plm_write_si(file, id); + if (unlikely(err)) + goto out; + +out_success: + err = count; /* success */ +out: + return err; +} + +static const struct file_operations au_procfs_plm_fop = { + .write = au_procfs_plm_write, + .release = au_procfs_plm_release, + .owner = THIS_MODULE +}; + +/* ---------------------------------------------------------------------- */ + +static struct proc_dir_entry *au_procfs_dir; + +void au_procfs_fin(void) +{ + remove_proc_entry(AUFS_PLINK_MAINT_NAME, au_procfs_dir); + remove_proc_entry(AUFS_PLINK_MAINT_DIR, NULL); +} + +int __init au_procfs_init(void) +{ + int err; + struct proc_dir_entry *entry; + + err = -ENOMEM; + au_procfs_dir = proc_mkdir(AUFS_PLINK_MAINT_DIR, NULL); + if (unlikely(!au_procfs_dir)) + goto out; + + entry = proc_create(AUFS_PLINK_MAINT_NAME, S_IFREG | S_IWUSR, + au_procfs_dir, &au_procfs_plm_fop); + if (unlikely(!entry)) + goto out_dir; + + err = 0; + goto out; /* success */ + + +out_dir: + remove_proc_entry(AUFS_PLINK_MAINT_DIR, NULL); +out: + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/rdu.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/rdu.c @@ -0,0 +1,384 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * readdir in userspace. + */ + +#include +#include +#include +#include "aufs.h" + +/* bits for struct aufs_rdu.flags */ +#define AuRdu_CALLED 1 +#define AuRdu_CONT (1 << 1) +#define AuRdu_FULL (1 << 2) +#define au_ftest_rdu(flags, name) ((flags) & AuRdu_##name) +#define au_fset_rdu(flags, name) \ + do { (flags) |= AuRdu_##name; } while (0) +#define au_fclr_rdu(flags, name) \ + do { (flags) &= ~AuRdu_##name; } while (0) + +struct au_rdu_arg { + struct aufs_rdu *rdu; + union au_rdu_ent_ul ent; + unsigned long end; + + struct super_block *sb; + int err; +}; + +static int au_rdu_fill(void *__arg, const char *name, int nlen, + loff_t offset, u64 h_ino, unsigned int d_type) +{ + int err, len; + struct au_rdu_arg *arg = __arg; + struct aufs_rdu *rdu = arg->rdu; + struct au_rdu_ent ent; + + err = 0; + arg->err = 0; + au_fset_rdu(rdu->cookie.flags, CALLED); + len = au_rdu_len(nlen); + if (arg->ent.ul + len < arg->end) { + ent.ino = h_ino; + ent.bindex = rdu->cookie.bindex; + ent.type = d_type; + ent.nlen = nlen; + if (unlikely(nlen > AUFS_MAX_NAMELEN)) + ent.type = DT_UNKNOWN; + + /* unnecessary to support mmap_sem since this is a dir */ + err = -EFAULT; + if (copy_to_user(arg->ent.e, &ent, sizeof(ent))) + goto out; + if (copy_to_user(arg->ent.e->name, name, nlen)) + goto out; + /* the terminating NULL */ + if (__put_user(0, arg->ent.e->name + nlen)) + goto out; + err = 0; + /* AuDbg("%p, %.*s\n", arg->ent.p, nlen, name); */ + arg->ent.ul += len; + rdu->rent++; + } else { + err = -EFAULT; + au_fset_rdu(rdu->cookie.flags, FULL); + rdu->full = 1; + rdu->tail = arg->ent; + } + +out: + /* AuTraceErr(err); */ + return err; +} + +static int au_rdu_do(struct file *h_file, struct au_rdu_arg *arg) +{ + int err; + loff_t offset; + struct au_rdu_cookie *cookie = &arg->rdu->cookie; + + /* we don't have to care (FMODE_32BITHASH | FMODE_64BITHASH) for ext4 */ + offset = vfsub_llseek(h_file, cookie->h_pos, SEEK_SET); + err = offset; + if (unlikely(offset != cookie->h_pos)) + goto out; + + err = 0; + do { + arg->err = 0; + au_fclr_rdu(cookie->flags, CALLED); + /* smp_mb(); */ + err = vfsub_readdir(h_file, au_rdu_fill, arg); + if (err >= 0) + err = arg->err; + } while (!err + && au_ftest_rdu(cookie->flags, CALLED) + && !au_ftest_rdu(cookie->flags, FULL)); + cookie->h_pos = h_file->f_pos; + +out: + AuTraceErr(err); + return err; +} + +static int au_rdu(struct file *file, struct aufs_rdu *rdu) +{ + int err; + aufs_bindex_t bend; + struct au_rdu_arg arg; + struct dentry *dentry; + struct inode *inode; + struct file *h_file; + struct au_rdu_cookie *cookie = &rdu->cookie; + + err = !access_ok(VERIFY_WRITE, rdu->ent.e, rdu->sz); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + rdu->rent = 0; + rdu->tail = rdu->ent; + rdu->full = 0; + arg.rdu = rdu; + arg.ent = rdu->ent; + arg.end = arg.ent.ul; + arg.end += rdu->sz; + + err = -ENOTDIR; + if (unlikely(!file->f_op || !file->f_op->readdir)) + goto out; + + err = security_file_permission(file, MAY_READ); + AuTraceErr(err); + if (unlikely(err)) + goto out; + + dentry = file->f_dentry; + inode = dentry->d_inode; +#if 1 + mutex_lock(&inode->i_mutex); +#else + err = mutex_lock_killable(&inode->i_mutex); + AuTraceErr(err); + if (unlikely(err)) + goto out; +#endif + + arg.sb = inode->i_sb; + err = si_read_lock(arg.sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out_mtx; + err = au_alive_dir(dentry); + if (unlikely(err)) + goto out_si; + /* todo: reval? */ + fi_read_lock(file); + + err = -EAGAIN; + if (unlikely(au_ftest_rdu(cookie->flags, CONT) + && cookie->generation != au_figen(file))) + goto out_unlock; + + err = 0; + if (!rdu->blk) { + rdu->blk = au_sbi(arg.sb)->si_rdblk; + if (!rdu->blk) + rdu->blk = au_dir_size(file, /*dentry*/NULL); + } + bend = au_fbstart(file); + if (cookie->bindex < bend) + cookie->bindex = bend; + bend = au_fbend_dir(file); + /* AuDbg("b%d, b%d\n", cookie->bindex, bend); */ + for (; !err && cookie->bindex <= bend; + cookie->bindex++, cookie->h_pos = 0) { + h_file = au_hf_dir(file, cookie->bindex); + if (!h_file) + continue; + + au_fclr_rdu(cookie->flags, FULL); + err = au_rdu_do(h_file, &arg); + AuTraceErr(err); + if (unlikely(au_ftest_rdu(cookie->flags, FULL) || err)) + break; + } + AuDbg("rent %llu\n", rdu->rent); + + if (!err && !au_ftest_rdu(cookie->flags, CONT)) { + rdu->shwh = !!au_opt_test(au_sbi(arg.sb)->si_mntflags, SHWH); + au_fset_rdu(cookie->flags, CONT); + cookie->generation = au_figen(file); + } + + ii_read_lock_child(inode); + fsstack_copy_attr_atime(inode, au_h_iptr(inode, au_ibstart(inode))); + ii_read_unlock(inode); + +out_unlock: + fi_read_unlock(file); +out_si: + si_read_unlock(arg.sb); +out_mtx: + mutex_unlock(&inode->i_mutex); +out: + AuTraceErr(err); + return err; +} + +static int au_rdu_ino(struct file *file, struct aufs_rdu *rdu) +{ + int err; + ino_t ino; + unsigned long long nent; + union au_rdu_ent_ul *u; + struct au_rdu_ent ent; + struct super_block *sb; + + err = 0; + nent = rdu->nent; + u = &rdu->ent; + sb = file->f_dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + while (nent-- > 0) { + /* unnecessary to support mmap_sem since this is a dir */ + err = copy_from_user(&ent, u->e, sizeof(ent)); + if (!err) + err = !access_ok(VERIFY_WRITE, &u->e->ino, sizeof(ino)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + break; + } + + /* AuDbg("b%d, i%llu\n", ent.bindex, ent.ino); */ + if (!ent.wh) + err = au_ino(sb, ent.bindex, ent.ino, ent.type, &ino); + else + err = au_wh_ino(sb, ent.bindex, ent.ino, ent.type, + &ino); + if (unlikely(err)) { + AuTraceErr(err); + break; + } + + err = __put_user(ino, &u->e->ino); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + break; + } + u->ul += au_rdu_len(ent.nlen); + } + si_read_unlock(sb); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_rdu_verify(struct aufs_rdu *rdu) +{ + AuDbg("rdu{%llu, %p, %u | %u | %llu, %u, %u | " + "%llu, b%d, 0x%x, g%u}\n", + rdu->sz, rdu->ent.e, rdu->verify[AufsCtlRduV_SZ], + rdu->blk, + rdu->rent, rdu->shwh, rdu->full, + rdu->cookie.h_pos, rdu->cookie.bindex, rdu->cookie.flags, + rdu->cookie.generation); + + if (rdu->verify[AufsCtlRduV_SZ] == sizeof(*rdu)) + return 0; + + AuDbg("%u:%u\n", + rdu->verify[AufsCtlRduV_SZ], (unsigned int)sizeof(*rdu)); + return -EINVAL; +} + +long au_rdu_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err, e; + struct aufs_rdu rdu; + void __user *p = (void __user *)arg; + + err = copy_from_user(&rdu, p, sizeof(rdu)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + err = au_rdu_verify(&rdu); + if (unlikely(err)) + goto out; + + switch (cmd) { + case AUFS_CTL_RDU: + err = au_rdu(file, &rdu); + if (unlikely(err)) + break; + + e = copy_to_user(p, &rdu, sizeof(rdu)); + if (unlikely(e)) { + err = -EFAULT; + AuTraceErr(err); + } + break; + case AUFS_CTL_RDU_INO: + err = au_rdu_ino(file, &rdu); + break; + + default: + /* err = -ENOTTY; */ + err = -EINVAL; + } + +out: + AuTraceErr(err); + return err; +} + +#ifdef CONFIG_COMPAT +long au_rdu_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err, e; + struct aufs_rdu rdu; + void __user *p = compat_ptr(arg); + + /* todo: get_user()? */ + err = copy_from_user(&rdu, p, sizeof(rdu)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + rdu.ent.e = compat_ptr(rdu.ent.ul); + err = au_rdu_verify(&rdu); + if (unlikely(err)) + goto out; + + switch (cmd) { + case AUFS_CTL_RDU: + err = au_rdu(file, &rdu); + if (unlikely(err)) + break; + + rdu.ent.ul = ptr_to_compat(rdu.ent.e); + rdu.tail.ul = ptr_to_compat(rdu.tail.e); + e = copy_to_user(p, &rdu, sizeof(rdu)); + if (unlikely(e)) { + err = -EFAULT; + AuTraceErr(err); + } + break; + case AUFS_CTL_RDU_INO: + err = au_rdu_ino(file, &rdu); + break; + + default: + /* err = -ENOTTY; */ + err = -EINVAL; + } + +out: + AuTraceErr(err); + return err; +} +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/rwsem.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/rwsem.h @@ -0,0 +1,188 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * simple read-write semaphore wrappers + */ + +#ifndef __AUFS_RWSEM_H__ +#define __AUFS_RWSEM_H__ + +#ifdef __KERNEL__ + +#include "debug.h" + +struct au_rwsem { + struct rw_semaphore rwsem; +#ifdef CONFIG_AUFS_DEBUG + /* just for debugging, not almighty counter */ + atomic_t rcnt, wcnt; +#endif +}; + +#ifdef CONFIG_AUFS_DEBUG +#define AuDbgCntInit(rw) do { \ + atomic_set(&(rw)->rcnt, 0); \ + atomic_set(&(rw)->wcnt, 0); \ + smp_mb(); /* atomic set */ \ +} while (0) + +#define AuDbgRcntInc(rw) atomic_inc(&(rw)->rcnt) +#define AuDbgRcntDec(rw) WARN_ON(atomic_dec_return(&(rw)->rcnt) < 0) +#define AuDbgWcntInc(rw) atomic_inc(&(rw)->wcnt) +#define AuDbgWcntDec(rw) WARN_ON(atomic_dec_return(&(rw)->wcnt) < 0) +#else +#define AuDbgCntInit(rw) do {} while (0) +#define AuDbgRcntInc(rw) do {} while (0) +#define AuDbgRcntDec(rw) do {} while (0) +#define AuDbgWcntInc(rw) do {} while (0) +#define AuDbgWcntDec(rw) do {} while (0) +#endif /* CONFIG_AUFS_DEBUG */ + +/* to debug easier, do not make them inlined functions */ +#define AuRwMustNoWaiters(rw) AuDebugOn(!list_empty(&(rw)->rwsem.wait_list)) +/* rwsem_is_locked() is unusable */ +#define AuRwMustReadLock(rw) AuDebugOn(atomic_read(&(rw)->rcnt) <= 0) +#define AuRwMustWriteLock(rw) AuDebugOn(atomic_read(&(rw)->wcnt) <= 0) +#define AuRwMustAnyLock(rw) AuDebugOn(atomic_read(&(rw)->rcnt) <= 0 \ + && atomic_read(&(rw)->wcnt) <= 0) +#define AuRwDestroy(rw) AuDebugOn(atomic_read(&(rw)->rcnt) \ + || atomic_read(&(rw)->wcnt)) + +#define au_rw_class(rw, key) lockdep_set_class(&(rw)->rwsem, key) + +static inline void au_rw_init(struct au_rwsem *rw) +{ + AuDbgCntInit(rw); + init_rwsem(&rw->rwsem); +} + +static inline void au_rw_init_wlock(struct au_rwsem *rw) +{ + au_rw_init(rw); + down_write(&rw->rwsem); + AuDbgWcntInc(rw); +} + +static inline void au_rw_init_wlock_nested(struct au_rwsem *rw, + unsigned int lsc) +{ + au_rw_init(rw); + down_write_nested(&rw->rwsem, lsc); + AuDbgWcntInc(rw); +} + +static inline void au_rw_read_lock(struct au_rwsem *rw) +{ + down_read(&rw->rwsem); + AuDbgRcntInc(rw); +} + +static inline void au_rw_read_lock_nested(struct au_rwsem *rw, unsigned int lsc) +{ + down_read_nested(&rw->rwsem, lsc); + AuDbgRcntInc(rw); +} + +static inline void au_rw_read_unlock(struct au_rwsem *rw) +{ + AuRwMustReadLock(rw); + AuDbgRcntDec(rw); + up_read(&rw->rwsem); +} + +static inline void au_rw_dgrade_lock(struct au_rwsem *rw) +{ + AuRwMustWriteLock(rw); + AuDbgRcntInc(rw); + AuDbgWcntDec(rw); + downgrade_write(&rw->rwsem); +} + +static inline void au_rw_write_lock(struct au_rwsem *rw) +{ + down_write(&rw->rwsem); + AuDbgWcntInc(rw); +} + +static inline void au_rw_write_lock_nested(struct au_rwsem *rw, + unsigned int lsc) +{ + down_write_nested(&rw->rwsem, lsc); + AuDbgWcntInc(rw); +} + +static inline void au_rw_write_unlock(struct au_rwsem *rw) +{ + AuRwMustWriteLock(rw); + AuDbgWcntDec(rw); + up_write(&rw->rwsem); +} + +/* why is not _nested version defined */ +static inline int au_rw_read_trylock(struct au_rwsem *rw) +{ + int ret = down_read_trylock(&rw->rwsem); + if (ret) + AuDbgRcntInc(rw); + return ret; +} + +static inline int au_rw_write_trylock(struct au_rwsem *rw) +{ + int ret = down_write_trylock(&rw->rwsem); + if (ret) + AuDbgWcntInc(rw); + return ret; +} + +#undef AuDbgCntInit +#undef AuDbgRcntInc +#undef AuDbgRcntDec +#undef AuDbgWcntInc +#undef AuDbgWcntDec + +#define AuSimpleLockRwsemFuncs(prefix, param, rwsem) \ +static inline void prefix##_read_lock(param) \ +{ au_rw_read_lock(rwsem); } \ +static inline void prefix##_write_lock(param) \ +{ au_rw_write_lock(rwsem); } \ +static inline int prefix##_read_trylock(param) \ +{ return au_rw_read_trylock(rwsem); } \ +static inline int prefix##_write_trylock(param) \ +{ return au_rw_write_trylock(rwsem); } +/* why is not _nested version defined */ +/* static inline void prefix##_read_trylock_nested(param, lsc) +{ au_rw_read_trylock_nested(rwsem, lsc)); } +static inline void prefix##_write_trylock_nestd(param, lsc) +{ au_rw_write_trylock_nested(rwsem, lsc); } */ + +#define AuSimpleUnlockRwsemFuncs(prefix, param, rwsem) \ +static inline void prefix##_read_unlock(param) \ +{ au_rw_read_unlock(rwsem); } \ +static inline void prefix##_write_unlock(param) \ +{ au_rw_write_unlock(rwsem); } \ +static inline void prefix##_downgrade_lock(param) \ +{ au_rw_dgrade_lock(rwsem); } + +#define AuSimpleRwsemFuncs(prefix, param, rwsem) \ + AuSimpleLockRwsemFuncs(prefix, param, rwsem) \ + AuSimpleUnlockRwsemFuncs(prefix, param, rwsem) + +#endif /* __KERNEL__ */ +#endif /* __AUFS_RWSEM_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/sbinfo.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/sbinfo.c @@ -0,0 +1,343 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * superblock private data + */ + +#include "aufs.h" + +/* + * they are necessary regardless sysfs is disabled. + */ +void au_si_free(struct kobject *kobj) +{ + struct au_sbinfo *sbinfo; + char *locked __maybe_unused; /* debug only */ + + sbinfo = container_of(kobj, struct au_sbinfo, si_kobj); + AuDebugOn(!list_empty(&sbinfo->si_plink.head)); + AuDebugOn(atomic_read(&sbinfo->si_nowait.nw_len)); + + au_rw_write_lock(&sbinfo->si_rwsem); + au_br_free(sbinfo); + au_rw_write_unlock(&sbinfo->si_rwsem); + + AuDebugOn(radix_tree_gang_lookup + (&sbinfo->au_si_pid.tree, (void **)&locked, + /*first_index*/PID_MAX_DEFAULT - 1, + /*max_items*/sizeof(locked)/sizeof(*locked))); + + kfree(sbinfo->si_branch); + kfree(sbinfo->au_si_pid.bitmap); + mutex_destroy(&sbinfo->si_xib_mtx); + AuRwDestroy(&sbinfo->si_rwsem); + + kfree(sbinfo); +} + +int au_si_alloc(struct super_block *sb) +{ + int err; + struct au_sbinfo *sbinfo; + static struct lock_class_key aufs_si; + + err = -ENOMEM; + sbinfo = kzalloc(sizeof(*sbinfo), GFP_NOFS); + if (unlikely(!sbinfo)) + goto out; + + BUILD_BUG_ON(sizeof(unsigned long) != + sizeof(*sbinfo->au_si_pid.bitmap)); + sbinfo->au_si_pid.bitmap = kcalloc(BITS_TO_LONGS(PID_MAX_DEFAULT), + sizeof(*sbinfo->au_si_pid.bitmap), + GFP_NOFS); + if (unlikely(!sbinfo->au_si_pid.bitmap)) + goto out_sbinfo; + + /* will be reallocated separately */ + sbinfo->si_branch = kzalloc(sizeof(*sbinfo->si_branch), GFP_NOFS); + if (unlikely(!sbinfo->si_branch)) + goto out_pidmap; + + err = sysaufs_si_init(sbinfo); + if (unlikely(err)) + goto out_br; + + au_nwt_init(&sbinfo->si_nowait); + au_rw_init_wlock(&sbinfo->si_rwsem); + au_rw_class(&sbinfo->si_rwsem, &aufs_si); + spin_lock_init(&sbinfo->au_si_pid.tree_lock); + INIT_RADIX_TREE(&sbinfo->au_si_pid.tree, GFP_ATOMIC | __GFP_NOFAIL); + + atomic_long_set(&sbinfo->si_ninodes, 0); + atomic_long_set(&sbinfo->si_nfiles, 0); + + sbinfo->si_bend = -1; + + sbinfo->si_wbr_copyup = AuWbrCopyup_Def; + sbinfo->si_wbr_create = AuWbrCreate_Def; + sbinfo->si_wbr_copyup_ops = au_wbr_copyup_ops + sbinfo->si_wbr_copyup; + sbinfo->si_wbr_create_ops = au_wbr_create_ops + sbinfo->si_wbr_create; + + sbinfo->si_mntflags = au_opts_plink(AuOpt_Def); + + mutex_init(&sbinfo->si_xib_mtx); + sbinfo->si_xino_brid = -1; + /* leave si_xib_last_pindex and si_xib_next_bit */ + + sbinfo->si_rdcache = msecs_to_jiffies(AUFS_RDCACHE_DEF * MSEC_PER_SEC); + sbinfo->si_rdblk = AUFS_RDBLK_DEF; + sbinfo->si_rdhash = AUFS_RDHASH_DEF; + sbinfo->si_dirwh = AUFS_DIRWH_DEF; + + au_spl_init(&sbinfo->si_plink); + init_waitqueue_head(&sbinfo->si_plink_wq); + spin_lock_init(&sbinfo->si_plink_maint_lock); + + /* leave other members for sysaufs and si_mnt. */ + sbinfo->si_sb = sb; + sb->s_fs_info = sbinfo; + si_pid_set(sb); + au_debug_sbinfo_init(sbinfo); + return 0; /* success */ + +out_br: + kfree(sbinfo->si_branch); +out_pidmap: + kfree(sbinfo->au_si_pid.bitmap); +out_sbinfo: + kfree(sbinfo); +out: + return err; +} + +int au_sbr_realloc(struct au_sbinfo *sbinfo, int nbr) +{ + int err, sz; + struct au_branch **brp; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + err = -ENOMEM; + sz = sizeof(*brp) * (sbinfo->si_bend + 1); + if (unlikely(!sz)) + sz = sizeof(*brp); + brp = au_kzrealloc(sbinfo->si_branch, sz, sizeof(*brp) * nbr, GFP_NOFS); + if (brp) { + sbinfo->si_branch = brp; + err = 0; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +unsigned int au_sigen_inc(struct super_block *sb) +{ + unsigned int gen; + + SiMustWriteLock(sb); + + gen = ++au_sbi(sb)->si_generation; + au_update_digen(sb->s_root); + au_update_iigen(sb->s_root->d_inode); + sb->s_root->d_inode->i_version++; + return gen; +} + +aufs_bindex_t au_new_br_id(struct super_block *sb) +{ + aufs_bindex_t br_id; + int i; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + for (i = 0; i <= AUFS_BRANCH_MAX; i++) { + br_id = ++sbinfo->si_last_br_id; + AuDebugOn(br_id < 0); + if (br_id && au_br_index(sb, br_id) < 0) + return br_id; + } + + return -1; +} + +/* ---------------------------------------------------------------------- */ + +/* it is ok that new 'nwt' tasks are appended while we are sleeping */ +int si_read_lock(struct super_block *sb, int flags) +{ + int err; + + err = 0; + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + + si_noflush_read_lock(sb); + err = au_plink_maint(sb, flags); + if (unlikely(err)) + si_read_unlock(sb); + + return err; +} + +int si_write_lock(struct super_block *sb, int flags) +{ + int err; + + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + + si_noflush_write_lock(sb); + err = au_plink_maint(sb, flags); + if (unlikely(err)) + si_write_unlock(sb); + + return err; +} + +/* dentry and super_block lock. call at entry point */ +int aufs_read_lock(struct dentry *dentry, int flags) +{ + int err; + struct super_block *sb; + + sb = dentry->d_sb; + err = si_read_lock(sb, flags); + if (unlikely(err)) + goto out; + + if (au_ftest_lock(flags, DW)) + di_write_lock_child(dentry); + else + di_read_lock_child(dentry, flags); + + if (au_ftest_lock(flags, GEN)) { + err = au_digen_test(dentry, au_sigen(sb)); + AuDebugOn(!err && au_dbrange_test(dentry)); + if (unlikely(err)) + aufs_read_unlock(dentry, flags); + } + +out: + return err; +} + +void aufs_read_unlock(struct dentry *dentry, int flags) +{ + if (au_ftest_lock(flags, DW)) + di_write_unlock(dentry); + else + di_read_unlock(dentry, flags); + si_read_unlock(dentry->d_sb); +} + +void aufs_write_lock(struct dentry *dentry) +{ + si_write_lock(dentry->d_sb, AuLock_FLUSH | AuLock_NOPLMW); + di_write_lock_child(dentry); +} + +void aufs_write_unlock(struct dentry *dentry) +{ + di_write_unlock(dentry); + si_write_unlock(dentry->d_sb); +} + +int aufs_read_and_write_lock2(struct dentry *d1, struct dentry *d2, int flags) +{ + int err; + unsigned int sigen; + struct super_block *sb; + + sb = d1->d_sb; + err = si_read_lock(sb, flags); + if (unlikely(err)) + goto out; + + di_write_lock2_child(d1, d2, au_ftest_lock(flags, DIR)); + + if (au_ftest_lock(flags, GEN)) { + sigen = au_sigen(sb); + err = au_digen_test(d1, sigen); + AuDebugOn(!err && au_dbrange_test(d1)); + if (!err) { + err = au_digen_test(d2, sigen); + AuDebugOn(!err && au_dbrange_test(d2)); + } + if (unlikely(err)) + aufs_read_and_write_unlock2(d1, d2); + } + +out: + return err; +} + +void aufs_read_and_write_unlock2(struct dentry *d1, struct dentry *d2) +{ + di_write_unlock2(d1, d2); + si_read_unlock(d1->d_sb); +} + +/* ---------------------------------------------------------------------- */ + +int si_pid_test_slow(struct super_block *sb) +{ + void *p; + + rcu_read_lock(); + p = radix_tree_lookup(&au_sbi(sb)->au_si_pid.tree, current->pid); + rcu_read_unlock(); + + return (long)!!p; +} + +void si_pid_set_slow(struct super_block *sb) +{ + int err; + struct au_sbinfo *sbinfo; + + AuDebugOn(si_pid_test_slow(sb)); + + sbinfo = au_sbi(sb); + err = radix_tree_preload(GFP_NOFS | __GFP_NOFAIL); + AuDebugOn(err); + spin_lock(&sbinfo->au_si_pid.tree_lock); + err = radix_tree_insert(&sbinfo->au_si_pid.tree, current->pid, + /*any valid ptr*/sb); + spin_unlock(&sbinfo->au_si_pid.tree_lock); + AuDebugOn(err); + radix_tree_preload_end(); +} + +void si_pid_clr_slow(struct super_block *sb) +{ + void *p; + struct au_sbinfo *sbinfo; + + AuDebugOn(!si_pid_test_slow(sb)); + + sbinfo = au_sbi(sb); + spin_lock(&sbinfo->au_si_pid.tree_lock); + p = radix_tree_delete(&sbinfo->au_si_pid.tree, current->pid); + spin_unlock(&sbinfo->au_si_pid.tree_lock); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/spl.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/spl.h @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * simple list protected by a spinlock + */ + +#ifndef __AUFS_SPL_H__ +#define __AUFS_SPL_H__ + +#ifdef __KERNEL__ + +struct au_splhead { + spinlock_t spin; + struct list_head head; +}; + +static inline void au_spl_init(struct au_splhead *spl) +{ + spin_lock_init(&spl->spin); + INIT_LIST_HEAD(&spl->head); +} + +static inline void au_spl_add(struct list_head *list, struct au_splhead *spl) +{ + spin_lock(&spl->spin); + list_add(list, &spl->head); + spin_unlock(&spl->spin); +} + +static inline void au_spl_del(struct list_head *list, struct au_splhead *spl) +{ + spin_lock(&spl->spin); + list_del(list); + spin_unlock(&spl->spin); +} + +static inline void au_spl_del_rcu(struct list_head *list, + struct au_splhead *spl) +{ + spin_lock(&spl->spin); + list_del_rcu(list); + spin_unlock(&spl->spin); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_SPL_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/super.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/super.c @@ -0,0 +1,962 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * mount and super_block operations + */ + +#include +#include +#include +#include +#include +#include +#include "aufs.h" + +/* + * super_operations + */ +static struct inode *aufs_alloc_inode(struct super_block *sb __maybe_unused) +{ + struct au_icntnr *c; + + c = au_cache_alloc_icntnr(); + if (c) { + au_icntnr_init(c); + c->vfs_inode.i_version = 1; /* sigen(sb); */ + c->iinfo.ii_hinode = NULL; + return &c->vfs_inode; + } + return NULL; +} + +static void aufs_destroy_inode_cb(struct rcu_head *head) +{ + struct inode *inode = container_of(head, struct inode, i_rcu); + + INIT_LIST_HEAD(&inode->i_dentry); + au_cache_free_icntnr(container_of(inode, struct au_icntnr, vfs_inode)); +} + +static void aufs_destroy_inode(struct inode *inode) +{ + au_iinfo_fin(inode); + call_rcu(&inode->i_rcu, aufs_destroy_inode_cb); +} + +struct inode *au_iget_locked(struct super_block *sb, ino_t ino) +{ + struct inode *inode; + int err; + + inode = iget_locked(sb, ino); + if (unlikely(!inode)) { + inode = ERR_PTR(-ENOMEM); + goto out; + } + if (!(inode->i_state & I_NEW)) + goto out; + + err = au_xigen_new(inode); + if (!err) + err = au_iinfo_init(inode); + if (!err) + inode->i_version++; + else { + iget_failed(inode); + inode = ERR_PTR(err); + } + +out: + /* never return NULL */ + AuDebugOn(!inode); + AuTraceErrPtr(inode); + return inode; +} + +/* lock free root dinfo */ +static int au_show_brs(struct seq_file *seq, struct super_block *sb) +{ + int err; + aufs_bindex_t bindex, bend; + struct path path; + struct au_hdentry *hdp; + struct au_branch *br; + char *perm; + + err = 0; + bend = au_sbend(sb); + hdp = au_di(sb->s_root)->di_hdentry; + for (bindex = 0; !err && bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + path.mnt = br->br_mnt; + path.dentry = hdp[bindex].hd_dentry; + err = au_seq_path(seq, &path); + if (err > 0) { + perm = au_optstr_br_perm(br->br_perm); + if (perm) { + err = seq_printf(seq, "=%s", perm); + kfree(perm); + if (err == -1) + err = -E2BIG; + } else + err = -ENOMEM; + } + if (!err && bindex != bend) + err = seq_putc(seq, ':'); + } + + return err; +} + +static void au_show_wbr_create(struct seq_file *m, int v, + struct au_sbinfo *sbinfo) +{ + const char *pat; + + AuRwMustAnyLock(&sbinfo->si_rwsem); + + seq_printf(m, ",create="); + pat = au_optstr_wbr_create(v); + switch (v) { + case AuWbrCreate_TDP: + case AuWbrCreate_RR: + case AuWbrCreate_MFS: + case AuWbrCreate_PMFS: + seq_printf(m, pat); + break; + case AuWbrCreate_MFSV: + seq_printf(m, /*pat*/"mfs:%lu", + jiffies_to_msecs(sbinfo->si_wbr_mfs.mfs_expire) + / MSEC_PER_SEC); + break; + case AuWbrCreate_PMFSV: + seq_printf(m, /*pat*/"pmfs:%lu", + jiffies_to_msecs(sbinfo->si_wbr_mfs.mfs_expire) + / MSEC_PER_SEC); + break; + case AuWbrCreate_MFSRR: + seq_printf(m, /*pat*/"mfsrr:%llu", + sbinfo->si_wbr_mfs.mfsrr_watermark); + break; + case AuWbrCreate_MFSRRV: + seq_printf(m, /*pat*/"mfsrr:%llu:%lu", + sbinfo->si_wbr_mfs.mfsrr_watermark, + jiffies_to_msecs(sbinfo->si_wbr_mfs.mfs_expire) + / MSEC_PER_SEC); + break; + } +} + +static int au_show_xino(struct seq_file *seq, struct super_block *sb) +{ +#ifdef CONFIG_SYSFS + return 0; +#else + int err; + const int len = sizeof(AUFS_XINO_FNAME) - 1; + aufs_bindex_t bindex, brid; + struct qstr *name; + struct file *f; + struct dentry *d, *h_root; + struct au_hdentry *hdp; + + AuRwMustAnyLock(&sbinfo->si_rwsem); + + err = 0; + f = au_sbi(sb)->si_xib; + if (!f) + goto out; + + /* stop printing the default xino path on the first writable branch */ + h_root = NULL; + brid = au_xino_brid(sb); + if (brid >= 0) { + bindex = au_br_index(sb, brid); + hdp = au_di(sb->s_root)->di_hdentry; + h_root = hdp[0 + bindex].hd_dentry; + } + d = f->f_dentry; + name = &d->d_name; + /* safe ->d_parent because the file is unlinked */ + if (d->d_parent == h_root + && name->len == len + && !memcmp(name->name, AUFS_XINO_FNAME, len)) + goto out; + + seq_puts(seq, ",xino="); + err = au_xino_path(seq, f); + +out: + return err; +#endif +} + +/* seq_file will re-call me in case of too long string */ +static int aufs_show_options(struct seq_file *m, struct dentry *dentry) +{ + int err; + unsigned int mnt_flags, v; + struct super_block *sb; + struct au_sbinfo *sbinfo; + +#define AuBool(name, str) do { \ + v = au_opt_test(mnt_flags, name); \ + if (v != au_opt_test(AuOpt_Def, name)) \ + seq_printf(m, ",%s" #str, v ? "" : "no"); \ +} while (0) + +#define AuStr(name, str) do { \ + v = mnt_flags & AuOptMask_##name; \ + if (v != (AuOpt_Def & AuOptMask_##name)) \ + seq_printf(m, "," #str "=%s", au_optstr_##str(v)); \ +} while (0) + +#define AuUInt(name, str, val) do { \ + if (val != AUFS_##name##_DEF) \ + seq_printf(m, "," #str "=%u", val); \ +} while (0) + + /* lock free root dinfo */ + sb = dentry->d_sb; + si_noflush_read_lock(sb); + sbinfo = au_sbi(sb); + seq_printf(m, ",si=%lx", sysaufs_si_id(sbinfo)); + + mnt_flags = au_mntflags(sb); + if (au_opt_test(mnt_flags, XINO)) { + err = au_show_xino(m, sb); + if (unlikely(err)) + goto out; + } else + seq_puts(m, ",noxino"); + + AuBool(TRUNC_XINO, trunc_xino); + AuStr(UDBA, udba); + AuBool(SHWH, shwh); + AuBool(PLINK, plink); + AuBool(DIO, dio); + /* AuBool(DIRPERM1, dirperm1); */ + /* AuBool(REFROF, refrof); */ + + v = sbinfo->si_wbr_create; + if (v != AuWbrCreate_Def) + au_show_wbr_create(m, v, sbinfo); + + v = sbinfo->si_wbr_copyup; + if (v != AuWbrCopyup_Def) + seq_printf(m, ",cpup=%s", au_optstr_wbr_copyup(v)); + + v = au_opt_test(mnt_flags, ALWAYS_DIROPQ); + if (v != au_opt_test(AuOpt_Def, ALWAYS_DIROPQ)) + seq_printf(m, ",diropq=%c", v ? 'a' : 'w'); + + AuUInt(DIRWH, dirwh, sbinfo->si_dirwh); + + v = jiffies_to_msecs(sbinfo->si_rdcache) / MSEC_PER_SEC; + AuUInt(RDCACHE, rdcache, v); + + AuUInt(RDBLK, rdblk, sbinfo->si_rdblk); + AuUInt(RDHASH, rdhash, sbinfo->si_rdhash); + + AuBool(SUM, sum); + /* AuBool(SUM_W, wsum); */ + AuBool(WARN_PERM, warn_perm); + AuBool(VERBOSE, verbose); + +out: + /* be sure to print "br:" last */ + if (!sysaufs_brs) { + seq_puts(m, ",br:"); + au_show_brs(m, sb); + } + si_read_unlock(sb); + return 0; + +#undef AuBool +#undef AuStr +#undef AuUInt +} + +/* ---------------------------------------------------------------------- */ + +/* sum mode which returns the summation for statfs(2) */ + +static u64 au_add_till_max(u64 a, u64 b) +{ + u64 old; + + old = a; + a += b; + if (old <= a) + return a; + return ULLONG_MAX; +} + +static u64 au_mul_till_max(u64 a, long mul) +{ + u64 old; + + old = a; + a *= mul; + if (old <= a) + return a; + return ULLONG_MAX; +} + +static int au_statfs_sum(struct super_block *sb, struct kstatfs *buf) +{ + int err; + long bsize, factor; + u64 blocks, bfree, bavail, files, ffree; + aufs_bindex_t bend, bindex, i; + unsigned char shared; + struct path h_path; + struct super_block *h_sb; + + err = 0; + bsize = LONG_MAX; + files = 0; + ffree = 0; + blocks = 0; + bfree = 0; + bavail = 0; + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) { + h_path.mnt = au_sbr_mnt(sb, bindex); + h_sb = h_path.mnt->mnt_sb; + shared = 0; + for (i = 0; !shared && i < bindex; i++) + shared = (au_sbr_sb(sb, i) == h_sb); + if (shared) + continue; + + /* sb->s_root for NFS is unreliable */ + h_path.dentry = h_path.mnt->mnt_root; + err = vfs_statfs(&h_path, buf); + if (unlikely(err)) + goto out; + + if (bsize > buf->f_bsize) { + /* + * we will reduce bsize, so we have to expand blocks + * etc. to match them again + */ + factor = (bsize / buf->f_bsize); + blocks = au_mul_till_max(blocks, factor); + bfree = au_mul_till_max(bfree, factor); + bavail = au_mul_till_max(bavail, factor); + bsize = buf->f_bsize; + } + + factor = (buf->f_bsize / bsize); + blocks = au_add_till_max(blocks, + au_mul_till_max(buf->f_blocks, factor)); + bfree = au_add_till_max(bfree, + au_mul_till_max(buf->f_bfree, factor)); + bavail = au_add_till_max(bavail, + au_mul_till_max(buf->f_bavail, factor)); + files = au_add_till_max(files, buf->f_files); + ffree = au_add_till_max(ffree, buf->f_ffree); + } + + buf->f_bsize = bsize; + buf->f_blocks = blocks; + buf->f_bfree = bfree; + buf->f_bavail = bavail; + buf->f_files = files; + buf->f_ffree = ffree; + buf->f_frsize = 0; + +out: + return err; +} + +static int aufs_statfs(struct dentry *dentry, struct kstatfs *buf) +{ + int err; + struct path h_path; + struct super_block *sb; + + /* lock free root dinfo */ + sb = dentry->d_sb; + si_noflush_read_lock(sb); + if (!au_opt_test(au_mntflags(sb), SUM)) { + /* sb->s_root for NFS is unreliable */ + h_path.mnt = au_sbr_mnt(sb, 0); + h_path.dentry = h_path.mnt->mnt_root; + err = vfs_statfs(&h_path, buf); + } else + err = au_statfs_sum(sb, buf); + si_read_unlock(sb); + + if (!err) { + buf->f_type = AUFS_SUPER_MAGIC; + buf->f_namelen = AUFS_MAX_NAMELEN; + memset(&buf->f_fsid, 0, sizeof(buf->f_fsid)); + } + /* buf->f_bsize = buf->f_blocks = buf->f_bfree = buf->f_bavail = -1; */ + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* final actions when unmounting a file system */ +static void aufs_put_super(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + sbinfo = au_sbi(sb); + if (!sbinfo) + return; + + dbgaufs_si_fin(sbinfo); + kobject_put(&sbinfo->si_kobj); +} + +/* ---------------------------------------------------------------------- */ + +void au_array_free(void *array) +{ + if (array) { + if (!is_vmalloc_addr(array)) + kfree(array); + else + vfree(array); + } +} + +void *au_array_alloc(unsigned long long *hint, au_arraycb_t cb, void *arg) +{ + void *array; + unsigned long long n; + + array = NULL; + n = 0; + if (!*hint) + goto out; + + if (*hint > ULLONG_MAX / sizeof(array)) { + array = ERR_PTR(-EMFILE); + pr_err("hint %llu\n", *hint); + goto out; + } + + array = kmalloc(sizeof(array) * *hint, GFP_NOFS); + if (unlikely(!array)) + array = vmalloc(sizeof(array) * *hint); + if (unlikely(!array)) { + array = ERR_PTR(-ENOMEM); + goto out; + } + + n = cb(array, *hint, arg); + AuDebugOn(n > *hint); + +out: + *hint = n; + return array; +} + +static unsigned long long au_iarray_cb(void *a, + unsigned long long max __maybe_unused, + void *arg) +{ + unsigned long long n; + struct inode **p, *inode; + struct list_head *head; + + n = 0; + p = a; + head = arg; + spin_lock(&inode_sb_list_lock); + list_for_each_entry(inode, head, i_sb_list) { + if (!is_bad_inode(inode) + && au_ii(inode)->ii_bstart >= 0) { + spin_lock(&inode->i_lock); + if (atomic_read(&inode->i_count)) { + au_igrab(inode); + *p++ = inode; + n++; + AuDebugOn(n > max); + } + spin_unlock(&inode->i_lock); + } + } + spin_unlock(&inode_sb_list_lock); + + return n; +} + +struct inode **au_iarray_alloc(struct super_block *sb, unsigned long long *max) +{ + *max = atomic_long_read(&au_sbi(sb)->si_ninodes); + return au_array_alloc(max, au_iarray_cb, &sb->s_inodes); +} + +void au_iarray_free(struct inode **a, unsigned long long max) +{ + unsigned long long ull; + + for (ull = 0; ull < max; ull++) + iput(a[ull]); + au_array_free(a); +} + +/* ---------------------------------------------------------------------- */ + +/* + * refresh dentry and inode at remount time. + */ +/* todo: consolidate with simple_reval_dpath() and au_reval_for_attr() */ +static int au_do_refresh(struct dentry *dentry, unsigned int dir_flags, + struct dentry *parent) +{ + int err; + + di_write_lock_child(dentry); + di_read_lock_parent(parent, AuLock_IR); + err = au_refresh_dentry(dentry, parent); + if (!err && dir_flags) + au_hn_reset(dentry->d_inode, dir_flags); + di_read_unlock(parent, AuLock_IR); + di_write_unlock(dentry); + + return err; +} + +static int au_do_refresh_d(struct dentry *dentry, unsigned int sigen, + struct au_sbinfo *sbinfo, + const unsigned int dir_flags) +{ + int err; + struct dentry *parent; + struct inode *inode; + + err = 0; + parent = dget_parent(dentry); + if (!au_digen_test(parent, sigen) && au_digen_test(dentry, sigen)) { + inode = dentry->d_inode; + if (inode) { + if (!S_ISDIR(inode->i_mode)) + err = au_do_refresh(dentry, /*dir_flags*/0, + parent); + else { + err = au_do_refresh(dentry, dir_flags, parent); + if (unlikely(err)) + au_fset_si(sbinfo, FAILED_REFRESH_DIR); + } + } else + err = au_do_refresh(dentry, /*dir_flags*/0, parent); + AuDbgDentry(dentry); + } + dput(parent); + + AuTraceErr(err); + return err; +} + +static int au_refresh_d(struct super_block *sb) +{ + int err, i, j, ndentry, e; + unsigned int sigen; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries, *d; + struct au_sbinfo *sbinfo; + struct dentry *root = sb->s_root; + const unsigned int dir_flags = au_hi_flags(root->d_inode, /*isdir*/1); + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, root, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + sigen = au_sigen(sb); + sbinfo = au_sbi(sb); + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) { + d = dentries[j]; + e = au_do_refresh_d(d, sigen, sbinfo, dir_flags); + if (unlikely(e && !err)) + err = e; + /* go on even err */ + } + } + +out_dpages: + au_dpages_free(&dpages); +out: + return err; +} + +static int au_refresh_i(struct super_block *sb) +{ + int err, e; + unsigned int sigen; + unsigned long long max, ull; + struct inode *inode, **array; + + array = au_iarray_alloc(sb, &max); + err = PTR_ERR(array); + if (IS_ERR(array)) + goto out; + + err = 0; + sigen = au_sigen(sb); + for (ull = 0; ull < max; ull++) { + inode = array[ull]; + if (au_iigen(inode) != sigen) { + ii_write_lock_child(inode); + e = au_refresh_hinode_self(inode); + ii_write_unlock(inode); + if (unlikely(e)) { + pr_err("error %d, i%lu\n", e, inode->i_ino); + if (!err) + err = e; + /* go on even if err */ + } + } + } + + au_iarray_free(array, max); + +out: + return err; +} + +static void au_remount_refresh(struct super_block *sb) +{ + int err, e; + unsigned int udba; + aufs_bindex_t bindex, bend; + struct dentry *root; + struct inode *inode; + struct au_branch *br; + + au_sigen_inc(sb); + au_fclr_si(au_sbi(sb), FAILED_REFRESH_DIR); + + root = sb->s_root; + DiMustNoWaiters(root); + inode = root->d_inode; + IiMustNoWaiters(inode); + + udba = au_opt_udba(sb); + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + err = au_hnotify_reset_br(udba, br, br->br_perm); + if (unlikely(err)) + AuIOErr("hnotify failed on br %d, %d, ignored\n", + bindex, err); + /* go on even if err */ + } + au_hn_reset(inode, au_hi_flags(inode, /*isdir*/1)); + + di_write_unlock(root); + err = au_refresh_d(sb); + e = au_refresh_i(sb); + if (unlikely(e && !err)) + err = e; + /* aufs_write_lock() calls ..._child() */ + di_write_lock_child(root); + + au_cpup_attr_all(inode, /*force*/1); + + if (unlikely(err)) + AuIOErr("refresh failed, ignored, %d\n", err); +} + +/* stop extra interpretation of errno in mount(8), and strange error messages */ +static int cvt_err(int err) +{ + AuTraceErr(err); + + switch (err) { + case -ENOENT: + case -ENOTDIR: + case -EEXIST: + case -EIO: + err = -EINVAL; + } + return err; +} + +static int aufs_remount_fs(struct super_block *sb, int *flags, char *data) +{ + int err, do_dx; + unsigned int mntflags; + struct au_opts opts; + struct dentry *root; + struct inode *inode; + struct au_sbinfo *sbinfo; + + err = 0; + root = sb->s_root; + if (!data || !*data) { + err = si_write_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (!err) { + di_write_lock_child(root); + err = au_opts_verify(sb, *flags, /*pending*/0); + aufs_write_unlock(root); + } + goto out; + } + + err = -ENOMEM; + memset(&opts, 0, sizeof(opts)); + opts.opt = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!opts.opt)) + goto out; + opts.max_opt = PAGE_SIZE / sizeof(*opts.opt); + opts.flags = AuOpts_REMOUNT; + opts.sb_flags = *flags; + + /* parse it before aufs lock */ + err = au_opts_parse(sb, data, &opts); + if (unlikely(err)) + goto out_opts; + + sbinfo = au_sbi(sb); + inode = root->d_inode; + mutex_lock(&inode->i_mutex); + err = si_write_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out_mtx; + di_write_lock_child(root); + + /* au_opts_remount() may return an error */ + err = au_opts_remount(sb, &opts); + au_opts_free(&opts); + + if (au_ftest_opts(opts.flags, REFRESH)) + au_remount_refresh(sb); + + if (au_ftest_opts(opts.flags, REFRESH_DYAOP)) { + mntflags = au_mntflags(sb); + do_dx = !!au_opt_test(mntflags, DIO); + au_dy_arefresh(do_dx); + } + + aufs_write_unlock(root); + +out_mtx: + mutex_unlock(&inode->i_mutex); +out_opts: + free_page((unsigned long)opts.opt); +out: + err = cvt_err(err); + AuTraceErr(err); + return err; +} + +static const struct super_operations aufs_sop = { + .alloc_inode = aufs_alloc_inode, + .destroy_inode = aufs_destroy_inode, + /* always deleting, no clearing */ + .drop_inode = generic_delete_inode, + .show_options = aufs_show_options, + .statfs = aufs_statfs, + .put_super = aufs_put_super, + .remount_fs = aufs_remount_fs +}; + +/* ---------------------------------------------------------------------- */ + +static int alloc_root(struct super_block *sb) +{ + int err; + struct inode *inode; + struct dentry *root; + + err = -ENOMEM; + inode = au_iget_locked(sb, AUFS_ROOT_INO); + err = PTR_ERR(inode); + if (IS_ERR(inode)) + goto out; + + inode->i_op = &aufs_dir_iop; + inode->i_fop = &aufs_dir_fop; + inode->i_mode = S_IFDIR; + set_nlink(inode, 2); + unlock_new_inode(inode); + + root = d_make_root(inode); + if (unlikely(!root)) + goto out; + err = PTR_ERR(root); + if (IS_ERR(root)) + goto out; + + err = au_di_init(root); + if (!err) { + sb->s_root = root; + return 0; /* success */ + } + dput(root); + +out: + return err; +} + +static int aufs_fill_super(struct super_block *sb, void *raw_data, + int silent __maybe_unused) +{ + int err; + struct au_opts opts; + struct dentry *root; + struct inode *inode; + char *arg = raw_data; + + if (unlikely(!arg || !*arg)) { + err = -EINVAL; + pr_err("no arg\n"); + goto out; + } + + err = -ENOMEM; + memset(&opts, 0, sizeof(opts)); + opts.opt = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!opts.opt)) + goto out; + opts.max_opt = PAGE_SIZE / sizeof(*opts.opt); + opts.sb_flags = sb->s_flags; + + err = au_si_alloc(sb); + if (unlikely(err)) + goto out_opts; + + /* all timestamps always follow the ones on the branch */ + sb->s_flags |= MS_NOATIME | MS_NODIRATIME; + sb->s_op = &aufs_sop; + sb->s_d_op = &aufs_dop; + sb->s_magic = AUFS_SUPER_MAGIC; + sb->s_maxbytes = 0; + au_export_init(sb); + + err = alloc_root(sb); + if (unlikely(err)) { + si_write_unlock(sb); + goto out_info; + } + root = sb->s_root; + inode = root->d_inode; + + /* + * actually we can parse options regardless aufs lock here. + * but at remount time, parsing must be done before aufs lock. + * so we follow the same rule. + */ + ii_write_lock_parent(inode); + aufs_write_unlock(root); + err = au_opts_parse(sb, arg, &opts); + if (unlikely(err)) + goto out_root; + + /* lock vfs_inode first, then aufs. */ + mutex_lock(&inode->i_mutex); + aufs_write_lock(root); + err = au_opts_mount(sb, &opts); + au_opts_free(&opts); + aufs_write_unlock(root); + mutex_unlock(&inode->i_mutex); + if (!err) + goto out_opts; /* success */ + +out_root: + dput(root); + sb->s_root = NULL; +out_info: + dbgaufs_si_fin(au_sbi(sb)); + kobject_put(&au_sbi(sb)->si_kobj); + sb->s_fs_info = NULL; +out_opts: + free_page((unsigned long)opts.opt); +out: + AuTraceErr(err); + err = cvt_err(err); + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *aufs_mount(struct file_system_type *fs_type, int flags, + const char *dev_name __maybe_unused, + void *raw_data) +{ + struct dentry *root; + struct super_block *sb; + + /* all timestamps always follow the ones on the branch */ + /* mnt->mnt_flags |= MNT_NOATIME | MNT_NODIRATIME; */ + root = mount_nodev(fs_type, flags, raw_data, aufs_fill_super); + if (IS_ERR(root)) + goto out; + + sb = root->d_sb; + si_write_lock(sb, !AuLock_FLUSH); + sysaufs_brs_add(sb, 0); + si_write_unlock(sb); + au_sbilist_add(sb); + +out: + return root; +} + +static void aufs_kill_sb(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + sbinfo = au_sbi(sb); + if (sbinfo) { + au_sbilist_del(sb); + aufs_write_lock(sb->s_root); + if (sbinfo->si_wbr_create_ops->fin) + sbinfo->si_wbr_create_ops->fin(sb); + if (au_opt_test(sbinfo->si_mntflags, UDBA_HNOTIFY)) { + au_opt_set_udba(sbinfo->si_mntflags, UDBA_NONE); + au_remount_refresh(sb); + } + if (au_opt_test(sbinfo->si_mntflags, PLINK)) + au_plink_put(sb, /*verbose*/1); + au_xino_clr(sb); + sbinfo->si_sb = NULL; + aufs_write_unlock(sb->s_root); + au_nwt_flush(&sbinfo->si_nowait); + } + generic_shutdown_super(sb); +} + +struct file_system_type aufs_fs_type = { + .name = AUFS_FSTYPE, + .fs_flags = + FS_RENAME_DOES_D_MOVE /* a race between rename and others */ + | FS_REVAL_DOT, /* for NFS branch and udba */ + .mount = aufs_mount, + .kill_sb = aufs_kill_sb, + /* no need to __module_get() and module_put(). */ + .owner = THIS_MODULE, +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/super.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/super.h @@ -0,0 +1,546 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * super_block operations + */ + +#ifndef __AUFS_SUPER_H__ +#define __AUFS_SUPER_H__ + +#ifdef __KERNEL__ + +#include +#include "rwsem.h" +#include "spl.h" +#include "wkq.h" + +typedef ssize_t (*au_readf_t)(struct file *, char __user *, size_t, loff_t *); +typedef ssize_t (*au_writef_t)(struct file *, const char __user *, size_t, + loff_t *); + +/* policies to select one among multiple writable branches */ +struct au_wbr_copyup_operations { + int (*copyup)(struct dentry *dentry); +}; + +struct au_wbr_create_operations { + int (*create)(struct dentry *dentry, int isdir); + int (*init)(struct super_block *sb); + int (*fin)(struct super_block *sb); +}; + +struct au_wbr_mfs { + struct mutex mfs_lock; /* protect this structure */ + unsigned long mfs_jiffy; + unsigned long mfs_expire; + aufs_bindex_t mfs_bindex; + + unsigned long long mfsrr_bytes; + unsigned long long mfsrr_watermark; +}; + +struct au_branch; +struct au_sbinfo { + /* nowait tasks in the system-wide workqueue */ + struct au_nowait_tasks si_nowait; + + /* + * tried sb->s_umount, but failed due to the dependecy between i_mutex. + * rwsem for au_sbinfo is necessary. + */ + struct au_rwsem si_rwsem; + + /* prevent recursive locking in deleting inode */ + struct { + unsigned long *bitmap; + spinlock_t tree_lock; + struct radix_tree_root tree; + } au_si_pid; + + /* + * dirty approach to protect sb->sb_inodes and ->s_files from remount. + */ + atomic_long_t si_ninodes, si_nfiles; + + /* branch management */ + unsigned int si_generation; + + /* see above flags */ + unsigned char au_si_status; + + aufs_bindex_t si_bend; + + /* dirty trick to keep br_id plus */ + unsigned int si_last_br_id : + sizeof(aufs_bindex_t) * BITS_PER_BYTE - 1; + struct au_branch **si_branch; + + /* policy to select a writable branch */ + unsigned char si_wbr_copyup; + unsigned char si_wbr_create; + struct au_wbr_copyup_operations *si_wbr_copyup_ops; + struct au_wbr_create_operations *si_wbr_create_ops; + + /* round robin */ + atomic_t si_wbr_rr_next; + + /* most free space */ + struct au_wbr_mfs si_wbr_mfs; + + /* mount flags */ + /* include/asm-ia64/siginfo.h defines a macro named si_flags */ + unsigned int si_mntflags; + + /* external inode number (bitmap and translation table) */ + au_readf_t si_xread; + au_writef_t si_xwrite; + struct file *si_xib; + struct mutex si_xib_mtx; /* protect xib members */ + unsigned long *si_xib_buf; + unsigned long si_xib_last_pindex; + int si_xib_next_bit; + aufs_bindex_t si_xino_brid; + /* reserved for future use */ + /* unsigned long long si_xib_limit; */ /* Max xib file size */ + +#ifdef CONFIG_AUFS_EXPORT + /* i_generation */ + struct file *si_xigen; + atomic_t si_xigen_next; +#endif + + /* vdir parameters */ + unsigned long si_rdcache; /* max cache time in jiffies */ + unsigned int si_rdblk; /* deblk size */ + unsigned int si_rdhash; /* hash size */ + + /* + * If the number of whiteouts are larger than si_dirwh, leave all of + * them after au_whtmp_ren to reduce the cost of rmdir(2). + * future fsck.aufs or kernel thread will remove them later. + * Otherwise, remove all whiteouts and the dir in rmdir(2). + */ + unsigned int si_dirwh; + + /* + * rename(2) a directory with all children. + */ + /* reserved for future use */ + /* int si_rendir; */ + + /* pseudo_link list */ + struct au_splhead si_plink; + wait_queue_head_t si_plink_wq; + spinlock_t si_plink_maint_lock; + pid_t si_plink_maint_pid; + + /* + * sysfs and lifetime management. + * this is not a small structure and it may be a waste of memory in case + * of sysfs is disabled, particulary when many aufs-es are mounted. + * but using sysfs is majority. + */ + struct kobject si_kobj; +#ifdef CONFIG_DEBUG_FS + struct dentry *si_dbgaufs, *si_dbgaufs_xib; +#ifdef CONFIG_AUFS_EXPORT + struct dentry *si_dbgaufs_xigen; +#endif +#endif + +#ifdef CONFIG_AUFS_SBILIST + struct list_head si_list; +#endif + + /* dirty, necessary for unmounting, sysfs and sysrq */ + struct super_block *si_sb; +}; + +/* sbinfo status flags */ +/* + * set true when refresh_dirs() failed at remount time. + * then try refreshing dirs at access time again. + * if it is false, refreshing dirs at access time is unnecesary + */ +#define AuSi_FAILED_REFRESH_DIR 1 +static inline unsigned char au_do_ftest_si(struct au_sbinfo *sbi, + unsigned int flag) +{ + AuRwMustAnyLock(&sbi->si_rwsem); + return sbi->au_si_status & flag; +} +#define au_ftest_si(sbinfo, name) au_do_ftest_si(sbinfo, AuSi_##name) +#define au_fset_si(sbinfo, name) do { \ + AuRwMustWriteLock(&(sbinfo)->si_rwsem); \ + (sbinfo)->au_si_status |= AuSi_##name; \ +} while (0) +#define au_fclr_si(sbinfo, name) do { \ + AuRwMustWriteLock(&(sbinfo)->si_rwsem); \ + (sbinfo)->au_si_status &= ~AuSi_##name; \ +} while (0) + +/* ---------------------------------------------------------------------- */ + +/* policy to select one among writable branches */ +#define AuWbrCopyup(sbinfo, ...) \ + ((sbinfo)->si_wbr_copyup_ops->copyup(__VA_ARGS__)) +#define AuWbrCreate(sbinfo, ...) \ + ((sbinfo)->si_wbr_create_ops->create(__VA_ARGS__)) + +/* flags for si_read_lock()/aufs_read_lock()/di_read_lock() */ +#define AuLock_DW 1 /* write-lock dentry */ +#define AuLock_IR (1 << 1) /* read-lock inode */ +#define AuLock_IW (1 << 2) /* write-lock inode */ +#define AuLock_FLUSH (1 << 3) /* wait for 'nowait' tasks */ +#define AuLock_DIR (1 << 4) /* target is a dir */ +#define AuLock_NOPLM (1 << 5) /* return err in plm mode */ +#define AuLock_NOPLMW (1 << 6) /* wait for plm mode ends */ +#define AuLock_GEN (1 << 7) /* test digen/iigen */ +#define au_ftest_lock(flags, name) ((flags) & AuLock_##name) +#define au_fset_lock(flags, name) \ + do { (flags) |= AuLock_##name; } while (0) +#define au_fclr_lock(flags, name) \ + do { (flags) &= ~AuLock_##name; } while (0) + +/* ---------------------------------------------------------------------- */ + +/* super.c */ +extern struct file_system_type aufs_fs_type; +struct inode *au_iget_locked(struct super_block *sb, ino_t ino); +typedef unsigned long long (*au_arraycb_t)(void *array, unsigned long long max, + void *arg); +void au_array_free(void *array); +void *au_array_alloc(unsigned long long *hint, au_arraycb_t cb, void *arg); +struct inode **au_iarray_alloc(struct super_block *sb, unsigned long long *max); +void au_iarray_free(struct inode **a, unsigned long long max); + +/* sbinfo.c */ +void au_si_free(struct kobject *kobj); +int au_si_alloc(struct super_block *sb); +int au_sbr_realloc(struct au_sbinfo *sbinfo, int nbr); + +unsigned int au_sigen_inc(struct super_block *sb); +aufs_bindex_t au_new_br_id(struct super_block *sb); + +int si_read_lock(struct super_block *sb, int flags); +int si_write_lock(struct super_block *sb, int flags); +int aufs_read_lock(struct dentry *dentry, int flags); +void aufs_read_unlock(struct dentry *dentry, int flags); +void aufs_write_lock(struct dentry *dentry); +void aufs_write_unlock(struct dentry *dentry); +int aufs_read_and_write_lock2(struct dentry *d1, struct dentry *d2, int flags); +void aufs_read_and_write_unlock2(struct dentry *d1, struct dentry *d2); + +int si_pid_test_slow(struct super_block *sb); +void si_pid_set_slow(struct super_block *sb); +void si_pid_clr_slow(struct super_block *sb); + +/* wbr_policy.c */ +extern struct au_wbr_copyup_operations au_wbr_copyup_ops[]; +extern struct au_wbr_create_operations au_wbr_create_ops[]; +int au_cpdown_dirs(struct dentry *dentry, aufs_bindex_t bdst); + +/* ---------------------------------------------------------------------- */ + +static inline struct au_sbinfo *au_sbi(struct super_block *sb) +{ + return sb->s_fs_info; +} + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_EXPORT +void au_export_init(struct super_block *sb); + +static inline int au_test_nfsd(void) +{ + struct task_struct *tsk = current; + + return (tsk->flags & PF_KTHREAD) + && !strcmp(tsk->comm, "nfsd"); +} + +void au_xigen_inc(struct inode *inode); +int au_xigen_new(struct inode *inode); +int au_xigen_set(struct super_block *sb, struct file *base); +void au_xigen_clr(struct super_block *sb); + +static inline int au_busy_or_stale(void) +{ + if (!au_test_nfsd()) + return -EBUSY; + return -ESTALE; +} +#else +AuStubVoid(au_export_init, struct super_block *sb) +AuStubInt0(au_test_nfsd, void) +AuStubVoid(au_xigen_inc, struct inode *inode) +AuStubInt0(au_xigen_new, struct inode *inode) +AuStubInt0(au_xigen_set, struct super_block *sb, struct file *base) +AuStubVoid(au_xigen_clr, struct super_block *sb) +static inline int au_busy_or_stale(void) +{ + return -EBUSY; +} +#endif /* CONFIG_AUFS_EXPORT */ + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_SBILIST +/* module.c */ +extern struct au_splhead au_sbilist; + +static inline void au_sbilist_init(void) +{ + au_spl_init(&au_sbilist); +} + +static inline void au_sbilist_add(struct super_block *sb) +{ + au_spl_add(&au_sbi(sb)->si_list, &au_sbilist); +} + +static inline void au_sbilist_del(struct super_block *sb) +{ + au_spl_del(&au_sbi(sb)->si_list, &au_sbilist); +} + +#ifdef CONFIG_AUFS_MAGIC_SYSRQ +static inline void au_sbilist_lock(void) +{ + spin_lock(&au_sbilist.spin); +} + +static inline void au_sbilist_unlock(void) +{ + spin_unlock(&au_sbilist.spin); +} +#define AuGFP_SBILIST GFP_ATOMIC +#else +AuStubVoid(au_sbilist_lock, void) +AuStubVoid(au_sbilist_unlock, void) +#define AuGFP_SBILIST GFP_NOFS +#endif /* CONFIG_AUFS_MAGIC_SYSRQ */ +#else +AuStubVoid(au_sbilist_init, void) +AuStubVoid(au_sbilist_add, struct super_block*) +AuStubVoid(au_sbilist_del, struct super_block*) +AuStubVoid(au_sbilist_lock, void) +AuStubVoid(au_sbilist_unlock, void) +#define AuGFP_SBILIST GFP_NOFS +#endif + +/* ---------------------------------------------------------------------- */ + +static inline void dbgaufs_si_null(struct au_sbinfo *sbinfo) +{ + /* + * This function is a dynamic '__init' fucntion actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ +#ifdef CONFIG_DEBUG_FS + sbinfo->si_dbgaufs = NULL; + sbinfo->si_dbgaufs_xib = NULL; +#ifdef CONFIG_AUFS_EXPORT + sbinfo->si_dbgaufs_xigen = NULL; +#endif +#endif +} + +/* ---------------------------------------------------------------------- */ + +static inline pid_t si_pid_bit(void) +{ + /* the origin of pid is 1, but the bitmap's is 0 */ + return current->pid - 1; +} + +static inline int si_pid_test(struct super_block *sb) +{ + pid_t bit = si_pid_bit(); + if (bit < PID_MAX_DEFAULT) + return test_bit(bit, au_sbi(sb)->au_si_pid.bitmap); + else + return si_pid_test_slow(sb); +} + +static inline void si_pid_set(struct super_block *sb) +{ + pid_t bit = si_pid_bit(); + if (bit < PID_MAX_DEFAULT) { + AuDebugOn(test_bit(bit, au_sbi(sb)->au_si_pid.bitmap)); + set_bit(bit, au_sbi(sb)->au_si_pid.bitmap); + /* smp_mb(); */ + } else + si_pid_set_slow(sb); +} + +static inline void si_pid_clr(struct super_block *sb) +{ + pid_t bit = si_pid_bit(); + if (bit < PID_MAX_DEFAULT) { + AuDebugOn(!test_bit(bit, au_sbi(sb)->au_si_pid.bitmap)); + clear_bit(bit, au_sbi(sb)->au_si_pid.bitmap); + /* smp_mb(); */ + } else + si_pid_clr_slow(sb); +} + +/* ---------------------------------------------------------------------- */ + +/* lock superblock. mainly for entry point functions */ +/* + * __si_read_lock, __si_write_lock, + * __si_read_unlock, __si_write_unlock, __si_downgrade_lock + */ +AuSimpleRwsemFuncs(__si, struct super_block *sb, &au_sbi(sb)->si_rwsem); + +#define SiMustNoWaiters(sb) AuRwMustNoWaiters(&au_sbi(sb)->si_rwsem) +#define SiMustAnyLock(sb) AuRwMustAnyLock(&au_sbi(sb)->si_rwsem) +#define SiMustWriteLock(sb) AuRwMustWriteLock(&au_sbi(sb)->si_rwsem) + +static inline void si_noflush_read_lock(struct super_block *sb) +{ + __si_read_lock(sb); + si_pid_set(sb); +} + +static inline int si_noflush_read_trylock(struct super_block *sb) +{ + int locked = __si_read_trylock(sb); + if (locked) + si_pid_set(sb); + return locked; +} + +static inline void si_noflush_write_lock(struct super_block *sb) +{ + __si_write_lock(sb); + si_pid_set(sb); +} + +static inline int si_noflush_write_trylock(struct super_block *sb) +{ + int locked = __si_write_trylock(sb); + if (locked) + si_pid_set(sb); + return locked; +} + +#if 0 /* unused */ +static inline int si_read_trylock(struct super_block *sb, int flags) +{ + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + return si_noflush_read_trylock(sb); +} +#endif + +static inline void si_read_unlock(struct super_block *sb) +{ + si_pid_clr(sb); + __si_read_unlock(sb); +} + +#if 0 /* unused */ +static inline int si_write_trylock(struct super_block *sb, int flags) +{ + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + return si_noflush_write_trylock(sb); +} +#endif + +static inline void si_write_unlock(struct super_block *sb) +{ + si_pid_clr(sb); + __si_write_unlock(sb); +} + +#if 0 /* unused */ +static inline void si_downgrade_lock(struct super_block *sb) +{ + __si_downgrade_lock(sb); +} +#endif + +/* ---------------------------------------------------------------------- */ + +static inline aufs_bindex_t au_sbend(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_bend; +} + +static inline unsigned int au_mntflags(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_mntflags; +} + +static inline unsigned int au_sigen(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_generation; +} + +static inline void au_ninodes_inc(struct super_block *sb) +{ + atomic_long_inc(&au_sbi(sb)->si_ninodes); +} + +static inline void au_ninodes_dec(struct super_block *sb) +{ + AuDebugOn(!atomic_long_read(&au_sbi(sb)->si_ninodes)); + atomic_long_dec(&au_sbi(sb)->si_ninodes); +} + +static inline void au_nfiles_inc(struct super_block *sb) +{ + atomic_long_inc(&au_sbi(sb)->si_nfiles); +} + +static inline void au_nfiles_dec(struct super_block *sb) +{ + AuDebugOn(!atomic_long_read(&au_sbi(sb)->si_nfiles)); + atomic_long_dec(&au_sbi(sb)->si_nfiles); +} + +static inline struct au_branch *au_sbr(struct super_block *sb, + aufs_bindex_t bindex) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_branch[0 + bindex]; +} + +static inline void au_xino_brid_set(struct super_block *sb, aufs_bindex_t brid) +{ + SiMustWriteLock(sb); + au_sbi(sb)->si_xino_brid = brid; +} + +static inline aufs_bindex_t au_xino_brid(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_xino_brid; +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_SUPER_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/sysaufs.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/sysaufs.c @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * sysfs interface and lifetime management + * they are necessary regardless sysfs is disabled. + */ + +#include +#include "aufs.h" + +unsigned long sysaufs_si_mask; +struct kset *sysaufs_kset; + +#define AuSiAttr(_name) { \ + .attr = { .name = __stringify(_name), .mode = 0444 }, \ + .show = sysaufs_si_##_name, \ +} + +static struct sysaufs_si_attr sysaufs_si_attr_xi_path = AuSiAttr(xi_path); +struct attribute *sysaufs_si_attrs[] = { + &sysaufs_si_attr_xi_path.attr, + NULL, +}; + +static const struct sysfs_ops au_sbi_ops = { + .show = sysaufs_si_show +}; + +static struct kobj_type au_sbi_ktype = { + .release = au_si_free, + .sysfs_ops = &au_sbi_ops, + .default_attrs = sysaufs_si_attrs +}; + +/* ---------------------------------------------------------------------- */ + +int sysaufs_si_init(struct au_sbinfo *sbinfo) +{ + int err; + + sbinfo->si_kobj.kset = sysaufs_kset; + /* cf. sysaufs_name() */ + err = kobject_init_and_add + (&sbinfo->si_kobj, &au_sbi_ktype, /*&sysaufs_kset->kobj*/NULL, + SysaufsSiNamePrefix "%lx", sysaufs_si_id(sbinfo)); + + dbgaufs_si_null(sbinfo); + if (!err) { + err = dbgaufs_si_init(sbinfo); + if (unlikely(err)) + kobject_put(&sbinfo->si_kobj); + } + return err; +} + +void sysaufs_fin(void) +{ + dbgaufs_fin(); + sysfs_remove_group(&sysaufs_kset->kobj, sysaufs_attr_group); + kset_unregister(sysaufs_kset); +} + +int __init sysaufs_init(void) +{ + int err; + + do { + get_random_bytes(&sysaufs_si_mask, sizeof(sysaufs_si_mask)); + } while (!sysaufs_si_mask); + + err = -EINVAL; + sysaufs_kset = kset_create_and_add(AUFS_NAME, NULL, fs_kobj); + if (unlikely(!sysaufs_kset)) + goto out; + err = PTR_ERR(sysaufs_kset); + if (IS_ERR(sysaufs_kset)) + goto out; + err = sysfs_create_group(&sysaufs_kset->kobj, sysaufs_attr_group); + if (unlikely(err)) { + kset_unregister(sysaufs_kset); + goto out; + } + + err = dbgaufs_init(); + if (unlikely(err)) + sysaufs_fin(); +out: + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/sysaufs.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/sysaufs.h @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * sysfs interface and mount lifetime management + */ + +#ifndef __SYSAUFS_H__ +#define __SYSAUFS_H__ + +#ifdef __KERNEL__ + +#include +#include "module.h" + +struct super_block; +struct au_sbinfo; + +struct sysaufs_si_attr { + struct attribute attr; + int (*show)(struct seq_file *seq, struct super_block *sb); +}; + +/* ---------------------------------------------------------------------- */ + +/* sysaufs.c */ +extern unsigned long sysaufs_si_mask; +extern struct kset *sysaufs_kset; +extern struct attribute *sysaufs_si_attrs[]; +int sysaufs_si_init(struct au_sbinfo *sbinfo); +int __init sysaufs_init(void); +void sysaufs_fin(void); + +/* ---------------------------------------------------------------------- */ + +/* some people doesn't like to show a pointer in kernel */ +static inline unsigned long sysaufs_si_id(struct au_sbinfo *sbinfo) +{ + return sysaufs_si_mask ^ (unsigned long)sbinfo; +} + +#define SysaufsSiNamePrefix "si_" +#define SysaufsSiNameLen (sizeof(SysaufsSiNamePrefix) + 16) +static inline void sysaufs_name(struct au_sbinfo *sbinfo, char *name) +{ + snprintf(name, SysaufsSiNameLen, SysaufsSiNamePrefix "%lx", + sysaufs_si_id(sbinfo)); +} + +struct au_branch; +#ifdef CONFIG_SYSFS +/* sysfs.c */ +extern struct attribute_group *sysaufs_attr_group; + +int sysaufs_si_xi_path(struct seq_file *seq, struct super_block *sb); +ssize_t sysaufs_si_show(struct kobject *kobj, struct attribute *attr, + char *buf); + +void sysaufs_br_init(struct au_branch *br); +void sysaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex); +void sysaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex); + +#define sysaufs_brs_init() do {} while (0) + +#else +#define sysaufs_attr_group NULL + +AuStubInt0(sysaufs_si_xi_path, struct seq_file *seq, struct super_block *sb) + +static inline +ssize_t sysaufs_si_show(struct kobject *kobj, struct attribute *attr, + char *buf) +{ + return 0; +} + +AuStubVoid(sysaufs_br_init, struct au_branch *br) +AuStubVoid(sysaufs_brs_add, struct super_block *sb, aufs_bindex_t bindex) +AuStubVoid(sysaufs_brs_del, struct super_block *sb, aufs_bindex_t bindex) + +static inline void sysaufs_brs_init(void) +{ + sysaufs_brs = 0; +} + +#endif /* CONFIG_SYSFS */ + +#endif /* __KERNEL__ */ +#endif /* __SYSAUFS_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/sysfs.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/sysfs.c @@ -0,0 +1,257 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * sysfs interface + */ + +#include +#include "aufs.h" + +#ifdef CONFIG_AUFS_FS_MODULE +/* this entry violates the "one line per file" policy of sysfs */ +static ssize_t config_show(struct kobject *kobj, struct kobj_attribute *attr, + char *buf) +{ + ssize_t err; + static char *conf = +/* this file is generated at compiling */ +#include "conf.str" + ; + + err = snprintf(buf, PAGE_SIZE, conf); + if (unlikely(err >= PAGE_SIZE)) + err = -EFBIG; + return err; +} + +static struct kobj_attribute au_config_attr = __ATTR_RO(config); +#endif + +static struct attribute *au_attr[] = { +#ifdef CONFIG_AUFS_FS_MODULE + &au_config_attr.attr, +#endif + NULL, /* need to NULL terminate the list of attributes */ +}; + +static struct attribute_group sysaufs_attr_group_body = { + .attrs = au_attr +}; + +struct attribute_group *sysaufs_attr_group = &sysaufs_attr_group_body; + +/* ---------------------------------------------------------------------- */ + +int sysaufs_si_xi_path(struct seq_file *seq, struct super_block *sb) +{ + int err; + + SiMustAnyLock(sb); + + err = 0; + if (au_opt_test(au_mntflags(sb), XINO)) { + err = au_xino_path(seq, au_sbi(sb)->si_xib); + seq_putc(seq, '\n'); + } + return err; +} + +/* + * the lifetime of branch is independent from the entry under sysfs. + * sysfs handles the lifetime of the entry, and never call ->show() after it is + * unlinked. + */ +static int sysaufs_si_br(struct seq_file *seq, struct super_block *sb, + aufs_bindex_t bindex) +{ + int err; + struct path path; + struct dentry *root; + struct au_branch *br; + char *perm; + + AuDbg("b%d\n", bindex); + + err = 0; + root = sb->s_root; + di_read_lock_parent(root, !AuLock_IR); + br = au_sbr(sb, bindex); + path.mnt = br->br_mnt; + path.dentry = au_h_dptr(root, bindex); + au_seq_path(seq, &path); + di_read_unlock(root, !AuLock_IR); + perm = au_optstr_br_perm(br->br_perm); + if (perm) { + err = seq_printf(seq, "=%s\n", perm); + kfree(perm); + if (err == -1) + err = -E2BIG; + } else + err = -ENOMEM; + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct seq_file *au_seq(char *p, ssize_t len) +{ + struct seq_file *seq; + + seq = kzalloc(sizeof(*seq), GFP_NOFS); + if (seq) { + /* mutex_init(&seq.lock); */ + seq->buf = p; + seq->size = len; + return seq; /* success */ + } + + seq = ERR_PTR(-ENOMEM); + return seq; +} + +#define SysaufsBr_PREFIX "br" + +/* todo: file size may exceed PAGE_SIZE */ +ssize_t sysaufs_si_show(struct kobject *kobj, struct attribute *attr, + char *buf) +{ + ssize_t err; + long l; + aufs_bindex_t bend; + struct au_sbinfo *sbinfo; + struct super_block *sb; + struct seq_file *seq; + char *name; + struct attribute **cattr; + + sbinfo = container_of(kobj, struct au_sbinfo, si_kobj); + sb = sbinfo->si_sb; + + /* + * prevent a race condition between sysfs and aufs. + * for instance, sysfs_file_read() calls sysfs_get_active_two() which + * prohibits maintaining the sysfs entries. + * hew we acquire read lock after sysfs_get_active_two(). + * on the other hand, the remount process may maintain the sysfs/aufs + * entries after acquiring write lock. + * it can cause a deadlock. + * simply we gave up processing read here. + */ + err = -EBUSY; + if (unlikely(!si_noflush_read_trylock(sb))) + goto out; + + seq = au_seq(buf, PAGE_SIZE); + err = PTR_ERR(seq); + if (IS_ERR(seq)) + goto out_unlock; + + name = (void *)attr->name; + cattr = sysaufs_si_attrs; + while (*cattr) { + if (!strcmp(name, (*cattr)->name)) { + err = container_of(*cattr, struct sysaufs_si_attr, attr) + ->show(seq, sb); + goto out_seq; + } + cattr++; + } + + bend = au_sbend(sb); + if (!strncmp(name, SysaufsBr_PREFIX, sizeof(SysaufsBr_PREFIX) - 1)) { + name += sizeof(SysaufsBr_PREFIX) - 1; + err = kstrtol(name, 10, &l); + if (!err) { + if (l <= bend) + err = sysaufs_si_br(seq, sb, (aufs_bindex_t)l); + else + err = -ENOENT; + } + goto out_seq; + } + BUG(); + +out_seq: + if (!err) { + err = seq->count; + /* sysfs limit */ + if (unlikely(err == PAGE_SIZE)) + err = -EFBIG; + } + kfree(seq); +out_unlock: + si_read_unlock(sb); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +void sysaufs_br_init(struct au_branch *br) +{ + struct attribute *attr = &br->br_attr; + + sysfs_attr_init(attr); + attr->name = br->br_name; + attr->mode = S_IRUGO; +} + +void sysaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex) +{ + struct au_branch *br; + struct kobject *kobj; + aufs_bindex_t bend; + + dbgaufs_brs_del(sb, bindex); + + if (!sysaufs_brs) + return; + + kobj = &au_sbi(sb)->si_kobj; + bend = au_sbend(sb); + for (; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + sysfs_remove_file(kobj, &br->br_attr); + } +} + +void sysaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex) +{ + int err; + aufs_bindex_t bend; + struct kobject *kobj; + struct au_branch *br; + + dbgaufs_brs_add(sb, bindex); + + if (!sysaufs_brs) + return; + + kobj = &au_sbi(sb)->si_kobj; + bend = au_sbend(sb); + for (; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + snprintf(br->br_name, sizeof(br->br_name), SysaufsBr_PREFIX + "%d", bindex); + err = sysfs_create_file(kobj, &br->br_attr); + if (unlikely(err)) + pr_warn("failed %s under sysfs(%d)\n", + br->br_name, err); + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/sysrq.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/sysrq.c @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * magic sysrq hanlder + */ + +/* #include */ +#include +#include "aufs.h" + +/* ---------------------------------------------------------------------- */ + +static void sysrq_sb(struct super_block *sb) +{ + char *plevel; + struct au_sbinfo *sbinfo; + struct file *file; + + plevel = au_plevel; + au_plevel = KERN_WARNING; + + sbinfo = au_sbi(sb); + /* since we define pr_fmt, call printk directly */ + printk(KERN_WARNING "si=%lx\n", sysaufs_si_id(sbinfo)); + printk(KERN_WARNING AUFS_NAME ": superblock\n"); + au_dpri_sb(sb); + +#if 0 + printk(KERN_WARNING AUFS_NAME ": root dentry\n"); + au_dpri_dentry(sb->s_root); + printk(KERN_WARNING AUFS_NAME ": root inode\n"); + au_dpri_inode(sb->s_root->d_inode); +#endif + +#if 0 + do { + int err, i, j, ndentry; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + + err = au_dpages_init(&dpages, GFP_ATOMIC); + if (unlikely(err)) + break; + err = au_dcsub_pages(&dpages, sb->s_root, NULL, NULL); + if (!err) + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) + au_dpri_dentry(dpage->dentries[j]); + } + au_dpages_free(&dpages); + } while (0); +#endif + +#if 1 + { + struct inode *i; + printk(KERN_WARNING AUFS_NAME ": isolated inode\n"); + spin_lock(&inode_sb_list_lock); + list_for_each_entry(i, &sb->s_inodes, i_sb_list) { + spin_lock(&i->i_lock); + if (1 || list_empty(&i->i_dentry)) + au_dpri_inode(i); + spin_unlock(&i->i_lock); + } + spin_unlock(&inode_sb_list_lock); + } +#endif + printk(KERN_WARNING AUFS_NAME ": files\n"); + lg_global_lock(&files_lglock); + do_file_list_for_each_entry(sb, file) { + umode_t mode; + mode = file->f_dentry->d_inode->i_mode; + if (!special_file(mode) || au_special_file(mode)) + au_dpri_file(file); + } while_file_list_for_each_entry; + lg_global_unlock(&files_lglock); + printk(KERN_WARNING AUFS_NAME ": done\n"); + + au_plevel = plevel; +} + +/* ---------------------------------------------------------------------- */ + +/* module parameter */ +static char *aufs_sysrq_key = "a"; +module_param_named(sysrq, aufs_sysrq_key, charp, S_IRUGO); +MODULE_PARM_DESC(sysrq, "MagicSysRq key for " AUFS_NAME); + +static void au_sysrq(int key __maybe_unused) +{ + struct au_sbinfo *sbinfo; + + lockdep_off(); + au_sbilist_lock(); + list_for_each_entry(sbinfo, &au_sbilist.head, si_list) + sysrq_sb(sbinfo->si_sb); + au_sbilist_unlock(); + lockdep_on(); +} + +static struct sysrq_key_op au_sysrq_op = { + .handler = au_sysrq, + .help_msg = "Aufs", + .action_msg = "Aufs", + .enable_mask = SYSRQ_ENABLE_DUMP +}; + +/* ---------------------------------------------------------------------- */ + +int __init au_sysrq_init(void) +{ + int err; + char key; + + err = -1; + key = *aufs_sysrq_key; + if ('a' <= key && key <= 'z') + err = register_sysrq_key(key, &au_sysrq_op); + if (unlikely(err)) + pr_err("err %d, sysrq=%c\n", err, key); + return err; +} + +void au_sysrq_fin(void) +{ + int err; + err = unregister_sysrq_key(*aufs_sysrq_key, &au_sysrq_op); + if (unlikely(err)) + pr_err("err %d (ignored)\n", err); +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/vdir.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/vdir.c @@ -0,0 +1,885 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * virtual or vertical directory + */ + +#include "aufs.h" + +static unsigned int calc_size(int nlen) +{ + return ALIGN(sizeof(struct au_vdir_de) + nlen, sizeof(ino_t)); +} + +static int set_deblk_end(union au_vdir_deblk_p *p, + union au_vdir_deblk_p *deblk_end) +{ + if (calc_size(0) <= deblk_end->deblk - p->deblk) { + p->de->de_str.len = 0; + /* smp_mb(); */ + return 0; + } + return -1; /* error */ +} + +/* returns true or false */ +static int is_deblk_end(union au_vdir_deblk_p *p, + union au_vdir_deblk_p *deblk_end) +{ + if (calc_size(0) <= deblk_end->deblk - p->deblk) + return !p->de->de_str.len; + return 1; +} + +static unsigned char *last_deblk(struct au_vdir *vdir) +{ + return vdir->vd_deblk[vdir->vd_nblk - 1]; +} + +/* ---------------------------------------------------------------------- */ + +/* estimate the apropriate size for name hash table */ +unsigned int au_rdhash_est(loff_t sz) +{ + unsigned int n; + + n = UINT_MAX; + sz >>= 10; + if (sz < n) + n = sz; + if (sz < AUFS_RDHASH_DEF) + n = AUFS_RDHASH_DEF; + /* pr_info("n %u\n", n); */ + return n; +} + +/* + * the allocated memory has to be freed by + * au_nhash_wh_free() or au_nhash_de_free(). + */ +int au_nhash_alloc(struct au_nhash *nhash, unsigned int num_hash, gfp_t gfp) +{ + struct hlist_head *head; + unsigned int u; + + head = kmalloc(sizeof(*nhash->nh_head) * num_hash, gfp); + if (head) { + nhash->nh_num = num_hash; + nhash->nh_head = head; + for (u = 0; u < num_hash; u++) + INIT_HLIST_HEAD(head++); + return 0; /* success */ + } + + return -ENOMEM; +} + +static void nhash_count(struct hlist_head *head) +{ +#if 0 + unsigned long n; + struct hlist_node *pos; + + n = 0; + hlist_for_each(pos, head) + n++; + pr_info("%lu\n", n); +#endif +} + +static void au_nhash_wh_do_free(struct hlist_head *head) +{ + struct au_vdir_wh *tpos; + struct hlist_node *pos, *node; + + hlist_for_each_entry_safe(tpos, pos, node, head, wh_hash) { + /* hlist_del(pos); */ + kfree(tpos); + } +} + +static void au_nhash_de_do_free(struct hlist_head *head) +{ + struct au_vdir_dehstr *tpos; + struct hlist_node *pos, *node; + + hlist_for_each_entry_safe(tpos, pos, node, head, hash) { + /* hlist_del(pos); */ + au_cache_free_vdir_dehstr(tpos); + } +} + +static void au_nhash_do_free(struct au_nhash *nhash, + void (*free)(struct hlist_head *head)) +{ + unsigned int n; + struct hlist_head *head; + + n = nhash->nh_num; + if (!n) + return; + + head = nhash->nh_head; + while (n-- > 0) { + nhash_count(head); + free(head++); + } + kfree(nhash->nh_head); +} + +void au_nhash_wh_free(struct au_nhash *whlist) +{ + au_nhash_do_free(whlist, au_nhash_wh_do_free); +} + +static void au_nhash_de_free(struct au_nhash *delist) +{ + au_nhash_do_free(delist, au_nhash_de_do_free); +} + +/* ---------------------------------------------------------------------- */ + +int au_nhash_test_longer_wh(struct au_nhash *whlist, aufs_bindex_t btgt, + int limit) +{ + int num; + unsigned int u, n; + struct hlist_head *head; + struct au_vdir_wh *tpos; + struct hlist_node *pos; + + num = 0; + n = whlist->nh_num; + head = whlist->nh_head; + for (u = 0; u < n; u++, head++) + hlist_for_each_entry(tpos, pos, head, wh_hash) + if (tpos->wh_bindex == btgt && ++num > limit) + return 1; + return 0; +} + +static struct hlist_head *au_name_hash(struct au_nhash *nhash, + unsigned char *name, + unsigned int len) +{ + unsigned int v; + /* const unsigned int magic_bit = 12; */ + + AuDebugOn(!nhash->nh_num || !nhash->nh_head); + + v = 0; + while (len--) + v += *name++; + /* v = hash_long(v, magic_bit); */ + v %= nhash->nh_num; + return nhash->nh_head + v; +} + +static int au_nhash_test_name(struct au_vdir_destr *str, const char *name, + int nlen) +{ + return str->len == nlen && !memcmp(str->name, name, nlen); +} + +/* returns found or not */ +int au_nhash_test_known_wh(struct au_nhash *whlist, char *name, int nlen) +{ + struct hlist_head *head; + struct au_vdir_wh *tpos; + struct hlist_node *pos; + struct au_vdir_destr *str; + + head = au_name_hash(whlist, name, nlen); + hlist_for_each_entry(tpos, pos, head, wh_hash) { + str = &tpos->wh_str; + AuDbg("%.*s\n", str->len, str->name); + if (au_nhash_test_name(str, name, nlen)) + return 1; + } + return 0; +} + +/* returns found(true) or not */ +static int test_known(struct au_nhash *delist, char *name, int nlen) +{ + struct hlist_head *head; + struct au_vdir_dehstr *tpos; + struct hlist_node *pos; + struct au_vdir_destr *str; + + head = au_name_hash(delist, name, nlen); + hlist_for_each_entry(tpos, pos, head, hash) { + str = tpos->str; + AuDbg("%.*s\n", str->len, str->name); + if (au_nhash_test_name(str, name, nlen)) + return 1; + } + return 0; +} + +static void au_shwh_init_wh(struct au_vdir_wh *wh, ino_t ino, + unsigned char d_type) +{ +#ifdef CONFIG_AUFS_SHWH + wh->wh_ino = ino; + wh->wh_type = d_type; +#endif +} + +/* ---------------------------------------------------------------------- */ + +int au_nhash_append_wh(struct au_nhash *whlist, char *name, int nlen, ino_t ino, + unsigned int d_type, aufs_bindex_t bindex, + unsigned char shwh) +{ + int err; + struct au_vdir_destr *str; + struct au_vdir_wh *wh; + + AuDbg("%.*s\n", nlen, name); + AuDebugOn(!whlist->nh_num || !whlist->nh_head); + + err = -ENOMEM; + wh = kmalloc(sizeof(*wh) + nlen, GFP_NOFS); + if (unlikely(!wh)) + goto out; + + err = 0; + wh->wh_bindex = bindex; + if (shwh) + au_shwh_init_wh(wh, ino, d_type); + str = &wh->wh_str; + str->len = nlen; + memcpy(str->name, name, nlen); + hlist_add_head(&wh->wh_hash, au_name_hash(whlist, name, nlen)); + /* smp_mb(); */ + +out: + return err; +} + +static int append_deblk(struct au_vdir *vdir) +{ + int err; + unsigned long ul; + const unsigned int deblk_sz = vdir->vd_deblk_sz; + union au_vdir_deblk_p p, deblk_end; + unsigned char **o; + + err = -ENOMEM; + o = krealloc(vdir->vd_deblk, sizeof(*o) * (vdir->vd_nblk + 1), + GFP_NOFS); + if (unlikely(!o)) + goto out; + + vdir->vd_deblk = o; + p.deblk = kmalloc(deblk_sz, GFP_NOFS); + if (p.deblk) { + ul = vdir->vd_nblk++; + vdir->vd_deblk[ul] = p.deblk; + vdir->vd_last.ul = ul; + vdir->vd_last.p.deblk = p.deblk; + deblk_end.deblk = p.deblk + deblk_sz; + err = set_deblk_end(&p, &deblk_end); + } + +out: + return err; +} + +static int append_de(struct au_vdir *vdir, char *name, int nlen, ino_t ino, + unsigned int d_type, struct au_nhash *delist) +{ + int err; + unsigned int sz; + const unsigned int deblk_sz = vdir->vd_deblk_sz; + union au_vdir_deblk_p p, *room, deblk_end; + struct au_vdir_dehstr *dehstr; + + p.deblk = last_deblk(vdir); + deblk_end.deblk = p.deblk + deblk_sz; + room = &vdir->vd_last.p; + AuDebugOn(room->deblk < p.deblk || deblk_end.deblk <= room->deblk + || !is_deblk_end(room, &deblk_end)); + + sz = calc_size(nlen); + if (unlikely(sz > deblk_end.deblk - room->deblk)) { + err = append_deblk(vdir); + if (unlikely(err)) + goto out; + + p.deblk = last_deblk(vdir); + deblk_end.deblk = p.deblk + deblk_sz; + /* smp_mb(); */ + AuDebugOn(room->deblk != p.deblk); + } + + err = -ENOMEM; + dehstr = au_cache_alloc_vdir_dehstr(); + if (unlikely(!dehstr)) + goto out; + + dehstr->str = &room->de->de_str; + hlist_add_head(&dehstr->hash, au_name_hash(delist, name, nlen)); + room->de->de_ino = ino; + room->de->de_type = d_type; + room->de->de_str.len = nlen; + memcpy(room->de->de_str.name, name, nlen); + + err = 0; + room->deblk += sz; + if (unlikely(set_deblk_end(room, &deblk_end))) + err = append_deblk(vdir); + /* smp_mb(); */ + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_vdir_free(struct au_vdir *vdir) +{ + unsigned char **deblk; + + deblk = vdir->vd_deblk; + while (vdir->vd_nblk--) + kfree(*deblk++); + kfree(vdir->vd_deblk); + au_cache_free_vdir(vdir); +} + +static struct au_vdir *alloc_vdir(struct file *file) +{ + struct au_vdir *vdir; + struct super_block *sb; + int err; + + sb = file->f_dentry->d_sb; + SiMustAnyLock(sb); + + err = -ENOMEM; + vdir = au_cache_alloc_vdir(); + if (unlikely(!vdir)) + goto out; + + vdir->vd_deblk = kzalloc(sizeof(*vdir->vd_deblk), GFP_NOFS); + if (unlikely(!vdir->vd_deblk)) + goto out_free; + + vdir->vd_deblk_sz = au_sbi(sb)->si_rdblk; + if (!vdir->vd_deblk_sz) { + /* estimate the apropriate size for deblk */ + vdir->vd_deblk_sz = au_dir_size(file, /*dentry*/NULL); + /* pr_info("vd_deblk_sz %u\n", vdir->vd_deblk_sz); */ + } + vdir->vd_nblk = 0; + vdir->vd_version = 0; + vdir->vd_jiffy = 0; + err = append_deblk(vdir); + if (!err) + return vdir; /* success */ + + kfree(vdir->vd_deblk); + +out_free: + au_cache_free_vdir(vdir); +out: + vdir = ERR_PTR(err); + return vdir; +} + +static int reinit_vdir(struct au_vdir *vdir) +{ + int err; + union au_vdir_deblk_p p, deblk_end; + + while (vdir->vd_nblk > 1) { + kfree(vdir->vd_deblk[vdir->vd_nblk - 1]); + /* vdir->vd_deblk[vdir->vd_nblk - 1] = NULL; */ + vdir->vd_nblk--; + } + p.deblk = vdir->vd_deblk[0]; + deblk_end.deblk = p.deblk + vdir->vd_deblk_sz; + err = set_deblk_end(&p, &deblk_end); + /* keep vd_dblk_sz */ + vdir->vd_last.ul = 0; + vdir->vd_last.p.deblk = vdir->vd_deblk[0]; + vdir->vd_version = 0; + vdir->vd_jiffy = 0; + /* smp_mb(); */ + return err; +} + +/* ---------------------------------------------------------------------- */ + +#define AuFillVdir_CALLED 1 +#define AuFillVdir_WHABLE (1 << 1) +#define AuFillVdir_SHWH (1 << 2) +#define au_ftest_fillvdir(flags, name) ((flags) & AuFillVdir_##name) +#define au_fset_fillvdir(flags, name) \ + do { (flags) |= AuFillVdir_##name; } while (0) +#define au_fclr_fillvdir(flags, name) \ + do { (flags) &= ~AuFillVdir_##name; } while (0) + +#ifndef CONFIG_AUFS_SHWH +#undef AuFillVdir_SHWH +#define AuFillVdir_SHWH 0 +#endif + +struct fillvdir_arg { + struct file *file; + struct au_vdir *vdir; + struct au_nhash delist; + struct au_nhash whlist; + aufs_bindex_t bindex; + unsigned int flags; + int err; +}; + +static int fillvdir(void *__arg, const char *__name, int nlen, + loff_t offset __maybe_unused, u64 h_ino, + unsigned int d_type) +{ + struct fillvdir_arg *arg = __arg; + char *name = (void *)__name; + struct super_block *sb; + ino_t ino; + const unsigned char shwh = !!au_ftest_fillvdir(arg->flags, SHWH); + + arg->err = 0; + sb = arg->file->f_dentry->d_sb; + au_fset_fillvdir(arg->flags, CALLED); + /* smp_mb(); */ + if (nlen <= AUFS_WH_PFX_LEN + || memcmp(name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) { + if (test_known(&arg->delist, name, nlen) + || au_nhash_test_known_wh(&arg->whlist, name, nlen)) + goto out; /* already exists or whiteouted */ + + sb = arg->file->f_dentry->d_sb; + arg->err = au_ino(sb, arg->bindex, h_ino, d_type, &ino); + if (!arg->err) { + if (unlikely(nlen > AUFS_MAX_NAMELEN)) + d_type = DT_UNKNOWN; + arg->err = append_de(arg->vdir, name, nlen, ino, + d_type, &arg->delist); + } + } else if (au_ftest_fillvdir(arg->flags, WHABLE)) { + name += AUFS_WH_PFX_LEN; + nlen -= AUFS_WH_PFX_LEN; + if (au_nhash_test_known_wh(&arg->whlist, name, nlen)) + goto out; /* already whiteouted */ + + if (shwh) + arg->err = au_wh_ino(sb, arg->bindex, h_ino, d_type, + &ino); + if (!arg->err) { + if (nlen <= AUFS_MAX_NAMELEN + AUFS_WH_PFX_LEN) + d_type = DT_UNKNOWN; + arg->err = au_nhash_append_wh + (&arg->whlist, name, nlen, ino, d_type, + arg->bindex, shwh); + } + } + +out: + if (!arg->err) + arg->vdir->vd_jiffy = jiffies; + /* smp_mb(); */ + AuTraceErr(arg->err); + return arg->err; +} + +static int au_handle_shwh(struct super_block *sb, struct au_vdir *vdir, + struct au_nhash *whlist, struct au_nhash *delist) +{ +#ifdef CONFIG_AUFS_SHWH + int err; + unsigned int nh, u; + struct hlist_head *head; + struct au_vdir_wh *tpos; + struct hlist_node *pos, *n; + char *p, *o; + struct au_vdir_destr *destr; + + AuDebugOn(!au_opt_test(au_mntflags(sb), SHWH)); + + err = -ENOMEM; + o = p = __getname_gfp(GFP_NOFS); + if (unlikely(!p)) + goto out; + + err = 0; + nh = whlist->nh_num; + memcpy(p, AUFS_WH_PFX, AUFS_WH_PFX_LEN); + p += AUFS_WH_PFX_LEN; + for (u = 0; u < nh; u++) { + head = whlist->nh_head + u; + hlist_for_each_entry_safe(tpos, pos, n, head, wh_hash) { + destr = &tpos->wh_str; + memcpy(p, destr->name, destr->len); + err = append_de(vdir, o, destr->len + AUFS_WH_PFX_LEN, + tpos->wh_ino, tpos->wh_type, delist); + if (unlikely(err)) + break; + } + } + + __putname(o); + +out: + AuTraceErr(err); + return err; +#else + return 0; +#endif +} + +static int au_do_read_vdir(struct fillvdir_arg *arg) +{ + int err; + unsigned int rdhash; + loff_t offset; + aufs_bindex_t bend, bindex, bstart; + unsigned char shwh; + struct file *hf, *file; + struct super_block *sb; + + file = arg->file; + sb = file->f_dentry->d_sb; + SiMustAnyLock(sb); + + rdhash = au_sbi(sb)->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(file, /*dentry*/NULL)); + err = au_nhash_alloc(&arg->delist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_nhash_alloc(&arg->whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out_delist; + + err = 0; + arg->flags = 0; + shwh = 0; + if (au_opt_test(au_mntflags(sb), SHWH)) { + shwh = 1; + au_fset_fillvdir(arg->flags, SHWH); + } + bstart = au_fbstart(file); + bend = au_fbend_dir(file); + for (bindex = bstart; !err && bindex <= bend; bindex++) { + hf = au_hf_dir(file, bindex); + if (!hf) + continue; + + offset = vfsub_llseek(hf, 0, SEEK_SET); + err = offset; + if (unlikely(offset)) + break; + + arg->bindex = bindex; + au_fclr_fillvdir(arg->flags, WHABLE); + if (shwh + || (bindex != bend + && au_br_whable(au_sbr_perm(sb, bindex)))) + au_fset_fillvdir(arg->flags, WHABLE); + do { + arg->err = 0; + au_fclr_fillvdir(arg->flags, CALLED); + /* smp_mb(); */ + err = vfsub_readdir(hf, fillvdir, arg); + if (err >= 0) + err = arg->err; + } while (!err && au_ftest_fillvdir(arg->flags, CALLED)); + } + + if (!err && shwh) + err = au_handle_shwh(sb, arg->vdir, &arg->whlist, &arg->delist); + + au_nhash_wh_free(&arg->whlist); + +out_delist: + au_nhash_de_free(&arg->delist); +out: + return err; +} + +static int read_vdir(struct file *file, int may_read) +{ + int err; + unsigned long expire; + unsigned char do_read; + struct fillvdir_arg arg; + struct inode *inode; + struct au_vdir *vdir, *allocated; + + err = 0; + inode = file->f_dentry->d_inode; + IMustLock(inode); + SiMustAnyLock(inode->i_sb); + + allocated = NULL; + do_read = 0; + expire = au_sbi(inode->i_sb)->si_rdcache; + vdir = au_ivdir(inode); + if (!vdir) { + do_read = 1; + vdir = alloc_vdir(file); + err = PTR_ERR(vdir); + if (IS_ERR(vdir)) + goto out; + err = 0; + allocated = vdir; + } else if (may_read + && (inode->i_version != vdir->vd_version + || time_after(jiffies, vdir->vd_jiffy + expire))) { + do_read = 1; + err = reinit_vdir(vdir); + if (unlikely(err)) + goto out; + } + + if (!do_read) + return 0; /* success */ + + arg.file = file; + arg.vdir = vdir; + err = au_do_read_vdir(&arg); + if (!err) { + /* file->f_pos = 0; */ + vdir->vd_version = inode->i_version; + vdir->vd_last.ul = 0; + vdir->vd_last.p.deblk = vdir->vd_deblk[0]; + if (allocated) + au_set_ivdir(inode, allocated); + } else if (allocated) + au_vdir_free(allocated); + +out: + return err; +} + +static int copy_vdir(struct au_vdir *tgt, struct au_vdir *src) +{ + int err, rerr; + unsigned long ul, n; + const unsigned int deblk_sz = src->vd_deblk_sz; + + AuDebugOn(tgt->vd_nblk != 1); + + err = -ENOMEM; + if (tgt->vd_nblk < src->vd_nblk) { + unsigned char **p; + + p = krealloc(tgt->vd_deblk, sizeof(*p) * src->vd_nblk, + GFP_NOFS); + if (unlikely(!p)) + goto out; + tgt->vd_deblk = p; + } + + if (tgt->vd_deblk_sz != deblk_sz) { + unsigned char *p; + + tgt->vd_deblk_sz = deblk_sz; + p = krealloc(tgt->vd_deblk[0], deblk_sz, GFP_NOFS); + if (unlikely(!p)) + goto out; + tgt->vd_deblk[0] = p; + } + memcpy(tgt->vd_deblk[0], src->vd_deblk[0], deblk_sz); + tgt->vd_version = src->vd_version; + tgt->vd_jiffy = src->vd_jiffy; + + n = src->vd_nblk; + for (ul = 1; ul < n; ul++) { + tgt->vd_deblk[ul] = kmemdup(src->vd_deblk[ul], deblk_sz, + GFP_NOFS); + if (unlikely(!tgt->vd_deblk[ul])) + goto out; + tgt->vd_nblk++; + } + tgt->vd_nblk = n; + tgt->vd_last.ul = tgt->vd_last.ul; + tgt->vd_last.p.deblk = tgt->vd_deblk[tgt->vd_last.ul]; + tgt->vd_last.p.deblk += src->vd_last.p.deblk + - src->vd_deblk[src->vd_last.ul]; + /* smp_mb(); */ + return 0; /* success */ + +out: + rerr = reinit_vdir(tgt); + BUG_ON(rerr); + return err; +} + +int au_vdir_init(struct file *file) +{ + int err; + struct inode *inode; + struct au_vdir *vdir_cache, *allocated; + + err = read_vdir(file, !file->f_pos); + if (unlikely(err)) + goto out; + + allocated = NULL; + vdir_cache = au_fvdir_cache(file); + if (!vdir_cache) { + vdir_cache = alloc_vdir(file); + err = PTR_ERR(vdir_cache); + if (IS_ERR(vdir_cache)) + goto out; + allocated = vdir_cache; + } else if (!file->f_pos && vdir_cache->vd_version != file->f_version) { + err = reinit_vdir(vdir_cache); + if (unlikely(err)) + goto out; + } else + return 0; /* success */ + + inode = file->f_dentry->d_inode; + err = copy_vdir(vdir_cache, au_ivdir(inode)); + if (!err) { + file->f_version = inode->i_version; + if (allocated) + au_set_fvdir_cache(file, allocated); + } else if (allocated) + au_vdir_free(allocated); + +out: + return err; +} + +static loff_t calc_offset(struct au_vdir *vdir) +{ + loff_t offset; + union au_vdir_deblk_p p; + + p.deblk = vdir->vd_deblk[vdir->vd_last.ul]; + offset = vdir->vd_last.p.deblk - p.deblk; + offset += vdir->vd_deblk_sz * vdir->vd_last.ul; + return offset; +} + +/* returns true or false */ +static int seek_vdir(struct file *file) +{ + int valid; + unsigned int deblk_sz; + unsigned long ul, n; + loff_t offset; + union au_vdir_deblk_p p, deblk_end; + struct au_vdir *vdir_cache; + + valid = 1; + vdir_cache = au_fvdir_cache(file); + offset = calc_offset(vdir_cache); + AuDbg("offset %lld\n", offset); + if (file->f_pos == offset) + goto out; + + vdir_cache->vd_last.ul = 0; + vdir_cache->vd_last.p.deblk = vdir_cache->vd_deblk[0]; + if (!file->f_pos) + goto out; + + valid = 0; + deblk_sz = vdir_cache->vd_deblk_sz; + ul = div64_u64(file->f_pos, deblk_sz); + AuDbg("ul %lu\n", ul); + if (ul >= vdir_cache->vd_nblk) + goto out; + + n = vdir_cache->vd_nblk; + for (; ul < n; ul++) { + p.deblk = vdir_cache->vd_deblk[ul]; + deblk_end.deblk = p.deblk + deblk_sz; + offset = ul; + offset *= deblk_sz; + while (!is_deblk_end(&p, &deblk_end) && offset < file->f_pos) { + unsigned int l; + + l = calc_size(p.de->de_str.len); + offset += l; + p.deblk += l; + } + if (!is_deblk_end(&p, &deblk_end)) { + valid = 1; + vdir_cache->vd_last.ul = ul; + vdir_cache->vd_last.p = p; + break; + } + } + +out: + /* smp_mb(); */ + AuTraceErr(!valid); + return valid; +} + +int au_vdir_fill_de(struct file *file, void *dirent, filldir_t filldir) +{ + int err; + unsigned int l, deblk_sz; + union au_vdir_deblk_p deblk_end; + struct au_vdir *vdir_cache; + struct au_vdir_de *de; + + vdir_cache = au_fvdir_cache(file); + if (!seek_vdir(file)) + return 0; + + deblk_sz = vdir_cache->vd_deblk_sz; + while (1) { + deblk_end.deblk = vdir_cache->vd_deblk[vdir_cache->vd_last.ul]; + deblk_end.deblk += deblk_sz; + while (!is_deblk_end(&vdir_cache->vd_last.p, &deblk_end)) { + de = vdir_cache->vd_last.p.de; + AuDbg("%.*s, off%lld, i%lu, dt%d\n", + de->de_str.len, de->de_str.name, file->f_pos, + (unsigned long)de->de_ino, de->de_type); + err = filldir(dirent, de->de_str.name, de->de_str.len, + file->f_pos, de->de_ino, de->de_type); + if (unlikely(err)) { + AuTraceErr(err); + /* todo: ignore the error caused by udba? */ + /* return err; */ + return 0; + } + + l = calc_size(de->de_str.len); + vdir_cache->vd_last.p.deblk += l; + file->f_pos += l; + } + if (vdir_cache->vd_last.ul < vdir_cache->vd_nblk - 1) { + vdir_cache->vd_last.ul++; + vdir_cache->vd_last.p.deblk + = vdir_cache->vd_deblk[vdir_cache->vd_last.ul]; + file->f_pos = deblk_sz * vdir_cache->vd_last.ul; + continue; + } + break; + } + + /* smp_mb(); */ + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/vfsub.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/vfsub.c @@ -0,0 +1,832 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * sub-routines for VFS + */ + +#include +#include +#include +#include +#include "aufs.h" + +int vfsub_update_h_iattr(struct path *h_path, int *did) +{ + int err; + struct kstat st; + struct super_block *h_sb; + + /* for remote fs, leave work for its getattr or d_revalidate */ + /* for bad i_attr fs, handle them in aufs_getattr() */ + /* still some fs may acquire i_mutex. we need to skip them */ + err = 0; + if (!did) + did = &err; + h_sb = h_path->dentry->d_sb; + *did = (!au_test_fs_remote(h_sb) && au_test_fs_refresh_iattr(h_sb)); + if (*did) + err = vfs_getattr(h_path->mnt, h_path->dentry, &st); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct file *vfsub_dentry_open(struct path *path, int flags) +{ + struct file *file; + + path_get(path); + file = dentry_open(path->dentry, path->mnt, + flags /* | __FMODE_NONOTIFY */, + current_cred()); + if (!IS_ERR_OR_NULL(file) + && (file->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) + i_readcount_inc(path->dentry->d_inode); + + return file; +} + +struct file *vfsub_filp_open(const char *path, int oflags, int mode) +{ + struct file *file; + + lockdep_off(); + file = filp_open(path, + oflags /* | __FMODE_NONOTIFY */, + mode); + lockdep_on(); + if (IS_ERR(file)) + goto out; + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + +out: + return file; +} + +int vfsub_kern_path(const char *name, unsigned int flags, struct path *path) +{ + int err; + + err = kern_path(name, flags, path); + if (!err && path->dentry->d_inode) + vfsub_update_h_iattr(path, /*did*/NULL); /*ignore*/ + return err; +} + +struct dentry *vfsub_lookup_one_len(const char *name, struct dentry *parent, + int len) +{ + struct path path = { + .mnt = NULL + }; + + /* VFS checks it too, but by WARN_ON_ONCE() */ + IMustLock(parent->d_inode); + + path.dentry = lookup_one_len(name, parent, len); + if (IS_ERR(path.dentry)) + goto out; + if (path.dentry->d_inode) + vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/ + +out: + AuTraceErrPtr(path.dentry); + return path.dentry; +} + +struct dentry *vfsub_lookup_hash(struct nameidata *nd) +{ + struct path path = { + .mnt = nd->path.mnt + }; + + IMustLock(nd->path.dentry->d_inode); + + path.dentry = lookup_hash(nd); + if (IS_ERR(path.dentry)) + goto out; + if (path.dentry->d_inode) + vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/ + +out: + AuTraceErrPtr(path.dentry); + return path.dentry; +} + +/* + * this is "VFS:__lookup_one_len()" which was removed and merged into + * VFS:lookup_one_len() by the commit. + * 6a96ba5 2011-03-14 kill __lookup_one_len() + * this function should always be equivalent to the corresponding part in + * VFS:lookup_one_len(). + */ +int vfsub_name_hash(const char *name, struct qstr *this, int len) +{ + unsigned int c; + + this->name = name; + this->len = len; + this->hash = full_name_hash(name, len); + if (!len) + return -EACCES; + + while (len--) { + c = *(const unsigned char *)name++; + if (c == '/' || c == '\0') + return -EACCES; + } + return 0; +} + +/* ---------------------------------------------------------------------- */ + +struct dentry *vfsub_lock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2) +{ + struct dentry *d; + + lockdep_off(); + d = lock_rename(d1, d2); + lockdep_on(); + au_hn_suspend(hdir1); + if (hdir1 != hdir2) + au_hn_suspend(hdir2); + + return d; +} + +void vfsub_unlock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2) +{ + au_hn_resume(hdir1); + if (hdir1 != hdir2) + au_hn_resume(hdir2); + lockdep_off(); + unlock_rename(d1, d2); + lockdep_on(); +} + +/* ---------------------------------------------------------------------- */ + +int vfsub_create(struct inode *dir, struct path *path, int mode) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_mknod(path, d, mode, 0); + path->dentry = d; + if (unlikely(err)) + goto out; + + if (au_test_fs_null_nd(dir->i_sb)) + err = vfs_create(dir, path->dentry, mode, NULL); + else { + struct nameidata h_nd; + + memset(&h_nd, 0, sizeof(h_nd)); + h_nd.flags = LOOKUP_CREATE; + h_nd.intent.open.flags = O_CREAT + | vfsub_fmode_to_uint(FMODE_READ); + h_nd.intent.open.create_mode = mode; + h_nd.path.dentry = path->dentry->d_parent; + h_nd.path.mnt = path->mnt; + path_get(&h_nd.path); + err = vfs_create(dir, path->dentry, mode, &h_nd); + path_put(&h_nd.path); + } + + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_symlink(struct inode *dir, struct path *path, const char *symname) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_symlink(path, d, symname); + path->dentry = d; + if (unlikely(err)) + goto out; + + err = vfs_symlink(dir, path->dentry, symname); + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_mknod(struct inode *dir, struct path *path, int mode, dev_t dev) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_mknod(path, d, mode, new_encode_dev(dev)); + path->dentry = d; + if (unlikely(err)) + goto out; + + err = vfs_mknod(dir, path->dentry, mode, dev); + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +static int au_test_nlink(struct inode *inode) +{ + const unsigned int link_max = UINT_MAX >> 1; /* rough margin */ + + if (!au_test_fs_no_limit_nlink(inode->i_sb) + || inode->i_nlink < link_max) + return 0; + return -EMLINK; +} + +int vfsub_link(struct dentry *src_dentry, struct inode *dir, struct path *path) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + err = au_test_nlink(src_dentry->d_inode); + if (unlikely(err)) + return err; + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_link(src_dentry, path, d); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_link(src_dentry, dir, path->dentry); + lockdep_on(); + if (!err) { + struct path tmp = *path; + int did; + + /* fuse has different memory inode for the same inumber */ + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + tmp.dentry = src_dentry; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_rename(struct inode *src_dir, struct dentry *src_dentry, + struct inode *dir, struct path *path) +{ + int err; + struct path tmp = { + .mnt = path->mnt + }; + struct dentry *d; + + IMustLock(dir); + IMustLock(src_dir); + + d = path->dentry; + path->dentry = d->d_parent; + tmp.dentry = src_dentry->d_parent; + err = security_path_rename(&tmp, src_dentry, path, d); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_rename(src_dir, src_dentry, dir, path->dentry); + lockdep_on(); + if (!err) { + int did; + + tmp.dentry = d->d_parent; + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = src_dentry; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + tmp.dentry = src_dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_mkdir(struct inode *dir, struct path *path, int mode) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_mkdir(path, d, mode); + path->dentry = d; + if (unlikely(err)) + goto out; + + err = vfs_mkdir(dir, path->dentry, mode); + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_rmdir(struct inode *dir, struct path *path) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_rmdir(path, d); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_rmdir(dir, path->dentry); + lockdep_on(); + if (!err) { + struct path tmp = { + .dentry = path->dentry->d_parent, + .mnt = path->mnt + }; + + vfsub_update_h_iattr(&tmp, /*did*/NULL); /*ignore*/ + } + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* todo: support mmap_sem? */ +ssize_t vfsub_read_u(struct file *file, char __user *ubuf, size_t count, + loff_t *ppos) +{ + ssize_t err; + + lockdep_off(); + err = vfs_read(file, ubuf, count, ppos); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +/* todo: kernel_read()? */ +ssize_t vfsub_read_k(struct file *file, void *kbuf, size_t count, + loff_t *ppos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + char __user *u; + } buf; + + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + err = vfsub_read_u(file, buf.u, count, ppos); + set_fs(oldfs); + return err; +} + +ssize_t vfsub_write_u(struct file *file, const char __user *ubuf, size_t count, + loff_t *ppos) +{ + ssize_t err; + + lockdep_off(); + err = vfs_write(file, ubuf, count, ppos); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +ssize_t vfsub_write_k(struct file *file, void *kbuf, size_t count, loff_t *ppos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + const char __user *u; + } buf; + + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + err = vfsub_write_u(file, buf.u, count, ppos); + set_fs(oldfs); + return err; +} + +int vfsub_flush(struct file *file, fl_owner_t id) +{ + int err; + + err = 0; + if (file->f_op && file->f_op->flush) { + if (!au_test_nfs(file->f_dentry->d_sb)) + err = file->f_op->flush(file, id); + else { + lockdep_off(); + err = file->f_op->flush(file, id); + lockdep_on(); + } + if (!err) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); + /*ignore*/ + } + return err; +} + +int vfsub_readdir(struct file *file, filldir_t filldir, void *arg) +{ + int err; + + lockdep_off(); + err = vfs_readdir(file, filldir, arg); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +long vfsub_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags) +{ + long err; + + lockdep_off(); + err = do_splice_to(in, ppos, pipe, len, flags); + lockdep_on(); + file_accessed(in); + if (err >= 0) + vfsub_update_h_iattr(&in->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +long vfsub_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags) +{ + long err; + + lockdep_off(); + err = do_splice_from(pipe, out, ppos, len, flags); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&out->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +int vfsub_fsync(struct file *file, struct path *path, int datasync) +{ + int err; + + /* file can be NULL */ + lockdep_off(); + err = vfs_fsync(file, datasync); + lockdep_on(); + if (!err) { + if (!path) { + AuDebugOn(!file); + path = &file->f_path; + } + vfsub_update_h_iattr(path, /*did*/NULL); /*ignore*/ + } + return err; +} + +/* cf. open.c:do_sys_truncate() and do_sys_ftruncate() */ +int vfsub_trunc(struct path *h_path, loff_t length, unsigned int attr, + struct file *h_file) +{ + int err; + struct inode *h_inode; + + h_inode = h_path->dentry->d_inode; + if (!h_file) { + err = mnt_want_write(h_path->mnt); + if (err) + goto out; + err = inode_permission(h_inode, MAY_WRITE); + if (err) + goto out_mnt; + err = get_write_access(h_inode); + if (err) + goto out_mnt; + err = break_lease(h_inode, O_WRONLY); + if (err) + goto out_inode; + } + + err = locks_verify_truncate(h_inode, h_file, length); + if (!err) + err = security_path_truncate(h_path); + if (!err) { + lockdep_off(); + err = do_truncate(h_path->dentry, length, attr, h_file); + lockdep_on(); + } + +out_inode: + if (!h_file) + put_write_access(h_inode); +out_mnt: + if (!h_file) + mnt_drop_write(h_path->mnt); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct au_vfsub_mkdir_args { + int *errp; + struct inode *dir; + struct path *path; + int mode; +}; + +static void au_call_vfsub_mkdir(void *args) +{ + struct au_vfsub_mkdir_args *a = args; + *a->errp = vfsub_mkdir(a->dir, a->path, a->mode); +} + +int vfsub_sio_mkdir(struct inode *dir, struct path *path, int mode) +{ + int err, do_sio, wkq_err; + + do_sio = au_test_h_perm_sio(dir, MAY_EXEC | MAY_WRITE); + if (!do_sio) + err = vfsub_mkdir(dir, path, mode); + else { + struct au_vfsub_mkdir_args args = { + .errp = &err, + .dir = dir, + .path = path, + .mode = mode + }; + wkq_err = au_wkq_wait(au_call_vfsub_mkdir, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} + +struct au_vfsub_rmdir_args { + int *errp; + struct inode *dir; + struct path *path; +}; + +static void au_call_vfsub_rmdir(void *args) +{ + struct au_vfsub_rmdir_args *a = args; + *a->errp = vfsub_rmdir(a->dir, a->path); +} + +int vfsub_sio_rmdir(struct inode *dir, struct path *path) +{ + int err, do_sio, wkq_err; + + do_sio = au_test_h_perm_sio(dir, MAY_EXEC | MAY_WRITE); + if (!do_sio) + err = vfsub_rmdir(dir, path); + else { + struct au_vfsub_rmdir_args args = { + .errp = &err, + .dir = dir, + .path = path + }; + wkq_err = au_wkq_wait(au_call_vfsub_rmdir, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct notify_change_args { + int *errp; + struct path *path; + struct iattr *ia; +}; + +static void call_notify_change(void *args) +{ + struct notify_change_args *a = args; + struct inode *h_inode; + + h_inode = a->path->dentry->d_inode; + IMustLock(h_inode); + + *a->errp = -EPERM; + if (!IS_IMMUTABLE(h_inode) && !IS_APPEND(h_inode)) { + *a->errp = notify_change(a->path->dentry, a->ia); + if (!*a->errp) + vfsub_update_h_iattr(a->path, /*did*/NULL); /*ignore*/ + } + AuTraceErr(*a->errp); +} + +int vfsub_notify_change(struct path *path, struct iattr *ia) +{ + int err; + struct notify_change_args args = { + .errp = &err, + .path = path, + .ia = ia + }; + + call_notify_change(&args); + + return err; +} + +int vfsub_sio_notify_change(struct path *path, struct iattr *ia) +{ + int err, wkq_err; + struct notify_change_args args = { + .errp = &err, + .path = path, + .ia = ia + }; + + wkq_err = au_wkq_wait(call_notify_change, &args); + if (unlikely(wkq_err)) + err = wkq_err; + + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct unlink_args { + int *errp; + struct inode *dir; + struct path *path; +}; + +static void call_unlink(void *args) +{ + struct unlink_args *a = args; + struct dentry *d = a->path->dentry; + struct inode *h_inode; + const int stop_sillyrename = (au_test_nfs(d->d_sb) + && d->d_count == 1); + + IMustLock(a->dir); + + a->path->dentry = d->d_parent; + *a->errp = security_path_unlink(a->path, d); + a->path->dentry = d; + if (unlikely(*a->errp)) + return; + + if (!stop_sillyrename) + dget(d); + h_inode = d->d_inode; + if (h_inode) + ihold(h_inode); + + lockdep_off(); + *a->errp = vfs_unlink(a->dir, d); + lockdep_on(); + if (!*a->errp) { + struct path tmp = { + .dentry = d->d_parent, + .mnt = a->path->mnt + }; + vfsub_update_h_iattr(&tmp, /*did*/NULL); /*ignore*/ + } + + if (!stop_sillyrename) + dput(d); + if (h_inode) + iput(h_inode); + + AuTraceErr(*a->errp); +} + +/* + * @dir: must be locked. + * @dentry: target dentry. + */ +int vfsub_unlink(struct inode *dir, struct path *path, int force) +{ + int err; + struct unlink_args args = { + .errp = &err, + .dir = dir, + .path = path + }; + + if (!force) + call_unlink(&args); + else { + int wkq_err; + + wkq_err = au_wkq_wait(call_unlink, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/vfsub.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/vfsub.h @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * sub-routines for VFS + */ + +#ifndef __AUFS_VFSUB_H__ +#define __AUFS_VFSUB_H__ + +#ifdef __KERNEL__ + +#include +#include +#include "debug.h" + +/* copied from linux/fs/internal.h */ +/* todo: BAD approach!! */ +extern struct lglock vfsmount_lock; +extern void file_sb_list_del(struct file *f); +extern spinlock_t inode_sb_list_lock; + +/* copied from linux/fs/file_table.c */ +extern struct lglock files_lglock; +#ifdef CONFIG_SMP +/* + * These macros iterate all files on all CPUs for a given superblock. + * files_lglock must be held globally. + */ +#define do_file_list_for_each_entry(__sb, __file) \ +{ \ + int i; \ + for_each_possible_cpu(i) { \ + struct list_head *list; \ + list = per_cpu_ptr((__sb)->s_files, i); \ + list_for_each_entry((__file), list, f_u.fu_list) + +#define while_file_list_for_each_entry \ + } \ +} + +#else + +#define do_file_list_for_each_entry(__sb, __file) \ +{ \ + struct list_head *list; \ + list = &(sb)->s_files; \ + list_for_each_entry((__file), list, f_u.fu_list) + +#define while_file_list_for_each_entry \ +} +#endif + +/* ---------------------------------------------------------------------- */ + +/* lock subclass for lower inode */ +/* default MAX_LOCKDEP_SUBCLASSES(8) is not enough */ +/* reduce? gave up. */ +enum { + AuLsc_I_Begin = I_MUTEX_QUOTA, /* 4 */ + AuLsc_I_PARENT, /* lower inode, parent first */ + AuLsc_I_PARENT2, /* copyup dirs */ + AuLsc_I_PARENT3, /* copyup wh */ + AuLsc_I_CHILD, + AuLsc_I_CHILD2, + AuLsc_I_End +}; + +/* to debug easier, do not make them inlined functions */ +#define MtxMustLock(mtx) AuDebugOn(!mutex_is_locked(mtx)) +#define IMustLock(i) MtxMustLock(&(i)->i_mutex) + +/* ---------------------------------------------------------------------- */ + +static inline void vfsub_drop_nlink(struct inode *inode) +{ + AuDebugOn(!inode->i_nlink); + drop_nlink(inode); +} + +static inline void vfsub_dead_dir(struct inode *inode) +{ + AuDebugOn(!S_ISDIR(inode->i_mode)); + inode->i_flags |= S_DEAD; + clear_nlink(inode); +} + +/* ---------------------------------------------------------------------- */ + +/* cf. i_[ug]id_read() in linux/include/fs.h */ +static inline uid_t vfsub_ia_uid(struct iattr *ia) +{ + return from_kuid(&init_user_ns, ia->ia_uid); +} + +static inline gid_t vfsub_ia_gid(struct iattr *ia) +{ + return from_kgid(&init_user_ns, ia->ia_gid); +} + +/* ---------------------------------------------------------------------- */ + +int vfsub_update_h_iattr(struct path *h_path, int *did); +struct file *vfsub_dentry_open(struct path *path, int flags); +struct file *vfsub_filp_open(const char *path, int oflags, int mode); +int vfsub_kern_path(const char *name, unsigned int flags, struct path *path); +struct dentry *vfsub_lookup_one_len(const char *name, struct dentry *parent, + int len); +struct dentry *vfsub_lookup_hash(struct nameidata *nd); +int vfsub_name_hash(const char *name, struct qstr *this, int len); + +/* ---------------------------------------------------------------------- */ + +struct au_hinode; +struct dentry *vfsub_lock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2); +void vfsub_unlock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2); + +int vfsub_create(struct inode *dir, struct path *path, int mode); +int vfsub_symlink(struct inode *dir, struct path *path, + const char *symname); +int vfsub_mknod(struct inode *dir, struct path *path, int mode, dev_t dev); +int vfsub_link(struct dentry *src_dentry, struct inode *dir, + struct path *path); +int vfsub_rename(struct inode *src_hdir, struct dentry *src_dentry, + struct inode *hdir, struct path *path); +int vfsub_mkdir(struct inode *dir, struct path *path, int mode); +int vfsub_rmdir(struct inode *dir, struct path *path); + +/* ---------------------------------------------------------------------- */ + +ssize_t vfsub_read_u(struct file *file, char __user *ubuf, size_t count, + loff_t *ppos); +ssize_t vfsub_read_k(struct file *file, void *kbuf, size_t count, + loff_t *ppos); +ssize_t vfsub_write_u(struct file *file, const char __user *ubuf, size_t count, + loff_t *ppos); +ssize_t vfsub_write_k(struct file *file, void *kbuf, size_t count, + loff_t *ppos); +int vfsub_flush(struct file *file, fl_owner_t id); +int vfsub_readdir(struct file *file, filldir_t filldir, void *arg); + +static inline unsigned int vfsub_file_flags(struct file *file) +{ + unsigned int flags; + + spin_lock(&file->f_lock); + flags = file->f_flags; + spin_unlock(&file->f_lock); + + return flags; +} + +static inline void vfsub_file_accessed(struct file *h_file) +{ + file_accessed(h_file); + vfsub_update_h_iattr(&h_file->f_path, /*did*/NULL); /*ignore*/ +} + +static inline void vfsub_touch_atime(struct vfsmount *h_mnt, + struct dentry *h_dentry) +{ + struct path h_path = { + .dentry = h_dentry, + .mnt = h_mnt + }; + touch_atime(&h_path); + vfsub_update_h_iattr(&h_path, /*did*/NULL); /*ignore*/ +} + +static inline int vfsub_update_time(struct inode *h_inode, struct timespec *ts, + int flags) +{ + return update_time(h_inode, ts, flags); + /* no vfsub_update_h_iattr() since we don't have struct path */ +} + +long vfsub_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags); +long vfsub_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags); +int vfsub_trunc(struct path *h_path, loff_t length, unsigned int attr, + struct file *h_file); +int vfsub_fsync(struct file *file, struct path *path, int datasync); + +/* ---------------------------------------------------------------------- */ + +static inline loff_t vfsub_llseek(struct file *file, loff_t offset, int origin) +{ + loff_t err; + + lockdep_off(); + err = vfs_llseek(file, offset, origin); + lockdep_on(); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* dirty workaround for strict type of fmode_t */ +union vfsub_fmu { + fmode_t fm; + unsigned int ui; +}; + +static inline unsigned int vfsub_fmode_to_uint(fmode_t fm) +{ + union vfsub_fmu u = { + .fm = fm + }; + + BUILD_BUG_ON(sizeof(u.fm) != sizeof(u.ui)); + + return u.ui; +} + +static inline fmode_t vfsub_uint_to_fmode(unsigned int ui) +{ + union vfsub_fmu u = { + .ui = ui + }; + + return u.fm; +} + +/* ---------------------------------------------------------------------- */ + +int vfsub_sio_mkdir(struct inode *dir, struct path *path, int mode); +int vfsub_sio_rmdir(struct inode *dir, struct path *path); +int vfsub_sio_notify_change(struct path *path, struct iattr *ia); +int vfsub_notify_change(struct path *path, struct iattr *ia); +int vfsub_unlink(struct inode *dir, struct path *path, int force); + +#endif /* __KERNEL__ */ +#endif /* __AUFS_VFSUB_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/wbr_policy.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/wbr_policy.c @@ -0,0 +1,700 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * policies for selecting one among multiple writable branches + */ + +#include +#include "aufs.h" + +/* subset of cpup_attr() */ +static noinline_for_stack +int au_cpdown_attr(struct path *h_path, struct dentry *h_src) +{ + int err, sbits; + struct iattr ia; + struct inode *h_isrc; + + h_isrc = h_src->d_inode; + ia.ia_valid = ATTR_FORCE | ATTR_MODE | ATTR_UID | ATTR_GID; + ia.ia_mode = h_isrc->i_mode; + ia.ia_uid = h_isrc->i_uid; + ia.ia_gid = h_isrc->i_gid; + sbits = !!(ia.ia_mode & (S_ISUID | S_ISGID)); + au_cpup_attr_flags(h_path->dentry->d_inode, h_isrc); + err = vfsub_sio_notify_change(h_path, &ia); + + /* is this nfs only? */ + if (!err && sbits && au_test_nfs(h_path->dentry->d_sb)) { + ia.ia_valid = ATTR_FORCE | ATTR_MODE; + ia.ia_mode = h_isrc->i_mode; + err = vfsub_sio_notify_change(h_path, &ia); + } + + return err; +} + +#define AuCpdown_PARENT_OPQ 1 +#define AuCpdown_WHED (1 << 1) +#define AuCpdown_MADE_DIR (1 << 2) +#define AuCpdown_DIROPQ (1 << 3) +#define au_ftest_cpdown(flags, name) ((flags) & AuCpdown_##name) +#define au_fset_cpdown(flags, name) \ + do { (flags) |= AuCpdown_##name; } while (0) +#define au_fclr_cpdown(flags, name) \ + do { (flags) &= ~AuCpdown_##name; } while (0) + +struct au_cpdown_dir_args { + struct dentry *parent; + unsigned int flags; +}; + +static int au_cpdown_dir_opq(struct dentry *dentry, aufs_bindex_t bdst, + struct au_cpdown_dir_args *a) +{ + int err; + struct dentry *opq_dentry; + + opq_dentry = au_diropq_create(dentry, bdst); + err = PTR_ERR(opq_dentry); + if (IS_ERR(opq_dentry)) + goto out; + dput(opq_dentry); + au_fset_cpdown(a->flags, DIROPQ); + +out: + return err; +} + +static int au_cpdown_dir_wh(struct dentry *dentry, struct dentry *h_parent, + struct inode *dir, aufs_bindex_t bdst) +{ + int err; + struct path h_path; + struct au_branch *br; + + br = au_sbr(dentry->d_sb, bdst); + h_path.dentry = au_wh_lkup(h_parent, &dentry->d_name, br); + err = PTR_ERR(h_path.dentry); + if (IS_ERR(h_path.dentry)) + goto out; + + err = 0; + if (h_path.dentry->d_inode) { + h_path.mnt = br->br_mnt; + err = au_wh_unlink_dentry(au_h_iptr(dir, bdst), &h_path, + dentry); + } + dput(h_path.dentry); + +out: + return err; +} + +static int au_cpdown_dir(struct dentry *dentry, aufs_bindex_t bdst, + struct dentry *h_parent, void *arg) +{ + int err, rerr; + aufs_bindex_t bopq, bstart; + struct path h_path; + struct dentry *parent; + struct inode *h_dir, *h_inode, *inode, *dir; + struct au_cpdown_dir_args *args = arg; + + bstart = au_dbstart(dentry); + /* dentry is di-locked */ + parent = dget_parent(dentry); + dir = parent->d_inode; + h_dir = h_parent->d_inode; + AuDebugOn(h_dir != au_h_iptr(dir, bdst)); + IMustLock(h_dir); + + err = au_lkup_neg(dentry, bdst); + if (unlikely(err < 0)) + goto out; + h_path.dentry = au_h_dptr(dentry, bdst); + h_path.mnt = au_sbr_mnt(dentry->d_sb, bdst); + err = vfsub_sio_mkdir(au_h_iptr(dir, bdst), &h_path, + S_IRWXU | S_IRUGO | S_IXUGO); + if (unlikely(err)) + goto out_put; + au_fset_cpdown(args->flags, MADE_DIR); + + bopq = au_dbdiropq(dentry); + au_fclr_cpdown(args->flags, WHED); + au_fclr_cpdown(args->flags, DIROPQ); + if (au_dbwh(dentry) == bdst) + au_fset_cpdown(args->flags, WHED); + if (!au_ftest_cpdown(args->flags, PARENT_OPQ) && bopq <= bdst) + au_fset_cpdown(args->flags, PARENT_OPQ); + h_inode = h_path.dentry->d_inode; + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + if (au_ftest_cpdown(args->flags, WHED)) { + err = au_cpdown_dir_opq(dentry, bdst, args); + if (unlikely(err)) { + mutex_unlock(&h_inode->i_mutex); + goto out_dir; + } + } + + err = au_cpdown_attr(&h_path, au_h_dptr(dentry, bstart)); + mutex_unlock(&h_inode->i_mutex); + if (unlikely(err)) + goto out_opq; + + if (au_ftest_cpdown(args->flags, WHED)) { + err = au_cpdown_dir_wh(dentry, h_parent, dir, bdst); + if (unlikely(err)) + goto out_opq; + } + + inode = dentry->d_inode; + if (au_ibend(inode) < bdst) + au_set_ibend(inode, bdst); + au_set_h_iptr(inode, bdst, au_igrab(h_inode), + au_hi_flags(inode, /*isdir*/1)); + goto out; /* success */ + + /* revert */ +out_opq: + if (au_ftest_cpdown(args->flags, DIROPQ)) { + mutex_lock_nested(&h_inode->i_mutex, AuLsc_I_CHILD); + rerr = au_diropq_remove(dentry, bdst); + mutex_unlock(&h_inode->i_mutex); + if (unlikely(rerr)) { + AuIOErr("failed removing diropq for %.*s b%d (%d)\n", + AuDLNPair(dentry), bdst, rerr); + err = -EIO; + goto out; + } + } +out_dir: + if (au_ftest_cpdown(args->flags, MADE_DIR)) { + rerr = vfsub_sio_rmdir(au_h_iptr(dir, bdst), &h_path); + if (unlikely(rerr)) { + AuIOErr("failed removing %.*s b%d (%d)\n", + AuDLNPair(dentry), bdst, rerr); + err = -EIO; + } + } +out_put: + au_set_h_dptr(dentry, bdst, NULL); + if (au_dbend(dentry) == bdst) + au_update_dbend(dentry); +out: + dput(parent); + return err; +} + +int au_cpdown_dirs(struct dentry *dentry, aufs_bindex_t bdst) +{ + int err; + struct au_cpdown_dir_args args = { + .parent = dget_parent(dentry), + .flags = 0 + }; + + err = au_cp_dirs(dentry, bdst, au_cpdown_dir, &args); + dput(args.parent); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* policies for create */ + +static int au_wbr_nonopq(struct dentry *dentry, aufs_bindex_t bindex) +{ + int err, i, j, ndentry; + aufs_bindex_t bopq; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries, *parent, *d; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + parent = dget_parent(dentry); + err = au_dcsub_pages_rev_aufs(&dpages, parent, /*do_include*/0); + if (unlikely(err)) + goto out_free; + + err = bindex; + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) { + d = dentries[j]; + di_read_lock_parent2(d, !AuLock_IR); + bopq = au_dbdiropq(d); + di_read_unlock(d, !AuLock_IR); + if (bopq >= 0 && bopq < err) + err = bopq; + } + } + +out_free: + dput(parent); + au_dpages_free(&dpages); +out: + return err; +} + +static int au_wbr_bu(struct super_block *sb, aufs_bindex_t bindex) +{ + for (; bindex >= 0; bindex--) + if (!au_br_rdonly(au_sbr(sb, bindex))) + return bindex; + return -EROFS; +} + +/* top down parent */ +static int au_wbr_create_tdp(struct dentry *dentry, int isdir __maybe_unused) +{ + int err; + aufs_bindex_t bstart, bindex; + struct super_block *sb; + struct dentry *parent, *h_parent; + + sb = dentry->d_sb; + bstart = au_dbstart(dentry); + err = bstart; + if (!au_br_rdonly(au_sbr(sb, bstart))) + goto out; + + err = -EROFS; + parent = dget_parent(dentry); + for (bindex = au_dbstart(parent); bindex < bstart; bindex++) { + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || !h_parent->d_inode) + continue; + + if (!au_br_rdonly(au_sbr(sb, bindex))) { + err = bindex; + break; + } + } + dput(parent); + + /* bottom up here */ + if (unlikely(err < 0)) { + err = au_wbr_bu(sb, bstart - 1); + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + } + +out: + AuDbg("b%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* an exception for the policy other than tdp */ +static int au_wbr_create_exp(struct dentry *dentry) +{ + int err; + aufs_bindex_t bwh, bdiropq; + struct dentry *parent; + + err = -1; + bwh = au_dbwh(dentry); + parent = dget_parent(dentry); + bdiropq = au_dbdiropq(parent); + if (bwh >= 0) { + if (bdiropq >= 0) + err = min(bdiropq, bwh); + else + err = bwh; + AuDbg("%d\n", err); + } else if (bdiropq >= 0) { + err = bdiropq; + AuDbg("%d\n", err); + } + dput(parent); + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + + if (err >= 0 && au_br_rdonly(au_sbr(dentry->d_sb, err))) + err = -1; + + AuDbg("%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* round robin */ +static int au_wbr_create_init_rr(struct super_block *sb) +{ + int err; + + err = au_wbr_bu(sb, au_sbend(sb)); + atomic_set(&au_sbi(sb)->si_wbr_rr_next, -err); /* less important */ + /* smp_mb(); */ + + AuDbg("b%d\n", err); + return err; +} + +static int au_wbr_create_rr(struct dentry *dentry, int isdir) +{ + int err, nbr; + unsigned int u; + aufs_bindex_t bindex, bend; + struct super_block *sb; + atomic_t *next; + + err = au_wbr_create_exp(dentry); + if (err >= 0) + goto out; + + sb = dentry->d_sb; + next = &au_sbi(sb)->si_wbr_rr_next; + bend = au_sbend(sb); + nbr = bend + 1; + for (bindex = 0; bindex <= bend; bindex++) { + if (!isdir) { + err = atomic_dec_return(next) + 1; + /* modulo for 0 is meaningless */ + if (unlikely(!err)) + err = atomic_dec_return(next) + 1; + } else + err = atomic_read(next); + AuDbg("%d\n", err); + u = err; + err = u % nbr; + AuDbg("%d\n", err); + if (!au_br_rdonly(au_sbr(sb, err))) + break; + err = -EROFS; + } + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + +out: + AuDbg("%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* most free space */ +static void au_mfs(struct dentry *dentry) +{ + struct super_block *sb; + struct au_branch *br; + struct au_wbr_mfs *mfs; + aufs_bindex_t bindex, bend; + int err; + unsigned long long b, bavail; + struct path h_path; + /* reduce the stack usage */ + struct kstatfs *st; + + st = kmalloc(sizeof(*st), GFP_NOFS); + if (unlikely(!st)) { + AuWarn1("failed updating mfs(%d), ignored\n", -ENOMEM); + return; + } + + bavail = 0; + sb = dentry->d_sb; + mfs = &au_sbi(sb)->si_wbr_mfs; + MtxMustLock(&mfs->mfs_lock); + mfs->mfs_bindex = -EROFS; + mfs->mfsrr_bytes = 0; + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_rdonly(br)) + continue; + + /* sb->s_root for NFS is unreliable */ + h_path.mnt = br->br_mnt; + h_path.dentry = h_path.mnt->mnt_root; + err = vfs_statfs(&h_path, st); + if (unlikely(err)) { + AuWarn1("failed statfs, b%d, %d\n", bindex, err); + continue; + } + + /* when the available size is equal, select the lower one */ + BUILD_BUG_ON(sizeof(b) < sizeof(st->f_bavail) + || sizeof(b) < sizeof(st->f_bsize)); + b = st->f_bavail * st->f_bsize; + br->br_wbr->wbr_bytes = b; + if (b >= bavail) { + bavail = b; + mfs->mfs_bindex = bindex; + mfs->mfs_jiffy = jiffies; + } + } + + mfs->mfsrr_bytes = bavail; + AuDbg("b%d\n", mfs->mfs_bindex); + kfree(st); +} + +static int au_wbr_create_mfs(struct dentry *dentry, int isdir __maybe_unused) +{ + int err; + struct super_block *sb; + struct au_wbr_mfs *mfs; + + err = au_wbr_create_exp(dentry); + if (err >= 0) + goto out; + + sb = dentry->d_sb; + mfs = &au_sbi(sb)->si_wbr_mfs; + mutex_lock(&mfs->mfs_lock); + if (time_after(jiffies, mfs->mfs_jiffy + mfs->mfs_expire) + || mfs->mfs_bindex < 0 + || au_br_rdonly(au_sbr(sb, mfs->mfs_bindex))) + au_mfs(dentry); + mutex_unlock(&mfs->mfs_lock); + err = mfs->mfs_bindex; + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + +out: + AuDbg("b%d\n", err); + return err; +} + +static int au_wbr_create_init_mfs(struct super_block *sb) +{ + struct au_wbr_mfs *mfs; + + mfs = &au_sbi(sb)->si_wbr_mfs; + mutex_init(&mfs->mfs_lock); + mfs->mfs_jiffy = 0; + mfs->mfs_bindex = -EROFS; + + return 0; +} + +static int au_wbr_create_fin_mfs(struct super_block *sb __maybe_unused) +{ + mutex_destroy(&au_sbi(sb)->si_wbr_mfs.mfs_lock); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +/* most free space and then round robin */ +static int au_wbr_create_mfsrr(struct dentry *dentry, int isdir) +{ + int err; + struct au_wbr_mfs *mfs; + + err = au_wbr_create_mfs(dentry, isdir); + if (err >= 0) { + mfs = &au_sbi(dentry->d_sb)->si_wbr_mfs; + mutex_lock(&mfs->mfs_lock); + if (mfs->mfsrr_bytes < mfs->mfsrr_watermark) + err = au_wbr_create_rr(dentry, isdir); + mutex_unlock(&mfs->mfs_lock); + } + + AuDbg("b%d\n", err); + return err; +} + +static int au_wbr_create_init_mfsrr(struct super_block *sb) +{ + int err; + + au_wbr_create_init_mfs(sb); /* ignore */ + err = au_wbr_create_init_rr(sb); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* top down parent and most free space */ +static int au_wbr_create_pmfs(struct dentry *dentry, int isdir) +{ + int err, e2; + unsigned long long b; + aufs_bindex_t bindex, bstart, bend; + struct super_block *sb; + struct dentry *parent, *h_parent; + struct au_branch *br; + + err = au_wbr_create_tdp(dentry, isdir); + if (unlikely(err < 0)) + goto out; + parent = dget_parent(dentry); + bstart = au_dbstart(parent); + bend = au_dbtaildir(parent); + if (bstart == bend) + goto out_parent; /* success */ + + e2 = au_wbr_create_mfs(dentry, isdir); + if (e2 < 0) + goto out_parent; /* success */ + + /* when the available size is equal, select upper one */ + sb = dentry->d_sb; + br = au_sbr(sb, err); + b = br->br_wbr->wbr_bytes; + AuDbg("b%d, %llu\n", err, b); + + for (bindex = bstart; bindex <= bend; bindex++) { + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || !h_parent->d_inode) + continue; + + br = au_sbr(sb, bindex); + if (!au_br_rdonly(br) && br->br_wbr->wbr_bytes > b) { + b = br->br_wbr->wbr_bytes; + err = bindex; + AuDbg("b%d, %llu\n", err, b); + } + } + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + +out_parent: + dput(parent); +out: + AuDbg("b%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* policies for copyup */ + +/* top down parent */ +static int au_wbr_copyup_tdp(struct dentry *dentry) +{ + return au_wbr_create_tdp(dentry, /*isdir, anything is ok*/0); +} + +/* bottom up parent */ +static int au_wbr_copyup_bup(struct dentry *dentry) +{ + int err; + aufs_bindex_t bindex, bstart; + struct dentry *parent, *h_parent; + struct super_block *sb; + + err = -EROFS; + sb = dentry->d_sb; + parent = dget_parent(dentry); + bstart = au_dbstart(parent); + for (bindex = au_dbstart(dentry); bindex >= bstart; bindex--) { + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || !h_parent->d_inode) + continue; + + if (!au_br_rdonly(au_sbr(sb, bindex))) { + err = bindex; + break; + } + } + dput(parent); + + /* bottom up here */ + if (unlikely(err < 0)) + err = au_wbr_bu(sb, bstart - 1); + + AuDbg("b%d\n", err); + return err; +} + +/* bottom up */ +static int au_wbr_copyup_bu(struct dentry *dentry) +{ + int err; + aufs_bindex_t bstart; + + bstart = au_dbstart(dentry); + err = au_wbr_bu(dentry->d_sb, bstart); + AuDbg("b%d\n", err); + if (err > bstart) + err = au_wbr_nonopq(dentry, err); + + AuDbg("b%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct au_wbr_copyup_operations au_wbr_copyup_ops[] = { + [AuWbrCopyup_TDP] = { + .copyup = au_wbr_copyup_tdp + }, + [AuWbrCopyup_BUP] = { + .copyup = au_wbr_copyup_bup + }, + [AuWbrCopyup_BU] = { + .copyup = au_wbr_copyup_bu + } +}; + +struct au_wbr_create_operations au_wbr_create_ops[] = { + [AuWbrCreate_TDP] = { + .create = au_wbr_create_tdp + }, + [AuWbrCreate_RR] = { + .create = au_wbr_create_rr, + .init = au_wbr_create_init_rr + }, + [AuWbrCreate_MFS] = { + .create = au_wbr_create_mfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_MFSV] = { + .create = au_wbr_create_mfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_MFSRR] = { + .create = au_wbr_create_mfsrr, + .init = au_wbr_create_init_mfsrr, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_MFSRRV] = { + .create = au_wbr_create_mfsrr, + .init = au_wbr_create_init_mfsrr, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_PMFS] = { + .create = au_wbr_create_pmfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_PMFSV] = { + .create = au_wbr_create_pmfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + } +}; --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/whout.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/whout.c @@ -0,0 +1,1041 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * whiteout for logical deletion and opaque directory + */ + +#include "aufs.h" + +#define WH_MASK S_IRUGO + +/* + * If a directory contains this file, then it is opaque. We start with the + * .wh. flag so that it is blocked by lookup. + */ +static struct qstr diropq_name = QSTR_INIT(AUFS_WH_DIROPQ, + sizeof(AUFS_WH_DIROPQ) - 1); + +/* + * generate whiteout name, which is NOT terminated by NULL. + * @name: original d_name.name + * @len: original d_name.len + * @wh: whiteout qstr + * returns zero when succeeds, otherwise error. + * succeeded value as wh->name should be freed by kfree(). + */ +int au_wh_name_alloc(struct qstr *wh, const struct qstr *name) +{ + char *p; + + if (unlikely(name->len > PATH_MAX - AUFS_WH_PFX_LEN)) + return -ENAMETOOLONG; + + wh->len = name->len + AUFS_WH_PFX_LEN; + p = kmalloc(wh->len, GFP_NOFS); + wh->name = p; + if (p) { + memcpy(p, AUFS_WH_PFX, AUFS_WH_PFX_LEN); + memcpy(p + AUFS_WH_PFX_LEN, name->name, name->len); + /* smp_mb(); */ + return 0; + } + return -ENOMEM; +} + +/* ---------------------------------------------------------------------- */ + +/* + * test if the @wh_name exists under @h_parent. + * @try_sio specifies the necessary of super-io. + */ +int au_wh_test(struct dentry *h_parent, struct qstr *wh_name, + struct au_branch *br, int try_sio) +{ + int err; + struct dentry *wh_dentry; + + if (!try_sio) + wh_dentry = au_lkup_one(wh_name, h_parent, br, /*nd*/NULL); + else + wh_dentry = au_sio_lkup_one(wh_name, h_parent, br); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out; + + err = 0; + if (!wh_dentry->d_inode) + goto out_wh; /* success */ + + err = 1; + if (S_ISREG(wh_dentry->d_inode->i_mode)) + goto out_wh; /* success */ + + err = -EIO; + AuIOErr("%.*s Invalid whiteout entry type 0%o.\n", + AuDLNPair(wh_dentry), wh_dentry->d_inode->i_mode); + +out_wh: + dput(wh_dentry); +out: + return err; +} + +/* + * test if the @h_dentry sets opaque or not. + */ +int au_diropq_test(struct dentry *h_dentry, struct au_branch *br) +{ + int err; + struct inode *h_dir; + + h_dir = h_dentry->d_inode; + err = au_wh_test(h_dentry, &diropq_name, br, + au_test_h_perm_sio(h_dir, MAY_EXEC)); + return err; +} + +/* + * returns a negative dentry whose name is unique and temporary. + */ +struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br, + struct qstr *prefix) +{ + struct dentry *dentry; + int i; + char defname[NAME_MAX - AUFS_MAX_NAMELEN + DNAME_INLINE_LEN + 1], + *name, *p; + /* strict atomic_t is unnecessary here */ + static unsigned short cnt; + struct qstr qs; + + BUILD_BUG_ON(sizeof(cnt) * 2 > AUFS_WH_TMP_LEN); + + name = defname; + qs.len = sizeof(defname) - DNAME_INLINE_LEN + prefix->len - 1; + if (unlikely(prefix->len > DNAME_INLINE_LEN)) { + dentry = ERR_PTR(-ENAMETOOLONG); + if (unlikely(qs.len > NAME_MAX)) + goto out; + dentry = ERR_PTR(-ENOMEM); + name = kmalloc(qs.len + 1, GFP_NOFS); + if (unlikely(!name)) + goto out; + } + + /* doubly whiteout-ed */ + memcpy(name, AUFS_WH_PFX AUFS_WH_PFX, AUFS_WH_PFX_LEN * 2); + p = name + AUFS_WH_PFX_LEN * 2; + memcpy(p, prefix->name, prefix->len); + p += prefix->len; + *p++ = '.'; + AuDebugOn(name + qs.len + 1 - p <= AUFS_WH_TMP_LEN); + + qs.name = name; + for (i = 0; i < 3; i++) { + sprintf(p, "%.*x", AUFS_WH_TMP_LEN, cnt++); + dentry = au_sio_lkup_one(&qs, h_parent, br); + if (IS_ERR(dentry) || !dentry->d_inode) + goto out_name; + dput(dentry); + } + /* pr_warn("could not get random name\n"); */ + dentry = ERR_PTR(-EEXIST); + AuDbg("%.*s\n", AuLNPair(&qs)); + BUG(); + +out_name: + if (name != defname) + kfree(name); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* + * rename the @h_dentry on @br to the whiteouted temporary name. + */ +int au_whtmp_ren(struct dentry *h_dentry, struct au_branch *br) +{ + int err; + struct path h_path = { + .mnt = br->br_mnt + }; + struct inode *h_dir; + struct dentry *h_parent; + + h_parent = h_dentry->d_parent; /* dir inode is locked */ + h_dir = h_parent->d_inode; + IMustLock(h_dir); + + h_path.dentry = au_whtmp_lkup(h_parent, br, &h_dentry->d_name); + err = PTR_ERR(h_path.dentry); + if (IS_ERR(h_path.dentry)) + goto out; + + /* under the same dir, no need to lock_rename() */ + err = vfsub_rename(h_dir, h_dentry, h_dir, &h_path); + AuTraceErr(err); + dput(h_path.dentry); + +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ +/* + * functions for removing a whiteout + */ + +static int do_unlink_wh(struct inode *h_dir, struct path *h_path) +{ + int force; + + /* + * forces superio when the dir has a sticky bit. + * this may be a violation of unix fs semantics. + */ + force = (h_dir->i_mode & S_ISVTX) + && !uid_eq(current_fsuid(), h_path->dentry->d_inode->i_uid); + return vfsub_unlink(h_dir, h_path, force); +} + +int au_wh_unlink_dentry(struct inode *h_dir, struct path *h_path, + struct dentry *dentry) +{ + int err; + + err = do_unlink_wh(h_dir, h_path); + if (!err && dentry) + au_set_dbwh(dentry, -1); + + return err; +} + +static int unlink_wh_name(struct dentry *h_parent, struct qstr *wh, + struct au_branch *br) +{ + int err; + struct path h_path = { + .mnt = br->br_mnt + }; + + err = 0; + h_path.dentry = au_lkup_one(wh, h_parent, br, /*nd*/NULL); + if (IS_ERR(h_path.dentry)) + err = PTR_ERR(h_path.dentry); + else { + if (h_path.dentry->d_inode + && S_ISREG(h_path.dentry->d_inode->i_mode)) + err = do_unlink_wh(h_parent->d_inode, &h_path); + dput(h_path.dentry); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ +/* + * initialize/clean whiteout for a branch + */ + +static void au_wh_clean(struct inode *h_dir, struct path *whpath, + const int isdir) +{ + int err; + + if (!whpath->dentry->d_inode) + return; + + err = mnt_want_write(whpath->mnt); + if (!err) { + if (isdir) + err = vfsub_rmdir(h_dir, whpath); + else + err = vfsub_unlink(h_dir, whpath, /*force*/0); + mnt_drop_write(whpath->mnt); + } + if (unlikely(err)) + pr_warn("failed removing %.*s (%d), ignored.\n", + AuDLNPair(whpath->dentry), err); +} + +static int test_linkable(struct dentry *h_root) +{ + struct inode *h_dir = h_root->d_inode; + + if (h_dir->i_op->link) + return 0; + + pr_err("%.*s (%s) doesn't support link(2), use noplink and rw+nolwh\n", + AuDLNPair(h_root), au_sbtype(h_root->d_sb)); + return -ENOSYS; +} + +/* todo: should this mkdir be done in /sbin/mount.aufs helper? */ +static int au_whdir(struct inode *h_dir, struct path *path) +{ + int err; + + err = -EEXIST; + if (!path->dentry->d_inode) { + int mode = S_IRWXU; + + if (au_test_nfs(path->dentry->d_sb)) + mode |= S_IXUGO; + err = mnt_want_write(path->mnt); + if (!err) { + err = vfsub_mkdir(h_dir, path, mode); + mnt_drop_write(path->mnt); + } + } else if (S_ISDIR(path->dentry->d_inode->i_mode)) + err = 0; + else + pr_err("unknown %.*s exists\n", AuDLNPair(path->dentry)); + + return err; +} + +struct au_wh_base { + const struct qstr *name; + struct dentry *dentry; +}; + +static void au_wh_init_ro(struct inode *h_dir, struct au_wh_base base[], + struct path *h_path) +{ + h_path->dentry = base[AuBrWh_BASE].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/0); + h_path->dentry = base[AuBrWh_PLINK].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/1); + h_path->dentry = base[AuBrWh_ORPH].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/1); +} + +/* + * returns tri-state, + * minus: error, caller should print the mesage + * zero: succuess + * plus: error, caller should NOT print the mesage + */ +static int au_wh_init_rw_nolink(struct dentry *h_root, struct au_wbr *wbr, + int do_plink, struct au_wh_base base[], + struct path *h_path) +{ + int err; + struct inode *h_dir; + + h_dir = h_root->d_inode; + h_path->dentry = base[AuBrWh_BASE].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/0); + h_path->dentry = base[AuBrWh_PLINK].dentry; + if (do_plink) { + err = test_linkable(h_root); + if (unlikely(err)) { + err = 1; + goto out; + } + + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_plink = dget(base[AuBrWh_PLINK].dentry); + } else + au_wh_clean(h_dir, h_path, /*isdir*/1); + h_path->dentry = base[AuBrWh_ORPH].dentry; + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_orph = dget(base[AuBrWh_ORPH].dentry); + +out: + return err; +} + +/* + * for the moment, aufs supports the branch filesystem which does not support + * link(2). testing on FAT which does not support i_op->setattr() fully either, + * copyup failed. finally, such filesystem will not be used as the writable + * branch. + * + * returns tri-state, see above. + */ +static int au_wh_init_rw(struct dentry *h_root, struct au_wbr *wbr, + int do_plink, struct au_wh_base base[], + struct path *h_path) +{ + int err; + struct inode *h_dir; + + WbrWhMustWriteLock(wbr); + + err = test_linkable(h_root); + if (unlikely(err)) { + err = 1; + goto out; + } + + /* + * todo: should this create be done in /sbin/mount.aufs helper? + */ + err = -EEXIST; + h_dir = h_root->d_inode; + if (!base[AuBrWh_BASE].dentry->d_inode) { + err = mnt_want_write(h_path->mnt); + if (!err) { + h_path->dentry = base[AuBrWh_BASE].dentry; + err = vfsub_create(h_dir, h_path, WH_MASK); + mnt_drop_write(h_path->mnt); + } + } else if (S_ISREG(base[AuBrWh_BASE].dentry->d_inode->i_mode)) + err = 0; + else + pr_err("unknown %.*s/%.*s exists\n", + AuDLNPair(h_root), AuDLNPair(base[AuBrWh_BASE].dentry)); + if (unlikely(err)) + goto out; + + h_path->dentry = base[AuBrWh_PLINK].dentry; + if (do_plink) { + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_plink = dget(base[AuBrWh_PLINK].dentry); + } else + au_wh_clean(h_dir, h_path, /*isdir*/1); + wbr->wbr_whbase = dget(base[AuBrWh_BASE].dentry); + + h_path->dentry = base[AuBrWh_ORPH].dentry; + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_orph = dget(base[AuBrWh_ORPH].dentry); + +out: + return err; +} + +/* + * initialize the whiteout base file/dir for @br. + */ +int au_wh_init(struct dentry *h_root, struct au_branch *br, + struct super_block *sb) +{ + int err, i; + const unsigned char do_plink + = !!au_opt_test(au_mntflags(sb), PLINK); + struct path path = { + .mnt = br->br_mnt + }; + struct inode *h_dir; + struct au_wbr *wbr = br->br_wbr; + static const struct qstr base_name[] = { + [AuBrWh_BASE] = QSTR_INIT(AUFS_BASE_NAME, + sizeof(AUFS_BASE_NAME) - 1), + [AuBrWh_PLINK] = QSTR_INIT(AUFS_PLINKDIR_NAME, + sizeof(AUFS_PLINKDIR_NAME) - 1), + [AuBrWh_ORPH] = QSTR_INIT(AUFS_ORPHDIR_NAME, + sizeof(AUFS_ORPHDIR_NAME) - 1) + }; + struct au_wh_base base[] = { + [AuBrWh_BASE] = { + .name = base_name + AuBrWh_BASE, + .dentry = NULL + }, + [AuBrWh_PLINK] = { + .name = base_name + AuBrWh_PLINK, + .dentry = NULL + }, + [AuBrWh_ORPH] = { + .name = base_name + AuBrWh_ORPH, + .dentry = NULL + } + }; + + if (wbr) + WbrWhMustWriteLock(wbr); + + for (i = 0; i < AuBrWh_Last; i++) { + /* doubly whiteouted */ + struct dentry *d; + + d = au_wh_lkup(h_root, (void *)base[i].name, br); + err = PTR_ERR(d); + if (IS_ERR(d)) + goto out; + + base[i].dentry = d; + AuDebugOn(wbr + && wbr->wbr_wh[i] + && wbr->wbr_wh[i] != base[i].dentry); + } + + if (wbr) + for (i = 0; i < AuBrWh_Last; i++) { + dput(wbr->wbr_wh[i]); + wbr->wbr_wh[i] = NULL; + } + + err = 0; + if (!au_br_writable(br->br_perm)) { + h_dir = h_root->d_inode; + au_wh_init_ro(h_dir, base, &path); + } else if (!au_br_wh_linkable(br->br_perm)) { + err = au_wh_init_rw_nolink(h_root, wbr, do_plink, base, &path); + if (err > 0) + goto out; + else if (err) + goto out_err; + } else { + err = au_wh_init_rw(h_root, wbr, do_plink, base, &path); + if (err > 0) + goto out; + else if (err) + goto out_err; + } + goto out; /* success */ + +out_err: + pr_err("an error(%d) on the writable branch %.*s(%s)\n", + err, AuDLNPair(h_root), au_sbtype(h_root->d_sb)); +out: + for (i = 0; i < AuBrWh_Last; i++) + dput(base[i].dentry); + return err; +} + +/* ---------------------------------------------------------------------- */ +/* + * whiteouts are all hard-linked usually. + * when its link count reaches a ceiling, we create a new whiteout base + * asynchronously. + */ + +struct reinit_br_wh { + struct super_block *sb; + struct au_branch *br; +}; + +static void reinit_br_wh(void *arg) +{ + int err; + aufs_bindex_t bindex; + struct path h_path; + struct reinit_br_wh *a = arg; + struct au_wbr *wbr; + struct inode *dir; + struct dentry *h_root; + struct au_hinode *hdir; + + err = 0; + wbr = a->br->br_wbr; + /* big aufs lock */ + si_noflush_write_lock(a->sb); + if (!au_br_writable(a->br->br_perm)) + goto out; + bindex = au_br_index(a->sb, a->br->br_id); + if (unlikely(bindex < 0)) + goto out; + + di_read_lock_parent(a->sb->s_root, AuLock_IR); + dir = a->sb->s_root->d_inode; + hdir = au_hi(dir, bindex); + h_root = au_h_dptr(a->sb->s_root, bindex); + + au_hn_imtx_lock_nested(hdir, AuLsc_I_PARENT); + wbr_wh_write_lock(wbr); + err = au_h_verify(wbr->wbr_whbase, au_opt_udba(a->sb), hdir->hi_inode, + h_root, a->br); + if (!err) { + err = mnt_want_write(a->br->br_mnt); + if (!err) { + h_path.dentry = wbr->wbr_whbase; + h_path.mnt = a->br->br_mnt; + err = vfsub_unlink(hdir->hi_inode, &h_path, /*force*/0); + mnt_drop_write(a->br->br_mnt); + } + } else { + pr_warn("%.*s is moved, ignored\n", + AuDLNPair(wbr->wbr_whbase)); + err = 0; + } + dput(wbr->wbr_whbase); + wbr->wbr_whbase = NULL; + if (!err) + err = au_wh_init(h_root, a->br, a->sb); + wbr_wh_write_unlock(wbr); + au_hn_imtx_unlock(hdir); + di_read_unlock(a->sb->s_root, AuLock_IR); + +out: + if (wbr) + atomic_dec(&wbr->wbr_wh_running); + atomic_dec(&a->br->br_count); + si_write_unlock(a->sb); + au_nwt_done(&au_sbi(a->sb)->si_nowait); + kfree(arg); + if (unlikely(err)) + AuIOErr("err %d\n", err); +} + +static void kick_reinit_br_wh(struct super_block *sb, struct au_branch *br) +{ + int do_dec, wkq_err; + struct reinit_br_wh *arg; + + do_dec = 1; + if (atomic_inc_return(&br->br_wbr->wbr_wh_running) != 1) + goto out; + + /* ignore ENOMEM */ + arg = kmalloc(sizeof(*arg), GFP_NOFS); + if (arg) { + /* + * dec(wh_running), kfree(arg) and dec(br_count) + * in reinit function + */ + arg->sb = sb; + arg->br = br; + atomic_inc(&br->br_count); + wkq_err = au_wkq_nowait(reinit_br_wh, arg, sb, /*flags*/0); + if (unlikely(wkq_err)) { + atomic_dec(&br->br_wbr->wbr_wh_running); + atomic_dec(&br->br_count); + kfree(arg); + } + do_dec = 0; + } + +out: + if (do_dec) + atomic_dec(&br->br_wbr->wbr_wh_running); +} + +/* ---------------------------------------------------------------------- */ + +/* + * create the whiteout @wh. + */ +static int link_or_create_wh(struct super_block *sb, aufs_bindex_t bindex, + struct dentry *wh) +{ + int err; + struct path h_path = { + .dentry = wh + }; + struct au_branch *br; + struct au_wbr *wbr; + struct dentry *h_parent; + struct inode *h_dir; + + h_parent = wh->d_parent; /* dir inode is locked */ + h_dir = h_parent->d_inode; + IMustLock(h_dir); + + br = au_sbr(sb, bindex); + h_path.mnt = br->br_mnt; + wbr = br->br_wbr; + wbr_wh_read_lock(wbr); + if (wbr->wbr_whbase) { + err = vfsub_link(wbr->wbr_whbase, h_dir, &h_path); + if (!err || err != -EMLINK) + goto out; + + /* link count full. re-initialize br_whbase. */ + kick_reinit_br_wh(sb, br); + } + + /* return this error in this context */ + err = vfsub_create(h_dir, &h_path, WH_MASK); + +out: + wbr_wh_read_unlock(wbr); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * create or remove the diropq. + */ +static struct dentry *do_diropq(struct dentry *dentry, aufs_bindex_t bindex, + unsigned int flags) +{ + struct dentry *opq_dentry, *h_dentry; + struct super_block *sb; + struct au_branch *br; + int err; + + sb = dentry->d_sb; + br = au_sbr(sb, bindex); + h_dentry = au_h_dptr(dentry, bindex); + opq_dentry = au_lkup_one(&diropq_name, h_dentry, br, /*nd*/NULL); + if (IS_ERR(opq_dentry)) + goto out; + + if (au_ftest_diropq(flags, CREATE)) { + err = link_or_create_wh(sb, bindex, opq_dentry); + if (!err) { + au_set_dbdiropq(dentry, bindex); + goto out; /* success */ + } + } else { + struct path tmp = { + .dentry = opq_dentry, + .mnt = br->br_mnt + }; + err = do_unlink_wh(au_h_iptr(dentry->d_inode, bindex), &tmp); + if (!err) + au_set_dbdiropq(dentry, -1); + } + dput(opq_dentry); + opq_dentry = ERR_PTR(err); + +out: + return opq_dentry; +} + +struct do_diropq_args { + struct dentry **errp; + struct dentry *dentry; + aufs_bindex_t bindex; + unsigned int flags; +}; + +static void call_do_diropq(void *args) +{ + struct do_diropq_args *a = args; + *a->errp = do_diropq(a->dentry, a->bindex, a->flags); +} + +struct dentry *au_diropq_sio(struct dentry *dentry, aufs_bindex_t bindex, + unsigned int flags) +{ + struct dentry *diropq, *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + if (!au_test_h_perm_sio(h_dentry->d_inode, MAY_EXEC | MAY_WRITE)) + diropq = do_diropq(dentry, bindex, flags); + else { + int wkq_err; + struct do_diropq_args args = { + .errp = &diropq, + .dentry = dentry, + .bindex = bindex, + .flags = flags + }; + + wkq_err = au_wkq_wait(call_do_diropq, &args); + if (unlikely(wkq_err)) + diropq = ERR_PTR(wkq_err); + } + + return diropq; +} + +/* ---------------------------------------------------------------------- */ + +/* + * lookup whiteout dentry. + * @h_parent: lower parent dentry which must exist and be locked + * @base_name: name of dentry which will be whiteouted + * returns dentry for whiteout. + */ +struct dentry *au_wh_lkup(struct dentry *h_parent, struct qstr *base_name, + struct au_branch *br) +{ + int err; + struct qstr wh_name; + struct dentry *wh_dentry; + + err = au_wh_name_alloc(&wh_name, base_name); + wh_dentry = ERR_PTR(err); + if (!err) { + wh_dentry = au_lkup_one(&wh_name, h_parent, br, /*nd*/NULL); + kfree(wh_name.name); + } + return wh_dentry; +} + +/* + * link/create a whiteout for @dentry on @bindex. + */ +struct dentry *au_wh_create(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent) +{ + struct dentry *wh_dentry; + struct super_block *sb; + int err; + + sb = dentry->d_sb; + wh_dentry = au_wh_lkup(h_parent, &dentry->d_name, au_sbr(sb, bindex)); + if (!IS_ERR(wh_dentry) && !wh_dentry->d_inode) { + err = link_or_create_wh(sb, bindex, wh_dentry); + if (!err) + au_set_dbwh(dentry, bindex); + else { + dput(wh_dentry); + wh_dentry = ERR_PTR(err); + } + } + + return wh_dentry; +} + +/* ---------------------------------------------------------------------- */ + +/* Delete all whiteouts in this directory on branch bindex. */ +static int del_wh_children(struct dentry *h_dentry, struct au_nhash *whlist, + aufs_bindex_t bindex, struct au_branch *br) +{ + int err; + unsigned long ul, n; + struct qstr wh_name; + char *p; + struct hlist_head *head; + struct au_vdir_wh *tpos; + struct hlist_node *pos; + struct au_vdir_destr *str; + + err = -ENOMEM; + p = __getname_gfp(GFP_NOFS); + wh_name.name = p; + if (unlikely(!wh_name.name)) + goto out; + + err = 0; + memcpy(p, AUFS_WH_PFX, AUFS_WH_PFX_LEN); + p += AUFS_WH_PFX_LEN; + n = whlist->nh_num; + head = whlist->nh_head; + for (ul = 0; !err && ul < n; ul++, head++) { + hlist_for_each_entry(tpos, pos, head, wh_hash) { + if (tpos->wh_bindex != bindex) + continue; + + str = &tpos->wh_str; + if (str->len + AUFS_WH_PFX_LEN <= PATH_MAX) { + memcpy(p, str->name, str->len); + wh_name.len = AUFS_WH_PFX_LEN + str->len; + err = unlink_wh_name(h_dentry, &wh_name, br); + if (!err) + continue; + break; + } + AuIOErr("whiteout name too long %.*s\n", + str->len, str->name); + err = -EIO; + break; + } + } + __putname(wh_name.name); + +out: + return err; +} + +struct del_wh_children_args { + int *errp; + struct dentry *h_dentry; + struct au_nhash *whlist; + aufs_bindex_t bindex; + struct au_branch *br; +}; + +static void call_del_wh_children(void *args) +{ + struct del_wh_children_args *a = args; + *a->errp = del_wh_children(a->h_dentry, a->whlist, a->bindex, a->br); +} + +/* ---------------------------------------------------------------------- */ + +struct au_whtmp_rmdir *au_whtmp_rmdir_alloc(struct super_block *sb, gfp_t gfp) +{ + struct au_whtmp_rmdir *whtmp; + int err; + unsigned int rdhash; + + SiMustAnyLock(sb); + + whtmp = kmalloc(sizeof(*whtmp), gfp); + if (unlikely(!whtmp)) { + whtmp = ERR_PTR(-ENOMEM); + goto out; + } + + whtmp->dir = NULL; + whtmp->br = NULL; + whtmp->wh_dentry = NULL; + /* no estimation for dir size */ + rdhash = au_sbi(sb)->si_rdhash; + if (!rdhash) + rdhash = AUFS_RDHASH_DEF; + err = au_nhash_alloc(&whtmp->whlist, rdhash, gfp); + if (unlikely(err)) { + kfree(whtmp); + whtmp = ERR_PTR(err); + } + +out: + return whtmp; +} + +void au_whtmp_rmdir_free(struct au_whtmp_rmdir *whtmp) +{ + if (whtmp->br) + atomic_dec(&whtmp->br->br_count); + dput(whtmp->wh_dentry); + iput(whtmp->dir); + au_nhash_wh_free(&whtmp->whlist); + kfree(whtmp); +} + +/* + * rmdir the whiteouted temporary named dir @h_dentry. + * @whlist: whiteouted children. + */ +int au_whtmp_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_nhash *whlist) +{ + int err; + struct path h_tmp; + struct inode *wh_inode, *h_dir; + struct au_branch *br; + + h_dir = wh_dentry->d_parent->d_inode; /* dir inode is locked */ + IMustLock(h_dir); + + br = au_sbr(dir->i_sb, bindex); + wh_inode = wh_dentry->d_inode; + mutex_lock_nested(&wh_inode->i_mutex, AuLsc_I_CHILD); + + /* + * someone else might change some whiteouts while we were sleeping. + * it means this whlist may have an obsoleted entry. + */ + if (!au_test_h_perm_sio(wh_inode, MAY_EXEC | MAY_WRITE)) + err = del_wh_children(wh_dentry, whlist, bindex, br); + else { + int wkq_err; + struct del_wh_children_args args = { + .errp = &err, + .h_dentry = wh_dentry, + .whlist = whlist, + .bindex = bindex, + .br = br + }; + + wkq_err = au_wkq_wait(call_del_wh_children, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + mutex_unlock(&wh_inode->i_mutex); + + if (!err) { + h_tmp.dentry = wh_dentry; + h_tmp.mnt = br->br_mnt; + err = vfsub_rmdir(h_dir, &h_tmp); + } + + if (!err) { + if (au_ibstart(dir) == bindex) { + /* todo: dir->i_mutex is necessary */ + au_cpup_attr_timesizes(dir); + vfsub_drop_nlink(dir); + } + return 0; /* success */ + } + + pr_warn("failed removing %.*s(%d), ignored\n", + AuDLNPair(wh_dentry), err); + return err; +} + +static void call_rmdir_whtmp(void *args) +{ + int err; + aufs_bindex_t bindex; + struct au_whtmp_rmdir *a = args; + struct super_block *sb; + struct dentry *h_parent; + struct inode *h_dir; + struct au_hinode *hdir; + + /* rmdir by nfsd may cause deadlock with this i_mutex */ + /* mutex_lock(&a->dir->i_mutex); */ + err = -EROFS; + sb = a->dir->i_sb; + si_read_lock(sb, !AuLock_FLUSH); + if (!au_br_writable(a->br->br_perm)) + goto out; + bindex = au_br_index(sb, a->br->br_id); + if (unlikely(bindex < 0)) + goto out; + + err = -EIO; + ii_write_lock_parent(a->dir); + h_parent = dget_parent(a->wh_dentry); + h_dir = h_parent->d_inode; + hdir = au_hi(a->dir, bindex); + au_hn_imtx_lock_nested(hdir, AuLsc_I_PARENT); + err = au_h_verify(a->wh_dentry, au_opt_udba(sb), h_dir, h_parent, + a->br); + if (!err) { + err = mnt_want_write(a->br->br_mnt); + if (!err) { + err = au_whtmp_rmdir(a->dir, bindex, a->wh_dentry, + &a->whlist); + mnt_drop_write(a->br->br_mnt); + } + } + au_hn_imtx_unlock(hdir); + dput(h_parent); + ii_write_unlock(a->dir); + +out: + /* mutex_unlock(&a->dir->i_mutex); */ + au_whtmp_rmdir_free(a); + si_read_unlock(sb); + au_nwt_done(&au_sbi(sb)->si_nowait); + if (unlikely(err)) + AuIOErr("err %d\n", err); +} + +void au_whtmp_kick_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_whtmp_rmdir *args) +{ + int wkq_err; + struct super_block *sb; + + IMustLock(dir); + + /* all post-process will be done in do_rmdir_whtmp(). */ + sb = dir->i_sb; + args->dir = au_igrab(dir); + args->br = au_sbr(sb, bindex); + atomic_inc(&args->br->br_count); + args->wh_dentry = dget(wh_dentry); + wkq_err = au_wkq_nowait(call_rmdir_whtmp, args, sb, /*flags*/0); + if (unlikely(wkq_err)) { + pr_warn("rmdir error %.*s (%d), ignored\n", + AuDLNPair(wh_dentry), wkq_err); + au_whtmp_rmdir_free(args); + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/whout.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/whout.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * whiteout for logical deletion and opaque directory + */ + +#ifndef __AUFS_WHOUT_H__ +#define __AUFS_WHOUT_H__ + +#ifdef __KERNEL__ + +#include "dir.h" + +/* whout.c */ +int au_wh_name_alloc(struct qstr *wh, const struct qstr *name); +struct au_branch; +int au_wh_test(struct dentry *h_parent, struct qstr *wh_name, + struct au_branch *br, int try_sio); +int au_diropq_test(struct dentry *h_dentry, struct au_branch *br); +struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br, + struct qstr *prefix); +int au_whtmp_ren(struct dentry *h_dentry, struct au_branch *br); +int au_wh_unlink_dentry(struct inode *h_dir, struct path *h_path, + struct dentry *dentry); +int au_wh_init(struct dentry *h_parent, struct au_branch *br, + struct super_block *sb); + +/* diropq flags */ +#define AuDiropq_CREATE 1 +#define au_ftest_diropq(flags, name) ((flags) & AuDiropq_##name) +#define au_fset_diropq(flags, name) \ + do { (flags) |= AuDiropq_##name; } while (0) +#define au_fclr_diropq(flags, name) \ + do { (flags) &= ~AuDiropq_##name; } while (0) + +struct dentry *au_diropq_sio(struct dentry *dentry, aufs_bindex_t bindex, + unsigned int flags); +struct dentry *au_wh_lkup(struct dentry *h_parent, struct qstr *base_name, + struct au_branch *br); +struct dentry *au_wh_create(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent); + +/* real rmdir for the whiteout-ed dir */ +struct au_whtmp_rmdir { + struct inode *dir; + struct au_branch *br; + struct dentry *wh_dentry; + struct au_nhash whlist; +}; + +struct au_whtmp_rmdir *au_whtmp_rmdir_alloc(struct super_block *sb, gfp_t gfp); +void au_whtmp_rmdir_free(struct au_whtmp_rmdir *whtmp); +int au_whtmp_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_nhash *whlist); +void au_whtmp_kick_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_whtmp_rmdir *args); + +/* ---------------------------------------------------------------------- */ + +static inline struct dentry *au_diropq_create(struct dentry *dentry, + aufs_bindex_t bindex) +{ + return au_diropq_sio(dentry, bindex, AuDiropq_CREATE); +} + +static inline int au_diropq_remove(struct dentry *dentry, aufs_bindex_t bindex) +{ + return PTR_ERR(au_diropq_sio(dentry, bindex, !AuDiropq_CREATE)); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_WHOUT_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/wkq.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/wkq.c @@ -0,0 +1,214 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * workqueue for asynchronous/super-io operations + * todo: try new dredential scheme + */ + +#include +#include "aufs.h" + +/* internal workqueue named AUFS_WKQ_NAME */ + +static struct workqueue_struct *au_wkq; + +struct au_wkinfo { + struct work_struct wk; + struct kobject *kobj; + + unsigned int flags; /* see wkq.h */ + + au_wkq_func_t func; + void *args; + + struct completion *comp; +}; + +/* ---------------------------------------------------------------------- */ + +static void wkq_func(struct work_struct *wk) +{ + struct au_wkinfo *wkinfo = container_of(wk, struct au_wkinfo, wk); + + AuDebugOn(!uid_eq(current_fsuid(), GLOBAL_ROOT_UID)); + AuDebugOn(rlimit(RLIMIT_FSIZE) != RLIM_INFINITY); + + wkinfo->func(wkinfo->args); + if (au_ftest_wkq(wkinfo->flags, WAIT)) + complete(wkinfo->comp); + else { + kobject_put(wkinfo->kobj); + module_put(THIS_MODULE); /* todo: ?? */ + kfree(wkinfo); + } +} + +/* + * Since struct completion is large, try allocating it dynamically. + */ +#if defined(CONFIG_4KSTACKS) || defined(AuTest4KSTACKS) +#define AuWkqCompDeclare(name) struct completion *comp = NULL + +static int au_wkq_comp_alloc(struct au_wkinfo *wkinfo, struct completion **comp) +{ + *comp = kmalloc(sizeof(**comp), GFP_NOFS); + if (*comp) { + init_completion(*comp); + wkinfo->comp = *comp; + return 0; + } + return -ENOMEM; +} + +static void au_wkq_comp_free(struct completion *comp) +{ + kfree(comp); +} + +#else + +/* no braces */ +#define AuWkqCompDeclare(name) \ + DECLARE_COMPLETION_ONSTACK(_ ## name); \ + struct completion *comp = &_ ## name + +static int au_wkq_comp_alloc(struct au_wkinfo *wkinfo, struct completion **comp) +{ + wkinfo->comp = *comp; + return 0; +} + +static void au_wkq_comp_free(struct completion *comp __maybe_unused) +{ + /* empty */ +} +#endif /* 4KSTACKS */ + +static void au_wkq_run(struct au_wkinfo *wkinfo) +{ + if (au_ftest_wkq(wkinfo->flags, NEST)) { + if (au_wkq_test()) { + AuWarn1("wkq from wkq, due to a dead dir by UDBA?\n"); + AuDebugOn(au_ftest_wkq(wkinfo->flags, WAIT)); + } + } else + au_dbg_verify_kthread(); + + if (au_ftest_wkq(wkinfo->flags, WAIT)) { + INIT_WORK_ONSTACK(&wkinfo->wk, wkq_func); + queue_work(au_wkq, &wkinfo->wk); + } else { + INIT_WORK(&wkinfo->wk, wkq_func); + schedule_work(&wkinfo->wk); + } +} + +/* + * Be careful. It is easy to make deadlock happen. + * processA: lock, wkq and wait + * processB: wkq and wait, lock in wkq + * --> deadlock + */ +int au_wkq_do_wait(unsigned int flags, au_wkq_func_t func, void *args) +{ + int err; + AuWkqCompDeclare(comp); + struct au_wkinfo wkinfo = { + .flags = flags, + .func = func, + .args = args + }; + + err = au_wkq_comp_alloc(&wkinfo, &comp); + if (!err) { + au_wkq_run(&wkinfo); + /* no timeout, no interrupt */ + wait_for_completion(wkinfo.comp); + au_wkq_comp_free(comp); + destroy_work_on_stack(&wkinfo.wk); + } + + return err; + +} + +/* + * Note: dget/dput() in func for aufs dentries are not supported. It will be a + * problem in a concurrent umounting. + */ +int au_wkq_nowait(au_wkq_func_t func, void *args, struct super_block *sb, + unsigned int flags) +{ + int err; + struct au_wkinfo *wkinfo; + + atomic_inc(&au_sbi(sb)->si_nowait.nw_len); + + /* + * wkq_func() must free this wkinfo. + * it highly depends upon the implementation of workqueue. + */ + err = 0; + wkinfo = kmalloc(sizeof(*wkinfo), GFP_NOFS); + if (wkinfo) { + wkinfo->kobj = &au_sbi(sb)->si_kobj; + wkinfo->flags = flags & ~AuWkq_WAIT; + wkinfo->func = func; + wkinfo->args = args; + wkinfo->comp = NULL; + kobject_get(wkinfo->kobj); + __module_get(THIS_MODULE); /* todo: ?? */ + + au_wkq_run(wkinfo); + } else { + err = -ENOMEM; + au_nwt_done(&au_sbi(sb)->si_nowait); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_nwt_init(struct au_nowait_tasks *nwt) +{ + atomic_set(&nwt->nw_len, 0); + /* smp_mb(); */ /* atomic_set */ + init_waitqueue_head(&nwt->nw_wq); +} + +void au_wkq_fin(void) +{ + destroy_workqueue(au_wkq); +} + +int __init au_wkq_init(void) +{ + int err; + + err = 0; + BUILD_BUG_ON(!WQ_RESCUER); + au_wkq = alloc_workqueue(AUFS_WKQ_NAME, !WQ_RESCUER, WQ_DFL_ACTIVE); + if (IS_ERR(au_wkq)) + err = PTR_ERR(au_wkq); + else if (!au_wkq) + err = -ENOMEM; + + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/wkq.h +++ linux-lowlatency-3.5.0/ubuntu/aufs/wkq.h @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * workqueue for asynchronous/super-io operations + * todo: try new credentials management scheme + */ + +#ifndef __AUFS_WKQ_H__ +#define __AUFS_WKQ_H__ + +#ifdef __KERNEL__ + +struct super_block; + +/* ---------------------------------------------------------------------- */ + +/* + * in the next operation, wait for the 'nowait' tasks in system-wide workqueue + */ +struct au_nowait_tasks { + atomic_t nw_len; + wait_queue_head_t nw_wq; +}; + +/* ---------------------------------------------------------------------- */ + +typedef void (*au_wkq_func_t)(void *args); + +/* wkq flags */ +#define AuWkq_WAIT 1 +#define AuWkq_NEST (1 << 1) +#define au_ftest_wkq(flags, name) ((flags) & AuWkq_##name) +#define au_fset_wkq(flags, name) \ + do { (flags) |= AuWkq_##name; } while (0) +#define au_fclr_wkq(flags, name) \ + do { (flags) &= ~AuWkq_##name; } while (0) + +#ifndef CONFIG_AUFS_HNOTIFY +#undef AuWkq_NEST +#define AuWkq_NEST 0 +#endif + +/* wkq.c */ +int au_wkq_do_wait(unsigned int flags, au_wkq_func_t func, void *args); +int au_wkq_nowait(au_wkq_func_t func, void *args, struct super_block *sb, + unsigned int flags); +void au_nwt_init(struct au_nowait_tasks *nwt); +int __init au_wkq_init(void); +void au_wkq_fin(void); + +/* ---------------------------------------------------------------------- */ + +static inline int au_wkq_test(void) +{ + return current->flags & PF_WQ_WORKER; +} + +static inline int au_wkq_wait(au_wkq_func_t func, void *args) +{ + return au_wkq_do_wait(AuWkq_WAIT, func, args); +} + +static inline void au_nwt_done(struct au_nowait_tasks *nwt) +{ + if (atomic_dec_and_test(&nwt->nw_len)) + wake_up_all(&nwt->nw_wq); +} + +static inline int au_nwt_flush(struct au_nowait_tasks *nwt) +{ + wait_event(nwt->nw_wq, !atomic_read(&nwt->nw_len)); + return 0; +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_WKQ_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/aufs/xino.c +++ linux-lowlatency-3.5.0/ubuntu/aufs/xino.c @@ -0,0 +1,1264 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * external inode number translation table and bitmap + */ + +#include +#include "aufs.h" + +/* todo: unnecessary to support mmap_sem since kernel-space? */ +ssize_t xino_fread(au_readf_t func, struct file *file, void *kbuf, size_t size, + loff_t *pos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + char __user *u; + } buf; + + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + do { + /* todo: signal_pending? */ + err = func(file, buf.u, size, pos); + } while (err == -EAGAIN || err == -EINTR); + set_fs(oldfs); + +#if 0 /* reserved for future use */ + if (err > 0) + fsnotify_access(file->f_dentry); +#endif + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static ssize_t do_xino_fwrite(au_writef_t func, struct file *file, void *kbuf, + size_t size, loff_t *pos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + const char __user *u; + } buf; + + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + do { + /* todo: signal_pending? */ + err = func(file, buf.u, size, pos); + } while (err == -EAGAIN || err == -EINTR); + set_fs(oldfs); + +#if 0 /* reserved for future use */ + if (err > 0) + fsnotify_modify(file->f_dentry); +#endif + + return err; +} + +struct do_xino_fwrite_args { + ssize_t *errp; + au_writef_t func; + struct file *file; + void *buf; + size_t size; + loff_t *pos; +}; + +static void call_do_xino_fwrite(void *args) +{ + struct do_xino_fwrite_args *a = args; + *a->errp = do_xino_fwrite(a->func, a->file, a->buf, a->size, a->pos); +} + +ssize_t xino_fwrite(au_writef_t func, struct file *file, void *buf, size_t size, + loff_t *pos) +{ + ssize_t err; + + /* todo: signal block and no wkq? */ + if (rlimit(RLIMIT_FSIZE) == RLIM_INFINITY) { + lockdep_off(); + err = do_xino_fwrite(func, file, buf, size, pos); + lockdep_on(); + } else { + /* + * it breaks RLIMIT_FSIZE and normal user's limit, + * users should care about quota and real 'filesystem full.' + */ + int wkq_err; + struct do_xino_fwrite_args args = { + .errp = &err, + .func = func, + .file = file, + .buf = buf, + .size = size, + .pos = pos + }; + + wkq_err = au_wkq_wait(call_do_xino_fwrite, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * create a new xinofile at the same place/path as @base_file. + */ +struct file *au_xino_create2(struct file *base_file, struct file *copy_src) +{ + struct file *file; + struct dentry *base, *parent; + struct inode *dir; + struct qstr *name; + struct path path; + int err; + + base = base_file->f_dentry; + parent = base->d_parent; /* dir inode is locked */ + dir = parent->d_inode; + IMustLock(dir); + + file = ERR_PTR(-EINVAL); + name = &base->d_name; + path.dentry = vfsub_lookup_one_len(name->name, parent, name->len); + if (IS_ERR(path.dentry)) { + file = (void *)path.dentry; + pr_err("%.*s lookup err %ld\n", + AuLNPair(name), PTR_ERR(path.dentry)); + goto out; + } + + /* no need to mnt_want_write() since we call dentry_open() later */ + err = vfs_create(dir, path.dentry, S_IRUGO | S_IWUGO, NULL); + if (unlikely(err)) { + file = ERR_PTR(err); + pr_err("%.*s create err %d\n", AuLNPair(name), err); + goto out_dput; + } + + path.mnt = base_file->f_vfsmnt; + file = vfsub_dentry_open(&path, + O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE + /* | __FMODE_NONOTIFY */); + if (IS_ERR(file)) { + pr_err("%.*s open err %ld\n", AuLNPair(name), PTR_ERR(file)); + goto out_dput; + } + + err = vfsub_unlink(dir, &file->f_path, /*force*/0); + if (unlikely(err)) { + pr_err("%.*s unlink err %d\n", AuLNPair(name), err); + goto out_fput; + } + + if (copy_src) { + /* no one can touch copy_src xino */ + err = au_copy_file(file, copy_src, + i_size_read(copy_src->f_dentry->d_inode)); + if (unlikely(err)) { + pr_err("%.*s copy err %d\n", AuLNPair(name), err); + goto out_fput; + } + } + goto out_dput; /* success */ + +out_fput: + fput(file); + file = ERR_PTR(err); +out_dput: + dput(path.dentry); +out: + return file; +} + +struct au_xino_lock_dir { + struct au_hinode *hdir; + struct dentry *parent; + struct mutex *mtx; +}; + +static void au_xino_lock_dir(struct super_block *sb, struct file *xino, + struct au_xino_lock_dir *ldir) +{ + aufs_bindex_t brid, bindex; + + ldir->hdir = NULL; + bindex = -1; + brid = au_xino_brid(sb); + if (brid >= 0) + bindex = au_br_index(sb, brid); + if (bindex >= 0) { + ldir->hdir = au_hi(sb->s_root->d_inode, bindex); + au_hn_imtx_lock_nested(ldir->hdir, AuLsc_I_PARENT); + } else { + ldir->parent = dget_parent(xino->f_dentry); + ldir->mtx = &ldir->parent->d_inode->i_mutex; + mutex_lock_nested(ldir->mtx, AuLsc_I_PARENT); + } +} + +static void au_xino_unlock_dir(struct au_xino_lock_dir *ldir) +{ + if (ldir->hdir) + au_hn_imtx_unlock(ldir->hdir); + else { + mutex_unlock(ldir->mtx); + dput(ldir->parent); + } +} + +/* ---------------------------------------------------------------------- */ + +/* trucate xino files asynchronously */ + +int au_xino_trunc(struct super_block *sb, aufs_bindex_t bindex) +{ + int err; + aufs_bindex_t bi, bend; + struct au_branch *br; + struct file *new_xino, *file; + struct super_block *h_sb; + struct au_xino_lock_dir ldir; + + err = -EINVAL; + bend = au_sbend(sb); + if (unlikely(bindex < 0 || bend < bindex)) + goto out; + br = au_sbr(sb, bindex); + file = br->br_xino.xi_file; + if (!file) + goto out; + + au_xino_lock_dir(sb, file, &ldir); + /* mnt_want_write() is unnecessary here */ + new_xino = au_xino_create2(file, file); + au_xino_unlock_dir(&ldir); + err = PTR_ERR(new_xino); + if (IS_ERR(new_xino)) + goto out; + err = 0; + fput(file); + br->br_xino.xi_file = new_xino; + + h_sb = br->br_mnt->mnt_sb; + for (bi = 0; bi <= bend; bi++) { + if (unlikely(bi == bindex)) + continue; + br = au_sbr(sb, bi); + if (br->br_mnt->mnt_sb != h_sb) + continue; + + fput(br->br_xino.xi_file); + br->br_xino.xi_file = new_xino; + get_file(new_xino); + } + +out: + return err; +} + +struct xino_do_trunc_args { + struct super_block *sb; + struct au_branch *br; +}; + +static void xino_do_trunc(void *_args) +{ + struct xino_do_trunc_args *args = _args; + struct super_block *sb; + struct au_branch *br; + struct inode *dir; + int err; + aufs_bindex_t bindex; + + err = 0; + sb = args->sb; + dir = sb->s_root->d_inode; + br = args->br; + + si_noflush_write_lock(sb); + ii_read_lock_parent(dir); + bindex = au_br_index(sb, br->br_id); + err = au_xino_trunc(sb, bindex); + if (!err + && br->br_xino.xi_file->f_dentry->d_inode->i_blocks + >= br->br_xino_upper) + br->br_xino_upper += AUFS_XINO_TRUNC_STEP; + + ii_read_unlock(dir); + if (unlikely(err)) + pr_warn("err b%d, (%d)\n", bindex, err); + atomic_dec(&br->br_xino_running); + atomic_dec(&br->br_count); + si_write_unlock(sb); + au_nwt_done(&au_sbi(sb)->si_nowait); + kfree(args); +} + +static void xino_try_trunc(struct super_block *sb, struct au_branch *br) +{ + struct xino_do_trunc_args *args; + int wkq_err; + + if (br->br_xino.xi_file->f_dentry->d_inode->i_blocks + < br->br_xino_upper) + return; + + if (atomic_inc_return(&br->br_xino_running) > 1) + goto out; + + /* lock and kfree() will be called in trunc_xino() */ + args = kmalloc(sizeof(*args), GFP_NOFS); + if (unlikely(!args)) { + AuErr1("no memory\n"); + goto out_args; + } + + atomic_inc(&br->br_count); + args->sb = sb; + args->br = br; + wkq_err = au_wkq_nowait(xino_do_trunc, args, sb, /*flags*/0); + if (!wkq_err) + return; /* success */ + + pr_err("wkq %d\n", wkq_err); + atomic_dec(&br->br_count); + +out_args: + kfree(args); +out: + atomic_dec(&br->br_xino_running); +} + +/* ---------------------------------------------------------------------- */ + +static int au_xino_do_write(au_writef_t write, struct file *file, + ino_t h_ino, ino_t ino) +{ + loff_t pos; + ssize_t sz; + + pos = h_ino; + if (unlikely(au_loff_max / sizeof(ino) - 1 < pos)) { + AuIOErr1("too large hi%lu\n", (unsigned long)h_ino); + return -EFBIG; + } + pos *= sizeof(ino); + sz = xino_fwrite(write, file, &ino, sizeof(ino), &pos); + if (sz == sizeof(ino)) + return 0; /* success */ + + AuIOErr("write failed (%zd)\n", sz); + return -EIO; +} + +/* + * write @ino to the xinofile for the specified branch{@sb, @bindex} + * at the position of @h_ino. + * even if @ino is zero, it is written to the xinofile and means no entry. + * if the size of the xino file on a specific filesystem exceeds the watermark, + * try truncating it. + */ +int au_xino_write(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t ino) +{ + int err; + unsigned int mnt_flags; + struct au_branch *br; + + BUILD_BUG_ON(sizeof(long long) != sizeof(au_loff_max) + || ((loff_t)-1) > 0); + SiMustAnyLock(sb); + + mnt_flags = au_mntflags(sb); + if (!au_opt_test(mnt_flags, XINO)) + return 0; + + br = au_sbr(sb, bindex); + err = au_xino_do_write(au_sbi(sb)->si_xwrite, br->br_xino.xi_file, + h_ino, ino); + if (!err) { + if (au_opt_test(mnt_flags, TRUNC_XINO) + && au_test_fs_trunc_xino(br->br_mnt->mnt_sb)) + xino_try_trunc(sb, br); + return 0; /* success */ + } + + AuIOErr("write failed (%d)\n", err); + return -EIO; +} + +/* ---------------------------------------------------------------------- */ + +/* aufs inode number bitmap */ + +static const int page_bits = (int)PAGE_SIZE * BITS_PER_BYTE; +static ino_t xib_calc_ino(unsigned long pindex, int bit) +{ + ino_t ino; + + AuDebugOn(bit < 0 || page_bits <= bit); + ino = AUFS_FIRST_INO + pindex * page_bits + bit; + return ino; +} + +static void xib_calc_bit(ino_t ino, unsigned long *pindex, int *bit) +{ + AuDebugOn(ino < AUFS_FIRST_INO); + ino -= AUFS_FIRST_INO; + *pindex = ino / page_bits; + *bit = ino % page_bits; +} + +static int xib_pindex(struct super_block *sb, unsigned long pindex) +{ + int err; + loff_t pos; + ssize_t sz; + struct au_sbinfo *sbinfo; + struct file *xib; + unsigned long *p; + + sbinfo = au_sbi(sb); + MtxMustLock(&sbinfo->si_xib_mtx); + AuDebugOn(pindex > ULONG_MAX / PAGE_SIZE + || !au_opt_test(sbinfo->si_mntflags, XINO)); + + if (pindex == sbinfo->si_xib_last_pindex) + return 0; + + xib = sbinfo->si_xib; + p = sbinfo->si_xib_buf; + pos = sbinfo->si_xib_last_pindex; + pos *= PAGE_SIZE; + sz = xino_fwrite(sbinfo->si_xwrite, xib, p, PAGE_SIZE, &pos); + if (unlikely(sz != PAGE_SIZE)) + goto out; + + pos = pindex; + pos *= PAGE_SIZE; + if (i_size_read(xib->f_dentry->d_inode) >= pos + PAGE_SIZE) + sz = xino_fread(sbinfo->si_xread, xib, p, PAGE_SIZE, &pos); + else { + memset(p, 0, PAGE_SIZE); + sz = xino_fwrite(sbinfo->si_xwrite, xib, p, PAGE_SIZE, &pos); + } + if (sz == PAGE_SIZE) { + sbinfo->si_xib_last_pindex = pindex; + return 0; /* success */ + } + +out: + AuIOErr1("write failed (%zd)\n", sz); + err = sz; + if (sz >= 0) + err = -EIO; + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void au_xib_clear_bit(struct inode *inode) +{ + int err, bit; + unsigned long pindex; + struct super_block *sb; + struct au_sbinfo *sbinfo; + + AuDebugOn(inode->i_nlink); + + sb = inode->i_sb; + xib_calc_bit(inode->i_ino, &pindex, &bit); + AuDebugOn(page_bits <= bit); + sbinfo = au_sbi(sb); + mutex_lock(&sbinfo->si_xib_mtx); + err = xib_pindex(sb, pindex); + if (!err) { + clear_bit(bit, sbinfo->si_xib_buf); + sbinfo->si_xib_next_bit = bit; + } + mutex_unlock(&sbinfo->si_xib_mtx); +} + +/* for s_op->delete_inode() */ +void au_xino_delete_inode(struct inode *inode, const int unlinked) +{ + int err; + unsigned int mnt_flags; + aufs_bindex_t bindex, bend, bi; + unsigned char try_trunc; + struct au_iinfo *iinfo; + struct super_block *sb; + struct au_hinode *hi; + struct inode *h_inode; + struct au_branch *br; + au_writef_t xwrite; + + sb = inode->i_sb; + mnt_flags = au_mntflags(sb); + if (!au_opt_test(mnt_flags, XINO) + || inode->i_ino == AUFS_ROOT_INO) + return; + + if (unlinked) { + au_xigen_inc(inode); + au_xib_clear_bit(inode); + } + + iinfo = au_ii(inode); + if (!iinfo) + return; + + bindex = iinfo->ii_bstart; + if (bindex < 0) + return; + + xwrite = au_sbi(sb)->si_xwrite; + try_trunc = !!au_opt_test(mnt_flags, TRUNC_XINO); + hi = iinfo->ii_hinode + bindex; + bend = iinfo->ii_bend; + for (; bindex <= bend; bindex++, hi++) { + h_inode = hi->hi_inode; + if (!h_inode + || (!unlinked && h_inode->i_nlink)) + continue; + + /* inode may not be revalidated */ + bi = au_br_index(sb, hi->hi_id); + if (bi < 0) + continue; + + br = au_sbr(sb, bi); + err = au_xino_do_write(xwrite, br->br_xino.xi_file, + h_inode->i_ino, /*ino*/0); + if (!err && try_trunc + && au_test_fs_trunc_xino(br->br_mnt->mnt_sb)) + xino_try_trunc(sb, br); + } +} + +/* get an unused inode number from bitmap */ +ino_t au_xino_new_ino(struct super_block *sb) +{ + ino_t ino; + unsigned long *p, pindex, ul, pend; + struct au_sbinfo *sbinfo; + struct file *file; + int free_bit, err; + + if (!au_opt_test(au_mntflags(sb), XINO)) + return iunique(sb, AUFS_FIRST_INO); + + sbinfo = au_sbi(sb); + mutex_lock(&sbinfo->si_xib_mtx); + p = sbinfo->si_xib_buf; + free_bit = sbinfo->si_xib_next_bit; + if (free_bit < page_bits && !test_bit(free_bit, p)) + goto out; /* success */ + free_bit = find_first_zero_bit(p, page_bits); + if (free_bit < page_bits) + goto out; /* success */ + + pindex = sbinfo->si_xib_last_pindex; + for (ul = pindex - 1; ul < ULONG_MAX; ul--) { + err = xib_pindex(sb, ul); + if (unlikely(err)) + goto out_err; + free_bit = find_first_zero_bit(p, page_bits); + if (free_bit < page_bits) + goto out; /* success */ + } + + file = sbinfo->si_xib; + pend = i_size_read(file->f_dentry->d_inode) / PAGE_SIZE; + for (ul = pindex + 1; ul <= pend; ul++) { + err = xib_pindex(sb, ul); + if (unlikely(err)) + goto out_err; + free_bit = find_first_zero_bit(p, page_bits); + if (free_bit < page_bits) + goto out; /* success */ + } + BUG(); + +out: + set_bit(free_bit, p); + sbinfo->si_xib_next_bit = free_bit + 1; + pindex = sbinfo->si_xib_last_pindex; + mutex_unlock(&sbinfo->si_xib_mtx); + ino = xib_calc_ino(pindex, free_bit); + AuDbg("i%lu\n", (unsigned long)ino); + return ino; +out_err: + mutex_unlock(&sbinfo->si_xib_mtx); + AuDbg("i0\n"); + return 0; +} + +/* + * read @ino from xinofile for the specified branch{@sb, @bindex} + * at the position of @h_ino. + * if @ino does not exist and @do_new is true, get new one. + */ +int au_xino_read(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t *ino) +{ + int err; + ssize_t sz; + loff_t pos; + struct file *file; + struct au_sbinfo *sbinfo; + + *ino = 0; + if (!au_opt_test(au_mntflags(sb), XINO)) + return 0; /* no xino */ + + err = 0; + sbinfo = au_sbi(sb); + pos = h_ino; + if (unlikely(au_loff_max / sizeof(*ino) - 1 < pos)) { + AuIOErr1("too large hi%lu\n", (unsigned long)h_ino); + return -EFBIG; + } + pos *= sizeof(*ino); + + file = au_sbr(sb, bindex)->br_xino.xi_file; + if (i_size_read(file->f_dentry->d_inode) < pos + sizeof(*ino)) + return 0; /* no ino */ + + sz = xino_fread(sbinfo->si_xread, file, ino, sizeof(*ino), &pos); + if (sz == sizeof(*ino)) + return 0; /* success */ + + err = sz; + if (unlikely(sz >= 0)) { + err = -EIO; + AuIOErr("xino read error (%zd)\n", sz); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* create and set a new xino file */ + +struct file *au_xino_create(struct super_block *sb, char *fname, int silent) +{ + struct file *file; + struct dentry *h_parent, *d; + struct inode *h_dir; + int err; + + /* + * at mount-time, and the xino file is the default path, + * hnotify is disabled so we have no notify events to ignore. + * when a user specified the xino, we cannot get au_hdir to be ignored. + */ + file = vfsub_filp_open(fname, O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE + /* | __FMODE_NONOTIFY */, + S_IRUGO | S_IWUGO); + if (IS_ERR(file)) { + if (!silent) + pr_err("open %s(%ld)\n", fname, PTR_ERR(file)); + return file; + } + + /* keep file count */ + h_parent = dget_parent(file->f_dentry); + h_dir = h_parent->d_inode; + mutex_lock_nested(&h_dir->i_mutex, AuLsc_I_PARENT); + /* mnt_want_write() is unnecessary here */ + err = vfsub_unlink(h_dir, &file->f_path, /*force*/0); + mutex_unlock(&h_dir->i_mutex); + dput(h_parent); + if (unlikely(err)) { + if (!silent) + pr_err("unlink %s(%d)\n", fname, err); + goto out; + } + + err = -EINVAL; + d = file->f_dentry; + if (unlikely(sb == d->d_sb)) { + if (!silent) + pr_err("%s must be outside\n", fname); + goto out; + } + if (unlikely(au_test_fs_bad_xino(d->d_sb))) { + if (!silent) + pr_err("xino doesn't support %s(%s)\n", + fname, au_sbtype(d->d_sb)); + goto out; + } + return file; /* success */ + +out: + fput(file); + file = ERR_PTR(err); + return file; +} + +/* + * find another branch who is on the same filesystem of the specified + * branch{@btgt}. search until @bend. + */ +static int is_sb_shared(struct super_block *sb, aufs_bindex_t btgt, + aufs_bindex_t bend) +{ + aufs_bindex_t bindex; + struct super_block *tgt_sb = au_sbr_sb(sb, btgt); + + for (bindex = 0; bindex < btgt; bindex++) + if (unlikely(tgt_sb == au_sbr_sb(sb, bindex))) + return bindex; + for (bindex++; bindex <= bend; bindex++) + if (unlikely(tgt_sb == au_sbr_sb(sb, bindex))) + return bindex; + return -1; +} + +/* ---------------------------------------------------------------------- */ + +/* + * initialize the xinofile for the specified branch @br + * at the place/path where @base_file indicates. + * test whether another branch is on the same filesystem or not, + * if @do_test is true. + */ +int au_xino_br(struct super_block *sb, struct au_branch *br, ino_t h_ino, + struct file *base_file, int do_test) +{ + int err; + ino_t ino; + aufs_bindex_t bend, bindex; + struct au_branch *shared_br, *b; + struct file *file; + struct super_block *tgt_sb; + + shared_br = NULL; + bend = au_sbend(sb); + if (do_test) { + tgt_sb = br->br_mnt->mnt_sb; + for (bindex = 0; bindex <= bend; bindex++) { + b = au_sbr(sb, bindex); + if (tgt_sb == b->br_mnt->mnt_sb) { + shared_br = b; + break; + } + } + } + + if (!shared_br || !shared_br->br_xino.xi_file) { + struct au_xino_lock_dir ldir; + + au_xino_lock_dir(sb, base_file, &ldir); + /* mnt_want_write() is unnecessary here */ + file = au_xino_create2(base_file, NULL); + au_xino_unlock_dir(&ldir); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + br->br_xino.xi_file = file; + } else { + br->br_xino.xi_file = shared_br->br_xino.xi_file; + get_file(br->br_xino.xi_file); + } + + ino = AUFS_ROOT_INO; + err = au_xino_do_write(au_sbi(sb)->si_xwrite, br->br_xino.xi_file, + h_ino, ino); + if (unlikely(err)) { + fput(br->br_xino.xi_file); + br->br_xino.xi_file = NULL; + } + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* trucate a xino bitmap file */ + +/* todo: slow */ +static int do_xib_restore(struct super_block *sb, struct file *file, void *page) +{ + int err, bit; + ssize_t sz; + unsigned long pindex; + loff_t pos, pend; + struct au_sbinfo *sbinfo; + au_readf_t func; + ino_t *ino; + unsigned long *p; + + err = 0; + sbinfo = au_sbi(sb); + MtxMustLock(&sbinfo->si_xib_mtx); + p = sbinfo->si_xib_buf; + func = sbinfo->si_xread; + pend = i_size_read(file->f_dentry->d_inode); + pos = 0; + while (pos < pend) { + sz = xino_fread(func, file, page, PAGE_SIZE, &pos); + err = sz; + if (unlikely(sz <= 0)) + goto out; + + err = 0; + for (ino = page; sz > 0; ino++, sz -= sizeof(ino)) { + if (unlikely(*ino < AUFS_FIRST_INO)) + continue; + + xib_calc_bit(*ino, &pindex, &bit); + AuDebugOn(page_bits <= bit); + err = xib_pindex(sb, pindex); + if (!err) + set_bit(bit, p); + else + goto out; + } + } + +out: + return err; +} + +static int xib_restore(struct super_block *sb) +{ + int err; + aufs_bindex_t bindex, bend; + void *page; + + err = -ENOMEM; + page = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!page)) + goto out; + + err = 0; + bend = au_sbend(sb); + for (bindex = 0; !err && bindex <= bend; bindex++) + if (!bindex || is_sb_shared(sb, bindex, bindex - 1) < 0) + err = do_xib_restore + (sb, au_sbr(sb, bindex)->br_xino.xi_file, page); + else + AuDbg("b%d\n", bindex); + free_page((unsigned long)page); + +out: + return err; +} + +int au_xib_trunc(struct super_block *sb) +{ + int err; + ssize_t sz; + loff_t pos; + struct au_xino_lock_dir ldir; + struct au_sbinfo *sbinfo; + unsigned long *p; + struct file *file; + + SiMustWriteLock(sb); + + err = 0; + sbinfo = au_sbi(sb); + if (!au_opt_test(sbinfo->si_mntflags, XINO)) + goto out; + + file = sbinfo->si_xib; + if (i_size_read(file->f_dentry->d_inode) <= PAGE_SIZE) + goto out; + + au_xino_lock_dir(sb, file, &ldir); + /* mnt_want_write() is unnecessary here */ + file = au_xino_create2(sbinfo->si_xib, NULL); + au_xino_unlock_dir(&ldir); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + fput(sbinfo->si_xib); + sbinfo->si_xib = file; + + p = sbinfo->si_xib_buf; + memset(p, 0, PAGE_SIZE); + pos = 0; + sz = xino_fwrite(sbinfo->si_xwrite, sbinfo->si_xib, p, PAGE_SIZE, &pos); + if (unlikely(sz != PAGE_SIZE)) { + err = sz; + AuIOErr("err %d\n", err); + if (sz >= 0) + err = -EIO; + goto out; + } + + mutex_lock(&sbinfo->si_xib_mtx); + /* mnt_want_write() is unnecessary here */ + err = xib_restore(sb); + mutex_unlock(&sbinfo->si_xib_mtx); + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * xino mount option handlers + */ +static au_readf_t find_readf(struct file *h_file) +{ + const struct file_operations *fop = h_file->f_op; + + if (fop) { + if (fop->read) + return fop->read; + if (fop->aio_read) + return do_sync_read; + } + return ERR_PTR(-ENOSYS); +} + +static au_writef_t find_writef(struct file *h_file) +{ + const struct file_operations *fop = h_file->f_op; + + if (fop) { + if (fop->write) + return fop->write; + if (fop->aio_write) + return do_sync_write; + } + return ERR_PTR(-ENOSYS); +} + +/* xino bitmap */ +static void xino_clear_xib(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + sbinfo->si_xread = NULL; + sbinfo->si_xwrite = NULL; + if (sbinfo->si_xib) + fput(sbinfo->si_xib); + sbinfo->si_xib = NULL; + free_page((unsigned long)sbinfo->si_xib_buf); + sbinfo->si_xib_buf = NULL; +} + +static int au_xino_set_xib(struct super_block *sb, struct file *base) +{ + int err; + loff_t pos; + struct au_sbinfo *sbinfo; + struct file *file; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + file = au_xino_create2(base, sbinfo->si_xib); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + if (sbinfo->si_xib) + fput(sbinfo->si_xib); + sbinfo->si_xib = file; + sbinfo->si_xread = find_readf(file); + sbinfo->si_xwrite = find_writef(file); + + err = -ENOMEM; + if (!sbinfo->si_xib_buf) + sbinfo->si_xib_buf = (void *)get_zeroed_page(GFP_NOFS); + if (unlikely(!sbinfo->si_xib_buf)) + goto out_unset; + + sbinfo->si_xib_last_pindex = 0; + sbinfo->si_xib_next_bit = 0; + if (i_size_read(file->f_dentry->d_inode) < PAGE_SIZE) { + pos = 0; + err = xino_fwrite(sbinfo->si_xwrite, file, sbinfo->si_xib_buf, + PAGE_SIZE, &pos); + if (unlikely(err != PAGE_SIZE)) + goto out_free; + } + err = 0; + goto out; /* success */ + +out_free: + free_page((unsigned long)sbinfo->si_xib_buf); + sbinfo->si_xib_buf = NULL; + if (err >= 0) + err = -EIO; +out_unset: + fput(sbinfo->si_xib); + sbinfo->si_xib = NULL; + sbinfo->si_xread = NULL; + sbinfo->si_xwrite = NULL; +out: + return err; +} + +/* xino for each branch */ +static void xino_clear_br(struct super_block *sb) +{ + aufs_bindex_t bindex, bend; + struct au_branch *br; + + bend = au_sbend(sb); + for (bindex = 0; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + if (!br || !br->br_xino.xi_file) + continue; + + fput(br->br_xino.xi_file); + br->br_xino.xi_file = NULL; + } +} + +static int au_xino_set_br(struct super_block *sb, struct file *base) +{ + int err; + ino_t ino; + aufs_bindex_t bindex, bend, bshared; + struct { + struct file *old, *new; + } *fpair, *p; + struct au_branch *br; + struct inode *inode; + au_writef_t writef; + + SiMustWriteLock(sb); + + err = -ENOMEM; + bend = au_sbend(sb); + fpair = kcalloc(bend + 1, sizeof(*fpair), GFP_NOFS); + if (unlikely(!fpair)) + goto out; + + inode = sb->s_root->d_inode; + ino = AUFS_ROOT_INO; + writef = au_sbi(sb)->si_xwrite; + for (bindex = 0, p = fpair; bindex <= bend; bindex++, p++) { + br = au_sbr(sb, bindex); + bshared = is_sb_shared(sb, bindex, bindex - 1); + if (bshared >= 0) { + /* shared xino */ + *p = fpair[bshared]; + get_file(p->new); + } + + if (!p->new) { + /* new xino */ + p->old = br->br_xino.xi_file; + p->new = au_xino_create2(base, br->br_xino.xi_file); + err = PTR_ERR(p->new); + if (IS_ERR(p->new)) { + p->new = NULL; + goto out_pair; + } + } + + err = au_xino_do_write(writef, p->new, + au_h_iptr(inode, bindex)->i_ino, ino); + if (unlikely(err)) + goto out_pair; + } + + for (bindex = 0, p = fpair; bindex <= bend; bindex++, p++) { + br = au_sbr(sb, bindex); + if (br->br_xino.xi_file) + fput(br->br_xino.xi_file); + get_file(p->new); + br->br_xino.xi_file = p->new; + } + +out_pair: + for (bindex = 0, p = fpair; bindex <= bend; bindex++, p++) + if (p->new) + fput(p->new); + else + break; + kfree(fpair); +out: + return err; +} + +void au_xino_clr(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + au_xigen_clr(sb); + xino_clear_xib(sb); + xino_clear_br(sb); + sbinfo = au_sbi(sb); + /* lvalue, do not call au_mntflags() */ + au_opt_clr(sbinfo->si_mntflags, XINO); +} + +int au_xino_set(struct super_block *sb, struct au_opt_xino *xino, int remount) +{ + int err, skip; + struct dentry *parent, *cur_parent; + struct qstr *dname, *cur_name; + struct file *cur_xino; + struct inode *dir; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + err = 0; + sbinfo = au_sbi(sb); + parent = dget_parent(xino->file->f_dentry); + if (remount) { + skip = 0; + dname = &xino->file->f_dentry->d_name; + cur_xino = sbinfo->si_xib; + if (cur_xino) { + cur_parent = dget_parent(cur_xino->f_dentry); + cur_name = &cur_xino->f_dentry->d_name; + skip = (cur_parent == parent + && dname->len == cur_name->len + && !memcmp(dname->name, cur_name->name, + dname->len)); + dput(cur_parent); + } + if (skip) + goto out; + } + + au_opt_set(sbinfo->si_mntflags, XINO); + dir = parent->d_inode; + mutex_lock_nested(&dir->i_mutex, AuLsc_I_PARENT); + /* mnt_want_write() is unnecessary here */ + err = au_xino_set_xib(sb, xino->file); + if (!err) + err = au_xigen_set(sb, xino->file); + if (!err) + err = au_xino_set_br(sb, xino->file); + mutex_unlock(&dir->i_mutex); + if (!err) + goto out; /* success */ + + /* reset all */ + AuIOErr("failed creating xino(%d).\n", err); + +out: + dput(parent); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * create a xinofile at the default place/path. + */ +struct file *au_xino_def(struct super_block *sb) +{ + struct file *file; + char *page, *p; + struct au_branch *br; + struct super_block *h_sb; + struct path path; + aufs_bindex_t bend, bindex, bwr; + + br = NULL; + bend = au_sbend(sb); + bwr = -1; + for (bindex = 0; bindex <= bend; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_writable(br->br_perm) + && !au_test_fs_bad_xino(br->br_mnt->mnt_sb)) { + bwr = bindex; + break; + } + } + + if (bwr >= 0) { + file = ERR_PTR(-ENOMEM); + page = __getname_gfp(GFP_NOFS); + if (unlikely(!page)) + goto out; + path.mnt = br->br_mnt; + path.dentry = au_h_dptr(sb->s_root, bwr); + p = d_path(&path, page, PATH_MAX - sizeof(AUFS_XINO_FNAME)); + file = (void *)p; + if (!IS_ERR(p)) { + strcat(p, "/" AUFS_XINO_FNAME); + AuDbg("%s\n", p); + file = au_xino_create(sb, p, /*silent*/0); + if (!IS_ERR(file)) + au_xino_brid_set(sb, br->br_id); + } + __putname(page); + } else { + file = au_xino_create(sb, AUFS_XINO_DEFPATH, /*silent*/0); + if (IS_ERR(file)) + goto out; + h_sb = file->f_dentry->d_sb; + if (unlikely(au_test_fs_bad_xino(h_sb))) { + pr_err("xino doesn't support %s(%s)\n", + AUFS_XINO_DEFPATH, au_sbtype(h_sb)); + fput(file); + file = ERR_PTR(-EINVAL); + } + if (!IS_ERR(file)) + au_xino_brid_set(sb, -1); + } + +out: + return file; +} + +/* ---------------------------------------------------------------------- */ + +int au_xino_path(struct seq_file *seq, struct file *file) +{ + int err; + + err = au_seq_path(seq, &file->f_path); + if (unlikely(err < 0)) + goto out; + + err = 0; +#define Deleted "\\040(deleted)" + seq->count -= sizeof(Deleted) - 1; + AuDebugOn(memcmp(seq->buf + seq->count, Deleted, + sizeof(Deleted) - 1)); +#undef Deleted + +out: + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/BOM +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/BOM @@ -0,0 +1,3 @@ +Downloaded from: http://people.redhat.com/~heinzm/sw/dm/dm-raid45/ +Current Version: 2009.04.24 (2.6.30-rc3) +Comments: All of the patches to dmraid1/dm-log, etc are upstream. --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/Kconfig +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/Kconfig @@ -0,0 +1,6 @@ +config DM_RAID45 + tristate "RAID 4/5 target (EXPERIMENTAL)" + depends on BLK_DEV_DM && XOR_BLOCKS && EXPERIMENTAL + default m + ---help--- + A target that supports RAID4 and RAID5 mappings. --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/Makefile +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/Makefile @@ -0,0 +1,4 @@ +EXTRA_CFLAGS += -I$(srctree)/drivers/md + +obj-$(CONFIG_DM_RAID45) := dm-raid45.o +dm-raid45-objs := dm-raid4-5.o dm-memcache.o dm-region-hash.o dm-message.o --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-memcache.c +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-memcache.c @@ -0,0 +1,303 @@ +/* + * Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved. + * + * Module Author: Heinz Mauelshagen + * + * Device-mapper memory object handling: + * + * o allocate/free total_pages in a per client page pool. + * + * o allocate/free memory objects with chunks (1..n) of + * pages_per_chunk pages hanging off. + * + * This file is released under the GPL. + */ + +#define DM_MEM_CACHE_VERSION "0.2" + +#include "dm.h" +#include "dm-memcache.h" +#include +#include +#include + +struct dm_mem_cache_client { + spinlock_t lock; + mempool_t *objs_pool; + struct page_list *free_list; + unsigned objects; + unsigned chunks; + unsigned pages_per_chunk; + unsigned free_pages; + unsigned total_pages; +}; + +/* + * Free pages and page_list elements of client. + */ +static void free_cache_pages(struct page_list *list) +{ + while (list) { + struct page_list *pl = list; + + list = pl->next; + BUG_ON(!pl->page); + __free_page(pl->page); + kfree(pl); + } +} + +/* + * Alloc number of pages and page_list elements as required by client. + */ +static struct page_list *alloc_cache_pages(unsigned pages) +{ + struct page_list *pl, *ret = NULL; + struct page *page; + + while (pages--) { + page = alloc_page(GFP_NOIO); + if (!page) + goto err; + + pl = kmalloc(sizeof(*pl), GFP_NOIO); + if (!pl) { + __free_page(page); + goto err; + } + + pl->page = page; + pl->next = ret; + ret = pl; + } + + return ret; + +err: + free_cache_pages(ret); + return NULL; +} + +/* + * Allocate page_list elements from the pool to chunks of the memory object. + */ +static void alloc_chunks(struct dm_mem_cache_client *cl, + struct dm_mem_cache_object *obj) +{ + unsigned chunks = cl->chunks; + unsigned long flags; + + local_irq_save(flags); + local_irq_disable(); + while (chunks--) { + unsigned p = cl->pages_per_chunk; + + obj[chunks].pl = NULL; + + while (p--) { + struct page_list *pl; + + /* Take next element from free list */ + spin_lock(&cl->lock); + pl = cl->free_list; + BUG_ON(!pl); + cl->free_list = pl->next; + spin_unlock(&cl->lock); + + pl->next = obj[chunks].pl; + obj[chunks].pl = pl; + } + } + + local_irq_restore(flags); +} + +/* + * Free page_list elements putting them back onto free list + */ +static void free_chunks(struct dm_mem_cache_client *cl, + struct dm_mem_cache_object *obj) +{ + unsigned chunks = cl->chunks; + unsigned long flags; + struct page_list *next, *pl; + + local_irq_save(flags); + local_irq_disable(); + while (chunks--) { + for (pl = obj[chunks].pl; pl; pl = next) { + next = pl->next; + + spin_lock(&cl->lock); + pl->next = cl->free_list; + cl->free_list = pl; + cl->free_pages++; + spin_unlock(&cl->lock); + } + } + + local_irq_restore(flags); +} + +/* + * Create/destroy dm memory cache client resources. + */ +struct dm_mem_cache_client * +dm_mem_cache_client_create(unsigned objects, unsigned chunks, + unsigned pages_per_chunk) +{ + unsigned total_pages = objects * chunks * pages_per_chunk; + struct dm_mem_cache_client *client; + + BUG_ON(!total_pages); + client = kzalloc(sizeof(*client), GFP_KERNEL); + if (!client) + return ERR_PTR(-ENOMEM); + + client->objs_pool = mempool_create_kmalloc_pool(objects, + chunks * sizeof(struct dm_mem_cache_object)); + if (!client->objs_pool) + goto err; + + client->free_list = alloc_cache_pages(total_pages); + if (!client->free_list) + goto err1; + + spin_lock_init(&client->lock); + client->objects = objects; + client->chunks = chunks; + client->pages_per_chunk = pages_per_chunk; + client->free_pages = client->total_pages = total_pages; + return client; + +err1: + mempool_destroy(client->objs_pool); +err: + kfree(client); + return ERR_PTR(-ENOMEM); +} +EXPORT_SYMBOL(dm_mem_cache_client_create); + +void dm_mem_cache_client_destroy(struct dm_mem_cache_client *cl) +{ + BUG_ON(cl->free_pages != cl->total_pages); + free_cache_pages(cl->free_list); + mempool_destroy(cl->objs_pool); + kfree(cl); +} +EXPORT_SYMBOL(dm_mem_cache_client_destroy); + +/* + * Grow a clients cache by an amount of pages. + * + * Don't call from interrupt context! + */ +int dm_mem_cache_grow(struct dm_mem_cache_client *cl, unsigned objects) +{ + unsigned pages = objects * cl->chunks * cl->pages_per_chunk; + struct page_list *pl, *last; + + BUG_ON(!pages); + pl = alloc_cache_pages(pages); + if (!pl) + return -ENOMEM; + + last = pl; + while (last->next) + last = last->next; + + spin_lock_irq(&cl->lock); + last->next = cl->free_list; + cl->free_list = pl; + cl->free_pages += pages; + cl->total_pages += pages; + cl->objects++; + spin_unlock_irq(&cl->lock); + + mempool_resize(cl->objs_pool, cl->objects, GFP_NOIO); + return 0; +} +EXPORT_SYMBOL(dm_mem_cache_grow); + +/* Shrink a clients cache by an amount of pages */ +int dm_mem_cache_shrink(struct dm_mem_cache_client *cl, unsigned objects) +{ + int r; + unsigned pages = objects * cl->chunks * cl->pages_per_chunk, p = pages; + unsigned long flags; + struct page_list *last = NULL, *pl, *pos; + + BUG_ON(!pages); + + spin_lock_irqsave(&cl->lock, flags); + pl = pos = cl->free_list; + while (p-- && pos->next) { + last = pos; + pos = pos->next; + } + + if (++p) + r = -ENOMEM; + else { + r = 0; + cl->free_list = pos; + cl->free_pages -= pages; + cl->total_pages -= pages; + cl->objects--; + last->next = NULL; + } + spin_unlock_irqrestore(&cl->lock, flags); + + if (!r) { + free_cache_pages(pl); + mempool_resize(cl->objs_pool, cl->objects, GFP_NOIO); + } + + return r; +} +EXPORT_SYMBOL(dm_mem_cache_shrink); + +/* + * Allocate/free a memory object + * + * Can be called from interrupt context + */ +struct dm_mem_cache_object *dm_mem_cache_alloc(struct dm_mem_cache_client *cl) +{ + int r = 0; + unsigned pages = cl->chunks * cl->pages_per_chunk; + unsigned long flags; + struct dm_mem_cache_object *obj; + + obj = mempool_alloc(cl->objs_pool, GFP_NOIO); + if (!obj) + return ERR_PTR(-ENOMEM); + + spin_lock_irqsave(&cl->lock, flags); + if (pages > cl->free_pages) + r = -ENOMEM; + else + cl->free_pages -= pages; + spin_unlock_irqrestore(&cl->lock, flags); + + if (r) { + mempool_free(obj, cl->objs_pool); + return ERR_PTR(r); + } + + alloc_chunks(cl, obj); + return obj; +} +EXPORT_SYMBOL(dm_mem_cache_alloc); + +void dm_mem_cache_free(struct dm_mem_cache_client *cl, + struct dm_mem_cache_object *obj) +{ + free_chunks(cl, obj); + mempool_free(obj, cl->objs_pool); +} +EXPORT_SYMBOL(dm_mem_cache_free); + +MODULE_DESCRIPTION(DM_NAME " dm memory cache"); +MODULE_AUTHOR("Heinz Mauelshagen "); +MODULE_LICENSE("GPL"); --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-memcache.h +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-memcache.h @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved. + * + * Module Author: Heinz Mauelshagen + * + * Device-mapper memory object handling: + * + * o allocate/free total_pages in a per client page pool. + * + * o allocate/free memory objects with chunks (1..n) of + * pages_per_chunk pages hanging off. + * + * This file is released under the GPL. + */ + +#ifndef _DM_MEM_CACHE_H +#define _DM_MEM_CACHE_H + +#define DM_MEM_CACHE_H_VERSION "0.1" + +#include "dm.h" +#include + +static inline struct page_list *pl_elem(struct page_list *pl, unsigned p) +{ + while (pl && p--) + pl = pl->next; + + return pl; +} + +struct dm_mem_cache_object { + struct page_list *pl; /* Dynamically allocated array */ + void *private; /* Caller context reference */ +}; + +struct dm_mem_cache_client; + +/* + * Create/destroy dm memory cache client resources. + * + * On creation, a number of @objects with @chunks of + * @pages_per_chunk pages will be allocated. + */ +struct dm_mem_cache_client * +dm_mem_cache_client_create(unsigned objects, unsigned chunks, + unsigned pages_per_chunk); +void dm_mem_cache_client_destroy(struct dm_mem_cache_client *client); + +/* + * Grow/shrink a dm memory cache client resources + * by @objetcs amount of objects. + */ +int dm_mem_cache_grow(struct dm_mem_cache_client *client, unsigned objects); +int dm_mem_cache_shrink(struct dm_mem_cache_client *client, unsigned objects); + +/* + * Allocate/free a memory object + * + * On allocation one object with an amount of chunks and + * an amount of pages per chunk will be returned on success. + */ +struct dm_mem_cache_object * +dm_mem_cache_alloc(struct dm_mem_cache_client *client); +void dm_mem_cache_free(struct dm_mem_cache_client *client, + struct dm_mem_cache_object *object); + +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-message.c +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-message.c @@ -0,0 +1,184 @@ +/* + * Copyright (C) 2007,2008 Red Hat Inc. All rights reserved. + * + * Module Author: Heinz Mauelshagen + * + * General device-mapper message interface argument parser. + * + * This file is released under the GPL. + * + * device-mapper message parser. + * + */ + +#include "dm.h" +#include "dm-message.h" +#include +#include + +#define DM_MSG_PREFIX "dm_message" + +/* Basename of a path. */ +static inline char * +basename(char *s) +{ + char *p = strrchr(s, '/'); + + return p ? p + 1 : s; +} + +/* Get an argument depending on type. */ +static void +message_arguments(struct dm_msg *msg, int argc, char **argv) +{ + + if (argc) { + int i; + struct dm_message_argument *args = msg->spec->args; + + for (i = 0; i < args->num_args; i++) { + int r; + unsigned long **ptr = args->ptr; + enum dm_message_argument_type type = args->types[i]; + + switch (type) { + case dm_msg_base_t: + ((char **) ptr)[i] = basename(argv[i]); + break; + + case dm_msg_str_t: + ((char **) ptr)[i] = argv[i]; + break; + + case dm_msg_int_t: + r = sscanf(argv[i], "%d", ((int **) ptr)[i]); + goto check; + + case dm_msg_uint_t: + r = sscanf(argv[i], "%u", + ((unsigned **) ptr)[i]); + goto check; + + case dm_msg_uint64_t: + r = sscanf(argv[i], "%llu", + ((unsigned long long **) ptr)[i]); + +check: + if (r != 1) { + set_bit(dm_msg_ret_undef, &msg->ret); + set_bit(dm_msg_ret_arg, &msg->ret); + } + } + } + } +} + +/* Parse message options. */ +static void +message_options_parse(struct dm_msg *msg, int argc, char **argv) +{ + int hit = 0; + unsigned long *action; + size_t l1 = strlen(*argv), l_hit = 0; + struct dm_message_option *o = msg->spec->options; + char **option, **option_end = o->options + o->num_options; + + for (option = o->options, action = o->actions; + option < option_end; option++, action++) { + size_t l2 = strlen(*option); + + if (!strnicmp(*argv, *option, min(l1, l2))) { + hit++; + l_hit = l2; + set_bit(*action, &msg->action); + } + } + + /* Assume error. */ + msg->ret = 0; + set_bit(dm_msg_ret_option, &msg->ret); + if (!hit || l1 > l_hit) + set_bit(dm_msg_ret_undef, &msg->ret); /* Undefined option. */ + else if (hit > 1) + set_bit(dm_msg_ret_ambiguous, &msg->ret); /* Ambiguous option.*/ + else { + clear_bit(dm_msg_ret_option, &msg->ret); /* Option OK. */ + message_arguments(msg, --argc, ++argv); + } +} + +static inline void +print_ret(const char *caller, unsigned long ret) +{ + struct { + unsigned long err; + const char *err_str; + } static err_msg[] = { + { dm_msg_ret_ambiguous, "message ambiguous" }, + { dm_msg_ret_inval, "message invalid" }, + { dm_msg_ret_undef, "message undefined" }, + { dm_msg_ret_arg, "message argument" }, + { dm_msg_ret_argcount, "message argument count" }, + { dm_msg_ret_option, "option" }, + }, *e = ARRAY_END(err_msg); + + while (e-- > err_msg) { + if (test_bit(e->err, &ret)) + DMERR("%s %s", caller, e->err_str); + } +} + +/* Parse a message action. */ +int +dm_message_parse(const char *caller, struct dm_msg *msg, void *context, + int argc, char **argv) +{ + int hit = 0; + size_t l1, l_hit = 0; + struct dm_msg_spec *s, *s_hit = NULL, + *s_end = msg->specs + msg->num_specs; + + if (argc < 2) + return -EINVAL; + + l1 = strlen(*argv); + for (s = msg->specs; s < s_end; s++) { + size_t l2 = strlen(s->cmd); + + if (!strnicmp(*argv, s->cmd, min(l1, l2))) { + hit++; + l_hit = l2; + s_hit = s; + } + } + + msg->ret = 0; + if (!hit || l1 > l_hit) /* No hit or message string too long. */ + set_bit(dm_msg_ret_undef, &msg->ret); + else if (hit > 1) /* Ambiguous message. */ + set_bit(dm_msg_ret_ambiguous, &msg->ret); + else if (argc - 2 != s_hit->args->num_args) { + set_bit(dm_msg_ret_undef, &msg->ret); + set_bit(dm_msg_ret_argcount, &msg->ret); + } + + if (msg->ret) + goto bad; + + msg->action = 0; + msg->spec = s_hit; + set_bit(s_hit->action, &msg->action); + message_options_parse(msg, --argc, ++argv); + + if (!msg->ret) + return msg->spec->f(msg, context); + +bad: + print_ret(caller, msg->ret); + return -EINVAL; +} +EXPORT_SYMBOL(dm_message_parse); + +MODULE_DESCRIPTION(DM_NAME " device-mapper target message parser"); +MODULE_AUTHOR("Heinz Mauelshagen "); +MODULE_LICENSE("GPL"); --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-message.h +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-message.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2007,2008 Red Hat, Inc. All rights reserved. + * + * Module Author: Heinz Mauelshagen + * + * General device-mapper message interface argument parser. + * + * This file is released under the GPL. + * + */ + +#ifndef DM_MESSAGE_H +#define DM_MESSAGE_H + +/* Factor out to dm.h. */ +/* Reference to array end. */ +#define ARRAY_END(a) ((a) + ARRAY_SIZE(a)) + +/* Message return bits. */ +enum dm_message_return { + dm_msg_ret_ambiguous, /* Action ambiguous. */ + dm_msg_ret_inval, /* Action invalid. */ + dm_msg_ret_undef, /* Action undefined. */ + + dm_msg_ret_option, /* Option error. */ + dm_msg_ret_arg, /* Argument error. */ + dm_msg_ret_argcount, /* Argument count error. */ +}; + +/* Message argument type conversions. */ +enum dm_message_argument_type { + dm_msg_base_t, /* Basename string. */ + dm_msg_str_t, /* String. */ + dm_msg_int_t, /* Signed int. */ + dm_msg_uint_t, /* Unsigned int. */ + dm_msg_uint64_t, /* Unsigned int 64. */ +}; + +/* A message option. */ +struct dm_message_option { + unsigned num_options; + char **options; + unsigned long *actions; +}; + +/* Message arguments and types. */ +struct dm_message_argument { + unsigned num_args; + unsigned long **ptr; + enum dm_message_argument_type types[]; +}; + +/* Client message. */ +struct dm_msg { + unsigned long action; /* Identified action. */ + unsigned long ret; /* Return bits. */ + unsigned num_specs; /* # of sepcifications listed. */ + struct dm_msg_spec *specs; /* Specification list. */ + struct dm_msg_spec *spec; /* Specification selected. */ +}; + +/* Secification of the message. */ +struct dm_msg_spec { + const char *cmd; /* Name of the command (i.e. 'bandwidth'). */ + unsigned long action; + struct dm_message_option *options; + struct dm_message_argument *args; + unsigned long parm; /* Parameter to pass through to callback. */ + /* Function to process for action. */ + int (*f) (struct dm_msg *msg, void *context); +}; + +/* Parameter access macros. */ +#define DM_MSG_PARM(msg) ((msg)->spec->parm) + +#define DM_MSG_STR_ARGS(msg, idx) ((char *) *(msg)->spec->args->ptr[idx]) +#define DM_MSG_INT_ARGS(msg, idx) ((int) *(msg)->spec->args->ptr[idx]) +#define DM_MSG_UINT_ARGS(msg, idx) ((unsigned) DM_MSG_INT_ARG(msg, idx)) +#define DM_MSG_UINT64_ARGS(msg, idx) ((uint64_t) *(msg)->spec->args->ptr[idx]) + +#define DM_MSG_STR_ARG(msg) DM_MSG_STR_ARGS(msg, 0) +#define DM_MSG_INT_ARG(msg) DM_MSG_INT_ARGS(msg, 0) +#define DM_MSG_UINT_ARG(msg) DM_MSG_UINT_ARGS(msg, 0) +#define DM_MSG_UINT64_ARG(msg) DM_MSG_UINT64_ARGS(msg, 0) + + +/* Parse a message and its options and optionally call a function back. */ +int dm_message_parse(const char *caller, struct dm_msg *msg, void *context, + int argc, char **argv); + +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-raid4-5.c +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-raid4-5.c @@ -0,0 +1,4539 @@ +/*[A[A + * Copyright (C) 2005-2009 Red Hat, Inc. All rights reserved. + * + * Module Author: Heinz Mauelshagen + * + * This file is released under the GPL. + * + * + * Linux 2.6 Device Mapper RAID4 and RAID5 target. + * + * Supports: + * o RAID4 with dedicated and selectable parity device + * o RAID5 with rotating parity (left+right, symmetric+asymmetric) + * o recovery of out of sync device for initial + * RAID set creation or after dead drive replacement + * o run time optimization of xor algorithm used to calculate parity + * + * + * Thanks to MD for: + * o the raid address calculation algorithm + * o the base of the biovec <-> page list copier. + * + * + * Uses region hash to keep track of how many writes are in flight to + * regions in order to use dirty log to keep state of regions to recover: + * + * o clean regions (those which are synchronized + * and don't have write io in flight) + * o dirty regions (those with write io in flight) + * + * + * On startup, any dirty regions are migrated to the + * 'nosync' state and are subject to recovery by the daemon. + * + * See raid_ctr() for table definition. + * + * FIXME: recovery bandwidth + */ + +static const char *version = "v0.2594b"; + +#include "dm.h" +#include "dm-memcache.h" +#include "dm-message.h" +#include "dm-raid45.h" + +#include +#include +#include + +#include +#include +#include +#include "dm-region-hash.h" + +#include +#include + +/* + * Configurable parameters + */ + +/* Minimum/maximum and default # of selectable stripes. */ +#define STRIPES_MIN 8 +#define STRIPES_MAX 16384 +#define STRIPES_DEFAULT 80 + +/* Maximum and default chunk size in sectors if not set in constructor. */ +#define CHUNK_SIZE_MIN 8 +#define CHUNK_SIZE_MAX 16384 +#define CHUNK_SIZE_DEFAULT 64 + +/* Default io size in sectors if not set in constructor. */ +#define IO_SIZE_MIN CHUNK_SIZE_MIN +#define IO_SIZE_DEFAULT IO_SIZE_MIN + +/* Recover io size default in sectors. */ +#define RECOVER_IO_SIZE_MIN 64 +#define RECOVER_IO_SIZE_DEFAULT 256 + +/* Default, minimum and maximum percentage of recover io bandwidth. */ +#define BANDWIDTH_DEFAULT 10 +#define BANDWIDTH_MIN 1 +#define BANDWIDTH_MAX 100 + +/* # of parallel recovered regions */ +#define RECOVERY_STRIPES_MIN 1 +#define RECOVERY_STRIPES_MAX 64 +#define RECOVERY_STRIPES_DEFAULT RECOVERY_STRIPES_MIN +/* + * END Configurable parameters + */ + +#define TARGET "dm-raid45" +#define DAEMON "kraid45d" +#define DM_MSG_PREFIX TARGET + +#define SECTORS_PER_PAGE (PAGE_SIZE >> SECTOR_SHIFT) + +/* Amount/size for __xor(). */ +#define XOR_SIZE PAGE_SIZE + +/* Check value in range. */ +#define range_ok(i, min, max) (i >= min && i <= max) + +/* Check argument is power of 2. */ +#define POWER_OF_2(a) (!(a & (a - 1))) + +/* Structure access macros. */ +/* Derive raid_set from stripe_cache pointer. */ +#define RS(x) container_of(x, struct raid_set, sc) + +/* Page reference. */ +#define PAGE(stripe, p) ((stripe)->obj[p].pl->page) + +/* Stripe chunk reference. */ +#define CHUNK(stripe, p) ((stripe)->chunk + p) + +/* Bio list reference. */ +#define BL(stripe, p, rw) (stripe->chunk[p].bl + rw) +#define BL_CHUNK(chunk, rw) (chunk->bl + rw) + +/* Page list reference. */ +#define PL(stripe, p) (stripe->obj[p].pl) +/* END: structure access macros. */ + +/* Factor out to dm-bio-list.h */ +static inline void bio_list_push(struct bio_list *bl, struct bio *bio) +{ + bio->bi_next = bl->head; + bl->head = bio; + + if (!bl->tail) + bl->tail = bio; +} + +/* Factor out to dm.h */ +#define TI_ERR_RET(str, ret) \ + do { ti->error = str; return ret; } while (0); +#define TI_ERR(str) TI_ERR_RET(str, -EINVAL) + +/* Macro to define access IO flags access inline functions. */ +#define BITOPS(name, what, var, flag) \ +static inline int TestClear ## name ## what(struct var *v) \ +{ return test_and_clear_bit(flag, &v->io.flags); } \ +static inline int TestSet ## name ## what(struct var *v) \ +{ return test_and_set_bit(flag, &v->io.flags); } \ +static inline void Clear ## name ## what(struct var *v) \ +{ clear_bit(flag, &v->io.flags); } \ +static inline void Set ## name ## what(struct var *v) \ +{ set_bit(flag, &v->io.flags); } \ +static inline int name ## what(struct var *v) \ +{ return test_bit(flag, &v->io.flags); } + +/*----------------------------------------------------------------- + * Stripe cache + * + * Cache for all reads and writes to raid sets (operational or degraded) + * + * We need to run all data to and from a RAID set through this cache, + * because parity chunks need to get calculated from data chunks + * or, in the degraded/resynchronization case, missing chunks need + * to be reconstructed using the other chunks of the stripe. + *---------------------------------------------------------------*/ +/* A chunk within a stripe (holds bios hanging off). */ +/* IO status flags for chunks of a stripe. */ +enum chunk_flags { + CHUNK_DIRTY, /* Pages of chunk dirty; need writing. */ + CHUNK_ERROR, /* IO error on any chunk page. */ + CHUNK_IO, /* Allow/prohibit IO on chunk pages. */ + CHUNK_LOCKED, /* Chunk pages locked during IO. */ + CHUNK_MUST_IO, /* Chunk must io. */ + CHUNK_UNLOCK, /* Enforce chunk unlock. */ + CHUNK_UPTODATE, /* Chunk pages are uptodate. */ +}; + +/* + * This does not work anymore with __REQ_* values being enums + * +#if READ != 0 || WRITE != 1 +#error dm-raid45: READ/WRITE != 0/1 used as index!!! +#endif +*/ + +enum bl_type { + WRITE_QUEUED = WRITE + 1, + WRITE_MERGED, + NR_BL_TYPES, /* Must be last one! */ +}; +struct stripe_chunk { + atomic_t cnt; /* Reference count. */ + struct stripe *stripe; /* Backpointer to stripe for endio(). */ + /* Bio lists for reads, writes, and writes merged. */ + struct bio_list bl[NR_BL_TYPES]; + struct { + unsigned long flags; /* IO status flags. */ + } io; +}; + +/* Define chunk bit operations. */ +BITOPS(Chunk, Dirty, stripe_chunk, CHUNK_DIRTY) +BITOPS(Chunk, Error, stripe_chunk, CHUNK_ERROR) +BITOPS(Chunk, Io, stripe_chunk, CHUNK_IO) +BITOPS(Chunk, Locked, stripe_chunk, CHUNK_LOCKED) +BITOPS(Chunk, MustIo, stripe_chunk, CHUNK_MUST_IO) +BITOPS(Chunk, Unlock, stripe_chunk, CHUNK_UNLOCK) +BITOPS(Chunk, Uptodate, stripe_chunk, CHUNK_UPTODATE) + +/* + * Stripe linked list indexes. Keep order, because the stripe + * and the stripe cache rely on the first 3! + */ +enum list_types { + LIST_FLUSH, /* Stripes to flush for io. */ + LIST_ENDIO, /* Stripes to endio. */ + LIST_LRU, /* Least recently used stripes. */ + SC_NR_LISTS, /* # of lists in stripe cache. */ + LIST_HASH = SC_NR_LISTS, /* Hashed stripes. */ + LIST_RECOVER = LIST_HASH, /* For recovery type stripes only. */ + STRIPE_NR_LISTS,/* To size array in struct stripe. */ +}; + +/* Adressing region recovery. */ +struct recover_addr { + struct dm_region *reg; /* Actual region to recover. */ + sector_t pos; /* Position within region to recover. */ + sector_t end; /* End of region to recover. */ +}; + +/* A stripe: the io object to handle all reads and writes to a RAID set. */ +struct stripe { + atomic_t cnt; /* Reference count. */ + struct stripe_cache *sc; /* Backpointer to stripe cache. */ + + /* + * 4 linked lists: + * o io list to flush io + * o endio list + * o LRU list to put stripes w/o reference count on + * o stripe cache hash + */ + struct list_head lists[STRIPE_NR_LISTS]; + + sector_t key; /* Hash key. */ + region_t region; /* Region stripe is mapped to. */ + + struct { + unsigned long flags; /* Stripe state flags (see below). */ + + /* + * Pending ios in flight: + * + * used to control move of stripe to endio list + */ + atomic_t pending; + + /* Sectors to read and write for multi page stripe sets. */ + unsigned size; + } io; + + /* Address region recovery. */ + struct recover_addr *recover; + + /* Lock on stripe (Future: for clustering). */ + void *lock; + + struct { + unsigned short parity; /* Parity chunk index. */ + short recover; /* Recovery chunk index. */ + } idx; + + /* + * This stripe's memory cache object (dm-mem-cache); + * i.e. the io chunk pages. + */ + struct dm_mem_cache_object *obj; + + /* Array of stripe sets (dynamically allocated). */ + struct stripe_chunk chunk[0]; +}; + +/* States stripes can be in (flags field). */ +enum stripe_states { + STRIPE_ERROR, /* io error on stripe. */ + STRIPE_MERGED, /* Writes got merged to be written. */ + STRIPE_RBW, /* Read-before-write stripe. */ + STRIPE_RECONSTRUCT, /* Reconstruct of a missing chunk required. */ + STRIPE_RECONSTRUCTED, /* Reconstructed of a missing chunk. */ + STRIPE_RECOVER, /* Stripe used for RAID set recovery. */ +}; + +/* Define stripe bit operations. */ +BITOPS(Stripe, Error, stripe, STRIPE_ERROR) +BITOPS(Stripe, Merged, stripe, STRIPE_MERGED) +BITOPS(Stripe, RBW, stripe, STRIPE_RBW) +BITOPS(Stripe, Reconstruct, stripe, STRIPE_RECONSTRUCT) +BITOPS(Stripe, Reconstructed, stripe, STRIPE_RECONSTRUCTED) +BITOPS(Stripe, Recover, stripe, STRIPE_RECOVER) + +/* A stripe hash. */ +struct stripe_hash { + struct list_head *hash; + unsigned buckets; + unsigned mask; + unsigned prime; + unsigned shift; +}; + +enum sc_lock_types { + LOCK_ENDIO, /* Protect endio list. */ + LOCK_LRU, /* Protect LRU list. */ + NR_LOCKS, /* To size array in struct stripe_cache. */ +}; + +/* A stripe cache. */ +struct stripe_cache { + /* Stripe hash. */ + struct stripe_hash hash; + + spinlock_t locks[NR_LOCKS]; /* Locks to protect lists. */ + + /* Stripes with io to flush, stripes to endio and LRU lists. */ + struct list_head lists[SC_NR_LISTS]; + + /* Slab cache to allocate stripes from. */ + struct { + struct kmem_cache *cache; /* Cache itself. */ + char name[32]; /* Unique name. */ + } kc; + + struct dm_io_client *dm_io_client; /* dm-io client resource context. */ + + /* dm-mem-cache client resource context. */ + struct dm_mem_cache_client *mem_cache_client; + + int stripes_parm; /* # stripes parameter from constructor. */ + atomic_t stripes; /* actual # of stripes in cache. */ + atomic_t stripes_to_set; /* # of stripes to resize cache to. */ + atomic_t stripes_last; /* last # of stripes in cache. */ + atomic_t active_stripes; /* actual # of active stripes in cache. */ + + /* REMOVEME: */ + atomic_t active_stripes_max; /* actual # of active stripes in cache. */ +}; + +/* Flag specs for raid_dev */ ; +enum raid_dev_flags { + DEV_FAILED, /* Device failed. */ + DEV_IO_QUEUED, /* Io got queued to device. */ +}; + +/* The raid device in a set. */ +struct raid_dev { + struct dm_dev *dev; + sector_t start; /* Offset to map to. */ + struct { /* Using struct to be able to BITOPS(). */ + unsigned long flags; /* raid_dev_flags. */ + } io; +}; + +BITOPS(Dev, Failed, raid_dev, DEV_FAILED) +BITOPS(Dev, IoQueued, raid_dev, DEV_IO_QUEUED) + +/* Flags spec for raid_set. */ +enum raid_set_flags { + RS_CHECK_OVERWRITE, /* Check for chunk overwrites. */ + RS_DEAD, /* RAID set inoperational. */ + RS_DEGRADED, /* Io errors on RAID device. */ + RS_DEVEL_STATS, /* REMOVEME: display status information. */ + RS_RECOVER, /* Do recovery. */ + RS_RECOVERY_BANDWIDTH, /* Allow recovery bandwidth (delayed bios). */ + RS_SC_BUSY, /* Stripe cache busy -> send an event. */ + RS_SUSPEND, /* Suspend RAID set. */ +}; + +/* REMOVEME: devel stats counters. */ +enum stats_types { + S_BIOS_READ, + S_BIOS_ADDED_READ, + S_BIOS_ENDIO_READ, + S_BIOS_WRITE, + S_BIOS_ADDED_WRITE, + S_BIOS_ENDIO_WRITE, + S_CAN_MERGE, + S_CANT_MERGE, + S_CONGESTED, + S_DM_IO_READ, + S_DM_IO_WRITE, + S_BANDWIDTH, + S_BARRIER, + S_BIO_COPY_PL_NEXT, + S_DEGRADED, + S_DELAYED_BIOS, + S_FLUSHS, + S_HITS_1ST, + S_IOS_POST, + S_INSCACHE, + S_MAX_LOOKUP, + S_CHUNK_LOCKED, + S_NO_BANDWIDTH, + S_NOT_CONGESTED, + S_NO_RW, + S_NOSYNC, + S_OVERWRITE, + S_PROHIBITCHUNKIO, + S_RECONSTRUCT_EI, + S_RECONSTRUCT_DEV, + S_RECONSTRUCT_SET, + S_RECONSTRUCTED, + S_REQUEUE, + S_STRIPE_ERROR, + S_SUM_DELAYED_BIOS, + S_XORS, + S_NR_STATS, /* # of stats counters. Must be last! */ +}; + +/* Status type -> string mappings. */ +struct stats_map { + const enum stats_types type; + const char *str; +}; + +static struct stats_map stats_map[] = { + { S_BIOS_READ, "r=" }, + { S_BIOS_ADDED_READ, "/" }, + { S_BIOS_ENDIO_READ, "/" }, + { S_BIOS_WRITE, " w=" }, + { S_BIOS_ADDED_WRITE, "/" }, + { S_BIOS_ENDIO_WRITE, "/" }, + { S_DM_IO_READ, " rc=" }, + { S_DM_IO_WRITE, " wc=" }, + { S_BANDWIDTH, "\nbw=" }, + { S_NO_BANDWIDTH, " no_bw=" }, + { S_BARRIER, "\nbarrier=" }, + { S_BIO_COPY_PL_NEXT, "\nbio_cp_next=" }, + { S_CAN_MERGE, "\nmerge=" }, + { S_CANT_MERGE, "/no_merge=" }, + { S_CHUNK_LOCKED, "\nchunk_locked=" }, + { S_CONGESTED, "\ncgst=" }, + { S_NOT_CONGESTED, "/not_cgst=" }, + { S_DEGRADED, "\ndegraded=" }, + { S_DELAYED_BIOS, "\ndel_bios=" }, + { S_SUM_DELAYED_BIOS, "/sum_del_bios=" }, + { S_FLUSHS, "\nflushs=" }, + { S_HITS_1ST, "\nhits_1st=" }, + { S_IOS_POST, " ios_post=" }, + { S_INSCACHE, " inscache=" }, + { S_MAX_LOOKUP, " maxlookup=" }, + { S_NO_RW, "\nno_rw=" }, + { S_NOSYNC, " nosync=" }, + { S_OVERWRITE, " ovr=" }, + { S_PROHIBITCHUNKIO, " prhbt_io=" }, + { S_RECONSTRUCT_EI, "\nrec_ei=" }, + { S_RECONSTRUCT_DEV, " rec_dev=" }, + { S_RECONSTRUCT_SET, " rec_set=" }, + { S_RECONSTRUCTED, " rec=" }, + { S_REQUEUE, " requeue=" }, + { S_STRIPE_ERROR, " stripe_err=" }, + { S_XORS, " xors=" }, +}; + +/* + * A RAID set. + */ +#define dm_rh_client dm_region_hash +enum count_type { IO_WORK = 0, IO_RECOVER, IO_NR_COUNT }; +typedef void (*xor_function_t)(unsigned count, unsigned long **data); +struct raid_set { + struct dm_target *ti; /* Target pointer. */ + + struct { + unsigned long flags; /* State flags. */ + struct mutex in_lock; /* Protects central input list below. */ + struct bio_list in; /* Pending ios (central input list). */ + struct bio_list work; /* ios work set. */ + wait_queue_head_t suspendq; /* suspend synchronization. */ + atomic_t in_process; /* counter of queued bios (suspendq). */ + atomic_t in_process_max;/* counter of queued bios max. */ + + /* io work. */ + struct workqueue_struct *wq; + struct delayed_work dws_do_raid; /* For main worker. */ + struct work_struct ws_do_table_event; /* For event worker. */ + } io; + + /* Stripe locking abstraction. */ + struct dm_raid45_locking_type *locking; + + struct stripe_cache sc; /* Stripe cache for this set. */ + + /* Xor optimization. */ + struct { + struct xor_func *f; + unsigned chunks; + unsigned speed; + } xor; + + /* Recovery parameters. */ + struct recover { + struct dm_dirty_log *dl; /* Dirty log. */ + struct dm_rh_client *rh; /* Region hash. */ + + struct dm_io_client *dm_io_client; /* recovery dm-io client. */ + /* dm-mem-cache client resource context for recovery stripes. */ + struct dm_mem_cache_client *mem_cache_client; + + struct list_head stripes; /* List of recovery stripes. */ + + region_t nr_regions; + region_t nr_regions_to_recover; + region_t nr_regions_recovered; + unsigned long start_jiffies; + unsigned long end_jiffies; + + unsigned bandwidth; /* Recovery bandwidth [%]. */ + unsigned bandwidth_work; /* Recovery bandwidth [factor]. */ + unsigned bandwidth_parm; /* " constructor parm. */ + unsigned io_size; /* recovery io size <= region size. */ + unsigned io_size_parm; /* recovery io size ctr parameter. */ + unsigned recovery; /* Recovery allowed/prohibited. */ + unsigned recovery_stripes; /* # of parallel recovery stripes. */ + + /* recovery io throttling. */ + atomic_t io_count[IO_NR_COUNT]; /* counter recover/regular io.*/ + unsigned long last_jiffies; + } recover; + + /* RAID set parameters. */ + struct { + struct raid_type *raid_type; /* RAID type (eg, RAID4). */ + unsigned raid_parms; /* # variable raid parameters. */ + + unsigned chunk_size; /* Sectors per chunk. */ + unsigned chunk_size_parm; + unsigned chunk_shift; /* rsector chunk size shift. */ + + unsigned io_size; /* Sectors per io. */ + unsigned io_size_parm; + unsigned io_mask; /* Mask for bio_copy_page_list(). */ + unsigned io_inv_mask; /* Mask for raid_address(). */ + + sector_t sectors_per_dev; /* Sectors per device. */ + + atomic_t failed_devs; /* Amount of devices failed. */ + + /* Index of device to initialize. */ + int dev_to_init; + int dev_to_init_parm; + + /* Raid devices dynamically allocated. */ + unsigned raid_devs; /* # of RAID devices below. */ + unsigned data_devs; /* # of RAID data devices. */ + + int ei; /* index of failed RAID device. */ + + /* Index of dedicated parity device (i.e. RAID4). */ + int pi; + int pi_parm; /* constructor parm for status output. */ + } set; + + /* REMOVEME: devel stats counters. */ + atomic_t stats[S_NR_STATS]; + + /* Dynamically allocated temporary pointers for xor(). */ + unsigned long **data; + + /* Dynamically allocated RAID devices. Alignment? */ + struct raid_dev dev[0]; +}; + +/* Define RAID set bit operations. */ +BITOPS(RS, Bandwidth, raid_set, RS_RECOVERY_BANDWIDTH) +BITOPS(RS, CheckOverwrite, raid_set, RS_CHECK_OVERWRITE) +BITOPS(RS, Dead, raid_set, RS_DEAD) +BITOPS(RS, Degraded, raid_set, RS_DEGRADED) +BITOPS(RS, DevelStats, raid_set, RS_DEVEL_STATS) +BITOPS(RS, Recover, raid_set, RS_RECOVER) +BITOPS(RS, ScBusy, raid_set, RS_SC_BUSY) +BITOPS(RS, Suspend, raid_set, RS_SUSPEND) +#undef BITOPS + +/*----------------------------------------------------------------- + * Raid-4/5 set structures. + *---------------------------------------------------------------*/ +/* RAID level definitions. */ +enum raid_level { + raid4, + raid5, +}; + +/* Symmetric/Asymmetric, Left/Right parity rotating algorithms. */ +enum raid_algorithm { + none, + left_asym, + right_asym, + left_sym, + right_sym, +}; + +struct raid_type { + const char *name; /* RAID algorithm. */ + const char *descr; /* Descriptor text for logging. */ + const unsigned parity_devs; /* # of parity devices. */ + const unsigned minimal_devs; /* minimal # of devices in set. */ + const enum raid_level level; /* RAID level. */ + const enum raid_algorithm algorithm; /* RAID algorithm. */ +}; + +/* Supported raid types and properties. */ +static struct raid_type raid_types[] = { + {"raid4", "RAID4 (dedicated parity disk)", 1, 3, raid4, none}, + {"raid5_la", "RAID5 (left asymmetric)", 1, 3, raid5, left_asym}, + {"raid5_ra", "RAID5 (right asymmetric)", 1, 3, raid5, right_asym}, + {"raid5_ls", "RAID5 (left symmetric)", 1, 3, raid5, left_sym}, + {"raid5_rs", "RAID5 (right symmetric)", 1, 3, raid5, right_sym}, +}; + +/* Address as calculated by raid_address(). */ +struct raid_address { + sector_t key; /* Hash key (address of stripe % chunk_size). */ + unsigned di, pi; /* Data and parity disks index. */ +}; + +/* REMOVEME: reset statistics counters. */ +static void stats_reset(struct raid_set *rs) +{ + unsigned s = S_NR_STATS; + + while (s--) + atomic_set(rs->stats + s, 0); +} + +/*---------------------------------------------------------------- + * RAID set management routines. + *--------------------------------------------------------------*/ +/* + * Begin small helper functions. + */ +/* No need to be called from region hash indirectly at dm_rh_dec(). */ +static void wake_dummy(void *context) {} + +/* Return # of io reference. */ +static int io_ref(struct raid_set *rs) +{ + return atomic_read(&rs->io.in_process); +} + +/* Get an io reference. */ +static void io_get(struct raid_set *rs) +{ + int p = atomic_inc_return(&rs->io.in_process); + + if (p > atomic_read(&rs->io.in_process_max)) + atomic_set(&rs->io.in_process_max, p); /* REMOVEME: max. */ +} + +/* Put the io reference and conditionally wake io waiters. */ +static void io_put(struct raid_set *rs) +{ + /* Intel: rebuild data corrupter? */ + if (atomic_dec_and_test(&rs->io.in_process)) + wake_up(&rs->io.suspendq); + else + BUG_ON(io_ref(rs) < 0); +} + +/* Wait until all io has been processed. */ +static void wait_ios(struct raid_set *rs) +{ + wait_event(rs->io.suspendq, !io_ref(rs)); +} + +/* Queue (optionally delayed) io work. */ +static void wake_do_raid_delayed(struct raid_set *rs, unsigned long delay) +{ + queue_delayed_work(rs->io.wq, &rs->io.dws_do_raid, delay); +} + +/* Queue io work immediately (called from region hash too). */ +static void wake_do_raid(void *context) +{ + struct raid_set *rs = context; + + queue_work(rs->io.wq, &rs->io.dws_do_raid.work); +} + +/* Calculate device sector offset. */ +static sector_t _sector(struct raid_set *rs, struct bio *bio) +{ + sector_t sector = bio->bi_sector; + + sector_div(sector, rs->set.data_devs); + return sector; +} + +/* Return # of active stripes in stripe cache. */ +static int sc_active(struct stripe_cache *sc) +{ + return atomic_read(&sc->active_stripes); +} + +/* Stripe cache busy indicator. */ +static int sc_busy(struct raid_set *rs) +{ + return sc_active(&rs->sc) > + atomic_read(&rs->sc.stripes) - (STRIPES_MIN / 2); +} + +/* Set chunks states. */ +enum chunk_dirty_type { CLEAN, DIRTY, ERROR }; +static void chunk_set(struct stripe_chunk *chunk, enum chunk_dirty_type type) +{ + switch (type) { + case CLEAN: + ClearChunkDirty(chunk); + break; + case DIRTY: + SetChunkDirty(chunk); + break; + case ERROR: + SetChunkError(chunk); + SetStripeError(chunk->stripe); + return; + default: + BUG(); + } + + SetChunkUptodate(chunk); + SetChunkIo(chunk); + ClearChunkError(chunk); +} + +/* Return region state for a sector. */ +static int region_state(struct raid_set *rs, sector_t sector, + enum dm_rh_region_states state) +{ + struct dm_rh_client *rh = rs->recover.rh; + region_t region = dm_rh_sector_to_region(rh, sector); + + return !!(dm_rh_get_state(rh, region, 1) & state); +} + +/* + * Return true in case a chunk should be read/written + * + * Conditions to read/write: + * o chunk not uptodate + * o chunk dirty + * + * Conditios to avoid io: + * o io already ongoing on chunk + * o io explitely prohibited + */ +static int chunk_io(struct stripe_chunk *chunk) +{ + /* 2nd run optimization (flag set below on first run). */ + if (TestClearChunkMustIo(chunk)) + return 1; + + /* Avoid io if prohibited or a locked chunk. */ + if (!ChunkIo(chunk) || ChunkLocked(chunk)) + return 0; + + if (!ChunkUptodate(chunk) || ChunkDirty(chunk)) { + SetChunkMustIo(chunk); /* 2nd run optimization. */ + return 1; + } + + return 0; +} + +/* Call a function on each chunk needing io unless device failed. */ +static unsigned for_each_io_dev(struct stripe *stripe, + void (*f_io)(struct stripe *stripe, unsigned p)) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned p, r = 0; + + for (p = 0; p < rs->set.raid_devs; p++) { + if (chunk_io(CHUNK(stripe, p)) && !DevFailed(rs->dev + p)) { + f_io(stripe, p); + r++; + } + } + + return r; +} + +/* + * Index of device to calculate parity on. + * + * Either the parity device index *or* the selected + * device to init after a spare replacement. + */ +static int dev_for_parity(struct stripe *stripe, int *sync) +{ + struct raid_set *rs = RS(stripe->sc); + int r = region_state(rs, stripe->key, DM_RH_NOSYNC | DM_RH_RECOVERING); + + *sync = !r; + + /* Reconstruct a particular device ?. */ + if (r && rs->set.dev_to_init > -1) + return rs->set.dev_to_init; + else if (rs->set.raid_type->level == raid4) + return rs->set.pi; + else if (!StripeRecover(stripe)) + return stripe->idx.parity; + else + return -1; +} + +/* RAID set congested function. */ +static int rs_congested(void *congested_data, int bdi_bits) +{ + int r; + unsigned p; + struct raid_set *rs = congested_data; + + if (sc_busy(rs) || RSSuspend(rs)) + r = 1; + else for (r = 0, p = rs->set.raid_devs; !r && p--; ) { + /* If any of our component devices are overloaded. */ + struct request_queue *q = bdev_get_queue(rs->dev[p].dev->bdev); + + r |= bdi_congested(&q->backing_dev_info, bdi_bits); + } + + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + (r ? S_CONGESTED : S_NOT_CONGESTED)); + return r; +} + +/* RAID device degrade check. */ +static void rs_check_degrade_dev(struct raid_set *rs, + struct stripe *stripe, unsigned p) +{ + if (TestSetDevFailed(rs->dev + p)) + return; + + /* Through an event in case of member device errors. */ + if (atomic_inc_return(&rs->set.failed_devs) > + rs->set.raid_type->parity_devs && + !TestSetRSDead(rs)) { + /* Display RAID set dead message once. */ + unsigned p; + char buf[BDEVNAME_SIZE]; + + DMERR("FATAL: too many devices failed -> RAID set broken"); + for (p = 0; p < rs->set.raid_devs; p++) { + if (DevFailed(rs->dev + p)) + DMERR("device /dev/%s failed", + bdevname(rs->dev[p].dev->bdev, buf)); + } + } + + /* Only log the first member error. */ + if (!TestSetRSDegraded(rs)) { + char buf[BDEVNAME_SIZE]; + + /* Store index for recovery. */ + rs->set.ei = p; + DMERR("CRITICAL: %sio error on device /dev/%s " + "in region=%llu; DEGRADING RAID set\n", + stripe ? "" : "FAKED ", + bdevname(rs->dev[p].dev->bdev, buf), + (unsigned long long) (stripe ? stripe->key : 0)); + DMERR("further device error messages suppressed"); + } + + schedule_work(&rs->io.ws_do_table_event); +} + +/* RAID set degrade check. */ +static void rs_check_degrade(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned p = rs->set.raid_devs; + + while (p--) { + if (ChunkError(CHUNK(stripe, p))) + rs_check_degrade_dev(rs, stripe, p); + } +} + +/* Lookup a RAID device by name or by major:minor number. */ +static int raid_dev_lookup(struct raid_set *rs, struct raid_dev *dev_lookup) +{ + unsigned p; + struct raid_dev *dev; + + /* + * Must be an incremental loop, because the device array + * can have empty slots still on calls from raid_ctr() + */ + for (dev = rs->dev, p = 0; + dev->dev && p < rs->set.raid_devs; + dev++, p++) { + if (dev_lookup->dev->bdev->bd_dev == dev->dev->bdev->bd_dev) + return p; + } + + return -ENODEV; +} +/* + * End small helper functions. + */ + +/* + * Stripe hash functions + */ +/* Initialize/destroy stripe hash. */ +static int hash_init(struct stripe_hash *hash, unsigned stripes) +{ + unsigned buckets = 2, max_buckets = stripes >> 1; + static unsigned hash_primes[] = { + /* Table of primes for hash_fn/table size optimization. */ + 1, 2, 3, 7, 13, 27, 53, 97, 193, 389, 769, + 1543, 3079, 6151, 12289, 24593, 49157, 98317, + }; + + /* Calculate number of buckets (2^^n <= stripes / 2). */ + while (buckets < max_buckets) + buckets <<= 1; + + /* Allocate stripe hash buckets. */ + hash->hash = vmalloc(buckets * sizeof(*hash->hash)); + if (!hash->hash) + return -ENOMEM; + + hash->buckets = buckets; + hash->mask = buckets - 1; + hash->shift = ffs(buckets); + if (hash->shift > ARRAY_SIZE(hash_primes)) + hash->shift = ARRAY_SIZE(hash_primes) - 1; + + BUG_ON(hash->shift < 2); + hash->prime = hash_primes[hash->shift]; + + /* Initialize buckets. */ + while (buckets--) + INIT_LIST_HEAD(hash->hash + buckets); + return 0; +} + +static void hash_exit(struct stripe_hash *hash) +{ + if (hash->hash) { + vfree(hash->hash); + hash->hash = NULL; + } +} + +static unsigned hash_fn(struct stripe_hash *hash, sector_t key) +{ + return (unsigned) (((key * hash->prime) >> hash->shift) & hash->mask); +} + +static struct list_head *hash_bucket(struct stripe_hash *hash, sector_t key) +{ + return hash->hash + hash_fn(hash, key); +} + +/* Insert an entry into a hash. */ +static void stripe_insert(struct stripe_hash *hash, struct stripe *stripe) +{ + list_add(stripe->lists + LIST_HASH, hash_bucket(hash, stripe->key)); +} + +/* Lookup an entry in the stripe hash. */ +static struct stripe *stripe_lookup(struct stripe_cache *sc, sector_t key) +{ + unsigned look = 0; + struct stripe *stripe; + struct list_head *bucket = hash_bucket(&sc->hash, key); + + list_for_each_entry(stripe, bucket, lists[LIST_HASH]) { + look++; + + if (stripe->key == key) { + /* REMOVEME: statisics. */ + if (look > atomic_read(RS(sc)->stats + S_MAX_LOOKUP)) + atomic_set(RS(sc)->stats + S_MAX_LOOKUP, look); + return stripe; + } + } + + return NULL; +} + +/* Resize the stripe cache hash on size changes. */ +static int sc_hash_resize(struct stripe_cache *sc) +{ + /* Resize indicated ? */ + if (atomic_read(&sc->stripes) != atomic_read(&sc->stripes_last)) { + int r; + struct stripe_hash hash; + + r = hash_init(&hash, atomic_read(&sc->stripes)); + if (r) + return r; + + if (sc->hash.hash) { + unsigned b = sc->hash.buckets; + struct list_head *pos, *tmp; + + /* Walk old buckets and insert into new. */ + while (b--) { + list_for_each_safe(pos, tmp, sc->hash.hash + b) + stripe_insert(&hash, + list_entry(pos, struct stripe, + lists[LIST_HASH])); + } + + } + + hash_exit(&sc->hash); + memcpy(&sc->hash, &hash, sizeof(sc->hash)); + atomic_set(&sc->stripes_last, atomic_read(&sc->stripes)); + } + + return 0; +} +/* End hash stripe hash function. */ + +/* List add, delete, push and pop functions. */ +/* Add stripe to flush list. */ +#define DEL_LIST(lh) \ + if (!list_empty(lh)) \ + list_del_init(lh); + +/* Delete stripe from hash. */ +static void stripe_hash_del(struct stripe *stripe) +{ + DEL_LIST(stripe->lists + LIST_HASH); +} + +/* Return stripe reference count. */ +static inline int stripe_ref(struct stripe *stripe) +{ + return atomic_read(&stripe->cnt); +} + +static void stripe_flush_add(struct stripe *stripe) +{ + struct stripe_cache *sc = stripe->sc; + struct list_head *lh = stripe->lists + LIST_FLUSH; + + if (!StripeReconstruct(stripe) && list_empty(lh)) + list_add_tail(lh, sc->lists + LIST_FLUSH); +} + +/* + * Add stripe to LRU (inactive) list. + * + * Need lock, because of concurrent access from message interface. + */ +static void stripe_lru_add(struct stripe *stripe) +{ + if (!StripeRecover(stripe)) { + unsigned long flags; + struct list_head *lh = stripe->lists + LIST_LRU; + spinlock_t *lock = stripe->sc->locks + LOCK_LRU; + + spin_lock_irqsave(lock, flags); + if (list_empty(lh)) + list_add_tail(lh, stripe->sc->lists + LIST_LRU); + spin_unlock_irqrestore(lock, flags); + } +} + +#define POP_LIST(list) \ + do { \ + if (list_empty(sc->lists + (list))) \ + stripe = NULL; \ + else { \ + stripe = list_first_entry(sc->lists + (list), \ + struct stripe, \ + lists[(list)]); \ + list_del_init(stripe->lists + (list)); \ + } \ + } while (0); + +/* Pop an available stripe off the LRU list. */ +static struct stripe *stripe_lru_pop(struct stripe_cache *sc) +{ + struct stripe *stripe; + spinlock_t *lock = sc->locks + LOCK_LRU; + + spin_lock_irq(lock); + POP_LIST(LIST_LRU); + spin_unlock_irq(lock); + + return stripe; +} + +/* Pop an available stripe off the io list. */ +static struct stripe *stripe_io_pop(struct stripe_cache *sc) +{ + struct stripe *stripe; + + POP_LIST(LIST_FLUSH); + return stripe; +} + +/* Push a stripe safely onto the endio list to be handled by do_endios(). */ +static void stripe_endio_push(struct stripe *stripe) +{ + unsigned long flags; + struct stripe_cache *sc = stripe->sc; + struct list_head *stripe_list = stripe->lists + LIST_ENDIO, + *sc_list = sc->lists + LIST_ENDIO; + spinlock_t *lock = sc->locks + LOCK_ENDIO; + + /* This runs in parallel with do_endios(). */ + spin_lock_irqsave(lock, flags); + if (list_empty(stripe_list)) + list_add_tail(stripe_list, sc_list); + spin_unlock_irqrestore(lock, flags); + + wake_do_raid(RS(sc)); /* Wake myself. */ +} + +/* Pop a stripe off safely off the endio list. */ +static struct stripe *stripe_endio_pop(struct stripe_cache *sc) +{ + struct stripe *stripe; + spinlock_t *lock = sc->locks + LOCK_ENDIO; + + /* This runs in parallel with endio(). */ + spin_lock_irq(lock); + POP_LIST(LIST_ENDIO) + spin_unlock_irq(lock); + return stripe; +} +#undef POP_LIST + +/* + * Stripe cache locking functions + */ +/* Dummy lock function for single host RAID4+5. */ +static void *no_lock(sector_t key, enum dm_lock_type type) +{ + return &no_lock; +} + +/* Dummy unlock function for single host RAID4+5. */ +static void no_unlock(void *lock_handle) +{ +} + +/* No locking (for single host RAID 4+5). */ +static struct dm_raid45_locking_type locking_none = { + .lock = no_lock, + .unlock = no_unlock, +}; + +/* Lock a stripe (for clustering). */ +static int +stripe_lock(struct stripe *stripe, int rw, sector_t key) +{ + stripe->lock = RS(stripe->sc)->locking->lock(key, rw == READ ? DM_RAID45_SHARED : DM_RAID45_EX); + return stripe->lock ? 0 : -EPERM; +} + +/* Unlock a stripe (for clustering). */ +static void stripe_unlock(struct stripe *stripe) +{ + RS(stripe->sc)->locking->unlock(stripe->lock); + stripe->lock = NULL; +} + +/* Test io pending on stripe. */ +static int stripe_io_ref(struct stripe *stripe) +{ + return atomic_read(&stripe->io.pending); +} + +static void stripe_io_get(struct stripe *stripe) +{ + if (atomic_inc_return(&stripe->io.pending) == 1) + /* REMOVEME: statistics */ + atomic_inc(&stripe->sc->active_stripes); + else + BUG_ON(stripe_io_ref(stripe) < 0); +} + +static void stripe_io_put(struct stripe *stripe) +{ + if (atomic_dec_and_test(&stripe->io.pending)) { + if (unlikely(StripeRecover(stripe))) + /* Don't put recovery stripe on endio list. */ + wake_do_raid(RS(stripe->sc)); + else + /* Add regular stripe to endio list and wake daemon. */ + stripe_endio_push(stripe); + + /* REMOVEME: statistics */ + atomic_dec(&stripe->sc->active_stripes); + } else + BUG_ON(stripe_io_ref(stripe) < 0); +} + +/* Take stripe reference out. */ +static int stripe_get(struct stripe *stripe) +{ + int r; + struct list_head *lh = stripe->lists + LIST_LRU; + spinlock_t *lock = stripe->sc->locks + LOCK_LRU; + + /* Delete stripe from LRU (inactive) list if on. */ + spin_lock_irq(lock); + DEL_LIST(lh); + spin_unlock_irq(lock); + + BUG_ON(stripe_ref(stripe) < 0); + + /* Lock stripe on first reference */ + r = (atomic_inc_return(&stripe->cnt) == 1) ? + stripe_lock(stripe, WRITE, stripe->key) : 0; + + return r; +} +#undef DEL_LIST + +/* Return references on a chunk. */ +static int chunk_ref(struct stripe_chunk *chunk) +{ + return atomic_read(&chunk->cnt); +} + +/* Take out reference on a chunk. */ +static int chunk_get(struct stripe_chunk *chunk) +{ + return atomic_inc_return(&chunk->cnt); +} + +/* Drop reference on a chunk. */ +static void chunk_put(struct stripe_chunk *chunk) +{ + BUG_ON(atomic_dec_return(&chunk->cnt) < 0); +} + +/* + * Drop reference on a stripe. + * + * Move it to list of LRU stripes if zero. + */ +static void stripe_put(struct stripe *stripe) +{ + if (atomic_dec_and_test(&stripe->cnt)) { + BUG_ON(stripe_io_ref(stripe)); + stripe_unlock(stripe); + } else + BUG_ON(stripe_ref(stripe) < 0); +} + +/* Helper needed by for_each_io_dev(). */ +static void stripe_get_references(struct stripe *stripe, unsigned p) +{ + + /* + * Another one to reference the stripe in + * order to protect vs. LRU list moves. + */ + io_get(RS(stripe->sc)); /* Global io references. */ + stripe_get(stripe); + stripe_io_get(stripe); /* One for each chunk io. */ +} + +/* Helper for endio() to put all take references. */ +static void stripe_put_references(struct stripe *stripe) +{ + stripe_io_put(stripe); /* One for each chunk io. */ + stripe_put(stripe); + io_put(RS(stripe->sc)); +} + +/* + * Stripe cache functions. + */ +/* + * Invalidate all chunks (i.e. their pages) of a stripe. + * + * I only keep state for the whole chunk. + */ +static inline void stripe_chunk_invalidate(struct stripe_chunk *chunk) +{ + chunk->io.flags = 0; +} + +static void +stripe_chunks_invalidate(struct stripe *stripe) +{ + unsigned p = RS(stripe->sc)->set.raid_devs; + + while (p--) + stripe_chunk_invalidate(CHUNK(stripe, p)); +} + +/* Prepare stripe for (re)use. */ +static void stripe_invalidate(struct stripe *stripe) +{ + stripe->io.flags = 0; + stripe->idx.parity = stripe->idx.recover = -1; + stripe_chunks_invalidate(stripe); +} + +/* + * Allow io on all chunks of a stripe. + * If not set, IO will not occur; i.e. it's prohibited. + * + * Actual IO submission for allowed chunks depends + * on their !uptodate or dirty state. + */ +static void stripe_allow_io(struct stripe *stripe) +{ + unsigned p = RS(stripe->sc)->set.raid_devs; + + while (p--) + SetChunkIo(CHUNK(stripe, p)); +} + +/* Initialize a stripe. */ +static void stripe_init(struct stripe_cache *sc, struct stripe *stripe) +{ + unsigned i, p = RS(sc)->set.raid_devs; + + /* Work all io chunks. */ + while (p--) { + struct stripe_chunk *chunk = CHUNK(stripe, p); + + atomic_set(&chunk->cnt, 0); + chunk->stripe = stripe; + i = ARRAY_SIZE(chunk->bl); + while (i--) + bio_list_init(chunk->bl + i); + } + + stripe->sc = sc; + + + i = ARRAY_SIZE(stripe->lists); + while (i--) + INIT_LIST_HEAD(stripe->lists + i); + + stripe->io.size = RS(sc)->set.io_size; + atomic_set(&stripe->cnt, 0); + atomic_set(&stripe->io.pending, 0); + stripe_invalidate(stripe); +} + +/* Number of pages per chunk. */ +static inline unsigned chunk_pages(unsigned sectors) +{ + return dm_div_up(sectors, SECTORS_PER_PAGE); +} + +/* Number of pages per stripe. */ +static inline unsigned stripe_pages(struct raid_set *rs, unsigned io_size) +{ + return chunk_pages(io_size) * rs->set.raid_devs; +} + +/* Initialize part of page_list (recovery). */ +static void stripe_zero_pl_part(struct stripe *stripe, int p, + unsigned start, unsigned count) +{ + unsigned o = start / SECTORS_PER_PAGE, pages = chunk_pages(count); + /* Get offset into the page_list. */ + struct page_list *pl = pl_elem(PL(stripe, p), o); + + BUG_ON(!pl); + while (pl && pages--) { + BUG_ON(!pl->page); + memset(page_address(pl->page), 0, PAGE_SIZE); + pl = pl->next; + } +} + +/* Initialize parity chunk of stripe. */ +static void stripe_zero_chunk(struct stripe *stripe, int p) +{ + if (p > -1) + stripe_zero_pl_part(stripe, p, 0, stripe->io.size); +} + +/* Return dynamic stripe structure size. */ +static size_t stripe_size(struct raid_set *rs) +{ + return sizeof(struct stripe) + + rs->set.raid_devs * sizeof(struct stripe_chunk); +} + +/* Allocate a stripe and its memory object. */ +/* XXX adjust to cope with stripe cache and recovery stripe caches. */ +enum grow { SC_GROW, SC_KEEP }; +static struct stripe *stripe_alloc(struct stripe_cache *sc, + struct dm_mem_cache_client *mc, + enum grow grow) +{ + int r; + struct stripe *stripe; + + stripe = kmem_cache_zalloc(sc->kc.cache, GFP_KERNEL); + if (stripe) { + /* Grow the dm-mem-cache by one object. */ + if (grow == SC_GROW) { + r = dm_mem_cache_grow(mc, 1); + if (r) + goto err_free; + } + + stripe->obj = dm_mem_cache_alloc(mc); + if (!stripe->obj) + goto err_shrink; + + stripe_init(sc, stripe); + } + + return stripe; + +err_shrink: + if (grow == SC_GROW) + dm_mem_cache_shrink(mc, 1); +err_free: + kmem_cache_free(sc->kc.cache, stripe); + return NULL; +} + +/* + * Free a stripes memory object, shrink the + * memory cache and free the stripe itself. + */ +static void stripe_free(struct stripe *stripe, struct dm_mem_cache_client *mc) +{ + dm_mem_cache_free(mc, stripe->obj); + dm_mem_cache_shrink(mc, 1); + kmem_cache_free(stripe->sc->kc.cache, stripe); +} + +/* Free the recovery stripe. */ +static void stripe_recover_free(struct raid_set *rs) +{ + struct recover *rec = &rs->recover; + struct dm_mem_cache_client *mc; + + mc = rec->mem_cache_client; + rec->mem_cache_client = NULL; + if (mc) { + struct stripe *stripe; + + while (!list_empty(&rec->stripes)) { + stripe = list_first_entry(&rec->stripes, struct stripe, + lists[LIST_RECOVER]); + list_del(stripe->lists + LIST_RECOVER); + kfree(stripe->recover); + stripe_free(stripe, mc); + } + + dm_mem_cache_client_destroy(mc); + dm_io_client_destroy(rec->dm_io_client); + rec->dm_io_client = NULL; + } +} + +/* Grow stripe cache. */ +static int sc_grow(struct stripe_cache *sc, unsigned stripes, enum grow grow) +{ + int r = 0; + + /* Try to allocate this many (additional) stripes. */ + while (stripes--) { + struct stripe *stripe = + stripe_alloc(sc, sc->mem_cache_client, grow); + + if (likely(stripe)) { + stripe_lru_add(stripe); + atomic_inc(&sc->stripes); + } else { + r = -ENOMEM; + break; + } + } + + return r ? r : sc_hash_resize(sc); +} + +/* Shrink stripe cache. */ +static int sc_shrink(struct stripe_cache *sc, unsigned stripes) +{ + int r = 0; + + /* Try to get unused stripe from LRU list. */ + while (stripes--) { + struct stripe *stripe; + + stripe = stripe_lru_pop(sc); + if (stripe) { + /* An LRU stripe may never have ios pending! */ + BUG_ON(stripe_io_ref(stripe)); + BUG_ON(stripe_ref(stripe)); + atomic_dec(&sc->stripes); + /* Remove from hash if on before deletion. */ + stripe_hash_del(stripe); + stripe_free(stripe, sc->mem_cache_client); + } else { + r = -ENOENT; + break; + } + } + + /* Check if stats are still sane. */ + if (atomic_read(&sc->active_stripes_max) > + atomic_read(&sc->stripes)) + atomic_set(&sc->active_stripes_max, 0); + + if (r) + return r; + + return atomic_read(&sc->stripes) ? sc_hash_resize(sc) : 0; +} + +/* Create stripe cache and recovery. */ +static int sc_init(struct raid_set *rs, unsigned stripes) +{ + unsigned i, r, rstripes; + struct stripe_cache *sc = &rs->sc; + struct stripe *stripe; + struct recover *rec = &rs->recover; + struct mapped_device *md; + struct gendisk *disk; + + /* Initialize lists and locks. */ + i = ARRAY_SIZE(sc->lists); + while (i--) + INIT_LIST_HEAD(sc->lists + i); + + INIT_LIST_HEAD(&rec->stripes); + + /* Initialize endio and LRU list locks. */ + i = NR_LOCKS; + while (i--) + spin_lock_init(sc->locks + i); + + /* Initialize atomic variables. */ + atomic_set(&sc->stripes, 0); + atomic_set(&sc->stripes_to_set, 0); + atomic_set(&sc->active_stripes, 0); + atomic_set(&sc->active_stripes_max, 0); /* REMOVEME: statistics. */ + + /* + * We need a runtime unique # to suffix the kmem cache name + * because we'll have one for each active RAID set. + */ + md = dm_table_get_md(rs->ti->table); + disk = dm_disk(md); + sprintf(sc->kc.name, "%s-%d", TARGET, disk->first_minor); + dm_put(md); + sc->kc.cache = kmem_cache_create(sc->kc.name, stripe_size(rs), + 0, 0, NULL); + if (!sc->kc.cache) + return -ENOMEM; + + /* Create memory cache client context for RAID stripe cache. */ + sc->mem_cache_client = + dm_mem_cache_client_create(stripes, rs->set.raid_devs, + chunk_pages(rs->set.io_size)); + if (IS_ERR(sc->mem_cache_client)) + return PTR_ERR(sc->mem_cache_client); + + /* Create memory cache client context for RAID recovery stripe(s). */ + rstripes = rec->recovery_stripes; + rec->mem_cache_client = + dm_mem_cache_client_create(rstripes, rs->set.raid_devs, + chunk_pages(rec->io_size)); + if (IS_ERR(rec->mem_cache_client)) + return PTR_ERR(rec->mem_cache_client); + + /* Create dm-io client context for IO stripes. */ + sc->dm_io_client = + dm_io_client_create(); + if (IS_ERR(sc->dm_io_client)) + return PTR_ERR(sc->dm_io_client); + + /* FIXME: intermingeled with stripe cache initialization. */ + /* Create dm-io client context for recovery stripes. */ + rec->dm_io_client = + dm_io_client_create(); + if (IS_ERR(rec->dm_io_client)) + return PTR_ERR(rec->dm_io_client); + + /* Allocate stripes for set recovery. */ + while (rstripes--) { + stripe = stripe_alloc(sc, rec->mem_cache_client, SC_KEEP); + if (!stripe) + return -ENOMEM; + + stripe->recover = kzalloc(sizeof(*stripe->recover), GFP_KERNEL); + if (!stripe->recover) { + stripe_free(stripe, rec->mem_cache_client); + return -ENOMEM; + } + + SetStripeRecover(stripe); + stripe->io.size = rec->io_size; + list_add_tail(stripe->lists + LIST_RECOVER, &rec->stripes); + /* Don't add recovery stripes to LRU list! */ + } + + /* + * Allocate the stripe objetcs from the + * cache and add them to the LRU list. + */ + r = sc_grow(sc, stripes, SC_KEEP); + if (!r) + atomic_set(&sc->stripes_last, stripes); + + return r; +} + +/* Destroy the stripe cache. */ +static void sc_exit(struct stripe_cache *sc) +{ + struct raid_set *rs = RS(sc); + + if (sc->kc.cache) { + stripe_recover_free(rs); + BUG_ON(sc_shrink(sc, atomic_read(&sc->stripes))); + kmem_cache_destroy(sc->kc.cache); + sc->kc.cache = NULL; + + if (sc->mem_cache_client && !IS_ERR(sc->mem_cache_client)) + dm_mem_cache_client_destroy(sc->mem_cache_client); + + if (sc->dm_io_client && !IS_ERR(sc->dm_io_client)) + dm_io_client_destroy(sc->dm_io_client); + + hash_exit(&sc->hash); + } +} + +/* + * Calculate RAID address + * + * Delivers tuple with the index of the data disk holding the chunk + * in the set, the parity disks index and the start of the stripe + * within the address space of the set (used as the stripe cache hash key). + */ +/* thx MD. */ +static struct raid_address *raid_address(struct raid_set *rs, sector_t sector, + struct raid_address *addr) +{ + sector_t stripe, tmp; + + /* + * chunk_number = sector / chunk_size + * stripe_number = chunk_number / data_devs + * di = stripe % data_devs; + */ + stripe = sector >> rs->set.chunk_shift; + addr->di = sector_div(stripe, rs->set.data_devs); + + switch (rs->set.raid_type->level) { + case raid4: + addr->pi = rs->set.pi; + goto check_shift_di; + case raid5: + tmp = stripe; + addr->pi = sector_div(tmp, rs->set.raid_devs); + + switch (rs->set.raid_type->algorithm) { + case left_asym: /* Left asymmetric. */ + addr->pi = rs->set.data_devs - addr->pi; + case right_asym: /* Right asymmetric. */ +check_shift_di: + if (addr->di >= addr->pi) + addr->di++; + break; + case left_sym: /* Left symmetric. */ + addr->pi = rs->set.data_devs - addr->pi; + case right_sym: /* Right symmetric. */ + addr->di = (addr->pi + addr->di + 1) % + rs->set.raid_devs; + break; + case none: /* Ain't happen: RAID4 algorithm placeholder. */ + BUG(); + } + } + + /* + * Start offset of the stripes chunk on any single device of the RAID + * set, adjusted in case io size differs from chunk size. + */ + addr->key = (stripe << rs->set.chunk_shift) + + (sector & rs->set.io_inv_mask); + return addr; +} + +/* + * Copy data across between stripe pages and bio vectors. + * + * Pay attention to data alignment in stripe and bio pages. + */ +static void bio_copy_page_list(int rw, struct stripe *stripe, + struct page_list *pl, struct bio *bio) +{ + unsigned i, page_offset; + void *page_addr; + struct raid_set *rs = RS(stripe->sc); + struct bio_vec *bv; + + /* Get start page in page list for this sector. */ + i = (bio->bi_sector & rs->set.io_mask) / SECTORS_PER_PAGE; + pl = pl_elem(pl, i); + BUG_ON(!pl); + BUG_ON(!pl->page); + + page_addr = page_address(pl->page); + page_offset = to_bytes(bio->bi_sector & (SECTORS_PER_PAGE - 1)); + + /* Walk all segments and copy data across between bio_vecs and pages. */ + bio_for_each_segment(bv, bio, i) { + int len = bv->bv_len, size; + unsigned bio_offset = 0; + void *bio_addr = __bio_kmap_atomic(bio, i, KM_USER0); +redo: + size = (page_offset + len > PAGE_SIZE) ? + PAGE_SIZE - page_offset : len; + + if (rw == READ) + memcpy(bio_addr + bio_offset, + page_addr + page_offset, size); + else + memcpy(page_addr + page_offset, + bio_addr + bio_offset, size); + + page_offset += size; + if (page_offset == PAGE_SIZE) { + /* + * We reached the end of the chunk page -> + * need to refer to the next one to copy more data. + */ + len -= size; + if (len) { + /* Get next page. */ + pl = pl->next; + BUG_ON(!pl); + BUG_ON(!pl->page); + page_addr = page_address(pl->page); + page_offset = 0; + bio_offset += size; + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_BIO_COPY_PL_NEXT); + goto redo; + } + } + + __bio_kunmap_atomic(bio_addr, KM_USER0); + } +} + +/* + * Xor optimization macros. + */ +/* Xor data pointer declaration and initialization macros. */ +#define DECLARE_2 unsigned long *d0 = data[0], *d1 = data[1] +#define DECLARE_3 DECLARE_2, *d2 = data[2] +#define DECLARE_4 DECLARE_3, *d3 = data[3] +#define DECLARE_5 DECLARE_4, *d4 = data[4] +#define DECLARE_6 DECLARE_5, *d5 = data[5] +#define DECLARE_7 DECLARE_6, *d6 = data[6] +#define DECLARE_8 DECLARE_7, *d7 = data[7] + +/* Xor unrole macros. */ +#define D2(n) d0[n] = d0[n] ^ d1[n] +#define D3(n) D2(n) ^ d2[n] +#define D4(n) D3(n) ^ d3[n] +#define D5(n) D4(n) ^ d4[n] +#define D6(n) D5(n) ^ d5[n] +#define D7(n) D6(n) ^ d6[n] +#define D8(n) D7(n) ^ d7[n] + +#define X_2(macro, offset) macro(offset); macro(offset + 1); +#define X_4(macro, offset) X_2(macro, offset); X_2(macro, offset + 2); +#define X_8(macro, offset) X_4(macro, offset); X_4(macro, offset + 4); +#define X_16(macro, offset) X_8(macro, offset); X_8(macro, offset + 8); +#define X_32(macro, offset) X_16(macro, offset); X_16(macro, offset + 16); +#define X_64(macro, offset) X_32(macro, offset); X_32(macro, offset + 32); + +/* Define a _xor_#chunks_#xors_per_run() function. */ +#define _XOR(chunks, xors_per_run) \ +static void _xor ## chunks ## _ ## xors_per_run(unsigned long **data) \ +{ \ + unsigned end = XOR_SIZE / sizeof(data[0]), i; \ + DECLARE_ ## chunks; \ +\ + for (i = 0; i < end; i += xors_per_run) { \ + X_ ## xors_per_run(D ## chunks, i); \ + } \ +} + +/* Define xor functions for 2 - 8 chunks and xors per run. */ +#define MAKE_XOR_PER_RUN(xors_per_run) \ + _XOR(2, xors_per_run); _XOR(3, xors_per_run); \ + _XOR(4, xors_per_run); _XOR(5, xors_per_run); \ + _XOR(6, xors_per_run); _XOR(7, xors_per_run); \ + _XOR(8, xors_per_run); + +MAKE_XOR_PER_RUN(8) /* Define _xor_*_8() functions. */ +MAKE_XOR_PER_RUN(16) /* Define _xor_*_16() functions. */ +MAKE_XOR_PER_RUN(32) /* Define _xor_*_32() functions. */ +MAKE_XOR_PER_RUN(64) /* Define _xor_*_64() functions. */ + +#define MAKE_XOR(xors_per_run) \ +struct { \ + void (*f)(unsigned long **); \ +} static xor_funcs ## xors_per_run[] = { \ + { NULL }, /* NULL pointers to optimize indexing in xor(). */ \ + { NULL }, \ + { _xor2_ ## xors_per_run }, \ + { _xor3_ ## xors_per_run }, \ + { _xor4_ ## xors_per_run }, \ + { _xor5_ ## xors_per_run }, \ + { _xor6_ ## xors_per_run }, \ + { _xor7_ ## xors_per_run }, \ + { _xor8_ ## xors_per_run }, \ +}; \ +\ +static void xor_ ## xors_per_run(unsigned n, unsigned long **data) \ +{ \ + /* Call respective function for amount of chunks. */ \ + xor_funcs ## xors_per_run[n].f(data); \ +} + +/* Define xor_8() - xor_64 functions. */ +MAKE_XOR(8) +MAKE_XOR(16) +MAKE_XOR(32) +MAKE_XOR(64) + +/* Maximum number of chunks, which can be xor'ed in one go. */ +#define XOR_CHUNKS_MAX (ARRAY_SIZE(xor_funcs8) - 1) + +static void xor_blocks_wrapper(unsigned n, unsigned long **data) +{ + BUG_ON(n < 2 || n > MAX_XOR_BLOCKS + 1); + xor_blocks(n - 1, XOR_SIZE, (void *) data[0], (void **) data + 1); +} + +struct xor_func { + xor_function_t f; + const char *name; +} static xor_funcs[] = { + { xor_8, "xor_8" }, + { xor_16, "xor_16" }, + { xor_32, "xor_32" }, + { xor_64, "xor_64" }, + { xor_blocks_wrapper, "xor_blocks" }, +}; + +/* + * Check, if chunk has to be xored in/out: + * + * o if writes are queued + * o if writes are merged + * o if stripe is to be reconstructed + * o if recovery stripe + */ +static inline int chunk_must_xor(struct stripe_chunk *chunk) +{ + if (ChunkUptodate(chunk)) { + BUG_ON(!bio_list_empty(BL_CHUNK(chunk, WRITE_QUEUED)) && + !bio_list_empty(BL_CHUNK(chunk, WRITE_MERGED))); + + if (!bio_list_empty(BL_CHUNK(chunk, WRITE_QUEUED)) || + !bio_list_empty(BL_CHUNK(chunk, WRITE_MERGED))) + return 1; + + if (StripeReconstruct(chunk->stripe) || + StripeRecover(chunk->stripe)) + return 1; + } + + return 0; +} + +/* + * Calculate crc. + * + * This indexes into the chunks of a stripe and their pages. + * + * All chunks will be xored into the indexed (@pi) + * chunk in maximum groups of xor.chunks. + * + */ +static void xor(struct stripe *stripe, unsigned pi, unsigned sector) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned max_chunks = rs->xor.chunks, n = 1, + o = sector / SECTORS_PER_PAGE, /* Offset into the page_list. */ + p = rs->set.raid_devs; + unsigned long **d = rs->data; + xor_function_t xor_f = rs->xor.f->f; + + BUG_ON(sector > stripe->io.size); + + /* Address of parity page to xor into. */ + d[0] = page_address(pl_elem(PL(stripe, pi), o)->page); + + while (p--) { + /* Preset pointers to data pages. */ + if (p != pi && chunk_must_xor(CHUNK(stripe, p))) + d[n++] = page_address(pl_elem(PL(stripe, p), o)->page); + + /* If max chunks -> xor. */ + if (n == max_chunks) { + xor_f(n, d); + n = 1; + } + } + + /* If chunks -> xor. */ + if (n > 1) + xor_f(n, d); +} + +/* Common xor loop through all stripe page lists. */ +static void common_xor(struct stripe *stripe, sector_t count, + unsigned off, unsigned pi) +{ + unsigned sector; + + BUG_ON(!count); + for (sector = off; sector < count; sector += SECTORS_PER_PAGE) + xor(stripe, pi, sector); + + /* Set parity page uptodate and clean. */ + chunk_set(CHUNK(stripe, pi), CLEAN); + atomic_inc(RS(stripe->sc)->stats + S_XORS); /* REMOVEME: statistics. */ +} + +/* + * Calculate parity sectors on intact stripes. + * + * Need to calculate raid address for recover stripe, because its + * chunk sizes differs and is typically larger than io chunk size. + */ +static void parity_xor(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned chunk_size = rs->set.chunk_size, io_size = stripe->io.size, + xor_size = chunk_size > io_size ? io_size : chunk_size; + sector_t off; + + /* This can be the recover stripe with a larger io size. */ + for (off = 0; off < io_size; off += xor_size) { + /* + * Recover stripe is likely bigger than regular io + * ones and has no precalculated parity disk index -> + * need to calculate RAID address. + */ + if (unlikely(StripeRecover(stripe))) { + struct raid_address addr; + + raid_address(rs, + (stripe->key + off) * rs->set.data_devs, + &addr); + stripe->idx.parity = addr.pi; + stripe_zero_pl_part(stripe, addr.pi, off, xor_size); + } + + common_xor(stripe, xor_size, off, stripe->idx.parity); + chunk_set(CHUNK(stripe, stripe->idx.parity), DIRTY); + } +} + +/* Reconstruct missing chunk. */ +static void stripe_reconstruct(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + int p = rs->set.raid_devs, pr = stripe->idx.recover; + + BUG_ON(pr < 0); + + /* Check if all but the chunk to be reconstructed are uptodate. */ + while (p--) + BUG_ON(p != pr && !ChunkUptodate(CHUNK(stripe, p))); + + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + (RSDegraded(rs) ? S_RECONSTRUCT_EI : + S_RECONSTRUCT_DEV)); + /* Zero chunk to be reconstructed. */ + stripe_zero_chunk(stripe, pr); + common_xor(stripe, stripe->io.size, 0, pr); + stripe->idx.recover = -1; +} + +/* + * Recovery io throttling + */ +/* Conditionally reset io counters. */ +static int recover_io_reset(struct raid_set *rs) +{ + unsigned long j = jiffies; + + /* Pay attention to jiffies overflows. */ + if (j > rs->recover.last_jiffies + HZ / 20 || + j < rs->recover.last_jiffies) { + atomic_set(rs->recover.io_count + IO_WORK, 0); + atomic_set(rs->recover.io_count + IO_RECOVER, 0); + rs->recover.last_jiffies = j; + return 1; + } + + return 0; +} + +/* Count ios. */ +static void recover_io_count(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + + recover_io_reset(rs); + atomic_inc(rs->recover.io_count + + (StripeRecover(stripe) ? IO_RECOVER : IO_WORK)); +} + +/* Try getting a stripe either from the hash or from the LRU list. */ +static struct stripe *stripe_find(struct raid_set *rs, + struct raid_address *addr) +{ + int r; + struct stripe_cache *sc = &rs->sc; + struct stripe *stripe; + + /* Try stripe from hash. */ + stripe = stripe_lookup(sc, addr->key); + if (stripe) { + r = stripe_get(stripe); + if (r) + goto get_lock_failed; + + atomic_inc(rs->stats + S_HITS_1ST); /* REMOVEME: statistics. */ + } else { + /* Not in hash -> try to get an LRU stripe. */ + stripe = stripe_lru_pop(sc); + if (stripe) { + /* + * An LRU stripe may not be referenced + * and may never have ios pending! + */ + BUG_ON(stripe_ref(stripe)); + BUG_ON(stripe_io_ref(stripe)); + + /* Remove from hash if on before reuse. */ + stripe_hash_del(stripe); + + /* Invalidate before reinserting with changed key. */ + stripe_invalidate(stripe); + + stripe->key = addr->key; + stripe->region = dm_rh_sector_to_region(rs->recover.rh, + addr->key); + stripe->idx.parity = addr->pi; + r = stripe_get(stripe); + if (r) + goto get_lock_failed; + + /* Insert stripe into the stripe hash. */ + stripe_insert(&sc->hash, stripe); + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_INSCACHE); + } + } + + return stripe; + +get_lock_failed: + stripe_put(stripe); + return NULL; +} + +/* + * Process end io + * + * I need to do it here because I can't in interrupt + */ +/* End io all bios on a bio list. */ +static void bio_list_endio(struct stripe *stripe, struct bio_list *bl, + int p, int error) +{ + struct raid_set *rs = RS(stripe->sc); + struct bio *bio; + struct page_list *pl = PL(stripe, p); + struct stripe_chunk *chunk = CHUNK(stripe, p); + + /* Update region counters. */ + while ((bio = bio_list_pop(bl))) { + if (bio_data_dir(bio) == WRITE) + /* Drop io pending count for any writes. */ + dm_rh_dec(rs->recover.rh, stripe->region); + else if (!error) + /* Copy data accross. */ + bio_copy_page_list(READ, stripe, pl, bio); + + bio_endio(bio, error); + + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + (bio_data_dir(bio) == READ ? + S_BIOS_ENDIO_READ : S_BIOS_ENDIO_WRITE)); + + chunk_put(chunk); + stripe_put(stripe); + io_put(rs); /* Wake any suspend waiters on last bio. */ + } +} + +/* + * End io all reads/writes on a stripe copying + * read data accross from stripe to bios and + * decrementing region counters for writes. + * + * Processing of ios depeding on state: + * o no chunk error -> endio ok + * o degraded: + * - chunk error and read -> ignore to be requeued + * - chunk error and write -> endio ok + * o dead (more than parity_devs failed) and chunk_error-> endio failed + */ +static void stripe_endio(int rw, struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned p = rs->set.raid_devs; + int write = (rw != READ); + + while (p--) { + struct stripe_chunk *chunk = CHUNK(stripe, p); + struct bio_list *bl; + + BUG_ON(ChunkLocked(chunk)); + + bl = BL_CHUNK(chunk, rw); + if (bio_list_empty(bl)) + continue; + + if (unlikely(ChunkError(chunk) || !ChunkUptodate(chunk))) { + /* RAID set dead. */ + if (unlikely(RSDead(rs))) + bio_list_endio(stripe, bl, p, -EIO); + /* RAID set degraded. */ + else if (write) + bio_list_endio(stripe, bl, p, 0); + } else { + BUG_ON(!RSDegraded(rs) && ChunkDirty(chunk)); + bio_list_endio(stripe, bl, p, 0); + } + } +} + +/* Fail all ios hanging off all bio lists of a stripe. */ +static void stripe_fail_io(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned p = rs->set.raid_devs; + + while (p--) { + struct stripe_chunk *chunk = CHUNK(stripe, p); + int i = ARRAY_SIZE(chunk->bl); + + /* Fail all bios on all bio lists of the stripe. */ + while (i--) { + struct bio_list *bl = chunk->bl + i; + + if (!bio_list_empty(bl)) + bio_list_endio(stripe, bl, p, -EIO); + } + } + + /* Put stripe on LRU list. */ + BUG_ON(stripe_io_ref(stripe)); + BUG_ON(stripe_ref(stripe)); +} + +/* Unlock all required chunks. */ +static void stripe_chunks_unlock(struct stripe *stripe) +{ + unsigned p = RS(stripe->sc)->set.raid_devs; + struct stripe_chunk *chunk; + + while (p--) { + chunk = CHUNK(stripe, p); + + if (TestClearChunkUnlock(chunk)) + ClearChunkLocked(chunk); + } +} + +/* + * Queue reads and writes to a stripe by hanging + * their bios off the stripesets read/write lists. + */ +static int stripe_queue_bio(struct raid_set *rs, struct bio *bio, + struct bio_list *reject) +{ + struct raid_address addr; + struct stripe *stripe; + + stripe = stripe_find(rs, raid_address(rs, bio->bi_sector, &addr)); + if (stripe) { + int r = 0, rw = bio_data_dir(bio); + + /* Distinguish reads and writes. */ + bio_list_add(BL(stripe, addr.di, rw), bio); + + if (rw == READ) + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_BIOS_ADDED_READ); + else { + /* Inrement pending write count on region. */ + dm_rh_inc(rs->recover.rh, stripe->region); + r = 1; + + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_BIOS_ADDED_WRITE); + } + + /* + * Put on io (flush) list in case of + * initial bio queued to chunk. + */ + if (chunk_get(CHUNK(stripe, addr.di)) == 1) + stripe_flush_add(stripe); + + return r; + } + + /* Got no stripe from cache or failed to lock it -> reject bio. */ + bio_list_add(reject, bio); + atomic_inc(rs->stats + S_IOS_POST); /* REMOVEME: statistics. */ + return 0; +} + +/* + * Handle all stripes by handing them to the daemon, because we can't + * map their chunk pages to copy the data in interrupt context. + * + * We don't want to handle them here either, while interrupts are disabled. + */ + +/* Read/write endio function for dm-io (interrupt context). */ +static void endio(unsigned long error, void *context) +{ + struct stripe_chunk *chunk = context; + + if (unlikely(error)) { + chunk_set(chunk, ERROR); + /* REMOVEME: statistics. */ + atomic_inc(RS(chunk->stripe->sc)->stats + S_STRIPE_ERROR); + } else + chunk_set(chunk, CLEAN); + + /* + * For recovery stripes, I need to reset locked locked + * here, because those aren't processed in do_endios(). + */ + if (unlikely(StripeRecover(chunk->stripe))) + ClearChunkLocked(chunk); + else + SetChunkUnlock(chunk); + + /* Indirectly puts stripe on cache's endio list via stripe_io_put(). */ + stripe_put_references(chunk->stripe); +} + +/* Read/Write a chunk asynchronously. */ +static void stripe_chunk_rw(struct stripe *stripe, unsigned p) +{ + struct stripe_cache *sc = stripe->sc; + struct raid_set *rs = RS(sc); + struct dm_mem_cache_object *obj = stripe->obj + p; + struct page_list *pl = obj->pl; + struct stripe_chunk *chunk = CHUNK(stripe, p); + struct raid_dev *dev = rs->dev + p; + struct dm_io_region io = { + .bdev = dev->dev->bdev, + .sector = stripe->key, + .count = stripe->io.size, + }; + struct dm_io_request control = { + .bi_rw = ChunkDirty(chunk) ? WRITE : READ, + .mem = { + .type = DM_IO_PAGE_LIST, + .ptr.pl = pl, + .offset = 0, + }, + .notify = { + .fn = endio, + .context = chunk, + }, + .client = StripeRecover(stripe) ? rs->recover.dm_io_client : + sc->dm_io_client, + }; + + BUG_ON(ChunkLocked(chunk)); + BUG_ON(!ChunkUptodate(chunk) && ChunkDirty(chunk)); + BUG_ON(ChunkUptodate(chunk) && !ChunkDirty(chunk)); + + /* + * Don't rw past end of device, which can happen, because + * typically sectors_per_dev isn't divisible by io_size. + */ + if (unlikely(io.sector + io.count > rs->set.sectors_per_dev)) + io.count = rs->set.sectors_per_dev - io.sector; + + BUG_ON(!io.count); + io.sector += dev->start; /* Add . */ + if (RSRecover(rs)) + recover_io_count(stripe); /* Recovery io accounting. */ + + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + (ChunkDirty(chunk) ? S_DM_IO_WRITE : + S_DM_IO_READ)); + SetChunkLocked(chunk); + SetDevIoQueued(dev); + BUG_ON(dm_io(&control, 1, &io, NULL)); +} + +/* + * Write dirty or read not uptodate page lists of a stripe. + */ +static int stripe_chunks_rw(struct stripe *stripe) +{ + int r; + struct raid_set *rs = RS(stripe->sc); + + /* + * Increment the pending count on the stripe + * first, so that we don't race in endio(). + * + * An inc (IO) is needed for any chunk unless !ChunkIo(chunk): + * + * o not uptodate + * o dirtied by writes merged + * o dirtied by parity calculations + */ + r = for_each_io_dev(stripe, stripe_get_references); + if (r) { + /* Io needed: chunks are either not uptodate or dirty. */ + int max; /* REMOVEME: */ + struct stripe_cache *sc = &rs->sc; + + /* Submit actual io. */ + for_each_io_dev(stripe, stripe_chunk_rw); + + /* REMOVEME: statistics */ + max = sc_active(sc); + if (atomic_read(&sc->active_stripes_max) < max) + atomic_set(&sc->active_stripes_max, max); + + atomic_inc(rs->stats + S_FLUSHS); + /* END REMOVEME: statistics */ + } + + return r; +} + +/* Merge in all writes hence dirtying respective chunks. */ +static void stripe_merge_writes(struct stripe *stripe) +{ + unsigned p = RS(stripe->sc)->set.raid_devs; + + while (p--) { + struct stripe_chunk *chunk = CHUNK(stripe, p); + struct bio_list *write = BL_CHUNK(chunk, WRITE_QUEUED); + + if (!bio_list_empty(write)) { + struct bio *bio; + struct page_list *pl = stripe->obj[p].pl; + + /* + * We can play with the lists without holding a lock, + * because it is just us accessing them anyway. + */ + bio_list_for_each(bio, write) + bio_copy_page_list(WRITE, stripe, pl, bio); + + bio_list_merge(BL_CHUNK(chunk, WRITE_MERGED), write); + bio_list_init(write); + chunk_set(chunk, DIRTY); + } + } +} + +/* Queue all writes to get merged. */ +static int stripe_queue_writes(struct stripe *stripe) +{ + int r = 0; + unsigned p = RS(stripe->sc)->set.raid_devs; + + while (p--) { + struct stripe_chunk *chunk = CHUNK(stripe, p); + struct bio_list *write = BL_CHUNK(chunk, WRITE); + + if (!bio_list_empty(write)) { + bio_list_merge(BL_CHUNK(chunk, WRITE_QUEUED), write); + bio_list_init(write); +SetChunkIo(chunk); + r = 1; + } + } + + return r; +} + + +/* Check, if a chunk gets completely overwritten. */ +static int stripe_check_chunk_overwrite(struct stripe *stripe, unsigned p) +{ + unsigned sectors = 0; + struct bio *bio; + struct bio_list *bl = BL(stripe, p, WRITE_QUEUED); + + bio_list_for_each(bio, bl) + sectors += bio_sectors(bio); + + BUG_ON(sectors > RS(stripe->sc)->set.io_size); + return sectors == RS(stripe->sc)->set.io_size; +} + +/* + * Avoid io on broken/reconstructed drive in order to + * reconstruct date on endio. + * + * (*1*) We set StripeReconstruct() in here, so that _do_endios() + * will trigger a reconstruct call before resetting it. + */ +static int stripe_chunk_set_io_flags(struct stripe *stripe, int pr) +{ + struct stripe_chunk *chunk = CHUNK(stripe, pr); + + /* + * Allow io on all chunks but the indexed one, + * because we're either degraded or prohibit it + * on the one for later reconstruction. + */ + /* Includes ClearChunkIo(), ClearChunkUptodate(). */ + stripe_chunk_invalidate(chunk); + stripe->idx.recover = pr; + SetStripeReconstruct(stripe); + + /* REMOVEME: statistics. */ + atomic_inc(RS(stripe->sc)->stats + S_PROHIBITCHUNKIO); + return -EPERM; +} + +/* Chunk locked/uptodate and device failed tests. */ +static struct stripe_chunk * +stripe_chunk_check(struct stripe *stripe, unsigned p, unsigned *chunks_uptodate) +{ + struct raid_set *rs = RS(stripe->sc); + struct stripe_chunk *chunk = CHUNK(stripe, p); + + /* Can't access active chunks. */ + if (ChunkLocked(chunk)) { + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_CHUNK_LOCKED); + return NULL; + } + + /* Can't access broken devive. */ + if (ChunkError(chunk) || DevFailed(rs->dev + p)) + return NULL; + + /* Can access uptodate chunks. */ + if (ChunkUptodate(chunk)) { + (*chunks_uptodate)++; + return NULL; + } + + return chunk; +} + +/* + * Degraded/reconstruction mode. + * + * Check stripe state to figure which chunks don't need IO. + * + * Returns 0 for fully operational, -EPERM for degraded/resynchronizing. + */ +static int stripe_check_reconstruct(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + + if (RSDead(rs)) { + ClearStripeReconstruct(stripe); + ClearStripeReconstructed(stripe); + stripe_allow_io(stripe); + return 0; + } + + /* Avoid further reconstruction setting, when already set. */ + if (StripeReconstruct(stripe)) { + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_RECONSTRUCT_SET); + return -EBUSY; + } + + /* Initially allow io on all chunks. */ + stripe_allow_io(stripe); + + /* Return if stripe is already reconstructed. */ + if (StripeReconstructed(stripe)) { + atomic_inc(rs->stats + S_RECONSTRUCTED); + return 0; + } + + /* + * Degraded/reconstruction mode (device failed) -> + * avoid io on the failed device. + */ + if (unlikely(RSDegraded(rs))) { + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_DEGRADED); + /* Allow IO on all devices but the dead one. */ + BUG_ON(rs->set.ei < 0); + return stripe_chunk_set_io_flags(stripe, rs->set.ei); + } else { + int sync, pi = dev_for_parity(stripe, &sync); + + /* + * Reconstruction mode (ie. a particular (replaced) device or + * some (rotating) parity chunk is being resynchronized) -> + * o make sure all needed chunks are read in + * o writes are allowed to go through + */ + if (!sync) { + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_NOSYNC); + /* Allow IO on all devs but the one to reconstruct. */ + return stripe_chunk_set_io_flags(stripe, pi); + } + } + + return 0; +} + +/* + * Check, if stripe is ready to merge writes. + * I.e. if all chunks present to allow to merge bios. + * + * We prohibit io on: + * + * o chunks without bios + * o chunks which get completely written over + */ +static int stripe_merge_possible(struct stripe *stripe, int nosync) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned chunks_overwrite = 0, chunks_prohibited = 0, + chunks_uptodate = 0, p = rs->set.raid_devs; + + /* Walk all chunks. */ + while (p--) { + struct stripe_chunk *chunk; + + /* Prohibit io on broken devices. */ + if (DevFailed(rs->dev + p)) { + chunk = CHUNK(stripe, p); + goto prohibit_io; + } + + /* We can't optimize any further if no chunk. */ + chunk = stripe_chunk_check(stripe, p, &chunks_uptodate); + if (!chunk || nosync) + continue; + + /* + * We have a chunk, which is not uptodate. + * + * If this is not parity and we don't have + * reads queued, we can optimize further. + */ + if (p != stripe->idx.parity && + bio_list_empty(BL_CHUNK(chunk, READ)) && + bio_list_empty(BL_CHUNK(chunk, WRITE_MERGED))) { + if (bio_list_empty(BL_CHUNK(chunk, WRITE_QUEUED))) + goto prohibit_io; + else if (RSCheckOverwrite(rs) && + stripe_check_chunk_overwrite(stripe, p)) + /* Completely overwritten chunk. */ + chunks_overwrite++; + } + + /* Allow io for chunks with bios and overwritten ones. */ + SetChunkIo(chunk); + continue; + +prohibit_io: + /* No io for broken devices or for chunks w/o bios. */ + ClearChunkIo(chunk); + chunks_prohibited++; + /* REMOVEME: statistics. */ + atomic_inc(RS(stripe->sc)->stats + S_PROHIBITCHUNKIO); + } + + /* All data chunks will get written over. */ + if (chunks_overwrite == rs->set.data_devs) + atomic_inc(rs->stats + S_OVERWRITE); /* REMOVEME: statistics.*/ + else if (chunks_uptodate + chunks_prohibited < rs->set.raid_devs) { + /* We don't have enough chunks to merge. */ + atomic_inc(rs->stats + S_CANT_MERGE); /* REMOVEME: statistics.*/ + return -EPERM; + } + + /* + * If we have all chunks up to date or overwrite them, we + * just zero the parity chunk and let stripe_rw() recreate it. + */ + if (chunks_uptodate == rs->set.raid_devs || + chunks_overwrite == rs->set.data_devs) { + stripe_zero_chunk(stripe, stripe->idx.parity); + BUG_ON(StripeReconstruct(stripe)); + SetStripeReconstruct(stripe); /* Enforce xor in caller. */ + } else { + /* + * With less chunks, we xor parity out. + * + * (*4*) We rely on !StripeReconstruct() in chunk_must_xor(), + * so that only chunks with queued or merged writes + * are being xored. + */ + parity_xor(stripe); + } + + /* + * We do have enough chunks to merge. + * All chunks are uptodate or get written over. + */ + atomic_inc(rs->stats + S_CAN_MERGE); /* REMOVEME: statistics. */ + return 0; +} + +/* + * Avoid reading chunks in case we're fully operational. + * + * We prohibit io on any chunks without bios but the parity chunk. + */ +static void stripe_avoid_reads(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + unsigned dummy = 0, p = rs->set.raid_devs; + + /* Walk all chunks. */ + while (p--) { + struct stripe_chunk *chunk = + stripe_chunk_check(stripe, p, &dummy); + + if (!chunk) + continue; + + /* If parity or any bios pending -> allow io. */ + if (chunk_ref(chunk) || p == stripe->idx.parity) + SetChunkIo(chunk); + else { + ClearChunkIo(chunk); + /* REMOVEME: statistics. */ + atomic_inc(RS(stripe->sc)->stats + S_PROHIBITCHUNKIO); + } + } +} + +/* + * Read/write a stripe. + * + * All stripe read/write activity goes through this function + * unless recovery, which has to call stripe_chunk_rw() directly. + * + * Make sure we don't try already merged stripes in order + * to avoid data corruption. + * + * Check the state of the RAID set and if degraded (or + * resynchronizing for reads), read in all other chunks but + * the one on the dead/resynchronizing device in order to be + * able to reconstruct the missing one in _do_endios(). + * + * Can be called on active stripes in order + * to dispatch new io on inactive chunks. + * + * States to cover: + * o stripe to read and/or write + * o stripe with error to reconstruct + */ +static void stripe_rw(struct stripe *stripe) +{ + int nosync, r; + struct raid_set *rs = RS(stripe->sc); + + /* + * Check, if a chunk needs to be reconstructed + * because of a degraded set or a region out of sync. + */ + nosync = stripe_check_reconstruct(stripe); + switch (nosync) { + case -EBUSY: + return; /* Wait for stripe reconstruction to finish. */ + case -EPERM: + goto io; + } + + /* + * If we don't have merged writes pending, we can schedule + * queued writes to be merged next without corrupting data. + */ + if (!StripeMerged(stripe)) { + r = stripe_queue_writes(stripe); + if (r) + /* Writes got queued -> flag RBW. */ + SetStripeRBW(stripe); + } + + /* + * Merge all writes hanging off uptodate/overwritten + * chunks of the stripe. + */ + if (StripeRBW(stripe)) { + r = stripe_merge_possible(stripe, nosync); + if (!r) { /* Merge possible. */ + struct stripe_chunk *chunk; + + /* + * I rely on valid parity in order + * to xor a fraction of chunks out + * of parity and back in. + */ + stripe_merge_writes(stripe); /* Merge writes in. */ + parity_xor(stripe); /* Update parity. */ + ClearStripeReconstruct(stripe); /* Reset xor enforce. */ + SetStripeMerged(stripe); /* Writes merged. */ + ClearStripeRBW(stripe); /* Disable RBW. */ + + /* + * REMOVEME: sanity check on parity chunk + * states after writes got merged. + */ + chunk = CHUNK(stripe, stripe->idx.parity); + BUG_ON(ChunkLocked(chunk)); + BUG_ON(!ChunkUptodate(chunk)); + BUG_ON(!ChunkDirty(chunk)); + BUG_ON(!ChunkIo(chunk)); + } + } else if (!nosync && !StripeMerged(stripe)) + /* Read avoidance if not degraded/resynchronizing/merged. */ + stripe_avoid_reads(stripe); + +io: + /* Now submit any reads/writes for non-uptodate or dirty chunks. */ + r = stripe_chunks_rw(stripe); + if (!r) { + /* + * No io submitted because of chunk io + * prohibited or locked chunks/failed devices + * -> push to end io list for processing. + */ + stripe_endio_push(stripe); + atomic_inc(rs->stats + S_NO_RW); /* REMOVEME: statistics. */ + } +} + +/* + * Recovery functions + */ +/* Read a stripe off a raid set for recovery. */ +static int stripe_recover_read(struct stripe *stripe, int pi) +{ + BUG_ON(stripe_io_ref(stripe)); + + /* Invalidate all chunks so that they get read in. */ + stripe_chunks_invalidate(stripe); + stripe_allow_io(stripe); /* Allow io on all recovery chunks. */ + + /* + * If we are reconstructing a perticular device, we can avoid + * reading the respective chunk in, because we're going to + * reconstruct it anyway. + * + * We can't do that for resynchronization of rotating parity, + * because the recovery stripe chunk size is typically larger + * than the sets chunk size. + */ + if (pi > -1) + ClearChunkIo(CHUNK(stripe, pi)); + + return stripe_chunks_rw(stripe); +} + +/* Write a stripe to a raid set for recovery. */ +static int stripe_recover_write(struct stripe *stripe, int pi) +{ + BUG_ON(stripe_io_ref(stripe)); + + /* + * If this is a reconstruct of a particular device, then + * reconstruct the respective chunk, else create parity chunk. + */ + if (pi > -1) { + stripe_zero_chunk(stripe, pi); + common_xor(stripe, stripe->io.size, 0, pi); + chunk_set(CHUNK(stripe, pi), DIRTY); + } else + parity_xor(stripe); + + return stripe_chunks_rw(stripe); +} + +/* Read/write a recovery stripe. */ +static int stripe_recover_rw(struct stripe *stripe) +{ + int r = 0, sync = 0; + + /* Read/write flip-flop. */ + if (TestClearStripeRBW(stripe)) { + SetStripeMerged(stripe); + stripe->key = stripe->recover->pos; + r = stripe_recover_read(stripe, dev_for_parity(stripe, &sync)); + BUG_ON(!r); + } else if (TestClearStripeMerged(stripe)) { + r = stripe_recover_write(stripe, dev_for_parity(stripe, &sync)); + BUG_ON(!r); + } + + BUG_ON(sync); + return r; +} + +/* Recover bandwidth available ?. */ +static int recover_bandwidth(struct raid_set *rs) +{ + int r, work; + + /* On reset or when bios delayed -> allow recovery. */ + r = recover_io_reset(rs); + if (r || RSBandwidth(rs)) + goto out; + + work = atomic_read(rs->recover.io_count + IO_WORK); + if (work) { + /* Pay attention to larger recover stripe size. */ + int recover = atomic_read(rs->recover.io_count + IO_RECOVER) * + rs->recover.io_size / rs->set.io_size; + + /* + * Don't use more than given bandwidth + * of the work io for recovery. + */ + if (recover > work / rs->recover.bandwidth_work) { + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_NO_BANDWIDTH); + return 0; + } + } + +out: + atomic_inc(rs->stats + S_BANDWIDTH); /* REMOVEME: statistics. */ + return 1; +} + +/* Try to get a region to recover. */ +static int stripe_recover_get_region(struct stripe *stripe) +{ + struct raid_set *rs = RS(stripe->sc); + struct recover *rec = &rs->recover; + struct recover_addr *addr = stripe->recover; + struct dm_dirty_log *dl = rec->dl; + struct dm_rh_client *rh = rec->rh; + + BUG_ON(!dl); + BUG_ON(!rh); + + /* Return, that we have region first to finish it during suspension. */ + if (addr->reg) + return 1; + + if (RSSuspend(rs)) + return -EPERM; + + if (dl->type->get_sync_count(dl) >= rec->nr_regions) + return -ENOENT; + + /* If we don't have enough bandwidth, we don't proceed recovering. */ + if (!recover_bandwidth(rs)) + return -EAGAIN; + + /* Start quiescing a region. */ + dm_rh_recovery_prepare(rh); + addr->reg = dm_rh_recovery_start(rh); + if (!addr->reg) + return -EAGAIN; + + addr->pos = dm_rh_region_to_sector(rh, dm_rh_get_region_key(addr->reg)); + addr->end = addr->pos + dm_rh_get_region_size(rh); + + /* + * Take one global io reference out for the + * whole region, which is going to be released + * when the region is completely done with. + */ + io_get(rs); + return 0; +} + +/* Update region hash state. */ +enum recover_type { REC_FAILURE = 0, REC_SUCCESS = 1 }; +static void recover_rh_update(struct stripe *stripe, enum recover_type success) +{ + struct recover_addr *addr = stripe->recover; + struct raid_set *rs = RS(stripe->sc); + struct recover *rec = &rs->recover; + + if (!addr->reg) { + DMERR("%s- Called w/o region", __func__); + return; + } + + dm_rh_recovery_end(addr->reg, success); + if (success) + rec->nr_regions_recovered++; + + addr->reg = NULL; + + /* + * Completely done with this region -> + * release the 1st io reference. + */ + io_put(rs); +} + +/* Set start of recovery state. */ +static void set_start_recovery(struct raid_set *rs) +{ + /* Initialize recovery. */ + rs->recover.start_jiffies = jiffies; + rs->recover.end_jiffies = 0; +} + +/* Set end of recovery state. */ +static void set_end_recovery(struct raid_set *rs) +{ + ClearRSRecover(rs); + rs->set.dev_to_init = -1; + + /* Check for jiffies overrun. */ + rs->recover.end_jiffies = jiffies; + if (rs->recover.end_jiffies < rs->recover.start_jiffies) + rs->recover.end_jiffies = ~0; +} + +/* Handle recovery on one recovery stripe. */ +static int _do_recovery(struct stripe *stripe) +{ + int r; + struct raid_set *rs = RS(stripe->sc); + struct recover_addr *addr = stripe->recover; + + /* If recovery is active -> return. */ + if (stripe_io_ref(stripe)) + return 1; + + /* IO error is fatal for recovery -> stop it. */ + if (unlikely(StripeError(stripe))) + goto err; + + /* Recovery end required. */ + if (!RSRecover(rs)) + goto err; + + /* Get a region to recover. */ + r = stripe_recover_get_region(stripe); + switch (r) { + case 0: /* Got a new region: flag initial read before write. */ + SetStripeRBW(stripe); + case 1: /* Have a region in the works. */ + break; + case -EAGAIN: + /* No bandwidth/quiesced region yet, try later. */ + if (!io_ref(rs)) + wake_do_raid_delayed(rs, HZ / 4); + case -EPERM: + /* Suspend. */ + return 1; + case -ENOENT: /* No more regions to recover. */ + schedule_work(&rs->io.ws_do_table_event); + return 0; + default: + BUG(); + } + + /* Read/write a recover stripe. */ + r = stripe_recover_rw(stripe); + if (r) + /* IO initiated. */ + return 1; + + /* Read and write finished-> update recovery position within region. */ + addr->pos += stripe->io.size; + + /* If we're at end of region, update region hash. */ + if (addr->pos >= addr->end || + addr->pos >= rs->set.sectors_per_dev) + recover_rh_update(stripe, REC_SUCCESS); + else + /* Prepare to read next region segment. */ + SetStripeRBW(stripe); + + /* Schedule myself for another round... */ + wake_do_raid(rs); + return 1; + +err: + /* FIXME: rather try recovering other regions on error? */ + rs_check_degrade(stripe); + recover_rh_update(stripe, REC_FAILURE); + + /* Check state of partially recovered array. */ + if (RSDegraded(rs) && !RSDead(rs) && + rs->set.dev_to_init != -1 && + rs->set.ei != rs->set.dev_to_init) + /* Broken drive != drive to recover -> FATAL. */ + SetRSDead(rs); + + if (StripeError(stripe)) { + char buf[BDEVNAME_SIZE]; + + DMERR("stopping recovery due to " + "ERROR on /dev/%s, stripe at offset %llu", + bdevname(rs->dev[rs->set.ei].dev->bdev, buf), + (unsigned long long) stripe->key); + + } + + /* Make sure, that all quiesced regions get released. */ + while (addr->reg) { + dm_rh_recovery_end(addr->reg, -EIO); + addr->reg = dm_rh_recovery_start(rs->recover.rh); + } + + return 0; +} + +/* Called by main io daemon to recover regions. */ +static void do_recovery(struct raid_set *rs) +{ + if (RSRecover(rs)) { + int r = 0; + struct stripe *stripe; + + list_for_each_entry(stripe, &rs->recover.stripes, + lists[LIST_RECOVER]) + r += _do_recovery(stripe); + + if (!r) { + set_end_recovery(rs); + stripe_recover_free(rs); + } + } +} + +/* + * END recovery functions + */ + +/* End io process all stripes handed in by endio() callback. */ +static void _do_endios(struct raid_set *rs, struct stripe *stripe, + struct list_head *flush_list) +{ + /* First unlock all required chunks. */ + stripe_chunks_unlock(stripe); + + /* + * If an io error on a stripe occured, degrade the RAID set + * and try to endio as many bios as possible. If any bios can't + * be endio processed, requeue the stripe (stripe_ref() != 0). + */ + if (TestClearStripeError(stripe)) { + /* + * FIXME: if read, rewrite the failed chunk after reconstruction + * in order to trigger disk bad sector relocation. + */ + rs_check_degrade(stripe); /* Resets ChunkError(). */ + ClearStripeReconstruct(stripe); + ClearStripeReconstructed(stripe); + } + + /* Got to reconstruct a missing chunk. */ + if (StripeReconstruct(stripe)) { + /* + * (*2*) We use StripeReconstruct() to allow for + * all chunks to be xored into the reconstructed + * one (see chunk_must_xor()). + */ + stripe_reconstruct(stripe); + + /* + * (*3*) Now we reset StripeReconstruct() and flag + * StripeReconstructed() to show to stripe_rw(), + * that we have reconstructed a missing chunk. + */ + ClearStripeReconstruct(stripe); + SetStripeReconstructed(stripe); + + /* FIXME: reschedule to be written in case of read. */ + // if (!StripeRBW(stripe)) { + // chunk_set(CHUNK(stripe, pr), DIRTY); + // stripe_chunks_rw(stripe); + // } + } + + /* + * Now that we eventually got a complete stripe, we + * can process the rest of the end ios on reads. + */ + stripe_endio(READ, stripe); + + /* End io all merged writes. */ + if (TestClearStripeMerged(stripe)) + stripe_endio(WRITE_MERGED, stripe); + + /* If RAID set is dead -> fail any ios to dead drives. */ + if (RSDead(rs)) { + DMERR_LIMIT("RAID set dead: failing ios to dead devices"); + stripe_fail_io(stripe); + } + + /* + * We have stripe references still, + * beacuse of read befeore writes or IO errors -> + * got to put on flush list for processing. + */ + if (stripe_ref(stripe)) { + BUG_ON(!list_empty(stripe->lists + LIST_LRU)); + list_add_tail(stripe->lists + LIST_FLUSH, flush_list); + atomic_inc(rs->stats + S_REQUEUE); /* REMOVEME: statistics. */ + } else + stripe_lru_add(stripe); +} + +/* Pop any endio stripes off of the endio list and belabour them. */ +static void do_endios(struct raid_set *rs) +{ + struct stripe_cache *sc = &rs->sc; + struct stripe *stripe; + /* IO flush list for sorted requeued stripes. */ + struct list_head flush_list; + + INIT_LIST_HEAD(&flush_list); + + while ((stripe = stripe_endio_pop(sc))) { + /* Avoid endio on stripes with newly io'ed chunks. */ + if (!stripe_io_ref(stripe)) + _do_endios(rs, stripe, &flush_list); + } + + /* + * Insert any requeued stripes in the proper + * order at the beginning of the io (flush) list. + */ + list_splice(&flush_list, sc->lists + LIST_FLUSH); +} + +/* Flush any stripes on the io list. */ +static void do_flush(struct raid_set *rs) +{ + struct stripe *stripe; + + while ((stripe = stripe_io_pop(&rs->sc))) + stripe_rw(stripe); /* Read/write stripe. */ +} + +/* Stripe cache resizing. */ +static void do_sc_resize(struct raid_set *rs) +{ + unsigned set = atomic_read(&rs->sc.stripes_to_set); + + if (set) { + unsigned cur = atomic_read(&rs->sc.stripes); + int r = (set > cur) ? sc_grow(&rs->sc, set - cur, SC_GROW) : + sc_shrink(&rs->sc, cur - set); + + /* Flag end of resizeing if ok. */ + if (!r) + atomic_set(&rs->sc.stripes_to_set, 0); + } +} + +/* + * Process all ios + * + * We do different things with the io depending + * on the state of the region that it is in: + * + * o reads: hang off stripe cache or postpone if full + * + * o writes: + * + * CLEAN/DIRTY/NOSYNC: increment pending and hang io off stripe's stripe set. + * In case stripe cache is full or busy, postpone the io. + * + * RECOVERING: delay the io until recovery of the region completes. + * + */ +static void do_ios(struct raid_set *rs, struct bio_list *ios) +{ + int r; + unsigned flush = 0, delay = 0; + sector_t sector; + struct dm_rh_client *rh = rs->recover.rh; + struct bio *bio; + struct bio_list reject; + + bio_list_init(&reject); + + /* + * Classify each io: + * o delay writes to recovering regions (let reads go through) + * o queue io to all other regions + */ + while ((bio = bio_list_pop(ios))) { + /* + * In case we get a barrier bio, push it back onto + * the input queue unless all work queues are empty + * and the stripe cache is inactive. + */ + if (unlikely(bio->bi_rw & REQ_FLUSH)) { + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + S_BARRIER); + if (delay || + !list_empty(rs->sc.lists + LIST_FLUSH) || + !bio_list_empty(&reject) || + sc_active(&rs->sc)) { + bio_list_push(ios, bio); + break; + } + } + + /* Check for recovering regions. */ + sector = _sector(rs, bio); + r = region_state(rs, sector, DM_RH_RECOVERING); + if (unlikely(r && bio_data_dir(bio) == WRITE)) { + delay++; + /* Wait writing to recovering regions. */ + dm_rh_delay_by_region(rh, bio, + dm_rh_sector_to_region(rh, + sector)); + /* REMOVEME: statistics.*/ + atomic_inc(rs->stats + S_DELAYED_BIOS); + atomic_inc(rs->stats + S_SUM_DELAYED_BIOS); + + /* Force bandwidth tests in recovery. */ + SetRSBandwidth(rs); + } else { + /* + * Process ios to non-recovering regions by queueing + * them to stripes (does dm_rh_inc()) for writes). + */ + flush += stripe_queue_bio(rs, bio, &reject); + } + } + + if (flush) { + /* FIXME: better error handling. */ + r = dm_rh_flush(rh); /* Writes got queued -> flush dirty log. */ + if (r) + DMERR_LIMIT("dirty log flush"); + } + + /* Merge any rejected bios back to the head of the input list. */ + bio_list_merge_head(ios, &reject); +} + +/* Send an event in case we're getting too busy. */ +static void do_busy_event(struct raid_set *rs) +{ + if (sc_busy(rs)) { + if (!TestSetRSScBusy(rs)) + schedule_work(&rs->io.ws_do_table_event); + } + + ClearRSScBusy(rs); +} + +/* Throw an event. */ +static void do_table_event(struct work_struct *ws) +{ + struct raid_set *rs = container_of(ws, struct raid_set, + io.ws_do_table_event); + dm_table_event(rs->ti->table); +} + + +/*----------------------------------------------------------------- + * RAID daemon + *---------------------------------------------------------------*/ +/* + * o belabour all end ios + * o update the region hash states + * o optionally shrink the stripe cache + * o optionally do recovery + * o unplug any component raid devices with queued bios + * o grab the input queue + * o work an all requeued or new ios and perform stripe cache flushs + * o unplug any component raid devices with queued bios + * o check, if the stripe cache gets too busy and throw an event if so + */ +static void do_raid(struct work_struct *ws) +{ + struct raid_set *rs = container_of(ws, struct raid_set, + io.dws_do_raid.work); + struct bio_list *ios = &rs->io.work, *ios_in = &rs->io.in; + struct blk_plug plug; + + /* + * We always need to end io, so that ios can get errored in + * case the set failed and the region counters get decremented + * before we update region hash states and go any further. + */ + do_endios(rs); + dm_rh_update_states(rs->recover.rh, 1); + + /* + * Now that we've end io'd, which may have put stripes on the LRU list + * to allow for shrinking, we resize the stripe cache if requested. + */ + do_sc_resize(rs); + + /* Try to recover regions. */ + blk_start_plug(&plug); + do_recovery(rs); + blk_finish_plug(&plug); /* Unplug the queue */ + + /* Quickly grab all new ios queued and add them to the work list. */ + mutex_lock(&rs->io.in_lock); + bio_list_merge(ios, ios_in); + bio_list_init(ios_in); + mutex_unlock(&rs->io.in_lock); + + blk_start_plug(&plug); + if (!bio_list_empty(ios)) + do_ios(rs, ios); /* Got ios to work into the cache. */ + + do_flush(rs); /* Flush any stripes on io list. */ + blk_finish_plug(&plug); /* Unplug the queue */ + do_busy_event(rs); /* Check if we got too busy. */ +} + +/* + * Callback for region hash to dispatch + * delayed bios queued to recovered regions + * (gets called via dm_rh_update_states()). + */ +static void dispatch_delayed_bios(void *context, struct bio_list *bl) +{ + struct raid_set *rs = context; + struct bio *bio; + + /* REMOVEME: statistics; decrement pending delayed bios counter. */ + bio_list_for_each(bio, bl) + atomic_dec(rs->stats + S_DELAYED_BIOS); + + /* Merge region hash private list to work list. */ + bio_list_merge_head(&rs->io.work, bl); + bio_list_init(bl); + ClearRSBandwidth(rs); +} + +/************************************************************* + * Constructor helpers + *************************************************************/ +/* Calculate MB/sec. */ +static unsigned mbpers(struct raid_set *rs, unsigned speed) +{ + return to_bytes(speed * rs->set.data_devs * + rs->recover.io_size * HZ >> 10) >> 10; +} + +/* + * Discover fastest xor algorithm and # of chunks combination. + */ +/* Calculate speed for algorithm and # of chunks. */ +static unsigned xor_speed(struct stripe *stripe) +{ + unsigned r = 0; + unsigned long j; + + /* Wait for next tick. */ + for (j = jiffies; j == jiffies; ) + ; + + /* Do xors for a full tick. */ + for (j = jiffies; j == jiffies; ) { + mb(); + common_xor(stripe, stripe->io.size, 0, 0); + mb(); + r++; + } + + return r; +} + +/* Optimize xor algorithm for this RAID set. */ +static unsigned xor_optimize(struct raid_set *rs) +{ + unsigned chunks_max = 2, p = rs->set.raid_devs, speed_max = 0; + struct xor_func *f = ARRAY_END(xor_funcs), *f_max = NULL; + struct stripe *stripe; + + BUG_ON(list_empty(&rs->recover.stripes)); + stripe = list_first_entry(&rs->recover.stripes, struct stripe, + lists[LIST_RECOVER]); + + /* Must set uptodate so that xor() will belabour chunks. */ + while (p--) + SetChunkUptodate(CHUNK(stripe, p)); + + /* Try all xor functions. */ + while (f-- > xor_funcs) { + unsigned speed; + + /* Set actual xor function for common_xor(). */ + rs->xor.f = f; + rs->xor.chunks = (f->f == xor_blocks_wrapper ? + (MAX_XOR_BLOCKS + 1) : XOR_CHUNKS_MAX) + 1; + + while (rs->xor.chunks-- > 2) { + speed = xor_speed(stripe); + if (speed > speed_max) { + speed_max = speed; + chunks_max = rs->xor.chunks; + f_max = f; + } + } + } + + /* Memorize optimum parameters. */ + rs->xor.f = f_max; + rs->xor.chunks = chunks_max; + return speed_max; +} + +/* + * Allocate a RAID context (a RAID set) + */ +/* Structure for variable RAID parameters. */ +struct variable_parms { + int bandwidth; + int bandwidth_parm; + int chunk_size; + int chunk_size_parm; + int io_size; + int io_size_parm; + int stripes; + int stripes_parm; + int recover_io_size; + int recover_io_size_parm; + int raid_parms; + int recovery; + int recovery_stripes; + int recovery_stripes_parm; +}; + +static struct raid_set * +context_alloc(struct raid_type *raid_type, struct variable_parms *p, + unsigned raid_devs, sector_t sectors_per_dev, + struct dm_target *ti, unsigned dl_parms, char **argv) +{ + int r; + size_t len; + sector_t region_size, ti_len; + struct raid_set *rs = NULL; + struct dm_dirty_log *dl; + struct recover *rec; + + /* + * Create the dirty log + * + * We need to change length for the dirty log constructor, + * because we want an amount of regions for all stripes derived + * from the single device size, so that we can keep region + * size = 2^^n independant of the number of devices + */ + ti_len = ti->len; + ti->len = sectors_per_dev; + dl = dm_dirty_log_create(argv[0], ti, NULL, dl_parms, argv + 2); + ti->len = ti_len; + if (!dl) + goto bad_dirty_log; + + /* Chunk size *must* be smaller than region size. */ + region_size = dl->type->get_region_size(dl); + if (p->chunk_size > region_size) + goto bad_chunk_size; + + /* Recover io size *must* be smaller than region size as well. */ + if (p->recover_io_size > region_size) + goto bad_recover_io_size; + + /* Size and allocate the RAID set structure. */ + len = sizeof(*rs->data) + sizeof(*rs->dev); + if (dm_array_too_big(sizeof(*rs), len, raid_devs)) + goto bad_array; + + len = sizeof(*rs) + raid_devs * len; + rs = kzalloc(len, GFP_KERNEL); + if (!rs) + goto bad_alloc; + + rec = &rs->recover; + atomic_set(&rs->io.in_process, 0); + atomic_set(&rs->io.in_process_max, 0); + rec->io_size = p->recover_io_size; + + /* Pointer to data array. */ + rs->data = (unsigned long **) + ((void *) rs->dev + raid_devs * sizeof(*rs->dev)); + rec->dl = dl; + rs->set.raid_devs = raid_devs; + rs->set.data_devs = raid_devs - raid_type->parity_devs; + rs->set.raid_type = raid_type; + + rs->set.raid_parms = p->raid_parms; + rs->set.chunk_size_parm = p->chunk_size_parm; + rs->set.io_size_parm = p->io_size_parm; + rs->sc.stripes_parm = p->stripes_parm; + rec->io_size_parm = p->recover_io_size_parm; + rec->bandwidth_parm = p->bandwidth_parm; + rec->recovery = p->recovery; + rec->recovery_stripes = p->recovery_stripes; + + /* + * Set chunk and io size and respective shifts + * (used to avoid divisions) + */ + rs->set.chunk_size = p->chunk_size; + rs->set.chunk_shift = ffs(p->chunk_size) - 1; + + rs->set.io_size = p->io_size; + rs->set.io_mask = p->io_size - 1; + /* Mask to adjust address key in case io_size != chunk_size. */ + rs->set.io_inv_mask = (p->chunk_size - 1) & ~rs->set.io_mask; + + rs->set.sectors_per_dev = sectors_per_dev; + + rs->set.ei = -1; /* Indicate no failed device. */ + atomic_set(&rs->set.failed_devs, 0); + + rs->ti = ti; + + atomic_set(rec->io_count + IO_WORK, 0); + atomic_set(rec->io_count + IO_RECOVER, 0); + + /* Initialize io lock and queues. */ + mutex_init(&rs->io.in_lock); + bio_list_init(&rs->io.in); + bio_list_init(&rs->io.work); + + init_waitqueue_head(&rs->io.suspendq); /* Suspend waiters (dm-io). */ + + rec->nr_regions = dm_sector_div_up(sectors_per_dev, region_size); + rec->rh = dm_region_hash_create(rs, dispatch_delayed_bios, + wake_dummy, wake_do_raid, 0, p->recovery_stripes, + dl, region_size, rec->nr_regions); + if (IS_ERR(rec->rh)) + goto bad_rh; + + /* Initialize stripe cache. */ + r = sc_init(rs, p->stripes); + if (r) + goto bad_sc; + + /* REMOVEME: statistics. */ + stats_reset(rs); + ClearRSDevelStats(rs); /* Disnable development status. */ + return rs; + +bad_dirty_log: + TI_ERR_RET("Error creating dirty log", ERR_PTR(-ENOMEM)); + +bad_chunk_size: + dm_dirty_log_destroy(dl); + TI_ERR_RET("Chunk size larger than region size", ERR_PTR(-EINVAL)); + +bad_recover_io_size: + dm_dirty_log_destroy(dl); + TI_ERR_RET("Recover stripe io size larger than region size", + ERR_PTR(-EINVAL)); + +bad_array: + dm_dirty_log_destroy(dl); + TI_ERR_RET("Arry too big", ERR_PTR(-EINVAL)); + +bad_alloc: + dm_dirty_log_destroy(dl); + TI_ERR_RET("Cannot allocate raid context", ERR_PTR(-ENOMEM)); + +bad_rh: + dm_dirty_log_destroy(dl); + ti->error = DM_MSG_PREFIX "Error creating dirty region hash"; + goto free_rs; + +bad_sc: + dm_region_hash_destroy(rec->rh); /* Destroys dirty log too. */ + sc_exit(&rs->sc); + ti->error = DM_MSG_PREFIX "Error creating stripe cache"; +free_rs: + kfree(rs); + return ERR_PTR(-ENOMEM); +} + +/* Free a RAID context (a RAID set). */ +static void context_free(struct raid_set *rs, unsigned p) +{ + while (p--) + dm_put_device(rs->ti, rs->dev[p].dev); + + sc_exit(&rs->sc); + dm_region_hash_destroy(rs->recover.rh); /* Destroys dirty log too. */ + kfree(rs); +} + +/* Create work queue and initialize delayed work. */ +static int rs_workqueue_init(struct raid_set *rs) +{ + struct dm_target *ti = rs->ti; + + rs->io.wq = create_singlethread_workqueue(DAEMON); + if (!rs->io.wq) + TI_ERR_RET("failed to create " DAEMON, -ENOMEM); + + INIT_DELAYED_WORK(&rs->io.dws_do_raid, do_raid); + INIT_WORK(&rs->io.ws_do_table_event, do_table_event); + return 0; +} + +/* Return pointer to raid_type structure for raid name. */ +static struct raid_type *get_raid_type(char *name) +{ + struct raid_type *r = ARRAY_END(raid_types); + + while (r-- > raid_types) { + if (!strcmp(r->name, name)) + return r; + } + + return NULL; +} + +/* FIXME: factor out to dm core. */ +static int multiple(sector_t a, sector_t b, sector_t *n) +{ + sector_t r = a; + + sector_div(r, b); + *n = r; + return a == r * b; +} + +/* Log RAID set information to kernel log. */ +static void rs_log(struct raid_set *rs, unsigned speed) +{ + unsigned p; + char buf[BDEVNAME_SIZE]; + + for (p = 0; p < rs->set.raid_devs; p++) + DMINFO("/dev/%s is raid disk %u%s", + bdevname(rs->dev[p].dev->bdev, buf), p, + (p == rs->set.pi) ? " (parity)" : ""); + + DMINFO("%d/%d/%d sectors chunk/io/recovery size, %u stripes\n" + "algorithm \"%s\", %u chunks with %uMB/s\n" + "%s set with net %u/%u devices", + rs->set.chunk_size, rs->set.io_size, rs->recover.io_size, + atomic_read(&rs->sc.stripes), + rs->xor.f->name, rs->xor.chunks, mbpers(rs, speed), + rs->set.raid_type->descr, rs->set.data_devs, rs->set.raid_devs); +} + +/* Get all devices and offsets. */ +static int dev_parms(struct raid_set *rs, char **argv, int *p) +{ + struct dm_target *ti = rs->ti; + + for (*p = 0; *p < rs->set.raid_devs; (*p)++, argv += 2) { + int r; + unsigned long long tmp; + struct raid_dev *dev = rs->dev + *p; + + /* Get offset and device. */ + if (sscanf(argv[1], "%llu", &tmp) != 1 || + tmp > rs->set.sectors_per_dev) + TI_ERR("Invalid RAID device offset parameter"); + + dev->start = tmp; + r = dm_get_device(ti, *argv, dm_table_get_mode(ti->table), &dev->dev); + if (r) + TI_ERR_RET("RAID device lookup failure", r); + + r = raid_dev_lookup(rs, dev); + if (r != -ENODEV && r < *p) { + (*p)++; /* Ensure dm_put_device() on actual device. */ + TI_ERR_RET("Duplicate RAID device", -ENXIO); + } + } + + return 0; +} + +/* Set recovery bandwidth. */ +static void +recover_set_bandwidth(struct raid_set *rs, unsigned bandwidth) +{ + rs->recover.bandwidth = bandwidth; + rs->recover.bandwidth_work = 100 / bandwidth; +} + +/* Handle variable number of RAID parameters. */ +static int get_raid_variable_parms(struct dm_target *ti, char **argv, + struct variable_parms *vp) +{ + int p, value; + struct { + int action; /* -1: skip, 0: no pwer2 check, 1: power2 check */ + char *errmsg; + int min, max; + int *var, *var2, *var3; + } argctr[] = { + { 1, + "Invalid chunk size; must be -1 or 2^^n and <= 16384", + IO_SIZE_MIN, CHUNK_SIZE_MAX, + &vp->chunk_size_parm, &vp->chunk_size, &vp->io_size }, + { 0, + "Invalid number of stripes: must be -1 or >= 8 and <= 16384", + STRIPES_MIN, STRIPES_MAX, + &vp->stripes_parm, &vp->stripes, NULL }, + { 1, + "Invalid io size; must -1 or >= 8, 2^^n and less equal " + "min(BIO_MAX_SECTORS/2, chunk size)", + IO_SIZE_MIN, 0, /* Needs to be updated in loop below. */ + &vp->io_size_parm, &vp->io_size, NULL }, + { 1, + "Invalid recovery io size; must be -1 or " + "2^^n and less equal BIO_MAX_SECTORS/2", + RECOVER_IO_SIZE_MIN, BIO_MAX_SECTORS / 2, + &vp->recover_io_size_parm, &vp->recover_io_size, NULL }, + { 0, + "Invalid recovery bandwidth percentage; " + "must be -1 or > 0 and <= 100", + BANDWIDTH_MIN, BANDWIDTH_MAX, + &vp->bandwidth_parm, &vp->bandwidth, NULL }, + /* Handle sync argument seperately in loop. */ + { -1, + "Invalid recovery switch; must be \"sync\" or \"nosync\"" }, + { 0, + "Invalid number of recovery stripes;" + "must be -1, > 0 and <= 16384", + RECOVERY_STRIPES_MIN, RECOVERY_STRIPES_MAX, + &vp->recovery_stripes_parm, &vp->recovery_stripes, NULL }, + }, *varp; + + /* Fetch # of variable raid parameters. */ + if (sscanf(*(argv++), "%d", &vp->raid_parms) != 1 || + !range_ok(vp->raid_parms, 0, 7)) + TI_ERR("Bad variable raid parameters number"); + + /* Preset variable RAID parameters. */ + vp->chunk_size = CHUNK_SIZE_DEFAULT; + vp->io_size = IO_SIZE_DEFAULT; + vp->stripes = STRIPES_DEFAULT; + vp->recover_io_size = RECOVER_IO_SIZE_DEFAULT; + vp->bandwidth = BANDWIDTH_DEFAULT; + vp->recovery = 1; + vp->recovery_stripes = RECOVERY_STRIPES_DEFAULT; + + /* Walk the array of argument constraints for all given ones. */ + for (p = 0, varp = argctr; p < vp->raid_parms; p++, varp++) { + BUG_ON(varp >= ARRAY_END(argctr)); + + /* Special case for "[no]sync" string argument. */ + if (varp->action < 0) { + if (!strcmp(*argv, "sync")) + ; + else if (!strcmp(*argv, "nosync")) + vp->recovery = 0; + else + TI_ERR(varp->errmsg); + + argv++; + continue; + } + + /* + * Special case for io_size depending + * on previously set chunk size. + */ + if (p == 2) + varp->max = min(BIO_MAX_SECTORS / 2, vp->chunk_size); + + if (sscanf(*(argv++), "%d", &value) != 1 || + (value != -1 && + ((varp->action && !POWER_OF_2(value)) || + !range_ok(value, varp->min, varp->max)))) + TI_ERR(varp->errmsg); + + *varp->var = value; + if (value != -1) { + if (varp->var2) + *varp->var2 = value; + if (varp->var3) + *varp->var3 = value; + } + } + + return 0; +} + +/* Parse optional locking parameters. */ +static int get_raid_locking_parms(struct dm_target *ti, char **argv, + int *locking_parms, + struct dm_raid45_locking_type **locking_type) +{ + if (!strnicmp(argv[0], "locking", strlen(argv[0]))) { + char *lckstr = argv[1]; + size_t lcksz = strlen(lckstr); + + if (!strnicmp(lckstr, "none", lcksz)) { + *locking_type = &locking_none; + *locking_parms = 2; + } else if (!strnicmp(lckstr, "cluster", lcksz)) { + DMERR("locking type \"%s\" not yet implemented", + lckstr); + return -EINVAL; + } else { + DMERR("unknown locking type \"%s\"", lckstr); + return -EINVAL; + } + } + + *locking_parms = 0; + *locking_type = &locking_none; + return 0; +} + +/* Set backing device read ahead properties of RAID set. */ +static void rs_set_read_ahead(struct raid_set *rs, + unsigned sectors, unsigned stripes) +{ + unsigned ra_pages = dm_div_up(sectors, SECTORS_PER_PAGE); + struct mapped_device *md = dm_table_get_md(rs->ti->table); + struct backing_dev_info *bdi = &dm_disk(md)->queue->backing_dev_info; + + /* Set read-ahead for the RAID set and the component devices. */ + if (ra_pages) { + unsigned p = rs->set.raid_devs; + + bdi->ra_pages = stripes * ra_pages * rs->set.data_devs; + + while (p--) { + struct request_queue *q = + bdev_get_queue(rs->dev[p].dev->bdev); + + q->backing_dev_info.ra_pages = ra_pages; + } + } + + dm_put(md); +} + +/* Set congested function. */ +static void rs_set_congested_fn(struct raid_set *rs) +{ + struct mapped_device *md = dm_table_get_md(rs->ti->table); + struct backing_dev_info *bdi = &dm_disk(md)->queue->backing_dev_info; + + /* Set congested function and data. */ + bdi->congested_fn = rs_congested; + bdi->congested_data = rs; + dm_put(md); +} + +/* + * Construct a RAID4/5 mapping: + * + * log_type #log_params \ + * raid_type [#parity_dev] #raid_variable_params \ + * [locking "none"/"cluster"] + * #raid_devs #dev_to_initialize [ ]{3,} + * + * log_type = "core"/"disk", + * #log_params = 1-3 (1-2 for core dirty log type, 3 for disk dirty log only) + * log_params = [dirty_log_path] region_size [[no]sync]) + * + * raid_type = "raid4", "raid5_la", "raid5_ra", "raid5_ls", "raid5_rs" + * + * #parity_dev = N if raid_type = "raid4" + * o N = -1: pick default = last device + * o N >= 0 and < #raid_devs: parity device index + * + * #raid_variable_params = 0-7; raid_params (-1 = default): + * [chunk_size [#stripes [io_size [recover_io_size \ + * [%recovery_bandwidth [recovery_switch [#recovery_stripes]]]]]]] + * o chunk_size (unit to calculate drive addresses; must be 2^^n, > 8 + * and <= CHUNK_SIZE_MAX) + * o #stripes is number of stripes allocated to stripe cache + * (must be > 1 and < STRIPES_MAX) + * o io_size (io unit size per device in sectors; must be 2^^n and > 8) + * o recover_io_size (io unit size per device for recovery in sectors; + must be 2^^n, > SECTORS_PER_PAGE and <= region_size) + * o %recovery_bandwith is the maximum amount spend for recovery during + * application io (1-100%) + * o recovery switch = [sync|nosync] + * o #recovery_stripes is the number of recovery stripes used for + * parallel recovery of the RAID set + * If raid_variable_params = 0, defaults will be used. + * Any raid_variable_param can be set to -1 to apply a default + * + * #raid_devs = N (N >= 3) + * + * #dev_to_initialize = N + * -1: initialize parity on all devices + * >= 0 and < #raid_devs: initialize raid_path; used to force reconstruction + * of a failed devices content after replacement + * + * = device_path (eg, /dev/sdd1) + * = begin at offset on + * + */ +#define MIN_PARMS 13 +static int raid_ctr(struct dm_target *ti, unsigned argc, char **argv) +{ + int dev_to_init, dl_parms, i, locking_parms, + parity_parm, pi = -1, r, raid_devs; + unsigned speed; + sector_t tmp, sectors_per_dev; + struct dm_raid45_locking_type *locking; + struct raid_set *rs; + struct raid_type *raid_type; + struct variable_parms parms; + + /* Ensure minimum number of parameters. */ + if (argc < MIN_PARMS) + TI_ERR("Not enough parameters"); + + /* Fetch # of dirty log parameters. */ + if (sscanf(argv[1], "%d", &dl_parms) != 1 || + !range_ok(dl_parms, 1, 4711)) /* ;-) */ + TI_ERR("Bad dirty log parameters number"); + + /* Check raid_type. */ + raid_type = get_raid_type(argv[dl_parms + 2]); + if (!raid_type) + TI_ERR("Bad raid type"); + + /* In case of RAID4, parity drive is selectable. */ + parity_parm = !!(raid_type->level == raid4); + + /* Handle variable number of RAID parameters. */ + r = get_raid_variable_parms(ti, argv + dl_parms + parity_parm + 3, + &parms); + if (r) + return r; + + /* Handle any locking parameters. */ + r = get_raid_locking_parms(ti, + argv + dl_parms + parity_parm + + parms.raid_parms + 4, + &locking_parms, &locking); + if (r) + return r; + + /* # of raid devices. */ + i = dl_parms + parity_parm + parms.raid_parms + locking_parms + 4; + if (sscanf(argv[i], "%d", &raid_devs) != 1 || + raid_devs < raid_type->minimal_devs) + TI_ERR("Invalid number of raid devices"); + + /* In case of RAID4, check parity drive index is in limits. */ + if (raid_type->level == raid4) { + /* Fetch index of parity device. */ + if (sscanf(argv[dl_parms + 3], "%d", &pi) != 1 || + (pi != -1 && !range_ok(pi, 0, raid_devs - 1))) + TI_ERR("Invalid RAID4 parity device index"); + } + + /* + * Index of device to initialize starts at 0 + * + * o -1 -> don't initialize a selected device; + * initialize parity conforming to algorithm + * o 0..raid_devs-1 -> initialize respective device + * (used for reconstruction of a replaced device) + */ + if (sscanf(argv[dl_parms + parity_parm + parms.raid_parms + + locking_parms + 5], "%d", &dev_to_init) != 1 || + !range_ok(dev_to_init, -1, raid_devs - 1)) + TI_ERR("Invalid number for raid device to initialize"); + + /* Check # of raid device arguments. */ + if (argc - dl_parms - parity_parm - parms.raid_parms - 6 != + 2 * raid_devs) + TI_ERR("Wrong number of raid device/offset arguments"); + + /* + * Check that the table length is devisable + * w/o rest by (raid_devs - parity_devs) + */ + if (!multiple(ti->len, raid_devs - raid_type->parity_devs, + §ors_per_dev)) + TI_ERR("Target length not divisible by number of data devices"); + + /* + * Check that the device size is + * devisable w/o rest by chunk size + */ + if (!multiple(sectors_per_dev, parms.chunk_size, &tmp)) + TI_ERR("Device length not divisible by chunk_size"); + + /**************************************************************** + * Now that we checked the constructor arguments -> + * let's allocate the RAID set + ****************************************************************/ + rs = context_alloc(raid_type, &parms, raid_devs, sectors_per_dev, + ti, dl_parms, argv); + if (IS_ERR(rs)) + return PTR_ERR(rs); + + + rs->set.dev_to_init = rs->set.dev_to_init_parm = dev_to_init; + rs->set.pi = rs->set.pi_parm = pi; + + /* Set RAID4 parity drive index. */ + if (raid_type->level == raid4) + rs->set.pi = (pi == -1) ? rs->set.data_devs : pi; + + recover_set_bandwidth(rs, parms.bandwidth); + + /* Use locking type to lock stripe access. */ + rs->locking = locking; + + /* Get the device/offset tupels. */ + argv += dl_parms + 6 + parity_parm + parms.raid_parms; + r = dev_parms(rs, argv, &i); + if (r) + goto err; + + /* Set backing device information (eg. read ahead). */ + rs_set_read_ahead(rs, 2 * rs->set.chunk_size, 4 /* stripes */); + rs_set_congested_fn(rs); /* Set congested function. */ + SetRSCheckOverwrite(rs); /* Allow chunk overwrite checks. */ + speed = xor_optimize(rs); /* Select best xor algorithm. */ + + /* Set for recovery of any nosync regions. */ + if (parms.recovery) + SetRSRecover(rs); + else { + /* + * Need to free recovery stripe(s) here in case + * of nosync, because xor_optimize uses one. + */ + set_start_recovery(rs); + set_end_recovery(rs); + stripe_recover_free(rs); + } + + /* + * Make sure that dm core only hands maximum io size + * length down and pays attention to io boundaries. + */ + ti->split_io = rs->set.io_size; + ti->private = rs; + + /* Initialize work queue to handle this RAID set's io. */ + r = rs_workqueue_init(rs); + if (r) + goto err; + + rs_log(rs, speed); /* Log information about RAID set. */ + return 0; + +err: + context_free(rs, i); + return r; +} + +/* + * Destruct a raid mapping + */ +static void raid_dtr(struct dm_target *ti) +{ + struct raid_set *rs = ti->private; + + destroy_workqueue(rs->io.wq); + context_free(rs, rs->set.raid_devs); +} + +/* Raid mapping function. */ +static int raid_map(struct dm_target *ti, struct bio *bio, + union map_info *map_context) +{ + /* I don't want to waste stripe cache capacity. */ + if (bio_rw(bio) == READA) + return -EIO; + else { + struct raid_set *rs = ti->private; + + /* + * Get io reference to be waiting for to drop + * to zero on device suspension/destruction. + */ + io_get(rs); + bio->bi_sector -= ti->begin; /* Remap sector. */ + + /* Queue io to RAID set. */ + mutex_lock(&rs->io.in_lock); + bio_list_add(&rs->io.in, bio); + mutex_unlock(&rs->io.in_lock); + + /* Wake daemon to process input list. */ + wake_do_raid(rs); + + /* REMOVEME: statistics. */ + atomic_inc(rs->stats + (bio_data_dir(bio) == READ ? + S_BIOS_READ : S_BIOS_WRITE)); + return DM_MAPIO_SUBMITTED; /* Handle later. */ + } +} + +/* Device suspend. */ +static void raid_presuspend(struct dm_target *ti) +{ + struct raid_set *rs = ti->private; + struct dm_dirty_log *dl = rs->recover.dl; + + SetRSSuspend(rs); + + if (RSRecover(rs)) + dm_rh_stop_recovery(rs->recover.rh); + + cancel_delayed_work(&rs->io.dws_do_raid); + flush_workqueue(rs->io.wq); + wait_ios(rs); /* Wait for completion of all ios being processed. */ + + if (dl->type->presuspend && dl->type->presuspend(dl)) + /* FIXME: need better error handling. */ + DMWARN("log presuspend failed"); +} + +static void raid_postsuspend(struct dm_target *ti) +{ + struct raid_set *rs = ti->private; + struct dm_dirty_log *dl = rs->recover.dl; + + if (dl->type->postsuspend && dl->type->postsuspend(dl)) + /* FIXME: need better error handling. */ + DMWARN("log postsuspend failed"); + +} + +/* Device resume. */ +static void raid_resume(struct dm_target *ti) +{ + struct raid_set *rs = ti->private; + struct recover *rec = &rs->recover; + struct dm_dirty_log *dl = rec->dl; + + if (dl->type->resume && dl->type->resume(dl)) + /* Resume dirty log. */ + /* FIXME: need better error handling. */ + DMWARN("log resume failed"); + + rec->nr_regions_to_recover = + rec->nr_regions - dl->type->get_sync_count(dl); + + /* Restart any unfinished recovery. */ + if (RSRecover(rs)) { + set_start_recovery(rs); + dm_rh_start_recovery(rec->rh); + } + + ClearRSSuspend(rs); + wake_do_raid(rs); +} + +/* Return stripe cache size. */ +static unsigned sc_size(struct raid_set *rs) +{ + return to_sector(atomic_read(&rs->sc.stripes) * + (sizeof(struct stripe) + + (sizeof(struct stripe_chunk) + + (sizeof(struct page_list) + + to_bytes(rs->set.io_size) * + rs->set.raid_devs)) + + (rs->recover.end_jiffies ? + 0 : rs->recover.recovery_stripes * + to_bytes(rs->set.raid_devs * rs->recover.io_size)))); +} + +/* REMOVEME: status output for development. */ +static void raid_devel_stats(struct dm_target *ti, char *result, + unsigned *size, unsigned maxlen) +{ + unsigned sz = *size; + unsigned long j; + char buf[BDEVNAME_SIZE], *p; + struct stats_map *sm; + struct raid_set *rs = ti->private; + struct recover *rec = &rs->recover; + struct timespec ts; + + DMEMIT("%s %s %u\n", version, rs->xor.f->name, rs->xor.chunks); + DMEMIT("act_ios=%d ", io_ref(rs)); + DMEMIT("act_ios_max=%d\n", atomic_read(&rs->io.in_process_max)); + DMEMIT("act_stripes=%d ", sc_active(&rs->sc)); + DMEMIT("act_stripes_max=%d\n", + atomic_read(&rs->sc.active_stripes_max)); + + for (sm = stats_map; sm < ARRAY_END(stats_map); sm++) + DMEMIT("%s%d", sm->str, atomic_read(rs->stats + sm->type)); + + DMEMIT(" checkovr=%s\n", RSCheckOverwrite(rs) ? "on" : "off"); + DMEMIT("sc=%u/%u/%u/%u/%u/%u/%u\n", rs->set.chunk_size, + atomic_read(&rs->sc.stripes), rs->set.io_size, + rec->recovery_stripes, rec->io_size, rs->sc.hash.buckets, + sc_size(rs)); + + j = (rec->end_jiffies ? rec->end_jiffies : jiffies) - + rec->start_jiffies; + jiffies_to_timespec(j, &ts); + sprintf(buf, "%ld.%ld", ts.tv_sec, ts.tv_nsec); + p = strchr(buf, '.'); + p[3] = 0; + + DMEMIT("rg=%llu/%llu/%llu/%u %s\n", + (unsigned long long) rec->nr_regions_recovered, + (unsigned long long) rec->nr_regions_to_recover, + (unsigned long long) rec->nr_regions, rec->bandwidth, buf); + + *size = sz; +} + +static int raid_status(struct dm_target *ti, status_type_t type, + char *result, unsigned maxlen) +{ + unsigned p, sz = 0; + char buf[BDEVNAME_SIZE]; + struct raid_set *rs = ti->private; + int raid_parms[] = { + rs->set.chunk_size_parm, + rs->sc.stripes_parm, + rs->set.io_size_parm, + rs->recover.io_size_parm, + rs->recover.bandwidth_parm, + -2, + rs->recover.recovery_stripes, + }; + + switch (type) { + case STATUSTYPE_INFO: + /* REMOVEME: statistics. */ + if (RSDevelStats(rs)) + raid_devel_stats(ti, result, &sz, maxlen); + + DMEMIT("%u ", rs->set.raid_devs); + + for (p = 0; p < rs->set.raid_devs; p++) + DMEMIT("%s ", + format_dev_t(buf, rs->dev[p].dev->bdev->bd_dev)); + + DMEMIT("1 "); + for (p = 0; p < rs->set.raid_devs; p++) { + DMEMIT("%c", !DevFailed(rs->dev + p) ? 'A' : 'D'); + + if (p == rs->set.pi) + DMEMIT("p"); + + if (rs->set.dev_to_init == p) + DMEMIT("i"); + } + + break; + case STATUSTYPE_TABLE: + sz = rs->recover.dl->type->status(rs->recover.dl, type, + result, maxlen); + DMEMIT("%s %u ", rs->set.raid_type->name, + rs->set.raid_parms); + + for (p = 0; p < rs->set.raid_parms; p++) { + if (raid_parms[p] > -2) + DMEMIT("%d ", raid_parms[p]); + else + DMEMIT("%s ", rs->recover.recovery ? + "sync" : "nosync"); + } + + DMEMIT("%u %d ", rs->set.raid_devs, rs->set.dev_to_init); + + for (p = 0; p < rs->set.raid_devs; p++) + DMEMIT("%s %llu ", + format_dev_t(buf, rs->dev[p].dev->bdev->bd_dev), + (unsigned long long) rs->dev[p].start); + } + + return 0; +} + +/* + * Message interface + */ +enum raid_msg_actions { + act_bw, /* Recovery bandwidth switch. */ + act_dev, /* Device failure switch. */ + act_overwrite, /* Stripe overwrite check. */ + act_stats, /* Development statistics switch. */ + act_sc, /* Stripe cache switch. */ + + act_on, /* Set entity on. */ + act_off, /* Set entity off. */ + act_reset, /* Reset entity. */ + + act_set = act_on, /* Set # absolute. */ + act_grow = act_off, /* Grow # by an amount. */ + act_shrink = act_reset, /* Shrink # by an amount. */ +}; + +/* Turn a delta into an absolute value. */ +static int _absolute(unsigned long action, int act, int r) +{ + /* Make delta absolute. */ + if (test_bit(act_set, &action)) + ; + else if (test_bit(act_grow, &action)) + r += act; + else if (test_bit(act_shrink, &action)) + r = act - r; + else + r = -EINVAL; + + return r; +} + + /* Change recovery io bandwidth. */ +static int bandwidth_change(struct dm_msg *msg, void *context) +{ + struct raid_set *rs = context; + int act = rs->recover.bandwidth; + int bandwidth = DM_MSG_INT_ARG(msg); + + if (range_ok(bandwidth, BANDWIDTH_MIN, BANDWIDTH_MAX)) { + /* Make delta bandwidth absolute. */ + bandwidth = _absolute(msg->action, act, bandwidth); + + /* Check range. */ + if (range_ok(bandwidth, BANDWIDTH_MIN, BANDWIDTH_MAX)) { + recover_set_bandwidth(rs, bandwidth); + return 0; + } + } + + set_bit(dm_msg_ret_arg, &msg->ret); + set_bit(dm_msg_ret_inval, &msg->ret); + return -EINVAL; +} + +/* Set/reset development feature flags. */ +static int devel_flags(struct dm_msg *msg, void *context) +{ + struct raid_set *rs = context; + + if (test_bit(act_on, &msg->action)) + return test_and_set_bit(msg->spec->parm, + &rs->io.flags) ? -EPERM : 0; + else if (test_bit(act_off, &msg->action)) + return test_and_clear_bit(msg->spec->parm, + &rs->io.flags) ? 0 : -EPERM; + else if (test_bit(act_reset, &msg->action)) { + if (test_bit(act_stats, &msg->action)) { + stats_reset(rs); + goto on; + } else if (test_bit(act_overwrite, &msg->action)) { +on: + set_bit(msg->spec->parm, &rs->io.flags); + return 0; + } + } + + return -EINVAL; +} + +/* Resize the stripe cache. */ +static int sc_resize(struct dm_msg *msg, void *context) +{ + int act, stripes; + struct raid_set *rs = context; + + /* Deny permission in case the daemon is still resizing!. */ + if (atomic_read(&rs->sc.stripes_to_set)) + return -EPERM; + + stripes = DM_MSG_INT_ARG(msg); + if (stripes > 0) { + act = atomic_read(&rs->sc.stripes); + + /* Make delta stripes absolute. */ + stripes = _absolute(msg->action, act, stripes); + + /* + * Check range and that the # of stripes changes. + * We leave the resizing to the wroker. + */ + if (range_ok(stripes, STRIPES_MIN, STRIPES_MAX) && + stripes != atomic_read(&rs->sc.stripes)) { + atomic_set(&rs->sc.stripes_to_set, stripes); + wake_do_raid(rs); + return 0; + } + } + + set_bit(dm_msg_ret_arg, &msg->ret); + set_bit(dm_msg_ret_inval, &msg->ret); + return -EINVAL; +} + +/* Parse the RAID message action. */ +/* + * 'ba[ndwidth] {se[t],g[row],sh[rink]} #' # e.g 'ba se 50' + * "o[verwrite] {on,of[f],r[eset]}' # e.g. 'o of' + * 'sta[tistics] {on,of[f],r[eset]}' # e.g. 'stat of' + * 'str[ipecache] {se[t],g[row],sh[rink]} #' # e.g. 'stripe set 1024' + * + */ +static int raid_message(struct dm_target *ti, unsigned argc, char **argv) +{ + /* Variables to store the parsed parameters im. */ + static int i[2]; + static unsigned long *i_arg[] = { + (unsigned long *) i + 0, + (unsigned long *) i + 1, + }; + + /* Declare all message option strings. */ + static char *str_sgs[] = { "set", "grow", "shrink" }; + static char *str_oor[] = { "on", "off", "reset" }; + + /* Declare all actions. */ + static unsigned long act_sgs[] = { act_set, act_grow, act_shrink }; + static unsigned long act_oor[] = { act_on, act_off, act_reset }; + + /* Bandwidth option. */ + static struct dm_message_option bw_opt = { 3, str_sgs, act_sgs }; + static struct dm_message_argument bw_args = { + 1, i_arg, { dm_msg_int_t } + }; + + static struct dm_message_argument null_args = { + 0, NULL, { dm_msg_int_t } + }; + + /* Overwrite and statistics option. */ + static struct dm_message_option ovr_stats_opt = { 3, str_oor, act_oor }; + + /* Sripecache option. */ + static struct dm_message_option stripe_opt = { 3, str_sgs, act_sgs }; + + /* Declare messages. */ + static struct dm_msg_spec specs[] = { + { "bandwidth", act_bw, &bw_opt, &bw_args, + 0, bandwidth_change }, + { "overwrite", act_overwrite, &ovr_stats_opt, &null_args, + RS_CHECK_OVERWRITE, devel_flags }, + { "statistics", act_stats, &ovr_stats_opt, &null_args, + RS_DEVEL_STATS, devel_flags }, + { "stripecache", act_sc, &stripe_opt, &bw_args, + 0, sc_resize }, + }; + + /* The message for the parser. */ + struct dm_msg msg = { + .num_specs = ARRAY_SIZE(specs), + .specs = specs, + }; + + return dm_message_parse(TARGET, &msg, ti->private, argc, argv); +} +/* + * END message interface + */ + +static struct target_type raid_target = { + .name = "raid45", + .version = {1, 0, 0}, + .module = THIS_MODULE, + .ctr = raid_ctr, + .dtr = raid_dtr, + .map = raid_map, + .presuspend = raid_presuspend, + .postsuspend = raid_postsuspend, + .resume = raid_resume, + .status = raid_status, + .message = raid_message, +}; + +static void init_exit(const char *bad_msg, const char *good_msg, int r) +{ + if (r) + DMERR("Failed to %sregister target [%d]", bad_msg, r); + else + DMINFO("%s %s", good_msg, version); +} + +static int __init dm_raid_init(void) +{ + int r = dm_register_target(&raid_target); + + init_exit("", "initialized", r); + return r; +} + +static void __exit dm_raid_exit(void) +{ + dm_unregister_target(&raid_target); + init_exit("un", "exit", 0); +} + +/* Module hooks. */ +module_init(dm_raid_init); +module_exit(dm_raid_exit); + +MODULE_DESCRIPTION(DM_NAME " raid4/5 target"); +MODULE_AUTHOR("Heinz Mauelshagen "); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("dm-raid4"); +MODULE_ALIAS("dm-raid5"); --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-raid4-5.h +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-raid4-5.h @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2006 Red Hat GmbH + * + * Module Author: Heinz Mauelshagen (Mauelshagen@RedHat.com) + * + * This file is released under the GPL. + * + */ + +#ifndef _DM_RAID45_H +#define _DM_RAID45_H + +/* Factor out to dm.h! */ +#define STR_LEN(ptr, str) ptr, str, strlen(ptr) + +enum lock_type { RAID45_EX, RAID45_SHARED }; + +struct dmraid45_locking_type { + /* Request a lock on a stripe. */ + void* (*lock)(sector_t key, enum lock_type type); + + /* Release a lock on a stripe. */ + void (*unlock)(void *lock_handle); + +}; + +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-raid45.h +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-raid45.h @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved. + * + * Module Author: Heinz Mauelshagen (Mauelshagen@RedHat.com) + * + * Locking definitions for the device-mapper RAID45 target. + * + * This file is released under the GPL. + * + */ + +#ifndef _DM_RAID45_H +#define _DM_RAID45_H + +/* Factor out to dm.h! */ +#define STR_LEN(ptr, str) (ptr), (str), strlen((ptr)) + +enum dm_lock_type { DM_RAID45_EX, DM_RAID45_SHARED }; + +struct dm_raid45_locking_type { + /* Request a lock on a stripe. */ + void* (*lock)(sector_t key, enum dm_lock_type type); + + /* Release a lock on a stripe. */ + void (*unlock)(void *lock_handle); +}; + +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-region-hash.c +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-region-hash.c @@ -0,0 +1,719 @@ +/* + * Copyright (C) 2003 Sistina Software Limited. + * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. + * + * This file is released under the GPL. + */ + +#include +#include "dm-region-hash.h" + +#include +#include +#include +#include +#include + +#include "dm.h" + +#define DM_MSG_PREFIX "region hash" + +/*----------------------------------------------------------------- + * Region hash + * + * The mirror splits itself up into discrete regions. Each + * region can be in one of three states: clean, dirty, + * nosync. There is no need to put clean regions in the hash. + * + * In addition to being present in the hash table a region _may_ + * be present on one of three lists. + * + * clean_regions: Regions on this list have no io pending to + * them, they are in sync, we are no longer interested in them, + * they are dull. dm_rh_update_states() will remove them from the + * hash table. + * + * quiesced_regions: These regions have been spun down, ready + * for recovery. rh_recovery_start() will remove regions from + * this list and hand them to kmirrord, which will schedule the + * recovery io with kcopyd. + * + * recovered_regions: Regions that kcopyd has successfully + * recovered. dm_rh_update_states() will now schedule any delayed + * io, up the recovery_count, and remove the region from the + * hash. + * + * There are 2 locks: + * A rw spin lock 'hash_lock' protects just the hash table, + * this is never held in write mode from interrupt context, + * which I believe means that we only have to disable irqs when + * doing a write lock. + * + * An ordinary spin lock 'region_lock' that protects the three + * lists in the region_hash, with the 'state', 'list' and + * 'delayed_bios' fields of the regions. This is used from irq + * context, so all other uses will have to suspend local irqs. + *---------------------------------------------------------------*/ +struct dm_region_hash { + uint32_t region_size; + unsigned region_shift; + + /* holds persistent region state */ + struct dm_dirty_log *log; + + /* hash table */ + rwlock_t hash_lock; + mempool_t *region_pool; + unsigned mask; + unsigned nr_buckets; + unsigned prime; + unsigned shift; + struct list_head *buckets; + + unsigned max_recovery; /* Max # of regions to recover in parallel */ + + spinlock_t region_lock; + atomic_t recovery_in_flight; + struct semaphore recovery_count; + struct list_head clean_regions; + struct list_head quiesced_regions; + struct list_head recovered_regions; + struct list_head failed_recovered_regions; + + void *context; + sector_t target_begin; + + /* Callback function to schedule bios writes */ + void (*dispatch_bios)(void *context, struct bio_list *bios); + + /* Callback function to wakeup callers worker thread. */ + void (*wakeup_workers)(void *context); + + /* Callback function to wakeup callers recovery waiters. */ + void (*wakeup_all_recovery_waiters)(void *context); +}; + +struct dm_region { + struct dm_region_hash *rh; /* FIXME: can we get rid of this ? */ + region_t key; + int state; + + struct list_head hash_list; + struct list_head list; + + atomic_t pending; + struct bio_list delayed_bios; +}; + +/* + * Conversion fns + */ +region_t dm_rh_sector_to_region(struct dm_region_hash *rh, sector_t sector) +{ + return sector >> rh->region_shift; +} +// EXPORT_SYMBOL_GPL(dm_rh_sector_to_region); + +sector_t dm_rh_region_to_sector(struct dm_region_hash *rh, region_t region) +{ + return region << rh->region_shift; +} +// EXPORT_SYMBOL_GPL(dm_rh_region_to_sector); + +region_t dm_rh_bio_to_region(struct dm_region_hash *rh, struct bio *bio) +{ + return dm_rh_sector_to_region(rh, bio->bi_sector - rh->target_begin); +} +// EXPORT_SYMBOL_GPL(dm_rh_bio_to_region); + +void *dm_rh_region_context(struct dm_region *reg) +{ + return reg->rh->context; +} +// EXPORT_SYMBOL_GPL(dm_rh_region_context); + +region_t dm_rh_get_region_key(struct dm_region *reg) +{ + return reg->key; +} +// EXPORT_SYMBOL_GPL(dm_rh_get_region_key); + +sector_t dm_rh_get_region_size(struct dm_region_hash *rh) +{ + return rh->region_size; +} +// EXPORT_SYMBOL_GPL(dm_rh_get_region_size); + +/* + * FIXME: shall we pass in a structure instead of all these args to + * dm_region_hash_create()???? + */ +#define RH_HASH_MULT 2654435387U +#define RH_HASH_SHIFT 12 + +#define MIN_REGIONS 64 +struct dm_region_hash *dm_region_hash_create( + void *context, void (*dispatch_bios)(void *context, + struct bio_list *bios), + void (*wakeup_workers)(void *context), + void (*wakeup_all_recovery_waiters)(void *context), + sector_t target_begin, unsigned max_recovery, + struct dm_dirty_log *log, uint32_t region_size, + region_t nr_regions) +{ + struct dm_region_hash *rh; + unsigned nr_buckets, max_buckets; + size_t i; + + /* + * Calculate a suitable number of buckets for our hash + * table. + */ + max_buckets = nr_regions >> 6; + for (nr_buckets = 128u; nr_buckets < max_buckets; nr_buckets <<= 1) + ; + nr_buckets >>= 1; + + rh = kmalloc(sizeof(*rh), GFP_KERNEL); + if (!rh) { + DMERR("unable to allocate region hash memory"); + return ERR_PTR(-ENOMEM); + } + + rh->context = context; + rh->dispatch_bios = dispatch_bios; + rh->wakeup_workers = wakeup_workers; + rh->wakeup_all_recovery_waiters = wakeup_all_recovery_waiters; + rh->target_begin = target_begin; + rh->max_recovery = max_recovery; + rh->log = log; + rh->region_size = region_size; + rh->region_shift = ffs(region_size) - 1; + rwlock_init(&rh->hash_lock); + rh->mask = nr_buckets - 1; + rh->nr_buckets = nr_buckets; + + rh->shift = RH_HASH_SHIFT; + rh->prime = RH_HASH_MULT; + + rh->buckets = vmalloc(nr_buckets * sizeof(*rh->buckets)); + if (!rh->buckets) { + DMERR("unable to allocate region hash bucket memory"); + kfree(rh); + return ERR_PTR(-ENOMEM); + } + + for (i = 0; i < nr_buckets; i++) + INIT_LIST_HEAD(rh->buckets + i); + + spin_lock_init(&rh->region_lock); + sema_init(&rh->recovery_count, 0); + atomic_set(&rh->recovery_in_flight, 0); + INIT_LIST_HEAD(&rh->clean_regions); + INIT_LIST_HEAD(&rh->quiesced_regions); + INIT_LIST_HEAD(&rh->recovered_regions); + INIT_LIST_HEAD(&rh->failed_recovered_regions); + + rh->region_pool = mempool_create_kmalloc_pool(MIN_REGIONS, + sizeof(struct dm_region)); + if (!rh->region_pool) { + vfree(rh->buckets); + kfree(rh); + rh = ERR_PTR(-ENOMEM); + } + + return rh; +} +// EXPORT_SYMBOL_GPL(dm_region_hash_create); + +void dm_region_hash_destroy(struct dm_region_hash *rh) +{ + unsigned h; + struct dm_region *reg, *nreg; + + BUG_ON(!list_empty(&rh->quiesced_regions)); + for (h = 0; h < rh->nr_buckets; h++) { + list_for_each_entry_safe(reg, nreg, rh->buckets + h, + hash_list) { + BUG_ON(atomic_read(®->pending)); + mempool_free(reg, rh->region_pool); + } + } + + if (rh->log) + dm_dirty_log_destroy(rh->log); + + if (rh->region_pool) + mempool_destroy(rh->region_pool); + + vfree(rh->buckets); + kfree(rh); +} +// EXPORT_SYMBOL_GPL(dm_region_hash_destroy); + +struct dm_dirty_log *dm_rh_dirty_log(struct dm_region_hash *rh) +{ + return rh->log; +} +// EXPORT_SYMBOL_GPL(dm_rh_dirty_log); + +static unsigned rh_hash(struct dm_region_hash *rh, region_t region) +{ + return (unsigned) ((region * rh->prime) >> rh->shift) & rh->mask; +} + +static struct dm_region *__rh_lookup(struct dm_region_hash *rh, region_t region) +{ + struct dm_region *reg; + struct list_head *bucket = rh->buckets + rh_hash(rh, region); + + list_for_each_entry(reg, bucket, hash_list) + if (reg->key == region) + return reg; + + return NULL; +} + +static void __rh_insert(struct dm_region_hash *rh, struct dm_region *reg) +{ + list_add(®->hash_list, rh->buckets + rh_hash(rh, reg->key)); +} + +static struct dm_region *__rh_alloc(struct dm_region_hash *rh, region_t region) +{ + struct dm_region *reg, *nreg; + + nreg = mempool_alloc(rh->region_pool, GFP_ATOMIC); + if (unlikely(!nreg)) + nreg = kmalloc(sizeof(*nreg), GFP_NOIO | __GFP_NOFAIL); + + nreg->state = rh->log->type->in_sync(rh->log, region, 1) ? + DM_RH_CLEAN : DM_RH_NOSYNC; + nreg->rh = rh; + nreg->key = region; + INIT_LIST_HEAD(&nreg->list); + atomic_set(&nreg->pending, 0); + bio_list_init(&nreg->delayed_bios); + + write_lock_irq(&rh->hash_lock); + reg = __rh_lookup(rh, region); + if (reg) + /* We lost the race. */ + mempool_free(nreg, rh->region_pool); + else { + __rh_insert(rh, nreg); + if (nreg->state == DM_RH_CLEAN) { + spin_lock(&rh->region_lock); + list_add(&nreg->list, &rh->clean_regions); + spin_unlock(&rh->region_lock); + } + + reg = nreg; + } + write_unlock_irq(&rh->hash_lock); + + return reg; +} + +static struct dm_region *__rh_find(struct dm_region_hash *rh, region_t region) +{ + struct dm_region *reg; + + reg = __rh_lookup(rh, region); + if (!reg) { + read_unlock(&rh->hash_lock); + reg = __rh_alloc(rh, region); + read_lock(&rh->hash_lock); + } + + return reg; +} + +int dm_rh_get_state(struct dm_region_hash *rh, region_t region, int may_block) +{ + int r; + struct dm_region *reg; + + read_lock(&rh->hash_lock); + reg = __rh_lookup(rh, region); + read_unlock(&rh->hash_lock); + + if (reg) + return reg->state; + + /* + * The region wasn't in the hash, so we fall back to the + * dirty log. + */ + r = rh->log->type->in_sync(rh->log, region, may_block); + + /* + * Any error from the dirty log (eg. -EWOULDBLOCK) gets + * taken as a DM_RH_NOSYNC + */ + return r == 1 ? DM_RH_CLEAN : DM_RH_NOSYNC; +} +// EXPORT_SYMBOL_GPL(dm_rh_get_state); + +static void complete_resync_work(struct dm_region *reg, int success) +{ + struct dm_region_hash *rh = reg->rh; + + rh->log->type->set_region_sync(rh->log, reg->key, success); + + /* + * Dispatch the bios before we call 'wake_up_all'. + * This is important because if we are suspending, + * we want to know that recovery is complete and + * the work queue is flushed. If we wake_up_all + * before we dispatch_bios (queue bios and call wake()), + * then we risk suspending before the work queue + * has been properly flushed. + */ + rh->dispatch_bios(rh->context, ®->delayed_bios); + if (atomic_dec_and_test(&rh->recovery_in_flight)) + rh->wakeup_all_recovery_waiters(rh->context); + up(&rh->recovery_count); +} + +/* dm_rh_mark_nosync + * @ms + * @bio + * @done + * @error + * + * The bio was written on some mirror(s) but failed on other mirror(s). + * We can successfully endio the bio but should avoid the region being + * marked clean by setting the state DM_RH_NOSYNC. + * + * This function is _not_ safe in interrupt context! + */ +void dm_rh_mark_nosync(struct dm_region_hash *rh, + struct bio *bio, unsigned done, int error) +{ + unsigned long flags; + struct dm_dirty_log *log = rh->log; + struct dm_region *reg; + region_t region = dm_rh_bio_to_region(rh, bio); + int recovering = 0; + + /* We must inform the log that the sync count has changed. */ + log->type->set_region_sync(log, region, 0); + + read_lock(&rh->hash_lock); + reg = __rh_find(rh, region); + read_unlock(&rh->hash_lock); + + /* region hash entry should exist because write was in-flight */ + BUG_ON(!reg); + BUG_ON(!list_empty(®->list)); + + spin_lock_irqsave(&rh->region_lock, flags); + /* + * Possible cases: + * 1) DM_RH_DIRTY + * 2) DM_RH_NOSYNC: was dirty, other preceeding writes failed + * 3) DM_RH_RECOVERING: flushing pending writes + * Either case, the region should have not been connected to list. + */ + recovering = (reg->state == DM_RH_RECOVERING); + reg->state = DM_RH_NOSYNC; + BUG_ON(!list_empty(®->list)); + spin_unlock_irqrestore(&rh->region_lock, flags); + + bio_endio(bio, error); + if (recovering) + complete_resync_work(reg, 0); +} +// EXPORT_SYMBOL_GPL(dm_rh_mark_nosync); + +void dm_rh_update_states(struct dm_region_hash *rh, int errors_handled) +{ + struct dm_region *reg, *next; + + LIST_HEAD(clean); + LIST_HEAD(recovered); + LIST_HEAD(failed_recovered); + + /* + * Quickly grab the lists. + */ + write_lock_irq(&rh->hash_lock); + spin_lock(&rh->region_lock); + if (!list_empty(&rh->clean_regions)) { + list_splice_init(&rh->clean_regions, &clean); + + list_for_each_entry(reg, &clean, list) + list_del(®->hash_list); + } + + if (!list_empty(&rh->recovered_regions)) { + list_splice_init(&rh->recovered_regions, &recovered); + + list_for_each_entry(reg, &recovered, list) + list_del(®->hash_list); + } + + if (!list_empty(&rh->failed_recovered_regions)) { + list_splice_init(&rh->failed_recovered_regions, + &failed_recovered); + + list_for_each_entry(reg, &failed_recovered, list) + list_del(®->hash_list); + } + + spin_unlock(&rh->region_lock); + write_unlock_irq(&rh->hash_lock); + + /* + * All the regions on the recovered and clean lists have + * now been pulled out of the system, so no need to do + * any more locking. + */ + list_for_each_entry_safe(reg, next, &recovered, list) { + rh->log->type->clear_region(rh->log, reg->key); + complete_resync_work(reg, 1); + mempool_free(reg, rh->region_pool); + } + + list_for_each_entry_safe(reg, next, &failed_recovered, list) { + complete_resync_work(reg, errors_handled ? 0 : 1); + mempool_free(reg, rh->region_pool); + } + + list_for_each_entry_safe(reg, next, &clean, list) { + rh->log->type->clear_region(rh->log, reg->key); + mempool_free(reg, rh->region_pool); + } + + rh->log->type->flush(rh->log); +} +// EXPORT_SYMBOL_GPL(dm_rh_update_states); + +void dm_rh_inc(struct dm_region_hash *rh, region_t region) +{ + struct dm_region *reg; + + read_lock(&rh->hash_lock); + reg = __rh_find(rh, region); + + spin_lock_irq(&rh->region_lock); + atomic_inc(®->pending); + + if (reg->state == DM_RH_CLEAN) { + reg->state = DM_RH_DIRTY; + list_del_init(®->list); /* take off the clean list */ + spin_unlock_irq(&rh->region_lock); + + rh->log->type->mark_region(rh->log, reg->key); + } else + spin_unlock_irq(&rh->region_lock); + + + read_unlock(&rh->hash_lock); +} +// EXPORT_SYMBOL_GPL(dm_rh_inc); + +void dm_rh_inc_pending(struct dm_region_hash *rh, struct bio_list *bios) +{ + struct bio *bio; + + for (bio = bios->head; bio; bio = bio->bi_next) + dm_rh_inc(rh, dm_rh_bio_to_region(rh, bio)); +} +// EXPORT_SYMBOL_GPL(dm_rh_inc_pending); + +void dm_rh_dec(struct dm_region_hash *rh, region_t region) +{ + unsigned long flags; + struct dm_region *reg; + int should_wake = 0; + + read_lock(&rh->hash_lock); + reg = __rh_lookup(rh, region); + read_unlock(&rh->hash_lock); + + spin_lock_irqsave(&rh->region_lock, flags); + if (atomic_dec_and_test(®->pending)) { + /* + * There is no pending I/O for this region. + * We can move the region to corresponding list for next action. + * At this point, the region is not yet connected to any list. + * + * If the state is DM_RH_NOSYNC, the region should be kept off + * from clean list. + * The hash entry for DM_RH_NOSYNC will remain in memory + * until the region is recovered or the map is reloaded. + */ + + /* do nothing for DM_RH_NOSYNC */ + if (reg->state == DM_RH_RECOVERING) { + list_add_tail(®->list, &rh->quiesced_regions); + } else if (reg->state == DM_RH_DIRTY) { + reg->state = DM_RH_CLEAN; + list_add(®->list, &rh->clean_regions); + } + should_wake = 1; + } + spin_unlock_irqrestore(&rh->region_lock, flags); + + if (should_wake) + rh->wakeup_workers(rh->context); +} +// EXPORT_SYMBOL_GPL(dm_rh_dec); + +/* + * Starts quiescing a region in preparation for recovery. + */ +static int __rh_recovery_prepare(struct dm_region_hash *rh) +{ + int r; + region_t region; + struct dm_region *reg; + + /* + * Ask the dirty log what's next. + */ + r = rh->log->type->get_resync_work(rh->log, ®ion); + if (r <= 0) + return r; + + /* + * Get this region, and start it quiescing by setting the + * recovering flag. + */ + read_lock(&rh->hash_lock); + reg = __rh_find(rh, region); + read_unlock(&rh->hash_lock); + + spin_lock_irq(&rh->region_lock); + reg->state = DM_RH_RECOVERING; + + /* Already quiesced ? */ + if (atomic_read(®->pending)) + list_del_init(®->list); + else + list_move(®->list, &rh->quiesced_regions); + + spin_unlock_irq(&rh->region_lock); + + return 1; +} + +void dm_rh_recovery_prepare(struct dm_region_hash *rh) +{ + /* Extra reference to avoid race with dm_rh_stop_recovery */ + atomic_inc(&rh->recovery_in_flight); + + while (!down_trylock(&rh->recovery_count)) { + atomic_inc(&rh->recovery_in_flight); + if (__rh_recovery_prepare(rh) <= 0) { + atomic_dec(&rh->recovery_in_flight); + up(&rh->recovery_count); + break; + } + } + + /* Drop the extra reference */ + if (atomic_dec_and_test(&rh->recovery_in_flight)) + rh->wakeup_all_recovery_waiters(rh->context); +} +// EXPORT_SYMBOL_GPL(dm_rh_recovery_prepare); + +/* + * Returns any quiesced regions. + */ +struct dm_region *dm_rh_recovery_start(struct dm_region_hash *rh) +{ + struct dm_region *reg = NULL; + + spin_lock_irq(&rh->region_lock); + if (!list_empty(&rh->quiesced_regions)) { + reg = list_entry(rh->quiesced_regions.next, + struct dm_region, list); + list_del_init(®->list); /* remove from the quiesced list */ + } + spin_unlock_irq(&rh->region_lock); + + return reg; +} +// EXPORT_SYMBOL_GPL(dm_rh_recovery_start); + +void dm_rh_recovery_end(struct dm_region *reg, int success) +{ + struct dm_region_hash *rh = reg->rh; + + spin_lock_irq(&rh->region_lock); + if (success) + list_add(®->list, ®->rh->recovered_regions); + else { + reg->state = DM_RH_NOSYNC; + list_add(®->list, ®->rh->failed_recovered_regions); + } + spin_unlock_irq(&rh->region_lock); + + rh->wakeup_workers(rh->context); +} +// EXPORT_SYMBOL_GPL(dm_rh_recovery_end); + +/* Return recovery in flight count. */ +int dm_rh_recovery_in_flight(struct dm_region_hash *rh) +{ + return atomic_read(&rh->recovery_in_flight); +} +// EXPORT_SYMBOL_GPL(dm_rh_recovery_in_flight); + +int dm_rh_flush(struct dm_region_hash *rh) +{ + return rh->log->type->flush(rh->log); +} +// EXPORT_SYMBOL_GPL(dm_rh_flush); + +void dm_rh_delay(struct dm_region_hash *rh, struct bio *bio) +{ + struct dm_region *reg; + + read_lock(&rh->hash_lock); + reg = __rh_find(rh, dm_rh_bio_to_region(rh, bio)); + bio_list_add(®->delayed_bios, bio); + read_unlock(&rh->hash_lock); +} +// EXPORT_SYMBOL_GPL(dm_rh_delay); + +void dm_rh_delay_by_region(struct dm_region_hash *rh, + struct bio *bio, region_t region) +{ + struct dm_region *reg; + + /* FIXME: locking. */ + read_lock(&rh->hash_lock); + reg = __rh_find(rh, region); + bio_list_add(®->delayed_bios, bio); + read_unlock(&rh->hash_lock); +} +// EXPORT_SYMBOL_GPL(dm_rh_delay_by_region); + +void dm_rh_stop_recovery(struct dm_region_hash *rh) +{ + int i; + + /* wait for any recovering regions */ + for (i = 0; i < rh->max_recovery; i++) + down(&rh->recovery_count); +} +// EXPORT_SYMBOL_GPL(dm_rh_stop_recovery); + +void dm_rh_start_recovery(struct dm_region_hash *rh) +{ + int i; + + for (i = 0; i < rh->max_recovery; i++) + up(&rh->recovery_count); + + rh->wakeup_workers(rh->context); +} +// EXPORT_SYMBOL_GPL(dm_rh_start_recovery); + +MODULE_DESCRIPTION(DM_NAME " region hash"); +MODULE_AUTHOR("Joe Thornber/Heinz Mauelshagen "); +MODULE_LICENSE("GPL"); --- linux-lowlatency-3.5.0.orig/ubuntu/dm-raid4-5/dm-region-hash.h +++ linux-lowlatency-3.5.0/ubuntu/dm-raid4-5/dm-region-hash.h @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2003 Sistina Software Limited. + * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. + * + * Device-Mapper dirty region hash interface. + * + * This file is released under the GPL. + */ + +#ifndef DM_REGION_HASH_H +#define DM_REGION_HASH_H + +#include + +/*----------------------------------------------------------------- + * Region hash + *----------------------------------------------------------------*/ +struct dm_region_hash; +struct dm_region; + +/* + * States a region can have. + */ +enum dm_rh_region_states { + DM_RH_CLEAN = 0x01, /* No writes in flight. */ + DM_RH_DIRTY = 0x02, /* Writes in flight. */ + DM_RH_NOSYNC = 0x04, /* Out of sync. */ + DM_RH_RECOVERING = 0x08, /* Under resynchronization. */ +}; + +/* + * Region hash create/destroy. + */ +struct bio_list; +struct dm_region_hash *dm_region_hash_create( + void *context, void (*dispatch_bios)(void *context, + struct bio_list *bios), + void (*wakeup_workers)(void *context), + void (*wakeup_all_recovery_waiters)(void *context), + sector_t target_begin, unsigned max_recovery, + struct dm_dirty_log *log, uint32_t region_size, + region_t nr_regions); +void dm_region_hash_destroy(struct dm_region_hash *rh); + +struct dm_dirty_log *dm_rh_dirty_log(struct dm_region_hash *rh); + +/* + * Conversion functions. + */ +region_t dm_rh_bio_to_region(struct dm_region_hash *rh, struct bio *bio); +sector_t dm_rh_region_to_sector(struct dm_region_hash *rh, region_t region); +region_t dm_rh_sector_to_region(struct dm_region_hash *rh, sector_t sector); +void *dm_rh_region_context(struct dm_region *reg); + +/* + * Get region size and key (ie. number of the region). + */ +sector_t dm_rh_get_region_size(struct dm_region_hash *rh); +region_t dm_rh_get_region_key(struct dm_region *reg); + +/* + * Get/set/update region state (and dirty log). + * + */ +int dm_rh_get_state(struct dm_region_hash *rh, region_t region, int may_block); +void dm_rh_set_state(struct dm_region_hash *rh, region_t region, + enum dm_rh_region_states state, int may_block); + +/* Non-zero errors_handled leaves the state of the region NOSYNC */ +void dm_rh_update_states(struct dm_region_hash *rh, int errors_handled); + +/* Flush the region hash and dirty log. */ +int dm_rh_flush(struct dm_region_hash *rh); + +/* Inc/dec pending count on regions. */ +void dm_rh_inc(struct dm_region_hash *rh, region_t region); +void dm_rh_inc_pending(struct dm_region_hash *rh, struct bio_list *bios); +void dm_rh_dec(struct dm_region_hash *rh, region_t region); + +/* Delay bios on regions. */ +void dm_rh_delay(struct dm_region_hash *rh, struct bio *bio); +void dm_rh_delay_by_region(struct dm_region_hash *rh, struct bio *bio, + region_t region); + +void dm_rh_mark_nosync(struct dm_region_hash *rh, + struct bio *bio, unsigned done, int error); + +/* + * Region recovery control. + */ + +/* Prepare some regions for recovery by starting to quiesce them. */ +void dm_rh_recovery_prepare(struct dm_region_hash *rh); + +/* Try fetching a quiesced region for recovery. */ +struct dm_region *dm_rh_recovery_start(struct dm_region_hash *rh); + +/* Report recovery end on a region. */ +void dm_rh_recovery_end(struct dm_region *reg, int error); + +/* Returns number of regions with recovery work outstanding. */ +int dm_rh_recovery_in_flight(struct dm_region_hash *rh); + +/* Start/stop recovery. */ +void dm_rh_start_recovery(struct dm_region_hash *rh); +void dm_rh_stop_recovery(struct dm_region_hash *rh); + +#endif /* DM_REGION_HASH_H */ --- linux-lowlatency-3.5.0.orig/ubuntu/i915/Kconfig +++ linux-lowlatency-3.5.0/ubuntu/i915/Kconfig @@ -0,0 +1,42 @@ +# +# Drm device configuration +# +# This driver provides support for the +# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. +# +config DRM_I915_HSW + tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics" + depends on DRM + depends on AGP + depends on AGP_INTEL + # we need shmfs for the swappable backing store, and in particular + # the shmem_readpage() which depends upon tmpfs + select SHMEM + select TMPFS + select DRM_KMS_HELPER + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + # i915 depends on ACPI_VIDEO when ACPI is enabled + # but for select to work, need to select ACPI_VIDEO's dependencies, ick + select BACKLIGHT_LCD_SUPPORT if ACPI + select BACKLIGHT_CLASS_DEVICE if ACPI + select VIDEO_OUTPUT_CONTROL if ACPI + select INPUT if ACPI + select ACPI_VIDEO if ACPI + select ACPI_BUTTON if ACPI + help + Choose this option if you have a system that has "Intel Graphics + Media Accelerator" or "HD Graphics" integrated graphics, + including 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G, + G35, G41, G43, G45 chipsets and Celeron, Pentium, Core i3, + Core i5, Core i7 as well as Atom CPUs with integrated graphics. + If M is selected, the module will be called i915. AGP support + is required for this driver to work. This driver is used by + the Intel driver in X.org 6.8 and XFree86 4.4 and above. It + replaces the older i830 module that supported a subset of the + hardware in older X.org releases. + + Note that the older i810/i815 chipsets require the use of the + i810 driver instead, and the Atom z5xx series has an entirely + different implementation. --- linux-lowlatency-3.5.0.orig/ubuntu/i915/Makefile +++ linux-lowlatency-3.5.0/ubuntu/i915/Makefile @@ -0,0 +1,52 @@ +# +# Makefile for the drm device driver. This driver provides support for the +# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. + +ccflags-y := -Iinclude/drm +i915_hsw-y := i915_drv.o i915_dma.o i915_irq.o \ + i915_debugfs.o \ + i915_suspend.o \ + i915_gem.o \ + i915_gem_context.o \ + i915_gem_debug.o \ + i915_gem_evict.o \ + i915_gem_execbuffer.o \ + i915_gem_gtt.o \ + i915_gem_stolen.o \ + i915_gem_tiling.o \ + i915_sysfs.o \ + i915_trace_points.o \ + intel_display.o \ + intel_crt.o \ + intel_lvds.o \ + intel_bios.o \ + intel_ddi.o \ + intel_dp.o \ + intel_hdmi.o \ + intel_sdvo.o \ + intel_modes.o \ + intel_panel.o \ + intel_pm.o \ + intel_i2c.o \ + intel_fb.o \ + intel_tv.o \ + intel_dvo.o \ + intel_ringbuffer.o \ + intel_overlay.o \ + intel_sprite.o \ + intel_opregion.o \ + dvo_ch7xxx.o \ + dvo_ch7017.o \ + dvo_ivch.o \ + dvo_tfp410.o \ + dvo_sil164.o \ + dvo_ns2501.o \ + i915_gem_dmabuf.o + +i915_hsw-$(CONFIG_COMPAT) += i915_ioc32.o + +i915_hsw-$(CONFIG_ACPI) += intel_acpi.o + +obj-$(CONFIG_DRM_I915_HSW) += i915_hsw.o + +CFLAGS_i915_trace_points.o := -I$(src) --- linux-lowlatency-3.5.0.orig/ubuntu/i915/dvo.h +++ linux-lowlatency-3.5.0/ubuntu/i915/dvo.h @@ -0,0 +1,150 @@ +/* + * Copyright © 2006 Eric Anholt + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _INTEL_DVO_H +#define _INTEL_DVO_H + +#include +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "intel_drv.h" + +struct intel_dvo_device { + const char *name; + int type; + /* DVOA/B/C output register */ + u32 dvo_reg; + /* GPIO register used for i2c bus to control this device */ + u32 gpio; + int slave_addr; + + const struct intel_dvo_dev_ops *dev_ops; + void *dev_priv; + struct i2c_adapter *i2c_bus; +}; + +struct intel_dvo_dev_ops { + /* + * Initialize the device at startup time. + * Returns NULL if the device does not exist. + */ + bool (*init)(struct intel_dvo_device *dvo, + struct i2c_adapter *i2cbus); + + /* + * Called to allow the output a chance to create properties after the + * RandR objects have been created. + */ + void (*create_resources)(struct intel_dvo_device *dvo); + + /* + * Turn on/off output. + * + * Because none of our dvo drivers support an intermediate power levels, + * we don't expose this in the interfac. + */ + void (*dpms)(struct intel_dvo_device *dvo, bool enable); + + /* + * Callback for testing a video mode for a given output. + * + * This function should only check for cases where a mode can't + * be supported on the output specifically, and not represent + * generic CRTC limitations. + * + * \return MODE_OK if the mode is valid, or another MODE_* otherwise. + */ + int (*mode_valid)(struct intel_dvo_device *dvo, + struct drm_display_mode *mode); + + /* + * Callback to adjust the mode to be set in the CRTC. + * + * This allows an output to adjust the clock or even the entire set of + * timings, which is used for panels with fixed timings or for + * buses with clock limitations. + */ + bool (*mode_fixup)(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode); + + /* + * Callback for preparing mode changes on an output + */ + void (*prepare)(struct intel_dvo_device *dvo); + + /* + * Callback for committing mode changes on an output + */ + void (*commit)(struct intel_dvo_device *dvo); + + /* + * Callback for setting up a video mode after fixups have been made. + * + * This is only called while the output is disabled. The dpms callback + * must be all that's necessary for the output, to turn the output on + * after this function is called. + */ + void (*mode_set)(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode); + + /* + * Probe for a connected output, and return detect_status. + */ + enum drm_connector_status (*detect)(struct intel_dvo_device *dvo); + + /* + * Probe the current hw status, returning true if the connected output + * is active. + */ + bool (*get_hw_state)(struct intel_dvo_device *dev); + + /** + * Query the device for the modes it provides. + * + * This function may also update MonInfo, mm_width, and mm_height. + * + * \return singly-linked list of modes or NULL if no modes found. + */ + struct drm_display_mode *(*get_modes)(struct intel_dvo_device *dvo); + + /** + * Clean up driver-specific bits of the output + */ + void (*destroy) (struct intel_dvo_device *dvo); + + /** + * Debugging hook to dump device registers to log file + */ + void (*dump_regs)(struct intel_dvo_device *dvo); +}; + +extern struct intel_dvo_dev_ops sil164_ops; +extern struct intel_dvo_dev_ops ch7xxx_ops; +extern struct intel_dvo_dev_ops ivch_ops; +extern struct intel_dvo_dev_ops tfp410_ops; +extern struct intel_dvo_dev_ops ch7017_ops; +extern struct intel_dvo_dev_ops ns2501_ops; + +#endif /* _INTEL_DVO_H */ --- linux-lowlatency-3.5.0.orig/ubuntu/i915/dvo_ch7017.c +++ linux-lowlatency-3.5.0/ubuntu/i915/dvo_ch7017.c @@ -0,0 +1,414 @@ +/* + * Copyright © 2006 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +#include "dvo.h" + +#define CH7017_TV_DISPLAY_MODE 0x00 +#define CH7017_FLICKER_FILTER 0x01 +#define CH7017_VIDEO_BANDWIDTH 0x02 +#define CH7017_TEXT_ENHANCEMENT 0x03 +#define CH7017_START_ACTIVE_VIDEO 0x04 +#define CH7017_HORIZONTAL_POSITION 0x05 +#define CH7017_VERTICAL_POSITION 0x06 +#define CH7017_BLACK_LEVEL 0x07 +#define CH7017_CONTRAST_ENHANCEMENT 0x08 +#define CH7017_TV_PLL 0x09 +#define CH7017_TV_PLL_M 0x0a +#define CH7017_TV_PLL_N 0x0b +#define CH7017_SUB_CARRIER_0 0x0c +#define CH7017_CIV_CONTROL 0x10 +#define CH7017_CIV_0 0x11 +#define CH7017_CHROMA_BOOST 0x14 +#define CH7017_CLOCK_MODE 0x1c +#define CH7017_INPUT_CLOCK 0x1d +#define CH7017_GPIO_CONTROL 0x1e +#define CH7017_INPUT_DATA_FORMAT 0x1f +#define CH7017_CONNECTION_DETECT 0x20 +#define CH7017_DAC_CONTROL 0x21 +#define CH7017_BUFFERED_CLOCK_OUTPUT 0x22 +#define CH7017_DEFEAT_VSYNC 0x47 +#define CH7017_TEST_PATTERN 0x48 + +#define CH7017_POWER_MANAGEMENT 0x49 +/** Enables the TV output path. */ +#define CH7017_TV_EN (1 << 0) +#define CH7017_DAC0_POWER_DOWN (1 << 1) +#define CH7017_DAC1_POWER_DOWN (1 << 2) +#define CH7017_DAC2_POWER_DOWN (1 << 3) +#define CH7017_DAC3_POWER_DOWN (1 << 4) +/** Powers down the TV out block, and DAC0-3 */ +#define CH7017_TV_POWER_DOWN_EN (1 << 5) + +#define CH7017_VERSION_ID 0x4a + +#define CH7017_DEVICE_ID 0x4b +#define CH7017_DEVICE_ID_VALUE 0x1b +#define CH7018_DEVICE_ID_VALUE 0x1a +#define CH7019_DEVICE_ID_VALUE 0x19 + +#define CH7017_XCLK_D2_ADJUST 0x53 +#define CH7017_UP_SCALER_COEFF_0 0x55 +#define CH7017_UP_SCALER_COEFF_1 0x56 +#define CH7017_UP_SCALER_COEFF_2 0x57 +#define CH7017_UP_SCALER_COEFF_3 0x58 +#define CH7017_UP_SCALER_COEFF_4 0x59 +#define CH7017_UP_SCALER_VERTICAL_INC_0 0x5a +#define CH7017_UP_SCALER_VERTICAL_INC_1 0x5b +#define CH7017_GPIO_INVERT 0x5c +#define CH7017_UP_SCALER_HORIZONTAL_INC_0 0x5d +#define CH7017_UP_SCALER_HORIZONTAL_INC_1 0x5e + +#define CH7017_HORIZONTAL_ACTIVE_PIXEL_INPUT 0x5f +/**< Low bits of horizontal active pixel input */ + +#define CH7017_ACTIVE_INPUT_LINE_OUTPUT 0x60 +/** High bits of horizontal active pixel input */ +#define CH7017_LVDS_HAP_INPUT_MASK (0x7 << 0) +/** High bits of vertical active line output */ +#define CH7017_LVDS_VAL_HIGH_MASK (0x7 << 3) + +#define CH7017_VERTICAL_ACTIVE_LINE_OUTPUT 0x61 +/**< Low bits of vertical active line output */ + +#define CH7017_HORIZONTAL_ACTIVE_PIXEL_OUTPUT 0x62 +/**< Low bits of horizontal active pixel output */ + +#define CH7017_LVDS_POWER_DOWN 0x63 +/** High bits of horizontal active pixel output */ +#define CH7017_LVDS_HAP_HIGH_MASK (0x7 << 0) +/** Enables the LVDS power down state transition */ +#define CH7017_LVDS_POWER_DOWN_EN (1 << 6) +/** Enables the LVDS upscaler */ +#define CH7017_LVDS_UPSCALER_EN (1 << 7) +#define CH7017_LVDS_POWER_DOWN_DEFAULT_RESERVED 0x08 + +#define CH7017_LVDS_ENCODING 0x64 +#define CH7017_LVDS_DITHER_2D (1 << 2) +#define CH7017_LVDS_DITHER_DIS (1 << 3) +#define CH7017_LVDS_DUAL_CHANNEL_EN (1 << 4) +#define CH7017_LVDS_24_BIT (1 << 5) + +#define CH7017_LVDS_ENCODING_2 0x65 + +#define CH7017_LVDS_PLL_CONTROL 0x66 +/** Enables the LVDS panel output path */ +#define CH7017_LVDS_PANEN (1 << 0) +/** Enables the LVDS panel backlight */ +#define CH7017_LVDS_BKLEN (1 << 3) + +#define CH7017_POWER_SEQUENCING_T1 0x67 +#define CH7017_POWER_SEQUENCING_T2 0x68 +#define CH7017_POWER_SEQUENCING_T3 0x69 +#define CH7017_POWER_SEQUENCING_T4 0x6a +#define CH7017_POWER_SEQUENCING_T5 0x6b +#define CH7017_GPIO_DRIVER_TYPE 0x6c +#define CH7017_GPIO_DATA 0x6d +#define CH7017_GPIO_DIRECTION_CONTROL 0x6e + +#define CH7017_LVDS_PLL_FEEDBACK_DIV 0x71 +# define CH7017_LVDS_PLL_FEED_BACK_DIVIDER_SHIFT 4 +# define CH7017_LVDS_PLL_FEED_FORWARD_DIVIDER_SHIFT 0 +# define CH7017_LVDS_PLL_FEEDBACK_DEFAULT_RESERVED 0x80 + +#define CH7017_LVDS_PLL_VCO_CONTROL 0x72 +# define CH7017_LVDS_PLL_VCO_DEFAULT_RESERVED 0x80 +# define CH7017_LVDS_PLL_VCO_SHIFT 4 +# define CH7017_LVDS_PLL_POST_SCALE_DIV_SHIFT 0 + +#define CH7017_OUTPUTS_ENABLE 0x73 +# define CH7017_CHARGE_PUMP_LOW 0x0 +# define CH7017_CHARGE_PUMP_HIGH 0x3 +# define CH7017_LVDS_CHANNEL_A (1 << 3) +# define CH7017_LVDS_CHANNEL_B (1 << 4) +# define CH7017_TV_DAC_A (1 << 5) +# define CH7017_TV_DAC_B (1 << 6) +# define CH7017_DDC_SELECT_DC2 (1 << 7) + +#define CH7017_LVDS_OUTPUT_AMPLITUDE 0x74 +#define CH7017_LVDS_PLL_EMI_REDUCTION 0x75 +#define CH7017_LVDS_POWER_DOWN_FLICKER 0x76 + +#define CH7017_LVDS_CONTROL_2 0x78 +# define CH7017_LOOP_FILTER_SHIFT 5 +# define CH7017_PHASE_DETECTOR_SHIFT 0 + +#define CH7017_BANG_LIMIT_CONTROL 0x7f + +struct ch7017_priv { + uint8_t dummy; +}; + +static void ch7017_dump_regs(struct intel_dvo_device *dvo); +static void ch7017_dpms(struct intel_dvo_device *dvo, bool enable); + +static bool ch7017_read(struct intel_dvo_device *dvo, u8 addr, u8 *val) +{ + struct i2c_msg msgs[] = { + { + .addr = dvo->slave_addr, + .flags = 0, + .len = 1, + .buf = &addr, + }, + { + .addr = dvo->slave_addr, + .flags = I2C_M_RD, + .len = 1, + .buf = val, + } + }; + return i2c_transfer(dvo->i2c_bus, msgs, 2) == 2; +} + +static bool ch7017_write(struct intel_dvo_device *dvo, u8 addr, u8 val) +{ + uint8_t buf[2] = { addr, val }; + struct i2c_msg msg = { + .addr = dvo->slave_addr, + .flags = 0, + .len = 2, + .buf = buf, + }; + return i2c_transfer(dvo->i2c_bus, &msg, 1) == 1; +} + +/** Probes for a CH7017 on the given bus and slave address. */ +static bool ch7017_init(struct intel_dvo_device *dvo, + struct i2c_adapter *adapter) +{ + struct ch7017_priv *priv; + const char *str; + u8 val; + + priv = kzalloc(sizeof(struct ch7017_priv), GFP_KERNEL); + if (priv == NULL) + return false; + + dvo->i2c_bus = adapter; + dvo->dev_priv = priv; + + if (!ch7017_read(dvo, CH7017_DEVICE_ID, &val)) + goto fail; + + switch (val) { + case CH7017_DEVICE_ID_VALUE: + str = "ch7017"; + break; + case CH7018_DEVICE_ID_VALUE: + str = "ch7018"; + break; + case CH7019_DEVICE_ID_VALUE: + str = "ch7019"; + break; + default: + DRM_DEBUG_KMS("ch701x not detected, got %d: from %s " + "slave %d.\n", + val, adapter->name, dvo->slave_addr); + goto fail; + } + + DRM_DEBUG_KMS("%s detected on %s, addr %d\n", + str, adapter->name, dvo->slave_addr); + return true; + +fail: + kfree(priv); + return false; +} + +static enum drm_connector_status ch7017_detect(struct intel_dvo_device *dvo) +{ + return connector_status_connected; +} + +static enum drm_mode_status ch7017_mode_valid(struct intel_dvo_device *dvo, + struct drm_display_mode *mode) +{ + if (mode->clock > 160000) + return MODE_CLOCK_HIGH; + + return MODE_OK; +} + +static void ch7017_mode_set(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + uint8_t lvds_pll_feedback_div, lvds_pll_vco_control; + uint8_t outputs_enable, lvds_control_2, lvds_power_down; + uint8_t horizontal_active_pixel_input; + uint8_t horizontal_active_pixel_output, vertical_active_line_output; + uint8_t active_input_line_output; + + DRM_DEBUG_KMS("Registers before mode setting\n"); + ch7017_dump_regs(dvo); + + /* LVDS PLL settings from page 75 of 7017-7017ds.pdf*/ + if (mode->clock < 100000) { + outputs_enable = CH7017_LVDS_CHANNEL_A | CH7017_CHARGE_PUMP_LOW; + lvds_pll_feedback_div = CH7017_LVDS_PLL_FEEDBACK_DEFAULT_RESERVED | + (2 << CH7017_LVDS_PLL_FEED_BACK_DIVIDER_SHIFT) | + (13 << CH7017_LVDS_PLL_FEED_FORWARD_DIVIDER_SHIFT); + lvds_pll_vco_control = CH7017_LVDS_PLL_VCO_DEFAULT_RESERVED | + (2 << CH7017_LVDS_PLL_VCO_SHIFT) | + (3 << CH7017_LVDS_PLL_POST_SCALE_DIV_SHIFT); + lvds_control_2 = (1 << CH7017_LOOP_FILTER_SHIFT) | + (0 << CH7017_PHASE_DETECTOR_SHIFT); + } else { + outputs_enable = CH7017_LVDS_CHANNEL_A | CH7017_CHARGE_PUMP_HIGH; + lvds_pll_feedback_div = CH7017_LVDS_PLL_FEEDBACK_DEFAULT_RESERVED | + (2 << CH7017_LVDS_PLL_FEED_BACK_DIVIDER_SHIFT) | + (3 << CH7017_LVDS_PLL_FEED_FORWARD_DIVIDER_SHIFT); + lvds_pll_feedback_div = 35; + lvds_control_2 = (3 << CH7017_LOOP_FILTER_SHIFT) | + (0 << CH7017_PHASE_DETECTOR_SHIFT); + if (1) { /* XXX: dual channel panel detection. Assume yes for now. */ + outputs_enable |= CH7017_LVDS_CHANNEL_B; + lvds_pll_vco_control = CH7017_LVDS_PLL_VCO_DEFAULT_RESERVED | + (2 << CH7017_LVDS_PLL_VCO_SHIFT) | + (13 << CH7017_LVDS_PLL_POST_SCALE_DIV_SHIFT); + } else { + lvds_pll_vco_control = CH7017_LVDS_PLL_VCO_DEFAULT_RESERVED | + (1 << CH7017_LVDS_PLL_VCO_SHIFT) | + (13 << CH7017_LVDS_PLL_POST_SCALE_DIV_SHIFT); + } + } + + horizontal_active_pixel_input = mode->hdisplay & 0x00ff; + + vertical_active_line_output = mode->vdisplay & 0x00ff; + horizontal_active_pixel_output = mode->hdisplay & 0x00ff; + + active_input_line_output = ((mode->hdisplay & 0x0700) >> 8) | + (((mode->vdisplay & 0x0700) >> 8) << 3); + + lvds_power_down = CH7017_LVDS_POWER_DOWN_DEFAULT_RESERVED | + (mode->hdisplay & 0x0700) >> 8; + + ch7017_dpms(dvo, false); + ch7017_write(dvo, CH7017_HORIZONTAL_ACTIVE_PIXEL_INPUT, + horizontal_active_pixel_input); + ch7017_write(dvo, CH7017_HORIZONTAL_ACTIVE_PIXEL_OUTPUT, + horizontal_active_pixel_output); + ch7017_write(dvo, CH7017_VERTICAL_ACTIVE_LINE_OUTPUT, + vertical_active_line_output); + ch7017_write(dvo, CH7017_ACTIVE_INPUT_LINE_OUTPUT, + active_input_line_output); + ch7017_write(dvo, CH7017_LVDS_PLL_VCO_CONTROL, lvds_pll_vco_control); + ch7017_write(dvo, CH7017_LVDS_PLL_FEEDBACK_DIV, lvds_pll_feedback_div); + ch7017_write(dvo, CH7017_LVDS_CONTROL_2, lvds_control_2); + ch7017_write(dvo, CH7017_OUTPUTS_ENABLE, outputs_enable); + + /* Turn the LVDS back on with new settings. */ + ch7017_write(dvo, CH7017_LVDS_POWER_DOWN, lvds_power_down); + + DRM_DEBUG_KMS("Registers after mode setting\n"); + ch7017_dump_regs(dvo); +} + +/* set the CH7017 power state */ +static void ch7017_dpms(struct intel_dvo_device *dvo, bool enable) +{ + uint8_t val; + + ch7017_read(dvo, CH7017_LVDS_POWER_DOWN, &val); + + /* Turn off TV/VGA, and never turn it on since we don't support it. */ + ch7017_write(dvo, CH7017_POWER_MANAGEMENT, + CH7017_DAC0_POWER_DOWN | + CH7017_DAC1_POWER_DOWN | + CH7017_DAC2_POWER_DOWN | + CH7017_DAC3_POWER_DOWN | + CH7017_TV_POWER_DOWN_EN); + + if (enable) { + /* Turn on the LVDS */ + ch7017_write(dvo, CH7017_LVDS_POWER_DOWN, + val & ~CH7017_LVDS_POWER_DOWN_EN); + } else { + /* Turn off the LVDS */ + ch7017_write(dvo, CH7017_LVDS_POWER_DOWN, + val | CH7017_LVDS_POWER_DOWN_EN); + } + + /* XXX: Should actually wait for update power status somehow */ + msleep(20); +} + +static bool ch7017_get_hw_state(struct intel_dvo_device *dvo) +{ + uint8_t val; + + ch7017_read(dvo, CH7017_LVDS_POWER_DOWN, &val); + + if (val & CH7017_LVDS_POWER_DOWN_EN) + return false; + else + return true; +} + +static void ch7017_dump_regs(struct intel_dvo_device *dvo) +{ + uint8_t val; + +#define DUMP(reg) \ +do { \ + ch7017_read(dvo, reg, &val); \ + DRM_DEBUG_KMS(#reg ": %02x\n", val); \ +} while (0) + + DUMP(CH7017_HORIZONTAL_ACTIVE_PIXEL_INPUT); + DUMP(CH7017_HORIZONTAL_ACTIVE_PIXEL_OUTPUT); + DUMP(CH7017_VERTICAL_ACTIVE_LINE_OUTPUT); + DUMP(CH7017_ACTIVE_INPUT_LINE_OUTPUT); + DUMP(CH7017_LVDS_PLL_VCO_CONTROL); + DUMP(CH7017_LVDS_PLL_FEEDBACK_DIV); + DUMP(CH7017_LVDS_CONTROL_2); + DUMP(CH7017_OUTPUTS_ENABLE); + DUMP(CH7017_LVDS_POWER_DOWN); +} + +static void ch7017_destroy(struct intel_dvo_device *dvo) +{ + struct ch7017_priv *priv = dvo->dev_priv; + + if (priv) { + kfree(priv); + dvo->dev_priv = NULL; + } +} + +struct intel_dvo_dev_ops ch7017_ops = { + .init = ch7017_init, + .detect = ch7017_detect, + .mode_valid = ch7017_mode_valid, + .mode_set = ch7017_mode_set, + .dpms = ch7017_dpms, + .get_hw_state = ch7017_get_hw_state, + .dump_regs = ch7017_dump_regs, + .destroy = ch7017_destroy, +}; --- linux-lowlatency-3.5.0.orig/ubuntu/i915/dvo_ch7xxx.c +++ linux-lowlatency-3.5.0/ubuntu/i915/dvo_ch7xxx.c @@ -0,0 +1,344 @@ +/************************************************************************** + +Copyright © 2006 Dave Airlie + +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +#include "dvo.h" + +#define CH7xxx_REG_VID 0x4a +#define CH7xxx_REG_DID 0x4b + +#define CH7011_VID 0x83 /* 7010 as well */ +#define CH7009A_VID 0x84 +#define CH7009B_VID 0x85 +#define CH7301_VID 0x95 + +#define CH7xxx_VID 0x84 +#define CH7xxx_DID 0x17 + +#define CH7xxx_NUM_REGS 0x4c + +#define CH7xxx_CM 0x1c +#define CH7xxx_CM_XCM (1<<0) +#define CH7xxx_CM_MCP (1<<2) +#define CH7xxx_INPUT_CLOCK 0x1d +#define CH7xxx_GPIO 0x1e +#define CH7xxx_GPIO_HPIR (1<<3) +#define CH7xxx_IDF 0x1f + +#define CH7xxx_IDF_HSP (1<<3) +#define CH7xxx_IDF_VSP (1<<4) + +#define CH7xxx_CONNECTION_DETECT 0x20 +#define CH7xxx_CDET_DVI (1<<5) + +#define CH7301_DAC_CNTL 0x21 +#define CH7301_HOTPLUG 0x23 +#define CH7xxx_TCTL 0x31 +#define CH7xxx_TVCO 0x32 +#define CH7xxx_TPCP 0x33 +#define CH7xxx_TPD 0x34 +#define CH7xxx_TPVT 0x35 +#define CH7xxx_TLPF 0x36 +#define CH7xxx_TCT 0x37 +#define CH7301_TEST_PATTERN 0x48 + +#define CH7xxx_PM 0x49 +#define CH7xxx_PM_FPD (1<<0) +#define CH7301_PM_DACPD0 (1<<1) +#define CH7301_PM_DACPD1 (1<<2) +#define CH7301_PM_DACPD2 (1<<3) +#define CH7xxx_PM_DVIL (1<<6) +#define CH7xxx_PM_DVIP (1<<7) + +#define CH7301_SYNC_POLARITY 0x56 +#define CH7301_SYNC_RGB_YUV (1<<0) +#define CH7301_SYNC_POL_DVI (1<<5) + +/** @file + * driver for the Chrontel 7xxx DVI chip over DVO. + */ + +static struct ch7xxx_id_struct { + uint8_t vid; + char *name; +} ch7xxx_ids[] = { + { CH7011_VID, "CH7011" }, + { CH7009A_VID, "CH7009A" }, + { CH7009B_VID, "CH7009B" }, + { CH7301_VID, "CH7301" }, +}; + +struct ch7xxx_priv { + bool quiet; +}; + +static char *ch7xxx_get_id(uint8_t vid) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(ch7xxx_ids); i++) { + if (ch7xxx_ids[i].vid == vid) + return ch7xxx_ids[i].name; + } + + return NULL; +} + +/** Reads an 8 bit register */ +static bool ch7xxx_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch) +{ + struct ch7xxx_priv *ch7xxx = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + u8 out_buf[2]; + u8 in_buf[2]; + + struct i2c_msg msgs[] = { + { + .addr = dvo->slave_addr, + .flags = 0, + .len = 1, + .buf = out_buf, + }, + { + .addr = dvo->slave_addr, + .flags = I2C_M_RD, + .len = 1, + .buf = in_buf, + } + }; + + out_buf[0] = addr; + out_buf[1] = 0; + + if (i2c_transfer(adapter, msgs, 2) == 2) { + *ch = in_buf[0]; + return true; + }; + + if (!ch7xxx->quiet) { + DRM_DEBUG_KMS("Unable to read register 0x%02x from %s:%02x.\n", + addr, adapter->name, dvo->slave_addr); + } + return false; +} + +/** Writes an 8 bit register */ +static bool ch7xxx_writeb(struct intel_dvo_device *dvo, int addr, uint8_t ch) +{ + struct ch7xxx_priv *ch7xxx = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + uint8_t out_buf[2]; + struct i2c_msg msg = { + .addr = dvo->slave_addr, + .flags = 0, + .len = 2, + .buf = out_buf, + }; + + out_buf[0] = addr; + out_buf[1] = ch; + + if (i2c_transfer(adapter, &msg, 1) == 1) + return true; + + if (!ch7xxx->quiet) { + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", + addr, adapter->name, dvo->slave_addr); + } + + return false; +} + +static bool ch7xxx_init(struct intel_dvo_device *dvo, + struct i2c_adapter *adapter) +{ + /* this will detect the CH7xxx chip on the specified i2c bus */ + struct ch7xxx_priv *ch7xxx; + uint8_t vendor, device; + char *name; + + ch7xxx = kzalloc(sizeof(struct ch7xxx_priv), GFP_KERNEL); + if (ch7xxx == NULL) + return false; + + dvo->i2c_bus = adapter; + dvo->dev_priv = ch7xxx; + ch7xxx->quiet = true; + + if (!ch7xxx_readb(dvo, CH7xxx_REG_VID, &vendor)) + goto out; + + name = ch7xxx_get_id(vendor); + if (!name) { + DRM_DEBUG_KMS("ch7xxx not detected; got 0x%02x from %s " + "slave %d.\n", + vendor, adapter->name, dvo->slave_addr); + goto out; + } + + + if (!ch7xxx_readb(dvo, CH7xxx_REG_DID, &device)) + goto out; + + if (device != CH7xxx_DID) { + DRM_DEBUG_KMS("ch7xxx not detected; got 0x%02x from %s " + "slave %d.\n", + vendor, adapter->name, dvo->slave_addr); + goto out; + } + + ch7xxx->quiet = false; + DRM_DEBUG_KMS("Detected %s chipset, vendor/device ID 0x%02x/0x%02x\n", + name, vendor, device); + return true; +out: + kfree(ch7xxx); + return false; +} + +static enum drm_connector_status ch7xxx_detect(struct intel_dvo_device *dvo) +{ + uint8_t cdet, orig_pm, pm; + + ch7xxx_readb(dvo, CH7xxx_PM, &orig_pm); + + pm = orig_pm; + pm &= ~CH7xxx_PM_FPD; + pm |= CH7xxx_PM_DVIL | CH7xxx_PM_DVIP; + + ch7xxx_writeb(dvo, CH7xxx_PM, pm); + + ch7xxx_readb(dvo, CH7xxx_CONNECTION_DETECT, &cdet); + + ch7xxx_writeb(dvo, CH7xxx_PM, orig_pm); + + if (cdet & CH7xxx_CDET_DVI) + return connector_status_connected; + return connector_status_disconnected; +} + +static enum drm_mode_status ch7xxx_mode_valid(struct intel_dvo_device *dvo, + struct drm_display_mode *mode) +{ + if (mode->clock > 165000) + return MODE_CLOCK_HIGH; + + return MODE_OK; +} + +static void ch7xxx_mode_set(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + uint8_t tvco, tpcp, tpd, tlpf, idf; + + if (mode->clock <= 65000) { + tvco = 0x23; + tpcp = 0x08; + tpd = 0x16; + tlpf = 0x60; + } else { + tvco = 0x2d; + tpcp = 0x06; + tpd = 0x26; + tlpf = 0xa0; + } + + ch7xxx_writeb(dvo, CH7xxx_TCTL, 0x00); + ch7xxx_writeb(dvo, CH7xxx_TVCO, tvco); + ch7xxx_writeb(dvo, CH7xxx_TPCP, tpcp); + ch7xxx_writeb(dvo, CH7xxx_TPD, tpd); + ch7xxx_writeb(dvo, CH7xxx_TPVT, 0x30); + ch7xxx_writeb(dvo, CH7xxx_TLPF, tlpf); + ch7xxx_writeb(dvo, CH7xxx_TCT, 0x00); + + ch7xxx_readb(dvo, CH7xxx_IDF, &idf); + + idf &= ~(CH7xxx_IDF_HSP | CH7xxx_IDF_VSP); + if (mode->flags & DRM_MODE_FLAG_PHSYNC) + idf |= CH7xxx_IDF_HSP; + + if (mode->flags & DRM_MODE_FLAG_PVSYNC) + idf |= CH7xxx_IDF_HSP; + + ch7xxx_writeb(dvo, CH7xxx_IDF, idf); +} + +/* set the CH7xxx power state */ +static void ch7xxx_dpms(struct intel_dvo_device *dvo, bool enable) +{ + if (enable) + ch7xxx_writeb(dvo, CH7xxx_PM, CH7xxx_PM_DVIL | CH7xxx_PM_DVIP); + else + ch7xxx_writeb(dvo, CH7xxx_PM, CH7xxx_PM_FPD); +} + +static bool ch7xxx_get_hw_state(struct intel_dvo_device *dvo) +{ + u8 val; + + ch7xxx_readb(dvo, CH7xxx_PM, &val); + + if (val & (CH7xxx_PM_DVIL | CH7xxx_PM_DVIP)) + return true; + else + return false; +} + +static void ch7xxx_dump_regs(struct intel_dvo_device *dvo) +{ + int i; + + for (i = 0; i < CH7xxx_NUM_REGS; i++) { + uint8_t val; + if ((i % 8) == 0) + DRM_LOG_KMS("\n %02X: ", i); + ch7xxx_readb(dvo, i, &val); + DRM_LOG_KMS("%02X ", val); + } +} + +static void ch7xxx_destroy(struct intel_dvo_device *dvo) +{ + struct ch7xxx_priv *ch7xxx = dvo->dev_priv; + + if (ch7xxx) { + kfree(ch7xxx); + dvo->dev_priv = NULL; + } +} + +struct intel_dvo_dev_ops ch7xxx_ops = { + .init = ch7xxx_init, + .detect = ch7xxx_detect, + .mode_valid = ch7xxx_mode_valid, + .mode_set = ch7xxx_mode_set, + .dpms = ch7xxx_dpms, + .get_hw_state = ch7xxx_get_hw_state, + .dump_regs = ch7xxx_dump_regs, + .destroy = ch7xxx_destroy, +}; --- linux-lowlatency-3.5.0.orig/ubuntu/i915/dvo_ivch.c +++ linux-lowlatency-3.5.0/ubuntu/i915/dvo_ivch.c @@ -0,0 +1,436 @@ +/* + * Copyright © 2006 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +#include "dvo.h" + +/* + * register definitions for the i82807aa. + * + * Documentation on this chipset can be found in datasheet #29069001 at + * intel.com. + */ + +/* + * VCH Revision & GMBus Base Addr + */ +#define VR00 0x00 +# define VR00_BASE_ADDRESS_MASK 0x007f + +/* + * Functionality Enable + */ +#define VR01 0x01 + +/* + * Enable the panel fitter + */ +# define VR01_PANEL_FIT_ENABLE (1 << 3) +/* + * Enables the LCD display. + * + * This must not be set while VR01_DVO_BYPASS_ENABLE is set. + */ +# define VR01_LCD_ENABLE (1 << 2) +/** Enables the DVO repeater. */ +# define VR01_DVO_BYPASS_ENABLE (1 << 1) +/** Enables the DVO clock */ +# define VR01_DVO_ENABLE (1 << 0) + +/* + * LCD Interface Format + */ +#define VR10 0x10 +/** Enables LVDS output instead of CMOS */ +# define VR10_LVDS_ENABLE (1 << 4) +/** Enables 18-bit LVDS output. */ +# define VR10_INTERFACE_1X18 (0 << 2) +/** Enables 24-bit LVDS or CMOS output */ +# define VR10_INTERFACE_1X24 (1 << 2) +/** Enables 2x18-bit LVDS or CMOS output. */ +# define VR10_INTERFACE_2X18 (2 << 2) +/** Enables 2x24-bit LVDS output */ +# define VR10_INTERFACE_2X24 (3 << 2) + +/* + * VR20 LCD Horizontal Display Size + */ +#define VR20 0x20 + +/* + * LCD Vertical Display Size + */ +#define VR21 0x20 + +/* + * Panel power down status + */ +#define VR30 0x30 +/** Read only bit indicating that the panel is not in a safe poweroff state. */ +# define VR30_PANEL_ON (1 << 15) + +#define VR40 0x40 +# define VR40_STALL_ENABLE (1 << 13) +# define VR40_VERTICAL_INTERP_ENABLE (1 << 12) +# define VR40_ENHANCED_PANEL_FITTING (1 << 11) +# define VR40_HORIZONTAL_INTERP_ENABLE (1 << 10) +# define VR40_AUTO_RATIO_ENABLE (1 << 9) +# define VR40_CLOCK_GATING_ENABLE (1 << 8) + +/* + * Panel Fitting Vertical Ratio + * (((image_height - 1) << 16) / ((panel_height - 1))) >> 2 + */ +#define VR41 0x41 + +/* + * Panel Fitting Horizontal Ratio + * (((image_width - 1) << 16) / ((panel_width - 1))) >> 2 + */ +#define VR42 0x42 + +/* + * Horizontal Image Size + */ +#define VR43 0x43 + +/* VR80 GPIO 0 + */ +#define VR80 0x80 +#define VR81 0x81 +#define VR82 0x82 +#define VR83 0x83 +#define VR84 0x84 +#define VR85 0x85 +#define VR86 0x86 +#define VR87 0x87 + +/* VR88 GPIO 8 + */ +#define VR88 0x88 + +/* Graphics BIOS scratch 0 + */ +#define VR8E 0x8E +# define VR8E_PANEL_TYPE_MASK (0xf << 0) +# define VR8E_PANEL_INTERFACE_CMOS (0 << 4) +# define VR8E_PANEL_INTERFACE_LVDS (1 << 4) +# define VR8E_FORCE_DEFAULT_PANEL (1 << 5) + +/* Graphics BIOS scratch 1 + */ +#define VR8F 0x8F +# define VR8F_VCH_PRESENT (1 << 0) +# define VR8F_DISPLAY_CONN (1 << 1) +# define VR8F_POWER_MASK (0x3c) +# define VR8F_POWER_POS (2) + + +struct ivch_priv { + bool quiet; + + uint16_t width, height; +}; + + +static void ivch_dump_regs(struct intel_dvo_device *dvo); + +/** + * Reads a register on the ivch. + * + * Each of the 256 registers are 16 bits long. + */ +static bool ivch_read(struct intel_dvo_device *dvo, int addr, uint16_t *data) +{ + struct ivch_priv *priv = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + u8 out_buf[1]; + u8 in_buf[2]; + + struct i2c_msg msgs[] = { + { + .addr = dvo->slave_addr, + .flags = I2C_M_RD, + .len = 0, + }, + { + .addr = 0, + .flags = I2C_M_NOSTART, + .len = 1, + .buf = out_buf, + }, + { + .addr = dvo->slave_addr, + .flags = I2C_M_RD | I2C_M_NOSTART, + .len = 2, + .buf = in_buf, + } + }; + + out_buf[0] = addr; + + if (i2c_transfer(adapter, msgs, 3) == 3) { + *data = (in_buf[1] << 8) | in_buf[0]; + return true; + }; + + if (!priv->quiet) { + DRM_DEBUG_KMS("Unable to read register 0x%02x from " + "%s:%02x.\n", + addr, adapter->name, dvo->slave_addr); + } + return false; +} + +/** Writes a 16-bit register on the ivch */ +static bool ivch_write(struct intel_dvo_device *dvo, int addr, uint16_t data) +{ + struct ivch_priv *priv = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + u8 out_buf[3]; + struct i2c_msg msg = { + .addr = dvo->slave_addr, + .flags = 0, + .len = 3, + .buf = out_buf, + }; + + out_buf[0] = addr; + out_buf[1] = data & 0xff; + out_buf[2] = data >> 8; + + if (i2c_transfer(adapter, &msg, 1) == 1) + return true; + + if (!priv->quiet) { + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", + addr, adapter->name, dvo->slave_addr); + } + + return false; +} + +/** Probes the given bus and slave address for an ivch */ +static bool ivch_init(struct intel_dvo_device *dvo, + struct i2c_adapter *adapter) +{ + struct ivch_priv *priv; + uint16_t temp; + + priv = kzalloc(sizeof(struct ivch_priv), GFP_KERNEL); + if (priv == NULL) + return false; + + dvo->i2c_bus = adapter; + dvo->dev_priv = priv; + priv->quiet = true; + + if (!ivch_read(dvo, VR00, &temp)) + goto out; + priv->quiet = false; + + /* Since the identification bits are probably zeroes, which doesn't seem + * very unique, check that the value in the base address field matches + * the address it's responding on. + */ + if ((temp & VR00_BASE_ADDRESS_MASK) != dvo->slave_addr) { + DRM_DEBUG_KMS("ivch detect failed due to address mismatch " + "(%d vs %d)\n", + (temp & VR00_BASE_ADDRESS_MASK), dvo->slave_addr); + goto out; + } + + ivch_read(dvo, VR20, &priv->width); + ivch_read(dvo, VR21, &priv->height); + + return true; + +out: + kfree(priv); + return false; +} + +static enum drm_connector_status ivch_detect(struct intel_dvo_device *dvo) +{ + return connector_status_connected; +} + +static enum drm_mode_status ivch_mode_valid(struct intel_dvo_device *dvo, + struct drm_display_mode *mode) +{ + if (mode->clock > 112000) + return MODE_CLOCK_HIGH; + + return MODE_OK; +} + +/** Sets the power state of the panel connected to the ivch */ +static void ivch_dpms(struct intel_dvo_device *dvo, bool enable) +{ + int i; + uint16_t vr01, vr30, backlight; + + /* Set the new power state of the panel. */ + if (!ivch_read(dvo, VR01, &vr01)) + return; + + if (enable) + backlight = 1; + else + backlight = 0; + ivch_write(dvo, VR80, backlight); + + if (enable) + vr01 |= VR01_LCD_ENABLE | VR01_DVO_ENABLE; + else + vr01 &= ~(VR01_LCD_ENABLE | VR01_DVO_ENABLE); + + ivch_write(dvo, VR01, vr01); + + /* Wait for the panel to make its state transition */ + for (i = 0; i < 100; i++) { + if (!ivch_read(dvo, VR30, &vr30)) + break; + + if (((vr30 & VR30_PANEL_ON) != 0) == enable) + break; + udelay(1000); + } + /* wait some more; vch may fail to resync sometimes without this */ + udelay(16 * 1000); +} + +static bool ivch_get_hw_state(struct intel_dvo_device *dvo) +{ + uint16_t vr01; + + /* Set the new power state of the panel. */ + if (!ivch_read(dvo, VR01, &vr01)) + return false; + + if (vr01 & VR01_LCD_ENABLE) + return true; + else + return false; +} + +static void ivch_mode_set(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + uint16_t vr40 = 0; + uint16_t vr01; + + vr01 = 0; + vr40 = (VR40_STALL_ENABLE | VR40_VERTICAL_INTERP_ENABLE | + VR40_HORIZONTAL_INTERP_ENABLE); + + if (mode->hdisplay != adjusted_mode->hdisplay || + mode->vdisplay != adjusted_mode->vdisplay) { + uint16_t x_ratio, y_ratio; + + vr01 |= VR01_PANEL_FIT_ENABLE; + vr40 |= VR40_CLOCK_GATING_ENABLE; + x_ratio = (((mode->hdisplay - 1) << 16) / + (adjusted_mode->hdisplay - 1)) >> 2; + y_ratio = (((mode->vdisplay - 1) << 16) / + (adjusted_mode->vdisplay - 1)) >> 2; + ivch_write(dvo, VR42, x_ratio); + ivch_write(dvo, VR41, y_ratio); + } else { + vr01 &= ~VR01_PANEL_FIT_ENABLE; + vr40 &= ~VR40_CLOCK_GATING_ENABLE; + } + vr40 &= ~VR40_AUTO_RATIO_ENABLE; + + ivch_write(dvo, VR01, vr01); + ivch_write(dvo, VR40, vr40); + + ivch_dump_regs(dvo); +} + +static void ivch_dump_regs(struct intel_dvo_device *dvo) +{ + uint16_t val; + + ivch_read(dvo, VR00, &val); + DRM_LOG_KMS("VR00: 0x%04x\n", val); + ivch_read(dvo, VR01, &val); + DRM_LOG_KMS("VR01: 0x%04x\n", val); + ivch_read(dvo, VR30, &val); + DRM_LOG_KMS("VR30: 0x%04x\n", val); + ivch_read(dvo, VR40, &val); + DRM_LOG_KMS("VR40: 0x%04x\n", val); + + /* GPIO registers */ + ivch_read(dvo, VR80, &val); + DRM_LOG_KMS("VR80: 0x%04x\n", val); + ivch_read(dvo, VR81, &val); + DRM_LOG_KMS("VR81: 0x%04x\n", val); + ivch_read(dvo, VR82, &val); + DRM_LOG_KMS("VR82: 0x%04x\n", val); + ivch_read(dvo, VR83, &val); + DRM_LOG_KMS("VR83: 0x%04x\n", val); + ivch_read(dvo, VR84, &val); + DRM_LOG_KMS("VR84: 0x%04x\n", val); + ivch_read(dvo, VR85, &val); + DRM_LOG_KMS("VR85: 0x%04x\n", val); + ivch_read(dvo, VR86, &val); + DRM_LOG_KMS("VR86: 0x%04x\n", val); + ivch_read(dvo, VR87, &val); + DRM_LOG_KMS("VR87: 0x%04x\n", val); + ivch_read(dvo, VR88, &val); + DRM_LOG_KMS("VR88: 0x%04x\n", val); + + /* Scratch register 0 - AIM Panel type */ + ivch_read(dvo, VR8E, &val); + DRM_LOG_KMS("VR8E: 0x%04x\n", val); + + /* Scratch register 1 - Status register */ + ivch_read(dvo, VR8F, &val); + DRM_LOG_KMS("VR8F: 0x%04x\n", val); +} + +static void ivch_destroy(struct intel_dvo_device *dvo) +{ + struct ivch_priv *priv = dvo->dev_priv; + + if (priv) { + kfree(priv); + dvo->dev_priv = NULL; + } +} + +struct intel_dvo_dev_ops ivch_ops = { + .init = ivch_init, + .dpms = ivch_dpms, + .get_hw_state = ivch_get_hw_state, + .mode_valid = ivch_mode_valid, + .mode_set = ivch_mode_set, + .detect = ivch_detect, + .dump_regs = ivch_dump_regs, + .destroy = ivch_destroy, +}; --- linux-lowlatency-3.5.0.orig/ubuntu/i915/dvo_ns2501.c +++ linux-lowlatency-3.5.0/ubuntu/i915/dvo_ns2501.c @@ -0,0 +1,588 @@ +/* + * + * Copyright (c) 2012 Gilles Dartiguelongue, Thomas Richter + * + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "dvo.h" +#include "i915_reg.h" +#include "i915_drv.h" + +#define NS2501_VID 0x1305 +#define NS2501_DID 0x6726 + +#define NS2501_VID_LO 0x00 +#define NS2501_VID_HI 0x01 +#define NS2501_DID_LO 0x02 +#define NS2501_DID_HI 0x03 +#define NS2501_REV 0x04 +#define NS2501_RSVD 0x05 +#define NS2501_FREQ_LO 0x06 +#define NS2501_FREQ_HI 0x07 + +#define NS2501_REG8 0x08 +#define NS2501_8_VEN (1<<5) +#define NS2501_8_HEN (1<<4) +#define NS2501_8_DSEL (1<<3) +#define NS2501_8_BPAS (1<<2) +#define NS2501_8_RSVD (1<<1) +#define NS2501_8_PD (1<<0) + +#define NS2501_REG9 0x09 +#define NS2501_9_VLOW (1<<7) +#define NS2501_9_MSEL_MASK (0x7<<4) +#define NS2501_9_TSEL (1<<3) +#define NS2501_9_RSEN (1<<2) +#define NS2501_9_RSVD (1<<1) +#define NS2501_9_MDI (1<<0) + +#define NS2501_REGC 0x0c + +struct ns2501_priv { + //I2CDevRec d; + bool quiet; + int reg_8_shadow; + int reg_8_set; + // Shadow registers for i915 + int dvoc; + int pll_a; + int srcdim; + int fw_blc; +}; + +#define NSPTR(d) ((NS2501Ptr)(d->DriverPrivate.ptr)) + +/* + * For reasons unclear to me, the ns2501 at least on the Fujitsu/Siemens + * laptops does not react on the i2c bus unless + * both the PLL is running and the display is configured in its native + * resolution. + * This function forces the DVO on, and stores the registers it touches. + * Afterwards, registers are restored to regular values. + * + * This is pretty much a hack, though it works. + * Without that, ns2501_readb and ns2501_writeb fail + * when switching the resolution. + */ + +static void enable_dvo(struct intel_dvo_device *dvo) +{ + struct ns2501_priv *ns = (struct ns2501_priv *)(dvo->dev_priv); + struct i2c_adapter *adapter = dvo->i2c_bus; + struct intel_gmbus *bus = container_of(adapter, + struct intel_gmbus, + adapter); + struct drm_i915_private *dev_priv = bus->dev_priv; + + DRM_DEBUG_KMS("%s: Trying to re-enable the DVO\n", __FUNCTION__); + + ns->dvoc = I915_READ(DVO_C); + ns->pll_a = I915_READ(_DPLL_A); + ns->srcdim = I915_READ(DVOC_SRCDIM); + ns->fw_blc = I915_READ(FW_BLC); + + I915_WRITE(DVOC, 0x10004084); + I915_WRITE(_DPLL_A, 0xd0820000); + I915_WRITE(DVOC_SRCDIM, 0x400300); // 1024x768 + I915_WRITE(FW_BLC, 0x1080304); + + I915_WRITE(DVOC, 0x90004084); +} + +/* + * Restore the I915 registers modified by the above + * trigger function. + */ +static void restore_dvo(struct intel_dvo_device *dvo) +{ + struct i2c_adapter *adapter = dvo->i2c_bus; + struct intel_gmbus *bus = container_of(adapter, + struct intel_gmbus, + adapter); + struct drm_i915_private *dev_priv = bus->dev_priv; + struct ns2501_priv *ns = (struct ns2501_priv *)(dvo->dev_priv); + + I915_WRITE(DVOC, ns->dvoc); + I915_WRITE(_DPLL_A, ns->pll_a); + I915_WRITE(DVOC_SRCDIM, ns->srcdim); + I915_WRITE(FW_BLC, ns->fw_blc); +} + +/* +** Read a register from the ns2501. +** Returns true if successful, false otherwise. +** If it returns false, it might be wise to enable the +** DVO with the above function. +*/ +static bool ns2501_readb(struct intel_dvo_device *dvo, int addr, uint8_t * ch) +{ + struct ns2501_priv *ns = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + u8 out_buf[2]; + u8 in_buf[2]; + + struct i2c_msg msgs[] = { + { + .addr = dvo->slave_addr, + .flags = 0, + .len = 1, + .buf = out_buf, + }, + { + .addr = dvo->slave_addr, + .flags = I2C_M_RD, + .len = 1, + .buf = in_buf, + } + }; + + out_buf[0] = addr; + out_buf[1] = 0; + + if (i2c_transfer(adapter, msgs, 2) == 2) { + *ch = in_buf[0]; + return true; + }; + + if (!ns->quiet) { + DRM_DEBUG_KMS + ("Unable to read register 0x%02x from %s:0x%02x.\n", addr, + adapter->name, dvo->slave_addr); + } + + return false; +} + +/* +** Write a register to the ns2501. +** Returns true if successful, false otherwise. +** If it returns false, it might be wise to enable the +** DVO with the above function. +*/ +static bool ns2501_writeb(struct intel_dvo_device *dvo, int addr, uint8_t ch) +{ + struct ns2501_priv *ns = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + uint8_t out_buf[2]; + + struct i2c_msg msg = { + .addr = dvo->slave_addr, + .flags = 0, + .len = 2, + .buf = out_buf, + }; + + out_buf[0] = addr; + out_buf[1] = ch; + + if (i2c_transfer(adapter, &msg, 1) == 1) { + return true; + } + + if (!ns->quiet) { + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d\n", + addr, adapter->name, dvo->slave_addr); + } + + return false; +} + +/* National Semiconductor 2501 driver for chip on i2c bus + * scan for the chip on the bus. + * Hope the VBIOS initialized the PLL correctly so we can + * talk to it. If not, it will not be seen and not detected. + * Bummer! + */ +static bool ns2501_init(struct intel_dvo_device *dvo, + struct i2c_adapter *adapter) +{ + /* this will detect the NS2501 chip on the specified i2c bus */ + struct ns2501_priv *ns; + unsigned char ch; + + ns = kzalloc(sizeof(struct ns2501_priv), GFP_KERNEL); + if (ns == NULL) + return false; + + dvo->i2c_bus = adapter; + dvo->dev_priv = ns; + ns->quiet = true; + + if (!ns2501_readb(dvo, NS2501_VID_LO, &ch)) + goto out; + + if (ch != (NS2501_VID & 0xff)) { + DRM_DEBUG_KMS("ns2501 not detected got %d: from %s Slave %d.\n", + ch, adapter->name, dvo->slave_addr); + goto out; + } + + if (!ns2501_readb(dvo, NS2501_DID_LO, &ch)) + goto out; + + if (ch != (NS2501_DID & 0xff)) { + DRM_DEBUG_KMS("ns2501 not detected got %d: from %s Slave %d.\n", + ch, adapter->name, dvo->slave_addr); + goto out; + } + ns->quiet = false; + ns->reg_8_set = 0; + ns->reg_8_shadow = + NS2501_8_PD | NS2501_8_BPAS | NS2501_8_VEN | NS2501_8_HEN; + + DRM_DEBUG_KMS("init ns2501 dvo controller successfully!\n"); + return true; + +out: + kfree(ns); + return false; +} + +static enum drm_connector_status ns2501_detect(struct intel_dvo_device *dvo) +{ + /* + * This is a Laptop display, it doesn't have hotplugging. + * Even if not, the detection bit of the 2501 is unreliable as + * it only works for some display types. + * It is even more unreliable as the PLL must be active for + * allowing reading from the chiop. + */ + return connector_status_connected; +} + +static enum drm_mode_status ns2501_mode_valid(struct intel_dvo_device *dvo, + struct drm_display_mode *mode) +{ + DRM_DEBUG_KMS + ("%s: is mode valid (hdisplay=%d,htotal=%d,vdisplay=%d,vtotal=%d)\n", + __FUNCTION__, mode->hdisplay, mode->htotal, mode->vdisplay, + mode->vtotal); + + /* + * Currently, these are all the modes I have data from. + * More might exist. Unclear how to find the native resolution + * of the panel in here so we could always accept it + * by disabling the scaler. + */ + if ((mode->hdisplay == 800 && mode->vdisplay == 600) || + (mode->hdisplay == 640 && mode->vdisplay == 480) || + (mode->hdisplay == 1024 && mode->vdisplay == 768)) { + return MODE_OK; + } else { + return MODE_ONE_SIZE; /* Is this a reasonable error? */ + } +} + +static void ns2501_mode_set(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + bool ok; + bool restore = false; + struct ns2501_priv *ns = (struct ns2501_priv *)(dvo->dev_priv); + + DRM_DEBUG_KMS + ("%s: set mode (hdisplay=%d,htotal=%d,vdisplay=%d,vtotal=%d).\n", + __FUNCTION__, mode->hdisplay, mode->htotal, mode->vdisplay, + mode->vtotal); + + /* + * Where do I find the native resolution for which scaling is not required??? + * + * First trigger the DVO on as otherwise the chip does not appear on the i2c + * bus. + */ + do { + ok = true; + + if (mode->hdisplay == 800 && mode->vdisplay == 600) { + /* mode 277 */ + ns->reg_8_shadow &= ~NS2501_8_BPAS; + DRM_DEBUG_KMS("%s: switching to 800x600\n", + __FUNCTION__); + + /* + * No, I do not know where this data comes from. + * It is just what the video bios left in the DVO, so + * I'm just copying it here over. + * This also means that I cannot support any other modes + * except the ones supported by the bios. + */ + ok &= ns2501_writeb(dvo, 0x11, 0xc8); // 0xc7 also works. + ok &= ns2501_writeb(dvo, 0x1b, 0x19); + ok &= ns2501_writeb(dvo, 0x1c, 0x62); // VBIOS left 0x64 here, but 0x62 works nicer + ok &= ns2501_writeb(dvo, 0x1d, 0x02); + + ok &= ns2501_writeb(dvo, 0x34, 0x03); + ok &= ns2501_writeb(dvo, 0x35, 0xff); + + ok &= ns2501_writeb(dvo, 0x80, 0x27); + ok &= ns2501_writeb(dvo, 0x81, 0x03); + ok &= ns2501_writeb(dvo, 0x82, 0x41); + ok &= ns2501_writeb(dvo, 0x83, 0x05); + + ok &= ns2501_writeb(dvo, 0x8d, 0x02); + ok &= ns2501_writeb(dvo, 0x8e, 0x04); + ok &= ns2501_writeb(dvo, 0x8f, 0x00); + + ok &= ns2501_writeb(dvo, 0x90, 0xfe); /* vertical. VBIOS left 0xff here, but 0xfe works better */ + ok &= ns2501_writeb(dvo, 0x91, 0x07); + ok &= ns2501_writeb(dvo, 0x94, 0x00); + ok &= ns2501_writeb(dvo, 0x95, 0x00); + + ok &= ns2501_writeb(dvo, 0x96, 0x00); + + ok &= ns2501_writeb(dvo, 0x99, 0x00); + ok &= ns2501_writeb(dvo, 0x9a, 0x88); + + ok &= ns2501_writeb(dvo, 0x9c, 0x23); /* Looks like first and last line of the image. */ + ok &= ns2501_writeb(dvo, 0x9d, 0x00); + ok &= ns2501_writeb(dvo, 0x9e, 0x25); + ok &= ns2501_writeb(dvo, 0x9f, 0x03); + + ok &= ns2501_writeb(dvo, 0xa4, 0x80); + + ok &= ns2501_writeb(dvo, 0xb6, 0x00); + + ok &= ns2501_writeb(dvo, 0xb9, 0xc8); /* horizontal? */ + ok &= ns2501_writeb(dvo, 0xba, 0x00); /* horizontal? */ + + ok &= ns2501_writeb(dvo, 0xc0, 0x05); /* horizontal? */ + ok &= ns2501_writeb(dvo, 0xc1, 0xd7); + + ok &= ns2501_writeb(dvo, 0xc2, 0x00); + ok &= ns2501_writeb(dvo, 0xc3, 0xf8); + + ok &= ns2501_writeb(dvo, 0xc4, 0x03); + ok &= ns2501_writeb(dvo, 0xc5, 0x1a); + + ok &= ns2501_writeb(dvo, 0xc6, 0x00); + ok &= ns2501_writeb(dvo, 0xc7, 0x73); + ok &= ns2501_writeb(dvo, 0xc8, 0x02); + + } else if (mode->hdisplay == 640 && mode->vdisplay == 480) { + /* mode 274 */ + DRM_DEBUG_KMS("%s: switching to 640x480\n", + __FUNCTION__); + /* + * No, I do not know where this data comes from. + * It is just what the video bios left in the DVO, so + * I'm just copying it here over. + * This also means that I cannot support any other modes + * except the ones supported by the bios. + */ + ns->reg_8_shadow &= ~NS2501_8_BPAS; + + ok &= ns2501_writeb(dvo, 0x11, 0xa0); + ok &= ns2501_writeb(dvo, 0x1b, 0x11); + ok &= ns2501_writeb(dvo, 0x1c, 0x54); + ok &= ns2501_writeb(dvo, 0x1d, 0x03); + + ok &= ns2501_writeb(dvo, 0x34, 0x03); + ok &= ns2501_writeb(dvo, 0x35, 0xff); + + ok &= ns2501_writeb(dvo, 0x80, 0xff); + ok &= ns2501_writeb(dvo, 0x81, 0x07); + ok &= ns2501_writeb(dvo, 0x82, 0x3d); + ok &= ns2501_writeb(dvo, 0x83, 0x05); + + ok &= ns2501_writeb(dvo, 0x8d, 0x02); + ok &= ns2501_writeb(dvo, 0x8e, 0x10); + ok &= ns2501_writeb(dvo, 0x8f, 0x00); + + ok &= ns2501_writeb(dvo, 0x90, 0xff); /* vertical */ + ok &= ns2501_writeb(dvo, 0x91, 0x07); + ok &= ns2501_writeb(dvo, 0x94, 0x00); + ok &= ns2501_writeb(dvo, 0x95, 0x00); + + ok &= ns2501_writeb(dvo, 0x96, 0x05); + + ok &= ns2501_writeb(dvo, 0x99, 0x00); + ok &= ns2501_writeb(dvo, 0x9a, 0x88); + + ok &= ns2501_writeb(dvo, 0x9c, 0x24); + ok &= ns2501_writeb(dvo, 0x9d, 0x00); + ok &= ns2501_writeb(dvo, 0x9e, 0x25); + ok &= ns2501_writeb(dvo, 0x9f, 0x03); + + ok &= ns2501_writeb(dvo, 0xa4, 0x84); + + ok &= ns2501_writeb(dvo, 0xb6, 0x09); + + ok &= ns2501_writeb(dvo, 0xb9, 0xa0); /* horizontal? */ + ok &= ns2501_writeb(dvo, 0xba, 0x00); /* horizontal? */ + + ok &= ns2501_writeb(dvo, 0xc0, 0x05); /* horizontal? */ + ok &= ns2501_writeb(dvo, 0xc1, 0x90); + + ok &= ns2501_writeb(dvo, 0xc2, 0x00); + ok &= ns2501_writeb(dvo, 0xc3, 0x0f); + + ok &= ns2501_writeb(dvo, 0xc4, 0x03); + ok &= ns2501_writeb(dvo, 0xc5, 0x16); + + ok &= ns2501_writeb(dvo, 0xc6, 0x00); + ok &= ns2501_writeb(dvo, 0xc7, 0x02); + ok &= ns2501_writeb(dvo, 0xc8, 0x02); + + } else if (mode->hdisplay == 1024 && mode->vdisplay == 768) { + /* mode 280 */ + DRM_DEBUG_KMS("%s: switching to 1024x768\n", + __FUNCTION__); + /* + * This might or might not work, actually. I'm silently + * assuming here that the native panel resolution is + * 1024x768. If not, then this leaves the scaler disabled + * generating a picture that is likely not the expected. + * + * Problem is that I do not know where to take the panel + * dimensions from. + * + * Enable the bypass, scaling not required. + * + * The scaler registers are irrelevant here.... + * + */ + ns->reg_8_shadow |= NS2501_8_BPAS; + ok &= ns2501_writeb(dvo, 0x37, 0x44); + } else { + /* + * Data not known. Bummer! + * Hopefully, the code should not go here + * as mode_OK delivered no other modes. + */ + ns->reg_8_shadow |= NS2501_8_BPAS; + } + ok &= ns2501_writeb(dvo, NS2501_REG8, ns->reg_8_shadow); + + if (!ok) { + if (restore) + restore_dvo(dvo); + enable_dvo(dvo); + restore = true; + } + } while (!ok); + /* + * Restore the old i915 registers before + * forcing the ns2501 on. + */ + if (restore) + restore_dvo(dvo); +} + +/* set the NS2501 power state */ +static bool ns2501_get_hw_state(struct intel_dvo_device *dvo) +{ + unsigned char ch; + + if (!ns2501_readb(dvo, NS2501_REG8, &ch)) + return false; + + if (ch & NS2501_8_PD) + return true; + else + return false; +} + +/* set the NS2501 power state */ +static void ns2501_dpms(struct intel_dvo_device *dvo, bool enable) +{ + bool ok; + bool restore = false; + struct ns2501_priv *ns = (struct ns2501_priv *)(dvo->dev_priv); + unsigned char ch; + + DRM_DEBUG_KMS("%s: Trying set the dpms of the DVO to %i\n", + __FUNCTION__, enable); + + ch = ns->reg_8_shadow; + + if (enable) + ch |= NS2501_8_PD; + else + ch &= ~NS2501_8_PD; + + if (ns->reg_8_set == 0 || ns->reg_8_shadow != ch) { + ns->reg_8_set = 1; + ns->reg_8_shadow = ch; + + do { + ok = true; + ok &= ns2501_writeb(dvo, NS2501_REG8, ch); + ok &= + ns2501_writeb(dvo, 0x34, + enable ? 0x03 : 0x00); + ok &= + ns2501_writeb(dvo, 0x35, + enable ? 0xff : 0x00); + if (!ok) { + if (restore) + restore_dvo(dvo); + enable_dvo(dvo); + restore = true; + } + } while (!ok); + + if (restore) + restore_dvo(dvo); + } +} + +static void ns2501_dump_regs(struct intel_dvo_device *dvo) +{ + uint8_t val; + + ns2501_readb(dvo, NS2501_FREQ_LO, &val); + DRM_LOG_KMS("NS2501_FREQ_LO: 0x%02x\n", val); + ns2501_readb(dvo, NS2501_FREQ_HI, &val); + DRM_LOG_KMS("NS2501_FREQ_HI: 0x%02x\n", val); + ns2501_readb(dvo, NS2501_REG8, &val); + DRM_LOG_KMS("NS2501_REG8: 0x%02x\n", val); + ns2501_readb(dvo, NS2501_REG9, &val); + DRM_LOG_KMS("NS2501_REG9: 0x%02x\n", val); + ns2501_readb(dvo, NS2501_REGC, &val); + DRM_LOG_KMS("NS2501_REGC: 0x%02x\n", val); +} + +static void ns2501_destroy(struct intel_dvo_device *dvo) +{ + struct ns2501_priv *ns = dvo->dev_priv; + + if (ns) { + kfree(ns); + dvo->dev_priv = NULL; + } +} + +struct intel_dvo_dev_ops ns2501_ops = { + .init = ns2501_init, + .detect = ns2501_detect, + .mode_valid = ns2501_mode_valid, + .mode_set = ns2501_mode_set, + .dpms = ns2501_dpms, + .get_hw_state = ns2501_get_hw_state, + .dump_regs = ns2501_dump_regs, + .destroy = ns2501_destroy, +}; --- linux-lowlatency-3.5.0.orig/ubuntu/i915/dvo_sil164.c +++ linux-lowlatency-3.5.0/ubuntu/i915/dvo_sil164.c @@ -0,0 +1,279 @@ +/************************************************************************** + +Copyright © 2006 Dave Airlie + +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +#include "dvo.h" + +#define SIL164_VID 0x0001 +#define SIL164_DID 0x0006 + +#define SIL164_VID_LO 0x00 +#define SIL164_VID_HI 0x01 +#define SIL164_DID_LO 0x02 +#define SIL164_DID_HI 0x03 +#define SIL164_REV 0x04 +#define SIL164_RSVD 0x05 +#define SIL164_FREQ_LO 0x06 +#define SIL164_FREQ_HI 0x07 + +#define SIL164_REG8 0x08 +#define SIL164_8_VEN (1<<5) +#define SIL164_8_HEN (1<<4) +#define SIL164_8_DSEL (1<<3) +#define SIL164_8_BSEL (1<<2) +#define SIL164_8_EDGE (1<<1) +#define SIL164_8_PD (1<<0) + +#define SIL164_REG9 0x09 +#define SIL164_9_VLOW (1<<7) +#define SIL164_9_MSEL_MASK (0x7<<4) +#define SIL164_9_TSEL (1<<3) +#define SIL164_9_RSEN (1<<2) +#define SIL164_9_HTPLG (1<<1) +#define SIL164_9_MDI (1<<0) + +#define SIL164_REGC 0x0c + +struct sil164_priv { + //I2CDevRec d; + bool quiet; +}; + +#define SILPTR(d) ((SIL164Ptr)(d->DriverPrivate.ptr)) + +static bool sil164_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch) +{ + struct sil164_priv *sil = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + u8 out_buf[2]; + u8 in_buf[2]; + + struct i2c_msg msgs[] = { + { + .addr = dvo->slave_addr, + .flags = 0, + .len = 1, + .buf = out_buf, + }, + { + .addr = dvo->slave_addr, + .flags = I2C_M_RD, + .len = 1, + .buf = in_buf, + } + }; + + out_buf[0] = addr; + out_buf[1] = 0; + + if (i2c_transfer(adapter, msgs, 2) == 2) { + *ch = in_buf[0]; + return true; + }; + + if (!sil->quiet) { + DRM_DEBUG_KMS("Unable to read register 0x%02x from %s:%02x.\n", + addr, adapter->name, dvo->slave_addr); + } + return false; +} + +static bool sil164_writeb(struct intel_dvo_device *dvo, int addr, uint8_t ch) +{ + struct sil164_priv *sil = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + uint8_t out_buf[2]; + struct i2c_msg msg = { + .addr = dvo->slave_addr, + .flags = 0, + .len = 2, + .buf = out_buf, + }; + + out_buf[0] = addr; + out_buf[1] = ch; + + if (i2c_transfer(adapter, &msg, 1) == 1) + return true; + + if (!sil->quiet) { + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", + addr, adapter->name, dvo->slave_addr); + } + + return false; +} + +/* Silicon Image 164 driver for chip on i2c bus */ +static bool sil164_init(struct intel_dvo_device *dvo, + struct i2c_adapter *adapter) +{ + /* this will detect the SIL164 chip on the specified i2c bus */ + struct sil164_priv *sil; + unsigned char ch; + + sil = kzalloc(sizeof(struct sil164_priv), GFP_KERNEL); + if (sil == NULL) + return false; + + dvo->i2c_bus = adapter; + dvo->dev_priv = sil; + sil->quiet = true; + + if (!sil164_readb(dvo, SIL164_VID_LO, &ch)) + goto out; + + if (ch != (SIL164_VID & 0xff)) { + DRM_DEBUG_KMS("sil164 not detected got %d: from %s Slave %d.\n", + ch, adapter->name, dvo->slave_addr); + goto out; + } + + if (!sil164_readb(dvo, SIL164_DID_LO, &ch)) + goto out; + + if (ch != (SIL164_DID & 0xff)) { + DRM_DEBUG_KMS("sil164 not detected got %d: from %s Slave %d.\n", + ch, adapter->name, dvo->slave_addr); + goto out; + } + sil->quiet = false; + + DRM_DEBUG_KMS("init sil164 dvo controller successfully!\n"); + return true; + +out: + kfree(sil); + return false; +} + +static enum drm_connector_status sil164_detect(struct intel_dvo_device *dvo) +{ + uint8_t reg9; + + sil164_readb(dvo, SIL164_REG9, ®9); + + if (reg9 & SIL164_9_HTPLG) + return connector_status_connected; + else + return connector_status_disconnected; +} + +static enum drm_mode_status sil164_mode_valid(struct intel_dvo_device *dvo, + struct drm_display_mode *mode) +{ + return MODE_OK; +} + +static void sil164_mode_set(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + /* As long as the basics are set up, since we don't have clock + * dependencies in the mode setup, we can just leave the + * registers alone and everything will work fine. + */ + /* recommended programming sequence from doc */ + /*sil164_writeb(sil, 0x08, 0x30); + sil164_writeb(sil, 0x09, 0x00); + sil164_writeb(sil, 0x0a, 0x90); + sil164_writeb(sil, 0x0c, 0x89); + sil164_writeb(sil, 0x08, 0x31);*/ + /* don't do much */ + return; +} + +/* set the SIL164 power state */ +static void sil164_dpms(struct intel_dvo_device *dvo, bool enable) +{ + int ret; + unsigned char ch; + + ret = sil164_readb(dvo, SIL164_REG8, &ch); + if (ret == false) + return; + + if (enable) + ch |= SIL164_8_PD; + else + ch &= ~SIL164_8_PD; + + sil164_writeb(dvo, SIL164_REG8, ch); + return; +} + +static bool sil164_get_hw_state(struct intel_dvo_device *dvo) +{ + int ret; + unsigned char ch; + + ret = sil164_readb(dvo, SIL164_REG8, &ch); + if (ret == false) + return false; + + if (ch & SIL164_8_PD) + return true; + else + return false; +} + +static void sil164_dump_regs(struct intel_dvo_device *dvo) +{ + uint8_t val; + + sil164_readb(dvo, SIL164_FREQ_LO, &val); + DRM_LOG_KMS("SIL164_FREQ_LO: 0x%02x\n", val); + sil164_readb(dvo, SIL164_FREQ_HI, &val); + DRM_LOG_KMS("SIL164_FREQ_HI: 0x%02x\n", val); + sil164_readb(dvo, SIL164_REG8, &val); + DRM_LOG_KMS("SIL164_REG8: 0x%02x\n", val); + sil164_readb(dvo, SIL164_REG9, &val); + DRM_LOG_KMS("SIL164_REG9: 0x%02x\n", val); + sil164_readb(dvo, SIL164_REGC, &val); + DRM_LOG_KMS("SIL164_REGC: 0x%02x\n", val); +} + +static void sil164_destroy(struct intel_dvo_device *dvo) +{ + struct sil164_priv *sil = dvo->dev_priv; + + if (sil) { + kfree(sil); + dvo->dev_priv = NULL; + } +} + +struct intel_dvo_dev_ops sil164_ops = { + .init = sil164_init, + .detect = sil164_detect, + .mode_valid = sil164_mode_valid, + .mode_set = sil164_mode_set, + .dpms = sil164_dpms, + .get_hw_state = sil164_get_hw_state, + .dump_regs = sil164_dump_regs, + .destroy = sil164_destroy, +}; --- linux-lowlatency-3.5.0.orig/ubuntu/i915/dvo_tfp410.c +++ linux-lowlatency-3.5.0/ubuntu/i915/dvo_tfp410.c @@ -0,0 +1,318 @@ +/* + * Copyright © 2007 Dave Mueller + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Dave Mueller + * + */ + +#include "dvo.h" + +/* register definitions according to the TFP410 data sheet */ +#define TFP410_VID 0x014C +#define TFP410_DID 0x0410 + +#define TFP410_VID_LO 0x00 +#define TFP410_VID_HI 0x01 +#define TFP410_DID_LO 0x02 +#define TFP410_DID_HI 0x03 +#define TFP410_REV 0x04 + +#define TFP410_CTL_1 0x08 +#define TFP410_CTL_1_TDIS (1<<6) +#define TFP410_CTL_1_VEN (1<<5) +#define TFP410_CTL_1_HEN (1<<4) +#define TFP410_CTL_1_DSEL (1<<3) +#define TFP410_CTL_1_BSEL (1<<2) +#define TFP410_CTL_1_EDGE (1<<1) +#define TFP410_CTL_1_PD (1<<0) + +#define TFP410_CTL_2 0x09 +#define TFP410_CTL_2_VLOW (1<<7) +#define TFP410_CTL_2_MSEL_MASK (0x7<<4) +#define TFP410_CTL_2_MSEL (1<<4) +#define TFP410_CTL_2_TSEL (1<<3) +#define TFP410_CTL_2_RSEN (1<<2) +#define TFP410_CTL_2_HTPLG (1<<1) +#define TFP410_CTL_2_MDI (1<<0) + +#define TFP410_CTL_3 0x0A +#define TFP410_CTL_3_DK_MASK (0x7<<5) +#define TFP410_CTL_3_DK (1<<5) +#define TFP410_CTL_3_DKEN (1<<4) +#define TFP410_CTL_3_CTL_MASK (0x7<<1) +#define TFP410_CTL_3_CTL (1<<1) + +#define TFP410_USERCFG 0x0B + +#define TFP410_DE_DLY 0x32 + +#define TFP410_DE_CTL 0x33 +#define TFP410_DE_CTL_DEGEN (1<<6) +#define TFP410_DE_CTL_VSPOL (1<<5) +#define TFP410_DE_CTL_HSPOL (1<<4) +#define TFP410_DE_CTL_DEDLY8 (1<<0) + +#define TFP410_DE_TOP 0x34 + +#define TFP410_DE_CNT_LO 0x36 +#define TFP410_DE_CNT_HI 0x37 + +#define TFP410_DE_LIN_LO 0x38 +#define TFP410_DE_LIN_HI 0x39 + +#define TFP410_H_RES_LO 0x3A +#define TFP410_H_RES_HI 0x3B + +#define TFP410_V_RES_LO 0x3C +#define TFP410_V_RES_HI 0x3D + +struct tfp410_priv { + bool quiet; +}; + +static bool tfp410_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch) +{ + struct tfp410_priv *tfp = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + u8 out_buf[2]; + u8 in_buf[2]; + + struct i2c_msg msgs[] = { + { + .addr = dvo->slave_addr, + .flags = 0, + .len = 1, + .buf = out_buf, + }, + { + .addr = dvo->slave_addr, + .flags = I2C_M_RD, + .len = 1, + .buf = in_buf, + } + }; + + out_buf[0] = addr; + out_buf[1] = 0; + + if (i2c_transfer(adapter, msgs, 2) == 2) { + *ch = in_buf[0]; + return true; + }; + + if (!tfp->quiet) { + DRM_DEBUG_KMS("Unable to read register 0x%02x from %s:%02x.\n", + addr, adapter->name, dvo->slave_addr); + } + return false; +} + +static bool tfp410_writeb(struct intel_dvo_device *dvo, int addr, uint8_t ch) +{ + struct tfp410_priv *tfp = dvo->dev_priv; + struct i2c_adapter *adapter = dvo->i2c_bus; + uint8_t out_buf[2]; + struct i2c_msg msg = { + .addr = dvo->slave_addr, + .flags = 0, + .len = 2, + .buf = out_buf, + }; + + out_buf[0] = addr; + out_buf[1] = ch; + + if (i2c_transfer(adapter, &msg, 1) == 1) + return true; + + if (!tfp->quiet) { + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", + addr, adapter->name, dvo->slave_addr); + } + + return false; +} + +static int tfp410_getid(struct intel_dvo_device *dvo, int addr) +{ + uint8_t ch1, ch2; + + if (tfp410_readb(dvo, addr+0, &ch1) && + tfp410_readb(dvo, addr+1, &ch2)) + return ((ch2 << 8) & 0xFF00) | (ch1 & 0x00FF); + + return -1; +} + +/* Ti TFP410 driver for chip on i2c bus */ +static bool tfp410_init(struct intel_dvo_device *dvo, + struct i2c_adapter *adapter) +{ + /* this will detect the tfp410 chip on the specified i2c bus */ + struct tfp410_priv *tfp; + int id; + + tfp = kzalloc(sizeof(struct tfp410_priv), GFP_KERNEL); + if (tfp == NULL) + return false; + + dvo->i2c_bus = adapter; + dvo->dev_priv = tfp; + tfp->quiet = true; + + if ((id = tfp410_getid(dvo, TFP410_VID_LO)) != TFP410_VID) { + DRM_DEBUG_KMS("tfp410 not detected got VID %X: from %s " + "Slave %d.\n", + id, adapter->name, dvo->slave_addr); + goto out; + } + + if ((id = tfp410_getid(dvo, TFP410_DID_LO)) != TFP410_DID) { + DRM_DEBUG_KMS("tfp410 not detected got DID %X: from %s " + "Slave %d.\n", + id, adapter->name, dvo->slave_addr); + goto out; + } + tfp->quiet = false; + return true; +out: + kfree(tfp); + return false; +} + +static enum drm_connector_status tfp410_detect(struct intel_dvo_device *dvo) +{ + enum drm_connector_status ret = connector_status_disconnected; + uint8_t ctl2; + + if (tfp410_readb(dvo, TFP410_CTL_2, &ctl2)) { + if (ctl2 & TFP410_CTL_2_RSEN) + ret = connector_status_connected; + else + ret = connector_status_disconnected; + } + + return ret; +} + +static enum drm_mode_status tfp410_mode_valid(struct intel_dvo_device *dvo, + struct drm_display_mode *mode) +{ + return MODE_OK; +} + +static void tfp410_mode_set(struct intel_dvo_device *dvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + /* As long as the basics are set up, since we don't have clock dependencies + * in the mode setup, we can just leave the registers alone and everything + * will work fine. + */ + /* don't do much */ + return; +} + +/* set the tfp410 power state */ +static void tfp410_dpms(struct intel_dvo_device *dvo, bool enable) +{ + uint8_t ctl1; + + if (!tfp410_readb(dvo, TFP410_CTL_1, &ctl1)) + return; + + if (enable) + ctl1 |= TFP410_CTL_1_PD; + else + ctl1 &= ~TFP410_CTL_1_PD; + + tfp410_writeb(dvo, TFP410_CTL_1, ctl1); +} + +static bool tfp410_get_hw_state(struct intel_dvo_device *dvo) +{ + uint8_t ctl1; + + if (!tfp410_readb(dvo, TFP410_CTL_1, &ctl1)) + return false; + + if (ctl1 & TFP410_CTL_1_PD) + return true; + else + return false; +} + +static void tfp410_dump_regs(struct intel_dvo_device *dvo) +{ + uint8_t val, val2; + + tfp410_readb(dvo, TFP410_REV, &val); + DRM_LOG_KMS("TFP410_REV: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_CTL_1, &val); + DRM_LOG_KMS("TFP410_CTL1: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_CTL_2, &val); + DRM_LOG_KMS("TFP410_CTL2: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_CTL_3, &val); + DRM_LOG_KMS("TFP410_CTL3: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_USERCFG, &val); + DRM_LOG_KMS("TFP410_USERCFG: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_DE_DLY, &val); + DRM_LOG_KMS("TFP410_DE_DLY: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_DE_CTL, &val); + DRM_LOG_KMS("TFP410_DE_CTL: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_DE_TOP, &val); + DRM_LOG_KMS("TFP410_DE_TOP: 0x%02X\n", val); + tfp410_readb(dvo, TFP410_DE_CNT_LO, &val); + tfp410_readb(dvo, TFP410_DE_CNT_HI, &val2); + DRM_LOG_KMS("TFP410_DE_CNT: 0x%02X%02X\n", val2, val); + tfp410_readb(dvo, TFP410_DE_LIN_LO, &val); + tfp410_readb(dvo, TFP410_DE_LIN_HI, &val2); + DRM_LOG_KMS("TFP410_DE_LIN: 0x%02X%02X\n", val2, val); + tfp410_readb(dvo, TFP410_H_RES_LO, &val); + tfp410_readb(dvo, TFP410_H_RES_HI, &val2); + DRM_LOG_KMS("TFP410_H_RES: 0x%02X%02X\n", val2, val); + tfp410_readb(dvo, TFP410_V_RES_LO, &val); + tfp410_readb(dvo, TFP410_V_RES_HI, &val2); + DRM_LOG_KMS("TFP410_V_RES: 0x%02X%02X\n", val2, val); +} + +static void tfp410_destroy(struct intel_dvo_device *dvo) +{ + struct tfp410_priv *tfp = dvo->dev_priv; + + if (tfp) { + kfree(tfp); + dvo->dev_priv = NULL; + } +} + +struct intel_dvo_dev_ops tfp410_ops = { + .init = tfp410_init, + .detect = tfp410_detect, + .mode_valid = tfp410_mode_valid, + .mode_set = tfp410_mode_set, + .dpms = tfp410_dpms, + .get_hw_state = tfp410_get_hw_state, + .dump_regs = tfp410_dump_regs, + .destroy = tfp410_destroy, +}; --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_debugfs.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_debugfs.c @@ -0,0 +1,2132 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Keith Packard + * + */ + +#include +#include +#include +#include +#include "drmP.h" +#include "drm.h" +#include "intel_drv.h" +#include "intel_ringbuffer.h" +#include "i915_drm.h" +#include "i915_drv.h" + +#define DRM_I915_RING_DEBUG 1 + + +#if defined(CONFIG_DEBUG_FS) + +enum { + ACTIVE_LIST, + INACTIVE_LIST, + PINNED_LIST, +}; + +static const char *yesno(int v) +{ + return v ? "yes" : "no"; +} + +static int i915_capabilities(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + const struct intel_device_info *info = INTEL_INFO(dev); + + seq_printf(m, "gen: %d\n", info->gen); + seq_printf(m, "pch: %d\n", INTEL_PCH_TYPE(dev)); +#define DEV_INFO_FLAG(x) seq_printf(m, #x ": %s\n", yesno(info->x)) +#define DEV_INFO_SEP ; + DEV_INFO_FLAGS; +#undef DEV_INFO_FLAG +#undef DEV_INFO_SEP + + return 0; +} + +static const char *get_pin_flag(struct drm_i915_gem_object *obj) +{ + if (obj->user_pin_count > 0) + return "P"; + else if (obj->pin_count > 0) + return "p"; + else + return " "; +} + +static const char *get_tiling_flag(struct drm_i915_gem_object *obj) +{ + switch (obj->tiling_mode) { + default: + case I915_TILING_NONE: return " "; + case I915_TILING_X: return "X"; + case I915_TILING_Y: return "Y"; + } +} + +static const char *cache_level_str(int type) +{ + switch (type) { + case I915_CACHE_NONE: return " uncached"; + case I915_CACHE_LLC: return " snooped (LLC)"; + case I915_CACHE_LLC_MLC: return " snooped (LLC+MLC)"; + default: return ""; + } +} + +static void +describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) +{ + seq_printf(m, "%p: %s%s %8zdKiB %04x %04x %d %d %d%s%s%s", + &obj->base, + get_pin_flag(obj), + get_tiling_flag(obj), + obj->base.size / 1024, + obj->base.read_domains, + obj->base.write_domain, + obj->last_read_seqno, + obj->last_write_seqno, + obj->last_fenced_seqno, + cache_level_str(obj->cache_level), + obj->dirty ? " dirty" : "", + obj->madv == I915_MADV_DONTNEED ? " purgeable" : ""); + if (obj->base.name) + seq_printf(m, " (name: %d)", obj->base.name); + if (obj->pin_count) + seq_printf(m, " (pinned x %d)", obj->pin_count); + if (obj->fence_reg != I915_FENCE_REG_NONE) + seq_printf(m, " (fence: %d)", obj->fence_reg); + if (obj->gtt_space != NULL) + seq_printf(m, " (gtt offset: %08x, size: %08x)", + obj->gtt_offset, (unsigned int)obj->gtt_space->size); + if (obj->pin_mappable || obj->fault_mappable) { + char s[3], *t = s; + if (obj->pin_mappable) + *t++ = 'p'; + if (obj->fault_mappable) + *t++ = 'f'; + *t = '\0'; + seq_printf(m, " (%s mappable)", s); + } + if (obj->ring != NULL) + seq_printf(m, " (%s)", obj->ring->name); +} + +static int i915_gem_object_list_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + uintptr_t list = (uintptr_t) node->info_ent->data; + struct list_head *head; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + size_t total_obj_size, total_gtt_size; + int count, ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + switch (list) { + case ACTIVE_LIST: + seq_printf(m, "Active:\n"); + head = &dev_priv->mm.active_list; + break; + case INACTIVE_LIST: + seq_printf(m, "Inactive:\n"); + head = &dev_priv->mm.inactive_list; + break; + default: + mutex_unlock(&dev->struct_mutex); + return -EINVAL; + } + + total_obj_size = total_gtt_size = count = 0; + list_for_each_entry(obj, head, mm_list) { + seq_printf(m, " "); + describe_obj(m, obj); + seq_printf(m, "\n"); + total_obj_size += obj->base.size; + total_gtt_size += obj->gtt_space->size; + count++; + } + mutex_unlock(&dev->struct_mutex); + + seq_printf(m, "Total %d objects, %zu bytes, %zu GTT size\n", + count, total_obj_size, total_gtt_size); + return 0; +} + +#define count_objects(list, member) do { \ + list_for_each_entry(obj, list, member) { \ + size += obj->gtt_space->size; \ + ++count; \ + if (obj->map_and_fenceable) { \ + mappable_size += obj->gtt_space->size; \ + ++mappable_count; \ + } \ + } \ +} while (0) + +static int i915_gem_object_info(struct seq_file *m, void* data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 count, mappable_count, purgeable_count; + size_t size, mappable_size, purgeable_size; + struct drm_i915_gem_object *obj; + int ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + seq_printf(m, "%u objects, %zu bytes\n", + dev_priv->mm.object_count, + dev_priv->mm.object_memory); + + size = count = mappable_size = mappable_count = 0; + count_objects(&dev_priv->mm.bound_list, gtt_list); + seq_printf(m, "%u [%u] objects, %zu [%zu] bytes in gtt\n", + count, mappable_count, size, mappable_size); + + size = count = mappable_size = mappable_count = 0; + count_objects(&dev_priv->mm.active_list, mm_list); + seq_printf(m, " %u [%u] active objects, %zu [%zu] bytes\n", + count, mappable_count, size, mappable_size); + + size = count = mappable_size = mappable_count = 0; + count_objects(&dev_priv->mm.inactive_list, mm_list); + seq_printf(m, " %u [%u] inactive objects, %zu [%zu] bytes\n", + count, mappable_count, size, mappable_size); + + size = count = purgeable_size = purgeable_count = 0; + list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list) { + size += obj->base.size, ++count; + if (obj->madv == I915_MADV_DONTNEED) + purgeable_size += obj->base.size, ++purgeable_count; + } + seq_printf(m, "%u unbound objects, %zu bytes\n", count, size); + + size = count = mappable_size = mappable_count = 0; + list_for_each_entry(obj, &dev_priv->mm.bound_list, gtt_list) { + if (obj->fault_mappable) { + size += obj->gtt_space->size; + ++count; + } + if (obj->pin_mappable) { + mappable_size += obj->gtt_space->size; + ++mappable_count; + } + if (obj->madv == I915_MADV_DONTNEED) { + purgeable_size += obj->base.size; + ++purgeable_count; + } + } + seq_printf(m, "%u purgeable objects, %zu bytes\n", + purgeable_count, purgeable_size); + seq_printf(m, "%u pinned mappable objects, %zu bytes\n", + mappable_count, mappable_size); + seq_printf(m, "%u fault mappable objects, %zu bytes\n", + count, size); + + seq_printf(m, "%zu [%zu] gtt total\n", + dev_priv->mm.gtt_total, dev_priv->mm.mappable_gtt_total); + + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +static int i915_gem_gtt_info(struct seq_file *m, void* data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + uintptr_t list = (uintptr_t) node->info_ent->data; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + size_t total_obj_size, total_gtt_size; + int count, ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + total_obj_size = total_gtt_size = count = 0; + list_for_each_entry(obj, &dev_priv->mm.bound_list, gtt_list) { + if (list == PINNED_LIST && obj->pin_count == 0) + continue; + + seq_printf(m, " "); + describe_obj(m, obj); + seq_printf(m, "\n"); + total_obj_size += obj->base.size; + total_gtt_size += obj->gtt_space->size; + count++; + } + + mutex_unlock(&dev->struct_mutex); + + seq_printf(m, "Total %d objects, %zu bytes, %zu GTT size\n", + count, total_obj_size, total_gtt_size); + + return 0; +} + +static int i915_gem_pageflip_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + unsigned long flags; + struct intel_crtc *crtc; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) { + const char pipe = pipe_name(crtc->pipe); + const char plane = plane_name(crtc->plane); + struct intel_unpin_work *work; + + spin_lock_irqsave(&dev->event_lock, flags); + work = crtc->unpin_work; + if (work == NULL) { + seq_printf(m, "No flip due on pipe %c (plane %c)\n", + pipe, plane); + } else { + if (!work->pending) { + seq_printf(m, "Flip queued on pipe %c (plane %c)\n", + pipe, plane); + } else { + seq_printf(m, "Flip pending (waiting for vsync) on pipe %c (plane %c)\n", + pipe, plane); + } + if (work->enable_stall_check) + seq_printf(m, "Stall check enabled, "); + else + seq_printf(m, "Stall check waiting for page flip ioctl, "); + seq_printf(m, "%d prepares\n", work->pending); + + if (work->old_fb_obj) { + struct drm_i915_gem_object *obj = work->old_fb_obj; + if (obj) + seq_printf(m, "Old framebuffer gtt_offset 0x%08x\n", obj->gtt_offset); + } + if (work->pending_flip_obj) { + struct drm_i915_gem_object *obj = work->pending_flip_obj; + if (obj) + seq_printf(m, "New framebuffer gtt_offset 0x%08x\n", obj->gtt_offset); + } + } + spin_unlock_irqrestore(&dev->event_lock, flags); + } + + return 0; +} + +static int i915_gem_request_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + struct drm_i915_gem_request *gem_request; + int ret, count, i; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + count = 0; + for_each_ring(ring, dev_priv, i) { + if (list_empty(&ring->request_list)) + continue; + + seq_printf(m, "%s requests:\n", ring->name); + list_for_each_entry(gem_request, + &ring->request_list, + list) { + seq_printf(m, " %d @ %d\n", + gem_request->seqno, + (int) (jiffies - gem_request->emitted_jiffies)); + } + count++; + } + mutex_unlock(&dev->struct_mutex); + + if (count == 0) + seq_printf(m, "No requests\n"); + + return 0; +} + +static void i915_ring_seqno_info(struct seq_file *m, + struct intel_ring_buffer *ring) +{ + if (ring->get_seqno) { + seq_printf(m, "Current sequence (%s): %d\n", + ring->name, ring->get_seqno(ring, false)); + } +} + +static int i915_gem_seqno_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int ret, i; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + for_each_ring(ring, dev_priv, i) + i915_ring_seqno_info(m, ring); + + mutex_unlock(&dev->struct_mutex); + + return 0; +} + + +static int i915_interrupt_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int ret, i, pipe; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + if (IS_VALLEYVIEW(dev)) { + seq_printf(m, "Display IER:\t%08x\n", + I915_READ(VLV_IER)); + seq_printf(m, "Display IIR:\t%08x\n", + I915_READ(VLV_IIR)); + seq_printf(m, "Display IIR_RW:\t%08x\n", + I915_READ(VLV_IIR_RW)); + seq_printf(m, "Display IMR:\t%08x\n", + I915_READ(VLV_IMR)); + for_each_pipe(pipe) + seq_printf(m, "Pipe %c stat:\t%08x\n", + pipe_name(pipe), + I915_READ(PIPESTAT(pipe))); + + seq_printf(m, "Master IER:\t%08x\n", + I915_READ(VLV_MASTER_IER)); + + seq_printf(m, "Render IER:\t%08x\n", + I915_READ(GTIER)); + seq_printf(m, "Render IIR:\t%08x\n", + I915_READ(GTIIR)); + seq_printf(m, "Render IMR:\t%08x\n", + I915_READ(GTIMR)); + + seq_printf(m, "PM IER:\t\t%08x\n", + I915_READ(GEN6_PMIER)); + seq_printf(m, "PM IIR:\t\t%08x\n", + I915_READ(GEN6_PMIIR)); + seq_printf(m, "PM IMR:\t\t%08x\n", + I915_READ(GEN6_PMIMR)); + + seq_printf(m, "Port hotplug:\t%08x\n", + I915_READ(PORT_HOTPLUG_EN)); + seq_printf(m, "DPFLIPSTAT:\t%08x\n", + I915_READ(VLV_DPFLIPSTAT)); + seq_printf(m, "DPINVGTT:\t%08x\n", + I915_READ(DPINVGTT)); + + } else if (!HAS_PCH_SPLIT(dev)) { + seq_printf(m, "Interrupt enable: %08x\n", + I915_READ(IER)); + seq_printf(m, "Interrupt identity: %08x\n", + I915_READ(IIR)); + seq_printf(m, "Interrupt mask: %08x\n", + I915_READ(IMR)); + for_each_pipe(pipe) + seq_printf(m, "Pipe %c stat: %08x\n", + pipe_name(pipe), + I915_READ(PIPESTAT(pipe))); + } else { + seq_printf(m, "North Display Interrupt enable: %08x\n", + I915_READ(DEIER)); + seq_printf(m, "North Display Interrupt identity: %08x\n", + I915_READ(DEIIR)); + seq_printf(m, "North Display Interrupt mask: %08x\n", + I915_READ(DEIMR)); + seq_printf(m, "South Display Interrupt enable: %08x\n", + I915_READ(SDEIER)); + seq_printf(m, "South Display Interrupt identity: %08x\n", + I915_READ(SDEIIR)); + seq_printf(m, "South Display Interrupt mask: %08x\n", + I915_READ(SDEIMR)); + seq_printf(m, "Graphics Interrupt enable: %08x\n", + I915_READ(GTIER)); + seq_printf(m, "Graphics Interrupt identity: %08x\n", + I915_READ(GTIIR)); + seq_printf(m, "Graphics Interrupt mask: %08x\n", + I915_READ(GTIMR)); + } + seq_printf(m, "Interrupts received: %d\n", + atomic_read(&dev_priv->irq_received)); + for_each_ring(ring, dev_priv, i) { + if (IS_GEN6(dev) || IS_GEN7(dev)) { + seq_printf(m, + "Graphics Interrupt mask (%s): %08x\n", + ring->name, I915_READ_IMR(ring)); + } + i915_ring_seqno_info(m, ring); + } + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +static int i915_gem_fence_regs_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int i, ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + seq_printf(m, "Reserved fences = %d\n", dev_priv->fence_reg_start); + seq_printf(m, "Total fences = %d\n", dev_priv->num_fence_regs); + for (i = 0; i < dev_priv->num_fence_regs; i++) { + struct drm_i915_gem_object *obj = dev_priv->fence_regs[i].obj; + + seq_printf(m, "Fence %d, pin count = %d, object = ", + i, dev_priv->fence_regs[i].pin_count); + if (obj == NULL) + seq_printf(m, "unused"); + else + describe_obj(m, obj); + seq_printf(m, "\n"); + } + + mutex_unlock(&dev->struct_mutex); + return 0; +} + +static int i915_hws_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + const volatile u32 __iomem *hws; + int i; + + ring = &dev_priv->ring[(uintptr_t)node->info_ent->data]; + hws = (volatile u32 __iomem *)ring->status_page.page_addr; + if (hws == NULL) + return 0; + + for (i = 0; i < 4096 / sizeof(u32) / 4; i += 4) { + seq_printf(m, "0x%08x: 0x%08x 0x%08x 0x%08x 0x%08x\n", + i * 4, + hws[i], hws[i + 1], hws[i + 2], hws[i + 3]); + } + return 0; +} + +static const char *ring_str(int ring) +{ + switch (ring) { + case RCS: return "render"; + case VCS: return "bsd"; + case BCS: return "blt"; + default: return ""; + } +} + +static const char *pin_flag(int pinned) +{ + if (pinned > 0) + return " P"; + else if (pinned < 0) + return " p"; + else + return ""; +} + +static const char *tiling_flag(int tiling) +{ + switch (tiling) { + default: + case I915_TILING_NONE: return ""; + case I915_TILING_X: return " X"; + case I915_TILING_Y: return " Y"; + } +} + +static const char *dirty_flag(int dirty) +{ + return dirty ? " dirty" : ""; +} + +static const char *purgeable_flag(int purgeable) +{ + return purgeable ? " purgeable" : ""; +} + +static void print_error_buffers(struct seq_file *m, + const char *name, + struct drm_i915_error_buffer *err, + int count) +{ + seq_printf(m, "%s [%d]:\n", name, count); + + while (count--) { + seq_printf(m, " %08x %8u %04x %04x %x %x%s%s%s%s%s%s%s", + err->gtt_offset, + err->size, + err->read_domains, + err->write_domain, + err->rseqno, err->wseqno, + pin_flag(err->pinned), + tiling_flag(err->tiling), + dirty_flag(err->dirty), + purgeable_flag(err->purgeable), + err->ring != -1 ? " " : "", + ring_str(err->ring), + cache_level_str(err->cache_level)); + + if (err->name) + seq_printf(m, " (name: %d)", err->name); + if (err->fence_reg != I915_FENCE_REG_NONE) + seq_printf(m, " (fence: %d)", err->fence_reg); + + seq_printf(m, "\n"); + err++; + } +} + +static void i915_ring_error_state(struct seq_file *m, + struct drm_device *dev, + struct drm_i915_error_state *error, + unsigned ring) +{ + BUG_ON(ring >= I915_NUM_RINGS); /* shut up confused gcc */ + seq_printf(m, "%s command stream:\n", ring_str(ring)); + seq_printf(m, " HEAD: 0x%08x\n", error->head[ring]); + seq_printf(m, " TAIL: 0x%08x\n", error->tail[ring]); + seq_printf(m, " ACTHD: 0x%08x\n", error->acthd[ring]); + seq_printf(m, " IPEIR: 0x%08x\n", error->ipeir[ring]); + seq_printf(m, " IPEHR: 0x%08x\n", error->ipehr[ring]); + seq_printf(m, " INSTDONE: 0x%08x\n", error->instdone[ring]); + if (ring == RCS && INTEL_INFO(dev)->gen >= 4) + seq_printf(m, " BBADDR: 0x%08llx\n", error->bbaddr); + + if (INTEL_INFO(dev)->gen >= 4) + seq_printf(m, " INSTPS: 0x%08x\n", error->instps[ring]); + seq_printf(m, " INSTPM: 0x%08x\n", error->instpm[ring]); + seq_printf(m, " FADDR: 0x%08x\n", error->faddr[ring]); + if (INTEL_INFO(dev)->gen >= 6) { + seq_printf(m, " RC PSMI: 0x%08x\n", error->rc_psmi[ring]); + seq_printf(m, " FAULT_REG: 0x%08x\n", error->fault_reg[ring]); + seq_printf(m, " SYNC_0: 0x%08x\n", + error->semaphore_mboxes[ring][0]); + seq_printf(m, " SYNC_1: 0x%08x\n", + error->semaphore_mboxes[ring][1]); + } + seq_printf(m, " seqno: 0x%08x\n", error->seqno[ring]); + seq_printf(m, " waiting: %s\n", yesno(error->waiting[ring])); + seq_printf(m, " ring->head: 0x%08x\n", error->cpu_ring_head[ring]); + seq_printf(m, " ring->tail: 0x%08x\n", error->cpu_ring_tail[ring]); +} + +struct i915_error_state_file_priv { + struct drm_device *dev; + struct drm_i915_error_state *error; +}; + +static int i915_error_state(struct seq_file *m, void *unused) +{ + struct i915_error_state_file_priv *error_priv = m->private; + struct drm_device *dev = error_priv->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_error_state *error = error_priv->error; + struct intel_ring_buffer *ring; + int i, j, page, offset, elt; + + if (!error) { + seq_printf(m, "no error state collected\n"); + return 0; + } + + seq_printf(m, "Time: %ld s %ld us\n", error->time.tv_sec, + error->time.tv_usec); + seq_printf(m, "PCI ID: 0x%04x\n", dev->pci_device); + seq_printf(m, "EIR: 0x%08x\n", error->eir); + seq_printf(m, "IER: 0x%08x\n", error->ier); + seq_printf(m, "PGTBL_ER: 0x%08x\n", error->pgtbl_er); + seq_printf(m, "CCID: 0x%08x\n", error->ccid); + + for (i = 0; i < dev_priv->num_fence_regs; i++) + seq_printf(m, " fence[%d] = %08llx\n", i, error->fence[i]); + + for (i = 0; i < ARRAY_SIZE(error->extra_instdone); i++) + seq_printf(m, " INSTDONE_%d: 0x%08x\n", i, error->extra_instdone[i]); + + if (INTEL_INFO(dev)->gen >= 6) { + seq_printf(m, "ERROR: 0x%08x\n", error->error); + seq_printf(m, "DONE_REG: 0x%08x\n", error->done_reg); + } + + if (INTEL_INFO(dev)->gen == 7) + seq_printf(m, "ERR_INT: 0x%08x\n", error->err_int); + + for_each_ring(ring, dev_priv, i) + i915_ring_error_state(m, dev, error, i); + + if (error->active_bo) + print_error_buffers(m, "Active", + error->active_bo, + error->active_bo_count); + + if (error->pinned_bo) + print_error_buffers(m, "Pinned", + error->pinned_bo, + error->pinned_bo_count); + + for (i = 0; i < ARRAY_SIZE(error->ring); i++) { + struct drm_i915_error_object *obj; + + if ((obj = error->ring[i].batchbuffer)) { + seq_printf(m, "%s --- gtt_offset = 0x%08x\n", + dev_priv->ring[i].name, + obj->gtt_offset); + offset = 0; + for (page = 0; page < obj->page_count; page++) { + for (elt = 0; elt < PAGE_SIZE/4; elt++) { + seq_printf(m, "%08x : %08x\n", offset, obj->pages[page][elt]); + offset += 4; + } + } + } + + if (error->ring[i].num_requests) { + seq_printf(m, "%s --- %d requests\n", + dev_priv->ring[i].name, + error->ring[i].num_requests); + for (j = 0; j < error->ring[i].num_requests; j++) { + seq_printf(m, " seqno 0x%08x, emitted %ld, tail 0x%08x\n", + error->ring[i].requests[j].seqno, + error->ring[i].requests[j].jiffies, + error->ring[i].requests[j].tail); + } + } + + if ((obj = error->ring[i].ringbuffer)) { + seq_printf(m, "%s --- ringbuffer = 0x%08x\n", + dev_priv->ring[i].name, + obj->gtt_offset); + offset = 0; + for (page = 0; page < obj->page_count; page++) { + for (elt = 0; elt < PAGE_SIZE/4; elt++) { + seq_printf(m, "%08x : %08x\n", + offset, + obj->pages[page][elt]); + offset += 4; + } + } + } + } + + if (error->overlay) + intel_overlay_print_error_state(m, error->overlay); + + if (error->display) + intel_display_print_error_state(m, dev, error->display); + + return 0; +} + +static ssize_t +i915_error_state_write(struct file *filp, + const char __user *ubuf, + size_t cnt, + loff_t *ppos) +{ + struct seq_file *m = filp->private_data; + struct i915_error_state_file_priv *error_priv = m->private; + struct drm_device *dev = error_priv->dev; + int ret; + + DRM_DEBUG_DRIVER("Resetting error state\n"); + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + i915_destroy_error_state(dev); + mutex_unlock(&dev->struct_mutex); + + return cnt; +} + +static int i915_error_state_open(struct inode *inode, struct file *file) +{ + struct drm_device *dev = inode->i_private; + drm_i915_private_t *dev_priv = dev->dev_private; + struct i915_error_state_file_priv *error_priv; + unsigned long flags; + + error_priv = kzalloc(sizeof(*error_priv), GFP_KERNEL); + if (!error_priv) + return -ENOMEM; + + error_priv->dev = dev; + + spin_lock_irqsave(&dev_priv->error_lock, flags); + error_priv->error = dev_priv->first_error; + if (error_priv->error) + kref_get(&error_priv->error->ref); + spin_unlock_irqrestore(&dev_priv->error_lock, flags); + + return single_open(file, i915_error_state, error_priv); +} + +static int i915_error_state_release(struct inode *inode, struct file *file) +{ + struct seq_file *m = file->private_data; + struct i915_error_state_file_priv *error_priv = m->private; + + if (error_priv->error) + kref_put(&error_priv->error->ref, i915_error_state_free); + kfree(error_priv); + + return single_release(inode, file); +} + +static const struct file_operations i915_error_state_fops = { + .owner = THIS_MODULE, + .open = i915_error_state_open, + .read = seq_read, + .write = i915_error_state_write, + .llseek = default_llseek, + .release = i915_error_state_release, +}; + +static int i915_rstdby_delays(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + u16 crstanddelay; + int ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + crstanddelay = I915_READ16(CRSTANDVID); + + mutex_unlock(&dev->struct_mutex); + + seq_printf(m, "w/ctx: %d, w/o ctx: %d\n", (crstanddelay >> 8) & 0x3f, (crstanddelay & 0x3f)); + + return 0; +} + +static int i915_cur_delayinfo(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + if (IS_GEN5(dev)) { + u16 rgvswctl = I915_READ16(MEMSWCTL); + u16 rgvstat = I915_READ16(MEMSTAT_ILK); + + seq_printf(m, "Requested P-state: %d\n", (rgvswctl >> 8) & 0xf); + seq_printf(m, "Requested VID: %d\n", rgvswctl & 0x3f); + seq_printf(m, "Current VID: %d\n", (rgvstat & MEMSTAT_VID_MASK) >> + MEMSTAT_VID_SHIFT); + seq_printf(m, "Current P-state: %d\n", + (rgvstat & MEMSTAT_PSTATE_MASK) >> MEMSTAT_PSTATE_SHIFT); + } else if (IS_GEN6(dev) || IS_GEN7(dev)) { + u32 gt_perf_status = I915_READ(GEN6_GT_PERF_STATUS); + u32 rp_state_limits = I915_READ(GEN6_RP_STATE_LIMITS); + u32 rp_state_cap = I915_READ(GEN6_RP_STATE_CAP); + u32 rpstat; + u32 rpupei, rpcurup, rpprevup; + u32 rpdownei, rpcurdown, rpprevdown; + int max_freq; + + /* RPSTAT1 is in the GT power well */ + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + gen6_gt_force_wake_get(dev_priv); + + rpstat = I915_READ(GEN6_RPSTAT1); + rpupei = I915_READ(GEN6_RP_CUR_UP_EI); + rpcurup = I915_READ(GEN6_RP_CUR_UP); + rpprevup = I915_READ(GEN6_RP_PREV_UP); + rpdownei = I915_READ(GEN6_RP_CUR_DOWN_EI); + rpcurdown = I915_READ(GEN6_RP_CUR_DOWN); + rpprevdown = I915_READ(GEN6_RP_PREV_DOWN); + + gen6_gt_force_wake_put(dev_priv); + mutex_unlock(&dev->struct_mutex); + + seq_printf(m, "GT_PERF_STATUS: 0x%08x\n", gt_perf_status); + seq_printf(m, "RPSTAT1: 0x%08x\n", rpstat); + seq_printf(m, "Render p-state ratio: %d\n", + (gt_perf_status & 0xff00) >> 8); + seq_printf(m, "Render p-state VID: %d\n", + gt_perf_status & 0xff); + seq_printf(m, "Render p-state limit: %d\n", + rp_state_limits & 0xff); + seq_printf(m, "CAGF: %dMHz\n", ((rpstat & GEN6_CAGF_MASK) >> + GEN6_CAGF_SHIFT) * GT_FREQUENCY_MULTIPLIER); + seq_printf(m, "RP CUR UP EI: %dus\n", rpupei & + GEN6_CURICONT_MASK); + seq_printf(m, "RP CUR UP: %dus\n", rpcurup & + GEN6_CURBSYTAVG_MASK); + seq_printf(m, "RP PREV UP: %dus\n", rpprevup & + GEN6_CURBSYTAVG_MASK); + seq_printf(m, "RP CUR DOWN EI: %dus\n", rpdownei & + GEN6_CURIAVG_MASK); + seq_printf(m, "RP CUR DOWN: %dus\n", rpcurdown & + GEN6_CURBSYTAVG_MASK); + seq_printf(m, "RP PREV DOWN: %dus\n", rpprevdown & + GEN6_CURBSYTAVG_MASK); + + max_freq = (rp_state_cap & 0xff0000) >> 16; + seq_printf(m, "Lowest (RPN) frequency: %dMHz\n", + max_freq * GT_FREQUENCY_MULTIPLIER); + + max_freq = (rp_state_cap & 0xff00) >> 8; + seq_printf(m, "Nominal (RP1) frequency: %dMHz\n", + max_freq * GT_FREQUENCY_MULTIPLIER); + + max_freq = rp_state_cap & 0xff; + seq_printf(m, "Max non-overclocked (RP0) frequency: %dMHz\n", + max_freq * GT_FREQUENCY_MULTIPLIER); + } else { + seq_printf(m, "no P-state info available\n"); + } + + return 0; +} + +static int i915_delayfreq_table(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + u32 delayfreq; + int ret, i; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + for (i = 0; i < 16; i++) { + delayfreq = I915_READ(PXVFREQ_BASE + i * 4); + seq_printf(m, "P%02dVIDFREQ: 0x%08x (VID: %d)\n", i, delayfreq, + (delayfreq & PXVFREQ_PX_MASK) >> PXVFREQ_PX_SHIFT); + } + + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +static inline int MAP_TO_MV(int map) +{ + return 1250 - (map * 25); +} + +static int i915_inttoext_table(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + u32 inttoext; + int ret, i; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + for (i = 1; i <= 32; i++) { + inttoext = I915_READ(INTTOEXT_BASE_ILK + i * 4); + seq_printf(m, "INTTOEXT%02d: 0x%08x\n", i, inttoext); + } + + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +static int ironlake_drpc_info(struct seq_file *m) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + u32 rgvmodectl, rstdbyctl; + u16 crstandvid; + int ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + rgvmodectl = I915_READ(MEMMODECTL); + rstdbyctl = I915_READ(RSTDBYCTL); + crstandvid = I915_READ16(CRSTANDVID); + + mutex_unlock(&dev->struct_mutex); + + seq_printf(m, "HD boost: %s\n", (rgvmodectl & MEMMODE_BOOST_EN) ? + "yes" : "no"); + seq_printf(m, "Boost freq: %d\n", + (rgvmodectl & MEMMODE_BOOST_FREQ_MASK) >> + MEMMODE_BOOST_FREQ_SHIFT); + seq_printf(m, "HW control enabled: %s\n", + rgvmodectl & MEMMODE_HWIDLE_EN ? "yes" : "no"); + seq_printf(m, "SW control enabled: %s\n", + rgvmodectl & MEMMODE_SWMODE_EN ? "yes" : "no"); + seq_printf(m, "Gated voltage change: %s\n", + rgvmodectl & MEMMODE_RCLK_GATE ? "yes" : "no"); + seq_printf(m, "Starting frequency: P%d\n", + (rgvmodectl & MEMMODE_FSTART_MASK) >> MEMMODE_FSTART_SHIFT); + seq_printf(m, "Max P-state: P%d\n", + (rgvmodectl & MEMMODE_FMAX_MASK) >> MEMMODE_FMAX_SHIFT); + seq_printf(m, "Min P-state: P%d\n", (rgvmodectl & MEMMODE_FMIN_MASK)); + seq_printf(m, "RS1 VID: %d\n", (crstandvid & 0x3f)); + seq_printf(m, "RS2 VID: %d\n", ((crstandvid >> 8) & 0x3f)); + seq_printf(m, "Render standby enabled: %s\n", + (rstdbyctl & RCX_SW_EXIT) ? "no" : "yes"); + seq_printf(m, "Current RS state: "); + switch (rstdbyctl & RSX_STATUS_MASK) { + case RSX_STATUS_ON: + seq_printf(m, "on\n"); + break; + case RSX_STATUS_RC1: + seq_printf(m, "RC1\n"); + break; + case RSX_STATUS_RC1E: + seq_printf(m, "RC1E\n"); + break; + case RSX_STATUS_RS1: + seq_printf(m, "RS1\n"); + break; + case RSX_STATUS_RS2: + seq_printf(m, "RS2 (RC6)\n"); + break; + case RSX_STATUS_RS3: + seq_printf(m, "RC3 (RC6+)\n"); + break; + default: + seq_printf(m, "unknown\n"); + break; + } + + return 0; +} + +static int gen6_drpc_info(struct seq_file *m) +{ + + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 rpmodectl1, gt_core_status, rcctl1, rc6vids = 0; + unsigned forcewake_count; + int count=0, ret; + + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + spin_lock_irq(&dev_priv->gt_lock); + forcewake_count = dev_priv->forcewake_count; + spin_unlock_irq(&dev_priv->gt_lock); + + if (forcewake_count) { + seq_printf(m, "RC information inaccurate because somebody " + "holds a forcewake reference \n"); + } else { + /* NB: we cannot use forcewake, else we read the wrong values */ + while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_ACK) & 1)) + udelay(10); + seq_printf(m, "RC information accurate: %s\n", yesno(count < 51)); + } + + gt_core_status = readl(dev_priv->regs + GEN6_GT_CORE_STATUS); + trace_i915_reg_rw(false, GEN6_GT_CORE_STATUS, gt_core_status, 4); + + rpmodectl1 = I915_READ(GEN6_RP_CONTROL); + rcctl1 = I915_READ(GEN6_RC_CONTROL); + mutex_unlock(&dev->struct_mutex); + mutex_lock(&dev_priv->rps.hw_lock); + sandybridge_pcode_read(dev_priv, GEN6_PCODE_READ_RC6VIDS, &rc6vids); + mutex_unlock(&dev_priv->rps.hw_lock); + + seq_printf(m, "Video Turbo Mode: %s\n", + yesno(rpmodectl1 & GEN6_RP_MEDIA_TURBO)); + seq_printf(m, "HW control enabled: %s\n", + yesno(rpmodectl1 & GEN6_RP_ENABLE)); + seq_printf(m, "SW control enabled: %s\n", + yesno((rpmodectl1 & GEN6_RP_MEDIA_MODE_MASK) == + GEN6_RP_MEDIA_SW_MODE)); + seq_printf(m, "RC1e Enabled: %s\n", + yesno(rcctl1 & GEN6_RC_CTL_RC1e_ENABLE)); + seq_printf(m, "RC6 Enabled: %s\n", + yesno(rcctl1 & GEN6_RC_CTL_RC6_ENABLE)); + seq_printf(m, "Deep RC6 Enabled: %s\n", + yesno(rcctl1 & GEN6_RC_CTL_RC6p_ENABLE)); + seq_printf(m, "Deepest RC6 Enabled: %s\n", + yesno(rcctl1 & GEN6_RC_CTL_RC6pp_ENABLE)); + seq_printf(m, "Current RC state: "); + switch (gt_core_status & GEN6_RCn_MASK) { + case GEN6_RC0: + if (gt_core_status & GEN6_CORE_CPD_STATE_MASK) + seq_printf(m, "Core Power Down\n"); + else + seq_printf(m, "on\n"); + break; + case GEN6_RC3: + seq_printf(m, "RC3\n"); + break; + case GEN6_RC6: + seq_printf(m, "RC6\n"); + break; + case GEN6_RC7: + seq_printf(m, "RC7\n"); + break; + default: + seq_printf(m, "Unknown\n"); + break; + } + + seq_printf(m, "Core Power Down: %s\n", + yesno(gt_core_status & GEN6_CORE_CPD_STATE_MASK)); + + /* Not exactly sure what this is */ + seq_printf(m, "RC6 \"Locked to RPn\" residency since boot: %u\n", + I915_READ(GEN6_GT_GFX_RC6_LOCKED)); + seq_printf(m, "RC6 residency since boot: %u\n", + I915_READ(GEN6_GT_GFX_RC6)); + seq_printf(m, "RC6+ residency since boot: %u\n", + I915_READ(GEN6_GT_GFX_RC6p)); + seq_printf(m, "RC6++ residency since boot: %u\n", + I915_READ(GEN6_GT_GFX_RC6pp)); + + seq_printf(m, "RC6 voltage: %dmV\n", + GEN6_DECODE_RC6_VID(((rc6vids >> 0) & 0xff))); + seq_printf(m, "RC6+ voltage: %dmV\n", + GEN6_DECODE_RC6_VID(((rc6vids >> 8) & 0xff))); + seq_printf(m, "RC6++ voltage: %dmV\n", + GEN6_DECODE_RC6_VID(((rc6vids >> 16) & 0xff))); + return 0; +} + +static int i915_drpc_info(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + + if (IS_GEN6(dev) || IS_GEN7(dev)) + return gen6_drpc_info(m); + else + return ironlake_drpc_info(m); +} + +static int i915_fbc_status(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + + if (!I915_HAS_FBC(dev)) { + seq_printf(m, "FBC unsupported on this chipset\n"); + return 0; + } + + if (intel_fbc_enabled(dev)) { + seq_printf(m, "FBC enabled\n"); + } else { + seq_printf(m, "FBC disabled: "); + switch (dev_priv->no_fbc_reason) { + case FBC_NO_OUTPUT: + seq_printf(m, "no outputs"); + break; + case FBC_STOLEN_TOO_SMALL: + seq_printf(m, "not enough stolen memory"); + break; + case FBC_UNSUPPORTED_MODE: + seq_printf(m, "mode not supported"); + break; + case FBC_MODE_TOO_LARGE: + seq_printf(m, "mode too large"); + break; + case FBC_BAD_PLANE: + seq_printf(m, "FBC unsupported on plane"); + break; + case FBC_NOT_TILED: + seq_printf(m, "scanout buffer not tiled"); + break; + case FBC_MULTIPLE_PIPES: + seq_printf(m, "multiple pipes are enabled"); + break; + case FBC_MODULE_PARAM: + seq_printf(m, "disabled per module param (default off)"); + break; + default: + seq_printf(m, "unknown reason"); + } + seq_printf(m, "\n"); + } + return 0; +} + +static int i915_sr_status(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + bool sr_enabled = false; + + if (HAS_PCH_SPLIT(dev)) + sr_enabled = I915_READ(WM1_LP_ILK) & WM1_LP_SR_EN; + else if (IS_CRESTLINE(dev) || IS_I945G(dev) || IS_I945GM(dev)) + sr_enabled = I915_READ(FW_BLC_SELF) & FW_BLC_SELF_EN; + else if (IS_I915GM(dev)) + sr_enabled = I915_READ(INSTPM) & INSTPM_SELF_EN; + else if (IS_PINEVIEW(dev)) + sr_enabled = I915_READ(DSPFW3) & PINEVIEW_SELF_REFRESH_EN; + + seq_printf(m, "self-refresh: %s\n", + sr_enabled ? "enabled" : "disabled"); + + return 0; +} + +static int i915_emon_status(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long temp, chipset, gfx; + int ret; + + if (!IS_GEN5(dev)) + return -ENODEV; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + temp = i915_mch_val(dev_priv); + chipset = i915_chipset_val(dev_priv); + gfx = i915_gfx_val(dev_priv); + mutex_unlock(&dev->struct_mutex); + + seq_printf(m, "GMCH temp: %ld\n", temp); + seq_printf(m, "Chipset power: %ld\n", chipset); + seq_printf(m, "GFX power: %ld\n", gfx); + seq_printf(m, "Total power: %ld\n", chipset + gfx); + + return 0; +} + +static int i915_ring_freq_table(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + int gpu_freq, ia_freq; + + if (!(IS_GEN6(dev) || IS_GEN7(dev))) { + seq_printf(m, "unsupported on this chipset\n"); + return 0; + } + + ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); + if (ret) + return ret; + + seq_printf(m, "GPU freq (MHz)\tEffective CPU freq (MHz)\n"); + + for (gpu_freq = dev_priv->rps.min_delay; + gpu_freq <= dev_priv->rps.max_delay; + gpu_freq++) { + ia_freq = gpu_freq; + sandybridge_pcode_read(dev_priv, + GEN6_PCODE_READ_MIN_FREQ_TABLE, + &ia_freq); + seq_printf(m, "%d\t\t%d\n", gpu_freq * GT_FREQUENCY_MULTIPLIER, ia_freq * 100); + } + + mutex_unlock(&dev_priv->rps.hw_lock); + + return 0; +} + +static int i915_gfxec(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + seq_printf(m, "GFXEC: %ld\n", (unsigned long)I915_READ(0x112f4)); + + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +static int i915_opregion(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_opregion *opregion = &dev_priv->opregion; + void *data = kmalloc(OPREGION_SIZE, GFP_KERNEL); + int ret; + + if (data == NULL) + return -ENOMEM; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + goto out; + + if (opregion->header) { + memcpy_fromio(data, opregion->header, OPREGION_SIZE); + seq_write(m, data, OPREGION_SIZE); + } + + mutex_unlock(&dev->struct_mutex); + +out: + kfree(data); + return 0; +} + +static int i915_gem_framebuffer_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_fbdev *ifbdev; + struct intel_framebuffer *fb; + int ret; + + ret = mutex_lock_interruptible(&dev->mode_config.mutex); + if (ret) + return ret; + + ifbdev = dev_priv->fbdev; + fb = to_intel_framebuffer(ifbdev->helper.fb); + + seq_printf(m, "fbcon size: %d x %d, depth %d, %d bpp, obj ", + fb->base.width, + fb->base.height, + fb->base.depth, + fb->base.bits_per_pixel); + describe_obj(m, fb->obj); + seq_printf(m, "\n"); + + list_for_each_entry(fb, &dev->mode_config.fb_list, base.head) { + if (&fb->base == ifbdev->helper.fb) + continue; + + seq_printf(m, "user size: %d x %d, depth %d, %d bpp, obj ", + fb->base.width, + fb->base.height, + fb->base.depth, + fb->base.bits_per_pixel); + describe_obj(m, fb->obj); + seq_printf(m, "\n"); + } + + mutex_unlock(&dev->mode_config.mutex); + + return 0; +} + +static int i915_context_status(struct seq_file *m, void *unused) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + ret = mutex_lock_interruptible(&dev->mode_config.mutex); + if (ret) + return ret; + + if (dev_priv->ips.pwrctx) { + seq_printf(m, "power context "); + describe_obj(m, dev_priv->ips.pwrctx); + seq_printf(m, "\n"); + } + + if (dev_priv->ips.renderctx) { + seq_printf(m, "render context "); + describe_obj(m, dev_priv->ips.renderctx); + seq_printf(m, "\n"); + } + + mutex_unlock(&dev->mode_config.mutex); + + return 0; +} + +static int i915_gen6_forcewake_count_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned forcewake_count; + + spin_lock_irq(&dev_priv->gt_lock); + forcewake_count = dev_priv->forcewake_count; + spin_unlock_irq(&dev_priv->gt_lock); + + seq_printf(m, "forcewake count = %u\n", forcewake_count); + + return 0; +} + +static const char *swizzle_string(unsigned swizzle) +{ + switch(swizzle) { + case I915_BIT_6_SWIZZLE_NONE: + return "none"; + case I915_BIT_6_SWIZZLE_9: + return "bit9"; + case I915_BIT_6_SWIZZLE_9_10: + return "bit9/bit10"; + case I915_BIT_6_SWIZZLE_9_11: + return "bit9/bit11"; + case I915_BIT_6_SWIZZLE_9_10_11: + return "bit9/bit10/bit11"; + case I915_BIT_6_SWIZZLE_9_17: + return "bit9/bit17"; + case I915_BIT_6_SWIZZLE_9_10_17: + return "bit9/bit10/bit17"; + case I915_BIT_6_SWIZZLE_UNKNOWN: + return "unkown"; + } + + return "bug"; +} + +static int i915_swizzle_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + seq_printf(m, "bit6 swizzle for X-tiling = %s\n", + swizzle_string(dev_priv->mm.bit_6_swizzle_x)); + seq_printf(m, "bit6 swizzle for Y-tiling = %s\n", + swizzle_string(dev_priv->mm.bit_6_swizzle_y)); + + if (IS_GEN3(dev) || IS_GEN4(dev)) { + seq_printf(m, "DDC = 0x%08x\n", + I915_READ(DCC)); + seq_printf(m, "C0DRB3 = 0x%04x\n", + I915_READ16(C0DRB3)); + seq_printf(m, "C1DRB3 = 0x%04x\n", + I915_READ16(C1DRB3)); + } else if (IS_GEN6(dev) || IS_GEN7(dev)) { + seq_printf(m, "MAD_DIMM_C0 = 0x%08x\n", + I915_READ(MAD_DIMM_C0)); + seq_printf(m, "MAD_DIMM_C1 = 0x%08x\n", + I915_READ(MAD_DIMM_C1)); + seq_printf(m, "MAD_DIMM_C2 = 0x%08x\n", + I915_READ(MAD_DIMM_C2)); + seq_printf(m, "TILECTL = 0x%08x\n", + I915_READ(TILECTL)); + seq_printf(m, "ARB_MODE = 0x%08x\n", + I915_READ(ARB_MODE)); + seq_printf(m, "DISP_ARB_CTL = 0x%08x\n", + I915_READ(DISP_ARB_CTL)); + } + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +static int i915_ppgtt_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int i, ret; + + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + if (INTEL_INFO(dev)->gen == 6) + seq_printf(m, "GFX_MODE: 0x%08x\n", I915_READ(GFX_MODE)); + + for_each_ring(ring, dev_priv, i) { + seq_printf(m, "%s\n", ring->name); + if (INTEL_INFO(dev)->gen == 7) + seq_printf(m, "GFX_MODE: 0x%08x\n", I915_READ(RING_MODE_GEN7(ring))); + seq_printf(m, "PP_DIR_BASE: 0x%08x\n", I915_READ(RING_PP_DIR_BASE(ring))); + seq_printf(m, "PP_DIR_BASE_READ: 0x%08x\n", I915_READ(RING_PP_DIR_BASE_READ(ring))); + seq_printf(m, "PP_DIR_DCLV: 0x%08x\n", I915_READ(RING_PP_DIR_DCLV(ring))); + } + if (dev_priv->mm.aliasing_ppgtt) { + struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; + + seq_printf(m, "aliasing PPGTT:\n"); + seq_printf(m, "pd gtt offset: 0x%08x\n", ppgtt->pd_offset); + } + seq_printf(m, "ECOCHK: 0x%08x\n", I915_READ(GAM_ECOCHK)); + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +static int i915_dpio_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_device *dev = node->minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + + if (!IS_VALLEYVIEW(dev)) { + seq_printf(m, "unsupported\n"); + return 0; + } + + ret = mutex_lock_interruptible(&dev->mode_config.mutex); + if (ret) + return ret; + + seq_printf(m, "DPIO_CTL: 0x%08x\n", I915_READ(DPIO_CTL)); + + seq_printf(m, "DPIO_DIV_A: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_DIV_A)); + seq_printf(m, "DPIO_DIV_B: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_DIV_B)); + + seq_printf(m, "DPIO_REFSFR_A: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_REFSFR_A)); + seq_printf(m, "DPIO_REFSFR_B: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_REFSFR_B)); + + seq_printf(m, "DPIO_CORE_CLK_A: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_CORE_CLK_A)); + seq_printf(m, "DPIO_CORE_CLK_B: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_CORE_CLK_B)); + + seq_printf(m, "DPIO_LFP_COEFF_A: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_LFP_COEFF_A)); + seq_printf(m, "DPIO_LFP_COEFF_B: 0x%08x\n", + intel_dpio_read(dev_priv, _DPIO_LFP_COEFF_B)); + + seq_printf(m, "DPIO_FASTCLK_DISABLE: 0x%08x\n", + intel_dpio_read(dev_priv, DPIO_FASTCLK_DISABLE)); + + mutex_unlock(&dev->mode_config.mutex); + + return 0; +} + +static ssize_t +i915_wedged_read(struct file *filp, + char __user *ubuf, + size_t max, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + drm_i915_private_t *dev_priv = dev->dev_private; + char buf[80]; + int len; + + len = snprintf(buf, sizeof(buf), + "wedged : %d\n", + atomic_read(&dev_priv->mm.wedged)); + + if (len > sizeof(buf)) + len = sizeof(buf); + + return simple_read_from_buffer(ubuf, max, ppos, buf, len); +} + +static ssize_t +i915_wedged_write(struct file *filp, + const char __user *ubuf, + size_t cnt, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + char buf[20]; + int val = 1; + + if (cnt > 0) { + if (cnt > sizeof(buf) - 1) + return -EINVAL; + + if (copy_from_user(buf, ubuf, cnt)) + return -EFAULT; + buf[cnt] = 0; + + val = simple_strtoul(buf, NULL, 0); + } + + DRM_INFO("Manually setting wedged to %d\n", val); + i915_handle_error(dev, val); + + return cnt; +} + +static const struct file_operations i915_wedged_fops = { + .owner = THIS_MODULE, + .open = simple_open, + .read = i915_wedged_read, + .write = i915_wedged_write, + .llseek = default_llseek, +}; + +static ssize_t +i915_ring_stop_read(struct file *filp, + char __user *ubuf, + size_t max, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + drm_i915_private_t *dev_priv = dev->dev_private; + char buf[20]; + int len; + + len = snprintf(buf, sizeof(buf), + "0x%08x\n", dev_priv->stop_rings); + + if (len > sizeof(buf)) + len = sizeof(buf); + + return simple_read_from_buffer(ubuf, max, ppos, buf, len); +} + +static ssize_t +i915_ring_stop_write(struct file *filp, + const char __user *ubuf, + size_t cnt, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + struct drm_i915_private *dev_priv = dev->dev_private; + char buf[20]; + int val = 0, ret; + + if (cnt > 0) { + if (cnt > sizeof(buf) - 1) + return -EINVAL; + + if (copy_from_user(buf, ubuf, cnt)) + return -EFAULT; + buf[cnt] = 0; + + val = simple_strtoul(buf, NULL, 0); + } + + DRM_DEBUG_DRIVER("Stopping rings 0x%08x\n", val); + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + dev_priv->stop_rings = val; + mutex_unlock(&dev->struct_mutex); + + return cnt; +} + +static const struct file_operations i915_ring_stop_fops = { + .owner = THIS_MODULE, + .open = simple_open, + .read = i915_ring_stop_read, + .write = i915_ring_stop_write, + .llseek = default_llseek, +}; + +static ssize_t +i915_max_freq_read(struct file *filp, + char __user *ubuf, + size_t max, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + drm_i915_private_t *dev_priv = dev->dev_private; + char buf[80]; + int len, ret; + + if (!(IS_GEN6(dev) || IS_GEN7(dev))) + return -ENODEV; + + ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); + if (ret) + return ret; + + len = snprintf(buf, sizeof(buf), + "max freq: %d\n", dev_priv->rps.max_delay * GT_FREQUENCY_MULTIPLIER); + mutex_unlock(&dev_priv->rps.hw_lock); + + if (len > sizeof(buf)) + len = sizeof(buf); + + return simple_read_from_buffer(ubuf, max, ppos, buf, len); +} + +static ssize_t +i915_max_freq_write(struct file *filp, + const char __user *ubuf, + size_t cnt, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + struct drm_i915_private *dev_priv = dev->dev_private; + char buf[20]; + int val = 1, ret; + + if (!(IS_GEN6(dev) || IS_GEN7(dev))) + return -ENODEV; + + if (cnt > 0) { + if (cnt > sizeof(buf) - 1) + return -EINVAL; + + if (copy_from_user(buf, ubuf, cnt)) + return -EFAULT; + buf[cnt] = 0; + + val = simple_strtoul(buf, NULL, 0); + } + + DRM_DEBUG_DRIVER("Manually setting max freq to %d\n", val); + + ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); + if (ret) + return ret; + + /* + * Turbo will still be enabled, but won't go above the set value. + */ + dev_priv->rps.max_delay = val / GT_FREQUENCY_MULTIPLIER; + + gen6_set_rps(dev, val / GT_FREQUENCY_MULTIPLIER); + mutex_unlock(&dev_priv->rps.hw_lock); + + return cnt; +} + +static const struct file_operations i915_max_freq_fops = { + .owner = THIS_MODULE, + .open = simple_open, + .read = i915_max_freq_read, + .write = i915_max_freq_write, + .llseek = default_llseek, +}; + +static ssize_t +i915_min_freq_read(struct file *filp, char __user *ubuf, size_t max, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + drm_i915_private_t *dev_priv = dev->dev_private; + char buf[80]; + int len, ret; + + if (!(IS_GEN6(dev) || IS_GEN7(dev))) + return -ENODEV; + + ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); + if (ret) + return ret; + + len = snprintf(buf, sizeof(buf), + "min freq: %d\n", dev_priv->rps.min_delay * GT_FREQUENCY_MULTIPLIER); + mutex_unlock(&dev_priv->rps.hw_lock); + + if (len > sizeof(buf)) + len = sizeof(buf); + + return simple_read_from_buffer(ubuf, max, ppos, buf, len); +} + +static ssize_t +i915_min_freq_write(struct file *filp, const char __user *ubuf, size_t cnt, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + struct drm_i915_private *dev_priv = dev->dev_private; + char buf[20]; + int val = 1, ret; + + if (!(IS_GEN6(dev) || IS_GEN7(dev))) + return -ENODEV; + + if (cnt > 0) { + if (cnt > sizeof(buf) - 1) + return -EINVAL; + + if (copy_from_user(buf, ubuf, cnt)) + return -EFAULT; + buf[cnt] = 0; + + val = simple_strtoul(buf, NULL, 0); + } + + DRM_DEBUG_DRIVER("Manually setting min freq to %d\n", val); + + ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); + if (ret) + return ret; + + /* + * Turbo will still be enabled, but won't go below the set value. + */ + dev_priv->rps.min_delay = val / GT_FREQUENCY_MULTIPLIER; + + gen6_set_rps(dev, val / GT_FREQUENCY_MULTIPLIER); + mutex_unlock(&dev_priv->rps.hw_lock); + + return cnt; +} + +static const struct file_operations i915_min_freq_fops = { + .owner = THIS_MODULE, + .open = simple_open, + .read = i915_min_freq_read, + .write = i915_min_freq_write, + .llseek = default_llseek, +}; + +static ssize_t +i915_cache_sharing_read(struct file *filp, + char __user *ubuf, + size_t max, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + drm_i915_private_t *dev_priv = dev->dev_private; + char buf[80]; + u32 snpcr; + int len, ret; + + if (!(IS_GEN6(dev) || IS_GEN7(dev))) + return -ENODEV; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + snpcr = I915_READ(GEN6_MBCUNIT_SNPCR); + mutex_unlock(&dev_priv->dev->struct_mutex); + + len = snprintf(buf, sizeof(buf), + "%d\n", (snpcr & GEN6_MBC_SNPCR_MASK) >> + GEN6_MBC_SNPCR_SHIFT); + + if (len > sizeof(buf)) + len = sizeof(buf); + + return simple_read_from_buffer(ubuf, max, ppos, buf, len); +} + +static ssize_t +i915_cache_sharing_write(struct file *filp, + const char __user *ubuf, + size_t cnt, + loff_t *ppos) +{ + struct drm_device *dev = filp->private_data; + struct drm_i915_private *dev_priv = dev->dev_private; + char buf[20]; + u32 snpcr; + int val = 1; + + if (!(IS_GEN6(dev) || IS_GEN7(dev))) + return -ENODEV; + + if (cnt > 0) { + if (cnt > sizeof(buf) - 1) + return -EINVAL; + + if (copy_from_user(buf, ubuf, cnt)) + return -EFAULT; + buf[cnt] = 0; + + val = simple_strtoul(buf, NULL, 0); + } + + if (val < 0 || val > 3) + return -EINVAL; + + DRM_DEBUG_DRIVER("Manually setting uncore sharing to %d\n", val); + + /* Update the cache sharing policy here as well */ + snpcr = I915_READ(GEN6_MBCUNIT_SNPCR); + snpcr &= ~GEN6_MBC_SNPCR_MASK; + snpcr |= (val << GEN6_MBC_SNPCR_SHIFT); + I915_WRITE(GEN6_MBCUNIT_SNPCR, snpcr); + + return cnt; +} + +static const struct file_operations i915_cache_sharing_fops = { + .owner = THIS_MODULE, + .open = simple_open, + .read = i915_cache_sharing_read, + .write = i915_cache_sharing_write, + .llseek = default_llseek, +}; + +/* As the drm_debugfs_init() routines are called before dev->dev_private is + * allocated we need to hook into the minor for release. */ +static int +drm_add_fake_info_node(struct drm_minor *minor, + struct dentry *ent, + const void *key) +{ + struct drm_info_node *node; + + node = kmalloc(sizeof(struct drm_info_node), GFP_KERNEL); + if (node == NULL) { + debugfs_remove(ent); + return -ENOMEM; + } + + node->minor = minor; + node->dent = ent; + node->info_ent = (void *) key; + + mutex_lock(&minor->debugfs_lock); + list_add(&node->list, &minor->debugfs_list); + mutex_unlock(&minor->debugfs_lock); + + return 0; +} + +static int i915_forcewake_open(struct inode *inode, struct file *file) +{ + struct drm_device *dev = inode->i_private; + struct drm_i915_private *dev_priv = dev->dev_private; + + if (INTEL_INFO(dev)->gen < 6) + return 0; + + gen6_gt_force_wake_get(dev_priv); + + return 0; +} + +static int i915_forcewake_release(struct inode *inode, struct file *file) +{ + struct drm_device *dev = inode->i_private; + struct drm_i915_private *dev_priv = dev->dev_private; + + if (INTEL_INFO(dev)->gen < 6) + return 0; + + gen6_gt_force_wake_put(dev_priv); + + return 0; +} + +static const struct file_operations i915_forcewake_fops = { + .owner = THIS_MODULE, + .open = i915_forcewake_open, + .release = i915_forcewake_release, +}; + +static int i915_forcewake_create(struct dentry *root, struct drm_minor *minor) +{ + struct drm_device *dev = minor->dev; + struct dentry *ent; + + ent = debugfs_create_file("i915_forcewake_user", + S_IRUSR, + root, dev, + &i915_forcewake_fops); + if (IS_ERR(ent)) + return PTR_ERR(ent); + + return drm_add_fake_info_node(minor, ent, &i915_forcewake_fops); +} + +static int i915_debugfs_create(struct dentry *root, + struct drm_minor *minor, + const char *name, + const struct file_operations *fops) +{ + struct drm_device *dev = minor->dev; + struct dentry *ent; + + ent = debugfs_create_file(name, + S_IRUGO | S_IWUSR, + root, dev, + fops); + if (IS_ERR(ent)) + return PTR_ERR(ent); + + return drm_add_fake_info_node(minor, ent, fops); +} + +static struct drm_info_list i915_debugfs_list[] = { + {"i915_capabilities", i915_capabilities, 0}, + {"i915_gem_objects", i915_gem_object_info, 0}, + {"i915_gem_gtt", i915_gem_gtt_info, 0}, + {"i915_gem_pinned", i915_gem_gtt_info, 0, (void *) PINNED_LIST}, + {"i915_gem_active", i915_gem_object_list_info, 0, (void *) ACTIVE_LIST}, + {"i915_gem_inactive", i915_gem_object_list_info, 0, (void *) INACTIVE_LIST}, + {"i915_gem_pageflip", i915_gem_pageflip_info, 0}, + {"i915_gem_request", i915_gem_request_info, 0}, + {"i915_gem_seqno", i915_gem_seqno_info, 0}, + {"i915_gem_fence_regs", i915_gem_fence_regs_info, 0}, + {"i915_gem_interrupt", i915_interrupt_info, 0}, + {"i915_gem_hws", i915_hws_info, 0, (void *)RCS}, + {"i915_gem_hws_blt", i915_hws_info, 0, (void *)BCS}, + {"i915_gem_hws_bsd", i915_hws_info, 0, (void *)VCS}, + {"i915_rstdby_delays", i915_rstdby_delays, 0}, + {"i915_cur_delayinfo", i915_cur_delayinfo, 0}, + {"i915_delayfreq_table", i915_delayfreq_table, 0}, + {"i915_inttoext_table", i915_inttoext_table, 0}, + {"i915_drpc_info", i915_drpc_info, 0}, + {"i915_emon_status", i915_emon_status, 0}, + {"i915_ring_freq_table", i915_ring_freq_table, 0}, + {"i915_gfxec", i915_gfxec, 0}, + {"i915_fbc_status", i915_fbc_status, 0}, + {"i915_sr_status", i915_sr_status, 0}, + {"i915_opregion", i915_opregion, 0}, + {"i915_gem_framebuffer", i915_gem_framebuffer_info, 0}, + {"i915_context_status", i915_context_status, 0}, + {"i915_gen6_forcewake_count", i915_gen6_forcewake_count_info, 0}, + {"i915_swizzle_info", i915_swizzle_info, 0}, + {"i915_ppgtt_info", i915_ppgtt_info, 0}, + {"i915_dpio", i915_dpio_info, 0}, +}; +#define I915_DEBUGFS_ENTRIES ARRAY_SIZE(i915_debugfs_list) + +int i915_debugfs_init(struct drm_minor *minor) +{ + int ret; + + ret = i915_debugfs_create(minor->debugfs_root, minor, + "i915_wedged", + &i915_wedged_fops); + if (ret) + return ret; + + ret = i915_forcewake_create(minor->debugfs_root, minor); + if (ret) + return ret; + + ret = i915_debugfs_create(minor->debugfs_root, minor, + "i915_max_freq", + &i915_max_freq_fops); + if (ret) + return ret; + + ret = i915_debugfs_create(minor->debugfs_root, minor, + "i915_min_freq", + &i915_min_freq_fops); + if (ret) + return ret; + + ret = i915_debugfs_create(minor->debugfs_root, minor, + "i915_cache_sharing", + &i915_cache_sharing_fops); + if (ret) + return ret; + + ret = i915_debugfs_create(minor->debugfs_root, minor, + "i915_ring_stop", + &i915_ring_stop_fops); + if (ret) + return ret; + + ret = i915_debugfs_create(minor->debugfs_root, minor, + "i915_error_state", + &i915_error_state_fops); + if (ret) + return ret; + + return drm_debugfs_create_files(i915_debugfs_list, + I915_DEBUGFS_ENTRIES, + minor->debugfs_root, minor); +} + +void i915_debugfs_cleanup(struct drm_minor *minor) +{ + drm_debugfs_remove_files(i915_debugfs_list, + I915_DEBUGFS_ENTRIES, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_forcewake_fops, + 1, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_wedged_fops, + 1, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_max_freq_fops, + 1, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_min_freq_fops, + 1, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_cache_sharing_fops, + 1, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_ring_stop_fops, + 1, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_error_state_fops, + 1, minor); +} + +#endif /* CONFIG_DEBUG_FS */ --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_dma.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_dma.c @@ -0,0 +1,1873 @@ +/* i915_dma.c -- DMA support for the I915 -*- linux-c -*- + */ +/* + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include "drmP.h" +#include "drm.h" +#include "drm_crtc_helper.h" +#include "drm_fb_helper.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_trace.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#define LP_RING(d) (&((struct drm_i915_private *)(d))->ring[RCS]) + +#define BEGIN_LP_RING(n) \ + intel_ring_begin(LP_RING(dev_priv), (n)) + +#define OUT_RING(x) \ + intel_ring_emit(LP_RING(dev_priv), x) + +#define ADVANCE_LP_RING() \ + intel_ring_advance(LP_RING(dev_priv)) + +/** + * Lock test for when it's just for synchronization of ring access. + * + * In that case, we don't need to do it when GEM is initialized as nobody else + * has access to the ring. + */ +#define RING_LOCK_TEST_WITH_RETURN(dev, file) do { \ + if (LP_RING(dev->dev_private)->obj == NULL) \ + LOCK_TEST_WITH_RETURN(dev, file); \ +} while (0) + +static inline u32 +intel_read_legacy_status_page(struct drm_i915_private *dev_priv, int reg) +{ + if (I915_NEED_GFX_HWS(dev_priv->dev)) + return ioread32(dev_priv->dri1.gfx_hws_cpu_addr + reg); + else + return intel_read_status_page(LP_RING(dev_priv), reg); +} + +#define READ_HWSP(dev_priv, reg) intel_read_legacy_status_page(dev_priv, reg) +#define READ_BREADCRUMB(dev_priv) READ_HWSP(dev_priv, I915_BREADCRUMB_INDEX) +#define I915_BREADCRUMB_INDEX 0x21 + +void i915_update_dri1_breadcrumb(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_master_private *master_priv; + + if (dev->primary->master) { + master_priv = dev->primary->master->driver_priv; + if (master_priv->sarea_priv) + master_priv->sarea_priv->last_dispatch = + READ_BREADCRUMB(dev_priv); + } +} + +static void i915_write_hws_pga(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u32 addr; + + addr = dev_priv->status_page_dmah->busaddr; + if (INTEL_INFO(dev)->gen >= 4) + addr |= (dev_priv->status_page_dmah->busaddr >> 28) & 0xf0; + I915_WRITE(HWS_PGA, addr); +} + +/** + * Frees the hardware status page, whether it's a physical address or a virtual + * address set up by the X Server. + */ +static void i915_free_hws(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = LP_RING(dev_priv); + + if (dev_priv->status_page_dmah) { + drm_pci_free(dev, dev_priv->status_page_dmah); + dev_priv->status_page_dmah = NULL; + } + + if (ring->status_page.gfx_addr) { + ring->status_page.gfx_addr = 0; + iounmap(dev_priv->dri1.gfx_hws_cpu_addr); + } + + /* Need to rewrite hardware status page */ + I915_WRITE(HWS_PGA, 0x1ffff000); +} + +void i915_kernel_lost_context(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_master_private *master_priv; + struct intel_ring_buffer *ring = LP_RING(dev_priv); + + /* + * We should never lose context on the ring with modesetting + * as we don't expose it to userspace + */ + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return; + + ring->head = I915_READ_HEAD(ring) & HEAD_ADDR; + ring->tail = I915_READ_TAIL(ring) & TAIL_ADDR; + ring->space = ring->head - (ring->tail + 8); + if (ring->space < 0) + ring->space += ring->size; + + if (!dev->primary->master) + return; + + master_priv = dev->primary->master->driver_priv; + if (ring->head == ring->tail && master_priv->sarea_priv) + master_priv->sarea_priv->perf_boxes |= I915_BOX_RING_EMPTY; +} + +static int i915_dma_cleanup(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int i; + + /* Make sure interrupts are disabled here because the uninstall ioctl + * may not have been called from userspace and after dev_private + * is freed, it's too late. + */ + if (dev->irq_enabled) + drm_irq_uninstall(dev); + + mutex_lock(&dev->struct_mutex); + for (i = 0; i < I915_NUM_RINGS; i++) + intel_cleanup_ring_buffer(&dev_priv->ring[i]); + mutex_unlock(&dev->struct_mutex); + + /* Clear the HWS virtual address at teardown */ + if (I915_NEED_GFX_HWS(dev)) + i915_free_hws(dev); + + return 0; +} + +static int i915_initialize(struct drm_device * dev, drm_i915_init_t * init) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; + int ret; + + master_priv->sarea = drm_getsarea(dev); + if (master_priv->sarea) { + master_priv->sarea_priv = (drm_i915_sarea_t *) + ((u8 *)master_priv->sarea->handle + init->sarea_priv_offset); + } else { + DRM_DEBUG_DRIVER("sarea not found assuming DRI2 userspace\n"); + } + + if (init->ring_size != 0) { + if (LP_RING(dev_priv)->obj != NULL) { + i915_dma_cleanup(dev); + DRM_ERROR("Client tried to initialize ringbuffer in " + "GEM mode\n"); + return -EINVAL; + } + + ret = intel_render_ring_init_dri(dev, + init->ring_start, + init->ring_size); + if (ret) { + i915_dma_cleanup(dev); + return ret; + } + } + + dev_priv->dri1.cpp = init->cpp; + dev_priv->dri1.back_offset = init->back_offset; + dev_priv->dri1.front_offset = init->front_offset; + dev_priv->dri1.current_page = 0; + if (master_priv->sarea_priv) + master_priv->sarea_priv->pf_current_page = 0; + + /* Allow hardware batchbuffers unless told otherwise. + */ + dev_priv->dri1.allow_batchbuffer = 1; + + return 0; +} + +static int i915_dma_resume(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + struct intel_ring_buffer *ring = LP_RING(dev_priv); + + DRM_DEBUG_DRIVER("%s\n", __func__); + + if (ring->virtual_start == NULL) { + DRM_ERROR("can not ioremap virtual address for" + " ring buffer\n"); + return -ENOMEM; + } + + /* Program Hardware Status Page */ + if (!ring->status_page.page_addr) { + DRM_ERROR("Can not find hardware status page\n"); + return -EINVAL; + } + DRM_DEBUG_DRIVER("hw status page @ %p\n", + ring->status_page.page_addr); + if (ring->status_page.gfx_addr != 0) + intel_ring_setup_status_page(ring); + else + i915_write_hws_pga(dev); + + DRM_DEBUG_DRIVER("Enabled hardware status page\n"); + + return 0; +} + +static int i915_dma_init(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_init_t *init = data; + int retcode = 0; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + switch (init->func) { + case I915_INIT_DMA: + retcode = i915_initialize(dev, init); + break; + case I915_CLEANUP_DMA: + retcode = i915_dma_cleanup(dev); + break; + case I915_RESUME_DMA: + retcode = i915_dma_resume(dev); + break; + default: + retcode = -EINVAL; + break; + } + + return retcode; +} + +/* Implement basically the same security restrictions as hardware does + * for MI_BATCH_NON_SECURE. These can be made stricter at any time. + * + * Most of the calculations below involve calculating the size of a + * particular instruction. It's important to get the size right as + * that tells us where the next instruction to check is. Any illegal + * instruction detected will be given a size of zero, which is a + * signal to abort the rest of the buffer. + */ +static int validate_cmd(int cmd) +{ + switch (((cmd >> 29) & 0x7)) { + case 0x0: + switch ((cmd >> 23) & 0x3f) { + case 0x0: + return 1; /* MI_NOOP */ + case 0x4: + return 1; /* MI_FLUSH */ + default: + return 0; /* disallow everything else */ + } + break; + case 0x1: + return 0; /* reserved */ + case 0x2: + return (cmd & 0xff) + 2; /* 2d commands */ + case 0x3: + if (((cmd >> 24) & 0x1f) <= 0x18) + return 1; + + switch ((cmd >> 24) & 0x1f) { + case 0x1c: + return 1; + case 0x1d: + switch ((cmd >> 16) & 0xff) { + case 0x3: + return (cmd & 0x1f) + 2; + case 0x4: + return (cmd & 0xf) + 2; + default: + return (cmd & 0xffff) + 2; + } + case 0x1e: + if (cmd & (1 << 23)) + return (cmd & 0xffff) + 1; + else + return 1; + case 0x1f: + if ((cmd & (1 << 23)) == 0) /* inline vertices */ + return (cmd & 0x1ffff) + 2; + else if (cmd & (1 << 17)) /* indirect random */ + if ((cmd & 0xffff) == 0) + return 0; /* unknown length, too hard */ + else + return (((cmd & 0xffff) + 1) / 2) + 1; + else + return 2; /* indirect sequential */ + default: + return 0; + } + default: + return 0; + } + + return 0; +} + +static int i915_emit_cmds(struct drm_device * dev, int *buffer, int dwords) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int i, ret; + + if ((dwords+1) * sizeof(int) >= LP_RING(dev_priv)->size - 8) + return -EINVAL; + + for (i = 0; i < dwords;) { + int sz = validate_cmd(buffer[i]); + if (sz == 0 || i + sz > dwords) + return -EINVAL; + i += sz; + } + + ret = BEGIN_LP_RING((dwords+1)&~1); + if (ret) + return ret; + + for (i = 0; i < dwords; i++) + OUT_RING(buffer[i]); + if (dwords & 1) + OUT_RING(0); + + ADVANCE_LP_RING(); + + return 0; +} + +int +i915_emit_box(struct drm_device *dev, + struct drm_clip_rect *box, + int DR1, int DR4) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + if (box->y2 <= box->y1 || box->x2 <= box->x1 || + box->y2 <= 0 || box->x2 <= 0) { + DRM_ERROR("Bad box %d,%d..%d,%d\n", + box->x1, box->y1, box->x2, box->y2); + return -EINVAL; + } + + if (INTEL_INFO(dev)->gen >= 4) { + ret = BEGIN_LP_RING(4); + if (ret) + return ret; + + OUT_RING(GFX_OP_DRAWRECT_INFO_I965); + OUT_RING((box->x1 & 0xffff) | (box->y1 << 16)); + OUT_RING(((box->x2 - 1) & 0xffff) | ((box->y2 - 1) << 16)); + OUT_RING(DR4); + } else { + ret = BEGIN_LP_RING(6); + if (ret) + return ret; + + OUT_RING(GFX_OP_DRAWRECT_INFO); + OUT_RING(DR1); + OUT_RING((box->x1 & 0xffff) | (box->y1 << 16)); + OUT_RING(((box->x2 - 1) & 0xffff) | ((box->y2 - 1) << 16)); + OUT_RING(DR4); + OUT_RING(0); + } + ADVANCE_LP_RING(); + + return 0; +} + +/* XXX: Emitting the counter should really be moved to part of the IRQ + * emit. For now, do it in both places: + */ + +static void i915_emit_breadcrumb(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; + + dev_priv->dri1.counter++; + if (dev_priv->dri1.counter > 0x7FFFFFFFUL) + dev_priv->dri1.counter = 0; + if (master_priv->sarea_priv) + master_priv->sarea_priv->last_enqueue = dev_priv->dri1.counter; + + if (BEGIN_LP_RING(4) == 0) { + OUT_RING(MI_STORE_DWORD_INDEX); + OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT); + OUT_RING(dev_priv->dri1.counter); + OUT_RING(0); + ADVANCE_LP_RING(); + } +} + +static int i915_dispatch_cmdbuffer(struct drm_device * dev, + drm_i915_cmdbuffer_t *cmd, + struct drm_clip_rect *cliprects, + void *cmdbuf) +{ + int nbox = cmd->num_cliprects; + int i = 0, count, ret; + + if (cmd->sz & 0x3) { + DRM_ERROR("alignment"); + return -EINVAL; + } + + i915_kernel_lost_context(dev); + + count = nbox ? nbox : 1; + + for (i = 0; i < count; i++) { + if (i < nbox) { + ret = i915_emit_box(dev, &cliprects[i], + cmd->DR1, cmd->DR4); + if (ret) + return ret; + } + + ret = i915_emit_cmds(dev, cmdbuf, cmd->sz / 4); + if (ret) + return ret; + } + + i915_emit_breadcrumb(dev); + return 0; +} + +static int i915_dispatch_batchbuffer(struct drm_device * dev, + drm_i915_batchbuffer_t * batch, + struct drm_clip_rect *cliprects) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int nbox = batch->num_cliprects; + int i, count, ret; + + if ((batch->start | batch->used) & 0x7) { + DRM_ERROR("alignment"); + return -EINVAL; + } + + i915_kernel_lost_context(dev); + + count = nbox ? nbox : 1; + for (i = 0; i < count; i++) { + if (i < nbox) { + ret = i915_emit_box(dev, &cliprects[i], + batch->DR1, batch->DR4); + if (ret) + return ret; + } + + if (!IS_I830(dev) && !IS_845G(dev)) { + ret = BEGIN_LP_RING(2); + if (ret) + return ret; + + if (INTEL_INFO(dev)->gen >= 4) { + OUT_RING(MI_BATCH_BUFFER_START | (2 << 6) | MI_BATCH_NON_SECURE_I965); + OUT_RING(batch->start); + } else { + OUT_RING(MI_BATCH_BUFFER_START | (2 << 6)); + OUT_RING(batch->start | MI_BATCH_NON_SECURE); + } + } else { + ret = BEGIN_LP_RING(4); + if (ret) + return ret; + + OUT_RING(MI_BATCH_BUFFER); + OUT_RING(batch->start | MI_BATCH_NON_SECURE); + OUT_RING(batch->start + batch->used - 4); + OUT_RING(0); + } + ADVANCE_LP_RING(); + } + + + if (IS_G4X(dev) || IS_GEN5(dev)) { + if (BEGIN_LP_RING(2) == 0) { + OUT_RING(MI_FLUSH | MI_NO_WRITE_FLUSH | MI_INVALIDATE_ISP); + OUT_RING(MI_NOOP); + ADVANCE_LP_RING(); + } + } + + i915_emit_breadcrumb(dev); + return 0; +} + +static int i915_dispatch_flip(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_master_private *master_priv = + dev->primary->master->driver_priv; + int ret; + + if (!master_priv->sarea_priv) + return -EINVAL; + + DRM_DEBUG_DRIVER("%s: page=%d pfCurrentPage=%d\n", + __func__, + dev_priv->dri1.current_page, + master_priv->sarea_priv->pf_current_page); + + i915_kernel_lost_context(dev); + + ret = BEGIN_LP_RING(10); + if (ret) + return ret; + + OUT_RING(MI_FLUSH | MI_READ_FLUSH); + OUT_RING(0); + + OUT_RING(CMD_OP_DISPLAYBUFFER_INFO | ASYNC_FLIP); + OUT_RING(0); + if (dev_priv->dri1.current_page == 0) { + OUT_RING(dev_priv->dri1.back_offset); + dev_priv->dri1.current_page = 1; + } else { + OUT_RING(dev_priv->dri1.front_offset); + dev_priv->dri1.current_page = 0; + } + OUT_RING(0); + + OUT_RING(MI_WAIT_FOR_EVENT | MI_WAIT_FOR_PLANE_A_FLIP); + OUT_RING(0); + + ADVANCE_LP_RING(); + + master_priv->sarea_priv->last_enqueue = dev_priv->dri1.counter++; + + if (BEGIN_LP_RING(4) == 0) { + OUT_RING(MI_STORE_DWORD_INDEX); + OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT); + OUT_RING(dev_priv->dri1.counter); + OUT_RING(0); + ADVANCE_LP_RING(); + } + + master_priv->sarea_priv->pf_current_page = dev_priv->dri1.current_page; + return 0; +} + +static int i915_quiescent(struct drm_device *dev) +{ + struct intel_ring_buffer *ring = LP_RING(dev->dev_private); + + i915_kernel_lost_context(dev); + return intel_wait_ring_idle(ring); +} + +static int i915_flush_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + int ret; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + RING_LOCK_TEST_WITH_RETURN(dev, file_priv); + + mutex_lock(&dev->struct_mutex); + ret = i915_quiescent(dev); + mutex_unlock(&dev->struct_mutex); + + return ret; +} + +static int i915_batchbuffer(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; + drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) + master_priv->sarea_priv; + drm_i915_batchbuffer_t *batch = data; + int ret; + struct drm_clip_rect *cliprects = NULL; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + if (!dev_priv->dri1.allow_batchbuffer) { + DRM_ERROR("Batchbuffer ioctl disabled\n"); + return -EINVAL; + } + + DRM_DEBUG_DRIVER("i915 batchbuffer, start %x used %d cliprects %d\n", + batch->start, batch->used, batch->num_cliprects); + + RING_LOCK_TEST_WITH_RETURN(dev, file_priv); + + if (batch->num_cliprects < 0) + return -EINVAL; + + if (batch->num_cliprects) { + cliprects = kcalloc(batch->num_cliprects, + sizeof(struct drm_clip_rect), + GFP_KERNEL); + if (cliprects == NULL) + return -ENOMEM; + + ret = copy_from_user(cliprects, batch->cliprects, + batch->num_cliprects * + sizeof(struct drm_clip_rect)); + if (ret != 0) { + ret = -EFAULT; + goto fail_free; + } + } + + mutex_lock(&dev->struct_mutex); + ret = i915_dispatch_batchbuffer(dev, batch, cliprects); + mutex_unlock(&dev->struct_mutex); + + if (sarea_priv) + sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); + +fail_free: + kfree(cliprects); + + return ret; +} + +static int i915_cmdbuffer(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; + drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) + master_priv->sarea_priv; + drm_i915_cmdbuffer_t *cmdbuf = data; + struct drm_clip_rect *cliprects = NULL; + void *batch_data; + int ret; + + DRM_DEBUG_DRIVER("i915 cmdbuffer, buf %p sz %d cliprects %d\n", + cmdbuf->buf, cmdbuf->sz, cmdbuf->num_cliprects); + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + RING_LOCK_TEST_WITH_RETURN(dev, file_priv); + + if (cmdbuf->num_cliprects < 0) + return -EINVAL; + + batch_data = kmalloc(cmdbuf->sz, GFP_KERNEL); + if (batch_data == NULL) + return -ENOMEM; + + ret = copy_from_user(batch_data, cmdbuf->buf, cmdbuf->sz); + if (ret != 0) { + ret = -EFAULT; + goto fail_batch_free; + } + + if (cmdbuf->num_cliprects) { + cliprects = kcalloc(cmdbuf->num_cliprects, + sizeof(struct drm_clip_rect), GFP_KERNEL); + if (cliprects == NULL) { + ret = -ENOMEM; + goto fail_batch_free; + } + + ret = copy_from_user(cliprects, cmdbuf->cliprects, + cmdbuf->num_cliprects * + sizeof(struct drm_clip_rect)); + if (ret != 0) { + ret = -EFAULT; + goto fail_clip_free; + } + } + + mutex_lock(&dev->struct_mutex); + ret = i915_dispatch_cmdbuffer(dev, cmdbuf, cliprects, batch_data); + mutex_unlock(&dev->struct_mutex); + if (ret) { + DRM_ERROR("i915_dispatch_cmdbuffer failed\n"); + goto fail_clip_free; + } + + if (sarea_priv) + sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); + +fail_clip_free: + kfree(cliprects); +fail_batch_free: + kfree(batch_data); + + return ret; +} + +static int i915_emit_irq(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; + + i915_kernel_lost_context(dev); + + DRM_DEBUG_DRIVER("\n"); + + dev_priv->dri1.counter++; + if (dev_priv->dri1.counter > 0x7FFFFFFFUL) + dev_priv->dri1.counter = 1; + if (master_priv->sarea_priv) + master_priv->sarea_priv->last_enqueue = dev_priv->dri1.counter; + + if (BEGIN_LP_RING(4) == 0) { + OUT_RING(MI_STORE_DWORD_INDEX); + OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT); + OUT_RING(dev_priv->dri1.counter); + OUT_RING(MI_USER_INTERRUPT); + ADVANCE_LP_RING(); + } + + return dev_priv->dri1.counter; +} + +static int i915_wait_irq(struct drm_device * dev, int irq_nr) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; + int ret = 0; + struct intel_ring_buffer *ring = LP_RING(dev_priv); + + DRM_DEBUG_DRIVER("irq_nr=%d breadcrumb=%d\n", irq_nr, + READ_BREADCRUMB(dev_priv)); + + if (READ_BREADCRUMB(dev_priv) >= irq_nr) { + if (master_priv->sarea_priv) + master_priv->sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); + return 0; + } + + if (master_priv->sarea_priv) + master_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT; + + if (ring->irq_get(ring)) { + DRM_WAIT_ON(ret, ring->irq_queue, 3 * DRM_HZ, + READ_BREADCRUMB(dev_priv) >= irq_nr); + ring->irq_put(ring); + } else if (wait_for(READ_BREADCRUMB(dev_priv) >= irq_nr, 3000)) + ret = -EBUSY; + + if (ret == -EBUSY) { + DRM_ERROR("EBUSY -- rec: %d emitted: %d\n", + READ_BREADCRUMB(dev_priv), (int)dev_priv->dri1.counter); + } + + return ret; +} + +/* Needs the lock as it touches the ring. + */ +static int i915_irq_emit(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + drm_i915_irq_emit_t *emit = data; + int result; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + if (!dev_priv || !LP_RING(dev_priv)->virtual_start) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + RING_LOCK_TEST_WITH_RETURN(dev, file_priv); + + mutex_lock(&dev->struct_mutex); + result = i915_emit_irq(dev); + mutex_unlock(&dev->struct_mutex); + + if (DRM_COPY_TO_USER(emit->irq_seq, &result, sizeof(int))) { + DRM_ERROR("copy_to_user\n"); + return -EFAULT; + } + + return 0; +} + +/* Doesn't need the hardware lock. + */ +static int i915_irq_wait(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + drm_i915_irq_wait_t *irqwait = data; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + if (!dev_priv) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + return i915_wait_irq(dev, irqwait->irq_seq); +} + +static int i915_vblank_pipe_get(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + drm_i915_vblank_pipe_t *pipe = data; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + if (!dev_priv) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + pipe->pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B; + + return 0; +} + +/** + * Schedule buffer swap at given vertical blank. + */ +static int i915_vblank_swap(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + /* The delayed swap mechanism was fundamentally racy, and has been + * removed. The model was that the client requested a delayed flip/swap + * from the kernel, then waited for vblank before continuing to perform + * rendering. The problem was that the kernel might wake the client + * up before it dispatched the vblank swap (since the lock has to be + * held while touching the ringbuffer), in which case the client would + * clear and start the next frame before the swap occurred, and + * flicker would occur in addition to likely missing the vblank. + * + * In the absence of this ioctl, userland falls back to a correct path + * of waiting for a vblank, then dispatching the swap on its own. + * Context switching to userland and back is plenty fast enough for + * meeting the requirements of vblank swapping. + */ + return -EINVAL; +} + +static int i915_flip_bufs(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + int ret; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + DRM_DEBUG_DRIVER("%s\n", __func__); + + RING_LOCK_TEST_WITH_RETURN(dev, file_priv); + + mutex_lock(&dev->struct_mutex); + ret = i915_dispatch_flip(dev); + mutex_unlock(&dev->struct_mutex); + + return ret; +} + +static int i915_getparam(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + drm_i915_getparam_t *param = data; + int value; + + if (!dev_priv) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + switch (param->param) { + case I915_PARAM_IRQ_ACTIVE: + value = dev->pdev->irq ? 1 : 0; + break; + case I915_PARAM_ALLOW_BATCHBUFFER: + value = dev_priv->dri1.allow_batchbuffer ? 1 : 0; + break; + case I915_PARAM_LAST_DISPATCH: + value = READ_BREADCRUMB(dev_priv); + break; + case I915_PARAM_CHIPSET_ID: + value = dev->pci_device; + break; + case I915_PARAM_HAS_GEM: + value = 1; + break; + case I915_PARAM_NUM_FENCES_AVAIL: + value = dev_priv->num_fence_regs - dev_priv->fence_reg_start; + break; + case I915_PARAM_HAS_OVERLAY: + value = dev_priv->overlay ? 1 : 0; + break; + case I915_PARAM_HAS_PAGEFLIPPING: + value = 1; + break; + case I915_PARAM_HAS_EXECBUF2: + /* depends on GEM */ + value = 1; + break; + case I915_PARAM_HAS_BSD: + value = intel_ring_initialized(&dev_priv->ring[VCS]); + break; + case I915_PARAM_HAS_BLT: + value = intel_ring_initialized(&dev_priv->ring[BCS]); + break; + case I915_PARAM_HAS_RELAXED_FENCING: + value = 1; + break; + case I915_PARAM_HAS_COHERENT_RINGS: + value = 1; + break; + case I915_PARAM_HAS_EXEC_CONSTANTS: + value = INTEL_INFO(dev)->gen >= 4; + break; + case I915_PARAM_HAS_RELAXED_DELTA: + value = 1; + break; + case I915_PARAM_HAS_GEN7_SOL_RESET: + value = 1; + break; + case I915_PARAM_HAS_LLC: + value = HAS_LLC(dev); + break; + case I915_PARAM_HAS_ALIASING_PPGTT: + value = dev_priv->mm.aliasing_ppgtt ? 1 : 0; + break; + case I915_PARAM_HAS_WAIT_TIMEOUT: + value = 1; + break; + case I915_PARAM_HAS_SEMAPHORES: + value = i915_semaphore_is_enabled(dev); + break; + case I915_PARAM_HAS_PRIME_VMAP_FLUSH: + value = 1; + break; + case I915_PARAM_HAS_SECURE_BATCHES: + value = capable(CAP_SYS_ADMIN); + break; + default: + DRM_DEBUG_DRIVER("Unknown parameter %d\n", + param->param); + return -EINVAL; + } + + if (DRM_COPY_TO_USER(param->value, &value, sizeof(int))) { + DRM_ERROR("DRM_COPY_TO_USER failed\n"); + return -EFAULT; + } + + return 0; +} + +static int i915_setparam(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + drm_i915_setparam_t *param = data; + + if (!dev_priv) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + switch (param->param) { + case I915_SETPARAM_USE_MI_BATCHBUFFER_START: + break; + case I915_SETPARAM_TEX_LRU_LOG_GRANULARITY: + break; + case I915_SETPARAM_ALLOW_BATCHBUFFER: + dev_priv->dri1.allow_batchbuffer = param->value ? 1 : 0; + break; + case I915_SETPARAM_NUM_USED_FENCES: + if (param->value > dev_priv->num_fence_regs || + param->value < 0) + return -EINVAL; + /* Userspace can use first N regs */ + dev_priv->fence_reg_start = param->value; + break; + default: + DRM_DEBUG_DRIVER("unknown parameter %d\n", + param->param); + return -EINVAL; + } + + return 0; +} + +static int i915_set_status_page(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + drm_i915_hws_addr_t *hws = data; + struct intel_ring_buffer *ring = LP_RING(dev_priv); + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + if (!I915_NEED_GFX_HWS(dev)) + return -EINVAL; + + if (!dev_priv) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + WARN(1, "tried to set status page when mode setting active\n"); + return 0; + } + + DRM_DEBUG_DRIVER("set status page addr 0x%08x\n", (u32)hws->addr); + + ring->status_page.gfx_addr = hws->addr & (0x1ffff<<12); + + dev_priv->dri1.gfx_hws_cpu_addr = + ioremap_wc(dev_priv->mm.gtt_base_addr + hws->addr, 4096); + if (dev_priv->dri1.gfx_hws_cpu_addr == NULL) { + i915_dma_cleanup(dev); + ring->status_page.gfx_addr = 0; + DRM_ERROR("can not ioremap virtual address for" + " G33 hw status page\n"); + return -ENOMEM; + } + + memset_io(dev_priv->dri1.gfx_hws_cpu_addr, 0, PAGE_SIZE); + I915_WRITE(HWS_PGA, ring->status_page.gfx_addr); + + DRM_DEBUG_DRIVER("load hws HWS_PGA with gfx mem 0x%x\n", + ring->status_page.gfx_addr); + DRM_DEBUG_DRIVER("load hws at %p\n", + ring->status_page.page_addr); + return 0; +} + +static int i915_get_bridge_dev(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + dev_priv->bridge_dev = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); + if (!dev_priv->bridge_dev) { + DRM_ERROR("bridge device not found\n"); + return -1; + } + return 0; +} + +#define MCHBAR_I915 0x44 +#define MCHBAR_I965 0x48 +#define MCHBAR_SIZE (4*4096) + +#define DEVEN_REG 0x54 +#define DEVEN_MCHBAR_EN (1 << 28) + +/* Allocate space for the MCH regs if needed, return nonzero on error */ +static int +intel_alloc_mchbar_resource(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int reg = INTEL_INFO(dev)->gen >= 4 ? MCHBAR_I965 : MCHBAR_I915; + u32 temp_lo, temp_hi = 0; + u64 mchbar_addr; + int ret; + + if (INTEL_INFO(dev)->gen >= 4) + pci_read_config_dword(dev_priv->bridge_dev, reg + 4, &temp_hi); + pci_read_config_dword(dev_priv->bridge_dev, reg, &temp_lo); + mchbar_addr = ((u64)temp_hi << 32) | temp_lo; + + /* If ACPI doesn't have it, assume we need to allocate it ourselves */ +#ifdef CONFIG_PNP + if (mchbar_addr && + pnp_range_reserved(mchbar_addr, mchbar_addr + MCHBAR_SIZE)) + return 0; +#endif + + /* Get some space for it */ + dev_priv->mch_res.name = "i915 MCHBAR"; + dev_priv->mch_res.flags = IORESOURCE_MEM; + ret = pci_bus_alloc_resource(dev_priv->bridge_dev->bus, + &dev_priv->mch_res, + MCHBAR_SIZE, MCHBAR_SIZE, + PCIBIOS_MIN_MEM, + 0, pcibios_align_resource, + dev_priv->bridge_dev); + if (ret) { + DRM_DEBUG_DRIVER("failed bus alloc: %d\n", ret); + dev_priv->mch_res.start = 0; + return ret; + } + + if (INTEL_INFO(dev)->gen >= 4) + pci_write_config_dword(dev_priv->bridge_dev, reg + 4, + upper_32_bits(dev_priv->mch_res.start)); + + pci_write_config_dword(dev_priv->bridge_dev, reg, + lower_32_bits(dev_priv->mch_res.start)); + return 0; +} + +/* Setup MCHBAR if possible, return true if we should disable it again */ +static void +intel_setup_mchbar(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int mchbar_reg = INTEL_INFO(dev)->gen >= 4 ? MCHBAR_I965 : MCHBAR_I915; + u32 temp; + bool enabled; + + dev_priv->mchbar_need_disable = false; + + if (IS_I915G(dev) || IS_I915GM(dev)) { + pci_read_config_dword(dev_priv->bridge_dev, DEVEN_REG, &temp); + enabled = !!(temp & DEVEN_MCHBAR_EN); + } else { + pci_read_config_dword(dev_priv->bridge_dev, mchbar_reg, &temp); + enabled = temp & 1; + } + + /* If it's already enabled, don't have to do anything */ + if (enabled) + return; + + if (intel_alloc_mchbar_resource(dev)) + return; + + dev_priv->mchbar_need_disable = true; + + /* Space is allocated or reserved, so enable it. */ + if (IS_I915G(dev) || IS_I915GM(dev)) { + pci_write_config_dword(dev_priv->bridge_dev, DEVEN_REG, + temp | DEVEN_MCHBAR_EN); + } else { + pci_read_config_dword(dev_priv->bridge_dev, mchbar_reg, &temp); + pci_write_config_dword(dev_priv->bridge_dev, mchbar_reg, temp | 1); + } +} + +static void +intel_teardown_mchbar(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int mchbar_reg = INTEL_INFO(dev)->gen >= 4 ? MCHBAR_I965 : MCHBAR_I915; + u32 temp; + + if (dev_priv->mchbar_need_disable) { + if (IS_I915G(dev) || IS_I915GM(dev)) { + pci_read_config_dword(dev_priv->bridge_dev, DEVEN_REG, &temp); + temp &= ~DEVEN_MCHBAR_EN; + pci_write_config_dword(dev_priv->bridge_dev, DEVEN_REG, temp); + } else { + pci_read_config_dword(dev_priv->bridge_dev, mchbar_reg, &temp); + temp &= ~1; + pci_write_config_dword(dev_priv->bridge_dev, mchbar_reg, temp); + } + } + + if (dev_priv->mch_res.start) + release_resource(&dev_priv->mch_res); +} + +/* true = enable decode, false = disable decoder */ +static unsigned int i915_vga_set_decode(void *cookie, bool state) +{ + struct drm_device *dev = cookie; + + intel_modeset_vga_set_state(dev, state); + if (state) + return VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM | + VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM; + else + return VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM; +} + +static void i915_switcheroo_set_state(struct pci_dev *pdev, enum vga_switcheroo_state state) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + pm_message_t pmm = { .event = PM_EVENT_SUSPEND }; + if (state == VGA_SWITCHEROO_ON) { + pr_info("switched on\n"); + dev->switch_power_state = DRM_SWITCH_POWER_CHANGING; + /* i915 resume handler doesn't set to D0 */ + pci_set_power_state(dev->pdev, PCI_D0); + i915_resume(dev); + dev->switch_power_state = DRM_SWITCH_POWER_ON; + } else { + pr_err("switched off\n"); + dev->switch_power_state = DRM_SWITCH_POWER_CHANGING; + i915_suspend(dev, pmm); + dev->switch_power_state = DRM_SWITCH_POWER_OFF; + } +} + +static bool i915_switcheroo_can_switch(struct pci_dev *pdev) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + bool can_switch; + + spin_lock(&dev->count_lock); + can_switch = (dev->open_count == 0); + spin_unlock(&dev->count_lock); + return can_switch; +} + +static const struct vga_switcheroo_client_ops i915_switcheroo_ops = { + .set_gpu_state = i915_switcheroo_set_state, + .reprobe = NULL, + .can_switch = i915_switcheroo_can_switch, +}; + +static int i915_load_modeset_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + ret = intel_parse_bios(dev); + if (ret) + DRM_INFO("failed to find VBIOS tables\n"); + + /* If we have > 1 VGA cards, then we need to arbitrate access + * to the common VGA resources. + * + * If we are a secondary display controller (!PCI_DISPLAY_CLASS_VGA), + * then we do not take part in VGA arbitration and the + * vga_client_register() fails with -ENODEV. + */ + ret = vga_client_register(dev->pdev, dev, NULL, i915_vga_set_decode); + if (ret && ret != -ENODEV) + goto out; + + intel_register_dsm_handler(); + + ret = vga_switcheroo_register_client(dev->pdev, &i915_switcheroo_ops); + if (ret) + goto cleanup_vga_client; + + /* Initialise stolen first so that we may reserve preallocated + * objects for the BIOS to KMS transition. + */ + ret = i915_gem_init_stolen(dev); + if (ret) + goto cleanup_vga_switcheroo; + + intel_modeset_init(dev); + + ret = i915_gem_init(dev); + if (ret) + goto cleanup_gem_stolen; + + intel_modeset_gem_init(dev); + + INIT_WORK(&dev_priv->console_resume_work, intel_console_resume); + + ret = drm_irq_install(dev); + if (ret) + goto cleanup_gem; + + /* Always safe in the mode setting case. */ + /* FIXME: do pre/post-mode set stuff in core KMS code */ + dev->vblank_disable_allowed = 1; + + ret = intel_fbdev_init(dev); + if (ret) + goto cleanup_irq; + + drm_kms_helper_poll_init(dev); + + /* We're off and running w/KMS */ + dev_priv->mm.suspended = 0; + + return 0; + +cleanup_irq: + drm_irq_uninstall(dev); +cleanup_gem: + mutex_lock(&dev->struct_mutex); + i915_gem_cleanup_ringbuffer(dev); + mutex_unlock(&dev->struct_mutex); + i915_gem_cleanup_aliasing_ppgtt(dev); +cleanup_gem_stolen: + i915_gem_cleanup_stolen(dev); +cleanup_vga_switcheroo: + vga_switcheroo_unregister_client(dev->pdev); +cleanup_vga_client: + vga_client_register(dev->pdev, NULL, NULL, NULL); +out: + return ret; +} + +int i915_master_create(struct drm_device *dev, struct drm_master *master) +{ + struct drm_i915_master_private *master_priv; + + master_priv = kzalloc(sizeof(*master_priv), GFP_KERNEL); + if (!master_priv) + return -ENOMEM; + + master->driver_priv = master_priv; + return 0; +} + +void i915_master_destroy(struct drm_device *dev, struct drm_master *master) +{ + struct drm_i915_master_private *master_priv = master->driver_priv; + + if (!master_priv) + return; + + kfree(master_priv); + + master->driver_priv = NULL; +} + +static void +i915_mtrr_setup(struct drm_i915_private *dev_priv, unsigned long base, + unsigned long size) +{ + dev_priv->mm.gtt_mtrr = -1; + +#if defined(CONFIG_X86_PAT) + if (cpu_has_pat) + return; +#endif + + /* Set up a WC MTRR for non-PAT systems. This is more common than + * one would think, because the kernel disables PAT on first + * generation Core chips because WC PAT gets overridden by a UC + * MTRR if present. Even if a UC MTRR isn't present. + */ + dev_priv->mm.gtt_mtrr = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); + if (dev_priv->mm.gtt_mtrr < 0) { + DRM_INFO("MTRR allocation failed. Graphics " + "performance may suffer.\n"); + } +} + +static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv) +{ + struct apertures_struct *ap; + struct pci_dev *pdev = dev_priv->dev->pdev; + bool primary; + + ap = alloc_apertures(1); + if (!ap) + return; + + ap->ranges[0].base = dev_priv->mm.gtt->gma_bus_addr; + ap->ranges[0].size = + dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; + primary = + pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; + + remove_conflicting_framebuffers(ap, "inteldrmfb", primary); + + kfree(ap); +} + +static void i915_dump_device_info(struct drm_i915_private *dev_priv) +{ + const struct intel_device_info *info = dev_priv->info; + +#define DEV_INFO_FLAG(name) info->name ? #name "," : "" +#define DEV_INFO_SEP , + DRM_DEBUG_DRIVER("i915 device info: gen=%i, pciid=0x%04x flags=" + "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", + info->gen, + dev_priv->dev->pdev->device, + DEV_INFO_FLAGS); +#undef DEV_INFO_FLAG +#undef DEV_INFO_SEP +} + +/** + * i915_driver_load - setup chip and create an initial config + * @dev: DRM device + * @flags: startup flags + * + * The driver load routine has to do several things: + * - drive output discovery via intel_modeset_init() + * - initialize the memory manager + * - allocate initial config memory + * - setup the DRM framebuffer with the allocated memory + */ +int i915_driver_load(struct drm_device *dev, unsigned long flags) +{ + struct drm_i915_private *dev_priv; + struct intel_device_info *info; + int ret = 0, mmio_bar, mmio_size; + uint32_t aperture_size; + + info = (struct intel_device_info *) flags; + + /* Refuse to load on gen6+ without kms enabled. */ + if (info->gen >= 6 && !drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + /* i915 has 4 more counters */ + dev->counters += 4; + dev->types[6] = _DRM_STAT_IRQ; + dev->types[7] = _DRM_STAT_PRIMARY; + dev->types[8] = _DRM_STAT_SECONDARY; + dev->types[9] = _DRM_STAT_DMA; + + dev_priv = kzalloc(sizeof(drm_i915_private_t), GFP_KERNEL); + if (dev_priv == NULL) + return -ENOMEM; + + dev->dev_private = (void *)dev_priv; + dev_priv->dev = dev; + dev_priv->info = info; + + i915_dump_device_info(dev_priv); + + if (i915_get_bridge_dev(dev)) { + ret = -EIO; + goto free_priv; + } + + ret = i915_gem_gtt_init(dev); + if (ret) + goto put_bridge; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + i915_kick_out_firmware_fb(dev_priv); + + pci_set_master(dev->pdev); + + /* overlay on gen2 is broken and can't address above 1G */ + if (IS_GEN2(dev)) + dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(30)); + + /* 965GM sometimes incorrectly writes to hardware status page (HWS) + * using 32bit addressing, overwriting memory if HWS is located + * above 4GB. + * + * The documentation also mentions an issue with undefined + * behaviour if any general state is accessed within a page above 4GB, + * which also needs to be handled carefully. + */ + if (IS_BROADWATER(dev) || IS_CRESTLINE(dev)) + dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(32)); + + mmio_bar = IS_GEN2(dev) ? 1 : 0; + /* Before gen4, the registers and the GTT are behind different BARs. + * However, from gen4 onwards, the registers and the GTT are shared + * in the same BAR, so we want to restrict this ioremap from + * clobbering the GTT which we want ioremap_wc instead. Fortunately, + * the register BAR remains the same size for all the earlier + * generations up to Ironlake. + */ + if (info->gen < 5) + mmio_size = 512*1024; + else + mmio_size = 2*1024*1024; + + dev_priv->regs = pci_iomap(dev->pdev, mmio_bar, mmio_size); + if (!dev_priv->regs) { + DRM_ERROR("failed to map registers\n"); + ret = -EIO; + goto put_gmch; + } + + aperture_size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; + dev_priv->mm.gtt_base_addr = dev_priv->mm.gtt->gma_bus_addr; + + dev_priv->mm.gtt_mapping = + io_mapping_create_wc(dev_priv->mm.gtt_base_addr, + aperture_size); + if (dev_priv->mm.gtt_mapping == NULL) { + ret = -EIO; + goto out_rmmap; + } + + i915_mtrr_setup(dev_priv, dev_priv->mm.gtt_base_addr, + aperture_size); + + /* The i915 workqueue is primarily used for batched retirement of + * requests (and thus managing bo) once the task has been completed + * by the GPU. i915_gem_retire_requests() is called directly when we + * need high-priority retirement, such as waiting for an explicit + * bo. + * + * It is also used for periodic low-priority events, such as + * idle-timers and recording error state. + * + * All tasks on the workqueue are expected to acquire the dev mutex + * so there is no point in running more than one instance of the + * workqueue at any time. Use an ordered one. + */ + dev_priv->wq = alloc_ordered_workqueue("i915", 0); + if (dev_priv->wq == NULL) { + DRM_ERROR("Failed to create our workqueue.\n"); + ret = -ENOMEM; + goto out_mtrrfree; + } + + /* This must be called before any calls to HAS_PCH_* */ + intel_detect_pch(dev); + + intel_irq_init(dev); + intel_gt_init(dev); + + /* Try to make sure MCHBAR is enabled before poking at it */ + intel_setup_mchbar(dev); + intel_setup_gmbus(dev); + intel_opregion_setup(dev); + + intel_setup_bios(dev); + + i915_gem_load(dev); + + /* On the 945G/GM, the chipset reports the MSI capability on the + * integrated graphics even though the support isn't actually there + * according to the published specs. It doesn't appear to function + * correctly in testing on 945G. + * This may be a side effect of MSI having been made available for PEG + * and the registers being closely associated. + * + * According to chipset errata, on the 965GM, MSI interrupts may + * be lost or delayed, but we use them anyways to avoid + * stuck interrupts on some machines. + */ + if (!IS_I945G(dev) && !IS_I945GM(dev)) + pci_enable_msi(dev->pdev); + + spin_lock_init(&dev_priv->irq_lock); + spin_lock_init(&dev_priv->error_lock); + spin_lock_init(&dev_priv->rps.lock); + spin_lock_init(&dev_priv->dpio_lock); + + mutex_init(&dev_priv->rps.hw_lock); + + if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) + dev_priv->num_pipe = 3; + else if (IS_MOBILE(dev) || !IS_GEN2(dev)) + dev_priv->num_pipe = 2; + else + dev_priv->num_pipe = 1; + + ret = drm_vblank_init(dev, dev_priv->num_pipe); + if (ret) + goto out_gem_unload; + + /* Start out suspended */ + dev_priv->mm.suspended = 1; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + ret = i915_load_modeset_init(dev); + if (ret < 0) { + DRM_ERROR("failed to init modeset\n"); + goto out_gem_unload; + } + } + + i915_setup_sysfs(dev); + + /* Must be done after probing outputs */ + intel_opregion_init(dev); + acpi_video_register(); + + setup_timer(&dev_priv->hangcheck_timer, i915_hangcheck_elapsed, + (unsigned long) dev); + + if (IS_GEN5(dev)) + intel_gpu_ips_init(dev_priv); + + return 0; + +out_gem_unload: + if (dev_priv->mm.inactive_shrinker.shrink) + unregister_shrinker(&dev_priv->mm.inactive_shrinker); + + if (dev->pdev->msi_enabled) + pci_disable_msi(dev->pdev); + + intel_teardown_gmbus(dev); + intel_teardown_mchbar(dev); + destroy_workqueue(dev_priv->wq); +out_mtrrfree: + if (dev_priv->mm.gtt_mtrr >= 0) { + mtrr_del(dev_priv->mm.gtt_mtrr, + dev_priv->mm.gtt_base_addr, + aperture_size); + dev_priv->mm.gtt_mtrr = -1; + } + io_mapping_free(dev_priv->mm.gtt_mapping); +out_rmmap: + pci_iounmap(dev->pdev, dev_priv->regs); +put_gmch: + i915_gem_gtt_fini(dev); +put_bridge: + pci_dev_put(dev_priv->bridge_dev); +free_priv: + kfree(dev_priv); + return ret; +} + +int i915_driver_unload(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + intel_gpu_ips_teardown(); + + i915_teardown_sysfs(dev); + + if (dev_priv->mm.inactive_shrinker.shrink) + unregister_shrinker(&dev_priv->mm.inactive_shrinker); + + mutex_lock(&dev->struct_mutex); + ret = i915_gpu_idle(dev); + if (ret) + DRM_ERROR("failed to idle hardware: %d\n", ret); + i915_gem_retire_requests(dev); + mutex_unlock(&dev->struct_mutex); + + /* Cancel the retire work handler, which should be idle now. */ + cancel_delayed_work_sync(&dev_priv->mm.retire_work); + + io_mapping_free(dev_priv->mm.gtt_mapping); + if (dev_priv->mm.gtt_mtrr >= 0) { + mtrr_del(dev_priv->mm.gtt_mtrr, + dev_priv->mm.gtt_base_addr, + dev_priv->mm.gtt->gtt_mappable_entries * PAGE_SIZE); + dev_priv->mm.gtt_mtrr = -1; + } + + acpi_video_unregister(); + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + intel_fbdev_fini(dev); + intel_modeset_cleanup(dev); + cancel_work_sync(&dev_priv->console_resume_work); + + /* + * free the memory space allocated for the child device + * config parsed from VBT + */ + if (dev_priv->child_dev && dev_priv->child_dev_num) { + kfree(dev_priv->child_dev); + dev_priv->child_dev = NULL; + dev_priv->child_dev_num = 0; + } + + vga_switcheroo_unregister_client(dev->pdev); + vga_client_register(dev->pdev, NULL, NULL, NULL); + } + + /* Free error state after interrupts are fully disabled. */ + del_timer_sync(&dev_priv->hangcheck_timer); + cancel_work_sync(&dev_priv->error_work); + i915_destroy_error_state(dev); + + if (dev->pdev->msi_enabled) + pci_disable_msi(dev->pdev); + + intel_opregion_fini(dev); + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + /* Flush any outstanding unpin_work. */ + flush_workqueue(dev_priv->wq); + + mutex_lock(&dev->struct_mutex); + i915_gem_free_all_phys_object(dev); + i915_gem_cleanup_ringbuffer(dev); + i915_gem_context_fini(dev); + mutex_unlock(&dev->struct_mutex); + i915_gem_cleanup_aliasing_ppgtt(dev); + i915_gem_cleanup_stolen(dev); + drm_mm_takedown_hsw(&dev_priv->mm.stolen); + + intel_cleanup_overlay(dev); + + if (!I915_NEED_GFX_HWS(dev)) + i915_free_hws(dev); + } + + if (dev_priv->regs != NULL) + pci_iounmap(dev->pdev, dev_priv->regs); + + intel_teardown_gmbus(dev); + intel_teardown_mchbar(dev); + + destroy_workqueue(dev_priv->wq); + + pci_dev_put(dev_priv->bridge_dev); + kfree(dev->dev_private); + + return 0; +} + +int i915_driver_open(struct drm_device *dev, struct drm_file *file) +{ + struct drm_i915_file_private *file_priv; + + DRM_DEBUG_DRIVER("\n"); + file_priv = kmalloc(sizeof(*file_priv), GFP_KERNEL); + if (!file_priv) + return -ENOMEM; + + file->driver_priv = file_priv; + + spin_lock_init(&file_priv->mm.lock); + INIT_LIST_HEAD(&file_priv->mm.request_list); + + idr_init(&file_priv->context_idr); + + return 0; +} + +/** + * i915_driver_lastclose - clean up after all DRM clients have exited + * @dev: DRM device + * + * Take care of cleaning up after all DRM clients have exited. In the + * mode setting case, we want to restore the kernel's initial mode (just + * in case the last client left us in a bad state). + * + * Additionally, in the non-mode setting case, we'll tear down the GTT + * and DMA structures, since the kernel won't be using them, and clea + * up any GEM state. + */ +void i915_driver_lastclose(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + + /* On gen6+ we refuse to init without kms enabled, but then the drm core + * goes right around and calls lastclose. Check for this and don't clean + * up anything. */ + if (!dev_priv) + return; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + intel_fb_restore_mode(dev); + vga_switcheroo_process_delayed_switch(); + return; + } + + i915_gem_lastclose(dev); + + i915_dma_cleanup(dev); +} + +void i915_driver_preclose(struct drm_device * dev, struct drm_file *file_priv) +{ + i915_gem_context_close(dev, file_priv); + i915_gem_release(dev, file_priv); +} + +void i915_driver_postclose(struct drm_device *dev, struct drm_file *file) +{ + struct drm_i915_file_private *file_priv = file->driver_priv; + + kfree(file_priv); +} + +struct drm_ioctl_desc i915_ioctls[] = { + DRM_IOCTL_DEF_DRV(I915_INIT, i915_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), + DRM_IOCTL_DEF_DRV(I915_FLUSH, i915_flush_ioctl, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_FLIP, i915_flip_bufs, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_BATCHBUFFER, i915_batchbuffer, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_IRQ_EMIT, i915_irq_emit, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_IRQ_WAIT, i915_irq_wait, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_GETPARAM, i915_getparam, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_SETPARAM, i915_setparam, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), + DRM_IOCTL_DEF_DRV(I915_ALLOC, drm_noop, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_FREE, drm_noop, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_INIT_HEAP, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), + DRM_IOCTL_DEF_DRV(I915_CMDBUFFER, i915_cmdbuffer, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_DESTROY_HEAP, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), + DRM_IOCTL_DEF_DRV(I915_SET_VBLANK_PIPE, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), + DRM_IOCTL_DEF_DRV(I915_GET_VBLANK_PIPE, i915_vblank_pipe_get, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_VBLANK_SWAP, i915_vblank_swap, DRM_AUTH), + DRM_IOCTL_DEF_DRV(I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), + DRM_IOCTL_DEF_DRV(I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER2, i915_gem_execbuffer2, DRM_AUTH|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_PIN, i915_gem_pin_ioctl, DRM_AUTH|DRM_ROOT_ONLY|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_UNPIN, i915_gem_unpin_ioctl, DRM_AUTH|DRM_ROOT_ONLY|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_BUSY, i915_gem_busy_ioctl, DRM_AUTH|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_SET_CACHING, i915_gem_set_caching_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_GET_CACHING, i915_gem_get_caching_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_THROTTLE, i915_gem_throttle_ioctl, DRM_AUTH|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_ENTERVT, i915_gem_entervt_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_LEAVEVT, i915_gem_leavevt_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_CREATE, i915_gem_create_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_PREAD, i915_gem_pread_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_PWRITE, i915_gem_pwrite_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_MMAP, i915_gem_mmap_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_MMAP_GTT, i915_gem_mmap_gtt_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_SET_DOMAIN, i915_gem_set_domain_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_SW_FINISH, i915_gem_sw_finish_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_SET_TILING, i915_gem_set_tiling, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_GET_TILING, i915_gem_get_tiling, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GET_PIPE_FROM_CRTC_ID, intel_get_pipe_from_crtc_id, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_MADVISE, i915_gem_madvise_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_OVERLAY_PUT_IMAGE, intel_overlay_put_image, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_OVERLAY_ATTRS, intel_overlay_attrs, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_SET_SPRITE_COLORKEY, intel_sprite_set_colorkey, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, intel_sprite_get_colorkey, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_WAIT, i915_gem_wait_ioctl, DRM_AUTH|DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_CREATE, i915_gem_context_create_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_DESTROY, i915_gem_context_destroy_ioctl, DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(I915_REG_READ, i915_reg_read_ioctl, DRM_UNLOCKED), +}; + +int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); + +/* + * This is really ugly: Because old userspace abused the linux agp interface to + * manage the gtt, we need to claim that all intel devices are agp. For + * otherwise the drm core refuses to initialize the agp support code. + */ +int i915_driver_device_is_agp(struct drm_device * dev) +{ + return 1; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_drv.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_drv.c @@ -0,0 +1,1275 @@ +/* i915_drv.c -- i830,i845,i855,i865,i915 driver -*- linux-c -*- + */ +/* + * + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_trace.h" +#include "intel_drv.h" + +#include +#include +#include "drm_crtc_helper.h" + +static int i915_modeset __read_mostly = -1; +module_param_named(modeset, i915_modeset, int, 0400); +MODULE_PARM_DESC(modeset, + "Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, " + "1=on, -1=force vga console preference [default])"); + +unsigned int i915_fbpercrtc __always_unused = 0; +module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400); + +int i915_panel_ignore_lid __read_mostly = 1; +module_param_named(panel_ignore_lid, i915_panel_ignore_lid, int, 0600); +MODULE_PARM_DESC(panel_ignore_lid, + "Override lid status (0=autodetect, 1=autodetect disabled [default], " + "-1=force lid closed, -2=force lid open)"); + +unsigned int i915_powersave __read_mostly = 1; +module_param_named(powersave, i915_powersave, int, 0600); +MODULE_PARM_DESC(powersave, + "Enable powersavings, fbc, downclocking, etc. (default: true)"); + +int i915_semaphores __read_mostly = -1; +module_param_named(semaphores, i915_semaphores, int, 0600); +MODULE_PARM_DESC(semaphores, + "Use semaphores for inter-ring sync (default: -1 (use per-chip defaults))"); + +int i915_enable_rc6 __read_mostly = -1; +module_param_named(i915_enable_rc6, i915_enable_rc6, int, 0400); +MODULE_PARM_DESC(i915_enable_rc6, + "Enable power-saving render C-state 6. " + "Different stages can be selected via bitmask values " + "(0 = disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). " + "For example, 3 would enable rc6 and deep rc6, and 7 would enable everything. " + "default: -1 (use per-chip default)"); + +int i915_enable_fbc __read_mostly = -1; +module_param_named(i915_enable_fbc, i915_enable_fbc, int, 0600); +MODULE_PARM_DESC(i915_enable_fbc, + "Enable frame buffer compression for power savings " + "(default: -1 (use per-chip default))"); + +unsigned int i915_lvds_downclock __read_mostly = 0; +module_param_named(lvds_downclock, i915_lvds_downclock, int, 0400); +MODULE_PARM_DESC(lvds_downclock, + "Use panel (LVDS/eDP) downclocking for power savings " + "(default: false)"); + +int i915_lvds_channel_mode __read_mostly; +module_param_named(lvds_channel_mode, i915_lvds_channel_mode, int, 0600); +MODULE_PARM_DESC(lvds_channel_mode, + "Specify LVDS channel mode " + "(0=probe BIOS [default], 1=single-channel, 2=dual-channel)"); + +int i915_panel_use_ssc __read_mostly = -1; +module_param_named(lvds_use_ssc, i915_panel_use_ssc, int, 0600); +MODULE_PARM_DESC(lvds_use_ssc, + "Use Spread Spectrum Clock with panels [LVDS/eDP] " + "(default: auto from VBT)"); + +int i915_vbt_sdvo_panel_type __read_mostly = -1; +module_param_named(vbt_sdvo_panel_type, i915_vbt_sdvo_panel_type, int, 0600); +MODULE_PARM_DESC(vbt_sdvo_panel_type, + "Override/Ignore selection of SDVO panel mode in the VBT " + "(-2=ignore, -1=auto [default], index in VBT BIOS table)"); + +static bool i915_try_reset __read_mostly = true; +module_param_named(reset, i915_try_reset, bool, 0600); +MODULE_PARM_DESC(reset, "Attempt GPU resets (default: true)"); + +bool i915_enable_hangcheck __read_mostly = true; +module_param_named(enable_hangcheck, i915_enable_hangcheck, bool, 0644); +MODULE_PARM_DESC(enable_hangcheck, + "Periodically check GPU activity for detecting hangs. " + "WARNING: Disabling this can cause system wide hangs. " + "(default: true)"); + +int i915_enable_ppgtt __read_mostly = -1; +module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600); +MODULE_PARM_DESC(i915_enable_ppgtt, + "Enable PPGTT (default: true)"); + +static struct drm_driver driver; +extern int intel_agp_enabled; + +extern int i915_hsw_enabled; + +#define INTEL_VGA_DEVICE(id, info) { \ + .class = PCI_BASE_CLASS_DISPLAY << 16, \ + .class_mask = 0xff0000, \ + .vendor = 0x8086, \ + .device = id, \ + .subvendor = PCI_ANY_ID, \ + .subdevice = PCI_ANY_ID, \ + .driver_data = (unsigned long) info } + +static const struct intel_device_info intel_i830_info = { + .gen = 2, .is_mobile = 1, .cursor_needs_physical = 1, + .has_overlay = 1, .overlay_needs_physical = 1, +}; + +static const struct intel_device_info intel_845g_info = { + .gen = 2, + .has_overlay = 1, .overlay_needs_physical = 1, +}; + +static const struct intel_device_info intel_i85x_info = { + .gen = 2, .is_i85x = 1, .is_mobile = 1, + .cursor_needs_physical = 1, + .has_overlay = 1, .overlay_needs_physical = 1, +}; + +static const struct intel_device_info intel_i865g_info = { + .gen = 2, + .has_overlay = 1, .overlay_needs_physical = 1, +}; + +static const struct intel_device_info intel_i915g_info = { + .gen = 3, .is_i915g = 1, .cursor_needs_physical = 1, + .has_overlay = 1, .overlay_needs_physical = 1, +}; +static const struct intel_device_info intel_i915gm_info = { + .gen = 3, .is_mobile = 1, + .cursor_needs_physical = 1, + .has_overlay = 1, .overlay_needs_physical = 1, + .supports_tv = 1, +}; +static const struct intel_device_info intel_i945g_info = { + .gen = 3, .has_hotplug = 1, .cursor_needs_physical = 1, + .has_overlay = 1, .overlay_needs_physical = 1, +}; +static const struct intel_device_info intel_i945gm_info = { + .gen = 3, .is_i945gm = 1, .is_mobile = 1, + .has_hotplug = 1, .cursor_needs_physical = 1, + .has_overlay = 1, .overlay_needs_physical = 1, + .supports_tv = 1, +}; + +static const struct intel_device_info intel_i965g_info = { + .gen = 4, .is_broadwater = 1, + .has_hotplug = 1, + .has_overlay = 1, +}; + +static const struct intel_device_info intel_i965gm_info = { + .gen = 4, .is_crestline = 1, + .is_mobile = 1, .has_fbc = 1, .has_hotplug = 1, + .has_overlay = 1, + .supports_tv = 1, +}; + +static const struct intel_device_info intel_g33_info = { + .gen = 3, .is_g33 = 1, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_overlay = 1, +}; + +static const struct intel_device_info intel_g45_info = { + .gen = 4, .is_g4x = 1, .need_gfx_hws = 1, + .has_pipe_cxsr = 1, .has_hotplug = 1, + .has_bsd_ring = 1, +}; + +static const struct intel_device_info intel_gm45_info = { + .gen = 4, .is_g4x = 1, + .is_mobile = 1, .need_gfx_hws = 1, .has_fbc = 1, + .has_pipe_cxsr = 1, .has_hotplug = 1, + .supports_tv = 1, + .has_bsd_ring = 1, +}; + +static const struct intel_device_info intel_pineview_info = { + .gen = 3, .is_g33 = 1, .is_pineview = 1, .is_mobile = 1, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_overlay = 1, +}; + +static const struct intel_device_info intel_ironlake_d_info = { + .gen = 5, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_bsd_ring = 1, +}; + +static const struct intel_device_info intel_ironlake_m_info = { + .gen = 5, .is_mobile = 1, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_fbc = 1, + .has_bsd_ring = 1, +}; + +static const struct intel_device_info intel_sandybridge_d_info = { + .gen = 6, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_bsd_ring = 1, + .has_blt_ring = 1, + .has_llc = 1, + .has_force_wake = 1, +}; + +static const struct intel_device_info intel_sandybridge_m_info = { + .gen = 6, .is_mobile = 1, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_fbc = 1, + .has_bsd_ring = 1, + .has_blt_ring = 1, + .has_llc = 1, + .has_force_wake = 1, +}; + +static const struct intel_device_info intel_ivybridge_d_info = { + .is_ivybridge = 1, .gen = 7, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_bsd_ring = 1, + .has_blt_ring = 1, + .has_llc = 1, + .has_force_wake = 1, +}; + +static const struct intel_device_info intel_ivybridge_m_info = { + .is_ivybridge = 1, .gen = 7, .is_mobile = 1, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_fbc = 0, /* FBC is not enabled on Ivybridge mobile yet */ + .has_bsd_ring = 1, + .has_blt_ring = 1, + .has_llc = 1, + .has_force_wake = 1, +}; + +static const struct intel_device_info intel_valleyview_m_info = { + .gen = 7, .is_mobile = 1, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_fbc = 0, + .has_bsd_ring = 1, + .has_blt_ring = 1, + .is_valleyview = 1, +}; + +static const struct intel_device_info intel_valleyview_d_info = { + .gen = 7, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_fbc = 0, + .has_bsd_ring = 1, + .has_blt_ring = 1, + .is_valleyview = 1, +}; + +static const struct intel_device_info intel_haswell_d_info = { + .is_haswell = 1, .gen = 7, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_bsd_ring = 1, + .has_blt_ring = 1, + .has_llc = 1, + .has_force_wake = 1, +}; + +static const struct intel_device_info intel_haswell_m_info = { + .is_haswell = 1, .gen = 7, .is_mobile = 1, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_bsd_ring = 1, + .has_blt_ring = 1, + .has_llc = 1, + .has_force_wake = 1, +}; + +static const struct pci_device_id pciidlist[] = { /* aka */ + INTEL_VGA_DEVICE(0x0402, &intel_haswell_d_info), /* GT1 desktop */ + INTEL_VGA_DEVICE(0x0412, &intel_haswell_d_info), /* GT2 desktop */ + INTEL_VGA_DEVICE(0x0422, &intel_haswell_d_info), /* GT2 desktop */ + INTEL_VGA_DEVICE(0x040a, &intel_haswell_d_info), /* GT1 server */ + INTEL_VGA_DEVICE(0x041a, &intel_haswell_d_info), /* GT2 server */ + INTEL_VGA_DEVICE(0x042a, &intel_haswell_d_info), /* GT2 server */ + INTEL_VGA_DEVICE(0x0406, &intel_haswell_m_info), /* GT1 mobile */ + INTEL_VGA_DEVICE(0x0416, &intel_haswell_m_info), /* GT2 mobile */ + INTEL_VGA_DEVICE(0x0426, &intel_haswell_m_info), /* GT2 mobile */ + INTEL_VGA_DEVICE(0x0C02, &intel_haswell_d_info), /* SDV GT1 desktop */ + INTEL_VGA_DEVICE(0x0C12, &intel_haswell_d_info), /* SDV GT2 desktop */ + INTEL_VGA_DEVICE(0x0C22, &intel_haswell_d_info), /* SDV GT2 desktop */ + INTEL_VGA_DEVICE(0x0C0A, &intel_haswell_d_info), /* SDV GT1 server */ + INTEL_VGA_DEVICE(0x0C1A, &intel_haswell_d_info), /* SDV GT2 server */ + INTEL_VGA_DEVICE(0x0C2A, &intel_haswell_d_info), /* SDV GT2 server */ + INTEL_VGA_DEVICE(0x0C06, &intel_haswell_m_info), /* SDV GT1 mobile */ + INTEL_VGA_DEVICE(0x0C16, &intel_haswell_m_info), /* SDV GT2 mobile */ + INTEL_VGA_DEVICE(0x0C26, &intel_haswell_m_info), /* SDV GT2 mobile */ + INTEL_VGA_DEVICE(0x0A02, &intel_haswell_d_info), /* ULT GT1 desktop */ + INTEL_VGA_DEVICE(0x0A12, &intel_haswell_d_info), /* ULT GT2 desktop */ + INTEL_VGA_DEVICE(0x0A22, &intel_haswell_d_info), /* ULT GT2 desktop */ + INTEL_VGA_DEVICE(0x0A0A, &intel_haswell_d_info), /* ULT GT1 server */ + INTEL_VGA_DEVICE(0x0A1A, &intel_haswell_d_info), /* ULT GT2 server */ + INTEL_VGA_DEVICE(0x0A2A, &intel_haswell_d_info), /* ULT GT2 server */ + INTEL_VGA_DEVICE(0x0A06, &intel_haswell_m_info), /* ULT GT1 mobile */ + INTEL_VGA_DEVICE(0x0A16, &intel_haswell_m_info), /* ULT GT2 mobile */ + INTEL_VGA_DEVICE(0x0A26, &intel_haswell_m_info), /* ULT GT2 mobile */ + INTEL_VGA_DEVICE(0x0D12, &intel_haswell_d_info), /* CRW GT1 desktop */ + INTEL_VGA_DEVICE(0x0D22, &intel_haswell_d_info), /* CRW GT2 desktop */ + INTEL_VGA_DEVICE(0x0D32, &intel_haswell_d_info), /* CRW GT2 desktop */ + INTEL_VGA_DEVICE(0x0D1A, &intel_haswell_d_info), /* CRW GT1 server */ + INTEL_VGA_DEVICE(0x0D2A, &intel_haswell_d_info), /* CRW GT2 server */ + INTEL_VGA_DEVICE(0x0D3A, &intel_haswell_d_info), /* CRW GT2 server */ + INTEL_VGA_DEVICE(0x0D16, &intel_haswell_m_info), /* CRW GT1 mobile */ + INTEL_VGA_DEVICE(0x0D26, &intel_haswell_m_info), /* CRW GT2 mobile */ + INTEL_VGA_DEVICE(0x0D36, &intel_haswell_m_info), /* CRW GT2 mobile */ + {0, 0, 0} +}; + +#if defined(CONFIG_DRM_I915_KMS) +MODULE_DEVICE_TABLE(pci, pciidlist); +#endif + +void intel_detect_pch(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct pci_dev *pch; + + /* + * The reason to probe ISA bridge instead of Dev31:Fun0 is to + * make graphics device passthrough work easy for VMM, that only + * need to expose ISA bridge to let driver know the real hardware + * underneath. This is a requirement from virtualization team. + */ + pch = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, NULL); + if (pch) { + if (pch->vendor == PCI_VENDOR_ID_INTEL) { + unsigned short id; + id = pch->device & INTEL_PCH_DEVICE_ID_MASK; + dev_priv->pch_id = id; + + if (id == INTEL_PCH_IBX_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_IBX; + dev_priv->num_pch_pll = 2; + DRM_DEBUG_KMS("Found Ibex Peak PCH\n"); + WARN_ON(!IS_GEN5(dev)); + } else if (id == INTEL_PCH_CPT_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_CPT; + dev_priv->num_pch_pll = 2; + DRM_DEBUG_KMS("Found CougarPoint PCH\n"); + WARN_ON(!(IS_GEN6(dev) || IS_IVYBRIDGE(dev))); + } else if (id == INTEL_PCH_PPT_DEVICE_ID_TYPE) { + /* PantherPoint is CPT compatible */ + dev_priv->pch_type = PCH_CPT; + dev_priv->num_pch_pll = 2; + DRM_DEBUG_KMS("Found PatherPoint PCH\n"); + WARN_ON(!(IS_GEN6(dev) || IS_IVYBRIDGE(dev))); + } else if (id == INTEL_PCH_LPT_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_LPT; + dev_priv->num_pch_pll = 0; + DRM_DEBUG_KMS("Found LynxPoint PCH\n"); + WARN_ON(!IS_HASWELL(dev)); + } else if (id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_LPT; + dev_priv->num_pch_pll = 0; + DRM_DEBUG_KMS("Found LynxPoint LP PCH\n"); + WARN_ON(!IS_HASWELL(dev)); + } + BUG_ON(dev_priv->num_pch_pll > I915_NUM_PLLS); + } + pci_dev_put(pch); + } +} + +bool i915_semaphore_is_enabled(struct drm_device *dev) +{ + if (INTEL_INFO(dev)->gen < 6) + return 0; + + if (i915_semaphores >= 0) + return i915_semaphores; + +#ifdef CONFIG_INTEL_IOMMU + /* Enable semaphores on SNB when IO remapping is off */ + if (INTEL_INFO(dev)->gen == 6 && intel_iommu_gfx_mapped) + return false; +#endif + + return 1; +} + +static int i915_drm_freeze(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + drm_kms_helper_poll_disable(dev); + + pci_save_state(dev->pdev); + + /* If KMS is active, we do the leavevt stuff here */ + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + int error = i915_gem_idle(dev); + if (error) { + dev_err(&dev->pdev->dev, + "GEM idle failed, resume might fail\n"); + return error; + } + + cancel_delayed_work_sync(&dev_priv->rps.delayed_resume_work); + + intel_modeset_disable(dev); + + drm_irq_uninstall(dev); + } + + i915_save_state(dev); + + intel_opregion_fini(dev); + + /* Modeset on resume, not lid events */ + dev_priv->modeset_on_lid = 0; + + console_lock(); + intel_fbdev_set_suspend(dev, 1); + console_unlock(); + + return 0; +} + +int i915_suspend(struct drm_device *dev, pm_message_t state) +{ + int error; + + if (!dev || !dev->dev_private) { + DRM_ERROR("dev: %p\n", dev); + DRM_ERROR("DRM not initialized, aborting suspend.\n"); + return -ENODEV; + } + + if (state.event == PM_EVENT_PRETHAW) + return 0; + + + if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) + return 0; + + error = i915_drm_freeze(dev); + if (error) + return error; + + if (state.event == PM_EVENT_SUSPEND) { + /* Shut down the device */ + pci_disable_device(dev->pdev); + pci_set_power_state(dev->pdev, PCI_D3hot); + } + + return 0; +} + +void intel_console_resume(struct work_struct *work) +{ + struct drm_i915_private *dev_priv = + container_of(work, struct drm_i915_private, + console_resume_work); + struct drm_device *dev = dev_priv->dev; + + console_lock(); + intel_fbdev_set_suspend(dev, 0); + console_unlock(); +} + +static int __i915_drm_thaw(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int error = 0; + + i915_restore_state(dev); + intel_opregion_setup(dev); + + /* KMS EnterVT equivalent */ + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + intel_init_pch_refclk(dev); + + mutex_lock(&dev->struct_mutex); + dev_priv->mm.suspended = 0; + + error = i915_gem_init_hw(dev); + mutex_unlock(&dev->struct_mutex); + + intel_modeset_init_hw(dev); + intel_modeset_setup_hw_state(dev); + drm_irq_install(dev); + } + + intel_opregion_init(dev); + + dev_priv->modeset_on_lid = 0; + + /* + * The console lock can be pretty contented on resume due + * to all the printk activity. Try to keep it out of the hot + * path of resume if possible. + */ + if (console_trylock()) { + intel_fbdev_set_suspend(dev, 0); + console_unlock(); + } else { + schedule_work(&dev_priv->console_resume_work); + } + + return error; +} + +static int i915_drm_thaw(struct drm_device *dev) +{ + int error = 0; + + intel_gt_reset(dev); + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + mutex_lock(&dev->struct_mutex); + i915_gem_restore_gtt_mappings(dev); + mutex_unlock(&dev->struct_mutex); + } + + __i915_drm_thaw(dev); + + return error; +} + +int i915_resume(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) + return 0; + + if (pci_enable_device(dev->pdev)) + return -EIO; + + pci_set_master(dev->pdev); + + intel_gt_reset(dev); + + /* + * Platforms with opregion should have sane BIOS, older ones (gen3 and + * earlier) need this since the BIOS might clear all our scratch PTEs. + */ + if (drm_core_check_feature(dev, DRIVER_MODESET) && + !dev_priv->opregion.header) { + mutex_lock(&dev->struct_mutex); + i915_gem_restore_gtt_mappings(dev); + mutex_unlock(&dev->struct_mutex); + } + + ret = __i915_drm_thaw(dev); + if (ret) + return ret; + + drm_kms_helper_poll_enable(dev); + return 0; +} + +static int i8xx_do_reset(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (IS_I85X(dev)) + return -ENODEV; + + I915_WRITE(D_STATE, I915_READ(D_STATE) | DSTATE_GFX_RESET_I830); + POSTING_READ(D_STATE); + + if (IS_I830(dev) || IS_845G(dev)) { + I915_WRITE(DEBUG_RESET_I830, + DEBUG_RESET_DISPLAY | + DEBUG_RESET_RENDER | + DEBUG_RESET_FULL); + POSTING_READ(DEBUG_RESET_I830); + msleep(1); + + I915_WRITE(DEBUG_RESET_I830, 0); + POSTING_READ(DEBUG_RESET_I830); + } + + msleep(1); + + I915_WRITE(D_STATE, I915_READ(D_STATE) & ~DSTATE_GFX_RESET_I830); + POSTING_READ(D_STATE); + + return 0; +} + +static int i965_reset_complete(struct drm_device *dev) +{ + u8 gdrst; + pci_read_config_byte(dev->pdev, I965_GDRST, &gdrst); + return (gdrst & GRDOM_RESET_ENABLE) == 0; +} + +static int i965_do_reset(struct drm_device *dev) +{ + int ret; + u8 gdrst; + + /* + * Set the domains we want to reset (GRDOM/bits 2 and 3) as + * well as the reset bit (GR/bit 0). Setting the GR bit + * triggers the reset; when done, the hardware will clear it. + */ + pci_read_config_byte(dev->pdev, I965_GDRST, &gdrst); + pci_write_config_byte(dev->pdev, I965_GDRST, + gdrst | GRDOM_RENDER | + GRDOM_RESET_ENABLE); + ret = wait_for(i965_reset_complete(dev), 500); + if (ret) + return ret; + + /* We can't reset render&media without also resetting display ... */ + pci_read_config_byte(dev->pdev, I965_GDRST, &gdrst); + pci_write_config_byte(dev->pdev, I965_GDRST, + gdrst | GRDOM_MEDIA | + GRDOM_RESET_ENABLE); + + return wait_for(i965_reset_complete(dev), 500); +} + +static int ironlake_do_reset(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 gdrst; + int ret; + + gdrst = I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR); + I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR, + gdrst | GRDOM_RENDER | GRDOM_RESET_ENABLE); + ret = wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500); + if (ret) + return ret; + + /* We can't reset render&media without also resetting display ... */ + gdrst = I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR); + I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR, + gdrst | GRDOM_MEDIA | GRDOM_RESET_ENABLE); + return wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500); +} + +static int gen6_do_reset(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + unsigned long irqflags; + + /* Hold gt_lock across reset to prevent any register access + * with forcewake not set correctly + */ + spin_lock_irqsave(&dev_priv->gt_lock, irqflags); + + /* Reset the chip */ + + /* GEN6_GDRST is not in the gt power well, no need to check + * for fifo space for the write or forcewake the chip for + * the read + */ + I915_WRITE_NOTRACE(GEN6_GDRST, GEN6_GRDOM_FULL); + + /* Spin waiting for the device to ack the reset request */ + ret = wait_for((I915_READ_NOTRACE(GEN6_GDRST) & GEN6_GRDOM_FULL) == 0, 500); + + /* If reset with a user forcewake, try to restore, otherwise turn it off */ + if (dev_priv->forcewake_count) + dev_priv->gt.force_wake_get(dev_priv); + else + dev_priv->gt.force_wake_put(dev_priv); + + /* Restore fifo count */ + dev_priv->gt_fifo_count = I915_READ_NOTRACE(GT_FIFO_FREE_ENTRIES); + + spin_unlock_irqrestore(&dev_priv->gt_lock, irqflags); + return ret; +} + +int intel_gpu_reset(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret = -ENODEV; + + switch (INTEL_INFO(dev)->gen) { + case 7: + case 6: + ret = gen6_do_reset(dev); + break; + case 5: + ret = ironlake_do_reset(dev); + break; + case 4: + ret = i965_do_reset(dev); + break; + case 2: + ret = i8xx_do_reset(dev); + break; + } + + /* Also reset the gpu hangman. */ + if (dev_priv->stop_rings) { + DRM_DEBUG("Simulated gpu hang, resetting stop_rings\n"); + dev_priv->stop_rings = 0; + if (ret == -ENODEV) { + DRM_ERROR("Reset not implemented, but ignoring " + "error for simulated gpu hangs\n"); + ret = 0; + } + } + + return ret; +} + +/** + * i915_reset - reset chip after a hang + * @dev: drm device to reset + * + * Reset the chip. Useful if a hang is detected. Returns zero on successful + * reset or otherwise an error code. + * + * Procedure is fairly simple: + * - reset the chip using the reset reg + * - re-init context state + * - re-init hardware status page + * - re-init ring buffer + * - re-init interrupt state + * - re-init display + */ +int i915_reset(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + if (!i915_try_reset) + return 0; + + mutex_lock(&dev->struct_mutex); + + i915_gem_reset(dev); + + ret = -ENODEV; + if (get_seconds() - dev_priv->last_gpu_reset < 5) + DRM_ERROR("GPU hanging too fast, declaring wedged!\n"); + else + ret = intel_gpu_reset(dev); + + dev_priv->last_gpu_reset = get_seconds(); + if (ret) { + DRM_ERROR("Failed to reset chip.\n"); + mutex_unlock(&dev->struct_mutex); + return ret; + } + + /* Ok, now get things going again... */ + + /* + * Everything depends on having the GTT running, so we need to start + * there. Fortunately we don't need to do this unless we reset the + * chip at a PCI level. + * + * Next we need to restore the context, but we don't use those + * yet either... + * + * Ring buffer needs to be re-initialized in the KMS case, or if X + * was running at the time of the reset (i.e. we weren't VT + * switched away). + */ + if (drm_core_check_feature(dev, DRIVER_MODESET) || + !dev_priv->mm.suspended) { + struct intel_ring_buffer *ring; + int i; + + dev_priv->mm.suspended = 0; + + i915_gem_init_swizzling(dev); + + for_each_ring(ring, dev_priv, i) + ring->init(ring); + + i915_gem_context_init(dev); + i915_gem_init_ppgtt(dev); + + /* + * It would make sense to re-init all the other hw state, at + * least the rps/rc6/emon init done within modeset_init_hw. For + * some unknown reason, this blows up my ilk, so don't. + */ + + mutex_unlock(&dev->struct_mutex); + + drm_irq_uninstall(dev); + drm_irq_install(dev); + } else { + mutex_unlock(&dev->struct_mutex); + } + + return 0; +} + +static int __devinit +i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +{ + int ret; + struct intel_device_info *intel_info = + (struct intel_device_info *) ent->driver_data; + + /* Only bind to function 0 of the device. Early generations + * used function 1 as a placeholder for multi-head. This causes + * us confusion instead, especially on the systems where both + * functions have the same PCI-ID! + */ + if (PCI_FUNC(pdev->devfn)) + return -ENODEV; + + /* We've managed to ship a kms-enabled ddx that shipped with an XvMC + * implementation for gen3 (and only gen3) that used legacy drm maps + * (gasp!) to share buffers between X and the client. Hence we need to + * keep around the fake agp stuff for gen3, even when kms is enabled. */ + if (intel_info->gen != 3) { + driver.driver_features &= + ~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP); + } else if (!intel_agp_enabled) { + DRM_ERROR("drm/i915 can't work without intel_agp module!\n"); + return -ENODEV; + } + + ret = drm_get_pci_dev(pdev, ent, &driver); + + if (!ret) + i915_hsw_enabled = 1; + return ret; +} + +static void +i915_pci_remove(struct pci_dev *pdev) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + + drm_put_dev(dev); +} + +static int i915_pm_suspend(struct device *dev) +{ + struct pci_dev *pdev = to_pci_dev(dev); + struct drm_device *drm_dev = pci_get_drvdata(pdev); + int error; + + if (!drm_dev || !drm_dev->dev_private) { + dev_err(dev, "DRM not initialized, aborting suspend.\n"); + return -ENODEV; + } + + if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF) + return 0; + + error = i915_drm_freeze(drm_dev); + if (error) + return error; + + pci_disable_device(pdev); + pci_set_power_state(pdev, PCI_D3hot); + + return 0; +} + +static int i915_pm_resume(struct device *dev) +{ + struct pci_dev *pdev = to_pci_dev(dev); + struct drm_device *drm_dev = pci_get_drvdata(pdev); + + return i915_resume(drm_dev); +} + +static int i915_pm_freeze(struct device *dev) +{ + struct pci_dev *pdev = to_pci_dev(dev); + struct drm_device *drm_dev = pci_get_drvdata(pdev); + + if (!drm_dev || !drm_dev->dev_private) { + dev_err(dev, "DRM not initialized, aborting suspend.\n"); + return -ENODEV; + } + + return i915_drm_freeze(drm_dev); +} + +static int i915_pm_thaw(struct device *dev) +{ + struct pci_dev *pdev = to_pci_dev(dev); + struct drm_device *drm_dev = pci_get_drvdata(pdev); + + return i915_drm_thaw(drm_dev); +} + +static int i915_pm_poweroff(struct device *dev) +{ + struct pci_dev *pdev = to_pci_dev(dev); + struct drm_device *drm_dev = pci_get_drvdata(pdev); + + return i915_drm_freeze(drm_dev); +} + +static const struct dev_pm_ops i915_pm_ops = { + .suspend = i915_pm_suspend, + .resume = i915_pm_resume, + .freeze = i915_pm_freeze, + .thaw = i915_pm_thaw, + .poweroff = i915_pm_poweroff, + .restore = i915_pm_resume, +}; + +static const struct vm_operations_struct i915_gem_vm_ops = { + .fault = i915_gem_fault, + .open = drm_gem_vm_open, + .close = drm_gem_vm_close, +}; + +static const struct file_operations i915_driver_fops = { + .owner = THIS_MODULE, + .open = drm_open, + .release = drm_release, + .unlocked_ioctl = drm_ioctl, + .mmap = drm_gem_mmap, + .poll = drm_poll, + .fasync = drm_fasync, + .read = drm_read, +#ifdef CONFIG_COMPAT + .compat_ioctl = i915_compat_ioctl, +#endif + .llseek = noop_llseek, +}; + +static struct drm_driver driver = { + /* Don't use MTRRs here; the Xserver or userspace app should + * deal with them for Intel hardware. + */ + .driver_features = + DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | /* DRIVER_USE_MTRR |*/ + DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM | DRIVER_PRIME, + .load = i915_driver_load, + .unload = i915_driver_unload, + .open = i915_driver_open, + .lastclose = i915_driver_lastclose, + .preclose = i915_driver_preclose, + .postclose = i915_driver_postclose, + + /* Used in place of i915_pm_ops for non-DRIVER_MODESET */ + .suspend = i915_suspend, + .resume = i915_resume, + + .device_is_agp = i915_driver_device_is_agp, + .master_create = i915_master_create, + .master_destroy = i915_master_destroy, +#if defined(CONFIG_DEBUG_FS) + .debugfs_init = i915_debugfs_init, + .debugfs_cleanup = i915_debugfs_cleanup, +#endif + .gem_init_object = i915_gem_init_object, + .gem_free_object = i915_gem_free_object, + .gem_vm_ops = &i915_gem_vm_ops, + + .prime_handle_to_fd = drm_gem_prime_handle_to_fd, + .prime_fd_to_handle = drm_gem_prime_fd_to_handle, + .gem_prime_export = i915_gem_prime_export, + .gem_prime_import = i915_gem_prime_import, + + .dumb_create = i915_gem_dumb_create, + .dumb_map_offset = i915_gem_mmap_gtt, + .dumb_destroy = i915_gem_dumb_destroy, + .ioctls = i915_ioctls, + .fops = &i915_driver_fops, + .name = DRIVER_NAME, + .desc = DRIVER_DESC, + .date = DRIVER_DATE, + .major = DRIVER_MAJOR, + .minor = DRIVER_MINOR, + .patchlevel = DRIVER_PATCHLEVEL, +}; + +static struct pci_driver i915_pci_driver = { + .name = DRIVER_NAME, + .id_table = pciidlist, + .probe = i915_pci_probe, + .remove = i915_pci_remove, + .driver.pm = &i915_pm_ops, +}; + +static int __init i915_init(void) +{ + driver.num_ioctls = i915_max_ioctl; + + /* + * If CONFIG_DRM_I915_KMS is set, default to KMS unless + * explicitly disabled with the module pararmeter. + * + * Otherwise, just follow the parameter (defaulting to off). + * + * Allow optional vga_text_mode_force boot option to override + * the default behavior. + */ +#if defined(CONFIG_DRM_I915_KMS) + if (i915_modeset != 0) + driver.driver_features |= DRIVER_MODESET; +#endif + if (i915_modeset == 1) + driver.driver_features |= DRIVER_MODESET; + +#ifdef CONFIG_VGA_CONSOLE + if (vgacon_text_force() && i915_modeset == -1) + driver.driver_features &= ~DRIVER_MODESET; +#endif + + if (!(driver.driver_features & DRIVER_MODESET)) + driver.get_vblank_timestamp = NULL; + + return drm_pci_init(&driver, &i915_pci_driver); +} + +static void __exit i915_exit(void) +{ + drm_pci_exit(&driver, &i915_pci_driver); +} + +module_init(i915_init); +module_exit(i915_exit); + +MODULE_AUTHOR(DRIVER_AUTHOR); +MODULE_DESCRIPTION(DRIVER_DESC); +MODULE_LICENSE("GPL and additional rights"); + +/* We give fast paths for the really cool registers */ +#define NEEDS_FORCE_WAKE(dev_priv, reg) \ + ((HAS_FORCE_WAKE((dev_priv)->dev)) && \ + ((reg) < 0x40000) && \ + ((reg) != FORCEWAKE)) + +static bool IS_DISPLAYREG(u32 reg) +{ + /* + * This should make it easier to transition modules over to the + * new register block scheme, since we can do it incrementally. + */ + if (reg >= VLV_DISPLAY_BASE) + return false; + + if (reg >= RENDER_RING_BASE && + reg < RENDER_RING_BASE + 0xff) + return false; + if (reg >= GEN6_BSD_RING_BASE && + reg < GEN6_BSD_RING_BASE + 0xff) + return false; + if (reg >= BLT_RING_BASE && + reg < BLT_RING_BASE + 0xff) + return false; + + if (reg == PGTBL_ER) + return false; + + if (reg >= IPEIR_I965 && + reg < HWSTAM) + return false; + + if (reg == MI_MODE) + return false; + + if (reg == GFX_MODE_GEN7) + return false; + + if (reg == RENDER_HWS_PGA_GEN7 || + reg == BSD_HWS_PGA_GEN7 || + reg == BLT_HWS_PGA_GEN7) + return false; + + if (reg == GEN6_BSD_SLEEP_PSMI_CONTROL || + reg == GEN6_BSD_RNCID) + return false; + + if (reg == GEN6_BLITTER_ECOSKPD) + return false; + + if (reg >= 0x4000c && + reg <= 0x4002c) + return false; + + if (reg >= 0x4f000 && + reg <= 0x4f08f) + return false; + + if (reg >= 0x4f100 && + reg <= 0x4f11f) + return false; + + if (reg >= VLV_MASTER_IER && + reg <= GEN6_PMIER) + return false; + + if (reg >= FENCE_REG_SANDYBRIDGE_0 && + reg < (FENCE_REG_SANDYBRIDGE_0 + (16*8))) + return false; + + if (reg >= VLV_IIR_RW && + reg <= VLV_ISR) + return false; + + if (reg == FORCEWAKE_VLV || + reg == FORCEWAKE_ACK_VLV) + return false; + + if (reg == GEN6_GDRST) + return false; + + switch (reg) { + case _3D_CHICKEN3: + case IVB_CHICKEN3: + case GEN7_COMMON_SLICE_CHICKEN1: + case GEN7_L3CNTLREG1: + case GEN7_L3_CHICKEN_MODE_REGISTER: + case GEN7_ROW_CHICKEN2: + case GEN7_L3SQCREG4: + case GEN7_SQ_CHICKEN_MBCUNIT_CONFIG: + case GEN7_HALF_SLICE_CHICKEN1: + case GEN6_MBCTL: + case GEN6_UCGCTL2: + return false; + default: + break; + } + + return true; +} + +static void +ilk_dummy_write(struct drm_i915_private *dev_priv) +{ + /* WaIssueDummyWriteToWakeupFromRC6: Issue a dummy write to wake up the + * chip from rc6 before touching it for real. MI_MODE is masked, hence + * harmless to write 0 into. */ + I915_WRITE_NOTRACE(MI_MODE, 0); +} + +#define __i915_read(x, y) \ +u##x i915_read##x(struct drm_i915_private *dev_priv, u32 reg) { \ + u##x val = 0; \ + if (IS_GEN5(dev_priv->dev)) \ + ilk_dummy_write(dev_priv); \ + if (NEEDS_FORCE_WAKE((dev_priv), (reg))) { \ + unsigned long irqflags; \ + spin_lock_irqsave(&dev_priv->gt_lock, irqflags); \ + if (dev_priv->forcewake_count == 0) \ + dev_priv->gt.force_wake_get(dev_priv); \ + val = read##y(dev_priv->regs + reg); \ + if (dev_priv->forcewake_count == 0) \ + dev_priv->gt.force_wake_put(dev_priv); \ + spin_unlock_irqrestore(&dev_priv->gt_lock, irqflags); \ + } else if (IS_VALLEYVIEW(dev_priv->dev) && IS_DISPLAYREG(reg)) { \ + val = read##y(dev_priv->regs + reg + 0x180000); \ + } else { \ + val = read##y(dev_priv->regs + reg); \ + } \ + trace_i915_reg_rw(false, reg, val, sizeof(val)); \ + return val; \ +} + +__i915_read(8, b) +__i915_read(16, w) +__i915_read(32, l) +__i915_read(64, q) +#undef __i915_read + +#define __i915_write(x, y) \ +void i915_write##x(struct drm_i915_private *dev_priv, u32 reg, u##x val) { \ + u32 __fifo_ret = 0; \ + trace_i915_reg_rw(true, reg, val, sizeof(val)); \ + if (NEEDS_FORCE_WAKE((dev_priv), (reg))) { \ + __fifo_ret = __gen6_gt_wait_for_fifo(dev_priv); \ + } \ + if (IS_GEN5(dev_priv->dev)) \ + ilk_dummy_write(dev_priv); \ + if (IS_HASWELL(dev_priv->dev) && (I915_READ_NOTRACE(GEN7_ERR_INT) & ERR_INT_MMIO_UNCLAIMED)) { \ + DRM_ERROR("Unknown unclaimed register before writing to %x\n", reg); \ + I915_WRITE_NOTRACE(GEN7_ERR_INT, ERR_INT_MMIO_UNCLAIMED); \ + } \ + if (IS_VALLEYVIEW(dev_priv->dev) && IS_DISPLAYREG(reg)) { \ + write##y(val, dev_priv->regs + reg + 0x180000); \ + } else { \ + write##y(val, dev_priv->regs + reg); \ + } \ + if (unlikely(__fifo_ret)) { \ + gen6_gt_check_fifodbg(dev_priv); \ + } \ + if (IS_HASWELL(dev_priv->dev) && (I915_READ_NOTRACE(GEN7_ERR_INT) & ERR_INT_MMIO_UNCLAIMED)) { \ + DRM_ERROR("Unclaimed write to %x\n", reg); \ + writel(ERR_INT_MMIO_UNCLAIMED, dev_priv->regs + GEN7_ERR_INT); \ + } \ +} +__i915_write(8, b) +__i915_write(16, w) +__i915_write(32, l) +__i915_write(64, q) +#undef __i915_write + +static const struct register_whitelist { + uint64_t offset; + uint32_t size; + uint32_t gen_bitmask; /* support gens, 0x10 for 4, 0x30 for 4 and 5, etc. */ +} whitelist[] = { + { RING_TIMESTAMP(RENDER_RING_BASE), 8, 0xF0 }, +}; + +int i915_reg_read_ioctl(struct drm_device *dev, + void *data, struct drm_file *file) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_reg_read *reg = data; + struct register_whitelist const *entry = whitelist; + int i; + + for (i = 0; i < ARRAY_SIZE(whitelist); i++, entry++) { + if (entry->offset == reg->offset && + (1 << INTEL_INFO(dev)->gen & entry->gen_bitmask)) + break; + } + + if (i == ARRAY_SIZE(whitelist)) + return -EINVAL; + + switch (entry->size) { + case 8: + reg->val = I915_READ64(reg->offset); + break; + case 4: + reg->val = I915_READ(reg->offset); + break; + case 2: + reg->val = I915_READ16(reg->offset); + break; + case 1: + reg->val = I915_READ8(reg->offset); + break; + default: + WARN_ON(1); + return -EINVAL; + } + + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_drv.h +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_drv.h @@ -0,0 +1,1735 @@ +/* i915_drv.h -- Private header for the I915 driver -*- linux-c -*- + */ +/* + * + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _I915_DRV_H_ +#define _I915_DRV_H_ + +#include "i915_reg.h" +#include "intel_bios.h" +#include "intel_ringbuffer.h" +#include +#include +#include +#include +#include +#include +#include + +/* General customization: + */ + +#define DRIVER_AUTHOR "Tungsten Graphics, Inc." + +#define DRIVER_NAME "i915" +#define DRIVER_DESC "Intel Graphics" +#define DRIVER_DATE "20080730" + +enum pipe { + PIPE_A = 0, + PIPE_B, + PIPE_C, + I915_MAX_PIPES +}; +#define pipe_name(p) ((p) + 'A') + +enum transcoder { + TRANSCODER_A = 0, + TRANSCODER_B, + TRANSCODER_C, + TRANSCODER_EDP = 0xF, +}; +#define transcoder_name(t) ((t) + 'A') + +enum plane { + PLANE_A = 0, + PLANE_B, + PLANE_C, +}; +#define plane_name(p) ((p) + 'A') + +enum port { + PORT_A = 0, + PORT_B, + PORT_C, + PORT_D, + PORT_E, + I915_MAX_PORTS +}; +#define port_name(p) ((p) + 'A') + +#define I915_GEM_GPU_DOMAINS (~(I915_GEM_DOMAIN_CPU | I915_GEM_DOMAIN_GTT)) + +#define for_each_pipe(p) for ((p) = 0; (p) < dev_priv->num_pipe; (p)++) + +#define for_each_encoder_on_crtc(dev, __crtc, intel_encoder) \ + list_for_each_entry((intel_encoder), &(dev)->mode_config.encoder_list, base.head) \ + if ((intel_encoder)->base.crtc == (__crtc)) + +struct intel_pch_pll { + int refcount; /* count of number of CRTCs sharing this PLL */ + int active; /* count of number of active CRTCs (i.e. DPMS on) */ + bool on; /* is the PLL actually active? Disabled during modeset */ + int pll_reg; + int fp0_reg; + int fp1_reg; +}; +#define I915_NUM_PLLS 2 + +struct intel_ddi_plls { + int spll_refcount; + int wrpll1_refcount; + int wrpll2_refcount; +}; + +/* Interface history: + * + * 1.1: Original. + * 1.2: Add Power Management + * 1.3: Add vblank support + * 1.4: Fix cmdbuffer path, add heap destroy + * 1.5: Add vblank pipe configuration + * 1.6: - New ioctl for scheduling buffer swaps on vertical blank + * - Support vertical blank on secondary display pipe + */ +#define DRIVER_MAJOR 1 +#define DRIVER_MINOR 6 +#define DRIVER_PATCHLEVEL 0 + +#define WATCH_COHERENCY 0 +#define WATCH_LISTS 0 +#define WATCH_GTT 0 + +#define I915_GEM_PHYS_CURSOR_0 1 +#define I915_GEM_PHYS_CURSOR_1 2 +#define I915_GEM_PHYS_OVERLAY_REGS 3 +#define I915_MAX_PHYS_OBJECT (I915_GEM_PHYS_OVERLAY_REGS) + +struct drm_i915_gem_phys_object { + int id; + struct page **page_list; + drm_dma_handle_t *handle; + struct drm_i915_gem_object *cur_obj; +}; + +struct opregion_header; +struct opregion_acpi; +struct opregion_swsci; +struct opregion_asle; +struct drm_i915_private; + +struct intel_opregion { + struct opregion_header __iomem *header; + struct opregion_acpi __iomem *acpi; + struct opregion_swsci __iomem *swsci; + struct opregion_asle __iomem *asle; + void __iomem *vbt; + u32 __iomem *lid_state; +}; +#define OPREGION_SIZE (8*1024) + +struct intel_overlay; +struct intel_overlay_error_state; + +struct drm_i915_master_private { + drm_local_map_t *sarea; + struct _drm_i915_sarea *sarea_priv; +}; +#define I915_FENCE_REG_NONE -1 +#define I915_MAX_NUM_FENCES 16 +/* 16 fences + sign bit for FENCE_REG_NONE */ +#define I915_MAX_NUM_FENCE_BITS 5 + +struct drm_i915_fence_reg { + struct list_head lru_list; + struct drm_i915_gem_object *obj; + int pin_count; +}; + +struct sdvo_device_mapping { + u8 initialized; + u8 dvo_port; + u8 slave_addr; + u8 dvo_wiring; + u8 i2c_pin; + u8 ddc_pin; +}; + +struct intel_display_error_state; + +struct drm_i915_error_state { + struct kref ref; + u32 eir; + u32 pgtbl_er; + u32 ier; + u32 ccid; + bool waiting[I915_NUM_RINGS]; + u32 pipestat[I915_MAX_PIPES]; + u32 tail[I915_NUM_RINGS]; + u32 head[I915_NUM_RINGS]; + u32 ipeir[I915_NUM_RINGS]; + u32 ipehr[I915_NUM_RINGS]; + u32 instdone[I915_NUM_RINGS]; + u32 acthd[I915_NUM_RINGS]; + u32 semaphore_mboxes[I915_NUM_RINGS][I915_NUM_RINGS - 1]; + u32 rc_psmi[I915_NUM_RINGS]; /* sleep state */ + /* our own tracking of ring head and tail */ + u32 cpu_ring_head[I915_NUM_RINGS]; + u32 cpu_ring_tail[I915_NUM_RINGS]; + u32 error; /* gen6+ */ + u32 err_int; /* gen7 */ + u32 instpm[I915_NUM_RINGS]; + u32 instps[I915_NUM_RINGS]; + u32 extra_instdone[I915_NUM_INSTDONE_REG]; + u32 seqno[I915_NUM_RINGS]; + u64 bbaddr; + u32 fault_reg[I915_NUM_RINGS]; + u32 done_reg; + u32 faddr[I915_NUM_RINGS]; + u64 fence[I915_MAX_NUM_FENCES]; + struct timeval time; + struct drm_i915_error_ring { + struct drm_i915_error_object { + int page_count; + u32 gtt_offset; + u32 *pages[0]; + } *ringbuffer, *batchbuffer; + struct drm_i915_error_request { + long jiffies; + u32 seqno; + u32 tail; + } *requests; + int num_requests; + } ring[I915_NUM_RINGS]; + struct drm_i915_error_buffer { + u32 size; + u32 name; + u32 rseqno, wseqno; + u32 gtt_offset; + u32 read_domains; + u32 write_domain; + s32 fence_reg:I915_MAX_NUM_FENCE_BITS; + s32 pinned:2; + u32 tiling:2; + u32 dirty:1; + u32 purgeable:1; + s32 ring:4; + u32 cache_level:2; + } *active_bo, *pinned_bo; + u32 active_bo_count, pinned_bo_count; + struct intel_overlay_error_state *overlay; + struct intel_display_error_state *display; +}; + +struct drm_i915_display_funcs { + bool (*fbc_enabled)(struct drm_device *dev); + void (*enable_fbc)(struct drm_crtc *crtc, unsigned long interval); + void (*disable_fbc)(struct drm_device *dev); + int (*get_display_clock_speed)(struct drm_device *dev); + int (*get_fifo_size)(struct drm_device *dev, int plane); + void (*update_wm)(struct drm_device *dev); + void (*update_sprite_wm)(struct drm_device *dev, int pipe, + uint32_t sprite_width, int pixel_size); + void (*update_linetime_wm)(struct drm_device *dev, int pipe, + struct drm_display_mode *mode); + void (*modeset_global_resources)(struct drm_device *dev); + int (*crtc_mode_set)(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode, + int x, int y, + struct drm_framebuffer *old_fb); + void (*crtc_enable)(struct drm_crtc *crtc); + void (*crtc_disable)(struct drm_crtc *crtc); + void (*off)(struct drm_crtc *crtc); + void (*write_eld)(struct drm_connector *connector, + struct drm_crtc *crtc); + void (*fdi_link_train)(struct drm_crtc *crtc); + void (*init_clock_gating)(struct drm_device *dev); + int (*queue_flip)(struct drm_device *dev, struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj); + int (*update_plane)(struct drm_crtc *crtc, struct drm_framebuffer *fb, + int x, int y); + /* clock updates for mode set */ + /* cursor updates */ + /* render clock increase/decrease */ + /* display clock increase/decrease */ + /* pll clock increase/decrease */ +}; + +struct drm_i915_gt_funcs { + void (*force_wake_get)(struct drm_i915_private *dev_priv); + void (*force_wake_put)(struct drm_i915_private *dev_priv); +}; + +#define DEV_INFO_FLAGS \ + DEV_INFO_FLAG(is_mobile) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_i85x) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_i915g) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_i945gm) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_g33) DEV_INFO_SEP \ + DEV_INFO_FLAG(need_gfx_hws) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_g4x) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_pineview) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_broadwater) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_crestline) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_ivybridge) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_valleyview) DEV_INFO_SEP \ + DEV_INFO_FLAG(is_haswell) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_force_wake) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_fbc) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_pipe_cxsr) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_hotplug) DEV_INFO_SEP \ + DEV_INFO_FLAG(cursor_needs_physical) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_overlay) DEV_INFO_SEP \ + DEV_INFO_FLAG(overlay_needs_physical) DEV_INFO_SEP \ + DEV_INFO_FLAG(supports_tv) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_bsd_ring) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_blt_ring) DEV_INFO_SEP \ + DEV_INFO_FLAG(has_llc) + +struct intel_device_info { + u8 gen; + u8 is_mobile:1; + u8 is_i85x:1; + u8 is_i915g:1; + u8 is_i945gm:1; + u8 is_g33:1; + u8 need_gfx_hws:1; + u8 is_g4x:1; + u8 is_pineview:1; + u8 is_broadwater:1; + u8 is_crestline:1; + u8 is_ivybridge:1; + u8 is_valleyview:1; + u8 has_force_wake:1; + u8 is_haswell:1; + u8 has_fbc:1; + u8 has_pipe_cxsr:1; + u8 has_hotplug:1; + u8 cursor_needs_physical:1; + u8 has_overlay:1; + u8 overlay_needs_physical:1; + u8 supports_tv:1; + u8 has_bsd_ring:1; + u8 has_blt_ring:1; + u8 has_llc:1; +}; + +#define I915_PPGTT_PD_ENTRIES 512 +#define I915_PPGTT_PT_ENTRIES 1024 +struct i915_hw_ppgtt { + struct drm_device *dev; + unsigned num_pd_entries; + struct page **pt_pages; + uint32_t pd_offset; + dma_addr_t *pt_dma_addr; + dma_addr_t scratch_page_dma_addr; +}; + + +/* This must match up with the value previously used for execbuf2.rsvd1. */ +#define DEFAULT_CONTEXT_ID 0 +struct i915_hw_context { + int id; + bool is_initialized; + struct drm_i915_file_private *file_priv; + struct intel_ring_buffer *ring; + struct drm_i915_gem_object *obj; +}; + +enum no_fbc_reason { + FBC_NO_OUTPUT, /* no outputs enabled to compress */ + FBC_STOLEN_TOO_SMALL, /* not enough space to hold compressed buffers */ + FBC_UNSUPPORTED_MODE, /* interlace or doublescanned mode */ + FBC_MODE_TOO_LARGE, /* mode too large for compression */ + FBC_BAD_PLANE, /* fbc not supported on plane */ + FBC_NOT_TILED, /* buffer not tiled */ + FBC_MULTIPLE_PIPES, /* more than one pipe active */ + FBC_MODULE_PARAM, +}; + +enum intel_pch { + PCH_NONE = 0, /* No PCH present */ + PCH_IBX, /* Ibexpeak PCH */ + PCH_CPT, /* Cougarpoint PCH */ + PCH_LPT, /* Lynxpoint PCH */ +}; + +enum intel_sbi_destination { + SBI_ICLK, + SBI_MPHY, +}; + +#define QUIRK_PIPEA_FORCE (1<<0) +#define QUIRK_LVDS_SSC_DISABLE (1<<1) +#define QUIRK_INVERT_BRIGHTNESS (1<<2) + +struct intel_fbdev; +struct intel_fbc_work; + +struct intel_gmbus { + struct i2c_adapter adapter; + u32 force_bit; + u32 reg0; + u32 gpio_reg; + struct i2c_algo_bit_data bit_algo; + struct drm_i915_private *dev_priv; +}; + +struct i915_suspend_saved_registers { + u8 saveLBB; + u32 saveDSPACNTR; + u32 saveDSPBCNTR; + u32 saveDSPARB; + u32 savePIPEACONF; + u32 savePIPEBCONF; + u32 savePIPEASRC; + u32 savePIPEBSRC; + u32 saveFPA0; + u32 saveFPA1; + u32 saveDPLL_A; + u32 saveDPLL_A_MD; + u32 saveHTOTAL_A; + u32 saveHBLANK_A; + u32 saveHSYNC_A; + u32 saveVTOTAL_A; + u32 saveVBLANK_A; + u32 saveVSYNC_A; + u32 saveBCLRPAT_A; + u32 saveTRANSACONF; + u32 saveTRANS_HTOTAL_A; + u32 saveTRANS_HBLANK_A; + u32 saveTRANS_HSYNC_A; + u32 saveTRANS_VTOTAL_A; + u32 saveTRANS_VBLANK_A; + u32 saveTRANS_VSYNC_A; + u32 savePIPEASTAT; + u32 saveDSPASTRIDE; + u32 saveDSPASIZE; + u32 saveDSPAPOS; + u32 saveDSPAADDR; + u32 saveDSPASURF; + u32 saveDSPATILEOFF; + u32 savePFIT_PGM_RATIOS; + u32 saveBLC_HIST_CTL; + u32 saveBLC_PWM_CTL; + u32 saveBLC_PWM_CTL2; + u32 saveBLC_CPU_PWM_CTL; + u32 saveBLC_CPU_PWM_CTL2; + u32 saveFPB0; + u32 saveFPB1; + u32 saveDPLL_B; + u32 saveDPLL_B_MD; + u32 saveHTOTAL_B; + u32 saveHBLANK_B; + u32 saveHSYNC_B; + u32 saveVTOTAL_B; + u32 saveVBLANK_B; + u32 saveVSYNC_B; + u32 saveBCLRPAT_B; + u32 saveTRANSBCONF; + u32 saveTRANS_HTOTAL_B; + u32 saveTRANS_HBLANK_B; + u32 saveTRANS_HSYNC_B; + u32 saveTRANS_VTOTAL_B; + u32 saveTRANS_VBLANK_B; + u32 saveTRANS_VSYNC_B; + u32 savePIPEBSTAT; + u32 saveDSPBSTRIDE; + u32 saveDSPBSIZE; + u32 saveDSPBPOS; + u32 saveDSPBADDR; + u32 saveDSPBSURF; + u32 saveDSPBTILEOFF; + u32 saveVGA0; + u32 saveVGA1; + u32 saveVGA_PD; + u32 saveVGACNTRL; + u32 saveADPA; + u32 saveLVDS; + u32 savePP_ON_DELAYS; + u32 savePP_OFF_DELAYS; + u32 saveDVOA; + u32 saveDVOB; + u32 saveDVOC; + u32 savePP_ON; + u32 savePP_OFF; + u32 savePP_CONTROL; + u32 savePP_DIVISOR; + u32 savePFIT_CONTROL; + u32 save_palette_a[256]; + u32 save_palette_b[256]; + u32 saveDPFC_CB_BASE; + u32 saveFBC_CFB_BASE; + u32 saveFBC_LL_BASE; + u32 saveFBC_CONTROL; + u32 saveFBC_CONTROL2; + u32 saveIER; + u32 saveIIR; + u32 saveIMR; + u32 saveDEIER; + u32 saveDEIMR; + u32 saveGTIER; + u32 saveGTIMR; + u32 saveFDI_RXA_IMR; + u32 saveFDI_RXB_IMR; + u32 saveCACHE_MODE_0; + u32 saveMI_ARB_STATE; + u32 saveSWF0[16]; + u32 saveSWF1[16]; + u32 saveSWF2[3]; + u8 saveMSR; + u8 saveSR[8]; + u8 saveGR[25]; + u8 saveAR_INDEX; + u8 saveAR[21]; + u8 saveDACMASK; + u8 saveCR[37]; + uint64_t saveFENCE[I915_MAX_NUM_FENCES]; + u32 saveCURACNTR; + u32 saveCURAPOS; + u32 saveCURABASE; + u32 saveCURBCNTR; + u32 saveCURBPOS; + u32 saveCURBBASE; + u32 saveCURSIZE; + u32 saveDP_B; + u32 saveDP_C; + u32 saveDP_D; + u32 savePIPEA_GMCH_DATA_M; + u32 savePIPEB_GMCH_DATA_M; + u32 savePIPEA_GMCH_DATA_N; + u32 savePIPEB_GMCH_DATA_N; + u32 savePIPEA_DP_LINK_M; + u32 savePIPEB_DP_LINK_M; + u32 savePIPEA_DP_LINK_N; + u32 savePIPEB_DP_LINK_N; + u32 saveFDI_RXA_CTL; + u32 saveFDI_TXA_CTL; + u32 saveFDI_RXB_CTL; + u32 saveFDI_TXB_CTL; + u32 savePFA_CTL_1; + u32 savePFB_CTL_1; + u32 savePFA_WIN_SZ; + u32 savePFB_WIN_SZ; + u32 savePFA_WIN_POS; + u32 savePFB_WIN_POS; + u32 savePCH_DREF_CONTROL; + u32 saveDISP_ARB_CTL; + u32 savePIPEA_DATA_M1; + u32 savePIPEA_DATA_N1; + u32 savePIPEA_LINK_M1; + u32 savePIPEA_LINK_N1; + u32 savePIPEB_DATA_M1; + u32 savePIPEB_DATA_N1; + u32 savePIPEB_LINK_M1; + u32 savePIPEB_LINK_N1; + u32 saveMCHBAR_RENDER_STANDBY; + u32 savePCH_PORT_HOTPLUG; +}; + +struct intel_gen6_power_mgmt { + struct work_struct work; + u32 pm_iir; + /* lock - irqsave spinlock that protectects the work_struct and + * pm_iir. */ + spinlock_t lock; + + /* The below variables an all the rps hw state are protected by + * dev->struct mutext. */ + u8 cur_delay; + u8 min_delay; + u8 max_delay; + + struct delayed_work delayed_resume_work; + + /* + * Protects RPS/RC6 register access and PCU communication. + * Must be taken after struct_mutex if nested. + */ + struct mutex hw_lock; +}; + +struct intel_ilk_power_mgmt { + u8 cur_delay; + u8 min_delay; + u8 max_delay; + u8 fmax; + u8 fstart; + + u64 last_count1; + unsigned long last_time1; + unsigned long chipset_power; + u64 last_count2; + struct timespec last_time2; + unsigned long gfx_power; + u8 corr; + + int c_m; + int r_t; + + struct drm_i915_gem_object *pwrctx; + struct drm_i915_gem_object *renderctx; +}; + +struct i915_dri1_state { + unsigned allow_batchbuffer : 1; + u32 __iomem *gfx_hws_cpu_addr; + + unsigned int cpp; + int back_offset; + int front_offset; + int current_page; + int page_flipping; + + uint32_t counter; +}; + +struct intel_l3_parity { + u32 *remap_info; + struct work_struct error_work; +}; + +typedef struct drm_i915_private { + struct drm_device *dev; + + const struct intel_device_info *info; + + int relative_constants_mode; + + void __iomem *regs; + + struct drm_i915_gt_funcs gt; + /** gt_fifo_count and the subsequent register write are synchronized + * with dev->struct_mutex. */ + unsigned gt_fifo_count; + /** forcewake_count is protected by gt_lock */ + unsigned forcewake_count; + /** gt_lock is also taken in irq contexts. */ + struct spinlock gt_lock; + + struct intel_gmbus gmbus[GMBUS_NUM_PORTS]; + + /** gmbus_mutex protects against concurrent usage of the single hw gmbus + * controller on different i2c buses. */ + struct mutex gmbus_mutex; + + /** + * Base address of the gmbus and gpio block. + */ + uint32_t gpio_mmio_base; + + struct pci_dev *bridge_dev; + struct intel_ring_buffer ring[I915_NUM_RINGS]; + uint32_t next_seqno; + + drm_dma_handle_t *status_page_dmah; + struct resource mch_res; + + atomic_t irq_received; + + /* protects the irq masks */ + spinlock_t irq_lock; + + /* DPIO indirect register protection */ + spinlock_t dpio_lock; + + /** Cached value of IMR to avoid reads in updating the bitfield */ + u32 pipestat[2]; + u32 irq_mask; + u32 gt_irq_mask; + u32 pch_irq_mask; + + u32 hotplug_supported_mask; + struct work_struct hotplug_work; + + int num_pipe; + int num_pch_pll; + + /* For hangcheck timer */ +#define DRM_I915_HANGCHECK_PERIOD 1500 /* in ms */ +#define DRM_I915_HANGCHECK_JIFFIES msecs_to_jiffies(DRM_I915_HANGCHECK_PERIOD) + struct timer_list hangcheck_timer; + int hangcheck_count; + uint32_t last_acthd[I915_NUM_RINGS]; + uint32_t prev_instdone[I915_NUM_INSTDONE_REG]; + + unsigned int stop_rings; + + unsigned long cfb_size; + unsigned int cfb_fb; + enum plane cfb_plane; + int cfb_y; + struct intel_fbc_work *fbc_work; + + struct intel_opregion opregion; + + /* overlay */ + struct intel_overlay *overlay; + bool sprite_scaling_enabled; + + /* LVDS info */ + int backlight_level; /* restore backlight to this value */ + bool backlight_enabled; + struct drm_display_mode *lfp_lvds_vbt_mode; /* if any */ + struct drm_display_mode *sdvo_lvds_vbt_mode; /* if any */ + + /* Feature bits from the VBIOS */ + unsigned int int_tv_support:1; + unsigned int lvds_dither:1; + unsigned int lvds_vbt:1; + unsigned int int_crt_support:1; + unsigned int lvds_use_ssc:1; + unsigned int display_clock_mode:1; + int lvds_ssc_freq; + unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */ + unsigned int lvds_val; /* used for checking LVDS channel mode */ + struct { + int rate; + int lanes; + int preemphasis; + int vswing; + + bool initialized; + bool support; + int bpp; + struct edp_power_seq pps; + } edp; + bool no_aux_handshake; + + int crt_ddc_pin; + struct drm_i915_fence_reg fence_regs[I915_MAX_NUM_FENCES]; /* assume 965 */ + int fence_reg_start; /* 4 if userland hasn't ioctl'd us yet */ + int num_fence_regs; /* 8 on pre-965, 16 otherwise */ + + unsigned int fsb_freq, mem_freq, is_ddr3; + + spinlock_t error_lock; + /* Protected by dev->error_lock. */ + struct drm_i915_error_state *first_error; + struct work_struct error_work; + struct completion error_completion; + struct workqueue_struct *wq; + + /* Display functions */ + struct drm_i915_display_funcs display; + + /* PCH chipset type */ + enum intel_pch pch_type; + unsigned short pch_id; + + unsigned long quirks; + + /* Register state */ + bool modeset_on_lid; + + struct { + /** Bridge to intel-gtt-ko */ + struct intel_gtt *gtt; + /** Memory allocator for GTT stolen memory */ + struct drm_mm_hsw stolen; + /** Memory allocator for GTT */ + struct drm_mm_hsw gtt_space; + /** List of all objects in gtt_space. Used to restore gtt + * mappings on resume */ + struct list_head bound_list; + /** + * List of objects which are not bound to the GTT (thus + * are idle and not used by the GPU) but still have + * (presumably uncached) pages still attached. + */ + struct list_head unbound_list; + + /** Usable portion of the GTT for GEM */ + unsigned long gtt_start; + unsigned long gtt_mappable_end; + unsigned long gtt_end; + + struct io_mapping *gtt_mapping; + phys_addr_t gtt_base_addr; + int gtt_mtrr; + + /** PPGTT used for aliasing the PPGTT with the GTT */ + struct i915_hw_ppgtt *aliasing_ppgtt; + + struct shrinker inactive_shrinker; + + /** + * List of objects currently involved in rendering. + * + * Includes buffers having the contents of their GPU caches + * flushed, not necessarily primitives. last_rendering_seqno + * represents when the rendering involved will be completed. + * + * A reference is held on the buffer while on this list. + */ + struct list_head active_list; + + /** + * LRU list of objects which are not in the ringbuffer and + * are ready to unbind, but are still in the GTT. + * + * last_rendering_seqno is 0 while an object is in this list. + * + * A reference is not held on the buffer while on this list, + * as merely being GTT-bound shouldn't prevent its being + * freed, and we'll pull it off the list in the free path. + */ + struct list_head inactive_list; + + /** LRU list of objects with fence regs on them. */ + struct list_head fence_list; + + /** + * We leave the user IRQ off as much as possible, + * but this means that requests will finish and never + * be retired once the system goes idle. Set a timer to + * fire periodically while the ring is running. When it + * fires, go retire requests. + */ + struct delayed_work retire_work; + + /** + * Are we in a non-interruptible section of code like + * modesetting? + */ + bool interruptible; + + /** + * Flag if the X Server, and thus DRM, is not currently in + * control of the device. + * + * This is set between LeaveVT and EnterVT. It needs to be + * replaced with a semaphore. It also needs to be + * transitioned away from for kernel modesetting. + */ + int suspended; + + /** + * Flag if the hardware appears to be wedged. + * + * This is set when attempts to idle the device timeout. + * It prevents command submission from occurring and makes + * every pending request fail + */ + atomic_t wedged; + + /** Bit 6 swizzling required for X tiling */ + uint32_t bit_6_swizzle_x; + /** Bit 6 swizzling required for Y tiling */ + uint32_t bit_6_swizzle_y; + + /* storage for physical objects */ + struct drm_i915_gem_phys_object *phys_objs[I915_MAX_PHYS_OBJECT]; + + /* accounting, useful for userland debugging */ + size_t gtt_total; + size_t mappable_gtt_total; + size_t object_memory; + u32 object_count; + } mm; + + /* Kernel Modesetting */ + + struct sdvo_device_mapping sdvo_mappings[2]; + /* indicate whether the LVDS_BORDER should be enabled or not */ + unsigned int lvds_border_bits; + /* Panel fitter placement and size for Ironlake+ */ + u32 pch_pf_pos, pch_pf_size; + + struct drm_crtc *plane_to_crtc_mapping[3]; + struct drm_crtc *pipe_to_crtc_mapping[3]; + wait_queue_head_t pending_flip_queue; + + struct intel_pch_pll pch_plls[I915_NUM_PLLS]; + struct intel_ddi_plls ddi_plls; + + /* Reclocking support */ + bool render_reclock_avail; + bool lvds_downclock_avail; + /* indicates the reduced downclock for LVDS*/ + int lvds_downclock; + u16 orig_clock; + int child_dev_num; + struct child_device_config *child_dev; + + bool mchbar_need_disable; + + struct intel_l3_parity l3_parity; + + /* gen6+ rps state */ + struct intel_gen6_power_mgmt rps; + + /* ilk-only ips/rps state. Everything in here is protected by the global + * mchdev_lock in intel_pm.c */ + struct intel_ilk_power_mgmt ips; + + enum no_fbc_reason no_fbc_reason; + + struct drm_mm_node_hsw *compressed_fb; + struct drm_mm_node_hsw *compressed_llb; + + unsigned long last_gpu_reset; + + /* list of fbdev register on this device */ + struct intel_fbdev *fbdev; + + /* + * The console may be contended at resume, but we don't + * want it to block on it. + */ + struct work_struct console_resume_work; + + struct backlight_device *backlight; + + struct drm_property *broadcast_rgb_property; + struct drm_property *force_audio_property; + + bool hw_contexts_disabled; + uint32_t hw_context_size; + + bool fdi_rx_polarity_reversed; + + struct i915_suspend_saved_registers regfile; + + /* Old dri1 support infrastructure, beware the dragons ya fools entering + * here! */ + struct i915_dri1_state dri1; +} drm_i915_private_t; + +/* Iterate over initialised rings */ +#define for_each_ring(ring__, dev_priv__, i__) \ + for ((i__) = 0; (i__) < I915_NUM_RINGS; (i__)++) \ + if (((ring__) = &(dev_priv__)->ring[(i__)]), intel_ring_initialized((ring__))) + +enum hdmi_force_audio { + HDMI_AUDIO_OFF_DVI = -2, /* no aux data for HDMI-DVI converter */ + HDMI_AUDIO_OFF, /* force turn off HDMI audio */ + HDMI_AUDIO_AUTO, /* trust EDID */ + HDMI_AUDIO_ON, /* force turn on HDMI audio */ +}; + +enum i915_cache_level { + I915_CACHE_NONE = 0, + I915_CACHE_LLC, + I915_CACHE_LLC_MLC, /* gen6+, in docs at least! */ +}; + +struct drm_i915_gem_object_ops { + /* Interface between the GEM object and its backing storage. + * get_pages() is called once prior to the use of the associated set + * of pages before to binding them into the GTT, and put_pages() is + * called after we no longer need them. As we expect there to be + * associated cost with migrating pages between the backing storage + * and making them available for the GPU (e.g. clflush), we may hold + * onto the pages after they are no longer referenced by the GPU + * in case they may be used again shortly (for example migrating the + * pages to a different memory domain within the GTT). put_pages() + * will therefore most likely be called when the object itself is + * being released or under memory pressure (where we attempt to + * reap pages for the shrinker). + */ + int (*get_pages)(struct drm_i915_gem_object *); + void (*put_pages)(struct drm_i915_gem_object *); +}; + +struct drm_i915_gem_object { + struct drm_gem_object base; + + const struct drm_i915_gem_object_ops *ops; + + /** Current space allocated to this object in the GTT, if any. */ + struct drm_mm_node_hsw *gtt_space; + struct list_head gtt_list; + + /** This object's place on the active/inactive lists */ + struct list_head ring_list; + struct list_head mm_list; + /** This object's place in the batchbuffer or on the eviction list */ + struct list_head exec_list; + + /** + * This is set if the object is on the active lists (has pending + * rendering and so a non-zero seqno), and is not set if it i s on + * inactive (ready to be unbound) list. + */ + unsigned int active:1; + + /** + * This is set if the object has been written to since last bound + * to the GTT + */ + unsigned int dirty:1; + + /** + * Fence register bits (if any) for this object. Will be set + * as needed when mapped into the GTT. + * Protected by dev->struct_mutex. + */ + signed int fence_reg:I915_MAX_NUM_FENCE_BITS; + + /** + * Advice: are the backing pages purgeable? + */ + unsigned int madv:2; + + /** + * Current tiling mode for the object. + */ + unsigned int tiling_mode:2; + /** + * Whether the tiling parameters for the currently associated fence + * register have changed. Note that for the purposes of tracking + * tiling changes we also treat the unfenced register, the register + * slot that the object occupies whilst it executes a fenced + * command (such as BLT on gen2/3), as a "fence". + */ + unsigned int fence_dirty:1; + + /** How many users have pinned this object in GTT space. The following + * users can each hold at most one reference: pwrite/pread, pin_ioctl + * (via user_pin_count), execbuffer (objects are not allowed multiple + * times for the same batchbuffer), and the framebuffer code. When + * switching/pageflipping, the framebuffer code has at most two buffers + * pinned per crtc. + * + * In the worst case this is 1 + 1 + 1 + 2*2 = 7. That would fit into 3 + * bits with absolutely no headroom. So use 4 bits. */ + unsigned int pin_count:4; +#define DRM_I915_GEM_OBJECT_MAX_PIN_COUNT 0xf + + /** + * Is the object at the current location in the gtt mappable and + * fenceable? Used to avoid costly recalculations. + */ + unsigned int map_and_fenceable:1; + + /** + * Whether the current gtt mapping needs to be mappable (and isn't just + * mappable by accident). Track pin and fault separate for a more + * accurate mappable working set. + */ + unsigned int fault_mappable:1; + unsigned int pin_mappable:1; + + /* + * Is the GPU currently using a fence to access this buffer, + */ + unsigned int pending_fenced_gpu_access:1; + unsigned int fenced_gpu_access:1; + + unsigned int cache_level:2; + + unsigned int has_aliasing_ppgtt_mapping:1; + unsigned int has_global_gtt_mapping:1; + unsigned int has_dma_mapping:1; + + struct sg_table *pages; + int pages_pin_count; + + /* prime dma-buf support */ + void *dma_buf_vmapping; + int vmapping_count; + + /** + * Used for performing relocations during execbuffer insertion. + */ + struct hlist_node exec_node; + unsigned long exec_handle; + struct drm_i915_gem_exec_object2 *exec_entry; + + /** + * Current offset of the object in GTT space. + * + * This is the same as gtt_space->start + */ + uint32_t gtt_offset; + + struct intel_ring_buffer *ring; + + /** Breadcrumb of last rendering to the buffer. */ + uint32_t last_read_seqno; + uint32_t last_write_seqno; + /** Breadcrumb of last fenced GPU access to the buffer. */ + uint32_t last_fenced_seqno; + + /** Current tiling stride for the object, if it's tiled. */ + uint32_t stride; + + /** Record of address bit 17 of each page at last unbind. */ + unsigned long *bit_17; + + /** User space pin count and filp owning the pin */ + uint32_t user_pin_count; + struct drm_file *pin_filp; + + /** for phy allocated objects */ + struct drm_i915_gem_phys_object *phys_obj; + + /** + * Number of crtcs where this object is currently the fb, but + * will be page flipped away on the next vblank. When it + * reaches 0, dev_priv->pending_flip_queue will be woken up. + */ + atomic_t pending_flip; +}; + +#define to_intel_bo(x) container_of(x, struct drm_i915_gem_object, base) + +/** + * Request queue structure. + * + * The request queue allows us to note sequence numbers that have been emitted + * and may be associated with active buffers to be retired. + * + * By keeping this list, we can avoid having to do questionable + * sequence-number comparisons on buffer last_rendering_seqnos, and associate + * an emission time with seqnos for tracking how far ahead of the GPU we are. + */ +struct drm_i915_gem_request { + /** On Which ring this request was generated */ + struct intel_ring_buffer *ring; + + /** GEM sequence number associated with this request. */ + uint32_t seqno; + + /** Postion in the ringbuffer of the end of the request */ + u32 tail; + + /** Time at which this request was emitted, in jiffies. */ + unsigned long emitted_jiffies; + + /** global list entry for this request */ + struct list_head list; + + struct drm_i915_file_private *file_priv; + /** file_priv list entry for this request */ + struct list_head client_list; +}; + +struct drm_i915_file_private { + struct { + struct spinlock lock; + struct list_head request_list; + } mm; + struct idr context_idr; +}; + +#define INTEL_INFO(dev) (((struct drm_i915_private *) (dev)->dev_private)->info) + +#define IS_I830(dev) ((dev)->pci_device == 0x3577) +#define IS_845G(dev) ((dev)->pci_device == 0x2562) +#define IS_I85X(dev) (INTEL_INFO(dev)->is_i85x) +#define IS_I865G(dev) ((dev)->pci_device == 0x2572) +#define IS_I915G(dev) (INTEL_INFO(dev)->is_i915g) +#define IS_I915GM(dev) ((dev)->pci_device == 0x2592) +#define IS_I945G(dev) ((dev)->pci_device == 0x2772) +#define IS_I945GM(dev) (INTEL_INFO(dev)->is_i945gm) +#define IS_BROADWATER(dev) (INTEL_INFO(dev)->is_broadwater) +#define IS_CRESTLINE(dev) (INTEL_INFO(dev)->is_crestline) +#define IS_GM45(dev) ((dev)->pci_device == 0x2A42) +#define IS_G4X(dev) (INTEL_INFO(dev)->is_g4x) +#define IS_PINEVIEW_G(dev) ((dev)->pci_device == 0xa001) +#define IS_PINEVIEW_M(dev) ((dev)->pci_device == 0xa011) +#define IS_PINEVIEW(dev) (INTEL_INFO(dev)->is_pineview) +#define IS_G33(dev) (INTEL_INFO(dev)->is_g33) +#define IS_IRONLAKE_D(dev) ((dev)->pci_device == 0x0042) +#define IS_IRONLAKE_M(dev) ((dev)->pci_device == 0x0046) +#define IS_IVYBRIDGE(dev) (INTEL_INFO(dev)->is_ivybridge) +#define IS_IVB_GT1(dev) ((dev)->pci_device == 0x0156 || \ + (dev)->pci_device == 0x0152 || \ + (dev)->pci_device == 0x015a) +#define IS_VALLEYVIEW(dev) (INTEL_INFO(dev)->is_valleyview) +#define IS_HASWELL(dev) (INTEL_INFO(dev)->is_haswell) +#define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile) +#define IS_ULT(dev) (IS_HASWELL(dev) && \ + ((dev)->pci_device & 0xFF00) == 0x0A00) + +/* + * The genX designation typically refers to the render engine, so render + * capability related checks should use IS_GEN, while display and other checks + * have their own (e.g. HAS_PCH_SPLIT for ILK+ display, IS_foo for particular + * chips, etc.). + */ +#define IS_GEN2(dev) (INTEL_INFO(dev)->gen == 2) +#define IS_GEN3(dev) (INTEL_INFO(dev)->gen == 3) +#define IS_GEN4(dev) (INTEL_INFO(dev)->gen == 4) +#define IS_GEN5(dev) (INTEL_INFO(dev)->gen == 5) +#define IS_GEN6(dev) (INTEL_INFO(dev)->gen == 6) +#define IS_GEN7(dev) (INTEL_INFO(dev)->gen == 7) + +#define HAS_BSD(dev) (INTEL_INFO(dev)->has_bsd_ring) +#define HAS_BLT(dev) (INTEL_INFO(dev)->has_blt_ring) +#define HAS_LLC(dev) (INTEL_INFO(dev)->has_llc) +#define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws) + +#define HAS_HW_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 6) +#define HAS_ALIASING_PPGTT(dev) (INTEL_INFO(dev)->gen >=6 && !IS_VALLEYVIEW(dev)) + +#define HAS_OVERLAY(dev) (INTEL_INFO(dev)->has_overlay) +#define OVERLAY_NEEDS_PHYSICAL(dev) (INTEL_INFO(dev)->overlay_needs_physical) + +/* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte + * rows, which changed the alignment requirements and fence programming. + */ +#define HAS_128_BYTE_Y_TILING(dev) (!IS_GEN2(dev) && !(IS_I915G(dev) || \ + IS_I915GM(dev))) +#define SUPPORTS_DIGITAL_OUTPUTS(dev) (!IS_GEN2(dev) && !IS_PINEVIEW(dev)) +#define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev) || IS_GEN5(dev)) +#define SUPPORTS_INTEGRATED_DP(dev) (IS_G4X(dev) || IS_GEN5(dev)) +#define SUPPORTS_EDP(dev) (IS_IRONLAKE_M(dev)) +#define SUPPORTS_TV(dev) (INTEL_INFO(dev)->supports_tv) +#define I915_HAS_HOTPLUG(dev) (INTEL_INFO(dev)->has_hotplug) +/* dsparb controlled by hw only */ +#define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IRONLAKE(dev)) + +#define HAS_FW_BLC(dev) (INTEL_INFO(dev)->gen > 2) +#define HAS_PIPE_CXSR(dev) (INTEL_INFO(dev)->has_pipe_cxsr) +#define I915_HAS_FBC(dev) (INTEL_INFO(dev)->has_fbc) + +#define HAS_PIPE_CONTROL(dev) (INTEL_INFO(dev)->gen >= 5) + +#define INTEL_PCH_DEVICE_ID_MASK 0xff00 +#define INTEL_PCH_IBX_DEVICE_ID_TYPE 0x3b00 +#define INTEL_PCH_CPT_DEVICE_ID_TYPE 0x1c00 +#define INTEL_PCH_PPT_DEVICE_ID_TYPE 0x1e00 +#define INTEL_PCH_LPT_DEVICE_ID_TYPE 0x8c00 +#define INTEL_PCH_LPT_LP_DEVICE_ID_TYPE 0x9c00 + +#define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type) +#define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT) +#define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT) +#define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX) +#define HAS_PCH_SPLIT(dev) (INTEL_PCH_TYPE(dev) != PCH_NONE) + +#define HAS_FORCE_WAKE(dev) (INTEL_INFO(dev)->has_force_wake) + +#define HAS_L3_GPU_CACHE(dev) (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) + +#define GT_FREQUENCY_MULTIPLIER 50 + +#include "i915_trace.h" + +/** + * RC6 is a special power stage which allows the GPU to enter an very + * low-voltage mode when idle, using down to 0V while at this stage. This + * stage is entered automatically when the GPU is idle when RC6 support is + * enabled, and as soon as new workload arises GPU wakes up automatically as well. + * + * There are different RC6 modes available in Intel GPU, which differentiate + * among each other with the latency required to enter and leave RC6 and + * voltage consumed by the GPU in different states. + * + * The combination of the following flags define which states GPU is allowed + * to enter, while RC6 is the normal RC6 state, RC6p is the deep RC6, and + * RC6pp is deepest RC6. Their support by hardware varies according to the + * GPU, BIOS, chipset and platform. RC6 is usually the safest one and the one + * which brings the most power savings; deeper states save more power, but + * require higher latency to switch to and wake up. + */ +#define INTEL_RC6_ENABLE (1<<0) +#define INTEL_RC6p_ENABLE (1<<1) +#define INTEL_RC6pp_ENABLE (1<<2) + +extern struct drm_ioctl_desc i915_ioctls[]; +extern int i915_max_ioctl; +extern unsigned int i915_fbpercrtc __always_unused; +extern int i915_panel_ignore_lid __read_mostly; +extern unsigned int i915_powersave __read_mostly; +extern int i915_semaphores __read_mostly; +extern unsigned int i915_lvds_downclock __read_mostly; +extern int i915_lvds_channel_mode __read_mostly; +extern int i915_panel_use_ssc __read_mostly; +extern int i915_vbt_sdvo_panel_type __read_mostly; +extern int i915_enable_rc6 __read_mostly; +extern int i915_enable_fbc __read_mostly; +extern bool i915_enable_hangcheck __read_mostly; +extern int i915_enable_ppgtt __read_mostly; + +extern int i915_suspend(struct drm_device *dev, pm_message_t state); +extern int i915_resume(struct drm_device *dev); +extern int i915_master_create(struct drm_device *dev, struct drm_master *master); +extern void i915_master_destroy(struct drm_device *dev, struct drm_master *master); + + /* i915_dma.c */ +void i915_update_dri1_breadcrumb(struct drm_device *dev); +extern void i915_kernel_lost_context(struct drm_device * dev); +extern int i915_driver_load(struct drm_device *, unsigned long flags); +extern int i915_driver_unload(struct drm_device *); +extern int i915_driver_open(struct drm_device *dev, struct drm_file *file_priv); +extern void i915_driver_lastclose(struct drm_device * dev); +extern void i915_driver_preclose(struct drm_device *dev, + struct drm_file *file_priv); +extern void i915_driver_postclose(struct drm_device *dev, + struct drm_file *file_priv); +extern int i915_driver_device_is_agp(struct drm_device * dev); +#ifdef CONFIG_COMPAT +extern long i915_compat_ioctl(struct file *filp, unsigned int cmd, + unsigned long arg); +#endif +extern int i915_emit_box(struct drm_device *dev, + struct drm_clip_rect *box, + int DR1, int DR4); +extern int intel_gpu_reset(struct drm_device *dev); +extern int i915_reset(struct drm_device *dev); +extern unsigned long i915_chipset_val(struct drm_i915_private *dev_priv); +extern unsigned long i915_mch_val(struct drm_i915_private *dev_priv); +extern unsigned long i915_gfx_val(struct drm_i915_private *dev_priv); +extern void i915_update_gfx_val(struct drm_i915_private *dev_priv); + +extern void intel_console_resume(struct work_struct *work); + +/* i915_irq.c */ +void i915_hangcheck_elapsed(unsigned long data); +void i915_handle_error(struct drm_device *dev, bool wedged); + +extern void intel_irq_init(struct drm_device *dev); +extern void intel_gt_init(struct drm_device *dev); +extern void intel_gt_reset(struct drm_device *dev); + +void i915_error_state_free(struct kref *error_ref); + +void +i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); + +void +i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); + +void intel_enable_asle(struct drm_device *dev); + +#ifdef CONFIG_DEBUG_FS +extern void i915_destroy_error_state(struct drm_device *dev); +#else +#define i915_destroy_error_state(x) +#endif + + +/* i915_gem.c */ +int i915_gem_init_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_create_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_pread_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_pwrite_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_mmap_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_mmap_gtt_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_set_domain_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_sw_finish_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_execbuffer(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_execbuffer2(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_pin_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_unpin_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_busy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_get_caching_ioctl(struct drm_device *dev, void *data, + struct drm_file *file); +int i915_gem_set_caching_ioctl(struct drm_device *dev, void *data, + struct drm_file *file); +int i915_gem_throttle_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_madvise_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_entervt_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_leavevt_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_set_tiling(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_get_tiling(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int i915_gem_wait_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +void i915_gem_load(struct drm_device *dev); +int i915_gem_init_object(struct drm_gem_object *obj); +void i915_gem_object_init(struct drm_i915_gem_object *obj, + const struct drm_i915_gem_object_ops *ops); +struct drm_i915_gem_object *i915_gem_alloc_object(struct drm_device *dev, + size_t size); +void i915_gem_free_object(struct drm_gem_object *obj); +int __must_check i915_gem_object_pin(struct drm_i915_gem_object *obj, + uint32_t alignment, + bool map_and_fenceable, + bool nonblocking); +void i915_gem_object_unpin(struct drm_i915_gem_object *obj); +int __must_check i915_gem_object_unbind(struct drm_i915_gem_object *obj); +void i915_gem_release_mmap(struct drm_i915_gem_object *obj); +void i915_gem_lastclose(struct drm_device *dev); + +int __must_check i915_gem_object_get_pages(struct drm_i915_gem_object *obj); +static inline struct page *i915_gem_object_get_page(struct drm_i915_gem_object *obj, int n) +{ + struct scatterlist *sg = obj->pages->sgl; + int nents = obj->pages->nents; + while (nents > SG_MAX_SINGLE_ALLOC) { + if (n < SG_MAX_SINGLE_ALLOC - 1) + break; + + sg = sg_chain_ptr(sg + SG_MAX_SINGLE_ALLOC - 1); + n -= SG_MAX_SINGLE_ALLOC - 1; + nents -= SG_MAX_SINGLE_ALLOC - 1; + } + return sg_page(sg+n); +} +static inline void i915_gem_object_pin_pages(struct drm_i915_gem_object *obj) +{ + BUG_ON(obj->pages == NULL); + obj->pages_pin_count++; +} +static inline void i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj) +{ + BUG_ON(obj->pages_pin_count == 0); + obj->pages_pin_count--; +} + +int __must_check i915_mutex_lock_interruptible(struct drm_device *dev); +int i915_gem_object_sync(struct drm_i915_gem_object *obj, + struct intel_ring_buffer *to); +void i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, + struct intel_ring_buffer *ring, + u32 seqno); + +int i915_gem_dumb_create(struct drm_file *file_priv, + struct drm_device *dev, + struct drm_mode_create_dumb *args); +int i915_gem_mmap_gtt(struct drm_file *file_priv, struct drm_device *dev, + uint32_t handle, uint64_t *offset); +int i915_gem_dumb_destroy(struct drm_file *file_priv, struct drm_device *dev, + uint32_t handle); +/** + * Returns true if seq1 is later than seq2. + */ +static inline bool +i915_seqno_passed(uint32_t seq1, uint32_t seq2) +{ + return (int32_t)(seq1 - seq2) >= 0; +} + +u32 i915_gem_next_request_seqno(struct intel_ring_buffer *ring); + +int __must_check i915_gem_object_get_fence(struct drm_i915_gem_object *obj); +int __must_check i915_gem_object_put_fence(struct drm_i915_gem_object *obj); + +static inline bool +i915_gem_object_pin_fence(struct drm_i915_gem_object *obj) +{ + if (obj->fence_reg != I915_FENCE_REG_NONE) { + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + dev_priv->fence_regs[obj->fence_reg].pin_count++; + return true; + } else + return false; +} + +static inline void +i915_gem_object_unpin_fence(struct drm_i915_gem_object *obj) +{ + if (obj->fence_reg != I915_FENCE_REG_NONE) { + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + dev_priv->fence_regs[obj->fence_reg].pin_count--; + } +} + +void i915_gem_retire_requests(struct drm_device *dev); +void i915_gem_retire_requests_ring(struct intel_ring_buffer *ring); +int __must_check i915_gem_check_wedge(struct drm_i915_private *dev_priv, + bool interruptible); + +void i915_gem_reset(struct drm_device *dev); +void i915_gem_clflush_object(struct drm_i915_gem_object *obj); +int __must_check i915_gem_object_set_domain(struct drm_i915_gem_object *obj, + uint32_t read_domains, + uint32_t write_domain); +int __must_check i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj); +int __must_check i915_gem_init(struct drm_device *dev); +int __must_check i915_gem_init_hw(struct drm_device *dev); +void i915_gem_l3_remap(struct drm_device *dev); +void i915_gem_init_swizzling(struct drm_device *dev); +void i915_gem_init_ppgtt(struct drm_device *dev); +void i915_gem_cleanup_ringbuffer(struct drm_device *dev); +int __must_check i915_gpu_idle(struct drm_device *dev); +int __must_check i915_gem_idle(struct drm_device *dev); +int i915_add_request(struct intel_ring_buffer *ring, + struct drm_file *file, + u32 *seqno); +int __must_check i915_wait_seqno(struct intel_ring_buffer *ring, + uint32_t seqno); +int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf); +int __must_check +i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, + bool write); +int __must_check +i915_gem_object_set_to_cpu_domain(struct drm_i915_gem_object *obj, bool write); +int __must_check +i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj, + u32 alignment, + struct intel_ring_buffer *pipelined); +int i915_gem_attach_phys_object(struct drm_device *dev, + struct drm_i915_gem_object *obj, + int id, + int align); +void i915_gem_detach_phys_object(struct drm_device *dev, + struct drm_i915_gem_object *obj); +void i915_gem_free_all_phys_object(struct drm_device *dev); +void i915_gem_release(struct drm_device *dev, struct drm_file *file); + +uint32_t +i915_gem_get_unfenced_gtt_alignment(struct drm_device *dev, + uint32_t size, + int tiling_mode); + +int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj, + enum i915_cache_level cache_level); + +struct drm_gem_object *i915_gem_prime_import(struct drm_device *dev, + struct dma_buf *dma_buf); + +struct dma_buf *i915_gem_prime_export(struct drm_device *dev, + struct drm_gem_object *gem_obj, int flags); + +/* i915_gem_context.c */ +void i915_gem_context_init(struct drm_device *dev); +void i915_gem_context_fini(struct drm_device *dev); +void i915_gem_context_close(struct drm_device *dev, struct drm_file *file); +int i915_switch_context(struct intel_ring_buffer *ring, + struct drm_file *file, int to_id); +int i915_gem_context_create_ioctl(struct drm_device *dev, void *data, + struct drm_file *file); +int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file); + +/* i915_gem_gtt.c */ +int __must_check i915_gem_init_aliasing_ppgtt(struct drm_device *dev); +void i915_gem_cleanup_aliasing_ppgtt(struct drm_device *dev); +void i915_ppgtt_bind_object(struct i915_hw_ppgtt *ppgtt, + struct drm_i915_gem_object *obj, + enum i915_cache_level cache_level); +void i915_ppgtt_unbind_object(struct i915_hw_ppgtt *ppgtt, + struct drm_i915_gem_object *obj); + +void i915_gem_restore_gtt_mappings(struct drm_device *dev); +int __must_check i915_gem_gtt_prepare_object(struct drm_i915_gem_object *obj); +void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj, + enum i915_cache_level cache_level); +void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj); +void i915_gem_gtt_finish_object(struct drm_i915_gem_object *obj); +void i915_gem_init_global_gtt(struct drm_device *dev, + unsigned long start, + unsigned long mappable_end, + unsigned long end); +int i915_gem_gtt_init(struct drm_device *dev); +void i915_gem_gtt_fini(struct drm_device *dev); +static inline void i915_gem_chipset_flush(struct drm_device *dev) +{ + if (INTEL_INFO(dev)->gen < 6) + intel_gtt_chipset_flush(); +} + + +/* i915_gem_evict.c */ +int __must_check i915_gem_evict_something(struct drm_device *dev, int min_size, + unsigned alignment, + unsigned cache_level, + bool mappable, + bool nonblock); +int i915_gem_evict_everything(struct drm_device *dev); + +/* i915_gem_stolen.c */ +int i915_gem_init_stolen(struct drm_device *dev); +void i915_gem_cleanup_stolen(struct drm_device *dev); + +/* i915_gem_tiling.c */ +void i915_gem_detect_bit_6_swizzle(struct drm_device *dev); +void i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj); +void i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj); + +/* i915_gem_debug.c */ +void i915_gem_dump_object(struct drm_i915_gem_object *obj, int len, + const char *where, uint32_t mark); +#if WATCH_LISTS +int i915_verify_lists(struct drm_device *dev); +#else +#define i915_verify_lists(dev) 0 +#endif +void i915_gem_object_check_coherency(struct drm_i915_gem_object *obj, + int handle); +void i915_gem_dump_object(struct drm_i915_gem_object *obj, int len, + const char *where, uint32_t mark); + +/* i915_debugfs.c */ +int i915_debugfs_init(struct drm_minor *minor); +void i915_debugfs_cleanup(struct drm_minor *minor); + +/* i915_suspend.c */ +extern int i915_save_state(struct drm_device *dev); +extern int i915_restore_state(struct drm_device *dev); + +/* i915_suspend.c */ +extern int i915_save_state(struct drm_device *dev); +extern int i915_restore_state(struct drm_device *dev); + +/* i915_sysfs.c */ +void i915_setup_sysfs(struct drm_device *dev_priv); +void i915_teardown_sysfs(struct drm_device *dev_priv); + +/* intel_i2c.c */ +extern int intel_setup_gmbus(struct drm_device *dev); +extern void intel_teardown_gmbus(struct drm_device *dev); +extern inline bool intel_gmbus_is_port_valid(unsigned port) +{ + return (port >= GMBUS_PORT_SSC && port <= GMBUS_PORT_DPD); +} + +extern struct i2c_adapter *intel_gmbus_get_adapter( + struct drm_i915_private *dev_priv, unsigned port); +extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed); +extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit); +extern inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter) +{ + return container_of(adapter, struct intel_gmbus, adapter)->force_bit; +} +extern void intel_i2c_reset(struct drm_device *dev); + +/* intel_opregion.c */ +extern int intel_opregion_setup(struct drm_device *dev); +#ifdef CONFIG_ACPI +extern void intel_opregion_init(struct drm_device *dev); +extern void intel_opregion_fini(struct drm_device *dev); +extern void intel_opregion_asle_intr(struct drm_device *dev); +extern void intel_opregion_gse_intr(struct drm_device *dev); +extern void intel_opregion_enable_asle(struct drm_device *dev); +#else +static inline void intel_opregion_init(struct drm_device *dev) { return; } +static inline void intel_opregion_fini(struct drm_device *dev) { return; } +static inline void intel_opregion_asle_intr(struct drm_device *dev) { return; } +static inline void intel_opregion_gse_intr(struct drm_device *dev) { return; } +static inline void intel_opregion_enable_asle(struct drm_device *dev) { return; } +#endif + +/* intel_acpi.c */ +#ifdef CONFIG_ACPI +extern void intel_register_dsm_handler(void); +extern void intel_unregister_dsm_handler(void); +#else +static inline void intel_register_dsm_handler(void) { return; } +static inline void intel_unregister_dsm_handler(void) { return; } +#endif /* CONFIG_ACPI */ + +/* modesetting */ +extern void intel_modeset_init_hw(struct drm_device *dev); +extern void intel_modeset_init(struct drm_device *dev); +extern void intel_modeset_gem_init(struct drm_device *dev); +extern void intel_modeset_cleanup(struct drm_device *dev); +extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state); +extern void intel_modeset_setup_hw_state(struct drm_device *dev); +extern bool intel_fbc_enabled(struct drm_device *dev); +extern void intel_disable_fbc(struct drm_device *dev); +extern bool ironlake_set_drps(struct drm_device *dev, u8 val); +extern void intel_init_pch_refclk(struct drm_device *dev); +extern void gen6_set_rps(struct drm_device *dev, u8 val); +extern void intel_detect_pch(struct drm_device *dev); +extern int intel_trans_dp_port_sel(struct drm_crtc *crtc); +extern int intel_enable_rc6(const struct drm_device *dev); + +extern bool i915_semaphore_is_enabled(struct drm_device *dev); +int i915_reg_read_ioctl(struct drm_device *dev, void *data, + struct drm_file *file); + +/* overlay */ +#ifdef CONFIG_DEBUG_FS +extern struct intel_overlay_error_state *intel_overlay_capture_error_state(struct drm_device *dev); +extern void intel_overlay_print_error_state(struct seq_file *m, struct intel_overlay_error_state *error); + +extern struct intel_display_error_state *intel_display_capture_error_state(struct drm_device *dev); +extern void intel_display_print_error_state(struct seq_file *m, + struct drm_device *dev, + struct intel_display_error_state *error); +#endif + +/* On SNB platform, before reading ring registers forcewake bit + * must be set to prevent GT core from power down and stale values being + * returned. + */ +void gen6_gt_force_wake_get(struct drm_i915_private *dev_priv); +void gen6_gt_force_wake_put(struct drm_i915_private *dev_priv); +int __gen6_gt_wait_for_fifo(struct drm_i915_private *dev_priv); + +int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val); +int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u8 mbox, u32 val); + +#define __i915_read(x, y) \ + u##x i915_read##x(struct drm_i915_private *dev_priv, u32 reg); + +__i915_read(8, b) +__i915_read(16, w) +__i915_read(32, l) +__i915_read(64, q) +#undef __i915_read + +#define __i915_write(x, y) \ + void i915_write##x(struct drm_i915_private *dev_priv, u32 reg, u##x val); + +__i915_write(8, b) +__i915_write(16, w) +__i915_write(32, l) +__i915_write(64, q) +#undef __i915_write + +#define I915_READ8(reg) i915_read8(dev_priv, (reg)) +#define I915_WRITE8(reg, val) i915_write8(dev_priv, (reg), (val)) + +#define I915_READ16(reg) i915_read16(dev_priv, (reg)) +#define I915_WRITE16(reg, val) i915_write16(dev_priv, (reg), (val)) +#define I915_READ16_NOTRACE(reg) readw(dev_priv->regs + (reg)) +#define I915_WRITE16_NOTRACE(reg, val) writew(val, dev_priv->regs + (reg)) + +#define I915_READ(reg) i915_read32(dev_priv, (reg)) +#define I915_WRITE(reg, val) i915_write32(dev_priv, (reg), (val)) +#define I915_READ_NOTRACE(reg) readl(dev_priv->regs + (reg)) +#define I915_WRITE_NOTRACE(reg, val) writel(val, dev_priv->regs + (reg)) + +#define I915_WRITE64(reg, val) i915_write64(dev_priv, (reg), (val)) +#define I915_READ64(reg) i915_read64(dev_priv, (reg)) + +#define POSTING_READ(reg) (void)I915_READ_NOTRACE(reg) +#define POSTING_READ16(reg) (void)I915_READ16_NOTRACE(reg) + + +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem.c @@ -0,0 +1,4396 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_trace.h" +#include "intel_drv.h" +#include +#include +#include +#include +#include + +static void i915_gem_object_flush_gtt_write_domain(struct drm_i915_gem_object *obj); +static void i915_gem_object_flush_cpu_write_domain(struct drm_i915_gem_object *obj); +static __must_check int i915_gem_object_bind_to_gtt(struct drm_i915_gem_object *obj, + unsigned alignment, + bool map_and_fenceable, + bool nonblocking); +static int i915_gem_phys_pwrite(struct drm_device *dev, + struct drm_i915_gem_object *obj, + struct drm_i915_gem_pwrite *args, + struct drm_file *file); + +static void i915_gem_write_fence(struct drm_device *dev, int reg, + struct drm_i915_gem_object *obj); +static void i915_gem_object_update_fence(struct drm_i915_gem_object *obj, + struct drm_i915_fence_reg *fence, + bool enable); + +static int i915_gem_inactive_shrink(struct shrinker *shrinker, + struct shrink_control *sc); +static long i915_gem_purge(struct drm_i915_private *dev_priv, long target); +static void i915_gem_shrink_all(struct drm_i915_private *dev_priv); +static void i915_gem_object_truncate(struct drm_i915_gem_object *obj); + +static inline void i915_gem_object_fence_lost(struct drm_i915_gem_object *obj) +{ + if (obj->tiling_mode) + i915_gem_release_mmap(obj); + + /* As we do not have an associated fence register, we will force + * a tiling change if we ever need to acquire one. + */ + obj->fence_dirty = false; + obj->fence_reg = I915_FENCE_REG_NONE; +} + +/* some bookkeeping */ +static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv, + size_t size) +{ + dev_priv->mm.object_count++; + dev_priv->mm.object_memory += size; +} + +static void i915_gem_info_remove_obj(struct drm_i915_private *dev_priv, + size_t size) +{ + dev_priv->mm.object_count--; + dev_priv->mm.object_memory -= size; +} + +static int +i915_gem_wait_for_error(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct completion *x = &dev_priv->error_completion; + unsigned long flags; + int ret; + + if (!atomic_read(&dev_priv->mm.wedged)) + return 0; + + /* + * Only wait 10 seconds for the gpu reset to complete to avoid hanging + * userspace. If it takes that long something really bad is going on and + * we should simply try to bail out and fail as gracefully as possible. + */ + ret = wait_for_completion_interruptible_timeout(x, 10*HZ); + if (ret == 0) { + DRM_ERROR("Timed out waiting for the gpu reset to complete\n"); + return -EIO; + } else if (ret < 0) { + return ret; + } + + if (atomic_read(&dev_priv->mm.wedged)) { + /* GPU is hung, bump the completion count to account for + * the token we just consumed so that we never hit zero and + * end up waiting upon a subsequent completion event that + * will never happen. + */ + spin_lock_irqsave(&x->wait.lock, flags); + x->done++; + spin_unlock_irqrestore(&x->wait.lock, flags); + } + return 0; +} + +int i915_mutex_lock_interruptible(struct drm_device *dev) +{ + int ret; + + ret = i915_gem_wait_for_error(dev); + if (ret) + return ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + + WARN_ON(i915_verify_lists(dev)); + return 0; +} + +static inline bool +i915_gem_object_is_inactive(struct drm_i915_gem_object *obj) +{ + return obj->gtt_space && !obj->active; +} + +int +i915_gem_init_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_init *args = data; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + if (args->gtt_start >= args->gtt_end || + (args->gtt_end | args->gtt_start) & (PAGE_SIZE - 1)) + return -EINVAL; + + /* GEM with user mode setting was never supported on ilk and later. */ + if (INTEL_INFO(dev)->gen >= 5) + return -ENODEV; + + mutex_lock(&dev->struct_mutex); + i915_gem_init_global_gtt(dev, args->gtt_start, + args->gtt_end, args->gtt_end); + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +int +i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_get_aperture *args = data; + struct drm_i915_gem_object *obj; + size_t pinned; + + pinned = 0; + mutex_lock(&dev->struct_mutex); + list_for_each_entry(obj, &dev_priv->mm.bound_list, gtt_list) + if (obj->pin_count) + pinned += obj->gtt_space->size; + mutex_unlock(&dev->struct_mutex); + + args->aper_size = dev_priv->mm.gtt_total; + args->aper_available_size = args->aper_size - pinned; + + return 0; +} + +static int +i915_gem_create(struct drm_file *file, + struct drm_device *dev, + uint64_t size, + uint32_t *handle_p) +{ + struct drm_i915_gem_object *obj; + int ret; + u32 handle; + + size = roundup(size, PAGE_SIZE); + if (size == 0) + return -EINVAL; + + /* Allocate the new object */ + obj = i915_gem_alloc_object(dev, size); + if (obj == NULL) + return -ENOMEM; + + ret = drm_gem_handle_create(file, &obj->base, &handle); + if (ret) { + drm_gem_object_release(&obj->base); + i915_gem_info_remove_obj(dev->dev_private, obj->base.size); + kfree(obj); + return ret; + } + + /* drop reference from allocate - handle holds it now */ + drm_gem_object_unreference(&obj->base); + trace_i915_gem_object_create(obj); + + *handle_p = handle; + return 0; +} + +int +i915_gem_dumb_create(struct drm_file *file, + struct drm_device *dev, + struct drm_mode_create_dumb *args) +{ + /* have to work out size/pitch and return them */ + args->pitch = ALIGN(args->width * ((args->bpp + 7) / 8), 64); + args->size = args->pitch * args->height; + return i915_gem_create(file, dev, + args->size, &args->handle); +} + +int i915_gem_dumb_destroy(struct drm_file *file, + struct drm_device *dev, + uint32_t handle) +{ + return drm_gem_handle_delete(file, handle); +} + +/** + * Creates a new mm object and returns a handle to it. + */ +int +i915_gem_create_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_create *args = data; + + return i915_gem_create(file, dev, + args->size, &args->handle); +} + +static int i915_gem_object_needs_bit17_swizzle(struct drm_i915_gem_object *obj) +{ + drm_i915_private_t *dev_priv = obj->base.dev->dev_private; + + return dev_priv->mm.bit_6_swizzle_x == I915_BIT_6_SWIZZLE_9_10_17 && + obj->tiling_mode != I915_TILING_NONE; +} + +static inline int +__copy_to_user_swizzled(char __user *cpu_vaddr, + const char *gpu_vaddr, int gpu_offset, + int length) +{ + int ret, cpu_offset = 0; + + while (length > 0) { + int cacheline_end = ALIGN(gpu_offset + 1, 64); + int this_length = min(cacheline_end - gpu_offset, length); + int swizzled_gpu_offset = gpu_offset ^ 64; + + ret = __copy_to_user(cpu_vaddr + cpu_offset, + gpu_vaddr + swizzled_gpu_offset, + this_length); + if (ret) + return ret + length; + + cpu_offset += this_length; + gpu_offset += this_length; + length -= this_length; + } + + return 0; +} + +static inline int +__copy_from_user_swizzled(char *gpu_vaddr, int gpu_offset, + const char __user *cpu_vaddr, + int length) +{ + int ret, cpu_offset = 0; + + while (length > 0) { + int cacheline_end = ALIGN(gpu_offset + 1, 64); + int this_length = min(cacheline_end - gpu_offset, length); + int swizzled_gpu_offset = gpu_offset ^ 64; + + ret = __copy_from_user(gpu_vaddr + swizzled_gpu_offset, + cpu_vaddr + cpu_offset, + this_length); + if (ret) + return ret + length; + + cpu_offset += this_length; + gpu_offset += this_length; + length -= this_length; + } + + return 0; +} + +/* Per-page copy function for the shmem pread fastpath. + * Flushes invalid cachelines before reading the target if + * needs_clflush is set. */ +static int +shmem_pread_fast(struct page *page, int shmem_page_offset, int page_length, + char __user *user_data, + bool page_do_bit17_swizzling, bool needs_clflush) +{ + char *vaddr; + int ret; + + if (unlikely(page_do_bit17_swizzling)) + return -EINVAL; + + vaddr = kmap_atomic(page); + if (needs_clflush) + drm_clflush_virt_range(vaddr + shmem_page_offset, + page_length); + ret = __copy_to_user_inatomic(user_data, + vaddr + shmem_page_offset, + page_length); + kunmap_atomic(vaddr); + + return ret ? -EFAULT : 0; +} + +static void +shmem_clflush_swizzled_range(char *addr, unsigned long length, + bool swizzled) +{ + if (unlikely(swizzled)) { + unsigned long start = (unsigned long) addr; + unsigned long end = (unsigned long) addr + length; + + /* For swizzling simply ensure that we always flush both + * channels. Lame, but simple and it works. Swizzled + * pwrite/pread is far from a hotpath - current userspace + * doesn't use it at all. */ + start = round_down(start, 128); + end = round_up(end, 128); + + drm_clflush_virt_range((void *)start, end - start); + } else { + drm_clflush_virt_range(addr, length); + } + +} + +/* Only difference to the fast-path function is that this can handle bit17 + * and uses non-atomic copy and kmap functions. */ +static int +shmem_pread_slow(struct page *page, int shmem_page_offset, int page_length, + char __user *user_data, + bool page_do_bit17_swizzling, bool needs_clflush) +{ + char *vaddr; + int ret; + + vaddr = kmap(page); + if (needs_clflush) + shmem_clflush_swizzled_range(vaddr + shmem_page_offset, + page_length, + page_do_bit17_swizzling); + + if (page_do_bit17_swizzling) + ret = __copy_to_user_swizzled(user_data, + vaddr, shmem_page_offset, + page_length); + else + ret = __copy_to_user(user_data, + vaddr + shmem_page_offset, + page_length); + kunmap(page); + + return ret ? - EFAULT : 0; +} + +static int +i915_gem_shmem_pread(struct drm_device *dev, + struct drm_i915_gem_object *obj, + struct drm_i915_gem_pread *args, + struct drm_file *file) +{ + char __user *user_data; + ssize_t remain; + loff_t offset; + int shmem_page_offset, page_length, ret = 0; + int obj_do_bit17_swizzling, page_do_bit17_swizzling; + int hit_slowpath = 0; + int prefaulted = 0; + int needs_clflush = 0; + struct scatterlist *sg; + int i; + + user_data = (char __user *) (uintptr_t) args->data_ptr; + remain = args->size; + + obj_do_bit17_swizzling = i915_gem_object_needs_bit17_swizzle(obj); + + if (!(obj->base.read_domains & I915_GEM_DOMAIN_CPU)) { + /* If we're not in the cpu read domain, set ourself into the gtt + * read domain and manually flush cachelines (if required). This + * optimizes for the case when the gpu will dirty the data + * anyway again before the next pread happens. */ + if (obj->cache_level == I915_CACHE_NONE) + needs_clflush = 1; + if (obj->gtt_space) { + ret = i915_gem_object_set_to_gtt_domain(obj, false); + if (ret) + return ret; + } + } + + ret = i915_gem_object_get_pages(obj); + if (ret) + return ret; + + i915_gem_object_pin_pages(obj); + + offset = args->offset; + + for_each_sg(obj->pages->sgl, sg, obj->pages->nents, i) { + struct page *page; + + if (i < offset >> PAGE_SHIFT) + continue; + + if (remain <= 0) + break; + + /* Operation in this page + * + * shmem_page_offset = offset within page in shmem file + * page_length = bytes to copy for this page + */ + shmem_page_offset = offset_in_page(offset); + page_length = remain; + if ((shmem_page_offset + page_length) > PAGE_SIZE) + page_length = PAGE_SIZE - shmem_page_offset; + + page = sg_page(sg); + page_do_bit17_swizzling = obj_do_bit17_swizzling && + (page_to_phys(page) & (1 << 17)) != 0; + + ret = shmem_pread_fast(page, shmem_page_offset, page_length, + user_data, page_do_bit17_swizzling, + needs_clflush); + if (ret == 0) + goto next_page; + + hit_slowpath = 1; + mutex_unlock(&dev->struct_mutex); + + if (!prefaulted) { + ret = fault_in_multipages_writeable(user_data, remain); + /* Userspace is tricking us, but we've already clobbered + * its pages with the prefault and promised to write the + * data up to the first fault. Hence ignore any errors + * and just continue. */ + (void)ret; + prefaulted = 1; + } + + ret = shmem_pread_slow(page, shmem_page_offset, page_length, + user_data, page_do_bit17_swizzling, + needs_clflush); + + mutex_lock(&dev->struct_mutex); + +next_page: + mark_page_accessed(page); + + if (ret) + goto out; + + remain -= page_length; + user_data += page_length; + offset += page_length; + } + +out: + i915_gem_object_unpin_pages(obj); + + if (hit_slowpath) { + /* Fixup: Kill any reinstated backing storage pages */ + if (obj->madv == __I915_MADV_PURGED) + i915_gem_object_truncate(obj); + } + + return ret; +} + +/** + * Reads data from the object referenced by handle. + * + * On error, the contents of *data are undefined. + */ +int +i915_gem_pread_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_pread *args = data; + struct drm_i915_gem_object *obj; + int ret = 0; + + if (args->size == 0) + return 0; + + if (!access_ok(VERIFY_WRITE, + (char __user *)(uintptr_t)args->data_ptr, + args->size)) + return -EFAULT; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + /* Bounds check source. */ + if (args->offset > obj->base.size || + args->size > obj->base.size - args->offset) { + ret = -EINVAL; + goto out; + } + + /* prime objects have no backing filp to GEM pread/pwrite + * pages from. + */ + if (!obj->base.filp) { + ret = -EINVAL; + goto out; + } + + trace_i915_gem_object_pread(obj, args->offset, args->size); + + ret = i915_gem_shmem_pread(dev, obj, args, file); + +out: + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +/* This is the fast write path which cannot handle + * page faults in the source data + */ + +static inline int +fast_user_write(struct io_mapping *mapping, + loff_t page_base, int page_offset, + char __user *user_data, + int length) +{ + void __iomem *vaddr_atomic; + void *vaddr; + unsigned long unwritten; + + vaddr_atomic = io_mapping_map_atomic_wc(mapping, page_base); + /* We can use the cpu mem copy function because this is X86. */ + vaddr = (void __force*)vaddr_atomic + page_offset; + unwritten = __copy_from_user_inatomic_nocache(vaddr, + user_data, length); + io_mapping_unmap_atomic(vaddr_atomic); + return unwritten; +} + +/** + * This is the fast pwrite path, where we copy the data directly from the + * user into the GTT, uncached. + */ +static int +i915_gem_gtt_pwrite_fast(struct drm_device *dev, + struct drm_i915_gem_object *obj, + struct drm_i915_gem_pwrite *args, + struct drm_file *file) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + ssize_t remain; + loff_t offset, page_base; + char __user *user_data; + int page_offset, page_length, ret; + + ret = i915_gem_object_pin(obj, 0, true, true); + if (ret) + goto out; + + ret = i915_gem_object_set_to_gtt_domain(obj, true); + if (ret) + goto out_unpin; + + ret = i915_gem_object_put_fence(obj); + if (ret) + goto out_unpin; + + user_data = (char __user *) (uintptr_t) args->data_ptr; + remain = args->size; + + offset = obj->gtt_offset + args->offset; + + while (remain > 0) { + /* Operation in this page + * + * page_base = page offset within aperture + * page_offset = offset within page + * page_length = bytes to copy for this page + */ + page_base = offset & PAGE_MASK; + page_offset = offset_in_page(offset); + page_length = remain; + if ((page_offset + remain) > PAGE_SIZE) + page_length = PAGE_SIZE - page_offset; + + /* If we get a fault while copying data, then (presumably) our + * source page isn't available. Return the error and we'll + * retry in the slow path. + */ + if (fast_user_write(dev_priv->mm.gtt_mapping, page_base, + page_offset, user_data, page_length)) { + ret = -EFAULT; + goto out_unpin; + } + + remain -= page_length; + user_data += page_length; + offset += page_length; + } + +out_unpin: + i915_gem_object_unpin(obj); +out: + return ret; +} + +/* Per-page copy function for the shmem pwrite fastpath. + * Flushes invalid cachelines before writing to the target if + * needs_clflush_before is set and flushes out any written cachelines after + * writing if needs_clflush is set. */ +static int +shmem_pwrite_fast(struct page *page, int shmem_page_offset, int page_length, + char __user *user_data, + bool page_do_bit17_swizzling, + bool needs_clflush_before, + bool needs_clflush_after) +{ + char *vaddr; + int ret; + + if (unlikely(page_do_bit17_swizzling)) + return -EINVAL; + + vaddr = kmap_atomic(page); + if (needs_clflush_before) + drm_clflush_virt_range(vaddr + shmem_page_offset, + page_length); + ret = __copy_from_user_inatomic_nocache(vaddr + shmem_page_offset, + user_data, + page_length); + if (needs_clflush_after) + drm_clflush_virt_range(vaddr + shmem_page_offset, + page_length); + kunmap_atomic(vaddr); + + return ret ? -EFAULT : 0; +} + +/* Only difference to the fast-path function is that this can handle bit17 + * and uses non-atomic copy and kmap functions. */ +static int +shmem_pwrite_slow(struct page *page, int shmem_page_offset, int page_length, + char __user *user_data, + bool page_do_bit17_swizzling, + bool needs_clflush_before, + bool needs_clflush_after) +{ + char *vaddr; + int ret; + + vaddr = kmap(page); + if (unlikely(needs_clflush_before || page_do_bit17_swizzling)) + shmem_clflush_swizzled_range(vaddr + shmem_page_offset, + page_length, + page_do_bit17_swizzling); + if (page_do_bit17_swizzling) + ret = __copy_from_user_swizzled(vaddr, shmem_page_offset, + user_data, + page_length); + else + ret = __copy_from_user(vaddr + shmem_page_offset, + user_data, + page_length); + if (needs_clflush_after) + shmem_clflush_swizzled_range(vaddr + shmem_page_offset, + page_length, + page_do_bit17_swizzling); + kunmap(page); + + return ret ? -EFAULT : 0; +} + +static int +i915_gem_shmem_pwrite(struct drm_device *dev, + struct drm_i915_gem_object *obj, + struct drm_i915_gem_pwrite *args, + struct drm_file *file) +{ + ssize_t remain; + loff_t offset; + char __user *user_data; + int shmem_page_offset, page_length, ret = 0; + int obj_do_bit17_swizzling, page_do_bit17_swizzling; + int hit_slowpath = 0; + int needs_clflush_after = 0; + int needs_clflush_before = 0; + int i; + struct scatterlist *sg; + + user_data = (char __user *) (uintptr_t) args->data_ptr; + remain = args->size; + + obj_do_bit17_swizzling = i915_gem_object_needs_bit17_swizzle(obj); + + if (obj->base.write_domain != I915_GEM_DOMAIN_CPU) { + /* If we're not in the cpu write domain, set ourself into the gtt + * write domain and manually flush cachelines (if required). This + * optimizes for the case when the gpu will use the data + * right away and we therefore have to clflush anyway. */ + if (obj->cache_level == I915_CACHE_NONE) + needs_clflush_after = 1; + if (obj->gtt_space) { + ret = i915_gem_object_set_to_gtt_domain(obj, true); + if (ret) + return ret; + } + } + /* Same trick applies for invalidate partially written cachelines before + * writing. */ + if (!(obj->base.read_domains & I915_GEM_DOMAIN_CPU) + && obj->cache_level == I915_CACHE_NONE) + needs_clflush_before = 1; + + ret = i915_gem_object_get_pages(obj); + if (ret) + return ret; + + i915_gem_object_pin_pages(obj); + + offset = args->offset; + obj->dirty = 1; + + for_each_sg(obj->pages->sgl, sg, obj->pages->nents, i) { + struct page *page; + int partial_cacheline_write; + + if (i < offset >> PAGE_SHIFT) + continue; + + if (remain <= 0) + break; + + /* Operation in this page + * + * shmem_page_offset = offset within page in shmem file + * page_length = bytes to copy for this page + */ + shmem_page_offset = offset_in_page(offset); + + page_length = remain; + if ((shmem_page_offset + page_length) > PAGE_SIZE) + page_length = PAGE_SIZE - shmem_page_offset; + + /* If we don't overwrite a cacheline completely we need to be + * careful to have up-to-date data by first clflushing. Don't + * overcomplicate things and flush the entire patch. */ + partial_cacheline_write = needs_clflush_before && + ((shmem_page_offset | page_length) + & (boot_cpu_data.x86_clflush_size - 1)); + + page = sg_page(sg); + page_do_bit17_swizzling = obj_do_bit17_swizzling && + (page_to_phys(page) & (1 << 17)) != 0; + + ret = shmem_pwrite_fast(page, shmem_page_offset, page_length, + user_data, page_do_bit17_swizzling, + partial_cacheline_write, + needs_clflush_after); + if (ret == 0) + goto next_page; + + hit_slowpath = 1; + mutex_unlock(&dev->struct_mutex); + ret = shmem_pwrite_slow(page, shmem_page_offset, page_length, + user_data, page_do_bit17_swizzling, + partial_cacheline_write, + needs_clflush_after); + + mutex_lock(&dev->struct_mutex); + +next_page: + set_page_dirty(page); + mark_page_accessed(page); + + if (ret) + goto out; + + remain -= page_length; + user_data += page_length; + offset += page_length; + } + +out: + i915_gem_object_unpin_pages(obj); + + if (hit_slowpath) { + /* Fixup: Kill any reinstated backing storage pages */ + if (obj->madv == __I915_MADV_PURGED) + i915_gem_object_truncate(obj); + /* and flush dirty cachelines in case the object isn't in the cpu write + * domain anymore. */ + if (obj->base.write_domain != I915_GEM_DOMAIN_CPU) { + i915_gem_clflush_object(obj); + i915_gem_chipset_flush(dev); + } + } + + if (needs_clflush_after) + i915_gem_chipset_flush(dev); + + return ret; +} + +/** + * Writes data to the object referenced by handle. + * + * On error, the contents of the buffer that were to be modified are undefined. + */ +int +i915_gem_pwrite_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_pwrite *args = data; + struct drm_i915_gem_object *obj; + int ret; + + if (args->size == 0) + return 0; + + if (!access_ok(VERIFY_READ, + (char __user *)(uintptr_t)args->data_ptr, + args->size)) + return -EFAULT; + + ret = fault_in_multipages_readable((char __user *)(uintptr_t)args->data_ptr, + args->size); + if (ret) + return -EFAULT; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + /* Bounds check destination. */ + if (args->offset > obj->base.size || + args->size > obj->base.size - args->offset) { + ret = -EINVAL; + goto out; + } + + /* prime objects have no backing filp to GEM pread/pwrite + * pages from. + */ + if (!obj->base.filp) { + ret = -EINVAL; + goto out; + } + + trace_i915_gem_object_pwrite(obj, args->offset, args->size); + + ret = -EFAULT; + /* We can only do the GTT pwrite on untiled buffers, as otherwise + * it would end up going through the fenced access, and we'll get + * different detiling behavior between reading and writing. + * pread/pwrite currently are reading and writing from the CPU + * perspective, requiring manual detiling by the client. + */ + if (obj->phys_obj) { + ret = i915_gem_phys_pwrite(dev, obj, args, file); + goto out; + } + + if (obj->cache_level == I915_CACHE_NONE && + obj->tiling_mode == I915_TILING_NONE && + obj->base.write_domain != I915_GEM_DOMAIN_CPU) { + ret = i915_gem_gtt_pwrite_fast(dev, obj, args, file); + /* Note that the gtt paths might fail with non-page-backed user + * pointers (e.g. gtt mappings when moving data between + * textures). Fallback to the shmem path in that case. */ + } + + if (ret == -EFAULT || ret == -ENOSPC) + ret = i915_gem_shmem_pwrite(dev, obj, args, file); + +out: + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int +i915_gem_check_wedge(struct drm_i915_private *dev_priv, + bool interruptible) +{ + if (atomic_read(&dev_priv->mm.wedged)) { + struct completion *x = &dev_priv->error_completion; + bool recovery_complete; + unsigned long flags; + + /* Give the error handler a chance to run. */ + spin_lock_irqsave(&x->wait.lock, flags); + recovery_complete = x->done > 0; + spin_unlock_irqrestore(&x->wait.lock, flags); + + /* Non-interruptible callers can't handle -EAGAIN, hence return + * -EIO unconditionally for these. */ + if (!interruptible) + return -EIO; + + /* Recovery complete, but still wedged means reset failure. */ + if (recovery_complete) + return -EIO; + + return -EAGAIN; + } + + return 0; +} + +/* + * Compare seqno against outstanding lazy request. Emit a request if they are + * equal. + */ +static int +i915_gem_check_olr(struct intel_ring_buffer *ring, u32 seqno) +{ + int ret; + + BUG_ON(!mutex_is_locked(&ring->dev->struct_mutex)); + + ret = 0; + if (seqno == ring->outstanding_lazy_request) + ret = i915_add_request(ring, NULL, NULL); + + return ret; +} + +/** + * __wait_seqno - wait until execution of seqno has finished + * @ring: the ring expected to report seqno + * @seqno: duh! + * @interruptible: do an interruptible wait (normally yes) + * @timeout: in - how long to wait (NULL forever); out - how much time remaining + * + * Returns 0 if the seqno was found within the alloted time. Else returns the + * errno with remaining time filled in timeout argument. + */ +static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno, + bool interruptible, struct timespec *timeout) +{ + drm_i915_private_t *dev_priv = ring->dev->dev_private; + struct timespec before, now, wait_time={1,0}; + unsigned long timeout_jiffies; + long end; + bool wait_forever = true; + int ret; + + if (i915_seqno_passed(ring->get_seqno(ring, true), seqno)) + return 0; + + trace_i915_gem_request_wait_begin(ring, seqno); + + if (timeout != NULL) { + wait_time = *timeout; + wait_forever = false; + } + + timeout_jiffies = timespec_to_jiffies(&wait_time); + + if (WARN_ON(!ring->irq_get(ring))) + return -ENODEV; + + /* Record current time in case interrupted by signal, or wedged * */ + getrawmonotonic(&before); + +#define EXIT_COND \ + (i915_seqno_passed(ring->get_seqno(ring, false), seqno) || \ + atomic_read(&dev_priv->mm.wedged)) + do { + if (interruptible) + end = wait_event_interruptible_timeout(ring->irq_queue, + EXIT_COND, + timeout_jiffies); + else + end = wait_event_timeout(ring->irq_queue, EXIT_COND, + timeout_jiffies); + + ret = i915_gem_check_wedge(dev_priv, interruptible); + if (ret) + end = ret; + } while (end == 0 && wait_forever); + + getrawmonotonic(&now); + + ring->irq_put(ring); + trace_i915_gem_request_wait_end(ring, seqno); +#undef EXIT_COND + + if (timeout) { + struct timespec sleep_time = timespec_sub(now, before); + *timeout = timespec_sub(*timeout, sleep_time); + } + + switch (end) { + case -EIO: + case -EAGAIN: /* Wedged */ + case -ERESTARTSYS: /* Signal */ + return (int)end; + case 0: /* Timeout */ + if (timeout) + set_normalized_timespec(timeout, 0, 0); + return -ETIME; + default: /* Completed */ + WARN_ON(end < 0); /* We're not aware of other errors */ + return 0; + } +} + +/** + * Waits for a sequence number to be signaled, and cleans up the + * request and object lists appropriately for that event. + */ +int +i915_wait_seqno(struct intel_ring_buffer *ring, uint32_t seqno) +{ + struct drm_device *dev = ring->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + bool interruptible = dev_priv->mm.interruptible; + int ret; + + BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + BUG_ON(seqno == 0); + + ret = i915_gem_check_wedge(dev_priv, interruptible); + if (ret) + return ret; + + ret = i915_gem_check_olr(ring, seqno); + if (ret) + return ret; + + return __wait_seqno(ring, seqno, interruptible, NULL); +} + +/** + * Ensures that all rendering to the object has completed and the object is + * safe to unbind from the GTT or access from the CPU. + */ +static __must_check int +i915_gem_object_wait_rendering(struct drm_i915_gem_object *obj, + bool readonly) +{ + struct intel_ring_buffer *ring = obj->ring; + u32 seqno; + int ret; + + seqno = readonly ? obj->last_write_seqno : obj->last_read_seqno; + if (seqno == 0) + return 0; + + ret = i915_wait_seqno(ring, seqno); + if (ret) + return ret; + + i915_gem_retire_requests_ring(ring); + + /* Manually manage the write flush as we may have not yet + * retired the buffer. + */ + if (obj->last_write_seqno && + i915_seqno_passed(seqno, obj->last_write_seqno)) { + obj->last_write_seqno = 0; + obj->base.write_domain &= ~I915_GEM_GPU_DOMAINS; + } + + return 0; +} + +/* A nonblocking variant of the above wait. This is a highly dangerous routine + * as the object state may change during this call. + */ +static __must_check int +i915_gem_object_wait_rendering__nonblocking(struct drm_i915_gem_object *obj, + bool readonly) +{ + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = obj->ring; + u32 seqno; + int ret; + + BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + BUG_ON(!dev_priv->mm.interruptible); + + seqno = readonly ? obj->last_write_seqno : obj->last_read_seqno; + if (seqno == 0) + return 0; + + ret = i915_gem_check_wedge(dev_priv, true); + if (ret) + return ret; + + ret = i915_gem_check_olr(ring, seqno); + if (ret) + return ret; + + mutex_unlock(&dev->struct_mutex); + ret = __wait_seqno(ring, seqno, true, NULL); + mutex_lock(&dev->struct_mutex); + + i915_gem_retire_requests_ring(ring); + + /* Manually manage the write flush as we may have not yet + * retired the buffer. + */ + if (obj->last_write_seqno && + i915_seqno_passed(seqno, obj->last_write_seqno)) { + obj->last_write_seqno = 0; + obj->base.write_domain &= ~I915_GEM_GPU_DOMAINS; + } + + return ret; +} + +/** + * Called when user space prepares to use an object with the CPU, either + * through the mmap ioctl's mapping or a GTT mapping. + */ +int +i915_gem_set_domain_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_set_domain *args = data; + struct drm_i915_gem_object *obj; + uint32_t read_domains = args->read_domains; + uint32_t write_domain = args->write_domain; + int ret; + + /* Only handle setting domains to types used by the CPU. */ + if (write_domain & I915_GEM_GPU_DOMAINS) + return -EINVAL; + + if (read_domains & I915_GEM_GPU_DOMAINS) + return -EINVAL; + + /* Having something in the write domain implies it's in the read + * domain, and only that read domain. Enforce that in the request. + */ + if (write_domain != 0 && read_domains != write_domain) + return -EINVAL; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + /* Try to flush the object off the GPU without holding the lock. + * We will repeat the flush holding the lock in the normal manner + * to catch cases where we are gazumped. + */ + ret = i915_gem_object_wait_rendering__nonblocking(obj, !write_domain); + if (ret) + goto unref; + + if (read_domains & I915_GEM_DOMAIN_GTT) { + ret = i915_gem_object_set_to_gtt_domain(obj, write_domain != 0); + + /* Silently promote "you're not bound, there was nothing to do" + * to success, since the client was just asking us to + * make sure everything was done. + */ + if (ret == -EINVAL) + ret = 0; + } else { + ret = i915_gem_object_set_to_cpu_domain(obj, write_domain != 0); + } + +unref: + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +/** + * Called when user space has done writes to this buffer + */ +int +i915_gem_sw_finish_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_sw_finish *args = data; + struct drm_i915_gem_object *obj; + int ret = 0; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + /* Pinned buffers may be scanout, so flush the cache */ + if (obj->pin_count) + i915_gem_object_flush_cpu_write_domain(obj); + + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +/** + * Maps the contents of an object, returning the address it is mapped + * into. + * + * While the mapping holds a reference on the contents of the object, it doesn't + * imply a ref on the object itself. + */ +int +i915_gem_mmap_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_mmap *args = data; + struct drm_gem_object *obj; + unsigned long addr; + + obj = drm_gem_object_lookup(dev, file, args->handle); + if (obj == NULL) + return -ENOENT; + + /* prime objects have no backing filp to GEM mmap + * pages from. + */ + if (!obj->filp) { + drm_gem_object_unreference_unlocked(obj); + return -EINVAL; + } + + addr = vm_mmap(obj->filp, 0, args->size, + PROT_READ | PROT_WRITE, MAP_SHARED, + args->offset); + drm_gem_object_unreference_unlocked(obj); + if (IS_ERR((void *)addr)) + return addr; + + args->addr_ptr = (uint64_t) addr; + + return 0; +} + +/** + * i915_gem_fault - fault a page into the GTT + * vma: VMA in question + * vmf: fault info + * + * The fault handler is set up by drm_gem_mmap() when a object is GTT mapped + * from userspace. The fault handler takes care of binding the object to + * the GTT (if needed), allocating and programming a fence register (again, + * only if needed based on whether the old reg is still valid or the object + * is tiled) and inserting a new PTE into the faulting process. + * + * Note that the faulting process may involve evicting existing objects + * from the GTT and/or fence registers to make room. So performance may + * suffer if the GTT working set is large or there are few fence registers + * left. + */ +int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) +{ + struct drm_i915_gem_object *obj = to_intel_bo(vma->vm_private_data); + struct drm_device *dev = obj->base.dev; + drm_i915_private_t *dev_priv = dev->dev_private; + pgoff_t page_offset; + unsigned long pfn; + int ret = 0; + bool write = !!(vmf->flags & FAULT_FLAG_WRITE); + + /* We don't use vmf->pgoff since that has the fake offset */ + page_offset = ((unsigned long)vmf->virtual_address - vma->vm_start) >> + PAGE_SHIFT; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + goto out; + + trace_i915_gem_object_fault(obj, page_offset, true, write); + + /* Now bind it into the GTT if needed */ + ret = i915_gem_object_pin(obj, 0, true, false); + if (ret) + goto unlock; + + ret = i915_gem_object_set_to_gtt_domain(obj, write); + if (ret) + goto unpin; + + ret = i915_gem_object_get_fence(obj); + if (ret) + goto unpin; + + obj->fault_mappable = true; + + pfn = ((dev_priv->mm.gtt_base_addr + obj->gtt_offset) >> PAGE_SHIFT) + + page_offset; + + /* Finally, remap it using the new GTT offset */ + ret = vm_insert_pfn(vma, (unsigned long)vmf->virtual_address, pfn); +unpin: + i915_gem_object_unpin(obj); +unlock: + mutex_unlock(&dev->struct_mutex); +out: + switch (ret) { + case -EIO: + /* If this -EIO is due to a gpu hang, give the reset code a + * chance to clean up the mess. Otherwise return the proper + * SIGBUS. */ + if (!atomic_read(&dev_priv->mm.wedged)) + return VM_FAULT_SIGBUS; + case -EAGAIN: + /* Give the error handler a chance to run and move the + * objects off the GPU active list. Next time we service the + * fault, we should be able to transition the page into the + * GTT without touching the GPU (and so avoid further + * EIO/EGAIN). If the GPU is wedged, then there is no issue + * with coherency, just lost writes. + */ + set_need_resched(); + case 0: + case -ERESTARTSYS: + case -EINTR: + case -EBUSY: + /* + * EBUSY is ok: this just means that another thread + * already did the job. + */ + return VM_FAULT_NOPAGE; + case -ENOMEM: + return VM_FAULT_OOM; + case -ENOSPC: + return VM_FAULT_SIGBUS; + default: + WARN_ONCE(ret, "unhandled error in i915_gem_fault: %i\n", ret); + return VM_FAULT_SIGBUS; + } +} + +/** + * i915_gem_release_mmap - remove physical page mappings + * @obj: obj in question + * + * Preserve the reservation of the mmapping with the DRM core code, but + * relinquish ownership of the pages back to the system. + * + * It is vital that we remove the page mapping if we have mapped a tiled + * object through the GTT and then lose the fence register due to + * resource pressure. Similarly if the object has been moved out of the + * aperture, than pages mapped into userspace must be revoked. Removing the + * mapping will then trigger a page fault on the next user access, allowing + * fixup by i915_gem_fault(). + */ +void +i915_gem_release_mmap(struct drm_i915_gem_object *obj) +{ + if (!obj->fault_mappable) + return; + + if (obj->base.dev->dev_mapping) + unmap_mapping_range(obj->base.dev->dev_mapping, + (loff_t)obj->base.map_list.hash.key<base.size, 1); + + obj->fault_mappable = false; +} + +static uint32_t +i915_gem_get_gtt_size(struct drm_device *dev, uint32_t size, int tiling_mode) +{ + uint32_t gtt_size; + + if (INTEL_INFO(dev)->gen >= 4 || + tiling_mode == I915_TILING_NONE) + return size; + + /* Previous chips need a power-of-two fence region when tiling */ + if (INTEL_INFO(dev)->gen == 3) + gtt_size = 1024*1024; + else + gtt_size = 512*1024; + + while (gtt_size < size) + gtt_size <<= 1; + + return gtt_size; +} + +/** + * i915_gem_get_gtt_alignment - return required GTT alignment for an object + * @obj: object to check + * + * Return the required GTT alignment for an object, taking into account + * potential fence register mapping. + */ +static uint32_t +i915_gem_get_gtt_alignment(struct drm_device *dev, + uint32_t size, + int tiling_mode) +{ + /* + * Minimum alignment is 4k (GTT page size), but might be greater + * if a fence register is needed for the object. + */ + if (INTEL_INFO(dev)->gen >= 4 || + tiling_mode == I915_TILING_NONE) + return 4096; + + /* + * Previous chips need to be aligned to the size of the smallest + * fence register that can contain the object. + */ + return i915_gem_get_gtt_size(dev, size, tiling_mode); +} + +/** + * i915_gem_get_unfenced_gtt_alignment - return required GTT alignment for an + * unfenced object + * @dev: the device + * @size: size of the object + * @tiling_mode: tiling mode of the object + * + * Return the required GTT alignment for an object, only taking into account + * unfenced tiled surface requirements. + */ +uint32_t +i915_gem_get_unfenced_gtt_alignment(struct drm_device *dev, + uint32_t size, + int tiling_mode) +{ + /* + * Minimum alignment is 4k (GTT page size) for sane hw. + */ + if (INTEL_INFO(dev)->gen >= 4 || IS_G33(dev) || + tiling_mode == I915_TILING_NONE) + return 4096; + + /* Previous hardware however needs to be aligned to a power-of-two + * tile height. The simplest method for determining this is to reuse + * the power-of-tile object size. + */ + return i915_gem_get_gtt_size(dev, size, tiling_mode); +} + +static int i915_gem_object_create_mmap_offset(struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + int ret; + + if (obj->base.map_list.map) + return 0; + + ret = drm_gem_create_mmap_offset(&obj->base); + if (ret != -ENOSPC) + return ret; + + /* Badly fragmented mmap space? The only way we can recover + * space is by destroying unwanted objects. We can't randomly release + * mmap_offsets as userspace expects them to be persistent for the + * lifetime of the objects. The closest we can is to release the + * offsets on purgeable objects by truncating it and marking it purged, + * which prevents userspace from ever using that object again. + */ + i915_gem_purge(dev_priv, obj->base.size >> PAGE_SHIFT); + ret = drm_gem_create_mmap_offset(&obj->base); + if (ret != -ENOSPC) + return ret; + + i915_gem_shrink_all(dev_priv); + return drm_gem_create_mmap_offset(&obj->base); +} + +static void i915_gem_object_free_mmap_offset(struct drm_i915_gem_object *obj) +{ + if (!obj->base.map_list.map) + return; + + drm_gem_free_mmap_offset(&obj->base); +} + +int +i915_gem_mmap_gtt(struct drm_file *file, + struct drm_device *dev, + uint32_t handle, + uint64_t *offset) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + int ret; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + if (obj->base.size > dev_priv->mm.gtt_mappable_end) { + ret = -E2BIG; + goto out; + } + + if (obj->madv != I915_MADV_WILLNEED) { + DRM_ERROR("Attempting to mmap a purgeable buffer\n"); + ret = -EINVAL; + goto out; + } + + ret = i915_gem_object_create_mmap_offset(obj); + if (ret) + goto out; + + *offset = (u64)obj->base.map_list.hash.key << PAGE_SHIFT; + +out: + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +/** + * i915_gem_mmap_gtt_ioctl - prepare an object for GTT mmap'ing + * @dev: DRM device + * @data: GTT mapping ioctl data + * @file: GEM object info + * + * Simply returns the fake offset to userspace so it can mmap it. + * The mmap call will end up in drm_gem_mmap(), which will set things + * up so we can get faults in the handler above. + * + * The fault handler will take care of binding the object into the GTT + * (since it may have been evicted to make room for something), allocating + * a fence register, and mapping the appropriate aperture address into + * userspace. + */ +int +i915_gem_mmap_gtt_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_mmap_gtt *args = data; + + return i915_gem_mmap_gtt(file, dev, args->handle, &args->offset); +} + +/* Immediately discard the backing storage */ +static void +i915_gem_object_truncate(struct drm_i915_gem_object *obj) +{ + struct inode *inode; + + i915_gem_object_free_mmap_offset(obj); + + if (obj->base.filp == NULL) + return; + + /* Our goal here is to return as much of the memory as + * is possible back to the system as we are called from OOM. + * To do this we must instruct the shmfs to drop all of its + * backing pages, *now*. + */ + inode = obj->base.filp->f_path.dentry->d_inode; + shmem_truncate_range(inode, 0, (loff_t)-1); + + obj->madv = __I915_MADV_PURGED; +} + +static inline int +i915_gem_object_is_purgeable(struct drm_i915_gem_object *obj) +{ + return obj->madv == I915_MADV_DONTNEED; +} + +static void +i915_gem_object_put_pages_gtt(struct drm_i915_gem_object *obj) +{ + int page_count = obj->base.size / PAGE_SIZE; + struct scatterlist *sg; + int ret, i; + + BUG_ON(obj->madv == __I915_MADV_PURGED); + + ret = i915_gem_object_set_to_cpu_domain(obj, true); + if (ret) { + /* In the event of a disaster, abandon all caches and + * hope for the best. + */ + WARN_ON(ret != -EIO); + i915_gem_clflush_object(obj); + obj->base.read_domains = obj->base.write_domain = I915_GEM_DOMAIN_CPU; + } + + if (i915_gem_object_needs_bit17_swizzle(obj)) + i915_gem_object_save_bit_17_swizzle(obj); + + if (obj->madv == I915_MADV_DONTNEED) + obj->dirty = 0; + + for_each_sg(obj->pages->sgl, sg, page_count, i) { + struct page *page = sg_page(sg); + + if (obj->dirty) + set_page_dirty(page); + + if (obj->madv == I915_MADV_WILLNEED) + mark_page_accessed(page); + + page_cache_release(page); + } + obj->dirty = 0; + + sg_free_table(obj->pages); + kfree(obj->pages); +} + +static int +i915_gem_object_put_pages(struct drm_i915_gem_object *obj) +{ + const struct drm_i915_gem_object_ops *ops = obj->ops; + + if (obj->pages == NULL) + return 0; + + BUG_ON(obj->gtt_space); + + if (obj->pages_pin_count) + return -EBUSY; + + ops->put_pages(obj); + obj->pages = NULL; + + list_del(&obj->gtt_list); + if (i915_gem_object_is_purgeable(obj)) + i915_gem_object_truncate(obj); + + return 0; +} + +static long +i915_gem_purge(struct drm_i915_private *dev_priv, long target) +{ + struct drm_i915_gem_object *obj, *next; + long count = 0; + + list_for_each_entry_safe(obj, next, + &dev_priv->mm.unbound_list, + gtt_list) { + if (i915_gem_object_is_purgeable(obj) && + i915_gem_object_put_pages(obj) == 0) { + count += obj->base.size >> PAGE_SHIFT; + if (count >= target) + return count; + } + } + + list_for_each_entry_safe(obj, next, + &dev_priv->mm.inactive_list, + mm_list) { + if (i915_gem_object_is_purgeable(obj) && + i915_gem_object_unbind(obj) == 0 && + i915_gem_object_put_pages(obj) == 0) { + count += obj->base.size >> PAGE_SHIFT; + if (count >= target) + return count; + } + } + + return count; +} + +static void +i915_gem_shrink_all(struct drm_i915_private *dev_priv) +{ + struct drm_i915_gem_object *obj, *next; + + i915_gem_evict_everything(dev_priv->dev); + + list_for_each_entry_safe(obj, next, &dev_priv->mm.unbound_list, gtt_list) + i915_gem_object_put_pages(obj); +} + +static int +i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + int page_count, i; + struct address_space *mapping; + struct sg_table *st; + struct scatterlist *sg; + struct page *page; + gfp_t gfp; + + /* Assert that the object is not currently in any GPU domain. As it + * wasn't in the GTT, there shouldn't be any way it could have been in + * a GPU cache + */ + BUG_ON(obj->base.read_domains & I915_GEM_GPU_DOMAINS); + BUG_ON(obj->base.write_domain & I915_GEM_GPU_DOMAINS); + + st = kmalloc(sizeof(*st), GFP_KERNEL); + if (st == NULL) + return -ENOMEM; + + page_count = obj->base.size / PAGE_SIZE; + if (sg_alloc_table(st, page_count, GFP_KERNEL)) { + sg_free_table(st); + kfree(st); + return -ENOMEM; + } + + /* Get the list of pages out of our struct file. They'll be pinned + * at this point until we release them. + * + * Fail silently without starting the shrinker + */ + mapping = obj->base.filp->f_path.dentry->d_inode->i_mapping; + gfp = mapping_gfp_mask(mapping); + gfp |= __GFP_NORETRY | __GFP_NOWARN; + gfp &= ~(__GFP_IO | __GFP_WAIT); + for_each_sg(st->sgl, sg, page_count, i) { + page = shmem_read_mapping_page_gfp(mapping, i, gfp); + if (IS_ERR(page)) { + i915_gem_purge(dev_priv, page_count); + page = shmem_read_mapping_page_gfp(mapping, i, gfp); + } + if (IS_ERR(page)) { + /* We've tried hard to allocate the memory by reaping + * our own buffer, now let the real VM do its job and + * go down in flames if truly OOM. + */ + gfp &= ~(__GFP_NORETRY | __GFP_NOWARN); + gfp |= __GFP_IO | __GFP_WAIT; + + i915_gem_shrink_all(dev_priv); + page = shmem_read_mapping_page_gfp(mapping, i, gfp); + if (IS_ERR(page)) + goto err_pages; + + gfp |= __GFP_NORETRY | __GFP_NOWARN; + gfp &= ~(__GFP_IO | __GFP_WAIT); + } + + sg_set_page(sg, page, PAGE_SIZE, 0); + } + + obj->pages = st; + + if (i915_gem_object_needs_bit17_swizzle(obj)) + i915_gem_object_do_bit_17_swizzle(obj); + + return 0; + +err_pages: + for_each_sg(st->sgl, sg, i, page_count) + page_cache_release(sg_page(sg)); + sg_free_table(st); + kfree(st); + return PTR_ERR(page); +} + +/* Ensure that the associated pages are gathered from the backing storage + * and pinned into our object. i915_gem_object_get_pages() may be called + * multiple times before they are released by a single call to + * i915_gem_object_put_pages() - once the pages are no longer referenced + * either as a result of memory pressure (reaping pages under the shrinker) + * or as the object is itself released. + */ +int +i915_gem_object_get_pages(struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + const struct drm_i915_gem_object_ops *ops = obj->ops; + int ret; + + if (obj->pages) + return 0; + + BUG_ON(obj->pages_pin_count); + + ret = ops->get_pages(obj); + if (ret) + return ret; + + list_add_tail(&obj->gtt_list, &dev_priv->mm.unbound_list); + return 0; +} + +void +i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, + struct intel_ring_buffer *ring, + u32 seqno) +{ + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + BUG_ON(ring == NULL); + obj->ring = ring; + + /* Add a reference if we're newly entering the active list. */ + if (!obj->active) { + drm_gem_object_reference(&obj->base); + obj->active = 1; + } + + /* Move from whatever list we were on to the tail of execution. */ + list_move_tail(&obj->mm_list, &dev_priv->mm.active_list); + list_move_tail(&obj->ring_list, &ring->active_list); + + obj->last_read_seqno = seqno; + + if (obj->fenced_gpu_access) { + obj->last_fenced_seqno = seqno; + + /* Bump MRU to take account of the delayed flush */ + if (obj->fence_reg != I915_FENCE_REG_NONE) { + struct drm_i915_fence_reg *reg; + + reg = &dev_priv->fence_regs[obj->fence_reg]; + list_move_tail(®->lru_list, + &dev_priv->mm.fence_list); + } + } +} + +static void +i915_gem_object_move_to_inactive(struct drm_i915_gem_object *obj) +{ + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + BUG_ON(obj->base.write_domain & ~I915_GEM_GPU_DOMAINS); + BUG_ON(!obj->active); + + if (obj->pin_count) /* are we a framebuffer? */ + intel_mark_fb_idle(obj); + + list_move_tail(&obj->mm_list, &dev_priv->mm.inactive_list); + + list_del_init(&obj->ring_list); + obj->ring = NULL; + + obj->last_read_seqno = 0; + obj->last_write_seqno = 0; + obj->base.write_domain = 0; + + obj->last_fenced_seqno = 0; + obj->fenced_gpu_access = false; + + obj->active = 0; + drm_gem_object_unreference(&obj->base); + + WARN_ON(i915_verify_lists(dev)); +} + +static u32 +i915_gem_get_seqno(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u32 seqno = dev_priv->next_seqno; + + /* reserve 0 for non-seqno */ + if (++dev_priv->next_seqno == 0) + dev_priv->next_seqno = 1; + + return seqno; +} + +u32 +i915_gem_next_request_seqno(struct intel_ring_buffer *ring) +{ + if (ring->outstanding_lazy_request == 0) + ring->outstanding_lazy_request = i915_gem_get_seqno(ring->dev); + + return ring->outstanding_lazy_request; +} + +int +i915_add_request(struct intel_ring_buffer *ring, + struct drm_file *file, + u32 *out_seqno) +{ + drm_i915_private_t *dev_priv = ring->dev->dev_private; + struct drm_i915_gem_request *request; + u32 request_ring_position; + u32 seqno; + int was_empty; + int ret; + + /* + * Emit any outstanding flushes - execbuf can fail to emit the flush + * after having emitted the batchbuffer command. Hence we need to fix + * things up similar to emitting the lazy request. The difference here + * is that the flush _must_ happen before the next request, no matter + * what. + */ + ret = intel_ring_flush_all_caches(ring); + if (ret) + return ret; + + request = kmalloc(sizeof(*request), GFP_KERNEL); + if (request == NULL) + return -ENOMEM; + + seqno = i915_gem_next_request_seqno(ring); + + /* Record the position of the start of the request so that + * should we detect the updated seqno part-way through the + * GPU processing the request, we never over-estimate the + * position of the head. + */ + request_ring_position = intel_ring_get_tail(ring); + + ret = ring->add_request(ring, &seqno); + if (ret) { + kfree(request); + return ret; + } + + trace_i915_gem_request_add(ring, seqno); + + request->seqno = seqno; + request->ring = ring; + request->tail = request_ring_position; + request->emitted_jiffies = jiffies; + was_empty = list_empty(&ring->request_list); + list_add_tail(&request->list, &ring->request_list); + request->file_priv = NULL; + + if (file) { + struct drm_i915_file_private *file_priv = file->driver_priv; + + spin_lock(&file_priv->mm.lock); + request->file_priv = file_priv; + list_add_tail(&request->client_list, + &file_priv->mm.request_list); + spin_unlock(&file_priv->mm.lock); + } + + ring->outstanding_lazy_request = 0; + + if (!dev_priv->mm.suspended) { + if (i915_enable_hangcheck) { + mod_timer(&dev_priv->hangcheck_timer, + round_jiffies_up(jiffies + DRM_I915_HANGCHECK_JIFFIES)); + } + if (was_empty) { + queue_delayed_work(dev_priv->wq, + &dev_priv->mm.retire_work, + round_jiffies_up_relative(HZ)); + intel_mark_busy(dev_priv->dev); + } + } + + if (out_seqno) + *out_seqno = seqno; + return 0; +} + +static inline void +i915_gem_request_remove_from_client(struct drm_i915_gem_request *request) +{ + struct drm_i915_file_private *file_priv = request->file_priv; + + if (!file_priv) + return; + + spin_lock(&file_priv->mm.lock); + if (request->file_priv) { + list_del(&request->client_list); + request->file_priv = NULL; + } + spin_unlock(&file_priv->mm.lock); +} + +static void i915_gem_reset_ring_lists(struct drm_i915_private *dev_priv, + struct intel_ring_buffer *ring) +{ + while (!list_empty(&ring->request_list)) { + struct drm_i915_gem_request *request; + + request = list_first_entry(&ring->request_list, + struct drm_i915_gem_request, + list); + + list_del(&request->list); + i915_gem_request_remove_from_client(request); + kfree(request); + } + + while (!list_empty(&ring->active_list)) { + struct drm_i915_gem_object *obj; + + obj = list_first_entry(&ring->active_list, + struct drm_i915_gem_object, + ring_list); + + i915_gem_object_move_to_inactive(obj); + } +} + +static void i915_gem_reset_fences(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + + for (i = 0; i < dev_priv->num_fence_regs; i++) { + struct drm_i915_fence_reg *reg = &dev_priv->fence_regs[i]; + + i915_gem_write_fence(dev, i, NULL); + + if (reg->obj) + i915_gem_object_fence_lost(reg->obj); + + reg->pin_count = 0; + reg->obj = NULL; + INIT_LIST_HEAD(®->lru_list); + } + + INIT_LIST_HEAD(&dev_priv->mm.fence_list); +} + +void i915_gem_reset(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + struct intel_ring_buffer *ring; + int i; + + for_each_ring(ring, dev_priv, i) + i915_gem_reset_ring_lists(dev_priv, ring); + + /* Move everything out of the GPU domains to ensure we do any + * necessary invalidation upon reuse. + */ + list_for_each_entry(obj, + &dev_priv->mm.inactive_list, + mm_list) + { + obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS; + } + + /* The fence registers are invalidated so clear them out */ + i915_gem_reset_fences(dev); +} + +/** + * This function clears the request list as sequence numbers are passed. + */ +void +i915_gem_retire_requests_ring(struct intel_ring_buffer *ring) +{ + uint32_t seqno; + int i; + + if (list_empty(&ring->request_list)) + return; + + WARN_ON(i915_verify_lists(ring->dev)); + + seqno = ring->get_seqno(ring, true); + + for (i = 0; i < ARRAY_SIZE(ring->sync_seqno); i++) + if (seqno >= ring->sync_seqno[i]) + ring->sync_seqno[i] = 0; + + while (!list_empty(&ring->request_list)) { + struct drm_i915_gem_request *request; + + request = list_first_entry(&ring->request_list, + struct drm_i915_gem_request, + list); + + if (!i915_seqno_passed(seqno, request->seqno)) + break; + + trace_i915_gem_request_retire(ring, request->seqno); + /* We know the GPU must have read the request to have + * sent us the seqno + interrupt, so use the position + * of tail of the request to update the last known position + * of the GPU head. + */ + ring->last_retired_head = request->tail; + + list_del(&request->list); + i915_gem_request_remove_from_client(request); + kfree(request); + } + + /* Move any buffers on the active list that are no longer referenced + * by the ringbuffer to the flushing/inactive lists as appropriate. + */ + while (!list_empty(&ring->active_list)) { + struct drm_i915_gem_object *obj; + + obj = list_first_entry(&ring->active_list, + struct drm_i915_gem_object, + ring_list); + + if (!i915_seqno_passed(seqno, obj->last_read_seqno)) + break; + + i915_gem_object_move_to_inactive(obj); + } + + if (unlikely(ring->trace_irq_seqno && + i915_seqno_passed(seqno, ring->trace_irq_seqno))) { + ring->irq_put(ring); + ring->trace_irq_seqno = 0; + } + + WARN_ON(i915_verify_lists(ring->dev)); +} + +void +i915_gem_retire_requests(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int i; + + for_each_ring(ring, dev_priv, i) + i915_gem_retire_requests_ring(ring); +} + +static void +i915_gem_retire_work_handler(struct work_struct *work) +{ + drm_i915_private_t *dev_priv; + struct drm_device *dev; + struct intel_ring_buffer *ring; + bool idle; + int i; + + dev_priv = container_of(work, drm_i915_private_t, + mm.retire_work.work); + dev = dev_priv->dev; + + /* Come back later if the device is busy... */ + if (!mutex_trylock(&dev->struct_mutex)) { + queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, + round_jiffies_up_relative(HZ)); + return; + } + + i915_gem_retire_requests(dev); + + /* Send a periodic flush down the ring so we don't hold onto GEM + * objects indefinitely. + */ + idle = true; + for_each_ring(ring, dev_priv, i) { + if (ring->gpu_caches_dirty) + i915_add_request(ring, NULL, NULL); + + idle &= list_empty(&ring->request_list); + } + + if (!dev_priv->mm.suspended && !idle) + queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, + round_jiffies_up_relative(HZ)); + if (idle) + intel_mark_idle(dev); + + mutex_unlock(&dev->struct_mutex); +} + +/** + * Ensures that an object will eventually get non-busy by flushing any required + * write domains, emitting any outstanding lazy request and retiring and + * completed requests. + */ +static int +i915_gem_object_flush_active(struct drm_i915_gem_object *obj) +{ + int ret; + + if (obj->active) { + ret = i915_gem_check_olr(obj->ring, obj->last_read_seqno); + if (ret) + return ret; + + i915_gem_retire_requests_ring(obj->ring); + } + + return 0; +} + +/** + * i915_gem_wait_ioctl - implements DRM_IOCTL_I915_GEM_WAIT + * @DRM_IOCTL_ARGS: standard ioctl arguments + * + * Returns 0 if successful, else an error is returned with the remaining time in + * the timeout parameter. + * -ETIME: object is still busy after timeout + * -ERESTARTSYS: signal interrupted the wait + * -ENONENT: object doesn't exist + * Also possible, but rare: + * -EAGAIN: GPU wedged + * -ENOMEM: damn + * -ENODEV: Internal IRQ fail + * -E?: The add request failed + * + * The wait ioctl with a timeout of 0 reimplements the busy ioctl. With any + * non-zero timeout parameter the wait ioctl will wait for the given number of + * nanoseconds on an object becoming unbusy. Since the wait itself does so + * without holding struct_mutex the object may become re-busied before this + * function completes. A similar but shorter * race condition exists in the busy + * ioctl + */ +int +i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file) +{ + struct drm_i915_gem_wait *args = data; + struct drm_i915_gem_object *obj; + struct intel_ring_buffer *ring = NULL; + struct timespec timeout_stack, *timeout = NULL; + u32 seqno = 0; + int ret = 0; + + if (args->timeout_ns >= 0) { + timeout_stack = ns_to_timespec(args->timeout_ns); + timeout = &timeout_stack; + } + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->bo_handle)); + if (&obj->base == NULL) { + mutex_unlock(&dev->struct_mutex); + return -ENOENT; + } + + /* Need to make sure the object gets inactive eventually. */ + ret = i915_gem_object_flush_active(obj); + if (ret) + goto out; + + if (obj->active) { + seqno = obj->last_read_seqno; + ring = obj->ring; + } + + if (seqno == 0) + goto out; + + /* Do this after OLR check to make sure we make forward progress polling + * on this IOCTL with a 0 timeout (like busy ioctl) + */ + if (!args->timeout_ns) { + ret = -ETIME; + goto out; + } + + drm_gem_object_unreference(&obj->base); + mutex_unlock(&dev->struct_mutex); + + ret = __wait_seqno(ring, seqno, true, timeout); + if (timeout) { + WARN_ON(!timespec_valid(timeout)); + args->timeout_ns = timespec_to_ns(timeout); + } + return ret; + +out: + drm_gem_object_unreference(&obj->base); + mutex_unlock(&dev->struct_mutex); + return ret; +} + +/** + * i915_gem_object_sync - sync an object to a ring. + * + * @obj: object which may be in use on another ring. + * @to: ring we wish to use the object on. May be NULL. + * + * This code is meant to abstract object synchronization with the GPU. + * Calling with NULL implies synchronizing the object with the CPU + * rather than a particular GPU ring. + * + * Returns 0 if successful, else propagates up the lower layer error. + */ +int +i915_gem_object_sync(struct drm_i915_gem_object *obj, + struct intel_ring_buffer *to) +{ + struct intel_ring_buffer *from = obj->ring; + u32 seqno; + int ret, idx; + + if (from == NULL || to == from) + return 0; + + if (to == NULL || !i915_semaphore_is_enabled(obj->base.dev)) + return i915_gem_object_wait_rendering(obj, false); + + idx = intel_ring_sync_index(from, to); + + seqno = obj->last_read_seqno; + if (seqno <= from->sync_seqno[idx]) + return 0; + + ret = i915_gem_check_olr(obj->ring, seqno); + if (ret) + return ret; + + ret = to->sync_to(to, from, seqno); + if (!ret) + from->sync_seqno[idx] = seqno; + + return ret; +} + +static void i915_gem_object_finish_gtt(struct drm_i915_gem_object *obj) +{ + u32 old_write_domain, old_read_domains; + + /* Act a barrier for all accesses through the GTT */ + mb(); + + /* Force a pagefault for domain tracking on next user access */ + i915_gem_release_mmap(obj); + + if ((obj->base.read_domains & I915_GEM_DOMAIN_GTT) == 0) + return; + + old_read_domains = obj->base.read_domains; + old_write_domain = obj->base.write_domain; + + obj->base.read_domains &= ~I915_GEM_DOMAIN_GTT; + obj->base.write_domain &= ~I915_GEM_DOMAIN_GTT; + + trace_i915_gem_object_change_domain(obj, + old_read_domains, + old_write_domain); +} + +/** + * Unbinds an object from the GTT aperture. + */ +int +i915_gem_object_unbind(struct drm_i915_gem_object *obj) +{ + drm_i915_private_t *dev_priv = obj->base.dev->dev_private; + int ret = 0; + + if (obj->gtt_space == NULL) + return 0; + + if (obj->pin_count) + return -EBUSY; + + BUG_ON(obj->pages == NULL); + + ret = i915_gem_object_finish_gpu(obj); + if (ret) + return ret; + /* Continue on if we fail due to EIO, the GPU is hung so we + * should be safe and we need to cleanup or else we might + * cause memory corruption through use-after-free. + */ + + i915_gem_object_finish_gtt(obj); + + /* release the fence reg _after_ flushing */ + ret = i915_gem_object_put_fence(obj); + if (ret) + return ret; + + trace_i915_gem_object_unbind(obj); + + if (obj->has_global_gtt_mapping) + i915_gem_gtt_unbind_object(obj); + if (obj->has_aliasing_ppgtt_mapping) { + i915_ppgtt_unbind_object(dev_priv->mm.aliasing_ppgtt, obj); + obj->has_aliasing_ppgtt_mapping = 0; + } + i915_gem_gtt_finish_object(obj); + + list_del(&obj->mm_list); + list_move_tail(&obj->gtt_list, &dev_priv->mm.unbound_list); + /* Avoid an unnecessary call to unbind on rebind. */ + obj->map_and_fenceable = true; + + drm_mm_put_block_hsw(obj->gtt_space); + obj->gtt_space = NULL; + obj->gtt_offset = 0; + + return 0; +} + +static int i915_ring_idle(struct intel_ring_buffer *ring) +{ + if (list_empty(&ring->active_list)) + return 0; + + return i915_wait_seqno(ring, i915_gem_next_request_seqno(ring)); +} + +int i915_gpu_idle(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int ret, i; + + /* Flush everything onto the inactive list. */ + for_each_ring(ring, dev_priv, i) { + ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID); + if (ret) + return ret; + + ret = i915_ring_idle(ring); + if (ret) + return ret; + } + + return 0; +} + +static void sandybridge_write_fence_reg(struct drm_device *dev, int reg, + struct drm_i915_gem_object *obj) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + uint64_t val; + + if (obj) { + u32 size = obj->gtt_space->size; + + val = (uint64_t)((obj->gtt_offset + size - 4096) & + 0xfffff000) << 32; + val |= obj->gtt_offset & 0xfffff000; + val |= (uint64_t)((obj->stride / 128) - 1) << + SANDYBRIDGE_FENCE_PITCH_SHIFT; + + if (obj->tiling_mode == I915_TILING_Y) + val |= 1 << I965_FENCE_TILING_Y_SHIFT; + val |= I965_FENCE_REG_VALID; + } else + val = 0; + + I915_WRITE64(FENCE_REG_SANDYBRIDGE_0 + reg * 8, val); + POSTING_READ(FENCE_REG_SANDYBRIDGE_0 + reg * 8); +} + +static void i965_write_fence_reg(struct drm_device *dev, int reg, + struct drm_i915_gem_object *obj) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + uint64_t val; + + if (obj) { + u32 size = obj->gtt_space->size; + + val = (uint64_t)((obj->gtt_offset + size - 4096) & + 0xfffff000) << 32; + val |= obj->gtt_offset & 0xfffff000; + val |= ((obj->stride / 128) - 1) << I965_FENCE_PITCH_SHIFT; + if (obj->tiling_mode == I915_TILING_Y) + val |= 1 << I965_FENCE_TILING_Y_SHIFT; + val |= I965_FENCE_REG_VALID; + } else + val = 0; + + I915_WRITE64(FENCE_REG_965_0 + reg * 8, val); + POSTING_READ(FENCE_REG_965_0 + reg * 8); +} + +static void i915_write_fence_reg(struct drm_device *dev, int reg, + struct drm_i915_gem_object *obj) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u32 val; + + if (obj) { + u32 size = obj->gtt_space->size; + int pitch_val; + int tile_width; + + WARN((obj->gtt_offset & ~I915_FENCE_START_MASK) || + (size & -size) != size || + (obj->gtt_offset & (size - 1)), + "object 0x%08x [fenceable? %d] not 1M or pot-size (0x%08x) aligned\n", + obj->gtt_offset, obj->map_and_fenceable, size); + + if (obj->tiling_mode == I915_TILING_Y && HAS_128_BYTE_Y_TILING(dev)) + tile_width = 128; + else + tile_width = 512; + + /* Note: pitch better be a power of two tile widths */ + pitch_val = obj->stride / tile_width; + pitch_val = ffs(pitch_val) - 1; + + val = obj->gtt_offset; + if (obj->tiling_mode == I915_TILING_Y) + val |= 1 << I830_FENCE_TILING_Y_SHIFT; + val |= I915_FENCE_SIZE_BITS(size); + val |= pitch_val << I830_FENCE_PITCH_SHIFT; + val |= I830_FENCE_REG_VALID; + } else + val = 0; + + if (reg < 8) + reg = FENCE_REG_830_0 + reg * 4; + else + reg = FENCE_REG_945_8 + (reg - 8) * 4; + + I915_WRITE(reg, val); + POSTING_READ(reg); +} + +static void i830_write_fence_reg(struct drm_device *dev, int reg, + struct drm_i915_gem_object *obj) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + uint32_t val; + + if (obj) { + u32 size = obj->gtt_space->size; + uint32_t pitch_val; + + WARN((obj->gtt_offset & ~I830_FENCE_START_MASK) || + (size & -size) != size || + (obj->gtt_offset & (size - 1)), + "object 0x%08x not 512K or pot-size 0x%08x aligned\n", + obj->gtt_offset, size); + + pitch_val = obj->stride / 128; + pitch_val = ffs(pitch_val) - 1; + + val = obj->gtt_offset; + if (obj->tiling_mode == I915_TILING_Y) + val |= 1 << I830_FENCE_TILING_Y_SHIFT; + val |= I830_FENCE_SIZE_BITS(size); + val |= pitch_val << I830_FENCE_PITCH_SHIFT; + val |= I830_FENCE_REG_VALID; + } else + val = 0; + + I915_WRITE(FENCE_REG_830_0 + reg * 4, val); + POSTING_READ(FENCE_REG_830_0 + reg * 4); +} + +static void i915_gem_write_fence(struct drm_device *dev, int reg, + struct drm_i915_gem_object *obj) +{ + switch (INTEL_INFO(dev)->gen) { + case 7: + case 6: sandybridge_write_fence_reg(dev, reg, obj); break; + case 5: + case 4: i965_write_fence_reg(dev, reg, obj); break; + case 3: i915_write_fence_reg(dev, reg, obj); break; + case 2: i830_write_fence_reg(dev, reg, obj); break; + default: break; + } +} + +static inline int fence_number(struct drm_i915_private *dev_priv, + struct drm_i915_fence_reg *fence) +{ + return fence - dev_priv->fence_regs; +} + +static void i915_gem_object_update_fence(struct drm_i915_gem_object *obj, + struct drm_i915_fence_reg *fence, + bool enable) +{ + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + int reg = fence_number(dev_priv, fence); + + i915_gem_write_fence(obj->base.dev, reg, enable ? obj : NULL); + + if (enable) { + obj->fence_reg = reg; + fence->obj = obj; + list_move_tail(&fence->lru_list, &dev_priv->mm.fence_list); + } else { + obj->fence_reg = I915_FENCE_REG_NONE; + fence->obj = NULL; + list_del_init(&fence->lru_list); + } +} + +static int +i915_gem_object_flush_fence(struct drm_i915_gem_object *obj) +{ + if (obj->last_fenced_seqno) { + int ret = i915_wait_seqno(obj->ring, obj->last_fenced_seqno); + if (ret) + return ret; + + obj->last_fenced_seqno = 0; + } + + /* Ensure that all CPU reads are completed before installing a fence + * and all writes before removing the fence. + */ + if (obj->base.read_domains & I915_GEM_DOMAIN_GTT) + mb(); + + obj->fenced_gpu_access = false; + return 0; +} + +int +i915_gem_object_put_fence(struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + int ret; + + ret = i915_gem_object_flush_fence(obj); + if (ret) + return ret; + + if (obj->fence_reg == I915_FENCE_REG_NONE) + return 0; + + i915_gem_object_update_fence(obj, + &dev_priv->fence_regs[obj->fence_reg], + false); + i915_gem_object_fence_lost(obj); + + return 0; +} + +static struct drm_i915_fence_reg * +i915_find_fence_reg(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_fence_reg *reg, *avail; + int i; + + /* First try to find a free reg */ + avail = NULL; + for (i = dev_priv->fence_reg_start; i < dev_priv->num_fence_regs; i++) { + reg = &dev_priv->fence_regs[i]; + if (!reg->obj) + return reg; + + if (!reg->pin_count) + avail = reg; + } + + if (avail == NULL) + return NULL; + + /* None available, try to steal one or wait for a user to finish */ + list_for_each_entry(reg, &dev_priv->mm.fence_list, lru_list) { + if (reg->pin_count) + continue; + + return reg; + } + + return NULL; +} + +/** + * i915_gem_object_get_fence - set up fencing for an object + * @obj: object to map through a fence reg + * + * When mapping objects through the GTT, userspace wants to be able to write + * to them without having to worry about swizzling if the object is tiled. + * This function walks the fence regs looking for a free one for @obj, + * stealing one if it can't find any. + * + * It then sets up the reg based on the object's properties: address, pitch + * and tiling format. + * + * For an untiled surface, this removes any existing fence. + */ +int +i915_gem_object_get_fence(struct drm_i915_gem_object *obj) +{ + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + bool enable = obj->tiling_mode != I915_TILING_NONE; + struct drm_i915_fence_reg *reg; + int ret; + + /* Have we updated the tiling parameters upon the object and so + * will need to serialise the write to the associated fence register? + */ + if (obj->fence_dirty) { + ret = i915_gem_object_flush_fence(obj); + if (ret) + return ret; + } + + /* Just update our place in the LRU if our fence is getting reused. */ + if (obj->fence_reg != I915_FENCE_REG_NONE) { + reg = &dev_priv->fence_regs[obj->fence_reg]; + if (!obj->fence_dirty) { + list_move_tail(®->lru_list, + &dev_priv->mm.fence_list); + return 0; + } + } else if (enable) { + reg = i915_find_fence_reg(dev); + if (reg == NULL) + return -EDEADLK; + + if (reg->obj) { + struct drm_i915_gem_object *old = reg->obj; + + ret = i915_gem_object_flush_fence(old); + if (ret) + return ret; + + i915_gem_object_fence_lost(old); + } + } else + return 0; + + i915_gem_object_update_fence(obj, reg, enable); + obj->fence_dirty = false; + + return 0; +} + +static bool i915_gem_valid_gtt_space(struct drm_device *dev, + struct drm_mm_node_hsw *gtt_space, + unsigned long cache_level) +{ + struct drm_mm_node_hsw *other; + + /* On non-LLC machines we have to be careful when putting differing + * types of snoopable memory together to avoid the prefetcher + * crossing memory domains and dieing. + */ + if (HAS_LLC(dev)) + return true; + + if (gtt_space == NULL) + return true; + + if (list_empty(>t_space->node_list)) + return true; + + other = list_entry(gtt_space->node_list.prev, struct drm_mm_node_hsw, node_list); + if (other->allocated && !other->hole_follows && other->color != cache_level) + return false; + + other = list_entry(gtt_space->node_list.next, struct drm_mm_node_hsw, node_list); + if (other->allocated && !gtt_space->hole_follows && other->color != cache_level) + return false; + + return true; +} + +static void i915_gem_verify_gtt(struct drm_device *dev) +{ +#if WATCH_GTT + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + int err = 0; + + list_for_each_entry(obj, &dev_priv->mm.gtt_list, gtt_list) { + if (obj->gtt_space == NULL) { + printk(KERN_ERR "object found on GTT list with no space reserved\n"); + err++; + continue; + } + + if (obj->cache_level != obj->gtt_space->color) { + printk(KERN_ERR "object reserved space [%08lx, %08lx] with wrong color, cache_level=%x, color=%lx\n", + obj->gtt_space->start, + obj->gtt_space->start + obj->gtt_space->size, + obj->cache_level, + obj->gtt_space->color); + err++; + continue; + } + + if (!i915_gem_valid_gtt_space(dev, + obj->gtt_space, + obj->cache_level)) { + printk(KERN_ERR "invalid GTT space found at [%08lx, %08lx] - color=%x\n", + obj->gtt_space->start, + obj->gtt_space->start + obj->gtt_space->size, + obj->cache_level); + err++; + continue; + } + } + + WARN_ON(err); +#endif +} + +/** + * Finds free space in the GTT aperture and binds the object there. + */ +static int +i915_gem_object_bind_to_gtt(struct drm_i915_gem_object *obj, + unsigned alignment, + bool map_and_fenceable, + bool nonblocking) +{ + struct drm_device *dev = obj->base.dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_mm_node_hsw *free_space; + u32 size, fence_size, fence_alignment, unfenced_alignment; + bool mappable, fenceable; + int ret; + + if (obj->madv != I915_MADV_WILLNEED) { + DRM_ERROR("Attempting to bind a purgeable object\n"); + return -EINVAL; + } + + fence_size = i915_gem_get_gtt_size(dev, + obj->base.size, + obj->tiling_mode); + fence_alignment = i915_gem_get_gtt_alignment(dev, + obj->base.size, + obj->tiling_mode); + unfenced_alignment = + i915_gem_get_unfenced_gtt_alignment(dev, + obj->base.size, + obj->tiling_mode); + + if (alignment == 0) + alignment = map_and_fenceable ? fence_alignment : + unfenced_alignment; + if (map_and_fenceable && alignment & (fence_alignment - 1)) { + DRM_ERROR("Invalid object alignment requested %u\n", alignment); + return -EINVAL; + } + + size = map_and_fenceable ? fence_size : obj->base.size; + + /* If the object is bigger than the entire aperture, reject it early + * before evicting everything in a vain attempt to find space. + */ + if (obj->base.size > + (map_and_fenceable ? dev_priv->mm.gtt_mappable_end : dev_priv->mm.gtt_total)) { + DRM_ERROR("Attempting to bind an object larger than the aperture\n"); + return -E2BIG; + } + + ret = i915_gem_object_get_pages(obj); + if (ret) + return ret; + + i915_gem_object_pin_pages(obj); + + search_free: + if (map_and_fenceable) + free_space = drm_mm_search_free_in_range_color_hsw(&dev_priv->mm.gtt_space, + size, alignment, obj->cache_level, + 0, dev_priv->mm.gtt_mappable_end, + false); + else + free_space = drm_mm_search_free_color_hsw(&dev_priv->mm.gtt_space, + size, alignment, obj->cache_level, + false); + + if (free_space != NULL) { + if (map_and_fenceable) + free_space = + drm_mm_get_block_range_generic_hsw(free_space, + size, alignment, obj->cache_level, + 0, dev_priv->mm.gtt_mappable_end, + false); + else + free_space = + drm_mm_get_block_generic_hsw(free_space, + size, alignment, obj->cache_level, + false); + } + if (free_space == NULL) { + ret = i915_gem_evict_something(dev, size, alignment, + obj->cache_level, + map_and_fenceable, + nonblocking); + if (ret) { + i915_gem_object_unpin_pages(obj); + return ret; + } + + goto search_free; + } + if (WARN_ON(!i915_gem_valid_gtt_space(dev, + free_space, + obj->cache_level))) { + i915_gem_object_unpin_pages(obj); + drm_mm_put_block_hsw(free_space); + return -EINVAL; + } + + ret = i915_gem_gtt_prepare_object(obj); + if (ret) { + i915_gem_object_unpin_pages(obj); + drm_mm_put_block_hsw(free_space); + return ret; + } + + list_move_tail(&obj->gtt_list, &dev_priv->mm.bound_list); + list_add_tail(&obj->mm_list, &dev_priv->mm.inactive_list); + + obj->gtt_space = free_space; + obj->gtt_offset = free_space->start; + + fenceable = + free_space->size == fence_size && + (free_space->start & (fence_alignment - 1)) == 0; + + mappable = + obj->gtt_offset + obj->base.size <= dev_priv->mm.gtt_mappable_end; + + obj->map_and_fenceable = mappable && fenceable; + + i915_gem_object_unpin_pages(obj); + trace_i915_gem_object_bind(obj, map_and_fenceable); + i915_gem_verify_gtt(dev); + return 0; +} + +void +i915_gem_clflush_object(struct drm_i915_gem_object *obj) +{ + /* If we don't have a page list set up, then we're not pinned + * to GPU, and we can ignore the cache flush because it'll happen + * again at bind time. + */ + if (obj->pages == NULL) + return; + + /* If the GPU is snooping the contents of the CPU cache, + * we do not need to manually clear the CPU cache lines. However, + * the caches are only snooped when the render cache is + * flushed/invalidated. As we always have to emit invalidations + * and flushes when moving into and out of the RENDER domain, correct + * snooping behaviour occurs naturally as the result of our domain + * tracking. + */ + if (obj->cache_level != I915_CACHE_NONE) + return; + + trace_i915_gem_object_clflush(obj); + + drm_clflush_sg(obj->pages); +} + +/** Flushes the GTT write domain for the object if it's dirty. */ +static void +i915_gem_object_flush_gtt_write_domain(struct drm_i915_gem_object *obj) +{ + uint32_t old_write_domain; + + if (obj->base.write_domain != I915_GEM_DOMAIN_GTT) + return; + + /* No actual flushing is required for the GTT write domain. Writes + * to it immediately go to main memory as far as we know, so there's + * no chipset flush. It also doesn't land in render cache. + * + * However, we do have to enforce the order so that all writes through + * the GTT land before any writes to the device, such as updates to + * the GATT itself. + */ + wmb(); + + old_write_domain = obj->base.write_domain; + obj->base.write_domain = 0; + + trace_i915_gem_object_change_domain(obj, + obj->base.read_domains, + old_write_domain); +} + +/** Flushes the CPU write domain for the object if it's dirty. */ +static void +i915_gem_object_flush_cpu_write_domain(struct drm_i915_gem_object *obj) +{ + uint32_t old_write_domain; + + if (obj->base.write_domain != I915_GEM_DOMAIN_CPU) + return; + + i915_gem_clflush_object(obj); + i915_gem_chipset_flush(obj->base.dev); + old_write_domain = obj->base.write_domain; + obj->base.write_domain = 0; + + trace_i915_gem_object_change_domain(obj, + obj->base.read_domains, + old_write_domain); +} + +/** + * Moves a single object to the GTT read, and possibly write domain. + * + * This function returns when the move is complete, including waiting on + * flushes to occur. + */ +int +i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write) +{ + drm_i915_private_t *dev_priv = obj->base.dev->dev_private; + uint32_t old_write_domain, old_read_domains; + int ret; + + /* Not valid to be called on unbound objects. */ + if (obj->gtt_space == NULL) + return -EINVAL; + + if (obj->base.write_domain == I915_GEM_DOMAIN_GTT) + return 0; + + ret = i915_gem_object_wait_rendering(obj, !write); + if (ret) + return ret; + + i915_gem_object_flush_cpu_write_domain(obj); + + old_write_domain = obj->base.write_domain; + old_read_domains = obj->base.read_domains; + + /* It should now be out of any other write domains, and we can update + * the domain values for our changes. + */ + BUG_ON((obj->base.write_domain & ~I915_GEM_DOMAIN_GTT) != 0); + obj->base.read_domains |= I915_GEM_DOMAIN_GTT; + if (write) { + obj->base.read_domains = I915_GEM_DOMAIN_GTT; + obj->base.write_domain = I915_GEM_DOMAIN_GTT; + obj->dirty = 1; + } + + trace_i915_gem_object_change_domain(obj, + old_read_domains, + old_write_domain); + + /* And bump the LRU for this access */ + if (i915_gem_object_is_inactive(obj)) + list_move_tail(&obj->mm_list, &dev_priv->mm.inactive_list); + + return 0; +} + +int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj, + enum i915_cache_level cache_level) +{ + struct drm_device *dev = obj->base.dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + if (obj->cache_level == cache_level) + return 0; + + if (obj->pin_count) { + DRM_DEBUG("can not change the cache level of pinned objects\n"); + return -EBUSY; + } + + if (!i915_gem_valid_gtt_space(dev, obj->gtt_space, cache_level)) { + ret = i915_gem_object_unbind(obj); + if (ret) + return ret; + } + + if (obj->gtt_space) { + ret = i915_gem_object_finish_gpu(obj); + if (ret) + return ret; + + i915_gem_object_finish_gtt(obj); + + /* Before SandyBridge, you could not use tiling or fence + * registers with snooped memory, so relinquish any fences + * currently pointing to our region in the aperture. + */ + if (INTEL_INFO(dev)->gen < 6) { + ret = i915_gem_object_put_fence(obj); + if (ret) + return ret; + } + + if (obj->has_global_gtt_mapping) + i915_gem_gtt_bind_object(obj, cache_level); + if (obj->has_aliasing_ppgtt_mapping) + i915_ppgtt_bind_object(dev_priv->mm.aliasing_ppgtt, + obj, cache_level); + + obj->gtt_space->color = cache_level; + } + + if (cache_level == I915_CACHE_NONE) { + u32 old_read_domains, old_write_domain; + + /* If we're coming from LLC cached, then we haven't + * actually been tracking whether the data is in the + * CPU cache or not, since we only allow one bit set + * in obj->write_domain and have been skipping the clflushes. + * Just set it to the CPU cache for now. + */ + WARN_ON(obj->base.write_domain & ~I915_GEM_DOMAIN_CPU); + WARN_ON(obj->base.read_domains & ~I915_GEM_DOMAIN_CPU); + + old_read_domains = obj->base.read_domains; + old_write_domain = obj->base.write_domain; + + obj->base.read_domains = I915_GEM_DOMAIN_CPU; + obj->base.write_domain = I915_GEM_DOMAIN_CPU; + + trace_i915_gem_object_change_domain(obj, + old_read_domains, + old_write_domain); + } + + obj->cache_level = cache_level; + i915_gem_verify_gtt(dev); + return 0; +} + +int i915_gem_get_caching_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_caching *args = data; + struct drm_i915_gem_object *obj; + int ret; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + args->caching = obj->cache_level != I915_CACHE_NONE; + + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int i915_gem_set_caching_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_caching *args = data; + struct drm_i915_gem_object *obj; + enum i915_cache_level level; + int ret; + + switch (args->caching) { + case I915_CACHING_NONE: + level = I915_CACHE_NONE; + break; + case I915_CACHING_CACHED: + level = I915_CACHE_LLC; + break; + default: + return -EINVAL; + } + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + ret = i915_gem_object_set_cache_level(obj, level); + + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +/* + * Prepare buffer for display plane (scanout, cursors, etc). + * Can be called from an uninterruptible phase (modesetting) and allows + * any flushes to be pipelined (for pageflips). + */ +int +i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj, + u32 alignment, + struct intel_ring_buffer *pipelined) +{ + u32 old_read_domains, old_write_domain; + int ret; + + if (pipelined != obj->ring) { + ret = i915_gem_object_sync(obj, pipelined); + if (ret) + return ret; + } + + /* The display engine is not coherent with the LLC cache on gen6. As + * a result, we make sure that the pinning that is about to occur is + * done with uncached PTEs. This is lowest common denominator for all + * chipsets. + * + * However for gen6+, we could do better by using the GFDT bit instead + * of uncaching, which would allow us to flush all the LLC-cached data + * with that bit in the PTE to main memory with just one PIPE_CONTROL. + */ + ret = i915_gem_object_set_cache_level(obj, I915_CACHE_NONE); + if (ret) + return ret; + + /* As the user may map the buffer once pinned in the display plane + * (e.g. libkms for the bootup splash), we have to ensure that we + * always use map_and_fenceable for all scanout buffers. + */ + ret = i915_gem_object_pin(obj, alignment, true, false); + if (ret) + return ret; + + i915_gem_object_flush_cpu_write_domain(obj); + + old_write_domain = obj->base.write_domain; + old_read_domains = obj->base.read_domains; + + /* It should now be out of any other write domains, and we can update + * the domain values for our changes. + */ + obj->base.write_domain = 0; + obj->base.read_domains |= I915_GEM_DOMAIN_GTT; + + trace_i915_gem_object_change_domain(obj, + old_read_domains, + old_write_domain); + + return 0; +} + +int +i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj) +{ + int ret; + + if ((obj->base.read_domains & I915_GEM_GPU_DOMAINS) == 0) + return 0; + + ret = i915_gem_object_wait_rendering(obj, false); + if (ret) + return ret; + + /* Ensure that we invalidate the GPU's caches and TLBs. */ + obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS; + return 0; +} + +/** + * Moves a single object to the CPU read, and possibly write domain. + * + * This function returns when the move is complete, including waiting on + * flushes to occur. + */ +int +i915_gem_object_set_to_cpu_domain(struct drm_i915_gem_object *obj, bool write) +{ + uint32_t old_write_domain, old_read_domains; + int ret; + + if (obj->base.write_domain == I915_GEM_DOMAIN_CPU) + return 0; + + ret = i915_gem_object_wait_rendering(obj, !write); + if (ret) + return ret; + + i915_gem_object_flush_gtt_write_domain(obj); + + old_write_domain = obj->base.write_domain; + old_read_domains = obj->base.read_domains; + + /* Flush the CPU cache if it's still invalid. */ + if ((obj->base.read_domains & I915_GEM_DOMAIN_CPU) == 0) { + i915_gem_clflush_object(obj); + + obj->base.read_domains |= I915_GEM_DOMAIN_CPU; + } + + /* It should now be out of any other write domains, and we can update + * the domain values for our changes. + */ + BUG_ON((obj->base.write_domain & ~I915_GEM_DOMAIN_CPU) != 0); + + /* If we're writing through the CPU, then the GPU read domains will + * need to be invalidated at next use. + */ + if (write) { + obj->base.read_domains = I915_GEM_DOMAIN_CPU; + obj->base.write_domain = I915_GEM_DOMAIN_CPU; + } + + trace_i915_gem_object_change_domain(obj, + old_read_domains, + old_write_domain); + + return 0; +} + +/* Throttle our rendering by waiting until the ring has completed our requests + * emitted over 20 msec ago. + * + * Note that if we were to use the current jiffies each time around the loop, + * we wouldn't escape the function with any frames outstanding if the time to + * render a frame was over 20ms. + * + * This should get us reasonable parallelism between CPU and GPU but also + * relatively low latency when blocking on a particular request to finish. + */ +static int +i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_file_private *file_priv = file->driver_priv; + unsigned long recent_enough = jiffies - msecs_to_jiffies(20); + struct drm_i915_gem_request *request; + struct intel_ring_buffer *ring = NULL; + u32 seqno = 0; + int ret; + + if (atomic_read(&dev_priv->mm.wedged)) + return -EIO; + + spin_lock(&file_priv->mm.lock); + list_for_each_entry(request, &file_priv->mm.request_list, client_list) { + if (time_after_eq(request->emitted_jiffies, recent_enough)) + break; + + ring = request->ring; + seqno = request->seqno; + } + spin_unlock(&file_priv->mm.lock); + + if (seqno == 0) + return 0; + + ret = __wait_seqno(ring, seqno, true, NULL); + if (ret == 0) + queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, 0); + + return ret; +} + +int +i915_gem_object_pin(struct drm_i915_gem_object *obj, + uint32_t alignment, + bool map_and_fenceable, + bool nonblocking) +{ + int ret; + + if (WARN_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT)) + return -EBUSY; + + if (obj->gtt_space != NULL) { + if ((alignment && obj->gtt_offset & (alignment - 1)) || + (map_and_fenceable && !obj->map_and_fenceable)) { + WARN(obj->pin_count, + "bo is already pinned with incorrect alignment:" + " offset=%x, req.alignment=%x, req.map_and_fenceable=%d," + " obj->map_and_fenceable=%d\n", + obj->gtt_offset, alignment, + map_and_fenceable, + obj->map_and_fenceable); + ret = i915_gem_object_unbind(obj); + if (ret) + return ret; + } + } + + if (obj->gtt_space == NULL) { + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + + ret = i915_gem_object_bind_to_gtt(obj, alignment, + map_and_fenceable, + nonblocking); + if (ret) + return ret; + + if (!dev_priv->mm.aliasing_ppgtt) + i915_gem_gtt_bind_object(obj, obj->cache_level); + } + + if (!obj->has_global_gtt_mapping && map_and_fenceable) + i915_gem_gtt_bind_object(obj, obj->cache_level); + + obj->pin_count++; + obj->pin_mappable |= map_and_fenceable; + + return 0; +} + +void +i915_gem_object_unpin(struct drm_i915_gem_object *obj) +{ + BUG_ON(obj->pin_count == 0); + BUG_ON(obj->gtt_space == NULL); + + if (--obj->pin_count == 0) + obj->pin_mappable = false; +} + +int +i915_gem_pin_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_pin *args = data; + struct drm_i915_gem_object *obj; + int ret; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + if (obj->madv != I915_MADV_WILLNEED) { + DRM_ERROR("Attempting to pin a purgeable buffer\n"); + ret = -EINVAL; + goto out; + } + + if (obj->pin_filp != NULL && obj->pin_filp != file) { + DRM_ERROR("Already pinned in i915_gem_pin_ioctl(): %d\n", + args->handle); + ret = -EINVAL; + goto out; + } + + obj->user_pin_count++; + obj->pin_filp = file; + if (obj->user_pin_count == 1) { + ret = i915_gem_object_pin(obj, args->alignment, true, false); + if (ret) + goto out; + } + + /* XXX - flush the CPU caches for pinned objects + * as the X server doesn't manage domains yet + */ + i915_gem_object_flush_cpu_write_domain(obj); + args->offset = obj->gtt_offset; +out: + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int +i915_gem_unpin_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_pin *args = data; + struct drm_i915_gem_object *obj; + int ret; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + if (obj->pin_filp != file) { + DRM_ERROR("Not pinned by caller in i915_gem_pin_ioctl(): %d\n", + args->handle); + ret = -EINVAL; + goto out; + } + obj->user_pin_count--; + if (obj->user_pin_count == 0) { + obj->pin_filp = NULL; + i915_gem_object_unpin(obj); + } + +out: + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int +i915_gem_busy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_busy *args = data; + struct drm_i915_gem_object *obj; + int ret; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + /* Count all active objects as busy, even if they are currently not used + * by the gpu. Users of this interface expect objects to eventually + * become non-busy without any further actions, therefore emit any + * necessary flushes here. + */ + ret = i915_gem_object_flush_active(obj); + + args->busy = obj->active; + if (obj->ring) { + BUILD_BUG_ON(I915_NUM_RINGS > 16); + args->busy |= intel_ring_flag(obj->ring) << 16; + } + + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int +i915_gem_throttle_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + return i915_gem_ring_throttle(dev, file_priv); +} + +int +i915_gem_madvise_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_i915_gem_madvise *args = data; + struct drm_i915_gem_object *obj; + int ret; + + switch (args->madv) { + case I915_MADV_DONTNEED: + case I915_MADV_WILLNEED: + break; + default: + return -EINVAL; + } + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file_priv, args->handle)); + if (&obj->base == NULL) { + ret = -ENOENT; + goto unlock; + } + + if (obj->pin_count) { + ret = -EINVAL; + goto out; + } + + if (obj->madv != __I915_MADV_PURGED) + obj->madv = args->madv; + + /* if the object is no longer attached, discard its backing storage */ + if (i915_gem_object_is_purgeable(obj) && obj->pages == NULL) + i915_gem_object_truncate(obj); + + args->retained = obj->madv != __I915_MADV_PURGED; + +out: + drm_gem_object_unreference(&obj->base); +unlock: + mutex_unlock(&dev->struct_mutex); + return ret; +} + +void i915_gem_object_init(struct drm_i915_gem_object *obj, + const struct drm_i915_gem_object_ops *ops) +{ + INIT_LIST_HEAD(&obj->mm_list); + INIT_LIST_HEAD(&obj->gtt_list); + INIT_LIST_HEAD(&obj->ring_list); + INIT_LIST_HEAD(&obj->exec_list); + + obj->ops = ops; + + obj->fence_reg = I915_FENCE_REG_NONE; + obj->madv = I915_MADV_WILLNEED; + /* Avoid an unnecessary call to unbind on the first bind. */ + obj->map_and_fenceable = true; + + i915_gem_info_add_obj(obj->base.dev->dev_private, obj->base.size); +} + +static const struct drm_i915_gem_object_ops i915_gem_object_ops = { + .get_pages = i915_gem_object_get_pages_gtt, + .put_pages = i915_gem_object_put_pages_gtt, +}; + +struct drm_i915_gem_object *i915_gem_alloc_object(struct drm_device *dev, + size_t size) +{ + struct drm_i915_gem_object *obj; + struct address_space *mapping; + u32 mask; + + obj = kzalloc(sizeof(*obj), GFP_KERNEL); + if (obj == NULL) + return NULL; + + if (drm_gem_object_init(dev, &obj->base, size) != 0) { + kfree(obj); + return NULL; + } + + mask = GFP_HIGHUSER | __GFP_RECLAIMABLE; + if (IS_CRESTLINE(dev) || IS_BROADWATER(dev)) { + /* 965gm cannot relocate objects above 4GiB. */ + mask &= ~__GFP_HIGHMEM; + mask |= __GFP_DMA32; + } + + mapping = obj->base.filp->f_path.dentry->d_inode->i_mapping; + mapping_set_gfp_mask(mapping, mask); + + i915_gem_object_init(obj, &i915_gem_object_ops); + + obj->base.write_domain = I915_GEM_DOMAIN_CPU; + obj->base.read_domains = I915_GEM_DOMAIN_CPU; + + if (HAS_LLC(dev)) { + /* On some devices, we can have the GPU use the LLC (the CPU + * cache) for about a 10% performance improvement + * compared to uncached. Graphics requests other than + * display scanout are coherent with the CPU in + * accessing this cache. This means in this mode we + * don't need to clflush on the CPU side, and on the + * GPU side we only need to flush internal caches to + * get data visible to the CPU. + * + * However, we maintain the display planes as UC, and so + * need to rebind when first used as such. + */ + obj->cache_level = I915_CACHE_LLC; + } else + obj->cache_level = I915_CACHE_NONE; + + return obj; +} + +int i915_gem_init_object(struct drm_gem_object *obj) +{ + BUG(); + + return 0; +} + +void i915_gem_free_object(struct drm_gem_object *gem_obj) +{ + struct drm_i915_gem_object *obj = to_intel_bo(gem_obj); + struct drm_device *dev = obj->base.dev; + drm_i915_private_t *dev_priv = dev->dev_private; + + trace_i915_gem_object_destroy(obj); + + if (obj->phys_obj) + i915_gem_detach_phys_object(dev, obj); + + obj->pin_count = 0; + if (WARN_ON(i915_gem_object_unbind(obj) == -ERESTARTSYS)) { + bool was_interruptible; + + was_interruptible = dev_priv->mm.interruptible; + dev_priv->mm.interruptible = false; + + WARN_ON(i915_gem_object_unbind(obj)); + + dev_priv->mm.interruptible = was_interruptible; + } + + obj->pages_pin_count = 0; + i915_gem_object_put_pages(obj); + i915_gem_object_free_mmap_offset(obj); + + BUG_ON(obj->pages); + + if (obj->base.import_attach) + drm_prime_gem_destroy(&obj->base, NULL); + + drm_gem_object_release(&obj->base); + i915_gem_info_remove_obj(dev_priv, obj->base.size); + + kfree(obj->bit_17); + kfree(obj); +} + +int +i915_gem_idle(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + mutex_lock(&dev->struct_mutex); + + if (dev_priv->mm.suspended) { + mutex_unlock(&dev->struct_mutex); + return 0; + } + + ret = i915_gpu_idle(dev); + if (ret) { + mutex_unlock(&dev->struct_mutex); + return ret; + } + i915_gem_retire_requests(dev); + + /* Under UMS, be paranoid and evict. */ + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + i915_gem_evict_everything(dev); + + i915_gem_reset_fences(dev); + + /* Hack! Don't let anybody do execbuf while we don't control the chip. + * We need to replace this with a semaphore, or something. + * And not confound mm.suspended! + */ + dev_priv->mm.suspended = 1; + del_timer_sync(&dev_priv->hangcheck_timer); + + i915_kernel_lost_context(dev); + i915_gem_cleanup_ringbuffer(dev); + + mutex_unlock(&dev->struct_mutex); + + /* Cancel the retire work handler, which should be idle now. */ + cancel_delayed_work_sync(&dev_priv->mm.retire_work); + + return 0; +} + +void i915_gem_l3_remap(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u32 misccpctl; + int i; + + if (!IS_IVYBRIDGE(dev)) + return; + + if (!dev_priv->l3_parity.remap_info) + return; + + misccpctl = I915_READ(GEN7_MISCCPCTL); + I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); + POSTING_READ(GEN7_MISCCPCTL); + + for (i = 0; i < GEN7_L3LOG_SIZE; i += 4) { + u32 remap = I915_READ(GEN7_L3LOG_BASE + i); + if (remap && remap != dev_priv->l3_parity.remap_info[i/4]) + DRM_DEBUG("0x%x was already programmed to %x\n", + GEN7_L3LOG_BASE + i, remap); + if (remap && !dev_priv->l3_parity.remap_info[i/4]) + DRM_DEBUG_DRIVER("Clearing remapped register\n"); + I915_WRITE(GEN7_L3LOG_BASE + i, dev_priv->l3_parity.remap_info[i/4]); + } + + /* Make sure all the writes land before disabling dop clock gating */ + POSTING_READ(GEN7_L3LOG_BASE); + + I915_WRITE(GEN7_MISCCPCTL, misccpctl); +} + +void i915_gem_init_swizzling(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + + if (INTEL_INFO(dev)->gen < 5 || + dev_priv->mm.bit_6_swizzle_x == I915_BIT_6_SWIZZLE_NONE) + return; + + I915_WRITE(DISP_ARB_CTL, I915_READ(DISP_ARB_CTL) | + DISP_TILE_SURFACE_SWIZZLING); + + if (IS_GEN5(dev)) + return; + + I915_WRITE(TILECTL, I915_READ(TILECTL) | TILECTL_SWZCTL); + if (IS_GEN6(dev)) + I915_WRITE(ARB_MODE, _MASKED_BIT_ENABLE(ARB_MODE_SWIZZLE_SNB)); + else + I915_WRITE(ARB_MODE, _MASKED_BIT_ENABLE(ARB_MODE_SWIZZLE_IVB)); +} + +static bool +intel_enable_blt(struct drm_device *dev) +{ + if (!HAS_BLT(dev)) + return false; + + /* The blitter was dysfunctional on early prototypes */ + if (IS_GEN6(dev) && dev->pdev->revision < 8) { + DRM_INFO("BLT not supported on this pre-production hardware;" + " graphics performance will be degraded.\n"); + return false; + } + + return true; +} + +int +i915_gem_init_hw(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + if (INTEL_INFO(dev)->gen < 6 && !intel_enable_gtt()) + return -EIO; + + if (IS_HASWELL(dev) && (I915_READ(0x120010) == 1)) + I915_WRITE(0x9008, I915_READ(0x9008) | 0xf0000); + + i915_gem_l3_remap(dev); + + i915_gem_init_swizzling(dev); + + ret = intel_init_render_ring_buffer(dev); + if (ret) + return ret; + + if (HAS_BSD(dev)) { + ret = intel_init_bsd_ring_buffer(dev); + if (ret) + goto cleanup_render_ring; + } + + if (intel_enable_blt(dev)) { + ret = intel_init_blt_ring_buffer(dev); + if (ret) + goto cleanup_bsd_ring; + } + + dev_priv->next_seqno = 1; + + /* + * XXX: There was some w/a described somewhere suggesting loading + * contexts before PPGTT. + */ + i915_gem_context_init(dev); + i915_gem_init_ppgtt(dev); + + return 0; + +cleanup_bsd_ring: + intel_cleanup_ring_buffer(&dev_priv->ring[VCS]); +cleanup_render_ring: + intel_cleanup_ring_buffer(&dev_priv->ring[RCS]); + return ret; +} + +static bool +intel_enable_ppgtt(struct drm_device *dev) +{ + if (i915_enable_ppgtt >= 0) + return i915_enable_ppgtt; + +#ifdef CONFIG_INTEL_IOMMU + /* Disable ppgtt on SNB if VT-d is on. */ + if (INTEL_INFO(dev)->gen == 6 && intel_iommu_gfx_mapped) + return false; +#endif + + return true; +} + +int i915_gem_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long gtt_size, mappable_size; + int ret; + + gtt_size = dev_priv->mm.gtt->gtt_total_entries << PAGE_SHIFT; + mappable_size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; + + mutex_lock(&dev->struct_mutex); + if (intel_enable_ppgtt(dev) && HAS_ALIASING_PPGTT(dev)) { + /* PPGTT pdes are stolen from global gtt ptes, so shrink the + * aperture accordingly when using aliasing ppgtt. */ + gtt_size -= I915_PPGTT_PD_ENTRIES*PAGE_SIZE; + + i915_gem_init_global_gtt(dev, 0, mappable_size, gtt_size); + + ret = i915_gem_init_aliasing_ppgtt(dev); + if (ret) { + mutex_unlock(&dev->struct_mutex); + return ret; + } + } else { + /* Let GEM Manage all of the aperture. + * + * However, leave one page at the end still bound to the scratch + * page. There are a number of places where the hardware + * apparently prefetches past the end of the object, and we've + * seen multiple hangs with the GPU head pointer stuck in a + * batchbuffer bound at the last page of the aperture. One page + * should be enough to keep any prefetching inside of the + * aperture. + */ + i915_gem_init_global_gtt(dev, 0, mappable_size, + gtt_size); + } + + ret = i915_gem_init_hw(dev); + mutex_unlock(&dev->struct_mutex); + if (ret) { + i915_gem_cleanup_aliasing_ppgtt(dev); + return ret; + } + + /* Allow hardware batchbuffers unless told otherwise, but not for KMS. */ + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + dev_priv->dri1.allow_batchbuffer = 1; + return 0; +} + +void +i915_gem_cleanup_ringbuffer(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int i; + + for_each_ring(ring, dev_priv, i) + intel_cleanup_ring_buffer(ring); +} + +int +i915_gem_entervt_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return 0; + + if (atomic_read(&dev_priv->mm.wedged)) { + DRM_ERROR("Reenabling wedged hardware, good luck\n"); + atomic_set(&dev_priv->mm.wedged, 0); + } + + mutex_lock(&dev->struct_mutex); + dev_priv->mm.suspended = 0; + + ret = i915_gem_init_hw(dev); + if (ret != 0) { + mutex_unlock(&dev->struct_mutex); + return ret; + } + + BUG_ON(!list_empty(&dev_priv->mm.active_list)); + mutex_unlock(&dev->struct_mutex); + + ret = drm_irq_install(dev); + if (ret) + goto cleanup_ringbuffer; + + return 0; + +cleanup_ringbuffer: + mutex_lock(&dev->struct_mutex); + i915_gem_cleanup_ringbuffer(dev); + dev_priv->mm.suspended = 1; + mutex_unlock(&dev->struct_mutex); + + return ret; +} + +int +i915_gem_leavevt_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return 0; + + drm_irq_uninstall(dev); + return i915_gem_idle(dev); +} + +void +i915_gem_lastclose(struct drm_device *dev) +{ + int ret; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return; + + ret = i915_gem_idle(dev); + if (ret) + DRM_ERROR("failed to idle hardware: %d\n", ret); +} + +static void +init_ring_lists(struct intel_ring_buffer *ring) +{ + INIT_LIST_HEAD(&ring->active_list); + INIT_LIST_HEAD(&ring->request_list); +} + +void +i915_gem_load(struct drm_device *dev) +{ + int i; + drm_i915_private_t *dev_priv = dev->dev_private; + + INIT_LIST_HEAD(&dev_priv->mm.active_list); + INIT_LIST_HEAD(&dev_priv->mm.inactive_list); + INIT_LIST_HEAD(&dev_priv->mm.unbound_list); + INIT_LIST_HEAD(&dev_priv->mm.bound_list); + INIT_LIST_HEAD(&dev_priv->mm.fence_list); + for (i = 0; i < I915_NUM_RINGS; i++) + init_ring_lists(&dev_priv->ring[i]); + for (i = 0; i < I915_MAX_NUM_FENCES; i++) + INIT_LIST_HEAD(&dev_priv->fence_regs[i].lru_list); + INIT_DELAYED_WORK(&dev_priv->mm.retire_work, + i915_gem_retire_work_handler); + init_completion(&dev_priv->error_completion); + + /* On GEN3 we really need to make sure the ARB C3 LP bit is set */ + if (IS_GEN3(dev)) { + I915_WRITE(MI_ARB_STATE, + _MASKED_BIT_ENABLE(MI_ARB_C3_LP_WRITE_ENABLE)); + } + + dev_priv->relative_constants_mode = I915_EXEC_CONSTANTS_REL_GENERAL; + + /* Old X drivers will take 0-2 for front, back, depth buffers */ + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + dev_priv->fence_reg_start = 3; + + if (INTEL_INFO(dev)->gen >= 4 || IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) + dev_priv->num_fence_regs = 16; + else + dev_priv->num_fence_regs = 8; + + /* Initialize fence registers to zero */ + i915_gem_reset_fences(dev); + + i915_gem_detect_bit_6_swizzle(dev); + init_waitqueue_head(&dev_priv->pending_flip_queue); + + dev_priv->mm.interruptible = true; + + dev_priv->mm.inactive_shrinker.shrink = i915_gem_inactive_shrink; + dev_priv->mm.inactive_shrinker.seeks = DEFAULT_SEEKS; + register_shrinker(&dev_priv->mm.inactive_shrinker); +} + +/* + * Create a physically contiguous memory object for this object + * e.g. for cursor + overlay regs + */ +static int i915_gem_init_phys_object(struct drm_device *dev, + int id, int size, int align) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_phys_object *phys_obj; + int ret; + + if (dev_priv->mm.phys_objs[id - 1] || !size) + return 0; + + phys_obj = kzalloc(sizeof(struct drm_i915_gem_phys_object), GFP_KERNEL); + if (!phys_obj) + return -ENOMEM; + + phys_obj->id = id; + + phys_obj->handle = drm_pci_alloc(dev, size, align); + if (!phys_obj->handle) { + ret = -ENOMEM; + goto kfree_obj; + } +#ifdef CONFIG_X86 + set_memory_wc((unsigned long)phys_obj->handle->vaddr, phys_obj->handle->size / PAGE_SIZE); +#endif + + dev_priv->mm.phys_objs[id - 1] = phys_obj; + + return 0; +kfree_obj: + kfree(phys_obj); + return ret; +} + +static void i915_gem_free_phys_object(struct drm_device *dev, int id) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_phys_object *phys_obj; + + if (!dev_priv->mm.phys_objs[id - 1]) + return; + + phys_obj = dev_priv->mm.phys_objs[id - 1]; + if (phys_obj->cur_obj) { + i915_gem_detach_phys_object(dev, phys_obj->cur_obj); + } + +#ifdef CONFIG_X86 + set_memory_wb((unsigned long)phys_obj->handle->vaddr, phys_obj->handle->size / PAGE_SIZE); +#endif + drm_pci_free(dev, phys_obj->handle); + kfree(phys_obj); + dev_priv->mm.phys_objs[id - 1] = NULL; +} + +void i915_gem_free_all_phys_object(struct drm_device *dev) +{ + int i; + + for (i = I915_GEM_PHYS_CURSOR_0; i <= I915_MAX_PHYS_OBJECT; i++) + i915_gem_free_phys_object(dev, i); +} + +void i915_gem_detach_phys_object(struct drm_device *dev, + struct drm_i915_gem_object *obj) +{ + struct address_space *mapping = obj->base.filp->f_path.dentry->d_inode->i_mapping; + char *vaddr; + int i; + int page_count; + + if (!obj->phys_obj) + return; + vaddr = obj->phys_obj->handle->vaddr; + + page_count = obj->base.size / PAGE_SIZE; + for (i = 0; i < page_count; i++) { + struct page *page = shmem_read_mapping_page(mapping, i); + if (!IS_ERR(page)) { + char *dst = kmap_atomic(page); + memcpy(dst, vaddr + i*PAGE_SIZE, PAGE_SIZE); + kunmap_atomic(dst); + + drm_clflush_pages(&page, 1); + + set_page_dirty(page); + mark_page_accessed(page); + page_cache_release(page); + } + } + i915_gem_chipset_flush(dev); + + obj->phys_obj->cur_obj = NULL; + obj->phys_obj = NULL; +} + +int +i915_gem_attach_phys_object(struct drm_device *dev, + struct drm_i915_gem_object *obj, + int id, + int align) +{ + struct address_space *mapping = obj->base.filp->f_path.dentry->d_inode->i_mapping; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret = 0; + int page_count; + int i; + + if (id > I915_MAX_PHYS_OBJECT) + return -EINVAL; + + if (obj->phys_obj) { + if (obj->phys_obj->id == id) + return 0; + i915_gem_detach_phys_object(dev, obj); + } + + /* create a new object */ + if (!dev_priv->mm.phys_objs[id - 1]) { + ret = i915_gem_init_phys_object(dev, id, + obj->base.size, align); + if (ret) { + DRM_ERROR("failed to init phys object %d size: %zu\n", + id, obj->base.size); + return ret; + } + } + + /* bind to the object */ + obj->phys_obj = dev_priv->mm.phys_objs[id - 1]; + obj->phys_obj->cur_obj = obj; + + page_count = obj->base.size / PAGE_SIZE; + + for (i = 0; i < page_count; i++) { + struct page *page; + char *dst, *src; + + page = shmem_read_mapping_page(mapping, i); + if (IS_ERR(page)) + return PTR_ERR(page); + + src = kmap_atomic(page); + dst = obj->phys_obj->handle->vaddr + (i * PAGE_SIZE); + memcpy(dst, src, PAGE_SIZE); + kunmap_atomic(src); + + mark_page_accessed(page); + page_cache_release(page); + } + + return 0; +} + +static int +i915_gem_phys_pwrite(struct drm_device *dev, + struct drm_i915_gem_object *obj, + struct drm_i915_gem_pwrite *args, + struct drm_file *file_priv) +{ + void *vaddr = obj->phys_obj->handle->vaddr + args->offset; + char __user *user_data = (char __user *) (uintptr_t) args->data_ptr; + + if (__copy_from_user_inatomic_nocache(vaddr, user_data, args->size)) { + unsigned long unwritten; + + /* The physical object once assigned is fixed for the lifetime + * of the obj, so we can safely drop the lock and continue + * to access vaddr. + */ + mutex_unlock(&dev->struct_mutex); + unwritten = copy_from_user(vaddr, user_data, args->size); + mutex_lock(&dev->struct_mutex); + if (unwritten) + return -EFAULT; + } + + i915_gem_chipset_flush(dev); + return 0; +} + +void i915_gem_release(struct drm_device *dev, struct drm_file *file) +{ + struct drm_i915_file_private *file_priv = file->driver_priv; + + /* Clean up our request list when the client is going away, so that + * later retire_requests won't dereference our soon-to-be-gone + * file_priv. + */ + spin_lock(&file_priv->mm.lock); + while (!list_empty(&file_priv->mm.request_list)) { + struct drm_i915_gem_request *request; + + request = list_first_entry(&file_priv->mm.request_list, + struct drm_i915_gem_request, + client_list); + list_del(&request->client_list); + request->file_priv = NULL; + } + spin_unlock(&file_priv->mm.lock); +} + +static bool mutex_is_locked_by(struct mutex *mutex, struct task_struct *task) +{ + if (!mutex_is_locked(mutex)) + return false; + +#if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_MUTEXES) + return mutex->owner == task; +#else + /* Since UP may be pre-empted, we cannot assume that we own the lock */ + return false; +#endif +} + +static int +i915_gem_inactive_shrink(struct shrinker *shrinker, struct shrink_control *sc) +{ + struct drm_i915_private *dev_priv = + container_of(shrinker, + struct drm_i915_private, + mm.inactive_shrinker); + struct drm_device *dev = dev_priv->dev; + struct drm_i915_gem_object *obj; + int nr_to_scan = sc->nr_to_scan; + bool unlock = true; + int cnt; + + if (!mutex_trylock(&dev->struct_mutex)) { + if (!mutex_is_locked_by(&dev->struct_mutex, current)) + return 0; + + unlock = false; + } + + if (nr_to_scan) { + nr_to_scan -= i915_gem_purge(dev_priv, nr_to_scan); + if (nr_to_scan > 0) + i915_gem_shrink_all(dev_priv); + } + + cnt = 0; + list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list) + if (obj->pages_pin_count == 0) + cnt += obj->base.size >> PAGE_SHIFT; + list_for_each_entry(obj, &dev_priv->mm.bound_list, gtt_list) + if (obj->pin_count == 0 && obj->pages_pin_count == 0) + cnt += obj->base.size >> PAGE_SHIFT; + + if (unlock) + mutex_unlock(&dev->struct_mutex); + return cnt; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_context.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_context.c @@ -0,0 +1,534 @@ +/* + * Copyright © 2011-2012 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Ben Widawsky + * + */ + +/* + * This file implements HW context support. On gen5+ a HW context consists of an + * opaque GPU object which is referenced at times of context saves and restores. + * With RC6 enabled, the context is also referenced as the GPU enters and exists + * from RC6 (GPU has it's own internal power context, except on gen5). Though + * something like a context does exist for the media ring, the code only + * supports contexts for the render ring. + * + * In software, there is a distinction between contexts created by the user, + * and the default HW context. The default HW context is used by GPU clients + * that do not request setup of their own hardware context. The default + * context's state is never restored to help prevent programming errors. This + * would happen if a client ran and piggy-backed off another clients GPU state. + * The default context only exists to give the GPU some offset to load as the + * current to invoke a save of the context we actually care about. In fact, the + * code could likely be constructed, albeit in a more complicated fashion, to + * never use the default context, though that limits the driver's ability to + * swap out, and/or destroy other contexts. + * + * All other contexts are created as a request by the GPU client. These contexts + * store GPU state, and thus allow GPU clients to not re-emit state (and + * potentially query certain state) at any time. The kernel driver makes + * certain that the appropriate commands are inserted. + * + * The context life cycle is semi-complicated in that context BOs may live + * longer than the context itself because of the way the hardware, and object + * tracking works. Below is a very crude representation of the state machine + * describing the context life. + * refcount pincount active + * S0: initial state 0 0 0 + * S1: context created 1 0 0 + * S2: context is currently running 2 1 X + * S3: GPU referenced, but not current 2 0 1 + * S4: context is current, but destroyed 1 1 0 + * S5: like S3, but destroyed 1 0 1 + * + * The most common (but not all) transitions: + * S0->S1: client creates a context + * S1->S2: client submits execbuf with context + * S2->S3: other clients submits execbuf with context + * S3->S1: context object was retired + * S3->S2: clients submits another execbuf + * S2->S4: context destroy called with current context + * S3->S5->S0: destroy path + * S4->S5->S0: destroy path on current context + * + * There are two confusing terms used above: + * The "current context" means the context which is currently running on the + * GPU. The GPU has loaded it's state already and has stored away the gtt + * offset of the BO. The GPU is not actively referencing the data at this + * offset, but it will on the next context switch. The only way to avoid this + * is to do a GPU reset. + * + * An "active context' is one which was previously the "current context" and is + * on the active list waiting for the next context switch to occur. Until this + * happens, the object must remain at the same gtt offset. It is therefore + * possible to destroy a context, but it is still active. + * + */ + +#include "drmP.h" +#include "i915_drm.h" +#include "i915_drv.h" + +/* This is a HW constraint. The value below is the largest known requirement + * I've seen in a spec to date, and that was a workaround for a non-shipping + * part. It should be safe to decrease this, but it's more future proof as is. + */ +#define CONTEXT_ALIGN (64<<10) + +static struct i915_hw_context * +i915_gem_context_get(struct drm_i915_file_private *file_priv, u32 id); +static int do_switch(struct i915_hw_context *to); + +static int get_context_size(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + u32 reg; + + switch (INTEL_INFO(dev)->gen) { + case 6: + reg = I915_READ(CXT_SIZE); + ret = GEN6_CXT_TOTAL_SIZE(reg) * 64; + break; + case 7: + reg = I915_READ(GEN7_CXT_SIZE); + if (IS_HASWELL(dev)) + ret = HSW_CXT_TOTAL_SIZE(reg) * 64; + else + ret = GEN7_CXT_TOTAL_SIZE(reg) * 64; + break; + default: + BUG(); + } + + return ret; +} + +static void do_destroy(struct i915_hw_context *ctx) +{ + struct drm_device *dev = ctx->obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + if (ctx->file_priv) + idr_remove(&ctx->file_priv->context_idr, ctx->id); + else + BUG_ON(ctx != dev_priv->ring[RCS].default_context); + + drm_gem_object_unreference(&ctx->obj->base); + kfree(ctx); +} + +static struct i915_hw_context * +create_hw_context(struct drm_device *dev, + struct drm_i915_file_private *file_priv) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct i915_hw_context *ctx; + int ret, id; + + ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + if (ctx == NULL) + return ERR_PTR(-ENOMEM); + + ctx->obj = i915_gem_alloc_object(dev, dev_priv->hw_context_size); + if (ctx->obj == NULL) { + kfree(ctx); + DRM_DEBUG_DRIVER("Context object allocated failed\n"); + return ERR_PTR(-ENOMEM); + } + + /* The ring associated with the context object is handled by the normal + * object tracking code. We give an initial ring value simple to pass an + * assertion in the context switch code. + */ + ctx->ring = &dev_priv->ring[RCS]; + + /* Default context will never have a file_priv */ + if (file_priv == NULL) + return ctx; + + ctx->file_priv = file_priv; + +again: + if (idr_pre_get(&file_priv->context_idr, GFP_KERNEL) == 0) { + ret = -ENOMEM; + DRM_DEBUG_DRIVER("idr allocation failed\n"); + goto err_out; + } + + ret = idr_get_new_above(&file_priv->context_idr, ctx, + DEFAULT_CONTEXT_ID + 1, &id); + if (ret == 0) + ctx->id = id; + + if (ret == -EAGAIN) + goto again; + else if (ret) + goto err_out; + + return ctx; + +err_out: + do_destroy(ctx); + return ERR_PTR(ret); +} + +static inline bool is_default_context(struct i915_hw_context *ctx) +{ + return (ctx == ctx->ring->default_context); +} + +/** + * The default context needs to exist per ring that uses contexts. It stores the + * context state of the GPU for applications that don't utilize HW contexts, as + * well as an idle case. + */ +static int create_default_context(struct drm_i915_private *dev_priv) +{ + struct i915_hw_context *ctx; + int ret; + + BUG_ON(!mutex_is_locked(&dev_priv->dev->struct_mutex)); + + ctx = create_hw_context(dev_priv->dev, NULL); + if (IS_ERR(ctx)) + return PTR_ERR(ctx); + + /* We may need to do things with the shrinker which require us to + * immediately switch back to the default context. This can cause a + * problem as pinning the default context also requires GTT space which + * may not be available. To avoid this we always pin the + * default context. + */ + dev_priv->ring[RCS].default_context = ctx; + ret = i915_gem_object_pin(ctx->obj, CONTEXT_ALIGN, false, false); + if (ret) + goto err_destroy; + + ret = do_switch(ctx); + if (ret) + goto err_unpin; + + DRM_DEBUG_DRIVER("Default HW context loaded\n"); + return 0; + +err_unpin: + i915_gem_object_unpin(ctx->obj); +err_destroy: + do_destroy(ctx); + return ret; +} + +void i915_gem_context_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t ctx_size; + + if (!HAS_HW_CONTEXTS(dev)) { + dev_priv->hw_contexts_disabled = true; + return; + } + + /* If called from reset, or thaw... we've been here already */ + if (dev_priv->hw_contexts_disabled || + dev_priv->ring[RCS].default_context) + return; + + ctx_size = get_context_size(dev); + dev_priv->hw_context_size = get_context_size(dev); + dev_priv->hw_context_size = round_up(dev_priv->hw_context_size, 4096); + + if (ctx_size <= 0 || ctx_size > (1<<20)) { + dev_priv->hw_contexts_disabled = true; + return; + } + + if (create_default_context(dev_priv)) { + dev_priv->hw_contexts_disabled = true; + return; + } + + DRM_DEBUG_DRIVER("HW context support initialized\n"); +} + +void i915_gem_context_fini(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->hw_contexts_disabled) + return; + + /* The only known way to stop the gpu from accessing the hw context is + * to reset it. Do this as the very last operation to avoid confusing + * other code, leading to spurious errors. */ + intel_gpu_reset(dev); + + i915_gem_object_unpin(dev_priv->ring[RCS].default_context->obj); + + do_destroy(dev_priv->ring[RCS].default_context); +} + +static int context_idr_cleanup(int id, void *p, void *data) +{ + struct i915_hw_context *ctx = p; + + BUG_ON(id == DEFAULT_CONTEXT_ID); + + do_destroy(ctx); + + return 0; +} + +void i915_gem_context_close(struct drm_device *dev, struct drm_file *file) +{ + struct drm_i915_file_private *file_priv = file->driver_priv; + + mutex_lock(&dev->struct_mutex); + idr_for_each(&file_priv->context_idr, context_idr_cleanup, NULL); + idr_destroy(&file_priv->context_idr); + mutex_unlock(&dev->struct_mutex); +} + +static struct i915_hw_context * +i915_gem_context_get(struct drm_i915_file_private *file_priv, u32 id) +{ + return (struct i915_hw_context *)idr_find(&file_priv->context_idr, id); +} + +static inline int +mi_set_context(struct intel_ring_buffer *ring, + struct i915_hw_context *new_context, + u32 hw_flags) +{ + int ret; + + /* w/a: If Flush TLB Invalidation Mode is enabled, driver must do a TLB + * invalidation prior to MI_SET_CONTEXT. On GEN6 we don't set the value + * explicitly, so we rely on the value at ring init, stored in + * itlb_before_ctx_switch. + */ + if (IS_GEN6(ring->dev) && ring->itlb_before_ctx_switch) { + ret = ring->flush(ring, I915_GEM_GPU_DOMAINS, 0); + if (ret) + return ret; + } + + ret = intel_ring_begin(ring, 6); + if (ret) + return ret; + + if (IS_GEN7(ring->dev)) + intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE); + else + intel_ring_emit(ring, MI_NOOP); + + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_SET_CONTEXT); + intel_ring_emit(ring, new_context->obj->gtt_offset | + MI_MM_SPACE_GTT | + MI_SAVE_EXT_STATE_EN | + MI_RESTORE_EXT_STATE_EN | + hw_flags); + /* w/a: MI_SET_CONTEXT must always be followed by MI_NOOP */ + intel_ring_emit(ring, MI_NOOP); + + if (IS_GEN7(ring->dev)) + intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_ENABLE); + else + intel_ring_emit(ring, MI_NOOP); + + intel_ring_advance(ring); + + return ret; +} + +static int do_switch(struct i915_hw_context *to) +{ + struct intel_ring_buffer *ring = to->ring; + struct drm_i915_gem_object *from_obj = ring->last_context_obj; + u32 hw_flags = 0; + int ret; + + BUG_ON(from_obj != NULL && from_obj->pin_count == 0); + + if (from_obj == to->obj) + return 0; + + ret = i915_gem_object_pin(to->obj, CONTEXT_ALIGN, false, false); + if (ret) + return ret; + + /* Clear this page out of any CPU caches for coherent swap-in/out. Note + * that thanks to write = false in this call and us not setting any gpu + * write domains when putting a context object onto the active list + * (when switching away from it), this won't block. + * XXX: We need a real interface to do this instead of trickery. */ + ret = i915_gem_object_set_to_gtt_domain(to->obj, false); + if (ret) { + i915_gem_object_unpin(to->obj); + return ret; + } + + if (!to->obj->has_global_gtt_mapping) + i915_gem_gtt_bind_object(to->obj, to->obj->cache_level); + + if (!to->is_initialized || is_default_context(to)) + hw_flags |= MI_RESTORE_INHIBIT; + else if (WARN_ON_ONCE(from_obj == to->obj)) /* not yet expected */ + hw_flags |= MI_FORCE_RESTORE; + + ret = mi_set_context(ring, to, hw_flags); + if (ret) { + i915_gem_object_unpin(to->obj); + return ret; + } + + /* The backing object for the context is done after switching to the + * *next* context. Therefore we cannot retire the previous context until + * the next context has already started running. In fact, the below code + * is a bit suboptimal because the retiring can occur simply after the + * MI_SET_CONTEXT instead of when the next seqno has completed. + */ + if (from_obj != NULL) { + u32 seqno = i915_gem_next_request_seqno(ring); + from_obj->base.read_domains = I915_GEM_DOMAIN_INSTRUCTION; + i915_gem_object_move_to_active(from_obj, ring, seqno); + /* As long as MI_SET_CONTEXT is serializing, ie. it flushes the + * whole damn pipeline, we don't need to explicitly mark the + * object dirty. The only exception is that the context must be + * correct in case the object gets swapped out. Ideally we'd be + * able to defer doing this until we know the object would be + * swapped, but there is no way to do that yet. + */ + from_obj->dirty = 1; + BUG_ON(from_obj->ring != ring); + i915_gem_object_unpin(from_obj); + + drm_gem_object_unreference(&from_obj->base); + } + + drm_gem_object_reference(&to->obj->base); + ring->last_context_obj = to->obj; + to->is_initialized = true; + + return 0; +} + +/** + * i915_switch_context() - perform a GPU context switch. + * @ring: ring for which we'll execute the context switch + * @file_priv: file_priv associated with the context, may be NULL + * @id: context id number + * @seqno: sequence number by which the new context will be switched to + * @flags: + * + * The context life cycle is simple. The context refcount is incremented and + * decremented by 1 and create and destroy. If the context is in use by the GPU, + * it will have a refoucnt > 1. This allows us to destroy the context abstract + * object while letting the normal object tracking destroy the backing BO. + */ +int i915_switch_context(struct intel_ring_buffer *ring, + struct drm_file *file, + int to_id) +{ + struct drm_i915_private *dev_priv = ring->dev->dev_private; + struct i915_hw_context *to; + + if (dev_priv->hw_contexts_disabled) + return 0; + + if (ring != &dev_priv->ring[RCS]) + return 0; + + if (to_id == DEFAULT_CONTEXT_ID) { + to = ring->default_context; + } else { + if (file == NULL) + return -EINVAL; + + to = i915_gem_context_get(file->driver_priv, to_id); + if (to == NULL) + return -ENOENT; + } + + return do_switch(to); +} + +int i915_gem_context_create_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_context_create *args = data; + struct drm_i915_file_private *file_priv = file->driver_priv; + struct i915_hw_context *ctx; + int ret; + + if (!(dev->driver->driver_features & DRIVER_GEM)) + return -ENODEV; + + if (dev_priv->hw_contexts_disabled) + return -ENODEV; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + ctx = create_hw_context(dev, file_priv); + mutex_unlock(&dev->struct_mutex); + if (IS_ERR(ctx)) + return PTR_ERR(ctx); + + args->ctx_id = ctx->id; + DRM_DEBUG_DRIVER("HW context %d created\n", args->ctx_id); + + return 0; +} + +int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_context_destroy *args = data; + struct drm_i915_file_private *file_priv = file->driver_priv; + struct i915_hw_context *ctx; + int ret; + + if (!(dev->driver->driver_features & DRIVER_GEM)) + return -ENODEV; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + ctx = i915_gem_context_get(file_priv, args->ctx_id); + if (!ctx) { + mutex_unlock(&dev->struct_mutex); + return -ENOENT; + } + + do_destroy(ctx); + + mutex_unlock(&dev->struct_mutex); + + DRM_DEBUG_DRIVER("HW context %d destroyed\n", args->ctx_id); + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_debug.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_debug.c @@ -0,0 +1,188 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Keith Packard + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" + +#if WATCH_LISTS +int +i915_verify_lists(struct drm_device *dev) +{ + static int warned; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + int err = 0; + + if (warned) + return 0; + + list_for_each_entry(obj, &dev_priv->render_ring.active_list, list) { + if (obj->base.dev != dev || + !atomic_read(&obj->base.refcount.refcount)) { + DRM_ERROR("freed render active %p\n", obj); + err++; + break; + } else if (!obj->active || + (obj->base.read_domains & I915_GEM_GPU_DOMAINS) == 0) { + DRM_ERROR("invalid render active %p (a %d r %x)\n", + obj, + obj->active, + obj->base.read_domains); + err++; + } else if (obj->base.write_domain && list_empty(&obj->gpu_write_list)) { + DRM_ERROR("invalid render active %p (w %x, gwl %d)\n", + obj, + obj->base.write_domain, + !list_empty(&obj->gpu_write_list)); + err++; + } + } + + list_for_each_entry(obj, &dev_priv->mm.flushing_list, list) { + if (obj->base.dev != dev || + !atomic_read(&obj->base.refcount.refcount)) { + DRM_ERROR("freed flushing %p\n", obj); + err++; + break; + } else if (!obj->active || + (obj->base.write_domain & I915_GEM_GPU_DOMAINS) == 0 || + list_empty(&obj->gpu_write_list)) { + DRM_ERROR("invalid flushing %p (a %d w %x gwl %d)\n", + obj, + obj->active, + obj->base.write_domain, + !list_empty(&obj->gpu_write_list)); + err++; + } + } + + list_for_each_entry(obj, &dev_priv->mm.gpu_write_list, gpu_write_list) { + if (obj->base.dev != dev || + !atomic_read(&obj->base.refcount.refcount)) { + DRM_ERROR("freed gpu write %p\n", obj); + err++; + break; + } else if (!obj->active || + (obj->base.write_domain & I915_GEM_GPU_DOMAINS) == 0) { + DRM_ERROR("invalid gpu write %p (a %d w %x)\n", + obj, + obj->active, + obj->base.write_domain); + err++; + } + } + + list_for_each_entry(obj, &dev_priv->mm.inactive_list, list) { + if (obj->base.dev != dev || + !atomic_read(&obj->base.refcount.refcount)) { + DRM_ERROR("freed inactive %p\n", obj); + err++; + break; + } else if (obj->pin_count || obj->active || + (obj->base.write_domain & I915_GEM_GPU_DOMAINS)) { + DRM_ERROR("invalid inactive %p (p %d a %d w %x)\n", + obj, + obj->pin_count, obj->active, + obj->base.write_domain); + err++; + } + } + + return warned = err; +} +#endif /* WATCH_INACTIVE */ + +#if WATCH_COHERENCY +void +i915_gem_object_check_coherency(struct drm_i915_gem_object *obj, int handle) +{ + struct drm_device *dev = obj->base.dev; + int page; + uint32_t *gtt_mapping; + uint32_t *backing_map = NULL; + int bad_count = 0; + + DRM_INFO("%s: checking coherency of object %p@0x%08x (%d, %zdkb):\n", + __func__, obj, obj->gtt_offset, handle, + obj->size / 1024); + + gtt_mapping = ioremap(dev_priv->mm.gtt_base_addr + obj->gtt_offset, + obj->base.size); + if (gtt_mapping == NULL) { + DRM_ERROR("failed to map GTT space\n"); + return; + } + + for (page = 0; page < obj->size / PAGE_SIZE; page++) { + int i; + + backing_map = kmap_atomic(obj->pages[page]); + + if (backing_map == NULL) { + DRM_ERROR("failed to map backing page\n"); + goto out; + } + + for (i = 0; i < PAGE_SIZE / 4; i++) { + uint32_t cpuval = backing_map[i]; + uint32_t gttval = readl(gtt_mapping + + page * 1024 + i); + + if (cpuval != gttval) { + DRM_INFO("incoherent CPU vs GPU at 0x%08x: " + "0x%08x vs 0x%08x\n", + (int)(obj->gtt_offset + + page * PAGE_SIZE + i * 4), + cpuval, gttval); + if (bad_count++ >= 8) { + DRM_INFO("...\n"); + goto out; + } + } + } + kunmap_atomic(backing_map); + backing_map = NULL; + } + + out: + if (backing_map != NULL) + kunmap_atomic(backing_map); + iounmap(gtt_mapping); + + /* give syslog time to catch up */ + msleep(1); + + /* Directly flush the object, since we just loaded values with the CPU + * from the backing pages and we don't want to disturb the cache + * management that we're trying to observe. + */ + + i915_gem_clflush_object(obj); +} +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_dmabuf.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_dmabuf.c @@ -0,0 +1,300 @@ +/* + * Copyright 2012 Red Hat Inc + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Dave Airlie + */ +#include "drmP.h" +#include "i915_drv.h" +#include + +static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachment, + enum dma_data_direction dir) +{ + struct drm_i915_gem_object *obj = attachment->dmabuf->priv; + struct sg_table *st; + struct scatterlist *src, *dst; + int ret, i; + + ret = i915_mutex_lock_interruptible(obj->base.dev); + if (ret) + return ERR_PTR(ret); + + ret = i915_gem_object_get_pages(obj); + if (ret) { + st = ERR_PTR(ret); + goto out; + } + + /* Copy sg so that we make an independent mapping */ + st = kmalloc(sizeof(struct sg_table), GFP_KERNEL); + if (st == NULL) { + st = ERR_PTR(-ENOMEM); + goto out; + } + + ret = sg_alloc_table(st, obj->pages->nents, GFP_KERNEL); + if (ret) { + kfree(st); + st = ERR_PTR(ret); + goto out; + } + + src = obj->pages->sgl; + dst = st->sgl; + for (i = 0; i < obj->pages->nents; i++) { + sg_set_page(dst, sg_page(src), PAGE_SIZE, 0); + dst = sg_next(dst); + src = sg_next(src); + } + + if (!dma_map_sg(attachment->dev, st->sgl, st->nents, dir)) { + sg_free_table(st); + kfree(st); + st = ERR_PTR(-ENOMEM); + goto out; + } + + i915_gem_object_pin_pages(obj); + +out: + mutex_unlock(&obj->base.dev->struct_mutex); + return st; +} + +static void i915_gem_unmap_dma_buf(struct dma_buf_attachment *attachment, + struct sg_table *sg, + enum dma_data_direction dir) +{ + dma_unmap_sg(attachment->dev, sg->sgl, sg->nents, dir); + sg_free_table(sg); + kfree(sg); +} + +static void i915_gem_dmabuf_release(struct dma_buf *dma_buf) +{ + struct drm_i915_gem_object *obj = dma_buf->priv; + + if (obj->base.export_dma_buf == dma_buf) { + /* drop the reference on the export fd holds */ + obj->base.export_dma_buf = NULL; + drm_gem_object_unreference_unlocked(&obj->base); + } +} + +static void *i915_gem_dmabuf_vmap(struct dma_buf *dma_buf) +{ + struct drm_i915_gem_object *obj = dma_buf->priv; + struct drm_device *dev = obj->base.dev; + struct scatterlist *sg; + struct page **pages; + int ret, i; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ERR_PTR(ret); + + if (obj->dma_buf_vmapping) { + obj->vmapping_count++; + goto out_unlock; + } + + ret = i915_gem_object_get_pages(obj); + if (ret) + goto error; + + ret = -ENOMEM; + + pages = drm_malloc_ab(obj->pages->nents, sizeof(struct page *)); + if (pages == NULL) + goto error; + + for_each_sg(obj->pages->sgl, sg, obj->pages->nents, i) + pages[i] = sg_page(sg); + + obj->dma_buf_vmapping = vmap(pages, obj->pages->nents, 0, PAGE_KERNEL); + drm_free_large(pages); + + if (!obj->dma_buf_vmapping) + goto error; + + obj->vmapping_count = 1; + i915_gem_object_pin_pages(obj); +out_unlock: + mutex_unlock(&dev->struct_mutex); + return obj->dma_buf_vmapping; + +error: + mutex_unlock(&dev->struct_mutex); + return ERR_PTR(ret); +} + +static void i915_gem_dmabuf_vunmap(struct dma_buf *dma_buf, void *vaddr) +{ + struct drm_i915_gem_object *obj = dma_buf->priv; + struct drm_device *dev = obj->base.dev; + int ret; + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return; + + if (--obj->vmapping_count == 0) { + vunmap(obj->dma_buf_vmapping); + obj->dma_buf_vmapping = NULL; + + i915_gem_object_unpin_pages(obj); + } + mutex_unlock(&dev->struct_mutex); +} + +static void *i915_gem_dmabuf_kmap_atomic(struct dma_buf *dma_buf, unsigned long page_num) +{ + return NULL; +} + +static void i915_gem_dmabuf_kunmap_atomic(struct dma_buf *dma_buf, unsigned long page_num, void *addr) +{ + +} +static void *i915_gem_dmabuf_kmap(struct dma_buf *dma_buf, unsigned long page_num) +{ + return NULL; +} + +static void i915_gem_dmabuf_kunmap(struct dma_buf *dma_buf, unsigned long page_num, void *addr) +{ + +} + +static int i915_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma) +{ + return -EINVAL; +} + +static int i915_gem_begin_cpu_access(struct dma_buf *dma_buf, size_t start, size_t length, enum dma_data_direction direction) +{ + struct drm_i915_gem_object *obj = dma_buf->priv; + struct drm_device *dev = obj->base.dev; + int ret; + bool write = (direction == DMA_BIDIRECTIONAL || direction == DMA_TO_DEVICE); + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + + ret = i915_gem_object_set_to_cpu_domain(obj, write); + mutex_unlock(&dev->struct_mutex); + return ret; +} + +static const struct dma_buf_ops i915_dmabuf_ops = { + .map_dma_buf = i915_gem_map_dma_buf, + .unmap_dma_buf = i915_gem_unmap_dma_buf, + .release = i915_gem_dmabuf_release, + .kmap = i915_gem_dmabuf_kmap, + .kmap_atomic = i915_gem_dmabuf_kmap_atomic, + .kunmap = i915_gem_dmabuf_kunmap, + .kunmap_atomic = i915_gem_dmabuf_kunmap_atomic, + .mmap = i915_gem_dmabuf_mmap, + .vmap = i915_gem_dmabuf_vmap, + .vunmap = i915_gem_dmabuf_vunmap, + .begin_cpu_access = i915_gem_begin_cpu_access, +}; + +struct dma_buf *i915_gem_prime_export(struct drm_device *dev, + struct drm_gem_object *gem_obj, int flags) +{ + struct drm_i915_gem_object *obj = to_intel_bo(gem_obj); + + return dma_buf_export(obj, &i915_dmabuf_ops, obj->base.size, 0600); +} + +static int i915_gem_object_get_pages_dmabuf(struct drm_i915_gem_object *obj) +{ + struct sg_table *sg; + + sg = dma_buf_map_attachment(obj->base.import_attach, DMA_BIDIRECTIONAL); + if (IS_ERR(sg)) + return PTR_ERR(sg); + + obj->pages = sg; + obj->has_dma_mapping = true; + return 0; +} + +static void i915_gem_object_put_pages_dmabuf(struct drm_i915_gem_object *obj) +{ + dma_buf_unmap_attachment(obj->base.import_attach, + obj->pages, DMA_BIDIRECTIONAL); + obj->has_dma_mapping = false; +} + +static const struct drm_i915_gem_object_ops i915_gem_object_dmabuf_ops = { + .get_pages = i915_gem_object_get_pages_dmabuf, + .put_pages = i915_gem_object_put_pages_dmabuf, +}; + +struct drm_gem_object *i915_gem_prime_import(struct drm_device *dev, + struct dma_buf *dma_buf) +{ + struct dma_buf_attachment *attach; + struct drm_i915_gem_object *obj; + int ret; + + /* is this one of own objects? */ + if (dma_buf->ops == &i915_dmabuf_ops) { + obj = dma_buf->priv; + /* is it from our device? */ + if (obj->base.dev == dev) { + drm_gem_object_reference(&obj->base); + return &obj->base; + } + } + + /* need to attach */ + attach = dma_buf_attach(dma_buf, dev->dev); + if (IS_ERR(attach)) + return ERR_CAST(attach); + + + obj = kzalloc(sizeof(*obj), GFP_KERNEL); + if (obj == NULL) { + ret = -ENOMEM; + goto fail_detach; + } + + ret = drm_gem_private_object_init(dev, &obj->base, dma_buf->size); + if (ret) { + kfree(obj); + goto fail_detach; + } + + i915_gem_object_init(obj, &i915_gem_object_dmabuf_ops); + obj->base.import_attach = attach; + + return &obj->base; + +fail_detach: + dma_buf_detach(dma_buf, attach); + return ERR_PTR(ret); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_evict.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_evict.c @@ -0,0 +1,186 @@ +/* + * Copyright © 2008-2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Chris Wilson + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drv.h" +#include "i915_drm.h" +#include "i915_trace.h" + +static bool +mark_free(struct drm_i915_gem_object *obj, struct list_head *unwind) +{ + if (obj->pin_count) + return false; + + list_add(&obj->exec_list, unwind); + return drm_mm_scan_add_block_hsw(obj->gtt_space); +} + +int +i915_gem_evict_something(struct drm_device *dev, int min_size, + unsigned alignment, unsigned cache_level, + bool mappable, bool nonblocking) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct list_head eviction_list, unwind_list; + struct drm_i915_gem_object *obj; + int ret = 0; + + trace_i915_gem_evict(dev, min_size, alignment, mappable); + + /* + * The goal is to evict objects and amalgamate space in LRU order. + * The oldest idle objects reside on the inactive list, which is in + * retirement order. The next objects to retire are those on the (per + * ring) active list that do not have an outstanding flush. Once the + * hardware reports completion (the seqno is updated after the + * batchbuffer has been finished) the clean buffer objects would + * be retired to the inactive list. Any dirty objects would be added + * to the tail of the flushing list. So after processing the clean + * active objects we need to emit a MI_FLUSH to retire the flushing + * list, hence the retirement order of the flushing list is in + * advance of the dirty objects on the active lists. + * + * The retirement sequence is thus: + * 1. Inactive objects (already retired) + * 2. Clean active objects + * 3. Flushing list + * 4. Dirty active objects. + * + * On each list, the oldest objects lie at the HEAD with the freshest + * object on the TAIL. + */ + + INIT_LIST_HEAD(&unwind_list); + if (mappable) + drm_mm_init_scan_with_range_hsw(&dev_priv->mm.gtt_space, + min_size, alignment, cache_level, + 0, dev_priv->mm.gtt_mappable_end); + else + drm_mm_init_scan_hsw(&dev_priv->mm.gtt_space, + min_size, alignment, cache_level); + + /* First see if there is a large enough contiguous idle region... */ + list_for_each_entry(obj, &dev_priv->mm.inactive_list, mm_list) { + if (mark_free(obj, &unwind_list)) + goto found; + } + + if (nonblocking) + goto none; + + /* Now merge in the soon-to-be-expired objects... */ + list_for_each_entry(obj, &dev_priv->mm.active_list, mm_list) { + if (mark_free(obj, &unwind_list)) + goto found; + } + +none: + /* Nothing found, clean up and bail out! */ + while (!list_empty(&unwind_list)) { + obj = list_first_entry(&unwind_list, + struct drm_i915_gem_object, + exec_list); + + ret = drm_mm_scan_remove_block_hsw(obj->gtt_space); + BUG_ON(ret); + + list_del_init(&obj->exec_list); + } + + /* We expect the caller to unpin, evict all and try again, or give up. + * So calling i915_gem_evict_everything() is unnecessary. + */ + return -ENOSPC; + +found: + /* drm_mm doesn't allow any other other operations while + * scanning, therefore store to be evicted objects on a + * temporary list. */ + INIT_LIST_HEAD(&eviction_list); + while (!list_empty(&unwind_list)) { + obj = list_first_entry(&unwind_list, + struct drm_i915_gem_object, + exec_list); + if (drm_mm_scan_remove_block_hsw(obj->gtt_space)) { + list_move(&obj->exec_list, &eviction_list); + drm_gem_object_reference(&obj->base); + continue; + } + list_del_init(&obj->exec_list); + } + + /* Unbinding will emit any required flushes */ + while (!list_empty(&eviction_list)) { + obj = list_first_entry(&eviction_list, + struct drm_i915_gem_object, + exec_list); + if (ret == 0) + ret = i915_gem_object_unbind(obj); + + list_del_init(&obj->exec_list); + drm_gem_object_unreference(&obj->base); + } + + return ret; +} + +int +i915_gem_evict_everything(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj, *next; + bool lists_empty; + int ret; + + lists_empty = (list_empty(&dev_priv->mm.inactive_list) && + list_empty(&dev_priv->mm.active_list)); + if (lists_empty) + return -ENOSPC; + + trace_i915_gem_evict_everything(dev); + + /* The gpu_idle will flush everything in the write domain to the + * active list. Then we must move everything off the active list + * with retire requests. + */ + ret = i915_gpu_idle(dev); + if (ret) + return ret; + + i915_gem_retire_requests(dev); + + /* Having flushed everything, unbind() should never raise an error */ + list_for_each_entry_safe(obj, next, + &dev_priv->mm.inactive_list, mm_list) + if (obj->pin_count == 0) + WARN_ON(i915_gem_object_unbind(obj)); + + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_execbuffer.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_execbuffer.c @@ -0,0 +1,1222 @@ +/* + * Copyright © 2008,2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Chris Wilson + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_trace.h" +#include "intel_drv.h" +#include + +struct eb_objects { + int and; + struct hlist_head buckets[0]; +}; + +static struct eb_objects * +eb_create(int size) +{ + struct eb_objects *eb; + int count = PAGE_SIZE / sizeof(struct hlist_head) / 2; + BUILD_BUG_ON(!is_power_of_2(PAGE_SIZE / sizeof(struct hlist_head))); + while (count > size) + count >>= 1; + eb = kzalloc(count*sizeof(struct hlist_head) + + sizeof(struct eb_objects), + GFP_KERNEL); + if (eb == NULL) + return eb; + + eb->and = count - 1; + return eb; +} + +static void +eb_reset(struct eb_objects *eb) +{ + memset(eb->buckets, 0, (eb->and+1)*sizeof(struct hlist_head)); +} + +static void +eb_add_object(struct eb_objects *eb, struct drm_i915_gem_object *obj) +{ + hlist_add_head(&obj->exec_node, + &eb->buckets[obj->exec_handle & eb->and]); +} + +static struct drm_i915_gem_object * +eb_get_object(struct eb_objects *eb, unsigned long handle) +{ + struct hlist_head *head; + struct hlist_node *node; + struct drm_i915_gem_object *obj; + + head = &eb->buckets[handle & eb->and]; + hlist_for_each(node, head) { + obj = hlist_entry(node, struct drm_i915_gem_object, exec_node); + if (obj->exec_handle == handle) + return obj; + } + + return NULL; +} + +static void +eb_destroy(struct eb_objects *eb) +{ + kfree(eb); +} + +static inline int use_cpu_reloc(struct drm_i915_gem_object *obj) +{ + return (obj->base.write_domain == I915_GEM_DOMAIN_CPU || + !obj->map_and_fenceable || + obj->cache_level != I915_CACHE_NONE); +} + +static int +i915_gem_execbuffer_relocate_entry(struct drm_i915_gem_object *obj, + struct eb_objects *eb, + struct drm_i915_gem_relocation_entry *reloc) +{ + struct drm_device *dev = obj->base.dev; + struct drm_gem_object *target_obj; + struct drm_i915_gem_object *target_i915_obj; + uint32_t target_offset; + int ret = -EINVAL; + + /* we've already hold a reference to all valid objects */ + target_obj = &eb_get_object(eb, reloc->target_handle)->base; + if (unlikely(target_obj == NULL)) + return -ENOENT; + + target_i915_obj = to_intel_bo(target_obj); + target_offset = target_i915_obj->gtt_offset; + + /* Sandybridge PPGTT errata: We need a global gtt mapping for MI and + * pipe_control writes because the gpu doesn't properly redirect them + * through the ppgtt for non_secure batchbuffers. */ + if (unlikely(IS_GEN6(dev) && + reloc->write_domain == I915_GEM_DOMAIN_INSTRUCTION && + !target_i915_obj->has_global_gtt_mapping)) { + i915_gem_gtt_bind_object(target_i915_obj, + target_i915_obj->cache_level); + } + + /* Validate that the target is in a valid r/w GPU domain */ + if (unlikely(reloc->write_domain & (reloc->write_domain - 1))) { + DRM_DEBUG("reloc with multiple write domains: " + "obj %p target %d offset %d " + "read %08x write %08x", + obj, reloc->target_handle, + (int) reloc->offset, + reloc->read_domains, + reloc->write_domain); + return ret; + } + if (unlikely((reloc->write_domain | reloc->read_domains) + & ~I915_GEM_GPU_DOMAINS)) { + DRM_DEBUG("reloc with read/write non-GPU domains: " + "obj %p target %d offset %d " + "read %08x write %08x", + obj, reloc->target_handle, + (int) reloc->offset, + reloc->read_domains, + reloc->write_domain); + return ret; + } + if (unlikely(reloc->write_domain && target_obj->pending_write_domain && + reloc->write_domain != target_obj->pending_write_domain)) { + DRM_DEBUG("Write domain conflict: " + "obj %p target %d offset %d " + "new %08x old %08x\n", + obj, reloc->target_handle, + (int) reloc->offset, + reloc->write_domain, + target_obj->pending_write_domain); + return ret; + } + + target_obj->pending_read_domains |= reloc->read_domains; + target_obj->pending_write_domain |= reloc->write_domain; + + /* If the relocation already has the right value in it, no + * more work needs to be done. + */ + if (target_offset == reloc->presumed_offset) + return 0; + + /* Check that the relocation address is valid... */ + if (unlikely(reloc->offset > obj->base.size - 4)) { + DRM_DEBUG("Relocation beyond object bounds: " + "obj %p target %d offset %d size %d.\n", + obj, reloc->target_handle, + (int) reloc->offset, + (int) obj->base.size); + return ret; + } + if (unlikely(reloc->offset & 3)) { + DRM_DEBUG("Relocation not 4-byte aligned: " + "obj %p target %d offset %d.\n", + obj, reloc->target_handle, + (int) reloc->offset); + return ret; + } + + /* We can't wait for rendering with pagefaults disabled */ + if (obj->active && in_atomic()) + return -EFAULT; + + reloc->delta += target_offset; + if (use_cpu_reloc(obj)) { + uint32_t page_offset = reloc->offset & ~PAGE_MASK; + char *vaddr; + + ret = i915_gem_object_set_to_cpu_domain(obj, 1); + if (ret) + return ret; + + vaddr = kmap_atomic(i915_gem_object_get_page(obj, + reloc->offset >> PAGE_SHIFT)); + *(uint32_t *)(vaddr + page_offset) = reloc->delta; + kunmap_atomic(vaddr); + } else { + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t __iomem *reloc_entry; + void __iomem *reloc_page; + + ret = i915_gem_object_set_to_gtt_domain(obj, true); + if (ret) + return ret; + + ret = i915_gem_object_put_fence(obj); + if (ret) + return ret; + + /* Map the page containing the relocation we're going to perform. */ + reloc->offset += obj->gtt_offset; + reloc_page = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping, + reloc->offset & PAGE_MASK); + reloc_entry = (uint32_t __iomem *) + (reloc_page + (reloc->offset & ~PAGE_MASK)); + iowrite32(reloc->delta, reloc_entry); + io_mapping_unmap_atomic(reloc_page); + } + + /* and update the user's relocation entry */ + reloc->presumed_offset = target_offset; + + return 0; +} + +static int +i915_gem_execbuffer_relocate_object(struct drm_i915_gem_object *obj, + struct eb_objects *eb) +{ +#define N_RELOC(x) ((x) / sizeof(struct drm_i915_gem_relocation_entry)) + struct drm_i915_gem_relocation_entry stack_reloc[N_RELOC(512)]; + struct drm_i915_gem_relocation_entry __user *user_relocs; + struct drm_i915_gem_exec_object2 *entry = obj->exec_entry; + int remain, ret; + + user_relocs = (void __user *)(uintptr_t)entry->relocs_ptr; + + remain = entry->relocation_count; + while (remain) { + struct drm_i915_gem_relocation_entry *r = stack_reloc; + int count = remain; + if (count > ARRAY_SIZE(stack_reloc)) + count = ARRAY_SIZE(stack_reloc); + remain -= count; + + if (__copy_from_user_inatomic(r, user_relocs, count*sizeof(r[0]))) + return -EFAULT; + + do { + u64 offset = r->presumed_offset; + + ret = i915_gem_execbuffer_relocate_entry(obj, eb, r); + if (ret) + return ret; + + if (r->presumed_offset != offset && + __copy_to_user_inatomic(&user_relocs->presumed_offset, + &r->presumed_offset, + sizeof(r->presumed_offset))) { + return -EFAULT; + } + + user_relocs++; + r++; + } while (--count); + } + + return 0; +#undef N_RELOC +} + +static int +i915_gem_execbuffer_relocate_object_slow(struct drm_i915_gem_object *obj, + struct eb_objects *eb, + struct drm_i915_gem_relocation_entry *relocs) +{ + const struct drm_i915_gem_exec_object2 *entry = obj->exec_entry; + int i, ret; + + for (i = 0; i < entry->relocation_count; i++) { + ret = i915_gem_execbuffer_relocate_entry(obj, eb, &relocs[i]); + if (ret) + return ret; + } + + return 0; +} + +static int +i915_gem_execbuffer_relocate(struct drm_device *dev, + struct eb_objects *eb, + struct list_head *objects) +{ + struct drm_i915_gem_object *obj; + int ret = 0; + + /* This is the fast path and we cannot handle a pagefault whilst + * holding the struct mutex lest the user pass in the relocations + * contained within a mmaped bo. For in such a case we, the page + * fault handler would call i915_gem_fault() and we would try to + * acquire the struct mutex again. Obviously this is bad and so + * lockdep complains vehemently. + */ + pagefault_disable(); + list_for_each_entry(obj, objects, exec_list) { + ret = i915_gem_execbuffer_relocate_object(obj, eb); + if (ret) + break; + } + pagefault_enable(); + + return ret; +} + +#define __EXEC_OBJECT_HAS_PIN (1<<31) +#define __EXEC_OBJECT_HAS_FENCE (1<<30) + +static int +need_reloc_mappable(struct drm_i915_gem_object *obj) +{ + struct drm_i915_gem_exec_object2 *entry = obj->exec_entry; + return entry->relocation_count && !use_cpu_reloc(obj); +} + +static int +i915_gem_execbuffer_reserve_object(struct drm_i915_gem_object *obj, + struct intel_ring_buffer *ring) +{ + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + struct drm_i915_gem_exec_object2 *entry = obj->exec_entry; + bool has_fenced_gpu_access = INTEL_INFO(ring->dev)->gen < 4; + bool need_fence, need_mappable; + int ret; + + need_fence = + has_fenced_gpu_access && + entry->flags & EXEC_OBJECT_NEEDS_FENCE && + obj->tiling_mode != I915_TILING_NONE; + need_mappable = need_fence || need_reloc_mappable(obj); + + ret = i915_gem_object_pin(obj, entry->alignment, need_mappable, false); + if (ret) + return ret; + + entry->flags |= __EXEC_OBJECT_HAS_PIN; + + if (has_fenced_gpu_access) { + if (entry->flags & EXEC_OBJECT_NEEDS_FENCE) { + ret = i915_gem_object_get_fence(obj); + if (ret) + return ret; + + if (i915_gem_object_pin_fence(obj)) + entry->flags |= __EXEC_OBJECT_HAS_FENCE; + + obj->pending_fenced_gpu_access = true; + } + } + + /* Ensure ppgtt mapping exists if needed */ + if (dev_priv->mm.aliasing_ppgtt && !obj->has_aliasing_ppgtt_mapping) { + i915_ppgtt_bind_object(dev_priv->mm.aliasing_ppgtt, + obj, obj->cache_level); + + obj->has_aliasing_ppgtt_mapping = 1; + } + + entry->offset = obj->gtt_offset; + return 0; +} + +static void +i915_gem_execbuffer_unreserve_object(struct drm_i915_gem_object *obj) +{ + struct drm_i915_gem_exec_object2 *entry; + + if (!obj->gtt_space) + return; + + entry = obj->exec_entry; + + if (entry->flags & __EXEC_OBJECT_HAS_FENCE) + i915_gem_object_unpin_fence(obj); + + if (entry->flags & __EXEC_OBJECT_HAS_PIN) + i915_gem_object_unpin(obj); + + entry->flags &= ~(__EXEC_OBJECT_HAS_FENCE | __EXEC_OBJECT_HAS_PIN); +} + +static int +i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring, + struct drm_file *file, + struct list_head *objects) +{ + struct drm_i915_gem_object *obj; + struct list_head ordered_objects; + bool has_fenced_gpu_access = INTEL_INFO(ring->dev)->gen < 4; + int retry; + + INIT_LIST_HEAD(&ordered_objects); + while (!list_empty(objects)) { + struct drm_i915_gem_exec_object2 *entry; + bool need_fence, need_mappable; + + obj = list_first_entry(objects, + struct drm_i915_gem_object, + exec_list); + entry = obj->exec_entry; + + need_fence = + has_fenced_gpu_access && + entry->flags & EXEC_OBJECT_NEEDS_FENCE && + obj->tiling_mode != I915_TILING_NONE; + need_mappable = need_fence || need_reloc_mappable(obj); + + if (need_mappable) + list_move(&obj->exec_list, &ordered_objects); + else + list_move_tail(&obj->exec_list, &ordered_objects); + + obj->base.pending_read_domains = 0; + obj->base.pending_write_domain = 0; + obj->pending_fenced_gpu_access = false; + } + list_splice(&ordered_objects, objects); + + /* Attempt to pin all of the buffers into the GTT. + * This is done in 3 phases: + * + * 1a. Unbind all objects that do not match the GTT constraints for + * the execbuffer (fenceable, mappable, alignment etc). + * 1b. Increment pin count for already bound objects. + * 2. Bind new objects. + * 3. Decrement pin count. + * + * This avoid unnecessary unbinding of later objects in order to make + * room for the earlier objects *unless* we need to defragment. + */ + retry = 0; + do { + int ret = 0; + + /* Unbind any ill-fitting objects or pin. */ + list_for_each_entry(obj, objects, exec_list) { + struct drm_i915_gem_exec_object2 *entry = obj->exec_entry; + bool need_fence, need_mappable; + + if (!obj->gtt_space) + continue; + + need_fence = + has_fenced_gpu_access && + entry->flags & EXEC_OBJECT_NEEDS_FENCE && + obj->tiling_mode != I915_TILING_NONE; + need_mappable = need_fence || need_reloc_mappable(obj); + + if ((entry->alignment && obj->gtt_offset & (entry->alignment - 1)) || + (need_mappable && !obj->map_and_fenceable)) + ret = i915_gem_object_unbind(obj); + else + ret = i915_gem_execbuffer_reserve_object(obj, ring); + if (ret) + goto err; + } + + /* Bind fresh objects */ + list_for_each_entry(obj, objects, exec_list) { + if (obj->gtt_space) + continue; + + ret = i915_gem_execbuffer_reserve_object(obj, ring); + if (ret) + goto err; + } + +err: /* Decrement pin count for bound objects */ + list_for_each_entry(obj, objects, exec_list) + i915_gem_execbuffer_unreserve_object(obj); + + if (ret != -ENOSPC || retry++) + return ret; + + ret = i915_gem_evict_everything(ring->dev); + if (ret) + return ret; + } while (1); +} + +static int +i915_gem_execbuffer_relocate_slow(struct drm_device *dev, + struct drm_file *file, + struct intel_ring_buffer *ring, + struct list_head *objects, + struct eb_objects *eb, + struct drm_i915_gem_exec_object2 *exec, + int count) +{ + struct drm_i915_gem_relocation_entry *reloc; + struct drm_i915_gem_object *obj; + int *reloc_offset; + int i, total, ret; + + /* We may process another execbuffer during the unlock... */ + while (!list_empty(objects)) { + obj = list_first_entry(objects, + struct drm_i915_gem_object, + exec_list); + list_del_init(&obj->exec_list); + drm_gem_object_unreference(&obj->base); + } + + mutex_unlock(&dev->struct_mutex); + + total = 0; + for (i = 0; i < count; i++) + total += exec[i].relocation_count; + + reloc_offset = drm_malloc_ab(count, sizeof(*reloc_offset)); + reloc = drm_malloc_ab(total, sizeof(*reloc)); + if (reloc == NULL || reloc_offset == NULL) { + drm_free_large(reloc); + drm_free_large(reloc_offset); + mutex_lock(&dev->struct_mutex); + return -ENOMEM; + } + + total = 0; + for (i = 0; i < count; i++) { + struct drm_i915_gem_relocation_entry __user *user_relocs; + + user_relocs = (void __user *)(uintptr_t)exec[i].relocs_ptr; + + if (copy_from_user(reloc+total, user_relocs, + exec[i].relocation_count * sizeof(*reloc))) { + ret = -EFAULT; + mutex_lock(&dev->struct_mutex); + goto err; + } + + reloc_offset[i] = total; + total += exec[i].relocation_count; + } + + ret = i915_mutex_lock_interruptible(dev); + if (ret) { + mutex_lock(&dev->struct_mutex); + goto err; + } + + /* reacquire the objects */ + eb_reset(eb); + for (i = 0; i < count; i++) { + obj = to_intel_bo(drm_gem_object_lookup(dev, file, + exec[i].handle)); + if (&obj->base == NULL) { + DRM_DEBUG("Invalid object handle %d at index %d\n", + exec[i].handle, i); + ret = -ENOENT; + goto err; + } + + list_add_tail(&obj->exec_list, objects); + obj->exec_handle = exec[i].handle; + obj->exec_entry = &exec[i]; + eb_add_object(eb, obj); + } + + ret = i915_gem_execbuffer_reserve(ring, file, objects); + if (ret) + goto err; + + list_for_each_entry(obj, objects, exec_list) { + int offset = obj->exec_entry - exec; + ret = i915_gem_execbuffer_relocate_object_slow(obj, eb, + reloc + reloc_offset[offset]); + if (ret) + goto err; + } + + /* Leave the user relocations as are, this is the painfully slow path, + * and we want to avoid the complication of dropping the lock whilst + * having buffers reserved in the aperture and so causing spurious + * ENOSPC for random operations. + */ + +err: + drm_free_large(reloc); + drm_free_large(reloc_offset); + return ret; +} + +static int +i915_gem_execbuffer_wait_for_flips(struct intel_ring_buffer *ring, u32 flips) +{ + u32 plane, flip_mask; + int ret; + + /* Check for any pending flips. As we only maintain a flip queue depth + * of 1, we can simply insert a WAIT for the next display flip prior + * to executing the batch and avoid stalling the CPU. + */ + + for (plane = 0; flips >> plane; plane++) { + if (((flips >> plane) & 1) == 0) + continue; + + if (plane) + flip_mask = MI_WAIT_FOR_PLANE_B_FLIP; + else + flip_mask = MI_WAIT_FOR_PLANE_A_FLIP; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | flip_mask); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + } + + return 0; +} + +static int +i915_gem_execbuffer_move_to_gpu(struct intel_ring_buffer *ring, + struct list_head *objects) +{ + struct drm_i915_gem_object *obj; + uint32_t flush_domains = 0; + uint32_t flips = 0; + int ret; + + list_for_each_entry(obj, objects, exec_list) { + ret = i915_gem_object_sync(obj, ring); + if (ret) + return ret; + + if (obj->base.write_domain & I915_GEM_DOMAIN_CPU) + i915_gem_clflush_object(obj); + + if (obj->base.pending_write_domain) + flips |= atomic_read(&obj->pending_flip); + + flush_domains |= obj->base.write_domain; + } + + if (flips) { + ret = i915_gem_execbuffer_wait_for_flips(ring, flips); + if (ret) + return ret; + } + + if (flush_domains & I915_GEM_DOMAIN_CPU) + i915_gem_chipset_flush(ring->dev); + + if (flush_domains & I915_GEM_DOMAIN_GTT) + wmb(); + + /* Unconditionally invalidate gpu caches and ensure that we do flush + * any residual writes from the previous batch. + */ + return intel_ring_invalidate_all_caches(ring); +} + +static bool +i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec) +{ + return ((exec->batch_start_offset | exec->batch_len) & 0x7) == 0; +} + +static int +validate_exec_list(struct drm_i915_gem_exec_object2 *exec, + int count) +{ + int i; + + for (i = 0; i < count; i++) { + char __user *ptr = (char __user *)(uintptr_t)exec[i].relocs_ptr; + int length; /* limited by fault_in_pages_readable() */ + + /* First check for malicious input causing overflow */ + if (exec[i].relocation_count > + INT_MAX / sizeof(struct drm_i915_gem_relocation_entry)) + return -EINVAL; + + length = exec[i].relocation_count * + sizeof(struct drm_i915_gem_relocation_entry); + if (!access_ok(VERIFY_READ, ptr, length)) + return -EFAULT; + + /* we may also need to update the presumed offsets */ + if (!access_ok(VERIFY_WRITE, ptr, length)) + return -EFAULT; + + if (fault_in_multipages_readable(ptr, length)) + return -EFAULT; + } + + return 0; +} + +static void +i915_gem_execbuffer_move_to_active(struct list_head *objects, + struct intel_ring_buffer *ring, + u32 seqno) +{ + struct drm_i915_gem_object *obj; + + list_for_each_entry(obj, objects, exec_list) { + u32 old_read = obj->base.read_domains; + u32 old_write = obj->base.write_domain; + + obj->base.read_domains = obj->base.pending_read_domains; + obj->base.write_domain = obj->base.pending_write_domain; + obj->fenced_gpu_access = obj->pending_fenced_gpu_access; + + i915_gem_object_move_to_active(obj, ring, seqno); + if (obj->base.write_domain) { + obj->dirty = 1; + obj->last_write_seqno = seqno; + if (obj->pin_count) /* check for potential scanout */ + intel_mark_fb_busy(obj); + } + + trace_i915_gem_object_change_domain(obj, old_read, old_write); + } +} + +static void +i915_gem_execbuffer_retire_commands(struct drm_device *dev, + struct drm_file *file, + struct intel_ring_buffer *ring) +{ + /* Unconditionally force add_request to emit a full flush. */ + ring->gpu_caches_dirty = true; + + /* Add a breadcrumb for the completion of the batch buffer */ + (void)i915_add_request(ring, file, NULL); +} + +static int +i915_reset_gen7_sol_offsets(struct drm_device *dev, + struct intel_ring_buffer *ring) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int ret, i; + + if (!IS_GEN7(dev) || ring != &dev_priv->ring[RCS]) + return 0; + + ret = intel_ring_begin(ring, 4 * 3); + if (ret) + return ret; + + for (i = 0; i < 4; i++) { + intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1)); + intel_ring_emit(ring, GEN7_SO_WRITE_OFFSET(i)); + intel_ring_emit(ring, 0); + } + + intel_ring_advance(ring); + + return 0; +} + +static int +i915_gem_do_execbuffer(struct drm_device *dev, void *data, + struct drm_file *file, + struct drm_i915_gem_execbuffer2 *args, + struct drm_i915_gem_exec_object2 *exec) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct list_head objects; + struct eb_objects *eb; + struct drm_i915_gem_object *batch_obj; + struct drm_clip_rect *cliprects = NULL; + struct intel_ring_buffer *ring; + u32 ctx_id = i915_execbuffer2_get_context_id(*args); + u32 exec_start, exec_len; + u32 seqno; + u32 mask; + u32 flags; + int ret, mode, i; + + if (!i915_gem_check_execbuffer(args)) { + DRM_DEBUG("execbuf with invalid offset/length\n"); + return -EINVAL; + } + + ret = validate_exec_list(exec, args->buffer_count); + if (ret) + return ret; + + flags = 0; + if (args->flags & I915_EXEC_SECURE) { + if (!file->is_master || !capable(CAP_SYS_ADMIN)) + return -EPERM; + + flags |= I915_DISPATCH_SECURE; + } + + switch (args->flags & I915_EXEC_RING_MASK) { + case I915_EXEC_DEFAULT: + case I915_EXEC_RENDER: + ring = &dev_priv->ring[RCS]; + break; + case I915_EXEC_BSD: + ring = &dev_priv->ring[VCS]; + if (ctx_id != 0) { + DRM_DEBUG("Ring %s doesn't support contexts\n", + ring->name); + return -EPERM; + } + break; + case I915_EXEC_BLT: + ring = &dev_priv->ring[BCS]; + if (ctx_id != 0) { + DRM_DEBUG("Ring %s doesn't support contexts\n", + ring->name); + return -EPERM; + } + break; + default: + DRM_DEBUG("execbuf with unknown ring: %d\n", + (int)(args->flags & I915_EXEC_RING_MASK)); + return -EINVAL; + } + if (!intel_ring_initialized(ring)) { + DRM_DEBUG("execbuf with invalid ring: %d\n", + (int)(args->flags & I915_EXEC_RING_MASK)); + return -EINVAL; + } + + mode = args->flags & I915_EXEC_CONSTANTS_MASK; + mask = I915_EXEC_CONSTANTS_MASK; + switch (mode) { + case I915_EXEC_CONSTANTS_REL_GENERAL: + case I915_EXEC_CONSTANTS_ABSOLUTE: + case I915_EXEC_CONSTANTS_REL_SURFACE: + if (ring == &dev_priv->ring[RCS] && + mode != dev_priv->relative_constants_mode) { + if (INTEL_INFO(dev)->gen < 4) + return -EINVAL; + + if (INTEL_INFO(dev)->gen > 5 && + mode == I915_EXEC_CONSTANTS_REL_SURFACE) + return -EINVAL; + + /* The HW changed the meaning on this bit on gen6 */ + if (INTEL_INFO(dev)->gen >= 6) + mask &= ~I915_EXEC_CONSTANTS_REL_SURFACE; + } + break; + default: + DRM_DEBUG("execbuf with unknown constants: %d\n", mode); + return -EINVAL; + } + + if (args->buffer_count < 1) { + DRM_DEBUG("execbuf with %d buffers\n", args->buffer_count); + return -EINVAL; + } + + if (args->num_cliprects != 0) { + if (ring != &dev_priv->ring[RCS]) { + DRM_DEBUG("clip rectangles are only valid with the render ring\n"); + return -EINVAL; + } + + if (INTEL_INFO(dev)->gen >= 5) { + DRM_DEBUG("clip rectangles are only valid on pre-gen5\n"); + return -EINVAL; + } + + if (args->num_cliprects > UINT_MAX / sizeof(*cliprects)) { + DRM_DEBUG("execbuf with %u cliprects\n", + args->num_cliprects); + return -EINVAL; + } + + cliprects = kmalloc(args->num_cliprects * sizeof(*cliprects), + GFP_KERNEL); + if (cliprects == NULL) { + ret = -ENOMEM; + goto pre_mutex_err; + } + + if (copy_from_user(cliprects, + (struct drm_clip_rect __user *)(uintptr_t) + args->cliprects_ptr, + sizeof(*cliprects)*args->num_cliprects)) { + ret = -EFAULT; + goto pre_mutex_err; + } + } + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + goto pre_mutex_err; + + if (dev_priv->mm.suspended) { + mutex_unlock(&dev->struct_mutex); + ret = -EBUSY; + goto pre_mutex_err; + } + + eb = eb_create(args->buffer_count); + if (eb == NULL) { + mutex_unlock(&dev->struct_mutex); + ret = -ENOMEM; + goto pre_mutex_err; + } + + /* Look up object handles */ + INIT_LIST_HEAD(&objects); + for (i = 0; i < args->buffer_count; i++) { + struct drm_i915_gem_object *obj; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, + exec[i].handle)); + if (&obj->base == NULL) { + DRM_DEBUG("Invalid object handle %d at index %d\n", + exec[i].handle, i); + /* prevent error path from reading uninitialized data */ + ret = -ENOENT; + goto err; + } + + if (!list_empty(&obj->exec_list)) { + DRM_DEBUG("Object %p [handle %d, index %d] appears more than once in object list\n", + obj, exec[i].handle, i); + ret = -EINVAL; + goto err; + } + + list_add_tail(&obj->exec_list, &objects); + obj->exec_handle = exec[i].handle; + obj->exec_entry = &exec[i]; + eb_add_object(eb, obj); + } + + /* take note of the batch buffer before we might reorder the lists */ + batch_obj = list_entry(objects.prev, + struct drm_i915_gem_object, + exec_list); + + /* Move the objects en-masse into the GTT, evicting if necessary. */ + ret = i915_gem_execbuffer_reserve(ring, file, &objects); + if (ret) + goto err; + + /* The objects are in their final locations, apply the relocations. */ + ret = i915_gem_execbuffer_relocate(dev, eb, &objects); + if (ret) { + if (ret == -EFAULT) { + ret = i915_gem_execbuffer_relocate_slow(dev, file, ring, + &objects, eb, + exec, + args->buffer_count); + BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + } + if (ret) + goto err; + } + + /* Set the pending read domains for the batch buffer to COMMAND */ + if (batch_obj->base.pending_write_domain) { + DRM_DEBUG("Attempting to use self-modifying batch buffer\n"); + ret = -EINVAL; + goto err; + } + batch_obj->base.pending_read_domains |= I915_GEM_DOMAIN_COMMAND; + + /* snb/ivb/vlv conflate the "batch in ppgtt" bit with the "non-secure + * batch" bit. Hence we need to pin secure batches into the global gtt. + * hsw should have this fixed, but let's be paranoid and do it + * unconditionally for now. */ + if (flags & I915_DISPATCH_SECURE && !batch_obj->has_global_gtt_mapping) + i915_gem_gtt_bind_object(batch_obj, batch_obj->cache_level); + + ret = i915_gem_execbuffer_move_to_gpu(ring, &objects); + if (ret) + goto err; + + seqno = i915_gem_next_request_seqno(ring); + for (i = 0; i < ARRAY_SIZE(ring->sync_seqno); i++) { + if (seqno < ring->sync_seqno[i]) { + /* The GPU can not handle its semaphore value wrapping, + * so every billion or so execbuffers, we need to stall + * the GPU in order to reset the counters. + */ + ret = i915_gpu_idle(dev); + if (ret) + goto err; + i915_gem_retire_requests(dev); + + BUG_ON(ring->sync_seqno[i]); + } + } + + ret = i915_switch_context(ring, file, ctx_id); + if (ret) + goto err; + + if (ring == &dev_priv->ring[RCS] && + mode != dev_priv->relative_constants_mode) { + ret = intel_ring_begin(ring, 4); + if (ret) + goto err; + + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1)); + intel_ring_emit(ring, INSTPM); + intel_ring_emit(ring, mask << 16 | mode); + intel_ring_advance(ring); + + dev_priv->relative_constants_mode = mode; + } + + if (args->flags & I915_EXEC_GEN7_SOL_RESET) { + ret = i915_reset_gen7_sol_offsets(dev, ring); + if (ret) + goto err; + } + + trace_i915_gem_ring_dispatch(ring, seqno, flags); + + exec_start = batch_obj->gtt_offset + args->batch_start_offset; + exec_len = args->batch_len; + if (cliprects) { + for (i = 0; i < args->num_cliprects; i++) { + ret = i915_emit_box(dev, &cliprects[i], + args->DR1, args->DR4); + if (ret) + goto err; + + ret = ring->dispatch_execbuffer(ring, + exec_start, exec_len, + flags); + if (ret) + goto err; + } + } else { + ret = ring->dispatch_execbuffer(ring, + exec_start, exec_len, + flags); + if (ret) + goto err; + } + + i915_gem_execbuffer_move_to_active(&objects, ring, seqno); + i915_gem_execbuffer_retire_commands(dev, file, ring); + +err: + eb_destroy(eb); + while (!list_empty(&objects)) { + struct drm_i915_gem_object *obj; + + obj = list_first_entry(&objects, + struct drm_i915_gem_object, + exec_list); + list_del_init(&obj->exec_list); + drm_gem_object_unreference(&obj->base); + } + + mutex_unlock(&dev->struct_mutex); + +pre_mutex_err: + kfree(cliprects); + return ret; +} + +/* + * Legacy execbuffer just creates an exec2 list from the original exec object + * list array and passes it to the real function. + */ +int +i915_gem_execbuffer(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_execbuffer *args = data; + struct drm_i915_gem_execbuffer2 exec2; + struct drm_i915_gem_exec_object *exec_list = NULL; + struct drm_i915_gem_exec_object2 *exec2_list = NULL; + int ret, i; + + if (args->buffer_count < 1) { + DRM_DEBUG("execbuf with %d buffers\n", args->buffer_count); + return -EINVAL; + } + + /* Copy in the exec list from userland */ + exec_list = drm_malloc_ab(sizeof(*exec_list), args->buffer_count); + exec2_list = drm_malloc_ab(sizeof(*exec2_list), args->buffer_count); + if (exec_list == NULL || exec2_list == NULL) { + DRM_DEBUG("Failed to allocate exec list for %d buffers\n", + args->buffer_count); + drm_free_large(exec_list); + drm_free_large(exec2_list); + return -ENOMEM; + } + ret = copy_from_user(exec_list, + (void __user *)(uintptr_t)args->buffers_ptr, + sizeof(*exec_list) * args->buffer_count); + if (ret != 0) { + DRM_DEBUG("copy %d exec entries failed %d\n", + args->buffer_count, ret); + drm_free_large(exec_list); + drm_free_large(exec2_list); + return -EFAULT; + } + + for (i = 0; i < args->buffer_count; i++) { + exec2_list[i].handle = exec_list[i].handle; + exec2_list[i].relocation_count = exec_list[i].relocation_count; + exec2_list[i].relocs_ptr = exec_list[i].relocs_ptr; + exec2_list[i].alignment = exec_list[i].alignment; + exec2_list[i].offset = exec_list[i].offset; + if (INTEL_INFO(dev)->gen < 4) + exec2_list[i].flags = EXEC_OBJECT_NEEDS_FENCE; + else + exec2_list[i].flags = 0; + } + + exec2.buffers_ptr = args->buffers_ptr; + exec2.buffer_count = args->buffer_count; + exec2.batch_start_offset = args->batch_start_offset; + exec2.batch_len = args->batch_len; + exec2.DR1 = args->DR1; + exec2.DR4 = args->DR4; + exec2.num_cliprects = args->num_cliprects; + exec2.cliprects_ptr = args->cliprects_ptr; + exec2.flags = I915_EXEC_RENDER; + i915_execbuffer2_set_context_id(exec2, 0); + + ret = i915_gem_do_execbuffer(dev, data, file, &exec2, exec2_list); + if (!ret) { + /* Copy the new buffer offsets back to the user's exec list. */ + for (i = 0; i < args->buffer_count; i++) + exec_list[i].offset = exec2_list[i].offset; + /* ... and back out to userspace */ + ret = copy_to_user((void __user *)(uintptr_t)args->buffers_ptr, + exec_list, + sizeof(*exec_list) * args->buffer_count); + if (ret) { + ret = -EFAULT; + DRM_DEBUG("failed to copy %d exec entries " + "back to user (%d)\n", + args->buffer_count, ret); + } + } + + drm_free_large(exec_list); + drm_free_large(exec2_list); + return ret; +} + +int +i915_gem_execbuffer2(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_execbuffer2 *args = data; + struct drm_i915_gem_exec_object2 *exec2_list = NULL; + int ret; + + if (args->buffer_count < 1 || + args->buffer_count > UINT_MAX / sizeof(*exec2_list)) { + DRM_DEBUG("execbuf2 with %d buffers\n", args->buffer_count); + return -EINVAL; + } + + exec2_list = kmalloc(sizeof(*exec2_list)*args->buffer_count, + GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY); + if (exec2_list == NULL) + exec2_list = drm_malloc_ab(sizeof(*exec2_list), + args->buffer_count); + if (exec2_list == NULL) { + DRM_DEBUG("Failed to allocate exec list for %d buffers\n", + args->buffer_count); + return -ENOMEM; + } + ret = copy_from_user(exec2_list, + (struct drm_i915_relocation_entry __user *) + (uintptr_t) args->buffers_ptr, + sizeof(*exec2_list) * args->buffer_count); + if (ret != 0) { + DRM_DEBUG("copy %d exec entries failed %d\n", + args->buffer_count, ret); + drm_free_large(exec2_list); + return -EFAULT; + } + + ret = i915_gem_do_execbuffer(dev, data, file, args, exec2_list); + if (!ret) { + /* Copy the new buffer offsets back to the user's exec list. */ + ret = copy_to_user((void __user *)(uintptr_t)args->buffers_ptr, + exec2_list, + sizeof(*exec2_list) * args->buffer_count); + if (ret) { + ret = -EFAULT; + DRM_DEBUG("failed to copy %d exec entries " + "back to user (%d)\n", + args->buffer_count, ret); + } + } + + drm_free_large(exec2_list); + return ret; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_gtt.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_gtt.c @@ -0,0 +1,705 @@ +/* + * Copyright © 2010 Daniel Vetter + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_trace.h" +#include "intel_drv.h" + +typedef uint32_t gtt_pte_t; + +/* PPGTT stuff */ +#define GEN6_GTT_ADDR_ENCODE(addr) ((addr) | (((addr) >> 28) & 0xff0)) + +#define GEN6_PDE_VALID (1 << 0) +/* gen6+ has bit 11-4 for physical addr bit 39-32 */ +#define GEN6_PDE_ADDR_ENCODE(addr) GEN6_GTT_ADDR_ENCODE(addr) + +#define GEN6_PTE_VALID (1 << 0) +#define GEN6_PTE_UNCACHED (1 << 1) +#define HSW_PTE_UNCACHED (0) +#define GEN6_PTE_CACHE_LLC (2 << 1) +#define GEN6_PTE_CACHE_LLC_MLC (3 << 1) +#define GEN6_PTE_ADDR_ENCODE(addr) GEN6_GTT_ADDR_ENCODE(addr) + +static inline gtt_pte_t pte_encode(struct drm_device *dev, + dma_addr_t addr, + enum i915_cache_level level) +{ + gtt_pte_t pte = GEN6_PTE_VALID; + pte |= GEN6_PTE_ADDR_ENCODE(addr); + + switch (level) { + case I915_CACHE_LLC_MLC: + /* Haswell doesn't set L3 this way */ + if (IS_HASWELL(dev)) + pte |= GEN6_PTE_CACHE_LLC; + else + pte |= GEN6_PTE_CACHE_LLC_MLC; + break; + case I915_CACHE_LLC: + pte |= GEN6_PTE_CACHE_LLC; + break; + case I915_CACHE_NONE: + if (IS_HASWELL(dev)) + pte |= HSW_PTE_UNCACHED; + else + pte |= GEN6_PTE_UNCACHED; + break; + default: + BUG(); + } + + + return pte; +} + +/* PPGTT support for Sandybdrige/Gen6 and later */ +static void i915_ppgtt_clear_range(struct i915_hw_ppgtt *ppgtt, + unsigned first_entry, + unsigned num_entries) +{ + gtt_pte_t *pt_vaddr; + gtt_pte_t scratch_pte; + unsigned act_pd = first_entry / I915_PPGTT_PT_ENTRIES; + unsigned first_pte = first_entry % I915_PPGTT_PT_ENTRIES; + unsigned last_pte, i; + + scratch_pte = pte_encode(ppgtt->dev, ppgtt->scratch_page_dma_addr, + I915_CACHE_LLC); + + while (num_entries) { + last_pte = first_pte + num_entries; + if (last_pte > I915_PPGTT_PT_ENTRIES) + last_pte = I915_PPGTT_PT_ENTRIES; + + pt_vaddr = kmap_atomic(ppgtt->pt_pages[act_pd]); + + for (i = first_pte; i < last_pte; i++) + pt_vaddr[i] = scratch_pte; + + kunmap_atomic(pt_vaddr); + + num_entries -= last_pte - first_pte; + first_pte = 0; + act_pd++; + } +} + +int i915_gem_init_aliasing_ppgtt(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct i915_hw_ppgtt *ppgtt; + unsigned first_pd_entry_in_global_pt; + int i; + int ret = -ENOMEM; + + /* ppgtt PDEs reside in the global gtt pagetable, which has 512*1024 + * entries. For aliasing ppgtt support we just steal them at the end for + * now. */ + first_pd_entry_in_global_pt = dev_priv->mm.gtt->gtt_total_entries - I915_PPGTT_PD_ENTRIES; + + ppgtt = kzalloc(sizeof(*ppgtt), GFP_KERNEL); + if (!ppgtt) + return ret; + + ppgtt->dev = dev; + ppgtt->num_pd_entries = I915_PPGTT_PD_ENTRIES; + ppgtt->pt_pages = kzalloc(sizeof(struct page *)*ppgtt->num_pd_entries, + GFP_KERNEL); + if (!ppgtt->pt_pages) + goto err_ppgtt; + + for (i = 0; i < ppgtt->num_pd_entries; i++) { + ppgtt->pt_pages[i] = alloc_page(GFP_KERNEL); + if (!ppgtt->pt_pages[i]) + goto err_pt_alloc; + } + + if (dev_priv->mm.gtt->needs_dmar) { + ppgtt->pt_dma_addr = kzalloc(sizeof(dma_addr_t) + *ppgtt->num_pd_entries, + GFP_KERNEL); + if (!ppgtt->pt_dma_addr) + goto err_pt_alloc; + + for (i = 0; i < ppgtt->num_pd_entries; i++) { + dma_addr_t pt_addr; + + pt_addr = pci_map_page(dev->pdev, ppgtt->pt_pages[i], + 0, 4096, + PCI_DMA_BIDIRECTIONAL); + + if (pci_dma_mapping_error(dev->pdev, + pt_addr)) { + ret = -EIO; + goto err_pd_pin; + + } + ppgtt->pt_dma_addr[i] = pt_addr; + } + } + + ppgtt->scratch_page_dma_addr = dev_priv->mm.gtt->scratch_page_dma; + + i915_ppgtt_clear_range(ppgtt, 0, + ppgtt->num_pd_entries*I915_PPGTT_PT_ENTRIES); + + ppgtt->pd_offset = (first_pd_entry_in_global_pt)*sizeof(gtt_pte_t); + + dev_priv->mm.aliasing_ppgtt = ppgtt; + + return 0; + +err_pd_pin: + if (ppgtt->pt_dma_addr) { + for (i--; i >= 0; i--) + pci_unmap_page(dev->pdev, ppgtt->pt_dma_addr[i], + 4096, PCI_DMA_BIDIRECTIONAL); + } +err_pt_alloc: + kfree(ppgtt->pt_dma_addr); + for (i = 0; i < ppgtt->num_pd_entries; i++) { + if (ppgtt->pt_pages[i]) + __free_page(ppgtt->pt_pages[i]); + } + kfree(ppgtt->pt_pages); +err_ppgtt: + kfree(ppgtt); + + return ret; +} + +void i915_gem_cleanup_aliasing_ppgtt(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; + int i; + + if (!ppgtt) + return; + + if (ppgtt->pt_dma_addr) { + for (i = 0; i < ppgtt->num_pd_entries; i++) + pci_unmap_page(dev->pdev, ppgtt->pt_dma_addr[i], + 4096, PCI_DMA_BIDIRECTIONAL); + } + + kfree(ppgtt->pt_dma_addr); + for (i = 0; i < ppgtt->num_pd_entries; i++) + __free_page(ppgtt->pt_pages[i]); + kfree(ppgtt->pt_pages); + kfree(ppgtt); +} + +static void i915_ppgtt_insert_sg_entries(struct i915_hw_ppgtt *ppgtt, + const struct sg_table *pages, + unsigned first_entry, + enum i915_cache_level cache_level) +{ + gtt_pte_t *pt_vaddr; + unsigned act_pd = first_entry / I915_PPGTT_PT_ENTRIES; + unsigned first_pte = first_entry % I915_PPGTT_PT_ENTRIES; + unsigned i, j, m, segment_len; + dma_addr_t page_addr; + struct scatterlist *sg; + + /* init sg walking */ + sg = pages->sgl; + i = 0; + segment_len = sg_dma_len(sg) >> PAGE_SHIFT; + m = 0; + + while (i < pages->nents) { + pt_vaddr = kmap_atomic(ppgtt->pt_pages[act_pd]); + + for (j = first_pte; j < I915_PPGTT_PT_ENTRIES; j++) { + page_addr = sg_dma_address(sg) + (m << PAGE_SHIFT); + pt_vaddr[j] = pte_encode(ppgtt->dev, page_addr, + cache_level); + + /* grab the next page */ + if (++m == segment_len) { + if (++i == pages->nents) + break; + + sg = sg_next(sg); + segment_len = sg_dma_len(sg) >> PAGE_SHIFT; + m = 0; + } + } + + kunmap_atomic(pt_vaddr); + + first_pte = 0; + act_pd++; + } +} + +void i915_ppgtt_bind_object(struct i915_hw_ppgtt *ppgtt, + struct drm_i915_gem_object *obj, + enum i915_cache_level cache_level) +{ + i915_ppgtt_insert_sg_entries(ppgtt, + obj->pages, + obj->gtt_space->start >> PAGE_SHIFT, + cache_level); +} + +void i915_ppgtt_unbind_object(struct i915_hw_ppgtt *ppgtt, + struct drm_i915_gem_object *obj) +{ + i915_ppgtt_clear_range(ppgtt, + obj->gtt_space->start >> PAGE_SHIFT, + obj->base.size >> PAGE_SHIFT); +} + +void i915_gem_init_ppgtt(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + uint32_t pd_offset; + struct intel_ring_buffer *ring; + struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; + uint32_t __iomem *pd_addr; + uint32_t pd_entry; + int i; + + if (!dev_priv->mm.aliasing_ppgtt) + return; + + + pd_addr = dev_priv->mm.gtt->gtt + ppgtt->pd_offset/sizeof(uint32_t); + for (i = 0; i < ppgtt->num_pd_entries; i++) { + dma_addr_t pt_addr; + + if (dev_priv->mm.gtt->needs_dmar) + pt_addr = ppgtt->pt_dma_addr[i]; + else + pt_addr = page_to_phys(ppgtt->pt_pages[i]); + + pd_entry = GEN6_PDE_ADDR_ENCODE(pt_addr); + pd_entry |= GEN6_PDE_VALID; + + writel(pd_entry, pd_addr + i); + } + readl(pd_addr); + + pd_offset = ppgtt->pd_offset; + pd_offset /= 64; /* in cachelines, */ + pd_offset <<= 16; + + if (INTEL_INFO(dev)->gen == 6) { + uint32_t ecochk, gab_ctl, ecobits; + + ecobits = I915_READ(GAC_ECO_BITS); + I915_WRITE(GAC_ECO_BITS, ecobits | ECOBITS_PPGTT_CACHE64B); + + gab_ctl = I915_READ(GAB_CTL); + I915_WRITE(GAB_CTL, gab_ctl | GAB_CTL_CONT_AFTER_PAGEFAULT); + + ecochk = I915_READ(GAM_ECOCHK); + I915_WRITE(GAM_ECOCHK, ecochk | ECOCHK_SNB_BIT | + ECOCHK_PPGTT_CACHE64B); + I915_WRITE(GFX_MODE, _MASKED_BIT_ENABLE(GFX_PPGTT_ENABLE)); + } else if (INTEL_INFO(dev)->gen >= 7) { + I915_WRITE(GAM_ECOCHK, ECOCHK_PPGTT_CACHE64B); + /* GFX_MODE is per-ring on gen7+ */ + } + + for_each_ring(ring, dev_priv, i) { + if (INTEL_INFO(dev)->gen >= 7) + I915_WRITE(RING_MODE_GEN7(ring), + _MASKED_BIT_ENABLE(GFX_PPGTT_ENABLE)); + + I915_WRITE(RING_PP_DIR_DCLV(ring), PP_DIR_DCLV_2G); + I915_WRITE(RING_PP_DIR_BASE(ring), pd_offset); + } +} + +static bool do_idling(struct drm_i915_private *dev_priv) +{ + bool ret = dev_priv->mm.interruptible; + + if (unlikely(dev_priv->mm.gtt->do_idle_maps)) { + dev_priv->mm.interruptible = false; + if (i915_gpu_idle(dev_priv->dev)) { + DRM_ERROR("Couldn't idle GPU\n"); + /* Wait a bit, in hopes it avoids the hang */ + udelay(10); + } + } + + return ret; +} + +static void undo_idling(struct drm_i915_private *dev_priv, bool interruptible) +{ + if (unlikely(dev_priv->mm.gtt->do_idle_maps)) + dev_priv->mm.interruptible = interruptible; +} + + +static void i915_ggtt_clear_range(struct drm_device *dev, + unsigned first_entry, + unsigned num_entries) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + gtt_pte_t scratch_pte; + gtt_pte_t __iomem *gtt_base = dev_priv->mm.gtt->gtt + first_entry; + const int max_entries = dev_priv->mm.gtt->gtt_total_entries - first_entry; + int i; + + if (INTEL_INFO(dev)->gen < 6) { + intel_gtt_clear_range(first_entry, num_entries); + return; + } + + if (WARN(num_entries > max_entries, + "First entry = %d; Num entries = %d (max=%d)\n", + first_entry, num_entries, max_entries)) + num_entries = max_entries; + + scratch_pte = pte_encode(dev, dev_priv->mm.gtt->scratch_page_dma, I915_CACHE_LLC); + for (i = 0; i < num_entries; i++) + iowrite32(scratch_pte, >t_base[i]); + readl(gtt_base); +} + +void i915_gem_restore_gtt_mappings(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + + /* First fill our portion of the GTT with scratch pages */ + i915_ggtt_clear_range(dev, dev_priv->mm.gtt_start / PAGE_SIZE, + (dev_priv->mm.gtt_end - dev_priv->mm.gtt_start) / PAGE_SIZE); + + list_for_each_entry(obj, &dev_priv->mm.bound_list, gtt_list) { + i915_gem_clflush_object(obj); + i915_gem_gtt_bind_object(obj, obj->cache_level); + } + + i915_gem_chipset_flush(dev); +} + +int i915_gem_gtt_prepare_object(struct drm_i915_gem_object *obj) +{ + if (obj->has_dma_mapping) + return 0; + + if (!dma_map_sg(&obj->base.dev->pdev->dev, + obj->pages->sgl, obj->pages->nents, + PCI_DMA_BIDIRECTIONAL)) + return -ENOSPC; + + return 0; +} + +/* + * Binds an object into the global gtt with the specified cache level. The object + * will be accessible to the GPU via commands whose operands reference offsets + * within the global GTT as well as accessible by the GPU through the GMADR + * mapped BAR (dev_priv->mm.gtt->gtt). + */ +static void gen6_ggtt_bind_object(struct drm_i915_gem_object *obj, + enum i915_cache_level level) +{ + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct sg_table *st = obj->pages; + struct scatterlist *sg = st->sgl; + const int first_entry = obj->gtt_space->start >> PAGE_SHIFT; + const int max_entries = dev_priv->mm.gtt->gtt_total_entries - first_entry; + gtt_pte_t __iomem *gtt_entries = dev_priv->mm.gtt->gtt + first_entry; + int unused, i = 0; + unsigned int len, m = 0; + dma_addr_t addr; + + for_each_sg(st->sgl, sg, st->nents, unused) { + len = sg_dma_len(sg) >> PAGE_SHIFT; + for (m = 0; m < len; m++) { + addr = sg_dma_address(sg) + (m << PAGE_SHIFT); + iowrite32(pte_encode(dev, addr, level), >t_entries[i]); + i++; + } + } + + BUG_ON(i > max_entries); + BUG_ON(i != obj->base.size / PAGE_SIZE); + + /* XXX: This serves as a posting read to make sure that the PTE has + * actually been updated. There is some concern that even though + * registers and PTEs are within the same BAR that they are potentially + * of NUMA access patterns. Therefore, even with the way we assume + * hardware should work, we must keep this posting read for paranoia. + */ + if (i != 0) + WARN_ON(readl(>t_entries[i-1]) != pte_encode(dev, addr, level)); + + /* This next bit makes the above posting read even more important. We + * want to flush the TLBs only after we're certain all the PTE updates + * have finished. + */ + I915_WRITE(GFX_FLSH_CNTL_GEN6, GFX_FLSH_CNTL_EN); + POSTING_READ(GFX_FLSH_CNTL_GEN6); +} + +void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj, + enum i915_cache_level cache_level) +{ + struct drm_device *dev = obj->base.dev; + if (INTEL_INFO(dev)->gen < 6) { + unsigned int flags = (cache_level == I915_CACHE_NONE) ? + AGP_USER_MEMORY : AGP_USER_CACHED_MEMORY; + intel_gtt_insert_sg_entries_hsw(obj->pages, + obj->gtt_space->start >> PAGE_SHIFT, + flags); + } else { + gen6_ggtt_bind_object(obj, cache_level); + } + + obj->has_global_gtt_mapping = 1; +} + +void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj) +{ + i915_ggtt_clear_range(obj->base.dev, + obj->gtt_space->start >> PAGE_SHIFT, + obj->base.size >> PAGE_SHIFT); + + obj->has_global_gtt_mapping = 0; +} + +void i915_gem_gtt_finish_object(struct drm_i915_gem_object *obj) +{ + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + bool interruptible; + + interruptible = do_idling(dev_priv); + + if (!obj->has_dma_mapping) + dma_unmap_sg(&dev->pdev->dev, + obj->pages->sgl, obj->pages->nents, + PCI_DMA_BIDIRECTIONAL); + + undo_idling(dev_priv, interruptible); +} + +static void i915_gtt_color_adjust(struct drm_mm_node_hsw *node, + unsigned long color, + unsigned long *start, + unsigned long *end) +{ + if (node->color != color) + *start += 4096; + + if (!list_empty(&node->node_list)) { + node = list_entry(node->node_list.next, + struct drm_mm_node_hsw, + node_list); + if (node->allocated && node->color != color) + *end -= 4096; + } +} + +void i915_gem_init_global_gtt(struct drm_device *dev, + unsigned long start, + unsigned long mappable_end, + unsigned long end) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + + /* Substract the guard page ... */ + drm_mm_init_hsw(&dev_priv->mm.gtt_space, start, end - start - PAGE_SIZE); + if (!HAS_LLC(dev)) + dev_priv->mm.gtt_space.color_adjust = i915_gtt_color_adjust; + + dev_priv->mm.gtt_start = start; + dev_priv->mm.gtt_mappable_end = mappable_end; + dev_priv->mm.gtt_end = end; + dev_priv->mm.gtt_total = end - start; + dev_priv->mm.mappable_gtt_total = min(end, mappable_end) - start; + + /* ... but ensure that we clear the entire range. */ + i915_ggtt_clear_range(dev, start / PAGE_SIZE, (end-start) / PAGE_SIZE); +} + +static int setup_scratch_page(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct page *page; + dma_addr_t dma_addr; + + page = alloc_page(GFP_KERNEL | GFP_DMA32 | __GFP_ZERO); + if (page == NULL) + return -ENOMEM; + get_page(page); + set_pages_uc(page, 1); + +#ifdef CONFIG_INTEL_IOMMU + dma_addr = pci_map_page(dev->pdev, page, 0, PAGE_SIZE, + PCI_DMA_BIDIRECTIONAL); + if (pci_dma_mapping_error(dev->pdev, dma_addr)) + return -EINVAL; +#else + dma_addr = page_to_phys(page); +#endif + dev_priv->mm.gtt->scratch_page = page; + dev_priv->mm.gtt->scratch_page_dma = dma_addr; + + return 0; +} + +static void teardown_scratch_page(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + set_pages_wb(dev_priv->mm.gtt->scratch_page, 1); + pci_unmap_page(dev->pdev, dev_priv->mm.gtt->scratch_page_dma, + PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); + put_page(dev_priv->mm.gtt->scratch_page); + __free_page(dev_priv->mm.gtt->scratch_page); +} + +static inline unsigned int gen6_get_total_gtt_size(u16 snb_gmch_ctl) +{ + snb_gmch_ctl >>= SNB_GMCH_GGMS_SHIFT; + snb_gmch_ctl &= SNB_GMCH_GGMS_MASK; + return snb_gmch_ctl << 20; +} + +static inline unsigned int gen6_get_stolen_size(u16 snb_gmch_ctl) +{ + snb_gmch_ctl >>= SNB_GMCH_GMS_SHIFT; + snb_gmch_ctl &= SNB_GMCH_GMS_MASK; + return snb_gmch_ctl << 25; /* 32 MB units */ +} + +static inline unsigned int gen7_get_stolen_size(u16 snb_gmch_ctl) +{ + static const int stolen_decoder[] = { + 0, 0, 0, 0, 0, 32, 48, 64, 128, 256, 96, 160, 224, 352}; + snb_gmch_ctl >>= IVB_GMCH_GMS_SHIFT; + snb_gmch_ctl &= IVB_GMCH_GMS_MASK; + return stolen_decoder[snb_gmch_ctl] << 20; +} + +int i915_gem_gtt_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + phys_addr_t gtt_bus_addr; + u16 snb_gmch_ctl; + int ret; + + /* On modern platforms we need not worry ourself with the legacy + * hostbridge query stuff. Skip it entirely + */ + if (INTEL_INFO(dev)->gen < 6) { + ret = intel_gmch_probe(dev_priv->bridge_dev, dev->pdev, NULL); + if (!ret) { + DRM_ERROR("failed to set up gmch\n"); + return -EIO; + } + + dev_priv->mm.gtt = intel_gtt_get(); + if (!dev_priv->mm.gtt) { + DRM_ERROR("Failed to initialize GTT\n"); + intel_gmch_remove(); + return -ENODEV; + } + return 0; + } + + dev_priv->mm.gtt = kzalloc(sizeof(*dev_priv->mm.gtt), GFP_KERNEL); + if (!dev_priv->mm.gtt) + return -ENOMEM; + + if (!pci_set_dma_mask(dev->pdev, DMA_BIT_MASK(40))) + pci_set_consistent_dma_mask(dev->pdev, DMA_BIT_MASK(40)); + + /* For GEN6+ the PTEs for the ggtt live at 2MB + BAR0 */ + gtt_bus_addr = pci_resource_start(dev->pdev, 0) + (2<<20); + dev_priv->mm.gtt->gma_bus_addr = pci_resource_start(dev->pdev, 2); + + /* i9xx_setup */ + pci_read_config_word(dev->pdev, SNB_GMCH_CTRL, &snb_gmch_ctl); + dev_priv->mm.gtt->gtt_total_entries = + gen6_get_total_gtt_size(snb_gmch_ctl) / sizeof(gtt_pte_t); + if (INTEL_INFO(dev)->gen < 7) + dev_priv->mm.gtt->stolen_size = gen6_get_stolen_size(snb_gmch_ctl); + else + dev_priv->mm.gtt->stolen_size = gen7_get_stolen_size(snb_gmch_ctl); + + dev_priv->mm.gtt->gtt_mappable_entries = pci_resource_len(dev->pdev, 2) >> PAGE_SHIFT; + /* 64/512MB is the current min/max we actually know of, but this is just a + * coarse sanity check. + */ + if ((dev_priv->mm.gtt->gtt_mappable_entries >> 8) < 64 || + dev_priv->mm.gtt->gtt_mappable_entries > dev_priv->mm.gtt->gtt_total_entries) { + DRM_ERROR("Unknown GMADR entries (%d)\n", + dev_priv->mm.gtt->gtt_mappable_entries); + ret = -ENXIO; + goto err_out; + } + + ret = setup_scratch_page(dev); + if (ret) { + DRM_ERROR("Scratch setup failed\n"); + goto err_out; + } + + dev_priv->mm.gtt->gtt = ioremap_wc(gtt_bus_addr, + dev_priv->mm.gtt->gtt_total_entries * sizeof(gtt_pte_t)); + if (!dev_priv->mm.gtt->gtt) { + DRM_ERROR("Failed to map the gtt page table\n"); + teardown_scratch_page(dev); + ret = -ENOMEM; + goto err_out; + } + + /* GMADR is the PCI aperture used by SW to access tiled GFX surfaces in a linear fashion. */ + DRM_INFO("Memory usable by graphics device = %dM\n", dev_priv->mm.gtt->gtt_total_entries >> 8); + DRM_DEBUG_DRIVER("GMADR size = %dM\n", dev_priv->mm.gtt->gtt_mappable_entries >> 8); + DRM_DEBUG_DRIVER("GTT stolen size = %dM\n", dev_priv->mm.gtt->stolen_size >> 20); + + return 0; + +err_out: + kfree(dev_priv->mm.gtt); + if (INTEL_INFO(dev)->gen < 6) + intel_gmch_remove(); + return ret; +} + +void i915_gem_gtt_fini(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + iounmap(dev_priv->mm.gtt->gtt); + teardown_scratch_page(dev); + if (INTEL_INFO(dev)->gen < 6) + intel_gmch_remove(); + kfree(dev_priv->mm.gtt); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_stolen.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_stolen.c @@ -0,0 +1,202 @@ +/* + * Copyright © 2008-2012 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Chris Wilson + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" + +/* + * The BIOS typically reserves some of the system's memory for the exclusive + * use of the integrated graphics. This memory is no longer available for + * use by the OS and so the user finds that his system has less memory + * available than he put in. We refer to this memory as stolen. + * + * The BIOS will allocate its framebuffer from the stolen memory. Our + * goal is try to reuse that object for our own fbcon which must always + * be available for panics. Anything else we can reuse the stolen memory + * for is a boon. + */ + +#define PTE_ADDRESS_MASK 0xfffff000 +#define PTE_ADDRESS_MASK_HIGH 0x000000f0 /* i915+ */ +#define PTE_MAPPING_TYPE_UNCACHED (0 << 1) +#define PTE_MAPPING_TYPE_DCACHE (1 << 1) /* i830 only */ +#define PTE_MAPPING_TYPE_CACHED (3 << 1) +#define PTE_MAPPING_TYPE_MASK (3 << 1) +#define PTE_VALID (1 << 0) + +/** + * i915_stolen_to_phys - take an offset into stolen memory and turn it into + * a physical one + * @dev: drm device + * @offset: address to translate + * + * Some chip functions require allocations from stolen space and need the + * physical address of the memory in question. + */ +static unsigned long i915_stolen_to_phys(struct drm_device *dev, u32 offset) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct pci_dev *pdev = dev_priv->bridge_dev; + u32 base; + +#if 0 + /* On the machines I have tested the Graphics Base of Stolen Memory + * is unreliable, so compute the base by subtracting the stolen memory + * from the Top of Low Usable DRAM which is where the BIOS places + * the graphics stolen memory. + */ + if (INTEL_INFO(dev)->gen > 3 || IS_G33(dev)) { + /* top 32bits are reserved = 0 */ + pci_read_config_dword(pdev, 0xA4, &base); + } else { + /* XXX presume 8xx is the same as i915 */ + pci_bus_read_config_dword(pdev->bus, 2, 0x5C, &base); + } +#else + if (INTEL_INFO(dev)->gen > 3 || IS_G33(dev)) { + u16 val; + pci_read_config_word(pdev, 0xb0, &val); + base = val >> 4 << 20; + } else { + u8 val; + pci_read_config_byte(pdev, 0x9c, &val); + base = val >> 3 << 27; + } + base -= dev_priv->mm.gtt->stolen_size; +#endif + + return base + offset; +} + +static void i915_warn_stolen(struct drm_device *dev) +{ + DRM_INFO("not enough stolen space for compressed buffer, disabling\n"); + DRM_INFO("hint: you may be able to increase stolen memory size in the BIOS to avoid this\n"); +} + +static void i915_setup_compression(struct drm_device *dev, int size) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_mm_node_hsw *compressed_fb, *uninitialized_var(compressed_llb); + unsigned long cfb_base; + unsigned long ll_base = 0; + + /* Just in case the BIOS is doing something questionable. */ + intel_disable_fbc(dev); + + compressed_fb = drm_mm_search_free_hsw(&dev_priv->mm.stolen, size, 4096, 0); + if (compressed_fb) + compressed_fb = drm_mm_get_block_hsw(compressed_fb, size, 4096); + if (!compressed_fb) + goto err; + + cfb_base = i915_stolen_to_phys(dev, compressed_fb->start); + if (!cfb_base) + goto err_fb; + + if (!(IS_GM45(dev) || HAS_PCH_SPLIT(dev))) { + compressed_llb = drm_mm_search_free_hsw(&dev_priv->mm.stolen, + 4096, 4096, 0); + if (compressed_llb) + compressed_llb = drm_mm_get_block_hsw(compressed_llb, + 4096, 4096); + if (!compressed_llb) + goto err_fb; + + ll_base = i915_stolen_to_phys(dev, compressed_llb->start); + if (!ll_base) + goto err_llb; + } + + dev_priv->cfb_size = size; + + dev_priv->compressed_fb = compressed_fb; + if (HAS_PCH_SPLIT(dev)) + I915_WRITE(ILK_DPFC_CB_BASE, compressed_fb->start); + else if (IS_GM45(dev)) { + I915_WRITE(DPFC_CB_BASE, compressed_fb->start); + } else { + I915_WRITE(FBC_CFB_BASE, cfb_base); + I915_WRITE(FBC_LL_BASE, ll_base); + dev_priv->compressed_llb = compressed_llb; + } + + DRM_DEBUG_KMS("FBC base 0x%08lx, ll base 0x%08lx, size %dM\n", + cfb_base, ll_base, size >> 20); + return; + +err_llb: + drm_mm_put_block_hsw(compressed_llb); +err_fb: + drm_mm_put_block_hsw(compressed_fb); +err: + dev_priv->no_fbc_reason = FBC_STOLEN_TOO_SMALL; + i915_warn_stolen(dev); +} + +static void i915_cleanup_compression(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + drm_mm_put_block_hsw(dev_priv->compressed_fb); + if (dev_priv->compressed_llb) + drm_mm_put_block_hsw(dev_priv->compressed_llb); +} + +void i915_gem_cleanup_stolen(struct drm_device *dev) +{ + if (I915_HAS_FBC(dev) && i915_powersave) + i915_cleanup_compression(dev); +} + +int i915_gem_init_stolen(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long prealloc_size = dev_priv->mm.gtt->stolen_size; + + /* Basic memrange allocator for stolen space */ + drm_mm_init_hsw(&dev_priv->mm.stolen, 0, prealloc_size); + + /* Try to set up FBC with a reasonable compressed buffer size */ + if (I915_HAS_FBC(dev) && i915_powersave) { + int cfb_size; + + /* Leave 1M for line length buffer & misc. */ + + /* Try to get a 32M buffer... */ + if (prealloc_size > (36*1024*1024)) + cfb_size = 32*1024*1024; + else /* fall back to 7/8 of the stolen space */ + cfb_size = prealloc_size * 7 / 8; + i915_setup_compression(dev, cfb_size); + } + + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_gem_tiling.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_gem_tiling.c @@ -0,0 +1,518 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +#include "linux/string.h" +#include "linux/bitops.h" +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" + +/** @file i915_gem_tiling.c + * + * Support for managing tiling state of buffer objects. + * + * The idea behind tiling is to increase cache hit rates by rearranging + * pixel data so that a group of pixel accesses are in the same cacheline. + * Performance improvement from doing this on the back/depth buffer are on + * the order of 30%. + * + * Intel architectures make this somewhat more complicated, though, by + * adjustments made to addressing of data when the memory is in interleaved + * mode (matched pairs of DIMMS) to improve memory bandwidth. + * For interleaved memory, the CPU sends every sequential 64 bytes + * to an alternate memory channel so it can get the bandwidth from both. + * + * The GPU also rearranges its accesses for increased bandwidth to interleaved + * memory, and it matches what the CPU does for non-tiled. However, when tiled + * it does it a little differently, since one walks addresses not just in the + * X direction but also Y. So, along with alternating channels when bit + * 6 of the address flips, it also alternates when other bits flip -- Bits 9 + * (every 512 bytes, an X tile scanline) and 10 (every two X tile scanlines) + * are common to both the 915 and 965-class hardware. + * + * The CPU also sometimes XORs in higher bits as well, to improve + * bandwidth doing strided access like we do so frequently in graphics. This + * is called "Channel XOR Randomization" in the MCH documentation. The result + * is that the CPU is XORing in either bit 11 or bit 17 to bit 6 of its address + * decode. + * + * All of this bit 6 XORing has an effect on our memory management, + * as we need to make sure that the 3d driver can correctly address object + * contents. + * + * If we don't have interleaved memory, all tiling is safe and no swizzling is + * required. + * + * When bit 17 is XORed in, we simply refuse to tile at all. Bit + * 17 is not just a page offset, so as we page an objet out and back in, + * individual pages in it will have different bit 17 addresses, resulting in + * each 64 bytes being swapped with its neighbor! + * + * Otherwise, if interleaved, we have to tell the 3d driver what the address + * swizzling it needs to do is, since it's writing with the CPU to the pages + * (bit 6 and potentially bit 11 XORed in), and the GPU is reading from the + * pages (bit 6, 9, and 10 XORed in), resulting in a cumulative bit swizzling + * required by the CPU of XORing in bit 6, 9, 10, and potentially 11, in order + * to match what the GPU expects. + */ + +/** + * Detects bit 6 swizzling of address lookup between IGD access and CPU + * access through main memory. + */ +void +i915_gem_detect_bit_6_swizzle(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; + uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; + + if (IS_VALLEYVIEW(dev)) { + swizzle_x = I915_BIT_6_SWIZZLE_NONE; + swizzle_y = I915_BIT_6_SWIZZLE_NONE; + } else if (INTEL_INFO(dev)->gen >= 6) { + uint32_t dimm_c0, dimm_c1; + dimm_c0 = I915_READ(MAD_DIMM_C0); + dimm_c1 = I915_READ(MAD_DIMM_C1); + dimm_c0 &= MAD_DIMM_A_SIZE_MASK | MAD_DIMM_B_SIZE_MASK; + dimm_c1 &= MAD_DIMM_A_SIZE_MASK | MAD_DIMM_B_SIZE_MASK; + /* Enable swizzling when the channels are populated with + * identically sized dimms. We don't need to check the 3rd + * channel because no cpu with gpu attached ships in that + * configuration. Also, swizzling only makes sense for 2 + * channels anyway. */ + if (dimm_c0 == dimm_c1) { + swizzle_x = I915_BIT_6_SWIZZLE_9_10; + swizzle_y = I915_BIT_6_SWIZZLE_9; + } else { + swizzle_x = I915_BIT_6_SWIZZLE_NONE; + swizzle_y = I915_BIT_6_SWIZZLE_NONE; + } + } else if (IS_GEN5(dev)) { + /* On Ironlake whatever DRAM config, GPU always do + * same swizzling setup. + */ + swizzle_x = I915_BIT_6_SWIZZLE_9_10; + swizzle_y = I915_BIT_6_SWIZZLE_9; + } else if (IS_GEN2(dev)) { + /* As far as we know, the 865 doesn't have these bit 6 + * swizzling issues. + */ + swizzle_x = I915_BIT_6_SWIZZLE_NONE; + swizzle_y = I915_BIT_6_SWIZZLE_NONE; + } else if (IS_MOBILE(dev) || (IS_GEN3(dev) && !IS_G33(dev))) { + uint32_t dcc; + + /* On 9xx chipsets, channel interleave by the CPU is + * determined by DCC. For single-channel, neither the CPU + * nor the GPU do swizzling. For dual channel interleaved, + * the GPU's interleave is bit 9 and 10 for X tiled, and bit + * 9 for Y tiled. The CPU's interleave is independent, and + * can be based on either bit 11 (haven't seen this yet) or + * bit 17 (common). + */ + dcc = I915_READ(DCC); + switch (dcc & DCC_ADDRESSING_MODE_MASK) { + case DCC_ADDRESSING_MODE_SINGLE_CHANNEL: + case DCC_ADDRESSING_MODE_DUAL_CHANNEL_ASYMMETRIC: + swizzle_x = I915_BIT_6_SWIZZLE_NONE; + swizzle_y = I915_BIT_6_SWIZZLE_NONE; + break; + case DCC_ADDRESSING_MODE_DUAL_CHANNEL_INTERLEAVED: + if (dcc & DCC_CHANNEL_XOR_DISABLE) { + /* This is the base swizzling by the GPU for + * tiled buffers. + */ + swizzle_x = I915_BIT_6_SWIZZLE_9_10; + swizzle_y = I915_BIT_6_SWIZZLE_9; + } else if ((dcc & DCC_CHANNEL_XOR_BIT_17) == 0) { + /* Bit 11 swizzling by the CPU in addition. */ + swizzle_x = I915_BIT_6_SWIZZLE_9_10_11; + swizzle_y = I915_BIT_6_SWIZZLE_9_11; + } else { + /* Bit 17 swizzling by the CPU in addition. */ + swizzle_x = I915_BIT_6_SWIZZLE_9_10_17; + swizzle_y = I915_BIT_6_SWIZZLE_9_17; + } + break; + } + if (dcc == 0xffffffff) { + DRM_ERROR("Couldn't read from MCHBAR. " + "Disabling tiling.\n"); + swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; + swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; + } + } else { + /* The 965, G33, and newer, have a very flexible memory + * configuration. It will enable dual-channel mode + * (interleaving) on as much memory as it can, and the GPU + * will additionally sometimes enable different bit 6 + * swizzling for tiled objects from the CPU. + * + * Here's what I found on the G965: + * slot fill memory size swizzling + * 0A 0B 1A 1B 1-ch 2-ch + * 512 0 0 0 512 0 O + * 512 0 512 0 16 1008 X + * 512 0 0 512 16 1008 X + * 0 512 0 512 16 1008 X + * 1024 1024 1024 0 2048 1024 O + * + * We could probably detect this based on either the DRB + * matching, which was the case for the swizzling required in + * the table above, or from the 1-ch value being less than + * the minimum size of a rank. + */ + if (I915_READ16(C0DRB3) != I915_READ16(C1DRB3)) { + swizzle_x = I915_BIT_6_SWIZZLE_NONE; + swizzle_y = I915_BIT_6_SWIZZLE_NONE; + } else { + swizzle_x = I915_BIT_6_SWIZZLE_9_10; + swizzle_y = I915_BIT_6_SWIZZLE_9; + } + } + + dev_priv->mm.bit_6_swizzle_x = swizzle_x; + dev_priv->mm.bit_6_swizzle_y = swizzle_y; +} + +/* Check pitch constriants for all chips & tiling formats */ +static bool +i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) +{ + int tile_width; + + /* Linear is always fine */ + if (tiling_mode == I915_TILING_NONE) + return true; + + if (IS_GEN2(dev) || + (tiling_mode == I915_TILING_Y && HAS_128_BYTE_Y_TILING(dev))) + tile_width = 128; + else + tile_width = 512; + + /* check maximum stride & object size */ + if (INTEL_INFO(dev)->gen >= 4) { + /* i965 stores the end address of the gtt mapping in the fence + * reg, so dont bother to check the size */ + if (stride / 128 > I965_FENCE_MAX_PITCH_VAL) + return false; + } else { + if (stride > 8192) + return false; + + if (IS_GEN3(dev)) { + if (size > I830_FENCE_MAX_SIZE_VAL << 20) + return false; + } else { + if (size > I830_FENCE_MAX_SIZE_VAL << 19) + return false; + } + } + + /* 965+ just needs multiples of tile width */ + if (INTEL_INFO(dev)->gen >= 4) { + if (stride & (tile_width - 1)) + return false; + return true; + } + + /* Pre-965 needs power of two tile widths */ + if (stride < tile_width) + return false; + + if (stride & (stride - 1)) + return false; + + return true; +} + +/* Is the current GTT allocation valid for the change in tiling? */ +static bool +i915_gem_object_fence_ok(struct drm_i915_gem_object *obj, int tiling_mode) +{ + u32 size; + + if (tiling_mode == I915_TILING_NONE) + return true; + + if (INTEL_INFO(obj->base.dev)->gen >= 4) + return true; + + if (INTEL_INFO(obj->base.dev)->gen == 3) { + if (obj->gtt_offset & ~I915_FENCE_START_MASK) + return false; + } else { + if (obj->gtt_offset & ~I830_FENCE_START_MASK) + return false; + } + + /* + * Previous chips need to be aligned to the size of the smallest + * fence register that can contain the object. + */ + if (INTEL_INFO(obj->base.dev)->gen == 3) + size = 1024*1024; + else + size = 512*1024; + + while (size < obj->base.size) + size <<= 1; + + if (obj->gtt_space->size != size) + return false; + + if (obj->gtt_offset & (size - 1)) + return false; + + return true; +} + +/** + * Sets the tiling mode of an object, returning the required swizzling of + * bit 6 of addresses in the object. + */ +int +i915_gem_set_tiling(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_set_tiling *args = data; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + int ret = 0; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) + return -ENOENT; + + if (!i915_tiling_ok(dev, + args->stride, obj->base.size, args->tiling_mode)) { + drm_gem_object_unreference_unlocked(&obj->base); + return -EINVAL; + } + + if (obj->pin_count) { + drm_gem_object_unreference_unlocked(&obj->base); + return -EBUSY; + } + + if (args->tiling_mode == I915_TILING_NONE) { + args->swizzle_mode = I915_BIT_6_SWIZZLE_NONE; + args->stride = 0; + } else { + if (args->tiling_mode == I915_TILING_X) + args->swizzle_mode = dev_priv->mm.bit_6_swizzle_x; + else + args->swizzle_mode = dev_priv->mm.bit_6_swizzle_y; + + /* Hide bit 17 swizzling from the user. This prevents old Mesa + * from aborting the application on sw fallbacks to bit 17, + * and we use the pread/pwrite bit17 paths to swizzle for it. + * If there was a user that was relying on the swizzle + * information for drm_intel_bo_map()ed reads/writes this would + * break it, but we don't have any of those. + */ + if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_17) + args->swizzle_mode = I915_BIT_6_SWIZZLE_9; + if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_10_17) + args->swizzle_mode = I915_BIT_6_SWIZZLE_9_10; + + /* If we can't handle the swizzling, make it untiled. */ + if (args->swizzle_mode == I915_BIT_6_SWIZZLE_UNKNOWN) { + args->tiling_mode = I915_TILING_NONE; + args->swizzle_mode = I915_BIT_6_SWIZZLE_NONE; + args->stride = 0; + } + } + + mutex_lock(&dev->struct_mutex); + if (args->tiling_mode != obj->tiling_mode || + args->stride != obj->stride) { + /* We need to rebind the object if its current allocation + * no longer meets the alignment restrictions for its new + * tiling mode. Otherwise we can just leave it alone, but + * need to ensure that any fence register is updated before + * the next fenced (either through the GTT or by the BLT unit + * on older GPUs) access. + * + * After updating the tiling parameters, we then flag whether + * we need to update an associated fence register. Note this + * has to also include the unfenced register the GPU uses + * whilst executing a fenced command for an untiled object. + */ + + obj->map_and_fenceable = + obj->gtt_space == NULL || + (obj->gtt_offset + obj->base.size <= dev_priv->mm.gtt_mappable_end && + i915_gem_object_fence_ok(obj, args->tiling_mode)); + + /* Rebind if we need a change of alignment */ + if (!obj->map_and_fenceable) { + u32 unfenced_alignment = + i915_gem_get_unfenced_gtt_alignment(dev, + obj->base.size, + args->tiling_mode); + if (obj->gtt_offset & (unfenced_alignment - 1)) + ret = i915_gem_object_unbind(obj); + } + + if (ret == 0) { + obj->fence_dirty = + obj->fenced_gpu_access || + obj->fence_reg != I915_FENCE_REG_NONE; + + obj->tiling_mode = args->tiling_mode; + obj->stride = args->stride; + + /* Force the fence to be reacquired for GTT access */ + i915_gem_release_mmap(obj); + } + } + /* we have to maintain this existing ABI... */ + args->stride = obj->stride; + args->tiling_mode = obj->tiling_mode; + drm_gem_object_unreference(&obj->base); + mutex_unlock(&dev->struct_mutex); + + return ret; +} + +/** + * Returns the current tiling mode and required bit 6 swizzling for the object. + */ +int +i915_gem_get_tiling(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_gem_get_tiling *args = data; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); + if (&obj->base == NULL) + return -ENOENT; + + mutex_lock(&dev->struct_mutex); + + args->tiling_mode = obj->tiling_mode; + switch (obj->tiling_mode) { + case I915_TILING_X: + args->swizzle_mode = dev_priv->mm.bit_6_swizzle_x; + break; + case I915_TILING_Y: + args->swizzle_mode = dev_priv->mm.bit_6_swizzle_y; + break; + case I915_TILING_NONE: + args->swizzle_mode = I915_BIT_6_SWIZZLE_NONE; + break; + default: + DRM_ERROR("unknown tiling mode\n"); + } + + /* Hide bit 17 from the user -- see comment in i915_gem_set_tiling */ + if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_17) + args->swizzle_mode = I915_BIT_6_SWIZZLE_9; + if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_10_17) + args->swizzle_mode = I915_BIT_6_SWIZZLE_9_10; + + drm_gem_object_unreference(&obj->base); + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +/** + * Swap every 64 bytes of this page around, to account for it having a new + * bit 17 of its physical address and therefore being interpreted differently + * by the GPU. + */ +static void +i915_gem_swizzle_page(struct page *page) +{ + char temp[64]; + char *vaddr; + int i; + + vaddr = kmap(page); + + for (i = 0; i < PAGE_SIZE; i += 128) { + memcpy(temp, &vaddr[i], 64); + memcpy(&vaddr[i], &vaddr[i + 64], 64); + memcpy(&vaddr[i + 64], temp, 64); + } + + kunmap(page); +} + +void +i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj) +{ + struct scatterlist *sg; + int page_count = obj->base.size >> PAGE_SHIFT; + int i; + + if (obj->bit_17 == NULL) + return; + + for_each_sg(obj->pages->sgl, sg, page_count, i) { + struct page *page = sg_page(sg); + char new_bit_17 = page_to_phys(page) >> 17; + if ((new_bit_17 & 0x1) != + (test_bit(i, obj->bit_17) != 0)) { + i915_gem_swizzle_page(page); + set_page_dirty(page); + } + } +} + +void +i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj) +{ + struct scatterlist *sg; + int page_count = obj->base.size >> PAGE_SHIFT; + int i; + + if (obj->bit_17 == NULL) { + obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) * + sizeof(long), GFP_KERNEL); + if (obj->bit_17 == NULL) { + DRM_ERROR("Failed to allocate memory for bit 17 " + "record\n"); + return; + } + } + + for_each_sg(obj->pages->sgl, sg, page_count, i) { + struct page *page = sg_page(sg); + if (page_to_phys(page) & (1 << 17)) + __set_bit(i, obj->bit_17); + else + __clear_bit(i, obj->bit_17); + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_ioc32.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_ioc32.c @@ -0,0 +1,222 @@ +/** + * \file i915_ioc32.c + * + * 32-bit ioctl compatibility routines for the i915 DRM. + * + * \author Alan Hourihane + * + * + * Copyright (C) Paul Mackerras 2005 + * Copyright (C) Alan Hourihane 2005 + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ +#include + +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" + +typedef struct _drm_i915_batchbuffer32 { + int start; /* agp offset */ + int used; /* nr bytes in use */ + int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */ + int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */ + int num_cliprects; /* mulitpass with multiple cliprects? */ + u32 cliprects; /* pointer to userspace cliprects */ +} drm_i915_batchbuffer32_t; + +static int compat_i915_batchbuffer(struct file *file, unsigned int cmd, + unsigned long arg) +{ + drm_i915_batchbuffer32_t batchbuffer32; + drm_i915_batchbuffer_t __user *batchbuffer; + + if (copy_from_user + (&batchbuffer32, (void __user *)arg, sizeof(batchbuffer32))) + return -EFAULT; + + batchbuffer = compat_alloc_user_space(sizeof(*batchbuffer)); + if (!access_ok(VERIFY_WRITE, batchbuffer, sizeof(*batchbuffer)) + || __put_user(batchbuffer32.start, &batchbuffer->start) + || __put_user(batchbuffer32.used, &batchbuffer->used) + || __put_user(batchbuffer32.DR1, &batchbuffer->DR1) + || __put_user(batchbuffer32.DR4, &batchbuffer->DR4) + || __put_user(batchbuffer32.num_cliprects, + &batchbuffer->num_cliprects) + || __put_user((int __user *)(unsigned long)batchbuffer32.cliprects, + &batchbuffer->cliprects)) + return -EFAULT; + + return drm_ioctl(file, DRM_IOCTL_I915_BATCHBUFFER, + (unsigned long)batchbuffer); +} + +typedef struct _drm_i915_cmdbuffer32 { + u32 buf; /* pointer to userspace command buffer */ + int sz; /* nr bytes in buf */ + int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */ + int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */ + int num_cliprects; /* mulitpass with multiple cliprects? */ + u32 cliprects; /* pointer to userspace cliprects */ +} drm_i915_cmdbuffer32_t; + +static int compat_i915_cmdbuffer(struct file *file, unsigned int cmd, + unsigned long arg) +{ + drm_i915_cmdbuffer32_t cmdbuffer32; + drm_i915_cmdbuffer_t __user *cmdbuffer; + + if (copy_from_user + (&cmdbuffer32, (void __user *)arg, sizeof(cmdbuffer32))) + return -EFAULT; + + cmdbuffer = compat_alloc_user_space(sizeof(*cmdbuffer)); + if (!access_ok(VERIFY_WRITE, cmdbuffer, sizeof(*cmdbuffer)) + || __put_user((int __user *)(unsigned long)cmdbuffer32.buf, + &cmdbuffer->buf) + || __put_user(cmdbuffer32.sz, &cmdbuffer->sz) + || __put_user(cmdbuffer32.DR1, &cmdbuffer->DR1) + || __put_user(cmdbuffer32.DR4, &cmdbuffer->DR4) + || __put_user(cmdbuffer32.num_cliprects, &cmdbuffer->num_cliprects) + || __put_user((int __user *)(unsigned long)cmdbuffer32.cliprects, + &cmdbuffer->cliprects)) + return -EFAULT; + + return drm_ioctl(file, DRM_IOCTL_I915_CMDBUFFER, + (unsigned long)cmdbuffer); +} + +typedef struct drm_i915_irq_emit32 { + u32 irq_seq; +} drm_i915_irq_emit32_t; + +static int compat_i915_irq_emit(struct file *file, unsigned int cmd, + unsigned long arg) +{ + drm_i915_irq_emit32_t req32; + drm_i915_irq_emit_t __user *request; + + if (copy_from_user(&req32, (void __user *)arg, sizeof(req32))) + return -EFAULT; + + request = compat_alloc_user_space(sizeof(*request)); + if (!access_ok(VERIFY_WRITE, request, sizeof(*request)) + || __put_user((int __user *)(unsigned long)req32.irq_seq, + &request->irq_seq)) + return -EFAULT; + + return drm_ioctl(file, DRM_IOCTL_I915_IRQ_EMIT, + (unsigned long)request); +} +typedef struct drm_i915_getparam32 { + int param; + u32 value; +} drm_i915_getparam32_t; + +static int compat_i915_getparam(struct file *file, unsigned int cmd, + unsigned long arg) +{ + drm_i915_getparam32_t req32; + drm_i915_getparam_t __user *request; + + if (copy_from_user(&req32, (void __user *)arg, sizeof(req32))) + return -EFAULT; + + request = compat_alloc_user_space(sizeof(*request)); + if (!access_ok(VERIFY_WRITE, request, sizeof(*request)) + || __put_user(req32.param, &request->param) + || __put_user((void __user *)(unsigned long)req32.value, + &request->value)) + return -EFAULT; + + return drm_ioctl(file, DRM_IOCTL_I915_GETPARAM, + (unsigned long)request); +} + +typedef struct drm_i915_mem_alloc32 { + int region; + int alignment; + int size; + u32 region_offset; /* offset from start of fb or agp */ +} drm_i915_mem_alloc32_t; + +static int compat_i915_alloc(struct file *file, unsigned int cmd, + unsigned long arg) +{ + drm_i915_mem_alloc32_t req32; + drm_i915_mem_alloc_t __user *request; + + if (copy_from_user(&req32, (void __user *)arg, sizeof(req32))) + return -EFAULT; + + request = compat_alloc_user_space(sizeof(*request)); + if (!access_ok(VERIFY_WRITE, request, sizeof(*request)) + || __put_user(req32.region, &request->region) + || __put_user(req32.alignment, &request->alignment) + || __put_user(req32.size, &request->size) + || __put_user((void __user *)(unsigned long)req32.region_offset, + &request->region_offset)) + return -EFAULT; + + return drm_ioctl(file, DRM_IOCTL_I915_ALLOC, + (unsigned long)request); +} + +static drm_ioctl_compat_t *i915_compat_ioctls[] = { + [DRM_I915_BATCHBUFFER] = compat_i915_batchbuffer, + [DRM_I915_CMDBUFFER] = compat_i915_cmdbuffer, + [DRM_I915_GETPARAM] = compat_i915_getparam, + [DRM_I915_IRQ_EMIT] = compat_i915_irq_emit, + [DRM_I915_ALLOC] = compat_i915_alloc +}; + +#ifdef CONFIG_COMPAT +/** + * Called whenever a 32-bit process running under a 64-bit kernel + * performs an ioctl on /dev/dri/card. + * + * \param filp file pointer. + * \param cmd command. + * \param arg user argument. + * \return zero on success or negative number on failure. + */ +long i915_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +{ + unsigned int nr = DRM_IOCTL_NR(cmd); + drm_ioctl_compat_t *fn = NULL; + int ret; + + if (nr < DRM_COMMAND_BASE) + return drm_compat_ioctl(filp, cmd, arg); + + if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(i915_compat_ioctls)) + fn = i915_compat_ioctls[nr - DRM_COMMAND_BASE]; + + if (fn != NULL) + ret = (*fn) (filp, cmd, arg); + else + ret = drm_ioctl(filp, cmd, arg); + + return ret; +} +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_irq.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_irq.c @@ -0,0 +1,2750 @@ +/* i915_irq.c -- IRQ support for the I915 -*- linux-c -*- + */ +/* + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include +#include +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_trace.h" +#include "intel_drv.h" + +/* For display hotplug interrupt */ +static void +ironlake_enable_display_irq(drm_i915_private_t *dev_priv, u32 mask) +{ + if ((dev_priv->irq_mask & mask) != 0) { + dev_priv->irq_mask &= ~mask; + I915_WRITE(DEIMR, dev_priv->irq_mask); + POSTING_READ(DEIMR); + } +} + +static inline void +ironlake_disable_display_irq(drm_i915_private_t *dev_priv, u32 mask) +{ + if ((dev_priv->irq_mask & mask) != mask) { + dev_priv->irq_mask |= mask; + I915_WRITE(DEIMR, dev_priv->irq_mask); + POSTING_READ(DEIMR); + } +} + +void +i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) +{ + if ((dev_priv->pipestat[pipe] & mask) != mask) { + u32 reg = PIPESTAT(pipe); + + dev_priv->pipestat[pipe] |= mask; + /* Enable the interrupt, clear any pending status */ + I915_WRITE(reg, dev_priv->pipestat[pipe] | (mask >> 16)); + POSTING_READ(reg); + } +} + +void +i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) +{ + if ((dev_priv->pipestat[pipe] & mask) != 0) { + u32 reg = PIPESTAT(pipe); + + dev_priv->pipestat[pipe] &= ~mask; + I915_WRITE(reg, dev_priv->pipestat[pipe]); + POSTING_READ(reg); + } +} + +/** + * intel_enable_asle - enable ASLE interrupt for OpRegion + */ +void intel_enable_asle(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long irqflags; + + /* FIXME: opregion/asle for VLV */ + if (IS_VALLEYVIEW(dev)) + return; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + + if (HAS_PCH_SPLIT(dev)) + ironlake_enable_display_irq(dev_priv, DE_GSE); + else { + i915_enable_pipestat(dev_priv, 1, + PIPE_LEGACY_BLC_EVENT_ENABLE); + if (INTEL_INFO(dev)->gen >= 4) + i915_enable_pipestat(dev_priv, 0, + PIPE_LEGACY_BLC_EVENT_ENABLE); + } + + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); +} + +/** + * i915_pipe_enabled - check if a pipe is enabled + * @dev: DRM device + * @pipe: pipe to check + * + * Reading certain registers when the pipe is disabled can hang the chip. + * Use this routine to make sure the PLL is running and the pipe is active + * before reading such registers if unsure. + */ +static int +i915_pipe_enabled(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + + return I915_READ(PIPECONF(cpu_transcoder)) & PIPECONF_ENABLE; +} + +/* Called from drm generic code, passed a 'crtc', which + * we use as a pipe index + */ +static u32 i915_get_vblank_counter(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long high_frame; + unsigned long low_frame; + u32 high1, high2, low; + + if (!i915_pipe_enabled(dev, pipe)) { + DRM_DEBUG_DRIVER("trying to get vblank count for disabled " + "pipe %c\n", pipe_name(pipe)); + return 0; + } + + high_frame = PIPEFRAME(pipe); + low_frame = PIPEFRAMEPIXEL(pipe); + + /* + * High & low register fields aren't synchronized, so make sure + * we get a low value that's stable across two reads of the high + * register. + */ + do { + high1 = I915_READ(high_frame) & PIPE_FRAME_HIGH_MASK; + low = I915_READ(low_frame) & PIPE_FRAME_LOW_MASK; + high2 = I915_READ(high_frame) & PIPE_FRAME_HIGH_MASK; + } while (high1 != high2); + + high1 >>= PIPE_FRAME_HIGH_SHIFT; + low >>= PIPE_FRAME_LOW_SHIFT; + return (high1 << 8) | low; +} + +static u32 gm45_get_vblank_counter(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int reg = PIPE_FRMCOUNT_GM45(pipe); + + if (!i915_pipe_enabled(dev, pipe)) { + DRM_DEBUG_DRIVER("trying to get vblank count for disabled " + "pipe %c\n", pipe_name(pipe)); + return 0; + } + + return I915_READ(reg); +} + +static int i915_get_crtc_scanoutpos(struct drm_device *dev, int pipe, + int *vpos, int *hpos) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 vbl = 0, position = 0; + int vbl_start, vbl_end, htotal, vtotal; + bool in_vbl = true; + int ret = 0; + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + + if (!i915_pipe_enabled(dev, pipe)) { + DRM_DEBUG_DRIVER("trying to get scanoutpos for disabled " + "pipe %c\n", pipe_name(pipe)); + return 0; + } + + /* Get vtotal. */ + vtotal = 1 + ((I915_READ(VTOTAL(cpu_transcoder)) >> 16) & 0x1fff); + + if (INTEL_INFO(dev)->gen >= 4) { + /* No obvious pixelcount register. Only query vertical + * scanout position from Display scan line register. + */ + position = I915_READ(PIPEDSL(pipe)); + + /* Decode into vertical scanout position. Don't have + * horizontal scanout position. + */ + *vpos = position & 0x1fff; + *hpos = 0; + } else { + /* Have access to pixelcount since start of frame. + * We can split this into vertical and horizontal + * scanout position. + */ + position = (I915_READ(PIPEFRAMEPIXEL(pipe)) & PIPE_PIXEL_MASK) >> PIPE_PIXEL_SHIFT; + + htotal = 1 + ((I915_READ(HTOTAL(cpu_transcoder)) >> 16) & 0x1fff); + *vpos = position / htotal; + *hpos = position - (*vpos * htotal); + } + + /* Query vblank area. */ + vbl = I915_READ(VBLANK(cpu_transcoder)); + + /* Test position against vblank region. */ + vbl_start = vbl & 0x1fff; + vbl_end = (vbl >> 16) & 0x1fff; + + if ((*vpos < vbl_start) || (*vpos > vbl_end)) + in_vbl = false; + + /* Inside "upper part" of vblank area? Apply corrective offset: */ + if (in_vbl && (*vpos >= vbl_start)) + *vpos = *vpos - vtotal; + + /* Readouts valid? */ + if (vbl > 0) + ret |= DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_ACCURATE; + + /* In vblank? */ + if (in_vbl) + ret |= DRM_SCANOUTPOS_INVBL; + + return ret; +} + +static int i915_get_vblank_timestamp(struct drm_device *dev, int pipe, + int *max_error, + struct timeval *vblank_time, + unsigned flags) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc; + + if (pipe < 0 || pipe >= dev_priv->num_pipe) { + DRM_ERROR("Invalid crtc %d\n", pipe); + return -EINVAL; + } + + /* Get drm_crtc to timestamp: */ + crtc = intel_get_crtc_for_pipe(dev, pipe); + if (crtc == NULL) { + DRM_ERROR("Invalid crtc %d\n", pipe); + return -EINVAL; + } + + if (!crtc->enabled) { + DRM_DEBUG_KMS("crtc %d is disabled\n", pipe); + return -EBUSY; + } + + /* Helper routine in DRM core does all the work: */ + return drm_calc_vbltimestamp_from_scanoutpos(dev, pipe, max_error, + vblank_time, flags, + crtc); +} + +/* + * Handle hotplug events outside the interrupt handler proper. + */ +static void i915_hotplug_work_func(struct work_struct *work) +{ + drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t, + hotplug_work); + struct drm_device *dev = dev_priv->dev; + struct drm_mode_config *mode_config = &dev->mode_config; + struct intel_encoder *encoder; + + mutex_lock(&mode_config->mutex); + DRM_DEBUG_KMS("running encoder hotplug functions\n"); + + list_for_each_entry(encoder, &mode_config->encoder_list, base.head) + if (encoder->hot_plug) + encoder->hot_plug(encoder); + + mutex_unlock(&mode_config->mutex); + + /* Just fire off a uevent and let userspace tell us what to do */ + drm_helper_hpd_irq_event(dev); +} + +/* defined intel_pm.c */ +extern spinlock_t mchdev_lock; + +static void ironlake_handle_rps_change(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u32 busy_up, busy_down, max_avg, min_avg; + u8 new_delay; + unsigned long flags; + + spin_lock_irqsave(&mchdev_lock, flags); + + I915_WRITE16(MEMINTRSTS, I915_READ(MEMINTRSTS)); + + new_delay = dev_priv->ips.cur_delay; + + I915_WRITE16(MEMINTRSTS, MEMINT_EVAL_CHG); + busy_up = I915_READ(RCPREVBSYTUPAVG); + busy_down = I915_READ(RCPREVBSYTDNAVG); + max_avg = I915_READ(RCBMAXAVG); + min_avg = I915_READ(RCBMINAVG); + + /* Handle RCS change request from hw */ + if (busy_up > max_avg) { + if (dev_priv->ips.cur_delay != dev_priv->ips.max_delay) + new_delay = dev_priv->ips.cur_delay - 1; + if (new_delay < dev_priv->ips.max_delay) + new_delay = dev_priv->ips.max_delay; + } else if (busy_down < min_avg) { + if (dev_priv->ips.cur_delay != dev_priv->ips.min_delay) + new_delay = dev_priv->ips.cur_delay + 1; + if (new_delay > dev_priv->ips.min_delay) + new_delay = dev_priv->ips.min_delay; + } + + if (ironlake_set_drps(dev, new_delay)) + dev_priv->ips.cur_delay = new_delay; + + spin_unlock_irqrestore(&mchdev_lock, flags); + + return; +} + +static void notify_ring(struct drm_device *dev, + struct intel_ring_buffer *ring) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (ring->obj == NULL) + return; + + trace_i915_gem_request_complete(ring, ring->get_seqno(ring, false)); + + wake_up_all(&ring->irq_queue); + if (i915_enable_hangcheck) { + dev_priv->hangcheck_count = 0; + mod_timer(&dev_priv->hangcheck_timer, + round_jiffies_up(jiffies + DRM_I915_HANGCHECK_JIFFIES)); + } +} + +static void gen6_pm_rps_work(struct work_struct *work) +{ + drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t, + rps.work); + u32 pm_iir, pm_imr; + u8 new_delay; + + spin_lock_irq(&dev_priv->rps.lock); + pm_iir = dev_priv->rps.pm_iir; + dev_priv->rps.pm_iir = 0; + pm_imr = I915_READ(GEN6_PMIMR); + I915_WRITE(GEN6_PMIMR, 0); + spin_unlock_irq(&dev_priv->rps.lock); + + if ((pm_iir & GEN6_PM_DEFERRED_EVENTS) == 0) + return; + + mutex_lock(&dev_priv->rps.hw_lock); + + if (pm_iir & GEN6_PM_RP_UP_THRESHOLD) + new_delay = dev_priv->rps.cur_delay + 1; + else + new_delay = dev_priv->rps.cur_delay - 1; + + /* sysfs frequency interfaces may have snuck in while servicing the + * interrupt + */ + if (!(new_delay > dev_priv->rps.max_delay || + new_delay < dev_priv->rps.min_delay)) { + gen6_set_rps(dev_priv->dev, new_delay); + } + + mutex_unlock(&dev_priv->rps.hw_lock); +} + + +/** + * ivybridge_parity_work - Workqueue called when a parity error interrupt + * occurred. + * @work: workqueue struct + * + * Doesn't actually do anything except notify userspace. As a consequence of + * this event, userspace should try to remap the bad rows since statistically + * it is likely the same row is more likely to go bad again. + */ +static void ivybridge_parity_work(struct work_struct *work) +{ + drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t, + l3_parity.error_work); + u32 error_status, row, bank, subbank; + char *parity_event[5]; + uint32_t misccpctl; + unsigned long flags; + + /* We must turn off DOP level clock gating to access the L3 registers. + * In order to prevent a get/put style interface, acquire struct mutex + * any time we access those registers. + */ + mutex_lock(&dev_priv->dev->struct_mutex); + + misccpctl = I915_READ(GEN7_MISCCPCTL); + I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); + POSTING_READ(GEN7_MISCCPCTL); + + error_status = I915_READ(GEN7_L3CDERRST1); + row = GEN7_PARITY_ERROR_ROW(error_status); + bank = GEN7_PARITY_ERROR_BANK(error_status); + subbank = GEN7_PARITY_ERROR_SUBBANK(error_status); + + I915_WRITE(GEN7_L3CDERRST1, GEN7_PARITY_ERROR_VALID | + GEN7_L3CDERRST1_ENABLE); + POSTING_READ(GEN7_L3CDERRST1); + + I915_WRITE(GEN7_MISCCPCTL, misccpctl); + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + dev_priv->gt_irq_mask &= ~GT_GEN7_L3_PARITY_ERROR_INTERRUPT; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + mutex_unlock(&dev_priv->dev->struct_mutex); + + parity_event[0] = "L3_PARITY_ERROR=1"; + parity_event[1] = kasprintf(GFP_KERNEL, "ROW=%d", row); + parity_event[2] = kasprintf(GFP_KERNEL, "BANK=%d", bank); + parity_event[3] = kasprintf(GFP_KERNEL, "SUBBANK=%d", subbank); + parity_event[4] = NULL; + + kobject_uevent_env(&dev_priv->dev->primary->kdev.kobj, + KOBJ_CHANGE, parity_event); + + DRM_DEBUG("Parity error: Row = %d, Bank = %d, Sub bank = %d.\n", + row, bank, subbank); + + kfree(parity_event[3]); + kfree(parity_event[2]); + kfree(parity_event[1]); +} + +static void ivybridge_handle_parity_error(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long flags; + + if (!HAS_L3_GPU_CACHE(dev)) + return; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + dev_priv->gt_irq_mask |= GT_GEN7_L3_PARITY_ERROR_INTERRUPT; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + queue_work(dev_priv->wq, &dev_priv->l3_parity.error_work); +} + +static void snb_gt_irq_handler(struct drm_device *dev, + struct drm_i915_private *dev_priv, + u32 gt_iir) +{ + + if (gt_iir & (GEN6_RENDER_USER_INTERRUPT | + GEN6_RENDER_PIPE_CONTROL_NOTIFY_INTERRUPT)) + notify_ring(dev, &dev_priv->ring[RCS]); + if (gt_iir & GEN6_BSD_USER_INTERRUPT) + notify_ring(dev, &dev_priv->ring[VCS]); + if (gt_iir & GEN6_BLITTER_USER_INTERRUPT) + notify_ring(dev, &dev_priv->ring[BCS]); + + if (gt_iir & (GT_GEN6_BLT_CS_ERROR_INTERRUPT | + GT_GEN6_BSD_CS_ERROR_INTERRUPT | + GT_RENDER_CS_ERROR_INTERRUPT)) { + DRM_ERROR("GT error interrupt 0x%08x\n", gt_iir); + i915_handle_error(dev, false); + } + + if (gt_iir & GT_GEN7_L3_PARITY_ERROR_INTERRUPT) + ivybridge_handle_parity_error(dev); +} + +static void gen6_queue_rps_work(struct drm_i915_private *dev_priv, + u32 pm_iir) +{ + unsigned long flags; + + /* + * IIR bits should never already be set because IMR should + * prevent an interrupt from being shown in IIR. The warning + * displays a case where we've unsafely cleared + * dev_priv->rps.pm_iir. Although missing an interrupt of the same + * type is not a problem, it displays a problem in the logic. + * + * The mask bit in IMR is cleared by dev_priv->rps.work. + */ + + spin_lock_irqsave(&dev_priv->rps.lock, flags); + dev_priv->rps.pm_iir |= pm_iir; + I915_WRITE(GEN6_PMIMR, dev_priv->rps.pm_iir); + POSTING_READ(GEN6_PMIMR); + spin_unlock_irqrestore(&dev_priv->rps.lock, flags); + + queue_work(dev_priv->wq, &dev_priv->rps.work); +} + +static irqreturn_t valleyview_irq_handler(int irq, void *arg) +{ + struct drm_device *dev = (struct drm_device *) arg; + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 iir, gt_iir, pm_iir; + irqreturn_t ret = IRQ_NONE; + unsigned long irqflags; + int pipe; + u32 pipe_stats[I915_MAX_PIPES]; + bool blc_event; + + atomic_inc(&dev_priv->irq_received); + + while (true) { + iir = I915_READ(VLV_IIR); + gt_iir = I915_READ(GTIIR); + pm_iir = I915_READ(GEN6_PMIIR); + + if (gt_iir == 0 && pm_iir == 0 && iir == 0) + goto out; + + ret = IRQ_HANDLED; + + snb_gt_irq_handler(dev, dev_priv, gt_iir); + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + for_each_pipe(pipe) { + int reg = PIPESTAT(pipe); + pipe_stats[pipe] = I915_READ(reg); + + /* + * Clear the PIPE*STAT regs before the IIR + */ + if (pipe_stats[pipe] & 0x8000ffff) { + if (pipe_stats[pipe] & PIPE_FIFO_UNDERRUN_STATUS) + DRM_DEBUG_DRIVER("pipe %c underrun\n", + pipe_name(pipe)); + I915_WRITE(reg, pipe_stats[pipe]); + } + } + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + for_each_pipe(pipe) { + if (pipe_stats[pipe] & PIPE_VBLANK_INTERRUPT_STATUS) + drm_handle_vblank(dev, pipe); + + if (pipe_stats[pipe] & PLANE_FLIPDONE_INT_STATUS_VLV) { + intel_prepare_page_flip(dev, pipe); + intel_finish_page_flip(dev, pipe); + } + } + + /* Consume port. Then clear IIR or we'll miss events */ + if (iir & I915_DISPLAY_PORT_INTERRUPT) { + u32 hotplug_status = I915_READ(PORT_HOTPLUG_STAT); + + DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x\n", + hotplug_status); + if (hotplug_status & dev_priv->hotplug_supported_mask) + queue_work(dev_priv->wq, + &dev_priv->hotplug_work); + + I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); + I915_READ(PORT_HOTPLUG_STAT); + } + + if (pipe_stats[pipe] & PIPE_LEGACY_BLC_EVENT_STATUS) + blc_event = true; + + if (pm_iir & GEN6_PM_DEFERRED_EVENTS) + gen6_queue_rps_work(dev_priv, pm_iir); + + I915_WRITE(GTIIR, gt_iir); + I915_WRITE(GEN6_PMIIR, pm_iir); + I915_WRITE(VLV_IIR, iir); + } + +out: + return ret; +} + +static void ibx_irq_handler(struct drm_device *dev, u32 pch_iir) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + if (pch_iir & SDE_HOTPLUG_MASK) + queue_work(dev_priv->wq, &dev_priv->hotplug_work); + + if (pch_iir & SDE_AUDIO_POWER_MASK) + DRM_DEBUG_DRIVER("PCH audio power change on port %d\n", + (pch_iir & SDE_AUDIO_POWER_MASK) >> + SDE_AUDIO_POWER_SHIFT); + + if (pch_iir & SDE_GMBUS) + DRM_DEBUG_DRIVER("PCH GMBUS interrupt\n"); + + if (pch_iir & SDE_AUDIO_HDCP_MASK) + DRM_DEBUG_DRIVER("PCH HDCP audio interrupt\n"); + + if (pch_iir & SDE_AUDIO_TRANS_MASK) + DRM_DEBUG_DRIVER("PCH transcoder audio interrupt\n"); + + if (pch_iir & SDE_POISON) + DRM_ERROR("PCH poison interrupt\n"); + + if (pch_iir & SDE_FDI_MASK) + for_each_pipe(pipe) + DRM_DEBUG_DRIVER(" pipe %c FDI IIR: 0x%08x\n", + pipe_name(pipe), + I915_READ(FDI_RX_IIR(pipe))); + + if (pch_iir & (SDE_TRANSB_CRC_DONE | SDE_TRANSA_CRC_DONE)) + DRM_DEBUG_DRIVER("PCH transcoder CRC done interrupt\n"); + + if (pch_iir & (SDE_TRANSB_CRC_ERR | SDE_TRANSA_CRC_ERR)) + DRM_DEBUG_DRIVER("PCH transcoder CRC error interrupt\n"); + + if (pch_iir & SDE_TRANSB_FIFO_UNDER) + DRM_DEBUG_DRIVER("PCH transcoder B underrun interrupt\n"); + if (pch_iir & SDE_TRANSA_FIFO_UNDER) + DRM_DEBUG_DRIVER("PCH transcoder A underrun interrupt\n"); +} + +static void cpt_irq_handler(struct drm_device *dev, u32 pch_iir) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + if (pch_iir & SDE_HOTPLUG_MASK_CPT) + queue_work(dev_priv->wq, &dev_priv->hotplug_work); + + if (pch_iir & SDE_AUDIO_POWER_MASK_CPT) + DRM_DEBUG_DRIVER("PCH audio power change on port %d\n", + (pch_iir & SDE_AUDIO_POWER_MASK_CPT) >> + SDE_AUDIO_POWER_SHIFT_CPT); + + if (pch_iir & SDE_AUX_MASK_CPT) + DRM_DEBUG_DRIVER("AUX channel interrupt\n"); + + if (pch_iir & SDE_GMBUS_CPT) + DRM_DEBUG_DRIVER("PCH GMBUS interrupt\n"); + + if (pch_iir & SDE_AUDIO_CP_REQ_CPT) + DRM_DEBUG_DRIVER("Audio CP request interrupt\n"); + + if (pch_iir & SDE_AUDIO_CP_CHG_CPT) + DRM_DEBUG_DRIVER("Audio CP change interrupt\n"); + + if (pch_iir & SDE_FDI_MASK_CPT) + for_each_pipe(pipe) + DRM_DEBUG_DRIVER(" pipe %c FDI IIR: 0x%08x\n", + pipe_name(pipe), + I915_READ(FDI_RX_IIR(pipe))); +} + +static irqreturn_t ivybridge_irq_handler(int irq, void *arg) +{ + struct drm_device *dev = (struct drm_device *) arg; + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 de_iir, gt_iir, de_ier, pm_iir; + irqreturn_t ret = IRQ_NONE; + int i; + + atomic_inc(&dev_priv->irq_received); + + /* disable master interrupt before clearing iir */ + de_ier = I915_READ(DEIER); + I915_WRITE(DEIER, de_ier & ~DE_MASTER_IRQ_CONTROL); + + gt_iir = I915_READ(GTIIR); + if (gt_iir) { + snb_gt_irq_handler(dev, dev_priv, gt_iir); + I915_WRITE(GTIIR, gt_iir); + ret = IRQ_HANDLED; + } + + de_iir = I915_READ(DEIIR); + if (de_iir) { + if (de_iir & DE_GSE_IVB) + intel_opregion_gse_intr(dev); + + for (i = 0; i < 3; i++) { + if (de_iir & (DE_PIPEA_VBLANK_IVB << (5 * i))) + drm_handle_vblank(dev, i); + if (de_iir & (DE_PLANEA_FLIP_DONE_IVB << (5 * i))) { + intel_prepare_page_flip(dev, i); + intel_finish_page_flip_plane(dev, i); + } + } + + /* check event from PCH */ + if (de_iir & DE_PCH_EVENT_IVB) { + u32 pch_iir = I915_READ(SDEIIR); + + cpt_irq_handler(dev, pch_iir); + + /* clear PCH hotplug event before clear CPU irq */ + I915_WRITE(SDEIIR, pch_iir); + } + + I915_WRITE(DEIIR, de_iir); + ret = IRQ_HANDLED; + } + + pm_iir = I915_READ(GEN6_PMIIR); + if (pm_iir) { + if (pm_iir & GEN6_PM_DEFERRED_EVENTS) + gen6_queue_rps_work(dev_priv, pm_iir); + I915_WRITE(GEN6_PMIIR, pm_iir); + ret = IRQ_HANDLED; + } + + I915_WRITE(DEIER, de_ier); + POSTING_READ(DEIER); + + return ret; +} + +static void ilk_gt_irq_handler(struct drm_device *dev, + struct drm_i915_private *dev_priv, + u32 gt_iir) +{ + if (gt_iir & (GT_USER_INTERRUPT | GT_PIPE_NOTIFY)) + notify_ring(dev, &dev_priv->ring[RCS]); + if (gt_iir & GT_BSD_USER_INTERRUPT) + notify_ring(dev, &dev_priv->ring[VCS]); +} + +static irqreturn_t ironlake_irq_handler(int irq, void *arg) +{ + struct drm_device *dev = (struct drm_device *) arg; + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int ret = IRQ_NONE; + u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir; + + atomic_inc(&dev_priv->irq_received); + + /* disable master interrupt before clearing iir */ + de_ier = I915_READ(DEIER); + I915_WRITE(DEIER, de_ier & ~DE_MASTER_IRQ_CONTROL); + POSTING_READ(DEIER); + + de_iir = I915_READ(DEIIR); + gt_iir = I915_READ(GTIIR); + pch_iir = I915_READ(SDEIIR); + pm_iir = I915_READ(GEN6_PMIIR); + + if (de_iir == 0 && gt_iir == 0 && pch_iir == 0 && + (!IS_GEN6(dev) || pm_iir == 0)) + goto done; + + ret = IRQ_HANDLED; + + if (IS_GEN5(dev)) + ilk_gt_irq_handler(dev, dev_priv, gt_iir); + else + snb_gt_irq_handler(dev, dev_priv, gt_iir); + + if (de_iir & DE_GSE) + intel_opregion_gse_intr(dev); + + if (de_iir & DE_PIPEA_VBLANK) + drm_handle_vblank(dev, 0); + + if (de_iir & DE_PIPEB_VBLANK) + drm_handle_vblank(dev, 1); + + if (de_iir & DE_PLANEA_FLIP_DONE) { + intel_prepare_page_flip(dev, 0); + intel_finish_page_flip_plane(dev, 0); + } + + if (de_iir & DE_PLANEB_FLIP_DONE) { + intel_prepare_page_flip(dev, 1); + intel_finish_page_flip_plane(dev, 1); + } + + /* check event from PCH */ + if (de_iir & DE_PCH_EVENT) { + if (HAS_PCH_CPT(dev)) + cpt_irq_handler(dev, pch_iir); + else + ibx_irq_handler(dev, pch_iir); + } + + if (IS_GEN5(dev) && de_iir & DE_PCU_EVENT) + ironlake_handle_rps_change(dev); + + if (IS_GEN6(dev) && pm_iir & GEN6_PM_DEFERRED_EVENTS) + gen6_queue_rps_work(dev_priv, pm_iir); + + /* should clear PCH hotplug event before clear CPU irq */ + I915_WRITE(SDEIIR, pch_iir); + I915_WRITE(GTIIR, gt_iir); + I915_WRITE(DEIIR, de_iir); + I915_WRITE(GEN6_PMIIR, pm_iir); + +done: + I915_WRITE(DEIER, de_ier); + POSTING_READ(DEIER); + + return ret; +} + +/** + * i915_error_work_func - do process context error handling work + * @work: work struct + * + * Fire an error uevent so userspace can see that a hang or error + * was detected. + */ +static void i915_error_work_func(struct work_struct *work) +{ + drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t, + error_work); + struct drm_device *dev = dev_priv->dev; + char *error_event[] = { "ERROR=1", NULL }; + char *reset_event[] = { "RESET=1", NULL }; + char *reset_done_event[] = { "ERROR=0", NULL }; + + kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, error_event); + + if (atomic_read(&dev_priv->mm.wedged)) { + DRM_DEBUG_DRIVER("resetting chip\n"); + kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, reset_event); + if (!i915_reset(dev)) { + atomic_set(&dev_priv->mm.wedged, 0); + kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, reset_done_event); + } + complete_all(&dev_priv->error_completion); + } +} + +/* NB: please notice the memset */ +static void i915_get_extra_instdone(struct drm_device *dev, + uint32_t *instdone) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + memset(instdone, 0, sizeof(*instdone) * I915_NUM_INSTDONE_REG); + + switch(INTEL_INFO(dev)->gen) { + case 2: + case 3: + instdone[0] = I915_READ(INSTDONE); + break; + case 4: + case 5: + case 6: + instdone[0] = I915_READ(INSTDONE_I965); + instdone[1] = I915_READ(INSTDONE1); + break; + default: + WARN_ONCE(1, "Unsupported platform\n"); + case 7: + instdone[0] = I915_READ(GEN7_INSTDONE_1); + instdone[1] = I915_READ(GEN7_SC_INSTDONE); + instdone[2] = I915_READ(GEN7_SAMPLER_INSTDONE); + instdone[3] = I915_READ(GEN7_ROW_INSTDONE); + break; + } +} + +#ifdef CONFIG_DEBUG_FS +static struct drm_i915_error_object * +i915_error_object_create(struct drm_i915_private *dev_priv, + struct drm_i915_gem_object *src) +{ + struct drm_i915_error_object *dst; + int i, count; + u32 reloc_offset; + + if (src == NULL || src->pages == NULL) + return NULL; + + count = src->base.size / PAGE_SIZE; + + dst = kmalloc(sizeof(*dst) + count * sizeof(u32 *), GFP_ATOMIC); + if (dst == NULL) + return NULL; + + reloc_offset = src->gtt_offset; + for (i = 0; i < count; i++) { + unsigned long flags; + void *d; + + d = kmalloc(PAGE_SIZE, GFP_ATOMIC); + if (d == NULL) + goto unwind; + + local_irq_save(flags); + if (reloc_offset < dev_priv->mm.gtt_mappable_end && + src->has_global_gtt_mapping) { + void __iomem *s; + + /* Simply ignore tiling or any overlapping fence. + * It's part of the error state, and this hopefully + * captures what the GPU read. + */ + + s = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping, + reloc_offset); + memcpy_fromio(d, s, PAGE_SIZE); + io_mapping_unmap_atomic(s); + } else { + struct page *page; + void *s; + + page = i915_gem_object_get_page(src, i); + + drm_clflush_pages(&page, 1); + + s = kmap_atomic(page); + memcpy(d, s, PAGE_SIZE); + kunmap_atomic(s); + + drm_clflush_pages(&page, 1); + } + local_irq_restore(flags); + + dst->pages[i] = d; + + reloc_offset += PAGE_SIZE; + } + dst->page_count = count; + dst->gtt_offset = src->gtt_offset; + + return dst; + +unwind: + while (i--) + kfree(dst->pages[i]); + kfree(dst); + return NULL; +} + +static void +i915_error_object_free(struct drm_i915_error_object *obj) +{ + int page; + + if (obj == NULL) + return; + + for (page = 0; page < obj->page_count; page++) + kfree(obj->pages[page]); + + kfree(obj); +} + +void +i915_error_state_free(struct kref *error_ref) +{ + struct drm_i915_error_state *error = container_of(error_ref, + typeof(*error), ref); + int i; + + for (i = 0; i < ARRAY_SIZE(error->ring); i++) { + i915_error_object_free(error->ring[i].batchbuffer); + i915_error_object_free(error->ring[i].ringbuffer); + kfree(error->ring[i].requests); + } + + kfree(error->active_bo); + kfree(error->overlay); + kfree(error); +} +static void capture_bo(struct drm_i915_error_buffer *err, + struct drm_i915_gem_object *obj) +{ + err->size = obj->base.size; + err->name = obj->base.name; + err->rseqno = obj->last_read_seqno; + err->wseqno = obj->last_write_seqno; + err->gtt_offset = obj->gtt_offset; + err->read_domains = obj->base.read_domains; + err->write_domain = obj->base.write_domain; + err->fence_reg = obj->fence_reg; + err->pinned = 0; + if (obj->pin_count > 0) + err->pinned = 1; + if (obj->user_pin_count > 0) + err->pinned = -1; + err->tiling = obj->tiling_mode; + err->dirty = obj->dirty; + err->purgeable = obj->madv != I915_MADV_WILLNEED; + err->ring = obj->ring ? obj->ring->id : -1; + err->cache_level = obj->cache_level; +} + +static u32 capture_active_bo(struct drm_i915_error_buffer *err, + int count, struct list_head *head) +{ + struct drm_i915_gem_object *obj; + int i = 0; + + list_for_each_entry(obj, head, mm_list) { + capture_bo(err++, obj); + if (++i == count) + break; + } + + return i; +} + +static u32 capture_pinned_bo(struct drm_i915_error_buffer *err, + int count, struct list_head *head) +{ + struct drm_i915_gem_object *obj; + int i = 0; + + list_for_each_entry(obj, head, gtt_list) { + if (obj->pin_count == 0) + continue; + + capture_bo(err++, obj); + if (++i == count) + break; + } + + return i; +} + +static void i915_gem_record_fences(struct drm_device *dev, + struct drm_i915_error_state *error) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + + /* Fences */ + switch (INTEL_INFO(dev)->gen) { + case 7: + case 6: + for (i = 0; i < 16; i++) + error->fence[i] = I915_READ64(FENCE_REG_SANDYBRIDGE_0 + (i * 8)); + break; + case 5: + case 4: + for (i = 0; i < 16; i++) + error->fence[i] = I915_READ64(FENCE_REG_965_0 + (i * 8)); + break; + case 3: + if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) + for (i = 0; i < 8; i++) + error->fence[i+8] = I915_READ(FENCE_REG_945_8 + (i * 4)); + case 2: + for (i = 0; i < 8; i++) + error->fence[i] = I915_READ(FENCE_REG_830_0 + (i * 4)); + break; + + } +} + +static struct drm_i915_error_object * +i915_error_first_batchbuffer(struct drm_i915_private *dev_priv, + struct intel_ring_buffer *ring) +{ + struct drm_i915_gem_object *obj; + u32 seqno; + + if (!ring->get_seqno) + return NULL; + + seqno = ring->get_seqno(ring, false); + list_for_each_entry(obj, &dev_priv->mm.active_list, mm_list) { + if (obj->ring != ring) + continue; + + if (i915_seqno_passed(seqno, obj->last_read_seqno)) + continue; + + if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0) + continue; + + /* We need to copy these to an anonymous buffer as the simplest + * method to avoid being overwritten by userspace. + */ + return i915_error_object_create(dev_priv, obj); + } + + return NULL; +} + +static void i915_record_ring_state(struct drm_device *dev, + struct drm_i915_error_state *error, + struct intel_ring_buffer *ring) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (INTEL_INFO(dev)->gen >= 6) { + error->rc_psmi[ring->id] = I915_READ(ring->mmio_base + 0x50); + error->fault_reg[ring->id] = I915_READ(RING_FAULT_REG(ring)); + error->semaphore_mboxes[ring->id][0] + = I915_READ(RING_SYNC_0(ring->mmio_base)); + error->semaphore_mboxes[ring->id][1] + = I915_READ(RING_SYNC_1(ring->mmio_base)); + } + + if (INTEL_INFO(dev)->gen >= 4) { + error->faddr[ring->id] = I915_READ(RING_DMA_FADD(ring->mmio_base)); + error->ipeir[ring->id] = I915_READ(RING_IPEIR(ring->mmio_base)); + error->ipehr[ring->id] = I915_READ(RING_IPEHR(ring->mmio_base)); + error->instdone[ring->id] = I915_READ(RING_INSTDONE(ring->mmio_base)); + error->instps[ring->id] = I915_READ(RING_INSTPS(ring->mmio_base)); + if (ring->id == RCS) + error->bbaddr = I915_READ64(BB_ADDR); + } else { + error->faddr[ring->id] = I915_READ(DMA_FADD_I8XX); + error->ipeir[ring->id] = I915_READ(IPEIR); + error->ipehr[ring->id] = I915_READ(IPEHR); + error->instdone[ring->id] = I915_READ(INSTDONE); + } + + error->waiting[ring->id] = waitqueue_active(&ring->irq_queue); + error->instpm[ring->id] = I915_READ(RING_INSTPM(ring->mmio_base)); + error->seqno[ring->id] = ring->get_seqno(ring, false); + error->acthd[ring->id] = intel_ring_get_active_head(ring); + error->head[ring->id] = I915_READ_HEAD(ring); + error->tail[ring->id] = I915_READ_TAIL(ring); + + error->cpu_ring_head[ring->id] = ring->head; + error->cpu_ring_tail[ring->id] = ring->tail; +} + +static void i915_gem_record_rings(struct drm_device *dev, + struct drm_i915_error_state *error) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + struct drm_i915_gem_request *request; + int i, count; + + for_each_ring(ring, dev_priv, i) { + i915_record_ring_state(dev, error, ring); + + error->ring[i].batchbuffer = + i915_error_first_batchbuffer(dev_priv, ring); + + error->ring[i].ringbuffer = + i915_error_object_create(dev_priv, ring->obj); + + count = 0; + list_for_each_entry(request, &ring->request_list, list) + count++; + + error->ring[i].num_requests = count; + error->ring[i].requests = + kmalloc(count*sizeof(struct drm_i915_error_request), + GFP_ATOMIC); + if (error->ring[i].requests == NULL) { + error->ring[i].num_requests = 0; + continue; + } + + count = 0; + list_for_each_entry(request, &ring->request_list, list) { + struct drm_i915_error_request *erq; + + erq = &error->ring[i].requests[count++]; + erq->seqno = request->seqno; + erq->jiffies = request->emitted_jiffies; + erq->tail = request->tail; + } + } +} + +/** + * i915_capture_error_state - capture an error record for later analysis + * @dev: drm device + * + * Should be called when an error is detected (either a hang or an error + * interrupt) to capture error state from the time of the error. Fills + * out a structure which becomes available in debugfs for user level tools + * to pick up. + */ +static void i915_capture_error_state(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + struct drm_i915_error_state *error; + unsigned long flags; + int i, pipe; + + spin_lock_irqsave(&dev_priv->error_lock, flags); + error = dev_priv->first_error; + spin_unlock_irqrestore(&dev_priv->error_lock, flags); + if (error) + return; + + /* Account for pipe specific data like PIPE*STAT */ + error = kzalloc(sizeof(*error), GFP_ATOMIC); + if (!error) { + DRM_DEBUG_DRIVER("out of memory, not capturing error state\n"); + return; + } + + DRM_INFO("capturing error event; look for more information in /debug/dri/%d/i915_error_state\n", + dev->primary->index); + + kref_init(&error->ref); + error->eir = I915_READ(EIR); + error->pgtbl_er = I915_READ(PGTBL_ER); + error->ccid = I915_READ(CCID); + + if (HAS_PCH_SPLIT(dev)) + error->ier = I915_READ(DEIER) | I915_READ(GTIER); + else if (IS_VALLEYVIEW(dev)) + error->ier = I915_READ(GTIER) | I915_READ(VLV_IER); + else if (IS_GEN2(dev)) + error->ier = I915_READ16(IER); + else + error->ier = I915_READ(IER); + + for_each_pipe(pipe) + error->pipestat[pipe] = I915_READ(PIPESTAT(pipe)); + + if (INTEL_INFO(dev)->gen >= 6) { + error->error = I915_READ(ERROR_GEN6); + error->done_reg = I915_READ(DONE_REG); + } + + if (INTEL_INFO(dev)->gen == 7) + error->err_int = I915_READ(GEN7_ERR_INT); + + i915_get_extra_instdone(dev, error->extra_instdone); + + i915_gem_record_fences(dev, error); + i915_gem_record_rings(dev, error); + + /* Record buffers on the active and pinned lists. */ + error->active_bo = NULL; + error->pinned_bo = NULL; + + i = 0; + list_for_each_entry(obj, &dev_priv->mm.active_list, mm_list) + i++; + error->active_bo_count = i; + list_for_each_entry(obj, &dev_priv->mm.bound_list, gtt_list) + if (obj->pin_count) + i++; + error->pinned_bo_count = i - error->active_bo_count; + + error->active_bo = NULL; + error->pinned_bo = NULL; + if (i) { + error->active_bo = kmalloc(sizeof(*error->active_bo)*i, + GFP_ATOMIC); + if (error->active_bo) + error->pinned_bo = + error->active_bo + error->active_bo_count; + } + + if (error->active_bo) + error->active_bo_count = + capture_active_bo(error->active_bo, + error->active_bo_count, + &dev_priv->mm.active_list); + + if (error->pinned_bo) + error->pinned_bo_count = + capture_pinned_bo(error->pinned_bo, + error->pinned_bo_count, + &dev_priv->mm.bound_list); + + do_gettimeofday(&error->time); + + error->overlay = intel_overlay_capture_error_state(dev); + error->display = intel_display_capture_error_state(dev); + + spin_lock_irqsave(&dev_priv->error_lock, flags); + if (dev_priv->first_error == NULL) { + dev_priv->first_error = error; + error = NULL; + } + spin_unlock_irqrestore(&dev_priv->error_lock, flags); + + if (error) + i915_error_state_free(&error->ref); +} + +void i915_destroy_error_state(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_error_state *error; + unsigned long flags; + + spin_lock_irqsave(&dev_priv->error_lock, flags); + error = dev_priv->first_error; + dev_priv->first_error = NULL; + spin_unlock_irqrestore(&dev_priv->error_lock, flags); + + if (error) + kref_put(&error->ref, i915_error_state_free); +} +#else +#define i915_capture_error_state(x) +#endif + +static void i915_report_and_clear_eir(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t instdone[I915_NUM_INSTDONE_REG]; + u32 eir = I915_READ(EIR); + int pipe, i; + + if (!eir) + return; + + pr_err("render error detected, EIR: 0x%08x\n", eir); + + i915_get_extra_instdone(dev, instdone); + + if (IS_G4X(dev)) { + if (eir & (GM45_ERROR_MEM_PRIV | GM45_ERROR_CP_PRIV)) { + u32 ipeir = I915_READ(IPEIR_I965); + + pr_err(" IPEIR: 0x%08x\n", I915_READ(IPEIR_I965)); + pr_err(" IPEHR: 0x%08x\n", I915_READ(IPEHR_I965)); + for (i = 0; i < ARRAY_SIZE(instdone); i++) + pr_err(" INSTDONE_%d: 0x%08x\n", i, instdone[i]); + pr_err(" INSTPS: 0x%08x\n", I915_READ(INSTPS)); + pr_err(" ACTHD: 0x%08x\n", I915_READ(ACTHD_I965)); + I915_WRITE(IPEIR_I965, ipeir); + POSTING_READ(IPEIR_I965); + } + if (eir & GM45_ERROR_PAGE_TABLE) { + u32 pgtbl_err = I915_READ(PGTBL_ER); + pr_err("page table error\n"); + pr_err(" PGTBL_ER: 0x%08x\n", pgtbl_err); + I915_WRITE(PGTBL_ER, pgtbl_err); + POSTING_READ(PGTBL_ER); + } + } + + if (!IS_GEN2(dev)) { + if (eir & I915_ERROR_PAGE_TABLE) { + u32 pgtbl_err = I915_READ(PGTBL_ER); + pr_err("page table error\n"); + pr_err(" PGTBL_ER: 0x%08x\n", pgtbl_err); + I915_WRITE(PGTBL_ER, pgtbl_err); + POSTING_READ(PGTBL_ER); + } + } + + if (eir & I915_ERROR_MEMORY_REFRESH) { + pr_err("memory refresh error:\n"); + for_each_pipe(pipe) + pr_err("pipe %c stat: 0x%08x\n", + pipe_name(pipe), I915_READ(PIPESTAT(pipe))); + /* pipestat has already been acked */ + } + if (eir & I915_ERROR_INSTRUCTION) { + pr_err("instruction error\n"); + pr_err(" INSTPM: 0x%08x\n", I915_READ(INSTPM)); + for (i = 0; i < ARRAY_SIZE(instdone); i++) + pr_err(" INSTDONE_%d: 0x%08x\n", i, instdone[i]); + if (INTEL_INFO(dev)->gen < 4) { + u32 ipeir = I915_READ(IPEIR); + + pr_err(" IPEIR: 0x%08x\n", I915_READ(IPEIR)); + pr_err(" IPEHR: 0x%08x\n", I915_READ(IPEHR)); + pr_err(" ACTHD: 0x%08x\n", I915_READ(ACTHD)); + I915_WRITE(IPEIR, ipeir); + POSTING_READ(IPEIR); + } else { + u32 ipeir = I915_READ(IPEIR_I965); + + pr_err(" IPEIR: 0x%08x\n", I915_READ(IPEIR_I965)); + pr_err(" IPEHR: 0x%08x\n", I915_READ(IPEHR_I965)); + pr_err(" INSTPS: 0x%08x\n", I915_READ(INSTPS)); + pr_err(" ACTHD: 0x%08x\n", I915_READ(ACTHD_I965)); + I915_WRITE(IPEIR_I965, ipeir); + POSTING_READ(IPEIR_I965); + } + } + + I915_WRITE(EIR, eir); + POSTING_READ(EIR); + eir = I915_READ(EIR); + if (eir) { + /* + * some errors might have become stuck, + * mask them. + */ + DRM_ERROR("EIR stuck: 0x%08x, masking\n", eir); + I915_WRITE(EMR, I915_READ(EMR) | eir); + I915_WRITE(IIR, I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); + } +} + +/** + * i915_handle_error - handle an error interrupt + * @dev: drm device + * + * Do some basic checking of regsiter state at error interrupt time and + * dump it to the syslog. Also call i915_capture_error_state() to make + * sure we get a record and make it available in debugfs. Fire a uevent + * so userspace knows something bad happened (should trigger collection + * of a ring dump etc.). + */ +void i915_handle_error(struct drm_device *dev, bool wedged) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int i; + + i915_capture_error_state(dev); + i915_report_and_clear_eir(dev); + + if (wedged) { + INIT_COMPLETION(dev_priv->error_completion); + atomic_set(&dev_priv->mm.wedged, 1); + + /* + * Wakeup waiting processes so they don't hang + */ + for_each_ring(ring, dev_priv, i) + wake_up_all(&ring->irq_queue); + } + + queue_work(dev_priv->wq, &dev_priv->error_work); +} + +static void i915_pageflip_stall_check(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe]; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct drm_i915_gem_object *obj; + struct intel_unpin_work *work; + unsigned long flags; + bool stall_detected; + + /* Ignore early vblank irqs */ + if (intel_crtc == NULL) + return; + + spin_lock_irqsave(&dev->event_lock, flags); + work = intel_crtc->unpin_work; + + if (work == NULL || work->pending || !work->enable_stall_check) { + /* Either the pending flip IRQ arrived, or we're too early. Don't check */ + spin_unlock_irqrestore(&dev->event_lock, flags); + return; + } + + /* Potential stall - if we see that the flip has happened, assume a missed interrupt */ + obj = work->pending_flip_obj; + if (INTEL_INFO(dev)->gen >= 4) { + int dspsurf = DSPSURF(intel_crtc->plane); + stall_detected = I915_HI_DISPBASE(I915_READ(dspsurf)) == + obj->gtt_offset; + } else { + int dspaddr = DSPADDR(intel_crtc->plane); + stall_detected = I915_READ(dspaddr) == (obj->gtt_offset + + crtc->y * crtc->fb->pitches[0] + + crtc->x * crtc->fb->bits_per_pixel/8); + } + + spin_unlock_irqrestore(&dev->event_lock, flags); + + if (stall_detected) { + DRM_DEBUG_DRIVER("Pageflip stall detected\n"); + intel_prepare_page_flip(dev, intel_crtc->plane); + } +} + +/* Called from drm generic code, passed 'crtc' which + * we use as a pipe index + */ +static int i915_enable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + + if (!i915_pipe_enabled(dev, pipe)) + return -EINVAL; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + if (INTEL_INFO(dev)->gen >= 4) + i915_enable_pipestat(dev_priv, pipe, + PIPE_START_VBLANK_INTERRUPT_ENABLE); + else + i915_enable_pipestat(dev_priv, pipe, + PIPE_VBLANK_INTERRUPT_ENABLE); + + /* maintain vblank delivery even in deep C-states */ + if (dev_priv->info->gen == 3) + I915_WRITE(INSTPM, _MASKED_BIT_DISABLE(INSTPM_AGPBUSY_DIS)); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + return 0; +} + +static int ironlake_enable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + + if (!i915_pipe_enabled(dev, pipe)) + return -EINVAL; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + ironlake_enable_display_irq(dev_priv, (pipe == 0) ? + DE_PIPEA_VBLANK : DE_PIPEB_VBLANK); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + return 0; +} + +static int ivybridge_enable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + + if (!i915_pipe_enabled(dev, pipe)) + return -EINVAL; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + ironlake_enable_display_irq(dev_priv, + DE_PIPEA_VBLANK_IVB << (5 * pipe)); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + return 0; +} + +static int valleyview_enable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + u32 imr; + + if (!i915_pipe_enabled(dev, pipe)) + return -EINVAL; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + imr = I915_READ(VLV_IMR); + if (pipe == 0) + imr &= ~I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT; + else + imr &= ~I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT; + I915_WRITE(VLV_IMR, imr); + i915_enable_pipestat(dev_priv, pipe, + PIPE_START_VBLANK_INTERRUPT_ENABLE); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + return 0; +} + +/* Called from drm generic code, passed 'crtc' which + * we use as a pipe index + */ +static void i915_disable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + if (dev_priv->info->gen == 3) + I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_AGPBUSY_DIS)); + + i915_disable_pipestat(dev_priv, pipe, + PIPE_VBLANK_INTERRUPT_ENABLE | + PIPE_START_VBLANK_INTERRUPT_ENABLE); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); +} + +static void ironlake_disable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + ironlake_disable_display_irq(dev_priv, (pipe == 0) ? + DE_PIPEA_VBLANK : DE_PIPEB_VBLANK); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); +} + +static void ivybridge_disable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + ironlake_disable_display_irq(dev_priv, + DE_PIPEA_VBLANK_IVB << (pipe * 5)); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); +} + +static void valleyview_disable_vblank(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + unsigned long irqflags; + u32 imr; + + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + i915_disable_pipestat(dev_priv, pipe, + PIPE_START_VBLANK_INTERRUPT_ENABLE); + imr = I915_READ(VLV_IMR); + if (pipe == 0) + imr |= I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT; + else + imr |= I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT; + I915_WRITE(VLV_IMR, imr); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); +} + +static u32 +ring_last_seqno(struct intel_ring_buffer *ring) +{ + return list_entry(ring->request_list.prev, + struct drm_i915_gem_request, list)->seqno; +} + +static bool i915_hangcheck_ring_idle(struct intel_ring_buffer *ring, bool *err) +{ + if (list_empty(&ring->request_list) || + i915_seqno_passed(ring->get_seqno(ring, false), + ring_last_seqno(ring))) { + /* Issue a wake-up to catch stuck h/w. */ + if (waitqueue_active(&ring->irq_queue)) { + DRM_ERROR("Hangcheck timer elapsed... %s idle\n", + ring->name); + wake_up_all(&ring->irq_queue); + *err = true; + } + return true; + } + return false; +} + +static bool kick_ring(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 tmp = I915_READ_CTL(ring); + if (tmp & RING_WAIT) { + DRM_ERROR("Kicking stuck wait on %s\n", + ring->name); + I915_WRITE_CTL(ring, tmp); + return true; + } + return false; +} + +static bool i915_hangcheck_hung(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + + if (dev_priv->hangcheck_count++ > 1) { + bool hung = true; + + DRM_ERROR("Hangcheck timer elapsed... GPU hung\n"); + i915_handle_error(dev, true); + + if (!IS_GEN2(dev)) { + struct intel_ring_buffer *ring; + int i; + + /* Is the chip hanging on a WAIT_FOR_EVENT? + * If so we can simply poke the RB_WAIT bit + * and break the hang. This should work on + * all but the second generation chipsets. + */ + for_each_ring(ring, dev_priv, i) + hung &= !kick_ring(ring); + } + + return hung; + } + + return false; +} + +/** + * This is called when the chip hasn't reported back with completed + * batchbuffers in a long time. The first time this is called we simply record + * ACTHD. If ACTHD hasn't changed by the time the hangcheck timer elapses + * again, we assume the chip is wedged and try to fix it. + */ +void i915_hangcheck_elapsed(unsigned long data) +{ + struct drm_device *dev = (struct drm_device *)data; + drm_i915_private_t *dev_priv = dev->dev_private; + uint32_t acthd[I915_NUM_RINGS], instdone[I915_NUM_INSTDONE_REG]; + struct intel_ring_buffer *ring; + bool err = false, idle; + int i; + + if (!i915_enable_hangcheck) + return; + + memset(acthd, 0, sizeof(acthd)); + idle = true; + for_each_ring(ring, dev_priv, i) { + idle &= i915_hangcheck_ring_idle(ring, &err); + acthd[i] = intel_ring_get_active_head(ring); + } + + /* If all work is done then ACTHD clearly hasn't advanced. */ + if (idle) { + if (err) { + if (i915_hangcheck_hung(dev)) + return; + + goto repeat; + } + + dev_priv->hangcheck_count = 0; + return; + } + + i915_get_extra_instdone(dev, instdone); + if (memcmp(dev_priv->last_acthd, acthd, sizeof(acthd)) == 0 && + memcmp(dev_priv->prev_instdone, instdone, sizeof(instdone)) == 0) { + if (i915_hangcheck_hung(dev)) + return; + } else { + dev_priv->hangcheck_count = 0; + + memcpy(dev_priv->last_acthd, acthd, sizeof(acthd)); + memcpy(dev_priv->prev_instdone, instdone, sizeof(instdone)); + } + +repeat: + /* Reset timer case chip hangs without another request being added */ + mod_timer(&dev_priv->hangcheck_timer, + round_jiffies_up(jiffies + DRM_I915_HANGCHECK_JIFFIES)); +} + +/* drm_dma.h hooks +*/ +static void ironlake_irq_preinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + + atomic_set(&dev_priv->irq_received, 0); + + I915_WRITE(HWSTAM, 0xeffe); + + /* XXX hotplug from PCH */ + + I915_WRITE(DEIMR, 0xffffffff); + I915_WRITE(DEIER, 0x0); + POSTING_READ(DEIER); + + /* and GT */ + I915_WRITE(GTIMR, 0xffffffff); + I915_WRITE(GTIER, 0x0); + POSTING_READ(GTIER); + + /* south display irq */ + I915_WRITE(SDEIMR, 0xffffffff); + I915_WRITE(SDEIER, 0x0); + POSTING_READ(SDEIER); +} + +static void valleyview_irq_preinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + atomic_set(&dev_priv->irq_received, 0); + + /* VLV magic */ + I915_WRITE(VLV_IMR, 0); + I915_WRITE(RING_IMR(RENDER_RING_BASE), 0); + I915_WRITE(RING_IMR(GEN6_BSD_RING_BASE), 0); + I915_WRITE(RING_IMR(BLT_RING_BASE), 0); + + /* and GT */ + I915_WRITE(GTIIR, I915_READ(GTIIR)); + I915_WRITE(GTIIR, I915_READ(GTIIR)); + I915_WRITE(GTIMR, 0xffffffff); + I915_WRITE(GTIER, 0x0); + POSTING_READ(GTIER); + + I915_WRITE(DPINVGTT, 0xff); + + I915_WRITE(PORT_HOTPLUG_EN, 0); + I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT)); + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), 0xffff); + I915_WRITE(VLV_IIR, 0xffffffff); + I915_WRITE(VLV_IMR, 0xffffffff); + I915_WRITE(VLV_IER, 0x0); + POSTING_READ(VLV_IER); +} + +/* + * Enable digital hotplug on the PCH, and configure the DP short pulse + * duration to 2ms (which is the minimum in the Display Port spec) + * + * This register is the same on all known PCH chips. + */ + +static void ironlake_enable_pch_hotplug(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 hotplug; + + hotplug = I915_READ(PCH_PORT_HOTPLUG); + hotplug &= ~(PORTD_PULSE_DURATION_MASK|PORTC_PULSE_DURATION_MASK|PORTB_PULSE_DURATION_MASK); + hotplug |= PORTD_HOTPLUG_ENABLE | PORTD_PULSE_DURATION_2ms; + hotplug |= PORTC_HOTPLUG_ENABLE | PORTC_PULSE_DURATION_2ms; + hotplug |= PORTB_HOTPLUG_ENABLE | PORTB_PULSE_DURATION_2ms; + I915_WRITE(PCH_PORT_HOTPLUG, hotplug); +} + +static int ironlake_irq_postinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + /* enable kind of interrupts always enabled */ + u32 display_mask = DE_MASTER_IRQ_CONTROL | DE_GSE | DE_PCH_EVENT | + DE_PLANEA_FLIP_DONE | DE_PLANEB_FLIP_DONE; + u32 render_irqs; + u32 hotplug_mask; + + dev_priv->irq_mask = ~display_mask; + + /* should always can generate irq */ + I915_WRITE(DEIIR, I915_READ(DEIIR)); + I915_WRITE(DEIMR, dev_priv->irq_mask); + I915_WRITE(DEIER, display_mask | DE_PIPEA_VBLANK | DE_PIPEB_VBLANK); + POSTING_READ(DEIER); + + dev_priv->gt_irq_mask = ~0; + + I915_WRITE(GTIIR, I915_READ(GTIIR)); + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + + if (IS_GEN6(dev)) + render_irqs = + GT_USER_INTERRUPT | + GEN6_BSD_USER_INTERRUPT | + GEN6_BLITTER_USER_INTERRUPT; + else + render_irqs = + GT_USER_INTERRUPT | + GT_PIPE_NOTIFY | + GT_BSD_USER_INTERRUPT; + I915_WRITE(GTIER, render_irqs); + POSTING_READ(GTIER); + + if (HAS_PCH_CPT(dev)) { + hotplug_mask = (SDE_CRT_HOTPLUG_CPT | + SDE_PORTB_HOTPLUG_CPT | + SDE_PORTC_HOTPLUG_CPT | + SDE_PORTD_HOTPLUG_CPT); + } else { + hotplug_mask = (SDE_CRT_HOTPLUG | + SDE_PORTB_HOTPLUG | + SDE_PORTC_HOTPLUG | + SDE_PORTD_HOTPLUG | + SDE_AUX_MASK); + } + + dev_priv->pch_irq_mask = ~hotplug_mask; + + I915_WRITE(SDEIIR, I915_READ(SDEIIR)); + I915_WRITE(SDEIMR, dev_priv->pch_irq_mask); + I915_WRITE(SDEIER, hotplug_mask); + POSTING_READ(SDEIER); + + ironlake_enable_pch_hotplug(dev); + + if (IS_IRONLAKE_M(dev)) { + /* Clear & enable PCU event interrupts */ + I915_WRITE(DEIIR, DE_PCU_EVENT); + I915_WRITE(DEIER, I915_READ(DEIER) | DE_PCU_EVENT); + ironlake_enable_display_irq(dev_priv, DE_PCU_EVENT); + } + + return 0; +} + +static int ivybridge_irq_postinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + /* enable kind of interrupts always enabled */ + u32 display_mask = + DE_MASTER_IRQ_CONTROL | DE_GSE_IVB | DE_PCH_EVENT_IVB | + DE_PLANEC_FLIP_DONE_IVB | + DE_PLANEB_FLIP_DONE_IVB | + DE_PLANEA_FLIP_DONE_IVB; + u32 render_irqs; + u32 hotplug_mask; + + dev_priv->irq_mask = ~display_mask; + + /* should always can generate irq */ + I915_WRITE(DEIIR, I915_READ(DEIIR)); + I915_WRITE(DEIMR, dev_priv->irq_mask); + I915_WRITE(DEIER, + display_mask | + DE_PIPEC_VBLANK_IVB | + DE_PIPEB_VBLANK_IVB | + DE_PIPEA_VBLANK_IVB); + POSTING_READ(DEIER); + + dev_priv->gt_irq_mask = ~GT_GEN7_L3_PARITY_ERROR_INTERRUPT; + + I915_WRITE(GTIIR, I915_READ(GTIIR)); + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + + render_irqs = GT_USER_INTERRUPT | GEN6_BSD_USER_INTERRUPT | + GEN6_BLITTER_USER_INTERRUPT | GT_GEN7_L3_PARITY_ERROR_INTERRUPT; + I915_WRITE(GTIER, render_irqs); + POSTING_READ(GTIER); + + hotplug_mask = (SDE_CRT_HOTPLUG_CPT | + SDE_PORTB_HOTPLUG_CPT | + SDE_PORTC_HOTPLUG_CPT | + SDE_PORTD_HOTPLUG_CPT); + dev_priv->pch_irq_mask = ~hotplug_mask; + + I915_WRITE(SDEIIR, I915_READ(SDEIIR)); + I915_WRITE(SDEIMR, dev_priv->pch_irq_mask); + I915_WRITE(SDEIER, hotplug_mask); + POSTING_READ(SDEIER); + + ironlake_enable_pch_hotplug(dev); + + return 0; +} + +static int valleyview_irq_postinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 enable_mask; + u32 hotplug_en = I915_READ(PORT_HOTPLUG_EN); + u32 pipestat_enable = PLANE_FLIP_DONE_INT_EN_VLV; + u32 render_irqs; + u16 msid; + + enable_mask = I915_DISPLAY_PORT_INTERRUPT; + enable_mask |= I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT; + + /* + *Leave vblank interrupts masked initially. enable/disable will + * toggle them based on usage. + */ + dev_priv->irq_mask = (~enable_mask) | + I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT | + I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT; + + dev_priv->pipestat[0] = 0; + dev_priv->pipestat[1] = 0; + + /* Hack for broken MSIs on VLV */ + pci_write_config_dword(dev_priv->dev->pdev, 0x94, 0xfee00000); + pci_read_config_word(dev->pdev, 0x98, &msid); + msid &= 0xff; /* mask out delivery bits */ + msid |= (1<<14); + pci_write_config_word(dev_priv->dev->pdev, 0x98, msid); + + I915_WRITE(VLV_IMR, dev_priv->irq_mask); + I915_WRITE(VLV_IER, enable_mask); + I915_WRITE(VLV_IIR, 0xffffffff); + I915_WRITE(PIPESTAT(0), 0xffff); + I915_WRITE(PIPESTAT(1), 0xffff); + POSTING_READ(VLV_IER); + + i915_enable_pipestat(dev_priv, 0, pipestat_enable); + i915_enable_pipestat(dev_priv, 1, pipestat_enable); + + I915_WRITE(VLV_IIR, 0xffffffff); + I915_WRITE(VLV_IIR, 0xffffffff); + + I915_WRITE(GTIIR, I915_READ(GTIIR)); + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + + render_irqs = GT_USER_INTERRUPT | GEN6_BSD_USER_INTERRUPT | + GEN6_BLITTER_USER_INTERRUPT; + I915_WRITE(GTIER, render_irqs); + POSTING_READ(GTIER); + + /* ack & enable invalid PTE error interrupts */ +#if 0 /* FIXME: add support to irq handler for checking these bits */ + I915_WRITE(DPINVGTT, DPINVGTT_STATUS_MASK); + I915_WRITE(DPINVGTT, DPINVGTT_EN_MASK); +#endif + + I915_WRITE(VLV_MASTER_IER, MASTER_INTERRUPT_ENABLE); + /* Note HDMI and DP share bits */ + if (dev_priv->hotplug_supported_mask & HDMIB_HOTPLUG_INT_STATUS) + hotplug_en |= HDMIB_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & HDMIC_HOTPLUG_INT_STATUS) + hotplug_en |= HDMIC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & HDMID_HOTPLUG_INT_STATUS) + hotplug_en |= HDMID_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & SDVOC_HOTPLUG_INT_STATUS_I915) + hotplug_en |= SDVOC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS_I915) + hotplug_en |= SDVOB_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) { + hotplug_en |= CRT_HOTPLUG_INT_EN; + hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50; + } + + I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); + + return 0; +} + +static void valleyview_irq_uninstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + if (!dev_priv) + return; + + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), 0xffff); + + I915_WRITE(HWSTAM, 0xffffffff); + I915_WRITE(PORT_HOTPLUG_EN, 0); + I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT)); + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), 0xffff); + I915_WRITE(VLV_IIR, 0xffffffff); + I915_WRITE(VLV_IMR, 0xffffffff); + I915_WRITE(VLV_IER, 0x0); + POSTING_READ(VLV_IER); +} + +static void ironlake_irq_uninstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + + if (!dev_priv) + return; + + I915_WRITE(HWSTAM, 0xffffffff); + + I915_WRITE(DEIMR, 0xffffffff); + I915_WRITE(DEIER, 0x0); + I915_WRITE(DEIIR, I915_READ(DEIIR)); + + I915_WRITE(GTIMR, 0xffffffff); + I915_WRITE(GTIER, 0x0); + I915_WRITE(GTIIR, I915_READ(GTIIR)); + + I915_WRITE(SDEIMR, 0xffffffff); + I915_WRITE(SDEIER, 0x0); + I915_WRITE(SDEIIR, I915_READ(SDEIIR)); +} + +static void i8xx_irq_preinstall(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + atomic_set(&dev_priv->irq_received, 0); + + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), 0); + I915_WRITE16(IMR, 0xffff); + I915_WRITE16(IER, 0x0); + POSTING_READ16(IER); +} + +static int i8xx_irq_postinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + + dev_priv->pipestat[0] = 0; + dev_priv->pipestat[1] = 0; + + I915_WRITE16(EMR, + ~(I915_ERROR_PAGE_TABLE | I915_ERROR_MEMORY_REFRESH)); + + /* Unmask the interrupts that we always want on. */ + dev_priv->irq_mask = + ~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | + I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT | + I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); + I915_WRITE16(IMR, dev_priv->irq_mask); + + I915_WRITE16(IER, + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT | + I915_USER_INTERRUPT); + POSTING_READ16(IER); + + return 0; +} + +static irqreturn_t i8xx_irq_handler(int irq, void *arg) +{ + struct drm_device *dev = (struct drm_device *) arg; + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u16 iir, new_iir; + u32 pipe_stats[2]; + unsigned long irqflags; + int irq_received; + int pipe; + u16 flip_mask = + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | + I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT; + + atomic_inc(&dev_priv->irq_received); + + iir = I915_READ16(IIR); + if (iir == 0) + return IRQ_NONE; + + while (iir & ~flip_mask) { + /* Can't rely on pipestat interrupt bit in iir as it might + * have been cleared after the pipestat interrupt was received. + * It doesn't set the bit in iir again, but it still produces + * interrupts (for non-MSI). + */ + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + if (iir & I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT) + i915_handle_error(dev, false); + + for_each_pipe(pipe) { + int reg = PIPESTAT(pipe); + pipe_stats[pipe] = I915_READ(reg); + + /* + * Clear the PIPE*STAT regs before the IIR + */ + if (pipe_stats[pipe] & 0x8000ffff) { + if (pipe_stats[pipe] & PIPE_FIFO_UNDERRUN_STATUS) + DRM_DEBUG_DRIVER("pipe %c underrun\n", + pipe_name(pipe)); + I915_WRITE(reg, pipe_stats[pipe]); + irq_received = 1; + } + } + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + I915_WRITE16(IIR, iir & ~flip_mask); + new_iir = I915_READ16(IIR); /* Flush posted writes */ + + i915_update_dri1_breadcrumb(dev); + + if (iir & I915_USER_INTERRUPT) + notify_ring(dev, &dev_priv->ring[RCS]); + + if (pipe_stats[0] & PIPE_VBLANK_INTERRUPT_STATUS && + drm_handle_vblank(dev, 0)) { + if (iir & I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT) { + intel_prepare_page_flip(dev, 0); + intel_finish_page_flip(dev, 0); + flip_mask &= ~I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT; + } + } + + if (pipe_stats[1] & PIPE_VBLANK_INTERRUPT_STATUS && + drm_handle_vblank(dev, 1)) { + if (iir & I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT) { + intel_prepare_page_flip(dev, 1); + intel_finish_page_flip(dev, 1); + flip_mask &= ~I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT; + } + } + + iir = new_iir; + } + + return IRQ_HANDLED; +} + +static void i8xx_irq_uninstall(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + for_each_pipe(pipe) { + /* Clear enable bits; then clear status bits */ + I915_WRITE(PIPESTAT(pipe), 0); + I915_WRITE(PIPESTAT(pipe), I915_READ(PIPESTAT(pipe))); + } + I915_WRITE16(IMR, 0xffff); + I915_WRITE16(IER, 0x0); + I915_WRITE16(IIR, I915_READ16(IIR)); +} + +static void i915_irq_preinstall(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + atomic_set(&dev_priv->irq_received, 0); + + if (I915_HAS_HOTPLUG(dev)) { + I915_WRITE(PORT_HOTPLUG_EN, 0); + I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT)); + } + + I915_WRITE16(HWSTAM, 0xeffe); + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), 0); + I915_WRITE(IMR, 0xffffffff); + I915_WRITE(IER, 0x0); + POSTING_READ(IER); +} + +static int i915_irq_postinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 enable_mask; + + dev_priv->pipestat[0] = 0; + dev_priv->pipestat[1] = 0; + + I915_WRITE(EMR, ~(I915_ERROR_PAGE_TABLE | I915_ERROR_MEMORY_REFRESH)); + + /* Unmask the interrupts that we always want on. */ + dev_priv->irq_mask = + ~(I915_ASLE_INTERRUPT | + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | + I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT | + I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); + + enable_mask = + I915_ASLE_INTERRUPT | + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT | + I915_USER_INTERRUPT; + + if (I915_HAS_HOTPLUG(dev)) { + /* Enable in IER... */ + enable_mask |= I915_DISPLAY_PORT_INTERRUPT; + /* and unmask in IMR */ + dev_priv->irq_mask &= ~I915_DISPLAY_PORT_INTERRUPT; + } + + I915_WRITE(IMR, dev_priv->irq_mask); + I915_WRITE(IER, enable_mask); + POSTING_READ(IER); + + if (I915_HAS_HOTPLUG(dev)) { + u32 hotplug_en = I915_READ(PORT_HOTPLUG_EN); + + if (dev_priv->hotplug_supported_mask & HDMIB_HOTPLUG_INT_STATUS) + hotplug_en |= HDMIB_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & HDMIC_HOTPLUG_INT_STATUS) + hotplug_en |= HDMIC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & HDMID_HOTPLUG_INT_STATUS) + hotplug_en |= HDMID_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & SDVOC_HOTPLUG_INT_STATUS_I915) + hotplug_en |= SDVOC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS_I915) + hotplug_en |= SDVOB_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) { + hotplug_en |= CRT_HOTPLUG_INT_EN; + hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50; + } + + /* Ignore TV since it's buggy */ + + I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); + } + + intel_opregion_enable_asle(dev); + + return 0; +} + +static irqreturn_t i915_irq_handler(int irq, void *arg) +{ + struct drm_device *dev = (struct drm_device *) arg; + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 iir, new_iir, pipe_stats[I915_MAX_PIPES]; + unsigned long irqflags; + u32 flip_mask = + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | + I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT; + u32 flip[2] = { + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT, + I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT + }; + int pipe, ret = IRQ_NONE; + + atomic_inc(&dev_priv->irq_received); + + iir = I915_READ(IIR); + do { + bool irq_received = (iir & ~flip_mask) != 0; + bool blc_event = false; + + /* Can't rely on pipestat interrupt bit in iir as it might + * have been cleared after the pipestat interrupt was received. + * It doesn't set the bit in iir again, but it still produces + * interrupts (for non-MSI). + */ + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + if (iir & I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT) + i915_handle_error(dev, false); + + for_each_pipe(pipe) { + int reg = PIPESTAT(pipe); + pipe_stats[pipe] = I915_READ(reg); + + /* Clear the PIPE*STAT regs before the IIR */ + if (pipe_stats[pipe] & 0x8000ffff) { + if (pipe_stats[pipe] & PIPE_FIFO_UNDERRUN_STATUS) + DRM_DEBUG_DRIVER("pipe %c underrun\n", + pipe_name(pipe)); + I915_WRITE(reg, pipe_stats[pipe]); + irq_received = true; + } + } + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + if (!irq_received) + break; + + /* Consume port. Then clear IIR or we'll miss events */ + if ((I915_HAS_HOTPLUG(dev)) && + (iir & I915_DISPLAY_PORT_INTERRUPT)) { + u32 hotplug_status = I915_READ(PORT_HOTPLUG_STAT); + + DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x\n", + hotplug_status); + if (hotplug_status & dev_priv->hotplug_supported_mask) + queue_work(dev_priv->wq, + &dev_priv->hotplug_work); + + I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); + POSTING_READ(PORT_HOTPLUG_STAT); + } + + I915_WRITE(IIR, iir & ~flip_mask); + new_iir = I915_READ(IIR); /* Flush posted writes */ + + if (iir & I915_USER_INTERRUPT) + notify_ring(dev, &dev_priv->ring[RCS]); + + for_each_pipe(pipe) { + int plane = pipe; + if (IS_MOBILE(dev)) + plane = !plane; + if (pipe_stats[pipe] & PIPE_VBLANK_INTERRUPT_STATUS && + drm_handle_vblank(dev, pipe)) { + if (iir & flip[plane]) { + intel_prepare_page_flip(dev, plane); + intel_finish_page_flip(dev, pipe); + flip_mask &= ~flip[plane]; + } + } + + if (pipe_stats[pipe] & PIPE_LEGACY_BLC_EVENT_STATUS) + blc_event = true; + } + + if (blc_event || (iir & I915_ASLE_INTERRUPT)) + intel_opregion_asle_intr(dev); + + /* With MSI, interrupts are only generated when iir + * transitions from zero to nonzero. If another bit got + * set while we were handling the existing iir bits, then + * we would never get another interrupt. + * + * This is fine on non-MSI as well, as if we hit this path + * we avoid exiting the interrupt handler only to generate + * another one. + * + * Note that for MSI this could cause a stray interrupt report + * if an interrupt landed in the time between writing IIR and + * the posting read. This should be rare enough to never + * trigger the 99% of 100,000 interrupts test for disabling + * stray interrupts. + */ + ret = IRQ_HANDLED; + iir = new_iir; + } while (iir & ~flip_mask); + + i915_update_dri1_breadcrumb(dev); + + return ret; +} + +static void i915_irq_uninstall(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + if (I915_HAS_HOTPLUG(dev)) { + I915_WRITE(PORT_HOTPLUG_EN, 0); + I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT)); + } + + I915_WRITE16(HWSTAM, 0xffff); + for_each_pipe(pipe) { + /* Clear enable bits; then clear status bits */ + I915_WRITE(PIPESTAT(pipe), 0); + I915_WRITE(PIPESTAT(pipe), I915_READ(PIPESTAT(pipe))); + } + I915_WRITE(IMR, 0xffffffff); + I915_WRITE(IER, 0x0); + + I915_WRITE(IIR, I915_READ(IIR)); +} + +static void i965_irq_preinstall(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + atomic_set(&dev_priv->irq_received, 0); + + I915_WRITE(PORT_HOTPLUG_EN, 0); + I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT)); + + I915_WRITE(HWSTAM, 0xeffe); + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), 0); + I915_WRITE(IMR, 0xffffffff); + I915_WRITE(IER, 0x0); + POSTING_READ(IER); +} + +static int i965_irq_postinstall(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 hotplug_en; + u32 enable_mask; + u32 error_mask; + + /* Unmask the interrupts that we always want on. */ + dev_priv->irq_mask = ~(I915_ASLE_INTERRUPT | + I915_DISPLAY_PORT_INTERRUPT | + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | + I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT | + I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); + + enable_mask = ~dev_priv->irq_mask; + enable_mask |= I915_USER_INTERRUPT; + + if (IS_G4X(dev)) + enable_mask |= I915_BSD_USER_INTERRUPT; + + dev_priv->pipestat[0] = 0; + dev_priv->pipestat[1] = 0; + + /* + * Enable some error detection, note the instruction error mask + * bit is reserved, so we leave it masked. + */ + if (IS_G4X(dev)) { + error_mask = ~(GM45_ERROR_PAGE_TABLE | + GM45_ERROR_MEM_PRIV | + GM45_ERROR_CP_PRIV | + I915_ERROR_MEMORY_REFRESH); + } else { + error_mask = ~(I915_ERROR_PAGE_TABLE | + I915_ERROR_MEMORY_REFRESH); + } + I915_WRITE(EMR, error_mask); + + I915_WRITE(IMR, dev_priv->irq_mask); + I915_WRITE(IER, enable_mask); + POSTING_READ(IER); + + /* Note HDMI and DP share hotplug bits */ + hotplug_en = 0; + if (dev_priv->hotplug_supported_mask & HDMIB_HOTPLUG_INT_STATUS) + hotplug_en |= HDMIB_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & HDMIC_HOTPLUG_INT_STATUS) + hotplug_en |= HDMIC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & HDMID_HOTPLUG_INT_STATUS) + hotplug_en |= HDMID_HOTPLUG_INT_EN; + if (IS_G4X(dev)) { + if (dev_priv->hotplug_supported_mask & SDVOC_HOTPLUG_INT_STATUS_G4X) + hotplug_en |= SDVOC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS_G4X) + hotplug_en |= SDVOB_HOTPLUG_INT_EN; + } else { + if (dev_priv->hotplug_supported_mask & SDVOC_HOTPLUG_INT_STATUS_I965) + hotplug_en |= SDVOC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS_I965) + hotplug_en |= SDVOB_HOTPLUG_INT_EN; + } + if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) { + hotplug_en |= CRT_HOTPLUG_INT_EN; + + /* Programming the CRT detection parameters tends + to generate a spurious hotplug event about three + seconds later. So just do it once. + */ + if (IS_G4X(dev)) + hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64; + hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50; + } + + /* Ignore TV since it's buggy */ + + I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); + + intel_opregion_enable_asle(dev); + + return 0; +} + +static irqreturn_t i965_irq_handler(int irq, void *arg) +{ + struct drm_device *dev = (struct drm_device *) arg; + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + u32 iir, new_iir; + u32 pipe_stats[I915_MAX_PIPES]; + unsigned long irqflags; + int irq_received; + int ret = IRQ_NONE, pipe; + + atomic_inc(&dev_priv->irq_received); + + iir = I915_READ(IIR); + + for (;;) { + bool blc_event = false; + + irq_received = iir != 0; + + /* Can't rely on pipestat interrupt bit in iir as it might + * have been cleared after the pipestat interrupt was received. + * It doesn't set the bit in iir again, but it still produces + * interrupts (for non-MSI). + */ + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + if (iir & I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT) + i915_handle_error(dev, false); + + for_each_pipe(pipe) { + int reg = PIPESTAT(pipe); + pipe_stats[pipe] = I915_READ(reg); + + /* + * Clear the PIPE*STAT regs before the IIR + */ + if (pipe_stats[pipe] & 0x8000ffff) { + if (pipe_stats[pipe] & PIPE_FIFO_UNDERRUN_STATUS) + DRM_DEBUG_DRIVER("pipe %c underrun\n", + pipe_name(pipe)); + I915_WRITE(reg, pipe_stats[pipe]); + irq_received = 1; + } + } + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + + if (!irq_received) + break; + + ret = IRQ_HANDLED; + + /* Consume port. Then clear IIR or we'll miss events */ + if (iir & I915_DISPLAY_PORT_INTERRUPT) { + u32 hotplug_status = I915_READ(PORT_HOTPLUG_STAT); + + DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x\n", + hotplug_status); + if (hotplug_status & dev_priv->hotplug_supported_mask) + queue_work(dev_priv->wq, + &dev_priv->hotplug_work); + + I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); + I915_READ(PORT_HOTPLUG_STAT); + } + + I915_WRITE(IIR, iir); + new_iir = I915_READ(IIR); /* Flush posted writes */ + + if (iir & I915_USER_INTERRUPT) + notify_ring(dev, &dev_priv->ring[RCS]); + if (iir & I915_BSD_USER_INTERRUPT) + notify_ring(dev, &dev_priv->ring[VCS]); + + if (iir & I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT) + intel_prepare_page_flip(dev, 0); + + if (iir & I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT) + intel_prepare_page_flip(dev, 1); + + for_each_pipe(pipe) { + if (pipe_stats[pipe] & PIPE_START_VBLANK_INTERRUPT_STATUS && + drm_handle_vblank(dev, pipe)) { + i915_pageflip_stall_check(dev, pipe); + intel_finish_page_flip(dev, pipe); + } + + if (pipe_stats[pipe] & PIPE_LEGACY_BLC_EVENT_STATUS) + blc_event = true; + } + + + if (blc_event || (iir & I915_ASLE_INTERRUPT)) + intel_opregion_asle_intr(dev); + + /* With MSI, interrupts are only generated when iir + * transitions from zero to nonzero. If another bit got + * set while we were handling the existing iir bits, then + * we would never get another interrupt. + * + * This is fine on non-MSI as well, as if we hit this path + * we avoid exiting the interrupt handler only to generate + * another one. + * + * Note that for MSI this could cause a stray interrupt report + * if an interrupt landed in the time between writing IIR and + * the posting read. This should be rare enough to never + * trigger the 99% of 100,000 interrupts test for disabling + * stray interrupts. + */ + iir = new_iir; + } + + i915_update_dri1_breadcrumb(dev); + + return ret; +} + +static void i965_irq_uninstall(struct drm_device * dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int pipe; + + if (!dev_priv) + return; + + I915_WRITE(PORT_HOTPLUG_EN, 0); + I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT)); + + I915_WRITE(HWSTAM, 0xffffffff); + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), 0); + I915_WRITE(IMR, 0xffffffff); + I915_WRITE(IER, 0x0); + + for_each_pipe(pipe) + I915_WRITE(PIPESTAT(pipe), + I915_READ(PIPESTAT(pipe)) & 0x8000ffff); + I915_WRITE(IIR, I915_READ(IIR)); +} + +void intel_irq_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); + INIT_WORK(&dev_priv->error_work, i915_error_work_func); + INIT_WORK(&dev_priv->rps.work, gen6_pm_rps_work); + INIT_WORK(&dev_priv->l3_parity.error_work, ivybridge_parity_work); + + dev->driver->get_vblank_counter = i915_get_vblank_counter; + dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ + if (IS_G4X(dev) || INTEL_INFO(dev)->gen >= 5) { + dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */ + dev->driver->get_vblank_counter = gm45_get_vblank_counter; + } + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + dev->driver->get_vblank_timestamp = i915_get_vblank_timestamp; + else + dev->driver->get_vblank_timestamp = NULL; + dev->driver->get_scanout_position = i915_get_crtc_scanoutpos; + + if (IS_VALLEYVIEW(dev)) { + dev->driver->irq_handler = valleyview_irq_handler; + dev->driver->irq_preinstall = valleyview_irq_preinstall; + dev->driver->irq_postinstall = valleyview_irq_postinstall; + dev->driver->irq_uninstall = valleyview_irq_uninstall; + dev->driver->enable_vblank = valleyview_enable_vblank; + dev->driver->disable_vblank = valleyview_disable_vblank; + } else if (IS_IVYBRIDGE(dev)) { + /* Share pre & uninstall handlers with ILK/SNB */ + dev->driver->irq_handler = ivybridge_irq_handler; + dev->driver->irq_preinstall = ironlake_irq_preinstall; + dev->driver->irq_postinstall = ivybridge_irq_postinstall; + dev->driver->irq_uninstall = ironlake_irq_uninstall; + dev->driver->enable_vblank = ivybridge_enable_vblank; + dev->driver->disable_vblank = ivybridge_disable_vblank; + } else if (IS_HASWELL(dev)) { + /* Share interrupts handling with IVB */ + dev->driver->irq_handler = ivybridge_irq_handler; + dev->driver->irq_preinstall = ironlake_irq_preinstall; + dev->driver->irq_postinstall = ivybridge_irq_postinstall; + dev->driver->irq_uninstall = ironlake_irq_uninstall; + dev->driver->enable_vblank = ivybridge_enable_vblank; + dev->driver->disable_vblank = ivybridge_disable_vblank; + } else if (HAS_PCH_SPLIT(dev)) { + dev->driver->irq_handler = ironlake_irq_handler; + dev->driver->irq_preinstall = ironlake_irq_preinstall; + dev->driver->irq_postinstall = ironlake_irq_postinstall; + dev->driver->irq_uninstall = ironlake_irq_uninstall; + dev->driver->enable_vblank = ironlake_enable_vblank; + dev->driver->disable_vblank = ironlake_disable_vblank; + } else { + if (INTEL_INFO(dev)->gen == 2) { + dev->driver->irq_preinstall = i8xx_irq_preinstall; + dev->driver->irq_postinstall = i8xx_irq_postinstall; + dev->driver->irq_handler = i8xx_irq_handler; + dev->driver->irq_uninstall = i8xx_irq_uninstall; + } else if (INTEL_INFO(dev)->gen == 3) { + dev->driver->irq_preinstall = i915_irq_preinstall; + dev->driver->irq_postinstall = i915_irq_postinstall; + dev->driver->irq_uninstall = i915_irq_uninstall; + dev->driver->irq_handler = i915_irq_handler; + } else { + dev->driver->irq_preinstall = i965_irq_preinstall; + dev->driver->irq_postinstall = i965_irq_postinstall; + dev->driver->irq_uninstall = i965_irq_uninstall; + dev->driver->irq_handler = i965_irq_handler; + } + dev->driver->enable_vblank = i915_enable_vblank; + dev->driver->disable_vblank = i915_disable_vblank; + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_reg.h +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_reg.h @@ -0,0 +1,4656 @@ +/* Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef _I915_REG_H_ +#define _I915_REG_H_ + +#define _PIPE(pipe, a, b) ((a) + (pipe)*((b)-(a))) +#define _TRANSCODER(tran, a, b) ((a) + (tran)*((b)-(a))) + +#define _PORT(port, a, b) ((a) + (port)*((b)-(a))) + +#define _MASKED_BIT_ENABLE(a) (((a) << 16) | (a)) +#define _MASKED_BIT_DISABLE(a) ((a) << 16) + +/* + * The Bridge device's PCI config space has information about the + * fb aperture size and the amount of pre-reserved memory. + * This is all handled in the intel-gtt.ko module. i915.ko only + * cares about the vga bit for the vga rbiter. + */ +#define INTEL_GMCH_CTRL 0x52 +#define INTEL_GMCH_VGA_DISABLE (1 << 1) +#define SNB_GMCH_CTRL 0x50 +#define SNB_GMCH_GGMS_SHIFT 8 /* GTT Graphics Memory Size */ +#define SNB_GMCH_GGMS_MASK 0x3 +#define SNB_GMCH_GMS_SHIFT 3 /* Graphics Mode Select */ +#define SNB_GMCH_GMS_MASK 0x1f +#define IVB_GMCH_GMS_SHIFT 4 +#define IVB_GMCH_GMS_MASK 0xf + + +/* PCI config space */ + +#define HPLLCC 0xc0 /* 855 only */ +#define GC_CLOCK_CONTROL_MASK (0xf << 0) +#define GC_CLOCK_133_200 (0 << 0) +#define GC_CLOCK_100_200 (1 << 0) +#define GC_CLOCK_100_133 (2 << 0) +#define GC_CLOCK_166_250 (3 << 0) +#define GCFGC2 0xda +#define GCFGC 0xf0 /* 915+ only */ +#define GC_LOW_FREQUENCY_ENABLE (1 << 7) +#define GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4) +#define GC_DISPLAY_CLOCK_333_MHZ (4 << 4) +#define GC_DISPLAY_CLOCK_MASK (7 << 4) +#define GM45_GC_RENDER_CLOCK_MASK (0xf << 0) +#define GM45_GC_RENDER_CLOCK_266_MHZ (8 << 0) +#define GM45_GC_RENDER_CLOCK_320_MHZ (9 << 0) +#define GM45_GC_RENDER_CLOCK_400_MHZ (0xb << 0) +#define GM45_GC_RENDER_CLOCK_533_MHZ (0xc << 0) +#define I965_GC_RENDER_CLOCK_MASK (0xf << 0) +#define I965_GC_RENDER_CLOCK_267_MHZ (2 << 0) +#define I965_GC_RENDER_CLOCK_333_MHZ (3 << 0) +#define I965_GC_RENDER_CLOCK_444_MHZ (4 << 0) +#define I965_GC_RENDER_CLOCK_533_MHZ (5 << 0) +#define I945_GC_RENDER_CLOCK_MASK (7 << 0) +#define I945_GC_RENDER_CLOCK_166_MHZ (0 << 0) +#define I945_GC_RENDER_CLOCK_200_MHZ (1 << 0) +#define I945_GC_RENDER_CLOCK_250_MHZ (3 << 0) +#define I945_GC_RENDER_CLOCK_400_MHZ (5 << 0) +#define I915_GC_RENDER_CLOCK_MASK (7 << 0) +#define I915_GC_RENDER_CLOCK_166_MHZ (0 << 0) +#define I915_GC_RENDER_CLOCK_200_MHZ (1 << 0) +#define I915_GC_RENDER_CLOCK_333_MHZ (4 << 0) +#define LBB 0xf4 + +/* Graphics reset regs */ +#define I965_GDRST 0xc0 /* PCI config register */ +#define ILK_GDSR 0x2ca4 /* MCHBAR offset */ +#define GRDOM_FULL (0<<2) +#define GRDOM_RENDER (1<<2) +#define GRDOM_MEDIA (3<<2) +#define GRDOM_RESET_ENABLE (1<<0) + +#define GEN6_MBCUNIT_SNPCR 0x900c /* for LLC config */ +#define GEN6_MBC_SNPCR_SHIFT 21 +#define GEN6_MBC_SNPCR_MASK (3<<21) +#define GEN6_MBC_SNPCR_MAX (0<<21) +#define GEN6_MBC_SNPCR_MED (1<<21) +#define GEN6_MBC_SNPCR_LOW (2<<21) +#define GEN6_MBC_SNPCR_MIN (3<<21) /* only 1/16th of the cache is shared */ + +#define GEN6_MBCTL 0x0907c +#define GEN6_MBCTL_ENABLE_BOOT_FETCH (1 << 4) +#define GEN6_MBCTL_CTX_FETCH_NEEDED (1 << 3) +#define GEN6_MBCTL_BME_UPDATE_ENABLE (1 << 2) +#define GEN6_MBCTL_MAE_UPDATE_ENABLE (1 << 1) +#define GEN6_MBCTL_BOOT_FETCH_MECH (1 << 0) + +#define GEN6_GDRST 0x941c +#define GEN6_GRDOM_FULL (1 << 0) +#define GEN6_GRDOM_RENDER (1 << 1) +#define GEN6_GRDOM_MEDIA (1 << 2) +#define GEN6_GRDOM_BLT (1 << 3) + +#define RING_PP_DIR_BASE(ring) ((ring)->mmio_base+0x228) +#define RING_PP_DIR_BASE_READ(ring) ((ring)->mmio_base+0x518) +#define RING_PP_DIR_DCLV(ring) ((ring)->mmio_base+0x220) +#define PP_DIR_DCLV_2G 0xffffffff + +#define GAM_ECOCHK 0x4090 +#define ECOCHK_SNB_BIT (1<<10) +#define ECOCHK_PPGTT_CACHE64B (0x3<<3) +#define ECOCHK_PPGTT_CACHE4B (0x0<<3) + +#define GAC_ECO_BITS 0x14090 +#define ECOBITS_PPGTT_CACHE64B (3<<8) +#define ECOBITS_PPGTT_CACHE4B (0<<8) + +#define GAB_CTL 0x24000 +#define GAB_CTL_CONT_AFTER_PAGEFAULT (1<<8) + +/* VGA stuff */ + +#define VGA_ST01_MDA 0x3ba +#define VGA_ST01_CGA 0x3da + +#define VGA_MSR_WRITE 0x3c2 +#define VGA_MSR_READ 0x3cc +#define VGA_MSR_MEM_EN (1<<1) +#define VGA_MSR_CGA_MODE (1<<0) + +#define VGA_SR_INDEX 0x3c4 +#define VGA_SR_DATA 0x3c5 + +#define VGA_AR_INDEX 0x3c0 +#define VGA_AR_VID_EN (1<<5) +#define VGA_AR_DATA_WRITE 0x3c0 +#define VGA_AR_DATA_READ 0x3c1 + +#define VGA_GR_INDEX 0x3ce +#define VGA_GR_DATA 0x3cf +/* GR05 */ +#define VGA_GR_MEM_READ_MODE_SHIFT 3 +#define VGA_GR_MEM_READ_MODE_PLANE 1 +/* GR06 */ +#define VGA_GR_MEM_MODE_MASK 0xc +#define VGA_GR_MEM_MODE_SHIFT 2 +#define VGA_GR_MEM_A0000_AFFFF 0 +#define VGA_GR_MEM_A0000_BFFFF 1 +#define VGA_GR_MEM_B0000_B7FFF 2 +#define VGA_GR_MEM_B0000_BFFFF 3 + +#define VGA_DACMASK 0x3c6 +#define VGA_DACRX 0x3c7 +#define VGA_DACWX 0x3c8 +#define VGA_DACDATA 0x3c9 + +#define VGA_CR_INDEX_MDA 0x3b4 +#define VGA_CR_DATA_MDA 0x3b5 +#define VGA_CR_INDEX_CGA 0x3d4 +#define VGA_CR_DATA_CGA 0x3d5 + +/* + * Memory interface instructions used by the kernel + */ +#define MI_INSTR(opcode, flags) (((opcode) << 23) | (flags)) + +#define MI_NOOP MI_INSTR(0, 0) +#define MI_USER_INTERRUPT MI_INSTR(0x02, 0) +#define MI_WAIT_FOR_EVENT MI_INSTR(0x03, 0) +#define MI_WAIT_FOR_OVERLAY_FLIP (1<<16) +#define MI_WAIT_FOR_PLANE_B_FLIP (1<<6) +#define MI_WAIT_FOR_PLANE_A_FLIP (1<<2) +#define MI_WAIT_FOR_PLANE_A_SCANLINES (1<<1) +#define MI_FLUSH MI_INSTR(0x04, 0) +#define MI_READ_FLUSH (1 << 0) +#define MI_EXE_FLUSH (1 << 1) +#define MI_NO_WRITE_FLUSH (1 << 2) +#define MI_SCENE_COUNT (1 << 3) /* just increment scene count */ +#define MI_END_SCENE (1 << 4) /* flush binner and incr scene count */ +#define MI_INVALIDATE_ISP (1 << 5) /* invalidate indirect state pointers */ +#define MI_BATCH_BUFFER_END MI_INSTR(0x0a, 0) +#define MI_SUSPEND_FLUSH MI_INSTR(0x0b, 0) +#define MI_SUSPEND_FLUSH_EN (1<<0) +#define MI_REPORT_HEAD MI_INSTR(0x07, 0) +#define MI_OVERLAY_FLIP MI_INSTR(0x11, 0) +#define MI_OVERLAY_CONTINUE (0x0<<21) +#define MI_OVERLAY_ON (0x1<<21) +#define MI_OVERLAY_OFF (0x2<<21) +#define MI_LOAD_SCAN_LINES_INCL MI_INSTR(0x12, 0) +#define MI_DISPLAY_FLIP MI_INSTR(0x14, 2) +#define MI_DISPLAY_FLIP_I915 MI_INSTR(0x14, 1) +#define MI_DISPLAY_FLIP_PLANE(n) ((n) << 20) +/* IVB has funny definitions for which plane to flip. */ +#define MI_DISPLAY_FLIP_IVB_PLANE_A (0 << 19) +#define MI_DISPLAY_FLIP_IVB_PLANE_B (1 << 19) +#define MI_DISPLAY_FLIP_IVB_SPRITE_A (2 << 19) +#define MI_DISPLAY_FLIP_IVB_SPRITE_B (3 << 19) +#define MI_DISPLAY_FLIP_IVB_PLANE_C (4 << 19) +#define MI_DISPLAY_FLIP_IVB_SPRITE_C (5 << 19) +#define MI_ARB_ON_OFF MI_INSTR(0x08, 0) +#define MI_ARB_ENABLE (1<<0) +#define MI_ARB_DISABLE (0<<0) + +#define MI_SET_CONTEXT MI_INSTR(0x18, 0) +#define MI_MM_SPACE_GTT (1<<8) +#define MI_MM_SPACE_PHYSICAL (0<<8) +#define MI_SAVE_EXT_STATE_EN (1<<3) +#define MI_RESTORE_EXT_STATE_EN (1<<2) +#define MI_FORCE_RESTORE (1<<1) +#define MI_RESTORE_INHIBIT (1<<0) +#define MI_STORE_DWORD_IMM MI_INSTR(0x20, 1) +#define MI_MEM_VIRTUAL (1 << 22) /* 965+ only */ +#define MI_STORE_DWORD_INDEX MI_INSTR(0x21, 1) +#define MI_STORE_DWORD_INDEX_SHIFT 2 +/* Official intel docs are somewhat sloppy concerning MI_LOAD_REGISTER_IMM: + * - Always issue a MI_NOOP _before_ the MI_LOAD_REGISTER_IMM - otherwise hw + * simply ignores the register load under certain conditions. + * - One can actually load arbitrary many arbitrary registers: Simply issue x + * address/value pairs. Don't overdue it, though, x <= 2^4 must hold! + */ +#define MI_LOAD_REGISTER_IMM(x) MI_INSTR(0x22, 2*x-1) +#define MI_FLUSH_DW MI_INSTR(0x26, 1) /* for GEN6 */ +#define MI_FLUSH_DW_STORE_INDEX (1<<21) +#define MI_INVALIDATE_TLB (1<<18) +#define MI_FLUSH_DW_OP_STOREDW (1<<14) +#define MI_INVALIDATE_BSD (1<<7) +#define MI_FLUSH_DW_USE_GTT (1<<2) +#define MI_FLUSH_DW_USE_PPGTT (0<<2) +#define MI_BATCH_BUFFER MI_INSTR(0x30, 1) +#define MI_BATCH_NON_SECURE (1) +/* for snb/ivb/vlv this also means "batch in ppgtt" when ppgtt is enabled. */ +#define MI_BATCH_NON_SECURE_I965 (1<<8) +#define MI_BATCH_PPGTT_HSW (1<<8) +#define MI_BATCH_NON_SECURE_HSW (1<<13) +#define MI_BATCH_BUFFER_START MI_INSTR(0x31, 0) +#define MI_BATCH_GTT (2<<6) /* aliased with (1<<7) on gen4 */ +#define MI_SEMAPHORE_MBOX MI_INSTR(0x16, 1) /* gen6+ */ +#define MI_SEMAPHORE_GLOBAL_GTT (1<<22) +#define MI_SEMAPHORE_UPDATE (1<<21) +#define MI_SEMAPHORE_COMPARE (1<<20) +#define MI_SEMAPHORE_REGISTER (1<<18) +#define MI_SEMAPHORE_SYNC_RV (2<<16) +#define MI_SEMAPHORE_SYNC_RB (0<<16) +#define MI_SEMAPHORE_SYNC_VR (0<<16) +#define MI_SEMAPHORE_SYNC_VB (2<<16) +#define MI_SEMAPHORE_SYNC_BR (2<<16) +#define MI_SEMAPHORE_SYNC_BV (0<<16) +#define MI_SEMAPHORE_SYNC_INVALID (1<<0) +/* + * 3D instructions used by the kernel + */ +#define GFX_INSTR(opcode, flags) ((0x3 << 29) | ((opcode) << 24) | (flags)) + +#define GFX_OP_RASTER_RULES ((0x3<<29)|(0x7<<24)) +#define GFX_OP_SCISSOR ((0x3<<29)|(0x1c<<24)|(0x10<<19)) +#define SC_UPDATE_SCISSOR (0x1<<1) +#define SC_ENABLE_MASK (0x1<<0) +#define SC_ENABLE (0x1<<0) +#define GFX_OP_LOAD_INDIRECT ((0x3<<29)|(0x1d<<24)|(0x7<<16)) +#define GFX_OP_SCISSOR_INFO ((0x3<<29)|(0x1d<<24)|(0x81<<16)|(0x1)) +#define SCI_YMIN_MASK (0xffff<<16) +#define SCI_XMIN_MASK (0xffff<<0) +#define SCI_YMAX_MASK (0xffff<<16) +#define SCI_XMAX_MASK (0xffff<<0) +#define GFX_OP_SCISSOR_ENABLE ((0x3<<29)|(0x1c<<24)|(0x10<<19)) +#define GFX_OP_SCISSOR_RECT ((0x3<<29)|(0x1d<<24)|(0x81<<16)|1) +#define GFX_OP_COLOR_FACTOR ((0x3<<29)|(0x1d<<24)|(0x1<<16)|0x0) +#define GFX_OP_STIPPLE ((0x3<<29)|(0x1d<<24)|(0x83<<16)) +#define GFX_OP_MAP_INFO ((0x3<<29)|(0x1d<<24)|0x4) +#define GFX_OP_DESTBUFFER_VARS ((0x3<<29)|(0x1d<<24)|(0x85<<16)|0x0) +#define GFX_OP_DESTBUFFER_INFO ((0x3<<29)|(0x1d<<24)|(0x8e<<16)|1) +#define GFX_OP_DRAWRECT_INFO ((0x3<<29)|(0x1d<<24)|(0x80<<16)|(0x3)) +#define GFX_OP_DRAWRECT_INFO_I965 ((0x7900<<16)|0x2) +#define SRC_COPY_BLT_CMD ((2<<29)|(0x43<<22)|4) +#define XY_SRC_COPY_BLT_CMD ((2<<29)|(0x53<<22)|6) +#define XY_MONO_SRC_COPY_IMM_BLT ((2<<29)|(0x71<<22)|5) +#define XY_SRC_COPY_BLT_WRITE_ALPHA (1<<21) +#define XY_SRC_COPY_BLT_WRITE_RGB (1<<20) +#define BLT_DEPTH_8 (0<<24) +#define BLT_DEPTH_16_565 (1<<24) +#define BLT_DEPTH_16_1555 (2<<24) +#define BLT_DEPTH_32 (3<<24) +#define BLT_ROP_GXCOPY (0xcc<<16) +#define XY_SRC_COPY_BLT_SRC_TILED (1<<15) /* 965+ only */ +#define XY_SRC_COPY_BLT_DST_TILED (1<<11) /* 965+ only */ +#define CMD_OP_DISPLAYBUFFER_INFO ((0x0<<29)|(0x14<<23)|2) +#define ASYNC_FLIP (1<<22) +#define DISPLAY_PLANE_A (0<<20) +#define DISPLAY_PLANE_B (1<<20) +#define GFX_OP_PIPE_CONTROL(len) ((0x3<<29)|(0x3<<27)|(0x2<<24)|(len-2)) +#define PIPE_CONTROL_CS_STALL (1<<20) +#define PIPE_CONTROL_TLB_INVALIDATE (1<<18) +#define PIPE_CONTROL_QW_WRITE (1<<14) +#define PIPE_CONTROL_DEPTH_STALL (1<<13) +#define PIPE_CONTROL_WRITE_FLUSH (1<<12) +#define PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH (1<<12) /* gen6+ */ +#define PIPE_CONTROL_INSTRUCTION_CACHE_INVALIDATE (1<<11) /* MBZ on Ironlake */ +#define PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE (1<<10) /* GM45+ only */ +#define PIPE_CONTROL_INDIRECT_STATE_DISABLE (1<<9) +#define PIPE_CONTROL_NOTIFY (1<<8) +#define PIPE_CONTROL_VF_CACHE_INVALIDATE (1<<4) +#define PIPE_CONTROL_CONST_CACHE_INVALIDATE (1<<3) +#define PIPE_CONTROL_STATE_CACHE_INVALIDATE (1<<2) +#define PIPE_CONTROL_STALL_AT_SCOREBOARD (1<<1) +#define PIPE_CONTROL_DEPTH_CACHE_FLUSH (1<<0) +#define PIPE_CONTROL_GLOBAL_GTT (1<<2) /* in addr dword */ + + +/* + * Reset registers + */ +#define DEBUG_RESET_I830 0x6070 +#define DEBUG_RESET_FULL (1<<7) +#define DEBUG_RESET_RENDER (1<<8) +#define DEBUG_RESET_DISPLAY (1<<9) + +/* + * DPIO - a special bus for various display related registers to hide behind: + * 0x800c: m1, m2, n, p1, p2, k dividers + * 0x8014: REF and SFR select + * 0x8014: N divider, VCO select + * 0x801c/3c: core clock bits + * 0x8048/68: low pass filter coefficients + * 0x8100: fast clock controls + */ +#define DPIO_PKT 0x2100 +#define DPIO_RID (0<<24) +#define DPIO_OP_WRITE (1<<16) +#define DPIO_OP_READ (0<<16) +#define DPIO_PORTID (0x12<<8) +#define DPIO_BYTE (0xf<<4) +#define DPIO_BUSY (1<<0) /* status only */ +#define DPIO_DATA 0x2104 +#define DPIO_REG 0x2108 +#define DPIO_CTL 0x2110 +#define DPIO_MODSEL1 (1<<3) /* if ref clk b == 27 */ +#define DPIO_MODSEL0 (1<<2) /* if ref clk a == 27 */ +#define DPIO_SFR_BYPASS (1<<1) +#define DPIO_RESET (1<<0) + +#define _DPIO_DIV_A 0x800c +#define DPIO_POST_DIV_SHIFT (28) /* 3 bits */ +#define DPIO_K_SHIFT (24) /* 4 bits */ +#define DPIO_P1_SHIFT (21) /* 3 bits */ +#define DPIO_P2_SHIFT (16) /* 5 bits */ +#define DPIO_N_SHIFT (12) /* 4 bits */ +#define DPIO_ENABLE_CALIBRATION (1<<11) +#define DPIO_M1DIV_SHIFT (8) /* 3 bits */ +#define DPIO_M2DIV_MASK 0xff +#define _DPIO_DIV_B 0x802c +#define DPIO_DIV(pipe) _PIPE(pipe, _DPIO_DIV_A, _DPIO_DIV_B) + +#define _DPIO_REFSFR_A 0x8014 +#define DPIO_REFSEL_OVERRIDE 27 +#define DPIO_PLL_MODESEL_SHIFT 24 /* 3 bits */ +#define DPIO_BIAS_CURRENT_CTL_SHIFT 21 /* 3 bits, always 0x7 */ +#define DPIO_PLL_REFCLK_SEL_SHIFT 16 /* 2 bits */ +#define DPIO_PLL_REFCLK_SEL_MASK 3 +#define DPIO_DRIVER_CTL_SHIFT 12 /* always set to 0x8 */ +#define DPIO_CLK_BIAS_CTL_SHIFT 8 /* always set to 0x5 */ +#define _DPIO_REFSFR_B 0x8034 +#define DPIO_REFSFR(pipe) _PIPE(pipe, _DPIO_REFSFR_A, _DPIO_REFSFR_B) + +#define _DPIO_CORE_CLK_A 0x801c +#define _DPIO_CORE_CLK_B 0x803c +#define DPIO_CORE_CLK(pipe) _PIPE(pipe, _DPIO_CORE_CLK_A, _DPIO_CORE_CLK_B) + +#define _DPIO_LFP_COEFF_A 0x8048 +#define _DPIO_LFP_COEFF_B 0x8068 +#define DPIO_LFP_COEFF(pipe) _PIPE(pipe, _DPIO_LFP_COEFF_A, _DPIO_LFP_COEFF_B) + +#define DPIO_FASTCLK_DISABLE 0x8100 + +#define DPIO_DATA_CHANNEL1 0x8220 +#define DPIO_DATA_CHANNEL2 0x8420 + +/* + * Fence registers + */ +#define FENCE_REG_830_0 0x2000 +#define FENCE_REG_945_8 0x3000 +#define I830_FENCE_START_MASK 0x07f80000 +#define I830_FENCE_TILING_Y_SHIFT 12 +#define I830_FENCE_SIZE_BITS(size) ((ffs((size) >> 19) - 1) << 8) +#define I830_FENCE_PITCH_SHIFT 4 +#define I830_FENCE_REG_VALID (1<<0) +#define I915_FENCE_MAX_PITCH_VAL 4 +#define I830_FENCE_MAX_PITCH_VAL 6 +#define I830_FENCE_MAX_SIZE_VAL (1<<8) + +#define I915_FENCE_START_MASK 0x0ff00000 +#define I915_FENCE_SIZE_BITS(size) ((ffs((size) >> 20) - 1) << 8) + +#define FENCE_REG_965_0 0x03000 +#define I965_FENCE_PITCH_SHIFT 2 +#define I965_FENCE_TILING_Y_SHIFT 1 +#define I965_FENCE_REG_VALID (1<<0) +#define I965_FENCE_MAX_PITCH_VAL 0x0400 + +#define FENCE_REG_SANDYBRIDGE_0 0x100000 +#define SANDYBRIDGE_FENCE_PITCH_SHIFT 32 + +/* control register for cpu gtt access */ +#define TILECTL 0x101000 +#define TILECTL_SWZCTL (1 << 0) +#define TILECTL_TLB_PREFETCH_DIS (1 << 2) +#define TILECTL_BACKSNOOP_DIS (1 << 3) + +/* + * Instruction and interrupt control regs + */ +#define PGTBL_ER 0x02024 +#define RENDER_RING_BASE 0x02000 +#define BSD_RING_BASE 0x04000 +#define GEN6_BSD_RING_BASE 0x12000 +#define BLT_RING_BASE 0x22000 +#define RING_TAIL(base) ((base)+0x30) +#define RING_HEAD(base) ((base)+0x34) +#define RING_START(base) ((base)+0x38) +#define RING_CTL(base) ((base)+0x3c) +#define RING_SYNC_0(base) ((base)+0x40) +#define RING_SYNC_1(base) ((base)+0x44) +#define GEN6_RVSYNC (RING_SYNC_0(RENDER_RING_BASE)) +#define GEN6_RBSYNC (RING_SYNC_1(RENDER_RING_BASE)) +#define GEN6_VRSYNC (RING_SYNC_1(GEN6_BSD_RING_BASE)) +#define GEN6_VBSYNC (RING_SYNC_0(GEN6_BSD_RING_BASE)) +#define GEN6_BRSYNC (RING_SYNC_0(BLT_RING_BASE)) +#define GEN6_BVSYNC (RING_SYNC_1(BLT_RING_BASE)) +#define RING_MAX_IDLE(base) ((base)+0x54) +#define RING_HWS_PGA(base) ((base)+0x80) +#define RING_HWS_PGA_GEN6(base) ((base)+0x2080) +#define ARB_MODE 0x04030 +#define ARB_MODE_SWIZZLE_SNB (1<<4) +#define ARB_MODE_SWIZZLE_IVB (1<<5) +#define RENDER_HWS_PGA_GEN7 (0x04080) +#define RING_FAULT_REG(ring) (0x4094 + 0x100*(ring)->id) +#define DONE_REG 0x40b0 +#define BSD_HWS_PGA_GEN7 (0x04180) +#define BLT_HWS_PGA_GEN7 (0x04280) +#define RING_ACTHD(base) ((base)+0x74) +#define RING_NOPID(base) ((base)+0x94) +#define RING_IMR(base) ((base)+0xa8) +#define RING_TIMESTAMP(base) ((base)+0x358) +#define TAIL_ADDR 0x001FFFF8 +#define HEAD_WRAP_COUNT 0xFFE00000 +#define HEAD_WRAP_ONE 0x00200000 +#define HEAD_ADDR 0x001FFFFC +#define RING_NR_PAGES 0x001FF000 +#define RING_REPORT_MASK 0x00000006 +#define RING_REPORT_64K 0x00000002 +#define RING_REPORT_128K 0x00000004 +#define RING_NO_REPORT 0x00000000 +#define RING_VALID_MASK 0x00000001 +#define RING_VALID 0x00000001 +#define RING_INVALID 0x00000000 +#define RING_WAIT_I8XX (1<<0) /* gen2, PRBx_HEAD */ +#define RING_WAIT (1<<11) /* gen3+, PRBx_CTL */ +#define RING_WAIT_SEMAPHORE (1<<10) /* gen6+ */ +#if 0 +#define PRB0_TAIL 0x02030 +#define PRB0_HEAD 0x02034 +#define PRB0_START 0x02038 +#define PRB0_CTL 0x0203c +#define PRB1_TAIL 0x02040 /* 915+ only */ +#define PRB1_HEAD 0x02044 /* 915+ only */ +#define PRB1_START 0x02048 /* 915+ only */ +#define PRB1_CTL 0x0204c /* 915+ only */ +#endif +#define IPEIR_I965 0x02064 +#define IPEHR_I965 0x02068 +#define INSTDONE_I965 0x0206c +#define GEN7_INSTDONE_1 0x0206c +#define GEN7_SC_INSTDONE 0x07100 +#define GEN7_SAMPLER_INSTDONE 0x0e160 +#define GEN7_ROW_INSTDONE 0x0e164 +#define I915_NUM_INSTDONE_REG 4 +#define RING_IPEIR(base) ((base)+0x64) +#define RING_IPEHR(base) ((base)+0x68) +#define RING_INSTDONE(base) ((base)+0x6c) +#define RING_INSTPS(base) ((base)+0x70) +#define RING_DMA_FADD(base) ((base)+0x78) +#define RING_INSTPM(base) ((base)+0xc0) +#define INSTPS 0x02070 /* 965+ only */ +#define INSTDONE1 0x0207c /* 965+ only */ +#define ACTHD_I965 0x02074 +#define HWS_PGA 0x02080 +#define HWS_ADDRESS_MASK 0xfffff000 +#define HWS_START_ADDRESS_SHIFT 4 +#define PWRCTXA 0x2088 /* 965GM+ only */ +#define PWRCTX_EN (1<<0) +#define IPEIR 0x02088 +#define IPEHR 0x0208c +#define INSTDONE 0x02090 +#define NOPID 0x02094 +#define HWSTAM 0x02098 +#define DMA_FADD_I8XX 0x020d0 + +#define ERROR_GEN6 0x040a0 +#define GEN7_ERR_INT 0x44040 +#define ERR_INT_MMIO_UNCLAIMED (1<<13) + +/* GM45+ chicken bits -- debug workaround bits that may be required + * for various sorts of correct behavior. The top 16 bits of each are + * the enables for writing to the corresponding low bit. + */ +#define _3D_CHICKEN 0x02084 +#define _3D_CHICKEN2 0x0208c +/* Disables pipelining of read flushes past the SF-WIZ interface. + * Required on all Ironlake steppings according to the B-Spec, but the + * particular danger of not doing so is not specified. + */ +# define _3D_CHICKEN2_WM_READ_PIPELINED (1 << 14) +#define _3D_CHICKEN3 0x02090 +#define _3D_CHICKEN_SF_DISABLE_OBJEND_CULL (1 << 10) +#define _3D_CHICKEN_SF_DISABLE_FASTCLIP_CULL (1 << 5) +#define _3D_CHICKEN3_SF_DISABLE_FASTCLIP_CULL (1 << 5) + +#define MI_MODE 0x0209c +# define VS_TIMER_DISPATCH (1 << 6) +# define MI_FLUSH_ENABLE (1 << 12) + +#define GEN6_GT_MODE 0x20d0 +#define GEN6_GT_MODE_HI (1 << 9) + +#define GFX_MODE 0x02520 +#define GFX_MODE_GEN7 0x0229c +#define RING_MODE_GEN7(ring) ((ring)->mmio_base+0x29c) +#define GFX_RUN_LIST_ENABLE (1<<15) +#define GFX_TLB_INVALIDATE_ALWAYS (1<<13) +#define GFX_SURFACE_FAULT_ENABLE (1<<12) +#define GFX_REPLAY_MODE (1<<11) +#define GFX_PSMI_GRANULARITY (1<<10) +#define GFX_PPGTT_ENABLE (1<<9) + +#define VLV_DISPLAY_BASE 0x180000 + +#define SCPD0 0x0209c /* 915+ only */ +#define IER 0x020a0 +#define IIR 0x020a4 +#define IMR 0x020a8 +#define ISR 0x020ac +#define VLV_GUNIT_CLOCK_GATE 0x182060 +#define GCFG_DIS (1<<8) +#define VLV_IIR_RW 0x182084 +#define VLV_IER 0x1820a0 +#define VLV_IIR 0x1820a4 +#define VLV_IMR 0x1820a8 +#define VLV_ISR 0x1820ac +#define I915_PIPE_CONTROL_NOTIFY_INTERRUPT (1<<18) +#define I915_DISPLAY_PORT_INTERRUPT (1<<17) +#define I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT (1<<15) +#define I915_GMCH_THERMAL_SENSOR_EVENT_INTERRUPT (1<<14) /* p-state */ +#define I915_HWB_OOM_INTERRUPT (1<<13) +#define I915_SYNC_STATUS_INTERRUPT (1<<12) +#define I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT (1<<11) +#define I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT (1<<10) +#define I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT (1<<9) +#define I915_DISPLAY_PLANE_C_FLIP_PENDING_INTERRUPT (1<<8) +#define I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT (1<<7) +#define I915_DISPLAY_PIPE_A_EVENT_INTERRUPT (1<<6) +#define I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT (1<<5) +#define I915_DISPLAY_PIPE_B_EVENT_INTERRUPT (1<<4) +#define I915_DEBUG_INTERRUPT (1<<2) +#define I915_USER_INTERRUPT (1<<1) +#define I915_ASLE_INTERRUPT (1<<0) +#define I915_BSD_USER_INTERRUPT (1<<25) +#define EIR 0x020b0 +#define EMR 0x020b4 +#define ESR 0x020b8 +#define GM45_ERROR_PAGE_TABLE (1<<5) +#define GM45_ERROR_MEM_PRIV (1<<4) +#define I915_ERROR_PAGE_TABLE (1<<4) +#define GM45_ERROR_CP_PRIV (1<<3) +#define I915_ERROR_MEMORY_REFRESH (1<<1) +#define I915_ERROR_INSTRUCTION (1<<0) +#define INSTPM 0x020c0 +#define INSTPM_SELF_EN (1<<12) /* 915GM only */ +#define INSTPM_AGPBUSY_DIS (1<<11) /* gen3: when disabled, pending interrupts + will not assert AGPBUSY# and will only + be delivered when out of C3. */ +#define INSTPM_FORCE_ORDERING (1<<7) /* GEN6+ */ +#define ACTHD 0x020c8 +#define FW_BLC 0x020d8 +#define FW_BLC2 0x020dc +#define FW_BLC_SELF 0x020e0 /* 915+ only */ +#define FW_BLC_SELF_EN_MASK (1<<31) +#define FW_BLC_SELF_FIFO_MASK (1<<16) /* 945 only */ +#define FW_BLC_SELF_EN (1<<15) /* 945 only */ +#define MM_BURST_LENGTH 0x00700000 +#define MM_FIFO_WATERMARK 0x0001F000 +#define LM_BURST_LENGTH 0x00000700 +#define LM_FIFO_WATERMARK 0x0000001F +#define MI_ARB_STATE 0x020e4 /* 915+ only */ + +/* Make render/texture TLB fetches lower priorty than associated data + * fetches. This is not turned on by default + */ +#define MI_ARB_RENDER_TLB_LOW_PRIORITY (1 << 15) + +/* Isoch request wait on GTT enable (Display A/B/C streams). + * Make isoch requests stall on the TLB update. May cause + * display underruns (test mode only) + */ +#define MI_ARB_ISOCH_WAIT_GTT (1 << 14) + +/* Block grant count for isoch requests when block count is + * set to a finite value. + */ +#define MI_ARB_BLOCK_GRANT_MASK (3 << 12) +#define MI_ARB_BLOCK_GRANT_8 (0 << 12) /* for 3 display planes */ +#define MI_ARB_BLOCK_GRANT_4 (1 << 12) /* for 2 display planes */ +#define MI_ARB_BLOCK_GRANT_2 (2 << 12) /* for 1 display plane */ +#define MI_ARB_BLOCK_GRANT_0 (3 << 12) /* don't use */ + +/* Enable render writes to complete in C2/C3/C4 power states. + * If this isn't enabled, render writes are prevented in low + * power states. That seems bad to me. + */ +#define MI_ARB_C3_LP_WRITE_ENABLE (1 << 11) + +/* This acknowledges an async flip immediately instead + * of waiting for 2TLB fetches. + */ +#define MI_ARB_ASYNC_FLIP_ACK_IMMEDIATE (1 << 10) + +/* Enables non-sequential data reads through arbiter + */ +#define MI_ARB_DUAL_DATA_PHASE_DISABLE (1 << 9) + +/* Disable FSB snooping of cacheable write cycles from binner/render + * command stream + */ +#define MI_ARB_CACHE_SNOOP_DISABLE (1 << 8) + +/* Arbiter time slice for non-isoch streams */ +#define MI_ARB_TIME_SLICE_MASK (7 << 5) +#define MI_ARB_TIME_SLICE_1 (0 << 5) +#define MI_ARB_TIME_SLICE_2 (1 << 5) +#define MI_ARB_TIME_SLICE_4 (2 << 5) +#define MI_ARB_TIME_SLICE_6 (3 << 5) +#define MI_ARB_TIME_SLICE_8 (4 << 5) +#define MI_ARB_TIME_SLICE_10 (5 << 5) +#define MI_ARB_TIME_SLICE_14 (6 << 5) +#define MI_ARB_TIME_SLICE_16 (7 << 5) + +/* Low priority grace period page size */ +#define MI_ARB_LOW_PRIORITY_GRACE_4KB (0 << 4) /* default */ +#define MI_ARB_LOW_PRIORITY_GRACE_8KB (1 << 4) + +/* Disable display A/B trickle feed */ +#define MI_ARB_DISPLAY_TRICKLE_FEED_DISABLE (1 << 2) + +/* Set display plane priority */ +#define MI_ARB_DISPLAY_PRIORITY_A_B (0 << 0) /* display A > display B */ +#define MI_ARB_DISPLAY_PRIORITY_B_A (1 << 0) /* display B > display A */ + +#define CACHE_MODE_0 0x02120 /* 915+ only */ +#define CM0_PIPELINED_RENDER_FLUSH_DISABLE (1<<8) +#define CM0_IZ_OPT_DISABLE (1<<6) +#define CM0_ZR_OPT_DISABLE (1<<5) +#define CM0_STC_EVICT_DISABLE_LRA_SNB (1<<5) +#define CM0_DEPTH_EVICT_DISABLE (1<<4) +#define CM0_COLOR_EVICT_DISABLE (1<<3) +#define CM0_DEPTH_WRITE_DISABLE (1<<1) +#define CM0_RC_OP_FLUSH_DISABLE (1<<0) +#define BB_ADDR 0x02140 /* 8 bytes */ +#define GFX_FLSH_CNTL 0x02170 /* 915+ only */ +#define GFX_FLSH_CNTL_GEN6 0x101008 +#define GFX_FLSH_CNTL_EN (1<<0) +#define ECOSKPD 0x021d0 +#define ECO_GATING_CX_ONLY (1<<3) +#define ECO_FLIP_DONE (1<<0) + +#define CACHE_MODE_1 0x7004 /* IVB+ */ +#define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6) + +/* GEN6 interrupt control + * Note that the per-ring interrupt bits do alias with the global interrupt bits + * in GTIMR. */ +#define GEN6_RENDER_HWSTAM 0x2098 +#define GEN6_RENDER_IMR 0x20a8 +#define GEN6_RENDER_CONTEXT_SWITCH_INTERRUPT (1 << 8) +#define GEN6_RENDER_PPGTT_PAGE_FAULT (1 << 7) +#define GEN6_RENDER_TIMEOUT_COUNTER_EXPIRED (1 << 6) +#define GEN6_RENDER_L3_PARITY_ERROR (1 << 5) +#define GEN6_RENDER_PIPE_CONTROL_NOTIFY_INTERRUPT (1 << 4) +#define GEN6_RENDER_COMMAND_PARSER_MASTER_ERROR (1 << 3) +#define GEN6_RENDER_SYNC_STATUS (1 << 2) +#define GEN6_RENDER_DEBUG_INTERRUPT (1 << 1) +#define GEN6_RENDER_USER_INTERRUPT (1 << 0) + +#define GEN6_BLITTER_HWSTAM 0x22098 +#define GEN6_BLITTER_IMR 0x220a8 +#define GEN6_BLITTER_MI_FLUSH_DW_NOTIFY_INTERRUPT (1 << 26) +#define GEN6_BLITTER_COMMAND_PARSER_MASTER_ERROR (1 << 25) +#define GEN6_BLITTER_SYNC_STATUS (1 << 24) +#define GEN6_BLITTER_USER_INTERRUPT (1 << 22) + +#define GEN6_BLITTER_ECOSKPD 0x221d0 +#define GEN6_BLITTER_LOCK_SHIFT 16 +#define GEN6_BLITTER_FBC_NOTIFY (1<<3) + +#define GEN6_BSD_SLEEP_PSMI_CONTROL 0x12050 +#define GEN6_BSD_SLEEP_MSG_DISABLE (1 << 0) +#define GEN6_BSD_SLEEP_FLUSH_DISABLE (1 << 2) +#define GEN6_BSD_SLEEP_INDICATOR (1 << 3) +#define GEN6_BSD_GO_INDICATOR (1 << 4) + +#define GEN6_BSD_HWSTAM 0x12098 +#define GEN6_BSD_IMR 0x120a8 +#define GEN6_BSD_USER_INTERRUPT (1 << 12) + +#define GEN6_BSD_RNCID 0x12198 + +#define GEN7_FF_THREAD_MODE 0x20a0 +#define GEN7_FF_SCHED_MASK 0x0077070 +#define GEN7_FF_TS_SCHED_HS1 (0x5<<16) +#define GEN7_FF_TS_SCHED_HS0 (0x3<<16) +#define GEN7_FF_TS_SCHED_LOAD_BALANCE (0x1<<16) +#define GEN7_FF_TS_SCHED_HW (0x0<<16) /* Default */ +#define GEN7_FF_VS_SCHED_HS1 (0x5<<12) +#define GEN7_FF_VS_SCHED_HS0 (0x3<<12) +#define GEN7_FF_VS_SCHED_LOAD_BALANCE (0x1<<12) /* Default */ +#define GEN7_FF_VS_SCHED_HW (0x0<<12) +#define GEN7_FF_DS_SCHED_HS1 (0x5<<4) +#define GEN7_FF_DS_SCHED_HS0 (0x3<<4) +#define GEN7_FF_DS_SCHED_LOAD_BALANCE (0x1<<4) /* Default */ +#define GEN7_FF_DS_SCHED_HW (0x0<<4) + +/* + * Framebuffer compression (915+ only) + */ + +#define FBC_CFB_BASE 0x03200 /* 4k page aligned */ +#define FBC_LL_BASE 0x03204 /* 4k page aligned */ +#define FBC_CONTROL 0x03208 +#define FBC_CTL_EN (1<<31) +#define FBC_CTL_PERIODIC (1<<30) +#define FBC_CTL_INTERVAL_SHIFT (16) +#define FBC_CTL_UNCOMPRESSIBLE (1<<14) +#define FBC_CTL_C3_IDLE (1<<13) +#define FBC_CTL_STRIDE_SHIFT (5) +#define FBC_CTL_FENCENO (1<<0) +#define FBC_COMMAND 0x0320c +#define FBC_CMD_COMPRESS (1<<0) +#define FBC_STATUS 0x03210 +#define FBC_STAT_COMPRESSING (1<<31) +#define FBC_STAT_COMPRESSED (1<<30) +#define FBC_STAT_MODIFIED (1<<29) +#define FBC_STAT_CURRENT_LINE (1<<0) +#define FBC_CONTROL2 0x03214 +#define FBC_CTL_FENCE_DBL (0<<4) +#define FBC_CTL_IDLE_IMM (0<<2) +#define FBC_CTL_IDLE_FULL (1<<2) +#define FBC_CTL_IDLE_LINE (2<<2) +#define FBC_CTL_IDLE_DEBUG (3<<2) +#define FBC_CTL_CPU_FENCE (1<<1) +#define FBC_CTL_PLANEA (0<<0) +#define FBC_CTL_PLANEB (1<<0) +#define FBC_FENCE_OFF 0x0321b +#define FBC_TAG 0x03300 + +#define FBC_LL_SIZE (1536) + +/* Framebuffer compression for GM45+ */ +#define DPFC_CB_BASE 0x3200 +#define DPFC_CONTROL 0x3208 +#define DPFC_CTL_EN (1<<31) +#define DPFC_CTL_PLANEA (0<<30) +#define DPFC_CTL_PLANEB (1<<30) +#define DPFC_CTL_FENCE_EN (1<<29) +#define DPFC_CTL_PERSISTENT_MODE (1<<25) +#define DPFC_SR_EN (1<<10) +#define DPFC_CTL_LIMIT_1X (0<<6) +#define DPFC_CTL_LIMIT_2X (1<<6) +#define DPFC_CTL_LIMIT_4X (2<<6) +#define DPFC_RECOMP_CTL 0x320c +#define DPFC_RECOMP_STALL_EN (1<<27) +#define DPFC_RECOMP_STALL_WM_SHIFT (16) +#define DPFC_RECOMP_STALL_WM_MASK (0x07ff0000) +#define DPFC_RECOMP_TIMER_COUNT_SHIFT (0) +#define DPFC_RECOMP_TIMER_COUNT_MASK (0x0000003f) +#define DPFC_STATUS 0x3210 +#define DPFC_INVAL_SEG_SHIFT (16) +#define DPFC_INVAL_SEG_MASK (0x07ff0000) +#define DPFC_COMP_SEG_SHIFT (0) +#define DPFC_COMP_SEG_MASK (0x000003ff) +#define DPFC_STATUS2 0x3214 +#define DPFC_FENCE_YOFF 0x3218 +#define DPFC_CHICKEN 0x3224 +#define DPFC_HT_MODIFY (1<<31) + +/* Framebuffer compression for Ironlake */ +#define ILK_DPFC_CB_BASE 0x43200 +#define ILK_DPFC_CONTROL 0x43208 +/* The bit 28-8 is reserved */ +#define DPFC_RESERVED (0x1FFFFF00) +#define ILK_DPFC_RECOMP_CTL 0x4320c +#define ILK_DPFC_STATUS 0x43210 +#define ILK_DPFC_FENCE_YOFF 0x43218 +#define ILK_DPFC_CHICKEN 0x43224 +#define ILK_FBC_RT_BASE 0x2128 +#define ILK_FBC_RT_VALID (1<<0) + +#define ILK_DISPLAY_CHICKEN1 0x42000 +#define ILK_FBCQ_DIS (1<<22) +#define ILK_PABSTRETCH_DIS (1<<21) + + +/* + * Framebuffer compression for Sandybridge + * + * The following two registers are of type GTTMMADR + */ +#define SNB_DPFC_CTL_SA 0x100100 +#define SNB_CPU_FENCE_ENABLE (1<<29) +#define DPFC_CPU_FENCE_OFFSET 0x100104 + + +/* + * GPIO regs + */ +#define GPIOA 0x5010 +#define GPIOB 0x5014 +#define GPIOC 0x5018 +#define GPIOD 0x501c +#define GPIOE 0x5020 +#define GPIOF 0x5024 +#define GPIOG 0x5028 +#define GPIOH 0x502c +# define GPIO_CLOCK_DIR_MASK (1 << 0) +# define GPIO_CLOCK_DIR_IN (0 << 1) +# define GPIO_CLOCK_DIR_OUT (1 << 1) +# define GPIO_CLOCK_VAL_MASK (1 << 2) +# define GPIO_CLOCK_VAL_OUT (1 << 3) +# define GPIO_CLOCK_VAL_IN (1 << 4) +# define GPIO_CLOCK_PULLUP_DISABLE (1 << 5) +# define GPIO_DATA_DIR_MASK (1 << 8) +# define GPIO_DATA_DIR_IN (0 << 9) +# define GPIO_DATA_DIR_OUT (1 << 9) +# define GPIO_DATA_VAL_MASK (1 << 10) +# define GPIO_DATA_VAL_OUT (1 << 11) +# define GPIO_DATA_VAL_IN (1 << 12) +# define GPIO_DATA_PULLUP_DISABLE (1 << 13) + +#define GMBUS0 0x5100 /* clock/port select */ +#define GMBUS_RATE_100KHZ (0<<8) +#define GMBUS_RATE_50KHZ (1<<8) +#define GMBUS_RATE_400KHZ (2<<8) /* reserved on Pineview */ +#define GMBUS_RATE_1MHZ (3<<8) /* reserved on Pineview */ +#define GMBUS_HOLD_EXT (1<<7) /* 300ns hold time, rsvd on Pineview */ +#define GMBUS_PORT_DISABLED 0 +#define GMBUS_PORT_SSC 1 +#define GMBUS_PORT_VGADDC 2 +#define GMBUS_PORT_PANEL 3 +#define GMBUS_PORT_DPC 4 /* HDMIC */ +#define GMBUS_PORT_DPB 5 /* SDVO, HDMIB */ +#define GMBUS_PORT_DPD 6 /* HDMID */ +#define GMBUS_PORT_RESERVED 7 /* 7 reserved */ +#define GMBUS_NUM_PORTS (GMBUS_PORT_DPD - GMBUS_PORT_SSC + 1) +#define GMBUS1 0x5104 /* command/status */ +#define GMBUS_SW_CLR_INT (1<<31) +#define GMBUS_SW_RDY (1<<30) +#define GMBUS_ENT (1<<29) /* enable timeout */ +#define GMBUS_CYCLE_NONE (0<<25) +#define GMBUS_CYCLE_WAIT (1<<25) +#define GMBUS_CYCLE_INDEX (2<<25) +#define GMBUS_CYCLE_STOP (4<<25) +#define GMBUS_BYTE_COUNT_SHIFT 16 +#define GMBUS_SLAVE_INDEX_SHIFT 8 +#define GMBUS_SLAVE_ADDR_SHIFT 1 +#define GMBUS_SLAVE_READ (1<<0) +#define GMBUS_SLAVE_WRITE (0<<0) +#define GMBUS2 0x5108 /* status */ +#define GMBUS_INUSE (1<<15) +#define GMBUS_HW_WAIT_PHASE (1<<14) +#define GMBUS_STALL_TIMEOUT (1<<13) +#define GMBUS_INT (1<<12) +#define GMBUS_HW_RDY (1<<11) +#define GMBUS_SATOER (1<<10) +#define GMBUS_ACTIVE (1<<9) +#define GMBUS3 0x510c /* data buffer bytes 3-0 */ +#define GMBUS4 0x5110 /* interrupt mask (Pineview+) */ +#define GMBUS_SLAVE_TIMEOUT_EN (1<<4) +#define GMBUS_NAK_EN (1<<3) +#define GMBUS_IDLE_EN (1<<2) +#define GMBUS_HW_WAIT_EN (1<<1) +#define GMBUS_HW_RDY_EN (1<<0) +#define GMBUS5 0x5120 /* byte index */ +#define GMBUS_2BYTE_INDEX_EN (1<<31) + +/* + * Clock control & power management + */ + +#define VGA0 0x6000 +#define VGA1 0x6004 +#define VGA_PD 0x6010 +#define VGA0_PD_P2_DIV_4 (1 << 7) +#define VGA0_PD_P1_DIV_2 (1 << 5) +#define VGA0_PD_P1_SHIFT 0 +#define VGA0_PD_P1_MASK (0x1f << 0) +#define VGA1_PD_P2_DIV_4 (1 << 15) +#define VGA1_PD_P1_DIV_2 (1 << 13) +#define VGA1_PD_P1_SHIFT 8 +#define VGA1_PD_P1_MASK (0x1f << 8) +#define _DPLL_A 0x06014 +#define _DPLL_B 0x06018 +#define DPLL(pipe) _PIPE(pipe, _DPLL_A, _DPLL_B) +#define DPLL_VCO_ENABLE (1 << 31) +#define DPLL_DVO_HIGH_SPEED (1 << 30) +#define DPLL_EXT_BUFFER_ENABLE_VLV (1 << 30) +#define DPLL_SYNCLOCK_ENABLE (1 << 29) +#define DPLL_REFA_CLK_ENABLE_VLV (1 << 29) +#define DPLL_VGA_MODE_DIS (1 << 28) +#define DPLLB_MODE_DAC_SERIAL (1 << 26) /* i915 */ +#define DPLLB_MODE_LVDS (2 << 26) /* i915 */ +#define DPLL_MODE_MASK (3 << 26) +#define DPLL_DAC_SERIAL_P2_CLOCK_DIV_10 (0 << 24) /* i915 */ +#define DPLL_DAC_SERIAL_P2_CLOCK_DIV_5 (1 << 24) /* i915 */ +#define DPLLB_LVDS_P2_CLOCK_DIV_14 (0 << 24) /* i915 */ +#define DPLLB_LVDS_P2_CLOCK_DIV_7 (1 << 24) /* i915 */ +#define DPLL_P2_CLOCK_DIV_MASK 0x03000000 /* i915 */ +#define DPLL_FPA01_P1_POST_DIV_MASK 0x00ff0000 /* i915 */ +#define DPLL_FPA01_P1_POST_DIV_MASK_PINEVIEW 0x00ff8000 /* Pineview */ +#define DPLL_LOCK_VLV (1<<15) +#define DPLL_INTEGRATED_CLOCK_VLV (1<<13) + +#define SRX_INDEX 0x3c4 +#define SRX_DATA 0x3c5 +#define SR01 1 +#define SR01_SCREEN_OFF (1<<5) + +#define PPCR 0x61204 +#define PPCR_ON (1<<0) + +#define DVOB 0x61140 +#define DVOB_ON (1<<31) +#define DVOC 0x61160 +#define DVOC_ON (1<<31) +#define LVDS 0x61180 +#define LVDS_ON (1<<31) + +/* Scratch pad debug 0 reg: + */ +#define DPLL_FPA01_P1_POST_DIV_MASK_I830 0x001f0000 +/* + * The i830 generation, in LVDS mode, defines P1 as the bit number set within + * this field (only one bit may be set). + */ +#define DPLL_FPA01_P1_POST_DIV_MASK_I830_LVDS 0x003f0000 +#define DPLL_FPA01_P1_POST_DIV_SHIFT 16 +#define DPLL_FPA01_P1_POST_DIV_SHIFT_PINEVIEW 15 +/* i830, required in DVO non-gang */ +#define PLL_P2_DIVIDE_BY_4 (1 << 23) +#define PLL_P1_DIVIDE_BY_TWO (1 << 21) /* i830 */ +#define PLL_REF_INPUT_DREFCLK (0 << 13) +#define PLL_REF_INPUT_TVCLKINA (1 << 13) /* i830 */ +#define PLL_REF_INPUT_TVCLKINBC (2 << 13) /* SDVO TVCLKIN */ +#define PLLB_REF_INPUT_SPREADSPECTRUMIN (3 << 13) +#define PLL_REF_INPUT_MASK (3 << 13) +#define PLL_LOAD_PULSE_PHASE_SHIFT 9 +/* Ironlake */ +# define PLL_REF_SDVO_HDMI_MULTIPLIER_SHIFT 9 +# define PLL_REF_SDVO_HDMI_MULTIPLIER_MASK (7 << 9) +# define PLL_REF_SDVO_HDMI_MULTIPLIER(x) (((x)-1) << 9) +# define DPLL_FPA1_P1_POST_DIV_SHIFT 0 +# define DPLL_FPA1_P1_POST_DIV_MASK 0xff + +/* + * Parallel to Serial Load Pulse phase selection. + * Selects the phase for the 10X DPLL clock for the PCIe + * digital display port. The range is 4 to 13; 10 or more + * is just a flip delay. The default is 6 + */ +#define PLL_LOAD_PULSE_PHASE_MASK (0xf << PLL_LOAD_PULSE_PHASE_SHIFT) +#define DISPLAY_RATE_SELECT_FPA1 (1 << 8) +/* + * SDVO multiplier for 945G/GM. Not used on 965. + */ +#define SDVO_MULTIPLIER_MASK 0x000000ff +#define SDVO_MULTIPLIER_SHIFT_HIRES 4 +#define SDVO_MULTIPLIER_SHIFT_VGA 0 +#define _DPLL_A_MD 0x0601c /* 965+ only */ +/* + * UDI pixel divider, controlling how many pixels are stuffed into a packet. + * + * Value is pixels minus 1. Must be set to 1 pixel for SDVO. + */ +#define DPLL_MD_UDI_DIVIDER_MASK 0x3f000000 +#define DPLL_MD_UDI_DIVIDER_SHIFT 24 +/* UDI pixel divider for VGA, same as DPLL_MD_UDI_DIVIDER_MASK. */ +#define DPLL_MD_VGA_UDI_DIVIDER_MASK 0x003f0000 +#define DPLL_MD_VGA_UDI_DIVIDER_SHIFT 16 +/* + * SDVO/UDI pixel multiplier. + * + * SDVO requires that the bus clock rate be between 1 and 2 Ghz, and the bus + * clock rate is 10 times the DPLL clock. At low resolution/refresh rate + * modes, the bus rate would be below the limits, so SDVO allows for stuffing + * dummy bytes in the datastream at an increased clock rate, with both sides of + * the link knowing how many bytes are fill. + * + * So, for a mode with a dotclock of 65Mhz, we would want to double the clock + * rate to 130Mhz to get a bus rate of 1.30Ghz. The DPLL clock rate would be + * set to 130Mhz, and the SDVO multiplier set to 2x in this register and + * through an SDVO command. + * + * This register field has values of multiplication factor minus 1, with + * a maximum multiplier of 5 for SDVO. + */ +#define DPLL_MD_UDI_MULTIPLIER_MASK 0x00003f00 +#define DPLL_MD_UDI_MULTIPLIER_SHIFT 8 +/* + * SDVO/UDI pixel multiplier for VGA, same as DPLL_MD_UDI_MULTIPLIER_MASK. + * This best be set to the default value (3) or the CRT won't work. No, + * I don't entirely understand what this does... + */ +#define DPLL_MD_VGA_UDI_MULTIPLIER_MASK 0x0000003f +#define DPLL_MD_VGA_UDI_MULTIPLIER_SHIFT 0 +#define _DPLL_B_MD 0x06020 /* 965+ only */ +#define DPLL_MD(pipe) _PIPE(pipe, _DPLL_A_MD, _DPLL_B_MD) + +#define _FPA0 0x06040 +#define _FPA1 0x06044 +#define _FPB0 0x06048 +#define _FPB1 0x0604c +#define FP0(pipe) _PIPE(pipe, _FPA0, _FPB0) +#define FP1(pipe) _PIPE(pipe, _FPA1, _FPB1) +#define FP_N_DIV_MASK 0x003f0000 +#define FP_N_PINEVIEW_DIV_MASK 0x00ff0000 +#define FP_N_DIV_SHIFT 16 +#define FP_M1_DIV_MASK 0x00003f00 +#define FP_M1_DIV_SHIFT 8 +#define FP_M2_DIV_MASK 0x0000003f +#define FP_M2_PINEVIEW_DIV_MASK 0x000000ff +#define FP_M2_DIV_SHIFT 0 +#define DPLL_TEST 0x606c +#define DPLLB_TEST_SDVO_DIV_1 (0 << 22) +#define DPLLB_TEST_SDVO_DIV_2 (1 << 22) +#define DPLLB_TEST_SDVO_DIV_4 (2 << 22) +#define DPLLB_TEST_SDVO_DIV_MASK (3 << 22) +#define DPLLB_TEST_N_BYPASS (1 << 19) +#define DPLLB_TEST_M_BYPASS (1 << 18) +#define DPLLB_INPUT_BUFFER_ENABLE (1 << 16) +#define DPLLA_TEST_N_BYPASS (1 << 3) +#define DPLLA_TEST_M_BYPASS (1 << 2) +#define DPLLA_INPUT_BUFFER_ENABLE (1 << 0) +#define D_STATE 0x6104 +#define DSTATE_GFX_RESET_I830 (1<<6) +#define DSTATE_PLL_D3_OFF (1<<3) +#define DSTATE_GFX_CLOCK_GATING (1<<1) +#define DSTATE_DOT_CLOCK_GATING (1<<0) +#define DSPCLK_GATE_D 0x6200 +# define DPUNIT_B_CLOCK_GATE_DISABLE (1 << 30) /* 965 */ +# define VSUNIT_CLOCK_GATE_DISABLE (1 << 29) /* 965 */ +# define VRHUNIT_CLOCK_GATE_DISABLE (1 << 28) /* 965 */ +# define VRDUNIT_CLOCK_GATE_DISABLE (1 << 27) /* 965 */ +# define AUDUNIT_CLOCK_GATE_DISABLE (1 << 26) /* 965 */ +# define DPUNIT_A_CLOCK_GATE_DISABLE (1 << 25) /* 965 */ +# define DPCUNIT_CLOCK_GATE_DISABLE (1 << 24) /* 965 */ +# define TVRUNIT_CLOCK_GATE_DISABLE (1 << 23) /* 915-945 */ +# define TVCUNIT_CLOCK_GATE_DISABLE (1 << 22) /* 915-945 */ +# define TVFUNIT_CLOCK_GATE_DISABLE (1 << 21) /* 915-945 */ +# define TVEUNIT_CLOCK_GATE_DISABLE (1 << 20) /* 915-945 */ +# define DVSUNIT_CLOCK_GATE_DISABLE (1 << 19) /* 915-945 */ +# define DSSUNIT_CLOCK_GATE_DISABLE (1 << 18) /* 915-945 */ +# define DDBUNIT_CLOCK_GATE_DISABLE (1 << 17) /* 915-945 */ +# define DPRUNIT_CLOCK_GATE_DISABLE (1 << 16) /* 915-945 */ +# define DPFUNIT_CLOCK_GATE_DISABLE (1 << 15) /* 915-945 */ +# define DPBMUNIT_CLOCK_GATE_DISABLE (1 << 14) /* 915-945 */ +# define DPLSUNIT_CLOCK_GATE_DISABLE (1 << 13) /* 915-945 */ +# define DPLUNIT_CLOCK_GATE_DISABLE (1 << 12) /* 915-945 */ +# define DPOUNIT_CLOCK_GATE_DISABLE (1 << 11) +# define DPBUNIT_CLOCK_GATE_DISABLE (1 << 10) +# define DCUNIT_CLOCK_GATE_DISABLE (1 << 9) +# define DPUNIT_CLOCK_GATE_DISABLE (1 << 8) +# define VRUNIT_CLOCK_GATE_DISABLE (1 << 7) /* 915+: reserved */ +# define OVHUNIT_CLOCK_GATE_DISABLE (1 << 6) /* 830-865 */ +# define DPIOUNIT_CLOCK_GATE_DISABLE (1 << 6) /* 915-945 */ +# define OVFUNIT_CLOCK_GATE_DISABLE (1 << 5) +# define OVBUNIT_CLOCK_GATE_DISABLE (1 << 4) +/** + * This bit must be set on the 830 to prevent hangs when turning off the + * overlay scaler. + */ +# define OVRUNIT_CLOCK_GATE_DISABLE (1 << 3) +# define OVCUNIT_CLOCK_GATE_DISABLE (1 << 2) +# define OVUUNIT_CLOCK_GATE_DISABLE (1 << 1) +# define ZVUNIT_CLOCK_GATE_DISABLE (1 << 0) /* 830 */ +# define OVLUNIT_CLOCK_GATE_DISABLE (1 << 0) /* 845,865 */ + +#define RENCLK_GATE_D1 0x6204 +# define BLITTER_CLOCK_GATE_DISABLE (1 << 13) /* 945GM only */ +# define MPEG_CLOCK_GATE_DISABLE (1 << 12) /* 945GM only */ +# define PC_FE_CLOCK_GATE_DISABLE (1 << 11) +# define PC_BE_CLOCK_GATE_DISABLE (1 << 10) +# define WINDOWER_CLOCK_GATE_DISABLE (1 << 9) +# define INTERPOLATOR_CLOCK_GATE_DISABLE (1 << 8) +# define COLOR_CALCULATOR_CLOCK_GATE_DISABLE (1 << 7) +# define MOTION_COMP_CLOCK_GATE_DISABLE (1 << 6) +# define MAG_CLOCK_GATE_DISABLE (1 << 5) +/** This bit must be unset on 855,865 */ +# define MECI_CLOCK_GATE_DISABLE (1 << 4) +# define DCMP_CLOCK_GATE_DISABLE (1 << 3) +# define MEC_CLOCK_GATE_DISABLE (1 << 2) +# define MECO_CLOCK_GATE_DISABLE (1 << 1) +/** This bit must be set on 855,865. */ +# define SV_CLOCK_GATE_DISABLE (1 << 0) +# define I915_MPEG_CLOCK_GATE_DISABLE (1 << 16) +# define I915_VLD_IP_PR_CLOCK_GATE_DISABLE (1 << 15) +# define I915_MOTION_COMP_CLOCK_GATE_DISABLE (1 << 14) +# define I915_BD_BF_CLOCK_GATE_DISABLE (1 << 13) +# define I915_SF_SE_CLOCK_GATE_DISABLE (1 << 12) +# define I915_WM_CLOCK_GATE_DISABLE (1 << 11) +# define I915_IZ_CLOCK_GATE_DISABLE (1 << 10) +# define I915_PI_CLOCK_GATE_DISABLE (1 << 9) +# define I915_DI_CLOCK_GATE_DISABLE (1 << 8) +# define I915_SH_SV_CLOCK_GATE_DISABLE (1 << 7) +# define I915_PL_DG_QC_FT_CLOCK_GATE_DISABLE (1 << 6) +# define I915_SC_CLOCK_GATE_DISABLE (1 << 5) +# define I915_FL_CLOCK_GATE_DISABLE (1 << 4) +# define I915_DM_CLOCK_GATE_DISABLE (1 << 3) +# define I915_PS_CLOCK_GATE_DISABLE (1 << 2) +# define I915_CC_CLOCK_GATE_DISABLE (1 << 1) +# define I915_BY_CLOCK_GATE_DISABLE (1 << 0) + +# define I965_RCZ_CLOCK_GATE_DISABLE (1 << 30) +/** This bit must always be set on 965G/965GM */ +# define I965_RCC_CLOCK_GATE_DISABLE (1 << 29) +# define I965_RCPB_CLOCK_GATE_DISABLE (1 << 28) +# define I965_DAP_CLOCK_GATE_DISABLE (1 << 27) +# define I965_ROC_CLOCK_GATE_DISABLE (1 << 26) +# define I965_GW_CLOCK_GATE_DISABLE (1 << 25) +# define I965_TD_CLOCK_GATE_DISABLE (1 << 24) +/** This bit must always be set on 965G */ +# define I965_ISC_CLOCK_GATE_DISABLE (1 << 23) +# define I965_IC_CLOCK_GATE_DISABLE (1 << 22) +# define I965_EU_CLOCK_GATE_DISABLE (1 << 21) +# define I965_IF_CLOCK_GATE_DISABLE (1 << 20) +# define I965_TC_CLOCK_GATE_DISABLE (1 << 19) +# define I965_SO_CLOCK_GATE_DISABLE (1 << 17) +# define I965_FBC_CLOCK_GATE_DISABLE (1 << 16) +# define I965_MARI_CLOCK_GATE_DISABLE (1 << 15) +# define I965_MASF_CLOCK_GATE_DISABLE (1 << 14) +# define I965_MAWB_CLOCK_GATE_DISABLE (1 << 13) +# define I965_EM_CLOCK_GATE_DISABLE (1 << 12) +# define I965_UC_CLOCK_GATE_DISABLE (1 << 11) +# define I965_SI_CLOCK_GATE_DISABLE (1 << 6) +# define I965_MT_CLOCK_GATE_DISABLE (1 << 5) +# define I965_PL_CLOCK_GATE_DISABLE (1 << 4) +# define I965_DG_CLOCK_GATE_DISABLE (1 << 3) +# define I965_QC_CLOCK_GATE_DISABLE (1 << 2) +# define I965_FT_CLOCK_GATE_DISABLE (1 << 1) +# define I965_DM_CLOCK_GATE_DISABLE (1 << 0) + +#define RENCLK_GATE_D2 0x6208 +#define VF_UNIT_CLOCK_GATE_DISABLE (1 << 9) +#define GS_UNIT_CLOCK_GATE_DISABLE (1 << 7) +#define CL_UNIT_CLOCK_GATE_DISABLE (1 << 6) +#define RAMCLK_GATE_D 0x6210 /* CRL only */ +#define DEUC 0x6214 /* CRL only */ + +#define FW_BLC_SELF_VLV 0x6500 +#define FW_CSPWRDWNEN (1<<15) + +/* + * Palette regs + */ + +#define _PALETTE_A 0x0a000 +#define _PALETTE_B 0x0a800 +#define PALETTE(pipe) _PIPE(pipe, _PALETTE_A, _PALETTE_B) + +/* MCH MMIO space */ + +/* + * MCHBAR mirror. + * + * This mirrors the MCHBAR MMIO space whose location is determined by + * device 0 function 0's pci config register 0x44 or 0x48 and matches it in + * every way. It is not accessible from the CP register read instructions. + * + */ +#define MCHBAR_MIRROR_BASE 0x10000 + +#define MCHBAR_MIRROR_BASE_SNB 0x140000 + +/** 915-945 and GM965 MCH register controlling DRAM channel access */ +#define DCC 0x10200 +#define DCC_ADDRESSING_MODE_SINGLE_CHANNEL (0 << 0) +#define DCC_ADDRESSING_MODE_DUAL_CHANNEL_ASYMMETRIC (1 << 0) +#define DCC_ADDRESSING_MODE_DUAL_CHANNEL_INTERLEAVED (2 << 0) +#define DCC_ADDRESSING_MODE_MASK (3 << 0) +#define DCC_CHANNEL_XOR_DISABLE (1 << 10) +#define DCC_CHANNEL_XOR_BIT_17 (1 << 9) + +/** Pineview MCH register contains DDR3 setting */ +#define CSHRDDR3CTL 0x101a8 +#define CSHRDDR3CTL_DDR3 (1 << 2) + +/** 965 MCH register controlling DRAM channel configuration */ +#define C0DRB3 0x10206 +#define C1DRB3 0x10606 + +/** snb MCH registers for reading the DRAM channel configuration */ +#define MAD_DIMM_C0 (MCHBAR_MIRROR_BASE_SNB + 0x5004) +#define MAD_DIMM_C1 (MCHBAR_MIRROR_BASE_SNB + 0x5008) +#define MAD_DIMM_C2 (MCHBAR_MIRROR_BASE_SNB + 0x500C) +#define MAD_DIMM_ECC_MASK (0x3 << 24) +#define MAD_DIMM_ECC_OFF (0x0 << 24) +#define MAD_DIMM_ECC_IO_ON_LOGIC_OFF (0x1 << 24) +#define MAD_DIMM_ECC_IO_OFF_LOGIC_ON (0x2 << 24) +#define MAD_DIMM_ECC_ON (0x3 << 24) +#define MAD_DIMM_ENH_INTERLEAVE (0x1 << 22) +#define MAD_DIMM_RANK_INTERLEAVE (0x1 << 21) +#define MAD_DIMM_B_WIDTH_X16 (0x1 << 20) /* X8 chips if unset */ +#define MAD_DIMM_A_WIDTH_X16 (0x1 << 19) /* X8 chips if unset */ +#define MAD_DIMM_B_DUAL_RANK (0x1 << 18) +#define MAD_DIMM_A_DUAL_RANK (0x1 << 17) +#define MAD_DIMM_A_SELECT (0x1 << 16) +/* DIMM sizes are in multiples of 256mb. */ +#define MAD_DIMM_B_SIZE_SHIFT 8 +#define MAD_DIMM_B_SIZE_MASK (0xff << MAD_DIMM_B_SIZE_SHIFT) +#define MAD_DIMM_A_SIZE_SHIFT 0 +#define MAD_DIMM_A_SIZE_MASK (0xff << MAD_DIMM_A_SIZE_SHIFT) + + +/* Clocking configuration register */ +#define CLKCFG 0x10c00 +#define CLKCFG_FSB_400 (5 << 0) /* hrawclk 100 */ +#define CLKCFG_FSB_533 (1 << 0) /* hrawclk 133 */ +#define CLKCFG_FSB_667 (3 << 0) /* hrawclk 166 */ +#define CLKCFG_FSB_800 (2 << 0) /* hrawclk 200 */ +#define CLKCFG_FSB_1067 (6 << 0) /* hrawclk 266 */ +#define CLKCFG_FSB_1333 (7 << 0) /* hrawclk 333 */ +/* Note, below two are guess */ +#define CLKCFG_FSB_1600 (4 << 0) /* hrawclk 400 */ +#define CLKCFG_FSB_1600_ALT (0 << 0) /* hrawclk 400 */ +#define CLKCFG_FSB_MASK (7 << 0) +#define CLKCFG_MEM_533 (1 << 4) +#define CLKCFG_MEM_667 (2 << 4) +#define CLKCFG_MEM_800 (3 << 4) +#define CLKCFG_MEM_MASK (7 << 4) + +#define TSC1 0x11001 +#define TSE (1<<0) +#define TR1 0x11006 +#define TSFS 0x11020 +#define TSFS_SLOPE_MASK 0x0000ff00 +#define TSFS_SLOPE_SHIFT 8 +#define TSFS_INTR_MASK 0x000000ff + +#define CRSTANDVID 0x11100 +#define PXVFREQ_BASE 0x11110 /* P[0-15]VIDFREQ (0x1114c) (Ironlake) */ +#define PXVFREQ_PX_MASK 0x7f000000 +#define PXVFREQ_PX_SHIFT 24 +#define VIDFREQ_BASE 0x11110 +#define VIDFREQ1 0x11110 /* VIDFREQ1-4 (0x1111c) (Cantiga) */ +#define VIDFREQ2 0x11114 +#define VIDFREQ3 0x11118 +#define VIDFREQ4 0x1111c +#define VIDFREQ_P0_MASK 0x1f000000 +#define VIDFREQ_P0_SHIFT 24 +#define VIDFREQ_P0_CSCLK_MASK 0x00f00000 +#define VIDFREQ_P0_CSCLK_SHIFT 20 +#define VIDFREQ_P0_CRCLK_MASK 0x000f0000 +#define VIDFREQ_P0_CRCLK_SHIFT 16 +#define VIDFREQ_P1_MASK 0x00001f00 +#define VIDFREQ_P1_SHIFT 8 +#define VIDFREQ_P1_CSCLK_MASK 0x000000f0 +#define VIDFREQ_P1_CSCLK_SHIFT 4 +#define VIDFREQ_P1_CRCLK_MASK 0x0000000f +#define INTTOEXT_BASE_ILK 0x11300 +#define INTTOEXT_BASE 0x11120 /* INTTOEXT1-8 (0x1113c) */ +#define INTTOEXT_MAP3_SHIFT 24 +#define INTTOEXT_MAP3_MASK (0x1f << INTTOEXT_MAP3_SHIFT) +#define INTTOEXT_MAP2_SHIFT 16 +#define INTTOEXT_MAP2_MASK (0x1f << INTTOEXT_MAP2_SHIFT) +#define INTTOEXT_MAP1_SHIFT 8 +#define INTTOEXT_MAP1_MASK (0x1f << INTTOEXT_MAP1_SHIFT) +#define INTTOEXT_MAP0_SHIFT 0 +#define INTTOEXT_MAP0_MASK (0x1f << INTTOEXT_MAP0_SHIFT) +#define MEMSWCTL 0x11170 /* Ironlake only */ +#define MEMCTL_CMD_MASK 0xe000 +#define MEMCTL_CMD_SHIFT 13 +#define MEMCTL_CMD_RCLK_OFF 0 +#define MEMCTL_CMD_RCLK_ON 1 +#define MEMCTL_CMD_CHFREQ 2 +#define MEMCTL_CMD_CHVID 3 +#define MEMCTL_CMD_VMMOFF 4 +#define MEMCTL_CMD_VMMON 5 +#define MEMCTL_CMD_STS (1<<12) /* write 1 triggers command, clears + when command complete */ +#define MEMCTL_FREQ_MASK 0x0f00 /* jitter, from 0-15 */ +#define MEMCTL_FREQ_SHIFT 8 +#define MEMCTL_SFCAVM (1<<7) +#define MEMCTL_TGT_VID_MASK 0x007f +#define MEMIHYST 0x1117c +#define MEMINTREN 0x11180 /* 16 bits */ +#define MEMINT_RSEXIT_EN (1<<8) +#define MEMINT_CX_SUPR_EN (1<<7) +#define MEMINT_CONT_BUSY_EN (1<<6) +#define MEMINT_AVG_BUSY_EN (1<<5) +#define MEMINT_EVAL_CHG_EN (1<<4) +#define MEMINT_MON_IDLE_EN (1<<3) +#define MEMINT_UP_EVAL_EN (1<<2) +#define MEMINT_DOWN_EVAL_EN (1<<1) +#define MEMINT_SW_CMD_EN (1<<0) +#define MEMINTRSTR 0x11182 /* 16 bits */ +#define MEM_RSEXIT_MASK 0xc000 +#define MEM_RSEXIT_SHIFT 14 +#define MEM_CONT_BUSY_MASK 0x3000 +#define MEM_CONT_BUSY_SHIFT 12 +#define MEM_AVG_BUSY_MASK 0x0c00 +#define MEM_AVG_BUSY_SHIFT 10 +#define MEM_EVAL_CHG_MASK 0x0300 +#define MEM_EVAL_BUSY_SHIFT 8 +#define MEM_MON_IDLE_MASK 0x00c0 +#define MEM_MON_IDLE_SHIFT 6 +#define MEM_UP_EVAL_MASK 0x0030 +#define MEM_UP_EVAL_SHIFT 4 +#define MEM_DOWN_EVAL_MASK 0x000c +#define MEM_DOWN_EVAL_SHIFT 2 +#define MEM_SW_CMD_MASK 0x0003 +#define MEM_INT_STEER_GFX 0 +#define MEM_INT_STEER_CMR 1 +#define MEM_INT_STEER_SMI 2 +#define MEM_INT_STEER_SCI 3 +#define MEMINTRSTS 0x11184 +#define MEMINT_RSEXIT (1<<7) +#define MEMINT_CONT_BUSY (1<<6) +#define MEMINT_AVG_BUSY (1<<5) +#define MEMINT_EVAL_CHG (1<<4) +#define MEMINT_MON_IDLE (1<<3) +#define MEMINT_UP_EVAL (1<<2) +#define MEMINT_DOWN_EVAL (1<<1) +#define MEMINT_SW_CMD (1<<0) +#define MEMMODECTL 0x11190 +#define MEMMODE_BOOST_EN (1<<31) +#define MEMMODE_BOOST_FREQ_MASK 0x0f000000 /* jitter for boost, 0-15 */ +#define MEMMODE_BOOST_FREQ_SHIFT 24 +#define MEMMODE_IDLE_MODE_MASK 0x00030000 +#define MEMMODE_IDLE_MODE_SHIFT 16 +#define MEMMODE_IDLE_MODE_EVAL 0 +#define MEMMODE_IDLE_MODE_CONT 1 +#define MEMMODE_HWIDLE_EN (1<<15) +#define MEMMODE_SWMODE_EN (1<<14) +#define MEMMODE_RCLK_GATE (1<<13) +#define MEMMODE_HW_UPDATE (1<<12) +#define MEMMODE_FSTART_MASK 0x00000f00 /* starting jitter, 0-15 */ +#define MEMMODE_FSTART_SHIFT 8 +#define MEMMODE_FMAX_MASK 0x000000f0 /* max jitter, 0-15 */ +#define MEMMODE_FMAX_SHIFT 4 +#define MEMMODE_FMIN_MASK 0x0000000f /* min jitter, 0-15 */ +#define RCBMAXAVG 0x1119c +#define MEMSWCTL2 0x1119e /* Cantiga only */ +#define SWMEMCMD_RENDER_OFF (0 << 13) +#define SWMEMCMD_RENDER_ON (1 << 13) +#define SWMEMCMD_SWFREQ (2 << 13) +#define SWMEMCMD_TARVID (3 << 13) +#define SWMEMCMD_VRM_OFF (4 << 13) +#define SWMEMCMD_VRM_ON (5 << 13) +#define CMDSTS (1<<12) +#define SFCAVM (1<<11) +#define SWFREQ_MASK 0x0380 /* P0-7 */ +#define SWFREQ_SHIFT 7 +#define TARVID_MASK 0x001f +#define MEMSTAT_CTG 0x111a0 +#define RCBMINAVG 0x111a0 +#define RCUPEI 0x111b0 +#define RCDNEI 0x111b4 +#define RSTDBYCTL 0x111b8 +#define RS1EN (1<<31) +#define RS2EN (1<<30) +#define RS3EN (1<<29) +#define D3RS3EN (1<<28) /* Display D3 imlies RS3 */ +#define SWPROMORSX (1<<27) /* RSx promotion timers ignored */ +#define RCWAKERW (1<<26) /* Resetwarn from PCH causes wakeup */ +#define DPRSLPVREN (1<<25) /* Fast voltage ramp enable */ +#define GFXTGHYST (1<<24) /* Hysteresis to allow trunk gating */ +#define RCX_SW_EXIT (1<<23) /* Leave RSx and prevent re-entry */ +#define RSX_STATUS_MASK (7<<20) +#define RSX_STATUS_ON (0<<20) +#define RSX_STATUS_RC1 (1<<20) +#define RSX_STATUS_RC1E (2<<20) +#define RSX_STATUS_RS1 (3<<20) +#define RSX_STATUS_RS2 (4<<20) /* aka rc6 */ +#define RSX_STATUS_RSVD (5<<20) /* deep rc6 unsupported on ilk */ +#define RSX_STATUS_RS3 (6<<20) /* rs3 unsupported on ilk */ +#define RSX_STATUS_RSVD2 (7<<20) +#define UWRCRSXE (1<<19) /* wake counter limit prevents rsx */ +#define RSCRP (1<<18) /* rs requests control on rs1/2 reqs */ +#define JRSC (1<<17) /* rsx coupled to cpu c-state */ +#define RS2INC0 (1<<16) /* allow rs2 in cpu c0 */ +#define RS1CONTSAV_MASK (3<<14) +#define RS1CONTSAV_NO_RS1 (0<<14) /* rs1 doesn't save/restore context */ +#define RS1CONTSAV_RSVD (1<<14) +#define RS1CONTSAV_SAVE_RS1 (2<<14) /* rs1 saves context */ +#define RS1CONTSAV_FULL_RS1 (3<<14) /* rs1 saves and restores context */ +#define NORMSLEXLAT_MASK (3<<12) +#define SLOW_RS123 (0<<12) +#define SLOW_RS23 (1<<12) +#define SLOW_RS3 (2<<12) +#define NORMAL_RS123 (3<<12) +#define RCMODE_TIMEOUT (1<<11) /* 0 is eval interval method */ +#define IMPROMOEN (1<<10) /* promo is immediate or delayed until next idle interval (only for timeout method above) */ +#define RCENTSYNC (1<<9) /* rs coupled to cpu c-state (3/6/7) */ +#define STATELOCK (1<<7) /* locked to rs_cstate if 0 */ +#define RS_CSTATE_MASK (3<<4) +#define RS_CSTATE_C367_RS1 (0<<4) +#define RS_CSTATE_C36_RS1_C7_RS2 (1<<4) +#define RS_CSTATE_RSVD (2<<4) +#define RS_CSTATE_C367_RS2 (3<<4) +#define REDSAVES (1<<3) /* no context save if was idle during rs0 */ +#define REDRESTORES (1<<2) /* no restore if was idle during rs0 */ +#define VIDCTL 0x111c0 +#define VIDSTS 0x111c8 +#define VIDSTART 0x111cc /* 8 bits */ +#define MEMSTAT_ILK 0x111f8 +#define MEMSTAT_VID_MASK 0x7f00 +#define MEMSTAT_VID_SHIFT 8 +#define MEMSTAT_PSTATE_MASK 0x00f8 +#define MEMSTAT_PSTATE_SHIFT 3 +#define MEMSTAT_MON_ACTV (1<<2) +#define MEMSTAT_SRC_CTL_MASK 0x0003 +#define MEMSTAT_SRC_CTL_CORE 0 +#define MEMSTAT_SRC_CTL_TRB 1 +#define MEMSTAT_SRC_CTL_THM 2 +#define MEMSTAT_SRC_CTL_STDBY 3 +#define RCPREVBSYTUPAVG 0x113b8 +#define RCPREVBSYTDNAVG 0x113bc +#define PMMISC 0x11214 +#define MCPPCE_EN (1<<0) /* enable PM_MSG from PCH->MPC */ +#define SDEW 0x1124c +#define CSIEW0 0x11250 +#define CSIEW1 0x11254 +#define CSIEW2 0x11258 +#define PEW 0x1125c +#define DEW 0x11270 +#define MCHAFE 0x112c0 +#define CSIEC 0x112e0 +#define DMIEC 0x112e4 +#define DDREC 0x112e8 +#define PEG0EC 0x112ec +#define PEG1EC 0x112f0 +#define GFXEC 0x112f4 +#define RPPREVBSYTUPAVG 0x113b8 +#define RPPREVBSYTDNAVG 0x113bc +#define ECR 0x11600 +#define ECR_GPFE (1<<31) +#define ECR_IMONE (1<<30) +#define ECR_CAP_MASK 0x0000001f /* Event range, 0-31 */ +#define OGW0 0x11608 +#define OGW1 0x1160c +#define EG0 0x11610 +#define EG1 0x11614 +#define EG2 0x11618 +#define EG3 0x1161c +#define EG4 0x11620 +#define EG5 0x11624 +#define EG6 0x11628 +#define EG7 0x1162c +#define PXW 0x11664 +#define PXWL 0x11680 +#define LCFUSE02 0x116c0 +#define LCFUSE_HIV_MASK 0x000000ff +#define CSIPLL0 0x12c10 +#define DDRMPLL1 0X12c20 +#define PEG_BAND_GAP_DATA 0x14d68 + +#define GEN6_GT_THREAD_STATUS_REG 0x13805c +#define GEN6_GT_THREAD_STATUS_CORE_MASK 0x7 +#define GEN6_GT_THREAD_STATUS_CORE_MASK_HSW (0x7 | (0x07 << 16)) + +#define GEN6_GT_PERF_STATUS 0x145948 +#define GEN6_RP_STATE_LIMITS 0x145994 +#define GEN6_RP_STATE_CAP 0x145998 + +/* + * Logical Context regs + */ +#define CCID 0x2180 +#define CCID_EN (1<<0) +#define CXT_SIZE 0x21a0 +#define GEN6_CXT_POWER_SIZE(cxt_reg) ((cxt_reg >> 24) & 0x3f) +#define GEN6_CXT_RING_SIZE(cxt_reg) ((cxt_reg >> 18) & 0x3f) +#define GEN6_CXT_RENDER_SIZE(cxt_reg) ((cxt_reg >> 12) & 0x3f) +#define GEN6_CXT_EXTENDED_SIZE(cxt_reg) ((cxt_reg >> 6) & 0x3f) +#define GEN6_CXT_PIPELINE_SIZE(cxt_reg) ((cxt_reg >> 0) & 0x3f) +#define GEN6_CXT_TOTAL_SIZE(cxt_reg) (GEN6_CXT_POWER_SIZE(cxt_reg) + \ + GEN6_CXT_RING_SIZE(cxt_reg) + \ + GEN6_CXT_RENDER_SIZE(cxt_reg) + \ + GEN6_CXT_EXTENDED_SIZE(cxt_reg) + \ + GEN6_CXT_PIPELINE_SIZE(cxt_reg)) +#define GEN7_CXT_SIZE 0x21a8 +#define GEN7_CXT_POWER_SIZE(ctx_reg) ((ctx_reg >> 25) & 0x7f) +#define GEN7_CXT_RING_SIZE(ctx_reg) ((ctx_reg >> 22) & 0x7) +#define GEN7_CXT_RENDER_SIZE(ctx_reg) ((ctx_reg >> 16) & 0x3f) +#define GEN7_CXT_EXTENDED_SIZE(ctx_reg) ((ctx_reg >> 9) & 0x7f) +#define GEN7_CXT_GT1_SIZE(ctx_reg) ((ctx_reg >> 6) & 0x7) +#define GEN7_CXT_VFSTATE_SIZE(ctx_reg) ((ctx_reg >> 0) & 0x3f) +#define GEN7_CXT_TOTAL_SIZE(ctx_reg) (GEN7_CXT_POWER_SIZE(ctx_reg) + \ + GEN7_CXT_RING_SIZE(ctx_reg) + \ + GEN7_CXT_RENDER_SIZE(ctx_reg) + \ + GEN7_CXT_EXTENDED_SIZE(ctx_reg) + \ + GEN7_CXT_GT1_SIZE(ctx_reg) + \ + GEN7_CXT_VFSTATE_SIZE(ctx_reg)) +#define HSW_CXT_POWER_SIZE(ctx_reg) ((ctx_reg >> 26) & 0x3f) +#define HSW_CXT_RING_SIZE(ctx_reg) ((ctx_reg >> 23) & 0x7) +#define HSW_CXT_RENDER_SIZE(ctx_reg) ((ctx_reg >> 15) & 0xff) +#define HSW_CXT_TOTAL_SIZE(ctx_reg) (HSW_CXT_POWER_SIZE(ctx_reg) + \ + HSW_CXT_RING_SIZE(ctx_reg) + \ + HSW_CXT_RENDER_SIZE(ctx_reg) + \ + GEN7_CXT_VFSTATE_SIZE(ctx_reg)) + + +/* + * Overlay regs + */ + +#define OVADD 0x30000 +#define DOVSTA 0x30008 +#define OC_BUF (0x3<<20) +#define OGAMC5 0x30010 +#define OGAMC4 0x30014 +#define OGAMC3 0x30018 +#define OGAMC2 0x3001c +#define OGAMC1 0x30020 +#define OGAMC0 0x30024 + +/* + * Display engine regs + */ + +/* Pipe A timing regs */ +#define _HTOTAL_A 0x60000 +#define _HBLANK_A 0x60004 +#define _HSYNC_A 0x60008 +#define _VTOTAL_A 0x6000c +#define _VBLANK_A 0x60010 +#define _VSYNC_A 0x60014 +#define _PIPEASRC 0x6001c +#define _BCLRPAT_A 0x60020 +#define _VSYNCSHIFT_A 0x60028 + +/* Pipe B timing regs */ +#define _HTOTAL_B 0x61000 +#define _HBLANK_B 0x61004 +#define _HSYNC_B 0x61008 +#define _VTOTAL_B 0x6100c +#define _VBLANK_B 0x61010 +#define _VSYNC_B 0x61014 +#define _PIPEBSRC 0x6101c +#define _BCLRPAT_B 0x61020 +#define _VSYNCSHIFT_B 0x61028 + + +#define HTOTAL(trans) _TRANSCODER(trans, _HTOTAL_A, _HTOTAL_B) +#define HBLANK(trans) _TRANSCODER(trans, _HBLANK_A, _HBLANK_B) +#define HSYNC(trans) _TRANSCODER(trans, _HSYNC_A, _HSYNC_B) +#define VTOTAL(trans) _TRANSCODER(trans, _VTOTAL_A, _VTOTAL_B) +#define VBLANK(trans) _TRANSCODER(trans, _VBLANK_A, _VBLANK_B) +#define VSYNC(trans) _TRANSCODER(trans, _VSYNC_A, _VSYNC_B) +#define BCLRPAT(pipe) _PIPE(pipe, _BCLRPAT_A, _BCLRPAT_B) +#define VSYNCSHIFT(trans) _TRANSCODER(trans, _VSYNCSHIFT_A, _VSYNCSHIFT_B) + +/* VGA port control */ +#define ADPA 0x61100 +#define PCH_ADPA 0xe1100 +#define VLV_ADPA (VLV_DISPLAY_BASE + ADPA) + +#define ADPA_DAC_ENABLE (1<<31) +#define ADPA_DAC_DISABLE 0 +#define ADPA_PIPE_SELECT_MASK (1<<30) +#define ADPA_PIPE_A_SELECT 0 +#define ADPA_PIPE_B_SELECT (1<<30) +#define ADPA_PIPE_SELECT(pipe) ((pipe) << 30) +/* CPT uses bits 29:30 for pch transcoder select */ +#define ADPA_CRT_HOTPLUG_MASK 0x03ff0000 /* bit 25-16 */ +#define ADPA_CRT_HOTPLUG_MONITOR_NONE (0<<24) +#define ADPA_CRT_HOTPLUG_MONITOR_MASK (3<<24) +#define ADPA_CRT_HOTPLUG_MONITOR_COLOR (3<<24) +#define ADPA_CRT_HOTPLUG_MONITOR_MONO (2<<24) +#define ADPA_CRT_HOTPLUG_ENABLE (1<<23) +#define ADPA_CRT_HOTPLUG_PERIOD_64 (0<<22) +#define ADPA_CRT_HOTPLUG_PERIOD_128 (1<<22) +#define ADPA_CRT_HOTPLUG_WARMUP_5MS (0<<21) +#define ADPA_CRT_HOTPLUG_WARMUP_10MS (1<<21) +#define ADPA_CRT_HOTPLUG_SAMPLE_2S (0<<20) +#define ADPA_CRT_HOTPLUG_SAMPLE_4S (1<<20) +#define ADPA_CRT_HOTPLUG_VOLTAGE_40 (0<<18) +#define ADPA_CRT_HOTPLUG_VOLTAGE_50 (1<<18) +#define ADPA_CRT_HOTPLUG_VOLTAGE_60 (2<<18) +#define ADPA_CRT_HOTPLUG_VOLTAGE_70 (3<<18) +#define ADPA_CRT_HOTPLUG_VOLREF_325MV (0<<17) +#define ADPA_CRT_HOTPLUG_VOLREF_475MV (1<<17) +#define ADPA_CRT_HOTPLUG_FORCE_TRIGGER (1<<16) +#define ADPA_USE_VGA_HVPOLARITY (1<<15) +#define ADPA_SETS_HVPOLARITY 0 +#define ADPA_VSYNC_CNTL_DISABLE (1<<11) +#define ADPA_VSYNC_CNTL_ENABLE 0 +#define ADPA_HSYNC_CNTL_DISABLE (1<<10) +#define ADPA_HSYNC_CNTL_ENABLE 0 +#define ADPA_VSYNC_ACTIVE_HIGH (1<<4) +#define ADPA_VSYNC_ACTIVE_LOW 0 +#define ADPA_HSYNC_ACTIVE_HIGH (1<<3) +#define ADPA_HSYNC_ACTIVE_LOW 0 +#define ADPA_DPMS_MASK (~(3<<10)) +#define ADPA_DPMS_ON (0<<10) +#define ADPA_DPMS_SUSPEND (1<<10) +#define ADPA_DPMS_STANDBY (2<<10) +#define ADPA_DPMS_OFF (3<<10) + + +/* Hotplug control (945+ only) */ +#define PORT_HOTPLUG_EN 0x61110 +#define HDMIB_HOTPLUG_INT_EN (1 << 29) +#define DPB_HOTPLUG_INT_EN (1 << 29) +#define HDMIC_HOTPLUG_INT_EN (1 << 28) +#define DPC_HOTPLUG_INT_EN (1 << 28) +#define HDMID_HOTPLUG_INT_EN (1 << 27) +#define DPD_HOTPLUG_INT_EN (1 << 27) +#define SDVOB_HOTPLUG_INT_EN (1 << 26) +#define SDVOC_HOTPLUG_INT_EN (1 << 25) +#define TV_HOTPLUG_INT_EN (1 << 18) +#define CRT_HOTPLUG_INT_EN (1 << 9) +#define CRT_HOTPLUG_FORCE_DETECT (1 << 3) +#define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8) +/* must use period 64 on GM45 according to docs */ +#define CRT_HOTPLUG_ACTIVATION_PERIOD_64 (1 << 8) +#define CRT_HOTPLUG_DAC_ON_TIME_2M (0 << 7) +#define CRT_HOTPLUG_DAC_ON_TIME_4M (1 << 7) +#define CRT_HOTPLUG_VOLTAGE_COMPARE_40 (0 << 5) +#define CRT_HOTPLUG_VOLTAGE_COMPARE_50 (1 << 5) +#define CRT_HOTPLUG_VOLTAGE_COMPARE_60 (2 << 5) +#define CRT_HOTPLUG_VOLTAGE_COMPARE_70 (3 << 5) +#define CRT_HOTPLUG_VOLTAGE_COMPARE_MASK (3 << 5) +#define CRT_HOTPLUG_DETECT_DELAY_1G (0 << 4) +#define CRT_HOTPLUG_DETECT_DELAY_2G (1 << 4) +#define CRT_HOTPLUG_DETECT_VOLTAGE_325MV (0 << 2) +#define CRT_HOTPLUG_DETECT_VOLTAGE_475MV (1 << 2) + +#define PORT_HOTPLUG_STAT 0x61114 +/* HDMI/DP bits are gen4+ */ +#define DPB_HOTPLUG_LIVE_STATUS (1 << 29) +#define DPC_HOTPLUG_LIVE_STATUS (1 << 28) +#define DPD_HOTPLUG_LIVE_STATUS (1 << 27) +#define DPD_HOTPLUG_INT_STATUS (3 << 21) +#define DPC_HOTPLUG_INT_STATUS (3 << 19) +#define DPB_HOTPLUG_INT_STATUS (3 << 17) +/* HDMI bits are shared with the DP bits */ +#define HDMIB_HOTPLUG_LIVE_STATUS (1 << 29) +#define HDMIC_HOTPLUG_LIVE_STATUS (1 << 28) +#define HDMID_HOTPLUG_LIVE_STATUS (1 << 27) +#define HDMID_HOTPLUG_INT_STATUS (3 << 21) +#define HDMIC_HOTPLUG_INT_STATUS (3 << 19) +#define HDMIB_HOTPLUG_INT_STATUS (3 << 17) +/* CRT/TV common between gen3+ */ +#define CRT_HOTPLUG_INT_STATUS (1 << 11) +#define TV_HOTPLUG_INT_STATUS (1 << 10) +#define CRT_HOTPLUG_MONITOR_MASK (3 << 8) +#define CRT_HOTPLUG_MONITOR_COLOR (3 << 8) +#define CRT_HOTPLUG_MONITOR_MONO (2 << 8) +#define CRT_HOTPLUG_MONITOR_NONE (0 << 8) +/* SDVO is different across gen3/4 */ +#define SDVOC_HOTPLUG_INT_STATUS_G4X (1 << 3) +#define SDVOB_HOTPLUG_INT_STATUS_G4X (1 << 2) +#define SDVOC_HOTPLUG_INT_STATUS_I965 (3 << 4) +#define SDVOB_HOTPLUG_INT_STATUS_I965 (3 << 2) +#define SDVOC_HOTPLUG_INT_STATUS_I915 (1 << 7) +#define SDVOB_HOTPLUG_INT_STATUS_I915 (1 << 6) + +/* SDVO port control */ +#define SDVOB 0x61140 +#define SDVOC 0x61160 +#define SDVO_ENABLE (1 << 31) +#define SDVO_PIPE_B_SELECT (1 << 30) +#define SDVO_STALL_SELECT (1 << 29) +#define SDVO_INTERRUPT_ENABLE (1 << 26) +/** + * 915G/GM SDVO pixel multiplier. + * + * Programmed value is multiplier - 1, up to 5x. + * + * \sa DPLL_MD_UDI_MULTIPLIER_MASK + */ +#define SDVO_PORT_MULTIPLY_MASK (7 << 23) +#define SDVO_PORT_MULTIPLY_SHIFT 23 +#define SDVO_PHASE_SELECT_MASK (15 << 19) +#define SDVO_PHASE_SELECT_DEFAULT (6 << 19) +#define SDVO_CLOCK_OUTPUT_INVERT (1 << 18) +#define SDVOC_GANG_MODE (1 << 16) +#define SDVO_ENCODING_SDVO (0x0 << 10) +#define SDVO_ENCODING_HDMI (0x2 << 10) +/** Requird for HDMI operation */ +#define SDVO_NULL_PACKETS_DURING_VSYNC (1 << 9) +#define SDVO_COLOR_RANGE_16_235 (1 << 8) +#define SDVO_BORDER_ENABLE (1 << 7) +#define SDVO_AUDIO_ENABLE (1 << 6) +/** New with 965, default is to be set */ +#define SDVO_VSYNC_ACTIVE_HIGH (1 << 4) +/** New with 965, default is to be set */ +#define SDVO_HSYNC_ACTIVE_HIGH (1 << 3) +#define SDVOB_PCIE_CONCURRENCY (1 << 3) +#define SDVO_DETECTED (1 << 2) +/* Bits to be preserved when writing */ +#define SDVOB_PRESERVE_MASK ((1 << 17) | (1 << 16) | (1 << 14) | (1 << 26)) +#define SDVOC_PRESERVE_MASK ((1 << 17) | (1 << 26)) + +/* DVO port control */ +#define DVOA 0x61120 +#define DVOB 0x61140 +#define DVOC 0x61160 +#define DVO_ENABLE (1 << 31) +#define DVO_PIPE_B_SELECT (1 << 30) +#define DVO_PIPE_STALL_UNUSED (0 << 28) +#define DVO_PIPE_STALL (1 << 28) +#define DVO_PIPE_STALL_TV (2 << 28) +#define DVO_PIPE_STALL_MASK (3 << 28) +#define DVO_USE_VGA_SYNC (1 << 15) +#define DVO_DATA_ORDER_I740 (0 << 14) +#define DVO_DATA_ORDER_FP (1 << 14) +#define DVO_VSYNC_DISABLE (1 << 11) +#define DVO_HSYNC_DISABLE (1 << 10) +#define DVO_VSYNC_TRISTATE (1 << 9) +#define DVO_HSYNC_TRISTATE (1 << 8) +#define DVO_BORDER_ENABLE (1 << 7) +#define DVO_DATA_ORDER_GBRG (1 << 6) +#define DVO_DATA_ORDER_RGGB (0 << 6) +#define DVO_DATA_ORDER_GBRG_ERRATA (0 << 6) +#define DVO_DATA_ORDER_RGGB_ERRATA (1 << 6) +#define DVO_VSYNC_ACTIVE_HIGH (1 << 4) +#define DVO_HSYNC_ACTIVE_HIGH (1 << 3) +#define DVO_BLANK_ACTIVE_HIGH (1 << 2) +#define DVO_OUTPUT_CSTATE_PIXELS (1 << 1) /* SDG only */ +#define DVO_OUTPUT_SOURCE_SIZE_PIXELS (1 << 0) /* SDG only */ +#define DVO_PRESERVE_MASK (0x7<<24) +#define DVOA_SRCDIM 0x61124 +#define DVOB_SRCDIM 0x61144 +#define DVOC_SRCDIM 0x61164 +#define DVO_SRCDIM_HORIZONTAL_SHIFT 12 +#define DVO_SRCDIM_VERTICAL_SHIFT 0 + +/* LVDS port control */ +#define LVDS 0x61180 +/* + * Enables the LVDS port. This bit must be set before DPLLs are enabled, as + * the DPLL semantics change when the LVDS is assigned to that pipe. + */ +#define LVDS_PORT_EN (1 << 31) +/* Selects pipe B for LVDS data. Must be set on pre-965. */ +#define LVDS_PIPEB_SELECT (1 << 30) +#define LVDS_PIPE_MASK (1 << 30) +#define LVDS_PIPE(pipe) ((pipe) << 30) +/* LVDS dithering flag on 965/g4x platform */ +#define LVDS_ENABLE_DITHER (1 << 25) +/* LVDS sync polarity flags. Set to invert (i.e. negative) */ +#define LVDS_VSYNC_POLARITY (1 << 21) +#define LVDS_HSYNC_POLARITY (1 << 20) + +/* Enable border for unscaled (or aspect-scaled) display */ +#define LVDS_BORDER_ENABLE (1 << 15) +/* + * Enables the A0-A2 data pairs and CLKA, containing 18 bits of color data per + * pixel. + */ +#define LVDS_A0A2_CLKA_POWER_MASK (3 << 8) +#define LVDS_A0A2_CLKA_POWER_DOWN (0 << 8) +#define LVDS_A0A2_CLKA_POWER_UP (3 << 8) +/* + * Controls the A3 data pair, which contains the additional LSBs for 24 bit + * mode. Only enabled if LVDS_A0A2_CLKA_POWER_UP also indicates it should be + * on. + */ +#define LVDS_A3_POWER_MASK (3 << 6) +#define LVDS_A3_POWER_DOWN (0 << 6) +#define LVDS_A3_POWER_UP (3 << 6) +/* + * Controls the CLKB pair. This should only be set when LVDS_B0B3_POWER_UP + * is set. + */ +#define LVDS_CLKB_POWER_MASK (3 << 4) +#define LVDS_CLKB_POWER_DOWN (0 << 4) +#define LVDS_CLKB_POWER_UP (3 << 4) +/* + * Controls the B0-B3 data pairs. This must be set to match the DPLL p2 + * setting for whether we are in dual-channel mode. The B3 pair will + * additionally only be powered up when LVDS_A3_POWER_UP is set. + */ +#define LVDS_B0B3_POWER_MASK (3 << 2) +#define LVDS_B0B3_POWER_DOWN (0 << 2) +#define LVDS_B0B3_POWER_UP (3 << 2) + +/* Video Data Island Packet control */ +#define VIDEO_DIP_DATA 0x61178 +/* Read the description of VIDEO_DIP_DATA (before Haswel) or VIDEO_DIP_ECC + * (Haswell and newer) to see which VIDEO_DIP_DATA byte corresponds to each byte + * of the infoframe structure specified by CEA-861. */ +#define VIDEO_DIP_DATA_SIZE 32 +#define VIDEO_DIP_CTL 0x61170 +/* Pre HSW: */ +#define VIDEO_DIP_ENABLE (1 << 31) +#define VIDEO_DIP_PORT_B (1 << 29) +#define VIDEO_DIP_PORT_C (2 << 29) +#define VIDEO_DIP_PORT_D (3 << 29) +#define VIDEO_DIP_PORT_MASK (3 << 29) +#define VIDEO_DIP_ENABLE_GCP (1 << 25) +#define VIDEO_DIP_ENABLE_AVI (1 << 21) +#define VIDEO_DIP_ENABLE_VENDOR (2 << 21) +#define VIDEO_DIP_ENABLE_GAMUT (4 << 21) +#define VIDEO_DIP_ENABLE_SPD (8 << 21) +#define VIDEO_DIP_SELECT_AVI (0 << 19) +#define VIDEO_DIP_SELECT_VENDOR (1 << 19) +#define VIDEO_DIP_SELECT_SPD (3 << 19) +#define VIDEO_DIP_SELECT_MASK (3 << 19) +#define VIDEO_DIP_FREQ_ONCE (0 << 16) +#define VIDEO_DIP_FREQ_VSYNC (1 << 16) +#define VIDEO_DIP_FREQ_2VSYNC (2 << 16) +#define VIDEO_DIP_FREQ_MASK (3 << 16) +/* HSW and later: */ +#define VIDEO_DIP_ENABLE_VSC_HSW (1 << 20) +#define VIDEO_DIP_ENABLE_GCP_HSW (1 << 16) +#define VIDEO_DIP_ENABLE_AVI_HSW (1 << 12) +#define VIDEO_DIP_ENABLE_VS_HSW (1 << 8) +#define VIDEO_DIP_ENABLE_GMP_HSW (1 << 4) +#define VIDEO_DIP_ENABLE_SPD_HSW (1 << 0) + +/* Panel power sequencing */ +#define PP_STATUS 0x61200 +#define PP_ON (1 << 31) +/* + * Indicates that all dependencies of the panel are on: + * + * - PLL enabled + * - pipe enabled + * - LVDS/DVOB/DVOC on + */ +#define PP_READY (1 << 30) +#define PP_SEQUENCE_NONE (0 << 28) +#define PP_SEQUENCE_POWER_UP (1 << 28) +#define PP_SEQUENCE_POWER_DOWN (2 << 28) +#define PP_SEQUENCE_MASK (3 << 28) +#define PP_SEQUENCE_SHIFT 28 +#define PP_CYCLE_DELAY_ACTIVE (1 << 27) +#define PP_SEQUENCE_STATE_MASK 0x0000000f +#define PP_SEQUENCE_STATE_OFF_IDLE (0x0 << 0) +#define PP_SEQUENCE_STATE_OFF_S0_1 (0x1 << 0) +#define PP_SEQUENCE_STATE_OFF_S0_2 (0x2 << 0) +#define PP_SEQUENCE_STATE_OFF_S0_3 (0x3 << 0) +#define PP_SEQUENCE_STATE_ON_IDLE (0x8 << 0) +#define PP_SEQUENCE_STATE_ON_S1_0 (0x9 << 0) +#define PP_SEQUENCE_STATE_ON_S1_2 (0xa << 0) +#define PP_SEQUENCE_STATE_ON_S1_3 (0xb << 0) +#define PP_SEQUENCE_STATE_RESET (0xf << 0) +#define PP_CONTROL 0x61204 +#define POWER_TARGET_ON (1 << 0) +#define PP_ON_DELAYS 0x61208 +#define PP_OFF_DELAYS 0x6120c +#define PP_DIVISOR 0x61210 + +/* Panel fitting */ +#define PFIT_CONTROL 0x61230 +#define PFIT_ENABLE (1 << 31) +#define PFIT_PIPE_MASK (3 << 29) +#define PFIT_PIPE_SHIFT 29 +#define VERT_INTERP_DISABLE (0 << 10) +#define VERT_INTERP_BILINEAR (1 << 10) +#define VERT_INTERP_MASK (3 << 10) +#define VERT_AUTO_SCALE (1 << 9) +#define HORIZ_INTERP_DISABLE (0 << 6) +#define HORIZ_INTERP_BILINEAR (1 << 6) +#define HORIZ_INTERP_MASK (3 << 6) +#define HORIZ_AUTO_SCALE (1 << 5) +#define PANEL_8TO6_DITHER_ENABLE (1 << 3) +#define PFIT_FILTER_FUZZY (0 << 24) +#define PFIT_SCALING_AUTO (0 << 26) +#define PFIT_SCALING_PROGRAMMED (1 << 26) +#define PFIT_SCALING_PILLAR (2 << 26) +#define PFIT_SCALING_LETTER (3 << 26) +#define PFIT_PGM_RATIOS 0x61234 +#define PFIT_VERT_SCALE_MASK 0xfff00000 +#define PFIT_HORIZ_SCALE_MASK 0x0000fff0 +/* Pre-965 */ +#define PFIT_VERT_SCALE_SHIFT 20 +#define PFIT_VERT_SCALE_MASK 0xfff00000 +#define PFIT_HORIZ_SCALE_SHIFT 4 +#define PFIT_HORIZ_SCALE_MASK 0x0000fff0 +/* 965+ */ +#define PFIT_VERT_SCALE_SHIFT_965 16 +#define PFIT_VERT_SCALE_MASK_965 0x1fff0000 +#define PFIT_HORIZ_SCALE_SHIFT_965 0 +#define PFIT_HORIZ_SCALE_MASK_965 0x00001fff + +#define PFIT_AUTO_RATIOS 0x61238 + +/* Backlight control */ +#define BLC_PWM_CTL2 0x61250 /* 965+ only */ +#define BLM_PWM_ENABLE (1 << 31) +#define BLM_COMBINATION_MODE (1 << 30) /* gen4 only */ +#define BLM_PIPE_SELECT (1 << 29) +#define BLM_PIPE_SELECT_IVB (3 << 29) +#define BLM_PIPE_A (0 << 29) +#define BLM_PIPE_B (1 << 29) +#define BLM_PIPE_C (2 << 29) /* ivb + */ +#define BLM_PIPE(pipe) ((pipe) << 29) +#define BLM_POLARITY_I965 (1 << 28) /* gen4 only */ +#define BLM_PHASE_IN_INTERUPT_STATUS (1 << 26) +#define BLM_PHASE_IN_ENABLE (1 << 25) +#define BLM_PHASE_IN_INTERUPT_ENABL (1 << 24) +#define BLM_PHASE_IN_TIME_BASE_SHIFT (16) +#define BLM_PHASE_IN_TIME_BASE_MASK (0xff << 16) +#define BLM_PHASE_IN_COUNT_SHIFT (8) +#define BLM_PHASE_IN_COUNT_MASK (0xff << 8) +#define BLM_PHASE_IN_INCR_SHIFT (0) +#define BLM_PHASE_IN_INCR_MASK (0xff << 0) +#define BLC_PWM_CTL 0x61254 +/* + * This is the most significant 15 bits of the number of backlight cycles in a + * complete cycle of the modulated backlight control. + * + * The actual value is this field multiplied by two. + */ +#define BACKLIGHT_MODULATION_FREQ_SHIFT (17) +#define BACKLIGHT_MODULATION_FREQ_MASK (0x7fff << 17) +#define BLM_LEGACY_MODE (1 << 16) /* gen2 only */ +/* + * This is the number of cycles out of the backlight modulation cycle for which + * the backlight is on. + * + * This field must be no greater than the number of cycles in the complete + * backlight modulation cycle. + */ +#define BACKLIGHT_DUTY_CYCLE_SHIFT (0) +#define BACKLIGHT_DUTY_CYCLE_MASK (0xffff) +#define BACKLIGHT_DUTY_CYCLE_MASK_PNV (0xfffe) +#define BLM_POLARITY_PNV (1 << 0) /* pnv only */ + +#define BLC_HIST_CTL 0x61260 + +/* New registers for PCH-split platforms. Safe where new bits show up, the + * register layout machtes with gen4 BLC_PWM_CTL[12]. */ +#define BLC_PWM_CPU_CTL2 0x48250 +#define BLC_PWM_CPU_CTL 0x48254 + +/* PCH CTL1 is totally different, all but the below bits are reserved. CTL2 is + * like the normal CTL from gen4 and earlier. Hooray for confusing naming. */ +#define BLC_PWM_PCH_CTL1 0xc8250 +#define BLM_PCH_PWM_ENABLE (1 << 31) +#define BLM_PCH_OVERRIDE_ENABLE (1 << 30) +#define BLM_PCH_POLARITY (1 << 29) +#define BLC_PWM_PCH_CTL2 0xc8254 + +/* TV port control */ +#define TV_CTL 0x68000 +/** Enables the TV encoder */ +# define TV_ENC_ENABLE (1 << 31) +/** Sources the TV encoder input from pipe B instead of A. */ +# define TV_ENC_PIPEB_SELECT (1 << 30) +/** Outputs composite video (DAC A only) */ +# define TV_ENC_OUTPUT_COMPOSITE (0 << 28) +/** Outputs SVideo video (DAC B/C) */ +# define TV_ENC_OUTPUT_SVIDEO (1 << 28) +/** Outputs Component video (DAC A/B/C) */ +# define TV_ENC_OUTPUT_COMPONENT (2 << 28) +/** Outputs Composite and SVideo (DAC A/B/C) */ +# define TV_ENC_OUTPUT_SVIDEO_COMPOSITE (3 << 28) +# define TV_TRILEVEL_SYNC (1 << 21) +/** Enables slow sync generation (945GM only) */ +# define TV_SLOW_SYNC (1 << 20) +/** Selects 4x oversampling for 480i and 576p */ +# define TV_OVERSAMPLE_4X (0 << 18) +/** Selects 2x oversampling for 720p and 1080i */ +# define TV_OVERSAMPLE_2X (1 << 18) +/** Selects no oversampling for 1080p */ +# define TV_OVERSAMPLE_NONE (2 << 18) +/** Selects 8x oversampling */ +# define TV_OVERSAMPLE_8X (3 << 18) +/** Selects progressive mode rather than interlaced */ +# define TV_PROGRESSIVE (1 << 17) +/** Sets the colorburst to PAL mode. Required for non-M PAL modes. */ +# define TV_PAL_BURST (1 << 16) +/** Field for setting delay of Y compared to C */ +# define TV_YC_SKEW_MASK (7 << 12) +/** Enables a fix for 480p/576p standard definition modes on the 915GM only */ +# define TV_ENC_SDP_FIX (1 << 11) +/** + * Enables a fix for the 915GM only. + * + * Not sure what it does. + */ +# define TV_ENC_C0_FIX (1 << 10) +/** Bits that must be preserved by software */ +# define TV_CTL_SAVE ((1 << 11) | (3 << 9) | (7 << 6) | 0xf) +# define TV_FUSE_STATE_MASK (3 << 4) +/** Read-only state that reports all features enabled */ +# define TV_FUSE_STATE_ENABLED (0 << 4) +/** Read-only state that reports that Macrovision is disabled in hardware*/ +# define TV_FUSE_STATE_NO_MACROVISION (1 << 4) +/** Read-only state that reports that TV-out is disabled in hardware. */ +# define TV_FUSE_STATE_DISABLED (2 << 4) +/** Normal operation */ +# define TV_TEST_MODE_NORMAL (0 << 0) +/** Encoder test pattern 1 - combo pattern */ +# define TV_TEST_MODE_PATTERN_1 (1 << 0) +/** Encoder test pattern 2 - full screen vertical 75% color bars */ +# define TV_TEST_MODE_PATTERN_2 (2 << 0) +/** Encoder test pattern 3 - full screen horizontal 75% color bars */ +# define TV_TEST_MODE_PATTERN_3 (3 << 0) +/** Encoder test pattern 4 - random noise */ +# define TV_TEST_MODE_PATTERN_4 (4 << 0) +/** Encoder test pattern 5 - linear color ramps */ +# define TV_TEST_MODE_PATTERN_5 (5 << 0) +/** + * This test mode forces the DACs to 50% of full output. + * + * This is used for load detection in combination with TVDAC_SENSE_MASK + */ +# define TV_TEST_MODE_MONITOR_DETECT (7 << 0) +# define TV_TEST_MODE_MASK (7 << 0) + +#define TV_DAC 0x68004 +# define TV_DAC_SAVE 0x00ffff00 +/** + * Reports that DAC state change logic has reported change (RO). + * + * This gets cleared when TV_DAC_STATE_EN is cleared +*/ +# define TVDAC_STATE_CHG (1 << 31) +# define TVDAC_SENSE_MASK (7 << 28) +/** Reports that DAC A voltage is above the detect threshold */ +# define TVDAC_A_SENSE (1 << 30) +/** Reports that DAC B voltage is above the detect threshold */ +# define TVDAC_B_SENSE (1 << 29) +/** Reports that DAC C voltage is above the detect threshold */ +# define TVDAC_C_SENSE (1 << 28) +/** + * Enables DAC state detection logic, for load-based TV detection. + * + * The PLL of the chosen pipe (in TV_CTL) must be running, and the encoder set + * to off, for load detection to work. + */ +# define TVDAC_STATE_CHG_EN (1 << 27) +/** Sets the DAC A sense value to high */ +# define TVDAC_A_SENSE_CTL (1 << 26) +/** Sets the DAC B sense value to high */ +# define TVDAC_B_SENSE_CTL (1 << 25) +/** Sets the DAC C sense value to high */ +# define TVDAC_C_SENSE_CTL (1 << 24) +/** Overrides the ENC_ENABLE and DAC voltage levels */ +# define DAC_CTL_OVERRIDE (1 << 7) +/** Sets the slew rate. Must be preserved in software */ +# define ENC_TVDAC_SLEW_FAST (1 << 6) +# define DAC_A_1_3_V (0 << 4) +# define DAC_A_1_1_V (1 << 4) +# define DAC_A_0_7_V (2 << 4) +# define DAC_A_MASK (3 << 4) +# define DAC_B_1_3_V (0 << 2) +# define DAC_B_1_1_V (1 << 2) +# define DAC_B_0_7_V (2 << 2) +# define DAC_B_MASK (3 << 2) +# define DAC_C_1_3_V (0 << 0) +# define DAC_C_1_1_V (1 << 0) +# define DAC_C_0_7_V (2 << 0) +# define DAC_C_MASK (3 << 0) + +/** + * CSC coefficients are stored in a floating point format with 9 bits of + * mantissa and 2 or 3 bits of exponent. The exponent is represented as 2**-n, + * where 2-bit exponents are unsigned n, and 3-bit exponents are signed n with + * -1 (0x3) being the only legal negative value. + */ +#define TV_CSC_Y 0x68010 +# define TV_RY_MASK 0x07ff0000 +# define TV_RY_SHIFT 16 +# define TV_GY_MASK 0x00000fff +# define TV_GY_SHIFT 0 + +#define TV_CSC_Y2 0x68014 +# define TV_BY_MASK 0x07ff0000 +# define TV_BY_SHIFT 16 +/** + * Y attenuation for component video. + * + * Stored in 1.9 fixed point. + */ +# define TV_AY_MASK 0x000003ff +# define TV_AY_SHIFT 0 + +#define TV_CSC_U 0x68018 +# define TV_RU_MASK 0x07ff0000 +# define TV_RU_SHIFT 16 +# define TV_GU_MASK 0x000007ff +# define TV_GU_SHIFT 0 + +#define TV_CSC_U2 0x6801c +# define TV_BU_MASK 0x07ff0000 +# define TV_BU_SHIFT 16 +/** + * U attenuation for component video. + * + * Stored in 1.9 fixed point. + */ +# define TV_AU_MASK 0x000003ff +# define TV_AU_SHIFT 0 + +#define TV_CSC_V 0x68020 +# define TV_RV_MASK 0x0fff0000 +# define TV_RV_SHIFT 16 +# define TV_GV_MASK 0x000007ff +# define TV_GV_SHIFT 0 + +#define TV_CSC_V2 0x68024 +# define TV_BV_MASK 0x07ff0000 +# define TV_BV_SHIFT 16 +/** + * V attenuation for component video. + * + * Stored in 1.9 fixed point. + */ +# define TV_AV_MASK 0x000007ff +# define TV_AV_SHIFT 0 + +#define TV_CLR_KNOBS 0x68028 +/** 2s-complement brightness adjustment */ +# define TV_BRIGHTNESS_MASK 0xff000000 +# define TV_BRIGHTNESS_SHIFT 24 +/** Contrast adjustment, as a 2.6 unsigned floating point number */ +# define TV_CONTRAST_MASK 0x00ff0000 +# define TV_CONTRAST_SHIFT 16 +/** Saturation adjustment, as a 2.6 unsigned floating point number */ +# define TV_SATURATION_MASK 0x0000ff00 +# define TV_SATURATION_SHIFT 8 +/** Hue adjustment, as an integer phase angle in degrees */ +# define TV_HUE_MASK 0x000000ff +# define TV_HUE_SHIFT 0 + +#define TV_CLR_LEVEL 0x6802c +/** Controls the DAC level for black */ +# define TV_BLACK_LEVEL_MASK 0x01ff0000 +# define TV_BLACK_LEVEL_SHIFT 16 +/** Controls the DAC level for blanking */ +# define TV_BLANK_LEVEL_MASK 0x000001ff +# define TV_BLANK_LEVEL_SHIFT 0 + +#define TV_H_CTL_1 0x68030 +/** Number of pixels in the hsync. */ +# define TV_HSYNC_END_MASK 0x1fff0000 +# define TV_HSYNC_END_SHIFT 16 +/** Total number of pixels minus one in the line (display and blanking). */ +# define TV_HTOTAL_MASK 0x00001fff +# define TV_HTOTAL_SHIFT 0 + +#define TV_H_CTL_2 0x68034 +/** Enables the colorburst (needed for non-component color) */ +# define TV_BURST_ENA (1 << 31) +/** Offset of the colorburst from the start of hsync, in pixels minus one. */ +# define TV_HBURST_START_SHIFT 16 +# define TV_HBURST_START_MASK 0x1fff0000 +/** Length of the colorburst */ +# define TV_HBURST_LEN_SHIFT 0 +# define TV_HBURST_LEN_MASK 0x0001fff + +#define TV_H_CTL_3 0x68038 +/** End of hblank, measured in pixels minus one from start of hsync */ +# define TV_HBLANK_END_SHIFT 16 +# define TV_HBLANK_END_MASK 0x1fff0000 +/** Start of hblank, measured in pixels minus one from start of hsync */ +# define TV_HBLANK_START_SHIFT 0 +# define TV_HBLANK_START_MASK 0x0001fff + +#define TV_V_CTL_1 0x6803c +/** XXX */ +# define TV_NBR_END_SHIFT 16 +# define TV_NBR_END_MASK 0x07ff0000 +/** XXX */ +# define TV_VI_END_F1_SHIFT 8 +# define TV_VI_END_F1_MASK 0x00003f00 +/** XXX */ +# define TV_VI_END_F2_SHIFT 0 +# define TV_VI_END_F2_MASK 0x0000003f + +#define TV_V_CTL_2 0x68040 +/** Length of vsync, in half lines */ +# define TV_VSYNC_LEN_MASK 0x07ff0000 +# define TV_VSYNC_LEN_SHIFT 16 +/** Offset of the start of vsync in field 1, measured in one less than the + * number of half lines. + */ +# define TV_VSYNC_START_F1_MASK 0x00007f00 +# define TV_VSYNC_START_F1_SHIFT 8 +/** + * Offset of the start of vsync in field 2, measured in one less than the + * number of half lines. + */ +# define TV_VSYNC_START_F2_MASK 0x0000007f +# define TV_VSYNC_START_F2_SHIFT 0 + +#define TV_V_CTL_3 0x68044 +/** Enables generation of the equalization signal */ +# define TV_EQUAL_ENA (1 << 31) +/** Length of vsync, in half lines */ +# define TV_VEQ_LEN_MASK 0x007f0000 +# define TV_VEQ_LEN_SHIFT 16 +/** Offset of the start of equalization in field 1, measured in one less than + * the number of half lines. + */ +# define TV_VEQ_START_F1_MASK 0x0007f00 +# define TV_VEQ_START_F1_SHIFT 8 +/** + * Offset of the start of equalization in field 2, measured in one less than + * the number of half lines. + */ +# define TV_VEQ_START_F2_MASK 0x000007f +# define TV_VEQ_START_F2_SHIFT 0 + +#define TV_V_CTL_4 0x68048 +/** + * Offset to start of vertical colorburst, measured in one less than the + * number of lines from vertical start. + */ +# define TV_VBURST_START_F1_MASK 0x003f0000 +# define TV_VBURST_START_F1_SHIFT 16 +/** + * Offset to the end of vertical colorburst, measured in one less than the + * number of lines from the start of NBR. + */ +# define TV_VBURST_END_F1_MASK 0x000000ff +# define TV_VBURST_END_F1_SHIFT 0 + +#define TV_V_CTL_5 0x6804c +/** + * Offset to start of vertical colorburst, measured in one less than the + * number of lines from vertical start. + */ +# define TV_VBURST_START_F2_MASK 0x003f0000 +# define TV_VBURST_START_F2_SHIFT 16 +/** + * Offset to the end of vertical colorburst, measured in one less than the + * number of lines from the start of NBR. + */ +# define TV_VBURST_END_F2_MASK 0x000000ff +# define TV_VBURST_END_F2_SHIFT 0 + +#define TV_V_CTL_6 0x68050 +/** + * Offset to start of vertical colorburst, measured in one less than the + * number of lines from vertical start. + */ +# define TV_VBURST_START_F3_MASK 0x003f0000 +# define TV_VBURST_START_F3_SHIFT 16 +/** + * Offset to the end of vertical colorburst, measured in one less than the + * number of lines from the start of NBR. + */ +# define TV_VBURST_END_F3_MASK 0x000000ff +# define TV_VBURST_END_F3_SHIFT 0 + +#define TV_V_CTL_7 0x68054 +/** + * Offset to start of vertical colorburst, measured in one less than the + * number of lines from vertical start. + */ +# define TV_VBURST_START_F4_MASK 0x003f0000 +# define TV_VBURST_START_F4_SHIFT 16 +/** + * Offset to the end of vertical colorburst, measured in one less than the + * number of lines from the start of NBR. + */ +# define TV_VBURST_END_F4_MASK 0x000000ff +# define TV_VBURST_END_F4_SHIFT 0 + +#define TV_SC_CTL_1 0x68060 +/** Turns on the first subcarrier phase generation DDA */ +# define TV_SC_DDA1_EN (1 << 31) +/** Turns on the first subcarrier phase generation DDA */ +# define TV_SC_DDA2_EN (1 << 30) +/** Turns on the first subcarrier phase generation DDA */ +# define TV_SC_DDA3_EN (1 << 29) +/** Sets the subcarrier DDA to reset frequency every other field */ +# define TV_SC_RESET_EVERY_2 (0 << 24) +/** Sets the subcarrier DDA to reset frequency every fourth field */ +# define TV_SC_RESET_EVERY_4 (1 << 24) +/** Sets the subcarrier DDA to reset frequency every eighth field */ +# define TV_SC_RESET_EVERY_8 (2 << 24) +/** Sets the subcarrier DDA to never reset the frequency */ +# define TV_SC_RESET_NEVER (3 << 24) +/** Sets the peak amplitude of the colorburst.*/ +# define TV_BURST_LEVEL_MASK 0x00ff0000 +# define TV_BURST_LEVEL_SHIFT 16 +/** Sets the increment of the first subcarrier phase generation DDA */ +# define TV_SCDDA1_INC_MASK 0x00000fff +# define TV_SCDDA1_INC_SHIFT 0 + +#define TV_SC_CTL_2 0x68064 +/** Sets the rollover for the second subcarrier phase generation DDA */ +# define TV_SCDDA2_SIZE_MASK 0x7fff0000 +# define TV_SCDDA2_SIZE_SHIFT 16 +/** Sets the increent of the second subcarrier phase generation DDA */ +# define TV_SCDDA2_INC_MASK 0x00007fff +# define TV_SCDDA2_INC_SHIFT 0 + +#define TV_SC_CTL_3 0x68068 +/** Sets the rollover for the third subcarrier phase generation DDA */ +# define TV_SCDDA3_SIZE_MASK 0x7fff0000 +# define TV_SCDDA3_SIZE_SHIFT 16 +/** Sets the increent of the third subcarrier phase generation DDA */ +# define TV_SCDDA3_INC_MASK 0x00007fff +# define TV_SCDDA3_INC_SHIFT 0 + +#define TV_WIN_POS 0x68070 +/** X coordinate of the display from the start of horizontal active */ +# define TV_XPOS_MASK 0x1fff0000 +# define TV_XPOS_SHIFT 16 +/** Y coordinate of the display from the start of vertical active (NBR) */ +# define TV_YPOS_MASK 0x00000fff +# define TV_YPOS_SHIFT 0 + +#define TV_WIN_SIZE 0x68074 +/** Horizontal size of the display window, measured in pixels*/ +# define TV_XSIZE_MASK 0x1fff0000 +# define TV_XSIZE_SHIFT 16 +/** + * Vertical size of the display window, measured in pixels. + * + * Must be even for interlaced modes. + */ +# define TV_YSIZE_MASK 0x00000fff +# define TV_YSIZE_SHIFT 0 + +#define TV_FILTER_CTL_1 0x68080 +/** + * Enables automatic scaling calculation. + * + * If set, the rest of the registers are ignored, and the calculated values can + * be read back from the register. + */ +# define TV_AUTO_SCALE (1 << 31) +/** + * Disables the vertical filter. + * + * This is required on modes more than 1024 pixels wide */ +# define TV_V_FILTER_BYPASS (1 << 29) +/** Enables adaptive vertical filtering */ +# define TV_VADAPT (1 << 28) +# define TV_VADAPT_MODE_MASK (3 << 26) +/** Selects the least adaptive vertical filtering mode */ +# define TV_VADAPT_MODE_LEAST (0 << 26) +/** Selects the moderately adaptive vertical filtering mode */ +# define TV_VADAPT_MODE_MODERATE (1 << 26) +/** Selects the most adaptive vertical filtering mode */ +# define TV_VADAPT_MODE_MOST (3 << 26) +/** + * Sets the horizontal scaling factor. + * + * This should be the fractional part of the horizontal scaling factor divided + * by the oversampling rate. TV_HSCALE should be less than 1, and set to: + * + * (src width - 1) / ((oversample * dest width) - 1) + */ +# define TV_HSCALE_FRAC_MASK 0x00003fff +# define TV_HSCALE_FRAC_SHIFT 0 + +#define TV_FILTER_CTL_2 0x68084 +/** + * Sets the integer part of the 3.15 fixed-point vertical scaling factor. + * + * TV_VSCALE should be (src height - 1) / ((interlace * dest height) - 1) + */ +# define TV_VSCALE_INT_MASK 0x00038000 +# define TV_VSCALE_INT_SHIFT 15 +/** + * Sets the fractional part of the 3.15 fixed-point vertical scaling factor. + * + * \sa TV_VSCALE_INT_MASK + */ +# define TV_VSCALE_FRAC_MASK 0x00007fff +# define TV_VSCALE_FRAC_SHIFT 0 + +#define TV_FILTER_CTL_3 0x68088 +/** + * Sets the integer part of the 3.15 fixed-point vertical scaling factor. + * + * TV_VSCALE should be (src height - 1) / (1/4 * (dest height - 1)) + * + * For progressive modes, TV_VSCALE_IP_INT should be set to zeroes. + */ +# define TV_VSCALE_IP_INT_MASK 0x00038000 +# define TV_VSCALE_IP_INT_SHIFT 15 +/** + * Sets the fractional part of the 3.15 fixed-point vertical scaling factor. + * + * For progressive modes, TV_VSCALE_IP_INT should be set to zeroes. + * + * \sa TV_VSCALE_IP_INT_MASK + */ +# define TV_VSCALE_IP_FRAC_MASK 0x00007fff +# define TV_VSCALE_IP_FRAC_SHIFT 0 + +#define TV_CC_CONTROL 0x68090 +# define TV_CC_ENABLE (1 << 31) +/** + * Specifies which field to send the CC data in. + * + * CC data is usually sent in field 0. + */ +# define TV_CC_FID_MASK (1 << 27) +# define TV_CC_FID_SHIFT 27 +/** Sets the horizontal position of the CC data. Usually 135. */ +# define TV_CC_HOFF_MASK 0x03ff0000 +# define TV_CC_HOFF_SHIFT 16 +/** Sets the vertical position of the CC data. Usually 21 */ +# define TV_CC_LINE_MASK 0x0000003f +# define TV_CC_LINE_SHIFT 0 + +#define TV_CC_DATA 0x68094 +# define TV_CC_RDY (1 << 31) +/** Second word of CC data to be transmitted. */ +# define TV_CC_DATA_2_MASK 0x007f0000 +# define TV_CC_DATA_2_SHIFT 16 +/** First word of CC data to be transmitted. */ +# define TV_CC_DATA_1_MASK 0x0000007f +# define TV_CC_DATA_1_SHIFT 0 + +#define TV_H_LUMA_0 0x68100 +#define TV_H_LUMA_59 0x681ec +#define TV_H_CHROMA_0 0x68200 +#define TV_H_CHROMA_59 0x682ec +#define TV_V_LUMA_0 0x68300 +#define TV_V_LUMA_42 0x683a8 +#define TV_V_CHROMA_0 0x68400 +#define TV_V_CHROMA_42 0x684a8 + +/* Display Port */ +#define DP_A 0x64000 /* eDP */ +#define DP_B 0x64100 +#define DP_C 0x64200 +#define DP_D 0x64300 + +#define DP_PORT_EN (1 << 31) +#define DP_PIPEB_SELECT (1 << 30) +#define DP_PIPE_MASK (1 << 30) + +/* Link training mode - select a suitable mode for each stage */ +#define DP_LINK_TRAIN_PAT_1 (0 << 28) +#define DP_LINK_TRAIN_PAT_2 (1 << 28) +#define DP_LINK_TRAIN_PAT_IDLE (2 << 28) +#define DP_LINK_TRAIN_OFF (3 << 28) +#define DP_LINK_TRAIN_MASK (3 << 28) +#define DP_LINK_TRAIN_SHIFT 28 + +/* CPT Link training mode */ +#define DP_LINK_TRAIN_PAT_1_CPT (0 << 8) +#define DP_LINK_TRAIN_PAT_2_CPT (1 << 8) +#define DP_LINK_TRAIN_PAT_IDLE_CPT (2 << 8) +#define DP_LINK_TRAIN_OFF_CPT (3 << 8) +#define DP_LINK_TRAIN_MASK_CPT (7 << 8) +#define DP_LINK_TRAIN_SHIFT_CPT 8 + +/* Signal voltages. These are mostly controlled by the other end */ +#define DP_VOLTAGE_0_4 (0 << 25) +#define DP_VOLTAGE_0_6 (1 << 25) +#define DP_VOLTAGE_0_8 (2 << 25) +#define DP_VOLTAGE_1_2 (3 << 25) +#define DP_VOLTAGE_MASK (7 << 25) +#define DP_VOLTAGE_SHIFT 25 + +/* Signal pre-emphasis levels, like voltages, the other end tells us what + * they want + */ +#define DP_PRE_EMPHASIS_0 (0 << 22) +#define DP_PRE_EMPHASIS_3_5 (1 << 22) +#define DP_PRE_EMPHASIS_6 (2 << 22) +#define DP_PRE_EMPHASIS_9_5 (3 << 22) +#define DP_PRE_EMPHASIS_MASK (7 << 22) +#define DP_PRE_EMPHASIS_SHIFT 22 + +/* How many wires to use. I guess 3 was too hard */ +#define DP_PORT_WIDTH_1 (0 << 19) +#define DP_PORT_WIDTH_2 (1 << 19) +#define DP_PORT_WIDTH_4 (3 << 19) +#define DP_PORT_WIDTH_MASK (7 << 19) + +/* Mystic DPCD version 1.1 special mode */ +#define DP_ENHANCED_FRAMING (1 << 18) + +/* eDP */ +#define DP_PLL_FREQ_270MHZ (0 << 16) +#define DP_PLL_FREQ_160MHZ (1 << 16) +#define DP_PLL_FREQ_MASK (3 << 16) + +/** locked once port is enabled */ +#define DP_PORT_REVERSAL (1 << 15) + +/* eDP */ +#define DP_PLL_ENABLE (1 << 14) + +/** sends the clock on lane 15 of the PEG for debug */ +#define DP_CLOCK_OUTPUT_ENABLE (1 << 13) + +#define DP_SCRAMBLING_DISABLE (1 << 12) +#define DP_SCRAMBLING_DISABLE_IRONLAKE (1 << 7) + +/** limit RGB values to avoid confusing TVs */ +#define DP_COLOR_RANGE_16_235 (1 << 8) + +/** Turn on the audio link */ +#define DP_AUDIO_OUTPUT_ENABLE (1 << 6) + +/** vs and hs sync polarity */ +#define DP_SYNC_VS_HIGH (1 << 4) +#define DP_SYNC_HS_HIGH (1 << 3) + +/** A fantasy */ +#define DP_DETECTED (1 << 2) + +/** The aux channel provides a way to talk to the + * signal sink for DDC etc. Max packet size supported + * is 20 bytes in each direction, hence the 5 fixed + * data registers + */ +#define DPA_AUX_CH_CTL 0x64010 +#define DPA_AUX_CH_DATA1 0x64014 +#define DPA_AUX_CH_DATA2 0x64018 +#define DPA_AUX_CH_DATA3 0x6401c +#define DPA_AUX_CH_DATA4 0x64020 +#define DPA_AUX_CH_DATA5 0x64024 + +#define DPB_AUX_CH_CTL 0x64110 +#define DPB_AUX_CH_DATA1 0x64114 +#define DPB_AUX_CH_DATA2 0x64118 +#define DPB_AUX_CH_DATA3 0x6411c +#define DPB_AUX_CH_DATA4 0x64120 +#define DPB_AUX_CH_DATA5 0x64124 + +#define DPC_AUX_CH_CTL 0x64210 +#define DPC_AUX_CH_DATA1 0x64214 +#define DPC_AUX_CH_DATA2 0x64218 +#define DPC_AUX_CH_DATA3 0x6421c +#define DPC_AUX_CH_DATA4 0x64220 +#define DPC_AUX_CH_DATA5 0x64224 + +#define DPD_AUX_CH_CTL 0x64310 +#define DPD_AUX_CH_DATA1 0x64314 +#define DPD_AUX_CH_DATA2 0x64318 +#define DPD_AUX_CH_DATA3 0x6431c +#define DPD_AUX_CH_DATA4 0x64320 +#define DPD_AUX_CH_DATA5 0x64324 + +#define DP_AUX_CH_CTL_SEND_BUSY (1 << 31) +#define DP_AUX_CH_CTL_DONE (1 << 30) +#define DP_AUX_CH_CTL_INTERRUPT (1 << 29) +#define DP_AUX_CH_CTL_TIME_OUT_ERROR (1 << 28) +#define DP_AUX_CH_CTL_TIME_OUT_400us (0 << 26) +#define DP_AUX_CH_CTL_TIME_OUT_600us (1 << 26) +#define DP_AUX_CH_CTL_TIME_OUT_800us (2 << 26) +#define DP_AUX_CH_CTL_TIME_OUT_1600us (3 << 26) +#define DP_AUX_CH_CTL_TIME_OUT_MASK (3 << 26) +#define DP_AUX_CH_CTL_RECEIVE_ERROR (1 << 25) +#define DP_AUX_CH_CTL_MESSAGE_SIZE_MASK (0x1f << 20) +#define DP_AUX_CH_CTL_MESSAGE_SIZE_SHIFT 20 +#define DP_AUX_CH_CTL_PRECHARGE_2US_MASK (0xf << 16) +#define DP_AUX_CH_CTL_PRECHARGE_2US_SHIFT 16 +#define DP_AUX_CH_CTL_AUX_AKSV_SELECT (1 << 15) +#define DP_AUX_CH_CTL_MANCHESTER_TEST (1 << 14) +#define DP_AUX_CH_CTL_SYNC_TEST (1 << 13) +#define DP_AUX_CH_CTL_DEGLITCH_TEST (1 << 12) +#define DP_AUX_CH_CTL_PRECHARGE_TEST (1 << 11) +#define DP_AUX_CH_CTL_BIT_CLOCK_2X_MASK (0x7ff) +#define DP_AUX_CH_CTL_BIT_CLOCK_2X_SHIFT 0 + +/* + * Computing GMCH M and N values for the Display Port link + * + * GMCH M/N = dot clock * bytes per pixel / ls_clk * # of lanes + * + * ls_clk (we assume) is the DP link clock (1.62 or 2.7 GHz) + * + * The GMCH value is used internally + * + * bytes_per_pixel is the number of bytes coming out of the plane, + * which is after the LUTs, so we want the bytes for our color format. + * For our current usage, this is always 3, one byte for R, G and B. + */ +#define _PIPEA_GMCH_DATA_M 0x70050 +#define _PIPEB_GMCH_DATA_M 0x71050 + +/* Transfer unit size for display port - 1, default is 0x3f (for TU size 64) */ +#define PIPE_GMCH_DATA_M_TU_SIZE_MASK (0x3f << 25) +#define PIPE_GMCH_DATA_M_TU_SIZE_SHIFT 25 + +#define PIPE_GMCH_DATA_M_MASK (0xffffff) + +#define _PIPEA_GMCH_DATA_N 0x70054 +#define _PIPEB_GMCH_DATA_N 0x71054 +#define PIPE_GMCH_DATA_N_MASK (0xffffff) + +/* + * Computing Link M and N values for the Display Port link + * + * Link M / N = pixel_clock / ls_clk + * + * (the DP spec calls pixel_clock the 'strm_clk') + * + * The Link value is transmitted in the Main Stream + * Attributes and VB-ID. + */ + +#define _PIPEA_DP_LINK_M 0x70060 +#define _PIPEB_DP_LINK_M 0x71060 +#define PIPEA_DP_LINK_M_MASK (0xffffff) + +#define _PIPEA_DP_LINK_N 0x70064 +#define _PIPEB_DP_LINK_N 0x71064 +#define PIPEA_DP_LINK_N_MASK (0xffffff) + +#define PIPE_GMCH_DATA_M(pipe) _PIPE(pipe, _PIPEA_GMCH_DATA_M, _PIPEB_GMCH_DATA_M) +#define PIPE_GMCH_DATA_N(pipe) _PIPE(pipe, _PIPEA_GMCH_DATA_N, _PIPEB_GMCH_DATA_N) +#define PIPE_DP_LINK_M(pipe) _PIPE(pipe, _PIPEA_DP_LINK_M, _PIPEB_DP_LINK_M) +#define PIPE_DP_LINK_N(pipe) _PIPE(pipe, _PIPEA_DP_LINK_N, _PIPEB_DP_LINK_N) + +/* Display & cursor control */ + +/* Pipe A */ +#define _PIPEADSL 0x70000 +#define DSL_LINEMASK_GEN2 0x00000fff +#define DSL_LINEMASK_GEN3 0x00001fff +#define _PIPEACONF 0x70008 +#define PIPECONF_ENABLE (1<<31) +#define PIPECONF_DISABLE 0 +#define PIPECONF_DOUBLE_WIDE (1<<30) +#define I965_PIPECONF_ACTIVE (1<<30) +#define PIPECONF_FRAME_START_DELAY_MASK (3<<27) +#define PIPECONF_SINGLE_WIDE 0 +#define PIPECONF_PIPE_UNLOCKED 0 +#define PIPECONF_PIPE_LOCKED (1<<25) +#define PIPECONF_PALETTE 0 +#define PIPECONF_GAMMA (1<<24) +#define PIPECONF_FORCE_BORDER (1<<25) +#define PIPECONF_INTERLACE_MASK (7 << 21) +#define PIPECONF_INTERLACE_MASK_HSW (3 << 21) +/* Note that pre-gen3 does not support interlaced display directly. Panel + * fitting must be disabled on pre-ilk for interlaced. */ +#define PIPECONF_PROGRESSIVE (0 << 21) +#define PIPECONF_INTERLACE_W_SYNC_SHIFT_PANEL (4 << 21) /* gen4 only */ +#define PIPECONF_INTERLACE_W_SYNC_SHIFT (5 << 21) /* gen4 only */ +#define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) +#define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) /* gen3 only */ +/* Ironlake and later have a complete new set of values for interlaced. PFIT + * means panel fitter required, PF means progressive fetch, DBL means power + * saving pixel doubling. */ +#define PIPECONF_PFIT_PF_INTERLACED_ILK (1 << 21) +#define PIPECONF_INTERLACED_ILK (3 << 21) +#define PIPECONF_INTERLACED_DBL_ILK (4 << 21) /* ilk/snb only */ +#define PIPECONF_PFIT_PF_INTERLACED_DBL_ILK (5 << 21) /* ilk/snb only */ +#define PIPECONF_CXSR_DOWNCLOCK (1<<16) +#define PIPECONF_BPP_MASK (0x000000e0) +#define PIPECONF_BPP_8 (0<<5) +#define PIPECONF_BPP_10 (1<<5) +#define PIPECONF_BPP_6 (2<<5) +#define PIPECONF_BPP_12 (3<<5) +#define PIPECONF_DITHER_EN (1<<4) +#define PIPECONF_DITHER_TYPE_MASK (0x0000000c) +#define PIPECONF_DITHER_TYPE_SP (0<<2) +#define PIPECONF_DITHER_TYPE_ST1 (1<<2) +#define PIPECONF_DITHER_TYPE_ST2 (2<<2) +#define PIPECONF_DITHER_TYPE_TEMP (3<<2) +#define _PIPEASTAT 0x70024 +#define PIPE_FIFO_UNDERRUN_STATUS (1UL<<31) +#define SPRITE1_FLIPDONE_INT_EN_VLV (1UL<<30) +#define PIPE_CRC_ERROR_ENABLE (1UL<<29) +#define PIPE_CRC_DONE_ENABLE (1UL<<28) +#define PIPE_GMBUS_EVENT_ENABLE (1UL<<27) +#define PLANE_FLIP_DONE_INT_EN_VLV (1UL<<26) +#define PIPE_HOTPLUG_INTERRUPT_ENABLE (1UL<<26) +#define PIPE_VSYNC_INTERRUPT_ENABLE (1UL<<25) +#define PIPE_DISPLAY_LINE_COMPARE_ENABLE (1UL<<24) +#define PIPE_DPST_EVENT_ENABLE (1UL<<23) +#define SPRITE0_FLIP_DONE_INT_EN_VLV (1UL<<26) +#define PIPE_LEGACY_BLC_EVENT_ENABLE (1UL<<22) +#define PIPE_ODD_FIELD_INTERRUPT_ENABLE (1UL<<21) +#define PIPE_EVEN_FIELD_INTERRUPT_ENABLE (1UL<<20) +#define PIPE_HOTPLUG_TV_INTERRUPT_ENABLE (1UL<<18) /* pre-965 */ +#define PIPE_START_VBLANK_INTERRUPT_ENABLE (1UL<<18) /* 965 or later */ +#define PIPE_VBLANK_INTERRUPT_ENABLE (1UL<<17) +#define PIPEA_HBLANK_INT_EN_VLV (1UL<<16) +#define PIPE_OVERLAY_UPDATED_ENABLE (1UL<<16) +#define SPRITE1_FLIPDONE_INT_STATUS_VLV (1UL<<15) +#define SPRITE0_FLIPDONE_INT_STATUS_VLV (1UL<<15) +#define PIPE_CRC_ERROR_INTERRUPT_STATUS (1UL<<13) +#define PIPE_CRC_DONE_INTERRUPT_STATUS (1UL<<12) +#define PIPE_GMBUS_INTERRUPT_STATUS (1UL<<11) +#define PLANE_FLIPDONE_INT_STATUS_VLV (1UL<<10) +#define PIPE_HOTPLUG_INTERRUPT_STATUS (1UL<<10) +#define PIPE_VSYNC_INTERRUPT_STATUS (1UL<<9) +#define PIPE_DISPLAY_LINE_COMPARE_STATUS (1UL<<8) +#define PIPE_DPST_EVENT_STATUS (1UL<<7) +#define PIPE_LEGACY_BLC_EVENT_STATUS (1UL<<6) +#define PIPE_ODD_FIELD_INTERRUPT_STATUS (1UL<<5) +#define PIPE_EVEN_FIELD_INTERRUPT_STATUS (1UL<<4) +#define PIPE_HOTPLUG_TV_INTERRUPT_STATUS (1UL<<2) /* pre-965 */ +#define PIPE_START_VBLANK_INTERRUPT_STATUS (1UL<<2) /* 965 or later */ +#define PIPE_VBLANK_INTERRUPT_STATUS (1UL<<1) +#define PIPE_OVERLAY_UPDATED_STATUS (1UL<<0) +#define PIPE_BPC_MASK (7 << 5) /* Ironlake */ +#define PIPE_8BPC (0 << 5) +#define PIPE_10BPC (1 << 5) +#define PIPE_6BPC (2 << 5) +#define PIPE_12BPC (3 << 5) + +#define PIPESRC(pipe) _PIPE(pipe, _PIPEASRC, _PIPEBSRC) +#define PIPECONF(tran) _TRANSCODER(tran, _PIPEACONF, _PIPEBCONF) +#define PIPEDSL(pipe) _PIPE(pipe, _PIPEADSL, _PIPEBDSL) +#define PIPEFRAME(pipe) _PIPE(pipe, _PIPEAFRAMEHIGH, _PIPEBFRAMEHIGH) +#define PIPEFRAMEPIXEL(pipe) _PIPE(pipe, _PIPEAFRAMEPIXEL, _PIPEBFRAMEPIXEL) +#define PIPESTAT(pipe) _PIPE(pipe, _PIPEASTAT, _PIPEBSTAT) + +#define VLV_DPFLIPSTAT 0x70028 +#define PIPEB_LINE_COMPARE_INT_EN (1<<29) +#define PIPEB_HLINE_INT_EN (1<<28) +#define PIPEB_VBLANK_INT_EN (1<<27) +#define SPRITED_FLIPDONE_INT_EN (1<<26) +#define SPRITEC_FLIPDONE_INT_EN (1<<25) +#define PLANEB_FLIPDONE_INT_EN (1<<24) +#define PIPEA_LINE_COMPARE_INT_EN (1<<21) +#define PIPEA_HLINE_INT_EN (1<<20) +#define PIPEA_VBLANK_INT_EN (1<<19) +#define SPRITEB_FLIPDONE_INT_EN (1<<18) +#define SPRITEA_FLIPDONE_INT_EN (1<<17) +#define PLANEA_FLIPDONE_INT_EN (1<<16) + +#define DPINVGTT 0x7002c /* VLV only */ +#define CURSORB_INVALID_GTT_INT_EN (1<<23) +#define CURSORA_INVALID_GTT_INT_EN (1<<22) +#define SPRITED_INVALID_GTT_INT_EN (1<<21) +#define SPRITEC_INVALID_GTT_INT_EN (1<<20) +#define PLANEB_INVALID_GTT_INT_EN (1<<19) +#define SPRITEB_INVALID_GTT_INT_EN (1<<18) +#define SPRITEA_INVALID_GTT_INT_EN (1<<17) +#define PLANEA_INVALID_GTT_INT_EN (1<<16) +#define DPINVGTT_EN_MASK 0xff0000 +#define CURSORB_INVALID_GTT_STATUS (1<<7) +#define CURSORA_INVALID_GTT_STATUS (1<<6) +#define SPRITED_INVALID_GTT_STATUS (1<<5) +#define SPRITEC_INVALID_GTT_STATUS (1<<4) +#define PLANEB_INVALID_GTT_STATUS (1<<3) +#define SPRITEB_INVALID_GTT_STATUS (1<<2) +#define SPRITEA_INVALID_GTT_STATUS (1<<1) +#define PLANEA_INVALID_GTT_STATUS (1<<0) +#define DPINVGTT_STATUS_MASK 0xff + +#define DSPARB 0x70030 +#define DSPARB_CSTART_MASK (0x7f << 7) +#define DSPARB_CSTART_SHIFT 7 +#define DSPARB_BSTART_MASK (0x7f) +#define DSPARB_BSTART_SHIFT 0 +#define DSPARB_BEND_SHIFT 9 /* on 855 */ +#define DSPARB_AEND_SHIFT 0 + +#define DSPFW1 0x70034 +#define DSPFW_SR_SHIFT 23 +#define DSPFW_SR_MASK (0x1ff<<23) +#define DSPFW_CURSORB_SHIFT 16 +#define DSPFW_CURSORB_MASK (0x3f<<16) +#define DSPFW_PLANEB_SHIFT 8 +#define DSPFW_PLANEB_MASK (0x7f<<8) +#define DSPFW_PLANEA_MASK (0x7f) +#define DSPFW2 0x70038 +#define DSPFW_CURSORA_MASK 0x00003f00 +#define DSPFW_CURSORA_SHIFT 8 +#define DSPFW_PLANEC_MASK (0x7f) +#define DSPFW3 0x7003c +#define DSPFW_HPLL_SR_EN (1<<31) +#define DSPFW_CURSOR_SR_SHIFT 24 +#define PINEVIEW_SELF_REFRESH_EN (1<<30) +#define DSPFW_CURSOR_SR_MASK (0x3f<<24) +#define DSPFW_HPLL_CURSOR_SHIFT 16 +#define DSPFW_HPLL_CURSOR_MASK (0x3f<<16) +#define DSPFW_HPLL_SR_MASK (0x1ff) + +/* drain latency register values*/ +#define DRAIN_LATENCY_PRECISION_32 32 +#define DRAIN_LATENCY_PRECISION_16 16 +#define VLV_DDL1 0x70050 +#define DDL_CURSORA_PRECISION_32 (1<<31) +#define DDL_CURSORA_PRECISION_16 (0<<31) +#define DDL_CURSORA_SHIFT 24 +#define DDL_PLANEA_PRECISION_32 (1<<7) +#define DDL_PLANEA_PRECISION_16 (0<<7) +#define VLV_DDL2 0x70054 +#define DDL_CURSORB_PRECISION_32 (1<<31) +#define DDL_CURSORB_PRECISION_16 (0<<31) +#define DDL_CURSORB_SHIFT 24 +#define DDL_PLANEB_PRECISION_32 (1<<7) +#define DDL_PLANEB_PRECISION_16 (0<<7) + +/* FIFO watermark sizes etc */ +#define G4X_FIFO_LINE_SIZE 64 +#define I915_FIFO_LINE_SIZE 64 +#define I830_FIFO_LINE_SIZE 32 + +#define VALLEYVIEW_FIFO_SIZE 255 +#define G4X_FIFO_SIZE 127 +#define I965_FIFO_SIZE 512 +#define I945_FIFO_SIZE 127 +#define I915_FIFO_SIZE 95 +#define I855GM_FIFO_SIZE 127 /* In cachelines */ +#define I830_FIFO_SIZE 95 + +#define VALLEYVIEW_MAX_WM 0xff +#define G4X_MAX_WM 0x3f +#define I915_MAX_WM 0x3f + +#define PINEVIEW_DISPLAY_FIFO 512 /* in 64byte unit */ +#define PINEVIEW_FIFO_LINE_SIZE 64 +#define PINEVIEW_MAX_WM 0x1ff +#define PINEVIEW_DFT_WM 0x3f +#define PINEVIEW_DFT_HPLLOFF_WM 0 +#define PINEVIEW_GUARD_WM 10 +#define PINEVIEW_CURSOR_FIFO 64 +#define PINEVIEW_CURSOR_MAX_WM 0x3f +#define PINEVIEW_CURSOR_DFT_WM 0 +#define PINEVIEW_CURSOR_GUARD_WM 5 + +#define VALLEYVIEW_CURSOR_MAX_WM 64 +#define I965_CURSOR_FIFO 64 +#define I965_CURSOR_MAX_WM 32 +#define I965_CURSOR_DFT_WM 8 + +/* define the Watermark register on Ironlake */ +#define WM0_PIPEA_ILK 0x45100 +#define WM0_PIPE_PLANE_MASK (0x7f<<16) +#define WM0_PIPE_PLANE_SHIFT 16 +#define WM0_PIPE_SPRITE_MASK (0x3f<<8) +#define WM0_PIPE_SPRITE_SHIFT 8 +#define WM0_PIPE_CURSOR_MASK (0x1f) + +#define WM0_PIPEB_ILK 0x45104 +#define WM0_PIPEC_IVB 0x45200 +#define WM1_LP_ILK 0x45108 +#define WM1_LP_SR_EN (1<<31) +#define WM1_LP_LATENCY_SHIFT 24 +#define WM1_LP_LATENCY_MASK (0x7f<<24) +#define WM1_LP_FBC_MASK (0xf<<20) +#define WM1_LP_FBC_SHIFT 20 +#define WM1_LP_SR_MASK (0x1ff<<8) +#define WM1_LP_SR_SHIFT 8 +#define WM1_LP_CURSOR_MASK (0x3f) +#define WM2_LP_ILK 0x4510c +#define WM2_LP_EN (1<<31) +#define WM3_LP_ILK 0x45110 +#define WM3_LP_EN (1<<31) +#define WM1S_LP_ILK 0x45120 +#define WM2S_LP_IVB 0x45124 +#define WM3S_LP_IVB 0x45128 +#define WM1S_LP_EN (1<<31) + +/* Memory latency timer register */ +#define MLTR_ILK 0x11222 +#define MLTR_WM1_SHIFT 0 +#define MLTR_WM2_SHIFT 8 +/* the unit of memory self-refresh latency time is 0.5us */ +#define ILK_SRLT_MASK 0x3f +#define ILK_LATENCY(shift) (I915_READ(MLTR_ILK) >> (shift) & ILK_SRLT_MASK) +#define ILK_READ_WM1_LATENCY() ILK_LATENCY(MLTR_WM1_SHIFT) +#define ILK_READ_WM2_LATENCY() ILK_LATENCY(MLTR_WM2_SHIFT) + +/* define the fifo size on Ironlake */ +#define ILK_DISPLAY_FIFO 128 +#define ILK_DISPLAY_MAXWM 64 +#define ILK_DISPLAY_DFTWM 8 +#define ILK_CURSOR_FIFO 32 +#define ILK_CURSOR_MAXWM 16 +#define ILK_CURSOR_DFTWM 8 + +#define ILK_DISPLAY_SR_FIFO 512 +#define ILK_DISPLAY_MAX_SRWM 0x1ff +#define ILK_DISPLAY_DFT_SRWM 0x3f +#define ILK_CURSOR_SR_FIFO 64 +#define ILK_CURSOR_MAX_SRWM 0x3f +#define ILK_CURSOR_DFT_SRWM 8 + +#define ILK_FIFO_LINE_SIZE 64 + +/* define the WM info on Sandybridge */ +#define SNB_DISPLAY_FIFO 128 +#define SNB_DISPLAY_MAXWM 0x7f /* bit 16:22 */ +#define SNB_DISPLAY_DFTWM 8 +#define SNB_CURSOR_FIFO 32 +#define SNB_CURSOR_MAXWM 0x1f /* bit 4:0 */ +#define SNB_CURSOR_DFTWM 8 + +#define SNB_DISPLAY_SR_FIFO 512 +#define SNB_DISPLAY_MAX_SRWM 0x1ff /* bit 16:8 */ +#define SNB_DISPLAY_DFT_SRWM 0x3f +#define SNB_CURSOR_SR_FIFO 64 +#define SNB_CURSOR_MAX_SRWM 0x3f /* bit 5:0 */ +#define SNB_CURSOR_DFT_SRWM 8 + +#define SNB_FBC_MAX_SRWM 0xf /* bit 23:20 */ + +#define SNB_FIFO_LINE_SIZE 64 + + +/* the address where we get all kinds of latency value */ +#define SSKPD 0x5d10 +#define SSKPD_WM_MASK 0x3f +#define SSKPD_WM0_SHIFT 0 +#define SSKPD_WM1_SHIFT 8 +#define SSKPD_WM2_SHIFT 16 +#define SSKPD_WM3_SHIFT 24 + +#define SNB_LATENCY(shift) (I915_READ(MCHBAR_MIRROR_BASE_SNB + SSKPD) >> (shift) & SSKPD_WM_MASK) +#define SNB_READ_WM0_LATENCY() SNB_LATENCY(SSKPD_WM0_SHIFT) +#define SNB_READ_WM1_LATENCY() SNB_LATENCY(SSKPD_WM1_SHIFT) +#define SNB_READ_WM2_LATENCY() SNB_LATENCY(SSKPD_WM2_SHIFT) +#define SNB_READ_WM3_LATENCY() SNB_LATENCY(SSKPD_WM3_SHIFT) + +/* + * The two pipe frame counter registers are not synchronized, so + * reading a stable value is somewhat tricky. The following code + * should work: + * + * do { + * high1 = ((INREG(PIPEAFRAMEHIGH) & PIPE_FRAME_HIGH_MASK) >> + * PIPE_FRAME_HIGH_SHIFT; + * low1 = ((INREG(PIPEAFRAMEPIXEL) & PIPE_FRAME_LOW_MASK) >> + * PIPE_FRAME_LOW_SHIFT); + * high2 = ((INREG(PIPEAFRAMEHIGH) & PIPE_FRAME_HIGH_MASK) >> + * PIPE_FRAME_HIGH_SHIFT); + * } while (high1 != high2); + * frame = (high1 << 8) | low1; + */ +#define _PIPEAFRAMEHIGH 0x70040 +#define PIPE_FRAME_HIGH_MASK 0x0000ffff +#define PIPE_FRAME_HIGH_SHIFT 0 +#define _PIPEAFRAMEPIXEL 0x70044 +#define PIPE_FRAME_LOW_MASK 0xff000000 +#define PIPE_FRAME_LOW_SHIFT 24 +#define PIPE_PIXEL_MASK 0x00ffffff +#define PIPE_PIXEL_SHIFT 0 +/* GM45+ just has to be different */ +#define _PIPEA_FRMCOUNT_GM45 0x70040 +#define _PIPEA_FLIPCOUNT_GM45 0x70044 +#define PIPE_FRMCOUNT_GM45(pipe) _PIPE(pipe, _PIPEA_FRMCOUNT_GM45, _PIPEB_FRMCOUNT_GM45) + +/* Cursor A & B regs */ +#define _CURACNTR 0x70080 +/* Old style CUR*CNTR flags (desktop 8xx) */ +#define CURSOR_ENABLE 0x80000000 +#define CURSOR_GAMMA_ENABLE 0x40000000 +#define CURSOR_STRIDE_MASK 0x30000000 +#define CURSOR_FORMAT_SHIFT 24 +#define CURSOR_FORMAT_MASK (0x07 << CURSOR_FORMAT_SHIFT) +#define CURSOR_FORMAT_2C (0x00 << CURSOR_FORMAT_SHIFT) +#define CURSOR_FORMAT_3C (0x01 << CURSOR_FORMAT_SHIFT) +#define CURSOR_FORMAT_4C (0x02 << CURSOR_FORMAT_SHIFT) +#define CURSOR_FORMAT_ARGB (0x04 << CURSOR_FORMAT_SHIFT) +#define CURSOR_FORMAT_XRGB (0x05 << CURSOR_FORMAT_SHIFT) +/* New style CUR*CNTR flags */ +#define CURSOR_MODE 0x27 +#define CURSOR_MODE_DISABLE 0x00 +#define CURSOR_MODE_64_32B_AX 0x07 +#define CURSOR_MODE_64_ARGB_AX ((1 << 5) | CURSOR_MODE_64_32B_AX) +#define MCURSOR_PIPE_SELECT (1 << 28) +#define MCURSOR_PIPE_A 0x00 +#define MCURSOR_PIPE_B (1 << 28) +#define MCURSOR_GAMMA_ENABLE (1 << 26) +#define _CURABASE 0x70084 +#define _CURAPOS 0x70088 +#define CURSOR_POS_MASK 0x007FF +#define CURSOR_POS_SIGN 0x8000 +#define CURSOR_X_SHIFT 0 +#define CURSOR_Y_SHIFT 16 +#define CURSIZE 0x700a0 +#define _CURBCNTR 0x700c0 +#define _CURBBASE 0x700c4 +#define _CURBPOS 0x700c8 + +#define _CURBCNTR_IVB 0x71080 +#define _CURBBASE_IVB 0x71084 +#define _CURBPOS_IVB 0x71088 + +#define CURCNTR(pipe) _PIPE(pipe, _CURACNTR, _CURBCNTR) +#define CURBASE(pipe) _PIPE(pipe, _CURABASE, _CURBBASE) +#define CURPOS(pipe) _PIPE(pipe, _CURAPOS, _CURBPOS) + +#define CURCNTR_IVB(pipe) _PIPE(pipe, _CURACNTR, _CURBCNTR_IVB) +#define CURBASE_IVB(pipe) _PIPE(pipe, _CURABASE, _CURBBASE_IVB) +#define CURPOS_IVB(pipe) _PIPE(pipe, _CURAPOS, _CURBPOS_IVB) + +/* Display A control */ +#define _DSPACNTR 0x70180 +#define DISPLAY_PLANE_ENABLE (1<<31) +#define DISPLAY_PLANE_DISABLE 0 +#define DISPPLANE_GAMMA_ENABLE (1<<30) +#define DISPPLANE_GAMMA_DISABLE 0 +#define DISPPLANE_PIXFORMAT_MASK (0xf<<26) +#define DISPPLANE_YUV422 (0x0<<26) +#define DISPPLANE_8BPP (0x2<<26) +#define DISPPLANE_BGRA555 (0x3<<26) +#define DISPPLANE_BGRX555 (0x4<<26) +#define DISPPLANE_BGRX565 (0x5<<26) +#define DISPPLANE_BGRX888 (0x6<<26) +#define DISPPLANE_BGRA888 (0x7<<26) +#define DISPPLANE_RGBX101010 (0x8<<26) +#define DISPPLANE_RGBA101010 (0x9<<26) +#define DISPPLANE_BGRX101010 (0xa<<26) +#define DISPPLANE_RGBX161616 (0xc<<26) +#define DISPPLANE_RGBX888 (0xe<<26) +#define DISPPLANE_RGBA888 (0xf<<26) +#define DISPPLANE_STEREO_ENABLE (1<<25) +#define DISPPLANE_STEREO_DISABLE 0 +#define DISPPLANE_SEL_PIPE_SHIFT 24 +#define DISPPLANE_SEL_PIPE_MASK (3<> 30) +#define PORT_TO_PIPE_CPT(val) (((val) & PORT_TRANS_SEL_MASK) >> 29) + +#define TRANS_DP_CTL_A 0xe0300 +#define TRANS_DP_CTL_B 0xe1300 +#define TRANS_DP_CTL_C 0xe2300 +#define TRANS_DP_CTL(pipe) _PIPE(pipe, TRANS_DP_CTL_A, TRANS_DP_CTL_B) +#define TRANS_DP_OUTPUT_ENABLE (1<<31) +#define TRANS_DP_PORT_SEL_B (0<<29) +#define TRANS_DP_PORT_SEL_C (1<<29) +#define TRANS_DP_PORT_SEL_D (2<<29) +#define TRANS_DP_PORT_SEL_NONE (3<<29) +#define TRANS_DP_PORT_SEL_MASK (3<<29) +#define TRANS_DP_AUDIO_ONLY (1<<26) +#define TRANS_DP_ENH_FRAMING (1<<18) +#define TRANS_DP_8BPC (0<<9) +#define TRANS_DP_10BPC (1<<9) +#define TRANS_DP_6BPC (2<<9) +#define TRANS_DP_12BPC (3<<9) +#define TRANS_DP_BPC_MASK (3<<9) +#define TRANS_DP_VSYNC_ACTIVE_HIGH (1<<4) +#define TRANS_DP_VSYNC_ACTIVE_LOW 0 +#define TRANS_DP_HSYNC_ACTIVE_HIGH (1<<3) +#define TRANS_DP_HSYNC_ACTIVE_LOW 0 +#define TRANS_DP_SYNC_MASK (3<<3) + +/* SNB eDP training params */ +/* SNB A-stepping */ +#define EDP_LINK_TRAIN_400MV_0DB_SNB_A (0x38<<22) +#define EDP_LINK_TRAIN_400MV_6DB_SNB_A (0x02<<22) +#define EDP_LINK_TRAIN_600MV_3_5DB_SNB_A (0x01<<22) +#define EDP_LINK_TRAIN_800MV_0DB_SNB_A (0x0<<22) +/* SNB B-stepping */ +#define EDP_LINK_TRAIN_400_600MV_0DB_SNB_B (0x0<<22) +#define EDP_LINK_TRAIN_400MV_3_5DB_SNB_B (0x1<<22) +#define EDP_LINK_TRAIN_400_600MV_6DB_SNB_B (0x3a<<22) +#define EDP_LINK_TRAIN_600_800MV_3_5DB_SNB_B (0x39<<22) +#define EDP_LINK_TRAIN_800_1200MV_0DB_SNB_B (0x38<<22) +#define EDP_LINK_TRAIN_VOL_EMP_MASK_SNB (0x3f<<22) + +/* IVB */ +#define EDP_LINK_TRAIN_400MV_0DB_IVB (0x24 <<22) +#define EDP_LINK_TRAIN_400MV_3_5DB_IVB (0x2a <<22) +#define EDP_LINK_TRAIN_400MV_6DB_IVB (0x2f <<22) +#define EDP_LINK_TRAIN_600MV_0DB_IVB (0x30 <<22) +#define EDP_LINK_TRAIN_600MV_3_5DB_IVB (0x36 <<22) +#define EDP_LINK_TRAIN_800MV_0DB_IVB (0x38 <<22) +#define EDP_LINK_TRAIN_800MV_3_5DB_IVB (0x33 <<22) + +/* legacy values */ +#define EDP_LINK_TRAIN_500MV_0DB_IVB (0x00 <<22) +#define EDP_LINK_TRAIN_1000MV_0DB_IVB (0x20 <<22) +#define EDP_LINK_TRAIN_500MV_3_5DB_IVB (0x02 <<22) +#define EDP_LINK_TRAIN_1000MV_3_5DB_IVB (0x22 <<22) +#define EDP_LINK_TRAIN_1000MV_6DB_IVB (0x23 <<22) + +#define EDP_LINK_TRAIN_VOL_EMP_MASK_IVB (0x3f<<22) + +#define FORCEWAKE 0xA18C +#define FORCEWAKE_VLV 0x1300b0 +#define FORCEWAKE_ACK_VLV 0x1300b4 +#define FORCEWAKE_ACK_HSW 0x130044 +#define FORCEWAKE_ACK 0x130090 +#define FORCEWAKE_MT 0xa188 /* multi-threaded */ +#define FORCEWAKE_KERNEL 0x1 +#define FORCEWAKE_USER 0x2 +#define FORCEWAKE_MT_ACK 0x130040 +#define ECOBUS 0xa180 +#define FORCEWAKE_MT_ENABLE (1<<5) + +#define GTFIFODBG 0x120000 +#define GT_FIFO_CPU_ERROR_MASK 7 +#define GT_FIFO_OVFERR (1<<2) +#define GT_FIFO_IAWRERR (1<<1) +#define GT_FIFO_IARDERR (1<<0) + +#define GT_FIFO_FREE_ENTRIES 0x120008 +#define GT_FIFO_NUM_RESERVED_ENTRIES 20 + +#define GEN6_UCGCTL1 0x9400 +# define GEN6_BLBUNIT_CLOCK_GATE_DISABLE (1 << 5) +# define GEN6_CSUNIT_CLOCK_GATE_DISABLE (1 << 7) + +#define GEN6_UCGCTL2 0x9404 +# define GEN7_VDSUNIT_CLOCK_GATE_DISABLE (1 << 30) +# define GEN7_TDLUNIT_CLOCK_GATE_DISABLE (1 << 22) +# define GEN6_RCZUNIT_CLOCK_GATE_DISABLE (1 << 13) +# define GEN6_RCPBUNIT_CLOCK_GATE_DISABLE (1 << 12) +# define GEN6_RCCUNIT_CLOCK_GATE_DISABLE (1 << 11) + +#define GEN7_UCGCTL4 0x940c +#define GEN7_L3BANK2X_CLOCK_GATE_DISABLE (1<<25) + +#define GEN6_RPNSWREQ 0xA008 +#define GEN6_TURBO_DISABLE (1<<31) +#define GEN6_FREQUENCY(x) ((x)<<25) +#define GEN6_OFFSET(x) ((x)<<19) +#define GEN6_AGGRESSIVE_TURBO (0<<15) +#define GEN6_RC_VIDEO_FREQ 0xA00C +#define GEN6_RC_CONTROL 0xA090 +#define GEN6_RC_CTL_RC6pp_ENABLE (1<<16) +#define GEN6_RC_CTL_RC6p_ENABLE (1<<17) +#define GEN6_RC_CTL_RC6_ENABLE (1<<18) +#define GEN6_RC_CTL_RC1e_ENABLE (1<<20) +#define GEN6_RC_CTL_RC7_ENABLE (1<<22) +#define GEN6_RC_CTL_EI_MODE(x) ((x)<<27) +#define GEN6_RC_CTL_HW_ENABLE (1<<31) +#define GEN6_RP_DOWN_TIMEOUT 0xA010 +#define GEN6_RP_INTERRUPT_LIMITS 0xA014 +#define GEN6_RPSTAT1 0xA01C +#define GEN6_CAGF_SHIFT 8 +#define GEN6_CAGF_MASK (0x7f << GEN6_CAGF_SHIFT) +#define GEN6_RP_CONTROL 0xA024 +#define GEN6_RP_MEDIA_TURBO (1<<11) +#define GEN6_RP_MEDIA_MODE_MASK (3<<9) +#define GEN6_RP_MEDIA_HW_TURBO_MODE (3<<9) +#define GEN6_RP_MEDIA_HW_NORMAL_MODE (2<<9) +#define GEN6_RP_MEDIA_HW_MODE (1<<9) +#define GEN6_RP_MEDIA_SW_MODE (0<<9) +#define GEN6_RP_MEDIA_IS_GFX (1<<8) +#define GEN6_RP_ENABLE (1<<7) +#define GEN6_RP_UP_IDLE_MIN (0x1<<3) +#define GEN6_RP_UP_BUSY_AVG (0x2<<3) +#define GEN6_RP_UP_BUSY_CONT (0x4<<3) +#define GEN7_RP_DOWN_IDLE_AVG (0x2<<0) +#define GEN6_RP_DOWN_IDLE_CONT (0x1<<0) +#define GEN6_RP_UP_THRESHOLD 0xA02C +#define GEN6_RP_DOWN_THRESHOLD 0xA030 +#define GEN6_RP_CUR_UP_EI 0xA050 +#define GEN6_CURICONT_MASK 0xffffff +#define GEN6_RP_CUR_UP 0xA054 +#define GEN6_CURBSYTAVG_MASK 0xffffff +#define GEN6_RP_PREV_UP 0xA058 +#define GEN6_RP_CUR_DOWN_EI 0xA05C +#define GEN6_CURIAVG_MASK 0xffffff +#define GEN6_RP_CUR_DOWN 0xA060 +#define GEN6_RP_PREV_DOWN 0xA064 +#define GEN6_RP_UP_EI 0xA068 +#define GEN6_RP_DOWN_EI 0xA06C +#define GEN6_RP_IDLE_HYSTERSIS 0xA070 +#define GEN6_RC_STATE 0xA094 +#define GEN6_RC1_WAKE_RATE_LIMIT 0xA098 +#define GEN6_RC6_WAKE_RATE_LIMIT 0xA09C +#define GEN6_RC6pp_WAKE_RATE_LIMIT 0xA0A0 +#define GEN6_RC_EVALUATION_INTERVAL 0xA0A8 +#define GEN6_RC_IDLE_HYSTERSIS 0xA0AC +#define GEN6_RC_SLEEP 0xA0B0 +#define GEN6_RC1e_THRESHOLD 0xA0B4 +#define GEN6_RC6_THRESHOLD 0xA0B8 +#define GEN6_RC6p_THRESHOLD 0xA0BC +#define GEN6_RC6pp_THRESHOLD 0xA0C0 +#define GEN6_PMINTRMSK 0xA168 + +#define GEN6_PMISR 0x44020 +#define GEN6_PMIMR 0x44024 /* rps_lock */ +#define GEN6_PMIIR 0x44028 +#define GEN6_PMIER 0x4402C +#define GEN6_PM_MBOX_EVENT (1<<25) +#define GEN6_PM_THERMAL_EVENT (1<<24) +#define GEN6_PM_RP_DOWN_TIMEOUT (1<<6) +#define GEN6_PM_RP_UP_THRESHOLD (1<<5) +#define GEN6_PM_RP_DOWN_THRESHOLD (1<<4) +#define GEN6_PM_RP_UP_EI_EXPIRED (1<<2) +#define GEN6_PM_RP_DOWN_EI_EXPIRED (1<<1) +#define GEN6_PM_DEFERRED_EVENTS (GEN6_PM_RP_UP_THRESHOLD | \ + GEN6_PM_RP_DOWN_THRESHOLD | \ + GEN6_PM_RP_DOWN_TIMEOUT) + +#define GEN6_GT_GFX_RC6_LOCKED 0x138104 +#define GEN6_GT_GFX_RC6 0x138108 +#define GEN6_GT_GFX_RC6p 0x13810C +#define GEN6_GT_GFX_RC6pp 0x138110 + +#define GEN6_PCODE_MAILBOX 0x138124 +#define GEN6_PCODE_READY (1<<31) +#define GEN6_READ_OC_PARAMS 0xc +#define GEN6_PCODE_WRITE_MIN_FREQ_TABLE 0x8 +#define GEN6_PCODE_READ_MIN_FREQ_TABLE 0x9 +#define GEN6_PCODE_WRITE_RC6VIDS 0x4 +#define GEN6_PCODE_READ_RC6VIDS 0x5 +#define GEN6_ENCODE_RC6_VID(mv) (((mv) / 5) - 245) < 0 ?: 0 +#define GEN6_DECODE_RC6_VID(vids) (((vids) * 5) > 0 ? ((vids) * 5) + 245 : 0) +#define GEN6_PCODE_DATA 0x138128 +#define GEN6_PCODE_FREQ_IA_RATIO_SHIFT 8 + +#define GEN6_GT_CORE_STATUS 0x138060 +#define GEN6_CORE_CPD_STATE_MASK (7<<4) +#define GEN6_RCn_MASK 7 +#define GEN6_RC0 0 +#define GEN6_RC3 2 +#define GEN6_RC6 3 +#define GEN6_RC7 4 + +#define GEN7_MISCCPCTL (0x9424) +#define GEN7_DOP_CLOCK_GATE_ENABLE (1<<0) + +/* IVYBRIDGE DPF */ +#define GEN7_L3CDERRST1 0xB008 /* L3CD Error Status 1 */ +#define GEN7_L3CDERRST1_ROW_MASK (0x7ff<<14) +#define GEN7_PARITY_ERROR_VALID (1<<13) +#define GEN7_L3CDERRST1_BANK_MASK (3<<11) +#define GEN7_L3CDERRST1_SUBBANK_MASK (7<<8) +#define GEN7_PARITY_ERROR_ROW(reg) \ + ((reg & GEN7_L3CDERRST1_ROW_MASK) >> 14) +#define GEN7_PARITY_ERROR_BANK(reg) \ + ((reg & GEN7_L3CDERRST1_BANK_MASK) >> 11) +#define GEN7_PARITY_ERROR_SUBBANK(reg) \ + ((reg & GEN7_L3CDERRST1_SUBBANK_MASK) >> 8) +#define GEN7_L3CDERRST1_ENABLE (1<<7) + +#define GEN7_L3LOG_BASE 0xB070 +#define GEN7_L3LOG_SIZE 0x80 + +#define GEN7_HALF_SLICE_CHICKEN1 0xe100 /* IVB GT1 + VLV */ +#define GEN7_HALF_SLICE_CHICKEN1_GT2 0xf100 +#define GEN7_MAX_PS_THREAD_DEP (8<<12) +#define GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE (1<<3) + +#define GEN7_ROW_CHICKEN2 0xe4f4 +#define GEN7_ROW_CHICKEN2_GT2 0xf4f4 +#define DOP_CLOCK_GATING_DISABLE (1<<0) + +#define G4X_AUD_VID_DID 0x62020 +#define INTEL_AUDIO_DEVCL 0x808629FB +#define INTEL_AUDIO_DEVBLC 0x80862801 +#define INTEL_AUDIO_DEVCTG 0x80862802 + +#define G4X_AUD_CNTL_ST 0x620B4 +#define G4X_ELDV_DEVCL_DEVBLC (1 << 13) +#define G4X_ELDV_DEVCTG (1 << 14) +#define G4X_ELD_ADDR (0xf << 5) +#define G4X_ELD_ACK (1 << 4) +#define G4X_HDMIW_HDMIEDID 0x6210C + +#define IBX_HDMIW_HDMIEDID_A 0xE2050 +#define IBX_HDMIW_HDMIEDID_B 0xE2150 +#define IBX_HDMIW_HDMIEDID(pipe) _PIPE(pipe, \ + IBX_HDMIW_HDMIEDID_A, \ + IBX_HDMIW_HDMIEDID_B) +#define IBX_AUD_CNTL_ST_A 0xE20B4 +#define IBX_AUD_CNTL_ST_B 0xE21B4 +#define IBX_AUD_CNTL_ST(pipe) _PIPE(pipe, \ + IBX_AUD_CNTL_ST_A, \ + IBX_AUD_CNTL_ST_B) +#define IBX_ELD_BUFFER_SIZE (0x1f << 10) +#define IBX_ELD_ADDRESS (0x1f << 5) +#define IBX_ELD_ACK (1 << 4) +#define IBX_AUD_CNTL_ST2 0xE20C0 +#define IBX_ELD_VALIDB (1 << 0) +#define IBX_CP_READYB (1 << 1) + +#define CPT_HDMIW_HDMIEDID_A 0xE5050 +#define CPT_HDMIW_HDMIEDID_B 0xE5150 +#define CPT_HDMIW_HDMIEDID(pipe) _PIPE(pipe, \ + CPT_HDMIW_HDMIEDID_A, \ + CPT_HDMIW_HDMIEDID_B) +#define CPT_AUD_CNTL_ST_A 0xE50B4 +#define CPT_AUD_CNTL_ST_B 0xE51B4 +#define CPT_AUD_CNTL_ST(pipe) _PIPE(pipe, \ + CPT_AUD_CNTL_ST_A, \ + CPT_AUD_CNTL_ST_B) +#define CPT_AUD_CNTRL_ST2 0xE50C0 + +/* These are the 4 32-bit write offset registers for each stream + * output buffer. It determines the offset from the + * 3DSTATE_SO_BUFFERs that the next streamed vertex output goes to. + */ +#define GEN7_SO_WRITE_OFFSET(n) (0x5280 + (n) * 4) + +#define IBX_AUD_CONFIG_A 0xe2000 +#define IBX_AUD_CONFIG_B 0xe2100 +#define IBX_AUD_CFG(pipe) _PIPE(pipe, \ + IBX_AUD_CONFIG_A, \ + IBX_AUD_CONFIG_B) +#define CPT_AUD_CONFIG_A 0xe5000 +#define CPT_AUD_CONFIG_B 0xe5100 +#define CPT_AUD_CFG(pipe) _PIPE(pipe, \ + CPT_AUD_CONFIG_A, \ + CPT_AUD_CONFIG_B) +#define AUD_CONFIG_N_VALUE_INDEX (1 << 29) +#define AUD_CONFIG_N_PROG_ENABLE (1 << 28) +#define AUD_CONFIG_UPPER_N_SHIFT 20 +#define AUD_CONFIG_UPPER_N_VALUE (0xff << 20) +#define AUD_CONFIG_LOWER_N_SHIFT 4 +#define AUD_CONFIG_LOWER_N_VALUE (0xfff << 4) +#define AUD_CONFIG_PIXEL_CLOCK_HDMI_SHIFT 16 +#define AUD_CONFIG_PIXEL_CLOCK_HDMI (0xf << 16) +#define AUD_CONFIG_DISABLE_NCTS (1 << 3) + +/* HSW Audio */ +#define HSW_AUD_CONFIG_A 0x65000 /* Audio Configuration Transcoder A */ +#define HSW_AUD_CONFIG_B 0x65100 /* Audio Configuration Transcoder B */ +#define HSW_AUD_CFG(pipe) _PIPE(pipe, \ + HSW_AUD_CONFIG_A, \ + HSW_AUD_CONFIG_B) + +#define HSW_AUD_MISC_CTRL_A 0x65010 /* Audio Misc Control Convert 1 */ +#define HSW_AUD_MISC_CTRL_B 0x65110 /* Audio Misc Control Convert 2 */ +#define HSW_AUD_MISC_CTRL(pipe) _PIPE(pipe, \ + HSW_AUD_MISC_CTRL_A, \ + HSW_AUD_MISC_CTRL_B) + +#define HSW_AUD_DIP_ELD_CTRL_ST_A 0x650b4 /* Audio DIP and ELD Control State Transcoder A */ +#define HSW_AUD_DIP_ELD_CTRL_ST_B 0x651b4 /* Audio DIP and ELD Control State Transcoder B */ +#define HSW_AUD_DIP_ELD_CTRL(pipe) _PIPE(pipe, \ + HSW_AUD_DIP_ELD_CTRL_ST_A, \ + HSW_AUD_DIP_ELD_CTRL_ST_B) + +/* Audio Digital Converter */ +#define HSW_AUD_DIG_CNVT_1 0x65080 /* Audio Converter 1 */ +#define HSW_AUD_DIG_CNVT_2 0x65180 /* Audio Converter 1 */ +#define AUD_DIG_CNVT(pipe) _PIPE(pipe, \ + HSW_AUD_DIG_CNVT_1, \ + HSW_AUD_DIG_CNVT_2) +#define DIP_PORT_SEL_MASK 0x3 + +#define HSW_AUD_EDID_DATA_A 0x65050 +#define HSW_AUD_EDID_DATA_B 0x65150 +#define HSW_AUD_EDID_DATA(pipe) _PIPE(pipe, \ + HSW_AUD_EDID_DATA_A, \ + HSW_AUD_EDID_DATA_B) + +#define HSW_AUD_PIPE_CONV_CFG 0x6507c /* Audio pipe and converter configs */ +#define HSW_AUD_PIN_ELD_CP_VLD 0x650c0 /* Audio ELD and CP Ready Status */ +#define AUDIO_INACTIVE_C (1<<11) +#define AUDIO_INACTIVE_B (1<<7) +#define AUDIO_INACTIVE_A (1<<3) +#define AUDIO_OUTPUT_ENABLE_A (1<<2) +#define AUDIO_OUTPUT_ENABLE_B (1<<6) +#define AUDIO_OUTPUT_ENABLE_C (1<<10) +#define AUDIO_ELD_VALID_A (1<<0) +#define AUDIO_ELD_VALID_B (1<<4) +#define AUDIO_ELD_VALID_C (1<<8) +#define AUDIO_CP_READY_A (1<<1) +#define AUDIO_CP_READY_B (1<<5) +#define AUDIO_CP_READY_C (1<<9) + +/* HSW Power Wells */ +#define HSW_PWR_WELL_CTL1 0x45400 /* BIOS */ +#define HSW_PWR_WELL_CTL2 0x45404 /* Driver */ +#define HSW_PWR_WELL_CTL3 0x45408 /* KVMR */ +#define HSW_PWR_WELL_CTL4 0x4540C /* Debug */ +#define HSW_PWR_WELL_ENABLE (1<<31) +#define HSW_PWR_WELL_STATE (1<<30) +#define HSW_PWR_WELL_CTL5 0x45410 +#define HSW_PWR_WELL_ENABLE_SINGLE_STEP (1<<31) +#define HSW_PWR_WELL_PWR_GATE_OVERRIDE (1<<20) +#define HSW_PWR_WELL_FORCE_ON (1<<19) +#define HSW_PWR_WELL_CTL6 0x45414 + +/* Per-pipe DDI Function Control */ +#define TRANS_DDI_FUNC_CTL_A 0x60400 +#define TRANS_DDI_FUNC_CTL_B 0x61400 +#define TRANS_DDI_FUNC_CTL_C 0x62400 +#define TRANS_DDI_FUNC_CTL_EDP 0x6F400 +#define TRANS_DDI_FUNC_CTL(tran) _TRANSCODER(tran, TRANS_DDI_FUNC_CTL_A, \ + TRANS_DDI_FUNC_CTL_B) +#define TRANS_DDI_FUNC_ENABLE (1<<31) +/* Those bits are ignored by pipe EDP since it can only connect to DDI A */ +#define TRANS_DDI_PORT_MASK (7<<28) +#define TRANS_DDI_SELECT_PORT(x) ((x)<<28) +#define TRANS_DDI_PORT_NONE (0<<28) +#define TRANS_DDI_MODE_SELECT_MASK (7<<24) +#define TRANS_DDI_MODE_SELECT_HDMI (0<<24) +#define TRANS_DDI_MODE_SELECT_DVI (1<<24) +#define TRANS_DDI_MODE_SELECT_DP_SST (2<<24) +#define TRANS_DDI_MODE_SELECT_DP_MST (3<<24) +#define TRANS_DDI_MODE_SELECT_FDI (4<<24) +#define TRANS_DDI_BPC_MASK (7<<20) +#define TRANS_DDI_BPC_8 (0<<20) +#define TRANS_DDI_BPC_10 (1<<20) +#define TRANS_DDI_BPC_6 (2<<20) +#define TRANS_DDI_BPC_12 (3<<20) +#define TRANS_DDI_PVSYNC (1<<17) +#define TRANS_DDI_PHSYNC (1<<16) +#define TRANS_DDI_EDP_INPUT_MASK (7<<12) +#define TRANS_DDI_EDP_INPUT_A_ON (0<<12) +#define TRANS_DDI_EDP_INPUT_A_ONOFF (4<<12) +#define TRANS_DDI_EDP_INPUT_B_ONOFF (5<<12) +#define TRANS_DDI_EDP_INPUT_C_ONOFF (6<<12) +#define TRANS_DDI_BFI_ENABLE (1<<4) +#define TRANS_DDI_PORT_WIDTH_X1 (0<<1) +#define TRANS_DDI_PORT_WIDTH_X2 (1<<1) +#define TRANS_DDI_PORT_WIDTH_X4 (3<<1) + +/* DisplayPort Transport Control */ +#define DP_TP_CTL_A 0x64040 +#define DP_TP_CTL_B 0x64140 +#define DP_TP_CTL(port) _PORT(port, DP_TP_CTL_A, DP_TP_CTL_B) +#define DP_TP_CTL_ENABLE (1<<31) +#define DP_TP_CTL_MODE_SST (0<<27) +#define DP_TP_CTL_MODE_MST (1<<27) +#define DP_TP_CTL_ENHANCED_FRAME_ENABLE (1<<18) +#define DP_TP_CTL_FDI_AUTOTRAIN (1<<15) +#define DP_TP_CTL_LINK_TRAIN_MASK (7<<8) +#define DP_TP_CTL_LINK_TRAIN_PAT1 (0<<8) +#define DP_TP_CTL_LINK_TRAIN_PAT2 (1<<8) +#define DP_TP_CTL_LINK_TRAIN_PAT3 (4<<8) +#define DP_TP_CTL_LINK_TRAIN_IDLE (2<<8) +#define DP_TP_CTL_LINK_TRAIN_NORMAL (3<<8) +#define DP_TP_CTL_SCRAMBLE_DISABLE (1<<7) + +/* DisplayPort Transport Status */ +#define DP_TP_STATUS_A 0x64044 +#define DP_TP_STATUS_B 0x64144 +#define DP_TP_STATUS(port) _PORT(port, DP_TP_STATUS_A, DP_TP_STATUS_B) +#define DP_TP_STATUS_IDLE_DONE (1<<25) +#define DP_TP_STATUS_AUTOTRAIN_DONE (1<<12) + +/* DDI Buffer Control */ +#define DDI_BUF_CTL_A 0x64000 +#define DDI_BUF_CTL_B 0x64100 +#define DDI_BUF_CTL(port) _PORT(port, DDI_BUF_CTL_A, DDI_BUF_CTL_B) +#define DDI_BUF_CTL_ENABLE (1<<31) +#define DDI_BUF_EMP_400MV_0DB_HSW (0<<24) /* Sel0 */ +#define DDI_BUF_EMP_400MV_3_5DB_HSW (1<<24) /* Sel1 */ +#define DDI_BUF_EMP_400MV_6DB_HSW (2<<24) /* Sel2 */ +#define DDI_BUF_EMP_400MV_9_5DB_HSW (3<<24) /* Sel3 */ +#define DDI_BUF_EMP_600MV_0DB_HSW (4<<24) /* Sel4 */ +#define DDI_BUF_EMP_600MV_3_5DB_HSW (5<<24) /* Sel5 */ +#define DDI_BUF_EMP_600MV_6DB_HSW (6<<24) /* Sel6 */ +#define DDI_BUF_EMP_800MV_0DB_HSW (7<<24) /* Sel7 */ +#define DDI_BUF_EMP_800MV_3_5DB_HSW (8<<24) /* Sel8 */ +#define DDI_BUF_EMP_MASK (0xf<<24) +#define DDI_BUF_IS_IDLE (1<<7) +#define DDI_A_4_LANES (1<<4) +#define DDI_PORT_WIDTH_X1 (0<<1) +#define DDI_PORT_WIDTH_X2 (1<<1) +#define DDI_PORT_WIDTH_X4 (3<<1) +#define DDI_INIT_DISPLAY_DETECTED (1<<0) + +/* DDI Buffer Translations */ +#define DDI_BUF_TRANS_A 0x64E00 +#define DDI_BUF_TRANS_B 0x64E60 +#define DDI_BUF_TRANS(port) _PORT(port, DDI_BUF_TRANS_A, DDI_BUF_TRANS_B) + +/* Sideband Interface (SBI) is programmed indirectly, via + * SBI_ADDR, which contains the register offset; and SBI_DATA, + * which contains the payload */ +#define SBI_ADDR 0xC6000 +#define SBI_DATA 0xC6004 +#define SBI_CTL_STAT 0xC6008 +#define SBI_CTL_DEST_ICLK (0x0<<16) +#define SBI_CTL_DEST_MPHY (0x1<<16) +#define SBI_CTL_OP_IORD (0x2<<8) +#define SBI_CTL_OP_IOWR (0x3<<8) +#define SBI_CTL_OP_CRRD (0x6<<8) +#define SBI_CTL_OP_CRWR (0x7<<8) +#define SBI_RESPONSE_FAIL (0x1<<1) +#define SBI_RESPONSE_SUCCESS (0x0<<1) +#define SBI_BUSY (0x1<<0) +#define SBI_READY (0x0<<0) + +/* SBI offsets */ +#define SBI_SSCDIVINTPHASE6 0x0600 +#define SBI_SSCDIVINTPHASE_DIVSEL_MASK ((0x7f)<<1) +#define SBI_SSCDIVINTPHASE_DIVSEL(x) ((x)<<1) +#define SBI_SSCDIVINTPHASE_INCVAL_MASK ((0x7f)<<8) +#define SBI_SSCDIVINTPHASE_INCVAL(x) ((x)<<8) +#define SBI_SSCDIVINTPHASE_DIR(x) ((x)<<15) +#define SBI_SSCDIVINTPHASE_PROPAGATE (1<<0) +#define SBI_SSCCTL 0x020c +#define SBI_SSCCTL6 0x060C +#define SBI_SSCCTL_PATHALT (1<<3) +#define SBI_SSCCTL_DISABLE (1<<0) +#define SBI_SSCAUXDIV6 0x0610 +#define SBI_SSCAUXDIV_FINALDIV2SEL(x) ((x)<<4) +#define SBI_DBUFF0 0x2a00 +#define SBI_DBUFF0_ENABLE (1<<0) + +/* LPT PIXCLK_GATE */ +#define PIXCLK_GATE 0xC6020 +#define PIXCLK_GATE_UNGATE (1<<0) +#define PIXCLK_GATE_GATE (0<<0) + +/* SPLL */ +#define SPLL_CTL 0x46020 +#define SPLL_PLL_ENABLE (1<<31) +#define SPLL_PLL_SSC (1<<28) +#define SPLL_PLL_NON_SSC (2<<28) +#define SPLL_PLL_FREQ_810MHz (0<<26) +#define SPLL_PLL_FREQ_1350MHz (1<<26) + +/* WRPLL */ +#define WRPLL_CTL1 0x46040 +#define WRPLL_CTL2 0x46060 +#define WRPLL_PLL_ENABLE (1<<31) +#define WRPLL_PLL_SELECT_SSC (0x01<<28) +#define WRPLL_PLL_SELECT_NON_SSC (0x02<<28) +#define WRPLL_PLL_SELECT_LCPLL_2700 (0x03<<28) +/* WRPLL divider programming */ +#define WRPLL_DIVIDER_REFERENCE(x) ((x)<<0) +#define WRPLL_DIVIDER_POST(x) ((x)<<8) +#define WRPLL_DIVIDER_FEEDBACK(x) ((x)<<16) + +/* Port clock selection */ +#define PORT_CLK_SEL_A 0x46100 +#define PORT_CLK_SEL_B 0x46104 +#define PORT_CLK_SEL(port) _PORT(port, PORT_CLK_SEL_A, PORT_CLK_SEL_B) +#define PORT_CLK_SEL_LCPLL_2700 (0<<29) +#define PORT_CLK_SEL_LCPLL_1350 (1<<29) +#define PORT_CLK_SEL_LCPLL_810 (2<<29) +#define PORT_CLK_SEL_SPLL (3<<29) +#define PORT_CLK_SEL_WRPLL1 (4<<29) +#define PORT_CLK_SEL_WRPLL2 (5<<29) +#define PORT_CLK_SEL_NONE (7<<29) + +/* Transcoder clock selection */ +#define TRANS_CLK_SEL_A 0x46140 +#define TRANS_CLK_SEL_B 0x46144 +#define TRANS_CLK_SEL(tran) _TRANSCODER(tran, TRANS_CLK_SEL_A, TRANS_CLK_SEL_B) +/* For each transcoder, we need to select the corresponding port clock */ +#define TRANS_CLK_SEL_DISABLED (0x0<<29) +#define TRANS_CLK_SEL_PORT(x) ((x+1)<<29) + +#define _TRANSA_MSA_MISC 0x60410 +#define _TRANSB_MSA_MISC 0x61410 +#define TRANS_MSA_MISC(tran) _TRANSCODER(tran, _TRANSA_MSA_MISC, \ + _TRANSB_MSA_MISC) +#define TRANS_MSA_SYNC_CLK (1<<0) +#define TRANS_MSA_6_BPC (0<<5) +#define TRANS_MSA_8_BPC (1<<5) +#define TRANS_MSA_10_BPC (2<<5) +#define TRANS_MSA_12_BPC (3<<5) +#define TRANS_MSA_16_BPC (4<<5) + +/* LCPLL Control */ +#define LCPLL_CTL 0x130040 +#define LCPLL_PLL_DISABLE (1<<31) +#define LCPLL_PLL_LOCK (1<<30) +#define LCPLL_CLK_FREQ_MASK (3<<26) +#define LCPLL_CLK_FREQ_450 (0<<26) +#define LCPLL_CD_CLOCK_DISABLE (1<<25) +#define LCPLL_CD2X_CLOCK_DISABLE (1<<23) +#define LCPLL_CD_SOURCE_FCLK (1<<21) + +/* Pipe WM_LINETIME - watermark line time */ +#define PIPE_WM_LINETIME_A 0x45270 +#define PIPE_WM_LINETIME_B 0x45274 +#define PIPE_WM_LINETIME(pipe) _PIPE(pipe, PIPE_WM_LINETIME_A, \ + PIPE_WM_LINETIME_B) +#define PIPE_WM_LINETIME_MASK (0x1ff) +#define PIPE_WM_LINETIME_TIME(x) ((x)) +#define PIPE_WM_LINETIME_IPS_LINETIME_MASK (0x1ff<<16) +#define PIPE_WM_LINETIME_IPS_LINETIME(x) ((x)<<16) + +/* SFUSE_STRAP */ +#define SFUSE_STRAP 0xc2014 +#define SFUSE_STRAP_DDIB_DETECTED (1<<2) +#define SFUSE_STRAP_DDIC_DETECTED (1<<1) +#define SFUSE_STRAP_DDID_DETECTED (1<<0) + +#define WM_DBG 0x45280 +#define WM_DBG_DISALLOW_MULTIPLE_LP (1<<0) +#define WM_DBG_DISALLOW_MAXFIFO (1<<1) +#define WM_DBG_DISALLOW_SPRITE (1<<2) + +#endif /* _I915_REG_H_ */ --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_suspend.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_suspend.c @@ -0,0 +1,901 @@ +/* + * + * Copyright 2008 (c) Intel Corporation + * Jesse Barnes + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "intel_drv.h" +#include "i915_reg.h" + +static bool i915_pipe_enabled(struct drm_device *dev, enum pipe pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 dpll_reg; + + /* On IVB, 3rd pipe shares PLL with another one */ + if (pipe > 1) + return false; + + if (HAS_PCH_SPLIT(dev)) + dpll_reg = _PCH_DPLL(pipe); + else + dpll_reg = (pipe == PIPE_A) ? _DPLL_A : _DPLL_B; + + return (I915_READ(dpll_reg) & DPLL_VCO_ENABLE); +} + +static void i915_save_palette(struct drm_device *dev, enum pipe pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long reg = (pipe == PIPE_A ? _PALETTE_A : _PALETTE_B); + u32 *array; + int i; + + if (!i915_pipe_enabled(dev, pipe)) + return; + + if (HAS_PCH_SPLIT(dev)) + reg = (pipe == PIPE_A) ? _LGC_PALETTE_A : _LGC_PALETTE_B; + + if (pipe == PIPE_A) + array = dev_priv->regfile.save_palette_a; + else + array = dev_priv->regfile.save_palette_b; + + for (i = 0; i < 256; i++) + array[i] = I915_READ(reg + (i << 2)); +} + +static void i915_restore_palette(struct drm_device *dev, enum pipe pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long reg = (pipe == PIPE_A ? _PALETTE_A : _PALETTE_B); + u32 *array; + int i; + + if (!i915_pipe_enabled(dev, pipe)) + return; + + if (HAS_PCH_SPLIT(dev)) + reg = (pipe == PIPE_A) ? _LGC_PALETTE_A : _LGC_PALETTE_B; + + if (pipe == PIPE_A) + array = dev_priv->regfile.save_palette_a; + else + array = dev_priv->regfile.save_palette_b; + + for (i = 0; i < 256; i++) + I915_WRITE(reg + (i << 2), array[i]); +} + +static u8 i915_read_indexed(struct drm_device *dev, u16 index_port, u16 data_port, u8 reg) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE8(index_port, reg); + return I915_READ8(data_port); +} + +static u8 i915_read_ar(struct drm_device *dev, u16 st01, u8 reg, u16 palette_enable) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_READ8(st01); + I915_WRITE8(VGA_AR_INDEX, palette_enable | reg); + return I915_READ8(VGA_AR_DATA_READ); +} + +static void i915_write_ar(struct drm_device *dev, u16 st01, u8 reg, u8 val, u16 palette_enable) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_READ8(st01); + I915_WRITE8(VGA_AR_INDEX, palette_enable | reg); + I915_WRITE8(VGA_AR_DATA_WRITE, val); +} + +static void i915_write_indexed(struct drm_device *dev, u16 index_port, u16 data_port, u8 reg, u8 val) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE8(index_port, reg); + I915_WRITE8(data_port, val); +} + +static void i915_save_vga(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + u16 cr_index, cr_data, st01; + + /* VGA color palette registers */ + dev_priv->regfile.saveDACMASK = I915_READ8(VGA_DACMASK); + + /* MSR bits */ + dev_priv->regfile.saveMSR = I915_READ8(VGA_MSR_READ); + if (dev_priv->regfile.saveMSR & VGA_MSR_CGA_MODE) { + cr_index = VGA_CR_INDEX_CGA; + cr_data = VGA_CR_DATA_CGA; + st01 = VGA_ST01_CGA; + } else { + cr_index = VGA_CR_INDEX_MDA; + cr_data = VGA_CR_DATA_MDA; + st01 = VGA_ST01_MDA; + } + + /* CRT controller regs */ + i915_write_indexed(dev, cr_index, cr_data, 0x11, + i915_read_indexed(dev, cr_index, cr_data, 0x11) & + (~0x80)); + for (i = 0; i <= 0x24; i++) + dev_priv->regfile.saveCR[i] = + i915_read_indexed(dev, cr_index, cr_data, i); + /* Make sure we don't turn off CR group 0 writes */ + dev_priv->regfile.saveCR[0x11] &= ~0x80; + + /* Attribute controller registers */ + I915_READ8(st01); + dev_priv->regfile.saveAR_INDEX = I915_READ8(VGA_AR_INDEX); + for (i = 0; i <= 0x14; i++) + dev_priv->regfile.saveAR[i] = i915_read_ar(dev, st01, i, 0); + I915_READ8(st01); + I915_WRITE8(VGA_AR_INDEX, dev_priv->regfile.saveAR_INDEX); + I915_READ8(st01); + + /* Graphics controller registers */ + for (i = 0; i < 9; i++) + dev_priv->regfile.saveGR[i] = + i915_read_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, i); + + dev_priv->regfile.saveGR[0x10] = + i915_read_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, 0x10); + dev_priv->regfile.saveGR[0x11] = + i915_read_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, 0x11); + dev_priv->regfile.saveGR[0x18] = + i915_read_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, 0x18); + + /* Sequencer registers */ + for (i = 0; i < 8; i++) + dev_priv->regfile.saveSR[i] = + i915_read_indexed(dev, VGA_SR_INDEX, VGA_SR_DATA, i); +} + +static void i915_restore_vga(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + u16 cr_index, cr_data, st01; + + /* MSR bits */ + I915_WRITE8(VGA_MSR_WRITE, dev_priv->regfile.saveMSR); + if (dev_priv->regfile.saveMSR & VGA_MSR_CGA_MODE) { + cr_index = VGA_CR_INDEX_CGA; + cr_data = VGA_CR_DATA_CGA; + st01 = VGA_ST01_CGA; + } else { + cr_index = VGA_CR_INDEX_MDA; + cr_data = VGA_CR_DATA_MDA; + st01 = VGA_ST01_MDA; + } + + /* Sequencer registers, don't write SR07 */ + for (i = 0; i < 7; i++) + i915_write_indexed(dev, VGA_SR_INDEX, VGA_SR_DATA, i, + dev_priv->regfile.saveSR[i]); + + /* CRT controller regs */ + /* Enable CR group 0 writes */ + i915_write_indexed(dev, cr_index, cr_data, 0x11, dev_priv->regfile.saveCR[0x11]); + for (i = 0; i <= 0x24; i++) + i915_write_indexed(dev, cr_index, cr_data, i, dev_priv->regfile.saveCR[i]); + + /* Graphics controller regs */ + for (i = 0; i < 9; i++) + i915_write_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, i, + dev_priv->regfile.saveGR[i]); + + i915_write_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, 0x10, + dev_priv->regfile.saveGR[0x10]); + i915_write_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, 0x11, + dev_priv->regfile.saveGR[0x11]); + i915_write_indexed(dev, VGA_GR_INDEX, VGA_GR_DATA, 0x18, + dev_priv->regfile.saveGR[0x18]); + + /* Attribute controller registers */ + I915_READ8(st01); /* switch back to index mode */ + for (i = 0; i <= 0x14; i++) + i915_write_ar(dev, st01, i, dev_priv->regfile.saveAR[i], 0); + I915_READ8(st01); /* switch back to index mode */ + I915_WRITE8(VGA_AR_INDEX, dev_priv->regfile.saveAR_INDEX | 0x20); + I915_READ8(st01); + + /* VGA color palette registers */ + I915_WRITE8(VGA_DACMASK, dev_priv->regfile.saveDACMASK); +} + +static void i915_save_modeset_reg(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return; + + /* Cursor state */ + dev_priv->regfile.saveCURACNTR = I915_READ(_CURACNTR); + dev_priv->regfile.saveCURAPOS = I915_READ(_CURAPOS); + dev_priv->regfile.saveCURABASE = I915_READ(_CURABASE); + dev_priv->regfile.saveCURBCNTR = I915_READ(_CURBCNTR); + dev_priv->regfile.saveCURBPOS = I915_READ(_CURBPOS); + dev_priv->regfile.saveCURBBASE = I915_READ(_CURBBASE); + if (IS_GEN2(dev)) + dev_priv->regfile.saveCURSIZE = I915_READ(CURSIZE); + + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.savePCH_DREF_CONTROL = I915_READ(PCH_DREF_CONTROL); + dev_priv->regfile.saveDISP_ARB_CTL = I915_READ(DISP_ARB_CTL); + } + + /* Pipe & plane A info */ + dev_priv->regfile.savePIPEACONF = I915_READ(_PIPEACONF); + dev_priv->regfile.savePIPEASRC = I915_READ(_PIPEASRC); + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.saveFPA0 = I915_READ(_PCH_FPA0); + dev_priv->regfile.saveFPA1 = I915_READ(_PCH_FPA1); + dev_priv->regfile.saveDPLL_A = I915_READ(_PCH_DPLL_A); + } else { + dev_priv->regfile.saveFPA0 = I915_READ(_FPA0); + dev_priv->regfile.saveFPA1 = I915_READ(_FPA1); + dev_priv->regfile.saveDPLL_A = I915_READ(_DPLL_A); + } + if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev)) + dev_priv->regfile.saveDPLL_A_MD = I915_READ(_DPLL_A_MD); + dev_priv->regfile.saveHTOTAL_A = I915_READ(_HTOTAL_A); + dev_priv->regfile.saveHBLANK_A = I915_READ(_HBLANK_A); + dev_priv->regfile.saveHSYNC_A = I915_READ(_HSYNC_A); + dev_priv->regfile.saveVTOTAL_A = I915_READ(_VTOTAL_A); + dev_priv->regfile.saveVBLANK_A = I915_READ(_VBLANK_A); + dev_priv->regfile.saveVSYNC_A = I915_READ(_VSYNC_A); + if (!HAS_PCH_SPLIT(dev)) + dev_priv->regfile.saveBCLRPAT_A = I915_READ(_BCLRPAT_A); + + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.savePIPEA_DATA_M1 = I915_READ(_PIPEA_DATA_M1); + dev_priv->regfile.savePIPEA_DATA_N1 = I915_READ(_PIPEA_DATA_N1); + dev_priv->regfile.savePIPEA_LINK_M1 = I915_READ(_PIPEA_LINK_M1); + dev_priv->regfile.savePIPEA_LINK_N1 = I915_READ(_PIPEA_LINK_N1); + + dev_priv->regfile.saveFDI_TXA_CTL = I915_READ(_FDI_TXA_CTL); + dev_priv->regfile.saveFDI_RXA_CTL = I915_READ(_FDI_RXA_CTL); + + dev_priv->regfile.savePFA_CTL_1 = I915_READ(_PFA_CTL_1); + dev_priv->regfile.savePFA_WIN_SZ = I915_READ(_PFA_WIN_SZ); + dev_priv->regfile.savePFA_WIN_POS = I915_READ(_PFA_WIN_POS); + + dev_priv->regfile.saveTRANSACONF = I915_READ(_TRANSACONF); + dev_priv->regfile.saveTRANS_HTOTAL_A = I915_READ(_TRANS_HTOTAL_A); + dev_priv->regfile.saveTRANS_HBLANK_A = I915_READ(_TRANS_HBLANK_A); + dev_priv->regfile.saveTRANS_HSYNC_A = I915_READ(_TRANS_HSYNC_A); + dev_priv->regfile.saveTRANS_VTOTAL_A = I915_READ(_TRANS_VTOTAL_A); + dev_priv->regfile.saveTRANS_VBLANK_A = I915_READ(_TRANS_VBLANK_A); + dev_priv->regfile.saveTRANS_VSYNC_A = I915_READ(_TRANS_VSYNC_A); + } + + dev_priv->regfile.saveDSPACNTR = I915_READ(_DSPACNTR); + dev_priv->regfile.saveDSPASTRIDE = I915_READ(_DSPASTRIDE); + dev_priv->regfile.saveDSPASIZE = I915_READ(_DSPASIZE); + dev_priv->regfile.saveDSPAPOS = I915_READ(_DSPAPOS); + dev_priv->regfile.saveDSPAADDR = I915_READ(_DSPAADDR); + if (INTEL_INFO(dev)->gen >= 4) { + dev_priv->regfile.saveDSPASURF = I915_READ(_DSPASURF); + dev_priv->regfile.saveDSPATILEOFF = I915_READ(_DSPATILEOFF); + } + i915_save_palette(dev, PIPE_A); + dev_priv->regfile.savePIPEASTAT = I915_READ(_PIPEASTAT); + + /* Pipe & plane B info */ + dev_priv->regfile.savePIPEBCONF = I915_READ(_PIPEBCONF); + dev_priv->regfile.savePIPEBSRC = I915_READ(_PIPEBSRC); + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.saveFPB0 = I915_READ(_PCH_FPB0); + dev_priv->regfile.saveFPB1 = I915_READ(_PCH_FPB1); + dev_priv->regfile.saveDPLL_B = I915_READ(_PCH_DPLL_B); + } else { + dev_priv->regfile.saveFPB0 = I915_READ(_FPB0); + dev_priv->regfile.saveFPB1 = I915_READ(_FPB1); + dev_priv->regfile.saveDPLL_B = I915_READ(_DPLL_B); + } + if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev)) + dev_priv->regfile.saveDPLL_B_MD = I915_READ(_DPLL_B_MD); + dev_priv->regfile.saveHTOTAL_B = I915_READ(_HTOTAL_B); + dev_priv->regfile.saveHBLANK_B = I915_READ(_HBLANK_B); + dev_priv->regfile.saveHSYNC_B = I915_READ(_HSYNC_B); + dev_priv->regfile.saveVTOTAL_B = I915_READ(_VTOTAL_B); + dev_priv->regfile.saveVBLANK_B = I915_READ(_VBLANK_B); + dev_priv->regfile.saveVSYNC_B = I915_READ(_VSYNC_B); + if (!HAS_PCH_SPLIT(dev)) + dev_priv->regfile.saveBCLRPAT_B = I915_READ(_BCLRPAT_B); + + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.savePIPEB_DATA_M1 = I915_READ(_PIPEB_DATA_M1); + dev_priv->regfile.savePIPEB_DATA_N1 = I915_READ(_PIPEB_DATA_N1); + dev_priv->regfile.savePIPEB_LINK_M1 = I915_READ(_PIPEB_LINK_M1); + dev_priv->regfile.savePIPEB_LINK_N1 = I915_READ(_PIPEB_LINK_N1); + + dev_priv->regfile.saveFDI_TXB_CTL = I915_READ(_FDI_TXB_CTL); + dev_priv->regfile.saveFDI_RXB_CTL = I915_READ(_FDI_RXB_CTL); + + dev_priv->regfile.savePFB_CTL_1 = I915_READ(_PFB_CTL_1); + dev_priv->regfile.savePFB_WIN_SZ = I915_READ(_PFB_WIN_SZ); + dev_priv->regfile.savePFB_WIN_POS = I915_READ(_PFB_WIN_POS); + + dev_priv->regfile.saveTRANSBCONF = I915_READ(_TRANSBCONF); + dev_priv->regfile.saveTRANS_HTOTAL_B = I915_READ(_TRANS_HTOTAL_B); + dev_priv->regfile.saveTRANS_HBLANK_B = I915_READ(_TRANS_HBLANK_B); + dev_priv->regfile.saveTRANS_HSYNC_B = I915_READ(_TRANS_HSYNC_B); + dev_priv->regfile.saveTRANS_VTOTAL_B = I915_READ(_TRANS_VTOTAL_B); + dev_priv->regfile.saveTRANS_VBLANK_B = I915_READ(_TRANS_VBLANK_B); + dev_priv->regfile.saveTRANS_VSYNC_B = I915_READ(_TRANS_VSYNC_B); + } + + dev_priv->regfile.saveDSPBCNTR = I915_READ(_DSPBCNTR); + dev_priv->regfile.saveDSPBSTRIDE = I915_READ(_DSPBSTRIDE); + dev_priv->regfile.saveDSPBSIZE = I915_READ(_DSPBSIZE); + dev_priv->regfile.saveDSPBPOS = I915_READ(_DSPBPOS); + dev_priv->regfile.saveDSPBADDR = I915_READ(_DSPBADDR); + if (INTEL_INFO(dev)->gen >= 4) { + dev_priv->regfile.saveDSPBSURF = I915_READ(_DSPBSURF); + dev_priv->regfile.saveDSPBTILEOFF = I915_READ(_DSPBTILEOFF); + } + i915_save_palette(dev, PIPE_B); + dev_priv->regfile.savePIPEBSTAT = I915_READ(_PIPEBSTAT); + + /* Fences */ + switch (INTEL_INFO(dev)->gen) { + case 7: + case 6: + for (i = 0; i < 16; i++) + dev_priv->regfile.saveFENCE[i] = I915_READ64(FENCE_REG_SANDYBRIDGE_0 + (i * 8)); + break; + case 5: + case 4: + for (i = 0; i < 16; i++) + dev_priv->regfile.saveFENCE[i] = I915_READ64(FENCE_REG_965_0 + (i * 8)); + break; + case 3: + if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) + for (i = 0; i < 8; i++) + dev_priv->regfile.saveFENCE[i+8] = I915_READ(FENCE_REG_945_8 + (i * 4)); + case 2: + for (i = 0; i < 8; i++) + dev_priv->regfile.saveFENCE[i] = I915_READ(FENCE_REG_830_0 + (i * 4)); + break; + } + + /* CRT state */ + if (HAS_PCH_SPLIT(dev)) + dev_priv->regfile.saveADPA = I915_READ(PCH_ADPA); + else + dev_priv->regfile.saveADPA = I915_READ(ADPA); + + return; +} + +static void i915_restore_modeset_reg(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int dpll_a_reg, fpa0_reg, fpa1_reg; + int dpll_b_reg, fpb0_reg, fpb1_reg; + int i; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return; + + /* Fences */ + switch (INTEL_INFO(dev)->gen) { + case 7: + case 6: + for (i = 0; i < 16; i++) + I915_WRITE64(FENCE_REG_SANDYBRIDGE_0 + (i * 8), dev_priv->regfile.saveFENCE[i]); + break; + case 5: + case 4: + for (i = 0; i < 16; i++) + I915_WRITE64(FENCE_REG_965_0 + (i * 8), dev_priv->regfile.saveFENCE[i]); + break; + case 3: + case 2: + if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) + for (i = 0; i < 8; i++) + I915_WRITE(FENCE_REG_945_8 + (i * 4), dev_priv->regfile.saveFENCE[i+8]); + for (i = 0; i < 8; i++) + I915_WRITE(FENCE_REG_830_0 + (i * 4), dev_priv->regfile.saveFENCE[i]); + break; + } + + + if (HAS_PCH_SPLIT(dev)) { + dpll_a_reg = _PCH_DPLL_A; + dpll_b_reg = _PCH_DPLL_B; + fpa0_reg = _PCH_FPA0; + fpb0_reg = _PCH_FPB0; + fpa1_reg = _PCH_FPA1; + fpb1_reg = _PCH_FPB1; + } else { + dpll_a_reg = _DPLL_A; + dpll_b_reg = _DPLL_B; + fpa0_reg = _FPA0; + fpb0_reg = _FPB0; + fpa1_reg = _FPA1; + fpb1_reg = _FPB1; + } + + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(PCH_DREF_CONTROL, dev_priv->regfile.savePCH_DREF_CONTROL); + I915_WRITE(DISP_ARB_CTL, dev_priv->regfile.saveDISP_ARB_CTL); + } + + /* Pipe & plane A info */ + /* Prime the clock */ + if (dev_priv->regfile.saveDPLL_A & DPLL_VCO_ENABLE) { + I915_WRITE(dpll_a_reg, dev_priv->regfile.saveDPLL_A & + ~DPLL_VCO_ENABLE); + POSTING_READ(dpll_a_reg); + udelay(150); + } + I915_WRITE(fpa0_reg, dev_priv->regfile.saveFPA0); + I915_WRITE(fpa1_reg, dev_priv->regfile.saveFPA1); + /* Actually enable it */ + I915_WRITE(dpll_a_reg, dev_priv->regfile.saveDPLL_A); + POSTING_READ(dpll_a_reg); + udelay(150); + if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev)) { + I915_WRITE(_DPLL_A_MD, dev_priv->regfile.saveDPLL_A_MD); + POSTING_READ(_DPLL_A_MD); + } + udelay(150); + + /* Restore mode */ + I915_WRITE(_HTOTAL_A, dev_priv->regfile.saveHTOTAL_A); + I915_WRITE(_HBLANK_A, dev_priv->regfile.saveHBLANK_A); + I915_WRITE(_HSYNC_A, dev_priv->regfile.saveHSYNC_A); + I915_WRITE(_VTOTAL_A, dev_priv->regfile.saveVTOTAL_A); + I915_WRITE(_VBLANK_A, dev_priv->regfile.saveVBLANK_A); + I915_WRITE(_VSYNC_A, dev_priv->regfile.saveVSYNC_A); + if (!HAS_PCH_SPLIT(dev)) + I915_WRITE(_BCLRPAT_A, dev_priv->regfile.saveBCLRPAT_A); + + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(_PIPEA_DATA_M1, dev_priv->regfile.savePIPEA_DATA_M1); + I915_WRITE(_PIPEA_DATA_N1, dev_priv->regfile.savePIPEA_DATA_N1); + I915_WRITE(_PIPEA_LINK_M1, dev_priv->regfile.savePIPEA_LINK_M1); + I915_WRITE(_PIPEA_LINK_N1, dev_priv->regfile.savePIPEA_LINK_N1); + + I915_WRITE(_FDI_RXA_CTL, dev_priv->regfile.saveFDI_RXA_CTL); + I915_WRITE(_FDI_TXA_CTL, dev_priv->regfile.saveFDI_TXA_CTL); + + I915_WRITE(_PFA_CTL_1, dev_priv->regfile.savePFA_CTL_1); + I915_WRITE(_PFA_WIN_SZ, dev_priv->regfile.savePFA_WIN_SZ); + I915_WRITE(_PFA_WIN_POS, dev_priv->regfile.savePFA_WIN_POS); + + I915_WRITE(_TRANSACONF, dev_priv->regfile.saveTRANSACONF); + I915_WRITE(_TRANS_HTOTAL_A, dev_priv->regfile.saveTRANS_HTOTAL_A); + I915_WRITE(_TRANS_HBLANK_A, dev_priv->regfile.saveTRANS_HBLANK_A); + I915_WRITE(_TRANS_HSYNC_A, dev_priv->regfile.saveTRANS_HSYNC_A); + I915_WRITE(_TRANS_VTOTAL_A, dev_priv->regfile.saveTRANS_VTOTAL_A); + I915_WRITE(_TRANS_VBLANK_A, dev_priv->regfile.saveTRANS_VBLANK_A); + I915_WRITE(_TRANS_VSYNC_A, dev_priv->regfile.saveTRANS_VSYNC_A); + } + + /* Restore plane info */ + I915_WRITE(_DSPASIZE, dev_priv->regfile.saveDSPASIZE); + I915_WRITE(_DSPAPOS, dev_priv->regfile.saveDSPAPOS); + I915_WRITE(_PIPEASRC, dev_priv->regfile.savePIPEASRC); + I915_WRITE(_DSPAADDR, dev_priv->regfile.saveDSPAADDR); + I915_WRITE(_DSPASTRIDE, dev_priv->regfile.saveDSPASTRIDE); + if (INTEL_INFO(dev)->gen >= 4) { + I915_WRITE(_DSPASURF, dev_priv->regfile.saveDSPASURF); + I915_WRITE(_DSPATILEOFF, dev_priv->regfile.saveDSPATILEOFF); + } + + I915_WRITE(_PIPEACONF, dev_priv->regfile.savePIPEACONF); + + i915_restore_palette(dev, PIPE_A); + /* Enable the plane */ + I915_WRITE(_DSPACNTR, dev_priv->regfile.saveDSPACNTR); + I915_WRITE(_DSPAADDR, I915_READ(_DSPAADDR)); + + /* Pipe & plane B info */ + if (dev_priv->regfile.saveDPLL_B & DPLL_VCO_ENABLE) { + I915_WRITE(dpll_b_reg, dev_priv->regfile.saveDPLL_B & + ~DPLL_VCO_ENABLE); + POSTING_READ(dpll_b_reg); + udelay(150); + } + I915_WRITE(fpb0_reg, dev_priv->regfile.saveFPB0); + I915_WRITE(fpb1_reg, dev_priv->regfile.saveFPB1); + /* Actually enable it */ + I915_WRITE(dpll_b_reg, dev_priv->regfile.saveDPLL_B); + POSTING_READ(dpll_b_reg); + udelay(150); + if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev)) { + I915_WRITE(_DPLL_B_MD, dev_priv->regfile.saveDPLL_B_MD); + POSTING_READ(_DPLL_B_MD); + } + udelay(150); + + /* Restore mode */ + I915_WRITE(_HTOTAL_B, dev_priv->regfile.saveHTOTAL_B); + I915_WRITE(_HBLANK_B, dev_priv->regfile.saveHBLANK_B); + I915_WRITE(_HSYNC_B, dev_priv->regfile.saveHSYNC_B); + I915_WRITE(_VTOTAL_B, dev_priv->regfile.saveVTOTAL_B); + I915_WRITE(_VBLANK_B, dev_priv->regfile.saveVBLANK_B); + I915_WRITE(_VSYNC_B, dev_priv->regfile.saveVSYNC_B); + if (!HAS_PCH_SPLIT(dev)) + I915_WRITE(_BCLRPAT_B, dev_priv->regfile.saveBCLRPAT_B); + + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(_PIPEB_DATA_M1, dev_priv->regfile.savePIPEB_DATA_M1); + I915_WRITE(_PIPEB_DATA_N1, dev_priv->regfile.savePIPEB_DATA_N1); + I915_WRITE(_PIPEB_LINK_M1, dev_priv->regfile.savePIPEB_LINK_M1); + I915_WRITE(_PIPEB_LINK_N1, dev_priv->regfile.savePIPEB_LINK_N1); + + I915_WRITE(_FDI_RXB_CTL, dev_priv->regfile.saveFDI_RXB_CTL); + I915_WRITE(_FDI_TXB_CTL, dev_priv->regfile.saveFDI_TXB_CTL); + + I915_WRITE(_PFB_CTL_1, dev_priv->regfile.savePFB_CTL_1); + I915_WRITE(_PFB_WIN_SZ, dev_priv->regfile.savePFB_WIN_SZ); + I915_WRITE(_PFB_WIN_POS, dev_priv->regfile.savePFB_WIN_POS); + + I915_WRITE(_TRANSBCONF, dev_priv->regfile.saveTRANSBCONF); + I915_WRITE(_TRANS_HTOTAL_B, dev_priv->regfile.saveTRANS_HTOTAL_B); + I915_WRITE(_TRANS_HBLANK_B, dev_priv->regfile.saveTRANS_HBLANK_B); + I915_WRITE(_TRANS_HSYNC_B, dev_priv->regfile.saveTRANS_HSYNC_B); + I915_WRITE(_TRANS_VTOTAL_B, dev_priv->regfile.saveTRANS_VTOTAL_B); + I915_WRITE(_TRANS_VBLANK_B, dev_priv->regfile.saveTRANS_VBLANK_B); + I915_WRITE(_TRANS_VSYNC_B, dev_priv->regfile.saveTRANS_VSYNC_B); + } + + /* Restore plane info */ + I915_WRITE(_DSPBSIZE, dev_priv->regfile.saveDSPBSIZE); + I915_WRITE(_DSPBPOS, dev_priv->regfile.saveDSPBPOS); + I915_WRITE(_PIPEBSRC, dev_priv->regfile.savePIPEBSRC); + I915_WRITE(_DSPBADDR, dev_priv->regfile.saveDSPBADDR); + I915_WRITE(_DSPBSTRIDE, dev_priv->regfile.saveDSPBSTRIDE); + if (INTEL_INFO(dev)->gen >= 4) { + I915_WRITE(_DSPBSURF, dev_priv->regfile.saveDSPBSURF); + I915_WRITE(_DSPBTILEOFF, dev_priv->regfile.saveDSPBTILEOFF); + } + + I915_WRITE(_PIPEBCONF, dev_priv->regfile.savePIPEBCONF); + + i915_restore_palette(dev, PIPE_B); + /* Enable the plane */ + I915_WRITE(_DSPBCNTR, dev_priv->regfile.saveDSPBCNTR); + I915_WRITE(_DSPBADDR, I915_READ(_DSPBADDR)); + + /* Cursor state */ + I915_WRITE(_CURAPOS, dev_priv->regfile.saveCURAPOS); + I915_WRITE(_CURACNTR, dev_priv->regfile.saveCURACNTR); + I915_WRITE(_CURABASE, dev_priv->regfile.saveCURABASE); + I915_WRITE(_CURBPOS, dev_priv->regfile.saveCURBPOS); + I915_WRITE(_CURBCNTR, dev_priv->regfile.saveCURBCNTR); + I915_WRITE(_CURBBASE, dev_priv->regfile.saveCURBBASE); + if (IS_GEN2(dev)) + I915_WRITE(CURSIZE, dev_priv->regfile.saveCURSIZE); + + /* CRT state */ + if (HAS_PCH_SPLIT(dev)) + I915_WRITE(PCH_ADPA, dev_priv->regfile.saveADPA); + else + I915_WRITE(ADPA, dev_priv->regfile.saveADPA); + + return; +} + +static void i915_save_display(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* Display arbitration control */ + dev_priv->regfile.saveDSPARB = I915_READ(DSPARB); + + /* This is only meaningful in non-KMS mode */ + /* Don't regfile.save them in KMS mode */ + i915_save_modeset_reg(dev); + + /* LVDS state */ + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.savePP_CONTROL = I915_READ(PCH_PP_CONTROL); + dev_priv->regfile.saveBLC_PWM_CTL = I915_READ(BLC_PWM_PCH_CTL1); + dev_priv->regfile.saveBLC_PWM_CTL2 = I915_READ(BLC_PWM_PCH_CTL2); + dev_priv->regfile.saveBLC_CPU_PWM_CTL = I915_READ(BLC_PWM_CPU_CTL); + dev_priv->regfile.saveBLC_CPU_PWM_CTL2 = I915_READ(BLC_PWM_CPU_CTL2); + dev_priv->regfile.saveLVDS = I915_READ(PCH_LVDS); + } else { + dev_priv->regfile.savePP_CONTROL = I915_READ(PP_CONTROL); + dev_priv->regfile.savePFIT_PGM_RATIOS = I915_READ(PFIT_PGM_RATIOS); + dev_priv->regfile.saveBLC_PWM_CTL = I915_READ(BLC_PWM_CTL); + dev_priv->regfile.saveBLC_HIST_CTL = I915_READ(BLC_HIST_CTL); + if (INTEL_INFO(dev)->gen >= 4) + dev_priv->regfile.saveBLC_PWM_CTL2 = I915_READ(BLC_PWM_CTL2); + if (IS_MOBILE(dev) && !IS_I830(dev)) + dev_priv->regfile.saveLVDS = I915_READ(LVDS); + } + + if (!IS_I830(dev) && !IS_845G(dev) && !HAS_PCH_SPLIT(dev)) + dev_priv->regfile.savePFIT_CONTROL = I915_READ(PFIT_CONTROL); + + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.savePP_ON_DELAYS = I915_READ(PCH_PP_ON_DELAYS); + dev_priv->regfile.savePP_OFF_DELAYS = I915_READ(PCH_PP_OFF_DELAYS); + dev_priv->regfile.savePP_DIVISOR = I915_READ(PCH_PP_DIVISOR); + } else { + dev_priv->regfile.savePP_ON_DELAYS = I915_READ(PP_ON_DELAYS); + dev_priv->regfile.savePP_OFF_DELAYS = I915_READ(PP_OFF_DELAYS); + dev_priv->regfile.savePP_DIVISOR = I915_READ(PP_DIVISOR); + } + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) { + /* Display Port state */ + if (SUPPORTS_INTEGRATED_DP(dev)) { + dev_priv->regfile.saveDP_B = I915_READ(DP_B); + dev_priv->regfile.saveDP_C = I915_READ(DP_C); + dev_priv->regfile.saveDP_D = I915_READ(DP_D); + dev_priv->regfile.savePIPEA_GMCH_DATA_M = I915_READ(_PIPEA_GMCH_DATA_M); + dev_priv->regfile.savePIPEB_GMCH_DATA_M = I915_READ(_PIPEB_GMCH_DATA_M); + dev_priv->regfile.savePIPEA_GMCH_DATA_N = I915_READ(_PIPEA_GMCH_DATA_N); + dev_priv->regfile.savePIPEB_GMCH_DATA_N = I915_READ(_PIPEB_GMCH_DATA_N); + dev_priv->regfile.savePIPEA_DP_LINK_M = I915_READ(_PIPEA_DP_LINK_M); + dev_priv->regfile.savePIPEB_DP_LINK_M = I915_READ(_PIPEB_DP_LINK_M); + dev_priv->regfile.savePIPEA_DP_LINK_N = I915_READ(_PIPEA_DP_LINK_N); + dev_priv->regfile.savePIPEB_DP_LINK_N = I915_READ(_PIPEB_DP_LINK_N); + } + /* FIXME: regfile.save TV & SDVO state */ + } + + /* Only regfile.save FBC state on the platform that supports FBC */ + if (I915_HAS_FBC(dev)) { + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.saveDPFC_CB_BASE = I915_READ(ILK_DPFC_CB_BASE); + } else if (IS_GM45(dev)) { + dev_priv->regfile.saveDPFC_CB_BASE = I915_READ(DPFC_CB_BASE); + } else { + dev_priv->regfile.saveFBC_CFB_BASE = I915_READ(FBC_CFB_BASE); + dev_priv->regfile.saveFBC_LL_BASE = I915_READ(FBC_LL_BASE); + dev_priv->regfile.saveFBC_CONTROL2 = I915_READ(FBC_CONTROL2); + dev_priv->regfile.saveFBC_CONTROL = I915_READ(FBC_CONTROL); + } + } + + /* VGA state */ + dev_priv->regfile.saveVGA0 = I915_READ(VGA0); + dev_priv->regfile.saveVGA1 = I915_READ(VGA1); + dev_priv->regfile.saveVGA_PD = I915_READ(VGA_PD); + if (HAS_PCH_SPLIT(dev)) + dev_priv->regfile.saveVGACNTRL = I915_READ(CPU_VGACNTRL); + else + dev_priv->regfile.saveVGACNTRL = I915_READ(VGACNTRL); + + i915_save_vga(dev); +} + +static void i915_restore_display(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* Display arbitration */ + I915_WRITE(DSPARB, dev_priv->regfile.saveDSPARB); + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) { + /* Display port ratios (must be done before clock is set) */ + if (SUPPORTS_INTEGRATED_DP(dev)) { + I915_WRITE(_PIPEA_GMCH_DATA_M, dev_priv->regfile.savePIPEA_GMCH_DATA_M); + I915_WRITE(_PIPEB_GMCH_DATA_M, dev_priv->regfile.savePIPEB_GMCH_DATA_M); + I915_WRITE(_PIPEA_GMCH_DATA_N, dev_priv->regfile.savePIPEA_GMCH_DATA_N); + I915_WRITE(_PIPEB_GMCH_DATA_N, dev_priv->regfile.savePIPEB_GMCH_DATA_N); + I915_WRITE(_PIPEA_DP_LINK_M, dev_priv->regfile.savePIPEA_DP_LINK_M); + I915_WRITE(_PIPEB_DP_LINK_M, dev_priv->regfile.savePIPEB_DP_LINK_M); + I915_WRITE(_PIPEA_DP_LINK_N, dev_priv->regfile.savePIPEA_DP_LINK_N); + I915_WRITE(_PIPEB_DP_LINK_N, dev_priv->regfile.savePIPEB_DP_LINK_N); + } + } + + /* This is only meaningful in non-KMS mode */ + /* Don't restore them in KMS mode */ + i915_restore_modeset_reg(dev); + + /* LVDS state */ + if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev)) + I915_WRITE(BLC_PWM_CTL2, dev_priv->regfile.saveBLC_PWM_CTL2); + + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(PCH_LVDS, dev_priv->regfile.saveLVDS); + } else if (IS_MOBILE(dev) && !IS_I830(dev)) + I915_WRITE(LVDS, dev_priv->regfile.saveLVDS); + + if (!IS_I830(dev) && !IS_845G(dev) && !HAS_PCH_SPLIT(dev)) + I915_WRITE(PFIT_CONTROL, dev_priv->regfile.savePFIT_CONTROL); + + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(BLC_PWM_PCH_CTL1, dev_priv->regfile.saveBLC_PWM_CTL); + I915_WRITE(BLC_PWM_PCH_CTL2, dev_priv->regfile.saveBLC_PWM_CTL2); + /* NOTE: BLC_PWM_CPU_CTL must be written after BLC_PWM_CPU_CTL2; + * otherwise we get blank eDP screen after S3 on some machines + */ + I915_WRITE(BLC_PWM_CPU_CTL2, dev_priv->regfile.saveBLC_CPU_PWM_CTL2); + I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->regfile.saveBLC_CPU_PWM_CTL); + I915_WRITE(PCH_PP_ON_DELAYS, dev_priv->regfile.savePP_ON_DELAYS); + I915_WRITE(PCH_PP_OFF_DELAYS, dev_priv->regfile.savePP_OFF_DELAYS); + I915_WRITE(PCH_PP_DIVISOR, dev_priv->regfile.savePP_DIVISOR); + I915_WRITE(PCH_PP_CONTROL, dev_priv->regfile.savePP_CONTROL); + I915_WRITE(RSTDBYCTL, + dev_priv->regfile.saveMCHBAR_RENDER_STANDBY); + } else { + I915_WRITE(PFIT_PGM_RATIOS, dev_priv->regfile.savePFIT_PGM_RATIOS); + I915_WRITE(BLC_PWM_CTL, dev_priv->regfile.saveBLC_PWM_CTL); + I915_WRITE(BLC_HIST_CTL, dev_priv->regfile.saveBLC_HIST_CTL); + I915_WRITE(PP_ON_DELAYS, dev_priv->regfile.savePP_ON_DELAYS); + I915_WRITE(PP_OFF_DELAYS, dev_priv->regfile.savePP_OFF_DELAYS); + I915_WRITE(PP_DIVISOR, dev_priv->regfile.savePP_DIVISOR); + I915_WRITE(PP_CONTROL, dev_priv->regfile.savePP_CONTROL); + } + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) { + /* Display Port state */ + if (SUPPORTS_INTEGRATED_DP(dev)) { + I915_WRITE(DP_B, dev_priv->regfile.saveDP_B); + I915_WRITE(DP_C, dev_priv->regfile.saveDP_C); + I915_WRITE(DP_D, dev_priv->regfile.saveDP_D); + } + /* FIXME: restore TV & SDVO state */ + } + + /* only restore FBC info on the platform that supports FBC*/ + intel_disable_fbc(dev); + if (I915_HAS_FBC(dev)) { + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(ILK_DPFC_CB_BASE, dev_priv->regfile.saveDPFC_CB_BASE); + } else if (IS_GM45(dev)) { + I915_WRITE(DPFC_CB_BASE, dev_priv->regfile.saveDPFC_CB_BASE); + } else { + I915_WRITE(FBC_CFB_BASE, dev_priv->regfile.saveFBC_CFB_BASE); + I915_WRITE(FBC_LL_BASE, dev_priv->regfile.saveFBC_LL_BASE); + I915_WRITE(FBC_CONTROL2, dev_priv->regfile.saveFBC_CONTROL2); + I915_WRITE(FBC_CONTROL, dev_priv->regfile.saveFBC_CONTROL); + } + } + /* VGA state */ + if (HAS_PCH_SPLIT(dev)) + I915_WRITE(CPU_VGACNTRL, dev_priv->regfile.saveVGACNTRL); + else + I915_WRITE(VGACNTRL, dev_priv->regfile.saveVGACNTRL); + + I915_WRITE(VGA0, dev_priv->regfile.saveVGA0); + I915_WRITE(VGA1, dev_priv->regfile.saveVGA1); + I915_WRITE(VGA_PD, dev_priv->regfile.saveVGA_PD); + POSTING_READ(VGA_PD); + udelay(150); + + i915_restore_vga(dev); +} + +int i915_save_state(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + + pci_read_config_byte(dev->pdev, LBB, &dev_priv->regfile.saveLBB); + + mutex_lock(&dev->struct_mutex); + + i915_save_display(dev); + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) { + /* Interrupt state */ + if (HAS_PCH_SPLIT(dev)) { + dev_priv->regfile.saveDEIER = I915_READ(DEIER); + dev_priv->regfile.saveDEIMR = I915_READ(DEIMR); + dev_priv->regfile.saveGTIER = I915_READ(GTIER); + dev_priv->regfile.saveGTIMR = I915_READ(GTIMR); + dev_priv->regfile.saveFDI_RXA_IMR = I915_READ(_FDI_RXA_IMR); + dev_priv->regfile.saveFDI_RXB_IMR = I915_READ(_FDI_RXB_IMR); + dev_priv->regfile.saveMCHBAR_RENDER_STANDBY = + I915_READ(RSTDBYCTL); + dev_priv->regfile.savePCH_PORT_HOTPLUG = I915_READ(PCH_PORT_HOTPLUG); + } else { + dev_priv->regfile.saveIER = I915_READ(IER); + dev_priv->regfile.saveIMR = I915_READ(IMR); + } + } + + intel_disable_gt_powersave(dev); + + /* Cache mode state */ + dev_priv->regfile.saveCACHE_MODE_0 = I915_READ(CACHE_MODE_0); + + /* Memory Arbitration state */ + dev_priv->regfile.saveMI_ARB_STATE = I915_READ(MI_ARB_STATE); + + /* Scratch space */ + for (i = 0; i < 16; i++) { + dev_priv->regfile.saveSWF0[i] = I915_READ(SWF00 + (i << 2)); + dev_priv->regfile.saveSWF1[i] = I915_READ(SWF10 + (i << 2)); + } + for (i = 0; i < 3; i++) + dev_priv->regfile.saveSWF2[i] = I915_READ(SWF30 + (i << 2)); + + mutex_unlock(&dev->struct_mutex); + + return 0; +} + +int i915_restore_state(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + + pci_write_config_byte(dev->pdev, LBB, dev_priv->regfile.saveLBB); + + mutex_lock(&dev->struct_mutex); + + i915_restore_display(dev); + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) { + /* Interrupt state */ + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(DEIER, dev_priv->regfile.saveDEIER); + I915_WRITE(DEIMR, dev_priv->regfile.saveDEIMR); + I915_WRITE(GTIER, dev_priv->regfile.saveGTIER); + I915_WRITE(GTIMR, dev_priv->regfile.saveGTIMR); + I915_WRITE(_FDI_RXA_IMR, dev_priv->regfile.saveFDI_RXA_IMR); + I915_WRITE(_FDI_RXB_IMR, dev_priv->regfile.saveFDI_RXB_IMR); + I915_WRITE(PCH_PORT_HOTPLUG, dev_priv->regfile.savePCH_PORT_HOTPLUG); + } else { + I915_WRITE(IER, dev_priv->regfile.saveIER); + I915_WRITE(IMR, dev_priv->regfile.saveIMR); + } + } + + /* Cache mode state */ + I915_WRITE(CACHE_MODE_0, dev_priv->regfile.saveCACHE_MODE_0 | 0xffff0000); + + /* Memory arbitration state */ + I915_WRITE(MI_ARB_STATE, dev_priv->regfile.saveMI_ARB_STATE | 0xffff0000); + + for (i = 0; i < 16; i++) { + I915_WRITE(SWF00 + (i << 2), dev_priv->regfile.saveSWF0[i]); + I915_WRITE(SWF10 + (i << 2), dev_priv->regfile.saveSWF1[i]); + } + for (i = 0; i < 3; i++) + I915_WRITE(SWF30 + (i << 2), dev_priv->regfile.saveSWF2[i]); + + mutex_unlock(&dev->struct_mutex); + + intel_i2c_reset(dev); + + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_sysfs.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_sysfs.c @@ -0,0 +1,403 @@ +/* + * Copyright © 2012 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Ben Widawsky + * + */ + +#include +#include +#include +#include +#include "intel_drv.h" +#include "i915_drv.h" + +#ifdef CONFIG_PM +static u32 calc_residency(struct drm_device *dev, const u32 reg) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u64 raw_time; /* 32b value may overflow during fixed point math */ + + if (!intel_enable_rc6(dev)) + return 0; + + raw_time = I915_READ(reg) * 128ULL; + return DIV_ROUND_UP_ULL(raw_time, 100000); +} + +static ssize_t +show_rc6_mask(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct drm_minor *dminor = container_of(kdev, struct drm_minor, kdev); + return snprintf(buf, PAGE_SIZE, "%x", intel_enable_rc6(dminor->dev)); +} + +static ssize_t +show_rc6_ms(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct drm_minor *dminor = container_of(kdev, struct drm_minor, kdev); + u32 rc6_residency = calc_residency(dminor->dev, GEN6_GT_GFX_RC6); + return snprintf(buf, PAGE_SIZE, "%u", rc6_residency); +} + +static ssize_t +show_rc6p_ms(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct drm_minor *dminor = container_of(kdev, struct drm_minor, kdev); + u32 rc6p_residency = calc_residency(dminor->dev, GEN6_GT_GFX_RC6p); + return snprintf(buf, PAGE_SIZE, "%u", rc6p_residency); +} + +static ssize_t +show_rc6pp_ms(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct drm_minor *dminor = container_of(kdev, struct drm_minor, kdev); + u32 rc6pp_residency = calc_residency(dminor->dev, GEN6_GT_GFX_RC6pp); + return snprintf(buf, PAGE_SIZE, "%u", rc6pp_residency); +} + +static DEVICE_ATTR(rc6_enable, S_IRUGO, show_rc6_mask, NULL); +static DEVICE_ATTR(rc6_residency_ms, S_IRUGO, show_rc6_ms, NULL); +static DEVICE_ATTR(rc6p_residency_ms, S_IRUGO, show_rc6p_ms, NULL); +static DEVICE_ATTR(rc6pp_residency_ms, S_IRUGO, show_rc6pp_ms, NULL); + +static struct attribute *rc6_attrs[] = { + &dev_attr_rc6_enable.attr, + &dev_attr_rc6_residency_ms.attr, + &dev_attr_rc6p_residency_ms.attr, + &dev_attr_rc6pp_residency_ms.attr, + NULL +}; + +static struct attribute_group rc6_attr_group = { + .name = power_group_name, + .attrs = rc6_attrs +}; +#endif + +static int l3_access_valid(struct drm_device *dev, loff_t offset) +{ + if (!IS_IVYBRIDGE(dev)) + return -EPERM; + + if (offset % 4 != 0) + return -EINVAL; + + if (offset >= GEN7_L3LOG_SIZE) + return -ENXIO; + + return 0; +} + +static ssize_t +i915_l3_read(struct file *filp, struct kobject *kobj, + struct bin_attribute *attr, char *buf, + loff_t offset, size_t count) +{ + struct device *dev = container_of(kobj, struct device, kobj); + struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev); + struct drm_device *drm_dev = dminor->dev; + struct drm_i915_private *dev_priv = drm_dev->dev_private; + uint32_t misccpctl; + int i, ret; + + ret = l3_access_valid(drm_dev, offset); + if (ret) + return ret; + + ret = i915_mutex_lock_interruptible(drm_dev); + if (ret) + return ret; + + misccpctl = I915_READ(GEN7_MISCCPCTL); + I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); + + for (i = offset; count >= 4 && i < GEN7_L3LOG_SIZE; i += 4, count -= 4) + *((uint32_t *)(&buf[i])) = I915_READ(GEN7_L3LOG_BASE + i); + + I915_WRITE(GEN7_MISCCPCTL, misccpctl); + + mutex_unlock(&drm_dev->struct_mutex); + + return i - offset; +} + +static ssize_t +i915_l3_write(struct file *filp, struct kobject *kobj, + struct bin_attribute *attr, char *buf, + loff_t offset, size_t count) +{ + struct device *dev = container_of(kobj, struct device, kobj); + struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev); + struct drm_device *drm_dev = dminor->dev; + struct drm_i915_private *dev_priv = drm_dev->dev_private; + u32 *temp = NULL; /* Just here to make handling failures easy */ + int ret; + + ret = l3_access_valid(drm_dev, offset); + if (ret) + return ret; + + ret = i915_mutex_lock_interruptible(drm_dev); + if (ret) + return ret; + + if (!dev_priv->l3_parity.remap_info) { + temp = kzalloc(GEN7_L3LOG_SIZE, GFP_KERNEL); + if (!temp) { + mutex_unlock(&drm_dev->struct_mutex); + return -ENOMEM; + } + } + + ret = i915_gpu_idle(drm_dev); + if (ret) { + kfree(temp); + mutex_unlock(&drm_dev->struct_mutex); + return ret; + } + + /* TODO: Ideally we really want a GPU reset here to make sure errors + * aren't propagated. Since I cannot find a stable way to reset the GPU + * at this point it is left as a TODO. + */ + if (temp) + dev_priv->l3_parity.remap_info = temp; + + memcpy(dev_priv->l3_parity.remap_info + (offset/4), + buf + (offset/4), + count); + + i915_gem_l3_remap(drm_dev); + + mutex_unlock(&drm_dev->struct_mutex); + + return count; +} + +static struct bin_attribute dpf_attrs = { + .attr = {.name = "l3_parity", .mode = (S_IRUSR | S_IWUSR)}, + .size = GEN7_L3LOG_SIZE, + .read = i915_l3_read, + .write = i915_l3_write, + .mmap = NULL +}; + +static ssize_t gt_cur_freq_mhz_show(struct device *kdev, + struct device_attribute *attr, char *buf) +{ + struct drm_minor *minor = container_of(kdev, struct drm_minor, kdev); + struct drm_device *dev = minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + mutex_lock(&dev_priv->rps.hw_lock); + ret = dev_priv->rps.cur_delay * GT_FREQUENCY_MULTIPLIER; + mutex_unlock(&dev_priv->rps.hw_lock); + + return snprintf(buf, PAGE_SIZE, "%d", ret); +} + +static ssize_t gt_max_freq_mhz_show(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct drm_minor *minor = container_of(kdev, struct drm_minor, kdev); + struct drm_device *dev = minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + mutex_lock(&dev_priv->rps.hw_lock); + ret = dev_priv->rps.max_delay * GT_FREQUENCY_MULTIPLIER; + mutex_unlock(&dev_priv->rps.hw_lock); + + return snprintf(buf, PAGE_SIZE, "%d", ret); +} + +static ssize_t gt_max_freq_mhz_store(struct device *kdev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct drm_minor *minor = container_of(kdev, struct drm_minor, kdev); + struct drm_device *dev = minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 val, rp_state_cap, hw_max, hw_min; + ssize_t ret; + + ret = kstrtou32(buf, 0, &val); + if (ret) + return ret; + + val /= GT_FREQUENCY_MULTIPLIER; + + mutex_lock(&dev_priv->rps.hw_lock); + + rp_state_cap = I915_READ(GEN6_RP_STATE_CAP); + hw_max = (rp_state_cap & 0xff); + hw_min = ((rp_state_cap & 0xff0000) >> 16); + + if (val < hw_min || val > hw_max || val < dev_priv->rps.min_delay) { + mutex_unlock(&dev_priv->rps.hw_lock); + return -EINVAL; + } + + if (dev_priv->rps.cur_delay > val) + gen6_set_rps(dev_priv->dev, val); + + dev_priv->rps.max_delay = val; + + mutex_unlock(&dev_priv->rps.hw_lock); + + return count; +} + +static ssize_t gt_min_freq_mhz_show(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct drm_minor *minor = container_of(kdev, struct drm_minor, kdev); + struct drm_device *dev = minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + mutex_lock(&dev_priv->rps.hw_lock); + ret = dev_priv->rps.min_delay * GT_FREQUENCY_MULTIPLIER; + mutex_unlock(&dev_priv->rps.hw_lock); + + return snprintf(buf, PAGE_SIZE, "%d", ret); +} + +static ssize_t gt_min_freq_mhz_store(struct device *kdev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct drm_minor *minor = container_of(kdev, struct drm_minor, kdev); + struct drm_device *dev = minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 val, rp_state_cap, hw_max, hw_min; + ssize_t ret; + + ret = kstrtou32(buf, 0, &val); + if (ret) + return ret; + + val /= GT_FREQUENCY_MULTIPLIER; + + mutex_lock(&dev_priv->rps.hw_lock); + + rp_state_cap = I915_READ(GEN6_RP_STATE_CAP); + hw_max = (rp_state_cap & 0xff); + hw_min = ((rp_state_cap & 0xff0000) >> 16); + + if (val < hw_min || val > hw_max || val > dev_priv->rps.max_delay) { + mutex_unlock(&dev_priv->rps.hw_lock); + return -EINVAL; + } + + if (dev_priv->rps.cur_delay < val) + gen6_set_rps(dev_priv->dev, val); + + dev_priv->rps.min_delay = val; + + mutex_unlock(&dev_priv->rps.hw_lock); + + return count; + +} + +static DEVICE_ATTR(gt_cur_freq_mhz, S_IRUGO, gt_cur_freq_mhz_show, NULL); +static DEVICE_ATTR(gt_max_freq_mhz, S_IRUGO | S_IWUSR, gt_max_freq_mhz_show, gt_max_freq_mhz_store); +static DEVICE_ATTR(gt_min_freq_mhz, S_IRUGO | S_IWUSR, gt_min_freq_mhz_show, gt_min_freq_mhz_store); + + +static ssize_t gt_rp_mhz_show(struct device *kdev, struct device_attribute *attr, char *buf); +static DEVICE_ATTR(gt_RP0_freq_mhz, S_IRUGO, gt_rp_mhz_show, NULL); +static DEVICE_ATTR(gt_RP1_freq_mhz, S_IRUGO, gt_rp_mhz_show, NULL); +static DEVICE_ATTR(gt_RPn_freq_mhz, S_IRUGO, gt_rp_mhz_show, NULL); + +/* For now we have a static number of RP states */ +static ssize_t gt_rp_mhz_show(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct drm_minor *minor = container_of(kdev, struct drm_minor, kdev); + struct drm_device *dev = minor->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 val, rp_state_cap; + ssize_t ret; + + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; + rp_state_cap = I915_READ(GEN6_RP_STATE_CAP); + mutex_unlock(&dev->struct_mutex); + + if (attr == &dev_attr_gt_RP0_freq_mhz) { + val = ((rp_state_cap & 0x0000ff) >> 0) * GT_FREQUENCY_MULTIPLIER; + } else if (attr == &dev_attr_gt_RP1_freq_mhz) { + val = ((rp_state_cap & 0x00ff00) >> 8) * GT_FREQUENCY_MULTIPLIER; + } else if (attr == &dev_attr_gt_RPn_freq_mhz) { + val = ((rp_state_cap & 0xff0000) >> 16) * GT_FREQUENCY_MULTIPLIER; + } else { + BUG(); + } + return snprintf(buf, PAGE_SIZE, "%d", val); +} + +static const struct attribute *gen6_attrs[] = { + &dev_attr_gt_cur_freq_mhz.attr, + &dev_attr_gt_max_freq_mhz.attr, + &dev_attr_gt_min_freq_mhz.attr, + &dev_attr_gt_RP0_freq_mhz.attr, + &dev_attr_gt_RP1_freq_mhz.attr, + &dev_attr_gt_RPn_freq_mhz.attr, + NULL, +}; + +void i915_setup_sysfs(struct drm_device *dev) +{ + int ret; + +#ifdef CONFIG_PM + if (INTEL_INFO(dev)->gen >= 6) { + ret = sysfs_merge_group(&dev->primary->kdev.kobj, + &rc6_attr_group); + if (ret) + DRM_ERROR("RC6 residency sysfs setup failed\n"); + } +#endif + if (HAS_L3_GPU_CACHE(dev)) { + ret = device_create_bin_file(&dev->primary->kdev, &dpf_attrs); + if (ret) + DRM_ERROR("l3 parity sysfs setup failed\n"); + } + + if (INTEL_INFO(dev)->gen >= 6) { + ret = sysfs_create_files(&dev->primary->kdev.kobj, gen6_attrs); + if (ret) + DRM_ERROR("gen6 sysfs setup failed\n"); + } +} + +void i915_teardown_sysfs(struct drm_device *dev) +{ + sysfs_remove_files(&dev->primary->kdev.kobj, gen6_attrs); + device_remove_bin_file(&dev->primary->kdev, &dpf_attrs); +#ifdef CONFIG_PM + sysfs_unmerge_group(&dev->primary->kdev.kobj, &rc6_attr_group); +#endif +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_trace.h +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_trace.h @@ -0,0 +1,455 @@ +#if !defined(_I915_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) +#define _I915_TRACE_H_ + +#include +#include +#include + +#include +#include "i915_drv.h" +#include "intel_ringbuffer.h" + +#undef TRACE_SYSTEM +#define TRACE_SYSTEM i915 +#define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM) +#define TRACE_INCLUDE_FILE i915_trace + +/* object tracking */ + +TRACE_EVENT(i915_gem_object_create, + TP_PROTO(struct drm_i915_gem_object *obj), + TP_ARGS(obj), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + __field(u32, size) + ), + + TP_fast_assign( + __entry->obj = obj; + __entry->size = obj->base.size; + ), + + TP_printk("obj=%p, size=%u", __entry->obj, __entry->size) +); + +TRACE_EVENT(i915_gem_object_bind, + TP_PROTO(struct drm_i915_gem_object *obj, bool mappable), + TP_ARGS(obj, mappable), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + __field(u32, offset) + __field(u32, size) + __field(bool, mappable) + ), + + TP_fast_assign( + __entry->obj = obj; + __entry->offset = obj->gtt_space->start; + __entry->size = obj->gtt_space->size; + __entry->mappable = mappable; + ), + + TP_printk("obj=%p, offset=%08x size=%x%s", + __entry->obj, __entry->offset, __entry->size, + __entry->mappable ? ", mappable" : "") +); + +TRACE_EVENT(i915_gem_object_unbind, + TP_PROTO(struct drm_i915_gem_object *obj), + TP_ARGS(obj), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + __field(u32, offset) + __field(u32, size) + ), + + TP_fast_assign( + __entry->obj = obj; + __entry->offset = obj->gtt_space->start; + __entry->size = obj->gtt_space->size; + ), + + TP_printk("obj=%p, offset=%08x size=%x", + __entry->obj, __entry->offset, __entry->size) +); + +TRACE_EVENT(i915_gem_object_change_domain, + TP_PROTO(struct drm_i915_gem_object *obj, u32 old_read, u32 old_write), + TP_ARGS(obj, old_read, old_write), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + __field(u32, read_domains) + __field(u32, write_domain) + ), + + TP_fast_assign( + __entry->obj = obj; + __entry->read_domains = obj->base.read_domains | (old_read << 16); + __entry->write_domain = obj->base.write_domain | (old_write << 16); + ), + + TP_printk("obj=%p, read=%02x=>%02x, write=%02x=>%02x", + __entry->obj, + __entry->read_domains >> 16, + __entry->read_domains & 0xffff, + __entry->write_domain >> 16, + __entry->write_domain & 0xffff) +); + +TRACE_EVENT(i915_gem_object_pwrite, + TP_PROTO(struct drm_i915_gem_object *obj, u32 offset, u32 len), + TP_ARGS(obj, offset, len), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + __field(u32, offset) + __field(u32, len) + ), + + TP_fast_assign( + __entry->obj = obj; + __entry->offset = offset; + __entry->len = len; + ), + + TP_printk("obj=%p, offset=%u, len=%u", + __entry->obj, __entry->offset, __entry->len) +); + +TRACE_EVENT(i915_gem_object_pread, + TP_PROTO(struct drm_i915_gem_object *obj, u32 offset, u32 len), + TP_ARGS(obj, offset, len), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + __field(u32, offset) + __field(u32, len) + ), + + TP_fast_assign( + __entry->obj = obj; + __entry->offset = offset; + __entry->len = len; + ), + + TP_printk("obj=%p, offset=%u, len=%u", + __entry->obj, __entry->offset, __entry->len) +); + +TRACE_EVENT(i915_gem_object_fault, + TP_PROTO(struct drm_i915_gem_object *obj, u32 index, bool gtt, bool write), + TP_ARGS(obj, index, gtt, write), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + __field(u32, index) + __field(bool, gtt) + __field(bool, write) + ), + + TP_fast_assign( + __entry->obj = obj; + __entry->index = index; + __entry->gtt = gtt; + __entry->write = write; + ), + + TP_printk("obj=%p, %s index=%u %s", + __entry->obj, + __entry->gtt ? "GTT" : "CPU", + __entry->index, + __entry->write ? ", writable" : "") +); + +DECLARE_EVENT_CLASS(i915_gem_object, + TP_PROTO(struct drm_i915_gem_object *obj), + TP_ARGS(obj), + + TP_STRUCT__entry( + __field(struct drm_i915_gem_object *, obj) + ), + + TP_fast_assign( + __entry->obj = obj; + ), + + TP_printk("obj=%p", __entry->obj) +); + +DEFINE_EVENT(i915_gem_object, i915_gem_object_clflush, + TP_PROTO(struct drm_i915_gem_object *obj), + TP_ARGS(obj) +); + +DEFINE_EVENT(i915_gem_object, i915_gem_object_destroy, + TP_PROTO(struct drm_i915_gem_object *obj), + TP_ARGS(obj) +); + +TRACE_EVENT(i915_gem_evict, + TP_PROTO(struct drm_device *dev, u32 size, u32 align, bool mappable), + TP_ARGS(dev, size, align, mappable), + + TP_STRUCT__entry( + __field(u32, dev) + __field(u32, size) + __field(u32, align) + __field(bool, mappable) + ), + + TP_fast_assign( + __entry->dev = dev->primary->index; + __entry->size = size; + __entry->align = align; + __entry->mappable = mappable; + ), + + TP_printk("dev=%d, size=%d, align=%d %s", + __entry->dev, __entry->size, __entry->align, + __entry->mappable ? ", mappable" : "") +); + +TRACE_EVENT(i915_gem_evict_everything, + TP_PROTO(struct drm_device *dev), + TP_ARGS(dev), + + TP_STRUCT__entry( + __field(u32, dev) + ), + + TP_fast_assign( + __entry->dev = dev->primary->index; + ), + + TP_printk("dev=%d", __entry->dev) +); + +TRACE_EVENT(i915_gem_ring_dispatch, + TP_PROTO(struct intel_ring_buffer *ring, u32 seqno, u32 flags), + TP_ARGS(ring, seqno, flags), + + TP_STRUCT__entry( + __field(u32, dev) + __field(u32, ring) + __field(u32, seqno) + __field(u32, flags) + ), + + TP_fast_assign( + __entry->dev = ring->dev->primary->index; + __entry->ring = ring->id; + __entry->seqno = seqno; + __entry->flags = flags; + i915_trace_irq_get(ring, seqno); + ), + + TP_printk("dev=%u, ring=%u, seqno=%u, flags=%x", + __entry->dev, __entry->ring, __entry->seqno, __entry->flags) +); + +TRACE_EVENT(i915_gem_ring_flush, + TP_PROTO(struct intel_ring_buffer *ring, u32 invalidate, u32 flush), + TP_ARGS(ring, invalidate, flush), + + TP_STRUCT__entry( + __field(u32, dev) + __field(u32, ring) + __field(u32, invalidate) + __field(u32, flush) + ), + + TP_fast_assign( + __entry->dev = ring->dev->primary->index; + __entry->ring = ring->id; + __entry->invalidate = invalidate; + __entry->flush = flush; + ), + + TP_printk("dev=%u, ring=%x, invalidate=%04x, flush=%04x", + __entry->dev, __entry->ring, + __entry->invalidate, __entry->flush) +); + +DECLARE_EVENT_CLASS(i915_gem_request, + TP_PROTO(struct intel_ring_buffer *ring, u32 seqno), + TP_ARGS(ring, seqno), + + TP_STRUCT__entry( + __field(u32, dev) + __field(u32, ring) + __field(u32, seqno) + ), + + TP_fast_assign( + __entry->dev = ring->dev->primary->index; + __entry->ring = ring->id; + __entry->seqno = seqno; + ), + + TP_printk("dev=%u, ring=%u, seqno=%u", + __entry->dev, __entry->ring, __entry->seqno) +); + +DEFINE_EVENT(i915_gem_request, i915_gem_request_add, + TP_PROTO(struct intel_ring_buffer *ring, u32 seqno), + TP_ARGS(ring, seqno) +); + +DEFINE_EVENT(i915_gem_request, i915_gem_request_complete, + TP_PROTO(struct intel_ring_buffer *ring, u32 seqno), + TP_ARGS(ring, seqno) +); + +DEFINE_EVENT(i915_gem_request, i915_gem_request_retire, + TP_PROTO(struct intel_ring_buffer *ring, u32 seqno), + TP_ARGS(ring, seqno) +); + +TRACE_EVENT(i915_gem_request_wait_begin, + TP_PROTO(struct intel_ring_buffer *ring, u32 seqno), + TP_ARGS(ring, seqno), + + TP_STRUCT__entry( + __field(u32, dev) + __field(u32, ring) + __field(u32, seqno) + __field(bool, blocking) + ), + + /* NB: the blocking information is racy since mutex_is_locked + * doesn't check that the current thread holds the lock. The only + * other option would be to pass the boolean information of whether + * or not the class was blocking down through the stack which is + * less desirable. + */ + TP_fast_assign( + __entry->dev = ring->dev->primary->index; + __entry->ring = ring->id; + __entry->seqno = seqno; + __entry->blocking = mutex_is_locked(&ring->dev->struct_mutex); + ), + + TP_printk("dev=%u, ring=%u, seqno=%u, blocking=%s", + __entry->dev, __entry->ring, __entry->seqno, + __entry->blocking ? "yes (NB)" : "no") +); + +DEFINE_EVENT(i915_gem_request, i915_gem_request_wait_end, + TP_PROTO(struct intel_ring_buffer *ring, u32 seqno), + TP_ARGS(ring, seqno) +); + +DECLARE_EVENT_CLASS(i915_ring, + TP_PROTO(struct intel_ring_buffer *ring), + TP_ARGS(ring), + + TP_STRUCT__entry( + __field(u32, dev) + __field(u32, ring) + ), + + TP_fast_assign( + __entry->dev = ring->dev->primary->index; + __entry->ring = ring->id; + ), + + TP_printk("dev=%u, ring=%u", __entry->dev, __entry->ring) +); + +DEFINE_EVENT(i915_ring, i915_ring_wait_begin, + TP_PROTO(struct intel_ring_buffer *ring), + TP_ARGS(ring) +); + +DEFINE_EVENT(i915_ring, i915_ring_wait_end, + TP_PROTO(struct intel_ring_buffer *ring), + TP_ARGS(ring) +); + +TRACE_EVENT(i915_flip_request, + TP_PROTO(int plane, struct drm_i915_gem_object *obj), + + TP_ARGS(plane, obj), + + TP_STRUCT__entry( + __field(int, plane) + __field(struct drm_i915_gem_object *, obj) + ), + + TP_fast_assign( + __entry->plane = plane; + __entry->obj = obj; + ), + + TP_printk("plane=%d, obj=%p", __entry->plane, __entry->obj) +); + +TRACE_EVENT(i915_flip_complete, + TP_PROTO(int plane, struct drm_i915_gem_object *obj), + + TP_ARGS(plane, obj), + + TP_STRUCT__entry( + __field(int, plane) + __field(struct drm_i915_gem_object *, obj) + ), + + TP_fast_assign( + __entry->plane = plane; + __entry->obj = obj; + ), + + TP_printk("plane=%d, obj=%p", __entry->plane, __entry->obj) +); + +TRACE_EVENT(i915_reg_rw, + TP_PROTO(bool write, u32 reg, u64 val, int len), + + TP_ARGS(write, reg, val, len), + + TP_STRUCT__entry( + __field(u64, val) + __field(u32, reg) + __field(u16, write) + __field(u16, len) + ), + + TP_fast_assign( + __entry->val = (u64)val; + __entry->reg = reg; + __entry->write = write; + __entry->len = len; + ), + + TP_printk("%s reg=0x%x, len=%d, val=(0x%x, 0x%x)", + __entry->write ? "write" : "read", + __entry->reg, __entry->len, + (u32)(__entry->val & 0xffffffff), + (u32)(__entry->val >> 32)) +); + +TRACE_EVENT(intel_gpu_freq_change, + TP_PROTO(u32 freq), + TP_ARGS(freq), + + TP_STRUCT__entry( + __field(u32, freq) + ), + + TP_fast_assign( + __entry->freq = freq; + ), + + TP_printk("new_freq=%u", __entry->freq) +); + +#endif /* _I915_TRACE_H_ */ + +/* This part must be outside protection */ +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH . +#include --- linux-lowlatency-3.5.0.orig/ubuntu/i915/i915_trace_points.c +++ linux-lowlatency-3.5.0/ubuntu/i915/i915_trace_points.c @@ -0,0 +1,13 @@ +/* + * Copyright © 2009 Intel Corporation + * + * Authors: + * Chris Wilson + */ + +#include "i915_drv.h" + +#ifndef __CHECKER__ +#define CREATE_TRACE_POINTS +#include "i915_trace.h" +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_acpi.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_acpi.c @@ -0,0 +1,251 @@ +/* + * Intel ACPI functions + * + * _DSM related code stolen from nouveau_acpi.c. + */ +#include +#include +#include +#include + +#include "drmP.h" +#include "i915_drv.h" + +#define INTEL_DSM_REVISION_ID 1 /* For Calpella anyway... */ + +#define INTEL_DSM_FN_SUPPORTED_FUNCTIONS 0 /* No args */ +#define INTEL_DSM_FN_PLATFORM_MUX_INFO 1 /* No args */ + +static struct intel_dsm_priv { + acpi_handle dhandle; +} intel_dsm_priv; + +static const u8 intel_dsm_guid[] = { + 0xd3, 0x73, 0xd8, 0x7e, + 0xd0, 0xc2, + 0x4f, 0x4e, + 0xa8, 0x54, + 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c +}; + +static int intel_dsm(acpi_handle handle, int func, int arg) +{ + struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; + struct acpi_object_list input; + union acpi_object params[4]; + union acpi_object *obj; + u32 result; + int ret = 0; + + input.count = 4; + input.pointer = params; + params[0].type = ACPI_TYPE_BUFFER; + params[0].buffer.length = sizeof(intel_dsm_guid); + params[0].buffer.pointer = (char *)intel_dsm_guid; + params[1].type = ACPI_TYPE_INTEGER; + params[1].integer.value = INTEL_DSM_REVISION_ID; + params[2].type = ACPI_TYPE_INTEGER; + params[2].integer.value = func; + params[3].type = ACPI_TYPE_INTEGER; + params[3].integer.value = arg; + + ret = acpi_evaluate_object(handle, "_DSM", &input, &output); + if (ret) { + DRM_DEBUG_DRIVER("failed to evaluate _DSM: %d\n", ret); + return ret; + } + + obj = (union acpi_object *)output.pointer; + + result = 0; + switch (obj->type) { + case ACPI_TYPE_INTEGER: + result = obj->integer.value; + break; + + case ACPI_TYPE_BUFFER: + if (obj->buffer.length == 4) { + result = (obj->buffer.pointer[0] | + (obj->buffer.pointer[1] << 8) | + (obj->buffer.pointer[2] << 16) | + (obj->buffer.pointer[3] << 24)); + break; + } + default: + ret = -EINVAL; + break; + } + if (result == 0x80000002) + ret = -ENODEV; + + kfree(output.pointer); + return ret; +} + +static char *intel_dsm_port_name(u8 id) +{ + switch (id) { + case 0: + return "Reserved"; + case 1: + return "Analog VGA"; + case 2: + return "LVDS"; + case 3: + return "Reserved"; + case 4: + return "HDMI/DVI_B"; + case 5: + return "HDMI/DVI_C"; + case 6: + return "HDMI/DVI_D"; + case 7: + return "DisplayPort_A"; + case 8: + return "DisplayPort_B"; + case 9: + return "DisplayPort_C"; + case 0xa: + return "DisplayPort_D"; + case 0xb: + case 0xc: + case 0xd: + return "Reserved"; + case 0xe: + return "WiDi"; + default: + return "bad type"; + } +} + +static char *intel_dsm_mux_type(u8 type) +{ + switch (type) { + case 0: + return "unknown"; + case 1: + return "No MUX, iGPU only"; + case 2: + return "No MUX, dGPU only"; + case 3: + return "MUXed between iGPU and dGPU"; + default: + return "bad type"; + } +} + +static void intel_dsm_platform_mux_info(void) +{ + struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; + struct acpi_object_list input; + union acpi_object params[4]; + union acpi_object *pkg; + int i, ret; + + input.count = 4; + input.pointer = params; + params[0].type = ACPI_TYPE_BUFFER; + params[0].buffer.length = sizeof(intel_dsm_guid); + params[0].buffer.pointer = (char *)intel_dsm_guid; + params[1].type = ACPI_TYPE_INTEGER; + params[1].integer.value = INTEL_DSM_REVISION_ID; + params[2].type = ACPI_TYPE_INTEGER; + params[2].integer.value = INTEL_DSM_FN_PLATFORM_MUX_INFO; + params[3].type = ACPI_TYPE_INTEGER; + params[3].integer.value = 0; + + ret = acpi_evaluate_object(intel_dsm_priv.dhandle, "_DSM", &input, + &output); + if (ret) { + DRM_DEBUG_DRIVER("failed to evaluate _DSM: %d\n", ret); + goto out; + } + + pkg = (union acpi_object *)output.pointer; + + if (pkg->type == ACPI_TYPE_PACKAGE) { + union acpi_object *connector_count = &pkg->package.elements[0]; + DRM_DEBUG_DRIVER("MUX info connectors: %lld\n", + (unsigned long long)connector_count->integer.value); + for (i = 1; i < pkg->package.count; i++) { + union acpi_object *obj = &pkg->package.elements[i]; + union acpi_object *connector_id = + &obj->package.elements[0]; + union acpi_object *info = &obj->package.elements[1]; + DRM_DEBUG_DRIVER("Connector id: 0x%016llx\n", + (unsigned long long)connector_id->integer.value); + DRM_DEBUG_DRIVER(" port id: %s\n", + intel_dsm_port_name(info->buffer.pointer[0])); + DRM_DEBUG_DRIVER(" display mux info: %s\n", + intel_dsm_mux_type(info->buffer.pointer[1])); + DRM_DEBUG_DRIVER(" aux/dc mux info: %s\n", + intel_dsm_mux_type(info->buffer.pointer[2])); + DRM_DEBUG_DRIVER(" hpd mux info: %s\n", + intel_dsm_mux_type(info->buffer.pointer[3])); + } + } + +out: + kfree(output.pointer); +} + +static bool intel_dsm_pci_probe(struct pci_dev *pdev) +{ + acpi_handle dhandle, intel_handle; + acpi_status status; + int ret; + + dhandle = DEVICE_ACPI_HANDLE(&pdev->dev); + if (!dhandle) + return false; + + status = acpi_get_handle(dhandle, "_DSM", &intel_handle); + if (ACPI_FAILURE(status)) { + DRM_DEBUG_KMS("no _DSM method for intel device\n"); + return false; + } + + ret = intel_dsm(dhandle, INTEL_DSM_FN_SUPPORTED_FUNCTIONS, 0); + if (ret < 0) { + DRM_DEBUG_KMS("failed to get supported _DSM functions\n"); + return false; + } + + intel_dsm_priv.dhandle = dhandle; + + intel_dsm_platform_mux_info(); + return true; +} + +static bool intel_dsm_detect(void) +{ + char acpi_method_name[255] = { 0 }; + struct acpi_buffer buffer = {sizeof(acpi_method_name), acpi_method_name}; + struct pci_dev *pdev = NULL; + bool has_dsm = false; + int vga_count = 0; + + while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) { + vga_count++; + has_dsm |= intel_dsm_pci_probe(pdev); + } + + if (vga_count == 2 && has_dsm) { + acpi_get_name(intel_dsm_priv.dhandle, ACPI_FULL_PATHNAME, &buffer); + DRM_DEBUG_DRIVER("VGA switcheroo: detected DSM switching method %s handle\n", + acpi_method_name); + return true; + } + + return false; +} + +void intel_register_dsm_handler(void) +{ + if (!intel_dsm_detect()) + return; +} + +void intel_unregister_dsm_handler(void) +{ +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_bios.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_bios.c @@ -0,0 +1,767 @@ +/* + * Copyright © 2006 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ +#include +#include +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "intel_bios.h" + +#define SLAVE_ADDR1 0x70 +#define SLAVE_ADDR2 0x72 + +static int panel_type; + +static void * +find_section(struct bdb_header *bdb, int section_id) +{ + u8 *base = (u8 *)bdb; + int index = 0; + u16 total, current_size; + u8 current_id; + + /* skip to first section */ + index += bdb->header_size; + total = bdb->bdb_size; + + /* walk the sections looking for section_id */ + while (index < total) { + current_id = *(base + index); + index++; + current_size = *((u16 *)(base + index)); + index += 2; + if (current_id == section_id) + return base + index; + index += current_size; + } + + return NULL; +} + +static u16 +get_blocksize(void *p) +{ + u16 *block_ptr, block_size; + + block_ptr = (u16 *)((char *)p - 2); + block_size = *block_ptr; + return block_size; +} + +static void +fill_detail_timing_data(struct drm_display_mode *panel_fixed_mode, + const struct lvds_dvo_timing *dvo_timing) +{ + panel_fixed_mode->hdisplay = (dvo_timing->hactive_hi << 8) | + dvo_timing->hactive_lo; + panel_fixed_mode->hsync_start = panel_fixed_mode->hdisplay + + ((dvo_timing->hsync_off_hi << 8) | dvo_timing->hsync_off_lo); + panel_fixed_mode->hsync_end = panel_fixed_mode->hsync_start + + dvo_timing->hsync_pulse_width; + panel_fixed_mode->htotal = panel_fixed_mode->hdisplay + + ((dvo_timing->hblank_hi << 8) | dvo_timing->hblank_lo); + + panel_fixed_mode->vdisplay = (dvo_timing->vactive_hi << 8) | + dvo_timing->vactive_lo; + panel_fixed_mode->vsync_start = panel_fixed_mode->vdisplay + + dvo_timing->vsync_off; + panel_fixed_mode->vsync_end = panel_fixed_mode->vsync_start + + dvo_timing->vsync_pulse_width; + panel_fixed_mode->vtotal = panel_fixed_mode->vdisplay + + ((dvo_timing->vblank_hi << 8) | dvo_timing->vblank_lo); + panel_fixed_mode->clock = dvo_timing->clock * 10; + panel_fixed_mode->type = DRM_MODE_TYPE_PREFERRED; + + if (dvo_timing->hsync_positive) + panel_fixed_mode->flags |= DRM_MODE_FLAG_PHSYNC; + else + panel_fixed_mode->flags |= DRM_MODE_FLAG_NHSYNC; + + if (dvo_timing->vsync_positive) + panel_fixed_mode->flags |= DRM_MODE_FLAG_PVSYNC; + else + panel_fixed_mode->flags |= DRM_MODE_FLAG_NVSYNC; + + /* Some VBTs have bogus h/vtotal values */ + if (panel_fixed_mode->hsync_end > panel_fixed_mode->htotal) + panel_fixed_mode->htotal = panel_fixed_mode->hsync_end + 1; + if (panel_fixed_mode->vsync_end > panel_fixed_mode->vtotal) + panel_fixed_mode->vtotal = panel_fixed_mode->vsync_end + 1; + + drm_mode_set_name(panel_fixed_mode); +} + +static bool +lvds_dvo_timing_equal_size(const struct lvds_dvo_timing *a, + const struct lvds_dvo_timing *b) +{ + if (a->hactive_hi != b->hactive_hi || + a->hactive_lo != b->hactive_lo) + return false; + + if (a->hsync_off_hi != b->hsync_off_hi || + a->hsync_off_lo != b->hsync_off_lo) + return false; + + if (a->hsync_pulse_width != b->hsync_pulse_width) + return false; + + if (a->hblank_hi != b->hblank_hi || + a->hblank_lo != b->hblank_lo) + return false; + + if (a->vactive_hi != b->vactive_hi || + a->vactive_lo != b->vactive_lo) + return false; + + if (a->vsync_off != b->vsync_off) + return false; + + if (a->vsync_pulse_width != b->vsync_pulse_width) + return false; + + if (a->vblank_hi != b->vblank_hi || + a->vblank_lo != b->vblank_lo) + return false; + + return true; +} + +static const struct lvds_dvo_timing * +get_lvds_dvo_timing(const struct bdb_lvds_lfp_data *lvds_lfp_data, + const struct bdb_lvds_lfp_data_ptrs *lvds_lfp_data_ptrs, + int index) +{ + /* + * the size of fp_timing varies on the different platform. + * So calculate the DVO timing relative offset in LVDS data + * entry to get the DVO timing entry + */ + + int lfp_data_size = + lvds_lfp_data_ptrs->ptr[1].dvo_timing_offset - + lvds_lfp_data_ptrs->ptr[0].dvo_timing_offset; + int dvo_timing_offset = + lvds_lfp_data_ptrs->ptr[0].dvo_timing_offset - + lvds_lfp_data_ptrs->ptr[0].fp_timing_offset; + char *entry = (char *)lvds_lfp_data->data + lfp_data_size * index; + + return (struct lvds_dvo_timing *)(entry + dvo_timing_offset); +} + +/* get lvds_fp_timing entry + * this function may return NULL if the corresponding entry is invalid + */ +static const struct lvds_fp_timing * +get_lvds_fp_timing(const struct bdb_header *bdb, + const struct bdb_lvds_lfp_data *data, + const struct bdb_lvds_lfp_data_ptrs *ptrs, + int index) +{ + size_t data_ofs = (const u8 *)data - (const u8 *)bdb; + u16 data_size = ((const u16 *)data)[-1]; /* stored in header */ + size_t ofs; + + if (index >= ARRAY_SIZE(ptrs->ptr)) + return NULL; + ofs = ptrs->ptr[index].fp_timing_offset; + if (ofs < data_ofs || + ofs + sizeof(struct lvds_fp_timing) > data_ofs + data_size) + return NULL; + return (const struct lvds_fp_timing *)((const u8 *)bdb + ofs); +} + +/* Try to find integrated panel data */ +static void +parse_lfp_panel_data(struct drm_i915_private *dev_priv, + struct bdb_header *bdb) +{ + const struct bdb_lvds_options *lvds_options; + const struct bdb_lvds_lfp_data *lvds_lfp_data; + const struct bdb_lvds_lfp_data_ptrs *lvds_lfp_data_ptrs; + const struct lvds_dvo_timing *panel_dvo_timing; + const struct lvds_fp_timing *fp_timing; + struct drm_display_mode *panel_fixed_mode; + int i, downclock; + + lvds_options = find_section(bdb, BDB_LVDS_OPTIONS); + if (!lvds_options) + return; + + dev_priv->lvds_dither = lvds_options->pixel_dither; + if (lvds_options->panel_type == 0xff) + return; + + panel_type = lvds_options->panel_type; + + lvds_lfp_data = find_section(bdb, BDB_LVDS_LFP_DATA); + if (!lvds_lfp_data) + return; + + lvds_lfp_data_ptrs = find_section(bdb, BDB_LVDS_LFP_DATA_PTRS); + if (!lvds_lfp_data_ptrs) + return; + + dev_priv->lvds_vbt = 1; + + panel_dvo_timing = get_lvds_dvo_timing(lvds_lfp_data, + lvds_lfp_data_ptrs, + lvds_options->panel_type); + + panel_fixed_mode = kzalloc(sizeof(*panel_fixed_mode), GFP_KERNEL); + if (!panel_fixed_mode) + return; + + fill_detail_timing_data(panel_fixed_mode, panel_dvo_timing); + + dev_priv->lfp_lvds_vbt_mode = panel_fixed_mode; + + DRM_DEBUG_KMS("Found panel mode in BIOS VBT tables:\n"); + drm_mode_debug_printmodeline(panel_fixed_mode); + + /* + * Iterate over the LVDS panel timing info to find the lowest clock + * for the native resolution. + */ + downclock = panel_dvo_timing->clock; + for (i = 0; i < 16; i++) { + const struct lvds_dvo_timing *dvo_timing; + + dvo_timing = get_lvds_dvo_timing(lvds_lfp_data, + lvds_lfp_data_ptrs, + i); + if (lvds_dvo_timing_equal_size(dvo_timing, panel_dvo_timing) && + dvo_timing->clock < downclock) + downclock = dvo_timing->clock; + } + + if (downclock < panel_dvo_timing->clock && i915_lvds_downclock) { + dev_priv->lvds_downclock_avail = 1; + dev_priv->lvds_downclock = downclock * 10; + DRM_DEBUG_KMS("LVDS downclock is found in VBT. " + "Normal Clock %dKHz, downclock %dKHz\n", + panel_fixed_mode->clock, 10*downclock); + } + + fp_timing = get_lvds_fp_timing(bdb, lvds_lfp_data, + lvds_lfp_data_ptrs, + lvds_options->panel_type); + if (fp_timing) { + /* check the resolution, just to be sure */ + if (fp_timing->x_res == panel_fixed_mode->hdisplay && + fp_timing->y_res == panel_fixed_mode->vdisplay) { + dev_priv->bios_lvds_val = fp_timing->lvds_reg_val; + DRM_DEBUG_KMS("VBT initial LVDS value %x\n", + dev_priv->bios_lvds_val); + } + } +} + +/* Try to find sdvo panel data */ +static void +parse_sdvo_panel_data(struct drm_i915_private *dev_priv, + struct bdb_header *bdb) +{ + struct lvds_dvo_timing *dvo_timing; + struct drm_display_mode *panel_fixed_mode; + int index; + + index = i915_vbt_sdvo_panel_type; + if (index == -2) { + DRM_DEBUG_KMS("Ignore SDVO panel mode from BIOS VBT tables.\n"); + return; + } + + if (index == -1) { + struct bdb_sdvo_lvds_options *sdvo_lvds_options; + + sdvo_lvds_options = find_section(bdb, BDB_SDVO_LVDS_OPTIONS); + if (!sdvo_lvds_options) + return; + + index = sdvo_lvds_options->panel_type; + } + + dvo_timing = find_section(bdb, BDB_SDVO_PANEL_DTDS); + if (!dvo_timing) + return; + + panel_fixed_mode = kzalloc(sizeof(*panel_fixed_mode), GFP_KERNEL); + if (!panel_fixed_mode) + return; + + fill_detail_timing_data(panel_fixed_mode, dvo_timing + index); + + dev_priv->sdvo_lvds_vbt_mode = panel_fixed_mode; + + DRM_DEBUG_KMS("Found SDVO panel mode in BIOS VBT tables:\n"); + drm_mode_debug_printmodeline(panel_fixed_mode); +} + +static int intel_bios_ssc_frequency(struct drm_device *dev, + bool alternate) +{ + switch (INTEL_INFO(dev)->gen) { + case 2: + return alternate ? 66 : 48; + case 3: + case 4: + return alternate ? 100 : 96; + default: + return alternate ? 100 : 120; + } +} + +static void +parse_general_features(struct drm_i915_private *dev_priv, + struct bdb_header *bdb) +{ + struct drm_device *dev = dev_priv->dev; + struct bdb_general_features *general; + + general = find_section(bdb, BDB_GENERAL_FEATURES); + if (general) { + dev_priv->int_tv_support = general->int_tv_support; + dev_priv->int_crt_support = general->int_crt_support; + dev_priv->lvds_use_ssc = general->enable_ssc; + dev_priv->lvds_ssc_freq = + intel_bios_ssc_frequency(dev, general->ssc_freq); + dev_priv->display_clock_mode = general->display_clock_mode; + DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d\n", + dev_priv->int_tv_support, + dev_priv->int_crt_support, + dev_priv->lvds_use_ssc, + dev_priv->lvds_ssc_freq, + dev_priv->display_clock_mode); + } +} + +static void +parse_general_definitions(struct drm_i915_private *dev_priv, + struct bdb_header *bdb) +{ + struct bdb_general_definitions *general; + + general = find_section(bdb, BDB_GENERAL_DEFINITIONS); + if (general) { + u16 block_size = get_blocksize(general); + if (block_size >= sizeof(*general)) { + int bus_pin = general->crt_ddc_gmbus_pin; + DRM_DEBUG_KMS("crt_ddc_bus_pin: %d\n", bus_pin); + if (intel_gmbus_is_port_valid(bus_pin)) + dev_priv->crt_ddc_pin = bus_pin; + } else { + DRM_DEBUG_KMS("BDB_GD too small (%d). Invalid.\n", + block_size); + } + } +} + +static void +parse_sdvo_device_mapping(struct drm_i915_private *dev_priv, + struct bdb_header *bdb) +{ + struct sdvo_device_mapping *p_mapping; + struct bdb_general_definitions *p_defs; + struct child_device_config *p_child; + int i, child_device_num, count; + u16 block_size; + + p_defs = find_section(bdb, BDB_GENERAL_DEFINITIONS); + if (!p_defs) { + DRM_DEBUG_KMS("No general definition block is found, unable to construct sdvo mapping.\n"); + return; + } + /* judge whether the size of child device meets the requirements. + * If the child device size obtained from general definition block + * is different with sizeof(struct child_device_config), skip the + * parsing of sdvo device info + */ + if (p_defs->child_dev_size != sizeof(*p_child)) { + /* different child dev size . Ignore it */ + DRM_DEBUG_KMS("different child size is found. Invalid.\n"); + return; + } + /* get the block size of general definitions */ + block_size = get_blocksize(p_defs); + /* get the number of child device */ + child_device_num = (block_size - sizeof(*p_defs)) / + sizeof(*p_child); + count = 0; + for (i = 0; i < child_device_num; i++) { + p_child = &(p_defs->devices[i]); + if (!p_child->device_type) { + /* skip the device block if device type is invalid */ + continue; + } + if (p_child->slave_addr != SLAVE_ADDR1 && + p_child->slave_addr != SLAVE_ADDR2) { + /* + * If the slave address is neither 0x70 nor 0x72, + * it is not a SDVO device. Skip it. + */ + continue; + } + if (p_child->dvo_port != DEVICE_PORT_DVOB && + p_child->dvo_port != DEVICE_PORT_DVOC) { + /* skip the incorrect SDVO port */ + DRM_DEBUG_KMS("Incorrect SDVO port. Skip it\n"); + continue; + } + DRM_DEBUG_KMS("the SDVO device with slave addr %2x is found on" + " %s port\n", + p_child->slave_addr, + (p_child->dvo_port == DEVICE_PORT_DVOB) ? + "SDVOB" : "SDVOC"); + p_mapping = &(dev_priv->sdvo_mappings[p_child->dvo_port - 1]); + if (!p_mapping->initialized) { + p_mapping->dvo_port = p_child->dvo_port; + p_mapping->slave_addr = p_child->slave_addr; + p_mapping->dvo_wiring = p_child->dvo_wiring; + p_mapping->ddc_pin = p_child->ddc_pin; + p_mapping->i2c_pin = p_child->i2c_pin; + p_mapping->initialized = 1; + DRM_DEBUG_KMS("SDVO device: dvo=%x, addr=%x, wiring=%d, ddc_pin=%d, i2c_pin=%d\n", + p_mapping->dvo_port, + p_mapping->slave_addr, + p_mapping->dvo_wiring, + p_mapping->ddc_pin, + p_mapping->i2c_pin); + } else { + DRM_DEBUG_KMS("Maybe one SDVO port is shared by " + "two SDVO device.\n"); + } + if (p_child->slave2_addr) { + /* Maybe this is a SDVO device with multiple inputs */ + /* And the mapping info is not added */ + DRM_DEBUG_KMS("there exists the slave2_addr. Maybe this" + " is a SDVO device with multiple inputs.\n"); + } + count++; + } + + if (!count) { + /* No SDVO device info is found */ + DRM_DEBUG_KMS("No SDVO device info is found in VBT\n"); + } + return; +} + +static void +parse_driver_features(struct drm_i915_private *dev_priv, + struct bdb_header *bdb) +{ + struct drm_device *dev = dev_priv->dev; + struct bdb_driver_features *driver; + + driver = find_section(bdb, BDB_DRIVER_FEATURES); + if (!driver) + return; + + if (SUPPORTS_EDP(dev) && + driver->lvds_config == BDB_DRIVER_FEATURE_EDP) + dev_priv->edp.support = 1; + + if (driver->dual_frequency) + dev_priv->render_reclock_avail = true; +} + +static void +parse_edp(struct drm_i915_private *dev_priv, struct bdb_header *bdb) +{ + struct bdb_edp *edp; + struct edp_power_seq *edp_pps; + struct edp_link_params *edp_link_params; + + edp = find_section(bdb, BDB_EDP); + if (!edp) { + if (SUPPORTS_EDP(dev_priv->dev) && dev_priv->edp.support) + DRM_DEBUG_KMS("No eDP BDB found but eDP panel supported.\n"); + return; + } + + switch ((edp->color_depth >> (panel_type * 2)) & 3) { + case EDP_18BPP: + dev_priv->edp.bpp = 18; + break; + case EDP_24BPP: + dev_priv->edp.bpp = 24; + break; + case EDP_30BPP: + dev_priv->edp.bpp = 30; + break; + } + + /* Get the eDP sequencing and link info */ + edp_pps = &edp->power_seqs[panel_type]; + edp_link_params = &edp->link_params[panel_type]; + + dev_priv->edp.pps = *edp_pps; + + dev_priv->edp.rate = edp_link_params->rate ? DP_LINK_BW_2_7 : + DP_LINK_BW_1_62; + switch (edp_link_params->lanes) { + case 0: + dev_priv->edp.lanes = 1; + break; + case 1: + dev_priv->edp.lanes = 2; + break; + case 3: + default: + dev_priv->edp.lanes = 4; + break; + } + switch (edp_link_params->preemphasis) { + case 0: + dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPHASIS_0; + break; + case 1: + dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPHASIS_3_5; + break; + case 2: + dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPHASIS_6; + break; + case 3: + dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPHASIS_9_5; + break; + } + switch (edp_link_params->vswing) { + case 0: + dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_400; + break; + case 1: + dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_600; + break; + case 2: + dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_800; + break; + case 3: + dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_1200; + break; + } +} + +static void +parse_device_mapping(struct drm_i915_private *dev_priv, + struct bdb_header *bdb) +{ + struct bdb_general_definitions *p_defs; + struct child_device_config *p_child, *child_dev_ptr; + int i, child_device_num, count; + u16 block_size; + + p_defs = find_section(bdb, BDB_GENERAL_DEFINITIONS); + if (!p_defs) { + DRM_DEBUG_KMS("No general definition block is found, no devices defined.\n"); + return; + } + /* judge whether the size of child device meets the requirements. + * If the child device size obtained from general definition block + * is different with sizeof(struct child_device_config), skip the + * parsing of sdvo device info + */ + if (p_defs->child_dev_size != sizeof(*p_child)) { + /* different child dev size . Ignore it */ + DRM_DEBUG_KMS("different child size is found. Invalid.\n"); + return; + } + /* get the block size of general definitions */ + block_size = get_blocksize(p_defs); + /* get the number of child device */ + child_device_num = (block_size - sizeof(*p_defs)) / + sizeof(*p_child); + count = 0; + /* get the number of child device that is present */ + for (i = 0; i < child_device_num; i++) { + p_child = &(p_defs->devices[i]); + if (!p_child->device_type) { + /* skip the device block if device type is invalid */ + continue; + } + count++; + } + if (!count) { + DRM_DEBUG_KMS("no child dev is parsed from VBT\n"); + return; + } + dev_priv->child_dev = kcalloc(count, sizeof(*p_child), GFP_KERNEL); + if (!dev_priv->child_dev) { + DRM_DEBUG_KMS("No memory space for child device\n"); + return; + } + + dev_priv->child_dev_num = count; + count = 0; + for (i = 0; i < child_device_num; i++) { + p_child = &(p_defs->devices[i]); + if (!p_child->device_type) { + /* skip the device block if device type is invalid */ + continue; + } + child_dev_ptr = dev_priv->child_dev + count; + count++; + memcpy((void *)child_dev_ptr, (void *)p_child, + sizeof(*p_child)); + } + return; +} + +static void +init_vbt_defaults(struct drm_i915_private *dev_priv) +{ + struct drm_device *dev = dev_priv->dev; + + dev_priv->crt_ddc_pin = GMBUS_PORT_VGADDC; + + /* LFP panel data */ + dev_priv->lvds_dither = 1; + dev_priv->lvds_vbt = 0; + + /* SDVO panel data */ + dev_priv->sdvo_lvds_vbt_mode = NULL; + + /* general features */ + dev_priv->int_tv_support = 1; + dev_priv->int_crt_support = 1; + + /* Default to using SSC */ + dev_priv->lvds_use_ssc = 1; + dev_priv->lvds_ssc_freq = intel_bios_ssc_frequency(dev, 1); + DRM_DEBUG_KMS("Set default to SSC at %dMHz\n", dev_priv->lvds_ssc_freq); +} + +static int __init intel_no_opregion_vbt_callback(const struct dmi_system_id *id) +{ + DRM_DEBUG_KMS("Falling back to manually reading VBT from " + "VBIOS ROM for %s\n", + id->ident); + return 1; +} + +static const struct dmi_system_id intel_no_opregion_vbt[] = { + { + .callback = intel_no_opregion_vbt_callback, + .ident = "ThinkCentre A57", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "97027RG"), + }, + }, + { } +}; + +/** + * intel_parse_bios - find VBT and initialize settings from the BIOS + * @dev: DRM device + * + * Loads the Video BIOS and checks that the VBT exists. Sets scratch registers + * to appropriate values. + * + * Returns 0 on success, nonzero on failure. + */ +int +intel_parse_bios(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct pci_dev *pdev = dev->pdev; + struct bdb_header *bdb = NULL; + u8 __iomem *bios = NULL; + + init_vbt_defaults(dev_priv); + + /* XXX Should this validation be moved to intel_opregion.c? */ + if (!dmi_check_system(intel_no_opregion_vbt) && dev_priv->opregion.vbt) { + struct vbt_header *vbt = dev_priv->opregion.vbt; + if (memcmp(vbt->signature, "$VBT", 4) == 0) { + DRM_DEBUG_KMS("Using VBT from OpRegion: %20s\n", + vbt->signature); + bdb = (struct bdb_header *)((char *)vbt + vbt->bdb_offset); + } else + dev_priv->opregion.vbt = NULL; + } + + if (bdb == NULL) { + struct vbt_header *vbt = NULL; + size_t size; + int i; + + bios = pci_map_rom(pdev, &size); + if (!bios) + return -1; + + /* Scour memory looking for the VBT signature */ + for (i = 0; i + 4 < size; i++) { + if (!memcmp(bios + i, "$VBT", 4)) { + vbt = (struct vbt_header *)(bios + i); + break; + } + } + + if (!vbt) { + DRM_DEBUG_DRIVER("VBT signature missing\n"); + pci_unmap_rom(pdev, bios); + return -1; + } + + bdb = (struct bdb_header *)(bios + i + vbt->bdb_offset); + } + + /* Grab useful general definitions */ + parse_general_features(dev_priv, bdb); + parse_general_definitions(dev_priv, bdb); + parse_lfp_panel_data(dev_priv, bdb); + parse_sdvo_panel_data(dev_priv, bdb); + parse_sdvo_device_mapping(dev_priv, bdb); + parse_device_mapping(dev_priv, bdb); + parse_driver_features(dev_priv, bdb); + parse_edp(dev_priv, bdb); + + if (bios) + pci_unmap_rom(pdev, bios); + + return 0; +} + +/* Ensure that vital registers have been initialised, even if the BIOS + * is absent or just failing to do its job. + */ +void intel_setup_bios(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* Set the Panel Power On/Off timings if uninitialized. */ + if (!HAS_PCH_SPLIT(dev) && + I915_READ(PP_ON_DELAYS) == 0 && I915_READ(PP_OFF_DELAYS) == 0) { + /* Set T2 to 40ms and T5 to 200ms */ + I915_WRITE(PP_ON_DELAYS, 0x019007d0); + + /* Set T3 to 35ms and Tx to 200ms */ + I915_WRITE(PP_OFF_DELAYS, 0x015e07d0); + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_bios.h +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_bios.h @@ -0,0 +1,619 @@ +/* + * Copyright © 2006 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +#ifndef _I830_BIOS_H_ +#define _I830_BIOS_H_ + +#include "drmP.h" + +struct vbt_header { + u8 signature[20]; /**< Always starts with 'VBT$' */ + u16 version; /**< decimal */ + u16 header_size; /**< in bytes */ + u16 vbt_size; /**< in bytes */ + u8 vbt_checksum; + u8 reserved0; + u32 bdb_offset; /**< from beginning of VBT */ + u32 aim_offset[4]; /**< from beginning of VBT */ +} __attribute__((packed)); + +struct bdb_header { + u8 signature[16]; /**< Always 'BIOS_DATA_BLOCK' */ + u16 version; /**< decimal */ + u16 header_size; /**< in bytes */ + u16 bdb_size; /**< in bytes */ +}; + +/* strictly speaking, this is a "skip" block, but it has interesting info */ +struct vbios_data { + u8 type; /* 0 == desktop, 1 == mobile */ + u8 relstage; + u8 chipset; + u8 lvds_present:1; + u8 tv_present:1; + u8 rsvd2:6; /* finish byte */ + u8 rsvd3[4]; + u8 signon[155]; + u8 copyright[61]; + u16 code_segment; + u8 dos_boot_mode; + u8 bandwidth_percent; + u8 rsvd4; /* popup memory size */ + u8 resize_pci_bios; + u8 rsvd5; /* is crt already on ddc2 */ +} __attribute__((packed)); + +/* + * There are several types of BIOS data blocks (BDBs), each block has + * an ID and size in the first 3 bytes (ID in first, size in next 2). + * Known types are listed below. + */ +#define BDB_GENERAL_FEATURES 1 +#define BDB_GENERAL_DEFINITIONS 2 +#define BDB_OLD_TOGGLE_LIST 3 +#define BDB_MODE_SUPPORT_LIST 4 +#define BDB_GENERIC_MODE_TABLE 5 +#define BDB_EXT_MMIO_REGS 6 +#define BDB_SWF_IO 7 +#define BDB_SWF_MMIO 8 +#define BDB_DOT_CLOCK_TABLE 9 +#define BDB_MODE_REMOVAL_TABLE 10 +#define BDB_CHILD_DEVICE_TABLE 11 +#define BDB_DRIVER_FEATURES 12 +#define BDB_DRIVER_PERSISTENCE 13 +#define BDB_EXT_TABLE_PTRS 14 +#define BDB_DOT_CLOCK_OVERRIDE 15 +#define BDB_DISPLAY_SELECT 16 +/* 17 rsvd */ +#define BDB_DRIVER_ROTATION 18 +#define BDB_DISPLAY_REMOVE 19 +#define BDB_OEM_CUSTOM 20 +#define BDB_EFP_LIST 21 /* workarounds for VGA hsync/vsync */ +#define BDB_SDVO_LVDS_OPTIONS 22 +#define BDB_SDVO_PANEL_DTDS 23 +#define BDB_SDVO_LVDS_PNP_IDS 24 +#define BDB_SDVO_LVDS_POWER_SEQ 25 +#define BDB_TV_OPTIONS 26 +#define BDB_EDP 27 +#define BDB_LVDS_OPTIONS 40 +#define BDB_LVDS_LFP_DATA_PTRS 41 +#define BDB_LVDS_LFP_DATA 42 +#define BDB_LVDS_BACKLIGHT 43 +#define BDB_LVDS_POWER 44 +#define BDB_SKIP 254 /* VBIOS private block, ignore */ + +struct bdb_general_features { + /* bits 1 */ + u8 panel_fitting:2; + u8 flexaim:1; + u8 msg_enable:1; + u8 clear_screen:3; + u8 color_flip:1; + + /* bits 2 */ + u8 download_ext_vbt:1; + u8 enable_ssc:1; + u8 ssc_freq:1; + u8 enable_lfp_on_override:1; + u8 disable_ssc_ddt:1; + u8 rsvd7:1; + u8 display_clock_mode:1; + u8 rsvd8:1; /* finish byte */ + + /* bits 3 */ + u8 disable_smooth_vision:1; + u8 single_dvi:1; + u8 rsvd9:6; /* finish byte */ + + /* bits 4 */ + u8 legacy_monitor_detect; + + /* bits 5 */ + u8 int_crt_support:1; + u8 int_tv_support:1; + u8 int_efp_support:1; + u8 dp_ssc_enb:1; /* PCH attached eDP supports SSC */ + u8 dp_ssc_freq:1; /* SSC freq for PCH attached eDP */ + u8 rsvd11:3; /* finish byte */ +} __attribute__((packed)); + +/* pre-915 */ +#define GPIO_PIN_DVI_LVDS 0x03 /* "DVI/LVDS DDC GPIO pins" */ +#define GPIO_PIN_ADD_I2C 0x05 /* "ADDCARD I2C GPIO pins" */ +#define GPIO_PIN_ADD_DDC 0x04 /* "ADDCARD DDC GPIO pins" */ +#define GPIO_PIN_ADD_DDC_I2C 0x06 /* "ADDCARD DDC/I2C GPIO pins" */ + +/* Pre 915 */ +#define DEVICE_TYPE_NONE 0x00 +#define DEVICE_TYPE_CRT 0x01 +#define DEVICE_TYPE_TV 0x09 +#define DEVICE_TYPE_EFP 0x12 +#define DEVICE_TYPE_LFP 0x22 +/* On 915+ */ +#define DEVICE_TYPE_CRT_DPMS 0x6001 +#define DEVICE_TYPE_CRT_DPMS_HOTPLUG 0x4001 +#define DEVICE_TYPE_TV_COMPOSITE 0x0209 +#define DEVICE_TYPE_TV_MACROVISION 0x0289 +#define DEVICE_TYPE_TV_RF_COMPOSITE 0x020c +#define DEVICE_TYPE_TV_SVIDEO_COMPOSITE 0x0609 +#define DEVICE_TYPE_TV_SCART 0x0209 +#define DEVICE_TYPE_TV_CODEC_HOTPLUG_PWR 0x6009 +#define DEVICE_TYPE_EFP_HOTPLUG_PWR 0x6012 +#define DEVICE_TYPE_EFP_DVI_HOTPLUG_PWR 0x6052 +#define DEVICE_TYPE_EFP_DVI_I 0x6053 +#define DEVICE_TYPE_EFP_DVI_D_DUAL 0x6152 +#define DEVICE_TYPE_EFP_DVI_D_HDCP 0x60d2 +#define DEVICE_TYPE_OPENLDI_HOTPLUG_PWR 0x6062 +#define DEVICE_TYPE_OPENLDI_DUALPIX 0x6162 +#define DEVICE_TYPE_LFP_PANELLINK 0x5012 +#define DEVICE_TYPE_LFP_CMOS_PWR 0x5042 +#define DEVICE_TYPE_LFP_LVDS_PWR 0x5062 +#define DEVICE_TYPE_LFP_LVDS_DUAL 0x5162 +#define DEVICE_TYPE_LFP_LVDS_DUAL_HDCP 0x51e2 + +#define DEVICE_CFG_NONE 0x00 +#define DEVICE_CFG_12BIT_DVOB 0x01 +#define DEVICE_CFG_12BIT_DVOC 0x02 +#define DEVICE_CFG_24BIT_DVOBC 0x09 +#define DEVICE_CFG_24BIT_DVOCB 0x0a +#define DEVICE_CFG_DUAL_DVOB 0x11 +#define DEVICE_CFG_DUAL_DVOC 0x12 +#define DEVICE_CFG_DUAL_DVOBC 0x13 +#define DEVICE_CFG_DUAL_LINK_DVOBC 0x19 +#define DEVICE_CFG_DUAL_LINK_DVOCB 0x1a + +#define DEVICE_WIRE_NONE 0x00 +#define DEVICE_WIRE_DVOB 0x01 +#define DEVICE_WIRE_DVOC 0x02 +#define DEVICE_WIRE_DVOBC 0x03 +#define DEVICE_WIRE_DVOBB 0x05 +#define DEVICE_WIRE_DVOCC 0x06 +#define DEVICE_WIRE_DVOB_MASTER 0x0d +#define DEVICE_WIRE_DVOC_MASTER 0x0e + +#define DEVICE_PORT_DVOA 0x00 /* none on 845+ */ +#define DEVICE_PORT_DVOB 0x01 +#define DEVICE_PORT_DVOC 0x02 + +struct child_device_config { + u16 handle; + u16 device_type; + u8 device_id[10]; /* ascii string */ + u16 addin_offset; + u8 dvo_port; /* See Device_PORT_* above */ + u8 i2c_pin; + u8 slave_addr; + u8 ddc_pin; + u16 edid_ptr; + u8 dvo_cfg; /* See DEVICE_CFG_* above */ + u8 dvo2_port; + u8 i2c2_pin; + u8 slave2_addr; + u8 ddc2_pin; + u8 capabilities; + u8 dvo_wiring;/* See DEVICE_WIRE_* above */ + u8 dvo2_wiring; + u16 extended_type; + u8 dvo_function; +} __attribute__((packed)); + +struct bdb_general_definitions { + /* DDC GPIO */ + u8 crt_ddc_gmbus_pin; + + /* DPMS bits */ + u8 dpms_acpi:1; + u8 skip_boot_crt_detect:1; + u8 dpms_aim:1; + u8 rsvd1:5; /* finish byte */ + + /* boot device bits */ + u8 boot_display[2]; + u8 child_dev_size; + + /* + * Device info: + * If TV is present, it'll be at devices[0]. + * LVDS will be next, either devices[0] or [1], if present. + * On some platforms the number of device is 6. But could be as few as + * 4 if both TV and LVDS are missing. + * And the device num is related with the size of general definition + * block. It is obtained by using the following formula: + * number = (block_size - sizeof(bdb_general_definitions))/ + * sizeof(child_device_config); + */ + struct child_device_config devices[0]; +} __attribute__((packed)); + +struct bdb_lvds_options { + u8 panel_type; + u8 rsvd1; + /* LVDS capabilities, stored in a dword */ + u8 pfit_mode:2; + u8 pfit_text_mode_enhanced:1; + u8 pfit_gfx_mode_enhanced:1; + u8 pfit_ratio_auto:1; + u8 pixel_dither:1; + u8 lvds_edid:1; + u8 rsvd2:1; + u8 rsvd4; +} __attribute__((packed)); + +/* LFP pointer table contains entries to the struct below */ +struct bdb_lvds_lfp_data_ptr { + u16 fp_timing_offset; /* offsets are from start of bdb */ + u8 fp_table_size; + u16 dvo_timing_offset; + u8 dvo_table_size; + u16 panel_pnp_id_offset; + u8 pnp_table_size; +} __attribute__((packed)); + +struct bdb_lvds_lfp_data_ptrs { + u8 lvds_entries; /* followed by one or more lvds_data_ptr structs */ + struct bdb_lvds_lfp_data_ptr ptr[16]; +} __attribute__((packed)); + +/* LFP data has 3 blocks per entry */ +struct lvds_fp_timing { + u16 x_res; + u16 y_res; + u32 lvds_reg; + u32 lvds_reg_val; + u32 pp_on_reg; + u32 pp_on_reg_val; + u32 pp_off_reg; + u32 pp_off_reg_val; + u32 pp_cycle_reg; + u32 pp_cycle_reg_val; + u32 pfit_reg; + u32 pfit_reg_val; + u16 terminator; +} __attribute__((packed)); + +struct lvds_dvo_timing { + u16 clock; /**< In 10khz */ + u8 hactive_lo; + u8 hblank_lo; + u8 hblank_hi:4; + u8 hactive_hi:4; + u8 vactive_lo; + u8 vblank_lo; + u8 vblank_hi:4; + u8 vactive_hi:4; + u8 hsync_off_lo; + u8 hsync_pulse_width; + u8 vsync_pulse_width:4; + u8 vsync_off:4; + u8 rsvd0:6; + u8 hsync_off_hi:2; + u8 h_image; + u8 v_image; + u8 max_hv; + u8 h_border; + u8 v_border; + u8 rsvd1:3; + u8 digital:2; + u8 vsync_positive:1; + u8 hsync_positive:1; + u8 rsvd2:1; +} __attribute__((packed)); + +struct lvds_pnp_id { + u16 mfg_name; + u16 product_code; + u32 serial; + u8 mfg_week; + u8 mfg_year; +} __attribute__((packed)); + +struct bdb_lvds_lfp_data_entry { + struct lvds_fp_timing fp_timing; + struct lvds_dvo_timing dvo_timing; + struct lvds_pnp_id pnp_id; +} __attribute__((packed)); + +struct bdb_lvds_lfp_data { + struct bdb_lvds_lfp_data_entry data[16]; +} __attribute__((packed)); + +struct aimdb_header { + char signature[16]; + char oem_device[20]; + u16 aimdb_version; + u16 aimdb_header_size; + u16 aimdb_size; +} __attribute__((packed)); + +struct aimdb_block { + u8 aimdb_id; + u16 aimdb_size; +} __attribute__((packed)); + +struct vch_panel_data { + u16 fp_timing_offset; + u8 fp_timing_size; + u16 dvo_timing_offset; + u8 dvo_timing_size; + u16 text_fitting_offset; + u8 text_fitting_size; + u16 graphics_fitting_offset; + u8 graphics_fitting_size; +} __attribute__((packed)); + +struct vch_bdb_22 { + struct aimdb_block aimdb_block; + struct vch_panel_data panels[16]; +} __attribute__((packed)); + +struct bdb_sdvo_lvds_options { + u8 panel_backlight; + u8 h40_set_panel_type; + u8 panel_type; + u8 ssc_clk_freq; + u16 als_low_trip; + u16 als_high_trip; + u8 sclalarcoeff_tab_row_num; + u8 sclalarcoeff_tab_row_size; + u8 coefficient[8]; + u8 panel_misc_bits_1; + u8 panel_misc_bits_2; + u8 panel_misc_bits_3; + u8 panel_misc_bits_4; +} __attribute__((packed)); + + +#define BDB_DRIVER_FEATURE_NO_LVDS 0 +#define BDB_DRIVER_FEATURE_INT_LVDS 1 +#define BDB_DRIVER_FEATURE_SDVO_LVDS 2 +#define BDB_DRIVER_FEATURE_EDP 3 + +struct bdb_driver_features { + u8 boot_dev_algorithm:1; + u8 block_display_switch:1; + u8 allow_display_switch:1; + u8 hotplug_dvo:1; + u8 dual_view_zoom:1; + u8 int15h_hook:1; + u8 sprite_in_clone:1; + u8 primary_lfp_id:1; + + u16 boot_mode_x; + u16 boot_mode_y; + u8 boot_mode_bpp; + u8 boot_mode_refresh; + + u16 enable_lfp_primary:1; + u16 selective_mode_pruning:1; + u16 dual_frequency:1; + u16 render_clock_freq:1; /* 0: high freq; 1: low freq */ + u16 nt_clone_support:1; + u16 power_scheme_ui:1; /* 0: CUI; 1: 3rd party */ + u16 sprite_display_assign:1; /* 0: secondary; 1: primary */ + u16 cui_aspect_scaling:1; + u16 preserve_aspect_ratio:1; + u16 sdvo_device_power_down:1; + u16 crt_hotplug:1; + u16 lvds_config:2; + u16 tv_hotplug:1; + u16 hdmi_config:2; + + u8 static_display:1; + u8 reserved2:7; + u16 legacy_crt_max_x; + u16 legacy_crt_max_y; + u8 legacy_crt_max_refresh; + + u8 hdmi_termination; + u8 custom_vbt_version; +} __attribute__((packed)); + +#define EDP_18BPP 0 +#define EDP_24BPP 1 +#define EDP_30BPP 2 +#define EDP_RATE_1_62 0 +#define EDP_RATE_2_7 1 +#define EDP_LANE_1 0 +#define EDP_LANE_2 1 +#define EDP_LANE_4 3 +#define EDP_PREEMPHASIS_NONE 0 +#define EDP_PREEMPHASIS_3_5dB 1 +#define EDP_PREEMPHASIS_6dB 2 +#define EDP_PREEMPHASIS_9_5dB 3 +#define EDP_VSWING_0_4V 0 +#define EDP_VSWING_0_6V 1 +#define EDP_VSWING_0_8V 2 +#define EDP_VSWING_1_2V 3 + +struct edp_power_seq { + u16 t1_t3; + u16 t8; + u16 t9; + u16 t10; + u16 t11_t12; +} __attribute__ ((packed)); + +struct edp_link_params { + u8 rate:4; + u8 lanes:4; + u8 preemphasis:4; + u8 vswing:4; +} __attribute__ ((packed)); + +struct bdb_edp { + struct edp_power_seq power_seqs[16]; + u32 color_depth; + struct edp_link_params link_params[16]; + u32 sdrrs_msa_timing_delay; + + /* ith bit indicates enabled/disabled for (i+1)th panel */ + u16 edp_s3d_feature; + u16 edp_t3_optimization; +} __attribute__ ((packed)); + +void intel_setup_bios(struct drm_device *dev); +int intel_parse_bios(struct drm_device *dev); + +/* + * Driver<->VBIOS interaction occurs through scratch bits in + * GR18 & SWF*. + */ + +/* GR18 bits are set on display switch and hotkey events */ +#define GR18_DRIVER_SWITCH_EN (1<<7) /* 0: VBIOS control, 1: driver control */ +#define GR18_HOTKEY_MASK 0x78 /* See also SWF4 15:0 */ +#define GR18_HK_NONE (0x0<<3) +#define GR18_HK_LFP_STRETCH (0x1<<3) +#define GR18_HK_TOGGLE_DISP (0x2<<3) +#define GR18_HK_DISP_SWITCH (0x4<<3) /* see SWF14 15:0 for what to enable */ +#define GR18_HK_POPUP_DISABLED (0x6<<3) +#define GR18_HK_POPUP_ENABLED (0x7<<3) +#define GR18_HK_PFIT (0x8<<3) +#define GR18_HK_APM_CHANGE (0xa<<3) +#define GR18_HK_MULTIPLE (0xc<<3) +#define GR18_USER_INT_EN (1<<2) +#define GR18_A0000_FLUSH_EN (1<<1) +#define GR18_SMM_EN (1<<0) + +/* Set by driver, cleared by VBIOS */ +#define SWF00_YRES_SHIFT 16 +#define SWF00_XRES_SHIFT 0 +#define SWF00_RES_MASK 0xffff + +/* Set by VBIOS at boot time and driver at runtime */ +#define SWF01_TV2_FORMAT_SHIFT 8 +#define SWF01_TV1_FORMAT_SHIFT 0 +#define SWF01_TV_FORMAT_MASK 0xffff + +#define SWF10_VBIOS_BLC_I2C_EN (1<<29) +#define SWF10_GTT_OVERRIDE_EN (1<<28) +#define SWF10_LFP_DPMS_OVR (1<<27) /* override DPMS on display switch */ +#define SWF10_ACTIVE_TOGGLE_LIST_MASK (7<<24) +#define SWF10_OLD_TOGGLE 0x0 +#define SWF10_TOGGLE_LIST_1 0x1 +#define SWF10_TOGGLE_LIST_2 0x2 +#define SWF10_TOGGLE_LIST_3 0x3 +#define SWF10_TOGGLE_LIST_4 0x4 +#define SWF10_PANNING_EN (1<<23) +#define SWF10_DRIVER_LOADED (1<<22) +#define SWF10_EXTENDED_DESKTOP (1<<21) +#define SWF10_EXCLUSIVE_MODE (1<<20) +#define SWF10_OVERLAY_EN (1<<19) +#define SWF10_PLANEB_HOLDOFF (1<<18) +#define SWF10_PLANEA_HOLDOFF (1<<17) +#define SWF10_VGA_HOLDOFF (1<<16) +#define SWF10_ACTIVE_DISP_MASK 0xffff +#define SWF10_PIPEB_LFP2 (1<<15) +#define SWF10_PIPEB_EFP2 (1<<14) +#define SWF10_PIPEB_TV2 (1<<13) +#define SWF10_PIPEB_CRT2 (1<<12) +#define SWF10_PIPEB_LFP (1<<11) +#define SWF10_PIPEB_EFP (1<<10) +#define SWF10_PIPEB_TV (1<<9) +#define SWF10_PIPEB_CRT (1<<8) +#define SWF10_PIPEA_LFP2 (1<<7) +#define SWF10_PIPEA_EFP2 (1<<6) +#define SWF10_PIPEA_TV2 (1<<5) +#define SWF10_PIPEA_CRT2 (1<<4) +#define SWF10_PIPEA_LFP (1<<3) +#define SWF10_PIPEA_EFP (1<<2) +#define SWF10_PIPEA_TV (1<<1) +#define SWF10_PIPEA_CRT (1<<0) + +#define SWF11_MEMORY_SIZE_SHIFT 16 +#define SWF11_SV_TEST_EN (1<<15) +#define SWF11_IS_AGP (1<<14) +#define SWF11_DISPLAY_HOLDOFF (1<<13) +#define SWF11_DPMS_REDUCED (1<<12) +#define SWF11_IS_VBE_MODE (1<<11) +#define SWF11_PIPEB_ACCESS (1<<10) /* 0 here means pipe a */ +#define SWF11_DPMS_MASK 0x07 +#define SWF11_DPMS_OFF (1<<2) +#define SWF11_DPMS_SUSPEND (1<<1) +#define SWF11_DPMS_STANDBY (1<<0) +#define SWF11_DPMS_ON 0 + +#define SWF14_GFX_PFIT_EN (1<<31) +#define SWF14_TEXT_PFIT_EN (1<<30) +#define SWF14_LID_STATUS_CLOSED (1<<29) /* 0 here means open */ +#define SWF14_POPUP_EN (1<<28) +#define SWF14_DISPLAY_HOLDOFF (1<<27) +#define SWF14_DISP_DETECT_EN (1<<26) +#define SWF14_DOCKING_STATUS_DOCKED (1<<25) /* 0 here means undocked */ +#define SWF14_DRIVER_STATUS (1<<24) +#define SWF14_OS_TYPE_WIN9X (1<<23) +#define SWF14_OS_TYPE_WINNT (1<<22) +/* 21:19 rsvd */ +#define SWF14_PM_TYPE_MASK 0x00070000 +#define SWF14_PM_ACPI_VIDEO (0x4 << 16) +#define SWF14_PM_ACPI (0x3 << 16) +#define SWF14_PM_APM_12 (0x2 << 16) +#define SWF14_PM_APM_11 (0x1 << 16) +#define SWF14_HK_REQUEST_MASK 0x0000ffff /* see GR18 6:3 for event type */ + /* if GR18 indicates a display switch */ +#define SWF14_DS_PIPEB_LFP2_EN (1<<15) +#define SWF14_DS_PIPEB_EFP2_EN (1<<14) +#define SWF14_DS_PIPEB_TV2_EN (1<<13) +#define SWF14_DS_PIPEB_CRT2_EN (1<<12) +#define SWF14_DS_PIPEB_LFP_EN (1<<11) +#define SWF14_DS_PIPEB_EFP_EN (1<<10) +#define SWF14_DS_PIPEB_TV_EN (1<<9) +#define SWF14_DS_PIPEB_CRT_EN (1<<8) +#define SWF14_DS_PIPEA_LFP2_EN (1<<7) +#define SWF14_DS_PIPEA_EFP2_EN (1<<6) +#define SWF14_DS_PIPEA_TV2_EN (1<<5) +#define SWF14_DS_PIPEA_CRT2_EN (1<<4) +#define SWF14_DS_PIPEA_LFP_EN (1<<3) +#define SWF14_DS_PIPEA_EFP_EN (1<<2) +#define SWF14_DS_PIPEA_TV_EN (1<<1) +#define SWF14_DS_PIPEA_CRT_EN (1<<0) + /* if GR18 indicates a panel fitting request */ +#define SWF14_PFIT_EN (1<<0) /* 0 means disable */ + /* if GR18 indicates an APM change request */ +#define SWF14_APM_HIBERNATE 0x4 +#define SWF14_APM_SUSPEND 0x3 +#define SWF14_APM_STANDBY 0x1 +#define SWF14_APM_RESTORE 0x0 + +/* Add the device class for LFP, TV, HDMI */ +#define DEVICE_TYPE_INT_LFP 0x1022 +#define DEVICE_TYPE_INT_TV 0x1009 +#define DEVICE_TYPE_HDMI 0x60D2 +#define DEVICE_TYPE_DP 0x68C6 +#define DEVICE_TYPE_eDP 0x78C6 + +/* define the DVO port for HDMI output type */ +#define DVO_B 1 +#define DVO_C 2 +#define DVO_D 3 + +/* define the PORT for DP output type */ +#define PORT_IDPB 7 +#define PORT_IDPC 8 +#define PORT_IDPD 9 + +#endif /* _I830_BIOS_H_ */ --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_crt.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_crt.c @@ -0,0 +1,810 @@ +/* + * Copyright © 2006-2007 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + */ + +#include +#include +#include +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_crtc_helper.h" +#include "drm_edid.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" + +/* Here's the desired hotplug mode */ +#define ADPA_HOTPLUG_BITS (ADPA_CRT_HOTPLUG_PERIOD_128 | \ + ADPA_CRT_HOTPLUG_WARMUP_10MS | \ + ADPA_CRT_HOTPLUG_SAMPLE_4S | \ + ADPA_CRT_HOTPLUG_VOLTAGE_50 | \ + ADPA_CRT_HOTPLUG_VOLREF_325MV | \ + ADPA_CRT_HOTPLUG_ENABLE) + +struct intel_crt { + struct intel_encoder base; + bool force_hotplug_required; + u32 adpa_reg; +}; + +static struct intel_crt *intel_attached_crt(struct drm_connector *connector) +{ + return container_of(intel_attached_encoder(connector), + struct intel_crt, base); +} + +static struct intel_crt *intel_encoder_to_crt(struct intel_encoder *encoder) +{ + return container_of(encoder, struct intel_crt, base); +} + +static bool intel_crt_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crt *crt = intel_encoder_to_crt(encoder); + u32 tmp; + + tmp = I915_READ(crt->adpa_reg); + + if (!(tmp & ADPA_DAC_ENABLE)) + return false; + + if (HAS_PCH_CPT(dev)) + *pipe = PORT_TO_PIPE_CPT(tmp); + else + *pipe = PORT_TO_PIPE(tmp); + + return true; +} + +static void intel_disable_crt(struct intel_encoder *encoder) +{ + struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; + struct intel_crt *crt = intel_encoder_to_crt(encoder); + u32 temp; + + temp = I915_READ(crt->adpa_reg); + temp &= ~(ADPA_HSYNC_CNTL_DISABLE | ADPA_VSYNC_CNTL_DISABLE); + temp &= ~ADPA_DAC_ENABLE; + I915_WRITE(crt->adpa_reg, temp); +} + +static void intel_enable_crt(struct intel_encoder *encoder) +{ + struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; + struct intel_crt *crt = intel_encoder_to_crt(encoder); + u32 temp; + + temp = I915_READ(crt->adpa_reg); + temp |= ADPA_DAC_ENABLE; + I915_WRITE(crt->adpa_reg, temp); +} + +/* Note: The caller is required to filter out dpms modes not supported by the + * platform. */ +static void intel_crt_set_dpms(struct intel_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crt *crt = intel_encoder_to_crt(encoder); + u32 temp; + + temp = I915_READ(crt->adpa_reg); + temp &= ~(ADPA_HSYNC_CNTL_DISABLE | ADPA_VSYNC_CNTL_DISABLE); + temp &= ~ADPA_DAC_ENABLE; + + switch (mode) { + case DRM_MODE_DPMS_ON: + temp |= ADPA_DAC_ENABLE; + break; + case DRM_MODE_DPMS_STANDBY: + temp |= ADPA_DAC_ENABLE | ADPA_HSYNC_CNTL_DISABLE; + break; + case DRM_MODE_DPMS_SUSPEND: + temp |= ADPA_DAC_ENABLE | ADPA_VSYNC_CNTL_DISABLE; + break; + case DRM_MODE_DPMS_OFF: + temp |= ADPA_HSYNC_CNTL_DISABLE | ADPA_VSYNC_CNTL_DISABLE; + break; + } + + I915_WRITE(crt->adpa_reg, temp); +} + +static void intel_crt_dpms(struct drm_connector *connector, int mode) +{ + struct drm_device *dev = connector->dev; + struct intel_encoder *encoder = intel_attached_encoder(connector); + struct drm_crtc *crtc; + int old_dpms; + + /* PCH platforms and VLV only support on/off. */ + if (INTEL_INFO(dev)->gen >= 5 && mode != DRM_MODE_DPMS_ON) + mode = DRM_MODE_DPMS_OFF; + + if (mode == connector->dpms) + return; + + old_dpms = connector->dpms; + connector->dpms = mode; + + /* Only need to change hw state when actually enabled */ + crtc = encoder->base.crtc; + if (!crtc) { + encoder->connectors_active = false; + return; + } + + /* We need the pipe to run for anything but OFF. */ + if (mode == DRM_MODE_DPMS_OFF) + encoder->connectors_active = false; + else + encoder->connectors_active = true; + + if (mode < old_dpms) { + /* From off to on, enable the pipe first. */ + intel_crtc_update_dpms(crtc); + + intel_crt_set_dpms(encoder, mode); + } else { + intel_crt_set_dpms(encoder, mode); + + intel_crtc_update_dpms(crtc); + } + + intel_modeset_check_state(connector->dev); +} + +static int intel_crt_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct drm_device *dev = connector->dev; + + int max_clock = 0; + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + return MODE_NO_DBLESCAN; + + if (mode->clock < 25000) + return MODE_CLOCK_LOW; + + if (IS_GEN2(dev)) + max_clock = 350000; + else + max_clock = 400000; + if (mode->clock > max_clock) + return MODE_CLOCK_HIGH; + + /* The FDI receiver on LPT only supports 8bpc and only has 2 lanes. */ + if (HAS_PCH_LPT(dev) && + (ironlake_get_lanes_required(mode->clock, 270000, 24) > 2)) + return MODE_CLOCK_HIGH; + + return MODE_OK; +} + +static bool intel_crt_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + return true; +} + +static void intel_crt_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + + struct drm_device *dev = encoder->dev; + struct drm_crtc *crtc = encoder->crtc; + struct intel_crt *crt = + intel_encoder_to_crt(to_intel_encoder(encoder)); + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 adpa; + + if (HAS_PCH_SPLIT(dev)) + adpa = ADPA_HOTPLUG_BITS; + else + adpa = 0; + + if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) + adpa |= ADPA_HSYNC_ACTIVE_HIGH; + if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) + adpa |= ADPA_VSYNC_ACTIVE_HIGH; + + /* For CPT allow 3 pipe config, for others just use A or B */ + if (HAS_PCH_LPT(dev)) + ; /* Those bits don't exist here */ + else if (HAS_PCH_CPT(dev)) + adpa |= PORT_TRANS_SEL_CPT(intel_crtc->pipe); + else if (intel_crtc->pipe == 0) + adpa |= ADPA_PIPE_A_SELECT; + else + adpa |= ADPA_PIPE_B_SELECT; + + if (!HAS_PCH_SPLIT(dev)) + I915_WRITE(BCLRPAT(intel_crtc->pipe), 0); + + I915_WRITE(crt->adpa_reg, adpa); +} + +static bool intel_ironlake_crt_detect_hotplug(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct intel_crt *crt = intel_attached_crt(connector); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 adpa; + bool ret; + + /* The first time through, trigger an explicit detection cycle */ + if (crt->force_hotplug_required) { + bool turn_off_dac = HAS_PCH_SPLIT(dev); + u32 save_adpa; + + crt->force_hotplug_required = 0; + + save_adpa = adpa = I915_READ(PCH_ADPA); + DRM_DEBUG_KMS("trigger hotplug detect cycle: adpa=0x%x\n", adpa); + + adpa |= ADPA_CRT_HOTPLUG_FORCE_TRIGGER; + if (turn_off_dac) + adpa &= ~ADPA_DAC_ENABLE; + + I915_WRITE(PCH_ADPA, adpa); + + if (wait_for((I915_READ(PCH_ADPA) & ADPA_CRT_HOTPLUG_FORCE_TRIGGER) == 0, + 1000)) + DRM_DEBUG_KMS("timed out waiting for FORCE_TRIGGER"); + + if (turn_off_dac) { + I915_WRITE(PCH_ADPA, save_adpa); + POSTING_READ(PCH_ADPA); + } + } + + /* Check the status to see if both blue and green are on now */ + adpa = I915_READ(PCH_ADPA); + if ((adpa & ADPA_CRT_HOTPLUG_MONITOR_MASK) != 0) + ret = true; + else + ret = false; + DRM_DEBUG_KMS("ironlake hotplug adpa=0x%x, result %d\n", adpa, ret); + + return ret; +} + +static bool valleyview_crt_detect_hotplug(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 adpa; + bool ret; + u32 save_adpa; + + save_adpa = adpa = I915_READ(ADPA); + DRM_DEBUG_KMS("trigger hotplug detect cycle: adpa=0x%x\n", adpa); + + adpa |= ADPA_CRT_HOTPLUG_FORCE_TRIGGER; + + I915_WRITE(ADPA, adpa); + + if (wait_for((I915_READ(ADPA) & ADPA_CRT_HOTPLUG_FORCE_TRIGGER) == 0, + 1000)) { + DRM_DEBUG_KMS("timed out waiting for FORCE_TRIGGER"); + I915_WRITE(ADPA, save_adpa); + } + + /* Check the status to see if both blue and green are on now */ + adpa = I915_READ(ADPA); + if ((adpa & ADPA_CRT_HOTPLUG_MONITOR_MASK) != 0) + ret = true; + else + ret = false; + + DRM_DEBUG_KMS("valleyview hotplug adpa=0x%x, result %d\n", adpa, ret); + + /* FIXME: debug force function and remove */ + ret = true; + + return ret; +} + +/** + * Uses CRT_HOTPLUG_EN and CRT_HOTPLUG_STAT to detect CRT presence. + * + * Not for i915G/i915GM + * + * \return true if CRT is connected. + * \return false if CRT is disconnected. + */ +static bool intel_crt_detect_hotplug(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 hotplug_en, orig, stat; + bool ret = false; + int i, tries = 0; + + if (HAS_PCH_SPLIT(dev)) + return intel_ironlake_crt_detect_hotplug(connector); + + if (IS_VALLEYVIEW(dev)) + return valleyview_crt_detect_hotplug(connector); + + /* + * On 4 series desktop, CRT detect sequence need to be done twice + * to get a reliable result. + */ + + if (IS_G4X(dev) && !IS_GM45(dev)) + tries = 2; + else + tries = 1; + hotplug_en = orig = I915_READ(PORT_HOTPLUG_EN); + hotplug_en |= CRT_HOTPLUG_FORCE_DETECT; + + for (i = 0; i < tries ; i++) { + /* turn on the FORCE_DETECT */ + I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); + /* wait for FORCE_DETECT to go off */ + if (wait_for((I915_READ(PORT_HOTPLUG_EN) & + CRT_HOTPLUG_FORCE_DETECT) == 0, + 1000)) + DRM_DEBUG_KMS("timed out waiting for FORCE_DETECT to go off"); + } + + stat = I915_READ(PORT_HOTPLUG_STAT); + if ((stat & CRT_HOTPLUG_MONITOR_MASK) != CRT_HOTPLUG_MONITOR_NONE) + ret = true; + + /* clear the interrupt we just generated, if any */ + I915_WRITE(PORT_HOTPLUG_STAT, CRT_HOTPLUG_INT_STATUS); + + /* and put the bits back */ + I915_WRITE(PORT_HOTPLUG_EN, orig); + + return ret; +} + +static struct edid *intel_crt_get_edid(struct drm_connector *connector, + struct i2c_adapter *i2c) +{ + struct edid *edid; + + edid = drm_get_edid(connector, i2c); + + if (!edid && !intel_gmbus_is_forced_bit(i2c)) { + DRM_DEBUG_KMS("CRT GMBUS EDID read failed, retry using GPIO bit-banging\n"); + intel_gmbus_force_bit(i2c, true); + edid = drm_get_edid(connector, i2c); + intel_gmbus_force_bit(i2c, false); + } + + return edid; +} + +/* local version of intel_ddc_get_modes() to use intel_crt_get_edid() */ +static int intel_crt_ddc_get_modes(struct drm_connector *connector, + struct i2c_adapter *adapter) +{ + struct edid *edid; + int ret; + + edid = intel_crt_get_edid(connector, adapter); + if (!edid) + return 0; + + ret = intel_connector_update_modes(connector, edid); + kfree(edid); + + return ret; +} + +static bool intel_crt_detect_ddc(struct drm_connector *connector) +{ + struct intel_crt *crt = intel_attached_crt(connector); + struct drm_i915_private *dev_priv = crt->base.base.dev->dev_private; + struct edid *edid; + struct i2c_adapter *i2c; + + BUG_ON(crt->base.type != INTEL_OUTPUT_ANALOG); + + i2c = intel_gmbus_get_adapter(dev_priv, dev_priv->crt_ddc_pin); + edid = intel_crt_get_edid(connector, i2c); + + if (edid) { + bool is_digital = edid->input & DRM_EDID_INPUT_DIGITAL; + + /* + * This may be a DVI-I connector with a shared DDC + * link between analog and digital outputs, so we + * have to check the EDID input spec of the attached device. + */ + if (!is_digital) { + DRM_DEBUG_KMS("CRT detected via DDC:0x50 [EDID]\n"); + return true; + } + + DRM_DEBUG_KMS("CRT not detected via DDC:0x50 [EDID reports a digital panel]\n"); + } else { + DRM_DEBUG_KMS("CRT not detected via DDC:0x50 [no valid EDID found]\n"); + } + + kfree(edid); + + return false; +} + +static enum drm_connector_status +intel_crt_load_detect(struct intel_crt *crt) +{ + struct drm_device *dev = crt->base.base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t pipe = to_intel_crtc(crt->base.base.crtc)->pipe; + uint32_t save_bclrpat; + uint32_t save_vtotal; + uint32_t vtotal, vactive; + uint32_t vsample; + uint32_t vblank, vblank_start, vblank_end; + uint32_t dsl; + uint32_t bclrpat_reg; + uint32_t vtotal_reg; + uint32_t vblank_reg; + uint32_t vsync_reg; + uint32_t pipeconf_reg; + uint32_t pipe_dsl_reg; + uint8_t st00; + enum drm_connector_status status; + + DRM_DEBUG_KMS("starting load-detect on CRT\n"); + + bclrpat_reg = BCLRPAT(pipe); + vtotal_reg = VTOTAL(pipe); + vblank_reg = VBLANK(pipe); + vsync_reg = VSYNC(pipe); + pipeconf_reg = PIPECONF(pipe); + pipe_dsl_reg = PIPEDSL(pipe); + + save_bclrpat = I915_READ(bclrpat_reg); + save_vtotal = I915_READ(vtotal_reg); + vblank = I915_READ(vblank_reg); + + vtotal = ((save_vtotal >> 16) & 0xfff) + 1; + vactive = (save_vtotal & 0x7ff) + 1; + + vblank_start = (vblank & 0xfff) + 1; + vblank_end = ((vblank >> 16) & 0xfff) + 1; + + /* Set the border color to purple. */ + I915_WRITE(bclrpat_reg, 0x500050); + + if (!IS_GEN2(dev)) { + uint32_t pipeconf = I915_READ(pipeconf_reg); + I915_WRITE(pipeconf_reg, pipeconf | PIPECONF_FORCE_BORDER); + POSTING_READ(pipeconf_reg); + /* Wait for next Vblank to substitue + * border color for Color info */ + intel_wait_for_vblank(dev, pipe); + st00 = I915_READ8(VGA_MSR_WRITE); + status = ((st00 & (1 << 4)) != 0) ? + connector_status_connected : + connector_status_disconnected; + + I915_WRITE(pipeconf_reg, pipeconf); + } else { + bool restore_vblank = false; + int count, detect; + + /* + * If there isn't any border, add some. + * Yes, this will flicker + */ + if (vblank_start <= vactive && vblank_end >= vtotal) { + uint32_t vsync = I915_READ(vsync_reg); + uint32_t vsync_start = (vsync & 0xffff) + 1; + + vblank_start = vsync_start; + I915_WRITE(vblank_reg, + (vblank_start - 1) | + ((vblank_end - 1) << 16)); + restore_vblank = true; + } + /* sample in the vertical border, selecting the larger one */ + if (vblank_start - vactive >= vtotal - vblank_end) + vsample = (vblank_start + vactive) >> 1; + else + vsample = (vtotal + vblank_end) >> 1; + + /* + * Wait for the border to be displayed + */ + while (I915_READ(pipe_dsl_reg) >= vactive) + ; + while ((dsl = I915_READ(pipe_dsl_reg)) <= vsample) + ; + /* + * Watch ST00 for an entire scanline + */ + detect = 0; + count = 0; + do { + count++; + /* Read the ST00 VGA status register */ + st00 = I915_READ8(VGA_MSR_WRITE); + if (st00 & (1 << 4)) + detect++; + } while ((I915_READ(pipe_dsl_reg) == dsl)); + + /* restore vblank if necessary */ + if (restore_vblank) + I915_WRITE(vblank_reg, vblank); + /* + * If more than 3/4 of the scanline detected a monitor, + * then it is assumed to be present. This works even on i830, + * where there isn't any way to force the border color across + * the screen + */ + status = detect * 4 > count * 3 ? + connector_status_connected : + connector_status_disconnected; + } + + /* Restore previous settings */ + I915_WRITE(bclrpat_reg, save_bclrpat); + + return status; +} + +static enum drm_connector_status +intel_crt_detect(struct drm_connector *connector, bool force) +{ + struct drm_device *dev = connector->dev; + struct intel_crt *crt = intel_attached_crt(connector); + enum drm_connector_status status; + struct intel_load_detect_pipe tmp; + + if (I915_HAS_HOTPLUG(dev)) { + /* We can not rely on the HPD pin always being correctly wired + * up, for example many KVM do not pass it through, and so + * only trust an assertion that the monitor is connected. + */ + if (intel_crt_detect_hotplug(connector)) { + DRM_DEBUG_KMS("CRT detected via hotplug\n"); + return connector_status_connected; + } else + DRM_DEBUG_KMS("CRT not detected via hotplug\n"); + } + + if (intel_crt_detect_ddc(connector)) + return connector_status_connected; + + /* Load detection is broken on HPD capable machines. Whoever wants a + * broken monitor (without edid) to work behind a broken kvm (that fails + * to have the right resistors for HP detection) needs to fix this up. + * For now just bail out. */ + if (I915_HAS_HOTPLUG(dev)) + return connector_status_disconnected; + + if (!force) + return connector->status; + + /* for pre-945g platforms use load detect */ + if (intel_get_load_detect_pipe(connector, NULL, &tmp)) { + if (intel_crt_detect_ddc(connector)) + status = connector_status_connected; + else + status = intel_crt_load_detect(crt); + intel_release_load_detect_pipe(connector, &tmp); + } else + status = connector_status_unknown; + + return status; +} + +static void intel_crt_destroy(struct drm_connector *connector) +{ + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(connector); +} + +static int intel_crt_get_modes(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + struct i2c_adapter *i2c; + + i2c = intel_gmbus_get_adapter(dev_priv, dev_priv->crt_ddc_pin); + ret = intel_crt_ddc_get_modes(connector, i2c); + if (ret || !IS_G4X(dev)) + return ret; + + /* Try to probe digital port for output in DVI-I -> VGA mode. */ + i2c = intel_gmbus_get_adapter(dev_priv, GMBUS_PORT_DPB); + return intel_crt_ddc_get_modes(connector, i2c); +} + +static int intel_crt_set_property(struct drm_connector *connector, + struct drm_property *property, + uint64_t value) +{ + return 0; +} + +static void intel_crt_reset(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crt *crt = intel_attached_crt(connector); + + if (HAS_PCH_SPLIT(dev)) { + u32 adpa; + + adpa = I915_READ(PCH_ADPA); + adpa &= ~ADPA_CRT_HOTPLUG_MASK; + adpa |= ADPA_HOTPLUG_BITS; + I915_WRITE(PCH_ADPA, adpa); + POSTING_READ(PCH_ADPA); + + DRM_DEBUG_KMS("pch crt adpa set to 0x%x\n", adpa); + crt->force_hotplug_required = 1; + } + +} + +/* + * Routines for controlling stuff on the analog port + */ + +static const struct drm_encoder_helper_funcs crt_encoder_funcs = { + .mode_fixup = intel_crt_mode_fixup, + .mode_set = intel_crt_mode_set, + .disable = intel_encoder_noop, +}; + +static const struct drm_connector_funcs intel_crt_connector_funcs = { + .reset = intel_crt_reset, + .dpms = intel_crt_dpms, + .detect = intel_crt_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .destroy = intel_crt_destroy, + .set_property = intel_crt_set_property, +}; + +static const struct drm_connector_helper_funcs intel_crt_connector_helper_funcs = { + .mode_valid = intel_crt_mode_valid, + .get_modes = intel_crt_get_modes, + .best_encoder = intel_best_encoder, +}; + +static const struct drm_encoder_funcs intel_crt_enc_funcs = { + .destroy = intel_encoder_destroy, +}; + +static int __init intel_no_crt_dmi_callback(const struct dmi_system_id *id) +{ + DRM_INFO("Skipping CRT initialization for %s\n", id->ident); + return 1; +} + +static const struct dmi_system_id intel_no_crt[] = { + { + .callback = intel_no_crt_dmi_callback, + .ident = "ACER ZGB", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ACER"), + DMI_MATCH(DMI_PRODUCT_NAME, "ZGB"), + }, + }, + { } +}; + +void intel_crt_init(struct drm_device *dev) +{ + struct drm_connector *connector; + struct intel_crt *crt; + struct intel_connector *intel_connector; + struct drm_i915_private *dev_priv = dev->dev_private; + + /* Skip machines without VGA that falsely report hotplug events */ + if (dmi_check_system(intel_no_crt)) + return; + + crt = kzalloc(sizeof(struct intel_crt), GFP_KERNEL); + if (!crt) + return; + + intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); + if (!intel_connector) { + kfree(crt); + return; + } + + connector = &intel_connector->base; + drm_connector_init(dev, &intel_connector->base, + &intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA); + + drm_encoder_init(dev, &crt->base.base, &intel_crt_enc_funcs, + DRM_MODE_ENCODER_DAC); + + intel_connector_attach_encoder(intel_connector, &crt->base); + + crt->base.type = INTEL_OUTPUT_ANALOG; + crt->base.cloneable = true; + if (IS_I830(dev)) + crt->base.crtc_mask = (1 << 0); + else + crt->base.crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); + + if (IS_GEN2(dev)) + connector->interlace_allowed = 0; + else + connector->interlace_allowed = 1; + connector->doublescan_allowed = 0; + + if (HAS_PCH_SPLIT(dev)) + crt->adpa_reg = PCH_ADPA; + else if (IS_VALLEYVIEW(dev)) + crt->adpa_reg = VLV_ADPA; + else + crt->adpa_reg = ADPA; + + crt->base.disable = intel_disable_crt; + crt->base.enable = intel_enable_crt; + if (IS_HASWELL(dev)) + crt->base.get_hw_state = intel_ddi_get_hw_state; + else + crt->base.get_hw_state = intel_crt_get_hw_state; + intel_connector->get_hw_state = intel_connector_get_hw_state; + + drm_encoder_helper_add(&crt->base.base, &crt_encoder_funcs); + drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); + + drm_sysfs_connector_add(connector); + + if (I915_HAS_HOTPLUG(dev)) + connector->polled = DRM_CONNECTOR_POLL_HPD; + else + connector->polled = DRM_CONNECTOR_POLL_CONNECT; + + /* + * Configure the automatic hotplug detection stuff + */ + crt->force_hotplug_required = 0; + + dev_priv->hotplug_supported_mask |= CRT_HOTPLUG_INT_STATUS; + + /* + * TODO: find a proper way to discover whether we need to set the + * polarity reversal bit or not, instead of relying on the BIOS. + */ + if (HAS_PCH_LPT(dev)) + dev_priv->fdi_rx_polarity_reversed = + !!(I915_READ(_FDI_RXA_CTL) & FDI_RX_POLARITY_REVERSED_LPT); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_ddi.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_ddi.c @@ -0,0 +1,1514 @@ +/* + * Copyright © 2012 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eugeni Dodonov + * + */ + +#include "i915_drv.h" +#include "intel_drv.h" + +/* HDMI/DVI modes ignore everything but the last 2 items. So we share + * them for both DP and FDI transports, allowing those ports to + * automatically adapt to HDMI connections as well + */ +static const u32 hsw_ddi_translations_dp[] = { + 0x00FFFFFF, 0x0006000E, /* DP parameters */ + 0x00D75FFF, 0x0005000A, + 0x00C30FFF, 0x00040006, + 0x80AAAFFF, 0x000B0000, + 0x00FFFFFF, 0x0005000A, + 0x00D75FFF, 0x000C0004, + 0x80C30FFF, 0x000B0000, + 0x00FFFFFF, 0x00040006, + 0x80D75FFF, 0x000B0000, + 0x00FFFFFF, 0x00040006 /* HDMI parameters */ +}; + +static const u32 hsw_ddi_translations_fdi[] = { + 0x00FFFFFF, 0x0007000E, /* FDI parameters */ + 0x00D75FFF, 0x000F000A, + 0x00C30FFF, 0x00060006, + 0x00AAAFFF, 0x001E0000, + 0x00FFFFFF, 0x000F000A, + 0x00D75FFF, 0x00160004, + 0x00C30FFF, 0x001E0000, + 0x00FFFFFF, 0x00060006, + 0x00D75FFF, 0x001E0000, + 0x00FFFFFF, 0x00040006 /* HDMI parameters */ +}; + +static enum port intel_ddi_get_encoder_port(struct intel_encoder *intel_encoder) +{ + struct drm_encoder *encoder = &intel_encoder->base; + int type = intel_encoder->type; + + if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP || + type == INTEL_OUTPUT_HDMI || type == INTEL_OUTPUT_UNKNOWN) { + struct intel_digital_port *intel_dig_port = + enc_to_dig_port(encoder); + return intel_dig_port->port; + + } else if (type == INTEL_OUTPUT_ANALOG) { + return PORT_E; + + } else { + DRM_ERROR("Invalid DDI encoder type %d\n", type); + BUG(); + } +} + +/* On Haswell, DDI port buffers must be programmed with correct values + * in advance. The buffer values are different for FDI and DP modes, + * but the HDMI/DVI fields are shared among those. So we program the DDI + * in either FDI or DP modes only, as HDMI connections will work with both + * of those + */ +void intel_prepare_ddi_buffers(struct drm_device *dev, enum port port, bool use_fdi_mode) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 reg; + int i; + const u32 *ddi_translations = ((use_fdi_mode) ? + hsw_ddi_translations_fdi : + hsw_ddi_translations_dp); + + DRM_DEBUG_DRIVER("Initializing DDI buffers for port %c in %s mode\n", + port_name(port), + use_fdi_mode ? "FDI" : "DP"); + + WARN((use_fdi_mode && (port != PORT_E)), + "Programming port %c in FDI mode, this probably will not work.\n", + port_name(port)); + + for (i=0, reg=DDI_BUF_TRANS(port); i < ARRAY_SIZE(hsw_ddi_translations_fdi); i++) { + I915_WRITE(reg, ddi_translations[i]); + reg += 4; + } +} + +/* Program DDI buffers translations for DP. By default, program ports A-D in DP + * mode and port E for FDI. + */ +void intel_prepare_ddi(struct drm_device *dev) +{ + int port; + + if (IS_HASWELL(dev)) { + for (port = PORT_A; port < PORT_E; port++) + intel_prepare_ddi_buffers(dev, port, false); + + /* DDI E is the suggested one to work in FDI mode, so program is as such by + * default. It will have to be re-programmed in case a digital DP output + * will be detected on it + */ + intel_prepare_ddi_buffers(dev, PORT_E, true); + } +} + +static const long hsw_ddi_buf_ctl_values[] = { + DDI_BUF_EMP_400MV_0DB_HSW, + DDI_BUF_EMP_400MV_3_5DB_HSW, + DDI_BUF_EMP_400MV_6DB_HSW, + DDI_BUF_EMP_400MV_9_5DB_HSW, + DDI_BUF_EMP_600MV_0DB_HSW, + DDI_BUF_EMP_600MV_3_5DB_HSW, + DDI_BUF_EMP_600MV_6DB_HSW, + DDI_BUF_EMP_800MV_0DB_HSW, + DDI_BUF_EMP_800MV_3_5DB_HSW +}; + +static void intel_wait_ddi_buf_idle(struct drm_i915_private *dev_priv, + enum port port) +{ + uint32_t reg = DDI_BUF_CTL(port); + int i; + + for (i = 0; i < 8; i++) { + udelay(1); + if (I915_READ(reg) & DDI_BUF_IS_IDLE) + return; + } + DRM_ERROR("Timeout waiting for DDI BUF %c idle bit\n", port_name(port)); +} + +/* Starting with Haswell, different DDI ports can work in FDI mode for + * connection to the PCH-located connectors. For this, it is necessary to train + * both the DDI port and PCH receiver for the desired DDI buffer settings. + * + * The recommended port to work in FDI mode is DDI E, which we use here. Also, + * please note that when FDI mode is active on DDI E, it shares 2 lines with + * DDI A (which is used for eDP) + */ + +void hsw_fdi_link_train(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + u32 temp, i, rx_ctl_val; + + /* Set the FDI_RX_MISC pwrdn lanes and the 2 workarounds listed at the + * mode set "sequence for CRT port" document: + * - TP1 to TP2 time with the default value + * - FDI delay to 90h + */ + I915_WRITE(_FDI_RXA_MISC, FDI_RX_PWRDN_LANE1_VAL(2) | + FDI_RX_PWRDN_LANE0_VAL(2) | + FDI_RX_TP1_TO_TP2_48 | FDI_RX_FDI_DELAY_90); + + /* Enable the PCH Receiver FDI PLL */ + rx_ctl_val = FDI_RX_PLL_ENABLE | FDI_RX_ENHANCE_FRAME_ENABLE | + ((intel_crtc->fdi_lanes - 1) << 19); + if (dev_priv->fdi_rx_polarity_reversed) + rx_ctl_val |= FDI_RX_POLARITY_REVERSED_LPT; + I915_WRITE(_FDI_RXA_CTL, rx_ctl_val); + POSTING_READ(_FDI_RXA_CTL); + udelay(220); + + /* Switch from Rawclk to PCDclk */ + rx_ctl_val |= FDI_PCDCLK; + I915_WRITE(_FDI_RXA_CTL, rx_ctl_val); + + /* Configure Port Clock Select */ + I915_WRITE(PORT_CLK_SEL(PORT_E), intel_crtc->ddi_pll_sel); + + /* Start the training iterating through available voltages and emphasis, + * testing each value twice. */ + for (i = 0; i < ARRAY_SIZE(hsw_ddi_buf_ctl_values) * 2; i++) { + /* Configure DP_TP_CTL with auto-training */ + I915_WRITE(DP_TP_CTL(PORT_E), + DP_TP_CTL_FDI_AUTOTRAIN | + DP_TP_CTL_ENHANCED_FRAME_ENABLE | + DP_TP_CTL_LINK_TRAIN_PAT1 | + DP_TP_CTL_ENABLE); + + /* Configure and enable DDI_BUF_CTL for DDI E with next voltage */ + I915_WRITE(DDI_BUF_CTL(PORT_E), + DDI_BUF_CTL_ENABLE | + ((intel_crtc->fdi_lanes - 1) << 1) | + hsw_ddi_buf_ctl_values[i / 2]); + POSTING_READ(DDI_BUF_CTL(PORT_E)); + + udelay(600); + + /* Program PCH FDI Receiver TU */ + I915_WRITE(_FDI_RXA_TUSIZE1, TU_SIZE(64)); + + /* Enable PCH FDI Receiver with auto-training */ + rx_ctl_val |= FDI_RX_ENABLE | FDI_LINK_TRAIN_AUTO; + I915_WRITE(_FDI_RXA_CTL, rx_ctl_val); + POSTING_READ(_FDI_RXA_CTL); + + /* Wait for FDI receiver lane calibration */ + udelay(30); + + /* Unset FDI_RX_MISC pwrdn lanes */ + temp = I915_READ(_FDI_RXA_MISC); + temp &= ~(FDI_RX_PWRDN_LANE1_MASK | FDI_RX_PWRDN_LANE0_MASK); + I915_WRITE(_FDI_RXA_MISC, temp); + POSTING_READ(_FDI_RXA_MISC); + + /* Wait for FDI auto training time */ + udelay(5); + + temp = I915_READ(DP_TP_STATUS(PORT_E)); + if (temp & DP_TP_STATUS_AUTOTRAIN_DONE) { + DRM_DEBUG_KMS("FDI link training done on step %d\n", i); + + /* Enable normal pixel sending for FDI */ + I915_WRITE(DP_TP_CTL(PORT_E), + DP_TP_CTL_FDI_AUTOTRAIN | + DP_TP_CTL_LINK_TRAIN_NORMAL | + DP_TP_CTL_ENHANCED_FRAME_ENABLE | + DP_TP_CTL_ENABLE); + + return; + } + + temp = I915_READ(DDI_BUF_CTL(PORT_E)); + temp &= ~DDI_BUF_CTL_ENABLE; + I915_WRITE(DDI_BUF_CTL(PORT_E), temp); + POSTING_READ(DDI_BUF_CTL(PORT_E)); + + /* Disable DP_TP_CTL and FDI_RX_CTL and retry */ + temp = I915_READ(DP_TP_CTL(PORT_E)); + temp &= ~(DP_TP_CTL_ENABLE | DP_TP_CTL_LINK_TRAIN_MASK); + temp |= DP_TP_CTL_LINK_TRAIN_PAT1; + I915_WRITE(DP_TP_CTL(PORT_E), temp); + POSTING_READ(DP_TP_CTL(PORT_E)); + + intel_wait_ddi_buf_idle(dev_priv, PORT_E); + + rx_ctl_val &= ~FDI_RX_ENABLE; + I915_WRITE(_FDI_RXA_CTL, rx_ctl_val); + POSTING_READ(_FDI_RXA_CTL); + + /* Reset FDI_RX_MISC pwrdn lanes */ + temp = I915_READ(_FDI_RXA_MISC); + temp &= ~(FDI_RX_PWRDN_LANE1_MASK | FDI_RX_PWRDN_LANE0_MASK); + temp |= FDI_RX_PWRDN_LANE1_VAL(2) | FDI_RX_PWRDN_LANE0_VAL(2); + I915_WRITE(_FDI_RXA_MISC, temp); + POSTING_READ(_FDI_RXA_MISC); + } + + DRM_ERROR("FDI link training failed!\n"); +} + +/* WRPLL clock dividers */ +struct wrpll_tmds_clock { + u32 clock; + u16 p; /* Post divider */ + u16 n2; /* Feedback divider */ + u16 r2; /* Reference divider */ +}; + +/* Table of matching values for WRPLL clocks programming for each frequency. + * The code assumes this table is sorted. */ +static const struct wrpll_tmds_clock wrpll_tmds_clock_table[] = { + {19750, 38, 25, 18}, + {20000, 48, 32, 18}, + {21000, 36, 21, 15}, + {21912, 42, 29, 17}, + {22000, 36, 22, 15}, + {23000, 36, 23, 15}, + {23500, 40, 40, 23}, + {23750, 26, 16, 14}, + {24000, 36, 24, 15}, + {25000, 36, 25, 15}, + {25175, 26, 40, 33}, + {25200, 30, 21, 15}, + {26000, 36, 26, 15}, + {27000, 30, 21, 14}, + {27027, 18, 100, 111}, + {27500, 30, 29, 19}, + {28000, 34, 30, 17}, + {28320, 26, 30, 22}, + {28322, 32, 42, 25}, + {28750, 24, 23, 18}, + {29000, 30, 29, 18}, + {29750, 32, 30, 17}, + {30000, 30, 25, 15}, + {30750, 30, 41, 24}, + {31000, 30, 31, 18}, + {31500, 30, 28, 16}, + {32000, 30, 32, 18}, + {32500, 28, 32, 19}, + {33000, 24, 22, 15}, + {34000, 28, 30, 17}, + {35000, 26, 32, 19}, + {35500, 24, 30, 19}, + {36000, 26, 26, 15}, + {36750, 26, 46, 26}, + {37000, 24, 23, 14}, + {37762, 22, 40, 26}, + {37800, 20, 21, 15}, + {38000, 24, 27, 16}, + {38250, 24, 34, 20}, + {39000, 24, 26, 15}, + {40000, 24, 32, 18}, + {40500, 20, 21, 14}, + {40541, 22, 147, 89}, + {40750, 18, 19, 14}, + {41000, 16, 17, 14}, + {41500, 22, 44, 26}, + {41540, 22, 44, 26}, + {42000, 18, 21, 15}, + {42500, 22, 45, 26}, + {43000, 20, 43, 27}, + {43163, 20, 24, 15}, + {44000, 18, 22, 15}, + {44900, 20, 108, 65}, + {45000, 20, 25, 15}, + {45250, 20, 52, 31}, + {46000, 18, 23, 15}, + {46750, 20, 45, 26}, + {47000, 20, 40, 23}, + {48000, 18, 24, 15}, + {49000, 18, 49, 30}, + {49500, 16, 22, 15}, + {50000, 18, 25, 15}, + {50500, 18, 32, 19}, + {51000, 18, 34, 20}, + {52000, 18, 26, 15}, + {52406, 14, 34, 25}, + {53000, 16, 22, 14}, + {54000, 16, 24, 15}, + {54054, 16, 173, 108}, + {54500, 14, 24, 17}, + {55000, 12, 22, 18}, + {56000, 14, 45, 31}, + {56250, 16, 25, 15}, + {56750, 14, 25, 17}, + {57000, 16, 27, 16}, + {58000, 16, 43, 25}, + {58250, 16, 38, 22}, + {58750, 16, 40, 23}, + {59000, 14, 26, 17}, + {59341, 14, 40, 26}, + {59400, 16, 44, 25}, + {60000, 16, 32, 18}, + {60500, 12, 39, 29}, + {61000, 14, 49, 31}, + {62000, 14, 37, 23}, + {62250, 14, 42, 26}, + {63000, 12, 21, 15}, + {63500, 14, 28, 17}, + {64000, 12, 27, 19}, + {65000, 14, 32, 19}, + {65250, 12, 29, 20}, + {65500, 12, 32, 22}, + {66000, 12, 22, 15}, + {66667, 14, 38, 22}, + {66750, 10, 21, 17}, + {67000, 14, 33, 19}, + {67750, 14, 58, 33}, + {68000, 14, 30, 17}, + {68179, 14, 46, 26}, + {68250, 14, 46, 26}, + {69000, 12, 23, 15}, + {70000, 12, 28, 18}, + {71000, 12, 30, 19}, + {72000, 12, 24, 15}, + {73000, 10, 23, 17}, + {74000, 12, 23, 14}, + {74176, 8, 100, 91}, + {74250, 10, 22, 16}, + {74481, 12, 43, 26}, + {74500, 10, 29, 21}, + {75000, 12, 25, 15}, + {75250, 10, 39, 28}, + {76000, 12, 27, 16}, + {77000, 12, 53, 31}, + {78000, 12, 26, 15}, + {78750, 12, 28, 16}, + {79000, 10, 38, 26}, + {79500, 10, 28, 19}, + {80000, 12, 32, 18}, + {81000, 10, 21, 14}, + {81081, 6, 100, 111}, + {81624, 8, 29, 24}, + {82000, 8, 17, 14}, + {83000, 10, 40, 26}, + {83950, 10, 28, 18}, + {84000, 10, 28, 18}, + {84750, 6, 16, 17}, + {85000, 6, 17, 18}, + {85250, 10, 30, 19}, + {85750, 10, 27, 17}, + {86000, 10, 43, 27}, + {87000, 10, 29, 18}, + {88000, 10, 44, 27}, + {88500, 10, 41, 25}, + {89000, 10, 28, 17}, + {89012, 6, 90, 91}, + {89100, 10, 33, 20}, + {90000, 10, 25, 15}, + {91000, 10, 32, 19}, + {92000, 10, 46, 27}, + {93000, 10, 31, 18}, + {94000, 10, 40, 23}, + {94500, 10, 28, 16}, + {95000, 10, 44, 25}, + {95654, 10, 39, 22}, + {95750, 10, 39, 22}, + {96000, 10, 32, 18}, + {97000, 8, 23, 16}, + {97750, 8, 42, 29}, + {98000, 8, 45, 31}, + {99000, 8, 22, 15}, + {99750, 8, 34, 23}, + {100000, 6, 20, 18}, + {100500, 6, 19, 17}, + {101000, 6, 37, 33}, + {101250, 8, 21, 14}, + {102000, 6, 17, 15}, + {102250, 6, 25, 22}, + {103000, 8, 29, 19}, + {104000, 8, 37, 24}, + {105000, 8, 28, 18}, + {106000, 8, 22, 14}, + {107000, 8, 46, 29}, + {107214, 8, 27, 17}, + {108000, 8, 24, 15}, + {108108, 8, 173, 108}, + {109000, 6, 23, 19}, + {110000, 6, 22, 18}, + {110013, 6, 22, 18}, + {110250, 8, 49, 30}, + {110500, 8, 36, 22}, + {111000, 8, 23, 14}, + {111264, 8, 150, 91}, + {111375, 8, 33, 20}, + {112000, 8, 63, 38}, + {112500, 8, 25, 15}, + {113100, 8, 57, 34}, + {113309, 8, 42, 25}, + {114000, 8, 27, 16}, + {115000, 6, 23, 18}, + {116000, 8, 43, 25}, + {117000, 8, 26, 15}, + {117500, 8, 40, 23}, + {118000, 6, 38, 29}, + {119000, 8, 30, 17}, + {119500, 8, 46, 26}, + {119651, 8, 39, 22}, + {120000, 8, 32, 18}, + {121000, 6, 39, 29}, + {121250, 6, 31, 23}, + {121750, 6, 23, 17}, + {122000, 6, 42, 31}, + {122614, 6, 30, 22}, + {123000, 6, 41, 30}, + {123379, 6, 37, 27}, + {124000, 6, 51, 37}, + {125000, 6, 25, 18}, + {125250, 4, 13, 14}, + {125750, 4, 27, 29}, + {126000, 6, 21, 15}, + {127000, 6, 24, 17}, + {127250, 6, 41, 29}, + {128000, 6, 27, 19}, + {129000, 6, 43, 30}, + {129859, 4, 25, 26}, + {130000, 6, 26, 18}, + {130250, 6, 42, 29}, + {131000, 6, 32, 22}, + {131500, 6, 38, 26}, + {131850, 6, 41, 28}, + {132000, 6, 22, 15}, + {132750, 6, 28, 19}, + {133000, 6, 34, 23}, + {133330, 6, 37, 25}, + {134000, 6, 61, 41}, + {135000, 6, 21, 14}, + {135250, 6, 167, 111}, + {136000, 6, 62, 41}, + {137000, 6, 35, 23}, + {138000, 6, 23, 15}, + {138500, 6, 40, 26}, + {138750, 6, 37, 24}, + {139000, 6, 34, 22}, + {139050, 6, 34, 22}, + {139054, 6, 34, 22}, + {140000, 6, 28, 18}, + {141000, 6, 36, 23}, + {141500, 6, 22, 14}, + {142000, 6, 30, 19}, + {143000, 6, 27, 17}, + {143472, 4, 17, 16}, + {144000, 6, 24, 15}, + {145000, 6, 29, 18}, + {146000, 6, 47, 29}, + {146250, 6, 26, 16}, + {147000, 6, 49, 30}, + {147891, 6, 23, 14}, + {148000, 6, 23, 14}, + {148250, 6, 28, 17}, + {148352, 4, 100, 91}, + {148500, 6, 33, 20}, + {149000, 6, 48, 29}, + {150000, 6, 25, 15}, + {151000, 4, 19, 17}, + {152000, 6, 27, 16}, + {152280, 6, 44, 26}, + {153000, 6, 34, 20}, + {154000, 6, 53, 31}, + {155000, 6, 31, 18}, + {155250, 6, 50, 29}, + {155750, 6, 45, 26}, + {156000, 6, 26, 15}, + {157000, 6, 61, 35}, + {157500, 6, 28, 16}, + {158000, 6, 65, 37}, + {158250, 6, 44, 25}, + {159000, 6, 53, 30}, + {159500, 6, 39, 22}, + {160000, 6, 32, 18}, + {161000, 4, 31, 26}, + {162000, 4, 18, 15}, + {162162, 4, 131, 109}, + {162500, 4, 53, 44}, + {163000, 4, 29, 24}, + {164000, 4, 17, 14}, + {165000, 4, 22, 18}, + {166000, 4, 32, 26}, + {167000, 4, 26, 21}, + {168000, 4, 46, 37}, + {169000, 4, 104, 83}, + {169128, 4, 64, 51}, + {169500, 4, 39, 31}, + {170000, 4, 34, 27}, + {171000, 4, 19, 15}, + {172000, 4, 51, 40}, + {172750, 4, 32, 25}, + {172800, 4, 32, 25}, + {173000, 4, 41, 32}, + {174000, 4, 49, 38}, + {174787, 4, 22, 17}, + {175000, 4, 35, 27}, + {176000, 4, 30, 23}, + {177000, 4, 38, 29}, + {178000, 4, 29, 22}, + {178500, 4, 37, 28}, + {179000, 4, 53, 40}, + {179500, 4, 73, 55}, + {180000, 4, 20, 15}, + {181000, 4, 55, 41}, + {182000, 4, 31, 23}, + {183000, 4, 42, 31}, + {184000, 4, 30, 22}, + {184750, 4, 26, 19}, + {185000, 4, 37, 27}, + {186000, 4, 51, 37}, + {187000, 4, 36, 26}, + {188000, 4, 32, 23}, + {189000, 4, 21, 15}, + {190000, 4, 38, 27}, + {190960, 4, 41, 29}, + {191000, 4, 41, 29}, + {192000, 4, 27, 19}, + {192250, 4, 37, 26}, + {193000, 4, 20, 14}, + {193250, 4, 53, 37}, + {194000, 4, 23, 16}, + {194208, 4, 23, 16}, + {195000, 4, 26, 18}, + {196000, 4, 45, 31}, + {197000, 4, 35, 24}, + {197750, 4, 41, 28}, + {198000, 4, 22, 15}, + {198500, 4, 25, 17}, + {199000, 4, 28, 19}, + {200000, 4, 37, 25}, + {201000, 4, 61, 41}, + {202000, 4, 112, 75}, + {202500, 4, 21, 14}, + {203000, 4, 146, 97}, + {204000, 4, 62, 41}, + {204750, 4, 44, 29}, + {205000, 4, 38, 25}, + {206000, 4, 29, 19}, + {207000, 4, 23, 15}, + {207500, 4, 40, 26}, + {208000, 4, 37, 24}, + {208900, 4, 48, 31}, + {209000, 4, 48, 31}, + {209250, 4, 31, 20}, + {210000, 4, 28, 18}, + {211000, 4, 25, 16}, + {212000, 4, 22, 14}, + {213000, 4, 30, 19}, + {213750, 4, 38, 24}, + {214000, 4, 46, 29}, + {214750, 4, 35, 22}, + {215000, 4, 43, 27}, + {216000, 4, 24, 15}, + {217000, 4, 37, 23}, + {218000, 4, 42, 26}, + {218250, 4, 42, 26}, + {218750, 4, 34, 21}, + {219000, 4, 47, 29}, + {220000, 4, 44, 27}, + {220640, 4, 49, 30}, + {220750, 4, 36, 22}, + {221000, 4, 36, 22}, + {222000, 4, 23, 14}, + {222525, 4, 28, 17}, + {222750, 4, 33, 20}, + {227000, 4, 37, 22}, + {230250, 4, 29, 17}, + {233500, 4, 38, 22}, + {235000, 4, 40, 23}, + {238000, 4, 30, 17}, + {241500, 2, 17, 19}, + {245250, 2, 20, 22}, + {247750, 2, 22, 24}, + {253250, 2, 15, 16}, + {256250, 2, 18, 19}, + {262500, 2, 31, 32}, + {267250, 2, 66, 67}, + {268500, 2, 94, 95}, + {270000, 2, 14, 14}, + {272500, 2, 77, 76}, + {273750, 2, 57, 56}, + {280750, 2, 24, 23}, + {281250, 2, 23, 22}, + {286000, 2, 17, 16}, + {291750, 2, 26, 24}, + {296703, 2, 56, 51}, + {297000, 2, 22, 20}, + {298000, 2, 21, 19}, +}; + +static void intel_ddi_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_crtc *crtc = encoder->crtc; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *intel_encoder = to_intel_encoder(encoder); + int port = intel_ddi_get_encoder_port(intel_encoder); + int pipe = intel_crtc->pipe; + int type = intel_encoder->type; + + DRM_DEBUG_KMS("Preparing DDI mode for Haswell on port %c, pipe %c\n", + port_name(port), pipe_name(pipe)); + + if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + + intel_dp->DP = DDI_BUF_CTL_ENABLE | DDI_BUF_EMP_400MV_0DB_HSW; + switch (intel_dp->lane_count) { + case 1: + intel_dp->DP |= DDI_PORT_WIDTH_X1; + break; + case 2: + intel_dp->DP |= DDI_PORT_WIDTH_X2; + break; + case 4: + intel_dp->DP |= DDI_PORT_WIDTH_X4; + break; + default: + intel_dp->DP |= DDI_PORT_WIDTH_X4; + WARN(1, "Unexpected DP lane count %d\n", + intel_dp->lane_count); + break; + } + + if (intel_dp->has_audio) { + DRM_DEBUG_DRIVER("DP audio on pipe %c on DDI\n", + pipe_name(intel_crtc->pipe)); + + /* write eld */ + DRM_DEBUG_DRIVER("DP audio: write eld information\n"); + intel_write_eld(encoder, adjusted_mode); + } + + intel_dp_init_link_config(intel_dp); + + } else if (type == INTEL_OUTPUT_HDMI) { + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + + if (intel_hdmi->has_audio) { + /* Proper support for digital audio needs a new logic + * and a new set of registers, so we leave it for future + * patch bombing. + */ + DRM_DEBUG_DRIVER("HDMI audio on pipe %c on DDI\n", + pipe_name(intel_crtc->pipe)); + + /* write eld */ + DRM_DEBUG_DRIVER("HDMI audio: write eld information\n"); + intel_write_eld(encoder, adjusted_mode); + } + + intel_hdmi->set_infoframes(encoder, adjusted_mode); + } +} + +static struct intel_encoder * +intel_ddi_get_crtc_encoder(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *intel_encoder, *ret = NULL; + int num_encoders = 0; + + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + ret = intel_encoder; + num_encoders++; + } + + if (num_encoders != 1) + WARN(1, "%d encoders on crtc for pipe %d\n", num_encoders, + intel_crtc->pipe); + + BUG_ON(ret == NULL); + return ret; +} + +void intel_ddi_put_crtc_pll(struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + struct intel_ddi_plls *plls = &dev_priv->ddi_plls; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + uint32_t val; + + switch (intel_crtc->ddi_pll_sel) { + case PORT_CLK_SEL_SPLL: + plls->spll_refcount--; + if (plls->spll_refcount == 0) { + DRM_DEBUG_KMS("Disabling SPLL\n"); + val = I915_READ(SPLL_CTL); + WARN_ON(!(val & SPLL_PLL_ENABLE)); + I915_WRITE(SPLL_CTL, val & ~SPLL_PLL_ENABLE); + POSTING_READ(SPLL_CTL); + } + break; + case PORT_CLK_SEL_WRPLL1: + plls->wrpll1_refcount--; + if (plls->wrpll1_refcount == 0) { + DRM_DEBUG_KMS("Disabling WRPLL 1\n"); + val = I915_READ(WRPLL_CTL1); + WARN_ON(!(val & WRPLL_PLL_ENABLE)); + I915_WRITE(WRPLL_CTL1, val & ~WRPLL_PLL_ENABLE); + POSTING_READ(WRPLL_CTL1); + } + break; + case PORT_CLK_SEL_WRPLL2: + plls->wrpll2_refcount--; + if (plls->wrpll2_refcount == 0) { + DRM_DEBUG_KMS("Disabling WRPLL 2\n"); + val = I915_READ(WRPLL_CTL2); + WARN_ON(!(val & WRPLL_PLL_ENABLE)); + I915_WRITE(WRPLL_CTL2, val & ~WRPLL_PLL_ENABLE); + POSTING_READ(WRPLL_CTL2); + } + break; + } + + WARN(plls->spll_refcount < 0, "Invalid SPLL refcount\n"); + WARN(plls->wrpll1_refcount < 0, "Invalid WRPLL1 refcount\n"); + WARN(plls->wrpll2_refcount < 0, "Invalid WRPLL2 refcount\n"); + + intel_crtc->ddi_pll_sel = PORT_CLK_SEL_NONE; +} + +static void intel_ddi_calculate_wrpll(int clock, int *p, int *n2, int *r2) +{ + u32 i; + + for (i = 0; i < ARRAY_SIZE(wrpll_tmds_clock_table); i++) + if (clock <= wrpll_tmds_clock_table[i].clock) + break; + + if (i == ARRAY_SIZE(wrpll_tmds_clock_table)) + i--; + + *p = wrpll_tmds_clock_table[i].p; + *n2 = wrpll_tmds_clock_table[i].n2; + *r2 = wrpll_tmds_clock_table[i].r2; + + if (wrpll_tmds_clock_table[i].clock != clock) + DRM_INFO("WRPLL: using settings for %dKHz on %dKHz mode\n", + wrpll_tmds_clock_table[i].clock, clock); + + DRM_DEBUG_KMS("WRPLL: %dKHz refresh rate with p=%d, n2=%d r2=%d\n", + clock, *p, *n2, *r2); +} + +bool intel_ddi_pll_mode_set(struct drm_crtc *crtc, int clock) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc); + struct drm_encoder *encoder = &intel_encoder->base; + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + struct intel_ddi_plls *plls = &dev_priv->ddi_plls; + int type = intel_encoder->type; + enum pipe pipe = intel_crtc->pipe; + uint32_t reg, val; + + /* TODO: reuse PLLs when possible (compare values) */ + + intel_ddi_put_crtc_pll(crtc); + + if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + + switch (intel_dp->link_bw) { + case DP_LINK_BW_1_62: + intel_crtc->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810; + break; + case DP_LINK_BW_2_7: + intel_crtc->ddi_pll_sel = PORT_CLK_SEL_LCPLL_1350; + break; + case DP_LINK_BW_5_4: + intel_crtc->ddi_pll_sel = PORT_CLK_SEL_LCPLL_2700; + break; + default: + DRM_ERROR("Link bandwidth %d unsupported\n", + intel_dp->link_bw); + return false; + } + + /* We don't need to turn any PLL on because we'll use LCPLL. */ + return true; + + } else if (type == INTEL_OUTPUT_HDMI) { + int p, n2, r2; + + if (plls->wrpll1_refcount == 0) { + DRM_DEBUG_KMS("Using WRPLL 1 on pipe %c\n", + pipe_name(pipe)); + plls->wrpll1_refcount++; + reg = WRPLL_CTL1; + intel_crtc->ddi_pll_sel = PORT_CLK_SEL_WRPLL1; + } else if (plls->wrpll2_refcount == 0) { + DRM_DEBUG_KMS("Using WRPLL 2 on pipe %c\n", + pipe_name(pipe)); + plls->wrpll2_refcount++; + reg = WRPLL_CTL2; + intel_crtc->ddi_pll_sel = PORT_CLK_SEL_WRPLL2; + } else { + DRM_ERROR("No WRPLLs available!\n"); + return false; + } + + WARN(I915_READ(reg) & WRPLL_PLL_ENABLE, + "WRPLL already enabled\n"); + + intel_ddi_calculate_wrpll(clock, &p, &n2, &r2); + + val = WRPLL_PLL_ENABLE | WRPLL_PLL_SELECT_LCPLL_2700 | + WRPLL_DIVIDER_REFERENCE(r2) | WRPLL_DIVIDER_FEEDBACK(n2) | + WRPLL_DIVIDER_POST(p); + + } else if (type == INTEL_OUTPUT_ANALOG) { + if (plls->spll_refcount == 0) { + DRM_DEBUG_KMS("Using SPLL on pipe %c\n", + pipe_name(pipe)); + plls->spll_refcount++; + reg = SPLL_CTL; + intel_crtc->ddi_pll_sel = PORT_CLK_SEL_SPLL; + } + + WARN(I915_READ(reg) & SPLL_PLL_ENABLE, + "SPLL already enabled\n"); + + val = SPLL_PLL_ENABLE | SPLL_PLL_FREQ_1350MHz | SPLL_PLL_SSC; + + } else { + WARN(1, "Invalid DDI encoder type %d\n", type); + return false; + } + + I915_WRITE(reg, val); + udelay(20); + + return true; +} + +void intel_ddi_set_pipe_settings(struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc); + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + int type = intel_encoder->type; + uint32_t temp; + + if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) { + + temp = TRANS_MSA_SYNC_CLK; + switch (intel_crtc->bpp) { + case 18: + temp |= TRANS_MSA_6_BPC; + break; + case 24: + temp |= TRANS_MSA_8_BPC; + break; + case 30: + temp |= TRANS_MSA_10_BPC; + break; + case 36: + temp |= TRANS_MSA_12_BPC; + break; + default: + temp |= TRANS_MSA_8_BPC; + WARN(1, "%d bpp unsupported by DDI function\n", + intel_crtc->bpp); + } + I915_WRITE(TRANS_MSA_MISC(cpu_transcoder), temp); + } +} + +void intel_ddi_enable_pipe_func(struct drm_crtc *crtc) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc); + struct drm_encoder *encoder = &intel_encoder->base; + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + enum pipe pipe = intel_crtc->pipe; + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + enum port port = intel_ddi_get_encoder_port(intel_encoder); + int type = intel_encoder->type; + uint32_t temp; + + /* Enable TRANS_DDI_FUNC_CTL for the pipe to work in HDMI mode */ + temp = TRANS_DDI_FUNC_ENABLE; + temp |= TRANS_DDI_SELECT_PORT(port); + + switch (intel_crtc->bpp) { + case 18: + temp |= TRANS_DDI_BPC_6; + break; + case 24: + temp |= TRANS_DDI_BPC_8; + break; + case 30: + temp |= TRANS_DDI_BPC_10; + break; + case 36: + temp |= TRANS_DDI_BPC_12; + break; + default: + WARN(1, "%d bpp unsupported by transcoder DDI function\n", + intel_crtc->bpp); + } + + if (crtc->mode.flags & DRM_MODE_FLAG_PVSYNC) + temp |= TRANS_DDI_PVSYNC; + if (crtc->mode.flags & DRM_MODE_FLAG_PHSYNC) + temp |= TRANS_DDI_PHSYNC; + + if (cpu_transcoder == TRANSCODER_EDP) { + switch (pipe) { + case PIPE_A: + temp |= TRANS_DDI_EDP_INPUT_A_ONOFF; + break; + case PIPE_B: + temp |= TRANS_DDI_EDP_INPUT_B_ONOFF; + break; + case PIPE_C: + temp |= TRANS_DDI_EDP_INPUT_C_ONOFF; + break; + default: + BUG(); + break; + } + } + + if (type == INTEL_OUTPUT_HDMI) { + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + + if (intel_hdmi->has_hdmi_sink) + temp |= TRANS_DDI_MODE_SELECT_HDMI; + else + temp |= TRANS_DDI_MODE_SELECT_DVI; + + } else if (type == INTEL_OUTPUT_ANALOG) { + temp |= TRANS_DDI_MODE_SELECT_FDI; + temp |= (intel_crtc->fdi_lanes - 1) << 1; + + } else if (type == INTEL_OUTPUT_DISPLAYPORT || + type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + + temp |= TRANS_DDI_MODE_SELECT_DP_SST; + + switch (intel_dp->lane_count) { + case 1: + temp |= TRANS_DDI_PORT_WIDTH_X1; + break; + case 2: + temp |= TRANS_DDI_PORT_WIDTH_X2; + break; + case 4: + temp |= TRANS_DDI_PORT_WIDTH_X4; + break; + default: + temp |= TRANS_DDI_PORT_WIDTH_X4; + WARN(1, "Unsupported lane count %d\n", + intel_dp->lane_count); + } + + } else { + WARN(1, "Invalid encoder type %d for pipe %d\n", + intel_encoder->type, pipe); + } + + I915_WRITE(TRANS_DDI_FUNC_CTL(cpu_transcoder), temp); +} + +void intel_ddi_disable_transcoder_func(struct drm_i915_private *dev_priv, + enum transcoder cpu_transcoder) +{ + uint32_t reg = TRANS_DDI_FUNC_CTL(cpu_transcoder); + uint32_t val = I915_READ(reg); + + val &= ~(TRANS_DDI_FUNC_ENABLE | TRANS_DDI_PORT_MASK); + val |= TRANS_DDI_PORT_NONE; + I915_WRITE(reg, val); +} + +bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector) +{ + struct drm_device *dev = intel_connector->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *intel_encoder = intel_connector->encoder; + int type = intel_connector->base.connector_type; + enum port port = intel_ddi_get_encoder_port(intel_encoder); + enum pipe pipe = 0; + enum transcoder cpu_transcoder; + uint32_t tmp; + + if (!intel_encoder->get_hw_state(intel_encoder, &pipe)) + return false; + + if (port == PORT_A) + cpu_transcoder = TRANSCODER_EDP; + else + cpu_transcoder = pipe; + + tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); + + switch (tmp & TRANS_DDI_MODE_SELECT_MASK) { + case TRANS_DDI_MODE_SELECT_HDMI: + case TRANS_DDI_MODE_SELECT_DVI: + return (type == DRM_MODE_CONNECTOR_HDMIA); + + case TRANS_DDI_MODE_SELECT_DP_SST: + if (type == DRM_MODE_CONNECTOR_eDP) + return true; + case TRANS_DDI_MODE_SELECT_DP_MST: + return (type == DRM_MODE_CONNECTOR_DisplayPort); + + case TRANS_DDI_MODE_SELECT_FDI: + return (type == DRM_MODE_CONNECTOR_VGA); + + default: + return false; + } +} + +bool intel_ddi_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + enum port port = intel_ddi_get_encoder_port(encoder); + u32 tmp; + int i; + + tmp = I915_READ(DDI_BUF_CTL(port)); + + if (!(tmp & DDI_BUF_CTL_ENABLE)) + return false; + + if (port == PORT_A) { + tmp = I915_READ(TRANS_DDI_FUNC_CTL(TRANSCODER_EDP)); + + switch (tmp & TRANS_DDI_EDP_INPUT_MASK) { + case TRANS_DDI_EDP_INPUT_A_ON: + case TRANS_DDI_EDP_INPUT_A_ONOFF: + *pipe = PIPE_A; + break; + case TRANS_DDI_EDP_INPUT_B_ONOFF: + *pipe = PIPE_B; + break; + case TRANS_DDI_EDP_INPUT_C_ONOFF: + *pipe = PIPE_C; + break; + } + + return true; + } else { + for (i = TRANSCODER_A; i <= TRANSCODER_C; i++) { + tmp = I915_READ(TRANS_DDI_FUNC_CTL(i)); + + if ((tmp & TRANS_DDI_PORT_MASK) + == TRANS_DDI_SELECT_PORT(port)) { + *pipe = i; + return true; + } + } + } + + DRM_DEBUG_KMS("No pipe for ddi port %i found\n", port); + + return true; +} + +static uint32_t intel_ddi_get_crtc_pll(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + uint32_t temp, ret; + enum port port; + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + int i; + + if (cpu_transcoder == TRANSCODER_EDP) { + port = PORT_A; + } else { + temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); + temp &= TRANS_DDI_PORT_MASK; + + for (i = PORT_B; i <= PORT_E; i++) + if (temp == TRANS_DDI_SELECT_PORT(i)) + port = i; + } + + ret = I915_READ(PORT_CLK_SEL(port)); + + DRM_DEBUG_KMS("Pipe %c connected to port %c using clock 0x%08x\n", + pipe_name(pipe), port_name(port), ret); + + return ret; +} + +void intel_ddi_setup_hw_pll_state(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + enum pipe pipe; + struct intel_crtc *intel_crtc; + + for_each_pipe(pipe) { + intel_crtc = + to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); + + if (!intel_crtc->active) + continue; + + intel_crtc->ddi_pll_sel = intel_ddi_get_crtc_pll(dev_priv, + pipe); + + switch (intel_crtc->ddi_pll_sel) { + case PORT_CLK_SEL_SPLL: + dev_priv->ddi_plls.spll_refcount++; + break; + case PORT_CLK_SEL_WRPLL1: + dev_priv->ddi_plls.wrpll1_refcount++; + break; + case PORT_CLK_SEL_WRPLL2: + dev_priv->ddi_plls.wrpll2_refcount++; + break; + } + } +} + +void intel_ddi_enable_pipe_clock(struct intel_crtc *intel_crtc) +{ + struct drm_crtc *crtc = &intel_crtc->base; + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc); + enum port port = intel_ddi_get_encoder_port(intel_encoder); + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + + if (cpu_transcoder != TRANSCODER_EDP) + I915_WRITE(TRANS_CLK_SEL(cpu_transcoder), + TRANS_CLK_SEL_PORT(port)); +} + +void intel_ddi_disable_pipe_clock(struct intel_crtc *intel_crtc) +{ + struct drm_i915_private *dev_priv = intel_crtc->base.dev->dev_private; + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + + if (cpu_transcoder != TRANSCODER_EDP) + I915_WRITE(TRANS_CLK_SEL(cpu_transcoder), + TRANS_CLK_SEL_DISABLED); +} + +static void intel_ddi_pre_enable(struct intel_encoder *intel_encoder) +{ + struct drm_encoder *encoder = &intel_encoder->base; + struct drm_crtc *crtc = encoder->crtc; + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + enum port port = intel_ddi_get_encoder_port(intel_encoder); + int type = intel_encoder->type; + + if (type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + ironlake_edp_panel_vdd_on(intel_dp); + ironlake_edp_panel_on(intel_dp); + ironlake_edp_panel_vdd_off(intel_dp, true); + } + + WARN_ON(intel_crtc->ddi_pll_sel == PORT_CLK_SEL_NONE); + I915_WRITE(PORT_CLK_SEL(port), intel_crtc->ddi_pll_sel); + + if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + + intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); + intel_dp_start_link_train(intel_dp); + intel_dp_complete_link_train(intel_dp); + } +} + +static void intel_ddi_post_disable(struct intel_encoder *intel_encoder) +{ + struct drm_encoder *encoder = &intel_encoder->base; + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + enum port port = intel_ddi_get_encoder_port(intel_encoder); + int type = intel_encoder->type; + uint32_t val; + bool wait = false; + + val = I915_READ(DDI_BUF_CTL(port)); + if (val & DDI_BUF_CTL_ENABLE) { + val &= ~DDI_BUF_CTL_ENABLE; + I915_WRITE(DDI_BUF_CTL(port), val); + wait = true; + } + + val = I915_READ(DP_TP_CTL(port)); + val &= ~(DP_TP_CTL_ENABLE | DP_TP_CTL_LINK_TRAIN_MASK); + val |= DP_TP_CTL_LINK_TRAIN_PAT1; + I915_WRITE(DP_TP_CTL(port), val); + + if (wait) + intel_wait_ddi_buf_idle(dev_priv, port); + + if (type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + ironlake_edp_panel_vdd_on(intel_dp); + ironlake_edp_panel_off(intel_dp); + } + + I915_WRITE(PORT_CLK_SEL(port), PORT_CLK_SEL_NONE); +} + +static void intel_enable_ddi(struct intel_encoder *intel_encoder) +{ + struct drm_encoder *encoder = &intel_encoder->base; + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + enum port port = intel_ddi_get_encoder_port(intel_encoder); + int type = intel_encoder->type; + + if (type == INTEL_OUTPUT_HDMI) { + /* In HDMI/DVI mode, the port width, and swing/emphasis values + * are ignored so nothing special needs to be done besides + * enabling the port. + */ + I915_WRITE(DDI_BUF_CTL(port), DDI_BUF_CTL_ENABLE); + } else if (type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + + ironlake_edp_backlight_on(intel_dp); + } +} + +static void intel_disable_ddi(struct intel_encoder *intel_encoder) +{ + struct drm_encoder *encoder = &intel_encoder->base; + int type = intel_encoder->type; + + if (type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + + ironlake_edp_backlight_off(intel_dp); + } +} + +int intel_ddi_get_cdclk_freq(struct drm_i915_private *dev_priv) +{ + if (I915_READ(HSW_FUSE_STRAP) & HSW_CDCLK_LIMIT) + return 450; + else if ((I915_READ(LCPLL_CTL) & LCPLL_CLK_FREQ_MASK) == + LCPLL_CLK_FREQ_450) + return 450; + else if (IS_ULT(dev_priv->dev)) + return 338; + else + return 540; +} + +void intel_ddi_pll_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t val = I915_READ(LCPLL_CTL); + + /* The LCPLL register should be turned on by the BIOS. For now let's + * just check its state and print errors in case something is wrong. + * Don't even try to turn it on. + */ + + DRM_DEBUG_KMS("CDCLK running at %dMHz\n", + intel_ddi_get_cdclk_freq(dev_priv)); + + if (val & LCPLL_CD_SOURCE_FCLK) + DRM_ERROR("CDCLK source is not LCPLL\n"); + + if (val & LCPLL_PLL_DISABLE) + DRM_ERROR("LCPLL is disabled\n"); +} + +void intel_ddi_prepare_link_retrain(struct drm_encoder *encoder) +{ + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); + struct intel_dp *intel_dp = &intel_dig_port->dp; + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + enum port port = intel_dig_port->port; + bool wait; + uint32_t val; + + if (I915_READ(DP_TP_CTL(port)) & DP_TP_CTL_ENABLE) { + val = I915_READ(DDI_BUF_CTL(port)); + if (val & DDI_BUF_CTL_ENABLE) { + val &= ~DDI_BUF_CTL_ENABLE; + I915_WRITE(DDI_BUF_CTL(port), val); + wait = true; + } + + val = I915_READ(DP_TP_CTL(port)); + val &= ~(DP_TP_CTL_ENABLE | DP_TP_CTL_LINK_TRAIN_MASK); + val |= DP_TP_CTL_LINK_TRAIN_PAT1; + I915_WRITE(DP_TP_CTL(port), val); + POSTING_READ(DP_TP_CTL(port)); + + if (wait) + intel_wait_ddi_buf_idle(dev_priv, port); + } + + val = DP_TP_CTL_ENABLE | DP_TP_CTL_MODE_SST | + DP_TP_CTL_LINK_TRAIN_PAT1 | DP_TP_CTL_SCRAMBLE_DISABLE; + if (intel_dp->link_configuration[1] & DP_LANE_COUNT_ENHANCED_FRAME_EN) + val |= DP_TP_CTL_ENHANCED_FRAME_ENABLE; + I915_WRITE(DP_TP_CTL(port), val); + POSTING_READ(DP_TP_CTL(port)); + + intel_dp->DP |= DDI_BUF_CTL_ENABLE; + I915_WRITE(DDI_BUF_CTL(port), intel_dp->DP); + POSTING_READ(DDI_BUF_CTL(port)); + + udelay(600); +} + +void intel_ddi_fdi_disable(struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc); + uint32_t val; + + intel_ddi_post_disable(intel_encoder); + + val = I915_READ(_FDI_RXA_CTL); + val &= ~FDI_RX_ENABLE; + I915_WRITE(_FDI_RXA_CTL, val); + + val = I915_READ(_FDI_RXA_MISC); + val &= ~(FDI_RX_PWRDN_LANE1_MASK | FDI_RX_PWRDN_LANE0_MASK); + val |= FDI_RX_PWRDN_LANE1_VAL(2) | FDI_RX_PWRDN_LANE0_VAL(2); + I915_WRITE(_FDI_RXA_MISC, val); + + val = I915_READ(_FDI_RXA_CTL); + val &= ~FDI_PCDCLK; + I915_WRITE(_FDI_RXA_CTL, val); + + val = I915_READ(_FDI_RXA_CTL); + val &= ~FDI_RX_PLL_ENABLE; + I915_WRITE(_FDI_RXA_CTL, val); +} + +static void intel_ddi_hot_plug(struct intel_encoder *intel_encoder) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base); + int type = intel_encoder->type; + + if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) + intel_dp_check_link_status(intel_dp); +} + +static void intel_ddi_destroy(struct drm_encoder *encoder) +{ + /* HDMI has nothing special to destroy, so we can go with this. */ + intel_dp_encoder_destroy(encoder); +} + +static bool intel_ddi_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct intel_encoder *intel_encoder = to_intel_encoder(encoder); + int type = intel_encoder->type; + + WARN(type == INTEL_OUTPUT_UNKNOWN, "mode_fixup() on unknown output!\n"); + + if (type == INTEL_OUTPUT_HDMI) + return intel_hdmi_mode_fixup(encoder, mode, adjusted_mode); + else + return intel_dp_mode_fixup(encoder, mode, adjusted_mode); +} + +static const struct drm_encoder_funcs intel_ddi_funcs = { + .destroy = intel_ddi_destroy, +}; + +static const struct drm_encoder_helper_funcs intel_ddi_helper_funcs = { + .mode_fixup = intel_ddi_mode_fixup, + .mode_set = intel_ddi_mode_set, + .disable = intel_encoder_noop, +}; + +void intel_ddi_init(struct drm_device *dev, enum port port) +{ + struct intel_digital_port *intel_dig_port; + struct intel_encoder *intel_encoder; + struct drm_encoder *encoder; + struct intel_connector *hdmi_connector = NULL; + struct intel_connector *dp_connector = NULL; + + intel_dig_port = kzalloc(sizeof(struct intel_digital_port), GFP_KERNEL); + if (!intel_dig_port) + return; + + dp_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); + if (!dp_connector) { + kfree(intel_dig_port); + return; + } + + if (port != PORT_A) { + hdmi_connector = kzalloc(sizeof(struct intel_connector), + GFP_KERNEL); + if (!hdmi_connector) { + kfree(dp_connector); + kfree(intel_dig_port); + return; + } + } + + intel_encoder = &intel_dig_port->base; + encoder = &intel_encoder->base; + + drm_encoder_init(dev, encoder, &intel_ddi_funcs, + DRM_MODE_ENCODER_TMDS); + drm_encoder_helper_add(encoder, &intel_ddi_helper_funcs); + + intel_encoder->enable = intel_enable_ddi; + intel_encoder->pre_enable = intel_ddi_pre_enable; + intel_encoder->disable = intel_disable_ddi; + intel_encoder->post_disable = intel_ddi_post_disable; + intel_encoder->get_hw_state = intel_ddi_get_hw_state; + + intel_dig_port->port = port; + if (hdmi_connector) + intel_dig_port->hdmi.sdvox_reg = DDI_BUF_CTL(port); + else + intel_dig_port->hdmi.sdvox_reg = 0; + intel_dig_port->dp.output_reg = DDI_BUF_CTL(port); + + intel_encoder->type = INTEL_OUTPUT_UNKNOWN; + intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); + intel_encoder->cloneable = false; + intel_encoder->hot_plug = intel_ddi_hot_plug; + + if (hdmi_connector) + intel_hdmi_init_connector(intel_dig_port, hdmi_connector); + intel_dp_init_connector(intel_dig_port, dp_connector); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_display.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_display.c @@ -0,0 +1,9490 @@ +/* + * Copyright © 2006-2007 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "drmP.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_trace.h" +#include "drm_dp_helper.h" +#include "drm_crtc_helper.h" +#include + +bool intel_pipe_has_type(struct drm_crtc *crtc, int type); +static void intel_increase_pllclock(struct drm_crtc *crtc); +static void intel_crtc_update_cursor(struct drm_crtc *crtc, bool on); + +typedef struct { + /* given values */ + int n; + int m1, m2; + int p1, p2; + /* derived values */ + int dot; + int vco; + int m; + int p; +} intel_clock_t; + +typedef struct { + int min, max; +} intel_range_t; + +typedef struct { + int dot_limit; + int p2_slow, p2_fast; +} intel_p2_t; + +#define INTEL_P2_NUM 2 +typedef struct intel_limit intel_limit_t; +struct intel_limit { + intel_range_t dot, vco, n, m, m1, m2, p, p1; + intel_p2_t p2; + bool (* find_pll)(const intel_limit_t *, struct drm_crtc *, + int, int, intel_clock_t *, intel_clock_t *); +}; + +/* FDI */ +#define IRONLAKE_FDI_FREQ 2700000 /* in kHz for mode->clock */ + +int +intel_pch_rawclk(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + WARN_ON(!HAS_PCH_SPLIT(dev)); + + return I915_READ(PCH_RAWCLK_FREQ) & RAWCLK_FREQ_MASK; +} + +static bool +intel_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock); +static bool +intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock); + +static bool +intel_find_pll_g4x_dp(const intel_limit_t *, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock); +static bool +intel_find_pll_ironlake_dp(const intel_limit_t *, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock); + +static bool +intel_vlv_find_best_pll(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock); + +static inline u32 /* units of 100MHz */ +intel_fdi_link_freq(struct drm_device *dev) +{ + if (IS_GEN5(dev)) { + struct drm_i915_private *dev_priv = dev->dev_private; + return (I915_READ(FDI_PLL_BIOS_0) & FDI_PLL_FB_CLOCK_MASK) + 2; + } else + return 27; +} + +static const intel_limit_t intel_limits_i8xx_dvo = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 930000, .max = 1400000 }, + .n = { .min = 3, .max = 16 }, + .m = { .min = 96, .max = 140 }, + .m1 = { .min = 18, .max = 26 }, + .m2 = { .min = 6, .max = 16 }, + .p = { .min = 4, .max = 128 }, + .p1 = { .min = 2, .max = 33 }, + .p2 = { .dot_limit = 165000, + .p2_slow = 4, .p2_fast = 2 }, + .find_pll = intel_find_best_PLL, +}; + +static const intel_limit_t intel_limits_i8xx_lvds = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 930000, .max = 1400000 }, + .n = { .min = 3, .max = 16 }, + .m = { .min = 96, .max = 140 }, + .m1 = { .min = 18, .max = 26 }, + .m2 = { .min = 6, .max = 16 }, + .p = { .min = 4, .max = 128 }, + .p1 = { .min = 1, .max = 6 }, + .p2 = { .dot_limit = 165000, + .p2_slow = 14, .p2_fast = 7 }, + .find_pll = intel_find_best_PLL, +}; + +static const intel_limit_t intel_limits_i9xx_sdvo = { + .dot = { .min = 20000, .max = 400000 }, + .vco = { .min = 1400000, .max = 2800000 }, + .n = { .min = 1, .max = 6 }, + .m = { .min = 70, .max = 120 }, + .m1 = { .min = 10, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 5, .max = 80 }, + .p1 = { .min = 1, .max = 8 }, + .p2 = { .dot_limit = 200000, + .p2_slow = 10, .p2_fast = 5 }, + .find_pll = intel_find_best_PLL, +}; + +static const intel_limit_t intel_limits_i9xx_lvds = { + .dot = { .min = 20000, .max = 400000 }, + .vco = { .min = 1400000, .max = 2800000 }, + .n = { .min = 1, .max = 6 }, + .m = { .min = 70, .max = 120 }, + .m1 = { .min = 10, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 7, .max = 98 }, + .p1 = { .min = 1, .max = 8 }, + .p2 = { .dot_limit = 112000, + .p2_slow = 14, .p2_fast = 7 }, + .find_pll = intel_find_best_PLL, +}; + + +static const intel_limit_t intel_limits_g4x_sdvo = { + .dot = { .min = 25000, .max = 270000 }, + .vco = { .min = 1750000, .max = 3500000}, + .n = { .min = 1, .max = 4 }, + .m = { .min = 104, .max = 138 }, + .m1 = { .min = 17, .max = 23 }, + .m2 = { .min = 5, .max = 11 }, + .p = { .min = 10, .max = 30 }, + .p1 = { .min = 1, .max = 3}, + .p2 = { .dot_limit = 270000, + .p2_slow = 10, + .p2_fast = 10 + }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_g4x_hdmi = { + .dot = { .min = 22000, .max = 400000 }, + .vco = { .min = 1750000, .max = 3500000}, + .n = { .min = 1, .max = 4 }, + .m = { .min = 104, .max = 138 }, + .m1 = { .min = 16, .max = 23 }, + .m2 = { .min = 5, .max = 11 }, + .p = { .min = 5, .max = 80 }, + .p1 = { .min = 1, .max = 8}, + .p2 = { .dot_limit = 165000, + .p2_slow = 10, .p2_fast = 5 }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_g4x_single_channel_lvds = { + .dot = { .min = 20000, .max = 115000 }, + .vco = { .min = 1750000, .max = 3500000 }, + .n = { .min = 1, .max = 3 }, + .m = { .min = 104, .max = 138 }, + .m1 = { .min = 17, .max = 23 }, + .m2 = { .min = 5, .max = 11 }, + .p = { .min = 28, .max = 112 }, + .p1 = { .min = 2, .max = 8 }, + .p2 = { .dot_limit = 0, + .p2_slow = 14, .p2_fast = 14 + }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_g4x_dual_channel_lvds = { + .dot = { .min = 80000, .max = 224000 }, + .vco = { .min = 1750000, .max = 3500000 }, + .n = { .min = 1, .max = 3 }, + .m = { .min = 104, .max = 138 }, + .m1 = { .min = 17, .max = 23 }, + .m2 = { .min = 5, .max = 11 }, + .p = { .min = 14, .max = 42 }, + .p1 = { .min = 2, .max = 6 }, + .p2 = { .dot_limit = 0, + .p2_slow = 7, .p2_fast = 7 + }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_g4x_display_port = { + .dot = { .min = 161670, .max = 227000 }, + .vco = { .min = 1750000, .max = 3500000}, + .n = { .min = 1, .max = 2 }, + .m = { .min = 97, .max = 108 }, + .m1 = { .min = 0x10, .max = 0x12 }, + .m2 = { .min = 0x05, .max = 0x06 }, + .p = { .min = 10, .max = 20 }, + .p1 = { .min = 1, .max = 2}, + .p2 = { .dot_limit = 0, + .p2_slow = 10, .p2_fast = 10 }, + .find_pll = intel_find_pll_g4x_dp, +}; + +static const intel_limit_t intel_limits_pineview_sdvo = { + .dot = { .min = 20000, .max = 400000}, + .vco = { .min = 1700000, .max = 3500000 }, + /* Pineview's Ncounter is a ring counter */ + .n = { .min = 3, .max = 6 }, + .m = { .min = 2, .max = 256 }, + /* Pineview only has one combined m divider, which we treat as m2. */ + .m1 = { .min = 0, .max = 0 }, + .m2 = { .min = 0, .max = 254 }, + .p = { .min = 5, .max = 80 }, + .p1 = { .min = 1, .max = 8 }, + .p2 = { .dot_limit = 200000, + .p2_slow = 10, .p2_fast = 5 }, + .find_pll = intel_find_best_PLL, +}; + +static const intel_limit_t intel_limits_pineview_lvds = { + .dot = { .min = 20000, .max = 400000 }, + .vco = { .min = 1700000, .max = 3500000 }, + .n = { .min = 3, .max = 6 }, + .m = { .min = 2, .max = 256 }, + .m1 = { .min = 0, .max = 0 }, + .m2 = { .min = 0, .max = 254 }, + .p = { .min = 7, .max = 112 }, + .p1 = { .min = 1, .max = 8 }, + .p2 = { .dot_limit = 112000, + .p2_slow = 14, .p2_fast = 14 }, + .find_pll = intel_find_best_PLL, +}; + +/* Ironlake / Sandybridge + * + * We calculate clock using (register_value + 2) for N/M1/M2, so here + * the range value for them is (actual_value - 2). + */ +static const intel_limit_t intel_limits_ironlake_dac = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 1760000, .max = 3510000 }, + .n = { .min = 1, .max = 5 }, + .m = { .min = 79, .max = 127 }, + .m1 = { .min = 12, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 5, .max = 80 }, + .p1 = { .min = 1, .max = 8 }, + .p2 = { .dot_limit = 225000, + .p2_slow = 10, .p2_fast = 5 }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_single_lvds = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 1760000, .max = 3510000 }, + .n = { .min = 1, .max = 3 }, + .m = { .min = 79, .max = 118 }, + .m1 = { .min = 12, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 28, .max = 112 }, + .p1 = { .min = 2, .max = 8 }, + .p2 = { .dot_limit = 225000, + .p2_slow = 14, .p2_fast = 14 }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_dual_lvds = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 1760000, .max = 3510000 }, + .n = { .min = 1, .max = 3 }, + .m = { .min = 79, .max = 127 }, + .m1 = { .min = 12, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 14, .max = 56 }, + .p1 = { .min = 2, .max = 8 }, + .p2 = { .dot_limit = 225000, + .p2_slow = 7, .p2_fast = 7 }, + .find_pll = intel_g4x_find_best_PLL, +}; + +/* LVDS 100mhz refclk limits. */ +static const intel_limit_t intel_limits_ironlake_single_lvds_100m = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 1760000, .max = 3510000 }, + .n = { .min = 1, .max = 2 }, + .m = { .min = 79, .max = 126 }, + .m1 = { .min = 12, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 28, .max = 112 }, + .p1 = { .min = 2, .max = 8 }, + .p2 = { .dot_limit = 225000, + .p2_slow = 14, .p2_fast = 14 }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_dual_lvds_100m = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 1760000, .max = 3510000 }, + .n = { .min = 1, .max = 3 }, + .m = { .min = 79, .max = 126 }, + .m1 = { .min = 12, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 14, .max = 42 }, + .p1 = { .min = 2, .max = 6 }, + .p2 = { .dot_limit = 225000, + .p2_slow = 7, .p2_fast = 7 }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_display_port = { + .dot = { .min = 25000, .max = 350000 }, + .vco = { .min = 1760000, .max = 3510000}, + .n = { .min = 1, .max = 2 }, + .m = { .min = 81, .max = 90 }, + .m1 = { .min = 12, .max = 22 }, + .m2 = { .min = 5, .max = 9 }, + .p = { .min = 10, .max = 20 }, + .p1 = { .min = 1, .max = 2}, + .p2 = { .dot_limit = 0, + .p2_slow = 10, .p2_fast = 10 }, + .find_pll = intel_find_pll_ironlake_dp, +}; + +static const intel_limit_t intel_limits_vlv_dac = { + .dot = { .min = 25000, .max = 270000 }, + .vco = { .min = 4000000, .max = 6000000 }, + .n = { .min = 1, .max = 7 }, + .m = { .min = 22, .max = 450 }, /* guess */ + .m1 = { .min = 2, .max = 3 }, + .m2 = { .min = 11, .max = 156 }, + .p = { .min = 10, .max = 30 }, + .p1 = { .min = 2, .max = 3 }, + .p2 = { .dot_limit = 270000, + .p2_slow = 2, .p2_fast = 20 }, + .find_pll = intel_vlv_find_best_pll, +}; + +static const intel_limit_t intel_limits_vlv_hdmi = { + .dot = { .min = 20000, .max = 165000 }, + .vco = { .min = 4000000, .max = 5994000}, + .n = { .min = 1, .max = 7 }, + .m = { .min = 60, .max = 300 }, /* guess */ + .m1 = { .min = 2, .max = 3 }, + .m2 = { .min = 11, .max = 156 }, + .p = { .min = 10, .max = 30 }, + .p1 = { .min = 2, .max = 3 }, + .p2 = { .dot_limit = 270000, + .p2_slow = 2, .p2_fast = 20 }, + .find_pll = intel_vlv_find_best_pll, +}; + +static const intel_limit_t intel_limits_vlv_dp = { + .dot = { .min = 25000, .max = 270000 }, + .vco = { .min = 4000000, .max = 6000000 }, + .n = { .min = 1, .max = 7 }, + .m = { .min = 22, .max = 450 }, + .m1 = { .min = 2, .max = 3 }, + .m2 = { .min = 11, .max = 156 }, + .p = { .min = 10, .max = 30 }, + .p1 = { .min = 2, .max = 3 }, + .p2 = { .dot_limit = 270000, + .p2_slow = 2, .p2_fast = 20 }, + .find_pll = intel_vlv_find_best_pll, +}; + +u32 intel_dpio_read(struct drm_i915_private *dev_priv, int reg) +{ + unsigned long flags; + u32 val = 0; + + spin_lock_irqsave(&dev_priv->dpio_lock, flags); + if (wait_for_atomic_us((I915_READ(DPIO_PKT) & DPIO_BUSY) == 0, 100)) { + DRM_ERROR("DPIO idle wait timed out\n"); + goto out_unlock; + } + + I915_WRITE(DPIO_REG, reg); + I915_WRITE(DPIO_PKT, DPIO_RID | DPIO_OP_READ | DPIO_PORTID | + DPIO_BYTE); + if (wait_for_atomic_us((I915_READ(DPIO_PKT) & DPIO_BUSY) == 0, 100)) { + DRM_ERROR("DPIO read wait timed out\n"); + goto out_unlock; + } + val = I915_READ(DPIO_DATA); + +out_unlock: + spin_unlock_irqrestore(&dev_priv->dpio_lock, flags); + return val; +} + +static void intel_dpio_write(struct drm_i915_private *dev_priv, int reg, + u32 val) +{ + unsigned long flags; + + spin_lock_irqsave(&dev_priv->dpio_lock, flags); + if (wait_for_atomic_us((I915_READ(DPIO_PKT) & DPIO_BUSY) == 0, 100)) { + DRM_ERROR("DPIO idle wait timed out\n"); + goto out_unlock; + } + + I915_WRITE(DPIO_DATA, val); + I915_WRITE(DPIO_REG, reg); + I915_WRITE(DPIO_PKT, DPIO_RID | DPIO_OP_WRITE | DPIO_PORTID | + DPIO_BYTE); + if (wait_for_atomic_us((I915_READ(DPIO_PKT) & DPIO_BUSY) == 0, 100)) + DRM_ERROR("DPIO write wait timed out\n"); + +out_unlock: + spin_unlock_irqrestore(&dev_priv->dpio_lock, flags); +} + +static void vlv_init_dpio(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* Reset the DPIO config */ + I915_WRITE(DPIO_CTL, 0); + POSTING_READ(DPIO_CTL); + I915_WRITE(DPIO_CTL, 1); + POSTING_READ(DPIO_CTL); +} + +static int intel_dual_link_lvds_callback(const struct dmi_system_id *id) +{ + DRM_INFO("Forcing lvds to dual link mode on %s\n", id->ident); + return 1; +} + +static const struct dmi_system_id intel_dual_link_lvds[] = { + { + .callback = intel_dual_link_lvds_callback, + .ident = "Apple MacBook Pro (Core i5/i7 Series)", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro8,2"), + }, + }, + { } /* terminating entry */ +}; + +static bool is_dual_link_lvds(struct drm_i915_private *dev_priv, + unsigned int reg) +{ + unsigned int val; + + /* use the module option value if specified */ + if (i915_lvds_channel_mode > 0) + return i915_lvds_channel_mode == 2; + + if (dmi_check_system(intel_dual_link_lvds)) + return true; + + if (dev_priv->lvds_val) + val = dev_priv->lvds_val; + else { + /* BIOS should set the proper LVDS register value at boot, but + * in reality, it doesn't set the value when the lid is closed; + * we need to check "the value to be set" in VBT when LVDS + * register is uninitialized. + */ + val = I915_READ(reg); + if (!(val & ~(LVDS_PIPE_MASK | LVDS_DETECTED))) + val = dev_priv->bios_lvds_val; + dev_priv->lvds_val = val; + } + return (val & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP; +} + +static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc, + int refclk) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + const intel_limit_t *limit; + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + if (is_dual_link_lvds(dev_priv, PCH_LVDS)) { + /* LVDS dual channel */ + if (refclk == 100000) + limit = &intel_limits_ironlake_dual_lvds_100m; + else + limit = &intel_limits_ironlake_dual_lvds; + } else { + if (refclk == 100000) + limit = &intel_limits_ironlake_single_lvds_100m; + else + limit = &intel_limits_ironlake_single_lvds; + } + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) || + intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP)) + limit = &intel_limits_ironlake_display_port; + else + limit = &intel_limits_ironlake_dac; + + return limit; +} + +static const intel_limit_t *intel_g4x_limit(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + const intel_limit_t *limit; + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + if (is_dual_link_lvds(dev_priv, LVDS)) + /* LVDS with dual channel */ + limit = &intel_limits_g4x_dual_channel_lvds; + else + /* LVDS with dual channel */ + limit = &intel_limits_g4x_single_channel_lvds; + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI) || + intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG)) { + limit = &intel_limits_g4x_hdmi; + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_SDVO)) { + limit = &intel_limits_g4x_sdvo; + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) { + limit = &intel_limits_g4x_display_port; + } else /* The option is for other outputs */ + limit = &intel_limits_i9xx_sdvo; + + return limit; +} + +static const intel_limit_t *intel_limit(struct drm_crtc *crtc, int refclk) +{ + struct drm_device *dev = crtc->dev; + const intel_limit_t *limit; + + if (HAS_PCH_SPLIT(dev)) + limit = intel_ironlake_limit(crtc, refclk); + else if (IS_G4X(dev)) { + limit = intel_g4x_limit(crtc); + } else if (IS_PINEVIEW(dev)) { + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) + limit = &intel_limits_pineview_lvds; + else + limit = &intel_limits_pineview_sdvo; + } else if (IS_VALLEYVIEW(dev)) { + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG)) + limit = &intel_limits_vlv_dac; + else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI)) + limit = &intel_limits_vlv_hdmi; + else + limit = &intel_limits_vlv_dp; + } else if (!IS_GEN2(dev)) { + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) + limit = &intel_limits_i9xx_lvds; + else + limit = &intel_limits_i9xx_sdvo; + } else { + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) + limit = &intel_limits_i8xx_lvds; + else + limit = &intel_limits_i8xx_dvo; + } + return limit; +} + +/* m1 is reserved as 0 in Pineview, n is a ring counter */ +static void pineview_clock(int refclk, intel_clock_t *clock) +{ + clock->m = clock->m2 + 2; + clock->p = clock->p1 * clock->p2; + clock->vco = refclk * clock->m / clock->n; + clock->dot = clock->vco / clock->p; +} + +static void intel_clock(struct drm_device *dev, int refclk, intel_clock_t *clock) +{ + if (IS_PINEVIEW(dev)) { + pineview_clock(refclk, clock); + return; + } + clock->m = 5 * (clock->m1 + 2) + (clock->m2 + 2); + clock->p = clock->p1 * clock->p2; + clock->vco = refclk * clock->m / (clock->n + 2); + clock->dot = clock->vco / clock->p; +} + +/** + * Returns whether any output on the specified pipe is of the specified type + */ +bool intel_pipe_has_type(struct drm_crtc *crtc, int type) +{ + struct drm_device *dev = crtc->dev; + struct intel_encoder *encoder; + + for_each_encoder_on_crtc(dev, crtc, encoder) + if (encoder->type == type) + return true; + + return false; +} + +#define INTELPllInvalid(s) do { /* DRM_DEBUG(s); */ return false; } while (0) +/** + * Returns whether the given set of divisors are valid for a given refclk with + * the given connectors. + */ + +static bool intel_PLL_is_valid(struct drm_device *dev, + const intel_limit_t *limit, + const intel_clock_t *clock) +{ + if (clock->p1 < limit->p1.min || limit->p1.max < clock->p1) + INTELPllInvalid("p1 out of range\n"); + if (clock->p < limit->p.min || limit->p.max < clock->p) + INTELPllInvalid("p out of range\n"); + if (clock->m2 < limit->m2.min || limit->m2.max < clock->m2) + INTELPllInvalid("m2 out of range\n"); + if (clock->m1 < limit->m1.min || limit->m1.max < clock->m1) + INTELPllInvalid("m1 out of range\n"); + if (clock->m1 <= clock->m2 && !IS_PINEVIEW(dev)) + INTELPllInvalid("m1 <= m2\n"); + if (clock->m < limit->m.min || limit->m.max < clock->m) + INTELPllInvalid("m out of range\n"); + if (clock->n < limit->n.min || limit->n.max < clock->n) + INTELPllInvalid("n out of range\n"); + if (clock->vco < limit->vco.min || limit->vco.max < clock->vco) + INTELPllInvalid("vco out of range\n"); + /* XXX: We may need to be checking "Dot clock" depending on the multiplier, + * connector, etc., rather than just a single range. + */ + if (clock->dot < limit->dot.min || limit->dot.max < clock->dot) + INTELPllInvalid("dot out of range\n"); + + return true; +} + +static bool +intel_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock) + +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + intel_clock_t clock; + int err = target; + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) && + (I915_READ(LVDS)) != 0) { + /* + * For LVDS, if the panel is on, just rely on its current + * settings for dual-channel. We haven't figured out how to + * reliably set up different single/dual channel state, if we + * even can. + */ + if (is_dual_link_lvds(dev_priv, LVDS)) + clock.p2 = limit->p2.p2_fast; + else + clock.p2 = limit->p2.p2_slow; + } else { + if (target < limit->p2.dot_limit) + clock.p2 = limit->p2.p2_slow; + else + clock.p2 = limit->p2.p2_fast; + } + + memset(best_clock, 0, sizeof(*best_clock)); + + for (clock.m1 = limit->m1.min; clock.m1 <= limit->m1.max; + clock.m1++) { + for (clock.m2 = limit->m2.min; + clock.m2 <= limit->m2.max; clock.m2++) { + /* m1 is always 0 in Pineview */ + if (clock.m2 >= clock.m1 && !IS_PINEVIEW(dev)) + break; + for (clock.n = limit->n.min; + clock.n <= limit->n.max; clock.n++) { + for (clock.p1 = limit->p1.min; + clock.p1 <= limit->p1.max; clock.p1++) { + int this_err; + + intel_clock(dev, refclk, &clock); + if (!intel_PLL_is_valid(dev, limit, + &clock)) + continue; + if (match_clock && + clock.p != match_clock->p) + continue; + + this_err = abs(clock.dot - target); + if (this_err < err) { + *best_clock = clock; + err = this_err; + } + } + } + } + } + + return (err != target); +} + +static bool +intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + intel_clock_t clock; + int max_n; + bool found; + /* approximately equals target * 0.00585 */ + int err_most = (target >> 8) + (target >> 9); + found = false; + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + int lvds_reg; + + if (HAS_PCH_SPLIT(dev)) + lvds_reg = PCH_LVDS; + else + lvds_reg = LVDS; + if ((I915_READ(lvds_reg) & LVDS_CLKB_POWER_MASK) == + LVDS_CLKB_POWER_UP) + clock.p2 = limit->p2.p2_fast; + else + clock.p2 = limit->p2.p2_slow; + } else { + if (target < limit->p2.dot_limit) + clock.p2 = limit->p2.p2_slow; + else + clock.p2 = limit->p2.p2_fast; + } + + memset(best_clock, 0, sizeof(*best_clock)); + max_n = limit->n.max; + /* based on hardware requirement, prefer smaller n to precision */ + for (clock.n = limit->n.min; clock.n <= max_n; clock.n++) { + /* based on hardware requirement, prefere larger m1,m2 */ + for (clock.m1 = limit->m1.max; + clock.m1 >= limit->m1.min; clock.m1--) { + for (clock.m2 = limit->m2.max; + clock.m2 >= limit->m2.min; clock.m2--) { + for (clock.p1 = limit->p1.max; + clock.p1 >= limit->p1.min; clock.p1--) { + int this_err; + + intel_clock(dev, refclk, &clock); + if (!intel_PLL_is_valid(dev, limit, + &clock)) + continue; + if (match_clock && + clock.p != match_clock->p) + continue; + + this_err = abs(clock.dot - target); + if (this_err < err_most) { + *best_clock = clock; + err_most = this_err; + max_n = clock.n; + found = true; + } + } + } + } + } + return found; +} + +static bool +intel_find_pll_ironlake_dp(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock) +{ + struct drm_device *dev = crtc->dev; + intel_clock_t clock; + + if (target < 200000) { + clock.n = 1; + clock.p1 = 2; + clock.p2 = 10; + clock.m1 = 12; + clock.m2 = 9; + } else { + clock.n = 2; + clock.p1 = 1; + clock.p2 = 10; + clock.m1 = 14; + clock.m2 = 8; + } + intel_clock(dev, refclk, &clock); + memcpy(best_clock, &clock, sizeof(intel_clock_t)); + return true; +} + +/* DisplayPort has only two frequencies, 162MHz and 270MHz */ +static bool +intel_find_pll_g4x_dp(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock) +{ + intel_clock_t clock; + if (target < 200000) { + clock.p1 = 2; + clock.p2 = 10; + clock.n = 2; + clock.m1 = 23; + clock.m2 = 8; + } else { + clock.p1 = 1; + clock.p2 = 10; + clock.n = 1; + clock.m1 = 14; + clock.m2 = 2; + } + clock.m = 5 * (clock.m1 + 2) + (clock.m2 + 2); + clock.p = (clock.p1 * clock.p2); + clock.dot = 96000 * clock.m / (clock.n + 2) / clock.p; + clock.vco = 0; + memcpy(best_clock, &clock, sizeof(intel_clock_t)); + return true; +} +static bool +intel_vlv_find_best_pll(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *match_clock, + intel_clock_t *best_clock) +{ + u32 p1, p2, m1, m2, vco, bestn, bestm1, bestm2, bestp1, bestp2; + u32 m, n, fastclk; + u32 updrate, minupdate, fracbits, p; + unsigned long bestppm, ppm, absppm; + int dotclk, flag; + + flag = 0; + dotclk = target * 1000; + bestppm = 1000000; + ppm = absppm = 0; + fastclk = dotclk / (2*100); + updrate = 0; + minupdate = 19200; + fracbits = 1; + n = p = p1 = p2 = m = m1 = m2 = vco = bestn = 0; + bestm1 = bestm2 = bestp1 = bestp2 = 0; + + /* based on hardware requirement, prefer smaller n to precision */ + for (n = limit->n.min; n <= ((refclk) / minupdate); n++) { + updrate = refclk / n; + for (p1 = limit->p1.max; p1 > limit->p1.min; p1--) { + for (p2 = limit->p2.p2_fast+1; p2 > 0; p2--) { + if (p2 > 10) + p2 = p2 - 1; + p = p1 * p2; + /* based on hardware requirement, prefer bigger m1,m2 values */ + for (m1 = limit->m1.min; m1 <= limit->m1.max; m1++) { + m2 = (((2*(fastclk * p * n / m1 )) + + refclk) / (2*refclk)); + m = m1 * m2; + vco = updrate * m; + if (vco >= limit->vco.min && vco < limit->vco.max) { + ppm = 1000000 * ((vco / p) - fastclk) / fastclk; + absppm = (ppm > 0) ? ppm : (-ppm); + if (absppm < 100 && ((p1 * p2) > (bestp1 * bestp2))) { + bestppm = 0; + flag = 1; + } + if (absppm < bestppm - 10) { + bestppm = absppm; + flag = 1; + } + if (flag) { + bestn = n; + bestm1 = m1; + bestm2 = m2; + bestp1 = p1; + bestp2 = p2; + flag = 0; + } + } + } + } + } + } + best_clock->n = bestn; + best_clock->m1 = bestm1; + best_clock->m2 = bestm2; + best_clock->p1 = bestp1; + best_clock->p2 = bestp2; + + return true; +} + +enum transcoder intel_pipe_to_cpu_transcoder(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe]; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + return intel_crtc->cpu_transcoder; +} + +static void ironlake_wait_for_vblank(struct drm_device *dev, int pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 frame, frame_reg = PIPEFRAME(pipe); + + frame = I915_READ(frame_reg); + + if (wait_for(I915_READ_NOTRACE(frame_reg) != frame, 50)) + DRM_DEBUG_KMS("vblank wait timed out\n"); +} + +/** + * intel_wait_for_vblank - wait for vblank on a given pipe + * @dev: drm device + * @pipe: pipe to wait for + * + * Wait for vblank to occur on a given pipe. Needed for various bits of + * mode setting code. + */ +void intel_wait_for_vblank(struct drm_device *dev, int pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int pipestat_reg = PIPESTAT(pipe); + + if (INTEL_INFO(dev)->gen >= 5) { + ironlake_wait_for_vblank(dev, pipe); + return; + } + + /* Clear existing vblank status. Note this will clear any other + * sticky status fields as well. + * + * This races with i915_driver_irq_handler() with the result + * that either function could miss a vblank event. Here it is not + * fatal, as we will either wait upon the next vblank interrupt or + * timeout. Generally speaking intel_wait_for_vblank() is only + * called during modeset at which time the GPU should be idle and + * should *not* be performing page flips and thus not waiting on + * vblanks... + * Currently, the result of us stealing a vblank from the irq + * handler is that a single frame will be skipped during swapbuffers. + */ + I915_WRITE(pipestat_reg, + I915_READ(pipestat_reg) | PIPE_VBLANK_INTERRUPT_STATUS); + + /* Wait for vblank interrupt bit to set */ + if (wait_for(I915_READ(pipestat_reg) & + PIPE_VBLANK_INTERRUPT_STATUS, + 50)) + DRM_DEBUG_KMS("vblank wait timed out\n"); +} + +/* + * intel_wait_for_pipe_off - wait for pipe to turn off + * @dev: drm device + * @pipe: pipe to wait for + * + * After disabling a pipe, we can't wait for vblank in the usual way, + * spinning on the vblank interrupt status bit, since we won't actually + * see an interrupt when the pipe is disabled. + * + * On Gen4 and above: + * wait for the pipe register state bit to turn off + * + * Otherwise: + * wait for the display line value to settle (it usually + * ends up stopping at the start of the next frame). + * + */ +void intel_wait_for_pipe_off(struct drm_device *dev, int pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + + if (INTEL_INFO(dev)->gen >= 4) { + int reg = PIPECONF(cpu_transcoder); + + /* Wait for the Pipe State to go off */ + if (wait_for((I915_READ(reg) & I965_PIPECONF_ACTIVE) == 0, + 100)) + WARN(1, "pipe_off wait timed out\n"); + } else { + u32 last_line, line_mask; + int reg = PIPEDSL(pipe); + unsigned long timeout = jiffies + msecs_to_jiffies(100); + + if (IS_GEN2(dev)) + line_mask = DSL_LINEMASK_GEN2; + else + line_mask = DSL_LINEMASK_GEN3; + + /* Wait for the display line to settle */ + do { + last_line = I915_READ(reg) & line_mask; + mdelay(5); + } while (((I915_READ(reg) & line_mask) != last_line) && + time_after(timeout, jiffies)); + if (time_after(jiffies, timeout)) + WARN(1, "pipe_off wait timed out\n"); + } +} + +static const char *state_string(bool enabled) +{ + return enabled ? "on" : "off"; +} + +/* Only for pre-ILK configs */ +static void assert_pll(struct drm_i915_private *dev_priv, + enum pipe pipe, bool state) +{ + int reg; + u32 val; + bool cur_state; + + reg = DPLL(pipe); + val = I915_READ(reg); + cur_state = !!(val & DPLL_VCO_ENABLE); + WARN(cur_state != state, + "PLL state assertion failure (expected %s, current %s)\n", + state_string(state), state_string(cur_state)); +} +#define assert_pll_enabled(d, p) assert_pll(d, p, true) +#define assert_pll_disabled(d, p) assert_pll(d, p, false) + +/* For ILK+ */ +static void assert_pch_pll(struct drm_i915_private *dev_priv, + struct intel_pch_pll *pll, + struct intel_crtc *crtc, + bool state) +{ + u32 val; + bool cur_state; + + if (HAS_PCH_LPT(dev_priv->dev)) { + DRM_DEBUG_DRIVER("LPT detected: skipping PCH PLL test\n"); + return; + } + + if (WARN (!pll, + "asserting PCH PLL %s with no PLL\n", state_string(state))) + return; + + val = I915_READ(pll->pll_reg); + cur_state = !!(val & DPLL_VCO_ENABLE); + WARN(cur_state != state, + "PCH PLL state for reg %x assertion failure (expected %s, current %s), val=%08x\n", + pll->pll_reg, state_string(state), state_string(cur_state), val); + + /* Make sure the selected PLL is correctly attached to the transcoder */ + if (crtc && HAS_PCH_CPT(dev_priv->dev)) { + u32 pch_dpll; + + pch_dpll = I915_READ(PCH_DPLL_SEL); + cur_state = pll->pll_reg == _PCH_DPLL_B; + if (!WARN(((pch_dpll >> (4 * crtc->pipe)) & 1) != cur_state, + "PLL[%d] not attached to this transcoder %d: %08x\n", + cur_state, crtc->pipe, pch_dpll)) { + cur_state = !!(val >> (4*crtc->pipe + 3)); + WARN(cur_state != state, + "PLL[%d] not %s on this transcoder %d: %08x\n", + pll->pll_reg == _PCH_DPLL_B, + state_string(state), + crtc->pipe, + val); + } + } +} +#define assert_pch_pll_enabled(d, p, c) assert_pch_pll(d, p, c, true) +#define assert_pch_pll_disabled(d, p, c) assert_pch_pll(d, p, c, false) + +static void assert_fdi_tx(struct drm_i915_private *dev_priv, + enum pipe pipe, bool state) +{ + int reg; + u32 val; + bool cur_state; + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + + if (IS_HASWELL(dev_priv->dev)) { + /* On Haswell, DDI is used instead of FDI_TX_CTL */ + reg = TRANS_DDI_FUNC_CTL(cpu_transcoder); + val = I915_READ(reg); + cur_state = !!(val & TRANS_DDI_FUNC_ENABLE); + } else { + reg = FDI_TX_CTL(pipe); + val = I915_READ(reg); + cur_state = !!(val & FDI_TX_ENABLE); + } + WARN(cur_state != state, + "FDI TX state assertion failure (expected %s, current %s)\n", + state_string(state), state_string(cur_state)); +} +#define assert_fdi_tx_enabled(d, p) assert_fdi_tx(d, p, true) +#define assert_fdi_tx_disabled(d, p) assert_fdi_tx(d, p, false) + +static void assert_fdi_rx(struct drm_i915_private *dev_priv, + enum pipe pipe, bool state) +{ + int reg; + u32 val; + bool cur_state; + + reg = FDI_RX_CTL(pipe); + val = I915_READ(reg); + cur_state = !!(val & FDI_RX_ENABLE); + WARN(cur_state != state, + "FDI RX state assertion failure (expected %s, current %s)\n", + state_string(state), state_string(cur_state)); +} +#define assert_fdi_rx_enabled(d, p) assert_fdi_rx(d, p, true) +#define assert_fdi_rx_disabled(d, p) assert_fdi_rx(d, p, false) + +static void assert_fdi_tx_pll_enabled(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + int reg; + u32 val; + + /* ILK FDI PLL is always enabled */ + if (dev_priv->info->gen == 5) + return; + + /* On Haswell, DDI ports are responsible for the FDI PLL setup */ + if (IS_HASWELL(dev_priv->dev)) + return; + + reg = FDI_TX_CTL(pipe); + val = I915_READ(reg); + WARN(!(val & FDI_TX_PLL_ENABLE), "FDI TX PLL assertion failure, should be active but is disabled\n"); +} + +static void assert_fdi_rx_pll_enabled(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + int reg; + u32 val; + + reg = FDI_RX_CTL(pipe); + val = I915_READ(reg); + WARN(!(val & FDI_RX_PLL_ENABLE), "FDI RX PLL assertion failure, should be active but is disabled\n"); +} + +static void assert_panel_unlocked(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + int pp_reg, lvds_reg; + u32 val; + enum pipe panel_pipe = PIPE_A; + bool locked = true; + + if (HAS_PCH_SPLIT(dev_priv->dev)) { + pp_reg = PCH_PP_CONTROL; + lvds_reg = PCH_LVDS; + } else { + pp_reg = PP_CONTROL; + lvds_reg = LVDS; + } + + val = I915_READ(pp_reg); + if (!(val & PANEL_POWER_ON) || + ((val & PANEL_UNLOCK_REGS) == PANEL_UNLOCK_REGS)) + locked = false; + + if (I915_READ(lvds_reg) & LVDS_PIPEB_SELECT) + panel_pipe = PIPE_B; + + WARN(panel_pipe == pipe && locked, + "panel assertion failure, pipe %c regs locked\n", + pipe_name(pipe)); +} + +void assert_pipe(struct drm_i915_private *dev_priv, + enum pipe pipe, bool state) +{ + int reg; + u32 val; + bool cur_state; + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + + /* if we need the pipe A quirk it must be always on */ + if (pipe == PIPE_A && dev_priv->quirks & QUIRK_PIPEA_FORCE) + state = true; + + reg = PIPECONF(cpu_transcoder); + val = I915_READ(reg); + cur_state = !!(val & PIPECONF_ENABLE); + WARN(cur_state != state, + "pipe %c assertion failure (expected %s, current %s)\n", + pipe_name(pipe), state_string(state), state_string(cur_state)); +} + +static void assert_plane(struct drm_i915_private *dev_priv, + enum plane plane, bool state) +{ + int reg; + u32 val; + bool cur_state; + + reg = DSPCNTR(plane); + val = I915_READ(reg); + cur_state = !!(val & DISPLAY_PLANE_ENABLE); + WARN(cur_state != state, + "plane %c assertion failure (expected %s, current %s)\n", + plane_name(plane), state_string(state), state_string(cur_state)); +} + +#define assert_plane_enabled(d, p) assert_plane(d, p, true) +#define assert_plane_disabled(d, p) assert_plane(d, p, false) + +static void assert_planes_disabled(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + int reg, i; + u32 val; + int cur_pipe; + + /* Planes are fixed to pipes on ILK+ */ + if (HAS_PCH_SPLIT(dev_priv->dev)) { + reg = DSPCNTR(pipe); + val = I915_READ(reg); + WARN((val & DISPLAY_PLANE_ENABLE), + "plane %c assertion failure, should be disabled but not\n", + plane_name(pipe)); + return; + } + + /* Need to check both planes against the pipe */ + for (i = 0; i < 2; i++) { + reg = DSPCNTR(i); + val = I915_READ(reg); + cur_pipe = (val & DISPPLANE_SEL_PIPE_MASK) >> + DISPPLANE_SEL_PIPE_SHIFT; + WARN((val & DISPLAY_PLANE_ENABLE) && pipe == cur_pipe, + "plane %c assertion failure, should be off on pipe %c but is still active\n", + plane_name(i), pipe_name(pipe)); + } +} + +static void assert_pch_refclk_enabled(struct drm_i915_private *dev_priv) +{ + u32 val; + bool enabled; + + if (HAS_PCH_LPT(dev_priv->dev)) { + DRM_DEBUG_DRIVER("LPT does not has PCH refclk, skipping check\n"); + return; + } + + val = I915_READ(PCH_DREF_CONTROL); + enabled = !!(val & (DREF_SSC_SOURCE_MASK | DREF_NONSPREAD_SOURCE_MASK | + DREF_SUPERSPREAD_SOURCE_MASK)); + WARN(!enabled, "PCH refclk assertion failure, should be active but is disabled\n"); +} + +static void assert_transcoder_disabled(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + int reg; + u32 val; + bool enabled; + + reg = TRANSCONF(pipe); + val = I915_READ(reg); + enabled = !!(val & TRANS_ENABLE); + WARN(enabled, + "transcoder assertion failed, should be off on pipe %c but is still active\n", + pipe_name(pipe)); +} + +static bool dp_pipe_enabled(struct drm_i915_private *dev_priv, + enum pipe pipe, u32 port_sel, u32 val) +{ + if ((val & DP_PORT_EN) == 0) + return false; + + if (HAS_PCH_CPT(dev_priv->dev)) { + u32 trans_dp_ctl_reg = TRANS_DP_CTL(pipe); + u32 trans_dp_ctl = I915_READ(trans_dp_ctl_reg); + if ((trans_dp_ctl & TRANS_DP_PORT_SEL_MASK) != port_sel) + return false; + } else { + if ((val & DP_PIPE_MASK) != (pipe << 30)) + return false; + } + return true; +} + +static bool hdmi_pipe_enabled(struct drm_i915_private *dev_priv, + enum pipe pipe, u32 val) +{ + if ((val & PORT_ENABLE) == 0) + return false; + + if (HAS_PCH_CPT(dev_priv->dev)) { + if ((val & PORT_TRANS_SEL_MASK) != PORT_TRANS_SEL_CPT(pipe)) + return false; + } else { + if ((val & TRANSCODER_MASK) != TRANSCODER(pipe)) + return false; + } + return true; +} + +static bool lvds_pipe_enabled(struct drm_i915_private *dev_priv, + enum pipe pipe, u32 val) +{ + if ((val & LVDS_PORT_EN) == 0) + return false; + + if (HAS_PCH_CPT(dev_priv->dev)) { + if ((val & PORT_TRANS_SEL_MASK) != PORT_TRANS_SEL_CPT(pipe)) + return false; + } else { + if ((val & LVDS_PIPE_MASK) != LVDS_PIPE(pipe)) + return false; + } + return true; +} + +static bool adpa_pipe_enabled(struct drm_i915_private *dev_priv, + enum pipe pipe, u32 val) +{ + if ((val & ADPA_DAC_ENABLE) == 0) + return false; + if (HAS_PCH_CPT(dev_priv->dev)) { + if ((val & PORT_TRANS_SEL_MASK) != PORT_TRANS_SEL_CPT(pipe)) + return false; + } else { + if ((val & ADPA_PIPE_SELECT_MASK) != ADPA_PIPE_SELECT(pipe)) + return false; + } + return true; +} + +static void assert_pch_dp_disabled(struct drm_i915_private *dev_priv, + enum pipe pipe, int reg, u32 port_sel) +{ + u32 val = I915_READ(reg); + WARN(dp_pipe_enabled(dev_priv, pipe, port_sel, val), + "PCH DP (0x%08x) enabled on transcoder %c, should be disabled\n", + reg, pipe_name(pipe)); + + WARN(HAS_PCH_IBX(dev_priv->dev) && (val & DP_PORT_EN) == 0 + && (val & DP_PIPEB_SELECT), + "IBX PCH dp port still using transcoder B\n"); +} + +static void assert_pch_hdmi_disabled(struct drm_i915_private *dev_priv, + enum pipe pipe, int reg) +{ + u32 val = I915_READ(reg); + WARN(hdmi_pipe_enabled(dev_priv, pipe, val), + "PCH HDMI (0x%08x) enabled on transcoder %c, should be disabled\n", + reg, pipe_name(pipe)); + + WARN(HAS_PCH_IBX(dev_priv->dev) && (val & PORT_ENABLE) == 0 + && (val & SDVO_PIPE_B_SELECT), + "IBX PCH hdmi port still using transcoder B\n"); +} + +static void assert_pch_ports_disabled(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + int reg; + u32 val; + + assert_pch_dp_disabled(dev_priv, pipe, PCH_DP_B, TRANS_DP_PORT_SEL_B); + assert_pch_dp_disabled(dev_priv, pipe, PCH_DP_C, TRANS_DP_PORT_SEL_C); + assert_pch_dp_disabled(dev_priv, pipe, PCH_DP_D, TRANS_DP_PORT_SEL_D); + + reg = PCH_ADPA; + val = I915_READ(reg); + WARN(adpa_pipe_enabled(dev_priv, pipe, val), + "PCH VGA enabled on transcoder %c, should be disabled\n", + pipe_name(pipe)); + + reg = PCH_LVDS; + val = I915_READ(reg); + WARN(lvds_pipe_enabled(dev_priv, pipe, val), + "PCH LVDS enabled on transcoder %c, should be disabled\n", + pipe_name(pipe)); + + assert_pch_hdmi_disabled(dev_priv, pipe, HDMIB); + assert_pch_hdmi_disabled(dev_priv, pipe, HDMIC); + assert_pch_hdmi_disabled(dev_priv, pipe, HDMID); +} + +/** + * intel_enable_pll - enable a PLL + * @dev_priv: i915 private structure + * @pipe: pipe PLL to enable + * + * Enable @pipe's PLL so we can start pumping pixels from a plane. Check to + * make sure the PLL reg is writable first though, since the panel write + * protect mechanism may be enabled. + * + * Note! This is for pre-ILK only. + * + * Unfortunately needed by dvo_ns2501 since the dvo depends on it running. + */ +static void intel_enable_pll(struct drm_i915_private *dev_priv, enum pipe pipe) +{ + int reg; + u32 val; + + /* No really, not for ILK+ */ + BUG_ON(!IS_VALLEYVIEW(dev_priv->dev) && dev_priv->info->gen >= 5); + + /* PLL is protected by panel, make sure we can write it */ + if (IS_MOBILE(dev_priv->dev) && !IS_I830(dev_priv->dev)) + assert_panel_unlocked(dev_priv, pipe); + + reg = DPLL(pipe); + val = I915_READ(reg); + val |= DPLL_VCO_ENABLE; + + /* We do this three times for luck */ + I915_WRITE(reg, val); + POSTING_READ(reg); + udelay(150); /* wait for warmup */ + I915_WRITE(reg, val); + POSTING_READ(reg); + udelay(150); /* wait for warmup */ + I915_WRITE(reg, val); + POSTING_READ(reg); + udelay(150); /* wait for warmup */ +} + +/** + * intel_disable_pll - disable a PLL + * @dev_priv: i915 private structure + * @pipe: pipe PLL to disable + * + * Disable the PLL for @pipe, making sure the pipe is off first. + * + * Note! This is for pre-ILK only. + */ +static void intel_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe) +{ + int reg; + u32 val; + + /* Don't disable pipe A or pipe A PLLs if needed */ + if (pipe == PIPE_A && (dev_priv->quirks & QUIRK_PIPEA_FORCE)) + return; + + /* Make sure the pipe isn't still relying on us */ + assert_pipe_disabled(dev_priv, pipe); + + reg = DPLL(pipe); + val = I915_READ(reg); + val &= ~DPLL_VCO_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); +} + +/* SBI access */ +static void +intel_sbi_write(struct drm_i915_private *dev_priv, u16 reg, u32 value, + enum intel_sbi_destination destination) +{ + unsigned long flags; + u32 tmp; + + spin_lock_irqsave(&dev_priv->dpio_lock, flags); + if (wait_for((I915_READ(SBI_CTL_STAT) & SBI_BUSY) == 0, 100)) { + DRM_ERROR("timeout waiting for SBI to become ready\n"); + goto out_unlock; + } + + I915_WRITE(SBI_ADDR, (reg << 16)); + I915_WRITE(SBI_DATA, value); + + if (destination == SBI_ICLK) + tmp = SBI_CTL_DEST_ICLK | SBI_CTL_OP_CRWR; + else + tmp = SBI_CTL_DEST_MPHY | SBI_CTL_OP_IOWR; + I915_WRITE(SBI_CTL_STAT, SBI_BUSY | tmp); + + if (wait_for((I915_READ(SBI_CTL_STAT) & (SBI_BUSY | SBI_RESPONSE_FAIL)) == 0, + 100)) { + DRM_ERROR("timeout waiting for SBI to complete write transaction\n"); + goto out_unlock; + } + +out_unlock: + spin_unlock_irqrestore(&dev_priv->dpio_lock, flags); +} + +static u32 +intel_sbi_read(struct drm_i915_private *dev_priv, u16 reg, + enum intel_sbi_destination destination) +{ + unsigned long flags; + u32 value = 0; + + spin_lock_irqsave(&dev_priv->dpio_lock, flags); + if (wait_for((I915_READ(SBI_CTL_STAT) & SBI_BUSY) == 0, 100)) { + DRM_ERROR("timeout waiting for SBI to become ready\n"); + goto out_unlock; + } + + I915_WRITE(SBI_ADDR, (reg << 16)); + + if (destination == SBI_ICLK) + value = SBI_CTL_DEST_ICLK | SBI_CTL_OP_CRRD; + else + value = SBI_CTL_DEST_MPHY | SBI_CTL_OP_IORD; + I915_WRITE(SBI_CTL_STAT, value | SBI_BUSY); + + if (wait_for((I915_READ(SBI_CTL_STAT) & (SBI_BUSY | SBI_RESPONSE_FAIL)) == 0, + 100)) { + DRM_ERROR("timeout waiting for SBI to complete read transaction\n"); + goto out_unlock; + } + + value = I915_READ(SBI_DATA); + +out_unlock: + spin_unlock_irqrestore(&dev_priv->dpio_lock, flags); + return value; +} + +/** + * ironlake_enable_pch_pll - enable PCH PLL + * @dev_priv: i915 private structure + * @pipe: pipe PLL to enable + * + * The PCH PLL needs to be enabled before the PCH transcoder, since it + * drives the transcoder clock. + */ +static void ironlake_enable_pch_pll(struct intel_crtc *intel_crtc) +{ + struct drm_i915_private *dev_priv = intel_crtc->base.dev->dev_private; + struct intel_pch_pll *pll; + int reg; + u32 val; + + /* PCH PLLs only available on ILK, SNB and IVB */ + BUG_ON(dev_priv->info->gen < 5); + pll = intel_crtc->pch_pll; + if (pll == NULL) + return; + + if (WARN_ON(pll->refcount == 0)) + return; + + DRM_DEBUG_KMS("enable PCH PLL %x (active %d, on? %d)for crtc %d\n", + pll->pll_reg, pll->active, pll->on, + intel_crtc->base.base.id); + + /* PCH refclock must be enabled first */ + assert_pch_refclk_enabled(dev_priv); + + if (pll->active++ && pll->on) { + assert_pch_pll_enabled(dev_priv, pll, NULL); + return; + } + + DRM_DEBUG_KMS("enabling PCH PLL %x\n", pll->pll_reg); + + reg = pll->pll_reg; + val = I915_READ(reg); + val |= DPLL_VCO_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); + udelay(200); + + pll->on = true; +} + +static void intel_disable_pch_pll(struct intel_crtc *intel_crtc) +{ + struct drm_i915_private *dev_priv = intel_crtc->base.dev->dev_private; + struct intel_pch_pll *pll = intel_crtc->pch_pll; + int reg; + u32 val; + + /* PCH only available on ILK+ */ + BUG_ON(dev_priv->info->gen < 5); + if (pll == NULL) + return; + + if (WARN_ON(pll->refcount == 0)) + return; + + DRM_DEBUG_KMS("disable PCH PLL %x (active %d, on? %d) for crtc %d\n", + pll->pll_reg, pll->active, pll->on, + intel_crtc->base.base.id); + + if (WARN_ON(pll->active == 0)) { + assert_pch_pll_disabled(dev_priv, pll, NULL); + return; + } + + if (--pll->active) { + assert_pch_pll_enabled(dev_priv, pll, NULL); + return; + } + + DRM_DEBUG_KMS("disabling PCH PLL %x\n", pll->pll_reg); + + /* Make sure transcoder isn't still depending on us */ + assert_transcoder_disabled(dev_priv, intel_crtc->pipe); + + reg = pll->pll_reg; + val = I915_READ(reg); + val &= ~DPLL_VCO_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); + udelay(200); + + pll->on = false; +} + +static void ironlake_enable_pch_transcoder(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + struct drm_device *dev = dev_priv->dev; + struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe]; + uint32_t reg, val, pipeconf_val; + + /* PCH only available on ILK+ */ + BUG_ON(dev_priv->info->gen < 5); + + /* Make sure PCH DPLL is enabled */ + assert_pch_pll_enabled(dev_priv, + to_intel_crtc(crtc)->pch_pll, + to_intel_crtc(crtc)); + + /* FDI must be feeding us bits for PCH ports */ + assert_fdi_tx_enabled(dev_priv, pipe); + assert_fdi_rx_enabled(dev_priv, pipe); + + if (HAS_PCH_CPT(dev)) { + /* Workaround: Set the timing override bit before enabling the + * pch transcoder. */ + reg = TRANS_CHICKEN2(pipe); + val = I915_READ(reg); + val |= TRANS_CHICKEN2_TIMING_OVERRIDE; + I915_WRITE(reg, val); + } + + reg = TRANSCONF(pipe); + val = I915_READ(reg); + pipeconf_val = I915_READ(PIPECONF(pipe)); + + if (HAS_PCH_IBX(dev_priv->dev)) { + /* + * make the BPC in transcoder be consistent with + * that in pipeconf reg. + */ + val &= ~PIPE_BPC_MASK; + val |= pipeconf_val & PIPE_BPC_MASK; + } + + val &= ~TRANS_INTERLACE_MASK; + if ((pipeconf_val & PIPECONF_INTERLACE_MASK) == PIPECONF_INTERLACED_ILK) + if (HAS_PCH_IBX(dev_priv->dev) && + intel_pipe_has_type(crtc, INTEL_OUTPUT_SDVO)) + val |= TRANS_LEGACY_INTERLACED_ILK; + else + val |= TRANS_INTERLACED; + else + val |= TRANS_PROGRESSIVE; + + I915_WRITE(reg, val | TRANS_ENABLE); + if (wait_for(I915_READ(reg) & TRANS_STATE_ENABLE, 100)) + DRM_ERROR("failed to enable transcoder %d\n", pipe); +} + +static void lpt_enable_pch_transcoder(struct drm_i915_private *dev_priv, + enum transcoder cpu_transcoder) +{ + u32 val, pipeconf_val; + + /* PCH only available on ILK+ */ + BUG_ON(dev_priv->info->gen < 5); + + /* FDI must be feeding us bits for PCH ports */ + assert_fdi_tx_enabled(dev_priv, cpu_transcoder); + assert_fdi_rx_enabled(dev_priv, TRANSCODER_A); + + /* Workaround: set timing override bit. */ + val = I915_READ(_TRANSA_CHICKEN2); + val |= TRANS_CHICKEN2_TIMING_OVERRIDE; + I915_WRITE(_TRANSA_CHICKEN2, val); + + val = TRANS_ENABLE; + pipeconf_val = I915_READ(PIPECONF(cpu_transcoder)); + + if ((pipeconf_val & PIPECONF_INTERLACE_MASK_HSW) == + PIPECONF_INTERLACED_ILK) + val |= TRANS_INTERLACED; + else + val |= TRANS_PROGRESSIVE; + + I915_WRITE(TRANSCONF(TRANSCODER_A), val); + if (wait_for(I915_READ(_TRANSACONF) & TRANS_STATE_ENABLE, 100)) + DRM_ERROR("Failed to enable PCH transcoder\n"); +} + +static void ironlake_disable_pch_transcoder(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + struct drm_device *dev = dev_priv->dev; + uint32_t reg, val; + + /* FDI relies on the transcoder */ + assert_fdi_tx_disabled(dev_priv, pipe); + assert_fdi_rx_disabled(dev_priv, pipe); + + /* Ports must be off as well */ + assert_pch_ports_disabled(dev_priv, pipe); + + reg = TRANSCONF(pipe); + val = I915_READ(reg); + val &= ~TRANS_ENABLE; + I915_WRITE(reg, val); + /* wait for PCH transcoder off, transcoder state */ + if (wait_for((I915_READ(reg) & TRANS_STATE_ENABLE) == 0, 50)) + DRM_ERROR("failed to disable transcoder %d\n", pipe); + + if (!HAS_PCH_IBX(dev)) { + /* Workaround: Clear the timing override chicken bit again. */ + reg = TRANS_CHICKEN2(pipe); + val = I915_READ(reg); + val &= ~TRANS_CHICKEN2_TIMING_OVERRIDE; + I915_WRITE(reg, val); + } +} + +static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv) +{ + u32 val; + + val = I915_READ(_TRANSACONF); + val &= ~TRANS_ENABLE; + I915_WRITE(_TRANSACONF, val); + /* wait for PCH transcoder off, transcoder state */ + if (wait_for((I915_READ(_TRANSACONF) & TRANS_STATE_ENABLE) == 0, 50)) + DRM_ERROR("Failed to disable PCH transcoder\n"); + + /* Workaround: clear timing override bit. */ + val = I915_READ(_TRANSA_CHICKEN2); + val &= ~TRANS_CHICKEN2_TIMING_OVERRIDE; + I915_WRITE(_TRANSA_CHICKEN2, val); +} + +/** + * intel_enable_pipe - enable a pipe, asserting requirements + * @dev_priv: i915 private structure + * @pipe: pipe to enable + * @pch_port: on ILK+, is this pipe driving a PCH port or not + * + * Enable @pipe, making sure that various hardware specific requirements + * are met, if applicable, e.g. PLL enabled, LVDS pairs enabled, etc. + * + * @pipe should be %PIPE_A or %PIPE_B. + * + * Will wait until the pipe is actually running (i.e. first vblank) before + * returning. + */ +static void intel_enable_pipe(struct drm_i915_private *dev_priv, enum pipe pipe, + bool pch_port) +{ + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + enum transcoder pch_transcoder; + int reg; + u32 val; + + if (IS_HASWELL(dev_priv->dev)) + pch_transcoder = TRANSCODER_A; + else + pch_transcoder = pipe; + + /* + * A pipe without a PLL won't actually be able to drive bits from + * a plane. On ILK+ the pipe PLLs are integrated, so we don't + * need the check. + */ + if (!HAS_PCH_SPLIT(dev_priv->dev)) + assert_pll_enabled(dev_priv, pipe); + else { + if (pch_port) { + /* if driving the PCH, we need FDI enabled */ + assert_fdi_rx_pll_enabled(dev_priv, pch_transcoder); + assert_fdi_tx_pll_enabled(dev_priv, cpu_transcoder); + } + /* FIXME: assert CPU port conditions for SNB+ */ + } + + reg = PIPECONF(cpu_transcoder); + val = I915_READ(reg); + if (val & PIPECONF_ENABLE) + return; + + I915_WRITE(reg, val | PIPECONF_ENABLE); + intel_wait_for_vblank(dev_priv->dev, pipe); +} + +/** + * intel_disable_pipe - disable a pipe, asserting requirements + * @dev_priv: i915 private structure + * @pipe: pipe to disable + * + * Disable @pipe, making sure that various hardware specific requirements + * are met, if applicable, e.g. plane disabled, panel fitter off, etc. + * + * @pipe should be %PIPE_A or %PIPE_B. + * + * Will wait until the pipe has shut down before returning. + */ +static void intel_disable_pipe(struct drm_i915_private *dev_priv, + enum pipe pipe) +{ + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + int reg; + u32 val; + + /* + * Make sure planes won't keep trying to pump pixels to us, + * or we might hang the display. + */ + assert_planes_disabled(dev_priv, pipe); + + /* Don't disable pipe A or pipe A PLLs if needed */ + if (pipe == PIPE_A && (dev_priv->quirks & QUIRK_PIPEA_FORCE)) + return; + + reg = PIPECONF(cpu_transcoder); + val = I915_READ(reg); + if ((val & PIPECONF_ENABLE) == 0) + return; + + I915_WRITE(reg, val & ~PIPECONF_ENABLE); + intel_wait_for_pipe_off(dev_priv->dev, pipe); +} + +/* + * Plane regs are double buffered, going from enabled->disabled needs a + * trigger in order to latch. The display address reg provides this. + */ +void intel_flush_display_plane(struct drm_i915_private *dev_priv, + enum plane plane) +{ + if (dev_priv->info->gen >= 4) + I915_WRITE(DSPSURF(plane), I915_READ(DSPSURF(plane))); + else + I915_WRITE(DSPADDR(plane), I915_READ(DSPADDR(plane))); +} + +/** + * intel_enable_plane - enable a display plane on a given pipe + * @dev_priv: i915 private structure + * @plane: plane to enable + * @pipe: pipe being fed + * + * Enable @plane on @pipe, making sure that @pipe is running first. + */ +static void intel_enable_plane(struct drm_i915_private *dev_priv, + enum plane plane, enum pipe pipe) +{ + int reg; + u32 val; + + /* If the pipe isn't enabled, we can't pump pixels and may hang */ + assert_pipe_enabled(dev_priv, pipe); + + reg = DSPCNTR(plane); + val = I915_READ(reg); + if (val & DISPLAY_PLANE_ENABLE) + return; + + I915_WRITE(reg, val | DISPLAY_PLANE_ENABLE); + intel_flush_display_plane(dev_priv, plane); + intel_wait_for_vblank(dev_priv->dev, pipe); +} + +/** + * intel_disable_plane - disable a display plane + * @dev_priv: i915 private structure + * @plane: plane to disable + * @pipe: pipe consuming the data + * + * Disable @plane; should be an independent operation. + */ +static void intel_disable_plane(struct drm_i915_private *dev_priv, + enum plane plane, enum pipe pipe) +{ + int reg; + u32 val; + + reg = DSPCNTR(plane); + val = I915_READ(reg); + if ((val & DISPLAY_PLANE_ENABLE) == 0) + return; + + I915_WRITE(reg, val & ~DISPLAY_PLANE_ENABLE); + intel_flush_display_plane(dev_priv, plane); + intel_wait_for_vblank(dev_priv->dev, pipe); +} + +int +intel_pin_and_fence_fb_obj(struct drm_device *dev, + struct drm_i915_gem_object *obj, + struct intel_ring_buffer *pipelined) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 alignment; + int ret; + + switch (obj->tiling_mode) { + case I915_TILING_NONE: + if (IS_BROADWATER(dev) || IS_CRESTLINE(dev)) + alignment = 128 * 1024; + else if (INTEL_INFO(dev)->gen >= 4) + alignment = 4 * 1024; + else + alignment = 64 * 1024; + break; + case I915_TILING_X: + /* pin() will align the object as required by fence */ + alignment = 0; + break; + case I915_TILING_Y: + /* FIXME: Is this true? */ + DRM_ERROR("Y tiled not allowed for scan out buffers\n"); + return -EINVAL; + default: + BUG(); + } + + dev_priv->mm.interruptible = false; + ret = i915_gem_object_pin_to_display_plane(obj, alignment, pipelined); + if (ret) + goto err_interruptible; + + /* Install a fence for tiled scan-out. Pre-i965 always needs a + * fence, whereas 965+ only requires a fence if using + * framebuffer compression. For simplicity, we always install + * a fence as the cost is not that onerous. + */ + ret = i915_gem_object_get_fence(obj); + if (ret) + goto err_unpin; + + i915_gem_object_pin_fence(obj); + + dev_priv->mm.interruptible = true; + return 0; + +err_unpin: + i915_gem_object_unpin(obj); +err_interruptible: + dev_priv->mm.interruptible = true; + return ret; +} + +void intel_unpin_fb_obj(struct drm_i915_gem_object *obj) +{ + i915_gem_object_unpin_fence(obj); + i915_gem_object_unpin(obj); +} + +/* Computes the linear offset to the base tile and adjusts x, y. bytes per pixel + * is assumed to be a power-of-two. */ +unsigned long intel_gen4_compute_offset_xtiled(int *x, int *y, + unsigned int bpp, + unsigned int pitch) +{ + int tile_rows, tiles; + + tile_rows = *y / 8; + *y %= 8; + tiles = *x / (512/bpp); + *x %= 512/bpp; + + return tile_rows * pitch * 8 + tiles * 4096; +} + +static int i9xx_update_plane(struct drm_crtc *crtc, struct drm_framebuffer *fb, + int x, int y) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_framebuffer *intel_fb; + struct drm_i915_gem_object *obj; + int plane = intel_crtc->plane; + unsigned long linear_offset; + u32 dspcntr; + u32 reg; + + switch (plane) { + case 0: + case 1: + break; + default: + DRM_ERROR("Can't update plane %d in SAREA\n", plane); + return -EINVAL; + } + + intel_fb = to_intel_framebuffer(fb); + obj = intel_fb->obj; + + reg = DSPCNTR(plane); + dspcntr = I915_READ(reg); + /* Mask out pixel format bits in case we change it */ + dspcntr &= ~DISPPLANE_PIXFORMAT_MASK; + switch (fb->pixel_format) { + case DRM_FORMAT_C8: + dspcntr |= DISPPLANE_8BPP; + break; + case DRM_FORMAT_XRGB1555: + case DRM_FORMAT_ARGB1555: + dspcntr |= DISPPLANE_BGRX555; + break; + case DRM_FORMAT_RGB565: + dspcntr |= DISPPLANE_BGRX565; + break; + case DRM_FORMAT_XRGB8888: + case DRM_FORMAT_ARGB8888: + dspcntr |= DISPPLANE_BGRX888; + break; + case DRM_FORMAT_XBGR8888: + case DRM_FORMAT_ABGR8888: + dspcntr |= DISPPLANE_RGBX888; + break; + case DRM_FORMAT_XRGB2101010: + case DRM_FORMAT_ARGB2101010: + dspcntr |= DISPPLANE_BGRX101010; + break; + case DRM_FORMAT_XBGR2101010: + case DRM_FORMAT_ABGR2101010: + dspcntr |= DISPPLANE_RGBX101010; + break; + default: + DRM_ERROR("Unknown pixel format 0x%08x\n", fb->pixel_format); + return -EINVAL; + } + + if (INTEL_INFO(dev)->gen >= 4) { + if (obj->tiling_mode != I915_TILING_NONE) + dspcntr |= DISPPLANE_TILED; + else + dspcntr &= ~DISPPLANE_TILED; + } + + I915_WRITE(reg, dspcntr); + + linear_offset = y * fb->pitches[0] + x * (fb->bits_per_pixel / 8); + + if (INTEL_INFO(dev)->gen >= 4) { + intel_crtc->dspaddr_offset = + intel_gen4_compute_offset_xtiled(&x, &y, + fb->bits_per_pixel / 8, + fb->pitches[0]); + linear_offset -= intel_crtc->dspaddr_offset; + } else { + intel_crtc->dspaddr_offset = linear_offset; + } + + DRM_DEBUG_KMS("Writing base %08X %08lX %d %d %d\n", + obj->gtt_offset, linear_offset, x, y, fb->pitches[0]); + I915_WRITE(DSPSTRIDE(plane), fb->pitches[0]); + if (INTEL_INFO(dev)->gen >= 4) { + I915_MODIFY_DISPBASE(DSPSURF(plane), + obj->gtt_offset + intel_crtc->dspaddr_offset); + I915_WRITE(DSPTILEOFF(plane), (y << 16) | x); + I915_WRITE(DSPLINOFF(plane), linear_offset); + } else + I915_WRITE(DSPADDR(plane), obj->gtt_offset + linear_offset); + POSTING_READ(reg); + + return 0; +} + +static int ironlake_update_plane(struct drm_crtc *crtc, + struct drm_framebuffer *fb, int x, int y) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_framebuffer *intel_fb; + struct drm_i915_gem_object *obj; + int plane = intel_crtc->plane; + unsigned long linear_offset; + u32 dspcntr; + u32 reg; + + switch (plane) { + case 0: + case 1: + case 2: + break; + default: + DRM_ERROR("Can't update plane %d in SAREA\n", plane); + return -EINVAL; + } + + intel_fb = to_intel_framebuffer(fb); + obj = intel_fb->obj; + + reg = DSPCNTR(plane); + dspcntr = I915_READ(reg); + /* Mask out pixel format bits in case we change it */ + dspcntr &= ~DISPPLANE_PIXFORMAT_MASK; + switch (fb->pixel_format) { + case DRM_FORMAT_C8: + dspcntr |= DISPPLANE_8BPP; + break; + case DRM_FORMAT_RGB565: + dspcntr |= DISPPLANE_BGRX565; + break; + case DRM_FORMAT_XRGB8888: + case DRM_FORMAT_ARGB8888: + dspcntr |= DISPPLANE_BGRX888; + break; + case DRM_FORMAT_XBGR8888: + case DRM_FORMAT_ABGR8888: + dspcntr |= DISPPLANE_RGBX888; + break; + case DRM_FORMAT_XRGB2101010: + case DRM_FORMAT_ARGB2101010: + dspcntr |= DISPPLANE_BGRX101010; + break; + case DRM_FORMAT_XBGR2101010: + case DRM_FORMAT_ABGR2101010: + dspcntr |= DISPPLANE_RGBX101010; + break; + default: + DRM_ERROR("Unknown pixel format 0x%08x\n", fb->pixel_format); + return -EINVAL; + } + + if (obj->tiling_mode != I915_TILING_NONE) + dspcntr |= DISPPLANE_TILED; + else + dspcntr &= ~DISPPLANE_TILED; + + /* must disable */ + dspcntr |= DISPPLANE_TRICKLE_FEED_DISABLE; + + I915_WRITE(reg, dspcntr); + + linear_offset = y * fb->pitches[0] + x * (fb->bits_per_pixel / 8); + intel_crtc->dspaddr_offset = + intel_gen4_compute_offset_xtiled(&x, &y, + fb->bits_per_pixel / 8, + fb->pitches[0]); + linear_offset -= intel_crtc->dspaddr_offset; + + DRM_DEBUG_KMS("Writing base %08X %08lX %d %d %d\n", + obj->gtt_offset, linear_offset, x, y, fb->pitches[0]); + I915_WRITE(DSPSTRIDE(plane), fb->pitches[0]); + I915_MODIFY_DISPBASE(DSPSURF(plane), + obj->gtt_offset + intel_crtc->dspaddr_offset); + if (IS_HASWELL(dev)) { + I915_WRITE(DSPOFFSET(plane), (y << 16) | x); + } else { + I915_WRITE(DSPTILEOFF(plane), (y << 16) | x); + I915_WRITE(DSPLINOFF(plane), linear_offset); + } + POSTING_READ(reg); + + return 0; +} + +/* Assume fb object is pinned & idle & fenced and just update base pointers */ +static int +intel_pipe_set_base_atomic(struct drm_crtc *crtc, struct drm_framebuffer *fb, + int x, int y, enum mode_set_atomic state) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->display.disable_fbc) + dev_priv->display.disable_fbc(dev); + intel_increase_pllclock(crtc); + + return dev_priv->display.update_plane(crtc, fb, x, y); +} + +static int +intel_finish_fb(struct drm_framebuffer *old_fb) +{ + struct drm_i915_gem_object *obj = to_intel_framebuffer(old_fb)->obj; + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; + bool was_interruptible = dev_priv->mm.interruptible; + int ret; + + wait_event(dev_priv->pending_flip_queue, + atomic_read(&dev_priv->mm.wedged) || + atomic_read(&obj->pending_flip) == 0); + + /* Big Hammer, we also need to ensure that any pending + * MI_WAIT_FOR_EVENT inside a user batch buffer on the + * current scanout is retired before unpinning the old + * framebuffer. + * + * This should only fail upon a hung GPU, in which case we + * can safely continue. + */ + dev_priv->mm.interruptible = false; + ret = i915_gem_object_finish_gpu(obj); + dev_priv->mm.interruptible = was_interruptible; + + return ret; +} + +static void intel_crtc_update_sarea_pos(struct drm_crtc *crtc, int x, int y) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_master_private *master_priv; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + if (!dev->primary->master) + return; + + master_priv = dev->primary->master->driver_priv; + if (!master_priv->sarea_priv) + return; + + switch (intel_crtc->pipe) { + case 0: + master_priv->sarea_priv->pipeA_x = x; + master_priv->sarea_priv->pipeA_y = y; + break; + case 1: + master_priv->sarea_priv->pipeB_x = x; + master_priv->sarea_priv->pipeB_y = y; + break; + default: + break; + } +} + +static int +intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, + struct drm_framebuffer *fb) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct drm_framebuffer *old_fb; + int ret; + + /* no fb bound */ + if (!fb) { + DRM_ERROR("No FB bound\n"); + return 0; + } + + if(intel_crtc->plane > dev_priv->num_pipe) { + DRM_ERROR("no plane for crtc: plane %d, num_pipes %d\n", + intel_crtc->plane, + dev_priv->num_pipe); + return -EINVAL; + } + + mutex_lock(&dev->struct_mutex); + ret = intel_pin_and_fence_fb_obj(dev, + to_intel_framebuffer(fb)->obj, + NULL); + if (ret != 0) { + mutex_unlock(&dev->struct_mutex); + DRM_ERROR("pin & fence failed\n"); + return ret; + } + + if (crtc->fb) + intel_finish_fb(crtc->fb); + + ret = dev_priv->display.update_plane(crtc, fb, x, y); + if (ret) { + intel_unpin_fb_obj(to_intel_framebuffer(fb)->obj); + mutex_unlock(&dev->struct_mutex); + DRM_ERROR("failed to update base address\n"); + return ret; + } + + old_fb = crtc->fb; + crtc->fb = fb; + crtc->x = x; + crtc->y = y; + + if (old_fb) { + intel_wait_for_vblank(dev, intel_crtc->pipe); + intel_unpin_fb_obj(to_intel_framebuffer(old_fb)->obj); + } + + intel_update_fbc(dev); + mutex_unlock(&dev->struct_mutex); + + intel_crtc_update_sarea_pos(crtc, x, y); + + return 0; +} + +static void ironlake_set_pll_edp(struct drm_crtc *crtc, int clock) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 dpa_ctl; + + DRM_DEBUG_KMS("eDP PLL enable for clock %d\n", clock); + dpa_ctl = I915_READ(DP_A); + dpa_ctl &= ~DP_PLL_FREQ_MASK; + + if (clock < 200000) { + u32 temp; + dpa_ctl |= DP_PLL_FREQ_160MHZ; + /* workaround for 160Mhz: + 1) program 0x4600c bits 15:0 = 0x8124 + 2) program 0x46010 bit 0 = 1 + 3) program 0x46034 bit 24 = 1 + 4) program 0x64000 bit 14 = 1 + */ + temp = I915_READ(0x4600c); + temp &= 0xffff0000; + I915_WRITE(0x4600c, temp | 0x8124); + + temp = I915_READ(0x46010); + I915_WRITE(0x46010, temp | 1); + + temp = I915_READ(0x46034); + I915_WRITE(0x46034, temp | (1 << 24)); + } else { + dpa_ctl |= DP_PLL_FREQ_270MHZ; + } + I915_WRITE(DP_A, dpa_ctl); + + POSTING_READ(DP_A); + udelay(500); +} + +static void intel_fdi_normal_train(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 reg, temp; + + /* enable normal train */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + if (IS_IVYBRIDGE(dev)) { + temp &= ~FDI_LINK_TRAIN_NONE_IVB; + temp |= FDI_LINK_TRAIN_NONE_IVB | FDI_TX_ENHANCE_FRAME_ENABLE; + } else { + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_NONE | FDI_TX_ENHANCE_FRAME_ENABLE; + } + I915_WRITE(reg, temp); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + if (HAS_PCH_CPT(dev)) { + temp &= ~FDI_LINK_TRAIN_PATTERN_MASK_CPT; + temp |= FDI_LINK_TRAIN_NORMAL_CPT; + } else { + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_NONE; + } + I915_WRITE(reg, temp | FDI_RX_ENHANCE_FRAME_ENABLE); + + /* wait one idle pattern time */ + POSTING_READ(reg); + udelay(1000); + + /* IVB wants error correction enabled */ + if (IS_IVYBRIDGE(dev)) + I915_WRITE(reg, I915_READ(reg) | FDI_FS_ERRC_ENABLE | + FDI_FE_ERRC_ENABLE); +} + +static void cpt_phase_pointer_enable(struct drm_device *dev, int pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 flags = I915_READ(SOUTH_CHICKEN1); + + flags |= FDI_PHASE_SYNC_OVR(pipe); + I915_WRITE(SOUTH_CHICKEN1, flags); /* once to unlock... */ + flags |= FDI_PHASE_SYNC_EN(pipe); + I915_WRITE(SOUTH_CHICKEN1, flags); /* then again to enable */ + POSTING_READ(SOUTH_CHICKEN1); +} + +static void ivb_modeset_global_resources(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *pipe_B_crtc = + to_intel_crtc(dev_priv->pipe_to_crtc_mapping[PIPE_B]); + struct intel_crtc *pipe_C_crtc = + to_intel_crtc(dev_priv->pipe_to_crtc_mapping[PIPE_C]); + uint32_t temp; + + /* When everything is off disable fdi C so that we could enable fdi B + * with all lanes. XXX: This misses the case where a pipe is not using + * any pch resources and so doesn't need any fdi lanes. */ + if (!pipe_B_crtc->base.enabled && !pipe_C_crtc->base.enabled) { + WARN_ON(I915_READ(FDI_RX_CTL(PIPE_B)) & FDI_RX_ENABLE); + WARN_ON(I915_READ(FDI_RX_CTL(PIPE_C)) & FDI_RX_ENABLE); + + temp = I915_READ(SOUTH_CHICKEN1); + temp &= ~FDI_BC_BIFURCATION_SELECT; + DRM_DEBUG_KMS("disabling fdi C rx\n"); + I915_WRITE(SOUTH_CHICKEN1, temp); + } +} + +/* The FDI link training functions for ILK/Ibexpeak. */ +static void ironlake_fdi_link_train(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + u32 reg, temp, tries; + + /* FDI needs bits from pipe & plane first */ + assert_pipe_enabled(dev_priv, pipe); + assert_plane_enabled(dev_priv, plane); + + /* Train 1: umask FDI RX Interrupt symbol_lock and bit_lock bit + for train result */ + reg = FDI_RX_IMR(pipe); + temp = I915_READ(reg); + temp &= ~FDI_RX_SYMBOL_LOCK; + temp &= ~FDI_RX_BIT_LOCK; + I915_WRITE(reg, temp); + I915_READ(reg); + udelay(150); + + /* enable CPU FDI TX and PCH FDI RX */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~(7 << 19); + temp |= (intel_crtc->fdi_lanes - 1) << 19; + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_1; + I915_WRITE(reg, temp | FDI_TX_ENABLE); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_1; + I915_WRITE(reg, temp | FDI_RX_ENABLE); + + POSTING_READ(reg); + udelay(150); + + /* Ironlake workaround, enable clock pointer after FDI enable*/ + I915_WRITE(FDI_RX_CHICKEN(pipe), FDI_RX_PHASE_SYNC_POINTER_OVR); + I915_WRITE(FDI_RX_CHICKEN(pipe), FDI_RX_PHASE_SYNC_POINTER_OVR | + FDI_RX_PHASE_SYNC_POINTER_EN); + + reg = FDI_RX_IIR(pipe); + for (tries = 0; tries < 5; tries++) { + temp = I915_READ(reg); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); + + if ((temp & FDI_RX_BIT_LOCK)) { + DRM_DEBUG_KMS("FDI train 1 done.\n"); + I915_WRITE(reg, temp | FDI_RX_BIT_LOCK); + break; + } + } + if (tries == 5) + DRM_ERROR("FDI train 1 fail!\n"); + + /* Train 2 */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_2; + I915_WRITE(reg, temp); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_2; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(150); + + reg = FDI_RX_IIR(pipe); + for (tries = 0; tries < 5; tries++) { + temp = I915_READ(reg); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); + + if (temp & FDI_RX_SYMBOL_LOCK) { + I915_WRITE(reg, temp | FDI_RX_SYMBOL_LOCK); + DRM_DEBUG_KMS("FDI train 2 done.\n"); + break; + } + } + if (tries == 5) + DRM_ERROR("FDI train 2 fail!\n"); + + DRM_DEBUG_KMS("FDI train done\n"); + +} + +static const int snb_b_fdi_train_param[] = { + FDI_LINK_TRAIN_400MV_0DB_SNB_B, + FDI_LINK_TRAIN_400MV_6DB_SNB_B, + FDI_LINK_TRAIN_600MV_3_5DB_SNB_B, + FDI_LINK_TRAIN_800MV_0DB_SNB_B, +}; + +/* The FDI link training functions for SNB/Cougarpoint. */ +static void gen6_fdi_link_train(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 reg, temp, i, retry; + + /* Train 1: umask FDI RX Interrupt symbol_lock and bit_lock bit + for train result */ + reg = FDI_RX_IMR(pipe); + temp = I915_READ(reg); + temp &= ~FDI_RX_SYMBOL_LOCK; + temp &= ~FDI_RX_BIT_LOCK; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(150); + + /* enable CPU FDI TX and PCH FDI RX */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~(7 << 19); + temp |= (intel_crtc->fdi_lanes - 1) << 19; + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_1; + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + /* SNB-B */ + temp |= FDI_LINK_TRAIN_400MV_0DB_SNB_B; + I915_WRITE(reg, temp | FDI_TX_ENABLE); + + I915_WRITE(FDI_RX_MISC(pipe), + FDI_RX_TP1_TO_TP2_48 | FDI_RX_FDI_DELAY_90); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + if (HAS_PCH_CPT(dev)) { + temp &= ~FDI_LINK_TRAIN_PATTERN_MASK_CPT; + temp |= FDI_LINK_TRAIN_PATTERN_1_CPT; + } else { + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_1; + } + I915_WRITE(reg, temp | FDI_RX_ENABLE); + + POSTING_READ(reg); + udelay(150); + + cpt_phase_pointer_enable(dev, pipe); + + for (i = 0; i < 4; i++) { + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + temp |= snb_b_fdi_train_param[i]; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(500); + + for (retry = 0; retry < 5; retry++) { + reg = FDI_RX_IIR(pipe); + temp = I915_READ(reg); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); + if (temp & FDI_RX_BIT_LOCK) { + I915_WRITE(reg, temp | FDI_RX_BIT_LOCK); + DRM_DEBUG_KMS("FDI train 1 done.\n"); + break; + } + udelay(50); + } + if (retry < 5) + break; + } + if (i == 4) + DRM_ERROR("FDI train 1 fail!\n"); + + /* Train 2 */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_2; + if (IS_GEN6(dev)) { + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + /* SNB-B */ + temp |= FDI_LINK_TRAIN_400MV_0DB_SNB_B; + } + I915_WRITE(reg, temp); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + if (HAS_PCH_CPT(dev)) { + temp &= ~FDI_LINK_TRAIN_PATTERN_MASK_CPT; + temp |= FDI_LINK_TRAIN_PATTERN_2_CPT; + } else { + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_2; + } + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(150); + + for (i = 0; i < 4; i++) { + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + temp |= snb_b_fdi_train_param[i]; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(500); + + for (retry = 0; retry < 5; retry++) { + reg = FDI_RX_IIR(pipe); + temp = I915_READ(reg); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); + if (temp & FDI_RX_SYMBOL_LOCK) { + I915_WRITE(reg, temp | FDI_RX_SYMBOL_LOCK); + DRM_DEBUG_KMS("FDI train 2 done.\n"); + break; + } + udelay(50); + } + if (retry < 5) + break; + } + if (i == 4) + DRM_ERROR("FDI train 2 fail!\n"); + + DRM_DEBUG_KMS("FDI train done.\n"); +} + +/* Manual link training for Ivy Bridge A0 parts */ +static void ivb_manual_fdi_link_train(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 reg, temp, i; + + /* Train 1: umask FDI RX Interrupt symbol_lock and bit_lock bit + for train result */ + reg = FDI_RX_IMR(pipe); + temp = I915_READ(reg); + temp &= ~FDI_RX_SYMBOL_LOCK; + temp &= ~FDI_RX_BIT_LOCK; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(150); + + DRM_DEBUG_KMS("FDI_RX_IIR before link train 0x%x\n", + I915_READ(FDI_RX_IIR(pipe))); + + /* enable CPU FDI TX and PCH FDI RX */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~(7 << 19); + temp |= (intel_crtc->fdi_lanes - 1) << 19; + temp &= ~(FDI_LINK_TRAIN_AUTO | FDI_LINK_TRAIN_NONE_IVB); + temp |= FDI_LINK_TRAIN_PATTERN_1_IVB; + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + temp |= FDI_LINK_TRAIN_400MV_0DB_SNB_B; + temp |= FDI_COMPOSITE_SYNC; + I915_WRITE(reg, temp | FDI_TX_ENABLE); + + I915_WRITE(FDI_RX_MISC(pipe), + FDI_RX_TP1_TO_TP2_48 | FDI_RX_FDI_DELAY_90); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_AUTO; + temp &= ~FDI_LINK_TRAIN_PATTERN_MASK_CPT; + temp |= FDI_LINK_TRAIN_PATTERN_1_CPT; + temp |= FDI_COMPOSITE_SYNC; + I915_WRITE(reg, temp | FDI_RX_ENABLE); + + POSTING_READ(reg); + udelay(150); + + cpt_phase_pointer_enable(dev, pipe); + + for (i = 0; i < 4; i++) { + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + temp |= snb_b_fdi_train_param[i]; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(500); + + reg = FDI_RX_IIR(pipe); + temp = I915_READ(reg); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); + + if (temp & FDI_RX_BIT_LOCK || + (I915_READ(reg) & FDI_RX_BIT_LOCK)) { + I915_WRITE(reg, temp | FDI_RX_BIT_LOCK); + DRM_DEBUG_KMS("FDI train 1 done, level %i.\n", i); + break; + } + } + if (i == 4) + DRM_ERROR("FDI train 1 fail!\n"); + + /* Train 2 */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_NONE_IVB; + temp |= FDI_LINK_TRAIN_PATTERN_2_IVB; + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + temp |= FDI_LINK_TRAIN_400MV_0DB_SNB_B; + I915_WRITE(reg, temp); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_PATTERN_MASK_CPT; + temp |= FDI_LINK_TRAIN_PATTERN_2_CPT; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(150); + + for (i = 0; i < 4; i++) { + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK; + temp |= snb_b_fdi_train_param[i]; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(500); + + reg = FDI_RX_IIR(pipe); + temp = I915_READ(reg); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); + + if (temp & FDI_RX_SYMBOL_LOCK) { + I915_WRITE(reg, temp | FDI_RX_SYMBOL_LOCK); + DRM_DEBUG_KMS("FDI train 2 done, level %i.\n", i); + break; + } + } + if (i == 4) + DRM_ERROR("FDI train 2 fail!\n"); + + DRM_DEBUG_KMS("FDI train done.\n"); +} + +static void ironlake_fdi_pll_enable(struct intel_crtc *intel_crtc) +{ + struct drm_device *dev = intel_crtc->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe = intel_crtc->pipe; + u32 reg, temp; + + + /* enable PCH FDI RX PLL, wait warmup plus DMI latency */ + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~((0x7 << 19) | (0x7 << 16)); + temp |= (intel_crtc->fdi_lanes - 1) << 19; + temp |= (I915_READ(PIPECONF(pipe)) & PIPE_BPC_MASK) << 11; + I915_WRITE(reg, temp | FDI_RX_PLL_ENABLE); + + POSTING_READ(reg); + udelay(200); + + /* Switch from Rawclk to PCDclk */ + temp = I915_READ(reg); + I915_WRITE(reg, temp | FDI_PCDCLK); + + POSTING_READ(reg); + udelay(200); + + /* On Haswell, the PLL configuration for ports and pipes is handled + * separately, as part of DDI setup */ + if (!IS_HASWELL(dev)) { + /* Enable CPU FDI TX PLL, always on for Ironlake */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + if ((temp & FDI_TX_PLL_ENABLE) == 0) { + I915_WRITE(reg, temp | FDI_TX_PLL_ENABLE); + + POSTING_READ(reg); + udelay(100); + } + } +} + +static void ironlake_fdi_pll_disable(struct intel_crtc *intel_crtc) +{ + struct drm_device *dev = intel_crtc->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe = intel_crtc->pipe; + u32 reg, temp; + + /* Switch from PCDclk to Rawclk */ + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + I915_WRITE(reg, temp & ~FDI_PCDCLK); + + /* Disable CPU FDI TX PLL */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + I915_WRITE(reg, temp & ~FDI_TX_PLL_ENABLE); + + POSTING_READ(reg); + udelay(100); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + I915_WRITE(reg, temp & ~FDI_RX_PLL_ENABLE); + + /* Wait for the clocks to turn off. */ + POSTING_READ(reg); + udelay(100); +} + +static void cpt_phase_pointer_disable(struct drm_device *dev, int pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 flags = I915_READ(SOUTH_CHICKEN1); + + flags &= ~(FDI_PHASE_SYNC_EN(pipe)); + I915_WRITE(SOUTH_CHICKEN1, flags); /* once to disable... */ + flags &= ~(FDI_PHASE_SYNC_OVR(pipe)); + I915_WRITE(SOUTH_CHICKEN1, flags); /* then again to lock */ + POSTING_READ(SOUTH_CHICKEN1); +} +static void ironlake_fdi_disable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 reg, temp; + + /* disable CPU FDI tx and PCH FDI rx */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + I915_WRITE(reg, temp & ~FDI_TX_ENABLE); + POSTING_READ(reg); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~(0x7 << 16); + temp |= (I915_READ(PIPECONF(pipe)) & PIPE_BPC_MASK) << 11; + I915_WRITE(reg, temp & ~FDI_RX_ENABLE); + + POSTING_READ(reg); + udelay(100); + + /* Ironlake workaround, disable clock pointer after downing FDI */ + if (HAS_PCH_IBX(dev)) { + I915_WRITE(FDI_RX_CHICKEN(pipe), FDI_RX_PHASE_SYNC_POINTER_OVR); + } else if (HAS_PCH_CPT(dev)) { + cpt_phase_pointer_disable(dev, pipe); + } + + /* still set train pattern 1 */ + reg = FDI_TX_CTL(pipe); + temp = I915_READ(reg); + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_1; + I915_WRITE(reg, temp); + + reg = FDI_RX_CTL(pipe); + temp = I915_READ(reg); + if (HAS_PCH_CPT(dev)) { + temp &= ~FDI_LINK_TRAIN_PATTERN_MASK_CPT; + temp |= FDI_LINK_TRAIN_PATTERN_1_CPT; + } else { + temp &= ~FDI_LINK_TRAIN_NONE; + temp |= FDI_LINK_TRAIN_PATTERN_1; + } + /* BPC in FDI rx is consistent with that in PIPECONF */ + temp &= ~(0x07 << 16); + temp |= (I915_READ(PIPECONF(pipe)) & PIPE_BPC_MASK) << 11; + I915_WRITE(reg, temp); + + POSTING_READ(reg); + udelay(100); +} + +static bool intel_crtc_has_pending_flip(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long flags; + bool pending; + + if (atomic_read(&dev_priv->mm.wedged)) + return false; + + spin_lock_irqsave(&dev->event_lock, flags); + pending = to_intel_crtc(crtc)->unpin_work != NULL; + spin_unlock_irqrestore(&dev->event_lock, flags); + + return pending; +} + +static void intel_crtc_wait_for_pending_flips(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + if (crtc->fb == NULL) + return; + + wait_event(dev_priv->pending_flip_queue, + !intel_crtc_has_pending_flip(crtc)); + + mutex_lock(&dev->struct_mutex); + intel_finish_fb(crtc->fb); + mutex_unlock(&dev->struct_mutex); +} + +static bool ironlake_crtc_driving_pch(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct intel_encoder *intel_encoder; + + /* + * If there's a non-PCH eDP on this crtc, it must be DP_A, and that + * must be driven by its own crtc; no sharing is possible. + */ + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + switch (intel_encoder->type) { + case INTEL_OUTPUT_EDP: + if (!intel_encoder_is_pch_edp(&intel_encoder->base)) + return false; + continue; + } + } + + return true; +} + +static bool haswell_crtc_driving_pch(struct drm_crtc *crtc) +{ + return intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG); +} + +/* Program iCLKIP clock to the desired frequency */ +static void lpt_program_iclkip(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 divsel, phaseinc, auxdiv, phasedir = 0; + u32 temp; + + /* It is necessary to ungate the pixclk gate prior to programming + * the divisors, and gate it back when it is done. + */ + I915_WRITE(PIXCLK_GATE, PIXCLK_GATE_GATE); + + /* Disable SSCCTL */ + intel_sbi_write(dev_priv, SBI_SSCCTL6, + intel_sbi_read(dev_priv, SBI_SSCCTL6, SBI_ICLK) | + SBI_SSCCTL_DISABLE, + SBI_ICLK); + + /* 20MHz is a corner case which is out of range for the 7-bit divisor */ + if (crtc->mode.clock == 20000) { + auxdiv = 1; + divsel = 0x41; + phaseinc = 0x20; + } else { + /* The iCLK virtual clock root frequency is in MHz, + * but the crtc->mode.clock in in KHz. To get the divisors, + * it is necessary to divide one by another, so we + * convert the virtual clock precision to KHz here for higher + * precision. + */ + u32 iclk_virtual_root_freq = 172800 * 1000; + u32 iclk_pi_range = 64; + u32 desired_divisor, msb_divisor_value, pi_value; + + desired_divisor = (iclk_virtual_root_freq / crtc->mode.clock); + msb_divisor_value = desired_divisor / iclk_pi_range; + pi_value = desired_divisor % iclk_pi_range; + + auxdiv = 0; + divsel = msb_divisor_value - 2; + phaseinc = pi_value; + } + + /* This should not happen with any sane values */ + WARN_ON(SBI_SSCDIVINTPHASE_DIVSEL(divsel) & + ~SBI_SSCDIVINTPHASE_DIVSEL_MASK); + WARN_ON(SBI_SSCDIVINTPHASE_DIR(phasedir) & + ~SBI_SSCDIVINTPHASE_INCVAL_MASK); + + DRM_DEBUG_KMS("iCLKIP clock: found settings for %dKHz refresh rate: auxdiv=%x, divsel=%x, phasedir=%x, phaseinc=%x\n", + crtc->mode.clock, + auxdiv, + divsel, + phasedir, + phaseinc); + + /* Program SSCDIVINTPHASE6 */ + temp = intel_sbi_read(dev_priv, SBI_SSCDIVINTPHASE6, SBI_ICLK); + temp &= ~SBI_SSCDIVINTPHASE_DIVSEL_MASK; + temp |= SBI_SSCDIVINTPHASE_DIVSEL(divsel); + temp &= ~SBI_SSCDIVINTPHASE_INCVAL_MASK; + temp |= SBI_SSCDIVINTPHASE_INCVAL(phaseinc); + temp |= SBI_SSCDIVINTPHASE_DIR(phasedir); + temp |= SBI_SSCDIVINTPHASE_PROPAGATE; + intel_sbi_write(dev_priv, SBI_SSCDIVINTPHASE6, temp, SBI_ICLK); + + /* Program SSCAUXDIV */ + temp = intel_sbi_read(dev_priv, SBI_SSCAUXDIV6, SBI_ICLK); + temp &= ~SBI_SSCAUXDIV_FINALDIV2SEL(1); + temp |= SBI_SSCAUXDIV_FINALDIV2SEL(auxdiv); + intel_sbi_write(dev_priv, SBI_SSCAUXDIV6, temp, SBI_ICLK); + + /* Enable modulator and associated divider */ + temp = intel_sbi_read(dev_priv, SBI_SSCCTL6, SBI_ICLK); + temp &= ~SBI_SSCCTL_DISABLE; + intel_sbi_write(dev_priv, SBI_SSCCTL6, temp, SBI_ICLK); + + /* Wait for initialization time */ + udelay(24); + + I915_WRITE(PIXCLK_GATE, PIXCLK_GATE_UNGATE); +} + +/* + * Enable PCH resources required for PCH ports: + * - PCH PLLs + * - FDI training & RX/TX + * - update transcoder timings + * - DP transcoding bits + * - transcoder + */ +static void ironlake_pch_enable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 reg, temp; + + assert_transcoder_disabled(dev_priv, pipe); + + /* Write the TU size bits before fdi link training, so that error + * detection works. */ + I915_WRITE(FDI_RX_TUSIZE1(pipe), + I915_READ(PIPE_DATA_M1(pipe)) & TU_SIZE_MASK); + + /* For PCH output, training FDI link */ + dev_priv->display.fdi_link_train(crtc); + + /* XXX: pch pll's can be enabled any time before we enable the PCH + * transcoder, and we actually should do this to not upset any PCH + * transcoder that already use the clock when we share it. + * + * Note that enable_pch_pll tries to do the right thing, but get_pch_pll + * unconditionally resets the pll - we need that to have the right LVDS + * enable sequence. */ + ironlake_enable_pch_pll(intel_crtc); + + if (HAS_PCH_CPT(dev)) { + u32 sel; + + temp = I915_READ(PCH_DPLL_SEL); + switch (pipe) { + default: + case 0: + temp |= TRANSA_DPLL_ENABLE; + sel = TRANSA_DPLLB_SEL; + break; + case 1: + temp |= TRANSB_DPLL_ENABLE; + sel = TRANSB_DPLLB_SEL; + break; + case 2: + temp |= TRANSC_DPLL_ENABLE; + sel = TRANSC_DPLLB_SEL; + break; + } + if (intel_crtc->pch_pll->pll_reg == _PCH_DPLL_B) + temp |= sel; + else + temp &= ~sel; + I915_WRITE(PCH_DPLL_SEL, temp); + } + + /* set transcoder timing, panel must allow it */ + assert_panel_unlocked(dev_priv, pipe); + I915_WRITE(TRANS_HTOTAL(pipe), I915_READ(HTOTAL(pipe))); + I915_WRITE(TRANS_HBLANK(pipe), I915_READ(HBLANK(pipe))); + I915_WRITE(TRANS_HSYNC(pipe), I915_READ(HSYNC(pipe))); + + I915_WRITE(TRANS_VTOTAL(pipe), I915_READ(VTOTAL(pipe))); + I915_WRITE(TRANS_VBLANK(pipe), I915_READ(VBLANK(pipe))); + I915_WRITE(TRANS_VSYNC(pipe), I915_READ(VSYNC(pipe))); + I915_WRITE(TRANS_VSYNCSHIFT(pipe), I915_READ(VSYNCSHIFT(pipe))); + + intel_fdi_normal_train(crtc); + + /* For PCH DP, enable TRANS_DP_CTL */ + if (HAS_PCH_CPT(dev) && + (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) || + intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP))) { + u32 bpc = (I915_READ(PIPECONF(pipe)) & PIPE_BPC_MASK) >> 5; + reg = TRANS_DP_CTL(pipe); + temp = I915_READ(reg); + temp &= ~(TRANS_DP_PORT_SEL_MASK | + TRANS_DP_SYNC_MASK | + TRANS_DP_BPC_MASK); + temp |= (TRANS_DP_OUTPUT_ENABLE | + TRANS_DP_ENH_FRAMING); + temp |= bpc << 9; /* same format but at 11:9 */ + + if (crtc->mode.flags & DRM_MODE_FLAG_PHSYNC) + temp |= TRANS_DP_HSYNC_ACTIVE_HIGH; + if (crtc->mode.flags & DRM_MODE_FLAG_PVSYNC) + temp |= TRANS_DP_VSYNC_ACTIVE_HIGH; + + switch (intel_trans_dp_port_sel(crtc)) { + case PCH_DP_B: + temp |= TRANS_DP_PORT_SEL_B; + break; + case PCH_DP_C: + temp |= TRANS_DP_PORT_SEL_C; + break; + case PCH_DP_D: + temp |= TRANS_DP_PORT_SEL_D; + break; + default: + BUG(); + } + + I915_WRITE(reg, temp); + } + + ironlake_enable_pch_transcoder(dev_priv, pipe); +} + +static void lpt_pch_enable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + + assert_transcoder_disabled(dev_priv, TRANSCODER_A); + + lpt_program_iclkip(crtc); + + /* Set transcoder timing. */ + I915_WRITE(_TRANS_HTOTAL_A, I915_READ(HTOTAL(cpu_transcoder))); + I915_WRITE(_TRANS_HBLANK_A, I915_READ(HBLANK(cpu_transcoder))); + I915_WRITE(_TRANS_HSYNC_A, I915_READ(HSYNC(cpu_transcoder))); + + I915_WRITE(_TRANS_VTOTAL_A, I915_READ(VTOTAL(cpu_transcoder))); + I915_WRITE(_TRANS_VBLANK_A, I915_READ(VBLANK(cpu_transcoder))); + I915_WRITE(_TRANS_VSYNC_A, I915_READ(VSYNC(cpu_transcoder))); + I915_WRITE(_TRANS_VSYNCSHIFT_A, I915_READ(VSYNCSHIFT(cpu_transcoder))); + + lpt_enable_pch_transcoder(dev_priv, cpu_transcoder); +} + +static void intel_put_pch_pll(struct intel_crtc *intel_crtc) +{ + struct intel_pch_pll *pll = intel_crtc->pch_pll; + + if (pll == NULL) + return; + + if (pll->refcount == 0) { + WARN(1, "bad PCH PLL refcount\n"); + return; + } + + --pll->refcount; + intel_crtc->pch_pll = NULL; +} + +static struct intel_pch_pll *intel_get_pch_pll(struct intel_crtc *intel_crtc, u32 dpll, u32 fp) +{ + struct drm_i915_private *dev_priv = intel_crtc->base.dev->dev_private; + struct intel_pch_pll *pll; + int i; + + pll = intel_crtc->pch_pll; + if (pll) { + DRM_DEBUG_KMS("CRTC:%d reusing existing PCH PLL %x\n", + intel_crtc->base.base.id, pll->pll_reg); + goto prepare; + } + + if (HAS_PCH_IBX(dev_priv->dev)) { + /* Ironlake PCH has a fixed PLL->PCH pipe mapping. */ + i = intel_crtc->pipe; + pll = &dev_priv->pch_plls[i]; + + DRM_DEBUG_KMS("CRTC:%d using pre-allocated PCH PLL %x\n", + intel_crtc->base.base.id, pll->pll_reg); + + goto found; + } + + for (i = 0; i < dev_priv->num_pch_pll; i++) { + pll = &dev_priv->pch_plls[i]; + + /* Only want to check enabled timings first */ + if (pll->refcount == 0) + continue; + + if (dpll == (I915_READ(pll->pll_reg) & 0x7fffffff) && + fp == I915_READ(pll->fp0_reg)) { + DRM_DEBUG_KMS("CRTC:%d sharing existing PCH PLL %x (refcount %d, ative %d)\n", + intel_crtc->base.base.id, + pll->pll_reg, pll->refcount, pll->active); + + goto found; + } + } + + /* Ok no matching timings, maybe there's a free one? */ + for (i = 0; i < dev_priv->num_pch_pll; i++) { + pll = &dev_priv->pch_plls[i]; + if (pll->refcount == 0) { + DRM_DEBUG_KMS("CRTC:%d allocated PCH PLL %x\n", + intel_crtc->base.base.id, pll->pll_reg); + goto found; + } + } + + return NULL; + +found: + intel_crtc->pch_pll = pll; + pll->refcount++; + DRM_DEBUG_DRIVER("using pll %d for pipe %d\n", i, intel_crtc->pipe); +prepare: /* separate function? */ + DRM_DEBUG_DRIVER("switching PLL %x off\n", pll->pll_reg); + + /* Wait for the clocks to stabilize before rewriting the regs */ + I915_WRITE(pll->pll_reg, dpll & ~DPLL_VCO_ENABLE); + POSTING_READ(pll->pll_reg); + udelay(150); + + I915_WRITE(pll->fp0_reg, fp); + I915_WRITE(pll->pll_reg, dpll & ~DPLL_VCO_ENABLE); + pll->on = false; + return pll; +} + +void intel_cpt_verify_modeset(struct drm_device *dev, int pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int dslreg = PIPEDSL(pipe); + u32 temp; + + temp = I915_READ(dslreg); + udelay(500); + if (wait_for(I915_READ(dslreg) != temp, 5)) { + if (wait_for(I915_READ(dslreg) != temp, 5)) + DRM_ERROR("mode set failed: pipe %d stuck\n", pipe); + } +} + +static void ironlake_crtc_enable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *encoder; + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + u32 temp; + bool is_pch_port; + + WARN_ON(!crtc->enabled); + + if (intel_crtc->active) + return; + + intel_crtc->active = true; + intel_update_watermarks(dev); + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + temp = I915_READ(PCH_LVDS); + if ((temp & LVDS_PORT_EN) == 0) + I915_WRITE(PCH_LVDS, temp | LVDS_PORT_EN); + } + + is_pch_port = ironlake_crtc_driving_pch(crtc); + + if (is_pch_port) { + /* Note: FDI PLL enabling _must_ be done before we enable the + * cpu pipes, hence this is separate from all the other fdi/pch + * enabling. */ + ironlake_fdi_pll_enable(intel_crtc); + } else { + assert_fdi_tx_disabled(dev_priv, pipe); + assert_fdi_rx_disabled(dev_priv, pipe); + } + + for_each_encoder_on_crtc(dev, crtc, encoder) + if (encoder->pre_enable) + encoder->pre_enable(encoder); + + /* Enable panel fitting for LVDS */ + if (dev_priv->pch_pf_size && + (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) || + intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP))) { + /* Force use of hard-coded filter coefficients + * as some pre-programmed values are broken, + * e.g. x201. + */ + if (IS_IVYBRIDGE(dev)) + I915_WRITE(PF_CTL(pipe), PF_ENABLE | PF_FILTER_MED_3x3 | + PF_PIPE_SEL_IVB(pipe)); + else + I915_WRITE(PF_CTL(pipe), PF_ENABLE | PF_FILTER_MED_3x3); + I915_WRITE(PF_WIN_POS(pipe), dev_priv->pch_pf_pos); + I915_WRITE(PF_WIN_SZ(pipe), dev_priv->pch_pf_size); + } + + /* + * On ILK+ LUT must be loaded before the pipe is running but with + * clocks enabled + */ + intel_crtc_load_lut(crtc); + + intel_enable_pipe(dev_priv, pipe, is_pch_port); + intel_enable_plane(dev_priv, plane, pipe); + + if (is_pch_port) + ironlake_pch_enable(crtc); + + mutex_lock(&dev->struct_mutex); + intel_update_fbc(dev); + mutex_unlock(&dev->struct_mutex); + + intel_crtc_update_cursor(crtc, true); + + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->enable(encoder); + + if (HAS_PCH_CPT(dev)) + intel_cpt_verify_modeset(dev, intel_crtc->pipe); + + /* + * There seems to be a race in PCH platform hw (at least on some + * outputs) where an enabled pipe still completes any pageflip right + * away (as if the pipe is off) instead of waiting for vblank. As soon + * as the first vblank happend, everything works as expected. Hence just + * wait for one vblank before returning to avoid strange things + * happening. + */ + intel_wait_for_vblank(dev, intel_crtc->pipe); +} + +static void haswell_crtc_enable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *encoder; + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + bool is_pch_port; + + WARN_ON(!crtc->enabled); + + if (intel_crtc->active) + return; + + intel_crtc->active = true; + intel_update_watermarks(dev); + + is_pch_port = haswell_crtc_driving_pch(crtc); + + if (is_pch_port) + dev_priv->display.fdi_link_train(crtc); + + for_each_encoder_on_crtc(dev, crtc, encoder) + if (encoder->pre_enable) + encoder->pre_enable(encoder); + + intel_ddi_enable_pipe_clock(intel_crtc); + + /* Enable panel fitting for eDP */ + if (dev_priv->pch_pf_size && + intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP)) { + /* Force use of hard-coded filter coefficients + * as some pre-programmed values are broken, + * e.g. x201. + */ + I915_WRITE(PF_CTL(pipe), PF_ENABLE | PF_FILTER_MED_3x3 | + PF_PIPE_SEL_IVB(pipe)); + I915_WRITE(PF_WIN_POS(pipe), dev_priv->pch_pf_pos); + I915_WRITE(PF_WIN_SZ(pipe), dev_priv->pch_pf_size); + } + + /* + * On ILK+ LUT must be loaded before the pipe is running but with + * clocks enabled + */ + intel_crtc_load_lut(crtc); + + intel_ddi_set_pipe_settings(crtc); + intel_ddi_enable_pipe_func(crtc); + + intel_enable_pipe(dev_priv, pipe, is_pch_port); + intel_enable_plane(dev_priv, plane, pipe); + + if (is_pch_port) + lpt_pch_enable(crtc); + + mutex_lock(&dev->struct_mutex); + intel_update_fbc(dev); + mutex_unlock(&dev->struct_mutex); + + intel_crtc_update_cursor(crtc, true); + + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->enable(encoder); + + /* + * There seems to be a race in PCH platform hw (at least on some + * outputs) where an enabled pipe still completes any pageflip right + * away (as if the pipe is off) instead of waiting for vblank. As soon + * as the first vblank happend, everything works as expected. Hence just + * wait for one vblank before returning to avoid strange things + * happening. + */ + intel_wait_for_vblank(dev, intel_crtc->pipe); +} + +static void ironlake_crtc_disable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *encoder; + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + u32 reg, temp; + + + if (!intel_crtc->active) + return; + + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->disable(encoder); + + intel_crtc_wait_for_pending_flips(crtc); + drm_vblank_off(dev, pipe); + intel_crtc_update_cursor(crtc, false); + + intel_disable_plane(dev_priv, plane, pipe); + + if (dev_priv->cfb_plane == plane) + intel_disable_fbc(dev); + + intel_disable_pipe(dev_priv, pipe); + + /* Disable PF */ + I915_WRITE(PF_CTL(pipe), 0); + I915_WRITE(PF_WIN_SZ(pipe), 0); + + for_each_encoder_on_crtc(dev, crtc, encoder) + if (encoder->post_disable) + encoder->post_disable(encoder); + + ironlake_fdi_disable(crtc); + + ironlake_disable_pch_transcoder(dev_priv, pipe); + + if (HAS_PCH_CPT(dev)) { + /* disable TRANS_DP_CTL */ + reg = TRANS_DP_CTL(pipe); + temp = I915_READ(reg); + temp &= ~(TRANS_DP_OUTPUT_ENABLE | TRANS_DP_PORT_SEL_MASK); + temp |= TRANS_DP_PORT_SEL_NONE; + I915_WRITE(reg, temp); + + /* disable DPLL_SEL */ + temp = I915_READ(PCH_DPLL_SEL); + switch (pipe) { + case 0: + temp &= ~(TRANSA_DPLL_ENABLE | TRANSA_DPLLB_SEL); + break; + case 1: + temp &= ~(TRANSB_DPLL_ENABLE | TRANSB_DPLLB_SEL); + break; + case 2: + /* C shares PLL A or B */ + temp &= ~(TRANSC_DPLL_ENABLE | TRANSC_DPLLB_SEL); + break; + default: + BUG(); /* wtf */ + } + I915_WRITE(PCH_DPLL_SEL, temp); + } + + /* disable PCH DPLL */ + intel_disable_pch_pll(intel_crtc); + + ironlake_fdi_pll_disable(intel_crtc); + + intel_crtc->active = false; + intel_update_watermarks(dev); + + mutex_lock(&dev->struct_mutex); + intel_update_fbc(dev); + mutex_unlock(&dev->struct_mutex); +} + +static void haswell_crtc_disable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *encoder; + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + bool is_pch_port; + + if (!intel_crtc->active) + return; + + is_pch_port = haswell_crtc_driving_pch(crtc); + + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->disable(encoder); + + intel_crtc_wait_for_pending_flips(crtc); + drm_vblank_off(dev, pipe); + intel_crtc_update_cursor(crtc, false); + + intel_disable_plane(dev_priv, plane, pipe); + + if (dev_priv->cfb_plane == plane) + intel_disable_fbc(dev); + + intel_disable_pipe(dev_priv, pipe); + + intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder); + + /* Disable PF */ + I915_WRITE(PF_CTL(pipe), 0); + I915_WRITE(PF_WIN_SZ(pipe), 0); + + intel_ddi_disable_pipe_clock(intel_crtc); + + for_each_encoder_on_crtc(dev, crtc, encoder) + if (encoder->post_disable) + encoder->post_disable(encoder); + + if (is_pch_port) { + lpt_disable_pch_transcoder(dev_priv); + intel_ddi_fdi_disable(crtc); + } + + intel_crtc->active = false; + intel_update_watermarks(dev); + + mutex_lock(&dev->struct_mutex); + intel_update_fbc(dev); + mutex_unlock(&dev->struct_mutex); +} + +static void ironlake_crtc_off(struct drm_crtc *crtc) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + intel_put_pch_pll(intel_crtc); +} + +static void haswell_crtc_off(struct drm_crtc *crtc) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + /* Stop saying we're using TRANSCODER_EDP because some other CRTC might + * start using it. */ + intel_crtc->cpu_transcoder = intel_crtc->pipe; + + intel_ddi_put_crtc_pll(crtc); +} + +static void intel_crtc_dpms_overlay(struct intel_crtc *intel_crtc, bool enable) +{ + if (!enable && intel_crtc->overlay) { + struct drm_device *dev = intel_crtc->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + mutex_lock(&dev->struct_mutex); + dev_priv->mm.interruptible = false; + (void) intel_overlay_switch_off(intel_crtc->overlay); + dev_priv->mm.interruptible = true; + mutex_unlock(&dev->struct_mutex); + } + + /* Let userspace switch the overlay on again. In most cases userspace + * has to recompute where to put it anyway. + */ +} + +static void i9xx_crtc_enable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *encoder; + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + + WARN_ON(!crtc->enabled); + + if (intel_crtc->active) + return; + + intel_crtc->active = true; + intel_update_watermarks(dev); + + intel_enable_pll(dev_priv, pipe); + intel_enable_pipe(dev_priv, pipe, false); + intel_enable_plane(dev_priv, plane, pipe); + + intel_crtc_load_lut(crtc); + intel_update_fbc(dev); + + /* Give the overlay scaler a chance to enable if it's on this pipe */ + intel_crtc_dpms_overlay(intel_crtc, true); + intel_crtc_update_cursor(crtc, true); + + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->enable(encoder); +} + +static void i9xx_crtc_disable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_encoder *encoder; + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + + + if (!intel_crtc->active) + return; + + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->disable(encoder); + + /* Give the overlay scaler a chance to disable if it's on this pipe */ + intel_crtc_wait_for_pending_flips(crtc); + drm_vblank_off(dev, pipe); + intel_crtc_dpms_overlay(intel_crtc, false); + intel_crtc_update_cursor(crtc, false); + + if (dev_priv->cfb_plane == plane) + intel_disable_fbc(dev); + + intel_disable_plane(dev_priv, plane, pipe); + intel_disable_pipe(dev_priv, pipe); + intel_disable_pll(dev_priv, pipe); + + intel_crtc->active = false; + intel_update_fbc(dev); + intel_update_watermarks(dev); +} + +static void i9xx_crtc_off(struct drm_crtc *crtc) +{ +} + +static void intel_crtc_update_sarea(struct drm_crtc *crtc, + bool enabled) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_master_private *master_priv; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + + if (!dev->primary->master) + return; + + master_priv = dev->primary->master->driver_priv; + if (!master_priv->sarea_priv) + return; + + switch (pipe) { + case 0: + master_priv->sarea_priv->pipeA_w = enabled ? crtc->mode.hdisplay : 0; + master_priv->sarea_priv->pipeA_h = enabled ? crtc->mode.vdisplay : 0; + break; + case 1: + master_priv->sarea_priv->pipeB_w = enabled ? crtc->mode.hdisplay : 0; + master_priv->sarea_priv->pipeB_h = enabled ? crtc->mode.vdisplay : 0; + break; + default: + DRM_ERROR("Can't update pipe %c in SAREA\n", pipe_name(pipe)); + break; + } +} + +/** + * Sets the power management mode of the pipe and plane. + */ +void intel_crtc_update_dpms(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *intel_encoder; + bool enable = false; + + for_each_encoder_on_crtc(dev, crtc, intel_encoder) + enable |= intel_encoder->connectors_active; + + if (enable) + dev_priv->display.crtc_enable(crtc); + else + dev_priv->display.crtc_disable(crtc); + + intel_crtc_update_sarea(crtc, enable); +} + +static void intel_crtc_noop(struct drm_crtc *crtc) +{ +} + +static void intel_crtc_disable(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_connector *connector; + struct drm_i915_private *dev_priv = dev->dev_private; + + /* crtc should still be enabled when we disable it. */ + WARN_ON(!crtc->enabled); + + dev_priv->display.crtc_disable(crtc); + intel_crtc_update_sarea(crtc, false); + dev_priv->display.off(crtc); + + assert_plane_disabled(dev->dev_private, to_intel_crtc(crtc)->plane); + assert_pipe_disabled(dev->dev_private, to_intel_crtc(crtc)->pipe); + + if (crtc->fb) { + mutex_lock(&dev->struct_mutex); + intel_unpin_fb_obj(to_intel_framebuffer(crtc->fb)->obj); + mutex_unlock(&dev->struct_mutex); + crtc->fb = NULL; + } + + /* Update computed state. */ + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + if (!connector->encoder || !connector->encoder->crtc) + continue; + + if (connector->encoder->crtc != crtc) + continue; + + connector->dpms = DRM_MODE_DPMS_OFF; + to_intel_encoder(connector->encoder)->connectors_active = false; + } +} + +void intel_modeset_disable(struct drm_device *dev) +{ + struct drm_crtc *crtc; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + if (crtc->enabled) + intel_crtc_disable(crtc); + } +} + +void intel_encoder_noop(struct drm_encoder *encoder) +{ +} + +void intel_encoder_destroy(struct drm_encoder *encoder) +{ + struct intel_encoder *intel_encoder = to_intel_encoder(encoder); + + drm_encoder_cleanup(encoder); + kfree(intel_encoder); +} + +/* Simple dpms helper for encodres with just one connector, no cloning and only + * one kind of off state. It clamps all !ON modes to fully OFF and changes the + * state of the entire output pipe. */ +void intel_encoder_dpms(struct intel_encoder *encoder, int mode) +{ + if (mode == DRM_MODE_DPMS_ON) { + encoder->connectors_active = true; + + intel_crtc_update_dpms(encoder->base.crtc); + } else { + encoder->connectors_active = false; + + intel_crtc_update_dpms(encoder->base.crtc); + } +} + +/* Cross check the actual hw state with our own modeset state tracking (and it's + * internal consistency). */ +static void intel_connector_check_state(struct intel_connector *connector) +{ + if (connector->get_hw_state(connector)) { + struct intel_encoder *encoder = connector->encoder; + struct drm_crtc *crtc; + bool encoder_enabled; + enum pipe pipe; + + DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", + connector->base.base.id, + drm_get_connector_name(&connector->base)); + + WARN(connector->base.dpms == DRM_MODE_DPMS_OFF, + "wrong connector dpms state\n"); + WARN(connector->base.encoder != &encoder->base, + "active connector not linked to encoder\n"); + WARN(!encoder->connectors_active, + "encoder->connectors_active not set\n"); + + encoder_enabled = encoder->get_hw_state(encoder, &pipe); + WARN(!encoder_enabled, "encoder not enabled\n"); + if (WARN_ON(!encoder->base.crtc)) + return; + + crtc = encoder->base.crtc; + + WARN(!crtc->enabled, "crtc not enabled\n"); + WARN(!to_intel_crtc(crtc)->active, "crtc not active\n"); + WARN(pipe != to_intel_crtc(crtc)->pipe, + "encoder active on the wrong pipe\n"); + } +} + +/* Even simpler default implementation, if there's really no special case to + * consider. */ +void intel_connector_dpms(struct drm_connector *connector, int mode) +{ + struct intel_encoder *encoder = intel_attached_encoder(connector); + + /* All the simple cases only support two dpms states. */ + if (mode != DRM_MODE_DPMS_ON) + mode = DRM_MODE_DPMS_OFF; + + if (mode == connector->dpms) + return; + + connector->dpms = mode; + + /* Only need to change hw state when actually enabled */ + if (encoder->base.crtc) + intel_encoder_dpms(encoder, mode); + else + WARN_ON(encoder->connectors_active != false); + + intel_modeset_check_state(connector->dev); +} + +/* Simple connector->get_hw_state implementation for encoders that support only + * one connector and no cloning and hence the encoder state determines the state + * of the connector. */ +bool intel_connector_get_hw_state(struct intel_connector *connector) +{ + enum pipe pipe = 0; + struct intel_encoder *encoder = connector->encoder; + + return encoder->get_hw_state(encoder, &pipe); +} + +static bool intel_crtc_mode_fixup(struct drm_crtc *crtc, + const struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = crtc->dev; + + if (HAS_PCH_SPLIT(dev)) { + /* FDI link clock is fixed at 2.7G */ + if (mode->clock * 3 > IRONLAKE_FDI_FREQ * 4) + return false; + } + + /* All interlaced capable intel hw wants timings in frames. Note though + * that intel_lvds_mode_fixup does some funny tricks with the crtc + * timings, so we need to be careful not to clobber these.*/ + if (!(adjusted_mode->private_flags & INTEL_MODE_CRTC_TIMINGS_SET)) + drm_mode_set_crtcinfo(adjusted_mode, 0); + + /* WaPruneModeWithIncorrectHsyncOffset: Cantiga+ cannot handle modes + * with a hsync front porch of 0. + */ + if ((INTEL_INFO(dev)->gen > 4 || IS_G4X(dev)) && + adjusted_mode->hsync_start == adjusted_mode->hdisplay) + return false; + + return true; +} + +static int valleyview_get_display_clock_speed(struct drm_device *dev) +{ + return 400000; /* FIXME */ +} + +static int i945_get_display_clock_speed(struct drm_device *dev) +{ + return 400000; +} + +static int i915_get_display_clock_speed(struct drm_device *dev) +{ + return 333000; +} + +static int i9xx_misc_get_display_clock_speed(struct drm_device *dev) +{ + return 200000; +} + +static int i915gm_get_display_clock_speed(struct drm_device *dev) +{ + u16 gcfgc = 0; + + pci_read_config_word(dev->pdev, GCFGC, &gcfgc); + + if (gcfgc & GC_LOW_FREQUENCY_ENABLE) + return 133000; + else { + switch (gcfgc & GC_DISPLAY_CLOCK_MASK) { + case GC_DISPLAY_CLOCK_333_MHZ: + return 333000; + default: + case GC_DISPLAY_CLOCK_190_200_MHZ: + return 190000; + } + } +} + +static int i865_get_display_clock_speed(struct drm_device *dev) +{ + return 266000; +} + +static int i855_get_display_clock_speed(struct drm_device *dev) +{ + u16 hpllcc = 0; + /* Assume that the hardware is in the high speed state. This + * should be the default. + */ + switch (hpllcc & GC_CLOCK_CONTROL_MASK) { + case GC_CLOCK_133_200: + case GC_CLOCK_100_200: + return 200000; + case GC_CLOCK_166_250: + return 250000; + case GC_CLOCK_100_133: + return 133000; + } + + /* Shouldn't happen */ + return 0; +} + +static int i830_get_display_clock_speed(struct drm_device *dev) +{ + return 133000; +} + +struct fdi_m_n { + u32 tu; + u32 gmch_m; + u32 gmch_n; + u32 link_m; + u32 link_n; +}; + +static void +fdi_reduce_ratio(u32 *num, u32 *den) +{ + while (*num > 0xffffff || *den > 0xffffff) { + *num >>= 1; + *den >>= 1; + } +} + +static void +ironlake_compute_m_n(int bits_per_pixel, int nlanes, int pixel_clock, + int link_clock, struct fdi_m_n *m_n) +{ + m_n->tu = 64; /* default size */ + + /* BUG_ON(pixel_clock > INT_MAX / 36); */ + m_n->gmch_m = bits_per_pixel * pixel_clock; + m_n->gmch_n = link_clock * nlanes * 8; + fdi_reduce_ratio(&m_n->gmch_m, &m_n->gmch_n); + + m_n->link_m = pixel_clock; + m_n->link_n = link_clock; + fdi_reduce_ratio(&m_n->link_m, &m_n->link_n); +} + +static inline bool intel_panel_use_ssc(struct drm_i915_private *dev_priv) +{ + if (i915_panel_use_ssc >= 0) + return i915_panel_use_ssc != 0; + return dev_priv->lvds_use_ssc + && !(dev_priv->quirks & QUIRK_LVDS_SSC_DISABLE); +} + +/** + * intel_choose_pipe_bpp_dither - figure out what color depth the pipe should send + * @crtc: CRTC structure + * @mode: requested mode + * + * A pipe may be connected to one or more outputs. Based on the depth of the + * attached framebuffer, choose a good color depth to use on the pipe. + * + * If possible, match the pipe depth to the fb depth. In some cases, this + * isn't ideal, because the connected output supports a lesser or restricted + * set of depths. Resolve that here: + * LVDS typically supports only 6bpc, so clamp down in that case + * HDMI supports only 8bpc or 12bpc, so clamp to 8bpc with dither for 10bpc + * Displays may support a restricted set as well, check EDID and clamp as + * appropriate. + * DP may want to dither down to 6bpc to fit larger modes + * + * RETURNS: + * Dithering requirement (i.e. false if display bpc and pipe bpc match, + * true if they don't match). + */ +static bool intel_choose_pipe_bpp_dither(struct drm_crtc *crtc, + struct drm_framebuffer *fb, + unsigned int *pipe_bpp, + struct drm_display_mode *mode) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_connector *connector; + struct intel_encoder *intel_encoder; + unsigned int display_bpc = UINT_MAX, bpc; + + /* Walk the encoders & connectors on this crtc, get min bpc */ + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + + if (intel_encoder->type == INTEL_OUTPUT_LVDS) { + unsigned int lvds_bpc; + + if ((I915_READ(PCH_LVDS) & LVDS_A3_POWER_MASK) == + LVDS_A3_POWER_UP) + lvds_bpc = 8; + else + lvds_bpc = 6; + + if (lvds_bpc < display_bpc) { + DRM_DEBUG_KMS("clamping display bpc (was %d) to LVDS (%d)\n", display_bpc, lvds_bpc); + display_bpc = lvds_bpc; + } + continue; + } + + /* Not one of the known troublemakers, check the EDID */ + list_for_each_entry(connector, &dev->mode_config.connector_list, + head) { + if (connector->encoder != &intel_encoder->base) + continue; + + /* Don't use an invalid EDID bpc value */ + if (connector->display_info.bpc && + connector->display_info.bpc < display_bpc) { + DRM_DEBUG_KMS("clamping display bpc (was %d) to EDID reported max of %d\n", display_bpc, connector->display_info.bpc); + display_bpc = connector->display_info.bpc; + } + } + + if (intel_encoder->type == INTEL_OUTPUT_EDP) { + /* Use VBT settings if we have an eDP panel */ + unsigned int edp_bpc = dev_priv->edp.bpp / 3; + + if (edp_bpc && edp_bpc < display_bpc) { + DRM_DEBUG_KMS("clamping display bpc (was %d) to eDP (%d)\n", display_bpc, edp_bpc); + display_bpc = edp_bpc; + } + continue; + } + + /* + * HDMI is either 12 or 8, so if the display lets 10bpc sneak + * through, clamp it down. (Note: >12bpc will be caught below.) + */ + if (intel_encoder->type == INTEL_OUTPUT_HDMI) { + if (display_bpc > 8 && display_bpc < 12) { + DRM_DEBUG_KMS("forcing bpc to 12 for HDMI\n"); + display_bpc = 12; + } else { + DRM_DEBUG_KMS("forcing bpc to 8 for HDMI\n"); + display_bpc = 8; + } + } + } + + if (mode->private_flags & INTEL_MODE_DP_FORCE_6BPC) { + DRM_DEBUG_KMS("Dithering DP to 6bpc\n"); + display_bpc = 6; + } + + /* + * We could just drive the pipe at the highest bpc all the time and + * enable dithering as needed, but that costs bandwidth. So choose + * the minimum value that expresses the full color range of the fb but + * also stays within the max display bpc discovered above. + */ + + switch (fb->depth) { + case 8: + bpc = 8; /* since we go through a colormap */ + break; + case 15: + case 16: + bpc = 6; /* min is 18bpp */ + break; + case 24: + bpc = 8; + break; + case 30: + bpc = 10; + break; + case 48: + bpc = 12; + break; + default: + DRM_DEBUG("unsupported depth, assuming 24 bits\n"); + bpc = min((unsigned int)8, display_bpc); + break; + } + + display_bpc = min(display_bpc, bpc); + + DRM_DEBUG_KMS("setting pipe bpc to %d (max display bpc %d)\n", + bpc, display_bpc); + + *pipe_bpp = display_bpc * 3; + + return display_bpc != bpc; +} + +static int vlv_get_refclk(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int refclk = 27000; /* for DP & HDMI */ + + return 100000; /* only one validated so far */ + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG)) { + refclk = 96000; + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + if (intel_panel_use_ssc(dev_priv)) + refclk = 100000; + else + refclk = 96000; + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP)) { + refclk = 100000; + } + + return refclk; +} + +static int i9xx_get_refclk(struct drm_crtc *crtc, int num_connectors) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int refclk; + + if (IS_VALLEYVIEW(dev)) { + refclk = vlv_get_refclk(crtc); + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) && + intel_panel_use_ssc(dev_priv) && num_connectors < 2) { + refclk = dev_priv->lvds_ssc_freq * 1000; + DRM_DEBUG_KMS("using SSC reference clock of %d MHz\n", + refclk / 1000); + } else if (!IS_GEN2(dev)) { + refclk = 96000; + } else { + refclk = 48000; + } + + return refclk; +} + +static void i9xx_adjust_sdvo_tv_clock(struct drm_display_mode *adjusted_mode, + intel_clock_t *clock) +{ + /* SDVO TV has fixed PLL values depend on its clock range, + this mirrors vbios setting. */ + if (adjusted_mode->clock >= 100000 + && adjusted_mode->clock < 140500) { + clock->p1 = 2; + clock->p2 = 10; + clock->n = 3; + clock->m1 = 16; + clock->m2 = 8; + } else if (adjusted_mode->clock >= 140500 + && adjusted_mode->clock <= 200000) { + clock->p1 = 1; + clock->p2 = 10; + clock->n = 6; + clock->m1 = 12; + clock->m2 = 8; + } +} + +static void i9xx_update_pll_dividers(struct drm_crtc *crtc, + intel_clock_t *clock, + intel_clock_t *reduced_clock) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 fp, fp2 = 0; + + if (IS_PINEVIEW(dev)) { + fp = (1 << clock->n) << 16 | clock->m1 << 8 | clock->m2; + if (reduced_clock) + fp2 = (1 << reduced_clock->n) << 16 | + reduced_clock->m1 << 8 | reduced_clock->m2; + } else { + fp = clock->n << 16 | clock->m1 << 8 | clock->m2; + if (reduced_clock) + fp2 = reduced_clock->n << 16 | reduced_clock->m1 << 8 | + reduced_clock->m2; + } + + I915_WRITE(FP0(pipe), fp); + + intel_crtc->lowfreq_avail = false; + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) && + reduced_clock && i915_powersave) { + I915_WRITE(FP1(pipe), fp2); + intel_crtc->lowfreq_avail = true; + } else { + I915_WRITE(FP1(pipe), fp); + } +} + +static void intel_update_lvds(struct drm_crtc *crtc, intel_clock_t *clock, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 temp; + + temp = I915_READ(LVDS); + temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP; + if (pipe == 1) { + temp |= LVDS_PIPEB_SELECT; + } else { + temp &= ~LVDS_PIPEB_SELECT; + } + /* set the corresponsding LVDS_BORDER bit */ + temp |= dev_priv->lvds_border_bits; + /* Set the B0-B3 data pairs corresponding to whether we're going to + * set the DPLLs for dual-channel mode or not. + */ + if (clock->p2 == 7) + temp |= LVDS_B0B3_POWER_UP | LVDS_CLKB_POWER_UP; + else + temp &= ~(LVDS_B0B3_POWER_UP | LVDS_CLKB_POWER_UP); + + /* It would be nice to set 24 vs 18-bit mode (LVDS_A3_POWER_UP) + * appropriately here, but we need to look more thoroughly into how + * panels behave in the two modes. + */ + /* set the dithering flag on LVDS as needed */ + if (INTEL_INFO(dev)->gen >= 4) { + if (dev_priv->lvds_dither) + temp |= LVDS_ENABLE_DITHER; + else + temp &= ~LVDS_ENABLE_DITHER; + } + temp &= ~(LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY); + if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) + temp |= LVDS_HSYNC_POLARITY; + if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC) + temp |= LVDS_VSYNC_POLARITY; + I915_WRITE(LVDS, temp); +} + +static void vlv_update_pll(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode, + intel_clock_t *clock, intel_clock_t *reduced_clock, + int num_connectors) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 dpll, mdiv, pdiv; + u32 bestn, bestm1, bestm2, bestp1, bestp2; + bool is_sdvo; + u32 temp; + + is_sdvo = intel_pipe_has_type(crtc, INTEL_OUTPUT_SDVO) || + intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI); + + dpll = DPLL_VGA_MODE_DIS; + dpll |= DPLL_EXT_BUFFER_ENABLE_VLV; + dpll |= DPLL_REFA_CLK_ENABLE_VLV; + dpll |= DPLL_INTEGRATED_CLOCK_VLV; + + I915_WRITE(DPLL(pipe), dpll); + POSTING_READ(DPLL(pipe)); + + bestn = clock->n; + bestm1 = clock->m1; + bestm2 = clock->m2; + bestp1 = clock->p1; + bestp2 = clock->p2; + + /* + * In Valleyview PLL and program lane counter registers are exposed + * through DPIO interface + */ + mdiv = ((bestm1 << DPIO_M1DIV_SHIFT) | (bestm2 & DPIO_M2DIV_MASK)); + mdiv |= ((bestp1 << DPIO_P1_SHIFT) | (bestp2 << DPIO_P2_SHIFT)); + mdiv |= ((bestn << DPIO_N_SHIFT)); + mdiv |= (1 << DPIO_POST_DIV_SHIFT); + mdiv |= (1 << DPIO_K_SHIFT); + mdiv |= DPIO_ENABLE_CALIBRATION; + intel_dpio_write(dev_priv, DPIO_DIV(pipe), mdiv); + + intel_dpio_write(dev_priv, DPIO_CORE_CLK(pipe), 0x01000000); + + pdiv = (1 << DPIO_REFSEL_OVERRIDE) | (5 << DPIO_PLL_MODESEL_SHIFT) | + (3 << DPIO_BIAS_CURRENT_CTL_SHIFT) | (1<<20) | + (7 << DPIO_PLL_REFCLK_SEL_SHIFT) | (8 << DPIO_DRIVER_CTL_SHIFT) | + (5 << DPIO_CLK_BIAS_CTL_SHIFT); + intel_dpio_write(dev_priv, DPIO_REFSFR(pipe), pdiv); + + intel_dpio_write(dev_priv, DPIO_LFP_COEFF(pipe), 0x005f003b); + + dpll |= DPLL_VCO_ENABLE; + I915_WRITE(DPLL(pipe), dpll); + POSTING_READ(DPLL(pipe)); + if (wait_for(((I915_READ(DPLL(pipe)) & DPLL_LOCK_VLV) == DPLL_LOCK_VLV), 1)) + DRM_ERROR("DPLL %d failed to lock\n", pipe); + + intel_dpio_write(dev_priv, DPIO_FASTCLK_DISABLE, 0x620); + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) + intel_dp_set_m_n(crtc, mode, adjusted_mode); + + I915_WRITE(DPLL(pipe), dpll); + + /* Wait for the clocks to stabilize. */ + POSTING_READ(DPLL(pipe)); + udelay(150); + + temp = 0; + if (is_sdvo) { + temp = intel_mode_get_pixel_multiplier(adjusted_mode); + if (temp > 1) + temp = (temp - 1) << DPLL_MD_UDI_MULTIPLIER_SHIFT; + else + temp = 0; + } + I915_WRITE(DPLL_MD(pipe), temp); + POSTING_READ(DPLL_MD(pipe)); + + /* Now program lane control registers */ + if(intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) + || intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI)) + { + temp = 0x1000C4; + if(pipe == 1) + temp |= (1 << 21); + intel_dpio_write(dev_priv, DPIO_DATA_CHANNEL1, temp); + } + if(intel_pipe_has_type(crtc,INTEL_OUTPUT_EDP)) + { + temp = 0x1000C4; + if(pipe == 1) + temp |= (1 << 21); + intel_dpio_write(dev_priv, DPIO_DATA_CHANNEL2, temp); + } +} + +static void i9xx_update_pll(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode, + intel_clock_t *clock, intel_clock_t *reduced_clock, + int num_connectors) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 dpll; + bool is_sdvo; + + i9xx_update_pll_dividers(crtc, clock, reduced_clock); + + is_sdvo = intel_pipe_has_type(crtc, INTEL_OUTPUT_SDVO) || + intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI); + + dpll = DPLL_VGA_MODE_DIS; + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) + dpll |= DPLLB_MODE_LVDS; + else + dpll |= DPLLB_MODE_DAC_SERIAL; + if (is_sdvo) { + int pixel_multiplier = intel_mode_get_pixel_multiplier(adjusted_mode); + if (pixel_multiplier > 1) { + if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) + dpll |= (pixel_multiplier - 1) << SDVO_MULTIPLIER_SHIFT_HIRES; + } + dpll |= DPLL_DVO_HIGH_SPEED; + } + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) + dpll |= DPLL_DVO_HIGH_SPEED; + + /* compute bitmask from p1 value */ + if (IS_PINEVIEW(dev)) + dpll |= (1 << (clock->p1 - 1)) << DPLL_FPA01_P1_POST_DIV_SHIFT_PINEVIEW; + else { + dpll |= (1 << (clock->p1 - 1)) << DPLL_FPA01_P1_POST_DIV_SHIFT; + if (IS_G4X(dev) && reduced_clock) + dpll |= (1 << (reduced_clock->p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; + } + switch (clock->p2) { + case 5: + dpll |= DPLL_DAC_SERIAL_P2_CLOCK_DIV_5; + break; + case 7: + dpll |= DPLLB_LVDS_P2_CLOCK_DIV_7; + break; + case 10: + dpll |= DPLL_DAC_SERIAL_P2_CLOCK_DIV_10; + break; + case 14: + dpll |= DPLLB_LVDS_P2_CLOCK_DIV_14; + break; + } + if (INTEL_INFO(dev)->gen >= 4) + dpll |= (6 << PLL_LOAD_PULSE_PHASE_SHIFT); + + if (is_sdvo && intel_pipe_has_type(crtc, INTEL_OUTPUT_TVOUT)) + dpll |= PLL_REF_INPUT_TVCLKINBC; + else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_TVOUT)) + /* XXX: just matching BIOS for now */ + /* dpll |= PLL_REF_INPUT_TVCLKINBC; */ + dpll |= 3; + else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) && + intel_panel_use_ssc(dev_priv) && num_connectors < 2) + dpll |= PLLB_REF_INPUT_SPREADSPECTRUMIN; + else + dpll |= PLL_REF_INPUT_DREFCLK; + + dpll |= DPLL_VCO_ENABLE; + I915_WRITE(DPLL(pipe), dpll & ~DPLL_VCO_ENABLE); + POSTING_READ(DPLL(pipe)); + udelay(150); + + /* The LVDS pin pair needs to be on before the DPLLs are enabled. + * This is an exception to the general rule that mode_set doesn't turn + * things on. + */ + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) + intel_update_lvds(crtc, clock, adjusted_mode); + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) + intel_dp_set_m_n(crtc, mode, adjusted_mode); + + I915_WRITE(DPLL(pipe), dpll); + + /* Wait for the clocks to stabilize. */ + POSTING_READ(DPLL(pipe)); + udelay(150); + + if (INTEL_INFO(dev)->gen >= 4) { + u32 temp = 0; + if (is_sdvo) { + temp = intel_mode_get_pixel_multiplier(adjusted_mode); + if (temp > 1) + temp = (temp - 1) << DPLL_MD_UDI_MULTIPLIER_SHIFT; + else + temp = 0; + } + I915_WRITE(DPLL_MD(pipe), temp); + } else { + /* The pixel multiplier can only be updated once the + * DPLL is enabled and the clocks are stable. + * + * So write it again. + */ + I915_WRITE(DPLL(pipe), dpll); + } +} + +static void i8xx_update_pll(struct drm_crtc *crtc, + struct drm_display_mode *adjusted_mode, + intel_clock_t *clock, intel_clock_t *reduced_clock, + int num_connectors) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 dpll; + + i9xx_update_pll_dividers(crtc, clock, reduced_clock); + + dpll = DPLL_VGA_MODE_DIS; + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + dpll |= (1 << (clock->p1 - 1)) << DPLL_FPA01_P1_POST_DIV_SHIFT; + } else { + if (clock->p1 == 2) + dpll |= PLL_P1_DIVIDE_BY_TWO; + else + dpll |= (clock->p1 - 2) << DPLL_FPA01_P1_POST_DIV_SHIFT; + if (clock->p2 == 4) + dpll |= PLL_P2_DIVIDE_BY_4; + } + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_TVOUT)) + /* XXX: just matching BIOS for now */ + /* dpll |= PLL_REF_INPUT_TVCLKINBC; */ + dpll |= 3; + else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) && + intel_panel_use_ssc(dev_priv) && num_connectors < 2) + dpll |= PLLB_REF_INPUT_SPREADSPECTRUMIN; + else + dpll |= PLL_REF_INPUT_DREFCLK; + + dpll |= DPLL_VCO_ENABLE; + I915_WRITE(DPLL(pipe), dpll & ~DPLL_VCO_ENABLE); + POSTING_READ(DPLL(pipe)); + udelay(150); + + /* The LVDS pin pair needs to be on before the DPLLs are enabled. + * This is an exception to the general rule that mode_set doesn't turn + * things on. + */ + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) + intel_update_lvds(crtc, clock, adjusted_mode); + + I915_WRITE(DPLL(pipe), dpll); + + /* Wait for the clocks to stabilize. */ + POSTING_READ(DPLL(pipe)); + udelay(150); + + /* The pixel multiplier can only be updated once the + * DPLL is enabled and the clocks are stable. + * + * So write it again. + */ + I915_WRITE(DPLL(pipe), dpll); +} + +static void intel_set_pipe_timings(struct intel_crtc *intel_crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = intel_crtc->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + enum pipe pipe = intel_crtc->pipe; + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + uint32_t vsyncshift; + + if (!IS_GEN2(dev) && adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) { + /* the chip adds 2 halflines automatically */ + adjusted_mode->crtc_vtotal -= 1; + adjusted_mode->crtc_vblank_end -= 1; + vsyncshift = adjusted_mode->crtc_hsync_start + - adjusted_mode->crtc_htotal / 2; + } else { + vsyncshift = 0; + } + + if (INTEL_INFO(dev)->gen > 3) + I915_WRITE(VSYNCSHIFT(cpu_transcoder), vsyncshift); + + I915_WRITE(HTOTAL(cpu_transcoder), + (adjusted_mode->crtc_hdisplay - 1) | + ((adjusted_mode->crtc_htotal - 1) << 16)); + I915_WRITE(HBLANK(cpu_transcoder), + (adjusted_mode->crtc_hblank_start - 1) | + ((adjusted_mode->crtc_hblank_end - 1) << 16)); + I915_WRITE(HSYNC(cpu_transcoder), + (adjusted_mode->crtc_hsync_start - 1) | + ((adjusted_mode->crtc_hsync_end - 1) << 16)); + + I915_WRITE(VTOTAL(cpu_transcoder), + (adjusted_mode->crtc_vdisplay - 1) | + ((adjusted_mode->crtc_vtotal - 1) << 16)); + I915_WRITE(VBLANK(cpu_transcoder), + (adjusted_mode->crtc_vblank_start - 1) | + ((adjusted_mode->crtc_vblank_end - 1) << 16)); + I915_WRITE(VSYNC(cpu_transcoder), + (adjusted_mode->crtc_vsync_start - 1) | + ((adjusted_mode->crtc_vsync_end - 1) << 16)); + + /* Workaround: when the EDP input selection is B, the VTOTAL_B must be + * programmed with the VTOTAL_EDP value. Same for VTOTAL_C. This is + * documented on the DDI_FUNC_CTL register description, EDP Input Select + * bits. */ + if (IS_HASWELL(dev) && cpu_transcoder == TRANSCODER_EDP && + (pipe == PIPE_B || pipe == PIPE_C)) + I915_WRITE(VTOTAL(pipe), I915_READ(VTOTAL(cpu_transcoder))); + + /* pipesrc controls the size that is scaled from, which should + * always be the user's requested size. + */ + I915_WRITE(PIPESRC(pipe), + ((mode->hdisplay - 1) << 16) | (mode->vdisplay - 1)); +} + +static int i9xx_crtc_mode_set(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode, + int x, int y, + struct drm_framebuffer *fb) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + int refclk, num_connectors = 0; + intel_clock_t clock, reduced_clock; + u32 dspcntr, pipeconf; + bool ok, has_reduced_clock = false, is_sdvo = false; + bool is_lvds = false, is_tv = false, is_dp = false; + struct intel_encoder *encoder; + const intel_limit_t *limit; + int ret; + + for_each_encoder_on_crtc(dev, crtc, encoder) { + switch (encoder->type) { + case INTEL_OUTPUT_LVDS: + is_lvds = true; + break; + case INTEL_OUTPUT_SDVO: + case INTEL_OUTPUT_HDMI: + is_sdvo = true; + if (encoder->needs_tv_clock) + is_tv = true; + break; + case INTEL_OUTPUT_TVOUT: + is_tv = true; + break; + case INTEL_OUTPUT_DISPLAYPORT: + is_dp = true; + break; + } + + num_connectors++; + } + + refclk = i9xx_get_refclk(crtc, num_connectors); + + /* + * Returns a set of divisors for the desired target clock with the given + * refclk, or FALSE. The returned values represent the clock equation: + * reflck * (5 * (m1 + 2) + (m2 + 2)) / (n + 2) / p1 / p2. + */ + limit = intel_limit(crtc, refclk); + ok = limit->find_pll(limit, crtc, adjusted_mode->clock, refclk, NULL, + &clock); + if (!ok) { + DRM_ERROR("Couldn't find PLL settings for mode!\n"); + return -EINVAL; + } + + /* Ensure that the cursor is valid for the new mode before changing... */ + intel_crtc_update_cursor(crtc, true); + + if (is_lvds && dev_priv->lvds_downclock_avail) { + /* + * Ensure we match the reduced clock's P to the target clock. + * If the clocks don't match, we can't switch the display clock + * by using the FP0/FP1. In such case we will disable the LVDS + * downclock feature. + */ + has_reduced_clock = limit->find_pll(limit, crtc, + dev_priv->lvds_downclock, + refclk, + &clock, + &reduced_clock); + } + + if (is_sdvo && is_tv) + i9xx_adjust_sdvo_tv_clock(adjusted_mode, &clock); + + if (IS_GEN2(dev)) + i8xx_update_pll(crtc, adjusted_mode, &clock, + has_reduced_clock ? &reduced_clock : NULL, + num_connectors); + else if (IS_VALLEYVIEW(dev)) + vlv_update_pll(crtc, mode, adjusted_mode, &clock, + has_reduced_clock ? &reduced_clock : NULL, + num_connectors); + else + i9xx_update_pll(crtc, mode, adjusted_mode, &clock, + has_reduced_clock ? &reduced_clock : NULL, + num_connectors); + + /* setup pipeconf */ + pipeconf = I915_READ(PIPECONF(pipe)); + + /* Set up the display plane register */ + dspcntr = DISPPLANE_GAMMA_ENABLE; + + if (pipe == 0) + dspcntr &= ~DISPPLANE_SEL_PIPE_MASK; + else + dspcntr |= DISPPLANE_SEL_PIPE_B; + + if (pipe == 0 && INTEL_INFO(dev)->gen < 4) { + /* Enable pixel doubling when the dot clock is > 90% of the (display) + * core speed. + * + * XXX: No double-wide on 915GM pipe B. Is that the only reason for the + * pipe == 0 check? + */ + if (mode->clock > + dev_priv->display.get_display_clock_speed(dev) * 9 / 10) + pipeconf |= PIPECONF_DOUBLE_WIDE; + else + pipeconf &= ~PIPECONF_DOUBLE_WIDE; + } + + /* default to 8bpc */ + pipeconf &= ~(PIPECONF_BPP_MASK | PIPECONF_DITHER_EN); + if (is_dp) { + if (mode->private_flags & INTEL_MODE_DP_FORCE_6BPC) { + pipeconf |= PIPECONF_BPP_6 | + PIPECONF_DITHER_EN | + PIPECONF_DITHER_TYPE_SP; + } + } + + if (IS_VALLEYVIEW(dev) && intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP)) { + if (adjusted_mode->private_flags & INTEL_MODE_DP_FORCE_6BPC) { + pipeconf |= PIPECONF_BPP_6 | + PIPECONF_ENABLE | + I965_PIPECONF_ACTIVE; + } + } + + DRM_DEBUG_KMS("Mode for pipe %c:\n", pipe == 0 ? 'A' : 'B'); + drm_mode_debug_printmodeline(mode); + + if (HAS_PIPE_CXSR(dev)) { + if (intel_crtc->lowfreq_avail) { + DRM_DEBUG_KMS("enabling CxSR downclocking\n"); + pipeconf |= PIPECONF_CXSR_DOWNCLOCK; + } else { + DRM_DEBUG_KMS("disabling CxSR downclocking\n"); + pipeconf &= ~PIPECONF_CXSR_DOWNCLOCK; + } + } + + pipeconf &= ~PIPECONF_INTERLACE_MASK; + if (!IS_GEN2(dev) && + adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) + pipeconf |= PIPECONF_INTERLACE_W_FIELD_INDICATION; + else + pipeconf |= PIPECONF_PROGRESSIVE; + + intel_set_pipe_timings(intel_crtc, mode, adjusted_mode); + + /* pipesrc and dspsize control the size that is scaled from, + * which should always be the user's requested size. + */ + I915_WRITE(DSPSIZE(plane), + ((mode->vdisplay - 1) << 16) | + (mode->hdisplay - 1)); + I915_WRITE(DSPPOS(plane), 0); + + I915_WRITE(PIPECONF(pipe), pipeconf); + POSTING_READ(PIPECONF(pipe)); + intel_enable_pipe(dev_priv, pipe, false); + + intel_wait_for_vblank(dev, pipe); + + I915_WRITE(DSPCNTR(plane), dspcntr); + POSTING_READ(DSPCNTR(plane)); + + ret = intel_pipe_set_base(crtc, x, y, fb); + + intel_update_watermarks(dev); + + return ret; +} + +static void ironlake_init_pch_refclk(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_mode_config *mode_config = &dev->mode_config; + struct intel_encoder *encoder; + u32 temp; + bool has_lvds = false; + bool has_cpu_edp = false; + bool has_pch_edp = false; + bool has_panel = false; + bool has_ck505 = false; + bool can_ssc = false; + + /* We need to take the global config into account */ + list_for_each_entry(encoder, &mode_config->encoder_list, + base.head) { + switch (encoder->type) { + case INTEL_OUTPUT_LVDS: + has_panel = true; + has_lvds = true; + break; + case INTEL_OUTPUT_EDP: + has_panel = true; + if (intel_encoder_is_pch_edp(&encoder->base)) + has_pch_edp = true; + else + has_cpu_edp = true; + break; + } + } + + if (HAS_PCH_IBX(dev)) { + has_ck505 = dev_priv->display_clock_mode; + can_ssc = has_ck505; + } else { + has_ck505 = false; + can_ssc = true; + } + + DRM_DEBUG_KMS("has_panel %d has_lvds %d has_pch_edp %d has_cpu_edp %d has_ck505 %d\n", + has_panel, has_lvds, has_pch_edp, has_cpu_edp, + has_ck505); + + /* Ironlake: try to setup display ref clock before DPLL + * enabling. This is only under driver's control after + * PCH B stepping, previous chipset stepping should be + * ignoring this setting. + */ + temp = I915_READ(PCH_DREF_CONTROL); + /* Always enable nonspread source */ + temp &= ~DREF_NONSPREAD_SOURCE_MASK; + + if (has_ck505) + temp |= DREF_NONSPREAD_CK505_ENABLE; + else + temp |= DREF_NONSPREAD_SOURCE_ENABLE; + + if (has_panel) { + temp &= ~DREF_SSC_SOURCE_MASK; + temp |= DREF_SSC_SOURCE_ENABLE; + + /* SSC must be turned on before enabling the CPU output */ + if (intel_panel_use_ssc(dev_priv) && can_ssc) { + DRM_DEBUG_KMS("Using SSC on panel\n"); + temp |= DREF_SSC1_ENABLE; + } else + temp &= ~DREF_SSC1_ENABLE; + + /* Get SSC going before enabling the outputs */ + I915_WRITE(PCH_DREF_CONTROL, temp); + POSTING_READ(PCH_DREF_CONTROL); + udelay(200); + + temp &= ~DREF_CPU_SOURCE_OUTPUT_MASK; + + /* Enable CPU source on CPU attached eDP */ + if (has_cpu_edp) { + if (intel_panel_use_ssc(dev_priv) && can_ssc) { + DRM_DEBUG_KMS("Using SSC on eDP\n"); + temp |= DREF_CPU_SOURCE_OUTPUT_DOWNSPREAD; + } + else + temp |= DREF_CPU_SOURCE_OUTPUT_NONSPREAD; + } else + temp |= DREF_CPU_SOURCE_OUTPUT_DISABLE; + + I915_WRITE(PCH_DREF_CONTROL, temp); + POSTING_READ(PCH_DREF_CONTROL); + udelay(200); + } else { + DRM_DEBUG_KMS("Disabling SSC entirely\n"); + + temp &= ~DREF_CPU_SOURCE_OUTPUT_MASK; + + /* Turn off CPU output */ + temp |= DREF_CPU_SOURCE_OUTPUT_DISABLE; + + I915_WRITE(PCH_DREF_CONTROL, temp); + POSTING_READ(PCH_DREF_CONTROL); + udelay(200); + + /* Turn off the SSC source */ + temp &= ~DREF_SSC_SOURCE_MASK; + temp |= DREF_SSC_SOURCE_DISABLE; + + /* Turn off SSC1 */ + temp &= ~ DREF_SSC1_ENABLE; + + I915_WRITE(PCH_DREF_CONTROL, temp); + POSTING_READ(PCH_DREF_CONTROL); + udelay(200); + } +} + +/* Sequence to enable CLKOUT_DP for FDI usage and configure PCH FDI I/O. */ +static void lpt_init_pch_refclk(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_mode_config *mode_config = &dev->mode_config; + struct intel_encoder *encoder; + bool has_vga = false; + bool is_sdv = false; + u32 tmp; + + list_for_each_entry(encoder, &mode_config->encoder_list, base.head) { + switch (encoder->type) { + case INTEL_OUTPUT_ANALOG: + has_vga = true; + break; + } + } + + if (!has_vga) + return; + + if (IS_HASWELL(dev) && (dev->pci_device & 0xFF00) == 0x0C00) + is_sdv = true; + + tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK); + tmp &= ~SBI_SSCCTL_DISABLE; + tmp |= SBI_SSCCTL_PATHALT; + intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK); + + udelay(24); + + tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK); + tmp &= ~SBI_SSCCTL_PATHALT; + intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK); + + if (!is_sdv) { + tmp = I915_READ(SOUTH_CHICKEN2); + tmp |= FDI_MPHY_IOSFSB_RESET_CTL; + I915_WRITE(SOUTH_CHICKEN2, tmp); + + if (wait_for_atomic_us(I915_READ(SOUTH_CHICKEN2) & + FDI_MPHY_IOSFSB_RESET_STATUS, 100)) + DRM_ERROR("FDI mPHY resert assert timeout\n"); + + tmp = I915_READ(SOUTH_CHICKEN2); + tmp &= ~FDI_MPHY_IOSFSB_RESET_CTL; + I915_WRITE(SOUTH_CHICKEN2, tmp); + + if (wait_for_atomic_us((I915_READ(SOUTH_CHICKEN2) & + FDI_MPHY_IOSFSB_RESET_STATUS) == 0, + 100)) + DRM_ERROR("FDI mPHY reset de-assert timeout\n"); + } + + tmp = intel_sbi_read(dev_priv, 0x8008, SBI_MPHY); + tmp &= ~(0xFF << 24); + tmp |= (0x12 << 24); + intel_sbi_write(dev_priv, 0x8008, tmp, SBI_MPHY); + + if (!is_sdv) { + tmp = intel_sbi_read(dev_priv, 0x808C, SBI_MPHY); + tmp &= ~(0x3 << 6); + tmp |= (1 << 6) | (1 << 0); + intel_sbi_write(dev_priv, 0x808C, tmp, SBI_MPHY); + } + + if (is_sdv) { + tmp = intel_sbi_read(dev_priv, 0x800C, SBI_MPHY); + tmp |= 0x7FFF; + intel_sbi_write(dev_priv, 0x800C, tmp, SBI_MPHY); + } + + tmp = intel_sbi_read(dev_priv, 0x2008, SBI_MPHY); + tmp |= (1 << 11); + intel_sbi_write(dev_priv, 0x2008, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x2108, SBI_MPHY); + tmp |= (1 << 11); + intel_sbi_write(dev_priv, 0x2108, tmp, SBI_MPHY); + + if (is_sdv) { + tmp = intel_sbi_read(dev_priv, 0x2038, SBI_MPHY); + tmp |= (0x3F << 24) | (0xF << 20) | (0xF << 16); + intel_sbi_write(dev_priv, 0x2038, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x2138, SBI_MPHY); + tmp |= (0x3F << 24) | (0xF << 20) | (0xF << 16); + intel_sbi_write(dev_priv, 0x2138, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x203C, SBI_MPHY); + tmp |= (0x3F << 8); + intel_sbi_write(dev_priv, 0x203C, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x213C, SBI_MPHY); + tmp |= (0x3F << 8); + intel_sbi_write(dev_priv, 0x213C, tmp, SBI_MPHY); + } + + tmp = intel_sbi_read(dev_priv, 0x206C, SBI_MPHY); + tmp |= (1 << 24) | (1 << 21) | (1 << 18); + intel_sbi_write(dev_priv, 0x206C, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x216C, SBI_MPHY); + tmp |= (1 << 24) | (1 << 21) | (1 << 18); + intel_sbi_write(dev_priv, 0x216C, tmp, SBI_MPHY); + + if (!is_sdv) { + tmp = intel_sbi_read(dev_priv, 0x2080, SBI_MPHY); + tmp &= ~(7 << 13); + tmp |= (5 << 13); + intel_sbi_write(dev_priv, 0x2080, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x2180, SBI_MPHY); + tmp &= ~(7 << 13); + tmp |= (5 << 13); + intel_sbi_write(dev_priv, 0x2180, tmp, SBI_MPHY); + } + + tmp = intel_sbi_read(dev_priv, 0x208C, SBI_MPHY); + tmp &= ~0xFF; + tmp |= 0x1C; + intel_sbi_write(dev_priv, 0x208C, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x218C, SBI_MPHY); + tmp &= ~0xFF; + tmp |= 0x1C; + intel_sbi_write(dev_priv, 0x218C, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x2098, SBI_MPHY); + tmp &= ~(0xFF << 16); + tmp |= (0x1C << 16); + intel_sbi_write(dev_priv, 0x2098, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x2198, SBI_MPHY); + tmp &= ~(0xFF << 16); + tmp |= (0x1C << 16); + intel_sbi_write(dev_priv, 0x2198, tmp, SBI_MPHY); + + if (!is_sdv) { + tmp = intel_sbi_read(dev_priv, 0x20C4, SBI_MPHY); + tmp |= (1 << 27); + intel_sbi_write(dev_priv, 0x20C4, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x21C4, SBI_MPHY); + tmp |= (1 << 27); + intel_sbi_write(dev_priv, 0x21C4, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x20EC, SBI_MPHY); + tmp &= ~(0xF << 28); + tmp |= (4 << 28); + intel_sbi_write(dev_priv, 0x20EC, tmp, SBI_MPHY); + + tmp = intel_sbi_read(dev_priv, 0x21EC, SBI_MPHY); + tmp &= ~(0xF << 28); + tmp |= (4 << 28); + intel_sbi_write(dev_priv, 0x21EC, tmp, SBI_MPHY); + } + + tmp = intel_sbi_read(dev_priv, SBI_DBUFF0, SBI_ICLK); + tmp |= SBI_DBUFF0_ENABLE; + intel_sbi_write(dev_priv, SBI_DBUFF0, tmp, SBI_ICLK); +} + +/* + * Initialize reference clocks when the driver loads + */ +void intel_init_pch_refclk(struct drm_device *dev) +{ + if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) + ironlake_init_pch_refclk(dev); + else if (HAS_PCH_LPT(dev)) + lpt_init_pch_refclk(dev); +} + +static int ironlake_get_refclk(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *encoder; + struct intel_encoder *edp_encoder = NULL; + int num_connectors = 0; + bool is_lvds = false; + + for_each_encoder_on_crtc(dev, crtc, encoder) { + switch (encoder->type) { + case INTEL_OUTPUT_LVDS: + is_lvds = true; + break; + case INTEL_OUTPUT_EDP: + edp_encoder = encoder; + break; + } + num_connectors++; + } + + if (is_lvds && intel_panel_use_ssc(dev_priv) && num_connectors < 2) { + DRM_DEBUG_KMS("using SSC reference clock of %d MHz\n", + dev_priv->lvds_ssc_freq); + return dev_priv->lvds_ssc_freq * 1000; + } + + return 120000; +} + +static void ironlake_set_pipeconf(struct drm_crtc *crtc, + struct drm_display_mode *adjusted_mode, + bool dither) +{ + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + uint32_t val; + + val = I915_READ(PIPECONF(pipe)); + + val &= ~PIPE_BPC_MASK; + switch (intel_crtc->bpp) { + case 18: + val |= PIPE_6BPC; + break; + case 24: + val |= PIPE_8BPC; + break; + case 30: + val |= PIPE_10BPC; + break; + case 36: + val |= PIPE_12BPC; + break; + default: + /* Case prevented by intel_choose_pipe_bpp_dither. */ + BUG(); + } + + val &= ~(PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_MASK); + if (dither) + val |= (PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_SP); + + val &= ~PIPECONF_INTERLACE_MASK; + if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) + val |= PIPECONF_INTERLACED_ILK; + else + val |= PIPECONF_PROGRESSIVE; + + I915_WRITE(PIPECONF(pipe), val); + POSTING_READ(PIPECONF(pipe)); +} + +static void haswell_set_pipeconf(struct drm_crtc *crtc, + struct drm_display_mode *adjusted_mode, + bool dither) +{ + struct drm_i915_private *dev_priv = crtc->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + uint32_t val; + + val = I915_READ(PIPECONF(cpu_transcoder)); + + val &= ~(PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_MASK); + if (dither) + val |= (PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_SP); + + val &= ~PIPECONF_INTERLACE_MASK_HSW; + if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) + val |= PIPECONF_INTERLACED_ILK; + else + val |= PIPECONF_PROGRESSIVE; + + I915_WRITE(PIPECONF(cpu_transcoder), val); + POSTING_READ(PIPECONF(cpu_transcoder)); +} + +static bool ironlake_compute_clocks(struct drm_crtc *crtc, + struct drm_display_mode *adjusted_mode, + intel_clock_t *clock, + bool *has_reduced_clock, + intel_clock_t *reduced_clock) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *intel_encoder; + int refclk; + const intel_limit_t *limit; + bool ret, is_sdvo = false, is_tv = false, is_lvds = false; + + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + switch (intel_encoder->type) { + case INTEL_OUTPUT_LVDS: + is_lvds = true; + break; + case INTEL_OUTPUT_SDVO: + case INTEL_OUTPUT_HDMI: + is_sdvo = true; + if (intel_encoder->needs_tv_clock) + is_tv = true; + break; + case INTEL_OUTPUT_TVOUT: + is_tv = true; + break; + } + } + + refclk = ironlake_get_refclk(crtc); + + /* + * Returns a set of divisors for the desired target clock with the given + * refclk, or FALSE. The returned values represent the clock equation: + * reflck * (5 * (m1 + 2) + (m2 + 2)) / (n + 2) / p1 / p2. + */ + limit = intel_limit(crtc, refclk); + ret = limit->find_pll(limit, crtc, adjusted_mode->clock, refclk, NULL, + clock); + if (!ret) + return false; + + if (is_lvds && dev_priv->lvds_downclock_avail) { + /* + * Ensure we match the reduced clock's P to the target clock. + * If the clocks don't match, we can't switch the display clock + * by using the FP0/FP1. In such case we will disable the LVDS + * downclock feature. + */ + *has_reduced_clock = limit->find_pll(limit, crtc, + dev_priv->lvds_downclock, + refclk, + clock, + reduced_clock); + } + + if (is_sdvo && is_tv) + i9xx_adjust_sdvo_tv_clock(adjusted_mode, clock); + + return true; +} + +static void cpt_enable_fdi_bc_bifurcation(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t temp; + + temp = I915_READ(SOUTH_CHICKEN1); + if (temp & FDI_BC_BIFURCATION_SELECT) + return; + + WARN_ON(I915_READ(FDI_RX_CTL(PIPE_B)) & FDI_RX_ENABLE); + WARN_ON(I915_READ(FDI_RX_CTL(PIPE_C)) & FDI_RX_ENABLE); + + temp |= FDI_BC_BIFURCATION_SELECT; + DRM_DEBUG_KMS("enabling fdi C rx\n"); + I915_WRITE(SOUTH_CHICKEN1, temp); + POSTING_READ(SOUTH_CHICKEN1); +} + +static bool ironlake_check_fdi_lanes(struct intel_crtc *intel_crtc) +{ + struct drm_device *dev = intel_crtc->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *pipe_B_crtc = + to_intel_crtc(dev_priv->pipe_to_crtc_mapping[PIPE_B]); + + DRM_DEBUG_KMS("checking fdi config on pipe %i, lanes %i\n", + intel_crtc->pipe, intel_crtc->fdi_lanes); + if (intel_crtc->fdi_lanes > 4) { + DRM_DEBUG_KMS("invalid fdi lane config on pipe %i: %i lanes\n", + intel_crtc->pipe, intel_crtc->fdi_lanes); + /* Clamp lanes to avoid programming the hw with bogus values. */ + intel_crtc->fdi_lanes = 4; + + return false; + } + + if (dev_priv->num_pipe == 2) + return true; + + switch (intel_crtc->pipe) { + case PIPE_A: + return true; + case PIPE_B: + if (dev_priv->pipe_to_crtc_mapping[PIPE_C]->enabled && + intel_crtc->fdi_lanes > 2) { + DRM_DEBUG_KMS("invalid shared fdi lane config on pipe %i: %i lanes\n", + intel_crtc->pipe, intel_crtc->fdi_lanes); + /* Clamp lanes to avoid programming the hw with bogus values. */ + intel_crtc->fdi_lanes = 2; + + return false; + } + + if (intel_crtc->fdi_lanes > 2) + WARN_ON(I915_READ(SOUTH_CHICKEN1) & FDI_BC_BIFURCATION_SELECT); + else + cpt_enable_fdi_bc_bifurcation(dev); + + return true; + case PIPE_C: + if (!pipe_B_crtc->base.enabled || pipe_B_crtc->fdi_lanes <= 2) { + if (intel_crtc->fdi_lanes > 2) { + DRM_DEBUG_KMS("invalid shared fdi lane config on pipe %i: %i lanes\n", + intel_crtc->pipe, intel_crtc->fdi_lanes); + /* Clamp lanes to avoid programming the hw with bogus values. */ + intel_crtc->fdi_lanes = 2; + + return false; + } + } else { + DRM_DEBUG_KMS("fdi link B uses too many lanes to enable link C\n"); + return false; + } + + cpt_enable_fdi_bc_bifurcation(dev); + + return true; + default: + BUG(); + } +} + +int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp) +{ + /* + * Account for spread spectrum to avoid + * oversubscribing the link. Max center spread + * is 2.5%; use 5% for safety's sake. + */ + u32 bps = target_clock * bpp * 21 / 20; + return bps / (link_bw * 8) + 1; +} + +static void ironlake_set_m_n(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + struct intel_encoder *intel_encoder, *edp_encoder = NULL; + struct fdi_m_n m_n = {0}; + int target_clock, pixel_multiplier, lane, link_bw; + bool is_dp = false, is_cpu_edp = false; + + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + switch (intel_encoder->type) { + case INTEL_OUTPUT_DISPLAYPORT: + is_dp = true; + break; + case INTEL_OUTPUT_EDP: + is_dp = true; + if (!intel_encoder_is_pch_edp(&intel_encoder->base)) + is_cpu_edp = true; + edp_encoder = intel_encoder; + break; + } + } + + /* FDI link */ + pixel_multiplier = intel_mode_get_pixel_multiplier(adjusted_mode); + lane = 0; + /* CPU eDP doesn't require FDI link, so just set DP M/N + according to current link config */ + if (is_cpu_edp) { + intel_edp_link_config(edp_encoder, &lane, &link_bw); + } else { + /* FDI is a binary signal running at ~2.7GHz, encoding + * each output octet as 10 bits. The actual frequency + * is stored as a divider into a 100MHz clock, and the + * mode pixel clock is stored in units of 1KHz. + * Hence the bw of each lane in terms of the mode signal + * is: + */ + link_bw = intel_fdi_link_freq(dev) * MHz(100)/KHz(1)/10; + } + + /* [e]DP over FDI requires target mode clock instead of link clock. */ + if (edp_encoder) + target_clock = intel_edp_target_clock(edp_encoder, mode); + else if (is_dp) + target_clock = mode->clock; + else + target_clock = adjusted_mode->clock; + + if (!lane) + lane = ironlake_get_lanes_required(target_clock, link_bw, + intel_crtc->bpp); + + intel_crtc->fdi_lanes = lane; + + if (pixel_multiplier > 1) + link_bw *= pixel_multiplier; + ironlake_compute_m_n(intel_crtc->bpp, lane, target_clock, link_bw, + &m_n); + + I915_WRITE(PIPE_DATA_M1(cpu_transcoder), TU_SIZE(m_n.tu) | m_n.gmch_m); + I915_WRITE(PIPE_DATA_N1(cpu_transcoder), m_n.gmch_n); + I915_WRITE(PIPE_LINK_M1(cpu_transcoder), m_n.link_m); + I915_WRITE(PIPE_LINK_N1(cpu_transcoder), m_n.link_n); +} + +static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc, + struct drm_display_mode *adjusted_mode, + intel_clock_t *clock, u32 fp) +{ + struct drm_crtc *crtc = &intel_crtc->base; + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *intel_encoder; + uint32_t dpll; + int factor, pixel_multiplier, num_connectors = 0; + bool is_lvds = false, is_sdvo = false, is_tv = false; + bool is_dp = false, is_cpu_edp = false; + + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + switch (intel_encoder->type) { + case INTEL_OUTPUT_LVDS: + is_lvds = true; + break; + case INTEL_OUTPUT_SDVO: + case INTEL_OUTPUT_HDMI: + is_sdvo = true; + if (intel_encoder->needs_tv_clock) + is_tv = true; + break; + case INTEL_OUTPUT_TVOUT: + is_tv = true; + break; + case INTEL_OUTPUT_DISPLAYPORT: + is_dp = true; + break; + case INTEL_OUTPUT_EDP: + is_dp = true; + if (!intel_encoder_is_pch_edp(&intel_encoder->base)) + is_cpu_edp = true; + break; + } + + num_connectors++; + } + + /* Enable autotuning of the PLL clock (if permissible) */ + factor = 21; + if (is_lvds) { + if ((intel_panel_use_ssc(dev_priv) && + dev_priv->lvds_ssc_freq == 100) || + (I915_READ(PCH_LVDS) & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP) + factor = 25; + } else if (is_sdvo && is_tv) + factor = 20; + + if (clock->m < factor * clock->n) + fp |= FP_CB_TUNE; + + dpll = 0; + + if (is_lvds) + dpll |= DPLLB_MODE_LVDS; + else + dpll |= DPLLB_MODE_DAC_SERIAL; + if (is_sdvo) { + pixel_multiplier = intel_mode_get_pixel_multiplier(adjusted_mode); + if (pixel_multiplier > 1) { + dpll |= (pixel_multiplier - 1) << PLL_REF_SDVO_HDMI_MULTIPLIER_SHIFT; + } + dpll |= DPLL_DVO_HIGH_SPEED; + } + if (is_dp && !is_cpu_edp) + dpll |= DPLL_DVO_HIGH_SPEED; + + /* compute bitmask from p1 value */ + dpll |= (1 << (clock->p1 - 1)) << DPLL_FPA01_P1_POST_DIV_SHIFT; + /* also FPA1 */ + dpll |= (1 << (clock->p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; + + switch (clock->p2) { + case 5: + dpll |= DPLL_DAC_SERIAL_P2_CLOCK_DIV_5; + break; + case 7: + dpll |= DPLLB_LVDS_P2_CLOCK_DIV_7; + break; + case 10: + dpll |= DPLL_DAC_SERIAL_P2_CLOCK_DIV_10; + break; + case 14: + dpll |= DPLLB_LVDS_P2_CLOCK_DIV_14; + break; + } + + if (is_sdvo && is_tv) + dpll |= PLL_REF_INPUT_TVCLKINBC; + else if (is_tv) + /* XXX: just matching BIOS for now */ + /* dpll |= PLL_REF_INPUT_TVCLKINBC; */ + dpll |= 3; + else if (is_lvds && intel_panel_use_ssc(dev_priv) && num_connectors < 2) + dpll |= PLLB_REF_INPUT_SPREADSPECTRUMIN; + else + dpll |= PLL_REF_INPUT_DREFCLK; + + return dpll; +} + +static int ironlake_crtc_mode_set(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode, + int x, int y, + struct drm_framebuffer *fb) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + int num_connectors = 0; + intel_clock_t clock, reduced_clock; + u32 dpll, fp = 0, fp2 = 0; + bool ok, has_reduced_clock = false; + bool is_lvds = false, is_dp = false, is_cpu_edp = false; + struct intel_encoder *encoder; + u32 temp; + int ret; + bool dither, fdi_config_ok; + + for_each_encoder_on_crtc(dev, crtc, encoder) { + switch (encoder->type) { + case INTEL_OUTPUT_LVDS: + is_lvds = true; + break; + case INTEL_OUTPUT_DISPLAYPORT: + is_dp = true; + break; + case INTEL_OUTPUT_EDP: + is_dp = true; + if (!intel_encoder_is_pch_edp(&encoder->base)) + is_cpu_edp = true; + break; + } + + num_connectors++; + } + + WARN(!(HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)), + "Unexpected PCH type %d\n", INTEL_PCH_TYPE(dev)); + + ok = ironlake_compute_clocks(crtc, adjusted_mode, &clock, + &has_reduced_clock, &reduced_clock); + if (!ok) { + DRM_ERROR("Couldn't find PLL settings for mode!\n"); + return -EINVAL; + } + + /* Ensure that the cursor is valid for the new mode before changing... */ + intel_crtc_update_cursor(crtc, true); + + /* determine panel color depth */ + dither = intel_choose_pipe_bpp_dither(crtc, fb, &intel_crtc->bpp, + adjusted_mode); + if (is_lvds && dev_priv->lvds_dither) + dither = true; + + fp = clock.n << 16 | clock.m1 << 8 | clock.m2; + if (has_reduced_clock) + fp2 = reduced_clock.n << 16 | reduced_clock.m1 << 8 | + reduced_clock.m2; + + dpll = ironlake_compute_dpll(intel_crtc, adjusted_mode, &clock, fp); + + DRM_DEBUG_KMS("Mode for pipe %d:\n", pipe); + drm_mode_debug_printmodeline(mode); + + /* CPU eDP is the only output that doesn't need a PCH PLL of its own. */ + if (!is_cpu_edp) { + struct intel_pch_pll *pll; + + pll = intel_get_pch_pll(intel_crtc, dpll, fp); + if (pll == NULL) { + DRM_DEBUG_DRIVER("failed to find PLL for pipe %d\n", + pipe); + return -EINVAL; + } + } else + intel_put_pch_pll(intel_crtc); + + /* The LVDS pin pair needs to be on before the DPLLs are enabled. + * This is an exception to the general rule that mode_set doesn't turn + * things on. + */ + if (is_lvds) { + temp = I915_READ(PCH_LVDS); + temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP; + if (HAS_PCH_CPT(dev)) { + temp &= ~PORT_TRANS_SEL_MASK; + temp |= PORT_TRANS_SEL_CPT(pipe); + } else { + if (pipe == 1) + temp |= LVDS_PIPEB_SELECT; + else + temp &= ~LVDS_PIPEB_SELECT; + } + + /* set the corresponsding LVDS_BORDER bit */ + temp |= dev_priv->lvds_border_bits; + /* Set the B0-B3 data pairs corresponding to whether we're going to + * set the DPLLs for dual-channel mode or not. + */ + if (clock.p2 == 7) + temp |= LVDS_B0B3_POWER_UP | LVDS_CLKB_POWER_UP; + else + temp &= ~(LVDS_B0B3_POWER_UP | LVDS_CLKB_POWER_UP); + + /* It would be nice to set 24 vs 18-bit mode (LVDS_A3_POWER_UP) + * appropriately here, but we need to look more thoroughly into how + * panels behave in the two modes. + */ + temp &= ~(LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY); + if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) + temp |= LVDS_HSYNC_POLARITY; + if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC) + temp |= LVDS_VSYNC_POLARITY; + I915_WRITE(PCH_LVDS, temp); + } + + if (is_dp && !is_cpu_edp) { + intel_dp_set_m_n(crtc, mode, adjusted_mode); + } else { + /* For non-DP output, clear any trans DP clock recovery setting.*/ + I915_WRITE(TRANSDATA_M1(pipe), 0); + I915_WRITE(TRANSDATA_N1(pipe), 0); + I915_WRITE(TRANSDPLINK_M1(pipe), 0); + I915_WRITE(TRANSDPLINK_N1(pipe), 0); + } + + if (intel_crtc->pch_pll) { + I915_WRITE(intel_crtc->pch_pll->pll_reg, dpll); + + /* Wait for the clocks to stabilize. */ + POSTING_READ(intel_crtc->pch_pll->pll_reg); + udelay(150); + + /* The pixel multiplier can only be updated once the + * DPLL is enabled and the clocks are stable. + * + * So write it again. + */ + I915_WRITE(intel_crtc->pch_pll->pll_reg, dpll); + } + + intel_crtc->lowfreq_avail = false; + if (intel_crtc->pch_pll) { + if (is_lvds && has_reduced_clock && i915_powersave) { + I915_WRITE(intel_crtc->pch_pll->fp1_reg, fp2); + intel_crtc->lowfreq_avail = true; + } else { + I915_WRITE(intel_crtc->pch_pll->fp1_reg, fp); + } + } + + intel_set_pipe_timings(intel_crtc, mode, adjusted_mode); + + /* Note, this also computes intel_crtc->fdi_lanes which is used below in + * ironlake_check_fdi_lanes. */ + ironlake_set_m_n(crtc, mode, adjusted_mode); + + fdi_config_ok = ironlake_check_fdi_lanes(intel_crtc); + + if (is_cpu_edp) + ironlake_set_pll_edp(crtc, adjusted_mode->clock); + + ironlake_set_pipeconf(crtc, adjusted_mode, dither); + + intel_wait_for_vblank(dev, pipe); + + /* Set up the display plane register */ + I915_WRITE(DSPCNTR(plane), DISPPLANE_GAMMA_ENABLE); + POSTING_READ(DSPCNTR(plane)); + + ret = intel_pipe_set_base(crtc, x, y, fb); + + intel_update_watermarks(dev); + + intel_update_linetime_watermarks(dev, pipe, adjusted_mode); + + return fdi_config_ok ? ret : -EINVAL; +} + +static int haswell_crtc_mode_set(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode, + int x, int y, + struct drm_framebuffer *fb) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + int plane = intel_crtc->plane; + int num_connectors = 0; + intel_clock_t clock, reduced_clock; + u32 dpll = 0, fp = 0, fp2 = 0; + bool ok, has_reduced_clock = false; + bool is_lvds = false, is_dp = false, is_cpu_edp = false; + struct intel_encoder *encoder; + u32 temp; + int ret; + bool dither; + + for_each_encoder_on_crtc(dev, crtc, encoder) { + switch (encoder->type) { + case INTEL_OUTPUT_LVDS: + is_lvds = true; + break; + case INTEL_OUTPUT_DISPLAYPORT: + is_dp = true; + break; + case INTEL_OUTPUT_EDP: + is_dp = true; + if (!intel_encoder_is_pch_edp(&encoder->base)) + is_cpu_edp = true; + break; + } + + num_connectors++; + } + + if (is_cpu_edp) + intel_crtc->cpu_transcoder = TRANSCODER_EDP; + else + intel_crtc->cpu_transcoder = pipe; + + /* We are not sure yet this won't happen. */ + WARN(!HAS_PCH_LPT(dev), "Unexpected PCH type %d\n", + INTEL_PCH_TYPE(dev)); + + WARN(num_connectors != 1, "%d connectors attached to pipe %c\n", + num_connectors, pipe_name(pipe)); + + WARN_ON(I915_READ(PIPECONF(intel_crtc->cpu_transcoder)) & + (PIPECONF_ENABLE | I965_PIPECONF_ACTIVE)); + + WARN_ON(I915_READ(DSPCNTR(plane)) & DISPLAY_PLANE_ENABLE); + + if (!intel_ddi_pll_mode_set(crtc, adjusted_mode->clock)) + return -EINVAL; + + if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) { + ok = ironlake_compute_clocks(crtc, adjusted_mode, &clock, + &has_reduced_clock, + &reduced_clock); + if (!ok) { + DRM_ERROR("Couldn't find PLL settings for mode!\n"); + return -EINVAL; + } + } + + /* Ensure that the cursor is valid for the new mode before changing... */ + intel_crtc_update_cursor(crtc, true); + + /* determine panel color depth */ + dither = intel_choose_pipe_bpp_dither(crtc, fb, &intel_crtc->bpp, + adjusted_mode); + if (is_lvds && dev_priv->lvds_dither) + dither = true; + + DRM_DEBUG_KMS("Mode for pipe %d:\n", pipe); + drm_mode_debug_printmodeline(mode); + + if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) { + fp = clock.n << 16 | clock.m1 << 8 | clock.m2; + if (has_reduced_clock) + fp2 = reduced_clock.n << 16 | reduced_clock.m1 << 8 | + reduced_clock.m2; + + dpll = ironlake_compute_dpll(intel_crtc, adjusted_mode, &clock, + fp); + + /* CPU eDP is the only output that doesn't need a PCH PLL of its + * own on pre-Haswell/LPT generation */ + if (!is_cpu_edp) { + struct intel_pch_pll *pll; + + pll = intel_get_pch_pll(intel_crtc, dpll, fp); + if (pll == NULL) { + DRM_DEBUG_DRIVER("failed to find PLL for pipe %d\n", + pipe); + return -EINVAL; + } + } else + intel_put_pch_pll(intel_crtc); + + /* The LVDS pin pair needs to be on before the DPLLs are + * enabled. This is an exception to the general rule that + * mode_set doesn't turn things on. + */ + if (is_lvds) { + temp = I915_READ(PCH_LVDS); + temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP; + if (HAS_PCH_CPT(dev)) { + temp &= ~PORT_TRANS_SEL_MASK; + temp |= PORT_TRANS_SEL_CPT(pipe); + } else { + if (pipe == 1) + temp |= LVDS_PIPEB_SELECT; + else + temp &= ~LVDS_PIPEB_SELECT; + } + + /* set the corresponsding LVDS_BORDER bit */ + temp |= dev_priv->lvds_border_bits; + /* Set the B0-B3 data pairs corresponding to whether + * we're going to set the DPLLs for dual-channel mode or + * not. + */ + if (clock.p2 == 7) + temp |= LVDS_B0B3_POWER_UP | LVDS_CLKB_POWER_UP; + else + temp &= ~(LVDS_B0B3_POWER_UP | + LVDS_CLKB_POWER_UP); + + /* It would be nice to set 24 vs 18-bit mode + * (LVDS_A3_POWER_UP) appropriately here, but we need to + * look more thoroughly into how panels behave in the + * two modes. + */ + temp &= ~(LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY); + if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) + temp |= LVDS_HSYNC_POLARITY; + if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC) + temp |= LVDS_VSYNC_POLARITY; + I915_WRITE(PCH_LVDS, temp); + } + } + + if (is_dp && !is_cpu_edp) { + intel_dp_set_m_n(crtc, mode, adjusted_mode); + } else { + if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) { + /* For non-DP output, clear any trans DP clock recovery + * setting.*/ + I915_WRITE(TRANSDATA_M1(pipe), 0); + I915_WRITE(TRANSDATA_N1(pipe), 0); + I915_WRITE(TRANSDPLINK_M1(pipe), 0); + I915_WRITE(TRANSDPLINK_N1(pipe), 0); + } + } + + intel_crtc->lowfreq_avail = false; + if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) { + if (intel_crtc->pch_pll) { + I915_WRITE(intel_crtc->pch_pll->pll_reg, dpll); + + /* Wait for the clocks to stabilize. */ + POSTING_READ(intel_crtc->pch_pll->pll_reg); + udelay(150); + + /* The pixel multiplier can only be updated once the + * DPLL is enabled and the clocks are stable. + * + * So write it again. + */ + I915_WRITE(intel_crtc->pch_pll->pll_reg, dpll); + } + + if (intel_crtc->pch_pll) { + if (is_lvds && has_reduced_clock && i915_powersave) { + I915_WRITE(intel_crtc->pch_pll->fp1_reg, fp2); + intel_crtc->lowfreq_avail = true; + } else { + I915_WRITE(intel_crtc->pch_pll->fp1_reg, fp); + } + } + } + + intel_set_pipe_timings(intel_crtc, mode, adjusted_mode); + + if (!is_dp || is_cpu_edp) + ironlake_set_m_n(crtc, mode, adjusted_mode); + + if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) + if (is_cpu_edp) + ironlake_set_pll_edp(crtc, adjusted_mode->clock); + + haswell_set_pipeconf(crtc, adjusted_mode, dither); + + /* Set up the display plane register */ + I915_WRITE(DSPCNTR(plane), DISPPLANE_GAMMA_ENABLE); + POSTING_READ(DSPCNTR(plane)); + + ret = intel_pipe_set_base(crtc, x, y, fb); + + intel_update_watermarks(dev); + + intel_update_linetime_watermarks(dev, pipe, adjusted_mode); + + return ret; +} + +static int intel_crtc_mode_set(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode, + int x, int y, + struct drm_framebuffer *fb) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_encoder_helper_funcs *encoder_funcs; + struct intel_encoder *encoder; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + int ret; + + drm_vblank_pre_modeset(dev, pipe); + + ret = dev_priv->display.crtc_mode_set(crtc, mode, adjusted_mode, + x, y, fb); + drm_vblank_post_modeset(dev, pipe); + + if (ret != 0) + return ret; + + for_each_encoder_on_crtc(dev, crtc, encoder) { + DRM_DEBUG_KMS("[ENCODER:%d:%s] set [MODE:%d:%s]\n", + encoder->base.base.id, + drm_get_encoder_name(&encoder->base), + mode->base.id, mode->name); + encoder_funcs = encoder->base.helper_private; + encoder_funcs->mode_set(&encoder->base, mode, adjusted_mode); + } + + return 0; +} + +static bool intel_eld_uptodate(struct drm_connector *connector, + int reg_eldv, uint32_t bits_eldv, + int reg_elda, uint32_t bits_elda, + int reg_edid) +{ + struct drm_i915_private *dev_priv = connector->dev->dev_private; + uint8_t *eld = connector->eld; + uint32_t i; + + i = I915_READ(reg_eldv); + i &= bits_eldv; + + if (!eld[0]) + return !i; + + if (!i) + return false; + + i = I915_READ(reg_elda); + i &= ~bits_elda; + I915_WRITE(reg_elda, i); + + for (i = 0; i < eld[2]; i++) + if (I915_READ(reg_edid) != *((uint32_t *)eld + i)) + return false; + + return true; +} + +static void g4x_write_eld(struct drm_connector *connector, + struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = connector->dev->dev_private; + uint8_t *eld = connector->eld; + uint32_t eldv; + uint32_t len; + uint32_t i; + + i = I915_READ(G4X_AUD_VID_DID); + + if (i == INTEL_AUDIO_DEVBLC || i == INTEL_AUDIO_DEVCL) + eldv = G4X_ELDV_DEVCL_DEVBLC; + else + eldv = G4X_ELDV_DEVCTG; + + if (intel_eld_uptodate(connector, + G4X_AUD_CNTL_ST, eldv, + G4X_AUD_CNTL_ST, G4X_ELD_ADDR, + G4X_HDMIW_HDMIEDID)) + return; + + i = I915_READ(G4X_AUD_CNTL_ST); + i &= ~(eldv | G4X_ELD_ADDR); + len = (i >> 9) & 0x1f; /* ELD buffer size */ + I915_WRITE(G4X_AUD_CNTL_ST, i); + + if (!eld[0]) + return; + + len = min_t(uint8_t, eld[2], len); + DRM_DEBUG_DRIVER("ELD size %d\n", len); + for (i = 0; i < len; i++) + I915_WRITE(G4X_HDMIW_HDMIEDID, *((uint32_t *)eld + i)); + + i = I915_READ(G4X_AUD_CNTL_ST); + i |= eldv; + I915_WRITE(G4X_AUD_CNTL_ST, i); +} + +static void haswell_write_eld(struct drm_connector *connector, + struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = connector->dev->dev_private; + uint8_t *eld = connector->eld; + struct drm_device *dev = crtc->dev; + uint32_t eldv; + uint32_t i; + int len; + int pipe = to_intel_crtc(crtc)->pipe; + int tmp; + + int hdmiw_hdmiedid = HSW_AUD_EDID_DATA(pipe); + int aud_cntl_st = HSW_AUD_DIP_ELD_CTRL(pipe); + int aud_config = HSW_AUD_CFG(pipe); + int aud_cntrl_st2 = HSW_AUD_PIN_ELD_CP_VLD; + + + DRM_DEBUG_DRIVER("HDMI: Haswell Audio initialize....\n"); + + /* Audio output enable */ + DRM_DEBUG_DRIVER("HDMI audio: enable codec\n"); + tmp = I915_READ(aud_cntrl_st2); + tmp |= (AUDIO_OUTPUT_ENABLE_A << (pipe * 4)); + I915_WRITE(aud_cntrl_st2, tmp); + + /* Wait for 1 vertical blank */ + intel_wait_for_vblank(dev, pipe); + + /* Set ELD valid state */ + tmp = I915_READ(aud_cntrl_st2); + DRM_DEBUG_DRIVER("HDMI audio: pin eld vld status=0x%8x\n", tmp); + tmp |= (AUDIO_ELD_VALID_A << (pipe * 4)); + I915_WRITE(aud_cntrl_st2, tmp); + tmp = I915_READ(aud_cntrl_st2); + DRM_DEBUG_DRIVER("HDMI audio: eld vld status=0x%8x\n", tmp); + + /* Enable HDMI mode */ + tmp = I915_READ(aud_config); + DRM_DEBUG_DRIVER("HDMI audio: audio conf: 0x%8x\n", tmp); + /* clear N_programing_enable and N_value_index */ + tmp &= ~(AUD_CONFIG_N_VALUE_INDEX | AUD_CONFIG_N_PROG_ENABLE); + I915_WRITE(aud_config, tmp); + + DRM_DEBUG_DRIVER("ELD on pipe %c\n", pipe_name(pipe)); + + eldv = AUDIO_ELD_VALID_A << (pipe * 4); + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) { + DRM_DEBUG_DRIVER("ELD: DisplayPort detected\n"); + eld[5] |= (1 << 2); /* Conn_Type, 0x1 = DisplayPort */ + I915_WRITE(aud_config, AUD_CONFIG_N_VALUE_INDEX); /* 0x1 = DP */ + } else + I915_WRITE(aud_config, 0); + + if (intel_eld_uptodate(connector, + aud_cntrl_st2, eldv, + aud_cntl_st, IBX_ELD_ADDRESS, + hdmiw_hdmiedid)) + return; + + i = I915_READ(aud_cntrl_st2); + i &= ~eldv; + I915_WRITE(aud_cntrl_st2, i); + + if (!eld[0]) + return; + + i = I915_READ(aud_cntl_st); + i &= ~IBX_ELD_ADDRESS; + I915_WRITE(aud_cntl_st, i); + i = (i >> 29) & DIP_PORT_SEL_MASK; /* DIP_Port_Select, 0x1 = PortB */ + DRM_DEBUG_DRIVER("port num:%d\n", i); + + len = min_t(uint8_t, eld[2], 21); /* 84 bytes of hw ELD buffer */ + DRM_DEBUG_DRIVER("ELD size %d\n", len); + for (i = 0; i < len; i++) + I915_WRITE(hdmiw_hdmiedid, *((uint32_t *)eld + i)); + + i = I915_READ(aud_cntrl_st2); + i |= eldv; + I915_WRITE(aud_cntrl_st2, i); + +} + +static void ironlake_write_eld(struct drm_connector *connector, + struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = connector->dev->dev_private; + uint8_t *eld = connector->eld; + uint32_t eldv; + uint32_t i; + int len; + int hdmiw_hdmiedid; + int aud_config; + int aud_cntl_st; + int aud_cntrl_st2; + int pipe = to_intel_crtc(crtc)->pipe; + + if (HAS_PCH_IBX(connector->dev)) { + hdmiw_hdmiedid = IBX_HDMIW_HDMIEDID(pipe); + aud_config = IBX_AUD_CFG(pipe); + aud_cntl_st = IBX_AUD_CNTL_ST(pipe); + aud_cntrl_st2 = IBX_AUD_CNTL_ST2; + } else { + hdmiw_hdmiedid = CPT_HDMIW_HDMIEDID(pipe); + aud_config = CPT_AUD_CFG(pipe); + aud_cntl_st = CPT_AUD_CNTL_ST(pipe); + aud_cntrl_st2 = CPT_AUD_CNTRL_ST2; + } + + DRM_DEBUG_DRIVER("ELD on pipe %c\n", pipe_name(pipe)); + + i = I915_READ(aud_cntl_st); + i = (i >> 29) & DIP_PORT_SEL_MASK; /* DIP_Port_Select, 0x1 = PortB */ + if (!i) { + DRM_DEBUG_DRIVER("Audio directed to unknown port\n"); + /* operate blindly on all ports */ + eldv = IBX_ELD_VALIDB; + eldv |= IBX_ELD_VALIDB << 4; + eldv |= IBX_ELD_VALIDB << 8; + } else { + DRM_DEBUG_DRIVER("ELD on port %c\n", 'A' + i); + eldv = IBX_ELD_VALIDB << ((i - 1) * 4); + } + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) { + DRM_DEBUG_DRIVER("ELD: DisplayPort detected\n"); + eld[5] |= (1 << 2); /* Conn_Type, 0x1 = DisplayPort */ + I915_WRITE(aud_config, AUD_CONFIG_N_VALUE_INDEX); /* 0x1 = DP */ + } else + I915_WRITE(aud_config, 0); + + if (intel_eld_uptodate(connector, + aud_cntrl_st2, eldv, + aud_cntl_st, IBX_ELD_ADDRESS, + hdmiw_hdmiedid)) + return; + + i = I915_READ(aud_cntrl_st2); + i &= ~eldv; + I915_WRITE(aud_cntrl_st2, i); + + if (!eld[0]) + return; + + i = I915_READ(aud_cntl_st); + i &= ~IBX_ELD_ADDRESS; + I915_WRITE(aud_cntl_st, i); + + len = min_t(uint8_t, eld[2], 21); /* 84 bytes of hw ELD buffer */ + DRM_DEBUG_DRIVER("ELD size %d\n", len); + for (i = 0; i < len; i++) + I915_WRITE(hdmiw_hdmiedid, *((uint32_t *)eld + i)); + + i = I915_READ(aud_cntrl_st2); + i |= eldv; + I915_WRITE(aud_cntrl_st2, i); +} + +void intel_write_eld(struct drm_encoder *encoder, + struct drm_display_mode *mode) +{ + struct drm_crtc *crtc = encoder->crtc; + struct drm_connector *connector; + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + connector = drm_select_eld(encoder, mode); + if (!connector) + return; + + DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n", + connector->base.id, + drm_get_connector_name(connector), + connector->encoder->base.id, + drm_get_encoder_name(connector->encoder)); + + connector->eld[6] = drm_av_sync_delay(connector, mode) / 2; + + if (dev_priv->display.write_eld) + dev_priv->display.write_eld(connector, crtc); +} + +/** Loads the palette/gamma unit for the CRTC with the prepared values */ +void intel_crtc_load_lut(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int palreg = PALETTE(intel_crtc->pipe); + int i; + + /* The clocks have to be on to load the palette. */ + if (!crtc->enabled || !intel_crtc->active) + return; + + /* use legacy palette for Ironlake */ + if (HAS_PCH_SPLIT(dev)) + palreg = LGC_PALETTE(intel_crtc->pipe); + + for (i = 0; i < 256; i++) { + I915_WRITE(palreg + 4 * i, + (intel_crtc->lut_r[i] << 16) | + (intel_crtc->lut_g[i] << 8) | + intel_crtc->lut_b[i]); + } +} + +static void i845_update_cursor(struct drm_crtc *crtc, u32 base) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + bool visible = base != 0; + u32 cntl; + + if (intel_crtc->cursor_visible == visible) + return; + + cntl = I915_READ(_CURACNTR); + if (visible) { + /* On these chipsets we can only modify the base whilst + * the cursor is disabled. + */ + I915_WRITE(_CURABASE, base); + + cntl &= ~(CURSOR_FORMAT_MASK); + /* XXX width must be 64, stride 256 => 0x00 << 28 */ + cntl |= CURSOR_ENABLE | + CURSOR_GAMMA_ENABLE | + CURSOR_FORMAT_ARGB; + } else + cntl &= ~(CURSOR_ENABLE | CURSOR_GAMMA_ENABLE); + I915_WRITE(_CURACNTR, cntl); + + intel_crtc->cursor_visible = visible; +} + +static void i9xx_update_cursor(struct drm_crtc *crtc, u32 base) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + bool visible = base != 0; + + if (intel_crtc->cursor_visible != visible) { + uint32_t cntl = I915_READ(CURCNTR(pipe)); + if (base) { + cntl &= ~(CURSOR_MODE | MCURSOR_PIPE_SELECT); + cntl |= CURSOR_MODE_64_ARGB_AX | MCURSOR_GAMMA_ENABLE; + cntl |= pipe << 28; /* Connect to correct pipe */ + } else { + cntl &= ~(CURSOR_MODE | MCURSOR_GAMMA_ENABLE); + cntl |= CURSOR_MODE_DISABLE; + } + I915_WRITE(CURCNTR(pipe), cntl); + + intel_crtc->cursor_visible = visible; + } + /* and commit changes on next vblank */ + I915_WRITE(CURBASE(pipe), base); +} + +static void ivb_update_cursor(struct drm_crtc *crtc, u32 base) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + bool visible = base != 0; + + if (intel_crtc->cursor_visible != visible) { + uint32_t cntl = I915_READ(CURCNTR_IVB(pipe)); + if (base) { + cntl &= ~CURSOR_MODE; + cntl |= CURSOR_MODE_64_ARGB_AX | MCURSOR_GAMMA_ENABLE; + } else { + cntl &= ~(CURSOR_MODE | MCURSOR_GAMMA_ENABLE); + cntl |= CURSOR_MODE_DISABLE; + } + I915_WRITE(CURCNTR_IVB(pipe), cntl); + + intel_crtc->cursor_visible = visible; + } + /* and commit changes on next vblank */ + I915_WRITE(CURBASE_IVB(pipe), base); +} + +/* If no-part of the cursor is visible on the framebuffer, then the GPU may hang... */ +static void intel_crtc_update_cursor(struct drm_crtc *crtc, + bool on) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + int x = intel_crtc->cursor_x; + int y = intel_crtc->cursor_y; + u32 base, pos; + bool visible; + + pos = 0; + + if (on && crtc->enabled && crtc->fb) { + base = intel_crtc->cursor_addr; + if (x > (int) crtc->fb->width) + base = 0; + + if (y > (int) crtc->fb->height) + base = 0; + } else + base = 0; + + if (x < 0) { + if (x + intel_crtc->cursor_width < 0) + base = 0; + + pos |= CURSOR_POS_SIGN << CURSOR_X_SHIFT; + x = -x; + } + pos |= x << CURSOR_X_SHIFT; + + if (y < 0) { + if (y + intel_crtc->cursor_height < 0) + base = 0; + + pos |= CURSOR_POS_SIGN << CURSOR_Y_SHIFT; + y = -y; + } + pos |= y << CURSOR_Y_SHIFT; + + visible = base != 0; + if (!visible && !intel_crtc->cursor_visible) + return; + + if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) { + I915_WRITE(CURPOS_IVB(pipe), pos); + ivb_update_cursor(crtc, base); + } else { + I915_WRITE(CURPOS(pipe), pos); + if (IS_845G(dev) || IS_I865G(dev)) + i845_update_cursor(crtc, base); + else + i9xx_update_cursor(crtc, base); + } +} + +static int intel_crtc_cursor_set(struct drm_crtc *crtc, + struct drm_file *file, + uint32_t handle, + uint32_t width, uint32_t height) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct drm_i915_gem_object *obj; + uint32_t addr; + int ret; + + /* if we want to turn off the cursor ignore width and height */ + if (!handle) { + DRM_DEBUG_KMS("cursor off\n"); + addr = 0; + obj = NULL; + mutex_lock(&dev->struct_mutex); + goto finish; + } + + /* Currently we only support 64x64 cursors */ + if (width != 64 || height != 64) { + DRM_ERROR("we currently only support 64x64 cursors\n"); + return -EINVAL; + } + + obj = to_intel_bo(drm_gem_object_lookup(dev, file, handle)); + if (&obj->base == NULL) + return -ENOENT; + + if (obj->base.size < width * height * 4) { + DRM_ERROR("buffer is to small\n"); + ret = -ENOMEM; + goto fail; + } + + /* we only need to pin inside GTT if cursor is non-phy */ + mutex_lock(&dev->struct_mutex); + if (!dev_priv->info->cursor_needs_physical) { + if (obj->tiling_mode) { + DRM_ERROR("cursor cannot be tiled\n"); + ret = -EINVAL; + goto fail_locked; + } + + ret = i915_gem_object_pin_to_display_plane(obj, 0, NULL); + if (ret) { + DRM_ERROR("failed to move cursor bo into the GTT\n"); + goto fail_locked; + } + + ret = i915_gem_object_put_fence(obj); + if (ret) { + DRM_ERROR("failed to release fence for cursor"); + goto fail_unpin; + } + + addr = obj->gtt_offset; + } else { + int align = IS_I830(dev) ? 16 * 1024 : 256; + ret = i915_gem_attach_phys_object(dev, obj, + (intel_crtc->pipe == 0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1, + align); + if (ret) { + DRM_ERROR("failed to attach phys object\n"); + goto fail_locked; + } + addr = obj->phys_obj->handle->busaddr; + } + + if (IS_GEN2(dev)) + I915_WRITE(CURSIZE, (height << 12) | width); + + finish: + if (intel_crtc->cursor_bo) { + if (dev_priv->info->cursor_needs_physical) { + if (intel_crtc->cursor_bo != obj) + i915_gem_detach_phys_object(dev, intel_crtc->cursor_bo); + } else + i915_gem_object_unpin(intel_crtc->cursor_bo); + drm_gem_object_unreference(&intel_crtc->cursor_bo->base); + } + + mutex_unlock(&dev->struct_mutex); + + intel_crtc->cursor_addr = addr; + intel_crtc->cursor_bo = obj; + intel_crtc->cursor_width = width; + intel_crtc->cursor_height = height; + + intel_crtc_update_cursor(crtc, true); + + return 0; +fail_unpin: + i915_gem_object_unpin(obj); +fail_locked: + mutex_unlock(&dev->struct_mutex); +fail: + drm_gem_object_unreference_unlocked(&obj->base); + return ret; +} + +static int intel_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + intel_crtc->cursor_x = x; + intel_crtc->cursor_y = y; + + intel_crtc_update_cursor(crtc, true); + + return 0; +} + +/** Sets the color ramps on behalf of RandR */ +void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, + u16 blue, int regno) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + intel_crtc->lut_r[regno] = red >> 8; + intel_crtc->lut_g[regno] = green >> 8; + intel_crtc->lut_b[regno] = blue >> 8; +} + +void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, + u16 *blue, int regno) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + *red = intel_crtc->lut_r[regno] << 8; + *green = intel_crtc->lut_g[regno] << 8; + *blue = intel_crtc->lut_b[regno] << 8; +} + +static void intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, + u16 *blue, uint32_t start, uint32_t size) +{ + int end = (start + size > 256) ? 256 : start + size, i; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + for (i = start; i < end; i++) { + intel_crtc->lut_r[i] = red[i] >> 8; + intel_crtc->lut_g[i] = green[i] >> 8; + intel_crtc->lut_b[i] = blue[i] >> 8; + } + + intel_crtc_load_lut(crtc); +} + +/** + * Get a pipe with a simple mode set on it for doing load-based monitor + * detection. + * + * It will be up to the load-detect code to adjust the pipe as appropriate for + * its requirements. The pipe will be connected to no other encoders. + * + * Currently this code will only succeed if there is a pipe with no encoders + * configured for it. In the future, it could choose to temporarily disable + * some outputs to free up a pipe for its use. + * + * \return crtc, or NULL if no pipes are available. + */ + +/* VESA 640x480x72Hz mode to set on the pipe */ +static struct drm_display_mode load_detect_mode = { + DRM_MODE("640x480", DRM_MODE_TYPE_DEFAULT, 31500, 640, 664, + 704, 832, 0, 480, 489, 491, 520, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC), +}; + +static struct drm_framebuffer * +intel_framebuffer_create(struct drm_device *dev, + struct drm_mode_fb_cmd2 *mode_cmd, + struct drm_i915_gem_object *obj) +{ + struct intel_framebuffer *intel_fb; + int ret; + + intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL); + if (!intel_fb) { + drm_gem_object_unreference_unlocked(&obj->base); + return ERR_PTR(-ENOMEM); + } + + ret = intel_framebuffer_init(dev, intel_fb, mode_cmd, obj); + if (ret) { + drm_gem_object_unreference_unlocked(&obj->base); + kfree(intel_fb); + return ERR_PTR(ret); + } + + return &intel_fb->base; +} + +static u32 +intel_framebuffer_pitch_for_width(int width, int bpp) +{ + u32 pitch = DIV_ROUND_UP(width * bpp, 8); + return ALIGN(pitch, 64); +} + +static u32 +intel_framebuffer_size_for_mode(struct drm_display_mode *mode, int bpp) +{ + u32 pitch = intel_framebuffer_pitch_for_width(mode->hdisplay, bpp); + return ALIGN(pitch * mode->vdisplay, PAGE_SIZE); +} + +static struct drm_framebuffer * +intel_framebuffer_create_for_mode(struct drm_device *dev, + struct drm_display_mode *mode, + int depth, int bpp) +{ + struct drm_i915_gem_object *obj; + struct drm_mode_fb_cmd2 mode_cmd = { 0 }; + + obj = i915_gem_alloc_object(dev, + intel_framebuffer_size_for_mode(mode, bpp)); + if (obj == NULL) + return ERR_PTR(-ENOMEM); + + mode_cmd.width = mode->hdisplay; + mode_cmd.height = mode->vdisplay; + mode_cmd.pitches[0] = intel_framebuffer_pitch_for_width(mode_cmd.width, + bpp); + mode_cmd.pixel_format = drm_mode_legacy_fb_format(bpp, depth); + + return intel_framebuffer_create(dev, &mode_cmd, obj); +} + +static struct drm_framebuffer * +mode_fits_in_fbdev(struct drm_device *dev, + struct drm_display_mode *mode) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj; + struct drm_framebuffer *fb; + + if (dev_priv->fbdev == NULL) + return NULL; + + obj = dev_priv->fbdev->ifb.obj; + if (obj == NULL) + return NULL; + + fb = &dev_priv->fbdev->ifb.base; + if (fb->pitches[0] < intel_framebuffer_pitch_for_width(mode->hdisplay, + fb->bits_per_pixel)) + return NULL; + + if (obj->base.size < mode->vdisplay * fb->pitches[0]) + return NULL; + + return fb; +} + +bool intel_get_load_detect_pipe(struct drm_connector *connector, + struct drm_display_mode *mode, + struct intel_load_detect_pipe *old) +{ + struct intel_crtc *intel_crtc; + struct intel_encoder *intel_encoder = + intel_attached_encoder(connector); + struct drm_crtc *possible_crtc; + struct drm_encoder *encoder = &intel_encoder->base; + struct drm_crtc *crtc = NULL; + struct drm_device *dev = encoder->dev; + struct drm_framebuffer *fb; + int i = -1; + + DRM_DEBUG_KMS("[CONNECTOR:%d:%s], [ENCODER:%d:%s]\n", + connector->base.id, drm_get_connector_name(connector), + encoder->base.id, drm_get_encoder_name(encoder)); + + /* + * Algorithm gets a little messy: + * + * - if the connector already has an assigned crtc, use it (but make + * sure it's on first) + * + * - try to find the first unused crtc that can drive this connector, + * and use that if we find one + */ + + /* See if we already have a CRTC for this connector */ + if (encoder->crtc) { + crtc = encoder->crtc; + + old->dpms_mode = connector->dpms; + old->load_detect_temp = false; + + /* Make sure the crtc and connector are running */ + if (connector->dpms != DRM_MODE_DPMS_ON) + connector->funcs->dpms(connector, DRM_MODE_DPMS_ON); + + return true; + } + + /* Find an unused one (if possible) */ + list_for_each_entry(possible_crtc, &dev->mode_config.crtc_list, head) { + i++; + if (!(encoder->possible_crtcs & (1 << i))) + continue; + if (!possible_crtc->enabled) { + crtc = possible_crtc; + break; + } + } + + /* + * If we didn't find an unused CRTC, don't use any. + */ + if (!crtc) { + DRM_DEBUG_KMS("no pipe available for load-detect\n"); + return false; + } + + intel_encoder->new_crtc = to_intel_crtc(crtc); + to_intel_connector(connector)->new_encoder = intel_encoder; + + intel_crtc = to_intel_crtc(crtc); + old->dpms_mode = connector->dpms; + old->load_detect_temp = true; + old->release_fb = NULL; + + if (!mode) + mode = &load_detect_mode; + + /* We need a framebuffer large enough to accommodate all accesses + * that the plane may generate whilst we perform load detection. + * We can not rely on the fbcon either being present (we get called + * during its initialisation to detect all boot displays, or it may + * not even exist) or that it is large enough to satisfy the + * requested mode. + */ + fb = mode_fits_in_fbdev(dev, mode); + if (fb == NULL) { + DRM_DEBUG_KMS("creating tmp fb for load-detection\n"); + fb = intel_framebuffer_create_for_mode(dev, mode, 24, 32); + old->release_fb = fb; + } else + DRM_DEBUG_KMS("reusing fbdev for load-detection framebuffer\n"); + if (IS_ERR(fb)) { + DRM_DEBUG_KMS("failed to allocate framebuffer for load-detection\n"); + return false; + } + + if (!intel_set_mode(crtc, mode, 0, 0, fb)) { + DRM_DEBUG_KMS("failed to set mode on load-detect pipe\n"); + if (old->release_fb) + old->release_fb->funcs->destroy(old->release_fb); + return false; + } + + /* let the connector get through one full cycle before testing */ + intel_wait_for_vblank(dev, intel_crtc->pipe); + return true; +} + +void intel_release_load_detect_pipe(struct drm_connector *connector, + struct intel_load_detect_pipe *old) +{ + struct intel_encoder *intel_encoder = + intel_attached_encoder(connector); + struct drm_encoder *encoder = &intel_encoder->base; + + DRM_DEBUG_KMS("[CONNECTOR:%d:%s], [ENCODER:%d:%s]\n", + connector->base.id, drm_get_connector_name(connector), + encoder->base.id, drm_get_encoder_name(encoder)); + + if (old->load_detect_temp) { + struct drm_crtc *crtc = encoder->crtc; + + to_intel_connector(connector)->new_encoder = NULL; + intel_encoder->new_crtc = NULL; + intel_set_mode(crtc, NULL, 0, 0, NULL); + + if (old->release_fb) + old->release_fb->funcs->destroy(old->release_fb); + + return; + } + + /* Switch crtc and encoder back off if necessary */ + if (old->dpms_mode != DRM_MODE_DPMS_ON) + connector->funcs->dpms(connector, old->dpms_mode); +} + +/* Returns the clock of the currently programmed mode of the given pipe. */ +static int intel_crtc_clock_get(struct drm_device *dev, struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + u32 dpll = I915_READ(DPLL(pipe)); + u32 fp; + intel_clock_t clock; + + if ((dpll & DISPLAY_RATE_SELECT_FPA1) == 0) + fp = I915_READ(FP0(pipe)); + else + fp = I915_READ(FP1(pipe)); + + clock.m1 = (fp & FP_M1_DIV_MASK) >> FP_M1_DIV_SHIFT; + if (IS_PINEVIEW(dev)) { + clock.n = ffs((fp & FP_N_PINEVIEW_DIV_MASK) >> FP_N_DIV_SHIFT) - 1; + clock.m2 = (fp & FP_M2_PINEVIEW_DIV_MASK) >> FP_M2_DIV_SHIFT; + } else { + clock.n = (fp & FP_N_DIV_MASK) >> FP_N_DIV_SHIFT; + clock.m2 = (fp & FP_M2_DIV_MASK) >> FP_M2_DIV_SHIFT; + } + + if (!IS_GEN2(dev)) { + if (IS_PINEVIEW(dev)) + clock.p1 = ffs((dpll & DPLL_FPA01_P1_POST_DIV_MASK_PINEVIEW) >> + DPLL_FPA01_P1_POST_DIV_SHIFT_PINEVIEW); + else + clock.p1 = ffs((dpll & DPLL_FPA01_P1_POST_DIV_MASK) >> + DPLL_FPA01_P1_POST_DIV_SHIFT); + + switch (dpll & DPLL_MODE_MASK) { + case DPLLB_MODE_DAC_SERIAL: + clock.p2 = dpll & DPLL_DAC_SERIAL_P2_CLOCK_DIV_5 ? + 5 : 10; + break; + case DPLLB_MODE_LVDS: + clock.p2 = dpll & DPLLB_LVDS_P2_CLOCK_DIV_7 ? + 7 : 14; + break; + default: + DRM_DEBUG_KMS("Unknown DPLL mode %08x in programmed " + "mode\n", (int)(dpll & DPLL_MODE_MASK)); + return 0; + } + + /* XXX: Handle the 100Mhz refclk */ + intel_clock(dev, 96000, &clock); + } else { + bool is_lvds = (pipe == 1) && (I915_READ(LVDS) & LVDS_PORT_EN); + + if (is_lvds) { + clock.p1 = ffs((dpll & DPLL_FPA01_P1_POST_DIV_MASK_I830_LVDS) >> + DPLL_FPA01_P1_POST_DIV_SHIFT); + clock.p2 = 14; + + if ((dpll & PLL_REF_INPUT_MASK) == + PLLB_REF_INPUT_SPREADSPECTRUMIN) { + /* XXX: might not be 66MHz */ + intel_clock(dev, 66000, &clock); + } else + intel_clock(dev, 48000, &clock); + } else { + if (dpll & PLL_P1_DIVIDE_BY_TWO) + clock.p1 = 2; + else { + clock.p1 = ((dpll & DPLL_FPA01_P1_POST_DIV_MASK_I830) >> + DPLL_FPA01_P1_POST_DIV_SHIFT) + 2; + } + if (dpll & PLL_P2_DIVIDE_BY_4) + clock.p2 = 4; + else + clock.p2 = 2; + + intel_clock(dev, 48000, &clock); + } + } + + /* XXX: It would be nice to validate the clocks, but we can't reuse + * i830PllIsValid() because it relies on the xf86_config connector + * configuration being accurate, which it isn't necessarily. + */ + + return clock.dot; +} + +/** Returns the currently programmed mode of the given pipe. */ +struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, + struct drm_crtc *crtc) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + struct drm_display_mode *mode; + int htot = I915_READ(HTOTAL(cpu_transcoder)); + int hsync = I915_READ(HSYNC(cpu_transcoder)); + int vtot = I915_READ(VTOTAL(cpu_transcoder)); + int vsync = I915_READ(VSYNC(cpu_transcoder)); + + mode = kzalloc(sizeof(*mode), GFP_KERNEL); + if (!mode) + return NULL; + + mode->clock = intel_crtc_clock_get(dev, crtc); + mode->hdisplay = (htot & 0xffff) + 1; + mode->htotal = ((htot & 0xffff0000) >> 16) + 1; + mode->hsync_start = (hsync & 0xffff) + 1; + mode->hsync_end = ((hsync & 0xffff0000) >> 16) + 1; + mode->vdisplay = (vtot & 0xffff) + 1; + mode->vtotal = ((vtot & 0xffff0000) >> 16) + 1; + mode->vsync_start = (vsync & 0xffff) + 1; + mode->vsync_end = ((vsync & 0xffff0000) >> 16) + 1; + + drm_mode_set_name(mode); + + return mode; +} + +static void intel_increase_pllclock(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int pipe = intel_crtc->pipe; + int dpll_reg = DPLL(pipe); + int dpll; + + if (HAS_PCH_SPLIT(dev)) + return; + + if (!dev_priv->lvds_downclock_avail) + return; + + dpll = I915_READ(dpll_reg); + if (!HAS_PIPE_CXSR(dev) && (dpll & DISPLAY_RATE_SELECT_FPA1)) { + DRM_DEBUG_DRIVER("upclocking LVDS\n"); + + assert_panel_unlocked(dev_priv, pipe); + + dpll &= ~DISPLAY_RATE_SELECT_FPA1; + I915_WRITE(dpll_reg, dpll); + intel_wait_for_vblank(dev, pipe); + + dpll = I915_READ(dpll_reg); + if (dpll & DISPLAY_RATE_SELECT_FPA1) + DRM_DEBUG_DRIVER("failed to upclock LVDS!\n"); + } +} + +static void intel_decrease_pllclock(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + if (HAS_PCH_SPLIT(dev)) + return; + + if (!dev_priv->lvds_downclock_avail) + return; + + /* + * Since this is called by a timer, we should never get here in + * the manual case. + */ + if (!HAS_PIPE_CXSR(dev) && intel_crtc->lowfreq_avail) { + int pipe = intel_crtc->pipe; + int dpll_reg = DPLL(pipe); + int dpll; + + DRM_DEBUG_DRIVER("downclocking LVDS\n"); + + assert_panel_unlocked(dev_priv, pipe); + + dpll = I915_READ(dpll_reg); + dpll |= DISPLAY_RATE_SELECT_FPA1; + I915_WRITE(dpll_reg, dpll); + intel_wait_for_vblank(dev, pipe); + dpll = I915_READ(dpll_reg); + if (!(dpll & DISPLAY_RATE_SELECT_FPA1)) + DRM_DEBUG_DRIVER("failed to downclock LVDS!\n"); + } + +} + +void intel_mark_busy(struct drm_device *dev) +{ + i915_update_gfx_val(dev->dev_private); +} + +void intel_mark_idle(struct drm_device *dev) +{ +} + +void intel_mark_fb_busy(struct drm_i915_gem_object *obj) +{ + struct drm_device *dev = obj->base.dev; + struct drm_crtc *crtc; + + if (!i915_powersave) + return; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + if (!crtc->fb) + continue; + + if (to_intel_framebuffer(crtc->fb)->obj == obj) + intel_increase_pllclock(crtc); + } +} + +void intel_mark_fb_idle(struct drm_i915_gem_object *obj) +{ + struct drm_device *dev = obj->base.dev; + struct drm_crtc *crtc; + + if (!i915_powersave) + return; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + if (!crtc->fb) + continue; + + if (to_intel_framebuffer(crtc->fb)->obj == obj) + intel_decrease_pllclock(crtc); + } +} + +static void intel_crtc_destroy(struct drm_crtc *crtc) +{ + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct drm_device *dev = crtc->dev; + struct intel_unpin_work *work; + unsigned long flags; + + spin_lock_irqsave(&dev->event_lock, flags); + work = intel_crtc->unpin_work; + intel_crtc->unpin_work = NULL; + spin_unlock_irqrestore(&dev->event_lock, flags); + + if (work) { + cancel_work_sync(&work->work); + kfree(work); + } + + drm_crtc_cleanup(crtc); + + kfree(intel_crtc); +} + +static void intel_unpin_work_fn(struct work_struct *__work) +{ + struct intel_unpin_work *work = + container_of(__work, struct intel_unpin_work, work); + struct drm_device *dev = work->crtc->dev; + + mutex_lock(&dev->struct_mutex); + intel_unpin_fb_obj(work->old_fb_obj); + drm_gem_object_unreference(&work->pending_flip_obj->base); + drm_gem_object_unreference(&work->old_fb_obj->base); + + intel_update_fbc(dev); + mutex_unlock(&dev->struct_mutex); + + BUG_ON(atomic_read(&to_intel_crtc(work->crtc)->unpin_work_count) == 0); + atomic_dec(&to_intel_crtc(work->crtc)->unpin_work_count); + + kfree(work); +} + +static void do_intel_finish_page_flip(struct drm_device *dev, + struct drm_crtc *crtc) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_unpin_work *work; + struct drm_i915_gem_object *obj; + struct drm_pending_vblank_event *e; + struct timeval tvbl; + unsigned long flags; + + /* Ignore early vblank irqs */ + if (intel_crtc == NULL) + return; + + spin_lock_irqsave(&dev->event_lock, flags); + work = intel_crtc->unpin_work; + if (work == NULL || !work->pending) { + spin_unlock_irqrestore(&dev->event_lock, flags); + return; + } + + intel_crtc->unpin_work = NULL; + + if (work->event) { + e = work->event; + e->event.sequence = drm_vblank_count_and_time(dev, intel_crtc->pipe, &tvbl); + + e->event.tv_sec = tvbl.tv_sec; + e->event.tv_usec = tvbl.tv_usec; + + list_add_tail(&e->base.link, + &e->base.file_priv->event_list); + wake_up_interruptible(&e->base.file_priv->event_wait); + } + + drm_vblank_put(dev, intel_crtc->pipe); + + spin_unlock_irqrestore(&dev->event_lock, flags); + + obj = work->old_fb_obj; + + atomic_clear_mask(1 << intel_crtc->plane, + &obj->pending_flip.counter); + wake_up(&dev_priv->pending_flip_queue); + + queue_work(dev_priv->wq, &work->work); + + trace_i915_flip_complete(intel_crtc->plane, work->pending_flip_obj); +} + +void intel_finish_page_flip(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe]; + + do_intel_finish_page_flip(dev, crtc); +} + +void intel_finish_page_flip_plane(struct drm_device *dev, int plane) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_crtc *crtc = dev_priv->plane_to_crtc_mapping[plane]; + + do_intel_finish_page_flip(dev, crtc); +} + +void intel_prepare_page_flip(struct drm_device *dev, int plane) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = + to_intel_crtc(dev_priv->plane_to_crtc_mapping[plane]); + unsigned long flags; + + spin_lock_irqsave(&dev->event_lock, flags); + if (intel_crtc->unpin_work) { + if ((++intel_crtc->unpin_work->pending) > 1) + DRM_ERROR("Prepared flip multiple times\n"); + } else { + DRM_DEBUG_DRIVER("preparing flip with no unpin work?\n"); + } + spin_unlock_irqrestore(&dev->event_lock, flags); +} + +static int intel_gen2_queue_flip(struct drm_device *dev, + struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + u32 flip_mask; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + ret = intel_pin_and_fence_fb_obj(dev, obj, ring); + if (ret) + goto err; + + ret = intel_ring_begin(ring, 6); + if (ret) + goto err_unpin; + + /* Can't queue multiple flips, so wait for the previous + * one to finish before executing the next. + */ + if (intel_crtc->plane) + flip_mask = MI_WAIT_FOR_PLANE_B_FLIP; + else + flip_mask = MI_WAIT_FOR_PLANE_A_FLIP; + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | flip_mask); + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_DISPLAY_FLIP | + MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); + intel_ring_emit(ring, fb->pitches[0]); + intel_ring_emit(ring, obj->gtt_offset + intel_crtc->dspaddr_offset); + intel_ring_emit(ring, 0); /* aux display base address, unused */ + intel_ring_advance(ring); + return 0; + +err_unpin: + intel_unpin_fb_obj(obj); +err: + return ret; +} + +static int intel_gen3_queue_flip(struct drm_device *dev, + struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + u32 flip_mask; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + ret = intel_pin_and_fence_fb_obj(dev, obj, ring); + if (ret) + goto err; + + ret = intel_ring_begin(ring, 6); + if (ret) + goto err_unpin; + + if (intel_crtc->plane) + flip_mask = MI_WAIT_FOR_PLANE_B_FLIP; + else + flip_mask = MI_WAIT_FOR_PLANE_A_FLIP; + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | flip_mask); + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_DISPLAY_FLIP_I915 | + MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); + intel_ring_emit(ring, fb->pitches[0]); + intel_ring_emit(ring, obj->gtt_offset + intel_crtc->dspaddr_offset); + intel_ring_emit(ring, MI_NOOP); + + intel_ring_advance(ring); + return 0; + +err_unpin: + intel_unpin_fb_obj(obj); +err: + return ret; +} + +static int intel_gen4_queue_flip(struct drm_device *dev, + struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + uint32_t pf, pipesrc; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + ret = intel_pin_and_fence_fb_obj(dev, obj, ring); + if (ret) + goto err; + + ret = intel_ring_begin(ring, 4); + if (ret) + goto err_unpin; + + /* i965+ uses the linear or tiled offsets from the + * Display Registers (which do not change across a page-flip) + * so we need only reprogram the base address. + */ + intel_ring_emit(ring, MI_DISPLAY_FLIP | + MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); + intel_ring_emit(ring, fb->pitches[0]); + intel_ring_emit(ring, + (obj->gtt_offset + intel_crtc->dspaddr_offset) | + obj->tiling_mode); + + /* XXX Enabling the panel-fitter across page-flip is so far + * untested on non-native modes, so ignore it for now. + * pf = I915_READ(pipe == 0 ? PFA_CTL_1 : PFB_CTL_1) & PF_ENABLE; + */ + pf = 0; + pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; + intel_ring_emit(ring, pf | pipesrc); + intel_ring_advance(ring); + return 0; + +err_unpin: + intel_unpin_fb_obj(obj); +err: + return ret; +} + +static int intel_gen6_queue_flip(struct drm_device *dev, + struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + uint32_t pf, pipesrc; + int ret; + + ret = intel_pin_and_fence_fb_obj(dev, obj, ring); + if (ret) + goto err; + + ret = intel_ring_begin(ring, 4); + if (ret) + goto err_unpin; + + intel_ring_emit(ring, MI_DISPLAY_FLIP | + MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); + intel_ring_emit(ring, fb->pitches[0] | obj->tiling_mode); + intel_ring_emit(ring, obj->gtt_offset + intel_crtc->dspaddr_offset); + + /* Contrary to the suggestions in the documentation, + * "Enable Panel Fitter" does not seem to be required when page + * flipping with a non-native mode, and worse causes a normal + * modeset to fail. + * pf = I915_READ(PF_CTL(intel_crtc->pipe)) & PF_ENABLE; + */ + pf = 0; + pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; + intel_ring_emit(ring, pf | pipesrc); + intel_ring_advance(ring); + return 0; + +err_unpin: + intel_unpin_fb_obj(obj); +err: + return ret; +} + +/* + * On gen7 we currently use the blit ring because (in early silicon at least) + * the render ring doesn't give us interrpts for page flip completion, which + * means clients will hang after the first flip is queued. Fortunately the + * blit ring generates interrupts properly, so use it instead. + */ +static int intel_gen7_queue_flip(struct drm_device *dev, + struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_ring_buffer *ring = &dev_priv->ring[BCS]; + uint32_t plane_bit = 0; + int ret; + + ret = intel_pin_and_fence_fb_obj(dev, obj, ring); + if (ret) + goto err; + + switch(intel_crtc->plane) { + case PLANE_A: + plane_bit = MI_DISPLAY_FLIP_IVB_PLANE_A; + break; + case PLANE_B: + plane_bit = MI_DISPLAY_FLIP_IVB_PLANE_B; + break; + case PLANE_C: + plane_bit = MI_DISPLAY_FLIP_IVB_PLANE_C; + break; + default: + WARN_ONCE(1, "unknown plane in flip command\n"); + ret = -ENODEV; + goto err_unpin; + } + + ret = intel_ring_begin(ring, 4); + if (ret) + goto err_unpin; + + intel_ring_emit(ring, MI_DISPLAY_FLIP_I915 | plane_bit); + intel_ring_emit(ring, (fb->pitches[0] | obj->tiling_mode)); + intel_ring_emit(ring, obj->gtt_offset + intel_crtc->dspaddr_offset); + intel_ring_emit(ring, (MI_NOOP)); + intel_ring_advance(ring); + return 0; + +err_unpin: + intel_unpin_fb_obj(obj); +err: + return ret; +} + +static int intel_default_queue_flip(struct drm_device *dev, + struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj) +{ + return -ENODEV; +} + +static int intel_crtc_page_flip(struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_pending_vblank_event *event) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_framebuffer *intel_fb; + struct drm_i915_gem_object *obj; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_unpin_work *work; + unsigned long flags; + int ret; + + /* Can't change pixel format via MI display flips. */ + if (fb->pixel_format != crtc->fb->pixel_format) + return -EINVAL; + + /* + * TILEOFF/LINOFF registers can't be changed via MI display flips. + * Note that pitch changes could also affect these register. + */ + if (INTEL_INFO(dev)->gen > 3 && + (fb->offsets[0] != crtc->fb->offsets[0] || + fb->pitches[0] != crtc->fb->pitches[0])) + return -EINVAL; + + work = kzalloc(sizeof *work, GFP_KERNEL); + if (work == NULL) + return -ENOMEM; + + work->event = event; + work->crtc = crtc; + intel_fb = to_intel_framebuffer(crtc->fb); + work->old_fb_obj = intel_fb->obj; + INIT_WORK(&work->work, intel_unpin_work_fn); + + ret = drm_vblank_get(dev, intel_crtc->pipe); + if (ret) + goto free_work; + + /* We borrow the event spin lock for protecting unpin_work */ + spin_lock_irqsave(&dev->event_lock, flags); + if (intel_crtc->unpin_work) { + spin_unlock_irqrestore(&dev->event_lock, flags); + kfree(work); + drm_vblank_put(dev, intel_crtc->pipe); + + DRM_DEBUG_DRIVER("flip queue: crtc already busy\n"); + return -EBUSY; + } + intel_crtc->unpin_work = work; + spin_unlock_irqrestore(&dev->event_lock, flags); + + intel_fb = to_intel_framebuffer(fb); + obj = intel_fb->obj; + + if (atomic_read(&intel_crtc->unpin_work_count) >= 2) + flush_workqueue(dev_priv->wq); + + ret = i915_mutex_lock_interruptible(dev); + if (ret) + goto cleanup; + + /* Reference the objects for the scheduled work. */ + drm_gem_object_reference(&work->old_fb_obj->base); + drm_gem_object_reference(&obj->base); + + crtc->fb = fb; + + work->pending_flip_obj = obj; + + work->enable_stall_check = true; + + /* Block clients from rendering to the new back buffer until + * the flip occurs and the object is no longer visible. + */ + atomic_add(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip); + atomic_inc(&intel_crtc->unpin_work_count); + + ret = dev_priv->display.queue_flip(dev, crtc, fb, obj); + if (ret) + goto cleanup_pending; + + intel_disable_fbc(dev); + intel_mark_fb_busy(obj); + mutex_unlock(&dev->struct_mutex); + + trace_i915_flip_request(intel_crtc->plane, obj); + + return 0; + +cleanup_pending: + atomic_dec(&intel_crtc->unpin_work_count); + atomic_sub(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip); + drm_gem_object_unreference(&work->old_fb_obj->base); + drm_gem_object_unreference(&obj->base); + mutex_unlock(&dev->struct_mutex); + +cleanup: + spin_lock_irqsave(&dev->event_lock, flags); + intel_crtc->unpin_work = NULL; + spin_unlock_irqrestore(&dev->event_lock, flags); + + drm_vblank_put(dev, intel_crtc->pipe); +free_work: + kfree(work); + + return ret; +} + +static struct drm_crtc_helper_funcs intel_helper_funcs = { + .mode_set_base_atomic = intel_pipe_set_base_atomic, + .load_lut = intel_crtc_load_lut, + .disable = intel_crtc_noop, +}; + +bool intel_encoder_check_is_cloned(struct intel_encoder *encoder) +{ + struct intel_encoder *other_encoder; + struct drm_crtc *crtc = &encoder->new_crtc->base; + + if (WARN_ON(!crtc)) + return false; + + list_for_each_entry(other_encoder, + &crtc->dev->mode_config.encoder_list, + base.head) { + + if (&other_encoder->new_crtc->base != crtc || + encoder == other_encoder) + continue; + else + return true; + } + + return false; +} + +static bool intel_encoder_crtc_ok(struct drm_encoder *encoder, + struct drm_crtc *crtc) +{ + struct drm_device *dev; + struct drm_crtc *tmp; + int crtc_mask = 1; + + WARN(!crtc, "checking null crtc?\n"); + + dev = crtc->dev; + + list_for_each_entry(tmp, &dev->mode_config.crtc_list, head) { + if (tmp == crtc) + break; + crtc_mask <<= 1; + } + + if (encoder->possible_crtcs & crtc_mask) + return true; + return false; +} + +/** + * intel_modeset_update_staged_output_state + * + * Updates the staged output configuration state, e.g. after we've read out the + * current hw state. + */ +static void intel_modeset_update_staged_output_state(struct drm_device *dev) +{ + struct intel_encoder *encoder; + struct intel_connector *connector; + + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + connector->new_encoder = + to_intel_encoder(connector->base.encoder); + } + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + encoder->new_crtc = + to_intel_crtc(encoder->base.crtc); + } +} + +/** + * intel_modeset_commit_output_state + * + * This function copies the stage display pipe configuration to the real one. + */ +static void intel_modeset_commit_output_state(struct drm_device *dev) +{ + struct intel_encoder *encoder; + struct intel_connector *connector; + + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + connector->base.encoder = &connector->new_encoder->base; + } + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + encoder->base.crtc = &encoder->new_crtc->base; + } +} + +static struct drm_display_mode * +intel_modeset_adjusted_mode(struct drm_crtc *crtc, + struct drm_display_mode *mode) +{ + struct drm_device *dev = crtc->dev; + struct drm_display_mode *adjusted_mode; + struct drm_encoder_helper_funcs *encoder_funcs; + struct intel_encoder *encoder; + + adjusted_mode = drm_mode_duplicate(dev, mode); + if (!adjusted_mode) + return ERR_PTR(-ENOMEM); + + /* Pass our mode to the connectors and the CRTC to give them a chance to + * adjust it according to limitations or connector properties, and also + * a chance to reject the mode entirely. + */ + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + + if (&encoder->new_crtc->base != crtc) + continue; + encoder_funcs = encoder->base.helper_private; + if (!(encoder_funcs->mode_fixup(&encoder->base, mode, + adjusted_mode))) { + DRM_DEBUG_KMS("Encoder fixup failed\n"); + goto fail; + } + } + + if (!(intel_crtc_mode_fixup(crtc, mode, adjusted_mode))) { + DRM_DEBUG_KMS("CRTC fixup failed\n"); + goto fail; + } + DRM_DEBUG_KMS("[CRTC:%d]\n", crtc->base.id); + + return adjusted_mode; +fail: + drm_mode_destroy(dev, adjusted_mode); + return ERR_PTR(-EINVAL); +} + +/* Computes which crtcs are affected and sets the relevant bits in the mask. For + * simplicity we use the crtc's pipe number (because it's easier to obtain). */ +static void +intel_modeset_affected_pipes(struct drm_crtc *crtc, unsigned *modeset_pipes, + unsigned *prepare_pipes, unsigned *disable_pipes) +{ + struct intel_crtc *intel_crtc; + struct drm_device *dev = crtc->dev; + struct intel_encoder *encoder; + struct intel_connector *connector; + struct drm_crtc *tmp_crtc; + + *disable_pipes = *modeset_pipes = *prepare_pipes = 0; + + /* Check which crtcs have changed outputs connected to them, these need + * to be part of the prepare_pipes mask. We don't (yet) support global + * modeset across multiple crtcs, so modeset_pipes will only have one + * bit set at most. */ + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + if (connector->base.encoder == &connector->new_encoder->base) + continue; + + if (connector->base.encoder) { + tmp_crtc = connector->base.encoder->crtc; + + *prepare_pipes |= 1 << to_intel_crtc(tmp_crtc)->pipe; + } + + if (connector->new_encoder) + *prepare_pipes |= + 1 << connector->new_encoder->new_crtc->pipe; + } + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + if (encoder->base.crtc == &encoder->new_crtc->base) + continue; + + if (encoder->base.crtc) { + tmp_crtc = encoder->base.crtc; + + *prepare_pipes |= 1 << to_intel_crtc(tmp_crtc)->pipe; + } + + if (encoder->new_crtc) + *prepare_pipes |= 1 << encoder->new_crtc->pipe; + } + + /* Check for any pipes that will be fully disabled ... */ + list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, + base.head) { + bool used = false; + + /* Don't try to disable disabled crtcs. */ + if (!intel_crtc->base.enabled) + continue; + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + if (encoder->new_crtc == intel_crtc) + used = true; + } + + if (!used) + *disable_pipes |= 1 << intel_crtc->pipe; + } + + + /* set_mode is also used to update properties on life display pipes. */ + intel_crtc = to_intel_crtc(crtc); + if (crtc->enabled) + *prepare_pipes |= 1 << intel_crtc->pipe; + + /* We only support modeset on one single crtc, hence we need to do that + * only for the passed in crtc iff we change anything else than just + * disable crtcs. + * + * This is actually not true, to be fully compatible with the old crtc + * helper we automatically disable _any_ output (i.e. doesn't need to be + * connected to the crtc we're modesetting on) if it's disconnected. + * Which is a rather nutty api (since changed the output configuration + * without userspace's explicit request can lead to confusion), but + * alas. Hence we currently need to modeset on all pipes we prepare. */ + if (*prepare_pipes) + *modeset_pipes = *prepare_pipes; + + /* ... and mask these out. */ + *modeset_pipes &= ~(*disable_pipes); + *prepare_pipes &= ~(*disable_pipes); +} + +static bool intel_crtc_in_use(struct drm_crtc *crtc) +{ + struct drm_encoder *encoder; + struct drm_device *dev = crtc->dev; + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) + if (encoder->crtc == crtc) + return true; + + return false; +} + +static void +intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes) +{ + struct intel_encoder *intel_encoder; + struct intel_crtc *intel_crtc; + struct drm_connector *connector; + + list_for_each_entry(intel_encoder, &dev->mode_config.encoder_list, + base.head) { + if (!intel_encoder->base.crtc) + continue; + + intel_crtc = to_intel_crtc(intel_encoder->base.crtc); + + if (prepare_pipes & (1 << intel_crtc->pipe)) + intel_encoder->connectors_active = false; + } + + intel_modeset_commit_output_state(dev); + + /* Update computed state. */ + list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, + base.head) { + intel_crtc->base.enabled = intel_crtc_in_use(&intel_crtc->base); + } + + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + if (!connector->encoder || !connector->encoder->crtc) + continue; + + intel_crtc = to_intel_crtc(connector->encoder->crtc); + + if (prepare_pipes & (1 << intel_crtc->pipe)) { + struct drm_property *dpms_property = + dev->mode_config.dpms_property; + + connector->dpms = DRM_MODE_DPMS_ON; + drm_connector_property_set_value(connector, + dpms_property, + DRM_MODE_DPMS_ON); + + intel_encoder = to_intel_encoder(connector->encoder); + intel_encoder->connectors_active = true; + } + } + +} + +#define for_each_intel_crtc_masked(dev, mask, intel_crtc) \ + list_for_each_entry((intel_crtc), \ + &(dev)->mode_config.crtc_list, \ + base.head) \ + if (mask & (1 <<(intel_crtc)->pipe)) \ + +void +intel_modeset_check_state(struct drm_device *dev) +{ + struct intel_crtc *crtc; + struct intel_encoder *encoder; + struct intel_connector *connector; + + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + /* This also checks the encoder/connector hw state with the + * ->get_hw_state callbacks. */ + intel_connector_check_state(connector); + + WARN(&connector->new_encoder->base != connector->base.encoder, + "connector's staged encoder doesn't match current encoder\n"); + } + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + bool enabled = false; + bool active = false; + enum pipe pipe, tracked_pipe; + + DRM_DEBUG_KMS("[ENCODER:%d:%s]\n", + encoder->base.base.id, + drm_get_encoder_name(&encoder->base)); + + WARN(&encoder->new_crtc->base != encoder->base.crtc, + "encoder's stage crtc doesn't match current crtc\n"); + WARN(encoder->connectors_active && !encoder->base.crtc, + "encoder's active_connectors set, but no crtc\n"); + + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + if (connector->base.encoder != &encoder->base) + continue; + enabled = true; + if (connector->base.dpms != DRM_MODE_DPMS_OFF) + active = true; + } + WARN(!!encoder->base.crtc != enabled, + "encoder's enabled state mismatch " + "(expected %i, found %i)\n", + !!encoder->base.crtc, enabled); + WARN(active && !encoder->base.crtc, + "active encoder with no crtc\n"); + + WARN(encoder->connectors_active != active, + "encoder's computed active state doesn't match tracked active state " + "(expected %i, found %i)\n", active, encoder->connectors_active); + + active = encoder->get_hw_state(encoder, &pipe); + WARN(active != encoder->connectors_active, + "encoder's hw state doesn't match sw tracking " + "(expected %i, found %i)\n", + encoder->connectors_active, active); + + if (!encoder->base.crtc) + continue; + + tracked_pipe = to_intel_crtc(encoder->base.crtc)->pipe; + WARN(active && pipe != tracked_pipe, + "active encoder's pipe doesn't match" + "(expected %i, found %i)\n", + tracked_pipe, pipe); + + } + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, + base.head) { + bool enabled = false; + bool active = false; + + DRM_DEBUG_KMS("[CRTC:%d]\n", + crtc->base.base.id); + + WARN(crtc->active && !crtc->base.enabled, + "active crtc, but not enabled in sw tracking\n"); + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + if (encoder->base.crtc != &crtc->base) + continue; + enabled = true; + if (encoder->connectors_active) + active = true; + } + WARN(active != crtc->active, + "crtc's computed active state doesn't match tracked active state " + "(expected %i, found %i)\n", active, crtc->active); + WARN(enabled != crtc->base.enabled, + "crtc's computed enabled state doesn't match tracked enabled state " + "(expected %i, found %i)\n", enabled, crtc->base.enabled); + + assert_pipe(dev->dev_private, crtc->pipe, crtc->active); + } +} + +bool intel_set_mode(struct drm_crtc *crtc, + struct drm_display_mode *mode, + int x, int y, struct drm_framebuffer *fb) +{ + struct drm_device *dev = crtc->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_display_mode *adjusted_mode, saved_mode, saved_hwmode; + struct intel_crtc *intel_crtc; + unsigned disable_pipes, prepare_pipes, modeset_pipes; + bool ret = true; + + intel_modeset_affected_pipes(crtc, &modeset_pipes, + &prepare_pipes, &disable_pipes); + + DRM_DEBUG_KMS("set mode pipe masks: modeset: %x, prepare: %x, disable: %x\n", + modeset_pipes, prepare_pipes, disable_pipes); + + for_each_intel_crtc_masked(dev, disable_pipes, intel_crtc) + intel_crtc_disable(&intel_crtc->base); + + saved_hwmode = crtc->hwmode; + saved_mode = crtc->mode; + + /* Hack: Because we don't (yet) support global modeset on multiple + * crtcs, we don't keep track of the new mode for more than one crtc. + * Hence simply check whether any bit is set in modeset_pipes in all the + * pieces of code that are not yet converted to deal with mutliple crtcs + * changing their mode at the same time. */ + adjusted_mode = NULL; + if (modeset_pipes) { + adjusted_mode = intel_modeset_adjusted_mode(crtc, mode); + if (IS_ERR(adjusted_mode)) { + return false; + } + } + + for_each_intel_crtc_masked(dev, prepare_pipes, intel_crtc) { + if (intel_crtc->base.enabled) + dev_priv->display.crtc_disable(&intel_crtc->base); + } + + /* crtc->mode is already used by the ->mode_set callbacks, hence we need + * to set it here already despite that we pass it down the callchain. + */ + if (modeset_pipes) + crtc->mode = *mode; + + /* Only after disabling all output pipelines that will be changed can we + * update the the output configuration. */ + intel_modeset_update_state(dev, prepare_pipes); + + if (dev_priv->display.modeset_global_resources) + dev_priv->display.modeset_global_resources(dev); + + /* Set up the DPLL and any encoders state that needs to adjust or depend + * on the DPLL. + */ + for_each_intel_crtc_masked(dev, modeset_pipes, intel_crtc) { + ret = !intel_crtc_mode_set(&intel_crtc->base, + mode, adjusted_mode, + x, y, fb); + if (!ret) + goto done; + } + + /* Now enable the clocks, plane, pipe, and connectors that we set up. */ + for_each_intel_crtc_masked(dev, prepare_pipes, intel_crtc) + dev_priv->display.crtc_enable(&intel_crtc->base); + + if (modeset_pipes) { + /* Store real post-adjustment hardware mode. */ + crtc->hwmode = *adjusted_mode; + + /* Calculate and store various constants which + * are later needed by vblank and swap-completion + * timestamping. They are derived from true hwmode. + */ + drm_calc_timestamping_constants(crtc); + } + + /* FIXME: add subpixel order */ +done: + drm_mode_destroy(dev, adjusted_mode); + if (!ret && crtc->enabled) { + crtc->hwmode = saved_hwmode; + crtc->mode = saved_mode; + } else { + intel_modeset_check_state(dev); + } + + return ret; +} + +#undef for_each_intel_crtc_masked + +static void intel_set_config_free(struct intel_set_config *config) +{ + if (!config) + return; + + kfree(config->save_connector_encoders); + kfree(config->save_encoder_crtcs); + kfree(config); +} + +static int intel_set_config_save_state(struct drm_device *dev, + struct intel_set_config *config) +{ + struct drm_encoder *encoder; + struct drm_connector *connector; + int count; + + config->save_encoder_crtcs = + kcalloc(dev->mode_config.num_encoder, + sizeof(struct drm_crtc *), GFP_KERNEL); + if (!config->save_encoder_crtcs) + return -ENOMEM; + + config->save_connector_encoders = + kcalloc(dev->mode_config.num_connector, + sizeof(struct drm_encoder *), GFP_KERNEL); + if (!config->save_connector_encoders) + return -ENOMEM; + + /* Copy data. Note that driver private data is not affected. + * Should anything bad happen only the expected state is + * restored, not the drivers personal bookkeeping. + */ + count = 0; + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + config->save_encoder_crtcs[count++] = encoder->crtc; + } + + count = 0; + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + config->save_connector_encoders[count++] = connector->encoder; + } + + return 0; +} + +static void intel_set_config_restore_state(struct drm_device *dev, + struct intel_set_config *config) +{ + struct intel_encoder *encoder; + struct intel_connector *connector; + int count; + + count = 0; + list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { + encoder->new_crtc = + to_intel_crtc(config->save_encoder_crtcs[count++]); + } + + count = 0; + list_for_each_entry(connector, &dev->mode_config.connector_list, base.head) { + connector->new_encoder = + to_intel_encoder(config->save_connector_encoders[count++]); + } +} + +static void +intel_set_config_compute_mode_changes(struct drm_mode_set *set, + struct intel_set_config *config) +{ + + /* We should be able to check here if the fb has the same properties + * and then just flip_or_move it */ + if (set->crtc->fb != set->fb) { + /* If we have no fb then treat it as a full mode set */ + if (set->crtc->fb == NULL) { + DRM_DEBUG_KMS("crtc has no fb, full mode set\n"); + config->mode_changed = true; + } else if (set->fb == NULL) { + config->mode_changed = true; + } else if (set->fb->depth != set->crtc->fb->depth) { + config->mode_changed = true; + } else if (set->fb->bits_per_pixel != + set->crtc->fb->bits_per_pixel) { + config->mode_changed = true; + } else + config->fb_changed = true; + } + + if (set->fb && (set->x != set->crtc->x || set->y != set->crtc->y)) + config->fb_changed = true; + + if (set->mode && !drm_mode_equal(set->mode, &set->crtc->mode)) { + DRM_DEBUG_KMS("modes are different, full mode set\n"); + drm_mode_debug_printmodeline(&set->crtc->mode); + drm_mode_debug_printmodeline(set->mode); + config->mode_changed = true; + } +} + +static int +intel_modeset_stage_output_state(struct drm_device *dev, + struct drm_mode_set *set, + struct intel_set_config *config) +{ + struct drm_crtc *new_crtc; + struct intel_connector *connector; + struct intel_encoder *encoder; + int count, ro; + + /* The upper layers ensure that we either disabl a crtc or have a list + * of connectors. For paranoia, double-check this. */ + WARN_ON(!set->fb && (set->num_connectors != 0)); + WARN_ON(set->fb && (set->num_connectors == 0)); + + count = 0; + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + /* Otherwise traverse passed in connector list and get encoders + * for them. */ + for (ro = 0; ro < set->num_connectors; ro++) { + if (set->connectors[ro] == &connector->base) { + connector->new_encoder = connector->encoder; + break; + } + } + + /* If we disable the crtc, disable all its connectors. Also, if + * the connector is on the changing crtc but not on the new + * connector list, disable it. */ + if ((!set->fb || ro == set->num_connectors) && + connector->base.encoder && + connector->base.encoder->crtc == set->crtc) { + connector->new_encoder = NULL; + + DRM_DEBUG_KMS("[CONNECTOR:%d:%s] to [NOCRTC]\n", + connector->base.base.id, + drm_get_connector_name(&connector->base)); + } + + + if (&connector->new_encoder->base != connector->base.encoder) { + DRM_DEBUG_KMS("encoder changed, full mode switch\n"); + config->mode_changed = true; + } + + /* Disable all disconnected encoders. */ + if (connector->base.status == connector_status_disconnected) + connector->new_encoder = NULL; + } + /* connector->new_encoder is now updated for all connectors. */ + + /* Update crtc of enabled connectors. */ + count = 0; + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + if (!connector->new_encoder) + continue; + + new_crtc = connector->new_encoder->base.crtc; + + for (ro = 0; ro < set->num_connectors; ro++) { + if (set->connectors[ro] == &connector->base) + new_crtc = set->crtc; + } + + /* Make sure the new CRTC will work with the encoder */ + if (!intel_encoder_crtc_ok(&connector->new_encoder->base, + new_crtc)) { + return -EINVAL; + } + connector->encoder->new_crtc = to_intel_crtc(new_crtc); + + DRM_DEBUG_KMS("[CONNECTOR:%d:%s] to [CRTC:%d]\n", + connector->base.base.id, + drm_get_connector_name(&connector->base), + new_crtc->base.id); + } + + /* Check for any encoders that needs to be disabled. */ + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + list_for_each_entry(connector, + &dev->mode_config.connector_list, + base.head) { + if (connector->new_encoder == encoder) { + WARN_ON(!connector->new_encoder->new_crtc); + + goto next_encoder; + } + } + encoder->new_crtc = NULL; +next_encoder: + /* Only now check for crtc changes so we don't miss encoders + * that will be disabled. */ + if (&encoder->new_crtc->base != encoder->base.crtc) { + DRM_DEBUG_KMS("crtc changed, full mode switch\n"); + config->mode_changed = true; + } + } + /* Now we've also updated encoder->new_crtc for all encoders. */ + + return 0; +} + +static int intel_crtc_set_config(struct drm_mode_set *set) +{ + struct drm_device *dev; + struct drm_mode_set save_set; + struct intel_set_config *config; + int ret; + + BUG_ON(!set); + BUG_ON(!set->crtc); + BUG_ON(!set->crtc->helper_private); + + if (!set->mode) + set->fb = NULL; + + /* The fb helper likes to play gross jokes with ->mode_set_config. + * Unfortunately the crtc helper doesn't do much at all for this case, + * so we have to cope with this madness until the fb helper is fixed up. */ + if (set->fb && set->num_connectors == 0) + return 0; + + if (set->fb) { + DRM_DEBUG_KMS("[CRTC:%d] [FB:%d] #connectors=%d (x y) (%i %i)\n", + set->crtc->base.id, set->fb->base.id, + (int)set->num_connectors, set->x, set->y); + } else { + DRM_DEBUG_KMS("[CRTC:%d] [NOFB]\n", set->crtc->base.id); + } + + dev = set->crtc->dev; + + ret = -ENOMEM; + config = kzalloc(sizeof(*config), GFP_KERNEL); + if (!config) + goto out_config; + + ret = intel_set_config_save_state(dev, config); + if (ret) + goto out_config; + + save_set.crtc = set->crtc; + save_set.mode = &set->crtc->mode; + save_set.x = set->crtc->x; + save_set.y = set->crtc->y; + save_set.fb = set->crtc->fb; + + /* Compute whether we need a full modeset, only an fb base update or no + * change at all. In the future we might also check whether only the + * mode changed, e.g. for LVDS where we only change the panel fitter in + * such cases. */ + intel_set_config_compute_mode_changes(set, config); + + ret = intel_modeset_stage_output_state(dev, set, config); + if (ret) + goto fail; + + if (config->mode_changed) { + if (set->mode) { + DRM_DEBUG_KMS("attempting to set mode from" + " userspace\n"); + drm_mode_debug_printmodeline(set->mode); + } + + if (!intel_set_mode(set->crtc, set->mode, + set->x, set->y, set->fb)) { + DRM_ERROR("failed to set mode on [CRTC:%d]\n", + set->crtc->base.id); + ret = -EINVAL; + goto fail; + } + } else if (config->fb_changed) { + ret = intel_pipe_set_base(set->crtc, + set->x, set->y, set->fb); + } + + intel_set_config_free(config); + + return 0; + +fail: + intel_set_config_restore_state(dev, config); + + /* Try to restore the config */ + if (config->mode_changed && + !intel_set_mode(save_set.crtc, save_set.mode, + save_set.x, save_set.y, save_set.fb)) + DRM_ERROR("failed to restore config after modeset failure\n"); + +out_config: + intel_set_config_free(config); + return ret; +} + +static const struct drm_crtc_funcs intel_crtc_funcs = { + .cursor_set = intel_crtc_cursor_set, + .cursor_move = intel_crtc_cursor_move, + .gamma_set = intel_crtc_gamma_set, + .set_config = intel_crtc_set_config, + .destroy = intel_crtc_destroy, + .page_flip = intel_crtc_page_flip, +}; + +static void intel_cpu_pll_init(struct drm_device *dev) +{ + if (IS_HASWELL(dev)) + intel_ddi_pll_init(dev); +} + +static void intel_pch_pll_init(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int i; + + if (dev_priv->num_pch_pll == 0) { + DRM_DEBUG_KMS("No PCH PLLs on this hardware, skipping initialisation\n"); + return; + } + + for (i = 0; i < dev_priv->num_pch_pll; i++) { + dev_priv->pch_plls[i].pll_reg = _PCH_DPLL(i); + dev_priv->pch_plls[i].fp0_reg = _PCH_FP0(i); + dev_priv->pch_plls[i].fp1_reg = _PCH_FP1(i); + } +} + +static void intel_crtc_init(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc; + int i; + + intel_crtc = kzalloc(sizeof(struct intel_crtc) + (INTELFB_CONN_LIMIT * sizeof(struct drm_connector *)), GFP_KERNEL); + if (intel_crtc == NULL) + return; + + drm_crtc_init(dev, &intel_crtc->base, &intel_crtc_funcs); + + drm_mode_crtc_set_gamma_size(&intel_crtc->base, 256); + for (i = 0; i < 256; i++) { + intel_crtc->lut_r[i] = i; + intel_crtc->lut_g[i] = i; + intel_crtc->lut_b[i] = i; + } + + /* Swap pipes & planes for FBC on pre-965 */ + intel_crtc->pipe = pipe; + intel_crtc->plane = pipe; + intel_crtc->cpu_transcoder = pipe; + if (IS_MOBILE(dev) && IS_GEN3(dev)) { + DRM_DEBUG_KMS("swapping pipes & planes for FBC\n"); + intel_crtc->plane = !pipe; + } + + BUG_ON(pipe >= ARRAY_SIZE(dev_priv->plane_to_crtc_mapping) || + dev_priv->plane_to_crtc_mapping[intel_crtc->plane] != NULL); + dev_priv->plane_to_crtc_mapping[intel_crtc->plane] = &intel_crtc->base; + dev_priv->pipe_to_crtc_mapping[intel_crtc->pipe] = &intel_crtc->base; + + intel_crtc->bpp = 24; /* default for pre-Ironlake */ + + drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs); +} + +int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct drm_i915_get_pipe_from_crtc_id *pipe_from_crtc_id = data; + struct drm_mode_object *drmmode_obj; + struct intel_crtc *crtc; + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + drmmode_obj = drm_mode_object_find(dev, pipe_from_crtc_id->crtc_id, + DRM_MODE_OBJECT_CRTC); + + if (!drmmode_obj) { + DRM_ERROR("no such CRTC id\n"); + return -EINVAL; + } + + crtc = to_intel_crtc(obj_to_crtc(drmmode_obj)); + pipe_from_crtc_id->pipe = crtc->pipe; + + return 0; +} + +static int intel_encoder_clones(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct intel_encoder *source_encoder; + int index_mask = 0; + int entry = 0; + + list_for_each_entry(source_encoder, + &dev->mode_config.encoder_list, base.head) { + + if (encoder == source_encoder) + index_mask |= (1 << entry); + + /* Intel hw has only one MUX where enocoders could be cloned. */ + if (encoder->cloneable && source_encoder->cloneable) + index_mask |= (1 << entry); + + entry++; + } + + return index_mask; +} + +static bool has_edp_a(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (!IS_MOBILE(dev)) + return false; + + if ((I915_READ(DP_A) & DP_DETECTED) == 0) + return false; + + if (IS_GEN5(dev) && + (I915_READ(ILK_DISPLAY_CHICKEN_FUSES) & ILK_eDP_A_DISABLE)) + return false; + + return true; +} + +static void intel_setup_outputs(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *encoder; + bool dpd_is_edp = false; + bool has_lvds; + + has_lvds = intel_lvds_init(dev); + if (!has_lvds && !HAS_PCH_SPLIT(dev)) { + /* disable the panel fitter on everything but LVDS */ + I915_WRITE(PFIT_CONTROL, 0); + } + + if (!(IS_HASWELL(dev) && + (I915_READ(DDI_BUF_CTL(PORT_A)) & DDI_A_4_LANES))) + intel_crt_init(dev); + + if (IS_HASWELL(dev)) { + int found; + + /* Haswell uses DDI functions to detect digital outputs */ + found = I915_READ(DDI_BUF_CTL_A) & DDI_INIT_DISPLAY_DETECTED; + /* DDI A only supports eDP */ + if (found) + intel_ddi_init(dev, PORT_A); + + /* DDI B, C and D detection is indicated by the SFUSE_STRAP + * register */ + found = I915_READ(SFUSE_STRAP); + + if (found & SFUSE_STRAP_DDIB_DETECTED) + intel_ddi_init(dev, PORT_B); + if (found & SFUSE_STRAP_DDIC_DETECTED) + intel_ddi_init(dev, PORT_C); + if (found & SFUSE_STRAP_DDID_DETECTED) + intel_ddi_init(dev, PORT_D); + } else if (HAS_PCH_SPLIT(dev)) { + int found; + dpd_is_edp = intel_dpd_is_edp(dev); + + if (has_edp_a(dev)) + intel_dp_init(dev, DP_A, PORT_A); + + if (I915_READ(HDMIB) & PORT_DETECTED) { + /* PCH SDVOB multiplex with HDMIB */ + found = intel_sdvo_init(dev, PCH_SDVOB, true); + if (!found) + intel_hdmi_init(dev, HDMIB, PORT_B); + if (!found && (I915_READ(PCH_DP_B) & DP_DETECTED)) + intel_dp_init(dev, PCH_DP_B, PORT_B); + } + + if (I915_READ(HDMIC) & PORT_DETECTED) + intel_hdmi_init(dev, HDMIC, PORT_C); + + if (!dpd_is_edp && I915_READ(HDMID) & PORT_DETECTED) + intel_hdmi_init(dev, HDMID, PORT_D); + + if (I915_READ(PCH_DP_C) & DP_DETECTED) + intel_dp_init(dev, PCH_DP_C, PORT_C); + + if (I915_READ(PCH_DP_D) & DP_DETECTED) + intel_dp_init(dev, PCH_DP_D, PORT_D); + } else if (IS_VALLEYVIEW(dev)) { + int found; + + /* Check for built-in panel first. Shares lanes with HDMI on SDVOC */ + if (I915_READ(DP_C) & DP_DETECTED) + intel_dp_init(dev, DP_C, PORT_C); + + if (I915_READ(SDVOB) & PORT_DETECTED) { + /* SDVOB multiplex with HDMIB */ + found = intel_sdvo_init(dev, SDVOB, true); + if (!found) + intel_hdmi_init(dev, SDVOB, PORT_B); + if (!found && (I915_READ(DP_B) & DP_DETECTED)) + intel_dp_init(dev, DP_B, PORT_B); + } + + if (I915_READ(SDVOC) & PORT_DETECTED) + intel_hdmi_init(dev, SDVOC, PORT_C); + + } else if (SUPPORTS_DIGITAL_OUTPUTS(dev)) { + bool found = false; + + if (I915_READ(SDVOB) & SDVO_DETECTED) { + DRM_DEBUG_KMS("probing SDVOB\n"); + found = intel_sdvo_init(dev, SDVOB, true); + if (!found && SUPPORTS_INTEGRATED_HDMI(dev)) { + DRM_DEBUG_KMS("probing HDMI on SDVOB\n"); + intel_hdmi_init(dev, SDVOB, PORT_B); + } + + if (!found && SUPPORTS_INTEGRATED_DP(dev)) { + DRM_DEBUG_KMS("probing DP_B\n"); + intel_dp_init(dev, DP_B, PORT_B); + } + } + + /* Before G4X SDVOC doesn't have its own detect register */ + + if (I915_READ(SDVOB) & SDVO_DETECTED) { + DRM_DEBUG_KMS("probing SDVOC\n"); + found = intel_sdvo_init(dev, SDVOC, false); + } + + if (!found && (I915_READ(SDVOC) & SDVO_DETECTED)) { + + if (SUPPORTS_INTEGRATED_HDMI(dev)) { + DRM_DEBUG_KMS("probing HDMI on SDVOC\n"); + intel_hdmi_init(dev, SDVOC, PORT_C); + } + if (SUPPORTS_INTEGRATED_DP(dev)) { + DRM_DEBUG_KMS("probing DP_C\n"); + intel_dp_init(dev, DP_C, PORT_C); + } + } + + if (SUPPORTS_INTEGRATED_DP(dev) && + (I915_READ(DP_D) & DP_DETECTED)) { + DRM_DEBUG_KMS("probing DP_D\n"); + intel_dp_init(dev, DP_D, PORT_D); + } + } else if (IS_GEN2(dev)) + intel_dvo_init(dev); + + if (SUPPORTS_TV(dev)) + intel_tv_init(dev); + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { + encoder->base.possible_crtcs = encoder->crtc_mask; + encoder->base.possible_clones = + intel_encoder_clones(encoder); + } + + intel_init_pch_refclk(dev); + + drm_helper_move_panel_connectors_to_head(dev); +} + +static void intel_user_framebuffer_destroy(struct drm_framebuffer *fb) +{ + struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb); + + drm_framebuffer_cleanup(fb); + drm_gem_object_unreference_unlocked(&intel_fb->obj->base); + + kfree(intel_fb); +} + +static int intel_user_framebuffer_create_handle(struct drm_framebuffer *fb, + struct drm_file *file, + unsigned int *handle) +{ + struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb); + struct drm_i915_gem_object *obj = intel_fb->obj; + + return drm_gem_handle_create(file, &obj->base, handle); +} + +static const struct drm_framebuffer_funcs intel_fb_funcs = { + .destroy = intel_user_framebuffer_destroy, + .create_handle = intel_user_framebuffer_create_handle, +}; + +int intel_framebuffer_init(struct drm_device *dev, + struct intel_framebuffer *intel_fb, + struct drm_mode_fb_cmd2 *mode_cmd, + struct drm_i915_gem_object *obj) +{ + int ret; + + if (obj->tiling_mode == I915_TILING_Y) + return -EINVAL; + + if (mode_cmd->pitches[0] & 63) + return -EINVAL; + + /* FIXME <= Gen4 stride limits are bit unclear */ + if (mode_cmd->pitches[0] > 32768) + return -EINVAL; + + if (obj->tiling_mode != I915_TILING_NONE && + mode_cmd->pitches[0] != obj->stride) + return -EINVAL; + + /* Reject formats not supported by any plane early. */ + switch (mode_cmd->pixel_format) { + case DRM_FORMAT_C8: + case DRM_FORMAT_RGB565: + case DRM_FORMAT_XRGB8888: + case DRM_FORMAT_ARGB8888: + break; + case DRM_FORMAT_XRGB1555: + case DRM_FORMAT_ARGB1555: + if (INTEL_INFO(dev)->gen > 3) + return -EINVAL; + break; + case DRM_FORMAT_XBGR8888: + case DRM_FORMAT_ABGR8888: + case DRM_FORMAT_XRGB2101010: + case DRM_FORMAT_ARGB2101010: + case DRM_FORMAT_XBGR2101010: + case DRM_FORMAT_ABGR2101010: + if (INTEL_INFO(dev)->gen < 4) + return -EINVAL; + break; + case DRM_FORMAT_YUYV: + case DRM_FORMAT_UYVY: + case DRM_FORMAT_YVYU: + case DRM_FORMAT_VYUY: + if (INTEL_INFO(dev)->gen < 6) + return -EINVAL; + break; + default: + DRM_DEBUG_KMS("unsupported pixel format 0x%08x\n", mode_cmd->pixel_format); + return -EINVAL; + } + + /* FIXME need to adjust LINOFF/TILEOFF accordingly. */ + if (mode_cmd->offsets[0] != 0) + return -EINVAL; + + ret = drm_framebuffer_init(dev, &intel_fb->base, &intel_fb_funcs); + if (ret) { + DRM_ERROR("framebuffer init failed %d\n", ret); + return ret; + } + + drm_helper_mode_fill_fb_struct(&intel_fb->base, mode_cmd); + intel_fb->obj = obj; + return 0; +} + +static struct drm_framebuffer * +intel_user_framebuffer_create(struct drm_device *dev, + struct drm_file *filp, + struct drm_mode_fb_cmd2 *mode_cmd) +{ + struct drm_i915_gem_object *obj; + + obj = to_intel_bo(drm_gem_object_lookup(dev, filp, + mode_cmd->handles[0])); + if (&obj->base == NULL) + return ERR_PTR(-ENOENT); + + return intel_framebuffer_create(dev, mode_cmd, obj); +} + +static const struct drm_mode_config_funcs intel_mode_funcs = { + .fb_create = intel_user_framebuffer_create, + .output_poll_changed = intel_fb_output_poll_changed, +}; + +/* Set up chip specific display functions */ +static void intel_init_display(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* We always want a DPMS function */ + if (IS_HASWELL(dev)) { + dev_priv->display.crtc_mode_set = haswell_crtc_mode_set; + dev_priv->display.crtc_enable = haswell_crtc_enable; + dev_priv->display.crtc_disable = haswell_crtc_disable; + dev_priv->display.off = haswell_crtc_off; + dev_priv->display.update_plane = ironlake_update_plane; + } else if (HAS_PCH_SPLIT(dev)) { + dev_priv->display.crtc_mode_set = ironlake_crtc_mode_set; + dev_priv->display.crtc_enable = ironlake_crtc_enable; + dev_priv->display.crtc_disable = ironlake_crtc_disable; + dev_priv->display.off = ironlake_crtc_off; + dev_priv->display.update_plane = ironlake_update_plane; + } else { + dev_priv->display.crtc_mode_set = i9xx_crtc_mode_set; + dev_priv->display.crtc_enable = i9xx_crtc_enable; + dev_priv->display.crtc_disable = i9xx_crtc_disable; + dev_priv->display.off = i9xx_crtc_off; + dev_priv->display.update_plane = i9xx_update_plane; + } + + /* Returns the core display clock speed */ + if (IS_VALLEYVIEW(dev)) + dev_priv->display.get_display_clock_speed = + valleyview_get_display_clock_speed; + else if (IS_I945G(dev) || (IS_G33(dev) && !IS_PINEVIEW_M(dev))) + dev_priv->display.get_display_clock_speed = + i945_get_display_clock_speed; + else if (IS_I915G(dev)) + dev_priv->display.get_display_clock_speed = + i915_get_display_clock_speed; + else if (IS_I945GM(dev) || IS_845G(dev) || IS_PINEVIEW_M(dev)) + dev_priv->display.get_display_clock_speed = + i9xx_misc_get_display_clock_speed; + else if (IS_I915GM(dev)) + dev_priv->display.get_display_clock_speed = + i915gm_get_display_clock_speed; + else if (IS_I865G(dev)) + dev_priv->display.get_display_clock_speed = + i865_get_display_clock_speed; + else if (IS_I85X(dev)) + dev_priv->display.get_display_clock_speed = + i855_get_display_clock_speed; + else /* 852, 830 */ + dev_priv->display.get_display_clock_speed = + i830_get_display_clock_speed; + + if (HAS_PCH_SPLIT(dev)) { + if (IS_GEN5(dev)) { + dev_priv->display.fdi_link_train = ironlake_fdi_link_train; + dev_priv->display.write_eld = ironlake_write_eld; + } else if (IS_GEN6(dev)) { + dev_priv->display.fdi_link_train = gen6_fdi_link_train; + dev_priv->display.write_eld = ironlake_write_eld; + } else if (IS_IVYBRIDGE(dev)) { + /* FIXME: detect B0+ stepping and use auto training */ + dev_priv->display.fdi_link_train = ivb_manual_fdi_link_train; + dev_priv->display.write_eld = ironlake_write_eld; + dev_priv->display.modeset_global_resources = + ivb_modeset_global_resources; + } else if (IS_HASWELL(dev)) { + dev_priv->display.fdi_link_train = hsw_fdi_link_train; + dev_priv->display.write_eld = haswell_write_eld; + } else + dev_priv->display.update_wm = NULL; + } else if (IS_G4X(dev)) { + dev_priv->display.write_eld = g4x_write_eld; + } + + /* Default just returns -ENODEV to indicate unsupported */ + dev_priv->display.queue_flip = intel_default_queue_flip; + + switch (INTEL_INFO(dev)->gen) { + case 2: + dev_priv->display.queue_flip = intel_gen2_queue_flip; + break; + + case 3: + dev_priv->display.queue_flip = intel_gen3_queue_flip; + break; + + case 4: + case 5: + dev_priv->display.queue_flip = intel_gen4_queue_flip; + break; + + case 6: + dev_priv->display.queue_flip = intel_gen6_queue_flip; + break; + case 7: + dev_priv->display.queue_flip = intel_gen7_queue_flip; + break; + } +} + +/* + * Some BIOSes insist on assuming the GPU's pipe A is enabled at suspend, + * resume, or other times. This quirk makes sure that's the case for + * affected systems. + */ +static void quirk_pipea_force(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + dev_priv->quirks |= QUIRK_PIPEA_FORCE; + DRM_INFO("applying pipe a force quirk\n"); +} + +/* + * Some machines (Lenovo U160) do not work with SSC on LVDS for some reason + */ +static void quirk_ssc_force_disable(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + dev_priv->quirks |= QUIRK_LVDS_SSC_DISABLE; + DRM_INFO("applying lvds SSC disable quirk\n"); +} + +/* + * A machine (e.g. Acer Aspire 5734Z) may need to invert the panel backlight + * brightness value + */ +static void quirk_invert_brightness(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + dev_priv->quirks |= QUIRK_INVERT_BRIGHTNESS; + DRM_INFO("applying inverted panel brightness quirk\n"); +} + +struct intel_quirk { + int device; + int subsystem_vendor; + int subsystem_device; + void (*hook)(struct drm_device *dev); +}; + +/* For systems that don't have a meaningful PCI subdevice/subvendor ID */ +struct intel_dmi_quirk { + void (*hook)(struct drm_device *dev); + const struct dmi_system_id (*dmi_id_list)[]; +}; + +static int intel_dmi_reverse_brightness(const struct dmi_system_id *id) +{ + DRM_INFO("Backlight polarity reversed on %s\n", id->ident); + return 1; +} + +static const struct intel_dmi_quirk intel_dmi_quirks[] = { + { + .dmi_id_list = &(const struct dmi_system_id[]) { + { + .callback = intel_dmi_reverse_brightness, + .ident = "NCR Corporation", + .matches = {DMI_MATCH(DMI_SYS_VENDOR, "NCR Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, ""), + }, + }, + { } /* terminating entry */ + }, + .hook = quirk_invert_brightness, + }, +}; + +static struct intel_quirk intel_quirks[] = { + /* HP Mini needs pipe A force quirk (LP: #322104) */ + { 0x27ae, 0x103c, 0x361a, quirk_pipea_force }, + + /* Toshiba Protege R-205, S-209 needs pipe A force quirk */ + { 0x2592, 0x1179, 0x0001, quirk_pipea_force }, + + /* ThinkPad T60 needs pipe A force quirk (bug #16494) */ + { 0x2782, 0x17aa, 0x201a, quirk_pipea_force }, + + /* 830/845 need to leave pipe A & dpll A up */ + { 0x2562, PCI_ANY_ID, PCI_ANY_ID, quirk_pipea_force }, + { 0x3577, PCI_ANY_ID, PCI_ANY_ID, quirk_pipea_force }, + + /* Lenovo U160 cannot use SSC on LVDS */ + { 0x0046, 0x17aa, 0x3920, quirk_ssc_force_disable }, + + /* Sony Vaio Y cannot use SSC on LVDS */ + { 0x0046, 0x104d, 0x9076, quirk_ssc_force_disable }, + + /* Acer Aspire 5734Z must invert backlight brightness */ + { 0x2a42, 0x1025, 0x0459, quirk_invert_brightness }, +}; + +static void intel_init_quirks(struct drm_device *dev) +{ + struct pci_dev *d = dev->pdev; + int i; + + for (i = 0; i < ARRAY_SIZE(intel_quirks); i++) { + struct intel_quirk *q = &intel_quirks[i]; + + if (d->device == q->device && + (d->subsystem_vendor == q->subsystem_vendor || + q->subsystem_vendor == PCI_ANY_ID) && + (d->subsystem_device == q->subsystem_device || + q->subsystem_device == PCI_ANY_ID)) + q->hook(dev); + } + for (i = 0; i < ARRAY_SIZE(intel_dmi_quirks); i++) { + if (dmi_check_system(*intel_dmi_quirks[i].dmi_id_list) != 0) + intel_dmi_quirks[i].hook(dev); + } +} + +/* Disable the VGA plane that we never use */ +static void i915_disable_vga(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u8 sr1; + u32 vga_reg; + + if (HAS_PCH_SPLIT(dev)) + vga_reg = CPU_VGACNTRL; + else + vga_reg = VGACNTRL; + + vga_get_uninterruptible(dev->pdev, VGA_RSRC_LEGACY_IO); + outb(SR01, VGA_SR_INDEX); + sr1 = inb(VGA_SR_DATA); + outb(sr1 | 1<<5, VGA_SR_DATA); + vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); + udelay(300); + + I915_WRITE(vga_reg, VGA_DISP_DISABLE); + POSTING_READ(vga_reg); +} + +void intel_modeset_init_hw(struct drm_device *dev) +{ + /* We attempt to init the necessary power wells early in the initialization + * time, so the subsystems that expect power to be enabled can work. + */ + intel_init_power_wells(dev); + + intel_prepare_ddi(dev); + + intel_init_clock_gating(dev); + + mutex_lock(&dev->struct_mutex); + intel_enable_gt_powersave(dev); + mutex_unlock(&dev->struct_mutex); +} + +void intel_modeset_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i, ret; + + drm_mode_config_init(dev); + + dev->mode_config.min_width = 0; + dev->mode_config.min_height = 0; + + dev->mode_config.preferred_depth = 24; + dev->mode_config.prefer_shadow = 1; + + dev->mode_config.funcs = &intel_mode_funcs; + + intel_init_quirks(dev); + + intel_init_pm(dev); + + intel_init_display(dev); + + if (IS_GEN2(dev)) { + dev->mode_config.max_width = 2048; + dev->mode_config.max_height = 2048; + } else if (IS_GEN3(dev)) { + dev->mode_config.max_width = 4096; + dev->mode_config.max_height = 4096; + } else { + dev->mode_config.max_width = 8192; + dev->mode_config.max_height = 8192; + } + dev->mode_config.fb_base = dev_priv->mm.gtt_base_addr; + + DRM_DEBUG_KMS("%d display pipe%s available.\n", + dev_priv->num_pipe, dev_priv->num_pipe > 1 ? "s" : ""); + + for (i = 0; i < dev_priv->num_pipe; i++) { + intel_crtc_init(dev, i); + ret = intel_plane_init(dev, i); + if (ret) + DRM_DEBUG_KMS("plane %d init failed: %d\n", i, ret); + } + + intel_cpu_pll_init(dev); + intel_pch_pll_init(dev); + + /* Just disable it once at startup */ + i915_disable_vga(dev); + intel_setup_outputs(dev); +} + +static void +intel_connector_break_all_links(struct intel_connector *connector) +{ + connector->base.dpms = DRM_MODE_DPMS_OFF; + connector->base.encoder = NULL; + connector->encoder->connectors_active = false; + connector->encoder->base.crtc = NULL; +} + +static void intel_enable_pipe_a(struct drm_device *dev) +{ + struct intel_connector *connector; + struct drm_connector *crt = NULL; + struct intel_load_detect_pipe load_detect_temp; + + /* We can't just switch on the pipe A, we need to set things up with a + * proper mode and output configuration. As a gross hack, enable pipe A + * by enabling the load detect pipe once. */ + list_for_each_entry(connector, + &dev->mode_config.connector_list, + base.head) { + if (connector->encoder->type == INTEL_OUTPUT_ANALOG) { + crt = &connector->base; + break; + } + } + + if (!crt) + return; + + if (intel_get_load_detect_pipe(crt, NULL, &load_detect_temp)) + intel_release_load_detect_pipe(crt, &load_detect_temp); + + +} + +static bool +intel_check_plane_mapping(struct intel_crtc *crtc) +{ + struct drm_i915_private *dev_priv = crtc->base.dev->dev_private; + u32 reg, val; + + if (dev_priv->num_pipe == 1) + return true; + + reg = DSPCNTR(!crtc->plane); + val = I915_READ(reg); + + if ((val & DISPLAY_PLANE_ENABLE) && + (!!(val & DISPPLANE_SEL_PIPE_MASK) == crtc->pipe)) + return false; + + return true; +} + +static void intel_sanitize_crtc(struct intel_crtc *crtc) +{ + struct drm_device *dev = crtc->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 reg; + + /* Clear any frame start delays used for debugging left by the BIOS */ + reg = PIPECONF(crtc->cpu_transcoder); + I915_WRITE(reg, I915_READ(reg) & ~PIPECONF_FRAME_START_DELAY_MASK); + + /* We need to sanitize the plane -> pipe mapping first because this will + * disable the crtc (and hence change the state) if it is wrong. Note + * that gen4+ has a fixed plane -> pipe mapping. */ + if (INTEL_INFO(dev)->gen < 4 && !intel_check_plane_mapping(crtc)) { + struct intel_connector *connector; + bool plane; + + DRM_DEBUG_KMS("[CRTC:%d] wrong plane connection detected!\n", + crtc->base.base.id); + + /* Pipe has the wrong plane attached and the plane is active. + * Temporarily change the plane mapping and disable everything + * ... */ + plane = crtc->plane; + crtc->plane = !plane; + dev_priv->display.crtc_disable(&crtc->base); + crtc->plane = plane; + + /* ... and break all links. */ + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + if (connector->encoder->base.crtc != &crtc->base) + continue; + + intel_connector_break_all_links(connector); + } + + WARN_ON(crtc->active); + crtc->base.enabled = false; + } + + if (dev_priv->quirks & QUIRK_PIPEA_FORCE && + crtc->pipe == PIPE_A && !crtc->active) { + /* BIOS forgot to enable pipe A, this mostly happens after + * resume. Force-enable the pipe to fix this, the update_dpms + * call below we restore the pipe to the right state, but leave + * the required bits on. */ + intel_enable_pipe_a(dev); + } + + /* Adjust the state of the output pipe according to whether we + * have active connectors/encoders. */ + intel_crtc_update_dpms(&crtc->base); + + if (crtc->active != crtc->base.enabled) { + struct intel_encoder *encoder; + + /* This can happen either due to bugs in the get_hw_state + * functions or because the pipe is force-enabled due to the + * pipe A quirk. */ + DRM_DEBUG_KMS("[CRTC:%d] hw state adjusted, was %s, now %s\n", + crtc->base.base.id, + crtc->base.enabled ? "enabled" : "disabled", + crtc->active ? "enabled" : "disabled"); + + crtc->base.enabled = crtc->active; + + /* Because we only establish the connector -> encoder -> + * crtc links if something is active, this means the + * crtc is now deactivated. Break the links. connector + * -> encoder links are only establish when things are + * actually up, hence no need to break them. */ + WARN_ON(crtc->active); + + for_each_encoder_on_crtc(dev, &crtc->base, encoder) { + WARN_ON(encoder->connectors_active); + encoder->base.crtc = NULL; + } + } +} + +static void intel_sanitize_encoder(struct intel_encoder *encoder) +{ + struct intel_connector *connector; + struct drm_device *dev = encoder->base.dev; + + /* We need to check both for a crtc link (meaning that the + * encoder is active and trying to read from a pipe) and the + * pipe itself being active. */ + bool has_active_crtc = encoder->base.crtc && + to_intel_crtc(encoder->base.crtc)->active; + + if (encoder->connectors_active && !has_active_crtc) { + DRM_DEBUG_KMS("[ENCODER:%d:%s] has active connectors but no active pipe!\n", + encoder->base.base.id, + drm_get_encoder_name(&encoder->base)); + + /* Connector is active, but has no active pipe. This is + * fallout from our resume register restoring. Disable + * the encoder manually again. */ + if (encoder->base.crtc) { + DRM_DEBUG_KMS("[ENCODER:%d:%s] manually disabled\n", + encoder->base.base.id, + drm_get_encoder_name(&encoder->base)); + encoder->disable(encoder); + } + + /* Inconsistent output/port/pipe state happens presumably due to + * a bug in one of the get_hw_state functions. Or someplace else + * in our code, like the register restore mess on resume. Clamp + * things to off as a safer default. */ + list_for_each_entry(connector, + &dev->mode_config.connector_list, + base.head) { + if (connector->encoder != encoder) + continue; + + intel_connector_break_all_links(connector); + } + } + /* Enabled encoders without active connectors will be fixed in + * the crtc fixup. */ +} + +/* Scan out the current hw modeset state, sanitizes it and maps it into the drm + * and i915 state tracking structures. */ +void intel_modeset_setup_hw_state(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + enum pipe pipe; + u32 tmp; + struct intel_crtc *crtc; + struct intel_encoder *encoder; + struct intel_connector *connector; + + if (IS_HASWELL(dev)) { + tmp = I915_READ(TRANS_DDI_FUNC_CTL(TRANSCODER_EDP)); + + if (tmp & TRANS_DDI_FUNC_ENABLE) { + switch (tmp & TRANS_DDI_EDP_INPUT_MASK) { + case TRANS_DDI_EDP_INPUT_A_ON: + case TRANS_DDI_EDP_INPUT_A_ONOFF: + pipe = PIPE_A; + break; + case TRANS_DDI_EDP_INPUT_B_ONOFF: + pipe = PIPE_B; + break; + case TRANS_DDI_EDP_INPUT_C_ONOFF: + pipe = PIPE_C; + break; + } + + crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); + crtc->cpu_transcoder = TRANSCODER_EDP; + + DRM_DEBUG_KMS("Pipe %c using transcoder EDP\n", + pipe_name(pipe)); + } + } + + for_each_pipe(pipe) { + crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); + + tmp = I915_READ(PIPECONF(crtc->cpu_transcoder)); + if (tmp & PIPECONF_ENABLE) + crtc->active = true; + else + crtc->active = false; + + crtc->base.enabled = crtc->active; + + DRM_DEBUG_KMS("[CRTC:%d] hw state readout: %s\n", + crtc->base.base.id, + crtc->active ? "enabled" : "disabled"); + } + + if (IS_HASWELL(dev)) + intel_ddi_setup_hw_pll_state(dev); + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + pipe = 0; + + if (encoder->get_hw_state(encoder, &pipe)) { + encoder->base.crtc = + dev_priv->pipe_to_crtc_mapping[pipe]; + } else { + encoder->base.crtc = NULL; + } + + encoder->connectors_active = false; + DRM_DEBUG_KMS("[ENCODER:%d:%s] hw state readout: %s, pipe=%i\n", + encoder->base.base.id, + drm_get_encoder_name(&encoder->base), + encoder->base.crtc ? "enabled" : "disabled", + pipe); + } + + list_for_each_entry(connector, &dev->mode_config.connector_list, + base.head) { + if (connector->get_hw_state(connector)) { + connector->base.dpms = DRM_MODE_DPMS_ON; + connector->encoder->connectors_active = true; + connector->base.encoder = &connector->encoder->base; + } else { + connector->base.dpms = DRM_MODE_DPMS_OFF; + connector->base.encoder = NULL; + } + DRM_DEBUG_KMS("[CONNECTOR:%d:%s] hw state readout: %s\n", + connector->base.base.id, + drm_get_connector_name(&connector->base), + connector->base.encoder ? "enabled" : "disabled"); + } + + /* HW state is read out, now we need to sanitize this mess. */ + list_for_each_entry(encoder, &dev->mode_config.encoder_list, + base.head) { + intel_sanitize_encoder(encoder); + } + + for_each_pipe(pipe) { + crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); + intel_sanitize_crtc(crtc); + } + + intel_modeset_update_staged_output_state(dev); + + intel_modeset_check_state(dev); + + drm_mode_config_reset(dev); +} + +void intel_modeset_gem_init(struct drm_device *dev) +{ + intel_modeset_init_hw(dev); + + intel_setup_overlay(dev); + + intel_modeset_setup_hw_state(dev); +} + +void intel_modeset_cleanup(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc; + struct intel_crtc *intel_crtc; + + drm_kms_helper_poll_fini(dev); + mutex_lock(&dev->struct_mutex); + + intel_unregister_dsm_handler(); + + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + /* Skip inactive CRTCs */ + if (!crtc->fb) + continue; + + intel_crtc = to_intel_crtc(crtc); + intel_increase_pllclock(crtc); + } + + intel_disable_fbc(dev); + + intel_disable_gt_powersave(dev); + + ironlake_teardown_rc6(dev); + + if (IS_VALLEYVIEW(dev)) + vlv_init_dpio(dev); + + mutex_unlock(&dev->struct_mutex); + + /* Disable the irq before mode object teardown, for the irq might + * enqueue unpin/hotplug work. */ + drm_irq_uninstall(dev); + cancel_work_sync(&dev_priv->hotplug_work); + cancel_work_sync(&dev_priv->rps.work); + + /* flush any delayed tasks or pending work */ + flush_scheduled_work(); + + drm_mode_config_cleanup(dev); +} + +/* + * Return which encoder is currently attached for connector. + */ +struct drm_encoder *intel_best_encoder(struct drm_connector *connector) +{ + return &intel_attached_encoder(connector)->base; +} + +void intel_connector_attach_encoder(struct intel_connector *connector, + struct intel_encoder *encoder) +{ + connector->encoder = encoder; + drm_mode_connector_attach_encoder(&connector->base, + &encoder->base); +} + +/* + * set vga decode state - true == enable VGA decode + */ +int intel_modeset_vga_set_state(struct drm_device *dev, bool state) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u16 gmch_ctrl; + + pci_read_config_word(dev_priv->bridge_dev, INTEL_GMCH_CTRL, &gmch_ctrl); + if (state) + gmch_ctrl &= ~INTEL_GMCH_VGA_DISABLE; + else + gmch_ctrl |= INTEL_GMCH_VGA_DISABLE; + pci_write_config_word(dev_priv->bridge_dev, INTEL_GMCH_CTRL, gmch_ctrl); + return 0; +} + +#ifdef CONFIG_DEBUG_FS +#include + +struct intel_display_error_state { + struct intel_cursor_error_state { + u32 control; + u32 position; + u32 base; + u32 size; + } cursor[I915_MAX_PIPES]; + + struct intel_pipe_error_state { + u32 conf; + u32 source; + + u32 htotal; + u32 hblank; + u32 hsync; + u32 vtotal; + u32 vblank; + u32 vsync; + } pipe[I915_MAX_PIPES]; + + struct intel_plane_error_state { + u32 control; + u32 stride; + u32 size; + u32 pos; + u32 addr; + u32 surface; + u32 tile_offset; + } plane[I915_MAX_PIPES]; +}; + +struct intel_display_error_state * +intel_display_capture_error_state(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_display_error_state *error; + enum transcoder cpu_transcoder; + int i; + + error = kmalloc(sizeof(*error), GFP_ATOMIC); + if (error == NULL) + return NULL; + + for_each_pipe(i) { + cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, i); + + error->cursor[i].control = I915_READ(CURCNTR(i)); + error->cursor[i].position = I915_READ(CURPOS(i)); + error->cursor[i].base = I915_READ(CURBASE(i)); + + error->plane[i].control = I915_READ(DSPCNTR(i)); + error->plane[i].stride = I915_READ(DSPSTRIDE(i)); + error->plane[i].size = I915_READ(DSPSIZE(i)); + error->plane[i].pos = I915_READ(DSPPOS(i)); + error->plane[i].addr = I915_READ(DSPADDR(i)); + if (INTEL_INFO(dev)->gen >= 4) { + error->plane[i].surface = I915_READ(DSPSURF(i)); + error->plane[i].tile_offset = I915_READ(DSPTILEOFF(i)); + } + + error->pipe[i].conf = I915_READ(PIPECONF(cpu_transcoder)); + error->pipe[i].source = I915_READ(PIPESRC(i)); + error->pipe[i].htotal = I915_READ(HTOTAL(cpu_transcoder)); + error->pipe[i].hblank = I915_READ(HBLANK(cpu_transcoder)); + error->pipe[i].hsync = I915_READ(HSYNC(cpu_transcoder)); + error->pipe[i].vtotal = I915_READ(VTOTAL(cpu_transcoder)); + error->pipe[i].vblank = I915_READ(VBLANK(cpu_transcoder)); + error->pipe[i].vsync = I915_READ(VSYNC(cpu_transcoder)); + } + + return error; +} + +void +intel_display_print_error_state(struct seq_file *m, + struct drm_device *dev, + struct intel_display_error_state *error) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int i; + + seq_printf(m, "Num Pipes: %d\n", dev_priv->num_pipe); + for_each_pipe(i) { + seq_printf(m, "Pipe [%d]:\n", i); + seq_printf(m, " CONF: %08x\n", error->pipe[i].conf); + seq_printf(m, " SRC: %08x\n", error->pipe[i].source); + seq_printf(m, " HTOTAL: %08x\n", error->pipe[i].htotal); + seq_printf(m, " HBLANK: %08x\n", error->pipe[i].hblank); + seq_printf(m, " HSYNC: %08x\n", error->pipe[i].hsync); + seq_printf(m, " VTOTAL: %08x\n", error->pipe[i].vtotal); + seq_printf(m, " VBLANK: %08x\n", error->pipe[i].vblank); + seq_printf(m, " VSYNC: %08x\n", error->pipe[i].vsync); + + seq_printf(m, "Plane [%d]:\n", i); + seq_printf(m, " CNTR: %08x\n", error->plane[i].control); + seq_printf(m, " STRIDE: %08x\n", error->plane[i].stride); + seq_printf(m, " SIZE: %08x\n", error->plane[i].size); + seq_printf(m, " POS: %08x\n", error->plane[i].pos); + seq_printf(m, " ADDR: %08x\n", error->plane[i].addr); + if (INTEL_INFO(dev)->gen >= 4) { + seq_printf(m, " SURF: %08x\n", error->plane[i].surface); + seq_printf(m, " TILEOFF: %08x\n", error->plane[i].tile_offset); + } + + seq_printf(m, "Cursor [%d]:\n", i); + seq_printf(m, " CNTR: %08x\n", error->cursor[i].control); + seq_printf(m, " POS: %08x\n", error->cursor[i].position); + seq_printf(m, " BASE: %08x\n", error->cursor[i].base); + } +} +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_dp.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_dp.c @@ -0,0 +1,2892 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Keith Packard + * + */ + +#include +#include +#include +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_crtc_helper.h" +#include "drm_edid.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" + +#define DP_LINK_CHECK_TIMEOUT (10 * 1000) + +/** + * is_edp - is the given port attached to an eDP panel (either CPU or PCH) + * @intel_dp: DP struct + * + * If a CPU or PCH DP output is attached to an eDP panel, this function + * will return true, and false otherwise. + */ +static bool is_edp(struct intel_dp *intel_dp) +{ + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + + return intel_dig_port->base.type == INTEL_OUTPUT_EDP; +} + +/** + * is_pch_edp - is the port on the PCH and attached to an eDP panel? + * @intel_dp: DP struct + * + * Returns true if the given DP struct corresponds to a PCH DP port attached + * to an eDP panel, false otherwise. Helpful for determining whether we + * may need FDI resources for a given DP output or not. + */ +static bool is_pch_edp(struct intel_dp *intel_dp) +{ + return intel_dp->is_pch_edp; +} + +/** + * is_cpu_edp - is the port on the CPU and attached to an eDP panel? + * @intel_dp: DP struct + * + * Returns true if the given DP struct corresponds to a CPU eDP port. + */ +static bool is_cpu_edp(struct intel_dp *intel_dp) +{ + return is_edp(intel_dp) && !is_pch_edp(intel_dp); +} + +static struct drm_device *intel_dp_to_dev(struct intel_dp *intel_dp) +{ + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + + return intel_dig_port->base.base.dev; +} + +static struct intel_dp *intel_attached_dp(struct drm_connector *connector) +{ + return enc_to_intel_dp(&intel_attached_encoder(connector)->base); +} + +/** + * intel_encoder_is_pch_edp - is the given encoder a PCH attached eDP? + * @encoder: DRM encoder + * + * Return true if @encoder corresponds to a PCH attached eDP panel. Needed + * by intel_display.c. + */ +bool intel_encoder_is_pch_edp(struct drm_encoder *encoder) +{ + struct intel_dp *intel_dp; + + if (!encoder) + return false; + + intel_dp = enc_to_intel_dp(encoder); + + return is_pch_edp(intel_dp); +} + +static void intel_dp_link_down(struct intel_dp *intel_dp); + +void +intel_edp_link_config(struct intel_encoder *intel_encoder, + int *lane_num, int *link_bw) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base); + + *lane_num = intel_dp->lane_count; + *link_bw = drm_dp_bw_code_to_link_rate(intel_dp->link_bw); +} + +int +intel_edp_target_clock(struct intel_encoder *intel_encoder, + struct drm_display_mode *mode) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base); + struct intel_connector *intel_connector = intel_dp->attached_connector; + + if (intel_connector->panel.fixed_mode) + return intel_connector->panel.fixed_mode->clock; + else + return mode->clock; +} + +static int +intel_dp_max_link_bw(struct intel_dp *intel_dp) +{ + int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE]; + + switch (max_link_bw) { + case DP_LINK_BW_1_62: + case DP_LINK_BW_2_7: + break; + default: + max_link_bw = DP_LINK_BW_1_62; + break; + } + return max_link_bw; +} + +static int +intel_dp_link_clock(uint8_t link_bw) +{ + if (link_bw == DP_LINK_BW_2_7) + return 270000; + else + return 162000; +} + +/* + * The units on the numbers in the next two are... bizarre. Examples will + * make it clearer; this one parallels an example in the eDP spec. + * + * intel_dp_max_data_rate for one lane of 2.7GHz evaluates as: + * + * 270000 * 1 * 8 / 10 == 216000 + * + * The actual data capacity of that configuration is 2.16Gbit/s, so the + * units are decakilobits. ->clock in a drm_display_mode is in kilohertz - + * or equivalently, kilopixels per second - so for 1680x1050R it'd be + * 119000. At 18bpp that's 2142000 kilobits per second. + * + * Thus the strange-looking division by 10 in intel_dp_link_required, to + * get the result in decakilobits instead of kilobits. + */ + +static int +intel_dp_link_required(int pixel_clock, int bpp) +{ + return (pixel_clock * bpp + 9) / 10; +} + +static int +intel_dp_max_data_rate(int max_link_clock, int max_lanes) +{ + return (max_link_clock * max_lanes * 8) / 10; +} + +static bool +intel_dp_adjust_dithering(struct intel_dp *intel_dp, + struct drm_display_mode *mode, + bool adjust_mode) +{ + int max_link_clock = intel_dp_link_clock(intel_dp_max_link_bw(intel_dp)); + int max_lanes = drm_dp_max_lane_count(intel_dp->dpcd); + int max_rate, mode_rate; + + mode_rate = intel_dp_link_required(mode->clock, 24); + max_rate = intel_dp_max_data_rate(max_link_clock, max_lanes); + + if (mode_rate > max_rate) { + mode_rate = intel_dp_link_required(mode->clock, 18); + if (mode_rate > max_rate) + return false; + + if (adjust_mode) + mode->private_flags + |= INTEL_MODE_DP_FORCE_6BPC; + + return true; + } + + return true; +} + +static int +intel_dp_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct intel_dp *intel_dp = intel_attached_dp(connector); + struct intel_connector *intel_connector = to_intel_connector(connector); + struct drm_display_mode *fixed_mode = intel_connector->panel.fixed_mode; + + if (is_edp(intel_dp) && fixed_mode) { + if (mode->hdisplay > fixed_mode->hdisplay) + return MODE_PANEL; + + if (mode->vdisplay > fixed_mode->vdisplay) + return MODE_PANEL; + } + + if (!intel_dp_adjust_dithering(intel_dp, mode, false)) + return MODE_CLOCK_HIGH; + + if (mode->clock < 10000) + return MODE_CLOCK_LOW; + + if (mode->flags & DRM_MODE_FLAG_DBLCLK) + return MODE_H_ILLEGAL; + + return MODE_OK; +} + +static uint32_t +pack_aux(uint8_t *src, int src_bytes) +{ + int i; + uint32_t v = 0; + + if (src_bytes > 4) + src_bytes = 4; + for (i = 0; i < src_bytes; i++) + v |= ((uint32_t) src[i]) << ((3-i) * 8); + return v; +} + +static void +unpack_aux(uint32_t src, uint8_t *dst, int dst_bytes) +{ + int i; + if (dst_bytes > 4) + dst_bytes = 4; + for (i = 0; i < dst_bytes; i++) + dst[i] = src >> ((3-i) * 8); +} + +/* hrawclock is 1/4 the FSB frequency */ +static int +intel_hrawclk(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t clkcfg; + + /* There is no CLKCFG reg in Valleyview. VLV hrawclk is 200 MHz */ + if (IS_VALLEYVIEW(dev)) + return 200; + + clkcfg = I915_READ(CLKCFG); + switch (clkcfg & CLKCFG_FSB_MASK) { + case CLKCFG_FSB_400: + return 100; + case CLKCFG_FSB_533: + return 133; + case CLKCFG_FSB_667: + return 166; + case CLKCFG_FSB_800: + return 200; + case CLKCFG_FSB_1067: + return 266; + case CLKCFG_FSB_1333: + return 333; + /* these two are just a guess; one of them might be right */ + case CLKCFG_FSB_1600: + case CLKCFG_FSB_1600_ALT: + return 400; + default: + return 133; + } +} + +static bool ironlake_edp_have_panel_power(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + + return (I915_READ(PCH_PP_STATUS) & PP_ON) != 0; +} + +static bool ironlake_edp_have_panel_vdd(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + + return (I915_READ(PCH_PP_CONTROL) & EDP_FORCE_VDD) != 0; +} + +static void +intel_dp_check_edp(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + + if (!is_edp(intel_dp)) + return; + if (!ironlake_edp_have_panel_power(intel_dp) && !ironlake_edp_have_panel_vdd(intel_dp)) { + WARN(1, "eDP powered off while attempting aux channel communication.\n"); + DRM_DEBUG_KMS("Status 0x%08x Control 0x%08x\n", + I915_READ(PCH_PP_STATUS), + I915_READ(PCH_PP_CONTROL)); + } +} + +static int +intel_dp_aux_ch(struct intel_dp *intel_dp, + uint8_t *send, int send_bytes, + uint8_t *recv, int recv_size) +{ + uint32_t output_reg = intel_dp->output_reg; + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct drm_device *dev = intel_dig_port->base.base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t ch_ctl = output_reg + 0x10; + uint32_t ch_data = ch_ctl + 4; + int i; + int recv_bytes; + uint32_t status; + uint32_t aux_clock_divider; + int try, precharge; + + if (IS_HASWELL(dev)) { + switch (intel_dig_port->port) { + case PORT_A: + ch_ctl = DPA_AUX_CH_CTL; + ch_data = DPA_AUX_CH_DATA1; + break; + case PORT_B: + ch_ctl = PCH_DPB_AUX_CH_CTL; + ch_data = PCH_DPB_AUX_CH_DATA1; + break; + case PORT_C: + ch_ctl = PCH_DPC_AUX_CH_CTL; + ch_data = PCH_DPC_AUX_CH_DATA1; + break; + case PORT_D: + ch_ctl = PCH_DPD_AUX_CH_CTL; + ch_data = PCH_DPD_AUX_CH_DATA1; + break; + default: + BUG(); + } + } + + intel_dp_check_edp(intel_dp); + /* The clock divider is based off the hrawclk, + * and would like to run at 2MHz. So, take the + * hrawclk value and divide by 2 and use that + * + * Note that PCH attached eDP panels should use a 125MHz input + * clock divider. + */ + if (is_cpu_edp(intel_dp)) { + if (IS_HASWELL(dev)) + aux_clock_divider = intel_ddi_get_cdclk_freq(dev_priv) >> 1; + else if (IS_VALLEYVIEW(dev)) + aux_clock_divider = 100; + else if (IS_GEN6(dev) || IS_GEN7(dev)) + aux_clock_divider = 200; /* SNB & IVB eDP input clock at 400Mhz */ + else + aux_clock_divider = 225; /* eDP input clock at 450Mhz */ + } else if (HAS_PCH_SPLIT(dev)) + aux_clock_divider = DIV_ROUND_UP(intel_pch_rawclk(dev), 2); + else + aux_clock_divider = intel_hrawclk(dev) / 2; + + if (IS_GEN6(dev)) + precharge = 3; + else + precharge = 5; + + /* Try to wait for any previous AUX channel activity */ + for (try = 0; try < 3; try++) { + status = I915_READ(ch_ctl); + if ((status & DP_AUX_CH_CTL_SEND_BUSY) == 0) + break; + msleep(1); + } + + if (try == 3) { + WARN(1, "dp_aux_ch not started status 0x%08x\n", + I915_READ(ch_ctl)); + return -EBUSY; + } + + /* Must try at least 3 times according to DP spec */ + for (try = 0; try < 5; try++) { + /* Load the send data into the aux channel data registers */ + for (i = 0; i < send_bytes; i += 4) + I915_WRITE(ch_data + i, + pack_aux(send + i, send_bytes - i)); + + /* Send the command and wait for it to complete */ + I915_WRITE(ch_ctl, + DP_AUX_CH_CTL_SEND_BUSY | + DP_AUX_CH_CTL_TIME_OUT_400us | + (send_bytes << DP_AUX_CH_CTL_MESSAGE_SIZE_SHIFT) | + (precharge << DP_AUX_CH_CTL_PRECHARGE_2US_SHIFT) | + (aux_clock_divider << DP_AUX_CH_CTL_BIT_CLOCK_2X_SHIFT) | + DP_AUX_CH_CTL_DONE | + DP_AUX_CH_CTL_TIME_OUT_ERROR | + DP_AUX_CH_CTL_RECEIVE_ERROR); + for (;;) { + status = I915_READ(ch_ctl); + if ((status & DP_AUX_CH_CTL_SEND_BUSY) == 0) + break; + udelay(100); + } + + /* Clear done status and any errors */ + I915_WRITE(ch_ctl, + status | + DP_AUX_CH_CTL_DONE | + DP_AUX_CH_CTL_TIME_OUT_ERROR | + DP_AUX_CH_CTL_RECEIVE_ERROR); + + if (status & (DP_AUX_CH_CTL_TIME_OUT_ERROR | + DP_AUX_CH_CTL_RECEIVE_ERROR)) + continue; + if (status & DP_AUX_CH_CTL_DONE) + break; + } + + if ((status & DP_AUX_CH_CTL_DONE) == 0) { + DRM_ERROR("dp_aux_ch not done status 0x%08x\n", status); + return -EBUSY; + } + + /* Check for timeout or receive error. + * Timeouts occur when the sink is not connected + */ + if (status & DP_AUX_CH_CTL_RECEIVE_ERROR) { + DRM_ERROR("dp_aux_ch receive error status 0x%08x\n", status); + return -EIO; + } + + /* Timeouts occur when the device isn't connected, so they're + * "normal" -- don't fill the kernel log with these */ + if (status & DP_AUX_CH_CTL_TIME_OUT_ERROR) { + DRM_DEBUG_KMS("dp_aux_ch timeout status 0x%08x\n", status); + return -ETIMEDOUT; + } + + /* Unload any bytes sent back from the other side */ + recv_bytes = ((status & DP_AUX_CH_CTL_MESSAGE_SIZE_MASK) >> + DP_AUX_CH_CTL_MESSAGE_SIZE_SHIFT); + if (recv_bytes > recv_size) + recv_bytes = recv_size; + + for (i = 0; i < recv_bytes; i += 4) + unpack_aux(I915_READ(ch_data + i), + recv + i, recv_bytes - i); + + return recv_bytes; +} + +/* Write data to the aux channel in native mode */ +static int +intel_dp_aux_native_write(struct intel_dp *intel_dp, + uint16_t address, uint8_t *send, int send_bytes) +{ + int ret; + uint8_t msg[20]; + int msg_bytes; + uint8_t ack; + + intel_dp_check_edp(intel_dp); + if (send_bytes > 16) + return -1; + msg[0] = AUX_NATIVE_WRITE << 4; + msg[1] = address >> 8; + msg[2] = address & 0xff; + msg[3] = send_bytes - 1; + memcpy(&msg[4], send, send_bytes); + msg_bytes = send_bytes + 4; + for (;;) { + ret = intel_dp_aux_ch(intel_dp, msg, msg_bytes, &ack, 1); + if (ret < 0) + return ret; + if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) + break; + else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER) + udelay(100); + else + return -EIO; + } + return send_bytes; +} + +/* Write a single byte to the aux channel in native mode */ +static int +intel_dp_aux_native_write_1(struct intel_dp *intel_dp, + uint16_t address, uint8_t byte) +{ + return intel_dp_aux_native_write(intel_dp, address, &byte, 1); +} + +/* read bytes from a native aux channel */ +static int +intel_dp_aux_native_read(struct intel_dp *intel_dp, + uint16_t address, uint8_t *recv, int recv_bytes) +{ + uint8_t msg[4]; + int msg_bytes; + uint8_t reply[20]; + int reply_bytes; + uint8_t ack; + int ret; + + intel_dp_check_edp(intel_dp); + msg[0] = AUX_NATIVE_READ << 4; + msg[1] = address >> 8; + msg[2] = address & 0xff; + msg[3] = recv_bytes - 1; + + msg_bytes = 4; + reply_bytes = recv_bytes + 1; + + for (;;) { + ret = intel_dp_aux_ch(intel_dp, msg, msg_bytes, + reply, reply_bytes); + if (ret == 0) + return -EPROTO; + if (ret < 0) + return ret; + ack = reply[0]; + if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) { + memcpy(recv, reply + 1, ret - 1); + return ret - 1; + } + else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER) + udelay(100); + else + return -EIO; + } +} + +static int +intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, + uint8_t write_byte, uint8_t *read_byte) +{ + struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; + struct intel_dp *intel_dp = container_of(adapter, + struct intel_dp, + adapter); + uint16_t address = algo_data->address; + uint8_t msg[5]; + uint8_t reply[2]; + unsigned retry; + int msg_bytes; + int reply_bytes; + int ret; + + intel_dp_check_edp(intel_dp); + /* Set up the command byte */ + if (mode & MODE_I2C_READ) + msg[0] = AUX_I2C_READ << 4; + else + msg[0] = AUX_I2C_WRITE << 4; + + if (!(mode & MODE_I2C_STOP)) + msg[0] |= AUX_I2C_MOT << 4; + + msg[1] = address >> 8; + msg[2] = address; + + switch (mode) { + case MODE_I2C_WRITE: + msg[3] = 0; + msg[4] = write_byte; + msg_bytes = 5; + reply_bytes = 1; + break; + case MODE_I2C_READ: + msg[3] = 0; + msg_bytes = 4; + reply_bytes = 2; + break; + default: + msg_bytes = 3; + reply_bytes = 1; + break; + } + + for (retry = 0; retry < 5; retry++) { + ret = intel_dp_aux_ch(intel_dp, + msg, msg_bytes, + reply, reply_bytes); + if (ret < 0) { + DRM_DEBUG_KMS("aux_ch failed %d\n", ret); + return ret; + } + + switch (reply[0] & AUX_NATIVE_REPLY_MASK) { + case AUX_NATIVE_REPLY_ACK: + /* I2C-over-AUX Reply field is only valid + * when paired with AUX ACK. + */ + break; + case AUX_NATIVE_REPLY_NACK: + DRM_DEBUG_KMS("aux_ch native nack\n"); + return -EREMOTEIO; + case AUX_NATIVE_REPLY_DEFER: + udelay(100); + continue; + default: + DRM_ERROR("aux_ch invalid native reply 0x%02x\n", + reply[0]); + return -EREMOTEIO; + } + + switch (reply[0] & AUX_I2C_REPLY_MASK) { + case AUX_I2C_REPLY_ACK: + if (mode == MODE_I2C_READ) { + *read_byte = reply[1]; + } + return reply_bytes - 1; + case AUX_I2C_REPLY_NACK: + DRM_DEBUG_KMS("aux_i2c nack\n"); + return -EREMOTEIO; + case AUX_I2C_REPLY_DEFER: + DRM_DEBUG_KMS("aux_i2c defer\n"); + udelay(100); + break; + default: + DRM_ERROR("aux_i2c invalid reply 0x%02x\n", reply[0]); + return -EREMOTEIO; + } + } + + DRM_ERROR("too many retries, giving up\n"); + return -EREMOTEIO; +} + +static int +intel_dp_i2c_init(struct intel_dp *intel_dp, + struct intel_connector *intel_connector, const char *name) +{ + int ret; + + DRM_DEBUG_KMS("i2c_init %s\n", name); + intel_dp->algo.running = false; + intel_dp->algo.address = 0; + intel_dp->algo.aux_ch = intel_dp_i2c_aux_ch; + + memset(&intel_dp->adapter, '\0', sizeof(intel_dp->adapter)); + intel_dp->adapter.owner = THIS_MODULE; + intel_dp->adapter.class = I2C_CLASS_DDC; + strncpy(intel_dp->adapter.name, name, sizeof(intel_dp->adapter.name) - 1); + intel_dp->adapter.name[sizeof(intel_dp->adapter.name) - 1] = '\0'; + intel_dp->adapter.algo_data = &intel_dp->algo; + intel_dp->adapter.dev.parent = &intel_connector->base.kdev; + + ironlake_edp_panel_vdd_on(intel_dp); + ret = i2c_dp_aux_add_bus(&intel_dp->adapter); + ironlake_edp_panel_vdd_off(intel_dp, false); + return ret; +} + +bool +intel_dp_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + struct intel_connector *intel_connector = intel_dp->attached_connector; + int lane_count, clock; + int max_lane_count = drm_dp_max_lane_count(intel_dp->dpcd); + int max_clock = intel_dp_max_link_bw(intel_dp) == DP_LINK_BW_2_7 ? 1 : 0; + int bpp, mode_rate; + static int bws[2] = { DP_LINK_BW_1_62, DP_LINK_BW_2_7 }; + + if (is_edp(intel_dp) && intel_connector->panel.fixed_mode) { + intel_fixed_panel_mode(intel_connector->panel.fixed_mode, + adjusted_mode); + intel_pch_panel_fitting(dev, + intel_connector->panel.fitting_mode, + mode, adjusted_mode); + } + + if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) + return false; + + DRM_DEBUG_KMS("DP link computation with max lane count %i " + "max bw %02x pixel clock %iKHz\n", + max_lane_count, bws[max_clock], adjusted_mode->clock); + + if (!intel_dp_adjust_dithering(intel_dp, adjusted_mode, true)) + return false; + + bpp = adjusted_mode->private_flags & INTEL_MODE_DP_FORCE_6BPC ? 18 : 24; + mode_rate = intel_dp_link_required(adjusted_mode->clock, bpp); + + for (clock = 0; clock <= max_clock; clock++) { + for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { + int link_avail = intel_dp_max_data_rate(intel_dp_link_clock(bws[clock]), lane_count); + + if (mode_rate <= link_avail) { + intel_dp->link_bw = bws[clock]; + intel_dp->lane_count = lane_count; + adjusted_mode->clock = intel_dp_link_clock(intel_dp->link_bw); + DRM_DEBUG_KMS("DP link bw %02x lane " + "count %d clock %d bpp %d\n", + intel_dp->link_bw, intel_dp->lane_count, + adjusted_mode->clock, bpp); + DRM_DEBUG_KMS("DP link bw required %i available %i\n", + mode_rate, link_avail); + return true; + } + } + } + + return false; +} + +struct intel_dp_m_n { + uint32_t tu; + uint32_t gmch_m; + uint32_t gmch_n; + uint32_t link_m; + uint32_t link_n; +}; + +static void +intel_reduce_ratio(uint32_t *num, uint32_t *den) +{ + while (*num > 0xffffff || *den > 0xffffff) { + *num >>= 1; + *den >>= 1; + } +} + +static void +intel_dp_compute_m_n(int bpp, + int nlanes, + int pixel_clock, + int link_clock, + struct intel_dp_m_n *m_n) +{ + m_n->tu = 64; + m_n->gmch_m = (pixel_clock * bpp) >> 3; + m_n->gmch_n = link_clock * nlanes; + intel_reduce_ratio(&m_n->gmch_m, &m_n->gmch_n); + m_n->link_m = pixel_clock; + m_n->link_n = link_clock; + intel_reduce_ratio(&m_n->link_m, &m_n->link_n); +} + +void +intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = crtc->dev; + struct intel_encoder *intel_encoder; + struct intel_dp *intel_dp; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int lane_count = 4; + struct intel_dp_m_n m_n; + int pipe = intel_crtc->pipe; + enum transcoder cpu_transcoder = intel_crtc->cpu_transcoder; + + /* + * Find the lane count in the intel_encoder private + */ + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + intel_dp = enc_to_intel_dp(&intel_encoder->base); + + if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT || + intel_encoder->type == INTEL_OUTPUT_EDP) + { + lane_count = intel_dp->lane_count; + break; + } + } + + /* + * Compute the GMCH and Link ratios. The '3' here is + * the number of bytes_per_pixel post-LUT, which we always + * set up for 8-bits of R/G/B, or 3 bytes total. + */ + intel_dp_compute_m_n(intel_crtc->bpp, lane_count, + mode->clock, adjusted_mode->clock, &m_n); + + if (IS_HASWELL(dev)) { + I915_WRITE(PIPE_DATA_M1(cpu_transcoder), + TU_SIZE(m_n.tu) | m_n.gmch_m); + I915_WRITE(PIPE_DATA_N1(cpu_transcoder), m_n.gmch_n); + I915_WRITE(PIPE_LINK_M1(cpu_transcoder), m_n.link_m); + I915_WRITE(PIPE_LINK_N1(cpu_transcoder), m_n.link_n); + } else if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(TRANSDATA_M1(pipe), TU_SIZE(m_n.tu) | m_n.gmch_m); + I915_WRITE(TRANSDATA_N1(pipe), m_n.gmch_n); + I915_WRITE(TRANSDPLINK_M1(pipe), m_n.link_m); + I915_WRITE(TRANSDPLINK_N1(pipe), m_n.link_n); + } else if (IS_VALLEYVIEW(dev)) { + I915_WRITE(PIPE_DATA_M1(pipe), TU_SIZE(m_n.tu) | m_n.gmch_m); + I915_WRITE(PIPE_DATA_N1(pipe), m_n.gmch_n); + I915_WRITE(PIPE_LINK_M1(pipe), m_n.link_m); + I915_WRITE(PIPE_LINK_N1(pipe), m_n.link_n); + } else { + I915_WRITE(PIPE_GMCH_DATA_M(pipe), + TU_SIZE(m_n.tu) | m_n.gmch_m); + I915_WRITE(PIPE_GMCH_DATA_N(pipe), m_n.gmch_n); + I915_WRITE(PIPE_DP_LINK_M(pipe), m_n.link_m); + I915_WRITE(PIPE_DP_LINK_N(pipe), m_n.link_n); + } +} + +void intel_dp_init_link_config(struct intel_dp *intel_dp) +{ + memset(intel_dp->link_configuration, 0, DP_LINK_CONFIGURATION_SIZE); + intel_dp->link_configuration[0] = intel_dp->link_bw; + intel_dp->link_configuration[1] = intel_dp->lane_count; + intel_dp->link_configuration[8] = DP_SET_ANSI_8B10B; + /* + * Check for DPCD version > 1.1 and enhanced framing support + */ + if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && + (intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_ENHANCED_FRAME_CAP)) { + intel_dp->link_configuration[1] |= DP_LANE_COUNT_ENHANCED_FRAME_EN; + } +} + +static void +intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + struct drm_crtc *crtc = encoder->crtc; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + + /* + * There are four kinds of DP registers: + * + * IBX PCH + * SNB CPU + * IVB CPU + * CPT PCH + * + * IBX PCH and CPU are the same for almost everything, + * except that the CPU DP PLL is configured in this + * register + * + * CPT PCH is quite different, having many bits moved + * to the TRANS_DP_CTL register instead. That + * configuration happens (oddly) in ironlake_pch_enable + */ + + /* Preserve the BIOS-computed detected bit. This is + * supposed to be read-only. + */ + intel_dp->DP = I915_READ(intel_dp->output_reg) & DP_DETECTED; + + /* Handle DP bits in common between all three register formats */ + intel_dp->DP |= DP_VOLTAGE_0_4 | DP_PRE_EMPHASIS_0; + + switch (intel_dp->lane_count) { + case 1: + intel_dp->DP |= DP_PORT_WIDTH_1; + break; + case 2: + intel_dp->DP |= DP_PORT_WIDTH_2; + break; + case 4: + intel_dp->DP |= DP_PORT_WIDTH_4; + break; + } + if (intel_dp->has_audio) { + DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n", + pipe_name(intel_crtc->pipe)); + intel_dp->DP |= DP_AUDIO_OUTPUT_ENABLE; + intel_write_eld(encoder, adjusted_mode); + } + + intel_dp_init_link_config(intel_dp); + + /* Split out the IBX/CPU vs CPT settings */ + + if (is_cpu_edp(intel_dp) && IS_GEN7(dev) && !IS_VALLEYVIEW(dev)) { + if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) + intel_dp->DP |= DP_SYNC_HS_HIGH; + if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) + intel_dp->DP |= DP_SYNC_VS_HIGH; + intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT; + + if (intel_dp->link_configuration[1] & DP_LANE_COUNT_ENHANCED_FRAME_EN) + intel_dp->DP |= DP_ENHANCED_FRAMING; + + intel_dp->DP |= intel_crtc->pipe << 29; + + /* don't miss out required setting for eDP */ + if (adjusted_mode->clock < 200000) + intel_dp->DP |= DP_PLL_FREQ_160MHZ; + else + intel_dp->DP |= DP_PLL_FREQ_270MHZ; + } else if (!HAS_PCH_CPT(dev) || is_cpu_edp(intel_dp)) { + intel_dp->DP |= intel_dp->color_range; + + if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) + intel_dp->DP |= DP_SYNC_HS_HIGH; + if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) + intel_dp->DP |= DP_SYNC_VS_HIGH; + intel_dp->DP |= DP_LINK_TRAIN_OFF; + + if (intel_dp->link_configuration[1] & DP_LANE_COUNT_ENHANCED_FRAME_EN) + intel_dp->DP |= DP_ENHANCED_FRAMING; + + if (intel_crtc->pipe == 1) + intel_dp->DP |= DP_PIPEB_SELECT; + + if (is_cpu_edp(intel_dp)) { + /* don't miss out required setting for eDP */ + if (adjusted_mode->clock < 200000) + intel_dp->DP |= DP_PLL_FREQ_160MHZ; + else + intel_dp->DP |= DP_PLL_FREQ_270MHZ; + } + } else { + intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT; + } +} + +#define IDLE_ON_MASK (PP_ON | 0 | PP_SEQUENCE_MASK | 0 | PP_SEQUENCE_STATE_MASK) +#define IDLE_ON_VALUE (PP_ON | 0 | PP_SEQUENCE_NONE | 0 | PP_SEQUENCE_STATE_ON_IDLE) + +#define IDLE_OFF_MASK (PP_ON | 0 | PP_SEQUENCE_MASK | 0 | PP_SEQUENCE_STATE_MASK) +#define IDLE_OFF_VALUE (0 | 0 | PP_SEQUENCE_NONE | 0 | PP_SEQUENCE_STATE_OFF_IDLE) + +#define IDLE_CYCLE_MASK (PP_ON | 0 | PP_SEQUENCE_MASK | PP_CYCLE_DELAY_ACTIVE | PP_SEQUENCE_STATE_MASK) +#define IDLE_CYCLE_VALUE (0 | 0 | PP_SEQUENCE_NONE | 0 | PP_SEQUENCE_STATE_OFF_IDLE) + +static void ironlake_wait_panel_status(struct intel_dp *intel_dp, + u32 mask, + u32 value) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + + DRM_DEBUG_KMS("mask %08x value %08x status %08x control %08x\n", + mask, value, + I915_READ(PCH_PP_STATUS), + I915_READ(PCH_PP_CONTROL)); + + if (_wait_for((I915_READ(PCH_PP_STATUS) & mask) == value, 5000, 10)) { + DRM_ERROR("Panel status timeout: status %08x control %08x\n", + I915_READ(PCH_PP_STATUS), + I915_READ(PCH_PP_CONTROL)); + } +} + +static void ironlake_wait_panel_on(struct intel_dp *intel_dp) +{ + DRM_DEBUG_KMS("Wait for panel power on\n"); + ironlake_wait_panel_status(intel_dp, IDLE_ON_MASK, IDLE_ON_VALUE); +} + +static void ironlake_wait_panel_off(struct intel_dp *intel_dp) +{ + DRM_DEBUG_KMS("Wait for panel power off time\n"); + ironlake_wait_panel_status(intel_dp, IDLE_OFF_MASK, IDLE_OFF_VALUE); +} + +static void ironlake_wait_panel_power_cycle(struct intel_dp *intel_dp) +{ + DRM_DEBUG_KMS("Wait for panel power cycle\n"); + ironlake_wait_panel_status(intel_dp, IDLE_CYCLE_MASK, IDLE_CYCLE_VALUE); +} + + +/* Read the current pp_control value, unlocking the register if it + * is locked + */ + +static u32 ironlake_get_pp_control(struct drm_i915_private *dev_priv) +{ + u32 control = I915_READ(PCH_PP_CONTROL); + + control &= ~PANEL_UNLOCK_MASK; + control |= PANEL_UNLOCK_REGS; + return control; +} + +void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 pp; + + if (!is_edp(intel_dp)) + return; + DRM_DEBUG_KMS("Turn eDP VDD on\n"); + + WARN(intel_dp->want_panel_vdd, + "eDP VDD already requested on\n"); + + intel_dp->want_panel_vdd = true; + + if (ironlake_edp_have_panel_vdd(intel_dp)) { + DRM_DEBUG_KMS("eDP VDD already on\n"); + return; + } + + if (!ironlake_edp_have_panel_power(intel_dp)) + ironlake_wait_panel_power_cycle(intel_dp); + + pp = ironlake_get_pp_control(dev_priv); + pp |= EDP_FORCE_VDD; + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + DRM_DEBUG_KMS("PCH_PP_STATUS: 0x%08x PCH_PP_CONTROL: 0x%08x\n", + I915_READ(PCH_PP_STATUS), I915_READ(PCH_PP_CONTROL)); + + /* + * If the panel wasn't on, delay before accessing aux channel + */ + if (!ironlake_edp_have_panel_power(intel_dp)) { + DRM_DEBUG_KMS("eDP was not running\n"); + msleep(intel_dp->panel_power_up_delay); + } +} + +static void ironlake_panel_vdd_off_sync(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 pp; + + if (!intel_dp->want_panel_vdd && ironlake_edp_have_panel_vdd(intel_dp)) { + pp = ironlake_get_pp_control(dev_priv); + pp &= ~EDP_FORCE_VDD; + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + + /* Make sure sequencer is idle before allowing subsequent activity */ + DRM_DEBUG_KMS("PCH_PP_STATUS: 0x%08x PCH_PP_CONTROL: 0x%08x\n", + I915_READ(PCH_PP_STATUS), I915_READ(PCH_PP_CONTROL)); + + msleep(intel_dp->panel_power_down_delay); + } +} + +static void ironlake_panel_vdd_work(struct work_struct *__work) +{ + struct intel_dp *intel_dp = container_of(to_delayed_work(__work), + struct intel_dp, panel_vdd_work); + struct drm_device *dev = intel_dp_to_dev(intel_dp); + + mutex_lock(&dev->mode_config.mutex); + ironlake_panel_vdd_off_sync(intel_dp); + mutex_unlock(&dev->mode_config.mutex); +} + +void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync) +{ + if (!is_edp(intel_dp)) + return; + + DRM_DEBUG_KMS("Turn eDP VDD off %d\n", intel_dp->want_panel_vdd); + WARN(!intel_dp->want_panel_vdd, "eDP VDD not forced on"); + + intel_dp->want_panel_vdd = false; + + if (sync) { + ironlake_panel_vdd_off_sync(intel_dp); + } else { + /* + * Queue the timer to fire a long + * time from now (relative to the power down delay) + * to keep the panel power up across a sequence of operations + */ + schedule_delayed_work(&intel_dp->panel_vdd_work, + msecs_to_jiffies(intel_dp->panel_power_cycle_delay * 5)); + } +} + +void ironlake_edp_panel_on(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 pp; + + if (!is_edp(intel_dp)) + return; + + DRM_DEBUG_KMS("Turn eDP power on\n"); + + if (ironlake_edp_have_panel_power(intel_dp)) { + DRM_DEBUG_KMS("eDP power already on\n"); + return; + } + + ironlake_wait_panel_power_cycle(intel_dp); + + pp = ironlake_get_pp_control(dev_priv); + if (IS_GEN5(dev)) { + /* ILK workaround: disable reset around power sequence */ + pp &= ~PANEL_POWER_RESET; + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + } + + pp |= POWER_TARGET_ON; + if (!IS_GEN5(dev)) + pp |= PANEL_POWER_RESET; + + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + + ironlake_wait_panel_on(intel_dp); + + if (IS_GEN5(dev)) { + pp |= PANEL_POWER_RESET; /* restore panel reset bit */ + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + } +} + +void ironlake_edp_panel_off(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 pp; + + if (!is_edp(intel_dp)) + return; + + DRM_DEBUG_KMS("Turn eDP power off\n"); + + WARN(!intel_dp->want_panel_vdd, "Need VDD to turn off panel\n"); + + pp = ironlake_get_pp_control(dev_priv); + /* We need to switch off panel power _and_ force vdd, for otherwise some + * panels get very unhappy and cease to work. */ + pp &= ~(POWER_TARGET_ON | EDP_FORCE_VDD | PANEL_POWER_RESET | EDP_BLC_ENABLE); + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + + intel_dp->want_panel_vdd = false; + + ironlake_wait_panel_off(intel_dp); +} + +void ironlake_edp_backlight_on(struct intel_dp *intel_dp) +{ + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct drm_device *dev = intel_dig_port->base.base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe = to_intel_crtc(intel_dig_port->base.base.crtc)->pipe; + u32 pp; + + if (!is_edp(intel_dp)) + return; + + DRM_DEBUG_KMS("\n"); + /* + * If we enable the backlight right away following a panel power + * on, we may see slight flicker as the panel syncs with the eDP + * link. So delay a bit to make sure the image is solid before + * allowing it to appear. + */ + msleep(intel_dp->backlight_on_delay); + pp = ironlake_get_pp_control(dev_priv); + pp |= EDP_BLC_ENABLE; + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + + intel_panel_enable_backlight(dev, pipe); +} + +void ironlake_edp_backlight_off(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 pp; + + if (!is_edp(intel_dp)) + return; + + intel_panel_disable_backlight(dev); + + DRM_DEBUG_KMS("\n"); + pp = ironlake_get_pp_control(dev_priv); + pp &= ~EDP_BLC_ENABLE; + I915_WRITE(PCH_PP_CONTROL, pp); + POSTING_READ(PCH_PP_CONTROL); + msleep(intel_dp->backlight_off_delay); +} + +static void ironlake_edp_pll_on(struct intel_dp *intel_dp) +{ + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct drm_crtc *crtc = intel_dig_port->base.base.crtc; + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 dpa_ctl; + + assert_pipe_disabled(dev_priv, + to_intel_crtc(crtc)->pipe); + + DRM_DEBUG_KMS("\n"); + dpa_ctl = I915_READ(DP_A); + WARN(dpa_ctl & DP_PLL_ENABLE, "dp pll on, should be off\n"); + WARN(dpa_ctl & DP_PORT_EN, "dp port still on, should be off\n"); + + /* We don't adjust intel_dp->DP while tearing down the link, to + * facilitate link retraining (e.g. after hotplug). Hence clear all + * enable bits here to ensure that we don't enable too much. */ + intel_dp->DP &= ~(DP_PORT_EN | DP_AUDIO_OUTPUT_ENABLE); + intel_dp->DP |= DP_PLL_ENABLE; + I915_WRITE(DP_A, intel_dp->DP); + POSTING_READ(DP_A); + udelay(200); +} + +static void ironlake_edp_pll_off(struct intel_dp *intel_dp) +{ + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct drm_crtc *crtc = intel_dig_port->base.base.crtc; + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 dpa_ctl; + + assert_pipe_disabled(dev_priv, + to_intel_crtc(crtc)->pipe); + + dpa_ctl = I915_READ(DP_A); + WARN((dpa_ctl & DP_PLL_ENABLE) == 0, + "dp pll off, should be on\n"); + WARN(dpa_ctl & DP_PORT_EN, "dp port still on, should be off\n"); + + /* We can't rely on the value tracked for the DP register in + * intel_dp->DP because link_down must not change that (otherwise link + * re-training will fail. */ + dpa_ctl &= ~DP_PLL_ENABLE; + I915_WRITE(DP_A, dpa_ctl); + POSTING_READ(DP_A); + udelay(200); +} + +/* If the sink supports it, try to set the power state appropriately */ +void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode) +{ + int ret, i; + + /* Should have a valid DPCD by this point */ + if (intel_dp->dpcd[DP_DPCD_REV] < 0x11) + return; + + if (mode != DRM_MODE_DPMS_ON) { + ret = intel_dp_aux_native_write_1(intel_dp, DP_SET_POWER, + DP_SET_POWER_D3); + if (ret != 1) + DRM_DEBUG_DRIVER("failed to write sink power state\n"); + } else { + /* + * When turning on, we need to retry for 1ms to give the sink + * time to wake up. + */ + for (i = 0; i < 3; i++) { + ret = intel_dp_aux_native_write_1(intel_dp, + DP_SET_POWER, + DP_SET_POWER_D0); + if (ret == 1) + break; + msleep(1); + } + } +} + +static bool intel_dp_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 tmp = I915_READ(intel_dp->output_reg); + + if (!(tmp & DP_PORT_EN)) + return false; + + if (is_cpu_edp(intel_dp) && IS_GEN7(dev)) { + *pipe = PORT_TO_PIPE_CPT(tmp); + } else if (!HAS_PCH_CPT(dev) || is_cpu_edp(intel_dp)) { + *pipe = PORT_TO_PIPE(tmp); + } else { + u32 trans_sel; + u32 trans_dp; + int i; + + switch (intel_dp->output_reg) { + case PCH_DP_B: + trans_sel = TRANS_DP_PORT_SEL_B; + break; + case PCH_DP_C: + trans_sel = TRANS_DP_PORT_SEL_C; + break; + case PCH_DP_D: + trans_sel = TRANS_DP_PORT_SEL_D; + break; + default: + return true; + } + + for_each_pipe(i) { + trans_dp = I915_READ(TRANS_DP_CTL(i)); + if ((trans_dp & TRANS_DP_PORT_SEL_MASK) == trans_sel) { + *pipe = i; + return true; + } + } + + DRM_DEBUG_KMS("No pipe for dp port 0x%x found\n", + intel_dp->output_reg); + } + + return true; +} + +static void intel_disable_dp(struct intel_encoder *encoder) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); + + /* Make sure the panel is off before trying to change the mode. But also + * ensure that we have vdd while we switch off the panel. */ + ironlake_edp_panel_vdd_on(intel_dp); + ironlake_edp_backlight_off(intel_dp); + intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); + ironlake_edp_panel_off(intel_dp); + + /* cpu edp my only be disable _after_ the cpu pipe/plane is disabled. */ + if (!is_cpu_edp(intel_dp)) + intel_dp_link_down(intel_dp); +} + +static void intel_post_disable_dp(struct intel_encoder *encoder) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); + + if (is_cpu_edp(intel_dp)) { + intel_dp_link_down(intel_dp); + ironlake_edp_pll_off(intel_dp); + } +} + +static void intel_enable_dp(struct intel_encoder *encoder) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t dp_reg = I915_READ(intel_dp->output_reg); + + if (WARN_ON(dp_reg & DP_PORT_EN)) + return; + + ironlake_edp_panel_vdd_on(intel_dp); + intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); + intel_dp_start_link_train(intel_dp); + ironlake_edp_panel_on(intel_dp); + ironlake_edp_panel_vdd_off(intel_dp, true); + intel_dp_complete_link_train(intel_dp); + ironlake_edp_backlight_on(intel_dp); +} + +static void intel_pre_enable_dp(struct intel_encoder *encoder) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); + + if (is_cpu_edp(intel_dp)) + ironlake_edp_pll_on(intel_dp); +} + +/* + * Native read with retry for link status and receiver capability reads for + * cases where the sink may still be asleep. + */ +static bool +intel_dp_aux_native_read_retry(struct intel_dp *intel_dp, uint16_t address, + uint8_t *recv, int recv_bytes) +{ + int ret, i; + + /* + * Sinks are *supposed* to come up within 1ms from an off state, + * but we're also supposed to retry 3 times per the spec. + */ + for (i = 0; i < 3; i++) { + ret = intel_dp_aux_native_read(intel_dp, address, recv, + recv_bytes); + if (ret == recv_bytes) + return true; + msleep(1); + } + + return false; +} + +/* + * Fetch AUX CH registers 0x202 - 0x207 which contain + * link status information + */ +static bool +intel_dp_get_link_status(struct intel_dp *intel_dp, uint8_t link_status[DP_LINK_STATUS_SIZE]) +{ + return intel_dp_aux_native_read_retry(intel_dp, + DP_LANE0_1_STATUS, + link_status, + DP_LINK_STATUS_SIZE); +} + +#if 0 +static char *voltage_names[] = { + "0.4V", "0.6V", "0.8V", "1.2V" +}; +static char *pre_emph_names[] = { + "0dB", "3.5dB", "6dB", "9.5dB" +}; +static char *link_train_names[] = { + "pattern 1", "pattern 2", "idle", "off" +}; +#endif + +/* + * These are source-specific values; current Intel hardware supports + * a maximum voltage of 800mV and a maximum pre-emphasis of 6dB + */ + +static uint8_t +intel_dp_voltage_max(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + + if (IS_GEN7(dev) && is_cpu_edp(intel_dp)) + return DP_TRAIN_VOLTAGE_SWING_800; + else if (HAS_PCH_CPT(dev) && !is_cpu_edp(intel_dp)) + return DP_TRAIN_VOLTAGE_SWING_1200; + else + return DP_TRAIN_VOLTAGE_SWING_800; +} + +static uint8_t +intel_dp_pre_emphasis_max(struct intel_dp *intel_dp, uint8_t voltage_swing) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + + if (IS_HASWELL(dev)) { + switch (voltage_swing & DP_TRAIN_VOLTAGE_SWING_MASK) { + case DP_TRAIN_VOLTAGE_SWING_400: + return DP_TRAIN_PRE_EMPHASIS_9_5; + case DP_TRAIN_VOLTAGE_SWING_600: + return DP_TRAIN_PRE_EMPHASIS_6; + case DP_TRAIN_VOLTAGE_SWING_800: + return DP_TRAIN_PRE_EMPHASIS_3_5; + case DP_TRAIN_VOLTAGE_SWING_1200: + default: + return DP_TRAIN_PRE_EMPHASIS_0; + } + } else if (IS_GEN7(dev) && is_cpu_edp(intel_dp) && !IS_VALLEYVIEW(dev)) { + switch (voltage_swing & DP_TRAIN_VOLTAGE_SWING_MASK) { + case DP_TRAIN_VOLTAGE_SWING_400: + return DP_TRAIN_PRE_EMPHASIS_6; + case DP_TRAIN_VOLTAGE_SWING_600: + case DP_TRAIN_VOLTAGE_SWING_800: + return DP_TRAIN_PRE_EMPHASIS_3_5; + default: + return DP_TRAIN_PRE_EMPHASIS_0; + } + } else { + switch (voltage_swing & DP_TRAIN_VOLTAGE_SWING_MASK) { + case DP_TRAIN_VOLTAGE_SWING_400: + return DP_TRAIN_PRE_EMPHASIS_6; + case DP_TRAIN_VOLTAGE_SWING_600: + return DP_TRAIN_PRE_EMPHASIS_6; + case DP_TRAIN_VOLTAGE_SWING_800: + return DP_TRAIN_PRE_EMPHASIS_3_5; + case DP_TRAIN_VOLTAGE_SWING_1200: + default: + return DP_TRAIN_PRE_EMPHASIS_0; + } + } +} + +static void +intel_get_adjust_train(struct intel_dp *intel_dp, uint8_t link_status[DP_LINK_STATUS_SIZE]) +{ + uint8_t v = 0; + uint8_t p = 0; + int lane; + uint8_t voltage_max; + uint8_t preemph_max; + + for (lane = 0; lane < intel_dp->lane_count; lane++) { + uint8_t this_v = drm_dp_get_adjust_request_voltage(link_status, lane); + uint8_t this_p = drm_dp_get_adjust_request_pre_emphasis(link_status, lane); + + if (this_v > v) + v = this_v; + if (this_p > p) + p = this_p; + } + + voltage_max = intel_dp_voltage_max(intel_dp); + if (v >= voltage_max) + v = voltage_max | DP_TRAIN_MAX_SWING_REACHED; + + preemph_max = intel_dp_pre_emphasis_max(intel_dp, v); + if (p >= preemph_max) + p = preemph_max | DP_TRAIN_MAX_PRE_EMPHASIS_REACHED; + + for (lane = 0; lane < 4; lane++) + intel_dp->train_set[lane] = v | p; +} + +static uint32_t +intel_dp_signal_levels(uint8_t train_set) +{ + uint32_t signal_levels = 0; + + switch (train_set & DP_TRAIN_VOLTAGE_SWING_MASK) { + case DP_TRAIN_VOLTAGE_SWING_400: + default: + signal_levels |= DP_VOLTAGE_0_4; + break; + case DP_TRAIN_VOLTAGE_SWING_600: + signal_levels |= DP_VOLTAGE_0_6; + break; + case DP_TRAIN_VOLTAGE_SWING_800: + signal_levels |= DP_VOLTAGE_0_8; + break; + case DP_TRAIN_VOLTAGE_SWING_1200: + signal_levels |= DP_VOLTAGE_1_2; + break; + } + switch (train_set & DP_TRAIN_PRE_EMPHASIS_MASK) { + case DP_TRAIN_PRE_EMPHASIS_0: + default: + signal_levels |= DP_PRE_EMPHASIS_0; + break; + case DP_TRAIN_PRE_EMPHASIS_3_5: + signal_levels |= DP_PRE_EMPHASIS_3_5; + break; + case DP_TRAIN_PRE_EMPHASIS_6: + signal_levels |= DP_PRE_EMPHASIS_6; + break; + case DP_TRAIN_PRE_EMPHASIS_9_5: + signal_levels |= DP_PRE_EMPHASIS_9_5; + break; + } + return signal_levels; +} + +/* Gen6's DP voltage swing and pre-emphasis control */ +static uint32_t +intel_gen6_edp_signal_levels(uint8_t train_set) +{ + int signal_levels = train_set & (DP_TRAIN_VOLTAGE_SWING_MASK | + DP_TRAIN_PRE_EMPHASIS_MASK); + switch (signal_levels) { + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_0: + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_0: + return EDP_LINK_TRAIN_400_600MV_0DB_SNB_B; + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_3_5: + return EDP_LINK_TRAIN_400MV_3_5DB_SNB_B; + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_6: + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_6: + return EDP_LINK_TRAIN_400_600MV_6DB_SNB_B; + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_3_5: + case DP_TRAIN_VOLTAGE_SWING_800 | DP_TRAIN_PRE_EMPHASIS_3_5: + return EDP_LINK_TRAIN_600_800MV_3_5DB_SNB_B; + case DP_TRAIN_VOLTAGE_SWING_800 | DP_TRAIN_PRE_EMPHASIS_0: + case DP_TRAIN_VOLTAGE_SWING_1200 | DP_TRAIN_PRE_EMPHASIS_0: + return EDP_LINK_TRAIN_800_1200MV_0DB_SNB_B; + default: + DRM_DEBUG_KMS("Unsupported voltage swing/pre-emphasis level:" + "0x%x\n", signal_levels); + return EDP_LINK_TRAIN_400_600MV_0DB_SNB_B; + } +} + +/* Gen7's DP voltage swing and pre-emphasis control */ +static uint32_t +intel_gen7_edp_signal_levels(uint8_t train_set) +{ + int signal_levels = train_set & (DP_TRAIN_VOLTAGE_SWING_MASK | + DP_TRAIN_PRE_EMPHASIS_MASK); + switch (signal_levels) { + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_0: + return EDP_LINK_TRAIN_400MV_0DB_IVB; + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_3_5: + return EDP_LINK_TRAIN_400MV_3_5DB_IVB; + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_6: + return EDP_LINK_TRAIN_400MV_6DB_IVB; + + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_0: + return EDP_LINK_TRAIN_600MV_0DB_IVB; + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_3_5: + return EDP_LINK_TRAIN_600MV_3_5DB_IVB; + + case DP_TRAIN_VOLTAGE_SWING_800 | DP_TRAIN_PRE_EMPHASIS_0: + return EDP_LINK_TRAIN_800MV_0DB_IVB; + case DP_TRAIN_VOLTAGE_SWING_800 | DP_TRAIN_PRE_EMPHASIS_3_5: + return EDP_LINK_TRAIN_800MV_3_5DB_IVB; + + default: + DRM_DEBUG_KMS("Unsupported voltage swing/pre-emphasis level:" + "0x%x\n", signal_levels); + return EDP_LINK_TRAIN_500MV_0DB_IVB; + } +} + +/* Gen7.5's (HSW) DP voltage swing and pre-emphasis control */ +static uint32_t +intel_dp_signal_levels_hsw(uint8_t train_set) +{ + int signal_levels = train_set & (DP_TRAIN_VOLTAGE_SWING_MASK | + DP_TRAIN_PRE_EMPHASIS_MASK); + switch (signal_levels) { + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_0: + return DDI_BUF_EMP_400MV_0DB_HSW; + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_3_5: + return DDI_BUF_EMP_400MV_3_5DB_HSW; + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_6: + return DDI_BUF_EMP_400MV_6DB_HSW; + case DP_TRAIN_VOLTAGE_SWING_400 | DP_TRAIN_PRE_EMPHASIS_9_5: + return DDI_BUF_EMP_400MV_9_5DB_HSW; + + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_0: + return DDI_BUF_EMP_600MV_0DB_HSW; + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_3_5: + return DDI_BUF_EMP_600MV_3_5DB_HSW; + case DP_TRAIN_VOLTAGE_SWING_600 | DP_TRAIN_PRE_EMPHASIS_6: + return DDI_BUF_EMP_600MV_6DB_HSW; + + case DP_TRAIN_VOLTAGE_SWING_800 | DP_TRAIN_PRE_EMPHASIS_0: + return DDI_BUF_EMP_800MV_0DB_HSW; + case DP_TRAIN_VOLTAGE_SWING_800 | DP_TRAIN_PRE_EMPHASIS_3_5: + return DDI_BUF_EMP_800MV_3_5DB_HSW; + default: + DRM_DEBUG_KMS("Unsupported voltage swing/pre-emphasis level:" + "0x%x\n", signal_levels); + return DDI_BUF_EMP_400MV_0DB_HSW; + } +} + +static bool +intel_dp_set_link_train(struct intel_dp *intel_dp, + uint32_t dp_reg_value, + uint8_t dp_train_pat) +{ + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct drm_device *dev = intel_dig_port->base.base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + enum port port = intel_dig_port->port; + int ret; + uint32_t temp; + + if (IS_HASWELL(dev)) { + temp = I915_READ(DP_TP_CTL(port)); + + if (dp_train_pat & DP_LINK_SCRAMBLING_DISABLE) + temp |= DP_TP_CTL_SCRAMBLE_DISABLE; + else + temp &= ~DP_TP_CTL_SCRAMBLE_DISABLE; + + temp &= ~DP_TP_CTL_LINK_TRAIN_MASK; + switch (dp_train_pat & DP_TRAINING_PATTERN_MASK) { + case DP_TRAINING_PATTERN_DISABLE: + temp |= DP_TP_CTL_LINK_TRAIN_IDLE; + I915_WRITE(DP_TP_CTL(port), temp); + + if (wait_for((I915_READ(DP_TP_STATUS(port)) & + DP_TP_STATUS_IDLE_DONE), 1)) + DRM_ERROR("Timed out waiting for DP idle patterns\n"); + + temp &= ~DP_TP_CTL_LINK_TRAIN_MASK; + temp |= DP_TP_CTL_LINK_TRAIN_NORMAL; + + break; + case DP_TRAINING_PATTERN_1: + temp |= DP_TP_CTL_LINK_TRAIN_PAT1; + break; + case DP_TRAINING_PATTERN_2: + temp |= DP_TP_CTL_LINK_TRAIN_PAT2; + break; + case DP_TRAINING_PATTERN_3: + temp |= DP_TP_CTL_LINK_TRAIN_PAT3; + break; + } + I915_WRITE(DP_TP_CTL(port), temp); + + } else if (HAS_PCH_CPT(dev) && + (IS_GEN7(dev) || !is_cpu_edp(intel_dp))) { + dp_reg_value &= ~DP_LINK_TRAIN_MASK_CPT; + + switch (dp_train_pat & DP_TRAINING_PATTERN_MASK) { + case DP_TRAINING_PATTERN_DISABLE: + dp_reg_value |= DP_LINK_TRAIN_OFF_CPT; + break; + case DP_TRAINING_PATTERN_1: + dp_reg_value |= DP_LINK_TRAIN_PAT_1_CPT; + break; + case DP_TRAINING_PATTERN_2: + dp_reg_value |= DP_LINK_TRAIN_PAT_2_CPT; + break; + case DP_TRAINING_PATTERN_3: + DRM_ERROR("DP training pattern 3 not supported\n"); + dp_reg_value |= DP_LINK_TRAIN_PAT_2_CPT; + break; + } + + } else { + dp_reg_value &= ~DP_LINK_TRAIN_MASK; + + switch (dp_train_pat & DP_TRAINING_PATTERN_MASK) { + case DP_TRAINING_PATTERN_DISABLE: + dp_reg_value |= DP_LINK_TRAIN_OFF; + break; + case DP_TRAINING_PATTERN_1: + dp_reg_value |= DP_LINK_TRAIN_PAT_1; + break; + case DP_TRAINING_PATTERN_2: + dp_reg_value |= DP_LINK_TRAIN_PAT_2; + break; + case DP_TRAINING_PATTERN_3: + DRM_ERROR("DP training pattern 3 not supported\n"); + dp_reg_value |= DP_LINK_TRAIN_PAT_2; + break; + } + } + + I915_WRITE(intel_dp->output_reg, dp_reg_value); + POSTING_READ(intel_dp->output_reg); + + intel_dp_aux_native_write_1(intel_dp, + DP_TRAINING_PATTERN_SET, + dp_train_pat); + + if ((dp_train_pat & DP_TRAINING_PATTERN_MASK) != + DP_TRAINING_PATTERN_DISABLE) { + ret = intel_dp_aux_native_write(intel_dp, + DP_TRAINING_LANE0_SET, + intel_dp->train_set, + intel_dp->lane_count); + if (ret != intel_dp->lane_count) + return false; + } + + return true; +} + +/* Enable corresponding port and start training pattern 1 */ +void +intel_dp_start_link_train(struct intel_dp *intel_dp) +{ + struct drm_encoder *encoder = &dp_to_dig_port(intel_dp)->base.base; + struct drm_device *dev = encoder->dev; + int i; + uint8_t voltage; + bool clock_recovery = false; + int voltage_tries, loop_tries; + uint32_t DP = intel_dp->DP; + + if (IS_HASWELL(dev)) + intel_ddi_prepare_link_retrain(encoder); + + /* Write the link configuration data */ + intel_dp_aux_native_write(intel_dp, DP_LINK_BW_SET, + intel_dp->link_configuration, + DP_LINK_CONFIGURATION_SIZE); + + DP |= DP_PORT_EN; + + memset(intel_dp->train_set, 0, 4); + voltage = 0xff; + voltage_tries = 0; + loop_tries = 0; + clock_recovery = false; + for (;;) { + /* Use intel_dp->train_set[0] to set the voltage and pre emphasis values */ + uint8_t link_status[DP_LINK_STATUS_SIZE]; + uint32_t signal_levels; + + if (IS_HASWELL(dev)) { + signal_levels = intel_dp_signal_levels_hsw( + intel_dp->train_set[0]); + DP = (DP & ~DDI_BUF_EMP_MASK) | signal_levels; + } else if (IS_GEN7(dev) && is_cpu_edp(intel_dp) && !IS_VALLEYVIEW(dev)) { + signal_levels = intel_gen7_edp_signal_levels(intel_dp->train_set[0]); + DP = (DP & ~EDP_LINK_TRAIN_VOL_EMP_MASK_IVB) | signal_levels; + } else if (IS_GEN6(dev) && is_cpu_edp(intel_dp)) { + signal_levels = intel_gen6_edp_signal_levels(intel_dp->train_set[0]); + DP = (DP & ~EDP_LINK_TRAIN_VOL_EMP_MASK_SNB) | signal_levels; + } else { + signal_levels = intel_dp_signal_levels(intel_dp->train_set[0]); + DP = (DP & ~(DP_VOLTAGE_MASK|DP_PRE_EMPHASIS_MASK)) | signal_levels; + } + DRM_DEBUG_KMS("training pattern 1 signal levels %08x\n", + signal_levels); + + /* Set training pattern 1 */ + if (!intel_dp_set_link_train(intel_dp, DP, + DP_TRAINING_PATTERN_1 | + DP_LINK_SCRAMBLING_DISABLE)) + break; + + drm_dp_link_train_clock_recovery_delay(intel_dp->dpcd); + if (!intel_dp_get_link_status(intel_dp, link_status)) { + DRM_ERROR("failed to get link status\n"); + break; + } + + if (drm_dp_clock_recovery_ok(link_status, intel_dp->lane_count)) { + DRM_DEBUG_KMS("clock recovery OK\n"); + clock_recovery = true; + break; + } + + /* Check to see if we've tried the max voltage */ + for (i = 0; i < intel_dp->lane_count; i++) + if ((intel_dp->train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0) + break; + if (i == intel_dp->lane_count && voltage_tries == 5) { + ++loop_tries; + if (loop_tries == 5) { + DRM_DEBUG_KMS("too many full retries, give up\n"); + break; + } + memset(intel_dp->train_set, 0, 4); + voltage_tries = 0; + continue; + } + + /* Check to see if we've tried the same voltage 5 times */ + if ((intel_dp->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK) == voltage) { + ++voltage_tries; + if (voltage_tries == 5) { + DRM_DEBUG_KMS("too many voltage retries, give up\n"); + break; + } + } else + voltage_tries = 0; + voltage = intel_dp->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK; + + /* Compute new intel_dp->train_set as requested by target */ + intel_get_adjust_train(intel_dp, link_status); + } + + intel_dp->DP = DP; +} + +void +intel_dp_complete_link_train(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + bool channel_eq = false; + int tries, cr_tries; + uint32_t DP = intel_dp->DP; + + /* channel equalization */ + tries = 0; + cr_tries = 0; + channel_eq = false; + for (;;) { + /* Use intel_dp->train_set[0] to set the voltage and pre emphasis values */ + uint32_t signal_levels; + uint8_t link_status[DP_LINK_STATUS_SIZE]; + + if (cr_tries > 5) { + DRM_ERROR("failed to train DP, aborting\n"); + intel_dp_link_down(intel_dp); + break; + } + + if (IS_HASWELL(dev)) { + signal_levels = intel_dp_signal_levels_hsw(intel_dp->train_set[0]); + DP = (DP & ~DDI_BUF_EMP_MASK) | signal_levels; + } else if (IS_GEN7(dev) && is_cpu_edp(intel_dp) && !IS_VALLEYVIEW(dev)) { + signal_levels = intel_gen7_edp_signal_levels(intel_dp->train_set[0]); + DP = (DP & ~EDP_LINK_TRAIN_VOL_EMP_MASK_IVB) | signal_levels; + } else if (IS_GEN6(dev) && is_cpu_edp(intel_dp)) { + signal_levels = intel_gen6_edp_signal_levels(intel_dp->train_set[0]); + DP = (DP & ~EDP_LINK_TRAIN_VOL_EMP_MASK_SNB) | signal_levels; + } else { + signal_levels = intel_dp_signal_levels(intel_dp->train_set[0]); + DP = (DP & ~(DP_VOLTAGE_MASK|DP_PRE_EMPHASIS_MASK)) | signal_levels; + } + + /* channel eq pattern */ + if (!intel_dp_set_link_train(intel_dp, DP, + DP_TRAINING_PATTERN_2 | + DP_LINK_SCRAMBLING_DISABLE)) + break; + + drm_dp_link_train_channel_eq_delay(intel_dp->dpcd); + if (!intel_dp_get_link_status(intel_dp, link_status)) + break; + + /* Make sure clock is still ok */ + if (!drm_dp_clock_recovery_ok(link_status, intel_dp->lane_count)) { + intel_dp_start_link_train(intel_dp); + cr_tries++; + continue; + } + + if (drm_dp_channel_eq_ok(link_status, intel_dp->lane_count)) { + channel_eq = true; + break; + } + + /* Try 5 times, then try clock recovery if that fails */ + if (tries > 5) { + intel_dp_link_down(intel_dp); + intel_dp_start_link_train(intel_dp); + tries = 0; + cr_tries++; + continue; + } + + /* Compute new intel_dp->train_set as requested by target */ + intel_get_adjust_train(intel_dp, link_status); + ++tries; + } + + if (channel_eq) + DRM_DEBUG_KMS("Channel EQ done. DP Training successfull\n"); + + intel_dp_set_link_train(intel_dp, DP, DP_TRAINING_PATTERN_DISABLE); +} + +static void +intel_dp_link_down(struct intel_dp *intel_dp) +{ + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct drm_device *dev = intel_dig_port->base.base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t DP = intel_dp->DP; + + /* + * DDI code has a strict mode set sequence and we should try to respect + * it, otherwise we might hang the machine in many different ways. So we + * really should be disabling the port only on a complete crtc_disable + * sequence. This function is just called under two conditions on DDI + * code: + * - Link train failed while doing crtc_enable, and on this case we + * really should respect the mode set sequence and wait for a + * crtc_disable. + * - Someone turned the monitor off and intel_dp_check_link_status + * called us. We don't need to disable the whole port on this case, so + * when someone turns the monitor on again, + * intel_ddi_prepare_link_retrain will take care of redoing the link + * train. + */ + if (IS_HASWELL(dev)) + return; + + if (WARN_ON((I915_READ(intel_dp->output_reg) & DP_PORT_EN) == 0)) + return; + + DRM_DEBUG_KMS("\n"); + + if (HAS_PCH_CPT(dev) && (IS_GEN7(dev) || !is_cpu_edp(intel_dp))) { + DP &= ~DP_LINK_TRAIN_MASK_CPT; + I915_WRITE(intel_dp->output_reg, DP | DP_LINK_TRAIN_PAT_IDLE_CPT); + } else { + DP &= ~DP_LINK_TRAIN_MASK; + I915_WRITE(intel_dp->output_reg, DP | DP_LINK_TRAIN_PAT_IDLE); + } + POSTING_READ(intel_dp->output_reg); + + msleep(17); + + if (HAS_PCH_IBX(dev) && + I915_READ(intel_dp->output_reg) & DP_PIPEB_SELECT) { + struct drm_crtc *crtc = intel_dig_port->base.base.crtc; + + /* Hardware workaround: leaving our transcoder select + * set to transcoder B while it's off will prevent the + * corresponding HDMI output on transcoder A. + * + * Combine this with another hardware workaround: + * transcoder select bit can only be cleared while the + * port is enabled. + */ + DP &= ~DP_PIPEB_SELECT; + I915_WRITE(intel_dp->output_reg, DP); + + /* Changes to enable or select take place the vblank + * after being written. + */ + if (crtc == NULL) { + /* We can arrive here never having been attached + * to a CRTC, for instance, due to inheriting + * random state from the BIOS. + * + * If the pipe is not running, play safe and + * wait for the clocks to stabilise before + * continuing. + */ + POSTING_READ(intel_dp->output_reg); + msleep(50); + } else + intel_wait_for_vblank(dev, to_intel_crtc(crtc)->pipe); + } + + DP &= ~DP_AUDIO_OUTPUT_ENABLE; + I915_WRITE(intel_dp->output_reg, DP & ~DP_PORT_EN); + POSTING_READ(intel_dp->output_reg); + msleep(intel_dp->panel_power_down_delay); +} + +static bool +intel_dp_get_dpcd(struct intel_dp *intel_dp) +{ + if (intel_dp_aux_native_read_retry(intel_dp, 0x000, intel_dp->dpcd, + sizeof(intel_dp->dpcd)) == 0) + return false; /* aux transfer failed */ + + if (intel_dp->dpcd[DP_DPCD_REV] == 0) + return false; /* DPCD not present */ + + if (!(intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] & + DP_DWN_STRM_PORT_PRESENT)) + return true; /* native DP sink */ + + if (intel_dp->dpcd[DP_DPCD_REV] == 0x10) + return true; /* no per-port downstream info */ + + if (intel_dp_aux_native_read_retry(intel_dp, DP_DOWNSTREAM_PORT_0, + intel_dp->downstream_ports, + DP_MAX_DOWNSTREAM_PORTS) == 0) + return false; /* downstream port status fetch failed */ + + return true; +} + +static void +intel_dp_probe_oui(struct intel_dp *intel_dp) +{ + u8 buf[3]; + + if (!(intel_dp->dpcd[DP_DOWN_STREAM_PORT_COUNT] & DP_OUI_SUPPORT)) + return; + + ironlake_edp_panel_vdd_on(intel_dp); + + if (intel_dp_aux_native_read_retry(intel_dp, DP_SINK_OUI, buf, 3)) + DRM_DEBUG_KMS("Sink OUI: %02hx%02hx%02hx\n", + buf[0], buf[1], buf[2]); + + if (intel_dp_aux_native_read_retry(intel_dp, DP_BRANCH_OUI, buf, 3)) + DRM_DEBUG_KMS("Branch OUI: %02hx%02hx%02hx\n", + buf[0], buf[1], buf[2]); + + ironlake_edp_panel_vdd_off(intel_dp, false); +} + +static bool +intel_dp_get_sink_irq(struct intel_dp *intel_dp, u8 *sink_irq_vector) +{ + int ret; + + ret = intel_dp_aux_native_read_retry(intel_dp, + DP_DEVICE_SERVICE_IRQ_VECTOR, + sink_irq_vector, 1); + if (!ret) + return false; + + return true; +} + +static void +intel_dp_handle_test_request(struct intel_dp *intel_dp) +{ + /* NAK by default */ + intel_dp_aux_native_write_1(intel_dp, DP_TEST_RESPONSE, DP_TEST_NAK); +} + +/* + * According to DP spec + * 5.1.2: + * 1. Read DPCD + * 2. Configure link according to Receiver Capabilities + * 3. Use Link Training from 2.5.3.3 and 3.5.1.3 + * 4. Check link status on receipt of hot-plug interrupt + */ + +void +intel_dp_check_link_status(struct intel_dp *intel_dp) +{ + struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; + u8 sink_irq_vector; + u8 link_status[DP_LINK_STATUS_SIZE]; + + if (!intel_encoder->connectors_active) + return; + + if (WARN_ON(!intel_encoder->base.crtc)) + return; + + /* Try to read receiver status if the link appears to be up */ + if (!intel_dp_get_link_status(intel_dp, link_status)) { + intel_dp_link_down(intel_dp); + return; + } + + /* Now read the DPCD to see if it's actually running */ + if (!intel_dp_get_dpcd(intel_dp)) { + intel_dp_link_down(intel_dp); + return; + } + + /* Try to read the source of the interrupt */ + if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && + intel_dp_get_sink_irq(intel_dp, &sink_irq_vector)) { + /* Clear interrupt source */ + intel_dp_aux_native_write_1(intel_dp, + DP_DEVICE_SERVICE_IRQ_VECTOR, + sink_irq_vector); + + if (sink_irq_vector & DP_AUTOMATED_TEST_REQUEST) + intel_dp_handle_test_request(intel_dp); + if (sink_irq_vector & (DP_CP_IRQ | DP_SINK_SPECIFIC_IRQ)) + DRM_DEBUG_DRIVER("CP or sink specific irq unhandled\n"); + } + + if (!drm_dp_channel_eq_ok(link_status, intel_dp->lane_count)) { + DRM_DEBUG_KMS("%s: channel EQ not ok, retraining\n", + drm_get_encoder_name(&intel_encoder->base)); + intel_dp_start_link_train(intel_dp); + intel_dp_complete_link_train(intel_dp); + } +} + +/* XXX this is probably wrong for multiple downstream ports */ +static enum drm_connector_status +intel_dp_detect_dpcd(struct intel_dp *intel_dp) +{ + uint8_t *dpcd = intel_dp->dpcd; + bool hpd; + uint8_t type; + + if (!intel_dp_get_dpcd(intel_dp)) + return connector_status_disconnected; + + /* if there's no downstream port, we're done */ + if (!(dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_PRESENT)) + return connector_status_connected; + + /* If we're HPD-aware, SINK_COUNT changes dynamically */ + hpd = !!(intel_dp->downstream_ports[0] & DP_DS_PORT_HPD); + if (hpd) { + uint8_t reg; + if (!intel_dp_aux_native_read_retry(intel_dp, DP_SINK_COUNT, + ®, 1)) + return connector_status_unknown; + return DP_GET_SINK_COUNT(reg) ? connector_status_connected + : connector_status_disconnected; + } + + /* If no HPD, poke DDC gently */ + if (drm_probe_ddc(&intel_dp->adapter)) + return connector_status_connected; + + /* Well we tried, say unknown for unreliable port types */ + type = intel_dp->downstream_ports[0] & DP_DS_PORT_TYPE_MASK; + if (type == DP_DS_PORT_TYPE_VGA || type == DP_DS_PORT_TYPE_NON_EDID) + return connector_status_unknown; + + /* Anything else is out of spec, warn and ignore */ + DRM_DEBUG_KMS("Broken DP branch device, ignoring\n"); + return connector_status_disconnected; +} + +static enum drm_connector_status +ironlake_dp_detect(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + enum drm_connector_status status; + + /* Can't disconnect eDP, but you can close the lid... */ + if (is_edp(intel_dp)) { + status = intel_panel_detect(dev); + if (status == connector_status_unknown) + status = connector_status_connected; + return status; + } + + return intel_dp_detect_dpcd(intel_dp); +} + +static enum drm_connector_status +g4x_dp_detect(struct intel_dp *intel_dp) +{ + struct drm_device *dev = intel_dp_to_dev(intel_dp); + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t bit; + + switch (intel_dp->output_reg) { + case DP_B: + bit = DPB_HOTPLUG_LIVE_STATUS; + break; + case DP_C: + bit = DPC_HOTPLUG_LIVE_STATUS; + break; + case DP_D: + bit = DPD_HOTPLUG_LIVE_STATUS; + break; + default: + return connector_status_unknown; + } + + if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0) + return connector_status_disconnected; + + return intel_dp_detect_dpcd(intel_dp); +} + +static struct edid * +intel_dp_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter) +{ + struct intel_connector *intel_connector = to_intel_connector(connector); + + /* use cached edid if we have one */ + if (intel_connector->edid) { + struct edid *edid; + int size; + + /* invalid edid */ + if (IS_ERR(intel_connector->edid)) + return NULL; + + size = (intel_connector->edid->extensions + 1) * EDID_LENGTH; + edid = kmalloc(size, GFP_KERNEL); + if (!edid) + return NULL; + + memcpy(edid, intel_connector->edid, size); + return edid; + } + + return drm_get_edid(connector, adapter); +} + +static int +intel_dp_get_edid_modes(struct drm_connector *connector, struct i2c_adapter *adapter) +{ + struct intel_connector *intel_connector = to_intel_connector(connector); + + /* use cached edid if we have one */ + if (intel_connector->edid) { + /* invalid edid */ + if (IS_ERR(intel_connector->edid)) + return 0; + + return intel_connector_update_modes(connector, + intel_connector->edid); + } + + return intel_ddc_get_modes(connector, adapter); +} + + +/** + * Uses CRT_HOTPLUG_EN and CRT_HOTPLUG_STAT to detect DP connection. + * + * \return true if DP port is connected. + * \return false if DP port is disconnected. + */ +static enum drm_connector_status +intel_dp_detect(struct drm_connector *connector, bool force) +{ + struct intel_dp *intel_dp = intel_attached_dp(connector); + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct intel_encoder *intel_encoder = &intel_dig_port->base; + struct drm_device *dev = connector->dev; + enum drm_connector_status status; + struct edid *edid = NULL; + char dpcd_hex_dump[sizeof(intel_dp->dpcd) * 3]; + + intel_dp->has_audio = false; + + if (HAS_PCH_SPLIT(dev)) + status = ironlake_dp_detect(intel_dp); + else + status = g4x_dp_detect(intel_dp); + + hex_dump_to_buffer(intel_dp->dpcd, sizeof(intel_dp->dpcd), + 32, 1, dpcd_hex_dump, sizeof(dpcd_hex_dump), false); + DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump); + + if (status != connector_status_connected) + return status; + + intel_dp_probe_oui(intel_dp); + + if (intel_dp->force_audio != HDMI_AUDIO_AUTO) { + intel_dp->has_audio = (intel_dp->force_audio == HDMI_AUDIO_ON); + } else { + edid = intel_dp_get_edid(connector, &intel_dp->adapter); + if (edid) { + intel_dp->has_audio = drm_detect_monitor_audio(edid); + kfree(edid); + } + } + + if (intel_encoder->type != INTEL_OUTPUT_EDP) + intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT; + return connector_status_connected; +} + +static int intel_dp_get_modes(struct drm_connector *connector) +{ + struct intel_dp *intel_dp = intel_attached_dp(connector); + struct intel_connector *intel_connector = to_intel_connector(connector); + struct drm_device *dev = connector->dev; + int ret; + + /* We should parse the EDID data and find out if it has an audio sink + */ + + ret = intel_dp_get_edid_modes(connector, &intel_dp->adapter); + if (ret) + return ret; + + /* if eDP has no EDID, fall back to fixed mode */ + if (is_edp(intel_dp) && intel_connector->panel.fixed_mode) { + struct drm_display_mode *mode; + mode = drm_mode_duplicate(dev, + intel_connector->panel.fixed_mode); + if (mode) { + drm_mode_probed_add(connector, mode); + return 1; + } + } + return 0; +} + +static bool +intel_dp_detect_audio(struct drm_connector *connector) +{ + struct intel_dp *intel_dp = intel_attached_dp(connector); + struct edid *edid; + bool has_audio = false; + + edid = intel_dp_get_edid(connector, &intel_dp->adapter); + if (edid) { + has_audio = drm_detect_monitor_audio(edid); + kfree(edid); + } + + return has_audio; +} + +static int +intel_dp_set_property(struct drm_connector *connector, + struct drm_property *property, + uint64_t val) +{ + struct drm_i915_private *dev_priv = connector->dev->dev_private; + struct intel_connector *intel_connector = to_intel_connector(connector); + struct intel_encoder *intel_encoder = intel_attached_encoder(connector); + struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base); + int ret; + + ret = drm_connector_property_set_value(connector, property, val); + if (ret) + return ret; + + if (property == dev_priv->force_audio_property) { + int i = val; + bool has_audio; + + if (i == intel_dp->force_audio) + return 0; + + intel_dp->force_audio = i; + + if (i == HDMI_AUDIO_AUTO) + has_audio = intel_dp_detect_audio(connector); + else + has_audio = (i == HDMI_AUDIO_ON); + + if (has_audio == intel_dp->has_audio) + return 0; + + intel_dp->has_audio = has_audio; + goto done; + } + + if (property == dev_priv->broadcast_rgb_property) { + if (val == !!intel_dp->color_range) + return 0; + + intel_dp->color_range = val ? DP_COLOR_RANGE_16_235 : 0; + goto done; + } + + if (is_edp(intel_dp) && + property == connector->dev->mode_config.scaling_mode_property) { + if (val == DRM_MODE_SCALE_NONE) { + DRM_DEBUG_KMS("no scaling not supported\n"); + return -EINVAL; + } + + if (intel_connector->panel.fitting_mode == val) { + /* the eDP scaling property is not changed */ + return 0; + } + intel_connector->panel.fitting_mode = val; + + goto done; + } + + return -EINVAL; + +done: + if (intel_encoder->base.crtc) { + struct drm_crtc *crtc = intel_encoder->base.crtc; + intel_set_mode(crtc, &crtc->mode, + crtc->x, crtc->y, crtc->fb); + } + + return 0; +} + +static void +intel_dp_destroy(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct intel_dp *intel_dp = intel_attached_dp(connector); + struct intel_connector *intel_connector = to_intel_connector(connector); + + if (!IS_ERR_OR_NULL(intel_connector->edid)) + kfree(intel_connector->edid); + + if (is_edp(intel_dp)) { + intel_panel_destroy_backlight(dev); + intel_panel_fini(&intel_connector->panel); + } + + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(connector); +} + +void intel_dp_encoder_destroy(struct drm_encoder *encoder) +{ + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); + struct intel_dp *intel_dp = &intel_dig_port->dp; + + i2c_del_adapter(&intel_dp->adapter); + drm_encoder_cleanup(encoder); + if (is_edp(intel_dp)) { + cancel_delayed_work_sync(&intel_dp->panel_vdd_work); + ironlake_panel_vdd_off_sync(intel_dp); + } + kfree(intel_dig_port); +} + +static const struct drm_encoder_helper_funcs intel_dp_helper_funcs = { + .mode_fixup = intel_dp_mode_fixup, + .mode_set = intel_dp_mode_set, + .disable = intel_encoder_noop, +}; + +static const struct drm_connector_funcs intel_dp_connector_funcs = { + .dpms = intel_connector_dpms, + .detect = intel_dp_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = intel_dp_set_property, + .destroy = intel_dp_destroy, +}; + +static const struct drm_connector_helper_funcs intel_dp_connector_helper_funcs = { + .get_modes = intel_dp_get_modes, + .mode_valid = intel_dp_mode_valid, + .best_encoder = intel_best_encoder, +}; + +static const struct drm_encoder_funcs intel_dp_enc_funcs = { + .destroy = intel_dp_encoder_destroy, +}; + +static void +intel_dp_hot_plug(struct intel_encoder *intel_encoder) +{ + struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base); + + intel_dp_check_link_status(intel_dp); +} + +/* Return which DP Port should be selected for Transcoder DP control */ +int +intel_trans_dp_port_sel(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct intel_encoder *intel_encoder; + struct intel_dp *intel_dp; + + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + intel_dp = enc_to_intel_dp(&intel_encoder->base); + + if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT || + intel_encoder->type == INTEL_OUTPUT_EDP) + return intel_dp->output_reg; + } + + return -1; +} + +/* check the VBT to see whether the eDP is on DP-D port */ +bool intel_dpd_is_edp(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct child_device_config *p_child; + int i; + + if (!dev_priv->child_dev_num) + return false; + + for (i = 0; i < dev_priv->child_dev_num; i++) { + p_child = dev_priv->child_dev + i; + + if (p_child->dvo_port == PORT_IDPD && + p_child->device_type == DEVICE_TYPE_eDP) + return true; + } + return false; +} + +static void +intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connector) +{ + struct intel_connector *intel_connector = to_intel_connector(connector); + + intel_attach_force_audio_property(connector); + intel_attach_broadcast_rgb_property(connector); + + if (is_edp(intel_dp)) { + drm_mode_create_scaling_mode_property(connector->dev); + drm_connector_attach_property( + connector, + connector->dev->mode_config.scaling_mode_property, + DRM_MODE_SCALE_ASPECT); + intel_connector->panel.fitting_mode = DRM_MODE_SCALE_ASPECT; + } +} + +static void +intel_dp_init_panel_power_sequencer(struct drm_device *dev, + struct intel_dp *intel_dp) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct edp_power_seq cur, vbt, spec, final; + u32 pp_on, pp_off, pp_div, pp; + + /* Workaround: Need to write PP_CONTROL with the unlock key as + * the very first thing. */ + pp = ironlake_get_pp_control(dev_priv); + I915_WRITE(PCH_PP_CONTROL, pp); + + pp_on = I915_READ(PCH_PP_ON_DELAYS); + pp_off = I915_READ(PCH_PP_OFF_DELAYS); + pp_div = I915_READ(PCH_PP_DIVISOR); + + /* Pull timing values out of registers */ + cur.t1_t3 = (pp_on & PANEL_POWER_UP_DELAY_MASK) >> + PANEL_POWER_UP_DELAY_SHIFT; + + cur.t8 = (pp_on & PANEL_LIGHT_ON_DELAY_MASK) >> + PANEL_LIGHT_ON_DELAY_SHIFT; + + cur.t9 = (pp_off & PANEL_LIGHT_OFF_DELAY_MASK) >> + PANEL_LIGHT_OFF_DELAY_SHIFT; + + cur.t10 = (pp_off & PANEL_POWER_DOWN_DELAY_MASK) >> + PANEL_POWER_DOWN_DELAY_SHIFT; + + cur.t11_t12 = ((pp_div & PANEL_POWER_CYCLE_DELAY_MASK) >> + PANEL_POWER_CYCLE_DELAY_SHIFT) * 1000; + + DRM_DEBUG_KMS("cur t1_t3 %d t8 %d t9 %d t10 %d t11_t12 %d\n", + cur.t1_t3, cur.t8, cur.t9, cur.t10, cur.t11_t12); + + vbt = dev_priv->edp.pps; + + /* Upper limits from eDP 1.3 spec. Note that we use the clunky units of + * our hw here, which are all in 100usec. */ + spec.t1_t3 = 210 * 10; + spec.t8 = 50 * 10; /* no limit for t8, use t7 instead */ + spec.t9 = 50 * 10; /* no limit for t9, make it symmetric with t8 */ + spec.t10 = 500 * 10; + /* This one is special and actually in units of 100ms, but zero + * based in the hw (so we need to add 100 ms). But the sw vbt + * table multiplies it with 1000 to make it in units of 100usec, + * too. */ + spec.t11_t12 = (510 + 100) * 10; + + DRM_DEBUG_KMS("vbt t1_t3 %d t8 %d t9 %d t10 %d t11_t12 %d\n", + vbt.t1_t3, vbt.t8, vbt.t9, vbt.t10, vbt.t11_t12); + + /* Use the max of the register settings and vbt. If both are + * unset, fall back to the spec limits. */ +#define assign_final(field) final.field = (max(cur.field, vbt.field) == 0 ? \ + spec.field : \ + max(cur.field, vbt.field)) + assign_final(t1_t3); + assign_final(t8); + assign_final(t9); + assign_final(t10); + assign_final(t11_t12); +#undef assign_final + +#define get_delay(field) (DIV_ROUND_UP(final.field, 10)) + intel_dp->panel_power_up_delay = get_delay(t1_t3); + intel_dp->backlight_on_delay = get_delay(t8); + intel_dp->backlight_off_delay = get_delay(t9); + intel_dp->panel_power_down_delay = get_delay(t10); + intel_dp->panel_power_cycle_delay = get_delay(t11_t12); +#undef get_delay + + /* And finally store the new values in the power sequencer. */ + pp_on = (final.t1_t3 << PANEL_POWER_UP_DELAY_SHIFT) | + (final.t8 << PANEL_LIGHT_ON_DELAY_SHIFT); + pp_off = (final.t9 << PANEL_LIGHT_OFF_DELAY_SHIFT) | + (final.t10 << PANEL_POWER_DOWN_DELAY_SHIFT); + /* Compute the divisor for the pp clock, simply match the Bspec + * formula. */ + pp_div = ((100 * intel_pch_rawclk(dev))/2 - 1) + << PP_REFERENCE_DIVIDER_SHIFT; + pp_div |= (DIV_ROUND_UP(final.t11_t12, 1000) + << PANEL_POWER_CYCLE_DELAY_SHIFT); + + /* Haswell doesn't have any port selection bits for the panel + * power sequencer any more. */ + if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) { + if (is_cpu_edp(intel_dp)) + pp_on |= PANEL_POWER_PORT_DP_A; + else + pp_on |= PANEL_POWER_PORT_DP_D; + } + + I915_WRITE(PCH_PP_ON_DELAYS, pp_on); + I915_WRITE(PCH_PP_OFF_DELAYS, pp_off); + I915_WRITE(PCH_PP_DIVISOR, pp_div); + + + DRM_DEBUG_KMS("panel power up delay %d, power down delay %d, power cycle delay %d\n", + intel_dp->panel_power_up_delay, intel_dp->panel_power_down_delay, + intel_dp->panel_power_cycle_delay); + + DRM_DEBUG_KMS("backlight on delay %d, off delay %d\n", + intel_dp->backlight_on_delay, intel_dp->backlight_off_delay); + + DRM_DEBUG_KMS("panel power sequencer register settings: PP_ON %#x, PP_OFF %#x, PP_DIV %#x\n", + I915_READ(PCH_PP_ON_DELAYS), + I915_READ(PCH_PP_OFF_DELAYS), + I915_READ(PCH_PP_DIVISOR)); +} + +void +intel_dp_init_connector(struct intel_digital_port *intel_dig_port, + struct intel_connector *intel_connector) +{ + struct drm_connector *connector = &intel_connector->base; + struct intel_dp *intel_dp = &intel_dig_port->dp; + struct intel_encoder *intel_encoder = &intel_dig_port->base; + struct drm_device *dev = intel_encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_display_mode *fixed_mode = NULL; + enum port port = intel_dig_port->port; + const char *name = NULL; + int type; + + /* Preserve the current hw state. */ + intel_dp->DP = I915_READ(intel_dp->output_reg); + intel_dp->attached_connector = intel_connector; + + if (HAS_PCH_SPLIT(dev) && port == PORT_D) + if (intel_dpd_is_edp(dev)) + intel_dp->is_pch_edp = true; + + /* + * FIXME : We need to initialize built-in panels before external panels. + * For X0, DP_C is fixed as eDP. Revisit this as part of VLV eDP cleanup + */ + if (IS_VALLEYVIEW(dev) && port == PORT_C) { + type = DRM_MODE_CONNECTOR_eDP; + intel_encoder->type = INTEL_OUTPUT_EDP; + } else if (port == PORT_A || is_pch_edp(intel_dp)) { + type = DRM_MODE_CONNECTOR_eDP; + intel_encoder->type = INTEL_OUTPUT_EDP; + } else { + /* The intel_encoder->type value may be INTEL_OUTPUT_UNKNOWN for + * DDI or INTEL_OUTPUT_DISPLAYPORT for the older gens, so don't + * rewrite it. + */ + type = DRM_MODE_CONNECTOR_DisplayPort; + } + + drm_connector_init(dev, connector, &intel_dp_connector_funcs, type); + drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs); + + connector->polled = DRM_CONNECTOR_POLL_HPD; + connector->interlace_allowed = true; + connector->doublescan_allowed = 0; + + INIT_DELAYED_WORK(&intel_dp->panel_vdd_work, + ironlake_panel_vdd_work); + + intel_connector_attach_encoder(intel_connector, intel_encoder); + drm_sysfs_connector_add(connector); + + if (IS_HASWELL(dev)) + intel_connector->get_hw_state = intel_ddi_connector_get_hw_state; + else + intel_connector->get_hw_state = intel_connector_get_hw_state; + + + /* Set up the DDC bus. */ + switch (port) { + case PORT_A: + name = "DPDDC-A"; + break; + case PORT_B: + dev_priv->hotplug_supported_mask |= DPB_HOTPLUG_INT_STATUS; + name = "DPDDC-B"; + break; + case PORT_C: + dev_priv->hotplug_supported_mask |= DPC_HOTPLUG_INT_STATUS; + name = "DPDDC-C"; + break; + case PORT_D: + dev_priv->hotplug_supported_mask |= DPD_HOTPLUG_INT_STATUS; + name = "DPDDC-D"; + break; + default: + WARN(1, "Invalid port %c\n", port_name(port)); + break; + } + + if (is_edp(intel_dp)) + intel_dp_init_panel_power_sequencer(dev, intel_dp); + + intel_dp_i2c_init(intel_dp, intel_connector, name); + + /* Cache DPCD and EDID for edp. */ + if (is_edp(intel_dp)) { + bool ret; + struct drm_display_mode *scan; + struct edid *edid; + + ironlake_edp_panel_vdd_on(intel_dp); + ret = intel_dp_get_dpcd(intel_dp); + ironlake_edp_panel_vdd_off(intel_dp, false); + + if (ret) { + if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11) + dev_priv->no_aux_handshake = + intel_dp->dpcd[DP_MAX_DOWNSPREAD] & + DP_NO_AUX_HANDSHAKE_LINK_TRAINING; + } else { + /* if this fails, presume the device is a ghost */ + DRM_INFO("failed to retrieve link info, disabling eDP\n"); + intel_dp_encoder_destroy(&intel_encoder->base); + intel_dp_destroy(connector); + return; + } + + ironlake_edp_panel_vdd_on(intel_dp); + edid = drm_get_edid(connector, &intel_dp->adapter); + if (edid) { + if (drm_add_edid_modes(connector, edid)) { + drm_mode_connector_update_edid_property(connector, edid); + drm_edid_to_eld(connector, edid); + } else { + kfree(edid); + edid = ERR_PTR(-EINVAL); + } + } else { + edid = ERR_PTR(-ENOENT); + } + intel_connector->edid = edid; + + /* prefer fixed mode from EDID if available */ + list_for_each_entry(scan, &connector->probed_modes, head) { + if ((scan->type & DRM_MODE_TYPE_PREFERRED)) { + fixed_mode = drm_mode_duplicate(dev, scan); + break; + } + } + + /* fallback to VBT if available for eDP */ + if (!fixed_mode && dev_priv->lfp_lvds_vbt_mode) { + fixed_mode = drm_mode_duplicate(dev, dev_priv->lfp_lvds_vbt_mode); + if (fixed_mode) + fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; + } + + ironlake_edp_panel_vdd_off(intel_dp, false); + } + + if (is_edp(intel_dp)) { + intel_panel_init(&intel_connector->panel, fixed_mode); + intel_panel_setup_backlight(connector); + } + + intel_dp_add_properties(intel_dp, connector); + + /* For G4X desktop chip, PEG_BAND_GAP_DATA 3:0 must first be written + * 0xd. Failure to do so will result in spurious interrupts being + * generated on the port when a cable is not attached. + */ + if (IS_G4X(dev) && !IS_GM45(dev)) { + u32 temp = I915_READ(PEG_BAND_GAP_DATA); + I915_WRITE(PEG_BAND_GAP_DATA, (temp & ~0xf) | 0xd); + } +} + +void +intel_dp_init(struct drm_device *dev, int output_reg, enum port port) +{ + struct intel_digital_port *intel_dig_port; + struct intel_encoder *intel_encoder; + struct drm_encoder *encoder; + struct intel_connector *intel_connector; + + intel_dig_port = kzalloc(sizeof(struct intel_digital_port), GFP_KERNEL); + if (!intel_dig_port) + return; + + intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); + if (!intel_connector) { + kfree(intel_dig_port); + return; + } + + intel_encoder = &intel_dig_port->base; + encoder = &intel_encoder->base; + + drm_encoder_init(dev, &intel_encoder->base, &intel_dp_enc_funcs, + DRM_MODE_ENCODER_TMDS); + drm_encoder_helper_add(&intel_encoder->base, &intel_dp_helper_funcs); + + intel_encoder->enable = intel_enable_dp; + intel_encoder->pre_enable = intel_pre_enable_dp; + intel_encoder->disable = intel_disable_dp; + intel_encoder->post_disable = intel_post_disable_dp; + intel_encoder->get_hw_state = intel_dp_get_hw_state; + + intel_dig_port->port = port; + intel_dig_port->dp.output_reg = output_reg; + + intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT; + intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); + intel_encoder->cloneable = false; + intel_encoder->hot_plug = intel_dp_hot_plug; + + intel_dp_init_connector(intel_dig_port, intel_connector); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_drv.h +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_drv.h @@ -0,0 +1,672 @@ +/* + * Copyright (c) 2006 Dave Airlie + * Copyright (c) 2007-2008 Intel Corporation + * Jesse Barnes + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ +#ifndef __INTEL_DRV_H__ +#define __INTEL_DRV_H__ + +#include +#include "i915_drm.h" +#include "i915_drv.h" +#include "drm_crtc.h" +#include "drm_crtc_helper.h" +#include "drm_fb_helper.h" +#include "drm_dp_helper.h" + +#define _wait_for(COND, MS, W) ({ \ + unsigned long timeout__ = jiffies + msecs_to_jiffies(MS); \ + int ret__ = 0; \ + while (!(COND)) { \ + if (time_after(jiffies, timeout__)) { \ + ret__ = -ETIMEDOUT; \ + break; \ + } \ + if (W && drm_can_sleep()) { \ + msleep(W); \ + } else { \ + cpu_relax(); \ + } \ + } \ + ret__; \ +}) + +#define wait_for_atomic_us(COND, US) ({ \ + unsigned long timeout__ = jiffies + usecs_to_jiffies(US); \ + int ret__ = 0; \ + while (!(COND)) { \ + if (time_after(jiffies, timeout__)) { \ + ret__ = -ETIMEDOUT; \ + break; \ + } \ + cpu_relax(); \ + } \ + ret__; \ +}) + +#define wait_for(COND, MS) _wait_for(COND, MS, 1) +#define wait_for_atomic(COND, MS) _wait_for(COND, MS, 0) + +#define KHz(x) (1000*x) +#define MHz(x) KHz(1000*x) + +/* + * Display related stuff + */ + +/* store information about an Ixxx DVO */ +/* The i830->i865 use multiple DVOs with multiple i2cs */ +/* the i915, i945 have a single sDVO i2c bus - which is different */ +#define MAX_OUTPUTS 6 +/* maximum connectors per crtcs in the mode set */ +#define INTELFB_CONN_LIMIT 4 + +#define INTEL_I2C_BUS_DVO 1 +#define INTEL_I2C_BUS_SDVO 2 + +/* these are outputs from the chip - integrated only + external chips are via DVO or SDVO output */ +#define INTEL_OUTPUT_UNUSED 0 +#define INTEL_OUTPUT_ANALOG 1 +#define INTEL_OUTPUT_DVO 2 +#define INTEL_OUTPUT_SDVO 3 +#define INTEL_OUTPUT_LVDS 4 +#define INTEL_OUTPUT_TVOUT 5 +#define INTEL_OUTPUT_HDMI 6 +#define INTEL_OUTPUT_DISPLAYPORT 7 +#define INTEL_OUTPUT_EDP 8 +#define INTEL_OUTPUT_UNKNOWN 9 + +#define INTEL_DVO_CHIP_NONE 0 +#define INTEL_DVO_CHIP_LVDS 1 +#define INTEL_DVO_CHIP_TMDS 2 +#define INTEL_DVO_CHIP_TVOUT 4 + +/* drm_display_mode->private_flags */ +#define INTEL_MODE_PIXEL_MULTIPLIER_SHIFT (0x0) +#define INTEL_MODE_PIXEL_MULTIPLIER_MASK (0xf << INTEL_MODE_PIXEL_MULTIPLIER_SHIFT) +#define INTEL_MODE_DP_FORCE_6BPC (0x10) +/* This flag must be set by the encoder's mode_fixup if it changes the crtc + * timings in the mode to prevent the crtc fixup from overwriting them. + * Currently only lvds needs that. */ +#define INTEL_MODE_CRTC_TIMINGS_SET (0x20) + +static inline void +intel_mode_set_pixel_multiplier(struct drm_display_mode *mode, + int multiplier) +{ + mode->clock *= multiplier; + mode->private_flags |= multiplier; +} + +static inline int +intel_mode_get_pixel_multiplier(const struct drm_display_mode *mode) +{ + return (mode->private_flags & INTEL_MODE_PIXEL_MULTIPLIER_MASK) >> INTEL_MODE_PIXEL_MULTIPLIER_SHIFT; +} + +struct intel_framebuffer { + struct drm_framebuffer base; + struct drm_i915_gem_object *obj; +}; + +struct intel_fbdev { + struct drm_fb_helper helper; + struct intel_framebuffer ifb; + struct list_head fbdev_list; + struct drm_display_mode *our_mode; +}; + +struct intel_encoder { + struct drm_encoder base; + /* + * The new crtc this encoder will be driven from. Only differs from + * base->crtc while a modeset is in progress. + */ + struct intel_crtc *new_crtc; + + int type; + bool needs_tv_clock; + /* + * Intel hw has only one MUX where encoders could be clone, hence a + * simple flag is enough to compute the possible_clones mask. + */ + bool cloneable; + bool connectors_active; + void (*hot_plug)(struct intel_encoder *); + void (*pre_enable)(struct intel_encoder *); + void (*enable)(struct intel_encoder *); + void (*disable)(struct intel_encoder *); + void (*post_disable)(struct intel_encoder *); + /* Read out the current hw state of this connector, returning true if + * the encoder is active. If the encoder is enabled it also set the pipe + * it is connected to in the pipe parameter. */ + bool (*get_hw_state)(struct intel_encoder *, enum pipe *pipe); + int crtc_mask; +}; + +struct intel_panel { + struct drm_display_mode *fixed_mode; + int fitting_mode; +}; + +struct intel_connector { + struct drm_connector base; + /* + * The fixed encoder this connector is connected to. + */ + struct intel_encoder *encoder; + + /* + * The new encoder this connector will be driven. Only differs from + * encoder while a modeset is in progress. + */ + struct intel_encoder *new_encoder; + + /* Reads out the current hw, returning true if the connector is enabled + * and active (i.e. dpms ON state). */ + bool (*get_hw_state)(struct intel_connector *); + + /* Panel info for eDP and LVDS */ + struct intel_panel panel; + + /* Cached EDID for eDP and LVDS. May hold ERR_PTR for invalid EDID. */ + struct edid *edid; +}; + +struct intel_crtc { + struct drm_crtc base; + enum pipe pipe; + enum plane plane; + enum transcoder cpu_transcoder; + u8 lut_r[256], lut_g[256], lut_b[256]; + /* + * Whether the crtc and the connected output pipeline is active. Implies + * that crtc->enabled is set, i.e. the current mode configuration has + * some outputs connected to this crtc. + */ + bool active; + bool primary_disabled; /* is the crtc obscured by a plane? */ + bool lowfreq_avail; + struct intel_overlay *overlay; + struct intel_unpin_work *unpin_work; + int fdi_lanes; + + atomic_t unpin_work_count; + + /* Display surface base address adjustement for pageflips. Note that on + * gen4+ this only adjusts up to a tile, offsets within a tile are + * handled in the hw itself (with the TILEOFF register). */ + unsigned long dspaddr_offset; + + struct drm_i915_gem_object *cursor_bo; + uint32_t cursor_addr; + int16_t cursor_x, cursor_y; + int16_t cursor_width, cursor_height; + bool cursor_visible; + unsigned int bpp; + + /* We can share PLLs across outputs if the timings match */ + struct intel_pch_pll *pch_pll; + uint32_t ddi_pll_sel; +}; + +struct intel_plane { + struct drm_plane base; + enum pipe pipe; + struct drm_i915_gem_object *obj; + bool can_scale; + int max_downscale; + u32 lut_r[1024], lut_g[1024], lut_b[1024]; + void (*update_plane)(struct drm_plane *plane, + struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj, + int crtc_x, int crtc_y, + unsigned int crtc_w, unsigned int crtc_h, + uint32_t x, uint32_t y, + uint32_t src_w, uint32_t src_h); + void (*disable_plane)(struct drm_plane *plane); + int (*update_colorkey)(struct drm_plane *plane, + struct drm_intel_sprite_colorkey *key); + void (*get_colorkey)(struct drm_plane *plane, + struct drm_intel_sprite_colorkey *key); +}; + +struct intel_watermark_params { + unsigned long fifo_size; + unsigned long max_wm; + unsigned long default_wm; + unsigned long guard_size; + unsigned long cacheline_size; +}; + +struct cxsr_latency { + int is_desktop; + int is_ddr3; + unsigned long fsb_freq; + unsigned long mem_freq; + unsigned long display_sr; + unsigned long display_hpll_disable; + unsigned long cursor_sr; + unsigned long cursor_hpll_disable; +}; + +#define to_intel_crtc(x) container_of(x, struct intel_crtc, base) +#define to_intel_connector(x) container_of(x, struct intel_connector, base) +#define to_intel_encoder(x) container_of(x, struct intel_encoder, base) +#define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) +#define to_intel_plane(x) container_of(x, struct intel_plane, base) + +#define DIP_HEADER_SIZE 5 + +#define DIP_TYPE_AVI 0x82 +#define DIP_VERSION_AVI 0x2 +#define DIP_LEN_AVI 13 +#define DIP_AVI_PR_1 0 +#define DIP_AVI_PR_2 1 + +#define DIP_TYPE_SPD 0x83 +#define DIP_VERSION_SPD 0x1 +#define DIP_LEN_SPD 25 +#define DIP_SPD_UNKNOWN 0 +#define DIP_SPD_DSTB 0x1 +#define DIP_SPD_DVDP 0x2 +#define DIP_SPD_DVHS 0x3 +#define DIP_SPD_HDDVR 0x4 +#define DIP_SPD_DVC 0x5 +#define DIP_SPD_DSC 0x6 +#define DIP_SPD_VCD 0x7 +#define DIP_SPD_GAME 0x8 +#define DIP_SPD_PC 0x9 +#define DIP_SPD_BD 0xa +#define DIP_SPD_SCD 0xb + +struct dip_infoframe { + uint8_t type; /* HB0 */ + uint8_t ver; /* HB1 */ + uint8_t len; /* HB2 - body len, not including checksum */ + uint8_t ecc; /* Header ECC */ + uint8_t checksum; /* PB0 */ + union { + struct { + /* PB1 - Y 6:5, A 4:4, B 3:2, S 1:0 */ + uint8_t Y_A_B_S; + /* PB2 - C 7:6, M 5:4, R 3:0 */ + uint8_t C_M_R; + /* PB3 - ITC 7:7, EC 6:4, Q 3:2, SC 1:0 */ + uint8_t ITC_EC_Q_SC; + /* PB4 - VIC 6:0 */ + uint8_t VIC; + /* PB5 - YQ 7:6, CN 5:4, PR 3:0 */ + uint8_t YQ_CN_PR; + /* PB6 to PB13 */ + uint16_t top_bar_end; + uint16_t bottom_bar_start; + uint16_t left_bar_end; + uint16_t right_bar_start; + } __attribute__ ((packed)) avi; + struct { + uint8_t vn[8]; + uint8_t pd[16]; + uint8_t sdi; + } __attribute__ ((packed)) spd; + uint8_t payload[27]; + } __attribute__ ((packed)) body; +} __attribute__((packed)); + +struct intel_hdmi { + u32 sdvox_reg; + int ddc_bus; + uint32_t color_range; + bool has_hdmi_sink; + bool has_audio; + enum hdmi_force_audio force_audio; + void (*write_infoframe)(struct drm_encoder *encoder, + struct dip_infoframe *frame); + void (*set_infoframes)(struct drm_encoder *encoder, + struct drm_display_mode *adjusted_mode); +}; + +#define DP_MAX_DOWNSTREAM_PORTS 0x10 +#define DP_LINK_CONFIGURATION_SIZE 9 + +struct intel_dp { + uint32_t output_reg; + uint32_t DP; + uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]; + bool has_audio; + enum hdmi_force_audio force_audio; + uint32_t color_range; + uint8_t link_bw; + uint8_t lane_count; + uint8_t dpcd[DP_RECEIVER_CAP_SIZE]; + uint8_t downstream_ports[DP_MAX_DOWNSTREAM_PORTS]; + struct i2c_adapter adapter; + struct i2c_algo_dp_aux_data algo; + bool is_pch_edp; + uint8_t train_set[4]; + int panel_power_up_delay; + int panel_power_down_delay; + int panel_power_cycle_delay; + int backlight_on_delay; + int backlight_off_delay; + struct delayed_work panel_vdd_work; + bool want_panel_vdd; + struct intel_connector *attached_connector; +}; + +struct intel_digital_port { + struct intel_encoder base; + enum port port; + struct intel_dp dp; + struct intel_hdmi hdmi; +}; + +static inline struct drm_crtc * +intel_get_crtc_for_pipe(struct drm_device *dev, int pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + return dev_priv->pipe_to_crtc_mapping[pipe]; +} + +static inline struct drm_crtc * +intel_get_crtc_for_plane(struct drm_device *dev, int plane) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + return dev_priv->plane_to_crtc_mapping[plane]; +} + +struct intel_unpin_work { + struct work_struct work; + struct drm_crtc *crtc; + struct drm_i915_gem_object *old_fb_obj; + struct drm_i915_gem_object *pending_flip_obj; + struct drm_pending_vblank_event *event; + int pending; + bool enable_stall_check; +}; + +struct intel_fbc_work { + struct delayed_work work; + struct drm_crtc *crtc; + struct drm_framebuffer *fb; + int interval; +}; + +int intel_pch_rawclk(struct drm_device *dev); + +int intel_connector_update_modes(struct drm_connector *connector, + struct edid *edid); +int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter); + +extern void intel_attach_force_audio_property(struct drm_connector *connector); +extern void intel_attach_broadcast_rgb_property(struct drm_connector *connector); + +extern void intel_crt_init(struct drm_device *dev); +extern void intel_hdmi_init(struct drm_device *dev, + int sdvox_reg, enum port port); +extern void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, + struct intel_connector *intel_connector); +extern struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder); +extern bool intel_hdmi_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode); +extern void intel_dip_infoframe_csum(struct dip_infoframe *avi_if); +extern bool intel_sdvo_init(struct drm_device *dev, uint32_t sdvo_reg, + bool is_sdvob); +extern void intel_dvo_init(struct drm_device *dev); +extern void intel_tv_init(struct drm_device *dev); +extern void intel_mark_busy(struct drm_device *dev); +extern void intel_mark_idle(struct drm_device *dev); +extern void intel_mark_fb_busy(struct drm_i915_gem_object *obj); +extern void intel_mark_fb_idle(struct drm_i915_gem_object *obj); +extern bool intel_lvds_init(struct drm_device *dev); +extern void intel_dp_init(struct drm_device *dev, int output_reg, + enum port port); +extern void intel_dp_init_connector(struct intel_digital_port *intel_dig_port, + struct intel_connector *intel_connector); +void +intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode); +extern void intel_dp_init_link_config(struct intel_dp *intel_dp); +extern void intel_dp_start_link_train(struct intel_dp *intel_dp); +extern void intel_dp_complete_link_train(struct intel_dp *intel_dp); +extern void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode); +extern void intel_dp_encoder_destroy(struct drm_encoder *encoder); +extern void intel_dp_check_link_status(struct intel_dp *intel_dp); +extern bool intel_dp_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode); +extern bool intel_dpd_is_edp(struct drm_device *dev); +extern void ironlake_edp_backlight_on(struct intel_dp *intel_dp); +extern void ironlake_edp_backlight_off(struct intel_dp *intel_dp); +extern void ironlake_edp_panel_on(struct intel_dp *intel_dp); +extern void ironlake_edp_panel_off(struct intel_dp *intel_dp); +extern void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp); +extern void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync); +extern void intel_edp_link_config(struct intel_encoder *, int *, int *); +extern int intel_edp_target_clock(struct intel_encoder *, + struct drm_display_mode *mode); +extern bool intel_encoder_is_pch_edp(struct drm_encoder *encoder); +extern int intel_plane_init(struct drm_device *dev, enum pipe pipe); +extern void intel_flush_display_plane(struct drm_i915_private *dev_priv, + enum plane plane); + +/* intel_panel.c */ +extern int intel_panel_init(struct intel_panel *panel, + struct drm_display_mode *fixed_mode); +extern void intel_panel_fini(struct intel_panel *panel); + +extern void intel_fixed_panel_mode(struct drm_display_mode *fixed_mode, + struct drm_display_mode *adjusted_mode); +extern void intel_pch_panel_fitting(struct drm_device *dev, + int fitting_mode, + const struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode); +extern u32 intel_panel_get_max_backlight(struct drm_device *dev); +extern void intel_panel_set_backlight(struct drm_device *dev, u32 level); +extern int intel_panel_setup_backlight(struct drm_connector *connector); +extern void intel_panel_enable_backlight(struct drm_device *dev, + enum pipe pipe); +extern void intel_panel_disable_backlight(struct drm_device *dev); +extern void intel_panel_destroy_backlight(struct drm_device *dev); +extern enum drm_connector_status intel_panel_detect(struct drm_device *dev); + +struct intel_set_config { + struct drm_encoder **save_connector_encoders; + struct drm_crtc **save_encoder_crtcs; + + bool fb_changed; + bool mode_changed; +}; + +extern bool intel_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode, + int x, int y, struct drm_framebuffer *old_fb); +extern void intel_modeset_disable(struct drm_device *dev); +extern void intel_crtc_load_lut(struct drm_crtc *crtc); +extern void intel_crtc_update_dpms(struct drm_crtc *crtc); +extern void intel_encoder_noop(struct drm_encoder *encoder); +extern void intel_encoder_destroy(struct drm_encoder *encoder); +extern void intel_encoder_dpms(struct intel_encoder *encoder, int mode); +extern bool intel_encoder_check_is_cloned(struct intel_encoder *encoder); +extern void intel_connector_dpms(struct drm_connector *, int mode); +extern bool intel_connector_get_hw_state(struct intel_connector *connector); +extern void intel_modeset_check_state(struct drm_device *dev); + + +static inline struct intel_encoder *intel_attached_encoder(struct drm_connector *connector) +{ + return to_intel_connector(connector)->encoder; +} + +static inline struct intel_dp *enc_to_intel_dp(struct drm_encoder *encoder) +{ + struct intel_digital_port *intel_dig_port = + container_of(encoder, struct intel_digital_port, base.base); + return &intel_dig_port->dp; +} + +static inline struct intel_digital_port * +enc_to_dig_port(struct drm_encoder *encoder) +{ + return container_of(encoder, struct intel_digital_port, base.base); +} + +static inline struct intel_digital_port * +dp_to_dig_port(struct intel_dp *intel_dp) +{ + return container_of(intel_dp, struct intel_digital_port, dp); +} + +static inline struct intel_digital_port * +hdmi_to_dig_port(struct intel_hdmi *intel_hdmi) +{ + return container_of(intel_hdmi, struct intel_digital_port, hdmi); +} + +extern void intel_connector_attach_encoder(struct intel_connector *connector, + struct intel_encoder *encoder); +extern struct drm_encoder *intel_best_encoder(struct drm_connector *connector); + +extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, + struct drm_crtc *crtc); +int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern enum transcoder +intel_pipe_to_cpu_transcoder(struct drm_i915_private *dev_priv, + enum pipe pipe); +extern void intel_wait_for_vblank(struct drm_device *dev, int pipe); +extern void intel_wait_for_pipe_off(struct drm_device *dev, int pipe); +extern int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp); + +struct intel_load_detect_pipe { + struct drm_framebuffer *release_fb; + bool load_detect_temp; + int dpms_mode; +}; +extern bool intel_get_load_detect_pipe(struct drm_connector *connector, + struct drm_display_mode *mode, + struct intel_load_detect_pipe *old); +extern void intel_release_load_detect_pipe(struct drm_connector *connector, + struct intel_load_detect_pipe *old); + +extern void intelfb_restore(void); +extern void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, + u16 blue, int regno); +extern void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, + u16 *blue, int regno); +extern void intel_enable_clock_gating(struct drm_device *dev); + +extern int intel_pin_and_fence_fb_obj(struct drm_device *dev, + struct drm_i915_gem_object *obj, + struct intel_ring_buffer *pipelined); +extern void intel_unpin_fb_obj(struct drm_i915_gem_object *obj); + +extern int intel_framebuffer_init(struct drm_device *dev, + struct intel_framebuffer *ifb, + struct drm_mode_fb_cmd2 *mode_cmd, + struct drm_i915_gem_object *obj); +extern int intel_fbdev_init(struct drm_device *dev); +extern void intel_fbdev_fini(struct drm_device *dev); +extern void intel_fbdev_set_suspend(struct drm_device *dev, int state); +extern void intel_prepare_page_flip(struct drm_device *dev, int plane); +extern void intel_finish_page_flip(struct drm_device *dev, int pipe); +extern void intel_finish_page_flip_plane(struct drm_device *dev, int plane); + +extern void intel_setup_overlay(struct drm_device *dev); +extern void intel_cleanup_overlay(struct drm_device *dev); +extern int intel_overlay_switch_off(struct intel_overlay *overlay); +extern int intel_overlay_put_image(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int intel_overlay_attrs(struct drm_device *dev, void *data, + struct drm_file *file_priv); + +extern void intel_fb_output_poll_changed(struct drm_device *dev); +extern void intel_fb_restore_mode(struct drm_device *dev); + +extern void assert_pipe(struct drm_i915_private *dev_priv, enum pipe pipe, + bool state); +#define assert_pipe_enabled(d, p) assert_pipe(d, p, true) +#define assert_pipe_disabled(d, p) assert_pipe(d, p, false) + +extern void intel_init_clock_gating(struct drm_device *dev); +extern void intel_write_eld(struct drm_encoder *encoder, + struct drm_display_mode *mode); +extern void intel_cpt_verify_modeset(struct drm_device *dev, int pipe); +extern void intel_prepare_ddi(struct drm_device *dev); +extern void hsw_fdi_link_train(struct drm_crtc *crtc); +extern void intel_ddi_init(struct drm_device *dev, enum port port); + +/* For use by IVB LP watermark workaround in intel_sprite.c */ +extern void intel_update_watermarks(struct drm_device *dev); +extern void intel_update_sprite_watermarks(struct drm_device *dev, int pipe, + uint32_t sprite_width, + int pixel_size); +extern void intel_update_linetime_watermarks(struct drm_device *dev, int pipe, + struct drm_display_mode *mode); + +extern unsigned long intel_gen4_compute_offset_xtiled(int *x, int *y, + unsigned int bpp, + unsigned int pitch); + +extern int intel_sprite_set_colorkey(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int intel_sprite_get_colorkey(struct drm_device *dev, void *data, + struct drm_file *file_priv); + +extern u32 intel_dpio_read(struct drm_i915_private *dev_priv, int reg); + +/* Power-related functions, located in intel_pm.c */ +extern void intel_init_pm(struct drm_device *dev); +/* FBC */ +extern bool intel_fbc_enabled(struct drm_device *dev); +extern void intel_enable_fbc(struct drm_crtc *crtc, unsigned long interval); +extern void intel_update_fbc(struct drm_device *dev); +/* IPS */ +extern void intel_gpu_ips_init(struct drm_i915_private *dev_priv); +extern void intel_gpu_ips_teardown(void); + +extern void intel_init_power_wells(struct drm_device *dev); +extern void intel_enable_gt_powersave(struct drm_device *dev); +extern void intel_disable_gt_powersave(struct drm_device *dev); +extern void gen6_gt_check_fifodbg(struct drm_i915_private *dev_priv); +extern void ironlake_teardown_rc6(struct drm_device *dev); + +extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe); +extern int intel_ddi_get_cdclk_freq(struct drm_i915_private *dev_priv); +extern void intel_ddi_pll_init(struct drm_device *dev); +extern void intel_ddi_enable_pipe_func(struct drm_crtc *crtc); +extern void intel_ddi_disable_transcoder_func(struct drm_i915_private *dev_priv, + enum transcoder cpu_transcoder); +extern void intel_ddi_enable_pipe_clock(struct intel_crtc *intel_crtc); +extern void intel_ddi_disable_pipe_clock(struct intel_crtc *intel_crtc); +extern void intel_ddi_setup_hw_pll_state(struct drm_device *dev); +extern bool intel_ddi_pll_mode_set(struct drm_crtc *crtc, int clock); +extern void intel_ddi_put_crtc_pll(struct drm_crtc *crtc); +extern void intel_ddi_set_pipe_settings(struct drm_crtc *crtc); +extern void intel_ddi_prepare_link_retrain(struct drm_encoder *encoder); +extern bool +intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector); +extern void intel_ddi_fdi_disable(struct drm_crtc *crtc); + +#endif /* __INTEL_DRV_H__ */ --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_dvo.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_dvo.c @@ -0,0 +1,524 @@ +/* + * Copyright 2006 Dave Airlie + * Copyright © 2006-2007 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + */ +#include +#include +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "dvo.h" + +#define SIL164_ADDR 0x38 +#define CH7xxx_ADDR 0x76 +#define TFP410_ADDR 0x38 +#define NS2501_ADDR 0x38 + +static const struct intel_dvo_device intel_dvo_devices[] = { + { + .type = INTEL_DVO_CHIP_TMDS, + .name = "sil164", + .dvo_reg = DVOC, + .slave_addr = SIL164_ADDR, + .dev_ops = &sil164_ops, + }, + { + .type = INTEL_DVO_CHIP_TMDS, + .name = "ch7xxx", + .dvo_reg = DVOC, + .slave_addr = CH7xxx_ADDR, + .dev_ops = &ch7xxx_ops, + }, + { + .type = INTEL_DVO_CHIP_LVDS, + .name = "ivch", + .dvo_reg = DVOA, + .slave_addr = 0x02, /* Might also be 0x44, 0x84, 0xc4 */ + .dev_ops = &ivch_ops, + }, + { + .type = INTEL_DVO_CHIP_TMDS, + .name = "tfp410", + .dvo_reg = DVOC, + .slave_addr = TFP410_ADDR, + .dev_ops = &tfp410_ops, + }, + { + .type = INTEL_DVO_CHIP_LVDS, + .name = "ch7017", + .dvo_reg = DVOC, + .slave_addr = 0x75, + .gpio = GMBUS_PORT_DPB, + .dev_ops = &ch7017_ops, + }, + { + .type = INTEL_DVO_CHIP_TMDS, + .name = "ns2501", + .dvo_reg = DVOC, + .slave_addr = NS2501_ADDR, + .dev_ops = &ns2501_ops, + } +}; + +struct intel_dvo { + struct intel_encoder base; + + struct intel_dvo_device dev; + + struct drm_display_mode *panel_fixed_mode; + bool panel_wants_dither; +}; + +static struct intel_dvo *enc_to_intel_dvo(struct drm_encoder *encoder) +{ + return container_of(encoder, struct intel_dvo, base.base); +} + +static struct intel_dvo *intel_attached_dvo(struct drm_connector *connector) +{ + return container_of(intel_attached_encoder(connector), + struct intel_dvo, base); +} + +static bool intel_dvo_connector_get_hw_state(struct intel_connector *connector) +{ + struct intel_dvo *intel_dvo = intel_attached_dvo(&connector->base); + + return intel_dvo->dev.dev_ops->get_hw_state(&intel_dvo->dev); +} + +static bool intel_dvo_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_dvo *intel_dvo = enc_to_intel_dvo(&encoder->base); + u32 tmp; + + tmp = I915_READ(intel_dvo->dev.dvo_reg); + + if (!(tmp & DVO_ENABLE)) + return false; + + *pipe = PORT_TO_PIPE(tmp); + + return true; +} + +static void intel_disable_dvo(struct intel_encoder *encoder) +{ + struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; + struct intel_dvo *intel_dvo = enc_to_intel_dvo(&encoder->base); + u32 dvo_reg = intel_dvo->dev.dvo_reg; + u32 temp = I915_READ(dvo_reg); + + intel_dvo->dev.dev_ops->dpms(&intel_dvo->dev, false); + I915_WRITE(dvo_reg, temp & ~DVO_ENABLE); + I915_READ(dvo_reg); +} + +static void intel_enable_dvo(struct intel_encoder *encoder) +{ + struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; + struct intel_dvo *intel_dvo = enc_to_intel_dvo(&encoder->base); + u32 dvo_reg = intel_dvo->dev.dvo_reg; + u32 temp = I915_READ(dvo_reg); + + I915_WRITE(dvo_reg, temp | DVO_ENABLE); + I915_READ(dvo_reg); + intel_dvo->dev.dev_ops->dpms(&intel_dvo->dev, true); +} + +static void intel_dvo_dpms(struct drm_connector *connector, int mode) +{ + struct intel_dvo *intel_dvo = intel_attached_dvo(connector); + struct drm_crtc *crtc; + + /* dvo supports only 2 dpms states. */ + if (mode != DRM_MODE_DPMS_ON) + mode = DRM_MODE_DPMS_OFF; + + if (mode == connector->dpms) + return; + + connector->dpms = mode; + + /* Only need to change hw state when actually enabled */ + crtc = intel_dvo->base.base.crtc; + if (!crtc) { + intel_dvo->base.connectors_active = false; + return; + } + + if (mode == DRM_MODE_DPMS_ON) { + intel_dvo->base.connectors_active = true; + + intel_crtc_update_dpms(crtc); + + intel_dvo->dev.dev_ops->dpms(&intel_dvo->dev, true); + } else { + intel_dvo->dev.dev_ops->dpms(&intel_dvo->dev, false); + + intel_dvo->base.connectors_active = false; + + intel_crtc_update_dpms(crtc); + } + + intel_modeset_check_state(connector->dev); +} + +static int intel_dvo_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct intel_dvo *intel_dvo = intel_attached_dvo(connector); + + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + return MODE_NO_DBLESCAN; + + /* XXX: Validate clock range */ + + if (intel_dvo->panel_fixed_mode) { + if (mode->hdisplay > intel_dvo->panel_fixed_mode->hdisplay) + return MODE_PANEL; + if (mode->vdisplay > intel_dvo->panel_fixed_mode->vdisplay) + return MODE_PANEL; + } + + return intel_dvo->dev.dev_ops->mode_valid(&intel_dvo->dev, mode); +} + +static bool intel_dvo_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct intel_dvo *intel_dvo = enc_to_intel_dvo(encoder); + + /* If we have timings from the BIOS for the panel, put them in + * to the adjusted mode. The CRTC will be set up for this mode, + * with the panel scaling set up to source from the H/VDisplay + * of the original mode. + */ + if (intel_dvo->panel_fixed_mode != NULL) { +#define C(x) adjusted_mode->x = intel_dvo->panel_fixed_mode->x + C(hdisplay); + C(hsync_start); + C(hsync_end); + C(htotal); + C(vdisplay); + C(vsync_start); + C(vsync_end); + C(vtotal); + C(clock); +#undef C + } + + if (intel_dvo->dev.dev_ops->mode_fixup) + return intel_dvo->dev.dev_ops->mode_fixup(&intel_dvo->dev, mode, adjusted_mode); + + return true; +} + +static void intel_dvo_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + struct intel_dvo *intel_dvo = enc_to_intel_dvo(encoder); + int pipe = intel_crtc->pipe; + u32 dvo_val; + u32 dvo_reg = intel_dvo->dev.dvo_reg, dvo_srcdim_reg; + int dpll_reg = DPLL(pipe); + + switch (dvo_reg) { + case DVOA: + default: + dvo_srcdim_reg = DVOA_SRCDIM; + break; + case DVOB: + dvo_srcdim_reg = DVOB_SRCDIM; + break; + case DVOC: + dvo_srcdim_reg = DVOC_SRCDIM; + break; + } + + intel_dvo->dev.dev_ops->mode_set(&intel_dvo->dev, mode, adjusted_mode); + + /* Save the data order, since I don't know what it should be set to. */ + dvo_val = I915_READ(dvo_reg) & + (DVO_PRESERVE_MASK | DVO_DATA_ORDER_GBRG); + dvo_val |= DVO_DATA_ORDER_FP | DVO_BORDER_ENABLE | + DVO_BLANK_ACTIVE_HIGH; + + if (pipe == 1) + dvo_val |= DVO_PIPE_B_SELECT; + dvo_val |= DVO_PIPE_STALL; + if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) + dvo_val |= DVO_HSYNC_ACTIVE_HIGH; + if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) + dvo_val |= DVO_VSYNC_ACTIVE_HIGH; + + I915_WRITE(dpll_reg, I915_READ(dpll_reg) | DPLL_DVO_HIGH_SPEED); + + /*I915_WRITE(DVOB_SRCDIM, + (adjusted_mode->hdisplay << DVO_SRCDIM_HORIZONTAL_SHIFT) | + (adjusted_mode->VDisplay << DVO_SRCDIM_VERTICAL_SHIFT));*/ + I915_WRITE(dvo_srcdim_reg, + (adjusted_mode->hdisplay << DVO_SRCDIM_HORIZONTAL_SHIFT) | + (adjusted_mode->vdisplay << DVO_SRCDIM_VERTICAL_SHIFT)); + /*I915_WRITE(DVOB, dvo_val);*/ + I915_WRITE(dvo_reg, dvo_val); +} + +/** + * Detect the output connection on our DVO device. + * + * Unimplemented. + */ +static enum drm_connector_status +intel_dvo_detect(struct drm_connector *connector, bool force) +{ + struct intel_dvo *intel_dvo = intel_attached_dvo(connector); + return intel_dvo->dev.dev_ops->detect(&intel_dvo->dev); +} + +static int intel_dvo_get_modes(struct drm_connector *connector) +{ + struct intel_dvo *intel_dvo = intel_attached_dvo(connector); + struct drm_i915_private *dev_priv = connector->dev->dev_private; + + /* We should probably have an i2c driver get_modes function for those + * devices which will have a fixed set of modes determined by the chip + * (TV-out, for example), but for now with just TMDS and LVDS, + * that's not the case. + */ + intel_ddc_get_modes(connector, + intel_gmbus_get_adapter(dev_priv, GMBUS_PORT_DPC)); + if (!list_empty(&connector->probed_modes)) + return 1; + + if (intel_dvo->panel_fixed_mode != NULL) { + struct drm_display_mode *mode; + mode = drm_mode_duplicate(connector->dev, intel_dvo->panel_fixed_mode); + if (mode) { + drm_mode_probed_add(connector, mode); + return 1; + } + } + + return 0; +} + +static void intel_dvo_destroy(struct drm_connector *connector) +{ + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(connector); +} + +static const struct drm_encoder_helper_funcs intel_dvo_helper_funcs = { + .mode_fixup = intel_dvo_mode_fixup, + .mode_set = intel_dvo_mode_set, + .disable = intel_encoder_noop, +}; + +static const struct drm_connector_funcs intel_dvo_connector_funcs = { + .dpms = intel_dvo_dpms, + .detect = intel_dvo_detect, + .destroy = intel_dvo_destroy, + .fill_modes = drm_helper_probe_single_connector_modes, +}; + +static const struct drm_connector_helper_funcs intel_dvo_connector_helper_funcs = { + .mode_valid = intel_dvo_mode_valid, + .get_modes = intel_dvo_get_modes, + .best_encoder = intel_best_encoder, +}; + +static void intel_dvo_enc_destroy(struct drm_encoder *encoder) +{ + struct intel_dvo *intel_dvo = enc_to_intel_dvo(encoder); + + if (intel_dvo->dev.dev_ops->destroy) + intel_dvo->dev.dev_ops->destroy(&intel_dvo->dev); + + kfree(intel_dvo->panel_fixed_mode); + + intel_encoder_destroy(encoder); +} + +static const struct drm_encoder_funcs intel_dvo_enc_funcs = { + .destroy = intel_dvo_enc_destroy, +}; + +/** + * Attempts to get a fixed panel timing for LVDS (currently only the i830). + * + * Other chips with DVO LVDS will need to extend this to deal with the LVDS + * chip being on DVOB/C and having multiple pipes. + */ +static struct drm_display_mode * +intel_dvo_get_current_mode(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_dvo *intel_dvo = intel_attached_dvo(connector); + uint32_t dvo_val = I915_READ(intel_dvo->dev.dvo_reg); + struct drm_display_mode *mode = NULL; + + /* If the DVO port is active, that'll be the LVDS, so we can pull out + * its timings to get how the BIOS set up the panel. + */ + if (dvo_val & DVO_ENABLE) { + struct drm_crtc *crtc; + int pipe = (dvo_val & DVO_PIPE_B_SELECT) ? 1 : 0; + + crtc = intel_get_crtc_for_pipe(dev, pipe); + if (crtc) { + mode = intel_crtc_mode_get(dev, crtc); + if (mode) { + mode->type |= DRM_MODE_TYPE_PREFERRED; + if (dvo_val & DVO_HSYNC_ACTIVE_HIGH) + mode->flags |= DRM_MODE_FLAG_PHSYNC; + if (dvo_val & DVO_VSYNC_ACTIVE_HIGH) + mode->flags |= DRM_MODE_FLAG_PVSYNC; + } + } + } + + return mode; +} + +void intel_dvo_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *intel_encoder; + struct intel_dvo *intel_dvo; + struct intel_connector *intel_connector; + int i; + int encoder_type = DRM_MODE_ENCODER_NONE; + + intel_dvo = kzalloc(sizeof(struct intel_dvo), GFP_KERNEL); + if (!intel_dvo) + return; + + intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); + if (!intel_connector) { + kfree(intel_dvo); + return; + } + + intel_encoder = &intel_dvo->base; + drm_encoder_init(dev, &intel_encoder->base, + &intel_dvo_enc_funcs, encoder_type); + + intel_encoder->disable = intel_disable_dvo; + intel_encoder->enable = intel_enable_dvo; + intel_encoder->get_hw_state = intel_dvo_get_hw_state; + intel_connector->get_hw_state = intel_dvo_connector_get_hw_state; + + /* Now, try to find a controller */ + for (i = 0; i < ARRAY_SIZE(intel_dvo_devices); i++) { + struct drm_connector *connector = &intel_connector->base; + const struct intel_dvo_device *dvo = &intel_dvo_devices[i]; + struct i2c_adapter *i2c; + int gpio; + + /* Allow the I2C driver info to specify the GPIO to be used in + * special cases, but otherwise default to what's defined + * in the spec. + */ + if (intel_gmbus_is_port_valid(dvo->gpio)) + gpio = dvo->gpio; + else if (dvo->type == INTEL_DVO_CHIP_LVDS) + gpio = GMBUS_PORT_SSC; + else + gpio = GMBUS_PORT_DPB; + + /* Set up the I2C bus necessary for the chip we're probing. + * It appears that everything is on GPIOE except for panels + * on i830 laptops, which are on GPIOB (DVOA). + */ + i2c = intel_gmbus_get_adapter(dev_priv, gpio); + + intel_dvo->dev = *dvo; + if (!dvo->dev_ops->init(&intel_dvo->dev, i2c)) + continue; + + intel_encoder->type = INTEL_OUTPUT_DVO; + intel_encoder->crtc_mask = (1 << 0) | (1 << 1); + switch (dvo->type) { + case INTEL_DVO_CHIP_TMDS: + intel_encoder->cloneable = true; + drm_connector_init(dev, connector, + &intel_dvo_connector_funcs, + DRM_MODE_CONNECTOR_DVII); + encoder_type = DRM_MODE_ENCODER_TMDS; + break; + case INTEL_DVO_CHIP_LVDS: + intel_encoder->cloneable = false; + drm_connector_init(dev, connector, + &intel_dvo_connector_funcs, + DRM_MODE_CONNECTOR_LVDS); + encoder_type = DRM_MODE_ENCODER_LVDS; + break; + } + + drm_connector_helper_add(connector, + &intel_dvo_connector_helper_funcs); + connector->display_info.subpixel_order = SubPixelHorizontalRGB; + connector->interlace_allowed = false; + connector->doublescan_allowed = false; + + drm_encoder_helper_add(&intel_encoder->base, + &intel_dvo_helper_funcs); + + intel_connector_attach_encoder(intel_connector, intel_encoder); + if (dvo->type == INTEL_DVO_CHIP_LVDS) { + /* For our LVDS chipsets, we should hopefully be able + * to dig the fixed panel mode out of the BIOS data. + * However, it's in a different format from the BIOS + * data on chipsets with integrated LVDS (stored in AIM + * headers, likely), so for now, just get the current + * mode being output through DVO. + */ + intel_dvo->panel_fixed_mode = + intel_dvo_get_current_mode(connector); + intel_dvo->panel_wants_dither = true; + } + + drm_sysfs_connector_add(connector); + return; + } + + drm_encoder_cleanup(&intel_encoder->base); + kfree(intel_dvo); + kfree(intel_connector); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_fb.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_fb.c @@ -0,0 +1,295 @@ +/* + * Copyright © 2007 David Airlie + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * David Airlie + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_fb_helper.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" + +static struct fb_ops intelfb_ops = { + .owner = THIS_MODULE, + .fb_check_var = drm_fb_helper_check_var, + .fb_set_par = drm_fb_helper_set_par, + .fb_fillrect = cfb_fillrect, + .fb_copyarea = cfb_copyarea, + .fb_imageblit = cfb_imageblit, + .fb_pan_display = drm_fb_helper_pan_display, + .fb_blank = drm_fb_helper_blank, + .fb_setcmap = drm_fb_helper_setcmap, + .fb_debug_enter = drm_fb_helper_debug_enter, + .fb_debug_leave = drm_fb_helper_debug_leave, +}; + +static int intelfb_create(struct intel_fbdev *ifbdev, + struct drm_fb_helper_surface_size *sizes) +{ + struct drm_device *dev = ifbdev->helper.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct fb_info *info; + struct drm_framebuffer *fb; + struct drm_mode_fb_cmd2 mode_cmd = {}; + struct drm_i915_gem_object *obj; + struct device *device = &dev->pdev->dev; + int size, ret; + + /* we don't do packed 24bpp */ + if (sizes->surface_bpp == 24) + sizes->surface_bpp = 32; + + mode_cmd.width = sizes->surface_width; + mode_cmd.height = sizes->surface_height; + + mode_cmd.pitches[0] = ALIGN(mode_cmd.width * ((sizes->surface_bpp + 7) / + 8), 64); + mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp, + sizes->surface_depth); + + size = mode_cmd.pitches[0] * mode_cmd.height; + size = ALIGN(size, PAGE_SIZE); + obj = i915_gem_alloc_object(dev, size); + if (!obj) { + DRM_ERROR("failed to allocate framebuffer\n"); + ret = -ENOMEM; + goto out; + } + + mutex_lock(&dev->struct_mutex); + + /* Flush everything out, we'll be doing GTT only from now on */ + ret = intel_pin_and_fence_fb_obj(dev, obj, NULL); + if (ret) { + DRM_ERROR("failed to pin fb: %d\n", ret); + goto out_unref; + } + + info = framebuffer_alloc(0, device); + if (!info) { + ret = -ENOMEM; + goto out_unpin; + } + + info->par = ifbdev; + + ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj); + if (ret) + goto out_unpin; + + fb = &ifbdev->ifb.base; + + ifbdev->helper.fb = fb; + ifbdev->helper.fbdev = info; + + strcpy(info->fix.id, "inteldrmfb"); + + info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT; + info->fbops = &intelfb_ops; + + ret = fb_alloc_cmap(&info->cmap, 256, 0); + if (ret) { + ret = -ENOMEM; + goto out_unpin; + } + /* setup aperture base/size for vesafb takeover */ + info->apertures = alloc_apertures(1); + if (!info->apertures) { + ret = -ENOMEM; + goto out_unpin; + } + info->apertures->ranges[0].base = dev->mode_config.fb_base; + info->apertures->ranges[0].size = + dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; + + info->fix.smem_start = dev->mode_config.fb_base + obj->gtt_offset; + info->fix.smem_len = size; + + info->screen_base = + ioremap_wc(dev_priv->mm.gtt_base_addr + obj->gtt_offset, + size); + if (!info->screen_base) { + ret = -ENOSPC; + goto out_unpin; + } + info->screen_size = size; + +// memset(info->screen_base, 0, size); + + drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth); + drm_fb_helper_fill_var(info, &ifbdev->helper, sizes->fb_width, sizes->fb_height); + + /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ + + DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08x, bo %p\n", + fb->width, fb->height, + obj->gtt_offset, obj); + + + mutex_unlock(&dev->struct_mutex); + vga_switcheroo_client_fb_set(dev->pdev, info); + return 0; + +out_unpin: + i915_gem_object_unpin(obj); +out_unref: + drm_gem_object_unreference(&obj->base); + mutex_unlock(&dev->struct_mutex); +out: + return ret; +} + +static int intel_fb_find_or_create_single(struct drm_fb_helper *helper, + struct drm_fb_helper_surface_size *sizes) +{ + struct intel_fbdev *ifbdev = (struct intel_fbdev *)helper; + int new_fb = 0; + int ret; + + if (!helper->fb) { + ret = intelfb_create(ifbdev, sizes); + if (ret) + return ret; + new_fb = 1; + } + return new_fb; +} + +static struct drm_fb_helper_funcs intel_fb_helper_funcs = { + .gamma_set = intel_crtc_fb_gamma_set, + .gamma_get = intel_crtc_fb_gamma_get, + .fb_probe = intel_fb_find_or_create_single, +}; + +static void intel_fbdev_destroy(struct drm_device *dev, + struct intel_fbdev *ifbdev) +{ + struct fb_info *info; + struct intel_framebuffer *ifb = &ifbdev->ifb; + + if (ifbdev->helper.fbdev) { + info = ifbdev->helper.fbdev; + unregister_framebuffer(info); + iounmap(info->screen_base); + if (info->cmap.len) + fb_dealloc_cmap(&info->cmap); + framebuffer_release(info); + } + + drm_fb_helper_fini(&ifbdev->helper); + + drm_framebuffer_cleanup(&ifb->base); + if (ifb->obj) { + drm_gem_object_unreference_unlocked(&ifb->obj->base); + ifb->obj = NULL; + } +} + +int intel_fbdev_init(struct drm_device *dev) +{ + struct intel_fbdev *ifbdev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + + ifbdev = kzalloc(sizeof(struct intel_fbdev), GFP_KERNEL); + if (!ifbdev) + return -ENOMEM; + + dev_priv->fbdev = ifbdev; + ifbdev->helper.funcs = &intel_fb_helper_funcs; + + ret = drm_fb_helper_init(dev, &ifbdev->helper, + dev_priv->num_pipe, + INTELFB_CONN_LIMIT); + if (ret) { + kfree(ifbdev); + return ret; + } + + drm_fb_helper_single_add_all_connectors(&ifbdev->helper); + drm_fb_helper_initial_config(&ifbdev->helper, 32); + return 0; +} + +void intel_fbdev_fini(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + if (!dev_priv->fbdev) + return; + + intel_fbdev_destroy(dev, dev_priv->fbdev); + kfree(dev_priv->fbdev); + dev_priv->fbdev = NULL; +} + +void intel_fbdev_set_suspend(struct drm_device *dev, int state) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + if (!dev_priv->fbdev) + return; + + fb_set_suspend(dev_priv->fbdev->helper.fbdev, state); +} + +MODULE_LICENSE("GPL and additional rights"); + +void intel_fb_output_poll_changed(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper); +} + +void intel_fb_restore_mode(struct drm_device *dev) +{ + int ret; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_mode_config *config = &dev->mode_config; + struct drm_plane *plane; + + mutex_lock(&dev->mode_config.mutex); + + ret = drm_fb_helper_restore_fbdev_mode(&dev_priv->fbdev->helper); + if (ret) + DRM_DEBUG("failed to restore crtc mode\n"); + + /* Be sure to shut off any planes that may be active */ + list_for_each_entry(plane, &config->plane_list, head) + plane->funcs->disable_plane(plane); + + mutex_unlock(&dev->mode_config.mutex); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_hdmi.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_hdmi.c @@ -0,0 +1,1072 @@ +/* + * Copyright 2006 Dave Airlie + * Copyright © 2006-2009 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Jesse Barnes + */ + +#include +#include +#include +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_edid.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" + +static struct drm_device *intel_hdmi_to_dev(struct intel_hdmi *intel_hdmi) +{ + return hdmi_to_dig_port(intel_hdmi)->base.base.dev; +} + +static void +assert_hdmi_port_disabled(struct intel_hdmi *intel_hdmi) +{ + struct drm_device *dev = intel_hdmi_to_dev(intel_hdmi); + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t enabled_bits; + + enabled_bits = IS_HASWELL(dev) ? DDI_BUF_CTL_ENABLE : SDVO_ENABLE; + + WARN(I915_READ(intel_hdmi->sdvox_reg) & enabled_bits, + "HDMI port enabled, expecting disabled\n"); +} + +struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder) +{ + struct intel_digital_port *intel_dig_port = + container_of(encoder, struct intel_digital_port, base.base); + return &intel_dig_port->hdmi; +} + +static struct intel_hdmi *intel_attached_hdmi(struct drm_connector *connector) +{ + return enc_to_intel_hdmi(&intel_attached_encoder(connector)->base); +} + +void intel_dip_infoframe_csum(struct dip_infoframe *frame) +{ + uint8_t *data = (uint8_t *)frame; + uint8_t sum = 0; + unsigned i; + + frame->checksum = 0; + frame->ecc = 0; + + for (i = 0; i < frame->len + DIP_HEADER_SIZE; i++) + sum += data[i]; + + frame->checksum = 0x100 - sum; +} + +static u32 g4x_infoframe_index(struct dip_infoframe *frame) +{ + switch (frame->type) { + case DIP_TYPE_AVI: + return VIDEO_DIP_SELECT_AVI; + case DIP_TYPE_SPD: + return VIDEO_DIP_SELECT_SPD; + default: + DRM_DEBUG_DRIVER("unknown info frame type %d\n", frame->type); + return 0; + } +} + +static u32 g4x_infoframe_enable(struct dip_infoframe *frame) +{ + switch (frame->type) { + case DIP_TYPE_AVI: + return VIDEO_DIP_ENABLE_AVI; + case DIP_TYPE_SPD: + return VIDEO_DIP_ENABLE_SPD; + default: + DRM_DEBUG_DRIVER("unknown info frame type %d\n", frame->type); + return 0; + } +} + +static u32 hsw_infoframe_enable(struct dip_infoframe *frame) +{ + switch (frame->type) { + case DIP_TYPE_AVI: + return VIDEO_DIP_ENABLE_AVI_HSW; + case DIP_TYPE_SPD: + return VIDEO_DIP_ENABLE_SPD_HSW; + default: + DRM_DEBUG_DRIVER("unknown info frame type %d\n", frame->type); + return 0; + } +} + +static u32 hsw_infoframe_data_reg(struct dip_infoframe *frame, enum pipe pipe) +{ + switch (frame->type) { + case DIP_TYPE_AVI: + return HSW_TVIDEO_DIP_AVI_DATA(pipe); + case DIP_TYPE_SPD: + return HSW_TVIDEO_DIP_SPD_DATA(pipe); + default: + DRM_DEBUG_DRIVER("unknown info frame type %d\n", frame->type); + return 0; + } +} + +static void g4x_write_infoframe(struct drm_encoder *encoder, + struct dip_infoframe *frame) +{ + uint32_t *data = (uint32_t *)frame; + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 val = I915_READ(VIDEO_DIP_CTL); + unsigned i, len = DIP_HEADER_SIZE + frame->len; + + WARN(!(val & VIDEO_DIP_ENABLE), "Writing DIP with CTL reg disabled\n"); + + val &= ~(VIDEO_DIP_SELECT_MASK | 0xf); /* clear DIP data offset */ + val |= g4x_infoframe_index(frame); + + val &= ~g4x_infoframe_enable(frame); + + I915_WRITE(VIDEO_DIP_CTL, val); + + mmiowb(); + for (i = 0; i < len; i += 4) { + I915_WRITE(VIDEO_DIP_DATA, *data); + data++; + } + /* Write every possible data byte to force correct ECC calculation. */ + for (; i < VIDEO_DIP_DATA_SIZE; i += 4) + I915_WRITE(VIDEO_DIP_DATA, 0); + mmiowb(); + + val |= g4x_infoframe_enable(frame); + val &= ~VIDEO_DIP_FREQ_MASK; + val |= VIDEO_DIP_FREQ_VSYNC; + + I915_WRITE(VIDEO_DIP_CTL, val); + POSTING_READ(VIDEO_DIP_CTL); +} + +static void ibx_write_infoframe(struct drm_encoder *encoder, + struct dip_infoframe *frame) +{ + uint32_t *data = (uint32_t *)frame; + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + int reg = TVIDEO_DIP_CTL(intel_crtc->pipe); + unsigned i, len = DIP_HEADER_SIZE + frame->len; + u32 val = I915_READ(reg); + + WARN(!(val & VIDEO_DIP_ENABLE), "Writing DIP with CTL reg disabled\n"); + + val &= ~(VIDEO_DIP_SELECT_MASK | 0xf); /* clear DIP data offset */ + val |= g4x_infoframe_index(frame); + + val &= ~g4x_infoframe_enable(frame); + + I915_WRITE(reg, val); + + mmiowb(); + for (i = 0; i < len; i += 4) { + I915_WRITE(TVIDEO_DIP_DATA(intel_crtc->pipe), *data); + data++; + } + /* Write every possible data byte to force correct ECC calculation. */ + for (; i < VIDEO_DIP_DATA_SIZE; i += 4) + I915_WRITE(TVIDEO_DIP_DATA(intel_crtc->pipe), 0); + mmiowb(); + + val |= g4x_infoframe_enable(frame); + val &= ~VIDEO_DIP_FREQ_MASK; + val |= VIDEO_DIP_FREQ_VSYNC; + + I915_WRITE(reg, val); + POSTING_READ(reg); +} + +static void cpt_write_infoframe(struct drm_encoder *encoder, + struct dip_infoframe *frame) +{ + uint32_t *data = (uint32_t *)frame; + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + int reg = TVIDEO_DIP_CTL(intel_crtc->pipe); + unsigned i, len = DIP_HEADER_SIZE + frame->len; + u32 val = I915_READ(reg); + + WARN(!(val & VIDEO_DIP_ENABLE), "Writing DIP with CTL reg disabled\n"); + + val &= ~(VIDEO_DIP_SELECT_MASK | 0xf); /* clear DIP data offset */ + val |= g4x_infoframe_index(frame); + + /* The DIP control register spec says that we need to update the AVI + * infoframe without clearing its enable bit */ + if (frame->type != DIP_TYPE_AVI) + val &= ~g4x_infoframe_enable(frame); + + I915_WRITE(reg, val); + + mmiowb(); + for (i = 0; i < len; i += 4) { + I915_WRITE(TVIDEO_DIP_DATA(intel_crtc->pipe), *data); + data++; + } + /* Write every possible data byte to force correct ECC calculation. */ + for (; i < VIDEO_DIP_DATA_SIZE; i += 4) + I915_WRITE(TVIDEO_DIP_DATA(intel_crtc->pipe), 0); + mmiowb(); + + val |= g4x_infoframe_enable(frame); + val &= ~VIDEO_DIP_FREQ_MASK; + val |= VIDEO_DIP_FREQ_VSYNC; + + I915_WRITE(reg, val); + POSTING_READ(reg); +} + +static void vlv_write_infoframe(struct drm_encoder *encoder, + struct dip_infoframe *frame) +{ + uint32_t *data = (uint32_t *)frame; + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + int reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe); + unsigned i, len = DIP_HEADER_SIZE + frame->len; + u32 val = I915_READ(reg); + + WARN(!(val & VIDEO_DIP_ENABLE), "Writing DIP with CTL reg disabled\n"); + + val &= ~(VIDEO_DIP_SELECT_MASK | 0xf); /* clear DIP data offset */ + val |= g4x_infoframe_index(frame); + + val &= ~g4x_infoframe_enable(frame); + + I915_WRITE(reg, val); + + mmiowb(); + for (i = 0; i < len; i += 4) { + I915_WRITE(VLV_TVIDEO_DIP_DATA(intel_crtc->pipe), *data); + data++; + } + /* Write every possible data byte to force correct ECC calculation. */ + for (; i < VIDEO_DIP_DATA_SIZE; i += 4) + I915_WRITE(VLV_TVIDEO_DIP_DATA(intel_crtc->pipe), 0); + mmiowb(); + + val |= g4x_infoframe_enable(frame); + val &= ~VIDEO_DIP_FREQ_MASK; + val |= VIDEO_DIP_FREQ_VSYNC; + + I915_WRITE(reg, val); + POSTING_READ(reg); +} + +static void hsw_write_infoframe(struct drm_encoder *encoder, + struct dip_infoframe *frame) +{ + uint32_t *data = (uint32_t *)frame; + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + u32 ctl_reg = HSW_TVIDEO_DIP_CTL(intel_crtc->pipe); + u32 data_reg = hsw_infoframe_data_reg(frame, intel_crtc->pipe); + unsigned int i, len = DIP_HEADER_SIZE + frame->len; + u32 val = I915_READ(ctl_reg); + + if (data_reg == 0) + return; + + val &= ~hsw_infoframe_enable(frame); + I915_WRITE(ctl_reg, val); + + mmiowb(); + for (i = 0; i < len; i += 4) { + I915_WRITE(data_reg + i, *data); + data++; + } + /* Write every possible data byte to force correct ECC calculation. */ + for (; i < VIDEO_DIP_DATA_SIZE; i += 4) + I915_WRITE(data_reg + i, 0); + mmiowb(); + + val |= hsw_infoframe_enable(frame); + I915_WRITE(ctl_reg, val); + POSTING_READ(ctl_reg); +} + +static void intel_set_infoframe(struct drm_encoder *encoder, + struct dip_infoframe *frame) +{ + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + + intel_dip_infoframe_csum(frame); + intel_hdmi->write_infoframe(encoder, frame); +} + +static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, + struct drm_display_mode *adjusted_mode) +{ + struct dip_infoframe avi_if = { + .type = DIP_TYPE_AVI, + .ver = DIP_VERSION_AVI, + .len = DIP_LEN_AVI, + }; + + if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) + avi_if.body.avi.YQ_CN_PR |= DIP_AVI_PR_2; + + intel_set_infoframe(encoder, &avi_if); +} + +static void intel_hdmi_set_spd_infoframe(struct drm_encoder *encoder) +{ + struct dip_infoframe spd_if; + + memset(&spd_if, 0, sizeof(spd_if)); + spd_if.type = DIP_TYPE_SPD; + spd_if.ver = DIP_VERSION_SPD; + spd_if.len = DIP_LEN_SPD; + strcpy(spd_if.body.spd.vn, "Intel"); + strcpy(spd_if.body.spd.pd, "Integrated gfx"); + spd_if.body.spd.sdi = DIP_SPD_PC; + + intel_set_infoframe(encoder, &spd_if); +} + +static void g4x_set_infoframes(struct drm_encoder *encoder, + struct drm_display_mode *adjusted_mode) +{ + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + u32 reg = VIDEO_DIP_CTL; + u32 val = I915_READ(reg); + u32 port; + + assert_hdmi_port_disabled(intel_hdmi); + + /* If the registers were not initialized yet, they might be zeroes, + * which means we're selecting the AVI DIP and we're setting its + * frequency to once. This seems to really confuse the HW and make + * things stop working (the register spec says the AVI always needs to + * be sent every VSync). So here we avoid writing to the register more + * than we need and also explicitly select the AVI DIP and explicitly + * set its frequency to every VSync. Avoiding to write it twice seems to + * be enough to solve the problem, but being defensive shouldn't hurt us + * either. */ + val |= VIDEO_DIP_SELECT_AVI | VIDEO_DIP_FREQ_VSYNC; + + if (!intel_hdmi->has_hdmi_sink) { + if (!(val & VIDEO_DIP_ENABLE)) + return; + val &= ~VIDEO_DIP_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); + return; + } + + switch (intel_hdmi->sdvox_reg) { + case SDVOB: + port = VIDEO_DIP_PORT_B; + break; + case SDVOC: + port = VIDEO_DIP_PORT_C; + break; + default: + BUG(); + return; + } + + if (port != (val & VIDEO_DIP_PORT_MASK)) { + if (val & VIDEO_DIP_ENABLE) { + val &= ~VIDEO_DIP_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); + } + val &= ~VIDEO_DIP_PORT_MASK; + val |= port; + } + + val |= VIDEO_DIP_ENABLE; + val &= ~VIDEO_DIP_ENABLE_VENDOR; + + I915_WRITE(reg, val); + POSTING_READ(reg); + + intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); + intel_hdmi_set_spd_infoframe(encoder); +} + +static void ibx_set_infoframes(struct drm_encoder *encoder, + struct drm_display_mode *adjusted_mode) +{ + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + u32 reg = TVIDEO_DIP_CTL(intel_crtc->pipe); + u32 val = I915_READ(reg); + u32 port; + + assert_hdmi_port_disabled(intel_hdmi); + + /* See the big comment in g4x_set_infoframes() */ + val |= VIDEO_DIP_SELECT_AVI | VIDEO_DIP_FREQ_VSYNC; + + if (!intel_hdmi->has_hdmi_sink) { + if (!(val & VIDEO_DIP_ENABLE)) + return; + val &= ~VIDEO_DIP_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); + return; + } + + switch (intel_hdmi->sdvox_reg) { + case HDMIB: + port = VIDEO_DIP_PORT_B; + break; + case HDMIC: + port = VIDEO_DIP_PORT_C; + break; + case HDMID: + port = VIDEO_DIP_PORT_D; + break; + default: + BUG(); + return; + } + + if (port != (val & VIDEO_DIP_PORT_MASK)) { + if (val & VIDEO_DIP_ENABLE) { + val &= ~VIDEO_DIP_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); + } + val &= ~VIDEO_DIP_PORT_MASK; + val |= port; + } + + val |= VIDEO_DIP_ENABLE; + val &= ~(VIDEO_DIP_ENABLE_VENDOR | VIDEO_DIP_ENABLE_GAMUT | + VIDEO_DIP_ENABLE_GCP); + + I915_WRITE(reg, val); + POSTING_READ(reg); + + intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); + intel_hdmi_set_spd_infoframe(encoder); +} + +static void cpt_set_infoframes(struct drm_encoder *encoder, + struct drm_display_mode *adjusted_mode) +{ + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + u32 reg = TVIDEO_DIP_CTL(intel_crtc->pipe); + u32 val = I915_READ(reg); + + assert_hdmi_port_disabled(intel_hdmi); + + /* See the big comment in g4x_set_infoframes() */ + val |= VIDEO_DIP_SELECT_AVI | VIDEO_DIP_FREQ_VSYNC; + + if (!intel_hdmi->has_hdmi_sink) { + if (!(val & VIDEO_DIP_ENABLE)) + return; + val &= ~(VIDEO_DIP_ENABLE | VIDEO_DIP_ENABLE_AVI); + I915_WRITE(reg, val); + POSTING_READ(reg); + return; + } + + /* Set both together, unset both together: see the spec. */ + val |= VIDEO_DIP_ENABLE | VIDEO_DIP_ENABLE_AVI; + val &= ~(VIDEO_DIP_ENABLE_VENDOR | VIDEO_DIP_ENABLE_GAMUT | + VIDEO_DIP_ENABLE_GCP); + + I915_WRITE(reg, val); + POSTING_READ(reg); + + intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); + intel_hdmi_set_spd_infoframe(encoder); +} + +static void vlv_set_infoframes(struct drm_encoder *encoder, + struct drm_display_mode *adjusted_mode) +{ + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + u32 reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe); + u32 val = I915_READ(reg); + + assert_hdmi_port_disabled(intel_hdmi); + + /* See the big comment in g4x_set_infoframes() */ + val |= VIDEO_DIP_SELECT_AVI | VIDEO_DIP_FREQ_VSYNC; + + if (!intel_hdmi->has_hdmi_sink) { + if (!(val & VIDEO_DIP_ENABLE)) + return; + val &= ~VIDEO_DIP_ENABLE; + I915_WRITE(reg, val); + POSTING_READ(reg); + return; + } + + val |= VIDEO_DIP_ENABLE; + val &= ~(VIDEO_DIP_ENABLE_VENDOR | VIDEO_DIP_ENABLE_GAMUT | + VIDEO_DIP_ENABLE_GCP); + + I915_WRITE(reg, val); + POSTING_READ(reg); + + intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); + intel_hdmi_set_spd_infoframe(encoder); +} + +static void hsw_set_infoframes(struct drm_encoder *encoder, + struct drm_display_mode *adjusted_mode) +{ + struct drm_i915_private *dev_priv = encoder->dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + u32 reg = HSW_TVIDEO_DIP_CTL(intel_crtc->pipe); + u32 val = I915_READ(reg); + + assert_hdmi_port_disabled(intel_hdmi); + + if (!intel_hdmi->has_hdmi_sink) { + I915_WRITE(reg, 0); + POSTING_READ(reg); + return; + } + + val &= ~(VIDEO_DIP_ENABLE_VSC_HSW | VIDEO_DIP_ENABLE_GCP_HSW | + VIDEO_DIP_ENABLE_VS_HSW | VIDEO_DIP_ENABLE_GMP_HSW); + + I915_WRITE(reg, val); + POSTING_READ(reg); + + intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); + intel_hdmi_set_spd_infoframe(encoder); +} + +static void intel_hdmi_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); + u32 sdvox; + + sdvox = SDVO_ENCODING_HDMI; + if (!HAS_PCH_SPLIT(dev)) + sdvox |= intel_hdmi->color_range; + if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) + sdvox |= SDVO_VSYNC_ACTIVE_HIGH; + if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) + sdvox |= SDVO_HSYNC_ACTIVE_HIGH; + + if (intel_crtc->bpp > 24) + sdvox |= COLOR_FORMAT_12bpc; + else + sdvox |= COLOR_FORMAT_8bpc; + + /* Required on CPT */ + if (intel_hdmi->has_hdmi_sink && HAS_PCH_CPT(dev)) + sdvox |= HDMI_MODE_SELECT; + + if (intel_hdmi->has_audio) { + DRM_DEBUG_DRIVER("Enabling HDMI audio on pipe %c\n", + pipe_name(intel_crtc->pipe)); + sdvox |= SDVO_AUDIO_ENABLE; + sdvox |= SDVO_NULL_PACKETS_DURING_VSYNC; + intel_write_eld(encoder, adjusted_mode); + } + + if (HAS_PCH_CPT(dev)) + sdvox |= PORT_TRANS_SEL_CPT(intel_crtc->pipe); + else if (intel_crtc->pipe == PIPE_B) + sdvox |= SDVO_PIPE_B_SELECT; + + I915_WRITE(intel_hdmi->sdvox_reg, sdvox); + POSTING_READ(intel_hdmi->sdvox_reg); + + intel_hdmi->set_infoframes(encoder, adjusted_mode); +} + +static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); + u32 tmp; + + tmp = I915_READ(intel_hdmi->sdvox_reg); + + if (!(tmp & SDVO_ENABLE)) + return false; + + if (HAS_PCH_CPT(dev)) + *pipe = PORT_TO_PIPE_CPT(tmp); + else + *pipe = PORT_TO_PIPE(tmp); + + return true; +} + +static void intel_enable_hdmi(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); + u32 temp; + u32 enable_bits = SDVO_ENABLE; + + if (intel_hdmi->has_audio) + enable_bits |= SDVO_AUDIO_ENABLE; + + temp = I915_READ(intel_hdmi->sdvox_reg); + + /* HW workaround for IBX, we need to move the port to transcoder A + * before disabling it. */ + if (HAS_PCH_IBX(dev)) { + struct drm_crtc *crtc = encoder->base.crtc; + int pipe = crtc ? to_intel_crtc(crtc)->pipe : -1; + + /* Restore the transcoder select bit. */ + if (pipe == PIPE_B) + enable_bits |= SDVO_PIPE_B_SELECT; + } + + /* HW workaround, need to toggle enable bit off and on for 12bpc, but + * we do this anyway which shows more stable in testing. + */ + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(intel_hdmi->sdvox_reg, temp & ~SDVO_ENABLE); + POSTING_READ(intel_hdmi->sdvox_reg); + } + + temp |= enable_bits; + + I915_WRITE(intel_hdmi->sdvox_reg, temp); + POSTING_READ(intel_hdmi->sdvox_reg); + + /* HW workaround, need to write this twice for issue that may result + * in first write getting masked. + */ + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(intel_hdmi->sdvox_reg, temp); + POSTING_READ(intel_hdmi->sdvox_reg); + } +} + +static void intel_disable_hdmi(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); + u32 temp; + u32 enable_bits = SDVO_ENABLE | SDVO_AUDIO_ENABLE; + + temp = I915_READ(intel_hdmi->sdvox_reg); + + /* HW workaround for IBX, we need to move the port to transcoder A + * before disabling it. */ + if (HAS_PCH_IBX(dev)) { + struct drm_crtc *crtc = encoder->base.crtc; + int pipe = crtc ? to_intel_crtc(crtc)->pipe : -1; + + if (temp & SDVO_PIPE_B_SELECT) { + temp &= ~SDVO_PIPE_B_SELECT; + I915_WRITE(intel_hdmi->sdvox_reg, temp); + POSTING_READ(intel_hdmi->sdvox_reg); + + /* Again we need to write this twice. */ + I915_WRITE(intel_hdmi->sdvox_reg, temp); + POSTING_READ(intel_hdmi->sdvox_reg); + + /* Transcoder selection bits only update + * effectively on vblank. */ + if (crtc) + intel_wait_for_vblank(dev, pipe); + else + msleep(50); + } + } + + /* HW workaround, need to toggle enable bit off and on for 12bpc, but + * we do this anyway which shows more stable in testing. + */ + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(intel_hdmi->sdvox_reg, temp & ~SDVO_ENABLE); + POSTING_READ(intel_hdmi->sdvox_reg); + } + + temp &= ~enable_bits; + + I915_WRITE(intel_hdmi->sdvox_reg, temp); + POSTING_READ(intel_hdmi->sdvox_reg); + + /* HW workaround, need to write this twice for issue that may result + * in first write getting masked. + */ + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(intel_hdmi->sdvox_reg, temp); + POSTING_READ(intel_hdmi->sdvox_reg); + } +} + +static int intel_hdmi_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + if (mode->clock > 165000) + return MODE_CLOCK_HIGH; + if (mode->clock < 20000) + return MODE_CLOCK_LOW; + + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + return MODE_NO_DBLESCAN; + + return MODE_OK; +} + +bool intel_hdmi_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + return true; +} + +static bool g4x_hdmi_connected(struct intel_hdmi *intel_hdmi) +{ + struct drm_device *dev = intel_hdmi_to_dev(intel_hdmi); + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t bit; + + switch (intel_hdmi->sdvox_reg) { + case SDVOB: + bit = HDMIB_HOTPLUG_LIVE_STATUS; + break; + case SDVOC: + bit = HDMIC_HOTPLUG_LIVE_STATUS; + break; + default: + bit = 0; + break; + } + + return I915_READ(PORT_HOTPLUG_STAT) & bit; +} + +static enum drm_connector_status +intel_hdmi_detect(struct drm_connector *connector, bool force) +{ + struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); + struct intel_digital_port *intel_dig_port = + hdmi_to_dig_port(intel_hdmi); + struct intel_encoder *intel_encoder = &intel_dig_port->base; + struct drm_i915_private *dev_priv = connector->dev->dev_private; + struct edid *edid; + enum drm_connector_status status = connector_status_disconnected; + + if (IS_G4X(connector->dev) && !g4x_hdmi_connected(intel_hdmi)) + return status; + + intel_hdmi->has_hdmi_sink = false; + intel_hdmi->has_audio = false; + edid = drm_get_edid(connector, + intel_gmbus_get_adapter(dev_priv, + intel_hdmi->ddc_bus)); + + if (edid) { + if (edid->input & DRM_EDID_INPUT_DIGITAL) { + status = connector_status_connected; + if (intel_hdmi->force_audio != HDMI_AUDIO_OFF_DVI) + intel_hdmi->has_hdmi_sink = + drm_detect_hdmi_monitor(edid); + intel_hdmi->has_audio = drm_detect_monitor_audio(edid); + } + kfree(edid); + } + + if (status == connector_status_connected) { + if (intel_hdmi->force_audio != HDMI_AUDIO_AUTO) + intel_hdmi->has_audio = + (intel_hdmi->force_audio == HDMI_AUDIO_ON); + intel_encoder->type = INTEL_OUTPUT_HDMI; + } + + return status; +} + +static int intel_hdmi_get_modes(struct drm_connector *connector) +{ + struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); + struct drm_i915_private *dev_priv = connector->dev->dev_private; + + /* We should parse the EDID data and find out if it's an HDMI sink so + * we can send audio to it. + */ + + return intel_ddc_get_modes(connector, + intel_gmbus_get_adapter(dev_priv, + intel_hdmi->ddc_bus)); +} + +static bool +intel_hdmi_detect_audio(struct drm_connector *connector) +{ + struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); + struct drm_i915_private *dev_priv = connector->dev->dev_private; + struct edid *edid; + bool has_audio = false; + + edid = drm_get_edid(connector, + intel_gmbus_get_adapter(dev_priv, + intel_hdmi->ddc_bus)); + if (edid) { + if (edid->input & DRM_EDID_INPUT_DIGITAL) + has_audio = drm_detect_monitor_audio(edid); + kfree(edid); + } + + return has_audio; +} + +static int +intel_hdmi_set_property(struct drm_connector *connector, + struct drm_property *property, + uint64_t val) +{ + struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); + struct intel_digital_port *intel_dig_port = + hdmi_to_dig_port(intel_hdmi); + struct drm_i915_private *dev_priv = connector->dev->dev_private; + int ret; + + ret = drm_connector_property_set_value(connector, property, val); + if (ret) + return ret; + + if (property == dev_priv->force_audio_property) { + enum hdmi_force_audio i = val; + bool has_audio; + + if (i == intel_hdmi->force_audio) + return 0; + + intel_hdmi->force_audio = i; + + if (i == HDMI_AUDIO_AUTO) + has_audio = intel_hdmi_detect_audio(connector); + else + has_audio = (i == HDMI_AUDIO_ON); + + if (i == HDMI_AUDIO_OFF_DVI) + intel_hdmi->has_hdmi_sink = 0; + + intel_hdmi->has_audio = has_audio; + goto done; + } + + if (property == dev_priv->broadcast_rgb_property) { + if (val == !!intel_hdmi->color_range) + return 0; + + intel_hdmi->color_range = val ? SDVO_COLOR_RANGE_16_235 : 0; + goto done; + } + + return -EINVAL; + +done: + if (intel_dig_port->base.base.crtc) { + struct drm_crtc *crtc = intel_dig_port->base.base.crtc; + intel_set_mode(crtc, &crtc->mode, + crtc->x, crtc->y, crtc->fb); + } + + return 0; +} + +static void intel_hdmi_destroy(struct drm_connector *connector) +{ + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(connector); +} + +static const struct drm_encoder_helper_funcs intel_hdmi_helper_funcs = { + .mode_fixup = intel_hdmi_mode_fixup, + .mode_set = intel_hdmi_mode_set, + .disable = intel_encoder_noop, +}; + +static const struct drm_connector_funcs intel_hdmi_connector_funcs = { + .dpms = intel_connector_dpms, + .detect = intel_hdmi_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = intel_hdmi_set_property, + .destroy = intel_hdmi_destroy, +}; + +static const struct drm_connector_helper_funcs intel_hdmi_connector_helper_funcs = { + .get_modes = intel_hdmi_get_modes, + .mode_valid = intel_hdmi_mode_valid, + .best_encoder = intel_best_encoder, +}; + +static const struct drm_encoder_funcs intel_hdmi_enc_funcs = { + .destroy = intel_encoder_destroy, +}; + +static void +intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *connector) +{ + intel_attach_force_audio_property(connector); + intel_attach_broadcast_rgb_property(connector); +} + +void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, + struct intel_connector *intel_connector) +{ + struct drm_connector *connector = &intel_connector->base; + struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi; + struct intel_encoder *intel_encoder = &intel_dig_port->base; + struct drm_device *dev = intel_encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + enum port port = intel_dig_port->port; + + drm_connector_init(dev, connector, &intel_hdmi_connector_funcs, + DRM_MODE_CONNECTOR_HDMIA); + drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs); + + connector->polled = DRM_CONNECTOR_POLL_HPD; + connector->interlace_allowed = 1; + connector->doublescan_allowed = 0; + + switch (port) { + case PORT_B: + intel_hdmi->ddc_bus = GMBUS_PORT_DPB; + dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; + break; + case PORT_C: + intel_hdmi->ddc_bus = GMBUS_PORT_DPC; + dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; + break; + case PORT_D: + intel_hdmi->ddc_bus = GMBUS_PORT_DPD; + dev_priv->hotplug_supported_mask |= HDMID_HOTPLUG_INT_STATUS; + break; + case PORT_A: + /* Internal port only for eDP. */ + default: + BUG(); + } + + if (!HAS_PCH_SPLIT(dev)) { + intel_hdmi->write_infoframe = g4x_write_infoframe; + intel_hdmi->set_infoframes = g4x_set_infoframes; + } else if (IS_VALLEYVIEW(dev)) { + intel_hdmi->write_infoframe = vlv_write_infoframe; + intel_hdmi->set_infoframes = vlv_set_infoframes; + } else if (IS_HASWELL(dev)) { + intel_hdmi->write_infoframe = hsw_write_infoframe; + intel_hdmi->set_infoframes = hsw_set_infoframes; + } else if (HAS_PCH_IBX(dev)) { + intel_hdmi->write_infoframe = ibx_write_infoframe; + intel_hdmi->set_infoframes = ibx_set_infoframes; + } else { + intel_hdmi->write_infoframe = cpt_write_infoframe; + intel_hdmi->set_infoframes = cpt_set_infoframes; + } + + if (IS_HASWELL(dev)) + intel_connector->get_hw_state = intel_ddi_connector_get_hw_state; + else + intel_connector->get_hw_state = intel_connector_get_hw_state; + + intel_hdmi_add_properties(intel_hdmi, connector); + + intel_connector_attach_encoder(intel_connector, intel_encoder); + drm_sysfs_connector_add(connector); + + /* For G4X desktop chip, PEG_BAND_GAP_DATA 3:0 must first be written + * 0xd. Failure to do so will result in spurious interrupts being + * generated on the port when a cable is not attached. + */ + if (IS_G4X(dev) && !IS_GM45(dev)) { + u32 temp = I915_READ(PEG_BAND_GAP_DATA); + I915_WRITE(PEG_BAND_GAP_DATA, (temp & ~0xf) | 0xd); + } +} + +void intel_hdmi_init(struct drm_device *dev, int sdvox_reg, enum port port) +{ + struct intel_digital_port *intel_dig_port; + struct intel_encoder *intel_encoder; + struct drm_encoder *encoder; + struct intel_connector *intel_connector; + + intel_dig_port = kzalloc(sizeof(struct intel_digital_port), GFP_KERNEL); + if (!intel_dig_port) + return; + + intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); + if (!intel_connector) { + kfree(intel_dig_port); + return; + } + + intel_encoder = &intel_dig_port->base; + encoder = &intel_encoder->base; + + drm_encoder_init(dev, &intel_encoder->base, &intel_hdmi_enc_funcs, + DRM_MODE_ENCODER_TMDS); + drm_encoder_helper_add(&intel_encoder->base, &intel_hdmi_helper_funcs); + + intel_encoder->enable = intel_enable_hdmi; + intel_encoder->disable = intel_disable_hdmi; + intel_encoder->get_hw_state = intel_hdmi_get_hw_state; + + intel_encoder->type = INTEL_OUTPUT_HDMI; + intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); + intel_encoder->cloneable = false; + + intel_dig_port->port = port; + intel_dig_port->hdmi.sdvox_reg = sdvox_reg; + intel_dig_port->dp.output_reg = 0; + + intel_hdmi_init_connector(intel_dig_port, intel_connector); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_i2c.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_i2c.c @@ -0,0 +1,551 @@ +/* + * Copyright (c) 2006 Dave Airlie + * Copyright © 2006-2008,2010 Intel Corporation + * Jesse Barnes + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Chris Wilson + */ +#include +#include +#include +#include "drmP.h" +#include "drm.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" + +struct gmbus_port { + const char *name; + int reg; +}; + +static const struct gmbus_port gmbus_ports[] = { + { "ssc", GPIOB }, + { "vga", GPIOA }, + { "panel", GPIOC }, + { "dpc", GPIOD }, + { "dpb", GPIOE }, + { "dpd", GPIOF }, +}; + +/* Intel GPIO access functions */ + +#define I2C_RISEFALL_TIME 10 + +static inline struct intel_gmbus * +to_intel_gmbus(struct i2c_adapter *i2c) +{ + return container_of(i2c, struct intel_gmbus, adapter); +} + +void +intel_i2c_reset(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + I915_WRITE(dev_priv->gpio_mmio_base + GMBUS0, 0); +} + +static void intel_i2c_quirk_set(struct drm_i915_private *dev_priv, bool enable) +{ + u32 val; + + /* When using bit bashing for I2C, this bit needs to be set to 1 */ + if (!IS_PINEVIEW(dev_priv->dev)) + return; + + val = I915_READ(DSPCLK_GATE_D); + if (enable) + val |= DPCUNIT_CLOCK_GATE_DISABLE; + else + val &= ~DPCUNIT_CLOCK_GATE_DISABLE; + I915_WRITE(DSPCLK_GATE_D, val); +} + +static u32 get_reserved(struct intel_gmbus *bus) +{ + struct drm_i915_private *dev_priv = bus->dev_priv; + struct drm_device *dev = dev_priv->dev; + u32 reserved = 0; + + /* On most chips, these bits must be preserved in software. */ + if (!IS_I830(dev) && !IS_845G(dev)) + reserved = I915_READ_NOTRACE(bus->gpio_reg) & + (GPIO_DATA_PULLUP_DISABLE | + GPIO_CLOCK_PULLUP_DISABLE); + + return reserved; +} + +static int get_clock(void *data) +{ + struct intel_gmbus *bus = data; + struct drm_i915_private *dev_priv = bus->dev_priv; + u32 reserved = get_reserved(bus); + I915_WRITE_NOTRACE(bus->gpio_reg, reserved | GPIO_CLOCK_DIR_MASK); + I915_WRITE_NOTRACE(bus->gpio_reg, reserved); + return (I915_READ_NOTRACE(bus->gpio_reg) & GPIO_CLOCK_VAL_IN) != 0; +} + +static int get_data(void *data) +{ + struct intel_gmbus *bus = data; + struct drm_i915_private *dev_priv = bus->dev_priv; + u32 reserved = get_reserved(bus); + I915_WRITE_NOTRACE(bus->gpio_reg, reserved | GPIO_DATA_DIR_MASK); + I915_WRITE_NOTRACE(bus->gpio_reg, reserved); + return (I915_READ_NOTRACE(bus->gpio_reg) & GPIO_DATA_VAL_IN) != 0; +} + +static void set_clock(void *data, int state_high) +{ + struct intel_gmbus *bus = data; + struct drm_i915_private *dev_priv = bus->dev_priv; + u32 reserved = get_reserved(bus); + u32 clock_bits; + + if (state_high) + clock_bits = GPIO_CLOCK_DIR_IN | GPIO_CLOCK_DIR_MASK; + else + clock_bits = GPIO_CLOCK_DIR_OUT | GPIO_CLOCK_DIR_MASK | + GPIO_CLOCK_VAL_MASK; + + I915_WRITE_NOTRACE(bus->gpio_reg, reserved | clock_bits); + POSTING_READ(bus->gpio_reg); +} + +static void set_data(void *data, int state_high) +{ + struct intel_gmbus *bus = data; + struct drm_i915_private *dev_priv = bus->dev_priv; + u32 reserved = get_reserved(bus); + u32 data_bits; + + if (state_high) + data_bits = GPIO_DATA_DIR_IN | GPIO_DATA_DIR_MASK; + else + data_bits = GPIO_DATA_DIR_OUT | GPIO_DATA_DIR_MASK | + GPIO_DATA_VAL_MASK; + + I915_WRITE_NOTRACE(bus->gpio_reg, reserved | data_bits); + POSTING_READ(bus->gpio_reg); +} + +static int +intel_gpio_pre_xfer(struct i2c_adapter *adapter) +{ + struct intel_gmbus *bus = container_of(adapter, + struct intel_gmbus, + adapter); + struct drm_i915_private *dev_priv = bus->dev_priv; + + intel_i2c_reset(dev_priv->dev); + intel_i2c_quirk_set(dev_priv, true); + set_data(bus, 1); + set_clock(bus, 1); + udelay(I2C_RISEFALL_TIME); + return 0; +} + +static void +intel_gpio_post_xfer(struct i2c_adapter *adapter) +{ + struct intel_gmbus *bus = container_of(adapter, + struct intel_gmbus, + adapter); + struct drm_i915_private *dev_priv = bus->dev_priv; + + set_data(bus, 1); + set_clock(bus, 1); + intel_i2c_quirk_set(dev_priv, false); +} + +static void +intel_gpio_setup(struct intel_gmbus *bus, u32 pin) +{ + struct drm_i915_private *dev_priv = bus->dev_priv; + struct i2c_algo_bit_data *algo; + + algo = &bus->bit_algo; + + /* -1 to map pin pair to gmbus index */ + bus->gpio_reg = dev_priv->gpio_mmio_base + gmbus_ports[pin - 1].reg; + + bus->adapter.algo_data = algo; + algo->setsda = set_data; + algo->setscl = set_clock; + algo->getsda = get_data; + algo->getscl = get_clock; + algo->pre_xfer = intel_gpio_pre_xfer; + algo->post_xfer = intel_gpio_post_xfer; + algo->udelay = I2C_RISEFALL_TIME; + algo->timeout = usecs_to_jiffies(2200); + algo->data = bus; +} + +static int +gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg, + u32 gmbus1_index) +{ + int reg_offset = dev_priv->gpio_mmio_base; + u16 len = msg->len; + u8 *buf = msg->buf; + + I915_WRITE(GMBUS1 + reg_offset, + gmbus1_index | + GMBUS_CYCLE_WAIT | + (len << GMBUS_BYTE_COUNT_SHIFT) | + (msg->addr << GMBUS_SLAVE_ADDR_SHIFT) | + GMBUS_SLAVE_READ | GMBUS_SW_RDY); + while (len) { + int ret; + u32 val, loop = 0; + u32 gmbus2; + + ret = wait_for((gmbus2 = I915_READ(GMBUS2 + reg_offset)) & + (GMBUS_SATOER | GMBUS_HW_RDY), + 50); + if (ret) + return -ETIMEDOUT; + if (gmbus2 & GMBUS_SATOER) + return -ENXIO; + + val = I915_READ(GMBUS3 + reg_offset); + do { + *buf++ = val & 0xff; + val >>= 8; + } while (--len && ++loop < 4); + } + + return 0; +} + +static int +gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg) +{ + int reg_offset = dev_priv->gpio_mmio_base; + u16 len = msg->len; + u8 *buf = msg->buf; + u32 val, loop; + + val = loop = 0; + while (len && loop < 4) { + val |= *buf++ << (8 * loop++); + len -= 1; + } + + I915_WRITE(GMBUS3 + reg_offset, val); + I915_WRITE(GMBUS1 + reg_offset, + GMBUS_CYCLE_WAIT | + (msg->len << GMBUS_BYTE_COUNT_SHIFT) | + (msg->addr << GMBUS_SLAVE_ADDR_SHIFT) | + GMBUS_SLAVE_WRITE | GMBUS_SW_RDY); + while (len) { + int ret; + u32 gmbus2; + + val = loop = 0; + do { + val |= *buf++ << (8 * loop); + } while (--len && ++loop < 4); + + I915_WRITE(GMBUS3 + reg_offset, val); + + ret = wait_for((gmbus2 = I915_READ(GMBUS2 + reg_offset)) & + (GMBUS_SATOER | GMBUS_HW_RDY), + 50); + if (ret) + return -ETIMEDOUT; + if (gmbus2 & GMBUS_SATOER) + return -ENXIO; + } + return 0; +} + +/* + * The gmbus controller can combine a 1 or 2 byte write with a read that + * immediately follows it by using an "INDEX" cycle. + */ +static bool +gmbus_is_index_read(struct i2c_msg *msgs, int i, int num) +{ + return (i + 1 < num && + !(msgs[i].flags & I2C_M_RD) && msgs[i].len <= 2 && + (msgs[i + 1].flags & I2C_M_RD)); +} + +static int +gmbus_xfer_index_read(struct drm_i915_private *dev_priv, struct i2c_msg *msgs) +{ + int reg_offset = dev_priv->gpio_mmio_base; + u32 gmbus1_index = 0; + u32 gmbus5 = 0; + int ret; + + if (msgs[0].len == 2) + gmbus5 = GMBUS_2BYTE_INDEX_EN | + msgs[0].buf[1] | (msgs[0].buf[0] << 8); + if (msgs[0].len == 1) + gmbus1_index = GMBUS_CYCLE_INDEX | + (msgs[0].buf[0] << GMBUS_SLAVE_INDEX_SHIFT); + + /* GMBUS5 holds 16-bit index */ + if (gmbus5) + I915_WRITE(GMBUS5 + reg_offset, gmbus5); + + ret = gmbus_xfer_read(dev_priv, &msgs[1], gmbus1_index); + + /* Clear GMBUS5 after each index transfer */ + if (gmbus5) + I915_WRITE(GMBUS5 + reg_offset, 0); + + return ret; +} + +static int +gmbus_xfer(struct i2c_adapter *adapter, + struct i2c_msg *msgs, + int num) +{ + struct intel_gmbus *bus = container_of(adapter, + struct intel_gmbus, + adapter); + struct drm_i915_private *dev_priv = bus->dev_priv; + int i, reg_offset; + int ret = 0; + + mutex_lock(&dev_priv->gmbus_mutex); + + if (bus->force_bit) { + ret = i2c_bit_algo.master_xfer(adapter, msgs, num); + goto out; + } + + reg_offset = dev_priv->gpio_mmio_base; + + I915_WRITE(GMBUS0 + reg_offset, bus->reg0); + + for (i = 0; i < num; i++) { + u32 gmbus2; + + if (gmbus_is_index_read(msgs, i, num)) { + ret = gmbus_xfer_index_read(dev_priv, &msgs[i]); + i += 1; /* set i to the index of the read xfer */ + } else if (msgs[i].flags & I2C_M_RD) { + ret = gmbus_xfer_read(dev_priv, &msgs[i], 0); + } else { + ret = gmbus_xfer_write(dev_priv, &msgs[i]); + } + + if (ret == -ETIMEDOUT) + goto timeout; + if (ret == -ENXIO) + goto clear_err; + + ret = wait_for((gmbus2 = I915_READ(GMBUS2 + reg_offset)) & + (GMBUS_SATOER | GMBUS_HW_WAIT_PHASE), + 50); + if (ret) + goto timeout; + if (gmbus2 & GMBUS_SATOER) + goto clear_err; + } + + /* Generate a STOP condition on the bus. Note that gmbus can't generata + * a STOP on the very first cycle. To simplify the code we + * unconditionally generate the STOP condition with an additional gmbus + * cycle. */ + I915_WRITE(GMBUS1 + reg_offset, GMBUS_CYCLE_STOP | GMBUS_SW_RDY); + + /* Mark the GMBUS interface as disabled after waiting for idle. + * We will re-enable it at the start of the next xfer, + * till then let it sleep. + */ + if (wait_for((I915_READ(GMBUS2 + reg_offset) & GMBUS_ACTIVE) == 0, + 10)) { + DRM_DEBUG_KMS("GMBUS [%s] timed out waiting for idle\n", + adapter->name); + ret = -ETIMEDOUT; + } + I915_WRITE(GMBUS0 + reg_offset, 0); + ret = ret ?: i; + goto out; + +clear_err: + /* + * Wait for bus to IDLE before clearing NAK. + * If we clear the NAK while bus is still active, then it will stay + * active and the next transaction may fail. + * + * If no ACK is received during the address phase of a transaction, the + * adapter must report -ENXIO. It is not clear what to return if no ACK + * is received at other times. But we have to be careful to not return + * spurious -ENXIO because that will prevent i2c and drm edid functions + * from retrying. So return -ENXIO only when gmbus properly quiescents - + * timing out seems to happen when there _is_ a ddc chip present, but + * it's slow responding and only answers on the 2nd retry. + */ + ret = -ENXIO; + if (wait_for((I915_READ(GMBUS2 + reg_offset) & GMBUS_ACTIVE) == 0, + 10)) { + DRM_DEBUG_KMS("GMBUS [%s] timed out after NAK\n", + adapter->name); + ret = -ETIMEDOUT; + } + + /* Toggle the Software Clear Interrupt bit. This has the effect + * of resetting the GMBUS controller and so clearing the + * BUS_ERROR raised by the slave's NAK. + */ + I915_WRITE(GMBUS1 + reg_offset, GMBUS_SW_CLR_INT); + I915_WRITE(GMBUS1 + reg_offset, 0); + I915_WRITE(GMBUS0 + reg_offset, 0); + + DRM_DEBUG_KMS("GMBUS [%s] NAK for addr: %04x %c(%d)\n", + adapter->name, msgs[i].addr, + (msgs[i].flags & I2C_M_RD) ? 'r' : 'w', msgs[i].len); + + goto out; + +timeout: + DRM_INFO("GMBUS [%s] timed out, falling back to bit banging on pin %d\n", + bus->adapter.name, bus->reg0 & 0xff); + I915_WRITE(GMBUS0 + reg_offset, 0); + + /* Hardware may not support GMBUS over these pins? Try GPIO bitbanging instead. */ + bus->force_bit = 1; + ret = i2c_bit_algo.master_xfer(adapter, msgs, num); + +out: + mutex_unlock(&dev_priv->gmbus_mutex); + return ret; +} + +static u32 gmbus_func(struct i2c_adapter *adapter) +{ + return i2c_bit_algo.functionality(adapter) & + (I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL | + /* I2C_FUNC_10BIT_ADDR | */ + I2C_FUNC_SMBUS_READ_BLOCK_DATA | + I2C_FUNC_SMBUS_BLOCK_PROC_CALL); +} + +static const struct i2c_algorithm gmbus_algorithm = { + .master_xfer = gmbus_xfer, + .functionality = gmbus_func +}; + +/** + * intel_gmbus_setup - instantiate all Intel i2c GMBuses + * @dev: DRM device + */ +int intel_setup_gmbus(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int ret, i; + + if (HAS_PCH_SPLIT(dev)) + dev_priv->gpio_mmio_base = PCH_GPIOA - GPIOA; + else + dev_priv->gpio_mmio_base = 0; + + mutex_init(&dev_priv->gmbus_mutex); + + for (i = 0; i < GMBUS_NUM_PORTS; i++) { + struct intel_gmbus *bus = &dev_priv->gmbus[i]; + u32 port = i + 1; /* +1 to map gmbus index to pin pair */ + + bus->adapter.owner = THIS_MODULE; + bus->adapter.class = I2C_CLASS_DDC; + snprintf(bus->adapter.name, + sizeof(bus->adapter.name), + "i915 gmbus %s", + gmbus_ports[i].name); + + bus->adapter.dev.parent = &dev->pdev->dev; + bus->dev_priv = dev_priv; + + bus->adapter.algo = &gmbus_algorithm; + + /* By default use a conservative clock rate */ + bus->reg0 = port | GMBUS_RATE_100KHZ; + + /* gmbus seems to be broken on i830 */ + if (IS_I830(dev)) + bus->force_bit = 1; + + intel_gpio_setup(bus, port); + + ret = i2c_add_adapter(&bus->adapter); + if (ret) + goto err; + } + + intel_i2c_reset(dev_priv->dev); + + return 0; + +err: + while (--i) { + struct intel_gmbus *bus = &dev_priv->gmbus[i]; + i2c_del_adapter(&bus->adapter); + } + return ret; +} + +struct i2c_adapter *intel_gmbus_get_adapter(struct drm_i915_private *dev_priv, + unsigned port) +{ + WARN_ON(!intel_gmbus_is_port_valid(port)); + /* -1 to map pin pair to gmbus index */ + return (intel_gmbus_is_port_valid(port)) ? + &dev_priv->gmbus[port - 1].adapter : NULL; +} + +void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed) +{ + struct intel_gmbus *bus = to_intel_gmbus(adapter); + + bus->reg0 = (bus->reg0 & ~(0x3 << 8)) | speed; +} + +void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit) +{ + struct intel_gmbus *bus = to_intel_gmbus(adapter); + + bus->force_bit += force_bit ? 1 : -1; + DRM_DEBUG_KMS("%sabling bit-banging on %s. force bit now %d\n", + force_bit ? "en" : "dis", adapter->name, + bus->force_bit); +} + +void intel_teardown_gmbus(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + + for (i = 0; i < GMBUS_NUM_PORTS; i++) { + struct intel_gmbus *bus = &dev_priv->gmbus[i]; + i2c_del_adapter(&bus->adapter); + } +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_lvds.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_lvds.c @@ -0,0 +1,1145 @@ +/* + * Copyright © 2006-2007 Intel Corporation + * Copyright (c) 2006 Dave Airlie + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Dave Airlie + * Jesse Barnes + */ + +#include +#include +#include +#include +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_edid.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include + +/* Private structure for the integrated LVDS support */ +struct intel_lvds_connector { + struct intel_connector base; + + struct notifier_block lid_notifier; +}; + +struct intel_lvds_encoder { + struct intel_encoder base; + + u32 pfit_control; + u32 pfit_pgm_ratios; + bool pfit_dirty; + + struct intel_lvds_connector *attached_connector; +}; + +static struct intel_lvds_encoder *to_lvds_encoder(struct drm_encoder *encoder) +{ + return container_of(encoder, struct intel_lvds_encoder, base.base); +} + +static struct intel_lvds_connector *to_lvds_connector(struct drm_connector *connector) +{ + return container_of(connector, struct intel_lvds_connector, base.base); +} + +static bool intel_lvds_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 lvds_reg, tmp; + + if (HAS_PCH_SPLIT(dev)) { + lvds_reg = PCH_LVDS; + } else { + lvds_reg = LVDS; + } + + tmp = I915_READ(lvds_reg); + + if (!(tmp & LVDS_PORT_EN)) + return false; + + if (HAS_PCH_CPT(dev)) + *pipe = PORT_TO_PIPE_CPT(tmp); + else + *pipe = PORT_TO_PIPE(tmp); + + return true; +} + +/** + * Sets the power state for the panel. + */ +static void intel_enable_lvds(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base); + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 ctl_reg, lvds_reg, stat_reg; + + if (HAS_PCH_SPLIT(dev)) { + ctl_reg = PCH_PP_CONTROL; + lvds_reg = PCH_LVDS; + stat_reg = PCH_PP_STATUS; + } else { + ctl_reg = PP_CONTROL; + lvds_reg = LVDS; + stat_reg = PP_STATUS; + } + + I915_WRITE(lvds_reg, I915_READ(lvds_reg) | LVDS_PORT_EN); + + if (lvds_encoder->pfit_dirty) { + /* + * Enable automatic panel scaling so that non-native modes + * fill the screen. The panel fitter should only be + * adjusted whilst the pipe is disabled, according to + * register description and PRM. + */ + DRM_DEBUG_KMS("applying panel-fitter: %x, %x\n", + lvds_encoder->pfit_control, + lvds_encoder->pfit_pgm_ratios); + + I915_WRITE(PFIT_PGM_RATIOS, lvds_encoder->pfit_pgm_ratios); + I915_WRITE(PFIT_CONTROL, lvds_encoder->pfit_control); + lvds_encoder->pfit_dirty = false; + } + + I915_WRITE(ctl_reg, I915_READ(ctl_reg) | POWER_TARGET_ON); + POSTING_READ(lvds_reg); + if (wait_for((I915_READ(stat_reg) & PP_ON) != 0, 1000)) + DRM_ERROR("timed out waiting for panel to power on\n"); + + intel_panel_enable_backlight(dev, intel_crtc->pipe); +} + +static void intel_disable_lvds(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base); + struct drm_i915_private *dev_priv = dev->dev_private; + u32 ctl_reg, lvds_reg, stat_reg; + + if (HAS_PCH_SPLIT(dev)) { + ctl_reg = PCH_PP_CONTROL; + lvds_reg = PCH_LVDS; + stat_reg = PCH_PP_STATUS; + } else { + ctl_reg = PP_CONTROL; + lvds_reg = LVDS; + stat_reg = PP_STATUS; + } + + intel_panel_disable_backlight(dev); + + I915_WRITE(ctl_reg, I915_READ(ctl_reg) & ~POWER_TARGET_ON); + if (wait_for((I915_READ(stat_reg) & PP_ON) == 0, 1000)) + DRM_ERROR("timed out waiting for panel to power off\n"); + + if (lvds_encoder->pfit_control) { + I915_WRITE(PFIT_CONTROL, 0); + lvds_encoder->pfit_dirty = true; + } + + I915_WRITE(lvds_reg, I915_READ(lvds_reg) & ~LVDS_PORT_EN); + POSTING_READ(lvds_reg); +} + +static int intel_lvds_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct intel_connector *intel_connector = to_intel_connector(connector); + struct drm_display_mode *fixed_mode = intel_connector->panel.fixed_mode; + + if (mode->hdisplay > fixed_mode->hdisplay) + return MODE_PANEL; + if (mode->vdisplay > fixed_mode->vdisplay) + return MODE_PANEL; + + return MODE_OK; +} + +static void +centre_horizontally(struct drm_display_mode *mode, + int width) +{ + u32 border, sync_pos, blank_width, sync_width; + + /* keep the hsync and hblank widths constant */ + sync_width = mode->crtc_hsync_end - mode->crtc_hsync_start; + blank_width = mode->crtc_hblank_end - mode->crtc_hblank_start; + sync_pos = (blank_width - sync_width + 1) / 2; + + border = (mode->hdisplay - width + 1) / 2; + border += border & 1; /* make the border even */ + + mode->crtc_hdisplay = width; + mode->crtc_hblank_start = width + border; + mode->crtc_hblank_end = mode->crtc_hblank_start + blank_width; + + mode->crtc_hsync_start = mode->crtc_hblank_start + sync_pos; + mode->crtc_hsync_end = mode->crtc_hsync_start + sync_width; + + mode->private_flags |= INTEL_MODE_CRTC_TIMINGS_SET; +} + +static void +centre_vertically(struct drm_display_mode *mode, + int height) +{ + u32 border, sync_pos, blank_width, sync_width; + + /* keep the vsync and vblank widths constant */ + sync_width = mode->crtc_vsync_end - mode->crtc_vsync_start; + blank_width = mode->crtc_vblank_end - mode->crtc_vblank_start; + sync_pos = (blank_width - sync_width + 1) / 2; + + border = (mode->vdisplay - height + 1) / 2; + + mode->crtc_vdisplay = height; + mode->crtc_vblank_start = height + border; + mode->crtc_vblank_end = mode->crtc_vblank_start + blank_width; + + mode->crtc_vsync_start = mode->crtc_vblank_start + sync_pos; + mode->crtc_vsync_end = mode->crtc_vsync_start + sync_width; + + mode->private_flags |= INTEL_MODE_CRTC_TIMINGS_SET; +} + +static inline u32 panel_fitter_scaling(u32 source, u32 target) +{ + /* + * Floating point operation is not supported. So the FACTOR + * is defined, which can avoid the floating point computation + * when calculating the panel ratio. + */ +#define ACCURACY 12 +#define FACTOR (1 << ACCURACY) + u32 ratio = source * FACTOR / target; + return (FACTOR * ratio + FACTOR/2) / FACTOR; +} + +static bool intel_lvds_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(encoder); + struct intel_connector *intel_connector = + &lvds_encoder->attached_connector->base; + struct intel_crtc *intel_crtc = lvds_encoder->base.new_crtc; + u32 pfit_control = 0, pfit_pgm_ratios = 0, border = 0; + int pipe; + + /* Should never happen!! */ + if (INTEL_INFO(dev)->gen < 4 && intel_crtc->pipe == 0) { + DRM_ERROR("Can't support LVDS on pipe A\n"); + return false; + } + + if (intel_encoder_check_is_cloned(&lvds_encoder->base)) + return false; + + /* + * We have timings from the BIOS for the panel, put them in + * to the adjusted mode. The CRTC will be set up for this mode, + * with the panel scaling set up to source from the H/VDisplay + * of the original mode. + */ + intel_fixed_panel_mode(intel_connector->panel.fixed_mode, + adjusted_mode); + + if (HAS_PCH_SPLIT(dev)) { + intel_pch_panel_fitting(dev, + intel_connector->panel.fitting_mode, + mode, adjusted_mode); + return true; + } + + /* Native modes don't need fitting */ + if (adjusted_mode->hdisplay == mode->hdisplay && + adjusted_mode->vdisplay == mode->vdisplay) + goto out; + + /* 965+ wants fuzzy fitting */ + if (INTEL_INFO(dev)->gen >= 4) + pfit_control |= ((intel_crtc->pipe << PFIT_PIPE_SHIFT) | + PFIT_FILTER_FUZZY); + + /* + * Enable automatic panel scaling for non-native modes so that they fill + * the screen. Should be enabled before the pipe is enabled, according + * to register description and PRM. + * Change the value here to see the borders for debugging + */ + for_each_pipe(pipe) + I915_WRITE(BCLRPAT(pipe), 0); + + drm_mode_set_crtcinfo(adjusted_mode, 0); + + switch (intel_connector->panel.fitting_mode) { + case DRM_MODE_SCALE_CENTER: + /* + * For centered modes, we have to calculate border widths & + * heights and modify the values programmed into the CRTC. + */ + centre_horizontally(adjusted_mode, mode->hdisplay); + centre_vertically(adjusted_mode, mode->vdisplay); + border = LVDS_BORDER_ENABLE; + break; + + case DRM_MODE_SCALE_ASPECT: + /* Scale but preserve the aspect ratio */ + if (INTEL_INFO(dev)->gen >= 4) { + u32 scaled_width = adjusted_mode->hdisplay * mode->vdisplay; + u32 scaled_height = mode->hdisplay * adjusted_mode->vdisplay; + + /* 965+ is easy, it does everything in hw */ + if (scaled_width > scaled_height) + pfit_control |= PFIT_ENABLE | PFIT_SCALING_PILLAR; + else if (scaled_width < scaled_height) + pfit_control |= PFIT_ENABLE | PFIT_SCALING_LETTER; + else if (adjusted_mode->hdisplay != mode->hdisplay) + pfit_control |= PFIT_ENABLE | PFIT_SCALING_AUTO; + } else { + u32 scaled_width = adjusted_mode->hdisplay * mode->vdisplay; + u32 scaled_height = mode->hdisplay * adjusted_mode->vdisplay; + /* + * For earlier chips we have to calculate the scaling + * ratio by hand and program it into the + * PFIT_PGM_RATIO register + */ + if (scaled_width > scaled_height) { /* pillar */ + centre_horizontally(adjusted_mode, scaled_height / mode->vdisplay); + + border = LVDS_BORDER_ENABLE; + if (mode->vdisplay != adjusted_mode->vdisplay) { + u32 bits = panel_fitter_scaling(mode->vdisplay, adjusted_mode->vdisplay); + pfit_pgm_ratios |= (bits << PFIT_HORIZ_SCALE_SHIFT | + bits << PFIT_VERT_SCALE_SHIFT); + pfit_control |= (PFIT_ENABLE | + VERT_INTERP_BILINEAR | + HORIZ_INTERP_BILINEAR); + } + } else if (scaled_width < scaled_height) { /* letter */ + centre_vertically(adjusted_mode, scaled_width / mode->hdisplay); + + border = LVDS_BORDER_ENABLE; + if (mode->hdisplay != adjusted_mode->hdisplay) { + u32 bits = panel_fitter_scaling(mode->hdisplay, adjusted_mode->hdisplay); + pfit_pgm_ratios |= (bits << PFIT_HORIZ_SCALE_SHIFT | + bits << PFIT_VERT_SCALE_SHIFT); + pfit_control |= (PFIT_ENABLE | + VERT_INTERP_BILINEAR | + HORIZ_INTERP_BILINEAR); + } + } else + /* Aspects match, Let hw scale both directions */ + pfit_control |= (PFIT_ENABLE | + VERT_AUTO_SCALE | HORIZ_AUTO_SCALE | + VERT_INTERP_BILINEAR | + HORIZ_INTERP_BILINEAR); + } + break; + + case DRM_MODE_SCALE_FULLSCREEN: + /* + * Full scaling, even if it changes the aspect ratio. + * Fortunately this is all done for us in hw. + */ + if (mode->vdisplay != adjusted_mode->vdisplay || + mode->hdisplay != adjusted_mode->hdisplay) { + pfit_control |= PFIT_ENABLE; + if (INTEL_INFO(dev)->gen >= 4) + pfit_control |= PFIT_SCALING_AUTO; + else + pfit_control |= (VERT_AUTO_SCALE | + VERT_INTERP_BILINEAR | + HORIZ_AUTO_SCALE | + HORIZ_INTERP_BILINEAR); + } + break; + + default: + break; + } + +out: + /* If not enabling scaling, be consistent and always use 0. */ + if ((pfit_control & PFIT_ENABLE) == 0) { + pfit_control = 0; + pfit_pgm_ratios = 0; + } + + /* Make sure pre-965 set dither correctly */ + if (INTEL_INFO(dev)->gen < 4 && dev_priv->lvds_dither) + pfit_control |= PANEL_8TO6_DITHER_ENABLE; + + if (pfit_control != lvds_encoder->pfit_control || + pfit_pgm_ratios != lvds_encoder->pfit_pgm_ratios) { + lvds_encoder->pfit_control = pfit_control; + lvds_encoder->pfit_pgm_ratios = pfit_pgm_ratios; + lvds_encoder->pfit_dirty = true; + } + dev_priv->lvds_border_bits = border; + + /* + * XXX: It would be nice to support lower refresh rates on the + * panels to reduce power consumption, and perhaps match the + * user's requested refresh rate. + */ + + return true; +} + +static void intel_lvds_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + /* + * The LVDS pin pair will already have been turned on in the + * intel_crtc_mode_set since it has a large impact on the DPLL + * settings. + */ +} + +/** + * Detect the LVDS connection. + * + * Since LVDS doesn't have hotlug, we use the lid as a proxy. Open means + * connected and closed means disconnected. We also send hotplug events as + * needed, using lid status notification from the input layer. + */ +static enum drm_connector_status +intel_lvds_detect(struct drm_connector *connector, bool force) +{ + struct drm_device *dev = connector->dev; + enum drm_connector_status status; + + status = intel_panel_detect(dev); + if (status != connector_status_unknown) + return status; + + return connector_status_connected; +} + +/** + * Return the list of DDC modes if available, or the BIOS fixed mode otherwise. + */ +static int intel_lvds_get_modes(struct drm_connector *connector) +{ + struct intel_lvds_connector *lvds_connector = to_lvds_connector(connector); + struct drm_device *dev = connector->dev; + struct drm_display_mode *mode; + + /* use cached edid if we have one */ + if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) + return drm_add_edid_modes(connector, lvds_connector->base.edid); + + mode = drm_mode_duplicate(dev, lvds_connector->base.panel.fixed_mode); + if (mode == NULL) + return 0; + + drm_mode_probed_add(connector, mode); + return 1; +} + +static int intel_no_modeset_on_lid_dmi_callback(const struct dmi_system_id *id) +{ + DRM_INFO("Skipping forced modeset for %s\n", id->ident); + return 1; +} + +/* The GPU hangs up on these systems if modeset is performed on LID open */ +static const struct dmi_system_id intel_no_modeset_on_lid[] = { + { + .callback = intel_no_modeset_on_lid_dmi_callback, + .ident = "Toshiba Tecra A11", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "TECRA A11"), + }, + }, + + { } /* terminating entry */ +}; + +/* + * Lid events. Note the use of 'modeset_on_lid': + * - we set it on lid close, and reset it on open + * - we use it as a "only once" bit (ie we ignore + * duplicate events where it was already properly + * set/reset) + * - the suspend/resume paths will also set it to + * zero, since they restore the mode ("lid open"). + */ +static int intel_lid_notify(struct notifier_block *nb, unsigned long val, + void *unused) +{ + struct intel_lvds_connector *lvds_connector = + container_of(nb, struct intel_lvds_connector, lid_notifier); + struct drm_connector *connector = &lvds_connector->base.base; + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev->switch_power_state != DRM_SWITCH_POWER_ON) + return NOTIFY_OK; + + /* + * check and update the status of LVDS connector after receiving + * the LID nofication event. + */ + connector->status = connector->funcs->detect(connector, false); + + /* Don't force modeset on machines where it causes a GPU lockup */ + if (dmi_check_system(intel_no_modeset_on_lid)) + return NOTIFY_OK; + if (!acpi_lid_open()) { + dev_priv->modeset_on_lid = 1; + return NOTIFY_OK; + } + + if (!dev_priv->modeset_on_lid) + return NOTIFY_OK; + + dev_priv->modeset_on_lid = 0; + + mutex_lock(&dev->mode_config.mutex); + intel_modeset_check_state(dev); + mutex_unlock(&dev->mode_config.mutex); + + return NOTIFY_OK; +} + +/** + * intel_lvds_destroy - unregister and free LVDS structures + * @connector: connector to free + * + * Unregister the DDC bus for this connector then free the driver private + * structure. + */ +static void intel_lvds_destroy(struct drm_connector *connector) +{ + struct intel_lvds_connector *lvds_connector = + to_lvds_connector(connector); + + if (lvds_connector->lid_notifier.notifier_call) + acpi_lid_notifier_unregister(&lvds_connector->lid_notifier); + + if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) + kfree(lvds_connector->base.edid); + + intel_panel_destroy_backlight(connector->dev); + intel_panel_fini(&lvds_connector->base.panel); + + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(connector); +} + +static int intel_lvds_set_property(struct drm_connector *connector, + struct drm_property *property, + uint64_t value) +{ + struct intel_connector *intel_connector = to_intel_connector(connector); + struct drm_device *dev = connector->dev; + + if (property == dev->mode_config.scaling_mode_property) { + struct drm_crtc *crtc; + + if (value == DRM_MODE_SCALE_NONE) { + DRM_DEBUG_KMS("no scaling not supported\n"); + return -EINVAL; + } + + if (intel_connector->panel.fitting_mode == value) { + /* the LVDS scaling property is not changed */ + return 0; + } + intel_connector->panel.fitting_mode = value; + + crtc = intel_attached_encoder(connector)->base.crtc; + if (crtc && crtc->enabled) { + /* + * If the CRTC is enabled, the display will be changed + * according to the new panel fitting mode. + */ + intel_set_mode(crtc, &crtc->mode, + crtc->x, crtc->y, crtc->fb); + } + } + + return 0; +} + +static const struct drm_encoder_helper_funcs intel_lvds_helper_funcs = { + .mode_fixup = intel_lvds_mode_fixup, + .mode_set = intel_lvds_mode_set, + .disable = intel_encoder_noop, +}; + +static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs = { + .get_modes = intel_lvds_get_modes, + .mode_valid = intel_lvds_mode_valid, + .best_encoder = intel_best_encoder, +}; + +static const struct drm_connector_funcs intel_lvds_connector_funcs = { + .dpms = intel_connector_dpms, + .detect = intel_lvds_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = intel_lvds_set_property, + .destroy = intel_lvds_destroy, +}; + +static const struct drm_encoder_funcs intel_lvds_enc_funcs = { + .destroy = intel_encoder_destroy, +}; + +static int __init intel_no_lvds_dmi_callback(const struct dmi_system_id *id) +{ + DRM_INFO("Skipping LVDS initialization for %s\n", id->ident); + return 1; +} + +/* These systems claim to have LVDS, but really don't */ +static const struct dmi_system_id intel_no_lvds[] = { + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Apple Mac Mini (Core series)", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Apple"), + DMI_MATCH(DMI_PRODUCT_NAME, "Macmini1,1"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Apple Mac Mini (Core 2 series)", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Apple"), + DMI_MATCH(DMI_PRODUCT_NAME, "Macmini2,1"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "MSI IM-945GSE-A", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MSI"), + DMI_MATCH(DMI_PRODUCT_NAME, "A9830IMS"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Dell Studio Hybrid", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Studio Hybrid 140g"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Dell OptiPlex FX170", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex FX170"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "AOpen Mini PC", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "AOpen"), + DMI_MATCH(DMI_PRODUCT_NAME, "i965GMx-IF"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "AOpen Mini PC MP915", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "AOpen"), + DMI_MATCH(DMI_BOARD_NAME, "i915GMx-F"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "AOpen i915GMm-HFS", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "AOpen"), + DMI_MATCH(DMI_BOARD_NAME, "i915GMm-HFS"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "AOpen i45GMx-I", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "AOpen"), + DMI_MATCH(DMI_BOARD_NAME, "i45GMx-I"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Aopen i945GTt-VFA", + .matches = { + DMI_MATCH(DMI_PRODUCT_VERSION, "AO00001JW"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Clientron U800", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Clientron"), + DMI_MATCH(DMI_PRODUCT_NAME, "U800"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Clientron E830", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Clientron"), + DMI_MATCH(DMI_PRODUCT_NAME, "E830"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Asus EeeBox PC EB1007", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "EB1007"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Asus AT5NM10T-I", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "AT5NM10T-I"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Hewlett-Packard HP t5740e Thin Client", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP t5740e Thin Client"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Hewlett-Packard t5745", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "hp t5745"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Hewlett-Packard st5747", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "hp st5747"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "MSI Wind Box DC500", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"), + DMI_MATCH(DMI_BOARD_NAME, "MS-7469"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "ZOTAC ZBOXSD-ID12/ID13", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ZOTAC"), + DMI_MATCH(DMI_BOARD_NAME, "ZBOXSD-ID12/ID13"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Gigabyte GA-D525TUD", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co., Ltd."), + DMI_MATCH(DMI_BOARD_NAME, "D525TUD"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Supermicro X7SPA-H", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Supermicro"), + DMI_MATCH(DMI_PRODUCT_NAME, "X7SPA-H"), + }, + }, + + { } /* terminating entry */ +}; + +/** + * intel_find_lvds_downclock - find the reduced downclock for LVDS in EDID + * @dev: drm device + * @connector: LVDS connector + * + * Find the reduced downclock for LVDS in EDID. + */ +static void intel_find_lvds_downclock(struct drm_device *dev, + struct drm_display_mode *fixed_mode, + struct drm_connector *connector) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_display_mode *scan; + int temp_downclock; + + temp_downclock = fixed_mode->clock; + list_for_each_entry(scan, &connector->probed_modes, head) { + /* + * If one mode has the same resolution with the fixed_panel + * mode while they have the different refresh rate, it means + * that the reduced downclock is found for the LVDS. In such + * case we can set the different FPx0/1 to dynamically select + * between low and high frequency. + */ + if (scan->hdisplay == fixed_mode->hdisplay && + scan->hsync_start == fixed_mode->hsync_start && + scan->hsync_end == fixed_mode->hsync_end && + scan->htotal == fixed_mode->htotal && + scan->vdisplay == fixed_mode->vdisplay && + scan->vsync_start == fixed_mode->vsync_start && + scan->vsync_end == fixed_mode->vsync_end && + scan->vtotal == fixed_mode->vtotal) { + if (scan->clock < temp_downclock) { + /* + * The downclock is already found. But we + * expect to find the lower downclock. + */ + temp_downclock = scan->clock; + } + } + } + if (temp_downclock < fixed_mode->clock && i915_lvds_downclock) { + /* We found the downclock for LVDS. */ + dev_priv->lvds_downclock_avail = 1; + dev_priv->lvds_downclock = temp_downclock; + DRM_DEBUG_KMS("LVDS downclock is found in EDID. " + "Normal clock %dKhz, downclock %dKhz\n", + fixed_mode->clock, temp_downclock); + } +} + +/* + * Enumerate the child dev array parsed from VBT to check whether + * the LVDS is present. + * If it is present, return 1. + * If it is not present, return false. + * If no child dev is parsed from VBT, it assumes that the LVDS is present. + */ +static bool lvds_is_present_in_vbt(struct drm_device *dev, + u8 *i2c_pin) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int i; + + if (!dev_priv->child_dev_num) + return true; + + for (i = 0; i < dev_priv->child_dev_num; i++) { + struct child_device_config *child = dev_priv->child_dev + i; + + /* If the device type is not LFP, continue. + * We have to check both the new identifiers as well as the + * old for compatibility with some BIOSes. + */ + if (child->device_type != DEVICE_TYPE_INT_LFP && + child->device_type != DEVICE_TYPE_LFP) + continue; + + if (intel_gmbus_is_port_valid(child->i2c_pin)) + *i2c_pin = child->i2c_pin; + + /* However, we cannot trust the BIOS writers to populate + * the VBT correctly. Since LVDS requires additional + * information from AIM blocks, a non-zero addin offset is + * a good indicator that the LVDS is actually present. + */ + if (child->addin_offset) + return true; + + /* But even then some BIOS writers perform some black magic + * and instantiate the device without reference to any + * additional data. Trust that if the VBT was written into + * the OpRegion then they have validated the LVDS's existence. + */ + if (dev_priv->opregion.vbt) + return true; + } + + return false; +} + +static bool intel_lvds_supported(struct drm_device *dev) +{ + /* With the introduction of the PCH we gained a dedicated + * LVDS presence pin, use it. */ + if (HAS_PCH_SPLIT(dev)) + return true; + + /* Otherwise LVDS was only attached to mobile products, + * except for the inglorious 830gm */ + return IS_MOBILE(dev) && !IS_I830(dev); +} + +/** + * intel_lvds_init - setup LVDS connectors on this device + * @dev: drm device + * + * Create the connector, register the LVDS DDC bus, and try to figure out what + * modes we can display on the LVDS panel (if present). + */ +bool intel_lvds_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_lvds_encoder *lvds_encoder; + struct intel_encoder *intel_encoder; + struct intel_lvds_connector *lvds_connector; + struct intel_connector *intel_connector; + struct drm_connector *connector; + struct drm_encoder *encoder; + struct drm_display_mode *scan; /* *modes, *bios_mode; */ + struct drm_display_mode *fixed_mode = NULL; + struct edid *edid; + struct drm_crtc *crtc; + u32 lvds; + int pipe; + u8 pin; + + if (!intel_lvds_supported(dev)) + return false; + + /* Skip init on machines we know falsely report LVDS */ + if (dmi_check_system(intel_no_lvds)) + return false; + + pin = GMBUS_PORT_PANEL; + if (!lvds_is_present_in_vbt(dev, &pin)) { + DRM_DEBUG_KMS("LVDS is not present in VBT\n"); + return false; + } + + if (HAS_PCH_SPLIT(dev)) { + if ((I915_READ(PCH_LVDS) & LVDS_DETECTED) == 0) + return false; + if (dev_priv->edp.support) { + DRM_DEBUG_KMS("disable LVDS for eDP support\n"); + return false; + } + } + + lvds_encoder = kzalloc(sizeof(struct intel_lvds_encoder), GFP_KERNEL); + if (!lvds_encoder) + return false; + + lvds_connector = kzalloc(sizeof(struct intel_lvds_connector), GFP_KERNEL); + if (!lvds_connector) { + kfree(lvds_encoder); + return false; + } + + lvds_encoder->attached_connector = lvds_connector; + + if (!HAS_PCH_SPLIT(dev)) { + lvds_encoder->pfit_control = I915_READ(PFIT_CONTROL); + } + + intel_encoder = &lvds_encoder->base; + encoder = &intel_encoder->base; + intel_connector = &lvds_connector->base; + connector = &intel_connector->base; + drm_connector_init(dev, &intel_connector->base, &intel_lvds_connector_funcs, + DRM_MODE_CONNECTOR_LVDS); + + drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs, + DRM_MODE_ENCODER_LVDS); + + intel_encoder->enable = intel_enable_lvds; + intel_encoder->disable = intel_disable_lvds; + intel_encoder->get_hw_state = intel_lvds_get_hw_state; + intel_connector->get_hw_state = intel_connector_get_hw_state; + + intel_connector_attach_encoder(intel_connector, intel_encoder); + intel_encoder->type = INTEL_OUTPUT_LVDS; + + intel_encoder->cloneable = false; + if (HAS_PCH_SPLIT(dev)) + intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); + else if (IS_GEN4(dev)) + intel_encoder->crtc_mask = (1 << 0) | (1 << 1); + else + intel_encoder->crtc_mask = (1 << 1); + + drm_encoder_helper_add(encoder, &intel_lvds_helper_funcs); + drm_connector_helper_add(connector, &intel_lvds_connector_helper_funcs); + connector->display_info.subpixel_order = SubPixelHorizontalRGB; + connector->interlace_allowed = false; + connector->doublescan_allowed = false; + + /* create the scaling mode property */ + drm_mode_create_scaling_mode_property(dev); + drm_connector_attach_property(&intel_connector->base, + dev->mode_config.scaling_mode_property, + DRM_MODE_SCALE_ASPECT); + intel_connector->panel.fitting_mode = DRM_MODE_SCALE_ASPECT; + /* + * LVDS discovery: + * 1) check for EDID on DDC + * 2) check for VBT data + * 3) check to see if LVDS is already on + * if none of the above, no panel + * 4) make sure lid is open + * if closed, act like it's not there for now + */ + + /* + * Attempt to get the fixed panel mode from DDC. Assume that the + * preferred mode is the right one. + */ + edid = drm_get_edid(connector, intel_gmbus_get_adapter(dev_priv, pin)); + if (edid) { + if (drm_add_edid_modes(connector, edid)) { + drm_mode_connector_update_edid_property(connector, + edid); + } else { + kfree(edid); + edid = ERR_PTR(-EINVAL); + } + } else { + edid = ERR_PTR(-ENOENT); + } + lvds_connector->base.edid = edid; + + if (IS_ERR_OR_NULL(edid)) { + /* Didn't get an EDID, so + * Set wide sync ranges so we get all modes + * handed to valid_mode for checking + */ + connector->display_info.min_vfreq = 0; + connector->display_info.max_vfreq = 200; + connector->display_info.min_hfreq = 0; + connector->display_info.max_hfreq = 200; + } + + list_for_each_entry(scan, &connector->probed_modes, head) { + if (scan->type & DRM_MODE_TYPE_PREFERRED) { + DRM_DEBUG_KMS("using preferred mode from EDID: "); + drm_mode_debug_printmodeline(scan); + + fixed_mode = drm_mode_duplicate(dev, scan); + if (fixed_mode) { + intel_find_lvds_downclock(dev, fixed_mode, + connector); + goto out; + } + } + } + + /* Failed to get EDID, what about VBT? */ + if (dev_priv->lfp_lvds_vbt_mode) { + DRM_DEBUG_KMS("using mode from VBT: "); + drm_mode_debug_printmodeline(dev_priv->lfp_lvds_vbt_mode); + + fixed_mode = drm_mode_duplicate(dev, dev_priv->lfp_lvds_vbt_mode); + if (fixed_mode) { + fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; + goto out; + } + } + + /* + * If we didn't get EDID, try checking if the panel is already turned + * on. If so, assume that whatever is currently programmed is the + * correct mode. + */ + + /* Ironlake: FIXME if still fail, not try pipe mode now */ + if (HAS_PCH_SPLIT(dev)) + goto failed; + + lvds = I915_READ(LVDS); + pipe = (lvds & LVDS_PIPEB_SELECT) ? 1 : 0; + crtc = intel_get_crtc_for_pipe(dev, pipe); + + if (crtc && (lvds & LVDS_PORT_EN)) { + fixed_mode = intel_crtc_mode_get(dev, crtc); + if (fixed_mode) { + DRM_DEBUG_KMS("using current (BIOS) mode: "); + drm_mode_debug_printmodeline(fixed_mode); + fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; + goto out; + } + } + + /* If we still don't have a mode after all that, give up. */ + if (!fixed_mode) + goto failed; + +out: + /* + * Unlock registers and just + * leave them unlocked + */ + if (HAS_PCH_SPLIT(dev)) { + I915_WRITE(PCH_PP_CONTROL, + I915_READ(PCH_PP_CONTROL) | PANEL_UNLOCK_REGS); + } else { + I915_WRITE(PP_CONTROL, + I915_READ(PP_CONTROL) | PANEL_UNLOCK_REGS); + } + lvds_connector->lid_notifier.notifier_call = intel_lid_notify; + if (acpi_lid_notifier_register(&lvds_connector->lid_notifier)) { + DRM_DEBUG_KMS("lid notifier registration failed\n"); + lvds_connector->lid_notifier.notifier_call = NULL; + } + drm_sysfs_connector_add(connector); + + intel_panel_init(&intel_connector->panel, fixed_mode); + intel_panel_setup_backlight(connector); + + return true; + +failed: + DRM_DEBUG_KMS("No LVDS modes found, disabling.\n"); + drm_connector_cleanup(connector); + drm_encoder_cleanup(encoder); + if (fixed_mode) + drm_mode_destroy(dev, fixed_mode); + kfree(lvds_encoder); + kfree(lvds_connector); + return false; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_modes.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_modes.c @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2007 Dave Airlie + * Copyright (c) 2007, 2010 Intel Corporation + * Jesse Barnes + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include +#include +#include +#include +#include "drmP.h" +#include "intel_drv.h" +#include "i915_drv.h" + +/** + * intel_connector_update_modes - update connector from edid + * @connector: DRM connector device to use + * @edid: previously read EDID information + */ +int intel_connector_update_modes(struct drm_connector *connector, + struct edid *edid) +{ + int ret; + + drm_mode_connector_update_edid_property(connector, edid); + ret = drm_add_edid_modes(connector, edid); + drm_edid_to_eld(connector, edid); + + return ret; +} + +/** + * intel_ddc_get_modes - get modelist from monitor + * @connector: DRM connector device to use + * @adapter: i2c adapter + * + * Fetch the EDID information from @connector using the DDC bus. + */ +int intel_ddc_get_modes(struct drm_connector *connector, + struct i2c_adapter *adapter) +{ + struct edid *edid; + int ret; + + edid = drm_get_edid(connector, adapter); + if (!edid) + return 0; + + ret = intel_connector_update_modes(connector, edid); + kfree(edid); + + return ret; +} + +static const struct drm_prop_enum_list force_audio_names[] = { + { HDMI_AUDIO_OFF_DVI, "force-dvi" }, + { HDMI_AUDIO_OFF, "off" }, + { HDMI_AUDIO_AUTO, "auto" }, + { HDMI_AUDIO_ON, "on" }, +}; + +void +intel_attach_force_audio_property(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_property *prop; + + prop = dev_priv->force_audio_property; + if (prop == NULL) { + prop = drm_property_create_enum(dev, 0, + "audio", + force_audio_names, + ARRAY_SIZE(force_audio_names)); + if (prop == NULL) + return; + + dev_priv->force_audio_property = prop; + } + drm_connector_attach_property(connector, prop, 0); +} + +static const struct drm_prop_enum_list broadcast_rgb_names[] = { + { 0, "Full" }, + { 1, "Limited 16:235" }, +}; + +void +intel_attach_broadcast_rgb_property(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_property *prop; + + prop = dev_priv->broadcast_rgb_property; + if (prop == NULL) { + prop = drm_property_create_enum(dev, DRM_MODE_PROP_ENUM, + "Broadcast RGB", + broadcast_rgb_names, + ARRAY_SIZE(broadcast_rgb_names)); + if (prop == NULL) + return; + + dev_priv->broadcast_rgb_property = prop; + } + + drm_connector_attach_property(connector, prop, 0); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_opregion.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_opregion.c @@ -0,0 +1,556 @@ +/* + * Copyright 2008 Intel Corporation + * Copyright 2008 Red Hat + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NON-INFRINGEMENT. IN NO EVENT SHALL INTEL AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include +#include +#include + +#include "drmP.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "intel_drv.h" + +#define PCI_ASLE 0xe4 +#define PCI_ASLS 0xfc + +#define OPREGION_HEADER_OFFSET 0 +#define OPREGION_ACPI_OFFSET 0x100 +#define ACPI_CLID 0x01ac /* current lid state indicator */ +#define ACPI_CDCK 0x01b0 /* current docking state indicator */ +#define OPREGION_SWSCI_OFFSET 0x200 +#define OPREGION_ASLE_OFFSET 0x300 +#define OPREGION_VBT_OFFSET 0x400 + +#define OPREGION_SIGNATURE "IntelGraphicsMem" +#define MBOX_ACPI (1<<0) +#define MBOX_SWSCI (1<<1) +#define MBOX_ASLE (1<<2) + +struct opregion_header { + u8 signature[16]; + u32 size; + u32 opregion_ver; + u8 bios_ver[32]; + u8 vbios_ver[16]; + u8 driver_ver[16]; + u32 mboxes; + u8 reserved[164]; +} __attribute__((packed)); + +/* OpRegion mailbox #1: public ACPI methods */ +struct opregion_acpi { + u32 drdy; /* driver readiness */ + u32 csts; /* notification status */ + u32 cevt; /* current event */ + u8 rsvd1[20]; + u32 didl[8]; /* supported display devices ID list */ + u32 cpdl[8]; /* currently presented display list */ + u32 cadl[8]; /* currently active display list */ + u32 nadl[8]; /* next active devices list */ + u32 aslp; /* ASL sleep time-out */ + u32 tidx; /* toggle table index */ + u32 chpd; /* current hotplug enable indicator */ + u32 clid; /* current lid state*/ + u32 cdck; /* current docking state */ + u32 sxsw; /* Sx state resume */ + u32 evts; /* ASL supported events */ + u32 cnot; /* current OS notification */ + u32 nrdy; /* driver status */ + u8 rsvd2[60]; +} __attribute__((packed)); + +/* OpRegion mailbox #2: SWSCI */ +struct opregion_swsci { + u32 scic; /* SWSCI command|status|data */ + u32 parm; /* command parameters */ + u32 dslp; /* driver sleep time-out */ + u8 rsvd[244]; +} __attribute__((packed)); + +/* OpRegion mailbox #3: ASLE */ +struct opregion_asle { + u32 ardy; /* driver readiness */ + u32 aslc; /* ASLE interrupt command */ + u32 tche; /* technology enabled indicator */ + u32 alsi; /* current ALS illuminance reading */ + u32 bclp; /* backlight brightness to set */ + u32 pfit; /* panel fitting state */ + u32 cblv; /* current brightness level */ + u16 bclm[20]; /* backlight level duty cycle mapping table */ + u32 cpfm; /* current panel fitting mode */ + u32 epfm; /* enabled panel fitting modes */ + u8 plut[74]; /* panel LUT and identifier */ + u32 pfmb; /* PWM freq and min brightness */ + u8 rsvd[102]; +} __attribute__((packed)); + +/* ASLE irq request bits */ +#define ASLE_SET_ALS_ILLUM (1 << 0) +#define ASLE_SET_BACKLIGHT (1 << 1) +#define ASLE_SET_PFIT (1 << 2) +#define ASLE_SET_PWM_FREQ (1 << 3) +#define ASLE_REQ_MSK 0xf + +/* response bits of ASLE irq request */ +#define ASLE_ALS_ILLUM_FAILED (1<<10) +#define ASLE_BACKLIGHT_FAILED (1<<12) +#define ASLE_PFIT_FAILED (1<<14) +#define ASLE_PWM_FREQ_FAILED (1<<16) + +/* ASLE backlight brightness to set */ +#define ASLE_BCLP_VALID (1<<31) +#define ASLE_BCLP_MSK (~(1<<31)) + +/* ASLE panel fitting request */ +#define ASLE_PFIT_VALID (1<<31) +#define ASLE_PFIT_CENTER (1<<0) +#define ASLE_PFIT_STRETCH_TEXT (1<<1) +#define ASLE_PFIT_STRETCH_GFX (1<<2) + +/* PWM frequency and minimum brightness */ +#define ASLE_PFMB_BRIGHTNESS_MASK (0xff) +#define ASLE_PFMB_BRIGHTNESS_VALID (1<<8) +#define ASLE_PFMB_PWM_MASK (0x7ffffe00) +#define ASLE_PFMB_PWM_VALID (1<<31) + +#define ASLE_CBLV_VALID (1<<31) + +#define ACPI_OTHER_OUTPUT (0<<8) +#define ACPI_VGA_OUTPUT (1<<8) +#define ACPI_TV_OUTPUT (2<<8) +#define ACPI_DIGITAL_OUTPUT (3<<8) +#define ACPI_LVDS_OUTPUT (4<<8) + +#ifdef CONFIG_ACPI +static u32 asle_set_backlight(struct drm_device *dev, u32 bclp) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct opregion_asle __iomem *asle = dev_priv->opregion.asle; + u32 max; + + DRM_DEBUG_DRIVER("bclp = 0x%08x\n", bclp); + + if (!(bclp & ASLE_BCLP_VALID)) + return ASLE_BACKLIGHT_FAILED; + + bclp &= ASLE_BCLP_MSK; + if (bclp > 255) + return ASLE_BACKLIGHT_FAILED; + + max = intel_panel_get_max_backlight(dev); + intel_panel_set_backlight(dev, bclp * max / 255); + iowrite32((bclp*0x64)/0xff | ASLE_CBLV_VALID, &asle->cblv); + + return 0; +} + +static u32 asle_set_als_illum(struct drm_device *dev, u32 alsi) +{ + /* alsi is the current ALS reading in lux. 0 indicates below sensor + range, 0xffff indicates above sensor range. 1-0xfffe are valid */ + return 0; +} + +static u32 asle_set_pwm_freq(struct drm_device *dev, u32 pfmb) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + if (pfmb & ASLE_PFMB_PWM_VALID) { + u32 blc_pwm_ctl = I915_READ(BLC_PWM_CTL); + u32 pwm = pfmb & ASLE_PFMB_PWM_MASK; + blc_pwm_ctl &= BACKLIGHT_DUTY_CYCLE_MASK; + pwm = pwm >> 9; + /* FIXME - what do we do with the PWM? */ + } + return 0; +} + +static u32 asle_set_pfit(struct drm_device *dev, u32 pfit) +{ + /* Panel fitting is currently controlled by the X code, so this is a + noop until modesetting support works fully */ + if (!(pfit & ASLE_PFIT_VALID)) + return ASLE_PFIT_FAILED; + return 0; +} + +void intel_opregion_asle_intr(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct opregion_asle __iomem *asle = dev_priv->opregion.asle; + u32 asle_stat = 0; + u32 asle_req; + + if (!asle) + return; + + asle_req = ioread32(&asle->aslc) & ASLE_REQ_MSK; + + if (!asle_req) { + DRM_DEBUG_DRIVER("non asle set request??\n"); + return; + } + + if (asle_req & ASLE_SET_ALS_ILLUM) + asle_stat |= asle_set_als_illum(dev, ioread32(&asle->alsi)); + + if (asle_req & ASLE_SET_BACKLIGHT) + asle_stat |= asle_set_backlight(dev, ioread32(&asle->bclp)); + + if (asle_req & ASLE_SET_PFIT) + asle_stat |= asle_set_pfit(dev, ioread32(&asle->pfit)); + + if (asle_req & ASLE_SET_PWM_FREQ) + asle_stat |= asle_set_pwm_freq(dev, ioread32(&asle->pfmb)); + + iowrite32(asle_stat, &asle->aslc); +} + +void intel_opregion_gse_intr(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct opregion_asle __iomem *asle = dev_priv->opregion.asle; + u32 asle_stat = 0; + u32 asle_req; + + if (!asle) + return; + + asle_req = ioread32(&asle->aslc) & ASLE_REQ_MSK; + + if (!asle_req) { + DRM_DEBUG_DRIVER("non asle set request??\n"); + return; + } + + if (asle_req & ASLE_SET_ALS_ILLUM) { + DRM_DEBUG_DRIVER("Illum is not supported\n"); + asle_stat |= ASLE_ALS_ILLUM_FAILED; + } + + if (asle_req & ASLE_SET_BACKLIGHT) + asle_stat |= asle_set_backlight(dev, ioread32(&asle->bclp)); + + if (asle_req & ASLE_SET_PFIT) { + DRM_DEBUG_DRIVER("Pfit is not supported\n"); + asle_stat |= ASLE_PFIT_FAILED; + } + + if (asle_req & ASLE_SET_PWM_FREQ) { + DRM_DEBUG_DRIVER("PWM freq is not supported\n"); + asle_stat |= ASLE_PWM_FREQ_FAILED; + } + + iowrite32(asle_stat, &asle->aslc); +} +#define ASLE_ALS_EN (1<<0) +#define ASLE_BLC_EN (1<<1) +#define ASLE_PFIT_EN (1<<2) +#define ASLE_PFMB_EN (1<<3) + +void intel_opregion_enable_asle(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct opregion_asle __iomem *asle = dev_priv->opregion.asle; + + if (asle) { + if (IS_MOBILE(dev)) + intel_enable_asle(dev); + + iowrite32(ASLE_ALS_EN | ASLE_BLC_EN | ASLE_PFIT_EN | + ASLE_PFMB_EN, + &asle->tche); + iowrite32(1, &asle->ardy); + } +} + +#define ACPI_EV_DISPLAY_SWITCH (1<<0) +#define ACPI_EV_LID (1<<1) +#define ACPI_EV_DOCK (1<<2) + +static struct intel_opregion *system_opregion; + +static int intel_opregion_video_event(struct notifier_block *nb, + unsigned long val, void *data) +{ + /* The only video events relevant to opregion are 0x80. These indicate + either a docking event, lid switch or display switch request. In + Linux, these are handled by the dock, button and video drivers. + */ + + struct opregion_acpi __iomem *acpi; + struct acpi_bus_event *event = data; + int ret = NOTIFY_OK; + + if (strcmp(event->device_class, ACPI_VIDEO_CLASS) != 0) + return NOTIFY_DONE; + + if (!system_opregion) + return NOTIFY_DONE; + + acpi = system_opregion->acpi; + + if (event->type == 0x80 && + (ioread32(&acpi->cevt) & 1) == 0) + ret = NOTIFY_BAD; + + iowrite32(0, &acpi->csts); + + return ret; +} + +static struct notifier_block intel_opregion_notifier = { + .notifier_call = intel_opregion_video_event, +}; + +/* + * Initialise the DIDL field in opregion. This passes a list of devices to + * the firmware. Values are defined by section B.4.2 of the ACPI specification + * (version 3) + */ + +static void intel_didl_outputs(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_opregion *opregion = &dev_priv->opregion; + struct drm_connector *connector; + acpi_handle handle; + struct acpi_device *acpi_dev, *acpi_cdev, *acpi_video_bus = NULL; + unsigned long long device_id; + acpi_status status; + u32 temp; + int i = 0; + + handle = DEVICE_ACPI_HANDLE(&dev->pdev->dev); + if (!handle || ACPI_FAILURE(acpi_bus_get_device(handle, &acpi_dev))) + return; + + if (acpi_is_video_device(acpi_dev)) + acpi_video_bus = acpi_dev; + else { + list_for_each_entry(acpi_cdev, &acpi_dev->children, node) { + if (acpi_is_video_device(acpi_cdev)) { + acpi_video_bus = acpi_cdev; + break; + } + } + } + + if (!acpi_video_bus) { + pr_warn("No ACPI video bus found\n"); + return; + } + + list_for_each_entry(acpi_cdev, &acpi_video_bus->children, node) { + if (i >= 8) { + dev_printk(KERN_ERR, &dev->pdev->dev, + "More than 8 outputs detected\n"); + return; + } + status = + acpi_evaluate_integer(acpi_cdev->handle, "_ADR", + NULL, &device_id); + if (ACPI_SUCCESS(status)) { + if (!device_id) + goto blind_set; + iowrite32((u32)(device_id & 0x0f0f), + &opregion->acpi->didl[i]); + i++; + } + } + +end: + /* If fewer than 8 outputs, the list must be null terminated */ + if (i < 8) + iowrite32(0, &opregion->acpi->didl[i]); + return; + +blind_set: + i = 0; + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + int output_type = ACPI_OTHER_OUTPUT; + if (i >= 8) { + dev_printk(KERN_ERR, &dev->pdev->dev, + "More than 8 outputs detected\n"); + return; + } + switch (connector->connector_type) { + case DRM_MODE_CONNECTOR_VGA: + case DRM_MODE_CONNECTOR_DVIA: + output_type = ACPI_VGA_OUTPUT; + break; + case DRM_MODE_CONNECTOR_Composite: + case DRM_MODE_CONNECTOR_SVIDEO: + case DRM_MODE_CONNECTOR_Component: + case DRM_MODE_CONNECTOR_9PinDIN: + output_type = ACPI_TV_OUTPUT; + break; + case DRM_MODE_CONNECTOR_DVII: + case DRM_MODE_CONNECTOR_DVID: + case DRM_MODE_CONNECTOR_DisplayPort: + case DRM_MODE_CONNECTOR_HDMIA: + case DRM_MODE_CONNECTOR_HDMIB: + output_type = ACPI_DIGITAL_OUTPUT; + break; + case DRM_MODE_CONNECTOR_LVDS: + output_type = ACPI_LVDS_OUTPUT; + break; + } + temp = ioread32(&opregion->acpi->didl[i]); + iowrite32(temp | (1<<31) | output_type | i, + &opregion->acpi->didl[i]); + i++; + } + goto end; +} + +static void intel_setup_cadls(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_opregion *opregion = &dev_priv->opregion; + int i = 0; + u32 disp_id; + + /* Initialize the CADL field by duplicating the DIDL values. + * Technically, this is not always correct as display outputs may exist, + * but not active. This initialization is necessary for some Clevo + * laptops that check this field before processing the brightness and + * display switching hotkeys. Just like DIDL, CADL is NULL-terminated if + * there are less than eight devices. */ + do { + disp_id = ioread32(&opregion->acpi->didl[i]); + iowrite32(disp_id, &opregion->acpi->cadl[i]); + } while (++i < 8 && disp_id != 0); +} + +void intel_opregion_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_opregion *opregion = &dev_priv->opregion; + + if (!opregion->header) + return; + + if (opregion->acpi) { + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + intel_didl_outputs(dev); + intel_setup_cadls(dev); + } + + /* Notify BIOS we are ready to handle ACPI video ext notifs. + * Right now, all the events are handled by the ACPI video module. + * We don't actually need to do anything with them. */ + iowrite32(0, &opregion->acpi->csts); + iowrite32(1, &opregion->acpi->drdy); + + system_opregion = opregion; + register_acpi_notifier(&intel_opregion_notifier); + } + + if (opregion->asle) + intel_opregion_enable_asle(dev); +} + +void intel_opregion_fini(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_opregion *opregion = &dev_priv->opregion; + + if (!opregion->header) + return; + + if (opregion->acpi) { + iowrite32(0, &opregion->acpi->drdy); + + system_opregion = NULL; + unregister_acpi_notifier(&intel_opregion_notifier); + } + + /* just clear all opregion memory pointers now */ + iounmap(opregion->header); + opregion->header = NULL; + opregion->acpi = NULL; + opregion->swsci = NULL; + opregion->asle = NULL; + opregion->vbt = NULL; +} +#endif + +int intel_opregion_setup(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_opregion *opregion = &dev_priv->opregion; + void __iomem *base; + u32 asls, mboxes; + char buf[sizeof(OPREGION_SIGNATURE)]; + int err = 0; + + pci_read_config_dword(dev->pdev, PCI_ASLS, &asls); + DRM_DEBUG_DRIVER("graphic opregion physical addr: 0x%x\n", asls); + if (asls == 0) { + DRM_DEBUG_DRIVER("ACPI OpRegion not supported!\n"); + return -ENOTSUPP; + } + + base = acpi_os_ioremap(asls, OPREGION_SIZE); + if (!base) + return -ENOMEM; + + memcpy_fromio(buf, base, sizeof(buf)); + + if (memcmp(buf, OPREGION_SIGNATURE, 16)) { + DRM_DEBUG_DRIVER("opregion signature mismatch\n"); + err = -EINVAL; + goto err_out; + } + opregion->header = base; + opregion->vbt = base + OPREGION_VBT_OFFSET; + + opregion->lid_state = base + ACPI_CLID; + + mboxes = ioread32(&opregion->header->mboxes); + if (mboxes & MBOX_ACPI) { + DRM_DEBUG_DRIVER("Public ACPI methods supported\n"); + opregion->acpi = base + OPREGION_ACPI_OFFSET; + } + + if (mboxes & MBOX_SWSCI) { + DRM_DEBUG_DRIVER("SWSCI supported\n"); + opregion->swsci = base + OPREGION_SWSCI_OFFSET; + } + if (mboxes & MBOX_ASLE) { + DRM_DEBUG_DRIVER("ASLE supported\n"); + opregion->asle = base + OPREGION_ASLE_OFFSET; + } + + return 0; + +err_out: + iounmap(base); + return err; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_overlay.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_overlay.c @@ -0,0 +1,1538 @@ +/* + * Copyright © 2009 + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Authors: + * Daniel Vetter + * + * Derived from Xorg ddx, xf86-video-intel, src/i830_video.c + */ +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_reg.h" +#include "intel_drv.h" + +/* Limits for overlay size. According to intel doc, the real limits are: + * Y width: 4095, UV width (planar): 2047, Y height: 2047, + * UV width (planar): * 1023. But the xorg thinks 2048 for height and width. Use + * the mininum of both. */ +#define IMAGE_MAX_WIDTH 2048 +#define IMAGE_MAX_HEIGHT 2046 /* 2 * 1023 */ +/* on 830 and 845 these large limits result in the card hanging */ +#define IMAGE_MAX_WIDTH_LEGACY 1024 +#define IMAGE_MAX_HEIGHT_LEGACY 1088 + +/* overlay register definitions */ +/* OCMD register */ +#define OCMD_TILED_SURFACE (0x1<<19) +#define OCMD_MIRROR_MASK (0x3<<17) +#define OCMD_MIRROR_MODE (0x3<<17) +#define OCMD_MIRROR_HORIZONTAL (0x1<<17) +#define OCMD_MIRROR_VERTICAL (0x2<<17) +#define OCMD_MIRROR_BOTH (0x3<<17) +#define OCMD_BYTEORDER_MASK (0x3<<14) /* zero for YUYV or FOURCC YUY2 */ +#define OCMD_UV_SWAP (0x1<<14) /* YVYU */ +#define OCMD_Y_SWAP (0x2<<14) /* UYVY or FOURCC UYVY */ +#define OCMD_Y_AND_UV_SWAP (0x3<<14) /* VYUY */ +#define OCMD_SOURCE_FORMAT_MASK (0xf<<10) +#define OCMD_RGB_888 (0x1<<10) /* not in i965 Intel docs */ +#define OCMD_RGB_555 (0x2<<10) /* not in i965 Intel docs */ +#define OCMD_RGB_565 (0x3<<10) /* not in i965 Intel docs */ +#define OCMD_YUV_422_PACKED (0x8<<10) +#define OCMD_YUV_411_PACKED (0x9<<10) /* not in i965 Intel docs */ +#define OCMD_YUV_420_PLANAR (0xc<<10) +#define OCMD_YUV_422_PLANAR (0xd<<10) +#define OCMD_YUV_410_PLANAR (0xe<<10) /* also 411 */ +#define OCMD_TVSYNCFLIP_PARITY (0x1<<9) +#define OCMD_TVSYNCFLIP_ENABLE (0x1<<7) +#define OCMD_BUF_TYPE_MASK (0x1<<5) +#define OCMD_BUF_TYPE_FRAME (0x0<<5) +#define OCMD_BUF_TYPE_FIELD (0x1<<5) +#define OCMD_TEST_MODE (0x1<<4) +#define OCMD_BUFFER_SELECT (0x3<<2) +#define OCMD_BUFFER0 (0x0<<2) +#define OCMD_BUFFER1 (0x1<<2) +#define OCMD_FIELD_SELECT (0x1<<2) +#define OCMD_FIELD0 (0x0<<1) +#define OCMD_FIELD1 (0x1<<1) +#define OCMD_ENABLE (0x1<<0) + +/* OCONFIG register */ +#define OCONF_PIPE_MASK (0x1<<18) +#define OCONF_PIPE_A (0x0<<18) +#define OCONF_PIPE_B (0x1<<18) +#define OCONF_GAMMA2_ENABLE (0x1<<16) +#define OCONF_CSC_MODE_BT601 (0x0<<5) +#define OCONF_CSC_MODE_BT709 (0x1<<5) +#define OCONF_CSC_BYPASS (0x1<<4) +#define OCONF_CC_OUT_8BIT (0x1<<3) +#define OCONF_TEST_MODE (0x1<<2) +#define OCONF_THREE_LINE_BUFFER (0x1<<0) +#define OCONF_TWO_LINE_BUFFER (0x0<<0) + +/* DCLRKM (dst-key) register */ +#define DST_KEY_ENABLE (0x1<<31) +#define CLK_RGB24_MASK 0x0 +#define CLK_RGB16_MASK 0x070307 +#define CLK_RGB15_MASK 0x070707 +#define CLK_RGB8I_MASK 0xffffff + +#define RGB16_TO_COLORKEY(c) \ + (((c & 0xF800) << 8) | ((c & 0x07E0) << 5) | ((c & 0x001F) << 3)) +#define RGB15_TO_COLORKEY(c) \ + (((c & 0x7c00) << 9) | ((c & 0x03E0) << 6) | ((c & 0x001F) << 3)) + +/* overlay flip addr flag */ +#define OFC_UPDATE 0x1 + +/* polyphase filter coefficients */ +#define N_HORIZ_Y_TAPS 5 +#define N_VERT_Y_TAPS 3 +#define N_HORIZ_UV_TAPS 3 +#define N_VERT_UV_TAPS 3 +#define N_PHASES 17 +#define MAX_TAPS 5 + +/* memory bufferd overlay registers */ +struct overlay_registers { + u32 OBUF_0Y; + u32 OBUF_1Y; + u32 OBUF_0U; + u32 OBUF_0V; + u32 OBUF_1U; + u32 OBUF_1V; + u32 OSTRIDE; + u32 YRGB_VPH; + u32 UV_VPH; + u32 HORZ_PH; + u32 INIT_PHS; + u32 DWINPOS; + u32 DWINSZ; + u32 SWIDTH; + u32 SWIDTHSW; + u32 SHEIGHT; + u32 YRGBSCALE; + u32 UVSCALE; + u32 OCLRC0; + u32 OCLRC1; + u32 DCLRKV; + u32 DCLRKM; + u32 SCLRKVH; + u32 SCLRKVL; + u32 SCLRKEN; + u32 OCONFIG; + u32 OCMD; + u32 RESERVED1; /* 0x6C */ + u32 OSTART_0Y; + u32 OSTART_1Y; + u32 OSTART_0U; + u32 OSTART_0V; + u32 OSTART_1U; + u32 OSTART_1V; + u32 OTILEOFF_0Y; + u32 OTILEOFF_1Y; + u32 OTILEOFF_0U; + u32 OTILEOFF_0V; + u32 OTILEOFF_1U; + u32 OTILEOFF_1V; + u32 FASTHSCALE; /* 0xA0 */ + u32 UVSCALEV; /* 0xA4 */ + u32 RESERVEDC[(0x200 - 0xA8) / 4]; /* 0xA8 - 0x1FC */ + u16 Y_VCOEFS[N_VERT_Y_TAPS * N_PHASES]; /* 0x200 */ + u16 RESERVEDD[0x100 / 2 - N_VERT_Y_TAPS * N_PHASES]; + u16 Y_HCOEFS[N_HORIZ_Y_TAPS * N_PHASES]; /* 0x300 */ + u16 RESERVEDE[0x200 / 2 - N_HORIZ_Y_TAPS * N_PHASES]; + u16 UV_VCOEFS[N_VERT_UV_TAPS * N_PHASES]; /* 0x500 */ + u16 RESERVEDF[0x100 / 2 - N_VERT_UV_TAPS * N_PHASES]; + u16 UV_HCOEFS[N_HORIZ_UV_TAPS * N_PHASES]; /* 0x600 */ + u16 RESERVEDG[0x100 / 2 - N_HORIZ_UV_TAPS * N_PHASES]; +}; + +struct intel_overlay { + struct drm_device *dev; + struct intel_crtc *crtc; + struct drm_i915_gem_object *vid_bo; + struct drm_i915_gem_object *old_vid_bo; + int active; + int pfit_active; + u32 pfit_vscale_ratio; /* shifted-point number, (1<<12) == 1.0 */ + u32 color_key; + u32 brightness, contrast, saturation; + u32 old_xscale, old_yscale; + /* register access */ + u32 flip_addr; + struct drm_i915_gem_object *reg_bo; + /* flip handling */ + uint32_t last_flip_req; + void (*flip_tail)(struct intel_overlay *); +}; + +static struct overlay_registers __iomem * +intel_overlay_map_regs(struct intel_overlay *overlay) +{ + drm_i915_private_t *dev_priv = overlay->dev->dev_private; + struct overlay_registers __iomem *regs; + + if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) + regs = (struct overlay_registers __iomem *)overlay->reg_bo->phys_obj->handle->vaddr; + else + regs = io_mapping_map_wc(dev_priv->mm.gtt_mapping, + overlay->reg_bo->gtt_offset); + + return regs; +} + +static void intel_overlay_unmap_regs(struct intel_overlay *overlay, + struct overlay_registers __iomem *regs) +{ + if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev)) + io_mapping_unmap(regs); +} + +static int intel_overlay_do_wait_request(struct intel_overlay *overlay, + void (*tail)(struct intel_overlay *)) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + BUG_ON(overlay->last_flip_req); + ret = i915_add_request(ring, NULL, &overlay->last_flip_req); + if (ret) + return ret; + + overlay->flip_tail = tail; + ret = i915_wait_seqno(ring, overlay->last_flip_req); + if (ret) + return ret; + i915_gem_retire_requests(dev); + + overlay->last_flip_req = 0; + return 0; +} + +/* overlay needs to be disable in OCMD reg */ +static int intel_overlay_on(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + BUG_ON(overlay->active); + overlay->active = 1; + + WARN_ON(IS_I830(dev) && !(dev_priv->quirks & QUIRK_PIPEA_FORCE)); + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + intel_ring_emit(ring, MI_OVERLAY_FLIP | MI_OVERLAY_ON); + intel_ring_emit(ring, overlay->flip_addr | OFC_UPDATE); + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + + return intel_overlay_do_wait_request(overlay, NULL); +} + +/* overlay needs to be enabled in OCMD reg */ +static int intel_overlay_continue(struct intel_overlay *overlay, + bool load_polyphase_filter) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + u32 flip_addr = overlay->flip_addr; + u32 tmp; + int ret; + + BUG_ON(!overlay->active); + + if (load_polyphase_filter) + flip_addr |= OFC_UPDATE; + + /* check for underruns */ + tmp = I915_READ(DOVSTA); + if (tmp & (1 << 17)) + DRM_DEBUG("overlay underrun, DOVSTA: %x\n", tmp); + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, MI_OVERLAY_FLIP | MI_OVERLAY_CONTINUE); + intel_ring_emit(ring, flip_addr); + intel_ring_advance(ring); + + return i915_add_request(ring, NULL, &overlay->last_flip_req); +} + +static void intel_overlay_release_old_vid_tail(struct intel_overlay *overlay) +{ + struct drm_i915_gem_object *obj = overlay->old_vid_bo; + + i915_gem_object_unpin(obj); + drm_gem_object_unreference(&obj->base); + + overlay->old_vid_bo = NULL; +} + +static void intel_overlay_off_tail(struct intel_overlay *overlay) +{ + struct drm_i915_gem_object *obj = overlay->vid_bo; + + /* never have the overlay hw on without showing a frame */ + BUG_ON(!overlay->vid_bo); + + i915_gem_object_unpin(obj); + drm_gem_object_unreference(&obj->base); + overlay->vid_bo = NULL; + + overlay->crtc->overlay = NULL; + overlay->crtc = NULL; + overlay->active = 0; +} + +/* overlay needs to be disabled in OCMD reg */ +static int intel_overlay_off(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + u32 flip_addr = overlay->flip_addr; + int ret; + + BUG_ON(!overlay->active); + + /* According to intel docs the overlay hw may hang (when switching + * off) without loading the filter coeffs. It is however unclear whether + * this applies to the disabling of the overlay or to the switching off + * of the hw. Do it in both cases */ + flip_addr |= OFC_UPDATE; + + ret = intel_ring_begin(ring, 6); + if (ret) + return ret; + + /* wait for overlay to go idle */ + intel_ring_emit(ring, MI_OVERLAY_FLIP | MI_OVERLAY_CONTINUE); + intel_ring_emit(ring, flip_addr); + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + /* turn overlay off */ + if (IS_I830(dev)) { + /* Workaround: Don't disable the overlay fully, since otherwise + * it dies on the next OVERLAY_ON cmd. */ + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_NOOP); + } else { + intel_ring_emit(ring, MI_OVERLAY_FLIP | MI_OVERLAY_OFF); + intel_ring_emit(ring, flip_addr); + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + } + intel_ring_advance(ring); + + return intel_overlay_do_wait_request(overlay, intel_overlay_off_tail); +} + +/* recover from an interruption due to a signal + * We have to be careful not to repeat work forever an make forward progess. */ +static int intel_overlay_recover_from_interrupt(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + if (overlay->last_flip_req == 0) + return 0; + + ret = i915_wait_seqno(ring, overlay->last_flip_req); + if (ret) + return ret; + i915_gem_retire_requests(dev); + + if (overlay->flip_tail) + overlay->flip_tail(overlay); + + overlay->last_flip_req = 0; + return 0; +} + +/* Wait for pending overlay flip and release old frame. + * Needs to be called before the overlay register are changed + * via intel_overlay_(un)map_regs + */ +static int intel_overlay_release_old_vid(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + /* Only wait if there is actually an old frame to release to + * guarantee forward progress. + */ + if (!overlay->old_vid_bo) + return 0; + + if (I915_READ(ISR) & I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT) { + /* synchronous slowpath */ + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + + ret = intel_overlay_do_wait_request(overlay, + intel_overlay_release_old_vid_tail); + if (ret) + return ret; + } + + intel_overlay_release_old_vid_tail(overlay); + return 0; +} + +struct put_image_params { + int format; + short dst_x; + short dst_y; + short dst_w; + short dst_h; + short src_w; + short src_scan_h; + short src_scan_w; + short src_h; + short stride_Y; + short stride_UV; + int offset_Y; + int offset_U; + int offset_V; +}; + +static int packed_depth_bytes(u32 format) +{ + switch (format & I915_OVERLAY_DEPTH_MASK) { + case I915_OVERLAY_YUV422: + return 4; + case I915_OVERLAY_YUV411: + /* return 6; not implemented */ + default: + return -EINVAL; + } +} + +static int packed_width_bytes(u32 format, short width) +{ + switch (format & I915_OVERLAY_DEPTH_MASK) { + case I915_OVERLAY_YUV422: + return width << 1; + default: + return -EINVAL; + } +} + +static int uv_hsubsampling(u32 format) +{ + switch (format & I915_OVERLAY_DEPTH_MASK) { + case I915_OVERLAY_YUV422: + case I915_OVERLAY_YUV420: + return 2; + case I915_OVERLAY_YUV411: + case I915_OVERLAY_YUV410: + return 4; + default: + return -EINVAL; + } +} + +static int uv_vsubsampling(u32 format) +{ + switch (format & I915_OVERLAY_DEPTH_MASK) { + case I915_OVERLAY_YUV420: + case I915_OVERLAY_YUV410: + return 2; + case I915_OVERLAY_YUV422: + case I915_OVERLAY_YUV411: + return 1; + default: + return -EINVAL; + } +} + +static u32 calc_swidthsw(struct drm_device *dev, u32 offset, u32 width) +{ + u32 mask, shift, ret; + if (IS_GEN2(dev)) { + mask = 0x1f; + shift = 5; + } else { + mask = 0x3f; + shift = 6; + } + ret = ((offset + width + mask) >> shift) - (offset >> shift); + if (!IS_GEN2(dev)) + ret <<= 1; + ret -= 1; + return ret << 2; +} + +static const u16 y_static_hcoeffs[N_HORIZ_Y_TAPS * N_PHASES] = { + 0x3000, 0xb4a0, 0x1930, 0x1920, 0xb4a0, + 0x3000, 0xb500, 0x19d0, 0x1880, 0xb440, + 0x3000, 0xb540, 0x1a88, 0x2f80, 0xb3e0, + 0x3000, 0xb580, 0x1b30, 0x2e20, 0xb380, + 0x3000, 0xb5c0, 0x1bd8, 0x2cc0, 0xb320, + 0x3020, 0xb5e0, 0x1c60, 0x2b80, 0xb2c0, + 0x3020, 0xb5e0, 0x1cf8, 0x2a20, 0xb260, + 0x3020, 0xb5e0, 0x1d80, 0x28e0, 0xb200, + 0x3020, 0xb5c0, 0x1e08, 0x3f40, 0xb1c0, + 0x3020, 0xb580, 0x1e78, 0x3ce0, 0xb160, + 0x3040, 0xb520, 0x1ed8, 0x3aa0, 0xb120, + 0x3040, 0xb4a0, 0x1f30, 0x3880, 0xb0e0, + 0x3040, 0xb400, 0x1f78, 0x3680, 0xb0a0, + 0x3020, 0xb340, 0x1fb8, 0x34a0, 0xb060, + 0x3020, 0xb240, 0x1fe0, 0x32e0, 0xb040, + 0x3020, 0xb140, 0x1ff8, 0x3160, 0xb020, + 0xb000, 0x3000, 0x0800, 0x3000, 0xb000 +}; + +static const u16 uv_static_hcoeffs[N_HORIZ_UV_TAPS * N_PHASES] = { + 0x3000, 0x1800, 0x1800, 0xb000, 0x18d0, 0x2e60, + 0xb000, 0x1990, 0x2ce0, 0xb020, 0x1a68, 0x2b40, + 0xb040, 0x1b20, 0x29e0, 0xb060, 0x1bd8, 0x2880, + 0xb080, 0x1c88, 0x3e60, 0xb0a0, 0x1d28, 0x3c00, + 0xb0c0, 0x1db8, 0x39e0, 0xb0e0, 0x1e40, 0x37e0, + 0xb100, 0x1eb8, 0x3620, 0xb100, 0x1f18, 0x34a0, + 0xb100, 0x1f68, 0x3360, 0xb0e0, 0x1fa8, 0x3240, + 0xb0c0, 0x1fe0, 0x3140, 0xb060, 0x1ff0, 0x30a0, + 0x3000, 0x0800, 0x3000 +}; + +static void update_polyphase_filter(struct overlay_registers __iomem *regs) +{ + memcpy_toio(regs->Y_HCOEFS, y_static_hcoeffs, sizeof(y_static_hcoeffs)); + memcpy_toio(regs->UV_HCOEFS, uv_static_hcoeffs, + sizeof(uv_static_hcoeffs)); +} + +static bool update_scaling_factors(struct intel_overlay *overlay, + struct overlay_registers __iomem *regs, + struct put_image_params *params) +{ + /* fixed point with a 12 bit shift */ + u32 xscale, yscale, xscale_UV, yscale_UV; +#define FP_SHIFT 12 +#define FRACT_MASK 0xfff + bool scale_changed = false; + int uv_hscale = uv_hsubsampling(params->format); + int uv_vscale = uv_vsubsampling(params->format); + + if (params->dst_w > 1) + xscale = ((params->src_scan_w - 1) << FP_SHIFT) + /(params->dst_w); + else + xscale = 1 << FP_SHIFT; + + if (params->dst_h > 1) + yscale = ((params->src_scan_h - 1) << FP_SHIFT) + /(params->dst_h); + else + yscale = 1 << FP_SHIFT; + + /*if (params->format & I915_OVERLAY_YUV_PLANAR) {*/ + xscale_UV = xscale/uv_hscale; + yscale_UV = yscale/uv_vscale; + /* make the Y scale to UV scale ratio an exact multiply */ + xscale = xscale_UV * uv_hscale; + yscale = yscale_UV * uv_vscale; + /*} else { + xscale_UV = 0; + yscale_UV = 0; + }*/ + + if (xscale != overlay->old_xscale || yscale != overlay->old_yscale) + scale_changed = true; + overlay->old_xscale = xscale; + overlay->old_yscale = yscale; + + iowrite32(((yscale & FRACT_MASK) << 20) | + ((xscale >> FP_SHIFT) << 16) | + ((xscale & FRACT_MASK) << 3), + ®s->YRGBSCALE); + + iowrite32(((yscale_UV & FRACT_MASK) << 20) | + ((xscale_UV >> FP_SHIFT) << 16) | + ((xscale_UV & FRACT_MASK) << 3), + ®s->UVSCALE); + + iowrite32((((yscale >> FP_SHIFT) << 16) | + ((yscale_UV >> FP_SHIFT) << 0)), + ®s->UVSCALEV); + + if (scale_changed) + update_polyphase_filter(regs); + + return scale_changed; +} + +static void update_colorkey(struct intel_overlay *overlay, + struct overlay_registers __iomem *regs) +{ + u32 key = overlay->color_key; + + switch (overlay->crtc->base.fb->bits_per_pixel) { + case 8: + iowrite32(0, ®s->DCLRKV); + iowrite32(CLK_RGB8I_MASK | DST_KEY_ENABLE, ®s->DCLRKM); + break; + + case 16: + if (overlay->crtc->base.fb->depth == 15) { + iowrite32(RGB15_TO_COLORKEY(key), ®s->DCLRKV); + iowrite32(CLK_RGB15_MASK | DST_KEY_ENABLE, + ®s->DCLRKM); + } else { + iowrite32(RGB16_TO_COLORKEY(key), ®s->DCLRKV); + iowrite32(CLK_RGB16_MASK | DST_KEY_ENABLE, + ®s->DCLRKM); + } + break; + + case 24: + case 32: + iowrite32(key, ®s->DCLRKV); + iowrite32(CLK_RGB24_MASK | DST_KEY_ENABLE, ®s->DCLRKM); + break; + } +} + +static u32 overlay_cmd_reg(struct put_image_params *params) +{ + u32 cmd = OCMD_ENABLE | OCMD_BUF_TYPE_FRAME | OCMD_BUFFER0; + + if (params->format & I915_OVERLAY_YUV_PLANAR) { + switch (params->format & I915_OVERLAY_DEPTH_MASK) { + case I915_OVERLAY_YUV422: + cmd |= OCMD_YUV_422_PLANAR; + break; + case I915_OVERLAY_YUV420: + cmd |= OCMD_YUV_420_PLANAR; + break; + case I915_OVERLAY_YUV411: + case I915_OVERLAY_YUV410: + cmd |= OCMD_YUV_410_PLANAR; + break; + } + } else { /* YUV packed */ + switch (params->format & I915_OVERLAY_DEPTH_MASK) { + case I915_OVERLAY_YUV422: + cmd |= OCMD_YUV_422_PACKED; + break; + case I915_OVERLAY_YUV411: + cmd |= OCMD_YUV_411_PACKED; + break; + } + + switch (params->format & I915_OVERLAY_SWAP_MASK) { + case I915_OVERLAY_NO_SWAP: + break; + case I915_OVERLAY_UV_SWAP: + cmd |= OCMD_UV_SWAP; + break; + case I915_OVERLAY_Y_SWAP: + cmd |= OCMD_Y_SWAP; + break; + case I915_OVERLAY_Y_AND_UV_SWAP: + cmd |= OCMD_Y_AND_UV_SWAP; + break; + } + } + + return cmd; +} + +static int intel_overlay_do_put_image(struct intel_overlay *overlay, + struct drm_i915_gem_object *new_bo, + struct put_image_params *params) +{ + int ret, tmp_width; + struct overlay_registers __iomem *regs; + bool scale_changed = false; + struct drm_device *dev = overlay->dev; + u32 swidth, swidthsw, sheight, ostride; + + BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); + BUG_ON(!overlay); + + ret = intel_overlay_release_old_vid(overlay); + if (ret != 0) + return ret; + + ret = i915_gem_object_pin_to_display_plane(new_bo, 0, NULL); + if (ret != 0) + return ret; + + ret = i915_gem_object_put_fence(new_bo); + if (ret) + goto out_unpin; + + if (!overlay->active) { + u32 oconfig; + regs = intel_overlay_map_regs(overlay); + if (!regs) { + ret = -ENOMEM; + goto out_unpin; + } + oconfig = OCONF_CC_OUT_8BIT; + if (IS_GEN4(overlay->dev)) + oconfig |= OCONF_CSC_MODE_BT709; + oconfig |= overlay->crtc->pipe == 0 ? + OCONF_PIPE_A : OCONF_PIPE_B; + iowrite32(oconfig, ®s->OCONFIG); + intel_overlay_unmap_regs(overlay, regs); + + ret = intel_overlay_on(overlay); + if (ret != 0) + goto out_unpin; + } + + regs = intel_overlay_map_regs(overlay); + if (!regs) { + ret = -ENOMEM; + goto out_unpin; + } + + iowrite32((params->dst_y << 16) | params->dst_x, ®s->DWINPOS); + iowrite32((params->dst_h << 16) | params->dst_w, ®s->DWINSZ); + + if (params->format & I915_OVERLAY_YUV_PACKED) + tmp_width = packed_width_bytes(params->format, params->src_w); + else + tmp_width = params->src_w; + + swidth = params->src_w; + swidthsw = calc_swidthsw(overlay->dev, params->offset_Y, tmp_width); + sheight = params->src_h; + iowrite32(new_bo->gtt_offset + params->offset_Y, ®s->OBUF_0Y); + ostride = params->stride_Y; + + if (params->format & I915_OVERLAY_YUV_PLANAR) { + int uv_hscale = uv_hsubsampling(params->format); + int uv_vscale = uv_vsubsampling(params->format); + u32 tmp_U, tmp_V; + swidth |= (params->src_w/uv_hscale) << 16; + tmp_U = calc_swidthsw(overlay->dev, params->offset_U, + params->src_w/uv_hscale); + tmp_V = calc_swidthsw(overlay->dev, params->offset_V, + params->src_w/uv_hscale); + swidthsw |= max_t(u32, tmp_U, tmp_V) << 16; + sheight |= (params->src_h/uv_vscale) << 16; + iowrite32(new_bo->gtt_offset + params->offset_U, ®s->OBUF_0U); + iowrite32(new_bo->gtt_offset + params->offset_V, ®s->OBUF_0V); + ostride |= params->stride_UV << 16; + } + + iowrite32(swidth, ®s->SWIDTH); + iowrite32(swidthsw, ®s->SWIDTHSW); + iowrite32(sheight, ®s->SHEIGHT); + iowrite32(ostride, ®s->OSTRIDE); + + scale_changed = update_scaling_factors(overlay, regs, params); + + update_colorkey(overlay, regs); + + iowrite32(overlay_cmd_reg(params), ®s->OCMD); + + intel_overlay_unmap_regs(overlay, regs); + + ret = intel_overlay_continue(overlay, scale_changed); + if (ret) + goto out_unpin; + + overlay->old_vid_bo = overlay->vid_bo; + overlay->vid_bo = new_bo; + + return 0; + +out_unpin: + i915_gem_object_unpin(new_bo); + return ret; +} + +int intel_overlay_switch_off(struct intel_overlay *overlay) +{ + struct overlay_registers __iomem *regs; + struct drm_device *dev = overlay->dev; + int ret; + + BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); + + ret = intel_overlay_recover_from_interrupt(overlay); + if (ret != 0) + return ret; + + if (!overlay->active) + return 0; + + ret = intel_overlay_release_old_vid(overlay); + if (ret != 0) + return ret; + + regs = intel_overlay_map_regs(overlay); + iowrite32(0, ®s->OCMD); + intel_overlay_unmap_regs(overlay, regs); + + ret = intel_overlay_off(overlay); + if (ret != 0) + return ret; + + intel_overlay_off_tail(overlay); + return 0; +} + +static int check_overlay_possible_on_crtc(struct intel_overlay *overlay, + struct intel_crtc *crtc) +{ + drm_i915_private_t *dev_priv = overlay->dev->dev_private; + + if (!crtc->active) + return -EINVAL; + + /* can't use the overlay with double wide pipe */ + if (INTEL_INFO(overlay->dev)->gen < 4 && + (I915_READ(PIPECONF(crtc->pipe)) & (PIPECONF_DOUBLE_WIDE | PIPECONF_ENABLE)) != PIPECONF_ENABLE) + return -EINVAL; + + return 0; +} + +static void update_pfit_vscale_ratio(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + u32 pfit_control = I915_READ(PFIT_CONTROL); + u32 ratio; + + /* XXX: This is not the same logic as in the xorg driver, but more in + * line with the intel documentation for the i965 + */ + if (INTEL_INFO(dev)->gen >= 4) { + /* on i965 use the PGM reg to read out the autoscaler values */ + ratio = I915_READ(PFIT_PGM_RATIOS) >> PFIT_VERT_SCALE_SHIFT_965; + } else { + if (pfit_control & VERT_AUTO_SCALE) + ratio = I915_READ(PFIT_AUTO_RATIOS); + else + ratio = I915_READ(PFIT_PGM_RATIOS); + ratio >>= PFIT_VERT_SCALE_SHIFT; + } + + overlay->pfit_vscale_ratio = ratio; +} + +static int check_overlay_dst(struct intel_overlay *overlay, + struct drm_intel_overlay_put_image *rec) +{ + struct drm_display_mode *mode = &overlay->crtc->base.mode; + + if (rec->dst_x < mode->hdisplay && + rec->dst_x + rec->dst_width <= mode->hdisplay && + rec->dst_y < mode->vdisplay && + rec->dst_y + rec->dst_height <= mode->vdisplay) + return 0; + else + return -EINVAL; +} + +static int check_overlay_scaling(struct put_image_params *rec) +{ + u32 tmp; + + /* downscaling limit is 8.0 */ + tmp = ((rec->src_scan_h << 16) / rec->dst_h) >> 16; + if (tmp > 7) + return -EINVAL; + tmp = ((rec->src_scan_w << 16) / rec->dst_w) >> 16; + if (tmp > 7) + return -EINVAL; + + return 0; +} + +static int check_overlay_src(struct drm_device *dev, + struct drm_intel_overlay_put_image *rec, + struct drm_i915_gem_object *new_bo) +{ + int uv_hscale = uv_hsubsampling(rec->flags); + int uv_vscale = uv_vsubsampling(rec->flags); + u32 stride_mask; + int depth; + u32 tmp; + + /* check src dimensions */ + if (IS_845G(dev) || IS_I830(dev)) { + if (rec->src_height > IMAGE_MAX_HEIGHT_LEGACY || + rec->src_width > IMAGE_MAX_WIDTH_LEGACY) + return -EINVAL; + } else { + if (rec->src_height > IMAGE_MAX_HEIGHT || + rec->src_width > IMAGE_MAX_WIDTH) + return -EINVAL; + } + + /* better safe than sorry, use 4 as the maximal subsampling ratio */ + if (rec->src_height < N_VERT_Y_TAPS*4 || + rec->src_width < N_HORIZ_Y_TAPS*4) + return -EINVAL; + + /* check alignment constraints */ + switch (rec->flags & I915_OVERLAY_TYPE_MASK) { + case I915_OVERLAY_RGB: + /* not implemented */ + return -EINVAL; + + case I915_OVERLAY_YUV_PACKED: + if (uv_vscale != 1) + return -EINVAL; + + depth = packed_depth_bytes(rec->flags); + if (depth < 0) + return depth; + + /* ignore UV planes */ + rec->stride_UV = 0; + rec->offset_U = 0; + rec->offset_V = 0; + /* check pixel alignment */ + if (rec->offset_Y % depth) + return -EINVAL; + break; + + case I915_OVERLAY_YUV_PLANAR: + if (uv_vscale < 0 || uv_hscale < 0) + return -EINVAL; + /* no offset restrictions for planar formats */ + break; + + default: + return -EINVAL; + } + + if (rec->src_width % uv_hscale) + return -EINVAL; + + /* stride checking */ + if (IS_I830(dev) || IS_845G(dev)) + stride_mask = 255; + else + stride_mask = 63; + + if (rec->stride_Y & stride_mask || rec->stride_UV & stride_mask) + return -EINVAL; + if (IS_GEN4(dev) && rec->stride_Y < 512) + return -EINVAL; + + tmp = (rec->flags & I915_OVERLAY_TYPE_MASK) == I915_OVERLAY_YUV_PLANAR ? + 4096 : 8192; + if (rec->stride_Y > tmp || rec->stride_UV > 2*1024) + return -EINVAL; + + /* check buffer dimensions */ + switch (rec->flags & I915_OVERLAY_TYPE_MASK) { + case I915_OVERLAY_RGB: + case I915_OVERLAY_YUV_PACKED: + /* always 4 Y values per depth pixels */ + if (packed_width_bytes(rec->flags, rec->src_width) > rec->stride_Y) + return -EINVAL; + + tmp = rec->stride_Y*rec->src_height; + if (rec->offset_Y + tmp > new_bo->base.size) + return -EINVAL; + break; + + case I915_OVERLAY_YUV_PLANAR: + if (rec->src_width > rec->stride_Y) + return -EINVAL; + if (rec->src_width/uv_hscale > rec->stride_UV) + return -EINVAL; + + tmp = rec->stride_Y * rec->src_height; + if (rec->offset_Y + tmp > new_bo->base.size) + return -EINVAL; + + tmp = rec->stride_UV * (rec->src_height / uv_vscale); + if (rec->offset_U + tmp > new_bo->base.size || + rec->offset_V + tmp > new_bo->base.size) + return -EINVAL; + break; + } + + return 0; +} + +/** + * Return the pipe currently connected to the panel fitter, + * or -1 if the panel fitter is not present or not in use + */ +static int intel_panel_fitter_pipe(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 pfit_control; + + /* i830 doesn't have a panel fitter */ + if (IS_I830(dev)) + return -1; + + pfit_control = I915_READ(PFIT_CONTROL); + + /* See if the panel fitter is in use */ + if ((pfit_control & PFIT_ENABLE) == 0) + return -1; + + /* 965 can place panel fitter on either pipe */ + if (IS_GEN4(dev)) + return (pfit_control >> 29) & 0x3; + + /* older chips can only use pipe 1 */ + return 1; +} + +int intel_overlay_put_image(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_intel_overlay_put_image *put_image_rec = data; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_overlay *overlay; + struct drm_mode_object *drmmode_obj; + struct intel_crtc *crtc; + struct drm_i915_gem_object *new_bo; + struct put_image_params *params; + int ret; + + /* No need to check for DRIVER_MODESET - we don't set it up then. */ + overlay = dev_priv->overlay; + if (!overlay) { + DRM_DEBUG("userspace bug: no overlay\n"); + return -ENODEV; + } + + if (!(put_image_rec->flags & I915_OVERLAY_ENABLE)) { + mutex_lock(&dev->mode_config.mutex); + mutex_lock(&dev->struct_mutex); + + ret = intel_overlay_switch_off(overlay); + + mutex_unlock(&dev->struct_mutex); + mutex_unlock(&dev->mode_config.mutex); + + return ret; + } + + params = kmalloc(sizeof(struct put_image_params), GFP_KERNEL); + if (!params) + return -ENOMEM; + + drmmode_obj = drm_mode_object_find(dev, put_image_rec->crtc_id, + DRM_MODE_OBJECT_CRTC); + if (!drmmode_obj) { + ret = -ENOENT; + goto out_free; + } + crtc = to_intel_crtc(obj_to_crtc(drmmode_obj)); + + new_bo = to_intel_bo(drm_gem_object_lookup(dev, file_priv, + put_image_rec->bo_handle)); + if (&new_bo->base == NULL) { + ret = -ENOENT; + goto out_free; + } + + mutex_lock(&dev->mode_config.mutex); + mutex_lock(&dev->struct_mutex); + + if (new_bo->tiling_mode) { + DRM_ERROR("buffer used for overlay image can not be tiled\n"); + ret = -EINVAL; + goto out_unlock; + } + + ret = intel_overlay_recover_from_interrupt(overlay); + if (ret != 0) + goto out_unlock; + + if (overlay->crtc != crtc) { + struct drm_display_mode *mode = &crtc->base.mode; + ret = intel_overlay_switch_off(overlay); + if (ret != 0) + goto out_unlock; + + ret = check_overlay_possible_on_crtc(overlay, crtc); + if (ret != 0) + goto out_unlock; + + overlay->crtc = crtc; + crtc->overlay = overlay; + + /* line too wide, i.e. one-line-mode */ + if (mode->hdisplay > 1024 && + intel_panel_fitter_pipe(dev) == crtc->pipe) { + overlay->pfit_active = 1; + update_pfit_vscale_ratio(overlay); + } else + overlay->pfit_active = 0; + } + + ret = check_overlay_dst(overlay, put_image_rec); + if (ret != 0) + goto out_unlock; + + if (overlay->pfit_active) { + params->dst_y = ((((u32)put_image_rec->dst_y) << 12) / + overlay->pfit_vscale_ratio); + /* shifting right rounds downwards, so add 1 */ + params->dst_h = ((((u32)put_image_rec->dst_height) << 12) / + overlay->pfit_vscale_ratio) + 1; + } else { + params->dst_y = put_image_rec->dst_y; + params->dst_h = put_image_rec->dst_height; + } + params->dst_x = put_image_rec->dst_x; + params->dst_w = put_image_rec->dst_width; + + params->src_w = put_image_rec->src_width; + params->src_h = put_image_rec->src_height; + params->src_scan_w = put_image_rec->src_scan_width; + params->src_scan_h = put_image_rec->src_scan_height; + if (params->src_scan_h > params->src_h || + params->src_scan_w > params->src_w) { + ret = -EINVAL; + goto out_unlock; + } + + ret = check_overlay_src(dev, put_image_rec, new_bo); + if (ret != 0) + goto out_unlock; + params->format = put_image_rec->flags & ~I915_OVERLAY_FLAGS_MASK; + params->stride_Y = put_image_rec->stride_Y; + params->stride_UV = put_image_rec->stride_UV; + params->offset_Y = put_image_rec->offset_Y; + params->offset_U = put_image_rec->offset_U; + params->offset_V = put_image_rec->offset_V; + + /* Check scaling after src size to prevent a divide-by-zero. */ + ret = check_overlay_scaling(params); + if (ret != 0) + goto out_unlock; + + ret = intel_overlay_do_put_image(overlay, new_bo, params); + if (ret != 0) + goto out_unlock; + + mutex_unlock(&dev->struct_mutex); + mutex_unlock(&dev->mode_config.mutex); + + kfree(params); + + return 0; + +out_unlock: + mutex_unlock(&dev->struct_mutex); + mutex_unlock(&dev->mode_config.mutex); + drm_gem_object_unreference_unlocked(&new_bo->base); +out_free: + kfree(params); + + return ret; +} + +static void update_reg_attrs(struct intel_overlay *overlay, + struct overlay_registers __iomem *regs) +{ + iowrite32((overlay->contrast << 18) | (overlay->brightness & 0xff), + ®s->OCLRC0); + iowrite32(overlay->saturation, ®s->OCLRC1); +} + +static bool check_gamma_bounds(u32 gamma1, u32 gamma2) +{ + int i; + + if (gamma1 & 0xff000000 || gamma2 & 0xff000000) + return false; + + for (i = 0; i < 3; i++) { + if (((gamma1 >> i*8) & 0xff) >= ((gamma2 >> i*8) & 0xff)) + return false; + } + + return true; +} + +static bool check_gamma5_errata(u32 gamma5) +{ + int i; + + for (i = 0; i < 3; i++) { + if (((gamma5 >> i*8) & 0xff) == 0x80) + return false; + } + + return true; +} + +static int check_gamma(struct drm_intel_overlay_attrs *attrs) +{ + if (!check_gamma_bounds(0, attrs->gamma0) || + !check_gamma_bounds(attrs->gamma0, attrs->gamma1) || + !check_gamma_bounds(attrs->gamma1, attrs->gamma2) || + !check_gamma_bounds(attrs->gamma2, attrs->gamma3) || + !check_gamma_bounds(attrs->gamma3, attrs->gamma4) || + !check_gamma_bounds(attrs->gamma4, attrs->gamma5) || + !check_gamma_bounds(attrs->gamma5, 0x00ffffff)) + return -EINVAL; + + if (!check_gamma5_errata(attrs->gamma5)) + return -EINVAL; + + return 0; +} + +int intel_overlay_attrs(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_intel_overlay_attrs *attrs = data; + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_overlay *overlay; + struct overlay_registers __iomem *regs; + int ret; + + /* No need to check for DRIVER_MODESET - we don't set it up then. */ + overlay = dev_priv->overlay; + if (!overlay) { + DRM_DEBUG("userspace bug: no overlay\n"); + return -ENODEV; + } + + mutex_lock(&dev->mode_config.mutex); + mutex_lock(&dev->struct_mutex); + + ret = -EINVAL; + if (!(attrs->flags & I915_OVERLAY_UPDATE_ATTRS)) { + attrs->color_key = overlay->color_key; + attrs->brightness = overlay->brightness; + attrs->contrast = overlay->contrast; + attrs->saturation = overlay->saturation; + + if (!IS_GEN2(dev)) { + attrs->gamma0 = I915_READ(OGAMC0); + attrs->gamma1 = I915_READ(OGAMC1); + attrs->gamma2 = I915_READ(OGAMC2); + attrs->gamma3 = I915_READ(OGAMC3); + attrs->gamma4 = I915_READ(OGAMC4); + attrs->gamma5 = I915_READ(OGAMC5); + } + } else { + if (attrs->brightness < -128 || attrs->brightness > 127) + goto out_unlock; + if (attrs->contrast > 255) + goto out_unlock; + if (attrs->saturation > 1023) + goto out_unlock; + + overlay->color_key = attrs->color_key; + overlay->brightness = attrs->brightness; + overlay->contrast = attrs->contrast; + overlay->saturation = attrs->saturation; + + regs = intel_overlay_map_regs(overlay); + if (!regs) { + ret = -ENOMEM; + goto out_unlock; + } + + update_reg_attrs(overlay, regs); + + intel_overlay_unmap_regs(overlay, regs); + + if (attrs->flags & I915_OVERLAY_UPDATE_GAMMA) { + if (IS_GEN2(dev)) + goto out_unlock; + + if (overlay->active) { + ret = -EBUSY; + goto out_unlock; + } + + ret = check_gamma(attrs); + if (ret) + goto out_unlock; + + I915_WRITE(OGAMC0, attrs->gamma0); + I915_WRITE(OGAMC1, attrs->gamma1); + I915_WRITE(OGAMC2, attrs->gamma2); + I915_WRITE(OGAMC3, attrs->gamma3); + I915_WRITE(OGAMC4, attrs->gamma4); + I915_WRITE(OGAMC5, attrs->gamma5); + } + } + + ret = 0; +out_unlock: + mutex_unlock(&dev->struct_mutex); + mutex_unlock(&dev->mode_config.mutex); + + return ret; +} + +void intel_setup_overlay(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_overlay *overlay; + struct drm_i915_gem_object *reg_bo; + struct overlay_registers __iomem *regs; + int ret; + + if (!HAS_OVERLAY(dev)) + return; + + overlay = kzalloc(sizeof(struct intel_overlay), GFP_KERNEL); + if (!overlay) + return; + + mutex_lock(&dev->struct_mutex); + if (WARN_ON(dev_priv->overlay)) + goto out_free; + + overlay->dev = dev; + + reg_bo = i915_gem_alloc_object(dev, PAGE_SIZE); + if (!reg_bo) + goto out_free; + overlay->reg_bo = reg_bo; + + if (OVERLAY_NEEDS_PHYSICAL(dev)) { + ret = i915_gem_attach_phys_object(dev, reg_bo, + I915_GEM_PHYS_OVERLAY_REGS, + PAGE_SIZE); + if (ret) { + DRM_ERROR("failed to attach phys overlay regs\n"); + goto out_free_bo; + } + overlay->flip_addr = reg_bo->phys_obj->handle->busaddr; + } else { + ret = i915_gem_object_pin(reg_bo, PAGE_SIZE, true, false); + if (ret) { + DRM_ERROR("failed to pin overlay register bo\n"); + goto out_free_bo; + } + overlay->flip_addr = reg_bo->gtt_offset; + + ret = i915_gem_object_set_to_gtt_domain(reg_bo, true); + if (ret) { + DRM_ERROR("failed to move overlay register bo into the GTT\n"); + goto out_unpin_bo; + } + } + + /* init all values */ + overlay->color_key = 0x0101fe; + overlay->brightness = -19; + overlay->contrast = 75; + overlay->saturation = 146; + + regs = intel_overlay_map_regs(overlay); + if (!regs) + goto out_unpin_bo; + + memset_io(regs, 0, sizeof(struct overlay_registers)); + update_polyphase_filter(regs); + update_reg_attrs(overlay, regs); + + intel_overlay_unmap_regs(overlay, regs); + + dev_priv->overlay = overlay; + mutex_unlock(&dev->struct_mutex); + DRM_INFO("initialized overlay support\n"); + return; + +out_unpin_bo: + if (!OVERLAY_NEEDS_PHYSICAL(dev)) + i915_gem_object_unpin(reg_bo); +out_free_bo: + drm_gem_object_unreference(®_bo->base); +out_free: + mutex_unlock(&dev->struct_mutex); + kfree(overlay); + return; +} + +void intel_cleanup_overlay(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + + if (!dev_priv->overlay) + return; + + /* The bo's should be free'd by the generic code already. + * Furthermore modesetting teardown happens beforehand so the + * hardware should be off already */ + BUG_ON(dev_priv->overlay->active); + + drm_gem_object_unreference_unlocked(&dev_priv->overlay->reg_bo->base); + kfree(dev_priv->overlay); +} + +#ifdef CONFIG_DEBUG_FS +#include + +struct intel_overlay_error_state { + struct overlay_registers regs; + unsigned long base; + u32 dovsta; + u32 isr; +}; + +static struct overlay_registers __iomem * +intel_overlay_map_regs_atomic(struct intel_overlay *overlay) +{ + drm_i915_private_t *dev_priv = overlay->dev->dev_private; + struct overlay_registers __iomem *regs; + + if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) + /* Cast to make sparse happy, but it's wc memory anyway, so + * equivalent to the wc io mapping on X86. */ + regs = (struct overlay_registers __iomem *) + overlay->reg_bo->phys_obj->handle->vaddr; + else + regs = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping, + overlay->reg_bo->gtt_offset); + + return regs; +} + +static void intel_overlay_unmap_regs_atomic(struct intel_overlay *overlay, + struct overlay_registers __iomem *regs) +{ + if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev)) + io_mapping_unmap_atomic(regs); +} + + +struct intel_overlay_error_state * +intel_overlay_capture_error_state(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_overlay *overlay = dev_priv->overlay; + struct intel_overlay_error_state *error; + struct overlay_registers __iomem *regs; + + if (!overlay || !overlay->active) + return NULL; + + error = kmalloc(sizeof(*error), GFP_ATOMIC); + if (error == NULL) + return NULL; + + error->dovsta = I915_READ(DOVSTA); + error->isr = I915_READ(ISR); + if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) + error->base = (__force long)overlay->reg_bo->phys_obj->handle->vaddr; + else + error->base = overlay->reg_bo->gtt_offset; + + regs = intel_overlay_map_regs_atomic(overlay); + if (!regs) + goto err; + + memcpy_fromio(&error->regs, regs, sizeof(struct overlay_registers)); + intel_overlay_unmap_regs_atomic(overlay, regs); + + return error; + +err: + kfree(error); + return NULL; +} + +void +intel_overlay_print_error_state(struct seq_file *m, struct intel_overlay_error_state *error) +{ + seq_printf(m, "Overlay, status: 0x%08x, interrupt: 0x%08x\n", + error->dovsta, error->isr); + seq_printf(m, " Register file at 0x%08lx:\n", + error->base); + +#define P(x) seq_printf(m, " " #x ": 0x%08x\n", error->regs.x) + P(OBUF_0Y); + P(OBUF_1Y); + P(OBUF_0U); + P(OBUF_0V); + P(OBUF_1U); + P(OBUF_1V); + P(OSTRIDE); + P(YRGB_VPH); + P(UV_VPH); + P(HORZ_PH); + P(INIT_PHS); + P(DWINPOS); + P(DWINSZ); + P(SWIDTH); + P(SWIDTHSW); + P(SHEIGHT); + P(YRGBSCALE); + P(UVSCALE); + P(OCLRC0); + P(OCLRC1); + P(DCLRKV); + P(DCLRKM); + P(SCLRKVH); + P(SCLRKVL); + P(SCLRKEN); + P(OCONFIG); + P(OCMD); + P(OSTART_0Y); + P(OSTART_1Y); + P(OSTART_0U); + P(OSTART_0V); + P(OSTART_1U); + P(OSTART_1V); + P(OTILEOFF_0Y); + P(OTILEOFF_1Y); + P(OTILEOFF_0U); + P(OTILEOFF_0V); + P(OTILEOFF_1U); + P(OTILEOFF_1V); + P(FASTHSCALE); + P(UVSCALEV); +#undef P +} +#endif --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_panel.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_panel.c @@ -0,0 +1,480 @@ +/* + * Copyright © 2006-2010 Intel Corporation + * Copyright (c) 2006 Dave Airlie + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Dave Airlie + * Jesse Barnes + * Chris Wilson + */ + +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include +#include "intel_drv.h" + +#define PCI_LBPC 0xf4 /* legacy/combination backlight modes */ + +void +intel_fixed_panel_mode(struct drm_display_mode *fixed_mode, + struct drm_display_mode *adjusted_mode) +{ + adjusted_mode->hdisplay = fixed_mode->hdisplay; + adjusted_mode->hsync_start = fixed_mode->hsync_start; + adjusted_mode->hsync_end = fixed_mode->hsync_end; + adjusted_mode->htotal = fixed_mode->htotal; + + adjusted_mode->vdisplay = fixed_mode->vdisplay; + adjusted_mode->vsync_start = fixed_mode->vsync_start; + adjusted_mode->vsync_end = fixed_mode->vsync_end; + adjusted_mode->vtotal = fixed_mode->vtotal; + + adjusted_mode->clock = fixed_mode->clock; +} + +/* adjusted_mode has been preset to be the panel's fixed mode */ +void +intel_pch_panel_fitting(struct drm_device *dev, + int fitting_mode, + const struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int x, y, width, height; + + x = y = width = height = 0; + + /* Native modes don't need fitting */ + if (adjusted_mode->hdisplay == mode->hdisplay && + adjusted_mode->vdisplay == mode->vdisplay) + goto done; + + switch (fitting_mode) { + case DRM_MODE_SCALE_CENTER: + width = mode->hdisplay; + height = mode->vdisplay; + x = (adjusted_mode->hdisplay - width + 1)/2; + y = (adjusted_mode->vdisplay - height + 1)/2; + break; + + case DRM_MODE_SCALE_ASPECT: + /* Scale but preserve the aspect ratio */ + { + u32 scaled_width = adjusted_mode->hdisplay * mode->vdisplay; + u32 scaled_height = mode->hdisplay * adjusted_mode->vdisplay; + if (scaled_width > scaled_height) { /* pillar */ + width = scaled_height / mode->vdisplay; + if (width & 1) + width++; + x = (adjusted_mode->hdisplay - width + 1) / 2; + y = 0; + height = adjusted_mode->vdisplay; + } else if (scaled_width < scaled_height) { /* letter */ + height = scaled_width / mode->hdisplay; + if (height & 1) + height++; + y = (adjusted_mode->vdisplay - height + 1) / 2; + x = 0; + width = adjusted_mode->hdisplay; + } else { + x = y = 0; + width = adjusted_mode->hdisplay; + height = adjusted_mode->vdisplay; + } + } + break; + + default: + case DRM_MODE_SCALE_FULLSCREEN: + x = y = 0; + width = adjusted_mode->hdisplay; + height = adjusted_mode->vdisplay; + break; + } + +done: + dev_priv->pch_pf_pos = (x << 16) | y; + dev_priv->pch_pf_size = (width << 16) | height; +} + +static int is_backlight_combination_mode(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (INTEL_INFO(dev)->gen >= 4) + return I915_READ(BLC_PWM_CTL2) & BLM_COMBINATION_MODE; + + if (IS_GEN2(dev)) + return I915_READ(BLC_PWM_CTL) & BLM_LEGACY_MODE; + + return 0; +} + +static u32 i915_read_blc_pwm_ctl(struct drm_i915_private *dev_priv) +{ + u32 val; + + /* Restore the CTL value if it lost, e.g. GPU reset */ + + if (HAS_PCH_SPLIT(dev_priv->dev)) { + val = I915_READ(BLC_PWM_PCH_CTL2); + if (dev_priv->regfile.saveBLC_PWM_CTL2 == 0) { + dev_priv->regfile.saveBLC_PWM_CTL2 = val; + } else if (val == 0) { + I915_WRITE(BLC_PWM_PCH_CTL2, + dev_priv->regfile.saveBLC_PWM_CTL2); + val = dev_priv->regfile.saveBLC_PWM_CTL2; + } + } else { + val = I915_READ(BLC_PWM_CTL); + if (dev_priv->regfile.saveBLC_PWM_CTL == 0) { + dev_priv->regfile.saveBLC_PWM_CTL = val; + dev_priv->regfile.saveBLC_PWM_CTL2 = I915_READ(BLC_PWM_CTL2); + } else if (val == 0) { + I915_WRITE(BLC_PWM_CTL, + dev_priv->regfile.saveBLC_PWM_CTL); + I915_WRITE(BLC_PWM_CTL2, + dev_priv->regfile.saveBLC_PWM_CTL2); + val = dev_priv->regfile.saveBLC_PWM_CTL; + } + } + + return val; +} + +static u32 _intel_panel_get_max_backlight(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 max; + + max = i915_read_blc_pwm_ctl(dev_priv); + + if (HAS_PCH_SPLIT(dev)) { + max >>= 16; + } else { + if (INTEL_INFO(dev)->gen < 4) + max >>= 17; + else + max >>= 16; + + if (is_backlight_combination_mode(dev)) + max *= 0xff; + } + + return max; +} + +u32 intel_panel_get_max_backlight(struct drm_device *dev) +{ + u32 max; + + max = _intel_panel_get_max_backlight(dev); + if (max == 0) { + /* XXX add code here to query mode clock or hardware clock + * and program max PWM appropriately. + */ + pr_warn_once("fixme: max PWM is zero\n"); + return 1; + } + + DRM_DEBUG_DRIVER("max backlight PWM = %d\n", max); + return max; +} + +static int i915_panel_invert_brightness; +MODULE_PARM_DESC(invert_brightness, "Invert backlight brightness " + "(-1 force normal, 0 machine defaults, 1 force inversion), please " + "report PCI device ID, subsystem vendor and subsystem device ID " + "to dri-devel@lists.freedesktop.org, if your machine needs it. " + "It will then be included in an upcoming module version."); +module_param_named(invert_brightness, i915_panel_invert_brightness, int, 0600); +static u32 intel_panel_compute_brightness(struct drm_device *dev, u32 val) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (i915_panel_invert_brightness < 0) + return val; + + if (i915_panel_invert_brightness > 0 || + dev_priv->quirks & QUIRK_INVERT_BRIGHTNESS) + return intel_panel_get_max_backlight(dev) - val; + + return val; +} + +static u32 intel_panel_get_backlight(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 val; + + if (HAS_PCH_SPLIT(dev)) { + val = I915_READ(BLC_PWM_CPU_CTL) & BACKLIGHT_DUTY_CYCLE_MASK; + } else { + val = I915_READ(BLC_PWM_CTL) & BACKLIGHT_DUTY_CYCLE_MASK; + if (INTEL_INFO(dev)->gen < 4) + val >>= 1; + + if (is_backlight_combination_mode(dev)) { + u8 lbpc; + + pci_read_config_byte(dev->pdev, PCI_LBPC, &lbpc); + val *= lbpc; + } + } + + val = intel_panel_compute_brightness(dev, val); + DRM_DEBUG_DRIVER("get backlight PWM = %d\n", val); + return val; +} + +static void intel_pch_panel_set_backlight(struct drm_device *dev, u32 level) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 val = I915_READ(BLC_PWM_CPU_CTL) & ~BACKLIGHT_DUTY_CYCLE_MASK; + I915_WRITE(BLC_PWM_CPU_CTL, val | level); +} + +static void intel_panel_actually_set_backlight(struct drm_device *dev, u32 level) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 tmp; + + DRM_DEBUG_DRIVER("set backlight PWM = %d\n", level); + level = intel_panel_compute_brightness(dev, level); + + if (HAS_PCH_SPLIT(dev)) + return intel_pch_panel_set_backlight(dev, level); + + if (is_backlight_combination_mode(dev)) { + u32 max = intel_panel_get_max_backlight(dev); + u8 lbpc; + + lbpc = level * 0xfe / max + 1; + level /= lbpc; + pci_write_config_byte(dev->pdev, PCI_LBPC, lbpc); + } + + tmp = I915_READ(BLC_PWM_CTL); + if (INTEL_INFO(dev)->gen < 4) + level <<= 1; + tmp &= ~BACKLIGHT_DUTY_CYCLE_MASK; + I915_WRITE(BLC_PWM_CTL, tmp | level); +} + +void intel_panel_set_backlight(struct drm_device *dev, u32 level) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + dev_priv->backlight_level = level; + if (dev_priv->backlight_enabled) + intel_panel_actually_set_backlight(dev, level); +} + +void intel_panel_disable_backlight(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + dev_priv->backlight_enabled = false; + intel_panel_actually_set_backlight(dev, 0); + + if (INTEL_INFO(dev)->gen >= 4) { + uint32_t reg, tmp; + + reg = HAS_PCH_SPLIT(dev) ? BLC_PWM_CPU_CTL2 : BLC_PWM_CTL2; + + I915_WRITE(reg, I915_READ(reg) & ~BLM_PWM_ENABLE); + + if (HAS_PCH_SPLIT(dev)) { + tmp = I915_READ(BLC_PWM_PCH_CTL1); + tmp &= ~BLM_PCH_PWM_ENABLE; + I915_WRITE(BLC_PWM_PCH_CTL1, tmp); + } + } +} + +void intel_panel_enable_backlight(struct drm_device *dev, + enum pipe pipe) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->backlight_level == 0) + dev_priv->backlight_level = intel_panel_get_max_backlight(dev); + + if (INTEL_INFO(dev)->gen >= 4) { + uint32_t reg, tmp; + + reg = HAS_PCH_SPLIT(dev) ? BLC_PWM_CPU_CTL2 : BLC_PWM_CTL2; + + + tmp = I915_READ(reg); + + /* Note that this can also get called through dpms changes. And + * we don't track the backlight dpms state, hence check whether + * we have to do anything first. */ + if (tmp & BLM_PWM_ENABLE) + goto set_level; + + if (dev_priv->num_pipe == 3) + tmp &= ~BLM_PIPE_SELECT_IVB; + else + tmp &= ~BLM_PIPE_SELECT; + + tmp |= BLM_PIPE(pipe); + tmp &= ~BLM_PWM_ENABLE; + + I915_WRITE(reg, tmp); + POSTING_READ(reg); + I915_WRITE(reg, tmp | BLM_PWM_ENABLE); + + if (HAS_PCH_SPLIT(dev)) { + tmp = I915_READ(BLC_PWM_PCH_CTL1); + tmp |= BLM_PCH_PWM_ENABLE; + tmp &= ~BLM_PCH_OVERRIDE_ENABLE; + I915_WRITE(BLC_PWM_PCH_CTL1, tmp); + } + } + +set_level: + /* Call below after setting BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1. + * BLC_PWM_CPU_CTL may be cleared to zero automatically when these + * registers are set. + */ + dev_priv->backlight_enabled = true; + intel_panel_actually_set_backlight(dev, dev_priv->backlight_level); +} + +static void intel_panel_init_backlight(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + dev_priv->backlight_level = intel_panel_get_backlight(dev); + dev_priv->backlight_enabled = dev_priv->backlight_level != 0; +} + +enum drm_connector_status +intel_panel_detect(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* Assume that the BIOS does not lie through the OpRegion... */ + if (!i915_panel_ignore_lid && dev_priv->opregion.lid_state) { + return ioread32(dev_priv->opregion.lid_state) & 0x1 ? + connector_status_connected : + connector_status_disconnected; + } + + switch (i915_panel_ignore_lid) { + case -2: + return connector_status_connected; + case -1: + return connector_status_disconnected; + default: + return connector_status_unknown; + } +} + +#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE +static int intel_panel_update_status(struct backlight_device *bd) +{ + struct drm_device *dev = bl_get_data(bd); + intel_panel_set_backlight(dev, bd->props.brightness); + return 0; +} + +static int intel_panel_get_brightness(struct backlight_device *bd) +{ + struct drm_device *dev = bl_get_data(bd); + struct drm_i915_private *dev_priv = dev->dev_private; + return dev_priv->backlight_level; +} + +static const struct backlight_ops intel_panel_bl_ops = { + .update_status = intel_panel_update_status, + .get_brightness = intel_panel_get_brightness, +}; + +int intel_panel_setup_backlight(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct backlight_properties props; + + intel_panel_init_backlight(dev); + + memset(&props, 0, sizeof(props)); + props.type = BACKLIGHT_RAW; + props.max_brightness = _intel_panel_get_max_backlight(dev); + if (props.max_brightness == 0) { + DRM_DEBUG_DRIVER("Failed to get maximum backlight value\n"); + return -ENODEV; + } + dev_priv->backlight = + backlight_device_register("intel_backlight", + &connector->kdev, dev, + &intel_panel_bl_ops, &props); + + if (IS_ERR(dev_priv->backlight)) { + DRM_ERROR("Failed to register backlight: %ld\n", + PTR_ERR(dev_priv->backlight)); + dev_priv->backlight = NULL; + return -ENODEV; + } + dev_priv->backlight->props.brightness = intel_panel_get_backlight(dev); + return 0; +} + +void intel_panel_destroy_backlight(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + if (dev_priv->backlight) + backlight_device_unregister(dev_priv->backlight); +} +#else +int intel_panel_setup_backlight(struct drm_connector *connector) +{ + intel_panel_init_backlight(connector->dev); + return 0; +} + +void intel_panel_destroy_backlight(struct drm_device *dev) +{ + return; +} +#endif + +int intel_panel_init(struct intel_panel *panel, + struct drm_display_mode *fixed_mode) +{ + panel->fixed_mode = fixed_mode; + + return 0; +} + +void intel_panel_fini(struct intel_panel *panel) +{ + struct intel_connector *intel_connector = + container_of(panel, struct intel_connector, panel); + + if (panel->fixed_mode) + drm_mode_destroy(intel_connector->base.dev, panel->fixed_mode); +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_pm.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_pm.c @@ -0,0 +1,4315 @@ +/* + * Copyright © 2012 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eugeni Dodonov + * + */ + +#include +#include "i915_drv.h" +#include "intel_drv.h" +#include "../../drivers/platform/x86/intel_ips.h" +#include + +#define FORCEWAKE_ACK_TIMEOUT_MS 2 + +/* FBC, or Frame Buffer Compression, is a technique employed to compress the + * framebuffer contents in-memory, aiming at reducing the required bandwidth + * during in-memory transfers and, therefore, reduce the power packet. + * + * The benefits of FBC are mostly visible with solid backgrounds and + * variation-less patterns. + * + * FBC-related functionality can be enabled by the means of the + * i915.i915_enable_fbc parameter + */ + +static void i8xx_disable_fbc(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 fbc_ctl; + + /* Disable compression */ + fbc_ctl = I915_READ(FBC_CONTROL); + if ((fbc_ctl & FBC_CTL_EN) == 0) + return; + + fbc_ctl &= ~FBC_CTL_EN; + I915_WRITE(FBC_CONTROL, fbc_ctl); + + /* Wait for compressing bit to clear */ + if (wait_for((I915_READ(FBC_STATUS) & FBC_STAT_COMPRESSING) == 0, 10)) { + DRM_DEBUG_KMS("FBC idle timed out\n"); + return; + } + + DRM_DEBUG_KMS("disabled FBC\n"); +} + +static void i8xx_enable_fbc(struct drm_crtc *crtc, unsigned long interval) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_framebuffer *fb = crtc->fb; + struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb); + struct drm_i915_gem_object *obj = intel_fb->obj; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int cfb_pitch; + int plane, i; + u32 fbc_ctl, fbc_ctl2; + + cfb_pitch = dev_priv->cfb_size / FBC_LL_SIZE; + if (fb->pitches[0] < cfb_pitch) + cfb_pitch = fb->pitches[0]; + + /* FBC_CTL wants 64B units */ + cfb_pitch = (cfb_pitch / 64) - 1; + plane = intel_crtc->plane == 0 ? FBC_CTL_PLANEA : FBC_CTL_PLANEB; + + /* Clear old tags */ + for (i = 0; i < (FBC_LL_SIZE / 32) + 1; i++) + I915_WRITE(FBC_TAG + (i * 4), 0); + + /* Set it up... */ + fbc_ctl2 = FBC_CTL_FENCE_DBL | FBC_CTL_IDLE_IMM | FBC_CTL_CPU_FENCE; + fbc_ctl2 |= plane; + I915_WRITE(FBC_CONTROL2, fbc_ctl2); + I915_WRITE(FBC_FENCE_OFF, crtc->y); + + /* enable it... */ + fbc_ctl = FBC_CTL_EN | FBC_CTL_PERIODIC; + if (IS_I945GM(dev)) + fbc_ctl |= FBC_CTL_C3_IDLE; /* 945 needs special SR handling */ + fbc_ctl |= (cfb_pitch & 0xff) << FBC_CTL_STRIDE_SHIFT; + fbc_ctl |= (interval & 0x2fff) << FBC_CTL_INTERVAL_SHIFT; + fbc_ctl |= obj->fence_reg; + I915_WRITE(FBC_CONTROL, fbc_ctl); + + DRM_DEBUG_KMS("enabled FBC, pitch %d, yoff %d, plane %d, ", + cfb_pitch, crtc->y, intel_crtc->plane); +} + +static bool i8xx_fbc_enabled(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + return I915_READ(FBC_CONTROL) & FBC_CTL_EN; +} + +static void g4x_enable_fbc(struct drm_crtc *crtc, unsigned long interval) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_framebuffer *fb = crtc->fb; + struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb); + struct drm_i915_gem_object *obj = intel_fb->obj; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int plane = intel_crtc->plane == 0 ? DPFC_CTL_PLANEA : DPFC_CTL_PLANEB; + unsigned long stall_watermark = 200; + u32 dpfc_ctl; + + dpfc_ctl = plane | DPFC_SR_EN | DPFC_CTL_LIMIT_1X; + dpfc_ctl |= DPFC_CTL_FENCE_EN | obj->fence_reg; + I915_WRITE(DPFC_CHICKEN, DPFC_HT_MODIFY); + + I915_WRITE(DPFC_RECOMP_CTL, DPFC_RECOMP_STALL_EN | + (stall_watermark << DPFC_RECOMP_STALL_WM_SHIFT) | + (interval << DPFC_RECOMP_TIMER_COUNT_SHIFT)); + I915_WRITE(DPFC_FENCE_YOFF, crtc->y); + + /* enable it... */ + I915_WRITE(DPFC_CONTROL, I915_READ(DPFC_CONTROL) | DPFC_CTL_EN); + + DRM_DEBUG_KMS("enabled fbc on plane %d\n", intel_crtc->plane); +} + +static void g4x_disable_fbc(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 dpfc_ctl; + + /* Disable compression */ + dpfc_ctl = I915_READ(DPFC_CONTROL); + if (dpfc_ctl & DPFC_CTL_EN) { + dpfc_ctl &= ~DPFC_CTL_EN; + I915_WRITE(DPFC_CONTROL, dpfc_ctl); + + DRM_DEBUG_KMS("disabled FBC\n"); + } +} + +static bool g4x_fbc_enabled(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + return I915_READ(DPFC_CONTROL) & DPFC_CTL_EN; +} + +static void sandybridge_blit_fbc_update(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 blt_ecoskpd; + + /* Make sure blitter notifies FBC of writes */ + gen6_gt_force_wake_get(dev_priv); + blt_ecoskpd = I915_READ(GEN6_BLITTER_ECOSKPD); + blt_ecoskpd |= GEN6_BLITTER_FBC_NOTIFY << + GEN6_BLITTER_LOCK_SHIFT; + I915_WRITE(GEN6_BLITTER_ECOSKPD, blt_ecoskpd); + blt_ecoskpd |= GEN6_BLITTER_FBC_NOTIFY; + I915_WRITE(GEN6_BLITTER_ECOSKPD, blt_ecoskpd); + blt_ecoskpd &= ~(GEN6_BLITTER_FBC_NOTIFY << + GEN6_BLITTER_LOCK_SHIFT); + I915_WRITE(GEN6_BLITTER_ECOSKPD, blt_ecoskpd); + POSTING_READ(GEN6_BLITTER_ECOSKPD); + gen6_gt_force_wake_put(dev_priv); +} + +static void ironlake_enable_fbc(struct drm_crtc *crtc, unsigned long interval) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_framebuffer *fb = crtc->fb; + struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb); + struct drm_i915_gem_object *obj = intel_fb->obj; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int plane = intel_crtc->plane == 0 ? DPFC_CTL_PLANEA : DPFC_CTL_PLANEB; + unsigned long stall_watermark = 200; + u32 dpfc_ctl; + + dpfc_ctl = I915_READ(ILK_DPFC_CONTROL); + dpfc_ctl &= DPFC_RESERVED; + dpfc_ctl |= (plane | DPFC_CTL_LIMIT_1X); + /* Set persistent mode for front-buffer rendering, ala X. */ + dpfc_ctl |= DPFC_CTL_PERSISTENT_MODE; + dpfc_ctl |= (DPFC_CTL_FENCE_EN | obj->fence_reg); + I915_WRITE(ILK_DPFC_CHICKEN, DPFC_HT_MODIFY); + + I915_WRITE(ILK_DPFC_RECOMP_CTL, DPFC_RECOMP_STALL_EN | + (stall_watermark << DPFC_RECOMP_STALL_WM_SHIFT) | + (interval << DPFC_RECOMP_TIMER_COUNT_SHIFT)); + I915_WRITE(ILK_DPFC_FENCE_YOFF, crtc->y); + I915_WRITE(ILK_FBC_RT_BASE, obj->gtt_offset | ILK_FBC_RT_VALID); + /* enable it... */ + I915_WRITE(ILK_DPFC_CONTROL, dpfc_ctl | DPFC_CTL_EN); + + if (IS_GEN6(dev)) { + I915_WRITE(SNB_DPFC_CTL_SA, + SNB_CPU_FENCE_ENABLE | obj->fence_reg); + I915_WRITE(DPFC_CPU_FENCE_OFFSET, crtc->y); + sandybridge_blit_fbc_update(dev); + } + + DRM_DEBUG_KMS("enabled fbc on plane %d\n", intel_crtc->plane); +} + +static void ironlake_disable_fbc(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 dpfc_ctl; + + /* Disable compression */ + dpfc_ctl = I915_READ(ILK_DPFC_CONTROL); + if (dpfc_ctl & DPFC_CTL_EN) { + dpfc_ctl &= ~DPFC_CTL_EN; + I915_WRITE(ILK_DPFC_CONTROL, dpfc_ctl); + + DRM_DEBUG_KMS("disabled FBC\n"); + } +} + +static bool ironlake_fbc_enabled(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + return I915_READ(ILK_DPFC_CONTROL) & DPFC_CTL_EN; +} + +bool intel_fbc_enabled(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (!dev_priv->display.fbc_enabled) + return false; + + return dev_priv->display.fbc_enabled(dev); +} + +static void intel_fbc_work_fn(struct work_struct *__work) +{ + struct intel_fbc_work *work = + container_of(to_delayed_work(__work), + struct intel_fbc_work, work); + struct drm_device *dev = work->crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + mutex_lock(&dev->struct_mutex); + if (work == dev_priv->fbc_work) { + /* Double check that we haven't switched fb without cancelling + * the prior work. + */ + if (work->crtc->fb == work->fb) { + dev_priv->display.enable_fbc(work->crtc, + work->interval); + + dev_priv->cfb_plane = to_intel_crtc(work->crtc)->plane; + dev_priv->cfb_fb = work->crtc->fb->base.id; + dev_priv->cfb_y = work->crtc->y; + } + + dev_priv->fbc_work = NULL; + } + mutex_unlock(&dev->struct_mutex); + + kfree(work); +} + +static void intel_cancel_fbc_work(struct drm_i915_private *dev_priv) +{ + if (dev_priv->fbc_work == NULL) + return; + + DRM_DEBUG_KMS("cancelling pending FBC enable\n"); + + /* Synchronisation is provided by struct_mutex and checking of + * dev_priv->fbc_work, so we can perform the cancellation + * entirely asynchronously. + */ + if (cancel_delayed_work(&dev_priv->fbc_work->work)) + /* tasklet was killed before being run, clean up */ + kfree(dev_priv->fbc_work); + + /* Mark the work as no longer wanted so that if it does + * wake-up (because the work was already running and waiting + * for our mutex), it will discover that is no longer + * necessary to run. + */ + dev_priv->fbc_work = NULL; +} + +void intel_enable_fbc(struct drm_crtc *crtc, unsigned long interval) +{ + struct intel_fbc_work *work; + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + if (!dev_priv->display.enable_fbc) + return; + + intel_cancel_fbc_work(dev_priv); + + work = kzalloc(sizeof *work, GFP_KERNEL); + if (work == NULL) { + dev_priv->display.enable_fbc(crtc, interval); + return; + } + + work->crtc = crtc; + work->fb = crtc->fb; + work->interval = interval; + INIT_DELAYED_WORK(&work->work, intel_fbc_work_fn); + + dev_priv->fbc_work = work; + + DRM_DEBUG_KMS("scheduling delayed FBC enable\n"); + + /* Delay the actual enabling to let pageflipping cease and the + * display to settle before starting the compression. Note that + * this delay also serves a second purpose: it allows for a + * vblank to pass after disabling the FBC before we attempt + * to modify the control registers. + * + * A more complicated solution would involve tracking vblanks + * following the termination of the page-flipping sequence + * and indeed performing the enable as a co-routine and not + * waiting synchronously upon the vblank. + */ + schedule_delayed_work(&work->work, msecs_to_jiffies(50)); +} + +void intel_disable_fbc(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + intel_cancel_fbc_work(dev_priv); + + if (!dev_priv->display.disable_fbc) + return; + + dev_priv->display.disable_fbc(dev); + dev_priv->cfb_plane = -1; +} + +/** + * intel_update_fbc - enable/disable FBC as needed + * @dev: the drm_device + * + * Set up the framebuffer compression hardware at mode set time. We + * enable it if possible: + * - plane A only (on pre-965) + * - no pixel mulitply/line duplication + * - no alpha buffer discard + * - no dual wide + * - framebuffer <= 2048 in width, 1536 in height + * + * We can't assume that any compression will take place (worst case), + * so the compressed buffer has to be the same size as the uncompressed + * one. It also must reside (along with the line length buffer) in + * stolen memory. + * + * We need to enable/disable FBC on a global basis. + */ +void intel_update_fbc(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc = NULL, *tmp_crtc; + struct intel_crtc *intel_crtc; + struct drm_framebuffer *fb; + struct intel_framebuffer *intel_fb; + struct drm_i915_gem_object *obj; + int enable_fbc; + + if (!i915_powersave) + return; + + if (!I915_HAS_FBC(dev)) + return; + + /* + * If FBC is already on, we just have to verify that we can + * keep it that way... + * Need to disable if: + * - more than one pipe is active + * - changing FBC params (stride, fence, mode) + * - new fb is too large to fit in compressed buffer + * - going to an unsupported config (interlace, pixel multiply, etc.) + */ + list_for_each_entry(tmp_crtc, &dev->mode_config.crtc_list, head) { + if (tmp_crtc->enabled && + !to_intel_crtc(tmp_crtc)->primary_disabled && + tmp_crtc->fb) { + if (crtc) { + DRM_DEBUG_KMS("more than one pipe active, disabling compression\n"); + dev_priv->no_fbc_reason = FBC_MULTIPLE_PIPES; + goto out_disable; + } + crtc = tmp_crtc; + } + } + + if (!crtc || crtc->fb == NULL) { + DRM_DEBUG_KMS("no output, disabling\n"); + dev_priv->no_fbc_reason = FBC_NO_OUTPUT; + goto out_disable; + } + + intel_crtc = to_intel_crtc(crtc); + fb = crtc->fb; + intel_fb = to_intel_framebuffer(fb); + obj = intel_fb->obj; + + enable_fbc = i915_enable_fbc; + if (enable_fbc < 0) { + DRM_DEBUG_KMS("fbc set to per-chip default\n"); + enable_fbc = 1; + if (INTEL_INFO(dev)->gen <= 6) + enable_fbc = 0; + } + if (!enable_fbc) { + DRM_DEBUG_KMS("fbc disabled per module param\n"); + dev_priv->no_fbc_reason = FBC_MODULE_PARAM; + goto out_disable; + } + if (intel_fb->obj->base.size > dev_priv->cfb_size) { + DRM_DEBUG_KMS("framebuffer too large, disabling " + "compression\n"); + dev_priv->no_fbc_reason = FBC_STOLEN_TOO_SMALL; + goto out_disable; + } + if ((crtc->mode.flags & DRM_MODE_FLAG_INTERLACE) || + (crtc->mode.flags & DRM_MODE_FLAG_DBLSCAN)) { + DRM_DEBUG_KMS("mode incompatible with compression, " + "disabling\n"); + dev_priv->no_fbc_reason = FBC_UNSUPPORTED_MODE; + goto out_disable; + } + if ((crtc->mode.hdisplay > 2048) || + (crtc->mode.vdisplay > 1536)) { + DRM_DEBUG_KMS("mode too large for compression, disabling\n"); + dev_priv->no_fbc_reason = FBC_MODE_TOO_LARGE; + goto out_disable; + } + if ((IS_I915GM(dev) || IS_I945GM(dev)) && intel_crtc->plane != 0) { + DRM_DEBUG_KMS("plane not 0, disabling compression\n"); + dev_priv->no_fbc_reason = FBC_BAD_PLANE; + goto out_disable; + } + + /* The use of a CPU fence is mandatory in order to detect writes + * by the CPU to the scanout and trigger updates to the FBC. + */ + if (obj->tiling_mode != I915_TILING_X || + obj->fence_reg == I915_FENCE_REG_NONE) { + DRM_DEBUG_KMS("framebuffer not tiled or fenced, disabling compression\n"); + dev_priv->no_fbc_reason = FBC_NOT_TILED; + goto out_disable; + } + + /* If the kernel debugger is active, always disable compression */ + if (in_dbg_master()) + goto out_disable; + + /* If the scanout has not changed, don't modify the FBC settings. + * Note that we make the fundamental assumption that the fb->obj + * cannot be unpinned (and have its GTT offset and fence revoked) + * without first being decoupled from the scanout and FBC disabled. + */ + if (dev_priv->cfb_plane == intel_crtc->plane && + dev_priv->cfb_fb == fb->base.id && + dev_priv->cfb_y == crtc->y) + return; + + if (intel_fbc_enabled(dev)) { + /* We update FBC along two paths, after changing fb/crtc + * configuration (modeswitching) and after page-flipping + * finishes. For the latter, we know that not only did + * we disable the FBC at the start of the page-flip + * sequence, but also more than one vblank has passed. + * + * For the former case of modeswitching, it is possible + * to switch between two FBC valid configurations + * instantaneously so we do need to disable the FBC + * before we can modify its control registers. We also + * have to wait for the next vblank for that to take + * effect. However, since we delay enabling FBC we can + * assume that a vblank has passed since disabling and + * that we can safely alter the registers in the deferred + * callback. + * + * In the scenario that we go from a valid to invalid + * and then back to valid FBC configuration we have + * no strict enforcement that a vblank occurred since + * disabling the FBC. However, along all current pipe + * disabling paths we do need to wait for a vblank at + * some point. And we wait before enabling FBC anyway. + */ + DRM_DEBUG_KMS("disabling active FBC for update\n"); + intel_disable_fbc(dev); + } + + intel_enable_fbc(crtc, 500); + return; + +out_disable: + /* Multiple disables should be harmless */ + if (intel_fbc_enabled(dev)) { + DRM_DEBUG_KMS("unsupported config, disabling FBC\n"); + intel_disable_fbc(dev); + } +} + +static void i915_pineview_get_mem_freq(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u32 tmp; + + tmp = I915_READ(CLKCFG); + + switch (tmp & CLKCFG_FSB_MASK) { + case CLKCFG_FSB_533: + dev_priv->fsb_freq = 533; /* 133*4 */ + break; + case CLKCFG_FSB_800: + dev_priv->fsb_freq = 800; /* 200*4 */ + break; + case CLKCFG_FSB_667: + dev_priv->fsb_freq = 667; /* 167*4 */ + break; + case CLKCFG_FSB_400: + dev_priv->fsb_freq = 400; /* 100*4 */ + break; + } + + switch (tmp & CLKCFG_MEM_MASK) { + case CLKCFG_MEM_533: + dev_priv->mem_freq = 533; + break; + case CLKCFG_MEM_667: + dev_priv->mem_freq = 667; + break; + case CLKCFG_MEM_800: + dev_priv->mem_freq = 800; + break; + } + + /* detect pineview DDR3 setting */ + tmp = I915_READ(CSHRDDR3CTL); + dev_priv->is_ddr3 = (tmp & CSHRDDR3CTL_DDR3) ? 1 : 0; +} + +static void i915_ironlake_get_mem_freq(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + u16 ddrpll, csipll; + + ddrpll = I915_READ16(DDRMPLL1); + csipll = I915_READ16(CSIPLL0); + + switch (ddrpll & 0xff) { + case 0xc: + dev_priv->mem_freq = 800; + break; + case 0x10: + dev_priv->mem_freq = 1066; + break; + case 0x14: + dev_priv->mem_freq = 1333; + break; + case 0x18: + dev_priv->mem_freq = 1600; + break; + default: + DRM_DEBUG_DRIVER("unknown memory frequency 0x%02x\n", + ddrpll & 0xff); + dev_priv->mem_freq = 0; + break; + } + + dev_priv->ips.r_t = dev_priv->mem_freq; + + switch (csipll & 0x3ff) { + case 0x00c: + dev_priv->fsb_freq = 3200; + break; + case 0x00e: + dev_priv->fsb_freq = 3733; + break; + case 0x010: + dev_priv->fsb_freq = 4266; + break; + case 0x012: + dev_priv->fsb_freq = 4800; + break; + case 0x014: + dev_priv->fsb_freq = 5333; + break; + case 0x016: + dev_priv->fsb_freq = 5866; + break; + case 0x018: + dev_priv->fsb_freq = 6400; + break; + default: + DRM_DEBUG_DRIVER("unknown fsb frequency 0x%04x\n", + csipll & 0x3ff); + dev_priv->fsb_freq = 0; + break; + } + + if (dev_priv->fsb_freq == 3200) { + dev_priv->ips.c_m = 0; + } else if (dev_priv->fsb_freq > 3200 && dev_priv->fsb_freq <= 4800) { + dev_priv->ips.c_m = 1; + } else { + dev_priv->ips.c_m = 2; + } +} + +static const struct cxsr_latency cxsr_latency_table[] = { + {1, 0, 800, 400, 3382, 33382, 3983, 33983}, /* DDR2-400 SC */ + {1, 0, 800, 667, 3354, 33354, 3807, 33807}, /* DDR2-667 SC */ + {1, 0, 800, 800, 3347, 33347, 3763, 33763}, /* DDR2-800 SC */ + {1, 1, 800, 667, 6420, 36420, 6873, 36873}, /* DDR3-667 SC */ + {1, 1, 800, 800, 5902, 35902, 6318, 36318}, /* DDR3-800 SC */ + + {1, 0, 667, 400, 3400, 33400, 4021, 34021}, /* DDR2-400 SC */ + {1, 0, 667, 667, 3372, 33372, 3845, 33845}, /* DDR2-667 SC */ + {1, 0, 667, 800, 3386, 33386, 3822, 33822}, /* DDR2-800 SC */ + {1, 1, 667, 667, 6438, 36438, 6911, 36911}, /* DDR3-667 SC */ + {1, 1, 667, 800, 5941, 35941, 6377, 36377}, /* DDR3-800 SC */ + + {1, 0, 400, 400, 3472, 33472, 4173, 34173}, /* DDR2-400 SC */ + {1, 0, 400, 667, 3443, 33443, 3996, 33996}, /* DDR2-667 SC */ + {1, 0, 400, 800, 3430, 33430, 3946, 33946}, /* DDR2-800 SC */ + {1, 1, 400, 667, 6509, 36509, 7062, 37062}, /* DDR3-667 SC */ + {1, 1, 400, 800, 5985, 35985, 6501, 36501}, /* DDR3-800 SC */ + + {0, 0, 800, 400, 3438, 33438, 4065, 34065}, /* DDR2-400 SC */ + {0, 0, 800, 667, 3410, 33410, 3889, 33889}, /* DDR2-667 SC */ + {0, 0, 800, 800, 3403, 33403, 3845, 33845}, /* DDR2-800 SC */ + {0, 1, 800, 667, 6476, 36476, 6955, 36955}, /* DDR3-667 SC */ + {0, 1, 800, 800, 5958, 35958, 6400, 36400}, /* DDR3-800 SC */ + + {0, 0, 667, 400, 3456, 33456, 4103, 34106}, /* DDR2-400 SC */ + {0, 0, 667, 667, 3428, 33428, 3927, 33927}, /* DDR2-667 SC */ + {0, 0, 667, 800, 3443, 33443, 3905, 33905}, /* DDR2-800 SC */ + {0, 1, 667, 667, 6494, 36494, 6993, 36993}, /* DDR3-667 SC */ + {0, 1, 667, 800, 5998, 35998, 6460, 36460}, /* DDR3-800 SC */ + + {0, 0, 400, 400, 3528, 33528, 4255, 34255}, /* DDR2-400 SC */ + {0, 0, 400, 667, 3500, 33500, 4079, 34079}, /* DDR2-667 SC */ + {0, 0, 400, 800, 3487, 33487, 4029, 34029}, /* DDR2-800 SC */ + {0, 1, 400, 667, 6566, 36566, 7145, 37145}, /* DDR3-667 SC */ + {0, 1, 400, 800, 6042, 36042, 6584, 36584}, /* DDR3-800 SC */ +}; + +static const struct cxsr_latency *intel_get_cxsr_latency(int is_desktop, + int is_ddr3, + int fsb, + int mem) +{ + const struct cxsr_latency *latency; + int i; + + if (fsb == 0 || mem == 0) + return NULL; + + for (i = 0; i < ARRAY_SIZE(cxsr_latency_table); i++) { + latency = &cxsr_latency_table[i]; + if (is_desktop == latency->is_desktop && + is_ddr3 == latency->is_ddr3 && + fsb == latency->fsb_freq && mem == latency->mem_freq) + return latency; + } + + DRM_DEBUG_KMS("Unknown FSB/MEM found, disable CxSR\n"); + + return NULL; +} + +static void pineview_disable_cxsr(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* deactivate cxsr */ + I915_WRITE(DSPFW3, I915_READ(DSPFW3) & ~PINEVIEW_SELF_REFRESH_EN); +} + +/* + * Latency for FIFO fetches is dependent on several factors: + * - memory configuration (speed, channels) + * - chipset + * - current MCH state + * It can be fairly high in some situations, so here we assume a fairly + * pessimal value. It's a tradeoff between extra memory fetches (if we + * set this value too high, the FIFO will fetch frequently to stay full) + * and power consumption (set it too low to save power and we might see + * FIFO underruns and display "flicker"). + * + * A value of 5us seems to be a good balance; safe for very low end + * platforms but not overly aggressive on lower latency configs. + */ +static const int latency_ns = 5000; + +static int i9xx_get_fifo_size(struct drm_device *dev, int plane) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t dsparb = I915_READ(DSPARB); + int size; + + size = dsparb & 0x7f; + if (plane) + size = ((dsparb >> DSPARB_CSTART_SHIFT) & 0x7f) - size; + + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", size); + + return size; +} + +static int i85x_get_fifo_size(struct drm_device *dev, int plane) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t dsparb = I915_READ(DSPARB); + int size; + + size = dsparb & 0x1ff; + if (plane) + size = ((dsparb >> DSPARB_BEND_SHIFT) & 0x1ff) - size; + size >>= 1; /* Convert to cachelines */ + + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", size); + + return size; +} + +static int i845_get_fifo_size(struct drm_device *dev, int plane) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t dsparb = I915_READ(DSPARB); + int size; + + size = dsparb & 0x7f; + size >>= 2; /* Convert to cachelines */ + + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", + size); + + return size; +} + +static int i830_get_fifo_size(struct drm_device *dev, int plane) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t dsparb = I915_READ(DSPARB); + int size; + + size = dsparb & 0x7f; + size >>= 1; /* Convert to cachelines */ + + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", size); + + return size; +} + +/* Pineview has different values for various configs */ +static const struct intel_watermark_params pineview_display_wm = { + PINEVIEW_DISPLAY_FIFO, + PINEVIEW_MAX_WM, + PINEVIEW_DFT_WM, + PINEVIEW_GUARD_WM, + PINEVIEW_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params pineview_display_hplloff_wm = { + PINEVIEW_DISPLAY_FIFO, + PINEVIEW_MAX_WM, + PINEVIEW_DFT_HPLLOFF_WM, + PINEVIEW_GUARD_WM, + PINEVIEW_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params pineview_cursor_wm = { + PINEVIEW_CURSOR_FIFO, + PINEVIEW_CURSOR_MAX_WM, + PINEVIEW_CURSOR_DFT_WM, + PINEVIEW_CURSOR_GUARD_WM, + PINEVIEW_FIFO_LINE_SIZE, +}; +static const struct intel_watermark_params pineview_cursor_hplloff_wm = { + PINEVIEW_CURSOR_FIFO, + PINEVIEW_CURSOR_MAX_WM, + PINEVIEW_CURSOR_DFT_WM, + PINEVIEW_CURSOR_GUARD_WM, + PINEVIEW_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params g4x_wm_info = { + G4X_FIFO_SIZE, + G4X_MAX_WM, + G4X_MAX_WM, + 2, + G4X_FIFO_LINE_SIZE, +}; +static const struct intel_watermark_params g4x_cursor_wm_info = { + I965_CURSOR_FIFO, + I965_CURSOR_MAX_WM, + I965_CURSOR_DFT_WM, + 2, + G4X_FIFO_LINE_SIZE, +}; +static const struct intel_watermark_params valleyview_wm_info = { + VALLEYVIEW_FIFO_SIZE, + VALLEYVIEW_MAX_WM, + VALLEYVIEW_MAX_WM, + 2, + G4X_FIFO_LINE_SIZE, +}; +static const struct intel_watermark_params valleyview_cursor_wm_info = { + I965_CURSOR_FIFO, + VALLEYVIEW_CURSOR_MAX_WM, + I965_CURSOR_DFT_WM, + 2, + G4X_FIFO_LINE_SIZE, +}; +static const struct intel_watermark_params i965_cursor_wm_info = { + I965_CURSOR_FIFO, + I965_CURSOR_MAX_WM, + I965_CURSOR_DFT_WM, + 2, + I915_FIFO_LINE_SIZE, +}; +static const struct intel_watermark_params i945_wm_info = { + I945_FIFO_SIZE, + I915_MAX_WM, + 1, + 2, + I915_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params i915_wm_info = { + I915_FIFO_SIZE, + I915_MAX_WM, + 1, + 2, + I915_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params i855_wm_info = { + I855GM_FIFO_SIZE, + I915_MAX_WM, + 1, + 2, + I830_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params i830_wm_info = { + I830_FIFO_SIZE, + I915_MAX_WM, + 1, + 2, + I830_FIFO_LINE_SIZE +}; + +static const struct intel_watermark_params ironlake_display_wm_info = { + ILK_DISPLAY_FIFO, + ILK_DISPLAY_MAXWM, + ILK_DISPLAY_DFTWM, + 2, + ILK_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params ironlake_cursor_wm_info = { + ILK_CURSOR_FIFO, + ILK_CURSOR_MAXWM, + ILK_CURSOR_DFTWM, + 2, + ILK_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params ironlake_display_srwm_info = { + ILK_DISPLAY_SR_FIFO, + ILK_DISPLAY_MAX_SRWM, + ILK_DISPLAY_DFT_SRWM, + 2, + ILK_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params ironlake_cursor_srwm_info = { + ILK_CURSOR_SR_FIFO, + ILK_CURSOR_MAX_SRWM, + ILK_CURSOR_DFT_SRWM, + 2, + ILK_FIFO_LINE_SIZE +}; + +static const struct intel_watermark_params sandybridge_display_wm_info = { + SNB_DISPLAY_FIFO, + SNB_DISPLAY_MAXWM, + SNB_DISPLAY_DFTWM, + 2, + SNB_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params sandybridge_cursor_wm_info = { + SNB_CURSOR_FIFO, + SNB_CURSOR_MAXWM, + SNB_CURSOR_DFTWM, + 2, + SNB_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params sandybridge_display_srwm_info = { + SNB_DISPLAY_SR_FIFO, + SNB_DISPLAY_MAX_SRWM, + SNB_DISPLAY_DFT_SRWM, + 2, + SNB_FIFO_LINE_SIZE +}; +static const struct intel_watermark_params sandybridge_cursor_srwm_info = { + SNB_CURSOR_SR_FIFO, + SNB_CURSOR_MAX_SRWM, + SNB_CURSOR_DFT_SRWM, + 2, + SNB_FIFO_LINE_SIZE +}; + + +/** + * intel_calculate_wm - calculate watermark level + * @clock_in_khz: pixel clock + * @wm: chip FIFO params + * @pixel_size: display pixel size + * @latency_ns: memory latency for the platform + * + * Calculate the watermark level (the level at which the display plane will + * start fetching from memory again). Each chip has a different display + * FIFO size and allocation, so the caller needs to figure that out and pass + * in the correct intel_watermark_params structure. + * + * As the pixel clock runs, the FIFO will be drained at a rate that depends + * on the pixel size. When it reaches the watermark level, it'll start + * fetching FIFO line sized based chunks from memory until the FIFO fills + * past the watermark point. If the FIFO drains completely, a FIFO underrun + * will occur, and a display engine hang could result. + */ +static unsigned long intel_calculate_wm(unsigned long clock_in_khz, + const struct intel_watermark_params *wm, + int fifo_size, + int pixel_size, + unsigned long latency_ns) +{ + long entries_required, wm_size; + + /* + * Note: we need to make sure we don't overflow for various clock & + * latency values. + * clocks go from a few thousand to several hundred thousand. + * latency is usually a few thousand + */ + entries_required = ((clock_in_khz / 1000) * pixel_size * latency_ns) / + 1000; + entries_required = DIV_ROUND_UP(entries_required, wm->cacheline_size); + + DRM_DEBUG_KMS("FIFO entries required for mode: %ld\n", entries_required); + + wm_size = fifo_size - (entries_required + wm->guard_size); + + DRM_DEBUG_KMS("FIFO watermark level: %ld\n", wm_size); + + /* Don't promote wm_size to unsigned... */ + if (wm_size > (long)wm->max_wm) + wm_size = wm->max_wm; + if (wm_size <= 0) + wm_size = wm->default_wm; + return wm_size; +} + +static struct drm_crtc *single_enabled_crtc(struct drm_device *dev) +{ + struct drm_crtc *crtc, *enabled = NULL; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + if (crtc->enabled && crtc->fb) { + if (enabled) + return NULL; + enabled = crtc; + } + } + + return enabled; +} + +static void pineview_update_wm(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc; + const struct cxsr_latency *latency; + u32 reg; + unsigned long wm; + + latency = intel_get_cxsr_latency(IS_PINEVIEW_G(dev), dev_priv->is_ddr3, + dev_priv->fsb_freq, dev_priv->mem_freq); + if (!latency) { + DRM_DEBUG_KMS("Unknown FSB/MEM found, disable CxSR\n"); + pineview_disable_cxsr(dev); + return; + } + + crtc = single_enabled_crtc(dev); + if (crtc) { + int clock = crtc->mode.clock; + int pixel_size = crtc->fb->bits_per_pixel / 8; + + /* Display SR */ + wm = intel_calculate_wm(clock, &pineview_display_wm, + pineview_display_wm.fifo_size, + pixel_size, latency->display_sr); + reg = I915_READ(DSPFW1); + reg &= ~DSPFW_SR_MASK; + reg |= wm << DSPFW_SR_SHIFT; + I915_WRITE(DSPFW1, reg); + DRM_DEBUG_KMS("DSPFW1 register is %x\n", reg); + + /* cursor SR */ + wm = intel_calculate_wm(clock, &pineview_cursor_wm, + pineview_display_wm.fifo_size, + pixel_size, latency->cursor_sr); + reg = I915_READ(DSPFW3); + reg &= ~DSPFW_CURSOR_SR_MASK; + reg |= (wm & 0x3f) << DSPFW_CURSOR_SR_SHIFT; + I915_WRITE(DSPFW3, reg); + + /* Display HPLL off SR */ + wm = intel_calculate_wm(clock, &pineview_display_hplloff_wm, + pineview_display_hplloff_wm.fifo_size, + pixel_size, latency->display_hpll_disable); + reg = I915_READ(DSPFW3); + reg &= ~DSPFW_HPLL_SR_MASK; + reg |= wm & DSPFW_HPLL_SR_MASK; + I915_WRITE(DSPFW3, reg); + + /* cursor HPLL off SR */ + wm = intel_calculate_wm(clock, &pineview_cursor_hplloff_wm, + pineview_display_hplloff_wm.fifo_size, + pixel_size, latency->cursor_hpll_disable); + reg = I915_READ(DSPFW3); + reg &= ~DSPFW_HPLL_CURSOR_MASK; + reg |= (wm & 0x3f) << DSPFW_HPLL_CURSOR_SHIFT; + I915_WRITE(DSPFW3, reg); + DRM_DEBUG_KMS("DSPFW3 register is %x\n", reg); + + /* activate cxsr */ + I915_WRITE(DSPFW3, + I915_READ(DSPFW3) | PINEVIEW_SELF_REFRESH_EN); + DRM_DEBUG_KMS("Self-refresh is enabled\n"); + } else { + pineview_disable_cxsr(dev); + DRM_DEBUG_KMS("Self-refresh is disabled\n"); + } +} + +static bool g4x_compute_wm0(struct drm_device *dev, + int plane, + const struct intel_watermark_params *display, + int display_latency_ns, + const struct intel_watermark_params *cursor, + int cursor_latency_ns, + int *plane_wm, + int *cursor_wm) +{ + struct drm_crtc *crtc; + int htotal, hdisplay, clock, pixel_size; + int line_time_us, line_count; + int entries, tlb_miss; + + crtc = intel_get_crtc_for_plane(dev, plane); + if (crtc->fb == NULL || !crtc->enabled) { + *cursor_wm = cursor->guard_size; + *plane_wm = display->guard_size; + return false; + } + + htotal = crtc->mode.htotal; + hdisplay = crtc->mode.hdisplay; + clock = crtc->mode.clock; + pixel_size = crtc->fb->bits_per_pixel / 8; + + /* Use the small buffer method to calculate plane watermark */ + entries = ((clock * pixel_size / 1000) * display_latency_ns) / 1000; + tlb_miss = display->fifo_size*display->cacheline_size - hdisplay * 8; + if (tlb_miss > 0) + entries += tlb_miss; + entries = DIV_ROUND_UP(entries, display->cacheline_size); + *plane_wm = entries + display->guard_size; + if (*plane_wm > (int)display->max_wm) + *plane_wm = display->max_wm; + + /* Use the large buffer method to calculate cursor watermark */ + line_time_us = ((htotal * 1000) / clock); + line_count = (cursor_latency_ns / line_time_us + 1000) / 1000; + entries = line_count * 64 * pixel_size; + tlb_miss = cursor->fifo_size*cursor->cacheline_size - hdisplay * 8; + if (tlb_miss > 0) + entries += tlb_miss; + entries = DIV_ROUND_UP(entries, cursor->cacheline_size); + *cursor_wm = entries + cursor->guard_size; + if (*cursor_wm > (int)cursor->max_wm) + *cursor_wm = (int)cursor->max_wm; + + return true; +} + +/* + * Check the wm result. + * + * If any calculated watermark values is larger than the maximum value that + * can be programmed into the associated watermark register, that watermark + * must be disabled. + */ +static bool g4x_check_srwm(struct drm_device *dev, + int display_wm, int cursor_wm, + const struct intel_watermark_params *display, + const struct intel_watermark_params *cursor) +{ + DRM_DEBUG_KMS("SR watermark: display plane %d, cursor %d\n", + display_wm, cursor_wm); + + if (display_wm > display->max_wm) { + DRM_DEBUG_KMS("display watermark is too large(%d/%ld), disabling\n", + display_wm, display->max_wm); + return false; + } + + if (cursor_wm > cursor->max_wm) { + DRM_DEBUG_KMS("cursor watermark is too large(%d/%ld), disabling\n", + cursor_wm, cursor->max_wm); + return false; + } + + if (!(display_wm || cursor_wm)) { + DRM_DEBUG_KMS("SR latency is 0, disabling\n"); + return false; + } + + return true; +} + +static bool g4x_compute_srwm(struct drm_device *dev, + int plane, + int latency_ns, + const struct intel_watermark_params *display, + const struct intel_watermark_params *cursor, + int *display_wm, int *cursor_wm) +{ + struct drm_crtc *crtc; + int hdisplay, htotal, pixel_size, clock; + unsigned long line_time_us; + int line_count, line_size; + int small, large; + int entries; + + if (!latency_ns) { + *display_wm = *cursor_wm = 0; + return false; + } + + crtc = intel_get_crtc_for_plane(dev, plane); + hdisplay = crtc->mode.hdisplay; + htotal = crtc->mode.htotal; + clock = crtc->mode.clock; + pixel_size = crtc->fb->bits_per_pixel / 8; + + line_time_us = (htotal * 1000) / clock; + line_count = (latency_ns / line_time_us + 1000) / 1000; + line_size = hdisplay * pixel_size; + + /* Use the minimum of the small and large buffer method for primary */ + small = ((clock * pixel_size / 1000) * latency_ns) / 1000; + large = line_count * line_size; + + entries = DIV_ROUND_UP(min(small, large), display->cacheline_size); + *display_wm = entries + display->guard_size; + + /* calculate the self-refresh watermark for display cursor */ + entries = line_count * pixel_size * 64; + entries = DIV_ROUND_UP(entries, cursor->cacheline_size); + *cursor_wm = entries + cursor->guard_size; + + return g4x_check_srwm(dev, + *display_wm, *cursor_wm, + display, cursor); +} + +static bool vlv_compute_drain_latency(struct drm_device *dev, + int plane, + int *plane_prec_mult, + int *plane_dl, + int *cursor_prec_mult, + int *cursor_dl) +{ + struct drm_crtc *crtc; + int clock, pixel_size; + int entries; + + crtc = intel_get_crtc_for_plane(dev, plane); + if (crtc->fb == NULL || !crtc->enabled) + return false; + + clock = crtc->mode.clock; /* VESA DOT Clock */ + pixel_size = crtc->fb->bits_per_pixel / 8; /* BPP */ + + entries = (clock / 1000) * pixel_size; + *plane_prec_mult = (entries > 256) ? + DRAIN_LATENCY_PRECISION_32 : DRAIN_LATENCY_PRECISION_16; + *plane_dl = (64 * (*plane_prec_mult) * 4) / ((clock / 1000) * + pixel_size); + + entries = (clock / 1000) * 4; /* BPP is always 4 for cursor */ + *cursor_prec_mult = (entries > 256) ? + DRAIN_LATENCY_PRECISION_32 : DRAIN_LATENCY_PRECISION_16; + *cursor_dl = (64 * (*cursor_prec_mult) * 4) / ((clock / 1000) * 4); + + return true; +} + +/* + * Update drain latency registers of memory arbiter + * + * Valleyview SoC has a new memory arbiter and needs drain latency registers + * to be programmed. Each plane has a drain latency multiplier and a drain + * latency value. + */ + +static void vlv_update_drain_latency(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int planea_prec, planea_dl, planeb_prec, planeb_dl; + int cursora_prec, cursora_dl, cursorb_prec, cursorb_dl; + int plane_prec_mult, cursor_prec_mult; /* Precision multiplier is + either 16 or 32 */ + + /* For plane A, Cursor A */ + if (vlv_compute_drain_latency(dev, 0, &plane_prec_mult, &planea_dl, + &cursor_prec_mult, &cursora_dl)) { + cursora_prec = (cursor_prec_mult == DRAIN_LATENCY_PRECISION_32) ? + DDL_CURSORA_PRECISION_32 : DDL_CURSORA_PRECISION_16; + planea_prec = (plane_prec_mult == DRAIN_LATENCY_PRECISION_32) ? + DDL_PLANEA_PRECISION_32 : DDL_PLANEA_PRECISION_16; + + I915_WRITE(VLV_DDL1, cursora_prec | + (cursora_dl << DDL_CURSORA_SHIFT) | + planea_prec | planea_dl); + } + + /* For plane B, Cursor B */ + if (vlv_compute_drain_latency(dev, 1, &plane_prec_mult, &planeb_dl, + &cursor_prec_mult, &cursorb_dl)) { + cursorb_prec = (cursor_prec_mult == DRAIN_LATENCY_PRECISION_32) ? + DDL_CURSORB_PRECISION_32 : DDL_CURSORB_PRECISION_16; + planeb_prec = (plane_prec_mult == DRAIN_LATENCY_PRECISION_32) ? + DDL_PLANEB_PRECISION_32 : DDL_PLANEB_PRECISION_16; + + I915_WRITE(VLV_DDL2, cursorb_prec | + (cursorb_dl << DDL_CURSORB_SHIFT) | + planeb_prec | planeb_dl); + } +} + +#define single_plane_enabled(mask) is_power_of_2(mask) + +static void valleyview_update_wm(struct drm_device *dev) +{ + static const int sr_latency_ns = 12000; + struct drm_i915_private *dev_priv = dev->dev_private; + int planea_wm, planeb_wm, cursora_wm, cursorb_wm; + int plane_sr, cursor_sr; + unsigned int enabled = 0; + + vlv_update_drain_latency(dev); + + if (g4x_compute_wm0(dev, 0, + &valleyview_wm_info, latency_ns, + &valleyview_cursor_wm_info, latency_ns, + &planea_wm, &cursora_wm)) + enabled |= 1; + + if (g4x_compute_wm0(dev, 1, + &valleyview_wm_info, latency_ns, + &valleyview_cursor_wm_info, latency_ns, + &planeb_wm, &cursorb_wm)) + enabled |= 2; + + plane_sr = cursor_sr = 0; + if (single_plane_enabled(enabled) && + g4x_compute_srwm(dev, ffs(enabled) - 1, + sr_latency_ns, + &valleyview_wm_info, + &valleyview_cursor_wm_info, + &plane_sr, &cursor_sr)) + I915_WRITE(FW_BLC_SELF_VLV, FW_CSPWRDWNEN); + else + I915_WRITE(FW_BLC_SELF_VLV, + I915_READ(FW_BLC_SELF_VLV) & ~FW_CSPWRDWNEN); + + DRM_DEBUG_KMS("Setting FIFO watermarks - A: plane=%d, cursor=%d, B: plane=%d, cursor=%d, SR: plane=%d, cursor=%d\n", + planea_wm, cursora_wm, + planeb_wm, cursorb_wm, + plane_sr, cursor_sr); + + I915_WRITE(DSPFW1, + (plane_sr << DSPFW_SR_SHIFT) | + (cursorb_wm << DSPFW_CURSORB_SHIFT) | + (planeb_wm << DSPFW_PLANEB_SHIFT) | + planea_wm); + I915_WRITE(DSPFW2, + (I915_READ(DSPFW2) & DSPFW_CURSORA_MASK) | + (cursora_wm << DSPFW_CURSORA_SHIFT)); + I915_WRITE(DSPFW3, + (I915_READ(DSPFW3) | (cursor_sr << DSPFW_CURSOR_SR_SHIFT))); +} + +static void g4x_update_wm(struct drm_device *dev) +{ + static const int sr_latency_ns = 12000; + struct drm_i915_private *dev_priv = dev->dev_private; + int planea_wm, planeb_wm, cursora_wm, cursorb_wm; + int plane_sr, cursor_sr; + unsigned int enabled = 0; + + if (g4x_compute_wm0(dev, 0, + &g4x_wm_info, latency_ns, + &g4x_cursor_wm_info, latency_ns, + &planea_wm, &cursora_wm)) + enabled |= 1; + + if (g4x_compute_wm0(dev, 1, + &g4x_wm_info, latency_ns, + &g4x_cursor_wm_info, latency_ns, + &planeb_wm, &cursorb_wm)) + enabled |= 2; + + plane_sr = cursor_sr = 0; + if (single_plane_enabled(enabled) && + g4x_compute_srwm(dev, ffs(enabled) - 1, + sr_latency_ns, + &g4x_wm_info, + &g4x_cursor_wm_info, + &plane_sr, &cursor_sr)) + I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN); + else + I915_WRITE(FW_BLC_SELF, + I915_READ(FW_BLC_SELF) & ~FW_BLC_SELF_EN); + + DRM_DEBUG_KMS("Setting FIFO watermarks - A: plane=%d, cursor=%d, B: plane=%d, cursor=%d, SR: plane=%d, cursor=%d\n", + planea_wm, cursora_wm, + planeb_wm, cursorb_wm, + plane_sr, cursor_sr); + + I915_WRITE(DSPFW1, + (plane_sr << DSPFW_SR_SHIFT) | + (cursorb_wm << DSPFW_CURSORB_SHIFT) | + (planeb_wm << DSPFW_PLANEB_SHIFT) | + planea_wm); + I915_WRITE(DSPFW2, + (I915_READ(DSPFW2) & DSPFW_CURSORA_MASK) | + (cursora_wm << DSPFW_CURSORA_SHIFT)); + /* HPLL off in SR has some issues on G4x... disable it */ + I915_WRITE(DSPFW3, + (I915_READ(DSPFW3) & ~DSPFW_HPLL_SR_EN) | + (cursor_sr << DSPFW_CURSOR_SR_SHIFT)); +} + +static void i965_update_wm(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc; + int srwm = 1; + int cursor_sr = 16; + + /* Calc sr entries for one plane configs */ + crtc = single_enabled_crtc(dev); + if (crtc) { + /* self-refresh has much higher latency */ + static const int sr_latency_ns = 12000; + int clock = crtc->mode.clock; + int htotal = crtc->mode.htotal; + int hdisplay = crtc->mode.hdisplay; + int pixel_size = crtc->fb->bits_per_pixel / 8; + unsigned long line_time_us; + int entries; + + line_time_us = ((htotal * 1000) / clock); + + /* Use ns/us then divide to preserve precision */ + entries = (((sr_latency_ns / line_time_us) + 1000) / 1000) * + pixel_size * hdisplay; + entries = DIV_ROUND_UP(entries, I915_FIFO_LINE_SIZE); + srwm = I965_FIFO_SIZE - entries; + if (srwm < 0) + srwm = 1; + srwm &= 0x1ff; + DRM_DEBUG_KMS("self-refresh entries: %d, wm: %d\n", + entries, srwm); + + entries = (((sr_latency_ns / line_time_us) + 1000) / 1000) * + pixel_size * 64; + entries = DIV_ROUND_UP(entries, + i965_cursor_wm_info.cacheline_size); + cursor_sr = i965_cursor_wm_info.fifo_size - + (entries + i965_cursor_wm_info.guard_size); + + if (cursor_sr > i965_cursor_wm_info.max_wm) + cursor_sr = i965_cursor_wm_info.max_wm; + + DRM_DEBUG_KMS("self-refresh watermark: display plane %d " + "cursor %d\n", srwm, cursor_sr); + + if (IS_CRESTLINE(dev)) + I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN); + } else { + /* Turn off self refresh if both pipes are enabled */ + if (IS_CRESTLINE(dev)) + I915_WRITE(FW_BLC_SELF, I915_READ(FW_BLC_SELF) + & ~FW_BLC_SELF_EN); + } + + DRM_DEBUG_KMS("Setting FIFO watermarks - A: 8, B: 8, C: 8, SR %d\n", + srwm); + + /* 965 has limitations... */ + I915_WRITE(DSPFW1, (srwm << DSPFW_SR_SHIFT) | + (8 << 16) | (8 << 8) | (8 << 0)); + I915_WRITE(DSPFW2, (8 << 8) | (8 << 0)); + /* update cursor SR watermark */ + I915_WRITE(DSPFW3, (cursor_sr << DSPFW_CURSOR_SR_SHIFT)); +} + +static void i9xx_update_wm(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + const struct intel_watermark_params *wm_info; + uint32_t fwater_lo; + uint32_t fwater_hi; + int cwm, srwm = 1; + int fifo_size; + int planea_wm, planeb_wm; + struct drm_crtc *crtc, *enabled = NULL; + + if (IS_I945GM(dev)) + wm_info = &i945_wm_info; + else if (!IS_GEN2(dev)) + wm_info = &i915_wm_info; + else + wm_info = &i855_wm_info; + + fifo_size = dev_priv->display.get_fifo_size(dev, 0); + crtc = intel_get_crtc_for_plane(dev, 0); + if (crtc->enabled && crtc->fb) { + int cpp = crtc->fb->bits_per_pixel / 8; + if (IS_GEN2(dev)) + cpp = 4; + + planea_wm = intel_calculate_wm(crtc->mode.clock, + wm_info, fifo_size, cpp, + latency_ns); + enabled = crtc; + } else + planea_wm = fifo_size - wm_info->guard_size; + + fifo_size = dev_priv->display.get_fifo_size(dev, 1); + crtc = intel_get_crtc_for_plane(dev, 1); + if (crtc->enabled && crtc->fb) { + int cpp = crtc->fb->bits_per_pixel / 8; + if (IS_GEN2(dev)) + cpp = 4; + + planeb_wm = intel_calculate_wm(crtc->mode.clock, + wm_info, fifo_size, cpp, + latency_ns); + if (enabled == NULL) + enabled = crtc; + else + enabled = NULL; + } else + planeb_wm = fifo_size - wm_info->guard_size; + + DRM_DEBUG_KMS("FIFO watermarks - A: %d, B: %d\n", planea_wm, planeb_wm); + + /* + * Overlay gets an aggressive default since video jitter is bad. + */ + cwm = 2; + + /* Play safe and disable self-refresh before adjusting watermarks. */ + if (IS_I945G(dev) || IS_I945GM(dev)) + I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0); + else if (IS_I915GM(dev)) + I915_WRITE(INSTPM, I915_READ(INSTPM) & ~INSTPM_SELF_EN); + + /* Calc sr entries for one plane configs */ + if (HAS_FW_BLC(dev) && enabled) { + /* self-refresh has much higher latency */ + static const int sr_latency_ns = 6000; + int clock = enabled->mode.clock; + int htotal = enabled->mode.htotal; + int hdisplay = enabled->mode.hdisplay; + int pixel_size = enabled->fb->bits_per_pixel / 8; + unsigned long line_time_us; + int entries; + + line_time_us = (htotal * 1000) / clock; + + /* Use ns/us then divide to preserve precision */ + entries = (((sr_latency_ns / line_time_us) + 1000) / 1000) * + pixel_size * hdisplay; + entries = DIV_ROUND_UP(entries, wm_info->cacheline_size); + DRM_DEBUG_KMS("self-refresh entries: %d\n", entries); + srwm = wm_info->fifo_size - entries; + if (srwm < 0) + srwm = 1; + + if (IS_I945G(dev) || IS_I945GM(dev)) + I915_WRITE(FW_BLC_SELF, + FW_BLC_SELF_FIFO_MASK | (srwm & 0xff)); + else if (IS_I915GM(dev)) + I915_WRITE(FW_BLC_SELF, srwm & 0x3f); + } + + DRM_DEBUG_KMS("Setting FIFO watermarks - A: %d, B: %d, C: %d, SR %d\n", + planea_wm, planeb_wm, cwm, srwm); + + fwater_lo = ((planeb_wm & 0x3f) << 16) | (planea_wm & 0x3f); + fwater_hi = (cwm & 0x1f); + + /* Set request length to 8 cachelines per fetch */ + fwater_lo = fwater_lo | (1 << 24) | (1 << 8); + fwater_hi = fwater_hi | (1 << 8); + + I915_WRITE(FW_BLC, fwater_lo); + I915_WRITE(FW_BLC2, fwater_hi); + + if (HAS_FW_BLC(dev)) { + if (enabled) { + if (IS_I945G(dev) || IS_I945GM(dev)) + I915_WRITE(FW_BLC_SELF, + FW_BLC_SELF_EN_MASK | FW_BLC_SELF_EN); + else if (IS_I915GM(dev)) + I915_WRITE(INSTPM, I915_READ(INSTPM) | INSTPM_SELF_EN); + DRM_DEBUG_KMS("memory self refresh enabled\n"); + } else + DRM_DEBUG_KMS("memory self refresh disabled\n"); + } +} + +static void i830_update_wm(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc; + uint32_t fwater_lo; + int planea_wm; + + crtc = single_enabled_crtc(dev); + if (crtc == NULL) + return; + + planea_wm = intel_calculate_wm(crtc->mode.clock, &i830_wm_info, + dev_priv->display.get_fifo_size(dev, 0), + 4, latency_ns); + fwater_lo = I915_READ(FW_BLC) & ~0xfff; + fwater_lo |= (3<<8) | planea_wm; + + DRM_DEBUG_KMS("Setting FIFO watermarks - A: %d\n", planea_wm); + + I915_WRITE(FW_BLC, fwater_lo); +} + +#define ILK_LP0_PLANE_LATENCY 700 +#define ILK_LP0_CURSOR_LATENCY 1300 + +/* + * Check the wm result. + * + * If any calculated watermark values is larger than the maximum value that + * can be programmed into the associated watermark register, that watermark + * must be disabled. + */ +static bool ironlake_check_srwm(struct drm_device *dev, int level, + int fbc_wm, int display_wm, int cursor_wm, + const struct intel_watermark_params *display, + const struct intel_watermark_params *cursor) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + DRM_DEBUG_KMS("watermark %d: display plane %d, fbc lines %d," + " cursor %d\n", level, display_wm, fbc_wm, cursor_wm); + + if (fbc_wm > SNB_FBC_MAX_SRWM) { + DRM_DEBUG_KMS("fbc watermark(%d) is too large(%d), disabling wm%d+\n", + fbc_wm, SNB_FBC_MAX_SRWM, level); + + /* fbc has it's own way to disable FBC WM */ + I915_WRITE(DISP_ARB_CTL, + I915_READ(DISP_ARB_CTL) | DISP_FBC_WM_DIS); + return false; + } + + if (display_wm > display->max_wm) { + DRM_DEBUG_KMS("display watermark(%d) is too large(%d), disabling wm%d+\n", + display_wm, SNB_DISPLAY_MAX_SRWM, level); + return false; + } + + if (cursor_wm > cursor->max_wm) { + DRM_DEBUG_KMS("cursor watermark(%d) is too large(%d), disabling wm%d+\n", + cursor_wm, SNB_CURSOR_MAX_SRWM, level); + return false; + } + + if (!(fbc_wm || display_wm || cursor_wm)) { + DRM_DEBUG_KMS("latency %d is 0, disabling wm%d+\n", level, level); + return false; + } + + return true; +} + +/* + * Compute watermark values of WM[1-3], + */ +static bool ironlake_compute_srwm(struct drm_device *dev, int level, int plane, + int latency_ns, + const struct intel_watermark_params *display, + const struct intel_watermark_params *cursor, + int *fbc_wm, int *display_wm, int *cursor_wm) +{ + struct drm_crtc *crtc; + unsigned long line_time_us; + int hdisplay, htotal, pixel_size, clock; + int line_count, line_size; + int small, large; + int entries; + + if (!latency_ns) { + *fbc_wm = *display_wm = *cursor_wm = 0; + return false; + } + + crtc = intel_get_crtc_for_plane(dev, plane); + hdisplay = crtc->mode.hdisplay; + htotal = crtc->mode.htotal; + clock = crtc->mode.clock; + pixel_size = crtc->fb->bits_per_pixel / 8; + + line_time_us = (htotal * 1000) / clock; + line_count = (latency_ns / line_time_us + 1000) / 1000; + line_size = hdisplay * pixel_size; + + /* Use the minimum of the small and large buffer method for primary */ + small = ((clock * pixel_size / 1000) * latency_ns) / 1000; + large = line_count * line_size; + + entries = DIV_ROUND_UP(min(small, large), display->cacheline_size); + *display_wm = entries + display->guard_size; + + /* + * Spec says: + * FBC WM = ((Final Primary WM * 64) / number of bytes per line) + 2 + */ + *fbc_wm = DIV_ROUND_UP(*display_wm * 64, line_size) + 2; + + /* calculate the self-refresh watermark for display cursor */ + entries = line_count * pixel_size * 64; + entries = DIV_ROUND_UP(entries, cursor->cacheline_size); + *cursor_wm = entries + cursor->guard_size; + + return ironlake_check_srwm(dev, level, + *fbc_wm, *display_wm, *cursor_wm, + display, cursor); +} + +static void ironlake_update_wm(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int fbc_wm, plane_wm, cursor_wm; + unsigned int enabled; + + enabled = 0; + if (g4x_compute_wm0(dev, 0, + &ironlake_display_wm_info, + ILK_LP0_PLANE_LATENCY, + &ironlake_cursor_wm_info, + ILK_LP0_CURSOR_LATENCY, + &plane_wm, &cursor_wm)) { + I915_WRITE(WM0_PIPEA_ILK, + (plane_wm << WM0_PIPE_PLANE_SHIFT) | cursor_wm); + DRM_DEBUG_KMS("FIFO watermarks For pipe A -" + " plane %d, " "cursor: %d\n", + plane_wm, cursor_wm); + enabled |= 1; + } + + if (g4x_compute_wm0(dev, 1, + &ironlake_display_wm_info, + ILK_LP0_PLANE_LATENCY, + &ironlake_cursor_wm_info, + ILK_LP0_CURSOR_LATENCY, + &plane_wm, &cursor_wm)) { + I915_WRITE(WM0_PIPEB_ILK, + (plane_wm << WM0_PIPE_PLANE_SHIFT) | cursor_wm); + DRM_DEBUG_KMS("FIFO watermarks For pipe B -" + " plane %d, cursor: %d\n", + plane_wm, cursor_wm); + enabled |= 2; + } + + /* + * Calculate and update the self-refresh watermark only when one + * display plane is used. + */ + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + if (!single_plane_enabled(enabled)) + return; + enabled = ffs(enabled) - 1; + + /* WM1 */ + if (!ironlake_compute_srwm(dev, 1, enabled, + ILK_READ_WM1_LATENCY() * 500, + &ironlake_display_srwm_info, + &ironlake_cursor_srwm_info, + &fbc_wm, &plane_wm, &cursor_wm)) + return; + + I915_WRITE(WM1_LP_ILK, + WM1_LP_SR_EN | + (ILK_READ_WM1_LATENCY() << WM1_LP_LATENCY_SHIFT) | + (fbc_wm << WM1_LP_FBC_SHIFT) | + (plane_wm << WM1_LP_SR_SHIFT) | + cursor_wm); + + /* WM2 */ + if (!ironlake_compute_srwm(dev, 2, enabled, + ILK_READ_WM2_LATENCY() * 500, + &ironlake_display_srwm_info, + &ironlake_cursor_srwm_info, + &fbc_wm, &plane_wm, &cursor_wm)) + return; + + I915_WRITE(WM2_LP_ILK, + WM2_LP_EN | + (ILK_READ_WM2_LATENCY() << WM1_LP_LATENCY_SHIFT) | + (fbc_wm << WM1_LP_FBC_SHIFT) | + (plane_wm << WM1_LP_SR_SHIFT) | + cursor_wm); + + /* + * WM3 is unsupported on ILK, probably because we don't have latency + * data for that power state + */ +} + +static void sandybridge_update_wm(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int latency = SNB_READ_WM0_LATENCY() * 100; /* In unit 0.1us */ + u32 val; + int fbc_wm, plane_wm, cursor_wm; + unsigned int enabled; + + enabled = 0; + if (g4x_compute_wm0(dev, 0, + &sandybridge_display_wm_info, latency, + &sandybridge_cursor_wm_info, latency, + &plane_wm, &cursor_wm)) { + val = I915_READ(WM0_PIPEA_ILK); + val &= ~(WM0_PIPE_PLANE_MASK | WM0_PIPE_CURSOR_MASK); + I915_WRITE(WM0_PIPEA_ILK, val | + ((plane_wm << WM0_PIPE_PLANE_SHIFT) | cursor_wm)); + DRM_DEBUG_KMS("FIFO watermarks For pipe A -" + " plane %d, " "cursor: %d\n", + plane_wm, cursor_wm); + enabled |= 1; + } + + if (g4x_compute_wm0(dev, 1, + &sandybridge_display_wm_info, latency, + &sandybridge_cursor_wm_info, latency, + &plane_wm, &cursor_wm)) { + val = I915_READ(WM0_PIPEB_ILK); + val &= ~(WM0_PIPE_PLANE_MASK | WM0_PIPE_CURSOR_MASK); + I915_WRITE(WM0_PIPEB_ILK, val | + ((plane_wm << WM0_PIPE_PLANE_SHIFT) | cursor_wm)); + DRM_DEBUG_KMS("FIFO watermarks For pipe B -" + " plane %d, cursor: %d\n", + plane_wm, cursor_wm); + enabled |= 2; + } + + if ((dev_priv->num_pipe == 3) && + g4x_compute_wm0(dev, 2, + &sandybridge_display_wm_info, latency, + &sandybridge_cursor_wm_info, latency, + &plane_wm, &cursor_wm)) { + val = I915_READ(WM0_PIPEC_IVB); + val &= ~(WM0_PIPE_PLANE_MASK | WM0_PIPE_CURSOR_MASK); + I915_WRITE(WM0_PIPEC_IVB, val | + ((plane_wm << WM0_PIPE_PLANE_SHIFT) | cursor_wm)); + DRM_DEBUG_KMS("FIFO watermarks For pipe C -" + " plane %d, cursor: %d\n", + plane_wm, cursor_wm); + enabled |= 3; + } + + /* + * Calculate and update the self-refresh watermark only when one + * display plane is used. + * + * SNB support 3 levels of watermark. + * + * WM1/WM2/WM2 watermarks have to be enabled in the ascending order, + * and disabled in the descending order + * + */ + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + if (!single_plane_enabled(enabled) || + dev_priv->sprite_scaling_enabled) + return; + enabled = ffs(enabled) - 1; + + /* WM1 */ + if (!ironlake_compute_srwm(dev, 1, enabled, + SNB_READ_WM1_LATENCY() * 500, + &sandybridge_display_srwm_info, + &sandybridge_cursor_srwm_info, + &fbc_wm, &plane_wm, &cursor_wm)) + return; + + I915_WRITE(WM1_LP_ILK, + WM1_LP_SR_EN | + (SNB_READ_WM1_LATENCY() << WM1_LP_LATENCY_SHIFT) | + (fbc_wm << WM1_LP_FBC_SHIFT) | + (plane_wm << WM1_LP_SR_SHIFT) | + cursor_wm); + + /* WM2 */ + if (!ironlake_compute_srwm(dev, 2, enabled, + SNB_READ_WM2_LATENCY() * 500, + &sandybridge_display_srwm_info, + &sandybridge_cursor_srwm_info, + &fbc_wm, &plane_wm, &cursor_wm)) + return; + + I915_WRITE(WM2_LP_ILK, + WM2_LP_EN | + (SNB_READ_WM2_LATENCY() << WM1_LP_LATENCY_SHIFT) | + (fbc_wm << WM1_LP_FBC_SHIFT) | + (plane_wm << WM1_LP_SR_SHIFT) | + cursor_wm); + + /* WM3 */ + if (!ironlake_compute_srwm(dev, 3, enabled, + SNB_READ_WM3_LATENCY() * 500, + &sandybridge_display_srwm_info, + &sandybridge_cursor_srwm_info, + &fbc_wm, &plane_wm, &cursor_wm)) + return; + + I915_WRITE(WM3_LP_ILK, + WM3_LP_EN | + (SNB_READ_WM3_LATENCY() << WM1_LP_LATENCY_SHIFT) | + (fbc_wm << WM1_LP_FBC_SHIFT) | + (plane_wm << WM1_LP_SR_SHIFT) | + cursor_wm); +} + +static void +haswell_update_linetime_wm(struct drm_device *dev, int pipe, + struct drm_display_mode *mode) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 temp; + + temp = I915_READ(PIPE_WM_LINETIME(pipe)); + temp &= ~PIPE_WM_LINETIME_MASK; + + /* The WM are computed with base on how long it takes to fill a single + * row at the given clock rate, multiplied by 8. + * */ + temp |= PIPE_WM_LINETIME_TIME( + ((mode->crtc_hdisplay * 1000) / mode->clock) * 8); + + /* IPS watermarks are only used by pipe A, and are ignored by + * pipes B and C. They are calculated similarly to the common + * linetime values, except that we are using CD clock frequency + * in MHz instead of pixel rate for the division. + * + * This is a placeholder for the IPS watermark calculation code. + */ + + I915_WRITE(PIPE_WM_LINETIME(pipe), temp); +} + +static bool +sandybridge_compute_sprite_wm(struct drm_device *dev, int plane, + uint32_t sprite_width, int pixel_size, + const struct intel_watermark_params *display, + int display_latency_ns, int *sprite_wm) +{ + struct drm_crtc *crtc; + int clock; + int entries, tlb_miss; + + crtc = intel_get_crtc_for_plane(dev, plane); + if (crtc->fb == NULL || !crtc->enabled) { + *sprite_wm = display->guard_size; + return false; + } + + clock = crtc->mode.clock; + + /* Use the small buffer method to calculate the sprite watermark */ + entries = ((clock * pixel_size / 1000) * display_latency_ns) / 1000; + tlb_miss = display->fifo_size*display->cacheline_size - + sprite_width * 8; + if (tlb_miss > 0) + entries += tlb_miss; + entries = DIV_ROUND_UP(entries, display->cacheline_size); + *sprite_wm = entries + display->guard_size; + if (*sprite_wm > (int)display->max_wm) + *sprite_wm = display->max_wm; + + return true; +} + +static bool +sandybridge_compute_sprite_srwm(struct drm_device *dev, int plane, + uint32_t sprite_width, int pixel_size, + const struct intel_watermark_params *display, + int latency_ns, int *sprite_wm) +{ + struct drm_crtc *crtc; + unsigned long line_time_us; + int clock; + int line_count, line_size; + int small, large; + int entries; + + if (!latency_ns) { + *sprite_wm = 0; + return false; + } + + crtc = intel_get_crtc_for_plane(dev, plane); + clock = crtc->mode.clock; + if (!clock) { + *sprite_wm = 0; + return false; + } + + line_time_us = (sprite_width * 1000) / clock; + if (!line_time_us) { + *sprite_wm = 0; + return false; + } + + line_count = (latency_ns / line_time_us + 1000) / 1000; + line_size = sprite_width * pixel_size; + + /* Use the minimum of the small and large buffer method for primary */ + small = ((clock * pixel_size / 1000) * latency_ns) / 1000; + large = line_count * line_size; + + entries = DIV_ROUND_UP(min(small, large), display->cacheline_size); + *sprite_wm = entries + display->guard_size; + + return *sprite_wm > 0x3ff ? false : true; +} + +static void sandybridge_update_sprite_wm(struct drm_device *dev, int pipe, + uint32_t sprite_width, int pixel_size) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int latency = SNB_READ_WM0_LATENCY() * 100; /* In unit 0.1us */ + u32 val; + int sprite_wm, reg; + int ret; + + switch (pipe) { + case 0: + reg = WM0_PIPEA_ILK; + break; + case 1: + reg = WM0_PIPEB_ILK; + break; + case 2: + reg = WM0_PIPEC_IVB; + break; + default: + return; /* bad pipe */ + } + + ret = sandybridge_compute_sprite_wm(dev, pipe, sprite_width, pixel_size, + &sandybridge_display_wm_info, + latency, &sprite_wm); + if (!ret) { + DRM_DEBUG_KMS("failed to compute sprite wm for pipe %d\n", + pipe); + return; + } + + val = I915_READ(reg); + val &= ~WM0_PIPE_SPRITE_MASK; + I915_WRITE(reg, val | (sprite_wm << WM0_PIPE_SPRITE_SHIFT)); + DRM_DEBUG_KMS("sprite watermarks For pipe %d - %d\n", pipe, sprite_wm); + + + ret = sandybridge_compute_sprite_srwm(dev, pipe, sprite_width, + pixel_size, + &sandybridge_display_srwm_info, + SNB_READ_WM1_LATENCY() * 500, + &sprite_wm); + if (!ret) { + DRM_DEBUG_KMS("failed to compute sprite lp1 wm on pipe %d\n", + pipe); + return; + } + I915_WRITE(WM1S_LP_ILK, sprite_wm); + + /* Only IVB has two more LP watermarks for sprite */ + if (!IS_IVYBRIDGE(dev)) + return; + + ret = sandybridge_compute_sprite_srwm(dev, pipe, sprite_width, + pixel_size, + &sandybridge_display_srwm_info, + SNB_READ_WM2_LATENCY() * 500, + &sprite_wm); + if (!ret) { + DRM_DEBUG_KMS("failed to compute sprite lp2 wm on pipe %d\n", + pipe); + return; + } + I915_WRITE(WM2S_LP_IVB, sprite_wm); + + ret = sandybridge_compute_sprite_srwm(dev, pipe, sprite_width, + pixel_size, + &sandybridge_display_srwm_info, + SNB_READ_WM3_LATENCY() * 500, + &sprite_wm); + if (!ret) { + DRM_DEBUG_KMS("failed to compute sprite lp3 wm on pipe %d\n", + pipe); + return; + } + I915_WRITE(WM3S_LP_IVB, sprite_wm); +} + +/** + * intel_update_watermarks - update FIFO watermark values based on current modes + * + * Calculate watermark values for the various WM regs based on current mode + * and plane configuration. + * + * There are several cases to deal with here: + * - normal (i.e. non-self-refresh) + * - self-refresh (SR) mode + * - lines are large relative to FIFO size (buffer can hold up to 2) + * - lines are small relative to FIFO size (buffer can hold more than 2 + * lines), so need to account for TLB latency + * + * The normal calculation is: + * watermark = dotclock * bytes per pixel * latency + * where latency is platform & configuration dependent (we assume pessimal + * values here). + * + * The SR calculation is: + * watermark = (trunc(latency/line time)+1) * surface width * + * bytes per pixel + * where + * line time = htotal / dotclock + * surface width = hdisplay for normal plane and 64 for cursor + * and latency is assumed to be high, as above. + * + * The final value programmed to the register should always be rounded up, + * and include an extra 2 entries to account for clock crossings. + * + * We don't use the sprite, so we can ignore that. And on Crestline we have + * to set the non-SR watermarks to 8. + */ +void intel_update_watermarks(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->display.update_wm) + dev_priv->display.update_wm(dev); +} + +void intel_update_linetime_watermarks(struct drm_device *dev, + int pipe, struct drm_display_mode *mode) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->display.update_linetime_wm) + dev_priv->display.update_linetime_wm(dev, pipe, mode); +} + +void intel_update_sprite_watermarks(struct drm_device *dev, int pipe, + uint32_t sprite_width, int pixel_size) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->display.update_sprite_wm) + dev_priv->display.update_sprite_wm(dev, pipe, sprite_width, + pixel_size); +} + +static struct drm_i915_gem_object * +intel_alloc_context_page(struct drm_device *dev) +{ + struct drm_i915_gem_object *ctx; + int ret; + + WARN_ON(!mutex_is_locked(&dev->struct_mutex)); + + ctx = i915_gem_alloc_object(dev, 4096); + if (!ctx) { + DRM_DEBUG("failed to alloc power context, RC6 disabled\n"); + return NULL; + } + + ret = i915_gem_object_pin(ctx, 4096, true, false); + if (ret) { + DRM_ERROR("failed to pin power context: %d\n", ret); + goto err_unref; + } + + ret = i915_gem_object_set_to_gtt_domain(ctx, 1); + if (ret) { + DRM_ERROR("failed to set-domain on power context: %d\n", ret); + goto err_unpin; + } + + return ctx; + +err_unpin: + i915_gem_object_unpin(ctx); +err_unref: + drm_gem_object_unreference(&ctx->base); + mutex_unlock(&dev->struct_mutex); + return NULL; +} + +/** + * Lock protecting IPS related data structures + */ +DEFINE_SPINLOCK(mchdev_lock); + +/* Global for IPS driver to get at the current i915 device. Protected by + * mchdev_lock. */ +static struct drm_i915_private *i915_mch_dev; + +bool ironlake_set_drps(struct drm_device *dev, u8 val) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u16 rgvswctl; + + assert_spin_locked(&mchdev_lock); + + rgvswctl = I915_READ16(MEMSWCTL); + if (rgvswctl & MEMCTL_CMD_STS) { + DRM_DEBUG("gpu busy, RCS change rejected\n"); + return false; /* still busy with another command */ + } + + rgvswctl = (MEMCTL_CMD_CHFREQ << MEMCTL_CMD_SHIFT) | + (val << MEMCTL_FREQ_SHIFT) | MEMCTL_SFCAVM; + I915_WRITE16(MEMSWCTL, rgvswctl); + POSTING_READ16(MEMSWCTL); + + rgvswctl |= MEMCTL_CMD_STS; + I915_WRITE16(MEMSWCTL, rgvswctl); + + return true; +} + +static void ironlake_enable_drps(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 rgvmodectl = I915_READ(MEMMODECTL); + u8 fmax, fmin, fstart, vstart; + + spin_lock_irq(&mchdev_lock); + + /* Enable temp reporting */ + I915_WRITE16(PMMISC, I915_READ(PMMISC) | MCPPCE_EN); + I915_WRITE16(TSC1, I915_READ(TSC1) | TSE); + + /* 100ms RC evaluation intervals */ + I915_WRITE(RCUPEI, 100000); + I915_WRITE(RCDNEI, 100000); + + /* Set max/min thresholds to 90ms and 80ms respectively */ + I915_WRITE(RCBMAXAVG, 90000); + I915_WRITE(RCBMINAVG, 80000); + + I915_WRITE(MEMIHYST, 1); + + /* Set up min, max, and cur for interrupt handling */ + fmax = (rgvmodectl & MEMMODE_FMAX_MASK) >> MEMMODE_FMAX_SHIFT; + fmin = (rgvmodectl & MEMMODE_FMIN_MASK); + fstart = (rgvmodectl & MEMMODE_FSTART_MASK) >> + MEMMODE_FSTART_SHIFT; + + vstart = (I915_READ(PXVFREQ_BASE + (fstart * 4)) & PXVFREQ_PX_MASK) >> + PXVFREQ_PX_SHIFT; + + dev_priv->ips.fmax = fmax; /* IPS callback will increase this */ + dev_priv->ips.fstart = fstart; + + dev_priv->ips.max_delay = fstart; + dev_priv->ips.min_delay = fmin; + dev_priv->ips.cur_delay = fstart; + + DRM_DEBUG_DRIVER("fmax: %d, fmin: %d, fstart: %d\n", + fmax, fmin, fstart); + + I915_WRITE(MEMINTREN, MEMINT_CX_SUPR_EN | MEMINT_EVAL_CHG_EN); + + /* + * Interrupts will be enabled in ironlake_irq_postinstall + */ + + I915_WRITE(VIDSTART, vstart); + POSTING_READ(VIDSTART); + + rgvmodectl |= MEMMODE_SWMODE_EN; + I915_WRITE(MEMMODECTL, rgvmodectl); + + if (wait_for_atomic((I915_READ(MEMSWCTL) & MEMCTL_CMD_STS) == 0, 10)) + DRM_ERROR("stuck trying to change perf mode\n"); + mdelay(1); + + ironlake_set_drps(dev, fstart); + + dev_priv->ips.last_count1 = I915_READ(0x112e4) + I915_READ(0x112e8) + + I915_READ(0x112e0); + dev_priv->ips.last_time1 = jiffies_to_msecs(jiffies); + dev_priv->ips.last_count2 = I915_READ(0x112f4); + getrawmonotonic(&dev_priv->ips.last_time2); + + spin_unlock_irq(&mchdev_lock); +} + +static void ironlake_disable_drps(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u16 rgvswctl; + + spin_lock_irq(&mchdev_lock); + + rgvswctl = I915_READ16(MEMSWCTL); + + /* Ack interrupts, disable EFC interrupt */ + I915_WRITE(MEMINTREN, I915_READ(MEMINTREN) & ~MEMINT_EVAL_CHG_EN); + I915_WRITE(MEMINTRSTS, MEMINT_EVAL_CHG); + I915_WRITE(DEIER, I915_READ(DEIER) & ~DE_PCU_EVENT); + I915_WRITE(DEIIR, DE_PCU_EVENT); + I915_WRITE(DEIMR, I915_READ(DEIMR) | DE_PCU_EVENT); + + /* Go back to the starting frequency */ + ironlake_set_drps(dev, dev_priv->ips.fstart); + mdelay(1); + rgvswctl |= MEMCTL_CMD_STS; + I915_WRITE(MEMSWCTL, rgvswctl); + mdelay(1); + + spin_unlock_irq(&mchdev_lock); +} + +/* There's a funny hw issue where the hw returns all 0 when reading from + * GEN6_RP_INTERRUPT_LIMITS. Hence we always need to compute the desired value + * ourselves, instead of doing a rmw cycle (which might result in us clearing + * all limits and the gpu stuck at whatever frequency it is at atm). + */ +static u32 gen6_rps_limits(struct drm_i915_private *dev_priv, u8 *val) +{ + u32 limits; + + limits = 0; + + if (*val >= dev_priv->rps.max_delay) + *val = dev_priv->rps.max_delay; + limits |= dev_priv->rps.max_delay << 24; + + /* Only set the down limit when we've reached the lowest level to avoid + * getting more interrupts, otherwise leave this clear. This prevents a + * race in the hw when coming out of rc6: There's a tiny window where + * the hw runs at the minimal clock before selecting the desired + * frequency, if the down threshold expires in that window we will not + * receive a down interrupt. */ + if (*val <= dev_priv->rps.min_delay) { + *val = dev_priv->rps.min_delay; + limits |= dev_priv->rps.min_delay << 16; + } + + return limits; +} + +void gen6_set_rps(struct drm_device *dev, u8 val) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 limits = gen6_rps_limits(dev_priv, &val); + + WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock)); + WARN_ON(val > dev_priv->rps.max_delay); + WARN_ON(val < dev_priv->rps.min_delay); + + if (val == dev_priv->rps.cur_delay) + return; + + I915_WRITE(GEN6_RPNSWREQ, + GEN6_FREQUENCY(val) | + GEN6_OFFSET(0) | + GEN6_AGGRESSIVE_TURBO); + + /* Make sure we continue to get interrupts + * until we hit the minimum or maximum frequencies. + */ + I915_WRITE(GEN6_RP_INTERRUPT_LIMITS, limits); + + POSTING_READ(GEN6_RPNSWREQ); + + dev_priv->rps.cur_delay = val; + + trace_intel_gpu_freq_change(val * 50); +} + +static void gen6_disable_rps(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE(GEN6_RC_CONTROL, 0); + I915_WRITE(GEN6_RPNSWREQ, 1 << 31); + I915_WRITE(GEN6_PMINTRMSK, 0xffffffff); + I915_WRITE(GEN6_PMIER, 0); + /* Complete PM interrupt masking here doesn't race with the rps work + * item again unmasking PM interrupts because that is using a different + * register (PMIMR) to mask PM interrupts. The only risk is in leaving + * stale bits in PMIIR and PMIMR which gen6_enable_rps will clean up. */ + + spin_lock_irq(&dev_priv->rps.lock); + dev_priv->rps.pm_iir = 0; + spin_unlock_irq(&dev_priv->rps.lock); + + I915_WRITE(GEN6_PMIIR, I915_READ(GEN6_PMIIR)); +} + +int intel_enable_rc6(const struct drm_device *dev) +{ + /* Respect the kernel parameter if it is set */ + if (i915_enable_rc6 >= 0) + return i915_enable_rc6; + + /* Disable RC6 on Ironlake */ + if (INTEL_INFO(dev)->gen == 5) + return 0; + + if (IS_HASWELL(dev)) { + DRM_DEBUG_DRIVER("Haswell: only RC6 available\n"); + return INTEL_RC6_ENABLE; + } + + /* snb/ivb have more than one rc6 state. */ + if (INTEL_INFO(dev)->gen == 6) { + DRM_DEBUG_DRIVER("Sandybridge: deep RC6 disabled\n"); + return INTEL_RC6_ENABLE; + } + + DRM_DEBUG_DRIVER("RC6 and deep RC6 enabled\n"); + return (INTEL_RC6_ENABLE | INTEL_RC6p_ENABLE); +} + +static void gen6_enable_rps(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + u32 rp_state_cap; + u32 gt_perf_status; + u32 rc6vids, pcu_mbox, rc6_mask = 0; + u32 gtfifodbg; + int rc6_mode; + int i, ret; + + WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock)); + + /* Here begins a magic sequence of register writes to enable + * auto-downclocking. + * + * Perhaps there might be some value in exposing these to + * userspace... + */ + I915_WRITE(GEN6_RC_STATE, 0); + + /* Clear the DBG now so we don't confuse earlier errors */ + if ((gtfifodbg = I915_READ(GTFIFODBG))) { + DRM_ERROR("GT fifo had a previous error %x\n", gtfifodbg); + I915_WRITE(GTFIFODBG, gtfifodbg); + } + + gen6_gt_force_wake_get(dev_priv); + + rp_state_cap = I915_READ(GEN6_RP_STATE_CAP); + gt_perf_status = I915_READ(GEN6_GT_PERF_STATUS); + + /* In units of 100MHz */ + dev_priv->rps.max_delay = rp_state_cap & 0xff; + dev_priv->rps.min_delay = (rp_state_cap & 0xff0000) >> 16; + dev_priv->rps.cur_delay = 0; + + /* disable the counters and set deterministic thresholds */ + I915_WRITE(GEN6_RC_CONTROL, 0); + + I915_WRITE(GEN6_RC1_WAKE_RATE_LIMIT, 1000 << 16); + I915_WRITE(GEN6_RC6_WAKE_RATE_LIMIT, 40 << 16 | 30); + I915_WRITE(GEN6_RC6pp_WAKE_RATE_LIMIT, 30); + I915_WRITE(GEN6_RC_EVALUATION_INTERVAL, 125000); + I915_WRITE(GEN6_RC_IDLE_HYSTERSIS, 25); + + for_each_ring(ring, dev_priv, i) + I915_WRITE(RING_MAX_IDLE(ring->mmio_base), 10); + + I915_WRITE(GEN6_RC_SLEEP, 0); + I915_WRITE(GEN6_RC1e_THRESHOLD, 1000); + I915_WRITE(GEN6_RC6_THRESHOLD, 50000); + I915_WRITE(GEN6_RC6p_THRESHOLD, 100000); + I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */ + + /* Check if we are enabling RC6 */ + rc6_mode = intel_enable_rc6(dev_priv->dev); + if (rc6_mode & INTEL_RC6_ENABLE) + rc6_mask |= GEN6_RC_CTL_RC6_ENABLE; + + /* We don't use those on Haswell */ + if (!IS_HASWELL(dev)) { + if (rc6_mode & INTEL_RC6p_ENABLE) + rc6_mask |= GEN6_RC_CTL_RC6p_ENABLE; + + if (rc6_mode & INTEL_RC6pp_ENABLE) + rc6_mask |= GEN6_RC_CTL_RC6pp_ENABLE; + } + + DRM_INFO("Enabling RC6 states: RC6 %s, RC6p %s, RC6pp %s\n", + (rc6_mask & GEN6_RC_CTL_RC6_ENABLE) ? "on" : "off", + (rc6_mask & GEN6_RC_CTL_RC6p_ENABLE) ? "on" : "off", + (rc6_mask & GEN6_RC_CTL_RC6pp_ENABLE) ? "on" : "off"); + + I915_WRITE(GEN6_RC_CONTROL, + rc6_mask | + GEN6_RC_CTL_EI_MODE(1) | + GEN6_RC_CTL_HW_ENABLE); + + I915_WRITE(GEN6_RPNSWREQ, + GEN6_FREQUENCY(10) | + GEN6_OFFSET(0) | + GEN6_AGGRESSIVE_TURBO); + I915_WRITE(GEN6_RC_VIDEO_FREQ, + GEN6_FREQUENCY(12)); + + I915_WRITE(GEN6_RP_DOWN_TIMEOUT, 1000000); + I915_WRITE(GEN6_RP_INTERRUPT_LIMITS, + dev_priv->rps.max_delay << 24 | + dev_priv->rps.min_delay << 16); + + I915_WRITE(GEN6_RP_UP_THRESHOLD, 59400); + I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 245000); + I915_WRITE(GEN6_RP_UP_EI, 66000); + I915_WRITE(GEN6_RP_DOWN_EI, 350000); + + I915_WRITE(GEN6_RP_IDLE_HYSTERSIS, 10); + I915_WRITE(GEN6_RP_CONTROL, + GEN6_RP_MEDIA_TURBO | + GEN6_RP_MEDIA_HW_NORMAL_MODE | + GEN6_RP_MEDIA_IS_GFX | + GEN6_RP_ENABLE | + GEN6_RP_UP_BUSY_AVG | + (IS_HASWELL(dev) ? GEN7_RP_DOWN_IDLE_AVG : GEN6_RP_DOWN_IDLE_CONT)); + + ret = sandybridge_pcode_write(dev_priv, GEN6_PCODE_WRITE_MIN_FREQ_TABLE, 0); + if (!ret) { + pcu_mbox = 0; + ret = sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, &pcu_mbox); + if (ret && pcu_mbox & (1<<31)) { /* OC supported */ + dev_priv->rps.max_delay = pcu_mbox & 0xff; + DRM_DEBUG_DRIVER("overclocking supported, adjusting frequency max to %dMHz\n", pcu_mbox * 50); + } + } else { + DRM_DEBUG_DRIVER("Failed to set the min frequency\n"); + } + + gen6_set_rps(dev_priv->dev, (gt_perf_status & 0xff00) >> 8); + + /* requires MSI enabled */ + I915_WRITE(GEN6_PMIER, GEN6_PM_DEFERRED_EVENTS); + spin_lock_irq(&dev_priv->rps.lock); + WARN_ON(dev_priv->rps.pm_iir != 0); + I915_WRITE(GEN6_PMIMR, 0); + spin_unlock_irq(&dev_priv->rps.lock); + /* enable all PM interrupts */ + I915_WRITE(GEN6_PMINTRMSK, 0); + + rc6vids = 0; + ret = sandybridge_pcode_read(dev_priv, GEN6_PCODE_READ_RC6VIDS, &rc6vids); + if (IS_GEN6(dev) && ret) { + DRM_DEBUG_DRIVER("Couldn't check for BIOS workaround\n"); + } else if (IS_GEN6(dev) && (GEN6_DECODE_RC6_VID(rc6vids & 0xff) < 450)) { + DRM_DEBUG_DRIVER("You should update your BIOS. Correcting minimum rc6 voltage (%dmV->%dmV)\n", + GEN6_DECODE_RC6_VID(rc6vids & 0xff), 450); + rc6vids &= 0xffff00; + rc6vids |= GEN6_ENCODE_RC6_VID(450); + ret = sandybridge_pcode_write(dev_priv, GEN6_PCODE_WRITE_RC6VIDS, rc6vids); + if (ret) + DRM_ERROR("Couldn't fix incorrect rc6 voltage\n"); + } + + gen6_gt_force_wake_put(dev_priv); +} + +static void gen6_update_ring_freq(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int min_freq = 15; + int gpu_freq; + unsigned int ia_freq, max_ia_freq; + int scaling_factor = 180; + + WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock)); + + max_ia_freq = cpufreq_quick_get_max(0); + /* + * Default to measured freq if none found, PCU will ensure we don't go + * over + */ + if (!max_ia_freq) + max_ia_freq = tsc_khz; + + /* Convert from kHz to MHz */ + max_ia_freq /= 1000; + + /* + * For each potential GPU frequency, load a ring frequency we'd like + * to use for memory access. We do this by specifying the IA frequency + * the PCU should use as a reference to determine the ring frequency. + */ + for (gpu_freq = dev_priv->rps.max_delay; gpu_freq >= dev_priv->rps.min_delay; + gpu_freq--) { + int diff = dev_priv->rps.max_delay - gpu_freq; + + /* + * For GPU frequencies less than 750MHz, just use the lowest + * ring freq. + */ + if (gpu_freq < min_freq) + ia_freq = 800; + else + ia_freq = max_ia_freq - ((diff * scaling_factor) / 2); + ia_freq = DIV_ROUND_CLOSEST(ia_freq, 100); + ia_freq <<= GEN6_PCODE_FREQ_IA_RATIO_SHIFT; + + sandybridge_pcode_write(dev_priv, + GEN6_PCODE_WRITE_MIN_FREQ_TABLE, + ia_freq | gpu_freq); + } +} + +void ironlake_teardown_rc6(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->ips.renderctx) { + i915_gem_object_unpin(dev_priv->ips.renderctx); + drm_gem_object_unreference(&dev_priv->ips.renderctx->base); + dev_priv->ips.renderctx = NULL; + } + + if (dev_priv->ips.pwrctx) { + i915_gem_object_unpin(dev_priv->ips.pwrctx); + drm_gem_object_unreference(&dev_priv->ips.pwrctx->base); + dev_priv->ips.pwrctx = NULL; + } +} + +static void ironlake_disable_rc6(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (I915_READ(PWRCTXA)) { + /* Wake the GPU, prevent RC6, then restore RSTDBYCTL */ + I915_WRITE(RSTDBYCTL, I915_READ(RSTDBYCTL) | RCX_SW_EXIT); + wait_for(((I915_READ(RSTDBYCTL) & RSX_STATUS_MASK) == RSX_STATUS_ON), + 50); + + I915_WRITE(PWRCTXA, 0); + POSTING_READ(PWRCTXA); + + I915_WRITE(RSTDBYCTL, I915_READ(RSTDBYCTL) & ~RCX_SW_EXIT); + POSTING_READ(RSTDBYCTL); + } +} + +static int ironlake_setup_rc6(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->ips.renderctx == NULL) + dev_priv->ips.renderctx = intel_alloc_context_page(dev); + if (!dev_priv->ips.renderctx) + return -ENOMEM; + + if (dev_priv->ips.pwrctx == NULL) + dev_priv->ips.pwrctx = intel_alloc_context_page(dev); + if (!dev_priv->ips.pwrctx) { + ironlake_teardown_rc6(dev); + return -ENOMEM; + } + + return 0; +} + +static void ironlake_enable_rc6(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + /* rc6 disabled by default due to repeated reports of hanging during + * boot and resume. + */ + if (!intel_enable_rc6(dev)) + return; + + WARN_ON(!mutex_is_locked(&dev->struct_mutex)); + + ret = ironlake_setup_rc6(dev); + if (ret) + return; + + /* + * GPU can automatically power down the render unit if given a page + * to save state. + */ + ret = intel_ring_begin(ring, 6); + if (ret) { + ironlake_teardown_rc6(dev); + return; + } + + intel_ring_emit(ring, MI_SUSPEND_FLUSH | MI_SUSPEND_FLUSH_EN); + intel_ring_emit(ring, MI_SET_CONTEXT); + intel_ring_emit(ring, dev_priv->ips.renderctx->gtt_offset | + MI_MM_SPACE_GTT | + MI_SAVE_EXT_STATE_EN | + MI_RESTORE_EXT_STATE_EN | + MI_RESTORE_INHIBIT); + intel_ring_emit(ring, MI_SUSPEND_FLUSH); + intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, MI_FLUSH); + intel_ring_advance(ring); + + /* + * Wait for the command parser to advance past MI_SET_CONTEXT. The HW + * does an implicit flush, combined with MI_FLUSH above, it should be + * safe to assume that renderctx is valid + */ + ret = intel_wait_ring_idle(ring); + if (ret) { + DRM_ERROR("failed to enable ironlake power power savings\n"); + ironlake_teardown_rc6(dev); + return; + } + + I915_WRITE(PWRCTXA, dev_priv->ips.pwrctx->gtt_offset | PWRCTX_EN); + I915_WRITE(RSTDBYCTL, I915_READ(RSTDBYCTL) & ~RCX_SW_EXIT); +} + +static unsigned long intel_pxfreq(u32 vidfreq) +{ + unsigned long freq; + int div = (vidfreq & 0x3f0000) >> 16; + int post = (vidfreq & 0x3000) >> 12; + int pre = (vidfreq & 0x7); + + if (!pre) + return 0; + + freq = ((div * 133333) / ((1<ips.last_time1; + + /* Prevent division-by-zero if we are asking too fast. + * Also, we don't get interesting results if we are polling + * faster than once in 10ms, so just return the saved value + * in such cases. + */ + if (diff1 <= 10) + return dev_priv->ips.chipset_power; + + count1 = I915_READ(DMIEC); + count2 = I915_READ(DDREC); + count3 = I915_READ(CSIEC); + + total_count = count1 + count2 + count3; + + /* FIXME: handle per-counter overflow */ + if (total_count < dev_priv->ips.last_count1) { + diff = ~0UL - dev_priv->ips.last_count1; + diff += total_count; + } else { + diff = total_count - dev_priv->ips.last_count1; + } + + for (i = 0; i < ARRAY_SIZE(cparams); i++) { + if (cparams[i].i == dev_priv->ips.c_m && + cparams[i].t == dev_priv->ips.r_t) { + m = cparams[i].m; + c = cparams[i].c; + break; + } + } + + diff = div_u64(diff, diff1); + ret = ((m * diff) + c); + ret = div_u64(ret, 10); + + dev_priv->ips.last_count1 = total_count; + dev_priv->ips.last_time1 = now; + + dev_priv->ips.chipset_power = ret; + + return ret; +} + +unsigned long i915_chipset_val(struct drm_i915_private *dev_priv) +{ + unsigned long val; + + if (dev_priv->info->gen != 5) + return 0; + + spin_lock_irq(&mchdev_lock); + + val = __i915_chipset_val(dev_priv); + + spin_unlock_irq(&mchdev_lock); + + return val; +} + +unsigned long i915_mch_val(struct drm_i915_private *dev_priv) +{ + unsigned long m, x, b; + u32 tsfs; + + tsfs = I915_READ(TSFS); + + m = ((tsfs & TSFS_SLOPE_MASK) >> TSFS_SLOPE_SHIFT); + x = I915_READ8(TR1); + + b = tsfs & TSFS_INTR_MASK; + + return ((m * x) / 127) - b; +} + +static u16 pvid_to_extvid(struct drm_i915_private *dev_priv, u8 pxvid) +{ + static const struct v_table { + u16 vd; /* in .1 mil */ + u16 vm; /* in .1 mil */ + } v_table[] = { + { 0, 0, }, + { 375, 0, }, + { 500, 0, }, + { 625, 0, }, + { 750, 0, }, + { 875, 0, }, + { 1000, 0, }, + { 1125, 0, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4125, 3000, }, + { 4250, 3125, }, + { 4375, 3250, }, + { 4500, 3375, }, + { 4625, 3500, }, + { 4750, 3625, }, + { 4875, 3750, }, + { 5000, 3875, }, + { 5125, 4000, }, + { 5250, 4125, }, + { 5375, 4250, }, + { 5500, 4375, }, + { 5625, 4500, }, + { 5750, 4625, }, + { 5875, 4750, }, + { 6000, 4875, }, + { 6125, 5000, }, + { 6250, 5125, }, + { 6375, 5250, }, + { 6500, 5375, }, + { 6625, 5500, }, + { 6750, 5625, }, + { 6875, 5750, }, + { 7000, 5875, }, + { 7125, 6000, }, + { 7250, 6125, }, + { 7375, 6250, }, + { 7500, 6375, }, + { 7625, 6500, }, + { 7750, 6625, }, + { 7875, 6750, }, + { 8000, 6875, }, + { 8125, 7000, }, + { 8250, 7125, }, + { 8375, 7250, }, + { 8500, 7375, }, + { 8625, 7500, }, + { 8750, 7625, }, + { 8875, 7750, }, + { 9000, 7875, }, + { 9125, 8000, }, + { 9250, 8125, }, + { 9375, 8250, }, + { 9500, 8375, }, + { 9625, 8500, }, + { 9750, 8625, }, + { 9875, 8750, }, + { 10000, 8875, }, + { 10125, 9000, }, + { 10250, 9125, }, + { 10375, 9250, }, + { 10500, 9375, }, + { 10625, 9500, }, + { 10750, 9625, }, + { 10875, 9750, }, + { 11000, 9875, }, + { 11125, 10000, }, + { 11250, 10125, }, + { 11375, 10250, }, + { 11500, 10375, }, + { 11625, 10500, }, + { 11750, 10625, }, + { 11875, 10750, }, + { 12000, 10875, }, + { 12125, 11000, }, + { 12250, 11125, }, + { 12375, 11250, }, + { 12500, 11375, }, + { 12625, 11500, }, + { 12750, 11625, }, + { 12875, 11750, }, + { 13000, 11875, }, + { 13125, 12000, }, + { 13250, 12125, }, + { 13375, 12250, }, + { 13500, 12375, }, + { 13625, 12500, }, + { 13750, 12625, }, + { 13875, 12750, }, + { 14000, 12875, }, + { 14125, 13000, }, + { 14250, 13125, }, + { 14375, 13250, }, + { 14500, 13375, }, + { 14625, 13500, }, + { 14750, 13625, }, + { 14875, 13750, }, + { 15000, 13875, }, + { 15125, 14000, }, + { 15250, 14125, }, + { 15375, 14250, }, + { 15500, 14375, }, + { 15625, 14500, }, + { 15750, 14625, }, + { 15875, 14750, }, + { 16000, 14875, }, + { 16125, 15000, }, + }; + if (dev_priv->info->is_mobile) + return v_table[pxvid].vm; + else + return v_table[pxvid].vd; +} + +static void __i915_update_gfx_val(struct drm_i915_private *dev_priv) +{ + struct timespec now, diff1; + u64 diff; + unsigned long diffms; + u32 count; + + assert_spin_locked(&mchdev_lock); + + getrawmonotonic(&now); + diff1 = timespec_sub(now, dev_priv->ips.last_time2); + + /* Don't divide by 0 */ + diffms = diff1.tv_sec * 1000 + diff1.tv_nsec / 1000000; + if (!diffms) + return; + + count = I915_READ(GFXEC); + + if (count < dev_priv->ips.last_count2) { + diff = ~0UL - dev_priv->ips.last_count2; + diff += count; + } else { + diff = count - dev_priv->ips.last_count2; + } + + dev_priv->ips.last_count2 = count; + dev_priv->ips.last_time2 = now; + + /* More magic constants... */ + diff = diff * 1181; + diff = div_u64(diff, diffms * 10); + dev_priv->ips.gfx_power = diff; +} + +void i915_update_gfx_val(struct drm_i915_private *dev_priv) +{ + if (dev_priv->info->gen != 5) + return; + + spin_lock_irq(&mchdev_lock); + + __i915_update_gfx_val(dev_priv); + + spin_unlock_irq(&mchdev_lock); +} + +static unsigned long __i915_gfx_val(struct drm_i915_private *dev_priv) +{ + unsigned long t, corr, state1, corr2, state2; + u32 pxvid, ext_v; + + assert_spin_locked(&mchdev_lock); + + pxvid = I915_READ(PXVFREQ_BASE + (dev_priv->rps.cur_delay * 4)); + pxvid = (pxvid >> 24) & 0x7f; + ext_v = pvid_to_extvid(dev_priv, pxvid); + + state1 = ext_v; + + t = i915_mch_val(dev_priv); + + /* Revel in the empirically derived constants */ + + /* Correction factor in 1/100000 units */ + if (t > 80) + corr = ((t * 2349) + 135940); + else if (t >= 50) + corr = ((t * 964) + 29317); + else /* < 50 */ + corr = ((t * 301) + 1004); + + corr = corr * ((150142 * state1) / 10000 - 78642); + corr /= 100000; + corr2 = (corr * dev_priv->ips.corr); + + state2 = (corr2 * state1) / 10000; + state2 /= 100; /* convert to mW */ + + __i915_update_gfx_val(dev_priv); + + return dev_priv->ips.gfx_power + state2; +} + +unsigned long i915_gfx_val(struct drm_i915_private *dev_priv) +{ + unsigned long val; + + if (dev_priv->info->gen != 5) + return 0; + + spin_lock_irq(&mchdev_lock); + + val = __i915_gfx_val(dev_priv); + + spin_unlock_irq(&mchdev_lock); + + return val; +} + +/** + * i915_hsw_read_mch_val - return value for IPS use + * + * Calculate and return a value for the IPS driver to use when deciding whether + * we have thermal and power headroom to increase CPU or GPU power budget. + */ +unsigned long i915_hsw_read_mch_val(void) +{ + struct drm_i915_private *dev_priv; + unsigned long chipset_val, graphics_val, ret = 0; + + spin_lock_irq(&mchdev_lock); + if (!i915_mch_dev) + goto out_unlock; + dev_priv = i915_mch_dev; + + chipset_val = __i915_chipset_val(dev_priv); + graphics_val = __i915_gfx_val(dev_priv); + + ret = chipset_val + graphics_val; + +out_unlock: + spin_unlock_irq(&mchdev_lock); + + return ret; +} +EXPORT_SYMBOL_GPL(i915_hsw_read_mch_val); + +/** + * i915_hsw_gpu_raise - raise GPU frequency limit + * + * Raise the limit; IPS indicates we have thermal headroom. + */ +bool i915_hsw_gpu_raise(void) +{ + struct drm_i915_private *dev_priv; + bool ret = true; + + spin_lock_irq(&mchdev_lock); + if (!i915_mch_dev) { + ret = false; + goto out_unlock; + } + dev_priv = i915_mch_dev; + + if (dev_priv->ips.max_delay > dev_priv->ips.fmax) + dev_priv->ips.max_delay--; + +out_unlock: + spin_unlock_irq(&mchdev_lock); + + return ret; +} +EXPORT_SYMBOL_GPL(i915_hsw_gpu_raise); + +/** + * i915_hsw_gpu_lower - lower GPU frequency limit + * + * IPS indicates we're close to a thermal limit, so throttle back the GPU + * frequency maximum. + */ +bool i915_hsw_gpu_lower(void) +{ + struct drm_i915_private *dev_priv; + bool ret = true; + + spin_lock_irq(&mchdev_lock); + if (!i915_mch_dev) { + ret = false; + goto out_unlock; + } + dev_priv = i915_mch_dev; + + if (dev_priv->ips.max_delay < dev_priv->ips.min_delay) + dev_priv->ips.max_delay++; + +out_unlock: + spin_unlock_irq(&mchdev_lock); + + return ret; +} +EXPORT_SYMBOL_GPL(i915_hsw_gpu_lower); + +/** + * i915_gpu_busy - indicate GPU business to IPS + * + * Tell the IPS driver whether or not the GPU is busy. + */ +bool i915_hsw_gpu_busy(void) +{ + struct drm_i915_private *dev_priv; + struct intel_ring_buffer *ring; + bool ret = false; + int i; + + spin_lock_irq(&mchdev_lock); + if (!i915_mch_dev) + goto out_unlock; + dev_priv = i915_mch_dev; + + for_each_ring(ring, dev_priv, i) + ret |= !list_empty(&ring->request_list); + +out_unlock: + spin_unlock_irq(&mchdev_lock); + + return ret; +} +EXPORT_SYMBOL_GPL(i915_hsw_gpu_busy); + +/** + * i915_hsw_gpu_turbo_disable - disable graphics turbo + * + * Disable graphics turbo by resetting the max frequency and setting the + * current frequency to the default. + */ +bool i915_hsw_gpu_turbo_disable(void) +{ + struct drm_i915_private *dev_priv; + bool ret = true; + + spin_lock_irq(&mchdev_lock); + if (!i915_mch_dev) { + ret = false; + goto out_unlock; + } + dev_priv = i915_mch_dev; + + dev_priv->ips.max_delay = dev_priv->ips.fstart; + + if (!ironlake_set_drps(dev_priv->dev, dev_priv->ips.fstart)) + ret = false; + +out_unlock: + spin_unlock_irq(&mchdev_lock); + + return ret; +} +EXPORT_SYMBOL_GPL(i915_hsw_gpu_turbo_disable); + +/** + * Tells the intel_ips driver that the i915 driver is now loaded, if + * IPS got loaded first. + * + * This awkward dance is so that neither module has to depend on the + * other in order for IPS to do the appropriate communication of + * GPU turbo limits to i915. + */ +static void +ips_ping_for_i915_load(void) +{ + void (*link)(void); + + link = symbol_get(ips_link_to_i915_driver); + if (link) { + link(); + symbol_put(ips_link_to_i915_driver); + } +} + +void intel_gpu_ips_init(struct drm_i915_private *dev_priv) +{ + /* We only register the i915 ips part with intel-ips once everything is + * set up, to avoid intel-ips sneaking in and reading bogus values. */ + spin_lock_irq(&mchdev_lock); + i915_mch_dev = dev_priv; + spin_unlock_irq(&mchdev_lock); + + ips_ping_for_i915_load(); +} + +void intel_gpu_ips_teardown(void) +{ + spin_lock_irq(&mchdev_lock); + i915_mch_dev = NULL; + spin_unlock_irq(&mchdev_lock); +} +static void intel_init_emon(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 lcfuse; + u8 pxw[16]; + int i; + + /* Disable to program */ + I915_WRITE(ECR, 0); + POSTING_READ(ECR); + + /* Program energy weights for various events */ + I915_WRITE(SDEW, 0x15040d00); + I915_WRITE(CSIEW0, 0x007f0000); + I915_WRITE(CSIEW1, 0x1e220004); + I915_WRITE(CSIEW2, 0x04000004); + + for (i = 0; i < 5; i++) + I915_WRITE(PEW + (i * 4), 0); + for (i = 0; i < 3; i++) + I915_WRITE(DEW + (i * 4), 0); + + /* Program P-state weights to account for frequency power adjustment */ + for (i = 0; i < 16; i++) { + u32 pxvidfreq = I915_READ(PXVFREQ_BASE + (i * 4)); + unsigned long freq = intel_pxfreq(pxvidfreq); + unsigned long vid = (pxvidfreq & PXVFREQ_PX_MASK) >> + PXVFREQ_PX_SHIFT; + unsigned long val; + + val = vid * vid; + val *= (freq / 1000); + val *= 255; + val /= (127*127*900); + if (val > 0xff) + DRM_ERROR("bad pxval: %ld\n", val); + pxw[i] = val; + } + /* Render standby states get 0 weight */ + pxw[14] = 0; + pxw[15] = 0; + + for (i = 0; i < 4; i++) { + u32 val = (pxw[i*4] << 24) | (pxw[(i*4)+1] << 16) | + (pxw[(i*4)+2] << 8) | (pxw[(i*4)+3]); + I915_WRITE(PXW + (i * 4), val); + } + + /* Adjust magic regs to magic values (more experimental results) */ + I915_WRITE(OGW0, 0); + I915_WRITE(OGW1, 0); + I915_WRITE(EG0, 0x00007f00); + I915_WRITE(EG1, 0x0000000e); + I915_WRITE(EG2, 0x000e0000); + I915_WRITE(EG3, 0x68000300); + I915_WRITE(EG4, 0x42000000); + I915_WRITE(EG5, 0x00140031); + I915_WRITE(EG6, 0); + I915_WRITE(EG7, 0); + + for (i = 0; i < 8; i++) + I915_WRITE(PXWL + (i * 4), 0); + + /* Enable PMON + select events */ + I915_WRITE(ECR, 0x80000019); + + lcfuse = I915_READ(LCFUSE02); + + dev_priv->ips.corr = (lcfuse & LCFUSE_HIV_MASK); +} + +void intel_disable_gt_powersave(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (IS_IRONLAKE_M(dev)) { + ironlake_disable_drps(dev); + ironlake_disable_rc6(dev); + } else if (INTEL_INFO(dev)->gen >= 6 && !IS_VALLEYVIEW(dev)) { + cancel_delayed_work_sync(&dev_priv->rps.delayed_resume_work); + mutex_lock(&dev_priv->rps.hw_lock); + gen6_disable_rps(dev); + mutex_unlock(&dev_priv->rps.hw_lock); + } +} + +static void intel_gen6_powersave_work(struct work_struct *work) +{ + struct drm_i915_private *dev_priv = + container_of(work, struct drm_i915_private, + rps.delayed_resume_work.work); + struct drm_device *dev = dev_priv->dev; + + mutex_lock(&dev_priv->rps.hw_lock); + gen6_enable_rps(dev); + gen6_update_ring_freq(dev); + mutex_unlock(&dev_priv->rps.hw_lock); +} + +void intel_enable_gt_powersave(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (IS_IRONLAKE_M(dev)) { + ironlake_enable_drps(dev); + ironlake_enable_rc6(dev); + intel_init_emon(dev); + } else if ((IS_GEN6(dev) || IS_GEN7(dev)) && !IS_VALLEYVIEW(dev)) { + /* + * PCU communication is slow and this doesn't need to be + * done at any specific time, so do this out of our fast path + * to make resume and init faster. + */ + schedule_delayed_work(&dev_priv->rps.delayed_resume_work, + round_jiffies_up_relative(HZ)); + } +} + +static void ibx_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* + * On Ibex Peak and Cougar Point, we need to disable clock + * gating for the panel power sequencer or it will fail to + * start up when no ports are active. + */ + I915_WRITE(SOUTH_DSPCLK_GATE_D, PCH_DPLSUNIT_CLOCK_GATE_DISABLE); +} + +static void ironlake_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t dspclk_gate = ILK_VRHUNIT_CLOCK_GATE_DISABLE; + + /* Required for FBC */ + dspclk_gate |= ILK_DPFCRUNIT_CLOCK_GATE_DISABLE | + ILK_DPFCUNIT_CLOCK_GATE_DISABLE | + ILK_DPFDUNIT_CLOCK_GATE_ENABLE; + + I915_WRITE(PCH_3DCGDIS0, + MARIUNIT_CLOCK_GATE_DISABLE | + SVSMUNIT_CLOCK_GATE_DISABLE); + I915_WRITE(PCH_3DCGDIS1, + VFMUNIT_CLOCK_GATE_DISABLE); + + /* + * According to the spec the following bits should be set in + * order to enable memory self-refresh + * The bit 22/21 of 0x42004 + * The bit 5 of 0x42020 + * The bit 15 of 0x45000 + */ + I915_WRITE(ILK_DISPLAY_CHICKEN2, + (I915_READ(ILK_DISPLAY_CHICKEN2) | + ILK_DPARB_GATE | ILK_VSDPFD_FULL)); + dspclk_gate |= ILK_DPARBUNIT_CLOCK_GATE_ENABLE; + I915_WRITE(DISP_ARB_CTL, + (I915_READ(DISP_ARB_CTL) | + DISP_FBC_WM_DIS)); + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + /* + * Based on the document from hardware guys the following bits + * should be set unconditionally in order to enable FBC. + * The bit 22 of 0x42000 + * The bit 22 of 0x42004 + * The bit 7,8,9 of 0x42020. + */ + if (IS_IRONLAKE_M(dev)) { + I915_WRITE(ILK_DISPLAY_CHICKEN1, + I915_READ(ILK_DISPLAY_CHICKEN1) | + ILK_FBCQ_DIS); + I915_WRITE(ILK_DISPLAY_CHICKEN2, + I915_READ(ILK_DISPLAY_CHICKEN2) | + ILK_DPARB_GATE); + } + + I915_WRITE(ILK_DSPCLK_GATE_D, dspclk_gate); + + I915_WRITE(ILK_DISPLAY_CHICKEN2, + I915_READ(ILK_DISPLAY_CHICKEN2) | + ILK_ELPIN_409_SELECT); + I915_WRITE(_3D_CHICKEN2, + _3D_CHICKEN2_WM_READ_PIPELINED << 16 | + _3D_CHICKEN2_WM_READ_PIPELINED); + + /* WaDisableRenderCachePipelinedFlush */ + I915_WRITE(CACHE_MODE_0, + _MASKED_BIT_ENABLE(CM0_PIPELINED_RENDER_FLUSH_DISABLE)); + + ibx_init_clock_gating(dev); +} + +static void cpt_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe; + + /* + * On Ibex Peak and Cougar Point, we need to disable clock + * gating for the panel power sequencer or it will fail to + * start up when no ports are active. + */ + I915_WRITE(SOUTH_DSPCLK_GATE_D, PCH_DPLSUNIT_CLOCK_GATE_DISABLE); + I915_WRITE(SOUTH_CHICKEN2, I915_READ(SOUTH_CHICKEN2) | + DPLS_EDP_PPS_FIX_DIS); + /* WADP0ClockGatingDisable */ + for_each_pipe(pipe) { + I915_WRITE(TRANS_CHICKEN1(pipe), + TRANS_CHICKEN1_DP0UNIT_GC_DISABLE); + } +} + +static void gen6_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe; + uint32_t dspclk_gate = ILK_VRHUNIT_CLOCK_GATE_DISABLE; + + I915_WRITE(ILK_DSPCLK_GATE_D, dspclk_gate); + + I915_WRITE(ILK_DISPLAY_CHICKEN2, + I915_READ(ILK_DISPLAY_CHICKEN2) | + ILK_ELPIN_409_SELECT); + + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + I915_WRITE(CACHE_MODE_0, + _MASKED_BIT_DISABLE(CM0_STC_EVICT_DISABLE_LRA_SNB)); + + I915_WRITE(GEN6_UCGCTL1, + I915_READ(GEN6_UCGCTL1) | + GEN6_BLBUNIT_CLOCK_GATE_DISABLE | + GEN6_CSUNIT_CLOCK_GATE_DISABLE); + + /* According to the BSpec vol1g, bit 12 (RCPBUNIT) clock + * gating disable must be set. Failure to set it results in + * flickering pixels due to Z write ordering failures after + * some amount of runtime in the Mesa "fire" demo, and Unigine + * Sanctuary and Tropics, and apparently anything else with + * alpha test or pixel discard. + * + * According to the spec, bit 11 (RCCUNIT) must also be set, + * but we didn't debug actual testcases to find it out. + * + * Also apply WaDisableVDSUnitClockGating and + * WaDisableRCPBUnitClockGating. + */ + I915_WRITE(GEN6_UCGCTL2, + GEN7_VDSUNIT_CLOCK_GATE_DISABLE | + GEN6_RCPBUNIT_CLOCK_GATE_DISABLE | + GEN6_RCCUNIT_CLOCK_GATE_DISABLE); + + /* Bspec says we need to always set all mask bits. */ + I915_WRITE(_3D_CHICKEN3, (0xFFFF << 16) | + _3D_CHICKEN3_SF_DISABLE_FASTCLIP_CULL); + + /* + * According to the spec the following bits should be + * set in order to enable memory self-refresh and fbc: + * The bit21 and bit22 of 0x42000 + * The bit21 and bit22 of 0x42004 + * The bit5 and bit7 of 0x42020 + * The bit14 of 0x70180 + * The bit14 of 0x71180 + */ + I915_WRITE(ILK_DISPLAY_CHICKEN1, + I915_READ(ILK_DISPLAY_CHICKEN1) | + ILK_FBCQ_DIS | ILK_PABSTRETCH_DIS); + I915_WRITE(ILK_DISPLAY_CHICKEN2, + I915_READ(ILK_DISPLAY_CHICKEN2) | + ILK_DPARB_GATE | ILK_VSDPFD_FULL); + I915_WRITE(ILK_DSPCLK_GATE_D, + I915_READ(ILK_DSPCLK_GATE_D) | + ILK_DPARBUNIT_CLOCK_GATE_ENABLE | + ILK_DPFDUNIT_CLOCK_GATE_ENABLE); + + /* WaMbcDriverBootEnable */ + I915_WRITE(GEN6_MBCTL, I915_READ(GEN6_MBCTL) | + GEN6_MBCTL_ENABLE_BOOT_FETCH); + + for_each_pipe(pipe) { + I915_WRITE(DSPCNTR(pipe), + I915_READ(DSPCNTR(pipe)) | + DISPPLANE_TRICKLE_FEED_DISABLE); + intel_flush_display_plane(dev_priv, pipe); + } + + /* The default value should be 0x200 according to docs, but the two + * platforms I checked have a 0 for this. (Maybe BIOS overrides?) */ + I915_WRITE(GEN6_GT_MODE, _MASKED_BIT_DISABLE(0xffff)); + I915_WRITE(GEN6_GT_MODE, _MASKED_BIT_ENABLE(GEN6_GT_MODE_HI)); + + cpt_init_clock_gating(dev); +} + +static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv) +{ + uint32_t reg = I915_READ(GEN7_FF_THREAD_MODE); + + reg &= ~GEN7_FF_SCHED_MASK; + reg |= GEN7_FF_TS_SCHED_HW; + reg |= GEN7_FF_VS_SCHED_HW; + reg |= GEN7_FF_DS_SCHED_HW; + + I915_WRITE(GEN7_FF_THREAD_MODE, reg); +} + +static void lpt_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* + * TODO: this bit should only be enabled when really needed, then + * disabled when not needed anymore in order to save power. + */ + if (dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) + I915_WRITE(SOUTH_DSPCLK_GATE_D, + I915_READ(SOUTH_DSPCLK_GATE_D) | + PCH_LP_PARTITION_LEVEL_DISABLE); +} + +static void haswell_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe; + + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + /* According to the spec, bit 13 (RCZUNIT) must be set on IVB. + * This implements the WaDisableRCZUnitClockGating workaround. + */ + I915_WRITE(GEN6_UCGCTL2, GEN6_RCZUNIT_CLOCK_GATE_DISABLE); + + /* Apply the WaDisableRHWOOptimizationForRenderHang workaround. */ + I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1, + GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC); + + /* WaApplyL3ControlAndL3ChickenMode requires those two on Ivy Bridge */ + I915_WRITE(GEN7_L3CNTLREG1, + GEN7_WA_FOR_GEN7_L3_CONTROL); + I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER, + GEN7_WA_L3_CHICKEN_MODE); + + /* This is required by WaCatErrorRejectionIssue */ + I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG, + I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) | + GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB); + + for_each_pipe(pipe) { + I915_WRITE(DSPCNTR(pipe), + I915_READ(DSPCNTR(pipe)) | + DISPPLANE_TRICKLE_FEED_DISABLE); + intel_flush_display_plane(dev_priv, pipe); + } + + gen7_setup_fixed_func_scheduler(dev_priv); + + /* WaDisable4x2SubspanOptimization */ + I915_WRITE(CACHE_MODE_1, + _MASKED_BIT_ENABLE(PIXEL_SUBSPAN_COLLECT_OPT_DISABLE)); + + /* WaMbcDriverBootEnable */ + I915_WRITE(GEN6_MBCTL, I915_READ(GEN6_MBCTL) | + GEN6_MBCTL_ENABLE_BOOT_FETCH); + + /* XXX: This is a workaround for early silicon revisions and should be + * removed later. + */ + I915_WRITE(WM_DBG, + I915_READ(WM_DBG) | + WM_DBG_DISALLOW_MULTIPLE_LP | + WM_DBG_DISALLOW_SPRITE | + WM_DBG_DISALLOW_MAXFIFO); + + lpt_init_clock_gating(dev); +} + +static void ivybridge_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe; + uint32_t snpcr; + + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + I915_WRITE(ILK_DSPCLK_GATE_D, ILK_VRHUNIT_CLOCK_GATE_DISABLE); + + /* WaDisableEarlyCull */ + I915_WRITE(_3D_CHICKEN3, + _MASKED_BIT_ENABLE(_3D_CHICKEN_SF_DISABLE_OBJEND_CULL)); + + /* WaDisableBackToBackFlipFix */ + I915_WRITE(IVB_CHICKEN3, + CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE | + CHICKEN3_DGMG_DONE_FIX_DISABLE); + + /* WaDisablePSDDualDispatchEnable */ + if (IS_IVB_GT1(dev)) + I915_WRITE(GEN7_HALF_SLICE_CHICKEN1, + _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE)); + else + I915_WRITE(GEN7_HALF_SLICE_CHICKEN1_GT2, + _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE)); + + /* Apply the WaDisableRHWOOptimizationForRenderHang workaround. */ + I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1, + GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC); + + /* WaApplyL3ControlAndL3ChickenMode requires those two on Ivy Bridge */ + I915_WRITE(GEN7_L3CNTLREG1, + GEN7_WA_FOR_GEN7_L3_CONTROL); + I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER, + GEN7_WA_L3_CHICKEN_MODE); + if (IS_IVB_GT1(dev)) + I915_WRITE(GEN7_ROW_CHICKEN2, + _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE)); + else + I915_WRITE(GEN7_ROW_CHICKEN2_GT2, + _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE)); + + + /* WaForceL3Serialization */ + I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) & + ~L3SQ_URB_READ_CAM_MATCH_DISABLE); + + /* According to the BSpec vol1g, bit 12 (RCPBUNIT) clock + * gating disable must be set. Failure to set it results in + * flickering pixels due to Z write ordering failures after + * some amount of runtime in the Mesa "fire" demo, and Unigine + * Sanctuary and Tropics, and apparently anything else with + * alpha test or pixel discard. + * + * According to the spec, bit 11 (RCCUNIT) must also be set, + * but we didn't debug actual testcases to find it out. + * + * According to the spec, bit 13 (RCZUNIT) must be set on IVB. + * This implements the WaDisableRCZUnitClockGating workaround. + */ + I915_WRITE(GEN6_UCGCTL2, + GEN6_RCZUNIT_CLOCK_GATE_DISABLE | + GEN6_RCCUNIT_CLOCK_GATE_DISABLE); + + /* This is required by WaCatErrorRejectionIssue */ + I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG, + I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) | + GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB); + + for_each_pipe(pipe) { + I915_WRITE(DSPCNTR(pipe), + I915_READ(DSPCNTR(pipe)) | + DISPPLANE_TRICKLE_FEED_DISABLE); + intel_flush_display_plane(dev_priv, pipe); + } + + /* WaMbcDriverBootEnable */ + I915_WRITE(GEN6_MBCTL, I915_READ(GEN6_MBCTL) | + GEN6_MBCTL_ENABLE_BOOT_FETCH); + + gen7_setup_fixed_func_scheduler(dev_priv); + + /* WaDisable4x2SubspanOptimization */ + I915_WRITE(CACHE_MODE_1, + _MASKED_BIT_ENABLE(PIXEL_SUBSPAN_COLLECT_OPT_DISABLE)); + + snpcr = I915_READ(GEN6_MBCUNIT_SNPCR); + snpcr &= ~GEN6_MBC_SNPCR_MASK; + snpcr |= GEN6_MBC_SNPCR_MED; + I915_WRITE(GEN6_MBCUNIT_SNPCR, snpcr); + + cpt_init_clock_gating(dev); +} + +static void valleyview_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + int pipe; + + I915_WRITE(WM3_LP_ILK, 0); + I915_WRITE(WM2_LP_ILK, 0); + I915_WRITE(WM1_LP_ILK, 0); + + I915_WRITE(ILK_DSPCLK_GATE_D, ILK_VRHUNIT_CLOCK_GATE_DISABLE); + + /* WaDisableEarlyCull */ + I915_WRITE(_3D_CHICKEN3, + _MASKED_BIT_ENABLE(_3D_CHICKEN_SF_DISABLE_OBJEND_CULL)); + + /* WaDisableBackToBackFlipFix */ + I915_WRITE(IVB_CHICKEN3, + CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE | + CHICKEN3_DGMG_DONE_FIX_DISABLE); + + I915_WRITE(GEN7_HALF_SLICE_CHICKEN1, + _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE)); + + /* Apply the WaDisableRHWOOptimizationForRenderHang workaround. */ + I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1, + GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC); + + /* WaApplyL3ControlAndL3ChickenMode requires those two on Ivy Bridge */ + I915_WRITE(GEN7_L3CNTLREG1, I915_READ(GEN7_L3CNTLREG1) | GEN7_L3AGDIS); + I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER, GEN7_WA_L3_CHICKEN_MODE); + + /* WaForceL3Serialization */ + I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) & + ~L3SQ_URB_READ_CAM_MATCH_DISABLE); + + /* WaDisableDopClockGating */ + I915_WRITE(GEN7_ROW_CHICKEN2, + _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE)); + + /* WaForceL3Serialization */ + I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) & + ~L3SQ_URB_READ_CAM_MATCH_DISABLE); + + /* This is required by WaCatErrorRejectionIssue */ + I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG, + I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) | + GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB); + + /* WaMbcDriverBootEnable */ + I915_WRITE(GEN6_MBCTL, I915_READ(GEN6_MBCTL) | + GEN6_MBCTL_ENABLE_BOOT_FETCH); + + + /* According to the BSpec vol1g, bit 12 (RCPBUNIT) clock + * gating disable must be set. Failure to set it results in + * flickering pixels due to Z write ordering failures after + * some amount of runtime in the Mesa "fire" demo, and Unigine + * Sanctuary and Tropics, and apparently anything else with + * alpha test or pixel discard. + * + * According to the spec, bit 11 (RCCUNIT) must also be set, + * but we didn't debug actual testcases to find it out. + * + * According to the spec, bit 13 (RCZUNIT) must be set on IVB. + * This implements the WaDisableRCZUnitClockGating workaround. + * + * Also apply WaDisableVDSUnitClockGating and + * WaDisableRCPBUnitClockGating. + */ + I915_WRITE(GEN6_UCGCTL2, + GEN7_VDSUNIT_CLOCK_GATE_DISABLE | + GEN7_TDLUNIT_CLOCK_GATE_DISABLE | + GEN6_RCZUNIT_CLOCK_GATE_DISABLE | + GEN6_RCPBUNIT_CLOCK_GATE_DISABLE | + GEN6_RCCUNIT_CLOCK_GATE_DISABLE); + + I915_WRITE(GEN7_UCGCTL4, GEN7_L3BANK2X_CLOCK_GATE_DISABLE); + + for_each_pipe(pipe) { + I915_WRITE(DSPCNTR(pipe), + I915_READ(DSPCNTR(pipe)) | + DISPPLANE_TRICKLE_FEED_DISABLE); + intel_flush_display_plane(dev_priv, pipe); + } + + I915_WRITE(CACHE_MODE_1, + _MASKED_BIT_ENABLE(PIXEL_SUBSPAN_COLLECT_OPT_DISABLE)); + + /* + * On ValleyView, the GUnit needs to signal the GT + * when flip and other events complete. So enable + * all the GUnit->GT interrupts here + */ + I915_WRITE(VLV_DPFLIPSTAT, PIPEB_LINE_COMPARE_INT_EN | + PIPEB_HLINE_INT_EN | PIPEB_VBLANK_INT_EN | + SPRITED_FLIPDONE_INT_EN | SPRITEC_FLIPDONE_INT_EN | + PLANEB_FLIPDONE_INT_EN | PIPEA_LINE_COMPARE_INT_EN | + PIPEA_HLINE_INT_EN | PIPEA_VBLANK_INT_EN | + SPRITEB_FLIPDONE_INT_EN | SPRITEA_FLIPDONE_INT_EN | + PLANEA_FLIPDONE_INT_EN); + + /* + * WaDisableVLVClockGating_VBIIssue + * Disable clock gating on th GCFG unit to prevent a delay + * in the reporting of vblank events. + */ + I915_WRITE(VLV_GUNIT_CLOCK_GATE, GCFG_DIS); +} + +static void g4x_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t dspclk_gate; + + I915_WRITE(RENCLK_GATE_D1, 0); + I915_WRITE(RENCLK_GATE_D2, VF_UNIT_CLOCK_GATE_DISABLE | + GS_UNIT_CLOCK_GATE_DISABLE | + CL_UNIT_CLOCK_GATE_DISABLE); + I915_WRITE(RAMCLK_GATE_D, 0); + dspclk_gate = VRHUNIT_CLOCK_GATE_DISABLE | + OVRUNIT_CLOCK_GATE_DISABLE | + OVCUNIT_CLOCK_GATE_DISABLE; + if (IS_GM45(dev)) + dspclk_gate |= DSSUNIT_CLOCK_GATE_DISABLE; + I915_WRITE(DSPCLK_GATE_D, dspclk_gate); + + /* WaDisableRenderCachePipelinedFlush */ + I915_WRITE(CACHE_MODE_0, + _MASKED_BIT_ENABLE(CM0_PIPELINED_RENDER_FLUSH_DISABLE)); +} + +static void crestline_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE(RENCLK_GATE_D1, I965_RCC_CLOCK_GATE_DISABLE); + I915_WRITE(RENCLK_GATE_D2, 0); + I915_WRITE(DSPCLK_GATE_D, 0); + I915_WRITE(RAMCLK_GATE_D, 0); + I915_WRITE16(DEUC, 0); +} + +static void broadwater_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE(RENCLK_GATE_D1, I965_RCZ_CLOCK_GATE_DISABLE | + I965_RCC_CLOCK_GATE_DISABLE | + I965_RCPB_CLOCK_GATE_DISABLE | + I965_ISC_CLOCK_GATE_DISABLE | + I965_FBC_CLOCK_GATE_DISABLE); + I915_WRITE(RENCLK_GATE_D2, 0); +} + +static void gen3_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 dstate = I915_READ(D_STATE); + + dstate |= DSTATE_PLL_D3_OFF | DSTATE_GFX_CLOCK_GATING | + DSTATE_DOT_CLOCK_GATING; + I915_WRITE(D_STATE, dstate); + + if (IS_PINEVIEW(dev)) + I915_WRITE(ECOSKPD, _MASKED_BIT_ENABLE(ECO_GATING_CX_ONLY)); + + /* IIR "flip pending" means done if this bit is set */ + I915_WRITE(ECOSKPD, _MASKED_BIT_DISABLE(ECO_FLIP_DONE)); +} + +static void i85x_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE(RENCLK_GATE_D1, SV_CLOCK_GATE_DISABLE); +} + +static void i830_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE(DSPCLK_GATE_D, OVRUNIT_CLOCK_GATE_DISABLE); +} + +void intel_init_clock_gating(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + dev_priv->display.init_clock_gating(dev); +} + +/* Starting with Haswell, we have different power wells for + * different parts of the GPU. This attempts to enable them all. + */ +void intel_init_power_wells(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long power_wells[] = { + HSW_PWR_WELL_CTL1, + HSW_PWR_WELL_CTL2, + HSW_PWR_WELL_CTL4 + }; + int i; + + if (!IS_HASWELL(dev)) + return; + + mutex_lock(&dev->struct_mutex); + + for (i = 0; i < ARRAY_SIZE(power_wells); i++) { + int well = I915_READ(power_wells[i]); + + if ((well & HSW_PWR_WELL_STATE) == 0) { + I915_WRITE(power_wells[i], well & HSW_PWR_WELL_ENABLE); + if (wait_for((I915_READ(power_wells[i]) & HSW_PWR_WELL_STATE), 20)) + DRM_ERROR("Error enabling power well %lx\n", power_wells[i]); + } + } + + mutex_unlock(&dev->struct_mutex); +} + +/* Set up chip specific power management-related functions */ +void intel_init_pm(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (I915_HAS_FBC(dev)) { + if (HAS_PCH_SPLIT(dev)) { + dev_priv->display.fbc_enabled = ironlake_fbc_enabled; + dev_priv->display.enable_fbc = ironlake_enable_fbc; + dev_priv->display.disable_fbc = ironlake_disable_fbc; + } else if (IS_GM45(dev)) { + dev_priv->display.fbc_enabled = g4x_fbc_enabled; + dev_priv->display.enable_fbc = g4x_enable_fbc; + dev_priv->display.disable_fbc = g4x_disable_fbc; + } else if (IS_CRESTLINE(dev)) { + dev_priv->display.fbc_enabled = i8xx_fbc_enabled; + dev_priv->display.enable_fbc = i8xx_enable_fbc; + dev_priv->display.disable_fbc = i8xx_disable_fbc; + } + /* 855GM needs testing */ + } + + /* For cxsr */ + if (IS_PINEVIEW(dev)) + i915_pineview_get_mem_freq(dev); + else if (IS_GEN5(dev)) + i915_ironlake_get_mem_freq(dev); + + /* For FIFO watermark updates */ + if (HAS_PCH_SPLIT(dev)) { + if (IS_GEN5(dev)) { + if (I915_READ(MLTR_ILK) & ILK_SRLT_MASK) + dev_priv->display.update_wm = ironlake_update_wm; + else { + DRM_DEBUG_KMS("Failed to get proper latency. " + "Disable CxSR\n"); + dev_priv->display.update_wm = NULL; + } + dev_priv->display.init_clock_gating = ironlake_init_clock_gating; + } else if (IS_GEN6(dev)) { + if (SNB_READ_WM0_LATENCY()) { + dev_priv->display.update_wm = sandybridge_update_wm; + dev_priv->display.update_sprite_wm = sandybridge_update_sprite_wm; + } else { + DRM_DEBUG_KMS("Failed to read display plane latency. " + "Disable CxSR\n"); + dev_priv->display.update_wm = NULL; + } + dev_priv->display.init_clock_gating = gen6_init_clock_gating; + } else if (IS_IVYBRIDGE(dev)) { + /* FIXME: detect B0+ stepping and use auto training */ + if (SNB_READ_WM0_LATENCY()) { + dev_priv->display.update_wm = sandybridge_update_wm; + dev_priv->display.update_sprite_wm = sandybridge_update_sprite_wm; + } else { + DRM_DEBUG_KMS("Failed to read display plane latency. " + "Disable CxSR\n"); + dev_priv->display.update_wm = NULL; + } + dev_priv->display.init_clock_gating = ivybridge_init_clock_gating; + } else if (IS_HASWELL(dev)) { + if (SNB_READ_WM0_LATENCY()) { + dev_priv->display.update_wm = sandybridge_update_wm; + dev_priv->display.update_sprite_wm = sandybridge_update_sprite_wm; + dev_priv->display.update_linetime_wm = haswell_update_linetime_wm; + } else { + DRM_DEBUG_KMS("Failed to read display plane latency. " + "Disable CxSR\n"); + dev_priv->display.update_wm = NULL; + } + dev_priv->display.init_clock_gating = haswell_init_clock_gating; + } else + dev_priv->display.update_wm = NULL; + } else if (IS_VALLEYVIEW(dev)) { + dev_priv->display.update_wm = valleyview_update_wm; + dev_priv->display.init_clock_gating = + valleyview_init_clock_gating; + } else if (IS_PINEVIEW(dev)) { + if (!intel_get_cxsr_latency(IS_PINEVIEW_G(dev), + dev_priv->is_ddr3, + dev_priv->fsb_freq, + dev_priv->mem_freq)) { + DRM_INFO("failed to find known CxSR latency " + "(found ddr%s fsb freq %d, mem freq %d), " + "disabling CxSR\n", + (dev_priv->is_ddr3 == 1) ? "3" : "2", + dev_priv->fsb_freq, dev_priv->mem_freq); + /* Disable CxSR and never update its watermark again */ + pineview_disable_cxsr(dev); + dev_priv->display.update_wm = NULL; + } else + dev_priv->display.update_wm = pineview_update_wm; + dev_priv->display.init_clock_gating = gen3_init_clock_gating; + } else if (IS_G4X(dev)) { + dev_priv->display.update_wm = g4x_update_wm; + dev_priv->display.init_clock_gating = g4x_init_clock_gating; + } else if (IS_GEN4(dev)) { + dev_priv->display.update_wm = i965_update_wm; + if (IS_CRESTLINE(dev)) + dev_priv->display.init_clock_gating = crestline_init_clock_gating; + else if (IS_BROADWATER(dev)) + dev_priv->display.init_clock_gating = broadwater_init_clock_gating; + } else if (IS_GEN3(dev)) { + dev_priv->display.update_wm = i9xx_update_wm; + dev_priv->display.get_fifo_size = i9xx_get_fifo_size; + dev_priv->display.init_clock_gating = gen3_init_clock_gating; + } else if (IS_I865G(dev)) { + dev_priv->display.update_wm = i830_update_wm; + dev_priv->display.init_clock_gating = i85x_init_clock_gating; + dev_priv->display.get_fifo_size = i830_get_fifo_size; + } else if (IS_I85X(dev)) { + dev_priv->display.update_wm = i9xx_update_wm; + dev_priv->display.get_fifo_size = i85x_get_fifo_size; + dev_priv->display.init_clock_gating = i85x_init_clock_gating; + } else { + dev_priv->display.update_wm = i830_update_wm; + dev_priv->display.init_clock_gating = i830_init_clock_gating; + if (IS_845G(dev)) + dev_priv->display.get_fifo_size = i845_get_fifo_size; + else + dev_priv->display.get_fifo_size = i830_get_fifo_size; + } +} + +static void __gen6_gt_wait_for_thread_c0(struct drm_i915_private *dev_priv) +{ + u32 gt_thread_status_mask; + + if (IS_HASWELL(dev_priv->dev)) + gt_thread_status_mask = GEN6_GT_THREAD_STATUS_CORE_MASK_HSW; + else + gt_thread_status_mask = GEN6_GT_THREAD_STATUS_CORE_MASK; + + /* w/a for a sporadic read returning 0 by waiting for the GT + * thread to wake up. + */ + if (wait_for_atomic_us((I915_READ_NOTRACE(GEN6_GT_THREAD_STATUS_REG) & gt_thread_status_mask) == 0, 500)) + DRM_ERROR("GT thread status wait timed out\n"); +} + +static void __gen6_gt_force_wake_reset(struct drm_i915_private *dev_priv) +{ + I915_WRITE_NOTRACE(FORCEWAKE, 0); + POSTING_READ(ECOBUS); /* something from same cacheline, but !FORCEWAKE */ +} + +static void __gen6_gt_force_wake_get(struct drm_i915_private *dev_priv) +{ + u32 forcewake_ack; + + if (IS_HASWELL(dev_priv->dev)) + forcewake_ack = FORCEWAKE_ACK_HSW; + else + forcewake_ack = FORCEWAKE_ACK; + + if (wait_for_atomic((I915_READ_NOTRACE(forcewake_ack) & 1) == 0, + FORCEWAKE_ACK_TIMEOUT_MS)) + DRM_ERROR("Timed out waiting for forcewake old ack to clear.\n"); + + I915_WRITE_NOTRACE(FORCEWAKE, FORCEWAKE_KERNEL); + POSTING_READ(ECOBUS); /* something from same cacheline, but !FORCEWAKE */ + + if (wait_for_atomic((I915_READ_NOTRACE(forcewake_ack) & 1), + FORCEWAKE_ACK_TIMEOUT_MS)) + DRM_ERROR("Timed out waiting for forcewake to ack request.\n"); + + __gen6_gt_wait_for_thread_c0(dev_priv); +} + +static void __gen6_gt_force_wake_mt_reset(struct drm_i915_private *dev_priv) +{ + I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_DISABLE(0xffff)); + POSTING_READ(ECOBUS); /* something from same cacheline, but !FORCEWAKE */ +} + +static void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv) +{ + u32 forcewake_ack; + + if (IS_HASWELL(dev_priv->dev)) + forcewake_ack = FORCEWAKE_ACK_HSW; + else + forcewake_ack = FORCEWAKE_MT_ACK; + + if (wait_for_atomic((I915_READ_NOTRACE(forcewake_ack) & 1) == 0, + FORCEWAKE_ACK_TIMEOUT_MS)) + DRM_ERROR("Timed out waiting for forcewake old ack to clear.\n"); + + I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_ENABLE(FORCEWAKE_KERNEL)); + POSTING_READ(ECOBUS); /* something from same cacheline, but !FORCEWAKE */ + + if (wait_for_atomic((I915_READ_NOTRACE(forcewake_ack) & 1), + FORCEWAKE_ACK_TIMEOUT_MS)) + DRM_ERROR("Timed out waiting for forcewake to ack request.\n"); + + __gen6_gt_wait_for_thread_c0(dev_priv); +} + +/* + * Generally this is called implicitly by the register read function. However, + * if some sequence requires the GT to not power down then this function should + * be called at the beginning of the sequence followed by a call to + * gen6_gt_force_wake_put() at the end of the sequence. + */ +void gen6_gt_force_wake_get(struct drm_i915_private *dev_priv) +{ + unsigned long irqflags; + + spin_lock_irqsave(&dev_priv->gt_lock, irqflags); + if (dev_priv->forcewake_count++ == 0) + dev_priv->gt.force_wake_get(dev_priv); + spin_unlock_irqrestore(&dev_priv->gt_lock, irqflags); +} + +void gen6_gt_check_fifodbg(struct drm_i915_private *dev_priv) +{ + u32 gtfifodbg; + gtfifodbg = I915_READ_NOTRACE(GTFIFODBG); + if (WARN(gtfifodbg & GT_FIFO_CPU_ERROR_MASK, + "MMIO read or write has been dropped %x\n", gtfifodbg)) + I915_WRITE_NOTRACE(GTFIFODBG, GT_FIFO_CPU_ERROR_MASK); +} + +static void __gen6_gt_force_wake_put(struct drm_i915_private *dev_priv) +{ + I915_WRITE_NOTRACE(FORCEWAKE, 0); + /* gen6_gt_check_fifodbg doubles as the POSTING_READ */ + gen6_gt_check_fifodbg(dev_priv); +} + +static void __gen6_gt_force_wake_mt_put(struct drm_i915_private *dev_priv) +{ + I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL)); + /* gen6_gt_check_fifodbg doubles as the POSTING_READ */ + gen6_gt_check_fifodbg(dev_priv); +} + +/* + * see gen6_gt_force_wake_get() + */ +void gen6_gt_force_wake_put(struct drm_i915_private *dev_priv) +{ + unsigned long irqflags; + + spin_lock_irqsave(&dev_priv->gt_lock, irqflags); + if (--dev_priv->forcewake_count == 0) + dev_priv->gt.force_wake_put(dev_priv); + spin_unlock_irqrestore(&dev_priv->gt_lock, irqflags); +} + +int __gen6_gt_wait_for_fifo(struct drm_i915_private *dev_priv) +{ + int ret = 0; + + if (dev_priv->gt_fifo_count < GT_FIFO_NUM_RESERVED_ENTRIES) { + int loop = 500; + u32 fifo = I915_READ_NOTRACE(GT_FIFO_FREE_ENTRIES); + while (fifo <= GT_FIFO_NUM_RESERVED_ENTRIES && loop--) { + udelay(10); + fifo = I915_READ_NOTRACE(GT_FIFO_FREE_ENTRIES); + } + if (WARN_ON(loop < 0 && fifo <= GT_FIFO_NUM_RESERVED_ENTRIES)) + ++ret; + dev_priv->gt_fifo_count = fifo; + } + dev_priv->gt_fifo_count--; + + return ret; +} + +static void vlv_force_wake_reset(struct drm_i915_private *dev_priv) +{ + I915_WRITE_NOTRACE(FORCEWAKE_VLV, _MASKED_BIT_DISABLE(0xffff)); +} + +static void vlv_force_wake_get(struct drm_i915_private *dev_priv) +{ + if (wait_for_atomic((I915_READ_NOTRACE(FORCEWAKE_ACK_VLV) & 1) == 0, + FORCEWAKE_ACK_TIMEOUT_MS)) + DRM_ERROR("Timed out waiting for forcewake old ack to clear.\n"); + + I915_WRITE_NOTRACE(FORCEWAKE_VLV, _MASKED_BIT_ENABLE(FORCEWAKE_KERNEL)); + + if (wait_for_atomic((I915_READ_NOTRACE(FORCEWAKE_ACK_VLV) & 1), + FORCEWAKE_ACK_TIMEOUT_MS)) + DRM_ERROR("Timed out waiting for forcewake to ack request.\n"); + + __gen6_gt_wait_for_thread_c0(dev_priv); +} + +static void vlv_force_wake_put(struct drm_i915_private *dev_priv) +{ + I915_WRITE_NOTRACE(FORCEWAKE_VLV, _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL)); + /* The below doubles as a POSTING_READ */ + gen6_gt_check_fifodbg(dev_priv); +} + +void intel_gt_reset(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (IS_VALLEYVIEW(dev)) { + vlv_force_wake_reset(dev_priv); + } else if (INTEL_INFO(dev)->gen >= 6) { + __gen6_gt_force_wake_reset(dev_priv); + if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) + __gen6_gt_force_wake_mt_reset(dev_priv); + } +} + +void intel_gt_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + spin_lock_init(&dev_priv->gt_lock); + + intel_gt_reset(dev); + + if (IS_VALLEYVIEW(dev)) { + dev_priv->gt.force_wake_get = vlv_force_wake_get; + dev_priv->gt.force_wake_put = vlv_force_wake_put; + } else if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) { + dev_priv->gt.force_wake_get = __gen6_gt_force_wake_mt_get; + dev_priv->gt.force_wake_put = __gen6_gt_force_wake_mt_put; + } else if (IS_GEN6(dev)) { + dev_priv->gt.force_wake_get = __gen6_gt_force_wake_get; + dev_priv->gt.force_wake_put = __gen6_gt_force_wake_put; + } + INIT_DELAYED_WORK(&dev_priv->rps.delayed_resume_work, + intel_gen6_powersave_work); +} + +int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val) +{ + WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock)); + + if (I915_READ(GEN6_PCODE_MAILBOX) & GEN6_PCODE_READY) { + DRM_DEBUG_DRIVER("warning: pcode (read) mailbox access failed\n"); + return -EAGAIN; + } + + I915_WRITE(GEN6_PCODE_DATA, *val); + I915_WRITE(GEN6_PCODE_MAILBOX, GEN6_PCODE_READY | mbox); + + if (wait_for((I915_READ(GEN6_PCODE_MAILBOX) & GEN6_PCODE_READY) == 0, + 500)) { + DRM_ERROR("timeout waiting for pcode read (%d) to finish\n", mbox); + return -ETIMEDOUT; + } + + *val = I915_READ(GEN6_PCODE_DATA); + I915_WRITE(GEN6_PCODE_DATA, 0); + + return 0; +} + +int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u8 mbox, u32 val) +{ + WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock)); + + if (I915_READ(GEN6_PCODE_MAILBOX) & GEN6_PCODE_READY) { + DRM_DEBUG_DRIVER("warning: pcode (write) mailbox access failed\n"); + return -EAGAIN; + } + + I915_WRITE(GEN6_PCODE_DATA, val); + I915_WRITE(GEN6_PCODE_MAILBOX, GEN6_PCODE_READY | mbox); + + if (wait_for((I915_READ(GEN6_PCODE_MAILBOX) & GEN6_PCODE_READY) == 0, + 500)) { + DRM_ERROR("timeout waiting for pcode write (%d) to finish\n", mbox); + return -ETIMEDOUT; + } + + I915_WRITE(GEN6_PCODE_DATA, 0); + + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_ringbuffer.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_ringbuffer.c @@ -0,0 +1,1756 @@ +/* + * Copyright © 2008-2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Zou Nan hai + * Xiang Hai hao + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drv.h" +#include "i915_drm.h" +#include "i915_trace.h" +#include "intel_drv.h" + +/* + * 965+ support PIPE_CONTROL commands, which provide finer grained control + * over cache flushing. + */ +struct pipe_control { + struct drm_i915_gem_object *obj; + volatile u32 *cpu_page; + u32 gtt_offset; +}; + +static inline int ring_space(struct intel_ring_buffer *ring) +{ + int space = (ring->head & HEAD_ADDR) - (ring->tail + 8); + if (space < 0) + space += ring->size; + return space; +} + +static int +gen2_render_ring_flush(struct intel_ring_buffer *ring, + u32 invalidate_domains, + u32 flush_domains) +{ + u32 cmd; + int ret; + + cmd = MI_FLUSH; + if (((invalidate_domains|flush_domains) & I915_GEM_DOMAIN_RENDER) == 0) + cmd |= MI_NO_WRITE_FLUSH; + + if (invalidate_domains & I915_GEM_DOMAIN_SAMPLER) + cmd |= MI_READ_FLUSH; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, cmd); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + + return 0; +} + +static int +gen4_render_ring_flush(struct intel_ring_buffer *ring, + u32 invalidate_domains, + u32 flush_domains) +{ + struct drm_device *dev = ring->dev; + u32 cmd; + int ret; + + /* + * read/write caches: + * + * I915_GEM_DOMAIN_RENDER is always invalidated, but is + * only flushed if MI_NO_WRITE_FLUSH is unset. On 965, it is + * also flushed at 2d versus 3d pipeline switches. + * + * read-only caches: + * + * I915_GEM_DOMAIN_SAMPLER is flushed on pre-965 if + * MI_READ_FLUSH is set, and is always flushed on 965. + * + * I915_GEM_DOMAIN_COMMAND may not exist? + * + * I915_GEM_DOMAIN_INSTRUCTION, which exists on 965, is + * invalidated when MI_EXE_FLUSH is set. + * + * I915_GEM_DOMAIN_VERTEX, which exists on 965, is + * invalidated with every MI_FLUSH. + * + * TLBs: + * + * On 965, TLBs associated with I915_GEM_DOMAIN_COMMAND + * and I915_GEM_DOMAIN_CPU in are invalidated at PTE write and + * I915_GEM_DOMAIN_RENDER and I915_GEM_DOMAIN_SAMPLER + * are flushed at any MI_FLUSH. + */ + + cmd = MI_FLUSH | MI_NO_WRITE_FLUSH; + if ((invalidate_domains|flush_domains) & I915_GEM_DOMAIN_RENDER) + cmd &= ~MI_NO_WRITE_FLUSH; + if (invalidate_domains & I915_GEM_DOMAIN_INSTRUCTION) + cmd |= MI_EXE_FLUSH; + + if (invalidate_domains & I915_GEM_DOMAIN_COMMAND && + (IS_G4X(dev) || IS_GEN5(dev))) + cmd |= MI_INVALIDATE_ISP; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, cmd); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + + return 0; +} + +/** + * Emits a PIPE_CONTROL with a non-zero post-sync operation, for + * implementing two workarounds on gen6. From section 1.4.7.1 + * "PIPE_CONTROL" of the Sandy Bridge PRM volume 2 part 1: + * + * [DevSNB-C+{W/A}] Before any depth stall flush (including those + * produced by non-pipelined state commands), software needs to first + * send a PIPE_CONTROL with no bits set except Post-Sync Operation != + * 0. + * + * [Dev-SNB{W/A}]: Before a PIPE_CONTROL with Write Cache Flush Enable + * =1, a PIPE_CONTROL with any non-zero post-sync-op is required. + * + * And the workaround for these two requires this workaround first: + * + * [Dev-SNB{W/A}]: Pipe-control with CS-stall bit set must be sent + * BEFORE the pipe-control with a post-sync op and no write-cache + * flushes. + * + * And this last workaround is tricky because of the requirements on + * that bit. From section 1.4.7.2.3 "Stall" of the Sandy Bridge PRM + * volume 2 part 1: + * + * "1 of the following must also be set: + * - Render Target Cache Flush Enable ([12] of DW1) + * - Depth Cache Flush Enable ([0] of DW1) + * - Stall at Pixel Scoreboard ([1] of DW1) + * - Depth Stall ([13] of DW1) + * - Post-Sync Operation ([13] of DW1) + * - Notify Enable ([8] of DW1)" + * + * The cache flushes require the workaround flush that triggered this + * one, so we can't use it. Depth stall would trigger the same. + * Post-sync nonzero is what triggered this second workaround, so we + * can't use that one either. Notify enable is IRQs, which aren't + * really our business. That leaves only stall at scoreboard. + */ +static int +intel_emit_post_sync_nonzero_flush(struct intel_ring_buffer *ring) +{ + struct pipe_control *pc = ring->private; + u32 scratch_addr = pc->gtt_offset + 128; + int ret; + + + ret = intel_ring_begin(ring, 6); + if (ret) + return ret; + + intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(5)); + intel_ring_emit(ring, PIPE_CONTROL_CS_STALL | + PIPE_CONTROL_STALL_AT_SCOREBOARD); + intel_ring_emit(ring, scratch_addr | PIPE_CONTROL_GLOBAL_GTT); /* address */ + intel_ring_emit(ring, 0); /* low dword */ + intel_ring_emit(ring, 0); /* high dword */ + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + + ret = intel_ring_begin(ring, 6); + if (ret) + return ret; + + intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(5)); + intel_ring_emit(ring, PIPE_CONTROL_QW_WRITE); + intel_ring_emit(ring, scratch_addr | PIPE_CONTROL_GLOBAL_GTT); /* address */ + intel_ring_emit(ring, 0); + intel_ring_emit(ring, 0); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + + return 0; +} + +static int +gen6_render_ring_flush(struct intel_ring_buffer *ring, + u32 invalidate_domains, u32 flush_domains) +{ + u32 flags = 0; + struct pipe_control *pc = ring->private; + u32 scratch_addr = pc->gtt_offset + 128; + int ret; + + /* Force SNB workarounds for PIPE_CONTROL flushes */ + ret = intel_emit_post_sync_nonzero_flush(ring); + if (ret) + return ret; + + /* Just flush everything. Experiments have shown that reducing the + * number of bits based on the write domains has little performance + * impact. + */ + if (flush_domains) { + flags |= PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH; + flags |= PIPE_CONTROL_DEPTH_CACHE_FLUSH; + /* + * Ensure that any following seqno writes only happen + * when the render cache is indeed flushed. + */ + flags |= PIPE_CONTROL_CS_STALL; + } + if (invalidate_domains) { + flags |= PIPE_CONTROL_TLB_INVALIDATE; + flags |= PIPE_CONTROL_INSTRUCTION_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_VF_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_CONST_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_STATE_CACHE_INVALIDATE; + /* + * TLB invalidate requires a post-sync write. + */ + flags |= PIPE_CONTROL_QW_WRITE | PIPE_CONTROL_CS_STALL; + } + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(4)); + intel_ring_emit(ring, flags); + intel_ring_emit(ring, scratch_addr | PIPE_CONTROL_GLOBAL_GTT); + intel_ring_emit(ring, 0); + intel_ring_advance(ring); + + return 0; +} + +static int +gen7_render_ring_cs_stall_wa(struct intel_ring_buffer *ring) +{ + int ret; + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(4)); + intel_ring_emit(ring, PIPE_CONTROL_CS_STALL | + PIPE_CONTROL_STALL_AT_SCOREBOARD); + intel_ring_emit(ring, 0); + intel_ring_emit(ring, 0); + intel_ring_advance(ring); + + return 0; +} + +static int +gen7_render_ring_flush(struct intel_ring_buffer *ring, + u32 invalidate_domains, u32 flush_domains) +{ + u32 flags = 0; + struct pipe_control *pc = ring->private; + u32 scratch_addr = pc->gtt_offset + 128; + int ret; + + /* + * Ensure that any following seqno writes only happen when the render + * cache is indeed flushed. + * + * Workaround: 4th PIPE_CONTROL command (except the ones with only + * read-cache invalidate bits set) must have the CS_STALL bit set. We + * don't try to be clever and just set it unconditionally. + */ + flags |= PIPE_CONTROL_CS_STALL; + + /* Just flush everything. Experiments have shown that reducing the + * number of bits based on the write domains has little performance + * impact. + */ + if (flush_domains) { + flags |= PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH; + flags |= PIPE_CONTROL_DEPTH_CACHE_FLUSH; + } + if (invalidate_domains) { + flags |= PIPE_CONTROL_TLB_INVALIDATE; + flags |= PIPE_CONTROL_INSTRUCTION_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_VF_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_CONST_CACHE_INVALIDATE; + flags |= PIPE_CONTROL_STATE_CACHE_INVALIDATE; + /* + * TLB invalidate requires a post-sync write. + */ + flags |= PIPE_CONTROL_QW_WRITE; + + /* Workaround: we must issue a pipe_control with CS-stall bit + * set before a pipe_control command that has the state cache + * invalidate bit set. */ + gen7_render_ring_cs_stall_wa(ring); + } + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(4)); + intel_ring_emit(ring, flags); + intel_ring_emit(ring, scratch_addr | PIPE_CONTROL_GLOBAL_GTT); + intel_ring_emit(ring, 0); + intel_ring_advance(ring); + + return 0; +} + +static void ring_write_tail(struct intel_ring_buffer *ring, + u32 value) +{ + drm_i915_private_t *dev_priv = ring->dev->dev_private; + I915_WRITE_TAIL(ring, value); +} + +u32 intel_ring_get_active_head(struct intel_ring_buffer *ring) +{ + drm_i915_private_t *dev_priv = ring->dev->dev_private; + u32 acthd_reg = INTEL_INFO(ring->dev)->gen >= 4 ? + RING_ACTHD(ring->mmio_base) : ACTHD; + + return I915_READ(acthd_reg); +} + +static int init_ring_common(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj = ring->obj; + int ret = 0; + u32 head; + + if (HAS_FORCE_WAKE(dev)) + gen6_gt_force_wake_get(dev_priv); + + /* Stop the ring if it's running. */ + I915_WRITE_CTL(ring, 0); + I915_WRITE_HEAD(ring, 0); + ring->write_tail(ring, 0); + + head = I915_READ_HEAD(ring) & HEAD_ADDR; + + /* G45 ring initialization fails to reset head to zero */ + if (head != 0) { + DRM_DEBUG_KMS("%s head not reset to zero " + "ctl %08x head %08x tail %08x start %08x\n", + ring->name, + I915_READ_CTL(ring), + I915_READ_HEAD(ring), + I915_READ_TAIL(ring), + I915_READ_START(ring)); + + I915_WRITE_HEAD(ring, 0); + + if (I915_READ_HEAD(ring) & HEAD_ADDR) { + DRM_ERROR("failed to set %s head to zero " + "ctl %08x head %08x tail %08x start %08x\n", + ring->name, + I915_READ_CTL(ring), + I915_READ_HEAD(ring), + I915_READ_TAIL(ring), + I915_READ_START(ring)); + } + } + + /* Initialize the ring. This must happen _after_ we've cleared the ring + * registers with the above sequence (the readback of the HEAD registers + * also enforces ordering), otherwise the hw might lose the new ring + * register values. */ + I915_WRITE_START(ring, obj->gtt_offset); + I915_WRITE_CTL(ring, + ((ring->size - PAGE_SIZE) & RING_NR_PAGES) + | RING_VALID); + + /* If the head is still not zero, the ring is dead */ + if (wait_for((I915_READ_CTL(ring) & RING_VALID) != 0 && + I915_READ_START(ring) == obj->gtt_offset && + (I915_READ_HEAD(ring) & HEAD_ADDR) == 0, 50)) { + DRM_ERROR("%s initialization failed " + "ctl %08x head %08x tail %08x start %08x\n", + ring->name, + I915_READ_CTL(ring), + I915_READ_HEAD(ring), + I915_READ_TAIL(ring), + I915_READ_START(ring)); + ret = -EIO; + goto out; + } + + if (!drm_core_check_feature(ring->dev, DRIVER_MODESET)) + i915_kernel_lost_context(ring->dev); + else { + ring->head = I915_READ_HEAD(ring); + ring->tail = I915_READ_TAIL(ring) & TAIL_ADDR; + ring->space = ring_space(ring); + ring->last_retired_head = -1; + } + +out: + if (HAS_FORCE_WAKE(dev)) + gen6_gt_force_wake_put(dev_priv); + + return ret; +} + +static int +init_pipe_control(struct intel_ring_buffer *ring) +{ + struct pipe_control *pc; + struct drm_i915_gem_object *obj; + int ret; + + if (ring->private) + return 0; + + pc = kmalloc(sizeof(*pc), GFP_KERNEL); + if (!pc) + return -ENOMEM; + + obj = i915_gem_alloc_object(ring->dev, 4096); + if (obj == NULL) { + DRM_ERROR("Failed to allocate seqno page\n"); + ret = -ENOMEM; + goto err; + } + + i915_gem_object_set_cache_level(obj, I915_CACHE_LLC); + + ret = i915_gem_object_pin(obj, 4096, true, false); + if (ret) + goto err_unref; + + pc->gtt_offset = obj->gtt_offset; + pc->cpu_page = kmap(sg_page(obj->pages->sgl)); + if (pc->cpu_page == NULL) + goto err_unpin; + + pc->obj = obj; + ring->private = pc; + return 0; + +err_unpin: + i915_gem_object_unpin(obj); +err_unref: + drm_gem_object_unreference(&obj->base); +err: + kfree(pc); + return ret; +} + +static void +cleanup_pipe_control(struct intel_ring_buffer *ring) +{ + struct pipe_control *pc = ring->private; + struct drm_i915_gem_object *obj; + + if (!ring->private) + return; + + obj = pc->obj; + + kunmap(sg_page(obj->pages->sgl)); + i915_gem_object_unpin(obj); + drm_gem_object_unreference(&obj->base); + + kfree(pc); + ring->private = NULL; +} + +static int init_render_ring(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret = init_ring_common(ring); + + if (INTEL_INFO(dev)->gen > 3) { + I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(VS_TIMER_DISPATCH)); + if (IS_GEN7(dev)) + I915_WRITE(GFX_MODE_GEN7, + _MASKED_BIT_DISABLE(GFX_TLB_INVALIDATE_ALWAYS) | + _MASKED_BIT_ENABLE(GFX_REPLAY_MODE)); + } + + if (INTEL_INFO(dev)->gen >= 5) { + ret = init_pipe_control(ring); + if (ret) + return ret; + } + + if (IS_GEN6(dev)) { + /* From the Sandybridge PRM, volume 1 part 3, page 24: + * "If this bit is set, STCunit will have LRA as replacement + * policy. [...] This bit must be reset. LRA replacement + * policy is not supported." + */ + I915_WRITE(CACHE_MODE_0, + _MASKED_BIT_DISABLE(CM0_STC_EVICT_DISABLE_LRA_SNB)); + + /* This is not explicitly set for GEN6, so read the register. + * see intel_ring_mi_set_context() for why we care. + * TODO: consider explicitly setting the bit for GEN5 + */ + ring->itlb_before_ctx_switch = + !!(I915_READ(GFX_MODE) & GFX_TLB_INVALIDATE_ALWAYS); + } + + if (INTEL_INFO(dev)->gen >= 6) + I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING)); + + if (HAS_L3_GPU_CACHE(dev)) + I915_WRITE_IMR(ring, ~GEN6_RENDER_L3_PARITY_ERROR); + + return ret; +} + +static void render_ring_cleanup(struct intel_ring_buffer *ring) +{ + if (!ring->private) + return; + + cleanup_pipe_control(ring); +} + +static void +update_mboxes(struct intel_ring_buffer *ring, + u32 seqno, + u32 mmio_offset) +{ + intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1)); + intel_ring_emit(ring, mmio_offset); + intel_ring_emit(ring, seqno); +} + +/** + * gen6_add_request - Update the semaphore mailbox registers + * + * @ring - ring that is adding a request + * @seqno - return seqno stuck into the ring + * + * Update the mailbox registers in the *other* rings with the current seqno. + * This acts like a signal in the canonical semaphore. + */ +static int +gen6_add_request(struct intel_ring_buffer *ring, + u32 *seqno) +{ + u32 mbox1_reg; + u32 mbox2_reg; + int ret; + + ret = intel_ring_begin(ring, 10); + if (ret) + return ret; + + mbox1_reg = ring->signal_mbox[0]; + mbox2_reg = ring->signal_mbox[1]; + + *seqno = i915_gem_next_request_seqno(ring); + + update_mboxes(ring, *seqno, mbox1_reg); + update_mboxes(ring, *seqno, mbox2_reg); + intel_ring_emit(ring, MI_STORE_DWORD_INDEX); + intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT); + intel_ring_emit(ring, *seqno); + intel_ring_emit(ring, MI_USER_INTERRUPT); + intel_ring_advance(ring); + + return 0; +} + +/** + * intel_ring_sync - sync the waiter to the signaller on seqno + * + * @waiter - ring that is waiting + * @signaller - ring which has, or will signal + * @seqno - seqno which the waiter will block on + */ +static int +gen6_ring_sync(struct intel_ring_buffer *waiter, + struct intel_ring_buffer *signaller, + u32 seqno) +{ + int ret; + u32 dw1 = MI_SEMAPHORE_MBOX | + MI_SEMAPHORE_COMPARE | + MI_SEMAPHORE_REGISTER; + + /* Throughout all of the GEM code, seqno passed implies our current + * seqno is >= the last seqno executed. However for hardware the + * comparison is strictly greater than. + */ + seqno -= 1; + + WARN_ON(signaller->semaphore_register[waiter->id] == + MI_SEMAPHORE_SYNC_INVALID); + + ret = intel_ring_begin(waiter, 4); + if (ret) + return ret; + + intel_ring_emit(waiter, + dw1 | signaller->semaphore_register[waiter->id]); + intel_ring_emit(waiter, seqno); + intel_ring_emit(waiter, 0); + intel_ring_emit(waiter, MI_NOOP); + intel_ring_advance(waiter); + + return 0; +} + +#define PIPE_CONTROL_FLUSH(ring__, addr__) \ +do { \ + intel_ring_emit(ring__, GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE | \ + PIPE_CONTROL_DEPTH_STALL); \ + intel_ring_emit(ring__, (addr__) | PIPE_CONTROL_GLOBAL_GTT); \ + intel_ring_emit(ring__, 0); \ + intel_ring_emit(ring__, 0); \ +} while (0) + +static int +pc_render_add_request(struct intel_ring_buffer *ring, + u32 *result) +{ + u32 seqno = i915_gem_next_request_seqno(ring); + struct pipe_control *pc = ring->private; + u32 scratch_addr = pc->gtt_offset + 128; + int ret; + + /* For Ironlake, MI_USER_INTERRUPT was deprecated and apparently + * incoherent with writes to memory, i.e. completely fubar, + * so we need to use PIPE_NOTIFY instead. + * + * However, we also need to workaround the qword write + * incoherence by flushing the 6 PIPE_NOTIFY buffers out to + * memory before requesting an interrupt. + */ + ret = intel_ring_begin(ring, 32); + if (ret) + return ret; + + intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE | + PIPE_CONTROL_WRITE_FLUSH | + PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE); + intel_ring_emit(ring, pc->gtt_offset | PIPE_CONTROL_GLOBAL_GTT); + intel_ring_emit(ring, seqno); + intel_ring_emit(ring, 0); + PIPE_CONTROL_FLUSH(ring, scratch_addr); + scratch_addr += 128; /* write to separate cachelines */ + PIPE_CONTROL_FLUSH(ring, scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(ring, scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(ring, scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(ring, scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(ring, scratch_addr); + + intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE | + PIPE_CONTROL_WRITE_FLUSH | + PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE | + PIPE_CONTROL_NOTIFY); + intel_ring_emit(ring, pc->gtt_offset | PIPE_CONTROL_GLOBAL_GTT); + intel_ring_emit(ring, seqno); + intel_ring_emit(ring, 0); + intel_ring_advance(ring); + + *result = seqno; + return 0; +} + +static u32 +gen6_ring_get_seqno(struct intel_ring_buffer *ring, bool lazy_coherency) +{ + /* Workaround to force correct ordering between irq and seqno writes on + * ivb (and maybe also on snb) by reading from a CS register (like + * ACTHD) before reading the status page. */ + if (!lazy_coherency) + intel_ring_get_active_head(ring); + return intel_read_status_page(ring, I915_GEM_HWS_INDEX); +} + +static u32 +ring_get_seqno(struct intel_ring_buffer *ring, bool lazy_coherency) +{ + return intel_read_status_page(ring, I915_GEM_HWS_INDEX); +} + +static u32 +pc_render_get_seqno(struct intel_ring_buffer *ring, bool lazy_coherency) +{ + struct pipe_control *pc = ring->private; + return pc->cpu_page[0]; +} + +static bool +gen5_ring_get_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + if (!dev->irq_enabled) + return false; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (ring->irq_refcount++ == 0) { + dev_priv->gt_irq_mask &= ~ring->irq_enable_mask; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + POSTING_READ(GTIMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + return true; +} + +static void +gen5_ring_put_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (--ring->irq_refcount == 0) { + dev_priv->gt_irq_mask |= ring->irq_enable_mask; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + POSTING_READ(GTIMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); +} + +static bool +i9xx_ring_get_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + if (!dev->irq_enabled) + return false; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (ring->irq_refcount++ == 0) { + dev_priv->irq_mask &= ~ring->irq_enable_mask; + I915_WRITE(IMR, dev_priv->irq_mask); + POSTING_READ(IMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + return true; +} + +static void +i9xx_ring_put_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (--ring->irq_refcount == 0) { + dev_priv->irq_mask |= ring->irq_enable_mask; + I915_WRITE(IMR, dev_priv->irq_mask); + POSTING_READ(IMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); +} + +static bool +i8xx_ring_get_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + if (!dev->irq_enabled) + return false; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (ring->irq_refcount++ == 0) { + dev_priv->irq_mask &= ~ring->irq_enable_mask; + I915_WRITE16(IMR, dev_priv->irq_mask); + POSTING_READ16(IMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + return true; +} + +static void +i8xx_ring_put_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (--ring->irq_refcount == 0) { + dev_priv->irq_mask |= ring->irq_enable_mask; + I915_WRITE16(IMR, dev_priv->irq_mask); + POSTING_READ16(IMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); +} + +void intel_ring_setup_status_page(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = ring->dev->dev_private; + u32 mmio = 0; + + /* The ring status page addresses are no longer next to the rest of + * the ring registers as of gen7. + */ + if (IS_GEN7(dev)) { + switch (ring->id) { + case RCS: + mmio = RENDER_HWS_PGA_GEN7; + break; + case BCS: + mmio = BLT_HWS_PGA_GEN7; + break; + case VCS: + mmio = BSD_HWS_PGA_GEN7; + break; + } + } else if (IS_GEN6(ring->dev)) { + mmio = RING_HWS_PGA_GEN6(ring->mmio_base); + } else { + mmio = RING_HWS_PGA(ring->mmio_base); + } + + I915_WRITE(mmio, (u32)ring->status_page.gfx_addr); + POSTING_READ(mmio); +} + +static int +bsd_ring_flush(struct intel_ring_buffer *ring, + u32 invalidate_domains, + u32 flush_domains) +{ + int ret; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, MI_FLUSH); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + return 0; +} + +static int +i9xx_add_request(struct intel_ring_buffer *ring, + u32 *result) +{ + u32 seqno; + int ret; + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + seqno = i915_gem_next_request_seqno(ring); + + intel_ring_emit(ring, MI_STORE_DWORD_INDEX); + intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT); + intel_ring_emit(ring, seqno); + intel_ring_emit(ring, MI_USER_INTERRUPT); + intel_ring_advance(ring); + + *result = seqno; + return 0; +} + +static bool +gen6_ring_get_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + if (!dev->irq_enabled) + return false; + + /* It looks like we need to prevent the gt from suspending while waiting + * for an notifiy irq, otherwise irqs seem to get lost on at least the + * blt/bsd rings on ivb. */ + gen6_gt_force_wake_get(dev_priv); + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (ring->irq_refcount++ == 0) { + if (HAS_L3_GPU_CACHE(dev) && ring->id == RCS) + I915_WRITE_IMR(ring, ~(ring->irq_enable_mask | + GEN6_RENDER_L3_PARITY_ERROR)); + else + I915_WRITE_IMR(ring, ~ring->irq_enable_mask); + dev_priv->gt_irq_mask &= ~ring->irq_enable_mask; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + POSTING_READ(GTIMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + return true; +} + +static void +gen6_ring_put_irq(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + unsigned long flags; + + spin_lock_irqsave(&dev_priv->irq_lock, flags); + if (--ring->irq_refcount == 0) { + if (HAS_L3_GPU_CACHE(dev) && ring->id == RCS) + I915_WRITE_IMR(ring, ~GEN6_RENDER_L3_PARITY_ERROR); + else + I915_WRITE_IMR(ring, ~0); + dev_priv->gt_irq_mask |= ring->irq_enable_mask; + I915_WRITE(GTIMR, dev_priv->gt_irq_mask); + POSTING_READ(GTIMR); + } + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + + gen6_gt_force_wake_put(dev_priv); +} + +static int +i965_dispatch_execbuffer(struct intel_ring_buffer *ring, + u32 offset, u32 length, + unsigned flags) +{ + int ret; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, + MI_BATCH_BUFFER_START | + MI_BATCH_GTT | + (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_NON_SECURE_I965)); + intel_ring_emit(ring, offset); + intel_ring_advance(ring); + + return 0; +} + +static int +i830_dispatch_execbuffer(struct intel_ring_buffer *ring, + u32 offset, u32 len, + unsigned flags) +{ + int ret; + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + intel_ring_emit(ring, MI_BATCH_BUFFER); + intel_ring_emit(ring, offset | (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_NON_SECURE)); + intel_ring_emit(ring, offset + len - 8); + intel_ring_emit(ring, 0); + intel_ring_advance(ring); + + return 0; +} + +static int +i915_dispatch_execbuffer(struct intel_ring_buffer *ring, + u32 offset, u32 len, + unsigned flags) +{ + int ret; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, MI_BATCH_BUFFER_START | MI_BATCH_GTT); + intel_ring_emit(ring, offset | (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_NON_SECURE)); + intel_ring_advance(ring); + + return 0; +} + +static void cleanup_status_page(struct intel_ring_buffer *ring) +{ + struct drm_i915_gem_object *obj; + + obj = ring->status_page.obj; + if (obj == NULL) + return; + + kunmap(sg_page(obj->pages->sgl)); + i915_gem_object_unpin(obj); + drm_gem_object_unreference(&obj->base); + ring->status_page.obj = NULL; +} + +static int init_status_page(struct intel_ring_buffer *ring) +{ + struct drm_device *dev = ring->dev; + struct drm_i915_gem_object *obj; + int ret; + + obj = i915_gem_alloc_object(dev, 4096); + if (obj == NULL) { + DRM_ERROR("Failed to allocate status page\n"); + ret = -ENOMEM; + goto err; + } + + i915_gem_object_set_cache_level(obj, I915_CACHE_LLC); + + ret = i915_gem_object_pin(obj, 4096, true, false); + if (ret != 0) { + goto err_unref; + } + + ring->status_page.gfx_addr = obj->gtt_offset; + ring->status_page.page_addr = kmap(sg_page(obj->pages->sgl)); + if (ring->status_page.page_addr == NULL) { + ret = -ENOMEM; + goto err_unpin; + } + ring->status_page.obj = obj; + memset(ring->status_page.page_addr, 0, PAGE_SIZE); + + intel_ring_setup_status_page(ring); + DRM_DEBUG_DRIVER("%s hws offset: 0x%08x\n", + ring->name, ring->status_page.gfx_addr); + + return 0; + +err_unpin: + i915_gem_object_unpin(obj); +err_unref: + drm_gem_object_unreference(&obj->base); +err: + return ret; +} + +static int init_phys_hws_pga(struct intel_ring_buffer *ring) +{ + struct drm_i915_private *dev_priv = ring->dev->dev_private; + u32 addr; + + if (!dev_priv->status_page_dmah) { + dev_priv->status_page_dmah = + drm_pci_alloc(ring->dev, PAGE_SIZE, PAGE_SIZE); + if (!dev_priv->status_page_dmah) + return -ENOMEM; + } + + addr = dev_priv->status_page_dmah->busaddr; + if (INTEL_INFO(ring->dev)->gen >= 4) + addr |= (dev_priv->status_page_dmah->busaddr >> 28) & 0xf0; + I915_WRITE(HWS_PGA, addr); + + ring->status_page.page_addr = dev_priv->status_page_dmah->vaddr; + memset(ring->status_page.page_addr, 0, PAGE_SIZE); + + return 0; +} + +static int intel_init_ring_buffer(struct drm_device *dev, + struct intel_ring_buffer *ring) +{ + struct drm_i915_gem_object *obj; + struct drm_i915_private *dev_priv = dev->dev_private; + int ret; + + ring->dev = dev; + INIT_LIST_HEAD(&ring->active_list); + INIT_LIST_HEAD(&ring->request_list); + ring->size = 32 * PAGE_SIZE; + + init_waitqueue_head(&ring->irq_queue); + + if (I915_NEED_GFX_HWS(dev)) { + ret = init_status_page(ring); + if (ret) + return ret; + } else { + BUG_ON(ring->id != RCS); + ret = init_phys_hws_pga(ring); + if (ret) + return ret; + } + + obj = i915_gem_alloc_object(dev, ring->size); + if (obj == NULL) { + DRM_ERROR("Failed to allocate ringbuffer\n"); + ret = -ENOMEM; + goto err_hws; + } + + ring->obj = obj; + + ret = i915_gem_object_pin(obj, PAGE_SIZE, true, false); + if (ret) + goto err_unref; + + ret = i915_gem_object_set_to_gtt_domain(obj, true); + if (ret) + goto err_unpin; + + ring->virtual_start = + ioremap_wc(dev_priv->mm.gtt->gma_bus_addr + obj->gtt_offset, + ring->size); + if (ring->virtual_start == NULL) { + DRM_ERROR("Failed to map ringbuffer.\n"); + ret = -EINVAL; + goto err_unpin; + } + + ret = ring->init(ring); + if (ret) + goto err_unmap; + + /* Workaround an erratum on the i830 which causes a hang if + * the TAIL pointer points to within the last 2 cachelines + * of the buffer. + */ + ring->effective_size = ring->size; + if (IS_I830(ring->dev) || IS_845G(ring->dev)) + ring->effective_size -= 128; + + return 0; + +err_unmap: + iounmap(ring->virtual_start); +err_unpin: + i915_gem_object_unpin(obj); +err_unref: + drm_gem_object_unreference(&obj->base); + ring->obj = NULL; +err_hws: + cleanup_status_page(ring); + return ret; +} + +void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring) +{ + struct drm_i915_private *dev_priv; + int ret; + + if (ring->obj == NULL) + return; + + /* Disable the ring buffer. The ring must be idle at this point */ + dev_priv = ring->dev->dev_private; + ret = intel_wait_ring_idle(ring); + if (ret) + DRM_ERROR("failed to quiesce %s whilst cleaning up: %d\n", + ring->name, ret); + + I915_WRITE_CTL(ring, 0); + + iounmap(ring->virtual_start); + + i915_gem_object_unpin(ring->obj); + drm_gem_object_unreference(&ring->obj->base); + ring->obj = NULL; + + if (ring->cleanup) + ring->cleanup(ring); + + cleanup_status_page(ring); +} + +static int intel_wrap_ring_buffer(struct intel_ring_buffer *ring) +{ + uint32_t __iomem *virt; + int rem = ring->size - ring->tail; + + if (ring->space < rem) { + int ret = intel_wait_ring_buffer(ring, rem); + if (ret) + return ret; + } + + virt = ring->virtual_start + ring->tail; + rem /= 4; + while (rem--) + iowrite32(MI_NOOP, virt++); + + ring->tail = 0; + ring->space = ring_space(ring); + + return 0; +} + +static int intel_ring_wait_seqno(struct intel_ring_buffer *ring, u32 seqno) +{ + int ret; + + ret = i915_wait_seqno(ring, seqno); + if (!ret) + i915_gem_retire_requests_ring(ring); + + return ret; +} + +static int intel_ring_wait_request(struct intel_ring_buffer *ring, int n) +{ + struct drm_i915_gem_request *request; + u32 seqno = 0; + int ret; + + i915_gem_retire_requests_ring(ring); + + if (ring->last_retired_head != -1) { + ring->head = ring->last_retired_head; + ring->last_retired_head = -1; + ring->space = ring_space(ring); + if (ring->space >= n) + return 0; + } + + list_for_each_entry(request, &ring->request_list, list) { + int space; + + if (request->tail == -1) + continue; + + space = request->tail - (ring->tail + 8); + if (space < 0) + space += ring->size; + if (space >= n) { + seqno = request->seqno; + break; + } + + /* Consume this request in case we need more space than + * is available and so need to prevent a race between + * updating last_retired_head and direct reads of + * I915_RING_HEAD. It also provides a nice sanity check. + */ + request->tail = -1; + } + + if (seqno == 0) + return -ENOSPC; + + ret = intel_ring_wait_seqno(ring, seqno); + if (ret) + return ret; + + if (WARN_ON(ring->last_retired_head == -1)) + return -ENOSPC; + + ring->head = ring->last_retired_head; + ring->last_retired_head = -1; + ring->space = ring_space(ring); + if (WARN_ON(ring->space < n)) + return -ENOSPC; + + return 0; +} + +int intel_wait_ring_buffer(struct intel_ring_buffer *ring, int n) +{ + struct drm_device *dev = ring->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long end; + int ret; + + ret = intel_ring_wait_request(ring, n); + if (ret != -ENOSPC) + return ret; + + trace_i915_ring_wait_begin(ring); + /* With GEM the hangcheck timer should kick us out of the loop, + * leaving it early runs the risk of corrupting GEM state (due + * to running on almost untested codepaths). But on resume + * timers don't work yet, so prevent a complete hang in that + * case by choosing an insanely large timeout. */ + end = jiffies + 60 * HZ; + + do { + ring->head = I915_READ_HEAD(ring); + ring->space = ring_space(ring); + if (ring->space >= n) { + trace_i915_ring_wait_end(ring); + return 0; + } + + if (dev->primary->master) { + struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; + if (master_priv->sarea_priv) + master_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT; + } + + msleep(1); + + ret = i915_gem_check_wedge(dev_priv, dev_priv->mm.interruptible); + if (ret) + return ret; + } while (!time_after(jiffies, end)); + trace_i915_ring_wait_end(ring); + return -EBUSY; +} + +int intel_ring_begin(struct intel_ring_buffer *ring, + int num_dwords) +{ + drm_i915_private_t *dev_priv = ring->dev->dev_private; + int n = 4*num_dwords; + int ret; + + ret = i915_gem_check_wedge(dev_priv, dev_priv->mm.interruptible); + if (ret) + return ret; + + if (unlikely(ring->tail + n > ring->effective_size)) { + ret = intel_wrap_ring_buffer(ring); + if (unlikely(ret)) + return ret; + } + + if (unlikely(ring->space < n)) { + ret = intel_wait_ring_buffer(ring, n); + if (unlikely(ret)) + return ret; + } + + ring->space -= n; + return 0; +} + +void intel_ring_advance(struct intel_ring_buffer *ring) +{ + struct drm_i915_private *dev_priv = ring->dev->dev_private; + + ring->tail &= ring->size - 1; + if (dev_priv->stop_rings & intel_ring_flag(ring)) + return; + ring->write_tail(ring, ring->tail); +} + + +static void gen6_bsd_ring_write_tail(struct intel_ring_buffer *ring, + u32 value) +{ + drm_i915_private_t *dev_priv = ring->dev->dev_private; + + /* Every tail move must follow the sequence below */ + + /* Disable notification that the ring is IDLE. The GT + * will then assume that it is busy and bring it out of rc6. + */ + I915_WRITE(GEN6_BSD_SLEEP_PSMI_CONTROL, + _MASKED_BIT_ENABLE(GEN6_BSD_SLEEP_MSG_DISABLE)); + + /* Clear the context id. Here be magic! */ + I915_WRITE64(GEN6_BSD_RNCID, 0x0); + + /* Wait for the ring not to be idle, i.e. for it to wake up. */ + if (wait_for((I915_READ(GEN6_BSD_SLEEP_PSMI_CONTROL) & + GEN6_BSD_SLEEP_INDICATOR) == 0, + 50)) + DRM_ERROR("timed out waiting for the BSD ring to wake up\n"); + + /* Now that the ring is fully powered up, update the tail */ + I915_WRITE_TAIL(ring, value); + POSTING_READ(RING_TAIL(ring->mmio_base)); + + /* Let the ring send IDLE messages to the GT again, + * and so let it sleep to conserve power when idle. + */ + I915_WRITE(GEN6_BSD_SLEEP_PSMI_CONTROL, + _MASKED_BIT_DISABLE(GEN6_BSD_SLEEP_MSG_DISABLE)); +} + +static int gen6_ring_flush(struct intel_ring_buffer *ring, + u32 invalidate, u32 flush) +{ + uint32_t cmd; + int ret; + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + cmd = MI_FLUSH_DW; + /* + * Bspec vol 1c.5 - video engine command streamer: + * "If ENABLED, all TLBs will be invalidated once the flush + * operation is complete. This bit is only valid when the + * Post-Sync Operation field is a value of 1h or 3h." + */ + if (invalidate & I915_GEM_GPU_DOMAINS) + cmd |= MI_INVALIDATE_TLB | MI_INVALIDATE_BSD | + MI_FLUSH_DW_STORE_INDEX | MI_FLUSH_DW_OP_STOREDW; + intel_ring_emit(ring, cmd); + intel_ring_emit(ring, I915_GEM_HWS_SCRATCH_ADDR | MI_FLUSH_DW_USE_GTT); + intel_ring_emit(ring, 0); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + return 0; +} + +static int +hsw_ring_dispatch_execbuffer(struct intel_ring_buffer *ring, + u32 offset, u32 len, + unsigned flags) +{ + int ret; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, + MI_BATCH_BUFFER_START | MI_BATCH_PPGTT_HSW | + (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_NON_SECURE_HSW)); + /* bit0-7 is the length on GEN6+ */ + intel_ring_emit(ring, offset); + intel_ring_advance(ring); + + return 0; +} + +static int +gen6_ring_dispatch_execbuffer(struct intel_ring_buffer *ring, + u32 offset, u32 len, + unsigned flags) +{ + int ret; + + ret = intel_ring_begin(ring, 2); + if (ret) + return ret; + + intel_ring_emit(ring, + MI_BATCH_BUFFER_START | + (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_NON_SECURE_I965)); + /* bit0-7 is the length on GEN6+ */ + intel_ring_emit(ring, offset); + intel_ring_advance(ring); + + return 0; +} + +/* Blitter support (SandyBridge+) */ + +static int blt_ring_flush(struct intel_ring_buffer *ring, + u32 invalidate, u32 flush) +{ + uint32_t cmd; + int ret; + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + cmd = MI_FLUSH_DW; + /* + * Bspec vol 1c.3 - blitter engine command streamer: + * "If ENABLED, all TLBs will be invalidated once the flush + * operation is complete. This bit is only valid when the + * Post-Sync Operation field is a value of 1h or 3h." + */ + if (invalidate & I915_GEM_DOMAIN_RENDER) + cmd |= MI_INVALIDATE_TLB | MI_FLUSH_DW_STORE_INDEX | + MI_FLUSH_DW_OP_STOREDW; + intel_ring_emit(ring, cmd); + intel_ring_emit(ring, I915_GEM_HWS_SCRATCH_ADDR | MI_FLUSH_DW_USE_GTT); + intel_ring_emit(ring, 0); + intel_ring_emit(ring, MI_NOOP); + intel_ring_advance(ring); + return 0; +} + +int intel_init_render_ring_buffer(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + + ring->name = "render ring"; + ring->id = RCS; + ring->mmio_base = RENDER_RING_BASE; + + if (INTEL_INFO(dev)->gen >= 6) { + ring->add_request = gen6_add_request; + ring->flush = gen7_render_ring_flush; + if (INTEL_INFO(dev)->gen == 6) + ring->flush = gen6_render_ring_flush; + ring->irq_get = gen6_ring_get_irq; + ring->irq_put = gen6_ring_put_irq; + ring->irq_enable_mask = GT_USER_INTERRUPT; + ring->get_seqno = gen6_ring_get_seqno; + ring->sync_to = gen6_ring_sync; + ring->semaphore_register[0] = MI_SEMAPHORE_SYNC_INVALID; + ring->semaphore_register[1] = MI_SEMAPHORE_SYNC_RV; + ring->semaphore_register[2] = MI_SEMAPHORE_SYNC_RB; + ring->signal_mbox[0] = GEN6_VRSYNC; + ring->signal_mbox[1] = GEN6_BRSYNC; + } else if (IS_GEN5(dev)) { + ring->add_request = pc_render_add_request; + ring->flush = gen4_render_ring_flush; + ring->get_seqno = pc_render_get_seqno; + ring->irq_get = gen5_ring_get_irq; + ring->irq_put = gen5_ring_put_irq; + ring->irq_enable_mask = GT_USER_INTERRUPT | GT_PIPE_NOTIFY; + } else { + ring->add_request = i9xx_add_request; + if (INTEL_INFO(dev)->gen < 4) + ring->flush = gen2_render_ring_flush; + else + ring->flush = gen4_render_ring_flush; + ring->get_seqno = ring_get_seqno; + if (IS_GEN2(dev)) { + ring->irq_get = i8xx_ring_get_irq; + ring->irq_put = i8xx_ring_put_irq; + } else { + ring->irq_get = i9xx_ring_get_irq; + ring->irq_put = i9xx_ring_put_irq; + } + ring->irq_enable_mask = I915_USER_INTERRUPT; + } + ring->write_tail = ring_write_tail; + if (IS_HASWELL(dev)) + ring->dispatch_execbuffer = hsw_ring_dispatch_execbuffer; + else if (INTEL_INFO(dev)->gen >= 6) + ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer; + else if (INTEL_INFO(dev)->gen >= 4) + ring->dispatch_execbuffer = i965_dispatch_execbuffer; + else if (IS_I830(dev) || IS_845G(dev)) + ring->dispatch_execbuffer = i830_dispatch_execbuffer; + else + ring->dispatch_execbuffer = i915_dispatch_execbuffer; + ring->init = init_render_ring; + ring->cleanup = render_ring_cleanup; + + return intel_init_ring_buffer(dev, ring); +} + +int intel_render_ring_init_dri(struct drm_device *dev, u64 start, u32 size) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + int ret; + + ring->name = "render ring"; + ring->id = RCS; + ring->mmio_base = RENDER_RING_BASE; + + if (INTEL_INFO(dev)->gen >= 6) { + /* non-kms not supported on gen6+ */ + return -ENODEV; + } + + /* Note: gem is not supported on gen5/ilk without kms (the corresponding + * gem_init ioctl returns with -ENODEV). Hence we do not need to set up + * the special gen5 functions. */ + ring->add_request = i9xx_add_request; + if (INTEL_INFO(dev)->gen < 4) + ring->flush = gen2_render_ring_flush; + else + ring->flush = gen4_render_ring_flush; + ring->get_seqno = ring_get_seqno; + if (IS_GEN2(dev)) { + ring->irq_get = i8xx_ring_get_irq; + ring->irq_put = i8xx_ring_put_irq; + } else { + ring->irq_get = i9xx_ring_get_irq; + ring->irq_put = i9xx_ring_put_irq; + } + ring->irq_enable_mask = I915_USER_INTERRUPT; + ring->write_tail = ring_write_tail; + if (INTEL_INFO(dev)->gen >= 4) + ring->dispatch_execbuffer = i965_dispatch_execbuffer; + else if (IS_I830(dev) || IS_845G(dev)) + ring->dispatch_execbuffer = i830_dispatch_execbuffer; + else + ring->dispatch_execbuffer = i915_dispatch_execbuffer; + ring->init = init_render_ring; + ring->cleanup = render_ring_cleanup; + + ring->dev = dev; + INIT_LIST_HEAD(&ring->active_list); + INIT_LIST_HEAD(&ring->request_list); + + ring->size = size; + ring->effective_size = ring->size; + if (IS_I830(ring->dev) || IS_845G(ring->dev)) + ring->effective_size -= 128; + + ring->virtual_start = ioremap_wc(start, size); + if (ring->virtual_start == NULL) { + DRM_ERROR("can not ioremap virtual address for" + " ring buffer\n"); + return -ENOMEM; + } + + if (!I915_NEED_GFX_HWS(dev)) { + ret = init_phys_hws_pga(ring); + if (ret) + return ret; + } + + return 0; +} + +int intel_init_bsd_ring_buffer(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[VCS]; + + ring->name = "bsd ring"; + ring->id = VCS; + + ring->write_tail = ring_write_tail; + if (IS_GEN6(dev) || IS_GEN7(dev)) { + ring->mmio_base = GEN6_BSD_RING_BASE; + /* gen6 bsd needs a special wa for tail updates */ + if (IS_GEN6(dev)) + ring->write_tail = gen6_bsd_ring_write_tail; + ring->flush = gen6_ring_flush; + ring->add_request = gen6_add_request; + ring->get_seqno = gen6_ring_get_seqno; + ring->irq_enable_mask = GEN6_BSD_USER_INTERRUPT; + ring->irq_get = gen6_ring_get_irq; + ring->irq_put = gen6_ring_put_irq; + ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer; + ring->sync_to = gen6_ring_sync; + ring->semaphore_register[0] = MI_SEMAPHORE_SYNC_VR; + ring->semaphore_register[1] = MI_SEMAPHORE_SYNC_INVALID; + ring->semaphore_register[2] = MI_SEMAPHORE_SYNC_VB; + ring->signal_mbox[0] = GEN6_RVSYNC; + ring->signal_mbox[1] = GEN6_BVSYNC; + } else { + ring->mmio_base = BSD_RING_BASE; + ring->flush = bsd_ring_flush; + ring->add_request = i9xx_add_request; + ring->get_seqno = ring_get_seqno; + if (IS_GEN5(dev)) { + ring->irq_enable_mask = GT_BSD_USER_INTERRUPT; + ring->irq_get = gen5_ring_get_irq; + ring->irq_put = gen5_ring_put_irq; + } else { + ring->irq_enable_mask = I915_BSD_USER_INTERRUPT; + ring->irq_get = i9xx_ring_get_irq; + ring->irq_put = i9xx_ring_put_irq; + } + ring->dispatch_execbuffer = i965_dispatch_execbuffer; + } + ring->init = init_ring_common; + + return intel_init_ring_buffer(dev, ring); +} + +int intel_init_blt_ring_buffer(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[BCS]; + + ring->name = "blitter ring"; + ring->id = BCS; + + ring->mmio_base = BLT_RING_BASE; + ring->write_tail = ring_write_tail; + ring->flush = blt_ring_flush; + ring->add_request = gen6_add_request; + ring->get_seqno = gen6_ring_get_seqno; + ring->irq_enable_mask = GEN6_BLITTER_USER_INTERRUPT; + ring->irq_get = gen6_ring_get_irq; + ring->irq_put = gen6_ring_put_irq; + ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer; + ring->sync_to = gen6_ring_sync; + ring->semaphore_register[0] = MI_SEMAPHORE_SYNC_BR; + ring->semaphore_register[1] = MI_SEMAPHORE_SYNC_BV; + ring->semaphore_register[2] = MI_SEMAPHORE_SYNC_INVALID; + ring->signal_mbox[0] = GEN6_RBSYNC; + ring->signal_mbox[1] = GEN6_VBSYNC; + ring->init = init_ring_common; + + return intel_init_ring_buffer(dev, ring); +} + +int +intel_ring_flush_all_caches(struct intel_ring_buffer *ring) +{ + int ret; + + if (!ring->gpu_caches_dirty) + return 0; + + ret = ring->flush(ring, 0, I915_GEM_GPU_DOMAINS); + if (ret) + return ret; + + trace_i915_gem_ring_flush(ring, 0, I915_GEM_GPU_DOMAINS); + + ring->gpu_caches_dirty = false; + return 0; +} + +int +intel_ring_invalidate_all_caches(struct intel_ring_buffer *ring) +{ + uint32_t flush_domains; + int ret; + + flush_domains = 0; + if (ring->gpu_caches_dirty) + flush_domains = I915_GEM_GPU_DOMAINS; + + ret = ring->flush(ring, I915_GEM_GPU_DOMAINS, flush_domains); + if (ret) + return ret; + + trace_i915_gem_ring_flush(ring, I915_GEM_GPU_DOMAINS, flush_domains); + + ring->gpu_caches_dirty = false; + return 0; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_ringbuffer.h +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_ringbuffer.h @@ -0,0 +1,233 @@ +#ifndef _INTEL_RINGBUFFER_H_ +#define _INTEL_RINGBUFFER_H_ + +struct intel_hw_status_page { + u32 *page_addr; + unsigned int gfx_addr; + struct drm_i915_gem_object *obj; +}; + +#define I915_READ_TAIL(ring) I915_READ(RING_TAIL((ring)->mmio_base)) +#define I915_WRITE_TAIL(ring, val) I915_WRITE(RING_TAIL((ring)->mmio_base), val) + +#define I915_READ_START(ring) I915_READ(RING_START((ring)->mmio_base)) +#define I915_WRITE_START(ring, val) I915_WRITE(RING_START((ring)->mmio_base), val) + +#define I915_READ_HEAD(ring) I915_READ(RING_HEAD((ring)->mmio_base)) +#define I915_WRITE_HEAD(ring, val) I915_WRITE(RING_HEAD((ring)->mmio_base), val) + +#define I915_READ_CTL(ring) I915_READ(RING_CTL((ring)->mmio_base)) +#define I915_WRITE_CTL(ring, val) I915_WRITE(RING_CTL((ring)->mmio_base), val) + +#define I915_READ_IMR(ring) I915_READ(RING_IMR((ring)->mmio_base)) +#define I915_WRITE_IMR(ring, val) I915_WRITE(RING_IMR((ring)->mmio_base), val) + +#define I915_READ_NOPID(ring) I915_READ(RING_NOPID((ring)->mmio_base)) +#define I915_READ_SYNC_0(ring) I915_READ(RING_SYNC_0((ring)->mmio_base)) +#define I915_READ_SYNC_1(ring) I915_READ(RING_SYNC_1((ring)->mmio_base)) + +struct intel_ring_buffer { + const char *name; + enum intel_ring_id { + RCS = 0x0, + VCS, + BCS, + } id; +#define I915_NUM_RINGS 3 + u32 mmio_base; + void __iomem *virtual_start; + struct drm_device *dev; + struct drm_i915_gem_object *obj; + + u32 head; + u32 tail; + int space; + int size; + int effective_size; + struct intel_hw_status_page status_page; + + /** We track the position of the requests in the ring buffer, and + * when each is retired we increment last_retired_head as the GPU + * must have finished processing the request and so we know we + * can advance the ringbuffer up to that position. + * + * last_retired_head is set to -1 after the value is consumed so + * we can detect new retirements. + */ + u32 last_retired_head; + + u32 irq_refcount; /* protected by dev_priv->irq_lock */ + u32 irq_enable_mask; /* bitmask to enable ring interrupt */ + u32 trace_irq_seqno; + u32 sync_seqno[I915_NUM_RINGS-1]; + bool __must_check (*irq_get)(struct intel_ring_buffer *ring); + void (*irq_put)(struct intel_ring_buffer *ring); + + int (*init)(struct intel_ring_buffer *ring); + + void (*write_tail)(struct intel_ring_buffer *ring, + u32 value); + int __must_check (*flush)(struct intel_ring_buffer *ring, + u32 invalidate_domains, + u32 flush_domains); + int (*add_request)(struct intel_ring_buffer *ring, + u32 *seqno); + /* Some chipsets are not quite as coherent as advertised and need + * an expensive kick to force a true read of the up-to-date seqno. + * However, the up-to-date seqno is not always required and the last + * seen value is good enough. Note that the seqno will always be + * monotonic, even if not coherent. + */ + u32 (*get_seqno)(struct intel_ring_buffer *ring, + bool lazy_coherency); + int (*dispatch_execbuffer)(struct intel_ring_buffer *ring, + u32 offset, u32 length, + unsigned flags); +#define I915_DISPATCH_SECURE 0x1 + void (*cleanup)(struct intel_ring_buffer *ring); + int (*sync_to)(struct intel_ring_buffer *ring, + struct intel_ring_buffer *to, + u32 seqno); + + u32 semaphore_register[3]; /*our mbox written by others */ + u32 signal_mbox[2]; /* mboxes this ring signals to */ + /** + * List of objects currently involved in rendering from the + * ringbuffer. + * + * Includes buffers having the contents of their GPU caches + * flushed, not necessarily primitives. last_rendering_seqno + * represents when the rendering involved will be completed. + * + * A reference is held on the buffer while on this list. + */ + struct list_head active_list; + + /** + * List of breadcrumbs associated with GPU requests currently + * outstanding. + */ + struct list_head request_list; + + /** + * Do we have some not yet emitted requests outstanding? + */ + u32 outstanding_lazy_request; + bool gpu_caches_dirty; + + wait_queue_head_t irq_queue; + + /** + * Do an explicit TLB flush before MI_SET_CONTEXT + */ + bool itlb_before_ctx_switch; + struct i915_hw_context *default_context; + struct drm_i915_gem_object *last_context_obj; + + void *private; +}; + +static inline bool +intel_ring_initialized(struct intel_ring_buffer *ring) +{ + return ring->obj != NULL; +} + +static inline unsigned +intel_ring_flag(struct intel_ring_buffer *ring) +{ + return 1 << ring->id; +} + +static inline u32 +intel_ring_sync_index(struct intel_ring_buffer *ring, + struct intel_ring_buffer *other) +{ + int idx; + + /* + * cs -> 0 = vcs, 1 = bcs + * vcs -> 0 = bcs, 1 = cs, + * bcs -> 0 = cs, 1 = vcs. + */ + + idx = (other - ring) - 1; + if (idx < 0) + idx += I915_NUM_RINGS; + + return idx; +} + +static inline u32 +intel_read_status_page(struct intel_ring_buffer *ring, + int reg) +{ + /* Ensure that the compiler doesn't optimize away the load. */ + barrier(); + return ring->status_page.page_addr[reg]; +} + +/** + * Reads a dword out of the status page, which is written to from the command + * queue by automatic updates, MI_REPORT_HEAD, MI_STORE_DATA_INDEX, or + * MI_STORE_DATA_IMM. + * + * The following dwords have a reserved meaning: + * 0x00: ISR copy, updated when an ISR bit not set in the HWSTAM changes. + * 0x04: ring 0 head pointer + * 0x05: ring 1 head pointer (915-class) + * 0x06: ring 2 head pointer (915-class) + * 0x10-0x1b: Context status DWords (GM45) + * 0x1f: Last written status offset. (GM45) + * + * The area from dword 0x20 to 0x3ff is available for driver usage. + */ +#define I915_GEM_HWS_INDEX 0x20 +#define I915_GEM_HWS_SCRATCH_INDEX 0x30 +#define I915_GEM_HWS_SCRATCH_ADDR (I915_GEM_HWS_SCRATCH_INDEX << MI_STORE_DWORD_INDEX_SHIFT) + +void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring); + +int __must_check intel_wait_ring_buffer(struct intel_ring_buffer *ring, int n); +static inline int intel_wait_ring_idle(struct intel_ring_buffer *ring) +{ + return intel_wait_ring_buffer(ring, ring->size - 8); +} + +int __must_check intel_ring_begin(struct intel_ring_buffer *ring, int n); + +static inline void intel_ring_emit(struct intel_ring_buffer *ring, + u32 data) +{ + iowrite32(data, ring->virtual_start + ring->tail); + ring->tail += 4; +} + +void intel_ring_advance(struct intel_ring_buffer *ring); + +u32 intel_ring_get_seqno(struct intel_ring_buffer *ring); +int intel_ring_flush_all_caches(struct intel_ring_buffer *ring); +int intel_ring_invalidate_all_caches(struct intel_ring_buffer *ring); + +int intel_init_render_ring_buffer(struct drm_device *dev); +int intel_init_bsd_ring_buffer(struct drm_device *dev); +int intel_init_blt_ring_buffer(struct drm_device *dev); + +u32 intel_ring_get_active_head(struct intel_ring_buffer *ring); +void intel_ring_setup_status_page(struct intel_ring_buffer *ring); + +static inline u32 intel_ring_get_tail(struct intel_ring_buffer *ring) +{ + return ring->tail; +} + +static inline void i915_trace_irq_get(struct intel_ring_buffer *ring, u32 seqno) +{ + if (ring->trace_irq_seqno == 0 && ring->irq_get(ring)) + ring->trace_irq_seqno = seqno; +} + +/* DRI warts */ +int intel_render_ring_init_dri(struct drm_device *dev, u64 start, u32 size); + +#endif /* _INTEL_RINGBUFFER_H_ */ --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_sdvo.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_sdvo.c @@ -0,0 +1,2815 @@ +/* + * Copyright 2006 Dave Airlie + * Copyright © 2006-2007 Intel Corporation + * Jesse Barnes + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + */ +#include +#include +#include +#include +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_edid.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "intel_sdvo_regs.h" + +#define SDVO_TMDS_MASK (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1) +#define SDVO_RGB_MASK (SDVO_OUTPUT_RGB0 | SDVO_OUTPUT_RGB1) +#define SDVO_LVDS_MASK (SDVO_OUTPUT_LVDS0 | SDVO_OUTPUT_LVDS1) +#define SDVO_TV_MASK (SDVO_OUTPUT_CVBS0 | SDVO_OUTPUT_SVID0 | SDVO_OUTPUT_YPRPB0) + +#define SDVO_OUTPUT_MASK (SDVO_TMDS_MASK | SDVO_RGB_MASK | SDVO_LVDS_MASK |\ + SDVO_TV_MASK) + +#define IS_TV(c) (c->output_flag & SDVO_TV_MASK) +#define IS_TMDS(c) (c->output_flag & SDVO_TMDS_MASK) +#define IS_LVDS(c) (c->output_flag & SDVO_LVDS_MASK) +#define IS_TV_OR_LVDS(c) (c->output_flag & (SDVO_TV_MASK | SDVO_LVDS_MASK)) +#define IS_DIGITAL(c) (c->output_flag & (SDVO_TMDS_MASK | SDVO_LVDS_MASK)) + + +static const char *tv_format_names[] = { + "NTSC_M" , "NTSC_J" , "NTSC_443", + "PAL_B" , "PAL_D" , "PAL_G" , + "PAL_H" , "PAL_I" , "PAL_M" , + "PAL_N" , "PAL_NC" , "PAL_60" , + "SECAM_B" , "SECAM_D" , "SECAM_G" , + "SECAM_K" , "SECAM_K1", "SECAM_L" , + "SECAM_60" +}; + +#define TV_FORMAT_NUM (sizeof(tv_format_names) / sizeof(*tv_format_names)) + +struct intel_sdvo { + struct intel_encoder base; + + struct i2c_adapter *i2c; + u8 slave_addr; + + struct i2c_adapter ddc; + + /* Register for the SDVO device: SDVOB or SDVOC */ + uint32_t sdvo_reg; + + /* Active outputs controlled by this SDVO output */ + uint16_t controlled_output; + + /* + * Capabilities of the SDVO device returned by + * i830_sdvo_get_capabilities() + */ + struct intel_sdvo_caps caps; + + /* Pixel clock limitations reported by the SDVO device, in kHz */ + int pixel_clock_min, pixel_clock_max; + + /* + * For multiple function SDVO device, + * this is for current attached outputs. + */ + uint16_t attached_output; + + /* + * Hotplug activation bits for this device + */ + uint16_t hotplug_active; + + /** + * This is used to select the color range of RBG outputs in HDMI mode. + * It is only valid when using TMDS encoding and 8 bit per color mode. + */ + uint32_t color_range; + + /** + * This is set if we're going to treat the device as TV-out. + * + * While we have these nice friendly flags for output types that ought + * to decide this for us, the S-Video output on our HDMI+S-Video card + * shows up as RGB1 (VGA). + */ + bool is_tv; + + /* On different gens SDVOB is at different places. */ + bool is_sdvob; + + /* This is for current tv format name */ + int tv_format_index; + + /** + * This is set if we treat the device as HDMI, instead of DVI. + */ + bool is_hdmi; + bool has_hdmi_monitor; + bool has_hdmi_audio; + + /** + * This is set if we detect output of sdvo device as LVDS and + * have a valid fixed mode to use with the panel. + */ + bool is_lvds; + + /** + * This is sdvo fixed pannel mode pointer + */ + struct drm_display_mode *sdvo_lvds_fixed_mode; + + /* DDC bus used by this SDVO encoder */ + uint8_t ddc_bus; + + /* + * the sdvo flag gets lost in round trip: dtd->adjusted_mode->dtd + */ + uint8_t dtd_sdvo_flags; +}; + +struct intel_sdvo_connector { + struct intel_connector base; + + /* Mark the type of connector */ + uint16_t output_flag; + + enum hdmi_force_audio force_audio; + + /* This contains all current supported TV format */ + u8 tv_format_supported[TV_FORMAT_NUM]; + int format_supported_num; + struct drm_property *tv_format; + + /* add the property for the SDVO-TV */ + struct drm_property *left; + struct drm_property *right; + struct drm_property *top; + struct drm_property *bottom; + struct drm_property *hpos; + struct drm_property *vpos; + struct drm_property *contrast; + struct drm_property *saturation; + struct drm_property *hue; + struct drm_property *sharpness; + struct drm_property *flicker_filter; + struct drm_property *flicker_filter_adaptive; + struct drm_property *flicker_filter_2d; + struct drm_property *tv_chroma_filter; + struct drm_property *tv_luma_filter; + struct drm_property *dot_crawl; + + /* add the property for the SDVO-TV/LVDS */ + struct drm_property *brightness; + + /* Add variable to record current setting for the above property */ + u32 left_margin, right_margin, top_margin, bottom_margin; + + /* this is to get the range of margin.*/ + u32 max_hscan, max_vscan; + u32 max_hpos, cur_hpos; + u32 max_vpos, cur_vpos; + u32 cur_brightness, max_brightness; + u32 cur_contrast, max_contrast; + u32 cur_saturation, max_saturation; + u32 cur_hue, max_hue; + u32 cur_sharpness, max_sharpness; + u32 cur_flicker_filter, max_flicker_filter; + u32 cur_flicker_filter_adaptive, max_flicker_filter_adaptive; + u32 cur_flicker_filter_2d, max_flicker_filter_2d; + u32 cur_tv_chroma_filter, max_tv_chroma_filter; + u32 cur_tv_luma_filter, max_tv_luma_filter; + u32 cur_dot_crawl, max_dot_crawl; +}; + +static struct intel_sdvo *to_intel_sdvo(struct drm_encoder *encoder) +{ + return container_of(encoder, struct intel_sdvo, base.base); +} + +static struct intel_sdvo *intel_attached_sdvo(struct drm_connector *connector) +{ + return container_of(intel_attached_encoder(connector), + struct intel_sdvo, base); +} + +static struct intel_sdvo_connector *to_intel_sdvo_connector(struct drm_connector *connector) +{ + return container_of(to_intel_connector(connector), struct intel_sdvo_connector, base); +} + +static bool +intel_sdvo_output_setup(struct intel_sdvo *intel_sdvo, uint16_t flags); +static bool +intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_connector *intel_sdvo_connector, + int type); +static bool +intel_sdvo_create_enhance_property(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_connector *intel_sdvo_connector); + +/** + * Writes the SDVOB or SDVOC with the given value, but always writes both + * SDVOB and SDVOC to work around apparent hardware issues (according to + * comments in the BIOS). + */ +static void intel_sdvo_write_sdvox(struct intel_sdvo *intel_sdvo, u32 val) +{ + struct drm_device *dev = intel_sdvo->base.base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 bval = val, cval = val; + int i; + + if (intel_sdvo->sdvo_reg == PCH_SDVOB) { + I915_WRITE(intel_sdvo->sdvo_reg, val); + I915_READ(intel_sdvo->sdvo_reg); + return; + } + + if (intel_sdvo->sdvo_reg == SDVOB) { + cval = I915_READ(SDVOC); + } else { + bval = I915_READ(SDVOB); + } + /* + * Write the registers twice for luck. Sometimes, + * writing them only once doesn't appear to 'stick'. + * The BIOS does this too. Yay, magic + */ + for (i = 0; i < 2; i++) + { + I915_WRITE(SDVOB, bval); + I915_READ(SDVOB); + I915_WRITE(SDVOC, cval); + I915_READ(SDVOC); + } +} + +static bool intel_sdvo_read_byte(struct intel_sdvo *intel_sdvo, u8 addr, u8 *ch) +{ + struct i2c_msg msgs[] = { + { + .addr = intel_sdvo->slave_addr, + .flags = 0, + .len = 1, + .buf = &addr, + }, + { + .addr = intel_sdvo->slave_addr, + .flags = I2C_M_RD, + .len = 1, + .buf = ch, + } + }; + int ret; + + if ((ret = i2c_transfer(intel_sdvo->i2c, msgs, 2)) == 2) + return true; + + DRM_DEBUG_KMS("i2c transfer returned %d\n", ret); + return false; +} + +#define SDVO_CMD_NAME_ENTRY(cmd) {cmd, #cmd} +/** Mapping of command numbers to names, for debug output */ +static const struct _sdvo_cmd_name { + u8 cmd; + const char *name; +} sdvo_cmd_names[] = { + SDVO_CMD_NAME_ENTRY(SDVO_CMD_RESET), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_DEVICE_CAPS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_FIRMWARE_REV), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_TRAINED_INPUTS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_ACTIVE_OUTPUTS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_ACTIVE_OUTPUTS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_IN_OUT_MAP), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_IN_OUT_MAP), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_ATTACHED_DISPLAYS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HOT_PLUG_SUPPORT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_ACTIVE_HOT_PLUG), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_ACTIVE_HOT_PLUG), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_INTERRUPT_EVENT_SOURCE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_TARGET_INPUT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_TARGET_OUTPUT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_INPUT_TIMINGS_PART1), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_INPUT_TIMINGS_PART2), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_INPUT_TIMINGS_PART1), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_INPUT_TIMINGS_PART2), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_INPUT_TIMINGS_PART1), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_OUTPUT_TIMINGS_PART1), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_OUTPUT_TIMINGS_PART2), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_OUTPUT_TIMINGS_PART1), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_OUTPUT_TIMINGS_PART2), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_CREATE_PREFERRED_INPUT_TIMING), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART1), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART2), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_OUTPUT_PIXEL_CLOCK_RANGE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SUPPORTED_CLOCK_RATE_MULTS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_CLOCK_RATE_MULT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_CLOCK_RATE_MULT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SUPPORTED_TV_FORMATS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_TV_FORMAT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_TV_FORMAT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SUPPORTED_POWER_STATES), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_POWER_STATE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_ENCODER_POWER_STATE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_DISPLAY_POWER_STATE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_CONTROL_BUS_SWITCH), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SDTV_RESOLUTION_SUPPORT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SCALED_HDTV_RESOLUTION_SUPPORT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS), + + /* Add the op code for SDVO enhancements */ + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_HPOS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HPOS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_HPOS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_VPOS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_VPOS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_VPOS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_SATURATION), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SATURATION), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_SATURATION), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_HUE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HUE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_HUE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_CONTRAST), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_CONTRAST), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_CONTRAST), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_BRIGHTNESS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_BRIGHTNESS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_BRIGHTNESS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_OVERSCAN_H), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_OVERSCAN_H), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_OVERSCAN_H), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_OVERSCAN_V), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_OVERSCAN_V), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_OVERSCAN_V), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_FLICKER_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_FLICKER_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_FLICKER_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_FLICKER_FILTER_ADAPTIVE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_FLICKER_FILTER_ADAPTIVE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_FLICKER_FILTER_ADAPTIVE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_FLICKER_FILTER_2D), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_FLICKER_FILTER_2D), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_FLICKER_FILTER_2D), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_SHARPNESS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SHARPNESS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_SHARPNESS), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_DOT_CRAWL), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_DOT_CRAWL), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_TV_CHROMA_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_TV_CHROMA_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_TV_CHROMA_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_MAX_TV_LUMA_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_TV_LUMA_FILTER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_TV_LUMA_FILTER), + + /* HDMI op code */ + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_SUPP_ENCODE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_ENCODE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_ENCODE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_PIXEL_REPLI), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_PIXEL_REPLI), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_COLORIMETRY_CAP), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_COLORIMETRY), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_COLORIMETRY), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_AUDIO_ENCRYPT_PREFER), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_AUDIO_STAT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_AUDIO_STAT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HBUF_INDEX), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_HBUF_INDEX), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HBUF_INFO), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HBUF_AV_SPLIT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_HBUF_AV_SPLIT), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HBUF_TXRATE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_HBUF_TXRATE), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_SET_HBUF_DATA), + SDVO_CMD_NAME_ENTRY(SDVO_CMD_GET_HBUF_DATA), +}; + +#define SDVO_NAME(svdo) ((svdo)->is_sdvob ? "SDVOB" : "SDVOC") + +static void intel_sdvo_debug_write(struct intel_sdvo *intel_sdvo, u8 cmd, + const void *args, int args_len) +{ + int i; + + DRM_DEBUG_KMS("%s: W: %02X ", + SDVO_NAME(intel_sdvo), cmd); + for (i = 0; i < args_len; i++) + DRM_LOG_KMS("%02X ", ((u8 *)args)[i]); + for (; i < 8; i++) + DRM_LOG_KMS(" "); + for (i = 0; i < ARRAY_SIZE(sdvo_cmd_names); i++) { + if (cmd == sdvo_cmd_names[i].cmd) { + DRM_LOG_KMS("(%s)", sdvo_cmd_names[i].name); + break; + } + } + if (i == ARRAY_SIZE(sdvo_cmd_names)) + DRM_LOG_KMS("(%02X)", cmd); + DRM_LOG_KMS("\n"); +} + +static const char *cmd_status_names[] = { + "Power on", + "Success", + "Not supported", + "Invalid arg", + "Pending", + "Target not specified", + "Scaling not supported" +}; + +static bool intel_sdvo_write_cmd(struct intel_sdvo *intel_sdvo, u8 cmd, + const void *args, int args_len) +{ + u8 *buf, status; + struct i2c_msg *msgs; + int i, ret = true; + + /* Would be simpler to allocate both in one go ? */ + buf = (u8 *)kzalloc(args_len * 2 + 2, GFP_KERNEL); + if (!buf) + return false; + + msgs = kcalloc(args_len + 3, sizeof(*msgs), GFP_KERNEL); + if (!msgs) { + kfree(buf); + return false; + } + + intel_sdvo_debug_write(intel_sdvo, cmd, args, args_len); + + for (i = 0; i < args_len; i++) { + msgs[i].addr = intel_sdvo->slave_addr; + msgs[i].flags = 0; + msgs[i].len = 2; + msgs[i].buf = buf + 2 *i; + buf[2*i + 0] = SDVO_I2C_ARG_0 - i; + buf[2*i + 1] = ((u8*)args)[i]; + } + msgs[i].addr = intel_sdvo->slave_addr; + msgs[i].flags = 0; + msgs[i].len = 2; + msgs[i].buf = buf + 2*i; + buf[2*i + 0] = SDVO_I2C_OPCODE; + buf[2*i + 1] = cmd; + + /* the following two are to read the response */ + status = SDVO_I2C_CMD_STATUS; + msgs[i+1].addr = intel_sdvo->slave_addr; + msgs[i+1].flags = 0; + msgs[i+1].len = 1; + msgs[i+1].buf = &status; + + msgs[i+2].addr = intel_sdvo->slave_addr; + msgs[i+2].flags = I2C_M_RD; + msgs[i+2].len = 1; + msgs[i+2].buf = &status; + + ret = i2c_transfer(intel_sdvo->i2c, msgs, i+3); + if (ret < 0) { + DRM_DEBUG_KMS("I2c transfer returned %d\n", ret); + ret = false; + goto out; + } + if (ret != i+3) { + /* failure in I2C transfer */ + DRM_DEBUG_KMS("I2c transfer returned %d/%d\n", ret, i+3); + ret = false; + } + +out: + kfree(msgs); + kfree(buf); + return ret; +} + +static bool intel_sdvo_read_response(struct intel_sdvo *intel_sdvo, + void *response, int response_len) +{ + u8 retry = 5; + u8 status; + int i; + + DRM_DEBUG_KMS("%s: R: ", SDVO_NAME(intel_sdvo)); + + /* + * The documentation states that all commands will be + * processed within 15µs, and that we need only poll + * the status byte a maximum of 3 times in order for the + * command to be complete. + * + * Check 5 times in case the hardware failed to read the docs. + */ + if (!intel_sdvo_read_byte(intel_sdvo, + SDVO_I2C_CMD_STATUS, + &status)) + goto log_fail; + + while (status == SDVO_CMD_STATUS_PENDING && retry--) { + udelay(15); + if (!intel_sdvo_read_byte(intel_sdvo, + SDVO_I2C_CMD_STATUS, + &status)) + goto log_fail; + } + + if (status <= SDVO_CMD_STATUS_SCALING_NOT_SUPP) + DRM_LOG_KMS("(%s)", cmd_status_names[status]); + else + DRM_LOG_KMS("(??? %d)", status); + + if (status != SDVO_CMD_STATUS_SUCCESS) + goto log_fail; + + /* Read the command response */ + for (i = 0; i < response_len; i++) { + if (!intel_sdvo_read_byte(intel_sdvo, + SDVO_I2C_RETURN_0 + i, + &((u8 *)response)[i])) + goto log_fail; + DRM_LOG_KMS(" %02X", ((u8 *)response)[i]); + } + DRM_LOG_KMS("\n"); + return true; + +log_fail: + DRM_LOG_KMS("... failed\n"); + return false; +} + +static int intel_sdvo_get_pixel_multiplier(struct drm_display_mode *mode) +{ + if (mode->clock >= 100000) + return 1; + else if (mode->clock >= 50000) + return 2; + else + return 4; +} + +static bool intel_sdvo_set_control_bus_switch(struct intel_sdvo *intel_sdvo, + u8 ddc_bus) +{ + /* This must be the immediately preceding write before the i2c xfer */ + return intel_sdvo_write_cmd(intel_sdvo, + SDVO_CMD_SET_CONTROL_BUS_SWITCH, + &ddc_bus, 1); +} + +static bool intel_sdvo_set_value(struct intel_sdvo *intel_sdvo, u8 cmd, const void *data, int len) +{ + if (!intel_sdvo_write_cmd(intel_sdvo, cmd, data, len)) + return false; + + return intel_sdvo_read_response(intel_sdvo, NULL, 0); +} + +static bool +intel_sdvo_get_value(struct intel_sdvo *intel_sdvo, u8 cmd, void *value, int len) +{ + if (!intel_sdvo_write_cmd(intel_sdvo, cmd, NULL, 0)) + return false; + + return intel_sdvo_read_response(intel_sdvo, value, len); +} + +static bool intel_sdvo_set_target_input(struct intel_sdvo *intel_sdvo) +{ + struct intel_sdvo_set_target_input_args targets = {0}; + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_TARGET_INPUT, + &targets, sizeof(targets)); +} + +/** + * Return whether each input is trained. + * + * This function is making an assumption about the layout of the response, + * which should be checked against the docs. + */ +static bool intel_sdvo_get_trained_inputs(struct intel_sdvo *intel_sdvo, bool *input_1, bool *input_2) +{ + struct intel_sdvo_get_trained_inputs_response response; + + BUILD_BUG_ON(sizeof(response) != 1); + if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_TRAINED_INPUTS, + &response, sizeof(response))) + return false; + + *input_1 = response.input0_trained; + *input_2 = response.input1_trained; + return true; +} + +static bool intel_sdvo_set_active_outputs(struct intel_sdvo *intel_sdvo, + u16 outputs) +{ + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_ACTIVE_OUTPUTS, + &outputs, sizeof(outputs)); +} + +static bool intel_sdvo_get_active_outputs(struct intel_sdvo *intel_sdvo, + u16 *outputs) +{ + return intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_ACTIVE_OUTPUTS, + outputs, sizeof(*outputs)); +} + +static bool intel_sdvo_set_encoder_power_state(struct intel_sdvo *intel_sdvo, + int mode) +{ + u8 state = SDVO_ENCODER_STATE_ON; + + switch (mode) { + case DRM_MODE_DPMS_ON: + state = SDVO_ENCODER_STATE_ON; + break; + case DRM_MODE_DPMS_STANDBY: + state = SDVO_ENCODER_STATE_STANDBY; + break; + case DRM_MODE_DPMS_SUSPEND: + state = SDVO_ENCODER_STATE_SUSPEND; + break; + case DRM_MODE_DPMS_OFF: + state = SDVO_ENCODER_STATE_OFF; + break; + } + + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_ENCODER_POWER_STATE, &state, sizeof(state)); +} + +static bool intel_sdvo_get_input_pixel_clock_range(struct intel_sdvo *intel_sdvo, + int *clock_min, + int *clock_max) +{ + struct intel_sdvo_pixel_clock_range clocks; + + BUILD_BUG_ON(sizeof(clocks) != 4); + if (!intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE, + &clocks, sizeof(clocks))) + return false; + + /* Convert the values from units of 10 kHz to kHz. */ + *clock_min = clocks.min * 10; + *clock_max = clocks.max * 10; + return true; +} + +static bool intel_sdvo_set_target_output(struct intel_sdvo *intel_sdvo, + u16 outputs) +{ + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_TARGET_OUTPUT, + &outputs, sizeof(outputs)); +} + +static bool intel_sdvo_set_timing(struct intel_sdvo *intel_sdvo, u8 cmd, + struct intel_sdvo_dtd *dtd) +{ + return intel_sdvo_set_value(intel_sdvo, cmd, &dtd->part1, sizeof(dtd->part1)) && + intel_sdvo_set_value(intel_sdvo, cmd + 1, &dtd->part2, sizeof(dtd->part2)); +} + +static bool intel_sdvo_set_input_timing(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_dtd *dtd) +{ + return intel_sdvo_set_timing(intel_sdvo, + SDVO_CMD_SET_INPUT_TIMINGS_PART1, dtd); +} + +static bool intel_sdvo_set_output_timing(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_dtd *dtd) +{ + return intel_sdvo_set_timing(intel_sdvo, + SDVO_CMD_SET_OUTPUT_TIMINGS_PART1, dtd); +} + +static bool +intel_sdvo_create_preferred_input_timing(struct intel_sdvo *intel_sdvo, + uint16_t clock, + uint16_t width, + uint16_t height) +{ + struct intel_sdvo_preferred_input_timing_args args; + + memset(&args, 0, sizeof(args)); + args.clock = clock; + args.width = width; + args.height = height; + args.interlace = 0; + + if (intel_sdvo->is_lvds && + (intel_sdvo->sdvo_lvds_fixed_mode->hdisplay != width || + intel_sdvo->sdvo_lvds_fixed_mode->vdisplay != height)) + args.scaled = 1; + + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_CREATE_PREFERRED_INPUT_TIMING, + &args, sizeof(args)); +} + +static bool intel_sdvo_get_preferred_input_timing(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_dtd *dtd) +{ + BUILD_BUG_ON(sizeof(dtd->part1) != 8); + BUILD_BUG_ON(sizeof(dtd->part2) != 8); + return intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART1, + &dtd->part1, sizeof(dtd->part1)) && + intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART2, + &dtd->part2, sizeof(dtd->part2)); +} + +static bool intel_sdvo_set_clock_rate_mult(struct intel_sdvo *intel_sdvo, u8 val) +{ + return intel_sdvo_set_value(intel_sdvo, SDVO_CMD_SET_CLOCK_RATE_MULT, &val, 1); +} + +static void intel_sdvo_get_dtd_from_mode(struct intel_sdvo_dtd *dtd, + const struct drm_display_mode *mode) +{ + uint16_t width, height; + uint16_t h_blank_len, h_sync_len, v_blank_len, v_sync_len; + uint16_t h_sync_offset, v_sync_offset; + int mode_clock; + + width = mode->hdisplay; + height = mode->vdisplay; + + /* do some mode translations */ + h_blank_len = mode->htotal - mode->hdisplay; + h_sync_len = mode->hsync_end - mode->hsync_start; + + v_blank_len = mode->vtotal - mode->vdisplay; + v_sync_len = mode->vsync_end - mode->vsync_start; + + h_sync_offset = mode->hsync_start - mode->hdisplay; + v_sync_offset = mode->vsync_start - mode->vdisplay; + + mode_clock = mode->clock; + mode_clock /= intel_mode_get_pixel_multiplier(mode) ?: 1; + mode_clock /= 10; + dtd->part1.clock = mode_clock; + + dtd->part1.h_active = width & 0xff; + dtd->part1.h_blank = h_blank_len & 0xff; + dtd->part1.h_high = (((width >> 8) & 0xf) << 4) | + ((h_blank_len >> 8) & 0xf); + dtd->part1.v_active = height & 0xff; + dtd->part1.v_blank = v_blank_len & 0xff; + dtd->part1.v_high = (((height >> 8) & 0xf) << 4) | + ((v_blank_len >> 8) & 0xf); + + dtd->part2.h_sync_off = h_sync_offset & 0xff; + dtd->part2.h_sync_width = h_sync_len & 0xff; + dtd->part2.v_sync_off_width = (v_sync_offset & 0xf) << 4 | + (v_sync_len & 0xf); + dtd->part2.sync_off_width_high = ((h_sync_offset & 0x300) >> 2) | + ((h_sync_len & 0x300) >> 4) | ((v_sync_offset & 0x30) >> 2) | + ((v_sync_len & 0x30) >> 4); + + dtd->part2.dtd_flags = 0x18; + if (mode->flags & DRM_MODE_FLAG_INTERLACE) + dtd->part2.dtd_flags |= DTD_FLAG_INTERLACE; + if (mode->flags & DRM_MODE_FLAG_PHSYNC) + dtd->part2.dtd_flags |= DTD_FLAG_HSYNC_POSITIVE; + if (mode->flags & DRM_MODE_FLAG_PVSYNC) + dtd->part2.dtd_flags |= DTD_FLAG_VSYNC_POSITIVE; + + dtd->part2.sdvo_flags = 0; + dtd->part2.v_sync_off_high = v_sync_offset & 0xc0; + dtd->part2.reserved = 0; +} + +static void intel_sdvo_get_mode_from_dtd(struct drm_display_mode * mode, + const struct intel_sdvo_dtd *dtd) +{ + mode->hdisplay = dtd->part1.h_active; + mode->hdisplay += ((dtd->part1.h_high >> 4) & 0x0f) << 8; + mode->hsync_start = mode->hdisplay + dtd->part2.h_sync_off; + mode->hsync_start += (dtd->part2.sync_off_width_high & 0xc0) << 2; + mode->hsync_end = mode->hsync_start + dtd->part2.h_sync_width; + mode->hsync_end += (dtd->part2.sync_off_width_high & 0x30) << 4; + mode->htotal = mode->hdisplay + dtd->part1.h_blank; + mode->htotal += (dtd->part1.h_high & 0xf) << 8; + + mode->vdisplay = dtd->part1.v_active; + mode->vdisplay += ((dtd->part1.v_high >> 4) & 0x0f) << 8; + mode->vsync_start = mode->vdisplay; + mode->vsync_start += (dtd->part2.v_sync_off_width >> 4) & 0xf; + mode->vsync_start += (dtd->part2.sync_off_width_high & 0x0c) << 2; + mode->vsync_start += dtd->part2.v_sync_off_high & 0xc0; + mode->vsync_end = mode->vsync_start + + (dtd->part2.v_sync_off_width & 0xf); + mode->vsync_end += (dtd->part2.sync_off_width_high & 0x3) << 4; + mode->vtotal = mode->vdisplay + dtd->part1.v_blank; + mode->vtotal += (dtd->part1.v_high & 0xf) << 8; + + mode->clock = dtd->part1.clock * 10; + + mode->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); + if (dtd->part2.dtd_flags & DTD_FLAG_INTERLACE) + mode->flags |= DRM_MODE_FLAG_INTERLACE; + if (dtd->part2.dtd_flags & DTD_FLAG_HSYNC_POSITIVE) + mode->flags |= DRM_MODE_FLAG_PHSYNC; + if (dtd->part2.dtd_flags & DTD_FLAG_VSYNC_POSITIVE) + mode->flags |= DRM_MODE_FLAG_PVSYNC; +} + +static bool intel_sdvo_check_supp_encode(struct intel_sdvo *intel_sdvo) +{ + struct intel_sdvo_encode encode; + + BUILD_BUG_ON(sizeof(encode) != 2); + return intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_SUPP_ENCODE, + &encode, sizeof(encode)); +} + +static bool intel_sdvo_set_encode(struct intel_sdvo *intel_sdvo, + uint8_t mode) +{ + return intel_sdvo_set_value(intel_sdvo, SDVO_CMD_SET_ENCODE, &mode, 1); +} + +static bool intel_sdvo_set_colorimetry(struct intel_sdvo *intel_sdvo, + uint8_t mode) +{ + return intel_sdvo_set_value(intel_sdvo, SDVO_CMD_SET_COLORIMETRY, &mode, 1); +} + +#if 0 +static void intel_sdvo_dump_hdmi_buf(struct intel_sdvo *intel_sdvo) +{ + int i, j; + uint8_t set_buf_index[2]; + uint8_t av_split; + uint8_t buf_size; + uint8_t buf[48]; + uint8_t *pos; + + intel_sdvo_get_value(encoder, SDVO_CMD_GET_HBUF_AV_SPLIT, &av_split, 1); + + for (i = 0; i <= av_split; i++) { + set_buf_index[0] = i; set_buf_index[1] = 0; + intel_sdvo_write_cmd(encoder, SDVO_CMD_SET_HBUF_INDEX, + set_buf_index, 2); + intel_sdvo_write_cmd(encoder, SDVO_CMD_GET_HBUF_INFO, NULL, 0); + intel_sdvo_read_response(encoder, &buf_size, 1); + + pos = buf; + for (j = 0; j <= buf_size; j += 8) { + intel_sdvo_write_cmd(encoder, SDVO_CMD_GET_HBUF_DATA, + NULL, 0); + intel_sdvo_read_response(encoder, pos, 8); + pos += 8; + } + } +} +#endif + +static bool intel_sdvo_write_infoframe(struct intel_sdvo *intel_sdvo, + unsigned if_index, uint8_t tx_rate, + uint8_t *data, unsigned length) +{ + uint8_t set_buf_index[2] = { if_index, 0 }; + uint8_t hbuf_size, tmp[8]; + int i; + + if (!intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_HBUF_INDEX, + set_buf_index, 2)) + return false; + + if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_HBUF_INFO, + &hbuf_size, 1)) + return false; + + /* Buffer size is 0 based, hooray! */ + hbuf_size++; + + DRM_DEBUG_KMS("writing sdvo hbuf: %i, hbuf_size %i, hbuf_size: %i\n", + if_index, length, hbuf_size); + + for (i = 0; i < hbuf_size; i += 8) { + memset(tmp, 0, 8); + if (i < length) + memcpy(tmp, data + i, min_t(unsigned, 8, length - i)); + + if (!intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_HBUF_DATA, + tmp, 8)) + return false; + } + + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_HBUF_TXRATE, + &tx_rate, 1); +} + +static bool intel_sdvo_set_avi_infoframe(struct intel_sdvo *intel_sdvo) +{ + struct dip_infoframe avi_if = { + .type = DIP_TYPE_AVI, + .ver = DIP_VERSION_AVI, + .len = DIP_LEN_AVI, + }; + uint8_t sdvo_data[4 + sizeof(avi_if.body.avi)]; + + intel_dip_infoframe_csum(&avi_if); + + /* sdvo spec says that the ecc is handled by the hw, and it looks like + * we must not send the ecc field, either. */ + memcpy(sdvo_data, &avi_if, 3); + sdvo_data[3] = avi_if.checksum; + memcpy(&sdvo_data[4], &avi_if.body, sizeof(avi_if.body.avi)); + + return intel_sdvo_write_infoframe(intel_sdvo, SDVO_HBUF_INDEX_AVI_IF, + SDVO_HBUF_TX_VSYNC, + sdvo_data, sizeof(sdvo_data)); +} + +static bool intel_sdvo_set_tv_format(struct intel_sdvo *intel_sdvo) +{ + struct intel_sdvo_tv_format format; + uint32_t format_map; + + format_map = 1 << intel_sdvo->tv_format_index; + memset(&format, 0, sizeof(format)); + memcpy(&format, &format_map, min(sizeof(format), sizeof(format_map))); + + BUILD_BUG_ON(sizeof(format) != 6); + return intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_TV_FORMAT, + &format, sizeof(format)); +} + +static bool +intel_sdvo_set_output_timings_from_mode(struct intel_sdvo *intel_sdvo, + struct drm_display_mode *mode) +{ + struct intel_sdvo_dtd output_dtd; + + if (!intel_sdvo_set_target_output(intel_sdvo, + intel_sdvo->attached_output)) + return false; + + intel_sdvo_get_dtd_from_mode(&output_dtd, mode); + if (!intel_sdvo_set_output_timing(intel_sdvo, &output_dtd)) + return false; + + return true; +} + +/* Asks the sdvo controller for the preferred input mode given the output mode. + * Unfortunately we have to set up the full output mode to do that. */ +static bool +intel_sdvo_get_preferred_input_mode(struct intel_sdvo *intel_sdvo, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct intel_sdvo_dtd input_dtd; + + /* Reset the input timing to the screen. Assume always input 0. */ + if (!intel_sdvo_set_target_input(intel_sdvo)) + return false; + + if (!intel_sdvo_create_preferred_input_timing(intel_sdvo, + mode->clock / 10, + mode->hdisplay, + mode->vdisplay)) + return false; + + if (!intel_sdvo_get_preferred_input_timing(intel_sdvo, + &input_dtd)) + return false; + + intel_sdvo_get_mode_from_dtd(adjusted_mode, &input_dtd); + intel_sdvo->dtd_sdvo_flags = input_dtd.part2.sdvo_flags; + + return true; +} + +static bool intel_sdvo_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct intel_sdvo *intel_sdvo = to_intel_sdvo(encoder); + int multiplier; + + /* We need to construct preferred input timings based on our + * output timings. To do that, we have to set the output + * timings, even though this isn't really the right place in + * the sequence to do it. Oh well. + */ + if (intel_sdvo->is_tv) { + if (!intel_sdvo_set_output_timings_from_mode(intel_sdvo, mode)) + return false; + + (void) intel_sdvo_get_preferred_input_mode(intel_sdvo, + mode, + adjusted_mode); + } else if (intel_sdvo->is_lvds) { + if (!intel_sdvo_set_output_timings_from_mode(intel_sdvo, + intel_sdvo->sdvo_lvds_fixed_mode)) + return false; + + (void) intel_sdvo_get_preferred_input_mode(intel_sdvo, + mode, + adjusted_mode); + } + + /* Make the CRTC code factor in the SDVO pixel multiplier. The + * SDVO device will factor out the multiplier during mode_set. + */ + multiplier = intel_sdvo_get_pixel_multiplier(adjusted_mode); + intel_mode_set_pixel_multiplier(adjusted_mode, multiplier); + + return true; +} + +static void intel_sdvo_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc = encoder->crtc; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_sdvo *intel_sdvo = to_intel_sdvo(encoder); + u32 sdvox; + struct intel_sdvo_in_out_map in_out; + struct intel_sdvo_dtd input_dtd, output_dtd; + int pixel_multiplier = intel_mode_get_pixel_multiplier(adjusted_mode); + int rate; + + if (!mode) + return; + + /* First, set the input mapping for the first input to our controlled + * output. This is only correct if we're a single-input device, in + * which case the first input is the output from the appropriate SDVO + * channel on the motherboard. In a two-input device, the first input + * will be SDVOB and the second SDVOC. + */ + in_out.in0 = intel_sdvo->attached_output; + in_out.in1 = 0; + + intel_sdvo_set_value(intel_sdvo, + SDVO_CMD_SET_IN_OUT_MAP, + &in_out, sizeof(in_out)); + + /* Set the output timings to the screen */ + if (!intel_sdvo_set_target_output(intel_sdvo, + intel_sdvo->attached_output)) + return; + + /* lvds has a special fixed output timing. */ + if (intel_sdvo->is_lvds) + intel_sdvo_get_dtd_from_mode(&output_dtd, + intel_sdvo->sdvo_lvds_fixed_mode); + else + intel_sdvo_get_dtd_from_mode(&output_dtd, mode); + if (!intel_sdvo_set_output_timing(intel_sdvo, &output_dtd)) + DRM_INFO("Setting output timings on %s failed\n", + SDVO_NAME(intel_sdvo)); + + /* Set the input timing to the screen. Assume always input 0. */ + if (!intel_sdvo_set_target_input(intel_sdvo)) + return; + + if (intel_sdvo->has_hdmi_monitor) { + intel_sdvo_set_encode(intel_sdvo, SDVO_ENCODE_HDMI); + intel_sdvo_set_colorimetry(intel_sdvo, + SDVO_COLORIMETRY_RGB256); + intel_sdvo_set_avi_infoframe(intel_sdvo); + } else + intel_sdvo_set_encode(intel_sdvo, SDVO_ENCODE_DVI); + + if (intel_sdvo->is_tv && + !intel_sdvo_set_tv_format(intel_sdvo)) + return; + + /* We have tried to get input timing in mode_fixup, and filled into + * adjusted_mode. + */ + intel_sdvo_get_dtd_from_mode(&input_dtd, adjusted_mode); + if (intel_sdvo->is_tv || intel_sdvo->is_lvds) + input_dtd.part2.sdvo_flags = intel_sdvo->dtd_sdvo_flags; + if (!intel_sdvo_set_input_timing(intel_sdvo, &input_dtd)) + DRM_INFO("Setting input timings on %s failed\n", + SDVO_NAME(intel_sdvo)); + + switch (pixel_multiplier) { + default: + case 1: rate = SDVO_CLOCK_RATE_MULT_1X; break; + case 2: rate = SDVO_CLOCK_RATE_MULT_2X; break; + case 4: rate = SDVO_CLOCK_RATE_MULT_4X; break; + } + if (!intel_sdvo_set_clock_rate_mult(intel_sdvo, rate)) + return; + + /* Set the SDVO control regs. */ + if (INTEL_INFO(dev)->gen >= 4) { + /* The real mode polarity is set by the SDVO commands, using + * struct intel_sdvo_dtd. */ + sdvox = SDVO_VSYNC_ACTIVE_HIGH | SDVO_HSYNC_ACTIVE_HIGH; + if (intel_sdvo->is_hdmi) + sdvox |= intel_sdvo->color_range; + if (INTEL_INFO(dev)->gen < 5) + sdvox |= SDVO_BORDER_ENABLE; + } else { + sdvox = I915_READ(intel_sdvo->sdvo_reg); + switch (intel_sdvo->sdvo_reg) { + case SDVOB: + sdvox &= SDVOB_PRESERVE_MASK; + break; + case SDVOC: + sdvox &= SDVOC_PRESERVE_MASK; + break; + } + sdvox |= (9 << 19) | SDVO_BORDER_ENABLE; + } + + if (INTEL_PCH_TYPE(dev) >= PCH_CPT) + sdvox |= TRANSCODER_CPT(intel_crtc->pipe); + else + sdvox |= TRANSCODER(intel_crtc->pipe); + + if (intel_sdvo->has_hdmi_audio) + sdvox |= SDVO_AUDIO_ENABLE; + + if (INTEL_INFO(dev)->gen >= 4) { + /* done in crtc_mode_set as the dpll_md reg must be written early */ + } else if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) { + /* done in crtc_mode_set as it lives inside the dpll register */ + } else { + sdvox |= (pixel_multiplier - 1) << SDVO_PORT_MULTIPLY_SHIFT; + } + + if (input_dtd.part2.sdvo_flags & SDVO_NEED_TO_STALL && + INTEL_INFO(dev)->gen < 5) + sdvox |= SDVO_STALL_SELECT; + intel_sdvo_write_sdvox(intel_sdvo, sdvox); +} + +static bool intel_sdvo_connector_get_hw_state(struct intel_connector *connector) +{ + struct intel_sdvo_connector *intel_sdvo_connector = + to_intel_sdvo_connector(&connector->base); + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(&connector->base); + u16 active_outputs; + + intel_sdvo_get_active_outputs(intel_sdvo, &active_outputs); + + if (active_outputs & intel_sdvo_connector->output_flag) + return true; + else + return false; +} + +static bool intel_sdvo_get_hw_state(struct intel_encoder *encoder, + enum pipe *pipe) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_sdvo *intel_sdvo = to_intel_sdvo(&encoder->base); + u32 tmp; + + tmp = I915_READ(intel_sdvo->sdvo_reg); + + if (!(tmp & SDVO_ENABLE)) + return false; + + if (HAS_PCH_CPT(dev)) + *pipe = PORT_TO_PIPE_CPT(tmp); + else + *pipe = PORT_TO_PIPE(tmp); + + return true; +} + +static void intel_disable_sdvo(struct intel_encoder *encoder) +{ + struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; + struct intel_sdvo *intel_sdvo = to_intel_sdvo(&encoder->base); + u32 temp; + + intel_sdvo_set_active_outputs(intel_sdvo, 0); + if (0) + intel_sdvo_set_encoder_power_state(intel_sdvo, + DRM_MODE_DPMS_OFF); + + temp = I915_READ(intel_sdvo->sdvo_reg); + if ((temp & SDVO_ENABLE) != 0) { + /* HW workaround for IBX, we need to move the port to + * transcoder A before disabling it. */ + if (HAS_PCH_IBX(encoder->base.dev)) { + struct drm_crtc *crtc = encoder->base.crtc; + int pipe = crtc ? to_intel_crtc(crtc)->pipe : -1; + + if (temp & SDVO_PIPE_B_SELECT) { + temp &= ~SDVO_PIPE_B_SELECT; + I915_WRITE(intel_sdvo->sdvo_reg, temp); + POSTING_READ(intel_sdvo->sdvo_reg); + + /* Again we need to write this twice. */ + I915_WRITE(intel_sdvo->sdvo_reg, temp); + POSTING_READ(intel_sdvo->sdvo_reg); + + /* Transcoder selection bits only update + * effectively on vblank. */ + if (crtc) + intel_wait_for_vblank(encoder->base.dev, pipe); + else + msleep(50); + } + } + + intel_sdvo_write_sdvox(intel_sdvo, temp & ~SDVO_ENABLE); + } +} + +static void intel_enable_sdvo(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_sdvo *intel_sdvo = to_intel_sdvo(&encoder->base); + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); + u32 temp; + bool input1, input2; + int i; + u8 status; + + temp = I915_READ(intel_sdvo->sdvo_reg); + if ((temp & SDVO_ENABLE) == 0) { + /* HW workaround for IBX, we need to move the port + * to transcoder A before disabling it. */ + if (HAS_PCH_IBX(dev)) { + struct drm_crtc *crtc = encoder->base.crtc; + int pipe = crtc ? to_intel_crtc(crtc)->pipe : -1; + + /* Restore the transcoder select bit. */ + if (pipe == PIPE_B) + temp |= SDVO_PIPE_B_SELECT; + } + + intel_sdvo_write_sdvox(intel_sdvo, temp | SDVO_ENABLE); + } + for (i = 0; i < 2; i++) + intel_wait_for_vblank(dev, intel_crtc->pipe); + + status = intel_sdvo_get_trained_inputs(intel_sdvo, &input1, &input2); + /* Warn if the device reported failure to sync. + * A lot of SDVO devices fail to notify of sync, but it's + * a given it the status is a success, we succeeded. + */ + if (status == SDVO_CMD_STATUS_SUCCESS && !input1) { + DRM_DEBUG_KMS("First %s output reported failure to " + "sync\n", SDVO_NAME(intel_sdvo)); + } + + if (0) + intel_sdvo_set_encoder_power_state(intel_sdvo, + DRM_MODE_DPMS_ON); + intel_sdvo_set_active_outputs(intel_sdvo, intel_sdvo->attached_output); +} + +static void intel_sdvo_dpms(struct drm_connector *connector, int mode) +{ + struct drm_crtc *crtc; + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + + /* dvo supports only 2 dpms states. */ + if (mode != DRM_MODE_DPMS_ON) + mode = DRM_MODE_DPMS_OFF; + + if (mode == connector->dpms) + return; + + connector->dpms = mode; + + /* Only need to change hw state when actually enabled */ + crtc = intel_sdvo->base.base.crtc; + if (!crtc) { + intel_sdvo->base.connectors_active = false; + return; + } + + if (mode != DRM_MODE_DPMS_ON) { + intel_sdvo_set_active_outputs(intel_sdvo, 0); + if (0) + intel_sdvo_set_encoder_power_state(intel_sdvo, mode); + + intel_sdvo->base.connectors_active = false; + + intel_crtc_update_dpms(crtc); + } else { + intel_sdvo->base.connectors_active = true; + + intel_crtc_update_dpms(crtc); + + if (0) + intel_sdvo_set_encoder_power_state(intel_sdvo, mode); + intel_sdvo_set_active_outputs(intel_sdvo, intel_sdvo->attached_output); + } + + intel_modeset_check_state(connector->dev); +} + +static int intel_sdvo_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + return MODE_NO_DBLESCAN; + + if (intel_sdvo->pixel_clock_min > mode->clock) + return MODE_CLOCK_LOW; + + if (intel_sdvo->pixel_clock_max < mode->clock) + return MODE_CLOCK_HIGH; + + if (intel_sdvo->is_lvds) { + if (mode->hdisplay > intel_sdvo->sdvo_lvds_fixed_mode->hdisplay) + return MODE_PANEL; + + if (mode->vdisplay > intel_sdvo->sdvo_lvds_fixed_mode->vdisplay) + return MODE_PANEL; + } + + return MODE_OK; +} + +static bool intel_sdvo_get_capabilities(struct intel_sdvo *intel_sdvo, struct intel_sdvo_caps *caps) +{ + BUILD_BUG_ON(sizeof(*caps) != 8); + if (!intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_DEVICE_CAPS, + caps, sizeof(*caps))) + return false; + + DRM_DEBUG_KMS("SDVO capabilities:\n" + " vendor_id: %d\n" + " device_id: %d\n" + " device_rev_id: %d\n" + " sdvo_version_major: %d\n" + " sdvo_version_minor: %d\n" + " sdvo_inputs_mask: %d\n" + " smooth_scaling: %d\n" + " sharp_scaling: %d\n" + " up_scaling: %d\n" + " down_scaling: %d\n" + " stall_support: %d\n" + " output_flags: %d\n", + caps->vendor_id, + caps->device_id, + caps->device_rev_id, + caps->sdvo_version_major, + caps->sdvo_version_minor, + caps->sdvo_inputs_mask, + caps->smooth_scaling, + caps->sharp_scaling, + caps->up_scaling, + caps->down_scaling, + caps->stall_support, + caps->output_flags); + + return true; +} + +static uint16_t intel_sdvo_get_hotplug_support(struct intel_sdvo *intel_sdvo) +{ + struct drm_device *dev = intel_sdvo->base.base.dev; + uint16_t hotplug; + + /* HW Erratum: SDVO Hotplug is broken on all i945G chips, there's noise + * on the line. */ + if (IS_I945G(dev) || IS_I945GM(dev)) + return 0; + + if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_HOT_PLUG_SUPPORT, + &hotplug, sizeof(hotplug))) + return 0; + + return hotplug; +} + +static void intel_sdvo_enable_hotplug(struct intel_encoder *encoder) +{ + struct intel_sdvo *intel_sdvo = to_intel_sdvo(&encoder->base); + + intel_sdvo_write_cmd(intel_sdvo, SDVO_CMD_SET_ACTIVE_HOT_PLUG, + &intel_sdvo->hotplug_active, 2); +} + +static bool +intel_sdvo_multifunc_encoder(struct intel_sdvo *intel_sdvo) +{ + /* Is there more than one type of output? */ + return hweight16(intel_sdvo->caps.output_flags) > 1; +} + +static struct edid * +intel_sdvo_get_edid(struct drm_connector *connector) +{ + struct intel_sdvo *sdvo = intel_attached_sdvo(connector); + return drm_get_edid(connector, &sdvo->ddc); +} + +/* Mac mini hack -- use the same DDC as the analog connector */ +static struct edid * +intel_sdvo_get_analog_edid(struct drm_connector *connector) +{ + struct drm_i915_private *dev_priv = connector->dev->dev_private; + + return drm_get_edid(connector, + intel_gmbus_get_adapter(dev_priv, + dev_priv->crt_ddc_pin)); +} + +static enum drm_connector_status +intel_sdvo_tmds_sink_detect(struct drm_connector *connector) +{ + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + enum drm_connector_status status; + struct edid *edid; + + edid = intel_sdvo_get_edid(connector); + + if (edid == NULL && intel_sdvo_multifunc_encoder(intel_sdvo)) { + u8 ddc, saved_ddc = intel_sdvo->ddc_bus; + + /* + * Don't use the 1 as the argument of DDC bus switch to get + * the EDID. It is used for SDVO SPD ROM. + */ + for (ddc = intel_sdvo->ddc_bus >> 1; ddc > 1; ddc >>= 1) { + intel_sdvo->ddc_bus = ddc; + edid = intel_sdvo_get_edid(connector); + if (edid) + break; + } + /* + * If we found the EDID on the other bus, + * assume that is the correct DDC bus. + */ + if (edid == NULL) + intel_sdvo->ddc_bus = saved_ddc; + } + + /* + * When there is no edid and no monitor is connected with VGA + * port, try to use the CRT ddc to read the EDID for DVI-connector. + */ + if (edid == NULL) + edid = intel_sdvo_get_analog_edid(connector); + + status = connector_status_unknown; + if (edid != NULL) { + /* DDC bus is shared, match EDID to connector type */ + if (edid->input & DRM_EDID_INPUT_DIGITAL) { + status = connector_status_connected; + if (intel_sdvo->is_hdmi) { + intel_sdvo->has_hdmi_monitor = drm_detect_hdmi_monitor(edid); + intel_sdvo->has_hdmi_audio = drm_detect_monitor_audio(edid); + } + } else + status = connector_status_disconnected; + kfree(edid); + } + + if (status == connector_status_connected) { + struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); + if (intel_sdvo_connector->force_audio != HDMI_AUDIO_AUTO) + intel_sdvo->has_hdmi_audio = (intel_sdvo_connector->force_audio == HDMI_AUDIO_ON); + } + + return status; +} + +static bool +intel_sdvo_connector_matches_edid(struct intel_sdvo_connector *sdvo, + struct edid *edid) +{ + bool monitor_is_digital = !!(edid->input & DRM_EDID_INPUT_DIGITAL); + bool connector_is_digital = !!IS_DIGITAL(sdvo); + + DRM_DEBUG_KMS("connector_is_digital? %d, monitor_is_digital? %d\n", + connector_is_digital, monitor_is_digital); + return connector_is_digital == monitor_is_digital; +} + +static enum drm_connector_status +intel_sdvo_detect(struct drm_connector *connector, bool force) +{ + uint16_t response; + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); + enum drm_connector_status ret; + + if (!intel_sdvo_write_cmd(intel_sdvo, + SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0)) + return connector_status_unknown; + + /* add 30ms delay when the output type might be TV */ + if (intel_sdvo->caps.output_flags & SDVO_TV_MASK) + msleep(30); + + if (!intel_sdvo_read_response(intel_sdvo, &response, 2)) + return connector_status_unknown; + + DRM_DEBUG_KMS("SDVO response %d %d [%x]\n", + response & 0xff, response >> 8, + intel_sdvo_connector->output_flag); + + if (response == 0) + return connector_status_disconnected; + + intel_sdvo->attached_output = response; + + intel_sdvo->has_hdmi_monitor = false; + intel_sdvo->has_hdmi_audio = false; + + if ((intel_sdvo_connector->output_flag & response) == 0) + ret = connector_status_disconnected; + else if (IS_TMDS(intel_sdvo_connector)) + ret = intel_sdvo_tmds_sink_detect(connector); + else { + struct edid *edid; + + /* if we have an edid check it matches the connection */ + edid = intel_sdvo_get_edid(connector); + if (edid == NULL) + edid = intel_sdvo_get_analog_edid(connector); + if (edid != NULL) { + if (intel_sdvo_connector_matches_edid(intel_sdvo_connector, + edid)) + ret = connector_status_connected; + else + ret = connector_status_disconnected; + + kfree(edid); + } else + ret = connector_status_connected; + } + + /* May update encoder flag for like clock for SDVO TV, etc.*/ + if (ret == connector_status_connected) { + intel_sdvo->is_tv = false; + intel_sdvo->is_lvds = false; + intel_sdvo->base.needs_tv_clock = false; + + if (response & SDVO_TV_MASK) { + intel_sdvo->is_tv = true; + intel_sdvo->base.needs_tv_clock = true; + } + if (response & SDVO_LVDS_MASK) + intel_sdvo->is_lvds = intel_sdvo->sdvo_lvds_fixed_mode != NULL; + } + + return ret; +} + +static void intel_sdvo_get_ddc_modes(struct drm_connector *connector) +{ + struct edid *edid; + + /* set the bus switch and get the modes */ + edid = intel_sdvo_get_edid(connector); + + /* + * Mac mini hack. On this device, the DVI-I connector shares one DDC + * link between analog and digital outputs. So, if the regular SDVO + * DDC fails, check to see if the analog output is disconnected, in + * which case we'll look there for the digital DDC data. + */ + if (edid == NULL) + edid = intel_sdvo_get_analog_edid(connector); + + if (edid != NULL) { + if (intel_sdvo_connector_matches_edid(to_intel_sdvo_connector(connector), + edid)) { + drm_mode_connector_update_edid_property(connector, edid); + drm_add_edid_modes(connector, edid); + } + + kfree(edid); + } +} + +/* + * Set of SDVO TV modes. + * Note! This is in reply order (see loop in get_tv_modes). + * XXX: all 60Hz refresh? + */ +static const struct drm_display_mode sdvo_tv_modes[] = { + { DRM_MODE("320x200", DRM_MODE_TYPE_DRIVER, 5815, 320, 321, 384, + 416, 0, 200, 201, 232, 233, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("320x240", DRM_MODE_TYPE_DRIVER, 6814, 320, 321, 384, + 416, 0, 240, 241, 272, 273, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("400x300", DRM_MODE_TYPE_DRIVER, 9910, 400, 401, 464, + 496, 0, 300, 301, 332, 333, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("640x350", DRM_MODE_TYPE_DRIVER, 16913, 640, 641, 704, + 736, 0, 350, 351, 382, 383, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("640x400", DRM_MODE_TYPE_DRIVER, 19121, 640, 641, 704, + 736, 0, 400, 401, 432, 433, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 22654, 640, 641, 704, + 736, 0, 480, 481, 512, 513, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("704x480", DRM_MODE_TYPE_DRIVER, 24624, 704, 705, 768, + 800, 0, 480, 481, 512, 513, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("704x576", DRM_MODE_TYPE_DRIVER, 29232, 704, 705, 768, + 800, 0, 576, 577, 608, 609, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("720x350", DRM_MODE_TYPE_DRIVER, 18751, 720, 721, 784, + 816, 0, 350, 351, 382, 383, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("720x400", DRM_MODE_TYPE_DRIVER, 21199, 720, 721, 784, + 816, 0, 400, 401, 432, 433, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 25116, 720, 721, 784, + 816, 0, 480, 481, 512, 513, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("720x540", DRM_MODE_TYPE_DRIVER, 28054, 720, 721, 784, + 816, 0, 540, 541, 572, 573, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 29816, 720, 721, 784, + 816, 0, 576, 577, 608, 609, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("768x576", DRM_MODE_TYPE_DRIVER, 31570, 768, 769, 832, + 864, 0, 576, 577, 608, 609, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 34030, 800, 801, 864, + 896, 0, 600, 601, 632, 633, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("832x624", DRM_MODE_TYPE_DRIVER, 36581, 832, 833, 896, + 928, 0, 624, 625, 656, 657, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("920x766", DRM_MODE_TYPE_DRIVER, 48707, 920, 921, 984, + 1016, 0, 766, 767, 798, 799, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 53827, 1024, 1025, 1088, + 1120, 0, 768, 769, 800, 801, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("1280x1024", DRM_MODE_TYPE_DRIVER, 87265, 1280, 1281, 1344, + 1376, 0, 1024, 1025, 1056, 1057, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +}; + +static void intel_sdvo_get_tv_modes(struct drm_connector *connector) +{ + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + struct intel_sdvo_sdtv_resolution_request tv_res; + uint32_t reply = 0, format_map = 0; + int i; + + /* Read the list of supported input resolutions for the selected TV + * format. + */ + format_map = 1 << intel_sdvo->tv_format_index; + memcpy(&tv_res, &format_map, + min(sizeof(format_map), sizeof(struct intel_sdvo_sdtv_resolution_request))); + + if (!intel_sdvo_set_target_output(intel_sdvo, intel_sdvo->attached_output)) + return; + + BUILD_BUG_ON(sizeof(tv_res) != 3); + if (!intel_sdvo_write_cmd(intel_sdvo, + SDVO_CMD_GET_SDTV_RESOLUTION_SUPPORT, + &tv_res, sizeof(tv_res))) + return; + if (!intel_sdvo_read_response(intel_sdvo, &reply, 3)) + return; + + for (i = 0; i < ARRAY_SIZE(sdvo_tv_modes); i++) + if (reply & (1 << i)) { + struct drm_display_mode *nmode; + nmode = drm_mode_duplicate(connector->dev, + &sdvo_tv_modes[i]); + if (nmode) + drm_mode_probed_add(connector, nmode); + } +} + +static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) +{ + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + struct drm_i915_private *dev_priv = connector->dev->dev_private; + struct drm_display_mode *newmode; + + /* + * Attempt to get the mode list from DDC. + * Assume that the preferred modes are + * arranged in priority order. + */ + intel_ddc_get_modes(connector, intel_sdvo->i2c); + if (list_empty(&connector->probed_modes) == false) + goto end; + + /* Fetch modes from VBT */ + if (dev_priv->sdvo_lvds_vbt_mode != NULL) { + newmode = drm_mode_duplicate(connector->dev, + dev_priv->sdvo_lvds_vbt_mode); + if (newmode != NULL) { + /* Guarantee the mode is preferred */ + newmode->type = (DRM_MODE_TYPE_PREFERRED | + DRM_MODE_TYPE_DRIVER); + drm_mode_probed_add(connector, newmode); + } + } + +end: + list_for_each_entry(newmode, &connector->probed_modes, head) { + if (newmode->type & DRM_MODE_TYPE_PREFERRED) { + intel_sdvo->sdvo_lvds_fixed_mode = + drm_mode_duplicate(connector->dev, newmode); + + intel_sdvo->is_lvds = true; + break; + } + } + +} + +static int intel_sdvo_get_modes(struct drm_connector *connector) +{ + struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); + + if (IS_TV(intel_sdvo_connector)) + intel_sdvo_get_tv_modes(connector); + else if (IS_LVDS(intel_sdvo_connector)) + intel_sdvo_get_lvds_modes(connector); + else + intel_sdvo_get_ddc_modes(connector); + + return !list_empty(&connector->probed_modes); +} + +static void +intel_sdvo_destroy_enhance_property(struct drm_connector *connector) +{ + struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); + struct drm_device *dev = connector->dev; + + if (intel_sdvo_connector->left) + drm_property_destroy(dev, intel_sdvo_connector->left); + if (intel_sdvo_connector->right) + drm_property_destroy(dev, intel_sdvo_connector->right); + if (intel_sdvo_connector->top) + drm_property_destroy(dev, intel_sdvo_connector->top); + if (intel_sdvo_connector->bottom) + drm_property_destroy(dev, intel_sdvo_connector->bottom); + if (intel_sdvo_connector->hpos) + drm_property_destroy(dev, intel_sdvo_connector->hpos); + if (intel_sdvo_connector->vpos) + drm_property_destroy(dev, intel_sdvo_connector->vpos); + if (intel_sdvo_connector->saturation) + drm_property_destroy(dev, intel_sdvo_connector->saturation); + if (intel_sdvo_connector->contrast) + drm_property_destroy(dev, intel_sdvo_connector->contrast); + if (intel_sdvo_connector->hue) + drm_property_destroy(dev, intel_sdvo_connector->hue); + if (intel_sdvo_connector->sharpness) + drm_property_destroy(dev, intel_sdvo_connector->sharpness); + if (intel_sdvo_connector->flicker_filter) + drm_property_destroy(dev, intel_sdvo_connector->flicker_filter); + if (intel_sdvo_connector->flicker_filter_2d) + drm_property_destroy(dev, intel_sdvo_connector->flicker_filter_2d); + if (intel_sdvo_connector->flicker_filter_adaptive) + drm_property_destroy(dev, intel_sdvo_connector->flicker_filter_adaptive); + if (intel_sdvo_connector->tv_luma_filter) + drm_property_destroy(dev, intel_sdvo_connector->tv_luma_filter); + if (intel_sdvo_connector->tv_chroma_filter) + drm_property_destroy(dev, intel_sdvo_connector->tv_chroma_filter); + if (intel_sdvo_connector->dot_crawl) + drm_property_destroy(dev, intel_sdvo_connector->dot_crawl); + if (intel_sdvo_connector->brightness) + drm_property_destroy(dev, intel_sdvo_connector->brightness); +} + +static void intel_sdvo_destroy(struct drm_connector *connector) +{ + struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); + + if (intel_sdvo_connector->tv_format) + drm_property_destroy(connector->dev, + intel_sdvo_connector->tv_format); + + intel_sdvo_destroy_enhance_property(connector); + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(intel_sdvo_connector); +} + +static bool intel_sdvo_detect_hdmi_audio(struct drm_connector *connector) +{ + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + struct edid *edid; + bool has_audio = false; + + if (!intel_sdvo->is_hdmi) + return false; + + edid = intel_sdvo_get_edid(connector); + if (edid != NULL && edid->input & DRM_EDID_INPUT_DIGITAL) + has_audio = drm_detect_monitor_audio(edid); + kfree(edid); + + return has_audio; +} + +static int +intel_sdvo_set_property(struct drm_connector *connector, + struct drm_property *property, + uint64_t val) +{ + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); + struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); + struct drm_i915_private *dev_priv = connector->dev->dev_private; + uint16_t temp_value; + uint8_t cmd; + int ret; + + ret = drm_connector_property_set_value(connector, property, val); + if (ret) + return ret; + + if (property == dev_priv->force_audio_property) { + int i = val; + bool has_audio; + + if (i == intel_sdvo_connector->force_audio) + return 0; + + intel_sdvo_connector->force_audio = i; + + if (i == HDMI_AUDIO_AUTO) + has_audio = intel_sdvo_detect_hdmi_audio(connector); + else + has_audio = (i == HDMI_AUDIO_ON); + + if (has_audio == intel_sdvo->has_hdmi_audio) + return 0; + + intel_sdvo->has_hdmi_audio = has_audio; + goto done; + } + + if (property == dev_priv->broadcast_rgb_property) { + if (val == !!intel_sdvo->color_range) + return 0; + + intel_sdvo->color_range = val ? SDVO_COLOR_RANGE_16_235 : 0; + goto done; + } + +#define CHECK_PROPERTY(name, NAME) \ + if (intel_sdvo_connector->name == property) { \ + if (intel_sdvo_connector->cur_##name == temp_value) return 0; \ + if (intel_sdvo_connector->max_##name < temp_value) return -EINVAL; \ + cmd = SDVO_CMD_SET_##NAME; \ + intel_sdvo_connector->cur_##name = temp_value; \ + goto set_value; \ + } + + if (property == intel_sdvo_connector->tv_format) { + if (val >= TV_FORMAT_NUM) + return -EINVAL; + + if (intel_sdvo->tv_format_index == + intel_sdvo_connector->tv_format_supported[val]) + return 0; + + intel_sdvo->tv_format_index = intel_sdvo_connector->tv_format_supported[val]; + goto done; + } else if (IS_TV_OR_LVDS(intel_sdvo_connector)) { + temp_value = val; + if (intel_sdvo_connector->left == property) { + drm_connector_property_set_value(connector, + intel_sdvo_connector->right, val); + if (intel_sdvo_connector->left_margin == temp_value) + return 0; + + intel_sdvo_connector->left_margin = temp_value; + intel_sdvo_connector->right_margin = temp_value; + temp_value = intel_sdvo_connector->max_hscan - + intel_sdvo_connector->left_margin; + cmd = SDVO_CMD_SET_OVERSCAN_H; + goto set_value; + } else if (intel_sdvo_connector->right == property) { + drm_connector_property_set_value(connector, + intel_sdvo_connector->left, val); + if (intel_sdvo_connector->right_margin == temp_value) + return 0; + + intel_sdvo_connector->left_margin = temp_value; + intel_sdvo_connector->right_margin = temp_value; + temp_value = intel_sdvo_connector->max_hscan - + intel_sdvo_connector->left_margin; + cmd = SDVO_CMD_SET_OVERSCAN_H; + goto set_value; + } else if (intel_sdvo_connector->top == property) { + drm_connector_property_set_value(connector, + intel_sdvo_connector->bottom, val); + if (intel_sdvo_connector->top_margin == temp_value) + return 0; + + intel_sdvo_connector->top_margin = temp_value; + intel_sdvo_connector->bottom_margin = temp_value; + temp_value = intel_sdvo_connector->max_vscan - + intel_sdvo_connector->top_margin; + cmd = SDVO_CMD_SET_OVERSCAN_V; + goto set_value; + } else if (intel_sdvo_connector->bottom == property) { + drm_connector_property_set_value(connector, + intel_sdvo_connector->top, val); + if (intel_sdvo_connector->bottom_margin == temp_value) + return 0; + + intel_sdvo_connector->top_margin = temp_value; + intel_sdvo_connector->bottom_margin = temp_value; + temp_value = intel_sdvo_connector->max_vscan - + intel_sdvo_connector->top_margin; + cmd = SDVO_CMD_SET_OVERSCAN_V; + goto set_value; + } + CHECK_PROPERTY(hpos, HPOS) + CHECK_PROPERTY(vpos, VPOS) + CHECK_PROPERTY(saturation, SATURATION) + CHECK_PROPERTY(contrast, CONTRAST) + CHECK_PROPERTY(hue, HUE) + CHECK_PROPERTY(brightness, BRIGHTNESS) + CHECK_PROPERTY(sharpness, SHARPNESS) + CHECK_PROPERTY(flicker_filter, FLICKER_FILTER) + CHECK_PROPERTY(flicker_filter_2d, FLICKER_FILTER_2D) + CHECK_PROPERTY(flicker_filter_adaptive, FLICKER_FILTER_ADAPTIVE) + CHECK_PROPERTY(tv_chroma_filter, TV_CHROMA_FILTER) + CHECK_PROPERTY(tv_luma_filter, TV_LUMA_FILTER) + CHECK_PROPERTY(dot_crawl, DOT_CRAWL) + } + + return -EINVAL; /* unknown property */ + +set_value: + if (!intel_sdvo_set_value(intel_sdvo, cmd, &temp_value, 2)) + return -EIO; + + +done: + if (intel_sdvo->base.base.crtc) { + struct drm_crtc *crtc = intel_sdvo->base.base.crtc; + intel_set_mode(crtc, &crtc->mode, + crtc->x, crtc->y, crtc->fb); + } + + return 0; +#undef CHECK_PROPERTY +} + +static const struct drm_encoder_helper_funcs intel_sdvo_helper_funcs = { + .mode_fixup = intel_sdvo_mode_fixup, + .mode_set = intel_sdvo_mode_set, + .disable = intel_encoder_noop, +}; + +static const struct drm_connector_funcs intel_sdvo_connector_funcs = { + .dpms = intel_sdvo_dpms, + .detect = intel_sdvo_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = intel_sdvo_set_property, + .destroy = intel_sdvo_destroy, +}; + +static const struct drm_connector_helper_funcs intel_sdvo_connector_helper_funcs = { + .get_modes = intel_sdvo_get_modes, + .mode_valid = intel_sdvo_mode_valid, + .best_encoder = intel_best_encoder, +}; + +static void intel_sdvo_enc_destroy(struct drm_encoder *encoder) +{ + struct intel_sdvo *intel_sdvo = to_intel_sdvo(encoder); + + if (intel_sdvo->sdvo_lvds_fixed_mode != NULL) + drm_mode_destroy(encoder->dev, + intel_sdvo->sdvo_lvds_fixed_mode); + + i2c_del_adapter(&intel_sdvo->ddc); + intel_encoder_destroy(encoder); +} + +static const struct drm_encoder_funcs intel_sdvo_enc_funcs = { + .destroy = intel_sdvo_enc_destroy, +}; + +static void +intel_sdvo_guess_ddc_bus(struct intel_sdvo *sdvo) +{ + uint16_t mask = 0; + unsigned int num_bits; + + /* Make a mask of outputs less than or equal to our own priority in the + * list. + */ + switch (sdvo->controlled_output) { + case SDVO_OUTPUT_LVDS1: + mask |= SDVO_OUTPUT_LVDS1; + case SDVO_OUTPUT_LVDS0: + mask |= SDVO_OUTPUT_LVDS0; + case SDVO_OUTPUT_TMDS1: + mask |= SDVO_OUTPUT_TMDS1; + case SDVO_OUTPUT_TMDS0: + mask |= SDVO_OUTPUT_TMDS0; + case SDVO_OUTPUT_RGB1: + mask |= SDVO_OUTPUT_RGB1; + case SDVO_OUTPUT_RGB0: + mask |= SDVO_OUTPUT_RGB0; + break; + } + + /* Count bits to find what number we are in the priority list. */ + mask &= sdvo->caps.output_flags; + num_bits = hweight16(mask); + /* If more than 3 outputs, default to DDC bus 3 for now. */ + if (num_bits > 3) + num_bits = 3; + + /* Corresponds to SDVO_CONTROL_BUS_DDCx */ + sdvo->ddc_bus = 1 << num_bits; +} + +/** + * Choose the appropriate DDC bus for control bus switch command for this + * SDVO output based on the controlled output. + * + * DDC bus number assignment is in a priority order of RGB outputs, then TMDS + * outputs, then LVDS outputs. + */ +static void +intel_sdvo_select_ddc_bus(struct drm_i915_private *dev_priv, + struct intel_sdvo *sdvo, u32 reg) +{ + struct sdvo_device_mapping *mapping; + + if (sdvo->is_sdvob) + mapping = &(dev_priv->sdvo_mappings[0]); + else + mapping = &(dev_priv->sdvo_mappings[1]); + + if (mapping->initialized) + sdvo->ddc_bus = 1 << ((mapping->ddc_pin & 0xf0) >> 4); + else + intel_sdvo_guess_ddc_bus(sdvo); +} + +static void +intel_sdvo_select_i2c_bus(struct drm_i915_private *dev_priv, + struct intel_sdvo *sdvo, u32 reg) +{ + struct sdvo_device_mapping *mapping; + u8 pin; + + if (sdvo->is_sdvob) + mapping = &dev_priv->sdvo_mappings[0]; + else + mapping = &dev_priv->sdvo_mappings[1]; + + if (mapping->initialized && intel_gmbus_is_port_valid(mapping->i2c_pin)) + pin = mapping->i2c_pin; + else + pin = GMBUS_PORT_DPB; + + sdvo->i2c = intel_gmbus_get_adapter(dev_priv, pin); + + /* With gmbus we should be able to drive sdvo i2c at 2MHz, but somehow + * our code totally fails once we start using gmbus. Hence fall back to + * bit banging for now. */ + intel_gmbus_force_bit(sdvo->i2c, true); +} + +/* undo any changes intel_sdvo_select_i2c_bus() did to sdvo->i2c */ +static void +intel_sdvo_unselect_i2c_bus(struct intel_sdvo *sdvo) +{ + intel_gmbus_force_bit(sdvo->i2c, false); +} + +static bool +intel_sdvo_is_hdmi_connector(struct intel_sdvo *intel_sdvo, int device) +{ + return intel_sdvo_check_supp_encode(intel_sdvo); +} + +static u8 +intel_sdvo_get_slave_addr(struct drm_device *dev, struct intel_sdvo *sdvo) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct sdvo_device_mapping *my_mapping, *other_mapping; + + if (sdvo->is_sdvob) { + my_mapping = &dev_priv->sdvo_mappings[0]; + other_mapping = &dev_priv->sdvo_mappings[1]; + } else { + my_mapping = &dev_priv->sdvo_mappings[1]; + other_mapping = &dev_priv->sdvo_mappings[0]; + } + + /* If the BIOS described our SDVO device, take advantage of it. */ + if (my_mapping->slave_addr) + return my_mapping->slave_addr; + + /* If the BIOS only described a different SDVO device, use the + * address that it isn't using. + */ + if (other_mapping->slave_addr) { + if (other_mapping->slave_addr == 0x70) + return 0x72; + else + return 0x70; + } + + /* No SDVO device info is found for another DVO port, + * so use mapping assumption we had before BIOS parsing. + */ + if (sdvo->is_sdvob) + return 0x70; + else + return 0x72; +} + +static void +intel_sdvo_connector_init(struct intel_sdvo_connector *connector, + struct intel_sdvo *encoder) +{ + drm_connector_init(encoder->base.base.dev, + &connector->base.base, + &intel_sdvo_connector_funcs, + connector->base.base.connector_type); + + drm_connector_helper_add(&connector->base.base, + &intel_sdvo_connector_helper_funcs); + + connector->base.base.interlace_allowed = 1; + connector->base.base.doublescan_allowed = 0; + connector->base.base.display_info.subpixel_order = SubPixelHorizontalRGB; + connector->base.get_hw_state = intel_sdvo_connector_get_hw_state; + + intel_connector_attach_encoder(&connector->base, &encoder->base); + drm_sysfs_connector_add(&connector->base.base); +} + +static void +intel_sdvo_add_hdmi_properties(struct intel_sdvo_connector *connector) +{ + struct drm_device *dev = connector->base.base.dev; + + intel_attach_force_audio_property(&connector->base.base); + if (INTEL_INFO(dev)->gen >= 4 && IS_MOBILE(dev)) + intel_attach_broadcast_rgb_property(&connector->base.base); +} + +static bool +intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) +{ + struct drm_encoder *encoder = &intel_sdvo->base.base; + struct drm_connector *connector; + struct intel_encoder *intel_encoder = to_intel_encoder(encoder); + struct intel_connector *intel_connector; + struct intel_sdvo_connector *intel_sdvo_connector; + + intel_sdvo_connector = kzalloc(sizeof(struct intel_sdvo_connector), GFP_KERNEL); + if (!intel_sdvo_connector) + return false; + + if (device == 0) { + intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS0; + intel_sdvo_connector->output_flag = SDVO_OUTPUT_TMDS0; + } else if (device == 1) { + intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS1; + intel_sdvo_connector->output_flag = SDVO_OUTPUT_TMDS1; + } + + intel_connector = &intel_sdvo_connector->base; + connector = &intel_connector->base; + if (intel_sdvo_get_hotplug_support(intel_sdvo) & + intel_sdvo_connector->output_flag) { + connector->polled = DRM_CONNECTOR_POLL_HPD; + intel_sdvo->hotplug_active |= intel_sdvo_connector->output_flag; + /* Some SDVO devices have one-shot hotplug interrupts. + * Ensure that they get re-enabled when an interrupt happens. + */ + intel_encoder->hot_plug = intel_sdvo_enable_hotplug; + intel_sdvo_enable_hotplug(intel_encoder); + } else { + connector->polled = DRM_CONNECTOR_POLL_CONNECT | DRM_CONNECTOR_POLL_DISCONNECT; + } + encoder->encoder_type = DRM_MODE_ENCODER_TMDS; + connector->connector_type = DRM_MODE_CONNECTOR_DVID; + + if (intel_sdvo_is_hdmi_connector(intel_sdvo, device)) { + connector->connector_type = DRM_MODE_CONNECTOR_HDMIA; + intel_sdvo->is_hdmi = true; + } + + intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo); + if (intel_sdvo->is_hdmi) + intel_sdvo_add_hdmi_properties(intel_sdvo_connector); + + return true; +} + +static bool +intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) +{ + struct drm_encoder *encoder = &intel_sdvo->base.base; + struct drm_connector *connector; + struct intel_connector *intel_connector; + struct intel_sdvo_connector *intel_sdvo_connector; + + intel_sdvo_connector = kzalloc(sizeof(struct intel_sdvo_connector), GFP_KERNEL); + if (!intel_sdvo_connector) + return false; + + intel_connector = &intel_sdvo_connector->base; + connector = &intel_connector->base; + encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; + connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; + + intel_sdvo->controlled_output |= type; + intel_sdvo_connector->output_flag = type; + + intel_sdvo->is_tv = true; + intel_sdvo->base.needs_tv_clock = true; + + intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo); + + if (!intel_sdvo_tv_create_property(intel_sdvo, intel_sdvo_connector, type)) + goto err; + + if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector)) + goto err; + + return true; + +err: + intel_sdvo_destroy(connector); + return false; +} + +static bool +intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) +{ + struct drm_encoder *encoder = &intel_sdvo->base.base; + struct drm_connector *connector; + struct intel_connector *intel_connector; + struct intel_sdvo_connector *intel_sdvo_connector; + + intel_sdvo_connector = kzalloc(sizeof(struct intel_sdvo_connector), GFP_KERNEL); + if (!intel_sdvo_connector) + return false; + + intel_connector = &intel_sdvo_connector->base; + connector = &intel_connector->base; + connector->polled = DRM_CONNECTOR_POLL_CONNECT; + encoder->encoder_type = DRM_MODE_ENCODER_DAC; + connector->connector_type = DRM_MODE_CONNECTOR_VGA; + + if (device == 0) { + intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB0; + intel_sdvo_connector->output_flag = SDVO_OUTPUT_RGB0; + } else if (device == 1) { + intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB1; + intel_sdvo_connector->output_flag = SDVO_OUTPUT_RGB1; + } + + intel_sdvo_connector_init(intel_sdvo_connector, + intel_sdvo); + return true; +} + +static bool +intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) +{ + struct drm_encoder *encoder = &intel_sdvo->base.base; + struct drm_connector *connector; + struct intel_connector *intel_connector; + struct intel_sdvo_connector *intel_sdvo_connector; + + intel_sdvo_connector = kzalloc(sizeof(struct intel_sdvo_connector), GFP_KERNEL); + if (!intel_sdvo_connector) + return false; + + intel_connector = &intel_sdvo_connector->base; + connector = &intel_connector->base; + encoder->encoder_type = DRM_MODE_ENCODER_LVDS; + connector->connector_type = DRM_MODE_CONNECTOR_LVDS; + + if (device == 0) { + intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS0; + intel_sdvo_connector->output_flag = SDVO_OUTPUT_LVDS0; + } else if (device == 1) { + intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS1; + intel_sdvo_connector->output_flag = SDVO_OUTPUT_LVDS1; + } + + intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo); + if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector)) + goto err; + + return true; + +err: + intel_sdvo_destroy(connector); + return false; +} + +static bool +intel_sdvo_output_setup(struct intel_sdvo *intel_sdvo, uint16_t flags) +{ + intel_sdvo->is_tv = false; + intel_sdvo->base.needs_tv_clock = false; + intel_sdvo->is_lvds = false; + + /* SDVO requires XXX1 function may not exist unless it has XXX0 function.*/ + + if (flags & SDVO_OUTPUT_TMDS0) + if (!intel_sdvo_dvi_init(intel_sdvo, 0)) + return false; + + if ((flags & SDVO_TMDS_MASK) == SDVO_TMDS_MASK) + if (!intel_sdvo_dvi_init(intel_sdvo, 1)) + return false; + + /* TV has no XXX1 function block */ + if (flags & SDVO_OUTPUT_SVID0) + if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_SVID0)) + return false; + + if (flags & SDVO_OUTPUT_CVBS0) + if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_CVBS0)) + return false; + + if (flags & SDVO_OUTPUT_YPRPB0) + if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_YPRPB0)) + return false; + + if (flags & SDVO_OUTPUT_RGB0) + if (!intel_sdvo_analog_init(intel_sdvo, 0)) + return false; + + if ((flags & SDVO_RGB_MASK) == SDVO_RGB_MASK) + if (!intel_sdvo_analog_init(intel_sdvo, 1)) + return false; + + if (flags & SDVO_OUTPUT_LVDS0) + if (!intel_sdvo_lvds_init(intel_sdvo, 0)) + return false; + + if ((flags & SDVO_LVDS_MASK) == SDVO_LVDS_MASK) + if (!intel_sdvo_lvds_init(intel_sdvo, 1)) + return false; + + if ((flags & SDVO_OUTPUT_MASK) == 0) { + unsigned char bytes[2]; + + intel_sdvo->controlled_output = 0; + memcpy(bytes, &intel_sdvo->caps.output_flags, 2); + DRM_DEBUG_KMS("%s: Unknown SDVO output type (0x%02x%02x)\n", + SDVO_NAME(intel_sdvo), + bytes[0], bytes[1]); + return false; + } + intel_sdvo->base.crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); + + return true; +} + +static void intel_sdvo_output_cleanup(struct intel_sdvo *intel_sdvo) +{ + struct drm_device *dev = intel_sdvo->base.base.dev; + struct drm_connector *connector, *tmp; + + list_for_each_entry_safe(connector, tmp, + &dev->mode_config.connector_list, head) { + if (intel_attached_encoder(connector) == &intel_sdvo->base) + intel_sdvo_destroy(connector); + } +} + +static bool intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_connector *intel_sdvo_connector, + int type) +{ + struct drm_device *dev = intel_sdvo->base.base.dev; + struct intel_sdvo_tv_format format; + uint32_t format_map, i; + + if (!intel_sdvo_set_target_output(intel_sdvo, type)) + return false; + + BUILD_BUG_ON(sizeof(format) != 6); + if (!intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_SUPPORTED_TV_FORMATS, + &format, sizeof(format))) + return false; + + memcpy(&format_map, &format, min(sizeof(format_map), sizeof(format))); + + if (format_map == 0) + return false; + + intel_sdvo_connector->format_supported_num = 0; + for (i = 0 ; i < TV_FORMAT_NUM; i++) + if (format_map & (1 << i)) + intel_sdvo_connector->tv_format_supported[intel_sdvo_connector->format_supported_num++] = i; + + + intel_sdvo_connector->tv_format = + drm_property_create(dev, DRM_MODE_PROP_ENUM, + "mode", intel_sdvo_connector->format_supported_num); + if (!intel_sdvo_connector->tv_format) + return false; + + for (i = 0; i < intel_sdvo_connector->format_supported_num; i++) + drm_property_add_enum( + intel_sdvo_connector->tv_format, i, + i, tv_format_names[intel_sdvo_connector->tv_format_supported[i]]); + + intel_sdvo->tv_format_index = intel_sdvo_connector->tv_format_supported[0]; + drm_connector_attach_property(&intel_sdvo_connector->base.base, + intel_sdvo_connector->tv_format, 0); + return true; + +} + +#define ENHANCEMENT(name, NAME) do { \ + if (enhancements.name) { \ + if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_MAX_##NAME, &data_value, 4) || \ + !intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_##NAME, &response, 2)) \ + return false; \ + intel_sdvo_connector->max_##name = data_value[0]; \ + intel_sdvo_connector->cur_##name = response; \ + intel_sdvo_connector->name = \ + drm_property_create_range(dev, 0, #name, 0, data_value[0]); \ + if (!intel_sdvo_connector->name) return false; \ + drm_connector_attach_property(connector, \ + intel_sdvo_connector->name, \ + intel_sdvo_connector->cur_##name); \ + DRM_DEBUG_KMS(#name ": max %d, default %d, current %d\n", \ + data_value[0], data_value[1], response); \ + } \ +} while (0) + +static bool +intel_sdvo_create_enhance_property_tv(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_connector *intel_sdvo_connector, + struct intel_sdvo_enhancements_reply enhancements) +{ + struct drm_device *dev = intel_sdvo->base.base.dev; + struct drm_connector *connector = &intel_sdvo_connector->base.base; + uint16_t response, data_value[2]; + + /* when horizontal overscan is supported, Add the left/right property */ + if (enhancements.overscan_h) { + if (!intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_MAX_OVERSCAN_H, + &data_value, 4)) + return false; + + if (!intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_OVERSCAN_H, + &response, 2)) + return false; + + intel_sdvo_connector->max_hscan = data_value[0]; + intel_sdvo_connector->left_margin = data_value[0] - response; + intel_sdvo_connector->right_margin = intel_sdvo_connector->left_margin; + intel_sdvo_connector->left = + drm_property_create_range(dev, 0, "left_margin", 0, data_value[0]); + if (!intel_sdvo_connector->left) + return false; + + drm_connector_attach_property(connector, + intel_sdvo_connector->left, + intel_sdvo_connector->left_margin); + + intel_sdvo_connector->right = + drm_property_create_range(dev, 0, "right_margin", 0, data_value[0]); + if (!intel_sdvo_connector->right) + return false; + + drm_connector_attach_property(connector, + intel_sdvo_connector->right, + intel_sdvo_connector->right_margin); + DRM_DEBUG_KMS("h_overscan: max %d, " + "default %d, current %d\n", + data_value[0], data_value[1], response); + } + + if (enhancements.overscan_v) { + if (!intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_MAX_OVERSCAN_V, + &data_value, 4)) + return false; + + if (!intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_OVERSCAN_V, + &response, 2)) + return false; + + intel_sdvo_connector->max_vscan = data_value[0]; + intel_sdvo_connector->top_margin = data_value[0] - response; + intel_sdvo_connector->bottom_margin = intel_sdvo_connector->top_margin; + intel_sdvo_connector->top = + drm_property_create_range(dev, 0, + "top_margin", 0, data_value[0]); + if (!intel_sdvo_connector->top) + return false; + + drm_connector_attach_property(connector, + intel_sdvo_connector->top, + intel_sdvo_connector->top_margin); + + intel_sdvo_connector->bottom = + drm_property_create_range(dev, 0, + "bottom_margin", 0, data_value[0]); + if (!intel_sdvo_connector->bottom) + return false; + + drm_connector_attach_property(connector, + intel_sdvo_connector->bottom, + intel_sdvo_connector->bottom_margin); + DRM_DEBUG_KMS("v_overscan: max %d, " + "default %d, current %d\n", + data_value[0], data_value[1], response); + } + + ENHANCEMENT(hpos, HPOS); + ENHANCEMENT(vpos, VPOS); + ENHANCEMENT(saturation, SATURATION); + ENHANCEMENT(contrast, CONTRAST); + ENHANCEMENT(hue, HUE); + ENHANCEMENT(sharpness, SHARPNESS); + ENHANCEMENT(brightness, BRIGHTNESS); + ENHANCEMENT(flicker_filter, FLICKER_FILTER); + ENHANCEMENT(flicker_filter_adaptive, FLICKER_FILTER_ADAPTIVE); + ENHANCEMENT(flicker_filter_2d, FLICKER_FILTER_2D); + ENHANCEMENT(tv_chroma_filter, TV_CHROMA_FILTER); + ENHANCEMENT(tv_luma_filter, TV_LUMA_FILTER); + + if (enhancements.dot_crawl) { + if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_DOT_CRAWL, &response, 2)) + return false; + + intel_sdvo_connector->max_dot_crawl = 1; + intel_sdvo_connector->cur_dot_crawl = response & 0x1; + intel_sdvo_connector->dot_crawl = + drm_property_create_range(dev, 0, "dot_crawl", 0, 1); + if (!intel_sdvo_connector->dot_crawl) + return false; + + drm_connector_attach_property(connector, + intel_sdvo_connector->dot_crawl, + intel_sdvo_connector->cur_dot_crawl); + DRM_DEBUG_KMS("dot crawl: current %d\n", response); + } + + return true; +} + +static bool +intel_sdvo_create_enhance_property_lvds(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_connector *intel_sdvo_connector, + struct intel_sdvo_enhancements_reply enhancements) +{ + struct drm_device *dev = intel_sdvo->base.base.dev; + struct drm_connector *connector = &intel_sdvo_connector->base.base; + uint16_t response, data_value[2]; + + ENHANCEMENT(brightness, BRIGHTNESS); + + return true; +} +#undef ENHANCEMENT + +static bool intel_sdvo_create_enhance_property(struct intel_sdvo *intel_sdvo, + struct intel_sdvo_connector *intel_sdvo_connector) +{ + union { + struct intel_sdvo_enhancements_reply reply; + uint16_t response; + } enhancements; + + BUILD_BUG_ON(sizeof(enhancements) != 2); + + enhancements.response = 0; + intel_sdvo_get_value(intel_sdvo, + SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS, + &enhancements, sizeof(enhancements)); + if (enhancements.response == 0) { + DRM_DEBUG_KMS("No enhancement is supported\n"); + return true; + } + + if (IS_TV(intel_sdvo_connector)) + return intel_sdvo_create_enhance_property_tv(intel_sdvo, intel_sdvo_connector, enhancements.reply); + else if (IS_LVDS(intel_sdvo_connector)) + return intel_sdvo_create_enhance_property_lvds(intel_sdvo, intel_sdvo_connector, enhancements.reply); + else + return true; +} + +static int intel_sdvo_ddc_proxy_xfer(struct i2c_adapter *adapter, + struct i2c_msg *msgs, + int num) +{ + struct intel_sdvo *sdvo = adapter->algo_data; + + if (!intel_sdvo_set_control_bus_switch(sdvo, sdvo->ddc_bus)) + return -EIO; + + return sdvo->i2c->algo->master_xfer(sdvo->i2c, msgs, num); +} + +static u32 intel_sdvo_ddc_proxy_func(struct i2c_adapter *adapter) +{ + struct intel_sdvo *sdvo = adapter->algo_data; + return sdvo->i2c->algo->functionality(sdvo->i2c); +} + +static const struct i2c_algorithm intel_sdvo_ddc_proxy = { + .master_xfer = intel_sdvo_ddc_proxy_xfer, + .functionality = intel_sdvo_ddc_proxy_func +}; + +static bool +intel_sdvo_init_ddc_proxy(struct intel_sdvo *sdvo, + struct drm_device *dev) +{ + sdvo->ddc.owner = THIS_MODULE; + sdvo->ddc.class = I2C_CLASS_DDC; + snprintf(sdvo->ddc.name, I2C_NAME_SIZE, "SDVO DDC proxy"); + sdvo->ddc.dev.parent = &dev->pdev->dev; + sdvo->ddc.algo_data = sdvo; + sdvo->ddc.algo = &intel_sdvo_ddc_proxy; + + return i2c_add_adapter(&sdvo->ddc) == 0; +} + +bool intel_sdvo_init(struct drm_device *dev, uint32_t sdvo_reg, bool is_sdvob) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_encoder *intel_encoder; + struct intel_sdvo *intel_sdvo; + u32 hotplug_mask; + int i; + + intel_sdvo = kzalloc(sizeof(struct intel_sdvo), GFP_KERNEL); + if (!intel_sdvo) + return false; + + intel_sdvo->sdvo_reg = sdvo_reg; + intel_sdvo->is_sdvob = is_sdvob; + intel_sdvo->slave_addr = intel_sdvo_get_slave_addr(dev, intel_sdvo) >> 1; + intel_sdvo_select_i2c_bus(dev_priv, intel_sdvo, sdvo_reg); + if (!intel_sdvo_init_ddc_proxy(intel_sdvo, dev)) + goto err_i2c_bus; + + /* encoder type will be decided later */ + intel_encoder = &intel_sdvo->base; + intel_encoder->type = INTEL_OUTPUT_SDVO; + drm_encoder_init(dev, &intel_encoder->base, &intel_sdvo_enc_funcs, 0); + + /* Read the regs to test if we can talk to the device */ + for (i = 0; i < 0x40; i++) { + u8 byte; + + if (!intel_sdvo_read_byte(intel_sdvo, i, &byte)) { + DRM_DEBUG_KMS("No SDVO device found on %s\n", + SDVO_NAME(intel_sdvo)); + goto err; + } + } + + hotplug_mask = 0; + if (IS_G4X(dev)) { + hotplug_mask = intel_sdvo->is_sdvob ? + SDVOB_HOTPLUG_INT_STATUS_G4X : SDVOC_HOTPLUG_INT_STATUS_G4X; + } else if (IS_GEN4(dev)) { + hotplug_mask = intel_sdvo->is_sdvob ? + SDVOB_HOTPLUG_INT_STATUS_I965 : SDVOC_HOTPLUG_INT_STATUS_I965; + } else { + hotplug_mask = intel_sdvo->is_sdvob ? + SDVOB_HOTPLUG_INT_STATUS_I915 : SDVOC_HOTPLUG_INT_STATUS_I915; + } + + drm_encoder_helper_add(&intel_encoder->base, &intel_sdvo_helper_funcs); + + intel_encoder->disable = intel_disable_sdvo; + intel_encoder->enable = intel_enable_sdvo; + intel_encoder->get_hw_state = intel_sdvo_get_hw_state; + + /* In default case sdvo lvds is false */ + if (!intel_sdvo_get_capabilities(intel_sdvo, &intel_sdvo->caps)) + goto err; + + if (intel_sdvo_output_setup(intel_sdvo, + intel_sdvo->caps.output_flags) != true) { + DRM_DEBUG_KMS("SDVO output failed to setup on %s\n", + SDVO_NAME(intel_sdvo)); + /* Output_setup can leave behind connectors! */ + goto err_output; + } + + /* + * Cloning SDVO with anything is often impossible, since the SDVO + * encoder can request a special input timing mode. And even if that's + * not the case we have evidence that cloning a plain unscaled mode with + * VGA doesn't really work. Furthermore the cloning flags are way too + * simplistic anyway to express such constraints, so just give up on + * cloning for SDVO encoders. + */ + intel_sdvo->base.cloneable = false; + + /* Only enable the hotplug irq if we need it, to work around noisy + * hotplug lines. + */ + if (intel_sdvo->hotplug_active) + dev_priv->hotplug_supported_mask |= hotplug_mask; + + intel_sdvo_select_ddc_bus(dev_priv, intel_sdvo, sdvo_reg); + + /* Set the input timing to the screen. Assume always input 0. */ + if (!intel_sdvo_set_target_input(intel_sdvo)) + goto err_output; + + if (!intel_sdvo_get_input_pixel_clock_range(intel_sdvo, + &intel_sdvo->pixel_clock_min, + &intel_sdvo->pixel_clock_max)) + goto err_output; + + DRM_DEBUG_KMS("%s device VID/DID: %02X:%02X.%02X, " + "clock range %dMHz - %dMHz, " + "input 1: %c, input 2: %c, " + "output 1: %c, output 2: %c\n", + SDVO_NAME(intel_sdvo), + intel_sdvo->caps.vendor_id, intel_sdvo->caps.device_id, + intel_sdvo->caps.device_rev_id, + intel_sdvo->pixel_clock_min / 1000, + intel_sdvo->pixel_clock_max / 1000, + (intel_sdvo->caps.sdvo_inputs_mask & 0x1) ? 'Y' : 'N', + (intel_sdvo->caps.sdvo_inputs_mask & 0x2) ? 'Y' : 'N', + /* check currently supported outputs */ + intel_sdvo->caps.output_flags & + (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_RGB0) ? 'Y' : 'N', + intel_sdvo->caps.output_flags & + (SDVO_OUTPUT_TMDS1 | SDVO_OUTPUT_RGB1) ? 'Y' : 'N'); + return true; + +err_output: + intel_sdvo_output_cleanup(intel_sdvo); + +err: + drm_encoder_cleanup(&intel_encoder->base); + i2c_del_adapter(&intel_sdvo->ddc); +err_i2c_bus: + intel_sdvo_unselect_i2c_bus(intel_sdvo); + kfree(intel_sdvo); + + return false; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_sdvo_regs.h +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_sdvo_regs.h @@ -0,0 +1,730 @@ +/* + * Copyright © 2006-2007 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + */ + +/** + * @file SDVO command definitions and structures. + */ + +#define SDVO_OUTPUT_FIRST (0) +#define SDVO_OUTPUT_TMDS0 (1 << 0) +#define SDVO_OUTPUT_RGB0 (1 << 1) +#define SDVO_OUTPUT_CVBS0 (1 << 2) +#define SDVO_OUTPUT_SVID0 (1 << 3) +#define SDVO_OUTPUT_YPRPB0 (1 << 4) +#define SDVO_OUTPUT_SCART0 (1 << 5) +#define SDVO_OUTPUT_LVDS0 (1 << 6) +#define SDVO_OUTPUT_TMDS1 (1 << 8) +#define SDVO_OUTPUT_RGB1 (1 << 9) +#define SDVO_OUTPUT_CVBS1 (1 << 10) +#define SDVO_OUTPUT_SVID1 (1 << 11) +#define SDVO_OUTPUT_YPRPB1 (1 << 12) +#define SDVO_OUTPUT_SCART1 (1 << 13) +#define SDVO_OUTPUT_LVDS1 (1 << 14) +#define SDVO_OUTPUT_LAST (14) + +struct intel_sdvo_caps { + u8 vendor_id; + u8 device_id; + u8 device_rev_id; + u8 sdvo_version_major; + u8 sdvo_version_minor; + unsigned int sdvo_inputs_mask:2; + unsigned int smooth_scaling:1; + unsigned int sharp_scaling:1; + unsigned int up_scaling:1; + unsigned int down_scaling:1; + unsigned int stall_support:1; + unsigned int pad:1; + u16 output_flags; +} __attribute__((packed)); + +/* Note: SDVO detailed timing flags match EDID misc flags. */ +#define DTD_FLAG_HSYNC_POSITIVE (1 << 1) +#define DTD_FLAG_VSYNC_POSITIVE (1 << 2) +#define DTD_FLAG_INTERLACE (1 << 7) + +/** This matches the EDID DTD structure, more or less */ +struct intel_sdvo_dtd { + struct { + u16 clock; /**< pixel clock, in 10kHz units */ + u8 h_active; /**< lower 8 bits (pixels) */ + u8 h_blank; /**< lower 8 bits (pixels) */ + u8 h_high; /**< upper 4 bits each h_active, h_blank */ + u8 v_active; /**< lower 8 bits (lines) */ + u8 v_blank; /**< lower 8 bits (lines) */ + u8 v_high; /**< upper 4 bits each v_active, v_blank */ + } part1; + + struct { + u8 h_sync_off; /**< lower 8 bits, from hblank start */ + u8 h_sync_width; /**< lower 8 bits (pixels) */ + /** lower 4 bits each vsync offset, vsync width */ + u8 v_sync_off_width; + /** + * 2 high bits of hsync offset, 2 high bits of hsync width, + * bits 4-5 of vsync offset, and 2 high bits of vsync width. + */ + u8 sync_off_width_high; + u8 dtd_flags; + u8 sdvo_flags; + /** bits 6-7 of vsync offset at bits 6-7 */ + u8 v_sync_off_high; + u8 reserved; + } part2; +} __attribute__((packed)); + +struct intel_sdvo_pixel_clock_range { + u16 min; /**< pixel clock, in 10kHz units */ + u16 max; /**< pixel clock, in 10kHz units */ +} __attribute__((packed)); + +struct intel_sdvo_preferred_input_timing_args { + u16 clock; + u16 width; + u16 height; + u8 interlace:1; + u8 scaled:1; + u8 pad:6; +} __attribute__((packed)); + +/* I2C registers for SDVO */ +#define SDVO_I2C_ARG_0 0x07 +#define SDVO_I2C_ARG_1 0x06 +#define SDVO_I2C_ARG_2 0x05 +#define SDVO_I2C_ARG_3 0x04 +#define SDVO_I2C_ARG_4 0x03 +#define SDVO_I2C_ARG_5 0x02 +#define SDVO_I2C_ARG_6 0x01 +#define SDVO_I2C_ARG_7 0x00 +#define SDVO_I2C_OPCODE 0x08 +#define SDVO_I2C_CMD_STATUS 0x09 +#define SDVO_I2C_RETURN_0 0x0a +#define SDVO_I2C_RETURN_1 0x0b +#define SDVO_I2C_RETURN_2 0x0c +#define SDVO_I2C_RETURN_3 0x0d +#define SDVO_I2C_RETURN_4 0x0e +#define SDVO_I2C_RETURN_5 0x0f +#define SDVO_I2C_RETURN_6 0x10 +#define SDVO_I2C_RETURN_7 0x11 +#define SDVO_I2C_VENDOR_BEGIN 0x20 + +/* Status results */ +#define SDVO_CMD_STATUS_POWER_ON 0x0 +#define SDVO_CMD_STATUS_SUCCESS 0x1 +#define SDVO_CMD_STATUS_NOTSUPP 0x2 +#define SDVO_CMD_STATUS_INVALID_ARG 0x3 +#define SDVO_CMD_STATUS_PENDING 0x4 +#define SDVO_CMD_STATUS_TARGET_NOT_SPECIFIED 0x5 +#define SDVO_CMD_STATUS_SCALING_NOT_SUPP 0x6 + +/* SDVO commands, argument/result registers */ + +#define SDVO_CMD_RESET 0x01 + +/** Returns a struct intel_sdvo_caps */ +#define SDVO_CMD_GET_DEVICE_CAPS 0x02 + +#define SDVO_CMD_GET_FIRMWARE_REV 0x86 +# define SDVO_DEVICE_FIRMWARE_MINOR SDVO_I2C_RETURN_0 +# define SDVO_DEVICE_FIRMWARE_MAJOR SDVO_I2C_RETURN_1 +# define SDVO_DEVICE_FIRMWARE_PATCH SDVO_I2C_RETURN_2 + +/** + * Reports which inputs are trained (managed to sync). + * + * Devices must have trained within 2 vsyncs of a mode change. + */ +#define SDVO_CMD_GET_TRAINED_INPUTS 0x03 +struct intel_sdvo_get_trained_inputs_response { + unsigned int input0_trained:1; + unsigned int input1_trained:1; + unsigned int pad:6; +} __attribute__((packed)); + +/** Returns a struct intel_sdvo_output_flags of active outputs. */ +#define SDVO_CMD_GET_ACTIVE_OUTPUTS 0x04 + +/** + * Sets the current set of active outputs. + * + * Takes a struct intel_sdvo_output_flags. Must be preceded by a SET_IN_OUT_MAP + * on multi-output devices. + */ +#define SDVO_CMD_SET_ACTIVE_OUTPUTS 0x05 + +/** + * Returns the current mapping of SDVO inputs to outputs on the device. + * + * Returns two struct intel_sdvo_output_flags structures. + */ +#define SDVO_CMD_GET_IN_OUT_MAP 0x06 +struct intel_sdvo_in_out_map { + u16 in0, in1; +}; + +/** + * Sets the current mapping of SDVO inputs to outputs on the device. + * + * Takes two struct i380_sdvo_output_flags structures. + */ +#define SDVO_CMD_SET_IN_OUT_MAP 0x07 + +/** + * Returns a struct intel_sdvo_output_flags of attached displays. + */ +#define SDVO_CMD_GET_ATTACHED_DISPLAYS 0x0b + +/** + * Returns a struct intel_sdvo_ouptut_flags of displays supporting hot plugging. + */ +#define SDVO_CMD_GET_HOT_PLUG_SUPPORT 0x0c + +/** + * Takes a struct intel_sdvo_output_flags. + */ +#define SDVO_CMD_SET_ACTIVE_HOT_PLUG 0x0d + +/** + * Returns a struct intel_sdvo_output_flags of displays with hot plug + * interrupts enabled. + */ +#define SDVO_CMD_GET_ACTIVE_HOT_PLUG 0x0e + +#define SDVO_CMD_GET_INTERRUPT_EVENT_SOURCE 0x0f +struct intel_sdvo_get_interrupt_event_source_response { + u16 interrupt_status; + unsigned int ambient_light_interrupt:1; + unsigned int hdmi_audio_encrypt_change:1; + unsigned int pad:6; +} __attribute__((packed)); + +/** + * Selects which input is affected by future input commands. + * + * Commands affected include SET_INPUT_TIMINGS_PART[12], + * GET_INPUT_TIMINGS_PART[12], GET_PREFERRED_INPUT_TIMINGS_PART[12], + * GET_INPUT_PIXEL_CLOCK_RANGE, and CREATE_PREFERRED_INPUT_TIMINGS. + */ +#define SDVO_CMD_SET_TARGET_INPUT 0x10 +struct intel_sdvo_set_target_input_args { + unsigned int target_1:1; + unsigned int pad:7; +} __attribute__((packed)); + +/** + * Takes a struct intel_sdvo_output_flags of which outputs are targeted by + * future output commands. + * + * Affected commands inclue SET_OUTPUT_TIMINGS_PART[12], + * GET_OUTPUT_TIMINGS_PART[12], and GET_OUTPUT_PIXEL_CLOCK_RANGE. + */ +#define SDVO_CMD_SET_TARGET_OUTPUT 0x11 + +#define SDVO_CMD_GET_INPUT_TIMINGS_PART1 0x12 +#define SDVO_CMD_GET_INPUT_TIMINGS_PART2 0x13 +#define SDVO_CMD_SET_INPUT_TIMINGS_PART1 0x14 +#define SDVO_CMD_SET_INPUT_TIMINGS_PART2 0x15 +#define SDVO_CMD_SET_OUTPUT_TIMINGS_PART1 0x16 +#define SDVO_CMD_SET_OUTPUT_TIMINGS_PART2 0x17 +#define SDVO_CMD_GET_OUTPUT_TIMINGS_PART1 0x18 +#define SDVO_CMD_GET_OUTPUT_TIMINGS_PART2 0x19 +/* Part 1 */ +# define SDVO_DTD_CLOCK_LOW SDVO_I2C_ARG_0 +# define SDVO_DTD_CLOCK_HIGH SDVO_I2C_ARG_1 +# define SDVO_DTD_H_ACTIVE SDVO_I2C_ARG_2 +# define SDVO_DTD_H_BLANK SDVO_I2C_ARG_3 +# define SDVO_DTD_H_HIGH SDVO_I2C_ARG_4 +# define SDVO_DTD_V_ACTIVE SDVO_I2C_ARG_5 +# define SDVO_DTD_V_BLANK SDVO_I2C_ARG_6 +# define SDVO_DTD_V_HIGH SDVO_I2C_ARG_7 +/* Part 2 */ +# define SDVO_DTD_HSYNC_OFF SDVO_I2C_ARG_0 +# define SDVO_DTD_HSYNC_WIDTH SDVO_I2C_ARG_1 +# define SDVO_DTD_VSYNC_OFF_WIDTH SDVO_I2C_ARG_2 +# define SDVO_DTD_SYNC_OFF_WIDTH_HIGH SDVO_I2C_ARG_3 +# define SDVO_DTD_DTD_FLAGS SDVO_I2C_ARG_4 +# define SDVO_DTD_DTD_FLAG_INTERLACED (1 << 7) +# define SDVO_DTD_DTD_FLAG_STEREO_MASK (3 << 5) +# define SDVO_DTD_DTD_FLAG_INPUT_MASK (3 << 3) +# define SDVO_DTD_DTD_FLAG_SYNC_MASK (3 << 1) +# define SDVO_DTD_SDVO_FLAS SDVO_I2C_ARG_5 +# define SDVO_DTD_SDVO_FLAG_STALL (1 << 7) +# define SDVO_DTD_SDVO_FLAG_CENTERED (0 << 6) +# define SDVO_DTD_SDVO_FLAG_UPPER_LEFT (1 << 6) +# define SDVO_DTD_SDVO_FLAG_SCALING_MASK (3 << 4) +# define SDVO_DTD_SDVO_FLAG_SCALING_NONE (0 << 4) +# define SDVO_DTD_SDVO_FLAG_SCALING_SHARP (1 << 4) +# define SDVO_DTD_SDVO_FLAG_SCALING_SMOOTH (2 << 4) +# define SDVO_DTD_VSYNC_OFF_HIGH SDVO_I2C_ARG_6 + +/** + * Generates a DTD based on the given width, height, and flags. + * + * This will be supported by any device supporting scaling or interlaced + * modes. + */ +#define SDVO_CMD_CREATE_PREFERRED_INPUT_TIMING 0x1a +# define SDVO_PREFERRED_INPUT_TIMING_CLOCK_LOW SDVO_I2C_ARG_0 +# define SDVO_PREFERRED_INPUT_TIMING_CLOCK_HIGH SDVO_I2C_ARG_1 +# define SDVO_PREFERRED_INPUT_TIMING_WIDTH_LOW SDVO_I2C_ARG_2 +# define SDVO_PREFERRED_INPUT_TIMING_WIDTH_HIGH SDVO_I2C_ARG_3 +# define SDVO_PREFERRED_INPUT_TIMING_HEIGHT_LOW SDVO_I2C_ARG_4 +# define SDVO_PREFERRED_INPUT_TIMING_HEIGHT_HIGH SDVO_I2C_ARG_5 +# define SDVO_PREFERRED_INPUT_TIMING_FLAGS SDVO_I2C_ARG_6 +# define SDVO_PREFERRED_INPUT_TIMING_FLAGS_INTERLACED (1 << 0) +# define SDVO_PREFERRED_INPUT_TIMING_FLAGS_SCALED (1 << 1) + +#define SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART1 0x1b +#define SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART2 0x1c + +/** Returns a struct intel_sdvo_pixel_clock_range */ +#define SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE 0x1d +/** Returns a struct intel_sdvo_pixel_clock_range */ +#define SDVO_CMD_GET_OUTPUT_PIXEL_CLOCK_RANGE 0x1e + +/** Returns a byte bitfield containing SDVO_CLOCK_RATE_MULT_* flags */ +#define SDVO_CMD_GET_SUPPORTED_CLOCK_RATE_MULTS 0x1f + +/** Returns a byte containing a SDVO_CLOCK_RATE_MULT_* flag */ +#define SDVO_CMD_GET_CLOCK_RATE_MULT 0x20 +/** Takes a byte containing a SDVO_CLOCK_RATE_MULT_* flag */ +#define SDVO_CMD_SET_CLOCK_RATE_MULT 0x21 +# define SDVO_CLOCK_RATE_MULT_1X (1 << 0) +# define SDVO_CLOCK_RATE_MULT_2X (1 << 1) +# define SDVO_CLOCK_RATE_MULT_4X (1 << 3) + +#define SDVO_CMD_GET_SUPPORTED_TV_FORMATS 0x27 +/** 6 bytes of bit flags for TV formats shared by all TV format functions */ +struct intel_sdvo_tv_format { + unsigned int ntsc_m:1; + unsigned int ntsc_j:1; + unsigned int ntsc_443:1; + unsigned int pal_b:1; + unsigned int pal_d:1; + unsigned int pal_g:1; + unsigned int pal_h:1; + unsigned int pal_i:1; + + unsigned int pal_m:1; + unsigned int pal_n:1; + unsigned int pal_nc:1; + unsigned int pal_60:1; + unsigned int secam_b:1; + unsigned int secam_d:1; + unsigned int secam_g:1; + unsigned int secam_k:1; + + unsigned int secam_k1:1; + unsigned int secam_l:1; + unsigned int secam_60:1; + unsigned int hdtv_std_smpte_240m_1080i_59:1; + unsigned int hdtv_std_smpte_240m_1080i_60:1; + unsigned int hdtv_std_smpte_260m_1080i_59:1; + unsigned int hdtv_std_smpte_260m_1080i_60:1; + unsigned int hdtv_std_smpte_274m_1080i_50:1; + + unsigned int hdtv_std_smpte_274m_1080i_59:1; + unsigned int hdtv_std_smpte_274m_1080i_60:1; + unsigned int hdtv_std_smpte_274m_1080p_23:1; + unsigned int hdtv_std_smpte_274m_1080p_24:1; + unsigned int hdtv_std_smpte_274m_1080p_25:1; + unsigned int hdtv_std_smpte_274m_1080p_29:1; + unsigned int hdtv_std_smpte_274m_1080p_30:1; + unsigned int hdtv_std_smpte_274m_1080p_50:1; + + unsigned int hdtv_std_smpte_274m_1080p_59:1; + unsigned int hdtv_std_smpte_274m_1080p_60:1; + unsigned int hdtv_std_smpte_295m_1080i_50:1; + unsigned int hdtv_std_smpte_295m_1080p_50:1; + unsigned int hdtv_std_smpte_296m_720p_59:1; + unsigned int hdtv_std_smpte_296m_720p_60:1; + unsigned int hdtv_std_smpte_296m_720p_50:1; + unsigned int hdtv_std_smpte_293m_480p_59:1; + + unsigned int hdtv_std_smpte_170m_480i_59:1; + unsigned int hdtv_std_iturbt601_576i_50:1; + unsigned int hdtv_std_iturbt601_576p_50:1; + unsigned int hdtv_std_eia_7702a_480i_60:1; + unsigned int hdtv_std_eia_7702a_480p_60:1; + unsigned int pad:3; +} __attribute__((packed)); + +#define SDVO_CMD_GET_TV_FORMAT 0x28 + +#define SDVO_CMD_SET_TV_FORMAT 0x29 + +/** Returns the resolutiosn that can be used with the given TV format */ +#define SDVO_CMD_GET_SDTV_RESOLUTION_SUPPORT 0x83 +struct intel_sdvo_sdtv_resolution_request { + unsigned int ntsc_m:1; + unsigned int ntsc_j:1; + unsigned int ntsc_443:1; + unsigned int pal_b:1; + unsigned int pal_d:1; + unsigned int pal_g:1; + unsigned int pal_h:1; + unsigned int pal_i:1; + + unsigned int pal_m:1; + unsigned int pal_n:1; + unsigned int pal_nc:1; + unsigned int pal_60:1; + unsigned int secam_b:1; + unsigned int secam_d:1; + unsigned int secam_g:1; + unsigned int secam_k:1; + + unsigned int secam_k1:1; + unsigned int secam_l:1; + unsigned int secam_60:1; + unsigned int pad:5; +} __attribute__((packed)); + +struct intel_sdvo_sdtv_resolution_reply { + unsigned int res_320x200:1; + unsigned int res_320x240:1; + unsigned int res_400x300:1; + unsigned int res_640x350:1; + unsigned int res_640x400:1; + unsigned int res_640x480:1; + unsigned int res_704x480:1; + unsigned int res_704x576:1; + + unsigned int res_720x350:1; + unsigned int res_720x400:1; + unsigned int res_720x480:1; + unsigned int res_720x540:1; + unsigned int res_720x576:1; + unsigned int res_768x576:1; + unsigned int res_800x600:1; + unsigned int res_832x624:1; + + unsigned int res_920x766:1; + unsigned int res_1024x768:1; + unsigned int res_1280x1024:1; + unsigned int pad:5; +} __attribute__((packed)); + +/* Get supported resolution with squire pixel aspect ratio that can be + scaled for the requested HDTV format */ +#define SDVO_CMD_GET_SCALED_HDTV_RESOLUTION_SUPPORT 0x85 + +struct intel_sdvo_hdtv_resolution_request { + unsigned int hdtv_std_smpte_240m_1080i_59:1; + unsigned int hdtv_std_smpte_240m_1080i_60:1; + unsigned int hdtv_std_smpte_260m_1080i_59:1; + unsigned int hdtv_std_smpte_260m_1080i_60:1; + unsigned int hdtv_std_smpte_274m_1080i_50:1; + unsigned int hdtv_std_smpte_274m_1080i_59:1; + unsigned int hdtv_std_smpte_274m_1080i_60:1; + unsigned int hdtv_std_smpte_274m_1080p_23:1; + + unsigned int hdtv_std_smpte_274m_1080p_24:1; + unsigned int hdtv_std_smpte_274m_1080p_25:1; + unsigned int hdtv_std_smpte_274m_1080p_29:1; + unsigned int hdtv_std_smpte_274m_1080p_30:1; + unsigned int hdtv_std_smpte_274m_1080p_50:1; + unsigned int hdtv_std_smpte_274m_1080p_59:1; + unsigned int hdtv_std_smpte_274m_1080p_60:1; + unsigned int hdtv_std_smpte_295m_1080i_50:1; + + unsigned int hdtv_std_smpte_295m_1080p_50:1; + unsigned int hdtv_std_smpte_296m_720p_59:1; + unsigned int hdtv_std_smpte_296m_720p_60:1; + unsigned int hdtv_std_smpte_296m_720p_50:1; + unsigned int hdtv_std_smpte_293m_480p_59:1; + unsigned int hdtv_std_smpte_170m_480i_59:1; + unsigned int hdtv_std_iturbt601_576i_50:1; + unsigned int hdtv_std_iturbt601_576p_50:1; + + unsigned int hdtv_std_eia_7702a_480i_60:1; + unsigned int hdtv_std_eia_7702a_480p_60:1; + unsigned int pad:6; +} __attribute__((packed)); + +struct intel_sdvo_hdtv_resolution_reply { + unsigned int res_640x480:1; + unsigned int res_800x600:1; + unsigned int res_1024x768:1; + unsigned int res_1280x960:1; + unsigned int res_1400x1050:1; + unsigned int res_1600x1200:1; + unsigned int res_1920x1440:1; + unsigned int res_2048x1536:1; + + unsigned int res_2560x1920:1; + unsigned int res_3200x2400:1; + unsigned int res_3840x2880:1; + unsigned int pad1:5; + + unsigned int res_848x480:1; + unsigned int res_1064x600:1; + unsigned int res_1280x720:1; + unsigned int res_1360x768:1; + unsigned int res_1704x960:1; + unsigned int res_1864x1050:1; + unsigned int res_1920x1080:1; + unsigned int res_2128x1200:1; + + unsigned int res_2560x1400:1; + unsigned int res_2728x1536:1; + unsigned int res_3408x1920:1; + unsigned int res_4264x2400:1; + unsigned int res_5120x2880:1; + unsigned int pad2:3; + + unsigned int res_768x480:1; + unsigned int res_960x600:1; + unsigned int res_1152x720:1; + unsigned int res_1124x768:1; + unsigned int res_1536x960:1; + unsigned int res_1680x1050:1; + unsigned int res_1728x1080:1; + unsigned int res_1920x1200:1; + + unsigned int res_2304x1440:1; + unsigned int res_2456x1536:1; + unsigned int res_3072x1920:1; + unsigned int res_3840x2400:1; + unsigned int res_4608x2880:1; + unsigned int pad3:3; + + unsigned int res_1280x1024:1; + unsigned int pad4:7; + + unsigned int res_1280x768:1; + unsigned int pad5:7; +} __attribute__((packed)); + +/* Get supported power state returns info for encoder and monitor, rely on + last SetTargetInput and SetTargetOutput calls */ +#define SDVO_CMD_GET_SUPPORTED_POWER_STATES 0x2a +/* Get power state returns info for encoder and monitor, rely on last + SetTargetInput and SetTargetOutput calls */ +#define SDVO_CMD_GET_POWER_STATE 0x2b +#define SDVO_CMD_GET_ENCODER_POWER_STATE 0x2b +#define SDVO_CMD_SET_ENCODER_POWER_STATE 0x2c +# define SDVO_ENCODER_STATE_ON (1 << 0) +# define SDVO_ENCODER_STATE_STANDBY (1 << 1) +# define SDVO_ENCODER_STATE_SUSPEND (1 << 2) +# define SDVO_ENCODER_STATE_OFF (1 << 3) +# define SDVO_MONITOR_STATE_ON (1 << 4) +# define SDVO_MONITOR_STATE_STANDBY (1 << 5) +# define SDVO_MONITOR_STATE_SUSPEND (1 << 6) +# define SDVO_MONITOR_STATE_OFF (1 << 7) + +#define SDVO_CMD_GET_MAX_PANEL_POWER_SEQUENCING 0x2d +#define SDVO_CMD_GET_PANEL_POWER_SEQUENCING 0x2e +#define SDVO_CMD_SET_PANEL_POWER_SEQUENCING 0x2f +/** + * The panel power sequencing parameters are in units of milliseconds. + * The high fields are bits 8:9 of the 10-bit values. + */ +struct sdvo_panel_power_sequencing { + u8 t0; + u8 t1; + u8 t2; + u8 t3; + u8 t4; + + unsigned int t0_high:2; + unsigned int t1_high:2; + unsigned int t2_high:2; + unsigned int t3_high:2; + + unsigned int t4_high:2; + unsigned int pad:6; +} __attribute__((packed)); + +#define SDVO_CMD_GET_MAX_BACKLIGHT_LEVEL 0x30 +struct sdvo_max_backlight_reply { + u8 max_value; + u8 default_value; +} __attribute__((packed)); + +#define SDVO_CMD_GET_BACKLIGHT_LEVEL 0x31 +#define SDVO_CMD_SET_BACKLIGHT_LEVEL 0x32 + +#define SDVO_CMD_GET_AMBIENT_LIGHT 0x33 +struct sdvo_get_ambient_light_reply { + u16 trip_low; + u16 trip_high; + u16 value; +} __attribute__((packed)); +#define SDVO_CMD_SET_AMBIENT_LIGHT 0x34 +struct sdvo_set_ambient_light_reply { + u16 trip_low; + u16 trip_high; + unsigned int enable:1; + unsigned int pad:7; +} __attribute__((packed)); + +/* Set display power state */ +#define SDVO_CMD_SET_DISPLAY_POWER_STATE 0x7d +# define SDVO_DISPLAY_STATE_ON (1 << 0) +# define SDVO_DISPLAY_STATE_STANDBY (1 << 1) +# define SDVO_DISPLAY_STATE_SUSPEND (1 << 2) +# define SDVO_DISPLAY_STATE_OFF (1 << 3) + +#define SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS 0x84 +struct intel_sdvo_enhancements_reply { + unsigned int flicker_filter:1; + unsigned int flicker_filter_adaptive:1; + unsigned int flicker_filter_2d:1; + unsigned int saturation:1; + unsigned int hue:1; + unsigned int brightness:1; + unsigned int contrast:1; + unsigned int overscan_h:1; + + unsigned int overscan_v:1; + unsigned int hpos:1; + unsigned int vpos:1; + unsigned int sharpness:1; + unsigned int dot_crawl:1; + unsigned int dither:1; + unsigned int tv_chroma_filter:1; + unsigned int tv_luma_filter:1; +} __attribute__((packed)); + +/* Picture enhancement limits below are dependent on the current TV format, + * and thus need to be queried and set after it. + */ +#define SDVO_CMD_GET_MAX_FLICKER_FILTER 0x4d +#define SDVO_CMD_GET_MAX_FLICKER_FILTER_ADAPTIVE 0x7b +#define SDVO_CMD_GET_MAX_FLICKER_FILTER_2D 0x52 +#define SDVO_CMD_GET_MAX_SATURATION 0x55 +#define SDVO_CMD_GET_MAX_HUE 0x58 +#define SDVO_CMD_GET_MAX_BRIGHTNESS 0x5b +#define SDVO_CMD_GET_MAX_CONTRAST 0x5e +#define SDVO_CMD_GET_MAX_OVERSCAN_H 0x61 +#define SDVO_CMD_GET_MAX_OVERSCAN_V 0x64 +#define SDVO_CMD_GET_MAX_HPOS 0x67 +#define SDVO_CMD_GET_MAX_VPOS 0x6a +#define SDVO_CMD_GET_MAX_SHARPNESS 0x6d +#define SDVO_CMD_GET_MAX_TV_CHROMA_FILTER 0x74 +#define SDVO_CMD_GET_MAX_TV_LUMA_FILTER 0x77 +struct intel_sdvo_enhancement_limits_reply { + u16 max_value; + u16 default_value; +} __attribute__((packed)); + +#define SDVO_CMD_GET_LVDS_PANEL_INFORMATION 0x7f +#define SDVO_CMD_SET_LVDS_PANEL_INFORMATION 0x80 +# define SDVO_LVDS_COLOR_DEPTH_18 (0 << 0) +# define SDVO_LVDS_COLOR_DEPTH_24 (1 << 0) +# define SDVO_LVDS_CONNECTOR_SPWG (0 << 2) +# define SDVO_LVDS_CONNECTOR_OPENLDI (1 << 2) +# define SDVO_LVDS_SINGLE_CHANNEL (0 << 4) +# define SDVO_LVDS_DUAL_CHANNEL (1 << 4) + +#define SDVO_CMD_GET_FLICKER_FILTER 0x4e +#define SDVO_CMD_SET_FLICKER_FILTER 0x4f +#define SDVO_CMD_GET_FLICKER_FILTER_ADAPTIVE 0x50 +#define SDVO_CMD_SET_FLICKER_FILTER_ADAPTIVE 0x51 +#define SDVO_CMD_GET_FLICKER_FILTER_2D 0x53 +#define SDVO_CMD_SET_FLICKER_FILTER_2D 0x54 +#define SDVO_CMD_GET_SATURATION 0x56 +#define SDVO_CMD_SET_SATURATION 0x57 +#define SDVO_CMD_GET_HUE 0x59 +#define SDVO_CMD_SET_HUE 0x5a +#define SDVO_CMD_GET_BRIGHTNESS 0x5c +#define SDVO_CMD_SET_BRIGHTNESS 0x5d +#define SDVO_CMD_GET_CONTRAST 0x5f +#define SDVO_CMD_SET_CONTRAST 0x60 +#define SDVO_CMD_GET_OVERSCAN_H 0x62 +#define SDVO_CMD_SET_OVERSCAN_H 0x63 +#define SDVO_CMD_GET_OVERSCAN_V 0x65 +#define SDVO_CMD_SET_OVERSCAN_V 0x66 +#define SDVO_CMD_GET_HPOS 0x68 +#define SDVO_CMD_SET_HPOS 0x69 +#define SDVO_CMD_GET_VPOS 0x6b +#define SDVO_CMD_SET_VPOS 0x6c +#define SDVO_CMD_GET_SHARPNESS 0x6e +#define SDVO_CMD_SET_SHARPNESS 0x6f +#define SDVO_CMD_GET_TV_CHROMA_FILTER 0x75 +#define SDVO_CMD_SET_TV_CHROMA_FILTER 0x76 +#define SDVO_CMD_GET_TV_LUMA_FILTER 0x78 +#define SDVO_CMD_SET_TV_LUMA_FILTER 0x79 +struct intel_sdvo_enhancements_arg { + u16 value; +} __attribute__((packed)); + +#define SDVO_CMD_GET_DOT_CRAWL 0x70 +#define SDVO_CMD_SET_DOT_CRAWL 0x71 +# define SDVO_DOT_CRAWL_ON (1 << 0) +# define SDVO_DOT_CRAWL_DEFAULT_ON (1 << 1) + +#define SDVO_CMD_GET_DITHER 0x72 +#define SDVO_CMD_SET_DITHER 0x73 +# define SDVO_DITHER_ON (1 << 0) +# define SDVO_DITHER_DEFAULT_ON (1 << 1) + +#define SDVO_CMD_SET_CONTROL_BUS_SWITCH 0x7a +# define SDVO_CONTROL_BUS_PROM (1 << 0) +# define SDVO_CONTROL_BUS_DDC1 (1 << 1) +# define SDVO_CONTROL_BUS_DDC2 (1 << 2) +# define SDVO_CONTROL_BUS_DDC3 (1 << 3) + +/* HDMI op codes */ +#define SDVO_CMD_GET_SUPP_ENCODE 0x9d +#define SDVO_CMD_GET_ENCODE 0x9e +#define SDVO_CMD_SET_ENCODE 0x9f + #define SDVO_ENCODE_DVI 0x0 + #define SDVO_ENCODE_HDMI 0x1 +#define SDVO_CMD_SET_PIXEL_REPLI 0x8b +#define SDVO_CMD_GET_PIXEL_REPLI 0x8c +#define SDVO_CMD_GET_COLORIMETRY_CAP 0x8d +#define SDVO_CMD_SET_COLORIMETRY 0x8e + #define SDVO_COLORIMETRY_RGB256 0x0 + #define SDVO_COLORIMETRY_RGB220 0x1 + #define SDVO_COLORIMETRY_YCrCb422 0x3 + #define SDVO_COLORIMETRY_YCrCb444 0x4 +#define SDVO_CMD_GET_COLORIMETRY 0x8f +#define SDVO_CMD_GET_AUDIO_ENCRYPT_PREFER 0x90 +#define SDVO_CMD_SET_AUDIO_STAT 0x91 +#define SDVO_CMD_GET_AUDIO_STAT 0x92 +#define SDVO_CMD_SET_HBUF_INDEX 0x93 + #define SDVO_HBUF_INDEX_ELD 0 + #define SDVO_HBUF_INDEX_AVI_IF 1 +#define SDVO_CMD_GET_HBUF_INDEX 0x94 +#define SDVO_CMD_GET_HBUF_INFO 0x95 +#define SDVO_CMD_SET_HBUF_AV_SPLIT 0x96 +#define SDVO_CMD_GET_HBUF_AV_SPLIT 0x97 +#define SDVO_CMD_SET_HBUF_DATA 0x98 +#define SDVO_CMD_GET_HBUF_DATA 0x99 +#define SDVO_CMD_SET_HBUF_TXRATE 0x9a +#define SDVO_CMD_GET_HBUF_TXRATE 0x9b + #define SDVO_HBUF_TX_DISABLED (0 << 6) + #define SDVO_HBUF_TX_ONCE (2 << 6) + #define SDVO_HBUF_TX_VSYNC (3 << 6) +#define SDVO_CMD_GET_AUDIO_TX_INFO 0x9c +#define SDVO_NEED_TO_STALL (1 << 7) + +struct intel_sdvo_encode { + u8 dvi_rev; + u8 hdmi_rev; +} __attribute__ ((packed)); --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_sprite.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_sprite.c @@ -0,0 +1,732 @@ +/* + * Copyright © 2011 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Authors: + * Jesse Barnes + * + * New plane/sprite handling. + * + * The older chips had a separate interface for programming plane related + * registers; newer ones are much simpler and we can use the new DRM plane + * support. + */ +#include "drmP.h" +#include "drm_crtc.h" +#include "drm_fourcc.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" + +static void +ivb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj, int crtc_x, int crtc_y, + unsigned int crtc_w, unsigned int crtc_h, + uint32_t x, uint32_t y, + uint32_t src_w, uint32_t src_h) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane = to_intel_plane(plane); + int pipe = intel_plane->pipe; + u32 sprctl, sprscale = 0; + unsigned long sprsurf_offset, linear_offset; + int pixel_size = drm_format_plane_cpp(fb->pixel_format, 0); + + sprctl = I915_READ(SPRCTL(pipe)); + + /* Mask out pixel format bits in case we change it */ + sprctl &= ~SPRITE_PIXFORMAT_MASK; + sprctl &= ~SPRITE_RGB_ORDER_RGBX; + sprctl &= ~SPRITE_YUV_BYTE_ORDER_MASK; + sprctl &= ~SPRITE_TILED; + + switch (fb->pixel_format) { + case DRM_FORMAT_XBGR8888: + sprctl |= SPRITE_FORMAT_RGBX888 | SPRITE_RGB_ORDER_RGBX; + break; + case DRM_FORMAT_XRGB8888: + sprctl |= SPRITE_FORMAT_RGBX888; + break; + case DRM_FORMAT_YUYV: + sprctl |= SPRITE_FORMAT_YUV422 | SPRITE_YUV_ORDER_YUYV; + break; + case DRM_FORMAT_YVYU: + sprctl |= SPRITE_FORMAT_YUV422 | SPRITE_YUV_ORDER_YVYU; + break; + case DRM_FORMAT_UYVY: + sprctl |= SPRITE_FORMAT_YUV422 | SPRITE_YUV_ORDER_UYVY; + break; + case DRM_FORMAT_VYUY: + sprctl |= SPRITE_FORMAT_YUV422 | SPRITE_YUV_ORDER_VYUY; + break; + default: + BUG(); + } + + if (obj->tiling_mode != I915_TILING_NONE) + sprctl |= SPRITE_TILED; + + /* must disable */ + sprctl |= SPRITE_TRICKLE_FEED_DISABLE; + sprctl |= SPRITE_ENABLE; + + /* Sizes are 0 based */ + src_w--; + src_h--; + crtc_w--; + crtc_h--; + + intel_update_sprite_watermarks(dev, pipe, crtc_w, pixel_size); + + /* + * IVB workaround: must disable low power watermarks for at least + * one frame before enabling scaling. LP watermarks can be re-enabled + * when scaling is disabled. + */ + if (crtc_w != src_w || crtc_h != src_h) { + if (!dev_priv->sprite_scaling_enabled) { + dev_priv->sprite_scaling_enabled = true; + intel_update_watermarks(dev); + intel_wait_for_vblank(dev, pipe); + } + sprscale = SPRITE_SCALE_ENABLE | (src_w << 16) | src_h; + } else { + if (dev_priv->sprite_scaling_enabled) { + dev_priv->sprite_scaling_enabled = false; + /* potentially re-enable LP watermarks */ + intel_update_watermarks(dev); + } + } + + I915_WRITE(SPRSTRIDE(pipe), fb->pitches[0]); + I915_WRITE(SPRPOS(pipe), (crtc_y << 16) | crtc_x); + + linear_offset = y * fb->pitches[0] + x * (fb->bits_per_pixel / 8); + sprsurf_offset = + intel_gen4_compute_offset_xtiled(&x, &y, + fb->bits_per_pixel / 8, + fb->pitches[0]); + linear_offset -= sprsurf_offset; + + /* HSW consolidates SPRTILEOFF and SPRLINOFF into a single SPROFFSET + * register */ + if (IS_HASWELL(dev)) + I915_WRITE(SPROFFSET(pipe), (y << 16) | x); + else if (obj->tiling_mode != I915_TILING_NONE) + I915_WRITE(SPRTILEOFF(pipe), (y << 16) | x); + else + I915_WRITE(SPRLINOFF(pipe), linear_offset); + + I915_WRITE(SPRSIZE(pipe), (crtc_h << 16) | crtc_w); + if (intel_plane->can_scale) + I915_WRITE(SPRSCALE(pipe), sprscale); + I915_WRITE(SPRCTL(pipe), sprctl); + I915_MODIFY_DISPBASE(SPRSURF(pipe), obj->gtt_offset + sprsurf_offset); + POSTING_READ(SPRSURF(pipe)); +} + +static void +ivb_disable_plane(struct drm_plane *plane) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane = to_intel_plane(plane); + int pipe = intel_plane->pipe; + + I915_WRITE(SPRCTL(pipe), I915_READ(SPRCTL(pipe)) & ~SPRITE_ENABLE); + /* Can't leave the scaler enabled... */ + if (intel_plane->can_scale) + I915_WRITE(SPRSCALE(pipe), 0); + /* Activate double buffered register update */ + I915_MODIFY_DISPBASE(SPRSURF(pipe), 0); + POSTING_READ(SPRSURF(pipe)); + + dev_priv->sprite_scaling_enabled = false; + intel_update_watermarks(dev); +} + +static int +ivb_update_colorkey(struct drm_plane *plane, + struct drm_intel_sprite_colorkey *key) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane; + u32 sprctl; + int ret = 0; + + intel_plane = to_intel_plane(plane); + + I915_WRITE(SPRKEYVAL(intel_plane->pipe), key->min_value); + I915_WRITE(SPRKEYMAX(intel_plane->pipe), key->max_value); + I915_WRITE(SPRKEYMSK(intel_plane->pipe), key->channel_mask); + + sprctl = I915_READ(SPRCTL(intel_plane->pipe)); + sprctl &= ~(SPRITE_SOURCE_KEY | SPRITE_DEST_KEY); + if (key->flags & I915_SET_COLORKEY_DESTINATION) + sprctl |= SPRITE_DEST_KEY; + else if (key->flags & I915_SET_COLORKEY_SOURCE) + sprctl |= SPRITE_SOURCE_KEY; + I915_WRITE(SPRCTL(intel_plane->pipe), sprctl); + + POSTING_READ(SPRKEYMSK(intel_plane->pipe)); + + return ret; +} + +static void +ivb_get_colorkey(struct drm_plane *plane, struct drm_intel_sprite_colorkey *key) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane; + u32 sprctl; + + intel_plane = to_intel_plane(plane); + + key->min_value = I915_READ(SPRKEYVAL(intel_plane->pipe)); + key->max_value = I915_READ(SPRKEYMAX(intel_plane->pipe)); + key->channel_mask = I915_READ(SPRKEYMSK(intel_plane->pipe)); + key->flags = 0; + + sprctl = I915_READ(SPRCTL(intel_plane->pipe)); + + if (sprctl & SPRITE_DEST_KEY) + key->flags = I915_SET_COLORKEY_DESTINATION; + else if (sprctl & SPRITE_SOURCE_KEY) + key->flags = I915_SET_COLORKEY_SOURCE; + else + key->flags = I915_SET_COLORKEY_NONE; +} + +static void +ilk_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, + struct drm_i915_gem_object *obj, int crtc_x, int crtc_y, + unsigned int crtc_w, unsigned int crtc_h, + uint32_t x, uint32_t y, + uint32_t src_w, uint32_t src_h) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane = to_intel_plane(plane); + int pipe = intel_plane->pipe; + unsigned long dvssurf_offset, linear_offset; + u32 dvscntr, dvsscale; + int pixel_size = drm_format_plane_cpp(fb->pixel_format, 0); + + dvscntr = I915_READ(DVSCNTR(pipe)); + + /* Mask out pixel format bits in case we change it */ + dvscntr &= ~DVS_PIXFORMAT_MASK; + dvscntr &= ~DVS_RGB_ORDER_XBGR; + dvscntr &= ~DVS_YUV_BYTE_ORDER_MASK; + dvscntr &= ~DVS_TILED; + + switch (fb->pixel_format) { + case DRM_FORMAT_XBGR8888: + dvscntr |= DVS_FORMAT_RGBX888 | DVS_RGB_ORDER_XBGR; + break; + case DRM_FORMAT_XRGB8888: + dvscntr |= DVS_FORMAT_RGBX888; + break; + case DRM_FORMAT_YUYV: + dvscntr |= DVS_FORMAT_YUV422 | DVS_YUV_ORDER_YUYV; + break; + case DRM_FORMAT_YVYU: + dvscntr |= DVS_FORMAT_YUV422 | DVS_YUV_ORDER_YVYU; + break; + case DRM_FORMAT_UYVY: + dvscntr |= DVS_FORMAT_YUV422 | DVS_YUV_ORDER_UYVY; + break; + case DRM_FORMAT_VYUY: + dvscntr |= DVS_FORMAT_YUV422 | DVS_YUV_ORDER_VYUY; + break; + default: + BUG(); + } + + if (obj->tiling_mode != I915_TILING_NONE) + dvscntr |= DVS_TILED; + + if (IS_GEN6(dev)) + dvscntr |= DVS_TRICKLE_FEED_DISABLE; /* must disable */ + dvscntr |= DVS_ENABLE; + + /* Sizes are 0 based */ + src_w--; + src_h--; + crtc_w--; + crtc_h--; + + intel_update_sprite_watermarks(dev, pipe, crtc_w, pixel_size); + + dvsscale = 0; + if (IS_GEN5(dev) || crtc_w != src_w || crtc_h != src_h) + dvsscale = DVS_SCALE_ENABLE | (src_w << 16) | src_h; + + I915_WRITE(DVSSTRIDE(pipe), fb->pitches[0]); + I915_WRITE(DVSPOS(pipe), (crtc_y << 16) | crtc_x); + + linear_offset = y * fb->pitches[0] + x * (fb->bits_per_pixel / 8); + dvssurf_offset = + intel_gen4_compute_offset_xtiled(&x, &y, + fb->bits_per_pixel / 8, + fb->pitches[0]); + linear_offset -= dvssurf_offset; + + if (obj->tiling_mode != I915_TILING_NONE) + I915_WRITE(DVSTILEOFF(pipe), (y << 16) | x); + else + I915_WRITE(DVSLINOFF(pipe), linear_offset); + + I915_WRITE(DVSSIZE(pipe), (crtc_h << 16) | crtc_w); + I915_WRITE(DVSSCALE(pipe), dvsscale); + I915_WRITE(DVSCNTR(pipe), dvscntr); + I915_MODIFY_DISPBASE(DVSSURF(pipe), obj->gtt_offset + dvssurf_offset); + POSTING_READ(DVSSURF(pipe)); +} + +static void +ilk_disable_plane(struct drm_plane *plane) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane = to_intel_plane(plane); + int pipe = intel_plane->pipe; + + I915_WRITE(DVSCNTR(pipe), I915_READ(DVSCNTR(pipe)) & ~DVS_ENABLE); + /* Disable the scaler */ + I915_WRITE(DVSSCALE(pipe), 0); + /* Flush double buffered register updates */ + I915_MODIFY_DISPBASE(DVSSURF(pipe), 0); + POSTING_READ(DVSSURF(pipe)); +} + +static void +intel_enable_primary(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int reg = DSPCNTR(intel_crtc->plane); + + if (!intel_crtc->primary_disabled) + return; + + intel_crtc->primary_disabled = false; + intel_update_fbc(dev); + + I915_WRITE(reg, I915_READ(reg) | DISPLAY_PLANE_ENABLE); +} + +static void +intel_disable_primary(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + int reg = DSPCNTR(intel_crtc->plane); + + if (intel_crtc->primary_disabled) + return; + + I915_WRITE(reg, I915_READ(reg) & ~DISPLAY_PLANE_ENABLE); + + intel_crtc->primary_disabled = true; + intel_update_fbc(dev); +} + +static int +ilk_update_colorkey(struct drm_plane *plane, + struct drm_intel_sprite_colorkey *key) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane; + u32 dvscntr; + int ret = 0; + + intel_plane = to_intel_plane(plane); + + I915_WRITE(DVSKEYVAL(intel_plane->pipe), key->min_value); + I915_WRITE(DVSKEYMAX(intel_plane->pipe), key->max_value); + I915_WRITE(DVSKEYMSK(intel_plane->pipe), key->channel_mask); + + dvscntr = I915_READ(DVSCNTR(intel_plane->pipe)); + dvscntr &= ~(DVS_SOURCE_KEY | DVS_DEST_KEY); + if (key->flags & I915_SET_COLORKEY_DESTINATION) + dvscntr |= DVS_DEST_KEY; + else if (key->flags & I915_SET_COLORKEY_SOURCE) + dvscntr |= DVS_SOURCE_KEY; + I915_WRITE(DVSCNTR(intel_plane->pipe), dvscntr); + + POSTING_READ(DVSKEYMSK(intel_plane->pipe)); + + return ret; +} + +static void +ilk_get_colorkey(struct drm_plane *plane, struct drm_intel_sprite_colorkey *key) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_plane *intel_plane; + u32 dvscntr; + + intel_plane = to_intel_plane(plane); + + key->min_value = I915_READ(DVSKEYVAL(intel_plane->pipe)); + key->max_value = I915_READ(DVSKEYMAX(intel_plane->pipe)); + key->channel_mask = I915_READ(DVSKEYMSK(intel_plane->pipe)); + key->flags = 0; + + dvscntr = I915_READ(DVSCNTR(intel_plane->pipe)); + + if (dvscntr & DVS_DEST_KEY) + key->flags = I915_SET_COLORKEY_DESTINATION; + else if (dvscntr & DVS_SOURCE_KEY) + key->flags = I915_SET_COLORKEY_SOURCE; + else + key->flags = I915_SET_COLORKEY_NONE; +} + +static int +intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, + struct drm_framebuffer *fb, int crtc_x, int crtc_y, + unsigned int crtc_w, unsigned int crtc_h, + uint32_t src_x, uint32_t src_y, + uint32_t src_w, uint32_t src_h) +{ + struct drm_device *dev = plane->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_plane *intel_plane = to_intel_plane(plane); + struct intel_framebuffer *intel_fb; + struct drm_i915_gem_object *obj, *old_obj; + int pipe = intel_plane->pipe; + enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, + pipe); + int ret = 0; + int x = src_x >> 16, y = src_y >> 16; + int primary_w = crtc->mode.hdisplay, primary_h = crtc->mode.vdisplay; + bool disable_primary = false; + + intel_fb = to_intel_framebuffer(fb); + obj = intel_fb->obj; + + old_obj = intel_plane->obj; + + src_w = src_w >> 16; + src_h = src_h >> 16; + + /* Pipe must be running... */ + if (!(I915_READ(PIPECONF(cpu_transcoder)) & PIPECONF_ENABLE)) + return -EINVAL; + + if (crtc_x >= primary_w || crtc_y >= primary_h) + return -EINVAL; + + /* Don't modify another pipe's plane */ + if (intel_plane->pipe != intel_crtc->pipe) + return -EINVAL; + + /* Sprite planes can be linear or x-tiled surfaces */ + switch (obj->tiling_mode) { + case I915_TILING_NONE: + case I915_TILING_X: + break; + default: + return -EINVAL; + } + + /* + * Clamp the width & height into the visible area. Note we don't + * try to scale the source if part of the visible region is offscreen. + * The caller must handle that by adjusting source offset and size. + */ + if ((crtc_x < 0) && ((crtc_x + crtc_w) > 0)) { + crtc_w += crtc_x; + crtc_x = 0; + } + if ((crtc_x + crtc_w) <= 0) /* Nothing to display */ + goto out; + if ((crtc_x + crtc_w) > primary_w) + crtc_w = primary_w - crtc_x; + + if ((crtc_y < 0) && ((crtc_y + crtc_h) > 0)) { + crtc_h += crtc_y; + crtc_y = 0; + } + if ((crtc_y + crtc_h) <= 0) /* Nothing to display */ + goto out; + if (crtc_y + crtc_h > primary_h) + crtc_h = primary_h - crtc_y; + + if (!crtc_w || !crtc_h) /* Again, nothing to display */ + goto out; + + /* + * We may not have a scaler, eg. HSW does not have it any more + */ + if (!intel_plane->can_scale && (crtc_w != src_w || crtc_h != src_h)) + return -EINVAL; + + /* + * We can take a larger source and scale it down, but + * only so much... 16x is the max on SNB. + */ + if (((src_w * src_h) / (crtc_w * crtc_h)) > intel_plane->max_downscale) + return -EINVAL; + + /* + * If the sprite is completely covering the primary plane, + * we can disable the primary and save power. + */ + if ((crtc_x == 0) && (crtc_y == 0) && + (crtc_w == primary_w) && (crtc_h == primary_h)) + disable_primary = true; + + mutex_lock(&dev->struct_mutex); + + ret = intel_pin_and_fence_fb_obj(dev, obj, NULL); + if (ret) + goto out_unlock; + + intel_plane->obj = obj; + + /* + * Be sure to re-enable the primary before the sprite is no longer + * covering it fully. + */ + if (!disable_primary) + intel_enable_primary(crtc); + + intel_plane->update_plane(plane, fb, obj, crtc_x, crtc_y, + crtc_w, crtc_h, x, y, src_w, src_h); + + if (disable_primary) + intel_disable_primary(crtc); + + /* Unpin old obj after new one is active to avoid ugliness */ + if (old_obj) { + /* + * It's fairly common to simply update the position of + * an existing object. In that case, we don't need to + * wait for vblank to avoid ugliness, we only need to + * do the pin & ref bookkeeping. + */ + if (old_obj != obj) { + mutex_unlock(&dev->struct_mutex); + intel_wait_for_vblank(dev, to_intel_crtc(crtc)->pipe); + mutex_lock(&dev->struct_mutex); + } + intel_unpin_fb_obj(old_obj); + } + +out_unlock: + mutex_unlock(&dev->struct_mutex); +out: + return ret; +} + +static int +intel_disable_plane(struct drm_plane *plane) +{ + struct drm_device *dev = plane->dev; + struct intel_plane *intel_plane = to_intel_plane(plane); + int ret = 0; + + if (plane->crtc) + intel_enable_primary(plane->crtc); + intel_plane->disable_plane(plane); + + if (!intel_plane->obj) + goto out; + + mutex_lock(&dev->struct_mutex); + intel_unpin_fb_obj(intel_plane->obj); + intel_plane->obj = NULL; + mutex_unlock(&dev->struct_mutex); +out: + + return ret; +} + +static void intel_destroy_plane(struct drm_plane *plane) +{ + struct intel_plane *intel_plane = to_intel_plane(plane); + intel_disable_plane(plane); + drm_plane_cleanup(plane); + kfree(intel_plane); +} + +int intel_sprite_set_colorkey(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_intel_sprite_colorkey *set = data; + struct drm_mode_object *obj; + struct drm_plane *plane; + struct intel_plane *intel_plane; + int ret = 0; + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + /* Make sure we don't try to enable both src & dest simultaneously */ + if ((set->flags & (I915_SET_COLORKEY_DESTINATION | I915_SET_COLORKEY_SOURCE)) == (I915_SET_COLORKEY_DESTINATION | I915_SET_COLORKEY_SOURCE)) + return -EINVAL; + + mutex_lock(&dev->mode_config.mutex); + + obj = drm_mode_object_find(dev, set->plane_id, DRM_MODE_OBJECT_PLANE); + if (!obj) { + ret = -EINVAL; + goto out_unlock; + } + + plane = obj_to_plane(obj); + intel_plane = to_intel_plane(plane); + ret = intel_plane->update_colorkey(plane, set); + +out_unlock: + mutex_unlock(&dev->mode_config.mutex); + return ret; +} + +int intel_sprite_get_colorkey(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_intel_sprite_colorkey *get = data; + struct drm_mode_object *obj; + struct drm_plane *plane; + struct intel_plane *intel_plane; + int ret = 0; + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + mutex_lock(&dev->mode_config.mutex); + + obj = drm_mode_object_find(dev, get->plane_id, DRM_MODE_OBJECT_PLANE); + if (!obj) { + ret = -EINVAL; + goto out_unlock; + } + + plane = obj_to_plane(obj); + intel_plane = to_intel_plane(plane); + intel_plane->get_colorkey(plane, get); + +out_unlock: + mutex_unlock(&dev->mode_config.mutex); + return ret; +} + +static const struct drm_plane_funcs intel_plane_funcs = { + .update_plane = intel_update_plane, + .disable_plane = intel_disable_plane, + .destroy = intel_destroy_plane, +}; + +static uint32_t ilk_plane_formats[] = { + DRM_FORMAT_XRGB8888, + DRM_FORMAT_YUYV, + DRM_FORMAT_YVYU, + DRM_FORMAT_UYVY, + DRM_FORMAT_VYUY, +}; + +static uint32_t snb_plane_formats[] = { + DRM_FORMAT_XBGR8888, + DRM_FORMAT_XRGB8888, + DRM_FORMAT_YUYV, + DRM_FORMAT_YVYU, + DRM_FORMAT_UYVY, + DRM_FORMAT_VYUY, +}; + +int +intel_plane_init(struct drm_device *dev, enum pipe pipe) +{ + struct intel_plane *intel_plane; + unsigned long possible_crtcs; + const uint32_t *plane_formats; + int num_plane_formats; + int ret; + + if (INTEL_INFO(dev)->gen < 5) + return -ENODEV; + + intel_plane = kzalloc(sizeof(struct intel_plane), GFP_KERNEL); + if (!intel_plane) + return -ENOMEM; + + switch (INTEL_INFO(dev)->gen) { + case 5: + case 6: + intel_plane->can_scale = true; + intel_plane->max_downscale = 16; + intel_plane->update_plane = ilk_update_plane; + intel_plane->disable_plane = ilk_disable_plane; + intel_plane->update_colorkey = ilk_update_colorkey; + intel_plane->get_colorkey = ilk_get_colorkey; + + if (IS_GEN6(dev)) { + plane_formats = snb_plane_formats; + num_plane_formats = ARRAY_SIZE(snb_plane_formats); + } else { + plane_formats = ilk_plane_formats; + num_plane_formats = ARRAY_SIZE(ilk_plane_formats); + } + break; + + case 7: + if (IS_HASWELL(dev) || IS_VALLEYVIEW(dev)) + intel_plane->can_scale = false; + else + intel_plane->can_scale = true; + intel_plane->max_downscale = 2; + intel_plane->update_plane = ivb_update_plane; + intel_plane->disable_plane = ivb_disable_plane; + intel_plane->update_colorkey = ivb_update_colorkey; + intel_plane->get_colorkey = ivb_get_colorkey; + + plane_formats = snb_plane_formats; + num_plane_formats = ARRAY_SIZE(snb_plane_formats); + break; + + default: + kfree(intel_plane); + return -ENODEV; + } + + intel_plane->pipe = pipe; + possible_crtcs = (1 << pipe); + ret = drm_plane_init(dev, &intel_plane->base, possible_crtcs, + &intel_plane_funcs, + plane_formats, num_plane_formats, + false); + if (ret) + kfree(intel_plane); + + return ret; +} --- linux-lowlatency-3.5.0.orig/ubuntu/i915/intel_tv.c +++ linux-lowlatency-3.5.0/ubuntu/i915/intel_tv.c @@ -0,0 +1,1673 @@ +/* + * Copyright © 2006-2008 Intel Corporation + * Jesse Barnes + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +/** @file + * Integrated TV-out support for the 915GM and 945GM. + */ + +#include "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_edid.h" +#include "intel_drv.h" +#include "i915_drm.h" +#include "i915_drv.h" + +enum tv_margin { + TV_MARGIN_LEFT, TV_MARGIN_TOP, + TV_MARGIN_RIGHT, TV_MARGIN_BOTTOM +}; + +/** Private structure for the integrated TV support */ +struct intel_tv { + struct intel_encoder base; + + int type; + const char *tv_format; + int margin[4]; + u32 save_TV_H_CTL_1; + u32 save_TV_H_CTL_2; + u32 save_TV_H_CTL_3; + u32 save_TV_V_CTL_1; + u32 save_TV_V_CTL_2; + u32 save_TV_V_CTL_3; + u32 save_TV_V_CTL_4; + u32 save_TV_V_CTL_5; + u32 save_TV_V_CTL_6; + u32 save_TV_V_CTL_7; + u32 save_TV_SC_CTL_1, save_TV_SC_CTL_2, save_TV_SC_CTL_3; + + u32 save_TV_CSC_Y; + u32 save_TV_CSC_Y2; + u32 save_TV_CSC_U; + u32 save_TV_CSC_U2; + u32 save_TV_CSC_V; + u32 save_TV_CSC_V2; + u32 save_TV_CLR_KNOBS; + u32 save_TV_CLR_LEVEL; + u32 save_TV_WIN_POS; + u32 save_TV_WIN_SIZE; + u32 save_TV_FILTER_CTL_1; + u32 save_TV_FILTER_CTL_2; + u32 save_TV_FILTER_CTL_3; + + u32 save_TV_H_LUMA[60]; + u32 save_TV_H_CHROMA[60]; + u32 save_TV_V_LUMA[43]; + u32 save_TV_V_CHROMA[43]; + + u32 save_TV_DAC; + u32 save_TV_CTL; +}; + +struct video_levels { + int blank, black, burst; +}; + +struct color_conversion { + u16 ry, gy, by, ay; + u16 ru, gu, bu, au; + u16 rv, gv, bv, av; +}; + +static const u32 filter_table[] = { + 0xB1403000, 0x2E203500, 0x35002E20, 0x3000B140, + 0x35A0B160, 0x2DC02E80, 0xB1403480, 0xB1603000, + 0x2EA03640, 0x34002D80, 0x3000B120, 0x36E0B160, + 0x2D202EF0, 0xB1203380, 0xB1603000, 0x2F303780, + 0x33002CC0, 0x3000B100, 0x3820B160, 0x2C802F50, + 0xB10032A0, 0xB1603000, 0x2F9038C0, 0x32202C20, + 0x3000B0E0, 0x3980B160, 0x2BC02FC0, 0xB0E031C0, + 0xB1603000, 0x2FF03A20, 0x31602B60, 0xB020B0C0, + 0x3AE0B160, 0x2B001810, 0xB0C03120, 0xB140B020, + 0x18283BA0, 0x30C02A80, 0xB020B0A0, 0x3C60B140, + 0x2A201838, 0xB0A03080, 0xB120B020, 0x18383D20, + 0x304029C0, 0xB040B080, 0x3DE0B100, 0x29601848, + 0xB0803000, 0xB100B040, 0x18483EC0, 0xB0402900, + 0xB040B060, 0x3F80B0C0, 0x28801858, 0xB060B080, + 0xB0A0B060, 0x18602820, 0xB0A02820, 0x0000B060, + 0xB1403000, 0x2E203500, 0x35002E20, 0x3000B140, + 0x35A0B160, 0x2DC02E80, 0xB1403480, 0xB1603000, + 0x2EA03640, 0x34002D80, 0x3000B120, 0x36E0B160, + 0x2D202EF0, 0xB1203380, 0xB1603000, 0x2F303780, + 0x33002CC0, 0x3000B100, 0x3820B160, 0x2C802F50, + 0xB10032A0, 0xB1603000, 0x2F9038C0, 0x32202C20, + 0x3000B0E0, 0x3980B160, 0x2BC02FC0, 0xB0E031C0, + 0xB1603000, 0x2FF03A20, 0x31602B60, 0xB020B0C0, + 0x3AE0B160, 0x2B001810, 0xB0C03120, 0xB140B020, + 0x18283BA0, 0x30C02A80, 0xB020B0A0, 0x3C60B140, + 0x2A201838, 0xB0A03080, 0xB120B020, 0x18383D20, + 0x304029C0, 0xB040B080, 0x3DE0B100, 0x29601848, + 0xB0803000, 0xB100B040, 0x18483EC0, 0xB0402900, + 0xB040B060, 0x3F80B0C0, 0x28801858, 0xB060B080, + 0xB0A0B060, 0x18602820, 0xB0A02820, 0x0000B060, + 0x36403000, 0x2D002CC0, 0x30003640, 0x2D0036C0, + 0x35C02CC0, 0x37403000, 0x2C802D40, 0x30003540, + 0x2D8037C0, 0x34C02C40, 0x38403000, 0x2BC02E00, + 0x30003440, 0x2E2038C0, 0x34002B80, 0x39803000, + 0x2B402E40, 0x30003380, 0x2E603A00, 0x33402B00, + 0x3A803040, 0x2A802EA0, 0x30403300, 0x2EC03B40, + 0x32802A40, 0x3C003040, 0x2A002EC0, 0x30803240, + 0x2EC03C80, 0x320029C0, 0x3D403080, 0x29402F00, + 0x308031C0, 0x2F203DC0, 0x31802900, 0x3E8030C0, + 0x28802F40, 0x30C03140, 0x2F203F40, 0x31402840, + 0x28003100, 0x28002F00, 0x00003100, 0x36403000, + 0x2D002CC0, 0x30003640, 0x2D0036C0, + 0x35C02CC0, 0x37403000, 0x2C802D40, 0x30003540, + 0x2D8037C0, 0x34C02C40, 0x38403000, 0x2BC02E00, + 0x30003440, 0x2E2038C0, 0x34002B80, 0x39803000, + 0x2B402E40, 0x30003380, 0x2E603A00, 0x33402B00, + 0x3A803040, 0x2A802EA0, 0x30403300, 0x2EC03B40, + 0x32802A40, 0x3C003040, 0x2A002EC0, 0x30803240, + 0x2EC03C80, 0x320029C0, 0x3D403080, 0x29402F00, + 0x308031C0, 0x2F203DC0, 0x31802900, 0x3E8030C0, + 0x28802F40, 0x30C03140, 0x2F203F40, 0x31402840, + 0x28003100, 0x28002F00, 0x00003100, +}; + +/* + * Color conversion values have 3 separate fixed point formats: + * + * 10 bit fields (ay, au) + * 1.9 fixed point (b.bbbbbbbbb) + * 11 bit fields (ry, by, ru, gu, gv) + * exp.mantissa (ee.mmmmmmmmm) + * ee = 00 = 10^-1 (0.mmmmmmmmm) + * ee = 01 = 10^-2 (0.0mmmmmmmmm) + * ee = 10 = 10^-3 (0.00mmmmmmmmm) + * ee = 11 = 10^-4 (0.000mmmmmmmmm) + * 12 bit fields (gy, rv, bu) + * exp.mantissa (eee.mmmmmmmmm) + * eee = 000 = 10^-1 (0.mmmmmmmmm) + * eee = 001 = 10^-2 (0.0mmmmmmmmm) + * eee = 010 = 10^-3 (0.00mmmmmmmmm) + * eee = 011 = 10^-4 (0.000mmmmmmmmm) + * eee = 100 = reserved + * eee = 101 = reserved + * eee = 110 = reserved + * eee = 111 = 10^0 (m.mmmmmmmm) (only usable for 1.0 representation) + * + * Saturation and contrast are 8 bits, with their own representation: + * 8 bit field (saturation, contrast) + * exp.mantissa (ee.mmmmmm) + * ee = 00 = 10^-1 (0.mmmmmm) + * ee = 01 = 10^0 (m.mmmmm) + * ee = 10 = 10^1 (mm.mmmm) + * ee = 11 = 10^2 (mmm.mmm) + * + * Simple conversion function: + * + * static u32 + * float_to_csc_11(float f) + * { + * u32 exp; + * u32 mant; + * u32 ret; + * + * if (f < 0) + * f = -f; + * + * if (f >= 1) { + * exp = 0x7; + * mant = 1 << 8; + * } else { + * for (exp = 0; exp < 3 && f < 0.5; exp++) + * f *= 2.0; + * mant = (f * (1 << 9) + 0.5); + * if (mant >= (1 << 9)) + * mant = (1 << 9) - 1; + * } + * ret = (exp << 9) | mant; + * return ret; + * } + */ + +/* + * Behold, magic numbers! If we plant them they might grow a big + * s-video cable to the sky... or something. + * + * Pre-converted to appropriate hex value. + */ + +/* + * PAL & NTSC values for composite & s-video connections + */ +static const struct color_conversion ntsc_m_csc_composite = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0104, + .ru = 0x0733, .gu = 0x052d, .bu = 0x05c7, .au = 0x0200, + .rv = 0x0340, .gv = 0x030c, .bv = 0x06d0, .av = 0x0200, +}; + +static const struct video_levels ntsc_m_levels_composite = { + .blank = 225, .black = 267, .burst = 113, +}; + +static const struct color_conversion ntsc_m_csc_svideo = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0133, + .ru = 0x076a, .gu = 0x0564, .bu = 0x030d, .au = 0x0200, + .rv = 0x037a, .gv = 0x033d, .bv = 0x06f6, .av = 0x0200, +}; + +static const struct video_levels ntsc_m_levels_svideo = { + .blank = 266, .black = 316, .burst = 133, +}; + +static const struct color_conversion ntsc_j_csc_composite = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0119, + .ru = 0x074c, .gu = 0x0546, .bu = 0x05ec, .au = 0x0200, + .rv = 0x035a, .gv = 0x0322, .bv = 0x06e1, .av = 0x0200, +}; + +static const struct video_levels ntsc_j_levels_composite = { + .blank = 225, .black = 225, .burst = 113, +}; + +static const struct color_conversion ntsc_j_csc_svideo = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x014c, + .ru = 0x0788, .gu = 0x0581, .bu = 0x0322, .au = 0x0200, + .rv = 0x0399, .gv = 0x0356, .bv = 0x070a, .av = 0x0200, +}; + +static const struct video_levels ntsc_j_levels_svideo = { + .blank = 266, .black = 266, .burst = 133, +}; + +static const struct color_conversion pal_csc_composite = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0113, + .ru = 0x0745, .gu = 0x053f, .bu = 0x05e1, .au = 0x0200, + .rv = 0x0353, .gv = 0x031c, .bv = 0x06dc, .av = 0x0200, +}; + +static const struct video_levels pal_levels_composite = { + .blank = 237, .black = 237, .burst = 118, +}; + +static const struct color_conversion pal_csc_svideo = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0145, + .ru = 0x0780, .gu = 0x0579, .bu = 0x031c, .au = 0x0200, + .rv = 0x0390, .gv = 0x034f, .bv = 0x0705, .av = 0x0200, +}; + +static const struct video_levels pal_levels_svideo = { + .blank = 280, .black = 280, .burst = 139, +}; + +static const struct color_conversion pal_m_csc_composite = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0104, + .ru = 0x0733, .gu = 0x052d, .bu = 0x05c7, .au = 0x0200, + .rv = 0x0340, .gv = 0x030c, .bv = 0x06d0, .av = 0x0200, +}; + +static const struct video_levels pal_m_levels_composite = { + .blank = 225, .black = 267, .burst = 113, +}; + +static const struct color_conversion pal_m_csc_svideo = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0133, + .ru = 0x076a, .gu = 0x0564, .bu = 0x030d, .au = 0x0200, + .rv = 0x037a, .gv = 0x033d, .bv = 0x06f6, .av = 0x0200, +}; + +static const struct video_levels pal_m_levels_svideo = { + .blank = 266, .black = 316, .burst = 133, +}; + +static const struct color_conversion pal_n_csc_composite = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0104, + .ru = 0x0733, .gu = 0x052d, .bu = 0x05c7, .au = 0x0200, + .rv = 0x0340, .gv = 0x030c, .bv = 0x06d0, .av = 0x0200, +}; + +static const struct video_levels pal_n_levels_composite = { + .blank = 225, .black = 267, .burst = 118, +}; + +static const struct color_conversion pal_n_csc_svideo = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0133, + .ru = 0x076a, .gu = 0x0564, .bu = 0x030d, .au = 0x0200, + .rv = 0x037a, .gv = 0x033d, .bv = 0x06f6, .av = 0x0200, +}; + +static const struct video_levels pal_n_levels_svideo = { + .blank = 266, .black = 316, .burst = 139, +}; + +/* + * Component connections + */ +static const struct color_conversion sdtv_csc_yprpb = { + .ry = 0x0332, .gy = 0x012d, .by = 0x07d3, .ay = 0x0145, + .ru = 0x0559, .gu = 0x0353, .bu = 0x0100, .au = 0x0200, + .rv = 0x0100, .gv = 0x03ad, .bv = 0x074d, .av = 0x0200, +}; + +static const struct color_conversion sdtv_csc_rgb = { + .ry = 0x0000, .gy = 0x0f00, .by = 0x0000, .ay = 0x0166, + .ru = 0x0000, .gu = 0x0000, .bu = 0x0f00, .au = 0x0166, + .rv = 0x0f00, .gv = 0x0000, .bv = 0x0000, .av = 0x0166, +}; + +static const struct color_conversion hdtv_csc_yprpb = { + .ry = 0x05b3, .gy = 0x016e, .by = 0x0728, .ay = 0x0145, + .ru = 0x07d5, .gu = 0x038b, .bu = 0x0100, .au = 0x0200, + .rv = 0x0100, .gv = 0x03d1, .bv = 0x06bc, .av = 0x0200, +}; + +static const struct color_conversion hdtv_csc_rgb = { + .ry = 0x0000, .gy = 0x0f00, .by = 0x0000, .ay = 0x0166, + .ru = 0x0000, .gu = 0x0000, .bu = 0x0f00, .au = 0x0166, + .rv = 0x0f00, .gv = 0x0000, .bv = 0x0000, .av = 0x0166, +}; + +static const struct video_levels component_levels = { + .blank = 279, .black = 279, .burst = 0, +}; + + +struct tv_mode { + const char *name; + int clock; + int refresh; /* in millihertz (for precision) */ + u32 oversample; + int hsync_end, hblank_start, hblank_end, htotal; + bool progressive, trilevel_sync, component_only; + int vsync_start_f1, vsync_start_f2, vsync_len; + bool veq_ena; + int veq_start_f1, veq_start_f2, veq_len; + int vi_end_f1, vi_end_f2, nbr_end; + bool burst_ena; + int hburst_start, hburst_len; + int vburst_start_f1, vburst_end_f1; + int vburst_start_f2, vburst_end_f2; + int vburst_start_f3, vburst_end_f3; + int vburst_start_f4, vburst_end_f4; + /* + * subcarrier programming + */ + int dda2_size, dda3_size, dda1_inc, dda2_inc, dda3_inc; + u32 sc_reset; + bool pal_burst; + /* + * blank/black levels + */ + const struct video_levels *composite_levels, *svideo_levels; + const struct color_conversion *composite_color, *svideo_color; + const u32 *filter_table; + int max_srcw; +}; + + +/* + * Sub carrier DDA + * + * I think this works as follows: + * + * subcarrier freq = pixel_clock * (dda1_inc + dda2_inc / dda2_size) / 4096 + * + * Presumably, when dda3 is added in, it gets to adjust the dda2_inc value + * + * So, + * dda1_ideal = subcarrier/pixel * 4096 + * dda1_inc = floor (dda1_ideal) + * dda2 = dda1_ideal - dda1_inc + * + * then pick a ratio for dda2 that gives the closest approximation. If + * you can't get close enough, you can play with dda3 as well. This + * seems likely to happen when dda2 is small as the jumps would be larger + * + * To invert this, + * + * pixel_clock = subcarrier * 4096 / (dda1_inc + dda2_inc / dda2_size) + * + * The constants below were all computed using a 107.520MHz clock + */ + +/** + * Register programming values for TV modes. + * + * These values account for -1s required. + */ + +static const struct tv_mode tv_modes[] = { + { + .name = "NTSC-M", + .clock = 108000, + .refresh = 59940, + .oversample = TV_OVERSAMPLE_8X, + .component_only = 0, + /* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 3.580MHz */ + + .hsync_end = 64, .hblank_end = 124, + .hblank_start = 836, .htotal = 857, + + .progressive = false, .trilevel_sync = false, + + .vsync_start_f1 = 6, .vsync_start_f2 = 7, + .vsync_len = 6, + + .veq_ena = true, .veq_start_f1 = 0, + .veq_start_f2 = 1, .veq_len = 18, + + .vi_end_f1 = 20, .vi_end_f2 = 21, + .nbr_end = 240, + + .burst_ena = true, + .hburst_start = 72, .hburst_len = 34, + .vburst_start_f1 = 9, .vburst_end_f1 = 240, + .vburst_start_f2 = 10, .vburst_end_f2 = 240, + .vburst_start_f3 = 9, .vburst_end_f3 = 240, + .vburst_start_f4 = 10, .vburst_end_f4 = 240, + + /* desired 3.5800000 actual 3.5800000 clock 107.52 */ + .dda1_inc = 135, + .dda2_inc = 20800, .dda2_size = 27456, + .dda3_inc = 0, .dda3_size = 0, + .sc_reset = TV_SC_RESET_EVERY_4, + .pal_burst = false, + + .composite_levels = &ntsc_m_levels_composite, + .composite_color = &ntsc_m_csc_composite, + .svideo_levels = &ntsc_m_levels_svideo, + .svideo_color = &ntsc_m_csc_svideo, + + .filter_table = filter_table, + }, + { + .name = "NTSC-443", + .clock = 108000, + .refresh = 59940, + .oversample = TV_OVERSAMPLE_8X, + .component_only = 0, + /* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 4.43MHz */ + .hsync_end = 64, .hblank_end = 124, + .hblank_start = 836, .htotal = 857, + + .progressive = false, .trilevel_sync = false, + + .vsync_start_f1 = 6, .vsync_start_f2 = 7, + .vsync_len = 6, + + .veq_ena = true, .veq_start_f1 = 0, + .veq_start_f2 = 1, .veq_len = 18, + + .vi_end_f1 = 20, .vi_end_f2 = 21, + .nbr_end = 240, + + .burst_ena = true, + .hburst_start = 72, .hburst_len = 34, + .vburst_start_f1 = 9, .vburst_end_f1 = 240, + .vburst_start_f2 = 10, .vburst_end_f2 = 240, + .vburst_start_f3 = 9, .vburst_end_f3 = 240, + .vburst_start_f4 = 10, .vburst_end_f4 = 240, + + /* desired 4.4336180 actual 4.4336180 clock 107.52 */ + .dda1_inc = 168, + .dda2_inc = 4093, .dda2_size = 27456, + .dda3_inc = 310, .dda3_size = 525, + .sc_reset = TV_SC_RESET_NEVER, + .pal_burst = false, + + .composite_levels = &ntsc_m_levels_composite, + .composite_color = &ntsc_m_csc_composite, + .svideo_levels = &ntsc_m_levels_svideo, + .svideo_color = &ntsc_m_csc_svideo, + + .filter_table = filter_table, + }, + { + .name = "NTSC-J", + .clock = 108000, + .refresh = 59940, + .oversample = TV_OVERSAMPLE_8X, + .component_only = 0, + + /* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 3.580MHz */ + .hsync_end = 64, .hblank_end = 124, + .hblank_start = 836, .htotal = 857, + + .progressive = false, .trilevel_sync = false, + + .vsync_start_f1 = 6, .vsync_start_f2 = 7, + .vsync_len = 6, + + .veq_ena = true, .veq_start_f1 = 0, + .veq_start_f2 = 1, .veq_len = 18, + + .vi_end_f1 = 20, .vi_end_f2 = 21, + .nbr_end = 240, + + .burst_ena = true, + .hburst_start = 72, .hburst_len = 34, + .vburst_start_f1 = 9, .vburst_end_f1 = 240, + .vburst_start_f2 = 10, .vburst_end_f2 = 240, + .vburst_start_f3 = 9, .vburst_end_f3 = 240, + .vburst_start_f4 = 10, .vburst_end_f4 = 240, + + /* desired 3.5800000 actual 3.5800000 clock 107.52 */ + .dda1_inc = 135, + .dda2_inc = 20800, .dda2_size = 27456, + .dda3_inc = 0, .dda3_size = 0, + .sc_reset = TV_SC_RESET_EVERY_4, + .pal_burst = false, + + .composite_levels = &ntsc_j_levels_composite, + .composite_color = &ntsc_j_csc_composite, + .svideo_levels = &ntsc_j_levels_svideo, + .svideo_color = &ntsc_j_csc_svideo, + + .filter_table = filter_table, + }, + { + .name = "PAL-M", + .clock = 108000, + .refresh = 59940, + .oversample = TV_OVERSAMPLE_8X, + .component_only = 0, + + /* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 3.580MHz */ + .hsync_end = 64, .hblank_end = 124, + .hblank_start = 836, .htotal = 857, + + .progressive = false, .trilevel_sync = false, + + .vsync_start_f1 = 6, .vsync_start_f2 = 7, + .vsync_len = 6, + + .veq_ena = true, .veq_start_f1 = 0, + .veq_start_f2 = 1, .veq_len = 18, + + .vi_end_f1 = 20, .vi_end_f2 = 21, + .nbr_end = 240, + + .burst_ena = true, + .hburst_start = 72, .hburst_len = 34, + .vburst_start_f1 = 9, .vburst_end_f1 = 240, + .vburst_start_f2 = 10, .vburst_end_f2 = 240, + .vburst_start_f3 = 9, .vburst_end_f3 = 240, + .vburst_start_f4 = 10, .vburst_end_f4 = 240, + + /* desired 3.5800000 actual 3.5800000 clock 107.52 */ + .dda1_inc = 135, + .dda2_inc = 16704, .dda2_size = 27456, + .dda3_inc = 0, .dda3_size = 0, + .sc_reset = TV_SC_RESET_EVERY_8, + .pal_burst = true, + + .composite_levels = &pal_m_levels_composite, + .composite_color = &pal_m_csc_composite, + .svideo_levels = &pal_m_levels_svideo, + .svideo_color = &pal_m_csc_svideo, + + .filter_table = filter_table, + }, + { + /* 625 Lines, 50 Fields, 15.625KHz line, Sub-Carrier 4.434MHz */ + .name = "PAL-N", + .clock = 108000, + .refresh = 50000, + .oversample = TV_OVERSAMPLE_8X, + .component_only = 0, + + .hsync_end = 64, .hblank_end = 128, + .hblank_start = 844, .htotal = 863, + + .progressive = false, .trilevel_sync = false, + + + .vsync_start_f1 = 6, .vsync_start_f2 = 7, + .vsync_len = 6, + + .veq_ena = true, .veq_start_f1 = 0, + .veq_start_f2 = 1, .veq_len = 18, + + .vi_end_f1 = 24, .vi_end_f2 = 25, + .nbr_end = 286, + + .burst_ena = true, + .hburst_start = 73, .hburst_len = 34, + .vburst_start_f1 = 8, .vburst_end_f1 = 285, + .vburst_start_f2 = 8, .vburst_end_f2 = 286, + .vburst_start_f3 = 9, .vburst_end_f3 = 286, + .vburst_start_f4 = 9, .vburst_end_f4 = 285, + + + /* desired 4.4336180 actual 4.4336180 clock 107.52 */ + .dda1_inc = 135, + .dda2_inc = 23578, .dda2_size = 27648, + .dda3_inc = 134, .dda3_size = 625, + .sc_reset = TV_SC_RESET_EVERY_8, + .pal_burst = true, + + .composite_levels = &pal_n_levels_composite, + .composite_color = &pal_n_csc_composite, + .svideo_levels = &pal_n_levels_svideo, + .svideo_color = &pal_n_csc_svideo, + + .filter_table = filter_table, + }, + { + /* 625 Lines, 50 Fields, 15.625KHz line, Sub-Carrier 4.434MHz */ + .name = "PAL", + .clock = 108000, + .refresh = 50000, + .oversample = TV_OVERSAMPLE_8X, + .component_only = 0, + + .hsync_end = 64, .hblank_end = 142, + .hblank_start = 844, .htotal = 863, + + .progressive = false, .trilevel_sync = false, + + .vsync_start_f1 = 5, .vsync_start_f2 = 6, + .vsync_len = 5, + + .veq_ena = true, .veq_start_f1 = 0, + .veq_start_f2 = 1, .veq_len = 15, + + .vi_end_f1 = 24, .vi_end_f2 = 25, + .nbr_end = 286, + + .burst_ena = true, + .hburst_start = 73, .hburst_len = 32, + .vburst_start_f1 = 8, .vburst_end_f1 = 285, + .vburst_start_f2 = 8, .vburst_end_f2 = 286, + .vburst_start_f3 = 9, .vburst_end_f3 = 286, + .vburst_start_f4 = 9, .vburst_end_f4 = 285, + + /* desired 4.4336180 actual 4.4336180 clock 107.52 */ + .dda1_inc = 168, + .dda2_inc = 4122, .dda2_size = 27648, + .dda3_inc = 67, .dda3_size = 625, + .sc_reset = TV_SC_RESET_EVERY_8, + .pal_burst = true, + + .composite_levels = &pal_levels_composite, + .composite_color = &pal_csc_composite, + .svideo_levels = &pal_levels_svideo, + .svideo_color = &pal_csc_svideo, + + .filter_table = filter_table, + }, + { + .name = "480p", + .clock = 107520, + .refresh = 59940, + .oversample = TV_OVERSAMPLE_4X, + .component_only = 1, + + .hsync_end = 64, .hblank_end = 122, + .hblank_start = 842, .htotal = 857, + + .progressive = true, .trilevel_sync = false, + + .vsync_start_f1 = 12, .vsync_start_f2 = 12, + .vsync_len = 12, + + .veq_ena = false, + + .vi_end_f1 = 44, .vi_end_f2 = 44, + .nbr_end = 479, + + .burst_ena = false, + + .filter_table = filter_table, + }, + { + .name = "576p", + .clock = 107520, + .refresh = 50000, + .oversample = TV_OVERSAMPLE_4X, + .component_only = 1, + + .hsync_end = 64, .hblank_end = 139, + .hblank_start = 859, .htotal = 863, + + .progressive = true, .trilevel_sync = false, + + .vsync_start_f1 = 10, .vsync_start_f2 = 10, + .vsync_len = 10, + + .veq_ena = false, + + .vi_end_f1 = 48, .vi_end_f2 = 48, + .nbr_end = 575, + + .burst_ena = false, + + .filter_table = filter_table, + }, + { + .name = "720p@60Hz", + .clock = 148800, + .refresh = 60000, + .oversample = TV_OVERSAMPLE_2X, + .component_only = 1, + + .hsync_end = 80, .hblank_end = 300, + .hblank_start = 1580, .htotal = 1649, + + .progressive = true, .trilevel_sync = true, + + .vsync_start_f1 = 10, .vsync_start_f2 = 10, + .vsync_len = 10, + + .veq_ena = false, + + .vi_end_f1 = 29, .vi_end_f2 = 29, + .nbr_end = 719, + + .burst_ena = false, + + .filter_table = filter_table, + }, + { + .name = "720p@50Hz", + .clock = 148800, + .refresh = 50000, + .oversample = TV_OVERSAMPLE_2X, + .component_only = 1, + + .hsync_end = 80, .hblank_end = 300, + .hblank_start = 1580, .htotal = 1979, + + .progressive = true, .trilevel_sync = true, + + .vsync_start_f1 = 10, .vsync_start_f2 = 10, + .vsync_len = 10, + + .veq_ena = false, + + .vi_end_f1 = 29, .vi_end_f2 = 29, + .nbr_end = 719, + + .burst_ena = false, + + .filter_table = filter_table, + .max_srcw = 800 + }, + { + .name = "1080i@50Hz", + .clock = 148800, + .refresh = 50000, + .oversample = TV_OVERSAMPLE_2X, + .component_only = 1, + + .hsync_end = 88, .hblank_end = 235, + .hblank_start = 2155, .htotal = 2639, + + .progressive = false, .trilevel_sync = true, + + .vsync_start_f1 = 4, .vsync_start_f2 = 5, + .vsync_len = 10, + + .veq_ena = true, .veq_start_f1 = 4, + .veq_start_f2 = 4, .veq_len = 10, + + + .vi_end_f1 = 21, .vi_end_f2 = 22, + .nbr_end = 539, + + .burst_ena = false, + + .filter_table = filter_table, + }, + { + .name = "1080i@60Hz", + .clock = 148800, + .refresh = 60000, + .oversample = TV_OVERSAMPLE_2X, + .component_only = 1, + + .hsync_end = 88, .hblank_end = 235, + .hblank_start = 2155, .htotal = 2199, + + .progressive = false, .trilevel_sync = true, + + .vsync_start_f1 = 4, .vsync_start_f2 = 5, + .vsync_len = 10, + + .veq_ena = true, .veq_start_f1 = 4, + .veq_start_f2 = 4, .veq_len = 10, + + + .vi_end_f1 = 21, .vi_end_f2 = 22, + .nbr_end = 539, + + .burst_ena = false, + + .filter_table = filter_table, + }, +}; + +static struct intel_tv *enc_to_intel_tv(struct drm_encoder *encoder) +{ + return container_of(encoder, struct intel_tv, base.base); +} + +static struct intel_tv *intel_attached_tv(struct drm_connector *connector) +{ + return container_of(intel_attached_encoder(connector), + struct intel_tv, + base); +} + +static bool +intel_tv_get_hw_state(struct intel_encoder *encoder, enum pipe *pipe) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 tmp = I915_READ(TV_CTL); + + if (!(tmp & TV_ENC_ENABLE)) + return false; + + *pipe = PORT_TO_PIPE(tmp); + + return true; +} + +static void +intel_enable_tv(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE(TV_CTL, I915_READ(TV_CTL) | TV_ENC_ENABLE); +} + +static void +intel_disable_tv(struct intel_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + + I915_WRITE(TV_CTL, I915_READ(TV_CTL) & ~TV_ENC_ENABLE); +} + +static const struct tv_mode * +intel_tv_mode_lookup(const char *tv_format) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(tv_modes); i++) { + const struct tv_mode *tv_mode = &tv_modes[i]; + + if (!strcmp(tv_format, tv_mode->name)) + return tv_mode; + } + return NULL; +} + +static const struct tv_mode * +intel_tv_mode_find(struct intel_tv *intel_tv) +{ + return intel_tv_mode_lookup(intel_tv->tv_format); +} + +static enum drm_mode_status +intel_tv_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct intel_tv *intel_tv = intel_attached_tv(connector); + const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); + + /* Ensure TV refresh is close to desired refresh */ + if (tv_mode && abs(tv_mode->refresh - drm_mode_vrefresh(mode) * 1000) + < 1000) + return MODE_OK; + + return MODE_CLOCK_RANGE; +} + + +static bool +intel_tv_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct intel_tv *intel_tv = enc_to_intel_tv(encoder); + const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); + + if (!tv_mode) + return false; + + if (intel_encoder_check_is_cloned(&intel_tv->base)) + return false; + + adjusted_mode->clock = tv_mode->clock; + return true; +} + +static void +intel_tv_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc = encoder->crtc; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_tv *intel_tv = enc_to_intel_tv(encoder); + const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); + u32 tv_ctl; + u32 hctl1, hctl2, hctl3; + u32 vctl1, vctl2, vctl3, vctl4, vctl5, vctl6, vctl7; + u32 scctl1, scctl2, scctl3; + int i, j; + const struct video_levels *video_levels; + const struct color_conversion *color_conversion; + bool burst_ena; + int pipe = intel_crtc->pipe; + + if (!tv_mode) + return; /* can't happen (mode_prepare prevents this) */ + + tv_ctl = I915_READ(TV_CTL); + tv_ctl &= TV_CTL_SAVE; + + switch (intel_tv->type) { + default: + case DRM_MODE_CONNECTOR_Unknown: + case DRM_MODE_CONNECTOR_Composite: + tv_ctl |= TV_ENC_OUTPUT_COMPOSITE; + video_levels = tv_mode->composite_levels; + color_conversion = tv_mode->composite_color; + burst_ena = tv_mode->burst_ena; + break; + case DRM_MODE_CONNECTOR_Component: + tv_ctl |= TV_ENC_OUTPUT_COMPONENT; + video_levels = &component_levels; + if (tv_mode->burst_ena) + color_conversion = &sdtv_csc_yprpb; + else + color_conversion = &hdtv_csc_yprpb; + burst_ena = false; + break; + case DRM_MODE_CONNECTOR_SVIDEO: + tv_ctl |= TV_ENC_OUTPUT_SVIDEO; + video_levels = tv_mode->svideo_levels; + color_conversion = tv_mode->svideo_color; + burst_ena = tv_mode->burst_ena; + break; + } + hctl1 = (tv_mode->hsync_end << TV_HSYNC_END_SHIFT) | + (tv_mode->htotal << TV_HTOTAL_SHIFT); + + hctl2 = (tv_mode->hburst_start << 16) | + (tv_mode->hburst_len << TV_HBURST_LEN_SHIFT); + + if (burst_ena) + hctl2 |= TV_BURST_ENA; + + hctl3 = (tv_mode->hblank_start << TV_HBLANK_START_SHIFT) | + (tv_mode->hblank_end << TV_HBLANK_END_SHIFT); + + vctl1 = (tv_mode->nbr_end << TV_NBR_END_SHIFT) | + (tv_mode->vi_end_f1 << TV_VI_END_F1_SHIFT) | + (tv_mode->vi_end_f2 << TV_VI_END_F2_SHIFT); + + vctl2 = (tv_mode->vsync_len << TV_VSYNC_LEN_SHIFT) | + (tv_mode->vsync_start_f1 << TV_VSYNC_START_F1_SHIFT) | + (tv_mode->vsync_start_f2 << TV_VSYNC_START_F2_SHIFT); + + vctl3 = (tv_mode->veq_len << TV_VEQ_LEN_SHIFT) | + (tv_mode->veq_start_f1 << TV_VEQ_START_F1_SHIFT) | + (tv_mode->veq_start_f2 << TV_VEQ_START_F2_SHIFT); + + if (tv_mode->veq_ena) + vctl3 |= TV_EQUAL_ENA; + + vctl4 = (tv_mode->vburst_start_f1 << TV_VBURST_START_F1_SHIFT) | + (tv_mode->vburst_end_f1 << TV_VBURST_END_F1_SHIFT); + + vctl5 = (tv_mode->vburst_start_f2 << TV_VBURST_START_F2_SHIFT) | + (tv_mode->vburst_end_f2 << TV_VBURST_END_F2_SHIFT); + + vctl6 = (tv_mode->vburst_start_f3 << TV_VBURST_START_F3_SHIFT) | + (tv_mode->vburst_end_f3 << TV_VBURST_END_F3_SHIFT); + + vctl7 = (tv_mode->vburst_start_f4 << TV_VBURST_START_F4_SHIFT) | + (tv_mode->vburst_end_f4 << TV_VBURST_END_F4_SHIFT); + + if (intel_crtc->pipe == 1) + tv_ctl |= TV_ENC_PIPEB_SELECT; + tv_ctl |= tv_mode->oversample; + + if (tv_mode->progressive) + tv_ctl |= TV_PROGRESSIVE; + if (tv_mode->trilevel_sync) + tv_ctl |= TV_TRILEVEL_SYNC; + if (tv_mode->pal_burst) + tv_ctl |= TV_PAL_BURST; + + scctl1 = 0; + if (tv_mode->dda1_inc) + scctl1 |= TV_SC_DDA1_EN; + if (tv_mode->dda2_inc) + scctl1 |= TV_SC_DDA2_EN; + if (tv_mode->dda3_inc) + scctl1 |= TV_SC_DDA3_EN; + scctl1 |= tv_mode->sc_reset; + if (video_levels) + scctl1 |= video_levels->burst << TV_BURST_LEVEL_SHIFT; + scctl1 |= tv_mode->dda1_inc << TV_SCDDA1_INC_SHIFT; + + scctl2 = tv_mode->dda2_size << TV_SCDDA2_SIZE_SHIFT | + tv_mode->dda2_inc << TV_SCDDA2_INC_SHIFT; + + scctl3 = tv_mode->dda3_size << TV_SCDDA3_SIZE_SHIFT | + tv_mode->dda3_inc << TV_SCDDA3_INC_SHIFT; + + /* Enable two fixes for the chips that need them. */ + if (dev->pci_device < 0x2772) + tv_ctl |= TV_ENC_C0_FIX | TV_ENC_SDP_FIX; + + I915_WRITE(TV_H_CTL_1, hctl1); + I915_WRITE(TV_H_CTL_2, hctl2); + I915_WRITE(TV_H_CTL_3, hctl3); + I915_WRITE(TV_V_CTL_1, vctl1); + I915_WRITE(TV_V_CTL_2, vctl2); + I915_WRITE(TV_V_CTL_3, vctl3); + I915_WRITE(TV_V_CTL_4, vctl4); + I915_WRITE(TV_V_CTL_5, vctl5); + I915_WRITE(TV_V_CTL_6, vctl6); + I915_WRITE(TV_V_CTL_7, vctl7); + I915_WRITE(TV_SC_CTL_1, scctl1); + I915_WRITE(TV_SC_CTL_2, scctl2); + I915_WRITE(TV_SC_CTL_3, scctl3); + + if (color_conversion) { + I915_WRITE(TV_CSC_Y, (color_conversion->ry << 16) | + color_conversion->gy); + I915_WRITE(TV_CSC_Y2, (color_conversion->by << 16) | + color_conversion->ay); + I915_WRITE(TV_CSC_U, (color_conversion->ru << 16) | + color_conversion->gu); + I915_WRITE(TV_CSC_U2, (color_conversion->bu << 16) | + color_conversion->au); + I915_WRITE(TV_CSC_V, (color_conversion->rv << 16) | + color_conversion->gv); + I915_WRITE(TV_CSC_V2, (color_conversion->bv << 16) | + color_conversion->av); + } + + if (INTEL_INFO(dev)->gen >= 4) + I915_WRITE(TV_CLR_KNOBS, 0x00404000); + else + I915_WRITE(TV_CLR_KNOBS, 0x00606000); + + if (video_levels) + I915_WRITE(TV_CLR_LEVEL, + ((video_levels->black << TV_BLACK_LEVEL_SHIFT) | + (video_levels->blank << TV_BLANK_LEVEL_SHIFT))); + { + int pipeconf_reg = PIPECONF(pipe); + int dspcntr_reg = DSPCNTR(intel_crtc->plane); + int pipeconf = I915_READ(pipeconf_reg); + int dspcntr = I915_READ(dspcntr_reg); + int xpos = 0x0, ypos = 0x0; + unsigned int xsize, ysize; + /* Pipe must be off here */ + I915_WRITE(dspcntr_reg, dspcntr & ~DISPLAY_PLANE_ENABLE); + intel_flush_display_plane(dev_priv, intel_crtc->plane); + + /* Wait for vblank for the disable to take effect */ + if (IS_GEN2(dev)) + intel_wait_for_vblank(dev, intel_crtc->pipe); + + I915_WRITE(pipeconf_reg, pipeconf & ~PIPECONF_ENABLE); + /* Wait for vblank for the disable to take effect. */ + intel_wait_for_pipe_off(dev, intel_crtc->pipe); + + /* Filter ctl must be set before TV_WIN_SIZE */ + I915_WRITE(TV_FILTER_CTL_1, TV_AUTO_SCALE); + xsize = tv_mode->hblank_start - tv_mode->hblank_end; + if (tv_mode->progressive) + ysize = tv_mode->nbr_end + 1; + else + ysize = 2*tv_mode->nbr_end + 1; + + xpos += intel_tv->margin[TV_MARGIN_LEFT]; + ypos += intel_tv->margin[TV_MARGIN_TOP]; + xsize -= (intel_tv->margin[TV_MARGIN_LEFT] + + intel_tv->margin[TV_MARGIN_RIGHT]); + ysize -= (intel_tv->margin[TV_MARGIN_TOP] + + intel_tv->margin[TV_MARGIN_BOTTOM]); + I915_WRITE(TV_WIN_POS, (xpos<<16)|ypos); + I915_WRITE(TV_WIN_SIZE, (xsize<<16)|ysize); + + I915_WRITE(pipeconf_reg, pipeconf); + I915_WRITE(dspcntr_reg, dspcntr); + intel_flush_display_plane(dev_priv, intel_crtc->plane); + } + + j = 0; + for (i = 0; i < 60; i++) + I915_WRITE(TV_H_LUMA_0 + (i<<2), tv_mode->filter_table[j++]); + for (i = 0; i < 60; i++) + I915_WRITE(TV_H_CHROMA_0 + (i<<2), tv_mode->filter_table[j++]); + for (i = 0; i < 43; i++) + I915_WRITE(TV_V_LUMA_0 + (i<<2), tv_mode->filter_table[j++]); + for (i = 0; i < 43; i++) + I915_WRITE(TV_V_CHROMA_0 + (i<<2), tv_mode->filter_table[j++]); + I915_WRITE(TV_DAC, I915_READ(TV_DAC) & TV_DAC_SAVE); + I915_WRITE(TV_CTL, tv_ctl); +} + +static const struct drm_display_mode reported_modes[] = { + { + .name = "NTSC 480i", + .clock = 107520, + .hdisplay = 1280, + .hsync_start = 1368, + .hsync_end = 1496, + .htotal = 1712, + + .vdisplay = 1024, + .vsync_start = 1027, + .vsync_end = 1034, + .vtotal = 1104, + .type = DRM_MODE_TYPE_DRIVER, + }, +}; + +/** + * Detects TV presence by checking for load. + * + * Requires that the current pipe's DPLL is active. + + * \return true if TV is connected. + * \return false if TV is disconnected. + */ +static int +intel_tv_detect_type(struct intel_tv *intel_tv, + struct drm_connector *connector) +{ + struct drm_encoder *encoder = &intel_tv->base.base; + struct drm_crtc *crtc = encoder->crtc; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct drm_device *dev = encoder->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long irqflags; + u32 tv_ctl, save_tv_ctl; + u32 tv_dac, save_tv_dac; + int type; + + /* Disable TV interrupts around load detect or we'll recurse */ + if (connector->polled & DRM_CONNECTOR_POLL_HPD) { + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + i915_disable_pipestat(dev_priv, 0, + PIPE_HOTPLUG_INTERRUPT_ENABLE | + PIPE_HOTPLUG_TV_INTERRUPT_ENABLE); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + } + + save_tv_dac = tv_dac = I915_READ(TV_DAC); + save_tv_ctl = tv_ctl = I915_READ(TV_CTL); + + /* Poll for TV detection */ + tv_ctl &= ~(TV_ENC_ENABLE | TV_TEST_MODE_MASK); + tv_ctl |= TV_TEST_MODE_MONITOR_DETECT; + if (intel_crtc->pipe == 1) + tv_ctl |= TV_ENC_PIPEB_SELECT; + else + tv_ctl &= ~TV_ENC_PIPEB_SELECT; + + tv_dac &= ~(TVDAC_SENSE_MASK | DAC_A_MASK | DAC_B_MASK | DAC_C_MASK); + tv_dac |= (TVDAC_STATE_CHG_EN | + TVDAC_A_SENSE_CTL | + TVDAC_B_SENSE_CTL | + TVDAC_C_SENSE_CTL | + DAC_CTL_OVERRIDE | + DAC_A_0_7_V | + DAC_B_0_7_V | + DAC_C_0_7_V); + + + /* + * The TV sense state should be cleared to zero on cantiga platform. Otherwise + * the TV is misdetected. This is hardware requirement. + */ + if (IS_GM45(dev)) + tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | + TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); + + I915_WRITE(TV_CTL, tv_ctl); + I915_WRITE(TV_DAC, tv_dac); + POSTING_READ(TV_DAC); + + intel_wait_for_vblank(intel_tv->base.base.dev, + to_intel_crtc(intel_tv->base.base.crtc)->pipe); + + type = -1; + tv_dac = I915_READ(TV_DAC); + DRM_DEBUG_KMS("TV detected: %x, %x\n", tv_ctl, tv_dac); + /* + * A B C + * 0 1 1 Composite + * 1 0 X svideo + * 0 0 0 Component + */ + if ((tv_dac & TVDAC_SENSE_MASK) == (TVDAC_B_SENSE | TVDAC_C_SENSE)) { + DRM_DEBUG_KMS("Detected Composite TV connection\n"); + type = DRM_MODE_CONNECTOR_Composite; + } else if ((tv_dac & (TVDAC_A_SENSE|TVDAC_B_SENSE)) == TVDAC_A_SENSE) { + DRM_DEBUG_KMS("Detected S-Video TV connection\n"); + type = DRM_MODE_CONNECTOR_SVIDEO; + } else if ((tv_dac & TVDAC_SENSE_MASK) == 0) { + DRM_DEBUG_KMS("Detected Component TV connection\n"); + type = DRM_MODE_CONNECTOR_Component; + } else { + DRM_DEBUG_KMS("Unrecognised TV connection\n"); + type = -1; + } + + I915_WRITE(TV_DAC, save_tv_dac & ~TVDAC_STATE_CHG_EN); + I915_WRITE(TV_CTL, save_tv_ctl); + POSTING_READ(TV_CTL); + + /* For unknown reasons the hw barfs if we don't do this vblank wait. */ + intel_wait_for_vblank(intel_tv->base.base.dev, + to_intel_crtc(intel_tv->base.base.crtc)->pipe); + + /* Restore interrupt config */ + if (connector->polled & DRM_CONNECTOR_POLL_HPD) { + spin_lock_irqsave(&dev_priv->irq_lock, irqflags); + i915_enable_pipestat(dev_priv, 0, + PIPE_HOTPLUG_INTERRUPT_ENABLE | + PIPE_HOTPLUG_TV_INTERRUPT_ENABLE); + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); + } + + return type; +} + +/* + * Here we set accurate tv format according to connector type + * i.e Component TV should not be assigned by NTSC or PAL + */ +static void intel_tv_find_better_format(struct drm_connector *connector) +{ + struct intel_tv *intel_tv = intel_attached_tv(connector); + const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); + int i; + + if ((intel_tv->type == DRM_MODE_CONNECTOR_Component) == + tv_mode->component_only) + return; + + + for (i = 0; i < sizeof(tv_modes) / sizeof(*tv_modes); i++) { + tv_mode = tv_modes + i; + + if ((intel_tv->type == DRM_MODE_CONNECTOR_Component) == + tv_mode->component_only) + break; + } + + intel_tv->tv_format = tv_mode->name; + drm_connector_property_set_value(connector, + connector->dev->mode_config.tv_mode_property, i); +} + +/** + * Detect the TV connection. + * + * Currently this always returns CONNECTOR_STATUS_UNKNOWN, as we need to be sure + * we have a pipe programmed in order to probe the TV. + */ +static enum drm_connector_status +intel_tv_detect(struct drm_connector *connector, bool force) +{ + struct drm_display_mode mode; + struct intel_tv *intel_tv = intel_attached_tv(connector); + int type; + + mode = reported_modes[0]; + + if (force) { + struct intel_load_detect_pipe tmp; + + if (intel_get_load_detect_pipe(connector, &mode, &tmp)) { + type = intel_tv_detect_type(intel_tv, connector); + intel_release_load_detect_pipe(connector, &tmp); + } else + return connector_status_unknown; + } else + return connector->status; + + if (type < 0) + return connector_status_disconnected; + + intel_tv->type = type; + intel_tv_find_better_format(connector); + + return connector_status_connected; +} + +static const struct input_res { + const char *name; + int w, h; +} input_res_table[] = { + {"640x480", 640, 480}, + {"800x600", 800, 600}, + {"1024x768", 1024, 768}, + {"1280x1024", 1280, 1024}, + {"848x480", 848, 480}, + {"1280x720", 1280, 720}, + {"1920x1080", 1920, 1080}, +}; + +/* + * Chose preferred mode according to line number of TV format + */ +static void +intel_tv_chose_preferred_modes(struct drm_connector *connector, + struct drm_display_mode *mode_ptr) +{ + struct intel_tv *intel_tv = intel_attached_tv(connector); + const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); + + if (tv_mode->nbr_end < 480 && mode_ptr->vdisplay == 480) + mode_ptr->type |= DRM_MODE_TYPE_PREFERRED; + else if (tv_mode->nbr_end > 480) { + if (tv_mode->progressive == true && tv_mode->nbr_end < 720) { + if (mode_ptr->vdisplay == 720) + mode_ptr->type |= DRM_MODE_TYPE_PREFERRED; + } else if (mode_ptr->vdisplay == 1080) + mode_ptr->type |= DRM_MODE_TYPE_PREFERRED; + } +} + +/** + * Stub get_modes function. + * + * This should probably return a set of fixed modes, unless we can figure out + * how to probe modes off of TV connections. + */ + +static int +intel_tv_get_modes(struct drm_connector *connector) +{ + struct drm_display_mode *mode_ptr; + struct intel_tv *intel_tv = intel_attached_tv(connector); + const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); + int j, count = 0; + u64 tmp; + + for (j = 0; j < ARRAY_SIZE(input_res_table); + j++) { + const struct input_res *input = &input_res_table[j]; + unsigned int hactive_s = input->w; + unsigned int vactive_s = input->h; + + if (tv_mode->max_srcw && input->w > tv_mode->max_srcw) + continue; + + if (input->w > 1024 && (!tv_mode->progressive + && !tv_mode->component_only)) + continue; + + mode_ptr = drm_mode_create(connector->dev); + if (!mode_ptr) + continue; + strncpy(mode_ptr->name, input->name, DRM_DISPLAY_MODE_LEN); + + mode_ptr->hdisplay = hactive_s; + mode_ptr->hsync_start = hactive_s + 1; + mode_ptr->hsync_end = hactive_s + 64; + if (mode_ptr->hsync_end <= mode_ptr->hsync_start) + mode_ptr->hsync_end = mode_ptr->hsync_start + 1; + mode_ptr->htotal = hactive_s + 96; + + mode_ptr->vdisplay = vactive_s; + mode_ptr->vsync_start = vactive_s + 1; + mode_ptr->vsync_end = vactive_s + 32; + if (mode_ptr->vsync_end <= mode_ptr->vsync_start) + mode_ptr->vsync_end = mode_ptr->vsync_start + 1; + mode_ptr->vtotal = vactive_s + 33; + + tmp = (u64) tv_mode->refresh * mode_ptr->vtotal; + tmp *= mode_ptr->htotal; + tmp = div_u64(tmp, 1000000); + mode_ptr->clock = (int) tmp; + + mode_ptr->type = DRM_MODE_TYPE_DRIVER; + intel_tv_chose_preferred_modes(connector, mode_ptr); + drm_mode_probed_add(connector, mode_ptr); + count++; + } + + return count; +} + +static void +intel_tv_destroy(struct drm_connector *connector) +{ + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(connector); +} + + +static int +intel_tv_set_property(struct drm_connector *connector, struct drm_property *property, + uint64_t val) +{ + struct drm_device *dev = connector->dev; + struct intel_tv *intel_tv = intel_attached_tv(connector); + struct drm_crtc *crtc = intel_tv->base.base.crtc; + int ret = 0; + bool changed = false; + + ret = drm_connector_property_set_value(connector, property, val); + if (ret < 0) + goto out; + + if (property == dev->mode_config.tv_left_margin_property && + intel_tv->margin[TV_MARGIN_LEFT] != val) { + intel_tv->margin[TV_MARGIN_LEFT] = val; + changed = true; + } else if (property == dev->mode_config.tv_right_margin_property && + intel_tv->margin[TV_MARGIN_RIGHT] != val) { + intel_tv->margin[TV_MARGIN_RIGHT] = val; + changed = true; + } else if (property == dev->mode_config.tv_top_margin_property && + intel_tv->margin[TV_MARGIN_TOP] != val) { + intel_tv->margin[TV_MARGIN_TOP] = val; + changed = true; + } else if (property == dev->mode_config.tv_bottom_margin_property && + intel_tv->margin[TV_MARGIN_BOTTOM] != val) { + intel_tv->margin[TV_MARGIN_BOTTOM] = val; + changed = true; + } else if (property == dev->mode_config.tv_mode_property) { + if (val >= ARRAY_SIZE(tv_modes)) { + ret = -EINVAL; + goto out; + } + if (!strcmp(intel_tv->tv_format, tv_modes[val].name)) + goto out; + + intel_tv->tv_format = tv_modes[val].name; + changed = true; + } else { + ret = -EINVAL; + goto out; + } + + if (changed && crtc) + intel_set_mode(crtc, &crtc->mode, + crtc->x, crtc->y, crtc->fb); +out: + return ret; +} + +static const struct drm_encoder_helper_funcs intel_tv_helper_funcs = { + .mode_fixup = intel_tv_mode_fixup, + .mode_set = intel_tv_mode_set, + .disable = intel_encoder_noop, +}; + +static const struct drm_connector_funcs intel_tv_connector_funcs = { + .dpms = intel_connector_dpms, + .detect = intel_tv_detect, + .destroy = intel_tv_destroy, + .set_property = intel_tv_set_property, + .fill_modes = drm_helper_probe_single_connector_modes, +}; + +static const struct drm_connector_helper_funcs intel_tv_connector_helper_funcs = { + .mode_valid = intel_tv_mode_valid, + .get_modes = intel_tv_get_modes, + .best_encoder = intel_best_encoder, +}; + +static const struct drm_encoder_funcs intel_tv_enc_funcs = { + .destroy = intel_encoder_destroy, +}; + +/* + * Enumerate the child dev array parsed from VBT to check whether + * the integrated TV is present. + * If it is present, return 1. + * If it is not present, return false. + * If no child dev is parsed from VBT, it assumes that the TV is present. + */ +static int tv_is_present_in_vbt(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct child_device_config *p_child; + int i, ret; + + if (!dev_priv->child_dev_num) + return 1; + + ret = 0; + for (i = 0; i < dev_priv->child_dev_num; i++) { + p_child = dev_priv->child_dev + i; + /* + * If the device type is not TV, continue. + */ + if (p_child->device_type != DEVICE_TYPE_INT_TV && + p_child->device_type != DEVICE_TYPE_TV) + continue; + /* Only when the addin_offset is non-zero, it is regarded + * as present. + */ + if (p_child->addin_offset) { + ret = 1; + break; + } + } + return ret; +} + +void +intel_tv_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_connector *connector; + struct intel_tv *intel_tv; + struct intel_encoder *intel_encoder; + struct intel_connector *intel_connector; + u32 tv_dac_on, tv_dac_off, save_tv_dac; + char *tv_format_names[ARRAY_SIZE(tv_modes)]; + int i, initial_mode = 0; + + if ((I915_READ(TV_CTL) & TV_FUSE_STATE_MASK) == TV_FUSE_STATE_DISABLED) + return; + + if (!tv_is_present_in_vbt(dev)) { + DRM_DEBUG_KMS("Integrated TV is not present.\n"); + return; + } + /* Even if we have an encoder we may not have a connector */ + if (!dev_priv->int_tv_support) + return; + + /* + * Sanity check the TV output by checking to see if the + * DAC register holds a value + */ + save_tv_dac = I915_READ(TV_DAC); + + I915_WRITE(TV_DAC, save_tv_dac | TVDAC_STATE_CHG_EN); + tv_dac_on = I915_READ(TV_DAC); + + I915_WRITE(TV_DAC, save_tv_dac & ~TVDAC_STATE_CHG_EN); + tv_dac_off = I915_READ(TV_DAC); + + I915_WRITE(TV_DAC, save_tv_dac); + + /* + * If the register does not hold the state change enable + * bit, (either as a 0 or a 1), assume it doesn't really + * exist + */ + if ((tv_dac_on & TVDAC_STATE_CHG_EN) == 0 || + (tv_dac_off & TVDAC_STATE_CHG_EN) != 0) + return; + + intel_tv = kzalloc(sizeof(struct intel_tv), GFP_KERNEL); + if (!intel_tv) { + return; + } + + intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); + if (!intel_connector) { + kfree(intel_tv); + return; + } + + intel_encoder = &intel_tv->base; + connector = &intel_connector->base; + + /* The documentation, for the older chipsets at least, recommend + * using a polling method rather than hotplug detection for TVs. + * This is because in order to perform the hotplug detection, the PLLs + * for the TV must be kept alive increasing power drain and starving + * bandwidth from other encoders. Notably for instance, it causes + * pipe underruns on Crestline when this encoder is supposedly idle. + * + * More recent chipsets favour HDMI rather than integrated S-Video. + */ + connector->polled = DRM_CONNECTOR_POLL_CONNECT; + + drm_connector_init(dev, connector, &intel_tv_connector_funcs, + DRM_MODE_CONNECTOR_SVIDEO); + + drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs, + DRM_MODE_ENCODER_TVDAC); + + intel_encoder->enable = intel_enable_tv; + intel_encoder->disable = intel_disable_tv; + intel_encoder->get_hw_state = intel_tv_get_hw_state; + intel_connector->get_hw_state = intel_connector_get_hw_state; + + intel_connector_attach_encoder(intel_connector, intel_encoder); + intel_encoder->type = INTEL_OUTPUT_TVOUT; + intel_encoder->crtc_mask = (1 << 0) | (1 << 1); + intel_encoder->cloneable = false; + intel_encoder->base.possible_crtcs = ((1 << 0) | (1 << 1)); + intel_encoder->base.possible_clones = (1 << INTEL_OUTPUT_TVOUT); + intel_tv->type = DRM_MODE_CONNECTOR_Unknown; + + /* BIOS margin values */ + intel_tv->margin[TV_MARGIN_LEFT] = 54; + intel_tv->margin[TV_MARGIN_TOP] = 36; + intel_tv->margin[TV_MARGIN_RIGHT] = 46; + intel_tv->margin[TV_MARGIN_BOTTOM] = 37; + + intel_tv->tv_format = tv_modes[initial_mode].name; + + drm_encoder_helper_add(&intel_encoder->base, &intel_tv_helper_funcs); + drm_connector_helper_add(connector, &intel_tv_connector_helper_funcs); + connector->interlace_allowed = false; + connector->doublescan_allowed = false; + + /* Create TV properties then attach current values */ + for (i = 0; i < ARRAY_SIZE(tv_modes); i++) + tv_format_names[i] = (char *)tv_modes[i].name; + drm_mode_create_tv_properties(dev, + ARRAY_SIZE(tv_modes), + tv_format_names); + + drm_connector_attach_property(connector, dev->mode_config.tv_mode_property, + initial_mode); + drm_connector_attach_property(connector, + dev->mode_config.tv_left_margin_property, + intel_tv->margin[TV_MARGIN_LEFT]); + drm_connector_attach_property(connector, + dev->mode_config.tv_top_margin_property, + intel_tv->margin[TV_MARGIN_TOP]); + drm_connector_attach_property(connector, + dev->mode_config.tv_right_margin_property, + intel_tv->margin[TV_MARGIN_RIGHT]); + drm_connector_attach_property(connector, + dev->mode_config.tv_bottom_margin_property, + intel_tv->margin[TV_MARGIN_BOTTOM]); + drm_sysfs_connector_add(connector); +} --- linux-lowlatency-3.5.0.orig/ubuntu/include/Kbuild +++ linux-lowlatency-3.5.0/ubuntu/include/Kbuild @@ -0,0 +1 @@ +header-y += linux/ --- linux-lowlatency-3.5.0.orig/ubuntu/include/README +++ linux-lowlatency-3.5.0/ubuntu/include/README @@ -0,0 +1,4 @@ +Only use this directory for things which need to share their headers with +other parts of the kernel or other modules in ubuntu/ + +Otherwise, keep them local to the module directory. --- linux-lowlatency-3.5.0.orig/ubuntu/include/linux/Kbuild +++ linux-lowlatency-3.5.0/ubuntu/include/linux/Kbuild @@ -0,0 +1 @@ +header-y += aufs_type.h --- linux-lowlatency-3.5.0.orig/ubuntu/include/linux/aufs_type.h +++ linux-lowlatency-3.5.0/ubuntu/include/linux/aufs_type.h @@ -0,0 +1,233 @@ +/* + * Copyright (C) 2005-2012 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __AUFS_TYPE_H__ +#define __AUFS_TYPE_H__ + +#define AUFS_NAME "aufs" + +#ifdef __KERNEL__ +/* + * define it before including all other headers. + * sched.h may use pr_* macros before defining "current", so define the + * no-current version first, and re-define later. + */ +#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__ +#include +#undef pr_fmt +#define pr_fmt(fmt) AUFS_NAME " %s:%d:%s[%d]: " fmt, \ + __func__, __LINE__, current->comm, current->pid +#else +#include +#include +#endif /* __KERNEL__ */ + +#include + +#define AUFS_VERSION "3.5-20120827" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_BRANCH_MAX_127 +typedef int8_t aufs_bindex_t; +#define AUFS_BRANCH_MAX 127 +#else +typedef int16_t aufs_bindex_t; +#ifdef CONFIG_AUFS_BRANCH_MAX_511 +#define AUFS_BRANCH_MAX 511 +#elif defined(CONFIG_AUFS_BRANCH_MAX_1023) +#define AUFS_BRANCH_MAX 1023 +#elif defined(CONFIG_AUFS_BRANCH_MAX_32767) +#define AUFS_BRANCH_MAX 32767 +#endif +#endif + +#ifdef __KERNEL__ +#ifndef AUFS_BRANCH_MAX +#error unknown CONFIG_AUFS_BRANCH_MAX value +#endif +#endif /* __KERNEL__ */ + +/* ---------------------------------------------------------------------- */ + +#define AUFS_FSTYPE AUFS_NAME + +#define AUFS_ROOT_INO 2 +#define AUFS_FIRST_INO 11 + +#define AUFS_WH_PFX ".wh." +#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1) +#define AUFS_WH_TMP_LEN 4 +/* a limit for rmdir/rename a dir */ +#define AUFS_MAX_NAMELEN (NAME_MAX \ + - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\ + - 1 /* dot */\ + - AUFS_WH_TMP_LEN) /* hex */ +#define AUFS_XINO_FNAME "." AUFS_NAME ".xino" +#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME +#define AUFS_XINO_TRUNC_INIT 64 /* blocks */ +#define AUFS_XINO_TRUNC_STEP 4 /* blocks */ +#define AUFS_DIRWH_DEF 3 +#define AUFS_RDCACHE_DEF 10 /* seconds */ +#define AUFS_RDCACHE_MAX 3600 /* seconds */ +#define AUFS_RDBLK_DEF 512 /* bytes */ +#define AUFS_RDHASH_DEF 32 +#define AUFS_WKQ_NAME AUFS_NAME "d" +#define AUFS_MFS_DEF_SEC 30 /* seconds */ +#define AUFS_MFS_MAX_SEC 3600 /* seconds */ +#define AUFS_PLINK_WARN 100 /* number of plinks */ + +/* pseudo-link maintenace under /proc */ +#define AUFS_PLINK_MAINT_NAME "plink_maint" +#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME +#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME + +#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */ +#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME + +#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME +#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk" +#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph" + +/* doubly whiteouted */ +#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME +#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME +#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME + +/* branch permissions and attributes */ +#define AUFS_BRPERM_RW "rw" +#define AUFS_BRPERM_RO "ro" +#define AUFS_BRPERM_RR "rr" +#define AUFS_BRRATTR_WH "wh" +#define AUFS_BRWATTR_NLWH "nolwh" + +/* ---------------------------------------------------------------------- */ + +/* ioctl */ +enum { + /* readdir in userspace */ + AuCtl_RDU, + AuCtl_RDU_INO, + + /* pathconf wrapper */ + AuCtl_WBR_FD, + + /* busy inode */ + AuCtl_IBUSY +}; + +/* borrowed from linux/include/linux/kernel.h */ +#ifndef ALIGN +#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) +#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) +#endif + +/* borrowed from linux/include/linux/compiler-gcc3.h */ +#ifndef __aligned +#define __aligned(x) __attribute__((aligned(x))) +#endif + +#ifdef __KERNEL__ +#ifndef __packed +#define __packed __attribute__((packed)) +#endif +#endif + +struct au_rdu_cookie { + uint64_t h_pos; + int16_t bindex; + uint8_t flags; + uint8_t pad; + uint32_t generation; +} __aligned(8); + +struct au_rdu_ent { + uint64_t ino; + int16_t bindex; + uint8_t type; + uint8_t nlen; + uint8_t wh; + char name[0]; +} __aligned(8); + +static inline int au_rdu_len(int nlen) +{ + /* include the terminating NULL */ + return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1, + sizeof(uint64_t)); +} + +union au_rdu_ent_ul { + struct au_rdu_ent __user *e; + uint64_t ul; +}; + +enum { + AufsCtlRduV_SZ, + AufsCtlRduV_End +}; + +struct aufs_rdu { + /* input */ + union { + uint64_t sz; /* AuCtl_RDU */ + uint64_t nent; /* AuCtl_RDU_INO */ + }; + union au_rdu_ent_ul ent; + uint16_t verify[AufsCtlRduV_End]; + + /* input/output */ + uint32_t blk; + + /* output */ + union au_rdu_ent_ul tail; + /* number of entries which were added in a single call */ + uint64_t rent; + uint8_t full; + uint8_t shwh; + + struct au_rdu_cookie cookie; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +struct aufs_wbr_fd { + uint32_t oflags; + int16_t brid; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +struct aufs_ibusy { + uint64_t ino, h_ino; + int16_t bindex; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +#define AuCtlType 'A' +#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu) +#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu) +#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \ + struct aufs_wbr_fd) +#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy) + +#endif /* __AUFS_TYPE_H__ */ --- linux-lowlatency-3.5.0.orig/usr/gen_init_cpio.c +++ linux-lowlatency-3.5.0/usr/gen_init_cpio.c @@ -303,7 +303,7 @@ int retval; int rc = -1; int namesize; - int i; + unsigned int i; mode |= S_IFREG; @@ -381,25 +381,28 @@ static char *cpio_replace_env(char *new_location) { - char expanded[PATH_MAX + 1]; - char env_var[PATH_MAX + 1]; - char *start; - char *end; - - for (start = NULL; (start = strstr(new_location, "${")); ) { - end = strchr(start, '}'); - if (start < end) { - *env_var = *expanded = '\0'; - strncat(env_var, start + 2, end - start - 2); - strncat(expanded, new_location, start - new_location); - strncat(expanded, getenv(env_var), PATH_MAX); - strncat(expanded, end + 1, PATH_MAX); - strncpy(new_location, expanded, PATH_MAX); - } else - break; - } + char expanded[PATH_MAX + 1]; + char env_var[PATH_MAX + 1]; + char *start; + char *end; + + for (start = NULL; (start = strstr(new_location, "${")); ) { + end = strchr(start, '}'); + if (start < end) { + *env_var = *expanded = '\0'; + strncat(env_var, start + 2, end - start - 2); + strncat(expanded, new_location, start - new_location); + strncat(expanded, getenv(env_var), + PATH_MAX - strlen(expanded)); + strncat(expanded, end + 1, + PATH_MAX - strlen(expanded)); + strncpy(new_location, expanded, PATH_MAX); + new_location[PATH_MAX] = 0; + } else + break; + } - return new_location; + return new_location; } --- linux-lowlatency-3.5.0.orig/debian.lowlatency/changelog +++ linux-lowlatency-3.5.0/debian.lowlatency/changelog @@ -0,0 +1,3053 @@ +linux-lowlatency (3.5.0-22.21) quantal-proposed; urgency=low + + [ Kaj Ailomaa ] + + * rebase to Ubuntu-3.5.0-22.34 + * Release Tracking Bug + - LP: #1097918 + + [ Ubuntu: 3.5.0-22.34 ] + + * Release Tracking Bug + - LP: #1097343 + * Revert "SAUCE: fsnotify: dont put marks on temporary list when clearing + marks by group" + - LP: #1096137 + * Revert "SAUCE: fsnotify: introduce locked versions of + fsnotify_add_mark() and fsnotify_remove_mark()" + - LP: #1096137 + * Revert "SAUCE: fsnotify: pass group to fsnotify_destroy_mark()" + - LP: #1096137 + * Revert "SAUCE: fsnotify: use a mutex instead of a spinlock to protect a + groups mark list" + - LP: #1096137 + * Revert "SAUCE: fanotify: add an extra flag to mark_remove_from_mask + that indicates wheather a mark should be destroyed" + - LP: #1096137 + * Revert "SAUCE: fsnotify: take groups mark_lock before mark lock" + - LP: #1096137 + * Revert "SAUCE: fsnotify: use reference counting for groups" + - LP: #1096137 + * Revert "SAUCE: fsnotify: introduce fsnotify_get_group()" + - LP: #1096137 + * fsnotify: introduce fsnotify_get_group() + - LP: #1096137 + * fsnotify: use reference counting for groups + - LP: #1096137 + * fsnotify: take groups mark_lock before mark lock + - LP: #1096137 + * fanotify: add an extra flag to mark_remove_from_mask that indicates + wheather a mark should be destroyed + - LP: #1096137 + * fsnotify: use a mutex instead of a spinlock to protect a groups mark + list + - LP: #1096137 + * fsnotify: pass group to fsnotify_destroy_mark() + - LP: #1096137 + * fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #1096137 + * fsnotify: dont put marks on temporary list when clearing marks by group + - LP: #1096137 + * fsnotify: change locking order + - LP: #1096137 + + -- Kaj Ailomaa Thu, 10 Jan 2013 15:25:01 +0100 + +linux-lowlatency (3.5.0-22.20) quantal-proposed; urgency=low + + [ Kaj Ailomaa ] + + * rebase to Ubuntu-3.5.0-22.33 + * Release Tracking Bug + - LP: #1095814 + + [ Ubuntu: 3.5.0-22.33 ] + + * Release Tracking Bug + - LP: #1095349 + * SAUCE: add eeprom_bad_csum_allow module parameter + - LP: #1070182 + * SAUCE: samsung-laptop: disable in UEFI mode + - LP: #1040557 + * SAUCE: exec: do not leave bprm->interp on stack + - LP: #1068888 + - CVE-2012-4530 + * Add ceph to linux-image for virtual instances + - LP: #1063784 + * SAUCE: fsnotify: introduce fsnotify_get_group() + - LP: #922906 + * SAUCE: fsnotify: use reference counting for groups + - LP: #922906 + * SAUCE: fsnotify: take groups mark_lock before mark lock + - LP: #922906 + * SAUCE: fanotify: add an extra flag to mark_remove_from_mask that + indicates wheather a mark should be destroyed + - LP: #922906 + * SAUCE: fsnotify: use a mutex instead of a spinlock to protect a groups + mark list + - LP: #922906 + * SAUCE: fsnotify: pass group to fsnotify_destroy_mark() + - LP: #922906 + * SAUCE: fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #922906 + * SAUCE: fsnotify: dont put marks on temporary list when clearing marks + by group + - LP: #922906 + * SAUCE: tools: hv: Netlink source address validation allows DoS + - LP: #1084777 + - CVE-2012-5532 + * Revert "Staging: Android alarm: IOCTL command encoding fix" + - LP: #1091251 + * Revert "sched, autogroup: Stop going ahead if autogroup is disabled" + - LP: #1091251 + * Revert "serial: omap: fix software flow control" + - LP: #1091251 + * drm/i915: EBUSY status handling added to i915_gem_fault(). + - LP: #1087302 + * MISC: hpilo, remove pci_disable_device + - LP: #1087860 + * asix: Adds support for Lenovo 10/100 USB dongle. + - LP: #1087480 + * hpsa: gen8plus Smart Array IDs + - LP: #1089623 + * KVM: x86: invalid opcode oops on SET_SREGS with OSXSAVE bit set + (CVE-2012-4461) + - LP: #1089604 + - CVE-2012-4461 + * gpio-timberdale: fix a potential wrapping issue + - LP: #1091251 + * cfg80211: fix antenna gain handling + - LP: #1091251 + * drm/i915: fix overlay on i830M + - LP: #1091251 + * drm/i915: clear the entire sdvo infoframe buffer + - LP: #1091251 + * mac80211: use blacklist for duplicate IE check + - LP: #1091251 + * mac80211: Only process mesh config header on frames that RA_MATCH + - LP: #1091251 + * mac80211: don't inspect Sequence Control field on control frames + - LP: #1091251 + * gpiolib: Don't return -EPROBE_DEFER to sysfs, or for invalid gpios + - LP: #1091251 + * qla2xxx: Update target lookup session tables when a target session + changes + - LP: #1091251 + * mac80211: fix SSID copy on IBSS JOIN + - LP: #1091251 + * wireless: drop invalid mesh address extension frames + - LP: #1091251 + * mac80211: check management frame header length + - LP: #1091251 + * mac80211: verify that skb data is present + - LP: #1091251 + * mac80211: make sure data is accessible in EAPOL check + - LP: #1091251 + * target: Fix double-free of se_cmd in target_complete_tmr_failure + - LP: #1091251 + * ext4: fix unjournaled inode bitmap modification + - LP: #1091251 + * ath9k: fix stale pointers potentially causing access to free'd skbs + - LP: #1091251 + * floppy: don't call alloc_ordered_workqueue inside the alloc_disk loop + - LP: #1091251 + * floppy: do put_disk on current dr if blk_init_queue fails + - LP: #1091251 + * floppy: properly handle failure on add_disk loop + - LP: #1091251 + * ALSA: PCM: Fix some races at disconnection + - LP: #1091251 + * ALSA: usb-audio: Fix races at disconnection + - LP: #1091251 + * ALSA: usb-audio: Use rwsem for disconnect protection + - LP: #1091251 + * ALSA: usb-audio: Fix races at disconnection in mixer_quirks.c + - LP: #1091251 + * ALSA: Add a reference counter to card instance + - LP: #1091251 + * ALSA: Avoid endless sleep after disconnect + - LP: #1091251 + * xen/gntdev: don't leak memory from IOCTL_GNTDEV_MAP_GRANT_REF + - LP: #1091251 + * rt2800: validate step value for temperature compensation + - LP: #1091251 + * ath9k: Test for TID only in BlockAcks while checking tx status + - LP: #1091251 + * md/raid1: Fix assembling of arrays containing Replacements. + - LP: #1091251 + * Input: tsc40 - remove wrong announcement of pressure support + - LP: #1091251 + * HID: microsoft: fix invalid rdesc for 3k kbd + - LP: #1091251 + * xen/mmu: Use Xen specific TLB flush instead of the generic one. + - LP: #1091251 + * NFS: Wait for session recovery to finish before returning + - LP: #1091251 + * NFSv4.1: We must release the sequence id when we fail to get a session + slot + - LP: #1091251 + * NFSv4: nfs4_locku_done must release the sequence id + - LP: #1091251 + * NFS: fix bug in legacy DNS resolver. + - LP: #1091251 + * nfsv3: Make v3 mounts fail with ETIMEDOUTs instead EIO on mountd + timeouts + - LP: #1091251 + * nfs: Show original device name verbatim in /proc/*/mount{s,info} + - LP: #1091251 + * target: Don't return success from module_init() if setup fails + - LP: #1091251 + * target: Avoid integer overflow in se_dev_align_max_sectors() + - LP: #1091251 + * iscsi-target: Fix missed wakeup race in TX thread + - LP: #1091251 + * target: Fix incorrect usage of nested IRQ spinlocks in ABORT_TASK path + - LP: #1091251 + * DRM/Radeon: Fix Load Detection on legacy primary DAC. + - LP: #1091251 + * ixgbe: PTP get_ts_info missing software support + - LP: #1091251 + * drm/udl: fix stride issues scanning out stride != width*bpp + - LP: #1091251 + * crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent + data corruption + - LP: #1091251 + * module: fix out-by-one error in kallsyms + - LP: #1091251 + * cifs: fix potential buffer overrun in cifs.idmap handling code + - LP: #1091251 + * ptp: update adjfreq callback description + - LP: #1091251 + * ALSA: hda: Cirrus: Fix coefficient index for beep configuration + - LP: #1091251 + * ALSA: HDA: Fix digital microphone on CS420x + - LP: #1091251 + * ALSA: hda - Force to reset IEC958 status bits for AD codecs + - LP: #1091251, #359361 + * hwmon: (w83627ehf) Force initial bank selection + - LP: #1091251 + * drm: restore open_count if drm_setup fails + - LP: #1091251 + * ALSA: hda - Fix empty DAC filling in patch_via.c + - LP: #1091251 + * ALSA: hda - Fix invalid connections in VT1802 codec + - LP: #1091251 + * xen/events: fix RCU warning, or Call idle notifier after irq_enter() + - LP: #1091251 + * mmc: sdhci: fix NULL dereference in sdhci_request() tuning + - LP: #1091251 + * ALSA: hda - Improve HP depop when system enter to S3 + - LP: #1091251 + * ALSA: hda - Add new codec ALC668 and ALC900 (default name ALC1150) + - LP: #1091251 + * ALSA: Fix card refcount unbalance + - LP: #1091251 + * drm/radeon/cayman: add some missing regs to the VM reg checker + - LP: #1091251 + * drm/radeon/si: add some missing regs to the VM reg checker + - LP: #1091251 + * xfs: fix buffer shudown reference count mismatch + - LP: #1091251 + * xfs: fix reading of wrapped log data + - LP: #1091251 + * virtio: Don't access index after unregister. + - LP: #1091251 + * fanotify: fix missing break + - LP: #1091251 + * mm: bugfix: set current->reclaim_state to NULL while returning from + kswapd() + - LP: #1091251 + * drm/vmwgfx: Fix hibernation device reset + - LP: #1091251 + * drm/vmwgfx: Fix a case where the code would BUG when trying to pin GMR + memory + - LP: #1091251 + * UBIFS: introduce categorized lprops counter + - LP: #1091251 + * UBIFS: fix mounting problems after power cuts + - LP: #1091251 + * USB: usb_wwan: fix bulk-urb allocation + - LP: #1091251 + * ARM: dt: tegra: fix length of pad control and mux registers + - LP: #1091251 + * futex: Handle futex_pi OWNER_DIED take over correctly + - LP: #1091251 + * mac80211: sync acccess to tx_filtered/ps_tx_buf queues + - LP: #1091251 + * iwlwifi: handle DMA mapping failures + - LP: #1091251 + * ASoC: wm8978: pll incorrectly configured when codec is master + - LP: #1091251 + * ASoC: cs42l52: fix the return value of cs42l52_set_fmt() + - LP: #1091251 + * Bluetooth: Fix having bogus entries in mgmt_read_index_list reply + - LP: #1091251 + * mac80211: don't send null data packet when not associated + - LP: #1091251 + * ASoC: dapm: Use card_list during DAPM shutdown + - LP: #1091251 + * ASoC: core: Double control update err for snd_soc_put_volsw_sx + - LP: #1091251 + * mac80211: call skb_dequeue/ieee80211_free_txskb instead of + __skb_queue_purge + - LP: #1091251 + * ALSA: hda - Add a missing quirk entry for iMac 9,1 + - LP: #1091251 + * s390/signal: set correct address space control + - LP: #1091251 + * wireless: allow 40 MHz on world roaming channels 12/13 + - LP: #1091251 + * drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures + - LP: #1091251 + * s390/gup: add missing TASK_SIZE check to get_user_pages_fast() + - LP: #1091251 + * USB: option: add Novatel E362 and Dell Wireless 5800 USB IDs + - LP: #1091251 + * USB: option: add Alcatel X220/X500D USB IDs + - LP: #1091251 + * i2c-mux-pinctrl: Fix probe error path + - LP: #1091251 + * ALSA: usb-audio: Fix mutex deadlock at disconnection + - LP: #1091251 + * drm/radeon: fix logic error in atombios_encoders.c + - LP: #1091251 + * ttm: Clear the ttm page allocated from high memory zone correctly + - LP: #1091251 + * ARM: imx: ehci: fix host power mask bit + - LP: #1091251 + * memcg: oom: fix totalpages calculation for memory.swappiness==0 + - LP: #1091251 + * memcg: fix hotplugged memory zone oops + - LP: #1091251 + * tmpfs: fix shmem_getpage_gfp() VM_BUG_ON + - LP: #1091251 + * tmpfs: change final i_blocks BUG to WARNING + - LP: #1091251 + * mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions() + - LP: #1091251 + * mtd: slram: invalid checking of absolute end address + - LP: #1091251 + * jffs2: Fix lock acquisition order bug in jffs2_write_begin + - LP: #1091251 + * isci: copy fis 0x34 response into proper buffer + - LP: #1091251 + * mac80211: deinitialize ibss-internals after emptiness check + - LP: #1091251 + * iwlwifi: fix monitor mode FCS flag + - LP: #1091251 + * fix virtual aliasing issue in get_shared_area() + - LP: #1091251 + * rtlwifi: rtl8192cu: Add new USB ID + - LP: #1091251 + * mwifiex: fix system hang issue in cmd timeout error case + - LP: #1091251 + * mwifiex: report error to MMC core if we cannot suspend + - LP: #1091251 + * xfs: drop buffer io reference when a bad bio is built + - LP: #1091251 + * m68k: fix sigset_t accessor functions + - LP: #1091251 + * ALSA: ua101, usx2y: fix broken MIDI output + - LP: #1091251 + * sparc64: not any error from do_sigaltstack() should fail rt_sigreturn() + - LP: #1091251 + * reiserfs: Fix lock ordering during remount + - LP: #1091251 + * reiserfs: Protect reiserfs_quota_on() with write lock + - LP: #1091251 + * reiserfs: Protect reiserfs_quota_write() with write lock + - LP: #1091251 + * reiserfs: Move quota calls out of write lock + - LP: #1091251 + * md: Reassigned the parameters if read_seqretry returned true in func + md_is_badblock. + - LP: #1091251 + * md: Avoid write invalid address if read_seqretry returned true. + - LP: #1091251 + * drm/radeon/dce4+: don't use radeon_crtc for vblank callback + - LP: #1091251 + * drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) + - LP: #1091251 + * drm/radeon: properly track the crtc not_enabled case + evergreen_mc_stop() + - LP: #1091251 + * radeon: add AGPMode 1 quirk for RV250 + - LP: #1091251 + * x86, efi: Fix processor-specific memcpy() build error + - LP: #1091251 + * x86-32: Fix invalid stack address while in softirq + - LP: #1091251 + * x86-32: Export kernel_stack_pointer() for modules + - LP: #1091251 + * x86, microcode, AMD: Add support for family 16h processors + - LP: #1091251 + * ALSA: hda - Add new codec ALC283 ALC290 support + - LP: #1091251 + * ALSA: hda - Add support for Realtek ALC292 + - LP: #1081466, #1091251 + * selinux: fix sel_netnode_insert() suspicious rcu dereference + - LP: #1091251 + * drm/radeon: add new SI pci id + - LP: #1091251 + * md/raid10: close race that lose writes lost when replacement completes. + - LP: #1091251 + * md/raid10: decrement correct pending counter when writing to + replacement. + - LP: #1091251 + * fix user-triggerable panic on parisc + - LP: #1091251 + * dm: fix deadlock with request based dm and queue request_fn recursion + - LP: #1091251 + * block: Don't access request after it might be freed + - LP: #1091251 + * PM / QoS: fix wrong error-checking condition + - LP: #1091251 + * i7300_edac: Fix error flag testing + - LP: #1091251 + * iwlwifi: fix the basic CCK rates calculation + - LP: #1091251 + * Dove: Attempt to fix PMU/RTC interrupts + - LP: #1091251 + * Dove: Fix irq_to_pmu() + - LP: #1091251 + * ARM: Kirkwood: Update PCI-E fixup + - LP: #1091251 + * jbd: Fix lock ordering bug in journal_unmap_buffer() + - LP: #1091251 + * can: peak_usb: fix hwtstamp assignment + - LP: #1091251 + * can: bcm: initialize ifindex for timeouts without previous frame + reception + - LP: #1091251 + * writeback: put unused inodes to LRU after writeback completion + - LP: #1091251 + * futex: avoid wake_futex() for a PI futex_q + - LP: #1091251 + * mm/vmemmap: fix wrong use of virt_to_page + - LP: #1091251 + * mm: vmscan: fix endless loop in kswapd balancing + - LP: #1091251 + * mm: soft offline: split thp at the beginning of soft_offline_page() + - LP: #1091251 + * x86, fpu: Avoid FPU lazy restore after suspend + - LP: #1091251 + * workqueue: exit rescuer_thread() as TASK_RUNNING + - LP: #1091251 + * Revert misapplied "mmc: sh-mmcif: avoid oops on spurious interrupts" + - LP: #1091251 + * mmc: sh-mmcif: avoid oops on spurious interrupts (second try) + - LP: #1091251 + * tmpfs: fix shared mempolicy leak + - LP: #1091251 + * HID: microsoft: do not use compound literal - fix build + - LP: #1091251 + * ACPI video: Ignore errors after _DOD evaluation. + - LP: #1091251 + * SUNRPC: Fix a UDP transport regression + - LP: #1091251 + * SUNRPC: Set alloc_slot for backchannel tcp ops + - LP: #1091251 + * sparc64: fix ptrace interaction with force_successful_syscall_return() + - LP: #1091251 + * sparc64: Like x86 we should check current->mm during perf backtrace + generation. + - LP: #1091251 + * sparc64: Fix bit twiddling in sparc_pmu_enable_event(). + - LP: #1091251 + * sparc64: do not clobber personality flags in sys_sparc64_personality() + - LP: #1091251 + * sparc64: Be less verbose during vmemmap population. + - LP: #1091251 + * netlink: add reference of module in netlink_dump_start + - LP: #1091251 + * infiniband: pass rdma_cm module to netlink_dump_start + - LP: #1091251 + * net: remove skb recycling + - LP: #1091251 + * net: Fix skb_under_panic oops in neigh_resolve_output + - LP: #1091251 + * skge: Add DMA mask quirk for Marvell 88E8001 on ASUS P5NSLI motherboard + - LP: #1091251 + * vlan: don't deliver frames for unknown vlans to protocols + - LP: #1091251 + * RDS: fix rds-ping spinlock recursion + - LP: #1091251 + * tcp: resets are misrouted + - LP: #1091251 + * ipv6: addrconf: fix /proc/net/if_inet6 + - LP: #1091251 + * drm/i915: Use cpu relocations if the object is in the GTT but not + mappable + - LP: #1091251 + * floppy: destroy floppy workqueue before cleaning up the queue + - LP: #1091251 + * drm/nouveau: silence modesetting spam on pre-gf8 chipsets + - LP: #1091251 + * drm/nouveau: fix suspend/resume when in headless mode + - LP: #1091251 + * drm/nouveau: headless mode by default if pci class != vga display + - LP: #1091251 + * sky2: Fix for interrupt handler + - LP: #1091251 + * batman-adv: Fix broadcast packet CRC calculation + - LP: #1091251 + * drm/radeon: fix typo in evergreen_mc_resume() + - LP: #1091251 + * GFS2: Test bufdata with buffer locked and gfs2_log_lock held + - LP: #1091251 + * USB: mos7840: remove unused variable + - LP: #1091251 + * sctp: fix call to SCTP_CMD_PROCESS_SACK in sctp_cmd_interpreter() + - LP: #1091251 + * netlink: use kfree_rcu() in netlink_release() + - LP: #1091251 + * tcp: fix FIONREAD/SIOCINQ + - LP: #1091251 + * ipv6: Set default hoplimit as zero. + - LP: #1091251 + * net: usb: Fix memory leak on Tx data path + - LP: #1091251 + * drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before + mdiobus_free + - LP: #1091251 + * l2tp: fix oops in l2tp_eth_create() error path + - LP: #1091251 + * tcp-repair: Handle zero-length data put in rcv queue + - LP: #1091251 + * net: inet_diag -- Return error code if protocol handler is missed + - LP: #1091251 + * af-packet: fix oops when socket is not present + - LP: #1091251 + * ipv6: send unsolicited neighbour advertisements to all-nodes + - LP: #1091251 + * r8169: allow multicast packets on sub-8168f chipset. + - LP: #1091251 + * r8169: Fix WoL on RTL8168d/8111d. + - LP: #1091251 + * r8169: use unlimited DMA burst for TX + - LP: #1091251 + * netfilter: Mark SYN/ACK packets as invalid from original direction + - LP: #1091251 + * netfilter: Validate the sequence number of dataless ACK packets as well + - LP: #1091251 + * netfilter: nf_nat: don't check for port change on ICMP tuples + - LP: #1091251 + * ipv4: avoid undefined behavior in do_ip_setsockopt() + - LP: #1091251 + * ipv6: setsockopt(IPIPPROTO_IPV6, IPV6_MINHOPCOUNT) forgot to set return + value + - LP: #1091251 + * net: correct check in dev_addr_del() + - LP: #1091251 + * net-rps: Fix brokeness causing OOO packets + - LP: #1091251 + * tcp: fix retransmission in repair mode + - LP: #1091251 + * GFS2: Don't call file_accessed() with a shared glock + - LP: #1091251 + * get_dvb_firmware: fix download site for tda10046 firmware + - LP: #1091251 + * ixgbe: add support for X540-AT1 + - LP: #1091251 + * fimc-lite: Don't use mutex_lock_interruptible() in device release() + - LP: #1091251 + * NFC: pn533: Fix use after free + - LP: #1091251 + * NFC: pn533: Fix mem leak in pn533_in_dep_link_up + - LP: #1091251 + * HID: add quirk for Freescale i.MX28 ROM recovery + - LP: #1091251 + * NFC: Fix nfc_llcp_local chained list insertion + - LP: #1091251 + * bas_gigaset: fix pre_reset handling + - LP: #1091251 + * watchdog: using u64 in get_sample_period() + - LP: #1091251 + * sata_svw: check DMA start bit before reset + - LP: #1091251 + * bnx2x: remove redundant warning log + - LP: #1091251 + * x86, amd: Disable way access filter on Piledriver CPUs + - LP: #1091251 + * telephony: ijx: buffer overflow in ixj_write_cid() + - LP: #1091251 + * i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard + - LP: #1091251 + * drm/i915: Add no-lvds quirk for Supermicro X7SPA-H + - LP: #1091251 + * ACPI: missing break + - LP: #1091251 + * 8139cp: revert "set ring address before enabling receiver" + - LP: #1091251 + * ASoC: dmaengine: Correct Makefile when sound is built as module + - LP: #1091251 + * i82975x_edac: Fix dimm label initialization + - LP: #1091251 + * drm/i915: do not ignore eDP bpc settings from vbt + - LP: #1091251 + * drm/i915: do not default to 18 bpp for eDP if missing from VBT + - LP: #1091251 + * Input: matrix-keymap - provide proper module license + - LP: #1091251 + * Linux 3.5.7.2 + - LP: #1091251 + * exec: use -ELOOP for max recursion depth + - LP: #1068888 + - CVE-2012-4530 + * ALSA: hda - bug fix for invalid connection list of Haswell HDMI codec + pins + - LP: #1095242 + + -- Kaj Ailomaa Sun, 06 Jan 2013 12:12:27 +0100 + +linux-lowlatency (3.5.0-21.19) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-21.32 + * Release Tracking Bug + - LP: #1090123 + + [ Ubuntu: 3.5.0-21.32 ] + + * Release Tracking Bug + - LP: #1088979 + * SAUCE: i915_hsw: move i915_hsw_enabled symbol to intel_ips + - LP: #1087622 + + [ Ubuntu: 3.5.0-20.31 ] + + * Release Tracking Bug + - LP: #1086759 + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_WAIT_TIMEOUT + - LP: #1085245 + * SAUCE: i915_hsw: Include #define DRM_I915_GEM_CONTEXT_[CREATE,DESTROY] + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: add register read IOCTL + - LP: #1085245 + * SAUCE: i915_hsw: Include #define i915_execbuffer2_[set,get]_context_id + - LP: #1085245 + * SAUCE: i915_hsw: Include #define I915_GEM_PARAM_HAS_SEMAPHORES + - LP: #1085245 + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_SECURE_BATCHES + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: call intel_enable_gtt + - LP: #1085245 + * SAUCE: i915_hsw: drm: add helper to sort panels to the head of the + connector list + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract dp link bw helpers + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract drm_dp_max_lane_count helper + - LP: #1085245 + * SAUCE: i915_hsw: drm: dp helper: extract drm_dp_channel_eq_ok + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract helpers to compute new training values + from sink request + - LP: #1085245 + * SAUCE: i915_hsw: drm: dp helper: extract drm_dp_clock_recovery_ok + - LP: #1085245 + * SAUCE: i915_hsw: Include #define I915_PARAM_HAS_PRIME_VMAP_FLUSH + - LP: #1085245 + * SAUCE: i915_hsw: Provide an ubuntu/i915 driver for Haswell graphics + - LP: #1085245 + * SAUCE: i915_hsw: Revert "drm: Make the .mode_fixup() operations mode + argument a const pointer" for ubuntu/i915 driver + - LP: #1085245 + * SAUCE: i915_hsw: Rename ubuntu/i915 driver i915_hsw + - LP: #1085245 + * SAUCE: i915_hsw: Only support Haswell with ubuntu/i915 driver + - LP: #1085245 + * SAUCE: i915_hsw: Include #define DRM_I915_GEM_WAIT + - LP: #1085245 + * SAUCE: i915_hsw: drm: extract dp link train delay functions from radeon + - LP: #1085245 + * SAUCE: i915_hsw: drm/dp: Update DPCD defines + - LP: #1085245 + * SAUCE: i915_hsw: Update intel_ips.h file location + - LP: #1085245 + * SAUCE: i915_hsw: Provide updated drm_mm.h and drm_mm.c for ubuntu/i915 + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Replace the array of pages with a + scatterlist + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Replace the array of pages with a + scatterlist + - LP: #1085245 + * SAUCE: i915_hsw: drm/i915: Stop using AGP layer for GEN6+ + - LP: #1085245 + * SAUCE: i915_hsw: Add i915_hsw_gpu_*() calls for ubuntu/i915 + - LP: #1085245 + * i915_hsw: [Config] Enable CONFIG_DRM_I915_HSW=m + - LP: #1085245 + * SAUCE: drm/i915: fix hsw_fdi_link_train "retry" code + - LP: #1085245 + * SAUCE: drm/i915: reject modes the LPT FDI receiver can't handle + - LP: #1085245 + * SAUCE: drm/i915: add support for mPHY destination on intel_sbi_{read, + write} + - LP: #1085245 + * SAUCE: drm/i915: add lpt_init_pch_refclk + - LP: #1085245 + * SAUCE: drm/i915: set the LPT FDI RX polarity reversal bit when needed + - LP: #1085245 + * Revert "SAUCE: SECCOMP: audit: always report seccomp violations" + - LP: #1079469 + * Revert "cgroup: Drop task_lock(parent) on cgroup_fork()" + - LP: #1084539 + * Revert "cgroup: Remove task_lock() from cgroup_post_fork()" + - LP: #1084539 + * Revert "x86/mm: Fix the size calculation of mapping tables" + - LP: #1084539 + * Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..." + - LP: #1084539 + * Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz" + - LP: #1084539 + * Revert "sched: Add missing call to calc_load_exit_idle()" + - LP: #1084539 + * net: fix secpath kmemleak + - LP: #1065434 + * seccomp: forcing auditing of kill condition + - LP: #1079469 + * e1000e: add device IDs for i218 + - LP: #1081796 + * bonding: Bonding driver does not consider the gso_max_size/gso_max_segs + setting of slave devices. + - LP: #1078184 + * mm/hotplug: correctly add new zone to all other nodes' zone lists + - LP: #1079860 + - CVE-2012-5517 + * xen: enable platform-pci only in a Xen guest + - LP: #1081054 + * udf: fix retun value on error path in udf_load_logicalvol + - LP: #1084539 + * usb: gadget: at91_udc: fix dt support + - LP: #1084539 + * netfilter: nf_nat_sip: fix incorrect handling of EBUSY for RTCP + expectation + - LP: #1084539 + * netfilter: nf_nat_sip: fix via header translation with multiple + parameters + - LP: #1084539 + * netfilter: nf_ct_expect: fix possible access to uninitialized timer + - LP: #1084539 + * netfilter: xt_limit: have r->cost != 0 case work + - LP: #1084539 + * netfilter: nf_conntrack: fix racy timer handling with reliable events + - LP: #1084539 + * netfilter: nfnetlink_log: fix NLA_PUT macro removal bug + - LP: #1084539 + * MIPS: ath79: Fix CPU/DDR frequency calculation for SRIF PLLs + - LP: #1084539 + * jbd: Fix assertion failure in commit code due to lacking transaction + credits + - LP: #1084539 + * nfsd4: fix nfs4 stateid leak + - LP: #1084539 + * NFSD: pass null terminated buf to kstrtouint() + - LP: #1084539 + * mfd: 88pm860x: Move _IO resources out of ioport_ioresource + - LP: #1084539 + * target: support zero allocation length in INQUIRY + - LP: #1084539 + * target: fix truncation of mode data, support zero allocation length + - LP: #1084539 + * target: fix return code in target_core_init_configfs error path + - LP: #1084539 + * powerpc/eeh: Lock module while handling EEH event + - LP: #1084539 + * SUNRPC: Ensure that the TCP socket is closed when in CLOSE_WAIT + - LP: #1084539 + * ext4: remove erroneous ext4_superblock_csum_set() in update_backups() + - LP: #1084539 + * block: remove the duplicated setting for congestion_threshold + - LP: #1084539 + * block: lift the initial queue bypass mode on blk_register_queue() + instead of blk_init_allocated_queue() + - LP: #1084539 + * block: fix request_queue->flags initialization + - LP: #1084539 + * viafb: don't touch clock state on OLPC XO-1.5 + - LP: #1084539 + * qla2xxx: Fix endianness of task management response code + - LP: #1084539 + * iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT PDU + - LP: #1084539 + * drm/i915: use adjusted_mode instead of mode for checking the 6bpc force + flag + - LP: #1084539 + * kbuild: Do not package /boot and /lib in make tar-pkg + - LP: #1084539 + * module: taint kernel when lve module is loaded + - LP: #1084539 + * mtd: nand: allow NAND_NO_SUBPAGE_WRITE to be set from driver + - LP: #1084539 + * nfsd4: don't pin clientids to pseudoflavors + - LP: #1084539 + * lockd: use rpc client's cl_nodename for id encoding + - LP: #1084539 + * pnfsblock: fix partial page buffer wirte + - LP: #1084539 + * pnfsblock: fix non-aligned DIO read + - LP: #1084539 + * pnfsblock: fix non-aligned DIO write + - LP: #1084539 + * target/file: Re-enable optional fd_buffered_io=1 operation + - LP: #1084539 + * iscsi-target: Add explicit set of cache_dynamic_acls=1 for TPG + demo-mode + - LP: #1084539 + * iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp + - LP: #1084539 + * iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout + values + - LP: #1084539 + * drivers/dma/dmaengine.c: lower the priority of 'failed to get' dma + channel message + - LP: #1084539 + * ath9k: use ieee80211_free_txskb + - LP: #1084539 + * ALSA: hda - Fix hang caused by race during suspend. + - LP: #1084539 + * ACPI: EC: Make the GPE storm threshold a module parameter + - LP: #1084539 + * ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop + - LP: #1084539 + * mmc: sdhci-s3c: fix the wrong number of max bus clocks + - LP: #1084539 + * mac80211: use ieee80211_free_txskb to fix possible skb leaks + - LP: #1084539 + * ARM: OMAP: counter: add locking to read_persistent_clock + - LP: #1084539 + * ARM: vfp: fix saving d16-d31 vfp registers on v6+ kernels + - LP: #1084539 + * scsi_debug: Fix off-by-one bug when unmapping region + - LP: #1084539 + * storvsc: Account for in-transit packets in the RESET path + - LP: #1084539 + * firewire: cdev: fix user memory corruption (i386 userland on amd64 + kernel) + - LP: #1084539 + * timers: Fix endless looping between cascade() and internal_add_timer() + - LP: #1084539 + * timekeeping: Cast raw_interval to u64 to avoid shift overflow + - LP: #1084539 + * video/udlfb: fix line counting in fb_write + - LP: #1084539 + * tmpfs,ceph,gfs2,isofs,reiserfs,xfs: fix fh_len checking + - LP: #1084539 + * ALSA: hda - Add missing hda_gen_spec to struct via_spec + - LP: #1084539 + * ALSA: hda - Fix memory leaks at error path in patch_cirrus.c + - LP: #1084539 + * autofs4 - fix reset pending flag on mount fail + - LP: #1084539 + * pktgen: fix crash when generating IPv6 packets + - LP: #1084539 + * md/raid10: use correct limit variable + - LP: #1084539 + * mips,kgdb: fix recursive page fault with CONFIG_KPROBES + - LP: #1084539 + * kdb,vt_console: Fix missed data due to pager overruns + - LP: #1084539 + * xen/bootup: allow read_tscp call for Xen PV guests. + - LP: #1084539 + * xen/bootup: allow {read|write}_cr8 pvops call. + - LP: #1084539 + * libceph: eliminate connection state "DEAD" + - LP: #1084539 + * libceph: kill bad_proto ceph connection op + - LP: #1084539 + * libceph: rename socket callbacks + - LP: #1084539 + * libceph: rename kvec_reset and kvec_add functions + - LP: #1084539 + * libceph: embed ceph messenger structure in ceph_client + - LP: #1084539 + * libceph: start separating connection flags from state + - LP: #1084539 + * libceph: start tracking connection socket state + - LP: #1084539 + * libceph: provide osd number when creating osd + - LP: #1084539 + * libceph: set CLOSED state bit in con_init + - LP: #1084539 + * libceph: embed ceph connection structure in mon_client + - LP: #1084539 + * libceph: drop connection refcounting for mon_client + - LP: #1084539 + * libceph: init monitor connection when opening + - LP: #1084539 + * libceph: fully initialize connection in con_init() + - LP: #1084539 + * libceph: tweak ceph_alloc_msg() + - LP: #1084539 + * libceph: have messages point to their connection + - LP: #1084539 + * libceph: have messages take a connection reference + - LP: #1084539 + * libceph: make ceph_con_revoke() a msg operation + - LP: #1084539 + * libceph: make ceph_con_revoke_message() a msg op + - LP: #1084539 + * libceph: fix overflow in __decode_pool_names() + - LP: #1084539 + * libceph: fix overflow in osdmap_decode() + - LP: #1084539 + * libceph: fix overflow in osdmap_apply_incremental() + - LP: #1084539 + * libceph: transition socket state prior to actual connect + - LP: #1084539 + * libceph: fix NULL dereference in reset_connection() + - LP: #1084539 + * libceph: use con get/put methods + - LP: #1084539 + * libceph: drop ceph_con_get/put helpers and nref member + - LP: #1084539 + * libceph: encapsulate out message data setup + - LP: #1084539 + * libceph: encapsulate advancing msg page + - LP: #1084539 + * libceph: don't mark footer complete before it is + - LP: #1084539 + * libceph: move init_bio_*() functions up + - LP: #1084539 + * libceph: move init of bio_iter + - LP: #1084539 + * libceph: don't use bio_iter as a flag + - LP: #1084539 + * libceph: SOCK_CLOSED is a flag, not a state + - LP: #1084539 + * libceph: don't change socket state on sock event + - LP: #1084539 + * libceph: just set SOCK_CLOSED when state changes + - LP: #1084539 + * libceph: don't touch con state in con_close_socket() + - LP: #1084539 + * libceph: clear CONNECTING in ceph_con_close() + - LP: #1084539 + * libceph: clear NEGOTIATING when done + - LP: #1084539 + * libceph: define and use an explicit CONNECTED state + - LP: #1084539 + * libceph: separate banner and connect writes + - LP: #1084539 + * libceph: distinguish two phases of connect sequence + - LP: #1084539 + * libceph: small changes to messenger.c + - LP: #1084539 + * libceph: add some fine ASCII art + - LP: #1084539 + * libceph: set peer name on con_open, not init + - LP: #1084539 + * libceph: initialize mon_client con only once + - LP: #1084539 + * libceph: allow sock transition from CONNECTING to CLOSED + - LP: #1084539 + * libceph: initialize msgpool message types + - LP: #1084539 + * libceph: prevent the race of incoming work during teardown + - LP: #1084539 + * libceph: report socket read/write error message + - LP: #1084539 + * libceph: fix mutex coverage for ceph_con_close + - LP: #1084539 + * libceph: resubmit linger ops when pg mapping changes + - LP: #1084539 + * libceph: (re)initialize bio_iter on start of message receive + - LP: #1084539 + * libceph: protect ceph_con_open() with mutex + - LP: #1084539 + * libceph: reset connection retry on successfully negotiation + - LP: #1084539 + * libceph: fix fault locking; close socket on lossy fault + - LP: #1084539 + * libceph: move msgr clear_standby under con mutex protection + - LP: #1084539 + * libceph: move ceph_con_send() closed check under the con mutex + - LP: #1084539 + * libceph: drop gratuitous socket close calls in con_work + - LP: #1084539 + * libceph: close socket directly from ceph_con_close() + - LP: #1084539 + * libceph: drop unnecessary CLOSED check in socket state change callback + - LP: #1084539 + * libceph: replace connection state bits with states + - LP: #1084539 + * libceph: clean up con flags + - LP: #1084539 + * libceph: clear all flags on con_close + - LP: #1084539 + * libceph: fix handling of immediate socket connect failure + - LP: #1084539 + * libceph: revoke mon_client messages on session restart + - LP: #1084539 + * libceph: verify state after retaking con lock after dispatch + - LP: #1084539 + * libceph: avoid dropping con mutex before fault + - LP: #1084539 + * libceph: change ceph_con_in_msg_alloc convention to be less weird + - LP: #1084539 + * libceph: recheck con state after allocating incoming message + - LP: #1084539 + * libceph: fix crypto key null deref, memory leak + - LP: #1084539 + * libceph: delay debugfs initialization until we learn global_id + - LP: #1084539 + * libceph: avoid truncation due to racing banners + - LP: #1084539 + * libceph: only kunmap kmapped pages + - LP: #1084539 + * rbd: reset BACKOFF if unable to re-queue + - LP: #1084539 + * libceph: avoid NULL kref_put when osd reset races with alloc_msg + - LP: #1084539 + * ceph: fix dentry reference leak in encode_fh() + - LP: #1084539 + * ceph: Fix oops when handling mdsmap that decreases max_mds + - LP: #1084539 + * libceph: check for invalid mapping + - LP: #1084539 + * ceph: avoid 32-bit page index overflow + - LP: #1084539 + * ASoC: wm2200: Use rev A register patches on rev B + - LP: #1084539 + * ASoC: wm2200: Fix non-inverted OUT2 mute control + - LP: #1084539 + * drm/i915: remove useless BUG_ON which caused a regression in 3.5. + - LP: #1084539 + * USB: Enable LPM after a failed probe. + - LP: #1084539 + * usb: Don't enable LPM if the exit latency is zero. + - LP: #1084539 + * usb: Send Set SEL before enabling parent U1/U2 timeout. + - LP: #1084539 + * ASoC: fsi: don't reschedule DMA from an atomic context + - LP: #1084539 + * drm/i915: Set guardband clipping workaround bit in the right register. + - LP: #1084539 + * pcmcia: sharpsl: don't discard sharpsl_pcmcia_ops + - LP: #1084539 + * hwmon: (coretemp) Add support for Atom CE4110/4150/4170 + - LP: #1084539 + * ALSA: hda - Fix registration race of VGA switcheroo + - LP: #1084539 + * usb: dwc3: gadget: fix 'endpoint always busy' bug + - LP: #1084539 + * usb: musb: am35xx: drop spurious unplugging a device + - LP: #1084539 + * drm/radeon: Don't destroy I2C Bus Rec in radeon_ext_tmds_enc_destroy(). + - LP: #1084539 + * ALSA: hda - Always check array bounds in alc_get_line_out_pfx + - LP: #1084539 + * NLM: nlm_lookup_file() may return NLMv4-specific error codes + - LP: #1084539 + * x86: Exclude E820_RESERVED regions and memory holes above 4 GB from + direct mapping. + - LP: #1084539 + * SUNRPC: Prevent kernel stack corruption on long values of flush + - LP: #1084539 + * USB: cdc-acm: fix pipe type of write endpoint + - LP: #1084539 + * usb: acm: fix the computation of the number of data bits + - LP: #1084539 + * usb: host: xhci: New system added for Compliance Mode Patch on + SN65LVPE502CP + - LP: #1084539 + * USB: option: blacklist net interface on ZTE devices + - LP: #1084539 + * USB: option: add more ZTE devices + - LP: #1084539 + * ext4: race-condition protection for + ext4_convert_unwritten_extents_endio + - LP: #1084539 + * ext4: fix metadata checksum calculation for the superblock + - LP: #1084539 + * nohz: Fix idle ticks in cpu summary line of /proc/stat + - LP: #1084539 + * ring-buffer: Check for uninitialized cpu buffer before resizing + - LP: #1084539 + * Bluetooth: SMP: Fix setting unknown auth_req bits + - LP: #1084539 + * oprofile, x86: Fix wrapping bug in op_x86_get_ctrl() + - LP: #1084539 + * cfg80211/mac80211: avoid state mishmash on deauth + - LP: #1084539 + * mac80211: check if key has TKIP type before updating IV + - LP: #1084539 + * mac80211: use ieee80211_free_txskb in a few more places + - LP: #1084539 + * bcma: fix unregistration of cores + - LP: #1084539 + * net/wireless: ipw2200: Fix panic occurring in + ipw_handle_promiscuous_tx() + - LP: #1084539 + * iwlwifi: fix 6000 series channel switch command + - LP: #1084539 + * cgroup: notify_on_release may not be triggered in some cases + - LP: #1084539 + * dt: Document: correct tegra20/30 pinctrl slew-rate name + - LP: #1084539 + * pinctrl: tegra: set low power mode bank width to 2 + - LP: #1084539 + * pinctrl: tegra: correct bank for pingroup and drv pingroup + - LP: #1084539 + * s390: fix linker script for 31 bit builds + - LP: #1084539 + * pinctrl: remove mutex lock in groups show + - LP: #1084539 + * xen/x86: don't corrupt %eip when returning from a signal handler + - LP: #1084539 + * ALSA: hda - Fix silent headphone output from Toshiba P200 + - LP: #1084539 + * ext4: Checksum the block bitmap properly with bigalloc enabled + - LP: #1084539 + * ARM: 7559/1: smp: switch away from the idmap before updating + init_mm.mm_count + - LP: #1084539 + * usb hub: send clear_tt_buffer_complete events when canceling TT clear + work + - LP: #1084539 + * staging: comedi: amplc_pc236: fix invalid register access during detach + - LP: #1084539 + * Staging: android: binder: Fix memory leak on thread/process exit + - LP: #1084539 + * Staging: android: binder: Allow using highmem for binder buffers + - LP: #1084539 + * ext4: Avoid underflow in ext4_trim_fs() + - LP: #1084539 + * cpufreq / powernow-k8: Remove usage of smp_processor_id() in + preemptible code + - LP: #1084539 + * extcon: Unregister compat class at module unload to fix oops + - LP: #1084539 + * extcon: unregister compat link on cleanup + - LP: #1084539 + * pinctrl: fix missing unlock on error in pinctrl_groups_show() + - LP: #1084539 + * arch/tile: avoid generating .eh_frame information in modules + - LP: #1084539 + * drm/radeon: add some new SI PCI ids + - LP: #1084539 + * drm/radeon: add error output if VM CS fails on cayman + - LP: #1084539 + * xhci: endianness xhci_calculate_intel_u2_timeout + - LP: #1084539 + * xhci: fix integer overflow + - LP: #1084539 + * dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc() + - LP: #1084539 + * x86-64: Fix page table accounting + - LP: #1084539 + * dmaengine: sirf: fix a typo in dma_prep_interleaved + - LP: #1084539 + * dmaengine: sirf: fix a typo in moving running dma_desc to active queue + - LP: #1084539 + * amd64_edac:__amd64_set_scrub_rate(): avoid overindexing scrubrates[] + - LP: #1084539 + * SUNRPC: Clear the connect flag when socket state is TCP_CLOSE_WAIT + - LP: #1084539 + * SUNRPC: Prevent races in xs_abort_connection() + - LP: #1084539 + * SUNRPC: Get rid of the xs_error_report socket callback + - LP: #1084539 + * iommu/tegra: smmu: Fix deadly typo + - LP: #1084539 + * ARM: at91/tc: fix typo in the DT document + - LP: #1084539 + * ARM: at91: at91sam9g10: fix SOC type detection + - LP: #1084539 + * ARM: at91/i2c: change id to let i2c-gpio work + - LP: #1084539 + * b43: Fix oops on unload when firmware not found + - LP: #1084539 + * USB: serial: Fix memory leak in sierra_release() + - LP: #1084539 + * x86, mm: Trim memory in memblock to be page aligned + - LP: #1084539 + * x86, mm: Use memblock memory loop instead of e820_RAM + - LP: #1084539 + * usb-storage: add unusual_devs entry for Casio EX-N1 digital camera + - LP: #1084539 + * Drivers: hv: Cleanup error handling in vmbus_open() + - LP: #1084539 + * sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat() + - LP: #1084539 + * vhost: fix mergeable bufs on BE hosts + - LP: #1084539 + * USB: metro-usb: fix io after disconnect + - LP: #1084539 + * USB: whiteheat: fix memory leak in error path + - LP: #1084539 + * USB: quatech2: fix memory leak in error path + - LP: #1084539 + * USB: quatech2: fix io after disconnect + - LP: #1084539 + * USB: opticon: fix DMA from stack + - LP: #1084539 + * USB: opticon: fix memory leak in error path + - LP: #1084539 + * USB: mct_u232: fix broken close + - LP: #1084539 + * USB: sierra: fix memory leak in attach error path + - LP: #1084539 + * USB: sierra: fix memory leak in probe error path + - LP: #1084539 + * USB: mos7840: fix urb leak at release + - LP: #1084539 + * USB: mos7840: fix port-device leak in error path + - LP: #1084539 + * USB: mos7840: remove NULL-urb submission + - LP: #1084539 + * USB: mos7840: remove invalid disconnect handling + - LP: #1084539 + * ehci: fix Lucid nohandoff pci quirk to be more generic with BIOS + versions + - LP: #1084539 + * ehci: Add yet-another Lucid nohandoff pci quirk + - LP: #1084539 + * xhci: Fix potential NULL ptr deref in command cancellation. + - LP: #1084539 + * freezer: exec should clear PF_NOFREEZE along with PF_KTHREAD + - LP: #1084539 + * mm: fix XFS oops due to dirty pages without buffers on s390 + - LP: #1084539 + * genalloc: stop crashing the system when destroying a pool + - LP: #1084539 + * drivers/rtc/rtc-imxdi.c: add missing spin lock initialization + - LP: #1084539 + * gen_init_cpio: avoid stack overflow when expanding + - LP: #1084539 + * fs/compat_ioctl.c: VIDEO_SET_SPU_PALETTE missing error check + - LP: #1084539 + * qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan + - LP: #1084539 + * efi: Defer freeing boot services memory until after ACPI init + - LP: #1084539 + * x86: efi: Turn off efi_enabled after setup on mixed fw/kernel + - LP: #1082059, #1084539 + * target: Re-add explict zeroing of INQUIRY bounce buffer memory + - LP: #1084539 + * ARM: 7566/1: vfp: fix save and restore when running on pre-VFPv3 and + CONFIG_VFPv3 set + - LP: #1084539 + * libceph: drop declaration of ceph_con_get() + - LP: #1084539 + * x86, mm: Find_early_table_space based on ranges that are actually being + mapped + - LP: #1084539 + * x86, mm: Undo incorrect revert in arch/x86/mm/init.c + - LP: #1084539 + * Linux 3.5.7.1 + - LP: #1084539 + * ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to + speaker + - LP: #1076840 + * Bluetooth: ath3k: Add support for VAIO VPCEH [0489:e027] + - LP: #898826 + * i915_hsw: drm/i915: Reserve ioctl numbers for set/get_caching + - LP: #1085245 + * i915_hsw: drm: Export drm_probe_ddc() + - LP: #1085245 + * i915_hsw: drm: remove the raw_edid field from struct drm_display_info + - LP: #1085245 + * i915_hsw: drm/i915: fix hsw uncached pte + - LP: #1085245 + * i915_hsw: drm/fb-helper: delay hotplug handling when partially bound + - LP: #1085245 + * i915_hsw: drm/fb helper: don't call drm_crtc_helper_set_config + - LP: #1085245 + * i915_hsw: drm/fb-helper: don't clobber output routing in setup_crtcs + - LP: #1085245 + * i915_hsw: drm/fb helper: don't call drm_helper_connector_dpms directly + - LP: #1085245 + * i915_hsw: drm/edid: Fix potential memory leak in edid_load() + - LP: #1085245 + + [ Ubuntu: 3.5.0-19.30 ] + + * Release Tracking Bug + - LP: #1078041 + * [Config] update Vcs-git: to point to quantal + - LP: #1069204 + * SAUCE: ALSA: hda - add quirk for Thinkpad T430 + - LP: #1060372 + * [Config] CONFIG_USB_OTG=n for all but armel/armhf + - LP: #1047527 + * [Config] remove ndiswrapper from Provides: + - LP: #1076395 + * [Config] ONFIG_AMD_IOMMU_V2=m + - LP: #1071520 + * kernel/sys.c: fix stack memory content leak via UNAME26 + - LP: #1065622, #1060521 + - CVE-2012-0957 + * use clamp_t in UNAME26 fix + - LP: #1065622, #1060521 + - CVE-2012-0957 + * net: fix divide by zero in tcp algorithm illinois + - LP: #1077091 + - CVE-2012-4565 + * SAUCE: Bluetooth: Add a load_firmware callback to struct hci_dev + - LP: #1065400 + * SAUCE: Bluetooth: Implement broadcom patchram firmware loader + - LP: #1065400 + * SAUCE: Bluetooth: Add support for 13d3:3388 and 13d3:3389 + - LP: #1065400 + + -- Andy Whitcroft Tue, 18 Dec 2012 18:16:37 +0000 + +linux-lowlatency (3.5.0-18.18) quantal-proposed; urgency=low + + [Andy Whitcroft] + + * Release Tracking Bug + - LP: #1068866 + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-18.29 + + [ Ubuntu: 3.5.0-18.29 ] + + * Release Tracking Bug + - LP: #1068224 + * [packaging] do not fail secure copy on older kernels + * SAUCE: efivarfs: efivarfs_file_read ensure we free data in error paths + - LP: #1063061 + * SAUCE: efivars: efivarfs_create() ensure we drop our reference on inode + on error + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() fix inode reference counts + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() ensure we free our temporary + name + - LP: #1063061 + * SAUCE: efivarfs: efivarfs_fill_super() ensure we clean up correctly on + error + - LP: #1063061 + * [Config] add fs/udf to linux-image to support DVD/CD formats in virtual + instances + - LP: #1066921 + * SAUCE: efi: Handle deletions and size changes in efivarfs_write_file + - LP: #1063061 + * SAUCE: efivarfs: Implement exclusive access for {get, set}_variable + - LP: #1063061 + * SAUCE: input: Cypress PS/2 Trackpad list additional contributors + * SAUCE: input: Cypress PS/2 Trackpad fix lost sync upon palm contact + - LP: #1048258 + * SAUCE: input: Cypress PS/2 Trackpad fix taps turning into hardware + clicks + - LP: #1064086 + * Revert "SAUCE: ext4: fix crash when accessing /proc/mounts + concurrently" + - LP: #1066176 + * Revert "SAUCE: ALSA: hda/realtek - Fix detection of ALC271X codec" + - LP: #1066176 + * SAUCE: efi: add efivars kobject to efi sysfs folder + - LP: #1063061 + * SAUCE: efivarfs: Add documentation for the EFI variable filesystem + - LP: #1063061 + * SAUCE: efi: Add support for a UEFI variable filesystem + - LP: #1063061 + * SAUCE: bridge: Pull ip header into skb->data before looking into ip + header. + - LP: #1065150 + * Revert "drm/i915: correctly order the ring init sequence" + - LP: #1066176 + * vfs: dcache: fix deadlock in tree traversal + - LP: #1063761 + * dm mpath: only retry ioctl when no paths if queue_if_no_path set + - LP: #1063761 + * dm: handle requests beyond end of device instead of using BUG_ON + - LP: #1063761 + * dm table: clear add_random unless all devices have it set + - LP: #1063761 + * dm verity: fix overflow check + - LP: #1063761 + * usb: gadget: make g_printer enumerate again + - LP: #1063761 + * usb: gadget: initialize the strings in tcm_usb_gadget properly + - LP: #1063761 + * USB: option: blacklist QMI interface on ZTE MF683 + - LP: #1063761 + * USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support + - LP: #1063761 + * USB: qcaux: add Pantech vendor class match + - LP: #1063761 + * usb: host: xhci: Fix Null pointer dereferencing with 71c731a for + non-x86 systems + - LP: #1063761 + * USB: serial: fix up bug with missing {} + - LP: #1063761 + * staging: speakup_soft: Fix reading of init string + - LP: #1063761 + * tty: keyboard.c: Remove locking from vt_get_leds. + - LP: #1063761 + * staging: r8712u: Do not queue cloned skb + - LP: #1063761 + * staging: comedi: s626: don't dereference insn->data + - LP: #1063761 + * staging: comedi: jr3_pci: fix iomem dereference + - LP: #1063761 + * staging: comedi: don't dereference user memory for INSN_INTTRIG + - LP: #1063761 + * staging: comedi: fix memory leak for saved channel list + - LP: #1063761 + * Remove BUG_ON from n_tty_read() + - LP: #1063761 + * TTY: ttyprintk, don't touch behind tty->write_buf + - LP: #1063761 + * serial: omap: fix software flow control + - LP: #1063761 + * serial: pl011: handle corruption at high clock speeds + - LP: #1063761 + * serial: set correct baud_base for EXSYS EX-41092 Dual 16950 + - LP: #1063761 + * tools/hv: Fix file handle leak + - LP: #1063761 + * tools/hv: Fix exit() error code + - LP: #1063761 + * tools/hv: Check for read/write errors + - LP: #1063761 + * b43legacy: Fix crash on unload when firmware not available + - LP: #1063761 + * firmware: Add missing attributes to EFI variable attribute print out + from sysfs + - LP: #1063761 + * xhci: Intel Panther Point BEI quirk. + - LP: #1063761 + * xHCI: add cmd_ring_state + - LP: #1063761 + * xHCI: add aborting command ring function + - LP: #1063761 + * xHCI: cancel command after command timeout + - LP: #1063761 + * xHCI: handle command after aborting the command ring + - LP: #1063761 + * Increase XHCI suspend timeout to 16ms + - LP: #1063761 + * HID: keep dev_rdesc unmodified and use it for comparisons + - LP: #1049623, #1063761 + * ath9k: Disable ASPM only for AR9285 + - LP: #1063761 + * xen/pciback: Restore the PCI config space after an FLR. + - LP: #1063761 + * coredump: prevent double-free on an error path in core dumper + - LP: #1063761 + * n_gsm.c: Implement 3GPP27.010 DLC start-up procedure in MUX + - LP: #1063761 + * n_gsm: uplink SKBs accumulate on list + - LP: #1063761 + * n_gsm: added interlocking for gsm_data_lock for certain code paths + - LP: #1063761 + * n_gsm: memory leak in uplink error path + - LP: #1063761 + * UBI: fix autoresize handling in R/O mode + - LP: #1063761 + * UBI: erase free PEB with bitflip in EC header + - LP: #1063761 + * Yama: handle 32-bit userspace prctl + - LP: #1063761 + * SCSI: ibmvscsi: Fix host config length field overflow + - LP: #1063761 + * SCSI: hpsa: Use LUN reset instead of target reset + - LP: #1063761 + * can: mscan-mpc5xxx: fix return value check in mpc512x_can_get_clock() + - LP: #1063761 + * remoteproc: select VIRTIO to avoid build breakage + - LP: #1063761 + * remoteproc: fix a potential NULL-dereference on cleanup + - LP: #1063761 + * IPoIB: Fix use-after-free of multicast object + - LP: #1063761 + * IB/srp: Fix use-after-free in srp_reset_req() + - LP: #1063761 + * IB/srp: Avoid having aborted requests hang + - LP: #1063761 + * isci: fix isci_pci_probe() generates warning on efi failure path + - LP: #1063761 + * x86/alternatives: Fix p6 nops on non-modular kernels + - LP: #1063761 + * SCSI: scsi_remove_target: fix softlockup regression on hot remove + - LP: #1063761 + * SCSI: scsi_dh_alua: Enable STPG for unavailable ports + - LP: #1063761 + * Linux 3.5.6 + - LP: #1063761 + * au0828: fix case where STREAMOFF being called on stopped stream causes + BUG() + - LP: #1062917 + * ALSA: hda - do not detect jack on internal speakers for Realtek + - LP: #1064621 + * HID: Remove QUANTA from special drivers list + - LP: #1064921 + * drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13 + - LP: #1064924 + * Revert dyndbg: fix for SOH in logging messages + - LP: #1066176 + * mn10300: only add -mmem-funcs to KBUILD_CFLAGS if gcc supports it + - LP: #1066176 + * kbuild: make: fix if_changed when command contains backslashes + - LP: #1066176 + * kbuild: Fix gcc -x syntax + - LP: #1066176 + * slab: fix the DEADLOCK issue on l3 alien lock + - LP: #1066176 + * intel-iommu: Default to non-coherent for domains unattached to iommus + - LP: #1066176 + * ARM: 7548/1: include linux/sched.h in syscall.h + - LP: #1066176 + * em28xx: Make all em28xx extensions to be initialized asynchronously + - LP: #1066176 + * media: rc: ite-cir: Initialise ite_dev::rdev earlier + - LP: #1066176 + * media: gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy + Microphone SL-6825-SBK + - LP: #1066176 + * ACPI: run _OSC after ACPI_FULL_INITIALIZATION + - LP: #1066176 + * PCI: acpiphp: check whether _ADR evaluation succeeded + - LP: #1066176 + * mfd: max8925: Move _IO resources out of ioport_ioresource + - LP: #1066176 + * lib/gcd.c: prevent possible div by 0 + - LP: #1066176 + * kernel/sys.c: call disable_nonboot_cpus() in kernel_restart() + - LP: #1066176 + * drivers/scsi/atp870u.c: fix bad use of udelay + - LP: #1066176 + * lguest: fix occasional crash in example launcher. + - LP: #1066176 + * powerpc/eeh: Fix crash on converting OF node to edev + - LP: #1066176 + * ixgbe: fix PTP ethtool timestamping function + - LP: #1066176 + * rapidio/rionet: fix multicast packet transmit logic + - LP: #1066176 + * PM / Sleep: use resume event when call dpm_resume_early + - LP: #1066176 + * workqueue: add missing smp_wmb() in process_one_work() + - LP: #1066176 + * jbd2: don't write superblock when if its empty + - LP: #1066176 + * localmodconfig: Fix localyesconfig to set to 'y' not 'm' + - LP: #1066176 + * bnx2x: fix rx checksum validation for IPv6 + - LP: #1066176 + * tcp: fix regression in urgent data handling + - LP: #1066176 + * xfrm: Workaround incompatibility of ESN and async crypto + - LP: #1066176 + * xfrm_user: return error pointer instead of NULL + - LP: #1066176 + * xfrm_user: return error pointer instead of NULL #2 + - LP: #1066176 + * xfrm: fix a read lock imbalance in make_blackhole + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_auth() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_state() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_policy() + - LP: #1066176 + * xfrm_user: fix info leak in copy_to_user_tmpl() + - LP: #1066176 + * xfrm_user: don't copy esn replay window twice for new states + - LP: #1066176 + * net: ethernet: davinci_cpdma: decrease the desc count when cleaning up + the remaining packets + - LP: #1066176 + * ixp4xx_hss: fix build failure due to missing linux/module.h inclusion + - LP: #1066176 + * netxen: check for root bus in netxen_mask_aer_correctable + - LP: #1066176 + * net-sched: sch_cbq: avoid infinite loop + - LP: #1066176 + * pkt_sched: fix virtual-start-time update in QFQ + - LP: #1066176 + * sierra_net: Endianess bug fix. + - LP: #1066176 + * 8021q: fix mac_len recomputation in vlan_untag() + - LP: #1066176 + * batman-adv: make batadv_test_bit() return 0 or 1 only + - LP: #1066176 + * ipv6: release reference of ip6_null_entry's dst entry in __ip6_del_rt + - LP: #1066176 + * ipv6: del unreachable route when an addr is deleted on lo + - LP: #1066176 + * ipv6: fix return value check in fib6_add() + - LP: #1066176 + * tcp: flush DMA queue before sk_wait_data if rcv_wnd is zero + - LP: #1066176 + * sctp: Don't charge for data in sndbuf again when transmitting packet + - LP: #1066176 + * pppoe: drop PPPOX_ZOMBIEs in pppoe_release + - LP: #1066176 + * net: small bug on rxhash calculation + - LP: #1066176 + * net: guard tcp_set_keepalive() to tcp sockets + - LP: #1066176 + * ipv4: raw: fix icmp_filter() + - LP: #1066176 + * ipv6: raw: fix icmpv6_filter() + - LP: #1066176 + * ipv6: mip6: fix mip6_mh_filter() + - LP: #1066176 + * l2tp: fix a typo in l2tp_eth_dev_recv() + - LP: #1066176 + * netrom: copy_datagram_iovec can fail + - LP: #1066176 + * net: do not disable sg for packets requiring no checksum + - LP: #1066176 + * aoe: assert AoE packets marked as requiring no checksum + - LP: #1066176 + * drm/savage: re-add busmaster enable, regression fix + - LP: #1066176 + * SCSI: zfcp: Adapt to new FC_PORTSPEED semantics + - LP: #1066176 + * SCSI: zfcp: Make trace record tags unique + - LP: #1066176 + * SCSI: zfcp: Bounds checking for deferred error trace + - LP: #1066176 + * SCSI: zfcp: Do not wakeup while suspended + - LP: #1066176 + * SCSI: zfcp: remove invalid reference to list iterator variable + - LP: #1066176 + * SCSI: zfcp: restore refcount check on port_remove + - LP: #1066176 + * SCSI: zfcp: only access zfcp_scsi_dev for valid scsi_device + - LP: #1066176 + * PCI: Check P2P bridge for invalid secondary/subordinate range + - LP: #1066176 + * ext4: ignore last group w/o enough space when resizing instead of + BUG'ing + - LP: #1066176 + * ext4: don't copy non-existent gdt blocks when resizing + - LP: #1066176 + * ext4: avoid duplicate writes of the backup bg descriptor blocks + - LP: #1066176 + * ext4: fix potential deadlock in ext4_nonda_switch() + - LP: #1066176 + * ext4: fix crash when accessing /proc/mounts concurrently + - LP: #1066176 + * ext4: move_extent code cleanup + - LP: #1066176 + * ext4: online defrag is not supported for journaled files + - LP: #1066176 + * ext4: always set i_op in ext4_mknod() + - LP: #1066176 + * ext4: fix fdatasync() for files with only i_size changes + - LP: #1066176 + * xfrm_user: ensure user supplied esn replay window is valid + - LP: #1066176 + * ASoC: wm_hubs: Ensure volume updates are handled during class W startup + - LP: #1066176 + * ASoC: wm9712: Fix name of Capture Switch + - LP: #1066176 + * kpageflags: fix wrong KPF_THP on non-huge compound pages + - LP: #1066176 + * hugetlb: do not use vma_hugecache_offset() for vma_prio_tree_foreach + - LP: #1066176 + * mm: fix invalidate_complete_page2() lock ordering + - LP: #1066176 + * mm: thp: fix pmd_present for split_huge_page and PROT_NONE with THP + - LP: #1066176 + * MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on + AR934x + - LP: #1066176 + * drm/i915: prevent possible pin leak on error path + - LP: #1066176 + * ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310 + - LP: #1066176 + * ALSA: aloop - add locking to timer access + - LP: #1066176 + * ALSA: hda/realtek - Fix detection of ALC271X codec + - LP: #1006690, #1066176 + * ALSA: hda - limit internal mic boost for Asus X202E + - LP: #1052460, #1066176 + * ALSA: usb - disable broken hw volume for Tenx TP6911 + - LP: #1066176, #559939 + * ALSA: USB: Support for (original) Xbox Communicator + - LP: #1066176 + * drm/nvc0/fence: restore pre-suspend fence buffer context on resume + - LP: #1066176 + * drm: Destroy the planes prior to destroying the associated CRTC + - LP: #1066176 + * drm/radeon: only adjust default clocks on NI GPUs + - LP: #1066176 + * drm/radeon: Add MSI quirk for gateway RS690 + - LP: #1066176 + * drm/radeon: force MSIs on RS690 asics + - LP: #1066176 + * drm/i915: Flush the pending flips on the CRTC before modification + - LP: #1066176 + * drm/i915: call drm_handle_vblank before finish_page_flip + - LP: #1066176 + * drm/i915: Fix GT_MODE default value + - LP: #1066176 + * ia64: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * h8300: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * parisc: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * xtensa: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * frv: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * mn10300: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * m68k: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * alpha: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * cris: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * m32r: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * score: Add missing RCU idle APIs on idle loop + - LP: #1066176 + * rcu: Fix day-one dyntick-idle stall-warning bug + - LP: #1066176 + * revert "mm: mempolicy: Let vma_merge and vma_split handle + vma->vm_policy linkages" + - LP: #1066176 + * mempolicy: remove mempolicy sharing + - LP: #1066176 + * mempolicy: fix a race in shared_policy_replace() + - LP: #1066176 + * mempolicy: fix refcount leak in mpol_set_shared_policy() + - LP: #1066176 + * mempolicy: fix a memory corruption by refcount imbalance in + alloc_pages_vma() + - LP: #1066176 + * efi: Build EFI stub with EFI-appropriate options + - LP: #1066176 + * efi: initialize efi.runtime_version to make + query_variable_info/update_capsule workable + - LP: #1066176 + * CPU hotplug, cpusets, suspend: Don't modify cpusets during + suspend/resume + - LP: #1066176 + * mtd: mtdpart: break it as soon as we parse out the partitions + - LP: #1066176 + * mtd: autcpu12-nvram: Fix compile breakage + - LP: #1066176 + * mtd: nandsim: bugfix: fail if overridesize is too big + - LP: #1066176 + * mtd: nand: Use the mirror BBT descriptor when reading its version + - LP: #1066176 + * mtd: omap2: fix omap_nand_remove segfault + - LP: #1066176 + * mtd: omap2: fix module loading + - LP: #1066176 + * mmc: omap_hsmmc: Pass on the suspend failure to the PM core + - LP: #1066176 + * mmc: sh-mmcif: avoid oops on spurious interrupts + - LP: #1066176 + * JFFS2: fix unmount regression + - LP: #1066176 + * JFFS2: don't fail on bitflips in OOB + - LP: #1066176 + * cifs: reinstate the forcegid option + - LP: #1066176 + * Convert properly UTF-8 to UTF-16 + - LP: #1066176 + * Linux 3.5.7 + - LP: #1066176 + + -- Andy Whitcroft Fri, 19 Oct 2012 20:46:48 +0100 + +linux-lowlatency (3.5.0-17.17) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-17.28 + + [ Ubuntu: 3.5.0-17.28 ] + + * [packaging] we already have a valid src_pkg_name + * [packaging] allow us to select which builds have uefi signed versions + * SAUCE: input: fix weird issue of synaptics psmouse sync lost after + resume + - LP: #717970 + * SAUCE: omap3 clocks .dev_id = NULL + - LP: #1061599 + * [Config] omap: disable USB_[EHCI|OHCI]_HCD_PLATFORM + - LP: #1061599 + * [Config] omap: enforce USB_[EHCI|OHCI]_HCD_PLATFORM=n + - LP: #1061599 + * SAUCE: net/ipv4: Always flush route cache on unregister batch call + - LP: #1021471 + * Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn + - LP: #1030233 + * SAUCE: Bluetooth: Remove rules for matching Broadcom vendor specific + IDs + - LP: #1030233 + + [ Ubuntu: 3.5.0-17.27 ] + + * [packaging] add custom upload for the kernel binary package + + -- Andy Whitcroft Tue, 09 Oct 2012 20:31:30 +0100 + +linux-lowlatency (3.5.0-17.16) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-17.26 + + [ Ubuntu: 3.5.0-17.26 ] + + * SAUCE: ALSA: hda - fix indices on boost volume on Conexant + - LP: #1059523 + * [Config] Build in CONFIG_X86_PCC_CPUFREQ=y + - LP: #1061126 + * Revert "SAUCE: ahci_platform: add custom hard reset for Calxeda ahci + ctrlr" + - LP: #1059432 + * Revert "SAUCE: net: calxedaxgmac: add write barriers around setting + owner bit" + - LP: #1059432 + * Revert "SAUCE: ARM: highbank: use writel_relaxed variant for pwr + requests" + - LP: #1059432 + * Revert "SAUCE: force DMA buffers to non-bufferable on highbank" + - LP: #1059432 + * Revert "SAUCE: input: add a key driver for highbank" + - LP: #1059432 + * [Config] Align highbank config with amd64-generic and add new configs + - LP: #1059432 + * SAUCE: net: calxedaxgmac: enable operate on 2nd frame mode + - LP: #1059432 + * SAUCE: net: calxedaxgmac: remove explicit rx dma buffer polling + - LP: #1059432 + * SAUCE: net: calxedaxgmac: use relaxed i/o accessors in rx and tx paths + - LP: #1059432 + * SAUCE: net: calxedaxgmac: drop some unnecessary register writes + - LP: #1059432 + * SAUCE: net: calxedaxgmac: rework transmit ring handling + - LP: #1059432 + * SAUCE: ARM: highbank: retry wfi on reset request + - LP: #1059432 + * [Config] TIDSPBRIDGE=m + - LP: #1058022 + * rebase to v3.5.5 + * common: DMA-mapping: add DMA_ATTR_NO_KERNEL_MAPPING attribute + - LP: #1059432 + * common: DMA-mapping: add DMA_ATTR_SKIP_CPU_SYNC attribute + - LP: #1059432 + * ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute + - LP: #1059432 + * ARM: add coherent dma ops + - LP: #1059432 + * ARM: add coherent iommu dma ops + - LP: #1059432 + * ARM: highbank: add coherent DMA setup + - LP: #1059432 + * sata: add platform driver for Calxeda AHCI controller + - LP: #1059432 + * xhci: Rate-limit XHCI_TRUST_TX_LENGTH quirk warning. + - LP: #1039478 + * agp/intel-gtt: remove dead code + - LP: #1011440 + * drm/i915: stop using dev->agp->base + - LP: #1011440 + * agp/intel-gtt: don't require the agp bridge on setup + - LP: #1011440 + * drm/i915 + agp/intel-gtt: prep work for direct setup + - LP: #1011440 + * agp/intel-gtt: move gart base addres setup + - LP: #1011440 + * drm/i915: don't use dev->agp + - LP: #1011440 + * drm/i915: disable drm agp support for !gen3 with kms enabled + - LP: #1011440 + * agp/intel-agp: remove snb+ host bridge pciids + - LP: #1011440 + * rebase to v3.5.5 + - LP: #1000424 + + [ Ubuntu: 3.5.0-16.25 ] + + * SAUCE: input: Cypress PS/2 Trackpad fix multi-source, double-click + - LP: #1055788 + * [Config] revert '[Config] enable CONFIG_X86_X32=y' + - LP: #1041883 + * vmwgfx: corruption in vmw_event_fence_action_create() + * drm/nvd0/disp: hopefully fix selection of 6/8bpc mode on DP outputs + - LP: #1058088 + * drm/nv50-/gpio: initialise to vbios defaults during init + - LP: #1058088 + * igb: A fix to VF TX rate limit + - LP: #1058188 + * igb: Add switch case for supported hardware to igb_ptp_remove. + - LP: #1058188 + * igb: Support the get_ts_info ethtool method. + - LP: #1058188 + * igb: Streamline RSS queue and queue pairing assignment logic. + - LP: #1058188 + * igb: Update firmware info output + - LP: #1058188 + * igb: Version bump + - LP: #1058188 + * igb: reset PHY in the link_up process to recover PHY setting after + power down. + - LP: #1058188 + * igb: Fix for failure to init on some 82576 devices. + - LP: #1058188 + * igb: correct hardware type (i210/i211) check in igb_loopback_test() + - LP: #1058188 + * igb: don't break user visible strings over multiple lines in + igb_ethtool.c + - LP: #1058188 + * igb: add delay to allow igb loopback test to succeed on 8086:10c9 + - LP: #1058188 + * igb: fix panic while dumping packets on Tx hang with IOMMU + - LP: #1058188 + * igb: Fix register defines for all non-82575 hardware + - LP: #1058188 + * e1000e: use more informative logging macros when netdev not yet + registered + - LP: #1058219 + * e1000e: Cleanup code logic in e1000_check_for_serdes_link_82571() + - LP: #1058219 + * e1000e: Program the correct register for ITR when using MSI-X. + - LP: #1058219 + * e1000e: advertise transmit time stamping + - LP: #1058219 + * e1000e: 82571 Tx Data Corruption during Tx hang recovery + - LP: #1058219 + * e1000e: fix panic while dumping packets on Tx hang with IOMMU + - LP: #1058219 + * e1000: Combining Bitwise OR in one expression. + - LP: #1058221 + * e1000: advertise transmit time stamping + - LP: #1058221 + * e1000: Small packets may get corrupted during padding by HW + - LP: #1058221 + * sched: Fix migration thread runtime bogosity + - LP: #1057593 + * ACER: Add support for accelerometer sensor + - LP: #1055433 + * ACER: Fix Smatch double-free issue + - LP: #1055433 + * SAUCE: HID: ntrig: change default value of logical/physical + width/height to 1 + - LP: #1044248 + + -- Andy Whitcroft Wed, 03 Oct 2012 23:31:47 +0100 + +linux-lowlatency (3.5.0-16.15) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-16.24 + + [ Ubuntu: 3.5.0-16.24 ] + + * SAUCE: ata_piix: add a disable_driver option + - LP: #994870 + * (pre-stable) drm/radeon: make 64bit fences more robust v3 (3.5 stable) + - LP: #1029582 + * SAUCE: ALSA: hda - use both input paths on Conexant auto parser + - LP: #1037642 + * SAUCE: ALSA: hda - fix control names for multiple speaker out on + IDT/STAC + - LP: #1046734 + * SAUCE: ALSA: hda/via - don't report presence on HPs with no presence + support + - LP: #1052499 + * SAUCE: ext4: fix crash when accessing /proc/mounts concurrently + - LP: #1053019 + * SAUCE: ALSA: hda/realtek - Fix detection of ALC271X codec + - LP: #1006690 + * SAUCE: input: Cypress PS/2 Trackpad fix disabling tap-to-click + - LP: #1048816 + * [Config] Disable CONFIG_DRM_AST + - LP: #1053290 + * [Config] Disable the Cirrus QEMU drm driver + - LP: #1038055 + * Revert "KVM: VMX: Fix KVM_SET_SREGS with big real mode segments" + - LP: #1045027 + * x86, efi: Handover Protocol + * drm/i915: HDMI - Clear Audio Enable bit for Hot Plug + - LP: #1056729 + * UBUNTU SAUCE: apparmor: fix IRQ stack overflow + - LP: #1056078 + * drm/nouveau: fix booting with plymouth + dumb support + - LP: #1043518 + * ALSA: hda - Add DeviceID for Haswell HDA + - LP: #1057698 + * ALSA: hda - add Haswell HDMI codec id + - LP: #1057698 + * ALSA: hda - Fix driver type of Haswell controller to AZX_DRIVER_SCH + - LP: #1057698 + * ALSA: hda_intel: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1011438, #1057698 + * SAUCE: ALSA: hda - Add another pci id for Haswell board + - LP: #1057698 + * SAUCE: drm/i915: Explicitly disable RC6 for certain models + - LP: #1002170, #1008867 + + -- Andy Whitcroft Fri, 28 Sep 2012 09:58:29 +0100 + +linux-lowlatency (3.5.0-15.14) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-15.23 + + [ Ubuntu: 3.5.0-15.23 ] + + * Revert "drm/i915: don't forget the PCH backlight registers" + - LP: #1053269, #1055231, #1055665 + * Revert "drm/i915: fix up PCH backlight #define mixup" + - LP: #1053269, #1055665 + * Revert "drm/i915: allow pipe A for lvds on gen4" + - LP: #1053269, #1055665 + * Revert "drm/i915: properly enable the blc controller on the right pipe" + - LP: #1053269, #1055665 + * Revert "drm/i915: clear up backlight #define confusion on gen4+" + - LP: #1053269, #1055665 + * Revert "drm/i915: pnv has a backlight polarity control bit, too" + - LP: #1053269, #1055665 + + -- Andy Whitcroft Wed, 26 Sep 2012 09:41:38 +0100 + +linux-lowlatency (3.5.0-15.13) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-15.22 + + [ Ubuntu: 3.5.0-15.22 ] + + * fix regressions introduced by the last batch of i915 patches. + * drm/i915: fix up PCH backlight #define mixup + - LP: #954661 + * drm/i915: don't forget the PCH backlight registers + - LP: #954661 + + [ Ubuntu: 3.5.0-15.21 ] + + * ubuntu: AUFS -- update to 18e455787597579fe144cdb2f18aa6a0a32c46a4 + * [Config] Enable aufs + - LP: #908784 + * eCryptfs: check for eCryptfs cipher support at mount + - LP: #338914 + * drm/i915: pnv has a backlight polarity control bit, too + - LP: #954661 + * drm/i915: clear up backlight #define confusion on gen4+ + - LP: #954661 + * drm/i915: properly enable the blc controller on the right pipe + - LP: #954661 + * drm/i915: allow pipe A for lvds on gen4 + - LP: #954661 + + [ Ubuntu: 3.5.0-15.20 ] + + * rebase to v3.5.4 + * SAUCE: CONFIG_HID_BATTERY_STRENGTH=y + - LP: #1003090 + * eCryptfs: Copy up attributes of the lower target inode after rename + - LP: #561129 + * eCryptfs: Write out all dirty pages just before releasing the lower + file + - LP: #1047261 + * eCryptfs: Call lower ->flush() from ecryptfs_flush() + - LP: #1047261 + * af_netlink: force credentials passing [CVE-2012-3520] + - LP: #1052097 + - CVE-2012-3520 + * drm/i915: clarify IBX dp workaround + - LP: #1011440 + * drm/i915: Implement w/a for sporadic read failures on waking from rc6 + - LP: #1011440 + * drm/i915: support Haswell force waking + - LP: #1011440 + * drm/i915: add RPS configuration for Haswell + - LP: #1011440 + * drm/i915: enable RC6 by default on Haswell + - LP: #1011440 + * drm/i915: introduce haswell_init_clock_gating + - LP: #1011440 + * drm/i915: enable RC6 workaround on Haswell + - LP: #1011440 + * drm/i915: re-initialize DDI buffer translations after resume + - LP: #1011440 + * drm/i915: fix PIPE_DDI_PORT_MASK + - LP: #1011440 + * drm/i915: try to train DP even harder + - LP: #1011440 + * drm/i915: add more Haswell PCI IDs + - LP: #1011440 + * rebase to v3.5.4 + - LP: #1038651 + + [ Ubuntu: 3.5.0-14.19 ] + + * [Config] Fix debug FTBS on non-x86 + + [ Ubuntu: 3.5.0-14.18 ] + + * SAUCE: Add 'used' to the video_cards structure attributes + - LP: #1049650 + + [ Ubuntu: 3.5.0-14.17 ] + + * SAUCE: Intel xhci: Only switch the switchable ports + - LP: #1034814 + + -- Andy Whitcroft Sat, 22 Sep 2012 14:42:41 +0100 + +linux-lowlatency (3.5.0-14.12) quantal-proposed; urgency=low + + [ Tim Gardner ] + + * rebase to Ubuntu-3.5.0-14.16 + + [ Ubuntu: 3.5.0-14.16 ] + + * SAUCE: apple-gmux: Fix index read functions + * SAUCE: input: Cypress PS/2 Trackpad move PSMOUSE_CYPRESS enum + - LP: #1041594 + * SAUCE: Input: synaptics - Adjust threshold for treating position values + as negative + - LP: #1046512 + * mei: check for error codes that mei_flow_ctrl_creds retuns + * mei: make mei_write_message more readable + * mei: mei_irq_thread_write_handler check for overflow + * mei: group wd_interface_reg with watchdog variables within struct + mei_device + * mei: don't query HCSR for host buffer depth + * mei: revamp host buffer interface function + * mei: mei_device can be const for mei register access functions + * mei: remove write only wariable wd_due_counter + * mei: mei_wd_host_init: update the comment + * mei: introduce mei_data2slots wrapper + * mei: streamline the _mei_irq_thread_close/ioctol functions + * mei: mei_irq_thread_write_handler - line break fix + * mei: use module_pci_driver + * mei: fix device stall after wd is stopped + + [ Ubuntu: 3.5.0-14.15 ] + + * SAUCE: fs: d_revalidate methods may be passed a NULL nameidata + - LP: #1038075 + * SAUCE: drm/vmwgfx: add MODULE_DEVICE_TABLE so vmwgfx loads at boot + - LP: #1039157 + * [Config] Enable CONFIG_DEVPTS_MULTIPLE_INSTANCES for highbank + - LP: #1038259 + * SAUCE: wlcore: Declare MODULE_FIRMWARE usage + - LP: #1042918 + * asus-nb-wmi: add some video toggle keys + - LP: #1022427 + * [media] uvcvideo: Fix frame drop in bulk video stream + * [media] uvcvideo: Fix alternate setting selection + * Input: wacom - add support to Cintiq 22HD + - LP: #1043733 + * ALSA: HDA: Create phantom jacks for fixed inputs and outputs + * ALSA: HDA: Support single 3-pin jack without VREF on the actual pin + - LP: #1018262 + * ALSA: hda - give 3-pin jack the name "Headphone Mic Jack" + * ALSA: hda - Do not set GPIOs for speakers on IDT if there are no + speakers + - LP: #1040077 + * ALSA: hda - Fix pop noise in headphones on S3 for Asus X55A, X55V + - LP: #1034779 + * ALSA: hda - Always call standard unsolicited event for Realtek codecs + - LP: #1021192 + * ALSA: hda - Add the inverted digital mic workaround to Realtek codecs + * ALSA: hda - Add inverted mic quirks for Asus U41SV, Acer 1810TZ and + AOD260 + - LP: #1006089, #996611, #997227 + * ALSA: hda - don't create dysfunctional mixer controls for ca0132 + - LP: #1038651 + * ALSA: hda - Don't send invalid volume knob command on IDT 92hd75bxx + + -- Tim Gardner Wed, 12 Sep 2012 08:45:47 -0600 + +linux-lowlatency (3.5.0-13.11) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-13.14 + + [ Ubuntu: 3.5.0-13.14 ] + + * [Config] Disable CONFIG_DRM_MGAG200 + - LP: #1042903 + * [media] uvcvideo: Reset the bytesused field when recycling an erroneous + buffer + - LP: #1042809 + + -- Andy Whitcroft Wed, 29 Aug 2012 17:29:12 +0100 + +linux-lowlatency (3.5.0-13.10) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-13.13 + + [ Ubuntu: 3.5.0-13.13 ] + + * rebase to v3.5.3 + * [Config] Add smsc{79}5xx to nic-usb-modules + - LP: #1041397 + * rebase to v3.5.3 + + [ Ubuntu: 3.5.0-12.12 ] + + * [Config] Fix typo on control.stub.in + * [Config] installing omapdrm specific headers for external drivers + - LP: #1038846 + * SAUCE: apple-gmux: Fix port address calculation in gmux_pio_write32() + * SAUCE: (no-up) x86/mm: Fix 64bit size of mapping tables + - LP: #1022561 + * SAUCE: firmware: Remove sb16 files duplicated in linux-firmware + * net: Allow driver to limit number of GSO segments per skb + - LP: #1037456 + - CVE-2012-3412 + * sfc: Fix maximum number of TSO segments and minimum TX queue size + - LP: #1037456 + - CVE-2012-3412 + * tcp: Apply device TSO segment limit earlier + - LP: #1037456 + - CVE-2012-3412 + * cfg80211: add channel flag to prohibit OFDM operation + * brcmsmac: use channel flags to restrict OFDM + * gmux: Add generic write32 function + * apple_gmux: Add support for newer hardware + * apple_gmux: Fix ACPI video unregister + * apple-gmux: Fix kconfig dependencies + * vga_switcheroo: Don't require handler init callback + * vga_switcheroo: Remove assumptions about registration/unregistration + ordering + * apple-gmux: Add display mux support + * mei: add mei_quirk_probe function + - LP: #1041164 + * mutex: Place lock in contended state after fastpath_lock failure + - LP: #1041114 + + [ Ubuntu: 3.5.0-11.11 ] + + * [Config] enable CONFIG_X86_X32=y + * SAUCE: input: Cypress PS/2 Trackpad mouse driver + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad link driver into psmouse-base + - LP: #978807 + * [Config] compile the rtc-pl031 driver as static on the highbank kernel + flavour + - LP: #1035110 + * [Config] Enable CONFIG_DEBUG_HIGHBANK_UART for highbank + - LP: #1034781 + * SAUCE: input: Cypress PS/2 Trackpad code style cleanup + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad eliminate dead code + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad fix no-config stubs + - LP: #978807 + * SAUCE: input: Cypress PS/2 Trackpad set default debug_level=0 + - LP: #978807 + * SAUCE: [Config] add MOUSE_PS2_CYPRESS=y + - LP: #978807 + * SAUCE: Yama: access task_struct->comm directly + * SAUCE: Yama: add link restrictions + * SAUCE: security: unconditionally chain to Yama LSM + * SAUCE: (drop after 3.6) irq_remap: disable IRQ remapping if any IOAPIC + lacks an IOMMU + - LP: #1034459 + * (config) Enable getabis to use local package copies + * rebase to v3.5.2 + * rds: set correct msg_namelen + - LP: #1031112 + - CVE-2012-2340 + * rebase to v3.5.2 + - LP: #1027789 + - LP: #1001251 + + -- Andy Whitcroft Wed, 29 Aug 2012 14:45:08 +0100 + +linux-lowlatency (3.5.0-10.9) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-10.10 + + [ Ubuntu: 3.5.0-10.10 ] + + * rebase to v3.5.1 + * [Config] Enable CONFIG_AFS_FSCACHE=y + - LP: #728977 + * SAUCE: firmware: Remove emi62 files duplicated in linux-firmware + * SAUCE: firmware: Remove tehuti files duplicated in linux-firmware + * overlayfs: copy up i_uid/i_gid from the underlying inode + - LP: #944386 + * hwmon: (applesmc) Shorten minimum wait time + - LP: #1034449 + * hwmon: (applesmc) Decode and act on read/write status codes + - LP: #1034449 + * rebase to v3.5.1 + - LP: #1026953 + - LP: #1025377 + + -- Andy Whitcroft Tue, 14 Aug 2012 10:11:22 +0100 + +linux-lowlatency (3.5.0-9.8) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] fix ABI copy in update script + * rebase to Ubuntu-3.5.0-9.9 + + [ Ubuntu: 3.5.0-9.9 ] + + * SAUCE: (drop after 3.6) Forbid invocation of kexec_load() outside + initial PID namespace + - LP: #1034125 + * SAUCE: Unlock the rc_dev lock when the raw device is missing + - LP: #1015836 + * [Config] Enable EDAC/CLK for highbank + - LP: #1008345 + * Revert "ubuntu: AUFS -- reenable" + * SAUCE: net: calxedaxgmac: add write barriers around setting owner bit + - LP: #1008345 + * SAUCE: ARM smp_twd: add back "arm,smp-twd" compatible property + - LP: #1008345 + * SAUCE: ARM: highbank: add soft power and reset key event handling + - LP: #1008345 + * SAUCE: ARM: highbank: use writel_relaxed variant for pwr requests + - LP: #1008345 + * SAUCE: ahci: un-staticize ahci_dev_classify + - LP: #1008345 + * SAUCE: ahci_platform: add custom hard reset for Calxeda ahci ctrlr + - LP: #1008345 + * rt2x00: Add support for BUFFALO WLI-UC-GNM2 to rt2800usb. + - LP: #871904 + * Avoid sysfs oops when an rc_dev's raw device is absent + - LP: #1015836 + * eCryptfs: Copy up POSIX ACL and read-only flags from lower mount + * clk: add DT clock binding support + - LP: #1008345 + * clk: add DT fixed-clock binding support + - LP: #1008345 + * clk: add highbank clock support + * edac: add support for Calxeda highbank memory controller + - LP: #1008345 + * edac: add support for Calxeda highbank L2 cache ecc + - LP: #1008345 + * net: calxedaxgmac: enable rx cut-thru mode + - LP: #1008345 + * net: calxedaxgmac: fix hang on rx refill + - LP: #1008345 + * eCryptfs: Revert to a writethrough cache model + - LP: #1034012 + * eCryptfs: Initialize empty lower files when opening them + - LP: #911507 + * eCryptfs: Unlink lower inode when ecryptfs_create() fails + - LP: #872905 + + -- Andy Whitcroft Thu, 09 Aug 2012 17:01:28 +0100 + +linux-lowlatency (3.5.0-8.7) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * [Config] add update-from-master script + * rebase to Ubuntu-3.5.0-8.8 + + [ Ubuntu: 3.5.0-8.8 ] + + * ubuntu: AUFS -- add BOM and automated update script + * ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers + - LP: #684666 + * ubuntu: AUFS -- update aufs-update to track new locations of headers + * ubuntu: AUFS -- clean up the aufs updater and BOM + * ubuntu: AUFS -- documentation on updating aufs2 + * ubuntu: AUFS -- fix undefined __devcgroup_inode_permission + * ubuntu: AUFS -- update to 4cf5db36bcd9748e8e7270022f295f84d1fc2245 + * ubuntu: AUFS -- updateconfigs following update + * ubuntu: AUFS -- suppress benign plink warning messages + - LP: #621195 + * ubuntu: AUFS -- enable in config and makefile + * ubuntu: AUFS -- disable in favor of overlayfs + * ubuntu: AUFS -- adapt to the new changelog handling + * ubuntu: AUFS -- sort out the relative header paths + * ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0 + * ubuntu: AUFS -- aufs3-base.patch + * ubuntu: AUFS -- aufs3-standalone.patch + * ubuntu: AUFS -- update to 4a5e660ed7f5c1d0467c81c535d0fedcfe62d15f + * ubuntu: AUFS -- reenable + * [Config] Add cifs support to the nfs-modules list + - LP: #1031398 + * (pre-stable) iwlwifi: Check BSS ctx active before call mac80211 + - LP: #1021086 + * SAUCE: Update aufs for build failure caused by apparmor backport + * SAUCE: firmware: Remove ess files duplicated in linux-firmware + * SAUCE: firmware: Remove kaweth files duplicated in linux-firmware + * SAUCE: firmware: Remove obsolete Chelsio cxgb3 firmware + * SAUCE: firmware: Remove cxgb3 files duplicated in linux-firmware + * SAUCE: firmware: Remove edgeport files duplicated in linux-firmware + * SAUCE: firmware: Remove ti_usb_3410_5052 duplicated in linux-firmware + * SAUCE: firmware: Remove adaptec files duplicated in linux-firmware + * SAUCE: firmware: Remove advansys files duplicated in linux-firmware + * SAUCE: firmware: Remove ambassador files duplicated in linux-firmware + * SAUCE: firmware: Remove av7110 files duplicated in linux-firmware + * SAUCE: cpia2: Declare MODULE_FIRMWARE usage + * SAUCE: firmware: Remove cpia2 files duplicated in linux-firmware + * SAUCE: firmware: Remove korg files duplicated in linux-firmware + * SAUCE: firmware: Remove matrox files duplicated in linux-firmware + * SAUCE: firmware: Remove r128 files duplicated in linux-firmware + * SAUCE: firmware: Remove radeon files duplicated in linux-firmware + * intel_idle: initial IVB support + * KVM: x86: change PT_FIRST_AVAIL_BITS_SHIFT to avoid conflict with EPT + Dirty bit + * KVM: VMX: Use EPT Access bit in response to memory notifiers + * KVM: VMX: Enable EPT A/D bits if supported by turning on relevant bit + in EPTP + * KVM: VMX: Add parameter to control A/D bits support, default is on + * KVM: VMX: Add EPT A/D bits definitions + * KVM: VMX: Implement PCID/INVPCID for guests with EPT + * xhci: Export Latency Tolerance Messaging capabilities. + * USB: Fix LPM disable/enable during device reset. + * usb: convert port_owners type from void * to struct dev_state * + * USB: Disable LPM while the device is unconfigured. + * USB: Fix LPM disable count mismatch on driver unbind. + * USB: Enable Latency Tolerance Messaging (LTM). + * drm/i915: enable parity error interrupts + * drm/i915: Dynamic Parity Detection handling + * drm/i915: l3 parity sysfs interface + * drm/i915: remap l3 on hw init + * drm/i915: initialize the parity work only once + * drm/i915: ivybridge_handle_parity_error should be static + + -- Andy Whitcroft Mon, 06 Aug 2012 10:01:03 +0100 + +linux-lowlatency (3.5.0-7.6) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-7.7 + + [ Ubuntu: 3.5.0-7.7 ] + + * [Config] CONFIG_X86_POWERNOW_K6=m + * [Config] CONFIG_X86_POWERNOW_K7=m + * [Config] CONFIG_X86_LONGHAUL=m + * [Config] CONFIG_X86_LONGRUN=m + * [Config] CONFIG_X86_GX_SUSPMOD=m + * [Config] CONFIG_X86_CPUFREQ_NFORCE2=m + * SAUCE: rds_ib_send() -- prevent local pings triggering BUG_ON() + - LP: #1016299 + - CVE-2012-2372 + * [Config] enable CONFIG_VFAT_FS=y for EFI systems + * [Config] CONFIG_USB_G_MULTI=n on highbank + * [Config] annotate: CONFIG_USB_INVENTRA_DMA OMAP2 specific + * [Config] CONFIG_WAN_ROUTER disable for arm + * add support for generating binary device trees and install them in + /lib/firmware + - LP: #1030600 + * [Config] add dtb_file configuration for highbank + - LP: #1030600 + * SAUCE: ene_ub6250: Use macros for firmware names + * SAUCE: s2255drv: Add MODULE_FIRMWARE statement + * SAUCE: xc5000: Add MODULE_FIRMWARE statements + * SAUCE: firmware: remove computone driver firmware and documentation + * SAUCE: lgs8gxx: Declare MODULE_FIRMWARE usage + * SAUCE: firmware: Remove obsolete Myricom firmware + * SAUCE: staging rtl8192e: Declare MODULE_FIRMWARE usage + * SAUCE: tlg2300: Declare MODULE_FIRMWARE usage + * SAUCE: ueagle-atm: Declare MODULE_FIRMWARE usage + * SAUCE: usbduxfast: Declare MODULE_FIRMWARE usage + * SAUCE: usbdux: Declare MODULE_FIRMWARE usage + * SAUCE: usbduxsigma: Declare MODULE_FIRMWARE usage + * SAUCE: cx25840: Declare MODULE_FIRMWARE usage + * SAUCE: cx18: Declare MODULE_FIRMWARE usage + * SAUCE: ivtv: Declare MODULE_FIRMWARE usage + * SAUCE: cx231xx: Declare MODULE_FIRMWARE usage + * SAUCE: cx23885: Declare MODULE_FIRMWARE usage + * SAUCE: pvrusb2: Declare MODULE_FIRMWARE usage + * SAUCE: vxge: Declare MODULE_FIRMWARE usage + * mac80211: fix crash with single-queue drivers + - LP: #1022351 + + -- Andy Whitcroft Tue, 31 Jul 2012 18:10:21 +0100 + +linux-lowlatency (3.5.0-6.5) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-6.6 + + [ Ubuntu: 3.5.0-6.6 ] + + * [Config] CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION enable IPv6 + experimental features + * SAUCE: highbank -- export clock functions for modules + * [Config] highbank -- reenable CONFIG_TOUCHSCREEN_W90X900 + * [Config] highbank -- renenable CONFIG_SERIO_AMBAKMI + * [Config] highbank -- reenable CONFIG_RFKILL_GPIO + * [Config] highbank -- reenable CONFIG_MMC_SDHCI_PXAV3 + * [Config] highbank -- reenable CONFIG_MMC_SDHCI_PXAV3 + * [Config] highbank -- reenable CONFIG_KEYBOARD_SAMSUNG + * [Config] highbank -- reenable CONFIG_FB_ARMCLCD + * [Config] highbank -- reenable CONFIG_DW_DMAC + * [Config] highbank -- reenable CONFIG_USB_R8A66597_HCD + * [Config] highbank -- reenable CONFIG_USB_MV_UDC + * [Config] highbank -- reenable CONFIG_USB_DWC3 + * [Config] highbank -- reenable CONFIG_SATA_MV + * [Config] highbank -- reenable CONFIG_PATA_ARASAN_CF + * [Config] highbank -- CONFIG_CAN_C_CAN_PLATFORM + * [Config] highbank -- reenable CONFIG_MMC_ARMMMCI + * [Config] highbank -- reenable CONFIG_SERIAL_AMBA_PL010 + * [Config] highbank -- reenable CONFIG_ATMEL_PWM + * [Config] highbank -- enable CONFIG_CHECKPOINT_RESTORE + * [Config] highbank -- enable CONFIG_EXPERT + * [Config] highbank -- enable CONFIG_CHECKPOINT_RESTORE + * [Config] enable CONFIG_USB_DYNAMIC_MINORS + * [Config] enable CONFIG_USB_EHCI_TT_NEWSCHED + * [Config] enable CONFIG_USB_ETH_EEM + * [Config] enable CONFIG_USB_HCD_BCMA/CONFIG_USB_HCD_SSB + * [Config] disable CONFIG_USB_M66592 + * [Config] enable CONFIG_USB_NET2272 + * [Config] enable CONFIG_USB_R8A66597 + * [Config] annotate: CONFIG_USB_OMAP not required for our h/w + * [Config] set CONFIG_USB_MUSB_HDRC=m for omap + * [Config] annotate: CONFIG_USB_G_MULTI fix rule + * [Config] CONFIG_USB_GPIO_VBUS=m for OMAP + * [Config] Enable CONFIG_DRM_AST/_CIRRUS_QEMU/_MGAG200 + * [Config] sync configuration armhf omap -> armel omap + * [Config] annotate: CONFIG_IIO triggers build failures on OMAP4 + * [Config] disable CONFIG_OMAP_IOVMM is deprecated + * [Config] change default IO scheduler from CFQ to Deadline + * Revert "[Config] Temporarily disable CONFIG_MV643XX_ETH on powerpc" + * [Config] Disable CONFIG_MOUSE_INPORT + * SAUCE: firmware: Update bnx2x to current firmware version 7.2.51 + * [Config] Add bnx2x firmware to nic-modules udeb + * SAUCE: Add script to convert firmware to ihex format + * SAUCE: firmware: Upgrade bnx2 to current versions + * [Config] Add tigon firmware to nic-modules udeb + * [Config] CONFIG_EARLY_PRINTK_DBGP=y + - LP: #1026761 + * SAUCE: Remove redundant cis firmware + * SAUCE: Remove redundant emi26 firmware + * SAUCE: Remove redundant ttusb-budget firmware + * SAUCE: Remove redundant sun/cassini firmware + * SAUCE: Remove redundant ositech/Xilinx7OD firmware + * SAUCE: Remove redundant 3com/typhoon.bin firmware + * SAUCE: Remove redundant yamaha/ds1 firmware + * SAUCE: Remove redundant keyspan_pda firmware + * rebase to v3.5 + * rebase to v3.5 + - LP: #1027828 + + [ Ubuntu: 3.5.0-5.5 ] + + * [Config] annotations: initial import of configuration annotations + * [Config] enforcer -- add CONFIG_I2C_DESIGNWARE_PLATFORM enforce checker + * Rebase to v3.5-rc7 + * SAUCE: Bluetooth: btusb: Add vendor specific ID (0a5c:21f4) BCM20702A0 + - LP: #1010281 + * [Config] enable CONFIG_I2C_HELPER_AUTO for all flavours as policy + expects + * [Config] CONFIG_I2O_CONFIG_OLD_IOCTL=n + * [Config] CONFIG_BRIDGE_EBT_ULOG=n + * [Config] CONFIG_IP_NF_QUEUE=n + * [Config] CONFIG_MTD_DOC2000=n + * [Config] CONFIG_PRINT_QUOTA_WARNING=n + * [Config] CONFIG_PRISM54=n + * [Config] CONFIG_SCx200_I2C=n + * [Config] CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + * rebase to v3.5-rc7 + + -- Andy Whitcroft Tue, 24 Jul 2012 16:05:39 +0100 + +linux-lowlatency (3.5.0-4.4) quantal-proposed; urgency=low + + [ Andy Whitcroft ] + + * rebase to Ubuntu-3.5.0-4.4 + + [ Ubuntu: 3.5.0-4.4 ] + + * [Packaging] getabis should be extracting all packages + - LP: #1021174 + * [Config] getabis -- series uses linux-image-extra + - LP: #1021174 + * rebase to v3.5-rc6 + * [Config] built-in CONFIG_MICREL_PHY as other PHY drivers for all + flavours + * [Config] sync CONFIG_MOUSE_PS2_ config for all flavours + * [Config] Enable CONFIG_RT2800USB_RT35XX and CONFIG_RT2800USB_RT53XX + - LP: #1019561 + * [Config] SND_OMAP_SOC, SND_OMAP_SOC_MCBSP and SND_OMAP_SOC_OMAP3_BEAGLE =y + - LP: #1019321 + * SAUCE: (pre-up) net: dont use __netdev_alloc_skb for bounce buffer + - LP: #1018456 + * (config) Disable ACPI_PROCFS_POWER + * [Config] CONFIG_ACPI_BGRT=y + * Extract firmware module info during getabi + - LP: #1021174 + * rebase to v3.5-rc6 + + -- Andy Whitcroft Tue, 10 Jul 2012 16:15:51 +0100 + +linux-lowlatency (3.5.0-3.3) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Config] drop -pae from d-i configuration. + * rebase to Ubuntu-3.5.0-3.3 + + [ Ubuntu: 3.5.0-3.3 ] + + * [Config] enable CONFIG_MEMTEST=y + - LP: #1004535 + * [Config] config-check: add support for a cut operation + * [Config] enforcer -- switch to cut where appropriate + * Rebase to v3.5-rc5 + * [Config] Updateconfigs after rebase to v3.5-rc5 + * SAUCE: ocfs2: Fix NULL pointer dereferrence in + __ocfs2_change_file_space + - LP: #1006012 + * SAUCE: (drop after 3.5) drm/i915: ignore pipe select bit when checking + for LVDS register initialization + - LP: #1012800 + * rebase to v3.5-rc5 + - LP: #1013183 + - LP: #1017017 + - LP: #884652 + + -- Andy Whitcroft Tue, 03 Jul 2012 09:23:14 +0100 + +linux-lowlatency (3.5.0-2.2) quantal; urgency=low + + [ Andy Whitcroft ] + + * hooks -- should use :: to maintain unordered hooks + * rebase to Ubuntu-3.5.0-2.2 + * [Config] update Vcs-git: to point to current home + * [Config] drop last references to lowlatency-pae + + [ Ubuntu: 3.5.0-2.2 ] + + * rebase to v3.5-rc4 + * SAUCE: (drop after 3.5) brcmsmac: fix NULL pointer crash in + brcms_c_regd_init() + - LP: #950320 + * [Config] Sync CONFIG_CGROUP_MEM_RES_CTLR_SWAP for ARM + * PACKAGING: add .gnu_debuglink sections to .ko files + - LP: #669641 + * d-i: Add hid-generic to input-modules + - LP: #1017879 + * SAUCE: Revert "mmc: omap_hsmmc: Enable Auto CMD12" + - LP: #1017717, #225 + * SAUCE: Revert "Fix OMAP EHCI suspend/resume failure (i693)" + - LP: #1017718 + * [Config] Disable generic USB_EHCI_HCD_PLATFORM on omap3 + * SAUCE: (drop after 3.5) brcm80211: smac: don't set up tx power limits + during initialization + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: always set channel specified + by mac80211 + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: remove unused code for 40MHz + channels + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: clean up channel.c + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: inform mac80211 of the X2 + regulatory domain + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: enable/disable radio on + regulatory updates + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: use mac80211 channel data for + tx power limits + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: don't validate channels + against internal regulatory data + - LP: #950320 + * SAUCE: (drop after 3.5) brcm80211: smac: use current regulatory domain + when checking whether OFDM is allowed + - LP: #950320 + * [Config] Enable CONFIG_CGROUPS for highbank + - LP: #1014692 + * [Config] FB_OMAP*=y and PANEL_TFP410=y + * rebase to v3.5-rc4 + + -- Andy Whitcroft Thu, 28 Jun 2012 23:36:21 +0100 + +linux-lowlatency (3.5.0-1.1) quantal; urgency=low + + [ Andy Whitcroft] + + * Rebuild lowlatency against Ubuntu-3.5.0-1.1 + * All new configuration system to allow configuration deltas to be + exposed via debian.lowlatency/config-delta + + -- Andy Whitcroft Thu, 21 Jun 2012 09:16:38 +0100 + +linux-lowlatency (3.2.0-23.31) precise-proposed; urgency=low + + [ Luke Yelavich ] + + * Rebase against Ubuntu-3.2.0-23.36 + * [Config] Fix invalid linux-headers link for low-latency kernels + + -- Luke Yelavich Wed, 11 Apr 2012 10:07:26 +1000 + +linux-lowlatency (3.2.0-22.30) precise; urgency=low + + [ Luke Yelavich ] + + * [Config] Update configs after rebase against Ubuntu-3.2.0-22.35 + + [ Upstream Kernel Changes ] + + * Low-latency: Rebase against Ubuntu-3.2.0-22.35 + + -- Luke Yelavich Wed, 04 Apr 2012 18:49:36 +1000 + +linux-lowlatency (3.2.0-19.27) precise; urgency=low + + [ Stefan Bader ] + + * d-i: Add dm-multipath and scsi device handlers + - LP: #959749 + * d-i: Move multipath modules into their own udeb + - LP: #598251, #959749 + + [ Tim Gardner ] + + * [Config] Auto-detect do_tools setting + * [Config] correctly specify CROSS_COMPILE for tools build + * [Config] CONFIG_DRM_PSB_CDV=n + * Rebase to v3.2.12 + + [ Luke Yelavich ] + * UBUNTU: Look for releases marked Lowlatency instead of Ubuntu + * UBUNTU: [Config] Adjust Poulsbo config options to match precise mainline, + to satisfy enforcer + + [ Upstream Kernel Changes ] + + * powerpc/pmac: Fix SMP kernels on pre-core99 UP machines + - LP: #959959 + * rebase to v3.2.12 + + [ Andy Whitcroft ] + + * [Config] Fix typeo in the Hyper-V module names + + [ Colin Watson ] + + * [Config] Move kernels to "Section: kernel" + - LP: #499557 + + [ John Johansen ] + + * SAUCE: AppArmor: Add ability to load extended policy + * SAUCE: AppArmor: Add the ability to mediate mount + * SAUCE: AppArmor: Add profile introspection file to interface + * SAUCE: AppArmor: basic networking rules + + [ Leann Ogasawara ] + + * [Config] Disable CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER + - LP: #952035 + * Rebase to v3.2.10 + * [Config] Update configs after rebase to v3.2.10 + * Rebase to v3.2.11 + * [Config] Disable CONFIG_STUB_POULSBO + - LP: #899244 + * [Config] Add CONFIG_DRM_PSB check to enforcer + - LP: #899244 + + [ Tim Gardner ] + + * [Config] Drop non-SMP powerpc + + [ Upstream Kernel Changes ] + + * net/hyperv: Use the built-in macro KBUILD_MODNAME for this driver + * x86: Derandom delay_tsc for 64 bit + * Bluetooth: Fix l2cap conn failures for ssp devices + - LP: #872044 + * KVM: x86: extend "struct x86_emulate_ops" with "get_cpuid" + - LP: #917842 + - CVE-2012-0045 + * KVM: x86: fix missing checks in syscall emulation + - LP: #917842 + - CVE-2012-0045 + * rebase to v3.2.11 + * rebase to v3.2.10 + + [ Andy Whitcroft ] + + * [Config] restore build-% shortcut + * SAUCE: ata_piix: defer disks to the Hyper-V drivers by default + - LP: #929545, #942316 + + [ Eugeni Dodonov ] + + * SAUCE: drm: give up on edid retries when i2c bus is not responding + - LP: #855124 + + [ Seth Forshee ] + + * SAUCE: (drop after 3.3) platform/x86: Add driver for Apple gmux device + - LP: #925544 + + [ Upstream Kernel Changes ] + + * bsg: fix sysfs link remove warning + - LP: #946928 + * regset: Prevent null pointer reference on readonly regsets + - LP: #949905 + - CVE-2012-1097 + * regset: Return -EFAULT, not -EIO, on host-side memory fault + - LP: #949905 + - CVE-2012-1097 + + [ Wu Fengguang ] + + * SAUCE: (drop after 3.4) ALSA: hda - add id for Atom Cedar Trail HDMI + codec + + -- Luke Yelavich Wed, 21 Mar 2012 23:51:57 +1100 + +linux-lowlatency (3.2.0-18.26) precise; urgency=low + + [ Andy Whitcroft ] + + * [Config] clean up the human consumable package descriptions + * [Config] fix generic flavour description + * [Config] clean up linux-tools package descriptions + - LP: #593107 + * deviations -- note the source of the Hyper-V updates + * SAUCE: ata_piix: defer to the Hyper-V drivers by default + - LP: #929545 + * ubuntu: AUFS -- adapt to the new changelog handling + * ubuntu: AUFS -- sort out the relative header paths + * ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0 + + [ Chase Douglas ] + + * SAUCE: (drop after 3.3) HID: hid-magicmouse: Add pointer and buttonpad + properties for Magic Trackpad + * SAUCE: Input: synaptics - add second variant of two-button clickpad + * SAUCE: Input: synapticss - Set buttonpad property for all clickpads + + [ Eugeni Dodonov ] + + * SAUCE: drm/i915: do not enable RC6p on Sandy Bridge + * SAUCE: drm/i915: fix operator precedence when enabling RC6p + + [ Ingo Molnar ] + + * ubuntu: nx-emu - i386: NX emulation + + [ Johannes Berg ] + + * SAUCE: iwlwifi: fix key removal + - LP: #911059 + + [ John Johansen ] + + * Revert "SAUCE: AppArmor: Fix unpack of network tables." + * Revert "SAUCE: AppArmor: Allow dfa backward compatibility with broken + userspace" + * SAUCE: AppArmor: Add mising end of structure test to caps unpacking + * SAUCE: AppArmor: Fix dropping of allowed operations that are force + audited + * SAUCE: AppArmor: Fix underflow in xindex calculation + * SAUCE: AppArmor: fix mapping of META_READ to audit and quiet flags + * SAUCE: AppArmor: Fix the error case for chroot relative path name + lookup + - LP: #925028 + * SAUCE: AppArmor: Retrieve the dentry_path for error reporting when path + lookup fails + - LP: #925028 + * SAUCE: AppArmor: Minor cleanup of d_namespace_path to consolidate error + handling + * SAUCE: AppArmor: Update dfa matching routines. + * SAUCE: AppArmor: Move path failure information into aa_get_name and + rename + * SAUCE: AppArmor: Make chroot relative the default path lookup type + * SAUCE: AppArmor: Add ability to load extended policy + * SAUCE: AppArmor: basic networking rules + * SAUCE: AppArmor: Add profile introspection file to interface + * SAUCE: AppArmor: Add the ability to mediate mount + * SAUCE: AppArmor: Add mount information to apparmorfs + + [ Kees Cook ] + + * SAUCE: (drop after 3.3) security: create task_free security callback + * SAUCE: (drop after 3.3) security: Yama LSM + * SAUCE: (drop after 3.3) Yama: add PR_SET_PTRACER_ANY + * SAUCE: Yama: add link restrictions + * SAUCE: security: unconditionally chain to Yama LSM + * SAUCE: AppArmor: refactor securityfs to use structures + * SAUCE: AppArmor: add initial "features" directory to securityfs + * SAUCE: AppArmor: add "file" details to securityfs + * SAUCE: AppArmor: export known rlimit names/value mappings in securityfs + * ubuntu: Yama - LSM hooks + * ubuntu: Yama - add ptrace relationship tracking interface + * ubuntu: Yama - unconditionally chain to Yama LSM + + [ Leann Ogasawara ] + + * Revert "[Config] Enable CONFIG_NVRAM=m" + - LP: #942193 + * Drop ndiswrapper + * Ubuntu-3.2.0-17.26 + * Ubuntu-3.2.0-17.27 + * Rebase to v3.2.7 + * [Config] Enable CONFIG_USB_SERIAL_QUATECH2=m on arm and powerpc + * [Config] Enable CONFIG_USB_SERIAL_QUATECH_USB2=m on arm and powerpc + * [Config] Add CONFIG_NVRAM to config enforcer + - LP: #942193 + * [Config] Enable CONFIG_SCSI_IBMVSCSI=m for powerpc + - LP: #943090 + * [Config] Enable CONFIG_SCSI_IPR=m for powerpc + - LP: #943090 + * provide ipmi udeb + - LP: #942926 + * Rebase to v3.2.9 + * Add ibmveth to d-i/modules-powerpc/nic-modules + - LP: #712188 + * [Config] Enable CONFIG_SCSI_IBMVFC=m for powerpc + - LP: #712188 + * Add ibmvfc and ibmvscsic to d-i/modules-powerpc/nic-modules + - LP: #712188 + * Ubuntu-3.2.0-18.28 + + [ Robert Hooker ] + + * SAUCE: drm/i915: Enable RC6 by default on sandybridge. + + [ Seth Heasley ] + + * SAUCE: ALSA: hda - Add Lynx Point HD Audio Controller DeviceIDs + - LP: #900119 + * SAUCE: ahci: AHCI-mode SATA patch for Intel Lynx Point DeviceIDs + - LP: #900119 + * SAUCE: ata_piix: IDE-mode SATA patch for Intel Lynx Point DeviceIDs + - LP: #900119 + * SAUCE: i2c-i801: Add device IDs for Intel Lynx Point + - LP: #900119 + + [ Tim Gardner ] + + * dropped hv_mouse + * [Config] CONFIG_X86_NUMACHIP=y + * [Config] updateconfigs after apparmor patches + * [Config] Added hv_netvsc and hv_storvsc to -virtual + - LP: #942256 + * [Config] Enable aufs + - LP: #943119 + * SAUCE: Made kernel irq-threaded by default + + [ Luke Yelavich ] + + * UBUNTU: Depend on crda (>=1.1.1-1ubuntu2) | wireless-crda as per precise + mainline packaging + + [ Upstream Kernel Changes ] + + * Revert "Revert "ath9k_hw: fix interpretation of the rx KeyMiss flag"" + * Revert "AppArmor: compatibility patch for v5 interface" + * Revert "AppArmor: compatibility patch for v5 network controll" + * Staging: hv: vmbus: Support building the vmbus driver as part of the + kernel + * hv: Add Kconfig menu entry + * Drivers: hv: Fix a memory leak + * Drivers: hv: Make the vmbus driver unloadable + * Drivers: hv: Get rid of an unnecessary check in hv.c + * Staging: hv: mousevsc: Make boolean states boolean + * Staging: hv: mousevsc: Inline the code for mousevsc_on_device_add() + * Staging: hv: mousevsc: Inline the code for reportdesc_callback() + * Staging: hv: mousevsc: Cleanup mousevsc_on_channel_callback() + * Staging: hv: mousevsc: Add a new line to a debug string + * Staging: hv: mousevsc: Get rid of unnecessary include files + * Staging: hv: mousevsc: Address some style issues + * Staging: hv: mousevsc: Add a check to prevent memory corruption + * Staging: hv: mousevsc: Use the KBUILD_MODNAME macro + * Staging: hv: storvsc: Use mempools to allocate struct + storvsc_cmd_request + * Staging: hv: storvsc: Cleanup error handling in the probe function + * Staging: hv: storvsc: Fixup the error when processing SET_WINDOW + command + * Staging: hv: storvsc: Fix error handling storvsc_host_reset() + * Staging: hv: storvsc: Use the accessor function shost_priv() + * Staging: hv: storvsc: Use the unlocked version queuecommand + * Staging: hv: storvsc: use the macro KBUILD_MODNAME + * Staging: hv: storvsc: Get rid of an unnecessary forward declaration + * Staging: hv: storvsc: Upgrade the vmstor protocol version + * Staging: hv: storvsc: Support hot add of scsi disks + * Staging: hv: storvsc: Support hot-removing of scsi devices + * staging: hv: Use kmemdup rather than duplicating its implementation + * staging: hv: move hv_netvsc out of staging area + * Staging: hv: mousevsc: Properly add the hid device + * Staging: hv: storvsc: Disable clustering + * Staging: hv: storvsc: Cleanup storvsc_device_alloc() + * Staging: hv: storvsc: Fix a bug in storvsc_command_completion() + * Staging: hv: storvsc: Fix a bug in copy_from_bounce_buffer() + * Staging: hv: storvsc: Implement per device memory pools + * Staging: hv: remove hv_mouse driver as it's now in the hid directory + * Staging: hv: update TODO file + * Staging: hv: storvsc: Fix a bug in create_bounce_buffer() + * net/hyperv: Fix long lines in netvsc.c + * net/hyperv: Add support for promiscuous mode setting + * net/hyperv: Fix the stop/wake queue mechanism + * net/hyperv: Remove unnecessary kmap_atomic in netvsc driver + * net/hyperv: Add NETVSP protocol version negotiation + * net/hyperv: Add support for jumbo frame up to 64KB + * net/hyperv: fix possible memory leak in do_set_multicast() + * net/hyperv: rx_bytes should account the ether header size + * net/hyperv: fix the issue that large packets be dropped under bridge + * net/hyperv: Use netif_tx_disable() instead of netif_stop_queue() when + necessary + * net/hyperv: Fix the page buffer when an RNDIS message goes beyond page + boundary + * HID: Move the hid-hyperv driver out of staging + * HID: hv_mouse: Properly add the hid device + * HID: hyperv: Properly disconnect the input device + * Staging: hv: storvsc: Cleanup some comments + * Staging: hv: storvsc: Cleanup storvsc_probe() + * Staging: hv: storvsc: Cleanup storvsc_queuecommand() + * Staging: hv: storvsc: Introduce defines for srb status codes + * Staging: hv: storvsc: Cleanup storvsc_host_reset_handler() + * Staging: hv: storvsc: Move and cleanup storvsc_remove() + * Staging: hv: storvsc: Add a comment to explain life-cycle management + * Staging: hv: storvsc: Get rid of the on_io_completion in + hv_storvsc_request + * Staging: hv: storvsc: Rename the context field in hv_storvsc_request + * Staging: hv: storvsc: Miscellaneous cleanup of storvsc driver + * Staging: hv: storvsc: Cleanup the code for generating protocol version + * Staging: hv: storvsc: Cleanup some protocol related constants + * Staging: hv: storvsc: Get rid of some unused defines + * Staging: hv: storvsc: Consolidate the request structure + * Staging: hv: storvsc: Consolidate all the wire protocol definitions + * Staging: hv: storvsc: Move the storage driver out of the staging area + * x86: Make flat_init_apic_ldr() available + * x86: Add x86_init platform override to fix up NUMA core numbering + * x86: Add NumaChip support + * x86/numachip: Drop unnecessary conflict with EDAC + * Input: bcm5974 - set BUTTONPAD property + * Ubuntu: Rebase to v3.2.8 + * ACPI / PM: Do not save/restore NVS on Asus K54C/K54HR + - LP: #898503 + * Add low latency source + + -- Luke Yelavich Fri, 09 Mar 2012 10:21:12 +1100 + +linux-lowlatency (3.2.0-16.25) precise; urgency=low + + * Add new lowlatency kernel flavour + + -- Alessio Igor Bogani Mon, 26 Oct 2011 11:13:05 +0200 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config-delta +++ linux-lowlatency-3.5.0/debian.lowlatency/config-delta @@ -0,0 +1,16 @@ +# DELTA: enable full preempt +# +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_RCU_BOOST is not set +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_PREEMPT_TRACER is not set + +# DELTA: switch to HZ=1000 +# +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +CONFIG_HZ_1000=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/control.stub.in +++ linux-lowlatency-3.5.0/debian.lowlatency/control.stub.in @@ -0,0 +1,9 @@ +Source: SRCPKGNAME +Section: devel +Priority: optional +Maintainer: Ubuntu Developers +Uploaders: UbuntuStudio Developers +Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4) +Build-Conflicts: findutils (= 4.4.1-1ubuntu1) +Vcs-Git: git://kernel.ubuntu.com/apw/ubuntu-quantal-lowlatency.git --- linux-lowlatency-3.5.0.orig/debian.lowlatency/copyright +++ linux-lowlatency-3.5.0/debian.lowlatency/copyright @@ -0,0 +1,29 @@ +This is the Ubuntu prepackaged version of the Linux kernel. +Linux was written by Linus Torvalds +and others. + +This package was put together by the Ubuntu Kernel Team, from +sources retrieved from upstream linux git. +The sources may be found at most Linux ftp sites, including +ftp://ftp.kernel.org/pub/linux/kernel/ + +This package is currently maintained by the +Ubuntu Kernel Team + +Linux is copyrighted by Linus Torvalds and others. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Ubuntu Linux systems, the complete text of the GNU General +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. --- linux-lowlatency-3.5.0.orig/debian.lowlatency/control.stub +++ linux-lowlatency-3.5.0/debian.lowlatency/control.stub @@ -0,0 +1,161 @@ +Source: linux-lowlatency +Section: devel +Priority: optional +Maintainer: Ubuntu Developers +Uploaders: UbuntuStudio Developers +Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4) +Build-Conflicts: findutils (= 4.4.1-1ubuntu1) +Vcs-Git: git://kernel.ubuntu.com/apw/ubuntu-quantal-lowlatency.git + +Package: linux-image-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86/x86_64 + This package provides kernel header files for version 3.5.0 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86/x86_64 + This package provides a kernel debug image for version 3.5.0 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency-pae (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86 + This package provides kernel header files for version 3.5.0 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86 + This package provides a kernel debug image for version 3.5.0 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. --- linux-lowlatency-3.5.0.orig/debian.lowlatency/control +++ linux-lowlatency-3.5.0/debian.lowlatency/control @@ -0,0 +1,161 @@ +Source: linux-lowlatency +Section: devel +Priority: optional +Maintainer: Ubuntu Developers +Uploaders: UbuntuStudio Developers +Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4) +Build-Conflicts: findutils (= 4.4.1-1ubuntu1) +Vcs-Git: git://kernel.ubuntu.com/apw/ubuntu-quantal-lowlatency.git + +Package: linux-image-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86/x86_64 + This package contains the Linux kernel image for version 3.5.0 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward lowlatency desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86/x86_64 + This package provides kernel header files for version 3.5.0 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86/x86_64 + This package provides a kernel debug image for version 3.5.0 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-3.5.0 | linux-source-3.5.0, linux-tools +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-22-lowlatency-pae (= 3.5.0) +Description: Linux kernel image for version 3.5.0 on x86 + This package contains the Linux kernel image for version 3.5.0 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Lowlatency processors. + . + Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-lowlatency-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-22-lowlatency-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-3.5.0-22, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on x86 + This package provides kernel header files for version 3.5.0 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-3.5.0-22/debian.README.gz for details. + +Package: linux-image-3.5.0-22-lowlatency-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 3.5.0 on x86 + This package provides a kernel debug image for version 3.5.0 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. --- linux-lowlatency-3.5.0.orig/debian.lowlatency/control.d/flavour-control.stub +++ linux-lowlatency-3.5.0/debian.lowlatency/control.d/flavour-control.stub @@ -0,0 +1,98 @@ +# Items that get replaced: +# FLAVOUR +# DESC +# ARCH +# SUPPORTED +# TARGET +# BOOTLOADER +# =PROVIDES= +# +# Items marked with =FOO= are optional +# +# This file describes the template for packages that are created for each flavour +# in debian/control.d/vars.* +# +# This file gets edited in a couple of places. See the debian/control.stub rule in +# debian/rules. PGGVER, ABINUM, and SRCPKGNAME are all converted in the +# process of creating debian/control. +# +# The flavour specific strings (ARCH, DESC, etc) are converted using values from the various +# flavour files in debian/control.d/vars.* +# +# XXX: Leave the blank line before the first package!! + +Package: linux-image-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-3.0, fuse-module, =PROVIDES= +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda, rtirq-init +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: BOOTLOADER +Suggests: fdutils, linux-doc-PKGVER | linux-source-PKGVER, linux-tools +Description: Linux kernel image for version PKGVER on DESC + This package contains the Linux kernel image for version PKGVER on + DESC. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: admin +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-PKGVER-ABINUM-FLAVOUR (= PKGVER) +Description: Linux kernel image for version PKGVER on DESC + This package contains the Linux kernel image for version PKGVER on + DESC. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-PKGVER-ABINUM, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version PKGVER on DESC + This package provides kernel header files for version PKGVER on + DESC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-PKGVER-ABINUM/debian.README.gz for details. + +Package: linux-image-PKGVER-ABINUM-FLAVOUR-dbgsym +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version PKGVER on DESC + This package provides a kernel debug image for version PKGVER on + DESC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. --- linux-lowlatency-3.5.0.orig/debian.lowlatency/control.d/vars.lowlatency +++ linux-lowlatency-3.5.0/debian.lowlatency/control.d/vars.lowlatency @@ -0,0 +1,6 @@ +arch="i386 amd64" +supported="Lowlatency" +target="Geared toward lowlatency desktop systems." +desc="x86/x86_64" +bootloader="grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1)" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9" --- linux-lowlatency-3.5.0.orig/debian.lowlatency/control.d/vars.lowlatency-pae +++ linux-lowlatency-3.5.0/debian.lowlatency/control.d/vars.lowlatency-pae @@ -0,0 +1,6 @@ +arch="i386" +supported="Lowlatency" +target="Geared toward 32 bit lowlatency desktop systems with more then 4GB RAM." +desc="x86" +bootloader="grub-pc | grub | lilo (>= 19.1)" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9" --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/kernel-versions +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/kernel-versions @@ -0,0 +1,4 @@ +# arch version flavour installedname suffix bdep +amd64 3.5.0-22 lowlatency 3.5.0-22-lowlatency - + +i386 3.5.0-22 lowlatency 3.5.0-22-lowlatency - --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-firmware.armel-omap +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-firmware.armel-omap @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-firmware.armhf-highbank +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-firmware.armhf-highbank @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-firmware.armhf-omap +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-firmware.armhf-omap @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.amd64-virtual +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.amd64-virtual @@ -0,0 +1,15 @@ +pata-modules +serial-modules +firewire-core-modules +plip-modules +usb-modules +pcmcia-storage-modules +input-modules +nic-pcmcia-modules +pcmcia-modules +nic-usb-modules +nfs-modules +speakup-modules +ppp-modules +sata-modules +ipmi-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.armel-omap +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.armel-omap @@ -0,0 +1,10 @@ +serial-modules +firewire-core-modules +floppy-modules +pcmcia-storage-modules +fb-modules +nic-pcmcia-modules +pcmcia-modules +pata-modules +message-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.armhf-highbank +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.armhf-highbank @@ -0,0 +1,13 @@ +serial-modules +firewire-core-modules +floppy-modules +pcmcia-storage-modules +fb-modules +nic-pcmcia-modules +pcmcia-modules +pata-modules +message-modules +virtio-modules +multipath-modules +sata-modules +ipmi-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.armhf-omap +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.armhf-omap @@ -0,0 +1,10 @@ +serial-modules +firewire-core-modules +floppy-modules +pcmcia-storage-modules +fb-modules +nic-pcmcia-modules +pcmcia-modules +pata-modules +message-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.i386-virtual +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.i386-virtual @@ -0,0 +1,15 @@ +pata-modules +serial-modules +firewire-core-modules +plip-modules +usb-modules +pcmcia-storage-modules +input-modules +nic-pcmcia-modules +pcmcia-modules +nic-usb-modules +nfs-modules +speakup-modules +ppp-modules +sata-modules +ipmi-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.ia64 +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.ia64 @@ -0,0 +1,4 @@ +irda-modules +floppy-modules +fb-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.powerpc +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.powerpc @@ -0,0 +1,4 @@ +efi-modules +fb-modules +acpi-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/exclude-modules.sparc +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/exclude-modules.sparc @@ -0,0 +1,9 @@ +efi-modules +nic-pcmcia-modules +pcmcia-modules +pcmcia-storage-modules +irda-modules +floppy-modules +fb-modules +acpi-modules +virtio-modules --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/kernel-versions.in +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/kernel-versions.in @@ -0,0 +1,4 @@ +# arch version flavour installedname suffix bdep +amd64 PKGVER-ABINUM lowlatency PKGVER-ABINUM-lowlatency - + +i386 PKGVER-ABINUM lowlatency PKGVER-ABINUM-lowlatency - --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/package-list +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/package-list @@ -0,0 +1,196 @@ +Package: kernel-image + +Package: fat-modules +Depends: kernel-image +Priority: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: fb-modules +Depends: kernel-image +Priority: standard +Description: Framebuffer modules + +Package: firewire-core-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: floppy-modules +Depends: kernel-image +Priority: standard +Description: Floppy driver support + +Package: fs-core-modules +Depends: kernel-image +Priority: standard +Provides: jfs-modules, reiserfs-modules, xfs-modules +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules +Depends: kernel-image, fat-modules +Priority: standard +Provides: ntfs-modules, hfs-modules +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: input-modules +Depends: kernel-image, usb-modules +Priority: standard +Description: Support for various input methods + +Package: irda-modules +Depends: kernel-image, nic-shared-modules +Priority: standard +Description: Support for Infrared protocols + +Package: md-modules +Depends: kernel-image +Priority: standard +Description: Multi-device support (raid, device-mapper, lvm) + +Package: nic-modules +Depends: kernel-image, nic-shared-modules, virtio-modules +Priority: standard +Description: Network interface support + +Package: nic-pcmcia-modules +Depends: kernel-image, nic-shared-modules, nic-modules +Priority: standard +Description: PCMCIA network interface support + +Package: nic-usb-modules +Depends: kernel-image, nic-shared-modules, usb-modules +Priority: standard +Description: USB network interface support + +Package: nic-shared-modules +Depends: kernel-image, crypto-modules +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: parport-modules +Depends: kernel-image +Priority: standard +Description: Parallel port support + +Package: pata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: PATA support modules + +Package: pcmcia-modules +Depends: kernel-image +Priority: standard +Description: PCMCIA Modules + +Package: pcmcia-storage-modules +Depends: kernel-image, scsi-modules +Priority: standard +Description: PCMCIA storage support + +Package: plip-modules +Depends: kernel-image, nic-shared-modules, parport-modules +Priority: standard +Description: PLIP (parallel port) networking support + +Package: ppp-modules +Depends: kernel-image, nic-shared-modules, serial-modules +Priority: standard +Description: PPP (serial port) networking support + +Package: sata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: SATA storage support + +Package: scsi-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: SCSI storage support + +Package: serial-modules +Depends: kernel-image +Priority: standard +Description: Serial port support + +Package: storage-core-modules +Depends: kernel-image +Priority: standard +Provides: loop-modules +Description: Core storage support + Includes core SCSI, LibATA, USB-Storage. Also includes related block + devices for CD, Disk and Tape medium (and IDE Floppy). + +Package: usb-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Core USB support + +Package: nfs-modules +Priority: standard +Depends: kernel-image +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: block-modules +Priority: standard +Depends: kernel-image, storage-core-modules, parport-modules, virtio-modules +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules +Priority: standard +Depends: kernel-image, storage-core-modules, scsi-modules +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: crypto-modules +Priority: extra +Depends: kernel-image +Description: crypto modules + This package contains crypto modules. + +Package: virtio-modules +Priority: standard +Depends: kernel-image +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: socket-modules +Depends: kernel-image +Priority: standard +Description: Unix socket support + +Package: mouse-modules +Depends: kernel-image, input-modules, usb-modules +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: squashfs-modules +Depends: kernel-image +Priority: extra +Description: squashfs modules + This package contains squashfs modules. + +Package: vlan-modules +Depends: kernel-image +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: ipmi-modules +Depends: kernel-image +Priority: standard +Description: ipmi modules + +Package: multipath-modules +Depends: kernel-image +Priority: extra +Description: DM-Multipath support + This package contains modules for device-mapper multipath support. + --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/firmware/README.txt +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/firmware/nic-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/firmware/nic-modules @@ -0,0 +1,14 @@ +e100/d101m_ucode.bin +e100/d101s_ucode.bin +e100/d102e_ucode.bin +bnx2x/bnx2x-e1h-7.2.51.0.fw +bnx2x/bnx2x-e1-7.2.51.0.fw +bnx2x/bnx2x-e2-7.2.51.0.fw +bnx2/bnx2-mips-09-6.2.1b.fw +bnx2/bnx2-rv2p-06-6.0.15.fw +bnx2/bnx2-mips-06-6.2.3.fw +bnx2/bnx2-rv2p-09-6.0.17.fw +bnx2/bnx2-rv2p-09ax-6.0.17.fw +tigon/tg3_tso5.bin +tigon/tg3_tso.bin +tigon/tg3.bin --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/firmware/scsi-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin +qlogic/12160.bin +qlogic/1280.bin --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/block-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/block-modules @@ -0,0 +1,32 @@ +aoe ? +aten ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +hpsa ? +kbic ? +ktti ? +nbd ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +pt ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? +mtip32xx ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/crypto-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/crypto-modules @@ -0,0 +1,70 @@ +aesni-intel ? +aes-x86_64 ? +af_alg ? +algif_hash ? +algif_skcipher ? +ansi_cprng ? +anubis ? +arc4 ? +async_memcpy ? +async_pq ? +async_raid6_recov ? +async_tx ? +async_xor ? +authenc ? +authencesn ? +blowfish_common ? +blowfish_generic ? +blowfish-x86_64 ? +camellia ? +cast5 ? +cast6 ? +ccm ? +cryptd ? +cryptoloop ? +crypto_null ? +crypto_user ? +ctr ? +cts ? +deflate ? +des_generic ? +fcrypt ? +gcm ? +gf128mul ? +ghash-clmulni-intel ? +ghash-generic ? +khazad ? +lrw ? +lzo ? +md4 ? +michael_mic ? +padlock-aes ? +padlock-sha ? +pcbc ? +pcrypt ? +raid6test ? +rmd128 ? +rmd160 ? +rmd256 ? +rmd320 ? +salsa20_generic ? +salsa20-x86_64 ? +seed ? +seqiv ? +serpent_generic ? +serpent-sse2-x86_64 ? +sha1-ssse3 ? +sha512_generic ? +tcrypt ? +tea ? +tgr192 ? +twofish_common ? +twofish_generic ? +twofish-x86_64 ? +twofish-x86_64-3way ? +vmac ? +wp512 ? +xcbc ? +xor ? +xts ? +zlib ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/fat-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/fat-modules @@ -0,0 +1,7 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/fb-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/firewire-core-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/floppy-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/fs-core-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/fs-core-modules @@ -0,0 +1,4 @@ +ext2 ? +jfs ? +reiserfs ? +xfs ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/fs-secondary-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/input-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/input-modules @@ -0,0 +1,22 @@ +hid-a4tech ? +hid-apple ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-cypress ? +hid-dell ? +hid-ezkey ? +hid-generic ? +hid-gyration ? +hid-logitech ? +hid-microsoft ? +hid-monterey ? +hid-petalynx ? +hid-pl ? +hid-samsung ? +hid-sony ? +hid-sunplus ? +hid-tmff ? +hid-zpff ? +usbhid ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/ipmi-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/irda-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/irda-modules @@ -0,0 +1,30 @@ +act200l-sir ? +actisys-sir ? +ali-ircc ? +donauboe ? +esi-sir ? +girbil-sir ? +ircomm ? +ircomm-tty ? +irda ? +irda-usb ? +irlan ? +irnet ? +irport ? +irtty-sir ? +kingsun-sir ? +ks959-sir ? +ksdazzle-sir ? +litelink-sir ? +ma600-sir ? +mcp2120-sir ? +mcs7780 ? +nsc-ircc ? +old_belkin-sir ? +sir-dev ? +smsc-ircc2 ? +stir4200 ? +tekram-sir ? +via-ircc ? +vlsi_ir ? +w83977af_ir ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/md-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/md-modules @@ -0,0 +1,15 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/message-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/message-modules @@ -0,0 +1,14 @@ +mptbase ? +mptctl ? +mptfc ? +mptlan ? +mptsas ? +mpt2sas ? +mptscsih ? +mptspi ? +i2o_block ? +i2o_bus ? +i2o_config ? +i2o_core ? +i2o_proc ? +i2o_scsi ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/mouse-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/multipath-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/multipath-modules @@ -0,0 +1,2 @@ +dm-multipath ? +dm-round-robin ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/nfs-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/nfs-modules @@ -0,0 +1,5 @@ +nfs ? +nfs_acl ? +lockd ? +sunrpc ? +cifs ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/nic-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/nic-modules @@ -0,0 +1,166 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +amd8111e ? +arc4 ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +ath5k ? +ath9k ? +ath9k_htc ? +atl1 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +be2net ? +bmac ? +bnx2 ? +bnx2x ? +bonding ? +brcmfmac ? +brcmsmac ? +cassini ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +ps3_gelic ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +ipddp ? +ipw2100 ? +ipw2200 ? +iwl3945 ? +iwl4965 ? +iwl-legacy ? +iwlwifi ? +ixgb ? +ixgbe ? +lance ? +lanstreamer ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +r8169 ? +rate_control ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2400pci ? +rt2500 ? +rt2500pci ? +rt2800pci ? +rt61pci ? +s2io ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? +vmxnet3 ? +xen-netfront ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/nic-pcmcia-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/nic-pcmcia-modules @@ -0,0 +1,19 @@ +3c574_cs ? +3c589_cs ? +airo_cs ? +atmel_cs ? +axnet_cs ? +com20020_cs ? +fmvj18x_cs ? +ibmtr_cs ? +netwave_cs ? +nmclan_cs ? +orinoco_cs ? +pcnet_cs ? +ray_cs ? +smc91c92_cs ? +wavelan_cs ? +wl3501_cs ? +xirc2ps_cs ? +xircom_cb ? +xircom_tulip_cb ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/nic-shared-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/nic-shared-modules @@ -0,0 +1,26 @@ +# PHY +8390 ? +mii ? + +# CRC modules +crc-ccitt ? +crc-itu-t ? +libcrc32c ? + +# mac80211 stuff +mac80211 ? +cfg80211 ? + +# rt2x00 lib (since rt2x00 is split across usb/pci/cb +rt2x00lib ? +rt2800lib ? + +# Atheros library (since drivers are split across nic-modules/nic-usb-modules) +ath ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/nic-usb-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/nic-usb-modules @@ -0,0 +1,32 @@ +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +rt2800usb ? +rt2x00usb ? +cdc_ether ? +asix ? +cdc_eem ? +cdc_ether ? +cdc-phonet ? +cdc_subset ? +dm9601 ? +gl620a ? +hso ? +int51x1 ? +mcs7830 ? +net1080 ? +plusb ? +rndis_host ? +smsc95xx ? +zaurus ? +carl9170 ? +smsc75xx ? +smsc95xx ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/parport-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/pata-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/pata-modules @@ -0,0 +1,47 @@ +pata_ali.ko ? +pata_amd.ko ? +pata_artop.ko ? +pata_atiixp.ko ? +pata_atp867x.ko ? +pata_cmd640.ko ? +pata_cmd64x.ko ? +pata_cs5520.ko ? +pata_cs5530.ko ? +pata_cs5535.ko ? +pata_cs5536.ko ? +pata_cypress.ko ? +pata_efar.ko ? +pata_hpt366.ko ? +pata_hpt37x.ko ? +pata_hpt3x2n.ko ? +pata_hpt3x3.ko ? +pata_isapnp.ko ? +pata_it8213.ko ? +pata_it821x.ko ? +pata_jmicron.ko ? +pata_legacy.ko ? +pata_macio.ko ? +pata_marvell.ko ? +pata_mpiix.ko ? +pata_netcell.ko ? +pata_ninja32.ko ? +pata_ns87410.ko ? +pata_ns87415.ko ? +pata_oldpiix.ko ? +pata_optidma.ko ? +pata_opti.ko ? +pata_pcmcia.ko ? +pata_pdc2027x.ko ? +pata_pdc202xx_old.ko ? +pata_qdi.ko ? +pata_radisys.ko ? +pata_rdc.ko ? +pata_rz1000.ko ? +pata_sc1200.ko ? +pata_sch.ko ? +pata_serverworks.ko ? +pata_sil680.ko ? +pata_sl82c105.ko ? +pata_triflex.ko ? +pata_via.ko ? +pata_winbond.ko ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/pcmcia-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/pcmcia-storage-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/plip-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/ppp-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/sata-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/sata-modules @@ -0,0 +1,13 @@ +sata_inic162x.ko ? +sata_mv.ko ? +sata_nv.ko ? +sata_promise.ko ? +sata_qstor.ko ? +sata_sil24.ko ? +sata_sil.ko ? +sata_sis.ko ? +sata_svw.ko ? +sata_sx4.ko ? +sata_uli.ko ? +sata_via.ko ? +sata_vsc.ko ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/scsi-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/scsi-modules @@ -0,0 +1,126 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +fnic ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +ipr ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsic ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +vmw_pvscsi ? +ums-cypress ? +be2iscsi ? +3w-sas ? +isci ? + +# device handlers +scsi_dh_alua ? +scsi_dh_emc ? +scsi_dh_rdac ? +scsi_dh_hp_sw ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/serial-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/serial-modules @@ -0,0 +1,3 @@ +generic_serial ? +serial_cs ? +synclink_cs ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/speakup-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/speakup-modules @@ -0,0 +1,16 @@ +speakup ? +speakup_acntpc ? +speakup_acntsa ? +speakup_apollo ? +speakup_audptr ? +speakup_bns ? +speakup_decext ? +speakup_dectlk ? +speakup_dtlk ? +speakup_dummy ? +speakup_keypc ? +speakup_ltlk ? +speakup_soft ? +speakup_spkout ? +speakup_txprt ? +speakup_decpc ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/squashfs-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/squashfs-modules @@ -0,0 +1 @@ +squashfs ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/storage-core-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/storage-core-modules @@ -0,0 +1,10 @@ +# Core stacks +usb-storage ? + +# Block level + +# Loop modules +cryptoloop ? + +# Needs to be here for better cdrom initrd layout +isofs ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/usb-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/usb-modules @@ -0,0 +1,10 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? +xhci-hcd ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/virtio-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/virtio-modules @@ -0,0 +1,9 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? +hv_vmbus ? +hv_utils ? +hv_netvsc ? +hv_mouse ? +hv_storvsc ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules/vlan-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules-powerpc/block-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules-powerpc/block-modules @@ -0,0 +1,31 @@ +aoe +aten +bpck +bpck6 ? +cciss +comm +cpqarray ? +DAC960 +dstr +epat +epia +fit2 +fit3 +friq +frpw +kbic +ktti +nbd +on20 +on26 +paride +pcd +pd +pf +pg +ps3disk ? +ps3vram ? +pt +sx8 +umem +virtio_blk ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules-powerpc/message-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules-powerpc/message-modules @@ -0,0 +1,13 @@ +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +i2o_block +i2o_bus +i2o_config ? +i2o_core +i2o_proc +i2o_scsi --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules-powerpc/nic-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules-powerpc/nic-modules @@ -0,0 +1,152 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +amd8111e ? +arc4 ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +atl1 ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm43xx ? +bcm43xx-mac80211 ? +bmac ? +bnx2 ? +bnx2x ? +bonding ? +cassini ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +ibmveth ? +ipddp ? +ipw2100 ? +ipw2200 ? +ipw3945 ? +ixgb ? +lance ? +lanstreamer ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +ps3_gelic ? +r8169 ? +rate_control ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2500 ? +rt61pci ? +s2io ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules-powerpc/scsi-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules-powerpc/scsi-modules @@ -0,0 +1,118 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +ibmvfc ? +ibmvscsic ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +ipr ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsic ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +sr_mod ? +sd_mod ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules-powerpc/storage-core-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules-powerpc/storage-core-modules @@ -0,0 +1,13 @@ +# Core stacks +usb-storage ? + +# Block level + +# Loop modules +cryptoloop + +# Needs to be here for better cdrom initrd layout +isofs + +ps3stor_lib ? +ps3rom ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules-sparc/block-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules-sparc/block-modules @@ -0,0 +1,9 @@ +aoe +cciss +comm +cpqarray ? +DAC960 +nbd +sx8 +umem +virtio_blk ? --- linux-lowlatency-3.5.0.orig/debian.lowlatency/d-i/modules-sparc/message-modules +++ linux-lowlatency-3.5.0/debian.lowlatency/d-i/modules-sparc/message-modules @@ -0,0 +1,13 @@ +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +i2o_block +i2o_bus +i2o_config ? +i2o_core +i2o_proc +i2o_scsi --- linux-lowlatency-3.5.0.orig/debian.lowlatency/etc/getabis +++ linux-lowlatency-3.5.0/debian.lowlatency/etc/getabis @@ -0,0 +1,8 @@ +repo_list=( + "http://archive.ubuntu.com/ubuntu/pool/main/l/linux" + "http://archive.ubuntu.com/ubuntu/pool/universe/l/linux" + "http://ppa.launchpad.net/abogani/lowlatency/ubuntu" +) + +getall amd64 lowlatency +getall i386 lowlatency --- linux-lowlatency-3.5.0.orig/debian.lowlatency/etc/kernelconfig +++ linux-lowlatency-3.5.0/debian.lowlatency/etc/kernelconfig @@ -0,0 +1,2 @@ +archs="amd64 i386" +family='ubuntu' --- linux-lowlatency-3.5.0.orig/debian.lowlatency/etc/update-from-master +++ linux-lowlatency-3.5.0/debian.lowlatency/etc/update-from-master @@ -0,0 +1,130 @@ +#!/bin/bash + +# +# This script is intended as a helper when updating from +# Lucid mvl-dove. When complete you should have a copy of +# the mvl-dove changelog with the correct release names. +# +SOURCE_RELEASE=quantal +SOURCE_RELEASE_BRANCH=master +DEBIAN_SOURCE=debian.${SOURCE_RELEASE_BRANCH} + +TARGET_RELEASE=quantal +TARGET_RELEASE_BRANCH=lowlatency +DEBIAN_TARGET=debian.${TARGET_RELEASE_BRANCH} + +DEF_REPO=git://kernel.ubuntu.com/ubuntu/ubuntu-${SOURCE_RELEASE}.git +RELEASE_REPO="${DEF_REPO}" + +# +# PPAs do not have a proposed pocket. The default assumes the +# real archive is the upload target. +# +POCKET="-proposed" +IGNORE_ABI="" +IGNORE_MODULES="" + +usage="$0 [-r RELEASE_REPO] [-p]" + +# +# command line options: +# [-r RELEASE_REPO] - override default ${SOURCE_RELEASE} git repository. +# [-p] - Assume the upload target is a PPA + +while getopts ":r:pim" opt; do + case $opt in + r ) RELEASE_REPO="$OPTARG" ;; + p ) POCKET="" ;; + \? ) echo usage: ${usage}; exit ;; + esac +done +shift $(($OPTIND - 1)) + +if [ ! -d ${DEBIAN_TARGET} ] +then + echo You must run this sript from the top directory of this repository. + exit 1 +fi + +# +# Fetch the upstream branch. +# +git fetch ${RELEASE_REPO} ${SOURCE_RELEASE_BRANCH} || exit 1 + +# +# Find the most recent tag on ${SOURCE_RELEASE} ${SOURCE_RELEASE_BRANCH}, then +# rebase against it. This avoids the case where there have been some +# commits since the last official tag. +# +MASTER_COMMIT=`git log --pretty=one FETCH_HEAD | \ + awk ' + /Ubuntu-/ { + if (match($0, /UBUNTU: Ubuntu-[0-9]/)) { + print $1 + exit + } + } + ' +` +MASTER_TAG=` + git log -1 --pretty=format:%s ${MASTER_COMMIT} | \ + sed -e 's/^UBUNTU: //' +` +# +# Find the current merge point where ${SOURCE_RELEASE} was based. +# +BASE_COMMIT=`git log --pretty=one | \ + awk ' + /Ubuntu-/ { + if (match($0, /UBUNTU: Ubuntu-[0-9]/)) { + print $1 + exit + } + } + ' +` +BASE_TAG=` + git log -1 --pretty=format:%s ${BASE_COMMIT} | \ + sed -e 's/^UBUNTU: //' +` +if [ "${MASTER_COMMIT}" = "${BASE_COMMIT}" ] +then + echo Already up to date. + exit 1 +fi + +if ! git rebase --onto ${MASTER_COMMIT} ${BASE_COMMIT} +then + exit 1 +fi + +# Start a new release. Note we do not use or need ABI files as we are +# locked step ABI version wise with master. +debian/rules startnewrelease +git commit -s -F debian/commit-templates/newrelease ${DEBIAN_TARGET} + +# Insert the rebase information. +./debian/scripts/misc/insert-ubuntu-changes ${DEBIAN_TARGET}/changelog \ + ${BASE_TAG} ${MASTER_TAG} +git commit -s -m "UBUNTU: rebase to ${MASTER_TAG}" ${DEBIAN_TARGET}/changelog + +# +# Update changelog from the source release changelog. Copy over the ABI +# number as we share the header files. +# +VERSION=`sed -n '1s/^linux.*(\(.*\-[0-9]*\).*).*$/\1/p' ${DEBIAN_SOURCE}/changelog` +sed -in '1s/^\(linux.*(\)\(.*\-[0-9]*\)\(.*).*\)$/\1'"${VERSION}"'\3/' ${DEBIAN_TARGET}/changelog +git commit -s -F debian/commit-templates/bumpabi ${DEBIAN_TARGET}/changelog + +# +# ALL DONE: close the release up. +# +VERSION=`sed -n '1s/^linux.*(\(.*\)).*$/\1/p' ${DEBIAN_TARGET}/changelog` +TAG="Lowlatency-${VERSION}" +debian/rules insertchanges +sed -in "1s/UNRELEASED/${TARGET_RELEASE}${POCKET}/" ${DEBIAN_TARGET}/changelog +git commit -s -m "UBUNTU: ${TAG}" ${DEBIAN_TARGET}/changelog + +echo "" +echo "*** verify and tag the release." +echo " git tag -s -m ${TAG} ${TAG}" --- linux-lowlatency-3.5.0.orig/debian.lowlatency/rules.d/amd64.mk +++ linux-lowlatency-3.5.0/debian.lowlatency/rules.d/amd64.mk @@ -0,0 +1,20 @@ +build_arch = x86_64 +header_arch = $(build_arch) +defconfig = defconfig +flavours = lowlatency +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +loader = grub + +no_dumpfile = true +skipdbg = true +skipabi = true +skipmodule = true +do_doc_package = false +do_source_package = false +do_full_source = true +do_common_headers_indep = true +do_libc_dev_package = false +do_tools = false +disable_d_i = true --- linux-lowlatency-3.5.0.orig/debian.lowlatency/rules.d/hooks.mk +++ linux-lowlatency-3.5.0/debian.lowlatency/rules.d/hooks.mk @@ -0,0 +1,10 @@ +hook-before-clean:: + @echo "Debug: hook-before-clean" + + # lowlatency: derive our configuration from that in master ... + cp -rp $(CURDIR)/debian.master/config $(DEBIAN)/config + mv $(DEBIAN)/d-i/kernel-versions.in $(DEBIAN)/d-i/kernel-versions.in-keep + cp -rp $(CURDIR)/debian.master/d-i/* $(DEBIAN)/d-i + mv $(DEBIAN)/d-i/kernel-versions.in-keep $(DEBIAN)/d-i/kernel-versions.in + cat $(DEBIAN)/config/i386/config.flavour.generic $(DEBIAN)/config-delta >$(DEBIAN)/config/i386/config.flavour.lowlatency + cat $(DEBIAN)/config/amd64/config.flavour.generic $(DEBIAN)/config-delta >$(DEBIAN)/config/amd64/config.flavour.lowlatency --- linux-lowlatency-3.5.0.orig/debian.lowlatency/rules.d/i386.mk +++ linux-lowlatency-3.5.0/debian.lowlatency/rules.d/i386.mk @@ -0,0 +1,21 @@ + +build_arch = i386 +header_arch = x86_64 +defconfig = defconfig +flavours = lowlatency +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +loader = grub + +no_dumpfile = true +skipdbg = true +skipabi = true +skipmodule = true +do_doc_package = false +do_source_package = false +do_full_source = true +do_common_headers_indep = true +do_libc_dev_package = false +do_tools = false +disable_d_i = true --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config.common.ports +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config.common.ubuntu +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config.common.ubuntu @@ -0,0 +1,6512 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_32BIT=y +CONFIG_3C515=m +# CONFIG_40x is not set +# CONFIG_44x is not set +CONFIG_60XX_WDT=m +CONFIG_6PACK=m +CONFIG_6xx=y +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_8129=y +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_9P_FS=m +# CONFIG_9P_FSCACHE is not set +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_AB3100_CORE=y +CONFIG_AB3100_OTP=m +CONFIG_AC3200=m +CONFIG_AC97_BUS=m +# CONFIG_ACCESSIBILITY is not set +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_ACERHDF=m +CONFIG_ACER_WMI=m +# CONFIG_ACORN_PARTITION_ADFS is not set +# CONFIG_ACORN_PARTITION_CUMANA is not set +# CONFIG_ACORN_PARTITION_EESOX is not set +CONFIG_ACORN_PARTITION_ICS=y +# CONFIG_ACORN_PARTITION_POWERTEC is not set +CONFIG_ACORN_PARTITION_RISCIX=y +CONFIG_ACPI=y +CONFIG_ACPI_AC=y +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_EINJ=m +CONFIG_ACPI_APEI_ERST_DEBUG=m +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_BATTERY=y +CONFIG_ACPI_BGRT=y +CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_CMPC=m +CONFIG_ACPI_CONTAINER=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_CUSTOM_DSDT_FILE="" +# CONFIG_ACPI_CUSTOM_METHOD is not set +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_EC_DEBUGFS=m +CONFIG_ACPI_FAN=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_HOTPLUG_MEMORY=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCI_SLOT=m +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_QUICKSTART=m +CONFIG_ACPI_SBS=m +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_THERMAL=y +CONFIG_ACPI_TOSHIBA=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_WMI=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ACT200L_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD5064=m +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +CONFIG_AD5360=m +CONFIG_AD5380=m +CONFIG_AD5421=m +CONFIG_AD5446=m +CONFIG_AD5504=m +CONFIG_AD5624R_SPI=m +CONFIG_AD5686=m +CONFIG_AD5764=m +CONFIG_AD5791=m +CONFIG_AD5930=m +CONFIG_AD5933=m +CONFIG_AD7150=m +CONFIG_AD7152=m +CONFIG_AD7192=m +CONFIG_AD7280=m +CONFIG_AD7291=m +CONFIG_AD7298=m +CONFIG_AD7476=m +CONFIG_AD7606=m +CONFIG_AD7606_IFACE_PARALLEL=m +CONFIG_AD7606_IFACE_SPI=m +CONFIG_AD7746=m +CONFIG_AD7780=m +CONFIG_AD7793=m +CONFIG_AD7816=m +CONFIG_AD7887=m +CONFIG_AD799X=m +CONFIG_AD799X_RING_BUFFER=y +CONFIG_AD8366=m +CONFIG_AD9832=m +CONFIG_AD9834=m +CONFIG_AD9850=m +CONFIG_AD9852=m +CONFIG_AD9910=m +CONFIG_AD9951=m +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_ADB=y +CONFIG_ADB_CUDA=y +CONFIG_ADB_MACIO=y +CONFIG_ADB_PMU=y +CONFIG_ADB_PMU_LED=y +# CONFIG_ADB_PMU_LED_IDE is not set +CONFIG_ADE7753=m +CONFIG_ADE7754=m +CONFIG_ADE7758=m +CONFIG_ADE7759=m +CONFIG_ADE7854=m +CONFIG_ADE7854_I2C=m +CONFIG_ADE7854_SPI=m +CONFIG_ADFS_FS=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_ADIS16060=m +CONFIG_ADIS16080=m +CONFIG_ADIS16130=m +CONFIG_ADIS16201=m +CONFIG_ADIS16203=m +CONFIG_ADIS16204=m +CONFIG_ADIS16209=m +CONFIG_ADIS16220=m +CONFIG_ADIS16240=m +CONFIG_ADIS16260=m +CONFIG_ADIS16400=m +CONFIG_ADM8211=m +CONFIG_ADT7310=m +CONFIG_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADT7410=m +# CONFIG_ADVANCED_OPTIONS is not set +CONFIG_ADVANTECH_WDT=m +CONFIG_ADXRS450=m +CONFIG_AEABI=y +CONFIG_AFFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FS=m +CONFIG_AFS_FSCACHE=y +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_AGP=y +CONFIG_AGP_ALI=m +CONFIG_AGP_AMD=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_ATI=m +CONFIG_AGP_EFFICEON=m +CONFIG_AGP_INTEL=y +CONFIG_AGP_NVIDIA=y +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_UNINORTH=m +CONFIG_AGP_VIA=y +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_DEBUG_ENABLE=y +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 +CONFIG_AIC7XXX_DEBUG_ENABLE=y +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_AIO=y +CONFIG_AIRO=m +CONFIG_AIRO_CS=m +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_ALIX=y +CONFIG_ALI_FIR=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTIVEC=y +CONFIG_AMD8111_ETH=m +CONFIG_AMD_IOMMU=y +CONFIG_AMD_IOMMU_STATS=y +CONFIG_AMD_IOMMU_V2=m +CONFIG_AMD_NB=y +CONFIG_AMD_NUMA=y +CONFIG_AMD_PHY=y +CONFIG_AMILO_RFKILL=m +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_INTF_ALARM_DEV=y +CONFIG_ANDROID_LOGGER=m +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_TIMED_GPIO=m +CONFIG_ANDROID_TIMED_OUTPUT=y +CONFIG_ANON_INODES=y +CONFIG_ANSLCD=m +CONFIG_APB_TIMER=y +CONFIG_APDS9802ALS=m +CONFIG_APM=m +# CONFIG_APM_ALLOW_INTS is not set +# CONFIG_APM_CPU_IDLE is not set +# CONFIG_APM_DISPLAY_BLANK is not set +# CONFIG_APM_DO_ENABLE is not set +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +CONFIG_APM_POWER=m +CONFIG_APPLE_AIRPORT=m +CONFIG_APPLE_GMUX=m +CONFIG_APPLICOM=m +CONFIG_APRICOT=m +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCMRING is not set +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CNS3XXX is not set +CONFIG_ARCH_CPU_PROBE_RELEASE=y +# CONFIG_ARCH_DAVINCI is not set +CONFIG_ARCH_DISCARD_MEMBLOCK=y +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_EBSA110 is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_EXYNOS is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_H720X is not set +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CPUFREQ=y +CONFIG_ARCH_HAS_CPU_AUTOPROBE=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_HAS_ILOG2_U32=y +CONFIG_ARCH_HAS_ILOG2_U64=y +CONFIG_ARCH_HAS_OPP=y +CONFIG_ARCH_HAS_WALK_MEMORY=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_LPC32XX is not set +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MEMORY_PROBE=y +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_MXS is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_NOMADIK is not set +CONFIG_ARCH_NR_GPIO=0 +# CONFIG_ARCH_OMAP1 is not set +# CONFIG_ARCH_OMAP2 is not set +CONFIG_ARCH_OMAP2PLUS=y +CONFIG_ARCH_OMAP2PLUS_TYPICAL=y +CONFIG_ARCH_OMAP3=y +# CONFIG_ARCH_OMAP4 is not set +CONFIG_ARCH_OMAP_OTG=y +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PICOXCELL is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PRIMA2 is not set +CONFIG_ARCH_PROC_KCORE_TEXT=y +# CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y +# CONFIG_ARCH_REALVIEW is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64X0 is not set +# CONFIG_ARCH_S5PC100 is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_SHMOBILE is not set +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_U300 is not set +# CONFIG_ARCH_U8500 is not set +CONFIG_ARCH_USES_PG_UNCACHED=y +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VT8500 is not set +# CONFIG_ARCH_W90X900 is not set +CONFIG_ARCH_WANTS_FREEZER_CONTROL=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +# CONFIG_ARCH_ZYNQ is not set +CONFIG_ARCNET=m +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=m +CONFIG_ARCNET_COM20020_CS=m +CONFIG_ARCNET_COM20020_ISA=m +CONFIG_ARCNET_COM20020_PCI=m +CONFIG_ARCNET_COM90xx=m +CONFIG_ARCNET_COM90xxIO=m +CONFIG_ARCNET_RAW=m +CONFIG_ARCNET_RIM_I=m +CONFIG_ARM=y +CONFIG_ARM_AMBA=y +# CONFIG_ARM_APPENDED_DTB is not set +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_751472 is not set +CONFIG_ARM_ERRATA_754322=y +# CONFIG_ARM_ERRATA_754327 is not set +# CONFIG_ARM_ERRATA_764369 is not set +# CONFIG_ARM_EXYNOS4210_CPUFREQ is not set +# CONFIG_ARM_EXYNOS4X12_CPUFREQ is not set +# CONFIG_ARM_EXYNOS5250_CPUFREQ is not set +CONFIG_ARM_GIC=y +CONFIG_ARM_KPROBES_TEST=m +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_NR_BANKS=8 +CONFIG_ARM_OMAP2PLUS_CPUFREQ=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_SP805_WATCHDOG=m +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_TIMER_SP804=y +CONFIG_ARM_UNWIND=y +# CONFIG_ARPD is not set +CONFIG_ASHMEM=y +CONFIG_ASUS_LAPTOP=m +CONFIG_ASUS_NB_WMI=m +CONFIG_ASUS_OLED=m +CONFIG_ASUS_WMI=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_RAID6_TEST=m +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_ASYNC_XOR=m +CONFIG_AT1700=m +CONFIG_AT76C50X_USB=m +CONFIG_ATA=y +CONFIG_ATAGS_PROC=y +CONFIG_ATALK=m +CONFIG_ATA_ACPI=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_SFF=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH5K_PCI=y +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_ATH6KL_SDIO=m +CONFIG_ATH6KL_USB=m +CONFIG_ATH9K=m +CONFIG_ATH9K_AHB=y +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_DEBUGFS=y +# CONFIG_ATH9K_DFS_CERTIFIED is not set +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HTC_DEBUGFS=y +CONFIG_ATH9K_HW=m +# CONFIG_ATH9K_MAC_DEBUG is not set +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_RATE_CONTROL=y +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m +CONFIG_ATL2=m +CONFIG_ATM=m +CONFIG_ATMEL=m +CONFIG_ATMEL_PWM=m +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_BR2684=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_DRIVERS=y +CONFIG_ATM_DUMMY=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_FORE200E=m +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_FORE200E_TX_RETRY=16 +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_HE=m +CONFIG_ATM_HE_USE_SUNI=y +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_LANAI=m +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +CONFIG_ATM_SOLOS=m +CONFIG_ATM_TCP=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ATP=m +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set +CONFIG_AUDIT_TREE=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUFS_BDEV_LOOP=y +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +# CONFIG_AUFS_BRANCH_MAX_511 is not set +CONFIG_AUFS_BR_FUSE=y +CONFIG_AUFS_BR_HFSPLUS=y +CONFIG_AUFS_BR_RAMFS=y +# CONFIG_AUFS_DEBUG is not set +# CONFIG_AUFS_EXPORT is not set +CONFIG_AUFS_FS=m +# CONFIG_AUFS_HNOTIFY is not set +CONFIG_AUFS_POLL=y +# CONFIG_AUFS_PROC_MAP is not set +# CONFIG_AUFS_RDU is not set +CONFIG_AUFS_SBILIST=y +# CONFIG_AUFS_SHWH is not set +# CONFIG_AUFS_SP_IATTR is not set +CONFIG_AUTOFS4_FS=m +# CONFIG_AUTO_ZRELADDR is not set +CONFIG_AVERAGE=y +CONFIG_AX25=m +CONFIG_AX88796=m +# CONFIG_AX88796_93CX6 is not set +CONFIG_B43=m +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_DEBUG=y +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +CONFIG_B43LEGACY_HWRNG=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PIO=y +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_B43_BCMA=y +# CONFIG_B43_BCMA_EXTRA is not set +CONFIG_B43_BCMA_PIO=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43_HWRNG=y +CONFIG_B43_LEDS=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCI_AUTOSELECT=y +# CONFIG_B43_PCMCIA is not set +CONFIG_B43_PHY_HT=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PIO=y +# CONFIG_B43_SDIO is not set +CONFIG_B43_SSB=y +CONFIG_B44=m +CONFIG_B44_PCI=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_BACKLIGHT_88PM860X=m +CONFIG_BACKLIGHT_AAT2870=m +CONFIG_BACKLIGHT_ADP5520=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ATMEL_PWM=m +CONFIG_BACKLIGHT_CARILLO_RANCH=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_DA9052=m +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_LM3533=m +CONFIG_BACKLIGHT_LP855X=m +CONFIG_BACKLIGHT_MAX8925=m +CONFIG_BACKLIGHT_PANDORA=m +CONFIG_BACKLIGHT_PCF50633=m +CONFIG_BACKLIGHT_PROGEAR=m +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_BATMAN_ADV=m +CONFIG_BATMAN_ADV_BLA=y +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_DA9030=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2781=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_INTEL_MID=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_PMU=m +CONFIG_BATTERY_SBS=m +CONFIG_BAYCOM_EPP=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCH_CONST_M=14 +CONFIG_BCH_CONST_PARAMS=y +CONFIG_BCH_CONST_T=4 +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_POSSIBLE=y +CONFIG_BCM_WIMAX=m +# CONFIG_BDI_SWITCH is not set +CONFIG_BE2ISCSI=m +CONFIG_BE2NET=m +# CONFIG_BEFS_DEBUG is not set +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BINARY_PRINTF=y +CONFIG_BINFMT_AOUT=m +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_MISC=m +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CPQ_CISS_DA=m +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_3W_XXXX_RAID=m +# CONFIG_BLK_DEV_AEC62XX is not set +# CONFIG_BLK_DEV_ALI15X3 is not set +# CONFIG_BLK_DEV_AMD74XX is not set +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BLK_DEV_CMD64X=m +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m +# CONFIG_BLK_DEV_CS5520 is not set +# CONFIG_BLK_DEV_CS5530 is not set +CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_DELKIN is not set +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_GENERIC is not set +# CONFIG_BLK_DEV_HD is not set +# CONFIG_BLK_DEV_HPT366 is not set +CONFIG_BLK_DEV_IDECD=y +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y +# CONFIG_BLK_DEV_IDECS is not set +CONFIG_BLK_DEV_IDEDMA=y +CONFIG_BLK_DEV_IDEDMA_PCI=y +CONFIG_BLK_DEV_IDEDMA_SFF=y +CONFIG_BLK_DEV_IDEPCI=y +# CONFIG_BLK_DEV_IDETAPE is not set +CONFIG_BLK_DEV_IDE_PMAC=y +CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_IO_TRACE=y +# CONFIG_BLK_DEV_IT8172 is not set +# CONFIG_BLK_DEV_IT8213 is not set +# CONFIG_BLK_DEV_IT821X is not set +# CONFIG_BLK_DEV_JMICRON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NS87415 is not set +CONFIG_BLK_DEV_NVME=m +# CONFIG_BLK_DEV_OPTI621 is not set +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_BLK_DEV_PIIX is not set +# CONFIG_BLK_DEV_PLATFORM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_BLK_DEV_RBD=m +# CONFIG_BLK_DEV_SC1200 is not set +CONFIG_BLK_DEV_SD=y +# CONFIG_BLK_DEV_SIIMAGE is not set +# CONFIG_BLK_DEV_SL82C105 is not set +# CONFIG_BLK_DEV_SLC90E66 is not set +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SVWKS is not set +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_TC86C001 is not set +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_TRM290 is not set +CONFIG_BLK_DEV_UB=m +CONFIG_BLK_DEV_UMEM=m +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_BLK_DEV_XD is not set +# CONFIG_BLK_DEV_XIP is not set +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +CONFIG_BMAC=m +CONFIG_BMP085=y +CONFIG_BMP085_I2C=m +CONFIG_BMP085_SPI=m +CONFIG_BNA=m +CONFIG_BNX2=m +CONFIG_BNX2X=m +CONFIG_BOARD_TPCI200=m +CONFIG_BONDING=m +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTX_TEXT is not set +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOUNCE=y +CONFIG_BPF_JIT=y +CONFIG_BPQETHER=m +CONFIG_BQL=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_BRCMDBG is not set +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_SDIO=y +CONFIG_BRCMFMAC_SDIO_OOB=y +CONFIG_BRCMFMAC_USB=y +CONFIG_BRCMSMAC=m +CONFIG_BRCMUTIL=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +# CONFIG_BRIDGE_EBT_ULOG is not set +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BROADCOM_PHY=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BT=m +CONFIG_BTREE=y +CONFIG_BTRFS_FS=m +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +CONFIG_BT_ATH3K=m +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_CMTP=m +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_WILINK=m +CONFIG_BUG=y +CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_C101=m +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set +CONFIG_CACHE_PL310=y +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_HSI=m +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_SPI_SLAVE=m +# CONFIG_CAIF_SPI_SYNC is not set +CONFIG_CAIF_TTY=m +CONFIG_CAIF_USB=m +CONFIG_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_CAN=m +CONFIG_CAN_BCM=m +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PLATFORM=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_EMS_PCMCIA=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_GW=m +CONFIG_CAN_JANZ_ICAN3=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MSCAN=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCMCIA=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_PM_TRACE=y +CONFIG_CAN_RAW=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_OF_PLATFORM=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=m +CONFIG_CAN_TI_HECC=m +CONFIG_CAN_TSCAN1=m +CONFIG_CAN_VCAN=m +CONFIG_CAPI_AVM=y +CONFIG_CAPI_EICON=y +CONFIG_CAPI_TRACE=y +CONFIG_CARDBUS=y +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_CARL9170=m +# CONFIG_CARL9170_DEBUGFS is not set +CONFIG_CARL9170_HWRNG=y +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARMINE_DRAM_CUSTOM is not set +CONFIG_CASSINI=m +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_CBE_CPUFREQ_SPU_GOVERNOR=m +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CC_STACKPROTECTOR=y +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +# CONFIG_CELL_CPU is not set +CONFIG_CEPH_FS=m +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_CFG80211=m +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_CFQ_GROUP_IOSCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_MEM_RES_CTLR=y +# CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_SCHED=y +CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_LP8727=m +CONFIG_CHARGER_MANAGER=y +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_SMB347=m +CONFIG_CHARGER_TWL4030=m +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_CHR_DEV_OSST=m +CONFIG_CHR_DEV_SCH=m +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_ST=m +CONFIG_CICADA_PHY=y +CONFIG_CIFS=m +CONFIG_CIFS_ACL=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CISS_SCSI_TAPE=y +CONFIG_CLKBLD_I8253=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKEVT_I8253=y +CONFIG_CLKSRC_I8253=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +CONFIG_CLZ_TAB=y +CONFIG_CMA=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CMDLINE="" +# CONFIG_CMDLINE_BOOL is not set +CONFIG_CMM=y +CONFIG_CNIC=m +CONFIG_CODA_FS=m +# CONFIG_CODE_PATCHING_SELFTEST is not set +CONFIG_COMEDI=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_ACL7225B=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_DIO200_ISA=m +CONFIG_COMEDI_AMPLC_DIO200_PCI=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC236_ISA=m +CONFIG_COMEDI_AMPLC_PC236_PCI=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PC263_ISA=m +CONFIG_COMEDI_AMPLC_PC263_PCI=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_DAS08_ISA=m +CONFIG_COMEDI_DAS08_PCI=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DAS800=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_FC=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_ISA_DRIVERS=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL725=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCM3730=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_POC=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_DEBUG is not set +CONFIG_COMPAL_LAPTOP=m +CONFIG_COMPAT=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_COMPAT_BRK is not set +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +# CONFIG_COMPAT_VDSO is not set +CONFIG_CONFIGFS_FS=m +CONFIG_CONNECTOR=y +CONFIG_CONSOLE_POLL=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_COPS=m +CONFIG_COPS_DAYNA=y +CONFIG_COPS_TANGENT=y +CONFIG_CORDIC=m +CONFIG_COSA=m +# CONFIG_CPA_DEBUG is not set +CONFIG_CPU5_WDT=m +CONFIG_CPUSETS=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +# CONFIG_CPU_DCACHE_DISABLE is not set +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_MAPLE=y +CONFIG_CPU_FREQ_PMAC=y +CONFIG_CPU_FREQ_PMAC64=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_HAS_PMU=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRAMFS=m +CONFIG_CRC16=y +CONFIG_CRC32=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CRC7=m +CONFIG_CRC8=m +CONFIG_CRC_CCITT=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC_T10DIF=y +CONFIG_CROSS_COMPILE="" +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_586=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_AES_X86_64=m +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAMELLIA_X86_64=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32C_INTEL=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEV_GEODE=m +CONFIG_CRYPTO_DEV_HIFN_795X=m +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y +CONFIG_CRYPTO_DEV_NX=m +CONFIG_CRYPTO_DEV_OMAP_AES=m +CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_PADLOCK=y +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SALSA20_586=m +CONFIG_CRYPTO_SALSA20_X86_64=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SERPENT_SSE2_586=m +CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_586=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYSTALHD=m +# CONFIG_CS5535_MFGPT is not set +CONFIG_CS89x0=m +CONFIG_CS89x0_PLATFORM=y +CONFIG_CUSE=m +CONFIG_CXT1E1=m +CONFIG_CYCLADES=m +CONFIG_CYCLADES_SYNC=m +CONFIG_CYCLOMX_X25=y +# CONFIG_CYZ_INTR is not set +CONFIG_DA9052_WATCHDOG=m +CONFIG_DAVICOM_PHY=y +CONFIG_DCA=m +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DCB=y +CONFIG_DCDBAS=m +CONFIG_DDR=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_DE4X5=m +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DEBUGGER=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLK_CGROUP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_BOOT_PARAMS is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_DEBUG_HIGHBANK_UART=y +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_NMI_SELFTEST is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_NX_TEST is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DECNET=m +CONFIG_DECNET_NF_GRABULATOR=m +# CONFIG_DECNET_ROUTER is not set +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_XZ=y +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_CUBIC=y +CONFIG_DEFAULT_DEADLINE=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_DEFAULT_IO_DELAY_TYPE=1 +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +# CONFIG_DEFAULT_NOOP is not set +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_SECURITY="apparmor" +CONFIG_DEFAULT_SECURITY_APPARMOR=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_SMACK is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_YAMA is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DEFAULT_UIMAGE is not set +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_DEFXX=m +# CONFIG_DEFXX_MMIO is not set +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_RBU=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_DEPCA=m +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +# CONFIG_DEVKMEM is not set +CONFIG_DEVPORT=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEV_APPLETALK=m +CONFIG_DE_AOC=y +CONFIG_DIRECT_GBPAGES=y +CONFIG_DL2K=m +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DM9000=m +# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set +CONFIG_DM9102=m +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMAR_TABLE=y +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_ENGINE=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +CONFIG_DM_BUFIO=m +CONFIG_DM_CRYPT=m +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_LOG_USERSPACE is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_RAID=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_UEVENT=y +# CONFIG_DM_VERITY is not set +CONFIG_DM_ZERO=m +CONFIG_DNET=m +CONFIG_DNOTIFY=y +CONFIG_DNS_RESOLVER=y +CONFIG_DONGLE=y +CONFIG_DOUBLEFAULT=y +CONFIG_DQL=y +CONFIG_DRAGONRISE_FF=y +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_DRM=m +# CONFIG_DRM_AST is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +CONFIG_DRM_GMA3600=y +CONFIG_DRM_GMA500=m +CONFIG_DRM_GMA600=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_I810=m +CONFIG_DRM_I915=m +CONFIG_DRM_I915_HSW=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_MEDFIELD=y +CONFIG_DRM_MGA=m +# CONFIG_DRM_MGAG200 is not set +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y +# CONFIG_DRM_OMAP is not set +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_SIS=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_TTM=m +CONFIG_DRM_UDL=m +CONFIG_DRM_USB=m +CONFIG_DRM_VIA=m +CONFIG_DRM_VMWGFX=m +CONFIG_DS1682=m +CONFIG_DSCC4=m +CONFIG_DSCC4_PCISYNC=y +CONFIG_DSCC4_PCI_RST=y +# CONFIG_DT3155_CCIR is not set +CONFIG_DT3155_STREAMING=y +CONFIG_DTC=y +CONFIG_DTL=y +CONFIG_DTLK=m +CONFIG_DUMMY=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_DVB_A8293=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_AF9033=m +CONFIG_DVB_AS102=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_B2C2_FLEXCOP=m +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_BT8XX=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET_PATCH=m +CONFIG_DVB_CAPTURE_DRIVERS=y +CONFIG_DVB_CORE=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_CXD2099=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_DDBRIDGE=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_DIB9000=m +CONFIG_DVB_DM1105=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_DRXK=m +CONFIG_DVB_DS3000=m +# CONFIG_DVB_DUMMY_FE is not set +CONFIG_DVB_DYNAMIC_MINORS=y +CONFIG_DVB_EC100=m +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y +CONFIG_DVB_HD29L2=m +CONFIG_DVB_HOPPER=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_IT913X_FE=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_L64781=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGS8GL5=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_MB86A16=m +CONFIG_DVB_MB86A20S=m +CONFIG_DVB_MT312=m +CONFIG_DVB_MT352=m +CONFIG_DVB_NET=y +CONFIG_DVB_NGENE=m +CONFIG_DVB_NXT200X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_PLL=m +CONFIG_DVB_PLUTO2=m +CONFIG_DVB_PT1=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_S5H1411=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_S5H1432=m +CONFIG_DVB_S921=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STV0297=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_TDA10071=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_USB=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_CXUSB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_VES1820=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_ZL10353=m +CONFIG_DW_APB_TIMER=y +CONFIG_DW_DMAC=m +CONFIG_DW_WATCHDOG=m +CONFIG_DX_SEP=m +# CONFIG_DYNAMIC_DEBUG is not set +CONFIG_DYNAMIC_FTRACE=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +# CONFIG_E200 is not set +CONFIG_E2100=m +CONFIG_EARLY_PRINTK=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_INTEL_MID=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_ECHO=m +CONFIG_ECRYPT_FS=y +CONFIG_EDAC_AMD64=m +# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_AMD76X=m +CONFIG_EDAC_AMD8111=m +CONFIG_EDAC_AMD8131=m +CONFIG_EDAC_CPC925=m +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_HIGHBANK_L2=y +CONFIG_EDAC_HIGHBANK_MC=y +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7300=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I82860=m +CONFIG_EDAC_I82875P=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_MCE_INJ=m +CONFIG_EDAC_PASEMI=m +CONFIG_EDAC_R82600=m +CONFIG_EDAC_SBRIDGE=m +CONFIG_EDAC_X38=m +CONFIG_EDD=y +CONFIG_EDD_OFF=y +CONFIG_EEEPC_LAPTOP=m +CONFIG_EEEPC_WMI=m +CONFIG_EEH=y +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEXPRESS=m +CONFIG_EEXPRESS_PRO=m +CONFIG_EFI=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_STUB=y +CONFIG_EFI_VARS=y +CONFIG_EFS_FS=m +CONFIG_EHEA=m +CONFIG_EISA=y +CONFIG_EISA_NAMES=y +CONFIG_EISA_PCI_EISA=y +CONFIG_EISA_VIRTUAL_ROOT=y +CONFIG_EISA_VLB_PRIMING=y +CONFIG_EL1=m +CONFIG_EL16=m +CONFIG_EL2=m +CONFIG_EL3=m +CONFIG_ELECTRA_CF=m +CONFIG_ELF_CORE=y +CONFIG_ELPLUS=m +# CONFIG_EMBEDDED is not set +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ENCRYPTED_KEYS=y +CONFIG_ENIC=m +# CONFIG_EPAPR_BOOT is not set +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_ES3210=m +CONFIG_ESI_DONGLE=m +CONFIG_ET131X=m +CONFIG_ETH16I=m +CONFIG_ETHERNET=y +CONFIG_ETHOC=m +CONFIG_EUROTECH_WDT=m +CONFIG_EVENTFD=y +CONFIG_EVENT_POWER_TRACING_DEPRECATED=y +CONFIG_EVENT_TRACING=y +CONFIG_EWRK3=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_EXOFS_FS=m +CONFIG_EXPERIMENTAL=y +CONFIG_EXPERT=y +CONFIG_EXPORTFS=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT2_FS_XATTR=y +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_DEFAULTS_TO_ORDERED=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXTCON=m +CONFIG_EXTCON_GPIO=m +CONFIG_EXTCON_MAX8997=m +CONFIG_EXTRA_FIRMWARE="" +CONFIG_EXTRA_TARGETS="" +CONFIG_EXYNOS_VIDEO=y +CONFIG_F71808E_WDT=m +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_FARSYNC=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAULT_INJECTION is not set +CONFIG_FA_DUMP=y +CONFIG_FB=y +# CONFIG_FB_3DFX_ACCEL is not set +CONFIG_FB_3DFX_I2C=y +CONFIG_FB_ARC=m +CONFIG_FB_ARK=m +CONFIG_FB_ARMCLCD=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128_BACKLIGHT=y +CONFIG_FB_ATY_BACKLIGHT=y +CONFIG_FB_ATY_CT=y +CONFIG_FB_ATY_GENERIC_LCD=y +CONFIG_FB_ATY_GX=y +CONFIG_FB_AUO_K1900=m +CONFIG_FB_AUO_K1901=m +CONFIG_FB_AUO_K190X=m +CONFIG_FB_BROADSHEET=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CARMINE_DRAM_EVAL=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_CIRRUS=m +CONFIG_FB_CONTROL=y +CONFIG_FB_CT65550=y +CONFIG_FB_CYBER2000=m +CONFIG_FB_CYBER2000_DDC=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_EFI=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_GEODE=y +CONFIG_FB_GEODE_GX=m +CONFIG_FB_GEODE_GX1=m +CONFIG_FB_GEODE_LX=m +CONFIG_FB_HECUBA=m +CONFIG_FB_HGA=m +CONFIG_FB_I740=m +CONFIG_FB_I810=m +# CONFIG_FB_I810_GTF is not set +CONFIG_FB_IBM_GXT4500=m +CONFIG_FB_IMSTT=y +CONFIG_FB_INTEL=m +# CONFIG_FB_INTEL_DEBUG is not set +CONFIG_FB_INTEL_I2C=y +CONFIG_FB_KYRO=m +CONFIG_FB_LE80578=m +CONFIG_FB_MATROX=m +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_I2C=m +CONFIG_FB_MATROX_MAVEN=m +CONFIG_FB_MATROX_MILLENIUM=y +CONFIG_FB_MATROX_MYSTIQUE=y +CONFIG_FB_MB862XX=m +CONFIG_FB_MB862XX_I2C=y +# CONFIG_FB_MB862XX_LIME is not set +CONFIG_FB_MB862XX_PCI_GDC=y +CONFIG_FB_METRONOME=m +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_N411=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_NVIDIA_BACKLIGHT=y +# CONFIG_FB_NVIDIA_DEBUG is not set +CONFIG_FB_NVIDIA_I2C=y +CONFIG_FB_OF=y +CONFIG_FB_OMAP2=y +CONFIG_FB_OMAP2_DEBUG_SUPPORT=y +CONFIG_FB_OMAP2_NUM_FBS=3 +CONFIG_FB_PLATINUM=y +CONFIG_FB_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_PM3=m +CONFIG_FB_PS3=y +CONFIG_FB_PS3_DEFAULT_SIZE_M=9 +CONFIG_FB_RADEON_BACKLIGHT=y +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_RADEON_I2C=y +CONFIG_FB_RIVA=m +CONFIG_FB_RIVA_BACKLIGHT=y +# CONFIG_FB_RIVA_DEBUG is not set +CONFIG_FB_RIVA_I2C=y +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_S3_DDC=y +CONFIG_FB_SAVAGE=m +CONFIG_FB_SAVAGE_ACCEL=y +CONFIG_FB_SAVAGE_I2C=y +CONFIG_FB_SIS=m +CONFIG_FB_SIS_300=y +CONFIG_FB_SIS_315=y +CONFIG_FB_SM501=m +CONFIG_FB_SM7XX=m +CONFIG_FB_SMSCUFX=m +CONFIG_FB_TMIO=m +CONFIG_FB_TMIO_ACCELL=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UDL=m +CONFIG_FB_UVESA=m +CONFIG_FB_VALKYRIE=y +CONFIG_FB_VESA=m +CONFIG_FB_VGA16=m +CONFIG_FB_VIA=m +# CONFIG_FB_VIA_DIRECT_PROCFS is not set +CONFIG_FB_VIA_X_COMPATIBILITY=y +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VT8623=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FB_XGI=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +CONFIG_FILE_LOCKING=y +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIREWIRE_OHCI=m +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FLATMEM=y +CONFIG_FLATMEM_MANUAL=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_FONT_10x18 is not set +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FONT_ACORN_8x8=y +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_SUN8x16 is not set +CONFIG_FORCEDETH=m +# CONFIG_FPE_FASTFPE is not set +# CONFIG_FPE_NWFPE_XP is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +CONFIG_FSCACHE_HISTOGRAM=y +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_FSCACHE_STATS=y +CONFIG_FSL_LBC=y +# CONFIG_FSL_ULI1575 is not set +CONFIG_FSNOTIFY=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FT1000=m +CONFIG_FT1000_PCMCIA=m +CONFIG_FT1000_USB=m +# CONFIG_FTGMAC100 is not set +CONFIG_FTL=m +# CONFIG_FTMAC100 is not set +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +# CONFIG_FTR_FIXUP_SELFTEST is not set +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_FUJITSU_TABLET=m +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FUSE_FS=y +CONFIG_FUSION=y +CONFIG_FUSION_CTL=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_LAN=m +CONFIG_FUSION_LOGGING=y +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_SAS=m +CONFIG_FUSION_SPI=m +CONFIG_FUTEX=y +CONFIG_FW_LOADER=y +CONFIG_GACT_PROB=y +CONFIG_GADGET_UAC1=y +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GARP=m +CONFIG_GART_IOMMU=y +# CONFIG_GCOV_KERNEL is not set +CONFIG_GELIC_NET=m +CONFIG_GELIC_WIRELESS=y +CONFIG_GENERIC_ACL=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU=y +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IO=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_NVRAM=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_TBSYNC=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_TRACER=y +CONFIG_GEOS=y +# CONFIG_GE_FPGA is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_GIGASET_BASE=m +# CONFIG_GIGASET_CAPI is not set +# CONFIG_GIGASET_DEBUG is not set +# CONFIG_GIGASET_DUMMYLL is not set +CONFIG_GIGASET_I4L=y +CONFIG_GIGASET_M101=m +CONFIG_GIGASET_M105=m +CONFIG_GIRBIL_DONGLE=m +# CONFIG_GOOGLE_FIRMWARE is not set +CONFIG_GPIOLIB=y +CONFIG_GPIO_74X164=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_CS5535=m +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_ICH=m +CONFIG_GPIO_INTEL_PMIC=y +CONFIG_GPIO_IT8761E=m +CONFIG_GPIO_JANZ_TTL=m +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MAX730X=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_ML_IOH=m +CONFIG_GPIO_MSIC=y +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_PCH=m +CONFIG_GPIO_PL061=y +CONFIG_GPIO_RC5T583=y +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SX150X=y +CONFIG_GPIO_TC3589X=y +CONFIG_GPIO_TIMBERDALE=y +CONFIG_GPIO_TPS65910=y +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_UCB1400=y +CONFIG_GPIO_VX855=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_WM8350=m +CONFIG_GPIO_WM8994=m +CONFIG_GPIO_XILINX=y +CONFIG_GREENASIA_FF=y +CONFIG_HAMACHI=m +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAPPYMEAL=m +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +# CONFIG_HAS_RAPIDIO is not set +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARM_SCU=y +CONFIG_HAVE_ARM_TWD=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_HAVE_BPF_JIT=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_MSI=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_HAVE_MTD_OTP=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_PWM=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_SYSCALL_WRAPPERS=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +# CONFIG_HCALL_STATS is not set +CONFIG_HDLC=m +CONFIG_HDLC_CISCO=m +CONFIG_HDLC_FR=m +CONFIG_HDLC_PPP=m +CONFIG_HDLC_RAW=m +CONFIG_HDLC_RAW_ETH=m +CONFIG_HDLC_X25=m +CONFIG_HDQ_MASTER_OMAP=m +# CONFIG_HEADERS_CHECK is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_HERMES_PRISM is not set +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_HID=m +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_ELECOM=m +CONFIG_HID_EMS_FF=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GENERIC=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GYRATION=m +CONFIG_HID_HOLTEK=m +CONFIG_HID_HYPERV_MOUSE=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PID=y +CONFIG_HID_PRIMAX=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAITEK=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_TIVO=m +CONFIG_HID_TOPSEED=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_WIIMOTE_EXT=y +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m +CONFIG_HIGHMEM=y +# CONFIG_HIGHMEM4G is not set +CONFIG_HIGHMEM64G=y +CONFIG_HIGHPTE=y +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_HIPPI is not set +CONFIG_HISAX_16_0=y +CONFIG_HISAX_16_3=y +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_ASUSCOM=y +CONFIG_HISAX_AVM_A1=y +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_BKM_A4T=y +# CONFIG_HISAX_DEBUG is not set +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_ENTERNOW_PCI=y +CONFIG_HISAX_EURO=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_FRITZ_PCIPNP=m +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_HFCS=y +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_HSTSAPHIR=y +CONFIG_HISAX_ISURF=y +CONFIG_HISAX_IX1MICROR2=y +CONFIG_HISAX_MAX_CARDS=8 +CONFIG_HISAX_MIC=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_NICCY=y +# CONFIG_HISAX_NO_KEYPAD is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_SPORTSTER=y +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_TELEINT=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_TELES_CS=m +CONFIG_HISAX_W6692=y +CONFIG_HMC6352=m +CONFIG_HOLTEK_FF=y +CONFIG_HOSTAP=m +CONFIG_HOSTAP_CS=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTESS_SV11=m +CONFIG_HOTPLUG=y +CONFIG_HOTPLUG_CPU=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_COMPAQ=m +CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_IBM=m +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI_RPA=m +CONFIG_HOTPLUG_PCI_RPA_DLPAR=m +CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HP100=m +CONFIG_HPET=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_HPET_MMAP=y +CONFIG_HPET_TIMER=y +CONFIG_HPFS_FS=m +CONFIG_HPLAN=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_HP_ACCEL=m +CONFIG_HP_ILO=m +CONFIG_HP_WATCHDOG=m +CONFIG_HP_WMI=m +CONFIG_HSI=m +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HTC_PASIC3=m +CONFIG_HT_IRQ=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y +CONFIG_HVCS=m +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_OLD_HVSI=y +CONFIG_HVC_OPAL=y +CONFIG_HVC_RTAS=y +CONFIG_HVC_UDBG=y +CONFIG_HVC_XEN=y +CONFIG_HVC_XEN_FRONTEND=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +# CONFIG_HWPOISON_INJECT is not set +CONFIG_HW_CONSOLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_AMD=m +# CONFIG_HW_RANDOM_ATMEL is not set +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_PASEMI=m +CONFIG_HW_RANDOM_PSERIES=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HYPERV=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_UTILS=m +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +CONFIG_I2C=y +CONFIG_I2C_ALGOPCA=m +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CORE is not set +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_EG20T=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_HYDRA=m +CONFIG_I2C_I801=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MPC=m +CONFIG_I2C_MUX=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_OMAP=y +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_PASEMI=m +CONFIG_I2C_PCA_ISA=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_POWERMAC=y +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_SCMI=m +CONFIG_I2C_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_SMBUS=m +CONFIG_I2C_STUB=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_XILINX=m +CONFIG_I2O=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_BUS=m +CONFIG_I2O_CONFIG=m +# CONFIG_I2O_CONFIG_OLD_IOCTL is not set +CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_EXT_ADAPTEC_DMA64=y +CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y +CONFIG_I2O_PROC=m +CONFIG_I2O_SCSI=m +CONFIG_I6300ESB_WDT=m +CONFIG_I7300_IDLE=m +CONFIG_I7300_IDLE_IOAT_CHANNEL=y +CONFIG_I82092=m +CONFIG_I82365=m +CONFIG_I8253_LOCK=y +CONFIG_I8K=m +# CONFIG_IA32_AOUT is not set +CONFIG_IA32_EMULATION=y +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_IBMVETH=m +CONFIG_IBMVIO=y +CONFIG_IBM_ASM=m +CONFIG_IBM_BSR=m +# CONFIG_IBM_EMAC_EMAC4 is not set +# CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_EMAC_MAL_COMMON_ERR is not set +# CONFIG_IBM_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_EMAC_RGMII is not set +# CONFIG_IBM_EMAC_TAH is not set +# CONFIG_IBM_EMAC_ZMII is not set +CONFIG_IBM_RTL=m +CONFIG_ICPLUS_PHY=y +CONFIG_ICS932S401=m +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_IDEPCI_PCIBUS_ORDER=y +CONFIG_IDE_ATAPI=y +CONFIG_IDE_GD=y +CONFIG_IDE_GD_ATA=y +# CONFIG_IDE_GD_ATAPI is not set +CONFIG_IDE_PHISON=m +CONFIG_IDE_PROC_FS=y +# CONFIG_IDE_TASK_IOCTL is not set +CONFIG_IDE_TIMINGS=y +CONFIG_IDE_XFER_MODE=y +CONFIG_IE6XX_WDT=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_DRIVERS=m +# CONFIG_IEEE802154_FAKEHARD is not set +CONFIG_IFB=m +CONFIG_IGB=m +CONFIG_IGBVF=m +CONFIG_IGB_DCA=y +# CONFIG_IGB_PTP is not set +CONFIG_IIO=m +CONFIG_IIO_BUFFER=y +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +CONFIG_IIO_GPIO_TRIGGER=m +CONFIG_IIO_KFIFO_BUF=m +CONFIG_IIO_PERIODIC_RTC_TRIGGER=m +CONFIG_IIO_SIMPLE_DUMMY=m +# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set +# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set +CONFIG_IIO_ST_HWMON=m +CONFIG_IIO_SW_RING=m +CONFIG_IIO_SYSFS_TRIGGER=m +CONFIG_IIO_TRIGGER=y +# CONFIG_IKCONFIG is not set +# CONFIG_IMA is not set +CONFIG_INET=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET_AH=m +CONFIG_INET_DCCP_DIAG=m +CONFIG_INET_DIAG=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_LRO=y +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INFINIBAND=m +CONFIG_INFINIBAND_ADDR_TRANS=y +CONFIG_INFINIBAND_AMSO1100=m +CONFIG_INFINIBAND_AMSO1100_DEBUG=y +CONFIG_INFINIBAND_CXGB3=m +# CONFIG_INFINIBAND_CXGB3_DEBUG is not set +CONFIG_INFINIBAND_CXGB4=m +CONFIG_INFINIBAND_EHCA=m +CONFIG_INFINIBAND_IPATH=m +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +CONFIG_INFINIBAND_IPOIB_DEBUG=y +# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_MTHCA=m +CONFIG_INFINIBAND_MTHCA_DEBUG=y +CONFIG_INFINIBAND_NES=m +# CONFIG_INFINIBAND_NES_DEBUG is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INFINIBAND_QIB=m +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_SRPT=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFINIBAND_USER_MEM=y +CONFIG_INFTL=m +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_INIT_PASS_ALL_PARAMS=y +# CONFIG_INLINE_READ_LOCK is not set +# CONFIG_INLINE_READ_LOCK_BH is not set +# CONFIG_INLINE_READ_LOCK_IRQ is not set +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set +# CONFIG_INLINE_READ_TRYLOCK is not set +CONFIG_INLINE_READ_UNLOCK=y +# CONFIG_INLINE_READ_UNLOCK_BH is not set +CONFIG_INLINE_READ_UNLOCK_IRQ=y +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_WRITE_LOCK is not set +# CONFIG_INLINE_WRITE_LOCK_BH is not set +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set +# CONFIG_INLINE_WRITE_TRYLOCK is not set +CONFIG_INLINE_WRITE_UNLOCK=y +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +CONFIG_INPUT_88PM860X_ONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_ADBHID=y +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_APMPOWER=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_DA9052_ONKEY=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_GP2A=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_GPIO_TILT_POLLED=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MAX8925_ONKEY=m +CONFIG_INPUT_MAX8997_HAPTIC=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_MPU3050=m +CONFIG_INPUT_PCAP=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_PWM_BEEPER=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INPUT_TWL4030_PWRBUTTON=m +CONFIG_INPUT_TWL4030_VIBRA=m +CONFIG_INPUT_TWL6040_VIBRA=m +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_WISTRON_BTNS=m +CONFIG_INPUT_WM831X_ON=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m +CONFIG_INPUT_YEALINK=m +CONFIG_INSTRUCTION_DECODER=y +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEL_IDLE=y +CONFIG_INTEL_IOATDMA=m +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IPS=m +CONFIG_INTEL_MEI=m +CONFIG_INTEL_MENLOW=m +CONFIG_INTEL_MFLD_THERMAL=m +CONFIG_INTEL_MID_DMAC=m +CONFIG_INTEL_MID_POWER_BUTTON=m +CONFIG_INTEL_MID_PTI=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_INTEL_SCU_IPC=y +CONFIG_INTEL_SCU_IPC_UTIL=m +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUG is not set +CONFIG_IOMMU_HELPER=y +# CONFIG_IOMMU_STRESS is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_CFQ=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_NOOP=y +# CONFIG_IO_DELAY_0X80 is not set +CONFIG_IO_DELAY_0XED=y +# CONFIG_IO_DELAY_NONE is not set +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +# CONFIG_IO_DELAY_UDELAY is not set +CONFIG_IO_EVENT_IRQ=y +CONFIG_IP1000=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IPACK_BUS=m +CONFIG_IPC_NS=y +CONFIG_IPDDP=m +CONFIG_IPDDP_DECAP=y +CONFIG_IPDDP_ENCAP=y +# CONFIG_IPIC is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_POWEROFF=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPPP_FILTER=y +CONFIG_IPV6=y +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPW2100=m +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2100_MONITOR=y +CONFIG_IPW2200=m +# CONFIG_IPW2200_DEBUG is not set +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPWIRELESS=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_MULTICAST=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +# CONFIG_IP_NF_QUEUE is not set +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_IP_PNP_BOOTP is not set +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_RARP is not set +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_SCTP=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_VS=m +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_PE_SIP=m +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_SCTP=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SH_TAB_BITS=8 +CONFIG_IP_VS_TAB_BITS=12 +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_WRR=m +CONFIG_IRCOMM=m +CONFIG_IRDA=m +CONFIG_IRLAN=m +CONFIG_IRNET=m +# CONFIG_IRQSOFF_TRACER is not set +CONFIG_IRQ_DOMAIN=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_REMAP=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_IRQ_WORK=y +CONFIG_IRTTY_SIR=m +CONFIG_IR_ENE=m +CONFIG_IR_FINTEK=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_IMON=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_ISAPNP=y +CONFIG_ISA_DMA_API=y +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_ISCSI_IBFT=m +CONFIG_ISCSI_IBFT_FIND=y +CONFIG_ISCSI_TARGET=m +CONFIG_ISCSI_TCP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIDRV=m +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_MAINT=m +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVERSION=m +CONFIG_ISDN_DRV_ACT2000=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_B1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_ISDN_DRV_AVMB1_T1ISA=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_ISDN_DRV_HISAX=m +CONFIG_ISDN_DRV_ICN=m +CONFIG_ISDN_DRV_LOOP=m +CONFIG_ISDN_DRV_PCBIT=m +CONFIG_ISDN_DRV_SC=m +CONFIG_ISDN_HDLC=m +CONFIG_ISDN_I4L=m +CONFIG_ISDN_MPP=y +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_TTY_FAX=y +CONFIG_ISDN_X25=y +CONFIG_ISI=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_ISO9660_FS=m +CONFIG_ISP1301_OMAP=m +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_ITCO_WDT=m +CONFIG_IWL3945=m +CONFIG_IWL4965=m +CONFIG_IWLEGACY=m +# CONFIG_IWLEGACY_DEBUG is not set +CONFIG_IWLEGACY_DEBUGFS=y +CONFIG_IWLWIFI=m +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEBUGFS=y +CONFIG_IWLWIFI_DEVICE_TESTMODE=y +CONFIG_IWLWIFI_DEVICE_TRACING=y +# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set +# CONFIG_IWLWIFI_P2P is not set +CONFIG_IWM=m +CONFIG_IWMC3200TOP=m +# CONFIG_IWMC3200TOP_DEBUG is not set +# CONFIG_IWM_DEBUG is not set +CONFIG_IWM_TRACING=y +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBEVF=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBE_DCB=y +CONFIG_IXGBE_HWMON=y +# CONFIG_IXGBE_PTP is not set +CONFIG_JBD=y +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +# CONFIG_JBD_DEBUG is not set +CONFIG_JFFS2_CMODE_FAVOURLZO=y +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_SUMMARY is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_STATISTICS=y +CONFIG_JME=m +CONFIG_JOLIET=y +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JUMP_LABEL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KDB_KEYBOARD=y +# CONFIG_KERNEL_BZIP2 is not set +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_XZ is not set +CONFIG_KEXEC_JUMP=y +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_QT1070=m +# CONFIG_KEYBOARD_QT2160 is not set +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_TWL4030=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +CONFIG_KGDB_KDB=y +CONFIG_KGDB_LOW_LEVEL_TRAP=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KINGSUN_DONGLE=m +CONFIG_KPROBES=y +# CONFIG_KPROBES_SANITY_TEST is not set +CONFIG_KPROBE_EVENT=y +CONFIG_KRETPROBES=y +CONFIG_KS0108=m +CONFIG_KS0108_DELAY=2 +CONFIG_KS0108_PORT=0x378 +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KS959_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KSZ884X_PCI=m +CONFIG_KTIME_SCALAR=y +CONFIG_KVM=m +CONFIG_KVM_AMD=m +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_ASYNC_PF=y +# CONFIG_KVM_BOOK3S_64 is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_KVM_INTEL=m +CONFIG_KVM_MMIO=y +# CONFIG_KVM_MMU_AUDIT is not set +CONFIG_KXSD9=m +CONFIG_L2TP=m +CONFIG_L2TP_DEBUGFS=m +# CONFIG_L2TP_V3 is not set +CONFIG_LANCE=m +CONFIG_LANMEDIA=m +CONFIG_LAPB=m +CONFIG_LAPBETHER=m +CONFIG_LBDAF=y +CONFIG_LCD_AMS369FG06=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LD9040=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_S6E63M0=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +# CONFIG_LDM_DEBUG is not set +CONFIG_LEDS=y +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_ASIC3=y +CONFIG_LEDS_ATMEL_PWM=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_DA903X=m +CONFIG_LEDS_DA9052=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_LM3533=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_MAX8997=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_NET48XX=m +CONFIG_LEDS_OT200=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_PCA9633=m +CONFIG_LEDS_PWM=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_RENESAS_TPU=y +CONFIG_LEDS_TCA6507=m +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +# CONFIG_LEDS_TRIGGER_IDE_DISK is not set +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_WM8350=m +CONFIG_LEDS_WRAP=m +CONFIG_LEGACY_PTYS=y +# CONFIG_LGUEST is not set +# CONFIG_LGUEST_GUEST is not set +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +CONFIG_LIB80211_CRYPT_WEP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_LIBCRC32C=m +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_CS=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_LIBIPW=m +CONFIG_LINE6_USB=m +# CONFIG_LINE6_USB_DEBUG is not set +# CONFIG_LINE6_USB_DUMP_CTRL is not set +# CONFIG_LINE6_USB_DUMP_MIDI is not set +# CONFIG_LINE6_USB_DUMP_PCM is not set +# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set +# CONFIG_LINE6_USB_RAW is not set +CONFIG_LIRC=m +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m +CONFIG_LIS3L02DQ_BUF_KFIFO=y +# CONFIG_LIS3L02DQ_BUF_RING_SW is not set +CONFIG_LITELINK_DONGLE=m +# CONFIG_LKDTM is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_LNE390=m +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCAL_TIMERS=y +CONFIG_LOCKD=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD_V4=y +CONFIG_LOCKUP_DETECTOR=y +# CONFIG_LOCK_STAT is not set +# CONFIG_LOGFS is not set +# CONFIG_LOGO is not set +CONFIG_LOOPBACK_TARGET=m +CONFIG_LOWMEM_SIZE=0x30000000 +CONFIG_LP486E=m +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +# CONFIG_LP_CONSOLE is not set +CONFIG_LRU_CACHE=m +CONFIG_LSI_ET1011C_PHY=y +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LTPC=m +CONFIG_LXT_PHY=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_M25PXX_USE_FAST_READ=y +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586MMX is not set +# CONFIG_M586TSC is not set +CONFIG_M686=y +CONFIG_MA600_DONGLE=m +CONFIG_MAC80211=m +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_DEBUG_COUNTERS is not set +CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_HT_DEBUG is not set +CONFIG_MAC80211_HWSIM=m +# CONFIG_MAC80211_IBSS_DEBUG is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_NOINLINE is not set +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +# CONFIG_MAC80211_RC_DEFAULT_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_PID=y +# CONFIG_MAC80211_TKIP_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MESH_SYNC_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MHWMP_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MPATH_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MPL_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_TDLS_DEBUG is not set +# CONFIG_MAC802154 is not set +CONFIG_MACE=m +# CONFIG_MACE_AAUI_PORT is not set +CONFIG_MACHZ_WDT=m +# CONFIG_MACH_CM_T35 is not set +CONFIG_MACH_CM_T3517=y +# CONFIG_MACH_CRANEBOARD is not set +# CONFIG_MACH_DEVKIT8000 is not set +CONFIG_MACH_IGEP0020=y +CONFIG_MACH_IGEP0030=y +CONFIG_MACH_NOKIA_RM680=y +# CONFIG_MACH_NOKIA_RX51 is not set +# CONFIG_MACH_OMAP3517EVM is not set +CONFIG_MACH_OMAP3530_LV_SOM=y +CONFIG_MACH_OMAP3EVM=y +CONFIG_MACH_OMAP3_BEAGLE=y +CONFIG_MACH_OMAP3_PANDORA=y +CONFIG_MACH_OMAP3_TORPEDO=y +CONFIG_MACH_OMAP3_TOUCHBOOK=y +CONFIG_MACH_OMAP_3430SDP=y +CONFIG_MACH_OMAP_3630SDP=y +CONFIG_MACH_OMAP_GENERIC=y +CONFIG_MACH_OMAP_LDP=y +CONFIG_MACH_OMAP_ZOOM2=y +CONFIG_MACH_OMAP_ZOOM3=y +CONFIG_MACH_OVERO=y +CONFIG_MACH_SBC3530=y +CONFIG_MACH_TI8148EVM=y +CONFIG_MACH_TI8168EVM=y +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_MAC_EMUMOUSEBTN=m +CONFIG_MAC_FLOPPY=m +CONFIG_MAGIC_SYSRQ=y +CONFIG_MANTIS_CORE=m +CONFIG_MARVELL_PHY=y +# CONFIG_MATH_EMULATION is not set +# CONFIG_MATOM is not set +CONFIG_MAX1363=m +CONFIG_MAX1363_RING_BUFFER=y +# CONFIG_MAX517 is not set +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAX8925_POWER=m +# CONFIG_MAXSMP is not set +# CONFIG_MCORE2 is not set +CONFIG_MCP2120_DONGLE=m +# CONFIG_MCRUSOE is not set +CONFIG_MCS_FIR=m +# CONFIG_MCYRIXIII is not set +CONFIG_MD=y +CONFIG_MDA_CONSOLE=m +CONFIG_MDIO=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_GPIO=m +CONFIG_MD_AUTODETECT=y +CONFIG_MD_FAULTY=m +CONFIG_MD_LINEAR=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_MEDIA_ATTACH=y +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_XC5000=m +# CONFIG_MEFFICEON is not set +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +# CONFIG_MELAN is not set +CONFIG_MEMORY=y +CONFIG_MEMORY_FAILURE=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_MEMSTICK_TIFM_MS=m +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MEMTEST=y +CONFIG_MFD_CORE=y +CONFIG_MFD_CS5535=m +CONFIG_MFD_DA9052_I2C=y +CONFIG_MFD_DA9052_SPI=y +CONFIG_MFD_INTEL_MSIC=y +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MC13XXX_SPI=m +CONFIG_MFD_OMAP_USB_HOST=y +CONFIG_MFD_PALMAS=y +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RDC321X=m +CONFIG_MFD_S5M_CORE=y +CONFIG_MFD_SM501=m +# CONFIG_MFD_SM501_GPIO is not set +CONFIG_MFD_TIMBERDALE=m +CONFIG_MFD_TPS65090=y +CONFIG_MFD_TPS65217=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TWL4030_AUDIO=y +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM8350=y +CONFIG_MFD_WM8400=y +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +CONFIG_MG_DISK=m +CONFIG_MG_DISK_RES=0 +CONFIG_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=y +CONFIG_MICROCODE=m +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_MIGRATION=y +CONFIG_MII=y +CONFIG_MINIX_FS=m +CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISDN=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_MISDN_L1OIP=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_W6692=m +CONFIG_MIXCOMWD=m +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +CONFIG_MKISS=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_EN_DCB=y +CONFIG_MLX4_INFINIBAND=m +CONFIG_MMC=y +CONFIG_MMC_ARMMMCI=m +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CB710=m +# CONFIG_MMC_CLKGATE is not set +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_DW=m +# CONFIG_MMC_DW_IDMAC is not set +CONFIG_MMC_DW_PLTFM=m +CONFIG_MMC_OMAP=m +CONFIG_MMC_OMAP_HS=y +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_ESDHC=m +CONFIG_MMC_SDHCI_OF_HLWD=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PXAV2=m +CONFIG_MMC_SDHCI_PXAV3=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_SPI=m +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_TMIO=m +CONFIG_MMC_TMIO_CORE=m +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MMC_USHC=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_WBSD=m +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_MMU=y +CONFIG_MMU_NOTIFIER=y +CONFIG_MM_OWNER=y +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_GPIO=m +# CONFIG_MOUSE_INPORT is not set +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_TOUCHKIT=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOXA_INTELLIO=m +CONFIG_MOXA_SMARTIO=m +# CONFIG_MPENTIUM4 is not set +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +CONFIG_MPIC=y +CONFIG_MPIC_BROKEN_REGREAD=y +CONFIG_MPIC_MSGR=y +# CONFIG_MPIC_WEIRD is not set +CONFIG_MPILIB=y +# CONFIG_MPSC is not set +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +# CONFIG_MSI_BITMAP_SELFTEST is not set +CONFIG_MSI_LAPTOP=m +CONFIG_MSI_WMI=m +CONFIG_MSPRO_BLOCK=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=m +CONFIG_MTD_AFS_PARTS=m +CONFIG_MTD_ALAUDA=m +CONFIG_MTD_AMD76XROM=m +CONFIG_MTD_AR7_PARTS=m +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CK804XROM=m +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +CONFIG_MTD_DOC2001PLUS=m +CONFIG_MTD_DOCECC=m +CONFIG_MTD_DOCG3=m +CONFIG_MTD_DOCPROBE=m +CONFIG_MTD_DOCPROBE_ADDRESS=0x0 +# CONFIG_MTD_DOCPROBE_ADVANCED is not set +CONFIG_MTD_ESB2ROM=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_GPIO_ADDR=m +CONFIG_MTD_ICHXROM=m +CONFIG_MTD_IMPA7=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_L440GX=m +CONFIG_MTD_LATCH_ADDR=m +CONFIG_MTD_LPDDR=m +CONFIG_MTD_M25P80=m +CONFIG_MTD_MAP_BANK_WIDTH_1=y +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND_CAFE=m +CONFIG_MTD_NAND_CS553X=m +CONFIG_MTD_NAND_DENALI=m +CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DOCG4=m +CONFIG_MTD_NAND_ECC_BCH=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND_FSL_ELBC=m +CONFIG_MTD_NAND_GPIO=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_NANDSIM=m +CONFIG_MTD_NAND_OMAP2=y +CONFIG_MTD_NAND_OMAP_BCH=y +# CONFIG_MTD_NAND_OMAP_BCH4 is not set +CONFIG_MTD_NAND_OMAP_BCH8=y +CONFIG_MTD_NAND_PASEMI=m +CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_TMIO=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +CONFIG_MTD_NETSC520=m +CONFIG_MTD_NETtel=m +CONFIG_MTD_ONENAND=m +CONFIG_MTD_ONENAND_2X_PROGRAM=y +CONFIG_MTD_ONENAND_GENERIC=m +CONFIG_MTD_ONENAND_OMAP2=m +# CONFIG_MTD_ONENAND_OTP is not set +CONFIG_MTD_ONENAND_SIM=m +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_OOPS=m +CONFIG_MTD_PCI=m +CONFIG_MTD_PCMCIA=m +# CONFIG_MTD_PCMCIA_ANONYMOUS is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_MTD_PHYSMAP_OF=m +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_RAM=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS=m +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +CONFIG_MTD_ROM=m +CONFIG_MTD_SBC_GXX=m +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_SCB2_FLASH=m +CONFIG_MTD_SCx200_DOCFLASH=m +CONFIG_MTD_SLRAM=m +CONFIG_MTD_SST25L=m +CONFIG_MTD_SWAP=m +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_TS5500=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_BEB_RESERVE=1 +CONFIG_MTD_UBI_GLUEBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MULTI_IRQ_HANDLER=y +CONFIG_MV643XX_ETH=m +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +CONFIG_MWAVE=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m +# CONFIG_MWINCHIP3D is not set +# CONFIG_MWINCHIPC6 is not set +CONFIG_MWL8K=m +CONFIG_MXM_WMI=m +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_N2=m +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=y +CONFIG_NATSEMI=m +CONFIG_NCPFS_EXTRAS=y +CONFIG_NCPFS_IOCTL_LOCKING=y +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_NLS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_PACKET_SIGNING=y +# CONFIG_NCPFS_SMALLDOS is not set +CONFIG_NCPFS_STRONG=y +CONFIG_NCP_FS=m +CONFIG_NE2000=m +CONFIG_NE2K_PCI=m +CONFIG_NE3210=m +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEON=y +CONFIG_NET=y +CONFIG_NET5501=y +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETDEVICES=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETLABEL=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NETPRIO_CGROUP=m +CONFIG_NETROM=m +CONFIG_NETWORK_FILESYSTEMS=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETWORK_SECMARK=y +CONFIG_NETXEN_NIC=m +CONFIG_NET_9P=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_NET_9P_RDMA=m +CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_GACT=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_CLS=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_FW=m +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DCCPPROBE=m +# CONFIG_NET_DROP_MONITOR is not set +CONFIG_NET_DSA=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6123_61_65=m +CONFIG_NET_DSA_MV88E6131=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y +CONFIG_NET_DSA_TAG_DSA=y +CONFIG_NET_DSA_TAG_EDSA=y +CONFIG_NET_DSA_TAG_TRAILER=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_FC=y +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPIP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_NS=y +CONFIG_NET_PACKET_ENGINE=y +CONFIG_NET_PKTGEN=m +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_NET_SB1000=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCTPPROBE=m +CONFIG_NET_TCPPROBE=m +# CONFIG_NET_TEAM is not set +CONFIG_NET_TULIP=y +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_8390=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_APPLE=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EXAR=y +CONFIG_NET_VENDOR_FARADAY=y +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_NET_VENDOR_HP=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_IBM=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PASEMI=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_TOSHIBA=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NET_VENDOR_XILINX=y +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFC_HCI=m +# CONFIG_NFC_LLCP is not set +CONFIG_NFC_NCI=m +CONFIG_NFC_PN533=m +CONFIG_NFC_SHDLC=y +CONFIG_NFC_WILINK=m +CONFIG_NFSD=m +# CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_NFS_FS=m +CONFIG_NFS_FSCACHE=y +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +# CONFIG_NF_CONNTRACK_PROCFS is not set +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NI52=m +CONFIG_NI65=m +CONFIG_NILFS2_FS=m +CONFIG_NIU=m +CONFIG_NLATTR=y +CONFIG_NLS=y +CONFIG_NLS_ASCII=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m +CONFIG_NLS_UTF8=m +CONFIG_NODES_SPAN_OTHER_NODES=y +# CONFIG_NOHIGHMEM is not set +CONFIG_NOP_TRACER=y +CONFIG_NORTEL_HERMES=m +CONFIG_NOZOMI=m +CONFIG_NO_BOOTMEM=y +CONFIG_NO_HZ=y +CONFIG_NR_IRQS=512 +CONFIG_NS83820=m +CONFIG_NSC_FIR=m +CONFIG_NSC_GPIO=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_RW is not set +CONFIG_NUMA=y +# CONFIG_NUMA_EMU is not set +CONFIG_NV_TCO=m +# CONFIG_N_GSM is not set +CONFIG_N_HDLC=m +CONFIG_OABI_COMPAT=y +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_OCFS2_DEBUG_MASKLOG=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DEVICE=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_I2C=y +CONFIG_OF_IRQ=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +CONFIG_OF_NET=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +# CONFIG_OF_SELFTEST is not set +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_OLD_MCOUNT=y +CONFIG_OMAP2_DSS=y +# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set +CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y +CONFIG_OMAP2_DSS_DPI=y +# CONFIG_OMAP2_DSS_DSI is not set +CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 +# CONFIG_OMAP2_DSS_RFBI is not set +CONFIG_OMAP2_DSS_SDI=y +CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y +CONFIG_OMAP2_DSS_VENC=y +CONFIG_OMAP2_VRAM=y +CONFIG_OMAP2_VRAM_SIZE=16 +CONFIG_OMAP2_VRFB=y +CONFIG_OMAP3_EMU=y +# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set +# CONFIG_OMAP3_SDRC_AC_TIMING is not set +CONFIG_OMAP_32K_TIMER=y +CONFIG_OMAP_32K_TIMER_HZ=128 +CONFIG_OMAP_DM_TIMER=y +CONFIG_OMAP_IOMMU=y +# CONFIG_OMAP_IOVMM is not set +CONFIG_OMAP_MBOX_FWK=m +CONFIG_OMAP_MBOX_KFIFO_SIZE=256 +CONFIG_OMAP_MUX=y +# CONFIG_OMAP_MUX_DEBUG is not set +CONFIG_OMAP_MUX_WARNINGS=y +CONFIG_OMAP_PACKAGE_CBB=y +CONFIG_OMAP_PACKAGE_CBP=y +CONFIG_OMAP_PACKAGE_CUS=y +CONFIG_OMAP_PM_NOOP=y +CONFIG_OMAP_RESET_CLOCKS=y +# CONFIG_OMAP_SMARTREFLEX is not set +CONFIG_OMAP_WATCHDOG=m +CONFIG_OMFS_FS=m +CONFIG_OPENVSWITCH=m +CONFIG_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_OPROFILE_NMI_TIMER=y +CONFIG_OPTIMIZE_INLINING=y +CONFIG_OPTPROBES=y +CONFIG_ORE=m +CONFIG_ORINOCO_USB=m +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_OVERLAYFS_FS=m +CONFIG_P54_COMMON=m +CONFIG_P54_LEDS=y +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +# CONFIG_P54_SPI_DEFAULT_EEPROM is not set +CONFIG_P54_USB=m +CONFIG_PACKET=y +CONFIG_PADATA=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PANASONIC_LAPTOP=m +CONFIG_PANEL=m +CONFIG_PANEL_ACX565AKM=m +# CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_PANEL_GENERIC_DPI=y +CONFIG_PANEL_LGPHILIPS_LB035Q02=m +CONFIG_PANEL_NEC_NL8048HL11_01B=m +CONFIG_PANEL_PARPORT=0 +CONFIG_PANEL_PICODLP=m +CONFIG_PANEL_PROFILE=5 +CONFIG_PANEL_SHARP_LS037V7DW01=y +CONFIG_PANEL_TFP410=y +CONFIG_PANEL_TPO_TD043MTEA1=y +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANTHERLORD_FF=y +CONFIG_PARAVIRT=y +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_PARAVIRT_GUEST=y +CONFIG_PARAVIRT_SPINLOCKS=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_PARIDE=m +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_BPCK6=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_EPAT=m +# CONFIG_PARIDE_EPATC8 is not set +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PG=m +CONFIG_PARIDE_PT=m +CONFIG_PARPORT=m +CONFIG_PARPORT_AX88796=m +# CONFIG_PARPORT_GSC is not set +CONFIG_PARPORT_NOT_PC=y +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_PC_SUPERIO is not set +CONFIG_PARPORT_SERIAL=m +CONFIG_PARTITION_ADVANCED=y +# CONFIG_PASEMI_MAC is not set +CONFIG_PATA_ACPI=y +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARASAN_CF=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5535=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_ISAPNP=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_LEGACY=m +CONFIG_PATA_MACIO=y +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OF_PLATFORM=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_PLATFORM=m +CONFIG_PATA_QDI=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PATA_WINBOND_VLB=m +CONFIG_PC300TOO=m +CONFIG_PC8736x_GPIO=m +CONFIG_PC87413_WDT=m +CONFIG_PCCARD_NONSTATIC=y +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_PCH_CAN=m +CONFIG_PCH_DMA=m +CONFIG_PCH_GBE=m +CONFIG_PCH_PHUB=m +CONFIG_PCI=y +CONFIG_PCI200SYN=m +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +# CONFIG_PCIEASPM_POWERSAVE is not set +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIE_PME=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_ATMEL=m +CONFIG_PCI_ATS=y +CONFIG_PCI_BIOS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_DIRECT=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_GOANY=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GODIRECT is not set +# CONFIG_PCI_GOMMCONFIG is not set +CONFIG_PCI_IOAPIC=y +CONFIG_PCI_IOV=y +CONFIG_PCI_LABEL=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI=y +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCI_REALLOC_ENABLE_AUTO=y +CONFIG_PCI_STUB=m +CONFIG_PCI_XEN=y +CONFIG_PCMCIA=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_PCMCIA_AXNET=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_NINJA_SCSI=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_PROBE=y +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_RAYCS=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_PCNET32=m +CONFIG_PCSPKR_PLATFORM=y +CONFIG_PCWATCHDOG=m +CONFIG_PD6729=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +CONFIG_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PHANTOM=m +CONFIG_PHONE=m +CONFIG_PHONET=m +CONFIG_PHONE_IXJ=m +CONFIG_PHONE_IXJ_PCMCIA=m +CONFIG_PHYLIB=y +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_PID_NS=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +# CONFIG_PLAT_SPEAR is not set +CONFIG_PLIP=m +CONFIG_PLX_HERMES=m +CONFIG_PM=y +CONFIG_PMAC_APM_EMU=m +CONFIG_PMAC_BACKLIGHT=y +CONFIG_PMAC_BACKLIGHT_LEGACY=y +CONFIG_PMAC_MEDIABAY=y +CONFIG_PMAC_RACKMETER=m +CONFIG_PMAC_SMU=y +# CONFIG_PMBUS is not set +CONFIG_PMIC_DA9052=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_CLK=y +CONFIG_PM_OPP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_TEST_SUSPEND=y +CONFIG_PM_TRACE=y +CONFIG_PM_TRACE_RTC=y +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PN544_HCI_NFC=m +CONFIG_PN544_NFC=m +CONFIG_PNP=y +CONFIG_PNPACPI=y +CONFIG_PNPBIOS=y +CONFIG_PNPBIOS_PROC_FS=y +CONFIG_PNP_DEBUG_MESSAGES=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER3=y +CONFIG_POWER4=y +# CONFIG_POWER4_CPU is not set +# CONFIG_POWER5_CPU is not set +# CONFIG_POWER6_CPU is not set +# CONFIG_POWER7_CPU is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PPC=y +CONFIG_PPC32=y +# CONFIG_PPC601_SYNC_FIX is not set +# CONFIG_PPC_82xx is not set +# CONFIG_PPC_83xx is not set +# CONFIG_PPC_85xx is not set +# CONFIG_PPC_86xx is not set +# CONFIG_PPC_8xx is not set +# CONFIG_PPC_BOOK3E_64 is not set +CONFIG_PPC_BOOK3S=y +CONFIG_PPC_BOOK3S_32=y +CONFIG_PPC_BOOK3S_64=y +# CONFIG_PPC_CELLEB is not set +# CONFIG_PPC_CELL_NATIVE is not set +# CONFIG_PPC_CELL_QPACE is not set +CONFIG_PPC_CHRP=y +# CONFIG_PPC_CLOCK is not set +# CONFIG_PPC_DCR_MMIO is not set +# CONFIG_PPC_DCR_NATIVE is not set +CONFIG_PPC_DISABLE_WERROR=y +# CONFIG_PPC_EARLY_DEBUG is not set +# CONFIG_PPC_EMULATED_STATS is not set +CONFIG_PPC_EPAPR_HV_BYTECHAN=m +# CONFIG_PPC_EPAPR_HV_PIC is not set +CONFIG_PPC_FPU=y +CONFIG_PPC_HAS_HASH_64K=y +CONFIG_PPC_HAVE_PMU_SUPPORT=y +CONFIG_PPC_I8259=y +# CONFIG_PPC_IBM_CELL_BLADE is not set +CONFIG_PPC_ICSWX=y +CONFIG_PPC_ICSWX_PID=y +# CONFIG_PPC_ICSWX_USE_SIGILL is not set +CONFIG_PPC_MAPLE=y +# CONFIG_PPC_MPC512x is not set +# CONFIG_PPC_MPC52xx is not set +CONFIG_PPC_MSI_BITMAP=y +CONFIG_PPC_NATIVE=y +CONFIG_PPC_OF=y +CONFIG_PPC_OF_BOOT_TRAMPOLINE=y +# CONFIG_PPC_OF_PLATFORM_PCI is not set +CONFIG_PPC_PASEMI=y +CONFIG_PPC_PASEMI_CPUFREQ=y +CONFIG_PPC_PASEMI_IOMMU=y +# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set +CONFIG_PPC_PASEMI_MDIO=y +CONFIG_PPC_PCI_CHOICE=y +CONFIG_PPC_PERF_CTRS=y +CONFIG_PPC_PMAC=y +CONFIG_PPC_PMAC32_PSURGE=y +CONFIG_PPC_PMAC64=y +CONFIG_PPC_POWERNV=y +CONFIG_PPC_POWERNV_RTAS=y +CONFIG_PPC_PS3=y +CONFIG_PPC_PSERIES=y +CONFIG_PPC_RTAS=y +CONFIG_PPC_RTAS_DAEMON=y +CONFIG_PPC_SMP_MUXED_IPI=y +CONFIG_PPC_STD_MMU=y +CONFIG_PPC_STD_MMU_32=y +CONFIG_PPC_STD_MMU_64=y +CONFIG_PPC_SUBPAGE_PROT=y +CONFIG_PPC_UDBG_16550=y +# CONFIG_PPC_WSP is not set +CONFIG_PPDEV=m +CONFIG_PPP=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_MPPE=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPS=m +CONFIG_PPS_CLIENT_GPIO=m +# CONFIG_PPS_CLIENT_KTIMER is not set +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +# CONFIG_PPS_DEBUG is not set +CONFIG_PPTP=m +# CONFIG_PQ2ADS is not set +# CONFIG_PREEMPT is not set +CONFIG_PREEMPT_NOTIFIERS=y +# CONFIG_PREEMPT_RCU is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_PRINTER=m +CONFIG_PRINTK=y +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRINT_STACK_DEPTH=64 +CONFIG_PRISM2_USB=m +# CONFIG_PRISM54 is not set +CONFIG_PROBE_EVENTS=y +CONFIG_PROCESSOR_SELECT=y +CONFIG_PROC_DEVICETREE=y +CONFIG_PROC_EVENTS=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_VMCORE=y +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +CONFIG_PROFILING=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_PS3GELIC_UDBG is not set +# CONFIG_PS3_ADVANCED is not set +CONFIG_PS3_DISK=m +# CONFIG_PS3_DYNAMIC_DMA is not set +CONFIG_PS3_FLASH=m +CONFIG_PS3_HTAB_SIZE=20 +CONFIG_PS3_LPM=m +CONFIG_PS3_PS3AV=y +# CONFIG_PS3_REPOSITORY_WRITE is not set +CONFIG_PS3_ROM=m +CONFIG_PS3_STORAGE=m +CONFIG_PS3_SYS_MANAGER=y +CONFIG_PS3_VRAM=m +CONFIG_PS3_VUART=y +CONFIG_PSERIES_IDLE=y +CONFIG_PSERIES_MSI=y +CONFIG_PSTORE_RAM=m +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_QNX4FS_FS=m +# CONFIG_QNX6FS_DEBUG is not set +CONFIG_QNX6FS_FS=m +CONFIG_QSEMI_PHY=y +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +CONFIG_QUOTACTL_COMPAT=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_R3964=m +CONFIG_R6040=m +CONFIG_R8169=m +CONFIG_R8187SE=m +CONFIG_R8712U=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_AZTECH=m +CONFIG_RADIO_CADET=m +CONFIG_RADIO_GEMTEK=m +CONFIG_RADIO_ISA=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_MIROPCM20=m +CONFIG_RADIO_RTRACK=m +CONFIG_RADIO_RTRACK2=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_SF16FMI=m +CONFIG_RADIO_SF16FMR2=m +CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_TERRATEC=m +CONFIG_RADIO_TIMBERDALE=m +CONFIG_RADIO_TRUST=m +CONFIG_RADIO_TYPHOON=m +CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m +CONFIG_RADIO_ZOLTRIX=m +CONFIG_RAID6_PQ=m +CONFIG_RAID_ATTRS=m +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_CPS_GEN2=y +CONFIG_RAPIDIO_CPS_XX=y +# CONFIG_RAPIDIO_DEBUG is not set +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +CONFIG_RAPIDIO_DMA_ENGINE=y +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_TSI500=y +CONFIG_RAPIDIO_TSI568=y +CONFIG_RAPIDIO_TSI57X=y +CONFIG_RAPIDIO_TSI721=y +CONFIG_RAW_DRIVER=m +# CONFIG_RCU_CPU_STALL_INFO is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_FANOUT_EXACT is not set +CONFIG_RCU_FANOUT_LEAF=16 +CONFIG_RCU_FAST_NO_HZ=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RC_ATI_REMOTE=m +CONFIG_RC_CORE=m +CONFIG_RC_LOOPBACK=m +CONFIG_RC_MAP=m +CONFIG_RDS=m +# CONFIG_RDS_DEBUG is not set +CONFIG_RDS_RDMA=m +CONFIG_RDS_TCP=m +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_RD_XZ=y +# CONFIG_READABLE_ASM is not set +CONFIG_REALTEK_AUTOPM=y +CONFIG_REALTEK_PHY=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_SPI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_88PM8607=y +CONFIG_REGULATOR_AAT2870=m +CONFIG_REGULATOR_AB3100=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +# CONFIG_REGULATOR_DUMMY is not set +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8925=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_MAX8997=m +CONFIG_REGULATOR_MAX8998=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_PALMAS=m +# CONFIG_REGULATOR_PCAP is not set +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_S5M8767=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65090=m +CONFIG_REGULATOR_TPS65217=m +CONFIG_REGULATOR_TPS6524X=m +CONFIG_REGULATOR_TPS6586X=m +CONFIG_REGULATOR_TPS65910=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_TWL4030=y +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8350=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_WM8994=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_REISERFS_FS_XATTR=y +# CONFIG_REISERFS_PROC_INFO is not set +CONFIG_RELAY=y +CONFIG_RELOCATABLE=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_RFD_FTL=m +CONFIG_RFKILL=y +CONFIG_RFKILL_GPIO=m +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_RFS_ACCEL=y +CONFIG_RING_BUFFER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +CONFIG_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +CONFIG_ROCKETPORT=m +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +# CONFIG_ROMFS_BACKED_BY_MTD is not set +CONFIG_ROMFS_FS=m +CONFIG_ROMFS_ON_BLOCK=y +CONFIG_ROSE=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_RPS=y +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT2500USB=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00=m +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT61PCI=m +CONFIG_RT73USB=m +CONFIG_RTAS_ERROR_LOGGING=y +CONFIG_RTAS_PROC=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_DRV_88PM860X=m +CONFIG_RTC_DRV_AB3100=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_DA9052=m +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS1742=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_GENERIC=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_MAX8925=m +CONFIG_RTC_DRV_MAX8998=m +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_PCAP=m +CONFIG_RTC_DRV_PCF2123=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PS3=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_STK17TA8=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_VRTC=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_WM8350=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL8192CE=m +CONFIG_RTL8192CU=m +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192E=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192U=m +CONFIG_RTLLIB=m +CONFIG_RTLLIB_CRYPTO_CCMP=m +CONFIG_RTLLIB_CRYPTO_TKIP=m +CONFIG_RTLLIB_CRYPTO_WEP=m +CONFIG_RTLWIFI=m +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set +CONFIG_RTS_PSTOR=m +# CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RT_GROUP_SCHED=y +CONFIG_RT_MUTEXES=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_RXKAD=m +CONFIG_S2IO=m +# CONFIG_SAMPLES is not set +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_SAMSUNG_Q10=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_HIGHBANK=y +CONFIG_SATA_INIC162X=m +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PMP=y +CONFIG_SATA_PROMISE=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIL24=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SX4=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SBC7240_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_SBE_2T3E3=m +CONFIG_SBE_PMCC4_NCOMM=y +CONFIG_SBNI=m +# CONFIG_SBNI_MULTILINE is not set +# CONFIG_SBP_TARGET is not set +CONFIG_SC1200_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCANLOG=m +CONFIG_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_SCHED_TRACER=y +CONFIG_SCSI=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_7000FASST=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AHA152X=m +CONFIG_SCSI_AHA1542=m +CONFIG_SCSI_AHA1740=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_DH=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_DTC3280=m +CONFIG_SCSI_EATA=m +CONFIG_SCSI_EATA_LINKED_COMMANDS=y +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_EATA_TAGGED_QUEUE=y +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_FC_TGT_ATTRS=y +# CONFIG_SCSI_FLASHPOINT is not set +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_GENERIC_NCR5380=m +CONFIG_SCSI_GENERIC_NCR5380_MMIO=m +CONFIG_SCSI_GENERIC_NCR53C400=y +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_IBMVFC=m +CONFIG_SCSI_IBMVFC_TRACE=y +CONFIG_SCSI_IBMVSCSI=m +CONFIG_SCSI_IBMVSCSIS=m +CONFIG_SCSI_IMM=m +CONFIG_SCSI_IN2000=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_DUMP is not set +# CONFIG_SCSI_IPR_TRACE is not set +CONFIG_SCSI_IPS=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_ISCSI_ATTRS=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_LOWLEVEL=y +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_MAC53C94=m +CONFIG_SCSI_MESH=m +CONFIG_SCSI_MESH_RESET_DELAY_MS=4000 +CONFIG_SCSI_MESH_SYNC_RATE=5 +CONFIG_SCSI_MOD=y +CONFIG_SCSI_MPT2SAS=m +# CONFIG_SCSI_MPT2SAS_LOGGING is not set +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +CONFIG_SCSI_MULTI_LUN=y +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVSAS_DEBUG=y +# CONFIG_SCSI_MVSAS_TASKLET is not set +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_NCR53C406A=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_NSP32=m +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_SCSI_OSD_DPRINT_SENSE=1 +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_PAS16=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_PROC_FS=y +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLOGIC_FAS=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SIM710=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C416=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_T128=m +CONFIG_SCSI_TGT=m +CONFIG_SCSI_U14_34F=m +CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y +CONFIG_SCSI_U14_34F_MAX_TAGS=8 +CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_ULTRASTOR=m +CONFIG_SCSI_VIRTIO=m +CONFIG_SCSI_WAIT_SCAN=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +CONFIG_SCTP_HMAC_MD5=y +# CONFIG_SCTP_HMAC_NONE is not set +# CONFIG_SCTP_HMAC_SHA1 is not set +CONFIG_SCx200=m +CONFIG_SCx200HR_TIMER=m +CONFIG_SCx200_ACB=m +CONFIG_SCx200_GPIO=m +# CONFIG_SCx200_I2C is not set +CONFIG_SCx200_WDT=m +CONFIG_SDIO_UART=m +CONFIG_SDLA=m +CONFIG_SEALEVEL_4021=m +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_SELINUX_DEVELOP=y +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_YAMA=y +CONFIG_SEEQ8005=m +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_AK8975=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_AMS=m +CONFIG_SENSORS_AMS_I2C=y +CONFIG_SENSORS_AMS_PMU=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_BH1780=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_HDAPS=m +CONFIG_SENSORS_HMC5843=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_LIS3_SPI=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_MC13783_ADC=m +CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_TSL2563=m +CONFIG_SENSORS_TWL4030_MADC=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_WM8350=m +CONFIG_SERIAL_8250_ACCENT=m +CONFIG_SERIAL_8250_BOCA=m +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_CS=m +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_DW=m +# CONFIG_SERIAL_8250_EM is not set +CONFIG_SERIAL_8250_EXAR_ST16C554=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FOURPORT=m +CONFIG_SERIAL_8250_HUB6=m +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_RUNTIME_UARTS=32 +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_AMBA_PL010=m +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_ICOM=m +# CONFIG_SERIAL_IFX6X60 is not set +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX3107=m +CONFIG_SERIAL_MFD_HSU=m +CONFIG_SERIAL_MRST_MAX3110=m +CONFIG_SERIAL_OF_PLATFORM=m +CONFIG_SERIAL_OMAP=y +CONFIG_SERIAL_OMAP_CONSOLE=y +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_PMACZILOG=y +CONFIG_SERIAL_PMACZILOG_CONSOLE=y +# CONFIG_SERIAL_PMACZILOG_TTYS is not set +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_SERIO=y +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_AMBAKMI=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_I8042=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_XILINX_XPS_PS2=m +CONFIG_SFC=m +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_MTD=y +CONFIG_SFC_SRIOV=y +CONFIG_SFI=y +CONFIG_SGI_IOC4=m +CONFIG_SHMEM=y +CONFIG_SIGMATEL_FIR=m +CONFIG_SIGNALFD=y +CONFIG_SIGNATURE=y +CONFIG_SIMPLE_GPIO=y +CONFIG_SIS190=m +CONFIG_SIS900=m +CONFIG_SKFP=m +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +# CONFIG_SLAB is not set +CONFIG_SLABINFO=y +CONFIG_SLHC=y +CONFIG_SLICOSS=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLUB=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMC911X=m +CONFIG_SMC9194=m +CONFIG_SMC91X=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_SMSC37B787_WDT=m +CONFIG_SMSC911X=m +# CONFIG_SMSC911X_ARCH_HOOKS is not set +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=y +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMS_SDIO_DRV=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_USB_DRV=m +CONFIG_SM_FTL=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_AD1816A=m +CONFIG_SND_AD1848=m +CONFIG_SND_AD1889=m +CONFIG_SND_ADLIB=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ALOOP=m +CONFIG_SND_ALS100=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_AOA=m +CONFIG_SND_AOA_FABRIC_LAYOUT=m +CONFIG_SND_AOA_ONYX=m +CONFIG_SND_AOA_SOUNDBUS=m +CONFIG_SND_AOA_SOUNDBUS_I2S=m +CONFIG_SND_AOA_TAS=m +CONFIG_SND_AOA_TOONIE=m +CONFIG_SND_ARM=y +CONFIG_SND_ARMAACI=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT1605=m +CONFIG_SND_AZT2316=m +CONFIG_SND_AZT2320=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +CONFIG_SND_CA0106=m +CONFIG_SND_CMI8330=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_CS4231=m +CONFIG_SND_CS4236=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_DARLA24=m +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_DRIVERS=y +CONFIG_SND_DUMMY=m +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ECHO3G=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1688=m +CONFIG_SND_ES18XX=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_GINA20=m +CONFIG_SND_GINA24=m +CONFIG_SND_GUSCLASSIC=m +CONFIG_SND_GUSEXTREME=m +CONFIG_SND_GUSMAX=m +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=0 +CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HRTIMER=m +CONFIG_SND_HWDEP=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_INTERWAVE=m +CONFIG_SND_INTERWAVE_STB=m +CONFIG_SND_ISA=y +CONFIG_SND_ISIGHT=m +CONFIG_SND_JACK=y +CONFIG_SND_JAZZ16=m +CONFIG_SND_KCTL_JACK=y +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MFLD_MACHINE=m +CONFIG_SND_MIA=m +CONFIG_SND_MIRO=m +CONFIG_SND_MIXART=m +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_MONA=m +CONFIG_SND_MPU401=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_MSND_CLASSIC=m +CONFIG_SND_MSND_PINNACLE=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_NM256=m +CONFIG_SND_OMAP_SOC=y +CONFIG_SND_OMAP_SOC_IGEP0020=m +CONFIG_SND_OMAP_SOC_MCBSP=y +CONFIG_SND_OMAP_SOC_OMAP3EVM=m +CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y +CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m +CONFIG_SND_OMAP_SOC_OVERO=m +CONFIG_SND_OMAP_SOC_SDP3430=m +CONFIG_SND_OMAP_SOC_ZOOM2=m +CONFIG_SND_OPL3SA2=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL4_LIB=m +CONFIG_SND_OPTI92X_AD1848=m +CONFIG_SND_OPTI92X_CS4231=m +CONFIG_SND_OPTI93X=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_OXYGEN=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_PCI=y +CONFIG_SND_PCMCIA=y +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCSP=m +CONFIG_SND_PCXHR=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_POWERMAC=m +CONFIG_SND_POWERMAC_AUTO_DRC=y +CONFIG_SND_PPC=y +CONFIG_SND_PS3=m +CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 +CONFIG_SND_RAWMIDI=m +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SB16=m +CONFIG_SND_SB16_CSP=y +CONFIG_SND_SB16_DSP=m +CONFIG_SND_SB8=m +CONFIG_SND_SB8_DSP=m +CONFIG_SND_SBAWE=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SC6000=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQUENCER_OSS is not set +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_SIMPLE_CARD=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SOC_88PM860X=m +CONFIG_SND_SOC_AD1836=m +CONFIG_SND_SOC_AD193X=m +CONFIG_SND_SOC_AD73311=m +CONFIG_SND_SOC_ADAU1373=m +CONFIG_SND_SOC_ADAV80X=m +CONFIG_SND_SOC_ADS117X=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4535=m +CONFIG_SND_SOC_AK4641=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_AK4671=m +CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_ALC5632=m +CONFIG_SND_SOC_ALL_CODECS=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_CS4271=m +CONFIG_SND_SOC_CS42L51=m +CONFIG_SND_SOC_CS42L52=m +CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CX20442=m +CONFIG_SND_SOC_DA7210=m +CONFIG_SND_SOC_DFBMCS320=m +CONFIG_SND_SOC_JZ4740_CODEC=m +CONFIG_SND_SOC_L3=m +CONFIG_SND_SOC_LM4857=m +CONFIG_SND_SOC_LM49453=m +CONFIG_SND_SOC_MAX9768=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98095=m +CONFIG_SND_SOC_MAX9850=m +CONFIG_SND_SOC_MAX9877=m +CONFIG_SND_SOC_MC13783=m +CONFIG_SND_SOC_ML26124=m +CONFIG_SND_SOC_PCM3008=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_SOC_SN95031=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_STA32X=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC26=m +CONFIG_SND_SOC_TLV320AIC32X4=m +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320DAC33=m +CONFIG_SND_SOC_TPA6130A2=m +CONFIG_SND_SOC_TWL6040=m +CONFIG_SND_SOC_UDA134X=m +CONFIG_SND_SOC_UDA1380=m +CONFIG_SND_SOC_WL1273=m +CONFIG_SND_SOC_WM1250_EV1=m +CONFIG_SND_SOC_WM2000=m +CONFIG_SND_SOC_WM2200=m +CONFIG_SND_SOC_WM5100=m +CONFIG_SND_SOC_WM8350=m +CONFIG_SND_SOC_WM8400=m +CONFIG_SND_SOC_WM8510=m +CONFIG_SND_SOC_WM8523=m +CONFIG_SND_SOC_WM8580=m +CONFIG_SND_SOC_WM8711=m +CONFIG_SND_SOC_WM8727=m +CONFIG_SND_SOC_WM8728=m +CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8737=m +CONFIG_SND_SOC_WM8741=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_SOC_WM8770=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8782=m +CONFIG_SND_SOC_WM8804=m +CONFIG_SND_SOC_WM8900=m +CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8955=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8961=m +CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8971=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8978=m +CONFIG_SND_SOC_WM8983=m +CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_WM8988=m +CONFIG_SND_SOC_WM8990=m +CONFIG_SND_SOC_WM8991=m +CONFIG_SND_SOC_WM8993=m +CONFIG_SND_SOC_WM8994=m +CONFIG_SND_SOC_WM8995=m +CONFIG_SND_SOC_WM8996=m +CONFIG_SND_SOC_WM9081=m +CONFIG_SND_SOC_WM9090=m +CONFIG_SND_SOC_WM_HUBS=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_SPI=y +CONFIG_SND_SSCAPE=m +CONFIG_SND_SST_PLATFORM=m +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TEA575X=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_USB=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_USX2Y=m +# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_VERBOSE_PROCFS=y +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VXPOCKET=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_WAVEFRONT=m +CONFIG_SND_WSS_LIB=m +CONFIG_SND_YMFPCI=m +CONFIG_SOC_AM33XX=y +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_IMX074=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m +CONFIG_SOC_CAMERA_OV6650=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m +CONFIG_SOC_CAMERA_OV9740=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_RJ54N1=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOC_OMAP3430=y +CONFIG_SOC_TI81XX=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOLO6X10=m +CONFIG_SONYPI=m +CONFIG_SONYPI_COMPAT=y +CONFIG_SONY_LAPTOP=m +CONFIG_SOUND_OSS_CORE=y +CONFIG_SOUND_OSS_CORE_PRECLAIM=y +# CONFIG_SOUND_PRIME is not set +CONFIG_SP5100_TCO=m +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +# CONFIG_SPARSE_RCU_POINTER is not set +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECPC=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPI=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_DESIGNWARE=m +CONFIG_SPI_DW_MID_DMA=y +# CONFIG_SPI_DW_MMIO is not set +CONFIG_SPI_DW_PCI=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_OMAP24XX=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_TOPCLIFF_PCH=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPU_BASE=y +CONFIG_SPU_FS=m +CONFIG_SPU_FS_64K_LS=y +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SR_REPORT_TIME_LIMIT=100 +CONFIG_SSB=m +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_BLOCKIO=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +# CONFIG_SSB_SILENT is not set +CONFIG_SSB_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STAGING=y +CONFIG_STALDRV=y +CONFIG_STE10XP=y +# CONFIG_STMMAC_CHAINED is not set +# CONFIG_STMMAC_DA is not set +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_PCI is not set +CONFIG_STMMAC_PLATFORM=y +CONFIG_STMMAC_RING=y +CONFIG_STMPE_I2C=y +CONFIG_STMPE_SPI=y +CONFIG_STOP_MACHINE=y +CONFIG_STP=m +CONFIG_STRICT_DEVMEM=y +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_STUB_POULSBO is not set +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNGEM=m +CONFIG_SUNGEM_PHY=m +CONFIG_SUNRPC=m +# CONFIG_SUNRPC_DEBUG is not set +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SWAP=y +CONFIG_SWIOTLB=y +CONFIG_SWIOTLB_XEN=y +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +CONFIG_SYNCLINK_CS=m +CONFIG_SYNCLINK_GT=m +CONFIG_SYN_COOKIES=y +CONFIG_SYSCTL=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_TARGET_CORE=m +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_TASK_SIZE=0xc0000000 +CONFIG_TASK_XACCT=y +CONFIG_TAU=y +# CONFIG_TAU_AVERAGE is not set +# CONFIG_TAU_INT is not set +CONFIG_TC1100_WMI=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TCG_NSC=m +CONFIG_TCG_TIS=m +CONFIG_TCIC=m +CONFIG_TCM_FC=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_PSCSI=m +CONFIG_TCM_QLA2XXX=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TEHUTI=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TELCLOCK=m +# CONFIG_TEST_LIST_SORT is not set +CONFIG_TEST_POWER=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_TEXTSEARCH_KMP=m +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERM_ADT746X=y +CONFIG_THERM_PM72=m +CONFIG_THERM_WINDTUNNEL=m +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUG is not set +CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THRUSTMASTER_FF=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TICK_ONESHOT=y +CONFIG_TIDSPBRIDGE=m +# CONFIG_TIDSPBRIDGE_BACKTRACE is not set +# CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set +CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000 +# CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set +CONFIG_TIDSPBRIDGE_RECOVERY=y +CONFIG_TIFM_7XX1=m +CONFIG_TIFM_CORE=m +CONFIG_TIGON3=m +CONFIG_TIMB_DMA=m +CONFIG_TIMERFD=y +CONFIG_TIMER_STATS=y +CONFIG_TINY_RCU=y +CONFIG_TIPC=m +# CONFIG_TIPC_ADVANCED is not set +# CONFIG_TIPC_DEBUG is not set +# CONFIG_TI_CPSW is not set +CONFIG_TI_DAC7512=m +CONFIG_TI_DAVINCI_CPDMA=m +# CONFIG_TI_DAVINCI_EMAC is not set +CONFIG_TI_DAVINCI_MDIO=m +CONFIG_TI_EMIF=m +CONFIG_TI_ST=m +CONFIG_TLAN=m +CONFIG_TMD_HERMES=m +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_TOIM3232_DONGLE=m +CONFIG_TOPSTAR_LAPTOP=m +# CONFIG_TOSHIBA is not set +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_TOSHIBA_FIR=m +CONFIG_TOUCHSCREEN_88PM860X=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_AUO_PIXCIR=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_CYTTSP_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP_SPI=m +CONFIG_TOUCHSCREEN_DA9034=m +CONFIG_TOUCHSCREEN_DA9052=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_HTCPEN=m +CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_INTEL_MID=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m +CONFIG_TOUCHSCREEN_TI_TSCADC=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_ELO=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_W90X900=m +CONFIG_TOUCHSCREEN_WACOM_I2C=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TRACEPOINTS=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TRANZPORT=m +CONFIG_TREE_RCU=y +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_TRUSTED_KEYS=y +CONFIG_TSL2583=m +CONFIG_TSL2x7x=m +CONFIG_TTPCI_EEPROM=m +CONFIG_TTY_PRINTK=y +CONFIG_TULIP=m +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_TUN=y +# CONFIG_TUNE_CELL is not set +CONFIG_TWL4030_MADC=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_TWL6030_PWM=m +CONFIG_TWL6030_USB=m +CONFIG_TYPHOON=m +CONFIG_U3_DART=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UCB1400_CORE=m +CONFIG_UDBG_RTAS_CONSOLE=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y +CONFIG_UEVENT_HELPER_PATH="" +# CONFIG_UFS_DEBUG is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +CONFIG_UID16=y +CONFIG_UIO=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULI526X=m +CONFIG_ULTRA=m +CONFIG_ULTRA32=m +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX_DIAG=m +CONFIG_UPROBES=y +CONFIG_UPROBE_EVENT=y +CONFIG_USB=y +CONFIG_USBIP_CORE=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBPCWATCHDOG=m +CONFIG_USB_ACM=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_AN2720=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_ATM=m +CONFIG_USB_AUDIO=m +CONFIG_USB_BELKIN=y +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CATC=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_CHIPIDEA=m +# CONFIG_USB_CHIPIDEA_DEBUG is not set +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_CXACRU=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +# CONFIG_USB_DEBUG is not set +CONFIG_USB_DSBR=m +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_OMAP=y +CONFIG_USB_EHCI_HCD_PPC_OF=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EMI26=m +CONFIG_USB_EMI62=m +CONFIG_USB_ENESTORAGE=m +CONFIG_USB_EPSON2888=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_EEM=y +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_EZUSB=y +# CONFIG_USB_FILE_STORAGE is not set +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUSB300=m +CONFIG_USB_GADGETFS=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_MUSB_HDRC=m +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_GADGET_SUPERSPEED=y +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GL860=m +CONFIG_USB_GOKU=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GSPCA=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_HID=m +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_MULTI_RNDIS=y +CONFIG_USB_G_NCM=m +CONFIG_USB_G_NOKIA=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_HSO=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_INVENTRA_DMA=y +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_IPHETH=m +CONFIG_USB_IRDA=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1301=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_KAWETH=m +CONFIG_USB_KBD=m +CONFIG_USB_KC2190=y +CONFIG_USB_KEENE=m +CONFIG_USB_LCD=m +CONFIG_USB_LD=m +CONFIG_USB_LED=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LIBUSUAL=y +CONFIG_USB_M5602=m +# CONFIG_USB_M66592 is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MON=m +CONFIG_USB_MOUSE=m +CONFIG_USB_MR800=m +# CONFIG_USB_MUSB_AM35X is not set +CONFIG_USB_MUSB_OMAP2PLUS=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_OMAP3=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PPC_OF=y +CONFIG_USB_OHCI_HCD_PPC_OF_BE=y +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OMAP is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_OTG_UTILS=y +# CONFIG_USB_OTG_WHITELIST is not set +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_PRINTER=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_RENESAS_USBHS_UDC=m +CONFIG_USB_RIO500=m +CONFIG_USB_RTL8150=m +CONFIG_USB_S2255=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIEMENS_MPI=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_SI470X=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SL811_HCD_ISO=y +# CONFIG_USB_SN9C102 is not set +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_DATAFAB=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STV06XX=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_SUSPEND=y +CONFIG_USB_SWITCH_FSA9480=m +CONFIG_USB_TEST=m +CONFIG_USB_TMC=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_UAS=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_ULPI=y +CONFIG_USB_USBNET=m +CONFIG_USB_USS720=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_VL600=m +CONFIG_USB_WDM=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_WPAN_HCD=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_YUREX=m +CONFIG_USB_ZD1201=m +CONFIG_USB_ZERO=m +# CONFIG_USB_ZERO_HNPTEST is not set +CONFIG_USB_ZR364XX=m +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_USE_OF=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y +CONFIG_UTS_NS=y +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_I1480U=m +CONFIG_UWB_WHCI=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_V4L_ISA_PARPORT_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_V4L_PCI_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_RADIO_ISA_DRIVERS=y +CONFIG_V4L_USB_DRIVERS=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_CONSOLE=y +CONFIG_VGA_SWITCHEROO=y +CONFIG_VHOST_NET=m +CONFIG_VIA_FIR=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_VIA_VELOCITY=m +CONFIG_VIA_WDT=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7183=m +CONFIG_VIDEO_ADV7343=m +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_AK881X=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_CX23885=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_CX25840=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_DM6446_CCDC=m +CONFIG_VIDEO_DT3155=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=m +CONFIG_VIDEO_FB_IVTV=m +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_MEDIA=m +CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_OMAP2_VOUT=m +CONFIG_VIDEO_OMAP2_VOUT_VRFB=y +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_PMS=m +CONFIG_VIDEO_PVRUSB2=m +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_PVRUSB2_DVB=y +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_SAA6588=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_SH_MOBILE_CEU=m +CONFIG_VIDEO_SH_MOBILE_CSI2=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_VIA_CAMERA=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VP27SMPX=m +CONFIG_VIDEO_VPFE_CAPTURE=m +CONFIG_VIDEO_VPSS_SYSTEM=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_VS6624=m +CONFIG_VIDEO_W9966=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTUALIZATION=y +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_TO_BUS=y +CONFIG_VITESSE_PHY=y +CONFIG_VLAN_8021Q=m +CONFIG_VLSI_FIR=m +CONFIG_VM86=y +CONFIG_VME_BUS=m +CONFIG_VME_CA91CX42=m +CONFIG_VME_PIO2=m +CONFIG_VME_TSI148=m +CONFIG_VME_USER=m +CONFIG_VMIVME_7805=m +# CONFIG_VMSPLIT_1G is not set +# CONFIG_VMSPLIT_2G is not set +CONFIG_VMSPLIT_3G=y +CONFIG_VMWARE_BALLOON=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_VMXNET3=m +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VORTEX=m +CONFIG_VSX=y +CONFIG_VT=y +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_W1=m +CONFIG_W1_CON=y +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_GPIO=m +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_SLAVE_BQ27000=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_THERM=m +CONFIG_W35UND=m +CONFIG_W83627HF_WDT=m +CONFIG_W83697HF_WDT=m +CONFIG_W83697UG_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_WAFER_WDT=m +CONFIG_WANXL=m +CONFIG_WAN_ROUTER_DRIVERS=m +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_RTAS=m +CONFIG_WD80x3=m +CONFIG_WDT=m +CONFIG_WDTPCI=m +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PRIV=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_GDM72XX=m +CONFIG_WIMAX_GDM72XX_K_MODE=y +CONFIG_WIMAX_GDM72XX_QOS=y +# CONFIG_WIMAX_GDM72XX_SDIO is not set +CONFIG_WIMAX_GDM72XX_USB=y +CONFIG_WIMAX_GDM72XX_USB_PM=y +CONFIG_WIMAX_GDM72XX_WIMAX2=y +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_IWMC3200_SDIO=y +CONFIG_WINBOND_840=m +CONFIG_WINBOND_FIR=m +CONFIG_WINDFARM=m +CONFIG_WINDFARM_PM112=m +CONFIG_WINDFARM_PM121=m +CONFIG_WINDFARM_PM72=m +CONFIG_WINDFARM_PM81=m +CONFIG_WINDFARM_PM91=m +CONFIG_WINDFARM_RM31=m +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_WIZNET_BUS_ANY=y +# CONFIG_WIZNET_BUS_DIRECT is not set +# CONFIG_WIZNET_BUS_INDIRECT is not set +CONFIG_WIZNET_W5100=m +CONFIG_WIZNET_W5300=m +CONFIG_WL1251=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1251_SPI=m +CONFIG_WL12XX=m +CONFIG_WL12XX_PLATFORM_DATA=y +CONFIG_WLAGS49_H2=m +CONFIG_WLAGS49_H25=m +CONFIG_WLAN=y +CONFIG_WLCORE=m +CONFIG_WLCORE_SDIO=m +CONFIG_WLCORE_SPI=m +CONFIG_WL_TI=y +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_WM8350_POWER=m +CONFIG_X25=m +CONFIG_X25_ASY=m +CONFIG_X86=y +CONFIG_X86_32_IRIS=m +# CONFIG_X86_32_NON_STANDARD is not set +CONFIG_X86_32_SMP=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_X86_64_SMP=y +CONFIG_X86_ACPI_CPUFREQ=y +# CONFIG_X86_ANCIENT_MCE is not set +CONFIG_X86_APM_BOOT=y +# CONFIG_X86_BIGSMP is not set +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_BSWAP=y +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_CMOV=y +CONFIG_X86_CMPXCHG=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CPUFREQ_NFORCE2=m +CONFIG_X86_CPUID=m +CONFIG_X86_DEBUGCTLMSR=y +# CONFIG_X86_DECODER_SELFTEST is not set +CONFIG_X86_DEV_DMA_OPS=y +CONFIG_X86_EXTENDED_PLATFORM=y +# CONFIG_X86_E_POWERSAVER is not set +CONFIG_X86_GENERIC=y +CONFIG_X86_GX_SUSPMOD=m +CONFIG_X86_HT=y +CONFIG_X86_INTEL_MID=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_INVLPG=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_LONGHAUL=m +CONFIG_X86_LONGRUN=m +CONFIG_X86_MCE=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_INJECT=m +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_THRESHOLD=y +CONFIG_X86_MCE_XEON75XX=m +CONFIG_X86_MDFLD=y +CONFIG_X86_MPPARSE=y +CONFIG_X86_MSR=m +CONFIG_X86_NEED_RELOCS=y +CONFIG_X86_NUMACHIP=y +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_PAE=y +CONFIG_X86_PAT=y +CONFIG_X86_PCC_CPUFREQ=y +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_X86_PM_TIMER=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_POWERNOW_K6=m +CONFIG_X86_POWERNOW_K7=m +CONFIG_X86_POWERNOW_K7_ACPI=y +CONFIG_X86_POWERNOW_K8=y +CONFIG_X86_PPRO_FENCE=y +# CONFIG_X86_PTDUMP is not set +# CONFIG_X86_RDC321X is not set +CONFIG_X86_REBOOTFIXUPS=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_RESERVE_LOW=64 +CONFIG_X86_SPEEDSTEP_CENTRINO=y +CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y +CONFIG_X86_SPEEDSTEP_ICH=y +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y +CONFIG_X86_SPEEDSTEP_SMI=y +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_X86_TSC=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +# CONFIG_X86_UV is not set +# CONFIG_X86_VERBOSE_BOOTUP is not set +# CONFIG_X86_VSMP is not set +CONFIG_X86_WANT_INTEL_MID=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_X2APIC=y +# CONFIG_X86_X32 is not set +CONFIG_X86_XADD=y +CONFIG_XEN=y +CONFIG_XENFS=m +CONFIG_XEN_ACPI_PROCESSOR=y +CONFIG_XEN_BACKEND=y +CONFIG_XEN_BALLOON=y +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_XEN_BLKDEV_FRONTEND=y +CONFIG_XEN_COMPAT_XENFS=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y +CONFIG_XEN_FBDEV_FRONTEND=m +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_XEN_NETDEV_FRONTEND=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PRIVCMD=m +CONFIG_XEN_PRIVILEGED_GUEST=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_SAVE_RESTORE=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_SELFBALLOONING=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_TMEM=y +CONFIG_XEN_WDT=m +CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_IPCOMP=m +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_XFRM_SUB_POLICY is not set +CONFIG_XFRM_USER=m +# CONFIG_XFS_DEBUG is not set +CONFIG_XFS_FS=m +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_QUOTA=y +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +# CONFIG_XIP_KERNEL is not set +# CONFIG_XMON is not set +CONFIG_XO15_EBOOK=m +CONFIG_XOR_BLOCKS=m +CONFIG_XPS=y +CONFIG_XPS_USB_HCD_XILINX=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YAM=m +CONFIG_YELLOWFIN=m +CONFIG_YENTA=m +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZCACHE=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZISOFS=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZNET=m +CONFIG_ZONE_DMA=y +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZSMALLOC=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/enforce +++ linux-lowlatency-3.5.0/debian.lowlatency/config/enforce @@ -0,0 +1,128 @@ +# +# SECURITY items +# +# Ensure this option is enabled. +value CONFIG_COMPAT_BRK n +value CONFIG_DEVKMEM n +value CONFIG_LSM_MMAP_MIN_ADDR 0 +value CONFIG_SECURITY y +!exists CONFIG_SECURITY_FILE_CAPABILITIES | value CONFIG_SECURITY_FILE_CAPABILITIES y +value CONFIG_SECURITY_SELINUX y +value CONFIG_SECURITY_SMACK y +value CONFIG_SECURITY_YAMA y +value CONFIG_SYN_COOKIES y +value CONFIG_DEFAULT_SECURITY_APPARMOR y +# For architectures which support this option ensure it is enabled. +!exists CONFIG_XEN_ACPI_PROCESSOR | value CONFIG_XEN_ACPI_PROCESSOR y +!exists CONFIG_SECCOMP | value CONFIG_SECCOMP y +!exists CONFIG_HAVE_ARCH_SECCOMP_FILTER | value CONFIG_SECCOMP_FILTER y +!exists CONFIG_CC_STACKPROTECTOR | value CONFIG_CC_STACKPROTECTOR y +!exists CONFIG_DEBUG_RODATA | value CONFIG_DEBUG_RODATA y +!exists CONFIG_DEBUG_SET_MODULE_RONX | value CONFIG_DEBUG_SET_MODULE_RONX y +!exists CONFIG_STRICT_DEVMEM | value CONFIG_STRICT_DEVMEM y +# For architectures which support this option ensure it is disabled. +!exists CONFIG_COMPAT_VDSO | value CONFIG_COMPAT_VDSO n +!exists CONFIG_ACPI_CUSTOM_METHOD | value CONFIG_ACPI_CUSTOM_METHOD n +# Default to 32768 on ARM, 65536 for everything else. +(arch armel armhf &/ value CONFIG_DEFAULT_MMAP_MIN_ADDR 32768) | \ + value CONFIG_DEFAULT_MMAP_MIN_ADDR 65536 + +# upstart requires DEVTMPFS be enabled and mounted by default. +value CONFIG_DEVTMPFS y +value CONFIG_DEVTMPFS_MOUNT y + +# some /dev nodes require POSIX ACLs, like /dev/dsp +value CONFIG_TMPFS_POSIX_ACL y + +# Ramdisk size should be a minimum of 64M +value CONFIG_BLK_DEV_RAM_SIZE 65536 + +# LVM requires dm_mod built in to activate correctly (LP: #560717) +value CONFIG_BLK_DEV_DM y + +# sysfs: ensure all DEPRECATED items are off +!exists CONFIG_SYSFS_DEPRECATED_V2 | value CONFIG_SYSFS_DEPRECATED_V2 n +!exists CONFIG_SYSFS_DEPRECATED | value CONFIG_SYSFS_DEPRECATED n + +# automatically add local version will cause packaging failure +value CONFIG_LOCALVERSION_AUTO n + +# provide framebuffer console form the start +# UbuntuSpec:foundations-m-grub2-boot-framebuffer +value CONFIG_FRAMEBUFFER_CONSOLE y + +# GRUB changes will rely on built in vesafb on x86, +# UbuntuSpec:foundations-m-grub2-boot-framebuffer +#(( arch i386 | arch amd64 ) & value CONFIG_FB_VESA y) | \ +# value CONFIG_FB_VESA m | !exists CONFIG_FB_VESA +value CONFIG_FB_VESA m | !exists CONFIG_FB_VESA + +# Build in uinput module so that it's always available (LP: 584812) +value CONFIG_INPUT_UINPUT y + +# upstart relies on getting all of the kernel arguments +value CONFIG_INIT_PASS_ALL_PARAMS y + +# Enabling CONFIG_IMA is vastly expensive, ensure it is off +value CONFIG_IMA n + +# Ensure CONFIG_IPV6 is y, if this is a module we get a module load for +# every ipv6 packet, bad. +value CONFIG_IPV6 y + +# Ensure ECRYPT_FS is y as it cannot be autoloaded and it has complex +# dependancies which can pull it =m at a whim. +value CONFIG_ECRYPT_FS y + +# Ensure CONFIG_EFI_VARS is y as debian-installer relies on having +# access to efivars when installing in EFI mode. See LP:837332 +value CONFIG_EFI_VARS y | !exists CONFIG_EFI_VARS + +# Ensure CONFIG_VFAT_FS is y for arm, needed to ensure we able to replace +# a kernel with the same version. Also needed for EFI based systems. +(arch armel armhf i386 amd64 &/ value CONFIG_VFAT_FS y) | \ + value CONFIG_VFAT_FS m + +# Ensure CONFIG_GPIO_TWL4030 is y for arm, LP:921934 +(arch armel armhf &/ value CONFIG_GPIO_TWL4030 y) | \ + value CONFIG_GPIO_TWL4030 m | \ + !exists CONFIG_GPIO_TWL4030 + +# Ensure CONFIG_THERM_ADT746X is y for powerpc and powerpc-smp flavours. +# See LP:923094 +(flavour powerpc powerpc-smp &/ value CONFIG_THERM_ADT746X y) | \ + !exists CONFIG_THERM_ADT746X + +# Ensure CONFIG_NVRAM is y for powerpc and powerpc-smp, LP:942193 +(flavour powerpc powerpc-smp &/ value CONFIG_NVRAM y) | \ + value CONFIG_NVRAM m | \ + !exists CONFIG_NVRAM + +# Ensure CONFIG_STUB_POULSBO is disabled if CONFIG_DRM_PSB is enabled +# See LP:899244 +(!exists CONFIG_DRM_PSB | value CONFIG_DRM_PSB n) | \ +((value CONFIG_DRM_PSB y | value CONFIG_DRM_PSB m) & (value CONFIG_STUB_POULSBO n | !exists CONFIG_STUB_POULSBO)) + +# Ensure CONFIG_B43_BCMA_EXTRA is disabled if CONFIG_BRCMSMAC is enabled. +# Otherwise b43 and brcmsmac will overlap in the hardware they claim to +# support. +(!exists CONFIG_BRCMSMAC | value CONFIG_BRCMSMAC n) | \ +((value CONFIG_BRCMSMAC y | value CONFIG_BRCMSMAC m) & (value CONFIG_B43_BCMA_EXTRA n | !exists CONFIG_B43_BCMA_EXTRA)) + +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not compatible with upstart +value CONFIG_AUDIT_LOGINUID_IMMUTABLE n + +# CONFIG_I2C_DESIGNWARE_PLATFORM is required by Calxeda Highbank +(flavour highbank &/ value CONFIG_I2C_DESIGNWARE_PLATFORM y) | \ +value CONFIG_I2C_DESIGNWARE_PLATFORM m | \ +!exists CONFIG_I2C_DESIGNWARE_PLATFORM + +# CONFIG_RTC_DRV_PL031 is required by Calxeda Highbank +# See LP:1035110 +(flavour highbank &/ value CONFIG_RTC_DRV_PL031 y) | \ +value CONFIG_RTC_DRV_PL031 m | \ +!exists CONFIG_RTC_DRV_PL031 + +# Don't use the generic ehci/ohci code on omap, it doesn't work +((flavour omap &/ value CONFIG_USB_EHCI_HCD_PLATFORM n & value CONFIG_USB_OHCI_HCD_PLATFORM n) | \ + !exists MISSING) --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/annotations +++ linux-lowlatency-3.5.0/debian.lowlatency/config/annotations @@ -0,0 +1,471 @@ +# Default filesystems are generally built-in +CONFIG_EXT3_FS y note +CONFIG_EXT4_FS y note + +# Some modules have no clear way to autoload them. +# filesystems: +CONFIG_FUSE_FS y note +CONFIG_ECRYPT_FS y note +# AGP drivers: +CONFIG_AGP y note +CONFIG_AGP_AMD64 y note +CONFIG_AGP_INTEL y note +CONFIG_AGP_VIA y note +CONFIG_AGP_AMD y note +CONFIG_AGP_NVIDIA y note +# cpu governers: +CONFIG_CPU_FREQ_GOV_CONSERVATIVE y note +CONFIG_CPU_FREQ_GOV_ONDEMAND y note +CONFIG_CPU_FREQ_GOV_PERFORMANCE y note +CONFIG_CPU_FREQ_GOV_POWERSAVE y note +CONFIG_CPU_FREQ_GOV_USERSPACE y note +# cpufreq drivers +CONFIG_X86_ACPI_CPUFREQ y note +CONFIG_X86_POWERNOW_K8 y note +CONFIG_X86_SPEEDSTEP_CENTRINO y note +CONFIG_X86_SPEEDSTEP_ICH y note +CONFIG_X86_SPEEDSTEP_SMI y note +# devices: +CONFIG_CHR_DEV_SG y note + +# Boot essential items are always =y +# subsystems: +CONFIG_ATA y note +CONFIG_USB y note +CONFIG_RFKILL y note +CONFIG_INPUT y note +CONFIG_SCSI y note +CONFIG_HOTPLUG_PCI y note +CONFIG_HOTPLUG_PCI_PCIE y note +CONFIG_HWMON y note +CONFIG_HW_RANDOM y note +CONFIG_MMC y note +CONFIG_CRYPTO y note +CONFIG_FB y note +CONFIG_PHYLIB y note +CONFIG_I2C y note +CONFIG_CONNECTOR y note +CONFIG_THERMAL y note +CONFIG_POWER_SUPPLY y note +CONFIG_TCG_TPM y note +# networking: +CONFIG_INET_LRO y note +CONFIG_MII y note +CONFIG_TUN y note +CONFIG_TCP_CONG_CUBIC y note +# network protocols: +CONFIG_UNIX y note +CONFIG_PACKET y note +CONFIG_FDDI y note +CONFIG_PPP y note +# IPv6 packets trigger auto-loading of this module and it is easy to trigger +# a DOS unless this is builtin. It is also a critical protocol going forward +# and will become boot essential. +CONFIG_IPV6 y note +# input devices +CONFIG_INPUT_EVDEV y note +CONFIG_INPUT_MOUSEDEV y note +CONFIG_INPUT_UINPUT y note +# ACPI drivers +CONFIG_ACPI_AC y note +CONFIG_ACPI_BATTERY y note +CONFIG_ACPI_BUTTON y note +CONFIG_ACPI_FAN y note +CONFIG_ACPI_PROCESSOR y note +CONFIG_ACPI_THERMAL y note +CONFIG_ACPI_HED y note +CONFIG_ACPI_CONTAINER y note + +# IPv6 configuration. +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION m note + +# Boot essential disk devices +CONFIG_IOSCHED_CFQ y note +CONFIG_IOSCHED_DEADLINE y note +CONFIG_EDD y note + +# Core devices +CONFIG_LEDS_CLASS y note + +# Core CPU drivers +CONFIG_FW_LOADER y note + +# Core debugging support +CONFIG_KGDB_SERIAL_CONSOLE y note + +# Common boot essential +CONFIG_SERIAL_8250 p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_SERIAL_8250_PCI p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_SERIAL_8250_PNP p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_XZ_DEC y note +CONFIG_KEYBOARD_ATKBD y note +CONFIG_SERIO y note +CONFIG_SERIO_I8042 y note +CONFIG_SERIO_LIBPS2 y note + +# XEN +CONFIG_XEN_BLKDEV_FRONTEND y note +CONFIG_XEN_NETDEV_FRONTEND y note + +# KVM +CONFIG_VIRTIO_BLK p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_NET p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_PCI p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_MMIO p policy<(arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_BALLOON p policy<(arch armel armhf &/ value n) | value m> note + +# VIRT +CONFIG_SCSI_VIRTIO m note + +# Boot essential dependancies +CONFIG_BLK_CGROUP y note +CONFIG_BLK_DEV_DM y note +CONFIG_BLK_DEV_LOOP y note +CONFIG_BLK_DEV_MD y note +CONFIG_BLK_DEV_RAM y note +CONFIG_BLK_DEV_SD y note +CONFIG_BLK_DEV_SR y note +CONFIG_DNS_RESOLVER y note +CONFIG_CRC_T10DIF y note +CONFIG_ZSMALLOC y note +# CONFIG_ECRYPTFS or CONFIG_DM +CONFIG_CRYPTO_CRC32C y note +CONFIG_CRYPTO_CRC32C_INTEL y note +CONFIG_CRYPTO_DEV_PADLOCK y note +CONFIG_CRYPTO_CRC32C y note +CONFIG_CRYPTO_AES y note +CONFIG_CRYPTO_CBC y note +CONFIG_CRYPTO_ECB y note +CONFIG_CRYPTO_HMAC y note +CONFIG_CRYPTO_MANAGER y note +CONFIG_CRYPTO_MD5 y note +CONFIG_CRYPTO_SHA1 y note +CONFIG_CRYPTO_SHA256 y note +CONFIG_CRYPTO_LZO p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_CRC16 y note +CONFIG_CRC32 y note +CONFIG_ENCRYPTED_KEYS y note +CONFIG_TRUSTED_KEYS y note +# DRM +CONFIG_BACKLIGHT_CLASS_DEVICE y note +# cpu freq +CONFIG_CPU_FREQ_STAT p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note + +# Interesting new subsystems +CONFIG_NFC m note +CONFIG_NFC_NCI m note + +# EXPERIMENTAL Network protocols are generally enabled to allow testing. +CONFIG_ECONET m note +CONFIG_IEEE802154 m note +CONFIG_LAPB m note +CONFIG_NET_DSA m note +CONFIG_RDS m note +CONFIG_TIPC m note +CONFIG_X25 m note + +# ATA controolers: some are boot essential on specific architectures +CONFIG_ATA_GENERIC p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_ATA_PIIX p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_PATA_ACPI p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_PATA_SIS p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_SATA_SVW p policy<(arch powerpc &/ value y) | value m> note +CONFIG_SATA_AHCI p policy<(arch i386 amd64 powerpc &/ value y) | value m> note + +# x86 boot essential +CONFIG_PCI_IOAPIC p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_RTC_DRV_CMOS p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_SCSI_SPI_ATTRS p policy<(arch i386 amd64 &/ value y) | value m> note + +# ARM/EFI requires FAT for kernel installation. +CONFIG_FAT_FS p policy<(arch armel armhf i386 amd64 &/ value y) | value m> note +CONFIG_VFAT_FS p policy<(arch armel armhf i386 amd64 &/ value y) | value m> note +CONFIG_NLS_CODEPAGE_437 p policy<((flavour omap omap4 | arch i386 amd64) &/ value y) | value m> note +CONFIG_NLS y note + +# ARM boot essential devices +CONFIG_MMC_BLOCK p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_MMC_OMAP_HS p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_FB_OMAP2 p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_I2C_OMAP p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_NOP_USB_XCEIV p policy<(flavour omap highbank &/ value y) | value m> note +CONFIG_PANEL_GENERIC_DPI p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_REGULATOR_FIXED_VOLTAGE p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_SERIAL_OMAP p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_GPIO_TWL4030 p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_OMAP2_DSS p policy<(arch armel armhf &/ value y) | value m> note + +# omap3/omap4 boot essential +CONFIG_MTD p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_BLKDEVS p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_BLOCK p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_CHAR p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_NAND p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_NAND_OMAP2 p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_OF_PARTS p policy<(flavour omap &/ value y) | value m> note +CONFIG_RTC_DRV_TWL4030 p policy<(flavour omap omap4 &/ value y) | value m> note +CONFIG_KEYBOARD_OMAP4 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_KEYBOARD_TWL4030 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_NET_SMSC95XX p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_USBNET p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_DRM p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_HWSPINLOCK_OMAP y note +CONFIG_HWSPINLOCK_ATMEL n note +CONFIG_HW_RANDOM_ATMEL n note +CONFIG_LEDS_GPIO p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LEDS_PWM p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LEDS_TRIGGER_HEARTBEAT p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LIB80211 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MMC_OMAP p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MEDIA_SUPPORT p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MFD_SM501 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_INVENTRA_DMA p policy<(flavour omap &/ value y) | value n> note + +# highbank boot essential +CONFIG_SATA_AHCI_PLATFORM p policy<(flavour highbank &/ value y) | (flavour omap4 &/ value n) | value m> note flag +CONFIG_EXT2_FS p policy<(flavour highbank &/ value y) | value m> note +CONFIG_KEYBOARD_HIGHBANK p policy<(flavour highbank &/ value y) | value m> note +CONFIG_I2C_DESIGNWARE_PLATFORM p policy<(flavour highbank &/ value y) | value m> note + +# POWERPC boot essential devices +CONFIG_FB_VOODOO1 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_3DFX p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_PS3 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_ATY128 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_RADEON p policy<(arch powerpc &/ value y) | value m> note +CONFIG_I2C_POWERMAC p policy<(arch powerpc &/ value y) | value m> note +CONFIG_NVRAM p policy<(arch powerpc &/ value y) | value m> note +CONFIG_HW_RANDOM_PASEMI p policy<(arch powerpc &/ value y) | value m> note +CONFIG_PS3_PS3AV p policy<(arch powerpc &/ value y) | value m> note +CONFIG_PS3_SYS_MANAGER p policy<(arch powerpc &/ value y) | value m> note +CONFIG_SERIAL_PMACZILOG p policy<(arch powerpc &/ value y) | value m> note +CONFIG_THERM_ADT746X p policy<(arch powerpc &/ value y) | value m> note + +# XEN host boot essential +CONFIG_XEN_ACPI_PROCESSOR p policy<(arch i386 amd64 &/ value y) | value m> + +# devices which make no sense on some platforms +CONFIG_PCCARD p policy<(arch armel armhf &/ value n) | value m> note + +# GRUB2 boot requirement +CONFIG_FRAMEBUFFER_CONSOLE y note + +# TESTING options +CONFIG_DMATEST n flag +CONFIG_DEBUG_NX_TEST n flag +CONFIG_BACKTRACE_SELF_TEST n flag +CONFIG_FB_VIRTUAL n flag +CONFIG_MMC_TEST n flag +CONFIG_MMIOTRACE_TEST n flag +CONFIG_RCU_TORTURE_TEST n flag +CONFIG_IEEE802154_FAKEHARD n flag +CONFIG_LKDTM n flag +CONFIG_WL12XX_SDIO_TEST n flag +CONFIG_RING_BUFFER_BENCHMARK n flag +CONFIG_RTC_DRV_TEST n flag +CONFIG_USB_DUMMY_HCD n flag +CONFIG_PCIEAER_INJECT n flag +CONFIG_PPS_CLIENT_KTIMER n flag +CONFIG_CRC32_SELFTEST n flag +CONFIG_OF_SELFTEST n flag +CONFIG_USB_ZERO_HNPTEST n flag + +# DEBUGGING option +CONFIG_BRCMDBG - flag +CONFIG_USB_XHCI_HCD_DEBUGGING n flag + +# USB +CONFIG_USB_EHCI_HCD y note +CONFIG_USB_OHCI_HCD y note +CONFIG_USB_UHCI_HCD y note +CONFIG_USB_XHCI_HCD y note + +# ARM commonly use sd cards as root disks. +CONFIG_MMC_SDHCI p policy<(flavour omap highbank &/ value y) | value m> note + +# Security risk. +CONFIG_ACPI_CUSTOM_METHOD n note + +# DM_RAID45 only appears in PC BIOS based systems +CONFIG_DM_RAID45 p policy<(arch i386 amd64 &/ value m) | value n> note + +# EFI_VARS is required for EFI boot +CONFIG_EFI_VARS y note + +# OLD/DEPRECATED things +CONFIG_BLK_DEV_HD n note +CONFIG_IA32_AOUT n note +CONFIG_BLK_DEV_SR_VENDOR n note +CONFIG_MOUSE_INPORT n note +CONFIG_OMAP_IOVMM n note + +# Debugging options are off by default, we want those below. +CONFIG_DEBUG_FS y note +CONFIG_DEBUG_KERNEL y note + +# IKCONFIG not required +CONFIG_IKCONFIG n note + +# POWERPC +CONFIG_PATA_MACIO y note +CONFIG_I2C_ALGOBIT p policy<(arch powerpc &/ value y) | value m> note + +# Non-obvious filesystems. +CONFIG_USB_FUNCTIONFS m note +CONFIG_USB_GADGETFS m note +CONFIG_LOGFS n note +CONFIG_USB_OTG_BLACKLIST_HUB n note +CONFIG_USB_OTG_WHITELIST n note + +# filesystem misc +CONFIG_AUFS_PROC_MAP n note +CONFIG_SQUASHFS_4K_DEVBLK_SIZE n note + +# ARM omap3 +CONFIG_PANEL_DVI y note +CONFIG_PANEL_SHARP_LS037V7DW01 p policy<(flavour omap &/ value y) | value m> note +CONFIG_PANEL_TPO_TD043MTEA1 p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC_MCBSP p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE p policy<(flavour omap &/ value y) | value m> note +CONFIG_USB_MUSB_TUSB6010 p policy<(flavour omap highbank &/ value n) | value m> note +CONFIG_USB_OMAP n note + +# ARM gadget mode +CONFIG_USB_GADGET p policy<(flavour omap omap4 &/ value y) | value m> note +CONFIG_USB_OTG y note +CONFIG_USB_G_MULTI p policy<(flavour omap omap4 &/ value m) | value n> note +CONFIG_USB_M66592 n note + +# powerpc64-smp requires this as CONFIG_MAPLE is enabled +CONFIG_ATA_NONSTANDARD p policy<(flavour powerpc64-smp &/ value y) | value n> note + +# APM Emulation is deliberately off on ARM to prevent new use. +CONFIG_APM_EMULATION p policy<(arch armel armhf &/ value n) | value m> note + +# BLK_DEV_XD -- ancient drives +CONFIG_BLK_DEV_XD n note + +# Geode specific, should be enabled by drivers that need it not manually. +CONFIG_CS5535_MFGPT n note +CONFIG_GPIO_CS5535 p policy<(value CONFIG_OLPC_X01_SCI y &/ value y) | value m> note + +# DVB_DUMMY_FE only recommended for experts +CONFIG_DVB_DUMMY_FE n note + +# ARM unsupported SOC +CONFIG_FTGMAC100 n note +CONFIG_FTMAC100 n note +CONFIG_ARCH_EXYNOS n note +CONFIG_ARCH_HIGHBANK n note +CONFIG_ARCH_PICOXCELL n note +CONFIG_ARCH_PRIMA2 n note +CONFIG_ARCH_ZYNQ n note + +# Options which really should not have an option at all. +CONFIG_SIGMA n note +CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL n + +# Items which are simply miss identified +CONFIG_DEBUG_LL_UART_NONE y note +CONFIG_USB_SERIAL_DEBUG m note + +# Experimental +CONFIG_DM_THIN_PROVISIONING m note +CONFIG_RTL8192DE m note +CONFIG_BLK_DEV_UMEM m note + +# PHY device with non-standard naming. +CONFIG_B43_PHY_HT y note +CONFIG_B43_PHY_N y note +CONFIG_STE10XP y note + +# Optional scheduling control +CONFIG_CFS_BANDWIDTH y note + +# Hardware specific experimental options. +CONFIG_EDAC_SBRIDGE m note +CONFIG_SM_FTL m note +CONFIG_SPI_SPIDEV m note +CONFIG_ATH6KL_USB m note +CONFIG_USB_KC2190 y note + +# Dummy drivers +CONFIG_IIO_SIMPLE_DUMMY_BUFFER n note +CONFIG_IIO_SIMPLE_DUMMY_EVENTS n note + +# Options where the default is simply too broad: +# INPUT_KXTJ9_POLLED_MODE -- polling is bad generally +CONFIG_INPUT_KXTJ9_POLLED_MODE n + +# The intel IOMMU being on by default causes a slew of issues with +# machines. We therefore enable its use, but default it off. +CONFIG_INTEL_IOMMU_DEFAULT_ON n note + +# H/W specific options +CONFIG_PATA_HPT3X3_DMA n note +CONFIG_B43_BCMA_EXTRA n note + +# XXX: temporarily disabled options -- build failures. +CONFIG_TI_CPSW - flag +CONFIG_USB_EHCI_HCD_PLATFORM - flag +CONFIG_LIS3L02DQ - flag +CONFIG_EZX_PCAP - flag +CONFIG_TOUCHSCREEN_EGALAX - flag +CONFIG_TOUCHSCREEN_EETI - flag +CONFIG_SPI_PL022 - flag +CONFIG_SPI_DW_MMIO - flag +CONFIG_SENSORS_AK8975 - flag note +CONFIG_IIO p policy<(flavour omap4 &/ value n) | value m> flag + +# Valid y/n options which are in a sensible position. +CONFIG_PPC_ICSWX_USE_SIGILL n note +# forces padding mode, without this we can select at runtime +CONFIG_USB_SERIAL_SAFE_PADDED n note +# allows the console to move to an external USB device +CONFIG_USB_SISUSBVGA_CON n note + +# Old/Deprecated +CONFIG_SCSI_AIC7XXX_OLD n note + +# OSS is handled via pulseaudio +CONFIG_SND_PCM_OSS n note + +# Poulsbo is handled by DRM_GMA500 +CONFIG_STUB_POULSBO n note + +# Risky +CONFIG_RTAS_FLASH n note + +# Only valid on fully certified platforms +CONFIG_ATH9K_DFS_CERTIFIED n note + +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not compatible with upstart +CONFIG_AUDIT_LOGINUID_IMMUTABLE n note + +# Machine specific on systems we cannot encounter. +CONFIG_GPIO_EM n note + +# Standard options. +CONFIG_PANIC_ON_OOPS n note + +# CEPHs dependancies +CONFIG_BLK_DEV_RBD m note + +# CGROUP modifications. +CONFIG_BLK_DEV_THROTTLING y note + +# Not a thing +CONFIG_USB_OHCI_HCD_PLATFORM - flag +CONFIG_USB_EHCI_HCD_PLATFORM - flag +CONFIG_USB_OHCI_HCD_PPC_OF_LE - flag +CONFIG_SENSORS_SCH56XX_COMMON - flag + +# Block Dev +CONFIG_BLK_DEV_XIP n note + +# This option allows bridging between non-IP and IP networks, but is +# effectivly deprecated. We _may_ just _may_ have users on older arches +# so keep it there, but do not spread the pain to systems without these +# other networks. +CONFIG_WAN_ROUTER p policy<(arch i386 amd64 powerpc &/ value m) | value n> --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/amd64/config.common.amd64 +++ linux-lowlatency-3.5.0/debian.lowlatency/config/amd64/config.common.amd64 @@ -0,0 +1,278 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_ACPI_BLACKLIST_YEAR=0 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_PIIX=y +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=y +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DM_RAID45=m +# CONFIG_DVB_FE_CUSTOMISE is not set +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=y +CONFIG_FB_3DFX=m +CONFIG_FB_ATY128=m +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=m +# CONFIG_FB_MACMODES is not set +CONFIG_FB_RADEON=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=m +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IDE is not set +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_INTEL_TXT=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBIPW_DEBUG=y +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=6 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=256 +CONFIG_NVRAM=m +CONFIG_OSF_PARTITION=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=y +CONFIG_PCCARD=m +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=y +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTC_DRV_CMOS=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SATA_SVW=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_STACK_TRACER=y +CONFIG_STAGING_MEDIA=y +# CONFIG_STANDALONE is not set +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +# CONFIG_TWL4030_CORE is not set +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=y +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +# CONFIG_X86_32 is not set +CONFIG_X86_64=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_XEN_MAX_DOMAIN_MEMORY=500 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA32=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/amd64/config.flavour.generic +++ linux-lowlatency-3.5.0/debian.lowlatency/config/amd64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/amd64/config.flavour.lowlatency +++ linux-lowlatency-3.5.0/debian.lowlatency/config/amd64/config.flavour.lowlatency @@ -0,0 +1,19 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +# DELTA: enable full preempt +# +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_RCU_BOOST is not set +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_PREEMPT_TRACER is not set + +# DELTA: switch to HZ=1000 +# +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +CONFIG_HZ_1000=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/armel/config.common.armel +++ linux-lowlatency-3.5.0/debian.lowlatency/config/armel/config.common.armel @@ -0,0 +1,266 @@ +# +# Config options for config.common.armel automatically generated by splitconfig.pl +# +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AMBA_PL08X=y +CONFIG_AMIGA_PARTITION=y +# CONFIG_APM_EMULATION is not set +# CONFIG_ARCH_HIGHBANK is not set +CONFIG_ARCH_OMAP=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATM_BR2684_IPFILTER=y +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +# CONFIG_COMPACTION is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=m +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_LL_UART_NONE=y +CONFIG_DEBUG_USER=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DM_RAID45 is not set +CONFIG_DVB_FE_CUSTOMISE=y +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +# CONFIG_EDAC is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +# CONFIG_EZX_PCAP is not set +CONFIG_FAT_FS=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_SVGALIB is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FONTS=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_FPE_NWFPE=y +# CONFIG_FUNCTION_TRACER is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TWL4030=y +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HIDRAW=y +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_HVC_DCC=y +CONFIG_HZ=128 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +# CONFIG_IWMC3200TOP_DEBUGFS is not set +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +# CONFIG_KSM is not set +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +# CONFIG_LIBERTAS_MESH is not set +# CONFIG_LIS3L02DQ is not set +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_T7L66XB=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TC6387XB=y +CONFIG_MFD_TC6393XB=y +CONFIG_MFD_TMIO=y +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_BCH=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MUSB_PIO_ONLY is not set +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_CALXEDA_XGMAC=m +CONFIG_NET_DMA=y +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NOP_USB_XCEIV=y +CONFIG_NVRAM=m +CONFIG_OC_ETM=y +CONFIG_OSF_PARTITION=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PARPORT_1284=y +# CONFIG_PCCARD is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_PL330_DMA=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2X00_LIB_DEBUGFS=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_TWL4030=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCSI_LOGGING=y +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_AMBA_PL011=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=y +# CONFIG_SND_EMU10K1_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=y +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_TWL4030=y +CONFIG_SND_TIMER=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=y +CONFIG_SPI_PL022=m +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +# CONFIG_STMMAC_ETH is not set +CONFIG_SUN_PARTITION=y +# CONFIG_SWP_EMULATE is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_POWER=y +CONFIG_TWL4030_USB=y +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_XHCI is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_GADGET=y +CONFIG_USB_G_MULTI=m +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +CONFIG_USB_MUSB_HDRC=m +# CONFIG_USB_MUSB_TUSB6010 is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OTG=y +CONFIG_VFAT_FS=y +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +# CONFIG_VIRTIO_BALLOON is not set +# CONFIG_VIRTIO_MMIO is not set +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_WAN=y +# CONFIG_WAN_ROUTER is not set +CONFIG_WATCHDOG=y +# CONFIG_WIMAX_I2400M_SDIO is not set +# CONFIG_WIMAX_I2400M_USB is not set +# CONFIG_WM8350_WATCHDOG is not set +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA_FLAG=0 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/armel/config.flavour.omap +++ linux-lowlatency-3.5.0/debian.lowlatency/config/armel/config.flavour.omap @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.omap automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/armhf/config.common.armhf +++ linux-lowlatency-3.5.0/debian.lowlatency/config/armhf/config.common.armhf @@ -0,0 +1,105 @@ +# +# Config options for config.common.armhf automatically generated by splitconfig.pl +# +# CONFIG_APM_EMULATION is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATM_BR2684_IPFILTER=y +CONFIG_AX25_DAMA_SLAVE=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +# CONFIG_COMPACTION is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CRYPTO_LZO=m +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DM_RAID45 is not set +CONFIG_DVB_FE_CUSTOMISE=y +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC_MM_EDAC=y +# CONFIG_EZX_PCAP is not set +CONFIG_FAT_FS=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_SVGALIB is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_GPIO_TWL4030=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_I2C_ALGOBIT=m +# CONFIG_IWMC3200TOP_DEBUGFS is not set +CONFIG_KGDB=y +# CONFIG_KSM is not set +CONFIG_LATENCYTOP=y +# CONFIG_LIBERTAS_MESH is not set +# CONFIG_LIS3L02DQ is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MUSB_PIO_ONLY is not set +CONFIG_NEED_DMA_MAP_STATE=y +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NOP_USB_XCEIV=y +CONFIG_NR_CPUS=4 +CONFIG_NVRAM=m +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PCCARD is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_PM_DEBUG is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_RCU_FANOUT=32 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2X00_LIB_DEBUGFS=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_SMT is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_SCSI_SPI_ATTRS=m +# CONFIG_SND_EMU10K1_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_STACK_TRACER is not set +CONFIG_STANDALONE=y +# CONFIG_STMMAC_ETH is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=y +# CONFIG_USB_ARCH_HAS_XHCI is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_MUSB_TUSB6010 is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OTG=y +CONFIG_VFAT_FS=y +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +# CONFIG_VIRTIO_BALLOON is not set +# CONFIG_VIRTIO_MMIO is not set +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_WM8350_WATCHDOG is not set +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA_FLAG=0 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/armhf/config.flavour.omap +++ linux-lowlatency-3.5.0/debian.lowlatency/config/armhf/config.flavour.omap @@ -0,0 +1,168 @@ +# +# Config options for config.flavour.omap automatically generated by splitconfig.pl +# +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AMBA_PL08X=y +CONFIG_AMIGA_PARTITION=y +# CONFIG_ARCH_HIGHBANK is not set +CONFIG_ARCH_OMAP=y +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +CONFIG_AUXDISPLAY=y +CONFIG_BCH=y +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_DEBUG_LL_UART_NONE=y +CONFIG_DEBUG_USER=y +# CONFIG_EDAC is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FONTS=y +CONFIG_FPE_NWFPE=y +# CONFIG_FUNCTION_TRACER is not set +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HIDRAW=y +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +CONFIG_HVC_DCC=y +CONFIG_HZ=128 +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_T7L66XB=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TC6387XB=y +CONFIG_MFD_TC6393XB=y +CONFIG_MFD_TMIO=y +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_BCH=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_NET_CALXEDA_XGMAC=m +CONFIG_NET_DMA=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_OC_ETM=y +CONFIG_OSF_PARTITION=y +CONFIG_PARPORT_1284=y +CONFIG_PL330_DMA=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEVFREQ=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_TWL4030=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_AMBA_PL011=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=y +CONFIG_SND_PCM=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_TWL4030=y +CONFIG_SND_TIMER=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=y +CONFIG_SPI_PL022=m +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_STAGING_MEDIA=y +CONFIG_SUN_PARTITION=y +# CONFIG_SWP_EMULATE is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TWL4030_POWER=y +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_GADGET=y +CONFIG_USB_G_MULTI=m +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +CONFIG_USB_MUSB_HDRC=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_WAN=y +CONFIG_WATCHDOG=y +# CONFIG_WIMAX_I2400M_SDIO is not set +# CONFIG_WIMAX_I2400M_USB is not set +CONFIG_XFS_RT=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/armhf/config.flavour.highbank +++ linux-lowlatency-3.5.0/debian.lowlatency/config/armhf/config.flavour.highbank @@ -0,0 +1,168 @@ +# +# Config options for config.flavour.highbank automatically generated by splitconfig.pl +# +# CONFIG_ABX500_CORE is not set +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AMBA_PL08X is not set +# CONFIG_AMIGA_PARTITION is not set +CONFIG_ARCH_HIGHBANK=y +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_AUXDISPLAY is not set +CONFIG_BCH=m +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_BTRFS_FS_POSIX_ACL is not set +CONFIG_CACHE_L2X0=y +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CLEANCACHE is not set +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +# CONFIG_CPU_IDLE is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_DEBUG_LL_UART_NONE is not set +# CONFIG_DEBUG_USER is not set +CONFIG_EDAC=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_EVM is not set +CONFIG_EXT2_FS=y +CONFIG_FB_CFB_COPYAREA=m +CONFIG_FB_CFB_FILLRECT=m +CONFIG_FB_CFB_IMAGEBLIT=m +# CONFIG_FONTS is not set +# CONFIG_FPE_NWFPE is not set +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +# CONFIG_HAMRADIO is not set +# CONFIG_HIDRAW is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_HVC_DCC is not set +CONFIG_HZ=100 +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +CONFIG_IP_PNP=y +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_DEBUG is not set +# CONFIG_IRDA_FAST_RR is not set +# CONFIG_IRDA_ULTRA is not set +# CONFIG_ISDN is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_KEXEC is not set +# CONFIG_LDM_PARTITION is not set +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC_PARTITION is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODVERSIONS is not set +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NET_CALXEDA_XGMAC=y +# CONFIG_NET_DMA is not set +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="iso8859-1" +# CONFIG_OC_ETM is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_PARPORT_1284 is not set +CONFIG_PL330_DMA=y +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_PPP_FILTER is not set +# CONFIG_PPP_MULTILINK is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PSTORE is not set +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_TWL4030=m +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set +# CONFIG_SECURITY_SELINUX_DISABLE is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_AMBA_PL011=y +# CONFIG_SERIAL_NONSTANDARD is not set +CONFIG_SERIO_SERPORT=y +# CONFIG_SGI_PARTITION is not set +CONFIG_SND=m +CONFIG_SND_PCM=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +# CONFIG_SOLARIS_X86_PARTITION is not set +CONFIG_SOUND=m +CONFIG_SPI_PL022=y +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_STAGING_MEDIA is not set +# CONFIG_SUN_PARTITION is not set +CONFIG_SWP_EMULATE=y +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TCP_MD5SIG is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TWL4030_POWER is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB_ARCH_HAS_OHCI is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_WAN is not set +# CONFIG_WATCHDOG is not set +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +# CONFIG_XFS_RT is not set --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/i386/config.common.i386 +++ linux-lowlatency-3.5.0/debian.lowlatency/config/i386/config.common.i386 @@ -0,0 +1,277 @@ +# +# Config options for config.common.i386 automatically generated by splitconfig.pl +# +# CONFIG_64BIT is not set +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_ACPI_BLACKLIST_YEAR=2000 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_PIIX=y +# CONFIG_ATM_BR2684_IPFILTER is not set +# CONFIG_AUDIT_ARCH is not set +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=y +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DM_RAID45=m +# CONFIG_DVB_FE_CUSTOMISE is not set +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=y +CONFIG_FB_3DFX=m +CONFIG_FB_ATY128=m +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=m +# CONFIG_FB_MACMODES is not set +CONFIG_FB_RADEON=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=m +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IDE is not set +CONFIG_ILLEGAL_POINTER_VALUE=0 +# CONFIG_INTEL_TXT is not set +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISA=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBIPW_DEBUG=y +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=8 +CONFIG_NVRAM=m +CONFIG_OSF_PARTITION=y +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=y +CONFIG_PCCARD=m +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=32 +CONFIG_REGULATOR_DEBUG=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTC_DRV_CMOS=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SATA_SVW=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_PCM=m +CONFIG_SND_SBAWE_SEQ=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPI_PXA2XX_PCI=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_STACK_TRACER=y +CONFIG_STAGING_MEDIA=y +# CONFIG_STANDALONE is not set +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +# CONFIG_TWL4030_CORE is not set +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=y +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86_MINIMUM_CPU_FAMILY=5 +CONFIG_X86_SPEEDSTEP_LIB=y +CONFIG_XEN_MAX_DOMAIN_MEMORY=64 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +# CONFIG_ZONE_DMA32 is not set +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/i386/config.flavour.generic +++ linux-lowlatency-3.5.0/debian.lowlatency/config/i386/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/i386/config.flavour.lowlatency +++ linux-lowlatency-3.5.0/debian.lowlatency/config/i386/config.flavour.lowlatency @@ -0,0 +1,19 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +# DELTA: enable full preempt +# +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_RCU_BOOST is not set +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_PREEMPT_TRACER is not set + +# DELTA: switch to HZ=1000 +# +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +CONFIG_HZ_1000=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/powerpc/config.common.powerpc +++ linux-lowlatency-3.5.0/debian.lowlatency/config/powerpc/config.common.powerpc @@ -0,0 +1,264 @@ +# +# Config options for config.common.powerpc automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +CONFIG_AMIGA_PARTITION=y +CONFIG_APM_EMULATION=m +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_PIIX=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +# CONFIG_AX25_DAMA_SLAVE is not set +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CLEANCACHE=y +# CONFIG_COMPACTION is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_IDLE=y +CONFIG_CRYPTO_LZO=m +# CONFIG_DEBUG_INFO is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DM_RAID45 is not set +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=m +CONFIG_FB_3DFX=y +CONFIG_FB_ATY128=y +CONFIG_FB_BACKLIGHT=y +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=y +CONFIG_FB_MACMODES=y +CONFIG_FB_RADEON=y +CONFIG_FB_SVGALIB=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +CONFIG_GPIO_TWL4030=m +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +# CONFIG_HVC_CONSOLE is not set +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IBMEBUS is not set +# CONFIG_IDE is not set +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +# CONFIG_IRQ_ALL_CPUS is not set +# CONFIG_ISA is not set +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KSM=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_LPARCFG is not set +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +# CONFIG_MEMORY_HOTREMOVE is not set +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=8 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NVRAM=y +CONFIG_OSF_PARTITION=y +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=m +CONFIG_PCCARD=m +CONFIG_PCI_SYSCALL=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPC_4K_PAGES=y +# CONFIG_PPC_64K_PAGES is not set +# CONFIG_PPC_SMLPAR is not set +# CONFIG_PPC_SPLPAR is not set +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSERIES_ENERGY=m +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +# CONFIG_RTAS_FLASH is not set +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_SATA_SVW=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=m +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_XFS_RT=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/powerpc/config.flavour.powerpc-smp +++ linux-lowlatency-3.5.0/debian.lowlatency/config/powerpc/config.flavour.powerpc-smp @@ -0,0 +1,43 @@ +# +# Config options for config.flavour.powerpc-smp automatically generated by splitconfig.pl +# +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +# CONFIG_ARCH_NO_VIRT_TO_BUS is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_CFG80211_REG_DEBUG=y +# CONFIG_CRASH_DUMP is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FORCE_MAX_ZONEORDER=11 +# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_KERNEL_START=0xc0000000 +# CONFIG_KGDB is not set +# CONFIG_LATENCYTOP is not set +CONFIG_MAX_ACTIVE_REGIONS=32 +# CONFIG_MMIO_NVRAM is not set +# CONFIG_MPIC_U3_HT_IRQS is not set +# CONFIG_NEED_DMA_MAP_STATE is not set +# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set +# CONFIG_NONSTATIC_KERNEL is not set +CONFIG_NR_CPUS=4 +CONFIG_PAGE_OFFSET=0xc0000000 +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_PPC64 is not set +# CONFIG_PPC_970_NAP is not set +# CONFIG_PPC_CELL is not set +# CONFIG_PPC_ICP_HV is not set +# CONFIG_PPC_ICP_NATIVE is not set +# CONFIG_PPC_ICS_RTAS is not set +CONFIG_PPC_INDIRECT_PCI=y +# CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_MPC106=y +# CONFIG_PPC_P7_NAP is not set +# CONFIG_PPC_XICS is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_SCHEDSTATS is not set +CONFIG_WORD_SIZE=32 +CONFIG_ZLIB_DEFLATE=m --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/powerpc/config.flavour.powerpc64-smp +++ linux-lowlatency-3.5.0/debian.lowlatency/config/powerpc/config.flavour.powerpc64-smp @@ -0,0 +1,43 @@ +# +# Config options for config.flavour.powerpc64-smp automatically generated by splitconfig.pl +# +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_NO_VIRT_TO_BUS=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ATA_NONSTANDARD=y +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CRASH_DUMP=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FORCE_MAX_ZONEORDER=13 +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HUGETLB_PAGE=y +CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_KGDB=y +CONFIG_LATENCYTOP=y +CONFIG_MAX_ACTIVE_REGIONS=256 +CONFIG_MMIO_NVRAM=y +CONFIG_MPIC_U3_HT_IRQS=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NONSTATIC_KERNEL=y +CONFIG_NR_CPUS=1024 +CONFIG_PAGE_OFFSET=0xc000000000000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PPC64=y +CONFIG_PPC_970_NAP=y +CONFIG_PPC_CELL=y +CONFIG_PPC_ICP_HV=y +CONFIG_PPC_ICP_NATIVE=y +CONFIG_PPC_ICS_RTAS=y +# CONFIG_PPC_INDIRECT_PCI is not set +CONFIG_PPC_MM_SLICES=y +# CONFIG_PPC_MPC106 is not set +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_XICS=y +CONFIG_RCU_FANOUT=64 +CONFIG_SCHEDSTATS=y +CONFIG_WORD_SIZE=64 +CONFIG_ZLIB_DEFLATE=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/powerpc/ignore +++ linux-lowlatency-3.5.0/debian.lowlatency/config/powerpc/ignore @@ -0,0 +1 @@ +1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/powerpc/ignore.modules +++ linux-lowlatency-3.5.0/debian.lowlatency/config/powerpc/ignore.modules @@ -0,0 +1 @@ +1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/ppc64/config.common.ppc64 +++ linux-lowlatency-3.5.0/debian.lowlatency/config/ppc64/config.common.ppc64 @@ -0,0 +1,301 @@ +# +# Config options for config.common.ppc64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_NO_VIRT_TO_BUS=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_NONSTANDARD=y +CONFIG_ATA_PIIX=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +# CONFIG_AX25_DAMA_SLAVE is not set +CONFIG_BCH=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=m +# CONFIG_DEBUG_INFO is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DM_RAID45 is not set +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=m +CONFIG_FB_3DFX=y +CONFIG_FB_ATY128=y +CONFIG_FB_BACKLIGHT=y +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=y +CONFIG_FB_MACMODES=y +CONFIG_FB_RADEON=y +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FORCE_MAX_ZONEORDER=9 +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +CONFIG_GPIO_TWL4030=m +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HVC_CONSOLE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_IBMEBUS=y +CONFIG_IDE=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_IRQ_ALL_CPUS=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_LPARCFG=y +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_ACTIVE_REGIONS=256 +CONFIG_MAX_RAW_DEVS=8192 +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMIO_NVRAM=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MPIC_U3_HT_IRQS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=8 +CONFIG_NONSTATIC_KERNEL=y +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=1024 +CONFIG_OSF_PARTITION=y +CONFIG_PAGE_OFFSET=0xc000000000000000 +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=m +CONFIG_PCCARD=m +CONFIG_PCI_SYSCALL=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPC64=y +# CONFIG_PPC_4K_PAGES is not set +CONFIG_PPC_64K_PAGES=y +CONFIG_PPC_970_NAP=y +CONFIG_PPC_CELL=y +CONFIG_PPC_ICP_HV=y +CONFIG_PPC_ICP_NATIVE=y +CONFIG_PPC_ICS_RTAS=y +# CONFIG_PPC_INDIRECT_PCI is not set +CONFIG_PPC_MM_SLICES=y +# CONFIG_PPC_MPC106 is not set +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_SMLPAR=y +CONFIG_PPC_SPLPAR=y +CONFIG_PPC_XICS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSERIES_ENERGY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTAS_FLASH=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_SATA_SVW=y +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SSB_PCMCIAHOST=y +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=m +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD_PPC_OF_LE=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=64 +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_WORD_SIZE=64 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/ppc64/config.flavour.powerpc64-smp +++ linux-lowlatency-3.5.0/debian.lowlatency/config/ppc64/config.flavour.powerpc64-smp @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.powerpc64-smp automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/config.common.ports +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/config.common.ubuntu +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/config.common.ubuntu @@ -0,0 +1,6512 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_32BIT=y +CONFIG_3C515=m +# CONFIG_40x is not set +# CONFIG_44x is not set +CONFIG_60XX_WDT=m +CONFIG_6PACK=m +CONFIG_6xx=y +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_8129=y +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_9P_FS=m +# CONFIG_9P_FSCACHE is not set +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_AB3100_CORE=y +CONFIG_AB3100_OTP=m +CONFIG_AC3200=m +CONFIG_AC97_BUS=m +# CONFIG_ACCESSIBILITY is not set +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_ACERHDF=m +CONFIG_ACER_WMI=m +# CONFIG_ACORN_PARTITION_ADFS is not set +# CONFIG_ACORN_PARTITION_CUMANA is not set +# CONFIG_ACORN_PARTITION_EESOX is not set +CONFIG_ACORN_PARTITION_ICS=y +# CONFIG_ACORN_PARTITION_POWERTEC is not set +CONFIG_ACORN_PARTITION_RISCIX=y +CONFIG_ACPI=y +CONFIG_ACPI_AC=y +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_EINJ=m +CONFIG_ACPI_APEI_ERST_DEBUG=m +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_BATTERY=y +CONFIG_ACPI_BGRT=y +CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_CMPC=m +CONFIG_ACPI_CONTAINER=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_CUSTOM_DSDT_FILE="" +# CONFIG_ACPI_CUSTOM_METHOD is not set +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_EC_DEBUGFS=m +CONFIG_ACPI_FAN=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_HOTPLUG_MEMORY=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCI_SLOT=m +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_QUICKSTART=m +CONFIG_ACPI_SBS=m +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_THERMAL=y +CONFIG_ACPI_TOSHIBA=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_WMI=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ACT200L_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD5064=m +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +CONFIG_AD5360=m +CONFIG_AD5380=m +CONFIG_AD5421=m +CONFIG_AD5446=m +CONFIG_AD5504=m +CONFIG_AD5624R_SPI=m +CONFIG_AD5686=m +CONFIG_AD5764=m +CONFIG_AD5791=m +CONFIG_AD5930=m +CONFIG_AD5933=m +CONFIG_AD7150=m +CONFIG_AD7152=m +CONFIG_AD7192=m +CONFIG_AD7280=m +CONFIG_AD7291=m +CONFIG_AD7298=m +CONFIG_AD7476=m +CONFIG_AD7606=m +CONFIG_AD7606_IFACE_PARALLEL=m +CONFIG_AD7606_IFACE_SPI=m +CONFIG_AD7746=m +CONFIG_AD7780=m +CONFIG_AD7793=m +CONFIG_AD7816=m +CONFIG_AD7887=m +CONFIG_AD799X=m +CONFIG_AD799X_RING_BUFFER=y +CONFIG_AD8366=m +CONFIG_AD9832=m +CONFIG_AD9834=m +CONFIG_AD9850=m +CONFIG_AD9852=m +CONFIG_AD9910=m +CONFIG_AD9951=m +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_ADB=y +CONFIG_ADB_CUDA=y +CONFIG_ADB_MACIO=y +CONFIG_ADB_PMU=y +CONFIG_ADB_PMU_LED=y +# CONFIG_ADB_PMU_LED_IDE is not set +CONFIG_ADE7753=m +CONFIG_ADE7754=m +CONFIG_ADE7758=m +CONFIG_ADE7759=m +CONFIG_ADE7854=m +CONFIG_ADE7854_I2C=m +CONFIG_ADE7854_SPI=m +CONFIG_ADFS_FS=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_ADIS16060=m +CONFIG_ADIS16080=m +CONFIG_ADIS16130=m +CONFIG_ADIS16201=m +CONFIG_ADIS16203=m +CONFIG_ADIS16204=m +CONFIG_ADIS16209=m +CONFIG_ADIS16220=m +CONFIG_ADIS16240=m +CONFIG_ADIS16260=m +CONFIG_ADIS16400=m +CONFIG_ADM8211=m +CONFIG_ADT7310=m +CONFIG_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADT7410=m +# CONFIG_ADVANCED_OPTIONS is not set +CONFIG_ADVANTECH_WDT=m +CONFIG_ADXRS450=m +CONFIG_AEABI=y +CONFIG_AFFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FS=m +CONFIG_AFS_FSCACHE=y +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_AGP=y +CONFIG_AGP_ALI=m +CONFIG_AGP_AMD=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_ATI=m +CONFIG_AGP_EFFICEON=m +CONFIG_AGP_INTEL=y +CONFIG_AGP_NVIDIA=y +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_UNINORTH=m +CONFIG_AGP_VIA=y +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_DEBUG_ENABLE=y +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 +CONFIG_AIC7XXX_DEBUG_ENABLE=y +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_AIO=y +CONFIG_AIRO=m +CONFIG_AIRO_CS=m +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_ALIX=y +CONFIG_ALI_FIR=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTIVEC=y +CONFIG_AMD8111_ETH=m +CONFIG_AMD_IOMMU=y +CONFIG_AMD_IOMMU_STATS=y +CONFIG_AMD_IOMMU_V2=m +CONFIG_AMD_NB=y +CONFIG_AMD_NUMA=y +CONFIG_AMD_PHY=y +CONFIG_AMILO_RFKILL=m +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_INTF_ALARM_DEV=y +CONFIG_ANDROID_LOGGER=m +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_TIMED_GPIO=m +CONFIG_ANDROID_TIMED_OUTPUT=y +CONFIG_ANON_INODES=y +CONFIG_ANSLCD=m +CONFIG_APB_TIMER=y +CONFIG_APDS9802ALS=m +CONFIG_APM=m +# CONFIG_APM_ALLOW_INTS is not set +# CONFIG_APM_CPU_IDLE is not set +# CONFIG_APM_DISPLAY_BLANK is not set +# CONFIG_APM_DO_ENABLE is not set +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +CONFIG_APM_POWER=m +CONFIG_APPLE_AIRPORT=m +CONFIG_APPLE_GMUX=m +CONFIG_APPLICOM=m +CONFIG_APRICOT=m +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCMRING is not set +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CNS3XXX is not set +CONFIG_ARCH_CPU_PROBE_RELEASE=y +# CONFIG_ARCH_DAVINCI is not set +CONFIG_ARCH_DISCARD_MEMBLOCK=y +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_EBSA110 is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_EXYNOS is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_H720X is not set +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CPUFREQ=y +CONFIG_ARCH_HAS_CPU_AUTOPROBE=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_HAS_ILOG2_U32=y +CONFIG_ARCH_HAS_ILOG2_U64=y +CONFIG_ARCH_HAS_OPP=y +CONFIG_ARCH_HAS_WALK_MEMORY=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_LPC32XX is not set +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MEMORY_PROBE=y +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_MXS is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_NOMADIK is not set +CONFIG_ARCH_NR_GPIO=0 +# CONFIG_ARCH_OMAP1 is not set +# CONFIG_ARCH_OMAP2 is not set +CONFIG_ARCH_OMAP2PLUS=y +CONFIG_ARCH_OMAP2PLUS_TYPICAL=y +CONFIG_ARCH_OMAP3=y +# CONFIG_ARCH_OMAP4 is not set +CONFIG_ARCH_OMAP_OTG=y +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PICOXCELL is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PRIMA2 is not set +CONFIG_ARCH_PROC_KCORE_TEXT=y +# CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y +# CONFIG_ARCH_REALVIEW is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64X0 is not set +# CONFIG_ARCH_S5PC100 is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_SHMOBILE is not set +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_U300 is not set +# CONFIG_ARCH_U8500 is not set +CONFIG_ARCH_USES_PG_UNCACHED=y +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VT8500 is not set +# CONFIG_ARCH_W90X900 is not set +CONFIG_ARCH_WANTS_FREEZER_CONTROL=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +# CONFIG_ARCH_ZYNQ is not set +CONFIG_ARCNET=m +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=m +CONFIG_ARCNET_COM20020_CS=m +CONFIG_ARCNET_COM20020_ISA=m +CONFIG_ARCNET_COM20020_PCI=m +CONFIG_ARCNET_COM90xx=m +CONFIG_ARCNET_COM90xxIO=m +CONFIG_ARCNET_RAW=m +CONFIG_ARCNET_RIM_I=m +CONFIG_ARM=y +CONFIG_ARM_AMBA=y +# CONFIG_ARM_APPENDED_DTB is not set +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_751472 is not set +CONFIG_ARM_ERRATA_754322=y +# CONFIG_ARM_ERRATA_754327 is not set +# CONFIG_ARM_ERRATA_764369 is not set +# CONFIG_ARM_EXYNOS4210_CPUFREQ is not set +# CONFIG_ARM_EXYNOS4X12_CPUFREQ is not set +# CONFIG_ARM_EXYNOS5250_CPUFREQ is not set +CONFIG_ARM_GIC=y +CONFIG_ARM_KPROBES_TEST=m +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_NR_BANKS=8 +CONFIG_ARM_OMAP2PLUS_CPUFREQ=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_SP805_WATCHDOG=m +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_TIMER_SP804=y +CONFIG_ARM_UNWIND=y +# CONFIG_ARPD is not set +CONFIG_ASHMEM=y +CONFIG_ASUS_LAPTOP=m +CONFIG_ASUS_NB_WMI=m +CONFIG_ASUS_OLED=m +CONFIG_ASUS_WMI=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_RAID6_TEST=m +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_ASYNC_XOR=m +CONFIG_AT1700=m +CONFIG_AT76C50X_USB=m +CONFIG_ATA=y +CONFIG_ATAGS_PROC=y +CONFIG_ATALK=m +CONFIG_ATA_ACPI=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_SFF=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH5K_PCI=y +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_ATH6KL_SDIO=m +CONFIG_ATH6KL_USB=m +CONFIG_ATH9K=m +CONFIG_ATH9K_AHB=y +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_DEBUGFS=y +# CONFIG_ATH9K_DFS_CERTIFIED is not set +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HTC_DEBUGFS=y +CONFIG_ATH9K_HW=m +# CONFIG_ATH9K_MAC_DEBUG is not set +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_RATE_CONTROL=y +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m +CONFIG_ATL2=m +CONFIG_ATM=m +CONFIG_ATMEL=m +CONFIG_ATMEL_PWM=m +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_BR2684=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_DRIVERS=y +CONFIG_ATM_DUMMY=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_FORE200E=m +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_FORE200E_TX_RETRY=16 +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_HE=m +CONFIG_ATM_HE_USE_SUNI=y +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_LANAI=m +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +CONFIG_ATM_SOLOS=m +CONFIG_ATM_TCP=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ATP=m +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set +CONFIG_AUDIT_TREE=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUFS_BDEV_LOOP=y +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +# CONFIG_AUFS_BRANCH_MAX_511 is not set +CONFIG_AUFS_BR_FUSE=y +CONFIG_AUFS_BR_HFSPLUS=y +CONFIG_AUFS_BR_RAMFS=y +# CONFIG_AUFS_DEBUG is not set +# CONFIG_AUFS_EXPORT is not set +CONFIG_AUFS_FS=m +# CONFIG_AUFS_HNOTIFY is not set +CONFIG_AUFS_POLL=y +# CONFIG_AUFS_PROC_MAP is not set +# CONFIG_AUFS_RDU is not set +CONFIG_AUFS_SBILIST=y +# CONFIG_AUFS_SHWH is not set +# CONFIG_AUFS_SP_IATTR is not set +CONFIG_AUTOFS4_FS=m +# CONFIG_AUTO_ZRELADDR is not set +CONFIG_AVERAGE=y +CONFIG_AX25=m +CONFIG_AX88796=m +# CONFIG_AX88796_93CX6 is not set +CONFIG_B43=m +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_DEBUG=y +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +CONFIG_B43LEGACY_HWRNG=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PIO=y +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_B43_BCMA=y +# CONFIG_B43_BCMA_EXTRA is not set +CONFIG_B43_BCMA_PIO=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43_HWRNG=y +CONFIG_B43_LEDS=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCI_AUTOSELECT=y +# CONFIG_B43_PCMCIA is not set +CONFIG_B43_PHY_HT=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PIO=y +# CONFIG_B43_SDIO is not set +CONFIG_B43_SSB=y +CONFIG_B44=m +CONFIG_B44_PCI=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_BACKLIGHT_88PM860X=m +CONFIG_BACKLIGHT_AAT2870=m +CONFIG_BACKLIGHT_ADP5520=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ATMEL_PWM=m +CONFIG_BACKLIGHT_CARILLO_RANCH=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_DA9052=m +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_LM3533=m +CONFIG_BACKLIGHT_LP855X=m +CONFIG_BACKLIGHT_MAX8925=m +CONFIG_BACKLIGHT_PANDORA=m +CONFIG_BACKLIGHT_PCF50633=m +CONFIG_BACKLIGHT_PROGEAR=m +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_BATMAN_ADV=m +CONFIG_BATMAN_ADV_BLA=y +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_DA9030=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2781=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_INTEL_MID=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_PMU=m +CONFIG_BATTERY_SBS=m +CONFIG_BAYCOM_EPP=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCH_CONST_M=14 +CONFIG_BCH_CONST_PARAMS=y +CONFIG_BCH_CONST_T=4 +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_POSSIBLE=y +CONFIG_BCM_WIMAX=m +# CONFIG_BDI_SWITCH is not set +CONFIG_BE2ISCSI=m +CONFIG_BE2NET=m +# CONFIG_BEFS_DEBUG is not set +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BINARY_PRINTF=y +CONFIG_BINFMT_AOUT=m +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_MISC=m +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CPQ_CISS_DA=m +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_3W_XXXX_RAID=m +# CONFIG_BLK_DEV_AEC62XX is not set +# CONFIG_BLK_DEV_ALI15X3 is not set +# CONFIG_BLK_DEV_AMD74XX is not set +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BLK_DEV_CMD64X=m +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m +# CONFIG_BLK_DEV_CS5520 is not set +# CONFIG_BLK_DEV_CS5530 is not set +CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_DELKIN is not set +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_GENERIC is not set +# CONFIG_BLK_DEV_HD is not set +# CONFIG_BLK_DEV_HPT366 is not set +CONFIG_BLK_DEV_IDECD=y +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y +# CONFIG_BLK_DEV_IDECS is not set +CONFIG_BLK_DEV_IDEDMA=y +CONFIG_BLK_DEV_IDEDMA_PCI=y +CONFIG_BLK_DEV_IDEDMA_SFF=y +CONFIG_BLK_DEV_IDEPCI=y +# CONFIG_BLK_DEV_IDETAPE is not set +CONFIG_BLK_DEV_IDE_PMAC=y +CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_IO_TRACE=y +# CONFIG_BLK_DEV_IT8172 is not set +# CONFIG_BLK_DEV_IT8213 is not set +# CONFIG_BLK_DEV_IT821X is not set +# CONFIG_BLK_DEV_JMICRON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NS87415 is not set +CONFIG_BLK_DEV_NVME=m +# CONFIG_BLK_DEV_OPTI621 is not set +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_BLK_DEV_PIIX is not set +# CONFIG_BLK_DEV_PLATFORM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_BLK_DEV_RBD=m +# CONFIG_BLK_DEV_SC1200 is not set +CONFIG_BLK_DEV_SD=y +# CONFIG_BLK_DEV_SIIMAGE is not set +# CONFIG_BLK_DEV_SL82C105 is not set +# CONFIG_BLK_DEV_SLC90E66 is not set +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SVWKS is not set +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_TC86C001 is not set +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_TRM290 is not set +CONFIG_BLK_DEV_UB=m +CONFIG_BLK_DEV_UMEM=m +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_BLK_DEV_XD is not set +# CONFIG_BLK_DEV_XIP is not set +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +CONFIG_BMAC=m +CONFIG_BMP085=y +CONFIG_BMP085_I2C=m +CONFIG_BMP085_SPI=m +CONFIG_BNA=m +CONFIG_BNX2=m +CONFIG_BNX2X=m +CONFIG_BOARD_TPCI200=m +CONFIG_BONDING=m +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTX_TEXT is not set +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOUNCE=y +CONFIG_BPF_JIT=y +CONFIG_BPQETHER=m +CONFIG_BQL=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_BRCMDBG is not set +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_SDIO=y +CONFIG_BRCMFMAC_SDIO_OOB=y +CONFIG_BRCMFMAC_USB=y +CONFIG_BRCMSMAC=m +CONFIG_BRCMUTIL=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +# CONFIG_BRIDGE_EBT_ULOG is not set +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BROADCOM_PHY=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BT=m +CONFIG_BTREE=y +CONFIG_BTRFS_FS=m +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +CONFIG_BT_ATH3K=m +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_CMTP=m +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_WILINK=m +CONFIG_BUG=y +CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_C101=m +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set +CONFIG_CACHE_PL310=y +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_HSI=m +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_SPI_SLAVE=m +# CONFIG_CAIF_SPI_SYNC is not set +CONFIG_CAIF_TTY=m +CONFIG_CAIF_USB=m +CONFIG_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_CAN=m +CONFIG_CAN_BCM=m +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PLATFORM=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_EMS_PCMCIA=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_GW=m +CONFIG_CAN_JANZ_ICAN3=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MSCAN=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCMCIA=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_PM_TRACE=y +CONFIG_CAN_RAW=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_OF_PLATFORM=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=m +CONFIG_CAN_TI_HECC=m +CONFIG_CAN_TSCAN1=m +CONFIG_CAN_VCAN=m +CONFIG_CAPI_AVM=y +CONFIG_CAPI_EICON=y +CONFIG_CAPI_TRACE=y +CONFIG_CARDBUS=y +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_CARL9170=m +# CONFIG_CARL9170_DEBUGFS is not set +CONFIG_CARL9170_HWRNG=y +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARMINE_DRAM_CUSTOM is not set +CONFIG_CASSINI=m +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_CBE_CPUFREQ_SPU_GOVERNOR=m +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CC_STACKPROTECTOR=y +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +# CONFIG_CELL_CPU is not set +CONFIG_CEPH_FS=m +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_CFG80211=m +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_CFQ_GROUP_IOSCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_MEM_RES_CTLR=y +# CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_SCHED=y +CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_LP8727=m +CONFIG_CHARGER_MANAGER=y +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_SMB347=m +CONFIG_CHARGER_TWL4030=m +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_CHR_DEV_OSST=m +CONFIG_CHR_DEV_SCH=m +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_ST=m +CONFIG_CICADA_PHY=y +CONFIG_CIFS=m +CONFIG_CIFS_ACL=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CISS_SCSI_TAPE=y +CONFIG_CLKBLD_I8253=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKEVT_I8253=y +CONFIG_CLKSRC_I8253=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +CONFIG_CLZ_TAB=y +CONFIG_CMA=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CMDLINE="" +# CONFIG_CMDLINE_BOOL is not set +CONFIG_CMM=y +CONFIG_CNIC=m +CONFIG_CODA_FS=m +# CONFIG_CODE_PATCHING_SELFTEST is not set +CONFIG_COMEDI=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_ACL7225B=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_DIO200_ISA=m +CONFIG_COMEDI_AMPLC_DIO200_PCI=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC236_ISA=m +CONFIG_COMEDI_AMPLC_PC236_PCI=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PC263_ISA=m +CONFIG_COMEDI_AMPLC_PC263_PCI=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_DAS08_ISA=m +CONFIG_COMEDI_DAS08_PCI=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DAS800=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_FC=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_ISA_DRIVERS=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL725=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCM3730=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_POC=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_DEBUG is not set +CONFIG_COMPAL_LAPTOP=m +CONFIG_COMPAT=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_COMPAT_BRK is not set +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +# CONFIG_COMPAT_VDSO is not set +CONFIG_CONFIGFS_FS=m +CONFIG_CONNECTOR=y +CONFIG_CONSOLE_POLL=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_COPS=m +CONFIG_COPS_DAYNA=y +CONFIG_COPS_TANGENT=y +CONFIG_CORDIC=m +CONFIG_COSA=m +# CONFIG_CPA_DEBUG is not set +CONFIG_CPU5_WDT=m +CONFIG_CPUSETS=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +# CONFIG_CPU_DCACHE_DISABLE is not set +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_MAPLE=y +CONFIG_CPU_FREQ_PMAC=y +CONFIG_CPU_FREQ_PMAC64=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_HAS_PMU=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRAMFS=m +CONFIG_CRC16=y +CONFIG_CRC32=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CRC7=m +CONFIG_CRC8=m +CONFIG_CRC_CCITT=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC_T10DIF=y +CONFIG_CROSS_COMPILE="" +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_586=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_AES_X86_64=m +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAMELLIA_X86_64=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32C_INTEL=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEV_GEODE=m +CONFIG_CRYPTO_DEV_HIFN_795X=m +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y +CONFIG_CRYPTO_DEV_NX=m +CONFIG_CRYPTO_DEV_OMAP_AES=m +CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_PADLOCK=y +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SALSA20_586=m +CONFIG_CRYPTO_SALSA20_X86_64=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SERPENT_SSE2_586=m +CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_586=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYSTALHD=m +# CONFIG_CS5535_MFGPT is not set +CONFIG_CS89x0=m +CONFIG_CS89x0_PLATFORM=y +CONFIG_CUSE=m +CONFIG_CXT1E1=m +CONFIG_CYCLADES=m +CONFIG_CYCLADES_SYNC=m +CONFIG_CYCLOMX_X25=y +# CONFIG_CYZ_INTR is not set +CONFIG_DA9052_WATCHDOG=m +CONFIG_DAVICOM_PHY=y +CONFIG_DCA=m +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DCB=y +CONFIG_DCDBAS=m +CONFIG_DDR=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_DE4X5=m +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DEBUGGER=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLK_CGROUP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_BOOT_PARAMS is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_DEBUG_HIGHBANK_UART=y +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_NMI_SELFTEST is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_NX_TEST is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DECNET=m +CONFIG_DECNET_NF_GRABULATOR=m +# CONFIG_DECNET_ROUTER is not set +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_XZ=y +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_CUBIC=y +CONFIG_DEFAULT_DEADLINE=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_DEFAULT_IO_DELAY_TYPE=1 +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +# CONFIG_DEFAULT_NOOP is not set +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_SECURITY="apparmor" +CONFIG_DEFAULT_SECURITY_APPARMOR=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_SMACK is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_YAMA is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DEFAULT_UIMAGE is not set +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_DEFXX=m +# CONFIG_DEFXX_MMIO is not set +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_RBU=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_DEPCA=m +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +# CONFIG_DEVKMEM is not set +CONFIG_DEVPORT=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEV_APPLETALK=m +CONFIG_DE_AOC=y +CONFIG_DIRECT_GBPAGES=y +CONFIG_DL2K=m +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DM9000=m +# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set +CONFIG_DM9102=m +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMAR_TABLE=y +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_ENGINE=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +CONFIG_DM_BUFIO=m +CONFIG_DM_CRYPT=m +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_LOG_USERSPACE is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_RAID=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_UEVENT=y +# CONFIG_DM_VERITY is not set +CONFIG_DM_ZERO=m +CONFIG_DNET=m +CONFIG_DNOTIFY=y +CONFIG_DNS_RESOLVER=y +CONFIG_DONGLE=y +CONFIG_DOUBLEFAULT=y +CONFIG_DQL=y +CONFIG_DRAGONRISE_FF=y +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_DRM=m +# CONFIG_DRM_AST is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +CONFIG_DRM_GMA3600=y +CONFIG_DRM_GMA500=m +CONFIG_DRM_GMA600=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_I810=m +CONFIG_DRM_I915=m +CONFIG_DRM_I915_HSW=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_MEDFIELD=y +CONFIG_DRM_MGA=m +# CONFIG_DRM_MGAG200 is not set +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y +# CONFIG_DRM_OMAP is not set +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_SIS=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_TTM=m +CONFIG_DRM_UDL=m +CONFIG_DRM_USB=m +CONFIG_DRM_VIA=m +CONFIG_DRM_VMWGFX=m +CONFIG_DS1682=m +CONFIG_DSCC4=m +CONFIG_DSCC4_PCISYNC=y +CONFIG_DSCC4_PCI_RST=y +# CONFIG_DT3155_CCIR is not set +CONFIG_DT3155_STREAMING=y +CONFIG_DTC=y +CONFIG_DTL=y +CONFIG_DTLK=m +CONFIG_DUMMY=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_DVB_A8293=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_AF9033=m +CONFIG_DVB_AS102=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_B2C2_FLEXCOP=m +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_BT8XX=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET_PATCH=m +CONFIG_DVB_CAPTURE_DRIVERS=y +CONFIG_DVB_CORE=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_CXD2099=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_DDBRIDGE=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_DIB9000=m +CONFIG_DVB_DM1105=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_DRXK=m +CONFIG_DVB_DS3000=m +# CONFIG_DVB_DUMMY_FE is not set +CONFIG_DVB_DYNAMIC_MINORS=y +CONFIG_DVB_EC100=m +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y +CONFIG_DVB_HD29L2=m +CONFIG_DVB_HOPPER=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_IT913X_FE=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_L64781=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGS8GL5=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_MB86A16=m +CONFIG_DVB_MB86A20S=m +CONFIG_DVB_MT312=m +CONFIG_DVB_MT352=m +CONFIG_DVB_NET=y +CONFIG_DVB_NGENE=m +CONFIG_DVB_NXT200X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_PLL=m +CONFIG_DVB_PLUTO2=m +CONFIG_DVB_PT1=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_S5H1411=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_S5H1432=m +CONFIG_DVB_S921=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STV0297=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_TDA10071=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_USB=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_CXUSB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_VES1820=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_ZL10353=m +CONFIG_DW_APB_TIMER=y +CONFIG_DW_DMAC=m +CONFIG_DW_WATCHDOG=m +CONFIG_DX_SEP=m +# CONFIG_DYNAMIC_DEBUG is not set +CONFIG_DYNAMIC_FTRACE=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +# CONFIG_E200 is not set +CONFIG_E2100=m +CONFIG_EARLY_PRINTK=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_INTEL_MID=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_ECHO=m +CONFIG_ECRYPT_FS=y +CONFIG_EDAC_AMD64=m +# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_AMD76X=m +CONFIG_EDAC_AMD8111=m +CONFIG_EDAC_AMD8131=m +CONFIG_EDAC_CPC925=m +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_E7XXX=m +CONFIG_EDAC_HIGHBANK_L2=y +CONFIG_EDAC_HIGHBANK_MC=y +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7300=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I82860=m +CONFIG_EDAC_I82875P=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_MCE_INJ=m +CONFIG_EDAC_PASEMI=m +CONFIG_EDAC_R82600=m +CONFIG_EDAC_SBRIDGE=m +CONFIG_EDAC_X38=m +CONFIG_EDD=y +CONFIG_EDD_OFF=y +CONFIG_EEEPC_LAPTOP=m +CONFIG_EEEPC_WMI=m +CONFIG_EEH=y +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEXPRESS=m +CONFIG_EEXPRESS_PRO=m +CONFIG_EFI=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_STUB=y +CONFIG_EFI_VARS=y +CONFIG_EFS_FS=m +CONFIG_EHEA=m +CONFIG_EISA=y +CONFIG_EISA_NAMES=y +CONFIG_EISA_PCI_EISA=y +CONFIG_EISA_VIRTUAL_ROOT=y +CONFIG_EISA_VLB_PRIMING=y +CONFIG_EL1=m +CONFIG_EL16=m +CONFIG_EL2=m +CONFIG_EL3=m +CONFIG_ELECTRA_CF=m +CONFIG_ELF_CORE=y +CONFIG_ELPLUS=m +# CONFIG_EMBEDDED is not set +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ENCRYPTED_KEYS=y +CONFIG_ENIC=m +# CONFIG_EPAPR_BOOT is not set +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_ES3210=m +CONFIG_ESI_DONGLE=m +CONFIG_ET131X=m +CONFIG_ETH16I=m +CONFIG_ETHERNET=y +CONFIG_ETHOC=m +CONFIG_EUROTECH_WDT=m +CONFIG_EVENTFD=y +CONFIG_EVENT_POWER_TRACING_DEPRECATED=y +CONFIG_EVENT_TRACING=y +CONFIG_EWRK3=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_EXOFS_FS=m +CONFIG_EXPERIMENTAL=y +CONFIG_EXPERT=y +CONFIG_EXPORTFS=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT2_FS_XATTR=y +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_DEFAULTS_TO_ORDERED=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXTCON=m +CONFIG_EXTCON_GPIO=m +CONFIG_EXTCON_MAX8997=m +CONFIG_EXTRA_FIRMWARE="" +CONFIG_EXTRA_TARGETS="" +CONFIG_EXYNOS_VIDEO=y +CONFIG_F71808E_WDT=m +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_FARSYNC=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAULT_INJECTION is not set +CONFIG_FA_DUMP=y +CONFIG_FB=y +# CONFIG_FB_3DFX_ACCEL is not set +CONFIG_FB_3DFX_I2C=y +CONFIG_FB_ARC=m +CONFIG_FB_ARK=m +CONFIG_FB_ARMCLCD=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128_BACKLIGHT=y +CONFIG_FB_ATY_BACKLIGHT=y +CONFIG_FB_ATY_CT=y +CONFIG_FB_ATY_GENERIC_LCD=y +CONFIG_FB_ATY_GX=y +CONFIG_FB_AUO_K1900=m +CONFIG_FB_AUO_K1901=m +CONFIG_FB_AUO_K190X=m +CONFIG_FB_BROADSHEET=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CARMINE_DRAM_EVAL=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_CIRRUS=m +CONFIG_FB_CONTROL=y +CONFIG_FB_CT65550=y +CONFIG_FB_CYBER2000=m +CONFIG_FB_CYBER2000_DDC=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_EFI=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_GEODE=y +CONFIG_FB_GEODE_GX=m +CONFIG_FB_GEODE_GX1=m +CONFIG_FB_GEODE_LX=m +CONFIG_FB_HECUBA=m +CONFIG_FB_HGA=m +CONFIG_FB_I740=m +CONFIG_FB_I810=m +# CONFIG_FB_I810_GTF is not set +CONFIG_FB_IBM_GXT4500=m +CONFIG_FB_IMSTT=y +CONFIG_FB_INTEL=m +# CONFIG_FB_INTEL_DEBUG is not set +CONFIG_FB_INTEL_I2C=y +CONFIG_FB_KYRO=m +CONFIG_FB_LE80578=m +CONFIG_FB_MATROX=m +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_I2C=m +CONFIG_FB_MATROX_MAVEN=m +CONFIG_FB_MATROX_MILLENIUM=y +CONFIG_FB_MATROX_MYSTIQUE=y +CONFIG_FB_MB862XX=m +CONFIG_FB_MB862XX_I2C=y +# CONFIG_FB_MB862XX_LIME is not set +CONFIG_FB_MB862XX_PCI_GDC=y +CONFIG_FB_METRONOME=m +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_N411=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_NVIDIA_BACKLIGHT=y +# CONFIG_FB_NVIDIA_DEBUG is not set +CONFIG_FB_NVIDIA_I2C=y +CONFIG_FB_OF=y +CONFIG_FB_OMAP2=y +CONFIG_FB_OMAP2_DEBUG_SUPPORT=y +CONFIG_FB_OMAP2_NUM_FBS=3 +CONFIG_FB_PLATINUM=y +CONFIG_FB_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_PM3=m +CONFIG_FB_PS3=y +CONFIG_FB_PS3_DEFAULT_SIZE_M=9 +CONFIG_FB_RADEON_BACKLIGHT=y +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_RADEON_I2C=y +CONFIG_FB_RIVA=m +CONFIG_FB_RIVA_BACKLIGHT=y +# CONFIG_FB_RIVA_DEBUG is not set +CONFIG_FB_RIVA_I2C=y +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_S3_DDC=y +CONFIG_FB_SAVAGE=m +CONFIG_FB_SAVAGE_ACCEL=y +CONFIG_FB_SAVAGE_I2C=y +CONFIG_FB_SIS=m +CONFIG_FB_SIS_300=y +CONFIG_FB_SIS_315=y +CONFIG_FB_SM501=m +CONFIG_FB_SM7XX=m +CONFIG_FB_SMSCUFX=m +CONFIG_FB_TMIO=m +CONFIG_FB_TMIO_ACCELL=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UDL=m +CONFIG_FB_UVESA=m +CONFIG_FB_VALKYRIE=y +CONFIG_FB_VESA=m +CONFIG_FB_VGA16=m +CONFIG_FB_VIA=m +# CONFIG_FB_VIA_DIRECT_PROCFS is not set +CONFIG_FB_VIA_X_COMPATIBILITY=y +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VT8623=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FB_XGI=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +CONFIG_FILE_LOCKING=y +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIREWIRE_OHCI=m +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FLATMEM=y +CONFIG_FLATMEM_MANUAL=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_FONT_10x18 is not set +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FONT_ACORN_8x8=y +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_SUN8x16 is not set +CONFIG_FORCEDETH=m +# CONFIG_FPE_FASTFPE is not set +# CONFIG_FPE_NWFPE_XP is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +CONFIG_FSCACHE_HISTOGRAM=y +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_FSCACHE_STATS=y +CONFIG_FSL_LBC=y +# CONFIG_FSL_ULI1575 is not set +CONFIG_FSNOTIFY=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FT1000=m +CONFIG_FT1000_PCMCIA=m +CONFIG_FT1000_USB=m +# CONFIG_FTGMAC100 is not set +CONFIG_FTL=m +# CONFIG_FTMAC100 is not set +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +# CONFIG_FTR_FIXUP_SELFTEST is not set +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_FUJITSU_TABLET=m +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FUSE_FS=y +CONFIG_FUSION=y +CONFIG_FUSION_CTL=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_LAN=m +CONFIG_FUSION_LOGGING=y +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_SAS=m +CONFIG_FUSION_SPI=m +CONFIG_FUTEX=y +CONFIG_FW_LOADER=y +CONFIG_GACT_PROB=y +CONFIG_GADGET_UAC1=y +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GARP=m +CONFIG_GART_IOMMU=y +# CONFIG_GCOV_KERNEL is not set +CONFIG_GELIC_NET=m +CONFIG_GELIC_WIRELESS=y +CONFIG_GENERIC_ACL=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU=y +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IO=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_NVRAM=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_TBSYNC=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_TRACER=y +CONFIG_GEOS=y +# CONFIG_GE_FPGA is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_GIGASET_BASE=m +# CONFIG_GIGASET_CAPI is not set +# CONFIG_GIGASET_DEBUG is not set +# CONFIG_GIGASET_DUMMYLL is not set +CONFIG_GIGASET_I4L=y +CONFIG_GIGASET_M101=m +CONFIG_GIGASET_M105=m +CONFIG_GIRBIL_DONGLE=m +# CONFIG_GOOGLE_FIRMWARE is not set +CONFIG_GPIOLIB=y +CONFIG_GPIO_74X164=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_CS5535=m +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_ICH=m +CONFIG_GPIO_INTEL_PMIC=y +CONFIG_GPIO_IT8761E=m +CONFIG_GPIO_JANZ_TTL=m +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MAX730X=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_ML_IOH=m +CONFIG_GPIO_MSIC=y +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_PCH=m +CONFIG_GPIO_PL061=y +CONFIG_GPIO_RC5T583=y +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SX150X=y +CONFIG_GPIO_TC3589X=y +CONFIG_GPIO_TIMBERDALE=y +CONFIG_GPIO_TPS65910=y +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_UCB1400=y +CONFIG_GPIO_VX855=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_WM8350=m +CONFIG_GPIO_WM8994=m +CONFIG_GPIO_XILINX=y +CONFIG_GREENASIA_FF=y +CONFIG_HAMACHI=m +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAPPYMEAL=m +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +# CONFIG_HAS_RAPIDIO is not set +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARM_SCU=y +CONFIG_HAVE_ARM_TWD=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_HAVE_BPF_JIT=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_MSI=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_HAVE_MTD_OTP=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_PWM=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_SYSCALL_WRAPPERS=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +# CONFIG_HCALL_STATS is not set +CONFIG_HDLC=m +CONFIG_HDLC_CISCO=m +CONFIG_HDLC_FR=m +CONFIG_HDLC_PPP=m +CONFIG_HDLC_RAW=m +CONFIG_HDLC_RAW_ETH=m +CONFIG_HDLC_X25=m +CONFIG_HDQ_MASTER_OMAP=m +# CONFIG_HEADERS_CHECK is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_HERMES_PRISM is not set +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_HID=m +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_ELECOM=m +CONFIG_HID_EMS_FF=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GENERIC=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GYRATION=m +CONFIG_HID_HOLTEK=m +CONFIG_HID_HYPERV_MOUSE=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PID=y +CONFIG_HID_PRIMAX=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAITEK=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_TIVO=m +CONFIG_HID_TOPSEED=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_WIIMOTE_EXT=y +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m +CONFIG_HIGHMEM=y +# CONFIG_HIGHMEM4G is not set +CONFIG_HIGHMEM64G=y +CONFIG_HIGHPTE=y +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_HIPPI is not set +CONFIG_HISAX_16_0=y +CONFIG_HISAX_16_3=y +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_ASUSCOM=y +CONFIG_HISAX_AVM_A1=y +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_BKM_A4T=y +# CONFIG_HISAX_DEBUG is not set +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_ENTERNOW_PCI=y +CONFIG_HISAX_EURO=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_FRITZ_PCIPNP=m +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_HFCS=y +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_HSTSAPHIR=y +CONFIG_HISAX_ISURF=y +CONFIG_HISAX_IX1MICROR2=y +CONFIG_HISAX_MAX_CARDS=8 +CONFIG_HISAX_MIC=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_NICCY=y +# CONFIG_HISAX_NO_KEYPAD is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_SPORTSTER=y +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_TELEINT=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_TELES_CS=m +CONFIG_HISAX_W6692=y +CONFIG_HMC6352=m +CONFIG_HOLTEK_FF=y +CONFIG_HOSTAP=m +CONFIG_HOSTAP_CS=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTESS_SV11=m +CONFIG_HOTPLUG=y +CONFIG_HOTPLUG_CPU=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_COMPAQ=m +CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_IBM=m +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI_RPA=m +CONFIG_HOTPLUG_PCI_RPA_DLPAR=m +CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HP100=m +CONFIG_HPET=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_HPET_MMAP=y +CONFIG_HPET_TIMER=y +CONFIG_HPFS_FS=m +CONFIG_HPLAN=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_HP_ACCEL=m +CONFIG_HP_ILO=m +CONFIG_HP_WATCHDOG=m +CONFIG_HP_WMI=m +CONFIG_HSI=m +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HTC_PASIC3=m +CONFIG_HT_IRQ=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y +CONFIG_HVCS=m +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_OLD_HVSI=y +CONFIG_HVC_OPAL=y +CONFIG_HVC_RTAS=y +CONFIG_HVC_UDBG=y +CONFIG_HVC_XEN=y +CONFIG_HVC_XEN_FRONTEND=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +# CONFIG_HWPOISON_INJECT is not set +CONFIG_HW_CONSOLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_AMD=m +# CONFIG_HW_RANDOM_ATMEL is not set +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_PASEMI=m +CONFIG_HW_RANDOM_PSERIES=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HYPERV=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_UTILS=m +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +CONFIG_I2C=y +CONFIG_I2C_ALGOPCA=m +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CORE is not set +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_EG20T=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_HYDRA=m +CONFIG_I2C_I801=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MPC=m +CONFIG_I2C_MUX=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_OMAP=y +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_PASEMI=m +CONFIG_I2C_PCA_ISA=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_POWERMAC=y +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_SCMI=m +CONFIG_I2C_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_SMBUS=m +CONFIG_I2C_STUB=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_XILINX=m +CONFIG_I2O=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_BUS=m +CONFIG_I2O_CONFIG=m +# CONFIG_I2O_CONFIG_OLD_IOCTL is not set +CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_EXT_ADAPTEC_DMA64=y +CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y +CONFIG_I2O_PROC=m +CONFIG_I2O_SCSI=m +CONFIG_I6300ESB_WDT=m +CONFIG_I7300_IDLE=m +CONFIG_I7300_IDLE_IOAT_CHANNEL=y +CONFIG_I82092=m +CONFIG_I82365=m +CONFIG_I8253_LOCK=y +CONFIG_I8K=m +# CONFIG_IA32_AOUT is not set +CONFIG_IA32_EMULATION=y +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_IBMVETH=m +CONFIG_IBMVIO=y +CONFIG_IBM_ASM=m +CONFIG_IBM_BSR=m +# CONFIG_IBM_EMAC_EMAC4 is not set +# CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_EMAC_MAL_COMMON_ERR is not set +# CONFIG_IBM_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_EMAC_RGMII is not set +# CONFIG_IBM_EMAC_TAH is not set +# CONFIG_IBM_EMAC_ZMII is not set +CONFIG_IBM_RTL=m +CONFIG_ICPLUS_PHY=y +CONFIG_ICS932S401=m +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_IDEPCI_PCIBUS_ORDER=y +CONFIG_IDE_ATAPI=y +CONFIG_IDE_GD=y +CONFIG_IDE_GD_ATA=y +# CONFIG_IDE_GD_ATAPI is not set +CONFIG_IDE_PHISON=m +CONFIG_IDE_PROC_FS=y +# CONFIG_IDE_TASK_IOCTL is not set +CONFIG_IDE_TIMINGS=y +CONFIG_IDE_XFER_MODE=y +CONFIG_IE6XX_WDT=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_DRIVERS=m +# CONFIG_IEEE802154_FAKEHARD is not set +CONFIG_IFB=m +CONFIG_IGB=m +CONFIG_IGBVF=m +CONFIG_IGB_DCA=y +# CONFIG_IGB_PTP is not set +CONFIG_IIO=m +CONFIG_IIO_BUFFER=y +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +CONFIG_IIO_GPIO_TRIGGER=m +CONFIG_IIO_KFIFO_BUF=m +CONFIG_IIO_PERIODIC_RTC_TRIGGER=m +CONFIG_IIO_SIMPLE_DUMMY=m +# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set +# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set +CONFIG_IIO_ST_HWMON=m +CONFIG_IIO_SW_RING=m +CONFIG_IIO_SYSFS_TRIGGER=m +CONFIG_IIO_TRIGGER=y +# CONFIG_IKCONFIG is not set +# CONFIG_IMA is not set +CONFIG_INET=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET_AH=m +CONFIG_INET_DCCP_DIAG=m +CONFIG_INET_DIAG=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_LRO=y +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INFINIBAND=m +CONFIG_INFINIBAND_ADDR_TRANS=y +CONFIG_INFINIBAND_AMSO1100=m +CONFIG_INFINIBAND_AMSO1100_DEBUG=y +CONFIG_INFINIBAND_CXGB3=m +# CONFIG_INFINIBAND_CXGB3_DEBUG is not set +CONFIG_INFINIBAND_CXGB4=m +CONFIG_INFINIBAND_EHCA=m +CONFIG_INFINIBAND_IPATH=m +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +CONFIG_INFINIBAND_IPOIB_DEBUG=y +# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_MTHCA=m +CONFIG_INFINIBAND_MTHCA_DEBUG=y +CONFIG_INFINIBAND_NES=m +# CONFIG_INFINIBAND_NES_DEBUG is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INFINIBAND_QIB=m +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_SRPT=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFINIBAND_USER_MEM=y +CONFIG_INFTL=m +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_INIT_PASS_ALL_PARAMS=y +# CONFIG_INLINE_READ_LOCK is not set +# CONFIG_INLINE_READ_LOCK_BH is not set +# CONFIG_INLINE_READ_LOCK_IRQ is not set +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set +# CONFIG_INLINE_READ_TRYLOCK is not set +CONFIG_INLINE_READ_UNLOCK=y +# CONFIG_INLINE_READ_UNLOCK_BH is not set +CONFIG_INLINE_READ_UNLOCK_IRQ=y +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_WRITE_LOCK is not set +# CONFIG_INLINE_WRITE_LOCK_BH is not set +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set +# CONFIG_INLINE_WRITE_TRYLOCK is not set +CONFIG_INLINE_WRITE_UNLOCK=y +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +CONFIG_INPUT_88PM860X_ONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_ADBHID=y +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_APMPOWER=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_DA9052_ONKEY=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_GP2A=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_GPIO_TILT_POLLED=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MAX8925_ONKEY=m +CONFIG_INPUT_MAX8997_HAPTIC=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_MPU3050=m +CONFIG_INPUT_PCAP=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_PWM_BEEPER=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INPUT_TWL4030_PWRBUTTON=m +CONFIG_INPUT_TWL4030_VIBRA=m +CONFIG_INPUT_TWL6040_VIBRA=m +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_WISTRON_BTNS=m +CONFIG_INPUT_WM831X_ON=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m +CONFIG_INPUT_YEALINK=m +CONFIG_INSTRUCTION_DECODER=y +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEL_IDLE=y +CONFIG_INTEL_IOATDMA=m +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IPS=m +CONFIG_INTEL_MEI=m +CONFIG_INTEL_MENLOW=m +CONFIG_INTEL_MFLD_THERMAL=m +CONFIG_INTEL_MID_DMAC=m +CONFIG_INTEL_MID_POWER_BUTTON=m +CONFIG_INTEL_MID_PTI=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_INTEL_SCU_IPC=y +CONFIG_INTEL_SCU_IPC_UTIL=m +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUG is not set +CONFIG_IOMMU_HELPER=y +# CONFIG_IOMMU_STRESS is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IOSCHED_CFQ=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_NOOP=y +# CONFIG_IO_DELAY_0X80 is not set +CONFIG_IO_DELAY_0XED=y +# CONFIG_IO_DELAY_NONE is not set +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +# CONFIG_IO_DELAY_UDELAY is not set +CONFIG_IO_EVENT_IRQ=y +CONFIG_IP1000=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IPACK_BUS=m +CONFIG_IPC_NS=y +CONFIG_IPDDP=m +CONFIG_IPDDP_DECAP=y +CONFIG_IPDDP_ENCAP=y +# CONFIG_IPIC is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_POWEROFF=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPPP_FILTER=y +CONFIG_IPV6=y +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPW2100=m +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2100_MONITOR=y +CONFIG_IPW2200=m +# CONFIG_IPW2200_DEBUG is not set +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPWIRELESS=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_MULTICAST=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +# CONFIG_IP_NF_QUEUE is not set +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_IP_PNP_BOOTP is not set +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_RARP is not set +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_SCTP=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_VS=m +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_PE_SIP=m +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_SCTP=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SH_TAB_BITS=8 +CONFIG_IP_VS_TAB_BITS=12 +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_WRR=m +CONFIG_IRCOMM=m +CONFIG_IRDA=m +CONFIG_IRLAN=m +CONFIG_IRNET=m +# CONFIG_IRQSOFF_TRACER is not set +CONFIG_IRQ_DOMAIN=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_REMAP=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_IRQ_WORK=y +CONFIG_IRTTY_SIR=m +CONFIG_IR_ENE=m +CONFIG_IR_FINTEK=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_IMON=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_LIRC_CODEC=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_ISAPNP=y +CONFIG_ISA_DMA_API=y +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_ISCSI_IBFT=m +CONFIG_ISCSI_IBFT_FIND=y +CONFIG_ISCSI_TARGET=m +CONFIG_ISCSI_TCP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIDRV=m +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_MAINT=m +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVERSION=m +CONFIG_ISDN_DRV_ACT2000=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_B1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_ISDN_DRV_AVMB1_T1ISA=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_ISDN_DRV_HISAX=m +CONFIG_ISDN_DRV_ICN=m +CONFIG_ISDN_DRV_LOOP=m +CONFIG_ISDN_DRV_PCBIT=m +CONFIG_ISDN_DRV_SC=m +CONFIG_ISDN_HDLC=m +CONFIG_ISDN_I4L=m +CONFIG_ISDN_MPP=y +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_TTY_FAX=y +CONFIG_ISDN_X25=y +CONFIG_ISI=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_ISO9660_FS=m +CONFIG_ISP1301_OMAP=m +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_ITCO_WDT=m +CONFIG_IWL3945=m +CONFIG_IWL4965=m +CONFIG_IWLEGACY=m +# CONFIG_IWLEGACY_DEBUG is not set +CONFIG_IWLEGACY_DEBUGFS=y +CONFIG_IWLWIFI=m +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEBUGFS=y +CONFIG_IWLWIFI_DEVICE_TESTMODE=y +CONFIG_IWLWIFI_DEVICE_TRACING=y +# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set +# CONFIG_IWLWIFI_P2P is not set +CONFIG_IWM=m +CONFIG_IWMC3200TOP=m +# CONFIG_IWMC3200TOP_DEBUG is not set +# CONFIG_IWM_DEBUG is not set +CONFIG_IWM_TRACING=y +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBEVF=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBE_DCB=y +CONFIG_IXGBE_HWMON=y +# CONFIG_IXGBE_PTP is not set +CONFIG_JBD=y +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +# CONFIG_JBD_DEBUG is not set +CONFIG_JFFS2_CMODE_FAVOURLZO=y +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_SUMMARY is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_STATISTICS=y +CONFIG_JME=m +CONFIG_JOLIET=y +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JUMP_LABEL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KDB_KEYBOARD=y +# CONFIG_KERNEL_BZIP2 is not set +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_XZ is not set +CONFIG_KEXEC_JUMP=y +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_QT1070=m +# CONFIG_KEYBOARD_QT2160 is not set +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_TWL4030=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +CONFIG_KGDB_KDB=y +CONFIG_KGDB_LOW_LEVEL_TRAP=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KINGSUN_DONGLE=m +CONFIG_KPROBES=y +# CONFIG_KPROBES_SANITY_TEST is not set +CONFIG_KPROBE_EVENT=y +CONFIG_KRETPROBES=y +CONFIG_KS0108=m +CONFIG_KS0108_DELAY=2 +CONFIG_KS0108_PORT=0x378 +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KS959_DONGLE=m +CONFIG_KSDAZZLE_DONGLE=m +CONFIG_KSZ884X_PCI=m +CONFIG_KTIME_SCALAR=y +CONFIG_KVM=m +CONFIG_KVM_AMD=m +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_ASYNC_PF=y +# CONFIG_KVM_BOOK3S_64 is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_KVM_INTEL=m +CONFIG_KVM_MMIO=y +# CONFIG_KVM_MMU_AUDIT is not set +CONFIG_KXSD9=m +CONFIG_L2TP=m +CONFIG_L2TP_DEBUGFS=m +# CONFIG_L2TP_V3 is not set +CONFIG_LANCE=m +CONFIG_LANMEDIA=m +CONFIG_LAPB=m +CONFIG_LAPBETHER=m +CONFIG_LBDAF=y +CONFIG_LCD_AMS369FG06=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LD9040=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_S6E63M0=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +# CONFIG_LDM_DEBUG is not set +CONFIG_LEDS=y +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_ASIC3=y +CONFIG_LEDS_ATMEL_PWM=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_DA903X=m +CONFIG_LEDS_DA9052=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_LM3533=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_MAX8997=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_NET48XX=m +CONFIG_LEDS_OT200=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_PCA9633=m +CONFIG_LEDS_PWM=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_RENESAS_TPU=y +CONFIG_LEDS_TCA6507=m +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +# CONFIG_LEDS_TRIGGER_IDE_DISK is not set +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_WM8350=m +CONFIG_LEDS_WRAP=m +CONFIG_LEGACY_PTYS=y +# CONFIG_LGUEST is not set +# CONFIG_LGUEST_GUEST is not set +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +CONFIG_LIB80211_CRYPT_WEP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_LIBCRC32C=m +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_CS=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_LIBIPW=m +CONFIG_LINE6_USB=m +# CONFIG_LINE6_USB_DEBUG is not set +# CONFIG_LINE6_USB_DUMP_CTRL is not set +# CONFIG_LINE6_USB_DUMP_MIDI is not set +# CONFIG_LINE6_USB_DUMP_PCM is not set +# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set +# CONFIG_LINE6_USB_RAW is not set +CONFIG_LIRC=m +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m +CONFIG_LIS3L02DQ_BUF_KFIFO=y +# CONFIG_LIS3L02DQ_BUF_RING_SW is not set +CONFIG_LITELINK_DONGLE=m +# CONFIG_LKDTM is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_LNE390=m +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCAL_TIMERS=y +CONFIG_LOCKD=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD_V4=y +CONFIG_LOCKUP_DETECTOR=y +# CONFIG_LOCK_STAT is not set +# CONFIG_LOGFS is not set +# CONFIG_LOGO is not set +CONFIG_LOOPBACK_TARGET=m +CONFIG_LOWMEM_SIZE=0x30000000 +CONFIG_LP486E=m +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +# CONFIG_LP_CONSOLE is not set +CONFIG_LRU_CACHE=m +CONFIG_LSI_ET1011C_PHY=y +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LTPC=m +CONFIG_LXT_PHY=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_M25PXX_USE_FAST_READ=y +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586MMX is not set +# CONFIG_M586TSC is not set +CONFIG_M686=y +CONFIG_MA600_DONGLE=m +CONFIG_MAC80211=m +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_DEBUG_COUNTERS is not set +CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_HT_DEBUG is not set +CONFIG_MAC80211_HWSIM=m +# CONFIG_MAC80211_IBSS_DEBUG is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_NOINLINE is not set +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +# CONFIG_MAC80211_RC_DEFAULT_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_PID=y +# CONFIG_MAC80211_TKIP_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MESH_SYNC_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MHWMP_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MPATH_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_MPL_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set +# CONFIG_MAC80211_VERBOSE_TDLS_DEBUG is not set +# CONFIG_MAC802154 is not set +CONFIG_MACE=m +# CONFIG_MACE_AAUI_PORT is not set +CONFIG_MACHZ_WDT=m +# CONFIG_MACH_CM_T35 is not set +CONFIG_MACH_CM_T3517=y +# CONFIG_MACH_CRANEBOARD is not set +# CONFIG_MACH_DEVKIT8000 is not set +CONFIG_MACH_IGEP0020=y +CONFIG_MACH_IGEP0030=y +CONFIG_MACH_NOKIA_RM680=y +# CONFIG_MACH_NOKIA_RX51 is not set +# CONFIG_MACH_OMAP3517EVM is not set +CONFIG_MACH_OMAP3530_LV_SOM=y +CONFIG_MACH_OMAP3EVM=y +CONFIG_MACH_OMAP3_BEAGLE=y +CONFIG_MACH_OMAP3_PANDORA=y +CONFIG_MACH_OMAP3_TORPEDO=y +CONFIG_MACH_OMAP3_TOUCHBOOK=y +CONFIG_MACH_OMAP_3430SDP=y +CONFIG_MACH_OMAP_3630SDP=y +CONFIG_MACH_OMAP_GENERIC=y +CONFIG_MACH_OMAP_LDP=y +CONFIG_MACH_OMAP_ZOOM2=y +CONFIG_MACH_OMAP_ZOOM3=y +CONFIG_MACH_OVERO=y +CONFIG_MACH_SBC3530=y +CONFIG_MACH_TI8148EVM=y +CONFIG_MACH_TI8168EVM=y +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_MAC_EMUMOUSEBTN=m +CONFIG_MAC_FLOPPY=m +CONFIG_MAGIC_SYSRQ=y +CONFIG_MANTIS_CORE=m +CONFIG_MARVELL_PHY=y +# CONFIG_MATH_EMULATION is not set +# CONFIG_MATOM is not set +CONFIG_MAX1363=m +CONFIG_MAX1363_RING_BUFFER=y +# CONFIG_MAX517 is not set +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAX8925_POWER=m +# CONFIG_MAXSMP is not set +# CONFIG_MCORE2 is not set +CONFIG_MCP2120_DONGLE=m +# CONFIG_MCRUSOE is not set +CONFIG_MCS_FIR=m +# CONFIG_MCYRIXIII is not set +CONFIG_MD=y +CONFIG_MDA_CONSOLE=m +CONFIG_MDIO=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_GPIO=m +CONFIG_MD_AUTODETECT=y +CONFIG_MD_FAULTY=m +CONFIG_MD_LINEAR=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_MEDIA_ATTACH=y +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_XC5000=m +# CONFIG_MEFFICEON is not set +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +# CONFIG_MELAN is not set +CONFIG_MEMORY=y +CONFIG_MEMORY_FAILURE=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_MEMSTICK_TIFM_MS=m +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MEMTEST=y +CONFIG_MFD_CORE=y +CONFIG_MFD_CS5535=m +CONFIG_MFD_DA9052_I2C=y +CONFIG_MFD_DA9052_SPI=y +CONFIG_MFD_INTEL_MSIC=y +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MC13XXX_SPI=m +CONFIG_MFD_OMAP_USB_HOST=y +CONFIG_MFD_PALMAS=y +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RDC321X=m +CONFIG_MFD_S5M_CORE=y +CONFIG_MFD_SM501=m +# CONFIG_MFD_SM501_GPIO is not set +CONFIG_MFD_TIMBERDALE=m +CONFIG_MFD_TPS65090=y +CONFIG_MFD_TPS65217=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TWL4030_AUDIO=y +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM8350=y +CONFIG_MFD_WM8400=y +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +CONFIG_MG_DISK=m +CONFIG_MG_DISK_RES=0 +CONFIG_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=y +CONFIG_MICROCODE=m +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_MIGRATION=y +CONFIG_MII=y +CONFIG_MINIX_FS=m +CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISDN=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_MISDN_L1OIP=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_W6692=m +CONFIG_MIXCOMWD=m +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +CONFIG_MKISS=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_EN_DCB=y +CONFIG_MLX4_INFINIBAND=m +CONFIG_MMC=y +CONFIG_MMC_ARMMMCI=m +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CB710=m +# CONFIG_MMC_CLKGATE is not set +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_DW=m +# CONFIG_MMC_DW_IDMAC is not set +CONFIG_MMC_DW_PLTFM=m +CONFIG_MMC_OMAP=m +CONFIG_MMC_OMAP_HS=y +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_ESDHC=m +CONFIG_MMC_SDHCI_OF_HLWD=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PXAV2=m +CONFIG_MMC_SDHCI_PXAV3=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_SPI=m +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_TMIO=m +CONFIG_MMC_TMIO_CORE=m +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MMC_USHC=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_WBSD=m +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_MMU=y +CONFIG_MMU_NOTIFIER=y +CONFIG_MM_OWNER=y +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_GPIO=m +# CONFIG_MOUSE_INPORT is not set +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_TOUCHKIT=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOXA_INTELLIO=m +CONFIG_MOXA_SMARTIO=m +# CONFIG_MPENTIUM4 is not set +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +CONFIG_MPIC=y +CONFIG_MPIC_BROKEN_REGREAD=y +CONFIG_MPIC_MSGR=y +# CONFIG_MPIC_WEIRD is not set +CONFIG_MPILIB=y +# CONFIG_MPSC is not set +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +# CONFIG_MSI_BITMAP_SELFTEST is not set +CONFIG_MSI_LAPTOP=m +CONFIG_MSI_WMI=m +CONFIG_MSPRO_BLOCK=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=m +CONFIG_MTD_AFS_PARTS=m +CONFIG_MTD_ALAUDA=m +CONFIG_MTD_AMD76XROM=m +CONFIG_MTD_AR7_PARTS=m +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CK804XROM=m +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +CONFIG_MTD_DOC2001PLUS=m +CONFIG_MTD_DOCECC=m +CONFIG_MTD_DOCG3=m +CONFIG_MTD_DOCPROBE=m +CONFIG_MTD_DOCPROBE_ADDRESS=0x0 +# CONFIG_MTD_DOCPROBE_ADVANCED is not set +CONFIG_MTD_ESB2ROM=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_GPIO_ADDR=m +CONFIG_MTD_ICHXROM=m +CONFIG_MTD_IMPA7=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_L440GX=m +CONFIG_MTD_LATCH_ADDR=m +CONFIG_MTD_LPDDR=m +CONFIG_MTD_M25P80=m +CONFIG_MTD_MAP_BANK_WIDTH_1=y +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND_CAFE=m +CONFIG_MTD_NAND_CS553X=m +CONFIG_MTD_NAND_DENALI=m +CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DOCG4=m +CONFIG_MTD_NAND_ECC_BCH=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND_FSL_ELBC=m +CONFIG_MTD_NAND_GPIO=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_NANDSIM=m +CONFIG_MTD_NAND_OMAP2=y +CONFIG_MTD_NAND_OMAP_BCH=y +# CONFIG_MTD_NAND_OMAP_BCH4 is not set +CONFIG_MTD_NAND_OMAP_BCH8=y +CONFIG_MTD_NAND_PASEMI=m +CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_TMIO=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +CONFIG_MTD_NETSC520=m +CONFIG_MTD_NETtel=m +CONFIG_MTD_ONENAND=m +CONFIG_MTD_ONENAND_2X_PROGRAM=y +CONFIG_MTD_ONENAND_GENERIC=m +CONFIG_MTD_ONENAND_OMAP2=m +# CONFIG_MTD_ONENAND_OTP is not set +CONFIG_MTD_ONENAND_SIM=m +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_OOPS=m +CONFIG_MTD_PCI=m +CONFIG_MTD_PCMCIA=m +# CONFIG_MTD_PCMCIA_ANONYMOUS is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_MTD_PHYSMAP_OF=m +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_RAM=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS=m +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +CONFIG_MTD_ROM=m +CONFIG_MTD_SBC_GXX=m +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_SCB2_FLASH=m +CONFIG_MTD_SCx200_DOCFLASH=m +CONFIG_MTD_SLRAM=m +CONFIG_MTD_SST25L=m +CONFIG_MTD_SWAP=m +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_TS5500=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_BEB_RESERVE=1 +CONFIG_MTD_UBI_GLUEBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MULTI_IRQ_HANDLER=y +CONFIG_MV643XX_ETH=m +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +CONFIG_MWAVE=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m +# CONFIG_MWINCHIP3D is not set +# CONFIG_MWINCHIPC6 is not set +CONFIG_MWL8K=m +CONFIG_MXM_WMI=m +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_N2=m +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=y +CONFIG_NATSEMI=m +CONFIG_NCPFS_EXTRAS=y +CONFIG_NCPFS_IOCTL_LOCKING=y +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_NLS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_PACKET_SIGNING=y +# CONFIG_NCPFS_SMALLDOS is not set +CONFIG_NCPFS_STRONG=y +CONFIG_NCP_FS=m +CONFIG_NE2000=m +CONFIG_NE2K_PCI=m +CONFIG_NE3210=m +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEON=y +CONFIG_NET=y +CONFIG_NET5501=y +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETDEVICES=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETLABEL=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NETPRIO_CGROUP=m +CONFIG_NETROM=m +CONFIG_NETWORK_FILESYSTEMS=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETWORK_SECMARK=y +CONFIG_NETXEN_NIC=m +CONFIG_NET_9P=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_NET_9P_RDMA=m +CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_GACT=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_CLS=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_FW=m +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DCCPPROBE=m +# CONFIG_NET_DROP_MONITOR is not set +CONFIG_NET_DSA=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6123_61_65=m +CONFIG_NET_DSA_MV88E6131=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y +CONFIG_NET_DSA_TAG_DSA=y +CONFIG_NET_DSA_TAG_EDSA=y +CONFIG_NET_DSA_TAG_TRAILER=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_FC=y +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPIP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_NS=y +CONFIG_NET_PACKET_ENGINE=y +CONFIG_NET_PKTGEN=m +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_NET_SB1000=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCTPPROBE=m +CONFIG_NET_TCPPROBE=m +# CONFIG_NET_TEAM is not set +CONFIG_NET_TULIP=y +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_8390=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_APPLE=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EXAR=y +CONFIG_NET_VENDOR_FARADAY=y +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_NET_VENDOR_HP=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_IBM=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PASEMI=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_TOSHIBA=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NET_VENDOR_XILINX=y +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFC_HCI=m +# CONFIG_NFC_LLCP is not set +CONFIG_NFC_NCI=m +CONFIG_NFC_PN533=m +CONFIG_NFC_SHDLC=y +CONFIG_NFC_WILINK=m +CONFIG_NFSD=m +# CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_NFS_FS=m +CONFIG_NFS_FSCACHE=y +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +# CONFIG_NF_CONNTRACK_PROCFS is not set +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NI52=m +CONFIG_NI65=m +CONFIG_NILFS2_FS=m +CONFIG_NIU=m +CONFIG_NLATTR=y +CONFIG_NLS=y +CONFIG_NLS_ASCII=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m +CONFIG_NLS_UTF8=m +CONFIG_NODES_SPAN_OTHER_NODES=y +# CONFIG_NOHIGHMEM is not set +CONFIG_NOP_TRACER=y +CONFIG_NORTEL_HERMES=m +CONFIG_NOZOMI=m +CONFIG_NO_BOOTMEM=y +CONFIG_NO_HZ=y +CONFIG_NR_IRQS=512 +CONFIG_NS83820=m +CONFIG_NSC_FIR=m +CONFIG_NSC_GPIO=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_RW is not set +CONFIG_NUMA=y +# CONFIG_NUMA_EMU is not set +CONFIG_NV_TCO=m +# CONFIG_N_GSM is not set +CONFIG_N_HDLC=m +CONFIG_OABI_COMPAT=y +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_OCFS2_DEBUG_MASKLOG=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DEVICE=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_I2C=y +CONFIG_OF_IRQ=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +CONFIG_OF_NET=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +# CONFIG_OF_SELFTEST is not set +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_OLD_MCOUNT=y +CONFIG_OMAP2_DSS=y +# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set +CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y +CONFIG_OMAP2_DSS_DPI=y +# CONFIG_OMAP2_DSS_DSI is not set +CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 +# CONFIG_OMAP2_DSS_RFBI is not set +CONFIG_OMAP2_DSS_SDI=y +CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y +CONFIG_OMAP2_DSS_VENC=y +CONFIG_OMAP2_VRAM=y +CONFIG_OMAP2_VRAM_SIZE=16 +CONFIG_OMAP2_VRFB=y +CONFIG_OMAP3_EMU=y +# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set +# CONFIG_OMAP3_SDRC_AC_TIMING is not set +CONFIG_OMAP_32K_TIMER=y +CONFIG_OMAP_32K_TIMER_HZ=128 +CONFIG_OMAP_DM_TIMER=y +CONFIG_OMAP_IOMMU=y +# CONFIG_OMAP_IOVMM is not set +CONFIG_OMAP_MBOX_FWK=m +CONFIG_OMAP_MBOX_KFIFO_SIZE=256 +CONFIG_OMAP_MUX=y +# CONFIG_OMAP_MUX_DEBUG is not set +CONFIG_OMAP_MUX_WARNINGS=y +CONFIG_OMAP_PACKAGE_CBB=y +CONFIG_OMAP_PACKAGE_CBP=y +CONFIG_OMAP_PACKAGE_CUS=y +CONFIG_OMAP_PM_NOOP=y +CONFIG_OMAP_RESET_CLOCKS=y +# CONFIG_OMAP_SMARTREFLEX is not set +CONFIG_OMAP_WATCHDOG=m +CONFIG_OMFS_FS=m +CONFIG_OPENVSWITCH=m +CONFIG_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_OPROFILE_NMI_TIMER=y +CONFIG_OPTIMIZE_INLINING=y +CONFIG_OPTPROBES=y +CONFIG_ORE=m +CONFIG_ORINOCO_USB=m +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_OVERLAYFS_FS=m +CONFIG_P54_COMMON=m +CONFIG_P54_LEDS=y +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +# CONFIG_P54_SPI_DEFAULT_EEPROM is not set +CONFIG_P54_USB=m +CONFIG_PACKET=y +CONFIG_PADATA=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PANASONIC_LAPTOP=m +CONFIG_PANEL=m +CONFIG_PANEL_ACX565AKM=m +# CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_PANEL_GENERIC_DPI=y +CONFIG_PANEL_LGPHILIPS_LB035Q02=m +CONFIG_PANEL_NEC_NL8048HL11_01B=m +CONFIG_PANEL_PARPORT=0 +CONFIG_PANEL_PICODLP=m +CONFIG_PANEL_PROFILE=5 +CONFIG_PANEL_SHARP_LS037V7DW01=y +CONFIG_PANEL_TFP410=y +CONFIG_PANEL_TPO_TD043MTEA1=y +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANTHERLORD_FF=y +CONFIG_PARAVIRT=y +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_PARAVIRT_GUEST=y +CONFIG_PARAVIRT_SPINLOCKS=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_PARIDE=m +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_BPCK6=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_EPAT=m +# CONFIG_PARIDE_EPATC8 is not set +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PG=m +CONFIG_PARIDE_PT=m +CONFIG_PARPORT=m +CONFIG_PARPORT_AX88796=m +# CONFIG_PARPORT_GSC is not set +CONFIG_PARPORT_NOT_PC=y +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_PC_SUPERIO is not set +CONFIG_PARPORT_SERIAL=m +CONFIG_PARTITION_ADVANCED=y +# CONFIG_PASEMI_MAC is not set +CONFIG_PATA_ACPI=y +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARASAN_CF=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5535=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_ISAPNP=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_LEGACY=m +CONFIG_PATA_MACIO=y +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OF_PLATFORM=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_PLATFORM=m +CONFIG_PATA_QDI=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PATA_WINBOND_VLB=m +CONFIG_PC300TOO=m +CONFIG_PC8736x_GPIO=m +CONFIG_PC87413_WDT=m +CONFIG_PCCARD_NONSTATIC=y +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_PCH_CAN=m +CONFIG_PCH_DMA=m +CONFIG_PCH_GBE=m +CONFIG_PCH_PHUB=m +CONFIG_PCI=y +CONFIG_PCI200SYN=m +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +# CONFIG_PCIEASPM_POWERSAVE is not set +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIE_PME=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_ATMEL=m +CONFIG_PCI_ATS=y +CONFIG_PCI_BIOS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_DIRECT=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_GOANY=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GODIRECT is not set +# CONFIG_PCI_GOMMCONFIG is not set +CONFIG_PCI_IOAPIC=y +CONFIG_PCI_IOV=y +CONFIG_PCI_LABEL=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI=y +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCI_REALLOC_ENABLE_AUTO=y +CONFIG_PCI_STUB=m +CONFIG_PCI_XEN=y +CONFIG_PCMCIA=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_PCMCIA_AXNET=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_NINJA_SCSI=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_PROBE=y +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_RAYCS=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_PCNET32=m +CONFIG_PCSPKR_PLATFORM=y +CONFIG_PCWATCHDOG=m +CONFIG_PD6729=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +CONFIG_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PHANTOM=m +CONFIG_PHONE=m +CONFIG_PHONET=m +CONFIG_PHONE_IXJ=m +CONFIG_PHONE_IXJ_PCMCIA=m +CONFIG_PHYLIB=y +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_PID_NS=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +# CONFIG_PLAT_SPEAR is not set +CONFIG_PLIP=m +CONFIG_PLX_HERMES=m +CONFIG_PM=y +CONFIG_PMAC_APM_EMU=m +CONFIG_PMAC_BACKLIGHT=y +CONFIG_PMAC_BACKLIGHT_LEGACY=y +CONFIG_PMAC_MEDIABAY=y +CONFIG_PMAC_RACKMETER=m +CONFIG_PMAC_SMU=y +# CONFIG_PMBUS is not set +CONFIG_PMIC_DA9052=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_CLK=y +CONFIG_PM_OPP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_TEST_SUSPEND=y +CONFIG_PM_TRACE=y +CONFIG_PM_TRACE_RTC=y +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PN544_HCI_NFC=m +CONFIG_PN544_NFC=m +CONFIG_PNP=y +CONFIG_PNPACPI=y +CONFIG_PNPBIOS=y +CONFIG_PNPBIOS_PROC_FS=y +CONFIG_PNP_DEBUG_MESSAGES=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER3=y +CONFIG_POWER4=y +# CONFIG_POWER4_CPU is not set +# CONFIG_POWER5_CPU is not set +# CONFIG_POWER6_CPU is not set +# CONFIG_POWER7_CPU is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PPC=y +CONFIG_PPC32=y +# CONFIG_PPC601_SYNC_FIX is not set +# CONFIG_PPC_82xx is not set +# CONFIG_PPC_83xx is not set +# CONFIG_PPC_85xx is not set +# CONFIG_PPC_86xx is not set +# CONFIG_PPC_8xx is not set +# CONFIG_PPC_BOOK3E_64 is not set +CONFIG_PPC_BOOK3S=y +CONFIG_PPC_BOOK3S_32=y +CONFIG_PPC_BOOK3S_64=y +# CONFIG_PPC_CELLEB is not set +# CONFIG_PPC_CELL_NATIVE is not set +# CONFIG_PPC_CELL_QPACE is not set +CONFIG_PPC_CHRP=y +# CONFIG_PPC_CLOCK is not set +# CONFIG_PPC_DCR_MMIO is not set +# CONFIG_PPC_DCR_NATIVE is not set +CONFIG_PPC_DISABLE_WERROR=y +# CONFIG_PPC_EARLY_DEBUG is not set +# CONFIG_PPC_EMULATED_STATS is not set +CONFIG_PPC_EPAPR_HV_BYTECHAN=m +# CONFIG_PPC_EPAPR_HV_PIC is not set +CONFIG_PPC_FPU=y +CONFIG_PPC_HAS_HASH_64K=y +CONFIG_PPC_HAVE_PMU_SUPPORT=y +CONFIG_PPC_I8259=y +# CONFIG_PPC_IBM_CELL_BLADE is not set +CONFIG_PPC_ICSWX=y +CONFIG_PPC_ICSWX_PID=y +# CONFIG_PPC_ICSWX_USE_SIGILL is not set +CONFIG_PPC_MAPLE=y +# CONFIG_PPC_MPC512x is not set +# CONFIG_PPC_MPC52xx is not set +CONFIG_PPC_MSI_BITMAP=y +CONFIG_PPC_NATIVE=y +CONFIG_PPC_OF=y +CONFIG_PPC_OF_BOOT_TRAMPOLINE=y +# CONFIG_PPC_OF_PLATFORM_PCI is not set +CONFIG_PPC_PASEMI=y +CONFIG_PPC_PASEMI_CPUFREQ=y +CONFIG_PPC_PASEMI_IOMMU=y +# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set +CONFIG_PPC_PASEMI_MDIO=y +CONFIG_PPC_PCI_CHOICE=y +CONFIG_PPC_PERF_CTRS=y +CONFIG_PPC_PMAC=y +CONFIG_PPC_PMAC32_PSURGE=y +CONFIG_PPC_PMAC64=y +CONFIG_PPC_POWERNV=y +CONFIG_PPC_POWERNV_RTAS=y +CONFIG_PPC_PS3=y +CONFIG_PPC_PSERIES=y +CONFIG_PPC_RTAS=y +CONFIG_PPC_RTAS_DAEMON=y +CONFIG_PPC_SMP_MUXED_IPI=y +CONFIG_PPC_STD_MMU=y +CONFIG_PPC_STD_MMU_32=y +CONFIG_PPC_STD_MMU_64=y +CONFIG_PPC_SUBPAGE_PROT=y +CONFIG_PPC_UDBG_16550=y +# CONFIG_PPC_WSP is not set +CONFIG_PPDEV=m +CONFIG_PPP=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_MPPE=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPS=m +CONFIG_PPS_CLIENT_GPIO=m +# CONFIG_PPS_CLIENT_KTIMER is not set +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +# CONFIG_PPS_DEBUG is not set +CONFIG_PPTP=m +# CONFIG_PQ2ADS is not set +# CONFIG_PREEMPT is not set +CONFIG_PREEMPT_NOTIFIERS=y +# CONFIG_PREEMPT_RCU is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_PRINTER=m +CONFIG_PRINTK=y +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRINT_STACK_DEPTH=64 +CONFIG_PRISM2_USB=m +# CONFIG_PRISM54 is not set +CONFIG_PROBE_EVENTS=y +CONFIG_PROCESSOR_SELECT=y +CONFIG_PROC_DEVICETREE=y +CONFIG_PROC_EVENTS=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_VMCORE=y +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +CONFIG_PROFILING=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_PS3GELIC_UDBG is not set +# CONFIG_PS3_ADVANCED is not set +CONFIG_PS3_DISK=m +# CONFIG_PS3_DYNAMIC_DMA is not set +CONFIG_PS3_FLASH=m +CONFIG_PS3_HTAB_SIZE=20 +CONFIG_PS3_LPM=m +CONFIG_PS3_PS3AV=y +# CONFIG_PS3_REPOSITORY_WRITE is not set +CONFIG_PS3_ROM=m +CONFIG_PS3_STORAGE=m +CONFIG_PS3_SYS_MANAGER=y +CONFIG_PS3_VRAM=m +CONFIG_PS3_VUART=y +CONFIG_PSERIES_IDLE=y +CONFIG_PSERIES_MSI=y +CONFIG_PSTORE_RAM=m +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_QNX4FS_FS=m +# CONFIG_QNX6FS_DEBUG is not set +CONFIG_QNX6FS_FS=m +CONFIG_QSEMI_PHY=y +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +CONFIG_QUOTACTL_COMPAT=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_R3964=m +CONFIG_R6040=m +CONFIG_R8169=m +CONFIG_R8187SE=m +CONFIG_R8712U=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_AZTECH=m +CONFIG_RADIO_CADET=m +CONFIG_RADIO_GEMTEK=m +CONFIG_RADIO_ISA=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_MIROPCM20=m +CONFIG_RADIO_RTRACK=m +CONFIG_RADIO_RTRACK2=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_SF16FMI=m +CONFIG_RADIO_SF16FMR2=m +CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_TERRATEC=m +CONFIG_RADIO_TIMBERDALE=m +CONFIG_RADIO_TRUST=m +CONFIG_RADIO_TYPHOON=m +CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m +CONFIG_RADIO_ZOLTRIX=m +CONFIG_RAID6_PQ=m +CONFIG_RAID_ATTRS=m +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_CPS_GEN2=y +CONFIG_RAPIDIO_CPS_XX=y +# CONFIG_RAPIDIO_DEBUG is not set +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +CONFIG_RAPIDIO_DMA_ENGINE=y +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_TSI500=y +CONFIG_RAPIDIO_TSI568=y +CONFIG_RAPIDIO_TSI57X=y +CONFIG_RAPIDIO_TSI721=y +CONFIG_RAW_DRIVER=m +# CONFIG_RCU_CPU_STALL_INFO is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_FANOUT_EXACT is not set +CONFIG_RCU_FANOUT_LEAF=16 +CONFIG_RCU_FAST_NO_HZ=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RC_ATI_REMOTE=m +CONFIG_RC_CORE=m +CONFIG_RC_LOOPBACK=m +CONFIG_RC_MAP=m +CONFIG_RDS=m +# CONFIG_RDS_DEBUG is not set +CONFIG_RDS_RDMA=m +CONFIG_RDS_TCP=m +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_RD_XZ=y +# CONFIG_READABLE_ASM is not set +CONFIG_REALTEK_AUTOPM=y +CONFIG_REALTEK_PHY=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_SPI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_88PM8607=y +CONFIG_REGULATOR_AAT2870=m +CONFIG_REGULATOR_AB3100=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +# CONFIG_REGULATOR_DUMMY is not set +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8925=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_MAX8997=m +CONFIG_REGULATOR_MAX8998=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_PALMAS=m +# CONFIG_REGULATOR_PCAP is not set +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_S5M8767=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65090=m +CONFIG_REGULATOR_TPS65217=m +CONFIG_REGULATOR_TPS6524X=m +CONFIG_REGULATOR_TPS6586X=m +CONFIG_REGULATOR_TPS65910=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_TWL4030=y +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8350=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_WM8994=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_REISERFS_FS_XATTR=y +# CONFIG_REISERFS_PROC_INFO is not set +CONFIG_RELAY=y +CONFIG_RELOCATABLE=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_RFD_FTL=m +CONFIG_RFKILL=y +CONFIG_RFKILL_GPIO=m +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_REGULATOR=m +CONFIG_RFS_ACCEL=y +CONFIG_RING_BUFFER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +CONFIG_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +CONFIG_ROCKETPORT=m +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +# CONFIG_ROMFS_BACKED_BY_MTD is not set +CONFIG_ROMFS_FS=m +CONFIG_ROMFS_ON_BLOCK=y +CONFIG_ROSE=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_RPS=y +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT2500USB=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00=m +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT61PCI=m +CONFIG_RT73USB=m +CONFIG_RTAS_ERROR_LOGGING=y +CONFIG_RTAS_PROC=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_DRV_88PM860X=m +CONFIG_RTC_DRV_AB3100=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_DA9052=m +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS1742=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_GENERIC=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_MAX8925=m +CONFIG_RTC_DRV_MAX8998=m +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_PCAP=m +CONFIG_RTC_DRV_PCF2123=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PS3=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_STK17TA8=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_VRTC=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_WM8350=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL8192CE=m +CONFIG_RTL8192CU=m +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192E=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192U=m +CONFIG_RTLLIB=m +CONFIG_RTLLIB_CRYPTO_CCMP=m +CONFIG_RTLLIB_CRYPTO_TKIP=m +CONFIG_RTLLIB_CRYPTO_WEP=m +CONFIG_RTLWIFI=m +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set +CONFIG_RTS_PSTOR=m +# CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RT_GROUP_SCHED=y +CONFIG_RT_MUTEXES=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_RXKAD=m +CONFIG_S2IO=m +# CONFIG_SAMPLES is not set +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_SAMSUNG_Q10=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_HIGHBANK=y +CONFIG_SATA_INIC162X=m +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PMP=y +CONFIG_SATA_PROMISE=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIL24=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SX4=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SBC7240_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_SBE_2T3E3=m +CONFIG_SBE_PMCC4_NCOMM=y +CONFIG_SBNI=m +# CONFIG_SBNI_MULTILINE is not set +# CONFIG_SBP_TARGET is not set +CONFIG_SC1200_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCANLOG=m +CONFIG_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_SCHED_TRACER=y +CONFIG_SCSI=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_7000FASST=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AHA152X=m +CONFIG_SCSI_AHA1542=m +CONFIG_SCSI_AHA1740=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_DH=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_DTC3280=m +CONFIG_SCSI_EATA=m +CONFIG_SCSI_EATA_LINKED_COMMANDS=y +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_EATA_TAGGED_QUEUE=y +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_FC_TGT_ATTRS=y +# CONFIG_SCSI_FLASHPOINT is not set +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_GENERIC_NCR5380=m +CONFIG_SCSI_GENERIC_NCR5380_MMIO=m +CONFIG_SCSI_GENERIC_NCR53C400=y +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_IBMVFC=m +CONFIG_SCSI_IBMVFC_TRACE=y +CONFIG_SCSI_IBMVSCSI=m +CONFIG_SCSI_IBMVSCSIS=m +CONFIG_SCSI_IMM=m +CONFIG_SCSI_IN2000=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_DUMP is not set +# CONFIG_SCSI_IPR_TRACE is not set +CONFIG_SCSI_IPS=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_ISCSI_ATTRS=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_LOWLEVEL=y +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_MAC53C94=m +CONFIG_SCSI_MESH=m +CONFIG_SCSI_MESH_RESET_DELAY_MS=4000 +CONFIG_SCSI_MESH_SYNC_RATE=5 +CONFIG_SCSI_MOD=y +CONFIG_SCSI_MPT2SAS=m +# CONFIG_SCSI_MPT2SAS_LOGGING is not set +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +CONFIG_SCSI_MULTI_LUN=y +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVSAS_DEBUG=y +# CONFIG_SCSI_MVSAS_TASKLET is not set +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_NCR53C406A=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_NSP32=m +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_SCSI_OSD_DPRINT_SENSE=1 +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_PAS16=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_PROC_FS=y +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLOGIC_FAS=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SIM710=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C416=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_T128=m +CONFIG_SCSI_TGT=m +CONFIG_SCSI_U14_34F=m +CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y +CONFIG_SCSI_U14_34F_MAX_TAGS=8 +CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_ULTRASTOR=m +CONFIG_SCSI_VIRTIO=m +CONFIG_SCSI_WAIT_SCAN=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +CONFIG_SCTP_HMAC_MD5=y +# CONFIG_SCTP_HMAC_NONE is not set +# CONFIG_SCTP_HMAC_SHA1 is not set +CONFIG_SCx200=m +CONFIG_SCx200HR_TIMER=m +CONFIG_SCx200_ACB=m +CONFIG_SCx200_GPIO=m +# CONFIG_SCx200_I2C is not set +CONFIG_SCx200_WDT=m +CONFIG_SDIO_UART=m +CONFIG_SDLA=m +CONFIG_SEALEVEL_4021=m +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_SELINUX_DEVELOP=y +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_YAMA=y +CONFIG_SEEQ8005=m +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_AK8975=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_AMS=m +CONFIG_SENSORS_AMS_I2C=y +CONFIG_SENSORS_AMS_PMU=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_BH1780=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_HDAPS=m +CONFIG_SENSORS_HMC5843=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_LIS3_SPI=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_MC13783_ADC=m +CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_TSL2563=m +CONFIG_SENSORS_TWL4030_MADC=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_WM8350=m +CONFIG_SERIAL_8250_ACCENT=m +CONFIG_SERIAL_8250_BOCA=m +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_CS=m +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_DW=m +# CONFIG_SERIAL_8250_EM is not set +CONFIG_SERIAL_8250_EXAR_ST16C554=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FOURPORT=m +CONFIG_SERIAL_8250_HUB6=m +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_RUNTIME_UARTS=32 +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_AMBA_PL010=m +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_ICOM=m +# CONFIG_SERIAL_IFX6X60 is not set +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX3107=m +CONFIG_SERIAL_MFD_HSU=m +CONFIG_SERIAL_MRST_MAX3110=m +CONFIG_SERIAL_OF_PLATFORM=m +CONFIG_SERIAL_OMAP=y +CONFIG_SERIAL_OMAP_CONSOLE=y +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_PMACZILOG=y +CONFIG_SERIAL_PMACZILOG_CONSOLE=y +# CONFIG_SERIAL_PMACZILOG_TTYS is not set +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_SERIO=y +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_AMBAKMI=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_I8042=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_XILINX_XPS_PS2=m +CONFIG_SFC=m +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_MTD=y +CONFIG_SFC_SRIOV=y +CONFIG_SFI=y +CONFIG_SGI_IOC4=m +CONFIG_SHMEM=y +CONFIG_SIGMATEL_FIR=m +CONFIG_SIGNALFD=y +CONFIG_SIGNATURE=y +CONFIG_SIMPLE_GPIO=y +CONFIG_SIS190=m +CONFIG_SIS900=m +CONFIG_SKFP=m +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +# CONFIG_SLAB is not set +CONFIG_SLABINFO=y +CONFIG_SLHC=y +CONFIG_SLICOSS=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLUB=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMC911X=m +CONFIG_SMC9194=m +CONFIG_SMC91X=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_SMSC37B787_WDT=m +CONFIG_SMSC911X=m +# CONFIG_SMSC911X_ARCH_HOOKS is not set +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=y +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMS_SDIO_DRV=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_USB_DRV=m +CONFIG_SM_FTL=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_AD1816A=m +CONFIG_SND_AD1848=m +CONFIG_SND_AD1889=m +CONFIG_SND_ADLIB=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ALOOP=m +CONFIG_SND_ALS100=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_AOA=m +CONFIG_SND_AOA_FABRIC_LAYOUT=m +CONFIG_SND_AOA_ONYX=m +CONFIG_SND_AOA_SOUNDBUS=m +CONFIG_SND_AOA_SOUNDBUS_I2S=m +CONFIG_SND_AOA_TAS=m +CONFIG_SND_AOA_TOONIE=m +CONFIG_SND_ARM=y +CONFIG_SND_ARMAACI=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT1605=m +CONFIG_SND_AZT2316=m +CONFIG_SND_AZT2320=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +CONFIG_SND_CA0106=m +CONFIG_SND_CMI8330=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_CS4231=m +CONFIG_SND_CS4236=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_DARLA24=m +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_DRIVERS=y +CONFIG_SND_DUMMY=m +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ECHO3G=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1688=m +CONFIG_SND_ES18XX=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_GINA20=m +CONFIG_SND_GINA24=m +CONFIG_SND_GUSCLASSIC=m +CONFIG_SND_GUSEXTREME=m +CONFIG_SND_GUSMAX=m +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=0 +CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HRTIMER=m +CONFIG_SND_HWDEP=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_INTERWAVE=m +CONFIG_SND_INTERWAVE_STB=m +CONFIG_SND_ISA=y +CONFIG_SND_ISIGHT=m +CONFIG_SND_JACK=y +CONFIG_SND_JAZZ16=m +CONFIG_SND_KCTL_JACK=y +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MFLD_MACHINE=m +CONFIG_SND_MIA=m +CONFIG_SND_MIRO=m +CONFIG_SND_MIXART=m +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_MONA=m +CONFIG_SND_MPU401=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_MSND_CLASSIC=m +CONFIG_SND_MSND_PINNACLE=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_NM256=m +CONFIG_SND_OMAP_SOC=y +CONFIG_SND_OMAP_SOC_IGEP0020=m +CONFIG_SND_OMAP_SOC_MCBSP=y +CONFIG_SND_OMAP_SOC_OMAP3EVM=m +CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y +CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m +CONFIG_SND_OMAP_SOC_OVERO=m +CONFIG_SND_OMAP_SOC_SDP3430=m +CONFIG_SND_OMAP_SOC_ZOOM2=m +CONFIG_SND_OPL3SA2=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL4_LIB=m +CONFIG_SND_OPTI92X_AD1848=m +CONFIG_SND_OPTI92X_CS4231=m +CONFIG_SND_OPTI93X=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_OXYGEN=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_PCI=y +CONFIG_SND_PCMCIA=y +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCSP=m +CONFIG_SND_PCXHR=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_POWERMAC=m +CONFIG_SND_POWERMAC_AUTO_DRC=y +CONFIG_SND_PPC=y +CONFIG_SND_PS3=m +CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 +CONFIG_SND_RAWMIDI=m +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SB16=m +CONFIG_SND_SB16_CSP=y +CONFIG_SND_SB16_DSP=m +CONFIG_SND_SB8=m +CONFIG_SND_SB8_DSP=m +CONFIG_SND_SBAWE=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SC6000=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQUENCER_OSS is not set +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_SIMPLE_CARD=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SOC_88PM860X=m +CONFIG_SND_SOC_AD1836=m +CONFIG_SND_SOC_AD193X=m +CONFIG_SND_SOC_AD73311=m +CONFIG_SND_SOC_ADAU1373=m +CONFIG_SND_SOC_ADAV80X=m +CONFIG_SND_SOC_ADS117X=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4535=m +CONFIG_SND_SOC_AK4641=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_AK4671=m +CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_ALC5632=m +CONFIG_SND_SOC_ALL_CODECS=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_CS4271=m +CONFIG_SND_SOC_CS42L51=m +CONFIG_SND_SOC_CS42L52=m +CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CX20442=m +CONFIG_SND_SOC_DA7210=m +CONFIG_SND_SOC_DFBMCS320=m +CONFIG_SND_SOC_JZ4740_CODEC=m +CONFIG_SND_SOC_L3=m +CONFIG_SND_SOC_LM4857=m +CONFIG_SND_SOC_LM49453=m +CONFIG_SND_SOC_MAX9768=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98095=m +CONFIG_SND_SOC_MAX9850=m +CONFIG_SND_SOC_MAX9877=m +CONFIG_SND_SOC_MC13783=m +CONFIG_SND_SOC_ML26124=m +CONFIG_SND_SOC_PCM3008=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_SOC_SN95031=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_STA32X=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC26=m +CONFIG_SND_SOC_TLV320AIC32X4=m +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320DAC33=m +CONFIG_SND_SOC_TPA6130A2=m +CONFIG_SND_SOC_TWL6040=m +CONFIG_SND_SOC_UDA134X=m +CONFIG_SND_SOC_UDA1380=m +CONFIG_SND_SOC_WL1273=m +CONFIG_SND_SOC_WM1250_EV1=m +CONFIG_SND_SOC_WM2000=m +CONFIG_SND_SOC_WM2200=m +CONFIG_SND_SOC_WM5100=m +CONFIG_SND_SOC_WM8350=m +CONFIG_SND_SOC_WM8400=m +CONFIG_SND_SOC_WM8510=m +CONFIG_SND_SOC_WM8523=m +CONFIG_SND_SOC_WM8580=m +CONFIG_SND_SOC_WM8711=m +CONFIG_SND_SOC_WM8727=m +CONFIG_SND_SOC_WM8728=m +CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8737=m +CONFIG_SND_SOC_WM8741=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_SOC_WM8770=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8782=m +CONFIG_SND_SOC_WM8804=m +CONFIG_SND_SOC_WM8900=m +CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8955=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8961=m +CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8971=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8978=m +CONFIG_SND_SOC_WM8983=m +CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_WM8988=m +CONFIG_SND_SOC_WM8990=m +CONFIG_SND_SOC_WM8991=m +CONFIG_SND_SOC_WM8993=m +CONFIG_SND_SOC_WM8994=m +CONFIG_SND_SOC_WM8995=m +CONFIG_SND_SOC_WM8996=m +CONFIG_SND_SOC_WM9081=m +CONFIG_SND_SOC_WM9090=m +CONFIG_SND_SOC_WM_HUBS=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_SPI=y +CONFIG_SND_SSCAPE=m +CONFIG_SND_SST_PLATFORM=m +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TEA575X=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_USB=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_USX2Y=m +# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_VERBOSE_PROCFS=y +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VXPOCKET=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_WAVEFRONT=m +CONFIG_SND_WSS_LIB=m +CONFIG_SND_YMFPCI=m +CONFIG_SOC_AM33XX=y +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_IMX074=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m +CONFIG_SOC_CAMERA_OV6650=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m +CONFIG_SOC_CAMERA_OV9740=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_RJ54N1=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOC_OMAP3430=y +CONFIG_SOC_TI81XX=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOLO6X10=m +CONFIG_SONYPI=m +CONFIG_SONYPI_COMPAT=y +CONFIG_SONY_LAPTOP=m +CONFIG_SOUND_OSS_CORE=y +CONFIG_SOUND_OSS_CORE_PRECLAIM=y +# CONFIG_SOUND_PRIME is not set +CONFIG_SP5100_TCO=m +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +# CONFIG_SPARSE_RCU_POINTER is not set +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECPC=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPI=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_DESIGNWARE=m +CONFIG_SPI_DW_MID_DMA=y +# CONFIG_SPI_DW_MMIO is not set +CONFIG_SPI_DW_PCI=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_OMAP24XX=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_TOPCLIFF_PCH=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPU_BASE=y +CONFIG_SPU_FS=m +CONFIG_SPU_FS_64K_LS=y +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SR_REPORT_TIME_LIMIT=100 +CONFIG_SSB=m +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_BLOCKIO=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +# CONFIG_SSB_SILENT is not set +CONFIG_SSB_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STAGING=y +CONFIG_STALDRV=y +CONFIG_STE10XP=y +# CONFIG_STMMAC_CHAINED is not set +# CONFIG_STMMAC_DA is not set +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_PCI is not set +CONFIG_STMMAC_PLATFORM=y +CONFIG_STMMAC_RING=y +CONFIG_STMPE_I2C=y +CONFIG_STMPE_SPI=y +CONFIG_STOP_MACHINE=y +CONFIG_STP=m +CONFIG_STRICT_DEVMEM=y +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_STUB_POULSBO is not set +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNGEM=m +CONFIG_SUNGEM_PHY=m +CONFIG_SUNRPC=m +# CONFIG_SUNRPC_DEBUG is not set +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SWAP=y +CONFIG_SWIOTLB=y +CONFIG_SWIOTLB_XEN=y +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +CONFIG_SYNCLINK_CS=m +CONFIG_SYNCLINK_GT=m +CONFIG_SYN_COOKIES=y +CONFIG_SYSCTL=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_TARGET_CORE=m +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_TASK_SIZE=0xc0000000 +CONFIG_TASK_XACCT=y +CONFIG_TAU=y +# CONFIG_TAU_AVERAGE is not set +# CONFIG_TAU_INT is not set +CONFIG_TC1100_WMI=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TCG_NSC=m +CONFIG_TCG_TIS=m +CONFIG_TCIC=m +CONFIG_TCM_FC=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_PSCSI=m +CONFIG_TCM_QLA2XXX=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TEHUTI=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TELCLOCK=m +# CONFIG_TEST_LIST_SORT is not set +CONFIG_TEST_POWER=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_TEXTSEARCH_KMP=m +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERM_ADT746X=y +CONFIG_THERM_PM72=m +CONFIG_THERM_WINDTUNNEL=m +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUG is not set +CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THRUSTMASTER_FF=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TICK_ONESHOT=y +CONFIG_TIDSPBRIDGE=m +# CONFIG_TIDSPBRIDGE_BACKTRACE is not set +# CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set +CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000 +# CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set +CONFIG_TIDSPBRIDGE_RECOVERY=y +CONFIG_TIFM_7XX1=m +CONFIG_TIFM_CORE=m +CONFIG_TIGON3=m +CONFIG_TIMB_DMA=m +CONFIG_TIMERFD=y +CONFIG_TIMER_STATS=y +CONFIG_TINY_RCU=y +CONFIG_TIPC=m +# CONFIG_TIPC_ADVANCED is not set +# CONFIG_TIPC_DEBUG is not set +# CONFIG_TI_CPSW is not set +CONFIG_TI_DAC7512=m +CONFIG_TI_DAVINCI_CPDMA=m +# CONFIG_TI_DAVINCI_EMAC is not set +CONFIG_TI_DAVINCI_MDIO=m +CONFIG_TI_EMIF=m +CONFIG_TI_ST=m +CONFIG_TLAN=m +CONFIG_TMD_HERMES=m +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_TOIM3232_DONGLE=m +CONFIG_TOPSTAR_LAPTOP=m +# CONFIG_TOSHIBA is not set +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_TOSHIBA_FIR=m +CONFIG_TOUCHSCREEN_88PM860X=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_AUO_PIXCIR=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_CYTTSP_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP_SPI=m +CONFIG_TOUCHSCREEN_DA9034=m +CONFIG_TOUCHSCREEN_DA9052=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_HTCPEN=m +CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_INTEL_MID=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m +CONFIG_TOUCHSCREEN_TI_TSCADC=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_ELO=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_W90X900=m +CONFIG_TOUCHSCREEN_WACOM_I2C=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TRACEPOINTS=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TRANZPORT=m +CONFIG_TREE_RCU=y +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_TRUSTED_KEYS=y +CONFIG_TSL2583=m +CONFIG_TSL2x7x=m +CONFIG_TTPCI_EEPROM=m +CONFIG_TTY_PRINTK=y +CONFIG_TULIP=m +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_TUN=y +# CONFIG_TUNE_CELL is not set +CONFIG_TWL4030_MADC=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_TWL6030_PWM=m +CONFIG_TWL6030_USB=m +CONFIG_TYPHOON=m +CONFIG_U3_DART=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UCB1400_CORE=m +CONFIG_UDBG_RTAS_CONSOLE=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y +CONFIG_UEVENT_HELPER_PATH="" +# CONFIG_UFS_DEBUG is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +CONFIG_UID16=y +CONFIG_UIO=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULI526X=m +CONFIG_ULTRA=m +CONFIG_ULTRA32=m +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX_DIAG=m +CONFIG_UPROBES=y +CONFIG_UPROBE_EVENT=y +CONFIG_USB=y +CONFIG_USBIP_CORE=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBPCWATCHDOG=m +CONFIG_USB_ACM=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_AN2720=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_ATM=m +CONFIG_USB_AUDIO=m +CONFIG_USB_BELKIN=y +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CATC=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_CHIPIDEA=m +# CONFIG_USB_CHIPIDEA_DEBUG is not set +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_CXACRU=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +# CONFIG_USB_DEBUG is not set +CONFIG_USB_DSBR=m +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_OMAP=y +CONFIG_USB_EHCI_HCD_PPC_OF=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EMI26=m +CONFIG_USB_EMI62=m +CONFIG_USB_ENESTORAGE=m +CONFIG_USB_EPSON2888=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_EEM=y +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_EZUSB=y +# CONFIG_USB_FILE_STORAGE is not set +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUSB300=m +CONFIG_USB_GADGETFS=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_MUSB_HDRC=m +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_GADGET_SUPERSPEED=y +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GL860=m +CONFIG_USB_GOKU=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GSPCA=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_HID=m +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_MULTI_RNDIS=y +CONFIG_USB_G_NCM=m +CONFIG_USB_G_NOKIA=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_HSO=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_INVENTRA_DMA=y +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_IPHETH=m +CONFIG_USB_IRDA=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1301=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_KAWETH=m +CONFIG_USB_KBD=m +CONFIG_USB_KC2190=y +CONFIG_USB_KEENE=m +CONFIG_USB_LCD=m +CONFIG_USB_LD=m +CONFIG_USB_LED=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LIBUSUAL=y +CONFIG_USB_M5602=m +# CONFIG_USB_M66592 is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MON=m +CONFIG_USB_MOUSE=m +CONFIG_USB_MR800=m +# CONFIG_USB_MUSB_AM35X is not set +CONFIG_USB_MUSB_OMAP2PLUS=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_OMAP3=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PPC_OF=y +CONFIG_USB_OHCI_HCD_PPC_OF_BE=y +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OMAP is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_OTG_UTILS=y +# CONFIG_USB_OTG_WHITELIST is not set +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_PRINTER=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_RENESAS_USBHS_UDC=m +CONFIG_USB_RIO500=m +CONFIG_USB_RTL8150=m +CONFIG_USB_S2255=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIEMENS_MPI=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_SI470X=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SL811_HCD_ISO=y +# CONFIG_USB_SN9C102 is not set +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_DATAFAB=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STV06XX=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_SUSPEND=y +CONFIG_USB_SWITCH_FSA9480=m +CONFIG_USB_TEST=m +CONFIG_USB_TMC=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_UAS=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_ULPI=y +CONFIG_USB_USBNET=m +CONFIG_USB_USS720=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_VL600=m +CONFIG_USB_WDM=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_WPAN_HCD=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_YUREX=m +CONFIG_USB_ZD1201=m +CONFIG_USB_ZERO=m +# CONFIG_USB_ZERO_HNPTEST is not set +CONFIG_USB_ZR364XX=m +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_USE_OF=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y +CONFIG_UTS_NS=y +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_I1480U=m +CONFIG_UWB_WHCI=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_V4L_ISA_PARPORT_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_V4L_PCI_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_RADIO_ISA_DRIVERS=y +CONFIG_V4L_USB_DRIVERS=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_CONSOLE=y +CONFIG_VGA_SWITCHEROO=y +CONFIG_VHOST_NET=m +CONFIG_VIA_FIR=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_VIA_VELOCITY=m +CONFIG_VIA_WDT=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7183=m +CONFIG_VIDEO_ADV7343=m +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_AK881X=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_CX23885=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_CX25840=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_DM6446_CCDC=m +CONFIG_VIDEO_DT3155=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=m +CONFIG_VIDEO_FB_IVTV=m +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_MEDIA=m +CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_OMAP2_VOUT=m +CONFIG_VIDEO_OMAP2_VOUT_VRFB=y +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_PMS=m +CONFIG_VIDEO_PVRUSB2=m +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_PVRUSB2_DVB=y +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_SAA6588=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_SH_MOBILE_CEU=m +CONFIG_VIDEO_SH_MOBILE_CSI2=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_VIA_CAMERA=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VP27SMPX=m +CONFIG_VIDEO_VPFE_CAPTURE=m +CONFIG_VIDEO_VPSS_SYSTEM=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_VS6624=m +CONFIG_VIDEO_W9966=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTUALIZATION=y +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_TO_BUS=y +CONFIG_VITESSE_PHY=y +CONFIG_VLAN_8021Q=m +CONFIG_VLSI_FIR=m +CONFIG_VM86=y +CONFIG_VME_BUS=m +CONFIG_VME_CA91CX42=m +CONFIG_VME_PIO2=m +CONFIG_VME_TSI148=m +CONFIG_VME_USER=m +CONFIG_VMIVME_7805=m +# CONFIG_VMSPLIT_1G is not set +# CONFIG_VMSPLIT_2G is not set +CONFIG_VMSPLIT_3G=y +CONFIG_VMWARE_BALLOON=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_VMXNET3=m +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VORTEX=m +CONFIG_VSX=y +CONFIG_VT=y +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_W1=m +CONFIG_W1_CON=y +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_GPIO=m +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_SLAVE_BQ27000=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_THERM=m +CONFIG_W35UND=m +CONFIG_W83627HF_WDT=m +CONFIG_W83697HF_WDT=m +CONFIG_W83697UG_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_WAFER_WDT=m +CONFIG_WANXL=m +CONFIG_WAN_ROUTER_DRIVERS=m +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_RTAS=m +CONFIG_WD80x3=m +CONFIG_WDT=m +CONFIG_WDTPCI=m +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PRIV=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_GDM72XX=m +CONFIG_WIMAX_GDM72XX_K_MODE=y +CONFIG_WIMAX_GDM72XX_QOS=y +# CONFIG_WIMAX_GDM72XX_SDIO is not set +CONFIG_WIMAX_GDM72XX_USB=y +CONFIG_WIMAX_GDM72XX_USB_PM=y +CONFIG_WIMAX_GDM72XX_WIMAX2=y +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_IWMC3200_SDIO=y +CONFIG_WINBOND_840=m +CONFIG_WINBOND_FIR=m +CONFIG_WINDFARM=m +CONFIG_WINDFARM_PM112=m +CONFIG_WINDFARM_PM121=m +CONFIG_WINDFARM_PM72=m +CONFIG_WINDFARM_PM81=m +CONFIG_WINDFARM_PM91=m +CONFIG_WINDFARM_RM31=m +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_WIZNET_BUS_ANY=y +# CONFIG_WIZNET_BUS_DIRECT is not set +# CONFIG_WIZNET_BUS_INDIRECT is not set +CONFIG_WIZNET_W5100=m +CONFIG_WIZNET_W5300=m +CONFIG_WL1251=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1251_SPI=m +CONFIG_WL12XX=m +CONFIG_WL12XX_PLATFORM_DATA=y +CONFIG_WLAGS49_H2=m +CONFIG_WLAGS49_H25=m +CONFIG_WLAN=y +CONFIG_WLCORE=m +CONFIG_WLCORE_SDIO=m +CONFIG_WLCORE_SPI=m +CONFIG_WL_TI=y +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_WM8350_POWER=m +CONFIG_X25=m +CONFIG_X25_ASY=m +CONFIG_X86=y +CONFIG_X86_32_IRIS=m +# CONFIG_X86_32_NON_STANDARD is not set +CONFIG_X86_32_SMP=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_X86_64_SMP=y +CONFIG_X86_ACPI_CPUFREQ=y +# CONFIG_X86_ANCIENT_MCE is not set +CONFIG_X86_APM_BOOT=y +# CONFIG_X86_BIGSMP is not set +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_BSWAP=y +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_CMOV=y +CONFIG_X86_CMPXCHG=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CPUFREQ_NFORCE2=m +CONFIG_X86_CPUID=m +CONFIG_X86_DEBUGCTLMSR=y +# CONFIG_X86_DECODER_SELFTEST is not set +CONFIG_X86_DEV_DMA_OPS=y +CONFIG_X86_EXTENDED_PLATFORM=y +# CONFIG_X86_E_POWERSAVER is not set +CONFIG_X86_GENERIC=y +CONFIG_X86_GX_SUSPMOD=m +CONFIG_X86_HT=y +CONFIG_X86_INTEL_MID=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_INVLPG=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_LONGHAUL=m +CONFIG_X86_LONGRUN=m +CONFIG_X86_MCE=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_INJECT=m +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_THRESHOLD=y +CONFIG_X86_MCE_XEON75XX=m +CONFIG_X86_MDFLD=y +CONFIG_X86_MPPARSE=y +CONFIG_X86_MSR=m +CONFIG_X86_NEED_RELOCS=y +CONFIG_X86_NUMACHIP=y +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_PAE=y +CONFIG_X86_PAT=y +CONFIG_X86_PCC_CPUFREQ=y +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_X86_PM_TIMER=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_POWERNOW_K6=m +CONFIG_X86_POWERNOW_K7=m +CONFIG_X86_POWERNOW_K7_ACPI=y +CONFIG_X86_POWERNOW_K8=y +CONFIG_X86_PPRO_FENCE=y +# CONFIG_X86_PTDUMP is not set +# CONFIG_X86_RDC321X is not set +CONFIG_X86_REBOOTFIXUPS=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_RESERVE_LOW=64 +CONFIG_X86_SPEEDSTEP_CENTRINO=y +CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y +CONFIG_X86_SPEEDSTEP_ICH=y +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y +CONFIG_X86_SPEEDSTEP_SMI=y +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_X86_TSC=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +# CONFIG_X86_UV is not set +# CONFIG_X86_VERBOSE_BOOTUP is not set +# CONFIG_X86_VSMP is not set +CONFIG_X86_WANT_INTEL_MID=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_X2APIC=y +# CONFIG_X86_X32 is not set +CONFIG_X86_XADD=y +CONFIG_XEN=y +CONFIG_XENFS=m +CONFIG_XEN_ACPI_PROCESSOR=y +CONFIG_XEN_BACKEND=y +CONFIG_XEN_BALLOON=y +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_XEN_BLKDEV_FRONTEND=y +CONFIG_XEN_COMPAT_XENFS=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y +CONFIG_XEN_FBDEV_FRONTEND=m +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_XEN_NETDEV_FRONTEND=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PRIVCMD=m +CONFIG_XEN_PRIVILEGED_GUEST=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_SAVE_RESTORE=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_SELFBALLOONING=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_TMEM=y +CONFIG_XEN_WDT=m +CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_IPCOMP=m +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_XFRM_SUB_POLICY is not set +CONFIG_XFRM_USER=m +# CONFIG_XFS_DEBUG is not set +CONFIG_XFS_FS=m +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_QUOTA=y +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +# CONFIG_XIP_KERNEL is not set +# CONFIG_XMON is not set +CONFIG_XO15_EBOOK=m +CONFIG_XOR_BLOCKS=m +CONFIG_XPS=y +CONFIG_XPS_USB_HCD_XILINX=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YAM=m +CONFIG_YELLOWFIN=m +CONFIG_YENTA=m +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZCACHE=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZISOFS=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZNET=m +CONFIG_ZONE_DMA=y +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZSMALLOC=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/enforce +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/enforce @@ -0,0 +1,128 @@ +# +# SECURITY items +# +# Ensure this option is enabled. +value CONFIG_COMPAT_BRK n +value CONFIG_DEVKMEM n +value CONFIG_LSM_MMAP_MIN_ADDR 0 +value CONFIG_SECURITY y +!exists CONFIG_SECURITY_FILE_CAPABILITIES | value CONFIG_SECURITY_FILE_CAPABILITIES y +value CONFIG_SECURITY_SELINUX y +value CONFIG_SECURITY_SMACK y +value CONFIG_SECURITY_YAMA y +value CONFIG_SYN_COOKIES y +value CONFIG_DEFAULT_SECURITY_APPARMOR y +# For architectures which support this option ensure it is enabled. +!exists CONFIG_XEN_ACPI_PROCESSOR | value CONFIG_XEN_ACPI_PROCESSOR y +!exists CONFIG_SECCOMP | value CONFIG_SECCOMP y +!exists CONFIG_HAVE_ARCH_SECCOMP_FILTER | value CONFIG_SECCOMP_FILTER y +!exists CONFIG_CC_STACKPROTECTOR | value CONFIG_CC_STACKPROTECTOR y +!exists CONFIG_DEBUG_RODATA | value CONFIG_DEBUG_RODATA y +!exists CONFIG_DEBUG_SET_MODULE_RONX | value CONFIG_DEBUG_SET_MODULE_RONX y +!exists CONFIG_STRICT_DEVMEM | value CONFIG_STRICT_DEVMEM y +# For architectures which support this option ensure it is disabled. +!exists CONFIG_COMPAT_VDSO | value CONFIG_COMPAT_VDSO n +!exists CONFIG_ACPI_CUSTOM_METHOD | value CONFIG_ACPI_CUSTOM_METHOD n +# Default to 32768 on ARM, 65536 for everything else. +(arch armel armhf &/ value CONFIG_DEFAULT_MMAP_MIN_ADDR 32768) | \ + value CONFIG_DEFAULT_MMAP_MIN_ADDR 65536 + +# upstart requires DEVTMPFS be enabled and mounted by default. +value CONFIG_DEVTMPFS y +value CONFIG_DEVTMPFS_MOUNT y + +# some /dev nodes require POSIX ACLs, like /dev/dsp +value CONFIG_TMPFS_POSIX_ACL y + +# Ramdisk size should be a minimum of 64M +value CONFIG_BLK_DEV_RAM_SIZE 65536 + +# LVM requires dm_mod built in to activate correctly (LP: #560717) +value CONFIG_BLK_DEV_DM y + +# sysfs: ensure all DEPRECATED items are off +!exists CONFIG_SYSFS_DEPRECATED_V2 | value CONFIG_SYSFS_DEPRECATED_V2 n +!exists CONFIG_SYSFS_DEPRECATED | value CONFIG_SYSFS_DEPRECATED n + +# automatically add local version will cause packaging failure +value CONFIG_LOCALVERSION_AUTO n + +# provide framebuffer console form the start +# UbuntuSpec:foundations-m-grub2-boot-framebuffer +value CONFIG_FRAMEBUFFER_CONSOLE y + +# GRUB changes will rely on built in vesafb on x86, +# UbuntuSpec:foundations-m-grub2-boot-framebuffer +#(( arch i386 | arch amd64 ) & value CONFIG_FB_VESA y) | \ +# value CONFIG_FB_VESA m | !exists CONFIG_FB_VESA +value CONFIG_FB_VESA m | !exists CONFIG_FB_VESA + +# Build in uinput module so that it's always available (LP: 584812) +value CONFIG_INPUT_UINPUT y + +# upstart relies on getting all of the kernel arguments +value CONFIG_INIT_PASS_ALL_PARAMS y + +# Enabling CONFIG_IMA is vastly expensive, ensure it is off +value CONFIG_IMA n + +# Ensure CONFIG_IPV6 is y, if this is a module we get a module load for +# every ipv6 packet, bad. +value CONFIG_IPV6 y + +# Ensure ECRYPT_FS is y as it cannot be autoloaded and it has complex +# dependancies which can pull it =m at a whim. +value CONFIG_ECRYPT_FS y + +# Ensure CONFIG_EFI_VARS is y as debian-installer relies on having +# access to efivars when installing in EFI mode. See LP:837332 +value CONFIG_EFI_VARS y | !exists CONFIG_EFI_VARS + +# Ensure CONFIG_VFAT_FS is y for arm, needed to ensure we able to replace +# a kernel with the same version. Also needed for EFI based systems. +(arch armel armhf i386 amd64 &/ value CONFIG_VFAT_FS y) | \ + value CONFIG_VFAT_FS m + +# Ensure CONFIG_GPIO_TWL4030 is y for arm, LP:921934 +(arch armel armhf &/ value CONFIG_GPIO_TWL4030 y) | \ + value CONFIG_GPIO_TWL4030 m | \ + !exists CONFIG_GPIO_TWL4030 + +# Ensure CONFIG_THERM_ADT746X is y for powerpc and powerpc-smp flavours. +# See LP:923094 +(flavour powerpc powerpc-smp &/ value CONFIG_THERM_ADT746X y) | \ + !exists CONFIG_THERM_ADT746X + +# Ensure CONFIG_NVRAM is y for powerpc and powerpc-smp, LP:942193 +(flavour powerpc powerpc-smp &/ value CONFIG_NVRAM y) | \ + value CONFIG_NVRAM m | \ + !exists CONFIG_NVRAM + +# Ensure CONFIG_STUB_POULSBO is disabled if CONFIG_DRM_PSB is enabled +# See LP:899244 +(!exists CONFIG_DRM_PSB | value CONFIG_DRM_PSB n) | \ +((value CONFIG_DRM_PSB y | value CONFIG_DRM_PSB m) & (value CONFIG_STUB_POULSBO n | !exists CONFIG_STUB_POULSBO)) + +# Ensure CONFIG_B43_BCMA_EXTRA is disabled if CONFIG_BRCMSMAC is enabled. +# Otherwise b43 and brcmsmac will overlap in the hardware they claim to +# support. +(!exists CONFIG_BRCMSMAC | value CONFIG_BRCMSMAC n) | \ +((value CONFIG_BRCMSMAC y | value CONFIG_BRCMSMAC m) & (value CONFIG_B43_BCMA_EXTRA n | !exists CONFIG_B43_BCMA_EXTRA)) + +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not compatible with upstart +value CONFIG_AUDIT_LOGINUID_IMMUTABLE n + +# CONFIG_I2C_DESIGNWARE_PLATFORM is required by Calxeda Highbank +(flavour highbank &/ value CONFIG_I2C_DESIGNWARE_PLATFORM y) | \ +value CONFIG_I2C_DESIGNWARE_PLATFORM m | \ +!exists CONFIG_I2C_DESIGNWARE_PLATFORM + +# CONFIG_RTC_DRV_PL031 is required by Calxeda Highbank +# See LP:1035110 +(flavour highbank &/ value CONFIG_RTC_DRV_PL031 y) | \ +value CONFIG_RTC_DRV_PL031 m | \ +!exists CONFIG_RTC_DRV_PL031 + +# Don't use the generic ehci/ohci code on omap, it doesn't work +((flavour omap &/ value CONFIG_USB_EHCI_HCD_PLATFORM n & value CONFIG_USB_OHCI_HCD_PLATFORM n) | \ + !exists MISSING) --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/annotations +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/annotations @@ -0,0 +1,471 @@ +# Default filesystems are generally built-in +CONFIG_EXT3_FS y note +CONFIG_EXT4_FS y note + +# Some modules have no clear way to autoload them. +# filesystems: +CONFIG_FUSE_FS y note +CONFIG_ECRYPT_FS y note +# AGP drivers: +CONFIG_AGP y note +CONFIG_AGP_AMD64 y note +CONFIG_AGP_INTEL y note +CONFIG_AGP_VIA y note +CONFIG_AGP_AMD y note +CONFIG_AGP_NVIDIA y note +# cpu governers: +CONFIG_CPU_FREQ_GOV_CONSERVATIVE y note +CONFIG_CPU_FREQ_GOV_ONDEMAND y note +CONFIG_CPU_FREQ_GOV_PERFORMANCE y note +CONFIG_CPU_FREQ_GOV_POWERSAVE y note +CONFIG_CPU_FREQ_GOV_USERSPACE y note +# cpufreq drivers +CONFIG_X86_ACPI_CPUFREQ y note +CONFIG_X86_POWERNOW_K8 y note +CONFIG_X86_SPEEDSTEP_CENTRINO y note +CONFIG_X86_SPEEDSTEP_ICH y note +CONFIG_X86_SPEEDSTEP_SMI y note +# devices: +CONFIG_CHR_DEV_SG y note + +# Boot essential items are always =y +# subsystems: +CONFIG_ATA y note +CONFIG_USB y note +CONFIG_RFKILL y note +CONFIG_INPUT y note +CONFIG_SCSI y note +CONFIG_HOTPLUG_PCI y note +CONFIG_HOTPLUG_PCI_PCIE y note +CONFIG_HWMON y note +CONFIG_HW_RANDOM y note +CONFIG_MMC y note +CONFIG_CRYPTO y note +CONFIG_FB y note +CONFIG_PHYLIB y note +CONFIG_I2C y note +CONFIG_CONNECTOR y note +CONFIG_THERMAL y note +CONFIG_POWER_SUPPLY y note +CONFIG_TCG_TPM y note +# networking: +CONFIG_INET_LRO y note +CONFIG_MII y note +CONFIG_TUN y note +CONFIG_TCP_CONG_CUBIC y note +# network protocols: +CONFIG_UNIX y note +CONFIG_PACKET y note +CONFIG_FDDI y note +CONFIG_PPP y note +# IPv6 packets trigger auto-loading of this module and it is easy to trigger +# a DOS unless this is builtin. It is also a critical protocol going forward +# and will become boot essential. +CONFIG_IPV6 y note +# input devices +CONFIG_INPUT_EVDEV y note +CONFIG_INPUT_MOUSEDEV y note +CONFIG_INPUT_UINPUT y note +# ACPI drivers +CONFIG_ACPI_AC y note +CONFIG_ACPI_BATTERY y note +CONFIG_ACPI_BUTTON y note +CONFIG_ACPI_FAN y note +CONFIG_ACPI_PROCESSOR y note +CONFIG_ACPI_THERMAL y note +CONFIG_ACPI_HED y note +CONFIG_ACPI_CONTAINER y note + +# IPv6 configuration. +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION m note + +# Boot essential disk devices +CONFIG_IOSCHED_CFQ y note +CONFIG_IOSCHED_DEADLINE y note +CONFIG_EDD y note + +# Core devices +CONFIG_LEDS_CLASS y note + +# Core CPU drivers +CONFIG_FW_LOADER y note + +# Core debugging support +CONFIG_KGDB_SERIAL_CONSOLE y note + +# Common boot essential +CONFIG_SERIAL_8250 p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_SERIAL_8250_PCI p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_SERIAL_8250_PNP p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note +CONFIG_XZ_DEC y note +CONFIG_KEYBOARD_ATKBD y note +CONFIG_SERIO y note +CONFIG_SERIO_I8042 y note +CONFIG_SERIO_LIBPS2 y note + +# XEN +CONFIG_XEN_BLKDEV_FRONTEND y note +CONFIG_XEN_NETDEV_FRONTEND y note + +# KVM +CONFIG_VIRTIO_BLK p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_NET p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_PCI p policy<(arch i386 amd64 &/ value y) | (arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_MMIO p policy<(arch armel armhf &/ value n) | value m> note +CONFIG_VIRTIO_BALLOON p policy<(arch armel armhf &/ value n) | value m> note + +# VIRT +CONFIG_SCSI_VIRTIO m note + +# Boot essential dependancies +CONFIG_BLK_CGROUP y note +CONFIG_BLK_DEV_DM y note +CONFIG_BLK_DEV_LOOP y note +CONFIG_BLK_DEV_MD y note +CONFIG_BLK_DEV_RAM y note +CONFIG_BLK_DEV_SD y note +CONFIG_BLK_DEV_SR y note +CONFIG_DNS_RESOLVER y note +CONFIG_CRC_T10DIF y note +CONFIG_ZSMALLOC y note +# CONFIG_ECRYPTFS or CONFIG_DM +CONFIG_CRYPTO_CRC32C y note +CONFIG_CRYPTO_CRC32C_INTEL y note +CONFIG_CRYPTO_DEV_PADLOCK y note +CONFIG_CRYPTO_CRC32C y note +CONFIG_CRYPTO_AES y note +CONFIG_CRYPTO_CBC y note +CONFIG_CRYPTO_ECB y note +CONFIG_CRYPTO_HMAC y note +CONFIG_CRYPTO_MANAGER y note +CONFIG_CRYPTO_MD5 y note +CONFIG_CRYPTO_SHA1 y note +CONFIG_CRYPTO_SHA256 y note +CONFIG_CRYPTO_LZO p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_CRC16 y note +CONFIG_CRC32 y note +CONFIG_ENCRYPTED_KEYS y note +CONFIG_TRUSTED_KEYS y note +# DRM +CONFIG_BACKLIGHT_CLASS_DEVICE y note +# cpu freq +CONFIG_CPU_FREQ_STAT p policy<(arch i386 amd64 armel armhf &/ value y) | value m> note + +# Interesting new subsystems +CONFIG_NFC m note +CONFIG_NFC_NCI m note + +# EXPERIMENTAL Network protocols are generally enabled to allow testing. +CONFIG_ECONET m note +CONFIG_IEEE802154 m note +CONFIG_LAPB m note +CONFIG_NET_DSA m note +CONFIG_RDS m note +CONFIG_TIPC m note +CONFIG_X25 m note + +# ATA controolers: some are boot essential on specific architectures +CONFIG_ATA_GENERIC p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_ATA_PIIX p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_PATA_ACPI p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_PATA_SIS p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_SATA_SVW p policy<(arch powerpc &/ value y) | value m> note +CONFIG_SATA_AHCI p policy<(arch i386 amd64 powerpc &/ value y) | value m> note + +# x86 boot essential +CONFIG_PCI_IOAPIC p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_RTC_DRV_CMOS p policy<(arch i386 amd64 &/ value y) | value m> note +CONFIG_SCSI_SPI_ATTRS p policy<(arch i386 amd64 &/ value y) | value m> note + +# ARM/EFI requires FAT for kernel installation. +CONFIG_FAT_FS p policy<(arch armel armhf i386 amd64 &/ value y) | value m> note +CONFIG_VFAT_FS p policy<(arch armel armhf i386 amd64 &/ value y) | value m> note +CONFIG_NLS_CODEPAGE_437 p policy<((flavour omap omap4 | arch i386 amd64) &/ value y) | value m> note +CONFIG_NLS y note + +# ARM boot essential devices +CONFIG_MMC_BLOCK p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_MMC_OMAP_HS p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_FB_OMAP2 p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_I2C_OMAP p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_NOP_USB_XCEIV p policy<(flavour omap highbank &/ value y) | value m> note +CONFIG_PANEL_GENERIC_DPI p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_REGULATOR_FIXED_VOLTAGE p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_SERIAL_OMAP p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_GPIO_TWL4030 p policy<(arch armel armhf &/ value y) | value m> note +CONFIG_OMAP2_DSS p policy<(arch armel armhf &/ value y) | value m> note + +# omap3/omap4 boot essential +CONFIG_MTD p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_BLKDEVS p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_BLOCK p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_CHAR p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_NAND p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_NAND_OMAP2 p policy<(flavour omap &/ value y) | value m> note +CONFIG_MTD_OF_PARTS p policy<(flavour omap &/ value y) | value m> note +CONFIG_RTC_DRV_TWL4030 p policy<(flavour omap omap4 &/ value y) | value m> note +CONFIG_KEYBOARD_OMAP4 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_KEYBOARD_TWL4030 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_NET_SMSC95XX p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_USBNET p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_DRM p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_HWSPINLOCK_OMAP y note +CONFIG_HWSPINLOCK_ATMEL n note +CONFIG_HW_RANDOM_ATMEL n note +CONFIG_LEDS_GPIO p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LEDS_PWM p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LEDS_TRIGGER_HEARTBEAT p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_LIB80211 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MMC_OMAP p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MEDIA_SUPPORT p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_MFD_SM501 p policy<(flavour omap4 &/ value y) | value m> note +CONFIG_USB_INVENTRA_DMA p policy<(flavour omap &/ value y) | value n> note + +# highbank boot essential +CONFIG_SATA_AHCI_PLATFORM p policy<(flavour highbank &/ value y) | (flavour omap4 &/ value n) | value m> note flag +CONFIG_EXT2_FS p policy<(flavour highbank &/ value y) | value m> note +CONFIG_KEYBOARD_HIGHBANK p policy<(flavour highbank &/ value y) | value m> note +CONFIG_I2C_DESIGNWARE_PLATFORM p policy<(flavour highbank &/ value y) | value m> note + +# POWERPC boot essential devices +CONFIG_FB_VOODOO1 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_3DFX p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_PS3 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_ATY128 p policy<(arch powerpc &/ value y) | value m> note +CONFIG_FB_RADEON p policy<(arch powerpc &/ value y) | value m> note +CONFIG_I2C_POWERMAC p policy<(arch powerpc &/ value y) | value m> note +CONFIG_NVRAM p policy<(arch powerpc &/ value y) | value m> note +CONFIG_HW_RANDOM_PASEMI p policy<(arch powerpc &/ value y) | value m> note +CONFIG_PS3_PS3AV p policy<(arch powerpc &/ value y) | value m> note +CONFIG_PS3_SYS_MANAGER p policy<(arch powerpc &/ value y) | value m> note +CONFIG_SERIAL_PMACZILOG p policy<(arch powerpc &/ value y) | value m> note +CONFIG_THERM_ADT746X p policy<(arch powerpc &/ value y) | value m> note + +# XEN host boot essential +CONFIG_XEN_ACPI_PROCESSOR p policy<(arch i386 amd64 &/ value y) | value m> + +# devices which make no sense on some platforms +CONFIG_PCCARD p policy<(arch armel armhf &/ value n) | value m> note + +# GRUB2 boot requirement +CONFIG_FRAMEBUFFER_CONSOLE y note + +# TESTING options +CONFIG_DMATEST n flag +CONFIG_DEBUG_NX_TEST n flag +CONFIG_BACKTRACE_SELF_TEST n flag +CONFIG_FB_VIRTUAL n flag +CONFIG_MMC_TEST n flag +CONFIG_MMIOTRACE_TEST n flag +CONFIG_RCU_TORTURE_TEST n flag +CONFIG_IEEE802154_FAKEHARD n flag +CONFIG_LKDTM n flag +CONFIG_WL12XX_SDIO_TEST n flag +CONFIG_RING_BUFFER_BENCHMARK n flag +CONFIG_RTC_DRV_TEST n flag +CONFIG_USB_DUMMY_HCD n flag +CONFIG_PCIEAER_INJECT n flag +CONFIG_PPS_CLIENT_KTIMER n flag +CONFIG_CRC32_SELFTEST n flag +CONFIG_OF_SELFTEST n flag +CONFIG_USB_ZERO_HNPTEST n flag + +# DEBUGGING option +CONFIG_BRCMDBG - flag +CONFIG_USB_XHCI_HCD_DEBUGGING n flag + +# USB +CONFIG_USB_EHCI_HCD y note +CONFIG_USB_OHCI_HCD y note +CONFIG_USB_UHCI_HCD y note +CONFIG_USB_XHCI_HCD y note + +# ARM commonly use sd cards as root disks. +CONFIG_MMC_SDHCI p policy<(flavour omap highbank &/ value y) | value m> note + +# Security risk. +CONFIG_ACPI_CUSTOM_METHOD n note + +# DM_RAID45 only appears in PC BIOS based systems +CONFIG_DM_RAID45 p policy<(arch i386 amd64 &/ value m) | value n> note + +# EFI_VARS is required for EFI boot +CONFIG_EFI_VARS y note + +# OLD/DEPRECATED things +CONFIG_BLK_DEV_HD n note +CONFIG_IA32_AOUT n note +CONFIG_BLK_DEV_SR_VENDOR n note +CONFIG_MOUSE_INPORT n note +CONFIG_OMAP_IOVMM n note + +# Debugging options are off by default, we want those below. +CONFIG_DEBUG_FS y note +CONFIG_DEBUG_KERNEL y note + +# IKCONFIG not required +CONFIG_IKCONFIG n note + +# POWERPC +CONFIG_PATA_MACIO y note +CONFIG_I2C_ALGOBIT p policy<(arch powerpc &/ value y) | value m> note + +# Non-obvious filesystems. +CONFIG_USB_FUNCTIONFS m note +CONFIG_USB_GADGETFS m note +CONFIG_LOGFS n note +CONFIG_USB_OTG_BLACKLIST_HUB n note +CONFIG_USB_OTG_WHITELIST n note + +# filesystem misc +CONFIG_AUFS_PROC_MAP n note +CONFIG_SQUASHFS_4K_DEVBLK_SIZE n note + +# ARM omap3 +CONFIG_PANEL_DVI y note +CONFIG_PANEL_SHARP_LS037V7DW01 p policy<(flavour omap &/ value y) | value m> note +CONFIG_PANEL_TPO_TD043MTEA1 p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC_MCBSP p policy<(flavour omap &/ value y) | value m> note +CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE p policy<(flavour omap &/ value y) | value m> note +CONFIG_USB_MUSB_TUSB6010 p policy<(flavour omap highbank &/ value n) | value m> note +CONFIG_USB_OMAP n note + +# ARM gadget mode +CONFIG_USB_GADGET p policy<(flavour omap omap4 &/ value y) | value m> note +CONFIG_USB_OTG y note +CONFIG_USB_G_MULTI p policy<(flavour omap omap4 &/ value m) | value n> note +CONFIG_USB_M66592 n note + +# powerpc64-smp requires this as CONFIG_MAPLE is enabled +CONFIG_ATA_NONSTANDARD p policy<(flavour powerpc64-smp &/ value y) | value n> note + +# APM Emulation is deliberately off on ARM to prevent new use. +CONFIG_APM_EMULATION p policy<(arch armel armhf &/ value n) | value m> note + +# BLK_DEV_XD -- ancient drives +CONFIG_BLK_DEV_XD n note + +# Geode specific, should be enabled by drivers that need it not manually. +CONFIG_CS5535_MFGPT n note +CONFIG_GPIO_CS5535 p policy<(value CONFIG_OLPC_X01_SCI y &/ value y) | value m> note + +# DVB_DUMMY_FE only recommended for experts +CONFIG_DVB_DUMMY_FE n note + +# ARM unsupported SOC +CONFIG_FTGMAC100 n note +CONFIG_FTMAC100 n note +CONFIG_ARCH_EXYNOS n note +CONFIG_ARCH_HIGHBANK n note +CONFIG_ARCH_PICOXCELL n note +CONFIG_ARCH_PRIMA2 n note +CONFIG_ARCH_ZYNQ n note + +# Options which really should not have an option at all. +CONFIG_SIGMA n note +CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL n + +# Items which are simply miss identified +CONFIG_DEBUG_LL_UART_NONE y note +CONFIG_USB_SERIAL_DEBUG m note + +# Experimental +CONFIG_DM_THIN_PROVISIONING m note +CONFIG_RTL8192DE m note +CONFIG_BLK_DEV_UMEM m note + +# PHY device with non-standard naming. +CONFIG_B43_PHY_HT y note +CONFIG_B43_PHY_N y note +CONFIG_STE10XP y note + +# Optional scheduling control +CONFIG_CFS_BANDWIDTH y note + +# Hardware specific experimental options. +CONFIG_EDAC_SBRIDGE m note +CONFIG_SM_FTL m note +CONFIG_SPI_SPIDEV m note +CONFIG_ATH6KL_USB m note +CONFIG_USB_KC2190 y note + +# Dummy drivers +CONFIG_IIO_SIMPLE_DUMMY_BUFFER n note +CONFIG_IIO_SIMPLE_DUMMY_EVENTS n note + +# Options where the default is simply too broad: +# INPUT_KXTJ9_POLLED_MODE -- polling is bad generally +CONFIG_INPUT_KXTJ9_POLLED_MODE n + +# The intel IOMMU being on by default causes a slew of issues with +# machines. We therefore enable its use, but default it off. +CONFIG_INTEL_IOMMU_DEFAULT_ON n note + +# H/W specific options +CONFIG_PATA_HPT3X3_DMA n note +CONFIG_B43_BCMA_EXTRA n note + +# XXX: temporarily disabled options -- build failures. +CONFIG_TI_CPSW - flag +CONFIG_USB_EHCI_HCD_PLATFORM - flag +CONFIG_LIS3L02DQ - flag +CONFIG_EZX_PCAP - flag +CONFIG_TOUCHSCREEN_EGALAX - flag +CONFIG_TOUCHSCREEN_EETI - flag +CONFIG_SPI_PL022 - flag +CONFIG_SPI_DW_MMIO - flag +CONFIG_SENSORS_AK8975 - flag note +CONFIG_IIO p policy<(flavour omap4 &/ value n) | value m> flag + +# Valid y/n options which are in a sensible position. +CONFIG_PPC_ICSWX_USE_SIGILL n note +# forces padding mode, without this we can select at runtime +CONFIG_USB_SERIAL_SAFE_PADDED n note +# allows the console to move to an external USB device +CONFIG_USB_SISUSBVGA_CON n note + +# Old/Deprecated +CONFIG_SCSI_AIC7XXX_OLD n note + +# OSS is handled via pulseaudio +CONFIG_SND_PCM_OSS n note + +# Poulsbo is handled by DRM_GMA500 +CONFIG_STUB_POULSBO n note + +# Risky +CONFIG_RTAS_FLASH n note + +# Only valid on fully certified platforms +CONFIG_ATH9K_DFS_CERTIFIED n note + +# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not compatible with upstart +CONFIG_AUDIT_LOGINUID_IMMUTABLE n note + +# Machine specific on systems we cannot encounter. +CONFIG_GPIO_EM n note + +# Standard options. +CONFIG_PANIC_ON_OOPS n note + +# CEPHs dependancies +CONFIG_BLK_DEV_RBD m note + +# CGROUP modifications. +CONFIG_BLK_DEV_THROTTLING y note + +# Not a thing +CONFIG_USB_OHCI_HCD_PLATFORM - flag +CONFIG_USB_EHCI_HCD_PLATFORM - flag +CONFIG_USB_OHCI_HCD_PPC_OF_LE - flag +CONFIG_SENSORS_SCH56XX_COMMON - flag + +# Block Dev +CONFIG_BLK_DEV_XIP n note + +# This option allows bridging between non-IP and IP networks, but is +# effectivly deprecated. We _may_ just _may_ have users on older arches +# so keep it there, but do not spread the pain to systems without these +# other networks. +CONFIG_WAN_ROUTER p policy<(arch i386 amd64 powerpc &/ value m) | value n> --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/amd64/config.common.amd64 +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/amd64/config.common.amd64 @@ -0,0 +1,278 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_ACPI_BLACKLIST_YEAR=0 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_PIIX=y +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=y +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DM_RAID45=m +# CONFIG_DVB_FE_CUSTOMISE is not set +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=y +CONFIG_FB_3DFX=m +CONFIG_FB_ATY128=m +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=m +# CONFIG_FB_MACMODES is not set +CONFIG_FB_RADEON=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=m +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IDE is not set +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_INTEL_TXT=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBIPW_DEBUG=y +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=6 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=256 +CONFIG_NVRAM=m +CONFIG_OSF_PARTITION=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=y +CONFIG_PCCARD=m +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=y +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTC_DRV_CMOS=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SATA_SVW=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_STACK_TRACER=y +CONFIG_STAGING_MEDIA=y +# CONFIG_STANDALONE is not set +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +# CONFIG_TWL4030_CORE is not set +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=y +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +# CONFIG_X86_32 is not set +CONFIG_X86_64=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_XEN_MAX_DOMAIN_MEMORY=500 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA32=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/amd64/config.flavour.generic +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/amd64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/armel/config.common.armel +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/armel/config.common.armel @@ -0,0 +1,266 @@ +# +# Config options for config.common.armel automatically generated by splitconfig.pl +# +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AMBA_PL08X=y +CONFIG_AMIGA_PARTITION=y +# CONFIG_APM_EMULATION is not set +# CONFIG_ARCH_HIGHBANK is not set +CONFIG_ARCH_OMAP=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATM_BR2684_IPFILTER=y +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +# CONFIG_COMPACTION is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=m +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_LL_UART_NONE=y +CONFIG_DEBUG_USER=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DM_RAID45 is not set +CONFIG_DVB_FE_CUSTOMISE=y +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +# CONFIG_EDAC is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +# CONFIG_EZX_PCAP is not set +CONFIG_FAT_FS=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_SVGALIB is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FONTS=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_FPE_NWFPE=y +# CONFIG_FUNCTION_TRACER is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TWL4030=y +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HIDRAW=y +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_HVC_DCC=y +CONFIG_HZ=128 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +# CONFIG_IWMC3200TOP_DEBUGFS is not set +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +# CONFIG_KSM is not set +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +# CONFIG_LIBERTAS_MESH is not set +# CONFIG_LIS3L02DQ is not set +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_T7L66XB=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TC6387XB=y +CONFIG_MFD_TC6393XB=y +CONFIG_MFD_TMIO=y +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_BCH=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MUSB_PIO_ONLY is not set +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_CALXEDA_XGMAC=m +CONFIG_NET_DMA=y +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NOP_USB_XCEIV=y +CONFIG_NVRAM=m +CONFIG_OC_ETM=y +CONFIG_OSF_PARTITION=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PARPORT_1284=y +# CONFIG_PCCARD is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_PL330_DMA=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2X00_LIB_DEBUGFS=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_TWL4030=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCSI_LOGGING=y +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_AMBA_PL011=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=y +# CONFIG_SND_EMU10K1_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=y +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_TWL4030=y +CONFIG_SND_TIMER=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=y +CONFIG_SPI_PL022=m +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +# CONFIG_STMMAC_ETH is not set +CONFIG_SUN_PARTITION=y +# CONFIG_SWP_EMULATE is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_POWER=y +CONFIG_TWL4030_USB=y +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_XHCI is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_GADGET=y +CONFIG_USB_G_MULTI=m +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +CONFIG_USB_MUSB_HDRC=m +# CONFIG_USB_MUSB_TUSB6010 is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OTG=y +CONFIG_VFAT_FS=y +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +# CONFIG_VIRTIO_BALLOON is not set +# CONFIG_VIRTIO_MMIO is not set +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_WAN=y +# CONFIG_WAN_ROUTER is not set +CONFIG_WATCHDOG=y +# CONFIG_WIMAX_I2400M_SDIO is not set +# CONFIG_WIMAX_I2400M_USB is not set +# CONFIG_WM8350_WATCHDOG is not set +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA_FLAG=0 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/armel/config.flavour.omap +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/armel/config.flavour.omap @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.omap automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/armhf/config.common.armhf +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/armhf/config.common.armhf @@ -0,0 +1,105 @@ +# +# Config options for config.common.armhf automatically generated by splitconfig.pl +# +# CONFIG_APM_EMULATION is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATM_BR2684_IPFILTER=y +CONFIG_AX25_DAMA_SLAVE=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +# CONFIG_COMPACTION is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CRYPTO_LZO=m +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DM_RAID45 is not set +CONFIG_DVB_FE_CUSTOMISE=y +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC_MM_EDAC=y +# CONFIG_EZX_PCAP is not set +CONFIG_FAT_FS=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_SVGALIB is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_GPIO_TWL4030=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_I2C_ALGOBIT=m +# CONFIG_IWMC3200TOP_DEBUGFS is not set +CONFIG_KGDB=y +# CONFIG_KSM is not set +CONFIG_LATENCYTOP=y +# CONFIG_LIBERTAS_MESH is not set +# CONFIG_LIS3L02DQ is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MUSB_PIO_ONLY is not set +CONFIG_NEED_DMA_MAP_STATE=y +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NOP_USB_XCEIV=y +CONFIG_NR_CPUS=4 +CONFIG_NVRAM=m +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PCCARD is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_PM_DEBUG is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_RCU_FANOUT=32 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2X00_LIB_DEBUGFS=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_SMT is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_SCSI_SPI_ATTRS=m +# CONFIG_SND_EMU10K1_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_STACK_TRACER is not set +CONFIG_STANDALONE=y +# CONFIG_STMMAC_ETH is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=y +# CONFIG_USB_ARCH_HAS_XHCI is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_MUSB_TUSB6010 is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OTG=y +CONFIG_VFAT_FS=y +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +# CONFIG_VIRTIO_BALLOON is not set +# CONFIG_VIRTIO_MMIO is not set +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_WM8350_WATCHDOG is not set +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZONE_DMA_FLAG=0 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/armhf/config.flavour.omap +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/armhf/config.flavour.omap @@ -0,0 +1,168 @@ +# +# Config options for config.flavour.omap automatically generated by splitconfig.pl +# +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AMBA_PL08X=y +CONFIG_AMIGA_PARTITION=y +# CONFIG_ARCH_HIGHBANK is not set +CONFIG_ARCH_OMAP=y +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +CONFIG_AUXDISPLAY=y +CONFIG_BCH=y +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_DEBUG_LL_UART_NONE=y +CONFIG_DEBUG_USER=y +# CONFIG_EDAC is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FONTS=y +CONFIG_FPE_NWFPE=y +# CONFIG_FUNCTION_TRACER is not set +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HIDRAW=y +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +CONFIG_HVC_DCC=y +CONFIG_HZ=128 +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISDN=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_T7L66XB=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TC6387XB=y +CONFIG_MFD_TC6393XB=y +CONFIG_MFD_TMIO=y +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_BCH=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_NET_CALXEDA_XGMAC=m +CONFIG_NET_DMA=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_OC_ETM=y +CONFIG_OSF_PARTITION=y +CONFIG_PARPORT_1284=y +CONFIG_PL330_DMA=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEVFREQ=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_TWL4030=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_AMBA_PL011=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=y +CONFIG_SND_PCM=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_TWL4030=y +CONFIG_SND_TIMER=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=y +CONFIG_SPI_PL022=m +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_STAGING_MEDIA=y +CONFIG_SUN_PARTITION=y +# CONFIG_SWP_EMULATE is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TWL4030_POWER=y +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_GADGET=y +CONFIG_USB_G_MULTI=m +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +CONFIG_USB_MUSB_HDRC=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_WAN=y +CONFIG_WATCHDOG=y +# CONFIG_WIMAX_I2400M_SDIO is not set +# CONFIG_WIMAX_I2400M_USB is not set +CONFIG_XFS_RT=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/armhf/config.flavour.highbank +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/armhf/config.flavour.highbank @@ -0,0 +1,168 @@ +# +# Config options for config.flavour.highbank automatically generated by splitconfig.pl +# +# CONFIG_ABX500_CORE is not set +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AMBA_PL08X is not set +# CONFIG_AMIGA_PARTITION is not set +CONFIG_ARCH_HIGHBANK=y +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_AUXDISPLAY is not set +CONFIG_BCH=m +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_BTRFS_FS_POSIX_ACL is not set +CONFIG_CACHE_L2X0=y +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CLEANCACHE is not set +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +# CONFIG_CPU_IDLE is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_DEBUG_LL_UART_NONE is not set +# CONFIG_DEBUG_USER is not set +CONFIG_EDAC=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_EVM is not set +CONFIG_EXT2_FS=y +CONFIG_FB_CFB_COPYAREA=m +CONFIG_FB_CFB_FILLRECT=m +CONFIG_FB_CFB_IMAGEBLIT=m +# CONFIG_FONTS is not set +# CONFIG_FPE_NWFPE is not set +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +# CONFIG_HAMRADIO is not set +# CONFIG_HIDRAW is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_HVC_DCC is not set +CONFIG_HZ=100 +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +CONFIG_IP_PNP=y +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_DEBUG is not set +# CONFIG_IRDA_FAST_RR is not set +# CONFIG_IRDA_ULTRA is not set +# CONFIG_ISDN is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_KEXEC is not set +# CONFIG_LDM_PARTITION is not set +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC_PARTITION is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODVERSIONS is not set +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NET_CALXEDA_XGMAC=y +# CONFIG_NET_DMA is not set +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="iso8859-1" +# CONFIG_OC_ETM is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_PARPORT_1284 is not set +CONFIG_PL330_DMA=y +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_PPP_FILTER is not set +# CONFIG_PPP_MULTILINK is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PSTORE is not set +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_TWL4030=m +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set +# CONFIG_SECURITY_SELINUX_DISABLE is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_AMBA_PL011=y +# CONFIG_SERIAL_NONSTANDARD is not set +CONFIG_SERIO_SERPORT=y +# CONFIG_SGI_PARTITION is not set +CONFIG_SND=m +CONFIG_SND_PCM=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +# CONFIG_SOLARIS_X86_PARTITION is not set +CONFIG_SOUND=m +CONFIG_SPI_PL022=y +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_STAGING_MEDIA is not set +# CONFIG_SUN_PARTITION is not set +CONFIG_SWP_EMULATE=y +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TCP_MD5SIG is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TWL4030_POWER is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB_ARCH_HAS_OHCI is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_WAN is not set +# CONFIG_WATCHDOG is not set +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +# CONFIG_XFS_RT is not set --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/i386/config.common.i386 +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/i386/config.common.i386 @@ -0,0 +1,277 @@ +# +# Config options for config.common.i386 automatically generated by splitconfig.pl +# +# CONFIG_64BIT is not set +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_ACPI_BLACKLIST_YEAR=2000 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_PIIX=y +# CONFIG_ATM_BR2684_IPFILTER is not set +# CONFIG_AUDIT_ARCH is not set +CONFIG_AUXDISPLAY=y +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CFG80211_REG_DEBUG=y +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=y +CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DM_RAID45=m +# CONFIG_DVB_FE_CUSTOMISE is not set +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=y +CONFIG_FB_3DFX=m +CONFIG_FB_ATY128=m +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=m +# CONFIG_FB_MACMODES is not set +CONFIG_FB_RADEON=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=m +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_GPIO_SYSFS=y +CONFIG_HAMRADIO=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IDE is not set +CONFIG_ILLEGAL_POINTER_VALUE=0 +# CONFIG_INTEL_TXT is not set +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_ISA=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBIPW_DEBUG=y +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=8 +CONFIG_NVRAM=m +CONFIG_OSF_PARTITION=y +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=y +CONFIG_PCCARD=m +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=32 +CONFIG_REGULATOR_DEBUG=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTC_DRV_CMOS=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SATA_SVW=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_PCM=m +CONFIG_SND_SBAWE_SEQ=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPI_PXA2XX_PCI=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_STACK_TRACER=y +CONFIG_STAGING_MEDIA=y +# CONFIG_STANDALONE is not set +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +# CONFIG_TWL4030_CORE is not set +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=y +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86_MINIMUM_CPU_FAMILY=5 +CONFIG_X86_SPEEDSTEP_LIB=y +CONFIG_XEN_MAX_DOMAIN_MEMORY=64 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=m +# CONFIG_ZONE_DMA32 is not set +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/i386/config.flavour.generic +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/i386/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/powerpc/config.common.powerpc +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/powerpc/config.common.powerpc @@ -0,0 +1,264 @@ +# +# Config options for config.common.powerpc automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +CONFIG_AMIGA_PARTITION=y +CONFIG_APM_EMULATION=m +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_PIIX=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +# CONFIG_AX25_DAMA_SLAVE is not set +CONFIG_BCH=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CLEANCACHE=y +# CONFIG_COMPACTION is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_IDLE=y +CONFIG_CRYPTO_LZO=m +# CONFIG_DEBUG_INFO is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DM_RAID45 is not set +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=m +CONFIG_FB_3DFX=y +CONFIG_FB_ATY128=y +CONFIG_FB_BACKLIGHT=y +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=y +CONFIG_FB_MACMODES=y +CONFIG_FB_RADEON=y +CONFIG_FB_SVGALIB=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +CONFIG_GPIO_TWL4030=m +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +# CONFIG_HVC_CONSOLE is not set +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_DESIGNWARE_CORE=m +# CONFIG_IBMEBUS is not set +# CONFIG_IDE is not set +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +# CONFIG_IRQ_ALL_CPUS is not set +# CONFIG_ISA is not set +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KSM=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_LPARCFG is not set +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_RAW_DEVS=256 +# CONFIG_MEMORY_HOTREMOVE is not set +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=8 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NVRAM=y +CONFIG_OSF_PARTITION=y +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=m +CONFIG_PCCARD=m +CONFIG_PCI_SYSCALL=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPC_4K_PAGES=y +# CONFIG_PPC_64K_PAGES is not set +# CONFIG_PPC_SMLPAR is not set +# CONFIG_PPC_SPLPAR is not set +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSERIES_ENERGY=m +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +# CONFIG_RTAS_FLASH is not set +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_SATA_SVW=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SSB_PCMCIAHOST is not set +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=m +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_XFS_RT=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/powerpc/config.flavour.powerpc-smp +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/powerpc/config.flavour.powerpc-smp @@ -0,0 +1,43 @@ +# +# Config options for config.flavour.powerpc-smp automatically generated by splitconfig.pl +# +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +# CONFIG_ARCH_NO_VIRT_TO_BUS is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_CFG80211_REG_DEBUG=y +# CONFIG_CRASH_DUMP is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FORCE_MAX_ZONEORDER=11 +# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_KERNEL_START=0xc0000000 +# CONFIG_KGDB is not set +# CONFIG_LATENCYTOP is not set +CONFIG_MAX_ACTIVE_REGIONS=32 +# CONFIG_MMIO_NVRAM is not set +# CONFIG_MPIC_U3_HT_IRQS is not set +# CONFIG_NEED_DMA_MAP_STATE is not set +# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set +# CONFIG_NONSTATIC_KERNEL is not set +CONFIG_NR_CPUS=4 +CONFIG_PAGE_OFFSET=0xc0000000 +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_PPC64 is not set +# CONFIG_PPC_970_NAP is not set +# CONFIG_PPC_CELL is not set +# CONFIG_PPC_ICP_HV is not set +# CONFIG_PPC_ICP_NATIVE is not set +# CONFIG_PPC_ICS_RTAS is not set +CONFIG_PPC_INDIRECT_PCI=y +# CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_MPC106=y +# CONFIG_PPC_P7_NAP is not set +# CONFIG_PPC_XICS is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_SCHEDSTATS is not set +CONFIG_WORD_SIZE=32 +CONFIG_ZLIB_DEFLATE=m --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/powerpc/config.flavour.powerpc64-smp +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/powerpc/config.flavour.powerpc64-smp @@ -0,0 +1,43 @@ +# +# Config options for config.flavour.powerpc64-smp automatically generated by splitconfig.pl +# +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_NO_VIRT_TO_BUS=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ATA_NONSTANDARD=y +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CRASH_DUMP=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FORCE_MAX_ZONEORDER=13 +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HUGETLB_PAGE=y +CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_KGDB=y +CONFIG_LATENCYTOP=y +CONFIG_MAX_ACTIVE_REGIONS=256 +CONFIG_MMIO_NVRAM=y +CONFIG_MPIC_U3_HT_IRQS=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NONSTATIC_KERNEL=y +CONFIG_NR_CPUS=1024 +CONFIG_PAGE_OFFSET=0xc000000000000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PPC64=y +CONFIG_PPC_970_NAP=y +CONFIG_PPC_CELL=y +CONFIG_PPC_ICP_HV=y +CONFIG_PPC_ICP_NATIVE=y +CONFIG_PPC_ICS_RTAS=y +# CONFIG_PPC_INDIRECT_PCI is not set +CONFIG_PPC_MM_SLICES=y +# CONFIG_PPC_MPC106 is not set +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_XICS=y +CONFIG_RCU_FANOUT=64 +CONFIG_SCHEDSTATS=y +CONFIG_WORD_SIZE=64 +CONFIG_ZLIB_DEFLATE=y --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/powerpc/ignore +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/powerpc/ignore @@ -0,0 +1 @@ +1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/powerpc/ignore.modules +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/powerpc/ignore.modules @@ -0,0 +1 @@ +1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/ppc64/config.common.ppc64 +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/ppc64/config.common.ppc64 @@ -0,0 +1,301 @@ +# +# Config options for config.common.ppc64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ABX500_CORE=y +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_NO_VIRT_TO_BUS=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_NONSTANDARD=y +CONFIG_ATA_PIIX=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_AUDIT_ARCH=y +CONFIG_AUXDISPLAY=y +# CONFIG_AX25_DAMA_SLAVE is not set +CONFIG_BCH=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_BSD_DISKLABEL=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CLEANCACHE=y +CONFIG_COMPACTION=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_IDLE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRYPTO_LZO=m +# CONFIG_DEBUG_INFO is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DM_RAID45 is not set +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_EDAC=y +CONFIG_EDAC_MM_EDAC=m +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_EVM=y +CONFIG_EXT2_FS=m +CONFIG_EZX_PCAP=y +CONFIG_FAT_FS=m +CONFIG_FB_3DFX=y +CONFIG_FB_ATY128=y +CONFIG_FB_BACKLIGHT=y +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_DDC=y +CONFIG_FB_MACMODES=y +CONFIG_FB_RADEON=y +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VOODOO1=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FONTS is not set +CONFIG_FORCE_MAX_ZONEORDER=9 +CONFIG_FUNCTION_TRACER=y +# CONFIG_GPIO_SYSFS is not set +CONFIG_GPIO_TWL4030=m +CONFIG_HAMRADIO=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIDRAW=y +CONFIG_HTC_I2CPLD=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HVC_CONSOLE=y +CONFIG_HZ=250 +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_IBMEBUS=y +CONFIG_IDE=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IP_PNP is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +CONFIG_IRQ_ALL_CPUS=y +CONFIG_ISDN=y +CONFIG_IWMC3200TOP_DEBUGFS=y +CONFIG_KARMA_PARTITION=y +CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_KEXEC=y +CONFIG_KGDB=y +CONFIG_KSM=y +CONFIG_LATENCYTOP=y +CONFIG_LDM_PARTITION=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_LIBERTAS_MESH=y +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIS3L02DQ=m +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_LPARCFG=y +CONFIG_MAC80211_DEBUG_MENU=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC_PARTITION=y +CONFIG_MAX_ACTIVE_REGIONS=256 +CONFIG_MAX_RAW_DEVS=8192 +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8994=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMIO_NVRAM=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODVERSIONS=y +CONFIG_MPIC_U3_HT_IRQS=y +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_NAND=m +CONFIG_MTD_NAND_BCH=m +CONFIG_MTD_NAND_ECC=m +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NET_DMA=y +CONFIG_NL80211_TESTMODE=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NODES_SHIFT=8 +CONFIG_NONSTATIC_KERNEL=y +CONFIG_NOP_USB_XCEIV=m +CONFIG_NR_CPUS=1024 +CONFIG_OSF_PARTITION=y +CONFIG_PAGE_OFFSET=0xc000000000000000 +CONFIG_PARPORT_1284=y +CONFIG_PATA_SIS=m +CONFIG_PCCARD=m +CONFIG_PCI_SYSCALL=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEVFREQ=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PPC64=y +# CONFIG_PPC_4K_PAGES is not set +CONFIG_PPC_64K_PAGES=y +CONFIG_PPC_970_NAP=y +CONFIG_PPC_CELL=y +CONFIG_PPC_ICP_HV=y +CONFIG_PPC_ICP_NATIVE=y +CONFIG_PPC_ICS_RTAS=y +# CONFIG_PPC_INDIRECT_PCI is not set +CONFIG_PPC_MM_SLICES=y +# CONFIG_PPC_MPC106 is not set +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_SMLPAR=y +CONFIG_PPC_SPLPAR=y +CONFIG_PPC_XICS=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PSERIES_ENERGY=y +CONFIG_PSTORE=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RTAS_FLASH=y +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_SATA_SVW=y +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_SMT=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_TOMOYO=y +# CONFIG_SENSORS_SCH56XX_COMMON is not set +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO_SERPORT=m +CONFIG_SGI_PARTITION=y +CONFIG_SND=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SOC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_TIMER=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SSB_PCMCIAHOST=y +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +CONFIG_STMMAC_ETH=m +CONFIG_SUN_PARTITION=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSV68_PARTITION=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=y +CONFIG_TCP_MD5SIG=y +CONFIG_TEST_KSTRTOX=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=m +CONFIG_TWL6040_CORE=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD_PPC_OF_LE=y +# CONFIG_USB_OTG is not set +CONFIG_VFAT_FS=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB_MAX_GPUS=64 +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_WORD_SIZE=64 +CONFIG_XFS_RT=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-lowlatency-3.5.0.orig/debian.lowlatency/config/config/ppc64/config.flavour.powerpc64-smp +++ linux-lowlatency-3.5.0/debian.lowlatency/config/config/ppc64/config.flavour.powerpc64-smp @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.powerpc64-smp automatically generated by splitconfig.pl +#